<?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>104770</bug_id>
          
          <creation_ts>2012-12-11 23:22:31 -0800</creation_ts>
          <short_desc>REGRESSION(r137408): breaks chromium&apos;s browser tests which use WebKitShadowRoot (Requested by hayato on #webkit).</short_desc>
          <delta_ts>2012-12-11 23:55:40 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>102913</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Review Bot">webkit.review.bot</reporter>
          <assigned_to name="WebKit Review Bot">webkit.review.bot</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>hayato</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>789236</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-11 23:22:31 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/137408 broke the build:
breaks chromium&apos;s browser tests which use WebKitShadowRoot (Requested by hayato on #webkit).

This is an automatic bug report generated by the sheriff-bot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests case pain.

&quot;Only you can prevent forest fires.&quot; -- Smokey the Bear</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>789238</commentid>
    <comment_count>1</comment_count>
      <attachid>178976</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-11 23:23:26 -0800</bug_when>
    <thetext>Created attachment 178976
ROLLOUT of r137408

Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the rollout will be successful.  This process takes approximately 15 minutes.

If you would like to land the rollout faster, you can use the following command:

  webkit-patch land-attachment ATTACHMENT_ID

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>789244</commentid>
    <comment_count>2</comment_count>
      <attachid>178976</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-11 23:31:12 -0800</bug_when>
    <thetext>Comment on attachment 178976
ROLLOUT of r137408

Rejecting attachment 178976 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 2

Last 500 characters of output:
rame.html
patching file LayoutTests/fast/js/global-constructors-expected.txt
patching file LayoutTests/inspector/elements/shadow-root.html
patching file LayoutTests/inspector/elements/update-shadowdom.html
patching file LayoutTests/platform/efl/fast/js/global-constructors-expected.txt
patching file LayoutTests/platform/gtk/fast/js/global-constructors-expected.txt

Failed to run &quot;[u&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/svn-apply&apos;, u&apos;--force&apos;]&quot; exit_code: 1 cwd: /mnt/git/webkit-commit-queue

Full output: http://queues.webkit.org/results/15281379</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>789258</commentid>
    <comment_count>3</comment_count>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2012-12-11 23:47:47 -0800</bug_when>
    <thetext>It seems http://trac.webkit.org/changeset/137421 depends on the r137408.

So instead of rolling out the this big patch, it might be reasonable to just recover the constructor part so that we can avoid reverting all existing layout tests.
Let me do that.

(In reply to comment #2)
&gt; (From update of attachment 178976 [details])
&gt; Rejecting attachment 178976 [details] from commit-queue.
&gt; 
&gt; Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 2
&gt; 
&gt; Last 500 characters of output:
&gt; rame.html
&gt; patching file LayoutTests/fast/js/global-constructors-expected.txt
&gt; patching file LayoutTests/inspector/elements/shadow-root.html
&gt; patching file LayoutTests/inspector/elements/update-shadowdom.html
&gt; patching file LayoutTests/platform/efl/fast/js/global-constructors-expected.txt
&gt; patching file LayoutTests/platform/gtk/fast/js/global-constructors-expected.txt
&gt; 
&gt; Failed to run &quot;[u&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/svn-apply&apos;, u&apos;--force&apos;]&quot; exit_code: 1 cwd: /mnt/git/webkit-commit-queue
&gt; 
&gt; Full output: http://queues.webkit.org/results/15281379</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>789267</commentid>
    <comment_count>4</comment_count>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2012-12-11 23:55:40 -0800</bug_when>
    <thetext>Committed r137425: &lt;http://trac.webkit.org/changeset/137425&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>178976</attachid>
            <date>2012-12-11 23:23:26 -0800</date>
            <delta_ts>2012-12-11 23:31:12 -0800</delta_ts>
            <desc>ROLLOUT of r137408</desc>
            <filename>bug-104770-20121212072946.patch</filename>
            <type>text/plain</type>
            <size>240452</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM3NDIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTY3MTA1NWQ3ZWY1OWFh
NGY2YzQ5ZDJmZjYzNTUxYjAxYjM1ZGI2Mi4uZTQ4OWQ1ODFkMmJhNmU3YzAxYzBhN2NkNWIwZjky
OWQ4OThlZDk3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEyLTEyLTExICBTaGVy
aWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KKworICAgICAgICBVbnJldmll
d2VkLCByb2xsaW5nIG91dCByMTM3NDA4LgorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3Jn
L2NoYW5nZXNldC8xMzc0MDgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEwNDc3MAorCisgICAgICAgIGJyZWFrcyBjaHJvbWl1bSdzIGJyb3dzZXIgdGVz
dHMgd2hpY2ggdXNlIFdlYktpdFNoYWRvd1Jvb3QKKyAgICAgICAgKFJlcXVlc3RlZCBieSBoYXlh
dG8gb24gI3dlYmtpdCkuCisKKyAgICAgICAgKiBkb20vU2hhZG93Um9vdC5pZGw6CisgICAgICAg
ICogcGFnZS9ET01XaW5kb3cuaWRsOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmNwcDoK
KyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5oOgorICAgICAgICAoSW50ZXJuYWxzKToKKyAg
ICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5pZGw6CisKIDIwMTItMTItMTEgIFRha2FzaGkgU2Fr
YW1vdG8gIDx0YXNha0Bnb29nbGUuY29tPgogCiAgICAgICAgIFRleHQgbm9kZXMgaW4gc2hhZG93
IHJvb3RzIGRvbid0IGluaGVyaXQgc3R5bGUgcHJvcGVybHkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9TaGFkb3dSb290LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dSb290
LmlkbAppbmRleCAxZmVkMzFhMDFkYzEzZWViYTkyNjM1Mjk3NWJhZDhmNWZiZDE0YmFlLi5mZjkw
MWU1MjhkNzY3MjdmODk3YzYzODczMjQ1ZGY0YWIyZWY4YTMxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vU2hhZG93Um9vdC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRv
d1Jvb3QuaWRsCkBAIC0yNiw2ICsyNiw4IEBACiAKIFsKICAgICBDb25kaXRpb25hbD1TSEFET1df
RE9NLAorICAgIENvbnN0cnVjdG9yKGluIEVsZW1lbnQgaG9zdCksCisgICAgQ29uc3RydWN0b3JS
YWlzZXNFeGNlcHRpb24sCiAgICAgSlNHZW5lcmF0ZVRvSlNPYmplY3QKIF0gaW50ZXJmYWNlIFNo
YWRvd1Jvb3QgOiBEb2N1bWVudEZyYWdtZW50IHsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgRWxl
bWVudCBhY3RpdmVFbGVtZW50OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01X
aW5kb3cuaWRsIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCmluZGV4IDAyNjJh
MWRkNDIxODYyNjQyZDE4YWI1ZjkzZTE5OTJkYjkzZTQ5YjcuLjE0Y2VlOGU3MmE5MzJkZTQ1NDFh
ZTBlMWFmZDIzZGJlYjNhNGZjYjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9N
V2luZG93LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKQEAgLTQw
MSw2ICs0MDEsNyBAQAogICAgIGF0dHJpYnV0ZSBFbnRpdHlDb25zdHJ1Y3RvciBFbnRpdHk7CiAg
ICAgYXR0cmlidXRlIEVudGl0eVJlZmVyZW5jZUNvbnN0cnVjdG9yIEVudGl0eVJlZmVyZW5jZTsK
ICAgICBhdHRyaWJ1dGUgUHJvY2Vzc2luZ0luc3RydWN0aW9uQ29uc3RydWN0b3IgUHJvY2Vzc2lu
Z0luc3RydWN0aW9uOworICAgIFtDb25kaXRpb25hbD1TSEFET1dfRE9NLCBWOEVuYWJsZWRBdFJ1
bnRpbWU9c2hhZG93RE9NXSBhdHRyaWJ1dGUgU2hhZG93Um9vdENvbnN0cnVjdG9yIFdlYktpdFNo
YWRvd1Jvb3Q7CiAgICAgW0NvbmRpdGlvbmFsPVNIQURPV19ET00sIFY4RW5hYmxlZEF0UnVudGlt
ZT1zaGFkb3dET01dIGF0dHJpYnV0ZSBIVE1MQ29udGVudEVsZW1lbnRDb25zdHJ1Y3RvciBIVE1M
Q29udGVudEVsZW1lbnQ7CiAgICAgW0NvbmRpdGlvbmFsPVNIQURPV19ET00sIFY4RW5hYmxlZEF0
UnVudGltZT1zaGFkb3dET01dIGF0dHJpYnV0ZSBIVE1MU2hhZG93RWxlbWVudENvbnN0cnVjdG9y
IEhUTUxTaGFkb3dFbGVtZW50OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFscy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKaW5k
ZXggZDMzZjQwNGM0ZDhmZGRhOTY0NDQwNzgzMmQ5MGEwMWQwYjU1MzNlZS4uODVkMjVmNTg4NGI5
NmRjNGQ4MzllODdiYTcxODc5NzQxMTY0MzVkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJu
YWxzLmNwcApAQCAtNTIxLDE1ICs1MjEsNiBAQCBJbnRlcm5hbHM6OlNoYWRvd1Jvb3RJZlNoYWRv
d0RPTUVuYWJsZWRPck5vZGUqIEludGVybmFsczo6ZW5zdXJlU2hhZG93Um9vdChFbGVtZQogICAg
IHJldHVybiBTaGFkb3dSb290OjpjcmVhdGUoaG9zdCwgZWMpLmdldCgpOwogfQogCi1JbnRlcm5h
bHM6OlNoYWRvd1Jvb3RJZlNoYWRvd0RPTUVuYWJsZWRPck5vZGUqIEludGVybmFsczo6Y3JlYXRl
U2hhZG93Um9vdChFbGVtZW50KiBob3N0LCBFeGNlcHRpb25Db2RlJiBlYykKLXsKLSAgICBpZiAo
IWhvc3QpIHsKLSAgICAgICAgZWMgPSBJTlZBTElEX0FDQ0VTU19FUlI7Ci0gICAgICAgIHJldHVy
biAwOwotICAgIH0KLSAgICByZXR1cm4gU2hhZG93Um9vdDo6Y3JlYXRlKGhvc3QsIGVjKS5nZXQo
KTsKLX0KLQogSW50ZXJuYWxzOjpTaGFkb3dSb290SWZTaGFkb3dET01FbmFibGVkT3JOb2RlKiBJ
bnRlcm5hbHM6OnNoYWRvd1Jvb3QoRWxlbWVudCogaG9zdCwgRXhjZXB0aW9uQ29kZSYgZWMpCiB7
CiAgICAgLy8gRklYTUU6IEludGVybmFsczo6c2hhZG93Um9vdCgpIGluIHRlc3RzIHNob3VsZCBi
ZSBjb252ZXJ0ZWQgdG8geW91bmdlc3RTaGFkb3dSb290KCkgb3Igb2xkZXN0U2hhZG93Um9vdCgp
LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaCBiL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKaW5kZXggMjBiNmViYTkyODMzZjgxNjVhYTcz
MDRiOGUwOThjOGE5YTJjNjUzNC4uYjEyMWQ5ZjdhZTFkOWZmY2Q2M2M0MWQ0NDcxMGM2ZTcxMjYz
YTBhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCkBAIC04MCw3ICs4MCw2IEBAIHB1
YmxpYzoKICAgICB0eXBlZGVmIE5vZGUgU2hhZG93Um9vdElmU2hhZG93RE9NRW5hYmxlZE9yTm9k
ZTsKICNlbmRpZgogICAgIFNoYWRvd1Jvb3RJZlNoYWRvd0RPTUVuYWJsZWRPck5vZGUqIGVuc3Vy
ZVNoYWRvd1Jvb3QoRWxlbWVudCogaG9zdCwgRXhjZXB0aW9uQ29kZSYpOwotICAgIFNoYWRvd1Jv
b3RJZlNoYWRvd0RPTUVuYWJsZWRPck5vZGUqIGNyZWF0ZVNoYWRvd1Jvb3QoRWxlbWVudCogaG9z
dCwgRXhjZXB0aW9uQ29kZSYpOwogICAgIFNoYWRvd1Jvb3RJZlNoYWRvd0RPTUVuYWJsZWRPck5v
ZGUqIHNoYWRvd1Jvb3QoRWxlbWVudCogaG9zdCwgRXhjZXB0aW9uQ29kZSYpOwogICAgIFNoYWRv
d1Jvb3RJZlNoYWRvd0RPTUVuYWJsZWRPck5vZGUqIHlvdW5nZXN0U2hhZG93Um9vdChFbGVtZW50
KiBob3N0LCBFeGNlcHRpb25Db2RlJik7CiAgICAgU2hhZG93Um9vdElmU2hhZG93RE9NRW5hYmxl
ZE9yTm9kZSogb2xkZXN0U2hhZG93Um9vdChFbGVtZW50KiBob3N0LCBFeGNlcHRpb25Db2RlJik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwgYi9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKaW5kZXggZGRlM2E1NDcyZjJlMjBmMmJj
MGFmOTE0ODE2OGVlM2JkMTY0ZmNlMC4uMTYzZTY3NjU3ZTQ4OGQ2MThjZDRkN2Q1MjhjM2E3NzFh
ODRlOTlhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbApAQCAtMzUsNyArMzUs
NiBAQAogCiAjaWYgZGVmaW5lZChFTkFCTEVfU0hBRE9XX0RPTSkgJiYgRU5BQkxFX1NIQURPV19E
T00KICAgICBTaGFkb3dSb290IGVuc3VyZVNoYWRvd1Jvb3QoaW4gRWxlbWVudCBob3N0KSByYWlz
ZXMgKERPTUV4Y2VwdGlvbik7Ci0gICAgU2hhZG93Um9vdCBjcmVhdGVTaGFkb3dSb290KGluIEVs
ZW1lbnQgaG9zdCkgcmFpc2VzIChET01FeGNlcHRpb24pOwogICAgIFNoYWRvd1Jvb3Qgc2hhZG93
Um9vdChpbiBFbGVtZW50IGhvc3QpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKICAgICBTaGFkb3dS
b290IHlvdW5nZXN0U2hhZG93Um9vdChpbiBFbGVtZW50IGhvc3QpIHJhaXNlcyAoRE9NRXhjZXB0
aW9uKTsKICAgICBTaGFkb3dSb290IG9sZGVzdFNoYWRvd1Jvb3QoaW4gRWxlbWVudCBob3N0KSBy
YWlzZXMgKERPTUV4Y2VwdGlvbik7CkBAIC00Myw3ICs0Miw2IEBACiAgICAgU2hhZG93Um9vdCBv
bGRlclNoYWRvd1Jvb3QoaW4gTm9kZSByb290KSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CiAjZWxz
ZQogICAgIE5vZGUgZW5zdXJlU2hhZG93Um9vdChpbiBFbGVtZW50IGhvc3QpIHJhaXNlcyAoRE9N
RXhjZXB0aW9uKTsKLSAgICBOb2RlIGNyZWF0ZVNoYWRvd1Jvb3QoaW4gRWxlbWVudCBob3N0KSBy
YWlzZXMgKERPTUV4Y2VwdGlvbik7CiAgICAgTm9kZSBzaGFkb3dSb290KGluIEVsZW1lbnQgaG9z
dCkgcmFpc2VzIChET01FeGNlcHRpb24pOwogICAgIE5vZGUgeW91bmdlc3RTaGFkb3dSb290KGlu
IEVsZW1lbnQgaG9zdCkgcmFpc2VzIChET01FeGNlcHRpb24pOwogICAgIE5vZGUgb2xkZXN0U2hh
ZG93Um9vdChpbiBFbGVtZW50IGhvc3QpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA0
Y2QzYjg1YTYxNDNhOTU3ODFmOTE4ZjcwYmU5MzA2MGE3NGQ0MjVkLi5iMWRmM2Y5NTYwNmY1NWY0
ODYwYWQ2MWVkNWRiOTMxOGE1NDJmNWUyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIzIEBACisyMDEyLTEy
LTExICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KKworICAgICAg
ICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTM3NDA4LgorICAgICAgICBodHRwOi8vdHJhYy53
ZWJraXQub3JnL2NoYW5nZXNldC8xMzc0MDgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTEwNDc3MAorCisgICAgICAgIGJyZWFrcyBjaHJvbWl1bSdzIGJy
b3dzZXIgdGVzdHMgd2hpY2ggdXNlIFdlYktpdFNoYWRvd1Jvb3QKKyAgICAgICAgKFJlcXVlc3Rl
ZCBieSBoYXlhdG8gb24gI3dlYmtpdCkuCisKKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
Y29weS1wYXN0ZS1mbG9hdC5odG1sOgorICAgICAgICAqIGVkaXRpbmcvc2hhZG93L2FkanVzdGlu
Zy1lZGl0aW5nLWJvdW5kYXJ5LXdpdGgtdGFibGUtaW4tc2hhZG93Lmh0bWw6CisgICAgICAgICog
ZWRpdGluZy9zaGFkb3cvYm9sZC10d2ljZS1pbi1zaGFkb3cuaHRtbDoKKyAgICAgICAgKiBlZGl0
aW5nL3NoYWRvdy9icmVha2luZy1lZGl0aW5nLWJvdW5kYXJpZXMtMi5odG1sOgorICAgICAgICAq
IGVkaXRpbmcvc2hhZG93L2JyZWFraW5nLWVkaXRpbmctYm91bmRhcmllcy5odG1sOgorICAgICAg
ICAqIGVkaXRpbmcvc2hhZG93L2JyZWFraW5nLWVkaXRpbmctYm91bmRhcnktd2l0aC10YWJsZS5o
dG1sOgorICAgICAgICAqIGVkaXRpbmcvc2hhZG93L2NvbXBhcmUtcG9zaXRpb25zLWluLW5lc3Rl
ZC1zaGFkb3cuaHRtbDoKKyAgICAgICAgKiBlZGl0aW5nL3NoYWRvdy9jb250ZW50ZWRpdGFibGUt
cHJvcGFnYXRpb24tYXQtc2hhZG93LWJvdW5kYXJ5Lmh0bWw6CisgICAgICAgICogZWRpdGluZy9z
aGFkb3cvZGVsZXRlLWNoYXJhY3RlcnMtaW4tZGlzdHJpYnV0ZWQtbm9kZS1jcmFzaC5odG1sOgor
ICAgICAgICAqIGVkaXRpbmcvc2hhZG93L2RlbGV0ZS1saXN0LWluLXNoYWRvdy5odG1sOgorICAg
ICAgICAqIGVkaXRpbmcvc2hhZG93L2RvdWJsZWNsaWNrLW9uLW1ldGVyLWluLXNoYWRvdy1jcmFz
aC5odG1sOgorICAgICAgICAqIGVkaXRpbmcvc2hhZG93L2V4ZWNjb21tYW5kLWluZGVudC1pbi1z
aGFkb3cuaHRtbDoKKyAgICAgICAgKiBlZGl0aW5nL3NoYWRvdy9pbnNlcnRvcmRlcmVkbGlzdC1j
cmFzaC5odG1sOgorICAgICAgICAqIGVkaXRpbmcvc2hhZG93L3ByZXNzaW5nLWVudGVyLW9uLWxp
c3QuaHRtbDoKKyAgICAgICAgKiBlZGl0aW5nL3NoYWRvdy9yaWdodGNsaWNrLW9uLW1ldGVyLWlu
LXNoYWRvdy1jcmFzaC5odG1sOgorICAgICAgICAqIGVkaXRpbmcvc2hhZG93L3NlbGVjdC1jb250
ZW50ZWRpdGFibGUtc2hhZG93aG9zdC5odG1sOgorICAgICAgICAqIGVkaXRpbmcvc2hhZG93L3Nl
bGVjdGlvbi1vZi1vcnBoYW4tc2hhZG93cm9vdC5odG1sOgorICAgICAgICAqIGVkaXRpbmcvc2hh
ZG93L3NlbGVjdGlvbi1vZi1zaGFkb3dyb290Lmh0bWw6CisgICAgICAgICogZWRpdGluZy9zaGFk
b3cvc2hhZG93LXNlbGVjdGlvbi1ub3QtZXhwb3J0ZWQuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Nz
cy9zdHlsZS1zY29wZWQvc3R5bGUtc2NvcGVkLWFwcGx5LWF1dGhvci1zdHlsZXMtZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIGZhc3QvY3NzL3N0eWxlLXNjb3BlZC9zdHlsZS1zY29wZWQtYXBwbHkt
YXV0aG9yLXN0eWxlcy5odG1sOgorICAgICAgICAqIGZhc3QvY3NzL3N0eWxlLXNjb3BlZC9zdHls
ZS1zY29wZWQtY2hhbmdlLXNjb3BlZC1pbi1zaGFkb3ctZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IGZhc3QvY3NzL3N0eWxlLXNjb3BlZC9zdHlsZS1zY29wZWQtY2hhbmdlLXNjb3BlZC1pbi1zaGFk
b3cuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Nzcy9zdHlsZS1zY29wZWQvc3R5bGUtc2NvcGVkLWlu
LXNoYWRvdy1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9jc3Mvc3R5bGUtc2NvcGVkL3N0
eWxlLXNjb3BlZC1pbi1zaGFkb3cuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvYWRv
cHQtbm9kZS13aXRoLXNoYWRvdy1yb290Lmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93
L2F0aG9zdC1hdHJ1bGVzLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L2Jhc2UtaW4t
c2hhZG93LXRyZWUuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvY2FyZXQtcmFuZ2Ut
ZnJvbS1wb2ludC1pbi1uZXN0ZWQtc2hhZG93Lmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hh
ZG93L2NvbnRlbnQtYWZ0ZXItc3R5bGUuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cv
Y29udGVudC1lbGVtZW50LWluLW1lZGlhLWVsZW1lbnQuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Rv
bS9zaGFkb3cvY29udGVudC1lbGVtZW50LWluLW1ldGVyLWVsZW1lbnQuaHRtbDoKKyAgICAgICAg
KiBmYXN0L2RvbS9zaGFkb3cvY29udGVudC1lbGVtZW50LWluLXByb2dyZXNzLWVsZW1lbnQuaHRt
bDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvY29udGVudC1lbGVtZW50LWluLXNlbGVjdC1l
bGVtZW50Lmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L2NvbnRlbnQtZWxlbWVudC1v
dXRzaWRlLXNoYWRvdy1zdHlsZS5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9jb250
ZW50LXJlcHJvamVjdGlvbi1jb21wbGV4Lmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93
L2NvbnRlbnQtcmVwcm9qZWN0aW9uLWR5bmFtaWMuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9z
aGFkb3cvY29udGVudC1yZXByb2plY3Rpb24tZmFsbGJhY2stY3Jhc2guaHRtbDoKKyAgICAgICAg
KiBmYXN0L2RvbS9zaGFkb3cvY29udGVudC1yZXByb2plY3Rpb24tZmFsbGJhY2stcmVwcm9qZWN0
aW9uLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L2NvbnRlbnQtcmVwcm9qZWN0aW9u
LWZhbGxiYWNrLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L2NvbnRlbnQtcmVwcm9q
ZWN0aW9uLW9yZGVyLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L2NvbnRlbnQtcmVw
cm9qZWN0aW9uLXNoYWRvdy5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9jcHBldmVu
dC1pbi1zaGFkb3cuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvY3BwZXZlbnQtaW5w
dXQtaW4tc2hhZG93Lmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L2Rpc3RyaWJ1dGlv
bi1hdHRyaWJ1dGUtbW9kaWZpZWQuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvZGlz
dHJpYnV0aW9uLWNsYXNzTmFtZS1tb2RpZmllZC5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3No
YWRvdy9kaXN0cmlidXRpb24taWQtbW9kaWZpZWQuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9z
aGFkb3cvZHJhZy10by1tZXRlci1pbi1zaGFkb3ctY3Jhc2guaHRtbDoKKyAgICAgICAgKiBmYXN0
L2RvbS9zaGFkb3cvZHJvcC1ldmVudC1mb3ItaW5wdXQtaW4tc2hhZG93Lmh0bWw6CisgICAgICAg
ICogZmFzdC9kb20vc2hhZG93L2Ryb3AtZXZlbnQtaW4tc2hhZG93Lmh0bWw6CisgICAgICAgICog
ZmFzdC9kb20vc2hhZG93L2VsZW1lbnQtZnJvbS1wb2ludC1pbi1uZXN0ZWQtc2hhZG93Lmh0bWw6
CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L2Zvcm0taW4tc2hhZG93Lmh0bWw6CisgICAgICAg
ICogZmFzdC9kb20vc2hhZG93L2dldC1lbGVtZW50LWJ5LWlkLWluLXNoYWRvdy1tdXRhdGlvbi5o
dG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9oYXMtY29udGVudC1lbGVtZW50cy5odG1s
OgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9oYXMtZWxlbWVudHNoYWRvdy5odG1sOgorICAg
ICAgICAqIGZhc3QvZG9tL3NoYWRvdy9oYXMtc2hhZG93LWluc2VydGlvbi1wb2ludC5odG1sOgor
ICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9ob3N0LXdyYXBwZXItcmVjbGFpbWVkLmh0bWw6Cisg
ICAgICAgICogZmFzdC9kb20vc2hhZG93L2lmcmFtZS1zaGFkb3cuaHRtbDoKKyAgICAgICAgKiBm
YXN0L2RvbS9zaGFkb3cvaW5wdXQtd2l0aC12YWxpZGF0aW9uLXdpdGhvdXQtc2hhZG93Lmh0bWw6
CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L2lucHV0LXdpdGgtdmFsaWRhdGlvbi5odG1sOgor
ICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9pbnNlcnRpb24tcG9pbnQtbGlzdC1tZW51LWNyYXNo
Lmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L2luc2VydGlvbi1wb2ludC1yZXNldFN0
eWxlSW5oZXJpdGFuY2UuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvaW5zZXJ0aW9u
LXBvaW50LXNoYWRvdy1jcmFzaC5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9pbnNl
cnRpb24tcG9pbnQtdmlkZW8tY3Jhc2guaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cv
aW52YWxpZGF0ZS1kaXN0cmlidXRpb24uaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cv
bGluay1pbi1zaGFkb3ctdHJlZS5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9tdWx0
aXBsZS1zaGFkb3dyb290LWFkb3B0Lmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L211
bHRpcGxlLXNoYWRvd3Jvb3QtcmVuZGVyaW5nLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hh
ZG93L211bHRpcGxlLXNoYWRvd3Jvb3QuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cv
cGFyZW50LXRyZWUtc2NvcGUtaW4tc2hhZG93Lmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hh
ZG93L3BzZXVkby1hdHRyaWJ1dGUtZHluYW1pYy5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3No
YWRvdy9wc2V1ZG8tYXR0cmlidXRlLXJlbmRlcmluZy5odG1sOgorICAgICAgICAqIGZhc3QvZG9t
L3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtY2hlY2tlZC1pbnB1dC5odG1sOgorICAgICAgICAq
IGZhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtY2hlY2tlZC1vcHRpb24uaHRtbDoK
KyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWRpc2FibGVkLWJ1
dHRvbi5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUt
ZGlzYWJsZWQtZmllbGRzZXQuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvcHNldWRv
Y2xhc3MtdXBkYXRlLWRpc2FibGVkLWlucHV0Lmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hh
ZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1kaXNhYmxlZC1vcHRncm91cC5odG1sOgorICAgICAgICAq
IGZhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtZGlzYWJsZWQtb3B0aW9uLmh0bWw6
CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1kaXNhYmxlZC1z
ZWxlY3QuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRl
LWRpc2FibGVkLXRleHRhcmVhLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3BzZXVk
b2NsYXNzLXVwZGF0ZS1lbmFibGVkLWFuY2hvci5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3No
YWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtZW5hYmxlZC1hcmVhLmh0bWw6CisgICAgICAgICogZmFz
dC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1lbmFibGVkLWJ1dHRvbi5odG1sOgorICAg
ICAgICAqIGZhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtZW5hYmxlZC1maWVsZHNl
dC5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtZW5h
YmxlZC1pbnB1dC5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11
cGRhdGUtZW5hYmxlZC1vcHRncm91cC5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9w
c2V1ZG9jbGFzcy11cGRhdGUtZW5hYmxlZC1vcHRpb24uaHRtbDoKKyAgICAgICAgKiBmYXN0L2Rv
bS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWVuYWJsZWQtc2VsZWN0Lmh0bWw6CisgICAgICAg
ICogZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1lbmFibGVkLXRleHRhcmVhLmh0
bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1pbmRldGVy
bWluYXRlLWlucHV0Lmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNz
LXVwZGF0ZS1pbmRldGVybWluYXRlLXByb2dyZXNzLmh0bWw6CisgICAgICAgICogZmFzdC9kb20v
c2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1saW5rLWFuY2hvci5odG1sOgorICAgICAgICAqIGZh
c3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtbGluay1hcmVhLmh0bWw6CisgICAgICAg
ICogZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS10YXJnZXQuaHRtbDoKKyAgICAg
ICAgKiBmYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLXZpc2l0ZWQtYW5jaG9yLmh0
bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS12aXNpdGVk
LWFyZWEuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvcmVtb3ZlLXN0eWxlcy1pbi1z
aGFkb3ctY3Jhc2guaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvcmVwcm9qZWN0aW9u
LWF0dHJpYnV0ZS1tb2RpZmllZC5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9yZXBy
b2plY3Rpb24tY2xhc3NOYW1lLW1vZGlmaWVkLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hh
ZG93L3JlcHJvamVjdGlvbi1pZC1tb2RpZmllZC5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3No
YWRvdy9yZXNpemUtaW4tc2hhZG93LWRvbS5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRv
dy9yZXNvdXJjZXMvcG9seWZpbGwuanM6CisgICAgICAgICgud2luZG93LldlYktpdFNoYWRvd1Jv
b3QpOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9yZXNvdXJjZXMvc2hhZG93LWRvbS5qczoK
KyAgICAgICAgKGNyZWF0ZURPTSk6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NlbGVjdC1p
bWFnZS13aXRoLXNoYWRvdy5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zZWxlY3Rp
b24tc2hvdWxkbnQtZXhwb3NlLXNoYWRvdy1kb20uaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9z
aGFkb3cvc2VsZWN0aW9ucy1pbi1zaGFkb3cuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFk
b3cvc2hhZG93LWFuZC1saXN0LWVsZW1lbnRzLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hh
ZG93L3NoYWRvdy1hd2FyZS1jcmVhdGUtc2hhZG93LXJvb3QtZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3ctYXdhcmUtY3JlYXRlLXNoYWRvdy1yb290Lmh0bWw6
CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvdy1jb250ZW50LWNyYXNoLmh0bWw6Cisg
ICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvdy1kaXNhYmxlLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93LWRpc2FibGUuaHRtbDoKKyAgICAgICAgKiBm
YXN0L2RvbS9zaGFkb3cvc2hhZG93LWRpdi1yZWZsb3cuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Rv
bS9zaGFkb3cvc2hhZG93LWR5bmFtaWMtc3R5bGUtY2hhbmdlLXZpYS1tdXRhdGlvbi1hbmQtc2Vs
ZWN0b3IuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93LWVsZW1lbnQtcmVu
ZGVyaW5nLW11bHRpcGxlLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvdy1l
bGVtZW50LXJlbmRlcmluZy1zaW5nbGUuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cv
c2hhZG93LW5lc3RlZC1wc2V1ZG8taWQuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cv
c2hhZG93LW9uLWltYWdlLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvdy1w
c2V1ZG8taWQuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJlbW92ZWNo
aWxkLWFuZC1ibHVyLWV2ZW50Lmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRv
dy1yZXByb2plY3Rpb24tY2xpY2suaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hh
ZG93LXJlcHJvamVjdGlvbi1keW5hbWljLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93
L3NoYWRvdy1yZXByb2plY3Rpb24tZmFsbGJhY2suaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9z
aGFkb3cvc2hhZG93LXJlcHJvamVjdGlvbi5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRv
dy9zaGFkb3ctcmVwcm9qZWN0aW9uMi5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9z
aGFkb3ctcm9vdC1hcHBlbmQuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93
LXJvb3QtYXBwbHlBdXRob3JTdHlsZXMuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cv
c2hhZG93LXJvb3QtYXR0YWNoZWQuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hh
ZG93LXJvb3QtaW5uZXJIVE1MLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRv
dy1yb290LWpzLWFwaS1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3No
YWRvdy1yb290LWpzLWFwaS5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3ct
cm9vdC1uZXctZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3ct
cm9vdC1uZXcuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3QtcmVz
ZXRTdHlsZUluaGVyaXRhbmNlLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRv
dy1zZWxlY3QtYXR0cmlidXRlLWZlYXR1cmVzZXQuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9z
aGFkb3cvc2hhZG93LXVsLWxpLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRv
d2RvbS1keW5hbWljLXN0eWxpbmcuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hh
ZG93ZG9tLWZvci1idXR0b24tY29tcGxleC1zaGFkb3cuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Rv
bS9zaGFkb3cvc2hhZG93ZG9tLWZvci1idXR0b24tb25seS1zaGFkb3cuaHRtbDoKKyAgICAgICAg
KiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1idXR0b24td2l0aG91dC1zaGFkb3cuaHRt
bDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1idXR0b24uaHRtbDoK
KyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1maWVsZHNldC1jb21wbGV4
LXNoYWRvdy5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWZp
ZWxkc2V0LW9ubHktc2hhZG93Lmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRv
d2RvbS1mb3ItZmllbGRzZXQtd2l0aG91dC1zaGFkb3cuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Rv
bS9zaGFkb3cvc2hhZG93ZG9tLWZvci1mb3JtLWFzc29jaWF0ZWQtZWxlbWVudC11c2VyYWdlbnQu
aHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1pbWFnZS1hbHQt
dXBkYXRlLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItaW1h
Z2UtYWx0Lmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItaW1h
Z2UtY29udGVudC5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9y
LWltYWdlLWR5bmFtaWMuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9t
LWZvci1pbWFnZS1ldmVudC1jbGljay5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9z
aGFkb3dkb20tZm9yLWltYWdlLWV2ZW50Lmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93
L3NoYWRvd2RvbS1mb3ItaW1hZ2UtaW4tc2hhZG93ZG9tLmh0bWw6CisgICAgICAgICogZmFzdC9k
b20vc2hhZG93L3NoYWRvd2RvbS1mb3ItaW1hZ2UtbWFwLmh0bWw6CisgICAgICAgICogZmFzdC9k
b20vc2hhZG93L3NoYWRvd2RvbS1mb3ItaW1hZ2Utc3R5bGUuaHRtbDoKKyAgICAgICAgKiBmYXN0
L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1pbWFnZS13aXRoLW11bHRpcGxlLXNoYWRvdy5odG1s
OgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWltYWdlLXdpdGgtcHNl
dWRvLWlkLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItaW1h
Z2Utd2l0aC13aWR0aC1hbmQtaGVpZ2h0Lmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93
L3NoYWRvd2RvbS1mb3ItaW1hZ2UuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hh
ZG93ZG9tLWZvci1rZXlnZW4tY29tcGxleC1zaGFkb3cuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Rv
bS9zaGFkb3cvc2hhZG93ZG9tLWZvci1rZXlnZW4tb25seS1zaGFkb3cuaHRtbDoKKyAgICAgICAg
KiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1rZXlnZW4td2l0aG91dC1zaGFkb3cuaHRt
bDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1tZWRpYS5odG1sOgor
ICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLW1ldGVyLWR5bmFtaWMuaHRt
bDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1tZXRlci1tdWx0aXBs
ZS5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLW1ldGVyLXdp
dGgtc3R5bGUuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1t
ZXRlci13aXRob3V0LWFwcGVhcmFuY2UuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cv
c2hhZG93ZG9tLWZvci1tZXRlci13aXRob3V0LXNoYWRvdy1lbGVtZW50Lmh0bWw6CisgICAgICAg
ICogZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItbWV0ZXIuaHRtbDoKKyAgICAgICAgKiBm
YXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1vYmplY3QtY29tcGxleC1zaGFkb3cuaHRtbDoK
KyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1vYmplY3Qtb25seS1zaGFk
b3cuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1vYmplY3Qt
d2l0aG91dC1zaGFkb3cuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9t
LWZvci1vdXRwdXQtY29tcGxleC1zaGFkb3cuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFk
b3cvc2hhZG93ZG9tLWZvci1vdXRwdXQtb25seS1zaGFkb3cuaHRtbDoKKyAgICAgICAgKiBmYXN0
L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1vdXRwdXQtd2l0aG91dC1zaGFkb3cuaHRtbDoKKyAg
ICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1wcm9ncmVzcy1keW5hbWljLmh0
bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItcHJvZ3Jlc3MtbXVs
dGlwbGUuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1wcm9n
cmVzcy13aXRoLXN0eWxlLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvd2Rv
bS1mb3ItcHJvZ3Jlc3Mtd2l0aG91dC1hcHBlYXJhbmNlLmh0bWw6CisgICAgICAgICogZmFzdC9k
b20vc2hhZG93L3NoYWRvd2RvbS1mb3ItcHJvZ3Jlc3Mtd2l0aG91dC1zaGFkb3ctZWxlbWVudC5o
dG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXByb2dyZXNzLmh0
bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Itc2VsZWN0LWNvbXBs
ZXgtc2hhZG93Lmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3It
c2VsZWN0LW9ubHktc2hhZG93Lmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRv
d2RvbS1mb3Itc2VsZWN0LXdpdGhvdXQtc2hhZG93Lmh0bWw6CisgICAgICAgICogZmFzdC9kb20v
c2hhZG93L3NoYWRvd2RvbS1mb3ItdGV4dGFyZWEtY29tcGxleC1zaGFkb3cuaHRtbDoKKyAgICAg
ICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci10ZXh0YXJlYS1vbmx5LXNoYWRvdy5o
dG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXRleHRhcmVhLXdp
dGgtYXR0cmlidXRlLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1m
b3ItdGV4dGFyZWEtd2l0aC1wbGFjZWhvbGRlci5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3No
YWRvdy9zaGFkb3dkb20tZm9yLXRleHRhcmVhLXdpdGgtc3R5bGUuaHRtbDoKKyAgICAgICAgKiBm
YXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci10ZXh0YXJlYS13aXRob3V0LXNoYWRvdy5odG1s
OgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXRleHRhcmVhLmh0bWw6
CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvd3Jvb3QtY2xvbmVub2RlLmh0bWw6Cisg
ICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvd3Jvb3Qtb2YtaW5zZXJ0aW9ucG9pbnQuaHRt
bDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93cm9vdC10eXBlLmh0bWw6CisgICAg
ICAgICogZmFzdC9kb20vc2hhZG93L3N0eWxlLW9mLWRpc3RyaWJ1dGVkLW5vZGUuaHRtbDoKKyAg
ICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc3R5bGUtc2NvcGVkLW5vdC1lbmFibGVkLmh0bWw6Cisg
ICAgICAgICogZmFzdC9kb20vc2hhZG93L3N0eWxpbmctcHNldWRvLWF0dHJpYnV0ZS5odG1sOgor
ICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zdXBwcmVzcy1tdXRhdGlvbi1ldmVudHMtaW4tc2hh
ZG93LWNoYXJhY3RlcmRhdGEuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvdHJhbnNp
dGlvbi1vbi1zaGFkb3ctaG9zdC13aXRoLWRpc3RyaWJ1dGVkLW5vZGUuaHRtbDoKKyAgICAgICAg
KiBmYXN0L2RvbS9zaGFkb3cvdXNlci1tb2RpZnktaW5oZXJpdGFuY2UuaHRtbDoKKyAgICAgICAg
KiBmYXN0L2RvbS9zaGFkb3cvd2hlZWwtZXZlbnQtaW4tc2hhZG93LWRvbS5odG1sOgorICAgICAg
ICAqIGZhc3QvZG9tL3NoYWRvdy93aGVlbC1ldmVudC1vbi1pbnB1dC1pbi1zaGFkb3ctZG9tLmh0
bWw6CisgICAgICAgICogZmFzdC9mcmFtZXMvZGV0YWNoZWQtc2hhZG93LWZyYW1lLmh0bWw6Cisg
ICAgICAgICogZmFzdC9qcy9nbG9iYWwtY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiBpbnNwZWN0b3IvZWxlbWVudHMvc2hhZG93LXJvb3QuaHRtbDoKKyAgICAgICAgKiBpbnNw
ZWN0b3IvZWxlbWVudHMvdXBkYXRlLXNoYWRvd2RvbS5odG1sOgorICAgICAgICAqIHBsYXRmb3Jt
L2VmbC9mYXN0L2pzL2dsb2JhbC1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IHBsYXRmb3JtL2d0ay9mYXN0L2pzL2dsb2JhbC1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0Ogor
CiAyMDEyLTEyLTExICBUYWthc2hpIFNha2Ftb3RvICA8dGFzYWtAZ29vZ2xlLmNvbT4KIAogICAg
ICAgICBUZXh0IG5vZGVzIGluIHNoYWRvdyByb290cyBkb24ndCBpbmhlcml0IHN0eWxlIHByb3Bl
cmx5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvY29weS1wYXN0
ZS1mbG9hdC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL2NvcHktcGFzdGUt
ZmxvYXQuaHRtbAppbmRleCAyZmQ0OTkwMTVlNTJlNTc2MzYyNGJkNDE1OGJmNzY1OWM5NGVhNzI1
Li4zNWMzZmIwMDMwMGI1MzBmOTNhOWRhOTY3OTFjMjNhZjdlMTY0NzJmIDEwMDY0NApHSVQgYmlu
YXJ5IHBhdGNoCmxpdGVyYWwgMjQ5OAp6Y21iYEotRVB4QjVRWFFPciFjKz41fk4lZ1EmYlg9RHBn
UkMhaE09SlpBNit4aUNhTDNSfG1lYz54dTJnWm1FUTwKeldiTzZMbktRclotK3dII0Q9WH5VN0l0
SiQhYyVUem59KDt2Oys1SWZDYnFHO3QmeD9Tend2Y3VIP35Ca0t4Vn5WCnohZDtHNVZMZn1zKTZX
KGkqUFl1OGlKcEIhY1p1WntjbTE5SXIrflohWjNFSzJXaz5QVj9iaH1CcHgpcikrSyVDTAp6NCVZ
WFEqKChzY0Y+aV4pMjV1OEx0P2hANig1KENUbnM/JG0zRnRaTzN6JU9iUm9GV3NucXhFV3pENF40
KmBCMngKelhlcilfanIoelRidU1jLURYI2Z7ViQrNTl1WTkmSmsqOWEjKCMmUnppUT9Da1Jkdzgt
Z01JdXl7I1E4MUFURGVgCno3MCszeDxWejluYnd2Njg4MUxzJmxfSzg7V2Npd0Y5NGJePClRKVB4
PEo2dEdJQHtQQyhTeVJ5en1VanV5UVQrWAp6ZHY+Mnc3Y1U+RWtqSm47K3UzPVR6cDglOyZzRTQ+
cFpecyMtczk/Rytvei1GV0l9YVhXa3l+WExgKVVuVTI9dyQKejs7OFB7eUQjdXMmYG8qaGx2JUpm
PThhZTtfU0RwSVgrVzVqeVdNZzM0dGYpR00pbnlsMU53NXJiO3dAREtDdk8pCnpJYmBwSGVQbGkp
Xzd3Jj41KCVFalV2VzZ4Ki1hWHJyMXh+S2JDQTglLVpPdHI+PVh7ZVA2bSYmKytOU1dZSyReRgp6
Zk5sSHEpP0R8RHZgdXk4KFktJDw5KlZoVWN+P35TP2JneDc8TyZvJlR7NjJNdlF4NjJ1cjVuV1Eq
eFlRciNkfi0KemFOPDtYJmRBRlZTeUlQdShSSkJtX3E8fFBVNi1AUSg/djN4YEFJbHNpbEQxZ1lS
cz9sUVJtTWtJflJlPWdlcXslCnpIOG0tMUBodGU0UnIlN2FCS2V+ZVc2SGtmcEg5fFFzcDt+U3dQ
cUQ1SWBTKU48WmNTZVpPNSotI2J+dmtQY2QjQAp6ZnhjJCZTenUrdHpoPSFnI0pnaFVkMlpMUFAh
P0R9cU4yVWU2WUJiZT99cjAkXmBePn4+LWRfTDUrbVhsWE4lKFgKemtoWU07eXBGNnJrNUsmXyYm
dTY7Z2pINFlTQHBNfWA7O3I/TTFIQ2dIPkB3aDx4ZnJZaWhaO2d6WTBfaEByMktWCm8lPnJ+KVBo
TTg+MkZeSilzJDVsNUM7SVFSVXAoQT8oPHx9dFBMY098LWhIJEUxd05FPXN7akIxCgpsaXRlcmFs
IDEyNDkKemNtYSk2LSo0SjU1UHQ3cGFyMEE8KUAwQWpXYUB4UU5OQjRAeEElfTcjSHo4USplT05U
e2BjTTRLK1Z7c2BYeF44Cnp5WUlnSDcxe2NvRV5sT3VSYTQjbzlxSDtgYncwbEVoc3xKV3VkRCUm
JlN4V2Q0S1RMd1E1KHFpJH4xUEx2O0RfbAp6NEVDYzcyKmNpTmN7QSp+Sk5KayRNRTNkUzB7TDle
UH19YVghV2VNXmpqZXxyOGxQe2AmbyVQKD50V0drQjdxNV8KejtUV2dHRU00VjF6Sm4ma3tmb3o7
SzVJRnFObEkzeXVVOHFJQHAtKTZYKzNSflpoQUNYQkthQEg9UGRDQj4jNSFDCnpEbmx0d3NTPlF8
QkRwa3hmM1F3KllxQihya01RWVReYmNJM0VCQExWWEVvOzlabkYjOGU0fjJqTG8mSloyWkIlYAp6
OSh2bmg/Kz9FIUp6eXBfK0Uha1M7S0t4aiN0bUlCdn56PkxmTFEmVVBVb3hESTVyN3BpeTNfVHtz
PlFxOVIhOWsKemAkN3lOdHtCRTM/KFlgTWA3OTspazhASXAtK0BSTD4zR1chPDg5UlE1UHIkZ1Vz
RVkoVShURGhySEpieSpTMHg7CnpISSNLVDVwZ3w0OFQlIT5eMDhHZTNfa0dGZjx4cVdAaWg2Y1NI
NHZTc3UpRj9FdiZWenBCVUs8bztWNWJUUmZJJQp6Wkw3V15wVm5KNF43a1AwU1J6PztDQipDK15f
Kk5taypzOXVOWlY7ZzxlO0l9bTI7RVdHfG85T0dmWmsjLWdEMWsKenhzVjBEb1NqY3IrQW5MR0Uz
KyZIYGxTUj0hR2V3anA9JVVPbmx4N1pjeGA8dk8xYlhLK3VLYHkkT3NSZmozI3paCmczeStRUilt
a0gheEYxbDJ0a1F1TyFUJVVhN1RsRTNxd3JfQDB+R1VjeEJ2aEUKCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NoYWRvdy9hZGp1c3RpbmctZWRpdGluZy1ib3VuZGFyeS13aXRoLXRh
YmxlLWluLXNoYWRvdy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zaGFkb3cvYWRqdXN0aW5n
LWVkaXRpbmctYm91bmRhcnktd2l0aC10YWJsZS1pbi1zaGFkb3cuaHRtbAppbmRleCA0M2MwM2Jm
YmM3MjllMTZjMmU4ZGVhM2IyNWU3MDQ3YzE0MTkxNjU0Li4wODNkZTdjYzk4MWQ2OWE4ODM1ZThi
MTg0YzdkNmJkZjZiYmFlYjRlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NoYWRv
dy9hZGp1c3RpbmctZWRpdGluZy1ib3VuZGFyeS13aXRoLXRhYmxlLWluLXNoYWRvdy5odG1sCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2hhZG93L2FkanVzdGluZy1lZGl0aW5nLWJvdW5kYXJ5
LXdpdGgtdGFibGUtaW4tc2hhZG93Lmh0bWwKQEAgLTE3LDEyICsxNywxMiBAQAogaWYgKHdpbmRv
dy50ZXN0UnVubmVyKQogICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogCi12YXIgc2hhZG93
Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwordmFyIHNoYWRvd1Jvb3QgPSBu
ZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKIHZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCdkaXYnKTsKIHNoYWRvd1Jvb3QuYXBwZW5kQ2hpbGQoZGl2KTsKIGRpdi5pbm5lckhUTUwg
PSAiPHRhYmxlIGJvcmRlcj0nMSc+PHRyPjx0ZD5zaGFkb3cgMTwvdGQ+PC90cj48dHI+PHRkIGlk
PSdzcmMnPnNoYWRvdyAyPC90ZD48L3RyPjwvdGFibGU+IjsKIAotdmFyIG5lc3RlZFNoYWRvd1Jv
b3QgPSBkaXYud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwordmFyIG5lc3RlZFNoYWRvd1Jvb3Qg
PSBuZXcgV2ViS2l0U2hhZG93Um9vdChkaXYpOwogbmVzdGVkU2hhZG93Um9vdC5pbm5lckhUTUwg
PSAiPGRpdiBjb250ZW50ZWRpdGFibGU+YmVmb3JlPHNoYWRvdz48L3NoYWRvdz5hZnRlcjwvZGl2
PiI7CiAKIHZhciBzcmMgPSBzaGFkb3dSb290LmdldEVsZW1lbnRCeUlkKCdzcmMnKTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2hhZG93L2JvbGQtdHdpY2UtaW4tc2hhZG93Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NoYWRvdy9ib2xkLXR3aWNlLWluLXNoYWRvdy5odG1s
CmluZGV4IDM2OGY1NDUyZmI4MDU4NmVhOGIwOGFjZWQ4YzI1YjZjYTY4MDljNmMuLjI0YjhmYWVk
MTFmZDFiYzM1YjIzYjRhN2QyNzExYjBlZjQzOGUzYjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2hhZG93L2JvbGQtdHdpY2UtaW4tc2hhZG93Lmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zaGFkb3cvYm9sZC10d2ljZS1pbi1zaGFkb3cuaHRtbApAQCAtMTgsMTEgKzE4
LDExIEBACiBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0
KCk7CiAKLXZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7Cit2
YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwogc2hhZG93Um9vdC5p
bm5lckhUTUwgPSAnPGRpdiBpZD0ic2hhZG93LWhvc3QiPjxzcGFuIGNvbnRlbnRlZGl0YWJsZT5z
aGFkb3cgYmVmb3JlPC9zcGFuPjxzaGFkb3c+PC9zaGFkb3c+c2hhZG93IChhZnRlcik8L2Rpdj4n
OwogCiB2YXIgbmVzdGVkU2hhZG93SG9zdCA9IHNoYWRvd1Jvb3QuZ2V0RWxlbWVudEJ5SWQoJ3No
YWRvdy1ob3N0Jyk7Ci12YXIgbmVzdGVkU2hhZG93Um9vdCA9IG5lc3RlZFNoYWRvd0hvc3Qud2Vi
a2l0Q3JlYXRlU2hhZG93Um9vdCgpOwordmFyIG5lc3RlZFNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0
U2hhZG93Um9vdChuZXN0ZWRTaGFkb3dIb3N0KTsKIG5lc3RlZFNoYWRvd1Jvb3QuaW5uZXJIVE1M
ID0gJzxkaXYgaWQ9ImlubmVyIiBjb250ZW50ZWRpdGFibGU+bmVzdGVkIGJlZm9yZTxzaGFkb3c+
PC9zaGFkb3c+bmVzdGVkIGFmdGVyPC9kaXY+JzsKIAogaWYgKHdpbmRvdy5ldmVudFNlbmRlcikg
ewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zaGFkb3cvYnJlYWtpbmctZWRpdGlu
Zy1ib3VuZGFyaWVzLTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2hhZG93L2JyZWFraW5n
LWVkaXRpbmctYm91bmRhcmllcy0yLmh0bWwKaW5kZXggMmFkYWRkODk0OTFlMzQ0MTQyNzViYmU0
OWM4Mzc4MmI2YzMwMzg5Yy4uNzU2YTUwNjQxZTUzNzJlYzQxZDE0ZDQxMjIzMzAzOGQ0MTU1YTQ1
ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zaGFkb3cvYnJlYWtpbmctZWRpdGlu
Zy1ib3VuZGFyaWVzLTIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NoYWRvdy9icmVh
a2luZy1lZGl0aW5nLWJvdW5kYXJpZXMtMi5odG1sCkBAIC0xNiwxMyArMTYsMTMgQEAKIGlmICh3
aW5kb3cudGVzdFJ1bm5lcikKICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKIAotdmFyIHNo
YWRvd1Jvb3QgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKK3ZhciBzaGFkb3dSb290
ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7CiB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgnZGl2Jyk7CiBkaXYuc2V0QXR0cmlidXRlKCdjb250ZW50ZWRpdGFibGUnLCAndHJ1
ZScpOwogc2hhZG93Um9vdC5hcHBlbmRDaGlsZChkaXYpOwogZGl2LmlubmVySFRNTCA9ICI8ZGl2
IGlkPSdzb3VyY2UnPmJlZm9yZSBzaGFkb3c8L2Rpdj48c2hhZG93Pjwvc2hhZG93PjxkaXY+YWZ0
ZXIgc2hhZG93PC9kaXY+IjsKIAotdmFyIG5lc3RlZFNoYWRvd1Jvb3QgPSBkaXYud2Via2l0Q3Jl
YXRlU2hhZG93Um9vdCgpOwordmFyIG5lc3RlZFNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93
Um9vdChkaXYpOwogbmVzdGVkU2hhZG93Um9vdC5pbm5lckhUTUwgPSAiPGRpdiBjb250ZW50ZWRp
dGFibGU+YmVmb3JlIG5lc3RlZDxzaGFkb3c+PC9zaGFkb3c+YWZ0ZXIgbmVzdGVkPC9kaXY+IjsK
IAogdmFyIHNvdXJjZSA9IHNoYWRvd1Jvb3QuZ2V0RWxlbWVudEJ5SWQoJ3NvdXJjZScpOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zaGFkb3cvYnJlYWtpbmctZWRpdGluZy1ib3Vu
ZGFyaWVzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NoYWRvdy9icmVha2luZy1lZGl0aW5n
LWJvdW5kYXJpZXMuaHRtbAppbmRleCA0M2VlZTE5MmMwZWUwMzAwOTJjN2Q3YThlYzM3OTI5M2Yw
YjU3ZjkzLi4xNjgyMDlmNGJhMDAwMTRkYzc3MjEwYzIzZDk4MjM2ODk0NGEyZjRlIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NoYWRvdy9icmVha2luZy1lZGl0aW5nLWJvdW5kYXJp
ZXMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NoYWRvdy9icmVha2luZy1lZGl0aW5n
LWJvdW5kYXJpZXMuaHRtbApAQCAtMTQsMTEgKzE0LDExIEBAIFRoaXMgaXMgYmVjYXVzZSB0aGUg
c3RhcnQgcG9zaXRpb24gb2YgU2VsZWN0aW9uIGNvbWVzIGFmdGVyIHRoZSBlbmQgcG9zaXRpb24g
b2YKIDxwcmUgaWQ9ImNvbnNvbGUiPjwvcHJlPgogCiA8c2NyaXB0PgotdmFyIHNoYWRvd1Jvb3Qg
PSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKK3ZhciBzaGFkb3dSb290ID0gbmV3IFdl
YktpdFNoYWRvd1Jvb3QoaG9zdCk7CiBzaGFkb3dSb290LmlubmVySFRNTCA9ICI8c3BhbiBpZD0n
c2hhZG93LWhvc3QnPmJlZm9yZSBzaGFkb3c8c2hhZG93IGlkPSdzaGFkb3cnPjwvc2hhZG93PmFm
dGVyIHNoYWRvdzwvc3Bhbj4iCiAKIHZhciBuZXN0ZWRTaGFkb3dIb3N0ID0gc2hhZG93Um9vdC5n
ZXRFbGVtZW50QnlJZCgnc2hhZG93LWhvc3QnKTsKLXZhciBuZXN0ZWRTaGFkb3dSb290ID0gbmVz
dGVkU2hhZG93SG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7Cit2YXIgbmVzdGVkU2hhZG93
Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KG5lc3RlZFNoYWRvd0hvc3QpOwogbmVzdGVkU2hh
ZG93Um9vdC5pbm5lckhUTUwgPSAiPHNwYW4gY29udGVudGVkaXRhYmxlPmJlZm9yZSBuZXN0ZWQ8
c2hhZG93Pjwvc2hhZG93PmFmdGVyIG5lc3RlZDwvc3Bhbj4iCiAKIC8vIFRoaXMgc2hvdWxkIG5v
dCBjYXVzZSBhIGNyYXNoLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zaGFkb3cv
YnJlYWtpbmctZWRpdGluZy1ib3VuZGFyeS13aXRoLXRhYmxlLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NoYWRvdy9icmVha2luZy1lZGl0aW5nLWJvdW5kYXJ5LXdpdGgtdGFibGUuaHRtbApp
bmRleCA4ZWU3OWQ0ZDI2ZTQzZDA0MGY1NjAyMmExMWIxNTU1OTMyODMzYWJjLi4wYzgzMjViMjBj
ODk2MDJiMjVkYzRmMWQxMDlhYjg0MjZmNDY4ZjRhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NoYWRvdy9icmVha2luZy1lZGl0aW5nLWJvdW5kYXJ5LXdpdGgtdGFibGUuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NoYWRvdy9icmVha2luZy1lZGl0aW5nLWJvdW5kYXJ5
LXdpdGgtdGFibGUuaHRtbApAQCAtMTUsNyArMTUsNyBAQCBUaGlzIHRlc3QgY2hlY2tzIHRoZSAm
bHQ7c3BhbiZndDsgZG9lcyBub3QgY2hhbmdlZCB0byBub24tY29udGVudGVkaXRhYmxlIGVsZW1l
bgogPHByZSBpZD0iY29uc29sZSI+PC9wcmU+CiAKIDxzY3JpcHQ+Ci12YXIgc2hhZG93Um9vdCA9
IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwordmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2Vi
S2l0U2hhZG93Um9vdChob3N0KTsKIHNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gJzx0YWJsZSBib3Jk
ZXI9IjEiPicgKwogICAgICc8dHI+PHRkIGlkPSJkc3QiPmFhYWFhPC90ZD48dGQgaWQ9ImFub3Ro
ZXIiPmFhYWFhPC90ZD48L3RyPicgKwogICAgICc8dHI+PHRkPmFhYWFhPC90ZD48dGQ+YWFhYWE8
L3RkPjwvdHI+JyArCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NoYWRvdy9jb21w
YXJlLXBvc2l0aW9ucy1pbi1uZXN0ZWQtc2hhZG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NoYWRvdy9jb21wYXJlLXBvc2l0aW9ucy1pbi1uZXN0ZWQtc2hhZG93Lmh0bWwKaW5kZXggM2E2
YTZlMDg3OTI2OWYxNjBkZGFhNDhiNDI4NWFhMDU3NjI3YzFlYS4uNjhlZWJiNDgxZGY0YmVjNTg4
OWZkZTZmYTE0NTIyNjI3ODRkMjUzOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
aGFkb3cvY29tcGFyZS1wb3NpdGlvbnMtaW4tbmVzdGVkLXNoYWRvdy5odG1sCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2hhZG93L2NvbXBhcmUtcG9zaXRpb25zLWluLW5lc3RlZC1zaGFkb3cu
aHRtbApAQCAtMTgsMTEgKzE4LDExIEBAIGZ1bmN0aW9uIGNyZWF0ZUJveChuYW1lKSB7CiB9CiAK
IGZ1bmN0aW9uIGNyZWF0ZU5lc3RlZFNoYWRvd0RPTShob3N0LCBjb250ZW50KSB7Ci0gICAgdmFy
IHNoYWRvd1Jvb3QgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKKyAgICB2YXIgc2hh
ZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwogICAgIHZhciBkaXYgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgICBzaGFkb3dSb290LmFwcGVuZENoaWxkKGRp
dik7CiAKLSAgICB2YXIgbmVzdGVkU2hhZG93Um9vdCA9IGRpdi53ZWJraXRDcmVhdGVTaGFkb3dS
b290KCk7CisgICAgdmFyIG5lc3RlZFNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChk
aXYpOwogICAgIHZhciBkaXZJbk5lc3RlZFNoYWRvd1Jvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCdkaXYnKTsKICAgICBkaXZJbk5lc3RlZFNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gY29udGVu
dDsKICAgICBuZXN0ZWRTaGFkb3dSb290LmFwcGVuZENoaWxkKGRpdkluTmVzdGVkU2hhZG93Um9v
dCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NoYWRvdy9jb250ZW50ZWRpdGFi
bGUtcHJvcGFnYXRpb24tYXQtc2hhZG93LWJvdW5kYXJ5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NoYWRvdy9jb250ZW50ZWRpdGFibGUtcHJvcGFnYXRpb24tYXQtc2hhZG93LWJvdW5kYXJ5
Lmh0bWwKaW5kZXggYjhkMzUyYzUzMTM1MDAzNWM5OGUxMzI3MjA3Y2ZkZTdmMGFlNWQwNC4uNjFj
ODZkNTA1YzAyNTU5OGM3MDEwOGVlZDRmZTdhMzQwOTUwYTYxMyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zaGFkb3cvY29udGVudGVkaXRhYmxlLXByb3BhZ2F0aW9uLWF0LXNoYWRv
dy1ib3VuZGFyeS5odG1sCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2hhZG93L2NvbnRlbnRl
ZGl0YWJsZS1wcm9wYWdhdGlvbi1hdC1zaGFkb3ctYm91bmRhcnkuaHRtbApAQCAtMjgsNyArMjgs
NyBAQCBmdW5jdGlvbiBjb21wdXRlZFN0eWxlKGVsZW1lbnQsIHN0eWxlKSB7CiB9CiAKIGZ1bmN0
aW9uIHByZXBhcmVOb2RlSW5TaGFkb3dSb290KGhvc3QpIHsKLSAgICB2YXIgc2hhZG93Um9vdCA9
IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOworICAgIHZhciBzaGFkb3dSb290ID0gbmV3
IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7CiAgICAgdmFyIG5vZGVJblNoYWRvdyA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAgIG5vZGVJblNoYWRvdy5zZXRBdHRyaWJ1dGUoJ2lk
JywgJ25vZGUtaW4tc2hhZG93LXJvb3QnKTsKICAgICBub2RlSW5TaGFkb3cuYXBwZW5kQ2hpbGQo
ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoJ0luIFNoYWRvdycpKTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2hhZG93L2RlbGV0ZS1jaGFyYWN0ZXJzLWluLWRpc3RyaWJ1dGVkLW5v
ZGUtY3Jhc2guaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2hhZG93L2RlbGV0ZS1jaGFyYWN0
ZXJzLWluLWRpc3RyaWJ1dGVkLW5vZGUtY3Jhc2guaHRtbAppbmRleCA4YzdlNWRkYzA4NDBlMjg4
MGNlMjE4M2VjYzRjZDYyMTFkNmI0OGJmLi5lZGE0OWNlNWM0MjA5MTYwYTVhNjk0MzM4NmQzOGFi
ZjVmYTFhZTMwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NoYWRvdy9kZWxldGUt
Y2hhcmFjdGVycy1pbi1kaXN0cmlidXRlZC1ub2RlLWNyYXNoLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zaGFkb3cvZGVsZXRlLWNoYXJhY3RlcnMtaW4tZGlzdHJpYnV0ZWQtbm9kZS1j
cmFzaC5odG1sCkBAIC02LDcgKzYsNyBAQAogPHNjcmlwdD4KIGlmICh3aW5kb3cudGVzdFJ1bm5l
cikKICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLXZhciBzaGFkb3dSb290ID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ3NoYWRvd2hvc3QnKS53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7
Cit2YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCdzaGFkb3dob3N0JykpOwogc2hhZG93Um9vdC5pbm5lckhUTUwgPSAiPGNvbnRlbnQ+
PC9jb250ZW50PiI7CiAKIHZhciB0ZXh0Tm9kZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdz
aGFkb3dob3N0JykuZmlyc3RDaGlsZC5maXJzdENoaWxkOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zaGFkb3cvZGVsZXRlLWxpc3QtaW4tc2hhZG93Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NoYWRvdy9kZWxldGUtbGlzdC1pbi1zaGFkb3cuaHRtbAppbmRleCA3NjY5Mzc3
MjBlYTc3ZDZhNDI3NTA2ZmVjMTBmMzJmNjA2NDlkYWY1Li4zZmRlNTUwNzdlYjA1NTYzNGJjMjYy
ZWYzMTMxZDg0NzFiYWQ0ZjBhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NoYWRv
dy9kZWxldGUtbGlzdC1pbi1zaGFkb3cuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3No
YWRvdy9kZWxldGUtbGlzdC1pbi1zaGFkb3cuaHRtbApAQCAtMjAsNyArMjAsNyBAQAogaWYgKHdp
bmRvdy50ZXN0UnVubmVyKQogICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogCi12YXIgc2hh
ZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwordmFyIHNoYWRvd1Jvb3Qg
PSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKIHZhciBsaSA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoJ2xpJyk7CiBsaS5pbm5lckhUTUwgPSAnaG9nZWhvZ2UnOwogc2hhZG93Um9vdC5hcHBl
bmRDaGlsZChsaSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NoYWRvdy9kb3Vi
bGVjbGljay1vbi1tZXRlci1pbi1zaGFkb3ctY3Jhc2guaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2hhZG93L2RvdWJsZWNsaWNrLW9uLW1ldGVyLWluLXNoYWRvdy1jcmFzaC5odG1sCmluZGV4
IDM4MmZlNGUyZTQ5M2E2OTQ5OGQxYjA2ZjJkYzNkZmU1OWEyMTIwMmMuLjdiZTMwNjcyZGFlYTBi
MzkxYWZlZmZmMmI4ZDk3N2VlMDI2ZGJjNDAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2hhZG93L2RvdWJsZWNsaWNrLW9uLW1ldGVyLWluLXNoYWRvdy1jcmFzaC5odG1sCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2hhZG93L2RvdWJsZWNsaWNrLW9uLW1ldGVyLWluLXNoYWRv
dy1jcmFzaC5odG1sCkBAIC0xMCw3ICsxMCw3IEBAIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAg
ICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKIAogdmFyIGNvbnRhaW5lciA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCdjb250YWluZXInKTsKLXZhciBzaGFkb3dSb290ID0gY29udGFpbmVyLndl
YmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKK3ZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRv
d1Jvb3QoY29udGFpbmVyKTsKIHZhciBtZXRlciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ21l
dGVyJyk7CiBzaGFkb3dSb290LmFwcGVuZENoaWxkKG1ldGVyKTsKIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zaGFkb3cvZXhlY2NvbW1hbmQtaW5kZW50LWluLXNoYWRvdy5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zaGFkb3cvZXhlY2NvbW1hbmQtaW5kZW50LWluLXNoYWRv
dy5odG1sCmluZGV4IGFhZTc1YWFiY2NlNGM1YmNkYjljNmU2ODA2NjM1OWMzNGQyMWMyYzcuLmRm
YWVlZTZkODc3MTg1ZjNkY2U3MDhmMDUwMDdkOGIwZGFkMDNjZGYgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2hhZG93L2V4ZWNjb21tYW5kLWluZGVudC1pbi1zaGFkb3cuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NoYWRvdy9leGVjY29tbWFuZC1pbmRlbnQtaW4tc2hh
ZG93Lmh0bWwKQEAgLTE0LDcgKzE0LDcgQEAgdG8gY29uZmlybSBhIGNyYXNoIGRvZXNuJ3QgaGFw
cGVuLjwvcD4KIDxwcmUgaWQ9ImNvbnNvbGUiPjwvZGl2PgogCiA8c2NyaXB0PgotdmFyIHNoYWRv
d1Jvb3QgPSBjb250YWluZXIud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwordmFyIHNoYWRvd1Jv
b3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChjb250YWluZXIpOwogc2hhZG93Um9vdC5pbm5lckhU
TUwgPSAiPHNwYW4gY29udGVudGVkaXRhYmxlPktvdG9yaSBPdG9uYXNoaTwvc3Bhbj4iCiB2YXIg
c3BhbiA9IHNoYWRvd1Jvb3QuZmlyc3RDaGlsZDsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zaGFkb3cvaW5zZXJ0b3JkZXJlZGxpc3QtY3Jhc2guaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2hhZG93L2luc2VydG9yZGVyZWRsaXN0LWNyYXNoLmh0bWwKaW5kZXggNmVkYmU0
N2ZjZGMwZDA2NzcwYTZhNWRlYTAzMGQ5NTQxMmU3Yzg1YS4uMjU4MTA2MzljODQ3OWM1MzFhMzVm
MjljYTQwMmY4ZWQ5NmRkOTg3MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zaGFk
b3cvaW5zZXJ0b3JkZXJlZGxpc3QtY3Jhc2guaHRtbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NoYWRvdy9pbnNlcnRvcmRlcmVkbGlzdC1jcmFzaC5odG1sCkBAIC0xOSwxMiArMTksMTIgQEAg
VG8gdGVzdCBtYW51YWxseSwgc2VsZWN0IGZyb20gKGJlZm9yZSBuZXN0ZWQpIHRvIChhZnRlciBu
ZXN0ZWQpLCB0aGVuIHByZXNzIEl0YWwKIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB0ZXN0
UnVubmVyLmR1bXBBc1RleHQoKTsKIAotdmFyIHNoYWRvd1Jvb3QgPSBob3N0LndlYmtpdENyZWF0
ZVNoYWRvd1Jvb3QoKTsKK3ZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9z
dCk7CiB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiBzaGFkb3dSb290
LmFwcGVuZENoaWxkKGRpdik7CiBkaXYuaW5uZXJIVE1MID0gIjxzcGFuIGNvbnRlbnRlZGl0YWJs
ZT4oYmVmb3JlIHNoYWRvdyk8L3NwYW4+PHNoYWRvdz48L3NoYWRvdz4oYWZ0ZXIgc2hhZG93KSI7
CiAKLXZhciBuZXN0ZWRTaGFkb3dSb290ID0gZGl2LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsK
K3ZhciBuZXN0ZWRTaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2KTsKIG5lc3Rl
ZFNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gIjxkaXYgY29udGVudGVkaXRhYmxlPihiZWZvcmUgPHNw
YW4gaWQ9J3NyYyc+PC9zcGFuPm5lc3RlZCk8c2hhZG93Pjwvc2hhZG93PihuZXN0ZWQgPHNwYW4g
aWQ9J2RzdCc+PC9zcGFuPmFmdGVyKTwvZGl2PiI7CiAKIHZhciBzcmMgPSBuZXN0ZWRTaGFkb3dS
b290LmdldEVsZW1lbnRCeUlkKCdzcmMnKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2hhZG93L3ByZXNzaW5nLWVudGVyLW9uLWxpc3QuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2hhZG93L3ByZXNzaW5nLWVudGVyLW9uLWxpc3QuaHRtbAppbmRleCA1NDI3NWFlNTc4NmMy
NjJhMWVhMjQ0MmVhMjY0MDA3MjMxN2VlNGZiLi4yYmQ3YzYzZTBiNDZkMGJmMmM4OWMyY2U4NjUw
OTQwZDAyYjE4YjM1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NoYWRvdy9wcmVz
c2luZy1lbnRlci1vbi1saXN0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zaGFkb3cv
cHJlc3NpbmctZW50ZXItb24tbGlzdC5odG1sCkBAIC0yMCw3ICsyMCw3IEBAIGJlY2FzdWUgbW9k
aWZ5aW5nIFNoYWRvdyBET00gcmVtb3ZlcyB0aGUgcmVuZGVyZXIgaW4gU2hhZG93IERPTSBhbmQg
ZGVzZW5kYW50IG9mCiBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgdGVzdFJ1bm5lci5kdW1w
QXNUZXh0KCk7CiAKLXZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290
KCk7Cit2YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwogdmFyIGxp
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbGknKTsKIGxpLmlubmVySFRNTCA9ICdpbnNpZGUg
c2hhZG93JzsKIHNoYWRvd1Jvb3QuYXBwZW5kQ2hpbGQobGkpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zaGFkb3cvcmlnaHRjbGljay1vbi1tZXRlci1pbi1zaGFkb3ctY3Jhc2gu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2hhZG93L3JpZ2h0Y2xpY2stb24tbWV0ZXItaW4t
c2hhZG93LWNyYXNoLmh0bWwKaW5kZXggNjM2YTAyMTNkOTRlMzVhMThiOTVkMjg1OTdhNTNkZjI5
ZTgyZDgxMy4uZDg1N2ViNjQ1ZmYzNTM4NWJiYTIwNGE3YzkwMmM0ODA1NjBhYTk4ZCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zaGFkb3cvcmlnaHRjbGljay1vbi1tZXRlci1pbi1z
aGFkb3ctY3Jhc2guaHRtbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NoYWRvdy9yaWdodGNs
aWNrLW9uLW1ldGVyLWluLXNoYWRvdy1jcmFzaC5odG1sCkBAIC0xNiw3ICsxNiw3IEBAIGZ1bmN0
aW9uIGNvbnRleHRDbGljayh4LCB5KSB7CiB9CiAKIHZhciBjb250YWluZXIgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgnY29udGFpbmVyJyk7Ci12YXIgc2hhZG93Um9vdCA9IGNvbnRhaW5lci53
ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7Cit2YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFk
b3dSb290KGNvbnRhaW5lcik7CiB2YXIgbWV0ZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdt
ZXRlcicpOwogc2hhZG93Um9vdC5hcHBlbmRDaGlsZChtZXRlcik7CiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2hhZG93L3NlbGVjdC1jb250ZW50ZWRpdGFibGUtc2hhZG93aG9z
dC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zaGFkb3cvc2VsZWN0LWNvbnRlbnRlZGl0YWJs
ZS1zaGFkb3dob3N0Lmh0bWwKaW5kZXggMDExMzFhNjRhYTIzZjQ4YmIyNDFhMDMyNzc2Y2RiODkx
NWRkZTdlZS4uNGZiMDQxYmFlNWNmZTg2YWU1MzExZTIyMTYxNWU1MTRkYTNjMDMxZCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zaGFkb3cvc2VsZWN0LWNvbnRlbnRlZGl0YWJsZS1z
aGFkb3dob3N0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zaGFkb3cvc2VsZWN0LWNv
bnRlbnRlZGl0YWJsZS1zaGFkb3dob3N0Lmh0bWwKQEAgLTE3LDcgKzE3LDcgQEAKIAogPHNjcmlw
dD4KIAotdmFyIHNoYWRvd1Jvb3QgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKK3Zh
ciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7CiBzaGFkb3dSb290Lmlu
bmVySFRNTCA9ICJTSEFET1cgRE9NIjsKIAogdmFyIHNlbGVjdGlvbiA9IHNoYWRvd1Jvb3QuZ2V0
U2VsZWN0aW9uKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NoYWRvdy9zZWxl
Y3Rpb24tb2Ytb3JwaGFuLXNoYWRvd3Jvb3QuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2hh
ZG93L3NlbGVjdGlvbi1vZi1vcnBoYW4tc2hhZG93cm9vdC5odG1sCmluZGV4IDA1ODEzMjFhYTAz
MDRkNDMyMWI0NjliZjMxZjIxYjZlOGJiNzc5NDAuLjI4ZmVkMDZkYWE0ZDcyNGE0MzUyODEyZDM4
NWFmZTYxZjM1YmEwN2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2hhZG93L3Nl
bGVjdGlvbi1vZi1vcnBoYW4tc2hhZG93cm9vdC5odG1sCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2hhZG93L3NlbGVjdGlvbi1vZi1vcnBoYW4tc2hhZG93cm9vdC5odG1sCkBAIC0xNCw3ICsx
NCw3IEBACiAKIDxzY3JpcHQ+CiB2YXIgaG9zdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2Rp
dicpOwotdmFyIHNoYWRvd1Jvb3QgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKK3Zh
ciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7CiBzaGFkb3dSb290Lmlu
bmVySFRNTCA9ICJLb3RvcmkgT3RvbmFzaGkiCiAKIHZhciBzZWxlY3Rpb24gPSBzaGFkb3dSb290
LmdldFNlbGVjdGlvbigpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zaGFkb3cv
c2VsZWN0aW9uLW9mLXNoYWRvd3Jvb3QuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2hhZG93
L3NlbGVjdGlvbi1vZi1zaGFkb3dyb290Lmh0bWwKaW5kZXggNzA3MmFlYWM4Y2RjZTM4MDFhMDYz
MDAyNTkwYTZiM2I1NjBlZTQwMi4uODFlMGNlM2I2YjIwMzM3OGRhMWU4YzUzM2EzOGMyNjdiOTAy
YmFiMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zaGFkb3cvc2VsZWN0aW9uLW9m
LXNoYWRvd3Jvb3QuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NoYWRvdy9zZWxlY3Rp
b24tb2Ytc2hhZG93cm9vdC5odG1sCkBAIC0zNCw3ICszNCw3IEBAIGZ1bmN0aW9uIGNyZWF0ZUNv
bXBsZXhTaGFkb3dUcmVlKGNvbnRhaW5lcikgewogICAgICAgICAgICAgIjxkaXYgdGl0bGU9J0RJ
VjMgSU4gIiArIG5hbWUgKyAiJz4iICsgaW5kZW50KGluZGVudExldmVsKSArICJESVYgMyAoIiAr
IG5hbWUgKyAiKTwvZGl2PiI7CiAKICAgICAgICAgdmFyIGhvc3RJblNoYWRvd1Jvb3QgPSBzaGFk
b3dSb290LmZpcnN0Q2hpbGQubmV4dFNpYmxpbmc7Ci0gICAgICAgIHZhciBuZXN0ZWRTaGFkb3dS
b290ID0gaG9zdEluU2hhZG93Um9vdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CisgICAgICAg
IHZhciBuZXN0ZWRTaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdEluU2hhZG93
Um9vdCk7CiAgICAgICAgIG5lc3RlZFNoYWRvd1Jvb3QudGl0bGUgPSAnTkVTVEVEIFNIQURPVyBS
T09UIElOICcgKyBuYW1lOwogICAgICAgICB0cmVlU2NvcGVzLnB1c2gobmVzdGVkU2hhZG93Um9v
dCk7CiAKQEAgLTUxLDExICs1MSwxMSBAQCBmdW5jdGlvbiBjcmVhdGVDb21wbGV4U2hhZG93VHJl
ZShjb250YWluZXIpIHsKIAogICAgIHZhciBob3N0ID0gY29udGFpbmVyLmZpcnN0Q2hpbGQubmV4
dFNpYmxpbmc7CiAKLSAgICB2YXIgb2xkZXJTaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVT
aGFkb3dSb290KCk7CisgICAgdmFyIG9sZGVyU2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dS
b290KGhvc3QpOwogICAgIG9sZGVyU2hhZG93Um9vdC50aXRsZSA9ICdPTERFUiBTSEFET1cgUk9P
VCc7CiAgICAgdHJlZVNjb3Blcy5wdXNoKG9sZGVyU2hhZG93Um9vdCk7CiAKLSAgICB2YXIgeW91
bmdlclNoYWRvd1Jvb3QgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKKyAgICB2YXIg
eW91bmdlclNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKICAgICB5b3Vu
Z2VyU2hhZG93Um9vdC50aXRsZSA9ICdZT1VOR0VSIFNIQURPVyBST09UJzsKICAgICB0cmVlU2Nv
cGVzLnB1c2goeW91bmdlclNoYWRvd1Jvb3QpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NoYWRvdy9zaGFkb3ctc2VsZWN0aW9uLW5vdC1leHBvcnRlZC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zaGFkb3cvc2hhZG93LXNlbGVjdGlvbi1ub3QtZXhwb3J0ZWQuaHRtbApp
bmRleCBjZmU2MjlkODE5OTgzNjg1MmU2N2UwZmNkMjZmODE0YWQwY2Q3MDBlLi5iN2M0YjI5NGIw
NTAxMDc0YjZkM2MxMTQyNzQ1MzZhMmJhYjk2ZDc3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NoYWRvdy9zaGFkb3ctc2VsZWN0aW9uLW5vdC1leHBvcnRlZC5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2hhZG93L3NoYWRvdy1zZWxlY3Rpb24tbm90LWV4cG9ydGVkLmh0
bWwKQEAgLTE0LDcgKzE0LDcgQEAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgIHRlc3RSdW5u
ZXIuZHVtcEFzVGV4dCgpOwogCiB2YXIgY29udGFpbmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ2NvbnRhaW5lcicpOwotdmFyIHNoYWRvd1Jvb3QgPSBjb250YWluZXIud2Via2l0Q3JlYXRl
U2hhZG93Um9vdCgpOwordmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChjb250
YWluZXIpOwogCiB2YXIgZGl2MiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogZGl2
Mi5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgnSU4gU0hBRE9XIFRSRUUgMScp
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL3N0eWxlLXNjb3BlZC9zdHlsZS1z
Y29wZWQtYXBwbHktYXV0aG9yLXN0eWxlcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0
L2Nzcy9zdHlsZS1zY29wZWQvc3R5bGUtc2NvcGVkLWFwcGx5LWF1dGhvci1zdHlsZXMtZXhwZWN0
ZWQudHh0CmluZGV4IDM5ZTNhYThjNWQwMDk1Y2QyZmFiMzdmYzRlZGY5ZWNjMzkwMzkxMDAuLjZh
NjNkOWFhODQzNDdkNjcwZTYwZmU4NGNlNWVkOTZlM2Q2M2EyYjUgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2Zhc3QvY3NzL3N0eWxlLXNjb3BlZC9zdHlsZS1zY29wZWQtYXBwbHktYXV0aG9yLXN0
eWxlcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3Mvc3R5bGUtc2NvcGVk
L3N0eWxlLXNjb3BlZC1hcHBseS1hdXRob3Itc3R5bGVzLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsx
LDYgQEAKIFBBU1Mgd2luZG93LmludGVybmFscyBpcyBkZWZpbmVkLgorUEFTUyB3aW5kb3cuaW50
ZXJuYWxzLmVuc3VyZVNoYWRvd1Jvb3QgaXMgZGVmaW5lZC4KK1BBU1MgV2ViS2l0U2hhZG93Um9v
dCBpcyBkZWZpbmVkLgogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENP
TVBMRVRFCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9zdHlsZS1zY29wZWQvc3R5
bGUtc2NvcGVkLWFwcGx5LWF1dGhvci1zdHlsZXMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY3Nz
L3N0eWxlLXNjb3BlZC9zdHlsZS1zY29wZWQtYXBwbHktYXV0aG9yLXN0eWxlcy5odG1sCmluZGV4
IDZhOTBmN2E4OWNkNjE2NzA5MjcxZGIwODQ0NjIwZmZjOTc5NjE5NWMuLjMyYjkwNjFmM2I3M2Nk
MWZjNTMyMzIwZGE5YThkZWRlNmYxY2I2NTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qv
Y3NzL3N0eWxlLXNjb3BlZC9zdHlsZS1zY29wZWQtYXBwbHktYXV0aG9yLXN0eWxlcy5odG1sCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL3N0eWxlLXNjb3BlZC9zdHlsZS1zY29wZWQtYXBwbHkt
YXV0aG9yLXN0eWxlcy5odG1sCkBAIC04LDYgKzgsOCBAQCBpZiAod2luZG93LnRlc3RSdW5uZXIp
CiAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAKIHNob3VsZEJlRGVmaW5lZCgid2luZG93
LmludGVybmFscyIpOworc2hvdWxkQmVEZWZpbmVkKCJ3aW5kb3cuaW50ZXJuYWxzLmVuc3VyZVNo
YWRvd1Jvb3QiKTsKK3Nob3VsZEJlRGVmaW5lZCgiV2ViS2l0U2hhZG93Um9vdCIpOwogCiBmdW5j
dGlvbiBkdW1wQ29tcHV0ZWRTdHlsZShub2RlKQogewpAQCAtMjEsNyArMjMsNyBAQCBmdW5jdGlv
biB0ZXN0QmFzaWMoKQogICAgIGRpdi5pbm5lckhUTUwgPSAnPGRpdj48c3R5bGUgc2NvcGVkPmRp
diB7IGJvcmRlcjogMXB4IHNvbGlkIHJlZDsgfTwvc3R5bGU+PGRpdiBpZD0iaG9zdCI+PC9kaXY+
PC9kaXY+JzsKICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRpdik7CiAKLSAgICB2YXIg
c2hhZG93ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImhvc3QiKS53ZWJraXRDcmVhdGVTaGFk
b3dSb290KCk7CisgICAgdmFyIHNoYWRvdyA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJob3N0IikpOwogICAgIHNoYWRvdy5pbm5lckhUTUwgPSAnPGRpdiBp
ZD0idGFyZ2V0Ij50YXJnZXQ8L2Rpdj4nOwogICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
ZGl2KTsKIApAQCAtNDMsOSArNDUsOSBAQCBmdW5jdGlvbiB0ZXN0RW5jbG9zaW5nU2hhZG93KCkK
ICAgICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICAgZG9jdW1l
bnQuYm9keS5hcHBlbmRDaGlsZChkaXYpOwogCi0gICAgdmFyIG91dGVyU2hhZG93ID0gZGl2Lndl
YmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKKyAgICB2YXIgb3V0ZXJTaGFkb3cgPSBuZXcgV2ViS2l0
U2hhZG93Um9vdChkaXYpOwogICAgIG91dGVyU2hhZG93LmlubmVySFRNTCA9ICc8c3R5bGU+ZGl2
IHsgYm9yZGVyOiAxcHggc29saWQgcmVkOyB9PC9zdHlsZT48ZGl2IGlkPSJvdXRlciI+b3V0ZXI8
L2Rpdj4nOwotICAgIHZhciBzaGFkb3cgPSBvdXRlclNoYWRvdy5nZXRFbGVtZW50QnlJZCgib3V0
ZXIiKS53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CisgICAgdmFyIHNoYWRvdyA9IG5ldyBXZWJL
aXRTaGFkb3dSb290KG91dGVyU2hhZG93LmdldEVsZW1lbnRCeUlkKCJvdXRlciIpKTsKICAgICBz
aGFkb3cuaW5uZXJIVE1MID0gJzxkaXYgaWQ9InRhcmdldCI+dGFyZ2V0PC9kaXY+JzsKIAogICAg
IC8vIGJlZm9yZQpAQCAtNjUsMTIgKzY3LDEyIEBAIGZ1bmN0aW9uIHRlc3RFbmNsb3NpbmdTaGFk
b3dXaXRoU2NvcGVkKCkKICAgICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2
Jyk7CiAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkaXYpOwogCi0gICAgdmFyIG91dGVy
U2hhZG93ID0gZGl2LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKKyAgICB2YXIgb3V0ZXJTaGFk
b3cgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChkaXYpOwogICAgIG91dGVyU2hhZG93LmlubmVySFRN
TCA9ICc8ZGl2PjxzdHlsZSBzY29wZWQ+ZGl2IHsgYm9yZGVyOiAxcHggc29saWQgcmVkOyB9PC9z
dHlsZT48ZGl2IGlkPSJvdXRlckluU2NvcGUiPm91dGVySW5TY29wZTwvZGl2PjwvZGl2PjxkaXYg
aWQ9Im91dGVyT3V0T2ZTY29wZSI+b3V0ZXJPdXRPZlNjb3BlPC9kaXY+JzsKIAotICAgIHZhciBz
aGFkb3cxID0gb3V0ZXJTaGFkb3cuZ2V0RWxlbWVudEJ5SWQoIm91dGVySW5TY29wZSIpLndlYmtp
dENyZWF0ZVNoYWRvd1Jvb3QoKTsKKyAgICB2YXIgc2hhZG93MSA9IG5ldyBXZWJLaXRTaGFkb3dS
b290KG91dGVyU2hhZG93LmdldEVsZW1lbnRCeUlkKCJvdXRlckluU2NvcGUiKSk7CiAgICAgc2hh
ZG93MS5pbm5lckhUTUwgPSAnPGRpdiBpZD0idGFyZ2V0SW5TY29wZSI+dGFyZ2V0SW5TY29wZTwv
ZGl2Pic7Ci0gICAgdmFyIHNoYWRvdzIgPSBvdXRlclNoYWRvdy5nZXRFbGVtZW50QnlJZCgib3V0
ZXJPdXRPZlNjb3BlIikud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOworICAgIHZhciBzaGFkb3cy
ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qob3V0ZXJTaGFkb3cuZ2V0RWxlbWVudEJ5SWQoIm91dGVy
T3V0T2ZTY29wZSIpKTsKICAgICBzaGFkb3cyLmlubmVySFRNTCA9ICc8ZGl2IGlkPSJ0YXJnZXRP
dXRPZlNjb3BlIj50YXJnZXRPdXRPZlNjb3BlPC9kaXY+JzsKIAogICAgIC8vIGJlZm9yZQpAQCAt
OTYsMTUgKzk4LDE1IEBAIGZ1bmN0aW9uIHRlc3ROZXN0ZWRTaGFkb3coKQogICAgIGRpdi5pbm5l
ckhUTUwgPSAnPHN0eWxlIHNjb3BlZD5kaXYgeyBib3JkZXI6IDFweCBzb2xpZCByZWQgfTwvc3R5
bGU+PGRpdiBpZD0iaG9zdCI+PC9kaXY+JzsKICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KGRpdik7CiAKLSAgICB2YXIgb3V0ZXJNb3N0U2hhZG93ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImhvc3QiKS53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CisgICAgdmFyIG91dGVyTW9zdFNo
YWRvdyA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJob3N0
IikpOwogICAgIG91dGVyTW9zdFNoYWRvdy5pbm5lckhUTUwgPSAnPHN0eWxlPmRpdiB7IGJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7IH08L3N0eWxlPjxkaXYgaWQ9Im91dGVyTW9zdCI+b3V0ZXJNb3N0
PC9kaXY+JzsKICAgICBvdXRlck1vc3RTaGFkb3cuYXBwbHlBdXRob3JTdHlsZXMgPSBmYWxzZTsK
IAotICAgIHZhciBvdXRlclNoYWRvdyA9IG91dGVyTW9zdFNoYWRvdy5nZXRFbGVtZW50QnlJZCgi
b3V0ZXJNb3N0Iikud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOworICAgIHZhciBvdXRlclNoYWRv
dyA9IG5ldyBXZWJLaXRTaGFkb3dSb290KG91dGVyTW9zdFNoYWRvdy5nZXRFbGVtZW50QnlJZCgi
b3V0ZXJNb3N0IikpOwogICAgIG91dGVyU2hhZG93LmlubmVySFRNTCA9ICc8ZGl2IGlkPSJvdXRl
ciI+b3V0ZXI8L2Rpdj4nOwogICAgIG91dGVyU2hhZG93LmFwcGx5QXV0aG9yU3R5bGVzID0gZmFs
c2U7CiAKLSAgICB2YXIgc2hhZG93ID0gb3V0ZXJTaGFkb3cuZ2V0RWxlbWVudEJ5SWQoIm91dGVy
Iikud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOworICAgIHZhciBzaGFkb3cgPSBuZXcgV2ViS2l0
U2hhZG93Um9vdChvdXRlclNoYWRvdy5nZXRFbGVtZW50QnlJZCgib3V0ZXIiKSk7CiAgICAgc2hh
ZG93LmlubmVySFRNTCA9ICc8ZGl2IGlkPSJ0YXJnZXQiPnRhcmdldDwvZGl2Pic7CiAgICAgc2hh
ZG93LmFwcGx5QXV0aG9yU3R5bGVzID0gZmFsc2U7CiAKQEAgLTEzMCwxNSArMTMyLDE1IEBAIGZ1
bmN0aW9uIHRlc3RNdWx0aXBsZVNoYWRvdygpCiAgICAgZGl2LmlubmVySFRNTCA9ICc8c3R5bGUg
c2NvcGVkPmRpdiB7IGJvcmRlcjogMXB4IHNvbGlkIHJlZCB9PC9zdHlsZT48ZGl2PnRlc3Q8L2Rp
dj4nOwogICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZGl2KTsKIAotICAgIHZhciBvbGRl
c3RTaGFkb3cgPSBkaXYud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOworICAgIHZhciBvbGRlc3RT
aGFkb3cgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChkaXYpOwogICAgIG9sZGVzdFNoYWRvdy5pbm5l
ckhUTUwgPSAnPHNoYWRvdz48L3NoYWRvdz48ZGl2IGlkPSJvbGRlc3RTaGFkb3ciPm9sZGVzdFNo
YWRvdzwvZGl2Pic7CiAgICAgb2xkZXN0U2hhZG93LmFwcGx5QXV0aG9yU3R5bGVzID0gZmFsc2U7
CiAKLSAgICB2YXIgb2xkZXJTaGFkb3cgPSAgZGl2LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsK
KyAgICB2YXIgb2xkZXJTaGFkb3cgPSAgbmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2KTsKICAgICBv
bGRlclNoYWRvdy5pbm5lckhUTUwgPSAnPHN0eWxlIHNjb3BlZD5kaXYgeyBib3JkZXI6IDFweCBz
b2xpZCBibHVlIH08L3N0eWxlPjxzaGFkb3c+PC9zaGFkb3c+PGRpdiBpZD0ib2xkZXJTaGFkb3ci
Pm9sZGVyU2hhZG93PC9kaXY+JzsKICAgICBvbGRlclNoYWRvdy5hcHBseUF1dGhvclN0eWxlcyA9
IGZhbHNlOwogCi0gICAgdmFyIHNoYWRvdyA9IGRpdi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7
CisgICAgdmFyIHNoYWRvdyA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGRpdik7CiAgICAgc2hhZG93
LmlubmVySFRNTCA9ICc8c2hhZG93Pjwvc2hhZG93PjxkaXYgaWQ9InRhcmdldCI+c2hhZG93PC9k
aXY+JzsKICAgICBzaGFkb3cuYXBwbHlBdXRob3JTdHlsZXMgPSBmYWxzZTsKIApAQCAtMTg0LDE1
ICsxODYsMTUgQEAgZnVuY3Rpb24gdGVzdE9yZGVyT2ZBcHBseVN0eWxlKCkKICAgICBkaXYuaW5u
ZXJIVE1MID0gJzxzdHlsZSBzY29wZWQ+ZGl2IHsgYm9yZGVyOiAxcHggc29saWQgcmVkIH08L3N0
eWxlPjxkaXYgaWQ9Imhvc3QiPjwvZGl2Pic7CiAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZChkaXYpOwogCi0gICAgdmFyIG91dGVyTW9zdFNoYWRvdyA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJob3N0Iikud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOworICAgIHZhciBvdXRlck1vc3RT
aGFkb3cgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaG9z
dCIpKTsKICAgICBvdXRlck1vc3RTaGFkb3cuaW5uZXJIVE1MID0gJzxzdHlsZT5kaXYgeyBib3Jk
ZXI6IDFweCBzb2xpZCBibHVlOyB9PC9zdHlsZT48ZGl2IGlkPSJvdXRlck1vc3QiPm91dGVyTW9z
dDwvZGl2Pic7CiAgICAgb3V0ZXJNb3N0U2hhZG93LmFwcGx5QXV0aG9yU3R5bGVzID0gdHJ1ZTsK
IAotICAgIHZhciBvdXRlclNoYWRvdyA9IG91dGVyTW9zdFNoYWRvdy5nZXRFbGVtZW50QnlJZCgi
b3V0ZXJNb3N0Iikud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOworICAgIHZhciBvdXRlclNoYWRv
dyA9IG5ldyBXZWJLaXRTaGFkb3dSb290KG91dGVyTW9zdFNoYWRvdy5nZXRFbGVtZW50QnlJZCgi
b3V0ZXJNb3N0IikpOwogICAgIG91dGVyU2hhZG93LmlubmVySFRNTCA9ICc8c3R5bGU+ZGl2IHsg
Ym9yZGVyOiAxcHggc29saWQgZ3JlZW47IH08L3N0eWxlPjxkaXYgaWQ9Im91dGVyIj5vdXRlcjwv
ZGl2Pic7CiAgICAgb3V0ZXJTaGFkb3cuYXBwbHlBdXRob3JTdHlsZXMgPSB0cnVlOwogCi0gICAg
dmFyIHNoYWRvdyA9IG91dGVyU2hhZG93LmdldEVsZW1lbnRCeUlkKCJvdXRlciIpLndlYmtpdENy
ZWF0ZVNoYWRvd1Jvb3QoKTsKKyAgICB2YXIgc2hhZG93ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qo
b3V0ZXJTaGFkb3cuZ2V0RWxlbWVudEJ5SWQoIm91dGVyIikpOwogICAgIHNoYWRvdy5pbm5lckhU
TUwgPSAnPHN0eWxlPmRpdiB7IGJvcmRlcjogMXB4IHNvbGlkIHllbGxvdzsgfTwvc3R5bGU+PGRp
diBpZD0idGFyZ2V0Ij50YXJnZXQ8L2Rpdj4nOwogICAgIHNoYWRvdy5hcHBseUF1dGhvclN0eWxl
cyA9IHRydWU7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL3N0eWxlLXNjb3Bl
ZC9zdHlsZS1zY29wZWQtY2hhbmdlLXNjb3BlZC1pbi1zaGFkb3ctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZmFzdC9jc3Mvc3R5bGUtc2NvcGVkL3N0eWxlLXNjb3BlZC1jaGFuZ2Utc2NvcGVk
LWluLXNoYWRvdy1leHBlY3RlZC50eHQKaW5kZXggNjhmNDQyYmY1ZDIyMDQwZjEzNjZiNmM3M2Y2
YjYwNDM0NjE2NTQ0YS4uYzk2NmFiMWEyYWViMzhhZTU0MzY1MTk4YWMwMjYxYzBkNmRmNjgxOCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jc3Mvc3R5bGUtc2NvcGVkL3N0eWxlLXNjb3Bl
ZC1jaGFuZ2Utc2NvcGVkLWluLXNoYWRvdy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9jc3Mvc3R5bGUtc2NvcGVkL3N0eWxlLXNjb3BlZC1jaGFuZ2Utc2NvcGVkLWluLXNoYWRv
dy1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw2IEBACiBQQVNTIHdpbmRvdy5pbnRlcm5hbHMgaXMg
ZGVmaW5lZC4KK1BBU1Mgd2luZG93LmludGVybmFscy5lbnN1cmVTaGFkb3dSb290IGlzIGRlZmlu
ZWQuCitQQVNTIFdlYktpdFNoYWRvd1Jvb3QgaXMgZGVmaW5lZC4KIFBBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9jc3Mvc3R5bGUtc2NvcGVkL3N0eWxlLXNjb3BlZC1jaGFuZ2Utc2NvcGVkLWluLXNoYWRv
dy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3Mvc3R5bGUtc2NvcGVkL3N0eWxlLXNjb3BlZC1j
aGFuZ2Utc2NvcGVkLWluLXNoYWRvdy5odG1sCmluZGV4IDk1ZmU1ZWZhNmYwMGM1OTBlMzA3OTAw
MDNjOTkzYTA5MWM0NDFlOWQuLjFhN2E5MmE1NjE5MjhmYTA0ZDgxMDRhZDY1NmIzZWNjYTcxMDM3
NDAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL3N0eWxlLXNjb3BlZC9zdHlsZS1z
Y29wZWQtY2hhbmdlLXNjb3BlZC1pbi1zaGFkb3cuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2Nzcy9zdHlsZS1zY29wZWQvc3R5bGUtc2NvcGVkLWNoYW5nZS1zY29wZWQtaW4tc2hhZG93Lmh0
bWwKQEAgLTgsNiArOCw4IEBAIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB0ZXN0UnVubmVy
LmR1bXBBc1RleHQoKTsKIAogc2hvdWxkQmVEZWZpbmVkKCJ3aW5kb3cuaW50ZXJuYWxzIik7Citz
aG91bGRCZURlZmluZWQoIndpbmRvdy5pbnRlcm5hbHMuZW5zdXJlU2hhZG93Um9vdCIpOworc2hv
dWxkQmVEZWZpbmVkKCJXZWJLaXRTaGFkb3dSb290Iik7CiAKIGZ1bmN0aW9uIGR1bXBDb21wdXRl
ZFN0eWxlKG5vZGUpCiB7CkBAIC0xOSw3ICsyMSw3IEBAIGZ1bmN0aW9uIHRlc3RTY29wZWRTdHls
ZUluU2hhZG93KCkKICAgICBkZWJ1ZygidGVzdCBhIHNjb3BlZCBzdHlsZSBpbiBzaGFkb3cgc3Vi
dHJlZS4iKTsKICAgICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CiAg
ICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkaXYpOwotICAgIHZhciBzaGFkb3cgPSBkaXYu
d2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOworICAgIHZhciBzaGFkb3cgPSBuZXcgV2ViS2l0U2hh
ZG93Um9vdChkaXYpOwogICAgIHNoYWRvdy5pbm5lckhUTUwgPSAiPGRpdj48c3R5bGUgc2NvcGVk
PmRpdiB7IGNvbG9yOiByZWQ7IH08L3N0eWxlPjxkaXYgaWQ9J0UnPkVFRTwvZGl2PjwvZGl2Pjxk
aXYgaWQ9J0YnPkZGRjwvZGl2PiI7CiAgICAgZG9jdW1lbnQuYm9keS5vZmZzZXRMZWZ0OwogCkBA
IC0zMyw3ICszNSw3IEBAIGZ1bmN0aW9uIHRlc3RTdHlsZUluU2hhZG93KCkKICAgICBkZWJ1Zygi
dGVzdCBhIHN0eWxlIGluIHNoYWRvdyBzdWJ0cmVlLiIpOwogICAgIHZhciBkaXYgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRp
dik7Ci0gICAgdmFyIHNoYWRvdyA9IGRpdi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CisgICAg
dmFyIHNoYWRvdyA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGRpdik7CiAgICAgc2hhZG93LmlubmVy
SFRNTCA9ICI8ZGl2PjxkaXYgaWQ9J0UnPkVFRTwvZGl2PjxzdHlsZT5kaXYgeyBjb2xvcjogcmVk
OyB9PC9zdHlsZT48L2Rpdj48ZGl2IGlkPSdGJz5GRkY8L2Rpdj4iOwogICAgIGRvY3VtZW50LmJv
ZHkub2Zmc2V0TGVmdDsKIApAQCAtNDcsMTAgKzQ5LDEwIEBAIGZ1bmN0aW9uIHRlc3RTdHlsZUlu
TXVsdGlwbGVTaGFkb3coKQogICAgIGRlYnVnKCJ0ZXN0IHN0eWxlcyBpbiBtdWx0aXBsZSBzaGFk
b3cgc3VidHJlZXMuIik7CiAgICAgdmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRp
diIpOwogCi0gICAgdmFyIHNoYWRvdzEgPSBkaXYud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwor
ICAgIHZhciBzaGFkb3cxID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2KTsKICAgICBzaGFkb3cx
LmlubmVySFRNTCA9ICI8ZGl2PjxzdHlsZT5kaXYgeyBjb2xvcjogcmVkOyB9PC9zdHlsZT48ZGl2
IGlkPSdFJz5FRUU8L2Rpdj48L2Rpdj48ZGl2IGlkPSdGJz5GRkY8L2Rpdj4iOwogCi0gICAgdmFy
IHNoYWRvdzIgPSBkaXYud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOworICAgIHZhciBzaGFkb3cy
ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2KTsKICAgICBzaGFkb3cyLmlubmVySFRNTCA9ICI8
ZGl2PjxzdHlsZSBzY29wZWQ+ZGl2IHsgY29sb3I6IGJsdWUgfTwvc3R5bGU+PHNoYWRvdz48L3No
YWRvdz48ZGl2IGlkPSdHJz5HR0c8L2Rpdj48L2Rpdj4iOwogCiAgICAgZG9jdW1lbnQuYm9keS5h
cHBlbmRDaGlsZChkaXYpOwpAQCAtNjcsMTAgKzY5LDEwIEBAIGZ1bmN0aW9uIHRlc3RTY29wZWRT
dHlsZUluTmVzdGVkU2hhZG93KCkKICAgICBkZWJ1ZygidGVzdCBhIHNjb3BlZCBzdHlsZSBpbiBu
ZXN0ZWQgc2hhZG93IHN1YnRyZWUuIik7CiAgICAgdmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoImRpdiIpOwogICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZGl2KTsKLSAgICB2
YXIgc2hhZG93MSA9IGRpdi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CisgICAgdmFyIHNoYWRv
dzEgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChkaXYpOwogICAgIHNoYWRvdzEuaW5uZXJIVE1MID0g
IjxkaXY+PHN0eWxlIHNjb3BlZD5kaXYgeyBjb2xvcjogcmVkOyB9PC9zdHlsZT48ZGl2IGlkPSdF
Jz5FRUU8L2Rpdj48L2Rpdj48ZGl2IGlkPSdGJz5GRkY8L2Rpdj4iOwogICAgIHZhciBlID0gc2hh
ZG93MS5nZXRFbGVtZW50QnlJZCgiRSIpOwotICAgIHZhciBzaGFkb3cyID0gZS53ZWJraXRDcmVh
dGVTaGFkb3dSb290KCk7CisgICAgdmFyIHNoYWRvdzIgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChl
KTsKICAgICBzaGFkb3cyLmlubmVySFRNTCA9ICI8ZGl2PjxzdHlsZSBzY29wZWQ+ZGl2IHsgY29s
b3I6IGJsdWU7IH08L3N0eWxlPjxkaXYgaWQ9J0cnPkdHR0c8L2Rpdj48L2Rpdj48ZGl2IGlkPSdI
Jz5ISEhIPC9kaXY+IjsKICAgICBkb2N1bWVudC5ib2R5Lm9mZnNldExlZnQ7CiAKQEAgLTg2LDEw
ICs4OCwxMCBAQCBmdW5jdGlvbiB0ZXN0U3R5bGVJbk5lc3RlZFNoYWRvdygpCiAgICAgZGVidWco
InRlc3QgYSBzdHlsZSBpbiBuZXN0ZWQgc2hhZG93IHN1YnRyZWUuIik7CiAgICAgdmFyIGRpdiA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwogICAgIGRvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQoZGl2KTsKLSAgICB2YXIgc2hhZG93MSA9IGRpdi53ZWJraXRDcmVhdGVTaGFkb3dSb290
KCk7CisgICAgdmFyIHNoYWRvdzEgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChkaXYpOwogICAgIHNo
YWRvdzEuaW5uZXJIVE1MID0gIjxkaXY+PHN0eWxlPmRpdiB7IGNvbG9yOiByZWQ7IH08L3N0eWxl
PjxkaXYgaWQ9J0UnPkVFRTwvZGl2PjwvZGl2PjxkaXYgaWQ9J0YnPkZGRjwvZGl2PiI7CiAgICAg
dmFyIGUgPSBzaGFkb3cxLmdldEVsZW1lbnRCeUlkKCJFIik7Ci0gICAgdmFyIHNoYWRvdzIgPSBl
LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKKyAgICB2YXIgc2hhZG93MiA9IG5ldyBXZWJLaXRT
aGFkb3dSb290KGUpOwogICAgIHNoYWRvdzIuaW5uZXJIVE1MID0gIjxkaXY+PHN0eWxlPmRpdiB7
IGNvbG9yOiBibHVlOyB9PC9zdHlsZT48ZGl2IGlkPSdHJz5HR0dHPC9kaXY+PC9kaXY+PGRpdiBp
ZD0nSCc+SEhISDwvZGl2PiI7CiAgICAgZG9jdW1lbnQuYm9keS5vZmZzZXRMZWZ0OwogCkBAIC0x
MDUsNyArMTA3LDcgQEAgZnVuY3Rpb24gdGVzdENoYW5nZVNjb3BlZFRvU2NvcGVkKCkKICAgICBk
ZWJ1ZygidGVzdCBjaGFuZ2luZyBhIHN0eWxlIGluIHNoYWRvdyBzdWJ0cmVlIGZyb20gc2NvcGVk
IHRvIHNjb3BlZC4iKTsKICAgICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2
Iik7CiAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkaXYpOwotICAgIHZhciBzaGFkb3cg
PSBkaXYud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOworICAgIHZhciBzaGFkb3cgPSBuZXcgV2Vi
S2l0U2hhZG93Um9vdChkaXYpOwogICAgIHNoYWRvdy5pbm5lckhUTUwgPSAiPGRpdj48c3R5bGUg
c2NvcGVkIGlkPSdzdHlsZS1pbi1zaGFkb3cnPmRpdiB7IGNvbG9yOiByZWQ7IH08L3N0eWxlPjxk
aXYgaWQ9J0UnPkVFRTwvZGl2PjwvZGl2PjxkaXYgaWQ9J0YnPkZGRjwvZGl2PiI7CiAgICAgZG9j
dW1lbnQuYm9keS5vZmZzZXRMZWZ0OwogCkBAIC0xMjcsNyArMTI5LDcgQEAgZnVuY3Rpb24gdGVz
dENoYW5nZVNjb3BlZFRvTm90U2NvcGVkKCkKICAgICBkZWJ1ZygidGVzdCBjaGFuZ2luZyBhIHN0
eWxlIGluIHNoYWRvdyBzdWJ0cmVlIGZyb20gc2NvcGVkIHRvIG5vdC1zY29wZWQuIik7CiAgICAg
dmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwogICAgIGRvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQoZGl2KTsKLSAgICB2YXIgc2hhZG93ID0gZGl2LndlYmtpdENyZWF0ZVNo
YWRvd1Jvb3QoKTsKKyAgICB2YXIgc2hhZG93ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2KTsK
ICAgICBzaGFkb3cuaW5uZXJIVE1MID0gIjxkaXY+PHN0eWxlIHNjb3BlZCBpZD0nc3R5bGUtaW4t
c2hhZG93Jz5kaXYgeyBjb2xvcjogcmVkOyB9PC9zdHlsZT48ZGl2IGlkPSdFJz5FRUU8L2Rpdj48
L2Rpdj48ZGl2IGlkPSdGJz5GRkY8L2Rpdj4iOwogICAgIGRvY3VtZW50LmJvZHkub2Zmc2V0TGVm
dDsKIApAQCAtMTQ5LDcgKzE1MSw3IEBAIGZ1bmN0aW9uIHRlc3RDaGFuZ2VOb3RTY29wZWRUb1Nj
b3BlZCgpCiAgICAgZGVidWcoInRlc3QgY2hhbmdpbmcgYSBzdHlsZSBpbiBzaGFkb3cgc3VidHJl
ZSBmcm9tIG5vdC1zY29wZWQgdG8gc2NvcGVkLiIpOwogICAgIHZhciBkaXYgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJkaXYiKTsKICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRpdik7
Ci0gICAgdmFyIHNoYWRvdyA9IGRpdi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CisgICAgdmFy
IHNoYWRvdyA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGRpdik7CiAgICAgc2hhZG93LmlubmVySFRN
TCA9ICI8ZGl2PjxzdHlsZSBpZD0nc3R5bGUtaW4tc2hhZG93Jz5kaXYgeyBjb2xvcjogcmVkOyB9
PC9zdHlsZT48ZGl2IGlkPSdFJz5FRUU8L2Rpdj48L2Rpdj48ZGl2IGlkPSdGJz5GRkY8L2Rpdj4i
OwogICAgIGRvY3VtZW50LmJvZHkub2Zmc2V0TGVmdDsKIApAQCAtMTcxLDcgKzE3Myw3IEBAIGZ1
bmN0aW9uIHRlc3RSZW1vdmVTY29wZWRTdHlsZUZyb21Eb2N1bWVudCgpCiAgICAgZGVidWcoInRl
c3QgcmVtb3ZpbmcgYSBzY29wZWQgc3R5bGUgZnJvbSBzaGFkb3cgc3VidHJlZS4iKTsKICAgICB2
YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CiAgICAgZG9jdW1lbnQuYm9k
eS5hcHBlbmRDaGlsZChkaXYpOwotICAgIHZhciBzaGFkb3cgPSBkaXYud2Via2l0Q3JlYXRlU2hh
ZG93Um9vdCgpOworICAgIHZhciBzaGFkb3cgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChkaXYpOwog
ICAgIHNoYWRvdy5pbm5lckhUTUwgPSAiPGRpdj48c3R5bGUgc2NvcGVkIGlkPSdzdHlsZS1pbi1z
aGFkb3cnPmRpdiB7IGNvbG9yOiByZWQ7IH08L3N0eWxlPjxkaXYgaWQ9J0UnPkVFRTwvZGl2Pjwv
ZGl2PjxkaXYgaWQ9J0YnPkZGRjwvZGl2PiI7CiAgICAgZG9jdW1lbnQuYm9keS5vZmZzZXRMZWZ0
OwogCkBAIC0xOTQsNyArMTk2LDcgQEAgZnVuY3Rpb24gdGVzdFJlbW92ZVN0eWxlRnJvbURvY3Vt
ZW50KCkKICAgICBkZWJ1ZygidGVzdCByZW1vdmluZyBhIHN0eWxlIGZyb20gc2hhZG93IHN1YnRy
ZWUuIik7CiAgICAgdmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwogICAg
IGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZGl2KTsKLSAgICB2YXIgc2hhZG93ID0gZGl2Lndl
YmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKKyAgICB2YXIgc2hhZG93ID0gbmV3IFdlYktpdFNoYWRv
d1Jvb3QoZGl2KTsKICAgICBzaGFkb3cuaW5uZXJIVE1MID0gIjxkaXY+PHN0eWxlIGlkPSdzdHls
ZS1pbi1zaGFkb3cnPmRpdiB7IGNvbG9yOiByZWQ7IH08L3N0eWxlPjxkaXYgaWQ9J0UnPkVFRTwv
ZGl2PjwvZGl2PjxkaXYgaWQ9J0YnPkZGRjwvZGl2PiI7CiAgICAgZG9jdW1lbnQuYm9keS5vZmZz
ZXRMZWZ0OwogCkBAIC0yMTcsNyArMjE5LDcgQEAgZnVuY3Rpb24gdGVzdEluc2VydFNjb3BlZFN0
eWxlSW50b0RvY3VtZW50KCkKICAgICBkZWJ1ZygidGVzdCBpbnNlcnRpbmcgYSBzY29wZWQgc3R5
bGUgaW50byBzaGFkb3cgc3VidHJlZS4iKTsKICAgICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgiZGl2Iik7CiAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkaXYpOwotICAg
IHZhciBzaGFkb3cgPSBkaXYud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOworICAgIHZhciBzaGFk
b3cgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChkaXYpOwogICAgIHNoYWRvdy5pbm5lckhUTUwgPSAi
PGRpdj48ZGl2IGlkPSdFJz5FRUU8L2Rpdj48L2Rpdj48ZGl2IGlkPSdGJz5GRkY8L2Rpdj4iOwog
ICAgIGRvY3VtZW50LmJvZHkub2Zmc2V0TGVmdDsKIApAQCAtMjM3LDcgKzIzOSw3IEBAIGZ1bmN0
aW9uIHRlc3RJbnNlcnRTdHlsZUludG9Eb2N1bWVudCgpCiAgICAgZGVidWcoInRlc3QgaW5zZXJ0
aW5nIGEgc3R5bGUgaW50byBzaGFkb3cgc3VidHJlZS4iKTsKICAgICB2YXIgZGl2ID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CiAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChk
aXYpOwotICAgIHZhciBzaGFkb3cgPSBkaXYud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOworICAg
IHZhciBzaGFkb3cgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChkaXYpOwogICAgIHNoYWRvdy5pbm5l
ckhUTUwgPSAiPGRpdj48ZGl2IGlkPSdFJz5FRUU8L2Rpdj48L2Rpdj48ZGl2IGlkPSdGJz5GRkY8
L2Rpdj4iOwogICAgIGRvY3VtZW50LmJvZHkub2Zmc2V0TGVmdDsKIApAQCAtMjU2LDcgKzI1OCw3
IEBAIGZ1bmN0aW9uIHRlc3RDaGFuZ2VTY29wZWRUb05vdFNjb3BlZE5vdEluRG9jdW1lbnQoKQog
ICAgIGRlYnVnKCJ0ZXN0IHJlLWluc2VydGluZyBhIHN0eWxlIGFmdGVyIGNoYW5naW5nIHNjb3Bl
ZCB0byBub3Qgc2NvcGVkIG9mZmxpbmUuIik7CiAgICAgdmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoImRpdiIpOwogICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZGl2KTsKLSAg
ICB2YXIgc2hhZG93ID0gZGl2LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKKyAgICB2YXIgc2hh
ZG93ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2KTsKICAgICBzaGFkb3cuaW5uZXJIVE1MID0g
IjxkaXY+PHN0eWxlIHNjb3BlZCBpZD0nc3R5bGUtaW4tc2hhZG93Jz5kaXYgeyBjb2xvcjogcmVk
OyB9PC9zdHlsZT48ZGl2IGlkPSdFJz5FRUU8L2Rpdj48L2Rpdj48ZGl2IGlkPSdGJz5GRkY8L2Rp
dj4iOwogICAgIGRvY3VtZW50LmJvZHkub2Zmc2V0TGVmdDsKIApAQCAtMjc2LDcgKzI3OCw3IEBA
IGZ1bmN0aW9uIHRlc3RDaGFuZ2VOb3RTY29wZWRUb1Njb3BlZE5vdEluRG9jdW1lbnQoKQogICAg
IGRlYnVnKCJ0ZXN0IHJlLWluc2VydGluZyBhIHN0eWxlIGFmdGVyIGNoYW5naW5nIG5vdCBzY29w
ZWQgdG8gc2NvcGVkIG9mZmxpbmUuIik7CiAgICAgdmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoImRpdiIpOwogICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZGl2KTsKLSAgICB2
YXIgc2hhZG93ID0gZGl2LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKKyAgICB2YXIgc2hhZG93
ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2KTsKICAgICBzaGFkb3cuaW5uZXJIVE1MID0gIjxk
aXY+PHN0eWxlIGlkPSdzdHlsZS1pbi1zaGFkb3cnPmRpdiB7IGNvbG9yOiByZWQ7IH08L3N0eWxl
PjxkaXYgaWQ9J0UnPkVFRTwvZGl2PjwvZGl2PjxkaXYgaWQ9J0YnPkZGRjwvZGl2PiI7CiAgICAg
ZG9jdW1lbnQuYm9keS5vZmZzZXRMZWZ0OwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2Nzcy9zdHlsZS1zY29wZWQvc3R5bGUtc2NvcGVkLWluLXNoYWRvdy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9mYXN0L2Nzcy9zdHlsZS1zY29wZWQvc3R5bGUtc2NvcGVkLWluLXNoYWRvdy1l
eHBlY3RlZC50eHQKaW5kZXggMjRhZWIyZDQ5OWZiYWU3MTIzZjdiMDYxYTE3MDJiYmFmMmI1NTQ0
Ni4uZDVhOGMyZjBkMjIwMzNhZjVlOWRhOTcyODU3NmI3MmM3OGYzMzI0NyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC9jc3Mvc3R5bGUtc2NvcGVkL3N0eWxlLXNjb3BlZC1pbi1zaGFkb3ct
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL3N0eWxlLXNjb3BlZC9zdHls
ZS1zY29wZWQtaW4tc2hhZG93LWV4cGVjdGVkLnR4dApAQCAtMSw1ICsxLDggQEAKIFRlc3RzIHRo
YXQKIAorUEFTUyB3aW5kb3cuaW50ZXJuYWxzIGlzIGRlZmluZWQuCitQQVNTIHdpbmRvdy5pbnRl
cm5hbHMuZW5zdXJlU2hhZG93Um9vdCBpcyBkZWZpbmVkLgorUEFTUyBXZWJLaXRTaGFkb3dSb290
IGlzIGRlZmluZWQuCiBQQVNTIHNoYWRvdy5pbm5lckhUTUwgaXMgZGVmaW5lZC4KIFBBU1Mgc2hh
ZG93LmdldEVsZW1lbnRCeUlkIGlzIGRlZmluZWQuCiBBOiByZ2IoMCwgMCwgMCkKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL3N0eWxlLXNjb3BlZC9zdHlsZS1zY29wZWQtaW4tc2hh
ZG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9zdHlsZS1zY29wZWQvc3R5bGUtc2NvcGVk
LWluLXNoYWRvdy5odG1sCmluZGV4IGQ3YzEyYTI0ODIwMTJkNDA4NTRhY2YxMzM5NDk0OWNhNTkz
NGVhODIuLjlhZGRlM2Q3NzllZGZlYWM4OTc1NGVhNDM2ZTk5NzBhN2E4NDBhZTAgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL3N0eWxlLXNjb3BlZC9zdHlsZS1zY29wZWQtaW4tc2hh
ZG93Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3Mvc3R5bGUtc2NvcGVkL3N0eWxlLXNj
b3BlZC1pbi1zaGFkb3cuaHRtbApAQCAtMTAsOSArMTAsMTMgQEAKICAgICAgICAgaWYgKHdpbmRv
dy50ZXN0UnVubmVyKQogICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAKKyAg
ICAgICAgc2hvdWxkQmVEZWZpbmVkKCJ3aW5kb3cuaW50ZXJuYWxzIik7CisgICAgICAgIHNob3Vs
ZEJlRGVmaW5lZCgid2luZG93LmludGVybmFscy5lbnN1cmVTaGFkb3dSb290Iik7CisgICAgICAg
IHNob3VsZEJlRGVmaW5lZCgiV2ViS2l0U2hhZG93Um9vdCIpOworCiAgICAgICAgIHZhciBhID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIkEiKTsKICAgICAgICAgdmFyIGIgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiQiIpOwotICAgICAgICBzaGFkb3cgPSBiLndlYmtpdENyZWF0ZVNoYWRv
d1Jvb3QoKTsKKyAgICAgICAgc2hhZG93ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoYik7CiAgICAg
ICAgIHNob3VsZEJlRGVmaW5lZCgic2hhZG93LmlubmVySFRNTCIpOwogICAgICAgICBzaG91bGRC
ZURlZmluZWQoInNoYWRvdy5nZXRFbGVtZW50QnlJZCIpOwogICAgICAgICBzaGFkb3cuaW5uZXJI
VE1MID0gIjxzdHlsZSBzY29wZWQ+ZGl2IHsgY29sb3I6IHJlZDsgfTwvc3R5bGU+PGNvbnRlbnQ+
PC9jb250ZW50PjxkaXYgaWQ9J0MnPkNDQzwvZGl2PiI7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvYWRvcHQtbm9kZS13aXRoLXNoYWRvdy1yb290Lmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvYWRvcHQtbm9kZS13aXRoLXNoYWRvdy1yb290Lmh0bWwK
aW5kZXggODExY2FkOTFjZjRiNGRkZjAyYjQ2OTEyYWEzZGNmNTg0Y2U1YmI5MS4uMGFmNjQxYjg3
ZmRkOGM0MDcyMmQ3Zjg1NmY1NGZiZWY4ZGZiZTE4YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vc2hhZG93L2Fkb3B0LW5vZGUtd2l0aC1zaGFkb3ctcm9vdC5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9hZG9wdC1ub2RlLXdpdGgtc2hhZG93LXJvb3QuaHRt
bApAQCAtOSw3ICs5LDcgQEAKIDxzY3JpcHQ+CiBmdW5jdGlvbiB0ZXN0KCkgewogICAgIHZhciBm
b3JlaWduRG9jdW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncm9vdCcpLmNvbnRlbnRE
b2N1bWVudDsKLSAgICBzaGFkb3cgPSBmb3JlaWduRG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Mn
KS53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CisgICAgc2hhZG93ID0gbmV3IFdlYktpdFNoYWRv
d1Jvb3QoZm9yZWlnbkRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzJykpOwogICAgIHNob3VsZFRo
cm93KCJkb2N1bWVudC5hZG9wdE5vZGUoc2hhZG93KSIpOwogICAgIGxvY2F0aW9uLnJlbG9hZCgp
OwogfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2F0aG9zdC1hdHJ1
bGVzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvYXRob3N0LWF0cnVsZXMuaHRt
bAppbmRleCBhY2M1ZmRkYzI2NjYwY2VmMWQ1YzFiYmI4YjVhNGZmZmQ3ZWM2YzQ4Li43ZDRiNTEx
ZWUwMmZhOWQ3NTFlNTdlMTY5YjAwYTZkODc3ZDUzYTZkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvYXRob3N0LWF0cnVsZXMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9zaGFkb3cvYXRob3N0LWF0cnVsZXMuaHRtbApAQCAtMjQsNyArMjQsNyBAQCBmdW5j
dGlvbiB0ZXN0U2ltcGxlQ29udGVudENhc2UoKQogewogICAgIHByZXByb2Nlc3NGb3JUZXN0KCk7
CiAgICAgdmFyIGhvc3QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaG9zdCIpOwotICAgIHZh
ciBzaGFkb3cgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKKyAgICB2YXIgc2hhZG93
ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7CiAgICAgc2hhZG93LmlubmVySFRNTCA9ICI8
c3R5bGU+QGhvc3QgeyBkaXYgeyBjb2xvcjogcmVkOyB9IH08L3N0eWxlPjxjb250ZW50PjwvY29u
dGVudD4iOwogICAgIGR1bXBDb21wdXRlZFN0eWxlKGhvc3QpOwogfQpAQCAtMzMsNyArMzMsNyBA
QCBmdW5jdGlvbiB0ZXN0U2ltcGxlU2hhZG93Q2FzZSgpCiB7CiAgICAgcHJlcHJvY2Vzc0ZvclRl
c3QoKTsKICAgICB2YXIgaG9zdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJob3N0Iik7Ci0g
ICAgdmFyIHNoYWRvdyA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOworICAgIHZhciBz
aGFkb3cgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKICAgICBzaGFkb3cuaW5uZXJIVE1M
ID0gIjxzdHlsZT5AaG9zdCB7IGRpdiB7IGNvbG9yOiByZWQ7IH0gfTwvc3R5bGU+PHNoYWRvdz48
L3NoYWRvdz4iOwogICAgIGR1bXBDb21wdXRlZFN0eWxlKGhvc3QpOwogfQpAQCAtNDYsMTIgKzQ2
LDEyIEBAIGZ1bmN0aW9uIHRlc3RIb3N0V2l0aFNlbGVjdG9yKCkKICAgICAgICAgKyAiPHNwYW4g
aWQ9J2hvc3RCJyBjbGFzcz0naG9zdCc+PHNwYW4+V29ybGQ8L3NwYW4+PC9zcGFuPiI7CiAKICAg
ICB2YXIgaG9zdEEgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaG9zdEEiKTsKLSAgICB2YXIg
c2hhZG93QSA9IGhvc3RBLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKKyAgICB2YXIgc2hhZG93
QSA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3RBKTsKICAgICB2YXIgc3R5bGUgPSAiPHN0eWxl
PkBob3N0IHsgZGl2IHsgY29sb3I6IHJlZDsgfSBzcGFuIHsgY29sb3I6IGJsdWU7IH0gfTwvc3R5
bGU+IjsKICAgICBzaGFkb3dBLmlubmVySFRNTCA9IHN0eWxlICsgIjxzaGFkb3c+PC9zaGFkb3c+
IjsKIAogICAgIHZhciBob3N0QiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJob3N0QiIpOwot
ICAgIHZhciBzaGFkb3dCID0gaG9zdEIud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOworICAgIHZh
ciBzaGFkb3dCID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdEIpOwogICAgIHNoYWRvd0IuaW5u
ZXJIVE1MID0gc3R5bGUgKyAiPHNoYWRvdz48L3NoYWRvdz4iOwogCiAgICAgZHVtcENvbXB1dGVk
U3R5bGUoaG9zdEEpOwpAQCAtNjIsNyArNjIsNyBAQCBmdW5jdGlvbiB0ZXN0UHNldWRvSG9zdFdp
dGhTY29wZWQoKQogewogICAgIHByZXByb2Nlc3NGb3JUZXN0KCk7CiAgICAgdmFyIGhvc3QgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaG9zdCIpOwotICAgIHZhciBzaGFkb3cgPSBob3N0Lndl
YmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKKyAgICB2YXIgc2hhZG93ID0gbmV3IFdlYktpdFNoYWRv
d1Jvb3QoaG9zdCk7CiAgICAgc2hhZG93LmlubmVySFRNTCA9ICI8ZGl2PjxzdHlsZSBzY29wZWQ+
QGhvc3QgeyBkaXYgeyBjb2xvcjogcmVkOyB9IH08L3N0eWxlPjxzaGFkb3c+PC9zaGFkb3c+PGRp
dj48c3R5bGUgc2NvcGVkPkBob3N0IHsgZGl2IHsgY29sb3I6IGJsdWU7IH0gfTwvc3R5bGU+PC9k
aXY+PC9kaXY+IjsKICAgICBkdW1wQ29tcHV0ZWRTdHlsZShob3N0KTsKIH0KQEAgLTcxLDggKzcx
LDggQEAgZnVuY3Rpb24gdGVzdFBzZXVkb0hvc3RXaXRoRmFsbGJhY2tTaGFkb3coKQogewogICAg
IHByZXByb2Nlc3NGb3JUZXN0KCk7CiAgICAgdmFyIGhvc3QgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiaG9zdCIpOwotICAgIHZhciBvbGRlc3RTaGFkb3cgPSBob3N0LndlYmtpdENyZWF0ZVNo
YWRvd1Jvb3QoKTsKLSAgICB2YXIgeW91bmdlc3RTaGFkb3cgPSBob3N0LndlYmtpdENyZWF0ZVNo
YWRvd1Jvb3QoKTsKKyAgICB2YXIgb2xkZXN0U2hhZG93ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qo
aG9zdCk7CisgICAgdmFyIHlvdW5nZXN0U2hhZG93ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9z
dCk7CiAgICAgb2xkZXN0U2hhZG93LmlubmVySFRNTCA9ICI8c3R5bGU+QGhvc3QgeyBkaXYgeyBj
b2xvcjogcmVkOyB9IH08L3N0eWxlPjxjb250ZW50PjwvY29udGVudD4iOwogICAgIHlvdW5nZXN0
U2hhZG93LmlubmVySFRNTCA9ICI8Y29udGVudD48c2hhZG93Pjwvc2hhZG93PjwvY29udGVudD4i
OwogICAgIGR1bXBDb21wdXRlZFN0eWxlKGhvc3QpOwpAQCAtODIsOCArODIsOCBAQCBmdW5jdGlv
biB0ZXN0VHdvU2hhZG93Um9vdHNDYXNlKCkKIHsKICAgICBwcmVwcm9jZXNzRm9yVGVzdCgpOwog
ICAgIHZhciBob3N0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImhvc3QiKTsKLSAgICB2YXIg
b2xkZXN0U2hhZG93ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7Ci0gICAgdmFyIHlv
dW5nZXN0U2hhZG93ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CisgICAgdmFyIG9s
ZGVzdFNoYWRvdyA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOworICAgIHZhciB5b3VuZ2Vz
dFNoYWRvdyA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwogICAgIG9sZGVzdFNoYWRvdy5p
bm5lckhUTUwgPSAiPHN0eWxlPkBob3N0IHsgZGl2IHsgY29sb3I6IHJlZDsgfSB9PC9zdHlsZT48
Y29udGVudD48L2NvbnRlbnQ+IjsKICAgICB5b3VuZ2VzdFNoYWRvdy5pbm5lckhUTUwgPSAiPHN0
eWxlPkBob3N0IHsgZGl2IHsgY29sb3I6IGJsdWU7IH0gfTwvc3R5bGU+PHNoYWRvdz48L3NoYWRv
dz4iOwogICAgIGR1bXBDb21wdXRlZFN0eWxlKGhvc3QpOwpAQCAtOTMsOCArOTMsOCBAQCBmdW5j
dGlvbiB0ZXN0VHdvU2hhZG93Um9vdHNDcmVhdGluZ0RpZmZlcmVudE9yZGVyQ2FzZSgpCiB7CiAg
ICAgcHJlcHJvY2Vzc0ZvclRlc3QoKTsKICAgICB2YXIgaG9zdCA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJob3N0Iik7Ci0gICAgdmFyIG9sZGVzdFNoYWRvdyA9IGhvc3Qud2Via2l0Q3JlYXRl
U2hhZG93Um9vdCgpOwotICAgIHZhciB5b3VuZ2VzdFNoYWRvdyA9IGhvc3Qud2Via2l0Q3JlYXRl
U2hhZG93Um9vdCgpOworICAgIHZhciBvbGRlc3RTaGFkb3cgPSBuZXcgV2ViS2l0U2hhZG93Um9v
dChob3N0KTsKKyAgICB2YXIgeW91bmdlc3RTaGFkb3cgPSBuZXcgV2ViS2l0U2hhZG93Um9vdCho
b3N0KTsKICAgICB5b3VuZ2VzdFNoYWRvdy5pbm5lckhUTUwgPSAiPHN0eWxlPkBob3N0IHsgZGl2
IHsgY29sb3I6IGJsdWU7IH0gfTwvc3R5bGU+PHNoYWRvdz48L3NoYWRvdz4iOwogICAgIG9sZGVz
dFNoYWRvdy5pbm5lckhUTUwgPSAiPHN0eWxlPkBob3N0IHsgZGl2IHsgY29sb3I6IHJlZDsgfSB9
PC9zdHlsZT48Y29udGVudD48L2NvbnRlbnQ+IjsKICAgICBkdW1wQ29tcHV0ZWRTdHlsZShob3N0
KTsKQEAgLTEwNCwxMCArMTA0LDEwIEBAIGZ1bmN0aW9uIHRlc3RNdWx0aXBsZVNoYWRvd1Jvb3Rz
V2l0aEluZXJ0U2hhZG93Q29udGVudCgpCiB7CiAgICAgcHJlcHJvY2Vzc0ZvclRlc3QoKTsKICAg
ICB2YXIgaG9zdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJob3N0Iik7Ci0gICAgdmFyIG9s
ZGVzdFNoYWRvdyA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwotICAgIHZhciBvbGRl
clNoYWRvdyA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwotICAgIHZhciB5b3VuZ2Vy
U2hhZG93ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7Ci0gICAgdmFyIHlvdW5nZXN0
U2hhZG93ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CisgICAgdmFyIG9sZGVzdFNo
YWRvdyA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOworICAgIHZhciBvbGRlclNoYWRvdyA9
IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOworICAgIHZhciB5b3VuZ2VyU2hhZG93ID0gbmV3
IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7CisgICAgdmFyIHlvdW5nZXN0U2hhZG93ID0gbmV3IFdl
YktpdFNoYWRvd1Jvb3QoaG9zdCk7CiAKICAgICB5b3VuZ2VzdFNoYWRvdy5pbm5lckhUTUwgPSAi
PHNoYWRvdz48L3NoYWRvdz4iOwogICAgIHlvdW5nZXJTaGFkb3cuaW5uZXJIVE1MID0gIjxjb250
ZW50PjwvY29udGVudD4iOwpAQCAtMTIwLDEwICsxMjAsMTAgQEAgZnVuY3Rpb24gdGVzdE11bHRp
cGxlU2hhZG93Um9vdHNXaXRoSW5lcnRTaGFkb3coKQogewogICAgIHByZXByb2Nlc3NGb3JUZXN0
KCk7CiAgICAgdmFyIGhvc3QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaG9zdCIpOwotICAg
IHZhciBvbGRlc3RTaGFkb3cgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKLSAgICB2
YXIgb2xkZXJTaGFkb3cgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKLSAgICB2YXIg
eW91bmdlclNoYWRvdyA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwotICAgIHZhciB5
b3VuZ2VzdFNoYWRvdyA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOworICAgIHZhciBv
bGRlc3RTaGFkb3cgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKKyAgICB2YXIgb2xkZXJT
aGFkb3cgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKKyAgICB2YXIgeW91bmdlclNoYWRv
dyA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOworICAgIHZhciB5b3VuZ2VzdFNoYWRvdyA9
IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwogCiAgICAgeW91bmdlc3RTaGFkb3cuaW5uZXJI
VE1MID0gIjxzdHlsZT5AaG9zdCB7IGRpdiB7IGNvbG9yOiB5ZWxsb3c7IH0gfTwvc3R5bGU+PHNo
YWRvdz48L3NoYWRvdz4iOwogICAgIHlvdW5nZXJTaGFkb3cuaW5uZXJIVE1MID0gIjxzdHlsZT5A
aG9zdCB7IGRpdiB7IGNvbG9yOiBibHVlOyB9IH08L3N0eWxlPjxkaXY+aW5lcnQ8L2Rpdj4iOwpA
QCAtMTM2LDEwICsxMzYsMTAgQEAgZnVuY3Rpb24gdGVzdE5lc3RlZENhc2UoKQogewogICAgIHBy
ZXByb2Nlc3NGb3JUZXN0KCk7CiAgICAgdmFyIGhvc3QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiaG9zdCIpOwotICAgIHZhciBvdXRlclNoYWRvdyA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93
Um9vdCgpOworICAgIHZhciBvdXRlclNoYWRvdyA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3Qp
OwogICAgIG91dGVyU2hhZG93LmlubmVySFRNTCA9ICc8c3R5bGU+QGhvc3QgeyBkaXYgeyBjb2xv
cjogcmVkOyB9IH08L3N0eWxlPjxkaXYgaWQ9Im5lc3RlZEhvc3QiPklubmVyU2hhZG93PC9kaXY+
JzsKICAgICB2YXIgbmVzdGVkID0gb3V0ZXJTaGFkb3cuZ2V0RWxlbWVudEJ5SWQoIm5lc3RlZEhv
c3QiKTsKLSAgICB2YXIgaW5uZXJTaGFkb3cgPSBuZXN0ZWQud2Via2l0Q3JlYXRlU2hhZG93Um9v
dCgpOworICAgIHZhciBpbm5lclNoYWRvdyA9IG5ldyBXZWJLaXRTaGFkb3dSb290KG5lc3RlZCk7
CiAgICAgaW5uZXJTaGFkb3cuaW5uZXJIVE1MID0gJzxzdHlsZT5AaG9zdCB7IGRpdiB7IGNvbG9y
OiBibHVlOyB9IH08L3N0eWxlPlNob3cgPHNoYWRvdz48L3NoYWRvdz4gaW4gb3V0ZXIuJzsKICAg
ICBkdW1wQ29tcHV0ZWRTdHlsZShob3N0KTsKICAgICBkdW1wQ29tcHV0ZWRTdHlsZShuZXN0ZWQp
OwpAQCAtMTUwLDcgKzE1MCw3IEBAIGZ1bmN0aW9uIHRlc3RIb3N0VnNTY29wZWRTdHlsZSgpCiAg
ICAgcHJlcHJvY2Vzc0ZvclRlc3QoKTsKICAgICB2YXIgaG9zdCA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJob3N0Iik7CiAgICAgaG9zdC5pbm5lckhUTUwgPSAiPHN0eWxlIHNjb3BlZD4jaG9z
dCB7IGNvbG9yOiB5ZWxsb3c7IH08L3N0eWxlPjxzcGFuPkhlbGxvPC9zcGFuPiI7Ci0gICAgdmFy
IHNoYWRvdyA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOworICAgIHZhciBzaGFkb3cg
PSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKICAgICBzaGFkb3cuaW5uZXJIVE1MID0gIjxz
dHlsZT5AaG9zdCB7ICNob3N0IHsgY29sb3I6IHJlZDsgfSB9PC9zdHlsZT48Y29udGVudD48L2Nv
bnRlbnQ+IjsKICAgICBkdW1wQ29tcHV0ZWRTdHlsZShob3N0KTsKIH0KQEAgLTE2MSw3ICsxNjEs
NyBAQCBmdW5jdGlvbiB0ZXN0SG9zdFZzSW5saW5lU3R5bGUoKQogICAgIHZhciBob3N0ID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImhvc3QiKTsKICAgICBob3N0LnN0eWxlLmNvbG9yID0gInll
bGxvdyI7CiAgICAgaG9zdC5pbm5lckhUTUwgPSAiPHNwYW4+SGVsbG88L3NwYW4+IjsKLSAgICB2
YXIgc2hhZG93ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CisgICAgdmFyIHNoYWRv
dyA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwogICAgIHNoYWRvdy5pbm5lckhUTUwgPSAi
PHN0eWxlPkBob3N0IHsgZGl2IHsgY29sb3I6IHJlZDsgfSB9PC9zdHlsZT48Y29udGVudD48L2Nv
bnRlbnQ+IjsKICAgICBkdW1wQ29tcHV0ZWRTdHlsZShob3N0KTsKIH0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9iYXNlLWluLXNoYWRvdy10cmVlLmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvYmFzZS1pbi1zaGFkb3ctdHJlZS5odG1sCmluZGV4IGNl
Y2Y5Y2NmMmZlNTc0M2ViOGQ0ZTFlYmRiZjYyOWNkMmIxZGE3YzMuLjlkYzJkNmMxZjdlZTE0OTk1
MjYyOTdkMmU0YTY0YjdmOTYwZWY5YjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3NoYWRvdy9iYXNlLWluLXNoYWRvdy10cmVlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2hhZG93L2Jhc2UtaW4tc2hhZG93LXRyZWUuaHRtbApAQCAtMTEsNyArMTEsNyBAQAogPHNj
cmlwdD4KIHZhciBjb250YWluZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29udGFpbmVy
Jyk7CiAKLXZhciBzaGFkb3dSb290ID0gY29udGFpbmVyLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3Qo
KTsKK3ZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoY29udGFpbmVyKTsKIAog
dmFyIGJhc2UgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdiYXNlJyk7CiBiYXNlLnNldEF0dHJp
YnV0ZSgnaHJlZicsICdodHRwOi8vd3d3LmV4YW1wbGUuY29tLycpOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2NhcmV0LXJhbmdlLWZyb20tcG9pbnQtaW4tbmVzdGVk
LXNoYWRvdy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2NhcmV0LXJhbmdlLWZy
b20tcG9pbnQtaW4tbmVzdGVkLXNoYWRvdy5odG1sCmluZGV4IDgwYjE0NWQxMWFjYmUzMjczYTYx
M2MxMDVlN2NlMmJiYjA5N2JiODYuLjFlZmE5Nzg5MDRiYmY2ZDFmM2E3ZmE5NGJjZDZkODMxOWEz
ZDFlNDcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jYXJldC1yYW5n
ZS1mcm9tLXBvaW50LWluLW5lc3RlZC1zaGFkb3cuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvY2FyZXQtcmFuZ2UtZnJvbS1wb2ludC1pbi1uZXN0ZWQtc2hhZG93Lmh0bWwK
QEAgLTIzLDExICsyMywxMSBAQCBmdW5jdGlvbiBjcmVhdGVCb3gobmFtZSkgewogICAgIHJldHVy
biBkaXY7CiB9CiAKLXZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290
KCk7Cit2YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwogdmFyIGRp
diA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogc2hhZG93Um9vdC5hcHBlbmRDaGls
ZChkaXYpOwogCi12YXIgZGFya1Jvb3QgPSBkaXYud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwor
dmFyIGRhcmtSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2KTsKIHZhciBib3ggPSBjcmVh
dGVCb3goJ2RhcmsnKTsKIGRhcmtSb290LmFwcGVuZENoaWxkKGJveCk7CiAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jb250ZW50LWFmdGVyLXN0eWxlLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY29udGVudC1hZnRlci1zdHlsZS5odG1sCmluZGV4
IGYzZjI2MDRmOThiODZjMjYyN2U4MmUzYWZhM2YyODdjOTA4NjA0N2MuLjI0ZjExOTEyODA3YTM0
YmZhNzMyOWUxZDBmOTRjOTVhM2ZmOTY1NTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL3NoYWRvdy9jb250ZW50LWFmdGVyLXN0eWxlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L2NvbnRlbnQtYWZ0ZXItc3R5bGUuaHRtbApAQCAtNSw3ICs1LDcgQEAKIDxz
Y3JpcHQ+CiBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgd2luZG93LnRlc3RSdW5uZXIud2Fp
dFVudGlsRG9uZSgpOwotdmFyIHJvb3QgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjaG9zdCcp
LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKK3ZhciByb290ID0gbmV3IFdlYktpdFNoYWRvd1Jv
b3QoZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI2hvc3QnKSk7CiByb290LmlubmVySFRNTCA9ICc8
c3R5bGU+aW52YWxpZCB7IH08L3N0eWxlPicgKwogICAgICAgICAgICAgICAgICAndGV4dDxjb250
ZW50PjwvY29udGVudD4nOwogd2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY29udGVudC1lbGVtZW50LWluLW1lZGlh
LWVsZW1lbnQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jb250ZW50LWVsZW1l
bnQtaW4tbWVkaWEtZWxlbWVudC5odG1sCmluZGV4IDZiMjdhOGJlMTUwNjVkNmQ4Zjk0YTY3ODVk
NzE4NGQ4NzUwZDdmZDEuLjNiYTkyYjA5YjNhNzU3ZTIzYTQ4MzhjMTM2ZGMyZjgxYjE3MGRkYWIg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jb250ZW50LWVsZW1lbnQt
aW4tbWVkaWEtZWxlbWVudC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9j
b250ZW50LWVsZW1lbnQtaW4tbWVkaWEtZWxlbWVudC5odG1sCkBAIC0yNyw3ICsyNyw3IEBAIHRl
c3RGdW5jcy5wdXNoKGZ1bmN0aW9uIGNvbnRlbnRFbGVtZW50SW5WaWRlb0VsZW1lbnQoY2FsbElm
RG9uZSkgewogCiAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2FjdHVhbC1jb250YWluZXIn
KS5hcHBlbmRDaGlsZChkaXYpOwogCi0gICAgdmFyIHNyID0gZGl2LndlYmtpdENyZWF0ZVNoYWRv
d1Jvb3QoKTsKKyAgICB2YXIgc3IgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChkaXYpOwogCiAgICAg
dmFyIHZpZGVvID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndmlkZW8nKTsKICAgICB2YXIgY29u
dGVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NvbnRlbnQnKTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jb250ZW50LWVsZW1lbnQtaW4tbWV0ZXItZWxlbWVu
dC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2NvbnRlbnQtZWxlbWVudC1pbi1t
ZXRlci1lbGVtZW50Lmh0bWwKaW5kZXggZDllYjkxMTFmNzdkYTlkN2FmNDc5NjQwMTVjZTI2MzQy
N2E1NzQyNy4uMmYwOGEyMDc1NGM3NmMzNjA1OTA0ODU2MTQ1OWY3MTQ4ZDY1MDQxOSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2NvbnRlbnQtZWxlbWVudC1pbi1tZXRl
ci1lbGVtZW50Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2NvbnRlbnQt
ZWxlbWVudC1pbi1tZXRlci1lbGVtZW50Lmh0bWwKQEAgLTI3LDcgKzI3LDcgQEAgdGVzdEZ1bmNz
LnB1c2goZnVuY3Rpb24gY29udGVudEVsZW1lbnRJbk1ldGVyRWxlbWVudChjYWxsSWZEb25lKSB7
CiAKICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYWN0dWFsLWNvbnRhaW5lcicpLmFwcGVu
ZENoaWxkKGRpdik7CiAKLSAgICB2YXIgc3IgPSBkaXYud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgp
OworICAgIHZhciBzciA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGRpdik7CiAKICAgICB2YXIgbWV0
ZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdtZXRlcicpOwogICAgIHZhciBjb250ZW50ID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY29udGVudCcpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9kb20vc2hhZG93L2NvbnRlbnQtZWxlbWVudC1pbi1wcm9ncmVzcy1lbGVtZW50Lmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY29udGVudC1lbGVtZW50LWluLXByb2dy
ZXNzLWVsZW1lbnQuaHRtbAppbmRleCA5NmU0ZmNmYzk3MWY3N2Y0ZjFlNjA1ODkwZmEyZWVkODNi
ZmM0YTI5Li42OTU3ODEzMTE4NjRlMGQyMzYyMTE0NzAyMGVjMjBhNmQxMjljNWJiIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY29udGVudC1lbGVtZW50LWluLXByb2dy
ZXNzLWVsZW1lbnQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY29udGVu
dC1lbGVtZW50LWluLXByb2dyZXNzLWVsZW1lbnQuaHRtbApAQCAtMjcsNyArMjcsNyBAQCB0ZXN0
RnVuY3MucHVzaChmdW5jdGlvbiBjb250ZW50RWxlbWVudEluUHJvZ3Jlc3NFbGVtZW50KGNhbGxJ
ZkRvbmUpIHsKIAogICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhY3R1YWwtY29udGFpbmVy
JykuYXBwZW5kQ2hpbGQoZGl2KTsKIAotICAgIHZhciBzciA9IGRpdi53ZWJraXRDcmVhdGVTaGFk
b3dSb290KCk7CisgICAgdmFyIHNyID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2KTsKIAogICAg
IHZhciBwcm9ncmVzcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3Byb2dyZXNzJyk7CiAgICAg
dmFyIGNvbnRlbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjb250ZW50Jyk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY29udGVudC1lbGVtZW50LWluLXNlbGVj
dC1lbGVtZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY29udGVudC1lbGVt
ZW50LWluLXNlbGVjdC1lbGVtZW50Lmh0bWwKaW5kZXggYjk4YzMwMGQ2OTBhNjVlODVmZWFmMGVl
YTM0YzE0MzkzYjA5MWE3Mi4uMjJmZjg1MmIxZjczYTQ0N2IwZGZjZGFjNGFkMDYyM2E0ZWVhOWQw
OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2NvbnRlbnQtZWxlbWVu
dC1pbi1zZWxlY3QtZWxlbWVudC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy9jb250ZW50LWVsZW1lbnQtaW4tc2VsZWN0LWVsZW1lbnQuaHRtbApAQCAtMjcsNyArMjcsNyBA
QCB0ZXN0RnVuY3MucHVzaChmdW5jdGlvbiBjb250ZW50RWxlbWVudEluU2VsZWN0RWxlbWVudChj
YWxsSWZEb25lKSB7CiAKICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYWN0dWFsLWNvbnRh
aW5lcicpLmFwcGVuZENoaWxkKGRpdik7CiAKLSAgICB2YXIgc3IgPSBkaXYud2Via2l0Q3JlYXRl
U2hhZG93Um9vdCgpOworICAgIHZhciBzciA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGRpdik7CiAK
ICAgICB2YXIgc2VsZWN0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2VsZWN0Jyk7CiAgICAg
dmFyIGNvbnRlbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjb250ZW50Jyk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY29udGVudC1lbGVtZW50LW91dHNpZGUt
c2hhZG93LXN0eWxlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY29udGVudC1l
bGVtZW50LW91dHNpZGUtc2hhZG93LXN0eWxlLmh0bWwKaW5kZXggNzMyYzFkMjcxMzdkMTYzMzgw
NWM4NWM5Y2UyZTg4YWU0NTc1OTUzOC4uM2NjYWMwY2UwZWZhYTFjNmM2NzY0MjNmY2M2YjRiZjc4
NGEyZjQ1MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2NvbnRlbnQt
ZWxlbWVudC1vdXRzaWRlLXNoYWRvdy1zdHlsZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL3NoYWRvdy9jb250ZW50LWVsZW1lbnQtb3V0c2lkZS1zaGFkb3ctc3R5bGUuaHRtbApAQCAt
MTksMTIgKzE5LDEyIEBAIGNvbnRlbnQgewogPHNjcmlwdD4KIC8vIEVuc3VyZXMgdGhhdCBkaXN0
cmlidXRlZCBzaGFkb3cgY2hpbGQgaXNuJ3QgZWZmZWN0ZWQgYnkgdGhlIHN0eWxlLgogdmFyIGhv
c3RXaXRoQ2hpbGQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaG9zdFdpdGhDaGlsZCIpOwot
dmFyIHNoYWRvd0Zvckhvc3RXaXRoQ2hpbGQgPSBob3N0V2l0aENoaWxkLndlYmtpdENyZWF0ZVNo
YWRvd1Jvb3QoKTsKK3ZhciBzaGFkb3dGb3JIb3N0V2l0aENoaWxkID0gbmV3IFdlYktpdFNoYWRv
d1Jvb3QoaG9zdFdpdGhDaGlsZCk7CiBzaGFkb3dGb3JIb3N0V2l0aENoaWxkLmFwcGVuZENoaWxk
KGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNvbnRlbnQiKSk7CiAKIC8vIEFsc28gZW5zdXJlcyB0
aGF0IGR5bmFtaWNhbGx5IG1vdmVkIDxjb250ZW50PiBlbGVtZW50cyBkbyB3b3JrLgogdmFyIGhv
c3RFbXB0eSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJob3N0RW1wdHkiKTsKLXZhciBzaGFk
b3dGb3JIb3N0RW1wdHkgPSBob3N0RW1wdHkud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwordmFy
IHNoYWRvd0Zvckhvc3RFbXB0eSA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3RFbXB0eSk7CiBz
aGFkb3dGb3JIb3N0RW1wdHkuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRv
QmVNb3ZlZCIpKTsKIAogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zaGFkb3cvY29udGVudC1yZXByb2plY3Rpb24tY29tcGxleC5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vc2hhZG93L2NvbnRlbnQtcmVwcm9qZWN0aW9uLWNvbXBsZXguaHRtbAppbmRleCA5
YjdkOTY1MWM4NzI0MWI2ZWI0NDMwNzU0MjIxNzZhNTZiNjU5YjIzLi41YmUwMzIwOTE5YjFhMmIy
MmMwMDYzMjU4YTdhNzVkNTRmYmJmMWY0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zaGFkb3cvY29udGVudC1yZXByb2plY3Rpb24tY29tcGxleC5odG1sCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NoYWRvdy9jb250ZW50LXJlcHJvamVjdGlvbi1jb21wbGV4Lmh0bWwKQEAg
LTEzLDEwICsxMywxMCBAQAogPC9kaXY+CiAKIDxzY3JpcHQ+Ci12YXIgc2hhZG93Um9vdDEgPSBo
b3N0MS53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7Cit2YXIgc2hhZG93Um9vdDEgPSBuZXcgV2Vi
S2l0U2hhZG93Um9vdChob3N0MSk7CiBzaGFkb3dSb290MS5pbm5lckhUTUwgPSAnPGRpdiBpZD0i
aG9zdDIiPjxjb250ZW50IHNlbGVjdD0iLkEiPjwvY29udGVudD48c2hhZG93Pjwvc2hhZG93Pjxk
aXYgY2xhc3M9IkEiPkE8L2Rpdj48L2Rpdj4nOwogCi12YXIgc2hhZG93Um9vdDIgPSBzaGFkb3dS
b290MS5nZXRFbGVtZW50QnlJZCgnaG9zdDInKS53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7Cit2
YXIgc2hhZG93Um9vdDIgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChzaGFkb3dSb290MS5nZXRFbGVt
ZW50QnlJZCgnaG9zdDInKSk7CiBzaGFkb3dSb290Mi5pbm5lckhUTUwgPSAnPGRpdj48aDI+QTwv
aDI+PGNvbnRlbnQgc2VsZWN0PSIuQSI+PC9jb250ZW50PjxoMj5CPC9oMj48c2hhZG93Pjwvc2hh
ZG93PjwvZGl2PicKIDwvc2NyaXB0PgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zaGFkb3cvY29udGVudC1yZXByb2plY3Rpb24tZHluYW1pYy5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vc2hhZG93L2NvbnRlbnQtcmVwcm9qZWN0aW9uLWR5bmFtaWMuaHRtbAppbmRleCA3
MTEzNmYyZGY2NmNmMTNiZTNlZDNhZTkzNDA5YmI5MzUxOTMzNjdiLi5lMGQyMTcwOTYyNTM1OTkw
YTMzNzJjNGMyN2VhOTFiNTJmNTVjZmViIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zaGFkb3cvY29udGVudC1yZXByb2plY3Rpb24tZHluYW1pYy5odG1sCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NoYWRvdy9jb250ZW50LXJlcHJvamVjdGlvbi1keW5hbWljLmh0bWwKQEAg
LTgsMTUgKzgsMTUgQEAKIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB0ZXN0UnVubmVyLndh
aXRVbnRpbERvbmUoKTsKIAotdmFyIHNoYWRvd1Jvb3QxID0gaG9zdDEud2Via2l0Q3JlYXRlU2hh
ZG93Um9vdCgpOwordmFyIHNoYWRvd1Jvb3QxID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDEp
Owogc2hhZG93Um9vdDEuaW5uZXJIVE1MID0gJzxkaXY+PGRpdiBpZD0iaG9zdDIiPjxjb250ZW50
PjwvY29udGVudD48L2Rpdj48L2Rpdj4nOwogCiB2YXIgaG9zdDIgPSBzaGFkb3dSb290MS5nZXRF
bGVtZW50QnlJZCgnaG9zdDInKTsKLXZhciBzaGFkb3dSb290MiA9IGhvc3QyLndlYmtpdENyZWF0
ZVNoYWRvd1Jvb3QoKTsKK3ZhciBzaGFkb3dSb290MiA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhv
c3QyKTsKIHNoYWRvd1Jvb3QyLmlubmVySFRNTCA9ICc8ZGl2IGlkPSJob3N0MyI+PGNvbnRlbnQ+
PC9jb250ZW50PjwvZGl2Pic7CiAKIHZhciBob3N0MyA9IHNoYWRvd1Jvb3QyLmdldEVsZW1lbnRC
eUlkKCdob3N0MycpOwotdmFyIHNoYWRvd1Jvb3QzID0gaG9zdDMud2Via2l0Q3JlYXRlU2hhZG93
Um9vdCgpOwordmFyIHNoYWRvd1Jvb3QzID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDMpOwog
c2hhZG93Um9vdDMuaW5uZXJIVE1MID0gJzxkaXY+PGNvbnRlbnQ+PC9jb250ZW50PjwvZGl2Pic7
CiAKIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvY29udGVudC1yZXByb2plY3Rpb24tZmFsbGJhY2stY3Jhc2guaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jb250ZW50LXJlcHJvamVjdGlvbi1mYWxsYmFjay1j
cmFzaC5odG1sCmluZGV4IDRiMzk4YTQyYzYxODQ0MTdjNzQ1NTUxMTcyOTcwYzgzZGI5ZTk3NTcu
LmZiZGUwNzRhMDRjY2EyYjEzNzhiNTBiMWVhNzVlYjgxZGE5NmQyMzIgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jb250ZW50LXJlcHJvamVjdGlvbi1mYWxsYmFjay1j
cmFzaC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jb250ZW50LXJlcHJv
amVjdGlvbi1mYWxsYmFjay1jcmFzaC5odG1sCkBAIC0xMSwxMSArMTEsMTEgQEAKIDxwcmUgaWQ9
ImNvbnNvbGUiPjwvcHJlPgogCiA8c2NyaXB0PgotdmFyIHNoYWRvd1Jvb3QxID0gaG9zdDEud2Vi
a2l0Q3JlYXRlU2hhZG93Um9vdCgpOwordmFyIHNoYWRvd1Jvb3QxID0gbmV3IFdlYktpdFNoYWRv
d1Jvb3QoaG9zdDEpOwogc2hhZG93Um9vdDEuaW5uZXJIVE1MID0gJzxkaXYgaWQ9Imhvc3QyIj48
Y29udGVudCBzZWxlY3Q9InNwYW4iPjxkaXYgaWQ9ImZhbGxiYWNrIj5mYWxsYmFjayBlbGVtZW50
PC9kaXY+PC9jb250ZW50PjxkaXYgaWQ9ImRpdiI+VGhpcyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+PC9kaXY+JzsKIAogdmFyIGhvc3QyID0gc2hhZG93Um9vdDEuZ2V0RWxlbWVudEJ5SWQoJ2hv
c3QyJyk7Ci12YXIgc2hhZG93Um9vdDIgPSBob3N0Mi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7
Cit2YXIgc2hhZG93Um9vdDIgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0Mik7CiBzaGFkb3dS
b290Mi5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSJkaXYiPjwvY29udGVudD4nOwogCiB2
YXIgY29udGVudCA9IHNoYWRvd1Jvb3QyLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdjb250ZW50Jyku
aXRlbSgwKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jb250ZW50
LXJlcHJvamVjdGlvbi1mYWxsYmFjay1yZXByb2plY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy9jb250ZW50LXJlcHJvamVjdGlvbi1mYWxsYmFjay1yZXByb2plY3Rpb24u
aHRtbAppbmRleCAwMzcwZmNmNDdhMjkwZGY2NWJmZGRkYjRjNTg1OWJlM2M0ZjUyNDlhLi4zNDJi
YzhjMTI2ZDU2ZjMwYWI3NzZmOGM4MjJlMjhlODVhOTI4ODMwIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9zaGFkb3cvY29udGVudC1yZXByb2plY3Rpb24tZmFsbGJhY2stcmVwcm9q
ZWN0aW9uLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2NvbnRlbnQtcmVw
cm9qZWN0aW9uLWZhbGxiYWNrLXJlcHJvamVjdGlvbi5odG1sCkBAIC04LDcgKzgsNyBAQAogPGRp
diBpZD0iaG9zdDEiPjwvZGl2PgogCiA8c2NyaXB0PgotdmFyIHNoYWRvd1Jvb3QxID0gaG9zdDEu
d2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwordmFyIHNoYWRvd1Jvb3QxID0gbmV3IFdlYktpdFNo
YWRvd1Jvb3QoaG9zdDEpOwogc2hhZG93Um9vdDEuaW5uZXJIVE1MID0KICAgICAnPGRpdiBpZD0i
aG9zdDIiPicgKwogICAgICAgICAnPGNvbnRlbnQ+PGRpdiB0aXRsZT0iZGVidWdzdG9wIj5jb250
ZW50IGZhbGxiYWNrIGVsZW1lbnQ8L2Rpdj48L2NvbnRlbnQ+JyArCkBAIC0xNyw3ICsxNyw3IEBA
IHNoYWRvd1Jvb3QxLmlubmVySFRNTCA9CiAgICAgJzwvZGl2Pic7CiAKIHZhciBob3N0MiA9IHNo
YWRvd1Jvb3QxLmdldEVsZW1lbnRCeUlkKCdob3N0MicpOwotdmFyIHNoYWRvd1Jvb3QyID0gaG9z
dDIud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwordmFyIHNoYWRvd1Jvb3QyID0gbmV3IFdlYktp
dFNoYWRvd1Jvb3QoaG9zdDIpOwogc2hhZG93Um9vdDIuaW5uZXJIVE1MID0KICAgICAnPGRpdiBp
ZD0iaG9zdDMiPicgKwogICAgICAgICAnPGNvbnRlbnQgc2VsZWN0PSJkaXYiPjwvY29udGVudD4n
ICsgCkBAIC0yNiw3ICsyNiw3IEBAIHNoYWRvd1Jvb3QyLmlubmVySFRNTCA9CiAgICAgJzwvZGl2
Pic7CiAKIHZhciBob3N0MyA9IHNoYWRvd1Jvb3QyLmdldEVsZW1lbnRCeUlkKCdob3N0MycpOwot
dmFyIHNoYWRvd1Jvb3QzID0gaG9zdDMud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwordmFyIHNo
YWRvd1Jvb3QzID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDMpOwogc2hhZG93Um9vdDMuaW5u
ZXJIVE1MID0KICAgICAnPGNvbnRlbnQgc2VsZWN0PSJkaXYiPjwvY29udGVudD4nCiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jb250ZW50LXJlcHJvamVjdGlvbi1m
YWxsYmFjay5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2NvbnRlbnQtcmVwcm9q
ZWN0aW9uLWZhbGxiYWNrLmh0bWwKaW5kZXggZDRkZTRiYjFkZjQwMTMyZDQxY2VlZGZlNTQyOWU4
ZTliMTYwYmU2My4uZmMzZDAwOWVhYjMyNWRhZTBmMzdjODBkMDM1ZTdkNGUyYjIwYWUzYyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2NvbnRlbnQtcmVwcm9qZWN0aW9u
LWZhbGxiYWNrLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2NvbnRlbnQt
cmVwcm9qZWN0aW9uLWZhbGxiYWNrLmh0bWwKQEAgLTgsNyArOCw3IEBACiA8ZGl2IGlkPSJob3N0
MSI+PC9kaXY+CiAKIDxzY3JpcHQ+Ci12YXIgc2hhZG93Um9vdDEgPSBob3N0MS53ZWJraXRDcmVh
dGVTaGFkb3dSb290KCk7Cit2YXIgc2hhZG93Um9vdDEgPSBuZXcgV2ViS2l0U2hhZG93Um9vdCho
b3N0MSk7CiBzaGFkb3dSb290MS5pbm5lckhUTUwgPQogICAgICc8ZGl2IGlkPSJob3N0MiI+JyAr
CiAgICAgICAgICc8Y29udGVudD48ZGl2IHRpdGxlPSJkZWJ1Z3N0b3AiPmNvbnRlbnQgZmFsbGJh
Y2sgZWxlbWVudDwvZGl2PjwvY29udGVudD4nICsKQEAgLTE3LDcgKzE3LDcgQEAgc2hhZG93Um9v
dDEuaW5uZXJIVE1MID0KICAgICAnPC9kaXY+JzsKIAogdmFyIGhvc3QyID0gc2hhZG93Um9vdDEu
Z2V0RWxlbWVudEJ5SWQoJ2hvc3QyJyk7Ci12YXIgc2hhZG93Um9vdDIgPSBob3N0Mi53ZWJraXRD
cmVhdGVTaGFkb3dSb290KCk7Cit2YXIgc2hhZG93Um9vdDIgPSBuZXcgV2ViS2l0U2hhZG93Um9v
dChob3N0Mik7CiBzaGFkb3dSb290Mi5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSJkaXYi
PjwvY29udGVudD4nOwogPC9zY3JpcHQ+CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL3NoYWRvdy9jb250ZW50LXJlcHJvamVjdGlvbi1vcmRlci5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vc2hhZG93L2NvbnRlbnQtcmVwcm9qZWN0aW9uLW9yZGVyLmh0bWwKaW5kZXggZWNj
M2I4ZjBjMDU5NDgyMDNjMmE0ODVlYmI5MzI4MDYxM2YxY2MwYy4uZTIzNWM4OTI2OGIxMzEzNjMz
MjM3ODdkMTc0M2U5YTU5NzU4YTBmZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20v
c2hhZG93L2NvbnRlbnQtcmVwcm9qZWN0aW9uLW9yZGVyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vc2hhZG93L2NvbnRlbnQtcmVwcm9qZWN0aW9uLW9yZGVyLmh0bWwKQEAgLTEyLDcg
KzEyLDcgQEAKIDwvZGl2PgogCiA8c2NyaXB0PgotdmFyIHNoYWRvd1Jvb3QgPSBob3N0LndlYmtp
dENyZWF0ZVNoYWRvd1Jvb3QoKTsKK3ZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jv
b3QoaG9zdCk7CiAKIHNoYWRvd1Jvb3QuaW5uZXJIVE1MID0KICAgICAnPHNoYWRvdyBpZD0iaWQx
Ij48L3NoYWRvdz48aHI+JyArIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hh
ZG93L2NvbnRlbnQtcmVwcm9qZWN0aW9uLXNoYWRvdy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2hhZG93L2NvbnRlbnQtcmVwcm9qZWN0aW9uLXNoYWRvdy5odG1sCmluZGV4IGQxODM5M2Yw
N2E0ZTk0M2VhNjdhODM3NDcxNDQzZTNmZGMwMWZiNjEuLjdhNTM4NjI0NDY2OGQ4MDA1NTFkNDMz
ODU2MzlkYmIzZTQ1ZmUxNzAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy9jb250ZW50LXJlcHJvamVjdGlvbi1zaGFkb3cuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvY29udGVudC1yZXByb2plY3Rpb24tc2hhZG93Lmh0bWwKQEAgLTEyLDEwICsx
MiwxMCBAQAogPC9kaXY+CiAKIDxzY3JpcHQ+Ci12YXIgc2hhZG93Um9vdDEgPSBob3N0MS53ZWJr
aXRDcmVhdGVTaGFkb3dSb290KCk7Cit2YXIgc2hhZG93Um9vdDEgPSBuZXcgV2ViS2l0U2hhZG93
Um9vdChob3N0MSk7CiBzaGFkb3dSb290MS5pbm5lckhUTUwgPSAnPGRpdiBpZD0iaG9zdDIiPjxj
b250ZW50PjwvY29udGVudD48L2Rpdj4nOwogCi12YXIgc2hhZG93Um9vdDIgPSBzaGFkb3dSb290
MS5nZXRFbGVtZW50QnlJZCgnaG9zdDInKS53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7Cit2YXIg
c2hhZG93Um9vdDIgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChzaGFkb3dSb290MS5nZXRFbGVtZW50
QnlJZCgnaG9zdDInKSk7CiBzaGFkb3dSb290Mi5pbm5lckhUTUwgPSAnPGRpdj48c2hhZG93Pjwv
c2hhZG93PjxkaXY+QTwvZGl2PjwvZGl2PicKIDwvc2NyaXB0PgogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY3BwZXZlbnQtaW4tc2hhZG93Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9zaGFkb3cvY3BwZXZlbnQtaW4tc2hhZG93Lmh0bWwKaW5kZXggZmY0M2Yw
YTg4MzRjOGU3YjgwYTIxMGQ0ZjA1NDFmZTU3NDUxMTc0Mi4uZTE4NzJhNTVkMzkwNWRkMDZiMzlm
YTdhYTVjMWYyZTZlMmQyNjE1NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hh
ZG93L2NwcGV2ZW50LWluLXNoYWRvdy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3No
YWRvdy9jcHBldmVudC1pbi1zaGFkb3cuaHRtbApAQCAtMzAsMTEgKzMwLDExIEBAIGZ1bmN0aW9u
IGNyZWF0ZUJveChuYW1lKSB7CiB9CiAKIAotdmFyIHNoYWRvd1Jvb3QgPSBob3N0LndlYmtpdENy
ZWF0ZVNoYWRvd1Jvb3QoKTsKK3ZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qo
aG9zdCk7CiB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiBzaGFkb3dS
b290LmFwcGVuZENoaWxkKGRpdik7CiAKLXZhciBkYXJrUm9vdCA9IGRpdi53ZWJraXRDcmVhdGVT
aGFkb3dSb290KCk7Cit2YXIgZGFya1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChkaXYpOwog
dmFyIGJveCA9IGNyZWF0ZUJveCgnZGFyaycpOwogYm94LmlubmVySFRNTCA9ICJLb3RvcmkgT3Rv
bmFzaGkiOwogZGFya1Jvb3QuYXBwZW5kQ2hpbGQoYm94KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NoYWRvdy9jcHBldmVudC1pbnB1dC1pbi1zaGFkb3cuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jcHBldmVudC1pbnB1dC1pbi1zaGFkb3cuaHRtbAppbmRl
eCAzMjZmOWI5NWViYzdkOWUwYjE4YzEzZWMwMWQ1MzdkZmQ3NjcwNjZmLi45M2YzNTdiYjI0NWZi
ZmRlNjU2MDU2ZjNkNGU4NzUyNjQ5OWFhOGFjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvY3BwZXZlbnQtaW5wdXQtaW4tc2hhZG93Lmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9kb20vc2hhZG93L2NwcGV2ZW50LWlucHV0LWluLXNoYWRvdy5odG1sCkBAIC0yOCwx
MSArMjgsMTEgQEAgZnVuY3Rpb24gY3JlYXRlSW5wdXQoKSB7CiB9CiAKIAotdmFyIHNoYWRvd1Jv
b3QgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKK3ZhciBzaGFkb3dSb290ID0gbmV3
IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7CiB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgnZGl2Jyk7CiBzaGFkb3dSb290LmFwcGVuZENoaWxkKGRpdik7CiAKLXZhciBkYXJrUm9vdCA9
IGRpdi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7Cit2YXIgZGFya1Jvb3QgPSBuZXcgV2ViS2l0
U2hhZG93Um9vdChkaXYpOwogdmFyIGlucHV0ID0gY3JlYXRlSW5wdXQoKTsKIGlucHV0LnNldEF0
dHJpYnV0ZSgndmFsdWUnLCAnS290b3JpIE90b25hc2hpJyk7CiBkYXJrUm9vdC5hcHBlbmRDaGls
ZChpbnB1dCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvZGlzdHJp
YnV0aW9uLWF0dHJpYnV0ZS1tb2RpZmllZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hh
ZG93L2Rpc3RyaWJ1dGlvbi1hdHRyaWJ1dGUtbW9kaWZpZWQuaHRtbAppbmRleCA5NGRmM2I0ZmZm
ZWYwMjMxNWFmYjdjZDdlMTQzOTU4MDM1YjBjMTcxLi5iN2MwZTYyMmFlYTVkOGI1NDQ0ZGNjOTk5
NDE1YmU1ZDk2ODUyYTI2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
ZGlzdHJpYnV0aW9uLWF0dHJpYnV0ZS1tb2RpZmllZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy9kaXN0cmlidXRpb24tYXR0cmlidXRlLW1vZGlmaWVkLmh0bWwKQEAgLTE4
LDcgKzE4LDcgQEAKIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB0ZXN0UnVubmVyLndhaXRV
bnRpbERvbmUoKTsKIAotdmFyIHNoYWRvd1Jvb3QgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jv
b3QoKTsKK3ZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7CiBzaGFk
b3dSb290LmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9ImRpdlt0aXRsZV0iPjwvY29udGVu
dD4nOwogCiBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vc2hhZG93L2Rpc3RyaWJ1dGlvbi1jbGFzc05hbWUtbW9kaWZpZWQuaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9kaXN0cmlidXRpb24tY2xhc3NOYW1lLW1vZGlmaWVk
Lmh0bWwKaW5kZXggMjEwN2FkNDk2Yzk1ODM3YmM4YjgyMzY4YzU3NTJiZGEwYWQ0ZTgzNi4uZDU0
OGUwZGUzMzliMDYzM2VkNzFjOWNmYWY5YzRmM2MyODcyNjAyMCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9kb20vc2hhZG93L2Rpc3RyaWJ1dGlvbi1jbGFzc05hbWUtbW9kaWZpZWQuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvZGlzdHJpYnV0aW9uLWNsYXNzTmFt
ZS1tb2RpZmllZC5odG1sCkBAIC0xOCw3ICsxOCw3IEBACiBpZiAod2luZG93LnRlc3RSdW5uZXIp
CiAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAKLXZhciBzaGFkb3dSb290ID0gaG9z
dC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7Cit2YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRT
aGFkb3dSb290KGhvc3QpOwogc2hhZG93Um9vdC5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0
PSIuc2VsZWN0ZWQiPjwvY29udGVudD4nOwogCiBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2Rpc3RyaWJ1dGlvbi1pZC1tb2Rp
ZmllZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2Rpc3RyaWJ1dGlvbi1pZC1t
b2RpZmllZC5odG1sCmluZGV4IDRjNDc3Zjg5YmE1Mzk0MjQyOGE1ODBiYWYxOTNkMTIwNzllMjQx
NDQuLjRlMzVjZTc5YjZiNzRmMWZlNTQ0ZDM0YzljZGQxOGFhMjMwMGI0YWMgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9kaXN0cmlidXRpb24taWQtbW9kaWZpZWQuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvZGlzdHJpYnV0aW9uLWlkLW1vZGlm
aWVkLmh0bWwKQEAgLTE4LDcgKzE4LDcgQEAKIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB0
ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKIAotdmFyIHNoYWRvd1Jvb3QgPSBob3N0LndlYmtp
dENyZWF0ZVNoYWRvd1Jvb3QoKTsKK3ZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jv
b3QoaG9zdCk7CiBzaGFkb3dSb290LmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9IiNzZWxl
Y3RlZCI+PC9jb250ZW50Pic7CiAKIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvZHJhZy10by1tZXRlci1pbi1zaGFkb3ctY3Jh
c2guaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9kcmFnLXRvLW1ldGVyLWluLXNo
YWRvdy1jcmFzaC5odG1sCmluZGV4IDAyODkxMjM1NWU3M2RhMjRmNTBjOWNmOTQ5ZDNiYzI0MmEz
MTVjZTkuLjEzN2MwNWRiOTY5YTYwNWNkOTAxNGE2NDgxNDBjYTdhOGY5NzllOWIgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9kcmFnLXRvLW1ldGVyLWluLXNoYWRvdy1j
cmFzaC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9kcmFnLXRvLW1ldGVy
LWluLXNoYWRvdy1jcmFzaC5odG1sCkBAIC0xMSw3ICsxMSw3IEBAIGlmICh3aW5kb3cudGVzdFJ1
bm5lcikKICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKIAogdmFyIGNvbnRhaW5lciA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb250YWluZXInKTsKLXZhciBzaGFkb3dSb290ID0gY29u
dGFpbmVyLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKK3ZhciBzaGFkb3dSb290ID0gbmV3IFdl
YktpdFNoYWRvd1Jvb3QoY29udGFpbmVyKTsKIHZhciBtZXRlciA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoJ21ldGVyJyk7CiBzaGFkb3dSb290LmFwcGVuZENoaWxkKG1ldGVyKTsKIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2Ryb3AtZXZlbnQtZm9yLWlucHV0LWlu
LXNoYWRvdy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2Ryb3AtZXZlbnQtZm9y
LWlucHV0LWluLXNoYWRvdy5odG1sCmluZGV4IDhhOWJlYzBiOTMyM2ViN2Q1MWJmY2QxZmQ5YTA1
NDU3ZGE0MGY3MTcuLmUwN2M5NjAyZjE2MTgwZmMxYTgxZThiN2U1ODkyZTY2NTU1Nzk0ZWYgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9kcm9wLWV2ZW50LWZvci1pbnB1
dC1pbi1zaGFkb3cuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvZHJvcC1l
dmVudC1mb3ItaW5wdXQtaW4tc2hhZG93Lmh0bWwKQEAgLTE4LDcgKzE4LDcgQEAgZnVuY3Rpb24g
Y3JlYXRlSW5wdXQobmFtZSkgewogfQogCiBmdW5jdGlvbiBydW5UZXN0KCkgewotICAgIHZhciBz
aGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CisgICAgdmFyIHNoYWRv
d1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKICAgICB2YXIgc2hhZG93SW5wdXQg
PSBjcmVhdGVJbnB1dCgnc2hhZG93Jyk7CiAgICAgc2hhZG93Um9vdC5hcHBlbmRDaGlsZChzaGFk
b3dJbnB1dCk7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9kcm9w
LWV2ZW50LWluLXNoYWRvdy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2Ryb3At
ZXZlbnQtaW4tc2hhZG93Lmh0bWwKaW5kZXggODA2MGQ3YzJhYTJlNjBjOGE0YjZkYzQzNTQwYWVm
ZThjYjZlNzE4Yi4uZmE5MjhhZjMxNmViY2JjOTE1YmQ1MmJlYTA3N2I5NjE4NTEyZmEyMSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2Ryb3AtZXZlbnQtaW4tc2hhZG93
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2Ryb3AtZXZlbnQtaW4tc2hh
ZG93Lmh0bWwKQEAgLTIxLDcgKzIxLDcgQEAgZnVuY3Rpb24gY3JlYXRlQm94KG5hbWUpIHsKIH0K
IAogZnVuY3Rpb24gcnVuVGVzdCgpIHsKLSAgICB2YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Via2l0
Q3JlYXRlU2hhZG93Um9vdCgpOworICAgIHZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRv
d1Jvb3QoaG9zdCk7CiAgICAgdmFyIHNoYWRvd0RpdiA9IGNyZWF0ZUJveCgnc2hhZG93Jyk7CiAg
ICAgc2hhZG93Um9vdC5hcHBlbmRDaGlsZChzaGFkb3dEaXYpOwogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvZWxlbWVudC1mcm9tLXBvaW50LWluLW5lc3RlZC1zaGFk
b3cuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9lbGVtZW50LWZyb20tcG9pbnQt
aW4tbmVzdGVkLXNoYWRvdy5odG1sCmluZGV4IDczYjQwZTBiMWM1ZDQ2ODk1ZGQ4ODg1MTFiOTUz
YTVjMTMyMDA2MjMuLjkyMGI1ODRhNTM1MGM2M2Y5YmM0ZDgyNmUzZTlhMjdjMjI2ZDQ2NDggMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9lbGVtZW50LWZyb20tcG9pbnQt
aW4tbmVzdGVkLXNoYWRvdy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9l
bGVtZW50LWZyb20tcG9pbnQtaW4tbmVzdGVkLXNoYWRvdy5odG1sCkBAIC0yMywxMSArMjMsMTEg
QEAgZnVuY3Rpb24gY3JlYXRlQm94KG5hbWUpIHsKICAgICByZXR1cm4gZGl2OwogfQogCi12YXIg
c2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwordmFyIHNoYWRvd1Jv
b3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKIHZhciBkaXYgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCdkaXYnKTsKIHNoYWRvd1Jvb3QuYXBwZW5kQ2hpbGQoZGl2KTsKIAotdmFyIGRh
cmtSb290ID0gZGl2LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKK3ZhciBkYXJrUm9vdCA9IG5l
dyBXZWJLaXRTaGFkb3dSb290KGRpdik7CiB2YXIgYm94ID0gY3JlYXRlQm94KCdkYXJrJyk7CiBk
YXJrUm9vdC5hcHBlbmRDaGlsZChib3gpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvZm9ybS1pbi1zaGFkb3cuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3No
YWRvdy9mb3JtLWluLXNoYWRvdy5odG1sCmluZGV4IDVjMDk5ZmI0N2MwOTc3YTJlMGZhNjVhNzkw
YzQ4ODg4NDNkNzk0OTUuLmE0Nzg0YTI0NjJkMzJiODE1YmIzM2ZjMmI4ZjQwYTRlMjRmYmFlOTgg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9mb3JtLWluLXNoYWRvdy5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9mb3JtLWluLXNoYWRvdy5odG1s
CkBAIC0xMyw3ICsxMyw3IEBAIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKIAogZnVuY3Rpb24gY3Jl
YXRlU2hhZG93Rm9ybSgpIHsKICAgICB2YXIgY29udGFpbmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ2NvbnRhaW5lcicpOwotICAgIHZhciBzaGFkb3dSb290ID0gY29udGFpbmVyLndlYmtp
dENyZWF0ZVNoYWRvd1Jvb3QoKTsKKyAgICB2YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFk
b3dSb290KGNvbnRhaW5lcik7CiAKICAgICBzaGFkb3dSb290LmlubmVySFRNTCA9CiAgICAgICAg
ICc8Zm9ybT4nICsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9nZXQt
ZWxlbWVudC1ieS1pZC1pbi1zaGFkb3ctbXV0YXRpb24uaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL3NoYWRvdy9nZXQtZWxlbWVudC1ieS1pZC1pbi1zaGFkb3ctbXV0YXRpb24uaHRtbAppbmRl
eCAwZWFhMmUzZTJiYTQ0MDVlZmVjZDdkZmZiYWIxODA2NmJhZDg2NTA0Li5mNzhkZTZjNzU1MDQw
OTRkNzM2N2I4NjViZDdkMDNiNjVlMWQxMGEyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvZ2V0LWVsZW1lbnQtYnktaWQtaW4tc2hhZG93LW11dGF0aW9uLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2dldC1lbGVtZW50LWJ5LWlkLWluLXNoYWRv
dy1tdXRhdGlvbi5odG1sCkBAIC05LDcgKzksNyBAQAogZGVzY3JpcHRpb24oIlRlc3RzIHRvIGVu
c3VyZSB0aGF0IFNoYWRvd1Jvb3QuZ2V0RWxlbWVudEJ5SWQgd29ya3MgZXZlbiBhZnRlciBtdXRh
dGlvbiIpOwogCiB2YXIgaG9zdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJob3N0Iik7Ci12
YXIgc2hhZG93ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7Cit2YXIgc2hhZG93ID0g
bmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7CiAKIHNob3VsZEJlKCJudWxsIiwgInNoYWRvdy5n
ZXRFbGVtZW50QnlJZCgnZm9vJykiKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2hhZG93L2hhcy1jb250ZW50LWVsZW1lbnRzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zaGFkb3cvaGFzLWNvbnRlbnQtZWxlbWVudHMuaHRtbAppbmRleCA5MGQ2MmJjN2E4ZDEyMDYw
NzlmMzZlZGMxYjU4ZjNhOTdmMmQxZTU2Li5mNjE1MWUyOGMzMDQ0OTQwN2YwOGFkMTAxMmJkNDk2
ODhhYTI4MTI1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvaGFzLWNv
bnRlbnQtZWxlbWVudHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvaGFz
LWNvbnRlbnQtZWxlbWVudHMuaHRtbApAQCAtMTksNyArMTksNyBAQCBlbHNlIGlmICghd2luZG93
LmludGVybmFscy5oYXNDb250ZW50RWxlbWVudCkKIAogPHNjcmlwdD4KIHZhciBob3N0ID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImhvc3QiKTsKLXZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJr
aXRDcmVhdGVTaGFkb3dSb290KCk7Cit2YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dS
b290KGhvc3QpOwogCiBzaG91bGRCZUZhbHNlKCJpbnRlcm5hbHMuaGFzQ29udGVudEVsZW1lbnQo
c2hhZG93Um9vdCkiKTsKIApAQCAtNDYsMTAgKzQ2LDEwIEBAIHNob3VsZEJlVHJ1ZSgiaW50ZXJu
YWxzLmhhc0NvbnRlbnRFbGVtZW50KHNoYWRvd1Jvb3QpIik7CiAvLyBDYXNlIGZvciBuZXN0ZWQg
c2hhZG93IHN1YnRyZWUKIHNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gJzxkaXY+aW4gc2hhZG93IHJv
b3Q8L2Rpdj4nOwogdmFyIGlubmVyRGl2MSA9IHNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcignZGl2
Jyk7Ci12YXIgaW5uZXJTaGFkb3dSb290MSA9IGlubmVyRGl2MS53ZWJraXRDcmVhdGVTaGFkb3dS
b290KCk7Cit2YXIgaW5uZXJTaGFkb3dSb290MSA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGlubmVy
RGl2MSk7CiBpbm5lclNoYWRvd1Jvb3QxLmlubmVySFRNTCA9ICI8ZGl2Pjxjb250ZW50PjwvY29u
dGVudD48L2Rpdj4iOwogdmFyIGlubmVyRGl2MiA9IGlubmVyU2hhZG93Um9vdDEucXVlcnlTZWxl
Y3RvcignZGl2Jyk7Ci12YXIgaW5uZXJTaGFkb3dSb290MiA9IGlubmVyRGl2Mi53ZWJraXRDcmVh
dGVTaGFkb3dSb290KCk7Cit2YXIgaW5uZXJTaGFkb3dSb290MiA9IG5ldyBXZWJLaXRTaGFkb3dS
b290KGlubmVyRGl2Mik7CiBpbm5lclNoYWRvd1Jvb3QyLmlubmVySFRNTCA9ICI8ZGl2Pjxjb250
ZW50IHRpdGxlPSdkZWJ1Z3N0b3AnPjwvY29udGVudD48L2Rpdj4iOwogCiBzaG91bGRCZUZhbHNl
KCJpbnRlcm5hbHMuaGFzQ29udGVudEVsZW1lbnQoc2hhZG93Um9vdCkiKTsKQEAgLTYwLDcgKzYw
LDcgQEAgc2hvdWxkQmVGYWxzZSgiaW50ZXJuYWxzLmhhc0NvbnRlbnRFbGVtZW50KHNoYWRvd1Jv
b3QpIik7CiAKIC8vIENhc2UgZm9yIG11bHRpcGxlIHNoYWRvdyBzdWJ0cmVlcwogc2hhZG93Um9v
dC5pbm5lckhUTUwgPSAiPGRpdj48ZGl2PjxkaXY+PGNvbnRlbnQ+PC9jb250ZW50PjwvZGl2Pjwv
ZGl2PjwvZGl2PiI7Ci12YXIgeW91bmdlclNoYWRvd1Jvb3QgPSBob3N0LndlYmtpdENyZWF0ZVNo
YWRvd1Jvb3QoKTsKK3ZhciB5b3VuZ2VyU2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290
KGhvc3QpOwogLy8gTW9kaWZ5aW5nIG9sZGVyIHNoYWRvdyByb290IG9yIHlvdW5nZXIgc2hhZG93
IHJvb3QgZG9lc24ndCBhZmZlY3QgdGhlIG90aGVyLgogc2hvdWxkQmVUcnVlKCJpbnRlcm5hbHMu
aGFzQ29udGVudEVsZW1lbnQoc2hhZG93Um9vdCkiKTsKIHNob3VsZEJlRmFsc2UoImludGVybmFs
cy5oYXNDb250ZW50RWxlbWVudCh5b3VuZ2VyU2hhZG93Um9vdCkiKTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9oYXMtZWxlbWVudHNoYWRvdy5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9kb20vc2hhZG93L2hhcy1lbGVtZW50c2hhZG93Lmh0bWwKaW5kZXggMmIxMWFi
ZmM1M2I4ZjQyMDMwYzJmM2YwMGE0YmFmNTBiNDAwMTBjYy4uNjdmNWQxYTcxZmM0ODlkNGIxOTRh
YzA5Mjc3OTU1Y2YwODZiMTBhOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hh
ZG93L2hhcy1lbGVtZW50c2hhZG93Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hh
ZG93L2hhcy1lbGVtZW50c2hhZG93Lmh0bWwKQEAgLTYzLDE3ICs2MywxNyBAQCB0ZXN0Q2FzZShm
dW5jdGlvbigpCiAgICAgc2hhZG93Um9vdC5hcHBlbmRDaGlsZChkaXYpOwogICAgIHNob3VsZEJl
KCdpbnRlcm5hbHMuY291bnRFbGVtZW50U2hhZG93KHNoYWRvd1Jvb3QpJywgJzAnKTsKIAotICAg
IGRpdi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CisgICAgbmV3IFdlYktpdFNoYWRvd1Jvb3Qo
ZGl2KTsKICAgICBzaG91bGRCZSgnaW50ZXJuYWxzLmNvdW50RWxlbWVudFNoYWRvdyhzaGFkb3dS
b290KScsICcxJyk7CiAKLSAgICBkaXYud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOworICAgIG5l
dyBXZWJLaXRTaGFkb3dSb290KGRpdik7CiAgICAgc2hvdWxkQmUoJ2ludGVybmFscy5jb3VudEVs
ZW1lbnRTaGFkb3coc2hhZG93Um9vdCknLCAnMScpOwogfSk7CiAKIHRlc3RDYXNlKGZ1bmN0aW9u
KCkKIHsKICAgICBkZWJ1ZygnU2hvdWxkIGJlIGNvdW50ZWQgYnkgZWFjaCBzaGFkb3cgcm9vdCAo
bXVsdGlwbGUgc2hhZG93IHJvb3QgY2FzZSknKTsKLSAgICB5b3VuZ2VyU2hhZG93Um9vdCA9IGhv
c3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOworICAgIHlvdW5nZXJTaGFkb3dSb290ID0gbmV3
IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7CiAKICAgICB2YXIgZGl2ID0gY3JlYXRlRE9NKCdkaXYn
LCB7fSwgY3JlYXRlU2hhZG93Um9vdCgpKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L2hhcy1zaGFkb3ctaW5zZXJ0aW9uLXBvaW50Lmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvaGFzLXNoYWRvdy1pbnNlcnRpb24tcG9pbnQuaHRtbAppbmRleCBk
NmM4Y2U0MDQ5OTE2ODc1Njg0MmEzMTQ1YzcyMGRmOTc0MTc0ZmQzLi45ODY3MDJiOTJiYThjYmY1
MzU5NGVlNzU0OGEwYmQxMWQ3Yjk0MTY3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zaGFkb3cvaGFzLXNoYWRvdy1pbnNlcnRpb24tcG9pbnQuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvaGFzLXNoYWRvdy1pbnNlcnRpb24tcG9pbnQuaHRtbApAQCAtMTgs
NyArMTgsNyBAQCBlbHNlIGlmICghd2luZG93LmludGVybmFscy5oYXNTaGFkb3dJbnNlcnRpb25Q
b2ludCkKIAogPHNjcmlwdD4KIHZhciBob3N0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImhv
c3QiKTsKLXZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7Cit2
YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwogCiBzaG91bGRCZUZh
bHNlKCJpbnRlcm5hbHMuaGFzU2hhZG93SW5zZXJ0aW9uUG9pbnQoc2hhZG93Um9vdCkiKTsKIApA
QCAtNDIsNyArNDIsNyBAQCBzaG91bGRCZVRydWUoImludGVybmFscy5oYXNTaGFkb3dJbnNlcnRp
b25Qb2ludChzaGFkb3dSb290KSIpOwogc2hhZG93Um9vdC5pbm5lckhUTUwgPSAiPGRpdj48ZGl2
PjxkaXY+PHNoYWRvdz48L3NoYWRvdz48L2Rpdj48L2Rpdj48L2Rpdj4iOwogc2hvdWxkQmVUcnVl
KCJpbnRlcm5hbHMuaGFzU2hhZG93SW5zZXJ0aW9uUG9pbnQoc2hhZG93Um9vdCkiKTsKIAotdmFy
IHlvdW5nZXJTaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7Cit2YXIg
eW91bmdlclNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKIC8vIE1vZGlm
eWluZyBvbGRlciBzaGFkb3cgcm9vdCBvciB5b3VuZ2VyIHNoYWRvdyByb290IGRvZXNuJ3QgYWZm
ZWN0IHRoZSBvdGhlci4KIHNob3VsZEJlVHJ1ZSgiaW50ZXJuYWxzLmhhc1NoYWRvd0luc2VydGlv
blBvaW50KHNoYWRvd1Jvb3QpIik7CiBzaG91bGRCZUZhbHNlKCJpbnRlcm5hbHMuaGFzU2hhZG93
SW5zZXJ0aW9uUG9pbnQoeW91bmdlclNoYWRvd1Jvb3QpIik7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9zaGFkb3cvaG9zdC13cmFwcGVyLXJlY2xhaW1lZC5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9kb20vc2hhZG93L2hvc3Qtd3JhcHBlci1yZWNsYWltZWQuaHRtbAppbmRleCBm
NWM2YmZlOWEwODYzNjkzYTlkMjU3ZTg5Y2QzZTYzMTAxNWI4YzhlLi4xOWEwYTk2Njg0YTRlNzU1
ZGRkZDVjNmQ4Y2UyNzU5Y2JiYmY3ODZkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zaGFkb3cvaG9zdC13cmFwcGVyLXJlY2xhaW1lZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy9ob3N0LXdyYXBwZXItcmVjbGFpbWVkLmh0bWwKQEAgLTksNyArOSw3IEBA
IGlmICh3aW5kb3cudGVzdFJ1bm5lcikKIAogZnVuY3Rpb24gbWFrZU9ycGhhblNoYWRvdygpIHsK
ICAgICB2YXIgaG9zdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwotICAgIHZhciBz
aGFkb3cgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKKyAgICB2YXIgc2hhZG93ID0g
bmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7CiAgICAgcmV0dXJuIHNoYWRvdzsKIH07CiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9pZnJhbWUtc2hhZG93Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvaWZyYW1lLXNoYWRvdy5odG1sCmluZGV4IDhh
M2NjNzk5NTFjMThhNTgxZTdlMGU4ZTA4MmFmNGJiOWNiMTE1ZTguLjQ1OTU5MmY0ZjU5MzIzNjQx
ZDRjMTAxNGI0NDRiYmNmOTlmMGNlNjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3NoYWRvdy9pZnJhbWUtc2hhZG93Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hh
ZG93L2lmcmFtZS1zaGFkb3cuaHRtbApAQCAtMzEsNyArMzEsNyBAQCBzaG91bGRCZSgiaTEubGVu
Z3RoIiwgIjIiKTsKIC8vIFRoZW4gQWRkaW5nIHNvbWUgaWZyYW1lcyBpbnRvIGEgc2hhZG93Lgog
CiB2YXIgaG9zdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJob3N0Iik7Ci12YXIgc2hhZG93
ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7Cit2YXIgc2hhZG93ID0gbmV3IFdlYktp
dFNoYWRvd1Jvb3QoaG9zdCk7CiB2YXIgaTJJblNoYWRvdyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoImlmcmFtZSIpOwogaTJJblNoYWRvdy5zZXRBdHRyaWJ1dGUoIm5hbWUiLCAiaTIiKTsKIHNo
YWRvdy5hcHBlbmRDaGlsZChpMkluU2hhZG93KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy9pbnB1dC13aXRoLXZhbGlkYXRpb24td2l0aG91dC1zaGFkb3cuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9pbnB1dC13aXRoLXZhbGlkYXRpb24td2l0aG91
dC1zaGFkb3cuaHRtbAppbmRleCAwMTc3NzI3NGFjNGFhZjU1ZWU3MDllNGJlMDgxNmViYmE5OWZk
ZTVjLi45NDhjZWVkYWJlNTkxMzMwZmIyMzdiODMwN2IyYjdiZTllNjkzZDg0IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvaW5wdXQtd2l0aC12YWxpZGF0aW9uLXdpdGhv
dXQtc2hhZG93Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2lucHV0LXdp
dGgtdmFsaWRhdGlvbi13aXRob3V0LXNoYWRvdy5odG1sCkBAIC0xMCw3ICsxMCw3IEBACiA8c2Ny
aXB0PgogZnVuY3Rpb24gZG9UZXN0KCkgewogICAgIHZhciBpbnB1dCA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCdwYXNzd29yZCcpOwotICAgIHZhciBzaGFkb3dSb290ID0gaW5wdXQud2Via2l0
Q3JlYXRlU2hhZG93Um9vdCgpOworICAgIHZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRv
d1Jvb3QoaW5wdXQpOwogCiAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3N1Ym1pdCcpLmNs
aWNrKCk7CiAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9zaGFkb3cvaW5wdXQtd2l0aC12YWxpZGF0aW9uLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9zaGFkb3cvaW5wdXQtd2l0aC12YWxpZGF0aW9uLmh0bWwKaW5kZXggZGEw
NzkzNDc3OTY0N2M1NjRiN2YxZDFkMDBmNzRkYWVkYmQ0MjRlNC4uM2UxNDMxN2U1NDc2MDNiOTkw
OTQzOWUzNmY0Mzg2OThlMWM2OTg4ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20v
c2hhZG93L2lucHV0LXdpdGgtdmFsaWRhdGlvbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL3NoYWRvdy9pbnB1dC13aXRoLXZhbGlkYXRpb24uaHRtbApAQCAtMTIsNyArMTIsNyBAQCBp
ZiAod2luZG93LmludGVybmFscykKICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0QXV0aG9yU2hh
ZG93RE9NRm9yQW55RWxlbWVudEVuYWJsZWQodHJ1ZSk7CiAKIHZhciBpbnB1dCA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCdwYXNzd29yZCcpOwotdmFyIHNoYWRvd1Jvb3QgPSBpbnB1dC53ZWJr
aXRDcmVhdGVTaGFkb3dSb290KCk7Cit2YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dS
b290KGlucHV0KTsKIHNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gIjxzaGFkb3c+PC9zaGFkb3c+IjsK
IAogZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3N1Ym1pdCcpLmNsaWNrKCk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvaW5zZXJ0aW9uLXBvaW50LWxpc3QtbWVudS1j
cmFzaC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2luc2VydGlvbi1wb2ludC1s
aXN0LW1lbnUtY3Jhc2guaHRtbAppbmRleCBlYWU0NTcwYzk3MDM1OGRiN2E3OGZiMWVmNmE1MTI1
MGQwMDAxMmM5Li5lYjgxMjVlZDEwODJjMDZkOWM3MjRkZDM3ZjdkNWY2YmJiNDUwNGEyIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvaW5zZXJ0aW9uLXBvaW50LWxpc3Qt
bWVudS1jcmFzaC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9pbnNlcnRp
b24tcG9pbnQtbGlzdC1tZW51LWNyYXNoLmh0bWwKQEAgLTksMTEgKzksMTEgQEAganNUZXN0SXNB
c3luYyA9IHRydWU7CiBmdW5jdGlvbiBib29tKCkgewogICAgIHZhciBkaXYgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCdkaXYnKTsKIAotICAgIHZhciBvbGRlciA9IGRpdi53ZWJraXRDcmVhdGVT
aGFkb3dSb290KCk7CisgICAgdmFyIG9sZGVyID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2KTsK
ICAgICBvbGRlci5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKSk7CiAg
ICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmFwcGVuZENoaWxkKGRpdik7CiAKLSAgICB2YXIg
eW91bmdlciA9IGRpdi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CisgICAgdmFyIHlvdW5nZXIg
PSBuZXcgV2ViS2l0U2hhZG93Um9vdChkaXYpOwogICAgIHZhciBzZWxlY3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCdzZWxlY3QnKTsKICAgICB2YXIgc2hhZG93ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgnc2hhZG93Jyk7CiAgICAgc2VsZWN0LmFwcGVuZENoaWxkKHNoYWRvdyk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvaW5zZXJ0aW9uLXBvaW50LXJlc2V0
U3R5bGVJbmhlcml0YW5jZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2luc2Vy
dGlvbi1wb2ludC1yZXNldFN0eWxlSW5oZXJpdGFuY2UuaHRtbAppbmRleCAxNjRkNmM1MGVmZTNj
OTg3NmY3NjNmMzQ5NzhjNTM3ODFhNWZiODdjLi44MGU1MzFlNjg5ZmI4OGYyN2EwOTkyYmQ1OTQw
NDY2YzYyMjFjYjQzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvaW5z
ZXJ0aW9uLXBvaW50LXJlc2V0U3R5bGVJbmhlcml0YW5jZS5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL3NoYWRvdy9pbnNlcnRpb24tcG9pbnQtcmVzZXRTdHlsZUluaGVyaXRhbmNlLmh0
bWwKQEAgLTE0LDcgKzE0LDcgQEAgZnVuY3Rpb24gdGVzdE5vUmVzZXRTdHlsZUluaGVyaXRhbmNl
KCkgewogICAgIGRlYnVnKCJUZXN0IGNhc2U6IG5vIHJlc2V0LXN0eWxlLWluaGVyaXRhbmNlLiBj
b2xvciB2YWx1ZSBzaG91bGQgYmUgaW5oZXJpdGVkIGZyb20gdGhlIHNoYWRvdyBob3N0LiIpOwog
ICAgIHZhciBkaXYgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbm8tcmVzZXQtc3R5bGUtaW5o
ZXJpdGFuY2UnKTsKIAotICAgIHZhciBzaGFkb3dSb290ID0gZGl2LndlYmtpdENyZWF0ZVNoYWRv
d1Jvb3QoKTsKKyAgICB2YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGRpdik7
CiAgICAgc2hhZG93Um9vdC5pbm5lckhUTUwgPSAnPGNvbnRlbnQgaWQ9ImNvbnRlbnQiPjwvY29u
dGVudD4nOwogICAgIAogICAgIHNoYWRvd1Jvb3QuZ2V0RWxlbWVudEJ5SWQoJ2NvbnRlbnQnKS5y
ZXNldFN0eWxlSW5oZXJpdGFuY2UgPSBmYWxzZTsKQEAgLTI2LDcgKzI2LDcgQEAgZnVuY3Rpb24g
dGVzdFJlc2V0U3R5bGVJbmhlcml0YW5jZSgpIHsKICAgICBkZWJ1ZygiVGVzdCBjYXNlOiByZXNl
dC1zdHlsZS1pbmhlcnRpYWNlIGJhc2ljIHRlc3QuIGNvbG9yIHZhbHVlIHNob3VsZCBiZSBpbml0
aWFsIGJlY2F1c2UgaW5zZXJ0aW9uIHBvaW50J3MgcmVzZXRTdHlsZUluaGVyaXRhbmNlIGlzIHRy
dWUuIik7CiAgICAgdmFyIGRpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXNldC1zdHls
ZS1pbmhlcml0YW5jZScpOwogCi0gICAgdmFyIHNoYWRvd1Jvb3QgPSBkaXYud2Via2l0Q3JlYXRl
U2hhZG93Um9vdCgpOworICAgIHZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qo
ZGl2KTsKICAgICBzaGFkb3dSb290LmlubmVySFRNTCA9ICc8Y29udGVudCBpZD0iY29udGVudCI+
PC9jb250ZW50Pic7CiAKICAgICBzaGFkb3dSb290LmdldEVsZW1lbnRCeUlkKCdjb250ZW50Jyku
cmVzZXRTdHlsZUluaGVyaXRhbmNlID0gdHJ1ZTsKQEAgLTM4LDcgKzM4LDcgQEAgZnVuY3Rpb24g
dGVzdFJlc2V0U3R5bGVJbmhlcml0YW5jZVdpdGhBdHRyaWJ1dGUoKSB7CiAgICAgZGVidWcoIlRl
c3QgY2FzZTogbWFrZSBhIGNvbnRlbnQgZWxlbWVudCByZXNldC1zdHlsZS1pbmhlcnRpYWNlIGJ5
IHVzaW5nIGl0cyBhdHRyaWJ1dGUuIGNvbG9yIHZhbHVlIHNob3VsZCBiZSBpbml0aWFsIGJlY2F1
c2UgaW5zZXJ0aW9uIHBvaW50J3MgcmVzZXRTdHlsZUluaGVyaXRhbmNlIGlzIHRydWUuIik7CiAg
ICAgdmFyIGRpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXNldC1zdHlsZS1pbmhlcml0
YW5jZScpOwogCi0gICAgdmFyIHNoYWRvd1Jvb3QgPSBkaXYud2Via2l0Q3JlYXRlU2hhZG93Um9v
dCgpOworICAgIHZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2KTsKICAg
ICBzaGFkb3dSb290LmlubmVySFRNTCA9ICc8Y29udGVudCBpZD0iY29udGVudCIgcmVzZXQtc3R5
bGUtaW5oZXJpdGFuY2U+PC9jb250ZW50Pic7CiAKICAgICBzaG91bGRCZSgnd2luZG93LmdldENv
bXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc2V0LXN0eWxlLWluaGVyaXRh
bmNlIikuZmlyc3RDaGlsZCkuY29sb3InLCAnInJnYigwLCAwLCAwKSInKTsKQEAgLTQ5LDcgKzQ5
LDcgQEAgZnVuY3Rpb24gdGVzdFNoYWRvd1Jlc2V0U3R5bGVJbmhlcml0YW5jZVdpdGhBdHRyaWJ1
dGUoKSB7CiAgICAgZGVidWcoIlRlc3QgY2FzZTogbWFrZSBhIHNoYWRvdyBlbGVtZW50IHJlc2V0
LXN0eWxlLWluaGVydGlhY2UgYnkgdXNpbmcgaXRzIGF0dHJpYnV0ZS4gY29sb3IgdmFsdWUgc2hv
dWxkIGJlIGluaXRpYWwgYmVjYXVzZSBpbnNlcnRpb24gcG9pbnQncyByZXNldFN0eWxlSW5oZXJp
dGFuY2UgaXMgdHJ1ZS4iKTsKICAgICB2YXIgZGl2ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J3Jlc2V0LXN0eWxlLWluaGVyaXRhbmNlJyk7CiAKLSAgICB2YXIgc2hhZG93Um9vdCA9IGRpdi53
ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CisgICAgdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0
U2hhZG93Um9vdChkaXYpOwogICAgIHNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gJzxzaGFkb3cgaWQ9
ImNvbnRlbnQiIHJlc2V0LXN0eWxlLWluaGVyaXRhbmNlPjwvY29udGVudD4nOwogCiAgICAgc2hv
dWxkQmUoJ3dpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJy
ZXNldC1zdHlsZS1pbmhlcml0YW5jZSIpLmZpcnN0Q2hpbGQpLmNvbG9yJywgJyJyZ2IoMCwgMCwg
MCkiJyk7CkBAIC02MCw3ICs2MCw3IEBAIGZ1bmN0aW9uIHRlc3RSZXNldFN0eWxlSW5oZXJpdGFu
Y2VEeW5hbWljKCkgewogICAgIGRlYnVnKCJUZXN0IGNhc2U6IHJlc2V0LXN0eWxlLWluaGVydGlh
Y2UgY2hhbmdlcyBkeW5hbWljYWxseS4gRmlyc3RseSBjb2xvciB2YWx1ZSBzaG91bGQgYmUgaW5o
ZXJpdGVkLiBOZXh0LCBpbml0aWFsLiBBdCBsYXN0LCBpbmhlcml0ZWQuIik7CiAgICAgdmFyIGRp
diA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXNldC1zdHlsZS1pbmhlcml0YW5jZS1keW5h
bWljJyk7CiAKLSAgICB2YXIgc2hhZG93Um9vdCA9IGRpdi53ZWJraXRDcmVhdGVTaGFkb3dSb290
KCk7CisgICAgdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChkaXYpOwogICAg
IHNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gJzxjb250ZW50IGlkPSJjb250ZW50Ij48L2NvbnRlbnQ+
JzsKIAogICAgIHNoYWRvd1Jvb3QuZ2V0RWxlbWVudEJ5SWQoJ2NvbnRlbnQnKS5yZXNldFN0eWxl
SW5oZXJpdGFuY2UgPSBmYWxzZTsKQEAgLTc5LDcgKzc5LDcgQEAgZnVuY3Rpb24gdGVzdFJlc2V0
U3R5bGVJbmhlcml0YW5jZUR5bmFtaWMoKSB7CiBmdW5jdGlvbiB0ZXN0UmVzZXRTdHlsZUluaGVy
aXRhbmNlV2l0aG91dENyb3NzaW5nVXBwZXJCb3VuZGFyeSgpIHsKICAgICBkZWJ1ZygiVGVzdCBj
YXNlOiB0aGUgcGFyZW50IG5vZGUgb2YgdGhlIGRpc3RyaWJ1dGVkIG5vZGUgaXMgaW4gdGhlIHNh
bWUgc2hhZG93IGRvbSBzdWJ0cmVlIGFzIHRoZSBpbnNlcnRpb24gcG9pbnQuIGNvbG9yIHZhbHVl
IHNob3VsZCBiZSBpbml0aWFsLiByZXNldC1zdHlsZS1pbmhlcml0YW5jZSBkb2Vzbid0IGRlcGVu
ZCBvbiB3aGV0aGVyIHBhcmVudCBzdHlsZSBub2RlIGlzIGluIHRoZSBzYW1lIHRyZWVzY29wZSBv
ciBub3QuIik7CiAgICAgdmFyIGRpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXNldC1i
dXQtbm90LWNyb3NzLXVwcGVyLWJvdW5kYXJ5Jyk7Ci0gICAgdmFyIHNoYWRvd1Jvb3QgPSBkaXYu
d2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOworICAgIHZhciBzaGFkb3dSb290ID0gbmV3IFdlYktp
dFNoYWRvd1Jvb3QoZGl2KTsKIAogICAgIHNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gJzxkaXYgc3R5
bGU9ImNvbG9yOmJsdWU7IGJhY2tncm91bmQtY29sb3I6Z3JlZW47Ij48Y29udGVudCBpZD0iY29u
dGVudCI+PC9jb250ZW50PjwvZGl2Pic7CiAKQEAgLTkxLDEzICs5MSwxMyBAQCBmdW5jdGlvbiB0
ZXN0UmVzZXRTdHlsZUluaGVyaXRhbmNlV2l0aG91dENyb3NzaW5nVXBwZXJCb3VuZGFyeSgpIHsK
IGZ1bmN0aW9uIHRlc3RSZXNldFN0eWxlSW5oZXJpdGFuY2VXaXRoTXVsdGlwbGVTaGFkb3dSb290
cygpIHsKICAgICBkZWJ1ZygiVGVzdCBjYXNlOiByZXNldC1zdHlsZS1pbmhlcml0YW5jZSB3aXRo
IG11bHRpcGxlIHNoYWRvdyByb290cy4gY29sb3IgdmFsdWUgc2hvdWxkIGJlIGluaXRpYWwsIGJl
Y2F1c2UgcmVzZXQtc3R5bGUtaW5oZXJpdGFuY2Ugb2YgdGhlIGluc2VydGlvbiBwb2ludCBpbiB0
aGUgeW91bmdlc3Qgc2hhZG93IHJvb3QgaXMgdHJ1ZS4iKTsKICAgICB2YXIgZGl2ID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ211bHRpcGxlLXNoYWRvdy1yb290cycpOwotICAgIHZhciBvbGRl
c3RTaGFkb3dSb290ID0gZGl2LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKKyAgICB2YXIgb2xk
ZXN0U2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGRpdik7CiAgICAgb2xkZXN0U2hh
ZG93Um9vdC5pbm5lckhUTUwgPSAnPGNvbnRlbnQgaWQ9ImNvbnRlbnQiPjwvY29udGVudD4nOwog
Ci0gICAgdmFyIHlvdW5nZXJTaGFkb3dSb290ID0gZGl2LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3Qo
KTsKKyAgICB2YXIgeW91bmdlclNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChkaXYp
OwogICAgIHlvdW5nZXJTaGFkb3dSb290LmlubmVySFRNTCA9ICc8c2hhZG93IGlkPSJzaGFkb3ci
Pjwvc2hhZG93Pic7CiAKLSAgICB2YXIgeW91bmdlc3RTaGFkb3dSb290ID0gZGl2LndlYmtpdENy
ZWF0ZVNoYWRvd1Jvb3QoKTsKKyAgICB2YXIgeW91bmdlc3RTaGFkb3dSb290ID0gbmV3IFdlYktp
dFNoYWRvd1Jvb3QoZGl2KTsKICAgICB5b3VuZ2VzdFNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gJzxz
aGFkb3cgaWQ9InNoYWRvdyI+PC9zaGFkb3c+JzsKIAogICAgIG9sZGVzdFNoYWRvd1Jvb3QuZ2V0
RWxlbWVudEJ5SWQoJ2NvbnRlbnQnKS5yZXNldFN0eWxlSW5oZXJpdGFuY2UgPSBmYWxzZTsKQEAg
LTExMCwxMCArMTEwLDEwIEBAIGZ1bmN0aW9uIHRlc3RSZXNldFN0eWxlSW5oZXJpdGFuY2VXaXRo
TXVsdGlwbGVTaGFkb3dSb290cygpIHsKIGZ1bmN0aW9uIHRlc3RSZXNldFN0eWxlSW5oZXJpdGFu
Y2VXaXRoTXVsdGlwbGVJbnNlcnRpb25Qb2ludHMoKSB7CiAgICAgZGVidWcoIlRlc3QgY2FzZTog
bXVsdGlwbGUgaW5zZXJ0aW9uIHBvaW50cyBpbiB0aGUgc2FtZSBzaGFkb3cgZG9tIHN1YnRyZWUu
LiBFYWNoIHJlc2V0LXN0eWxlLWluaGVyaXRhbmNlIHNob3VsZCBiZSBjaGVja2VkLiIpOwogICAg
IHZhciBkaXYgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbXVsdGlwbGUtaW5zZXJ0aW9uLXBv
aW50cycpOwotICAgIHZhciBvbGRlc3RTaGFkb3dSb290ID0gZGl2LndlYmtpdENyZWF0ZVNoYWRv
d1Jvb3QoKTsKKyAgICB2YXIgb2xkZXN0U2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290
KGRpdik7CiAgICAgb2xkZXN0U2hhZG93Um9vdC5pbm5lckhUTUwgPSAnPGNvbnRlbnQgaWQ9ImNv
bnRlbnQiPjwvY29udGVudD4nOwogCi0gICAgdmFyIHlvdW5nZXN0U2hhZG93Um9vdCA9IGRpdi53
ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CisgICAgdmFyIHlvdW5nZXN0U2hhZG93Um9vdCA9IG5l
dyBXZWJLaXRTaGFkb3dSb290KGRpdik7CiAgICAgeW91bmdlc3RTaGFkb3dSb290LmlubmVySFRN
TCA9ICc8Y29udGVudCBzZWxlY3Q9IjpmaXJzdC1jaGlsZCIgaWQ9ImNvbnRlbnQiPjwvY29udGVu
dD48c2hhZG93IGlkPSJzaGFkb3ciPjwvc2hhZG93Pic7CiAKICAgICB5b3VuZ2VzdFNoYWRvd1Jv
b3QuZ2V0RWxlbWVudEJ5SWQoJ2NvbnRlbnQnKS5yZXNldFN0eWxlSW5oZXJpdGFuY2UgPSBmYWxz
ZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9pbnNlcnRpb24tcG9p
bnQtc2hhZG93LWNyYXNoLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvaW5zZXJ0
aW9uLXBvaW50LXNoYWRvdy1jcmFzaC5odG1sCmluZGV4IGJhNDM3NzNkNTU4Nzc5ZGU4ZDI5MzNj
ZTJjYjE1OWZiNjY1OTI0NmMuLmFjOTQxMDhiNjBmZmZjZTIwYWQ0Zjg2ODgyMTRhMzAxOTY5MWY3
OTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9pbnNlcnRpb24tcG9p
bnQtc2hhZG93LWNyYXNoLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2lu
c2VydGlvbi1wb2ludC1zaGFkb3ctY3Jhc2guaHRtbApAQCAtOSwxMCArOSwxMCBAQCBmdW5jdGlv
biBydW5UZXN0cygpCiAgICAgdmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIp
OwogICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZGl2KTsKIAotICAgIHNoYWRvdzEgPSBk
aXYud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOworICAgIHNoYWRvdzEgPSBuZXcgV2ViS2l0U2hh
ZG93Um9vdChkaXYpOwogICAgIHNoYWRvdzEuaW5uZXJIVE1MID0gIjxzdHlsZT5kaXYgeyBjb2xv
cjogcmVkOyB9PC9zdHlsZT48ZGl2PkhFTExPPC9kaXY+IjsKIAotICAgIHNoYWRvdzIgPSBkaXYu
d2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOworICAgIHNoYWRvdzIgPSBuZXcgV2ViS2l0U2hhZG93
Um9vdChkaXYpOwogICAgIHNoYWRvdzIuaW5uZXJIVE1MID0gIjxkaXY+PHNoYWRvdz48L3NoYWRv
dz48L2Rpdj4iOwogICAgIGRvY3VtZW50LmJvZHkub2Zmc2V0TGVmdDsKICAgICBkb2N1bWVudC5i
b2R5LmlubmVySFRNTCA9ICJQQVNTIjsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3NoYWRvdy9pbnNlcnRpb24tcG9pbnQtdmlkZW8tY3Jhc2guaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy9pbnNlcnRpb24tcG9pbnQtdmlkZW8tY3Jhc2guaHRtbAppbmRleCA3OTg4
ZmIxMWFhOTE4ZDU2OTczZWFhZWVjNDNlZTg1ZjYzYzJkYmZkLi5hZjEyM2RiOWEzNjkxNTQ0YTE3
MzAwOTk5ODMwNmY5ODliNjllMDljIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvaW5zZXJ0aW9uLXBvaW50LXZpZGVvLWNyYXNoLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vc2hhZG93L2luc2VydGlvbi1wb2ludC12aWRlby1jcmFzaC5odG1sCkBAIC05LDgg
KzksOCBAQCBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKIGZ1bmN0aW9uIGJvb20oKSB7CiAgICAgZGl2
Tm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAgIGRvY3VtZW50LmRvY3Vt
ZW50RWxlbWVudC5hcHBlbmRDaGlsZChkaXZOb2RlKTsKLSAgICBkaXZTaGFkb3cxID0gZGl2Tm9k
ZS53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7Ci0gICAgZGl2U2hhZG93MiA9IGRpdk5vZGUud2Vi
a2l0Q3JlYXRlU2hhZG93Um9vdCgpOworICAgIGRpdlNoYWRvdzEgPSBuZXcgV2ViS2l0U2hhZG93
Um9vdChkaXZOb2RlKTsKKyAgICBkaXZTaGFkb3cyID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2
Tm9kZSk7CiAgICAgCiAgICAgdmlkZW9Ob2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndmlk
ZW8nKTsKICAgICBkaXZTaGFkb3cyLmFwcGVuZENoaWxkKHZpZGVvTm9kZSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvaW52YWxpZGF0ZS1kaXN0cmlidXRpb24uaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9pbnZhbGlkYXRlLWRpc3RyaWJ1dGlvbi5o
dG1sCmluZGV4IGQ2N2QwYzBmYTkwYmY4NDhlOTk2MDQxY2Y5ZWJlODlkOWNiZTEwMjMuLmIzOTA1
MWJkOTQ3YTUxOTRlNmIxNTQ3NTcyMjZjYzVjZDFiZTMwYWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NoYWRvdy9pbnZhbGlkYXRlLWRpc3RyaWJ1dGlvbi5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9pbnZhbGlkYXRlLWRpc3RyaWJ1dGlvbi5odG1sCkBA
IC04LDExICs4LDExIEBACiBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgdGVzdFJ1bm5lci53
YWl0VW50aWxEb25lKCk7CiAKLXZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFk
b3dSb290KCk7Cit2YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwog
c2hhZG93Um9vdC5pbm5lckhUTUwgPSAiPHA+b2xkZXN0IHNoYWRvdzwvcD4iCiAKIHNldFRpbWVv
dXQoZnVuY3Rpb24oKSB7Ci0gICAgdmFyIHNoYWRvd1Jvb3QyID0gaG9zdC53ZWJraXRDcmVhdGVT
aGFkb3dSb290KCk7CisgICAgdmFyIHNoYWRvd1Jvb3QyID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qo
aG9zdCk7CiAgICAgc2hhZG93Um9vdDIuaW5uZXJIVE1MID0gIjxwPnlvdW5nZXIgc2hhZG93PC9w
PiI7CiAKICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvbGluay1pbi1zaGFkb3ctdHJlZS5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vc2hhZG93L2xpbmstaW4tc2hhZG93LXRyZWUuaHRtbAppbmRleCBkNDYzZjA1MWQx
M2JlODBkMzU5MmU3ZjdkNmVlZDVhOTc2ZGZjOWFjLi5kNzdkMzNlYzU1N2U0NTg0M2VjNDQ4ZjIy
N2IyZjY5Y2E5NmNkNjk1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
bGluay1pbi1zaGFkb3ctdHJlZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy9saW5rLWluLXNoYWRvdy10cmVlLmh0bWwKQEAgLTE2LDcgKzE2LDcgQEAgZnVuY3Rpb24gY29t
cHV0ZWRCYWNrZ3JvdW5kQ29sb3IoZWxlbSkgewogCiB2YXIgY29udGFpbmVyID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoJ2NvbnRhaW5lcicpOwogCi12YXIgc2hhZG93Um9vdCA9IGNvbnRhaW5l
ci53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7Cit2YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRT
aGFkb3dSb290KGNvbnRhaW5lcik7CiAKIHZhciBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgnbGluaycpOwogbGluay5zZXRBdHRyaWJ1dGUoJ3JlbCcsICdzdHlsZXNoZWV0Jyk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvbXVsdGlwbGUtc2hhZG93cm9vdC1h
ZG9wdC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L211bHRpcGxlLXNoYWRvd3Jv
b3QtYWRvcHQuaHRtbAppbmRleCA2NDk0YWU5OTU4YmRiYTZhODcyNDdlYjVmOTJlNzMzMjk5NWQx
MjJhLi4yODM5YWU3ODI1MTI4N2U2YTg1YTdiYmIxMzM0MzgwMTIzMjgzYmJlIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvbXVsdGlwbGUtc2hhZG93cm9vdC1hZG9wdC5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9tdWx0aXBsZS1zaGFkb3dyb290
LWFkb3B0Lmh0bWwKQEAgLTEyLDggKzEyLDggQEAKIDxzY3JpcHQ+CiBmdW5jdGlvbiBkb1Rlc3Qo
KSB7CiAgICAgdmFyIHRhcmdldCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwotICAg
IHNyMSA9IHRhcmdldC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7Ci0gICAgc3IyID0gdGFyZ2V0
LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKKyAgICBzcjEgPSBuZXcgV2ViS2l0U2hhZG93Um9v
dCh0YXJnZXQpOworICAgIHNyMiA9IG5ldyBXZWJLaXRTaGFkb3dSb290KHRhcmdldCk7CiAKICAg
ICBzaG91bGRCZSgnZG9jdW1lbnQnLCAnc3IxLm93bmVyRG9jdW1lbnQnKTsKICAgICBzaG91bGRC
ZSgnc3IxLm93bmVyRG9jdW1lbnQnLCAnc3IyLm93bmVyRG9jdW1lbnQnKTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9tdWx0aXBsZS1zaGFkb3dyb290LXJlbmRlcmlu
Zy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L211bHRpcGxlLXNoYWRvd3Jvb3Qt
cmVuZGVyaW5nLmh0bWwKaW5kZXggZmY5ZmIyMzg5NGY3M2JiY2QwMmYwNmUwZWFiNzUxOWFiMGRl
NWQyZi4uNDA1OWEzMTE2MjM0ZGQyZDkwYTFlZTU2MmNhNGNlYTRiMTU4NjM1MSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L211bHRpcGxlLXNoYWRvd3Jvb3QtcmVuZGVy
aW5nLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L211bHRpcGxlLXNoYWRv
d3Jvb3QtcmVuZGVyaW5nLmh0bWwKQEAgLTIzLDEyICsyMywxMiBAQCB0ZXN0RnVuY3MucHVzaChm
dW5jdGlvbiB0ZXN0RG91YmxlU2hhZG93U3VidHJlZXMoY2FsbElmRG9uZSkgewogICAgIHZhciBy
b290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICAgcm9vdC5hcHBlbmRDaGls
ZChjcmVhdGVTcGFuV2l0aFRleHQoJ0xJR0hUJykpOwogCi0gICAgdmFyIHNyMSA9IHJvb3Qud2Vi
a2l0Q3JlYXRlU2hhZG93Um9vdCgpOworICAgIHZhciBzcjEgPSBuZXcgV2ViS2l0U2hhZG93Um9v
dChyb290KTsKICAgICBzcjEuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdCRUZPUkU6
IFNIT1VMRCBOT1QgQkUgUkVOREVSRUQnKSk7CiAgICAgc3IxLmFwcGVuZENoaWxkKGNyZWF0ZVNw
YW5XaXRoVGV4dCgnTUlEOiBTSE9VTEQgTk9UIEJFIFJFTkRFUkVEJykpOwogICAgIHNyMS5hcHBl
bmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0FGVEVSOiBTSE9VTEQgTk9UIEJFIFJFTkRFUkVE
JykpOwogCi0gICAgdmFyIHNyMiA9IHJvb3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOworICAg
IHZhciBzcjIgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChyb290KTsKICAgICBzcjIuYXBwZW5kQ2hp
bGQoY3JlYXRlU3BhbldpdGhUZXh0KCdCRUZPUkUnKSk7CiAgICAgc3IyLmFwcGVuZENoaWxkKGNy
ZWF0ZVNwYW5XaXRoVGV4dCgnTUlEJykpOwogICAgIHNyMi5hcHBlbmRDaGlsZChjcmVhdGVTcGFu
V2l0aFRleHQoJ0FGVEVSJykpOwpAQCAtNDQsMTcgKzQ0LDE3IEBAIHRlc3RGdW5jcy5wdXNoKGZ1
bmN0aW9uIHRlc3RUcmlwbGVTaGFkb3dTdWJ0cmVlcyhjYWxsSWZEb25lKSB7CiAgICAgdmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgICByb290LmFwcGVuZENoaWxk
KGNyZWF0ZVNwYW5XaXRoVGV4dCgnTElHSFQnKSk7CiAKLSAgICB2YXIgc3IxID0gcm9vdC53ZWJr
aXRDcmVhdGVTaGFkb3dSb290KCk7CisgICAgdmFyIHNyMSA9IG5ldyBXZWJLaXRTaGFkb3dSb290
KHJvb3QpOwogICAgIHNyMS5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0JFRk9SRTog
U0hPVUxEIE5PVCBCRSBSRU5ERVJFRCcpKTsKICAgICBzcjEuYXBwZW5kQ2hpbGQoY3JlYXRlU3Bh
bldpdGhUZXh0KCdNSUQ6IFNIT1VMRCBOT1QgQkUgUkVOREVSRUQnKSk7CiAgICAgc3IxLmFwcGVu
ZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQUZURVI6IFNIT1VMRCBOT1QgQkUgUkVOREVSRUQn
KSk7CiAKLSAgICB2YXIgc3IyID0gcm9vdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CisgICAg
dmFyIHNyMiA9IG5ldyBXZWJLaXRTaGFkb3dSb290KHJvb3QpOwogICAgIHNyMi5hcHBlbmRDaGls
ZChjcmVhdGVTcGFuV2l0aFRleHQoJ0JFRk9SRTogU0hPVUxEIE5PVCBCRSBSRU5ERVJFRCcpKTsK
ICAgICBzcjIuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdNSUQ6IFNIT1VMRCBOT1Qg
QkUgUkVOREVSRUQnKSk7CiAgICAgc3IyLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgn
QUZURVI6IFNIT1VMRCBOT1QgQkUgUkVOREVSRUQnKSk7CiAKLSAgICB2YXIgc3IzID0gcm9vdC53
ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CisgICAgdmFyIHNyMyA9IG5ldyBXZWJLaXRTaGFkb3dS
b290KHJvb3QpOwogICAgIHNyMy5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0JFRk9S
RScpKTsKICAgICBzcjMuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdNSUQnKSk7CiAg
ICAgc3IzLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQUZURVInKSk7CkBAIC03MCwx
MiArNzAsMTIgQEAgdGVzdEZ1bmNzLnB1c2goZnVuY3Rpb24gdGVzdFNoYWRvd1N1YnRyZWVzV2l0
aENvbnRlbnQoY2FsbElmRG9uZSkgewogICAgIHZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgnZGl2Jyk7CiAgICAgcm9vdC5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0xJ
R0hUJykpOwogCi0gICAgdmFyIHNyMSA9IHJvb3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwor
ICAgIHZhciBzcjEgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChyb290KTsKICAgICBzcjEuYXBwZW5k
Q2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdCRUZPUkU6IFNIT1VMRCBOT1QgQkUgUkVOREVSRUQn
KSk7CiAgICAgc3IxLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnTUlEOiBTSE9VTEQg
Tk9UIEJFIFJFTkRFUkVEJykpOwogICAgIHNyMS5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRl
eHQoJ0FGVEVSOiBTSE9VTEQgTk9UIEJFIFJFTkRFUkVEJykpOwogCi0gICAgdmFyIHNyMiA9IHJv
b3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOworICAgIHZhciBzcjIgPSBuZXcgV2ViS2l0U2hh
ZG93Um9vdChyb290KTsKICAgICBzcjIuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdC
RUZPUkUnKSk7CiAgICAgc3IyLmFwcGVuZENoaWxkKGNyZWF0ZUNvbnRlbnRXaXRoU2VsZWN0KCdz
cGFuJywgJ0ZBTExCQUNLJykpOwogICAgIHNyMi5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRl
eHQoJ0FGVEVSJykpOwpAQCAtOTIsMTIgKzkyLDEyIEBAIHRlc3RGdW5jcy5wdXNoKGZ1bmN0aW9u
IHRlc3RTaGFkb3dTdWJ0cmVlc1dpdGhDb250ZW50SW5PbGRlclN1YnRyZWUoY2FsbElmRG9uZSkK
ICAgICByb290LmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnTElHSFQgMScsICdjMScp
KTsKICAgICByb290LmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnTElHSFQgMicsICdj
MicpKTsKIAotICAgIHZhciBzcjEgPSByb290LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKKyAg
ICB2YXIgc3IxID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qocm9vdCk7CiAgICAgc3IxLmFwcGVuZENo
aWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQkVGT1JFOiBTSE9VTEQgTk9UIEJFIFJFTkRFUkVEJykp
OwogICAgIHNyMS5hcHBlbmRDaGlsZChjcmVhdGVDb250ZW50V2l0aFNlbGVjdCgnLmMyJywgJ0ZB
TExCQUNLJykpOwogICAgIHNyMS5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0FGVEVS
OiBTSE9VTEQgTk9UIEJFIFJFTkRFUkVEJykpOwogCi0gICAgdmFyIHNyMiA9IHJvb3Qud2Via2l0
Q3JlYXRlU2hhZG93Um9vdCgpOworICAgIHZhciBzcjIgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChy
b290KTsKICAgICBzcjIuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdCRUZPUkUnKSk7
CiAgICAgc3IyLmFwcGVuZENoaWxkKGNyZWF0ZUNvbnRlbnRXaXRoU2VsZWN0KCcuYzEnLCAnRkFM
TEJBQ0snKSk7CiAgICAgc3IyLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQUZURVIn
KSk7CkBAIC0xMTQsNyArMTE0LDcgQEAgdGVzdEZ1bmNzLnB1c2goZnVuY3Rpb24gdGVzdFNoYWRv
d1N1YnRyZWVzV2l0aER5bmFtaWNDcmVhdGlvbihjYWxsSWZEb25lKSB7CiAgICAgcm9vdC5hcHBl
bmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0xJR0hUIDEnLCAnYzEnKSk7CiAgICAgcm9vdC5h
cHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0xJR0hUIDInLCAnYzInKSk7CiAKLSAgICB2
YXIgc3IxID0gcm9vdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CisgICAgdmFyIHNyMSA9IG5l
dyBXZWJLaXRTaGFkb3dSb290KHJvb3QpOwogICAgIHNyMS5hcHBlbmRDaGlsZChjcmVhdGVTcGFu
V2l0aFRleHQoJ0JFRk9SRTogU0hPVUxEIE5PVCBCRSBSRU5ERVJFRCcpKTsKICAgICBzcjEuYXBw
ZW5kQ2hpbGQoY3JlYXRlQ29udGVudFdpdGhTZWxlY3QoJ3NwYW4nLCAnRkFMTEJBQ0sgMScpKTsK
ICAgICBzcjEuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdBRlRFUjogU0hPVUxEIE5P
VCBCRSBSRU5ERVJFRCcpKTsKQEAgLTEyMiw3ICsxMjIsNyBAQCB0ZXN0RnVuY3MucHVzaChmdW5j
dGlvbiB0ZXN0U2hhZG93U3VidHJlZXNXaXRoRHluYW1pY0NyZWF0aW9uKGNhbGxJZkRvbmUpIHsK
ICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYWN0dWFsLWNvbnRhaW5lcicpLmFwcGVuZENo
aWxkKHJvb3QpOwogCiAgICAgc2V0VGltZW91dCgoZnVuY3Rpb24oY2FsbElmRG9uZSwgcm9vdCkg
eyByZXR1cm4gZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBzcjIgPSByb290LndlYmtpdENyZWF0
ZVNoYWRvd1Jvb3QoKTsKKyAgICAgICAgdmFyIHNyMiA9IG5ldyBXZWJLaXRTaGFkb3dSb290KHJv
b3QpOwogICAgICAgICBzcjIuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdCRUZPUkUn
KSk7CiAgICAgICAgIHNyMi5hcHBlbmRDaGlsZChjcmVhdGVDb250ZW50V2l0aFNlbGVjdCgnc3Bh
bicsICdGQUxMQkFDSyAyJykpOwogICAgICAgICBzcjIuYXBwZW5kQ2hpbGQoY3JlYXRlU3Bhbldp
dGhUZXh0KCdBRlRFUicpKTsKQEAgLTEzOCwxMyArMTM4LDEzIEBAIHRlc3RGdW5jcy5wdXNoKGZ1
bmN0aW9uIHRlc3RTaGFkb3dTdWJ0cmVlc1dpdGhEeW5hbWljQ3JlYXRpb25PdXRPZlRyZWUoY2Fs
bElmRG9uCiAgICAgcm9vdC5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0xJR0hUIDEn
LCAnYzEnKSk7CiAgICAgcm9vdC5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0xJR0hU
IDInLCAnYzInKSk7CiAKLSAgICB2YXIgc3IxID0gcm9vdC53ZWJraXRDcmVhdGVTaGFkb3dSb290
KCk7CisgICAgdmFyIHNyMSA9IG5ldyBXZWJLaXRTaGFkb3dSb290KHJvb3QpOwogICAgIHNyMS5h
cHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0JFRk9SRTogU0hPVUxEIE5PVCBCRSBSRU5E
RVJFRCcpKTsKICAgICBzcjEuYXBwZW5kQ2hpbGQoY3JlYXRlQ29udGVudFdpdGhTZWxlY3QoJ3Nw
YW4nLCAnRkFMTEJBQ0sgMScpKTsKICAgICBzcjEuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhU
ZXh0KCdBRlRFUjogU0hPVUxEIE5PVCBCRSBSRU5ERVJFRCcpKTsKIAogICAgIHNldFRpbWVvdXQo
KGZ1bmN0aW9uKGNhbGxJZkRvbmUsIHJvb3QpIHsgcmV0dXJuIGZ1bmN0aW9uKCkgewotICAgICAg
ICB2YXIgc3IyID0gcm9vdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CisgICAgICAgIHZhciBz
cjIgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChyb290KTsKICAgICAgICAgc3IyLmFwcGVuZENoaWxk
KGNyZWF0ZVNwYW5XaXRoVGV4dCgnQkVGT1JFJykpOwogICAgICAgICBzcjIuYXBwZW5kQ2hpbGQo
Y3JlYXRlQ29udGVudFdpdGhTZWxlY3QoJ3NwYW4nLCAnRkFMTEJBQ0sgMicpKTsKICAgICAgICAg
c3IyLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQUZURVInKSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvbXVsdGlwbGUtc2hhZG93cm9vdC5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L211bHRpcGxlLXNoYWRvd3Jvb3QuaHRtbAppbmRl
eCAyMTFlZGI0ZDVmMDVmYTIxMTEzM2JhZmQxNWM1NGI2M2U3YjhhMGVhLi4yYTZiNTI4MGVkZDFh
ODdiMjQ3MDI4MTc1ZGQ5YTY4NjNkNDI2MTJjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvbXVsdGlwbGUtc2hhZG93cm9vdC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy9tdWx0aXBsZS1zaGFkb3dyb290Lmh0bWwKQEAgLTksMTUgKzksMTUgQEAg
ZGVzY3JpcHRpb24oIlRoaXMgdGVzdCBlbnN1cmUgdGhhdCB0aGUgbXVsdGlwbGUgc2hhZG93IHJv
b3QgaXMgYXZhaWxhYmxlLiIpOwogCiB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgn
ZGl2Jyk7CiBzaG91bGRCZSgiaW50ZXJuYWxzLnNoYWRvd1Jvb3QoZGl2KSIsICJudWxsIik7Ci12
YXIgc2hhZG93Um9vdDEgPSBkaXYud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwordmFyIHNoYWRv
d1Jvb3QxID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2KTsKIHNob3VsZEJlKCJpbnRlcm5hbHMu
c2hhZG93Um9vdChkaXYpIiwgInNoYWRvd1Jvb3QxIik7CiBzaG91bGRCZSgiaW50ZXJuYWxzLm9s
ZGVyU2hhZG93Um9vdChzaGFkb3dSb290MSkiLCAibnVsbCIpOwogCi12YXIgc2hhZG93Um9vdDIg
PSBkaXYud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpCit2YXIgc2hhZG93Um9vdDIgPSBuZXcgV2Vi
S2l0U2hhZG93Um9vdChkaXYpCiBzaG91bGRCZSgiaW50ZXJuYWxzLnNoYWRvd1Jvb3QoZGl2KSIs
ICJzaGFkb3dSb290MiIpOwogc2hvdWxkQmUoImludGVybmFscy5vbGRlclNoYWRvd1Jvb3Qoc2hh
ZG93Um9vdDIpIiwgInNoYWRvd1Jvb3QxIik7CiAKLXZhciBzaGFkb3dSb290MyA9IGRpdi53ZWJr
aXRDcmVhdGVTaGFkb3dSb290KCk7Cit2YXIgc2hhZG93Um9vdDMgPSBuZXcgV2ViS2l0U2hhZG93
Um9vdChkaXYpOwogc2hvdWxkQmUoImludGVybmFscy5zaGFkb3dSb290KGRpdikiLCAic2hhZG93
Um9vdDMiKTsKIHNob3VsZEJlKCJpbnRlcm5hbHMub2xkZXJTaGFkb3dSb290KHNoYWRvd1Jvb3Qz
KSIsICJzaGFkb3dSb290MiIpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvcGFyZW50LXRyZWUtc2NvcGUtaW4tc2hhZG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvcGFyZW50LXRyZWUtc2NvcGUtaW4tc2hhZG93Lmh0bWwKaW5kZXggMWRhNmFm
YTNjNjdjZTgyYzgyNGE5NDQzMzk2OTU5YWY0Y2M3MGFlNi4uMGEwODE5NDIwZWRlOTNjZjMyODE4
NjdkZjkzZWQyYTllNDBjYTEwZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hh
ZG93L3BhcmVudC10cmVlLXNjb3BlLWluLXNoYWRvdy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy9wYXJlbnQtdHJlZS1zY29wZS1pbi1zaGFkb3cuaHRtbApAQCAtMTIsMTMg
KzEyLDEzIEBACiAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZGl2KTsKIAogICBkZWJ1Zygi
Q3JlYXRpbmcgc2hhZG93IGRvbSBzdWJ0cmVlcyBmcm9tIHRvcCB0byBib3R0b20uIik7Ci0gIHZh
ciBzaGFkb3cxID0gZGl2LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKKyAgdmFyIHNoYWRvdzEg
PSBuZXcgV2ViS2l0U2hhZG93Um9vdChkaXYpOwogICBzaGFkb3cxLmlubmVySFRNTCA9ICI8ZGl2
IGlkPSdFJz4vZGl2PiI7CiAgIHZhciBlID0gc2hhZG93MS5nZXRFbGVtZW50QnlJZCgiRSIpOwot
ICB2YXIgc2hhZG93MiA9IGUud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOworICB2YXIgc2hhZG93
MiA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGUpOwogICBzaGFkb3cyLmlubmVySFRNTCA9ICI8ZGl2
IGlkPSdGJz48L2Rpdj4iOwogICB2YXIgZiA9IHNoYWRvdzIuZ2V0RWxlbWVudEJ5SWQoIkYiKTsK
LSAgdmFyIHNoYWRvdzMgPSBmLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKKyAgdmFyIHNoYWRv
dzMgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChmKTsKICAgc2hhZG93My5pbm5lckhUTUwgPSAiPGRp
diBpZD0nRyc+PC9kaXY+IjsKIAogICBzaG91bGRCZSgiaW50ZXJuYWxzLnBhcmVudFRyZWVTY29w
ZShzaGFkb3cxKSIsICJkb2N1bWVudCIpOwpAQCAtMzAsMTMgKzMwLDEzIEBACiAgIGRlYnVnKCJD
cmVhdGluZyBtdWx0aXBsZSBzaGFkb3cgZG9tIHN1YnRyZWVzLiIpOwogICBkaXYgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkaXYp
OwotICBzaGFkb3cxID0gZGl2LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKKyAgc2hhZG93MSA9
IG5ldyBXZWJLaXRTaGFkb3dSb290KGRpdik7CiAgIHNoYWRvdzEuaW5uZXJIVE1MID0gIjxkaXYg
aWQ9J0gnPjwvZGl2PiI7CiAKICAgdmFyIGggPSBzaGFkb3cxLmdldEVsZW1lbnRCeUlkKCJIIik7
Ci0gIHNoYWRvdzIgPSBoLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKKyAgc2hhZG93MiA9IG5l
dyBXZWJLaXRTaGFkb3dSb290KGgpOwogICBzaGFkb3cyLmlubmVySFRNTCA9ICI8ZGl2PnNoYWRv
dzI8L2Rpdj4iOwotICBzaGFkb3czID0gaC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CisgIHNo
YWRvdzMgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChoKTsKICAgc2hhZG93My5pbm5lckhUTUwgPSAi
PGRpdj5zaGFkb3czPC9kaXY+IjsKICAgc2hvdWxkQmUoImludGVybmFscy5wYXJlbnRUcmVlU2Nv
cGUoc2hhZG93MikiLCAic2hhZG93MSIpOwogICBzaG91bGRCZSgiaW50ZXJuYWxzLnBhcmVudFRy
ZWVTY29wZShzaGFkb3czKSIsICJzaGFkb3cxIik7CkBAIC00NSwxMyArNDUsMTMgQEAKIAogICBk
ZWJ1ZygiQ3JlYXRpbmcgbXVsdGlwbGUgc2hhZG93IGRvbSBzdWJ0cmVlcyBmcm9tIGJvdHRvbSB0
byB0b3AuIik7CiAgIGYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKLSAgc2hhZG93
MyA9IGYud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOworICBzaGFkb3czID0gbmV3IFdlYktpdFNo
YWRvd1Jvb3QoZik7CiAgIHNoYWRvdzMuaW5uZXJIVE1MID0gIjxkaXYgaWQ9J0cnPjwvZGl2PiI7
CiAgIGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKLSAgc2hhZG93MiA9IGUud2Vi
a2l0Q3JlYXRlU2hhZG93Um9vdCgpOworICBzaGFkb3cyID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qo
ZSk7CiAgIHNoYWRvdzIuYXBwZW5kQ2hpbGQoZik7CiAgIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoImRpdiIpOwotICBzaGFkb3cxID0gZGl2LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsK
KyAgc2hhZG93MSA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGRpdik7CiAgIHNoYWRvdzEuYXBwZW5k
Q2hpbGQoZSk7CiAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZGl2KTsKIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3BzZXVkby1hdHRyaWJ1dGUtZHluYW1pYy5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3BzZXVkby1hdHRyaWJ1dGUtZHluYW1p
Yy5odG1sCmluZGV4IDhiZWZmMGU0OThiZWQ4MTdiZTMyYmQwNzFiMzYzMmI1ZTUzMzg3M2EuLmYw
ZGEyMGYxNTI2ZTE0MDg2NzNlN2NmN2UwYjljOTljMDY1OWU1YzcgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG8tYXR0cmlidXRlLWR5bmFtaWMuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvLWF0dHJpYnV0ZS1keW5hbWljLmh0
bWwKQEAgLTIyLDcgKzIyLDcgQEAKIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB0ZXN0UnVu
bmVyLndhaXRVbnRpbERvbmUoKTsKIAotdmFyIHNoYWRvd1Jvb3QgPSBob3N0LndlYmtpdENyZWF0
ZVNoYWRvd1Jvb3QoKTsKK3ZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9z
dCk7CiB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiBkaXYud2Via2l0
UHNldWRvID0gJ3gtZm9vJzsKIGRpdi5pbm5lckhUTUwgPSAiVGhpcyBzaG91bGQgYmUgYmx1ZS4i
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3BzZXVkby1hdHRyaWJ1
dGUtcmVuZGVyaW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvLWF0
dHJpYnV0ZS1yZW5kZXJpbmcuaHRtbAppbmRleCBlODM3Njk5NzY3MWEzNTQ0NTE3N2E0MDU4ZDQ4
MWNhZTE3ZDJkMTM2Li43NjgyYjQyZjBkOWZlZDdkM2Y5NzI5OGViMjI3MGVjMzExZWRiMWI4IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvLWF0dHJpYnV0ZS1y
ZW5kZXJpbmcuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvLWF0
dHJpYnV0ZS1yZW5kZXJpbmcuaHRtbApAQCAtMTgsMTMgKzE4LDEzIEBAIGRpdjo6LXdlYmtpdC1m
b29iYXIgewogPGRpdiBpZD0iaG9zdDIiPjwvZGl2PgogCiA8c2NyaXB0PgotdmFyIHNoYWRvd1Jv
b3QxID0gaG9zdDEud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwordmFyIHNoYWRvd1Jvb3QxID0g
bmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDEpOwogdmFyIGRpdjEgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCdkaXYnKTsKIGRpdjEud2Via2l0UHNldWRvID0gJ3gtZm9vJzsKIGRpdjEuaW5uZXJI
VE1MID0gIlRoaXMgdGV4dCBzaG91bGQgYmUgcmVkLiI7CiBzaGFkb3dSb290MS5hcHBlbmRDaGls
ZChkaXYxKTsKIAotdmFyIHNoYWRvd1Jvb3QyID0gaG9zdDIud2Via2l0Q3JlYXRlU2hhZG93Um9v
dCgpOwordmFyIHNoYWRvd1Jvb3QyID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDIpOwogdmFy
IGRpdjIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKIGRpdjIud2Via2l0UHNldWRv
ID0gJy13ZWJraXQtZm9vYmFyJzsKIGRpdjIuaW5uZXJIVE1MID0gIlRoaXMgdGV4dCBzaG91bGQg
bm90IGJlIHJlZC4iOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3Bz
ZXVkb2NsYXNzLXVwZGF0ZS1jaGVja2VkLWlucHV0Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWNoZWNrZWQtaW5wdXQuaHRtbAppbmRleCBkNDQ1
ZTUyMDU1YmMzODQ1OTViZGM4YTk1OWY0ODRmNzNiN2VjZWUzLi44YTJlMzg0OGQ3ZjU0NGI4ZDE1
NWMyYTFmNDg4YTkwNDE2MjJiNDRkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWNoZWNrZWQtaW5wdXQuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWNoZWNrZWQtaW5wdXQuaHRt
bApAQCAtMzMsMTAgKzMzLDEwIEBACiBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgdGVzdFJ1
bm5lci53YWl0VW50aWxEb25lKCk7CiAKLWhvc3QxLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKS5p
bm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSJpbnB1dDpjaGVja2VkIj4nOwotaG9zdDIud2Vi
a2l0Q3JlYXRlU2hhZG93Um9vdCgpLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9ImlucHV0
OmNoZWNrZWQiPic7Ci1ob3N0My53ZWJraXRDcmVhdGVTaGFkb3dSb290KCkuaW5uZXJIVE1MID0g
Jzxjb250ZW50IHNlbGVjdD0iaW5wdXQ6Y2hlY2tlZCI+JzsKLWhvc3Q0LndlYmtpdENyZWF0ZVNo
YWRvd1Jvb3QoKS5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSJpbnB1dDpjaGVja2VkIj4n
OworbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDEpLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxl
Y3Q9ImlucHV0OmNoZWNrZWQiPic7CituZXcgV2ViS2l0U2hhZG93Um9vdChob3N0MikuaW5uZXJI
VE1MID0gJzxjb250ZW50IHNlbGVjdD0iaW5wdXQ6Y2hlY2tlZCI+JzsKK25ldyBXZWJLaXRTaGFk
b3dSb290KGhvc3QzKS5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSJpbnB1dDpjaGVja2Vk
Ij4nOworbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDQpLmlubmVySFRNTCA9ICc8Y29udGVudCBz
ZWxlY3Q9ImlucHV0OmNoZWNrZWQiPic7CiAKIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAg
aW5wdXQxLmNoZWNrZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20v
c2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1jaGVja2VkLW9wdGlvbi5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1jaGVja2VkLW9wdGlvbi5odG1s
CmluZGV4IDU5NzRiOWQzNTE4OTFhYTRmNTBkYmUxMjA4NDE4YjY3NDY5ZjI0MDcuLmI3YmFmNzll
Y2FmOWZiOWQ2NmMyMTBkZGU2ZWY5ZDI5NDI1MWZkMmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtY2hlY2tlZC1vcHRpb24uaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWNoZWNr
ZWQtb3B0aW9uLmh0bWwKQEAgLTI1LDggKzI1LDggQEAKIDxzY3JpcHQ+CiBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKIAotdmFyIHNoYWRvd1Jvb3QxID0gaG9zdDEud2Via2l0Q3JlYXRlU2hhZG93Um9v
dCgpOwotdmFyIHNoYWRvd1Jvb3QyID0gaG9zdDIud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwor
dmFyIHNoYWRvd1Jvb3QxID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDEpOwordmFyIHNoYWRv
d1Jvb3QyID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDIpOwogCiBzaGFkb3dSb290MS5pbm5l
ckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSJvcHRpb246Y2hlY2tlZCI+JzsKIHNoYWRvd1Jvb3Qy
LmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9Im9wdGlvbjpjaGVja2VkIj4nOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1kaXNh
YmxlZC1idXR0b24uaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFz
cy11cGRhdGUtZGlzYWJsZWQtYnV0dG9uLmh0bWwKaW5kZXggYTYxOWIwM2VjYjVkYWMzZTdjNjM3
YjA2ZGJjYTIzOTMxZTE5MzdjMy4uNjg2NGNhYTZlNmI4ZjY1NmYzMDVlNDQ4MTljNzZhOGM3YTlj
ZDFmMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNz
LXVwZGF0ZS1kaXNhYmxlZC1idXR0b24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWRpc2FibGVkLWJ1dHRvbi5odG1sCkBAIC0yMiw4ICsy
Miw4IEBACiBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxE
b25lKCk7CiAKLWhvc3QxLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKS5pbm5lckhUTUwgPSAnPGNv
bnRlbnQgc2VsZWN0PSI6ZGlzYWJsZWQiPjwvY29udGVudD4nOwotaG9zdDIud2Via2l0Q3JlYXRl
U2hhZG93Um9vdCgpLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9IjpkaXNhYmxlZCI+PC9j
b250ZW50Pic7CituZXcgV2ViS2l0U2hhZG93Um9vdChob3N0MSkuaW5uZXJIVE1MID0gJzxjb250
ZW50IHNlbGVjdD0iOmRpc2FibGVkIj48L2NvbnRlbnQ+JzsKK25ldyBXZWJLaXRTaGFkb3dSb290
KGhvc3QyKS5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSI6ZGlzYWJsZWQiPjwvY29udGVu
dD4nOwogCiBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgIGJ1dHRvbjIuc2V0QXR0cmlidXRl
KCdkaXNhYmxlZCcsIHRydWUpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hh
ZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1kaXNhYmxlZC1maWVsZHNldC5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1kaXNhYmxlZC1maWVsZHNldC5o
dG1sCmluZGV4IDkwOTE3N2RjZTZlMzAzYzBiZmFhNDNkNTA4MTEwODkxNDg4ZjEwZWQuLjU4NTcx
NTE4YTcyMTdlZmNmMzEwYmFiYWQ1ZTZhYjc2NTUzYmIxMGEgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtZGlzYWJsZWQtZmllbGRzZXQu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRl
LWRpc2FibGVkLWZpZWxkc2V0Lmh0bWwKQEAgLTIyLDggKzIyLDggQEAKIGlmICh3aW5kb3cudGVz
dFJ1bm5lcikKICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKIAotaG9zdDEud2Via2l0
Q3JlYXRlU2hhZG93Um9vdCgpLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9IjpkaXNhYmxl
ZCI+PC9jb250ZW50Pic7Ci1ob3N0Mi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCkuaW5uZXJIVE1M
ID0gJzxjb250ZW50IHNlbGVjdD0iOmRpc2FibGVkIj48L2NvbnRlbnQ+JzsKK25ldyBXZWJLaXRT
aGFkb3dSb290KGhvc3QxKS5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSI6ZGlzYWJsZWQi
PjwvY29udGVudD4nOworbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDIpLmlubmVySFRNTCA9ICc8
Y29udGVudCBzZWxlY3Q9IjpkaXNhYmxlZCI+PC9jb250ZW50Pic7CiAKIHNldFRpbWVvdXQoZnVu
Y3Rpb24oKSB7CiAgICAgZmllbGRzZXQyLnNldEF0dHJpYnV0ZSgnZGlzYWJsZWQnLCB0cnVlKTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRh
dGUtZGlzYWJsZWQtaW5wdXQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1
ZG9jbGFzcy11cGRhdGUtZGlzYWJsZWQtaW5wdXQuaHRtbAppbmRleCAwYWU3OWRlZjUyZDE1ZGZj
NWY2ZWFlZWYyMDIzYjkyMGE4Yjk5NWJjLi4zMmYyMWNlYzU4MTllOTJjNzBjZTExMzcyM2RiMDM4
NjcwNzEzOTQwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRv
Y2xhc3MtdXBkYXRlLWRpc2FibGVkLWlucHV0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1kaXNhYmxlZC1pbnB1dC5odG1sCkBAIC0yMiw4
ICsyMiw4IEBACiBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgdGVzdFJ1bm5lci53YWl0VW50
aWxEb25lKCk7CiAKLWhvc3QxLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKS5pbm5lckhUTUwgPSAn
PGNvbnRlbnQgc2VsZWN0PSI6ZGlzYWJsZWQiPjwvY29udGVudD4nOwotaG9zdDIud2Via2l0Q3Jl
YXRlU2hhZG93Um9vdCgpLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9IjpkaXNhYmxlZCI+
PC9jb250ZW50Pic7CituZXcgV2ViS2l0U2hhZG93Um9vdChob3N0MSkuaW5uZXJIVE1MID0gJzxj
b250ZW50IHNlbGVjdD0iOmRpc2FibGVkIj48L2NvbnRlbnQ+JzsKK25ldyBXZWJLaXRTaGFkb3dS
b290KGhvc3QyKS5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSI6ZGlzYWJsZWQiPjwvY29u
dGVudD4nOwogCiBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgIGlucHV0Mi5zZXRBdHRyaWJ1
dGUoJ2Rpc2FibGVkJywgdHJ1ZSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWRpc2FibGVkLW9wdGdyb3VwLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWRpc2FibGVkLW9wdGdyb3Vw
Lmh0bWwKaW5kZXggYjcyMmVkMTQ4NDcxNWE0ZTBlZjQ1YzRmODkwMDYzMjhjYjQzNzUwYi4uZDg4
NjAzM2Q3YTE5YWYyZTQwM2E4MjI0MzQxYzQyZGIxNDNjYjA2NyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1kaXNhYmxlZC1vcHRncm91
cC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRh
dGUtZGlzYWJsZWQtb3B0Z3JvdXAuaHRtbApAQCAtMjcsOCArMjcsOCBAQAogPHNjcmlwdD4KIGpz
VGVzdElzQXN5bmMgPSB0cnVlOwogCi12YXIgc2hhZG93Um9vdDEgPSBob3N0MS53ZWJraXRDcmVh
dGVTaGFkb3dSb290KCk7Ci12YXIgc2hhZG93Um9vdDIgPSBob3N0Mi53ZWJraXRDcmVhdGVTaGFk
b3dSb290KCk7Cit2YXIgc2hhZG93Um9vdDEgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0MSk7
Cit2YXIgc2hhZG93Um9vdDIgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0Mik7CiAKIHNoYWRv
d1Jvb3QxLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9IjpkaXNhYmxlZCI+JzsKIHNoYWRv
d1Jvb3QyLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9IjpkaXNhYmxlZCI+JzsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtZGlz
YWJsZWQtb3B0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xh
c3MtdXBkYXRlLWRpc2FibGVkLW9wdGlvbi5odG1sCmluZGV4IDQyYWQzNDAxNDMwZDYyZmI5ZDgy
NTI4YmViYmNmNWMwNTdlM2Q5MWYuLjQ1MDIyN2YzOGVkZGVmM2U4YTNmNTZkMDE5YTMyZDlkNjk5
YWQ3OGIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFz
cy11cGRhdGUtZGlzYWJsZWQtb3B0aW9uLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20v
c2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1kaXNhYmxlZC1vcHRpb24uaHRtbApAQCAtMjcsOCAr
MjcsOCBAQAogPHNjcmlwdD4KIGpzVGVzdElzQXN5bmMgPSB0cnVlOwogCi12YXIgc2hhZG93Um9v
dDEgPSBob3N0MS53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7Ci12YXIgc2hhZG93Um9vdDIgPSBo
b3N0Mi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7Cit2YXIgc2hhZG93Um9vdDEgPSBuZXcgV2Vi
S2l0U2hhZG93Um9vdChob3N0MSk7Cit2YXIgc2hhZG93Um9vdDIgPSBuZXcgV2ViS2l0U2hhZG93
Um9vdChob3N0Mik7CiAKIHNoYWRvd1Jvb3QxLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9
IjpkaXNhYmxlZCI+JzsKIHNoYWRvd1Jvb3QyLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9
IjpkaXNhYmxlZCI+JzsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9w
c2V1ZG9jbGFzcy11cGRhdGUtZGlzYWJsZWQtc2VsZWN0Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWRpc2FibGVkLXNlbGVjdC5odG1sCmluZGV4
IGY4NjhkZjI1MTc5YTkxNDU1OTJkNTNkOTZlZDY3MmM4ZDI0OWU5NTEuLmRhMDNjMTRhMDNiNDA0
Yjk1NWIyNTIxMTVjOWZlYjI4NGRhZWE4YTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtZGlzYWJsZWQtc2VsZWN0Lmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1kaXNhYmxlZC1z
ZWxlY3QuaHRtbApAQCAtMjIsOCArMjIsOCBAQAogaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAg
IHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogCi1ob3N0MS53ZWJraXRDcmVhdGVTaGFkb3dS
b290KCkuaW5uZXJIVE1MID0gJzxjb250ZW50IHNlbGVjdD0iOmRpc2FibGVkIj48L2NvbnRlbnQ+
JzsKLWhvc3QyLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKS5pbm5lckhUTUwgPSAnPGNvbnRlbnQg
c2VsZWN0PSI6ZGlzYWJsZWQiPjwvY29udGVudD4nOworbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9z
dDEpLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9IjpkaXNhYmxlZCI+PC9jb250ZW50Pic7
CituZXcgV2ViS2l0U2hhZG93Um9vdChob3N0MikuaW5uZXJIVE1MID0gJzxjb250ZW50IHNlbGVj
dD0iOmRpc2FibGVkIj48L2NvbnRlbnQ+JzsKIAogc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAg
ICBzZWxlY3QyLnNldEF0dHJpYnV0ZSgnZGlzYWJsZWQnLCB0cnVlKTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtZGlzYWJsZWQtdGV4
dGFyZWEuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRh
dGUtZGlzYWJsZWQtdGV4dGFyZWEuaHRtbAppbmRleCBmODY0OGJlYjYzNjk4OWUwNDhjZWVjMjcw
YzY0NzMyOTc3YjljN2Y2Li5kNzVmNGNjNTkzYjA0ZjY3NTFlY2EyMTYzN2E3ODFmN2NhNTJhNDg4
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBk
YXRlLWRpc2FibGVkLXRleHRhcmVhLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hh
ZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1kaXNhYmxlZC10ZXh0YXJlYS5odG1sCkBAIC0yMiw4ICsy
Miw4IEBACiBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxE
b25lKCk7CiAKLWhvc3QxLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKS5pbm5lckhUTUwgPSAnPGNv
bnRlbnQgc2VsZWN0PSI6ZGlzYWJsZWQiPjwvY29udGVudD4nOwotaG9zdDIud2Via2l0Q3JlYXRl
U2hhZG93Um9vdCgpLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9IjpkaXNhYmxlZCI+PC9j
b250ZW50Pic7CituZXcgV2ViS2l0U2hhZG93Um9vdChob3N0MSkuaW5uZXJIVE1MID0gJzxjb250
ZW50IHNlbGVjdD0iOmRpc2FibGVkIj48L2NvbnRlbnQ+JzsKK25ldyBXZWJLaXRTaGFkb3dSb290
KGhvc3QyKS5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSI6ZGlzYWJsZWQiPjwvY29udGVu
dD4nOwogCiBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgIHRleHRhcmVhMi5zZXRBdHRyaWJ1
dGUoJ2Rpc2FibGVkJywgdHJ1ZSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWVuYWJsZWQtYW5jaG9yLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWVuYWJsZWQtYW5jaG9yLmh0bWwK
aW5kZXggYjUwNWIzODQ0NGExYzZiMTdjZDljZWIwODMyYjIyMWJhNTI3YjY4Mi4uOTY5MTQwNGM5
OTNkYWJjYWE5NjQ5ZmUzNzI3YTYwNzMyNWEzZDdhNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1lbmFibGVkLWFuY2hvci5odG1sCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtZW5hYmxl
ZC1hbmNob3IuaHRtbApAQCAtMjIsOCArMjIsOCBAQAogaWYgKHdpbmRvdy50ZXN0UnVubmVyKQog
ICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogCi1ob3N0MS53ZWJraXRDcmVhdGVTaGFk
b3dSb290KCkuaW5uZXJIVE1MID0gJzxjb250ZW50IHNlbGVjdD0iOmVuYWJsZWQiPjwvY29udGVu
dD4nOwotaG9zdDIud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpLmlubmVySFRNTCA9ICc8Y29udGVu
dCBzZWxlY3Q9IjplbmFibGVkIj48L2NvbnRlbnQ+JzsKK25ldyBXZWJLaXRTaGFkb3dSb290KGhv
c3QxKS5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSI6ZW5hYmxlZCI+PC9jb250ZW50Pic7
CituZXcgV2ViS2l0U2hhZG93Um9vdChob3N0MikuaW5uZXJIVE1MID0gJzxjb250ZW50IHNlbGVj
dD0iOmVuYWJsZWQiPjwvY29udGVudD4nOwogCiBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAg
IGFuY2hvcjIucmVtb3ZlQXR0cmlidXRlKCdocmVmJyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWVuYWJsZWQtYXJlYS5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1lbmFibGVkLWFy
ZWEuaHRtbAppbmRleCAwMjlhMTliM2UxMGM0N2YxMTA5MDM2MmE4MDczZmVjOThkNmQyZGJmLi4x
NTg3YmFiZGNiY2M0Y2Y2OGNhNjc3OTgxYzBmZDQ1YjA0YzQ4MTlmIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWVuYWJsZWQtYXJlYS5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUt
ZW5hYmxlZC1hcmVhLmh0bWwKQEAgLTQxLDggKzQxLDggQEAgaG9zdDEuYXBwZW5kQ2hpbGQoYXJl
YTIpOwogaG9zdDIuYXBwZW5kQ2hpbGQoYXJlYTMpOwogaG9zdDIuYXBwZW5kQ2hpbGQoYXJlYTQp
OwogCi1ob3N0MS53ZWJraXRDcmVhdGVTaGFkb3dSb290KCkuaW5uZXJIVE1MID0gJzxjb250ZW50
IHNlbGVjdD0iYXJlYTplbmFibGVkIj48L2NvbnRlbnQ+JzsKLWhvc3QyLndlYmtpdENyZWF0ZVNo
YWRvd1Jvb3QoKS5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSJhcmVhOmVuYWJsZWQiPjwv
Y29udGVudD4nOworbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDEpLmlubmVySFRNTCA9ICc8Y29u
dGVudCBzZWxlY3Q9ImFyZWE6ZW5hYmxlZCI+PC9jb250ZW50Pic7CituZXcgV2ViS2l0U2hhZG93
Um9vdChob3N0MikuaW5uZXJIVE1MID0gJzxjb250ZW50IHNlbGVjdD0iYXJlYTplbmFibGVkIj48
L2NvbnRlbnQ+JzsKIAogc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICBhcmVhMi5yZW1vdmVB
dHRyaWJ1dGUoJ2hyZWYnKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy9wc2V1ZG9jbGFzcy11cGRhdGUtZW5hYmxlZC1idXR0b24uaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtZW5hYmxlZC1idXR0b24uaHRtbAppbmRl
eCA3ZDc1ZTI1MjAyYjU2ODY4ZjQwNWE2MjcyMjY2NTY2MDgxMWUzMDVjLi5kNjhhMGY2ZjM0NGJl
M2ZiNWFjYzY3YjNmODdmNjg2MzZmY2E3YzMzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWVuYWJsZWQtYnV0dG9uLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1lbmFibGVkLWJ1
dHRvbi5odG1sCkBAIC0yMiw4ICsyMiw4IEBACiBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAg
dGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAKLWhvc3QxLndlYmtpdENyZWF0ZVNoYWRvd1Jv
b3QoKS5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSI6ZW5hYmxlZCI+PC9jb250ZW50Pic7
Ci1ob3N0Mi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCkuaW5uZXJIVE1MID0gJzxjb250ZW50IHNl
bGVjdD0iOmVuYWJsZWQiPjwvY29udGVudD4nOworbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDEp
LmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9IjplbmFibGVkIj48L2NvbnRlbnQ+JzsKK25l
dyBXZWJLaXRTaGFkb3dSb290KGhvc3QyKS5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSI6
ZW5hYmxlZCI+PC9jb250ZW50Pic7CiAKIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgYnV0
dG9uMi5zZXRBdHRyaWJ1dGUoJ2Rpc2FibGVkJywgdHJ1ZSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWVuYWJsZWQtZmllbGRzZXQu
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtZW5h
YmxlZC1maWVsZHNldC5odG1sCmluZGV4IDgzODUzNDA2NGQ4MGY5YmVmZWY5YTQ3YjI1NTQ3OGMw
MGMzMjBkMTcuLmQ3ODVmNmI5ZDBlOGUzMjY4MWFjMDM4NjM1MTc5NTBlZDNlNzA0NjcgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtZW5h
YmxlZC1maWVsZHNldC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1
ZG9jbGFzcy11cGRhdGUtZW5hYmxlZC1maWVsZHNldC5odG1sCkBAIC0yMiw4ICsyMiw4IEBACiBp
ZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAK
LWhvc3QxLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKS5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2Vs
ZWN0PSI6ZW5hYmxlZCI+PC9jb250ZW50Pic7Ci1ob3N0Mi53ZWJraXRDcmVhdGVTaGFkb3dSb290
KCkuaW5uZXJIVE1MID0gJzxjb250ZW50IHNlbGVjdD0iOmVuYWJsZWQiPjwvY29udGVudD4nOwor
bmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDEpLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9
IjplbmFibGVkIj48L2NvbnRlbnQ+JzsKK25ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QyKS5pbm5l
ckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSI6ZW5hYmxlZCI+PC9jb250ZW50Pic7CiAKIHNldFRp
bWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgZmllbGRzZXQyLnNldEF0dHJpYnV0ZSgnZGlzYWJsZWQn
LCB0cnVlKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9j
bGFzcy11cGRhdGUtZW5hYmxlZC1pbnB1dC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hh
ZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1lbmFibGVkLWlucHV0Lmh0bWwKaW5kZXggMGQ3Yjk0MGUz
ZTJkMGY3NjNlM2RlNzRjZTNjYjFmMDRjNWU4NjEzOC4uMDkxMzczYzRmMzlkMzk2NWQ1ODZhNWUz
MTU2NWI5YWRkNmVlZDFmYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93
L3BzZXVkb2NsYXNzLXVwZGF0ZS1lbmFibGVkLWlucHV0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1lbmFibGVkLWlucHV0Lmh0bWwKQEAg
LTIyLDggKzIyLDggQEAKIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB0ZXN0UnVubmVyLndh
aXRVbnRpbERvbmUoKTsKIAotaG9zdDEud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpLmlubmVySFRN
TCA9ICc8Y29udGVudCBzZWxlY3Q9IjplbmFibGVkIj48L2NvbnRlbnQ+JzsKLWhvc3QyLndlYmtp
dENyZWF0ZVNoYWRvd1Jvb3QoKS5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSI6ZW5hYmxl
ZCI+PC9jb250ZW50Pic7CituZXcgV2ViS2l0U2hhZG93Um9vdChob3N0MSkuaW5uZXJIVE1MID0g
Jzxjb250ZW50IHNlbGVjdD0iOmVuYWJsZWQiPjwvY29udGVudD4nOworbmV3IFdlYktpdFNoYWRv
d1Jvb3QoaG9zdDIpLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9IjplbmFibGVkIj48L2Nv
bnRlbnQ+JzsKIAogc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICBpbnB1dDIuc2V0QXR0cmli
dXRlKCdkaXNhYmxlZCcsIHRydWUpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20v
c2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1lbmFibGVkLW9wdGdyb3VwLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWVuYWJsZWQtb3B0Z3JvdXAu
aHRtbAppbmRleCA4ZDMyMjU1YzdjMDY4NzcyYWM5NGZlZTRmOGRlZWIyMTViMTZiMTU5Li41Nzcw
NTdkN2U4NGEwYWFhYzFiOTE3ZTM5MjVhZWRmNGY2NTdmNDVhIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWVuYWJsZWQtb3B0Z3JvdXAu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRl
LWVuYWJsZWQtb3B0Z3JvdXAuaHRtbApAQCAtMjcsOCArMjcsOCBAQAogPHNjcmlwdD4KIGpzVGVz
dElzQXN5bmMgPSB0cnVlOwogCi12YXIgc2hhZG93Um9vdDEgPSBob3N0MS53ZWJraXRDcmVhdGVT
aGFkb3dSb290KCk7Ci12YXIgc2hhZG93Um9vdDIgPSBob3N0Mi53ZWJraXRDcmVhdGVTaGFkb3dS
b290KCk7Cit2YXIgc2hhZG93Um9vdDEgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0MSk7Cit2
YXIgc2hhZG93Um9vdDIgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0Mik7CiAKIHNoYWRvd1Jv
b3QxLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9IjplbmFibGVkIj4nOwogc2hhZG93Um9v
dDIuaW5uZXJIVE1MID0gJzxjb250ZW50IHNlbGVjdD0iOmVuYWJsZWQiPic7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWVuYWJsZWQt
b3B0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBk
YXRlLWVuYWJsZWQtb3B0aW9uLmh0bWwKaW5kZXggYzI1MjZkNTU0ZmE2M2UyMmJkNzBjZmVhMzRk
NzhkODgyYjcwZjM0Mi4uNDU1ZWQ3ZDg3ZTM3MWFiZjY4N2U1YTM1ZmE3MmFiNGY0N2FmNDNlMCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0
ZS1lbmFibGVkLW9wdGlvbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9w
c2V1ZG9jbGFzcy11cGRhdGUtZW5hYmxlZC1vcHRpb24uaHRtbApAQCAtMjcsOCArMjcsOCBAQAog
PHNjcmlwdD4KIGpzVGVzdElzQXN5bmMgPSB0cnVlOwogCi12YXIgc2hhZG93Um9vdDEgPSBob3N0
MS53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7Ci12YXIgc2hhZG93Um9vdDIgPSBob3N0Mi53ZWJr
aXRDcmVhdGVTaGFkb3dSb290KCk7Cit2YXIgc2hhZG93Um9vdDEgPSBuZXcgV2ViS2l0U2hhZG93
Um9vdChob3N0MSk7Cit2YXIgc2hhZG93Um9vdDIgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0
Mik7CiAKIHNoYWRvd1Jvb3QxLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9IjplbmFibGVk
Ij4nOwogc2hhZG93Um9vdDIuaW5uZXJIVE1MID0gJzxjb250ZW50IHNlbGVjdD0iOmVuYWJsZWQi
Pic7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3Mt
dXBkYXRlLWVuYWJsZWQtc2VsZWN0Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
cHNldWRvY2xhc3MtdXBkYXRlLWVuYWJsZWQtc2VsZWN0Lmh0bWwKaW5kZXggNTM5Zjg2N2U0YWZk
Y2YxYmI0MTNiMmRjZmQ4OTYwZTRhMmUyMDhjNS4uODBiMWQ2ZjcwOWMyMDNhMTNiMTk2MzEyZWM5
YjljMjM5M2JlMjVjOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3Bz
ZXVkb2NsYXNzLXVwZGF0ZS1lbmFibGVkLXNlbGVjdC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtZW5hYmxlZC1zZWxlY3QuaHRtbApAQCAt
MjIsOCArMjIsOCBAQAogaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgIHRlc3RSdW5uZXIud2Fp
dFVudGlsRG9uZSgpOwogCi1ob3N0MS53ZWJraXRDcmVhdGVTaGFkb3dSb290KCkuaW5uZXJIVE1M
ID0gJzxjb250ZW50IHNlbGVjdD0iOmVuYWJsZWQiPjwvY29udGVudD4nOwotaG9zdDIud2Via2l0
Q3JlYXRlU2hhZG93Um9vdCgpLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9IjplbmFibGVk
Ij48L2NvbnRlbnQ+JzsKK25ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QxKS5pbm5lckhUTUwgPSAn
PGNvbnRlbnQgc2VsZWN0PSI6ZW5hYmxlZCI+PC9jb250ZW50Pic7CituZXcgV2ViS2l0U2hhZG93
Um9vdChob3N0MikuaW5uZXJIVE1MID0gJzxjb250ZW50IHNlbGVjdD0iOmVuYWJsZWQiPjwvY29u
dGVudD4nOwogCiBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgIHNlbGVjdDIuc2V0QXR0cmli
dXRlKCdkaXNhYmxlZCcsIHRydWUpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20v
c2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1lbmFibGVkLXRleHRhcmVhLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWVuYWJsZWQtdGV4dGFyZWEu
aHRtbAppbmRleCAwNTE3N2VlYmJiOTgzNmI3YjE1MTYxOTNiM2M4MWY0MTQzMWM3OGMwLi4zNGMw
YmMzNzEyMjhlZmY2NmE4MDgyNDMxNDAyOTViYjNlZGQ5ZDg1IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWVuYWJsZWQtdGV4dGFyZWEu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRl
LWVuYWJsZWQtdGV4dGFyZWEuaHRtbApAQCAtMjIsOCArMjIsOCBAQAogaWYgKHdpbmRvdy50ZXN0
UnVubmVyKQogICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogCi1ob3N0MS53ZWJraXRD
cmVhdGVTaGFkb3dSb290KCkuaW5uZXJIVE1MID0gJzxjb250ZW50IHNlbGVjdD0iOmVuYWJsZWQi
PjwvY29udGVudD4nOwotaG9zdDIud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpLmlubmVySFRNTCA9
ICc8Y29udGVudCBzZWxlY3Q9IjplbmFibGVkIj48L2NvbnRlbnQ+JzsKK25ldyBXZWJLaXRTaGFk
b3dSb290KGhvc3QxKS5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSI6ZW5hYmxlZCI+PC9j
b250ZW50Pic7CituZXcgV2ViS2l0U2hhZG93Um9vdChob3N0MikuaW5uZXJIVE1MID0gJzxjb250
ZW50IHNlbGVjdD0iOmVuYWJsZWQiPjwvY29udGVudD4nOwogCiBzZXRUaW1lb3V0KGZ1bmN0aW9u
KCkgewogICAgIHRleHRhcmVhMi5zZXRBdHRyaWJ1dGUoJ2Rpc2FibGVkJywgdHJ1ZSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWlu
ZGV0ZXJtaW5hdGUtaW5wdXQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1
ZG9jbGFzcy11cGRhdGUtaW5kZXRlcm1pbmF0ZS1pbnB1dC5odG1sCmluZGV4IDA1NGU0NGI2NWQz
OWVkNGE1Zjk2YjA1OTU1OGJhNzZkMGJiZTM1NzIuLjFhODZhNTc5ODk1NDE1OGQ4ZGU0ZDFmYTJh
NmE1MWNlMWZkNzFkZWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9w
c2V1ZG9jbGFzcy11cGRhdGUtaW5kZXRlcm1pbmF0ZS1pbnB1dC5odG1sCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtaW5kZXRlcm1pbmF0ZS1pbnB1
dC5odG1sCkBAIC0zMCw3ICszMCw3IEBAIGlucHV0Mi5pbmRldGVybWluYXRlID0gdHJ1ZTsKIGlu
cHV0NC5pbmRldGVybWluYXRlID0gdHJ1ZTsKIGlucHV0NS5pbmRldGVybWluYXRlID0gdHJ1ZTsK
IAotdmFyIHNoYWRvd1Jvb3QgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKK3ZhciBz
aGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7CiBzaGFkb3dSb290LmlubmVy
SFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9InNwYW4sIGlucHV0OmluZGV0ZXJtaW5hdGUiPjwvY29u
dGVudD4nOwogCiBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1pbmRldGVybWluYXRlLXByb2dy
ZXNzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRl
LWluZGV0ZXJtaW5hdGUtcHJvZ3Jlc3MuaHRtbAppbmRleCBhZWQ3ZmM5MzI0OTlhNzcyYzQ3MTli
N2EwOGY0MjUwYjBkMGM3NzgyLi4xNjM3NTNhZWNjNzRhMzY5MmNiZGM5NWE4MmFmYWIyZGI5YjIx
MWY2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3Mt
dXBkYXRlLWluZGV0ZXJtaW5hdGUtcHJvZ3Jlc3MuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWluZGV0ZXJtaW5hdGUtcHJvZ3Jlc3MuaHRt
bApAQCAtMjIsNyArMjIsNyBAQCBwcm9ncmVzcyB7CiBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAg
ICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAKLXZhciBzaGFkb3dSb290ID0gaG9zdC53
ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7Cit2YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFk
b3dSb290KGhvc3QpOwogc2hhZG93Um9vdC5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSJz
cGFuLHByb2dyZXNzOmluZGV0ZXJtaW5hdGUiPjwvY29udGVudD4nOwogcHJvZ3Jlc3MxLnZhbHVl
ID0gJzMwJzsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3BzZXVk
b2NsYXNzLXVwZGF0ZS1saW5rLWFuY2hvci5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hh
ZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1saW5rLWFuY2hvci5odG1sCmluZGV4IGIzM2NlNWZjZWRk
NWY5YjNhMTI2OGMzOTE2NGFiNDRkMjgwMmIxODQuLjcwYjBlZDRhZDE1MGRlMWViZWJhNjQ2OWIw
NzhmOWM1ZTY1NmJlZjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9w
c2V1ZG9jbGFzcy11cGRhdGUtbGluay1hbmNob3IuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWxpbmstYW5jaG9yLmh0bWwKQEAgLTIyLDgg
KzIyLDggQEAKIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB0ZXN0UnVubmVyLndhaXRVbnRp
bERvbmUoKTsKIAotaG9zdDEud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpLmlubmVySFRNTCA9ICc8
Y29udGVudCBzZWxlY3Q9IjpsaW5rIj48L2NvbnRlbnQ+JzsKLWhvc3QyLndlYmtpdENyZWF0ZVNo
YWRvd1Jvb3QoKS5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSI6bGluayI+PC9jb250ZW50
Pic7CituZXcgV2ViS2l0U2hhZG93Um9vdChob3N0MSkuaW5uZXJIVE1MID0gJzxjb250ZW50IHNl
bGVjdD0iOmxpbmsiPjwvY29udGVudD4nOworbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDIpLmlu
bmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9IjpsaW5rIj48L2NvbnRlbnQ+JzsKIAogc2V0VGlt
ZW91dChmdW5jdGlvbigpIHsKICAgICBhbmNob3IyLnJlbW92ZUF0dHJpYnV0ZSgnaHJlZicpOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0
ZS1saW5rLWFyZWEuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFz
cy11cGRhdGUtbGluay1hcmVhLmh0bWwKaW5kZXggM2FiYzJhZTFmMTFkMzg1ZDRlNGE3YjRmOTgw
ODk2Mjc2MzA2ZWQxNi4uY2UyYzZhNmMxNTBiMjMyN2Q2YTRlMGU0NDA0YTk3NzgxMjY1NGJlYyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0
ZS1saW5rLWFyZWEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRv
Y2xhc3MtdXBkYXRlLWxpbmstYXJlYS5odG1sCkBAIC00MSw4ICs0MSw4IEBAIGhvc3QxLmFwcGVu
ZENoaWxkKGFyZWEyKTsKIGhvc3QyLmFwcGVuZENoaWxkKGFyZWEzKTsKIGhvc3QyLmFwcGVuZENo
aWxkKGFyZWE0KTsKIAotaG9zdDEud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpLmlubmVySFRNTCA9
ICc8Y29udGVudCBzZWxlY3Q9ImFyZWE6bGluayI+PC9jb250ZW50Pic7Ci1ob3N0Mi53ZWJraXRD
cmVhdGVTaGFkb3dSb290KCkuaW5uZXJIVE1MID0gJzxjb250ZW50IHNlbGVjdD0iYXJlYTpsaW5r
Ij48L2NvbnRlbnQ+JzsKK25ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QxKS5pbm5lckhUTUwgPSAn
PGNvbnRlbnQgc2VsZWN0PSJhcmVhOmxpbmsiPjwvY29udGVudD4nOworbmV3IFdlYktpdFNoYWRv
d1Jvb3QoaG9zdDIpLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9ImFyZWE6bGluayI+PC9j
b250ZW50Pic7CiAKIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgYXJlYTIucmVtb3ZlQXR0
cmlidXRlKCdocmVmJyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
cHNldWRvY2xhc3MtdXBkYXRlLXRhcmdldC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hh
ZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS10YXJnZXQuaHRtbAppbmRleCA0MThmMWZlMThlZmI5NWE5
MmMyODE5MWI2YmM4NjlkMTEyYWQ0NWFlLi4zOWE0NjcyZDA1MzQ4ZmZhYjI4YzFkNTMyM2I1NGY5
ZTg0MTE2NGY5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRv
Y2xhc3MtdXBkYXRlLXRhcmdldC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy9wc2V1ZG9jbGFzcy11cGRhdGUtdGFyZ2V0Lmh0bWwKQEAgLTIwLDcgKzIwLDcgQEAgaWYgKHdp
bmRvdy50ZXN0UnVubmVyKQogCiBsb2NhdGlvbi5oYXNoID0gJyN0YXJnZXQxJzsKIAotdmFyIHNo
YWRvd1Jvb3QgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKK3ZhciBzaGFkb3dSb290
ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7CiBzaGFkb3dSb290LmlubmVySFRNTCA9ICc8
Y29udGVudCBzZWxlY3Q9ImRpdjp0YXJnZXQiPjwvY29udGVudD4nOwogCiBzZXRUaW1lb3V0KGZ1
bmN0aW9uKCkgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3BzZXVk
b2NsYXNzLXVwZGF0ZS12aXNpdGVkLWFuY2hvci5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20v
c2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS12aXNpdGVkLWFuY2hvci5odG1sCmluZGV4IGM4ZTIy
YTgzNDQ5YTk1MTRkMDc3ZmRlN2I5MzRjOWY2NTQ5ZTg1NjMuLjU0YzFhMDYwMTM4YTM0YjI5Zjg5
YzRjYjcyMmY0OWMwMTdhZTFmZDAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3No
YWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtdmlzaXRlZC1hbmNob3IuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLXZpc2l0ZWQtYW5jaG9yLmh0
bWwKQEAgLTIyLDggKzIyLDggQEAKIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB0ZXN0UnVu
bmVyLndhaXRVbnRpbERvbmUoKTsKIAotaG9zdDEud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpLmlu
bmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9Ijp2aXNpdGVkIj48L2NvbnRlbnQ+JzsKLWhvc3Qy
LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKS5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSI6
dmlzaXRlZCI+PC9jb250ZW50Pic7CituZXcgV2ViS2l0U2hhZG93Um9vdChob3N0MSkuaW5uZXJI
VE1MID0gJzxjb250ZW50IHNlbGVjdD0iOnZpc2l0ZWQiPjwvY29udGVudD4nOworbmV3IFdlYktp
dFNoYWRvd1Jvb3QoaG9zdDIpLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9Ijp2aXNpdGVk
Ij48L2NvbnRlbnQ+JzsKIAogc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICBhbmNob3IyLnJl
bW92ZUF0dHJpYnV0ZSgnaHJlZicpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20v
c2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS12aXNpdGVkLWFyZWEuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtdmlzaXRlZC1hcmVhLmh0bWwKaW5k
ZXggN2U3ZWQ0ZTk4MWViNjc0NDU3MjUyY2Q3ZWE2ODdhMGM1ZGVhMzE3My4uZjZjZDJkNmI2YTI1
NWVjMWNlMDYxYTRlN2Q2YTdmMDE4YjcxM2E3MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS12aXNpdGVkLWFyZWEuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLXZpc2l0ZWQtYXJl
YS5odG1sCkBAIC00MSw4ICs0MSw4IEBAIGhvc3QxLmFwcGVuZENoaWxkKGFyZWEyKTsKIGhvc3Qy
LmFwcGVuZENoaWxkKGFyZWEzKTsKIGhvc3QyLmFwcGVuZENoaWxkKGFyZWE0KTsKIAotaG9zdDEu
d2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9ImFy
ZWE6dmlzaXRlZCI+PC9jb250ZW50Pic7Ci1ob3N0Mi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCku
aW5uZXJIVE1MID0gJzxjb250ZW50IHNlbGVjdD0iYXJlYTp2aXNpdGVkIj48L2NvbnRlbnQ+JzsK
K25ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QxKS5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0
PSJhcmVhOnZpc2l0ZWQiPjwvY29udGVudD4nOworbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDIp
LmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9ImFyZWE6dmlzaXRlZCI+PC9jb250ZW50Pic7
CiAKIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgYXJlYTIucmVtb3ZlQXR0cmlidXRlKCdo
cmVmJyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcmVtb3ZlLXN0
eWxlcy1pbi1zaGFkb3ctY3Jhc2guaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9y
ZW1vdmUtc3R5bGVzLWluLXNoYWRvdy1jcmFzaC5odG1sCmluZGV4IDc0NzA1NGRhZmJmYTY0ODUx
MGFlMDU0YmU3MzExOWQ1ZjAyOGQxOGYuLjJmMjY2ZDNjZDZjNzQzOTk5MWZhODhhZTUxNDc0OTgy
NWIwOTBhMDIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9yZW1vdmUt
c3R5bGVzLWluLXNoYWRvdy1jcmFzaC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3No
YWRvdy9yZW1vdmUtc3R5bGVzLWluLXNoYWRvdy1jcmFzaC5odG1sCkBAIC03LDcgKzcsNyBAQCBp
ZiAod2luZG93LnRlc3RSdW5uZXIpCiAKIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CiAgICAgdmFyIGhv
c3QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaG9zdCcpOwotICAgIHZhciBzciA9IGhvc3Qu
d2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOworICAgIHZhciBzciA9IG5ldyBXZWJLaXRTaGFkb3dS
b290KGhvc3QpOwogICAgIC8vIFRlc3QgdGhlIGNhc2U6IHR3byBzdHlsZXMgYXJlIGluIHNoYWRv
dyBkb20gc3VidHJlZSBhbmQgdGhleSBhcmUgbm90CiAgICAgLy8gZGlyZWN0IGNoaWxyZW4gb2Yg
dGhlIHNoYWRvdyByb290LgogICAgIHNyLmlubmVySFRNTCA9ICc8ZGl2PjxzdHlsZT5kaXYgeyBj
b2xvcjogYmx1ZTsgfTwvc3R5bGU+SGVsbG88L2Rpdj48ZGl2PjxzdHlsZT5zcGFuIHsgY29sb3I6
IHJlZCB9PC9zdHlsZT48c3Bhbj5Xb3JsZDwvc3Bhbj48L2Rpdj4nOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3JlcHJvamVjdGlvbi1hdHRyaWJ1dGUtbW9kaWZpZWQu
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9yZXByb2plY3Rpb24tYXR0cmlidXRl
LW1vZGlmaWVkLmh0bWwKaW5kZXggNzkwNmJkNDYyYjFiYjA1OWQwZDkxNjllMWQ5ZTgzODUwODM3
NmM1Zi4uMzM1MTY1YjAxZDliZDU2MmM1OGFkMjJhMDJhMGM4ZWFkZTI5MWUwZiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3JlcHJvamVjdGlvbi1hdHRyaWJ1dGUtbW9k
aWZpZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcmVwcm9qZWN0aW9u
LWF0dHJpYnV0ZS1tb2RpZmllZC5odG1sCkBAIC0xOCwxMSArMTgsMTEgQEAKIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikKICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKIAotdmFyIHNoYWRv
d1Jvb3QxID0gaG9zdDEud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwordmFyIHNoYWRvd1Jvb3Qx
ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDEpOwogc2hhZG93Um9vdDEuaW5uZXJIVE1MID0g
JzxkaXYgaWQ9Imhvc3QyIj48c2hhZG93Pjwvc2hhZG93PjwvZGl2Pic7CiAKIHZhciBob3N0MiA9
IHNoYWRvd1Jvb3QxLmdldEVsZW1lbnRCeUlkKCdob3N0MicpOwotdmFyIHNoYWRvd1Jvb3QyID0g
aG9zdDIud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwordmFyIHNoYWRvd1Jvb3QyID0gbmV3IFdl
YktpdFNoYWRvd1Jvb3QoaG9zdDIpOwogc2hhZG93Um9vdDIuaW5uZXJIVE1MID0gJzxjb250ZW50
IHNlbGVjdD0iZGl2W3RpdGxlPXNlbGVjdGVkXSI+PC9jb250ZW50Pic7CiAKIHNldFRpbWVvdXQo
ZnVuY3Rpb24oKSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcmVw
cm9qZWN0aW9uLWNsYXNzTmFtZS1tb2RpZmllZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20v
c2hhZG93L3JlcHJvamVjdGlvbi1jbGFzc05hbWUtbW9kaWZpZWQuaHRtbAppbmRleCAxNmU5NjRh
ZjViMmQyODBiY2ZhY2QzYjAxZTg1Y2YwNmQ1MjU3YmMxLi45NzNkYTY2NGFlMmYwNTM1ZWE0OTg0
ZGQwYzlmMjIxZjk5YmY5ZjgwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFk
b3cvcmVwcm9qZWN0aW9uLWNsYXNzTmFtZS1tb2RpZmllZC5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL3NoYWRvdy9yZXByb2plY3Rpb24tY2xhc3NOYW1lLW1vZGlmaWVkLmh0bWwKQEAg
LTE4LDExICsxOCwxMSBAQAogaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgIHRlc3RSdW5uZXIu
d2FpdFVudGlsRG9uZSgpOwogCi12YXIgc2hhZG93Um9vdDEgPSBob3N0MS53ZWJraXRDcmVhdGVT
aGFkb3dSb290KCk7Cit2YXIgc2hhZG93Um9vdDEgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0
MSk7CiBzaGFkb3dSb290MS5pbm5lckhUTUwgPSAnPGRpdiBpZD0iaG9zdDIiPjxzaGFkb3c+PC9z
aGFkb3c+PC9kaXY+JzsKIAogdmFyIGhvc3QyID0gc2hhZG93Um9vdDEuZ2V0RWxlbWVudEJ5SWQo
J2hvc3QyJyk7Ci12YXIgc2hhZG93Um9vdDIgPSBob3N0Mi53ZWJraXRDcmVhdGVTaGFkb3dSb290
KCk7Cit2YXIgc2hhZG93Um9vdDIgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0Mik7CiBzaGFk
b3dSb290Mi5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSIuc2VsZWN0ZWQiPjwvY29udGVu
dD4nOwogCiBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vc2hhZG93L3JlcHJvamVjdGlvbi1pZC1tb2RpZmllZC5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9kb20vc2hhZG93L3JlcHJvamVjdGlvbi1pZC1tb2RpZmllZC5odG1sCmluZGV4IDA0
MjI2ZWFkN2JlZWE2MzQ3ZTNiMzdjNmRmNGE2ZDcyMTJiMTk2NzQuLjQwMDBiODQ2OGE4ZWI2YmEy
OGJhYTQzMzFmNmEyZWNhMDY2ZDdkYWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3NoYWRvdy9yZXByb2plY3Rpb24taWQtbW9kaWZpZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9zaGFkb3cvcmVwcm9qZWN0aW9uLWlkLW1vZGlmaWVkLmh0bWwKQEAgLTE4LDExICsx
OCwxMSBAQAogaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgIHRlc3RSdW5uZXIud2FpdFVudGls
RG9uZSgpOwogCi12YXIgc2hhZG93Um9vdDEgPSBob3N0MS53ZWJraXRDcmVhdGVTaGFkb3dSb290
KCk7Cit2YXIgc2hhZG93Um9vdDEgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0MSk7CiBzaGFk
b3dSb290MS5pbm5lckhUTUwgPSAnPGRpdiBpZD0iaG9zdDIiPjxzaGFkb3c+PC9zaGFkb3c+PC9k
aXY+JzsKIAogdmFyIGhvc3QyID0gc2hhZG93Um9vdDEuZ2V0RWxlbWVudEJ5SWQoJ2hvc3QyJyk7
Ci12YXIgc2hhZG93Um9vdDIgPSBob3N0Mi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7Cit2YXIg
c2hhZG93Um9vdDIgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0Mik7CiBzaGFkb3dSb290Mi5p
bm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSIjc2VsZWN0ZWQiPjwvY29udGVudD4nOwogCiBz
ZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20v
c2hhZG93L3Jlc2l6ZS1pbi1zaGFkb3ctZG9tLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvcmVzaXplLWluLXNoYWRvdy1kb20uaHRtbAppbmRleCBmZGI3OTU2NjBjOWE4ZGI1MzI1
ZGM3ZjczOTgwZGZlNTEyNzE5ZDJiLi5lZWQxOTdjOTk4MmQwMWFkZjdmYTdmZWQ0MzNlNzY3ZjMx
OTM2NzRkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcmVzaXplLWlu
LXNoYWRvdy1kb20uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcmVzaXpl
LWluLXNoYWRvdy1kb20uaHRtbApAQCAtMjAsNyArMjAsNyBAQCBmdW5jdGlvbiBjcmVhdGVCb3go
bmFtZSkgewogICAgIHJldHVybiBkaXY7CiB9CiAKLXZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJr
aXRDcmVhdGVTaGFkb3dSb290KCk7Cit2YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dS
b290KGhvc3QpOwogdmFyIGJveCA9IGNyZWF0ZUJveCgnZGFyaycpOwogc2hhZG93Um9vdC5hcHBl
bmRDaGlsZChib3gpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
cmVzb3VyY2VzL3BvbHlmaWxsLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3Jlc291
cmNlcy9wb2x5ZmlsbC5qcwppbmRleCA3YmI1ZmIxMTI0MGIwMGNlZjVmNjdjMzczMjJiMjRjNWM1
NGMxYmRmLi5hYTgwYWYxZGUyMWUwYTZhMDNhYTljY2JhMGZmZGZlZmFiNTQ2ZTRiIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcmVzb3VyY2VzL3BvbHlmaWxsLmpzCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9yZXNvdXJjZXMvcG9seWZpbGwuanMKQEAg
LTEsNSArMSw1IEBACi1pZiAoIUVsZW1lbnQucHJvdG90eXBlLndlYmtpdENyZWF0ZVNoYWRvd1Jv
b3QgJiYgd2luZG93LmludGVybmFscykgewotICAgIEVsZW1lbnQucHJvdG90eXBlLndlYmtpdENy
ZWF0ZVNoYWRvd1Jvb3QgPSBmdW5jdGlvbigpIHsKLSAgICAgICAgcmV0dXJuIHdpbmRvdy5pbnRl
cm5hbHMuY3JlYXRlU2hhZG93Um9vdCh0aGlzKTsKLSAgICB9OworaWYgKCF3aW5kb3cuV2ViS2l0
U2hhZG93Um9vdCAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7CisJd2luZG93LldlYktpdFNoYWRvd1Jv
b3QgPSBmdW5jdGlvbihlbGVtZW50KSB7CisJCXJldHVybiBpbnRlcm5hbHMuZW5zdXJlU2hhZG93
Um9vdChlbGVtZW50KTsKKwl9CiB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvcmVzb3VyY2VzL3NoYWRvdy1kb20uanMgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFk
b3cvcmVzb3VyY2VzL3NoYWRvdy1kb20uanMKaW5kZXggYjI0ZTFiYTNjYTM2NWZlYzY4OTM4ODNh
ZWU3M2Q4MjQwNGJjNzBiYy4uNmRmNTAwODlkZTAzNmEyMDhlZjg3YzY2NTI0MzRhZTZkZjA5OTdh
OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3Jlc291cmNlcy9zaGFk
b3ctZG9tLmpzCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9yZXNvdXJjZXMvc2hh
ZG93LWRvbS5qcwpAQCAtMjcsMTAgKzI3LDEyIEBAIGZ1bmN0aW9uIGNyZWF0ZURPTSh0YWdOYW1l
LCBhdHRyaWJ1dGVzKQogICAgICAgICBpZiAoY2hpbGQuaXNTaGFkb3dSb290KSB7CiAgICAgICAg
ICAgICArK3NoYWRvd1Jvb3RDb3VudDsKICAgICAgICAgICAgIHZhciBzaGFkb3dSb290OwotICAg
ICAgICAgICAgaWYgKGVsZW1lbnQud2Via2l0Q3JlYXRlU2hhZG93Um9vdCkKLSAgICAgICAgICAg
ICAgICBzaGFkb3dSb290ID0gZWxlbWVudC53ZWJraXRDcmVhdGVTaGFkb3dSb290KGVsZW1lbnQp
OworICAgICAgICAgICAgaWYgKHdpbmRvdy5XZWJLaXRTaGFkb3dSb290KQorICAgICAgICAgICAg
ICAgIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChlbGVtZW50KTsKKyAgICAgICAg
ICAgIGVsc2UgaWYgKHNoYWRvd1Jvb3Rjb3VudCA9PSAxKQorICAgICAgICAgICAgICAgIHNoYWRv
d1Jvb3QgPSBpbnRlcm5hbHMuZW5zdXJlU2hhZG93Um9vdChlbGVtZW50KTsKICAgICAgICAgICAg
IGVsc2UKLSAgICAgICAgICAgICAgICBzaGFkb3dSb290ID0gaW50ZXJuYWxzLmNyZWF0ZVNoYWRv
d1Jvb3QoZWxlbWVudCk7CisgICAgICAgICAgICAgICAgdGhyb3cgIkNyZWF0ZURPTSBjYW5ub3Qg
YmUgdXNlZCB0byBob3N0IG11bHRpcGxlIFNoYWRvd1Jvb3RzIHdpdGhvdXQgbmV3IFdlYktpdFNo
YWRvd1Jvb3QoKSI7CiAgICAgICAgICAgICBpZiAoY2hpbGQuYXR0cmlidXRlcykgewogICAgICAg
ICAgICAgICAgIGZvciAodmFyIGF0dHJpYnV0ZSBpbiBjaGlsZC5hdHRyaWJ1dGVzKSB7CiAgICAg
ICAgICAgICAgICAgICAgIC8vIFNoYWRvdyBSb290IGRvZXMgbm90IGhhdmUgc2V0QXR0cmlidXRl
LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NlbGVjdC1pbWFnZS13
aXRoLXNoYWRvdy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NlbGVjdC1pbWFn
ZS13aXRoLXNoYWRvdy5odG1sCmluZGV4IDgxYTFjZThhMmM0ODZiMjk5ODdiMDNiMDJkYjJjMmJm
ZTQwYTJiZGMuLmY3YzgxMjA1OTc5MDhlZmY5YmFmZjYwYzc4NGIwYjBkZGM2MjIzODggMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zZWxlY3QtaW1hZ2Utd2l0aC1zaGFk
b3cuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2VsZWN0LWltYWdlLXdp
dGgtc2hhZG93Lmh0bWwKQEAgLTksNyArOSw3IEBACiBpZiAod2luZG93LmludGVybmFscykKICAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0QXV0aG9yU2hhZG93RE9NRm9yQW55RWxlbWVudEVuYWJs
ZWQodHJ1ZSk7CiAKLXZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290
KCk7Cit2YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwogc2hhZG93
Um9vdC5pbm5lckhUTUwgPSAiPHNwYW4gaWQ9J3NwYW4xJz5Lb3Rvcmk8L3NwYW4+PHNoYWRvdz48
L3NoYWRvdz48c3BhbiBpZD0nc3BhbjInPlBpeW88L3NwYW4+IjsKIAogdmFyIHNwYW4xID0gc2hh
ZG93Um9vdC5nZXRFbGVtZW50QnlJZCgnc3BhbjEnKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL3NoYWRvdy9zZWxlY3Rpb24tc2hvdWxkbnQtZXhwb3NlLXNoYWRvdy1kb20uaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zZWxlY3Rpb24tc2hvdWxkbnQtZXhwb3Nl
LXNoYWRvdy1kb20uaHRtbAppbmRleCA1MjE1OWVlZjJjNjZiMmY1NGZlNmI2Mjg2ZTY4NDdkMzA0
YTc1MDVjLi4zMjg5M2M4Zjg5MDFhYzFhZWMxZDk0NjYwM2VkNmFhMzZlNzQxY2M3IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2VsZWN0aW9uLXNob3VsZG50LWV4cG9z
ZS1zaGFkb3ctZG9tLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NlbGVj
dGlvbi1zaG91bGRudC1leHBvc2Utc2hhZG93LWRvbS5odG1sCkBAIC0yNCw3ICsyNCw3IEBAIGZ1
bmN0aW9uIGRyYWdGcm9tVG8oZWxlbWVudEZyb20sIGVsZW1lbnRUbykgewogCiB2YXIgY29udGFp
bmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnRhaW5lcicpOwogCi12YXIgc2hhZG93
Um9vdDEgPSBjb250YWluZXIud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwordmFyIHNoYWRvd1Jv
b3QxID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoY29udGFpbmVyKTsKIHNoYWRvd1Jvb3QxLmlubmVy
SFRNTCA9CiAgICAgJzxkaXYgaWQ9ImRpdjEiIHRpdGxlPSJkaXYxIj5Zb3UgU2F0b2g8L2Rpdj4n
ICsKICAgICAnPGRpdiBpZD0iZGl2MiIgdGl0bGU9ImRpdjIiPlNlbiBZYXJpenVpPC9kaXY+JyAr
CkBAIC0zMyw3ICszMyw3IEBAIHZhciBkaXYxID0gc2hhZG93Um9vdDEuZ2V0RWxlbWVudEJ5SWQo
J2RpdjEnKTsKIHZhciBkaXYyID0gc2hhZG93Um9vdDEuZ2V0RWxlbWVudEJ5SWQoJ2RpdjInKTsK
IHZhciBkaXYzID0gc2hhZG93Um9vdDEuZ2V0RWxlbWVudEJ5SWQoJ2RpdjMnKTsKIAotdmFyIHNo
YWRvd1Jvb3QyID0gZGl2Mi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7Cit2YXIgc2hhZG93Um9v
dDIgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChkaXYyKTsKIHNoYWRvd1Jvb3QyLmlubmVySFRNTCA9
CiAgICAgJzxkaXYgaWQ9ImRpdjQiIHRpdGxlPSJkaXY0Ij5IYW5hIE9zaGlyb2k8L2Rpdj4nICsK
ICAgICAnPGRpdiBpZD0iZGl2NSIgdGl0bGU9ImRpdjUiPlVtZSBTaGlyYXVtZTwvZGl2PicgKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NlbGVjdGlvbnMtaW4tc2hh
ZG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2VsZWN0aW9ucy1pbi1zaGFk
b3cuaHRtbAppbmRleCA1MjhiNWU1ZGQ4YzZmNjA3NjBiYzc3OGI2NGY3ZGI0MWI3OThkNjc0Li43
YzFjYzc5YjE5YWMzYjdjYWJmMTlmN2U2NWEyN2Q0MTZhOTQwNmRhIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2VsZWN0aW9ucy1pbi1zaGFkb3cuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2VsZWN0aW9ucy1pbi1zaGFkb3cuaHRtbApAQCAt
MTQsNyArMTQsNyBAQAogPHNjcmlwdD4KIGZ1bmN0aW9uIGNyZWF0ZVNoYWRvd0RPTShzaGFkb3dS
b290LCBuYW1lKSB7CiAgICAgdmFyIGhvc3RJblNoYWRvd1Jvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCdzcGFuJyk7Ci0gICAgdmFyIG5lc3RlZFNoYWRvd1Jvb3QgPSBob3N0SW5TaGFkb3dS
b290LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKKyAgICB2YXIgbmVzdGVkU2hhZG93Um9vdCA9
IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3RJblNoYWRvd1Jvb3QpOwogICAgIHZhciBzcGFuSW5T
aGFkb3cgPSBjcmVhdGVTcGFuV2l0aFRleHQoJ1NQQU4gSU4gTkVTVEVEIElOIFNIQURPVyAnICsg
bmFtZSk7CiAgICAgbmVzdGVkU2hhZG93Um9vdC5hcHBlbmRDaGlsZChzcGFuSW5TaGFkb3cpOwog
CkBAIC0zOCwxMCArMzgsMTAgQEAgdmFyIGhvc3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdk
aXYnKTsKIHZhciBzcGFuSW5Ib3N0ID0gY3JlYXRlU3BhbldpdGhUZXh0KCdJTiBIT1NUJyk7CiBo
b3N0LmFwcGVuZENoaWxkKHNwYW5Jbkhvc3QpOwogCi12YXIgb2xkZXJTaGFkb3dSb290ID0gaG9z
dC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7Cit2YXIgb2xkZXJTaGFkb3dSb290ID0gbmV3IFdl
YktpdFNoYWRvd1Jvb3QoaG9zdCk7CiB2YXIgc3BhbnMxID0gY3JlYXRlU2hhZG93RE9NKG9sZGVy
U2hhZG93Um9vdCwgJ09MREVSJyk7CiAKLXZhciB5b3VuZ2VyU2hhZG93Um9vdCA9IGhvc3Qud2Vi
a2l0Q3JlYXRlU2hhZG93Um9vdCgpOwordmFyIHlvdW5nZXJTaGFkb3dSb290ID0gbmV3IFdlYktp
dFNoYWRvd1Jvb3QoaG9zdCk7CiB2YXIgc3BhbnMyID0gY3JlYXRlU2hhZG93RE9NKHlvdW5nZXJT
aGFkb3dSb290LCAnWU9VTkdFUicpOwogCiB2YXIgY29udGFpbmVyID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoJ2NvbnRhaW5lcicpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20v
c2hhZG93L3NoYWRvdy1hbmQtbGlzdC1lbGVtZW50cy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2hhZG93L3NoYWRvdy1hbmQtbGlzdC1lbGVtZW50cy5odG1sCmluZGV4IDg1NGI1YTE1YjUx
ZTY1ZTY3MTFhZjE1NTBiNzBkYWI2YzE1Yzg5ZTEuLjNlNWNiNmI3ODRkYmZkOGYyZDkzMjU3MDRk
NGI3NzU5YjljMzExN2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9z
aGFkb3ctYW5kLWxpc3QtZWxlbWVudHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvc2hhZG93LWFuZC1saXN0LWVsZW1lbnRzLmh0bWwKQEAgLTM1LDcgKzM1LDcgQEAgdWwg
ewogLy8gICA8bGk+QzwvbGk+CiAvLyA8L29sPiAgIAogdmFyIGhvc3QgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiaG9zdCIpOwotdmFyIHNoYWRvdyA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93
Um9vdCgpOwordmFyIHNoYWRvdyA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwogc2hhZG93
LmFwcGx5QXV0aG9yU3R5bGVzID0gdHJ1ZTsKIHNoYWRvdy5pbm5lckhUTUwgPSAiPGxpPlg8L2xp
Pjx1bD48c2hhZG93Pjwvc2hhZG93PjwvdWw+PGxpPlk8L2xpPiI7CiA8L3NjcmlwdD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctYXdhcmUtY3JlYXRlLXNo
YWRvdy1yb290LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFk
b3ctYXdhcmUtY3JlYXRlLXNoYWRvdy1yb290LWV4cGVjdGVkLnR4dAppbmRleCAzOGRjODJlNTAy
N2NjNTdlYzI1ZDAyNzFjYWJkY2E5NjIwYWVlYTIzLi5mZWU2YzMzZmJmYjk2OTkwMGE0NmVlMzJl
NDU1YTNiMDAyNDU3YzRiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
c2hhZG93LWF3YXJlLWNyZWF0ZS1zaGFkb3ctcm9vdC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1hd2FyZS1jcmVhdGUtc2hhZG93LXJvb3QtZXhw
ZWN0ZWQudHh0CkBAIC0zLDYgKzMsNyBAQCBUZXN0cyBmb3IgU2hhZG93QXdhcmUgSlMgQVBJcy4K
IE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KIAogCitQQVNTIHJvb3QxLmNvbnN0cnVjdG9yIGlz
IHdpbmRvdy5XZWJLaXRTaGFkb3dSb290CiBQQVNTIHJvb3QxIGlzIG5vdCByb290MgogUEFTUyBy
b290MSBpcyB3aW5kb3cuaW50ZXJuYWxzLm9sZGVzdFNoYWRvd1Jvb3QoaG9zdCkKIFBBU1Mgcm9v
dDIgaXMgd2luZG93LmludGVybmFscy55b3VuZ2VzdFNoYWRvd1Jvb3QoaG9zdCkKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctYXdhcmUtY3JlYXRlLXNoYWRv
dy1yb290Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LWF3YXJlLWNy
ZWF0ZS1zaGFkb3ctcm9vdC5odG1sCmluZGV4IGRhNjIwYTM4NzY0NWU1MWMxOGIzNTM0YjU3MGFm
NzgyZTExZWVjNGQuLmJkZjE1M2Q2ODcwZDM4YjVlYTc2NTQ5MTIxZjIwNWFlYmY4MmQ2NGQgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctYXdhcmUtY3JlYXRl
LXNoYWRvdy1yb290Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRv
dy1hd2FyZS1jcmVhdGUtc2hhZG93LXJvb3QuaHRtbApAQCAtMTIsNiArMTIsNyBAQCBFbGVtZW50
LnByb3RvdHlwZS5jcmVhdGVTaGFkb3dSb290ID0gRWxlbWVudC5wcm90b3R5cGUuY3JlYXRlU2hh
ZG93Um9vdCB8fCBFbGVtZQogdmFyIGhvc3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYn
KTsKIHZhciByb290MSA9IGhvc3QuY3JlYXRlU2hhZG93Um9vdCgpOwogdmFyIHJvb3QyID0gaG9z
dC5jcmVhdGVTaGFkb3dSb290KCk7CitzaG91bGRCZSgicm9vdDEuY29uc3RydWN0b3IiLCAid2lu
ZG93LldlYktpdFNoYWRvd1Jvb3QiKTsKIHNob3VsZE5vdEJlKCJyb290MSIsICJyb290MiIpOwog
c2hvdWxkQmUoInJvb3QxIiwgIndpbmRvdy5pbnRlcm5hbHMub2xkZXN0U2hhZG93Um9vdChob3N0
KSIpOwogc2hvdWxkQmUoInJvb3QyIiwgIndpbmRvdy5pbnRlcm5hbHMueW91bmdlc3RTaGFkb3dS
b290KGhvc3QpIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hh
ZG93LWNvbnRlbnQtY3Jhc2guaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFk
b3ctY29udGVudC1jcmFzaC5odG1sCmluZGV4IDY0NTJmNDk4ODlmODMwY2JjYjU5NzI4OGY5YTVm
NThkMDM2YmI4MTguLjJmMmIyZTliZjY1ZTYyMDQyYTU1NDYyYjA1MzJhZDM2MWNkN2JhNjggMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctY29udGVudC1jcmFz
aC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctY29udGVudC1j
cmFzaC5odG1sCkBAIC0xMCw3ICsxMCw3IEBACiAKIDxzY3JpcHQ+CiB2YXIgZGl2ID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnRhaW5lcicpOwotdmFyIHJvb3QgPSBkaXYud2Via2l0Q3Jl
YXRlU2hhZG93Um9vdCgpOwordmFyIHJvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChkaXYpOwog
cm9vdC5pbm5lckhUTUwgPSAiPGNvbnRlbnQgc2VsZWN0PSdzcGFuJz5QQVNTPC9jb250ZW50PiI7
CiA8L3NjcmlwdD4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3No
YWRvdy1kaXNhYmxlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9z
aGFkb3ctZGlzYWJsZS1leHBlY3RlZC50eHQKaW5kZXggYWFiZWM5OThjNjgxOWU5N2MxNjVlMzY0
MzIzNWZlZjNmZWFlZDUxYi4uNjdjNTA3NDg1ZjdkNWI2NTAyMTBlZGRmMzY1MWMyNTAyMmJjMjRh
MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1kaXNhYmxl
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LWRp
c2FibGUtZXhwZWN0ZWQudHh0CkBAIC00LDQ3ICs0LDQ3IEBAIE9uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFCiAKIAogRElWCi1QQVNTIGVsZW1lbnQud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpIGlzIG5v
dCBudWxsCitQQVNTIG5ldyBXZWJLaXRTaGFkb3dSb290KGVsZW1lbnQpIGlzIG5vdCBudWxsCiBT
UEFOCi1QQVNTIGVsZW1lbnQud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpIGlzIG5vdCBudWxsCitQ
QVNTIG5ldyBXZWJLaXRTaGFkb3dSb290KGVsZW1lbnQpIGlzIG5vdCBudWxsCiBBCi1QQVNTIGVs
ZW1lbnQud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpIGlzIG5vdCBudWxsCitQQVNTIG5ldyBXZWJL
aXRTaGFkb3dSb290KGVsZW1lbnQpIGlzIG5vdCBudWxsCiBTRUNUSU9OCi1QQVNTIGVsZW1lbnQu
d2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpIGlzIG5vdCBudWxsCitQQVNTIG5ldyBXZWJLaXRTaGFk
b3dSb290KGVsZW1lbnQpIGlzIG5vdCBudWxsCiBJTlBVVAotUEFTUyBlbGVtZW50LndlYmtpdENy
ZWF0ZVNoYWRvd1Jvb3QoKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IEhpZXJhcmNoeVJlcXVlc3RF
cnJvcjogRE9NIEV4Y2VwdGlvbiAzLgorUEFTUyBuZXcgV2ViS2l0U2hhZG93Um9vdChlbGVtZW50
KSB0aHJldyBleGNlcHRpb24gRXJyb3I6IEhpZXJhcmNoeVJlcXVlc3RFcnJvcjogRE9NIEV4Y2Vw
dGlvbiAzLgogdHJlZgotUEFTUyBlbGVtZW50LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKSB0aHJl
dyBleGNlcHRpb24gRXJyb3I6IEhpZXJhcmNoeVJlcXVlc3RFcnJvcjogRE9NIEV4Y2VwdGlvbiAz
LgorUEFTUyBuZXcgV2ViS2l0U2hhZG93Um9vdChlbGVtZW50KSB0aHJldyBleGNlcHRpb24gRXJy
b3I6IEhpZXJhcmNoeVJlcXVlc3RFcnJvcjogRE9NIEV4Y2VwdGlvbiAzLgogQVVESU8KLVBBU1Mg
ZWxlbWVudC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBI
aWVyYXJjaHlSZXF1ZXN0RXJyb3I6IERPTSBFeGNlcHRpb24gMy4KK1BBU1MgbmV3IFdlYktpdFNo
YWRvd1Jvb3QoZWxlbWVudCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBIaWVyYXJjaHlSZXF1ZXN0
RXJyb3I6IERPTSBFeGNlcHRpb24gMy4KIFZJREVPCi1QQVNTIGVsZW1lbnQud2Via2l0Q3JlYXRl
U2hhZG93Um9vdCgpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSGllcmFyY2h5UmVxdWVzdEVycm9y
OiBET00gRXhjZXB0aW9uIDMuCitQQVNTIG5ldyBXZWJLaXRTaGFkb3dSb290KGVsZW1lbnQpIHRo
cmV3IGV4Y2VwdGlvbiBFcnJvcjogSGllcmFyY2h5UmVxdWVzdEVycm9yOiBET00gRXhjZXB0aW9u
IDMuCiBTRUxFQ1QKLVBBU1MgZWxlbWVudC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCkgdGhyZXcg
ZXhjZXB0aW9uIEVycm9yOiBIaWVyYXJjaHlSZXF1ZXN0RXJyb3I6IERPTSBFeGNlcHRpb24gMy4K
K1BBU1MgbmV3IFdlYktpdFNoYWRvd1Jvb3QoZWxlbWVudCkgdGhyZXcgZXhjZXB0aW9uIEVycm9y
OiBIaWVyYXJjaHlSZXF1ZXN0RXJyb3I6IERPTSBFeGNlcHRpb24gMy4KIElNRwotUEFTUyBlbGVt
ZW50LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IEhpZXJh
cmNoeVJlcXVlc3RFcnJvcjogRE9NIEV4Y2VwdGlvbiAzLgorUEFTUyBuZXcgV2ViS2l0U2hhZG93
Um9vdChlbGVtZW50KSB0aHJldyBleGNlcHRpb24gRXJyb3I6IEhpZXJhcmNoeVJlcXVlc3RFcnJv
cjogRE9NIEV4Y2VwdGlvbiAzLgogVEVYVEFSRUEKLVBBU1MgZWxlbWVudC53ZWJraXRDcmVhdGVT
aGFkb3dSb290KCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBIaWVyYXJjaHlSZXF1ZXN0RXJyb3I6
IERPTSBFeGNlcHRpb24gMy4KK1BBU1MgbmV3IFdlYktpdFNoYWRvd1Jvb3QoZWxlbWVudCkgdGhy
ZXcgZXhjZXB0aW9uIEVycm9yOiBIaWVyYXJjaHlSZXF1ZXN0RXJyb3I6IERPTSBFeGNlcHRpb24g
My4KIElGUkFNRQotUEFTUyBlbGVtZW50LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKSB0aHJldyBl
eGNlcHRpb24gRXJyb3I6IEhpZXJhcmNoeVJlcXVlc3RFcnJvcjogRE9NIEV4Y2VwdGlvbiAzLgor
UEFTUyBuZXcgV2ViS2l0U2hhZG93Um9vdChlbGVtZW50KSB0aHJldyBleGNlcHRpb24gRXJyb3I6
IEhpZXJhcmNoeVJlcXVlc3RFcnJvcjogRE9NIEV4Y2VwdGlvbiAzLgogQ0FOVkFTCi1QQVNTIGVs
ZW1lbnQud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSGll
cmFyY2h5UmVxdWVzdEVycm9yOiBET00gRXhjZXB0aW9uIDMuCitQQVNTIG5ldyBXZWJLaXRTaGFk
b3dSb290KGVsZW1lbnQpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSGllcmFyY2h5UmVxdWVzdEVy
cm9yOiBET00gRXhjZXB0aW9uIDMuCiBNRVRFUgotUEFTUyBlbGVtZW50LndlYmtpdENyZWF0ZVNo
YWRvd1Jvb3QoKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IEhpZXJhcmNoeVJlcXVlc3RFcnJvcjog
RE9NIEV4Y2VwdGlvbiAzLgorUEFTUyBuZXcgV2ViS2l0U2hhZG93Um9vdChlbGVtZW50KSB0aHJl
dyBleGNlcHRpb24gRXJyb3I6IEhpZXJhcmNoeVJlcXVlc3RFcnJvcjogRE9NIEV4Y2VwdGlvbiAz
LgogUFJPR1JFU1MKLVBBU1MgZWxlbWVudC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCkgdGhyZXcg
ZXhjZXB0aW9uIEVycm9yOiBIaWVyYXJjaHlSZXF1ZXN0RXJyb3I6IERPTSBFeGNlcHRpb24gMy4K
K1BBU1MgbmV3IFdlYktpdFNoYWRvd1Jvb3QoZWxlbWVudCkgdGhyZXcgZXhjZXB0aW9uIEVycm9y
OiBIaWVyYXJjaHlSZXF1ZXN0RXJyb3I6IERPTSBFeGNlcHRpb24gMy4KIE9CSkVDVAotUEFTUyBl
bGVtZW50LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IEhp
ZXJhcmNoeVJlcXVlc3RFcnJvcjogRE9NIEV4Y2VwdGlvbiAzLgorUEFTUyBuZXcgV2ViS2l0U2hh
ZG93Um9vdChlbGVtZW50KSB0aHJldyBleGNlcHRpb24gRXJyb3I6IEhpZXJhcmNoeVJlcXVlc3RF
cnJvcjogRE9NIEV4Y2VwdGlvbiAzLgogRU1CRUQKLVBBU1MgZWxlbWVudC53ZWJraXRDcmVhdGVT
aGFkb3dSb290KCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBIaWVyYXJjaHlSZXF1ZXN0RXJyb3I6
IERPTSBFeGNlcHRpb24gMy4KK1BBU1MgbmV3IFdlYktpdFNoYWRvd1Jvb3QoZWxlbWVudCkgdGhy
ZXcgZXhjZXB0aW9uIEVycm9yOiBIaWVyYXJjaHlSZXF1ZXN0RXJyb3I6IERPTSBFeGNlcHRpb24g
My4KIEtFWUdFTgotUEFTUyBlbGVtZW50LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKSB0aHJldyBl
eGNlcHRpb24gRXJyb3I6IEhpZXJhcmNoeVJlcXVlc3RFcnJvcjogRE9NIEV4Y2VwdGlvbiAzLgor
UEFTUyBuZXcgV2ViS2l0U2hhZG93Um9vdChlbGVtZW50KSB0aHJldyBleGNlcHRpb24gRXJyb3I6
IEhpZXJhcmNoeVJlcXVlc3RFcnJvcjogRE9NIEV4Y2VwdGlvbiAzLgogVklERU8KLVBBU1MgZWxl
bWVudC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBIaWVy
YXJjaHlSZXF1ZXN0RXJyb3I6IERPTSBFeGNlcHRpb24gMy4KK1BBU1MgbmV3IFdlYktpdFNoYWRv
d1Jvb3QoZWxlbWVudCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBIaWVyYXJjaHlSZXF1ZXN0RXJy
b3I6IERPTSBFeGNlcHRpb24gMy4KIEFVRElPCi1QQVNTIGVsZW1lbnQud2Via2l0Q3JlYXRlU2hh
ZG93Um9vdCgpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSGllcmFyY2h5UmVxdWVzdEVycm9yOiBE
T00gRXhjZXB0aW9uIDMuCitQQVNTIG5ldyBXZWJLaXRTaGFkb3dSb290KGVsZW1lbnQpIHRocmV3
IGV4Y2VwdGlvbiBFcnJvcjogSGllcmFyY2h5UmVxdWVzdEVycm9yOiBET00gRXhjZXB0aW9uIDMu
CiBGSUVMRFNFVAotUEFTUyBlbGVtZW50LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKSB0aHJldyBl
eGNlcHRpb24gRXJyb3I6IEhpZXJhcmNoeVJlcXVlc3RFcnJvcjogRE9NIEV4Y2VwdGlvbiAzLgor
UEFTUyBuZXcgV2ViS2l0U2hhZG93Um9vdChlbGVtZW50KSB0aHJldyBleGNlcHRpb24gRXJyb3I6
IEhpZXJhcmNoeVJlcXVlc3RFcnJvcjogRE9NIEV4Y2VwdGlvbiAzLgogUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LWRpc2FibGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL3NoYWRvdy9zaGFkb3ctZGlzYWJsZS5odG1sCmluZGV4IGZlN2JhNmUyYjVlMTM4YjkzMzg4
M2ZjNjExYmFiYWI3ZmI4Mjk5MWQuLjI1MzQ2NTRkOTFkZjQzMDczYzYxYTQ2ZmRiNzdkZTY3ODg2
MzMxNTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctZGlz
YWJsZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctZGlzYWJs
ZS5odG1sCkBAIC0xNCw5ICsxNCw5IEBAIGZ1bmN0aW9uIHRlc3RUb0FkZFNoYWRvd1Jvb3QoZWxl
bWVudCwgc3VjY2VzcykgewogICAgIGRlYnVnKGVsZW1lbnQubm9kZU5hbWUpOwogCiAgICAgaWYg
KHN1Y2Nlc3MpCi0gICAgICAgIHNob3VsZE5vdEJlKCJlbGVtZW50LndlYmtpdENyZWF0ZVNoYWRv
d1Jvb3QoKSIsICJudWxsIik7CisgICAgICAgIHNob3VsZE5vdEJlKCJuZXcgV2ViS2l0U2hhZG93
Um9vdChlbGVtZW50KSIsICJudWxsIik7CiAgICAgZWxzZQotICAgICAgICBzaG91bGRUaHJvdygi
ZWxlbWVudC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCkiKTsKKyAgICAgICAgc2hvdWxkVGhyb3co
Im5ldyBXZWJLaXRTaGFkb3dSb290KGVsZW1lbnQpIik7CiB9CiAKIHZhciBlbGVtZW50c1RvU3Vj
Y2VzcyA9IFsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ct
ZGl2LXJlZmxvdy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1kaXYt
cmVmbG93Lmh0bWwKaW5kZXggNjdjNDY2YWE3MDI1NzdiMWIwZjYwOTkzMmJlMjc0OWQyZmY4MjMw
Ni4uYjA5OGYxODQwZTcyODE1OGM0MWMwOTE5ZDU5YzhiN2ZhNThiNjcyYyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1kaXYtcmVmbG93Lmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1kaXYtcmVmbG93Lmh0bWwKQEAgLTE4
LDkgKzE4LDkgQEAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCiAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0QXV0aG9yU2hhZG93RE9NRm9yQW55RWxlbWVudEVuYWJsZWQodHJ1ZSk7CiAKIHZhciBob3N0
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImhvc3QiKTsKLXZhciBzaGFkb3cxID0gaG9zdC53
ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7Cit2YXIgc2hhZG93MSA9IG5ldyBXZWJLaXRTaGFkb3dS
b290KGhvc3QpOwogc2hhZG93MS5pbm5lckhUTUwgPSAiPGRpdj48c2hhZG93Pjwvc2hhZG93Pjxk
aXY+PC9kaXY+PC9kaXY+IjsKLXZhciBzaGFkb3cyID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dS
b290KCk7Cit2YXIgc2hhZG93MiA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwogc2hhZG93
Mi5pbm5lckhUTUwgPSAiPHNlY3Rpb24+IgogICAgICAgICAgICAgICAgICArICAgIjxzaGFkb3c+
PC9zaGFkb3c+IgogICAgICAgICAgICAgICAgICArICAgIjxkaXY+c2Vjb25kIGxpbmUgZm9sbG93
cy48L2Rpdj4iCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93
LWR5bmFtaWMtc3R5bGUtY2hhbmdlLXZpYS1tdXRhdGlvbi1hbmQtc2VsZWN0b3IuaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctZHluYW1pYy1zdHlsZS1jaGFuZ2Utdmlh
LW11dGF0aW9uLWFuZC1zZWxlY3Rvci5odG1sCmluZGV4IGU1ZGZiYThiZjBkNzhiYjNmZWEwNDIz
NDAyNTZlNDlhNzMwYzgwZWUuLjMwNWU5NWU2MDY3MDJkNWQzMTA1ODI0MTQ5YTJhNWZhMDM0ODQ2
ZmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctZHluYW1p
Yy1zdHlsZS1jaGFuZ2UtdmlhLW11dGF0aW9uLWFuZC1zZWxlY3Rvci5odG1sCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctZHluYW1pYy1zdHlsZS1jaGFuZ2UtdmlhLW11
dGF0aW9uLWFuZC1zZWxlY3Rvci5odG1sCkBAIC03LDcgKzcsNyBAQCBmdW5jdGlvbiB0ZXN0KCkg
ewogICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5hcHBlbmRDaGlsZChmb28pOwogCiAgICAg
dmFyIGJhciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwotICAgIHZhciBiYXJTaGFk
b3cgPSBiYXIud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOworICAgIHZhciBiYXJTaGFkb3cgPSBu
ZXcgV2ViS2l0U2hhZG93Um9vdChiYXIpOwogICAgIGJhci5zZXRBdHRyaWJ1dGUoJ2NsYXNzJywg
J2JhcicpOwogICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5hcHBlbmRDaGlsZChiYXIpOwog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LWVsZW1lbnQt
cmVuZGVyaW5nLW11bHRpcGxlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hh
ZG93LWVsZW1lbnQtcmVuZGVyaW5nLW11bHRpcGxlLmh0bWwKaW5kZXggN2JlZTcwMTRhMTcwYmRm
MWZhNGIzYjgxZGEyMTg5YzY3NDdiOGU2MS4uYTVkZGI2MzE1YjJmY2RjYTZiZTY3ZWM1ODRkOWQ5
YTVmZmFmYmJiNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRv
dy1lbGVtZW50LXJlbmRlcmluZy1tdWx0aXBsZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL3NoYWRvdy9zaGFkb3ctZWxlbWVudC1yZW5kZXJpbmctbXVsdGlwbGUuaHRtbApAQCAtMjQs
MTIgKzI0LDEyIEBAIHRlc3RGdW5jcy5wdXNoKGZ1bmN0aW9uIHJlbmRlcmluZ0RvdWJsZVNoYWRv
d1Jvb3QoY2FsbElmRG9uZSkgewogICAgIHZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgnZGl2Jyk7CiAgICAgcm9vdC5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ01JRCcp
KTsKIAotICAgIHZhciBzcjEgPSByb290LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKKyAgICB2
YXIgc3IxID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qocm9vdCk7CiAgICAgc3IxLmFwcGVuZENoaWxk
KGNyZWF0ZVNwYW5XaXRoVGV4dCgnQkVGT1JFIDEnKSk7CiAgICAgc3IxLmFwcGVuZENoaWxkKGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NoYWRvdycpKTsKICAgICBzcjEuYXBwZW5kQ2hpbGQoY3Jl
YXRlU3BhbldpdGhUZXh0KCdBRlRFUiAxJykpOwogCi0gICAgdmFyIHNyMiA9IHJvb3Qud2Via2l0
Q3JlYXRlU2hhZG93Um9vdCgpOworICAgIHZhciBzcjIgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChy
b290KTsKICAgICBzcjIuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdCRUZPUkUgMicp
KTsKICAgICBzcjIuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2hhZG93Jykp
OwogICAgIHNyMi5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0FGVEVSIDInKSk7CkBA
IC00NiwxMSArNDYsMTEgQEAgdGVzdEZ1bmNzLnB1c2goZnVuY3Rpb24gcmVuZGVyaW5nRG91Ymxl
U2hhZG93Um9vdFdpdGhPbmVTaGFkb3dFbGVtZW50KGNhbGxJZkRvbmUKICAgICB2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAgIHJvb3QuYXBwZW5kQ2hpbGQoY3Jl
YXRlU3BhbldpdGhUZXh0KCdNSUQnKSk7CiAKLSAgICB2YXIgc3IxID0gcm9vdC53ZWJraXRDcmVh
dGVTaGFkb3dSb290KCk7CisgICAgdmFyIHNyMSA9IG5ldyBXZWJLaXRTaGFkb3dSb290KHJvb3Qp
OwogICAgIHNyMS5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0JFRk9SRSAxJykpOwog
ICAgIHNyMS5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0FGVEVSIDEnKSk7CiAKLSAg
ICB2YXIgc3IyID0gcm9vdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CisgICAgdmFyIHNyMiA9
IG5ldyBXZWJLaXRTaGFkb3dSb290KHJvb3QpOwogICAgIHNyMi5hcHBlbmRDaGlsZChjcmVhdGVT
cGFuV2l0aFRleHQoJ0JFRk9SRSAyJykpOwogICAgIHNyMi5hcHBlbmRDaGlsZChkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCdzaGFkb3cnKSk7CiAgICAgc3IyLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5X
aXRoVGV4dCgnQUZURVIgMicpKTsKQEAgLTY4LDE3ICs2OCwxNyBAQCB0ZXN0RnVuY3MucHVzaChm
dW5jdGlvbiByZW5kZXJpbmdUcmlwbGVTaGFkb3dSb290KGNhbGxJZkRvbmUpIHsKICAgICB2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAgIHJvb3QuYXBwZW5kQ2hp
bGQoY3JlYXRlU3BhbldpdGhUZXh0KCdNSUQnKSk7CiAKLSAgICB2YXIgc3IxID0gcm9vdC53ZWJr
aXRDcmVhdGVTaGFkb3dSb290KCk7CisgICAgdmFyIHNyMSA9IG5ldyBXZWJLaXRTaGFkb3dSb290
KHJvb3QpOwogICAgIHNyMS5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0JFRk9SRSAx
JykpOwogICAgIHNyMS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzaGFkb3cn
KSk7CiAgICAgc3IxLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQUZURVIgMScpKTsK
IAotICAgIHZhciBzcjIgPSByb290LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKKyAgICB2YXIg
c3IyID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qocm9vdCk7CiAgICAgc3IyLmFwcGVuZENoaWxkKGNy
ZWF0ZVNwYW5XaXRoVGV4dCgnQkVGT1JFIDInKSk7CiAgICAgc3IyLmFwcGVuZENoaWxkKGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoJ3NoYWRvdycpKTsKICAgICBzcjIuYXBwZW5kQ2hpbGQoY3JlYXRl
U3BhbldpdGhUZXh0KCdBRlRFUiAyJykpOwogCi0gICAgdmFyIHNyMyA9IHJvb3Qud2Via2l0Q3Jl
YXRlU2hhZG93Um9vdCgpOworICAgIHZhciBzcjMgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChyb290
KTsKICAgICBzcjMuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdCRUZPUkUgMycpKTsK
ICAgICBzcjMuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2hhZG93JykpOwog
ICAgIHNyMy5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0FGVEVSIDMnKSk7CkBAIC05
NywxMiArOTcsMTIgQEAgdGVzdEZ1bmNzLnB1c2goZnVuY3Rpb24gcmVuZGVyaW5nVHdvU2hhZG93
Um9vdHMoY2FsbElmRG9uZSkgewogICAgIHZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgnZGl2Jyk7CiAgICAgcm9vdC5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ01JRCcp
KTsKIAotICAgIHZhciBzcjEgPSByb290LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKKyAgICB2
YXIgc3IxID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qocm9vdCk7CiAgICAgc3IxLmFwcGVuZENoaWxk
KGNyZWF0ZVNwYW5XaXRoVGV4dCgnQkVGT1JFIDEnKSk7CiAgICAgc3IxLmFwcGVuZENoaWxkKGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NoYWRvdycpKTsKICAgICBzcjEuYXBwZW5kQ2hpbGQoY3Jl
YXRlU3BhbldpdGhUZXh0KCdBRlRFUiAxJykpOwogCi0gICAgdmFyIHNyMiA9IHJvb3Qud2Via2l0
Q3JlYXRlU2hhZG93Um9vdCgpOworICAgIHZhciBzcjIgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChy
b290KTsKICAgICB2YXIgc2hhZG93MjEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzaGFkb3cn
KTsKICAgICBzaGFkb3cyMS5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0ZBTExCQUNL
IDItMScpKTsKICAgICB2YXIgc2hhZG93MjIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzaGFk
b3cnKTsKQEAgLTEzMCw3ICsxMzAsNyBAQCB0ZXN0RnVuY3MucHVzaChmdW5jdGlvbiB0ZXN0V2l0
aERvdWJsZVNoYWRvd1Jvb3RXaXRoQ29udGVudDEoY2FsbElmRG9uZSkgewogCiAgICAgdmFyIHNo
YWRvdzEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzaGFkb3cnKTsKICAgICBzaGFkb3cxLmFw
cGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnU0hBRE9XIEZBTExCQUNLIDEnKSk7Ci0gICAg
dmFyIHNyMSA9IHJvb3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOworICAgIHZhciBzcjEgPSBu
ZXcgV2ViS2l0U2hhZG93Um9vdChyb290KTsKICAgICBzcjEuYXBwZW5kQ2hpbGQoY3JlYXRlU3Bh
bldpdGhUZXh0KCdCRUZPUkUgMScpKTsKICAgICB2YXIgY29udGVudDEgPSBjcmVhdGVDb250ZW50
V2l0aFNlbGVjdCgnLnNyMScsICdDT05URU5UIEZBTExCQUNLIDEnKTsKICAgICBzcjEuYXBwZW5k
Q2hpbGQoY29udGVudDEpOwpAQCAtMTM5LDcgKzEzOSw3IEBAIHRlc3RGdW5jcy5wdXNoKGZ1bmN0
aW9uIHRlc3RXaXRoRG91YmxlU2hhZG93Um9vdFdpdGhDb250ZW50MShjYWxsSWZEb25lKSB7CiAK
ICAgICB2YXIgc2hhZG93MiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NoYWRvdycpOwogICAg
IHNoYWRvdzIuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdTSEFET1cgRkFMTEJBQ0sg
MicpKTsKLSAgICB2YXIgc3IyID0gcm9vdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CisgICAg
dmFyIHNyMiA9IG5ldyBXZWJLaXRTaGFkb3dSb290KHJvb3QpOwogICAgIHNyMi5hcHBlbmRDaGls
ZChjcmVhdGVTcGFuV2l0aFRleHQoJ0JFRk9SRSAyJykpOwogICAgIHZhciBjb250ZW50OwogICAg
IHNyMi5hcHBlbmRDaGlsZChjb250ZW50ID0gY3JlYXRlQ29udGVudFdpdGhTZWxlY3QoJy5zcjIn
LCAnQ09OVEVOVCBGQUxMQkFDSyAyJykpOwpAQCAtMTY0LDcgKzE2NCw3IEBAIHRlc3RGdW5jcy5w
dXNoKGZ1bmN0aW9uIHRlc3RXaXRoRG91YmxlU2hhZG93Um9vdFdpdGhDb250ZW50MihjYWxsSWZE
b25lKSB7CiAKICAgICB2YXIgc2hhZG93MSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NoYWRv
dycpOwogICAgIHNoYWRvdzEuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdTSEFET1cg
RkFMTEJBQ0sgMScpKTsKLSAgICB2YXIgc3IxID0gcm9vdC53ZWJraXRDcmVhdGVTaGFkb3dSb290
KCk7CisgICAgdmFyIHNyMSA9IG5ldyBXZWJLaXRTaGFkb3dSb290KHJvb3QpOwogICAgIHNyMS5h
cHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0JFRk9SRSAxJykpOwogICAgIHNyMS5hcHBl
bmRDaGlsZChjcmVhdGVDb250ZW50V2l0aFNlbGVjdCgnLnNyMScsICdDT05URU5UIEZBTExCQUNL
IDEnKSk7CiAgICAgc3IxLmFwcGVuZENoaWxkKHNoYWRvdzEpOwpAQCAtMTcyLDcgKzE3Miw3IEBA
IHRlc3RGdW5jcy5wdXNoKGZ1bmN0aW9uIHRlc3RXaXRoRG91YmxlU2hhZG93Um9vdFdpdGhDb250
ZW50MihjYWxsSWZEb25lKSB7CiAKICAgICB2YXIgc2hhZG93MiA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoJ3NoYWRvdycpOwogICAgIHNoYWRvdzIuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhU
ZXh0KCdTSEFET1cgRkFMTEJBQ0sgMicpKTsKLSAgICB2YXIgc3IyID0gcm9vdC53ZWJraXRDcmVh
dGVTaGFkb3dSb290KCk7CisgICAgdmFyIHNyMiA9IG5ldyBXZWJLaXRTaGFkb3dSb290KHJvb3Qp
OwogICAgIHNyMi5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0JFRk9SRSAyJykpOwog
ICAgIHNyMi5hcHBlbmRDaGlsZChjcmVhdGVDb250ZW50V2l0aFNlbGVjdCgnLnNyMicsICdDT05U
RU5UIEZBTExCQUNLIDInKSk7CiAgICAgc3IyLmFwcGVuZENoaWxkKGNyZWF0ZUNvbnRlbnRXaXRo
U2VsZWN0KCdzcGFuJywgJ0NPTlRFTlQgRkFMTEJBQ0sgMycpKTsKQEAgLTE5MCw3ICsxOTAsNyBA
QCB0ZXN0RnVuY3MucHVzaChmdW5jdGlvbiByZW5kZXJpbmdEb3VibGVTaGFkb3dSb290RHluYW1p
Y2FsbHlBZGRlZDEoY2FsbElmRG9uZSkgewogICAgIHZhciByb290ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgnZGl2Jyk7CiAgICAgcm9vdC5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQo
J01JRCcpKTsKIAotICAgIHZhciBzcjEgPSByb290LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsK
KyAgICB2YXIgc3IxID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qocm9vdCk7CiAgICAgc3IxLmFwcGVu
ZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQkVGT1JFIDEnKSk7CiAgICAgc3IxLmFwcGVuZENo
aWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NoYWRvdycpKTsKICAgICBzcjEuYXBwZW5kQ2hp
bGQoY3JlYXRlU3BhbldpdGhUZXh0KCdBRlRFUiAxJykpOwpAQCAtMTk4LDcgKzE5OCw3IEBAIHRl
c3RGdW5jcy5wdXNoKGZ1bmN0aW9uIHJlbmRlcmluZ0RvdWJsZVNoYWRvd1Jvb3REeW5hbWljYWxs
eUFkZGVkMShjYWxsSWZEb25lKSB7CiAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2FjdHVh
bC1jb250YWluZXInKS5hcHBlbmRDaGlsZChyb290KTsKIAogICAgIHZhciBmID0gKGZ1bmN0aW9u
KHJvb3QsIGNhbGxJZkRvbmUpIHsgcmV0dXJuIGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgc3Iy
ID0gcm9vdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CisgICAgICAgIHZhciBzcjIgPSBuZXcg
V2ViS2l0U2hhZG93Um9vdChyb290KTsKICAgICAgICAgc3IyLmFwcGVuZENoaWxkKGNyZWF0ZVNw
YW5XaXRoVGV4dCgnQkVGT1JFIDInKSk7CiAgICAgICAgIHNyMi5hcHBlbmRDaGlsZChkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCdzaGFkb3cnKSk7CiAgICAgICAgIHNyMi5hcHBlbmRDaGlsZChjcmVh
dGVTcGFuV2l0aFRleHQoJ0FGVEVSIDInKSk7CkBAIC0yMTYsMTIgKzIxNiwxMiBAQCB0ZXN0RnVu
Y3MucHVzaChmdW5jdGlvbiByZW5kZXJpbmdEb3VibGVTaGFkb3dSb290RHluYW1pY2FsbHlBZGRl
ZDIoY2FsbElmRG9uZSkgewogICAgIHZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgn
ZGl2Jyk7CiAgICAgcm9vdC5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ01JRCcpKTsK
IAotICAgIHZhciBzcjEgPSByb290LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKKyAgICB2YXIg
c3IxID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qocm9vdCk7CiAgICAgc3IxLmFwcGVuZENoaWxkKGNy
ZWF0ZVNwYW5XaXRoVGV4dCgnQkVGT1JFIDEnKSk7CiAgICAgc3IxLmFwcGVuZENoaWxkKGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoJ3NoYWRvdycpKTsKICAgICBzcjEuYXBwZW5kQ2hpbGQoY3JlYXRl
U3BhbldpdGhUZXh0KCdBRlRFUiAxJykpOwogCi0gICAgdmFyIHNyMiA9IHJvb3Qud2Via2l0Q3Jl
YXRlU2hhZG93Um9vdCgpOworICAgIHZhciBzcjIgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChyb290
KTsKICAgICBzcjIuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdCRUZPUkUgMicpKTsK
ICAgICBzcjIuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdBRlRFUiAyJykpOwogCkBA
IC0yNDQsMTEgKzI0NCwxMSBAQCB0ZXN0RnVuY3MucHVzaChmdW5jdGlvbiByZW5kZXJpbmdEb3Vi
bGVTaGFkb3dSb290RHluYW1pY2FsbHlBZGRlZDMoY2FsbElmRG9uZSkgewogICAgIHZhciByb290
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICAgcm9vdC5hcHBlbmRDaGlsZChj
cmVhdGVTcGFuV2l0aFRleHQoJ01JRCcpKTsKIAotICAgIHZhciBzcjEgPSByb290LndlYmtpdENy
ZWF0ZVNoYWRvd1Jvb3QoKTsKKyAgICB2YXIgc3IxID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qocm9v
dCk7CiAgICAgc3IxLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQkVGT1JFIDEnKSk7
CiAgICAgc3IxLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQUZURVIgMScpKTsKIAot
ICAgIHZhciBzcjIgPSByb290LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKKyAgICB2YXIgc3Iy
ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qocm9vdCk7CiAgICAgc3IyLmFwcGVuZENoaWxkKGNyZWF0
ZVNwYW5XaXRoVGV4dCgnQkVGT1JFIDInKSk7CiAgICAgc3IyLmFwcGVuZENoaWxkKGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoJ3NoYWRvdycpKTsKICAgICBzcjIuYXBwZW5kQ2hpbGQoY3JlYXRlU3Bh
bldpdGhUZXh0KCdBRlRFUiAyJykpOwpAQCAtMjcyLDEyICsyNzIsMTIgQEAgdGVzdEZ1bmNzLnB1
c2goZnVuY3Rpb24gcmVuZGVyaW5nRG91YmxlU2hhZG93Um9vdER5bmFtaWNhbGx5UmVtb3ZlZDEo
Y2FsbElmRG9uZSkKICAgICB2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2Rpdicp
OwogICAgIHJvb3QuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdNSUQnKSk7CiAKLSAg
ICB2YXIgc3IxID0gcm9vdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CisgICAgdmFyIHNyMSA9
IG5ldyBXZWJLaXRTaGFkb3dSb290KHJvb3QpOwogICAgIHNyMS5hcHBlbmRDaGlsZChjcmVhdGVT
cGFuV2l0aFRleHQoJ0JFRk9SRSAxJykpOwogICAgIHNyMS5hcHBlbmRDaGlsZChkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCdzaGFkb3cnKSk7CiAgICAgc3IxLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5X
aXRoVGV4dCgnQUZURVIgMScpKTsKIAotICAgIHZhciBzcjIgPSByb290LndlYmtpdENyZWF0ZVNo
YWRvd1Jvb3QoKTsKKyAgICB2YXIgc3IyID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qocm9vdCk7CiAg
ICAgc3IyLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQkVGT1JFIDInKSk7CiAgICAg
c3IyLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NoYWRvdycpKTsKICAgICBz
cjIuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdBRlRFUiAyJykpOwpAQCAtMjk5LDEy
ICsyOTksMTIgQEAgdGVzdEZ1bmNzLnB1c2goZnVuY3Rpb24gcmVuZGVyaW5nRG91YmxlU2hhZG93
Um9vdER5bmFtaWNhbGx5UmVtb3ZlZDIoY2FsbElmRG9uZSkKICAgICB2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAgIHJvb3QuYXBwZW5kQ2hpbGQoY3JlYXRlU3Bh
bldpdGhUZXh0KCdNSUQnKSk7CiAKLSAgICB2YXIgc3IxID0gcm9vdC53ZWJraXRDcmVhdGVTaGFk
b3dSb290KCk7CisgICAgdmFyIHNyMSA9IG5ldyBXZWJLaXRTaGFkb3dSb290KHJvb3QpOwogICAg
IHNyMS5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0JFRk9SRSAxJykpOwogICAgIHNy
MS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzaGFkb3cnKSk7CiAgICAgc3Ix
LmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQUZURVIgMScpKTsKIAotICAgIHZhciBz
cjIgPSByb290LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKKyAgICB2YXIgc3IyID0gbmV3IFdl
YktpdFNoYWRvd1Jvb3Qocm9vdCk7CiAgICAgc3IyLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRo
VGV4dCgnQkVGT1JFIDInKSk7CiAgICAgc3IyLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoJ3NoYWRvdycpKTsKICAgICBzcjIuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0
KCdBRlRFUiAyJykpOwpAQCAtMzI1LDEyICszMjUsMTIgQEAgdGVzdEZ1bmNzLnB1c2goZnVuY3Rp
b24gcmVuZGVyaW5nTGlnaHRDaGlsZHJlbkR5bmFtaWNhbGx5QWRkZWQoY2FsbElmRG9uZSkgewog
CiAgICAgdmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKIAotICAgIHZh
ciBzcjEgPSByb290LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKKyAgICB2YXIgc3IxID0gbmV3
IFdlYktpdFNoYWRvd1Jvb3Qocm9vdCk7CiAgICAgc3IxLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5X
aXRoVGV4dCgnQkVGT1JFIDEnKSk7CiAgICAgc3IxLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoJ3NoYWRvdycpKTsKICAgICBzcjEuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhU
ZXh0KCdBRlRFUiAxJykpOwogCi0gICAgdmFyIHNyMiA9IHJvb3Qud2Via2l0Q3JlYXRlU2hhZG93
Um9vdCgpOworICAgIHZhciBzcjIgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChyb290KTsKICAgICBz
cjIuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdCRUZPUkUgMicpKTsKICAgICBzcjIu
YXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2hhZG93JykpOwogICAgIHNyMi5h
cHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0FGVEVSIDInKSk7CkBAIC0zNTIsMTEgKzM1
MiwxMSBAQCB0ZXN0RnVuY3MucHVzaChmdW5jdGlvbiByZW5kZXJpbmdPbGRlclNoYWRvd1Jvb3RD
b250ZW50RHluYW1pY2FsbHlBZGRlZChjYWxsSWZEbwogICAgIHZhciByb290ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICAgcm9vdC5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0
aFRleHQoJ01JRCcpKTsKIAotICAgIHZhciBzcjEgPSByb290LndlYmtpdENyZWF0ZVNoYWRvd1Jv
b3QoKTsKKyAgICB2YXIgc3IxID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qocm9vdCk7CiAgICAgc3Ix
LmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQkVGT1JFIDEnKSk7CiAgICAgc3IxLmFw
cGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NoYWRvdycpKTsKIAotICAgIHZhciBz
cjIgPSByb290LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKKyAgICB2YXIgc3IyID0gbmV3IFdl
YktpdFNoYWRvd1Jvb3Qocm9vdCk7CiAgICAgc3IyLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRo
VGV4dCgnQkVGT1JFIDInKSk7CiAgICAgc3IyLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoJ3NoYWRvdycpKTsKICAgICBzcjIuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0
KCdBRlRFUiAyJykpOwpAQCAtMzc4LDEyICszNzgsMTIgQEAgdGVzdEZ1bmNzLnB1c2goZnVuY3Rp
b24gcmVuZGVyaW5nTGlnaHRDaGlsZHJlbkR5bmFtaWNhbGx5UmVtb3ZlZChjYWxsSWZEb25lKSB7
CiAgICAgdmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgICByb290
LmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnTUlEJykpOwogCi0gICAgdmFyIHNyMSA9
IHJvb3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOworICAgIHZhciBzcjEgPSBuZXcgV2ViS2l0
U2hhZG93Um9vdChyb290KTsKICAgICBzcjEuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0
KCdCRUZPUkUgMScpKTsKICAgICBzcjEuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgnc2hhZG93JykpOwogICAgIHNyMS5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0FG
VEVSIDEnKSk7CiAKLSAgICB2YXIgc3IyID0gcm9vdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7
CisgICAgdmFyIHNyMiA9IG5ldyBXZWJLaXRTaGFkb3dSb290KHJvb3QpOwogICAgIHNyMi5hcHBl
bmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0JFRk9SRSAyJykpOwogICAgIHNyMi5hcHBlbmRD
aGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzaGFkb3cnKSk7CiAgICAgc3IyLmFwcGVuZENo
aWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQUZURVIgMicpKTsKQEAgLTQwNSwxMyArNDA1LDEzIEBA
IHRlc3RGdW5jcy5wdXNoKGZ1bmN0aW9uIHJlbmRlcmluZ09sZGVyU2hhZG93Um9vdENvbnRlbnRE
eW5hbWljYWxseVJlbW92ZWQoY2FsbElmCiAgICAgdmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCdkaXYnKTsKICAgICByb290LmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgn
TUlEJykpOwogCi0gICAgdmFyIHNyMSA9IHJvb3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwor
ICAgIHZhciBzcjEgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChyb290KTsKICAgICBzcjEuYXBwZW5k
Q2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdCRUZPUkUgMScpKTsKICAgICBzcjEuYXBwZW5kQ2hp
bGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2hhZG93JykpOwogICAgIHNyMS5hcHBlbmRDaGls
ZChjcmVhdGVTcGFuV2l0aFRleHQoJ0FGVEVSIDEnKSk7CiAgICAgc3IxLmFwcGVuZENoaWxkKGNy
ZWF0ZVNwYW5XaXRoVGV4dCgnU0hPVUxEIE5PVCBCRSBSRU5ERVJFRCcpKTsKIAotICAgIHZhciBz
cjIgPSByb290LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKKyAgICB2YXIgc3IyID0gbmV3IFdl
YktpdFNoYWRvd1Jvb3Qocm9vdCk7CiAgICAgc3IyLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRo
VGV4dCgnQkVGT1JFIDInKSk7CiAgICAgc3IyLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoJ3NoYWRvdycpKTsKICAgICBzcjIuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0
KCdBRlRFUiAyJykpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3No
YWRvdy1lbGVtZW50LXJlbmRlcmluZy1zaW5nbGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3NoYWRvdy9zaGFkb3ctZWxlbWVudC1yZW5kZXJpbmctc2luZ2xlLmh0bWwKaW5kZXggODVjNzQ3
YjljYWM1MTZmNDJiNTdiYjU2MWU3NzMyYmUwODM5YTQ1MC4uNmI4OGJiZTU5NjMyZTNkN2FmNTcy
OTRlZDk1ZmZkMzM0ZDU1MGY0NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hh
ZG93L3NoYWRvdy1lbGVtZW50LXJlbmRlcmluZy1zaW5nbGUuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LWVsZW1lbnQtcmVuZGVyaW5nLXNpbmdsZS5odG1sCkBA
IC0yNCw3ICsyNCw3IEBAIHRlc3RGdW5jcy5wdXNoKGZ1bmN0aW9uIHJlbmRlcmluZ1NpbmdsZVNo
YWRvd1Jvb3QoY2FsbElmRG9uZSkgewogICAgIHZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgnZGl2Jyk7CiAgICAgcm9vdC5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ01J
RCcpKTsKIAotICAgIHZhciBzciA9IHJvb3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOworICAg
IHZhciBzciA9IG5ldyBXZWJLaXRTaGFkb3dSb290KHJvb3QpOwogICAgIHNyLmFwcGVuZENoaWxk
KGNyZWF0ZVNwYW5XaXRoVGV4dCgnQkVGT1JFJykpOwogICAgIHNyLmFwcGVuZENoaWxkKGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoJ3NoYWRvdycpKTsKICAgICBzci5hcHBlbmRDaGlsZChjcmVhdGVT
cGFuV2l0aFRleHQoJ0FGVEVSJykpOwpAQCAtNDIsNyArNDIsNyBAQCB0ZXN0RnVuY3MucHVzaChm
dW5jdGlvbiByZW5kZXJpbmdOb3RGYWxsYmFja2VkKGNhbGxJZkRvbmUpIHsKIAogICAgIHZhciBz
aGFkb3cgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzaGFkb3cnKTsKICAgICBzaGFkb3cuYXBw
ZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdGQUxMQkFDSycpKTsKLSAgICB2YXIgc3IgPSBy
b290LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKKyAgICB2YXIgc3IgPSBuZXcgV2ViS2l0U2hh
ZG93Um9vdChyb290KTsKICAgICBzci5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0JF
Rk9SRScpKTsKICAgICBzci5hcHBlbmRDaGlsZChzaGFkb3cpOwogICAgIHNyLmFwcGVuZENoaWxk
KGNyZWF0ZVNwYW5XaXRoVGV4dCgnQUZURVInKSk7CkBAIC01OSw3ICs1OSw3IEBAIHRlc3RGdW5j
cy5wdXNoKGZ1bmN0aW9uIHJlbmRlcmluZ0ZhbGxiYWNrZWQoY2FsbElmRG9uZSkgewogCiAgICAg
dmFyIHNoYWRvdyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NoYWRvdycpOwogICAgIHNoYWRv
dy5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0ZBTExCQUNLJykpOwotICAgIHZhciBz
ciA9IHJvb3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOworICAgIHZhciBzciA9IG5ldyBXZWJL
aXRTaGFkb3dSb290KHJvb3QpOwogICAgIHNyLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4
dCgnQkVGT1JFJykpOwogICAgIHNyLmFwcGVuZENoaWxkKHNoYWRvdyk7CiAgICAgc3IuYXBwZW5k
Q2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdBRlRFUicpKTsKQEAgLTgwLDcgKzgwLDcgQEAgdGVz
dEZ1bmNzLnB1c2goZnVuY3Rpb24gcmVuZGVyaW5nTWl4ZWRPZkZhbGxiYWNrQW5kTm9uRmFsbGJh
Y2soY2FsbElmRG9uZSkgewogICAgIHZhciBzaGFkb3cyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgnc2hhZG93Jyk7CiAgICAgc2hhZG93Mi5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQo
J0ZBTExCQUNLIDInKSk7CiAKLSAgICB2YXIgc3IgPSByb290LndlYmtpdENyZWF0ZVNoYWRvd1Jv
b3QoKTsKKyAgICB2YXIgc3IgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChyb290KTsKICAgICBzci5h
cHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0JFRk9SRScpKTsKICAgICBzci5hcHBlbmRD
aGlsZChzaGFkb3cxKTsKICAgICBzci5hcHBlbmRDaGlsZChzaGFkb3cyKTsKQEAgLTk5LDcgKzk5
LDcgQEAgdGVzdEZ1bmNzLnB1c2goZnVuY3Rpb24gcmVuZGVyaW5nU2hhZG93Um9vdEJlZm9yZUNv
bnRlbnQoY2FsbElmRG9uZSkgewogCiAgICAgdmFyIHNoYWRvdyA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoJ3NoYWRvdycpOwogICAgIHNoYWRvdy5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRl
eHQoJ1NIQURPVyBGQUxMQkFDSycpKTsKLSAgICB2YXIgc3IgPSByb290LndlYmtpdENyZWF0ZVNo
YWRvd1Jvb3QoKTsKKyAgICB2YXIgc3IgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChyb290KTsKICAg
ICBzci5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0JFRk9SRScpKTsKICAgICBzci5h
cHBlbmRDaGlsZChzaGFkb3cpOwogICAgIHNyLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4
dCgnTSAxJykpOwpAQCAtMTIwLDcgKzEyMCw3IEBAIHRlc3RGdW5jcy5wdXNoKGZ1bmN0aW9uIHJl
bmRlcmluZ1NoYWRvd1Jvb3RBZnRlckNvbnRlbnQoY2FsbElmRG9uZSkgewogCiAgICAgdmFyIHNo
YWRvdyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NoYWRvdycpOwogICAgIHNoYWRvdy5hcHBl
bmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ1NIQURPVyBGQUxMQkFDSycpKTsKLSAgICB2YXIg
c3IgPSByb290LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKKyAgICB2YXIgc3IgPSBuZXcgV2Vi
S2l0U2hhZG93Um9vdChyb290KTsKICAgICBzci5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRl
eHQoJ0JFRk9SRScpKTsKICAgICBzci5hcHBlbmRDaGlsZChjcmVhdGVDb250ZW50V2l0aFNlbGVj
dCgnc3BhbicsICdDT05URU5UIEZBTExCQUNLJykpOwogICAgIHNyLmFwcGVuZENoaWxkKGNyZWF0
ZVNwYW5XaXRoVGV4dCgnTSAxJykpOwpAQCAtMTM5LDcgKzEzOSw3IEBAIHRlc3RGdW5jcy5wdXNo
KGZ1bmN0aW9uIHJlbmRlcmluZ1NoYWRvd0VsZW1lbnREeW5hbWljYWxseUFkZGVkKGNhbGxJZkRv
bmUpIHsKICAgICB2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAg
IHJvb3QuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdBRlRFUicpKTsKIAotICAgIHZh
ciBzciA9IHJvb3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOworICAgIHZhciBzciA9IG5ldyBX
ZWJLaXRTaGFkb3dSb290KHJvb3QpOwogICAgIHNyLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRo
VGV4dCgnQkVGT1JFJykpOwogICAgIHNyLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgn
TUlEJykpOwogCkBAIC0xNjMsNyArMTYzLDcgQEAgdGVzdEZ1bmNzLnB1c2goZnVuY3Rpb24gcmVu
ZGVyaW5nU2hhZG93RWxlbWVudER5bmFtaWNhbGx5UmVtb3ZlZChjYWxsSWZEb25lKSB7CiAKICAg
ICB2YXIgc2hhZG93ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2hhZG93Jyk7CiAKLSAgICB2
YXIgc3IgPSByb290LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKKyAgICB2YXIgc3IgPSBuZXcg
V2ViS2l0U2hhZG93Um9vdChyb290KTsKICAgICBzci5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0
aFRleHQoJ0JFRk9SRScpKTsKICAgICBzci5hcHBlbmRDaGlsZChzaGFkb3cpOwogICAgIHNyLmFw
cGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQUZURVInKSk7CkBAIC0xODQsNyArMTg0LDcg
QEAgdGVzdEZ1bmNzLnB1c2goZnVuY3Rpb24gcmVuZGVyaW5nTGlnaHRDaGlsZHJlbkR5bmFtaWNh
bGx5QWRkZWQoY2FsbElmRG9uZSkgewogCiAgICAgdmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCdkaXYnKTsKIAotICAgIHZhciBzciA9IHJvb3Qud2Via2l0Q3JlYXRlU2hhZG93Um9v
dCgpOworICAgIHZhciBzciA9IG5ldyBXZWJLaXRTaGFkb3dSb290KHJvb3QpOwogICAgIHNyLmFw
cGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQkVGT1JFJykpOwogICAgIHNyLmFwcGVuZENo
aWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NoYWRvdycpKTsKICAgICBzci5hcHBlbmRDaGls
ZChjcmVhdGVTcGFuV2l0aFRleHQoJ0FGVEVSJykpOwpAQCAtMjA5LDcgKzIwOSw3IEBAIHRlc3RG
dW5jcy5wdXNoKGZ1bmN0aW9uIHJlbmRlcmluZ0xpZ2h0Q2hpbGRyZW5EeW5hbWljYWxseVJlbW92
ZWQoY2FsbElmRG9uZSkgewogICAgIHZhciBzaGFkb3cgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCdzaGFkb3cnKTsKICAgICBzaGFkb3cuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdN
SUQnKSk7CiAKLSAgICB2YXIgc3IgPSByb290LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKKyAg
ICB2YXIgc3IgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChyb290KTsKICAgICBzci5hcHBlbmRDaGls
ZChjcmVhdGVTcGFuV2l0aFRleHQoJ0JFRk9SRScpKTsKICAgICBzci5hcHBlbmRDaGlsZChzaGFk
b3cpOwogICAgIHNyLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQUZURVInKSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LW5lc3RlZC1wc2V1
ZG8taWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctbmVzdGVkLXBz
ZXVkby1pZC5odG1sCmluZGV4IDRhNGJhYTg3Nzk3OTEyMzdmNzk2YTJhYWUzMTE5YzEyOGJlYWE2
MmIuLjM2ZTA1ZjRhMTY0MDZkMDE5M2E0MGJiM2ZjMjA0MTZhMjJlZjE2YWUgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctbmVzdGVkLXBzZXVkby1pZC5odG1s
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctbmVzdGVkLXBzZXVkby1p
ZC5odG1sCkBAIC0yNiw3ICsyNiw3IEBAIHA6Ongtc2hhZG93LWNoaWxkOjp4LW5lc3RlZC1zaGFk
b3ctY2hpbGQgewogPHNjcmlwdD4KIGZ1bmN0aW9uIGJ1aWxkU2hhZG93V2l0aE9uZUNoaWxkKGhv
c3QsIGNoaWxkVGFnTmFtZSwgY2hpbGRQc2V1ZG9JZCkKIHsKLSAgICB2YXIgc2hhZG93ID0gaG9z
dC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CisgICAgdmFyIHNoYWRvdyA9IG5ldyBXZWJLaXRT
aGFkb3dSb290KGhvc3QpOwogICAgIHZhciBzaGFkb3dDaGlsZCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoY2hpbGRUYWdOYW1lKTsKICAgICBzaGFkb3cuYXBwZW5kQ2hpbGQoc2hhZG93Q2hpbGQp
OwogICAgIGludGVybmFscy5zZXRTaGFkb3dQc2V1ZG9JZChzaGFkb3dDaGlsZCwgY2hpbGRQc2V1
ZG9JZCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LW9u
LWltYWdlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LW9uLWltYWdl
Lmh0bWwKaW5kZXggZDgzMGJmNzVlZjA3YzJkNWQ5Mzg1N2I4ZmYxNzE4ZWEyOGY3N2Q5OS4uZmU3
NzRkZjQ0OTBhNWUxMWNlOWRhMjk2ZWUwODlkZDgwNGNhYzk2YiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1vbi1pbWFnZS5odG1sCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctb24taW1hZ2UuaHRtbApAQCAtOSw3ICs5LDcgQEAg
dmFyIGltYWdlQ29udGVudFN0eWxlID0gImNvbnRlbnQ6IHVybChkYXRhOmltYWdlL3BuZztiYXNl
NjQsaVZCT1J3MEtHZ29BQUFBTlNVaEUKIGZ1bmN0aW9uIGNyZWF0ZUltYWdlRGl2V2l0aFNoYWRv
dygpIHsKICAgdmFyIGltYWdlRGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAg
IGltYWdlRGl2LnNldEF0dHJpYnV0ZSgic3R5bGUiLCBpbWFnZUNvbnRlbnRTdHlsZSk7Ci0gIHZh
ciBzaGFkb3cgPSBpbWFnZURpdi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7IAorICB2YXIgc2hh
ZG93ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaW1hZ2VEaXYpOyAKICAgc2hhZG93LmFwcGVuZENo
aWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpKTsKICAgcmV0dXJuIGltYWdlRGl2Owog
fQpAQCAtMTgsNyArMTgsNyBAQCBmdW5jdGlvbiBjcmVhdGVJbWFnZURpdldpdGhDb250ZW50U2hh
ZG93KCkgewogICB2YXIgaW1hZ2VEaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsK
ICAgaW1hZ2VEaXYuc2V0QXR0cmlidXRlKCJzdHlsZSIsIGltYWdlQ29udGVudFN0eWxlKTsKICAg
aW1hZ2VEaXYuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2JykpOwotICB2
YXIgc2hhZG93ID0gaW1hZ2VEaXYud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOyAKKyAgdmFyIHNo
YWRvdyA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGltYWdlRGl2KTsgCiAgIHNoYWRvdy5hcHBlbmRD
aGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKSk7CiAgIHNoYWRvdy5hcHBlbmRDaGls
ZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjb250ZW50JykpOwogICByZXR1cm4gaW1hZ2VEaXY7
CkBAIC0yNyw3ICsyNyw3IEBAIGZ1bmN0aW9uIGNyZWF0ZUltYWdlRGl2V2l0aENvbnRlbnRTaGFk
b3coKSB7CiBmdW5jdGlvbiBjcmVhdGVJbWFnZURpdldpdGhGYWxsYmFja0NvbnRlbnRTaGFkb3co
KSB7CiAgIHZhciBpbWFnZURpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICBp
bWFnZURpdi5zZXRBdHRyaWJ1dGUoInN0eWxlIiwgaW1hZ2VDb250ZW50U3R5bGUpOwotICB2YXIg
c2hhZG93ID0gaW1hZ2VEaXYud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOyAKKyAgdmFyIHNoYWRv
dyA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGltYWdlRGl2KTsgCiAgIHNoYWRvdy5hcHBlbmRDaGls
ZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKSk7CiAgIHZhciBjb250ZW50ID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgnY29udGVudCcpOwogICBjb250ZW50LmlubmVySFRNTCA9ICI8ZGl2
PjwvZGl2PiI7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93
LXBzZXVkby1pZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1wc2V1
ZG8taWQuaHRtbAppbmRleCBhNzQ3NTFlOThiZGQwOWFhNmM0ODE5YmE2ZTYzMmFlNGUzY2UyMDg4
Li5lNWJmYzlkYjc3MzljNjM0MGQyM2JkZTYzMGU3YzVlM2JlYTNkY2JkIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXBzZXVkby1pZC5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcHNldWRvLWlkLmh0bWwKQEAgLTI1LDE5
ICsyNSwxOSBAQCBkaXY6OmZvb2JhciB7CiA8ZGl2IGlkPSJob3N0MyI+PC9kaXY+CiAKIDxzY3Jp
cHQ+Ci12YXIgc2hhZG93Um9vdDEgPSBob3N0MS53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7Cit2
YXIgc2hhZG93Um9vdDEgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0MSk7CiB2YXIgZGl2MSA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogZGl2MS5pbm5lckhUTUwgPSAicHNldWRv
IGlzIHgtc2hhZG93OiBUaGlzIHNob3VsZCBiZSByZWQuIjsKIGRpdjEud2Via2l0UHNldWRvID0g
Ingtc2hhZG93IjsKIHNoYWRvd1Jvb3QxLmFwcGVuZENoaWxkKGRpdjEpOwogCi12YXIgc2hhZG93
Um9vdDIgPSBob3N0Mi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7Cit2YXIgc2hhZG93Um9vdDIg
PSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0Mik7CiB2YXIgZGl2MiA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoJ2RpdicpOwogZGl2Mi5pbm5lckhUTUwgPSAicHNldWRvIGlzIC10ZXN0OiBUaGlz
IHNob3VsZCBub3QgYmUgcmVkLiI7CiBkaXYyLndlYmtpdFBzZXVkbyA9ICItdGVzdCI7CiBzaGFk
b3dSb290Mi5hcHBlbmRDaGlsZChkaXYyKTsKIAotdmFyIHNoYWRvd1Jvb3QzID0gaG9zdDMud2Vi
a2l0Q3JlYXRlU2hhZG93Um9vdCgpOwordmFyIHNoYWRvd1Jvb3QzID0gbmV3IFdlYktpdFNoYWRv
d1Jvb3QoaG9zdDMpOwogdmFyIGRpdjMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsK
IGRpdjMuaW5uZXJIVE1MID0gInBzZXVkbyBpcyBmb29iYXI6IFRoaXMgc2hvdWxkIG5vdCBiZSBy
ZWQuIjsKIGRpdjMud2Via2l0UHNldWRvID0gImZvb2JhciI7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJlbW92ZWNoaWxkLWFuZC1ibHVyLWV2ZW50Lmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJlbW92ZWNoaWxkLWFuZC1i
bHVyLWV2ZW50Lmh0bWwKaW5kZXggYTE1NjljM2U0ZjRjZjJiYWMwMDY1NmY4YmZmZjBkNGU4MjBm
MmFlOS4uN2MyMzI5NDY4YzU2NmMwNzc3NzQ2ODk4MWQ4MGU0ZTYxZTRjODk5NiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yZW1vdmVjaGlsZC1hbmQtYmx1
ci1ldmVudC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcmVt
b3ZlY2hpbGQtYW5kLWJsdXItZXZlbnQuaHRtbApAQCAtMTAsNyArMTAsNyBAQAogZGVzY3JpcHRp
b24oJ0NoZWNrIGZvY3VzZWQgc2hhZG93IG5vZGUgZGlzcGF0Y2hzIGJsdXIgZXZlbnQgb24gcmVt
b3ZlQ2hpbGQgb2YgaG9zdC4nKTsKIHZhciBsb2dzID0gW107CiB2YXIgdGVzdCA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCd0ZXN0Jyk7Ci12YXIgc2hhZG93ID0gdGVzdC53ZWJraXRDcmVhdGVT
aGFkb3dSb290KCk7Cit2YXIgc2hhZG93ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QodGVzdCk7CiB2
YXIgaW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbnB1dCIpOwogc2hhZG93LmFwcGVu
ZENoaWxkKGlucHV0KTsKIGlucHV0LmFkZEV2ZW50TGlzdGVuZXIoJ2JsdXInLCBmdW5jdGlvbiAo
KSB7IGxvZ3MucHVzaCgnYmx1cicpOyB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL3NoYWRvdy9zaGFkb3ctcmVwcm9qZWN0aW9uLWNsaWNrLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9zaGFkb3cvc2hhZG93LXJlcHJvamVjdGlvbi1jbGljay5odG1sCmluZGV4IDk0NGQ0
ZWJlMjM1MzcwNzhlMDZhYjBkNzFmN2M2ODZhYmUxZjZkMWQuLmQ2OTE4NjEyODdjN2JlY2UwM2Zl
NWYxMmQ2NmYzMWFiM2Y1ZTgyM2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3No
YWRvdy9zaGFkb3ctcmVwcm9qZWN0aW9uLWNsaWNrLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L3NoYWRvdy1yZXByb2plY3Rpb24tY2xpY2suaHRtbApAQCAtMTIsMTQgKzEy
LDE0IEBACiBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0
KCk7CiAKLXZhciBzaGFkb3dSb290MSA9IGhvc3QxLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsK
K3ZhciBzaGFkb3dSb290MSA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QxKTsKIHNoYWRvd1Jv
b3QxLmlubmVySFRNTCA9ICc8ZGl2IGlkPSJ0YXJnZXQiPk9sZGVzdCBTaGFkb3dSb290IENoaWxk
PC9kaXY+JzsKIAotdmFyIHNoYWRvd1Jvb3QyID0gaG9zdDEud2Via2l0Q3JlYXRlU2hhZG93Um9v
dCgpOwordmFyIHNoYWRvd1Jvb3QyID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDEpOwogc2hh
ZG93Um9vdDIuaW5uZXJIVE1MID0gJzxkaXYgaWQ9Imhvc3QzIj48c2hhZG93Pjwvc2hhZG93Pjxj
b250ZW50PjwvY29udGVudD48ZGl2PllvdW5nZXN0IFNoYWRvd1Jvb3QgQ2hpbGQ8L2Rpdj48L2Rp
dj4nOwogCiB2YXIgaG9zdDMgPSBzaGFkb3dSb290Mi5nZXRFbGVtZW50QnlJZCgnaG9zdDMnKTsK
LXZhciBzaGFkb3dSb290MyA9IGhvc3QzLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKK3ZhciBz
aGFkb3dSb290MyA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QzKTsKIHNoYWRvd1Jvb3QzLmlu
bmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9ImRpdiI+PC9jb250ZW50Pic7CiAKIGNvbnRhaW5l
ci5vZmZzZXRMZWZ0OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3No
YWRvdy1yZXByb2plY3Rpb24tZHluYW1pYy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hh
ZG93L3NoYWRvdy1yZXByb2plY3Rpb24tZHluYW1pYy5odG1sCmluZGV4IDExMDM1ZmE2YmM0YTJi
ZGM4OGViMzc0NjZlZWIyYTc3NGZhNmI5MjIuLjdiMzQ1MjE1YjgyYWZiZmNjMzViMTMzNmQ0OWVj
YmFjMzRmMjNhMjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFk
b3ctcmVwcm9qZWN0aW9uLWR5bmFtaWMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvc2hhZG93LXJlcHJvamVjdGlvbi1keW5hbWljLmh0bWwKQEAgLTgsMTQgKzgsMTQgQEAK
IGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsK
IAotdmFyIHNoYWRvd1Jvb3QxID0gaG9zdDEud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwordmFy
IHNoYWRvd1Jvb3QxID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDEpOwogc2hhZG93Um9vdDEu
aW5uZXJIVE1MID0gJzxkaXYgaWQ9Imhvc3QyIj5PbGRlc3QgU2hhZG93Um9vdCBDaGlsZDwvZGl2
Pic7CiAKLXZhciBzaGFkb3dSb290MiA9IGhvc3QxLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsK
K3ZhciBzaGFkb3dSb290MiA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QxKTsKIHNoYWRvd1Jv
b3QyLmlubmVySFRNTCA9ICc8ZGl2IGlkPSJob3N0MyI+PHNoYWRvdz48L3NoYWRvdz48Y29udGVu
dD48L2NvbnRlbnQ+PGRpdj5Zb3VuZ2VzdCBTaGFkb3dSb290IENoaWxkPC9kaXY+PC9kaXY+JzsK
IAogdmFyIGhvc3QzID0gc2hhZG93Um9vdDIuZ2V0RWxlbWVudEJ5SWQoJ2hvc3QzJyk7Ci12YXIg
c2hhZG93Um9vdDMgPSBob3N0My53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7Cit2YXIgc2hhZG93
Um9vdDMgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0Myk7CiBzaGFkb3dSb290My5pbm5lckhU
TUwgPSAnPGNvbnRlbnQgc2VsZWN0PSJkaXYiPjwvY29udGVudD4nOwogCiBzZXRUaW1lb3V0KGZ1
bmN0aW9uKCkgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRv
dy1yZXByb2plY3Rpb24tZmFsbGJhY2suaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy9zaGFkb3ctcmVwcm9qZWN0aW9uLWZhbGxiYWNrLmh0bWwKaW5kZXggMWVkZTE0OWMzNzM2NDBh
MzFjODkzZDllMzY3NTk4YWYxMWJiOWYwMC4uZThjNDNmMjBmMWJkYTU0NThkNmU0ZTU5MDAwMjBh
NWU2OGIxYTQ1NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRv
dy1yZXByb2plY3Rpb24tZmFsbGJhY2suaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvc2hhZG93LXJlcHJvamVjdGlvbi1mYWxsYmFjay5odG1sCkBAIC01LDE3ICs1LDE3IEBA
CiA8ZGl2IGlkPSJob3N0MSI+PGRpdj5Ib3N0IENoaWxkPC9kaXY+PC9kaXY+CiAKIDxzY3JpcHQ+
Ci12YXIgc2hhZG93Um9vdDEgPSBob3N0MS53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7Cit2YXIg
c2hhZG93Um9vdDEgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0MSk7CiBzaGFkb3dSb290MS5p
bm5lckhUTUwgPSAnPGRpdiBpZD0iaG9zdDIiPk9sZGVzdCBTaGFkb3dSb290IENoaWxkPC9kaXY+
JzsKIAotdmFyIHNoYWRvd1Jvb3QyID0gaG9zdDEud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwor
dmFyIHNoYWRvd1Jvb3QyID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDEpOwogc2hhZG93Um9v
dDIuaW5uZXJIVE1MID0gJzxzaGFkb3c+PC9zaGFkb3c+PGNvbnRlbnQ+PC9jb250ZW50PjxzaGFk
b3c+PGRpdiB0aXRsZT0iZGVidWdzdG9wIj5TaGFkb3cgRmFsbGJhY2sgRWxlbWVudCAoMSk8L2Rp
dj48L3NoYWRvdz4nOwogCi12YXIgc2hhZG93Um9vdDMgPSBob3N0MS53ZWJraXRDcmVhdGVTaGFk
b3dSb290KCk7Cit2YXIgc2hhZG93Um9vdDMgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0MSk7
CiBzaGFkb3dSb290My5pbm5lckhUTUwgPSAnPGRpdiBpZD0iaG9zdDQiPjxzaGFkb3c+PC9zaGFk
b3c+PHNoYWRvdz48ZGl2PlNoYWRvdyBGYWxsYmFjayBFbGVtZW50ICgyKTwvZGl2Pjwvc2hhZG93
PjxzcGFuPk5vdCByZW5kZXJlZCAoMSk8L3NwYW4+PHNoYWRvdz48c3Bhbj5Ob3QgcmVuZGVyZWQg
KDIpPC9zcGFuPjwvc2hhZG93PjwvZGl2Pic7CiAKIHZhciBob3N0NCA9IHNoYWRvd1Jvb3QzLmdl
dEVsZW1lbnRCeUlkKCdob3N0NCcpOwotdmFyIHNoYWRvd1Jvb3Q0ID0gaG9zdDQud2Via2l0Q3Jl
YXRlU2hhZG93Um9vdCgpOwordmFyIHNoYWRvd1Jvb3Q0ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qo
aG9zdDQpOwogCiBzaGFkb3dSb290NC5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSJkaXYi
PjwvY29udGVudD4nOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zaGFkb3cvc2hhZG93LXJlcHJvamVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20v
c2hhZG93L3NoYWRvdy1yZXByb2plY3Rpb24uaHRtbAppbmRleCA2YTFhYzNkOTNmZmM5MTMzZDIx
NTJhN2RhNWYzMWEwNWUwMjllOThiLi43NDQ1MDgyZWE4MmM3YjkzZWEwMDBjYjZiNjVhYWQxNTdj
MjA0ZjE3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJl
cHJvamVjdGlvbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ct
cmVwcm9qZWN0aW9uLmh0bWwKQEAgLTUsMTQgKzUsMTQgQEAKIDxkaXYgaWQ9Imhvc3QxIj48ZGl2
Pkhvc3QgQ2hpbGQ8L2Rpdj48L2Rpdj4KIAogPHNjcmlwdD4KLXZhciBzaGFkb3dSb290MSA9IGhv
c3QxLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKK3ZhciBzaGFkb3dSb290MSA9IG5ldyBXZWJL
aXRTaGFkb3dSb290KGhvc3QxKTsKIHNoYWRvd1Jvb3QxLmlubmVySFRNTCA9ICc8ZGl2IGlkPSJo
b3N0MiI+T2xkZXN0IFNoYWRvd1Jvb3QgQ2hpbGQ8L2Rpdj4nOwogCi12YXIgc2hhZG93Um9vdDIg
PSBob3N0MS53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7Cit2YXIgc2hhZG93Um9vdDIgPSBuZXcg
V2ViS2l0U2hhZG93Um9vdChob3N0MSk7CiBzaGFkb3dSb290Mi5pbm5lckhUTUwgPSAnPGRpdiBp
ZD0iaG9zdDMiPjxzaGFkb3c+PC9zaGFkb3c+PGNvbnRlbnQ+PC9jb250ZW50PjxkaXY+WW91bmdl
c3QgU2hhZG93Um9vdCBDaGlsZDwvZGl2PjwvZGl2Pic7CiAKIHZhciBob3N0MyA9IHNoYWRvd1Jv
b3QyLmdldEVsZW1lbnRCeUlkKCdob3N0MycpOwotdmFyIHNoYWRvd1Jvb3QzID0gaG9zdDMud2Vi
a2l0Q3JlYXRlU2hhZG93Um9vdCgpOwordmFyIHNoYWRvd1Jvb3QzID0gbmV3IFdlYktpdFNoYWRv
d1Jvb3QoaG9zdDMpOwogc2hhZG93Um9vdDMuaW5uZXJIVE1MID0gJzxjb250ZW50IHNlbGVjdD0i
ZGl2Ij48L2NvbnRlbnQ+JzsKIDwvc2NyaXB0PgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9zaGFkb3cvc2hhZG93LXJlcHJvamVjdGlvbjIuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy9zaGFkb3ctcmVwcm9qZWN0aW9uMi5odG1sCmluZGV4IDdjMjRiNjI2MDRj
YmVkODUyZjNiYTg1MjY2M2JlN2M1Mjc0M2Y4ZDUuLjlmN2Q3NzYyMzM0N2ZmMzZkNTg1YjZjMzIz
OTQ1ZTY1ODgyNWQ1NTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9z
aGFkb3ctcmVwcm9qZWN0aW9uMi5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy9zaGFkb3ctcmVwcm9qZWN0aW9uMi5odG1sCkBAIC01LDE0ICs1LDE0IEBACiA8ZGl2IGlkPSJo
b3N0MSI+PGRpdj5CPC9kaXY+PC9kaXY+CiAKIDxzY3JpcHQ+Ci12YXIgc2hhZG93Um9vdDEgPSBo
b3N0MS53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7Cit2YXIgc2hhZG93Um9vdDEgPSBuZXcgV2Vi
S2l0U2hhZG93Um9vdChob3N0MSk7CiBzaGFkb3dSb290MS5pbm5lckhUTUwgPSAnPHNoYWRvdz48
L3NoYWRvdz4nOwogCi12YXIgc2hhZG93Um9vdDIgPSBob3N0MS53ZWJraXRDcmVhdGVTaGFkb3dS
b290KCk7Cit2YXIgc2hhZG93Um9vdDIgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0MSk7CiBz
aGFkb3dSb290Mi5pbm5lckhUTUwgPSAnPGRpdiBpZD0iaG9zdDMiPjxzaGFkb3c+PC9zaGFkb3c+
PC9kaXY+JzsKIAogdmFyIGhvc3QzID0gc2hhZG93Um9vdDIuZ2V0RWxlbWVudEJ5SWQoJ2hvc3Qz
Jyk7Ci12YXIgc2hhZG93Um9vdDMgPSBob3N0My53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7Cit2
YXIgc2hhZG93Um9vdDMgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0Myk7CiBzaGFkb3dSb290
My5pbm5lckhUTUwgPSAnPGRpdj5BPC9kaXY+PGNvbnRlbnQgc2VsZWN0PSJkaXYiPjwvY29udGVu
dD48ZGl2PkM8L2Rpdj4nOwogPC9zY3JpcHQ+CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1hcHBlbmQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1hcHBlbmQuaHRtbAppbmRleCA2Mjk0OWIyODBmMTI0MWQw
MzM2ZDQ3MmUxYTkwYjMwZTA1YTFiMzhkLi41ZGE4OGM1YmUxYTNmZjJlOTA1NTNiMDliYWI1Yzgx
Njc5Y2ZlZTIxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93
LXJvb3QtYXBwZW5kLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRv
dy1yb290LWFwcGVuZC5odG1sCkBAIC0xNiw3ICsxNiw3IEBAIGZ1bmN0aW9uIGRvVGVzdCgpIHsK
ICAgICB9CiAKICAgICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7Ci0g
ICAgcm9vdCA9IGRpdi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CisgICAgcm9vdCA9IG5ldyBX
ZWJLaXRTaGFkb3dSb290KGRpdik7CiAgICAgcm9vdC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVh
dGVUZXh0Tm9kZSgnU1MnKSk7CiAKICAgICBjb250YWluZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgnY29udGFpbmVyJyk7CkBAIC0yNiw3ICsyNiw3IEBAIGZ1bmN0aW9uIGRvVGVzdCgpIHsK
ICAgICBzaG91bGRCZSgnY29udGFpbmVyLmZpcnN0Q2hpbGQudGV4dENvbnRlbnQnLCAnIlNTIicp
OwogCiAgICAgdmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwotICAgIHJv
b3QgPSBkaXYud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOworICAgIHJvb3QgPSBuZXcgV2ViS2l0
U2hhZG93Um9vdChkaXYpOwogICAgIHJvb3QuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4
dE5vZGUoJ1BBJykpOwogCiAgICAgY29udGFpbmVyLmluc2VydEJlZm9yZShyb290LCBjb250YWlu
ZXIuZmlyc3RDaGlsZCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
c2hhZG93LXJvb3QtYXBwbHlBdXRob3JTdHlsZXMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3NoYWRvdy9zaGFkb3ctcm9vdC1hcHBseUF1dGhvclN0eWxlcy5odG1sCmluZGV4IGNiNzk3YjE4
ODExNzc4NjBmZGJhMmFkZGIzZmJlZmMwNjExM2FlOWMuLjYxOGVjODIwMDA3YWU4ZGIwZmM3NWIy
MWQ0M2Y4NTFjZmVkZDJhZWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy9zaGFkb3ctcm9vdC1hcHBseUF1dGhvclN0eWxlcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1hcHBseUF1dGhvclN0eWxlcy5odG1sCkBAIC01OSw3
ICs1OSw3IEBAIGZ1bmN0aW9uIHJlbmRlckFwcGx5QXV0aG9yU3R5bGVDYXNlKCkgewogICAgIHZh
ciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgICBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgnYXBwbHktYXV0aG9yLXN0eWxlJykuYXBwZW5kQ2hpbGQoZGl2KTsKIAotICAg
IHZhciBzaGFkb3dSb290ID0gZGl2LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKKyAgICB2YXIg
c2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGRpdik7CiAgICAgYXNzZXJ0RmFsc2Uo
J2RlZmF1bHQgYXBwbHlBdXRob3JTdHlsZXMnLCBzaGFkb3dSb290LmFwcGx5QXV0aG9yU3R5bGVz
KTsKICAgICBzaGFkb3dSb290LmFwcGx5QXV0aG9yU3R5bGVzID0gdHJ1ZTsKICAgICBhc3NlcnRU
cnVlKCdhcHBseUF1dGhvclN0eWxlcyBzaG91bGQgYmUgdHJ1ZScsIHNoYWRvd1Jvb3QuYXBwbHlB
dXRob3JTdHlsZXMpOwpAQCAtNzAsNyArNzAsNyBAQCBmdW5jdGlvbiByZW5kZXJOb0FwcGx5QXV0
aG9yU3R5bGVDYXNlKCkgewogICAgIHZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdk
aXYnKTsKICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbm8tYXBwbHktYXV0aG9yLXN0eWxl
JykuYXBwZW5kQ2hpbGQoZGl2KTsKIAotICAgIHZhciBzaGFkb3dSb290ID0gZGl2LndlYmtpdENy
ZWF0ZVNoYWRvd1Jvb3QoKTsKKyAgICB2YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dS
b290KGRpdik7CiAgICAgYXNzZXJ0RmFsc2UoJ2RlZmF1bHQgYXBwbHlBdXRob3JTdHlsZXMnLCBz
aGFkb3dSb290LmFwcGx5QXV0aG9yU3R5bGVzKTsKICAgICBzaGFkb3dSb290LmFwcGx5QXV0aG9y
U3R5bGVzID0gZmFsc2U7CiAgICAgYXNzZXJ0RmFsc2UoJ2FwcGx5QXV0aG9yU3R5bGVzIHNob3Vs
ZCBiZSBmYWxzZScsIHNoYWRvd1Jvb3QuYXBwbHlBdXRob3JTdHlsZXMpOwpAQCAtODEsNyArODEs
NyBAQCBmdW5jdGlvbiByZW5kZXJBcHBseUF1dGhvclN0eWxlV2l0aElubGluZVN0eWxlRGVjbGFy
YXRpb25DYXNlKCkgewogICAgIHZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYn
KTsKICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnd2l0aC1pbmxpbmUtc3R5bGUtZGVjbGFy
YXRpb24nKS5hcHBlbmRDaGlsZChkaXYpOwogCi0gICAgdmFyIHNoYWRvd1Jvb3QgPSBkaXYud2Vi
a2l0Q3JlYXRlU2hhZG93Um9vdCgpOworICAgIHZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNo
YWRvd1Jvb3QoZGl2KTsKICAgICBhc3NlcnRGYWxzZSgnZGVmYXVsdCBhcHBseUF1dGhvclN0eWxl
cycsIHNoYWRvd1Jvb3QuYXBwbHlBdXRob3JTdHlsZXMpOwogICAgIHNoYWRvd1Jvb3QuYXBwbHlB
dXRob3JTdHlsZXMgPSB0cnVlOwogICAgIGFzc2VydFRydWUoJ2FwcGx5QXV0aG9yU3R5bGVzIHNo
b3VsZCBiZSB0cnVlJywgc2hhZG93Um9vdC5hcHBseUF1dGhvclN0eWxlcyk7CkBAIC05Miw3ICs5
Miw3IEBAIGZ1bmN0aW9uIHJlbmRlckFwcGx5QXV0aG9yU3R5bGVXaXRoT3ZlcnJpZGluZ0ltcG9y
dGFudFByb3BlcnR5Q2FzZSgpIHsKICAgICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgnZGl2Jyk7CiAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RyeS10by1vdmVycmlkZS1p
bXBvcnRhbnQnKS5hcHBlbmRDaGlsZChkaXYpOwogCi0gICAgdmFyIHNoYWRvd1Jvb3QgPSBkaXYu
d2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOworICAgIHZhciBzaGFkb3dSb290ID0gbmV3IFdlYktp
dFNoYWRvd1Jvb3QoZGl2KTsKICAgICBhc3NlcnRGYWxzZSgnZGVmYXVsdCBhcHBseUF1dGhvclN0
eWxlcycsIHNoYWRvd1Jvb3QuYXBwbHlBdXRob3JTdHlsZXMpOwogICAgIHNoYWRvd1Jvb3QuYXBw
bHlBdXRob3JTdHlsZXMgPSB0cnVlOwogICAgIGFzc2VydFRydWUoJ2FwcGx5QXV0aG9yU3R5bGVz
IHNob3VsZCBiZSB0cnVlJywgc2hhZG93Um9vdC5hcHBseUF1dGhvclN0eWxlcyk7CkBAIC0xMDMs
NyArMTAzLDcgQEAgZnVuY3Rpb24gdGVzdENoYW5naW5nQXBwbHlBdXRob3JTdHlsZUZyb21UcnVl
VG9GYWxzZSgpIHsKICAgICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7
CiAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NoYW5nZS1hcHBseS1hdXRob3Itc3R5bGUt
ZnJvbS10cnVlLXRvLWZhbHNlJykuYXBwZW5kQ2hpbGQoZGl2KTsKIAotICAgIHZhciBzaGFkb3dS
b290ID0gZGl2LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKKyAgICB2YXIgc2hhZG93Um9vdCA9
IG5ldyBXZWJLaXRTaGFkb3dSb290KGRpdik7CiAgICAgYXNzZXJ0RmFsc2UoJ2RlZmF1bHQgYXBw
bHlBdXRob3JTdHlsZXMnLCBzaGFkb3dSb290LmFwcGx5QXV0aG9yU3R5bGVzKTsKICAgICBzaGFk
b3dSb290LmFwcGx5QXV0aG9yU3R5bGVzID0gdHJ1ZTsKICAgICBhc3NlcnRUcnVlKCdhcHBseUF1
dGhvclN0eWxlcyBzaG91bGQgYmUgdHJ1ZScsIHNoYWRvd1Jvb3QuYXBwbHlBdXRob3JTdHlsZXMp
OwpAQCAtMTI0LDcgKzEyNCw3IEBAIGZ1bmN0aW9uIHRlc3RDaGFuZ2luZ0FwcGx5QXV0aG9yU3R5
bGVGcm9tRmFsc2VUb1RydWUoKSB7CiAgICAgdmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoJ2RpdicpOwogICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjaGFuZ2UtYXBwbHktYXV0
aG9yLXN0eWxlLWZyb20tZmFsc2UtdG8tdHJ1ZScpLmFwcGVuZENoaWxkKGRpdik7CiAKLSAgICB2
YXIgc2hhZG93Um9vdCA9IGRpdi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CisgICAgdmFyIHNo
YWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChkaXYpOwogICAgIHNoYWRvd1Jvb3QuYXBw
bHlBdXRob3JTdHlsZXMgPSBmYWxzZTsKICAgICBhc3NlcnRGYWxzZSgnYXBwbHlBdXRob3JTdHls
ZXMgc2hvdWxkIGJlIGZhbHNlJywgc2hhZG93Um9vdC5hcHBseUF1dGhvclN0eWxlcyk7CiAgICAg
c2hhZG93Um9vdC5pbm5lckhUTUwgPSAnPGRpdj48c3BhbiBpZD0idGVzdDIiPjwvc3Bhbj48L2Rp
dj4nOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290
LWF0dGFjaGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3Qt
YXR0YWNoZWQuaHRtbAppbmRleCBmNTEyNWZiZDQwODVmNWIwNTlhYWRiNTdmNDYyNTllYjJjODY5
NDBjLi5mYmI2Zjg2YzJmYmYxMGQ4MTNmOGMzMDU1YWIzMzBmNjYwZjM2ZWUwIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3QtYXR0YWNoZWQuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3QtYXR0YWNoZWQuaHRt
bApAQCAtMTcsNyArMTcsNyBAQCB2YXIgY29udGFpbmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpOwogICAgIHdpbmRvdy5saWdodCA9IGNyZWF0ZVNwYW5XaXRoVGV4dCgn
TElHSFQnKTsKICAgICByb290LmFwcGVuZENoaWxkKGxpZ2h0KTsKIAotICAgIHZhciBzaGFkb3dS
b290ID0gcm9vdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CisgICAgdmFyIHNoYWRvd1Jvb3Qg
PSBuZXcgV2ViS2l0U2hhZG93Um9vdChyb290KTsKIAogICAgIHNob3VsZEJlKCdpbnRlcm5hbHMu
YXR0YWNoZWQobGlnaHQpJywgJ2ZhbHNlJyk7CiAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J2NvbnRhaW5lcicpLmFwcGVuZENoaWxkKHJvb3QpOwpAQCAtMjksNyArMjksNyBAQCB2YXIgY29u
dGFpbmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpOwogICAgIHdpbmRv
dy5saWdodCA9IGNyZWF0ZVNwYW5XaXRoVGV4dCgnTElHSFQnKTsKICAgICByb290LmFwcGVuZENo
aWxkKGxpZ2h0KTsKIAotICAgIHZhciBzaGFkb3dSb290ID0gcm9vdC53ZWJraXRDcmVhdGVTaGFk
b3dSb290KCk7CisgICAgdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChyb290
KTsKICAgICBzaGFkb3dSb290LmFwcGVuZENoaWxkKGNyZWF0ZUNvbnRlbnRXaXRoU2VsZWN0KCdz
cGFuJykpOwogCiAgICAgc2hvdWxkQmUoJ2ludGVybmFscy5hdHRhY2hlZChsaWdodCknLCAnZmFs
c2UnKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9v
dC1pbm5lckhUTUwuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9v
dC1pbm5lckhUTUwuaHRtbAppbmRleCA4MGZlZjkxNWEwMGZkZDliNWM5M2YwODVlMDAxNGE1NTcz
OTBkNTE0Li5kMDc4N2I0YWI0ZmVhMGZiYmE4NDI4ODNkZDdhZjAyMDE4ODZmZmE4IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3QtaW5uZXJIVE1MLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290LWlubmVySFRN
TC5odG1sCkBAIC0xNyw3ICsxNyw3IEBAIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogCiBob3N0
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CiBkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKGhvc3QpOwotcm9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOworcm9vdCA9
IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwogCiB2YXIgZGl2MSA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoImRpdiIpOwogZGl2MS5zZXRBdHRyaWJ1dGUoImlkIiwgImRpdjEiKTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1qcy1hcGktZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290LWpzLWFw
aS1leHBlY3RlZC50eHQKaW5kZXggOTlmZjA2Zjc5YjcwODhhNzY5YjQ1NTFiZmU0OTEzMjE1OGQ4
YjhhMC4uOTNmMGJjNTNiMjQyY2E1YWQ4YjdkYWM4NmUxNDQzM2ZmZjM1OTdjMSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290LWpzLWFwaS1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290LWpzLWFw
aS1leHBlY3RlZC50eHQKQEAgLTMsNiArMywxMCBAQCBUZXN0cyBmb3IgU2hhZG93Um9vdCBKUyBB
UElzLiBDYW4gb25seSBydW4gd2l0aGluIERSVAogT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgog
CiAKK1BBU1MgbmV3IFdlYktpdFNoYWRvd1Jvb3QoKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9y
OiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KK1BBU1MgbmV3IFdlYktpdFNoYWRvd1Jvb3QodW5kZWZp
bmVkKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IEhpZXJhcmNoeVJlcXVlc3RFcnJvcjogRE9NIEV4
Y2VwdGlvbiAzLgorUEFTUyBuZXcgV2ViS2l0U2hhZG93Um9vdChudWxsKSB0aHJldyBleGNlcHRp
b24gRXJyb3I6IEhpZXJhcmNoeVJlcXVlc3RFcnJvcjogRE9NIEV4Y2VwdGlvbiAzLgorUEFTUyBu
ZXcgV2ViS2l0U2hhZG93Um9vdCgxKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IEhpZXJhcmNoeVJl
cXVlc3RFcnJvcjogRE9NIEV4Y2VwdGlvbiAzLgogUEFTUyBzaGFkb3dSb290LmdldEVsZW1lbnRC
eUlkKCdkaXYxJykgaXMgZGl2MQogUEFTUyBzaGFkb3dSb290LmdldEVsZW1lbnRCeUlkKCdmb28n
KSBpcyBudWxsCiBQQVNTIHNoYWRvd1Jvb3QuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgnY2xhc3My
JykgaXMgW2RpdjJdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hh
ZG93LXJvb3QtanMtYXBpLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93
LXJvb3QtanMtYXBpLmh0bWwKaW5kZXggMjk3OGI5NDkxNmZkM2FiMGNiYTM1NmEyZDI5NTJlMmE4
NjQ5OGU0NS4uZGM1MWM2Yzg3ZGMwZWU5NmQ5M2EyMTBjYmRjZDE2MmQxYzcxYjM1MiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290LWpzLWFwaS5odG1s
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1qcy1hcGkuaHRt
bApAQCAtMTQsOSArMTQsMTMgQEAgZGVzY3JpcHRpb24oIlRlc3RzIGZvciBTaGFkb3dSb290IEpT
IEFQSXMuIENhbiBvbmx5IHJ1biB3aXRoaW4gRFJUIik7CiAKIGlmICh3aW5kb3cudGVzdFJ1bm5l
cikKICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKK3Nob3VsZFRocm93KCJuZXcgV2ViS2l0
U2hhZG93Um9vdCgpIik7CitzaG91bGRUaHJvdygibmV3IFdlYktpdFNoYWRvd1Jvb3QodW5kZWZp
bmVkKSIpOworc2hvdWxkVGhyb3coIm5ldyBXZWJLaXRTaGFkb3dSb290KG51bGwpIik7CitzaG91
bGRUaHJvdygibmV3IFdlYktpdFNoYWRvd1Jvb3QoMSkiKTsKIHZhciBzaGFkb3dIb3N0ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHNo
YWRvd0hvc3QpOwotdmFyIHNoYWRvd1Jvb3QgPSBzaGFkb3dIb3N0LndlYmtpdENyZWF0ZVNoYWRv
d1Jvb3QoKTsKK3ZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qoc2hhZG93SG9z
dCk7CiAKIHZhciBkaXYxID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CiBkaXYxLnNl
dEF0dHJpYnV0ZSgiaWQiLCAiZGl2MSIpOwpAQCAtNTAsNyArNTQsNyBAQCBzaG91bGRCZU51bGwo
InNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcignLmZvbycpIik7CiBzaG91bGRCZSgic2hhZG93Um9v
dC5xdWVyeVNlbGVjdG9yQWxsKCdkaXYnKSIsICJbZGl2MSwgZGl2Ml0iKTsKIHNob3VsZEJlKCJz
aGFkb3dSb290LnF1ZXJ5U2VsZWN0b3JBbGwoJ2ZvbycpIiwgIltdIik7CiAKLXZhciB5b3VuZ2Vy
U2hhZG93Um9vdCA9IHNoYWRvd0hvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwordmFyIHlv
dW5nZXJTaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qoc2hhZG93SG9zdCk7CiBzaG91
bGROb3RCZSgieW91bmdlclNoYWRvd1Jvb3QiLCAic2hhZG93Um9vdCIpOwogCiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1uZXctZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290LW5ldy1leHBlY3Rl
ZC50eHQKaW5kZXggMGI4ZjE4M2E0N2M1YmY2OGE1ODY4MmJkNmM2MWRhYWRlOTA2ZmRjMC4uZTk5
MzhkY2Q4YTY3ZGJkMWFiNWM0OWZkMWIyMTBlNTA4YzQ3OWVjZCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290LW5ldy1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290LW5ldy1leHBlY3RlZC50eHQK
QEAgLTEsNCArMSw0IEBACi1UaGlzIHRlc3QgY2hlY2tzIHRoZSBvYmplY3QgJ2hvc3Qud2Via2l0
Q3JlYXRlU2hhZG93Um9vdCgpJyBhbmQgaW50ZXJuYWxzLnNoYWRvd1Jvb3QoZGl2KSBhcmUgdGhl
IHNhbWUuCitUaGlzIHRlc3QgY2hlY2tzIHRoZSBvYmplY3QgJ25ldyBXZWJLaXRTaGFkb3dSb290
KGhvc3QpJyBhbmQgaW50ZXJuYWxzLnNoYWRvd1Jvb3QoZGl2KSBhcmUgdGhlIHNhbWUuCiAKIFBB
U1Mgcm9vdDEgaXMgcm9vdDIKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1uZXcuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1uZXcuaHRtbAppbmRleCA0
YTVkMzdmYmNiZGU3MTE2YjkxZjAwYzRhNjg1MTI4ZGM4NTU1YTVjLi5kNjIxZDcxMDg0MzRjY2Nm
YzE3MzE0ZmJmZjE3ZGQ5ODI0YTY0NzVkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zaGFkb3cvc2hhZG93LXJvb3QtbmV3Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20v
c2hhZG93L3NoYWRvdy1yb290LW5ldy5odG1sCkBAIC00LDcgKzQsNyBAQAogPHNjcmlwdCBzcmM9
Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CiA8L2hlYWQ+CiA8
Ym9keT4KLTxwPlRoaXMgdGVzdCBjaGVja3MgdGhlIG9iamVjdCAnaG9zdC53ZWJraXRDcmVhdGVT
aGFkb3dSb290KCknIGFuZCBpbnRlcm5hbHMuc2hhZG93Um9vdChkaXYpIGFyZSB0aGUgc2FtZS48
L3A+Cis8cD5UaGlzIHRlc3QgY2hlY2tzIHRoZSBvYmplY3QgJ25ldyBXZWJLaXRTaGFkb3dSb290
KGhvc3QpJyBhbmQgaW50ZXJuYWxzLnNoYWRvd1Jvb3QoZGl2KSBhcmUgdGhlIHNhbWUuPC9wPgog
PHByZSBpZD0iY29uc29sZSI+PC9wcmU+CiAKIDxzY3JpcHQ+CkBAIC0xNSw4ICsxNSw4IEBAIGZ1
bmN0aW9uIGRvVGVzdCgpIHsKICAgICB9CiAKICAgICBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCdkaXYnKTsKLSAgICAvLyB3ZSBzaG91bGQgY2FsbCB3ZWJLaXRDcmVhdGVTaGFkb3dSb290
IGZpcnN0LgotICAgIHJvb3QxID0gZGl2LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKKyAgICAv
LyB3ZSBzaG91bGQgY2FsbCBuZXcgV2ViS2l0U2hhZG93Um9vdCBmaXJzdC4KKyAgICByb290MSA9
IG5ldyBXZWJLaXRTaGFkb3dSb290KGRpdik7CiAgICAgcm9vdDIgPSBpbnRlcm5hbHMuc2hhZG93
Um9vdChkaXYpOwogCiAgICAgc2hvdWxkQmUoJ3Jvb3QxJywgJ3Jvb3QyJyk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3QtcmVzZXRTdHlsZUluaGVy
aXRhbmNlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3QtcmVz
ZXRTdHlsZUluaGVyaXRhbmNlLmh0bWwKaW5kZXggMmU3YzBiNzBkYjE4N2YwZWI2MGVjODM3ODU4
N2JkOGNhYmM3OWYzOC4uYzFiOGQyNmE4Mjc1NWQyOWMyMGJjMDJiZmM5YThiMDA3OTg3NmJmNSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290LXJlc2V0
U3R5bGVJbmhlcml0YW5jZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9z
aGFkb3ctcm9vdC1yZXNldFN0eWxlSW5oZXJpdGFuY2UuaHRtbApAQCAtNjAsNyArNjAsNyBAQCBm
dW5jdGlvbiByZW5kZXJXaXRoTm9SZXNldFN0eWxlSW5oZXJpdGFuY2UoKSB7CiAgICAgdmFyIGRp
diA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAgIGRpdi5jbGFzc05hbWUgPSAn
cmVzZXRUZXN0JzsKIAotICAgIHZhciBzaGFkb3dSb290ID0gZGl2LndlYmtpdENyZWF0ZVNoYWRv
d1Jvb3QoKTsKKyAgICB2YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGRpdik7
CiAgICAgYXNzZXJ0RmFsc2UoJ2RlZmF1bHQgcmVzZXRTdHlsZUluaGVyaXRhbmNlIHNob3VsZCBi
ZSBmYWxzZScsIHNoYWRvd1Jvb3QucmVzZXRTdHlsZUluaGVyaXRhbmNlKTsKICAgICBzaGFkb3dS
b290LmlubmVySFRNTCA9ICc8ZGl2PnRleHQ8L2Rpdj4nOwogICAgIApAQCAtNzEsNyArNzEsNyBA
QCBmdW5jdGlvbiByZW5kZXJXaXRoUmVzZXRTdHlsZUluaGVyaXRhbmNlKCkgewogICAgIHZhciBk
aXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgICBkaXYuY2xhc3NOYW1lID0g
J3Jlc2V0VGVzdCc7CiAKLSAgICB2YXIgc2hhZG93Um9vdCA9IGRpdi53ZWJraXRDcmVhdGVTaGFk
b3dSb290KCk7CisgICAgdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChkaXYp
OwogICAgIGFzc2VydEZhbHNlKCdkZWZhdWx0IHJlc2V0U3R5bGVJbmhlcml0YW5jZSBzaG91bGQg
YmUgZmFsc2UnLCBzaGFkb3dSb290LnJlc2V0U3R5bGVJbmhlcml0YW5jZSk7CiAgICAgc2hhZG93
Um9vdC5yZXNldFN0eWxlSW5oZXJpdGFuY2UgPSB0cnVlOwogICAgIHNoYWRvd1Jvb3QuaW5uZXJI
VE1MID0gJzxkaXY+dGV4dDwvZGl2Pic7CkBAIC04NCw3ICs4NCw3IEBAIGZ1bmN0aW9uIHJlbmRl
cldpdGhDaGFuZ2luZ1Jlc2V0U3R5bGVJbmhlcml0YW5jZUZyb21UcnVlVG9GYWxzZSgpIHsKICAg
ICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICAgZGl2LmNsYXNz
TmFtZSA9ICdyZXNldFRlc3QnOwogCi0gICAgdmFyIHNoYWRvd1Jvb3QgPSBkaXYud2Via2l0Q3Jl
YXRlU2hhZG93Um9vdCgpOworICAgIHZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jv
b3QoZGl2KTsKICAgICBhc3NlcnRGYWxzZSgnZGVmYXVsdCByZXNldFN0eWxlSW5oZXJpdGFuY2Ug
c2hvdWxkIGJlIGZhbHNlJywgc2hhZG93Um9vdC5yZXNldFN0eWxlSW5oZXJpdGFuY2UpOwogICAg
IHNoYWRvd1Jvb3QucmVzZXRTdHlsZUluaGVyaXRhbmNlID0gdHJ1ZTsKICAgICBzaGFkb3dSb290
LmlubmVySFRNTCA9ICc8ZGl2IGlkPSJ0ZXN0MSI+dGV4dDwvZGl2Pic7CkBAIC0xMDcsNyArMTA3
LDcgQEAgZnVuY3Rpb24gcmVuZGVyV2l0aENoYW5naW5nUmVzZXRTdHlsZUluaGVyaXRhbmNlRnJv
bUZhbHNlVG9UcnVlKCkgewogICAgIHZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdk
aXYnKTsKICAgICBkaXYuY2xhc3NOYW1lID0gJ3Jlc2V0VGVzdCc7CiAKLSAgICB2YXIgc2hhZG93
Um9vdCA9IGRpdi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CisgICAgdmFyIHNoYWRvd1Jvb3Qg
PSBuZXcgV2ViS2l0U2hhZG93Um9vdChkaXYpOwogICAgIGFzc2VydEZhbHNlKCdkZWZhdWx0IHJl
c2V0U3R5bGVJbmhlcml0YW5jZSBzaG91bGQgYmUgZmFsc2UnLCBzaGFkb3dSb290LnJlc2V0U3R5
bGVJbmhlcml0YW5jZSk7CiAgICAgc2hhZG93Um9vdC5yZXNldFN0eWxlSW5oZXJpdGFuY2UgPSBm
YWxzZTsKICAgICBzaGFkb3dSb290LmlubmVySFRNTCA9ICc8ZGl2IGlkPSJ0ZXN0MiI+dGV4dDwv
ZGl2Pic7CkBAIC0xMzcsNyArMTM3LDcgQEAgZnVuY3Rpb24gcmVuZGVyUmVzZXRTdHlsZUluaGVy
aXRhbmNlRm9yQ29udGVudCgpIHsKICAgICBkaXYuY2xhc3NOYW1lID0gJ3Jlc2V0VGVzdCc7CiAg
ICAgZGl2LmFwcGVuZENoaWxkKGNyZWF0ZURpdldpdGhUZXh0KCd0ZXh0JykpOwogCi0gICAgdmFy
IHNoYWRvd1Jvb3QgPSBkaXYud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOworICAgIHZhciBzaGFk
b3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2KTsKICAgICBzaGFkb3dSb290LmlubmVy
SFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9ImRpdiI+PC9jb250ZW50Pic7CiAgICAgc2hhZG93Um9v
dC5yZXNldFN0eWxlSW5oZXJpdGFuY2UgPSB0cnVlOwogICAgIGFzc2VydFRydWUoJ3Jlc2V0U3R5
bGVJbmhlcml0YW5jZSBzaG91bGQgYmUgdHJ1ZScsIHNoYWRvd1Jvb3QucmVzZXRTdHlsZUluaGVy
aXRhbmNlKTsKQEAgLTE1MCw3ICsxNTAsNyBAQCBmdW5jdGlvbiByZW5kZXJOb1Jlc2V0U3R5bGVJ
bmhlcml0YW5jZUZvckNvbnRlbnQoKSB7CiAgICAgZGl2LmNsYXNzTmFtZSA9ICdyZXNldFRlc3Qn
OwogICAgIGRpdi5hcHBlbmRDaGlsZChjcmVhdGVEaXZXaXRoVGV4dCgndGV4dCcpKTsKIAotICAg
IHZhciBzaGFkb3dSb290ID0gZGl2LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKKyAgICB2YXIg
c2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGRpdik7CiAgICAgc2hhZG93Um9vdC5p
bm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSJkaXYiPjwvY29udGVudD4nOwogICAgIHNoYWRv
d1Jvb3QucmVzZXRTdHlsZUluaGVyaXRhbmNlID0gZmFsc2U7CiAgICAgYXNzZXJ0RmFsc2UoJ3Jl
c2V0U3R5bGVJbmhlcml0YW5jZSBzaG91bGQgYmUgZmFsc2UnLCBzaGFkb3dSb290LnJlc2V0U3R5
bGVJbmhlcml0YW5jZSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
c2hhZG93LXNlbGVjdC1hdHRyaWJ1dGUtZmVhdHVyZXNldC5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L3NoYWRvdy1zZWxlY3QtYXR0cmlidXRlLWZlYXR1cmVzZXQuaHRtbAppbmRl
eCA0MmJhNzY3MWQ5MTMwMGUwODQyY2RlYWE4NzA4NGFmZDg2MWQ2YzhlLi4wNjY2ZjcxN2UwZWY4
ZDAyM2Q3OTcwZjA5YmIyMmMzZTkwN2M1ZTgxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvc2hhZG93LXNlbGVjdC1hdHRyaWJ1dGUtZmVhdHVyZXNldC5odG1sCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctc2VsZWN0LWF0dHJpYnV0ZS1mZWF0
dXJlc2V0Lmh0bWwKQEAgLTExMSw3ICsxMTEsNyBAQCB0ZXN0Q2FzZShmdW5jdGlvbigpCiB7CiAg
ICAgZGVidWcoJ011bHRpcGxlIFNoYWRvd1Jvb3QgY2FzZScpOwogCi0gICAgdmFyIGFub3RoZXJT
aGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CisgICAgdmFyIGFub3Ro
ZXJTaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7CiAKICAgICBzaGFkb3dS
b290LmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9IiNmb28iPjwvY29udGVudD4nOwogICAg
IGFub3RoZXJTaGFkb3dSb290LmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9IiNiYXIiPjwv
Y29udGVudD48Y29udGVudCBzZWxlY3Q9ImRpdltiYXpdLC5iYXIiPjwvY29udGVudD4nOwpAQCAt
MTUyLDcgKzE1Miw3IEBAIHRlc3RDYXNlKGZ1bmN0aW9uKCkKICAgICBzaGFkb3dSb290LmlubmVy
SFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9IiNmb28iPjwvY29udGVudD4nOwogCiAgICAgdmFyIGRp
diA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwotICAgIHZhciBuZXN0ZWRTaGFkb3dS
b290ID0gZGl2LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKKyAgICB2YXIgbmVzdGVkU2hhZG93
Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGRpdik7CiAgICAgbmVzdGVkU2hhZG93Um9vdC5p
bm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSIjYmFyIj48L2NvbnRlbnQ+JzsKICAgICBzaGFk
b3dSb290LmFwcGVuZENoaWxkKGRpdik7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL3NoYWRvdy9zaGFkb3ctdWwtbGkuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy9zaGFkb3ctdWwtbGkuaHRtbAppbmRleCBhYjRhMmVmNDRlMjc3OTU2Zjc2OGFiYWM0ZjhkYzdk
NGNlMjM1NDkyLi42Yjg4MWViMmRjZTk3ZDFiNTM3NDFjYThhNmIxYzVmOTcwMTQ3OTdmIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXVsLWxpLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy11bC1saS5odG1sCkBAIC05LDcg
KzksNyBAQCBmdW5jdGlvbiB0ZXN0KCkKIAogICAgIHZhciBob3N0ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgnZGl2Jyk7CiAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChob3N0KTsKLSAg
ICB2YXIgc2hhZG93ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CisgICAgdmFyIHNo
YWRvdyA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwogCiAgICAgdmFyIHVsID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgndWwnKTsKICAgICB2YXIgbGkgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCdsaScpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRv
d2RvbS1keW5hbWljLXN0eWxpbmcuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9z
aGFkb3dkb20tZHluYW1pYy1zdHlsaW5nLmh0bWwKaW5kZXggNWI0YWJlZGY1MDg3YjZhZmVjY2Vk
MGQyYjdlYTMxOTExY2Y3ZTI0NC4uOGZiODM4ZDBjNDNkNTRmOGM3NDBiNDkzZWY2ZGU5ZGM0NzNm
NWNiNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1k
eW5hbWljLXN0eWxpbmcuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hh
ZG93ZG9tLWR5bmFtaWMtc3R5bGluZy5odG1sCkBAIC0xNiwxMCArMTYsMTAgQEAgaWYgKHdpbmRv
dy50ZXN0UnVubmVyKQogICA8L2Rpdj4KIDxzY3JpcHQ+CiB2YXIgYm94ID0gZG9jdW1lbnQucXVl
cnlTZWxlY3RvcigiI2JveCIpOwotdmFyIG9sZGVzdFNoYWRvd1Jvb3QgPSBib3gud2Via2l0Q3Jl
YXRlU2hhZG93Um9vdCgpOwordmFyIG9sZGVzdFNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93
Um9vdChib3gpOwogb2xkZXN0U2hhZG93Um9vdC5pbm5lckhUTUwgPSAiPGNvbnRlbnQ+PC9jb250
ZW50PiI7CiAgICAgCi12YXIgeW91bmdlc3RTaGFkb3dSb290ID0gZG9jdW1lbnQucXVlcnlTZWxl
Y3RvcigiI2l0ZW0iKS53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7Cit2YXIgeW91bmdlc3RTaGFk
b3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI2l0
ZW0iKSk7CiB5b3VuZ2VzdFNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gIjxzdHlsZT4iICsKICAgICAg
ICIuc2VsZWN0ZWQge2JhY2tncm91bmQ6IHJlZDt9IiArCiAgICAgICAiPC9zdHlsZT4iICsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWJ1dHRv
bi1jb21wbGV4LXNoYWRvdy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRv
d2RvbS1mb3ItYnV0dG9uLWNvbXBsZXgtc2hhZG93Lmh0bWwKaW5kZXggYTY0NmUyZDNmMDRmOWUw
ZTNlNzNkMmIwNTA1NGVhOTU2MDRlOGUxYi4uYThkY2Y4M2FiMzg5OGRkMmY2OWE5N2VmMjE5NTI5
MTJmMjc5MTZiZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRv
d2RvbS1mb3ItYnV0dG9uLWNvbXBsZXgtc2hhZG93Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItYnV0dG9uLWNvbXBsZXgtc2hhZG93Lmh0bWwKQEAg
LTEwLDcgKzEwLDcgQEAKIAogPHNjcmlwdD4KIHZhciBob3N0ID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ2hvc3QnKTsKLXZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dS
b290KCk7Cit2YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwogc2hh
ZG93Um9vdC5pbm5lckhUTUwgPSAnPGRpdj48Y29udGVudCBzZWxlY3Q9InNwYW4iPjwvY29udGVu
dD48c2hhZG93Pjwvc2hhZG93PjwvZGl2PicKIDwvc2NyaXB0PgogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1idXR0b24tb25seS1zaGFkb3cu
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWJ1dHRvbi1v
bmx5LXNoYWRvdy5odG1sCmluZGV4IDg2ODBkYzJmMDY1NzBhZmQ4OTJlMWYxYjJjNWQxYjY5ZWU3
YWJjZGUuLjZkNDg1NDg5ODY4MDI0NjlmZTM5ODRkMzAzYzI5MmRiODNkNDFiM2IgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWJ1dHRvbi1vbmx5
LXNoYWRvdy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20t
Zm9yLWJ1dHRvbi1vbmx5LXNoYWRvdy5odG1sCkBAIC0xMCw3ICsxMCw3IEBACiAKIDxzY3JpcHQ+
CiB2YXIgaG9zdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdob3N0Jyk7Ci12YXIgc2hhZG93
Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwordmFyIHNoYWRvd1Jvb3QgPSBu
ZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKIHNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gIjxzaGFk
b3c+PC9zaGFkb3c+IgogPC9zY3JpcHQ+CiA8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1idXR0b24td2l0aG91dC1zaGFkb3cuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWJ1dHRvbi13aXRo
b3V0LXNoYWRvdy5odG1sCmluZGV4IDM5NjVjNGJiNzY4MGM3NDVmODkzMjE4Y2M4ZmMzNzYxZGEy
MzRhZDguLjdiYjEzZTFhY2I4NTQ5MGQ4YmExZjJiODIzYmJkNzJiYjMzYzdkOWEgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWJ1dHRvbi13aXRo
b3V0LXNoYWRvdy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dk
b20tZm9yLWJ1dHRvbi13aXRob3V0LXNoYWRvdy5odG1sCkBAIC0xMCw3ICsxMCw3IEBACiAKIDxz
Y3JpcHQ+CiB2YXIgaG9zdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdob3N0Jyk7Ci12YXIg
c2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwordmFyIHNoYWRvd1Jv
b3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKIDwvc2NyaXB0PgogCiA8L2JvZHk+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1idXR0
b24uaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWJ1dHRv
bi5odG1sCmluZGV4IDU2ZTZkMzQ0YWM0MjVlYzE5NTM5YTYyOTZkYTBkOWIwZjlmMWQzMTQuLjUw
NDYwM2M2MmU3N2JmYWE4MDBhYTFmMWY1YTMzNTQ5N2JhNzg4NjEgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWJ1dHRvbi5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWJ1dHRvbi5odG1sCkBAIC0x
MCwxMiArMTAsMTIgQEAKIDxidXR0b24gaWQ9Imhvc3QyIj5Lb3Rvcmk8L2J1dHRvbj4KIAogPHNj
cmlwdD4KLXZhciBzaGFkb3dSb290MSA9IGhvc3QxLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsK
K3ZhciBzaGFkb3dSb290MSA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QxKTsKIHNoYWRvd1Jv
b3QxLmlubmVySFRNTCA9ICI8c2hhZG93Pjwvc2hhZG93PiBPdG9uYXNoaSI7CiAKLXZhciBzaGFk
b3dSb290MiA9IGhvc3QyLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKK3ZhciBzaGFkb3dSb290
MiA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QyKTsKIHNoYWRvd1Jvb3QyLmlubmVySFRNTCA9
ICJmb28gPHNoYWRvdz48L3NoYWRvdz4gYmFyIjsKLXZhciBzaGFkb3dSb290MyA9IGhvc3QyLndl
YmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKK3ZhciBzaGFkb3dSb290MyA9IG5ldyBXZWJLaXRTaGFk
b3dSb290KGhvc3QyKTsKIHNoYWRvd1Jvb3QzLmlubmVySFRNTCA9ICJGT08gPHNoYWRvdz48L3No
YWRvdz4gQkFSIjsKIDwvc2NyaXB0PgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zaGFkb3cvc2hhZG93ZG9tLWZvci1maWVsZHNldC1jb21wbGV4LXNoYWRvdy5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItZmllbGRzZXQtY29tcGxleC1z
aGFkb3cuaHRtbAppbmRleCA1NzkyOTlkMzg5OGVkYTA2NTc4NmY1MGIyNjI0ZWI1M2Y0ZjRiMzMx
Li5hNDAyYmFiOTViZjY4NmFmYmQ1NGViNjg0ZGQxZDBhOGVkMzcxMWEwIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1maWVsZHNldC1jb21wbGV4
LXNoYWRvdy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20t
Zm9yLWZpZWxkc2V0LWNvbXBsZXgtc2hhZG93Lmh0bWwKQEAgLTEyLDYgKzEyLDYgQEAKIAogPHNj
cmlwdD4KIHZhciBob3N0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2hvc3QnKTsKLXZhciBz
aGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7Cit2YXIgc2hhZG93Um9v
dCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwogc2hhZG93Um9vdC5pbm5lckhUTUwgPSAi
PGNvbnRlbnQ+PC9jb250ZW50PjxkaXYgc3R5bGU9J21hcmdpbjogMjBweCc+PHNoYWRvdz48L3No
YWRvdz48L2Rpdj4iCiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3NoYWRvdy9zaGFkb3dkb20tZm9yLWZpZWxkc2V0LW9ubHktc2hhZG93Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1maWVsZHNldC1vbmx5LXNoYWRvdy5o
dG1sCmluZGV4IDQzNGE2YjQ4MjFmNDhkNDA0ZWI4ZmJhNmZiNTg4YjEzYTUzMjg5ZWEuLmJjMDA2
Zjc2NTkxZDZkMDEyMWNkZmEzNGY3ODY0MDFlZDRkYjk4ZmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWZpZWxkc2V0LW9ubHktc2hhZG93Lmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItZmllbGRz
ZXQtb25seS1zaGFkb3cuaHRtbApAQCAtMTUsNiArMTUsNiBAQCBpZiAod2luZG93LmludGVybmFs
cykKICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0QXV0aG9yU2hhZG93RE9NRm9yQW55RWxlbWVu
dEVuYWJsZWQodHJ1ZSk7CiAKIHZhciBob3N0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2hv
c3QnKTsKLXZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7Cit2
YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwogc2hhZG93Um9vdC5p
bm5lckhUTUwgPSAiPHNoYWRvdz48L3NoYWRvdz4iCiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWZpZWxkc2V0LXdpdGhvdXQt
c2hhZG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1m
aWVsZHNldC13aXRob3V0LXNoYWRvdy5odG1sCmluZGV4IDFlMGIyODFlOTUwNWJjMWViNzIzZjI1
YzZjMjg4YjMzNTYzZjQ5Y2EuLmY2YmNiYjI0MzkyZmU0YjM2N2RhOGI1NDQ0ZDJkOWFhZmFiOWRm
NTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9y
LWZpZWxkc2V0LXdpdGhvdXQtc2hhZG93Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20v
c2hhZG93L3NoYWRvd2RvbS1mb3ItZmllbGRzZXQtd2l0aG91dC1zaGFkb3cuaHRtbApAQCAtMTQs
NSArMTQsNSBAQAogaWYgKHdpbmRvdy5pbnRlcm5hbHMpCiAgICAgd2luZG93LmludGVybmFscy5z
ZXR0aW5ncy5zZXRBdXRob3JTaGFkb3dET01Gb3JBbnlFbGVtZW50RW5hYmxlZCh0cnVlKTsKIHZh
ciBob3N0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2hvc3QnKTsKLXZhciBzaGFkb3dSb290
ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7Cit2YXIgc2hhZG93Um9vdCA9IG5ldyBX
ZWJLaXRTaGFkb3dSb290KGhvc3QpOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1mb3JtLWFzc29jaWF0ZWQtZWxlbWVudC11
c2VyYWdlbnQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9y
LWZvcm0tYXNzb2NpYXRlZC1lbGVtZW50LXVzZXJhZ2VudC5odG1sCmluZGV4IDdjMjg1ZjAyODZj
N2NkYzIwNjk4NGMwMGEzODNiMDJhODA0MzA5MDEuLmVmZTdlMGQ1NDUzMWZlYWY4NmEyNmE2MWRm
OGZjYjdmNWY4YWM2MDEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9z
aGFkb3dkb20tZm9yLWZvcm0tYXNzb2NpYXRlZC1lbGVtZW50LXVzZXJhZ2VudC5odG1sCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWZvcm0tYXNzb2NpYXRl
ZC1lbGVtZW50LXVzZXJhZ2VudC5odG1sCkBAIC0zNSw3ICszNSw3IEBAIGZ1bmN0aW9uIHRlc3Qo
KQogCiAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBlbGVtcy5sZW5ndGg7ICsraSkgewogICAgICAg
ICB2YXIgaG9zdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGVsZW1zW2ldKTsKLSAgICAgICAg
c2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOworICAgICAgICBzaGFk
b3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7CiAgICAgICAgIHNoYWRvd1Jvb3Qu
aW5uZXJIVE1MID0gIjxzaGFkb3c+PC9zaGFkb3c+IjsKIAogICAgICAgICBvbGRlc3RTaGFkb3dS
b290ID0gaW50ZXJuYWxzLm9sZGVzdFNoYWRvd1Jvb3QoaG9zdCk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1pbWFnZS1hbHQtdXBkYXRlLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1pbWFnZS1hbHQt
dXBkYXRlLmh0bWwKaW5kZXggMGVlNzJmMjViYjdlNDQxNGVhMDVmMTM3NTBiNmM5ZWQ5Mjg4ZWUw
Zi4uN2EzMThkYzRkNWM3MDg4ZjM2YjI5MzVlY2ZkMTExYjg2YmFkNWYwZCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItaW1hZ2UtYWx0LXVwZGF0
ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWlt
YWdlLWFsdC11cGRhdGUuaHRtbApAQCAtMTQsNyArMTQsNyBAQCBpZiAod2luZG93LmludGVybmFs
cykKICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0QXV0aG9yU2hhZG93RE9NRm9yQW55RWxlbWVu
dEVuYWJsZWQodHJ1ZSk7CiAKIGZ1bmN0aW9uIGFkZFNoYWRvd0RPTShob3N0KSB7Ci0gICAgdmFy
IHNoYWRvd1Jvb3QgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKKyAgICB2YXIgc2hh
ZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwogICAgIHNoYWRvd1Jvb3QuaW5u
ZXJIVE1MID0gIihiZWZvcmUpPHNoYWRvdz48L3NoYWRvdz4oYWZ0ZXIpIjsKIAogICAgIHZhciB1
c2VyQWdlbnRTaGFkb3dSb290ID0gaW50ZXJuYWxzLm9sZGVzdFNoYWRvd1Jvb3QoaG9zdCk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1pbWFn
ZS1hbHQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWlt
YWdlLWFsdC5odG1sCmluZGV4IDMyNWI3N2UyMzY4MGJmNzkwODJhNGZhMmIwMThmZGE5Y2ZhNmRh
MzkuLjJjMmNkZTVmMGQ1MmNhYTIxYzc2NjhlYjQzYzUxMTlkMjE2M2JhODUgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWltYWdlLWFsdC5odG1s
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWltYWdlLWFs
dC5odG1sCkBAIC0xNCw3ICsxNCw3IEBAIGlmICh3aW5kb3cuaW50ZXJuYWxzKQogICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRBdXRob3JTaGFkb3dET01Gb3JBbnlFbGVtZW50RW5hYmxlZCh0cnVl
KTsKIAogZnVuY3Rpb24gYWRkU2hhZG93RE9NKGhvc3QpIHsKLSAgICB2YXIgc2hhZG93Um9vdCA9
IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOworICAgIHZhciBzaGFkb3dSb290ID0gbmV3
IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7CiAgICAgc2hhZG93Um9vdC5pbm5lckhUTUwgPSAiKGJl
Zm9yZSk8c2hhZG93Pjwvc2hhZG93PihhZnRlcikiOwogCiAgICAgdmFyIHVzZXJBZ2VudFNoYWRv
d1Jvb3QgPSBpbnRlcm5hbHMub2xkZXN0U2hhZG93Um9vdChob3N0KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWltYWdlLWNvbnRlbnQuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWltYWdlLWNvbnRl
bnQuaHRtbAppbmRleCAxZjczNTcwZjQwZTcyOTkxMDdiYTg0MjdmZWQzMzkyODI3OTZlMzg5Li40
ZWU3MGMyZTYzOTdmM2MzNjFhZmQ3NDA4ZjgzZDI0MTY3ZDViMDExIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1pbWFnZS1jb250ZW50Lmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItaW1hZ2UtY29u
dGVudC5odG1sCkBAIC0xNCw3ICsxNCw3IEBAIGlmICh3aW5kb3cuaW50ZXJuYWxzKQogICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRBdXRob3JTaGFkb3dET01Gb3JBbnlFbGVtZW50RW5hYmxlZCh0
cnVlKTsKIAogZnVuY3Rpb24gYWRkU2hhZG93RE9NKGhvc3QpIHsKLSAgICB2YXIgc2hhZG93Um9v
dCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOworICAgIHZhciBzaGFkb3dSb290ID0g
bmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7CiAgICAgc2hhZG93Um9vdC5pbm5lckhUTUwgPSAi
KGJlZm9yZSk8c2hhZG93Pjwvc2hhZG93PihhZnRlcik8Y29udGVudD48L2NvbnRlbnQ+IjsKIH0K
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3It
aW1hZ2UtZHluYW1pYy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2Rv
bS1mb3ItaW1hZ2UtZHluYW1pYy5odG1sCmluZGV4IDYyOTc3ZTQzOWFjYjcyNjNjYzk2ZjRkZjZm
ZGY3NGE4ZmQ2MDVjZmIuLmUzNzYzOGVjNzJlYWUwNGVhOTQ2ODRhMzNjMWIzMzNiYzc4MTliMGEg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWlt
YWdlLWR5bmFtaWMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93
ZG9tLWZvci1pbWFnZS1keW5hbWljLmh0bWwKQEAgLTE0LDcgKzE0LDcgQEAgaWYgKHdpbmRvdy5p
bnRlcm5hbHMpCiAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEF1dGhvclNoYWRvd0RPTUZvckFu
eUVsZW1lbnRFbmFibGVkKHRydWUpOwogCiBmdW5jdGlvbiBhZGRTaGFkb3dET00oaG9zdCkgewot
ICAgIHZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CisgICAg
dmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKICAgICBzaGFkb3dS
b290LmlubmVySFRNTCA9ICIoYmVmb3JlKTxzaGFkb3c+PC9zaGFkb3c+KGFmdGVyKSIKIH0KIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItaW1h
Z2UtZXZlbnQtY2xpY2suaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dk
b20tZm9yLWltYWdlLWV2ZW50LWNsaWNrLmh0bWwKaW5kZXggMzEzNjc3MTk5OWM0YjVkN2UwMWRm
NTE0YWZkYzYzNDY5ZDJkYmEyZi4uNTljODhkMWVjODEzZTFkOWM5ZjRjYTU0NzI5YTNhNTA4NDk3
N2E3MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1m
b3ItaW1hZ2UtZXZlbnQtY2xpY2suaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFk
b3cvc2hhZG93ZG9tLWZvci1pbWFnZS1ldmVudC1jbGljay5odG1sCkBAIC0yMCw3ICsyMCw3IEBA
IGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogfQogCiBmdW5jdGlvbiBhZGRTaGFkb3dET00oaG9z
dCkgewotICAgIHZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7
CisgICAgdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKICAgICBz
aGFkb3dSb290LmlubmVySFRNTCA9ICIoYmVmb3JlKTxzaGFkb3c+PC9zaGFkb3c+KGFmdGVyKSA8
c3BhbiBpZD0ndGFyZ2V0Jz50YXJnZXQ8L3NwYW4+IjsKICAgICByZXR1cm4gc2hhZG93Um9vdDsK
IH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9y
LWltYWdlLWV2ZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9t
LWZvci1pbWFnZS1ldmVudC5odG1sCmluZGV4IGEwMGQ0ODU5MDYwMWI0NmMwZDIyMzZkY2I5MjY2
MDA5NTQxNjg4MjAuLjcxMDEwNTRhYmRkYjAwMWQ0ZTUxOTdmZDBmYjM1ODRjNWE2ZDg5NDcgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWltYWdl
LWV2ZW50Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1m
b3ItaW1hZ2UtZXZlbnQuaHRtbApAQCAtMjQsNyArMjQsNyBAQCBmdW5jdGlvbiBsaXN0ZW5lcihl
dmVudCkgewogfQogCiBmdW5jdGlvbiBhZGRTaGFkb3dET00oaG9zdCkgewotICAgIHZhciBzaGFk
b3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CisgICAgdmFyIHNoYWRvd1Jv
b3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKICAgICB2YXIgZGl2ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICAgc2hhZG93Um9vdC5hcHBlbmRDaGlsZChkaXYpOwog
ICAgIGRpdi5pZCA9ICdpbm5lci1kaXYnOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2hhZG93L3NoYWRvd2RvbS1mb3ItaW1hZ2UtaW4tc2hhZG93ZG9tLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1pbWFnZS1pbi1zaGFkb3dkb20uaHRt
bAppbmRleCA0NDIwNGYyZmIxYWE3MzI0MTdhYTY0MDU5ZGZiZGJkMDMzODgyMjNlLi43NjU3YjBm
OGE5MWIxZWY1NDExM2EyOGE1YmQ2Njk4Mzg4MWQyYzdmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1pbWFnZS1pbi1zaGFkb3dkb20uaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1pbWFnZS1pbi1z
aGFkb3dkb20uaHRtbApAQCAtMTEsMTEgKzExLDExIEBACiBpZiAod2luZG93LmludGVybmFscykK
ICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0QXV0aG9yU2hhZG93RE9NRm9yQW55RWxlbWVudEVu
YWJsZWQodHJ1ZSk7CiAKLXZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dS
b290KCk7Cit2YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwogc2hh
ZG93Um9vdC5pbm5lckhUTUwgPSAiYmVmb3JlPGltZyBpZD0naW1nJyBzcmM9Jy4uL3Jlc291cmNl
cy9hcHBsZS5naWYnPmFmdGVyIjsKIAogdmFyIGltZyA9IHNoYWRvd1Jvb3QuZ2V0RWxlbWVudEJ5
SWQoJ2ltZycpOwotdmFyIG5lc3RlZFNoYWRvd1Jvb3QgPSBpbWcud2Via2l0Q3JlYXRlU2hhZG93
Um9vdCgpOwordmFyIG5lc3RlZFNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChpbWcp
OwogCiBuZXN0ZWRTaGFkb3dSb290LmlubmVySFRNTCA9ICIoYmVmb3JlKTxzaGFkb3c+PC9zaGFk
b3c+KGFmdGVyKSI7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3NoYWRvdy9zaGFkb3dkb20tZm9yLWltYWdlLW1hcC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2hhZG93L3NoYWRvd2RvbS1mb3ItaW1hZ2UtbWFwLmh0bWwKaW5kZXggYTQ2NjVhZmYxZWVl
MDQyZWZiNWMwNzEwZjA3MjFmNWI0YzA0NTM0Ni4uZDUxNjcxZTZkZDA3MjQ3NDZkOWIxZTc4ODhk
ZGNmNThjZGIzNTlmZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3No
YWRvd2RvbS1mb3ItaW1hZ2UtbWFwLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hh
ZG93L3NoYWRvd2RvbS1mb3ItaW1hZ2UtbWFwLmh0bWwKQEAgLTI2LDcgKzI2LDcgQEAgaWYgKHdp
bmRvdy50ZXN0UnVubmVyKQogICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogCiBmdW5jdGlv
biBhZGRTaGFkb3dET00oaG9zdCkgewotICAgIHZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRD
cmVhdGVTaGFkb3dSb290KCk7CisgICAgdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93
Um9vdChob3N0KTsKICAgICBzaGFkb3dSb290LmlubmVySFRNTCA9ICI8c2hhZG93Pjwvc2hhZG93
PiI7CiAKICAgICB2YXIgdXNlckFnZW50U2hhZG93Um9vdCA9IGludGVybmFscy5vbGRlc3RTaGFk
b3dSb290KGhvc3QpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3No
YWRvd2RvbS1mb3ItaW1hZ2Utc3R5bGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy9zaGFkb3dkb20tZm9yLWltYWdlLXN0eWxlLmh0bWwKaW5kZXggMDkyNmYxZTZhZDRmZmUxMDU1
NTdjZjVkMDYwNjE5ZTIxYjVhMjU4MC4uNjEzY2EzNGU2MDJmZmZmNDM4NzI5NTZmZjZkZGI4YTZl
ZjJmOGFmYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2Rv
bS1mb3ItaW1hZ2Utc3R5bGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
c2hhZG93ZG9tLWZvci1pbWFnZS1zdHlsZS5odG1sCkBAIC0yNiw3ICsyNiw3IEBAIGlmICh3aW5k
b3cuaW50ZXJuYWxzKQogICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRBdXRob3JTaGFkb3dET01G
b3JBbnlFbGVtZW50RW5hYmxlZCh0cnVlKTsKIAogZnVuY3Rpb24gYWRkU2hhZG93RE9NKGhvc3Qp
IHsKLSAgICB2YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwor
ICAgIHZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7CiAgICAgc2hh
ZG93Um9vdC5pbm5lckhUTUwgPSAiKGJlZm9yZSk8c2hhZG93Pjwvc2hhZG93PihhZnRlcikiOwog
fQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZv
ci1pbWFnZS13aXRoLW11bHRpcGxlLXNoYWRvdy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20v
c2hhZG93L3NoYWRvd2RvbS1mb3ItaW1hZ2Utd2l0aC1tdWx0aXBsZS1zaGFkb3cuaHRtbAppbmRl
eCBjNDdlNWI3MGJjMjdiYzgxZmY2NDM1YWNmNDc4MmI2YzZlZjk0Zjk4Li4zMDk2NGRhODhlOGZh
NmQ5YTNhYzkxMjlmN2M0NjMzYmRlODA1YjczIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1pbWFnZS13aXRoLW11bHRpcGxlLXNoYWRvdy5odG1s
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWltYWdlLXdp
dGgtbXVsdGlwbGUtc2hhZG93Lmh0bWwKQEAgLTE0LDcgKzE0LDcgQEAgaWYgKHdpbmRvdy5pbnRl
cm5hbHMpCiAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEF1dGhvclNoYWRvd0RPTUZvckFueUVs
ZW1lbnRFbmFibGVkKHRydWUpOwogCiBmdW5jdGlvbiBhZGRTaGFkb3dET00oaG9zdCkgewotICAg
IHZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CisgICAgdmFy
IHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKICAgICBzaGFkb3dSb290
LmlubmVySFRNTCA9ICIoYmVmb3JlKTxzaGFkb3c+PC9zaGFkb3c+KGFmdGVyKSIKIH0KIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItaW1hZ2Ut
d2l0aC1wc2V1ZG8taWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dk
b20tZm9yLWltYWdlLXdpdGgtcHNldWRvLWlkLmh0bWwKaW5kZXggOGIzMGU4ODc3ODk2MTU1ZGFi
MWM1YjhiZTA4OTA2ZDA2MmYyYjZmYS4uNGE0NzBmMzMwNTk3M2ZmNDI1MDU5OGJjYzE0ZjEzYjYw
ZTE3YjdhZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2Rv
bS1mb3ItaW1hZ2Utd2l0aC1wc2V1ZG8taWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zaGFkb3cvc2hhZG93ZG9tLWZvci1pbWFnZS13aXRoLXBzZXVkby1pZC5odG1sCkBAIC0yMCw3
ICsyMCw3IEBAIGlmICh3aW5kb3cuaW50ZXJuYWxzKQogICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRBdXRob3JTaGFkb3dET01Gb3JBbnlFbGVtZW50RW5hYmxlZCh0cnVlKTsKIAogZnVuY3Rpb24g
YWRkU2hhZG93RE9NKGhvc3QpIHsKLSAgICB2YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3Jl
YXRlU2hhZG93Um9vdCgpOworICAgIHZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jv
b3QoaG9zdCk7CiAgICAgc2hhZG93Um9vdC5pbm5lckhUTUwgPSAiKGJlZm9yZSk8c2hhZG93Pjwv
c2hhZG93PihhZnRlcikiOwogfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvc2hhZG93ZG9tLWZvci1pbWFnZS13aXRoLXdpZHRoLWFuZC1oZWlnaHQuaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWltYWdlLXdpdGgtd2lkdGgt
YW5kLWhlaWdodC5odG1sCmluZGV4IGU2NTI0M2VmODE3Zjg2MzY2OGY3ODQ2Njc3NTg2N2IzMmM5
ZmQ4ODIuLjhiYzllNzlmYTFjNWYyZTI5NTQxN2M4NGU3M2NiOTQ2ZTY3YzBiZWMgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWltYWdlLXdpdGgt
d2lkdGgtYW5kLWhlaWdodC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9z
aGFkb3dkb20tZm9yLWltYWdlLXdpdGgtd2lkdGgtYW5kLWhlaWdodC5odG1sCkBAIC0xNCw3ICsx
NCw3IEBAIGlmICh3aW5kb3cuaW50ZXJuYWxzKQogICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRB
dXRob3JTaGFkb3dET01Gb3JBbnlFbGVtZW50RW5hYmxlZCh0cnVlKTsKIAogZnVuY3Rpb24gYWRk
U2hhZG93RE9NKGhvc3QpIHsKLSAgICB2YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRl
U2hhZG93Um9vdCgpOworICAgIHZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qo
aG9zdCk7CiAgICAgc2hhZG93Um9vdC5pbm5lckhUTUwgPSAiKGJlZm9yZSk8c2hhZG93Pjwvc2hh
ZG93PihhZnRlcikiOwogfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFk
b3cvc2hhZG93ZG9tLWZvci1pbWFnZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93
L3NoYWRvd2RvbS1mb3ItaW1hZ2UuaHRtbAppbmRleCA5MDU0ZDFhYWE1YjliMDQ0OGQ3M2ZlM2I3
NTM2ZjRhZjY3MWU0ZGNkLi43MTU1MzEwMDljYzdiMzQ4OTAzOTJkNDhmNTE5MDJhMDQwMjQzOTI3
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1p
bWFnZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9y
LWltYWdlLmh0bWwKQEAgLTE0LDcgKzE0LDcgQEAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCiAgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEF1dGhvclNoYWRvd0RPTUZvckFueUVsZW1lbnRFbmFibGVk
KHRydWUpOwogCiBmdW5jdGlvbiBhZGRTaGFkb3dET00oaG9zdCkgewotICAgIHZhciBzaGFkb3dS
b290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CisgICAgdmFyIHNoYWRvd1Jvb3Qg
PSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKICAgICBzaGFkb3dSb290LmlubmVySFRNTCA9
ICIoYmVmb3JlKTxzaGFkb3c+PC9zaGFkb3c+KGFmdGVyKSI7CiB9CiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWtleWdlbi1jb21wbGV4LXNo
YWRvdy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Ita2V5
Z2VuLWNvbXBsZXgtc2hhZG93Lmh0bWwKaW5kZXggM2E2MTZjN2FhMWM5YTNkMmM1OWZmZGJiMzUy
Mjg1MGI2MWM2MjRhMS4uM2RiODg0NmU2YTQ0MmFkN2FkMmVjZGUyNWQwZjYyM2E4MGUzMzUxMiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Ita2V5
Z2VuLWNvbXBsZXgtc2hhZG93Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93
L3NoYWRvd2RvbS1mb3Ita2V5Z2VuLWNvbXBsZXgtc2hhZG93Lmh0bWwKQEAgLTEyLDYgKzEyLDYg
QEAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCiAKIGhvc3QuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3Jl
YXRlVGV4dE5vZGUoJ2Zvb2JhcicpKTsKIAotdmFyIHNoYWRvd1Jvb3QgPSBob3N0LndlYmtpdENy
ZWF0ZVNoYWRvd1Jvb3QoKTsKK3ZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qo
aG9zdCk7CiBzaGFkb3dSb290LmlubmVySFRNTCA9ICI8Y29udGVudD48L2NvbnRlbnQ+PGRpdiBz
dHlsZT0nbWFyZ2luOiAyMHB4Jz48c2hhZG93Pjwvc2hhZG93PjwvZGl2PiIKIDwvc2NyaXB0Pgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Ita2V5
Z2VuLW9ubHktc2hhZG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93
ZG9tLWZvci1rZXlnZW4tb25seS1zaGFkb3cuaHRtbAppbmRleCBiYzEyYTU0OGVhZDkyNTgxOGMz
MDRhY2MwNmJmYTc0MGFjZWRjMTM2Li4wYWY5MjhlMzE4ZGY4Njc3MTRjNzY4ZWZjYjZlODAyNGM2
NTYxYTYwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9t
LWZvci1rZXlnZW4tb25seS1zaGFkb3cuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvc2hhZG93ZG9tLWZvci1rZXlnZW4tb25seS1zaGFkb3cuaHRtbApAQCAtOSw3ICs5LDcg
QEAKIDwvZm9ybT4KIAogPHNjcmlwdD4KLXZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVh
dGVTaGFkb3dSb290KCk7Cit2YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhv
c3QpOwogdmFyIHNoYWRvdyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NoYWRvdycpOwogc2hh
ZG93Um9vdC5hcHBlbmRDaGlsZChzaGFkb3cpOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1rZXlnZW4td2l0aG91dC1zaGFk
b3cuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWtleWdl
bi13aXRob3V0LXNoYWRvdy5odG1sCmluZGV4IGE1ZWU5N2JhM2ZiOTJjMTNiNjVhOWIxODFjMDk2
YThkN2QyMGYwMTUuLjY2NzExOTg2ODA2NjU3NDBmZjJiNTkwZWQ0YzRlODdkMGIyNmU3MjAgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWtleWdl
bi13aXRob3V0LXNoYWRvdy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9z
aGFkb3dkb20tZm9yLWtleWdlbi13aXRob3V0LXNoYWRvdy5odG1sCkBAIC0xMyw3ICsxMyw3IEBA
CiBpZiAod2luZG93LmludGVybmFscykKICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0QXV0aG9y
U2hhZG93RE9NRm9yQW55RWxlbWVudEVuYWJsZWQodHJ1ZSk7CiAKLXZhciBzaGFkb3dSb290ID0g
aG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7Cit2YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJL
aXRTaGFkb3dSb290KGhvc3QpOwogPC9zY3JpcHQ+CiA8L2JvZHk+CiA8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1tZWRpYS5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItbWVkaWEuaHRtbApp
bmRleCBmZTllN2FkMTExMGE3YTFjZTg0Yzg5MGJiNjQ5ZjA5NmNlNWNiZGI1Li4yZTA0NGRlNTdh
ZDk2YWU3ODVhNzg5YjM0NjdkZjczNzdiZjdlOTZiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1tZWRpYS5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLW1lZGlhLmh0bWwKQEAgLTEyLDcgKzEyLDcg
QEAKIAogPHNjcmlwdD4KIGZ1bmN0aW9uIGFkZFNoYWRvd0RPTShob3N0KSB7Ci0gICAgdmFyIHNo
YWRvd1Jvb3QgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKKyAgICB2YXIgc2hhZG93
Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwogICAgIHNoYWRvd1Jvb3QuaW5uZXJI
VE1MID0gIjxkaXYgc3R5bGU9J21hcmdpbjogMTBweCc+PHNoYWRvdz48L3NoYWRvdz48L2Rpdj4i
CiAgICAgcmV0dXJuIHNoYWRvd1Jvb3Q7CiB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1tZXRlci1keW5hbWljLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1tZXRlci1keW5hbWljLmh0bWwKaW5kZXgg
ZjNkNzQyMTk5YWUyMTk5YWM5NDQ5YjQwMTdkNDI0NjI5OTg4NjI1ZS4uOTQ1MjExN2VmNWQwYmM5
MjlhZGU1YTBmY2YxZWQ1ZGJkZjM0MTlmNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2hhZG93L3NoYWRvd2RvbS1mb3ItbWV0ZXItZHluYW1pYy5odG1sCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLW1ldGVyLWR5bmFtaWMuaHRtbApAQCAt
MTQsNyArMTQsNyBAQCBpZiAod2luZG93LmludGVybmFscykKIGlmICh3aW5kb3cudGVzdFJ1bm5l
cikKICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKIAotdmFyIHNoYWRvd1Jvb3QgPSBo
b3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKK3ZhciBzaGFkb3dSb290ID0gbmV3IFdlYktp
dFNoYWRvd1Jvb3QoaG9zdCk7CiBzaGFkb3dSb290LmlubmVySFRNTCA9ICI8c2hhZG93Pjwvc2hh
ZG93PjxzcGFuPihhZnRlcik8L3NwYW4+IjsKIAogc2V0VGltZW91dChmdW5jdGlvbigpIHsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLW1ldGVy
LW11bHRpcGxlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZv
ci1tZXRlci1tdWx0aXBsZS5odG1sCmluZGV4IDBiNmViN2Q1MTY2M2I4OGZkMTUzZWQ3MTYxMzk4
MmJmZmE4OGY1NGUuLmQxOGUwZDYxZTU2YjUwZjE4ODU1ZWMwN2IyYTQzMjdhYWQyNmM0MDMgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLW1ldGVy
LW11bHRpcGxlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2Rv
bS1mb3ItbWV0ZXItbXVsdGlwbGUuaHRtbApAQCAtMTcsMTAgKzE3LDEwIEBAIG1ldGVyOjotd2Vi
a2l0LW1ldGVyLWlubmVyLWVsZW1lbnQgewogaWYgKHdpbmRvdy5pbnRlcm5hbHMpCiAgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEF1dGhvclNoYWRvd0RPTUZvckFueUVsZW1lbnRFbmFibGVkKHRy
dWUpOwogCi12YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwor
dmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKIHNoYWRvd1Jvb3Qu
aW5uZXJIVE1MID0gIjxzaGFkb3c+PC9zaGFkb3c+PHNwYW4+KGFmdGVyKTwvc3Bhbj4iOwogCi12
YXIgeW91bmdlciA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwordmFyIHlvdW5nZXIg
PSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKIHlvdW5nZXIuaW5uZXJIVE1MID0gIjxkaXYg
c3R5bGU9J21hcmdpbjogMCAxMHB4IDAgMTBweDsgaGVpZ2h0OiAxZW07IHdpZHRoOiA1ZW07Jz48
c2hhZG93Pjwvc2hhZG93PjwvZGl2PiI7CiA8L3NjcmlwdD4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItbWV0ZXItd2l0aC1zdHlsZS5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItbWV0ZXItd2l0aC1z
dHlsZS5odG1sCmluZGV4IDQ2MjBmZDU0MGExZDI1NGEyOGE3ODNiY2JmYzQ4MTA1YThmNmI0YWQu
LjA4ZDdmMmIxYjBkMTdhZWYxMzlmYjdkMzhmMjA5ZDQ0NDA0MDViNjcgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLW1ldGVyLXdpdGgtc3R5bGUu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1tZXRl
ci13aXRoLXN0eWxlLmh0bWwKQEAgLTI4LDcgKzI4LDcgQEAgbWV0ZXI6Oi13ZWJraXQtbWV0ZXIt
aW5uZXItZWxlbWVudCB7CiBpZiAod2luZG93LmludGVybmFscykKICAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0QXV0aG9yU2hhZG93RE9NRm9yQW55RWxlbWVudEVuYWJsZWQodHJ1ZSk7CiAKLXZh
ciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7Cit2YXIgc2hhZG93
Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwogc2hhZG93Um9vdC5pbm5lckhUTUwg
PSAiPGRpdiBzdHlsZT0nbWFyZ2luLWxlZnQ6IDEwMHB4Jz48c2hhZG93Pjwvc2hhZG93PjxzcGFu
PihhZnRlcik8L3NwYW4+PC9kaXY+IjsKIDwvc2NyaXB0PgogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1tZXRlci13aXRob3V0LWFwcGVhcmFu
Y2UuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLW1ldGVy
LXdpdGhvdXQtYXBwZWFyYW5jZS5odG1sCmluZGV4IGNmYmYyNTE2ZmZjYjUwYmJiNDk5MjNmYWEy
NDkxZTVmOGIwZTRhNjYuLmFlY2UyM2I3NjdiN2IzZjQyMjQwZGYzNDVkNTk1OTZlMTlmZWNmNjQg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLW1l
dGVyLXdpdGhvdXQtYXBwZWFyYW5jZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3No
YWRvdy9zaGFkb3dkb20tZm9yLW1ldGVyLXdpdGhvdXQtYXBwZWFyYW5jZS5odG1sCkBAIC0yMCw3
ICsyMCw3IEBAIG1ldGVyIHsKIGlmICh3aW5kb3cuaW50ZXJuYWxzKQogICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRBdXRob3JTaGFkb3dET01Gb3JBbnlFbGVtZW50RW5hYmxlZCh0cnVlKTsKIAot
dmFyIHNoYWRvd1Jvb3QgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKK3ZhciBzaGFk
b3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7CiBzaGFkb3dSb290LmlubmVySFRN
TCA9ICI8c2hhZG93Pjwvc2hhZG93PjxzcGFuPihhZnRlcik8L3NwYW4+IjsKIDwvc2NyaXB0Pgog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1t
ZXRlci13aXRob3V0LXNoYWRvdy1lbGVtZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvc2hhZG93ZG9tLWZvci1tZXRlci13aXRob3V0LXNoYWRvdy1lbGVtZW50Lmh0bWwKaW5k
ZXggZWUyYzcxMDM0NWJkZDBmNWJmMGZhNDE0MWQxNGJhNTY0YWE2NjE1Ni4uZjczODY4MWI5NDcz
NDlhZTdlNTg5Y2QzYTM5ODA4MGEzMWUxM2YyNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItbWV0ZXItd2l0aG91dC1zaGFkb3ctZWxlbWVudC5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLW1ldGVy
LXdpdGhvdXQtc2hhZG93LWVsZW1lbnQuaHRtbApAQCAtMTEsNyArMTEsNyBAQAogaWYgKHdpbmRv
dy5pbnRlcm5hbHMpCiAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEF1dGhvclNoYWRvd0RPTUZv
ckFueUVsZW1lbnRFbmFibGVkKHRydWUpOwogCi12YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Via2l0
Q3JlYXRlU2hhZG93Um9vdCgpOwordmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9v
dChob3N0KTsKIHNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gIjxzcGFuPm5vIHByb2dyZXNzPC9zcGFu
PiIKIDwvc2NyaXB0PgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
c2hhZG93ZG9tLWZvci1tZXRlci5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3No
YWRvd2RvbS1mb3ItbWV0ZXIuaHRtbAppbmRleCA3NjdmODc5NWU0N2ExZWE5MmQzMmQyOTQzODcw
MzhhZDczNzM5YjMwLi5jMDk1Yzc4YWJkYWU4OTc5MGQ1ZGFmMzY5YzUxNDA4NjUzYTk0MDI2IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1tZXRl
ci5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLW1l
dGVyLmh0bWwKQEAgLTExLDcgKzExLDcgQEAKIGlmICh3aW5kb3cuaW50ZXJuYWxzKQogICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRBdXRob3JTaGFkb3dET01Gb3JBbnlFbGVtZW50RW5hYmxlZCh0
cnVlKTsKIAotdmFyIHNoYWRvd1Jvb3QgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsK
K3ZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7CiBzaGFkb3dSb290
LmlubmVySFRNTCA9ICI8c2hhZG93Pjwvc2hhZG93PjxzcGFuPihhZnRlcik8L3NwYW4+IjsKIDwv
c2NyaXB0PgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93
ZG9tLWZvci1vYmplY3QtY29tcGxleC1zaGFkb3cuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3NoYWRvdy9zaGFkb3dkb20tZm9yLW9iamVjdC1jb21wbGV4LXNoYWRvdy5odG1sCmluZGV4IGU0
MmJhYmViYTdiNThjOWJjNDhmNzkzYjkzMGFkNWEyZDdkZmIxNjMuLjAxNzEzMTIwYWUwODFmNzVj
OGM4Zjk1NDdiYWRjZGU3NTk3OTYwNWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3NoYWRvdy9zaGFkb3dkb20tZm9yLW9iamVjdC1jb21wbGV4LXNoYWRvdy5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLW9iamVjdC1jb21wbGV4LXNo
YWRvdy5odG1sCkBAIC0xMSw2ICsxMSw2IEBACiAKIDxzY3JpcHQ+CiB2YXIgaG9zdCA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCdob3N0Jyk7Ci12YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Via2l0
Q3JlYXRlU2hhZG93Um9vdCgpOwordmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9v
dChob3N0KTsKIHNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gIjxjb250ZW50PjwvY29udGVudD48ZGl2
IHN0eWxlPSdtYXJnaW46IDIwcHgnPjxzaGFkb3c+PC9zaGFkb3c+PC9kaXY+IgogPC9zY3JpcHQ+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1v
YmplY3Qtb25seS1zaGFkb3cuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFk
b3dkb20tZm9yLW9iamVjdC1vbmx5LXNoYWRvdy5odG1sCmluZGV4IGY1NDJiZDFhOTYxZWUwNmJh
MzEzZDA1ZmE1YmM3ZmU1ZjU5MGFiYTMuLjAwNDA4NTIxZTc2M2ViM2IxYmRlMDkxNWI1YTE0MDRm
MGM3NTE1MDEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dk
b20tZm9yLW9iamVjdC1vbmx5LXNoYWRvdy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3NoYWRvdy9zaGFkb3dkb20tZm9yLW9iamVjdC1vbmx5LXNoYWRvdy5odG1sCkBAIC0xMiw2ICsx
Miw2IEBAIGlmICh3aW5kb3cuaW50ZXJuYWxzKQogICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRB
dXRob3JTaGFkb3dET01Gb3JBbnlFbGVtZW50RW5hYmxlZCh0cnVlKTsKIAogdmFyIGhvc3QgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaG9zdCcpOwotdmFyIHNoYWRvd1Jvb3QgPSBob3N0Lndl
YmtpdENyZWF0ZVNoYWRvd1Jvb3QoKQordmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93
Um9vdChob3N0KQogc2hhZG93Um9vdC5pbm5lckhUTUwgPSAiPHNoYWRvdz48L3NoYWRvdz4iCiA8
L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dk
b20tZm9yLW9iamVjdC13aXRob3V0LXNoYWRvdy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20v
c2hhZG93L3NoYWRvd2RvbS1mb3Itb2JqZWN0LXdpdGhvdXQtc2hhZG93Lmh0bWwKaW5kZXggOGQ1
YTMyNmIyZTU1YjU5MjMzNGNhM2Q0NzE5NDNmMmUzOTc4MjZlNS4uZTM0OGQ3NWMzYTdmMTRkOTFh
Y2ZlMzgxNWUyMmRkYjM0MDdkNTM4MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20v
c2hhZG93L3NoYWRvd2RvbS1mb3Itb2JqZWN0LXdpdGhvdXQtc2hhZG93Lmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Itb2JqZWN0LXdpdGhvdXQtc2hh
ZG93Lmh0bWwKQEAgLTksNSArOSw1IEBACiAKIDxzY3JpcHQ+CiB2YXIgaG9zdCA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCdob3N0Jyk7Ci12YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3Jl
YXRlU2hhZG93Um9vdCgpCit2YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhv
c3QpCiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9z
aGFkb3dkb20tZm9yLW91dHB1dC1jb21wbGV4LXNoYWRvdy5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Itb3V0cHV0LWNvbXBsZXgtc2hhZG93Lmh0bWwKaW5k
ZXggMTgxOTM5ZGYyZDg0NGZlNWNiMmUzMDZmZjRmZmY2ODNjZWI3YTA0OS4uYjMxZDgzZjI5ZWVl
NDJkOTMxMmVhMjdhZGU4N2E1MzNmMGMxNTVlMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Itb3V0cHV0LWNvbXBsZXgtc2hhZG93Lmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Itb3V0cHV0LWNvbXBs
ZXgtc2hhZG93Lmh0bWwKQEAgLTksNiArOSw2IEBACiAKIDxzY3JpcHQ+CiB2YXIgaG9zdCA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCdob3N0Jyk7Ci12YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Vi
a2l0Q3JlYXRlU2hhZG93Um9vdCgpOwordmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93
Um9vdChob3N0KTsKIHNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gIjxjb250ZW50PjwvY29udGVudD48
ZGl2IHN0eWxlPSdtYXJnaW46IDIwcHgnPjxzaGFkb3c+PC9zaGFkb3c+PC9kaXY+IgogPC9zY3Jp
cHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZv
ci1vdXRwdXQtb25seS1zaGFkb3cuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9z
aGFkb3dkb20tZm9yLW91dHB1dC1vbmx5LXNoYWRvdy5odG1sCmluZGV4IDFmOWFhZGIwM2I2MTk4
NzIzNjA2MmE5OWE1OThkYWQwZDYzNzk3YWUuLjE3ZDM0MTY3ZGVkODY4MDFkYTlhZWI3MjhiNWFi
YTE1ZGQ0ZWI5NjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFk
b3dkb20tZm9yLW91dHB1dC1vbmx5LXNoYWRvdy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLW91dHB1dC1vbmx5LXNoYWRvdy5odG1sCkBAIC05LDYg
KzksNiBAQAogCiA8c2NyaXB0PgogdmFyIGhvc3QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn
aG9zdCcpOwotdmFyIHNoYWRvd1Jvb3QgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsK
K3ZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7CiBzaGFkb3dSb290
LmlubmVySFRNTCA9ICI8c2hhZG93Pjwvc2hhZG93PiIKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Itb3V0cHV0LXdpdGhvdXQt
c2hhZG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1v
dXRwdXQtd2l0aG91dC1zaGFkb3cuaHRtbAppbmRleCBjOGJlYTJkYjQ1ZjlkYWUzNzg4MzRkNzRl
NjQzNGQ2Y2MzOWE0NjU5Li40ODIwZjgyZTQyNTM0ZTg1MWMxMGJlYTNhOGExN2RmZTMxM2I4ZjVk
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1v
dXRwdXQtd2l0aG91dC1zaGFkb3cuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFk
b3cvc2hhZG93ZG9tLWZvci1vdXRwdXQtd2l0aG91dC1zaGFkb3cuaHRtbApAQCAtOSw1ICs5LDUg
QEAKIAogPHNjcmlwdD4KIHZhciBob3N0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2hvc3Qn
KTsKLXZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7Cit2YXIg
c2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwogPC9zY3JpcHQ+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1wcm9ncmVz
cy1keW5hbWljLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZv
ci1wcm9ncmVzcy1keW5hbWljLmh0bWwKaW5kZXggNzE2NTY2NzJiMjQ0ZDY3ZTJlMDljZTczZjdm
Mjg5ODVhODczMGEyNi4uY2JmYjljODJmNzEzMTllMTJkYzliYjZkOGRlNzBkZmI2ZjhmMGQzMSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItcHJv
Z3Jlc3MtZHluYW1pYy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFk
b3dkb20tZm9yLXByb2dyZXNzLWR5bmFtaWMuaHRtbApAQCAtMTYsNyArMTYsNyBAQCBpZiAod2lu
ZG93LmludGVybmFscykKIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB0ZXN0UnVubmVyLndh
aXRVbnRpbERvbmUoKTsKIAotdmFyIHNoYWRvd1Jvb3QgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRv
d1Jvb3QoKTsKK3ZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7CiBz
aGFkb3dSb290LmlubmVySFRNTCA9ICI8c2hhZG93Pjwvc2hhZG93PjxzcGFuPihhZnRlcik8L3Nw
YW4+IjsKIAogc2V0VGltZW91dChmdW5jdGlvbigpIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXByb2dyZXNzLW11bHRpcGxlLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1wcm9ncmVzcy1tdWx0aXBs
ZS5odG1sCmluZGV4IGNlYjU0NjI3N2Q4MmQ1ZDQ0MzdjZjJiYjAzMzg5YmRjYWY3YjYzZGEuLjA4
MDUxNjBjYjhjOTI3M2Y3NDZiNDIzZmFlYTI4YmVmZmMyMTViYmQgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXByb2dyZXNzLW11bHRpcGxlLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItcHJvZ3Jl
c3MtbXVsdGlwbGUuaHRtbApAQCAtMTYsMTAgKzE2LDEwIEBAIHByb2dyZXNzOjotd2Via2l0LXBy
b2dyZXNzLWlubmVyLWVsZW1lbnQgewogaWYgKHdpbmRvdy5pbnRlcm5hbHMpCiAgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEF1dGhvclNoYWRvd0RPTUZvckFueUVsZW1lbnRFbmFibGVkKHRydWUp
OwogCi12YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwordmFy
IHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKIHNoYWRvd1Jvb3QuaW5u
ZXJIVE1MID0gIjxzaGFkb3c+PC9zaGFkb3c+PHNwYW4+KGFmdGVyKTwvc3Bhbj4iOwogCi12YXIg
eW91bmdlciA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwordmFyIHlvdW5nZXIgPSBu
ZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKIHlvdW5nZXIuaW5uZXJIVE1MID0gIjxkaXYgc3R5
bGU9J21hcmdpbjogMCAxMHB4IDAgMTBweDsgaGVpZ2h0OiAxZW07IHdpZHRoOiAxMGVtOyc+PHNo
YWRvdz48L3NoYWRvdz48L2Rpdj4iOwogPC9zY3JpcHQ+CiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXByb2dyZXNzLXdpdGgtc3R5bGUuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXByb2dyZXNzLXdp
dGgtc3R5bGUuaHRtbAppbmRleCA1NjEyMjI4YjgxNGIxODE0YWRlODQwZTY4NmE0OTc5YTE5MDJm
YTg4Li44NjJlODY4MGNkOThlNDY3NzZjYzVjZjg3MTc1NzBhYmRkYmQ2YTcyIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1wcm9ncmVzcy13aXRo
LXN0eWxlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1m
b3ItcHJvZ3Jlc3Mtd2l0aC1zdHlsZS5odG1sCkBAIC0yOCw3ICsyOCw3IEBAIHByb2dyZXNzOjot
d2Via2l0LXByb2dyZXNzLWlubmVyLWVsZW1lbnQgewogaWYgKHdpbmRvdy5pbnRlcm5hbHMpCiAg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEF1dGhvclNoYWRvd0RPTUZvckFueUVsZW1lbnRFbmFi
bGVkKHRydWUpOwogCi12YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9v
dCgpOwordmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKIHNoYWRv
d1Jvb3QuaW5uZXJIVE1MID0gIjxkaXYgc3R5bGU9J21hcmdpbi1sZWZ0OiAxMDBweCc+PHNoYWRv
dz48L3NoYWRvdz48c3Bhbj4oYWZ0ZXIpPC9zcGFuPjwvZGl2PiI7CiA8L3NjcmlwdD4KIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItcHJvZ3Jl
c3Mtd2l0aG91dC1hcHBlYXJhbmNlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
c2hhZG93ZG9tLWZvci1wcm9ncmVzcy13aXRob3V0LWFwcGVhcmFuY2UuaHRtbAppbmRleCBjYTIy
OThiMWZhZDg5MzUxN2YyZTVlNWUwOWY1NGFkYTdjNzhiOTExLi43NGRlZjk4YWE1ZDNkNTBmMGEx
YzU4M2QyOTk5YzgzMmVmNDRmNDI1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvc2hhZG93ZG9tLWZvci1wcm9ncmVzcy13aXRob3V0LWFwcGVhcmFuY2UuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1wcm9ncmVzcy13aXRo
b3V0LWFwcGVhcmFuY2UuaHRtbApAQCAtMjAsNyArMjAsNyBAQCBwcm9ncmVzcyB7CiBpZiAod2lu
ZG93LmludGVybmFscykKICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0QXV0aG9yU2hhZG93RE9N
Rm9yQW55RWxlbWVudEVuYWJsZWQodHJ1ZSk7CiAKLXZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJr
aXRDcmVhdGVTaGFkb3dSb290KCk7Cit2YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dS
b290KGhvc3QpOwogc2hhZG93Um9vdC5pbm5lckhUTUwgPSAiPHNoYWRvdz48L3NoYWRvdz48c3Bh
bj4oYWZ0ZXIpPC9zcGFuPiI7CiA8L3NjcmlwdD4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItcHJvZ3Jlc3Mtd2l0aG91dC1zaGFkb3ctZWxl
bWVudC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItcHJv
Z3Jlc3Mtd2l0aG91dC1zaGFkb3ctZWxlbWVudC5odG1sCmluZGV4IDkyZjQxZmYxNTM4MjViYjM0
YTFmOGY5OTU4OGRlZjJhNWM1Njg4YjUuLjgxNDA1ZGRkNWM1NDI0ZGMxZTA5YWI0OGQzM2Y5MTFl
MjQxM2ZjYTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dk
b20tZm9yLXByb2dyZXNzLXdpdGhvdXQtc2hhZG93LWVsZW1lbnQuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1wcm9ncmVzcy13aXRob3V0LXNoYWRv
dy1lbGVtZW50Lmh0bWwKQEAgLTE0LDcgKzE0LDcgQEAKIGlmICh3aW5kb3cuaW50ZXJuYWxzKQog
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRBdXRob3JTaGFkb3dET01Gb3JBbnlFbGVtZW50RW5h
YmxlZCh0cnVlKTsKIAotdmFyIHNoYWRvd1Jvb3QgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jv
b3QoKTsKK3ZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7CiBzaGFk
b3dSb290LmlubmVySFRNTCA9ICI8c3Bhbj5ubyBwcm9ncmVzczwvc3Bhbj4iCiA8L3NjcmlwdD4K
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3It
cHJvZ3Jlc3MuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9y
LXByb2dyZXNzLmh0bWwKaW5kZXggMWVkNjZmZjU1YzlhY2NmY2JlZDVmYWViNWZjZGJmYzVlNzAz
MDhhMS4uYWJkMWJjZTdmYTk4MGZlZDIxZmFlYzFmODM3MjJmMjE2ZWVjYTQxZiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItcHJvZ3Jlc3MuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1wcm9ncmVz
cy5odG1sCkBAIC0xNCw3ICsxNCw3IEBACiBpZiAod2luZG93LmludGVybmFscykKICAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0QXV0aG9yU2hhZG93RE9NRm9yQW55RWxlbWVudEVuYWJsZWQodHJ1
ZSk7CiAKLXZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7Cit2
YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwogc2hhZG93Um9vdC5p
bm5lckhUTUwgPSAiPHNoYWRvdz48L3NoYWRvdz48c3Bhbj4oYWZ0ZXIpPC9zcGFuPiI7CiA8L3Nj
cmlwdD4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2Rv
bS1mb3Itc2VsZWN0LWNvbXBsZXgtc2hhZG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvc2hhZG93ZG9tLWZvci1zZWxlY3QtY29tcGxleC1zaGFkb3cuaHRtbAppbmRleCA4OTc2
Y2Q2M2M3YTc2OWIwNzMyMzQ5MjM2YjNhMjM3OWE3NzJkNWVlLi45ZjU0Mjk2NDFmZmM4Yzk3ZTI5
OGIxODgyM2Y2M2UzNzBhZDMwMGFhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvc2hhZG93ZG9tLWZvci1zZWxlY3QtY29tcGxleC1zaGFkb3cuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1zZWxlY3QtY29tcGxleC1zaGFk
b3cuaHRtbApAQCAtMTMsNiArMTMsNiBAQAogCiA8c2NyaXB0PgogdmFyIGhvc3QgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgnaG9zdCcpOwotdmFyIHNoYWRvd1Jvb3QgPSBob3N0LndlYmtpdENy
ZWF0ZVNoYWRvd1Jvb3QoKTsKK3ZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qo
aG9zdCk7CiBzaGFkb3dSb290LmlubmVySFRNTCA9ICI8Y29udGVudD48L2NvbnRlbnQ+PGRpdiBz
dHlsZT0nbWFyZ2luOiAyMHB4Jz48c2hhZG93Pjwvc2hhZG93PjwvZGl2PiIKIDwvc2NyaXB0Pgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Itc2Vs
ZWN0LW9ubHktc2hhZG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93
ZG9tLWZvci1zZWxlY3Qtb25seS1zaGFkb3cuaHRtbAppbmRleCA1MTQyMzM3Nzc5ZDdiMzY1ZGU1
YzM0NzhiMGQzZDBiMDBjNjZkOWI2Li4zZGJiYWMxZmIzYTE0MTI0ZDNiZmJjMGY1YzdkZGQ3NWFl
MWNmYWM2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9t
LWZvci1zZWxlY3Qtb25seS1zaGFkb3cuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvc2hhZG93ZG9tLWZvci1zZWxlY3Qtb25seS1zaGFkb3cuaHRtbApAQCAtMTMsNiArMTMs
NiBAQAogCiA8c2NyaXB0PgogdmFyIGhvc3QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaG9z
dCcpOwotdmFyIHNoYWRvd1Jvb3QgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKK3Zh
ciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7CiBzaGFkb3dSb290Lmlu
bmVySFRNTCA9ICI8c2hhZG93Pjwvc2hhZG93PiIKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Itc2VsZWN0LXdpdGhvdXQtc2hh
ZG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1zZWxl
Y3Qtd2l0aG91dC1zaGFkb3cuaHRtbAppbmRleCBjNjlhMGIyMWNhNGZlNGYwMzg4MTM1Y2Q3MDI4
Y2Q0NjlmNjM4YzQ1Li5hMWY0MDk1ZDY5YTQyYTQwYWVjYTZmYzczZDc3OWFlODI1ZTY1OTI4IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1zZWxl
Y3Qtd2l0aG91dC1zaGFkb3cuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
c2hhZG93ZG9tLWZvci1zZWxlY3Qtd2l0aG91dC1zaGFkb3cuaHRtbApAQCAtMTMsNSArMTMsNSBA
QAogCiA8c2NyaXB0PgogdmFyIGhvc3QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaG9zdCcp
OwotdmFyIHNoYWRvd1Jvb3QgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKK3ZhciBz
aGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7CiA8L3NjcmlwdD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXRleHRhcmVh
LWNvbXBsZXgtc2hhZG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93
ZG9tLWZvci10ZXh0YXJlYS1jb21wbGV4LXNoYWRvdy5odG1sCmluZGV4IDg3ZDhhMTcxNWMyYWJl
N2E3MDllYzNlNDZhMzNjOGM5Y2FhY2NlY2UuLjY4NzhiNjBhY2RjNDAzMDdmZmRmOTBmNWU5Y2E1
OWY1NmU2MTg0ZWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFk
b3dkb20tZm9yLXRleHRhcmVhLWNvbXBsZXgtc2hhZG93Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItdGV4dGFyZWEtY29tcGxleC1zaGFkb3cuaHRt
bApAQCAtMjMsNyArMjMsNyBAQCB2YXIgcCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3AnKTsK
IHAuaW5uZXJIVE1MID0gInBhcmFncmFwaDxiPmJvbGQ8L2I+cGFyYWdyYXBoIjsKIGhvc3QuYXBw
ZW5kQ2hpbGQocCk7CiAKLXZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dS
b290KCk7Cit2YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwogCiAv
LyA8Y29udGVudD48L2NvbnRlbnQ+PGRpdiBzdHlsZT0ibWFyZ2luOiAyMHB4Ij48c2hhZG93Pjwv
c2hhZG93PjwvZGl2Pgogc2hhZG93Um9vdC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCdjb250ZW50JykpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93
L3NoYWRvd2RvbS1mb3ItdGV4dGFyZWEtb25seS1zaGFkb3cuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXRleHRhcmVhLW9ubHktc2hhZG93Lmh0bWwKaW5k
ZXggNTk5ODMxZjljYmU0ZDAyZDQzZWU0YWU0MThkNDUxYzFkNzExYzJhOS4uMDliN2NlYWU2NjBm
YjdkYzM5ZWE2YmYyMGIyMDMyNDhjODM3NTFjOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItdGV4dGFyZWEtb25seS1zaGFkb3cuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci10ZXh0YXJlYS1vbmx5
LXNoYWRvdy5odG1sCkBAIC03LDYgKzcsNiBAQAogPC9mb3JtPgogCiA8c2NyaXB0PgotdmFyIHNo
YWRvd1Jvb3QgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKK3ZhciBzaGFkb3dSb290
ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7CiBzaGFkb3dSb290LmFwcGVuZENoaWxkKGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NoYWRvdycpKTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItdGV4dGFyZWEtd2l0aC1h
dHRyaWJ1dGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9y
LXRleHRhcmVhLXdpdGgtYXR0cmlidXRlLmh0bWwKaW5kZXggNjc5MWI0MGJkODViNWEzZGNkMjkx
N2E2MDdiYjBiNjIxODJjOWYzOC4uNmU1NDVlMmIxZDI4ZWZlNTIwODdiNmRiY2EyNDc3MTZhMTEx
ZWEwMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1m
b3ItdGV4dGFyZWEtd2l0aC1hdHRyaWJ1dGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zaGFkb3cvc2hhZG93ZG9tLWZvci10ZXh0YXJlYS13aXRoLWF0dHJpYnV0ZS5odG1sCkBAIC03
LDYgKzcsNiBAQAogPC9mb3JtPgogCiA8c2NyaXB0PgotdmFyIHNoYWRvd1Jvb3QgPSBob3N0Lndl
YmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKK3ZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRv
d1Jvb3QoaG9zdCk7CiBzaGFkb3dSb290LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoJ3NoYWRvdycpKTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2hhZG93L3NoYWRvd2RvbS1mb3ItdGV4dGFyZWEtd2l0aC1wbGFjZWhvbGRlci5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItdGV4dGFyZWEtd2l0aC1w
bGFjZWhvbGRlci5odG1sCmluZGV4IDY4ZjI4ZDc0YmZjMGM1NGJlMWU0YmNhZjI3ZTMxMWNlMTFi
YzU5ODAuLjJjNzI2YTBiZGQwYzc3MGI4YTM2MjgyZGQ4ZmI4MDIxZjgxZDk4ZjMgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXRleHRhcmVhLXdp
dGgtcGxhY2Vob2xkZXIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hh
ZG93ZG9tLWZvci10ZXh0YXJlYS13aXRoLXBsYWNlaG9sZGVyLmh0bWwKQEAgLTEyLDcgKzEyLDcg
QEAKIGlmICh3aW5kb3cuaW50ZXJuYWxzKQogICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRBdXRo
b3JTaGFkb3dET01Gb3JBbnlFbGVtZW50RW5hYmxlZCh0cnVlKTsKIAotdmFyIHNoYWRvd1Jvb3Qx
ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7Cit2YXIgc2hhZG93Um9vdDEgPSBuZXcg
V2ViS2l0U2hhZG93Um9vdChob3N0KTsKIHNoYWRvd1Jvb3QxLmFwcGVuZENoaWxkKGRvY3VtZW50
LmNyZWF0ZVRleHROb2RlKCdiZWZvcmUnKSk7CiBzaGFkb3dSb290MS5hcHBlbmRDaGlsZChkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCdzaGFkb3cnKSk7CiBzaGFkb3dSb290MS5hcHBlbmRDaGlsZChk
b2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgnYWZ0ZXInKSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci10ZXh0YXJlYS13aXRoLXN0eWxlLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci10ZXh0YXJlYS13aXRo
LXN0eWxlLmh0bWwKaW5kZXggZTljYmRmM2FlMzYwNGE5NDVhNjZiMzJlYTI2NWM4OWQ1OTU3OGY4
YS4uNjhkNzYyZjAzNDljOGJjNzYzNzlmNWYzYWMxNjIwY2Y5MWY3MDAyYiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItdGV4dGFyZWEtd2l0aC1z
dHlsZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9y
LXRleHRhcmVhLXdpdGgtc3R5bGUuaHRtbApAQCAtMTYsNyArMTYsNyBAQCB0ZXh0YXJlYSB7CiA8
L2Zvcm0+CiAKIDxzY3JpcHQ+Ci12YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hh
ZG93Um9vdCgpOwordmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsK
IHNoYWRvd1Jvb3QuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2hhZG93Jykp
OwogPC9zY3JpcHQ+CiA8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvc2hhZG93ZG9tLWZvci10ZXh0YXJlYS13aXRob3V0LXNoYWRvdy5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItdGV4dGFyZWEtd2l0aG91dC1zaGFk
b3cuaHRtbAppbmRleCA0N2MwYmIxNzQ4Mjg2NjY0ZDA5MDdjZjUwOWQxNmIwYWU5MDZhOTVjLi5k
ODc3YTAzNzc3NGQ3Nzc4ZjBlYTgzNWQ4YjJhNmJlMjI5YjEzOTgyIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci10ZXh0YXJlYS13aXRob3V0LXNo
YWRvdy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9y
LXRleHRhcmVhLXdpdGhvdXQtc2hhZG93Lmh0bWwKQEAgLTExLDUgKzExLDUgQEAKIGlmICh3aW5k
b3cuaW50ZXJuYWxzKQogICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRBdXRob3JTaGFkb3dET01G
b3JBbnlFbGVtZW50RW5hYmxlZCh0cnVlKTsKIAotdmFyIHNoYWRvd1Jvb3QgPSBob3N0LndlYmtp
dENyZWF0ZVNoYWRvd1Jvb3QoKTsKK3ZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jv
b3QoaG9zdCk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3No
YWRvdy9zaGFkb3dkb20tZm9yLXRleHRhcmVhLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvc2hhZG93ZG9tLWZvci10ZXh0YXJlYS5odG1sCmluZGV4IGUyOTU3OWYxYWU1NzZlZDE4
YjEzMDUyYWJjNmEzZDk5MGQ2NDBmZDkuLjk4NTg4OTY0N2IzN2VlOTk3NTE1ZGI1NGM0NWY3YTkx
YmZjNTM3MjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dk
b20tZm9yLXRleHRhcmVhLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3No
YWRvd2RvbS1mb3ItdGV4dGFyZWEuaHRtbApAQCAtMTEsNyArMTEsNyBAQAogaWYgKHdpbmRvdy5p
bnRlcm5hbHMpCiAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEF1dGhvclNoYWRvd0RPTUZvckFu
eUVsZW1lbnRFbmFibGVkKHRydWUpOwogCi12YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3Jl
YXRlU2hhZG93Um9vdCgpOwordmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdCho
b3N0KTsKIAogdmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogZGl2Lmlu
bmVySFRNTCA9ICIoYmVmb3JlKTxzaGFkb3c+PC9zaGFkb3c+KGFmdGVyKSI7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93cm9vdC1jbG9uZW5vZGUuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dyb290LWNsb25lbm9kZS5odG1sCmlu
ZGV4IGViZDNlZWM0ZTRjZDJlZDdhNDc2NWZkM2UxYjllNWVkMmI2MzFhMDAuLmYzZmI5ZjE3ODAx
ZTM3OTA3OWFiMWE2MDFhNDYzMzY1MmU4MWI4NmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy9zaGFkb3dyb290LWNsb25lbm9kZS5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dyb290LWNsb25lbm9kZS5odG1sCkBAIC05LDcgKzksNyBA
QAogZGVzY3JpcHRpb24oJ0NhbGxpbmcgU2hhZG93Um9vdC5jbG9uZU5vZGUoKSBzaG91bGQgdGhy
b3cgYSBEQVRBX0NMT05FX0VSUiBleGNlcHRpb24uJyk7CiAKIHZhciBob3N0ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgnZGl2Jyk7Ci12YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRl
U2hhZG93Um9vdCgpOwordmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0
KTsKIHNob3VsZFRocm93KCdzaGFkb3dSb290LmNsb25lTm9kZSgpJywgJyJFcnJvcjogRGF0YUNs
b25lRXJyb3I6IERPTSBFeGNlcHRpb24gMjUiJyk7CiA8L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIu
Li8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dyb290LW9mLWluc2VydGlvbnBvaW50
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93cm9vdC1vZi1pbnNlcnRp
b25wb2ludC5odG1sCmluZGV4IGIwNWE5MzdiNDFkZjEwZDk2Zjk4NDEyYzNkYjcwZjYwOTQ2YWI1
MjEuLjlkNDZjYWVlYmY1ZjA0MjQwZGZiMmMzMTRlMDc0N2NlZjdiYjZlOWYgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dyb290LW9mLWluc2VydGlvbnBvaW50
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd3Jvb3Qtb2YtaW5z
ZXJ0aW9ucG9pbnQuaHRtbApAQCAtOSw3ICs5LDcgQEAKIDwvZGl2PgogCiA8c2NyaXB0PgotdmFy
IHNoYWRvd1Jvb3QgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKK3ZhciBzaGFkb3dS
b290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7CiBzaGFkb3dSb290LmlubmVySFRNTCA9
CiAgICAgJzxkaXY+JyArIAogICAgICAgICAnPGNvbnRlbnQgaWQ9ImFjdGl2ZS1jb250ZW50IiBz
ZWxlY3Q9ImRpdiI+PGRpdj5mYWxsYmFjazwvZGl2PjwvY29udGVudD4nICsKQEAgLTE3LDExICsx
NywxMSBAQCBzaGFkb3dSb290LmlubmVySFRNTCA9CiAgICAgJzwvZGl2Pic7CiAKIHZhciBhY3Rp
dmVDb250ZW50ID0gc2hhZG93Um9vdC5nZXRFbGVtZW50QnlJZCgnYWN0aXZlLWNvbnRlbnQnKTsK
LXZhciBzaGFkb3dSb290Rm9yQWN0aXZlQ29udGVudCA9IGFjdGl2ZUNvbnRlbnQud2Via2l0Q3Jl
YXRlU2hhZG93Um9vdCgpOwordmFyIHNoYWRvd1Jvb3RGb3JBY3RpdmVDb250ZW50ID0gbmV3IFdl
YktpdFNoYWRvd1Jvb3QoYWN0aXZlQ29udGVudCk7CiBzaGFkb3dSb290Rm9yQWN0aXZlQ29udGVu
dC5pbm5lckhUTUwgPSAnPGRpdj5Gb3IgYWN0aXZlIGNvbnRlbnQ8L2Rpdj4nOwogCiB2YXIgaW5h
Y3RpdmVDb250ZW50ID0gc2hhZG93Um9vdC5nZXRFbGVtZW50QnlJZCgnaW5hY3RpdmUtY29udGVu
dCcpOwotdmFyIHNoYWRvd1Jvb3RGb3JJbmFjdGl2ZUNvbnRlbnQgPSBpbmFjdGl2ZUNvbnRlbnQu
d2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwordmFyIHNoYWRvd1Jvb3RGb3JJbmFjdGl2ZUNvbnRl
bnQgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChpbmFjdGl2ZUNvbnRlbnQpOwogc2hhZG93Um9vdEZv
ckluYWN0aXZlQ29udGVudC5pbm5lckhUTUwgPSAnPGRpdj5Gb3IgSW5hY3RpdmUgY29udGVudDwv
ZGl2Pic7CiA8L3NjcmlwdD4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hh
ZG93L3NoYWRvd3Jvb3QtdHlwZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3No
YWRvd3Jvb3QtdHlwZS5odG1sCmluZGV4IDhjMjAyOTViYWQzOTJhNjE1YmU0YjhlNDhkMTU0MDUy
NDgyZDQ5NGMuLjdmMTZlNTc3NTg5MDAwN2MxNjFhMWJhMjVkNTNkOTQ4MmQwZWRiYmEgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dyb290LXR5cGUuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93cm9vdC10eXBlLmh0bWwKQEAg
LTEyLDcgKzEyLDcgQEAKIDxzY3JpcHQ+CiBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IGVuc3VyZXMg
U2hhZG93Um9vdFR5cGUgaXMgY29ycmVjdGx5IHJlZmxlY3RlZCIpOwogCi12YXIgc2hhZG93Um9v
dEZvckRpdiA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwordmFyIHNoYWRvd1Jvb3RG
b3JEaXYgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKIHZhciBzaGFkb3dSb290Rm9ySW5w
dXQgPSBpbnRlcm5hbHMuc2hhZG93Um9vdChpbnB1dCk7CiAKIHNob3VsZEJlKCciQXV0aG9yU2hh
ZG93Um9vdCInLCAnaW50ZXJuYWxzLnNoYWRvd1Jvb3RUeXBlKHNoYWRvd1Jvb3RGb3JEaXYpJyk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc3R5bGUtb2YtZGlzdHJp
YnV0ZWQtbm9kZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3N0eWxlLW9mLWRp
c3RyaWJ1dGVkLW5vZGUuaHRtbAppbmRleCBiNzc2YzdmYzZjMTI0N2M0NjU1ODg4M2MyMTMyYzkx
NDA2NGE0N2IzLi4wYTkzOWJiNzMyZTVkOWQzNTM3ZGNmNmE3OWE1MDRjNjMxMjI3YWJiIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc3R5bGUtb2YtZGlzdHJpYnV0ZWQt
bm9kZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zdHlsZS1vZi1kaXN0
cmlidXRlZC1ub2RlLmh0bWwKQEAgLTI4LDcgKzI4LDcgQEAgZGVzY3JpcHRpb24oIlRlc3RzIHRv
IGVuc3VyZSB0aGF0IHN0eWxlcyBvZiBkaXN0cmlidXRlZCBub2RlcyBhcmUgZGlmZmVyZW50IGlm
IHQKIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAK
LXZhciBzciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJob3N0Iikud2Via2l0Q3JlYXRlU2hh
ZG93Um9vdCgpOwordmFyIHNyID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImhvc3QiKSk7CiBzci5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSIjY2hp
bGQtYSI+PC9jb250ZW50PjxkaXYgc3R5bGU9ImNvbG9yOiBibHVlIj48Y29udGVudCBzZWxlY3Q9
IiNjaGlsZC1iIj48L2NvbnRlbnQ+PC9kaXY+JzsKIAogc2hvdWxkQmUoJ2dldENvbG9yUHJvcGVy
dHkoImNoaWxkLWEiKScsICcicmdiKDI1NSwgMCwgMCkiJyk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9zaGFkb3cvc3R5bGUtc2NvcGVkLW5vdC1lbmFibGVkLmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc3R5bGUtc2NvcGVkLW5vdC1lbmFibGVkLmh0bWwKaW5k
ZXggNzU2YmU5MDQ4Yzg3N2Q1YjNhZjZjYmM4YmQ5YmQ2YzVjOTQ2NTk2YS4uOTViYjkyN2E1ZTgz
OWZmODVkNzZiNGZhYjYwYjJiOGRiNGEwMjc2NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L3N0eWxlLXNjb3BlZC1ub3QtZW5hYmxlZC5odG1sCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NoYWRvdy9zdHlsZS1zY29wZWQtbm90LWVuYWJsZWQuaHRtbApAQCAtMTgs
NyArMTgsNyBAQCBpZiAod2luZG93LmludGVybmFscykKIDxzY3JpcHQ+CiBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IGVuc3VyZXMgY29udGVudCBlbGVtZW50IGZlYXR1cmUgY2FuIGJlIGRpc2FibGVk
Iik7CiB2YXIgaG9zdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJob3N0Iik7Ci12YXIgc2hh
ZG93ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7Cit2YXIgc2hhZG93ID0gbmV3IFdl
YktpdFNoYWRvd1Jvb3QoaG9zdCk7CiBzaGFkb3cuaW5uZXJIVE1MID0gIjxzdHlsZT4gc3BhbiB7
IGNvbG9yOiBibHVlOyB9IDwvc3R5bGU+PHNwYW4gaWQ9J3Nob3VsZEJlQXBwbGllZCc+U2hvdWxk
IGJlIGJsdWU8L3NwYW4+IjsKIHZhciBzaG91bGRCZUFwcGxpZWQgPSBzaGFkb3cuZ2V0RWxlbWVu
dEJ5SWQoInNob3VsZEJlQXBwbGllZCIpOwogdmFyIHNob3VsZE5vdEJlQXBwbGllZCA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzaG91bGROb3RCZUFwcGxpZWQiKTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zdHlsaW5nLXBzZXVkby1hdHRyaWJ1dGUuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zdHlsaW5nLXBzZXVkby1hdHRyaWJ1dGUuaHRt
bAppbmRleCA5YThkZTQwNzBjOTI5MTc1NTc4OGRhZDQ2NzVhODQxYjcyYmFmMTdiLi4yY2NkOGRj
OWY4ZWRlN2NkYjY0NzI5OGYwYjQ3MzhmMjc0Mjg3OTQyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvc3R5bGluZy1wc2V1ZG8tYXR0cmlidXRlLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3N0eWxpbmctcHNldWRvLWF0dHJpYnV0ZS5odG1sCkBA
IC04LDcgKzgsNyBAQAogPGRpdiBpZD0iaG9zdDEiPjwvZGl2PgogCiA8c2NyaXB0PgotdmFyIHNo
YWRvd1Jvb3QxID0gaG9zdDEud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwordmFyIHNoYWRvd1Jv
b3QxID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDEpOwogdmFyIGRpdiA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoJ2RpdicpOwogZGl2LnNldEF0dHJpYnV0ZSgncHNldWRvJywgJ3gtZm9vJyk7
CiBkaXYuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoJ2ZvbyBiYXInKSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc3VwcHJlc3MtbXV0YXRpb24t
ZXZlbnRzLWluLXNoYWRvdy1jaGFyYWN0ZXJkYXRhLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zaGFkb3cvc3VwcHJlc3MtbXV0YXRpb24tZXZlbnRzLWluLXNoYWRvdy1jaGFyYWN0ZXJkYXRh
Lmh0bWwKaW5kZXggZGNjMjE3MzZlMzM1M2RkZmEwMDg4NzEyOWQ0Mzk5NDgyMzg1MmUyMS4uYWEx
YjYyYzc0ODMzOTI1OTliODgxYTI4NmYxZGY4YTY1NWE2NGE5NyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9kb20vc2hhZG93L3N1cHByZXNzLW11dGF0aW9uLWV2ZW50cy1pbi1zaGFkb3ct
Y2hhcmFjdGVyZGF0YS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zdXBw
cmVzcy1tdXRhdGlvbi1ldmVudHMtaW4tc2hhZG93LWNoYXJhY3RlcmRhdGEuaHRtbApAQCAtOCw3
ICs4LDcgQEAKIGRlc2NyaXB0aW9uKCJFbnN1cmVzIHRoYXQgRE9NQ2hhcmFjdGVyRGF0YU1vZGlm
aWVkIGlzbid0IGZpcmVkIGluc2lkZSBzaGFkb3dzLiIpOwogdmFyIGZpcmVkID0gZmFsc2U7CiB2
YXIgaG9zdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJob3N0Iik7Ci12YXIgc2hhZG93ID0g
aG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7Cit2YXIgc2hhZG93ID0gbmV3IFdlYktpdFNo
YWRvd1Jvb3QoaG9zdCk7CiB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7
CiBkaXYuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ2hhcmFjdGVyRGF0YU1vZGlmaWVkIiwgZnVuY3Rp
b24oZXZ0KSB7CiAgICAgZmlyZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L3RyYW5zaXRpb24tb24tc2hhZG93LWhvc3Qtd2l0aC1kaXN0cmlidXRlZC1u
b2RlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvdHJhbnNpdGlvbi1vbi1zaGFk
b3ctaG9zdC13aXRoLWRpc3RyaWJ1dGVkLW5vZGUuaHRtbAppbmRleCA4ZTJiOTg4NGJiMDRmMGYw
NzI0Njc5Njg2MzUzMGM1OTdjYzJkNDVlLi4zOWVhN2I0MmI2ZDllMjUxNGEyNGFkZWNjZjMwMWNl
Y2ZmMDA1YTgzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvdHJhbnNp
dGlvbi1vbi1zaGFkb3ctaG9zdC13aXRoLWRpc3RyaWJ1dGVkLW5vZGUuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvdHJhbnNpdGlvbi1vbi1zaGFkb3ctaG9zdC13aXRoLWRp
c3RyaWJ1dGVkLW5vZGUuaHRtbApAQCAtMjgsNyArMjgsNyBAQCBjb25zdCBleHBlY3RlZFZhbHVl
cyA9IFsKICAgCiBmdW5jdGlvbiBzZXR1cFRlc3QoKSB7CiAgICAgdmFyIGJveCA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCdib3gnKTsKLSAgICB2YXIgc2hhZG93Um9vdCA9IGJveC53ZWJraXRD
cmVhdGVTaGFkb3dSb290KCk7CisgICAgdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93
Um9vdChib3gpOwogICAgIHNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gJzxjb250ZW50IHNlbGVjdD0i
KjpmaXJzdC1jaGlsZCI+PC9jb250ZW50Pic7CiAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsK
ICAgICAgICAgc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCJjb250ZW50Iikuc2V0QXR0cmlidXRl
KCJzZWxlY3QiLCAiKjpsYXN0LWNoaWxkIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvdXNlci1tb2RpZnktaW5oZXJpdGFuY2UuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy91c2VyLW1vZGlmeS1pbmhlcml0YW5jZS5odG1sCmluZGV4IGUwNzJkMWYx
MmIyNTgyNzQwYTU4N2RmZjhlOGUyYzFmOTM5M2FkZjAuLmM0OTYzNzM4NGYyMWU3NzMzMDZkNDg0
ZDhhYjdiMWNiMzczODViNmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy91c2VyLW1vZGlmeS1pbmhlcml0YW5jZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3NoYWRvdy91c2VyLW1vZGlmeS1pbmhlcml0YW5jZS5odG1sCkBAIC0zNCw3ICszNCw3IEBAIGZ1
bmN0aW9uIGdldFVzZXJNb2RpZnlQcm9wZXJ0eShpZCkgewogfQogCiBmdW5jdGlvbiBwcmVwYXJl
Tm9kZUluU2hhZG93Um9vdChob3N0LCBjb250ZW50RWRpdGFibGVBdHRyaWJ1dGVWYWx1ZUZvck5v
ZGUpIHsKLSAgICB2YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgp
OworICAgIHZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7CiAgICAg
dmFyIG5vZGVJblNoYWRvdyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAgIGlm
IChjb250ZW50RWRpdGFibGVBdHRyaWJ1dGVWYWx1ZUZvck5vZGUgIT0gbnVsbCkKICAgICAgICAg
bm9kZUluU2hhZG93LnNldEF0dHJpYnV0ZSgnY29udGVudGVkaXRhYmxlJywgY29udGVudEVkaXRh
YmxlQXR0cmlidXRlVmFsdWVGb3JOb2RlKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL3NoYWRvdy93aGVlbC1ldmVudC1pbi1zaGFkb3ctZG9tLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9zaGFkb3cvd2hlZWwtZXZlbnQtaW4tc2hhZG93LWRvbS5odG1sCmluZGV4IDg3YThl
NWRhYmFiNjM4M2RmYjhjYzc5MGYzODM0YzE0MDRmZTc1MTAuLjkwZDY5MTRmYjJmYjIwNjFmZTEz
Yzg5NDM3YmFmODIxNmM1NTUwNjggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3No
YWRvdy93aGVlbC1ldmVudC1pbi1zaGFkb3ctZG9tLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L3doZWVsLWV2ZW50LWluLXNoYWRvdy1kb20uaHRtbApAQCAtMjMsNyArMjMs
NyBAQCBmdW5jdGlvbiBjcmVhdGVCb3gobmFtZSkgewogICAgIHJldHVybiBkaXY7CiB9CiAKLXZh
ciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7Cit2YXIgc2hhZG93
Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwogdmFyIHNoYWRvd0RpdiA9IGNyZWF0
ZUJveCgnc2hhZG93Jyk7CiBzaGFkb3dSb290LmFwcGVuZENoaWxkKHNoYWRvd0Rpdik7CiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy93aGVlbC1ldmVudC1vbi1pbnB1
dC1pbi1zaGFkb3ctZG9tLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvd2hlZWwt
ZXZlbnQtb24taW5wdXQtaW4tc2hhZG93LWRvbS5odG1sCmluZGV4IDc4ODNlNWZhMzI3NTZmNzBi
MzBlZmNlMjViOWM3OTZmNmUyZjYyYzMuLmIwZTlmMmQzOWZmZmQ5MjhhMmU5MDE2YWY5ODljOTA5
NjA1YzBiN2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy93aGVlbC1l
dmVudC1vbi1pbnB1dC1pbi1zaGFkb3ctZG9tLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2hhZG93L3doZWVsLWV2ZW50LW9uLWlucHV0LWluLXNoYWRvdy1kb20uaHRtbApAQCAtMjMs
NyArMjMsNyBAQCBmdW5jdGlvbiBjcmVhdGVJbnB1dChuYW1lKSB7CiAgICAgcmV0dXJuIGRpdjsK
IH0KIAotdmFyIHNoYWRvd1Jvb3QgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKK3Zh
ciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7CiB2YXIgc2hhZG93RGl2
ID0gY3JlYXRlSW5wdXQoJ3NoYWRvdycpOwogc2hhZG93Um9vdC5hcHBlbmRDaGlsZChzaGFkb3dE
aXYpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9kZXRhY2hlZC1zaGFk
b3ctZnJhbWUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2RldGFjaGVkLXNoYWRvdy1m
cmFtZS5odG1sCmluZGV4IGNkNzQzYjBiMjM2ZDVmNDE4Y2Y2YzRiNDNlMjdlZjc0ZjM2ZjhhNTgu
LmQwM2RjNzhjZDY5MmEwNjgyMzJjODgxNjkzODk3NWVmYzg5NzhiYmYgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2Zhc3QvZnJhbWVzL2RldGFjaGVkLXNoYWRvdy1mcmFtZS5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZnJhbWVzL2RldGFjaGVkLXNoYWRvdy1mcmFtZS5odG1sCkBAIC0xMyw3
ICsxMyw3IEBAIGhlbHBlckRpdiA9IGNvbnRhaW5lci5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJkaXYiKSk7CiBoZWxwZXJGcmFtZSA9IGNvbnRhaW5lci5hcHBlbmRDaGlsZChk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKSk7CiAKIGhlbHBlckZyYW1lLmNvbnRlbnRX
aW5kb3cub251bmxvYWQgPSBmdW5jdGlvbigpIHsKLSAgICBzaGFkb3dSb290ID0gaGVscGVyRGl2
LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKKyAgICBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNo
YWRvd1Jvb3QoaGVscGVyRGl2KTsKICAgICBpbm5lckZyYW1lID0gc2hhZG93Um9vdC5hcHBlbmRD
aGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKSk7CiB9OwogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2pzL2dsb2JhbC1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZmFzdC9qcy9nbG9iYWwtY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4dAppbmRl
eCBmMWUwZjZlYTZjMDkxZTVlMzJiNGMwNTIwZjYyZDcxYTE3NjEwN2U3Li43YmEwN2JiMmY4MTA1
N2E0N2NkNzgwMjQyZDc4YjU5NThiYWM0NGQ0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2pzL2dsb2JhbC1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvanMvZ2xvYmFsLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQKQEAgLTMyOSw2ICszMjksNyBA
QCBQQVNTIFdlYktpdENTU1RyYW5zZm9ybVZhbHVlLnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgV2Vi
S2l0Q1NTVHJhbnNmb3JtVmFsdWVDb25zdAogRkFJTCBXZWJLaXRJbnRlbnQudG9TdHJpbmcoKSBz
aG91bGQgYmUgW29iamVjdCBXZWJLaXRJbnRlbnRDb25zdHJ1Y3Rvcl0uIFdhcyBbb2JqZWN0IElu
dGVudENvbnN0cnVjdG9yXS4KIEZBSUwgV2ViS2l0TXV0YXRpb25PYnNlcnZlci50b1N0cmluZygp
IHNob3VsZCBiZSBbb2JqZWN0IFdlYktpdE11dGF0aW9uT2JzZXJ2ZXJDb25zdHJ1Y3Rvcl0uIFdh
cyBbb2JqZWN0IE11dGF0aW9uT2JzZXJ2ZXJDb25zdHJ1Y3Rvcl0uCiBQQVNTIFdlYktpdFBvaW50
LnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgV2ViS2l0UG9pbnRDb25zdHJ1Y3Rvcl0nCitGQUlMIFdl
YktpdFNoYWRvd1Jvb3QudG9TdHJpbmcoKSBzaG91bGQgYmUgW29iamVjdCBXZWJLaXRTaGFkb3dS
b290Q29uc3RydWN0b3JdLiBXYXMgW29iamVjdCBTaGFkb3dSb290Q29uc3RydWN0b3JdLgogUEFT
UyBXZWJLaXRUcmFuc2l0aW9uRXZlbnQudG9TdHJpbmcoKSBpcyAnW29iamVjdCBXZWJLaXRUcmFu
c2l0aW9uRXZlbnRDb25zdHJ1Y3Rvcl0nCiBQQVNTIFdlYlNvY2tldC50b1N0cmluZygpIGlzICdb
b2JqZWN0IFdlYlNvY2tldENvbnN0cnVjdG9yXScKIFBBU1MgV2hlZWxFdmVudC50b1N0cmluZygp
IGlzICdbb2JqZWN0IFdoZWVsRXZlbnRDb25zdHJ1Y3Rvcl0nCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvc2hhZG93LXJvb3QuaHRtbCBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci9lbGVtZW50cy9zaGFkb3ctcm9vdC5odG1sCmluZGV4IDVhMTI5NDVhOWJhYWQzM2Mz
MTNkZTNkMjYxMGMyZDVkOTk3ZGE2MGYuLjAyMzZjNmQ5NjljYTFhNzc5OWNhMTJkN2UxMmQyM2Nm
ZTcxMTU4MjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9zaGFk
b3ctcm9vdC5odG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9zaGFkb3ct
cm9vdC5odG1sCkBAIC0zMiw5ICszMiw5IEBAIGZ1bmN0aW9uIHRlc3QoKQogPC9kaXY+CiAKIDxz
Y3JpcHQ+Ci10ZXN0MS53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7Ci10ZXN0Mi53ZWJraXRDcmVh
dGVTaGFkb3dSb290KCk7Ci10ZXN0My53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CituZXcgV2Vi
S2l0U2hhZG93Um9vdCh0ZXN0MSk7CituZXcgV2ViS2l0U2hhZG93Um9vdCh0ZXN0Mik7CituZXcg
V2ViS2l0U2hhZG93Um9vdCh0ZXN0Myk7CiA8L3NjcmlwdD4KIAogPC9ib2R5PgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL3VwZGF0ZS1zaGFkb3dkb20uaHRtbCBi
L0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy91cGRhdGUtc2hhZG93ZG9tLmh0bWwKaW5k
ZXggMjMzMWU4YzhiYTYyZmE5NzE0OWRlZjFlZjRkNjk5YTYxZGYyZDBlNS4uM2NiZDkxY2UyZWUw
MWUzOGQ4ZWVmODA3MWVmMWQ1NGExNTdkYTQ5NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL2VsZW1lbnRzL3VwZGF0ZS1zaGFkb3dkb20uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvZWxlbWVudHMvdXBkYXRlLXNoYWRvd2RvbS5odG1sCkBAIC0zOCw3ICszOCw3IEBA
IGZ1bmN0aW9uIHRlc3QoKQogPC9kaXY+CiAKIDxzY3JpcHQ+Ci12YXIgc2hhZG93Um9vdCA9IGhv
c3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwordmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0
U2hhZG93Um9vdChob3N0KTsKIHNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gIjxkaXY+PC9kaXY+IjsK
IDwvc2NyaXB0PgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvZmFzdC9q
cy9nbG9iYWwtY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2VmbC9mYXN0L2pzL2dsb2JhbC1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0CmluZGV4IDkzNjE1
YTZkNGE4YjNkZjUzMGIyY2NjMDFjZWE2YzZhNGI4YTBmZTkuLmExM2RlNjc5MGI4NDFkYjM5Njhi
MmFkYTYyMDNhZTEyZGIwMjQ2MzAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Vm
bC9mYXN0L2pzL2dsb2JhbC1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL2VmbC9mYXN0L2pzL2dsb2JhbC1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0
CkBAIC0zMzUsNiArMzM1LDcgQEAgUEFTUyBXZWJLaXRDU1NWaWV3cG9ydFJ1bGUudG9TdHJpbmco
KSBpcyAnW29iamVjdCBXZWJLaXRDU1NWaWV3cG9ydFJ1bGVDb25zdHJ1Y3QKIEZBSUwgV2ViS2l0
SW50ZW50LnRvU3RyaW5nKCkgc2hvdWxkIGJlIFtvYmplY3QgV2ViS2l0SW50ZW50Q29uc3RydWN0
b3JdLiBXYXMgW29iamVjdCBJbnRlbnRDb25zdHJ1Y3Rvcl0uCiBGQUlMIFdlYktpdE11dGF0aW9u
T2JzZXJ2ZXIudG9TdHJpbmcoKSBzaG91bGQgYmUgW29iamVjdCBXZWJLaXRNdXRhdGlvbk9ic2Vy
dmVyQ29uc3RydWN0b3JdLiBXYXMgW29iamVjdCBNdXRhdGlvbk9ic2VydmVyQ29uc3RydWN0b3Jd
LgogUEFTUyBXZWJLaXRQb2ludC50b1N0cmluZygpIGlzICdbb2JqZWN0IFdlYktpdFBvaW50Q29u
c3RydWN0b3JdJworRkFJTCBXZWJLaXRTaGFkb3dSb290LnRvU3RyaW5nKCkgc2hvdWxkIGJlIFtv
YmplY3QgV2ViS2l0U2hhZG93Um9vdENvbnN0cnVjdG9yXS4gV2FzIFtvYmplY3QgU2hhZG93Um9v
dENvbnN0cnVjdG9yXS4KIFBBU1MgV2ViS2l0VHJhbnNpdGlvbkV2ZW50LnRvU3RyaW5nKCkgaXMg
J1tvYmplY3QgV2ViS2l0VHJhbnNpdGlvbkV2ZW50Q29uc3RydWN0b3JdJwogUEFTUyBXZWJTb2Nr
ZXQudG9TdHJpbmcoKSBpcyAnW29iamVjdCBXZWJTb2NrZXRDb25zdHJ1Y3Rvcl0nCiBQQVNTIFdo
ZWVsRXZlbnQudG9TdHJpbmcoKSBpcyAnW29iamVjdCBXaGVlbEV2ZW50Q29uc3RydWN0b3JdJwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2Zhc3QvanMvZ2xvYmFsLWNvbnN0
cnVjdG9ycy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvZmFzdC9qcy9n
bG9iYWwtY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4dAppbmRleCA1NDYxNTY5ZDBkNTI4NzM4NTk0
ZTBmYmU3ZDk0ZDlmZTg3NWI3OGVlLi5hOTNjMGY0NjUxYmEzODJmMWM2NmNlYzg2ZGNlOTQxY2Qw
NmI2MjNjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvZmFzdC9qcy9nbG9i
YWwtY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9n
dGsvZmFzdC9qcy9nbG9iYWwtY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4dApAQCAtMzI4LDYgKzMy
OCw3IEBAIFBBU1MgV2ViS2l0Q1NTUmVnaW9uUnVsZS50b1N0cmluZygpIGlzICdbb2JqZWN0IFdl
YktpdENTU1JlZ2lvblJ1bGVDb25zdHJ1Y3Rvcl0nCiBQQVNTIFdlYktpdENTU1RyYW5zZm9ybVZh
bHVlLnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWVDb25zdHJ1
Y3Rvcl0nCiBGQUlMIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIudG9TdHJpbmcoKSBzaG91bGQgYmUg
W29iamVjdCBXZWJLaXRNdXRhdGlvbk9ic2VydmVyQ29uc3RydWN0b3JdLiBXYXMgW29iamVjdCBN
dXRhdGlvbk9ic2VydmVyQ29uc3RydWN0b3JdLgogUEFTUyBXZWJLaXRQb2ludC50b1N0cmluZygp
IGlzICdbb2JqZWN0IFdlYktpdFBvaW50Q29uc3RydWN0b3JdJworRkFJTCBXZWJLaXRTaGFkb3dS
b290LnRvU3RyaW5nKCkgc2hvdWxkIGJlIFtvYmplY3QgV2ViS2l0U2hhZG93Um9vdENvbnN0cnVj
dG9yXS4gV2FzIFtvYmplY3QgU2hhZG93Um9vdENvbnN0cnVjdG9yXS4KIFBBU1MgV2ViS2l0VHJh
bnNpdGlvbkV2ZW50LnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgV2ViS2l0VHJhbnNpdGlvbkV2ZW50
Q29uc3RydWN0b3JdJwogUEFTUyBXZWJTb2NrZXQudG9TdHJpbmcoKSBpcyAnW29iamVjdCBXZWJT
b2NrZXRDb25zdHJ1Y3Rvcl0nCiBQQVNTIFdoZWVsRXZlbnQudG9TdHJpbmcoKSBpcyAnW29iamVj
dCBXaGVlbEV2ZW50Q29uc3RydWN0b3JdJwo=
</data>
<flag name="commit-queue"
          id="195678"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
      

    </bug>

</bugzilla>