<?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>223891</bug_id>
          
          <creation_ts>2021-03-29 11:56:38 -0700</creation_ts>
          <short_desc>[LayoutTests] Convert http/tests/cookies convert PHP to Python</short_desc>
          <delta_ts>2021-04-09 08:02:33 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=220749</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Gambrell">cgambrell</reporter>
          <assigned_to name="Chris Gambrell">cgambrell</assigned_to>
          <cc>ap</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>hi</cc>
    
    <cc>jbedard</cc>
    
    <cc>ryanhaddad</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1744816</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Gambrell">cgambrell</who>
    <bug_when>2021-03-29 11:56:38 -0700</bug_when>
    <thetext>Replacing PHP with equivalent Python CGI scripts</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1744817</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-03-29 11:57:40 -0700</bug_when>
    <thetext>&lt;rdar://problem/75965634&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1744828</commentid>
    <comment_count>2</comment_count>
      <attachid>424563</attachid>
    <who name="Chris Gambrell">cgambrell</who>
    <bug_when>2021-03-29 12:19:37 -0700</bug_when>
    <thetext>Created attachment 424563
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1744895</commentid>
    <comment_count>3</comment_count>
      <attachid>424563</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-03-29 13:52:52 -0700</bug_when>
    <thetext>Comment on attachment 424563
Patch

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

&gt; LayoutTests/http/tests/cookies/resources/cookie-utility.py:18
&gt; +    expires= datetime.utcnow() - timedelta(seconds=86400)

Nit: Need space before =

&gt; LayoutTests/http/tests/cookies/resources/cookie-utility.py:29
&gt; +    sys.exit(0)

With the &apos;else&apos; block, we don&apos;t need sys.exit(0)

&gt; LayoutTests/http/tests/cookies/resources/cookie-utility.py:30
&gt; +elif query_function == &apos;deleteCookies&apos;:

For readability, I would put empty lines before each elif.

&gt; LayoutTests/http/tests/cookies/resources/set-cookie-and-serve.py:18
&gt; +with open(os.path.join(&apos;/&apos;.join(__file__.split(&apos;/&apos;)[0:-1]), destination), &apos;r&apos;) as file:

Instead of using &quot;.split&quot;, you should use &quot;os.path.dirname&quot;.

&gt; LayoutTests/http/tests/cookies/resources/set-cookie-on-redirect.py:17
&gt; +elif step == 2:

Nit: Put empty lines before the elif for readability

&gt; LayoutTests/http/tests/cookies/resources/set-cookie-on-redirect.py:18
&gt; +    expires= datetime.utcnow() + timedelta(seconds=86400)

Nit: Put space before =

&gt; LayoutTests/http/tests/cookies/same-site/resources/fetch-after-top-level-cross-origin-redirect.py:7
&gt; +cookies = {}

Not required, although I see us repeating this 7 line code a lot. Do you think if may be worth it to standardize this in LayoutTests/http/tests/resources/portabilityLayer.py?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1745230</commentid>
    <comment_count>4</comment_count>
      <attachid>424673</attachid>
    <who name="Chris Gambrell">cgambrell</who>
    <bug_when>2021-03-30 12:11:34 -0700</bug_when>
    <thetext>Created attachment 424673
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1745261</commentid>
    <comment_count>5</comment_count>
      <attachid>424679</attachid>
    <who name="Chris Gambrell">cgambrell</who>
    <bug_when>2021-03-30 13:04:25 -0700</bug_when>
    <thetext>Created attachment 424679
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1745752</commentid>
    <comment_count>6</comment_count>
      <attachid>424679</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-03-31 13:21:27 -0700</bug_when>
    <thetext>Comment on attachment 424679
Patch

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

&gt; LayoutTests/http/tests/cookies/resources/cookie-utility.py:36
&gt; +    expires= datetime.utcnow() + timedelta(seconds=86400)

Might need to search through the whole patch for cases where you don&apos;t have a space in front of the = in `expires=`</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1745849</commentid>
    <comment_count>7</comment_count>
    <who name="Chris Gambrell">cgambrell</who>
    <bug_when>2021-03-31 16:16:08 -0700</bug_when>
    <thetext>Committed r275315 (235996@main): &lt;https://commits.webkit.org/235996@main&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1745851</commentid>
    <comment_count>8</comment_count>
    <who name="Chris Gambrell">cgambrell</who>
    <bug_when>2021-03-31 16:16:40 -0700</bug_when>
    <thetext>(In reply to Jonathan Bedard from comment #6)
&gt; Comment on attachment 424679 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=424679&amp;action=review
&gt; 
&gt; &gt; LayoutTests/http/tests/cookies/resources/cookie-utility.py:36
&gt; &gt; +    expires= datetime.utcnow() + timedelta(seconds=86400)
&gt; 
&gt; Might need to search through the whole patch for cases where you don&apos;t have
&gt; a space in front of the = in `expires=`

Quite a few instances- fixed and committed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1748412</commentid>
    <comment_count>9</comment_count>
    <who name="Chris Gambrell">cgambrell</who>
    <bug_when>2021-04-08 12:07:42 -0700</bug_when>
    <thetext>Reopening for the final PHP files that need to be converted</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1748420</commentid>
    <comment_count>10</comment_count>
      <attachid>425529</attachid>
    <who name="Chris Gambrell">cgambrell</who>
    <bug_when>2021-04-08 12:20:21 -0700</bug_when>
    <thetext>Created attachment 425529
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1748450</commentid>
    <comment_count>11</comment_count>
      <attachid>425529</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-04-08 13:20:31 -0700</bug_when>
    <thetext>Comment on attachment 425529
Patch

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

&gt; LayoutTests/http/tests/cookies/multiple-redirect-and-set-cookie.py:52
&gt; +&lt;/html&gt;&apos;&apos;&apos;.format(redirect_url(1)))

Style checker might complain, but we need to organize this string to retain the indent, this code is hard to read without indenting the function contents. The multi-line sys.stdout that you do for headers is probably the right technique.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1748527</commentid>
    <comment_count>12</comment_count>
      <attachid>425554</attachid>
    <who name="Chris Gambrell">cgambrell</who>
    <bug_when>2021-04-08 15:56:11 -0700</bug_when>
    <thetext>Created attachment 425554
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1748726</commentid>
    <comment_count>13</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-04-09 08:02:32 -0700</bug_when>
    <thetext>Committed r275762 (236340@main): &lt;https://commits.webkit.org/236340@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 425554.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424563</attachid>
            <date>2021-03-29 12:19:37 -0700</date>
            <delta_ts>2021-03-30 12:11:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223891-20210329151935.patch</filename>
            <type>text/plain</type>
            <size>117340</size>
            <attacher name="Chris Gambrell">cgambrell</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDI3NTE2NikKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDEwNSBAQAorMjAyMS0wMy0yOSAgQ2hyaXMgR2FtYnJlbGwg
IDxjZ2FtYnJlbGxAYXBwbGUuY29tPgorCisgICAgICAgIFtMYXlvdXRUZXN0c10gQ29udmVydCBo
dHRwL3Rlc3RzL2Nvb2tpZXMgY29udmVydCBQSFAgdG8gUHl0aG9uCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjM4OTEKKyAgICAgICAgPHJkYXI6Ly9w
cm9ibGVtLzc1OTY1NjM0PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogaHR0cC90ZXN0cy9jb250ZW50ZXh0ZW5zaW9ucy9ibG9jay1jb29raWVzLWJh
c2ljLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9jb250ZW50ZXh0ZW5zaW9ucy9ibG9jay1j
b29raWVzLWJhc2ljLmh0bWwuanNvbjoKKyAgICAgICAgKiBodHRwL3Rlc3RzL2NvbnRlbnRleHRl
bnNpb25zL2Jsb2NrLWNvb2tpZXMtaW4tY3NwLXJlcG9ydC5waHA6CisgICAgICAgICogaHR0cC90
ZXN0cy9jb250ZW50ZXh0ZW5zaW9ucy9ibG9jay1jb29raWVzLWluLWltYWdlLWxvYWQtaW4tb251
bmxvYWQuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL2NvbnRlbnRleHRlbnNpb25zL2Jsb2Nr
LWNvb2tpZXMtaW4tcGluZy5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvY29udGVudGV4dGVu
c2lvbnMvYmxvY2stY29va2llcy1zZW5kLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9jb29r
aWVzL2Nvb2tpZS13aXRoLW11bHRpcGxlLWxldmVsLXBhdGguaHRtbDoKKyAgICAgICAgKiBodHRw
L3Rlc3RzL2Nvb2tpZXMvZG9jdW1lbnQtY29va2llLWFmdGVyLXNob3dNb2RhbERpYWxvZy5odG1s
OgorICAgICAgICAqIGh0dHAvdGVzdHMvY29va2llcy9kb2N1bWVudC1jb29raWUtZHVyaW5nLWlm
cmFtZS1wYXJzaW5nLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9jb29raWVzL29ubHktYWNj
ZXB0LWZpcnN0LXBhcnR5LWNvb2tpZXMuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL2Nvb2tp
ZXMvcmVzb3VyY2VzL2Nvb2tpZS11dGlsaXRpZXMuanM6CisgICAgICAgICogaHR0cC90ZXN0cy9j
b29raWVzL3Jlc291cmNlcy9jb29raWUtdXRpbGl0eS5waHA6IFJlbW92ZWQuCisgICAgICAgICog
aHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9jb29raWUtdXRpbGl0eS5weTogQWRkZWQuCisg
ICAgICAgIChkZWxldGVfY29va2llKToKKyAgICAgICAgKiBodHRwL3Rlc3RzL2Nvb2tpZXMvcmVz
b3VyY2VzL2Nvb2tpZS13aXRoLW11bHRpcGxlLWxldmVsLXBhdGgucGhwOiBSZW1vdmVkLgorICAg
ICAgICAqIGh0dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMvY29va2llLXdpdGgtbXVsdGlwbGUt
bGV2ZWwtcGF0aC5weTogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jb29raWVzL3Jlc291
cmNlcy9lY2hvLWNvb2tpZXMucGhwOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY29v
a2llcy9yZXNvdXJjZXMvZWNoby1jb29raWVzLnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rl
c3RzL2Nvb2tpZXMvcmVzb3VyY2VzL2VjaG8taHR0cC1hbmQtZG9tLWNvb2tpZXMtYW5kLW5vdGlm
eS1kb25lLnBocDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3Vy
Y2VzL2VjaG8taHR0cC1hbmQtZG9tLWNvb2tpZXMtYW5kLW5vdGlmeS1kb25lLnB5OiBBZGRlZC4K
KyAgICAgICAgKiBodHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL2VjaG8tanNvbi5waHA6IFJl
bW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9lY2hvLWpzb24u
cHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMvcG9zdC1j
b29raWVzLW9ubWVzc2FnZS5waHA6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jb29r
aWVzL3Jlc291cmNlcy9wb3N0LWNvb2tpZXMtb25tZXNzYWdlLnB5OiBBZGRlZC4KKyAgICAgICAg
KiBodHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL3Bvc3QtY29va2llcy10by1vcGVuZXIucGhw
OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMvcG9zdC1j
b29raWVzLXRvLW9wZW5lci5weTogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jb29raWVz
L3Jlc291cmNlcy9yZXNldENvb2tpZXMuanM6CisgICAgICAgIChyZXNldENvb2tpZXMpOgorICAg
ICAgICAqIGh0dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMvc2V0LWNvb2tpZS1hbmQtcmVkaXJl
Y3QtYmFjay5waHA6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jb29raWVzL3Jlc291
cmNlcy9zZXQtY29va2llLWFuZC1yZWRpcmVjdC1iYWNrLnB5OiBBZGRlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL3NldC1jb29raWUtYW5kLXNlcnZlLnBocDogUmVt
b3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL3NldC1jb29raWUt
YW5kLXNlcnZlLnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3Vy
Y2VzL3NldC1jb29raWUtb24tcmVkaXJlY3QucGhwOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAv
dGVzdHMvY29va2llcy9yZXNvdXJjZXMvc2V0LWNvb2tpZS1vbi1yZWRpcmVjdC5weTogQWRkZWQu
CisgICAgICAgICogaHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9zZXQtaHR0cC1vbmx5LWNv
b2tpZS5waHA6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNl
cy9zZXQtaHR0cC1vbmx5LWNvb2tpZS5weTogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9j
b29raWVzL3Jlc291cmNlcy9zZXRBcnJheWNvb2tpZXMtcmVzdWx0LnBocDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBodHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL3NldEFycmF5Y29va2llcy1yZXN1
bHQucHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMvc2V0
QXJyYXljb29raWVzLnBocDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2Nvb2tpZXMv
cmVzb3VyY2VzL3NldEFycmF5Y29va2llcy5weTogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0
cy9jb29raWVzL3Jlc291cmNlcy9zZXRVdGY4Q29va2llcy1yZXN1bHQucGhwOiBSZW1vdmVkLgor
ICAgICAgICAqIGh0dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMvc2V0VXRmOENvb2tpZXMucGhw
OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMvdGhpcmQt
cGFydHktY29va2llLXJlbGF4aW5nLWlmcmFtZS5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMv
Y29va2llcy9zYW1lLXNpdGUvZmV0Y2gtYWZ0ZXItbmF2aWdhdGluZy1pZnJhbWUtaW4tY3Jvc3Mt
b3JpZ2luLXBhZ2UuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRl
L2ZldGNoLWFmdGVyLXRvcC1sZXZlbC1jcm9zcy1vcmlnaW4tcmVkaXJlY3QuaHRtbDoKKyAgICAg
ICAgKiBodHRwL3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRlL2ZldGNoLWFmdGVyLXRvcC1sZXZlbC1u
YXZpZ2F0aW9uLWZyb20tY3Jvc3Mtb3JpZ2luLXBhZ2UuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rl
c3RzL2Nvb2tpZXMvc2FtZS1zaXRlL2ZldGNoLWFmdGVyLXRvcC1sZXZlbC1uYXZpZ2F0aW9uLWlu
aXRpYXRlZC1mcm9tLWlmcmFtZS1pbi1jcm9zcy1vcmlnaW4tcGFnZS5odG1sOgorICAgICAgICAq
IGh0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvZmV0Y2gtYWZ0ZXItdG9wLWxldmVsLXNhbWUt
b3JpZ2luLXJlZGlyZWN0Lmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9jb29raWVzL3NhbWUt
c2l0ZS9mZXRjaC1pbi1zYW1lLW9yaWdpbi1zZXJ2aWNlLXdvcmtlci5odG1sOgorICAgICAgICAq
IGh0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvbGF4LXNhbWVzaXRlLWNvb2tpZS1hZnRlci1j
cm9zcy1zaXRlLWhpc3RvcnktbG9hZC5waHA6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0
cy9jb29raWVzL3NhbWUtc2l0ZS9sYXgtc2FtZXNpdGUtY29va2llLWFmdGVyLWNyb3NzLXNpdGUt
aGlzdG9yeS1sb2FkLnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2Nvb2tpZXMvc2Ft
ZS1zaXRlL3BvcHVwLWNyb3NzLXNpdGUtcG9zdC5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMv
Y29va2llcy9zYW1lLXNpdGUvcG9wdXAtY3Jvc3Mtc2l0ZS5odG1sOgorICAgICAgICAqIGh0dHAv
dGVzdHMvY29va2llcy9zYW1lLXNpdGUvcG9wdXAtc2FtZS1zaXRlLXBvc3QuaHRtbDoKKyAgICAg
ICAgKiBodHRwL3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRlL3BvcHVwLXNhbWUtc2l0ZS12aWEtY3Jv
c3Mtc2l0ZS1yZWRpcmVjdC5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvY29va2llcy9zYW1l
LXNpdGUvcG9wdXAtc2FtZS1zaXRlLXZpYS1zYW1lLXNpdGUtcmVkaXJlY3QuaHRtbDoKKyAgICAg
ICAgKiBodHRwL3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRlL3BvcHVwLXNhbWUtc2l0ZS5odG1sOgor
ICAgICAgICAqIGh0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvcmVzb3VyY2VzL2NsaWNrLWh5
cGVybGluay5waHA6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jb29raWVzL3NhbWUt
c2l0ZS9yZXNvdXJjZXMvY2xpY2staHlwZXJsaW5rLnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRw
L3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRlL3Jlc291cmNlcy9mZXRjaC1hZnRlci1uYXZpZ2F0aW5n
LWlmcmFtZS1pbi1jcm9zcy1vcmlnaW4tcGFnZS5waHA6IFJlbW92ZWQuCisgICAgICAgICogaHR0
cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9yZXNvdXJjZXMvZmV0Y2gtYWZ0ZXItbmF2aWdhdGlu
Zy1pZnJhbWUtaW4tY3Jvc3Mtb3JpZ2luLXBhZ2UucHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAv
dGVzdHMvY29va2llcy9zYW1lLXNpdGUvcmVzb3VyY2VzL2ZldGNoLWFmdGVyLXRvcC1sZXZlbC1j
cm9zcy1vcmlnaW4tcmVkaXJlY3QucGhwOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMv
Y29va2llcy9zYW1lLXNpdGUvcmVzb3VyY2VzL2ZldGNoLWFmdGVyLXRvcC1sZXZlbC1jcm9zcy1v
cmlnaW4tcmVkaXJlY3QucHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY29va2llcy9z
YW1lLXNpdGUvcmVzb3VyY2VzL2ZldGNoLWFmdGVyLXRvcC1sZXZlbC1uYXZpZ2F0aW9uLWZyb20t
Y3Jvc3Mtb3JpZ2luLXBhZ2UucGhwOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY29v
a2llcy9zYW1lLXNpdGUvcmVzb3VyY2VzL2ZldGNoLWFmdGVyLXRvcC1sZXZlbC1uYXZpZ2F0aW9u
LWZyb20tY3Jvc3Mtb3JpZ2luLXBhZ2UucHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMv
Y29va2llcy9zYW1lLXNpdGUvcmVzb3VyY2VzL2ZldGNoLWFmdGVyLXRvcC1sZXZlbC1uYXZpZ2F0
aW9uLWluaXRpYXRlZC1mcm9tLWlmcmFtZS1pbi1jcm9zcy1vcmlnaW4tcGFnZS5waHA6IFJlbW92
ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9yZXNvdXJjZXMvZmV0
Y2gtYWZ0ZXItdG9wLWxldmVsLW5hdmlnYXRpb24taW5pdGlhdGVkLWZyb20taWZyYW1lLWluLWNy
b3NzLW9yaWdpbi1wYWdlLnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2Nvb2tpZXMv
c2FtZS1zaXRlL3Jlc291cmNlcy9mZXRjaC1hZnRlci10b3AtbGV2ZWwtc2FtZS1vcmlnaW4tcmVk
aXJlY3QucGhwOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY29va2llcy9zYW1lLXNp
dGUvcmVzb3VyY2VzL2ZldGNoLWFmdGVyLXRvcC1sZXZlbC1zYW1lLW9yaWdpbi1yZWRpcmVjdC5w
eTogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9yZXNvdXJj
ZXMvZmV0Y2gtaW4tc2FtZS1vcmlnaW4tc2VydmljZS13b3JrZXIucGhwOiBSZW1vdmVkLgorICAg
ICAgICAqIGh0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvcmVzb3VyY2VzL2ZldGNoLWluLXNh
bWUtb3JpZ2luLXNlcnZpY2Utd29ya2VyLnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L2Nvb2tpZXMvc2FtZS1zaXRlL3Jlc291cmNlcy9wb3N0LWZyb20tcG9wdXAuaHRtbDoKKyAgICAg
ICAgKiBodHRwL3Rlc3RzL2Nvb2tpZXMvc2V0LWNvb2tpZS1vbi1yZWRpcmVjdC5odG1sOgorICAg
ICAgICAqIGh0dHAvdGVzdHMvY29va2llcy90aGlyZC1wYXJ0eS1jb29raWUtcmVsYXhpbmctZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvdGVzdHMvcGx1Z2lucy9yZXNvdXJjZXMvdGhpcmQt
cGFydHktY29va2llLWFjY2VwdC1wb2xpY3ktaWZyYW1lLmh0bWw6CisgICAgICAgICogaHR0cC90
ZXN0cy9wcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9zZW5kLWF0dHJpYnV0aW9uLWNvbnZlcnNpb24t
cmVxdWVzdC5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9kZWxldGUtc2NyaXB0LWFjY2Vzc2libGUtY29va2llcy5odG1sOgorICAgICAgICAqIGh0dHAv
dGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9leGVtcHREb21haW5zL2FwcC1ib3VuZC1kb21h
aW5zLWV4ZW1wdC1mcm9tLXdlYnNpdGUtZGF0YS1kZWxldGlvbi1kYXRhYmFzZS5odG1sOgorICAg
ICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9leGVtcHREb21haW5zL2Fw
cC1ib3VuZC1kb21haW5zLWV4ZW1wdC1mcm9tLXdlYnNpdGUtZGF0YS1kZWxldGlvbi5odG1sOgor
ICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9vcGVyYXRpbmctZGF0
ZXMtYWxsLWJ1dC1jb29raWVzLW5vdC1yZW1vdmVkLXdpdGgtdXNlci1pbnRlcmFjdGlvbi02LWRh
eXMtYWdvLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L29wZXJhdGluZy1kYXRlcy1hbGwtYnV0LWNvb2tpZXMtcmVtb3ZlZC13aXRoLXVzZXItaW50ZXJh
Y3Rpb24tNy1kYXlzLWFnby5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9vcGVyYXRpbmctZGF0ZXMtYWxsLXdlYnNpdGUtZGF0YS1yZW1vdmVkLmh0bWw6
CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3Jlc291cmNlcy9z
ZXQtY29va2llLW9uLXJlZGlyZWN0LnB5OgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9zdGFuZGFsb25lLXdlYi1hcHBsaWNhdGlvbi1leGVtcHQtZnJvbS13ZWJz
aXRlLWRhdGEtZGVsZXRpb24uaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3Mvd2Vic2l0ZS1kYXRhLXJlbW92YWwtZm9yLXNpdGUtbmF2aWdhdGVkLXRvLXdp
dGgtbGluay1kZWNvcmF0aW9uLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL3dlYnNpdGUtZGF0YS1yZW1vdmFsLWZvci1zaXRlLXdpdGgtdXNlci1pbnRl
cmFjdGlvbi5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy93ZWJzaXRlLWRhdGEtcmVtb3ZhbC1mb3Itc2l0ZS13aXRob3V0LXVzZXItaW50ZXJhY3Rpb24u
aHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2Nvb2tpZXMvdGhpcmQtcGFydHkt
Y29va2llLWJsb2NraW5nLXJlZGlyZWN0Lmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy93ZWJz
b2NrZXQvdGVzdHMvaHliaS93ZWJzb2NrZXQtYWxsb3dlZC1zZXR0aW5nLWNvb2tpZS1hcy10aGly
ZC1wYXJ0eS5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkv
d2Vic29ja2V0LWJsb2NrZWQtZnJvbS1zZXR0aW5nLWNvb2tpZS1hcy10aGlyZC1wYXJ0eS5odG1s
OgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvd2Vic29ja2V0LWNv
b2tpZS1vdmVyd3JpdGUtYmVoYXZpb3IuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3htbGh0
dHByZXF1ZXN0L2FjY2Vzcy1jb250cm9sLXByZWZsaWdodC1jcmVkZW50aWFsLWFzeW5jLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L2FjY2Vzcy1jb250
cm9sLXByZWZsaWdodC1jcmVkZW50aWFsLXN5bmMtZXhwZWN0ZWQudHh0OgorCiAyMDIxLTAzLTI5
ICBGcsOpZMOpcmljIFdhbmcgIDxmd2FuZ0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFJlbGVhc2Ug
YXNzZXJ0IGluIFZlY3Rvcjo6YXQgaW4gUmVuZGVyTGF5b3V0U3RhdGU6OmVzdGFibGlzaExpbmVH
cmlkCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NvbnRlbnRleHRlbnNpb25zL2Jsb2Nr
LWNvb2tpZXMtYmFzaWMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2NvbnRlbnRleHRlbnNpb25zL2Jsb2NrLWNvb2tpZXMtYmFzaWMuaHRtbAkocmV2aXNpb24gMjc1
MTU5KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb250ZW50ZXh0ZW5zaW9ucy9ibG9jay1j
b29raWVzLWJhc2ljLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTE1LDQgKzE1LDQgQEAgZnVuY3Rp
b24gbG9hZGVkKCkKIAogVGhpcyBpbWFnZSByZXNvdXJjZSBzZXRzIGEgY29va2llLiBCdXQgYmFz
ZWQgb24gdGhlIGNvbnRlbnQgcnVsZXMsIHNldHRpbmcgY29va2llIHNob3VsZCBiZSBibG9ja2Vk
Ljxicj4KIDxkaXYgaWQ9ImxvZ2dlciI+PC9kaXY+PGJyPgotPGltZyBzcmM9Imh0dHA6Ly8xMjcu
MC4wLjE6ODAwMC9jb29raWVzL3Jlc291cmNlcy9jb29raWUtdXRpbGl0eS5waHA/cXVlcnlmdW5j
dGlvbj1zZXRGb29Db29raWUiIG9uZXJyb3I9ImxvYWRlZCgpIj4KKzxpbWcgc3JjPSJodHRwOi8v
MTI3LjAuMC4xOjgwMDAvY29va2llcy9yZXNvdXJjZXMvY29va2llLXV0aWxpdHkucHk/cXVlcnlm
dW5jdGlvbj1zZXRGb29Db29raWUiIG9uZXJyb3I9ImxvYWRlZCgpIj4KSW5kZXg6IExheW91dFRl
c3RzL2h0dHAvdGVzdHMvY29udGVudGV4dGVuc2lvbnMvYmxvY2stY29va2llcy1iYXNpYy5odG1s
Lmpzb24KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb250ZW50ZXh0ZW5z
aW9ucy9ibG9jay1jb29raWVzLWJhc2ljLmh0bWwuanNvbgkocmV2aXNpb24gMjc1MTU5KQorKysg
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb250ZW50ZXh0ZW5zaW9ucy9ibG9jay1jb29raWVzLWJh
c2ljLmh0bWwuanNvbgkod29ya2luZyBjb3B5KQpAQCAtNCw3ICs0LDcgQEAKICAgICAgICAgICAg
ICJ0eXBlIjogImJsb2NrLWNvb2tpZXMiCiAgICAgICAgIH0sCiAgICAgICAgICJ0cmlnZ2VyIjog
ewotICAgICAgICAgICAgInVybC1maWx0ZXIiOiAiaHR0cDovLzEyNy4wLjAuMTo4MDAwL2Nvb2tp
ZXMvcmVzb3VyY2VzL2Nvb2tpZS11dGlsaXR5LnBocCIKKyAgICAgICAgICAgICJ1cmwtZmlsdGVy
IjogImh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9jb29raWVzL3Jlc291cmNlcy9jb29raWUtdXRpbGl0
eS5weSIKICAgICAgICAgfQogICAgIH0KIF0KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCklu
ZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NvbnRlbnRleHRlbnNpb25zL2Jsb2NrLWNvb2tp
ZXMtaW4tY3NwLXJlcG9ydC5waHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9jb250ZW50ZXh0ZW5zaW9ucy9ibG9jay1jb29raWVzLWluLWNzcC1yZXBvcnQucGhwCShyZXZp
c2lvbiAyNzUxNTkpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NvbnRlbnRleHRlbnNpb25z
L2Jsb2NrLWNvb2tpZXMtaW4tY3NwLXJlcG9ydC5waHAJKHdvcmtpbmcgY29weSkKQEAgLTM0LDcg
KzM0LDcgQEAgZnVuY3Rpb24gc2hvd1BpbmdSZXN1bHQoKSB7CiAKIDxib2R5PgogVGhpcyB0ZXN0
IGNyZWF0ZXMgYSBDU1AgdmlvbGF0aW9uIHJlcG9ydCwgYnV0IHRoZSByZXBvcnQgVVJMIG1hdGNo
ZXMgYSAnYmxvY2stY29va2llJyBydWxlLgotPGltZyBzcmM9Ii9jb29raWVzL3Jlc291cmNlcy9j
b29raWUtdXRpbGl0eS5waHA/cXVlcnlmdW5jdGlvbj1zZXRGb29Db29raWUiCis8aW1nIHNyYz0i
L2Nvb2tpZXMvcmVzb3VyY2VzL2Nvb2tpZS11dGlsaXR5LnB5P3F1ZXJ5ZnVuY3Rpb249c2V0Rm9v
Q29va2llIgogICAgIG9uZXJyb3I9ImRlbGV0ZVBpbmcoKTsiPgogPGRpdiBpZD0iZGVsZXRlX3Bp
bmdfY29udGFpbmVyIj48L2Rpdj4KIDxpZnJhbWUgaWQ9InJlc3VsdF9mcmFtZSIgbmFtZT0icmVz
dWx0X2ZyYW1lIj48IS0tIFdpbGwgY29udGFpbiBwaW5nIGRhdGEgcmVjZWl2ZWQgYnkgc2VydmVy
IC0tPjwvaWZyYW1lPgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb250ZW50ZXh0ZW5z
aW9ucy9ibG9jay1jb29raWVzLWluLWltYWdlLWxvYWQtaW4tb251bmxvYWQuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NvbnRlbnRleHRlbnNpb25zL2Jsb2NrLWNv
b2tpZXMtaW4taW1hZ2UtbG9hZC1pbi1vbnVubG9hZC5odG1sCShyZXZpc2lvbiAyNzUxNTkpCisr
KyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NvbnRlbnRleHRlbnNpb25zL2Jsb2NrLWNvb2tpZXMt
aW4taW1hZ2UtbG9hZC1pbi1vbnVubG9hZC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw3ICsy
OCw3IEBAIGZ1bmN0aW9uIGxvYWRJbWFnZSgpIHsKIAogPGJvZHkgb251bmxvYWQ9ImxvYWRJbWFn
ZSgpOyI+CiBUaGlzIHRlc3Qgc2V0cyBhIGNvb2tpZSwgdGhlbiBsb2FkcyBhbiBpbWFnZSBpbiBv
bnVubG9hZCwgd2hlcmUgdGhlIGltYWdlIFVSTCBtYXRjaGVzIGEgJ2Jsb2NrLWNvb2tpZScgcnVs
ZS4KLTxpbWcgc3JjPSJodHRwOi8vMTI3LjAuMC4xOjgwMDAvY29va2llcy9yZXNvdXJjZXMvY29v
a2llLXV0aWxpdHkucGhwP3F1ZXJ5ZnVuY3Rpb249c2V0Rm9vQ29va2llIgorPGltZyBzcmM9Imh0
dHA6Ly8xMjcuMC4wLjE6ODAwMC9jb29raWVzL3Jlc291cmNlcy9jb29raWUtdXRpbGl0eS5weT9x
dWVyeWZ1bmN0aW9uPXNldEZvb0Nvb2tpZSIKICAgICBvbmVycm9yPSJkZWxldGVQaW5nKCk7Ij4K
IDxkaXYgaWQ9ImRlbGV0ZV9waW5nX2NvbnRhaW5lciI+PC9kaXY+CiA8L2JvZHk+CkluZGV4OiBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NvbnRlbnRleHRlbnNpb25zL2Jsb2NrLWNvb2tpZXMtaW4t
cGluZy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29udGVudGV4
dGVuc2lvbnMvYmxvY2stY29va2llcy1pbi1waW5nLmh0bWwJKHJldmlzaW9uIDI3NTE1OSkKKysr
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29udGVudGV4dGVuc2lvbnMvYmxvY2stY29va2llcy1p
bi1waW5nLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTQ3LDcgKzQ3LDcgQEAgZnVuY3Rpb24gc2hv
d1BpbmdSZXN1bHQoKSB7CiAKIDxib2R5PgogVGhpcyB0ZXN0IHNldHMgYSBjb29raWUsIHRoZW4g
Zm9sbG93cyBhIGxpbmsgd2l0aCBhIHBpbmcgYXR0cmlidXRlIHdoZXJlIHRoZSBwaW5nIFVSTCBt
YXRjaGVzIGEgJ2Jsb2NrLWNvb2tpZScgcnVsZS4KLTxpbWcgc3JjPSJodHRwOi8vbG9jYWxob3N0
OjgwMDAvY29va2llcy9yZXNvdXJjZXMvY29va2llLXV0aWxpdHkucGhwP3F1ZXJ5ZnVuY3Rpb249
c2V0Rm9vQ29va2llIgorPGltZyBzcmM9Imh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9jb29raWVzL3Jl
c291cmNlcy9jb29raWUtdXRpbGl0eS5weT9xdWVyeWZ1bmN0aW9uPXNldEZvb0Nvb2tpZSIKICAg
ICBvbmVycm9yPSJsb2FkTGlua1dpdGhQaW5nKCk7Ij4KIDxpZnJhbWUgaWQ9ImxpbmtfZnJhbWUi
IG5hbWU9ImxpbmtfZnJhbWUiPjwhLS0gV2lsbCBjb250YWluIGxpbmsgd2l0aCBwaW5nIC0tPjwv
aWZyYW1lPgogPGlmcmFtZSBpZD0icmVzdWx0X2ZyYW1lIiBuYW1lPSJyZXN1bHRfZnJhbWUiPjwh
LS0gV2lsbCBjb250YWluIHBpbmcgZGF0YSByZWNlaXZlZCBieSBzZXJ2ZXIgLS0+PC9pZnJhbWU+
CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NvbnRlbnRleHRlbnNpb25zL2Jsb2NrLWNv
b2tpZXMtc2VuZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29u
dGVudGV4dGVuc2lvbnMvYmxvY2stY29va2llcy1zZW5kLmh0bWwJKHJldmlzaW9uIDI3NTE1OSkK
KysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29udGVudGV4dGVuc2lvbnMvYmxvY2stY29va2ll
cy1zZW5kLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTE3LDcgKzE3LDcgQEAgZnVuY3Rpb24gaW1h
Z2VEb25lKCkKIHsKIAlkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibG9nZ2VyIikuaW5uZXJIVE1M
ICs9ICJBZnRlciB0aGUgaW1hZ2UsIGRvY3VtZW50LmNvb2tpZSBpcyAnIiArIGRvY3VtZW50LmNv
b2tpZSArICInPGJyPiI7CiAJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlmcmFtZSIpLm9ubG9h
ZCA9IGlmcmFtZURvbmU7Ci0JZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlmcmFtZSIpLnNyYyA9
ICJodHRwOi8vMTI3LjAuMC4xOjgwMDAvY29va2llcy9yZXNvdXJjZXMvZWNoby1jb29raWVzLnBo
cCI7CisJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlmcmFtZSIpLnNyYyA9ICJodHRwOi8vMTI3
LjAuMC4xOjgwMDAvY29va2llcy9yZXNvdXJjZXMvZWNoby1jb29raWVzLnB5IjsKIH0KIAogCkBA
IC0yNSw1ICsyNSw1IEBAIGZ1bmN0aW9uIGltYWdlRG9uZSgpCiAKIFRoaXMgdGVzdCBsb2FkcyBh
IHJlc291cmNlIHRoYXQgc2V0cyBhIGNvb2tpZSwgdGhlbiB2ZXJpZmllcyB0aGF0IHRoZSBjb29r
aWUgaXMgbm90IHNlbnQgb3V0IHdoZW4gaXQgc2hvdWxkIGJlIGJsb2NrZWQuPGJyPgogPGRpdiBp
ZD0ibG9nZ2VyIj48L2Rpdj4KLTxpbWcgc3JjPSJodHRwOi8vMTI3LjAuMC4xOjgwMDAvY29va2ll
cy9yZXNvdXJjZXMvY29va2llLXV0aWxpdHkucGhwP3F1ZXJ5ZnVuY3Rpb249c2V0Rm9vQ29va2ll
IiBvbmVycm9yPSJpbWFnZURvbmUoKTsiPgorPGltZyBzcmM9Imh0dHA6Ly8xMjcuMC4wLjE6ODAw
MC9jb29raWVzL3Jlc291cmNlcy9jb29raWUtdXRpbGl0eS5weT9xdWVyeWZ1bmN0aW9uPXNldEZv
b0Nvb2tpZSIgb25lcnJvcj0iaW1hZ2VEb25lKCk7Ij4KIDxpZnJhbWUgaWQ9ImlmcmFtZSIgbmFt
ZT0iaWZyYW1lIj48L2lmcmFtZT4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2ll
cy9jb29raWUtd2l0aC1tdWx0aXBsZS1sZXZlbC1wYXRoLmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL2Nvb2tpZS13aXRoLW11bHRpcGxlLWxldmVsLXBh
dGguaHRtbAkocmV2aXNpb24gMjc1MTU5KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29r
aWVzL2Nvb2tpZS13aXRoLW11bHRpcGxlLWxldmVsLXBhdGguaHRtbAkod29ya2luZyBjb3B5KQpA
QCAtMjEsNyArMjEsNyBAQAogICAgIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKIAogICAg
IGZ1bmN0aW9uIGRvVGVzdCgpIHsKLSAgICAgICAgY29uc3QgcmVzdWx0VXJsID0gJ3Jlc291cmNl
cy9jb29raWUtd2l0aC1tdWx0aXBsZS1sZXZlbC1wYXRoLnBocCc7CisgICAgICAgIGNvbnN0IHJl
c3VsdFVybCA9ICdyZXNvdXJjZXMvY29va2llLXdpdGgtbXVsdGlwbGUtbGV2ZWwtcGF0aC5weSc7
CiAKICAgICAgICAgc2V0Q29va2llKCdmb28nLCAnYmFyJywgJy8nKQogICAgICAgICAgICAgLnRo
ZW4oKCkgPT4gc2V0Q29va2llKCdmb28nLCAnYnV6JywgJy9jb29raWVzL3Jlc291cmNlcycpKSAv
LyBvdmVycmlkZSBmb28KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9kb2N1
bWVudC1jb29raWUtYWZ0ZXItc2hvd01vZGFsRGlhbG9nLmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL2RvY3VtZW50LWNvb2tpZS1hZnRlci1zaG93TW9k
YWxEaWFsb2cuaHRtbAkocmV2aXNpb24gMjc1MTU5KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9jb29raWVzL2RvY3VtZW50LWNvb2tpZS1hZnRlci1zaG93TW9kYWxEaWFsb2cuaHRtbAkod29y
a2luZyBjb3B5KQpAQCAtMTcsNyArMTcsNyBAQCB0ZXN0QnV0dG9uLm9uY2xpY2sgPSAoKSA9PiB7
CiAgICAgZG9jdW1lbnQuY29va2llID0gInRlc3RLZXk9dGVzdFZhbHVlIjsKICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ25vcm1hbGl6ZUNvb2tpZShkb2N1bWVudC5jb29raWUpJywgJ3Rlc3RL
ZXk9dGVzdFZhbHVlJyk7CiAKLSAgICBzaG93TW9kYWxEaWFsb2coInJlc291cmNlcy9zZXQtY29v
a2llLWFuZC1zZXJ2ZS5waHA/Y29va2llLW5hbWU9Zm9vJmNvb2tpZS12YWx1ZT1iYXImZGVzdGlu
YXRpb249Y2xvc2UtbW9kYWwtZGlhbG9nLmh0bWwiKTsKKyAgICBzaG93TW9kYWxEaWFsb2coInJl
c291cmNlcy9zZXQtY29va2llLWFuZC1zZXJ2ZS5weT9jb29raWUtbmFtZT1mb28mY29va2llLXZh
bHVlPWJhciZkZXN0aW5hdGlvbj1jbG9zZS1tb2RhbC1kaWFsb2cuaHRtbCIpOwogCiAgICAgLy8g
VGhpcyBpcyBzbyB0aGUgY29va2llIGdldHMgcmVtb3ZlZCBhdCB0aGUgZW5kIG9mIHRoZSB0ZXN0
LgogICAgIHJlZ2lzdGVyQ29va2llRm9yQ2xlYW51cCgnZm9vPWJhcjsgcGF0aD0vJyk7CkluZGV4
OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvZG9jdW1lbnQtY29va2llLWR1cmluZy1p
ZnJhbWUtcGFyc2luZy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMv
Y29va2llcy9kb2N1bWVudC1jb29raWUtZHVyaW5nLWlmcmFtZS1wYXJzaW5nLmh0bWwJKHJldmlz
aW9uIDI3NTE1OSkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9kb2N1bWVudC1j
b29raWUtZHVyaW5nLWlmcmFtZS1wYXJzaW5nLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTI1LDcg
KzI1LDcgQEAgb25sb2FkID0gKCkgPT4gewogICAgIHJlZ2lzdGVyQ29va2llRm9yQ2xlYW51cCgn
Zm9vPWJhcjsgcGF0aD0vJyk7CiAKICAgICBsZXQgaWZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgiaWZyYW1lIik7Ci0gICAgaWZyYW1lLnNyYyA9ICJyZXNvdXJjZXMvc2V0LWNvb2tpZS1h
bmQtc2VydmUucGhwP2Nvb2tpZS1uYW1lPWZvbyZjb29raWUtdmFsdWU9YmFyJmRlc3RpbmF0aW9u
PWRvY3VtZW50LWNvb2tpZS1kdXJpbmctaWZyYW1lLXBhcnNpbmctaWZyYW1lLmh0bWwiOworICAg
IGlmcmFtZS5zcmMgPSAicmVzb3VyY2VzL3NldC1jb29raWUtYW5kLXNlcnZlLnB5P2Nvb2tpZS1u
YW1lPWZvbyZjb29raWUtdmFsdWU9YmFyJmRlc3RpbmF0aW9uPWRvY3VtZW50LWNvb2tpZS1kdXJp
bmctaWZyYW1lLXBhcnNpbmctaWZyYW1lLmh0bWwiOwogICAgIGRvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQoaWZyYW1lKTsKIH07CiA8L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVz
dHMvY29va2llcy9vbmx5LWFjY2VwdC1maXJzdC1wYXJ0eS1jb29raWVzLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL29ubHktYWNjZXB0LWZpcnN0LXBh
cnR5LWNvb2tpZXMuaHRtbAkocmV2aXNpb24gMjc1MTU5KQorKysgTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9jb29raWVzL29ubHktYWNjZXB0LWZpcnN0LXBhcnR5LWNvb2tpZXMuaHRtbAkod29ya2lu
ZyBjb3B5KQpAQCAtNyw3ICs3LDcgQEAKICAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CiAK
ICAgICAgICAgY29uc3QgaWZyYW1lVXJscyA9IHsKLSAgICAgICAgICAgIGVjaG9Db29raWVzIDog
Imh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9jb29raWVzL3Jlc291cmNlcy9lY2hvLWNvb2tpZXMucGhw
IiwKKyAgICAgICAgICAgIGVjaG9Db29raWVzIDogImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9jb29r
aWVzL3Jlc291cmNlcy9lY2hvLWNvb2tpZXMucHkiLAogICAgICAgICAgICAgcmVzZXRDb29raWVz
IDogImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9jb29raWVzL3Jlc291cmNlcy9yZXNldC1jb29raWVz
Lmh0bWwiCiAgICAgICAgIH07CiAKQEAgLTE5LDcgKzE5LDcgQEAKICAgICAgICAgfQogCiAgICAg
ICAgIGZ1bmN0aW9uIHNldENvb2tpZUluUmVkaXJlY3QoaGFzaFZhbHVlKSB7Ci0gICAgICAgICAg
ICBkb2N1bWVudC5sb2NhdGlvbi5ocmVmID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9jb29raWVz
L3Jlc291cmNlcy9zZXQtY29va2llLWFuZC1yZWRpcmVjdC1iYWNrLnBocD9yZWRpcmVjdEJhY2tU
bz1odHRwOi8vMTI3LjAuMC4xOjgwMDAvY29va2llcy9vbmx5LWFjY2VwdC1maXJzdC1wYXJ0eS1j
b29raWVzLmh0bWwjIiArIGhhc2hWYWx1ZTsKKyAgICAgICAgICAgIGRvY3VtZW50LmxvY2F0aW9u
LmhyZWYgPSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwL2Nvb2tpZXMvcmVzb3VyY2VzL3NldC1jb29r
aWUtYW5kLXJlZGlyZWN0LWJhY2sucHk/cmVkaXJlY3RCYWNrVG89aHR0cDovLzEyNy4wLjAuMTo4
MDAwL2Nvb2tpZXMvb25seS1hY2NlcHQtZmlyc3QtcGFydHktY29va2llcy5odG1sIyIgKyBoYXNo
VmFsdWU7CiAgICAgICAgIH0KIAogICAgICAgICBmdW5jdGlvbiBydW5OZXh0VGVzdE9yRmluaXNo
KCkgewpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3NldC1jb29raWUtb24t
cmVkaXJlY3QuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tp
ZXMvc2V0LWNvb2tpZS1vbi1yZWRpcmVjdC5odG1sCShyZXZpc2lvbiAyNzUxNTkpCisrKyBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvc2V0LWNvb2tpZS1vbi1yZWRpcmVjdC5odG1sCSh3
b3JraW5nIGNvcHkpCkBAIC0xMCw3ICsxMCw3IEBAIGNsZWFyQWxsQ29va2llcygpOwogCiBmdW5j
dGlvbiBkb1JlZGlyZWN0KCkKIHsKLSAgd2luZG93LmxvY2F0aW9uID0gImh0dHA6Ly8xMjcuMC4w
LjE6ODAwMC9jb29raWVzL3Jlc291cmNlcy9zZXQtY29va2llLW9uLXJlZGlyZWN0LnBocD9zdGVw
PTEiOworICB3aW5kb3cubG9jYXRpb24gPSAiaHR0cDovLzEyNy4wLjAuMTo4MDAwL2Nvb2tpZXMv
cmVzb3VyY2VzL3NldC1jb29raWUtb24tcmVkaXJlY3QucHk/c3RlcD0xIjsKIH0KIDwvc2NyaXB0
PgogCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvdGhpcmQtcGFydHktY29v
a2llLXJlbGF4aW5nLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2Nvb2tpZXMvdGhpcmQtcGFydHktY29va2llLXJlbGF4aW5nLWV4cGVjdGVkLnR4dAko
cmV2aXNpb24gMjc1MTU5KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3RoaXJk
LXBhcnR5LWNvb2tpZS1yZWxheGluZy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEs
NDcgKzEsNDcgQEAKIEFMRVJUOgogCiBBTEVSVDogQWxsb3dpbmcgYWxsIGNvb2tpZXMKLUNPTlNP
TEUgTUVTU0FHRTogaHR0cDovL2xvY2FsaG9zdDo4MDAwL2Nvb2tpZXMvcmVzb3VyY2VzL2Nvb2tp
ZS11dGlsaXR5LnBocD9xdWVyeWZ1bmN0aW9uPWRlbGV0ZUNvb2tpZXMKK0NPTlNPTEUgTUVTU0FH
RTogaHR0cDovL2xvY2FsaG9zdDo4MDAwL2Nvb2tpZXMvcmVzb3VyY2VzL2Nvb2tpZS11dGlsaXR5
LnB5P3F1ZXJ5ZnVuY3Rpb249ZGVsZXRlQ29va2llcwogQ09OU09MRSBNRVNTQUdFOiBYSFIgcmVz
cG9uc2UgLSBEZWxldGVkIGFsbCBjb29raWVzCiBDT05TT0xFIE1FU1NBR0U6IFRlc3Qgc3RhZ2Ug
MSBkb2N1bWVudC5jb29raWUgaXM6CiBBTEVSVDogUmVzdHJpY3RpbmcgdG8gZmlyc3QgcGFydHkg
b25seSBjb29raWVzCi1DT05TT0xFIE1FU1NBR0U6IGh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9jb29r
aWVzL3Jlc291cmNlcy9jb29raWUtdXRpbGl0eS5waHA/cXVlcnlmdW5jdGlvbj1zZXRGb29Db29r
aWUKK0NPTlNPTEUgTUVTU0FHRTogaHR0cDovL2xvY2FsaG9zdDo4MDAwL2Nvb2tpZXMvcmVzb3Vy
Y2VzL2Nvb2tpZS11dGlsaXR5LnB5P3F1ZXJ5ZnVuY3Rpb249c2V0Rm9vQ29va2llCiBDT05TT0xF
IE1FU1NBR0U6IFhIUiByZXNwb25zZSAtIFNldCB0aGUgZm9vIGNvb2tpZQogQ09OU09MRSBNRVNT
QUdFOiBUZXN0IHN0YWdlIDIgZG9jdW1lbnQuY29va2llIGlzOgogQUxFUlQ6CiAKIEFMRVJUOiBB
bGxvd2luZyBhbGwgY29va2llcwotQ09OU09MRSBNRVNTQUdFOiBodHRwOi8vbG9jYWxob3N0Ojgw
MDAvY29va2llcy9yZXNvdXJjZXMvY29va2llLXV0aWxpdHkucGhwP3F1ZXJ5ZnVuY3Rpb249ZGVs
ZXRlQ29va2llcworQ09OU09MRSBNRVNTQUdFOiBodHRwOi8vbG9jYWxob3N0OjgwMDAvY29va2ll
cy9yZXNvdXJjZXMvY29va2llLXV0aWxpdHkucHk/cXVlcnlmdW5jdGlvbj1kZWxldGVDb29raWVz
CiBDT05TT0xFIE1FU1NBR0U6IFhIUiByZXNwb25zZSAtIERlbGV0ZWQgYWxsIGNvb2tpZXMKIENP
TlNPTEUgTUVTU0FHRTogVGVzdCBzdGFnZSAzIGRvY3VtZW50LmNvb2tpZSBpczoKIEFMRVJUOiBS
ZXN0cmljdGluZyB0byBmaXJzdCBwYXJ0eSBvbmx5IGNvb2tpZXMKLUNPTlNPTEUgTUVTU0FHRTog
aHR0cDovL2xvY2FsaG9zdDo4MDAwL2Nvb2tpZXMvcmVzb3VyY2VzL2Nvb2tpZS11dGlsaXR5LnBo
cD9xdWVyeWZ1bmN0aW9uPXNldEZvb0FuZEJhckNvb2tpZQorQ09OU09MRSBNRVNTQUdFOiBodHRw
Oi8vbG9jYWxob3N0OjgwMDAvY29va2llcy9yZXNvdXJjZXMvY29va2llLXV0aWxpdHkucHk/cXVl
cnlmdW5jdGlvbj1zZXRGb29BbmRCYXJDb29raWUKIENPTlNPTEUgTUVTU0FHRTogWEhSIHJlc3Bv
bnNlIC0gU2V0IHRoZSBmb28gYW5kIGJhciBjb29raWVzCiBDT05TT0xFIE1FU1NBR0U6IFRlc3Qg
c3RhZ2UgNCBkb2N1bWVudC5jb29raWUgaXM6CiBBTEVSVDoKIAogQUxFUlQ6IEFsbG93aW5nIGFs
bCBjb29raWVzCi1DT05TT0xFIE1FU1NBR0U6IGh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9jb29raWVz
L3Jlc291cmNlcy9jb29raWUtdXRpbGl0eS5waHA/cXVlcnlmdW5jdGlvbj1kZWxldGVDb29raWVz
CitDT05TT0xFIE1FU1NBR0U6IGh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9jb29raWVzL3Jlc291cmNl
cy9jb29raWUtdXRpbGl0eS5weT9xdWVyeWZ1bmN0aW9uPWRlbGV0ZUNvb2tpZXMKIENPTlNPTEUg
TUVTU0FHRTogWEhSIHJlc3BvbnNlIC0gRGVsZXRlZCBhbGwgY29va2llcwogQ09OU09MRSBNRVNT
QUdFOiBUZXN0IHN0YWdlIDUgZG9jdW1lbnQuY29va2llIGlzOgotQ09OU09MRSBNRVNTQUdFOiBo
dHRwOi8vbG9jYWxob3N0OjgwMDAvY29va2llcy9yZXNvdXJjZXMvY29va2llLXV0aWxpdHkucGhw
P3F1ZXJ5ZnVuY3Rpb249c2V0Rm9vQ29va2llCitDT05TT0xFIE1FU1NBR0U6IGh0dHA6Ly9sb2Nh
bGhvc3Q6ODAwMC9jb29raWVzL3Jlc291cmNlcy9jb29raWUtdXRpbGl0eS5weT9xdWVyeWZ1bmN0
aW9uPXNldEZvb0Nvb2tpZQogQ09OU09MRSBNRVNTQUdFOiBYSFIgcmVzcG9uc2UgLSBTZXQgdGhl
IGZvbyBjb29raWUKIENPTlNPTEUgTUVTU0FHRTogVGVzdCBzdGFnZSA2IGRvY3VtZW50LmNvb2tp
ZSBpczogZm9vPWF3ZXNvbWV2YWx1ZQogQUxFUlQ6IFJlc3RyaWN0aW5nIHRvIGZpcnN0IHBhcnR5
IG9ubHkgY29va2llcwotQ09OU09MRSBNRVNTQUdFOiBodHRwOi8vbG9jYWxob3N0OjgwMDAvY29v
a2llcy9yZXNvdXJjZXMvY29va2llLXV0aWxpdHkucGhwP3F1ZXJ5ZnVuY3Rpb249ZGVsZXRlQ29v
a2llcworQ09OU09MRSBNRVNTQUdFOiBodHRwOi8vbG9jYWxob3N0OjgwMDAvY29va2llcy9yZXNv
dXJjZXMvY29va2llLXV0aWxpdHkucHk/cXVlcnlmdW5jdGlvbj1kZWxldGVDb29raWVzCiBDT05T
T0xFIE1FU1NBR0U6IFhIUiByZXNwb25zZSAtIERlbGV0ZWQgYWxsIGNvb2tpZXMKIENPTlNPTEUg
TUVTU0FHRTogVGVzdCBzdGFnZSA3IGRvY3VtZW50LmNvb2tpZSBpczoKIEFMRVJUOgogCiBBTEVS
VDogQWxsb3dpbmcgYWxsIGNvb2tpZXMKLUNPTlNPTEUgTUVTU0FHRTogaHR0cDovL2xvY2FsaG9z
dDo4MDAwL2Nvb2tpZXMvcmVzb3VyY2VzL2Nvb2tpZS11dGlsaXR5LnBocD9xdWVyeWZ1bmN0aW9u
PWRlbGV0ZUNvb2tpZXMKK0NPTlNPTEUgTUVTU0FHRTogaHR0cDovL2xvY2FsaG9zdDo4MDAwL2Nv
b2tpZXMvcmVzb3VyY2VzL2Nvb2tpZS11dGlsaXR5LnB5P3F1ZXJ5ZnVuY3Rpb249ZGVsZXRlQ29v
a2llcwogQ09OU09MRSBNRVNTQUdFOiBYSFIgcmVzcG9uc2UgLSBEZWxldGVkIGFsbCBjb29raWVz
CiBDT05TT0xFIE1FU1NBR0U6IFRlc3Qgc3RhZ2UgOCBkb2N1bWVudC5jb29raWUgaXM6Ci1DT05T
T0xFIE1FU1NBR0U6IGh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9jb29raWVzL3Jlc291cmNlcy9jb29r
aWUtdXRpbGl0eS5waHA/cXVlcnlmdW5jdGlvbj1zZXRGb29Db29raWUKK0NPTlNPTEUgTUVTU0FH
RTogaHR0cDovL2xvY2FsaG9zdDo4MDAwL2Nvb2tpZXMvcmVzb3VyY2VzL2Nvb2tpZS11dGlsaXR5
LnB5P3F1ZXJ5ZnVuY3Rpb249c2V0Rm9vQ29va2llCiBDT05TT0xFIE1FU1NBR0U6IFhIUiByZXNw
b25zZSAtIFNldCB0aGUgZm9vIGNvb2tpZQogQ09OU09MRSBNRVNTQUdFOiBUZXN0IHN0YWdlIDkg
ZG9jdW1lbnQuY29va2llIGlzOiBmb289YXdlc29tZXZhbHVlCiBBTEVSVDogUmVzdHJpY3Rpbmcg
dG8gZmlyc3QgcGFydHkgb25seSBjb29raWVzCi1DT05TT0xFIE1FU1NBR0U6IGh0dHA6Ly9sb2Nh
bGhvc3Q6ODAwMC9jb29raWVzL3Jlc291cmNlcy9jb29raWUtdXRpbGl0eS5waHA/cXVlcnlmdW5j
dGlvbj1zZXRGb29BbmRCYXJDb29raWUKK0NPTlNPTEUgTUVTU0FHRTogaHR0cDovL2xvY2FsaG9z
dDo4MDAwL2Nvb2tpZXMvcmVzb3VyY2VzL2Nvb2tpZS11dGlsaXR5LnB5P3F1ZXJ5ZnVuY3Rpb249
c2V0Rm9vQW5kQmFyQ29va2llCiBDT05TT0xFIE1FU1NBR0U6IFhIUiByZXNwb25zZSAtIFNldCB0
aGUgZm9vIGFuZCBiYXIgY29va2llcwogQ09OU09MRSBNRVNTQUdFOiBUZXN0IHN0YWdlIDEwIGRv
Y3VtZW50LmNvb2tpZSBpczogYmFyPWFub3RoZXJhd2Vzb21ldmFsdWU7IGZvbz1hd2Vzb21ldmFs
dWUKIApJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9jb29r
aWUtdXRpbGl0aWVzLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29v
a2llcy9yZXNvdXJjZXMvY29va2llLXV0aWxpdGllcy5qcwkocmV2aXNpb24gMjc1MTU5KQorKysg
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9jb29raWUtdXRpbGl0aWVz
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xMDEsNyArMTAxLDcgQEAgYXN5bmMgZnVuY3Rpb24gcmVz
ZXRDb29raWVzKHVybHMpCiAgICAgICAgICAgICAgICAgLy8gRklYTUU6IEZvciBzb21lIHJlYXNv
biB3ZSBnZXQgYSBTZWN1cml0eUVycm9yIHdoZW4gcGFzc2luZyBjaGlsZFdpbmRvdyB0byByZXNv
bHZlKCkgaW4gU2FmYXJpIFZlcnNpb24gMTEuMC4zICgxMzYwNC41LjYpCiAgICAgICAgICAgICAg
ICAgLy8gYW5kIG5vdCBpbiBDaHJvbWUgQ2FuYXJ5IDY3LjAuMzM5MC4wICh3aHk/KS4gQXMgYSB3
b3JrYXJvdW5kLCBzdG9yZSB0aGUgY2hpbGQgd2luZG93IHJlZmVyZW5jZSBpbiBhIGdsb2JhbCB2
YXJpYWJsZS4KICAgICAgICAgICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2Fn
ZSIsIChtZXNzYWdlRXZlbnQpID0+IHJlc29sdmUobWVzc2FnZUV2ZW50KSwge2NhcHR1cmU6IHRy
dWUsIG9uY2U6IHRydWV9KTsKLSAgICAgICAgICAgICAgICBnX2NoaWxkV2luZG93ID0gd2luZG93
Lm9wZW4odXJsICsgIi9jb29raWVzL3Jlc291cmNlcy9jb29raWUtdXRpbGl0eS5waHA/cXVlcnlm
dW5jdGlvbj1kZWxldGVDb29raWVzQW5kUG9zdE1lc3NhZ2UiLCAicmVzZXQiKTsKKyAgICAgICAg
ICAgICAgICBnX2NoaWxkV2luZG93ID0gd2luZG93Lm9wZW4odXJsICsgIi9jb29raWVzL3Jlc291
cmNlcy9jb29raWUtdXRpbGl0eS5weT9xdWVyeWZ1bmN0aW9uPWRlbGV0ZUNvb2tpZXNBbmRQb3N0
TWVzc2FnZSIsICJyZXNldCIpOwogICAgICAgICAgICAgICAgIGlmICghZ19jaGlsZFdpbmRvdykK
ICAgICAgICAgICAgICAgICAgICAgcmVqZWN0KG51bGwpOwogICAgICAgICAgICAgfSk7CkBAIC0x
MTYsNyArMTE2LDcgQEAgYXN5bmMgZnVuY3Rpb24gcmVzZXRDb29raWVzRm9yQ3VycmVudE9yaQog
CiAgICAgbGV0IHByb21pc2UgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZWQsIHJlamVjdGVkKSA9PiB7
CiAgICAgICAgIGxldCB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3Q7Ci0gICAgICAgIHhoci5vcGVu
KCJHRVQiLCAiL2Nvb2tpZXMvcmVzb3VyY2VzL2Nvb2tpZS11dGlsaXR5LnBocD9xdWVyeWZ1bmN0
aW9uPWRlbGV0ZUNvb2tpZXMiKTsKKyAgICAgICAgeGhyLm9wZW4oIkdFVCIsICIvY29va2llcy9y
ZXNvdXJjZXMvY29va2llLXV0aWxpdHkucHk/cXVlcnlmdW5jdGlvbj1kZWxldGVDb29raWVzIik7
CiAgICAgICAgIHhoci5vbmxvYWQgPSAocHJvZ3Jlc3NFdmVudCkgPT4gewogICAgICAgICAgICAg
ZGlzYWJsZVNldEFsd2F5c0FjY2VwdENvb2tpZXMoKTsKICAgICAgICAgICAgIHJlc29sdmVkKHBy
b2dyZXNzRXZlbnQpOwpAQCAtMTU2LDcgKzE1Niw3IEBAIGFzeW5jIGZ1bmN0aW9uIGdldENvb2tp
ZXMoKQogCiAgICAgbGV0IHByb21pc2UgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZWQsIHJlamVjdGVk
KSA9PiB7CiAgICAgICAgIGxldCB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3Q7Ci0gICAgICAgIHho
ci5vcGVuKCJHRVQiLCBgJHtnX2Jhc2VVUkxXaGVuRmV0Y2hpbmdDb29raWVzfS9jb29raWVzL3Jl
c291cmNlcy9lY2hvLWpzb24ucGhwYCk7CisgICAgICAgIHhoci5vcGVuKCJHRVQiLCBgJHtnX2Jh
c2VVUkxXaGVuRmV0Y2hpbmdDb29raWVzfS9jb29raWVzL3Jlc291cmNlcy9lY2hvLWpzb24ucHlg
KTsKICAgICAgICAgeGhyLm9ubG9hZCA9ICgpID0+IHJlc29sdmVkKHhoci5yZXNwb25zZVRleHQg
PyBKU09OLnBhcnNlKHhoci5yZXNwb25zZVRleHQpIDoge30pOwogICAgICAgICB4aHIub25lcnJv
ciA9ICgpID0+IHJlamVjdGVkKHt9KTsKICAgICAgICAgeGhyLnNlbmQobnVsbCk7CkluZGV4OiBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL2Nvb2tpZS11dGlsaXR5LnBo
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2Vz
L2Nvb2tpZS11dGlsaXR5LnBocAkocmV2aXNpb24gMjc1MTU5KQorKysgTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9jb29raWUtdXRpbGl0eS5waHAJKG5vbmV4aXN0ZW50
KQpAQCAtMSw0NyArMCwwIEBACi08P3BocAotcGFyc2Vfc3RyKCRfU0VSVkVSWyJRVUVSWV9TVFJJ
TkciXSk7Ci0KLWZ1bmN0aW9uIGRlbGV0ZUNvb2tpZSgkdmFsdWUsICRuYW1lKQotewotICAgIHNl
dGNvb2tpZSgkbmFtZSwgImRlbGV0ZWQiLCB0aW1lKCkgLSA4NjQwMCwgJy8nKTsKLX0KLQotaWYg
KCRxdWVyeWZ1bmN0aW9uID09ICJkZWxldGVDb29raWVzQW5kUG9zdE1lc3NhZ2UiKSB7Ci0gICAg
YXJyYXlfd2FsaygkX0NPT0tJRSwgJ2RlbGV0ZUNvb2tpZScpOwotICAgIGVjaG8gIjxzY3JpcHQ+
d2luZG93Lm9wZW5lci5wb3N0TWVzc2FnZSgnZG9uZScsICcqJyk7PC9zY3JpcHQ+XG4iOwotICAg
IHJldHVybjsKLX0KLQotCi1pZiAoJHF1ZXJ5ZnVuY3Rpb24gPT0gImRlbGV0ZUNvb2tpZXMiKSB7
Ci0gICAgYXJyYXlfd2FsaygkX0NPT0tJRSwgJ2RlbGV0ZUNvb2tpZScpOwotICAgIGVjaG8gIkRl
bGV0ZWQgYWxsIGNvb2tpZXMiOwotICAgIHJldHVybjsKLX0KLQotaWYgKCRxdWVyeWZ1bmN0aW9u
ID09ICJzZXRGb29Db29raWUiKSB7Ci0gICAgc2V0Y29va2llKCJmb28iLCAiYXdlc29tZXZhbHVl
IiwgdGltZSgpICsgODY0MDAsICcvJyk7Ci0gICAgZWNobyAiU2V0IHRoZSBmb28gY29va2llIjsK
LSAgICByZXR1cm47Ci19Ci0KLWlmICgkcXVlcnlmdW5jdGlvbiA9PSAic2V0Rm9vQW5kQmFyQ29v
a2llIikgewotICAgIHNldGNvb2tpZSgiZm9vIiwgImF3ZXNvbWV2YWx1ZSIsIHRpbWUoKSArIDg2
NDAwLCAnLycpOwotICAgIHNldGNvb2tpZSgiYmFyIiwgImFub3RoZXJhd2Vzb21ldmFsdWUiLCB0
aW1lKCkgKyA4NjQwMCwgJy8nKTsKLSAgICBlY2hvICJTZXQgdGhlIGZvbyBhbmQgYmFyIGNvb2tp
ZXMiOwotICAgIHJldHVybjsKLX0KLQotLy8gRGVmYXVsdCBmb3IgYW55IG90aGVyIHN0cmluZyBp
cyBlY2hvIGNvb2tpZXMuCi1mdW5jdGlvbiBlY2hvQ29va2llKCR2YWx1ZSwgJG5hbWUpCi17Ci0g
ICAgZWNobyAiJG5hbWUgPSAkdmFsdWVcbiI7Ci19Ci0KLWZ1bmN0aW9uIGVjaG9BbGxDb29raWVz
KCkKLXsKLSAgICBlY2hvICJDb29raWVzIGFyZTpcbiI7Ci0gICAgYXJyYXlfd2FsaygkX0NPT0tJ
RSwgJ2VjaG9Db29raWUnKTsKLX0KLQotPz4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMv
Y29va2llcy9yZXNvdXJjZXMvY29va2llLXV0aWxpdHkucHkKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9jb29raWUtdXRpbGl0eS5weQkobm9u
ZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL2Nv
b2tpZS11dGlsaXR5LnB5CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTQgQEAKKyMhL3Vzci9i
aW4vZW52IHB5dGhvbjMKKworaW1wb3J0IG9zCitpbXBvcnQgc3lzCitmcm9tIGRhdGV0aW1lIGlt
cG9ydCBkYXRldGltZSwgdGltZWRlbHRhCitmcm9tIHVybGxpYi5wYXJzZSBpbXBvcnQgcGFyc2Vf
cXMKKworY29va2llcyA9IHt9CitpZiAnSFRUUF9DT09LSUUnIGluIG9zLmVudmlyb246CisgICAg
aGVhZGVyX2Nvb2tpZXMgPSBvcy5lbnZpcm9uWydIVFRQX0NPT0tJRSddCisgICAgaGVhZGVyX2Nv
b2tpZXMgPSBoZWFkZXJfY29va2llcy5zcGxpdCgnOyAnKQorCisgICAgZm9yIGNvb2tpZSBpbiBo
ZWFkZXJfY29va2llczoKKyAgICAgICAgY29va2llID0gY29va2llLnNwbGl0KCc9JykKKyAgICAg
ICAgY29va2llc1tjb29raWVbMF1dID0gY29va2llWzFdCisKK2RlZiBkZWxldGVfY29va2llKG5h
bWUpOgorICAgIGV4cGlyZXM9IGRhdGV0aW1lLnV0Y25vdygpIC0gdGltZWRlbHRhKHNlY29uZHM9
ODY0MDApCisgICAgc3lzLnN0ZG91dC53cml0ZSgnU2V0LUNvb2tpZToge309ZGVsZXRlZDsgZXhw
aXJlcz17fSBHTVQ7IE1heC1BZ2U9MDsgcGF0aD0vXHJcbicuZm9ybWF0KG5hbWUsIGV4cGlyZXMu
c3RyZnRpbWUoJyVhLCAlZC0lYi0lWSAlSDolTTolUycpKSkKKworcXVlcnlfZnVuY3Rpb24gPSBw
YXJzZV9xcyhvcy5lbnZpcm9uLmdldCgnUVVFUllfU1RSSU5HJywgJycpLCBrZWVwX2JsYW5rX3Zh
bHVlcz1UcnVlKS5nZXQoJ3F1ZXJ5ZnVuY3Rpb24nLCBbJyddKVswXQorCitzeXMuc3Rkb3V0Lndy
aXRlKCdDb250ZW50LVR5cGU6IHRleHQvaHRtbFxyXG4nKQorCitpZiBxdWVyeV9mdW5jdGlvbiA9
PSAnZGVsZXRlQ29va2llc0FuZFBvc3RNZXNzYWdlJzoKKyAgICBmb3IgY29va2llIGluIGNvb2tp
ZXMua2V5cygpOgorICAgICAgICBkZWxldGVfY29va2llKGNvb2tpZSkKKyAgICBzeXMuc3Rkb3V0
LndyaXRlKCdcclxuPHNjcmlwdD53aW5kb3cub3BlbmVyLnBvc3RNZXNzYWdlKFwnZG9uZVwnLCBc
JypcJyk7PC9zY3JpcHQ+XG4nKQorICAgIHN5cy5leGl0KDApCitlbGlmIHF1ZXJ5X2Z1bmN0aW9u
ID09ICdkZWxldGVDb29raWVzJzoKKyAgICBmb3IgY29va2llIGluIGNvb2tpZXMua2V5cygpOgor
ICAgICAgICBkZWxldGVfY29va2llKGNvb2tpZSkKKyAgICBzeXMuc3Rkb3V0LndyaXRlKCdcclxu
RGVsZXRlZCBhbGwgY29va2llcycpCisgICAgc3lzLmV4aXQoMCkKK2VsaWYgcXVlcnlfZnVuY3Rp
b24gPT0gJ3NldEZvb0Nvb2tpZSc6CisgICAgZXhwaXJlcz0gZGF0ZXRpbWUudXRjbm93KCkgKyB0
aW1lZGVsdGEoc2Vjb25kcz04NjQwMCkKKyAgICBzeXMuc3Rkb3V0LndyaXRlKAorICAgICAgICAn
U2V0LUNvb2tpZTogZm9vPWF3ZXNvbWV2YWx1ZTsgZXhwaXJlcz17fSBHTVQ7IE1heC1BZ2U9ODY0
MDA7IHBhdGg9L1xyXG5cclxuJworICAgICAgICAnU2V0IHRoZSBmb28gY29va2llJy5mb3JtYXQo
ZXhwaXJlcy5zdHJmdGltZSgnJWEsICVkLSViLSVZICVIOiVNOiVTJykpCisgICAgKQorICAgIHN5
cy5leGl0KDApCitlbGlmIHF1ZXJ5X2Z1bmN0aW9uID09ICdzZXRGb29BbmRCYXJDb29raWUnOgor
ICAgIGV4cGlyZXM9IGRhdGV0aW1lLnV0Y25vdygpICsgdGltZWRlbHRhKHNlY29uZHM9ODY0MDAp
CisgICAgc3lzLnN0ZG91dC53cml0ZSgKKyAgICAgICAgJ1NldC1Db29raWU6IGZvbz1hd2Vzb21l
dmFsdWU7IGV4cGlyZXM9e2V4cGlyZXN9IEdNVDsgTWF4LUFnZT04NjQwMDsgcGF0aD0vXHJcbicK
KyAgICAgICAgJ1NldC1Db29raWU6IGJhcj1hbm90aGVyYXdlc29tZXZhbHVlOyBleHBpcmVzPXtl
eHBpcmVzfSBHTVQ7IE1heC1BZ2U9ODY0MDA7IHBhdGg9L1xyXG5cclxuJworICAgICAgICAnU2V0
IHRoZSBmb28gYW5kIGJhciBjb29raWVzJy5mb3JtYXQoZXhwaXJlcz1leHBpcmVzLnN0cmZ0aW1l
KCclYSwgJWQtJWItJVkgJUg6JU06JVMnKSkKKyAgICApCisgICAgc3lzLmV4aXQoMCkKK2Vsc2U6
CisgICAgc3lzLnN0ZG91dC53cml0ZSgnXHJcbkNvb2tpZXMgYXJlOlxuJykKKyAgICBmb3IgY29v
a2llIGluIGNvb2tpZXM6CisgICAgICAgIGNvb2tpZSA9IGNvb2tpZS5zcGxpdCgnPScpCisgICAg
ICAgIHN5cy5zdGRvdXQud3JpdGUoJ3t9ID0ge31cbicuZm9ybWF0KGNvb2tpZVswXSwgY29va2ll
WzFdKSkKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL2Nvb2tpZS11dGlsaXR5LnB5
Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9j
b29raWVzL3Jlc291cmNlcy9jb29raWUtd2l0aC1tdWx0aXBsZS1sZXZlbC1wYXRoLnBocAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL2Nvb2tp
ZS13aXRoLW11bHRpcGxlLWxldmVsLXBhdGgucGhwCShyZXZpc2lvbiAyNzUxNTkpCisrKyBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL2Nvb2tpZS13aXRoLW11bHRpcGxl
LWxldmVsLXBhdGgucGhwCShub25leGlzdGVudCkKQEAgLTEsNSArMCwwIEBACi08P3BocAotCi0k
dmFsdWUgPSAkX1NFUlZFUlsnSFRUUF9DT09LSUUnXSA/OiAiIjsKLQotZWNobyAkX1NFUlZFUlsn
SFRUUF9DT09LSUUnXTsKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9yZXNv
dXJjZXMvY29va2llLXdpdGgtbXVsdGlwbGUtbGV2ZWwtcGF0aC5weQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL2Nvb2tpZS13aXRoLW11bHRp
cGxlLWxldmVsLXBhdGgucHkJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9jb29raWVzL3Jlc291cmNlcy9jb29raWUtd2l0aC1tdWx0aXBsZS1sZXZlbC1wYXRoLnB5CSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNiBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMworCitp
bXBvcnQgb3MKK2ltcG9ydCBzeXMKKworc3lzLnN0ZG91dC53cml0ZSgnQ29udGVudC1UeXBlOiB0
ZXh0L2h0bWxcclxuXHJcbnt9Jy5mb3JtYXQob3MuZW52aXJvbi5nZXQoJ0hUVFBfQ09PS0lFJywg
JycpKSkKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL2Nvb2tpZS13aXRoLW11bHRp
cGxlLWxldmVsLXBhdGgucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAs
MCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL2VjaG8tY29va2llcy5waHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9lY2hvLWNv
b2tpZXMucGhwCShyZXZpc2lvbiAyNzUxNTkpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nv
b2tpZXMvcmVzb3VyY2VzL2VjaG8tY29va2llcy5waHAJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMSAr
MCwwIEBACi08P3BocAotCi1mdW5jdGlvbiBlY2hvQ29va2llKCR2YWx1ZSwgJG5hbWUpCi17Ci0g
ICAgZWNobyAiJG5hbWUgPSAkdmFsdWVcbiI7Ci19Ci0KLWVjaG8gIkNvb2tpZXMgYXJlOlxuIjsK
LWFycmF5X3dhbGsoJF9DT09LSUUsICdlY2hvQ29va2llJyk7Ci0KLT8+CkluZGV4OiBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL2VjaG8tY29va2llcy5weQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL2VjaG8tY29v
a2llcy5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMv
cmVzb3VyY2VzL2VjaG8tY29va2llcy5weQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE3IEBA
CisjIS91c3IvYmluL2VudiBweXRob24zCisKK2ltcG9ydCBvcworaW1wb3J0IHN5cworCitzeXMu
c3Rkb3V0LndyaXRlKAorICAgICdDb250ZW50LVR5cGU6IHRleHQvaHRtbFxyXG5cclxuJworICAg
ICdDb29raWVzIGFyZTpcbicKKykKKworaWYgJ0hUVFBfQ09PS0lFJyBpbiBvcy5lbnZpcm9uOgor
ICAgIGhlYWRlcl9jb29raWVzID0gb3MuZW52aXJvblsnSFRUUF9DT09LSUUnXQorICAgIGhlYWRl
cl9jb29raWVzID0gaGVhZGVyX2Nvb2tpZXMuc3BsaXQoJzsgJykKKworICAgIGZvciBjb29raWUg
aW4gaGVhZGVyX2Nvb2tpZXM6CisgICAgICAgIGNvb2tpZSA9IGNvb2tpZS5zcGxpdCgnPScpCisg
ICAgICAgIHN5cy5zdGRvdXQud3JpdGUoJ3t9ID0ge31cbicuZm9ybWF0KGNvb2tpZVswXSwgY29v
a2llWzFdKSkKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCgpQcm9wZXJ0eSBjaGFuZ2VzIG9u
OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL2VjaG8tY29va2llcy5w
eQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMv
Y29va2llcy9yZXNvdXJjZXMvZWNoby1odHRwLWFuZC1kb20tY29va2llcy1hbmQtbm90aWZ5LWRv
bmUucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9yZXNv
dXJjZXMvZWNoby1odHRwLWFuZC1kb20tY29va2llcy1hbmQtbm90aWZ5LWRvbmUucGhwCShyZXZp
c2lvbiAyNzUxNTkpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2Vz
L2VjaG8taHR0cC1hbmQtZG9tLWNvb2tpZXMtYW5kLW5vdGlmeS1kb25lLnBocAkobm9uZXhpc3Rl
bnQpCkBAIC0xLDM1ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxz
Y3JpcHQgc3JjPSJjb29raWUtdXRpbGl0aWVzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1mdW5j
dGlvbiBsb2dET01Db29raWUobmFtZSwgdmFsdWUpCi17Ci0gICAgZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImRvbS1jb29raWVzLW91dHB1dCIpLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRl
eHROb2RlKGAke25hbWV9ID0gJHt2YWx1ZX1cbmApKTsKLX0KLQotd2luZG93Lm9ubG9hZCA9ICgp
ID0+IHsKLSAgICBsZXQgZG9tQ29va2llcyA9IGdldERPTUNvb2tpZXMoKTsKLSAgICBmb3IgKGxl
dCBuYW1lIG9mIE9iamVjdC5rZXlzKGRvbUNvb2tpZXMpLnNvcnQoKSkKLSAgICAgICAgbG9nRE9N
Q29va2llKG5hbWUsIGRvbUNvb2tpZXNbbmFtZV0pOwotCi0gICAgaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKQotICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLX07Ci08L3NjcmlwdD4KLTwv
aGVhZD4KLTxib2R5PgotPHA+SFRUUCBzZW50IGNvb2tpZXM6PC9wPgotPHByZT4KLTw/cGhwCi0k
c29ydGVkQ29va2llTmFtZXMgPSBhcnJheV9rZXlzKCRfQ09PS0lFKTsKLXNvcnQoJHNvcnRlZENv
b2tpZU5hbWVzKTsKLQotZm9yZWFjaCAoJHNvcnRlZENvb2tpZU5hbWVzIGFzICRuYW1lKQotICAg
IGVjaG8gIiRuYW1lID0gJF9DT09LSUVbJG5hbWVdXG4iOwotPz4KLTwvcHJlPgotPHA+RE9NIGNv
b2tpZXM6PC9wPgotPHByZSBpZD0iZG9tLWNvb2tpZXMtb3V0cHV0Ij48L3ByZT4KLTwvYm9keT4K
LTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMv
ZWNoby1odHRwLWFuZC1kb20tY29va2llcy1hbmQtbm90aWZ5LWRvbmUucHkKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9lY2hvLWh0dHAtYW5k
LWRvbS1jb29raWVzLWFuZC1ub3RpZnktZG9uZS5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL2VjaG8taHR0cC1hbmQtZG9tLWNvb2tp
ZXMtYW5kLW5vdGlmeS1kb25lLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDkgQEAKKyMh
L3Vzci9iaW4vZW52IHB5dGhvbjMKKworaW1wb3J0IG9zCitpbXBvcnQgc3lzCisKK2Nvb2tpZXMg
PSB7fQoraWYgJ0hUVFBfQ09PS0lFJyBpbiBvcy5lbnZpcm9uOgorICAgIGhlYWRlcl9jb29raWVz
ID0gb3MuZW52aXJvblsnSFRUUF9DT09LSUUnXQorICAgIGhlYWRlcl9jb29raWVzID0gaGVhZGVy
X2Nvb2tpZXMuc3BsaXQoJzsgJykKKworICAgIGZvciBjb29raWUgaW4gaGVhZGVyX2Nvb2tpZXM6
CisgICAgICAgIGNvb2tpZSA9IGNvb2tpZS5zcGxpdCgnPScpCisgICAgICAgIGNvb2tpZXNbY29v
a2llWzBdXSA9IGNvb2tpZVsxXQorCitzeXMuc3Rkb3V0LndyaXRlKCdDb250ZW50LVR5cGU6IHRl
eHQvaHRtbFxyXG5cclxuJykKKworcHJpbnQoJycnPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdCBzcmM9ImNvb2tpZS11dGlsaXRpZXMuanMiPjwvc2NyaXB0PgorPHNjcmlw
dD4KK2Z1bmN0aW9uIGxvZ0RPTUNvb2tpZShuYW1lLCB2YWx1ZSkKK3sKKyAgICBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZG9tLWNvb2tpZXMtb3V0cHV0IikuYXBwZW5kQ2hpbGQoZG9jdW1lbnQu
Y3JlYXRlVGV4dE5vZGUoYCR7bmFtZX0gPSAke3ZhbHVlfVxuYCkpOworfQorCit3aW5kb3cub25s
b2FkID0gKCkgPT4geworICAgIGxldCBkb21Db29raWVzID0gZ2V0RE9NQ29va2llcygpOworICAg
IGZvciAobGV0IG5hbWUgb2YgT2JqZWN0LmtleXMoZG9tQ29va2llcykuc29ydCgpKQorICAgICAg
ICBsb2dET01Db29raWUobmFtZSwgZG9tQ29va2llc1tuYW1lXSk7CisKKyAgICBpZiAod2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworfTsKKzwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5IVFRQIHNlbnQgY29va2llczo8L3A+Cis8cHJlPicn
JykKKworc29ydGVkX2Nvb2tpZV9uYW1lcyA9IHNvcnRlZChjb29raWVzLmtleXMoKSkKK2ZvciBu
YW1lIGluIHNvcnRlZF9jb29raWVfbmFtZXM6CisgICAgc3lzLnN0ZG91dC53cml0ZSgne30gPSB7
fVxuJy5mb3JtYXQobmFtZSwgY29va2llcy5nZXQobmFtZSkpKQorCitwcmludCgnJyc8L3ByZT4K
KzxwPkRPTSBjb29raWVzOjwvcD4KKzxwcmUgaWQ9ImRvbS1jb29raWVzLW91dHB1dCI+PC9wcmU+
Cis8L2JvZHk+Cis8L2h0bWw+JycnKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKClByb3Bl
cnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMv
ZWNoby1odHRwLWFuZC1kb20tY29va2llcy1hbmQtbm90aWZ5LWRvbmUucHkKX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpB
ZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3Vy
Y2VzL2VjaG8tanNvbi5waHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9j
b29raWVzL3Jlc291cmNlcy9lY2hvLWpzb24ucGhwCShyZXZpc2lvbiAyNzUxNTkpCisrKyBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL2VjaG8tanNvbi5waHAJKG5vbmV4
aXN0ZW50KQpAQCAtMSw4ICswLDAgQEAKLTw/cGhwCi1oZWFkZXIoIkNvbnRlbnQtVHlwZTogYXBw
bGljYXRpb24vanNvbiIpOwotaGVhZGVyKCJBY2Nlc3MtQ29udHJvbC1BbGxvdy1DcmVkZW50aWFs
czogdHJ1ZSIpOwotaGVhZGVyKCJBY2Nlc3MtQ29udHJvbC1BbGxvdy1FeHRlcm5hbDogdHJ1ZSIp
OwotaGVhZGVyKCJBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW46ICR7X1NFUlZFUlsnSFRUUF9P
UklHSU4nXX0iKTsKLQotZWNobyBqc29uX2VuY29kZSgkX0NPT0tJRSk7Ci0/PgpJbmRleDogTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9lY2hvLWpzb24ucHkKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9lY2hvLWpz
b24ucHkJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3Jl
c291cmNlcy9lY2hvLWpzb24ucHkJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyMSBAQAorIyEv
dXNyL2Jpbi9lbnYgcHl0aG9uMworCitpbXBvcnQganNvbgoraW1wb3J0IG9zCitpbXBvcnQgc3lz
CisKK2Nvb2tpZXMgPSB7fQoraWYgJ0hUVFBfQ09PS0lFJyBpbiBvcy5lbnZpcm9uOgorICAgIGhl
YWRlcl9jb29raWVzID0gb3MuZW52aXJvblsnSFRUUF9DT09LSUUnXQorICAgIGhlYWRlcl9jb29r
aWVzID0gaGVhZGVyX2Nvb2tpZXMuc3BsaXQoJzsgJykKKworICAgIGZvciBjb29raWUgaW4gaGVh
ZGVyX2Nvb2tpZXM6CisgICAgICAgIGNvb2tpZSA9IGNvb2tpZS5zcGxpdCgnPScpCisgICAgICAg
IGNvb2tpZXNbY29va2llWzBdXSA9IGNvb2tpZVsxXQorCitzeXMuc3Rkb3V0LndyaXRlKAorICAg
ICdDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL2pzb25cclxuJworICAgICdBY2Nlc3MtQ29udHJv
bC1BbGxvdy1DcmVkZW50aWFsczogdHJ1ZVxyXG4nCisgICAgJ0FjY2Vzcy1Db250cm9sLUFsbG93
LUV4dGVybmFsOiB0cnVlXHJcbicKKyAgICAnQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luOiB7
fVxyXG5cclxue30nLmZvcm1hdChvcy5lbnZpcm9uLmdldCgnSFRUUF9PUklHSU4nLCAnJyksIGpz
b24uZHVtcHMoY29va2llcykpCispClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoKUHJvcGVy
dHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9l
Y2hvLWpzb24ucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAj
IworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL3Bvc3QtY29va2llcy1vbm1lc3NhZ2UucGhwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMvcG9z
dC1jb29raWVzLW9ubWVzc2FnZS5waHAJKHJldmlzaW9uIDI3NTE1OSkKKysrIExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMvcG9zdC1jb29raWVzLW9ubWVzc2FnZS5waHAJ
KG5vbmV4aXN0ZW50KQpAQCAtMSwxNCArMCwwIEBACi08IWRvY3R5cGUgaHRtbD4KLTxzY3JpcHQ+
Ci0KLXZhciBmcm9tX2h0dHAgPSA8P3BocAotZWNobyBqc29uX2VuY29kZSgkX0NPT0tJRSk7Ci0/
PjsKLQotd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLCBlID0+IHsKLSAgICBlLnNv
dXJjZS5wb3N0TWVzc2FnZSh7Ci0gICAgICAgICdodHRwJzogZnJvbV9odHRwLAotICAgICAgICAn
ZG9jdW1lbnQnOiBkb2N1bWVudC5jb29raWUKLSAgICB9LCAiKiIpOwotfSk7Ci08L3NjcmlwdD4K
SW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMvcG9zdC1jb29r
aWVzLW9ubWVzc2FnZS5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nv
b2tpZXMvcmVzb3VyY2VzL3Bvc3QtY29va2llcy1vbm1lc3NhZ2UucHkJKG5vbmV4aXN0ZW50KQor
KysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9wb3N0LWNvb2tpZXMt
b25tZXNzYWdlLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzAgQEAKKyMhL3Vzci9iaW4v
ZW52IHB5dGhvbjMKKworaW1wb3J0IGpzb24KK2ltcG9ydCBvcworaW1wb3J0IHN5cworCitjb29r
aWVzID0ge30KK2lmICdIVFRQX0NPT0tJRScgaW4gb3MuZW52aXJvbjoKKyAgICBoZWFkZXJfY29v
a2llcyA9IG9zLmVudmlyb25bJ0hUVFBfQ09PS0lFJ10KKyAgICBoZWFkZXJfY29va2llcyA9IGhl
YWRlcl9jb29raWVzLnNwbGl0KCc7ICcpCisKKyAgICBmb3IgY29va2llIGluIGhlYWRlcl9jb29r
aWVzOgorICAgICAgICBjb29raWUgPSBjb29raWUuc3BsaXQoJz0nKQorICAgICAgICBjb29raWVz
W2Nvb2tpZVswXV0gPSBjb29raWVbMV0KKworc3lzLnN0ZG91dC53cml0ZSgKKyAgICAnQ29udGVu
dC1UeXBlOiB0ZXh0L2h0bWxcclxuXHJcbicKKyAgICAnPCFkb2N0eXBlIGh0bWw+XG4nCisgICAg
JzxzY3JpcHQ+XG4nCisgICAgJ1xuJworICAgICd2YXIgZnJvbV9odHRwID0ge307XG4nCisgICAg
J1xuJworICAgICd3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsIGUgPT4ge3tcbicK
KyAgICAnICAgIGUuc291cmNlLnBvc3RNZXNzYWdlKHt7XG4nCisgICAgJyAgICAgICAgXCdodHRw
XCc6IGZyb21faHR0cCxcbicKKyAgICAnICAgICAgICBcJ2RvY3VtZW50XCc6IGRvY3VtZW50LmNv
b2tpZVxuJworICAgICcgICAgfX0sICIqIik7XG4nCisgICAgJ319KTtcbicKKyAgICAnPC9zY3Jp
cHQ+XG4nLmZvcm1hdChqc29uLmR1bXBzKGNvb2tpZXMpKQorKQpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29v
a2llcy9yZXNvdXJjZXMvcG9zdC1jb29raWVzLW9ubWVzc2FnZS5weQpfX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVk
OiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
cHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMv
cG9zdC1jb29raWVzLXRvLW9wZW5lci5waHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9wb3N0LWNvb2tpZXMtdG8tb3BlbmVyLnBocAkocmV2
aXNpb24gMjc1MTU5KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNl
cy9wb3N0LWNvb2tpZXMtdG8tb3BlbmVyLnBocAkobm9uZXhpc3RlbnQpCkBAIC0xLDExICswLDAg
QEAKLTwhZG9jdHlwZSBodG1sPgotPHNjcmlwdD4KLXZhciBmcm9tX2h0dHAgPSA8P3BocAotZWNo
byBqc29uX2VuY29kZSgkX0NPT0tJRSk7Ci0/PjsKLQotd2luZG93Lm9wZW5lci5wb3N0TWVzc2Fn
ZSh7Ci0gICAgJ2h0dHAnOiBmcm9tX2h0dHAsCi0gICAgJ2RvY3VtZW50JzogZG9jdW1lbnQuY29v
a2llCi19LCAiKiIpOwotPC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nv
b2tpZXMvcmVzb3VyY2VzL3Bvc3QtY29va2llcy10by1vcGVuZXIucHkKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9wb3N0LWNvb2tpZXMtdG8t
b3BlbmVyLnB5CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2ll
cy9yZXNvdXJjZXMvcG9zdC1jb29raWVzLXRvLW9wZW5lci5weQkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDI2IEBACisjIS91c3IvYmluL2VudiBweXRob24zCisKK2ltcG9ydCBqc29uCitpbXBv
cnQgb3MKK2ltcG9ydCBzeXMKKworY29va2llcyA9IHt9CitpZiAnSFRUUF9DT09LSUUnIGluIG9z
LmVudmlyb246CisgICAgaGVhZGVyX2Nvb2tpZXMgPSBvcy5lbnZpcm9uWydIVFRQX0NPT0tJRSdd
CisgICAgaGVhZGVyX2Nvb2tpZXMgPSBoZWFkZXJfY29va2llcy5zcGxpdCgnOyAnKQorCisgICAg
Zm9yIGNvb2tpZSBpbiBoZWFkZXJfY29va2llczoKKyAgICAgICAgY29va2llID0gY29va2llLnNw
bGl0KCc9JykKKyAgICAgICAgY29va2llc1tjb29raWVbMF1dID0gY29va2llWzFdCisKK3N5cy5z
dGRvdXQud3JpdGUoJ0NvbnRlbnQtVHlwZTogdGV4dC9odG1sXHJcblxyXG4nKQorCitwcmludCgn
Jyc8IWRvY3R5cGUgaHRtbD4KKzxzY3JpcHQ+Cit2YXIgZnJvbV9odHRwID0ge307CisKK3dpbmRv
dy5vcGVuZXIucG9zdE1lc3NhZ2Uoe3sKKyAgICAnaHR0cCc6IGZyb21faHR0cCwKKyAgICAnZG9j
dW1lbnQnOiBkb2N1bWVudC5jb29raWUKK319LCAiKiIpOworPC9zY3JpcHQ+JycnLmZvcm1hdChq
c29uLmR1bXBzKGNvb2tpZXMpKSkKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCgpQcm9wZXJ0
eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL3Bv
c3QtY29va2llcy10by1vcGVuZXIucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUK
IyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL3Jlc2V0Q29va2llcy5qcwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL3Jl
c2V0Q29va2llcy5qcwkocmV2aXNpb24gMjc1MTU5KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9jb29raWVzL3Jlc291cmNlcy9yZXNldENvb2tpZXMuanMJKHdvcmtpbmcgY29weSkKQEAgLTQs
NyArNCw3IEBAIGZ1bmN0aW9uIHJlc2V0Q29va2llcygpCiAgICAgICAgIHRlc3RSdW5uZXIuc2V0
QWx3YXlzQWNjZXB0Q29va2llcyh0cnVlKTsKIAogICAgIC8vIER1ZSB0byBjcm9zcy1vcmlnaW4g
cmVzdHJpY3Rpb25zLCB3ZSBjYW4gb25seSAoc2ltcGx5KSByZXNldCBjb29raWVzIGZvciBvdXIg
Y3VycmVudCBvcmlnaW4uCi0gICAgdmFyIHVybCA9ICJodHRwOi8vIiArIHdpbmRvdy5sb2NhdGlv
bi5ob3N0bmFtZSArIjo4MDAwL2Nvb2tpZXMvcmVzb3VyY2VzL2Nvb2tpZS11dGlsaXR5LnBocD9x
dWVyeWZ1bmN0aW9uPWRlbGV0ZUNvb2tpZXMiOworICAgIHZhciB1cmwgPSAiaHR0cDovLyIgKyB3
aW5kb3cubG9jYXRpb24uaG9zdG5hbWUgKyI6ODAwMC9jb29raWVzL3Jlc291cmNlcy9jb29raWUt
dXRpbGl0eS5weT9xdWVyeWZ1bmN0aW9uPWRlbGV0ZUNvb2tpZXMiOwogICAgIHZhciByZXEgPSBu
ZXcgWE1MSHR0cFJlcXVlc3QoKTsKICAgICB0cnkgewogICAgICAgICByZXEub3BlbignR0VUJywg
dXJsLCBmYWxzZSk7CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3Vy
Y2VzL3NldC1jb29raWUtYW5kLXJlZGlyZWN0LWJhY2sucGhwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMvc2V0LWNvb2tpZS1hbmQtcmVkaXJl
Y3QtYmFjay5waHAJKHJldmlzaW9uIDI3NTE1OSkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMv
Y29va2llcy9yZXNvdXJjZXMvc2V0LWNvb2tpZS1hbmQtcmVkaXJlY3QtYmFjay5waHAJKG5vbmV4
aXN0ZW50KQpAQCAtMSwxMCArMCwwIEBACi08P3BocAotaWYgKCRfR0VUWydyZWRpcmVjdEJhY2tU
byddKSB7Ci0gIGhlYWRlcigiSFRUUC8xLjAgMzAyIEZvdW5kIik7Ci0gIHNldGNvb2tpZSgidGVz
dF9jb29raWUiLCAiMSIsIHRpbWUoKSArIDg2NDAwKTsKLSAgaGVhZGVyKCdMb2NhdGlvbjogJyAu
ICRfR0VUWydyZWRpcmVjdEJhY2tUbyddKTsKLX0gZWxzZSB7Ci0gIGhlYWRlcigiSFRUUC8xLjAg
MjAwIE9LIik7Ci0gIGVjaG8gIkZBSUxFRDogTm8gcmVkaXJlY3RCYWNrVG8gcGFyYW1ldGVyIGZv
dW5kLlxuIjsKLX0KLT8+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcmVz
b3VyY2VzL3NldC1jb29raWUtYW5kLXJlZGlyZWN0LWJhY2sucHkKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9zZXQtY29va2llLWFuZC1yZWRp
cmVjdC1iYWNrLnB5CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29v
a2llcy9yZXNvdXJjZXMvc2V0LWNvb2tpZS1hbmQtcmVkaXJlY3QtYmFjay5weQkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDIzIEBACisjIS91c3IvYmluL2VudiBweXRob24zCisKK2ltcG9ydCBv
cworaW1wb3J0IHN5cworZnJvbSBkYXRldGltZSBpbXBvcnQgZGF0ZXRpbWUsIHRpbWVkZWx0YQor
ZnJvbSB1cmxsaWIucGFyc2UgaW1wb3J0IHBhcnNlX3FzCisKK3JlZGlyZWN0X2JhY2tfdG8gPSBw
YXJzZV9xcyhvcy5lbnZpcm9uLmdldCgnUVVFUllfU1RSSU5HJywgJycpLCBrZWVwX2JsYW5rX3Zh
bHVlcz1UcnVlKS5nZXQoJ3JlZGlyZWN0QmFja1RvJywgWycnXSlbMF0KKworc3lzLnN0ZG91dC53
cml0ZSgnQ29udGVudC1UeXBlOiB0ZXh0L2h0bWxcclxuJykKKworaWYgcmVkaXJlY3RfYmFja190
bzoKKyAgICBleHBpcmVzPSBkYXRldGltZS51dGNub3coKSArIHRpbWVkZWx0YShzZWNvbmRzPTg2
NDAwKQorICAgIHN5cy5zdGRvdXQud3JpdGUoCisgICAgICAgICdzdGF0dXM6IDMwMlxyXG4nCisg
ICAgICAgICdTZXQtQ29va2llOiB0ZXN0X2Nvb2tpZT0xOyBleHBpcmVzPXt9IEdNVDsgTWF4LUFn
ZT04NjQwMFxyXG4nCisgICAgICAgICdMb2NhdGlvbjoge31cclxuXHJcbicuZm9ybWF0KGV4cGly
ZXMuc3RyZnRpbWUoJyVhLCAlZC0lYi0lWSAlSDolTTolUycpLCByZWRpcmVjdF9iYWNrX3RvKQor
ICAgICkKK2Vsc2U6CisgICAgc3lzLnN0ZG91dC53cml0ZSgKKyAgICAgICAgJ3N0YXR1czogMjAw
XHJcblxyXG4nCisgICAgICAgICdGQUlMRUQ6IE5vIHJlZGlyZWN0QmFja1RvIHBhcmFtZXRlciBm
b3VuZC5cbicKKyAgICApClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoKUHJvcGVydHkgY2hh
bmdlcyBvbjogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9zZXQtY29v
a2llLWFuZC1yZWRpcmVjdC1iYWNrLnB5Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxl
CiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDog
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9zZXQtY29va2llLWFuZC1z
ZXJ2ZS5waHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3Jl
c291cmNlcy9zZXQtY29va2llLWFuZC1zZXJ2ZS5waHAJKHJldmlzaW9uIDI3NTE1OSkKKysrIExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMvc2V0LWNvb2tpZS1hbmQtc2Vy
dmUucGhwCShub25leGlzdGVudCkKQEAgLTEsMTMgKzAsMCBAQAotPD9waHAKLSRjb29raWVOYW1l
ID0gJF9HRVRbJ2Nvb2tpZS1uYW1lJ107Ci0kY29va2llVmFsdWUgPSAkX0dFVFsnY29va2llLXZh
bHVlJ107Ci0kZGVzdGluYXRpb24gPSAkX0dFVFsnZGVzdGluYXRpb24nXTsKLWhlYWRlcigiQ29u
dGVudC1UeXBlOiB0ZXh0L2h0bWwiKTsKLWhlYWRlcigiQ2FjaGUtQ29udHJvbDogbm8tc3RvcmUi
KTsKLWhlYWRlcigiU2V0LUNvb2tpZTogJHtjb29raWVOYW1lfT0ke2Nvb2tpZVZhbHVlfTsgcGF0
aD0vIik7Ci0kZnAgPSBmb3BlbigkZGVzdGluYXRpb24sICdyYicpOwotaGVhZGVyKCJDb250ZW50
LUxlbmd0aDogIiAuIGZpbGVzaXplKCRkZXN0aW5hdGlvbikpOwotCi1mcGFzc3RocnUoJGZwKTsK
LWV4aXQ7Ci0/PgoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9j
b29raWVzL3Jlc291cmNlcy9zZXQtY29va2llLWFuZC1zZXJ2ZS5waHAKX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpEZWxl
dGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMSArMCwwICMjCi0qClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9yZXNvdXJj
ZXMvc2V0LWNvb2tpZS1hbmQtc2VydmUucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9zZXQtY29va2llLWFuZC1zZXJ2ZS5weQkobm9uZXhp
c3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL3NldC1j
b29raWUtYW5kLXNlcnZlLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjIgQEAKKyMhL3Vz
ci9iaW4vZW52IHB5dGhvbjMKKworaW1wb3J0IG9zCitpbXBvcnQgc3lzCitmcm9tIHVybGxpYi5w
YXJzZSBpbXBvcnQgcGFyc2VfcXMKKworcXVlcnkgPSBwYXJzZV9xcyhvcy5lbnZpcm9uLmdldCgn
UVVFUllfU1RSSU5HJywgJycpLCBrZWVwX2JsYW5rX3ZhbHVlcz1UcnVlKQorY29va2llX25hbWUg
PSBxdWVyeS5nZXQoJ2Nvb2tpZS1uYW1lJywgWycnXSlbMF0KK2Nvb2tpZV92YWx1ZSA9IHF1ZXJ5
LmdldCgnY29va2llLXZhbHVlJywgWycnXSlbMF0KK2Rlc3RpbmF0aW9uID0gcXVlcnkuZ2V0KCdk
ZXN0aW5hdGlvbicsIFsnJ10pWzBdCisKK3N5cy5zdGRvdXQud3JpdGUoCisgICAgJ0NvbnRlbnQt
VHlwZTogdGV4dC9odG1sXHJcbicKKyAgICAnQ2FjaGUtQ29udHJvbDogbm8tc3RvcmVcclxuJwor
ICAgICdTZXQtQ29va2llOiB7fT17fTsgcGF0aD0vXHJcbicuZm9ybWF0KGNvb2tpZV9uYW1lLCBj
b29raWVfdmFsdWUpCispCisKK3dpdGggb3Blbihvcy5wYXRoLmpvaW4oJy8nLmpvaW4oX19maWxl
X18uc3BsaXQoJy8nKVswOi0xXSksIGRlc3RpbmF0aW9uKSwgJ3InKSBhcyBmaWxlOgorICAgIGNv
bnRlbnQgPSBmaWxlLnJlYWQoKQorICAgIHN5cy5zdGRvdXQud3JpdGUoJ0NvbnRlbnQtTGVuZ3Ro
OiB7fVxyXG5cclxue30nLmZvcm1hdChsZW4oY29udGVudCksIGNvbnRlbnQpKQorCitzeXMuZXhp
dCgwKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKClByb3BlcnR5IGNoYW5nZXMgb246IExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMvc2V0LWNvb2tpZS1hbmQtc2Vy
dmUucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2Nvb2tpZXMvcmVzb3VyY2VzL3NldC1jb29raWUtb24tcmVkaXJlY3QucGhwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMvc2V0LWNvb2tp
ZS1vbi1yZWRpcmVjdC5waHAJKHJldmlzaW9uIDI3NTE1OSkKKysrIExheW91dFRlc3RzL2h0dHAv
dGVzdHMvY29va2llcy9yZXNvdXJjZXMvc2V0LWNvb2tpZS1vbi1yZWRpcmVjdC5waHAJKG5vbmV4
aXN0ZW50KQpAQCAtMSwyMSArMCwwIEBACi08P3BocAotaWYgKCRfR0VUWydzdGVwJ10gPT0gMSkg
ewotICBoZWFkZXIoIkhUVFAvMS4wIDMwMiBGb3VuZCIpOwotICBoZWFkZXIoJ0xvY2F0aW9uOiBo
dHRwOi8vbG9jYWxob3N0OjgwMDAvY29va2llcy9yZXNvdXJjZXMvc2V0LWNvb2tpZS1vbi1yZWRp
cmVjdC5waHA/c3RlcD0yJyk7Ci19IGVsc2UgaWYgKCRfR0VUWydzdGVwJ10gPT0gMikgewotICBo
ZWFkZXIoIkhUVFAvMS4wIDMwMiBGb3VuZCIpOwotICBzZXRjb29raWUoInRlc3RfY29va2llIiwg
IjEiLCB0aW1lKCkgKyA4NjQwMCk7Ci0gIGhlYWRlcignTG9jYXRpb246IGh0dHA6Ly9sb2NhbGhv
c3Q6ODAwMC9jb29raWVzL3Jlc291cmNlcy9zZXQtY29va2llLW9uLXJlZGlyZWN0LnBocD9zdGVw
PTMnKTsKLX0gZWxzZSBpZiAoJF9HRVRbJ3N0ZXAnXSA9PSAzKSB7Ci0gIGhlYWRlcigiSFRUUC8x
LjAgMjAwIE9LIik7Ci0gIGlmIChpc3NldCgkX0NPT0tJRVsndGVzdF9jb29raWUnXSkpIHsKLSAg
ICAvKiBDbGVhciBjb29raWUgaW4gb3JkZXIgbm90IHRvIGFmZmVjdCBvdGhlciB0ZXN0cy4gKi8K
LSAgICBzZXRjb29raWUoInRlc3RfY29va2llIiwgIiIsIHRpbWUoKSAtIDg2NDAwKTsKLQotICAg
IGVjaG8gIlBBU1NFRDogQ29va2llIHN1Y2Nlc3NmdWxseSBzZXRcbiI7Ci0gIH0gZWxzZSB7Ci0g
ICAgZWNobyAiRkFJTEVEOiBDb29raWUgbm90IHNldFxuIjsKLSAgfQotICBlY2hvICI8c2NyaXB0
PiBpZiAod2luZG93LnRlc3RSdW5uZXIpIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOzwvc2NyaXB0
PlxuIjsKLX0KLT8+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3Vy
Y2VzL3NldC1jb29raWUtb24tcmVkaXJlY3QucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9zZXQtY29va2llLW9uLXJlZGlyZWN0LnB5CShu
b25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMv
c2V0LWNvb2tpZS1vbi1yZWRpcmVjdC5weQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQ1IEBA
CisjIS91c3IvYmluL2VudiBweXRob24zCisKK2ltcG9ydCBvcworaW1wb3J0IHN5cworZnJvbSBk
YXRldGltZSBpbXBvcnQgZGF0ZXRpbWUsIHRpbWVkZWx0YQorZnJvbSB1cmxsaWIucGFyc2UgaW1w
b3J0IHBhcnNlX3FzCisKK3N0ZXAgPSBpbnQocGFyc2VfcXMob3MuZW52aXJvbi5nZXQoJ1FVRVJZ
X1NUUklORycsICcnKSwga2VlcF9ibGFua192YWx1ZXM9VHJ1ZSkuZ2V0KCdzdGVwJywgWzBdKVsw
XSkKKworc3lzLnN0ZG91dC53cml0ZSgnQ29udGVudC1UeXBlOiB0ZXh0L2h0bWxcclxuJykKKwor
aWYgc3RlcCA9PSAxOgorICAgIHN5cy5zdGRvdXQud3JpdGUoCisgICAgICAgICdMb2NhdGlvbjog
aHR0cDovL2xvY2FsaG9zdDo4MDAwL2Nvb2tpZXMvcmVzb3VyY2VzL3NldC1jb29raWUtb24tcmVk
aXJlY3QucHk/c3RlcD0yXHJcbicKKyAgICAgICAgJ3N0YXR1czogMzAyXHJcblxyXG4nCisgICAg
KQorZWxpZiBzdGVwID09IDI6CisgICAgZXhwaXJlcz0gZGF0ZXRpbWUudXRjbm93KCkgKyB0aW1l
ZGVsdGEoc2Vjb25kcz04NjQwMCkKKyAgICBzeXMuc3Rkb3V0LndyaXRlKAorICAgICAgICAnU2V0
LUNvb2tpZTogdGVzdF9jb29raWU9MTsgZXhwaXJlcz17fSBHTVQ7IE1heC1BZ2U9ODY0MDBcclxu
JworICAgICAgICAnTG9jYXRpb246IGh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9jb29raWVzL3Jlc291
cmNlcy9zZXQtY29va2llLW9uLXJlZGlyZWN0LnB5P3N0ZXA9M1xyXG4nCisgICAgICAgICdzdGF0
dXM6IDMwMlxyXG5cclxuJy5mb3JtYXQoZXhwaXJlcy5zdHJmdGltZSgnJWEsICVkLSViLSVZICVI
OiVNOiVTJykpCisgICAgKQorZWxpZiBzdGVwID09IDM6CisgICAgY29va2llcyA9IHt9CisgICAg
aWYgJ0hUVFBfQ09PS0lFJyBpbiBvcy5lbnZpcm9uOgorICAgICAgICBoZWFkZXJfY29va2llcyA9
IG9zLmVudmlyb25bJ0hUVFBfQ09PS0lFJ10KKyAgICAgICAgaGVhZGVyX2Nvb2tpZXMgPSBoZWFk
ZXJfY29va2llcy5zcGxpdCgnOyAnKQorCisgICAgICAgIGZvciBjb29raWUgaW4gaGVhZGVyX2Nv
b2tpZXM6CisgICAgICAgICAgICBjb29raWUgPSBjb29raWUuc3BsaXQoJz0nKQorICAgICAgICAg
ICAgY29va2llc1tjb29raWVbMF1dID0gY29va2llWzFdCisKKyAgICBpZiBjb29raWVzLmdldCgn
dGVzdF9jb29raWUnLCBOb25lKSBpcyBub3QgTm9uZToKKyAgICAgICAgZXhwaXJlcz0gZGF0ZXRp
bWUudXRjbm93KCkgLSB0aW1lZGVsdGEoc2Vjb25kcz04NjQwMCkKKyAgICAgICAgc3lzLnN0ZG91
dC53cml0ZSgKKyAgICAgICAgICAgICdTZXQtQ29va2llOiB0ZXN0X2Nvb2tpZT1kZWxldGVkOyBl
eHBpcmVzPXt9IEdNVDsgTWF4LUFnZT0wXHJcblxyXG4nCisgICAgICAgICAgICAnUEFTU0VEOiBD
b29raWUgc3VjY2Vzc2Z1bGx5IHNldFxuJy5mb3JtYXQoZXhwaXJlcy5zdHJmdGltZSgnJWEsICVk
LSViLSVZICVIOiVNOiVTJykpCisgICAgICAgICkKKyAgICBlbHNlOgorICAgICAgICBzeXMuc3Rk
b3V0LndyaXRlKCdcclxuRkFJTEVEOiBDb29raWUgbm90IHNldFxuJykKKworICAgIHN5cy5zdGRv
dXQud3JpdGUoJzxzY3JpcHQ+IGlmICh3aW5kb3cudGVzdFJ1bm5lcikgdGVzdFJ1bm5lci5ub3Rp
ZnlEb25lKCk7PC9zY3JpcHQ+XG4nKQorZWxzZToKKyAgICBzeXMuc3Rkb3V0LndyaXRlKCdcclxu
JykKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL3NldC1jb29raWUtb24tcmVkaXJl
Y3QucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2Nvb2tpZXMvcmVzb3VyY2VzL3NldC1odHRwLW9ubHktY29va2llLnBocAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL3NldC1odHRwLW9u
bHktY29va2llLnBocAkocmV2aXNpb24gMjc1MTU5KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9jb29raWVzL3Jlc291cmNlcy9zZXQtaHR0cC1vbmx5LWNvb2tpZS5waHAJKG5vbmV4aXN0ZW50
KQpAQCAtMSwxMCArMCwwIEBACi08P3BocAotaWYgKCRfR0VUWydjb29raWVOYW1lJ10pIHsKLSAg
c2V0Y29va2llKCRfR0VUWydjb29raWVOYW1lJ10sICIxIiwgdGltZSgpICsgODY0MDAsICIvIiwg
IiIsIEZBTFNFLCBUUlVFKTsKLSAgZWNobyAiWWVhaCI7Ci19IGVsc2UgewotICBoZWFkZXIoIkhU
VFAvMS4wIDIwMCBPSyIpOwotICBlY2hvICJGQUlMRUQ6IE5vIGNvb2tpZU5hbWUgcGFyYW1ldGVy
IGZvdW5kLlxuIjsKLX0KLQotPz4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2ll
cy9yZXNvdXJjZXMvc2V0LWh0dHAtb25seS1jb29raWUucHkKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9zZXQtaHR0cC1vbmx5LWNvb2tpZS5w
eQkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3Vy
Y2VzL3NldC1odHRwLW9ubHktY29va2llLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjIg
QEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbjMKKworaW1wb3J0IG9zCitpbXBvcnQgc3lzCitmcm9t
IGRhdGV0aW1lIGltcG9ydCBkYXRldGltZSwgdGltZWRlbHRhCitmcm9tIHVybGxpYi5wYXJzZSBp
bXBvcnQgcGFyc2VfcXMKKworY29va2llX25hbWUgPSBwYXJzZV9xcyhvcy5lbnZpcm9uLmdldCgn
UVVFUllfU1RSSU5HJywgJycpLCBrZWVwX2JsYW5rX3ZhbHVlcz1UcnVlKS5nZXQoJ2Nvb2tpZU5h
bWUnLCBbJyddKVswXQorZXhwaXJlcz0gZGF0ZXRpbWUudXRjbm93KCkgKyB0aW1lZGVsdGEoc2Vj
b25kcz04NjQwMCkKKworc3lzLnN0ZG91dC53cml0ZSgnQ29udGVudC1UeXBlOiB0ZXh0L2h0bWxc
clxuJykKKworaWYgY29va2llX25hbWU6CisgICAgc3lzLnN0ZG91dC53cml0ZSgKKyAgICAgICAg
J1NldC1Db29raWU6IHt9PTE7IGV4cGlyZXM9e30gR01UOyBNYXgtQWdlPTg2NDAwOyBwYXRoPS87
IEh0dHBPbmx5XHJcblxyXG4nCisgICAgICAgICdZZWFoJy5mb3JtYXQoY29va2llX25hbWUsIGV4
cGlyZXMuc3RyZnRpbWUoJyVhLCAlZC0lYi0lWSAlSDolTTolUycpKQorICAgICkKK2Vsc2U6Cisg
ICAgc3lzLnN0b2R1dC53cml0ZSgKKyAgICAgICAgJ3N0YXR1czogMjAwXHJcblxyXG4nCisgICAg
ICAgICdGQUlMRUQ6IE5vIGNvb2tpZU5hbWUgcGFyYW1ldGVyIGZvdW5kLlxuJworICAgICkKXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL3NldC1odHRwLW9ubHktY29va2llLnB5Cl9f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29r
aWVzL3Jlc291cmNlcy9zZXRBcnJheWNvb2tpZXMtcmVzdWx0LnBocAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL3NldEFycmF5Y29va2llcy1y
ZXN1bHQucGhwCShyZXZpc2lvbiAyNzUxNTkpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nv
b2tpZXMvcmVzb3VyY2VzL3NldEFycmF5Y29va2llcy1yZXN1bHQucGhwCShub25leGlzdGVudCkK
QEAgLTEsMzQgKzAsMCBAQAotPGh0bWw+DQotPGhlYWQ+DQotPHNjcmlwdD4NCi0gICAgZnVuY3Rp
b24gcnVuKCl7DQotICAgICAgICAvLyBSZWFkaW5nIHRoZSBDb29pa2VzIHVzaW5nIFBIUA0KLSAg
ICAgICAgdmFyIGNvb2tpZSA9ICI8P3BocCBpZiAoaXNzZXQoJF9DT09LSUVbJ3NldEFycmF5Y29v
a2llJ10pKSB7DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JlYWNoICgkX0NP
T0tJRVsnc2V0QXJyYXljb29raWUnXSBhcyAkbmFtZSA9PiAkdmFsdWUpIHsNCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAkbmFtZSA9IGh0bWxzcGVjaWFsY2hhcnMoJG5hbWUp
Ow0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR2YWx1ZSA9IGh0bWxzcGVj
aWFsY2hhcnMoJHZhbHVlKTsNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBl
Y2hvICIkbmFtZSA6ICR2YWx1ZSI7DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9
DQotCQkgICAgICAgICAgICB9IA0KLSAgICAgICAgICAgICAgICAgICAgID8+IjsNCi0NCi0gICAg
ICAgIHZhciBzdGF0dXMgPSAiRmFpbCI7DQotICAgICAgICBpZiAoY29va2llID09ICJ0aHJlZSA6
IGNvb2tpZXRocmVldHdvIDogY29va2lldHdvb25lIDogY29va2llb25lIikgew0KLSAgICAgICAg
ICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0IikuaW5uZXJIVE1MID0gIjxiPlBhc3Nl
ZDwvYj4iOw0KLSAgICAgICAgICAgIHN0YXR1cyA9ICJQYXNzIjsNCi0gICAgICAgIH0gZWxzZQ0K
LSAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0IikuaW5uZXJIVE1MID0g
IjxiPkZhaWxlZDwvYj4iOyAgICANCi0gICAgfQ0KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikNCi0g
ICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOw0KLQ0KLTwvc2NyaXB0Pg0KLTwvaGVhZD4N
Ci08Ym9keSBvbmxvYWQ9InJ1bigpIj4NCi08cD5UaGlzIHRlc3QgY2FzZSB0byBzZXQgYSBBcnJh
eSBvZiBDb29raWUgc2l6ZSBvZiAzIGFuZCBjaGVjayBpZiBpdCdzIGJlZW4gY29ycmVjdGx5IHNl
dCBhbmQgaW4gb3JkZXIuPGJyIC8+SWYgdGhlIFRlc3QgY2FzZSB3YXMgc3VjY2Vzc2Z1bCwgVGhl
biBpdCBzaG91bGQgcHJpbnQgUGFzc2VkIGJlbG93ISEgPC9wPjxici8+DQotPGRpdiBpZD0idGVz
dCI+DQotTm90IFdvcmtpbmchIQ0KLTwvZGl2Pg0KLTwvYm9keT4NCi08L2h0bWw+DQotDQpJbmRl
eDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9zZXRBcnJheWNvb2tp
ZXMtcmVzdWx0LnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2ll
cy9yZXNvdXJjZXMvc2V0QXJyYXljb29raWVzLXJlc3VsdC5weQkobm9uZXhpc3RlbnQpCisrKyBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL3NldEFycmF5Y29va2llcy1y
ZXN1bHQucHkJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1MyBAQAorIyEvdXNyL2Jpbi9lbnYg
cHl0aG9uMworCitpbXBvcnQgb3MKK2ltcG9ydCBzeXMKKworY29va2llcyA9IHt9CitpZiAnSFRU
UF9DT09LSUUnIGluIG9zLmVudmlyb246CisgICAgaGVhZGVyX2Nvb2tpZXMgPSBvcy5lbnZpcm9u
WydIVFRQX0NPT0tJRSddCisgICAgaGVhZGVyX2Nvb2tpZXMgPSBoZWFkZXJfY29va2llcy5zcGxp
dCgnOyAnKQorCisgICAgZm9yIGNvb2tpZSBpbiBoZWFkZXJfY29va2llczoKKyAgICAgICAgY29v
a2llID0gY29va2llLnNwbGl0KCc9JykKKyAgICAgICAgY29va2llc1tjb29raWVbMF1dID0gY29v
a2llWzFdCisKK2FycmF5X2Nvb2tpZXMgPSB7fQorZm9yIGNvb2tpZSBpbiBjb29raWVzLmtleXMo
KToKKyAgICBpZiBjb29raWUuc3RhcnRzd2l0aCgnc2V0QXJyYXljb29raWVbJyk6CisgICAgICAg
IGFycmF5X2Nvb2tpZXNbY29va2llWzE1Oi0xXV0gPSBjb29raWVzLmdldChjb29raWUpCisKK3N5
cy5zdGRvdXQud3JpdGUoCisgICAgJ0NvbnRlbnQtVHlwZTogdGV4dC9odG1sXHJcblxyXG4nCisg
ICAgJzxodG1sPlxuJworICAgICc8aGVhZD5cbicKKyAgICAnPHNjcmlwdD5cbicKKyAgICAnICAg
IGZ1bmN0aW9uIHJ1bigpe1xuJworICAgICcgICAgICAgIC8vIFJlYWRpbmcgdGhlIENvb2tpZXMg
dXNpbmcgUEhQXG4nCisgICAgJyAgICAgICAgdmFyIGNvb2tpZSA9ICInCispCisKK2lmIGxlbihh
cnJheV9jb29raWVzKSAhPSAwOgorICAgIGZvciBjb29raWUgaW4gYXJyYXlfY29va2llczoKKyAg
ICAgICAgc3lzLnN0ZG91dC53cml0ZSgne30gOiB7fScuZm9ybWF0KGNvb2tpZSwgYXJyYXlfY29v
a2llcy5nZXQoY29va2llKSkpCitzeXMuc3Rkb3V0LndyaXRlKCciO1xuJykKKworcHJpbnQoJycn
ICAgICAgICB2YXIgc3RhdHVzID0gIkZhaWwiOworICAgICAgICBpZiAoY29va2llID09ICJ0aHJl
ZSA6IGNvb2tpZXRocmVldHdvIDogY29va2lldHdvb25lIDogY29va2llb25lIikgeworICAgICAg
ICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3QiKS5pbm5lckhUTUwgPSAiPGI+UGFz
c2VkPC9iPiI7CisgICAgICAgICAgICBzdGF0dXMgPSAiUGFzcyI7CisgICAgICAgIH0gZWxzZQor
ICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3QiKS5pbm5lckhUTUwgPSAi
PGI+RmFpbGVkPC9iPiI7ICAgIAorICAgIH0KK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkg
b25sb2FkPSJydW4oKSI+Cis8cD5UaGlzIHRlc3QgY2FzZSB0byBzZXQgYSBBcnJheSBvZiBDb29r
aWUgc2l6ZSBvZiAzIGFuZCBjaGVjayBpZiBpdCdzIGJlZW4gY29ycmVjdGx5IHNldCBhbmQgaW4g
b3JkZXIuPGJyIC8+SWYgdGhlIFRlc3QgY2FzZSB3YXMgc3VjY2Vzc2Z1bCwgVGhlbiBpdCBzaG91
bGQgcHJpbnQgUGFzc2VkIGJlbG93ISEgPC9wPjxici8+Cis8ZGl2IGlkPSJ0ZXN0Ij4KK05vdCBX
b3JraW5nISEKKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPicnJykKXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nv
b2tpZXMvcmVzb3VyY2VzL3NldEFycmF5Y29va2llcy1yZXN1bHQucHkKX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRl
ZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2Vz
L3NldEFycmF5Y29va2llcy5waHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9jb29raWVzL3Jlc291cmNlcy9zZXRBcnJheWNvb2tpZXMucGhwCShyZXZpc2lvbiAyNzUxNTkp
CisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL3NldEFycmF5Y29v
a2llcy5waHAJKG5vbmV4aXN0ZW50KQpAQCAtMSw4ICswLDAgQEAKLTw/cGhwIA0KLS8vIFNldHRp
bmcgQXJyYXkgb2YgY29va2llcw0KLXNldGNvb2tpZSgic2V0QXJyYXljb29raWVbdGhyZWVdIiwg
ImNvb2tpZXRocmVlIik7DQotc2V0Y29va2llKCJzZXRBcnJheWNvb2tpZVt0d29dIiwgImNvb2tp
ZXR3byIpOw0KLXNldGNvb2tpZSgic2V0QXJyYXljb29raWVbb25lXSIsICJjb29raWVvbmUiKTsN
Ci1oZWFkZXIoJ0xvY2F0aW9uOiBzZXRBcnJheWNvb2tpZXMtcmVzdWx0LnBocCcpOw0KLT8+DQot
DQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9zZXRBcnJh
eWNvb2tpZXMucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVz
L3Jlc291cmNlcy9zZXRBcnJheWNvb2tpZXMucHkJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9zZXRBcnJheWNvb2tpZXMucHkJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSwxMiBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMworCitpbXBv
cnQgc3lzCisKK3N5cy5zdGRvdXQud3JpdGUoCisgICAgJ1NldC1Db29raWU6IHNldEFycmF5Y29v
a2llW3RocmVlXT1jb29raWV0aHJlZVxyXG4nCisgICAgJ1NldC1Db29raWU6IHNldEFycmF5Y29v
a2llW3R3b109Y29va2lldHdvXHJcbicKKyAgICAnU2V0LUNvb2tpZTogc2V0QXJyYXljb29raWVb
b25lXT1jb29raWVvbmVcclxuJworICAgICdzdGF0dXM6IDMwMlxyXG4nCisgICAgJ0xvY2F0aW9u
OiBzZXRBcnJheWNvb2tpZXMtcmVzdWx0LnB5XHJcbicKKyAgICAnQ29udGVudC1UeXBlOiB0ZXh0
L2h0bWxcclxuXHJcbicKKykKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCgpQcm9wZXJ0eSBj
aGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL3NldEFy
cmF5Y29va2llcy5weQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsx
ICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMvc2V0VXRmOENvb2tpZXMtcmVzdWx0LnBocAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL3Nl
dFV0ZjhDb29raWVzLXJlc3VsdC5waHAJKHJldmlzaW9uIDI3NTE1OSkKKysrIExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMvc2V0VXRmOENvb2tpZXMtcmVzdWx0LnBocAko
bm9uZXhpc3RlbnQpCkBAIC0xLDE2ICswLDAgQEAKLTw/cGhwIGhlYWRlcignQ29udGVudC1UeXBl
OiB0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgnKTsgPz4KLTxodG1sPgotPGJvZHk+Ci08cD4KLTw/
cGhwCi0gICAgZWNobyAiPHA+c29tZSB1dGY4IGNoYXJhY3RlcnM6IFVURi04IMOmw7jDpSDkuK3l
m708L3A+IjsKLSAgICBlY2hvICI8cD5waHBfY29va2llOiAiLiRfQ09PS0lFWyJwaHBfY29va2ll
Il0uIjwvcD4iOwotPz4KLTxzY3JpcHQ+Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAg
ICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICBkb2N1bWVudC5jb29raWU9ImpzX2Nv
b2tpZT1VVEYtOCDDpsO4w6Ug5Lit5Zu9OyBleHBpcmVzPU1vbmRheSwgMDQtQXByLTIwMjAgMDU6
MDA6MDAgR01UIjsKLSAgICBkb2N1bWVudC53cml0ZSgiY29va2llcyByZWFkIHRocm91Z2gganM6
ICIrZG9jdW1lbnQuY29va2llKTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDog
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9zZXRVdGY4Q29va2llcy5w
aHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNl
cy9zZXRVdGY4Q29va2llcy5waHAJKHJldmlzaW9uIDI3NTE1OSkKKysrIExheW91dFRlc3RzL2h0
dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMvc2V0VXRmOENvb2tpZXMucGhwCShub25leGlzdGVu
dCkKQEAgLTEsNSArMCwwIEBACi08P3BocAotICAgIHNldGNvb2tpZSgicGhwX2Nvb2tpZSIsICJV
VEYtOCDDpsO4w6Ug5Lit5Zu9Iik7Ci0gICAgaGVhZGVyKCdDb250ZW50LVR5cGU6IHRleHQvaHRt
bDsgY2hhcnNldD1VVEYtOCcpOwotICAgIGhlYWRlcignTG9jYXRpb246IHNldFV0ZjhDb29raWVz
LXJlc3VsdC5waHAnKTsKLT8+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMv
cmVzb3VyY2VzL3RoaXJkLXBhcnR5LWNvb2tpZS1yZWxheGluZy1pZnJhbWUuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL3RoaXJkLXBh
cnR5LWNvb2tpZS1yZWxheGluZy1pZnJhbWUuaHRtbAkocmV2aXNpb24gMjc1MTU5KQorKysgTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy90aGlyZC1wYXJ0eS1jb29raWUt
cmVsYXhpbmctaWZyYW1lLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTM3LDcgKzM3LDcgQEAgZnVu
Y3Rpb24gc2hvd0Nvb2tpZXMoKQogCiBmdW5jdGlvbiBzZW5kWEhSKHF1ZXJ5Q29tbWFuZCkKIHsK
LSAgICB2YXIgYmFzZXVybCA9ICJodHRwOi8vbG9jYWxob3N0OjgwMDAvY29va2llcy9yZXNvdXJj
ZXMvY29va2llLXV0aWxpdHkucGhwIjsKKyAgICB2YXIgYmFzZXVybCA9ICJodHRwOi8vbG9jYWxo
b3N0OjgwMDAvY29va2llcy9yZXNvdXJjZXMvY29va2llLXV0aWxpdHkucHkiOwogICAgIHZhciB1
cmwgPSBxdWVyeUNvbW1hbmQgPyBiYXNldXJsICsgIj9xdWVyeWZ1bmN0aW9uPSIgKyBxdWVyeUNv
bW1hbmQgOiBiYXNldXJsOwogICAgIGNvbnNvbGUubG9nKHVybCk7CiAgICAgdmFyIHJlcSA9IG5l
dyBYTUxIdHRwUmVxdWVzdCgpOwpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVz
L3NhbWUtc2l0ZS9mZXRjaC1hZnRlci1uYXZpZ2F0aW5nLWlmcmFtZS1pbi1jcm9zcy1vcmlnaW4t
cGFnZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9z
YW1lLXNpdGUvZmV0Y2gtYWZ0ZXItbmF2aWdhdGluZy1pZnJhbWUtaW4tY3Jvc3Mtb3JpZ2luLXBh
Z2UuaHRtbAkocmV2aXNpb24gMjc1MTU5KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29r
aWVzL3NhbWUtc2l0ZS9mZXRjaC1hZnRlci1uYXZpZ2F0aW5nLWlmcmFtZS1pbi1jcm9zcy1vcmln
aW4tcGFnZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xMSw3ICsxMSw3IEBAIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKQogICAgIGF3YWl0IHNldENvb2tpZSgiaW1wbGljaXQtc3RyaWN0IiwgIjYi
LCB7IlNhbWVTaXRlIjogbnVsbCwgIk1heC1BZ2UiOiAxMDAsICJwYXRoIjogIi8ifSk7CiAgICAg
YXdhaXQgc2V0Q29va2llKCJzdHJpY3QtYmVjYXVzZS1pbnZhbGlkLVNhbWVTaXRlLXZhbHVlIiwg
IjYiLCB7IlNhbWVTaXRlIjogImludmFsaWQiLCAiTWF4LUFnZSI6IDEwMCwgInBhdGgiOiAiLyJ9
KTsKICAgICBhd2FpdCBzZXRDb29raWUoImxheCIsICI2IiwgeyJTYW1lU2l0ZSI6ICJMYXgiLCAi
TWF4LUFnZSI6IDEwMCwgInBhdGgiOiAiLyJ9KTsKLSAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9
ICJodHRwOi8vbG9jYWxob3N0OjgwMDAvcmVzb3VyY2VzL2VjaG8taWZyYW1lLXNyYy5waHA/c3Jj
PWh0dHAlM0EvLzEyNy4wLjAuMSUzQTgwMDAvY29va2llcy9zYW1lLXNpdGUvcmVzb3VyY2VzL2Ns
aWNrLWh5cGVybGluay5waHAlM0ZocmVmJTNEZmV0Y2gtYWZ0ZXItbmF2aWdhdGluZy1pZnJhbWUt
aW4tY3Jvc3Mtb3JpZ2luLXBhZ2UucGhwIjsKKyAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9ICJo
dHRwOi8vbG9jYWxob3N0OjgwMDAvcmVzb3VyY2VzL2VjaG8taWZyYW1lLXNyYy5waHA/c3JjPWh0
dHAlM0EvLzEyNy4wLjAuMSUzQTgwMDAvY29va2llcy9zYW1lLXNpdGUvcmVzb3VyY2VzL2NsaWNr
LWh5cGVybGluay5weSUzRmhyZWYlM0RmZXRjaC1hZnRlci1uYXZpZ2F0aW5nLWlmcmFtZS1pbi1j
cm9zcy1vcmlnaW4tcGFnZS5weSI7CiB9CiBydW5UZXN0KCk7CiA8L3NjcmlwdD4KSW5kZXg6IExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvZmV0Y2gtYWZ0ZXItdG9wLWxl
dmVsLWNyb3NzLW9yaWdpbi1yZWRpcmVjdC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvZmV0Y2gtYWZ0ZXItdG9wLWxldmVsLWNyb3Nz
LW9yaWdpbi1yZWRpcmVjdC5odG1sCShyZXZpc2lvbiAyNzUxNTkpCisrKyBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRlL2ZldGNoLWFmdGVyLXRvcC1sZXZlbC1jcm9zcy1v
cmlnaW4tcmVkaXJlY3QuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMTEsNyArMTEsNyBAQCBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkKICAgICBhd2FpdCBzZXRDb29raWUoImltcGxpY2l0LXN0cmlj
dCIsICIxOSIsIHsiU2FtZVNpdGUiOiBudWxsLCAiTWF4LUFnZSI6IDEwMCwgInBhdGgiOiAiLyJ9
KTsKICAgICBhd2FpdCBzZXRDb29raWUoInN0cmljdC1iZWNhdXNlLWludmFsaWQtU2FtZVNpdGUt
dmFsdWUiLCAiMTkiLCB7IlNhbWVTaXRlIjogImludmFsaWQiLCAiTWF4LUFnZSI6IDEwMCwgInBh
dGgiOiAiLyJ9KTsKICAgICBhd2FpdCBzZXRDb29raWUoImxheCIsICIxOSIsIHsiU2FtZVNpdGUi
OiAiTGF4IiwgIk1heC1BZ2UiOiAxMDAsICJwYXRoIjogIi8ifSk7Ci0gICAgd2luZG93LmxvY2F0
aW9uLmhyZWYgPSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwL3Jlc291cmNlcy9yZWRpcmVjdC5weT91
cmw9aHR0cDovLzEyNy4wLjAuMTo4MDAwL2Nvb2tpZXMvc2FtZS1zaXRlL3Jlc291cmNlcy9mZXRj
aC1hZnRlci10b3AtbGV2ZWwtY3Jvc3Mtb3JpZ2luLXJlZGlyZWN0LnBocCI7CisgICAgd2luZG93
LmxvY2F0aW9uLmhyZWYgPSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwL3Jlc291cmNlcy9yZWRpcmVj
dC5weT91cmw9aHR0cDovLzEyNy4wLjAuMTo4MDAwL2Nvb2tpZXMvc2FtZS1zaXRlL3Jlc291cmNl
cy9mZXRjaC1hZnRlci10b3AtbGV2ZWwtY3Jvc3Mtb3JpZ2luLXJlZGlyZWN0LnB5IjsKIH0KIHJ1
blRlc3QoKTsKIDwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVz
L3NhbWUtc2l0ZS9mZXRjaC1hZnRlci10b3AtbGV2ZWwtbmF2aWdhdGlvbi1mcm9tLWNyb3NzLW9y
aWdpbi1wYWdlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29r
aWVzL3NhbWUtc2l0ZS9mZXRjaC1hZnRlci10b3AtbGV2ZWwtbmF2aWdhdGlvbi1mcm9tLWNyb3Nz
LW9yaWdpbi1wYWdlLmh0bWwJKHJldmlzaW9uIDI3NTE1OSkKKysrIExheW91dFRlc3RzL2h0dHAv
dGVzdHMvY29va2llcy9zYW1lLXNpdGUvZmV0Y2gtYWZ0ZXItdG9wLWxldmVsLW5hdmlnYXRpb24t
ZnJvbS1jcm9zcy1vcmlnaW4tcGFnZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xMSw3ICsxMSw3
IEBAIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKQogICAgIGF3YWl0IHNldENvb2tpZSgiaW1wbGlj
aXQtc3RyaWN0IiwgIjUiLCB7IlNhbWVTaXRlIjogbnVsbCwgIk1heC1BZ2UiOiAxMDAsICJwYXRo
IjogIi8ifSk7CiAgICAgYXdhaXQgc2V0Q29va2llKCJzdHJpY3QtYmVjYXVzZS1pbnZhbGlkLVNh
bWVTaXRlLXZhbHVlIiwgIjUiLCB7IlNhbWVTaXRlIjogImludmFsaWQiLCAiTWF4LUFnZSI6IDEw
MCwgInBhdGgiOiAiLyJ9KTsKICAgICBhd2FpdCBzZXRDb29raWUoImxheCIsICI1IiwgeyJTYW1l
U2l0ZSI6ICJMYXgiLCAiTWF4LUFnZSI6IDEwMCwgInBhdGgiOiAiLyJ9KTsKLSAgICB3aW5kb3cu
bG9jYXRpb24uaHJlZiA9ICJodHRwOi8vbG9jYWxob3N0OjgwMDAvY29va2llcy9zYW1lLXNpdGUv
cmVzb3VyY2VzL2NsaWNrLWh5cGVybGluay5waHA/aHJlZj1odHRwJTNBLy8xMjcuMC4wLjElM0E4
MDAwL2Nvb2tpZXMvc2FtZS1zaXRlL3Jlc291cmNlcy9mZXRjaC1hZnRlci10b3AtbGV2ZWwtbmF2
aWdhdGlvbi1mcm9tLWNyb3NzLW9yaWdpbi1wYWdlLnBocCI7CisgICAgd2luZG93LmxvY2F0aW9u
LmhyZWYgPSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwL2Nvb2tpZXMvc2FtZS1zaXRlL3Jlc291cmNl
cy9jbGljay1oeXBlcmxpbmsucHk/aHJlZj1odHRwJTNBLy8xMjcuMC4wLjElM0E4MDAwL2Nvb2tp
ZXMvc2FtZS1zaXRlL3Jlc291cmNlcy9mZXRjaC1hZnRlci10b3AtbGV2ZWwtbmF2aWdhdGlvbi1m
cm9tLWNyb3NzLW9yaWdpbi1wYWdlLnB5IjsKIH0KIHJ1blRlc3QoKTsKIDwvc2NyaXB0PgpJbmRl
eDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9mZXRjaC1hZnRlci10
b3AtbGV2ZWwtbmF2aWdhdGlvbi1pbml0aWF0ZWQtZnJvbS1pZnJhbWUtaW4tY3Jvc3Mtb3JpZ2lu
LXBhZ2UuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMv
c2FtZS1zaXRlL2ZldGNoLWFmdGVyLXRvcC1sZXZlbC1uYXZpZ2F0aW9uLWluaXRpYXRlZC1mcm9t
LWlmcmFtZS1pbi1jcm9zcy1vcmlnaW4tcGFnZS5odG1sCShyZXZpc2lvbiAyNzUxNTkpCisrKyBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRlL2ZldGNoLWFmdGVyLXRvcC1s
ZXZlbC1uYXZpZ2F0aW9uLWluaXRpYXRlZC1mcm9tLWlmcmFtZS1pbi1jcm9zcy1vcmlnaW4tcGFn
ZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xMSw3ICsxMSw3IEBAIGFzeW5jIGZ1bmN0aW9uIHJ1
blRlc3QoKQogICAgIGF3YWl0IHNldENvb2tpZSgiaW1wbGljaXQtc3RyaWN0IiwgIjQiLCB7IlNh
bWVTaXRlIjogbnVsbCwgIk1heC1BZ2UiOiAxMDAsICJwYXRoIjogIi8ifSk7CiAgICAgYXdhaXQg
c2V0Q29va2llKCJzdHJpY3QtYmVjYXVzZS1pbnZhbGlkLVNhbWVTaXRlLXZhbHVlIiwgIjQiLCB7
IlNhbWVTaXRlIjogImludmFsaWQiLCAiTWF4LUFnZSI6IDEwMCwgInBhdGgiOiAiLyJ9KTsKICAg
ICBhd2FpdCBzZXRDb29raWUoImxheCIsICI0IiwgeyJTYW1lU2l0ZSI6ICJMYXgiLCAiTWF4LUFn
ZSI6IDEwMCwgInBhdGgiOiAiLyJ9KTsKLSAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9ICJodHRw
Oi8vbG9jYWxob3N0OjgwMDAvcmVzb3VyY2VzL2VjaG8taWZyYW1lLXNyYy5waHA/c3JjPWh0dHAl
M0EvLzEyNy4wLjAuMSUzQTgwMDAvY29va2llcy9zYW1lLXNpdGUvcmVzb3VyY2VzL2NsaWNrLWh5
cGVybGluay5waHAlM0ZocmVmJTNEZmV0Y2gtYWZ0ZXItdG9wLWxldmVsLW5hdmlnYXRpb24taW5p
dGlhdGVkLWZyb20taWZyYW1lLWluLWNyb3NzLW9yaWdpbi1wYWdlLnBocCUyNnRhcmdldCUzRF90
b3AiOworICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9y
ZXNvdXJjZXMvZWNoby1pZnJhbWUtc3JjLnBocD9zcmM9aHR0cCUzQS8vMTI3LjAuMC4xJTNBODAw
MC9jb29raWVzL3NhbWUtc2l0ZS9yZXNvdXJjZXMvY2xpY2staHlwZXJsaW5rLnB5JTNGaHJlZiUz
RGZldGNoLWFmdGVyLXRvcC1sZXZlbC1uYXZpZ2F0aW9uLWluaXRpYXRlZC1mcm9tLWlmcmFtZS1p
bi1jcm9zcy1vcmlnaW4tcGFnZS5weSUyNnRhcmdldCUzRF90b3AiOwogfQogcnVuVGVzdCgpOwog
PC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRl
L2ZldGNoLWFmdGVyLXRvcC1sZXZlbC1zYW1lLW9yaWdpbi1yZWRpcmVjdC5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvZmV0Y2gtYWZ0
ZXItdG9wLWxldmVsLXNhbWUtb3JpZ2luLXJlZGlyZWN0Lmh0bWwJKHJldmlzaW9uIDI3NTE1OSkK
KysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvZmV0Y2gtYWZ0ZXIt
dG9wLWxldmVsLXNhbWUtb3JpZ2luLXJlZGlyZWN0Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEx
LDcgKzExLDcgQEAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpCiAgICAgYXdhaXQgc2V0Q29va2ll
KCJpbXBsaWNpdC1zdHJpY3QiLCAiMjAiLCB7IlNhbWVTaXRlIjogbnVsbCwgIk1heC1BZ2UiOiAx
MDAsICJwYXRoIjogIi8ifSk7CiAgICAgYXdhaXQgc2V0Q29va2llKCJzdHJpY3QtYmVjYXVzZS1p
bnZhbGlkLVNhbWVTaXRlLXZhbHVlIiwgIjIwIiwgeyJTYW1lU2l0ZSI6ICJpbnZhbGlkIiwgIk1h
eC1BZ2UiOiAxMDAsICJwYXRoIjogIi8ifSk7CiAgICAgYXdhaXQgc2V0Q29va2llKCJsYXgiLCAi
MjAiLCB7IlNhbWVTaXRlIjogIkxheCIsICJNYXgtQWdlIjogMTAwLCAicGF0aCI6ICIvIn0pOwot
ICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gImh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9yZXNvdXJj
ZXMvcmVkaXJlY3QucHk/dXJsPWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9jb29raWVzL3NhbWUtc2l0
ZS9yZXNvdXJjZXMvZmV0Y2gtYWZ0ZXItdG9wLWxldmVsLXNhbWUtb3JpZ2luLXJlZGlyZWN0LnBo
cCI7CisgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSAiaHR0cDovLzEyNy4wLjAuMTo4MDAwL3Jl
c291cmNlcy9yZWRpcmVjdC5weT91cmw9aHR0cDovLzEyNy4wLjAuMTo4MDAwL2Nvb2tpZXMvc2Ft
ZS1zaXRlL3Jlc291cmNlcy9mZXRjaC1hZnRlci10b3AtbGV2ZWwtc2FtZS1vcmlnaW4tcmVkaXJl
Y3QucHkiOwogfQogcnVuVGVzdCgpOwogPC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRlL2ZldGNoLWluLXNhbWUtb3JpZ2luLXNlcnZpY2Utd29y
a2VyLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3Nh
bWUtc2l0ZS9mZXRjaC1pbi1zYW1lLW9yaWdpbi1zZXJ2aWNlLXdvcmtlci5odG1sCShyZXZpc2lv
biAyNzUxNTkpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRlL2Zl
dGNoLWluLXNhbWUtb3JpZ2luLXNlcnZpY2Utd29ya2VyLmh0bWwJKHdvcmtpbmcgY29weSkKQEAg
LTIwLDcgKzIwLDcgQEAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpCiAgICAgYXdhaXQgc2V0Q29v
a2llKCJpbXBsaWNpdC1zdHJpY3QiLCAiMTEiLCB7IlNhbWVTaXRlIjogbnVsbCwgIk1heC1BZ2Ui
OiAxMDAsICJwYXRoIjogIi8ifSk7CiAgICAgYXdhaXQgc2V0Q29va2llKCJzdHJpY3QtYmVjYXVz
ZS1pbnZhbGlkLVNhbWVTaXRlLXZhbHVlIiwgIjExIiwgeyJTYW1lU2l0ZSI6ICJpbnZhbGlkIiwg
Ik1heC1BZ2UiOiAxMDAsICJwYXRoIjogIi8ifSk7CiAgICAgYXdhaXQgc2V0Q29va2llKCJsYXgi
LCAiMTEiLCB7IlNhbWVTaXRlIjogIkxheCIsICJNYXgtQWdlIjogMTAwLCAicGF0aCI6ICIvIn0p
OwotICAgIGF3YWl0IGludGVyY2VwdGVkRnJhbWUoInJlc291cmNlcy9wYXNzdGhyb3VnaC1zZXJ2
aWNlLXdvcmtlci5qcyIsICJyZXNvdXJjZXMvZmV0Y2gtaW4tc2FtZS1vcmlnaW4tc2VydmljZS13
b3JrZXIucGhwIik7CisgICAgYXdhaXQgaW50ZXJjZXB0ZWRGcmFtZSgicmVzb3VyY2VzL3Bhc3N0
aHJvdWdoLXNlcnZpY2Utd29ya2VyLmpzIiwgInJlc291cmNlcy9mZXRjaC1pbi1zYW1lLW9yaWdp
bi1zZXJ2aWNlLXdvcmtlci5weSIpOwogfQogcnVuVGVzdCgpOwogPC9zY3JpcHQ+CkluZGV4OiBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRlL2xheC1zYW1lc2l0ZS1jb29r
aWUtYWZ0ZXItY3Jvc3Mtc2l0ZS1oaXN0b3J5LWxvYWQucGhwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvbGF4LXNhbWVzaXRlLWNvb2tpZS1h
ZnRlci1jcm9zcy1zaXRlLWhpc3RvcnktbG9hZC5waHAJKHJldmlzaW9uIDI3NTE1OSkKKysrIExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvbGF4LXNhbWVzaXRlLWNvb2tp
ZS1hZnRlci1jcm9zcy1zaXRlLWhpc3RvcnktbG9hZC5waHAJKG5vbmV4aXN0ZW50KQpAQCAtMSwy
NiArMCwwIEBACi08P3BocAotaGVhZGVyKCJDYWNoZS1Db250cm9sOiBuby1zdG9yZSIpOwotPz4K
LTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08Ym9keT4KLTxzY3JpcHQgc3JjPSIvanMtdGVzdC1y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotZGVzY3JpcHRpb24oIlRl
c3RzIHRoYXQgbGF4IHNhbWUtc2l0ZSBjb29raWVzIGFyZSBzZW50IG9uIGEgY3Jvc3Mtc2l0ZSBo
aXN0b3J5IG5hdmlnYXRpb24uIik7Ci1qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLQotb25sb2FkID0g
ZnVuY3Rpb24oKSB7Ci08P3BocAotaWYgKGlzc2V0KCRfQ09PS0lFWyJmb28iXSkpIHsKLSAgICBl
Y2hvICIgICAgdGVzdFBhc3NlZCgnV2FzIGFibGUgdG8gcmVhZCB0aGUgY29va2llIGFmdGVyIHRo
ZSBiYWNrIG5hdmlnYXRpb24nKTsiOwotICAgIGVjaG8gIiAgICBmaW5pc2hKU1Rlc3QoKTsiOwot
ICAgIGVjaG8gIiAgICByZXR1cm47IjsKLX0gZWxzZSB7Ci0gICAgZWNobyAiICAgIGRvY3VtZW50
LmNvb2tpZSA9ICdmb289YmFyOyBTYW1lU2l0ZT1sYXgnOyI7Ci0gICAgZWNobyAiICAgIHNldFRp
bWVvdXQoKCkgPT4geyB3aW5kb3cubG9jYXRpb24gPSAnaHR0cDovL2xvY2FsaG9zdDo4MDAwL2Nv
b2tpZXMvc2FtZS1zaXRlL3Jlc291cmNlcy9uYXZpZ2F0ZS1iYWNrLmh0bWwnOyB9LCAwKTsiOwot
fQotPz4KLX0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9sYXgtc2FtZXNpdGUtY29va2llLWFmdGVyLWNy
b3NzLXNpdGUtaGlzdG9yeS1sb2FkLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAv
dGVzdHMvY29va2llcy9zYW1lLXNpdGUvbGF4LXNhbWVzaXRlLWNvb2tpZS1hZnRlci1jcm9zcy1z
aXRlLWhpc3RvcnktbG9hZC5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2Nvb2tpZXMvc2FtZS1zaXRlL2xheC1zYW1lc2l0ZS1jb29raWUtYWZ0ZXItY3Jvc3Mtc2l0
ZS1oaXN0b3J5LWxvYWQucHkJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0NSBAQAorIyEvdXNy
L2Jpbi9lbnYgcHl0aG9uMworCitpbXBvcnQgb3MKK2ltcG9ydCBzeXMKKworY29va2llcyA9IHt9
CitpZiAnSFRUUF9DT09LSUUnIGluIG9zLmVudmlyb246CisgICAgaGVhZGVyX2Nvb2tpZXMgPSBv
cy5lbnZpcm9uWydIVFRQX0NPT0tJRSddCisgICAgaGVhZGVyX2Nvb2tpZXMgPSBoZWFkZXJfY29v
a2llcy5zcGxpdCgnOyAnKQorCisgICAgZm9yIGNvb2tpZSBpbiBoZWFkZXJfY29va2llczoKKyAg
ICAgICAgY29va2llID0gY29va2llLnNwbGl0KCc9JykKKyAgICAgICAgY29va2llc1tjb29raWVb
MF1dID0gY29va2llWzFdCisKK3N5cy5zdGRvdXQud3JpdGUoCisgICAgJ0NhY2hlLUNvbnRyb2w6
IG5vLXN0b3JlXHJcbicKKyAgICAnQ29udGVudC1UeXBlOiB0ZXh0L2h0bWxcclxuXHJcbicKKykK
KworcHJpbnQoJycnPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxib2R5PgorPHNjcmlwdCBzcmM9
Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitkZXNj
cmlwdGlvbigiVGVzdHMgdGhhdCBsYXggc2FtZS1zaXRlIGNvb2tpZXMgYXJlIHNlbnQgb24gYSBj
cm9zcy1zaXRlIGhpc3RvcnkgbmF2aWdhdGlvbi4iKTsKK2pzVGVzdElzQXN5bmMgPSB0cnVlOwor
CitvbmxvYWQgPSBmdW5jdGlvbigpIHsnJycpCisKK2lmIGNvb2tpZXMuZ2V0KCdmb28nLCBOb25l
KSBpcyBub3QgTm9uZToKKyAgICBzeXMuc3Rkb3V0LndyaXRlKAorICAgICAgICAnICAgIHRlc3RQ
YXNzZWQoXCdXYXMgYWJsZSB0byByZWFkIHRoZSBjb29raWUgYWZ0ZXIgdGhlIGJhY2sgbmF2aWdh
dGlvblwnKTsnCisgICAgICAgICcgICAgZmluaXNoSlNUZXN0KCk7JworICAgICAgICAnICAgIHJl
dHVybjsnCisgICAgKQorZWxzZToKKyAgICBzeXMuc3Rkb3V0LndyaXRlKAorICAgICAgICAnICAg
IGRvY3VtZW50LmNvb2tpZSA9IFwnZm9vPWJhcjsgU2FtZVNpdGU9bGF4XCc7JworICAgICAgICAn
ICAgIHNldFRpbWVvdXQoKCkgPT4geyB3aW5kb3cubG9jYXRpb24gPSBcJ2h0dHA6Ly9sb2NhbGhv
c3Q6ODAwMC9jb29raWVzL3NhbWUtc2l0ZS9yZXNvdXJjZXMvbmF2aWdhdGUtYmFjay5odG1sXCc7
IH0sIDApOycKKyAgICApCisKK3ByaW50KCcnJ30KKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PicnJykKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRlL2xheC1zYW1lc2l0ZS1jb29r
aWUtYWZ0ZXItY3Jvc3Mtc2l0ZS1oaXN0b3J5LWxvYWQucHkKX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3Zu
OmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3Bl
cnR5CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRlL3BvcHVw
LWNyb3NzLXNpdGUtcG9zdC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVz
dHMvY29va2llcy9zYW1lLXNpdGUvcG9wdXAtY3Jvc3Mtc2l0ZS1wb3N0Lmh0bWwJKHJldmlzaW9u
IDI3NTE1OSkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvcG9w
dXAtY3Jvc3Mtc2l0ZS1wb3N0Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTI1LDcgKzI1LDcgQEAg
aWYgKHdpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZSA9PSAiMTI3LjAuMAogICAgICAgICB9KSk7CiAK
ICAgICAgICAgdmFyIGYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdmb3JtJyk7Ci0gICAgICAg
IGYuYWN0aW9uID0gImh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9jb29raWVzL3Jlc291cmNlcy9wb3N0
LWNvb2tpZXMtdG8tb3BlbmVyLnBocCI7CisgICAgICAgIGYuYWN0aW9uID0gImh0dHA6Ly8xMjcu
MC4wLjE6ODAwMC9jb29raWVzL3Jlc291cmNlcy9wb3N0LWNvb2tpZXMtdG8tb3BlbmVyLnB5IjsK
ICAgICAgICAgZi5tZXRob2QgPSAiUE9TVCI7CiAgICAgICAgIGYudGFyZ2V0ID0gIl9ibGFuayIK
ICAgICAgICAgd2luZG93Lm9ubG9hZCA9IHQuc3RlcF9mdW5jKGYuc3VibWl0LmJpbmQoZikpOwpJ
bmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9wb3B1cC1jcm9z
cy1zaXRlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVz
L3NhbWUtc2l0ZS9wb3B1cC1jcm9zcy1zaXRlLmh0bWwJKHJldmlzaW9uIDI3NTE1OSkKKysrIExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvcG9wdXAtY3Jvc3Mtc2l0ZS5o
dG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xMiw3ICsxMiw3IEBAIGlmICh3aW5kb3cubG9jYXRpb24u
aG9zdG5hbWUgPT0gIjEyNy4wLjAKICAgICB3aW5kb3cubG9jYXRpb24uaG9zdG5hbWUgPSAibG9j
YWxob3N0IjsKIH0gZWxzZSB7CiAgICAgYXN5bmNfdGVzdCh0ID0+IHsKLSAgICAgICAgdmFyIGkg
PSB3aW5kb3cub3BlbigiaHR0cDovLzEyNy4wLjAuMTo4MDAwL2Nvb2tpZXMvcmVzb3VyY2VzL3Bv
c3QtY29va2llcy10by1vcGVuZXIucGhwIik7CisgICAgICAgIHZhciBpID0gd2luZG93Lm9wZW4o
Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9jb29raWVzL3Jlc291cmNlcy9wb3N0LWNvb2tpZXMtdG8t
b3BlbmVyLnB5Iik7CiAgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIiwg
dC5zdGVwX2Z1bmNfZG9uZShlID0+IHsKICAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoZS5kYXRh
Lmh0dHBbU1RSSUNUX0RPTV0sIHVuZGVmaW5lZCwgInN0cmljdCIpOwogICAgICAgICAgICAgYXNz
ZXJ0X2VxdWFscyhlLmRhdGEuaHR0cFtJTVBMSUNJVF9TVFJJQ1RfRE9NXSwgIjEiLCAiaW1wbGlj
aXQtc3RyaWN0Iik7CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvc2FtZS1z
aXRlL3BvcHVwLXNhbWUtc2l0ZS1wb3N0Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9wb3B1cC1zYW1lLXNpdGUtcG9zdC5odG1sCShy
ZXZpc2lvbiAyNzUxNTkpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvc2FtZS1z
aXRlL3BvcHVwLXNhbWUtc2l0ZS1wb3N0Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTIzLDcgKzIz
LDcgQEAgYXN5bmNfdGVzdCh0ID0+IHsKICAgICB9KSk7CiAKICAgICB2YXIgZiA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoJ2Zvcm0nKTsKLSAgICBmLmFjdGlvbiA9ICJodHRwOi8vMTI3LjAuMC4x
OjgwMDAvY29va2llcy9yZXNvdXJjZXMvcG9zdC1jb29raWVzLXRvLW9wZW5lci5waHAiOworICAg
IGYuYWN0aW9uID0gImh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9jb29raWVzL3Jlc291cmNlcy9wb3N0
LWNvb2tpZXMtdG8tb3BlbmVyLnB5IjsKICAgICBmLm1ldGhvZCA9ICJQT1NUIjsKICAgICBmLnRh
cmdldCA9ICJfYmxhbmsiOwogICAgIHdpbmRvdy5vbmxvYWQgPSB0LnN0ZXBfZnVuYyhmLnN1Ym1p
dC5iaW5kKGYpKTsKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9zYW1lLXNp
dGUvcG9wdXAtc2FtZS1zaXRlLXZpYS1jcm9zcy1zaXRlLXJlZGlyZWN0Lmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9wb3B1cC1zYW1l
LXNpdGUtdmlhLWNyb3NzLXNpdGUtcmVkaXJlY3QuaHRtbAkocmV2aXNpb24gMjc1MTU5KQorKysg
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9wb3B1cC1zYW1lLXNpdGUt
dmlhLWNyb3NzLXNpdGUtcmVkaXJlY3QuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMjAsNiArMjAs
NiBAQCBhc3luY190ZXN0KHQgPT4gewogICAgICAgICBhc3NlcnRfZXF1YWxzKG5vcm1hbGl6ZUNv
b2tpZShlLmRhdGEuZG9jdW1lbnQpLCBub3JtYWxpemVDb29raWUoSU1QTElDSVRfU1RSSUNUX0RP
TSArICI9MTsgIiArIExBWF9ET00gKyAiPTE7ICIgKyBOT1JNQUxfRE9NICsgIj0xOyAiICsgU1RS
SUNUX0JFQ0FVU0VfSU5WQUxJRF9TQU1FU0lURV9WQUxVRSArICI9MSIpKTsKICAgICB9KSk7CiAK
LSAgICB2YXIgaSA9IHdpbmRvdy5vcGVuKCJodHRwOi8vbG9jYWxob3N0OjgwMDAvcmVzb3VyY2Vz
L3JlZGlyZWN0LnB5P3VybD1odHRwOi8vMTI3LjAuMC4xOjgwMDAvY29va2llcy9yZXNvdXJjZXMv
cG9zdC1jb29raWVzLXRvLW9wZW5lci5waHAiKTsKKyAgICB2YXIgaSA9IHdpbmRvdy5vcGVuKCJo
dHRwOi8vbG9jYWxob3N0OjgwMDAvcmVzb3VyY2VzL3JlZGlyZWN0LnB5P3VybD1odHRwOi8vMTI3
LjAuMC4xOjgwMDAvY29va2llcy9yZXNvdXJjZXMvcG9zdC1jb29raWVzLXRvLW9wZW5lci5weSIp
OwogfSwgIicxMjcuMC4wLjEnIGlzIHNhbWUtc2l0ZSB3aXRoIGl0c2VsZiwgc28gc2FtZXNpdGUg
Y29va2llcyBhcmUgc2VudC4iKTsKIDwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9wb3B1cC1zYW1lLXNpdGUtdmlhLXNhbWUtc2l0ZS1yZWRp
cmVjdC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9z
YW1lLXNpdGUvcG9wdXAtc2FtZS1zaXRlLXZpYS1zYW1lLXNpdGUtcmVkaXJlY3QuaHRtbAkocmV2
aXNpb24gMjc1MTU5KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0
ZS9wb3B1cC1zYW1lLXNpdGUtdmlhLXNhbWUtc2l0ZS1yZWRpcmVjdC5odG1sCSh3b3JraW5nIGNv
cHkpCkBAIC0yMCw2ICsyMCw2IEBAIGFzeW5jX3Rlc3QodCA9PiB7CiAgICAgICAgIGFzc2VydF9l
cXVhbHMobm9ybWFsaXplQ29va2llKGUuZGF0YS5kb2N1bWVudCksIG5vcm1hbGl6ZUNvb2tpZShT
VFJJQ1RfQkVDQVVTRV9JTlZBTElEX1NBTUVTSVRFX1ZBTFVFICsgIj0xOyAiICsgSU1QTElDSVRf
U1RSSUNUX0RPTSArICI9MTsgIiArIFNUUklDVF9ET00gKyAiPTE7ICIgKyBMQVhfRE9NICsgIj0x
OyAiICsgTk9STUFMX0RPTSArICI9MSIpKTsKICAgICB9KSk7CiAKLSAgICB2YXIgaSA9IHdpbmRv
dy5vcGVuKCJodHRwOi8vMTI3LjAuMC4xOjgwMDAvcmVzb3VyY2VzL3JlZGlyZWN0LnB5P3VybD1o
dHRwOi8vMTI3LjAuMC4xOjgwMDAvY29va2llcy9yZXNvdXJjZXMvcG9zdC1jb29raWVzLXRvLW9w
ZW5lci5waHAiKTsKKyAgICB2YXIgaSA9IHdpbmRvdy5vcGVuKCJodHRwOi8vMTI3LjAuMC4xOjgw
MDAvcmVzb3VyY2VzL3JlZGlyZWN0LnB5P3VybD1odHRwOi8vMTI3LjAuMC4xOjgwMDAvY29va2ll
cy9yZXNvdXJjZXMvcG9zdC1jb29raWVzLXRvLW9wZW5lci5weSIpOwogfSwgIicxMjcuMC4wLjEn
IGlzIHNhbWUtc2l0ZSB3aXRoIGl0c2VsZiwgc28gc2FtZXNpdGUgY29va2llcyBhcmUgc2VudC4i
KTsKIDwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3NhbWUt
c2l0ZS9wb3B1cC1zYW1lLXNpdGUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRlL3BvcHVwLXNhbWUtc2l0ZS5odG1sCShyZXZpc2lvbiAy
NzUxNTkpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRlL3BvcHVw
LXNhbWUtc2l0ZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0yMCw2ICsyMCw2IEBAIGFzeW5jX3Rl
c3QodCA9PiB7CiAgICAgICAgIGFzc2VydF9lcXVhbHMobm9ybWFsaXplQ29va2llKGUuZGF0YS5k
b2N1bWVudCksIG5vcm1hbGl6ZUNvb2tpZShTVFJJQ1RfQkVDQVVTRV9JTlZBTElEX1NBTUVTSVRF
X1ZBTFVFICsgIj0xOyAiICsgSU1QTElDSVRfU1RSSUNUX0RPTSArICI9MTsgIiArIFNUUklDVF9E
T00gKyAiPTE7ICIgKyBMQVhfRE9NICsgIj0xOyAiICsgTk9STUFMX0RPTSArICI9MSIpKTsKICAg
ICB9KSk7CiAKLSAgICB2YXIgaSA9IHdpbmRvdy5vcGVuKCJodHRwOi8vMTI3LjAuMC4xOjgwMDAv
Y29va2llcy9yZXNvdXJjZXMvcG9zdC1jb29raWVzLXRvLW9wZW5lci5waHAiKTsKKyAgICB2YXIg
aSA9IHdpbmRvdy5vcGVuKCJodHRwOi8vMTI3LjAuMC4xOjgwMDAvY29va2llcy9yZXNvdXJjZXMv
cG9zdC1jb29raWVzLXRvLW9wZW5lci5weSIpOwogfSwgIicxMjcuMC4wLjEnIGlzIHNhbWUtc2l0
ZSB3aXRoIGl0c2VsZiwgc28gc2FtZXNpdGUgY29va2llcyBhcmUgc2VudC4iKTsKIDwvc2NyaXB0
PgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9yZXNvdXJj
ZXMvY2xpY2staHlwZXJsaW5rLnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2Nvb2tpZXMvc2FtZS1zaXRlL3Jlc291cmNlcy9jbGljay1oeXBlcmxpbmsucGhwCShyZXZp
c2lvbiAyNzUxNTkpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRl
L3Jlc291cmNlcy9jbGljay1oeXBlcmxpbmsucGhwCShub25leGlzdGVudCkKQEAgLTEsMjIgKzAs
MCBAQAotPCFET0NUWVBFPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQ+Ci1pZiAod2luZG93LnRl
c3RSdW5uZXIpCi0gICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci08L3NjcmlwdD4KLTwv
aGVhZD4KLTxib2R5PgotPD9waHAKLSAgICAkdGFyZ2V0QXR0cmlidXRlID0gIiI7Ci0gICAgaWYg
KCFlbXB0eSgkX0dFVFsidGFyZ2V0Il0pKQotICAgICAgICAkdGFyZ2V0QXR0cmlidXRlID0gJ3Rh
cmdldD0iJyAuICRfR0VUWyJ0YXJnZXQiXSAuICciJzsKLT8+Ci08YSBocmVmPSI8P3BocCBlY2hv
ICRfR0VUWydocmVmJ107ID8+IiA8P3BocCBlY2hvICR0YXJnZXRBdHRyaWJ1dGU7ID8+PkNsaWNr
PC9hPgotPHNjcmlwdD4KLWludGVybmFscy53aXRoVXNlckdlc3R1cmUoKCkgPT4gewotICAgIGRv
Y3VtZW50LnF1ZXJ5U2VsZWN0b3IoImEiKS5jbGljaygpOwotfSk7Ci08L3NjcmlwdD4KLTwvYm9k
eT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9zYW1lLXNp
dGUvcmVzb3VyY2VzL2NsaWNrLWh5cGVybGluay5weQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRlL3Jlc291cmNlcy9jbGljay1oeXBlcmxpbmsu
cHkJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3NhbWUt
c2l0ZS9yZXNvdXJjZXMvY2xpY2staHlwZXJsaW5rLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsMzMgQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbjMKKworaW1wb3J0IG9zCitpbXBvcnQgc3lz
Citmcm9tIHVybGxpYi5wYXJzZSBpbXBvcnQgcGFyc2VfcXMKKworcXVlcnkgPSBwYXJzZV9xcyhv
cy5lbnZpcm9uLmdldCgnUVVFUllfU1RSSU5HJywgJycpLCBrZWVwX2JsYW5rX3ZhbHVlcz1UcnVl
KQoraHJlZiA9IHF1ZXJ5LmdldCgnaHJlZicsIFtOb25lXSlbMF0KK3RhcmdldCA9IHF1ZXJ5Lmdl
dCgndGFyZ2V0JywgW05vbmVdKVswXQorCit0YXJnZXRfYXR0ciA9ICcnCitpZiB0YXJnZXQgaXMg
bm90IE5vbmU6CisgICAgdGFyZ2V0X2F0dHIgPSAndGFyZ2V0PSJ7fSInLmZvcm1hdCh0YXJnZXQp
CisKK3N5cy5zdGRvdXQud3JpdGUoJ0NvbnRlbnQtVHlwZTogdGV4dC9odG1sXHJcblxyXG4nKQor
CitwcmludCgnJyc8IURPQ1RZUEU+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KK2lmICh3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKzwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8YSBocmVmPSJ7fSIge30+Q2xpY2s8L2E+Cis8c2NyaXB0Pgor
aW50ZXJuYWxzLndpdGhVc2VyR2VzdHVyZSgoKSA9PiB7eworICAgIGRvY3VtZW50LnF1ZXJ5U2Vs
ZWN0b3IoImEiKS5jbGljaygpOworfX0pOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Jycn
LmZvcm1hdChocmVmLCB0YXJnZXRfYXR0cikpClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoK
UHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3NhbWUt
c2l0ZS9yZXNvdXJjZXMvY2xpY2staHlwZXJsaW5rLnB5Cl9fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpl
eGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0
eQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9yZXNvdXJj
ZXMvZmV0Y2gtYWZ0ZXItbmF2aWdhdGluZy1pZnJhbWUtaW4tY3Jvc3Mtb3JpZ2luLXBhZ2UucGhw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUv
cmVzb3VyY2VzL2ZldGNoLWFmdGVyLW5hdmlnYXRpbmctaWZyYW1lLWluLWNyb3NzLW9yaWdpbi1w
YWdlLnBocAkocmV2aXNpb24gMjc1MTU5KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29r
aWVzL3NhbWUtc2l0ZS9yZXNvdXJjZXMvZmV0Y2gtYWZ0ZXItbmF2aWdhdGluZy1pZnJhbWUtaW4t
Y3Jvc3Mtb3JpZ2luLXBhZ2UucGhwCShub25leGlzdGVudCkKQEAgLTEsMzUgKzAsMCBAQAotPCFE
T0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
Y29va2llLXV0aWxpdGllcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0Pl9zZXRDYWNoZWRDb29raWVz
SlNPTignPD9waHAgZWNobyBqc29uX2VuY29kZSgkX0NPT0tJRSk7ID8+Jyk8L3NjcmlwdD4KLTwv
aGVhZD4KLTxib2R5PgotPHNjcmlwdD4KLXdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLQot
ZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgU2FtZS1TaXRlIGNvb2tpZXMgZm9yIDEyNy4wLjAuMSBh
cmUgbm90IHNlbnQgd2l0aCBhIGZyYW1lIG5hdmlnYXRpb24gZm9yIGEgZnJhbWUgZW1iZWRkZWQg
aW4gYSBwYWdlIHdpdGggYSBkaWZmZXJlbnQgb3JpZ2luLiIpOwotCi1hc3luYyBmdW5jdGlvbiBj
aGVja1Jlc3VsdCgpCi17Ci0gICAgZGVidWcoIkNvb2tpZXMgc2VudCB3aXRoIEhUVFAgcmVxdWVz
dDoiKTsKLSAgICBhd2FpdCBzaG91bGROb3RIYXZlQ29va2llKCJzdHJpY3QiKTsKLSAgICBhd2Fp
dCBzaG91bGRIYXZlQ29va2llV2l0aFZhbHVlKCJpbXBsaWNpdC1zdHJpY3QiLCAiNiIpOwotICAg
IGF3YWl0IHNob3VsZEhhdmVDb29raWVXaXRoVmFsdWUoInN0cmljdC1iZWNhdXNlLWludmFsaWQt
U2FtZVNpdGUtdmFsdWUiLCAiNiIpOwotICAgIGF3YWl0IHNob3VsZE5vdEhhdmVDb29raWUoImxh
eCIpOwotCi0gICAgZGVidWcoIjxicj5Db29raWVzIHZpc2libGUgaW4gRE9NOiIpOwotICAgIHNo
b3VsZE5vdEhhdmVET01Db29raWUoInN0cmljdCIpOwotICAgIHNob3VsZEhhdmVET01Db29raWVX
aXRoVmFsdWUoImltcGxpY2l0LXN0cmljdCIsICI2Iik7Ci0gICAgc2hvdWxkSGF2ZURPTUNvb2tp
ZVdpdGhWYWx1ZSgic3RyaWN0LWJlY2F1c2UtaW52YWxpZC1TYW1lU2l0ZS12YWx1ZSIsICI2Iik7
Ci0gICAgc2hvdWxkTm90SGF2ZURPTUNvb2tpZSgibGF4Iik7Ci0KLSAgICBhd2FpdCByZXNldENv
b2tpZXMoKTsKLSAgICBmaW5pc2hKU1Rlc3QoKTsKLX0KLQotY2hlY2tSZXN1bHQoKTsKLTwvc2Ny
aXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29r
aWVzL3NhbWUtc2l0ZS9yZXNvdXJjZXMvZmV0Y2gtYWZ0ZXItbmF2aWdhdGluZy1pZnJhbWUtaW4t
Y3Jvc3Mtb3JpZ2luLXBhZ2UucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9jb29raWVzL3NhbWUtc2l0ZS9yZXNvdXJjZXMvZmV0Y2gtYWZ0ZXItbmF2aWdhdGluZy1pZnJh
bWUtaW4tY3Jvc3Mtb3JpZ2luLXBhZ2UucHkJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9yZXNvdXJjZXMvZmV0Y2gtYWZ0ZXItbmF2aWdh
dGluZy1pZnJhbWUtaW4tY3Jvc3Mtb3JpZ2luLXBhZ2UucHkJKHdvcmtpbmcgY29weSkKQEAgLTAs
MCArMSw1MiBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMworCitpbXBvcnQganNvbgoraW1wb3J0
IG9zCitpbXBvcnQgc3lzCisKK2Nvb2tpZXMgPSB7fQoraWYgJ0hUVFBfQ09PS0lFJyBpbiBvcy5l
bnZpcm9uOgorICAgIGhlYWRlcl9jb29raWVzID0gb3MuZW52aXJvblsnSFRUUF9DT09LSUUnXQor
ICAgIGhlYWRlcl9jb29raWVzID0gaGVhZGVyX2Nvb2tpZXMuc3BsaXQoJzsgJykKKworICAgIGZv
ciBjb29raWUgaW4gaGVhZGVyX2Nvb2tpZXM6CisgICAgICAgIGNvb2tpZSA9IGNvb2tpZS5zcGxp
dCgnPScpCisgICAgICAgIGNvb2tpZXNbY29va2llWzBdXSA9IGNvb2tpZVsxXQorCitzeXMuc3Rk
b3V0LndyaXRlKCdDb250ZW50LVR5cGU6IHRleHQvaHRtbFxyXG5cclxuJykKKworcHJpbnQoJycn
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvY29va2llLXV0aWxpdGllcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0Pl9zZXRDYWNoZWRDb29r
aWVzSlNPTigne30nKTwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0Pgord2luZG93
LmpzVGVzdElzQXN5bmMgPSB0cnVlOworCitkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBTYW1lLVNp
dGUgY29va2llcyBmb3IgMTI3LjAuMC4xIGFyZSBub3Qgc2VudCB3aXRoIGEgZnJhbWUgbmF2aWdh
dGlvbiBmb3IgYSBmcmFtZSBlbWJlZGRlZCBpbiBhIHBhZ2Ugd2l0aCBhIGRpZmZlcmVudCBvcmln
aW4uIik7CisKK2FzeW5jIGZ1bmN0aW9uIGNoZWNrUmVzdWx0KCkKK3t7CisgICAgZGVidWcoIkNv
b2tpZXMgc2VudCB3aXRoIEhUVFAgcmVxdWVzdDoiKTsKKyAgICBhd2FpdCBzaG91bGROb3RIYXZl
Q29va2llKCJzdHJpY3QiKTsKKyAgICBhd2FpdCBzaG91bGRIYXZlQ29va2llV2l0aFZhbHVlKCJp
bXBsaWNpdC1zdHJpY3QiLCAiNiIpOworICAgIGF3YWl0IHNob3VsZEhhdmVDb29raWVXaXRoVmFs
dWUoInN0cmljdC1iZWNhdXNlLWludmFsaWQtU2FtZVNpdGUtdmFsdWUiLCAiNiIpOworICAgIGF3
YWl0IHNob3VsZE5vdEhhdmVDb29raWUoImxheCIpOworCisgICAgZGVidWcoIjxicj5Db29raWVz
IHZpc2libGUgaW4gRE9NOiIpOworICAgIHNob3VsZE5vdEhhdmVET01Db29raWUoInN0cmljdCIp
OworICAgIHNob3VsZEhhdmVET01Db29raWVXaXRoVmFsdWUoImltcGxpY2l0LXN0cmljdCIsICI2
Iik7CisgICAgc2hvdWxkSGF2ZURPTUNvb2tpZVdpdGhWYWx1ZSgic3RyaWN0LWJlY2F1c2UtaW52
YWxpZC1TYW1lU2l0ZS12YWx1ZSIsICI2Iik7CisgICAgc2hvdWxkTm90SGF2ZURPTUNvb2tpZSgi
bGF4Iik7CisKKyAgICBhd2FpdCByZXNldENvb2tpZXMoKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsK
K319CisKK2NoZWNrUmVzdWx0KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4nJycuZm9y
bWF0KGpzb24uZHVtcHMoY29va2llcykpKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKClBy
b3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9zYW1lLXNp
dGUvcmVzb3VyY2VzL2ZldGNoLWFmdGVyLW5hdmlnYXRpbmctaWZyYW1lLWluLWNyb3NzLW9yaWdp
bi1wYWdlLnB5Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMK
KyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9yZXNvdXJjZXMvZmV0Y2gtYWZ0ZXItdG9wLWxldmVs
LWNyb3NzLW9yaWdpbi1yZWRpcmVjdC5waHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9yZXNvdXJjZXMvZmV0Y2gtYWZ0ZXItdG9wLWxldmVs
LWNyb3NzLW9yaWdpbi1yZWRpcmVjdC5waHAJKHJldmlzaW9uIDI3NTE1OSkKKysrIExheW91dFRl
c3RzL2h0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvcmVzb3VyY2VzL2ZldGNoLWFmdGVyLXRv
cC1sZXZlbC1jcm9zcy1vcmlnaW4tcmVkaXJlY3QucGhwCShub25leGlzdGVudCkKQEAgLTEsMzUg
KzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii9q
cy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvY29va2llLXV0aWxpdGllcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0Pl9zZXRD
YWNoZWRDb29raWVzSlNPTignPD9waHAgZWNobyBqc29uX2VuY29kZSgkX0NPT0tJRSk7ID8+Jyk8
L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHNjcmlwdD4KLXdpbmRvdy5qc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKLQotZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgYSBTYW1lU2l0ZSBMYXggY29va2ll
IGZvciAxMjcuMC4wLjEgaXMgc2VudCB3aXRoIGEgcmVkaXJlY3QgZnJvbSBhIHBhZ2Ugd2l0aCBh
IGRpZmZlcmVudCBvcmlnaW4uIik7Ci0KLWFzeW5jIGZ1bmN0aW9uIGNoZWNrUmVzdWx0KCkKLXsK
LSAgICBkZWJ1ZygiQ29va2llcyBzZW50IHdpdGggSFRUUCByZXF1ZXN0OiIpOwotICAgIGF3YWl0
IHNob3VsZE5vdEhhdmVDb29raWUoInN0cmljdCIpOwotICAgIGF3YWl0IHNob3VsZEhhdmVDb29r
aWVXaXRoVmFsdWUoImltcGxpY2l0LXN0cmljdCIsICIxOSIpOwotICAgIGF3YWl0IHNob3VsZEhh
dmVDb29raWVXaXRoVmFsdWUoInN0cmljdC1iZWNhdXNlLWludmFsaWQtU2FtZVNpdGUtdmFsdWUi
LCAiMTkiKTsKLSAgICBhd2FpdCBzaG91bGRIYXZlQ29va2llV2l0aFZhbHVlKCJsYXgiLCAiMTki
KTsKLQotICAgIGRlYnVnKCI8YnI+Q29va2llcyB2aXNpYmxlIGluIERPTToiKTsKLSAgICBzaG91
bGROb3RIYXZlRE9NQ29va2llKCJzdHJpY3QiKTsKLSAgICBzaG91bGRIYXZlRE9NQ29va2llV2l0
aFZhbHVlKCJpbXBsaWNpdC1zdHJpY3QiLCAiMTkiKTsKLSAgICBzaG91bGRIYXZlRE9NQ29va2ll
V2l0aFZhbHVlKCJzdHJpY3QtYmVjYXVzZS1pbnZhbGlkLVNhbWVTaXRlLXZhbHVlIiwgIjE5Iik7
Ci0gICAgc2hvdWxkSGF2ZURPTUNvb2tpZVdpdGhWYWx1ZSgibGF4IiwgIjE5Iik7Ci0KLSAgICBh
d2FpdCByZXNldENvb2tpZXMoKTsKLSAgICBmaW5pc2hKU1Rlc3QoKTsKLX0KLQotY2hlY2tSZXN1
bHQoKTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9yZXNvdXJjZXMvZmV0Y2gtYWZ0ZXItdG9wLWxldmVs
LWNyb3NzLW9yaWdpbi1yZWRpcmVjdC5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRlL3Jlc291cmNlcy9mZXRjaC1hZnRlci10b3AtbGV2ZWwt
Y3Jvc3Mtb3JpZ2luLXJlZGlyZWN0LnB5CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0
dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvcmVzb3VyY2VzL2ZldGNoLWFmdGVyLXRvcC1sZXZl
bC1jcm9zcy1vcmlnaW4tcmVkaXJlY3QucHkJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1MiBA
QAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMworCitpbXBvcnQganNvbgoraW1wb3J0IG9zCitpbXBv
cnQgc3lzCisKK2Nvb2tpZXMgPSB7fQoraWYgJ0hUVFBfQ09PS0lFJyBpbiBvcy5lbnZpcm9uOgor
ICAgIGhlYWRlcl9jb29raWVzID0gb3MuZW52aXJvblsnSFRUUF9DT09LSUUnXQorICAgIGhlYWRl
cl9jb29raWVzID0gaGVhZGVyX2Nvb2tpZXMuc3BsaXQoJzsgJykKKworICAgIGZvciBjb29raWUg
aW4gaGVhZGVyX2Nvb2tpZXM6CisgICAgICAgIGNvb2tpZSA9IGNvb2tpZS5zcGxpdCgnPScpCisg
ICAgICAgIGNvb2tpZXNbY29va2llWzBdXSA9IGNvb2tpZVsxXQorCitzeXMuc3Rkb3V0LndyaXRl
KCdDb250ZW50LVR5cGU6IHRleHQvaHRtbFxyXG5cclxuJykKKworcHJpbnQoJycnPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvY29va2ll
LXV0aWxpdGllcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0Pl9zZXRDYWNoZWRDb29raWVzSlNPTign
e30nKTwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0Pgord2luZG93LmpzVGVzdElz
QXN5bmMgPSB0cnVlOworCitkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBhIFNhbWVTaXRlIExheCBj
b29raWUgZm9yIDEyNy4wLjAuMSBpcyBzZW50IHdpdGggYSByZWRpcmVjdCBmcm9tIGEgcGFnZSB3
aXRoIGEgZGlmZmVyZW50IG9yaWdpbi4iKTsKKworYXN5bmMgZnVuY3Rpb24gY2hlY2tSZXN1bHQo
KQore3sKKyAgICBkZWJ1ZygiQ29va2llcyBzZW50IHdpdGggSFRUUCByZXF1ZXN0OiIpOworICAg
IGF3YWl0IHNob3VsZE5vdEhhdmVDb29raWUoInN0cmljdCIpOworICAgIGF3YWl0IHNob3VsZEhh
dmVDb29raWVXaXRoVmFsdWUoImltcGxpY2l0LXN0cmljdCIsICIxOSIpOworICAgIGF3YWl0IHNo
b3VsZEhhdmVDb29raWVXaXRoVmFsdWUoInN0cmljdC1iZWNhdXNlLWludmFsaWQtU2FtZVNpdGUt
dmFsdWUiLCAiMTkiKTsKKyAgICBhd2FpdCBzaG91bGRIYXZlQ29va2llV2l0aFZhbHVlKCJsYXgi
LCAiMTkiKTsKKworICAgIGRlYnVnKCI8YnI+Q29va2llcyB2aXNpYmxlIGluIERPTToiKTsKKyAg
ICBzaG91bGROb3RIYXZlRE9NQ29va2llKCJzdHJpY3QiKTsKKyAgICBzaG91bGRIYXZlRE9NQ29v
a2llV2l0aFZhbHVlKCJpbXBsaWNpdC1zdHJpY3QiLCAiMTkiKTsKKyAgICBzaG91bGRIYXZlRE9N
Q29va2llV2l0aFZhbHVlKCJzdHJpY3QtYmVjYXVzZS1pbnZhbGlkLVNhbWVTaXRlLXZhbHVlIiwg
IjE5Iik7CisgICAgc2hvdWxkSGF2ZURPTUNvb2tpZVdpdGhWYWx1ZSgibGF4IiwgIjE5Iik7CisK
KyAgICBhd2FpdCByZXNldENvb2tpZXMoKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK319CisKK2No
ZWNrUmVzdWx0KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4nJycuZm9ybWF0KGpzb24u
ZHVtcHMoY29va2llcykpKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKClByb3BlcnR5IGNo
YW5nZXMgb246IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvcmVzb3Vy
Y2VzL2ZldGNoLWFmdGVyLXRvcC1sZXZlbC1jcm9zcy1vcmlnaW4tcmVkaXJlY3QucHkKX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMv
c2FtZS1zaXRlL3Jlc291cmNlcy9mZXRjaC1hZnRlci10b3AtbGV2ZWwtbmF2aWdhdGlvbi1mcm9t
LWNyb3NzLW9yaWdpbi1wYWdlLnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2Nvb2tpZXMvc2FtZS1zaXRlL3Jlc291cmNlcy9mZXRjaC1hZnRlci10b3AtbGV2ZWwtbmF2
aWdhdGlvbi1mcm9tLWNyb3NzLW9yaWdpbi1wYWdlLnBocAkocmV2aXNpb24gMjc1MTU5KQorKysg
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9yZXNvdXJjZXMvZmV0Y2gt
YWZ0ZXItdG9wLWxldmVsLW5hdmlnYXRpb24tZnJvbS1jcm9zcy1vcmlnaW4tcGFnZS5waHAJKG5v
bmV4aXN0ZW50KQpAQCAtMSwzNSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhl
YWQ+Ci08c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9jb29raWUtdXRpbGl0aWVzLmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQ+X3NldENhY2hlZENvb2tpZXNKU09OKCc8P3BocCBlY2hvIGpzb25fZW5j
b2RlKCRfQ09PS0lFKTsgPz4nKTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08c2NyaXB0Pgot
d2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOwotCi1kZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBh
IFNhbWVTaXRlIExheCBjb29raWUgZm9yIDEyNy4wLjAuMSBpcyBzZW50IHdpdGggYSB0b3AtbGV2
ZWwgbmF2aWdhdGlvbiBpbml0aWF0ZWQgZnJvbSBhIHBhZ2Ugd2l0aCBhIGRpZmZlcmVudCBvcmln
aW4uIik7Ci0KLWFzeW5jIGZ1bmN0aW9uIGNoZWNrUmVzdWx0KCkKLXsKLSAgICBkZWJ1ZygiQ29v
a2llcyBzZW50IHdpdGggSFRUUCByZXF1ZXN0OiIpOwotICAgIGF3YWl0IHNob3VsZE5vdEhhdmVD
b29raWUoInN0cmljdCIpOwotICAgIGF3YWl0IHNob3VsZEhhdmVDb29raWVXaXRoVmFsdWUoImlt
cGxpY2l0LXN0cmljdCIsICI1Iik7Ci0gICAgYXdhaXQgc2hvdWxkSGF2ZUNvb2tpZVdpdGhWYWx1
ZSgic3RyaWN0LWJlY2F1c2UtaW52YWxpZC1TYW1lU2l0ZS12YWx1ZSIsICI1Iik7Ci0gICAgYXdh
aXQgc2hvdWxkSGF2ZUNvb2tpZVdpdGhWYWx1ZSgibGF4IiwgIjUiKTsKLQotICAgIGRlYnVnKCI8
YnI+Q29va2llcyB2aXNpYmxlIGluIERPTToiKTsKLSAgICBzaG91bGROb3RIYXZlRE9NQ29va2ll
KCJzdHJpY3QiKTsKLSAgICBzaG91bGRIYXZlRE9NQ29va2llV2l0aFZhbHVlKCJpbXBsaWNpdC1z
dHJpY3QiLCAiNSIpOwotICAgIHNob3VsZEhhdmVET01Db29raWVXaXRoVmFsdWUoInN0cmljdC1i
ZWNhdXNlLWludmFsaWQtU2FtZVNpdGUtdmFsdWUiLCAiNSIpOwotICAgIHNob3VsZEhhdmVET01D
b29raWVXaXRoVmFsdWUoImxheCIsICI1Iik7Ci0KLSAgICBhd2FpdCByZXNldENvb2tpZXMoKTsK
LSAgICBmaW5pc2hKU1Rlc3QoKTsKLX0KLQotY2hlY2tSZXN1bHQoKTsKLTwvc2NyaXB0PgotPC9i
b2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3NhbWUt
c2l0ZS9yZXNvdXJjZXMvZmV0Y2gtYWZ0ZXItdG9wLWxldmVsLW5hdmlnYXRpb24tZnJvbS1jcm9z
cy1vcmlnaW4tcGFnZS5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nv
b2tpZXMvc2FtZS1zaXRlL3Jlc291cmNlcy9mZXRjaC1hZnRlci10b3AtbGV2ZWwtbmF2aWdhdGlv
bi1mcm9tLWNyb3NzLW9yaWdpbi1wYWdlLnB5CShub25leGlzdGVudCkKKysrIExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvcmVzb3VyY2VzL2ZldGNoLWFmdGVyLXRvcC1s
ZXZlbC1uYXZpZ2F0aW9uLWZyb20tY3Jvc3Mtb3JpZ2luLXBhZ2UucHkJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSw1MiBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMworCitpbXBvcnQganNvbgor
aW1wb3J0IG9zCitpbXBvcnQgc3lzCisKK2Nvb2tpZXMgPSB7fQoraWYgJ0hUVFBfQ09PS0lFJyBp
biBvcy5lbnZpcm9uOgorICAgIGhlYWRlcl9jb29raWVzID0gb3MuZW52aXJvblsnSFRUUF9DT09L
SUUnXQorICAgIGhlYWRlcl9jb29raWVzID0gaGVhZGVyX2Nvb2tpZXMuc3BsaXQoJzsgJykKKwor
ICAgIGZvciBjb29raWUgaW4gaGVhZGVyX2Nvb2tpZXM6CisgICAgICAgIGNvb2tpZSA9IGNvb2tp
ZS5zcGxpdCgnPScpCisgICAgICAgIGNvb2tpZXNbY29va2llWzBdXSA9IGNvb2tpZVsxXQorCitz
eXMuc3Rkb3V0LndyaXRlKCdDb250ZW50LVR5cGU6IHRleHQvaHRtbFxyXG5cclxuJykKKworcHJp
bnQoJycnPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii9qcy10
ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvY29va2llLXV0aWxpdGllcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0Pl9zZXRDYWNo
ZWRDb29raWVzSlNPTigne30nKTwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0Pgor
d2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworCitkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBh
IFNhbWVTaXRlIExheCBjb29raWUgZm9yIDEyNy4wLjAuMSBpcyBzZW50IHdpdGggYSB0b3AtbGV2
ZWwgbmF2aWdhdGlvbiBpbml0aWF0ZWQgZnJvbSBhIHBhZ2Ugd2l0aCBhIGRpZmZlcmVudCBvcmln
aW4uIik7CisKK2FzeW5jIGZ1bmN0aW9uIGNoZWNrUmVzdWx0KCkKK3t7CisgICAgZGVidWcoIkNv
b2tpZXMgc2VudCB3aXRoIEhUVFAgcmVxdWVzdDoiKTsKKyAgICBhd2FpdCBzaG91bGROb3RIYXZl
Q29va2llKCJzdHJpY3QiKTsKKyAgICBhd2FpdCBzaG91bGRIYXZlQ29va2llV2l0aFZhbHVlKCJp
bXBsaWNpdC1zdHJpY3QiLCAiNSIpOworICAgIGF3YWl0IHNob3VsZEhhdmVDb29raWVXaXRoVmFs
dWUoInN0cmljdC1iZWNhdXNlLWludmFsaWQtU2FtZVNpdGUtdmFsdWUiLCAiNSIpOworICAgIGF3
YWl0IHNob3VsZEhhdmVDb29raWVXaXRoVmFsdWUoImxheCIsICI1Iik7CisKKyAgICBkZWJ1Zygi
PGJyPkNvb2tpZXMgdmlzaWJsZSBpbiBET006Iik7CisgICAgc2hvdWxkTm90SGF2ZURPTUNvb2tp
ZSgic3RyaWN0Iik7CisgICAgc2hvdWxkSGF2ZURPTUNvb2tpZVdpdGhWYWx1ZSgiaW1wbGljaXQt
c3RyaWN0IiwgIjUiKTsKKyAgICBzaG91bGRIYXZlRE9NQ29va2llV2l0aFZhbHVlKCJzdHJpY3Qt
YmVjYXVzZS1pbnZhbGlkLVNhbWVTaXRlLXZhbHVlIiwgIjUiKTsKKyAgICBzaG91bGRIYXZlRE9N
Q29va2llV2l0aFZhbHVlKCJsYXgiLCAiNSIpOworCisgICAgYXdhaXQgcmVzZXRDb29raWVzKCk7
CisgICAgZmluaXNoSlNUZXN0KCk7Cit9fQorCitjaGVja1Jlc3VsdCgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+JycnLmZvcm1hdChqc29uLmR1bXBzKGNvb2tpZXMpKSkKXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRlL3Jlc291cmNlcy9mZXRjaC1hZnRlci10b3AtbGV2ZWwt
bmF2aWdhdGlvbi1mcm9tLWNyb3NzLW9yaWdpbi1wYWdlLnB5Cl9fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2
bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9w
ZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9yZXNv
dXJjZXMvZmV0Y2gtYWZ0ZXItdG9wLWxldmVsLW5hdmlnYXRpb24taW5pdGlhdGVkLWZyb20taWZy
YW1lLWluLWNyb3NzLW9yaWdpbi1wYWdlLnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRlL3Jlc291cmNlcy9mZXRjaC1hZnRlci10b3AtbGV2
ZWwtbmF2aWdhdGlvbi1pbml0aWF0ZWQtZnJvbS1pZnJhbWUtaW4tY3Jvc3Mtb3JpZ2luLXBhZ2Uu
cGhwCShyZXZpc2lvbiAyNzUxNTkpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMv
c2FtZS1zaXRlL3Jlc291cmNlcy9mZXRjaC1hZnRlci10b3AtbGV2ZWwtbmF2aWdhdGlvbi1pbml0
aWF0ZWQtZnJvbS1pZnJhbWUtaW4tY3Jvc3Mtb3JpZ2luLXBhZ2UucGhwCShub25leGlzdGVudCkK
QEAgLTEsMzUgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlw
dCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvY29va2llLXV0aWxpdGllcy5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0Pl9zZXRDYWNoZWRDb29raWVzSlNPTignPD9waHAgZWNobyBqc29uX2VuY29kZSgkX0NPT0tJ
RSk7ID8+Jyk8L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHNjcmlwdD4KLXdpbmRvdy5qc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKLQotZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgYSBTYW1lU2l0ZSBM
YXggY29va2llIGZvciAxMjcuMC4wLjEgaXMgc2VudCB3aXRoIGEgdG9wLWxldmVsIG5hdmlnYXRp
b24gaW5pdGlhdGVkIGZyb20gYSBmcmFtZSBlbWJlZGRlZCBpbiBhIHBhZ2Ugd2l0aCBhIGRpZmZl
cmVudCBvcmlnaW4uIik7Ci0KLWFzeW5jIGZ1bmN0aW9uIGNoZWNrUmVzdWx0KCkKLXsKLSAgICBk
ZWJ1ZygiQ29va2llcyBzZW50IHdpdGggSFRUUCByZXF1ZXN0OiIpOwotICAgIGF3YWl0IHNob3Vs
ZE5vdEhhdmVDb29raWUoInN0cmljdCIpOwotICAgIGF3YWl0IHNob3VsZEhhdmVDb29raWVXaXRo
VmFsdWUoImltcGxpY2l0LXN0cmljdCIsICI0Iik7Ci0gICAgYXdhaXQgc2hvdWxkSGF2ZUNvb2tp
ZVdpdGhWYWx1ZSgic3RyaWN0LWJlY2F1c2UtaW52YWxpZC1TYW1lU2l0ZS12YWx1ZSIsICI0Iik7
Ci0gICAgYXdhaXQgc2hvdWxkSGF2ZUNvb2tpZVdpdGhWYWx1ZSgibGF4IiwgIjQiKTsKLQotICAg
IGRlYnVnKCI8YnI+Q29va2llcyB2aXNpYmxlIGluIERPTToiKTsKLSAgICBzaG91bGROb3RIYXZl
RE9NQ29va2llKCJzdHJpY3QiKTsKLSAgICBzaG91bGRIYXZlRE9NQ29va2llV2l0aFZhbHVlKCJp
bXBsaWNpdC1zdHJpY3QiLCAiNCIpOwotICAgIHNob3VsZEhhdmVET01Db29raWVXaXRoVmFsdWUo
InN0cmljdC1iZWNhdXNlLWludmFsaWQtU2FtZVNpdGUtdmFsdWUiLCAiNCIpOwotICAgIHNob3Vs
ZEhhdmVET01Db29raWVXaXRoVmFsdWUoImxheCIsICI0Iik7Ci0KLSAgICBhd2FpdCByZXNldENv
b2tpZXMoKTsKLSAgICBmaW5pc2hKU1Rlc3QoKTsKLX0KLQotY2hlY2tSZXN1bHQoKTsKLTwvc2Ny
aXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29r
aWVzL3NhbWUtc2l0ZS9yZXNvdXJjZXMvZmV0Y2gtYWZ0ZXItdG9wLWxldmVsLW5hdmlnYXRpb24t
aW5pdGlhdGVkLWZyb20taWZyYW1lLWluLWNyb3NzLW9yaWdpbi1wYWdlLnB5Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvcmVzb3VyY2VzL2Zl
dGNoLWFmdGVyLXRvcC1sZXZlbC1uYXZpZ2F0aW9uLWluaXRpYXRlZC1mcm9tLWlmcmFtZS1pbi1j
cm9zcy1vcmlnaW4tcGFnZS5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2Nvb2tpZXMvc2FtZS1zaXRlL3Jlc291cmNlcy9mZXRjaC1hZnRlci10b3AtbGV2ZWwtbmF2
aWdhdGlvbi1pbml0aWF0ZWQtZnJvbS1pZnJhbWUtaW4tY3Jvc3Mtb3JpZ2luLXBhZ2UucHkJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSw1MiBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMworCitp
bXBvcnQganNvbgoraW1wb3J0IG9zCitpbXBvcnQgc3lzCisKK2Nvb2tpZXMgPSB7fQoraWYgJ0hU
VFBfQ09PS0lFJyBpbiBvcy5lbnZpcm9uOgorICAgIGhlYWRlcl9jb29raWVzID0gb3MuZW52aXJv
blsnSFRUUF9DT09LSUUnXQorICAgIGhlYWRlcl9jb29raWVzID0gaGVhZGVyX2Nvb2tpZXMuc3Bs
aXQoJzsgJykKKworICAgIGZvciBjb29raWUgaW4gaGVhZGVyX2Nvb2tpZXM6CisgICAgICAgIGNv
b2tpZSA9IGNvb2tpZS5zcGxpdCgnPScpCisgICAgICAgIGNvb2tpZXNbY29va2llWzBdXSA9IGNv
b2tpZVsxXQorCitzeXMuc3Rkb3V0LndyaXRlKCdDb250ZW50LVR5cGU6IHRleHQvaHRtbFxyXG5c
clxuJykKKworcHJpbnQoJycnPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvY29va2llLXV0aWxpdGllcy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0Pl9zZXRDYWNoZWRDb29raWVzSlNPTigne30nKTwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8c2NyaXB0Pgord2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworCitkZXNjcmlwdGlvbigi
VGVzdHMgdGhhdCBhIFNhbWVTaXRlIExheCBjb29raWUgZm9yIDEyNy4wLjAuMSBpcyBzZW50IHdp
dGggYSB0b3AtbGV2ZWwgbmF2aWdhdGlvbiBpbml0aWF0ZWQgZnJvbSBhIGZyYW1lIGVtYmVkZGVk
IGluIGEgcGFnZSB3aXRoIGEgZGlmZmVyZW50IG9yaWdpbi4iKTsKKworYXN5bmMgZnVuY3Rpb24g
Y2hlY2tSZXN1bHQoKQore3sKKyAgICBkZWJ1ZygiQ29va2llcyBzZW50IHdpdGggSFRUUCByZXF1
ZXN0OiIpOworICAgIGF3YWl0IHNob3VsZE5vdEhhdmVDb29raWUoInN0cmljdCIpOworICAgIGF3
YWl0IHNob3VsZEhhdmVDb29raWVXaXRoVmFsdWUoImltcGxpY2l0LXN0cmljdCIsICI0Iik7Cisg
ICAgYXdhaXQgc2hvdWxkSGF2ZUNvb2tpZVdpdGhWYWx1ZSgic3RyaWN0LWJlY2F1c2UtaW52YWxp
ZC1TYW1lU2l0ZS12YWx1ZSIsICI0Iik7CisgICAgYXdhaXQgc2hvdWxkSGF2ZUNvb2tpZVdpdGhW
YWx1ZSgibGF4IiwgIjQiKTsKKworICAgIGRlYnVnKCI8YnI+Q29va2llcyB2aXNpYmxlIGluIERP
TToiKTsKKyAgICBzaG91bGROb3RIYXZlRE9NQ29va2llKCJzdHJpY3QiKTsKKyAgICBzaG91bGRI
YXZlRE9NQ29va2llV2l0aFZhbHVlKCJpbXBsaWNpdC1zdHJpY3QiLCAiNCIpOworICAgIHNob3Vs
ZEhhdmVET01Db29raWVXaXRoVmFsdWUoInN0cmljdC1iZWNhdXNlLWludmFsaWQtU2FtZVNpdGUt
dmFsdWUiLCAiNCIpOworICAgIHNob3VsZEhhdmVET01Db29raWVXaXRoVmFsdWUoImxheCIsICI0
Iik7CisKKyAgICBhd2FpdCByZXNldENvb2tpZXMoKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK319
CisKK2NoZWNrUmVzdWx0KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4nJycuZm9ybWF0
KGpzb24uZHVtcHMoY29va2llcykpKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKClByb3Bl
cnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUv
cmVzb3VyY2VzL2ZldGNoLWFmdGVyLXRvcC1sZXZlbC1uYXZpZ2F0aW9uLWluaXRpYXRlZC1mcm9t
LWlmcmFtZS1pbi1jcm9zcy1vcmlnaW4tcGFnZS5weQpfX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhl
Y3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkK
SW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvcmVzb3VyY2Vz
L2ZldGNoLWFmdGVyLXRvcC1sZXZlbC1zYW1lLW9yaWdpbi1yZWRpcmVjdC5waHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9yZXNvdXJjZXMv
ZmV0Y2gtYWZ0ZXItdG9wLWxldmVsLXNhbWUtb3JpZ2luLXJlZGlyZWN0LnBocAkocmV2aXNpb24g
Mjc1MTU5KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9yZXNv
dXJjZXMvZmV0Y2gtYWZ0ZXItdG9wLWxldmVsLXNhbWUtb3JpZ2luLXJlZGlyZWN0LnBocAkobm9u
ZXhpc3RlbnQpCkBAIC0xLDM1ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVh
ZD4KLTxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2Nvb2tpZS11dGlsaXRpZXMuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdD5fc2V0Q2FjaGVkQ29va2llc0pTT04oJzw/cGhwIGVjaG8ganNvbl9lbmNv
ZGUoJF9DT09LSUUpOyA/PicpPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxzY3JpcHQ+Ci13
aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7Ci0KLWRlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IGEg
U2FtZVNpdGUgTGF4IGNvb2tpZSBmb3IgMTI3LjAuMC4xIGlzIHNlbnQgd2l0aCBhIHJlZGlyZWN0
IGZyb20gYSBwYWdlIHdpdGggdGhlIHNhbWUgb3JpZ2luLiIpOwotCi1hc3luYyBmdW5jdGlvbiBj
aGVja1Jlc3VsdCgpCi17Ci0gICAgZGVidWcoIkNvb2tpZXMgc2VudCB3aXRoIEhUVFAgcmVxdWVz
dDoiKTsKLSAgICBhd2FpdCBzaG91bGRIYXZlQ29va2llV2l0aFZhbHVlKCJzdHJpY3QiLCAiMjAi
KTsKLSAgICBhd2FpdCBzaG91bGRIYXZlQ29va2llV2l0aFZhbHVlKCJpbXBsaWNpdC1zdHJpY3Qi
LCAiMjAiKTsKLSAgICBhd2FpdCBzaG91bGRIYXZlQ29va2llV2l0aFZhbHVlKCJzdHJpY3QtYmVj
YXVzZS1pbnZhbGlkLVNhbWVTaXRlLXZhbHVlIiwgIjIwIik7Ci0gICAgYXdhaXQgc2hvdWxkSGF2
ZUNvb2tpZVdpdGhWYWx1ZSgibGF4IiwgIjIwIik7Ci0KLSAgICBkZWJ1ZygiPGJyPkNvb2tpZXMg
dmlzaWJsZSBpbiBET006Iik7Ci0gICAgc2hvdWxkSGF2ZURPTUNvb2tpZVdpdGhWYWx1ZSgic3Ry
aWN0IiwgIjIwIik7Ci0gICAgc2hvdWxkSGF2ZURPTUNvb2tpZVdpdGhWYWx1ZSgiaW1wbGljaXQt
c3RyaWN0IiwgIjIwIik7Ci0gICAgc2hvdWxkSGF2ZURPTUNvb2tpZVdpdGhWYWx1ZSgic3RyaWN0
LWJlY2F1c2UtaW52YWxpZC1TYW1lU2l0ZS12YWx1ZSIsICIyMCIpOwotICAgIHNob3VsZEhhdmVE
T01Db29raWVXaXRoVmFsdWUoImxheCIsICIyMCIpOwotCi0gICAgYXdhaXQgcmVzZXRDb29raWVz
KCk7Ci0gICAgZmluaXNoSlNUZXN0KCk7Ci19Ci0KLWNoZWNrUmVzdWx0KCk7Ci08L3NjcmlwdD4K
LTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9z
YW1lLXNpdGUvcmVzb3VyY2VzL2ZldGNoLWFmdGVyLXRvcC1sZXZlbC1zYW1lLW9yaWdpbi1yZWRp
cmVjdC5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvc2Ft
ZS1zaXRlL3Jlc291cmNlcy9mZXRjaC1hZnRlci10b3AtbGV2ZWwtc2FtZS1vcmlnaW4tcmVkaXJl
Y3QucHkJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3Nh
bWUtc2l0ZS9yZXNvdXJjZXMvZmV0Y2gtYWZ0ZXItdG9wLWxldmVsLXNhbWUtb3JpZ2luLXJlZGly
ZWN0LnB5CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTIgQEAKKyMhL3Vzci9iaW4vZW52IHB5
dGhvbjMKKworaW1wb3J0IGpzb24KK2ltcG9ydCBvcworaW1wb3J0IHN5cworCitjb29raWVzID0g
e30KK2lmICdIVFRQX0NPT0tJRScgaW4gb3MuZW52aXJvbjoKKyAgICBoZWFkZXJfY29va2llcyA9
IG9zLmVudmlyb25bJ0hUVFBfQ09PS0lFJ10KKyAgICBoZWFkZXJfY29va2llcyA9IGhlYWRlcl9j
b29raWVzLnNwbGl0KCc7ICcpCisKKyAgICBmb3IgY29va2llIGluIGhlYWRlcl9jb29raWVzOgor
ICAgICAgICBjb29raWUgPSBjb29raWUuc3BsaXQoJz0nKQorICAgICAgICBjb29raWVzW2Nvb2tp
ZVswXV0gPSBjb29raWVbMV0KKworc3lzLnN0ZG91dC53cml0ZSgnQ29udGVudC1UeXBlOiB0ZXh0
L2h0bWxcclxuXHJcbicpCisKK3ByaW50KCcnJzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2Nvb2tpZS11dGlsaXRpZXMuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdD5fc2V0Q2FjaGVkQ29va2llc0pTT04oJ3t9Jyk8L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHNjcmlwdD4KK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworZGVz
Y3JpcHRpb24oIlRlc3RzIHRoYXQgYSBTYW1lU2l0ZSBMYXggY29va2llIGZvciAxMjcuMC4wLjEg
aXMgc2VudCB3aXRoIGEgcmVkaXJlY3QgZnJvbSBhIHBhZ2Ugd2l0aCB0aGUgc2FtZSBvcmlnaW4u
Iik7CisKK2FzeW5jIGZ1bmN0aW9uIGNoZWNrUmVzdWx0KCkKK3t7CisgICAgZGVidWcoIkNvb2tp
ZXMgc2VudCB3aXRoIEhUVFAgcmVxdWVzdDoiKTsKKyAgICBhd2FpdCBzaG91bGRIYXZlQ29va2ll
V2l0aFZhbHVlKCJzdHJpY3QiLCAiMjAiKTsKKyAgICBhd2FpdCBzaG91bGRIYXZlQ29va2llV2l0
aFZhbHVlKCJpbXBsaWNpdC1zdHJpY3QiLCAiMjAiKTsKKyAgICBhd2FpdCBzaG91bGRIYXZlQ29v
a2llV2l0aFZhbHVlKCJzdHJpY3QtYmVjYXVzZS1pbnZhbGlkLVNhbWVTaXRlLXZhbHVlIiwgIjIw
Iik7CisgICAgYXdhaXQgc2hvdWxkSGF2ZUNvb2tpZVdpdGhWYWx1ZSgibGF4IiwgIjIwIik7CisK
KyAgICBkZWJ1ZygiPGJyPkNvb2tpZXMgdmlzaWJsZSBpbiBET006Iik7CisgICAgc2hvdWxkSGF2
ZURPTUNvb2tpZVdpdGhWYWx1ZSgic3RyaWN0IiwgIjIwIik7CisgICAgc2hvdWxkSGF2ZURPTUNv
b2tpZVdpdGhWYWx1ZSgiaW1wbGljaXQtc3RyaWN0IiwgIjIwIik7CisgICAgc2hvdWxkSGF2ZURP
TUNvb2tpZVdpdGhWYWx1ZSgic3RyaWN0LWJlY2F1c2UtaW52YWxpZC1TYW1lU2l0ZS12YWx1ZSIs
ICIyMCIpOworICAgIHNob3VsZEhhdmVET01Db29raWVXaXRoVmFsdWUoImxheCIsICIyMCIpOwor
CisgICAgYXdhaXQgcmVzZXRDb29raWVzKCk7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9fQorCitj
aGVja1Jlc3VsdCgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+JycnLmZvcm1hdChqc29u
LmR1bXBzKGNvb2tpZXMpKSkKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCgpQcm9wZXJ0eSBj
aGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRlL3Jlc291
cmNlcy9mZXRjaC1hZnRlci10b3AtbGV2ZWwtc2FtZS1vcmlnaW4tcmVkaXJlY3QucHkKX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMv
c2FtZS1zaXRlL3Jlc291cmNlcy9mZXRjaC1pbi1zYW1lLW9yaWdpbi1zZXJ2aWNlLXdvcmtlci5w
aHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0
ZS9yZXNvdXJjZXMvZmV0Y2gtaW4tc2FtZS1vcmlnaW4tc2VydmljZS13b3JrZXIucGhwCShyZXZp
c2lvbiAyNzUxNTkpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRl
L3Jlc291cmNlcy9mZXRjaC1pbi1zYW1lLW9yaWdpbi1zZXJ2aWNlLXdvcmtlci5waHAJKG5vbmV4
aXN0ZW50KQpAQCAtMSwzNSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+
Ci08c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9jb29raWUtdXRpbGl0aWVzLmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQ+X3NldENhY2hlZENvb2tpZXNKU09OKCc8P3BocCBlY2hvIGpzb25fZW5jb2Rl
KCRfQ09PS0lFKTsgPz4nKTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08c2NyaXB0Pgotd2lu
ZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOwotCi1kZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBTYW1l
LVNpdGUgY29va2llcyBmb3IgMTI3LjAuMC4xIGFyZSBzZW50IHdpdGggYSByZXF1ZXN0IGluaXRp
YXRlZCBmcm9tIGFuIGlmcmFtZS0gYW5kIHByb2Nlc3NlZCBieSBhIHNlcnZpY2Ugd29ya2VyLSB3
aXRoIHRoZSBzYW1lIG9yaWdpbi4iKTsKLQotYXN5bmMgZnVuY3Rpb24gY2hlY2tSZXN1bHQoKQot
ewotICAgIGRlYnVnKCJDb29raWVzIHNlbnQgd2l0aCBIVFRQIHJlcXVlc3Q6Iik7Ci0gICAgYXdh
aXQgc2hvdWxkSGF2ZUNvb2tpZVdpdGhWYWx1ZSgic3RyaWN0IiwgIjExIik7Ci0gICAgYXdhaXQg
c2hvdWxkSGF2ZUNvb2tpZVdpdGhWYWx1ZSgiaW1wbGljaXQtc3RyaWN0IiwgIjExIik7Ci0gICAg
YXdhaXQgc2hvdWxkSGF2ZUNvb2tpZVdpdGhWYWx1ZSgic3RyaWN0LWJlY2F1c2UtaW52YWxpZC1T
YW1lU2l0ZS12YWx1ZSIsICIxMSIpOwotICAgIGF3YWl0IHNob3VsZEhhdmVDb29raWVXaXRoVmFs
dWUoImxheCIsICIxMSIpOwotCi0gICAgZGVidWcoIjxicj5Db29raWVzIHZpc2libGUgaW4gRE9N
OiIpOwotICAgIHNob3VsZEhhdmVET01Db29raWVXaXRoVmFsdWUoInN0cmljdCIsICIxMSIpOwot
ICAgIHNob3VsZEhhdmVET01Db29raWVXaXRoVmFsdWUoImltcGxpY2l0LXN0cmljdCIsICIxMSIp
OwotICAgIHNob3VsZEhhdmVET01Db29raWVXaXRoVmFsdWUoInN0cmljdC1iZWNhdXNlLWludmFs
aWQtU2FtZVNpdGUtdmFsdWUiLCAiMTEiKTsKLSAgICBzaG91bGRIYXZlRE9NQ29va2llV2l0aFZh
bHVlKCJsYXgiLCAiMTEiKTsKLQotICAgIGF3YWl0IHJlc2V0Q29va2llcygpOwotICAgIGZpbmlz
aEpTVGVzdCgpOwotfQotCi1jaGVja1Jlc3VsdCgpOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0
bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRlL3Jlc291
cmNlcy9mZXRjaC1pbi1zYW1lLW9yaWdpbi1zZXJ2aWNlLXdvcmtlci5weQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRlL3Jlc291cmNlcy9mZXRj
aC1pbi1zYW1lLW9yaWdpbi1zZXJ2aWNlLXdvcmtlci5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRlL3Jlc291cmNlcy9mZXRjaC1pbi1z
YW1lLW9yaWdpbi1zZXJ2aWNlLXdvcmtlci5weQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDUy
IEBACisjIS91c3IvYmluL2VudiBweXRob24zCisKK2ltcG9ydCBqc29uCitpbXBvcnQgb3MKK2lt
cG9ydCBzeXMKKworY29va2llcyA9IHt9CitpZiAnSFRUUF9DT09LSUUnIGluIG9zLmVudmlyb246
CisgICAgaGVhZGVyX2Nvb2tpZXMgPSBvcy5lbnZpcm9uWydIVFRQX0NPT0tJRSddCisgICAgaGVh
ZGVyX2Nvb2tpZXMgPSBoZWFkZXJfY29va2llcy5zcGxpdCgnOyAnKQorCisgICAgZm9yIGNvb2tp
ZSBpbiBoZWFkZXJfY29va2llczoKKyAgICAgICAgY29va2llID0gY29va2llLnNwbGl0KCc9JykK
KyAgICAgICAgY29va2llc1tjb29raWVbMF1dID0gY29va2llWzFdCisKK3N5cy5zdGRvdXQud3Jp
dGUoJ0NvbnRlbnQtVHlwZTogdGV4dC9odG1sXHJcblxyXG4nKQorCitwcmludCgnJyc8IURPQ1RZ
UEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2Vz
L2pzLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9jb29r
aWUtdXRpbGl0aWVzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+X3NldENhY2hlZENvb2tpZXNKU09O
KCd7fScpPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+Cit3aW5kb3cuanNUZXN0
SXNBc3luYyA9IHRydWU7CisKK2Rlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IFNhbWUtU2l0ZSBjb29r
aWVzIGZvciAxMjcuMC4wLjEgYXJlIHNlbnQgd2l0aCBhIHJlcXVlc3QgaW5pdGlhdGVkIGZyb20g
YW4gaWZyYW1lLSBhbmQgcHJvY2Vzc2VkIGJ5IGEgc2VydmljZSB3b3JrZXItIHdpdGggdGhlIHNh
bWUgb3JpZ2luLiIpOworCithc3luYyBmdW5jdGlvbiBjaGVja1Jlc3VsdCgpCit7eworICAgIGRl
YnVnKCJDb29raWVzIHNlbnQgd2l0aCBIVFRQIHJlcXVlc3Q6Iik7CisgICAgYXdhaXQgc2hvdWxk
SGF2ZUNvb2tpZVdpdGhWYWx1ZSgic3RyaWN0IiwgIjExIik7CisgICAgYXdhaXQgc2hvdWxkSGF2
ZUNvb2tpZVdpdGhWYWx1ZSgiaW1wbGljaXQtc3RyaWN0IiwgIjExIik7CisgICAgYXdhaXQgc2hv
dWxkSGF2ZUNvb2tpZVdpdGhWYWx1ZSgic3RyaWN0LWJlY2F1c2UtaW52YWxpZC1TYW1lU2l0ZS12
YWx1ZSIsICIxMSIpOworICAgIGF3YWl0IHNob3VsZEhhdmVDb29raWVXaXRoVmFsdWUoImxheCIs
ICIxMSIpOworCisgICAgZGVidWcoIjxicj5Db29raWVzIHZpc2libGUgaW4gRE9NOiIpOworICAg
IHNob3VsZEhhdmVET01Db29raWVXaXRoVmFsdWUoInN0cmljdCIsICIxMSIpOworICAgIHNob3Vs
ZEhhdmVET01Db29raWVXaXRoVmFsdWUoImltcGxpY2l0LXN0cmljdCIsICIxMSIpOworICAgIHNo
b3VsZEhhdmVET01Db29raWVXaXRoVmFsdWUoInN0cmljdC1iZWNhdXNlLWludmFsaWQtU2FtZVNp
dGUtdmFsdWUiLCAiMTEiKTsKKyAgICBzaG91bGRIYXZlRE9NQ29va2llV2l0aFZhbHVlKCJsYXgi
LCAiMTEiKTsKKworICAgIGF3YWl0IHJlc2V0Q29va2llcygpOworICAgIGZpbmlzaEpTVGVzdCgp
OworfX0KKworY2hlY2tSZXN1bHQoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPicnJy5m
b3JtYXQoanNvbi5kdW1wcyhjb29raWVzKSkpClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoK
UHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3NhbWUt
c2l0ZS9yZXNvdXJjZXMvZmV0Y2gtaW4tc2FtZS1vcmlnaW4tc2VydmljZS13b3JrZXIucHkKX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tp
ZXMvc2FtZS1zaXRlL3Jlc291cmNlcy9wb3N0LWZyb20tcG9wdXAuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRlL3Jlc291cmNlcy9wb3N0
LWZyb20tcG9wdXAuaHRtbAkocmV2aXNpb24gMjc1MTU5KQorKysgTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9yZXNvdXJjZXMvcG9zdC1mcm9tLXBvcHVwLmh0bWwJKHdv
cmtpbmcgY29weSkKQEAgLTEsNyArMSw3IEBACiA8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGJv
ZHk+Ci08Zm9ybSBhY3Rpb249Ii4uLy4uL3Jlc291cmNlcy9wb3N0LWNvb2tpZXMtdG8tb3BlbmVy
LnBocCIgbWV0aG9kPSJQT1NUIj4KKzxmb3JtIGFjdGlvbj0iLi4vLi4vcmVzb3VyY2VzL3Bvc3Qt
Y29va2llcy10by1vcGVuZXIucHkiIG1ldGhvZD0iUE9TVCI+CiAgICAgPGlucHV0IHR5cGU9InN1
Ym1pdCIgbmFtZT0iU3VibWl0Ij4KIDwvZm9ybT4KIDxzY3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3BsdWdpbnMvcmVzb3VyY2VzL3RoaXJkLXBhcnR5LWNvb2tpZS1hY2NlcHQt
cG9saWN5LWlmcmFtZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMv
cGx1Z2lucy9yZXNvdXJjZXMvdGhpcmQtcGFydHktY29va2llLWFjY2VwdC1wb2xpY3ktaWZyYW1l
Lmh0bWwJKHJldmlzaW9uIDI3NTE1OSkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvcGx1Z2lu
cy9yZXNvdXJjZXMvdGhpcmQtcGFydHktY29va2llLWFjY2VwdC1wb2xpY3ktaWZyYW1lLmh0bWwJ
KHdvcmtpbmcgY29weSkKQEAgLTE4LDcgKzE4LDcgQEAgdmFyIHBsdWdpbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwbAogCiBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgdGVzdFJ1bm5l
ci5zZXRBbHdheXNBY2NlcHRDb29raWVzKHRydWUpOwotcGx1Z2luLmdldFVSTE5vdGlmeSgiaHR0
cDovL2xvY2FsaG9zdDo4MDAwL2Nvb2tpZXMvcmVzb3VyY2VzL2Nvb2tpZS11dGlsaXR5LnBocD9x
dWVyeWZ1bmN0aW9uPWRlbGV0ZUNvb2tpZXMiLCBudWxsLCAidHJ5U2V0Q29va2llIik7CitwbHVn
aW4uZ2V0VVJMTm90aWZ5KCJodHRwOi8vbG9jYWxob3N0OjgwMDAvY29va2llcy9yZXNvdXJjZXMv
Y29va2llLXV0aWxpdHkucHk/cXVlcnlmdW5jdGlvbj1kZWxldGVDb29raWVzIiwgbnVsbCwgInRy
eVNldENvb2tpZSIpOwogCiBmdW5jdGlvbiB0cnlTZXRDb29raWUoKQogewpAQCAtMjYsNyArMjYs
NyBAQCBmdW5jdGlvbiB0cnlTZXRDb29raWUoKQogICAgY29uc29sZS5sb2coIkFib3V0IHRvIHNl
dCBhIGNvb2tpZSwgYnV0IG9uIGxvY2FsaG9zdCBpbnN0ZWFkIG9mIDEyNy4wLjAuMSwgd2hpY2gg
aXMgb3VyIG1haW4gZG9jdW1lbnQgZG9tYWluIC0gVGhpcyBzaG91bGQgZmFpbC4iKTsKICAgICBp
ZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgICAgIHRlc3RSdW5uZXIuc2V0QWx3YXlzQWNjZXB0
Q29va2llcyhmYWxzZSk7Ci0gICBwbHVnaW4uZ2V0VVJMTm90aWZ5KCJodHRwOi8vbG9jYWxob3N0
OjgwMDAvY29va2llcy9yZXNvdXJjZXMvY29va2llLXV0aWxpdHkucGhwP3F1ZXJ5ZnVuY3Rpb249
c2V0Rm9vQ29va2llIiwgbnVsbCwgImNvbXBsZXRlVGVzdCIpOworICAgcGx1Z2luLmdldFVSTE5v
dGlmeSgiaHR0cDovL2xvY2FsaG9zdDo4MDAwL2Nvb2tpZXMvcmVzb3VyY2VzL2Nvb2tpZS11dGls
aXR5LnB5P3F1ZXJ5ZnVuY3Rpb249c2V0Rm9vQ29va2llIiwgbnVsbCwgImNvbXBsZXRlVGVzdCIp
OwogfQogCiBmdW5jdGlvbiBjb21wbGV0ZVRlc3QoKQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9wcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9zZW5kLWF0dHJpYnV0aW9uLWNvbnZlcnNpb24t
cmVxdWVzdC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJpdmF0
ZUNsaWNrTWVhc3VyZW1lbnQvc2VuZC1hdHRyaWJ1dGlvbi1jb252ZXJzaW9uLXJlcXVlc3QuaHRt
bAkocmV2aXNpb24gMjc1MTU5KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcml2YXRlQ2xp
Y2tNZWFzdXJlbWVudC9zZW5kLWF0dHJpYnV0aW9uLWNvbnZlcnNpb24tcmVxdWVzdC5odG1sCSh3
b3JraW5nIGNvcHkpCkBAIC00OCwxMCArNDgsMTAgQEAKICAgICAgICAgZG9jdW1lbnQuYm9keS5y
ZW1vdmVDaGlsZChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0TGluayIpKTsKICAgICAg
ICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGl4
ZWwiKSk7CiAKLSAgICAgICAgYXBwZW5kSWZyYW1lKCJodHRwOi8vMTI3LjAuMC4xOjgwMDAvY29v
a2llcy9yZXNvdXJjZXMvZWNoby1jb29raWVzLnBocCIpOworICAgICAgICBhcHBlbmRJZnJhbWUo
Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9jb29raWVzL3Jlc291cmNlcy9lY2hvLWNvb2tpZXMucHki
KTsKICAgICAgICAgLy8gQ2xpY2sgc291cmNlLgogICAgICAgICBhcHBlbmRJZnJhbWUoImh0dHA6
Ly8xMjcuMC4wLjE6ODAwMC9wcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9yZXNvdXJjZXMvZ2V0Q29u
dmVyc2lvbkRhdGEucHk/dGltZW91dF9tcz0yMDAwJnJlY2lwaWVudD1DbGlja1NvdXJjZSZub25j
ZT0iICsgbm9uY2UsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgYXBwZW5kSWZyYW1lKCJodHRw
Oi8vMTI3LjAuMC4xOjgwMDAvY29va2llcy9yZXNvdXJjZXMvZWNoby1jb29raWVzLnBocCIsIGZ1
bmN0aW9uKCkgeworICAgICAgICAgICAgYXBwZW5kSWZyYW1lKCJodHRwOi8vMTI3LjAuMC4xOjgw
MDAvY29va2llcy9yZXNvdXJjZXMvZWNoby1jb29raWVzLnB5IiwgZnVuY3Rpb24oKSB7CiAgICAg
ICAgICAgICAgICAgcmVwb3J0c1JlY2VpdmVkKys7CiAgICAgICAgICAgICAgICAgaWYgKHJlcG9y
dHNSZWNlaXZlZCA+PSAyKQogICAgICAgICAgICAgICAgICAgICB0ZWFyRG93bkFuZEZpbmlzaCgp
OwpAQCAtNjAsNyArNjAsNyBAQAogCiAgICAgICAgIC8vIENsaWNrIGRlc3RpbmF0aW9uLgogICAg
ICAgICBhcHBlbmRJZnJhbWUoImh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9wcml2YXRlQ2xpY2tNZWFz
dXJlbWVudC9yZXNvdXJjZXMvZ2V0Q29udmVyc2lvbkRhdGEucHk/dGltZW91dF9tcz0yMDAwJnJl
Y2lwaWVudD1DbGlja0Rlc3RpbmF0aW9uJm5vbmNlPSIgKyBub25jZSwgZnVuY3Rpb24oKSB7Ci0g
ICAgICAgICAgICBhcHBlbmRJZnJhbWUoImh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9jb29raWVzL3Jl
c291cmNlcy9lY2hvLWNvb2tpZXMucGhwIiwgZnVuY3Rpb24oKSB7CisgICAgICAgICAgICBhcHBl
bmRJZnJhbWUoImh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9jb29raWVzL3Jlc291cmNlcy9lY2hvLWNv
b2tpZXMucHkiLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICByZXBvcnRzUmVjZWl2ZWQr
KzsKICAgICAgICAgICAgICAgICBpZiAocmVwb3J0c1JlY2VpdmVkID49IDIpCiAgICAgICAgICAg
ICAgICAgICAgIHRlYXJEb3duQW5kRmluaXNoKCk7CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvZGVsZXRlLXNjcmlwdC1hY2Nlc3NpYmxlLWNvb2tp
ZXMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MvZGVsZXRlLXNjcmlwdC1hY2Nlc3NpYmxlLWNvb2tpZXMuaHRtbAkocmV2aXNp
b24gMjc1MTU5KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL2RlbGV0ZS1zY3JpcHQtYWNjZXNzaWJsZS1jb29raWVzLmh0bWwJKHdvcmtpbmcgY29weSkK
QEAgLTUzLDcgKzUzLDcgQEAKICAgICAgICAgICAgIHRlc3RGYWlsZWQoIk5vIHRlc3RSdW5uZXIg
b3Igbm8gaW50ZXJuYWxzLiIpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9Ci0gICAg
ICAgIGF3YWl0IGZldGNoKCIvY29va2llcy9yZXNvdXJjZXMvc2V0LWh0dHAtb25seS1jb29raWUu
cGhwP2Nvb2tpZU5hbWU9IiArIGh0dHBPbmx5Q29va2llTmFtZSwgeyBjcmVkZW50aWFsczogInNh
bWUtb3JpZ2luIiB9KTsKKyAgICAgICAgYXdhaXQgZmV0Y2goIi9jb29raWVzL3Jlc291cmNlcy9z
ZXQtaHR0cC1vbmx5LWNvb2tpZS5weT9jb29raWVOYW1lPSIgKyBodHRwT25seUNvb2tpZU5hbWUs
IHsgY3JlZGVudGlhbHM6ICJzYW1lLW9yaWdpbiIgfSk7CiAgICAgICAgIGF3YWl0IGZldGNoKCIv
Y29va2llcy9yZXNvdXJjZXMvc2V0Q29va2llcy5jZ2kiLCB7IGhlYWRlcnM6IHsgIlNldC1Db29r
aWUiOiBzZXJ2ZXJTaWRlQ29va2llTmFtZSArICI9MTsgcGF0aD0vOyIgfSwgY3JlZGVudGlhbHM6
ICJzYW1lLW9yaWdpbiIgfSk7CiAgICAgICAgIGRvY3VtZW50LmNvb2tpZSA9IGNsaWVudFNpZGVD
b29raWVOYW1lICsgIj0xIjsKICAgICAgICAgY2hlY2tDb29raWVzKGZhbHNlKTsKSW5kZXg6IExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9vcGVyYXRpbmctZGF0
ZXMtYWxsLWJ1dC1jb29raWVzLW5vdC1yZW1vdmVkLXdpdGgtdXNlci1pbnRlcmFjdGlvbi02LWRh
eXMtYWdvLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL29wZXJhdGluZy1kYXRlcy1hbGwtYnV0LWNvb2tpZXMtbm90LXJlbW92
ZWQtd2l0aC11c2VyLWludGVyYWN0aW9uLTYtZGF5cy1hZ28uaHRtbAkocmV2aXNpb24gMjc1MTU5
KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL29wZXJh
dGluZy1kYXRlcy1hbGwtYnV0LWNvb2tpZXMtbm90LXJlbW92ZWQtd2l0aC11c2VyLWludGVyYWN0
aW9uLTYtZGF5cy1hZ28uaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMTk0LDcgKzE5NCw3IEBACiAK
ICAgICBhc3luYyBmdW5jdGlvbiB3cml0ZVdlYnNpdGVEYXRhQW5kQ29udGludWUoKSB7CiAgICAg
ICAgIC8vIFdyaXRlIGNvb2tpZXMuCi0gICAgICAgIGF3YWl0IGZldGNoKCIvY29va2llcy9yZXNv
dXJjZXMvc2V0LWh0dHAtb25seS1jb29raWUucGhwP2Nvb2tpZU5hbWU9IiArIGh0dHBPbmx5Q29v
a2llTmFtZSwgeyBjcmVkZW50aWFsczogInNhbWUtb3JpZ2luIiB9KTsKKyAgICAgICAgYXdhaXQg
ZmV0Y2goIi9jb29raWVzL3Jlc291cmNlcy9zZXQtaHR0cC1vbmx5LWNvb2tpZS5weT9jb29raWVO
YW1lPSIgKyBodHRwT25seUNvb2tpZU5hbWUsIHsgY3JlZGVudGlhbHM6ICJzYW1lLW9yaWdpbiIg
fSk7CiAgICAgICAgIGF3YWl0IGZldGNoKCIvY29va2llcy9yZXNvdXJjZXMvc2V0Q29va2llcy5j
Z2kiLCB7IGhlYWRlcnM6IHsgIlNldC1Db29raWUiOiBzZXJ2ZXJTaWRlQ29va2llTmFtZSArICI9
MTsgcGF0aD0vOyIgfSwgY3JlZGVudGlhbHM6ICJzYW1lLW9yaWdpbiIgfSk7CiAgICAgICAgIGRv
Y3VtZW50LmNvb2tpZSA9IGNsaWVudFNpZGVDb29raWVOYW1lICsgIj0xIjsKIApJbmRleDogTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL29wZXJhdGluZy1kYXRl
cy1hbGwtYnV0LWNvb2tpZXMtcmVtb3ZlZC13aXRoLXVzZXItaW50ZXJhY3Rpb24tNy1kYXlzLWFn
by5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9vcGVyYXRpbmctZGF0ZXMtYWxsLWJ1dC1jb29raWVzLXJlbW92ZWQtd2l0aC11
c2VyLWludGVyYWN0aW9uLTctZGF5cy1hZ28uaHRtbAkocmV2aXNpb24gMjc1MTU5KQorKysgTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL29wZXJhdGluZy1kYXRl
cy1hbGwtYnV0LWNvb2tpZXMtcmVtb3ZlZC13aXRoLXVzZXItaW50ZXJhY3Rpb24tNy1kYXlzLWFn
by5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xOTQsNyArMTk0LDcgQEAKIAogICAgIGFzeW5jIGZ1
bmN0aW9uIHdyaXRlV2Vic2l0ZURhdGFBbmRDb250aW51ZSgpIHsKICAgICAgICAgLy8gV3JpdGUg
Y29va2llcy4KLSAgICAgICAgYXdhaXQgZmV0Y2goIi9jb29raWVzL3Jlc291cmNlcy9zZXQtaHR0
cC1vbmx5LWNvb2tpZS5waHA/Y29va2llTmFtZT0iICsgaHR0cE9ubHlDb29raWVOYW1lLCB7IGNy
ZWRlbnRpYWxzOiAic2FtZS1vcmlnaW4iIH0pOworICAgICAgICBhd2FpdCBmZXRjaCgiL2Nvb2tp
ZXMvcmVzb3VyY2VzL3NldC1odHRwLW9ubHktY29va2llLnB5P2Nvb2tpZU5hbWU9IiArIGh0dHBP
bmx5Q29va2llTmFtZSwgeyBjcmVkZW50aWFsczogInNhbWUtb3JpZ2luIiB9KTsKICAgICAgICAg
YXdhaXQgZmV0Y2goIi9jb29raWVzL3Jlc291cmNlcy9zZXRDb29raWVzLmNnaSIsIHsgaGVhZGVy
czogeyAiU2V0LUNvb2tpZSI6IHNlcnZlclNpZGVDb29raWVOYW1lICsgIj0xOyBwYXRoPS87IiB9
LCBjcmVkZW50aWFsczogInNhbWUtb3JpZ2luIiB9KTsKICAgICAgICAgZG9jdW1lbnQuY29va2ll
ID0gY2xpZW50U2lkZUNvb2tpZU5hbWUgKyAiPTEiOwogCkluZGV4OiBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvb3BlcmF0aW5nLWRhdGVzLWFsbC13ZWJzaXRl
LWRhdGEtcmVtb3ZlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9vcGVyYXRpbmctZGF0ZXMtYWxsLXdlYnNpdGUtZGF0YS1y
ZW1vdmVkLmh0bWwJKHJldmlzaW9uIDI3NTE1OSkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9vcGVyYXRpbmctZGF0ZXMtYWxsLXdlYnNpdGUtZGF0YS1y
ZW1vdmVkLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTE5NCw3ICsxOTQsNyBAQAogCiAgICAgYXN5
bmMgZnVuY3Rpb24gd3JpdGVXZWJzaXRlRGF0YUFuZENvbnRpbnVlKCkgewogICAgICAgICAvLyBX
cml0ZSBjb29raWVzLgotICAgICAgICBhd2FpdCBmZXRjaCgiL2Nvb2tpZXMvcmVzb3VyY2VzL3Nl
dC1odHRwLW9ubHktY29va2llLnBocD9jb29raWVOYW1lPSIgKyBodHRwT25seUNvb2tpZU5hbWUs
IHsgY3JlZGVudGlhbHM6ICJzYW1lLW9yaWdpbiIgfSk7CisgICAgICAgIGF3YWl0IGZldGNoKCIv
Y29va2llcy9yZXNvdXJjZXMvc2V0LWh0dHAtb25seS1jb29raWUucHk/Y29va2llTmFtZT0iICsg
aHR0cE9ubHlDb29raWVOYW1lLCB7IGNyZWRlbnRpYWxzOiAic2FtZS1vcmlnaW4iIH0pOwogICAg
ICAgICBhd2FpdCBmZXRjaCgiL2Nvb2tpZXMvcmVzb3VyY2VzL3NldENvb2tpZXMuY2dpIiwgeyBo
ZWFkZXJzOiB7ICJTZXQtQ29va2llIjogc2VydmVyU2lkZUNvb2tpZU5hbWUgKyAiPTE7IHBhdGg9
LzsiIH0sIGNyZWRlbnRpYWxzOiAic2FtZS1vcmlnaW4iIH0pOwogICAgICAgICBkb2N1bWVudC5j
b29raWUgPSBjbGllbnRTaWRlQ29va2llTmFtZSArICI9MSI7CiAKSW5kZXg6IExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zdGFuZGFsb25lLXdlYi1hcHBsaWNh
dGlvbi1leGVtcHQtZnJvbS13ZWJzaXRlLWRhdGEtZGVsZXRpb24uaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc3RhbmRhbG9u
ZS13ZWItYXBwbGljYXRpb24tZXhlbXB0LWZyb20td2Vic2l0ZS1kYXRhLWRlbGV0aW9uLmh0bWwJ
KHJldmlzaW9uIDI3NTE1OSkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9zdGFuZGFsb25lLXdlYi1hcHBsaWNhdGlvbi1leGVtcHQtZnJvbS13ZWJzaXRl
LWRhdGEtZGVsZXRpb24uaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMTk2LDcgKzE5Niw3IEBACiAK
ICAgICBhc3luYyBmdW5jdGlvbiB3cml0ZVdlYnNpdGVEYXRhQW5kQ29udGludWUoKSB7CiAgICAg
ICAgIC8vIFdyaXRlIGNvb2tpZXMuCi0gICAgICAgIGF3YWl0IGZldGNoKCIvY29va2llcy9yZXNv
dXJjZXMvc2V0LWh0dHAtb25seS1jb29raWUucGhwP2Nvb2tpZU5hbWU9IiArIGh0dHBPbmx5Q29v
a2llTmFtZSwgeyBjcmVkZW50aWFsczogInNhbWUtb3JpZ2luIiB9KTsKKyAgICAgICAgYXdhaXQg
ZmV0Y2goIi9jb29raWVzL3Jlc291cmNlcy9zZXQtaHR0cC1vbmx5LWNvb2tpZS5weT9jb29raWVO
YW1lPSIgKyBodHRwT25seUNvb2tpZU5hbWUsIHsgY3JlZGVudGlhbHM6ICJzYW1lLW9yaWdpbiIg
fSk7CiAgICAgICAgIGF3YWl0IGZldGNoKCIvY29va2llcy9yZXNvdXJjZXMvc2V0Q29va2llcy5j
Z2kiLCB7IGhlYWRlcnM6IHsgIlNldC1Db29raWUiOiBzZXJ2ZXJTaWRlQ29va2llTmFtZSArICI9
MTsgcGF0aD0vOyIgfSwgY3JlZGVudGlhbHM6ICJzYW1lLW9yaWdpbiIgfSk7CiAgICAgICAgIGRv
Y3VtZW50LmNvb2tpZSA9IGNsaWVudFNpZGVDb29raWVOYW1lICsgIj0xIjsKIApJbmRleDogTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3dlYnNpdGUtZGF0YS1y
ZW1vdmFsLWZvci1zaXRlLW5hdmlnYXRlZC10by13aXRoLWxpbmstZGVjb3JhdGlvbi5odG1sCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy93ZWJzaXRlLWRhdGEtcmVtb3ZhbC1mb3Itc2l0ZS1uYXZpZ2F0ZWQtdG8td2l0aC1saW5rLWRl
Y29yYXRpb24uaHRtbAkocmV2aXNpb24gMjc1MTU5KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3dlYnNpdGUtZGF0YS1yZW1vdmFsLWZvci1zaXRlLW5h
dmlnYXRlZC10by13aXRoLWxpbmstZGVjb3JhdGlvbi5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0x
OTUsNyArMTk1LDcgQEAKIAogICAgIGFzeW5jIGZ1bmN0aW9uIHdyaXRlV2Vic2l0ZURhdGFBbmRD
b250aW51ZSgpIHsKICAgICAgICAgLy8gV3JpdGUgY29va2llcy4KLSAgICAgICAgYXdhaXQgZmV0
Y2goIi9jb29raWVzL3Jlc291cmNlcy9zZXQtaHR0cC1vbmx5LWNvb2tpZS5waHA/Y29va2llTmFt
ZT0iICsgaHR0cE9ubHlDb29raWVOYW1lLCB7IGNyZWRlbnRpYWxzOiAic2FtZS1vcmlnaW4iIH0p
OworICAgICAgICBhd2FpdCBmZXRjaCgiL2Nvb2tpZXMvcmVzb3VyY2VzL3NldC1odHRwLW9ubHkt
Y29va2llLnB5P2Nvb2tpZU5hbWU9IiArIGh0dHBPbmx5Q29va2llTmFtZSwgeyBjcmVkZW50aWFs
czogInNhbWUtb3JpZ2luIiB9KTsKICAgICAgICAgYXdhaXQgZmV0Y2goIi9jb29raWVzL3Jlc291
cmNlcy9zZXRDb29raWVzLmNnaSIsIHsgaGVhZGVyczogeyAiU2V0LUNvb2tpZSI6IHNlcnZlclNp
ZGVDb29raWVOYW1lICsgIj0xOyBwYXRoPS87IiB9LCBjcmVkZW50aWFsczogInNhbWUtb3JpZ2lu
IiB9KTsKICAgICAgICAgZG9jdW1lbnQuY29va2llID0gY2xpZW50U2lkZUNvb2tpZU5hbWUgKyAi
PTEiOwogCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3Mvd2Vic2l0ZS1kYXRhLXJlbW92YWwtZm9yLXNpdGUtd2l0aC11c2VyLWludGVyYWN0aW9uLmh0
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL3dlYnNpdGUtZGF0YS1yZW1vdmFsLWZvci1zaXRlLXdpdGgtdXNlci1pbnRlcmFjdGlv
bi5odG1sCShyZXZpc2lvbiAyNzUxNTkpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3Mvd2Vic2l0ZS1kYXRhLXJlbW92YWwtZm9yLXNpdGUtd2l0aC11c2Vy
LWludGVyYWN0aW9uLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTE5NSw3ICsxOTUsNyBAQAogCiAg
ICAgYXN5bmMgZnVuY3Rpb24gd3JpdGVXZWJzaXRlRGF0YUFuZENvbnRpbnVlKCkgewogICAgICAg
ICAvLyBXcml0ZSBjb29raWVzLgotICAgICAgICBhd2FpdCBmZXRjaCgiL2Nvb2tpZXMvcmVzb3Vy
Y2VzL3NldC1odHRwLW9ubHktY29va2llLnBocD9jb29raWVOYW1lPSIgKyBodHRwT25seUNvb2tp
ZU5hbWUsIHsgY3JlZGVudGlhbHM6ICJzYW1lLW9yaWdpbiIgfSk7CisgICAgICAgIGF3YWl0IGZl
dGNoKCIvY29va2llcy9yZXNvdXJjZXMvc2V0LWh0dHAtb25seS1jb29raWUucHk/Y29va2llTmFt
ZT0iICsgaHR0cE9ubHlDb29raWVOYW1lLCB7IGNyZWRlbnRpYWxzOiAic2FtZS1vcmlnaW4iIH0p
OwogICAgICAgICBhd2FpdCBmZXRjaCgiL2Nvb2tpZXMvcmVzb3VyY2VzL3NldENvb2tpZXMuY2dp
IiwgeyBoZWFkZXJzOiB7ICJTZXQtQ29va2llIjogc2VydmVyU2lkZUNvb2tpZU5hbWUgKyAiPTE7
IHBhdGg9LzsiIH0sIGNyZWRlbnRpYWxzOiAic2FtZS1vcmlnaW4iIH0pOwogICAgICAgICBkb2N1
bWVudC5jb29raWUgPSBjbGllbnRTaWRlQ29va2llTmFtZSArICI9MSI7CiAKSW5kZXg6IExheW91
dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy93ZWJzaXRlLWRhdGEtcmVt
b3ZhbC1mb3Itc2l0ZS13aXRob3V0LXVzZXItaW50ZXJhY3Rpb24uaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvd2Vic2l0ZS1k
YXRhLXJlbW92YWwtZm9yLXNpdGUtd2l0aG91dC11c2VyLWludGVyYWN0aW9uLmh0bWwJKHJldmlz
aW9uIDI3NTE1OSkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy93ZWJzaXRlLWRhdGEtcmVtb3ZhbC1mb3Itc2l0ZS13aXRob3V0LXVzZXItaW50ZXJhY3Rp
b24uaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMTk1LDcgKzE5NSw3IEBACiAKICAgICBhc3luYyBm
dW5jdGlvbiB3cml0ZVdlYnNpdGVEYXRhQW5kQ29udGludWUoKSB7CiAgICAgICAgIC8vIFdyaXRl
IGNvb2tpZXMuCi0gICAgICAgIGF3YWl0IGZldGNoKCIvY29va2llcy9yZXNvdXJjZXMvc2V0LWh0
dHAtb25seS1jb29raWUucGhwP2Nvb2tpZU5hbWU9IiArIGh0dHBPbmx5Q29va2llTmFtZSwgeyBj
cmVkZW50aWFsczogInNhbWUtb3JpZ2luIiB9KTsKKyAgICAgICAgYXdhaXQgZmV0Y2goIi9jb29r
aWVzL3Jlc291cmNlcy9zZXQtaHR0cC1vbmx5LWNvb2tpZS5weT9jb29raWVOYW1lPSIgKyBodHRw
T25seUNvb2tpZU5hbWUsIHsgY3JlZGVudGlhbHM6ICJzYW1lLW9yaWdpbiIgfSk7CiAgICAgICAg
IGF3YWl0IGZldGNoKCIvY29va2llcy9yZXNvdXJjZXMvc2V0Q29va2llcy5jZ2kiLCB7IGhlYWRl
cnM6IHsgIlNldC1Db29raWUiOiBzZXJ2ZXJTaWRlQ29va2llTmFtZSArICI9MTsgcGF0aD0vOyIg
fSwgY3JlZGVudGlhbHM6ICJzYW1lLW9yaWdpbiIgfSk7CiAgICAgICAgIGRvY3VtZW50LmNvb2tp
ZSA9IGNsaWVudFNpZGVDb29raWVOYW1lICsgIj0xIjsKIApJbmRleDogTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2V4ZW1wdERvbWFpbnMvYXBwLWJvdW5kLWRv
bWFpbnMtZXhlbXB0LWZyb20td2Vic2l0ZS1kYXRhLWRlbGV0aW9uLWRhdGFiYXNlLmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L2V4ZW1wdERvbWFpbnMvYXBwLWJvdW5kLWRvbWFpbnMtZXhlbXB0LWZyb20td2Vic2l0ZS1kYXRh
LWRlbGV0aW9uLWRhdGFiYXNlLmh0bWwJKHJldmlzaW9uIDI3NTE1OSkKKysrIExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9leGVtcHREb21haW5zL2FwcC1ib3Vu
ZC1kb21haW5zLWV4ZW1wdC1mcm9tLXdlYnNpdGUtZGF0YS1kZWxldGlvbi1kYXRhYmFzZS5odG1s
CSh3b3JraW5nIGNvcHkpCkBAIC0xOTUsNyArMTk1LDcgQEAKIAogICAgIGFzeW5jIGZ1bmN0aW9u
IHdyaXRlV2Vic2l0ZURhdGFBbmRDb250aW51ZSgpIHsKICAgICAgICAgLy8gV3JpdGUgY29va2ll
cy4KLSAgICAgICAgYXdhaXQgZmV0Y2goIi9jb29raWVzL3Jlc291cmNlcy9zZXQtaHR0cC1vbmx5
LWNvb2tpZS5waHA/Y29va2llTmFtZT0iICsgaHR0cE9ubHlDb29raWVOYW1lLCB7IGNyZWRlbnRp
YWxzOiAic2FtZS1vcmlnaW4iIH0pOworICAgICAgICBhd2FpdCBmZXRjaCgiL2Nvb2tpZXMvcmVz
b3VyY2VzL3NldC1odHRwLW9ubHktY29va2llLnB5P2Nvb2tpZU5hbWU9IiArIGh0dHBPbmx5Q29v
a2llTmFtZSwgeyBjcmVkZW50aWFsczogInNhbWUtb3JpZ2luIiB9KTsKICAgICAgICAgYXdhaXQg
ZmV0Y2goIi9jb29raWVzL3Jlc291cmNlcy9zZXRDb29raWVzLmNnaSIsIHsgaGVhZGVyczogeyAi
U2V0LUNvb2tpZSI6IHNlcnZlclNpZGVDb29raWVOYW1lICsgIj0xOyBwYXRoPS87IiB9LCBjcmVk
ZW50aWFsczogInNhbWUtb3JpZ2luIiB9KTsKICAgICAgICAgZG9jdW1lbnQuY29va2llID0gY2xp
ZW50U2lkZUNvb2tpZU5hbWUgKyAiPTEiOwogCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvZXhlbXB0RG9tYWlucy9hcHAtYm91bmQtZG9tYWlucy1l
eGVtcHQtZnJvbS13ZWJzaXRlLWRhdGEtZGVsZXRpb24uaHRtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvZXhlbXB0RG9tYWlucy9h
cHAtYm91bmQtZG9tYWlucy1leGVtcHQtZnJvbS13ZWJzaXRlLWRhdGEtZGVsZXRpb24uaHRtbAko
cmV2aXNpb24gMjc1MTU5KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL2V4ZW1wdERvbWFpbnMvYXBwLWJvdW5kLWRvbWFpbnMtZXhlbXB0LWZyb20td2Vi
c2l0ZS1kYXRhLWRlbGV0aW9uLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTE5NSw3ICsxOTUsNyBA
QAogCiAgICAgYXN5bmMgZnVuY3Rpb24gd3JpdGVXZWJzaXRlRGF0YUFuZENvbnRpbnVlKCkgewog
ICAgICAgICAvLyBXcml0ZSBjb29raWVzLgotICAgICAgICBhd2FpdCBmZXRjaCgiL2Nvb2tpZXMv
cmVzb3VyY2VzL3NldC1odHRwLW9ubHktY29va2llLnBocD9jb29raWVOYW1lPSIgKyBodHRwT25s
eUNvb2tpZU5hbWUsIHsgY3JlZGVudGlhbHM6ICJzYW1lLW9yaWdpbiIgfSk7CisgICAgICAgIGF3
YWl0IGZldGNoKCIvY29va2llcy9yZXNvdXJjZXMvc2V0LWh0dHAtb25seS1jb29raWUucHk/Y29v
a2llTmFtZT0iICsgaHR0cE9ubHlDb29raWVOYW1lLCB7IGNyZWRlbnRpYWxzOiAic2FtZS1vcmln
aW4iIH0pOwogICAgICAgICBhd2FpdCBmZXRjaCgiL2Nvb2tpZXMvcmVzb3VyY2VzL3NldENvb2tp
ZXMuY2dpIiwgeyBoZWFkZXJzOiB7ICJTZXQtQ29va2llIjogc2VydmVyU2lkZUNvb2tpZU5hbWUg
KyAiPTE7IHBhdGg9LzsiIH0sIGNyZWRlbnRpYWxzOiAic2FtZS1vcmlnaW4iIH0pOwogICAgICAg
ICBkb2N1bWVudC5jb29raWUgPSBjbGllbnRTaWRlQ29va2llTmFtZSArICI9MSI7CiAKSW5kZXg6
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZXNvdXJjZXMv
c2V0LWNvb2tpZS1vbi1yZWRpcmVjdC5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVzb3VyY2VzL3NldC1jb29raWUtb24tcmVk
aXJlY3QucHkJKHJldmlzaW9uIDI3NTE1OSkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy9yZXNvdXJjZXMvc2V0LWNvb2tpZS1vbi1yZWRpcmVjdC5weQko
d29ya2luZyBjb3B5KQpAQCAtMTIsMTQgKzEyLDE0IEBAIHN5cy5zdGRvdXQud3JpdGUoJ0NvbnRl
bnQtVHlwZTogdGV4dC9odG0KIGlmIHN0ZXAgPT0gMToKICAgICBzeXMuc3Rkb3V0LndyaXRlKAog
ICAgICAgICAnc3RhdHVzOiAzMDJcclxuJwotICAgICAgICAnTG9jYXRpb246IGh0dHA6Ly9sb2Nh
bGhvc3Q6ODAwMC9jb29raWVzL3Jlc291cmNlcy9zZXQtY29va2llLW9uLXJlZGlyZWN0LnBocD9z
dGVwPTJcclxuXHJcbicKKyAgICAgICAgJ0xvY2F0aW9uOiBodHRwOi8vbG9jYWxob3N0OjgwMDAv
Y29va2llcy9yZXNvdXJjZXMvc2V0LWNvb2tpZS1vbi1yZWRpcmVjdC5weT9zdGVwPTJcclxuXHJc
bicKICAgICApCiBlbGlmIHN0ZXAgPT0gMjoKICAgICBleHBpcmVzID0gZGF0ZXRpbWUudXRjbm93
KCkgKyB0aW1lZGVsdGEoc2Vjb25kcz04NjQwMCkKICAgICBzeXMuc3Rkb3V0LndyaXRlKAogICAg
ICAgICAnc3RhdHVzOiAzMDJcclxuJwogICAgICAgICAnU2V0LUNvb2tpZTogdGVzdF9jb29raWU9
MTsgZXhwaXJlcz17fSBHTVQ7IE1heC1BZ2U9ODY0MDBcclxuJwotICAgICAgICAnTG9jYXRpb246
IGh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9jb29raWVzL3Jlc291cmNlcy9zZXQtY29va2llLW9uLXJl
ZGlyZWN0LnBocD9zdGVwPTNcclxuXHJcbicuZm9ybWF0KGV4cGlyZXMuc3RyZnRpbWUoJyVhLCAl
ZC0lYi0lWSAlSDolTTolUycpKQorICAgICAgICAnTG9jYXRpb246IGh0dHA6Ly9sb2NhbGhvc3Q6
ODAwMC9jb29raWVzL3Jlc291cmNlcy9zZXQtY29va2llLW9uLXJlZGlyZWN0LnB5P3N0ZXA9M1xy
XG5cclxuJy5mb3JtYXQoZXhwaXJlcy5zdHJmdGltZSgnJWEsICVkLSViLSVZICVIOiVNOiVTJykp
CiAgICAgKQogZWxpZiBzdGVwID09IDM6CiAgICAgY29va2llcyA9IHt9CkluZGV4OiBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nvb2tpZXMvdGhpcmQtcGFydHktY29va2llLWJsb2Nr
aW5nLXJlZGlyZWN0Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9z
ZWN1cml0eS9jb29raWVzL3RoaXJkLXBhcnR5LWNvb2tpZS1ibG9ja2luZy1yZWRpcmVjdC5odG1s
CShyZXZpc2lvbiAyNzUxNTkpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nv
b2tpZXMvdGhpcmQtcGFydHktY29va2llLWJsb2NraW5nLXJlZGlyZWN0Lmh0bWwJKHdvcmtpbmcg
Y29weSkKQEAgLTE1LDQgKzE1LDQgQEAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiA8L3Njcmlw
dD4KIAogPHA+Q2hlY2tzIHRoYXQgc3VicmVzb3VyY2VzIHRoYXQgZ290IHJlZGlyZWN0ZWQgZG8g
bm90IGNpcmN1bXZlbnQgdGhpcmQtcGFydHkgY29va2llIHJ1bGVzLjxicj5UaGlzIHRlc3QgUEFT
UyBpZiB5b3UgY2FuIHNlZSB0aGUgdGV4dCAiRkFJTEVEOiBDb29raWUgbm90IHNldCIuPC9wPgot
PGlmcmFtZSBvbmxvYWQ9InRlc3QiIHNyYz0iaHR0cDovL2xvY2FsaG9zdDo4MDAwL2Nvb2tpZXMv
cmVzb3VyY2VzL3NldC1jb29raWUtb24tcmVkaXJlY3QucGhwP3N0ZXA9MSI+PC9pZnJhbWU+Cis8
aWZyYW1lIG9ubG9hZD0idGVzdCIgc3JjPSJodHRwOi8vbG9jYWxob3N0OjgwMDAvY29va2llcy9y
ZXNvdXJjZXMvc2V0LWNvb2tpZS1vbi1yZWRpcmVjdC5weT9zdGVwPTEiPjwvaWZyYW1lPgpJbmRl
eDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS93ZWJzb2NrZXQt
YWxsb3dlZC1zZXR0aW5nLWNvb2tpZS1hcy10aGlyZC1wYXJ0eS5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvd2Vic29ja2V0LWFs
bG93ZWQtc2V0dGluZy1jb29raWUtYXMtdGhpcmQtcGFydHkuaHRtbAkocmV2aXNpb24gMjc1MTU5
KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS93ZWJzb2Nr
ZXQtYWxsb3dlZC1zZXR0aW5nLWNvb2tpZS1hcy10aGlyZC1wYXJ0eS5odG1sCSh3b3JraW5nIGNv
cHkpCkBAIC0xMiw3ICsxMiw3IEBACiAgICAgICAgICAgICBkZWJ1ZygiPGJyPlNldHRpbmcgdGhp
cmQtcGFydHkgY29va2llICdmb28nIHRocm91Z2ggY3Jvc3Mtb3JpZ2luIFdlYlNvY2tldCBoYW5k
c2hha2UuIik7CiAgICAgICAgICAgICBhd2FpdCBzZXRDb29raWVVc2luZ1dlYlNvY2tldEZyb21I
b3N0KCJsb2NhbGhvc3QiKTsKICAgICAgICAgICAgIGxldCBpZnJhbWVFbGVtZW50ID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7Ci0gICAgICAgICAgICBpZnJhbWVFbGVtZW50LnNy
YyA9ICJodHRwOi8vbG9jYWxob3N0OjgwMDAvY29va2llcy9yZXNvdXJjZXMvZWNoby1jb29raWVz
LnBocCI7CisgICAgICAgICAgICBpZnJhbWVFbGVtZW50LnNyYyA9ICJodHRwOi8vbG9jYWxob3N0
OjgwMDAvY29va2llcy9yZXNvdXJjZXMvZWNoby1jb29raWVzLnB5IjsKICAgICAgICAgICAgIGlm
cmFtZUVsZW1lbnQub25sb2FkID0gZmluaXNoSlNUZXN0OwogICAgICAgICAgICAgZGVidWcoIjxi
cj5PcGVuaW5nIGxvY2FsaG9zdCB0aGlyZC1wYXJ0eSBpZnJhbWUgdG8gY2hlY2sgaXRzIGNvb2tp
ZXMuIik7CiAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGlmcmFtZUVsZW1l
bnQpOwpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS93
ZWJzb2NrZXQtYmxvY2tlZC1mcm9tLXNldHRpbmctY29va2llLWFzLXRoaXJkLXBhcnR5Lmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHli
aS93ZWJzb2NrZXQtYmxvY2tlZC1mcm9tLXNldHRpbmctY29va2llLWFzLXRoaXJkLXBhcnR5Lmh0
bWwJKHJldmlzaW9uIDI3NTE1OSkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0
L3Rlc3RzL2h5Ymkvd2Vic29ja2V0LWJsb2NrZWQtZnJvbS1zZXR0aW5nLWNvb2tpZS1hcy10aGly
ZC1wYXJ0eS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xMyw3ICsxMyw3IEBACiAgICAgICAgICAg
ICBkZWJ1ZygiPGJyPkF0dGVtcHRpbmcgdG8gc2V0IHRoaXJkLXBhcnR5IGNvb2tpZSAnZm9vJyB0
aHJvdWdoIGNyb3NzLW9yaWdpbiBXZWJTb2NrZXQgaGFuZHNoYWtlLiIpOwogICAgICAgICAgICAg
YXdhaXQgc2V0Q29va2llVXNpbmdXZWJTb2NrZXRGcm9tSG9zdCgibG9jYWxob3N0Iik7CiAgICAg
ICAgICAgICBsZXQgaWZyYW1lRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFt
ZSIpOwotICAgICAgICAgICAgaWZyYW1lRWxlbWVudC5zcmMgPSAiaHR0cDovL2xvY2FsaG9zdDo4
MDAwL2Nvb2tpZXMvcmVzb3VyY2VzL2VjaG8tY29va2llcy5waHAiOworICAgICAgICAgICAgaWZy
YW1lRWxlbWVudC5zcmMgPSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwL2Nvb2tpZXMvcmVzb3VyY2Vz
L2VjaG8tY29va2llcy5weSI7CiAgICAgICAgICAgICBpZnJhbWVFbGVtZW50Lm9ubG9hZCA9IGZp
bmlzaEpTVGVzdDsKICAgICAgICAgICAgIGRlYnVnKCI8YnI+T3BlbmluZyBsb2NhbGhvc3QgdGhp
cmQtcGFydHkgaWZyYW1lIHRvIGNoZWNrIGl0cyBjb29raWVzLiIpOwogICAgICAgICAgICAgZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm91dHB1dCIpLmFwcGVuZENoaWxkKGlmcmFtZUVsZW1lbnQp
OwpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS93ZWJz
b2NrZXQtY29va2llLW92ZXJ3cml0ZS1iZWhhdmlvci5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvd2Vic29ja2V0LWNvb2tpZS1v
dmVyd3JpdGUtYmVoYXZpb3IuaHRtbAkocmV2aXNpb24gMjc1MTU5KQorKysgTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS93ZWJzb2NrZXQtY29va2llLW92ZXJ3cml0
ZS1iZWhhdmlvci5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC01Niw3ICs1Niw3IEBAIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3RzKCkKICAgICAgICAgICAgIGRlYnVnKCJTZXR0aW5nIHRoaXJkLXBhcnR5
IGNvb2tpZSAnZm9vJyB0aHJvdWdoIGNyb3NzLW9yaWdpbiBXZWJTb2NrZXQgaGFuZHNoYWtlIGFu
ZCBjaGVja2luZyB0aGF0IGl0IGRvZXNuJ3Qgd3JpdGUgZmlyc3QtcGFydHkgY29va2llcy4iKTsK
ICAgICAgICAgICAgIGF3YWl0IHRlc3RDcm9zc09yaWdpbkNvb2tpZSgpOwogICAgICAgICAgICAg
bGV0IGlmcmFtZUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsKLSAg
ICAgICAgICAgIGlmcmFtZUVsZW1lbnQuc3JjID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9jb29r
aWVzL3Jlc291cmNlcy9lY2hvLWNvb2tpZXMucGhwIjsKKyAgICAgICAgICAgIGlmcmFtZUVsZW1l
bnQuc3JjID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9jb29raWVzL3Jlc291cmNlcy9lY2hvLWNv
b2tpZXMucHkiOwogICAgICAgICAgICAgaWZyYW1lRWxlbWVudC5vbmxvYWQgPSBmaW5pc2hKU1Rl
c3Q7CiAgICAgICAgICAgICBkZWJ1ZygiPGJyPk9wZW5pbmcgbG9jYWxob3N0IHRoaXJkLXBhcnR5
IGlmcmFtZSB0byBjaGVjayBpdHMgY29va2llcy4iKTsKICAgICAgICAgICAgIGRvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQoaWZyYW1lRWxlbWVudCk7CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3htbGh0dHByZXF1ZXN0L2FjY2Vzcy1jb250cm9sLXByZWZsaWdodC1jcmVkZW50aWFsLWFz
eW5jLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ht
bGh0dHByZXF1ZXN0L2FjY2Vzcy1jb250cm9sLXByZWZsaWdodC1jcmVkZW50aWFsLWFzeW5jLWV4
cGVjdGVkLnR4dAkocmV2aXNpb24gMjc1MTU5KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94
bWxodHRwcmVxdWVzdC9hY2Nlc3MtY29udHJvbC1wcmVmbGlnaHQtY3JlZGVudGlhbC1hc3luYy1l
eHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNCArMSw0IEBACi1DT05TT0xFIE1FU1NB
R0U6IGh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9jb29raWVzL3Jlc291cmNlcy9jb29raWUtdXRpbGl0
eS5waHA/cXVlcnlmdW5jdGlvbj1zZXRGb29Db29raWUKK0NPTlNPTEUgTUVTU0FHRTogaHR0cDov
L2xvY2FsaG9zdDo4MDAwL2Nvb2tpZXMvcmVzb3VyY2VzL2Nvb2tpZS11dGlsaXR5LnB5P3F1ZXJ5
ZnVuY3Rpb249c2V0Rm9vQ29va2llCiBDT05TT0xFIE1FU1NBR0U6IFhIUiByZXNwb25zZSAtIFNl
dCB0aGUgZm9vIGNvb2tpZQogVGVzdCBjYXNlIGZvciBidWcgMzc3ODE6IFtYSFJdIENyb3NzLU9y
aWdpbiBhc3luY2hyb25vdXMgcmVxdWVzdCB3aXRoIGNyZWRlbnRpYWwgcmFpc2VzIE5FVFdPUktf
RVJSCiAKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvYWNjZXNz
LWNvbnRyb2wtcHJlZmxpZ2h0LWNyZWRlbnRpYWwtc3luYy1leHBlY3RlZC50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9hY2Nlc3MtY29udHJv
bC1wcmVmbGlnaHQtY3JlZGVudGlhbC1zeW5jLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjc1MTU5
KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9hY2Nlc3MtY29udHJv
bC1wcmVmbGlnaHQtY3JlZGVudGlhbC1zeW5jLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpA
QCAtMSw0ICsxLDQgQEAKLUNPTlNPTEUgTUVTU0FHRTogaHR0cDovL2xvY2FsaG9zdDo4MDAwL2Nv
b2tpZXMvcmVzb3VyY2VzL2Nvb2tpZS11dGlsaXR5LnBocD9xdWVyeWZ1bmN0aW9uPXNldEZvb0Nv
b2tpZQorQ09OU09MRSBNRVNTQUdFOiBodHRwOi8vbG9jYWxob3N0OjgwMDAvY29va2llcy9yZXNv
dXJjZXMvY29va2llLXV0aWxpdHkucHk/cXVlcnlmdW5jdGlvbj1zZXRGb29Db29raWUKIENPTlNP
TEUgTUVTU0FHRTogWEhSIHJlc3BvbnNlIC0gU2V0IHRoZSBmb28gY29va2llCiBUZXN0IGNhc2Ug
Zm9yIGJ1ZyAzNzc4MTogW1hIUl0gQ3Jvc3MtT3JpZ2luIHN5bmNocm9ub3VzIHJlcXVlc3Qgd2l0
aCBjcmVkZW50aWFsIHJhaXNlcyBORVRXT1JLX0VSUgogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424673</attachid>
            <date>2021-03-30 12:11:34 -0700</date>
            <delta_ts>2021-03-30 13:04:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223891-20210330151132.patch</filename>
            <type>text/plain</type>
            <size>118625</size>
            <attacher name="Chris Gambrell">cgambrell</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDI3NTIyNCkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDEwOSBAQAorMjAyMS0wMy0zMCAgQ2hyaXMgR2FtYnJlbGwg
IDxjZ2FtYnJlbGxAYXBwbGUuY29tPgorCisgICAgICAgIFtMYXlvdXRUZXN0c10gQ29udmVydCBo
dHRwL3Rlc3RzL2Nvb2tpZXMgY29udmVydCBQSFAgdG8gUHl0aG9uCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjM4OTEKKyAgICAgICAgPHJkYXI6Ly9w
cm9ibGVtLzc1OTY1NjM0PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogaHR0cC90ZXN0cy9jb250ZW50ZXh0ZW5zaW9ucy9ibG9jay1jb29raWVzLWJh
c2ljLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9jb250ZW50ZXh0ZW5zaW9ucy9ibG9jay1j
b29raWVzLWJhc2ljLmh0bWwuanNvbjoKKyAgICAgICAgKiBodHRwL3Rlc3RzL2NvbnRlbnRleHRl
bnNpb25zL2Jsb2NrLWNvb2tpZXMtaW4tY3NwLXJlcG9ydC5waHA6CisgICAgICAgICogaHR0cC90
ZXN0cy9jb250ZW50ZXh0ZW5zaW9ucy9ibG9jay1jb29raWVzLWluLWltYWdlLWxvYWQtaW4tb251
bmxvYWQuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL2NvbnRlbnRleHRlbnNpb25zL2Jsb2Nr
LWNvb2tpZXMtaW4tcGluZy5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvY29udGVudGV4dGVu
c2lvbnMvYmxvY2stY29va2llcy1zZW5kLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9jb29r
aWVzL2Nvb2tpZS13aXRoLW11bHRpcGxlLWxldmVsLXBhdGguaHRtbDoKKyAgICAgICAgKiBodHRw
L3Rlc3RzL2Nvb2tpZXMvZG9jdW1lbnQtY29va2llLWFmdGVyLXNob3dNb2RhbERpYWxvZy5odG1s
OgorICAgICAgICAqIGh0dHAvdGVzdHMvY29va2llcy9kb2N1bWVudC1jb29raWUtZHVyaW5nLWlm
cmFtZS1wYXJzaW5nLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9jb29raWVzL29ubHktYWNj
ZXB0LWZpcnN0LXBhcnR5LWNvb2tpZXMuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL2Nvb2tp
ZXMvcmVzb3VyY2VzL2Nvb2tpZS11dGlsaXRpZXMuanM6CisgICAgICAgICogaHR0cC90ZXN0cy9j
b29raWVzL3Jlc291cmNlcy9jb29raWUtdXRpbGl0eS5waHA6IFJlbW92ZWQuCisgICAgICAgICog
aHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9jb29raWUtdXRpbGl0eS5weTogQWRkZWQuCisg
ICAgICAgIChkZWxldGVfY29va2llKToKKyAgICAgICAgKiBodHRwL3Rlc3RzL2Nvb2tpZXMvcmVz
b3VyY2VzL2Nvb2tpZS13aXRoLW11bHRpcGxlLWxldmVsLXBhdGgucGhwOiBSZW1vdmVkLgorICAg
ICAgICAqIGh0dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMvY29va2llLXdpdGgtbXVsdGlwbGUt
bGV2ZWwtcGF0aC5weTogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jb29raWVzL3Jlc291
cmNlcy9lY2hvLWNvb2tpZXMucGhwOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY29v
a2llcy9yZXNvdXJjZXMvZWNoby1jb29raWVzLnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rl
c3RzL2Nvb2tpZXMvcmVzb3VyY2VzL2VjaG8taHR0cC1hbmQtZG9tLWNvb2tpZXMtYW5kLW5vdGlm
eS1kb25lLnBocDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3Vy
Y2VzL2VjaG8taHR0cC1hbmQtZG9tLWNvb2tpZXMtYW5kLW5vdGlmeS1kb25lLnB5OiBBZGRlZC4K
KyAgICAgICAgKiBodHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL2VjaG8tanNvbi5waHA6IFJl
bW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9lY2hvLWpzb24u
cHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMvcG9zdC1j
b29raWVzLW9ubWVzc2FnZS5waHA6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jb29r
aWVzL3Jlc291cmNlcy9wb3N0LWNvb2tpZXMtb25tZXNzYWdlLnB5OiBBZGRlZC4KKyAgICAgICAg
KiBodHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL3Bvc3QtY29va2llcy10by1vcGVuZXIucGhw
OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMvcG9zdC1j
b29raWVzLXRvLW9wZW5lci5weTogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jb29raWVz
L3Jlc291cmNlcy9yZXNldENvb2tpZXMuanM6CisgICAgICAgIChyZXNldENvb2tpZXMpOgorICAg
ICAgICAqIGh0dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMvc2V0LWNvb2tpZS1hbmQtcmVkaXJl
Y3QtYmFjay5waHA6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jb29raWVzL3Jlc291
cmNlcy9zZXQtY29va2llLWFuZC1yZWRpcmVjdC1iYWNrLnB5OiBBZGRlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL3NldC1jb29raWUtYW5kLXNlcnZlLnBocDogUmVt
b3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL3NldC1jb29raWUt
YW5kLXNlcnZlLnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3Vy
Y2VzL3NldC1jb29raWUtb24tcmVkaXJlY3QucGhwOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAv
dGVzdHMvY29va2llcy9yZXNvdXJjZXMvc2V0LWNvb2tpZS1vbi1yZWRpcmVjdC5weTogQWRkZWQu
CisgICAgICAgICogaHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9zZXQtaHR0cC1vbmx5LWNv
b2tpZS5waHA6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNl
cy9zZXQtaHR0cC1vbmx5LWNvb2tpZS5weTogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9j
b29raWVzL3Jlc291cmNlcy9zZXRBcnJheWNvb2tpZXMtcmVzdWx0LnBocDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBodHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL3NldEFycmF5Y29va2llcy5waHA6
IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9zZXRVdGY4
Q29va2llcy1yZXN1bHQucGhwOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY29va2ll
cy9yZXNvdXJjZXMvc2V0VXRmOENvb2tpZXMucGhwOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAv
dGVzdHMvY29va2llcy9yZXNvdXJjZXMvdGhpcmQtcGFydHktY29va2llLXJlbGF4aW5nLWlmcmFt
ZS5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvZmV0Y2gtYWZ0
ZXItbmF2aWdhdGluZy1pZnJhbWUtaW4tY3Jvc3Mtb3JpZ2luLXBhZ2UuaHRtbDoKKyAgICAgICAg
KiBodHRwL3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRlL2ZldGNoLWFmdGVyLXRvcC1sZXZlbC1jcm9z
cy1vcmlnaW4tcmVkaXJlY3QuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL2Nvb2tpZXMvc2Ft
ZS1zaXRlL2ZldGNoLWFmdGVyLXRvcC1sZXZlbC1uYXZpZ2F0aW9uLWZyb20tY3Jvc3Mtb3JpZ2lu
LXBhZ2UuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRlL2ZldGNo
LWFmdGVyLXRvcC1sZXZlbC1uYXZpZ2F0aW9uLWluaXRpYXRlZC1mcm9tLWlmcmFtZS1pbi1jcm9z
cy1vcmlnaW4tcGFnZS5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvY29va2llcy9zYW1lLXNp
dGUvZmV0Y2gtYWZ0ZXItdG9wLWxldmVsLXNhbWUtb3JpZ2luLXJlZGlyZWN0Lmh0bWw6CisgICAg
ICAgICogaHR0cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9mZXRjaC1pbi1zYW1lLW9yaWdpbi1z
ZXJ2aWNlLXdvcmtlci5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvY29va2llcy9zYW1lLXNp
dGUvbGF4LXNhbWVzaXRlLWNvb2tpZS1hZnRlci1jcm9zcy1zaXRlLWhpc3RvcnktbG9hZC5waHA6
IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9sYXgtc2Ft
ZXNpdGUtY29va2llLWFmdGVyLWNyb3NzLXNpdGUtaGlzdG9yeS1sb2FkLnB5OiBBZGRlZC4KKyAg
ICAgICAgKiBodHRwL3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRlL3BvcHVwLWNyb3NzLXNpdGUtcG9z
dC5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvcG9wdXAtY3Jv
c3Mtc2l0ZS5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvcG9w
dXAtc2FtZS1zaXRlLXBvc3QuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL2Nvb2tpZXMvc2Ft
ZS1zaXRlL3BvcHVwLXNhbWUtc2l0ZS12aWEtY3Jvc3Mtc2l0ZS1yZWRpcmVjdC5odG1sOgorICAg
ICAgICAqIGh0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvcG9wdXAtc2FtZS1zaXRlLXZpYS1z
YW1lLXNpdGUtcmVkaXJlY3QuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL2Nvb2tpZXMvc2Ft
ZS1zaXRlL3BvcHVwLXNhbWUtc2l0ZS5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvY29va2ll
cy9zYW1lLXNpdGUvcmVzb3VyY2VzL2NsaWNrLWh5cGVybGluay5waHA6IFJlbW92ZWQuCisgICAg
ICAgICogaHR0cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9yZXNvdXJjZXMvY2xpY2staHlwZXJs
aW5rLnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRlL3Jl
c291cmNlcy9mZXRjaC1hZnRlci1uYXZpZ2F0aW5nLWlmcmFtZS1pbi1jcm9zcy1vcmlnaW4tcGFn
ZS5waHA6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9y
ZXNvdXJjZXMvZmV0Y2gtYWZ0ZXItbmF2aWdhdGluZy1pZnJhbWUtaW4tY3Jvc3Mtb3JpZ2luLXBh
Z2UucHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvcmVz
b3VyY2VzL2ZldGNoLWFmdGVyLXRvcC1sZXZlbC1jcm9zcy1vcmlnaW4tcmVkaXJlY3QucGhwOiBS
ZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvcmVzb3VyY2Vz
L2ZldGNoLWFmdGVyLXRvcC1sZXZlbC1jcm9zcy1vcmlnaW4tcmVkaXJlY3QucHk6IEFkZGVkLgor
ICAgICAgICAqIGh0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvcmVzb3VyY2VzL2ZldGNoLWFm
dGVyLXRvcC1sZXZlbC1uYXZpZ2F0aW9uLWZyb20tY3Jvc3Mtb3JpZ2luLXBhZ2UucGhwOiBSZW1v
dmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvcmVzb3VyY2VzL2Zl
dGNoLWFmdGVyLXRvcC1sZXZlbC1uYXZpZ2F0aW9uLWZyb20tY3Jvc3Mtb3JpZ2luLXBhZ2UucHk6
IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvcmVzb3VyY2Vz
L2ZldGNoLWFmdGVyLXRvcC1sZXZlbC1uYXZpZ2F0aW9uLWluaXRpYXRlZC1mcm9tLWlmcmFtZS1p
bi1jcm9zcy1vcmlnaW4tcGFnZS5waHA6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9j
b29raWVzL3NhbWUtc2l0ZS9yZXNvdXJjZXMvZmV0Y2gtYWZ0ZXItdG9wLWxldmVsLW5hdmlnYXRp
b24taW5pdGlhdGVkLWZyb20taWZyYW1lLWluLWNyb3NzLW9yaWdpbi1wYWdlLnB5OiBBZGRlZC4K
KyAgICAgICAgKiBodHRwL3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRlL3Jlc291cmNlcy9mZXRjaC1h
ZnRlci10b3AtbGV2ZWwtc2FtZS1vcmlnaW4tcmVkaXJlY3QucGhwOiBSZW1vdmVkLgorICAgICAg
ICAqIGh0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvcmVzb3VyY2VzL2ZldGNoLWFmdGVyLXRv
cC1sZXZlbC1zYW1lLW9yaWdpbi1yZWRpcmVjdC5weTogQWRkZWQuCisgICAgICAgICogaHR0cC90
ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9yZXNvdXJjZXMvZmV0Y2gtaW4tc2FtZS1vcmlnaW4tc2Vy
dmljZS13b3JrZXIucGhwOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY29va2llcy9z
YW1lLXNpdGUvcmVzb3VyY2VzL2ZldGNoLWluLXNhbWUtb3JpZ2luLXNlcnZpY2Utd29ya2VyLnB5
OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRlL3Jlc291cmNl
cy9wb3N0LWZyb20tcG9wdXAuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL2Nvb2tpZXMvc2Ft
ZS1zaXRlL3NldC1maXJzdC1wYXJ0eS1jcm9zcy1zaXRlLWNvb2tpZXMucGhwOgorICAgICAgICAq
IGh0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvc2V0LWZpcnN0LXBhcnR5LXNhbWUtc2l0ZS1j
b29raWVzLnBocDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL2Nvb2tpZXMvc2V0LWNvb2tpZS1vbi1y
ZWRpcmVjdC5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvY29va2llcy90aGlyZC1wYXJ0eS1j
b29raWUtcmVsYXhpbmctZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvdGVzdHMvcGx1Z2lu
cy9yZXNvdXJjZXMvdGhpcmQtcGFydHktY29va2llLWFjY2VwdC1wb2xpY3ktaWZyYW1lLmh0bWw6
CisgICAgICAgICogaHR0cC90ZXN0cy9wcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9zZW5kLWF0dHJp
YnV0aW9uLWNvbnZlcnNpb24tcmVxdWVzdC5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy9kZWxldGUtc2NyaXB0LWFjY2Vzc2libGUtY29va2llcy5odG1s
OgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9leGVtcHREb21h
aW5zL2FwcC1ib3VuZC1kb21haW5zLWV4ZW1wdC1mcm9tLXdlYnNpdGUtZGF0YS1kZWxldGlvbi1k
YXRhYmFzZS5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9leGVtcHREb21haW5zL2FwcC1ib3VuZC1kb21haW5zLWV4ZW1wdC1mcm9tLXdlYnNpdGUtZGF0
YS1kZWxldGlvbi5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9vcGVyYXRpbmctZGF0ZXMtYWxsLWJ1dC1jb29raWVzLW5vdC1yZW1vdmVkLXdpdGgtdXNl
ci1pbnRlcmFjdGlvbi02LWRheXMtYWdvLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL29wZXJhdGluZy1kYXRlcy1hbGwtYnV0LWNvb2tpZXMtcmVtb3Zl
ZC13aXRoLXVzZXItaW50ZXJhY3Rpb24tNy1kYXlzLWFnby5odG1sOgorICAgICAgICAqIGh0dHAv
dGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9vcGVyYXRpbmctZGF0ZXMtYWxsLXdlYnNpdGUt
ZGF0YS1yZW1vdmVkLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL3Jlc291cmNlcy9zZXQtY29va2llLW9uLXJlZGlyZWN0LnB5OgorICAgICAgICAqIGh0
dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zdGFuZGFsb25lLXdlYi1hcHBsaWNhdGlv
bi1leGVtcHQtZnJvbS13ZWJzaXRlLWRhdGEtZGVsZXRpb24uaHRtbDoKKyAgICAgICAgKiBodHRw
L3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvd2Vic2l0ZS1kYXRhLXJlbW92YWwtZm9yLXNp
dGUtbmF2aWdhdGVkLXRvLXdpdGgtbGluay1kZWNvcmF0aW9uLmh0bWw6CisgICAgICAgICogaHR0
cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3dlYnNpdGUtZGF0YS1yZW1vdmFsLWZvci1z
aXRlLXdpdGgtdXNlci1pbnRlcmFjdGlvbi5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy93ZWJzaXRlLWRhdGEtcmVtb3ZhbC1mb3Itc2l0ZS13aXRob3V0
LXVzZXItaW50ZXJhY3Rpb24uaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlcy9f
X2luaXRfXy5weTogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlcy9wb3J0
YWJpbGl0eUxheWVyLnB5OgorICAgICAgICAoZ2V0X2Nvb2tpZXMpOgorICAgICAgICAoZ2V0U3Rh
dGUpOgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29va2llcy90aGlyZC1wYXJ0eS1j
b29raWUtYmxvY2tpbmctcmVkaXJlY3QuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNv
Y2tldC90ZXN0cy9oeWJpL3dlYnNvY2tldC1hbGxvd2VkLXNldHRpbmctY29va2llLWFzLXRoaXJk
LXBhcnR5Lmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS93
ZWJzb2NrZXQtYmxvY2tlZC1mcm9tLXNldHRpbmctY29va2llLWFzLXRoaXJkLXBhcnR5Lmh0bWw6
CisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS93ZWJzb2NrZXQtY29v
a2llLW92ZXJ3cml0ZS1iZWhhdmlvci5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMveG1saHR0
cHJlcXVlc3QvYWNjZXNzLWNvbnRyb2wtcHJlZmxpZ2h0LWNyZWRlbnRpYWwtYXN5bmMtZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvYWNjZXNzLWNvbnRy
b2wtcHJlZmxpZ2h0LWNyZWRlbnRpYWwtc3luYy1leHBlY3RlZC50eHQ6CisKIDIwMjEtMDMtMzAg
IEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQHdlYmtpdC5vcmc+CiAKICAgICAgICAgW0NTUyBCYWNr
Z3JvdW5kc10gV1BUIHRlc3QgY3NzL2Nzcy1iYWNrZ3JvdW5kcy9hbmltYXRpb25zL2JvcmRlci1p
bWFnZS13aWR0aC1pbnRlcnBvbGF0aW9uLmh0bWwgYXNzZXJ0cwpJbmRleDogTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9jb250ZW50ZXh0ZW5zaW9ucy9ibG9jay1jb29raWVzLWJhc2ljLmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb250ZW50ZXh0ZW5zaW9ucy9ibG9j
ay1jb29raWVzLWJhc2ljLmh0bWwJKHJldmlzaW9uIDI3NTE4MCkKKysrIExheW91dFRlc3RzL2h0
dHAvdGVzdHMvY29udGVudGV4dGVuc2lvbnMvYmxvY2stY29va2llcy1iYXNpYy5odG1sCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xNSw0ICsxNSw0IEBAIGZ1bmN0aW9uIGxvYWRlZCgpCiAKIFRoaXMgaW1h
Z2UgcmVzb3VyY2Ugc2V0cyBhIGNvb2tpZS4gQnV0IGJhc2VkIG9uIHRoZSBjb250ZW50IHJ1bGVz
LCBzZXR0aW5nIGNvb2tpZSBzaG91bGQgYmUgYmxvY2tlZC48YnI+CiA8ZGl2IGlkPSJsb2dnZXIi
PjwvZGl2Pjxicj4KLTxpbWcgc3JjPSJodHRwOi8vMTI3LjAuMC4xOjgwMDAvY29va2llcy9yZXNv
dXJjZXMvY29va2llLXV0aWxpdHkucGhwP3F1ZXJ5ZnVuY3Rpb249c2V0Rm9vQ29va2llIiBvbmVy
cm9yPSJsb2FkZWQoKSI+Cis8aW1nIHNyYz0iaHR0cDovLzEyNy4wLjAuMTo4MDAwL2Nvb2tpZXMv
cmVzb3VyY2VzL2Nvb2tpZS11dGlsaXR5LnB5P3F1ZXJ5ZnVuY3Rpb249c2V0Rm9vQ29va2llIiBv
bmVycm9yPSJsb2FkZWQoKSI+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NvbnRlbnRl
eHRlbnNpb25zL2Jsb2NrLWNvb2tpZXMtYmFzaWMuaHRtbC5qc29uCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvY29udGVudGV4dGVuc2lvbnMvYmxvY2stY29va2llcy1iYXNp
Yy5odG1sLmpzb24JKHJldmlzaW9uIDI3NTE4MCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMv
Y29udGVudGV4dGVuc2lvbnMvYmxvY2stY29va2llcy1iYXNpYy5odG1sLmpzb24JKHdvcmtpbmcg
Y29weSkKQEAgLTQsNyArNCw3IEBACiAgICAgICAgICAgICAidHlwZSI6ICJibG9jay1jb29raWVz
IgogICAgICAgICB9LAogICAgICAgICAidHJpZ2dlciI6IHsKLSAgICAgICAgICAgICJ1cmwtZmls
dGVyIjogImh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9jb29raWVzL3Jlc291cmNlcy9jb29raWUtdXRp
bGl0eS5waHAiCisgICAgICAgICAgICAidXJsLWZpbHRlciI6ICJodHRwOi8vMTI3LjAuMC4xOjgw
MDAvY29va2llcy9yZXNvdXJjZXMvY29va2llLXV0aWxpdHkucHkiCiAgICAgICAgIH0KICAgICB9
CiBdClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9jb250ZW50ZXh0ZW5zaW9ucy9ibG9jay1jb29raWVzLWluLWNzcC1yZXBvcnQucGhwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29udGVudGV4dGVuc2lvbnMvYmxv
Y2stY29va2llcy1pbi1jc3AtcmVwb3J0LnBocAkocmV2aXNpb24gMjc1MTgwKQorKysgTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9jb250ZW50ZXh0ZW5zaW9ucy9ibG9jay1jb29raWVzLWluLWNzcC1y
ZXBvcnQucGhwCSh3b3JraW5nIGNvcHkpCkBAIC0zNCw3ICszNCw3IEBAIGZ1bmN0aW9uIHNob3dQ
aW5nUmVzdWx0KCkgewogCiA8Ym9keT4KIFRoaXMgdGVzdCBjcmVhdGVzIGEgQ1NQIHZpb2xhdGlv
biByZXBvcnQsIGJ1dCB0aGUgcmVwb3J0IFVSTCBtYXRjaGVzIGEgJ2Jsb2NrLWNvb2tpZScgcnVs
ZS4KLTxpbWcgc3JjPSIvY29va2llcy9yZXNvdXJjZXMvY29va2llLXV0aWxpdHkucGhwP3F1ZXJ5
ZnVuY3Rpb249c2V0Rm9vQ29va2llIgorPGltZyBzcmM9Ii9jb29raWVzL3Jlc291cmNlcy9jb29r
aWUtdXRpbGl0eS5weT9xdWVyeWZ1bmN0aW9uPXNldEZvb0Nvb2tpZSIKICAgICBvbmVycm9yPSJk
ZWxldGVQaW5nKCk7Ij4KIDxkaXYgaWQ9ImRlbGV0ZV9waW5nX2NvbnRhaW5lciI+PC9kaXY+CiA8
aWZyYW1lIGlkPSJyZXN1bHRfZnJhbWUiIG5hbWU9InJlc3VsdF9mcmFtZSI+PCEtLSBXaWxsIGNv
bnRhaW4gcGluZyBkYXRhIHJlY2VpdmVkIGJ5IHNlcnZlciAtLT48L2lmcmFtZT4KSW5kZXg6IExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvY29udGVudGV4dGVuc2lvbnMvYmxvY2stY29va2llcy1pbi1p
bWFnZS1sb2FkLWluLW9udW5sb2FkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9jb250ZW50ZXh0ZW5zaW9ucy9ibG9jay1jb29raWVzLWluLWltYWdlLWxvYWQtaW4t
b251bmxvYWQuaHRtbAkocmV2aXNpb24gMjc1MTgwKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9jb250ZW50ZXh0ZW5zaW9ucy9ibG9jay1jb29raWVzLWluLWltYWdlLWxvYWQtaW4tb251bmxv
YWQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMjgsNyArMjgsNyBAQCBmdW5jdGlvbiBsb2FkSW1h
Z2UoKSB7CiAKIDxib2R5IG9udW5sb2FkPSJsb2FkSW1hZ2UoKTsiPgogVGhpcyB0ZXN0IHNldHMg
YSBjb29raWUsIHRoZW4gbG9hZHMgYW4gaW1hZ2UgaW4gb251bmxvYWQsIHdoZXJlIHRoZSBpbWFn
ZSBVUkwgbWF0Y2hlcyBhICdibG9jay1jb29raWUnIHJ1bGUuCi08aW1nIHNyYz0iaHR0cDovLzEy
Ny4wLjAuMTo4MDAwL2Nvb2tpZXMvcmVzb3VyY2VzL2Nvb2tpZS11dGlsaXR5LnBocD9xdWVyeWZ1
bmN0aW9uPXNldEZvb0Nvb2tpZSIKKzxpbWcgc3JjPSJodHRwOi8vMTI3LjAuMC4xOjgwMDAvY29v
a2llcy9yZXNvdXJjZXMvY29va2llLXV0aWxpdHkucHk/cXVlcnlmdW5jdGlvbj1zZXRGb29Db29r
aWUiCiAgICAgb25lcnJvcj0iZGVsZXRlUGluZygpOyI+CiA8ZGl2IGlkPSJkZWxldGVfcGluZ19j
b250YWluZXIiPjwvZGl2PgogPC9ib2R5PgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9j
b250ZW50ZXh0ZW5zaW9ucy9ibG9jay1jb29raWVzLWluLXBpbmcuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NvbnRlbnRleHRlbnNpb25zL2Jsb2NrLWNvb2tpZXMt
aW4tcGluZy5odG1sCShyZXZpc2lvbiAyNzUxODApCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2NvbnRlbnRleHRlbnNpb25zL2Jsb2NrLWNvb2tpZXMtaW4tcGluZy5odG1sCSh3b3JraW5nIGNv
cHkpCkBAIC00Nyw3ICs0Nyw3IEBAIGZ1bmN0aW9uIHNob3dQaW5nUmVzdWx0KCkgewogCiA8Ym9k
eT4KIFRoaXMgdGVzdCBzZXRzIGEgY29va2llLCB0aGVuIGZvbGxvd3MgYSBsaW5rIHdpdGggYSBw
aW5nIGF0dHJpYnV0ZSB3aGVyZSB0aGUgcGluZyBVUkwgbWF0Y2hlcyBhICdibG9jay1jb29raWUn
IHJ1bGUuCi08aW1nIHNyYz0iaHR0cDovL2xvY2FsaG9zdDo4MDAwL2Nvb2tpZXMvcmVzb3VyY2Vz
L2Nvb2tpZS11dGlsaXR5LnBocD9xdWVyeWZ1bmN0aW9uPXNldEZvb0Nvb2tpZSIKKzxpbWcgc3Jj
PSJodHRwOi8vbG9jYWxob3N0OjgwMDAvY29va2llcy9yZXNvdXJjZXMvY29va2llLXV0aWxpdHku
cHk/cXVlcnlmdW5jdGlvbj1zZXRGb29Db29raWUiCiAgICAgb25lcnJvcj0ibG9hZExpbmtXaXRo
UGluZygpOyI+CiA8aWZyYW1lIGlkPSJsaW5rX2ZyYW1lIiBuYW1lPSJsaW5rX2ZyYW1lIj48IS0t
IFdpbGwgY29udGFpbiBsaW5rIHdpdGggcGluZyAtLT48L2lmcmFtZT4KIDxpZnJhbWUgaWQ9InJl
c3VsdF9mcmFtZSIgbmFtZT0icmVzdWx0X2ZyYW1lIj48IS0tIFdpbGwgY29udGFpbiBwaW5nIGRh
dGEgcmVjZWl2ZWQgYnkgc2VydmVyIC0tPjwvaWZyYW1lPgpJbmRleDogTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9jb250ZW50ZXh0ZW5zaW9ucy9ibG9jay1jb29raWVzLXNlbmQuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NvbnRlbnRleHRlbnNpb25zL2Jsb2NrLWNv
b2tpZXMtc2VuZC5odG1sCShyZXZpc2lvbiAyNzUxODApCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2NvbnRlbnRleHRlbnNpb25zL2Jsb2NrLWNvb2tpZXMtc2VuZC5odG1sCSh3b3JraW5nIGNv
cHkpCkBAIC0xNyw3ICsxNyw3IEBAIGZ1bmN0aW9uIGltYWdlRG9uZSgpCiB7CiAJZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImxvZ2dlciIpLmlubmVySFRNTCArPSAiQWZ0ZXIgdGhlIGltYWdlLCBk
b2N1bWVudC5jb29raWUgaXMgJyIgKyBkb2N1bWVudC5jb29raWUgKyAiJzxicj4iOwogCWRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJpZnJhbWUiKS5vbmxvYWQgPSBpZnJhbWVEb25lOwotCWRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJpZnJhbWUiKS5zcmMgPSAiaHR0cDovLzEyNy4wLjAuMTo4MDAw
L2Nvb2tpZXMvcmVzb3VyY2VzL2VjaG8tY29va2llcy5waHAiOworCWRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJpZnJhbWUiKS5zcmMgPSAiaHR0cDovLzEyNy4wLjAuMTo4MDAwL2Nvb2tpZXMvcmVz
b3VyY2VzL2VjaG8tY29va2llcy5weSI7CiB9CiAKIApAQCAtMjUsNSArMjUsNSBAQCBmdW5jdGlv
biBpbWFnZURvbmUoKQogCiBUaGlzIHRlc3QgbG9hZHMgYSByZXNvdXJjZSB0aGF0IHNldHMgYSBj
b29raWUsIHRoZW4gdmVyaWZpZXMgdGhhdCB0aGUgY29va2llIGlzIG5vdCBzZW50IG91dCB3aGVu
IGl0IHNob3VsZCBiZSBibG9ja2VkLjxicj4KIDxkaXYgaWQ9ImxvZ2dlciI+PC9kaXY+Ci08aW1n
IHNyYz0iaHR0cDovLzEyNy4wLjAuMTo4MDAwL2Nvb2tpZXMvcmVzb3VyY2VzL2Nvb2tpZS11dGls
aXR5LnBocD9xdWVyeWZ1bmN0aW9uPXNldEZvb0Nvb2tpZSIgb25lcnJvcj0iaW1hZ2VEb25lKCk7
Ij4KKzxpbWcgc3JjPSJodHRwOi8vMTI3LjAuMC4xOjgwMDAvY29va2llcy9yZXNvdXJjZXMvY29v
a2llLXV0aWxpdHkucHk/cXVlcnlmdW5jdGlvbj1zZXRGb29Db29raWUiIG9uZXJyb3I9ImltYWdl
RG9uZSgpOyI+CiA8aWZyYW1lIGlkPSJpZnJhbWUiIG5hbWU9ImlmcmFtZSI+PC9pZnJhbWU+Cklu
ZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvY29va2llLXdpdGgtbXVsdGlwbGUt
bGV2ZWwtcGF0aC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29v
a2llcy9jb29raWUtd2l0aC1tdWx0aXBsZS1sZXZlbC1wYXRoLmh0bWwJKHJldmlzaW9uIDI3NTE4
MCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9jb29raWUtd2l0aC1tdWx0aXBs
ZS1sZXZlbC1wYXRoLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTIxLDcgKzIxLDcgQEAKICAgICB3
aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CiAKICAgICBmdW5jdGlvbiBkb1Rlc3QoKSB7Ci0g
ICAgICAgIGNvbnN0IHJlc3VsdFVybCA9ICdyZXNvdXJjZXMvY29va2llLXdpdGgtbXVsdGlwbGUt
bGV2ZWwtcGF0aC5waHAnOworICAgICAgICBjb25zdCByZXN1bHRVcmwgPSAncmVzb3VyY2VzL2Nv
b2tpZS13aXRoLW11bHRpcGxlLWxldmVsLXBhdGgucHknOwogCiAgICAgICAgIHNldENvb2tpZSgn
Zm9vJywgJ2JhcicsICcvJykKICAgICAgICAgICAgIC50aGVuKCgpID0+IHNldENvb2tpZSgnZm9v
JywgJ2J1eicsICcvY29va2llcy9yZXNvdXJjZXMnKSkgLy8gb3ZlcnJpZGUgZm9vCkluZGV4OiBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvZG9jdW1lbnQtY29va2llLWFmdGVyLXNob3dN
b2RhbERpYWxvZy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29v
a2llcy9kb2N1bWVudC1jb29raWUtYWZ0ZXItc2hvd01vZGFsRGlhbG9nLmh0bWwJKHJldmlzaW9u
IDI3NTE4MCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9kb2N1bWVudC1jb29r
aWUtYWZ0ZXItc2hvd01vZGFsRGlhbG9nLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTE3LDcgKzE3
LDcgQEAgdGVzdEJ1dHRvbi5vbmNsaWNrID0gKCkgPT4gewogICAgIGRvY3VtZW50LmNvb2tpZSA9
ICJ0ZXN0S2V5PXRlc3RWYWx1ZSI7CiAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdub3JtYWxp
emVDb29raWUoZG9jdW1lbnQuY29va2llKScsICd0ZXN0S2V5PXRlc3RWYWx1ZScpOwogCi0gICAg
c2hvd01vZGFsRGlhbG9nKCJyZXNvdXJjZXMvc2V0LWNvb2tpZS1hbmQtc2VydmUucGhwP2Nvb2tp
ZS1uYW1lPWZvbyZjb29raWUtdmFsdWU9YmFyJmRlc3RpbmF0aW9uPWNsb3NlLW1vZGFsLWRpYWxv
Zy5odG1sIik7CisgICAgc2hvd01vZGFsRGlhbG9nKCJyZXNvdXJjZXMvc2V0LWNvb2tpZS1hbmQt
c2VydmUucHk/Y29va2llLW5hbWU9Zm9vJmNvb2tpZS12YWx1ZT1iYXImZGVzdGluYXRpb249Y2xv
c2UtbW9kYWwtZGlhbG9nLmh0bWwiKTsKIAogICAgIC8vIFRoaXMgaXMgc28gdGhlIGNvb2tpZSBn
ZXRzIHJlbW92ZWQgYXQgdGhlIGVuZCBvZiB0aGUgdGVzdC4KICAgICByZWdpc3RlckNvb2tpZUZv
ckNsZWFudXAoJ2Zvbz1iYXI7IHBhdGg9LycpOwpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9jb29raWVzL2RvY3VtZW50LWNvb2tpZS1kdXJpbmctaWZyYW1lLXBhcnNpbmcuaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvZG9jdW1lbnQtY29va2ll
LWR1cmluZy1pZnJhbWUtcGFyc2luZy5odG1sCShyZXZpc2lvbiAyNzUxODApCisrKyBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvZG9jdW1lbnQtY29va2llLWR1cmluZy1pZnJhbWUtcGFy
c2luZy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0yNSw3ICsyNSw3IEBAIG9ubG9hZCA9ICgpID0+
IHsKICAgICByZWdpc3RlckNvb2tpZUZvckNsZWFudXAoJ2Zvbz1iYXI7IHBhdGg9LycpOwogCiAg
ICAgbGV0IGlmcmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpOwotICAgIGlm
cmFtZS5zcmMgPSAicmVzb3VyY2VzL3NldC1jb29raWUtYW5kLXNlcnZlLnBocD9jb29raWUtbmFt
ZT1mb28mY29va2llLXZhbHVlPWJhciZkZXN0aW5hdGlvbj1kb2N1bWVudC1jb29raWUtZHVyaW5n
LWlmcmFtZS1wYXJzaW5nLWlmcmFtZS5odG1sIjsKKyAgICBpZnJhbWUuc3JjID0gInJlc291cmNl
cy9zZXQtY29va2llLWFuZC1zZXJ2ZS5weT9jb29raWUtbmFtZT1mb28mY29va2llLXZhbHVlPWJh
ciZkZXN0aW5hdGlvbj1kb2N1bWVudC1jb29raWUtZHVyaW5nLWlmcmFtZS1wYXJzaW5nLWlmcmFt
ZS5odG1sIjsKICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGlmcmFtZSk7CiB9OwogPC9z
Y3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvb25seS1hY2NlcHQt
Zmlyc3QtcGFydHktY29va2llcy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAv
dGVzdHMvY29va2llcy9vbmx5LWFjY2VwdC1maXJzdC1wYXJ0eS1jb29raWVzLmh0bWwJKHJldmlz
aW9uIDI3NTE4MCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9vbmx5LWFjY2Vw
dC1maXJzdC1wYXJ0eS1jb29raWVzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTcsNyArNyw3IEBA
CiAgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwogCiAgICAgICAgIGNvbnN0IGlmcmFtZVVy
bHMgPSB7Ci0gICAgICAgICAgICBlY2hvQ29va2llcyA6ICJodHRwOi8vbG9jYWxob3N0OjgwMDAv
Y29va2llcy9yZXNvdXJjZXMvZWNoby1jb29raWVzLnBocCIsCisgICAgICAgICAgICBlY2hvQ29v
a2llcyA6ICJodHRwOi8vbG9jYWxob3N0OjgwMDAvY29va2llcy9yZXNvdXJjZXMvZWNoby1jb29r
aWVzLnB5IiwKICAgICAgICAgICAgIHJlc2V0Q29va2llcyA6ICJodHRwOi8vbG9jYWxob3N0Ojgw
MDAvY29va2llcy9yZXNvdXJjZXMvcmVzZXQtY29va2llcy5odG1sIgogICAgICAgICB9OwogCkBA
IC0xOSw3ICsxOSw3IEBACiAgICAgICAgIH0KIAogICAgICAgICBmdW5jdGlvbiBzZXRDb29raWVJ
blJlZGlyZWN0KGhhc2hWYWx1ZSkgewotICAgICAgICAgICAgZG9jdW1lbnQubG9jYXRpb24uaHJl
ZiA9ICJodHRwOi8vbG9jYWxob3N0OjgwMDAvY29va2llcy9yZXNvdXJjZXMvc2V0LWNvb2tpZS1h
bmQtcmVkaXJlY3QtYmFjay5waHA/cmVkaXJlY3RCYWNrVG89aHR0cDovLzEyNy4wLjAuMTo4MDAw
L2Nvb2tpZXMvb25seS1hY2NlcHQtZmlyc3QtcGFydHktY29va2llcy5odG1sIyIgKyBoYXNoVmFs
dWU7CisgICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5ocmVmID0gImh0dHA6Ly9sb2NhbGhv
c3Q6ODAwMC9jb29raWVzL3Jlc291cmNlcy9zZXQtY29va2llLWFuZC1yZWRpcmVjdC1iYWNrLnB5
P3JlZGlyZWN0QmFja1RvPWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9jb29raWVzL29ubHktYWNjZXB0
LWZpcnN0LXBhcnR5LWNvb2tpZXMuaHRtbCMiICsgaGFzaFZhbHVlOwogICAgICAgICB9CiAKICAg
ICAgICAgZnVuY3Rpb24gcnVuTmV4dFRlc3RPckZpbmlzaCgpIHsKSW5kZXg6IExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvY29va2llcy9zZXQtY29va2llLW9uLXJlZGlyZWN0Lmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3NldC1jb29raWUtb24tcmVkaXJl
Y3QuaHRtbAkocmV2aXNpb24gMjc1MTgwKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29r
aWVzL3NldC1jb29raWUtb24tcmVkaXJlY3QuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMTAsNyAr
MTAsNyBAQCBjbGVhckFsbENvb2tpZXMoKTsKIAogZnVuY3Rpb24gZG9SZWRpcmVjdCgpCiB7Ci0g
IHdpbmRvdy5sb2NhdGlvbiA9ICJodHRwOi8vMTI3LjAuMC4xOjgwMDAvY29va2llcy9yZXNvdXJj
ZXMvc2V0LWNvb2tpZS1vbi1yZWRpcmVjdC5waHA/c3RlcD0xIjsKKyAgd2luZG93LmxvY2F0aW9u
ID0gImh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9jb29raWVzL3Jlc291cmNlcy9zZXQtY29va2llLW9u
LXJlZGlyZWN0LnB5P3N0ZXA9MSI7CiB9CiA8L3NjcmlwdD4KIApJbmRleDogTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9jb29raWVzL3RoaXJkLXBhcnR5LWNvb2tpZS1yZWxheGluZy1leHBlY3RlZC50
eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3RoaXJkLXBh
cnR5LWNvb2tpZS1yZWxheGluZy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDI3NTE4MCkKKysrIExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy90aGlyZC1wYXJ0eS1jb29raWUtcmVsYXhpbmct
ZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ3ICsxLDQ3IEBACiBBTEVSVDoKIAog
QUxFUlQ6IEFsbG93aW5nIGFsbCBjb29raWVzCi1DT05TT0xFIE1FU1NBR0U6IGh0dHA6Ly9sb2Nh
bGhvc3Q6ODAwMC9jb29raWVzL3Jlc291cmNlcy9jb29raWUtdXRpbGl0eS5waHA/cXVlcnlmdW5j
dGlvbj1kZWxldGVDb29raWVzCitDT05TT0xFIE1FU1NBR0U6IGh0dHA6Ly9sb2NhbGhvc3Q6ODAw
MC9jb29raWVzL3Jlc291cmNlcy9jb29raWUtdXRpbGl0eS5weT9xdWVyeWZ1bmN0aW9uPWRlbGV0
ZUNvb2tpZXMKIENPTlNPTEUgTUVTU0FHRTogWEhSIHJlc3BvbnNlIC0gRGVsZXRlZCBhbGwgY29v
a2llcwogQ09OU09MRSBNRVNTQUdFOiBUZXN0IHN0YWdlIDEgZG9jdW1lbnQuY29va2llIGlzOgog
QUxFUlQ6IFJlc3RyaWN0aW5nIHRvIGZpcnN0IHBhcnR5IG9ubHkgY29va2llcwotQ09OU09MRSBN
RVNTQUdFOiBodHRwOi8vbG9jYWxob3N0OjgwMDAvY29va2llcy9yZXNvdXJjZXMvY29va2llLXV0
aWxpdHkucGhwP3F1ZXJ5ZnVuY3Rpb249c2V0Rm9vQ29va2llCitDT05TT0xFIE1FU1NBR0U6IGh0
dHA6Ly9sb2NhbGhvc3Q6ODAwMC9jb29raWVzL3Jlc291cmNlcy9jb29raWUtdXRpbGl0eS5weT9x
dWVyeWZ1bmN0aW9uPXNldEZvb0Nvb2tpZQogQ09OU09MRSBNRVNTQUdFOiBYSFIgcmVzcG9uc2Ug
LSBTZXQgdGhlIGZvbyBjb29raWUKIENPTlNPTEUgTUVTU0FHRTogVGVzdCBzdGFnZSAyIGRvY3Vt
ZW50LmNvb2tpZSBpczoKIEFMRVJUOgogCiBBTEVSVDogQWxsb3dpbmcgYWxsIGNvb2tpZXMKLUNP
TlNPTEUgTUVTU0FHRTogaHR0cDovL2xvY2FsaG9zdDo4MDAwL2Nvb2tpZXMvcmVzb3VyY2VzL2Nv
b2tpZS11dGlsaXR5LnBocD9xdWVyeWZ1bmN0aW9uPWRlbGV0ZUNvb2tpZXMKK0NPTlNPTEUgTUVT
U0FHRTogaHR0cDovL2xvY2FsaG9zdDo4MDAwL2Nvb2tpZXMvcmVzb3VyY2VzL2Nvb2tpZS11dGls
aXR5LnB5P3F1ZXJ5ZnVuY3Rpb249ZGVsZXRlQ29va2llcwogQ09OU09MRSBNRVNTQUdFOiBYSFIg
cmVzcG9uc2UgLSBEZWxldGVkIGFsbCBjb29raWVzCiBDT05TT0xFIE1FU1NBR0U6IFRlc3Qgc3Rh
Z2UgMyBkb2N1bWVudC5jb29raWUgaXM6CiBBTEVSVDogUmVzdHJpY3RpbmcgdG8gZmlyc3QgcGFy
dHkgb25seSBjb29raWVzCi1DT05TT0xFIE1FU1NBR0U6IGh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9j
b29raWVzL3Jlc291cmNlcy9jb29raWUtdXRpbGl0eS5waHA/cXVlcnlmdW5jdGlvbj1zZXRGb29B
bmRCYXJDb29raWUKK0NPTlNPTEUgTUVTU0FHRTogaHR0cDovL2xvY2FsaG9zdDo4MDAwL2Nvb2tp
ZXMvcmVzb3VyY2VzL2Nvb2tpZS11dGlsaXR5LnB5P3F1ZXJ5ZnVuY3Rpb249c2V0Rm9vQW5kQmFy
Q29va2llCiBDT05TT0xFIE1FU1NBR0U6IFhIUiByZXNwb25zZSAtIFNldCB0aGUgZm9vIGFuZCBi
YXIgY29va2llcwogQ09OU09MRSBNRVNTQUdFOiBUZXN0IHN0YWdlIDQgZG9jdW1lbnQuY29va2ll
IGlzOgogQUxFUlQ6CiAKIEFMRVJUOiBBbGxvd2luZyBhbGwgY29va2llcwotQ09OU09MRSBNRVNT
QUdFOiBodHRwOi8vbG9jYWxob3N0OjgwMDAvY29va2llcy9yZXNvdXJjZXMvY29va2llLXV0aWxp
dHkucGhwP3F1ZXJ5ZnVuY3Rpb249ZGVsZXRlQ29va2llcworQ09OU09MRSBNRVNTQUdFOiBodHRw
Oi8vbG9jYWxob3N0OjgwMDAvY29va2llcy9yZXNvdXJjZXMvY29va2llLXV0aWxpdHkucHk/cXVl
cnlmdW5jdGlvbj1kZWxldGVDb29raWVzCiBDT05TT0xFIE1FU1NBR0U6IFhIUiByZXNwb25zZSAt
IERlbGV0ZWQgYWxsIGNvb2tpZXMKIENPTlNPTEUgTUVTU0FHRTogVGVzdCBzdGFnZSA1IGRvY3Vt
ZW50LmNvb2tpZSBpczoKLUNPTlNPTEUgTUVTU0FHRTogaHR0cDovL2xvY2FsaG9zdDo4MDAwL2Nv
b2tpZXMvcmVzb3VyY2VzL2Nvb2tpZS11dGlsaXR5LnBocD9xdWVyeWZ1bmN0aW9uPXNldEZvb0Nv
b2tpZQorQ09OU09MRSBNRVNTQUdFOiBodHRwOi8vbG9jYWxob3N0OjgwMDAvY29va2llcy9yZXNv
dXJjZXMvY29va2llLXV0aWxpdHkucHk/cXVlcnlmdW5jdGlvbj1zZXRGb29Db29raWUKIENPTlNP
TEUgTUVTU0FHRTogWEhSIHJlc3BvbnNlIC0gU2V0IHRoZSBmb28gY29va2llCiBDT05TT0xFIE1F
U1NBR0U6IFRlc3Qgc3RhZ2UgNiBkb2N1bWVudC5jb29raWUgaXM6IGZvbz1hd2Vzb21ldmFsdWUK
IEFMRVJUOiBSZXN0cmljdGluZyB0byBmaXJzdCBwYXJ0eSBvbmx5IGNvb2tpZXMKLUNPTlNPTEUg
TUVTU0FHRTogaHR0cDovL2xvY2FsaG9zdDo4MDAwL2Nvb2tpZXMvcmVzb3VyY2VzL2Nvb2tpZS11
dGlsaXR5LnBocD9xdWVyeWZ1bmN0aW9uPWRlbGV0ZUNvb2tpZXMKK0NPTlNPTEUgTUVTU0FHRTog
aHR0cDovL2xvY2FsaG9zdDo4MDAwL2Nvb2tpZXMvcmVzb3VyY2VzL2Nvb2tpZS11dGlsaXR5LnB5
P3F1ZXJ5ZnVuY3Rpb249ZGVsZXRlQ29va2llcwogQ09OU09MRSBNRVNTQUdFOiBYSFIgcmVzcG9u
c2UgLSBEZWxldGVkIGFsbCBjb29raWVzCiBDT05TT0xFIE1FU1NBR0U6IFRlc3Qgc3RhZ2UgNyBk
b2N1bWVudC5jb29raWUgaXM6CiBBTEVSVDoKIAogQUxFUlQ6IEFsbG93aW5nIGFsbCBjb29raWVz
Ci1DT05TT0xFIE1FU1NBR0U6IGh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9jb29raWVzL3Jlc291cmNl
cy9jb29raWUtdXRpbGl0eS5waHA/cXVlcnlmdW5jdGlvbj1kZWxldGVDb29raWVzCitDT05TT0xF
IE1FU1NBR0U6IGh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9jb29raWVzL3Jlc291cmNlcy9jb29raWUt
dXRpbGl0eS5weT9xdWVyeWZ1bmN0aW9uPWRlbGV0ZUNvb2tpZXMKIENPTlNPTEUgTUVTU0FHRTog
WEhSIHJlc3BvbnNlIC0gRGVsZXRlZCBhbGwgY29va2llcwogQ09OU09MRSBNRVNTQUdFOiBUZXN0
IHN0YWdlIDggZG9jdW1lbnQuY29va2llIGlzOgotQ09OU09MRSBNRVNTQUdFOiBodHRwOi8vbG9j
YWxob3N0OjgwMDAvY29va2llcy9yZXNvdXJjZXMvY29va2llLXV0aWxpdHkucGhwP3F1ZXJ5ZnVu
Y3Rpb249c2V0Rm9vQ29va2llCitDT05TT0xFIE1FU1NBR0U6IGh0dHA6Ly9sb2NhbGhvc3Q6ODAw
MC9jb29raWVzL3Jlc291cmNlcy9jb29raWUtdXRpbGl0eS5weT9xdWVyeWZ1bmN0aW9uPXNldEZv
b0Nvb2tpZQogQ09OU09MRSBNRVNTQUdFOiBYSFIgcmVzcG9uc2UgLSBTZXQgdGhlIGZvbyBjb29r
aWUKIENPTlNPTEUgTUVTU0FHRTogVGVzdCBzdGFnZSA5IGRvY3VtZW50LmNvb2tpZSBpczogZm9v
PWF3ZXNvbWV2YWx1ZQogQUxFUlQ6IFJlc3RyaWN0aW5nIHRvIGZpcnN0IHBhcnR5IG9ubHkgY29v
a2llcwotQ09OU09MRSBNRVNTQUdFOiBodHRwOi8vbG9jYWxob3N0OjgwMDAvY29va2llcy9yZXNv
dXJjZXMvY29va2llLXV0aWxpdHkucGhwP3F1ZXJ5ZnVuY3Rpb249c2V0Rm9vQW5kQmFyQ29va2ll
CitDT05TT0xFIE1FU1NBR0U6IGh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9jb29raWVzL3Jlc291cmNl
cy9jb29raWUtdXRpbGl0eS5weT9xdWVyeWZ1bmN0aW9uPXNldEZvb0FuZEJhckNvb2tpZQogQ09O
U09MRSBNRVNTQUdFOiBYSFIgcmVzcG9uc2UgLSBTZXQgdGhlIGZvbyBhbmQgYmFyIGNvb2tpZXMK
IENPTlNPTEUgTUVTU0FHRTogVGVzdCBzdGFnZSAxMCBkb2N1bWVudC5jb29raWUgaXM6IGJhcj1h
bm90aGVyYXdlc29tZXZhbHVlOyBmb289YXdlc29tZXZhbHVlCiAKSW5kZXg6IExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMvY29va2llLXV0aWxpdGllcy5qcwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL2Nvb2tpZS11
dGlsaXRpZXMuanMJKHJldmlzaW9uIDI3NTE4MCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMv
Y29va2llcy9yZXNvdXJjZXMvY29va2llLXV0aWxpdGllcy5qcwkod29ya2luZyBjb3B5KQpAQCAt
MTAxLDcgKzEwMSw3IEBAIGFzeW5jIGZ1bmN0aW9uIHJlc2V0Q29va2llcyh1cmxzKQogICAgICAg
ICAgICAgICAgIC8vIEZJWE1FOiBGb3Igc29tZSByZWFzb24gd2UgZ2V0IGEgU2VjdXJpdHlFcnJv
ciB3aGVuIHBhc3NpbmcgY2hpbGRXaW5kb3cgdG8gcmVzb2x2ZSgpIGluIFNhZmFyaSBWZXJzaW9u
IDExLjAuMyAoMTM2MDQuNS42KQogICAgICAgICAgICAgICAgIC8vIGFuZCBub3QgaW4gQ2hyb21l
IENhbmFyeSA2Ny4wLjMzOTAuMCAod2h5PykuIEFzIGEgd29ya2Fyb3VuZCwgc3RvcmUgdGhlIGNo
aWxkIHdpbmRvdyByZWZlcmVuY2UgaW4gYSBnbG9iYWwgdmFyaWFibGUuCiAgICAgICAgICAgICAg
ICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLCAobWVzc2FnZUV2ZW50KSA9PiBy
ZXNvbHZlKG1lc3NhZ2VFdmVudCksIHtjYXB0dXJlOiB0cnVlLCBvbmNlOiB0cnVlfSk7Ci0gICAg
ICAgICAgICAgICAgZ19jaGlsZFdpbmRvdyA9IHdpbmRvdy5vcGVuKHVybCArICIvY29va2llcy9y
ZXNvdXJjZXMvY29va2llLXV0aWxpdHkucGhwP3F1ZXJ5ZnVuY3Rpb249ZGVsZXRlQ29va2llc0Fu
ZFBvc3RNZXNzYWdlIiwgInJlc2V0Iik7CisgICAgICAgICAgICAgICAgZ19jaGlsZFdpbmRvdyA9
IHdpbmRvdy5vcGVuKHVybCArICIvY29va2llcy9yZXNvdXJjZXMvY29va2llLXV0aWxpdHkucHk/
cXVlcnlmdW5jdGlvbj1kZWxldGVDb29raWVzQW5kUG9zdE1lc3NhZ2UiLCAicmVzZXQiKTsKICAg
ICAgICAgICAgICAgICBpZiAoIWdfY2hpbGRXaW5kb3cpCiAgICAgICAgICAgICAgICAgICAgIHJl
amVjdChudWxsKTsKICAgICAgICAgICAgIH0pOwpAQCAtMTE2LDcgKzExNiw3IEBAIGFzeW5jIGZ1
bmN0aW9uIHJlc2V0Q29va2llc0ZvckN1cnJlbnRPcmkKIAogICAgIGxldCBwcm9taXNlID0gbmV3
IFByb21pc2UoKHJlc29sdmVkLCByZWplY3RlZCkgPT4gewogICAgICAgICBsZXQgeGhyID0gbmV3
IFhNTEh0dHBSZXF1ZXN0OwotICAgICAgICB4aHIub3BlbigiR0VUIiwgIi9jb29raWVzL3Jlc291
cmNlcy9jb29raWUtdXRpbGl0eS5waHA/cXVlcnlmdW5jdGlvbj1kZWxldGVDb29raWVzIik7Cisg
ICAgICAgIHhoci5vcGVuKCJHRVQiLCAiL2Nvb2tpZXMvcmVzb3VyY2VzL2Nvb2tpZS11dGlsaXR5
LnB5P3F1ZXJ5ZnVuY3Rpb249ZGVsZXRlQ29va2llcyIpOwogICAgICAgICB4aHIub25sb2FkID0g
KHByb2dyZXNzRXZlbnQpID0+IHsKICAgICAgICAgICAgIGRpc2FibGVTZXRBbHdheXNBY2NlcHRD
b29raWVzKCk7CiAgICAgICAgICAgICByZXNvbHZlZChwcm9ncmVzc0V2ZW50KTsKQEAgLTE1Niw3
ICsxNTYsNyBAQCBhc3luYyBmdW5jdGlvbiBnZXRDb29raWVzKCkKIAogICAgIGxldCBwcm9taXNl
ID0gbmV3IFByb21pc2UoKHJlc29sdmVkLCByZWplY3RlZCkgPT4gewogICAgICAgICBsZXQgeGhy
ID0gbmV3IFhNTEh0dHBSZXF1ZXN0OwotICAgICAgICB4aHIub3BlbigiR0VUIiwgYCR7Z19iYXNl
VVJMV2hlbkZldGNoaW5nQ29va2llc30vY29va2llcy9yZXNvdXJjZXMvZWNoby1qc29uLnBocGAp
OworICAgICAgICB4aHIub3BlbigiR0VUIiwgYCR7Z19iYXNlVVJMV2hlbkZldGNoaW5nQ29va2ll
c30vY29va2llcy9yZXNvdXJjZXMvZWNoby1qc29uLnB5YCk7CiAgICAgICAgIHhoci5vbmxvYWQg
PSAoKSA9PiByZXNvbHZlZCh4aHIucmVzcG9uc2VUZXh0ID8gSlNPTi5wYXJzZSh4aHIucmVzcG9u
c2VUZXh0KSA6IHt9KTsKICAgICAgICAgeGhyLm9uZXJyb3IgPSAoKSA9PiByZWplY3RlZCh7fSk7
CiAgICAgICAgIHhoci5zZW5kKG51bGwpOwpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9j
b29raWVzL3Jlc291cmNlcy9jb29raWUtdXRpbGl0eS5waHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9jb29raWUtdXRpbGl0eS5waHAJKHJl
dmlzaW9uIDI3NTE4MCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9yZXNvdXJj
ZXMvY29va2llLXV0aWxpdHkucGhwCShub25leGlzdGVudCkKQEAgLTEsNDcgKzAsMCBAQAotPD9w
aHAKLXBhcnNlX3N0cigkX1NFUlZFUlsiUVVFUllfU1RSSU5HIl0pOwotCi1mdW5jdGlvbiBkZWxl
dGVDb29raWUoJHZhbHVlLCAkbmFtZSkKLXsKLSAgICBzZXRjb29raWUoJG5hbWUsICJkZWxldGVk
IiwgdGltZSgpIC0gODY0MDAsICcvJyk7Ci19Ci0KLWlmICgkcXVlcnlmdW5jdGlvbiA9PSAiZGVs
ZXRlQ29va2llc0FuZFBvc3RNZXNzYWdlIikgewotICAgIGFycmF5X3dhbGsoJF9DT09LSUUsICdk
ZWxldGVDb29raWUnKTsKLSAgICBlY2hvICI8c2NyaXB0PndpbmRvdy5vcGVuZXIucG9zdE1lc3Nh
Z2UoJ2RvbmUnLCAnKicpOzwvc2NyaXB0PlxuIjsKLSAgICByZXR1cm47Ci19Ci0KLQotaWYgKCRx
dWVyeWZ1bmN0aW9uID09ICJkZWxldGVDb29raWVzIikgewotICAgIGFycmF5X3dhbGsoJF9DT09L
SUUsICdkZWxldGVDb29raWUnKTsKLSAgICBlY2hvICJEZWxldGVkIGFsbCBjb29raWVzIjsKLSAg
ICByZXR1cm47Ci19Ci0KLWlmICgkcXVlcnlmdW5jdGlvbiA9PSAic2V0Rm9vQ29va2llIikgewot
ICAgIHNldGNvb2tpZSgiZm9vIiwgImF3ZXNvbWV2YWx1ZSIsIHRpbWUoKSArIDg2NDAwLCAnLycp
OwotICAgIGVjaG8gIlNldCB0aGUgZm9vIGNvb2tpZSI7Ci0gICAgcmV0dXJuOwotfQotCi1pZiAo
JHF1ZXJ5ZnVuY3Rpb24gPT0gInNldEZvb0FuZEJhckNvb2tpZSIpIHsKLSAgICBzZXRjb29raWUo
ImZvbyIsICJhd2Vzb21ldmFsdWUiLCB0aW1lKCkgKyA4NjQwMCwgJy8nKTsKLSAgICBzZXRjb29r
aWUoImJhciIsICJhbm90aGVyYXdlc29tZXZhbHVlIiwgdGltZSgpICsgODY0MDAsICcvJyk7Ci0g
ICAgZWNobyAiU2V0IHRoZSBmb28gYW5kIGJhciBjb29raWVzIjsKLSAgICByZXR1cm47Ci19Ci0K
LS8vIERlZmF1bHQgZm9yIGFueSBvdGhlciBzdHJpbmcgaXMgZWNobyBjb29raWVzLgotZnVuY3Rp
b24gZWNob0Nvb2tpZSgkdmFsdWUsICRuYW1lKQotewotICAgIGVjaG8gIiRuYW1lID0gJHZhbHVl
XG4iOwotfQotCi1mdW5jdGlvbiBlY2hvQWxsQ29va2llcygpCi17Ci0gICAgZWNobyAiQ29va2ll
cyBhcmU6XG4iOwotICAgIGFycmF5X3dhbGsoJF9DT09LSUUsICdlY2hvQ29va2llJyk7Ci19Ci0K
LT8+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL2Nvb2tp
ZS11dGlsaXR5LnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2ll
cy9yZXNvdXJjZXMvY29va2llLXV0aWxpdHkucHkJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9jb29raWUtdXRpbGl0eS5weQkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDU2IEBACisjIS91c3IvYmluL2VudiBweXRob24zCisKK2ltcG9y
dCBvcworaW1wb3J0IHN5cworZnJvbSBkYXRldGltZSBpbXBvcnQgZGF0ZXRpbWUsIHRpbWVkZWx0
YQorZnJvbSB1cmxsaWIucGFyc2UgaW1wb3J0IHBhcnNlX3FzCisKK2ZpbGUgPSBfX2ZpbGVfXy5z
cGxpdCgnOi9jeWd3aW4nKVstMV0KK2h0dHBfcm9vdCA9IG9zLnBhdGguZGlybmFtZShvcy5wYXRo
LmRpcm5hbWUob3MucGF0aC5hYnNwYXRoKG9zLnBhdGguZGlybmFtZShmaWxlKSkpKQorc3lzLnBh
dGguaW5zZXJ0KDAsIGh0dHBfcm9vdCkKKworZnJvbSByZXNvdXJjZXMucG9ydGFiaWxpdHlMYXll
ciBpbXBvcnQgZ2V0X2Nvb2tpZXMKKworY29va2llcyA9IGdldF9jb29raWVzKCkKKworZGVmIGRl
bGV0ZV9jb29raWUobmFtZSk6CisgICAgZXhwaXJlcyA9IGRhdGV0aW1lLnV0Y25vdygpIC0gdGlt
ZWRlbHRhKHNlY29uZHM9ODY0MDApCisgICAgc3lzLnN0ZG91dC53cml0ZSgnU2V0LUNvb2tpZTog
e309ZGVsZXRlZDsgZXhwaXJlcz17fSBHTVQ7IE1heC1BZ2U9MDsgcGF0aD0vXHJcbicuZm9ybWF0
KG5hbWUsIGV4cGlyZXMuc3RyZnRpbWUoJyVhLCAlZC0lYi0lWSAlSDolTTolUycpKSkKKworcXVl
cnlfZnVuY3Rpb24gPSBwYXJzZV9xcyhvcy5lbnZpcm9uLmdldCgnUVVFUllfU1RSSU5HJywgJycp
LCBrZWVwX2JsYW5rX3ZhbHVlcz1UcnVlKS5nZXQoJ3F1ZXJ5ZnVuY3Rpb24nLCBbJyddKVswXQor
CitzeXMuc3Rkb3V0LndyaXRlKCdDb250ZW50LVR5cGU6IHRleHQvaHRtbFxyXG4nKQorCitpZiBx
dWVyeV9mdW5jdGlvbiA9PSAnZGVsZXRlQ29va2llc0FuZFBvc3RNZXNzYWdlJzoKKyAgICBmb3Ig
Y29va2llIGluIGNvb2tpZXMua2V5cygpOgorICAgICAgICBkZWxldGVfY29va2llKGNvb2tpZSkK
KyAgICBzeXMuc3Rkb3V0LndyaXRlKCdcclxuPHNjcmlwdD53aW5kb3cub3BlbmVyLnBvc3RNZXNz
YWdlKFwnZG9uZVwnLCBcJypcJyk7PC9zY3JpcHQ+XG4nKQorICAgIAorZWxpZiBxdWVyeV9mdW5j
dGlvbiA9PSAnZGVsZXRlQ29va2llcyc6CisgICAgZm9yIGNvb2tpZSBpbiBjb29raWVzLmtleXMo
KToKKyAgICAgICAgZGVsZXRlX2Nvb2tpZShjb29raWUpCisgICAgc3lzLnN0ZG91dC53cml0ZSgn
XHJcbkRlbGV0ZWQgYWxsIGNvb2tpZXMnKQorICAgIHN5cy5leGl0KDApCisgICAgCitlbGlmIHF1
ZXJ5X2Z1bmN0aW9uID09ICdzZXRGb29Db29raWUnOgorICAgIGV4cGlyZXM9IGRhdGV0aW1lLnV0
Y25vdygpICsgdGltZWRlbHRhKHNlY29uZHM9ODY0MDApCisgICAgc3lzLnN0ZG91dC53cml0ZSgK
KyAgICAgICAgJ1NldC1Db29raWU6IGZvbz1hd2Vzb21ldmFsdWU7IGV4cGlyZXM9e30gR01UOyBN
YXgtQWdlPTg2NDAwOyBwYXRoPS9cclxuXHJcbicKKyAgICAgICAgJ1NldCB0aGUgZm9vIGNvb2tp
ZScuZm9ybWF0KGV4cGlyZXMuc3RyZnRpbWUoJyVhLCAlZC0lYi0lWSAlSDolTTolUycpKQorICAg
ICkKKyAgICBzeXMuZXhpdCgwKQorICAgIAorZWxpZiBxdWVyeV9mdW5jdGlvbiA9PSAnc2V0Rm9v
QW5kQmFyQ29va2llJzoKKyAgICBleHBpcmVzPSBkYXRldGltZS51dGNub3coKSArIHRpbWVkZWx0
YShzZWNvbmRzPTg2NDAwKQorICAgIHN5cy5zdGRvdXQud3JpdGUoCisgICAgICAgICdTZXQtQ29v
a2llOiBmb289YXdlc29tZXZhbHVlOyBleHBpcmVzPXtleHBpcmVzfSBHTVQ7IE1heC1BZ2U9ODY0
MDA7IHBhdGg9L1xyXG4nCisgICAgICAgICdTZXQtQ29va2llOiBiYXI9YW5vdGhlcmF3ZXNvbWV2
YWx1ZTsgZXhwaXJlcz17ZXhwaXJlc30gR01UOyBNYXgtQWdlPTg2NDAwOyBwYXRoPS9cclxuXHJc
bicKKyAgICAgICAgJ1NldCB0aGUgZm9vIGFuZCBiYXIgY29va2llcycuZm9ybWF0KGV4cGlyZXM9
ZXhwaXJlcy5zdHJmdGltZSgnJWEsICVkLSViLSVZICVIOiVNOiVTJykpCisgICAgKQorICAgIHN5
cy5leGl0KDApCisgICAgCitlbHNlOgorICAgIHN5cy5zdGRvdXQud3JpdGUoJ1xyXG5Db29raWVz
IGFyZTpcbicpCisgICAgZm9yIGNvb2tpZSBpbiBjb29raWVzOgorICAgICAgICBjb29raWUgPSBj
b29raWUuc3BsaXQoJz0nKQorICAgICAgICBzeXMuc3Rkb3V0LndyaXRlKCd7fSA9IHt9XG4nLmZv
cm1hdChjb29raWVbMF0sIGNvb2tpZVsxXSkpClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoK
UHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3Jlc291
cmNlcy9jb29raWUtdXRpbGl0eS5weQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQoj
IyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMvY29va2llLXdpdGgtbXVsdGlw
bGUtbGV2ZWwtcGF0aC5waHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9j
b29raWVzL3Jlc291cmNlcy9jb29raWUtd2l0aC1tdWx0aXBsZS1sZXZlbC1wYXRoLnBocAkocmV2
aXNpb24gMjc1MTgwKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNl
cy9jb29raWUtd2l0aC1tdWx0aXBsZS1sZXZlbC1wYXRoLnBocAkobm9uZXhpc3RlbnQpCkBAIC0x
LDUgKzAsMCBAQAotPD9waHAKLQotJHZhbHVlID0gJF9TRVJWRVJbJ0hUVFBfQ09PS0lFJ10gPzog
IiI7Ci0KLWVjaG8gJF9TRVJWRVJbJ0hUVFBfQ09PS0lFJ107CkluZGV4OiBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL2Nvb2tpZS13aXRoLW11bHRpcGxlLWxldmVsLXBh
dGgucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3Jlc291
cmNlcy9jb29raWUtd2l0aC1tdWx0aXBsZS1sZXZlbC1wYXRoLnB5CShub25leGlzdGVudCkKKysr
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMvY29va2llLXdpdGgtbXVs
dGlwbGUtbGV2ZWwtcGF0aC5weQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDYgQEAKKyMhL3Vz
ci9iaW4vZW52IHB5dGhvbjMKKworaW1wb3J0IG9zCitpbXBvcnQgc3lzCisKK3N5cy5zdGRvdXQu
d3JpdGUoJ0NvbnRlbnQtVHlwZTogdGV4dC9odG1sXHJcblxyXG57fScuZm9ybWF0KG9zLmVudmly
b24uZ2V0KCdIVFRQX0NPT0tJRScsICcnKSkpClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoK
UHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3Jlc291
cmNlcy9jb29raWUtd2l0aC1tdWx0aXBsZS1sZXZlbC1wYXRoLnB5Cl9fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6
IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBw
cm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9l
Y2hvLWNvb2tpZXMucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29v
a2llcy9yZXNvdXJjZXMvZWNoby1jb29raWVzLnBocAkocmV2aXNpb24gMjc1MTgwKQorKysgTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9lY2hvLWNvb2tpZXMucGhwCShu
b25leGlzdGVudCkKQEAgLTEsMTEgKzAsMCBAQAotPD9waHAKLQotZnVuY3Rpb24gZWNob0Nvb2tp
ZSgkdmFsdWUsICRuYW1lKQotewotICAgIGVjaG8gIiRuYW1lID0gJHZhbHVlXG4iOwotfQotCi1l
Y2hvICJDb29raWVzIGFyZTpcbiI7Ci1hcnJheV93YWxrKCRfQ09PS0lFLCAnZWNob0Nvb2tpZScp
OwotCi0/PgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9l
Y2hvLWNvb2tpZXMucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29r
aWVzL3Jlc291cmNlcy9lY2hvLWNvb2tpZXMucHkJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9lY2hvLWNvb2tpZXMucHkJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSwxNyBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMworCitpbXBvcnQg
b3MKK2ltcG9ydCBzeXMKKworc3lzLnN0ZG91dC53cml0ZSgKKyAgICAnQ29udGVudC1UeXBlOiB0
ZXh0L2h0bWxcclxuXHJcbicKKyAgICAnQ29va2llcyBhcmU6XG4nCispCisKK2lmICdIVFRQX0NP
T0tJRScgaW4gb3MuZW52aXJvbjoKKyAgICBoZWFkZXJfY29va2llcyA9IG9zLmVudmlyb25bJ0hU
VFBfQ09PS0lFJ10KKyAgICBoZWFkZXJfY29va2llcyA9IGhlYWRlcl9jb29raWVzLnNwbGl0KCc7
ICcpCisKKyAgICBmb3IgY29va2llIGluIGhlYWRlcl9jb29raWVzOgorICAgICAgICBjb29raWUg
PSBjb29raWUuc3BsaXQoJz0nKQorICAgICAgICBzeXMuc3Rkb3V0LndyaXRlKCd7fSA9IHt9XG4n
LmZvcm1hdChjb29raWVbMF0sIGNvb2tpZVsxXSkpClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3Jl
c291cmNlcy9lY2hvLWNvb2tpZXMucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUK
IyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL2VjaG8taHR0cC1hbmQtZG9t
LWNvb2tpZXMtYW5kLW5vdGlmeS1kb25lLnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL2VjaG8taHR0cC1hbmQtZG9tLWNvb2tpZXMtYW5k
LW5vdGlmeS1kb25lLnBocAkocmV2aXNpb24gMjc1MTgwKQorKysgTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9jb29raWVzL3Jlc291cmNlcy9lY2hvLWh0dHAtYW5kLWRvbS1jb29raWVzLWFuZC1ub3Rp
ZnktZG9uZS5waHAJKG5vbmV4aXN0ZW50KQpAQCAtMSwzNSArMCwwIEBACi08IURPQ1RZUEUgaHRt
bD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iY29va2llLXV0aWxpdGllcy5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0PgotZnVuY3Rpb24gbG9nRE9NQ29va2llKG5hbWUsIHZhbHVlKQotewot
ICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkb20tY29va2llcy1vdXRwdXQiKS5hcHBlbmRD
aGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShgJHtuYW1lfSA9ICR7dmFsdWV9XG5gKSk7Ci19
Ci0KLXdpbmRvdy5vbmxvYWQgPSAoKSA9PiB7Ci0gICAgbGV0IGRvbUNvb2tpZXMgPSBnZXRET01D
b29raWVzKCk7Ci0gICAgZm9yIChsZXQgbmFtZSBvZiBPYmplY3Qua2V5cyhkb21Db29raWVzKS5z
b3J0KCkpCi0gICAgICAgIGxvZ0RPTUNvb2tpZShuYW1lLCBkb21Db29raWVzW25hbWVdKTsKLQot
ICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25l
KCk7Ci19OwotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxwPkhUVFAgc2VudCBjb29raWVz
OjwvcD4KLTxwcmU+Ci08P3BocAotJHNvcnRlZENvb2tpZU5hbWVzID0gYXJyYXlfa2V5cygkX0NP
T0tJRSk7Ci1zb3J0KCRzb3J0ZWRDb29raWVOYW1lcyk7Ci0KLWZvcmVhY2ggKCRzb3J0ZWRDb29r
aWVOYW1lcyBhcyAkbmFtZSkKLSAgICBlY2hvICIkbmFtZSA9ICRfQ09PS0lFWyRuYW1lXVxuIjsK
LT8+Ci08L3ByZT4KLTxwPkRPTSBjb29raWVzOjwvcD4KLTxwcmUgaWQ9ImRvbS1jb29raWVzLW91
dHB1dCI+PC9wcmU+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2Nvb2tpZXMvcmVzb3VyY2VzL2VjaG8taHR0cC1hbmQtZG9tLWNvb2tpZXMtYW5kLW5vdGlm
eS1kb25lLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9y
ZXNvdXJjZXMvZWNoby1odHRwLWFuZC1kb20tY29va2llcy1hbmQtbm90aWZ5LWRvbmUucHkJKG5v
bmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9l
Y2hvLWh0dHAtYW5kLWRvbS1jb29raWVzLWFuZC1ub3RpZnktZG9uZS5weQkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDQ4IEBACisjIS91c3IvYmluL2VudiBweXRob24zCisKK2ltcG9ydCBvcwor
aW1wb3J0IHN5cworCitmaWxlID0gX19maWxlX18uc3BsaXQoJzovY3lnd2luJylbLTFdCitodHRw
X3Jvb3QgPSBvcy5wYXRoLmRpcm5hbWUob3MucGF0aC5kaXJuYW1lKG9zLnBhdGguYWJzcGF0aChv
cy5wYXRoLmRpcm5hbWUoZmlsZSkpKSkKK3N5cy5wYXRoLmluc2VydCgwLCBodHRwX3Jvb3QpCisK
K2Zyb20gcmVzb3VyY2VzLnBvcnRhYmlsaXR5TGF5ZXIgaW1wb3J0IGdldF9jb29raWVzCisKK2Nv
b2tpZXMgPSBnZXRfY29va2llcygpCisKK3N5cy5zdGRvdXQud3JpdGUoJ0NvbnRlbnQtVHlwZTog
dGV4dC9odG1sXHJcblxyXG4nKQorCitwcmludCgnJyc8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iY29va2llLXV0aWxpdGllcy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0PgorZnVuY3Rpb24gbG9nRE9NQ29va2llKG5hbWUsIHZhbHVlKQoreworICAgIGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJkb20tY29va2llcy1vdXRwdXQiKS5hcHBlbmRDaGlsZChkb2N1bWVu
dC5jcmVhdGVUZXh0Tm9kZShgJHtuYW1lfSA9ICR7dmFsdWV9XG5gKSk7Cit9CisKK3dpbmRvdy5v
bmxvYWQgPSAoKSA9PiB7CisgICAgbGV0IGRvbUNvb2tpZXMgPSBnZXRET01Db29raWVzKCk7Cisg
ICAgZm9yIChsZXQgbmFtZSBvZiBPYmplY3Qua2V5cyhkb21Db29raWVzKS5zb3J0KCkpCisgICAg
ICAgIGxvZ0RPTUNvb2tpZShuYW1lLCBkb21Db29raWVzW25hbWVdKTsKKworICAgIGlmICh3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Cit9OworPC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPkhUVFAgc2VudCBjb29raWVzOjwvcD4KKzxwcmU+
JycnKQorCitzb3J0ZWRfY29va2llX25hbWVzID0gc29ydGVkKGNvb2tpZXMua2V5cygpKQorZm9y
IG5hbWUgaW4gc29ydGVkX2Nvb2tpZV9uYW1lczoKKyAgICBzeXMuc3Rkb3V0LndyaXRlKCd7fSA9
IHt9XG4nLmZvcm1hdChuYW1lLCBjb29raWVzLmdldChuYW1lKSkpCisKK3ByaW50KCcnJzwvcHJl
PgorPHA+RE9NIGNvb2tpZXM6PC9wPgorPHByZSBpZD0iZG9tLWNvb2tpZXMtb3V0cHV0Ij48L3By
ZT4KKzwvYm9keT4KKzwvaHRtbD4nJycpClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoKUHJv
cGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNl
cy9lY2hvLWh0dHAtYW5kLWRvbS1jb29raWVzLWFuZC1ub3RpZnktZG9uZS5weQpfX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
CkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9yZXNv
dXJjZXMvZWNoby1qc29uLnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2Nvb2tpZXMvcmVzb3VyY2VzL2VjaG8tanNvbi5waHAJKHJldmlzaW9uIDI3NTE4MCkKKysrIExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMvZWNoby1qc29uLnBocAkobm9u
ZXhpc3RlbnQpCkBAIC0xLDggKzAsMCBAQAotPD9waHAKLWhlYWRlcigiQ29udGVudC1UeXBlOiBh
cHBsaWNhdGlvbi9qc29uIik7Ci1oZWFkZXIoIkFjY2Vzcy1Db250cm9sLUFsbG93LUNyZWRlbnRp
YWxzOiB0cnVlIik7Ci1oZWFkZXIoIkFjY2Vzcy1Db250cm9sLUFsbG93LUV4dGVybmFsOiB0cnVl
Iik7Ci1oZWFkZXIoIkFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbjogJHtfU0VSVkVSWydIVFRQ
X09SSUdJTiddfSIpOwotCi1lY2hvIGpzb25fZW5jb2RlKCRfQ09PS0lFKTsKLT8+CkluZGV4OiBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL2VjaG8tanNvbi5weQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL2VjaG8t
anNvbi5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMv
cmVzb3VyY2VzL2VjaG8tanNvbi5weQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDIwIEBACisj
IS91c3IvYmluL2VudiBweXRob24zCisKK2ltcG9ydCBqc29uCitpbXBvcnQgb3MKK2ltcG9ydCBz
eXMKKworZmlsZSA9IF9fZmlsZV9fLnNwbGl0KCc6L2N5Z3dpbicpWy0xXQoraHR0cF9yb290ID0g
b3MucGF0aC5kaXJuYW1lKG9zLnBhdGguZGlybmFtZShvcy5wYXRoLmFic3BhdGgob3MucGF0aC5k
aXJuYW1lKGZpbGUpKSkpCitzeXMucGF0aC5pbnNlcnQoMCwgaHR0cF9yb290KQorCitmcm9tIHJl
c291cmNlcy5wb3J0YWJpbGl0eUxheWVyIGltcG9ydCBnZXRfY29va2llcworCitjb29raWVzID0g
Z2V0X2Nvb2tpZXMoKQorCitzeXMuc3Rkb3V0LndyaXRlKAorICAgICdDb250ZW50LVR5cGU6IGFw
cGxpY2F0aW9uL2pzb25cclxuJworICAgICdBY2Nlc3MtQ29udHJvbC1BbGxvdy1DcmVkZW50aWFs
czogdHJ1ZVxyXG4nCisgICAgJ0FjY2Vzcy1Db250cm9sLUFsbG93LUV4dGVybmFsOiB0cnVlXHJc
bicKKyAgICAnQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luOiB7fVxyXG5cclxue30nLmZvcm1h
dChvcy5lbnZpcm9uLmdldCgnSFRUUF9PUklHSU4nLCAnJyksIGpzb24uZHVtcHMoY29va2llcykp
CispClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9lY2hvLWpzb24ucHkKX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMv
cmVzb3VyY2VzL3Bvc3QtY29va2llcy1vbm1lc3NhZ2UucGhwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMvcG9zdC1jb29raWVzLW9ubWVzc2Fn
ZS5waHAJKHJldmlzaW9uIDI3NTE4MCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2ll
cy9yZXNvdXJjZXMvcG9zdC1jb29raWVzLW9ubWVzc2FnZS5waHAJKG5vbmV4aXN0ZW50KQpAQCAt
MSwxNCArMCwwIEBACi08IWRvY3R5cGUgaHRtbD4KLTxzY3JpcHQ+Ci0KLXZhciBmcm9tX2h0dHAg
PSA8P3BocAotZWNobyBqc29uX2VuY29kZSgkX0NPT0tJRSk7Ci0/PjsKLQotd2luZG93LmFkZEV2
ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLCBlID0+IHsKLSAgICBlLnNvdXJjZS5wb3N0TWVzc2FnZSh7
Ci0gICAgICAgICdodHRwJzogZnJvbV9odHRwLAotICAgICAgICAnZG9jdW1lbnQnOiBkb2N1bWVu
dC5jb29raWUKLSAgICB9LCAiKiIpOwotfSk7Ci08L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMvcG9zdC1jb29raWVzLW9ubWVzc2FnZS5weQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL3Bv
c3QtY29va2llcy1vbm1lc3NhZ2UucHkJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9wb3N0LWNvb2tpZXMtb25tZXNzYWdlLnB5CSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsMjkgQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbjMKKworaW1w
b3J0IGpzb24KK2ltcG9ydCBvcworaW1wb3J0IHN5cworCitmaWxlID0gX19maWxlX18uc3BsaXQo
JzovY3lnd2luJylbLTFdCitodHRwX3Jvb3QgPSBvcy5wYXRoLmRpcm5hbWUob3MucGF0aC5kaXJu
YW1lKG9zLnBhdGguYWJzcGF0aChvcy5wYXRoLmRpcm5hbWUoZmlsZSkpKSkKK3N5cy5wYXRoLmlu
c2VydCgwLCBodHRwX3Jvb3QpCisKK2Zyb20gcmVzb3VyY2VzLnBvcnRhYmlsaXR5TGF5ZXIgaW1w
b3J0IGdldF9jb29raWVzCisKK2Nvb2tpZXMgPSBnZXRfY29va2llcygpCisKK3N5cy5zdGRvdXQu
d3JpdGUoCisgICAgJ0NvbnRlbnQtVHlwZTogdGV4dC9odG1sXHJcblxyXG4nCisgICAgJzwhZG9j
dHlwZSBodG1sPlxuJworICAgICc8c2NyaXB0PlxuJworICAgICdcbicKKyAgICAndmFyIGZyb21f
aHR0cCA9IHt9O1xuJworICAgICdcbicKKyAgICAnd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm1l
c3NhZ2UiLCBlID0+IHt7XG4nCisgICAgJyAgICBlLnNvdXJjZS5wb3N0TWVzc2FnZSh7e1xuJwor
ICAgICcgICAgICAgIFwnaHR0cFwnOiBmcm9tX2h0dHAsXG4nCisgICAgJyAgICAgICAgXCdkb2N1
bWVudFwnOiBkb2N1bWVudC5jb29raWVcbicKKyAgICAnICAgIH19LCAiKiIpO1xuJworICAgICd9
fSk7XG4nCisgICAgJzwvc2NyaXB0PlxuJy5mb3JtYXQoanNvbi5kdW1wcyhjb29raWVzKSkKKykK
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL3Bvc3QtY29va2llcy1vbm1lc3NhZ2Uu
cHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2Nvb2tpZXMvcmVzb3VyY2VzL3Bvc3QtY29va2llcy10by1vcGVuZXIucGhwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMvcG9zdC1jb29raWVz
LXRvLW9wZW5lci5waHAJKHJldmlzaW9uIDI3NTE4MCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVz
dHMvY29va2llcy9yZXNvdXJjZXMvcG9zdC1jb29raWVzLXRvLW9wZW5lci5waHAJKG5vbmV4aXN0
ZW50KQpAQCAtMSwxMSArMCwwIEBACi08IWRvY3R5cGUgaHRtbD4KLTxzY3JpcHQ+Ci12YXIgZnJv
bV9odHRwID0gPD9waHAKLWVjaG8ganNvbl9lbmNvZGUoJF9DT09LSUUpOwotPz47Ci0KLXdpbmRv
dy5vcGVuZXIucG9zdE1lc3NhZ2UoewotICAgICdodHRwJzogZnJvbV9odHRwLAotICAgICdkb2N1
bWVudCc6IGRvY3VtZW50LmNvb2tpZQotfSwgIioiKTsKLTwvc2NyaXB0PgpJbmRleDogTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9wb3N0LWNvb2tpZXMtdG8tb3BlbmVy
LnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9yZXNvdXJj
ZXMvcG9zdC1jb29raWVzLXRvLW9wZW5lci5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL3Bvc3QtY29va2llcy10by1vcGVuZXIucHkJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyNiBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMwor
CitpbXBvcnQganNvbgoraW1wb3J0IG9zCitpbXBvcnQgc3lzCisKK2ZpbGUgPSBfX2ZpbGVfXy5z
cGxpdCgnOi9jeWd3aW4nKVstMV0KK2h0dHBfcm9vdCA9IG9zLnBhdGguZGlybmFtZShvcy5wYXRo
LmRpcm5hbWUob3MucGF0aC5hYnNwYXRoKG9zLnBhdGguZGlybmFtZShmaWxlKSkpKQorc3lzLnBh
dGguaW5zZXJ0KDAsIGh0dHBfcm9vdCkKKworZnJvbSByZXNvdXJjZXMucG9ydGFiaWxpdHlMYXll
ciBpbXBvcnQgZ2V0X2Nvb2tpZXMKKworY29va2llcyA9IGdldF9jb29raWVzKCkKKworc3lzLnN0
ZG91dC53cml0ZSgnQ29udGVudC1UeXBlOiB0ZXh0L2h0bWxcclxuXHJcbicpCitwcmludChzeXMu
cGF0aCkKKworcHJpbnQoJycnPCFkb2N0eXBlIGh0bWw+Cis8c2NyaXB0PgordmFyIGZyb21faHR0
cCA9IHt9OworCit3aW5kb3cub3BlbmVyLnBvc3RNZXNzYWdlKHt7CisgICAgJ2h0dHAnOiBmcm9t
X2h0dHAsCisgICAgJ2RvY3VtZW50JzogZG9jdW1lbnQuY29va2llCit9fSwgIioiKTsKKzwvc2Ny
aXB0PicnJy5mb3JtYXQoanNvbi5kdW1wcyhjb29raWVzKSkpClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29r
aWVzL3Jlc291cmNlcy9wb3N0LWNvb2tpZXMtdG8tb3BlbmVyLnB5Cl9fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6
IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBw
cm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9y
ZXNldENvb2tpZXMuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29r
aWVzL3Jlc291cmNlcy9yZXNldENvb2tpZXMuanMJKHJldmlzaW9uIDI3NTE4MCkKKysrIExheW91
dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMvcmVzZXRDb29raWVzLmpzCSh3b3Jr
aW5nIGNvcHkpCkBAIC00LDcgKzQsNyBAQCBmdW5jdGlvbiByZXNldENvb2tpZXMoKQogICAgICAg
ICB0ZXN0UnVubmVyLnNldEFsd2F5c0FjY2VwdENvb2tpZXModHJ1ZSk7CiAKICAgICAvLyBEdWUg
dG8gY3Jvc3Mtb3JpZ2luIHJlc3RyaWN0aW9ucywgd2UgY2FuIG9ubHkgKHNpbXBseSkgcmVzZXQg
Y29va2llcyBmb3Igb3VyIGN1cnJlbnQgb3JpZ2luLgotICAgIHZhciB1cmwgPSAiaHR0cDovLyIg
KyB3aW5kb3cubG9jYXRpb24uaG9zdG5hbWUgKyI6ODAwMC9jb29raWVzL3Jlc291cmNlcy9jb29r
aWUtdXRpbGl0eS5waHA/cXVlcnlmdW5jdGlvbj1kZWxldGVDb29raWVzIjsKKyAgICB2YXIgdXJs
ID0gImh0dHA6Ly8iICsgd2luZG93LmxvY2F0aW9uLmhvc3RuYW1lICsiOjgwMDAvY29va2llcy9y
ZXNvdXJjZXMvY29va2llLXV0aWxpdHkucHk/cXVlcnlmdW5jdGlvbj1kZWxldGVDb29raWVzIjsK
ICAgICB2YXIgcmVxID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CiAgICAgdHJ5IHsKICAgICAgICAg
cmVxLm9wZW4oJ0dFVCcsIHVybCwgZmFsc2UpOwpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9jb29raWVzL3Jlc291cmNlcy9zZXQtY29va2llLWFuZC1yZWRpcmVjdC1iYWNrLnBocAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL3NldC1j
b29raWUtYW5kLXJlZGlyZWN0LWJhY2sucGhwCShyZXZpc2lvbiAyNzUxODApCisrKyBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL3NldC1jb29raWUtYW5kLXJlZGlyZWN0
LWJhY2sucGhwCShub25leGlzdGVudCkKQEAgLTEsMTAgKzAsMCBAQAotPD9waHAKLWlmICgkX0dF
VFsncmVkaXJlY3RCYWNrVG8nXSkgewotICBoZWFkZXIoIkhUVFAvMS4wIDMwMiBGb3VuZCIpOwot
ICBzZXRjb29raWUoInRlc3RfY29va2llIiwgIjEiLCB0aW1lKCkgKyA4NjQwMCk7Ci0gIGhlYWRl
cignTG9jYXRpb246ICcgLiAkX0dFVFsncmVkaXJlY3RCYWNrVG8nXSk7Ci19IGVsc2UgewotICBo
ZWFkZXIoIkhUVFAvMS4wIDIwMCBPSyIpOwotICBlY2hvICJGQUlMRUQ6IE5vIHJlZGlyZWN0QmFj
a1RvIHBhcmFtZXRlciBmb3VuZC5cbiI7Ci19Ci0/PgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9jb29raWVzL3Jlc291cmNlcy9zZXQtY29va2llLWFuZC1yZWRpcmVjdC1iYWNrLnB5Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMvc2V0
LWNvb2tpZS1hbmQtcmVkaXJlY3QtYmFjay5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL3NldC1jb29raWUtYW5kLXJlZGlyZWN0LWJh
Y2sucHkJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyMyBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0
aG9uMworCitpbXBvcnQgb3MKK2ltcG9ydCBzeXMKK2Zyb20gZGF0ZXRpbWUgaW1wb3J0IGRhdGV0
aW1lLCB0aW1lZGVsdGEKK2Zyb20gdXJsbGliLnBhcnNlIGltcG9ydCBwYXJzZV9xcworCityZWRp
cmVjdF9iYWNrX3RvID0gcGFyc2VfcXMob3MuZW52aXJvbi5nZXQoJ1FVRVJZX1NUUklORycsICcn
KSwga2VlcF9ibGFua192YWx1ZXM9VHJ1ZSkuZ2V0KCdyZWRpcmVjdEJhY2tUbycsIFsnJ10pWzBd
CisKK3N5cy5zdGRvdXQud3JpdGUoJ0NvbnRlbnQtVHlwZTogdGV4dC9odG1sXHJcbicpCisKK2lm
IHJlZGlyZWN0X2JhY2tfdG86CisgICAgZXhwaXJlcz0gZGF0ZXRpbWUudXRjbm93KCkgKyB0aW1l
ZGVsdGEoc2Vjb25kcz04NjQwMCkKKyAgICBzeXMuc3Rkb3V0LndyaXRlKAorICAgICAgICAnc3Rh
dHVzOiAzMDJcclxuJworICAgICAgICAnU2V0LUNvb2tpZTogdGVzdF9jb29raWU9MTsgZXhwaXJl
cz17fSBHTVQ7IE1heC1BZ2U9ODY0MDBcclxuJworICAgICAgICAnTG9jYXRpb246IHt9XHJcblxy
XG4nLmZvcm1hdChleHBpcmVzLnN0cmZ0aW1lKCclYSwgJWQtJWItJVkgJUg6JU06JVMnKSwgcmVk
aXJlY3RfYmFja190bykKKyAgICApCitlbHNlOgorICAgIHN5cy5zdGRvdXQud3JpdGUoCisgICAg
ICAgICdzdGF0dXM6IDIwMFxyXG5cclxuJworICAgICAgICAnRkFJTEVEOiBObyByZWRpcmVjdEJh
Y2tUbyBwYXJhbWV0ZXIgZm91bmQuXG4nCisgICAgKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9y
ZXNvdXJjZXMvc2V0LWNvb2tpZS1hbmQtcmVkaXJlY3QtYmFjay5weQpfX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVk
OiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
cHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMv
c2V0LWNvb2tpZS1hbmQtc2VydmUucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAv
dGVzdHMvY29va2llcy9yZXNvdXJjZXMvc2V0LWNvb2tpZS1hbmQtc2VydmUucGhwCShyZXZpc2lv
biAyNzUxODApCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL3Nl
dC1jb29raWUtYW5kLXNlcnZlLnBocAkobm9uZXhpc3RlbnQpCkBAIC0xLDEzICswLDAgQEAKLTw/
cGhwCi0kY29va2llTmFtZSA9ICRfR0VUWydjb29raWUtbmFtZSddOwotJGNvb2tpZVZhbHVlID0g
JF9HRVRbJ2Nvb2tpZS12YWx1ZSddOwotJGRlc3RpbmF0aW9uID0gJF9HRVRbJ2Rlc3RpbmF0aW9u
J107Ci1oZWFkZXIoIkNvbnRlbnQtVHlwZTogdGV4dC9odG1sIik7Ci1oZWFkZXIoIkNhY2hlLUNv
bnRyb2w6IG5vLXN0b3JlIik7Ci1oZWFkZXIoIlNldC1Db29raWU6ICR7Y29va2llTmFtZX09JHtj
b29raWVWYWx1ZX07IHBhdGg9LyIpOwotJGZwID0gZm9wZW4oJGRlc3RpbmF0aW9uLCAncmInKTsK
LWhlYWRlcigiQ29udGVudC1MZW5ndGg6ICIgLiBmaWxlc2l6ZSgkZGVzdGluYXRpb24pKTsKLQot
ZnBhc3N0aHJ1KCRmcCk7Ci1leGl0OwotPz4KClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRl
c3RzL2h0dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMvc2V0LWNvb2tpZS1hbmQtc2VydmUucGhw
Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX18KRGVsZXRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTEgKzAsMCAjIwotKgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2Nvb2tpZXMvcmVzb3VyY2VzL3NldC1jb29raWUtYW5kLXNlcnZlLnB5Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMvc2V0LWNvb2tpZS1hbmQt
c2VydmUucHkJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVz
L3Jlc291cmNlcy9zZXQtY29va2llLWFuZC1zZXJ2ZS5weQkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDIyIEBACisjIS91c3IvYmluL2VudiBweXRob24zCisKK2ltcG9ydCBvcworaW1wb3J0IHN5
cworZnJvbSB1cmxsaWIucGFyc2UgaW1wb3J0IHBhcnNlX3FzCisKK3F1ZXJ5ID0gcGFyc2VfcXMo
b3MuZW52aXJvbi5nZXQoJ1FVRVJZX1NUUklORycsICcnKSwga2VlcF9ibGFua192YWx1ZXM9VHJ1
ZSkKK2Nvb2tpZV9uYW1lID0gcXVlcnkuZ2V0KCdjb29raWUtbmFtZScsIFsnJ10pWzBdCitjb29r
aWVfdmFsdWUgPSBxdWVyeS5nZXQoJ2Nvb2tpZS12YWx1ZScsIFsnJ10pWzBdCitkZXN0aW5hdGlv
biA9IHF1ZXJ5LmdldCgnZGVzdGluYXRpb24nLCBbJyddKVswXQorCitzeXMuc3Rkb3V0LndyaXRl
KAorICAgICdDb250ZW50LVR5cGU6IHRleHQvaHRtbFxyXG4nCisgICAgJ0NhY2hlLUNvbnRyb2w6
IG5vLXN0b3JlXHJcbicKKyAgICAnU2V0LUNvb2tpZToge309e307IHBhdGg9L1xyXG4nLmZvcm1h
dChjb29raWVfbmFtZSwgY29va2llX3ZhbHVlKQorKQorCit3aXRoIG9wZW4ob3MucGF0aC5qb2lu
KG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXyksIGRlc3RpbmF0aW9uKSwgJ3InKSBhcyBmaWxlOgor
ICAgIGNvbnRlbnQgPSBmaWxlLnJlYWQoKQorICAgIHN5cy5zdGRvdXQud3JpdGUoJ0NvbnRlbnQt
TGVuZ3RoOiB7fVxyXG5cclxue30nLmZvcm1hdChsZW4oY29udGVudCksIGNvbnRlbnQpKQorCitz
eXMuZXhpdCgwKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKClByb3BlcnR5IGNoYW5nZXMg
b246IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMvc2V0LWNvb2tpZS1h
bmQtc2VydmUucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAj
IworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL3NldC1jb29raWUtb24tcmVkaXJlY3QucGhwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMvc2V0
LWNvb2tpZS1vbi1yZWRpcmVjdC5waHAJKHJldmlzaW9uIDI3NTE4MCkKKysrIExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMvc2V0LWNvb2tpZS1vbi1yZWRpcmVjdC5waHAJ
KG5vbmV4aXN0ZW50KQpAQCAtMSwyMSArMCwwIEBACi08P3BocAotaWYgKCRfR0VUWydzdGVwJ10g
PT0gMSkgewotICBoZWFkZXIoIkhUVFAvMS4wIDMwMiBGb3VuZCIpOwotICBoZWFkZXIoJ0xvY2F0
aW9uOiBodHRwOi8vbG9jYWxob3N0OjgwMDAvY29va2llcy9yZXNvdXJjZXMvc2V0LWNvb2tpZS1v
bi1yZWRpcmVjdC5waHA/c3RlcD0yJyk7Ci19IGVsc2UgaWYgKCRfR0VUWydzdGVwJ10gPT0gMikg
ewotICBoZWFkZXIoIkhUVFAvMS4wIDMwMiBGb3VuZCIpOwotICBzZXRjb29raWUoInRlc3RfY29v
a2llIiwgIjEiLCB0aW1lKCkgKyA4NjQwMCk7Ci0gIGhlYWRlcignTG9jYXRpb246IGh0dHA6Ly9s
b2NhbGhvc3Q6ODAwMC9jb29raWVzL3Jlc291cmNlcy9zZXQtY29va2llLW9uLXJlZGlyZWN0LnBo
cD9zdGVwPTMnKTsKLX0gZWxzZSBpZiAoJF9HRVRbJ3N0ZXAnXSA9PSAzKSB7Ci0gIGhlYWRlcigi
SFRUUC8xLjAgMjAwIE9LIik7Ci0gIGlmIChpc3NldCgkX0NPT0tJRVsndGVzdF9jb29raWUnXSkp
IHsKLSAgICAvKiBDbGVhciBjb29raWUgaW4gb3JkZXIgbm90IHRvIGFmZmVjdCBvdGhlciB0ZXN0
cy4gKi8KLSAgICBzZXRjb29raWUoInRlc3RfY29va2llIiwgIiIsIHRpbWUoKSAtIDg2NDAwKTsK
LQotICAgIGVjaG8gIlBBU1NFRDogQ29va2llIHN1Y2Nlc3NmdWxseSBzZXRcbiI7Ci0gIH0gZWxz
ZSB7Ci0gICAgZWNobyAiRkFJTEVEOiBDb29raWUgbm90IHNldFxuIjsKLSAgfQotICBlY2hvICI8
c2NyaXB0PiBpZiAod2luZG93LnRlc3RSdW5uZXIpIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOzwv
c2NyaXB0PlxuIjsKLX0KLT8+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMv
cmVzb3VyY2VzL3NldC1jb29raWUtb24tcmVkaXJlY3QucHkKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9zZXQtY29va2llLW9uLXJlZGlyZWN0
LnB5CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9yZXNv
dXJjZXMvc2V0LWNvb2tpZS1vbi1yZWRpcmVjdC5weQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDQ2IEBACisjIS91c3IvYmluL2VudiBweXRob24zCisKK2ltcG9ydCBvcworaW1wb3J0IHN5cwor
ZnJvbSBkYXRldGltZSBpbXBvcnQgZGF0ZXRpbWUsIHRpbWVkZWx0YQorZnJvbSB1cmxsaWIucGFy
c2UgaW1wb3J0IHBhcnNlX3FzCisKK2ZpbGUgPSBfX2ZpbGVfXy5zcGxpdCgnOi9jeWd3aW4nKVst
MV0KK2h0dHBfcm9vdCA9IG9zLnBhdGguZGlybmFtZShvcy5wYXRoLmRpcm5hbWUob3MucGF0aC5h
YnNwYXRoKG9zLnBhdGguZGlybmFtZShmaWxlKSkpKQorc3lzLnBhdGguaW5zZXJ0KDAsIGh0dHBf
cm9vdCkKKworZnJvbSByZXNvdXJjZXMucG9ydGFiaWxpdHlMYXllciBpbXBvcnQgZ2V0X2Nvb2tp
ZXMKKworc3RlcCA9IGludChwYXJzZV9xcyhvcy5lbnZpcm9uLmdldCgnUVVFUllfU1RSSU5HJywg
JycpLCBrZWVwX2JsYW5rX3ZhbHVlcz1UcnVlKS5nZXQoJ3N0ZXAnLCBbMF0pWzBdKQorCitzeXMu
c3Rkb3V0LndyaXRlKCdDb250ZW50LVR5cGU6IHRleHQvaHRtbFxyXG4nKQorCitpZiBzdGVwID09
IDE6CisgICAgc3lzLnN0ZG91dC53cml0ZSgKKyAgICAgICAgJ0xvY2F0aW9uOiBodHRwOi8vbG9j
YWxob3N0OjgwMDAvY29va2llcy9yZXNvdXJjZXMvc2V0LWNvb2tpZS1vbi1yZWRpcmVjdC5weT9z
dGVwPTJcclxuJworICAgICAgICAnc3RhdHVzOiAzMDJcclxuXHJcbicKKyAgICApCisgICAgCitl
bGlmIHN0ZXAgPT0gMjoKKyAgICBleHBpcmVzID0gZGF0ZXRpbWUudXRjbm93KCkgKyB0aW1lZGVs
dGEoc2Vjb25kcz04NjQwMCkKKyAgICBzeXMuc3Rkb3V0LndyaXRlKAorICAgICAgICAnU2V0LUNv
b2tpZTogdGVzdF9jb29raWU9MTsgZXhwaXJlcz17fSBHTVQ7IE1heC1BZ2U9ODY0MDBcclxuJwor
ICAgICAgICAnTG9jYXRpb246IGh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9jb29raWVzL3Jlc291cmNl
cy9zZXQtY29va2llLW9uLXJlZGlyZWN0LnB5P3N0ZXA9M1xyXG4nCisgICAgICAgICdzdGF0dXM6
IDMwMlxyXG5cclxuJy5mb3JtYXQoZXhwaXJlcy5zdHJmdGltZSgnJWEsICVkLSViLSVZICVIOiVN
OiVTJykpCisgICAgKQorICAgIAorZWxpZiBzdGVwID09IDM6CisgICAgY29va2llcyA9IGdldF9j
b29raWVzKCkKKyAgICBpZiBjb29raWVzLmdldCgndGVzdF9jb29raWUnLCBOb25lKSBpcyBub3Qg
Tm9uZToKKyAgICAgICAgZXhwaXJlcz0gZGF0ZXRpbWUudXRjbm93KCkgLSB0aW1lZGVsdGEoc2Vj
b25kcz04NjQwMCkKKyAgICAgICAgc3lzLnN0ZG91dC53cml0ZSgKKyAgICAgICAgICAgICdTZXQt
Q29va2llOiB0ZXN0X2Nvb2tpZT1kZWxldGVkOyBleHBpcmVzPXt9IEdNVDsgTWF4LUFnZT0wXHJc
blxyXG4nCisgICAgICAgICAgICAnUEFTU0VEOiBDb29raWUgc3VjY2Vzc2Z1bGx5IHNldFxuJy5m
b3JtYXQoZXhwaXJlcy5zdHJmdGltZSgnJWEsICVkLSViLSVZICVIOiVNOiVTJykpCisgICAgICAg
ICkKKyAgICBlbHNlOgorICAgICAgICBzeXMuc3Rkb3V0LndyaXRlKCdcclxuRkFJTEVEOiBDb29r
aWUgbm90IHNldFxuJykKKworICAgIHN5cy5zdGRvdXQud3JpdGUoJzxzY3JpcHQ+IGlmICh3aW5k
b3cudGVzdFJ1bm5lcikgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7PC9zY3JpcHQ+XG4nKQorICAg
IAorZWxzZToKKyAgICBzeXMuc3Rkb3V0LndyaXRlKCdcclxuJykKXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nv
b2tpZXMvcmVzb3VyY2VzL3NldC1jb29raWUtb24tcmVkaXJlY3QucHkKX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRl
ZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2Vz
L3NldC1odHRwLW9ubHktY29va2llLnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL3NldC1odHRwLW9ubHktY29va2llLnBocAkocmV2aXNp
b24gMjc1MTgwKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9z
ZXQtaHR0cC1vbmx5LWNvb2tpZS5waHAJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMCArMCwwIEBACi08
P3BocAotaWYgKCRfR0VUWydjb29raWVOYW1lJ10pIHsKLSAgc2V0Y29va2llKCRfR0VUWydjb29r
aWVOYW1lJ10sICIxIiwgdGltZSgpICsgODY0MDAsICIvIiwgIiIsIEZBTFNFLCBUUlVFKTsKLSAg
ZWNobyAiWWVhaCI7Ci19IGVsc2UgewotICBoZWFkZXIoIkhUVFAvMS4wIDIwMCBPSyIpOwotICBl
Y2hvICJGQUlMRUQ6IE5vIGNvb2tpZU5hbWUgcGFyYW1ldGVyIGZvdW5kLlxuIjsKLX0KLQotPz4K
SW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMvc2V0LWh0dHAt
b25seS1jb29raWUucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29r
aWVzL3Jlc291cmNlcy9zZXQtaHR0cC1vbmx5LWNvb2tpZS5weQkobm9uZXhpc3RlbnQpCisrKyBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL3NldC1odHRwLW9ubHktY29v
a2llLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjIgQEAKKyMhL3Vzci9iaW4vZW52IHB5
dGhvbjMKKworaW1wb3J0IG9zCitpbXBvcnQgc3lzCitmcm9tIGRhdGV0aW1lIGltcG9ydCBkYXRl
dGltZSwgdGltZWRlbHRhCitmcm9tIHVybGxpYi5wYXJzZSBpbXBvcnQgcGFyc2VfcXMKKworY29v
a2llX25hbWUgPSBwYXJzZV9xcyhvcy5lbnZpcm9uLmdldCgnUVVFUllfU1RSSU5HJywgJycpLCBr
ZWVwX2JsYW5rX3ZhbHVlcz1UcnVlKS5nZXQoJ2Nvb2tpZU5hbWUnLCBbJyddKVswXQorZXhwaXJl
cz0gZGF0ZXRpbWUudXRjbm93KCkgKyB0aW1lZGVsdGEoc2Vjb25kcz04NjQwMCkKKworc3lzLnN0
ZG91dC53cml0ZSgnQ29udGVudC1UeXBlOiB0ZXh0L2h0bWxcclxuJykKKworaWYgY29va2llX25h
bWU6CisgICAgc3lzLnN0ZG91dC53cml0ZSgKKyAgICAgICAgJ1NldC1Db29raWU6IHt9PTE7IGV4
cGlyZXM9e30gR01UOyBNYXgtQWdlPTg2NDAwOyBwYXRoPS87IEh0dHBPbmx5XHJcblxyXG4nCisg
ICAgICAgICdZZWFoJy5mb3JtYXQoY29va2llX25hbWUsIGV4cGlyZXMuc3RyZnRpbWUoJyVhLCAl
ZC0lYi0lWSAlSDolTTolUycpKQorICAgICkKK2Vsc2U6CisgICAgc3lzLnN0b2R1dC53cml0ZSgK
KyAgICAgICAgJ3N0YXR1czogMjAwXHJcblxyXG4nCisgICAgICAgICdGQUlMRUQ6IE5vIGNvb2tp
ZU5hbWUgcGFyYW1ldGVyIGZvdW5kLlxuJworICAgICkKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMv
cmVzb3VyY2VzL3NldC1odHRwLW9ubHktY29va2llLnB5Cl9fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpl
eGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0
eQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9zZXRBcnJh
eWNvb2tpZXMtcmVzdWx0LnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2Nvb2tpZXMvcmVzb3VyY2VzL3NldEFycmF5Y29va2llcy1yZXN1bHQucGhwCShyZXZpc2lvbiAy
NzUxODApCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL3NldEFy
cmF5Y29va2llcy1yZXN1bHQucGhwCShub25leGlzdGVudCkKQEAgLTEsMzQgKzAsMCBAQAotPGh0
bWw+DQotPGhlYWQ+DQotPHNjcmlwdD4NCi0gICAgZnVuY3Rpb24gcnVuKCl7DQotICAgICAgICAv
LyBSZWFkaW5nIHRoZSBDb29pa2VzIHVzaW5nIFBIUA0KLSAgICAgICAgdmFyIGNvb2tpZSA9ICI8
P3BocCBpZiAoaXNzZXQoJF9DT09LSUVbJ3NldEFycmF5Y29va2llJ10pKSB7DQotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBmb3JlYWNoICgkX0NPT0tJRVsnc2V0QXJyYXljb29raWUn
XSBhcyAkbmFtZSA9PiAkdmFsdWUpIHsNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAkbmFtZSA9IGh0bWxzcGVjaWFsY2hhcnMoJG5hbWUpOw0KLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICR2YWx1ZSA9IGh0bWxzcGVjaWFsY2hhcnMoJHZhbHVlKTsNCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlY2hvICIkbmFtZSA6ICR2YWx1ZSI7
DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQotCQkgICAgICAgICAgICB9IA0K
LSAgICAgICAgICAgICAgICAgICAgID8+IjsNCi0NCi0gICAgICAgIHZhciBzdGF0dXMgPSAiRmFp
bCI7DQotICAgICAgICBpZiAoY29va2llID09ICJ0aHJlZSA6IGNvb2tpZXRocmVldHdvIDogY29v
a2lldHdvb25lIDogY29va2llb25lIikgew0KLSAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJ0ZXN0IikuaW5uZXJIVE1MID0gIjxiPlBhc3NlZDwvYj4iOw0KLSAgICAgICAgICAg
IHN0YXR1cyA9ICJQYXNzIjsNCi0gICAgICAgIH0gZWxzZQ0KLSAgICAgICAgICAgIGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJ0ZXN0IikuaW5uZXJIVE1MID0gIjxiPkZhaWxlZDwvYj4iOyAgICAN
Ci0gICAgfQ0KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikNCi0gICAgICAgIHRlc3RSdW5uZXIuZHVt
cEFzVGV4dCgpOw0KLQ0KLTwvc2NyaXB0Pg0KLTwvaGVhZD4NCi08Ym9keSBvbmxvYWQ9InJ1bigp
Ij4NCi08cD5UaGlzIHRlc3QgY2FzZSB0byBzZXQgYSBBcnJheSBvZiBDb29raWUgc2l6ZSBvZiAz
IGFuZCBjaGVjayBpZiBpdCdzIGJlZW4gY29ycmVjdGx5IHNldCBhbmQgaW4gb3JkZXIuPGJyIC8+
SWYgdGhlIFRlc3QgY2FzZSB3YXMgc3VjY2Vzc2Z1bCwgVGhlbiBpdCBzaG91bGQgcHJpbnQgUGFz
c2VkIGJlbG93ISEgPC9wPjxici8+DQotPGRpdiBpZD0idGVzdCI+DQotTm90IFdvcmtpbmchIQ0K
LTwvZGl2Pg0KLTwvYm9keT4NCi08L2h0bWw+DQotDQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9jb29raWVzL3Jlc291cmNlcy9zZXRBcnJheWNvb2tpZXMucGhwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMvc2V0QXJyYXljb29raWVz
LnBocAkocmV2aXNpb24gMjc1MTgwKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVz
L3Jlc291cmNlcy9zZXRBcnJheWNvb2tpZXMucGhwCShub25leGlzdGVudCkKQEAgLTEsOCArMCww
IEBACi08P3BocCANCi0vLyBTZXR0aW5nIEFycmF5IG9mIGNvb2tpZXMNCi1zZXRjb29raWUoInNl
dEFycmF5Y29va2llW3RocmVlXSIsICJjb29raWV0aHJlZSIpOw0KLXNldGNvb2tpZSgic2V0QXJy
YXljb29raWVbdHdvXSIsICJjb29raWV0d28iKTsNCi1zZXRjb29raWUoInNldEFycmF5Y29va2ll
W29uZV0iLCAiY29va2llb25lIik7DQotaGVhZGVyKCdMb2NhdGlvbjogc2V0QXJyYXljb29raWVz
LXJlc3VsdC5waHAnKTsNCi0/Pg0KLQ0KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29v
a2llcy9yZXNvdXJjZXMvc2V0VXRmOENvb2tpZXMtcmVzdWx0LnBocAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL3NldFV0ZjhDb29raWVzLXJl
c3VsdC5waHAJKHJldmlzaW9uIDI3NTE4MCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29v
a2llcy9yZXNvdXJjZXMvc2V0VXRmOENvb2tpZXMtcmVzdWx0LnBocAkobm9uZXhpc3RlbnQpCkBA
IC0xLDE2ICswLDAgQEAKLTw/cGhwIGhlYWRlcignQ29udGVudC1UeXBlOiB0ZXh0L2h0bWw7IGNo
YXJzZXQ9VVRGLTgnKTsgPz4KLTxodG1sPgotPGJvZHk+Ci08cD4KLTw/cGhwCi0gICAgZWNobyAi
PHA+c29tZSB1dGY4IGNoYXJhY3RlcnM6IFVURi04IMOmw7jDpSDkuK3lm708L3A+IjsKLSAgICBl
Y2hvICI8cD5waHBfY29va2llOiAiLiRfQ09PS0lFWyJwaHBfY29va2llIl0uIjwvcD4iOwotPz4K
LTxzY3JpcHQ+Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICB0ZXN0UnVubmVy
LmR1bXBBc1RleHQoKTsKLSAgICBkb2N1bWVudC5jb29raWU9ImpzX2Nvb2tpZT1VVEYtOCDDpsO4
w6Ug5Lit5Zu9OyBleHBpcmVzPU1vbmRheSwgMDQtQXByLTIwMjAgMDU6MDA6MDAgR01UIjsKLSAg
ICBkb2N1bWVudC53cml0ZSgiY29va2llcyByZWFkIHRocm91Z2gganM6ICIrZG9jdW1lbnQuY29v
a2llKTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9zZXRVdGY4Q29va2llcy5waHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9zZXRVdGY4Q29va2ll
cy5waHAJKHJldmlzaW9uIDI3NTE4MCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2ll
cy9yZXNvdXJjZXMvc2V0VXRmOENvb2tpZXMucGhwCShub25leGlzdGVudCkKQEAgLTEsNSArMCww
IEBACi08P3BocAotICAgIHNldGNvb2tpZSgicGhwX2Nvb2tpZSIsICJVVEYtOCDDpsO4w6Ug5Lit
5Zu9Iik7Ci0gICAgaGVhZGVyKCdDb250ZW50LVR5cGU6IHRleHQvaHRtbDsgY2hhcnNldD1VVEYt
OCcpOwotICAgIGhlYWRlcignTG9jYXRpb246IHNldFV0ZjhDb29raWVzLXJlc3VsdC5waHAnKTsK
LT8+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL3RoaXJk
LXBhcnR5LWNvb2tpZS1yZWxheGluZy1pZnJhbWUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL3RoaXJkLXBhcnR5LWNvb2tpZS1yZWxh
eGluZy1pZnJhbWUuaHRtbAkocmV2aXNpb24gMjc1MTgwKQorKysgTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9jb29raWVzL3Jlc291cmNlcy90aGlyZC1wYXJ0eS1jb29raWUtcmVsYXhpbmctaWZyYW1l
Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTM3LDcgKzM3LDcgQEAgZnVuY3Rpb24gc2hvd0Nvb2tp
ZXMoKQogCiBmdW5jdGlvbiBzZW5kWEhSKHF1ZXJ5Q29tbWFuZCkKIHsKLSAgICB2YXIgYmFzZXVy
bCA9ICJodHRwOi8vbG9jYWxob3N0OjgwMDAvY29va2llcy9yZXNvdXJjZXMvY29va2llLXV0aWxp
dHkucGhwIjsKKyAgICB2YXIgYmFzZXVybCA9ICJodHRwOi8vbG9jYWxob3N0OjgwMDAvY29va2ll
cy9yZXNvdXJjZXMvY29va2llLXV0aWxpdHkucHkiOwogICAgIHZhciB1cmwgPSBxdWVyeUNvbW1h
bmQgPyBiYXNldXJsICsgIj9xdWVyeWZ1bmN0aW9uPSIgKyBxdWVyeUNvbW1hbmQgOiBiYXNldXJs
OwogICAgIGNvbnNvbGUubG9nKHVybCk7CiAgICAgdmFyIHJlcSA9IG5ldyBYTUxIdHRwUmVxdWVz
dCgpOwpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9mZXRj
aC1hZnRlci1uYXZpZ2F0aW5nLWlmcmFtZS1pbi1jcm9zcy1vcmlnaW4tcGFnZS5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvZmV0Y2gt
YWZ0ZXItbmF2aWdhdGluZy1pZnJhbWUtaW4tY3Jvc3Mtb3JpZ2luLXBhZ2UuaHRtbAkocmV2aXNp
b24gMjc1MTgwKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9m
ZXRjaC1hZnRlci1uYXZpZ2F0aW5nLWlmcmFtZS1pbi1jcm9zcy1vcmlnaW4tcGFnZS5odG1sCSh3
b3JraW5nIGNvcHkpCkBAIC0xMSw3ICsxMSw3IEBAIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKQog
ICAgIGF3YWl0IHNldENvb2tpZSgiaW1wbGljaXQtc3RyaWN0IiwgIjYiLCB7IlNhbWVTaXRlIjog
bnVsbCwgIk1heC1BZ2UiOiAxMDAsICJwYXRoIjogIi8ifSk7CiAgICAgYXdhaXQgc2V0Q29va2ll
KCJzdHJpY3QtYmVjYXVzZS1pbnZhbGlkLVNhbWVTaXRlLXZhbHVlIiwgIjYiLCB7IlNhbWVTaXRl
IjogImludmFsaWQiLCAiTWF4LUFnZSI6IDEwMCwgInBhdGgiOiAiLyJ9KTsKICAgICBhd2FpdCBz
ZXRDb29raWUoImxheCIsICI2IiwgeyJTYW1lU2l0ZSI6ICJMYXgiLCAiTWF4LUFnZSI6IDEwMCwg
InBhdGgiOiAiLyJ9KTsKLSAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9ICJodHRwOi8vbG9jYWxo
b3N0OjgwMDAvcmVzb3VyY2VzL2VjaG8taWZyYW1lLXNyYy5waHA/c3JjPWh0dHAlM0EvLzEyNy4w
LjAuMSUzQTgwMDAvY29va2llcy9zYW1lLXNpdGUvcmVzb3VyY2VzL2NsaWNrLWh5cGVybGluay5w
aHAlM0ZocmVmJTNEZmV0Y2gtYWZ0ZXItbmF2aWdhdGluZy1pZnJhbWUtaW4tY3Jvc3Mtb3JpZ2lu
LXBhZ2UucGhwIjsKKyAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9ICJodHRwOi8vbG9jYWxob3N0
OjgwMDAvcmVzb3VyY2VzL2VjaG8taWZyYW1lLXNyYy5waHA/c3JjPWh0dHAlM0EvLzEyNy4wLjAu
MSUzQTgwMDAvY29va2llcy9zYW1lLXNpdGUvcmVzb3VyY2VzL2NsaWNrLWh5cGVybGluay5weSUz
RmhyZWYlM0RmZXRjaC1hZnRlci1uYXZpZ2F0aW5nLWlmcmFtZS1pbi1jcm9zcy1vcmlnaW4tcGFn
ZS5weSI7CiB9CiBydW5UZXN0KCk7CiA8L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAv
dGVzdHMvY29va2llcy9zYW1lLXNpdGUvZmV0Y2gtYWZ0ZXItdG9wLWxldmVsLWNyb3NzLW9yaWdp
bi1yZWRpcmVjdC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29v
a2llcy9zYW1lLXNpdGUvZmV0Y2gtYWZ0ZXItdG9wLWxldmVsLWNyb3NzLW9yaWdpbi1yZWRpcmVj
dC5odG1sCShyZXZpc2lvbiAyNzUxODApCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tp
ZXMvc2FtZS1zaXRlL2ZldGNoLWFmdGVyLXRvcC1sZXZlbC1jcm9zcy1vcmlnaW4tcmVkaXJlY3Qu
aHRtbAkod29ya2luZyBjb3B5KQpAQCAtMTEsNyArMTEsNyBAQCBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkKICAgICBhd2FpdCBzZXRDb29raWUoImltcGxpY2l0LXN0cmljdCIsICIxOSIsIHsiU2Ft
ZVNpdGUiOiBudWxsLCAiTWF4LUFnZSI6IDEwMCwgInBhdGgiOiAiLyJ9KTsKICAgICBhd2FpdCBz
ZXRDb29raWUoInN0cmljdC1iZWNhdXNlLWludmFsaWQtU2FtZVNpdGUtdmFsdWUiLCAiMTkiLCB7
IlNhbWVTaXRlIjogImludmFsaWQiLCAiTWF4LUFnZSI6IDEwMCwgInBhdGgiOiAiLyJ9KTsKICAg
ICBhd2FpdCBzZXRDb29raWUoImxheCIsICIxOSIsIHsiU2FtZVNpdGUiOiAiTGF4IiwgIk1heC1B
Z2UiOiAxMDAsICJwYXRoIjogIi8ifSk7Ci0gICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSAiaHR0
cDovL2xvY2FsaG9zdDo4MDAwL3Jlc291cmNlcy9yZWRpcmVjdC5weT91cmw9aHR0cDovLzEyNy4w
LjAuMTo4MDAwL2Nvb2tpZXMvc2FtZS1zaXRlL3Jlc291cmNlcy9mZXRjaC1hZnRlci10b3AtbGV2
ZWwtY3Jvc3Mtb3JpZ2luLXJlZGlyZWN0LnBocCI7CisgICAgd2luZG93LmxvY2F0aW9uLmhyZWYg
PSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwL3Jlc291cmNlcy9yZWRpcmVjdC5weT91cmw9aHR0cDov
LzEyNy4wLjAuMTo4MDAwL2Nvb2tpZXMvc2FtZS1zaXRlL3Jlc291cmNlcy9mZXRjaC1hZnRlci10
b3AtbGV2ZWwtY3Jvc3Mtb3JpZ2luLXJlZGlyZWN0LnB5IjsKIH0KIHJ1blRlc3QoKTsKIDwvc2Ny
aXB0PgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9mZXRj
aC1hZnRlci10b3AtbGV2ZWwtbmF2aWdhdGlvbi1mcm9tLWNyb3NzLW9yaWdpbi1wYWdlLmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9m
ZXRjaC1hZnRlci10b3AtbGV2ZWwtbmF2aWdhdGlvbi1mcm9tLWNyb3NzLW9yaWdpbi1wYWdlLmh0
bWwJKHJldmlzaW9uIDI3NTE4MCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9z
YW1lLXNpdGUvZmV0Y2gtYWZ0ZXItdG9wLWxldmVsLW5hdmlnYXRpb24tZnJvbS1jcm9zcy1vcmln
aW4tcGFnZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xMSw3ICsxMSw3IEBAIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKQogICAgIGF3YWl0IHNldENvb2tpZSgiaW1wbGljaXQtc3RyaWN0IiwgIjUi
LCB7IlNhbWVTaXRlIjogbnVsbCwgIk1heC1BZ2UiOiAxMDAsICJwYXRoIjogIi8ifSk7CiAgICAg
YXdhaXQgc2V0Q29va2llKCJzdHJpY3QtYmVjYXVzZS1pbnZhbGlkLVNhbWVTaXRlLXZhbHVlIiwg
IjUiLCB7IlNhbWVTaXRlIjogImludmFsaWQiLCAiTWF4LUFnZSI6IDEwMCwgInBhdGgiOiAiLyJ9
KTsKICAgICBhd2FpdCBzZXRDb29raWUoImxheCIsICI1IiwgeyJTYW1lU2l0ZSI6ICJMYXgiLCAi
TWF4LUFnZSI6IDEwMCwgInBhdGgiOiAiLyJ9KTsKLSAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9
ICJodHRwOi8vbG9jYWxob3N0OjgwMDAvY29va2llcy9zYW1lLXNpdGUvcmVzb3VyY2VzL2NsaWNr
LWh5cGVybGluay5waHA/aHJlZj1odHRwJTNBLy8xMjcuMC4wLjElM0E4MDAwL2Nvb2tpZXMvc2Ft
ZS1zaXRlL3Jlc291cmNlcy9mZXRjaC1hZnRlci10b3AtbGV2ZWwtbmF2aWdhdGlvbi1mcm9tLWNy
b3NzLW9yaWdpbi1wYWdlLnBocCI7CisgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSAiaHR0cDov
L2xvY2FsaG9zdDo4MDAwL2Nvb2tpZXMvc2FtZS1zaXRlL3Jlc291cmNlcy9jbGljay1oeXBlcmxp
bmsucHk/aHJlZj1odHRwJTNBLy8xMjcuMC4wLjElM0E4MDAwL2Nvb2tpZXMvc2FtZS1zaXRlL3Jl
c291cmNlcy9mZXRjaC1hZnRlci10b3AtbGV2ZWwtbmF2aWdhdGlvbi1mcm9tLWNyb3NzLW9yaWdp
bi1wYWdlLnB5IjsKIH0KIHJ1blRlc3QoKTsKIDwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9mZXRjaC1hZnRlci10b3AtbGV2ZWwtbmF2aWdh
dGlvbi1pbml0aWF0ZWQtZnJvbS1pZnJhbWUtaW4tY3Jvc3Mtb3JpZ2luLXBhZ2UuaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRlL2ZldGNo
LWFmdGVyLXRvcC1sZXZlbC1uYXZpZ2F0aW9uLWluaXRpYXRlZC1mcm9tLWlmcmFtZS1pbi1jcm9z
cy1vcmlnaW4tcGFnZS5odG1sCShyZXZpc2lvbiAyNzUxODApCisrKyBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRlL2ZldGNoLWFmdGVyLXRvcC1sZXZlbC1uYXZpZ2F0aW9u
LWluaXRpYXRlZC1mcm9tLWlmcmFtZS1pbi1jcm9zcy1vcmlnaW4tcGFnZS5odG1sCSh3b3JraW5n
IGNvcHkpCkBAIC0xMSw3ICsxMSw3IEBAIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKQogICAgIGF3
YWl0IHNldENvb2tpZSgiaW1wbGljaXQtc3RyaWN0IiwgIjQiLCB7IlNhbWVTaXRlIjogbnVsbCwg
Ik1heC1BZ2UiOiAxMDAsICJwYXRoIjogIi8ifSk7CiAgICAgYXdhaXQgc2V0Q29va2llKCJzdHJp
Y3QtYmVjYXVzZS1pbnZhbGlkLVNhbWVTaXRlLXZhbHVlIiwgIjQiLCB7IlNhbWVTaXRlIjogImlu
dmFsaWQiLCAiTWF4LUFnZSI6IDEwMCwgInBhdGgiOiAiLyJ9KTsKICAgICBhd2FpdCBzZXRDb29r
aWUoImxheCIsICI0IiwgeyJTYW1lU2l0ZSI6ICJMYXgiLCAiTWF4LUFnZSI6IDEwMCwgInBhdGgi
OiAiLyJ9KTsKLSAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9ICJodHRwOi8vbG9jYWxob3N0Ojgw
MDAvcmVzb3VyY2VzL2VjaG8taWZyYW1lLXNyYy5waHA/c3JjPWh0dHAlM0EvLzEyNy4wLjAuMSUz
QTgwMDAvY29va2llcy9zYW1lLXNpdGUvcmVzb3VyY2VzL2NsaWNrLWh5cGVybGluay5waHAlM0Zo
cmVmJTNEZmV0Y2gtYWZ0ZXItdG9wLWxldmVsLW5hdmlnYXRpb24taW5pdGlhdGVkLWZyb20taWZy
YW1lLWluLWNyb3NzLW9yaWdpbi1wYWdlLnBocCUyNnRhcmdldCUzRF90b3AiOworICAgIHdpbmRv
dy5sb2NhdGlvbi5ocmVmID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9yZXNvdXJjZXMvZWNoby1p
ZnJhbWUtc3JjLnBocD9zcmM9aHR0cCUzQS8vMTI3LjAuMC4xJTNBODAwMC9jb29raWVzL3NhbWUt
c2l0ZS9yZXNvdXJjZXMvY2xpY2staHlwZXJsaW5rLnB5JTNGaHJlZiUzRGZldGNoLWFmdGVyLXRv
cC1sZXZlbC1uYXZpZ2F0aW9uLWluaXRpYXRlZC1mcm9tLWlmcmFtZS1pbi1jcm9zcy1vcmlnaW4t
cGFnZS5weSUyNnRhcmdldCUzRF90b3AiOwogfQogcnVuVGVzdCgpOwogPC9zY3JpcHQ+CkluZGV4
OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRlL2ZldGNoLWFmdGVyLXRv
cC1sZXZlbC1zYW1lLW9yaWdpbi1yZWRpcmVjdC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2h0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvZmV0Y2gtYWZ0ZXItdG9wLWxldmVsLXNh
bWUtb3JpZ2luLXJlZGlyZWN0Lmh0bWwJKHJldmlzaW9uIDI3NTE4MCkKKysrIExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvZmV0Y2gtYWZ0ZXItdG9wLWxldmVsLXNhbWUt
b3JpZ2luLXJlZGlyZWN0Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTExLDcgKzExLDcgQEAgYXN5
bmMgZnVuY3Rpb24gcnVuVGVzdCgpCiAgICAgYXdhaXQgc2V0Q29va2llKCJpbXBsaWNpdC1zdHJp
Y3QiLCAiMjAiLCB7IlNhbWVTaXRlIjogbnVsbCwgIk1heC1BZ2UiOiAxMDAsICJwYXRoIjogIi8i
fSk7CiAgICAgYXdhaXQgc2V0Q29va2llKCJzdHJpY3QtYmVjYXVzZS1pbnZhbGlkLVNhbWVTaXRl
LXZhbHVlIiwgIjIwIiwgeyJTYW1lU2l0ZSI6ICJpbnZhbGlkIiwgIk1heC1BZ2UiOiAxMDAsICJw
YXRoIjogIi8ifSk7CiAgICAgYXdhaXQgc2V0Q29va2llKCJsYXgiLCAiMjAiLCB7IlNhbWVTaXRl
IjogIkxheCIsICJNYXgtQWdlIjogMTAwLCAicGF0aCI6ICIvIn0pOwotICAgIHdpbmRvdy5sb2Nh
dGlvbi5ocmVmID0gImh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9yZXNvdXJjZXMvcmVkaXJlY3QucHk/
dXJsPWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9jb29raWVzL3NhbWUtc2l0ZS9yZXNvdXJjZXMvZmV0
Y2gtYWZ0ZXItdG9wLWxldmVsLXNhbWUtb3JpZ2luLXJlZGlyZWN0LnBocCI7CisgICAgd2luZG93
LmxvY2F0aW9uLmhyZWYgPSAiaHR0cDovLzEyNy4wLjAuMTo4MDAwL3Jlc291cmNlcy9yZWRpcmVj
dC5weT91cmw9aHR0cDovLzEyNy4wLjAuMTo4MDAwL2Nvb2tpZXMvc2FtZS1zaXRlL3Jlc291cmNl
cy9mZXRjaC1hZnRlci10b3AtbGV2ZWwtc2FtZS1vcmlnaW4tcmVkaXJlY3QucHkiOwogfQogcnVu
VGVzdCgpOwogPC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMv
c2FtZS1zaXRlL2ZldGNoLWluLXNhbWUtb3JpZ2luLXNlcnZpY2Utd29ya2VyLmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9mZXRjaC1p
bi1zYW1lLW9yaWdpbi1zZXJ2aWNlLXdvcmtlci5odG1sCShyZXZpc2lvbiAyNzUxODApCisrKyBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRlL2ZldGNoLWluLXNhbWUtb3Jp
Z2luLXNlcnZpY2Utd29ya2VyLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTIwLDcgKzIwLDcgQEAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpCiAgICAgYXdhaXQgc2V0Q29va2llKCJpbXBsaWNpdC1z
dHJpY3QiLCAiMTEiLCB7IlNhbWVTaXRlIjogbnVsbCwgIk1heC1BZ2UiOiAxMDAsICJwYXRoIjog
Ii8ifSk7CiAgICAgYXdhaXQgc2V0Q29va2llKCJzdHJpY3QtYmVjYXVzZS1pbnZhbGlkLVNhbWVT
aXRlLXZhbHVlIiwgIjExIiwgeyJTYW1lU2l0ZSI6ICJpbnZhbGlkIiwgIk1heC1BZ2UiOiAxMDAs
ICJwYXRoIjogIi8ifSk7CiAgICAgYXdhaXQgc2V0Q29va2llKCJsYXgiLCAiMTEiLCB7IlNhbWVT
aXRlIjogIkxheCIsICJNYXgtQWdlIjogMTAwLCAicGF0aCI6ICIvIn0pOwotICAgIGF3YWl0IGlu
dGVyY2VwdGVkRnJhbWUoInJlc291cmNlcy9wYXNzdGhyb3VnaC1zZXJ2aWNlLXdvcmtlci5qcyIs
ICJyZXNvdXJjZXMvZmV0Y2gtaW4tc2FtZS1vcmlnaW4tc2VydmljZS13b3JrZXIucGhwIik7Cisg
ICAgYXdhaXQgaW50ZXJjZXB0ZWRGcmFtZSgicmVzb3VyY2VzL3Bhc3N0aHJvdWdoLXNlcnZpY2Ut
d29ya2VyLmpzIiwgInJlc291cmNlcy9mZXRjaC1pbi1zYW1lLW9yaWdpbi1zZXJ2aWNlLXdvcmtl
ci5weSIpOwogfQogcnVuVGVzdCgpOwogPC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRlL2xheC1zYW1lc2l0ZS1jb29raWUtYWZ0ZXItY3Jvc3Mt
c2l0ZS1oaXN0b3J5LWxvYWQucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVz
dHMvY29va2llcy9zYW1lLXNpdGUvbGF4LXNhbWVzaXRlLWNvb2tpZS1hZnRlci1jcm9zcy1zaXRl
LWhpc3RvcnktbG9hZC5waHAJKHJldmlzaW9uIDI3NTE4MCkKKysrIExheW91dFRlc3RzL2h0dHAv
dGVzdHMvY29va2llcy9zYW1lLXNpdGUvbGF4LXNhbWVzaXRlLWNvb2tpZS1hZnRlci1jcm9zcy1z
aXRlLWhpc3RvcnktbG9hZC5waHAJKG5vbmV4aXN0ZW50KQpAQCAtMSwyNiArMCwwIEBACi08P3Bo
cAotaGVhZGVyKCJDYWNoZS1Db250cm9sOiBuby1zdG9yZSIpOwotPz4KLTwhRE9DVFlQRSBodG1s
PgotPGh0bWw+Ci08Ym9keT4KLTxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgbGF4IHNh
bWUtc2l0ZSBjb29raWVzIGFyZSBzZW50IG9uIGEgY3Jvc3Mtc2l0ZSBoaXN0b3J5IG5hdmlnYXRp
b24uIik7Ci1qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLQotb25sb2FkID0gZnVuY3Rpb24oKSB7Ci08
P3BocAotaWYgKGlzc2V0KCRfQ09PS0lFWyJmb28iXSkpIHsKLSAgICBlY2hvICIgICAgdGVzdFBh
c3NlZCgnV2FzIGFibGUgdG8gcmVhZCB0aGUgY29va2llIGFmdGVyIHRoZSBiYWNrIG5hdmlnYXRp
b24nKTsiOwotICAgIGVjaG8gIiAgICBmaW5pc2hKU1Rlc3QoKTsiOwotICAgIGVjaG8gIiAgICBy
ZXR1cm47IjsKLX0gZWxzZSB7Ci0gICAgZWNobyAiICAgIGRvY3VtZW50LmNvb2tpZSA9ICdmb289
YmFyOyBTYW1lU2l0ZT1sYXgnOyI7Ci0gICAgZWNobyAiICAgIHNldFRpbWVvdXQoKCkgPT4geyB3
aW5kb3cubG9jYXRpb24gPSAnaHR0cDovL2xvY2FsaG9zdDo4MDAwL2Nvb2tpZXMvc2FtZS1zaXRl
L3Jlc291cmNlcy9uYXZpZ2F0ZS1iYWNrLmh0bWwnOyB9LCAwKTsiOwotfQotPz4KLX0KLTwvc2Ny
aXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29r
aWVzL3NhbWUtc2l0ZS9sYXgtc2FtZXNpdGUtY29va2llLWFmdGVyLWNyb3NzLXNpdGUtaGlzdG9y
eS1sb2FkLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9z
YW1lLXNpdGUvbGF4LXNhbWVzaXRlLWNvb2tpZS1hZnRlci1jcm9zcy1zaXRlLWhpc3RvcnktbG9h
ZC5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvc2Ft
ZS1zaXRlL2xheC1zYW1lc2l0ZS1jb29raWUtYWZ0ZXItY3Jvc3Mtc2l0ZS1oaXN0b3J5LWxvYWQu
cHkJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0NCBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9u
MworCitpbXBvcnQgb3MKK2ltcG9ydCBzeXMKKworZmlsZSA9IF9fZmlsZV9fLnNwbGl0KCc6L2N5
Z3dpbicpWy0xXQoraHR0cF9yb290ID0gb3MucGF0aC5kaXJuYW1lKG9zLnBhdGguZGlybmFtZShv
cy5wYXRoLmFic3BhdGgob3MucGF0aC5kaXJuYW1lKGZpbGUpKSkpCitzeXMucGF0aC5pbnNlcnQo
MCwgaHR0cF9yb290KQorCitmcm9tIHJlc291cmNlcy5wb3J0YWJpbGl0eUxheWVyIGltcG9ydCBn
ZXRfY29va2llcworCitjb29raWVzID0gZ2V0X2Nvb2tpZXMoKQorCitzeXMuc3Rkb3V0LndyaXRl
KAorICAgICdDYWNoZS1Db250cm9sOiBuby1zdG9yZVxyXG4nCisgICAgJ0NvbnRlbnQtVHlwZTog
dGV4dC9odG1sXHJcblxyXG4nCispCisKK3ByaW50KCcnJzwhRE9DVFlQRSBodG1sPgorPGh0bWw+
Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgbGF4IHNhbWUtc2l0ZSBj
b29raWVzIGFyZSBzZW50IG9uIGEgY3Jvc3Mtc2l0ZSBoaXN0b3J5IG5hdmlnYXRpb24uIik7Citq
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworb25sb2FkID0gZnVuY3Rpb24oKSB7JycnKQorCitpZiBj
b29raWVzLmdldCgnZm9vJywgTm9uZSkgaXMgbm90IE5vbmU6CisgICAgc3lzLnN0ZG91dC53cml0
ZSgKKyAgICAgICAgJyAgICB0ZXN0UGFzc2VkKFwnV2FzIGFibGUgdG8gcmVhZCB0aGUgY29va2ll
IGFmdGVyIHRoZSBiYWNrIG5hdmlnYXRpb25cJyk7JworICAgICAgICAnICAgIGZpbmlzaEpTVGVz
dCgpOycKKyAgICAgICAgJyAgICByZXR1cm47JworICAgICkKK2Vsc2U6CisgICAgc3lzLnN0ZG91
dC53cml0ZSgKKyAgICAgICAgJyAgICBkb2N1bWVudC5jb29raWUgPSBcJ2Zvbz1iYXI7IFNhbWVT
aXRlPWxheFwnOycKKyAgICAgICAgJyAgICBzZXRUaW1lb3V0KCgpID0+IHsgd2luZG93LmxvY2F0
aW9uID0gXCdodHRwOi8vbG9jYWxob3N0OjgwMDAvY29va2llcy9zYW1lLXNpdGUvcmVzb3VyY2Vz
L25hdmlnYXRlLWJhY2suaHRtbFwnOyB9LCAwKTsnCisgICAgKQorCitwcmludCgnJyd9Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4nJycpClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoK
UHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3NhbWUt
c2l0ZS9sYXgtc2FtZXNpdGUtY29va2llLWFmdGVyLWNyb3NzLXNpdGUtaGlzdG9yeS1sb2FkLnB5
Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9j
b29raWVzL3NhbWUtc2l0ZS9wb3B1cC1jcm9zcy1zaXRlLXBvc3QuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRlL3BvcHVwLWNyb3NzLXNp
dGUtcG9zdC5odG1sCShyZXZpc2lvbiAyNzUxODApCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2Nvb2tpZXMvc2FtZS1zaXRlL3BvcHVwLWNyb3NzLXNpdGUtcG9zdC5odG1sCSh3b3JraW5nIGNv
cHkpCkBAIC0yNSw3ICsyNSw3IEBAIGlmICh3aW5kb3cubG9jYXRpb24uaG9zdG5hbWUgPT0gIjEy
Ny4wLjAKICAgICAgICAgfSkpOwogCiAgICAgICAgIHZhciBmID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgnZm9ybScpOwotICAgICAgICBmLmFjdGlvbiA9ICJodHRwOi8vMTI3LjAuMC4xOjgwMDAv
Y29va2llcy9yZXNvdXJjZXMvcG9zdC1jb29raWVzLXRvLW9wZW5lci5waHAiOworICAgICAgICBm
LmFjdGlvbiA9ICJodHRwOi8vMTI3LjAuMC4xOjgwMDAvY29va2llcy9yZXNvdXJjZXMvcG9zdC1j
b29raWVzLXRvLW9wZW5lci5weSI7CiAgICAgICAgIGYubWV0aG9kID0gIlBPU1QiOwogICAgICAg
ICBmLnRhcmdldCA9ICJfYmxhbmsiCiAgICAgICAgIHdpbmRvdy5vbmxvYWQgPSB0LnN0ZXBfZnVu
YyhmLnN1Ym1pdC5iaW5kKGYpKTsKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2ll
cy9zYW1lLXNpdGUvcG9wdXAtY3Jvc3Mtc2l0ZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2h0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvcG9wdXAtY3Jvc3Mtc2l0ZS5odG1sCShy
ZXZpc2lvbiAyNzUxODApCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvc2FtZS1z
aXRlL3BvcHVwLWNyb3NzLXNpdGUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMTIsNyArMTIsNyBA
QCBpZiAod2luZG93LmxvY2F0aW9uLmhvc3RuYW1lID09ICIxMjcuMC4wCiAgICAgd2luZG93Lmxv
Y2F0aW9uLmhvc3RuYW1lID0gImxvY2FsaG9zdCI7CiB9IGVsc2UgewogICAgIGFzeW5jX3Rlc3Qo
dCA9PiB7Ci0gICAgICAgIHZhciBpID0gd2luZG93Lm9wZW4oImh0dHA6Ly8xMjcuMC4wLjE6ODAw
MC9jb29raWVzL3Jlc291cmNlcy9wb3N0LWNvb2tpZXMtdG8tb3BlbmVyLnBocCIpOworICAgICAg
ICB2YXIgaSA9IHdpbmRvdy5vcGVuKCJodHRwOi8vMTI3LjAuMC4xOjgwMDAvY29va2llcy9yZXNv
dXJjZXMvcG9zdC1jb29raWVzLXRvLW9wZW5lci5weSIpOwogICAgICAgICB3aW5kb3cuYWRkRXZl
bnRMaXN0ZW5lcigibWVzc2FnZSIsIHQuc3RlcF9mdW5jX2RvbmUoZSA9PiB7CiAgICAgICAgICAg
ICBhc3NlcnRfZXF1YWxzKGUuZGF0YS5odHRwW1NUUklDVF9ET01dLCB1bmRlZmluZWQsICJzdHJp
Y3QiKTsKICAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoZS5kYXRhLmh0dHBbSU1QTElDSVRfU1RS
SUNUX0RPTV0sICIxIiwgImltcGxpY2l0LXN0cmljdCIpOwpJbmRleDogTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9wb3B1cC1zYW1lLXNpdGUtcG9zdC5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvcG9wdXAt
c2FtZS1zaXRlLXBvc3QuaHRtbAkocmV2aXNpb24gMjc1MTgwKQorKysgTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9wb3B1cC1zYW1lLXNpdGUtcG9zdC5odG1sCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yMyw3ICsyMyw3IEBAIGFzeW5jX3Rlc3QodCA9PiB7CiAgICAgfSkpOwog
CiAgICAgdmFyIGYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdmb3JtJyk7Ci0gICAgZi5hY3Rp
b24gPSAiaHR0cDovLzEyNy4wLjAuMTo4MDAwL2Nvb2tpZXMvcmVzb3VyY2VzL3Bvc3QtY29va2ll
cy10by1vcGVuZXIucGhwIjsKKyAgICBmLmFjdGlvbiA9ICJodHRwOi8vMTI3LjAuMC4xOjgwMDAv
Y29va2llcy9yZXNvdXJjZXMvcG9zdC1jb29raWVzLXRvLW9wZW5lci5weSI7CiAgICAgZi5tZXRo
b2QgPSAiUE9TVCI7CiAgICAgZi50YXJnZXQgPSAiX2JsYW5rIjsKICAgICB3aW5kb3cub25sb2Fk
ID0gdC5zdGVwX2Z1bmMoZi5zdWJtaXQuYmluZChmKSk7CkluZGV4OiBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRlL3BvcHVwLXNhbWUtc2l0ZS12aWEtY3Jvc3Mtc2l0ZS1y
ZWRpcmVjdC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2ll
cy9zYW1lLXNpdGUvcG9wdXAtc2FtZS1zaXRlLXZpYS1jcm9zcy1zaXRlLXJlZGlyZWN0Lmh0bWwJ
KHJldmlzaW9uIDI3NTE4MCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9zYW1l
LXNpdGUvcG9wdXAtc2FtZS1zaXRlLXZpYS1jcm9zcy1zaXRlLXJlZGlyZWN0Lmh0bWwJKHdvcmtp
bmcgY29weSkKQEAgLTIwLDYgKzIwLDYgQEAgYXN5bmNfdGVzdCh0ID0+IHsKICAgICAgICAgYXNz
ZXJ0X2VxdWFscyhub3JtYWxpemVDb29raWUoZS5kYXRhLmRvY3VtZW50KSwgbm9ybWFsaXplQ29v
a2llKElNUExJQ0lUX1NUUklDVF9ET00gKyAiPTE7ICIgKyBMQVhfRE9NICsgIj0xOyAiICsgTk9S
TUFMX0RPTSArICI9MTsgIiArIFNUUklDVF9CRUNBVVNFX0lOVkFMSURfU0FNRVNJVEVfVkFMVUUg
KyAiPTEiKSk7CiAgICAgfSkpOwogCi0gICAgdmFyIGkgPSB3aW5kb3cub3BlbigiaHR0cDovL2xv
Y2FsaG9zdDo4MDAwL3Jlc291cmNlcy9yZWRpcmVjdC5weT91cmw9aHR0cDovLzEyNy4wLjAuMTo4
MDAwL2Nvb2tpZXMvcmVzb3VyY2VzL3Bvc3QtY29va2llcy10by1vcGVuZXIucGhwIik7CisgICAg
dmFyIGkgPSB3aW5kb3cub3BlbigiaHR0cDovL2xvY2FsaG9zdDo4MDAwL3Jlc291cmNlcy9yZWRp
cmVjdC5weT91cmw9aHR0cDovLzEyNy4wLjAuMTo4MDAwL2Nvb2tpZXMvcmVzb3VyY2VzL3Bvc3Qt
Y29va2llcy10by1vcGVuZXIucHkiKTsKIH0sICInMTI3LjAuMC4xJyBpcyBzYW1lLXNpdGUgd2l0
aCBpdHNlbGYsIHNvIHNhbWVzaXRlIGNvb2tpZXMgYXJlIHNlbnQuIik7CiA8L3NjcmlwdD4KSW5k
ZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvcG9wdXAtc2FtZS1z
aXRlLXZpYS1zYW1lLXNpdGUtcmVkaXJlY3QuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRlL3BvcHVwLXNhbWUtc2l0ZS12aWEtc2FtZS1z
aXRlLXJlZGlyZWN0Lmh0bWwJKHJldmlzaW9uIDI3NTE4MCkKKysrIExheW91dFRlc3RzL2h0dHAv
dGVzdHMvY29va2llcy9zYW1lLXNpdGUvcG9wdXAtc2FtZS1zaXRlLXZpYS1zYW1lLXNpdGUtcmVk
aXJlY3QuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMjAsNiArMjAsNiBAQCBhc3luY190ZXN0KHQg
PT4gewogICAgICAgICBhc3NlcnRfZXF1YWxzKG5vcm1hbGl6ZUNvb2tpZShlLmRhdGEuZG9jdW1l
bnQpLCBub3JtYWxpemVDb29raWUoU1RSSUNUX0JFQ0FVU0VfSU5WQUxJRF9TQU1FU0lURV9WQUxV
RSArICI9MTsgIiArIElNUExJQ0lUX1NUUklDVF9ET00gKyAiPTE7ICIgKyBTVFJJQ1RfRE9NICsg
Ij0xOyAiICsgTEFYX0RPTSArICI9MTsgIiArIE5PUk1BTF9ET00gKyAiPTEiKSk7CiAgICAgfSkp
OwogCi0gICAgdmFyIGkgPSB3aW5kb3cub3BlbigiaHR0cDovLzEyNy4wLjAuMTo4MDAwL3Jlc291
cmNlcy9yZWRpcmVjdC5weT91cmw9aHR0cDovLzEyNy4wLjAuMTo4MDAwL2Nvb2tpZXMvcmVzb3Vy
Y2VzL3Bvc3QtY29va2llcy10by1vcGVuZXIucGhwIik7CisgICAgdmFyIGkgPSB3aW5kb3cub3Bl
bigiaHR0cDovLzEyNy4wLjAuMTo4MDAwL3Jlc291cmNlcy9yZWRpcmVjdC5weT91cmw9aHR0cDov
LzEyNy4wLjAuMTo4MDAwL2Nvb2tpZXMvcmVzb3VyY2VzL3Bvc3QtY29va2llcy10by1vcGVuZXIu
cHkiKTsKIH0sICInMTI3LjAuMC4xJyBpcyBzYW1lLXNpdGUgd2l0aCBpdHNlbGYsIHNvIHNhbWVz
aXRlIGNvb2tpZXMgYXJlIHNlbnQuIik7CiA8L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2h0
dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvcG9wdXAtc2FtZS1zaXRlLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9wb3B1cC1zYW1l
LXNpdGUuaHRtbAkocmV2aXNpb24gMjc1MTgwKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9j
b29raWVzL3NhbWUtc2l0ZS9wb3B1cC1zYW1lLXNpdGUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAt
MjAsNiArMjAsNiBAQCBhc3luY190ZXN0KHQgPT4gewogICAgICAgICBhc3NlcnRfZXF1YWxzKG5v
cm1hbGl6ZUNvb2tpZShlLmRhdGEuZG9jdW1lbnQpLCBub3JtYWxpemVDb29raWUoU1RSSUNUX0JF
Q0FVU0VfSU5WQUxJRF9TQU1FU0lURV9WQUxVRSArICI9MTsgIiArIElNUExJQ0lUX1NUUklDVF9E
T00gKyAiPTE7ICIgKyBTVFJJQ1RfRE9NICsgIj0xOyAiICsgTEFYX0RPTSArICI9MTsgIiArIE5P
Uk1BTF9ET00gKyAiPTEiKSk7CiAgICAgfSkpOwogCi0gICAgdmFyIGkgPSB3aW5kb3cub3Blbigi
aHR0cDovLzEyNy4wLjAuMTo4MDAwL2Nvb2tpZXMvcmVzb3VyY2VzL3Bvc3QtY29va2llcy10by1v
cGVuZXIucGhwIik7CisgICAgdmFyIGkgPSB3aW5kb3cub3BlbigiaHR0cDovLzEyNy4wLjAuMTo4
MDAwL2Nvb2tpZXMvcmVzb3VyY2VzL3Bvc3QtY29va2llcy10by1vcGVuZXIucHkiKTsKIH0sICIn
MTI3LjAuMC4xJyBpcyBzYW1lLXNpdGUgd2l0aCBpdHNlbGYsIHNvIHNhbWVzaXRlIGNvb2tpZXMg
YXJlIHNlbnQuIik7CiA8L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29v
a2llcy9zYW1lLXNpdGUvc2V0LWZpcnN0LXBhcnR5LWNyb3NzLXNpdGUtY29va2llcy5waHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9zZXQt
Zmlyc3QtcGFydHktY3Jvc3Mtc2l0ZS1jb29raWVzLnBocAkocmV2aXNpb24gMjc1MTgwKQorKysg
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9zZXQtZmlyc3QtcGFydHkt
Y3Jvc3Mtc2l0ZS1jb29raWVzLnBocAkod29ya2luZyBjb3B5KQpAQCAtMjUsNiArMjUsNiBAQCBp
ZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsK
IH0KIDwvc2NyaXB0PgotPG1ldGEgaHR0cC1lcXVpdj0icmVmcmVzaCIgY29udGVudD0iMDtodHRw
Oi8vbG9jYWxob3N0OjgwMDAvY29va2llcy9yZXNvdXJjZXMvZWNoby1odHRwLWFuZC1kb20tY29v
a2llcy1hbmQtbm90aWZ5LWRvbmUucGhwIj4KKzxtZXRhIGh0dHAtZXF1aXY9InJlZnJlc2giIGNv
bnRlbnQ9IjA7aHR0cDovL2xvY2FsaG9zdDo4MDAwL2Nvb2tpZXMvcmVzb3VyY2VzL2VjaG8taHR0
cC1hbmQtZG9tLWNvb2tpZXMtYW5kLW5vdGlmeS1kb25lLnB5Ij4KIDwvaGVhZD4KIDwvaHRtbD4K
SW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvc2V0LWZpcnN0
LXBhcnR5LXNhbWUtc2l0ZS1jb29raWVzLnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRlL3NldC1maXJzdC1wYXJ0eS1zYW1lLXNpdGUtY29v
a2llcy5waHAJKHJldmlzaW9uIDI3NTE4MCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29v
a2llcy9zYW1lLXNpdGUvc2V0LWZpcnN0LXBhcnR5LXNhbWUtc2l0ZS1jb29raWVzLnBocAkod29y
a2luZyBjb3B5KQpAQCAtMjIsNiArMjIsNiBAQCBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAg
ICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKIH0KIDwvc2NyaXB0PgotPG1ldGEgaHR0cC1l
cXVpdj0icmVmcmVzaCIgY29udGVudD0iMDtodHRwOi8vMTI3LjAuMC4xOjgwMDAvY29va2llcy9y
ZXNvdXJjZXMvZWNoby1odHRwLWFuZC1kb20tY29va2llcy1hbmQtbm90aWZ5LWRvbmUucGhwIj4K
KzxtZXRhIGh0dHAtZXF1aXY9InJlZnJlc2giIGNvbnRlbnQ9IjA7aHR0cDovLzEyNy4wLjAuMTo4
MDAwL2Nvb2tpZXMvcmVzb3VyY2VzL2VjaG8taHR0cC1hbmQtZG9tLWNvb2tpZXMtYW5kLW5vdGlm
eS1kb25lLnB5Ij4KIDwvaGVhZD4KIDwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVz
dHMvY29va2llcy9zYW1lLXNpdGUvcmVzb3VyY2VzL2NsaWNrLWh5cGVybGluay5waHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9yZXNvdXJj
ZXMvY2xpY2staHlwZXJsaW5rLnBocAkocmV2aXNpb24gMjc1MTgwKQorKysgTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9yZXNvdXJjZXMvY2xpY2staHlwZXJsaW5rLnBo
cAkobm9uZXhpc3RlbnQpCkBAIC0xLDIyICswLDAgQEAKLTwhRE9DVFlQRT4KLTxodG1sPgotPGhl
YWQ+Ci08c2NyaXB0PgotaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgIHRlc3RSdW5uZXIud2Fp
dFVudGlsRG9uZSgpOwotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTw/cGhwCi0gICAgJHRh
cmdldEF0dHJpYnV0ZSA9ICIiOwotICAgIGlmICghZW1wdHkoJF9HRVRbInRhcmdldCJdKSkKLSAg
ICAgICAgJHRhcmdldEF0dHJpYnV0ZSA9ICd0YXJnZXQ9IicgLiAkX0dFVFsidGFyZ2V0Il0gLiAn
Iic7Ci0/PgotPGEgaHJlZj0iPD9waHAgZWNobyAkX0dFVFsnaHJlZiddOyA/PiIgPD9waHAgZWNo
byAkdGFyZ2V0QXR0cmlidXRlOyA/Pj5DbGljazwvYT4KLTxzY3JpcHQ+Ci1pbnRlcm5hbHMud2l0
aFVzZXJHZXN0dXJlKCgpID0+IHsKLSAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJhIikuY2xp
Y2soKTsKLX0pOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRlL3Jlc291cmNlcy9jbGljay1oeXBlcmxpbmsu
cHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0
ZS9yZXNvdXJjZXMvY2xpY2staHlwZXJsaW5rLnB5CShub25leGlzdGVudCkKKysrIExheW91dFRl
c3RzL2h0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvcmVzb3VyY2VzL2NsaWNrLWh5cGVybGlu
ay5weQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMzIEBACisjIS91c3IvYmluL2VudiBweXRo
b24zCisKK2ltcG9ydCBvcworaW1wb3J0IHN5cworZnJvbSB1cmxsaWIucGFyc2UgaW1wb3J0IHBh
cnNlX3FzCisKK3F1ZXJ5ID0gcGFyc2VfcXMob3MuZW52aXJvbi5nZXQoJ1FVRVJZX1NUUklORycs
ICcnKSwga2VlcF9ibGFua192YWx1ZXM9VHJ1ZSkKK2hyZWYgPSBxdWVyeS5nZXQoJ2hyZWYnLCBb
Tm9uZV0pWzBdCit0YXJnZXQgPSBxdWVyeS5nZXQoJ3RhcmdldCcsIFtOb25lXSlbMF0KKwordGFy
Z2V0X2F0dHIgPSAnJworaWYgdGFyZ2V0IGlzIG5vdCBOb25lOgorICAgIHRhcmdldF9hdHRyID0g
J3RhcmdldD0ie30iJy5mb3JtYXQodGFyZ2V0KQorCitzeXMuc3Rkb3V0LndyaXRlKCdDb250ZW50
LVR5cGU6IHRleHQvaHRtbFxyXG5cclxuJykKKworcHJpbnQoJycnPCFET0NUWVBFPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQ+CitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1bm5l
ci53YWl0VW50aWxEb25lKCk7Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGEgaHJlZj0i
e30iIHt9PkNsaWNrPC9hPgorPHNjcmlwdD4KK2ludGVybmFscy53aXRoVXNlckdlc3R1cmUoKCkg
PT4ge3sKKyAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJhIikuY2xpY2soKTsKK319KTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPicnJy5mb3JtYXQoaHJlZiwgdGFyZ2V0X2F0dHIpKQpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRl
c3RzL2h0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvcmVzb3VyY2VzL2NsaWNrLWh5cGVybGlu
ay5weQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVz
dHMvY29va2llcy9zYW1lLXNpdGUvcmVzb3VyY2VzL2ZldGNoLWFmdGVyLW5hdmlnYXRpbmctaWZy
YW1lLWluLWNyb3NzLW9yaWdpbi1wYWdlLnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRlL3Jlc291cmNlcy9mZXRjaC1hZnRlci1uYXZpZ2F0
aW5nLWlmcmFtZS1pbi1jcm9zcy1vcmlnaW4tcGFnZS5waHAJKHJldmlzaW9uIDI3NTE4MCkKKysr
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvcmVzb3VyY2VzL2ZldGNo
LWFmdGVyLW5hdmlnYXRpbmctaWZyYW1lLWluLWNyb3NzLW9yaWdpbi1wYWdlLnBocAkobm9uZXhp
c3RlbnQpCkBAIC0xLDM1ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4K
LTxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2Nvb2tpZS11dGlsaXRpZXMuanMiPjwvc2NyaXB0
PgotPHNjcmlwdD5fc2V0Q2FjaGVkQ29va2llc0pTT04oJzw/cGhwIGVjaG8ganNvbl9lbmNvZGUo
JF9DT09LSUUpOyA/PicpPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxzY3JpcHQ+Ci13aW5k
b3cuanNUZXN0SXNBc3luYyA9IHRydWU7Ci0KLWRlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IFNhbWUt
U2l0ZSBjb29raWVzIGZvciAxMjcuMC4wLjEgYXJlIG5vdCBzZW50IHdpdGggYSBmcmFtZSBuYXZp
Z2F0aW9uIGZvciBhIGZyYW1lIGVtYmVkZGVkIGluIGEgcGFnZSB3aXRoIGEgZGlmZmVyZW50IG9y
aWdpbi4iKTsKLQotYXN5bmMgZnVuY3Rpb24gY2hlY2tSZXN1bHQoKQotewotICAgIGRlYnVnKCJD
b29raWVzIHNlbnQgd2l0aCBIVFRQIHJlcXVlc3Q6Iik7Ci0gICAgYXdhaXQgc2hvdWxkTm90SGF2
ZUNvb2tpZSgic3RyaWN0Iik7Ci0gICAgYXdhaXQgc2hvdWxkSGF2ZUNvb2tpZVdpdGhWYWx1ZSgi
aW1wbGljaXQtc3RyaWN0IiwgIjYiKTsKLSAgICBhd2FpdCBzaG91bGRIYXZlQ29va2llV2l0aFZh
bHVlKCJzdHJpY3QtYmVjYXVzZS1pbnZhbGlkLVNhbWVTaXRlLXZhbHVlIiwgIjYiKTsKLSAgICBh
d2FpdCBzaG91bGROb3RIYXZlQ29va2llKCJsYXgiKTsKLQotICAgIGRlYnVnKCI8YnI+Q29va2ll
cyB2aXNpYmxlIGluIERPTToiKTsKLSAgICBzaG91bGROb3RIYXZlRE9NQ29va2llKCJzdHJpY3Qi
KTsKLSAgICBzaG91bGRIYXZlRE9NQ29va2llV2l0aFZhbHVlKCJpbXBsaWNpdC1zdHJpY3QiLCAi
NiIpOwotICAgIHNob3VsZEhhdmVET01Db29raWVXaXRoVmFsdWUoInN0cmljdC1iZWNhdXNlLWlu
dmFsaWQtU2FtZVNpdGUtdmFsdWUiLCAiNiIpOwotICAgIHNob3VsZE5vdEhhdmVET01Db29raWUo
ImxheCIpOwotCi0gICAgYXdhaXQgcmVzZXRDb29raWVzKCk7Ci0gICAgZmluaXNoSlNUZXN0KCk7
Ci19Ci0KLWNoZWNrUmVzdWx0KCk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvcmVzb3VyY2VzL2ZldGNo
LWFmdGVyLW5hdmlnYXRpbmctaWZyYW1lLWluLWNyb3NzLW9yaWdpbi1wYWdlLnB5Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvcmVzb3VyY2Vz
L2ZldGNoLWFmdGVyLW5hdmlnYXRpbmctaWZyYW1lLWluLWNyb3NzLW9yaWdpbi1wYWdlLnB5CShu
b25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUv
cmVzb3VyY2VzL2ZldGNoLWFmdGVyLW5hdmlnYXRpbmctaWZyYW1lLWluLWNyb3NzLW9yaWdpbi1w
YWdlLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTEgQEAKKyMhL3Vzci9iaW4vZW52IHB5
dGhvbjMKKworaW1wb3J0IGpzb24KK2ltcG9ydCBvcworaW1wb3J0IHN5cworCitmaWxlID0gX19m
aWxlX18uc3BsaXQoJzovY3lnd2luJylbLTFdCitodHRwX3Jvb3QgPSAnLycuam9pbihvcy5wYXRo
LmRpcm5hbWUob3MucGF0aC5kaXJuYW1lKG9zLnBhdGguYWJzcGF0aChvcy5wYXRoLmRpcm5hbWUo
ZmlsZSkpKSkuc3BsaXQoJy8nKVs6LTFdKQorc3lzLnBhdGguaW5zZXJ0KDAsIGh0dHBfcm9vdCkK
KworZnJvbSByZXNvdXJjZXMucG9ydGFiaWxpdHlMYXllciBpbXBvcnQgZ2V0X2Nvb2tpZXMKKwor
Y29va2llcyA9IGdldF9jb29raWVzKCkKKworc3lzLnN0ZG91dC53cml0ZSgnQ29udGVudC1UeXBl
OiB0ZXh0L2h0bWxcclxuXHJcbicpCisKK3ByaW50KCcnJzwhRE9DVFlQRSBodG1sPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2Nvb2tpZS11dGlsaXRpZXMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdD5fc2V0Q2FjaGVkQ29va2llc0pTT04oJ3t9Jyk8L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgU2FtZS1TaXRlIGNvb2tpZXMgZm9yIDEyNy4wLjAu
MSBhcmUgbm90IHNlbnQgd2l0aCBhIGZyYW1lIG5hdmlnYXRpb24gZm9yIGEgZnJhbWUgZW1iZWRk
ZWQgaW4gYSBwYWdlIHdpdGggYSBkaWZmZXJlbnQgb3JpZ2luLiIpOworCithc3luYyBmdW5jdGlv
biBjaGVja1Jlc3VsdCgpCit7eworICAgIGRlYnVnKCJDb29raWVzIHNlbnQgd2l0aCBIVFRQIHJl
cXVlc3Q6Iik7CisgICAgYXdhaXQgc2hvdWxkTm90SGF2ZUNvb2tpZSgic3RyaWN0Iik7CisgICAg
YXdhaXQgc2hvdWxkSGF2ZUNvb2tpZVdpdGhWYWx1ZSgiaW1wbGljaXQtc3RyaWN0IiwgIjYiKTsK
KyAgICBhd2FpdCBzaG91bGRIYXZlQ29va2llV2l0aFZhbHVlKCJzdHJpY3QtYmVjYXVzZS1pbnZh
bGlkLVNhbWVTaXRlLXZhbHVlIiwgIjYiKTsKKyAgICBhd2FpdCBzaG91bGROb3RIYXZlQ29va2ll
KCJsYXgiKTsKKworICAgIGRlYnVnKCI8YnI+Q29va2llcyB2aXNpYmxlIGluIERPTToiKTsKKyAg
ICBzaG91bGROb3RIYXZlRE9NQ29va2llKCJzdHJpY3QiKTsKKyAgICBzaG91bGRIYXZlRE9NQ29v
a2llV2l0aFZhbHVlKCJpbXBsaWNpdC1zdHJpY3QiLCAiNiIpOworICAgIHNob3VsZEhhdmVET01D
b29raWVXaXRoVmFsdWUoInN0cmljdC1iZWNhdXNlLWludmFsaWQtU2FtZVNpdGUtdmFsdWUiLCAi
NiIpOworICAgIHNob3VsZE5vdEhhdmVET01Db29raWUoImxheCIpOworCisgICAgYXdhaXQgcmVz
ZXRDb29raWVzKCk7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9fQorCitjaGVja1Jlc3VsdCgpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+JycnLmZvcm1hdChqc29uLmR1bXBzKGNvb2tpZXMp
KSkKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRlL3Jlc291cmNlcy9mZXRjaC1hZnRl
ci1uYXZpZ2F0aW5nLWlmcmFtZS1pbi1jcm9zcy1vcmlnaW4tcGFnZS5weQpfX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFk
ZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9zYW1lLXNp
dGUvcmVzb3VyY2VzL2ZldGNoLWFmdGVyLXRvcC1sZXZlbC1jcm9zcy1vcmlnaW4tcmVkaXJlY3Qu
cGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9zYW1lLXNp
dGUvcmVzb3VyY2VzL2ZldGNoLWFmdGVyLXRvcC1sZXZlbC1jcm9zcy1vcmlnaW4tcmVkaXJlY3Qu
cGhwCShyZXZpc2lvbiAyNzUxODApCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMv
c2FtZS1zaXRlL3Jlc291cmNlcy9mZXRjaC1hZnRlci10b3AtbGV2ZWwtY3Jvc3Mtb3JpZ2luLXJl
ZGlyZWN0LnBocAkobm9uZXhpc3RlbnQpCkBAIC0xLDM1ICswLDAgQEAKLTwhRE9DVFlQRSBodG1s
PgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2Nvb2tpZS11dGls
aXRpZXMuanMiPjwvc2NyaXB0PgotPHNjcmlwdD5fc2V0Q2FjaGVkQ29va2llc0pTT04oJzw/cGhw
IGVjaG8ganNvbl9lbmNvZGUoJF9DT09LSUUpOyA/PicpPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9k
eT4KLTxzY3JpcHQ+Ci13aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7Ci0KLWRlc2NyaXB0aW9u
KCJUZXN0cyB0aGF0IGEgU2FtZVNpdGUgTGF4IGNvb2tpZSBmb3IgMTI3LjAuMC4xIGlzIHNlbnQg
d2l0aCBhIHJlZGlyZWN0IGZyb20gYSBwYWdlIHdpdGggYSBkaWZmZXJlbnQgb3JpZ2luLiIpOwot
Ci1hc3luYyBmdW5jdGlvbiBjaGVja1Jlc3VsdCgpCi17Ci0gICAgZGVidWcoIkNvb2tpZXMgc2Vu
dCB3aXRoIEhUVFAgcmVxdWVzdDoiKTsKLSAgICBhd2FpdCBzaG91bGROb3RIYXZlQ29va2llKCJz
dHJpY3QiKTsKLSAgICBhd2FpdCBzaG91bGRIYXZlQ29va2llV2l0aFZhbHVlKCJpbXBsaWNpdC1z
dHJpY3QiLCAiMTkiKTsKLSAgICBhd2FpdCBzaG91bGRIYXZlQ29va2llV2l0aFZhbHVlKCJzdHJp
Y3QtYmVjYXVzZS1pbnZhbGlkLVNhbWVTaXRlLXZhbHVlIiwgIjE5Iik7Ci0gICAgYXdhaXQgc2hv
dWxkSGF2ZUNvb2tpZVdpdGhWYWx1ZSgibGF4IiwgIjE5Iik7Ci0KLSAgICBkZWJ1ZygiPGJyPkNv
b2tpZXMgdmlzaWJsZSBpbiBET006Iik7Ci0gICAgc2hvdWxkTm90SGF2ZURPTUNvb2tpZSgic3Ry
aWN0Iik7Ci0gICAgc2hvdWxkSGF2ZURPTUNvb2tpZVdpdGhWYWx1ZSgiaW1wbGljaXQtc3RyaWN0
IiwgIjE5Iik7Ci0gICAgc2hvdWxkSGF2ZURPTUNvb2tpZVdpdGhWYWx1ZSgic3RyaWN0LWJlY2F1
c2UtaW52YWxpZC1TYW1lU2l0ZS12YWx1ZSIsICIxOSIpOwotICAgIHNob3VsZEhhdmVET01Db29r
aWVXaXRoVmFsdWUoImxheCIsICIxOSIpOwotCi0gICAgYXdhaXQgcmVzZXRDb29raWVzKCk7Ci0g
ICAgZmluaXNoSlNUZXN0KCk7Ci19Ci0KLWNoZWNrUmVzdWx0KCk7Ci08L3NjcmlwdD4KLTwvYm9k
eT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9zYW1lLXNp
dGUvcmVzb3VyY2VzL2ZldGNoLWFmdGVyLXRvcC1sZXZlbC1jcm9zcy1vcmlnaW4tcmVkaXJlY3Qu
cHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0
ZS9yZXNvdXJjZXMvZmV0Y2gtYWZ0ZXItdG9wLWxldmVsLWNyb3NzLW9yaWdpbi1yZWRpcmVjdC5w
eQkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvc2FtZS1z
aXRlL3Jlc291cmNlcy9mZXRjaC1hZnRlci10b3AtbGV2ZWwtY3Jvc3Mtb3JpZ2luLXJlZGlyZWN0
LnB5CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTEgQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhv
bjMKKworaW1wb3J0IGpzb24KK2ltcG9ydCBvcworaW1wb3J0IHN5cworCitmaWxlID0gX19maWxl
X18uc3BsaXQoJzovY3lnd2luJylbLTFdCitodHRwX3Jvb3QgPSAnLycuam9pbihvcy5wYXRoLmRp
cm5hbWUob3MucGF0aC5kaXJuYW1lKG9zLnBhdGguYWJzcGF0aChvcy5wYXRoLmRpcm5hbWUoZmls
ZSkpKSkuc3BsaXQoJy8nKVs6LTFdKQorc3lzLnBhdGguaW5zZXJ0KDAsIGh0dHBfcm9vdCkKKwor
ZnJvbSByZXNvdXJjZXMucG9ydGFiaWxpdHlMYXllciBpbXBvcnQgZ2V0X2Nvb2tpZXMKKworY29v
a2llcyA9IGdldF9jb29raWVzKCkKKworc3lzLnN0ZG91dC53cml0ZSgnQ29udGVudC1UeXBlOiB0
ZXh0L2h0bWxcclxuXHJcbicpCisKK3ByaW50KCcnJzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2Nvb2tpZS11dGlsaXRpZXMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdD5fc2V0Q2FjaGVkQ29va2llc0pTT04oJ3t9Jyk8L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHNjcmlwdD4KK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwor
ZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgYSBTYW1lU2l0ZSBMYXggY29va2llIGZvciAxMjcuMC4w
LjEgaXMgc2VudCB3aXRoIGEgcmVkaXJlY3QgZnJvbSBhIHBhZ2Ugd2l0aCBhIGRpZmZlcmVudCBv
cmlnaW4uIik7CisKK2FzeW5jIGZ1bmN0aW9uIGNoZWNrUmVzdWx0KCkKK3t7CisgICAgZGVidWco
IkNvb2tpZXMgc2VudCB3aXRoIEhUVFAgcmVxdWVzdDoiKTsKKyAgICBhd2FpdCBzaG91bGROb3RI
YXZlQ29va2llKCJzdHJpY3QiKTsKKyAgICBhd2FpdCBzaG91bGRIYXZlQ29va2llV2l0aFZhbHVl
KCJpbXBsaWNpdC1zdHJpY3QiLCAiMTkiKTsKKyAgICBhd2FpdCBzaG91bGRIYXZlQ29va2llV2l0
aFZhbHVlKCJzdHJpY3QtYmVjYXVzZS1pbnZhbGlkLVNhbWVTaXRlLXZhbHVlIiwgIjE5Iik7Cisg
ICAgYXdhaXQgc2hvdWxkSGF2ZUNvb2tpZVdpdGhWYWx1ZSgibGF4IiwgIjE5Iik7CisKKyAgICBk
ZWJ1ZygiPGJyPkNvb2tpZXMgdmlzaWJsZSBpbiBET006Iik7CisgICAgc2hvdWxkTm90SGF2ZURP
TUNvb2tpZSgic3RyaWN0Iik7CisgICAgc2hvdWxkSGF2ZURPTUNvb2tpZVdpdGhWYWx1ZSgiaW1w
bGljaXQtc3RyaWN0IiwgIjE5Iik7CisgICAgc2hvdWxkSGF2ZURPTUNvb2tpZVdpdGhWYWx1ZSgi
c3RyaWN0LWJlY2F1c2UtaW52YWxpZC1TYW1lU2l0ZS12YWx1ZSIsICIxOSIpOworICAgIHNob3Vs
ZEhhdmVET01Db29raWVXaXRoVmFsdWUoImxheCIsICIxOSIpOworCisgICAgYXdhaXQgcmVzZXRD
b29raWVzKCk7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9fQorCitjaGVja1Jlc3VsdCgpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+JycnLmZvcm1hdChqc29uLmR1bXBzKGNvb2tpZXMpKSkK
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRlL3Jlc291cmNlcy9mZXRjaC1hZnRlci10
b3AtbGV2ZWwtY3Jvc3Mtb3JpZ2luLXJlZGlyZWN0LnB5Cl9fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpl
eGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0
eQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9yZXNvdXJj
ZXMvZmV0Y2gtYWZ0ZXItdG9wLWxldmVsLW5hdmlnYXRpb24tZnJvbS1jcm9zcy1vcmlnaW4tcGFn
ZS5waHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3NhbWUt
c2l0ZS9yZXNvdXJjZXMvZmV0Y2gtYWZ0ZXItdG9wLWxldmVsLW5hdmlnYXRpb24tZnJvbS1jcm9z
cy1vcmlnaW4tcGFnZS5waHAJKHJldmlzaW9uIDI3NTE4MCkKKysrIExheW91dFRlc3RzL2h0dHAv
dGVzdHMvY29va2llcy9zYW1lLXNpdGUvcmVzb3VyY2VzL2ZldGNoLWFmdGVyLXRvcC1sZXZlbC1u
YXZpZ2F0aW9uLWZyb20tY3Jvc3Mtb3JpZ2luLXBhZ2UucGhwCShub25leGlzdGVudCkKQEAgLTEs
MzUgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9
Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvY29va2llLXV0aWxpdGllcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0Pl9z
ZXRDYWNoZWRDb29raWVzSlNPTignPD9waHAgZWNobyBqc29uX2VuY29kZSgkX0NPT0tJRSk7ID8+
Jyk8L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHNjcmlwdD4KLXdpbmRvdy5qc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKLQotZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgYSBTYW1lU2l0ZSBMYXggY29v
a2llIGZvciAxMjcuMC4wLjEgaXMgc2VudCB3aXRoIGEgdG9wLWxldmVsIG5hdmlnYXRpb24gaW5p
dGlhdGVkIGZyb20gYSBwYWdlIHdpdGggYSBkaWZmZXJlbnQgb3JpZ2luLiIpOwotCi1hc3luYyBm
dW5jdGlvbiBjaGVja1Jlc3VsdCgpCi17Ci0gICAgZGVidWcoIkNvb2tpZXMgc2VudCB3aXRoIEhU
VFAgcmVxdWVzdDoiKTsKLSAgICBhd2FpdCBzaG91bGROb3RIYXZlQ29va2llKCJzdHJpY3QiKTsK
LSAgICBhd2FpdCBzaG91bGRIYXZlQ29va2llV2l0aFZhbHVlKCJpbXBsaWNpdC1zdHJpY3QiLCAi
NSIpOwotICAgIGF3YWl0IHNob3VsZEhhdmVDb29raWVXaXRoVmFsdWUoInN0cmljdC1iZWNhdXNl
LWludmFsaWQtU2FtZVNpdGUtdmFsdWUiLCAiNSIpOwotICAgIGF3YWl0IHNob3VsZEhhdmVDb29r
aWVXaXRoVmFsdWUoImxheCIsICI1Iik7Ci0KLSAgICBkZWJ1ZygiPGJyPkNvb2tpZXMgdmlzaWJs
ZSBpbiBET006Iik7Ci0gICAgc2hvdWxkTm90SGF2ZURPTUNvb2tpZSgic3RyaWN0Iik7Ci0gICAg
c2hvdWxkSGF2ZURPTUNvb2tpZVdpdGhWYWx1ZSgiaW1wbGljaXQtc3RyaWN0IiwgIjUiKTsKLSAg
ICBzaG91bGRIYXZlRE9NQ29va2llV2l0aFZhbHVlKCJzdHJpY3QtYmVjYXVzZS1pbnZhbGlkLVNh
bWVTaXRlLXZhbHVlIiwgIjUiKTsKLSAgICBzaG91bGRIYXZlRE9NQ29va2llV2l0aFZhbHVlKCJs
YXgiLCAiNSIpOwotCi0gICAgYXdhaXQgcmVzZXRDb29raWVzKCk7Ci0gICAgZmluaXNoSlNUZXN0
KCk7Ci19Ci0KLWNoZWNrUmVzdWx0KCk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5k
ZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvcmVzb3VyY2VzL2Zl
dGNoLWFmdGVyLXRvcC1sZXZlbC1uYXZpZ2F0aW9uLWZyb20tY3Jvc3Mtb3JpZ2luLXBhZ2UucHkK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9y
ZXNvdXJjZXMvZmV0Y2gtYWZ0ZXItdG9wLWxldmVsLW5hdmlnYXRpb24tZnJvbS1jcm9zcy1vcmln
aW4tcGFnZS5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tp
ZXMvc2FtZS1zaXRlL3Jlc291cmNlcy9mZXRjaC1hZnRlci10b3AtbGV2ZWwtbmF2aWdhdGlvbi1m
cm9tLWNyb3NzLW9yaWdpbi1wYWdlLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTEgQEAK
KyMhL3Vzci9iaW4vZW52IHB5dGhvbjMKKworaW1wb3J0IGpzb24KK2ltcG9ydCBvcworaW1wb3J0
IHN5cworCitmaWxlID0gX19maWxlX18uc3BsaXQoJzovY3lnd2luJylbLTFdCitodHRwX3Jvb3Qg
PSAnLycuam9pbihvcy5wYXRoLmRpcm5hbWUob3MucGF0aC5kaXJuYW1lKG9zLnBhdGguYWJzcGF0
aChvcy5wYXRoLmRpcm5hbWUoZmlsZSkpKSkuc3BsaXQoJy8nKVs6LTFdKQorc3lzLnBhdGguaW5z
ZXJ0KDAsIGh0dHBfcm9vdCkKKworZnJvbSByZXNvdXJjZXMucG9ydGFiaWxpdHlMYXllciBpbXBv
cnQgZ2V0X2Nvb2tpZXMKKworY29va2llcyA9IGdldF9jb29raWVzKCkKKworc3lzLnN0ZG91dC53
cml0ZSgnQ29udGVudC1UeXBlOiB0ZXh0L2h0bWxcclxuXHJcbicpCisKK3ByaW50KCcnJzwhRE9D
VFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2Nv
b2tpZS11dGlsaXRpZXMuanMiPjwvc2NyaXB0PgorPHNjcmlwdD5fc2V0Q2FjaGVkQ29va2llc0pT
T04oJ3t9Jyk8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KK3dpbmRvdy5qc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgYSBTYW1lU2l0ZSBM
YXggY29va2llIGZvciAxMjcuMC4wLjEgaXMgc2VudCB3aXRoIGEgdG9wLWxldmVsIG5hdmlnYXRp
b24gaW5pdGlhdGVkIGZyb20gYSBwYWdlIHdpdGggYSBkaWZmZXJlbnQgb3JpZ2luLiIpOworCith
c3luYyBmdW5jdGlvbiBjaGVja1Jlc3VsdCgpCit7eworICAgIGRlYnVnKCJDb29raWVzIHNlbnQg
d2l0aCBIVFRQIHJlcXVlc3Q6Iik7CisgICAgYXdhaXQgc2hvdWxkTm90SGF2ZUNvb2tpZSgic3Ry
aWN0Iik7CisgICAgYXdhaXQgc2hvdWxkSGF2ZUNvb2tpZVdpdGhWYWx1ZSgiaW1wbGljaXQtc3Ry
aWN0IiwgIjUiKTsKKyAgICBhd2FpdCBzaG91bGRIYXZlQ29va2llV2l0aFZhbHVlKCJzdHJpY3Qt
YmVjYXVzZS1pbnZhbGlkLVNhbWVTaXRlLXZhbHVlIiwgIjUiKTsKKyAgICBhd2FpdCBzaG91bGRI
YXZlQ29va2llV2l0aFZhbHVlKCJsYXgiLCAiNSIpOworCisgICAgZGVidWcoIjxicj5Db29raWVz
IHZpc2libGUgaW4gRE9NOiIpOworICAgIHNob3VsZE5vdEhhdmVET01Db29raWUoInN0cmljdCIp
OworICAgIHNob3VsZEhhdmVET01Db29raWVXaXRoVmFsdWUoImltcGxpY2l0LXN0cmljdCIsICI1
Iik7CisgICAgc2hvdWxkSGF2ZURPTUNvb2tpZVdpdGhWYWx1ZSgic3RyaWN0LWJlY2F1c2UtaW52
YWxpZC1TYW1lU2l0ZS12YWx1ZSIsICI1Iik7CisgICAgc2hvdWxkSGF2ZURPTUNvb2tpZVdpdGhW
YWx1ZSgibGF4IiwgIjUiKTsKKworICAgIGF3YWl0IHJlc2V0Q29va2llcygpOworICAgIGZpbmlz
aEpTVGVzdCgpOworfX0KKworY2hlY2tSZXN1bHQoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPicnJy5mb3JtYXQoanNvbi5kdW1wcyhjb29raWVzKSkpClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29r
aWVzL3NhbWUtc2l0ZS9yZXNvdXJjZXMvZmV0Y2gtYWZ0ZXItdG9wLWxldmVsLW5hdmlnYXRpb24t
ZnJvbS1jcm9zcy1vcmlnaW4tcGFnZS5weQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJs
ZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvcmVzb3VyY2VzL2ZldGNo
LWFmdGVyLXRvcC1sZXZlbC1uYXZpZ2F0aW9uLWluaXRpYXRlZC1mcm9tLWlmcmFtZS1pbi1jcm9z
cy1vcmlnaW4tcGFnZS5waHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9j
b29raWVzL3NhbWUtc2l0ZS9yZXNvdXJjZXMvZmV0Y2gtYWZ0ZXItdG9wLWxldmVsLW5hdmlnYXRp
b24taW5pdGlhdGVkLWZyb20taWZyYW1lLWluLWNyb3NzLW9yaWdpbi1wYWdlLnBocAkocmV2aXNp
b24gMjc1MTgwKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9y
ZXNvdXJjZXMvZmV0Y2gtYWZ0ZXItdG9wLWxldmVsLW5hdmlnYXRpb24taW5pdGlhdGVkLWZyb20t
aWZyYW1lLWluLWNyb3NzLW9yaWdpbi1wYWdlLnBocAkobm9uZXhpc3RlbnQpCkBAIC0xLDM1ICsw
LDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIvanMt
dGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2Nvb2tpZS11dGlsaXRpZXMuanMiPjwvc2NyaXB0PgotPHNjcmlwdD5fc2V0Q2Fj
aGVkQ29va2llc0pTT04oJzw/cGhwIGVjaG8ganNvbl9lbmNvZGUoJF9DT09LSUUpOyA/PicpPC9z
Y3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxzY3JpcHQ+Ci13aW5kb3cuanNUZXN0SXNBc3luYyA9
IHRydWU7Ci0KLWRlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IGEgU2FtZVNpdGUgTGF4IGNvb2tpZSBm
b3IgMTI3LjAuMC4xIGlzIHNlbnQgd2l0aCBhIHRvcC1sZXZlbCBuYXZpZ2F0aW9uIGluaXRpYXRl
ZCBmcm9tIGEgZnJhbWUgZW1iZWRkZWQgaW4gYSBwYWdlIHdpdGggYSBkaWZmZXJlbnQgb3JpZ2lu
LiIpOwotCi1hc3luYyBmdW5jdGlvbiBjaGVja1Jlc3VsdCgpCi17Ci0gICAgZGVidWcoIkNvb2tp
ZXMgc2VudCB3aXRoIEhUVFAgcmVxdWVzdDoiKTsKLSAgICBhd2FpdCBzaG91bGROb3RIYXZlQ29v
a2llKCJzdHJpY3QiKTsKLSAgICBhd2FpdCBzaG91bGRIYXZlQ29va2llV2l0aFZhbHVlKCJpbXBs
aWNpdC1zdHJpY3QiLCAiNCIpOwotICAgIGF3YWl0IHNob3VsZEhhdmVDb29raWVXaXRoVmFsdWUo
InN0cmljdC1iZWNhdXNlLWludmFsaWQtU2FtZVNpdGUtdmFsdWUiLCAiNCIpOwotICAgIGF3YWl0
IHNob3VsZEhhdmVDb29raWVXaXRoVmFsdWUoImxheCIsICI0Iik7Ci0KLSAgICBkZWJ1ZygiPGJy
PkNvb2tpZXMgdmlzaWJsZSBpbiBET006Iik7Ci0gICAgc2hvdWxkTm90SGF2ZURPTUNvb2tpZSgi
c3RyaWN0Iik7Ci0gICAgc2hvdWxkSGF2ZURPTUNvb2tpZVdpdGhWYWx1ZSgiaW1wbGljaXQtc3Ry
aWN0IiwgIjQiKTsKLSAgICBzaG91bGRIYXZlRE9NQ29va2llV2l0aFZhbHVlKCJzdHJpY3QtYmVj
YXVzZS1pbnZhbGlkLVNhbWVTaXRlLXZhbHVlIiwgIjQiKTsKLSAgICBzaG91bGRIYXZlRE9NQ29v
a2llV2l0aFZhbHVlKCJsYXgiLCAiNCIpOwotCi0gICAgYXdhaXQgcmVzZXRDb29raWVzKCk7Ci0g
ICAgZmluaXNoSlNUZXN0KCk7Ci19Ci0KLWNoZWNrUmVzdWx0KCk7Ci08L3NjcmlwdD4KLTwvYm9k
eT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9zYW1lLXNp
dGUvcmVzb3VyY2VzL2ZldGNoLWFmdGVyLXRvcC1sZXZlbC1uYXZpZ2F0aW9uLWluaXRpYXRlZC1m
cm9tLWlmcmFtZS1pbi1jcm9zcy1vcmlnaW4tcGFnZS5weQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRlL3Jlc291cmNlcy9mZXRjaC1hZnRlci10
b3AtbGV2ZWwtbmF2aWdhdGlvbi1pbml0aWF0ZWQtZnJvbS1pZnJhbWUtaW4tY3Jvc3Mtb3JpZ2lu
LXBhZ2UucHkJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVz
L3NhbWUtc2l0ZS9yZXNvdXJjZXMvZmV0Y2gtYWZ0ZXItdG9wLWxldmVsLW5hdmlnYXRpb24taW5p
dGlhdGVkLWZyb20taWZyYW1lLWluLWNyb3NzLW9yaWdpbi1wYWdlLnB5CSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsNTEgQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbjMKKworaW1wb3J0IGpzb24K
K2ltcG9ydCBvcworaW1wb3J0IHN5cworCitmaWxlID0gX19maWxlX18uc3BsaXQoJzovY3lnd2lu
JylbLTFdCitodHRwX3Jvb3QgPSAnLycuam9pbihvcy5wYXRoLmRpcm5hbWUob3MucGF0aC5kaXJu
YW1lKG9zLnBhdGguYWJzcGF0aChvcy5wYXRoLmRpcm5hbWUoZmlsZSkpKSkuc3BsaXQoJy8nKVs6
LTFdKQorc3lzLnBhdGguaW5zZXJ0KDAsIGh0dHBfcm9vdCkKKworZnJvbSByZXNvdXJjZXMucG9y
dGFiaWxpdHlMYXllciBpbXBvcnQgZ2V0X2Nvb2tpZXMKKworY29va2llcyA9IGdldF9jb29raWVz
KCkKKworc3lzLnN0ZG91dC53cml0ZSgnQ29udGVudC1UeXBlOiB0ZXh0L2h0bWxcclxuXHJcbicp
CisKK3ByaW50KCcnJzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2Nvb2tpZS11dGlsaXRpZXMuanMiPjwvc2NyaXB0PgorPHNjcmlwdD5f
c2V0Q2FjaGVkQ29va2llc0pTT04oJ3t9Jyk8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNj
cmlwdD4KK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworZGVzY3JpcHRpb24oIlRlc3Rz
IHRoYXQgYSBTYW1lU2l0ZSBMYXggY29va2llIGZvciAxMjcuMC4wLjEgaXMgc2VudCB3aXRoIGEg
dG9wLWxldmVsIG5hdmlnYXRpb24gaW5pdGlhdGVkIGZyb20gYSBmcmFtZSBlbWJlZGRlZCBpbiBh
IHBhZ2Ugd2l0aCBhIGRpZmZlcmVudCBvcmlnaW4uIik7CisKK2FzeW5jIGZ1bmN0aW9uIGNoZWNr
UmVzdWx0KCkKK3t7CisgICAgZGVidWcoIkNvb2tpZXMgc2VudCB3aXRoIEhUVFAgcmVxdWVzdDoi
KTsKKyAgICBhd2FpdCBzaG91bGROb3RIYXZlQ29va2llKCJzdHJpY3QiKTsKKyAgICBhd2FpdCBz
aG91bGRIYXZlQ29va2llV2l0aFZhbHVlKCJpbXBsaWNpdC1zdHJpY3QiLCAiNCIpOworICAgIGF3
YWl0IHNob3VsZEhhdmVDb29raWVXaXRoVmFsdWUoInN0cmljdC1iZWNhdXNlLWludmFsaWQtU2Ft
ZVNpdGUtdmFsdWUiLCAiNCIpOworICAgIGF3YWl0IHNob3VsZEhhdmVDb29raWVXaXRoVmFsdWUo
ImxheCIsICI0Iik7CisKKyAgICBkZWJ1ZygiPGJyPkNvb2tpZXMgdmlzaWJsZSBpbiBET006Iik7
CisgICAgc2hvdWxkTm90SGF2ZURPTUNvb2tpZSgic3RyaWN0Iik7CisgICAgc2hvdWxkSGF2ZURP
TUNvb2tpZVdpdGhWYWx1ZSgiaW1wbGljaXQtc3RyaWN0IiwgIjQiKTsKKyAgICBzaG91bGRIYXZl
RE9NQ29va2llV2l0aFZhbHVlKCJzdHJpY3QtYmVjYXVzZS1pbnZhbGlkLVNhbWVTaXRlLXZhbHVl
IiwgIjQiKTsKKyAgICBzaG91bGRIYXZlRE9NQ29va2llV2l0aFZhbHVlKCJsYXgiLCAiNCIpOwor
CisgICAgYXdhaXQgcmVzZXRDb29raWVzKCk7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9fQorCitj
aGVja1Jlc3VsdCgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+JycnLmZvcm1hdChqc29u
LmR1bXBzKGNvb2tpZXMpKSkKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCgpQcm9wZXJ0eSBj
aGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRlL3Jlc291
cmNlcy9mZXRjaC1hZnRlci10b3AtbGV2ZWwtbmF2aWdhdGlvbi1pbml0aWF0ZWQtZnJvbS1pZnJh
bWUtaW4tY3Jvc3Mtb3JpZ2luLXBhZ2UucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFi
bGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4
OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRlL3Jlc291cmNlcy9mZXRj
aC1hZnRlci10b3AtbGV2ZWwtc2FtZS1vcmlnaW4tcmVkaXJlY3QucGhwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvcmVzb3VyY2VzL2ZldGNo
LWFmdGVyLXRvcC1sZXZlbC1zYW1lLW9yaWdpbi1yZWRpcmVjdC5waHAJKHJldmlzaW9uIDI3NTE4
MCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvcmVzb3VyY2Vz
L2ZldGNoLWFmdGVyLXRvcC1sZXZlbC1zYW1lLW9yaWdpbi1yZWRpcmVjdC5waHAJKG5vbmV4aXN0
ZW50KQpAQCAtMSwzNSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08
c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9jb29raWUtdXRpbGl0aWVzLmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQ+X3NldENhY2hlZENvb2tpZXNKU09OKCc8P3BocCBlY2hvIGpzb25fZW5jb2RlKCRf
Q09PS0lFKTsgPz4nKTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08c2NyaXB0Pgotd2luZG93
LmpzVGVzdElzQXN5bmMgPSB0cnVlOwotCi1kZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBhIFNhbWVT
aXRlIExheCBjb29raWUgZm9yIDEyNy4wLjAuMSBpcyBzZW50IHdpdGggYSByZWRpcmVjdCBmcm9t
IGEgcGFnZSB3aXRoIHRoZSBzYW1lIG9yaWdpbi4iKTsKLQotYXN5bmMgZnVuY3Rpb24gY2hlY2tS
ZXN1bHQoKQotewotICAgIGRlYnVnKCJDb29raWVzIHNlbnQgd2l0aCBIVFRQIHJlcXVlc3Q6Iik7
Ci0gICAgYXdhaXQgc2hvdWxkSGF2ZUNvb2tpZVdpdGhWYWx1ZSgic3RyaWN0IiwgIjIwIik7Ci0g
ICAgYXdhaXQgc2hvdWxkSGF2ZUNvb2tpZVdpdGhWYWx1ZSgiaW1wbGljaXQtc3RyaWN0IiwgIjIw
Iik7Ci0gICAgYXdhaXQgc2hvdWxkSGF2ZUNvb2tpZVdpdGhWYWx1ZSgic3RyaWN0LWJlY2F1c2Ut
aW52YWxpZC1TYW1lU2l0ZS12YWx1ZSIsICIyMCIpOwotICAgIGF3YWl0IHNob3VsZEhhdmVDb29r
aWVXaXRoVmFsdWUoImxheCIsICIyMCIpOwotCi0gICAgZGVidWcoIjxicj5Db29raWVzIHZpc2li
bGUgaW4gRE9NOiIpOwotICAgIHNob3VsZEhhdmVET01Db29raWVXaXRoVmFsdWUoInN0cmljdCIs
ICIyMCIpOwotICAgIHNob3VsZEhhdmVET01Db29raWVXaXRoVmFsdWUoImltcGxpY2l0LXN0cmlj
dCIsICIyMCIpOwotICAgIHNob3VsZEhhdmVET01Db29raWVXaXRoVmFsdWUoInN0cmljdC1iZWNh
dXNlLWludmFsaWQtU2FtZVNpdGUtdmFsdWUiLCAiMjAiKTsKLSAgICBzaG91bGRIYXZlRE9NQ29v
a2llV2l0aFZhbHVlKCJsYXgiLCAiMjAiKTsKLQotICAgIGF3YWl0IHJlc2V0Q29va2llcygpOwot
ICAgIGZpbmlzaEpTVGVzdCgpOwotfQotCi1jaGVja1Jlc3VsdCgpOwotPC9zY3JpcHQ+Ci08L2Jv
ZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvc2FtZS1z
aXRlL3Jlc291cmNlcy9mZXRjaC1hZnRlci10b3AtbGV2ZWwtc2FtZS1vcmlnaW4tcmVkaXJlY3Qu
cHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0
ZS9yZXNvdXJjZXMvZmV0Y2gtYWZ0ZXItdG9wLWxldmVsLXNhbWUtb3JpZ2luLXJlZGlyZWN0LnB5
CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9zYW1lLXNp
dGUvcmVzb3VyY2VzL2ZldGNoLWFmdGVyLXRvcC1sZXZlbC1zYW1lLW9yaWdpbi1yZWRpcmVjdC5w
eQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDUxIEBACisjIS91c3IvYmluL2VudiBweXRob24z
CisKK2ltcG9ydCBqc29uCitpbXBvcnQgb3MKK2ltcG9ydCBzeXMKKworZmlsZSA9IF9fZmlsZV9f
LnNwbGl0KCc6L2N5Z3dpbicpWy0xXQoraHR0cF9yb290ID0gJy8nLmpvaW4ob3MucGF0aC5kaXJu
YW1lKG9zLnBhdGguZGlybmFtZShvcy5wYXRoLmFic3BhdGgob3MucGF0aC5kaXJuYW1lKGZpbGUp
KSkpLnNwbGl0KCcvJylbOi0xXSkKK3N5cy5wYXRoLmluc2VydCgwLCBodHRwX3Jvb3QpCisKK2Zy
b20gcmVzb3VyY2VzLnBvcnRhYmlsaXR5TGF5ZXIgaW1wb3J0IGdldF9jb29raWVzCisKK2Nvb2tp
ZXMgPSBnZXRfY29va2llcygpCisKK3N5cy5zdGRvdXQud3JpdGUoJ0NvbnRlbnQtVHlwZTogdGV4
dC9odG1sXHJcblxyXG4nKQorCitwcmludCgnJyc8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9jb29raWUtdXRpbGl0aWVzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQ+X3NldENhY2hlZENvb2tpZXNKU09OKCd7fScpPC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxzY3JpcHQ+Cit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CisKK2Rl
c2NyaXB0aW9uKCJUZXN0cyB0aGF0IGEgU2FtZVNpdGUgTGF4IGNvb2tpZSBmb3IgMTI3LjAuMC4x
IGlzIHNlbnQgd2l0aCBhIHJlZGlyZWN0IGZyb20gYSBwYWdlIHdpdGggdGhlIHNhbWUgb3JpZ2lu
LiIpOworCithc3luYyBmdW5jdGlvbiBjaGVja1Jlc3VsdCgpCit7eworICAgIGRlYnVnKCJDb29r
aWVzIHNlbnQgd2l0aCBIVFRQIHJlcXVlc3Q6Iik7CisgICAgYXdhaXQgc2hvdWxkSGF2ZUNvb2tp
ZVdpdGhWYWx1ZSgic3RyaWN0IiwgIjIwIik7CisgICAgYXdhaXQgc2hvdWxkSGF2ZUNvb2tpZVdp
dGhWYWx1ZSgiaW1wbGljaXQtc3RyaWN0IiwgIjIwIik7CisgICAgYXdhaXQgc2hvdWxkSGF2ZUNv
b2tpZVdpdGhWYWx1ZSgic3RyaWN0LWJlY2F1c2UtaW52YWxpZC1TYW1lU2l0ZS12YWx1ZSIsICIy
MCIpOworICAgIGF3YWl0IHNob3VsZEhhdmVDb29raWVXaXRoVmFsdWUoImxheCIsICIyMCIpOwor
CisgICAgZGVidWcoIjxicj5Db29raWVzIHZpc2libGUgaW4gRE9NOiIpOworICAgIHNob3VsZEhh
dmVET01Db29raWVXaXRoVmFsdWUoInN0cmljdCIsICIyMCIpOworICAgIHNob3VsZEhhdmVET01D
b29raWVXaXRoVmFsdWUoImltcGxpY2l0LXN0cmljdCIsICIyMCIpOworICAgIHNob3VsZEhhdmVE
T01Db29raWVXaXRoVmFsdWUoInN0cmljdC1iZWNhdXNlLWludmFsaWQtU2FtZVNpdGUtdmFsdWUi
LCAiMjAiKTsKKyAgICBzaG91bGRIYXZlRE9NQ29va2llV2l0aFZhbHVlKCJsYXgiLCAiMjAiKTsK
KworICAgIGF3YWl0IHJlc2V0Q29va2llcygpOworICAgIGZpbmlzaEpTVGVzdCgpOworfX0KKwor
Y2hlY2tSZXN1bHQoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPicnJy5mb3JtYXQoanNv
bi5kdW1wcyhjb29raWVzKSkpClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoKUHJvcGVydHkg
Y2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9yZXNv
dXJjZXMvZmV0Y2gtYWZ0ZXItdG9wLWxldmVsLXNhbWUtb3JpZ2luLXJlZGlyZWN0LnB5Cl9fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVz
L3NhbWUtc2l0ZS9yZXNvdXJjZXMvZmV0Y2gtaW4tc2FtZS1vcmlnaW4tc2VydmljZS13b3JrZXIu
cGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9zYW1lLXNp
dGUvcmVzb3VyY2VzL2ZldGNoLWluLXNhbWUtb3JpZ2luLXNlcnZpY2Utd29ya2VyLnBocAkocmV2
aXNpb24gMjc1MTgwKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0
ZS9yZXNvdXJjZXMvZmV0Y2gtaW4tc2FtZS1vcmlnaW4tc2VydmljZS13b3JrZXIucGhwCShub25l
eGlzdGVudCkKQEAgLTEsMzUgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFk
PgotPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvY29va2llLXV0aWxpdGllcy5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0Pl9zZXRDYWNoZWRDb29raWVzSlNPTignPD9waHAgZWNobyBqc29uX2VuY29k
ZSgkX0NPT0tJRSk7ID8+Jyk8L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHNjcmlwdD4KLXdp
bmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLQotZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgU2Ft
ZS1TaXRlIGNvb2tpZXMgZm9yIDEyNy4wLjAuMSBhcmUgc2VudCB3aXRoIGEgcmVxdWVzdCBpbml0
aWF0ZWQgZnJvbSBhbiBpZnJhbWUtIGFuZCBwcm9jZXNzZWQgYnkgYSBzZXJ2aWNlIHdvcmtlci0g
d2l0aCB0aGUgc2FtZSBvcmlnaW4uIik7Ci0KLWFzeW5jIGZ1bmN0aW9uIGNoZWNrUmVzdWx0KCkK
LXsKLSAgICBkZWJ1ZygiQ29va2llcyBzZW50IHdpdGggSFRUUCByZXF1ZXN0OiIpOwotICAgIGF3
YWl0IHNob3VsZEhhdmVDb29raWVXaXRoVmFsdWUoInN0cmljdCIsICIxMSIpOwotICAgIGF3YWl0
IHNob3VsZEhhdmVDb29raWVXaXRoVmFsdWUoImltcGxpY2l0LXN0cmljdCIsICIxMSIpOwotICAg
IGF3YWl0IHNob3VsZEhhdmVDb29raWVXaXRoVmFsdWUoInN0cmljdC1iZWNhdXNlLWludmFsaWQt
U2FtZVNpdGUtdmFsdWUiLCAiMTEiKTsKLSAgICBhd2FpdCBzaG91bGRIYXZlQ29va2llV2l0aFZh
bHVlKCJsYXgiLCAiMTEiKTsKLQotICAgIGRlYnVnKCI8YnI+Q29va2llcyB2aXNpYmxlIGluIERP
TToiKTsKLSAgICBzaG91bGRIYXZlRE9NQ29va2llV2l0aFZhbHVlKCJzdHJpY3QiLCAiMTEiKTsK
LSAgICBzaG91bGRIYXZlRE9NQ29va2llV2l0aFZhbHVlKCJpbXBsaWNpdC1zdHJpY3QiLCAiMTEi
KTsKLSAgICBzaG91bGRIYXZlRE9NQ29va2llV2l0aFZhbHVlKCJzdHJpY3QtYmVjYXVzZS1pbnZh
bGlkLVNhbWVTaXRlLXZhbHVlIiwgIjExIik7Ci0gICAgc2hvdWxkSGF2ZURPTUNvb2tpZVdpdGhW
YWx1ZSgibGF4IiwgIjExIik7Ci0KLSAgICBhd2FpdCByZXNldENvb2tpZXMoKTsKLSAgICBmaW5p
c2hKU1Rlc3QoKTsKLX0KLQotY2hlY2tSZXN1bHQoKTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9o
dG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9yZXNv
dXJjZXMvZmV0Y2gtaW4tc2FtZS1vcmlnaW4tc2VydmljZS13b3JrZXIucHkKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9yZXNvdXJjZXMvZmV0
Y2gtaW4tc2FtZS1vcmlnaW4tc2VydmljZS13b3JrZXIucHkJKG5vbmV4aXN0ZW50KQorKysgTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9yZXNvdXJjZXMvZmV0Y2gtaW4t
c2FtZS1vcmlnaW4tc2VydmljZS13b3JrZXIucHkJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1
MSBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMworCitpbXBvcnQganNvbgoraW1wb3J0IG9zCitp
bXBvcnQgc3lzCisKK2ZpbGUgPSBfX2ZpbGVfXy5zcGxpdCgnOi9jeWd3aW4nKVstMV0KK2h0dHBf
cm9vdCA9ICcvJy5qb2luKG9zLnBhdGguZGlybmFtZShvcy5wYXRoLmRpcm5hbWUob3MucGF0aC5h
YnNwYXRoKG9zLnBhdGguZGlybmFtZShmaWxlKSkpKS5zcGxpdCgnLycpWzotMV0pCitzeXMucGF0
aC5pbnNlcnQoMCwgaHR0cF9yb290KQorCitmcm9tIHJlc291cmNlcy5wb3J0YWJpbGl0eUxheWVy
IGltcG9ydCBnZXRfY29va2llcworCitjb29raWVzID0gZ2V0X2Nvb2tpZXMoKQorCitzeXMuc3Rk
b3V0LndyaXRlKCdDb250ZW50LVR5cGU6IHRleHQvaHRtbFxyXG5cclxuJykKKworcHJpbnQoJycn
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvY29va2llLXV0aWxpdGllcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0Pl9zZXRDYWNoZWRDb29r
aWVzSlNPTigne30nKTwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0Pgord2luZG93
LmpzVGVzdElzQXN5bmMgPSB0cnVlOworCitkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBTYW1lLVNp
dGUgY29va2llcyBmb3IgMTI3LjAuMC4xIGFyZSBzZW50IHdpdGggYSByZXF1ZXN0IGluaXRpYXRl
ZCBmcm9tIGFuIGlmcmFtZS0gYW5kIHByb2Nlc3NlZCBieSBhIHNlcnZpY2Ugd29ya2VyLSB3aXRo
IHRoZSBzYW1lIG9yaWdpbi4iKTsKKworYXN5bmMgZnVuY3Rpb24gY2hlY2tSZXN1bHQoKQore3sK
KyAgICBkZWJ1ZygiQ29va2llcyBzZW50IHdpdGggSFRUUCByZXF1ZXN0OiIpOworICAgIGF3YWl0
IHNob3VsZEhhdmVDb29raWVXaXRoVmFsdWUoInN0cmljdCIsICIxMSIpOworICAgIGF3YWl0IHNo
b3VsZEhhdmVDb29raWVXaXRoVmFsdWUoImltcGxpY2l0LXN0cmljdCIsICIxMSIpOworICAgIGF3
YWl0IHNob3VsZEhhdmVDb29raWVXaXRoVmFsdWUoInN0cmljdC1iZWNhdXNlLWludmFsaWQtU2Ft
ZVNpdGUtdmFsdWUiLCAiMTEiKTsKKyAgICBhd2FpdCBzaG91bGRIYXZlQ29va2llV2l0aFZhbHVl
KCJsYXgiLCAiMTEiKTsKKworICAgIGRlYnVnKCI8YnI+Q29va2llcyB2aXNpYmxlIGluIERPTToi
KTsKKyAgICBzaG91bGRIYXZlRE9NQ29va2llV2l0aFZhbHVlKCJzdHJpY3QiLCAiMTEiKTsKKyAg
ICBzaG91bGRIYXZlRE9NQ29va2llV2l0aFZhbHVlKCJpbXBsaWNpdC1zdHJpY3QiLCAiMTEiKTsK
KyAgICBzaG91bGRIYXZlRE9NQ29va2llV2l0aFZhbHVlKCJzdHJpY3QtYmVjYXVzZS1pbnZhbGlk
LVNhbWVTaXRlLXZhbHVlIiwgIjExIik7CisgICAgc2hvdWxkSGF2ZURPTUNvb2tpZVdpdGhWYWx1
ZSgibGF4IiwgIjExIik7CisKKyAgICBhd2FpdCByZXNldENvb2tpZXMoKTsKKyAgICBmaW5pc2hK
U1Rlc3QoKTsKK319CisKK2NoZWNrUmVzdWx0KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4nJycuZm9ybWF0KGpzb24uZHVtcHMoY29va2llcykpKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2ll
cy9zYW1lLXNpdGUvcmVzb3VyY2VzL2ZldGNoLWluLXNhbWUtb3JpZ2luLXNlcnZpY2Utd29ya2Vy
LnB5Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9jb29raWVzL3NhbWUtc2l0ZS9yZXNvdXJjZXMvcG9zdC1mcm9tLXBvcHVwLmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9yZXNvdXJj
ZXMvcG9zdC1mcm9tLXBvcHVwLmh0bWwJKHJldmlzaW9uIDI3NTE4MCkKKysrIExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvcmVzb3VyY2VzL3Bvc3QtZnJvbS1wb3B1cC5o
dG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDcgKzEsNyBAQAogPCFET0NUWVBFIGh0bWw+CiA8aHRt
bD4KIDxib2R5PgotPGZvcm0gYWN0aW9uPSIuLi8uLi9yZXNvdXJjZXMvcG9zdC1jb29raWVzLXRv
LW9wZW5lci5waHAiIG1ldGhvZD0iUE9TVCI+Cis8Zm9ybSBhY3Rpb249Ii4uLy4uL3Jlc291cmNl
cy9wb3N0LWNvb2tpZXMtdG8tb3BlbmVyLnB5IiBtZXRob2Q9IlBPU1QiPgogICAgIDxpbnB1dCB0
eXBlPSJzdWJtaXQiIG5hbWU9IlN1Ym1pdCI+CiA8L2Zvcm0+CiA8c2NyaXB0PgpJbmRleDogTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9wbHVnaW5zL3Jlc291cmNlcy90aGlyZC1wYXJ0eS1jb29raWUt
YWNjZXB0LXBvbGljeS1pZnJhbWUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3BsdWdpbnMvcmVzb3VyY2VzL3RoaXJkLXBhcnR5LWNvb2tpZS1hY2NlcHQtcG9saWN5
LWlmcmFtZS5odG1sCShyZXZpc2lvbiAyNzUxODApCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3BsdWdpbnMvcmVzb3VyY2VzL3RoaXJkLXBhcnR5LWNvb2tpZS1hY2NlcHQtcG9saWN5LWlmcmFt
ZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xOCw3ICsxOCw3IEBAIHZhciBwbHVnaW4gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGwKIAogaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgIHRl
c3RSdW5uZXIuc2V0QWx3YXlzQWNjZXB0Q29va2llcyh0cnVlKTsKLXBsdWdpbi5nZXRVUkxOb3Rp
ZnkoImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9jb29raWVzL3Jlc291cmNlcy9jb29raWUtdXRpbGl0
eS5waHA/cXVlcnlmdW5jdGlvbj1kZWxldGVDb29raWVzIiwgbnVsbCwgInRyeVNldENvb2tpZSIp
OworcGx1Z2luLmdldFVSTE5vdGlmeSgiaHR0cDovL2xvY2FsaG9zdDo4MDAwL2Nvb2tpZXMvcmVz
b3VyY2VzL2Nvb2tpZS11dGlsaXR5LnB5P3F1ZXJ5ZnVuY3Rpb249ZGVsZXRlQ29va2llcyIsIG51
bGwsICJ0cnlTZXRDb29raWUiKTsKIAogZnVuY3Rpb24gdHJ5U2V0Q29va2llKCkKIHsKQEAgLTI2
LDcgKzI2LDcgQEAgZnVuY3Rpb24gdHJ5U2V0Q29va2llKCkKICAgIGNvbnNvbGUubG9nKCJBYm91
dCB0byBzZXQgYSBjb29raWUsIGJ1dCBvbiBsb2NhbGhvc3QgaW5zdGVhZCBvZiAxMjcuMC4wLjEs
IHdoaWNoIGlzIG91ciBtYWluIGRvY3VtZW50IGRvbWFpbiAtIFRoaXMgc2hvdWxkIGZhaWwuIik7
CiAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgICAgICB0ZXN0UnVubmVyLnNldEFsd2F5
c0FjY2VwdENvb2tpZXMoZmFsc2UpOwotICAgcGx1Z2luLmdldFVSTE5vdGlmeSgiaHR0cDovL2xv
Y2FsaG9zdDo4MDAwL2Nvb2tpZXMvcmVzb3VyY2VzL2Nvb2tpZS11dGlsaXR5LnBocD9xdWVyeWZ1
bmN0aW9uPXNldEZvb0Nvb2tpZSIsIG51bGwsICJjb21wbGV0ZVRlc3QiKTsKKyAgIHBsdWdpbi5n
ZXRVUkxOb3RpZnkoImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9jb29raWVzL3Jlc291cmNlcy9jb29r
aWUtdXRpbGl0eS5weT9xdWVyeWZ1bmN0aW9uPXNldEZvb0Nvb2tpZSIsIG51bGwsICJjb21wbGV0
ZVRlc3QiKTsKIH0KIAogZnVuY3Rpb24gY29tcGxldGVUZXN0KCkKSW5kZXg6IExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvc2VuZC1hdHRyaWJ1dGlvbi1jb252
ZXJzaW9uLXJlcXVlc3QuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3ByaXZhdGVDbGlja01lYXN1cmVtZW50L3NlbmQtYXR0cmlidXRpb24tY29udmVyc2lvbi1yZXF1
ZXN0Lmh0bWwJKHJldmlzaW9uIDI3NTE4MCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJp
dmF0ZUNsaWNrTWVhc3VyZW1lbnQvc2VuZC1hdHRyaWJ1dGlvbi1jb252ZXJzaW9uLXJlcXVlc3Qu
aHRtbAkod29ya2luZyBjb3B5KQpAQCAtNDgsMTAgKzQ4LDEwIEBACiAgICAgICAgIGRvY3VtZW50
LmJvZHkucmVtb3ZlQ2hpbGQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldExpbmsiKSk7
CiAgICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInBpeGVsIikpOwogCi0gICAgICAgIGFwcGVuZElmcmFtZSgiaHR0cDovLzEyNy4wLjAuMTo4
MDAwL2Nvb2tpZXMvcmVzb3VyY2VzL2VjaG8tY29va2llcy5waHAiKTsKKyAgICAgICAgYXBwZW5k
SWZyYW1lKCJodHRwOi8vMTI3LjAuMC4xOjgwMDAvY29va2llcy9yZXNvdXJjZXMvZWNoby1jb29r
aWVzLnB5Iik7CiAgICAgICAgIC8vIENsaWNrIHNvdXJjZS4KICAgICAgICAgYXBwZW5kSWZyYW1l
KCJodHRwOi8vMTI3LjAuMC4xOjgwMDAvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvcmVzb3VyY2Vz
L2dldENvbnZlcnNpb25EYXRhLnB5P3RpbWVvdXRfbXM9MjAwMCZyZWNpcGllbnQ9Q2xpY2tTb3Vy
Y2Umbm9uY2U9IiArIG5vbmNlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIGFwcGVuZElmcmFt
ZSgiaHR0cDovLzEyNy4wLjAuMTo4MDAwL2Nvb2tpZXMvcmVzb3VyY2VzL2VjaG8tY29va2llcy5w
aHAiLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIGFwcGVuZElmcmFtZSgiaHR0cDovLzEyNy4w
LjAuMTo4MDAwL2Nvb2tpZXMvcmVzb3VyY2VzL2VjaG8tY29va2llcy5weSIsIGZ1bmN0aW9uKCkg
ewogICAgICAgICAgICAgICAgIHJlcG9ydHNSZWNlaXZlZCsrOwogICAgICAgICAgICAgICAgIGlm
IChyZXBvcnRzUmVjZWl2ZWQgPj0gMikKICAgICAgICAgICAgICAgICAgICAgdGVhckRvd25BbmRG
aW5pc2goKTsKQEAgLTYwLDcgKzYwLDcgQEAKIAogICAgICAgICAvLyBDbGljayBkZXN0aW5hdGlv
bi4KICAgICAgICAgYXBwZW5kSWZyYW1lKCJodHRwOi8vMTI3LjAuMC4xOjgwMDAvcHJpdmF0ZUNs
aWNrTWVhc3VyZW1lbnQvcmVzb3VyY2VzL2dldENvbnZlcnNpb25EYXRhLnB5P3RpbWVvdXRfbXM9
MjAwMCZyZWNpcGllbnQ9Q2xpY2tEZXN0aW5hdGlvbiZub25jZT0iICsgbm9uY2UsIGZ1bmN0aW9u
KCkgewotICAgICAgICAgICAgYXBwZW5kSWZyYW1lKCJodHRwOi8vMTI3LjAuMC4xOjgwMDAvY29v
a2llcy9yZXNvdXJjZXMvZWNoby1jb29raWVzLnBocCIsIGZ1bmN0aW9uKCkgeworICAgICAgICAg
ICAgYXBwZW5kSWZyYW1lKCJodHRwOi8vMTI3LjAuMC4xOjgwMDAvY29va2llcy9yZXNvdXJjZXMv
ZWNoby1jb29raWVzLnB5IiwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgcmVwb3J0c1Jl
Y2VpdmVkKys7CiAgICAgICAgICAgICAgICAgaWYgKHJlcG9ydHNSZWNlaXZlZCA+PSAyKQogICAg
ICAgICAgICAgICAgICAgICB0ZWFyRG93bkFuZEZpbmlzaCgpOwpJbmRleDogTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2RlbGV0ZS1zY3JpcHQtYWNjZXNzaWJs
ZS1jb29raWVzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL2RlbGV0ZS1zY3JpcHQtYWNjZXNzaWJsZS1jb29raWVzLmh0bWwJ
KHJldmlzaW9uIDI3NTE4MCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9kZWxldGUtc2NyaXB0LWFjY2Vzc2libGUtY29va2llcy5odG1sCSh3b3JraW5n
IGNvcHkpCkBAIC01Myw3ICs1Myw3IEBACiAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJObyB0ZXN0
UnVubmVyIG9yIG5vIGludGVybmFscy4iKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAg
fQotICAgICAgICBhd2FpdCBmZXRjaCgiL2Nvb2tpZXMvcmVzb3VyY2VzL3NldC1odHRwLW9ubHkt
Y29va2llLnBocD9jb29raWVOYW1lPSIgKyBodHRwT25seUNvb2tpZU5hbWUsIHsgY3JlZGVudGlh
bHM6ICJzYW1lLW9yaWdpbiIgfSk7CisgICAgICAgIGF3YWl0IGZldGNoKCIvY29va2llcy9yZXNv
dXJjZXMvc2V0LWh0dHAtb25seS1jb29raWUucHk/Y29va2llTmFtZT0iICsgaHR0cE9ubHlDb29r
aWVOYW1lLCB7IGNyZWRlbnRpYWxzOiAic2FtZS1vcmlnaW4iIH0pOwogICAgICAgICBhd2FpdCBm
ZXRjaCgiL2Nvb2tpZXMvcmVzb3VyY2VzL3NldENvb2tpZXMuY2dpIiwgeyBoZWFkZXJzOiB7ICJT
ZXQtQ29va2llIjogc2VydmVyU2lkZUNvb2tpZU5hbWUgKyAiPTE7IHBhdGg9LzsiIH0sIGNyZWRl
bnRpYWxzOiAic2FtZS1vcmlnaW4iIH0pOwogICAgICAgICBkb2N1bWVudC5jb29raWUgPSBjbGll
bnRTaWRlQ29va2llTmFtZSArICI9MSI7CiAgICAgICAgIGNoZWNrQ29va2llcyhmYWxzZSk7Cklu
ZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvb3BlcmF0
aW5nLWRhdGVzLWFsbC1idXQtY29va2llcy1ub3QtcmVtb3ZlZC13aXRoLXVzZXItaW50ZXJhY3Rp
b24tNi1kYXlzLWFnby5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9vcGVyYXRpbmctZGF0ZXMtYWxsLWJ1dC1jb29raWVzLW5v
dC1yZW1vdmVkLXdpdGgtdXNlci1pbnRlcmFjdGlvbi02LWRheXMtYWdvLmh0bWwJKHJldmlzaW9u
IDI3NTE4MCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9vcGVyYXRpbmctZGF0ZXMtYWxsLWJ1dC1jb29raWVzLW5vdC1yZW1vdmVkLXdpdGgtdXNlci1p
bnRlcmFjdGlvbi02LWRheXMtYWdvLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTE5NCw3ICsxOTQs
NyBAQAogCiAgICAgYXN5bmMgZnVuY3Rpb24gd3JpdGVXZWJzaXRlRGF0YUFuZENvbnRpbnVlKCkg
ewogICAgICAgICAvLyBXcml0ZSBjb29raWVzLgotICAgICAgICBhd2FpdCBmZXRjaCgiL2Nvb2tp
ZXMvcmVzb3VyY2VzL3NldC1odHRwLW9ubHktY29va2llLnBocD9jb29raWVOYW1lPSIgKyBodHRw
T25seUNvb2tpZU5hbWUsIHsgY3JlZGVudGlhbHM6ICJzYW1lLW9yaWdpbiIgfSk7CisgICAgICAg
IGF3YWl0IGZldGNoKCIvY29va2llcy9yZXNvdXJjZXMvc2V0LWh0dHAtb25seS1jb29raWUucHk/
Y29va2llTmFtZT0iICsgaHR0cE9ubHlDb29raWVOYW1lLCB7IGNyZWRlbnRpYWxzOiAic2FtZS1v
cmlnaW4iIH0pOwogICAgICAgICBhd2FpdCBmZXRjaCgiL2Nvb2tpZXMvcmVzb3VyY2VzL3NldENv
b2tpZXMuY2dpIiwgeyBoZWFkZXJzOiB7ICJTZXQtQ29va2llIjogc2VydmVyU2lkZUNvb2tpZU5h
bWUgKyAiPTE7IHBhdGg9LzsiIH0sIGNyZWRlbnRpYWxzOiAic2FtZS1vcmlnaW4iIH0pOwogICAg
ICAgICBkb2N1bWVudC5jb29raWUgPSBjbGllbnRTaWRlQ29va2llTmFtZSArICI9MSI7CiAKSW5k
ZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9vcGVyYXRp
bmctZGF0ZXMtYWxsLWJ1dC1jb29raWVzLXJlbW92ZWQtd2l0aC11c2VyLWludGVyYWN0aW9uLTct
ZGF5cy1hZ28uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3Mvb3BlcmF0aW5nLWRhdGVzLWFsbC1idXQtY29va2llcy1yZW1vdmVk
LXdpdGgtdXNlci1pbnRlcmFjdGlvbi03LWRheXMtYWdvLmh0bWwJKHJldmlzaW9uIDI3NTE4MCkK
KysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9vcGVyYXRp
bmctZGF0ZXMtYWxsLWJ1dC1jb29raWVzLXJlbW92ZWQtd2l0aC11c2VyLWludGVyYWN0aW9uLTct
ZGF5cy1hZ28uaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMTk0LDcgKzE5NCw3IEBACiAKICAgICBh
c3luYyBmdW5jdGlvbiB3cml0ZVdlYnNpdGVEYXRhQW5kQ29udGludWUoKSB7CiAgICAgICAgIC8v
IFdyaXRlIGNvb2tpZXMuCi0gICAgICAgIGF3YWl0IGZldGNoKCIvY29va2llcy9yZXNvdXJjZXMv
c2V0LWh0dHAtb25seS1jb29raWUucGhwP2Nvb2tpZU5hbWU9IiArIGh0dHBPbmx5Q29va2llTmFt
ZSwgeyBjcmVkZW50aWFsczogInNhbWUtb3JpZ2luIiB9KTsKKyAgICAgICAgYXdhaXQgZmV0Y2go
Ii9jb29raWVzL3Jlc291cmNlcy9zZXQtaHR0cC1vbmx5LWNvb2tpZS5weT9jb29raWVOYW1lPSIg
KyBodHRwT25seUNvb2tpZU5hbWUsIHsgY3JlZGVudGlhbHM6ICJzYW1lLW9yaWdpbiIgfSk7CiAg
ICAgICAgIGF3YWl0IGZldGNoKCIvY29va2llcy9yZXNvdXJjZXMvc2V0Q29va2llcy5jZ2kiLCB7
IGhlYWRlcnM6IHsgIlNldC1Db29raWUiOiBzZXJ2ZXJTaWRlQ29va2llTmFtZSArICI9MTsgcGF0
aD0vOyIgfSwgY3JlZGVudGlhbHM6ICJzYW1lLW9yaWdpbiIgfSk7CiAgICAgICAgIGRvY3VtZW50
LmNvb2tpZSA9IGNsaWVudFNpZGVDb29raWVOYW1lICsgIj0xIjsKIApJbmRleDogTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL29wZXJhdGluZy1kYXRlcy1hbGwt
d2Vic2l0ZS1kYXRhLXJlbW92ZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvb3BlcmF0aW5nLWRhdGVzLWFsbC13ZWJzaXRl
LWRhdGEtcmVtb3ZlZC5odG1sCShyZXZpc2lvbiAyNzUxODApCisrKyBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvb3BlcmF0aW5nLWRhdGVzLWFsbC13ZWJzaXRl
LWRhdGEtcmVtb3ZlZC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xOTQsNyArMTk0LDcgQEAKIAog
ICAgIGFzeW5jIGZ1bmN0aW9uIHdyaXRlV2Vic2l0ZURhdGFBbmRDb250aW51ZSgpIHsKICAgICAg
ICAgLy8gV3JpdGUgY29va2llcy4KLSAgICAgICAgYXdhaXQgZmV0Y2goIi9jb29raWVzL3Jlc291
cmNlcy9zZXQtaHR0cC1vbmx5LWNvb2tpZS5waHA/Y29va2llTmFtZT0iICsgaHR0cE9ubHlDb29r
aWVOYW1lLCB7IGNyZWRlbnRpYWxzOiAic2FtZS1vcmlnaW4iIH0pOworICAgICAgICBhd2FpdCBm
ZXRjaCgiL2Nvb2tpZXMvcmVzb3VyY2VzL3NldC1odHRwLW9ubHktY29va2llLnB5P2Nvb2tpZU5h
bWU9IiArIGh0dHBPbmx5Q29va2llTmFtZSwgeyBjcmVkZW50aWFsczogInNhbWUtb3JpZ2luIiB9
KTsKICAgICAgICAgYXdhaXQgZmV0Y2goIi9jb29raWVzL3Jlc291cmNlcy9zZXRDb29raWVzLmNn
aSIsIHsgaGVhZGVyczogeyAiU2V0LUNvb2tpZSI6IHNlcnZlclNpZGVDb29raWVOYW1lICsgIj0x
OyBwYXRoPS87IiB9LCBjcmVkZW50aWFsczogInNhbWUtb3JpZ2luIiB9KTsKICAgICAgICAgZG9j
dW1lbnQuY29va2llID0gY2xpZW50U2lkZUNvb2tpZU5hbWUgKyAiPTEiOwogCkluZGV4OiBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc3RhbmRhbG9uZS13ZWIt
YXBwbGljYXRpb24tZXhlbXB0LWZyb20td2Vic2l0ZS1kYXRhLWRlbGV0aW9uLmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3N0
YW5kYWxvbmUtd2ViLWFwcGxpY2F0aW9uLWV4ZW1wdC1mcm9tLXdlYnNpdGUtZGF0YS1kZWxldGlv
bi5odG1sCShyZXZpc2lvbiAyNzUxODApCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3Mvc3RhbmRhbG9uZS13ZWItYXBwbGljYXRpb24tZXhlbXB0LWZyb20t
d2Vic2l0ZS1kYXRhLWRlbGV0aW9uLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTE5Niw3ICsxOTYs
NyBAQAogCiAgICAgYXN5bmMgZnVuY3Rpb24gd3JpdGVXZWJzaXRlRGF0YUFuZENvbnRpbnVlKCkg
ewogICAgICAgICAvLyBXcml0ZSBjb29raWVzLgotICAgICAgICBhd2FpdCBmZXRjaCgiL2Nvb2tp
ZXMvcmVzb3VyY2VzL3NldC1odHRwLW9ubHktY29va2llLnBocD9jb29raWVOYW1lPSIgKyBodHRw
T25seUNvb2tpZU5hbWUsIHsgY3JlZGVudGlhbHM6ICJzYW1lLW9yaWdpbiIgfSk7CisgICAgICAg
IGF3YWl0IGZldGNoKCIvY29va2llcy9yZXNvdXJjZXMvc2V0LWh0dHAtb25seS1jb29raWUucHk/
Y29va2llTmFtZT0iICsgaHR0cE9ubHlDb29raWVOYW1lLCB7IGNyZWRlbnRpYWxzOiAic2FtZS1v
cmlnaW4iIH0pOwogICAgICAgICBhd2FpdCBmZXRjaCgiL2Nvb2tpZXMvcmVzb3VyY2VzL3NldENv
b2tpZXMuY2dpIiwgeyBoZWFkZXJzOiB7ICJTZXQtQ29va2llIjogc2VydmVyU2lkZUNvb2tpZU5h
bWUgKyAiPTE7IHBhdGg9LzsiIH0sIGNyZWRlbnRpYWxzOiAic2FtZS1vcmlnaW4iIH0pOwogICAg
ICAgICBkb2N1bWVudC5jb29raWUgPSBjbGllbnRTaWRlQ29va2llTmFtZSArICI9MSI7CiAKSW5k
ZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy93ZWJzaXRl
LWRhdGEtcmVtb3ZhbC1mb3Itc2l0ZS1uYXZpZ2F0ZWQtdG8td2l0aC1saW5rLWRlY29yYXRpb24u
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3Mvd2Vic2l0ZS1kYXRhLXJlbW92YWwtZm9yLXNpdGUtbmF2aWdhdGVkLXRvLXdpdGgt
bGluay1kZWNvcmF0aW9uLmh0bWwJKHJldmlzaW9uIDI3NTE4MCkKKysrIExheW91dFRlc3RzL2h0
dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy93ZWJzaXRlLWRhdGEtcmVtb3ZhbC1mb3It
c2l0ZS1uYXZpZ2F0ZWQtdG8td2l0aC1saW5rLWRlY29yYXRpb24uaHRtbAkod29ya2luZyBjb3B5
KQpAQCAtMTk1LDcgKzE5NSw3IEBACiAKICAgICBhc3luYyBmdW5jdGlvbiB3cml0ZVdlYnNpdGVE
YXRhQW5kQ29udGludWUoKSB7CiAgICAgICAgIC8vIFdyaXRlIGNvb2tpZXMuCi0gICAgICAgIGF3
YWl0IGZldGNoKCIvY29va2llcy9yZXNvdXJjZXMvc2V0LWh0dHAtb25seS1jb29raWUucGhwP2Nv
b2tpZU5hbWU9IiArIGh0dHBPbmx5Q29va2llTmFtZSwgeyBjcmVkZW50aWFsczogInNhbWUtb3Jp
Z2luIiB9KTsKKyAgICAgICAgYXdhaXQgZmV0Y2goIi9jb29raWVzL3Jlc291cmNlcy9zZXQtaHR0
cC1vbmx5LWNvb2tpZS5weT9jb29raWVOYW1lPSIgKyBodHRwT25seUNvb2tpZU5hbWUsIHsgY3Jl
ZGVudGlhbHM6ICJzYW1lLW9yaWdpbiIgfSk7CiAgICAgICAgIGF3YWl0IGZldGNoKCIvY29va2ll
cy9yZXNvdXJjZXMvc2V0Q29va2llcy5jZ2kiLCB7IGhlYWRlcnM6IHsgIlNldC1Db29raWUiOiBz
ZXJ2ZXJTaWRlQ29va2llTmFtZSArICI9MTsgcGF0aD0vOyIgfSwgY3JlZGVudGlhbHM6ICJzYW1l
LW9yaWdpbiIgfSk7CiAgICAgICAgIGRvY3VtZW50LmNvb2tpZSA9IGNsaWVudFNpZGVDb29raWVO
YW1lICsgIj0xIjsKIApJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL3dlYnNpdGUtZGF0YS1yZW1vdmFsLWZvci1zaXRlLXdpdGgtdXNlci1pbnRlcmFj
dGlvbi5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy93ZWJzaXRlLWRhdGEtcmVtb3ZhbC1mb3Itc2l0ZS13aXRoLXVzZXItaW50
ZXJhY3Rpb24uaHRtbAkocmV2aXNpb24gMjc1MTgwKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3dlYnNpdGUtZGF0YS1yZW1vdmFsLWZvci1zaXRlLXdp
dGgtdXNlci1pbnRlcmFjdGlvbi5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xOTUsNyArMTk1LDcg
QEAKIAogICAgIGFzeW5jIGZ1bmN0aW9uIHdyaXRlV2Vic2l0ZURhdGFBbmRDb250aW51ZSgpIHsK
ICAgICAgICAgLy8gV3JpdGUgY29va2llcy4KLSAgICAgICAgYXdhaXQgZmV0Y2goIi9jb29raWVz
L3Jlc291cmNlcy9zZXQtaHR0cC1vbmx5LWNvb2tpZS5waHA/Y29va2llTmFtZT0iICsgaHR0cE9u
bHlDb29raWVOYW1lLCB7IGNyZWRlbnRpYWxzOiAic2FtZS1vcmlnaW4iIH0pOworICAgICAgICBh
d2FpdCBmZXRjaCgiL2Nvb2tpZXMvcmVzb3VyY2VzL3NldC1odHRwLW9ubHktY29va2llLnB5P2Nv
b2tpZU5hbWU9IiArIGh0dHBPbmx5Q29va2llTmFtZSwgeyBjcmVkZW50aWFsczogInNhbWUtb3Jp
Z2luIiB9KTsKICAgICAgICAgYXdhaXQgZmV0Y2goIi9jb29raWVzL3Jlc291cmNlcy9zZXRDb29r
aWVzLmNnaSIsIHsgaGVhZGVyczogeyAiU2V0LUNvb2tpZSI6IHNlcnZlclNpZGVDb29raWVOYW1l
ICsgIj0xOyBwYXRoPS87IiB9LCBjcmVkZW50aWFsczogInNhbWUtb3JpZ2luIiB9KTsKICAgICAg
ICAgZG9jdW1lbnQuY29va2llID0gY2xpZW50U2lkZUNvb2tpZU5hbWUgKyAiPTEiOwogCkluZGV4
OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvd2Vic2l0ZS1k
YXRhLXJlbW92YWwtZm9yLXNpdGUtd2l0aG91dC11c2VyLWludGVyYWN0aW9uLmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3dl
YnNpdGUtZGF0YS1yZW1vdmFsLWZvci1zaXRlLXdpdGhvdXQtdXNlci1pbnRlcmFjdGlvbi5odG1s
CShyZXZpc2lvbiAyNzUxODApCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3Mvd2Vic2l0ZS1kYXRhLXJlbW92YWwtZm9yLXNpdGUtd2l0aG91dC11c2VyLWlu
dGVyYWN0aW9uLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTE5NSw3ICsxOTUsNyBAQAogCiAgICAg
YXN5bmMgZnVuY3Rpb24gd3JpdGVXZWJzaXRlRGF0YUFuZENvbnRpbnVlKCkgewogICAgICAgICAv
LyBXcml0ZSBjb29raWVzLgotICAgICAgICBhd2FpdCBmZXRjaCgiL2Nvb2tpZXMvcmVzb3VyY2Vz
L3NldC1odHRwLW9ubHktY29va2llLnBocD9jb29raWVOYW1lPSIgKyBodHRwT25seUNvb2tpZU5h
bWUsIHsgY3JlZGVudGlhbHM6ICJzYW1lLW9yaWdpbiIgfSk7CisgICAgICAgIGF3YWl0IGZldGNo
KCIvY29va2llcy9yZXNvdXJjZXMvc2V0LWh0dHAtb25seS1jb29raWUucHk/Y29va2llTmFtZT0i
ICsgaHR0cE9ubHlDb29raWVOYW1lLCB7IGNyZWRlbnRpYWxzOiAic2FtZS1vcmlnaW4iIH0pOwog
ICAgICAgICBhd2FpdCBmZXRjaCgiL2Nvb2tpZXMvcmVzb3VyY2VzL3NldENvb2tpZXMuY2dpIiwg
eyBoZWFkZXJzOiB7ICJTZXQtQ29va2llIjogc2VydmVyU2lkZUNvb2tpZU5hbWUgKyAiPTE7IHBh
dGg9LzsiIH0sIGNyZWRlbnRpYWxzOiAic2FtZS1vcmlnaW4iIH0pOwogICAgICAgICBkb2N1bWVu
dC5jb29raWUgPSBjbGllbnRTaWRlQ29va2llTmFtZSArICI9MSI7CiAKSW5kZXg6IExheW91dFRl
c3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9leGVtcHREb21haW5zL2FwcC1i
b3VuZC1kb21haW5zLWV4ZW1wdC1mcm9tLXdlYnNpdGUtZGF0YS1kZWxldGlvbi1kYXRhYmFzZS5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9leGVtcHREb21haW5zL2FwcC1ib3VuZC1kb21haW5zLWV4ZW1wdC1mcm9tLXdlYnNp
dGUtZGF0YS1kZWxldGlvbi1kYXRhYmFzZS5odG1sCShyZXZpc2lvbiAyNzUxODApCisrKyBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvZXhlbXB0RG9tYWlucy9h
cHAtYm91bmQtZG9tYWlucy1leGVtcHQtZnJvbS13ZWJzaXRlLWRhdGEtZGVsZXRpb24tZGF0YWJh
c2UuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMTk1LDcgKzE5NSw3IEBACiAKICAgICBhc3luYyBm
dW5jdGlvbiB3cml0ZVdlYnNpdGVEYXRhQW5kQ29udGludWUoKSB7CiAgICAgICAgIC8vIFdyaXRl
IGNvb2tpZXMuCi0gICAgICAgIGF3YWl0IGZldGNoKCIvY29va2llcy9yZXNvdXJjZXMvc2V0LWh0
dHAtb25seS1jb29raWUucGhwP2Nvb2tpZU5hbWU9IiArIGh0dHBPbmx5Q29va2llTmFtZSwgeyBj
cmVkZW50aWFsczogInNhbWUtb3JpZ2luIiB9KTsKKyAgICAgICAgYXdhaXQgZmV0Y2goIi9jb29r
aWVzL3Jlc291cmNlcy9zZXQtaHR0cC1vbmx5LWNvb2tpZS5weT9jb29raWVOYW1lPSIgKyBodHRw
T25seUNvb2tpZU5hbWUsIHsgY3JlZGVudGlhbHM6ICJzYW1lLW9yaWdpbiIgfSk7CiAgICAgICAg
IGF3YWl0IGZldGNoKCIvY29va2llcy9yZXNvdXJjZXMvc2V0Q29va2llcy5jZ2kiLCB7IGhlYWRl
cnM6IHsgIlNldC1Db29raWUiOiBzZXJ2ZXJTaWRlQ29va2llTmFtZSArICI9MTsgcGF0aD0vOyIg
fSwgY3JlZGVudGlhbHM6ICJzYW1lLW9yaWdpbiIgfSk7CiAgICAgICAgIGRvY3VtZW50LmNvb2tp
ZSA9IGNsaWVudFNpZGVDb29raWVOYW1lICsgIj0xIjsKIApJbmRleDogTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2V4ZW1wdERvbWFpbnMvYXBwLWJvdW5kLWRv
bWFpbnMtZXhlbXB0LWZyb20td2Vic2l0ZS1kYXRhLWRlbGV0aW9uLmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2V4ZW1wdERv
bWFpbnMvYXBwLWJvdW5kLWRvbWFpbnMtZXhlbXB0LWZyb20td2Vic2l0ZS1kYXRhLWRlbGV0aW9u
Lmh0bWwJKHJldmlzaW9uIDI3NTE4MCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9leGVtcHREb21haW5zL2FwcC1ib3VuZC1kb21haW5zLWV4ZW1wdC1m
cm9tLXdlYnNpdGUtZGF0YS1kZWxldGlvbi5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xOTUsNyAr
MTk1LDcgQEAKIAogICAgIGFzeW5jIGZ1bmN0aW9uIHdyaXRlV2Vic2l0ZURhdGFBbmRDb250aW51
ZSgpIHsKICAgICAgICAgLy8gV3JpdGUgY29va2llcy4KLSAgICAgICAgYXdhaXQgZmV0Y2goIi9j
b29raWVzL3Jlc291cmNlcy9zZXQtaHR0cC1vbmx5LWNvb2tpZS5waHA/Y29va2llTmFtZT0iICsg
aHR0cE9ubHlDb29raWVOYW1lLCB7IGNyZWRlbnRpYWxzOiAic2FtZS1vcmlnaW4iIH0pOworICAg
ICAgICBhd2FpdCBmZXRjaCgiL2Nvb2tpZXMvcmVzb3VyY2VzL3NldC1odHRwLW9ubHktY29va2ll
LnB5P2Nvb2tpZU5hbWU9IiArIGh0dHBPbmx5Q29va2llTmFtZSwgeyBjcmVkZW50aWFsczogInNh
bWUtb3JpZ2luIiB9KTsKICAgICAgICAgYXdhaXQgZmV0Y2goIi9jb29raWVzL3Jlc291cmNlcy9z
ZXRDb29raWVzLmNnaSIsIHsgaGVhZGVyczogeyAiU2V0LUNvb2tpZSI6IHNlcnZlclNpZGVDb29r
aWVOYW1lICsgIj0xOyBwYXRoPS87IiB9LCBjcmVkZW50aWFsczogInNhbWUtb3JpZ2luIiB9KTsK
ICAgICAgICAgZG9jdW1lbnQuY29va2llID0gY2xpZW50U2lkZUNvb2tpZU5hbWUgKyAiPTEiOwog
CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVz
b3VyY2VzL3NldC1jb29raWUtb24tcmVkaXJlY3QucHkKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3Jlc291cmNlcy9zZXQtY29va2ll
LW9uLXJlZGlyZWN0LnB5CShyZXZpc2lvbiAyNzUxODApCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVzb3VyY2VzL3NldC1jb29raWUtb24tcmVkaXJl
Y3QucHkJKHdvcmtpbmcgY29weSkKQEAgLTEyLDE0ICsxMiwxNCBAQCBzeXMuc3Rkb3V0LndyaXRl
KCdDb250ZW50LVR5cGU6IHRleHQvaHRtCiBpZiBzdGVwID09IDE6CiAgICAgc3lzLnN0ZG91dC53
cml0ZSgKICAgICAgICAgJ3N0YXR1czogMzAyXHJcbicKLSAgICAgICAgJ0xvY2F0aW9uOiBodHRw
Oi8vbG9jYWxob3N0OjgwMDAvY29va2llcy9yZXNvdXJjZXMvc2V0LWNvb2tpZS1vbi1yZWRpcmVj
dC5waHA/c3RlcD0yXHJcblxyXG4nCisgICAgICAgICdMb2NhdGlvbjogaHR0cDovL2xvY2FsaG9z
dDo4MDAwL2Nvb2tpZXMvcmVzb3VyY2VzL3NldC1jb29raWUtb24tcmVkaXJlY3QucHk/c3RlcD0y
XHJcblxyXG4nCiAgICAgKQogZWxpZiBzdGVwID09IDI6CiAgICAgZXhwaXJlcyA9IGRhdGV0aW1l
LnV0Y25vdygpICsgdGltZWRlbHRhKHNlY29uZHM9ODY0MDApCiAgICAgc3lzLnN0ZG91dC53cml0
ZSgKICAgICAgICAgJ3N0YXR1czogMzAyXHJcbicKICAgICAgICAgJ1NldC1Db29raWU6IHRlc3Rf
Y29va2llPTE7IGV4cGlyZXM9e30gR01UOyBNYXgtQWdlPTg2NDAwXHJcbicKLSAgICAgICAgJ0xv
Y2F0aW9uOiBodHRwOi8vbG9jYWxob3N0OjgwMDAvY29va2llcy9yZXNvdXJjZXMvc2V0LWNvb2tp
ZS1vbi1yZWRpcmVjdC5waHA/c3RlcD0zXHJcblxyXG4nLmZvcm1hdChleHBpcmVzLnN0cmZ0aW1l
KCclYSwgJWQtJWItJVkgJUg6JU06JVMnKSkKKyAgICAgICAgJ0xvY2F0aW9uOiBodHRwOi8vbG9j
YWxob3N0OjgwMDAvY29va2llcy9yZXNvdXJjZXMvc2V0LWNvb2tpZS1vbi1yZWRpcmVjdC5weT9z
dGVwPTNcclxuXHJcbicuZm9ybWF0KGV4cGlyZXMuc3RyZnRpbWUoJyVhLCAlZC0lYi0lWSAlSDol
TTolUycpKQogICAgICkKIGVsaWYgc3RlcCA9PSAzOgogICAgIGNvb2tpZXMgPSB7fQpJbmRleDog
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZXMvX19pbml0X18ucHkKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZXMvX19pbml0X18ucHkJKHJldmlzaW9u
IDI3NTE4MCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VzL19faW5pdF9fLnB5
CShub25leGlzdGVudCkKQEAgLTEsMjEgKzAsMCBAQAotIyBDb3B5cmlnaHQgKEMpIDIwMjEgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotIwotIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSMgbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
Ci0jIGFyZSBtZXQ6Ci0jIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotIyAyLiAgUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSMg
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKLSMgICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0jCi0jIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORAot
IyBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRAotIyBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCi0jIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SCi0jIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwKLSMgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IKLSMgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIKLSMgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKLSMgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSMg
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2h0dHAvdGVzdHMv
cmVzb3VyY2VzL19faW5pdF9fLnB5Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KRGVsZXRlZDogc3ZuOmV4ZWN1dGFibGUK
IyMgLTEgKzAsMCAjIwotKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlcy9wb3J0YWJpbGl0eUxheWVyLnB5Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VzL3BvcnRhYmlsaXR5TGF5
ZXIucHkJKHJldmlzaW9uIDI3NTE4MCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3Vy
Y2VzL3BvcnRhYmlsaXR5TGF5ZXIucHkJKHdvcmtpbmcgY29weSkKQEAgLTIyLDYgKzIyLDE3IEBA
CiAKIGltcG9ydCBvcwogCitkZWYgZ2V0X2Nvb2tpZXMoKToKKyAgICBjb29raWVzID0ge30KKyAg
ICBpZiAnSFRUUF9DT09LSUUnIGluIG9zLmVudmlyb246CisgICAgICAgIGhlYWRlcl9jb29raWVz
ID0gb3MuZW52aXJvblsnSFRUUF9DT09LSUUnXQorICAgICAgICBoZWFkZXJfY29va2llcyA9IGhl
YWRlcl9jb29raWVzLnNwbGl0KCc7ICcpCisKKyAgICAgICAgZm9yIGNvb2tpZSBpbiBoZWFkZXJf
Y29va2llczoKKyAgICAgICAgICAgIGNvb2tpZSA9IGNvb2tpZS5zcGxpdCgnPScpCisgICAgICAg
ICAgICBjb29raWVzW2Nvb2tpZVswXV0gPSBjb29raWVbMV0KKworICAgIHJldHVybiBjb29raWVz
CiAKIGRlZiBzZXRTdGF0ZShzdGF0ZSwgZmlsZSk6CiAgICAgd2l0aCBvcGVuKGZpbGUsICd3Jykg
YXMgZmlsZToKQEAgLTMzLDQgKzQ0LDQgQEAgZGVmIGdldFN0YXRlKGZpbGUsIGRlZmF1bHQ9J1Vu
aW5pdGlhbGl6ZQogICAgIGlmIG5vdCBvcy5wYXRoLmlzZmlsZShmaWxlKToKICAgICAgICAgcmV0
dXJuIGRlZmF1bHQKICAgICB3aXRoIG9wZW4oZmlsZSwgJ3InKSBhcyBmaWxlOgotICAgICAgICBy
ZXR1cm4gZmlsZS5yZWFkKCkKKyAgICAgICAgcmV0dXJuIGZpbGUucmVhZCgpClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9j
b29raWVzL3RoaXJkLXBhcnR5LWNvb2tpZS1ibG9ja2luZy1yZWRpcmVjdC5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29va2llcy90aGlyZC1wYXJ0
eS1jb29raWUtYmxvY2tpbmctcmVkaXJlY3QuaHRtbAkocmV2aXNpb24gMjc1MTgwKQorKysgTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb29raWVzL3RoaXJkLXBhcnR5LWNvb2tpZS1i
bG9ja2luZy1yZWRpcmVjdC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xNSw0ICsxNSw0IEBAIGlm
ICh3aW5kb3cudGVzdFJ1bm5lcikgewogPC9zY3JpcHQ+CiAKIDxwPkNoZWNrcyB0aGF0IHN1YnJl
c291cmNlcyB0aGF0IGdvdCByZWRpcmVjdGVkIGRvIG5vdCBjaXJjdW12ZW50IHRoaXJkLXBhcnR5
IGNvb2tpZSBydWxlcy48YnI+VGhpcyB0ZXN0IFBBU1MgaWYgeW91IGNhbiBzZWUgdGhlIHRleHQg
IkZBSUxFRDogQ29va2llIG5vdCBzZXQiLjwvcD4KLTxpZnJhbWUgb25sb2FkPSJ0ZXN0IiBzcmM9
Imh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9jb29raWVzL3Jlc291cmNlcy9zZXQtY29va2llLW9uLXJl
ZGlyZWN0LnBocD9zdGVwPTEiPjwvaWZyYW1lPgorPGlmcmFtZSBvbmxvYWQ9InRlc3QiIHNyYz0i
aHR0cDovL2xvY2FsaG9zdDo4MDAwL2Nvb2tpZXMvcmVzb3VyY2VzL3NldC1jb29raWUtb24tcmVk
aXJlY3QucHk/c3RlcD0xIj48L2lmcmFtZT4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMv
d2Vic29ja2V0L3Rlc3RzL2h5Ymkvd2Vic29ja2V0LWFsbG93ZWQtc2V0dGluZy1jb29raWUtYXMt
dGhpcmQtcGFydHkuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dl
YnNvY2tldC90ZXN0cy9oeWJpL3dlYnNvY2tldC1hbGxvd2VkLXNldHRpbmctY29va2llLWFzLXRo
aXJkLXBhcnR5Lmh0bWwJKHJldmlzaW9uIDI3NTE4MCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVz
dHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvd2Vic29ja2V0LWFsbG93ZWQtc2V0dGluZy1jb29raWUt
YXMtdGhpcmQtcGFydHkuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMTIsNyArMTIsNyBAQAogICAg
ICAgICAgICAgZGVidWcoIjxicj5TZXR0aW5nIHRoaXJkLXBhcnR5IGNvb2tpZSAnZm9vJyB0aHJv
dWdoIGNyb3NzLW9yaWdpbiBXZWJTb2NrZXQgaGFuZHNoYWtlLiIpOwogICAgICAgICAgICAgYXdh
aXQgc2V0Q29va2llVXNpbmdXZWJTb2NrZXRGcm9tSG9zdCgibG9jYWxob3N0Iik7CiAgICAgICAg
ICAgICBsZXQgaWZyYW1lRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIp
OwotICAgICAgICAgICAgaWZyYW1lRWxlbWVudC5zcmMgPSAiaHR0cDovL2xvY2FsaG9zdDo4MDAw
L2Nvb2tpZXMvcmVzb3VyY2VzL2VjaG8tY29va2llcy5waHAiOworICAgICAgICAgICAgaWZyYW1l
RWxlbWVudC5zcmMgPSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwL2Nvb2tpZXMvcmVzb3VyY2VzL2Vj
aG8tY29va2llcy5weSI7CiAgICAgICAgICAgICBpZnJhbWVFbGVtZW50Lm9ubG9hZCA9IGZpbmlz
aEpTVGVzdDsKICAgICAgICAgICAgIGRlYnVnKCI8YnI+T3BlbmluZyBsb2NhbGhvc3QgdGhpcmQt
cGFydHkgaWZyYW1lIHRvIGNoZWNrIGl0cyBjb29raWVzLiIpOwogICAgICAgICAgICAgZG9jdW1l
bnQuYm9keS5hcHBlbmRDaGlsZChpZnJhbWVFbGVtZW50KTsKSW5kZXg6IExheW91dFRlc3RzL2h0
dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvd2Vic29ja2V0LWJsb2NrZWQtZnJvbS1zZXR0
aW5nLWNvb2tpZS1hcy10aGlyZC1wYXJ0eS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvd2Vic29ja2V0LWJsb2NrZWQtZnJvbS1z
ZXR0aW5nLWNvb2tpZS1hcy10aGlyZC1wYXJ0eS5odG1sCShyZXZpc2lvbiAyNzUxODApCisrKyBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3dlYnNvY2tldC1ibG9j
a2VkLWZyb20tc2V0dGluZy1jb29raWUtYXMtdGhpcmQtcGFydHkuaHRtbAkod29ya2luZyBjb3B5
KQpAQCAtMTMsNyArMTMsNyBAQAogICAgICAgICAgICAgZGVidWcoIjxicj5BdHRlbXB0aW5nIHRv
IHNldCB0aGlyZC1wYXJ0eSBjb29raWUgJ2ZvbycgdGhyb3VnaCBjcm9zcy1vcmlnaW4gV2ViU29j
a2V0IGhhbmRzaGFrZS4iKTsKICAgICAgICAgICAgIGF3YWl0IHNldENvb2tpZVVzaW5nV2ViU29j
a2V0RnJvbUhvc3QoImxvY2FsaG9zdCIpOwogICAgICAgICAgICAgbGV0IGlmcmFtZUVsZW1lbnQg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsKLSAgICAgICAgICAgIGlmcmFtZUVs
ZW1lbnQuc3JjID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9jb29raWVzL3Jlc291cmNlcy9lY2hv
LWNvb2tpZXMucGhwIjsKKyAgICAgICAgICAgIGlmcmFtZUVsZW1lbnQuc3JjID0gImh0dHA6Ly9s
b2NhbGhvc3Q6ODAwMC9jb29raWVzL3Jlc291cmNlcy9lY2hvLWNvb2tpZXMucHkiOwogICAgICAg
ICAgICAgaWZyYW1lRWxlbWVudC5vbmxvYWQgPSBmaW5pc2hKU1Rlc3Q7CiAgICAgICAgICAgICBk
ZWJ1ZygiPGJyPk9wZW5pbmcgbG9jYWxob3N0IHRoaXJkLXBhcnR5IGlmcmFtZSB0byBjaGVjayBp
dHMgY29va2llcy4iKTsKICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJvdXRw
dXQiKS5hcHBlbmRDaGlsZChpZnJhbWVFbGVtZW50KTsKSW5kZXg6IExheW91dFRlc3RzL2h0dHAv
dGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvd2Vic29ja2V0LWNvb2tpZS1vdmVyd3JpdGUtYmVo
YXZpb3IuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tl
dC90ZXN0cy9oeWJpL3dlYnNvY2tldC1jb29raWUtb3ZlcndyaXRlLWJlaGF2aW9yLmh0bWwJKHJl
dmlzaW9uIDI3NTE4MCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3Rz
L2h5Ymkvd2Vic29ja2V0LWNvb2tpZS1vdmVyd3JpdGUtYmVoYXZpb3IuaHRtbAkod29ya2luZyBj
b3B5KQpAQCAtNTYsNyArNTYsNyBAQCBhc3luYyBmdW5jdGlvbiBydW5UZXN0cygpCiAgICAgICAg
ICAgICBkZWJ1ZygiU2V0dGluZyB0aGlyZC1wYXJ0eSBjb29raWUgJ2ZvbycgdGhyb3VnaCBjcm9z
cy1vcmlnaW4gV2ViU29ja2V0IGhhbmRzaGFrZSBhbmQgY2hlY2tpbmcgdGhhdCBpdCBkb2Vzbid0
IHdyaXRlIGZpcnN0LXBhcnR5IGNvb2tpZXMuIik7CiAgICAgICAgICAgICBhd2FpdCB0ZXN0Q3Jv
c3NPcmlnaW5Db29raWUoKTsKICAgICAgICAgICAgIGxldCBpZnJhbWVFbGVtZW50ID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7Ci0gICAgICAgICAgICBpZnJhbWVFbGVtZW50LnNy
YyA9ICJodHRwOi8vbG9jYWxob3N0OjgwMDAvY29va2llcy9yZXNvdXJjZXMvZWNoby1jb29raWVz
LnBocCI7CisgICAgICAgICAgICBpZnJhbWVFbGVtZW50LnNyYyA9ICJodHRwOi8vbG9jYWxob3N0
OjgwMDAvY29va2llcy9yZXNvdXJjZXMvZWNoby1jb29raWVzLnB5IjsKICAgICAgICAgICAgIGlm
cmFtZUVsZW1lbnQub25sb2FkID0gZmluaXNoSlNUZXN0OwogICAgICAgICAgICAgZGVidWcoIjxi
cj5PcGVuaW5nIGxvY2FsaG9zdCB0aGlyZC1wYXJ0eSBpZnJhbWUgdG8gY2hlY2sgaXRzIGNvb2tp
ZXMuIik7CiAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGlmcmFtZUVsZW1l
bnQpOwpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9hY2Nlc3Mt
Y29udHJvbC1wcmVmbGlnaHQtY3JlZGVudGlhbC1hc3luYy1leHBlY3RlZC50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9hY2Nlc3MtY29udHJv
bC1wcmVmbGlnaHQtY3JlZGVudGlhbC1hc3luYy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDI3NTE4
MCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvYWNjZXNzLWNvbnRy
b2wtcHJlZmxpZ2h0LWNyZWRlbnRpYWwtYXN5bmMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC0xLDQgKzEsNCBAQAotQ09OU09MRSBNRVNTQUdFOiBodHRwOi8vbG9jYWxob3N0OjgwMDAv
Y29va2llcy9yZXNvdXJjZXMvY29va2llLXV0aWxpdHkucGhwP3F1ZXJ5ZnVuY3Rpb249c2V0Rm9v
Q29va2llCitDT05TT0xFIE1FU1NBR0U6IGh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9jb29raWVzL3Jl
c291cmNlcy9jb29raWUtdXRpbGl0eS5weT9xdWVyeWZ1bmN0aW9uPXNldEZvb0Nvb2tpZQogQ09O
U09MRSBNRVNTQUdFOiBYSFIgcmVzcG9uc2UgLSBTZXQgdGhlIGZvbyBjb29raWUKIFRlc3QgY2Fz
ZSBmb3IgYnVnIDM3NzgxOiBbWEhSXSBDcm9zcy1PcmlnaW4gYXN5bmNocm9ub3VzIHJlcXVlc3Qg
d2l0aCBjcmVkZW50aWFsIHJhaXNlcyBORVRXT1JLX0VSUgogCkluZGV4OiBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L2FjY2Vzcy1jb250cm9sLXByZWZsaWdodC1jcmVkZW50
aWFsLXN5bmMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVz
dHMveG1saHR0cHJlcXVlc3QvYWNjZXNzLWNvbnRyb2wtcHJlZmxpZ2h0LWNyZWRlbnRpYWwtc3lu
Yy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDI3NTE4MCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVz
dHMveG1saHR0cHJlcXVlc3QvYWNjZXNzLWNvbnRyb2wtcHJlZmxpZ2h0LWNyZWRlbnRpYWwtc3lu
Yy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNCArMSw0IEBACi1DT05TT0xFIE1F
U1NBR0U6IGh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9jb29raWVzL3Jlc291cmNlcy9jb29raWUtdXRp
bGl0eS5waHA/cXVlcnlmdW5jdGlvbj1zZXRGb29Db29raWUKK0NPTlNPTEUgTUVTU0FHRTogaHR0
cDovL2xvY2FsaG9zdDo4MDAwL2Nvb2tpZXMvcmVzb3VyY2VzL2Nvb2tpZS11dGlsaXR5LnB5P3F1
ZXJ5ZnVuY3Rpb249c2V0Rm9vQ29va2llCiBDT05TT0xFIE1FU1NBR0U6IFhIUiByZXNwb25zZSAt
IFNldCB0aGUgZm9vIGNvb2tpZQogVGVzdCBjYXNlIGZvciBidWcgMzc3ODE6IFtYSFJdIENyb3Nz
LU9yaWdpbiBzeW5jaHJvbm91cyByZXF1ZXN0IHdpdGggY3JlZGVudGlhbCByYWlzZXMgTkVUV09S
S19FUlIKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424679</attachid>
            <date>2021-03-30 13:04:25 -0700</date>
            <delta_ts>2021-04-08 12:20:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223891-20210330160424.patch</filename>
            <type>text/plain</type>
            <size>117686</size>
            <attacher name="Chris Gambrell">cgambrell</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDI3NTIyOCkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDEwOCBAQAorMjAyMS0wMy0zMCAgQ2hyaXMgR2FtYnJlbGwg
IDxjZ2FtYnJlbGxAYXBwbGUuY29tPgorCisgICAgICAgIFtMYXlvdXRUZXN0c10gQ29udmVydCBo
dHRwL3Rlc3RzL2Nvb2tpZXMgY29udmVydCBQSFAgdG8gUHl0aG9uCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjM4OTEKKyAgICAgICAgPHJkYXI6Ly9w
cm9ibGVtLzc1OTY1NjM0PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogaHR0cC90ZXN0cy9jb250ZW50ZXh0ZW5zaW9ucy9ibG9jay1jb29raWVzLWJh
c2ljLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9jb250ZW50ZXh0ZW5zaW9ucy9ibG9jay1j
b29raWVzLWJhc2ljLmh0bWwuanNvbjoKKyAgICAgICAgKiBodHRwL3Rlc3RzL2NvbnRlbnRleHRl
bnNpb25zL2Jsb2NrLWNvb2tpZXMtaW4taW1hZ2UtbG9hZC1pbi1vbnVubG9hZC5odG1sOgorICAg
ICAgICAqIGh0dHAvdGVzdHMvY29udGVudGV4dGVuc2lvbnMvYmxvY2stY29va2llcy1pbi1waW5n
Lmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9jb250ZW50ZXh0ZW5zaW9ucy9ibG9jay1jb29r
aWVzLXNlbmQuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL2Nvb2tpZXMvY29va2llLXdpdGgt
bXVsdGlwbGUtbGV2ZWwtcGF0aC5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvY29va2llcy9k
b2N1bWVudC1jb29raWUtYWZ0ZXItc2hvd01vZGFsRGlhbG9nLmh0bWw6CisgICAgICAgICogaHR0
cC90ZXN0cy9jb29raWVzL2RvY3VtZW50LWNvb2tpZS1kdXJpbmctaWZyYW1lLXBhcnNpbmcuaHRt
bDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL2Nvb2tpZXMvb25seS1hY2NlcHQtZmlyc3QtcGFydHkt
Y29va2llcy5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMvY29v
a2llLXV0aWxpdGllcy5qczoKKyAgICAgICAgKiBodHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2Vz
L2Nvb2tpZS11dGlsaXR5LnBocDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2Nvb2tp
ZXMvcmVzb3VyY2VzL2Nvb2tpZS11dGlsaXR5LnB5OiBBZGRlZC4KKyAgICAgICAgKGRlbGV0ZV9j
b29raWUpOgorICAgICAgICAqIGh0dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMvY29va2llLXdp
dGgtbXVsdGlwbGUtbGV2ZWwtcGF0aC5waHA6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0
cy9jb29raWVzL3Jlc291cmNlcy9jb29raWUtd2l0aC1tdWx0aXBsZS1sZXZlbC1wYXRoLnB5OiBB
ZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL2VjaG8tY29va2ll
cy5waHA6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9l
Y2hvLWNvb2tpZXMucHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY29va2llcy9yZXNv
dXJjZXMvZWNoby1odHRwLWFuZC1kb20tY29va2llcy1hbmQtbm90aWZ5LWRvbmUucGhwOiBSZW1v
dmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMvZWNoby1odHRwLWFu
ZC1kb20tY29va2llcy1hbmQtbm90aWZ5LWRvbmUucHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAv
dGVzdHMvY29va2llcy9yZXNvdXJjZXMvZWNoby1qc29uLnBocDogUmVtb3ZlZC4KKyAgICAgICAg
KiBodHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL2VjaG8tanNvbi5weTogQWRkZWQuCisgICAg
ICAgICogaHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9wb3N0LWNvb2tpZXMtb25tZXNzYWdl
LnBocDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL3Bv
c3QtY29va2llcy1vbm1lc3NhZ2UucHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY29v
a2llcy9yZXNvdXJjZXMvcG9zdC1jb29raWVzLXRvLW9wZW5lci5waHA6IFJlbW92ZWQuCisgICAg
ICAgICogaHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9wb3N0LWNvb2tpZXMtdG8tb3BlbmVy
LnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL3Jlc2V0
Q29va2llcy5qczoKKyAgICAgICAgKHJlc2V0Q29va2llcyk6CisgICAgICAgICogaHR0cC90ZXN0
cy9jb29raWVzL3Jlc291cmNlcy9zZXQtY29va2llLWFuZC1yZWRpcmVjdC1iYWNrLnBocDogUmVt
b3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL3NldC1jb29raWUt
YW5kLXJlZGlyZWN0LWJhY2sucHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY29va2ll
cy9yZXNvdXJjZXMvc2V0LWNvb2tpZS1hbmQtc2VydmUucGhwOiBSZW1vdmVkLgorICAgICAgICAq
IGh0dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMvc2V0LWNvb2tpZS1hbmQtc2VydmUucHk6IEFk
ZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMvc2V0LWNvb2tpZS1v
bi1yZWRpcmVjdC5waHA6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jb29raWVzL3Jl
c291cmNlcy9zZXQtY29va2llLW9uLXJlZGlyZWN0LnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRw
L3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL3NldC1odHRwLW9ubHktY29va2llLnBocDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL3NldC1odHRwLW9ubHkt
Y29va2llLnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2Vz
L3NldEFycmF5Y29va2llcy1yZXN1bHQucGhwOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVz
dHMvY29va2llcy9yZXNvdXJjZXMvc2V0QXJyYXljb29raWVzLnBocDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBodHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL3NldFV0ZjhDb29raWVzLXJlc3VsdC5w
aHA6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9zZXRV
dGY4Q29va2llcy5waHA6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jb29raWVzL3Jl
c291cmNlcy90aGlyZC1wYXJ0eS1jb29raWUtcmVsYXhpbmctaWZyYW1lLmh0bWw6CisgICAgICAg
ICogaHR0cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9mZXRjaC1hZnRlci1uYXZpZ2F0aW5nLWlm
cmFtZS1pbi1jcm9zcy1vcmlnaW4tcGFnZS5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvY29v
a2llcy9zYW1lLXNpdGUvZmV0Y2gtYWZ0ZXItdG9wLWxldmVsLWNyb3NzLW9yaWdpbi1yZWRpcmVj
dC5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvZmV0Y2gtYWZ0
ZXItdG9wLWxldmVsLW5hdmlnYXRpb24tZnJvbS1jcm9zcy1vcmlnaW4tcGFnZS5odG1sOgorICAg
ICAgICAqIGh0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvZmV0Y2gtYWZ0ZXItdG9wLWxldmVs
LW5hdmlnYXRpb24taW5pdGlhdGVkLWZyb20taWZyYW1lLWluLWNyb3NzLW9yaWdpbi1wYWdlLmh0
bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9mZXRjaC1hZnRlci10
b3AtbGV2ZWwtc2FtZS1vcmlnaW4tcmVkaXJlY3QuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3Rz
L2Nvb2tpZXMvc2FtZS1zaXRlL2ZldGNoLWluLXNhbWUtb3JpZ2luLXNlcnZpY2Utd29ya2VyLmh0
bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9sYXgtc2FtZXNpdGUt
Y29va2llLWFmdGVyLWNyb3NzLXNpdGUtaGlzdG9yeS1sb2FkLnBocDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBodHRwL3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRlL2xheC1zYW1lc2l0ZS1jb29raWUtYWZ0
ZXItY3Jvc3Mtc2l0ZS1oaXN0b3J5LWxvYWQucHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVz
dHMvY29va2llcy9zYW1lLXNpdGUvcG9wdXAtY3Jvc3Mtc2l0ZS1wb3N0Lmh0bWw6CisgICAgICAg
ICogaHR0cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9wb3B1cC1jcm9zcy1zaXRlLmh0bWw6Cisg
ICAgICAgICogaHR0cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9wb3B1cC1zYW1lLXNpdGUtcG9z
dC5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvcG9wdXAtc2Ft
ZS1zaXRlLXZpYS1jcm9zcy1zaXRlLXJlZGlyZWN0Lmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0
cy9jb29raWVzL3NhbWUtc2l0ZS9wb3B1cC1zYW1lLXNpdGUtdmlhLXNhbWUtc2l0ZS1yZWRpcmVj
dC5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvcG9wdXAtc2Ft
ZS1zaXRlLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9yZXNv
dXJjZXMvY2xpY2staHlwZXJsaW5rLnBocDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L2Nvb2tpZXMvc2FtZS1zaXRlL3Jlc291cmNlcy9jbGljay1oeXBlcmxpbmsucHk6IEFkZGVkLgor
ICAgICAgICAqIGh0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvcmVzb3VyY2VzL2ZldGNoLWFm
dGVyLW5hdmlnYXRpbmctaWZyYW1lLWluLWNyb3NzLW9yaWdpbi1wYWdlLnBocDogUmVtb3ZlZC4K
KyAgICAgICAgKiBodHRwL3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRlL3Jlc291cmNlcy9mZXRjaC1h
ZnRlci1uYXZpZ2F0aW5nLWlmcmFtZS1pbi1jcm9zcy1vcmlnaW4tcGFnZS5weTogQWRkZWQuCisg
ICAgICAgICogaHR0cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9yZXNvdXJjZXMvZmV0Y2gtYWZ0
ZXItdG9wLWxldmVsLWNyb3NzLW9yaWdpbi1yZWRpcmVjdC5waHA6IFJlbW92ZWQuCisgICAgICAg
ICogaHR0cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9yZXNvdXJjZXMvZmV0Y2gtYWZ0ZXItdG9w
LWxldmVsLWNyb3NzLW9yaWdpbi1yZWRpcmVjdC5weTogQWRkZWQuCisgICAgICAgICogaHR0cC90
ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9yZXNvdXJjZXMvZmV0Y2gtYWZ0ZXItdG9wLWxldmVsLW5h
dmlnYXRpb24tZnJvbS1jcm9zcy1vcmlnaW4tcGFnZS5waHA6IFJlbW92ZWQuCisgICAgICAgICog
aHR0cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9yZXNvdXJjZXMvZmV0Y2gtYWZ0ZXItdG9wLWxl
dmVsLW5hdmlnYXRpb24tZnJvbS1jcm9zcy1vcmlnaW4tcGFnZS5weTogQWRkZWQuCisgICAgICAg
ICogaHR0cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9yZXNvdXJjZXMvZmV0Y2gtYWZ0ZXItdG9w
LWxldmVsLW5hdmlnYXRpb24taW5pdGlhdGVkLWZyb20taWZyYW1lLWluLWNyb3NzLW9yaWdpbi1w
YWdlLnBocDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRl
L3Jlc291cmNlcy9mZXRjaC1hZnRlci10b3AtbGV2ZWwtbmF2aWdhdGlvbi1pbml0aWF0ZWQtZnJv
bS1pZnJhbWUtaW4tY3Jvc3Mtb3JpZ2luLXBhZ2UucHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAv
dGVzdHMvY29va2llcy9zYW1lLXNpdGUvcmVzb3VyY2VzL2ZldGNoLWFmdGVyLXRvcC1sZXZlbC1z
YW1lLW9yaWdpbi1yZWRpcmVjdC5waHA6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9j
b29raWVzL3NhbWUtc2l0ZS9yZXNvdXJjZXMvZmV0Y2gtYWZ0ZXItdG9wLWxldmVsLXNhbWUtb3Jp
Z2luLXJlZGlyZWN0LnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2Nvb2tpZXMvc2Ft
ZS1zaXRlL3Jlc291cmNlcy9mZXRjaC1pbi1zYW1lLW9yaWdpbi1zZXJ2aWNlLXdvcmtlci5waHA6
IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9yZXNvdXJj
ZXMvZmV0Y2gtaW4tc2FtZS1vcmlnaW4tc2VydmljZS13b3JrZXIucHk6IEFkZGVkLgorICAgICAg
ICAqIGh0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvcmVzb3VyY2VzL3Bvc3QtZnJvbS1wb3B1
cC5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvc2V0LWZpcnN0
LXBhcnR5LWNyb3NzLXNpdGUtY29va2llcy5waHA6CisgICAgICAgICogaHR0cC90ZXN0cy9jb29r
aWVzL3NhbWUtc2l0ZS9zZXQtZmlyc3QtcGFydHktc2FtZS1zaXRlLWNvb2tpZXMucGhwOgorICAg
ICAgICAqIGh0dHAvdGVzdHMvY29va2llcy9zZXQtY29va2llLW9uLXJlZGlyZWN0Lmh0bWw6Cisg
ICAgICAgICogaHR0cC90ZXN0cy9jb29raWVzL3RoaXJkLXBhcnR5LWNvb2tpZS1yZWxheGluZy1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogaHR0cC90ZXN0cy9wbHVnaW5zL3Jlc291cmNlcy90aGly
ZC1wYXJ0eS1jb29raWUtYWNjZXB0LXBvbGljeS1pZnJhbWUuaHRtbDoKKyAgICAgICAgKiBodHRw
L3Rlc3RzL3ByaXZhdGVDbGlja01lYXN1cmVtZW50L3NlbmQtYXR0cmlidXRpb24tY29udmVyc2lv
bi1yZXF1ZXN0Lmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL2RlbGV0ZS1zY3JpcHQtYWNjZXNzaWJsZS1jb29raWVzLmh0bWw6CisgICAgICAgICogaHR0
cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2V4ZW1wdERvbWFpbnMvYXBwLWJvdW5kLWRv
bWFpbnMtZXhlbXB0LWZyb20td2Vic2l0ZS1kYXRhLWRlbGV0aW9uLWRhdGFiYXNlLmh0bWw6Cisg
ICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2V4ZW1wdERvbWFpbnMv
YXBwLWJvdW5kLWRvbWFpbnMtZXhlbXB0LWZyb20td2Vic2l0ZS1kYXRhLWRlbGV0aW9uLmh0bWw6
CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL29wZXJhdGluZy1k
YXRlcy1hbGwtYnV0LWNvb2tpZXMtbm90LXJlbW92ZWQtd2l0aC11c2VyLWludGVyYWN0aW9uLTYt
ZGF5cy1hZ28uaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3Mvb3BlcmF0aW5nLWRhdGVzLWFsbC1idXQtY29va2llcy1yZW1vdmVkLXdpdGgtdXNlci1pbnRl
cmFjdGlvbi03LWRheXMtYWdvLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL29wZXJhdGluZy1kYXRlcy1hbGwtd2Vic2l0ZS1kYXRhLXJlbW92ZWQuaHRt
bDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVzb3VyY2Vz
L3NldC1jb29raWUtb24tcmVkaXJlY3QucHk6CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL3N0YW5kYWxvbmUtd2ViLWFwcGxpY2F0aW9uLWV4ZW1wdC1mcm9tLXdl
YnNpdGUtZGF0YS1kZWxldGlvbi5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy93ZWJzaXRlLWRhdGEtcmVtb3ZhbC1mb3Itc2l0ZS1uYXZpZ2F0ZWQtdG8t
d2l0aC1saW5rLWRlY29yYXRpb24uaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3Mvd2Vic2l0ZS1kYXRhLXJlbW92YWwtZm9yLXNpdGUtd2l0aC11c2VyLWlu
dGVyYWN0aW9uLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL3dlYnNpdGUtZGF0YS1yZW1vdmFsLWZvci1zaXRlLXdpdGhvdXQtdXNlci1pbnRlcmFjdGlv
bi5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VzL19faW5pdF9fLnB5OiBSZW1v
dmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VzL3BvcnRhYmlsaXR5TGF5ZXIucHk6
CisgICAgICAgIChnZXRfY29va2llcyk6CisgICAgICAgIChnZXRTdGF0ZSk6CisgICAgICAgICog
aHR0cC90ZXN0cy9zZWN1cml0eS9jb29raWVzL3RoaXJkLXBhcnR5LWNvb2tpZS1ibG9ja2luZy1y
ZWRpcmVjdC5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkv
d2Vic29ja2V0LWFsbG93ZWQtc2V0dGluZy1jb29raWUtYXMtdGhpcmQtcGFydHkuaHRtbDoKKyAg
ICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3dlYnNvY2tldC1ibG9ja2Vk
LWZyb20tc2V0dGluZy1jb29raWUtYXMtdGhpcmQtcGFydHkuaHRtbDoKKyAgICAgICAgKiBodHRw
L3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3dlYnNvY2tldC1jb29raWUtb3ZlcndyaXRlLWJl
aGF2aW9yLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9hY2Nlc3Mt
Y29udHJvbC1wcmVmbGlnaHQtY3JlZGVudGlhbC1hc3luYy1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9hY2Nlc3MtY29udHJvbC1wcmVmbGlnaHQtY3Jl
ZGVudGlhbC1zeW5jLWV4cGVjdGVkLnR4dDoKKwogMjAyMS0wMy0zMCAgRnLDqWTDqXJpYyBXYW5n
ICA8ZndhbmdAaWdhbGlhLmNvbT4KIAogICAgICAgICBSZWxlYXNlIGFzc2VydCBpbiBjb21wYXJl
QW5pbWF0aW9uc0J5Q29tcG9zaXRlT3JkZXIKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMv
Y29udGVudGV4dGVuc2lvbnMvYmxvY2stY29va2llcy1iYXNpYy5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29udGVudGV4dGVuc2lvbnMvYmxvY2stY29va2llcy1i
YXNpYy5odG1sCShyZXZpc2lvbiAyNzUyMjYpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nv
bnRlbnRleHRlbnNpb25zL2Jsb2NrLWNvb2tpZXMtYmFzaWMuaHRtbAkod29ya2luZyBjb3B5KQpA
QCAtMTUsNCArMTUsNCBAQCBmdW5jdGlvbiBsb2FkZWQoKQogCiBUaGlzIGltYWdlIHJlc291cmNl
IHNldHMgYSBjb29raWUuIEJ1dCBiYXNlZCBvbiB0aGUgY29udGVudCBydWxlcywgc2V0dGluZyBj
b29raWUgc2hvdWxkIGJlIGJsb2NrZWQuPGJyPgogPGRpdiBpZD0ibG9nZ2VyIj48L2Rpdj48YnI+
Ci08aW1nIHNyYz0iaHR0cDovLzEyNy4wLjAuMTo4MDAwL2Nvb2tpZXMvcmVzb3VyY2VzL2Nvb2tp
ZS11dGlsaXR5LnBocD9xdWVyeWZ1bmN0aW9uPXNldEZvb0Nvb2tpZSIgb25lcnJvcj0ibG9hZGVk
KCkiPgorPGltZyBzcmM9Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9jb29raWVzL3Jlc291cmNlcy9j
b29raWUtdXRpbGl0eS5weT9xdWVyeWZ1bmN0aW9uPXNldEZvb0Nvb2tpZSIgb25lcnJvcj0ibG9h
ZGVkKCkiPgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb250ZW50ZXh0ZW5zaW9ucy9i
bG9jay1jb29raWVzLWJhc2ljLmh0bWwuanNvbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2NvbnRlbnRleHRlbnNpb25zL2Jsb2NrLWNvb2tpZXMtYmFzaWMuaHRtbC5qc29u
CShyZXZpc2lvbiAyNzUyMjYpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NvbnRlbnRleHRl
bnNpb25zL2Jsb2NrLWNvb2tpZXMtYmFzaWMuaHRtbC5qc29uCSh3b3JraW5nIGNvcHkpCkBAIC00
LDcgKzQsNyBAQAogICAgICAgICAgICAgInR5cGUiOiAiYmxvY2stY29va2llcyIKICAgICAgICAg
fSwKICAgICAgICAgInRyaWdnZXIiOiB7Ci0gICAgICAgICAgICAidXJsLWZpbHRlciI6ICJodHRw
Oi8vMTI3LjAuMC4xOjgwMDAvY29va2llcy9yZXNvdXJjZXMvY29va2llLXV0aWxpdHkucGhwIgor
ICAgICAgICAgICAgInVybC1maWx0ZXIiOiAiaHR0cDovLzEyNy4wLjAuMTo4MDAwL2Nvb2tpZXMv
cmVzb3VyY2VzL2Nvb2tpZS11dGlsaXR5LnB5IgogICAgICAgICB9CiAgICAgfQogXQpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29udGVu
dGV4dGVuc2lvbnMvYmxvY2stY29va2llcy1pbi1pbWFnZS1sb2FkLWluLW9udW5sb2FkLmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb250ZW50ZXh0ZW5zaW9ucy9i
bG9jay1jb29raWVzLWluLWltYWdlLWxvYWQtaW4tb251bmxvYWQuaHRtbAkocmV2aXNpb24gMjc1
MjI2KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb250ZW50ZXh0ZW5zaW9ucy9ibG9jay1j
b29raWVzLWluLWltYWdlLWxvYWQtaW4tb251bmxvYWQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAt
MjgsNyArMjgsNyBAQCBmdW5jdGlvbiBsb2FkSW1hZ2UoKSB7CiAKIDxib2R5IG9udW5sb2FkPSJs
b2FkSW1hZ2UoKTsiPgogVGhpcyB0ZXN0IHNldHMgYSBjb29raWUsIHRoZW4gbG9hZHMgYW4gaW1h
Z2UgaW4gb251bmxvYWQsIHdoZXJlIHRoZSBpbWFnZSBVUkwgbWF0Y2hlcyBhICdibG9jay1jb29r
aWUnIHJ1bGUuCi08aW1nIHNyYz0iaHR0cDovLzEyNy4wLjAuMTo4MDAwL2Nvb2tpZXMvcmVzb3Vy
Y2VzL2Nvb2tpZS11dGlsaXR5LnBocD9xdWVyeWZ1bmN0aW9uPXNldEZvb0Nvb2tpZSIKKzxpbWcg
c3JjPSJodHRwOi8vMTI3LjAuMC4xOjgwMDAvY29va2llcy9yZXNvdXJjZXMvY29va2llLXV0aWxp
dHkucHk/cXVlcnlmdW5jdGlvbj1zZXRGb29Db29raWUiCiAgICAgb25lcnJvcj0iZGVsZXRlUGlu
ZygpOyI+CiA8ZGl2IGlkPSJkZWxldGVfcGluZ19jb250YWluZXIiPjwvZGl2PgogPC9ib2R5PgpJ
bmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb250ZW50ZXh0ZW5zaW9ucy9ibG9jay1jb29r
aWVzLWluLXBpbmcuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nv
bnRlbnRleHRlbnNpb25zL2Jsb2NrLWNvb2tpZXMtaW4tcGluZy5odG1sCShyZXZpc2lvbiAyNzUy
MjYpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NvbnRlbnRleHRlbnNpb25zL2Jsb2NrLWNv
b2tpZXMtaW4tcGluZy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC00Nyw3ICs0Nyw3IEBAIGZ1bmN0
aW9uIHNob3dQaW5nUmVzdWx0KCkgewogCiA8Ym9keT4KIFRoaXMgdGVzdCBzZXRzIGEgY29va2ll
LCB0aGVuIGZvbGxvd3MgYSBsaW5rIHdpdGggYSBwaW5nIGF0dHJpYnV0ZSB3aGVyZSB0aGUgcGlu
ZyBVUkwgbWF0Y2hlcyBhICdibG9jay1jb29raWUnIHJ1bGUuCi08aW1nIHNyYz0iaHR0cDovL2xv
Y2FsaG9zdDo4MDAwL2Nvb2tpZXMvcmVzb3VyY2VzL2Nvb2tpZS11dGlsaXR5LnBocD9xdWVyeWZ1
bmN0aW9uPXNldEZvb0Nvb2tpZSIKKzxpbWcgc3JjPSJodHRwOi8vbG9jYWxob3N0OjgwMDAvY29v
a2llcy9yZXNvdXJjZXMvY29va2llLXV0aWxpdHkucHk/cXVlcnlmdW5jdGlvbj1zZXRGb29Db29r
aWUiCiAgICAgb25lcnJvcj0ibG9hZExpbmtXaXRoUGluZygpOyI+CiA8aWZyYW1lIGlkPSJsaW5r
X2ZyYW1lIiBuYW1lPSJsaW5rX2ZyYW1lIj48IS0tIFdpbGwgY29udGFpbiBsaW5rIHdpdGggcGlu
ZyAtLT48L2lmcmFtZT4KIDxpZnJhbWUgaWQ9InJlc3VsdF9mcmFtZSIgbmFtZT0icmVzdWx0X2Zy
YW1lIj48IS0tIFdpbGwgY29udGFpbiBwaW5nIGRhdGEgcmVjZWl2ZWQgYnkgc2VydmVyIC0tPjwv
aWZyYW1lPgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb250ZW50ZXh0ZW5zaW9ucy9i
bG9jay1jb29raWVzLXNlbmQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2NvbnRlbnRleHRlbnNpb25zL2Jsb2NrLWNvb2tpZXMtc2VuZC5odG1sCShyZXZpc2lvbiAy
NzUyMjYpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NvbnRlbnRleHRlbnNpb25zL2Jsb2Nr
LWNvb2tpZXMtc2VuZC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xNyw3ICsxNyw3IEBAIGZ1bmN0
aW9uIGltYWdlRG9uZSgpCiB7CiAJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxvZ2dlciIpLmlu
bmVySFRNTCArPSAiQWZ0ZXIgdGhlIGltYWdlLCBkb2N1bWVudC5jb29raWUgaXMgJyIgKyBkb2N1
bWVudC5jb29raWUgKyAiJzxicj4iOwogCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpZnJhbWUi
KS5vbmxvYWQgPSBpZnJhbWVEb25lOwotCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpZnJhbWUi
KS5zcmMgPSAiaHR0cDovLzEyNy4wLjAuMTo4MDAwL2Nvb2tpZXMvcmVzb3VyY2VzL2VjaG8tY29v
a2llcy5waHAiOworCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpZnJhbWUiKS5zcmMgPSAiaHR0
cDovLzEyNy4wLjAuMTo4MDAwL2Nvb2tpZXMvcmVzb3VyY2VzL2VjaG8tY29va2llcy5weSI7CiB9
CiAKIApAQCAtMjUsNSArMjUsNSBAQCBmdW5jdGlvbiBpbWFnZURvbmUoKQogCiBUaGlzIHRlc3Qg
bG9hZHMgYSByZXNvdXJjZSB0aGF0IHNldHMgYSBjb29raWUsIHRoZW4gdmVyaWZpZXMgdGhhdCB0
aGUgY29va2llIGlzIG5vdCBzZW50IG91dCB3aGVuIGl0IHNob3VsZCBiZSBibG9ja2VkLjxicj4K
IDxkaXYgaWQ9ImxvZ2dlciI+PC9kaXY+Ci08aW1nIHNyYz0iaHR0cDovLzEyNy4wLjAuMTo4MDAw
L2Nvb2tpZXMvcmVzb3VyY2VzL2Nvb2tpZS11dGlsaXR5LnBocD9xdWVyeWZ1bmN0aW9uPXNldEZv
b0Nvb2tpZSIgb25lcnJvcj0iaW1hZ2VEb25lKCk7Ij4KKzxpbWcgc3JjPSJodHRwOi8vMTI3LjAu
MC4xOjgwMDAvY29va2llcy9yZXNvdXJjZXMvY29va2llLXV0aWxpdHkucHk/cXVlcnlmdW5jdGlv
bj1zZXRGb29Db29raWUiIG9uZXJyb3I9ImltYWdlRG9uZSgpOyI+CiA8aWZyYW1lIGlkPSJpZnJh
bWUiIG5hbWU9ImlmcmFtZSI+PC9pZnJhbWU+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2Nvb2tpZXMvY29va2llLXdpdGgtbXVsdGlwbGUtbGV2ZWwtcGF0aC5odG1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9jb29raWUtd2l0aC1tdWx0aXBsZS1s
ZXZlbC1wYXRoLmh0bWwJKHJldmlzaW9uIDI3NTIyNikKKysrIExheW91dFRlc3RzL2h0dHAvdGVz
dHMvY29va2llcy9jb29raWUtd2l0aC1tdWx0aXBsZS1sZXZlbC1wYXRoLmh0bWwJKHdvcmtpbmcg
Y29weSkKQEAgLTIxLDcgKzIxLDcgQEAKICAgICB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7
CiAKICAgICBmdW5jdGlvbiBkb1Rlc3QoKSB7Ci0gICAgICAgIGNvbnN0IHJlc3VsdFVybCA9ICdy
ZXNvdXJjZXMvY29va2llLXdpdGgtbXVsdGlwbGUtbGV2ZWwtcGF0aC5waHAnOworICAgICAgICBj
b25zdCByZXN1bHRVcmwgPSAncmVzb3VyY2VzL2Nvb2tpZS13aXRoLW11bHRpcGxlLWxldmVsLXBh
dGgucHknOwogCiAgICAgICAgIHNldENvb2tpZSgnZm9vJywgJ2JhcicsICcvJykKICAgICAgICAg
ICAgIC50aGVuKCgpID0+IHNldENvb2tpZSgnZm9vJywgJ2J1eicsICcvY29va2llcy9yZXNvdXJj
ZXMnKSkgLy8gb3ZlcnJpZGUgZm9vCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tp
ZXMvZG9jdW1lbnQtY29va2llLWFmdGVyLXNob3dNb2RhbERpYWxvZy5odG1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9kb2N1bWVudC1jb29raWUtYWZ0ZXIt
c2hvd01vZGFsRGlhbG9nLmh0bWwJKHJldmlzaW9uIDI3NTIyNikKKysrIExheW91dFRlc3RzL2h0
dHAvdGVzdHMvY29va2llcy9kb2N1bWVudC1jb29raWUtYWZ0ZXItc2hvd01vZGFsRGlhbG9nLmh0
bWwJKHdvcmtpbmcgY29weSkKQEAgLTE3LDcgKzE3LDcgQEAgdGVzdEJ1dHRvbi5vbmNsaWNrID0g
KCkgPT4gewogICAgIGRvY3VtZW50LmNvb2tpZSA9ICJ0ZXN0S2V5PXRlc3RWYWx1ZSI7CiAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdub3JtYWxpemVDb29raWUoZG9jdW1lbnQuY29va2llKScs
ICd0ZXN0S2V5PXRlc3RWYWx1ZScpOwogCi0gICAgc2hvd01vZGFsRGlhbG9nKCJyZXNvdXJjZXMv
c2V0LWNvb2tpZS1hbmQtc2VydmUucGhwP2Nvb2tpZS1uYW1lPWZvbyZjb29raWUtdmFsdWU9YmFy
JmRlc3RpbmF0aW9uPWNsb3NlLW1vZGFsLWRpYWxvZy5odG1sIik7CisgICAgc2hvd01vZGFsRGlh
bG9nKCJyZXNvdXJjZXMvc2V0LWNvb2tpZS1hbmQtc2VydmUucHk/Y29va2llLW5hbWU9Zm9vJmNv
b2tpZS12YWx1ZT1iYXImZGVzdGluYXRpb249Y2xvc2UtbW9kYWwtZGlhbG9nLmh0bWwiKTsKIAog
ICAgIC8vIFRoaXMgaXMgc28gdGhlIGNvb2tpZSBnZXRzIHJlbW92ZWQgYXQgdGhlIGVuZCBvZiB0
aGUgdGVzdC4KICAgICByZWdpc3RlckNvb2tpZUZvckNsZWFudXAoJ2Zvbz1iYXI7IHBhdGg9Lycp
OwpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL2RvY3VtZW50LWNvb2tpZS1k
dXJpbmctaWZyYW1lLXBhcnNpbmcuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2Nvb2tpZXMvZG9jdW1lbnQtY29va2llLWR1cmluZy1pZnJhbWUtcGFyc2luZy5odG1s
CShyZXZpc2lvbiAyNzUyMjYpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvZG9j
dW1lbnQtY29va2llLWR1cmluZy1pZnJhbWUtcGFyc2luZy5odG1sCSh3b3JraW5nIGNvcHkpCkBA
IC0yNSw3ICsyNSw3IEBAIG9ubG9hZCA9ICgpID0+IHsKICAgICByZWdpc3RlckNvb2tpZUZvckNs
ZWFudXAoJ2Zvbz1iYXI7IHBhdGg9LycpOwogCiAgICAgbGV0IGlmcmFtZSA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoImlmcmFtZSIpOwotICAgIGlmcmFtZS5zcmMgPSAicmVzb3VyY2VzL3NldC1j
b29raWUtYW5kLXNlcnZlLnBocD9jb29raWUtbmFtZT1mb28mY29va2llLXZhbHVlPWJhciZkZXN0
aW5hdGlvbj1kb2N1bWVudC1jb29raWUtZHVyaW5nLWlmcmFtZS1wYXJzaW5nLWlmcmFtZS5odG1s
IjsKKyAgICBpZnJhbWUuc3JjID0gInJlc291cmNlcy9zZXQtY29va2llLWFuZC1zZXJ2ZS5weT9j
b29raWUtbmFtZT1mb28mY29va2llLXZhbHVlPWJhciZkZXN0aW5hdGlvbj1kb2N1bWVudC1jb29r
aWUtZHVyaW5nLWlmcmFtZS1wYXJzaW5nLWlmcmFtZS5odG1sIjsKICAgICBkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKGlmcmFtZSk7CiB9OwogPC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2Nvb2tpZXMvb25seS1hY2NlcHQtZmlyc3QtcGFydHktY29va2llcy5odG1sCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9vbmx5LWFjY2VwdC1m
aXJzdC1wYXJ0eS1jb29raWVzLmh0bWwJKHJldmlzaW9uIDI3NTIyNikKKysrIExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvY29va2llcy9vbmx5LWFjY2VwdC1maXJzdC1wYXJ0eS1jb29raWVzLmh0bWwJ
KHdvcmtpbmcgY29weSkKQEAgLTcsNyArNyw3IEBACiAgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOwogCiAgICAgICAgIGNvbnN0IGlmcmFtZVVybHMgPSB7Ci0gICAgICAgICAgICBlY2hvQ29v
a2llcyA6ICJodHRwOi8vbG9jYWxob3N0OjgwMDAvY29va2llcy9yZXNvdXJjZXMvZWNoby1jb29r
aWVzLnBocCIsCisgICAgICAgICAgICBlY2hvQ29va2llcyA6ICJodHRwOi8vbG9jYWxob3N0Ojgw
MDAvY29va2llcy9yZXNvdXJjZXMvZWNoby1jb29raWVzLnB5IiwKICAgICAgICAgICAgIHJlc2V0
Q29va2llcyA6ICJodHRwOi8vbG9jYWxob3N0OjgwMDAvY29va2llcy9yZXNvdXJjZXMvcmVzZXQt
Y29va2llcy5odG1sIgogICAgICAgICB9OwogCkBAIC0xOSw3ICsxOSw3IEBACiAgICAgICAgIH0K
IAogICAgICAgICBmdW5jdGlvbiBzZXRDb29raWVJblJlZGlyZWN0KGhhc2hWYWx1ZSkgewotICAg
ICAgICAgICAgZG9jdW1lbnQubG9jYXRpb24uaHJlZiA9ICJodHRwOi8vbG9jYWxob3N0OjgwMDAv
Y29va2llcy9yZXNvdXJjZXMvc2V0LWNvb2tpZS1hbmQtcmVkaXJlY3QtYmFjay5waHA/cmVkaXJl
Y3RCYWNrVG89aHR0cDovLzEyNy4wLjAuMTo4MDAwL2Nvb2tpZXMvb25seS1hY2NlcHQtZmlyc3Qt
cGFydHktY29va2llcy5odG1sIyIgKyBoYXNoVmFsdWU7CisgICAgICAgICAgICBkb2N1bWVudC5s
b2NhdGlvbi5ocmVmID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9jb29raWVzL3Jlc291cmNlcy9z
ZXQtY29va2llLWFuZC1yZWRpcmVjdC1iYWNrLnB5P3JlZGlyZWN0QmFja1RvPWh0dHA6Ly8xMjcu
MC4wLjE6ODAwMC9jb29raWVzL29ubHktYWNjZXB0LWZpcnN0LXBhcnR5LWNvb2tpZXMuaHRtbCMi
ICsgaGFzaFZhbHVlOwogICAgICAgICB9CiAKICAgICAgICAgZnVuY3Rpb24gcnVuTmV4dFRlc3RP
ckZpbmlzaCgpIHsKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9zZXQtY29v
a2llLW9uLXJlZGlyZWN0Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9jb29raWVzL3NldC1jb29raWUtb24tcmVkaXJlY3QuaHRtbAkocmV2aXNpb24gMjc1MjI2KQor
KysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3NldC1jb29raWUtb24tcmVkaXJlY3Qu
aHRtbAkod29ya2luZyBjb3B5KQpAQCAtMTAsNyArMTAsNyBAQCBjbGVhckFsbENvb2tpZXMoKTsK
IAogZnVuY3Rpb24gZG9SZWRpcmVjdCgpCiB7Ci0gIHdpbmRvdy5sb2NhdGlvbiA9ICJodHRwOi8v
MTI3LjAuMC4xOjgwMDAvY29va2llcy9yZXNvdXJjZXMvc2V0LWNvb2tpZS1vbi1yZWRpcmVjdC5w
aHA/c3RlcD0xIjsKKyAgd2luZG93LmxvY2F0aW9uID0gImh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9j
b29raWVzL3Jlc291cmNlcy9zZXQtY29va2llLW9uLXJlZGlyZWN0LnB5P3N0ZXA9MSI7CiB9CiA8
L3NjcmlwdD4KIApJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3RoaXJkLXBh
cnR5LWNvb2tpZS1yZWxheGluZy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9jb29raWVzL3RoaXJkLXBhcnR5LWNvb2tpZS1yZWxheGluZy1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDI3NTIyNikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2ll
cy90aGlyZC1wYXJ0eS1jb29raWUtcmVsYXhpbmctZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC0xLDQ3ICsxLDQ3IEBACiBBTEVSVDoKIAogQUxFUlQ6IEFsbG93aW5nIGFsbCBjb29raWVz
Ci1DT05TT0xFIE1FU1NBR0U6IGh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9jb29raWVzL3Jlc291cmNl
cy9jb29raWUtdXRpbGl0eS5waHA/cXVlcnlmdW5jdGlvbj1kZWxldGVDb29raWVzCitDT05TT0xF
IE1FU1NBR0U6IGh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9jb29raWVzL3Jlc291cmNlcy9jb29raWUt
dXRpbGl0eS5weT9xdWVyeWZ1bmN0aW9uPWRlbGV0ZUNvb2tpZXMKIENPTlNPTEUgTUVTU0FHRTog
WEhSIHJlc3BvbnNlIC0gRGVsZXRlZCBhbGwgY29va2llcwogQ09OU09MRSBNRVNTQUdFOiBUZXN0
IHN0YWdlIDEgZG9jdW1lbnQuY29va2llIGlzOgogQUxFUlQ6IFJlc3RyaWN0aW5nIHRvIGZpcnN0
IHBhcnR5IG9ubHkgY29va2llcwotQ09OU09MRSBNRVNTQUdFOiBodHRwOi8vbG9jYWxob3N0Ojgw
MDAvY29va2llcy9yZXNvdXJjZXMvY29va2llLXV0aWxpdHkucGhwP3F1ZXJ5ZnVuY3Rpb249c2V0
Rm9vQ29va2llCitDT05TT0xFIE1FU1NBR0U6IGh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9jb29raWVz
L3Jlc291cmNlcy9jb29raWUtdXRpbGl0eS5weT9xdWVyeWZ1bmN0aW9uPXNldEZvb0Nvb2tpZQog
Q09OU09MRSBNRVNTQUdFOiBYSFIgcmVzcG9uc2UgLSBTZXQgdGhlIGZvbyBjb29raWUKIENPTlNP
TEUgTUVTU0FHRTogVGVzdCBzdGFnZSAyIGRvY3VtZW50LmNvb2tpZSBpczoKIEFMRVJUOgogCiBB
TEVSVDogQWxsb3dpbmcgYWxsIGNvb2tpZXMKLUNPTlNPTEUgTUVTU0FHRTogaHR0cDovL2xvY2Fs
aG9zdDo4MDAwL2Nvb2tpZXMvcmVzb3VyY2VzL2Nvb2tpZS11dGlsaXR5LnBocD9xdWVyeWZ1bmN0
aW9uPWRlbGV0ZUNvb2tpZXMKK0NPTlNPTEUgTUVTU0FHRTogaHR0cDovL2xvY2FsaG9zdDo4MDAw
L2Nvb2tpZXMvcmVzb3VyY2VzL2Nvb2tpZS11dGlsaXR5LnB5P3F1ZXJ5ZnVuY3Rpb249ZGVsZXRl
Q29va2llcwogQ09OU09MRSBNRVNTQUdFOiBYSFIgcmVzcG9uc2UgLSBEZWxldGVkIGFsbCBjb29r
aWVzCiBDT05TT0xFIE1FU1NBR0U6IFRlc3Qgc3RhZ2UgMyBkb2N1bWVudC5jb29raWUgaXM6CiBB
TEVSVDogUmVzdHJpY3RpbmcgdG8gZmlyc3QgcGFydHkgb25seSBjb29raWVzCi1DT05TT0xFIE1F
U1NBR0U6IGh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9jb29raWVzL3Jlc291cmNlcy9jb29raWUtdXRp
bGl0eS5waHA/cXVlcnlmdW5jdGlvbj1zZXRGb29BbmRCYXJDb29raWUKK0NPTlNPTEUgTUVTU0FH
RTogaHR0cDovL2xvY2FsaG9zdDo4MDAwL2Nvb2tpZXMvcmVzb3VyY2VzL2Nvb2tpZS11dGlsaXR5
LnB5P3F1ZXJ5ZnVuY3Rpb249c2V0Rm9vQW5kQmFyQ29va2llCiBDT05TT0xFIE1FU1NBR0U6IFhI
UiByZXNwb25zZSAtIFNldCB0aGUgZm9vIGFuZCBiYXIgY29va2llcwogQ09OU09MRSBNRVNTQUdF
OiBUZXN0IHN0YWdlIDQgZG9jdW1lbnQuY29va2llIGlzOgogQUxFUlQ6CiAKIEFMRVJUOiBBbGxv
d2luZyBhbGwgY29va2llcwotQ09OU09MRSBNRVNTQUdFOiBodHRwOi8vbG9jYWxob3N0OjgwMDAv
Y29va2llcy9yZXNvdXJjZXMvY29va2llLXV0aWxpdHkucGhwP3F1ZXJ5ZnVuY3Rpb249ZGVsZXRl
Q29va2llcworQ09OU09MRSBNRVNTQUdFOiBodHRwOi8vbG9jYWxob3N0OjgwMDAvY29va2llcy9y
ZXNvdXJjZXMvY29va2llLXV0aWxpdHkucHk/cXVlcnlmdW5jdGlvbj1kZWxldGVDb29raWVzCiBD
T05TT0xFIE1FU1NBR0U6IFhIUiByZXNwb25zZSAtIERlbGV0ZWQgYWxsIGNvb2tpZXMKIENPTlNP
TEUgTUVTU0FHRTogVGVzdCBzdGFnZSA1IGRvY3VtZW50LmNvb2tpZSBpczoKLUNPTlNPTEUgTUVT
U0FHRTogaHR0cDovL2xvY2FsaG9zdDo4MDAwL2Nvb2tpZXMvcmVzb3VyY2VzL2Nvb2tpZS11dGls
aXR5LnBocD9xdWVyeWZ1bmN0aW9uPXNldEZvb0Nvb2tpZQorQ09OU09MRSBNRVNTQUdFOiBodHRw
Oi8vbG9jYWxob3N0OjgwMDAvY29va2llcy9yZXNvdXJjZXMvY29va2llLXV0aWxpdHkucHk/cXVl
cnlmdW5jdGlvbj1zZXRGb29Db29raWUKIENPTlNPTEUgTUVTU0FHRTogWEhSIHJlc3BvbnNlIC0g
U2V0IHRoZSBmb28gY29va2llCiBDT05TT0xFIE1FU1NBR0U6IFRlc3Qgc3RhZ2UgNiBkb2N1bWVu
dC5jb29raWUgaXM6IGZvbz1hd2Vzb21ldmFsdWUKIEFMRVJUOiBSZXN0cmljdGluZyB0byBmaXJz
dCBwYXJ0eSBvbmx5IGNvb2tpZXMKLUNPTlNPTEUgTUVTU0FHRTogaHR0cDovL2xvY2FsaG9zdDo4
MDAwL2Nvb2tpZXMvcmVzb3VyY2VzL2Nvb2tpZS11dGlsaXR5LnBocD9xdWVyeWZ1bmN0aW9uPWRl
bGV0ZUNvb2tpZXMKK0NPTlNPTEUgTUVTU0FHRTogaHR0cDovL2xvY2FsaG9zdDo4MDAwL2Nvb2tp
ZXMvcmVzb3VyY2VzL2Nvb2tpZS11dGlsaXR5LnB5P3F1ZXJ5ZnVuY3Rpb249ZGVsZXRlQ29va2ll
cwogQ09OU09MRSBNRVNTQUdFOiBYSFIgcmVzcG9uc2UgLSBEZWxldGVkIGFsbCBjb29raWVzCiBD
T05TT0xFIE1FU1NBR0U6IFRlc3Qgc3RhZ2UgNyBkb2N1bWVudC5jb29raWUgaXM6CiBBTEVSVDoK
IAogQUxFUlQ6IEFsbG93aW5nIGFsbCBjb29raWVzCi1DT05TT0xFIE1FU1NBR0U6IGh0dHA6Ly9s
b2NhbGhvc3Q6ODAwMC9jb29raWVzL3Jlc291cmNlcy9jb29raWUtdXRpbGl0eS5waHA/cXVlcnlm
dW5jdGlvbj1kZWxldGVDb29raWVzCitDT05TT0xFIE1FU1NBR0U6IGh0dHA6Ly9sb2NhbGhvc3Q6
ODAwMC9jb29raWVzL3Jlc291cmNlcy9jb29raWUtdXRpbGl0eS5weT9xdWVyeWZ1bmN0aW9uPWRl
bGV0ZUNvb2tpZXMKIENPTlNPTEUgTUVTU0FHRTogWEhSIHJlc3BvbnNlIC0gRGVsZXRlZCBhbGwg
Y29va2llcwogQ09OU09MRSBNRVNTQUdFOiBUZXN0IHN0YWdlIDggZG9jdW1lbnQuY29va2llIGlz
OgotQ09OU09MRSBNRVNTQUdFOiBodHRwOi8vbG9jYWxob3N0OjgwMDAvY29va2llcy9yZXNvdXJj
ZXMvY29va2llLXV0aWxpdHkucGhwP3F1ZXJ5ZnVuY3Rpb249c2V0Rm9vQ29va2llCitDT05TT0xF
IE1FU1NBR0U6IGh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9jb29raWVzL3Jlc291cmNlcy9jb29raWUt
dXRpbGl0eS5weT9xdWVyeWZ1bmN0aW9uPXNldEZvb0Nvb2tpZQogQ09OU09MRSBNRVNTQUdFOiBY
SFIgcmVzcG9uc2UgLSBTZXQgdGhlIGZvbyBjb29raWUKIENPTlNPTEUgTUVTU0FHRTogVGVzdCBz
dGFnZSA5IGRvY3VtZW50LmNvb2tpZSBpczogZm9vPWF3ZXNvbWV2YWx1ZQogQUxFUlQ6IFJlc3Ry
aWN0aW5nIHRvIGZpcnN0IHBhcnR5IG9ubHkgY29va2llcwotQ09OU09MRSBNRVNTQUdFOiBodHRw
Oi8vbG9jYWxob3N0OjgwMDAvY29va2llcy9yZXNvdXJjZXMvY29va2llLXV0aWxpdHkucGhwP3F1
ZXJ5ZnVuY3Rpb249c2V0Rm9vQW5kQmFyQ29va2llCitDT05TT0xFIE1FU1NBR0U6IGh0dHA6Ly9s
b2NhbGhvc3Q6ODAwMC9jb29raWVzL3Jlc291cmNlcy9jb29raWUtdXRpbGl0eS5weT9xdWVyeWZ1
bmN0aW9uPXNldEZvb0FuZEJhckNvb2tpZQogQ09OU09MRSBNRVNTQUdFOiBYSFIgcmVzcG9uc2Ug
LSBTZXQgdGhlIGZvbyBhbmQgYmFyIGNvb2tpZXMKIENPTlNPTEUgTUVTU0FHRTogVGVzdCBzdGFn
ZSAxMCBkb2N1bWVudC5jb29raWUgaXM6IGJhcj1hbm90aGVyYXdlc29tZXZhbHVlOyBmb289YXdl
c29tZXZhbHVlCiAKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9yZXNvdXJj
ZXMvY29va2llLXV0aWxpdGllcy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2Nvb2tpZXMvcmVzb3VyY2VzL2Nvb2tpZS11dGlsaXRpZXMuanMJKHJldmlzaW9uIDI3NTIy
NikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMvY29va2llLXV0
aWxpdGllcy5qcwkod29ya2luZyBjb3B5KQpAQCAtMTAxLDcgKzEwMSw3IEBAIGFzeW5jIGZ1bmN0
aW9uIHJlc2V0Q29va2llcyh1cmxzKQogICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBGb3Igc29t
ZSByZWFzb24gd2UgZ2V0IGEgU2VjdXJpdHlFcnJvciB3aGVuIHBhc3NpbmcgY2hpbGRXaW5kb3cg
dG8gcmVzb2x2ZSgpIGluIFNhZmFyaSBWZXJzaW9uIDExLjAuMyAoMTM2MDQuNS42KQogICAgICAg
ICAgICAgICAgIC8vIGFuZCBub3QgaW4gQ2hyb21lIENhbmFyeSA2Ny4wLjMzOTAuMCAod2h5Pyku
IEFzIGEgd29ya2Fyb3VuZCwgc3RvcmUgdGhlIGNoaWxkIHdpbmRvdyByZWZlcmVuY2UgaW4gYSBn
bG9iYWwgdmFyaWFibGUuCiAgICAgICAgICAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIo
Im1lc3NhZ2UiLCAobWVzc2FnZUV2ZW50KSA9PiByZXNvbHZlKG1lc3NhZ2VFdmVudCksIHtjYXB0
dXJlOiB0cnVlLCBvbmNlOiB0cnVlfSk7Ci0gICAgICAgICAgICAgICAgZ19jaGlsZFdpbmRvdyA9
IHdpbmRvdy5vcGVuKHVybCArICIvY29va2llcy9yZXNvdXJjZXMvY29va2llLXV0aWxpdHkucGhw
P3F1ZXJ5ZnVuY3Rpb249ZGVsZXRlQ29va2llc0FuZFBvc3RNZXNzYWdlIiwgInJlc2V0Iik7Cisg
ICAgICAgICAgICAgICAgZ19jaGlsZFdpbmRvdyA9IHdpbmRvdy5vcGVuKHVybCArICIvY29va2ll
cy9yZXNvdXJjZXMvY29va2llLXV0aWxpdHkucHk/cXVlcnlmdW5jdGlvbj1kZWxldGVDb29raWVz
QW5kUG9zdE1lc3NhZ2UiLCAicmVzZXQiKTsKICAgICAgICAgICAgICAgICBpZiAoIWdfY2hpbGRX
aW5kb3cpCiAgICAgICAgICAgICAgICAgICAgIHJlamVjdChudWxsKTsKICAgICAgICAgICAgIH0p
OwpAQCAtMTE2LDcgKzExNiw3IEBAIGFzeW5jIGZ1bmN0aW9uIHJlc2V0Q29va2llc0ZvckN1cnJl
bnRPcmkKIAogICAgIGxldCBwcm9taXNlID0gbmV3IFByb21pc2UoKHJlc29sdmVkLCByZWplY3Rl
ZCkgPT4gewogICAgICAgICBsZXQgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0OwotICAgICAgICB4
aHIub3BlbigiR0VUIiwgIi9jb29raWVzL3Jlc291cmNlcy9jb29raWUtdXRpbGl0eS5waHA/cXVl
cnlmdW5jdGlvbj1kZWxldGVDb29raWVzIik7CisgICAgICAgIHhoci5vcGVuKCJHRVQiLCAiL2Nv
b2tpZXMvcmVzb3VyY2VzL2Nvb2tpZS11dGlsaXR5LnB5P3F1ZXJ5ZnVuY3Rpb249ZGVsZXRlQ29v
a2llcyIpOwogICAgICAgICB4aHIub25sb2FkID0gKHByb2dyZXNzRXZlbnQpID0+IHsKICAgICAg
ICAgICAgIGRpc2FibGVTZXRBbHdheXNBY2NlcHRDb29raWVzKCk7CiAgICAgICAgICAgICByZXNv
bHZlZChwcm9ncmVzc0V2ZW50KTsKQEAgLTE1Niw3ICsxNTYsNyBAQCBhc3luYyBmdW5jdGlvbiBn
ZXRDb29raWVzKCkKIAogICAgIGxldCBwcm9taXNlID0gbmV3IFByb21pc2UoKHJlc29sdmVkLCBy
ZWplY3RlZCkgPT4gewogICAgICAgICBsZXQgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0OwotICAg
ICAgICB4aHIub3BlbigiR0VUIiwgYCR7Z19iYXNlVVJMV2hlbkZldGNoaW5nQ29va2llc30vY29v
a2llcy9yZXNvdXJjZXMvZWNoby1qc29uLnBocGApOworICAgICAgICB4aHIub3BlbigiR0VUIiwg
YCR7Z19iYXNlVVJMV2hlbkZldGNoaW5nQ29va2llc30vY29va2llcy9yZXNvdXJjZXMvZWNoby1q
c29uLnB5YCk7CiAgICAgICAgIHhoci5vbmxvYWQgPSAoKSA9PiByZXNvbHZlZCh4aHIucmVzcG9u
c2VUZXh0ID8gSlNPTi5wYXJzZSh4aHIucmVzcG9uc2VUZXh0KSA6IHt9KTsKICAgICAgICAgeGhy
Lm9uZXJyb3IgPSAoKSA9PiByZWplY3RlZCh7fSk7CiAgICAgICAgIHhoci5zZW5kKG51bGwpOwpJ
bmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9jb29raWUtdXRp
bGl0eS5waHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3Jl
c291cmNlcy9jb29raWUtdXRpbGl0eS5waHAJKHJldmlzaW9uIDI3NTIyNikKKysrIExheW91dFRl
c3RzL2h0dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMvY29va2llLXV0aWxpdHkucGhwCShub25l
eGlzdGVudCkKQEAgLTEsNDcgKzAsMCBAQAotPD9waHAKLXBhcnNlX3N0cigkX1NFUlZFUlsiUVVF
UllfU1RSSU5HIl0pOwotCi1mdW5jdGlvbiBkZWxldGVDb29raWUoJHZhbHVlLCAkbmFtZSkKLXsK
LSAgICBzZXRjb29raWUoJG5hbWUsICJkZWxldGVkIiwgdGltZSgpIC0gODY0MDAsICcvJyk7Ci19
Ci0KLWlmICgkcXVlcnlmdW5jdGlvbiA9PSAiZGVsZXRlQ29va2llc0FuZFBvc3RNZXNzYWdlIikg
ewotICAgIGFycmF5X3dhbGsoJF9DT09LSUUsICdkZWxldGVDb29raWUnKTsKLSAgICBlY2hvICI8
c2NyaXB0PndpbmRvdy5vcGVuZXIucG9zdE1lc3NhZ2UoJ2RvbmUnLCAnKicpOzwvc2NyaXB0Plxu
IjsKLSAgICByZXR1cm47Ci19Ci0KLQotaWYgKCRxdWVyeWZ1bmN0aW9uID09ICJkZWxldGVDb29r
aWVzIikgewotICAgIGFycmF5X3dhbGsoJF9DT09LSUUsICdkZWxldGVDb29raWUnKTsKLSAgICBl
Y2hvICJEZWxldGVkIGFsbCBjb29raWVzIjsKLSAgICByZXR1cm47Ci19Ci0KLWlmICgkcXVlcnlm
dW5jdGlvbiA9PSAic2V0Rm9vQ29va2llIikgewotICAgIHNldGNvb2tpZSgiZm9vIiwgImF3ZXNv
bWV2YWx1ZSIsIHRpbWUoKSArIDg2NDAwLCAnLycpOwotICAgIGVjaG8gIlNldCB0aGUgZm9vIGNv
b2tpZSI7Ci0gICAgcmV0dXJuOwotfQotCi1pZiAoJHF1ZXJ5ZnVuY3Rpb24gPT0gInNldEZvb0Fu
ZEJhckNvb2tpZSIpIHsKLSAgICBzZXRjb29raWUoImZvbyIsICJhd2Vzb21ldmFsdWUiLCB0aW1l
KCkgKyA4NjQwMCwgJy8nKTsKLSAgICBzZXRjb29raWUoImJhciIsICJhbm90aGVyYXdlc29tZXZh
bHVlIiwgdGltZSgpICsgODY0MDAsICcvJyk7Ci0gICAgZWNobyAiU2V0IHRoZSBmb28gYW5kIGJh
ciBjb29raWVzIjsKLSAgICByZXR1cm47Ci19Ci0KLS8vIERlZmF1bHQgZm9yIGFueSBvdGhlciBz
dHJpbmcgaXMgZWNobyBjb29raWVzLgotZnVuY3Rpb24gZWNob0Nvb2tpZSgkdmFsdWUsICRuYW1l
KQotewotICAgIGVjaG8gIiRuYW1lID0gJHZhbHVlXG4iOwotfQotCi1mdW5jdGlvbiBlY2hvQWxs
Q29va2llcygpCi17Ci0gICAgZWNobyAiQ29va2llcyBhcmU6XG4iOwotICAgIGFycmF5X3dhbGso
JF9DT09LSUUsICdlY2hvQ29va2llJyk7Ci19Ci0KLT8+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL2Nvb2tpZS11dGlsaXR5LnB5Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMvY29va2llLXV0aWxpdHku
cHkJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3Jlc291
cmNlcy9jb29raWUtdXRpbGl0eS5weQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDU2IEBACisj
IS91c3IvYmluL2VudiBweXRob24zCisKK2ltcG9ydCBvcworaW1wb3J0IHN5cworZnJvbSBkYXRl
dGltZSBpbXBvcnQgZGF0ZXRpbWUsIHRpbWVkZWx0YQorZnJvbSB1cmxsaWIucGFyc2UgaW1wb3J0
IHBhcnNlX3FzCisKK2ZpbGUgPSBfX2ZpbGVfXy5zcGxpdCgnOi9jeWd3aW4nKVstMV0KK2h0dHBf
cm9vdCA9IG9zLnBhdGguZGlybmFtZShvcy5wYXRoLmRpcm5hbWUob3MucGF0aC5hYnNwYXRoKG9z
LnBhdGguZGlybmFtZShmaWxlKSkpKQorc3lzLnBhdGguaW5zZXJ0KDAsIGh0dHBfcm9vdCkKKwor
ZnJvbSByZXNvdXJjZXMucG9ydGFiaWxpdHlMYXllciBpbXBvcnQgZ2V0X2Nvb2tpZXMKKworY29v
a2llcyA9IGdldF9jb29raWVzKCkKKworZGVmIGRlbGV0ZV9jb29raWUobmFtZSk6CisgICAgZXhw
aXJlcyA9IGRhdGV0aW1lLnV0Y25vdygpIC0gdGltZWRlbHRhKHNlY29uZHM9ODY0MDApCisgICAg
c3lzLnN0ZG91dC53cml0ZSgnU2V0LUNvb2tpZToge309ZGVsZXRlZDsgZXhwaXJlcz17fSBHTVQ7
IE1heC1BZ2U9MDsgcGF0aD0vXHJcbicuZm9ybWF0KG5hbWUsIGV4cGlyZXMuc3RyZnRpbWUoJyVh
LCAlZC0lYi0lWSAlSDolTTolUycpKSkKKworcXVlcnlfZnVuY3Rpb24gPSBwYXJzZV9xcyhvcy5l
bnZpcm9uLmdldCgnUVVFUllfU1RSSU5HJywgJycpLCBrZWVwX2JsYW5rX3ZhbHVlcz1UcnVlKS5n
ZXQoJ3F1ZXJ5ZnVuY3Rpb24nLCBbJyddKVswXQorCitzeXMuc3Rkb3V0LndyaXRlKCdDb250ZW50
LVR5cGU6IHRleHQvaHRtbFxyXG4nKQorCitpZiBxdWVyeV9mdW5jdGlvbiA9PSAnZGVsZXRlQ29v
a2llc0FuZFBvc3RNZXNzYWdlJzoKKyAgICBmb3IgY29va2llIGluIGNvb2tpZXMua2V5cygpOgor
ICAgICAgICBkZWxldGVfY29va2llKGNvb2tpZSkKKyAgICBzeXMuc3Rkb3V0LndyaXRlKCdcclxu
PHNjcmlwdD53aW5kb3cub3BlbmVyLnBvc3RNZXNzYWdlKFwnZG9uZVwnLCBcJypcJyk7PC9zY3Jp
cHQ+XG4nKQorICAgIAorZWxpZiBxdWVyeV9mdW5jdGlvbiA9PSAnZGVsZXRlQ29va2llcyc6Cisg
ICAgZm9yIGNvb2tpZSBpbiBjb29raWVzLmtleXMoKToKKyAgICAgICAgZGVsZXRlX2Nvb2tpZShj
b29raWUpCisgICAgc3lzLnN0ZG91dC53cml0ZSgnXHJcbkRlbGV0ZWQgYWxsIGNvb2tpZXMnKQor
ICAgIHN5cy5leGl0KDApCisgICAgCitlbGlmIHF1ZXJ5X2Z1bmN0aW9uID09ICdzZXRGb29Db29r
aWUnOgorICAgIGV4cGlyZXM9IGRhdGV0aW1lLnV0Y25vdygpICsgdGltZWRlbHRhKHNlY29uZHM9
ODY0MDApCisgICAgc3lzLnN0ZG91dC53cml0ZSgKKyAgICAgICAgJ1NldC1Db29raWU6IGZvbz1h
d2Vzb21ldmFsdWU7IGV4cGlyZXM9e30gR01UOyBNYXgtQWdlPTg2NDAwOyBwYXRoPS9cclxuXHJc
bicKKyAgICAgICAgJ1NldCB0aGUgZm9vIGNvb2tpZScuZm9ybWF0KGV4cGlyZXMuc3RyZnRpbWUo
JyVhLCAlZC0lYi0lWSAlSDolTTolUycpKQorICAgICkKKyAgICBzeXMuZXhpdCgwKQorICAgIAor
ZWxpZiBxdWVyeV9mdW5jdGlvbiA9PSAnc2V0Rm9vQW5kQmFyQ29va2llJzoKKyAgICBleHBpcmVz
PSBkYXRldGltZS51dGNub3coKSArIHRpbWVkZWx0YShzZWNvbmRzPTg2NDAwKQorICAgIHN5cy5z
dGRvdXQud3JpdGUoCisgICAgICAgICdTZXQtQ29va2llOiBmb289YXdlc29tZXZhbHVlOyBleHBp
cmVzPXtleHBpcmVzfSBHTVQ7IE1heC1BZ2U9ODY0MDA7IHBhdGg9L1xyXG4nCisgICAgICAgICdT
ZXQtQ29va2llOiBiYXI9YW5vdGhlcmF3ZXNvbWV2YWx1ZTsgZXhwaXJlcz17ZXhwaXJlc30gR01U
OyBNYXgtQWdlPTg2NDAwOyBwYXRoPS9cclxuXHJcbicKKyAgICAgICAgJ1NldCB0aGUgZm9vIGFu
ZCBiYXIgY29va2llcycuZm9ybWF0KGV4cGlyZXM9ZXhwaXJlcy5zdHJmdGltZSgnJWEsICVkLSVi
LSVZICVIOiVNOiVTJykpCisgICAgKQorICAgIHN5cy5leGl0KDApCisgICAgCitlbHNlOgorICAg
IHN5cy5zdGRvdXQud3JpdGUoJ1xyXG5Db29raWVzIGFyZTpcbicpCisgICAgZm9yIGNvb2tpZSBp
biBjb29raWVzOgorICAgICAgICBjb29raWUgPSBjb29raWUuc3BsaXQoJz0nKQorICAgICAgICBz
eXMuc3Rkb3V0LndyaXRlKCd7fSA9IHt9XG4nLmZvcm1hdChjb29raWVbMF0sIGNvb2tpZVsxXSkp
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9jb29raWUtdXRpbGl0eS5weQpfX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2ll
cy9yZXNvdXJjZXMvY29va2llLXdpdGgtbXVsdGlwbGUtbGV2ZWwtcGF0aC5waHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9jb29raWUtd2l0
aC1tdWx0aXBsZS1sZXZlbC1wYXRoLnBocAkocmV2aXNpb24gMjc1MjI2KQorKysgTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9jb29raWUtd2l0aC1tdWx0aXBsZS1sZXZl
bC1wYXRoLnBocAkobm9uZXhpc3RlbnQpCkBAIC0xLDUgKzAsMCBAQAotPD9waHAKLQotJHZhbHVl
ID0gJF9TRVJWRVJbJ0hUVFBfQ09PS0lFJ10gPzogIiI7Ci0KLWVjaG8gJF9TRVJWRVJbJ0hUVFBf
Q09PS0lFJ107CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2Vz
L2Nvb2tpZS13aXRoLW11bHRpcGxlLWxldmVsLXBhdGgucHkKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9jb29raWUtd2l0aC1tdWx0aXBsZS1s
ZXZlbC1wYXRoLnB5CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29v
a2llcy9yZXNvdXJjZXMvY29va2llLXdpdGgtbXVsdGlwbGUtbGV2ZWwtcGF0aC5weQkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDYgQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbjMKKworaW1wb3J0
IG9zCitpbXBvcnQgc3lzCisKK3N5cy5zdGRvdXQud3JpdGUoJ0NvbnRlbnQtVHlwZTogdGV4dC9o
dG1sXHJcblxyXG57fScuZm9ybWF0KG9zLmVudmlyb24uZ2V0KCdIVFRQX0NPT0tJRScsICcnKSkp
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9jb29raWUtd2l0aC1tdWx0aXBsZS1s
ZXZlbC1wYXRoLnB5Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEg
IyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9lY2hvLWNvb2tpZXMucGhwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMvZWNoby1jb29raWVz
LnBocAkocmV2aXNpb24gMjc1MjI2KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVz
L3Jlc291cmNlcy9lY2hvLWNvb2tpZXMucGhwCShub25leGlzdGVudCkKQEAgLTEsMTEgKzAsMCBA
QAotPD9waHAKLQotZnVuY3Rpb24gZWNob0Nvb2tpZSgkdmFsdWUsICRuYW1lKQotewotICAgIGVj
aG8gIiRuYW1lID0gJHZhbHVlXG4iOwotfQotCi1lY2hvICJDb29raWVzIGFyZTpcbiI7Ci1hcnJh
eV93YWxrKCRfQ09PS0lFLCAnZWNob0Nvb2tpZScpOwotCi0/PgpJbmRleDogTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9lY2hvLWNvb2tpZXMucHkKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9lY2hvLWNvb2tpZXMu
cHkJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3Jlc291
cmNlcy9lY2hvLWNvb2tpZXMucHkJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxNyBAQAorIyEv
dXNyL2Jpbi9lbnYgcHl0aG9uMworCitpbXBvcnQgb3MKK2ltcG9ydCBzeXMKKworc3lzLnN0ZG91
dC53cml0ZSgKKyAgICAnQ29udGVudC1UeXBlOiB0ZXh0L2h0bWxcclxuXHJcbicKKyAgICAnQ29v
a2llcyBhcmU6XG4nCispCisKK2lmICdIVFRQX0NPT0tJRScgaW4gb3MuZW52aXJvbjoKKyAgICBo
ZWFkZXJfY29va2llcyA9IG9zLmVudmlyb25bJ0hUVFBfQ09PS0lFJ10KKyAgICBoZWFkZXJfY29v
a2llcyA9IGhlYWRlcl9jb29raWVzLnNwbGl0KCc7ICcpCisKKyAgICBmb3IgY29va2llIGluIGhl
YWRlcl9jb29raWVzOgorICAgICAgICBjb29raWUgPSBjb29raWUuc3BsaXQoJz0nKQorICAgICAg
ICBzeXMuc3Rkb3V0LndyaXRlKCd7fSA9IHt9XG4nLmZvcm1hdChjb29raWVbMF0sIGNvb2tpZVsx
XSkpClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9lY2hvLWNvb2tpZXMucHkKX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tp
ZXMvcmVzb3VyY2VzL2VjaG8taHR0cC1hbmQtZG9tLWNvb2tpZXMtYW5kLW5vdGlmeS1kb25lLnBo
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2Vz
L2VjaG8taHR0cC1hbmQtZG9tLWNvb2tpZXMtYW5kLW5vdGlmeS1kb25lLnBocAkocmV2aXNpb24g
Mjc1MjI2KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9lY2hv
LWh0dHAtYW5kLWRvbS1jb29raWVzLWFuZC1ub3RpZnktZG9uZS5waHAJKG5vbmV4aXN0ZW50KQpA
QCAtMSwzNSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0
IHNyYz0iY29va2llLXV0aWxpdGllcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotZnVuY3Rpb24g
bG9nRE9NQ29va2llKG5hbWUsIHZhbHVlKQotewotICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJkb20tY29va2llcy1vdXRwdXQiKS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9k
ZShgJHtuYW1lfSA9ICR7dmFsdWV9XG5gKSk7Ci19Ci0KLXdpbmRvdy5vbmxvYWQgPSAoKSA9PiB7
Ci0gICAgbGV0IGRvbUNvb2tpZXMgPSBnZXRET01Db29raWVzKCk7Ci0gICAgZm9yIChsZXQgbmFt
ZSBvZiBPYmplY3Qua2V5cyhkb21Db29raWVzKS5zb3J0KCkpCi0gICAgICAgIGxvZ0RPTUNvb2tp
ZShuYW1lLCBkb21Db29raWVzW25hbWVdKTsKLQotICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikK
LSAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci19OwotPC9zY3JpcHQ+Ci08L2hlYWQ+
Ci08Ym9keT4KLTxwPkhUVFAgc2VudCBjb29raWVzOjwvcD4KLTxwcmU+Ci08P3BocAotJHNvcnRl
ZENvb2tpZU5hbWVzID0gYXJyYXlfa2V5cygkX0NPT0tJRSk7Ci1zb3J0KCRzb3J0ZWRDb29raWVO
YW1lcyk7Ci0KLWZvcmVhY2ggKCRzb3J0ZWRDb29raWVOYW1lcyBhcyAkbmFtZSkKLSAgICBlY2hv
ICIkbmFtZSA9ICRfQ09PS0lFWyRuYW1lXVxuIjsKLT8+Ci08L3ByZT4KLTxwPkRPTSBjb29raWVz
OjwvcD4KLTxwcmUgaWQ9ImRvbS1jb29raWVzLW91dHB1dCI+PC9wcmU+Ci08L2JvZHk+Ci08L2h0
bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL2VjaG8t
aHR0cC1hbmQtZG9tLWNvb2tpZXMtYW5kLW5vdGlmeS1kb25lLnB5Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMvZWNoby1odHRwLWFuZC1kb20t
Y29va2llcy1hbmQtbm90aWZ5LWRvbmUucHkJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9lY2hvLWh0dHAtYW5kLWRvbS1jb29raWVzLWFu
ZC1ub3RpZnktZG9uZS5weQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQ4IEBACisjIS91c3Iv
YmluL2VudiBweXRob24zCisKK2ltcG9ydCBvcworaW1wb3J0IHN5cworCitmaWxlID0gX19maWxl
X18uc3BsaXQoJzovY3lnd2luJylbLTFdCitodHRwX3Jvb3QgPSBvcy5wYXRoLmRpcm5hbWUob3Mu
cGF0aC5kaXJuYW1lKG9zLnBhdGguYWJzcGF0aChvcy5wYXRoLmRpcm5hbWUoZmlsZSkpKSkKK3N5
cy5wYXRoLmluc2VydCgwLCBodHRwX3Jvb3QpCisKK2Zyb20gcmVzb3VyY2VzLnBvcnRhYmlsaXR5
TGF5ZXIgaW1wb3J0IGdldF9jb29raWVzCisKK2Nvb2tpZXMgPSBnZXRfY29va2llcygpCisKK3N5
cy5zdGRvdXQud3JpdGUoJ0NvbnRlbnQtVHlwZTogdGV4dC9odG1sXHJcblxyXG4nKQorCitwcmlu
dCgnJyc8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iY29va2ll
LXV0aWxpdGllcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorZnVuY3Rpb24gbG9nRE9NQ29va2ll
KG5hbWUsIHZhbHVlKQoreworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkb20tY29va2ll
cy1vdXRwdXQiKS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShgJHtuYW1lfSA9
ICR7dmFsdWV9XG5gKSk7Cit9CisKK3dpbmRvdy5vbmxvYWQgPSAoKSA9PiB7CisgICAgbGV0IGRv
bUNvb2tpZXMgPSBnZXRET01Db29raWVzKCk7CisgICAgZm9yIChsZXQgbmFtZSBvZiBPYmplY3Qu
a2V5cyhkb21Db29raWVzKS5zb3J0KCkpCisgICAgICAgIGxvZ0RPTUNvb2tpZShuYW1lLCBkb21D
b29raWVzW25hbWVdKTsKKworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgdGVz
dFJ1bm5lci5ub3RpZnlEb25lKCk7Cit9OworPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxw
PkhUVFAgc2VudCBjb29raWVzOjwvcD4KKzxwcmU+JycnKQorCitzb3J0ZWRfY29va2llX25hbWVz
ID0gc29ydGVkKGNvb2tpZXMua2V5cygpKQorZm9yIG5hbWUgaW4gc29ydGVkX2Nvb2tpZV9uYW1l
czoKKyAgICBzeXMuc3Rkb3V0LndyaXRlKCd7fSA9IHt9XG4nLmZvcm1hdChuYW1lLCBjb29raWVz
LmdldChuYW1lKSkpCisKK3ByaW50KCcnJzwvcHJlPgorPHA+RE9NIGNvb2tpZXM6PC9wPgorPHBy
ZSBpZD0iZG9tLWNvb2tpZXMtb3V0cHV0Ij48L3ByZT4KKzwvYm9keT4KKzwvaHRtbD4nJycpClwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9lY2hvLWh0dHAtYW5kLWRvbS1jb29raWVz
LWFuZC1ub3RpZnktZG9uZS5weQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAt
MCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91
dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMvZWNoby1qc29uLnBocAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL2VjaG8tanNv
bi5waHAJKHJldmlzaW9uIDI3NTIyNikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2ll
cy9yZXNvdXJjZXMvZWNoby1qc29uLnBocAkobm9uZXhpc3RlbnQpCkBAIC0xLDggKzAsMCBAQAot
PD9waHAKLWhlYWRlcigiQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9qc29uIik7Ci1oZWFkZXIo
IkFjY2Vzcy1Db250cm9sLUFsbG93LUNyZWRlbnRpYWxzOiB0cnVlIik7Ci1oZWFkZXIoIkFjY2Vz
cy1Db250cm9sLUFsbG93LUV4dGVybmFsOiB0cnVlIik7Ci1oZWFkZXIoIkFjY2Vzcy1Db250cm9s
LUFsbG93LU9yaWdpbjogJHtfU0VSVkVSWydIVFRQX09SSUdJTiddfSIpOwotCi1lY2hvIGpzb25f
ZW5jb2RlKCRfQ09PS0lFKTsKLT8+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tp
ZXMvcmVzb3VyY2VzL2VjaG8tanNvbi5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL2VjaG8tanNvbi5weQkobm9uZXhpc3RlbnQpCisrKyBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL2VjaG8tanNvbi5weQkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDIwIEBACisjIS91c3IvYmluL2VudiBweXRob24zCisKK2lt
cG9ydCBqc29uCitpbXBvcnQgb3MKK2ltcG9ydCBzeXMKKworZmlsZSA9IF9fZmlsZV9fLnNwbGl0
KCc6L2N5Z3dpbicpWy0xXQoraHR0cF9yb290ID0gb3MucGF0aC5kaXJuYW1lKG9zLnBhdGguZGly
bmFtZShvcy5wYXRoLmFic3BhdGgob3MucGF0aC5kaXJuYW1lKGZpbGUpKSkpCitzeXMucGF0aC5p
bnNlcnQoMCwgaHR0cF9yb290KQorCitmcm9tIHJlc291cmNlcy5wb3J0YWJpbGl0eUxheWVyIGlt
cG9ydCBnZXRfY29va2llcworCitjb29raWVzID0gZ2V0X2Nvb2tpZXMoKQorCitzeXMuc3Rkb3V0
LndyaXRlKAorICAgICdDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL2pzb25cclxuJworICAgICdB
Y2Nlc3MtQ29udHJvbC1BbGxvdy1DcmVkZW50aWFsczogdHJ1ZVxyXG4nCisgICAgJ0FjY2Vzcy1D
b250cm9sLUFsbG93LUV4dGVybmFsOiB0cnVlXHJcbicKKyAgICAnQWNjZXNzLUNvbnRyb2wtQWxs
b3ctT3JpZ2luOiB7fVxyXG5cclxue30nLmZvcm1hdChvcy5lbnZpcm9uLmdldCgnSFRUUF9PUklH
SU4nLCAnJyksIGpzb24uZHVtcHMoY29va2llcykpCispClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVz
L3Jlc291cmNlcy9lY2hvLWpzb24ucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUK
IyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL3Bvc3QtY29va2llcy1vbm1l
c3NhZ2UucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9y
ZXNvdXJjZXMvcG9zdC1jb29raWVzLW9ubWVzc2FnZS5waHAJKHJldmlzaW9uIDI3NTIyNikKKysr
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMvcG9zdC1jb29raWVzLW9u
bWVzc2FnZS5waHAJKG5vbmV4aXN0ZW50KQpAQCAtMSwxNCArMCwwIEBACi08IWRvY3R5cGUgaHRt
bD4KLTxzY3JpcHQ+Ci0KLXZhciBmcm9tX2h0dHAgPSA8P3BocAotZWNobyBqc29uX2VuY29kZSgk
X0NPT0tJRSk7Ci0/PjsKLQotd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLCBlID0+
IHsKLSAgICBlLnNvdXJjZS5wb3N0TWVzc2FnZSh7Ci0gICAgICAgICdodHRwJzogZnJvbV9odHRw
LAotICAgICAgICAnZG9jdW1lbnQnOiBkb2N1bWVudC5jb29raWUKLSAgICB9LCAiKiIpOwotfSk7
Ci08L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9yZXNvdXJj
ZXMvcG9zdC1jb29raWVzLW9ubWVzc2FnZS5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL3Bvc3QtY29va2llcy1vbm1lc3NhZ2UucHkJKG5v
bmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9w
b3N0LWNvb2tpZXMtb25tZXNzYWdlLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjkgQEAK
KyMhL3Vzci9iaW4vZW52IHB5dGhvbjMKKworaW1wb3J0IGpzb24KK2ltcG9ydCBvcworaW1wb3J0
IHN5cworCitmaWxlID0gX19maWxlX18uc3BsaXQoJzovY3lnd2luJylbLTFdCitodHRwX3Jvb3Qg
PSBvcy5wYXRoLmRpcm5hbWUob3MucGF0aC5kaXJuYW1lKG9zLnBhdGguYWJzcGF0aChvcy5wYXRo
LmRpcm5hbWUoZmlsZSkpKSkKK3N5cy5wYXRoLmluc2VydCgwLCBodHRwX3Jvb3QpCisKK2Zyb20g
cmVzb3VyY2VzLnBvcnRhYmlsaXR5TGF5ZXIgaW1wb3J0IGdldF9jb29raWVzCisKK2Nvb2tpZXMg
PSBnZXRfY29va2llcygpCisKK3N5cy5zdGRvdXQud3JpdGUoCisgICAgJ0NvbnRlbnQtVHlwZTog
dGV4dC9odG1sXHJcblxyXG4nCisgICAgJzwhZG9jdHlwZSBodG1sPlxuJworICAgICc8c2NyaXB0
PlxuJworICAgICdcbicKKyAgICAndmFyIGZyb21faHR0cCA9IHt9O1xuJworICAgICdcbicKKyAg
ICAnd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLCBlID0+IHt7XG4nCisgICAgJyAg
ICBlLnNvdXJjZS5wb3N0TWVzc2FnZSh7e1xuJworICAgICcgICAgICAgIFwnaHR0cFwnOiBmcm9t
X2h0dHAsXG4nCisgICAgJyAgICAgICAgXCdkb2N1bWVudFwnOiBkb2N1bWVudC5jb29raWVcbicK
KyAgICAnICAgIH19LCAiKiIpO1xuJworICAgICd9fSk7XG4nCisgICAgJzwvc2NyaXB0PlxuJy5m
b3JtYXQoanNvbi5kdW1wcyhjb29raWVzKSkKKykKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcmVz
b3VyY2VzL3Bvc3QtY29va2llcy1vbm1lc3NhZ2UucHkKX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4
ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5
CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL3Bvc3QtY29v
a2llcy10by1vcGVuZXIucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMv
Y29va2llcy9yZXNvdXJjZXMvcG9zdC1jb29raWVzLXRvLW9wZW5lci5waHAJKHJldmlzaW9uIDI3
NTIyNikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMvcG9zdC1j
b29raWVzLXRvLW9wZW5lci5waHAJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMSArMCwwIEBACi08IWRv
Y3R5cGUgaHRtbD4KLTxzY3JpcHQ+Ci12YXIgZnJvbV9odHRwID0gPD9waHAKLWVjaG8ganNvbl9l
bmNvZGUoJF9DT09LSUUpOwotPz47Ci0KLXdpbmRvdy5vcGVuZXIucG9zdE1lc3NhZ2UoewotICAg
ICdodHRwJzogZnJvbV9odHRwLAotICAgICdkb2N1bWVudCc6IGRvY3VtZW50LmNvb2tpZQotfSwg
IioiKTsKLTwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3Jl
c291cmNlcy9wb3N0LWNvb2tpZXMtdG8tb3BlbmVyLnB5Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2h0dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMvcG9zdC1jb29raWVzLXRvLW9wZW5lci5w
eQkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3Vy
Y2VzL3Bvc3QtY29va2llcy10by1vcGVuZXIucHkJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwy
NiBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMworCitpbXBvcnQganNvbgoraW1wb3J0IG9zCitp
bXBvcnQgc3lzCisKK2ZpbGUgPSBfX2ZpbGVfXy5zcGxpdCgnOi9jeWd3aW4nKVstMV0KK2h0dHBf
cm9vdCA9IG9zLnBhdGguZGlybmFtZShvcy5wYXRoLmRpcm5hbWUob3MucGF0aC5hYnNwYXRoKG9z
LnBhdGguZGlybmFtZShmaWxlKSkpKQorc3lzLnBhdGguaW5zZXJ0KDAsIGh0dHBfcm9vdCkKKwor
ZnJvbSByZXNvdXJjZXMucG9ydGFiaWxpdHlMYXllciBpbXBvcnQgZ2V0X2Nvb2tpZXMKKworY29v
a2llcyA9IGdldF9jb29raWVzKCkKKworc3lzLnN0ZG91dC53cml0ZSgnQ29udGVudC1UeXBlOiB0
ZXh0L2h0bWxcclxuXHJcbicpCitwcmludChzeXMucGF0aCkKKworcHJpbnQoJycnPCFkb2N0eXBl
IGh0bWw+Cis8c2NyaXB0PgordmFyIGZyb21faHR0cCA9IHt9OworCit3aW5kb3cub3BlbmVyLnBv
c3RNZXNzYWdlKHt7CisgICAgJ2h0dHAnOiBmcm9tX2h0dHAsCisgICAgJ2RvY3VtZW50JzogZG9j
dW1lbnQuY29va2llCit9fSwgIioiKTsKKzwvc2NyaXB0PicnJy5mb3JtYXQoanNvbi5kdW1wcyhj
b29raWVzKSkpClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoKUHJvcGVydHkgY2hhbmdlcyBv
bjogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9wb3N0LWNvb2tpZXMt
dG8tb3BlbmVyLnB5Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEg
IyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9yZXNldENvb2tpZXMuanMKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9yZXNldENvb2tpZXMu
anMJKHJldmlzaW9uIDI3NTIyNikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9y
ZXNvdXJjZXMvcmVzZXRDb29raWVzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC00LDcgKzQsNyBAQCBm
dW5jdGlvbiByZXNldENvb2tpZXMoKQogICAgICAgICB0ZXN0UnVubmVyLnNldEFsd2F5c0FjY2Vw
dENvb2tpZXModHJ1ZSk7CiAKICAgICAvLyBEdWUgdG8gY3Jvc3Mtb3JpZ2luIHJlc3RyaWN0aW9u
cywgd2UgY2FuIG9ubHkgKHNpbXBseSkgcmVzZXQgY29va2llcyBmb3Igb3VyIGN1cnJlbnQgb3Jp
Z2luLgotICAgIHZhciB1cmwgPSAiaHR0cDovLyIgKyB3aW5kb3cubG9jYXRpb24uaG9zdG5hbWUg
KyI6ODAwMC9jb29raWVzL3Jlc291cmNlcy9jb29raWUtdXRpbGl0eS5waHA/cXVlcnlmdW5jdGlv
bj1kZWxldGVDb29raWVzIjsKKyAgICB2YXIgdXJsID0gImh0dHA6Ly8iICsgd2luZG93LmxvY2F0
aW9uLmhvc3RuYW1lICsiOjgwMDAvY29va2llcy9yZXNvdXJjZXMvY29va2llLXV0aWxpdHkucHk/
cXVlcnlmdW5jdGlvbj1kZWxldGVDb29raWVzIjsKICAgICB2YXIgcmVxID0gbmV3IFhNTEh0dHBS
ZXF1ZXN0KCk7CiAgICAgdHJ5IHsKICAgICAgICAgcmVxLm9wZW4oJ0dFVCcsIHVybCwgZmFsc2Up
OwpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9zZXQtY29v
a2llLWFuZC1yZWRpcmVjdC1iYWNrLnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL3NldC1jb29raWUtYW5kLXJlZGlyZWN0LWJhY2sucGhw
CShyZXZpc2lvbiAyNzUyMjYpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcmVz
b3VyY2VzL3NldC1jb29raWUtYW5kLXJlZGlyZWN0LWJhY2sucGhwCShub25leGlzdGVudCkKQEAg
LTEsMTAgKzAsMCBAQAotPD9waHAKLWlmICgkX0dFVFsncmVkaXJlY3RCYWNrVG8nXSkgewotICBo
ZWFkZXIoIkhUVFAvMS4wIDMwMiBGb3VuZCIpOwotICBzZXRjb29raWUoInRlc3RfY29va2llIiwg
IjEiLCB0aW1lKCkgKyA4NjQwMCk7Ci0gIGhlYWRlcignTG9jYXRpb246ICcgLiAkX0dFVFsncmVk
aXJlY3RCYWNrVG8nXSk7Ci19IGVsc2UgewotICBoZWFkZXIoIkhUVFAvMS4wIDIwMCBPSyIpOwot
ICBlY2hvICJGQUlMRUQ6IE5vIHJlZGlyZWN0QmFja1RvIHBhcmFtZXRlciBmb3VuZC5cbiI7Ci19
Ci0/PgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9zZXQt
Y29va2llLWFuZC1yZWRpcmVjdC1iYWNrLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0
dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMvc2V0LWNvb2tpZS1hbmQtcmVkaXJlY3QtYmFjay5w
eQkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3Vy
Y2VzL3NldC1jb29raWUtYW5kLXJlZGlyZWN0LWJhY2sucHkJKHdvcmtpbmcgY29weSkKQEAgLTAs
MCArMSwyMyBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMworCitpbXBvcnQgb3MKK2ltcG9ydCBz
eXMKK2Zyb20gZGF0ZXRpbWUgaW1wb3J0IGRhdGV0aW1lLCB0aW1lZGVsdGEKK2Zyb20gdXJsbGli
LnBhcnNlIGltcG9ydCBwYXJzZV9xcworCityZWRpcmVjdF9iYWNrX3RvID0gcGFyc2VfcXMob3Mu
ZW52aXJvbi5nZXQoJ1FVRVJZX1NUUklORycsICcnKSwga2VlcF9ibGFua192YWx1ZXM9VHJ1ZSku
Z2V0KCdyZWRpcmVjdEJhY2tUbycsIFsnJ10pWzBdCisKK3N5cy5zdGRvdXQud3JpdGUoJ0NvbnRl
bnQtVHlwZTogdGV4dC9odG1sXHJcbicpCisKK2lmIHJlZGlyZWN0X2JhY2tfdG86CisgICAgZXhw
aXJlcz0gZGF0ZXRpbWUudXRjbm93KCkgKyB0aW1lZGVsdGEoc2Vjb25kcz04NjQwMCkKKyAgICBz
eXMuc3Rkb3V0LndyaXRlKAorICAgICAgICAnc3RhdHVzOiAzMDJcclxuJworICAgICAgICAnU2V0
LUNvb2tpZTogdGVzdF9jb29raWU9MTsgZXhwaXJlcz17fSBHTVQ7IE1heC1BZ2U9ODY0MDBcclxu
JworICAgICAgICAnTG9jYXRpb246IHt9XHJcblxyXG4nLmZvcm1hdChleHBpcmVzLnN0cmZ0aW1l
KCclYSwgJWQtJWItJVkgJUg6JU06JVMnKSwgcmVkaXJlY3RfYmFja190bykKKyAgICApCitlbHNl
OgorICAgIHN5cy5zdGRvdXQud3JpdGUoCisgICAgICAgICdzdGF0dXM6IDIwMFxyXG5cclxuJwor
ICAgICAgICAnRkFJTEVEOiBObyByZWRpcmVjdEJhY2tUbyBwYXJhbWV0ZXIgZm91bmQuXG4nCisg
ICAgKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKClByb3BlcnR5IGNoYW5nZXMgb246IExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMvc2V0LWNvb2tpZS1hbmQtcmVk
aXJlY3QtYmFjay5weQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsx
ICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMvc2V0LWNvb2tpZS1hbmQtc2VydmUucGhwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMvc2V0
LWNvb2tpZS1hbmQtc2VydmUucGhwCShyZXZpc2lvbiAyNzUyMjYpCisrKyBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL3NldC1jb29raWUtYW5kLXNlcnZlLnBocAkobm9u
ZXhpc3RlbnQpCkBAIC0xLDEzICswLDAgQEAKLTw/cGhwCi0kY29va2llTmFtZSA9ICRfR0VUWydj
b29raWUtbmFtZSddOwotJGNvb2tpZVZhbHVlID0gJF9HRVRbJ2Nvb2tpZS12YWx1ZSddOwotJGRl
c3RpbmF0aW9uID0gJF9HRVRbJ2Rlc3RpbmF0aW9uJ107Ci1oZWFkZXIoIkNvbnRlbnQtVHlwZTog
dGV4dC9odG1sIik7Ci1oZWFkZXIoIkNhY2hlLUNvbnRyb2w6IG5vLXN0b3JlIik7Ci1oZWFkZXIo
IlNldC1Db29raWU6ICR7Y29va2llTmFtZX09JHtjb29raWVWYWx1ZX07IHBhdGg9LyIpOwotJGZw
ID0gZm9wZW4oJGRlc3RpbmF0aW9uLCAncmInKTsKLWhlYWRlcigiQ29udGVudC1MZW5ndGg6ICIg
LiBmaWxlc2l6ZSgkZGVzdGluYXRpb24pKTsKLQotZnBhc3N0aHJ1KCRmcCk7Ci1leGl0OwotPz4K
ClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9yZXNv
dXJjZXMvc2V0LWNvb2tpZS1hbmQtc2VydmUucGhwCl9fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KRGVsZXRlZDogc3ZuOmV4
ZWN1dGFibGUKIyMgLTEgKzAsMCAjIwotKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5
CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL3NldC1jb29r
aWUtYW5kLXNlcnZlLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29v
a2llcy9yZXNvdXJjZXMvc2V0LWNvb2tpZS1hbmQtc2VydmUucHkJKG5vbmV4aXN0ZW50KQorKysg
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9zZXQtY29va2llLWFuZC1z
ZXJ2ZS5weQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDIyIEBACisjIS91c3IvYmluL2VudiBw
eXRob24zCisKK2ltcG9ydCBvcworaW1wb3J0IHN5cworZnJvbSB1cmxsaWIucGFyc2UgaW1wb3J0
IHBhcnNlX3FzCisKK3F1ZXJ5ID0gcGFyc2VfcXMob3MuZW52aXJvbi5nZXQoJ1FVRVJZX1NUUklO
RycsICcnKSwga2VlcF9ibGFua192YWx1ZXM9VHJ1ZSkKK2Nvb2tpZV9uYW1lID0gcXVlcnkuZ2V0
KCdjb29raWUtbmFtZScsIFsnJ10pWzBdCitjb29raWVfdmFsdWUgPSBxdWVyeS5nZXQoJ2Nvb2tp
ZS12YWx1ZScsIFsnJ10pWzBdCitkZXN0aW5hdGlvbiA9IHF1ZXJ5LmdldCgnZGVzdGluYXRpb24n
LCBbJyddKVswXQorCitzeXMuc3Rkb3V0LndyaXRlKAorICAgICdDb250ZW50LVR5cGU6IHRleHQv
aHRtbFxyXG4nCisgICAgJ0NhY2hlLUNvbnRyb2w6IG5vLXN0b3JlXHJcbicKKyAgICAnU2V0LUNv
b2tpZToge309e307IHBhdGg9L1xyXG4nLmZvcm1hdChjb29raWVfbmFtZSwgY29va2llX3ZhbHVl
KQorKQorCit3aXRoIG9wZW4ob3MucGF0aC5qb2luKG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXyks
IGRlc3RpbmF0aW9uKSwgJ3InKSBhcyBmaWxlOgorICAgIGNvbnRlbnQgPSBmaWxlLnJlYWQoKQor
ICAgIHN5cy5zdGRvdXQud3JpdGUoJ0NvbnRlbnQtTGVuZ3RoOiB7fVxyXG5cclxue30nLmZvcm1h
dChsZW4oY29udGVudCksIGNvbnRlbnQpKQorCitzeXMuZXhpdCgwKQpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2h0dHAvdGVzdHMv
Y29va2llcy9yZXNvdXJjZXMvc2V0LWNvb2tpZS1hbmQtc2VydmUucHkKX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRl
ZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2Vz
L3NldC1jb29raWUtb24tcmVkaXJlY3QucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0
dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMvc2V0LWNvb2tpZS1vbi1yZWRpcmVjdC5waHAJKHJl
dmlzaW9uIDI3NTIyNikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9yZXNvdXJj
ZXMvc2V0LWNvb2tpZS1vbi1yZWRpcmVjdC5waHAJKG5vbmV4aXN0ZW50KQpAQCAtMSwyMSArMCww
IEBACi08P3BocAotaWYgKCRfR0VUWydzdGVwJ10gPT0gMSkgewotICBoZWFkZXIoIkhUVFAvMS4w
IDMwMiBGb3VuZCIpOwotICBoZWFkZXIoJ0xvY2F0aW9uOiBodHRwOi8vbG9jYWxob3N0OjgwMDAv
Y29va2llcy9yZXNvdXJjZXMvc2V0LWNvb2tpZS1vbi1yZWRpcmVjdC5waHA/c3RlcD0yJyk7Ci19
IGVsc2UgaWYgKCRfR0VUWydzdGVwJ10gPT0gMikgewotICBoZWFkZXIoIkhUVFAvMS4wIDMwMiBG
b3VuZCIpOwotICBzZXRjb29raWUoInRlc3RfY29va2llIiwgIjEiLCB0aW1lKCkgKyA4NjQwMCk7
Ci0gIGhlYWRlcignTG9jYXRpb246IGh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9jb29raWVzL3Jlc291
cmNlcy9zZXQtY29va2llLW9uLXJlZGlyZWN0LnBocD9zdGVwPTMnKTsKLX0gZWxzZSBpZiAoJF9H
RVRbJ3N0ZXAnXSA9PSAzKSB7Ci0gIGhlYWRlcigiSFRUUC8xLjAgMjAwIE9LIik7Ci0gIGlmIChp
c3NldCgkX0NPT0tJRVsndGVzdF9jb29raWUnXSkpIHsKLSAgICAvKiBDbGVhciBjb29raWUgaW4g
b3JkZXIgbm90IHRvIGFmZmVjdCBvdGhlciB0ZXN0cy4gKi8KLSAgICBzZXRjb29raWUoInRlc3Rf
Y29va2llIiwgIiIsIHRpbWUoKSAtIDg2NDAwKTsKLQotICAgIGVjaG8gIlBBU1NFRDogQ29va2ll
IHN1Y2Nlc3NmdWxseSBzZXRcbiI7Ci0gIH0gZWxzZSB7Ci0gICAgZWNobyAiRkFJTEVEOiBDb29r
aWUgbm90IHNldFxuIjsKLSAgfQotICBlY2hvICI8c2NyaXB0PiBpZiAod2luZG93LnRlc3RSdW5u
ZXIpIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOzwvc2NyaXB0PlxuIjsKLX0KLT8+CkluZGV4OiBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL3NldC1jb29raWUtb24tcmVk
aXJlY3QucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3Jl
c291cmNlcy9zZXQtY29va2llLW9uLXJlZGlyZWN0LnB5CShub25leGlzdGVudCkKKysrIExheW91
dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMvc2V0LWNvb2tpZS1vbi1yZWRpcmVj
dC5weQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQ2IEBACisjIS91c3IvYmluL2VudiBweXRo
b24zCisKK2ltcG9ydCBvcworaW1wb3J0IHN5cworZnJvbSBkYXRldGltZSBpbXBvcnQgZGF0ZXRp
bWUsIHRpbWVkZWx0YQorZnJvbSB1cmxsaWIucGFyc2UgaW1wb3J0IHBhcnNlX3FzCisKK2ZpbGUg
PSBfX2ZpbGVfXy5zcGxpdCgnOi9jeWd3aW4nKVstMV0KK2h0dHBfcm9vdCA9IG9zLnBhdGguZGly
bmFtZShvcy5wYXRoLmRpcm5hbWUob3MucGF0aC5hYnNwYXRoKG9zLnBhdGguZGlybmFtZShmaWxl
KSkpKQorc3lzLnBhdGguaW5zZXJ0KDAsIGh0dHBfcm9vdCkKKworZnJvbSByZXNvdXJjZXMucG9y
dGFiaWxpdHlMYXllciBpbXBvcnQgZ2V0X2Nvb2tpZXMKKworc3RlcCA9IGludChwYXJzZV9xcyhv
cy5lbnZpcm9uLmdldCgnUVVFUllfU1RSSU5HJywgJycpLCBrZWVwX2JsYW5rX3ZhbHVlcz1UcnVl
KS5nZXQoJ3N0ZXAnLCBbMF0pWzBdKQorCitzeXMuc3Rkb3V0LndyaXRlKCdDb250ZW50LVR5cGU6
IHRleHQvaHRtbFxyXG4nKQorCitpZiBzdGVwID09IDE6CisgICAgc3lzLnN0ZG91dC53cml0ZSgK
KyAgICAgICAgJ0xvY2F0aW9uOiBodHRwOi8vbG9jYWxob3N0OjgwMDAvY29va2llcy9yZXNvdXJj
ZXMvc2V0LWNvb2tpZS1vbi1yZWRpcmVjdC5weT9zdGVwPTJcclxuJworICAgICAgICAnc3RhdHVz
OiAzMDJcclxuXHJcbicKKyAgICApCisgICAgCitlbGlmIHN0ZXAgPT0gMjoKKyAgICBleHBpcmVz
ID0gZGF0ZXRpbWUudXRjbm93KCkgKyB0aW1lZGVsdGEoc2Vjb25kcz04NjQwMCkKKyAgICBzeXMu
c3Rkb3V0LndyaXRlKAorICAgICAgICAnU2V0LUNvb2tpZTogdGVzdF9jb29raWU9MTsgZXhwaXJl
cz17fSBHTVQ7IE1heC1BZ2U9ODY0MDBcclxuJworICAgICAgICAnTG9jYXRpb246IGh0dHA6Ly9s
b2NhbGhvc3Q6ODAwMC9jb29raWVzL3Jlc291cmNlcy9zZXQtY29va2llLW9uLXJlZGlyZWN0LnB5
P3N0ZXA9M1xyXG4nCisgICAgICAgICdzdGF0dXM6IDMwMlxyXG5cclxuJy5mb3JtYXQoZXhwaXJl
cy5zdHJmdGltZSgnJWEsICVkLSViLSVZICVIOiVNOiVTJykpCisgICAgKQorICAgIAorZWxpZiBz
dGVwID09IDM6CisgICAgY29va2llcyA9IGdldF9jb29raWVzKCkKKyAgICBpZiBjb29raWVzLmdl
dCgndGVzdF9jb29raWUnLCBOb25lKSBpcyBub3QgTm9uZToKKyAgICAgICAgZXhwaXJlcz0gZGF0
ZXRpbWUudXRjbm93KCkgLSB0aW1lZGVsdGEoc2Vjb25kcz04NjQwMCkKKyAgICAgICAgc3lzLnN0
ZG91dC53cml0ZSgKKyAgICAgICAgICAgICdTZXQtQ29va2llOiB0ZXN0X2Nvb2tpZT1kZWxldGVk
OyBleHBpcmVzPXt9IEdNVDsgTWF4LUFnZT0wXHJcblxyXG4nCisgICAgICAgICAgICAnUEFTU0VE
OiBDb29raWUgc3VjY2Vzc2Z1bGx5IHNldFxuJy5mb3JtYXQoZXhwaXJlcy5zdHJmdGltZSgnJWEs
ICVkLSViLSVZICVIOiVNOiVTJykpCisgICAgICAgICkKKyAgICBlbHNlOgorICAgICAgICBzeXMu
c3Rkb3V0LndyaXRlKCdcclxuRkFJTEVEOiBDb29raWUgbm90IHNldFxuJykKKworICAgIHN5cy5z
dGRvdXQud3JpdGUoJzxzY3JpcHQ+IGlmICh3aW5kb3cudGVzdFJ1bm5lcikgdGVzdFJ1bm5lci5u
b3RpZnlEb25lKCk7PC9zY3JpcHQ+XG4nKQorICAgIAorZWxzZToKKyAgICBzeXMuc3Rkb3V0Lndy
aXRlKCdcclxuJykKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCgpQcm9wZXJ0eSBjaGFuZ2Vz
IG9uOiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL3NldC1jb29raWUt
b24tcmVkaXJlY3QucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCAr
MSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL3NldC1odHRwLW9ubHktY29va2llLnBocAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL3Nl
dC1odHRwLW9ubHktY29va2llLnBocAkocmV2aXNpb24gMjc1MjI2KQorKysgTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9zZXQtaHR0cC1vbmx5LWNvb2tpZS5waHAJKG5v
bmV4aXN0ZW50KQpAQCAtMSwxMCArMCwwIEBACi08P3BocAotaWYgKCRfR0VUWydjb29raWVOYW1l
J10pIHsKLSAgc2V0Y29va2llKCRfR0VUWydjb29raWVOYW1lJ10sICIxIiwgdGltZSgpICsgODY0
MDAsICIvIiwgIiIsIEZBTFNFLCBUUlVFKTsKLSAgZWNobyAiWWVhaCI7Ci19IGVsc2UgewotICBo
ZWFkZXIoIkhUVFAvMS4wIDIwMCBPSyIpOwotICBlY2hvICJGQUlMRUQ6IE5vIGNvb2tpZU5hbWUg
cGFyYW1ldGVyIGZvdW5kLlxuIjsKLX0KLQotPz4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVz
dHMvY29va2llcy9yZXNvdXJjZXMvc2V0LWh0dHAtb25seS1jb29raWUucHkKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9zZXQtaHR0cC1vbmx5
LWNvb2tpZS5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tp
ZXMvcmVzb3VyY2VzL3NldC1odHRwLW9ubHktY29va2llLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsMjIgQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbjMKKworaW1wb3J0IG9zCitpbXBvcnQg
c3lzCitmcm9tIGRhdGV0aW1lIGltcG9ydCBkYXRldGltZSwgdGltZWRlbHRhCitmcm9tIHVybGxp
Yi5wYXJzZSBpbXBvcnQgcGFyc2VfcXMKKworY29va2llX25hbWUgPSBwYXJzZV9xcyhvcy5lbnZp
cm9uLmdldCgnUVVFUllfU1RSSU5HJywgJycpLCBrZWVwX2JsYW5rX3ZhbHVlcz1UcnVlKS5nZXQo
J2Nvb2tpZU5hbWUnLCBbJyddKVswXQorZXhwaXJlcz0gZGF0ZXRpbWUudXRjbm93KCkgKyB0aW1l
ZGVsdGEoc2Vjb25kcz04NjQwMCkKKworc3lzLnN0ZG91dC53cml0ZSgnQ29udGVudC1UeXBlOiB0
ZXh0L2h0bWxcclxuJykKKworaWYgY29va2llX25hbWU6CisgICAgc3lzLnN0ZG91dC53cml0ZSgK
KyAgICAgICAgJ1NldC1Db29raWU6IHt9PTE7IGV4cGlyZXM9e30gR01UOyBNYXgtQWdlPTg2NDAw
OyBwYXRoPS87IEh0dHBPbmx5XHJcblxyXG4nCisgICAgICAgICdZZWFoJy5mb3JtYXQoY29va2ll
X25hbWUsIGV4cGlyZXMuc3RyZnRpbWUoJyVhLCAlZC0lYi0lWSAlSDolTTolUycpKQorICAgICkK
K2Vsc2U6CisgICAgc3lzLnN0b2R1dC53cml0ZSgKKyAgICAgICAgJ3N0YXR1czogMjAwXHJcblxy
XG4nCisgICAgICAgICdGQUlMRUQ6IE5vIGNvb2tpZU5hbWUgcGFyYW1ldGVyIGZvdW5kLlxuJwor
ICAgICkKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL3NldC1odHRwLW9ubHktY29v
a2llLnB5Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoK
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9jb29raWVzL3Jlc291cmNlcy9zZXRBcnJheWNvb2tpZXMtcmVzdWx0LnBocAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL3NldEFycmF5
Y29va2llcy1yZXN1bHQucGhwCShyZXZpc2lvbiAyNzUyMjYpCisrKyBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL3NldEFycmF5Y29va2llcy1yZXN1bHQucGhwCShub25l
eGlzdGVudCkKQEAgLTEsMzQgKzAsMCBAQAotPGh0bWw+DQotPGhlYWQ+DQotPHNjcmlwdD4NCi0g
ICAgZnVuY3Rpb24gcnVuKCl7DQotICAgICAgICAvLyBSZWFkaW5nIHRoZSBDb29pa2VzIHVzaW5n
IFBIUA0KLSAgICAgICAgdmFyIGNvb2tpZSA9ICI8P3BocCBpZiAoaXNzZXQoJF9DT09LSUVbJ3Nl
dEFycmF5Y29va2llJ10pKSB7DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3Jl
YWNoICgkX0NPT0tJRVsnc2V0QXJyYXljb29raWUnXSBhcyAkbmFtZSA9PiAkdmFsdWUpIHsNCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkbmFtZSA9IGh0bWxzcGVjaWFsY2hh
cnMoJG5hbWUpOw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR2YWx1ZSA9
IGh0bWxzcGVjaWFsY2hhcnMoJHZhbHVlKTsNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBlY2hvICIkbmFtZSA6ICR2YWx1ZSI7DQotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB9DQotCQkgICAgICAgICAgICB9IA0KLSAgICAgICAgICAgICAgICAgICAgID8+IjsN
Ci0NCi0gICAgICAgIHZhciBzdGF0dXMgPSAiRmFpbCI7DQotICAgICAgICBpZiAoY29va2llID09
ICJ0aHJlZSA6IGNvb2tpZXRocmVldHdvIDogY29va2lldHdvb25lIDogY29va2llb25lIikgew0K
LSAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0IikuaW5uZXJIVE1MID0g
IjxiPlBhc3NlZDwvYj4iOw0KLSAgICAgICAgICAgIHN0YXR1cyA9ICJQYXNzIjsNCi0gICAgICAg
IH0gZWxzZQ0KLSAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0IikuaW5u
ZXJIVE1MID0gIjxiPkZhaWxlZDwvYj4iOyAgICANCi0gICAgfQ0KLWlmICh3aW5kb3cudGVzdFJ1
bm5lcikNCi0gICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOw0KLQ0KLTwvc2NyaXB0Pg0K
LTwvaGVhZD4NCi08Ym9keSBvbmxvYWQ9InJ1bigpIj4NCi08cD5UaGlzIHRlc3QgY2FzZSB0byBz
ZXQgYSBBcnJheSBvZiBDb29raWUgc2l6ZSBvZiAzIGFuZCBjaGVjayBpZiBpdCdzIGJlZW4gY29y
cmVjdGx5IHNldCBhbmQgaW4gb3JkZXIuPGJyIC8+SWYgdGhlIFRlc3QgY2FzZSB3YXMgc3VjY2Vz
c2Z1bCwgVGhlbiBpdCBzaG91bGQgcHJpbnQgUGFzc2VkIGJlbG93ISEgPC9wPjxici8+DQotPGRp
diBpZD0idGVzdCI+DQotTm90IFdvcmtpbmchIQ0KLTwvZGl2Pg0KLTwvYm9keT4NCi08L2h0bWw+
DQotDQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9zZXRB
cnJheWNvb2tpZXMucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29v
a2llcy9yZXNvdXJjZXMvc2V0QXJyYXljb29raWVzLnBocAkocmV2aXNpb24gMjc1MjI2KQorKysg
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9zZXRBcnJheWNvb2tpZXMu
cGhwCShub25leGlzdGVudCkKQEAgLTEsOCArMCwwIEBACi08P3BocCANCi0vLyBTZXR0aW5nIEFy
cmF5IG9mIGNvb2tpZXMNCi1zZXRjb29raWUoInNldEFycmF5Y29va2llW3RocmVlXSIsICJjb29r
aWV0aHJlZSIpOw0KLXNldGNvb2tpZSgic2V0QXJyYXljb29raWVbdHdvXSIsICJjb29raWV0d28i
KTsNCi1zZXRjb29raWUoInNldEFycmF5Y29va2llW29uZV0iLCAiY29va2llb25lIik7DQotaGVh
ZGVyKCdMb2NhdGlvbjogc2V0QXJyYXljb29raWVzLXJlc3VsdC5waHAnKTsNCi0/Pg0KLQ0KSW5k
ZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMvc2V0VXRmOENvb2tp
ZXMtcmVzdWx0LnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tp
ZXMvcmVzb3VyY2VzL3NldFV0ZjhDb29raWVzLXJlc3VsdC5waHAJKHJldmlzaW9uIDI3NTIyNikK
KysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMvc2V0VXRmOENvb2tp
ZXMtcmVzdWx0LnBocAkobm9uZXhpc3RlbnQpCkBAIC0xLDE2ICswLDAgQEAKLTw/cGhwIGhlYWRl
cignQ29udGVudC1UeXBlOiB0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgnKTsgPz4KLTxodG1sPgot
PGJvZHk+Ci08cD4KLTw/cGhwCi0gICAgZWNobyAiPHA+c29tZSB1dGY4IGNoYXJhY3RlcnM6IFVU
Ri04IMOmw7jDpSDkuK3lm708L3A+IjsKLSAgICBlY2hvICI8cD5waHBfY29va2llOiAiLiRfQ09P
S0lFWyJwaHBfY29va2llIl0uIjwvcD4iOwotPz4KLTxzY3JpcHQ+Ci0gICAgaWYgKHdpbmRvdy50
ZXN0UnVubmVyKQotICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICBkb2N1bWVu
dC5jb29raWU9ImpzX2Nvb2tpZT1VVEYtOCDDpsO4w6Ug5Lit5Zu9OyBleHBpcmVzPU1vbmRheSwg
MDQtQXByLTIwMjAgMDU6MDA6MDAgR01UIjsKLSAgICBkb2N1bWVudC53cml0ZSgiY29va2llcyBy
ZWFkIHRocm91Z2gganM6ICIrZG9jdW1lbnQuY29va2llKTsKLTwvc2NyaXB0PgotPC9ib2R5Pgot
PC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9z
ZXRVdGY4Q29va2llcy5waHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9j
b29raWVzL3Jlc291cmNlcy9zZXRVdGY4Q29va2llcy5waHAJKHJldmlzaW9uIDI3NTIyNikKKysr
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMvc2V0VXRmOENvb2tpZXMu
cGhwCShub25leGlzdGVudCkKQEAgLTEsNSArMCwwIEBACi08P3BocAotICAgIHNldGNvb2tpZSgi
cGhwX2Nvb2tpZSIsICJVVEYtOCDDpsO4w6Ug5Lit5Zu9Iik7Ci0gICAgaGVhZGVyKCdDb250ZW50
LVR5cGU6IHRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCcpOwotICAgIGhlYWRlcignTG9jYXRpb246
IHNldFV0ZjhDb29raWVzLXJlc3VsdC5waHAnKTsKLT8+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL3RoaXJkLXBhcnR5LWNvb2tpZS1yZWxheGluZy1pZnJh
bWUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcmVz
b3VyY2VzL3RoaXJkLXBhcnR5LWNvb2tpZS1yZWxheGluZy1pZnJhbWUuaHRtbAkocmV2aXNpb24g
Mjc1MjI2KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy90aGly
ZC1wYXJ0eS1jb29raWUtcmVsYXhpbmctaWZyYW1lLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTM3
LDcgKzM3LDcgQEAgZnVuY3Rpb24gc2hvd0Nvb2tpZXMoKQogCiBmdW5jdGlvbiBzZW5kWEhSKHF1
ZXJ5Q29tbWFuZCkKIHsKLSAgICB2YXIgYmFzZXVybCA9ICJodHRwOi8vbG9jYWxob3N0OjgwMDAv
Y29va2llcy9yZXNvdXJjZXMvY29va2llLXV0aWxpdHkucGhwIjsKKyAgICB2YXIgYmFzZXVybCA9
ICJodHRwOi8vbG9jYWxob3N0OjgwMDAvY29va2llcy9yZXNvdXJjZXMvY29va2llLXV0aWxpdHku
cHkiOwogICAgIHZhciB1cmwgPSBxdWVyeUNvbW1hbmQgPyBiYXNldXJsICsgIj9xdWVyeWZ1bmN0
aW9uPSIgKyBxdWVyeUNvbW1hbmQgOiBiYXNldXJsOwogICAgIGNvbnNvbGUubG9nKHVybCk7CiAg
ICAgdmFyIHJlcSA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOwpJbmRleDogTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9mZXRjaC1hZnRlci1uYXZpZ2F0aW5nLWlmcmFtZS1p
bi1jcm9zcy1vcmlnaW4tcGFnZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAv
dGVzdHMvY29va2llcy9zYW1lLXNpdGUvZmV0Y2gtYWZ0ZXItbmF2aWdhdGluZy1pZnJhbWUtaW4t
Y3Jvc3Mtb3JpZ2luLXBhZ2UuaHRtbAkocmV2aXNpb24gMjc1MjI2KQorKysgTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9mZXRjaC1hZnRlci1uYXZpZ2F0aW5nLWlmcmFt
ZS1pbi1jcm9zcy1vcmlnaW4tcGFnZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xMSw3ICsxMSw3
IEBAIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKQogICAgIGF3YWl0IHNldENvb2tpZSgiaW1wbGlj
aXQtc3RyaWN0IiwgIjYiLCB7IlNhbWVTaXRlIjogbnVsbCwgIk1heC1BZ2UiOiAxMDAsICJwYXRo
IjogIi8ifSk7CiAgICAgYXdhaXQgc2V0Q29va2llKCJzdHJpY3QtYmVjYXVzZS1pbnZhbGlkLVNh
bWVTaXRlLXZhbHVlIiwgIjYiLCB7IlNhbWVTaXRlIjogImludmFsaWQiLCAiTWF4LUFnZSI6IDEw
MCwgInBhdGgiOiAiLyJ9KTsKICAgICBhd2FpdCBzZXRDb29raWUoImxheCIsICI2IiwgeyJTYW1l
U2l0ZSI6ICJMYXgiLCAiTWF4LUFnZSI6IDEwMCwgInBhdGgiOiAiLyJ9KTsKLSAgICB3aW5kb3cu
bG9jYXRpb24uaHJlZiA9ICJodHRwOi8vbG9jYWxob3N0OjgwMDAvcmVzb3VyY2VzL2VjaG8taWZy
YW1lLXNyYy5waHA/c3JjPWh0dHAlM0EvLzEyNy4wLjAuMSUzQTgwMDAvY29va2llcy9zYW1lLXNp
dGUvcmVzb3VyY2VzL2NsaWNrLWh5cGVybGluay5waHAlM0ZocmVmJTNEZmV0Y2gtYWZ0ZXItbmF2
aWdhdGluZy1pZnJhbWUtaW4tY3Jvc3Mtb3JpZ2luLXBhZ2UucGhwIjsKKyAgICB3aW5kb3cubG9j
YXRpb24uaHJlZiA9ICJodHRwOi8vbG9jYWxob3N0OjgwMDAvcmVzb3VyY2VzL2VjaG8taWZyYW1l
LXNyYy5waHA/c3JjPWh0dHAlM0EvLzEyNy4wLjAuMSUzQTgwMDAvY29va2llcy9zYW1lLXNpdGUv
cmVzb3VyY2VzL2NsaWNrLWh5cGVybGluay5weSUzRmhyZWYlM0RmZXRjaC1hZnRlci1uYXZpZ2F0
aW5nLWlmcmFtZS1pbi1jcm9zcy1vcmlnaW4tcGFnZS5weSI7CiB9CiBydW5UZXN0KCk7CiA8L3Nj
cmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvZmV0
Y2gtYWZ0ZXItdG9wLWxldmVsLWNyb3NzLW9yaWdpbi1yZWRpcmVjdC5odG1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvZmV0Y2gtYWZ0ZXIt
dG9wLWxldmVsLWNyb3NzLW9yaWdpbi1yZWRpcmVjdC5odG1sCShyZXZpc2lvbiAyNzUyMjYpCisr
KyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRlL2ZldGNoLWFmdGVyLXRv
cC1sZXZlbC1jcm9zcy1vcmlnaW4tcmVkaXJlY3QuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMTEs
NyArMTEsNyBAQCBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkKICAgICBhd2FpdCBzZXRDb29raWUo
ImltcGxpY2l0LXN0cmljdCIsICIxOSIsIHsiU2FtZVNpdGUiOiBudWxsLCAiTWF4LUFnZSI6IDEw
MCwgInBhdGgiOiAiLyJ9KTsKICAgICBhd2FpdCBzZXRDb29raWUoInN0cmljdC1iZWNhdXNlLWlu
dmFsaWQtU2FtZVNpdGUtdmFsdWUiLCAiMTkiLCB7IlNhbWVTaXRlIjogImludmFsaWQiLCAiTWF4
LUFnZSI6IDEwMCwgInBhdGgiOiAiLyJ9KTsKICAgICBhd2FpdCBzZXRDb29raWUoImxheCIsICIx
OSIsIHsiU2FtZVNpdGUiOiAiTGF4IiwgIk1heC1BZ2UiOiAxMDAsICJwYXRoIjogIi8ifSk7Ci0g
ICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwL3Jlc291cmNl
cy9yZWRpcmVjdC5weT91cmw9aHR0cDovLzEyNy4wLjAuMTo4MDAwL2Nvb2tpZXMvc2FtZS1zaXRl
L3Jlc291cmNlcy9mZXRjaC1hZnRlci10b3AtbGV2ZWwtY3Jvc3Mtb3JpZ2luLXJlZGlyZWN0LnBo
cCI7CisgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwL3Jl
c291cmNlcy9yZWRpcmVjdC5weT91cmw9aHR0cDovLzEyNy4wLjAuMTo4MDAwL2Nvb2tpZXMvc2Ft
ZS1zaXRlL3Jlc291cmNlcy9mZXRjaC1hZnRlci10b3AtbGV2ZWwtY3Jvc3Mtb3JpZ2luLXJlZGly
ZWN0LnB5IjsKIH0KIHJ1blRlc3QoKTsKIDwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9mZXRjaC1hZnRlci10b3AtbGV2ZWwtbmF2aWdhdGlv
bi1mcm9tLWNyb3NzLW9yaWdpbi1wYWdlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9mZXRjaC1hZnRlci10b3AtbGV2ZWwtbmF2aWdh
dGlvbi1mcm9tLWNyb3NzLW9yaWdpbi1wYWdlLmh0bWwJKHJldmlzaW9uIDI3NTIyNikKKysrIExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvZmV0Y2gtYWZ0ZXItdG9wLWxl
dmVsLW5hdmlnYXRpb24tZnJvbS1jcm9zcy1vcmlnaW4tcGFnZS5odG1sCSh3b3JraW5nIGNvcHkp
CkBAIC0xMSw3ICsxMSw3IEBAIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKQogICAgIGF3YWl0IHNl
dENvb2tpZSgiaW1wbGljaXQtc3RyaWN0IiwgIjUiLCB7IlNhbWVTaXRlIjogbnVsbCwgIk1heC1B
Z2UiOiAxMDAsICJwYXRoIjogIi8ifSk7CiAgICAgYXdhaXQgc2V0Q29va2llKCJzdHJpY3QtYmVj
YXVzZS1pbnZhbGlkLVNhbWVTaXRlLXZhbHVlIiwgIjUiLCB7IlNhbWVTaXRlIjogImludmFsaWQi
LCAiTWF4LUFnZSI6IDEwMCwgInBhdGgiOiAiLyJ9KTsKICAgICBhd2FpdCBzZXRDb29raWUoImxh
eCIsICI1IiwgeyJTYW1lU2l0ZSI6ICJMYXgiLCAiTWF4LUFnZSI6IDEwMCwgInBhdGgiOiAiLyJ9
KTsKLSAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9ICJodHRwOi8vbG9jYWxob3N0OjgwMDAvY29v
a2llcy9zYW1lLXNpdGUvcmVzb3VyY2VzL2NsaWNrLWh5cGVybGluay5waHA/aHJlZj1odHRwJTNB
Ly8xMjcuMC4wLjElM0E4MDAwL2Nvb2tpZXMvc2FtZS1zaXRlL3Jlc291cmNlcy9mZXRjaC1hZnRl
ci10b3AtbGV2ZWwtbmF2aWdhdGlvbi1mcm9tLWNyb3NzLW9yaWdpbi1wYWdlLnBocCI7CisgICAg
d2luZG93LmxvY2F0aW9uLmhyZWYgPSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwL2Nvb2tpZXMvc2Ft
ZS1zaXRlL3Jlc291cmNlcy9jbGljay1oeXBlcmxpbmsucHk/aHJlZj1odHRwJTNBLy8xMjcuMC4w
LjElM0E4MDAwL2Nvb2tpZXMvc2FtZS1zaXRlL3Jlc291cmNlcy9mZXRjaC1hZnRlci10b3AtbGV2
ZWwtbmF2aWdhdGlvbi1mcm9tLWNyb3NzLW9yaWdpbi1wYWdlLnB5IjsKIH0KIHJ1blRlc3QoKTsK
IDwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0
ZS9mZXRjaC1hZnRlci10b3AtbGV2ZWwtbmF2aWdhdGlvbi1pbml0aWF0ZWQtZnJvbS1pZnJhbWUt
aW4tY3Jvc3Mtb3JpZ2luLXBhZ2UuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRlL2ZldGNoLWFmdGVyLXRvcC1sZXZlbC1uYXZpZ2F0aW9u
LWluaXRpYXRlZC1mcm9tLWlmcmFtZS1pbi1jcm9zcy1vcmlnaW4tcGFnZS5odG1sCShyZXZpc2lv
biAyNzUyMjYpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRlL2Zl
dGNoLWFmdGVyLXRvcC1sZXZlbC1uYXZpZ2F0aW9uLWluaXRpYXRlZC1mcm9tLWlmcmFtZS1pbi1j
cm9zcy1vcmlnaW4tcGFnZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xMSw3ICsxMSw3IEBAIGFz
eW5jIGZ1bmN0aW9uIHJ1blRlc3QoKQogICAgIGF3YWl0IHNldENvb2tpZSgiaW1wbGljaXQtc3Ry
aWN0IiwgIjQiLCB7IlNhbWVTaXRlIjogbnVsbCwgIk1heC1BZ2UiOiAxMDAsICJwYXRoIjogIi8i
fSk7CiAgICAgYXdhaXQgc2V0Q29va2llKCJzdHJpY3QtYmVjYXVzZS1pbnZhbGlkLVNhbWVTaXRl
LXZhbHVlIiwgIjQiLCB7IlNhbWVTaXRlIjogImludmFsaWQiLCAiTWF4LUFnZSI6IDEwMCwgInBh
dGgiOiAiLyJ9KTsKICAgICBhd2FpdCBzZXRDb29raWUoImxheCIsICI0IiwgeyJTYW1lU2l0ZSI6
ICJMYXgiLCAiTWF4LUFnZSI6IDEwMCwgInBhdGgiOiAiLyJ9KTsKLSAgICB3aW5kb3cubG9jYXRp
b24uaHJlZiA9ICJodHRwOi8vbG9jYWxob3N0OjgwMDAvcmVzb3VyY2VzL2VjaG8taWZyYW1lLXNy
Yy5waHA/c3JjPWh0dHAlM0EvLzEyNy4wLjAuMSUzQTgwMDAvY29va2llcy9zYW1lLXNpdGUvcmVz
b3VyY2VzL2NsaWNrLWh5cGVybGluay5waHAlM0ZocmVmJTNEZmV0Y2gtYWZ0ZXItdG9wLWxldmVs
LW5hdmlnYXRpb24taW5pdGlhdGVkLWZyb20taWZyYW1lLWluLWNyb3NzLW9yaWdpbi1wYWdlLnBo
cCUyNnRhcmdldCUzRF90b3AiOworICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gImh0dHA6Ly9s
b2NhbGhvc3Q6ODAwMC9yZXNvdXJjZXMvZWNoby1pZnJhbWUtc3JjLnBocD9zcmM9aHR0cCUzQS8v
MTI3LjAuMC4xJTNBODAwMC9jb29raWVzL3NhbWUtc2l0ZS9yZXNvdXJjZXMvY2xpY2staHlwZXJs
aW5rLnB5JTNGaHJlZiUzRGZldGNoLWFmdGVyLXRvcC1sZXZlbC1uYXZpZ2F0aW9uLWluaXRpYXRl
ZC1mcm9tLWlmcmFtZS1pbi1jcm9zcy1vcmlnaW4tcGFnZS5weSUyNnRhcmdldCUzRF90b3AiOwog
fQogcnVuVGVzdCgpOwogPC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nv
b2tpZXMvc2FtZS1zaXRlL2ZldGNoLWFmdGVyLXRvcC1sZXZlbC1zYW1lLW9yaWdpbi1yZWRpcmVj
dC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9zYW1l
LXNpdGUvZmV0Y2gtYWZ0ZXItdG9wLWxldmVsLXNhbWUtb3JpZ2luLXJlZGlyZWN0Lmh0bWwJKHJl
dmlzaW9uIDI3NTIyNikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9zYW1lLXNp
dGUvZmV0Y2gtYWZ0ZXItdG9wLWxldmVsLXNhbWUtb3JpZ2luLXJlZGlyZWN0Lmh0bWwJKHdvcmtp
bmcgY29weSkKQEAgLTExLDcgKzExLDcgQEAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpCiAgICAg
YXdhaXQgc2V0Q29va2llKCJpbXBsaWNpdC1zdHJpY3QiLCAiMjAiLCB7IlNhbWVTaXRlIjogbnVs
bCwgIk1heC1BZ2UiOiAxMDAsICJwYXRoIjogIi8ifSk7CiAgICAgYXdhaXQgc2V0Q29va2llKCJz
dHJpY3QtYmVjYXVzZS1pbnZhbGlkLVNhbWVTaXRlLXZhbHVlIiwgIjIwIiwgeyJTYW1lU2l0ZSI6
ICJpbnZhbGlkIiwgIk1heC1BZ2UiOiAxMDAsICJwYXRoIjogIi8ifSk7CiAgICAgYXdhaXQgc2V0
Q29va2llKCJsYXgiLCAiMjAiLCB7IlNhbWVTaXRlIjogIkxheCIsICJNYXgtQWdlIjogMTAwLCAi
cGF0aCI6ICIvIn0pOwotICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gImh0dHA6Ly8xMjcuMC4w
LjE6ODAwMC9yZXNvdXJjZXMvcmVkaXJlY3QucHk/dXJsPWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9j
b29raWVzL3NhbWUtc2l0ZS9yZXNvdXJjZXMvZmV0Y2gtYWZ0ZXItdG9wLWxldmVsLXNhbWUtb3Jp
Z2luLXJlZGlyZWN0LnBocCI7CisgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSAiaHR0cDovLzEy
Ny4wLjAuMTo4MDAwL3Jlc291cmNlcy9yZWRpcmVjdC5weT91cmw9aHR0cDovLzEyNy4wLjAuMTo4
MDAwL2Nvb2tpZXMvc2FtZS1zaXRlL3Jlc291cmNlcy9mZXRjaC1hZnRlci10b3AtbGV2ZWwtc2Ft
ZS1vcmlnaW4tcmVkaXJlY3QucHkiOwogfQogcnVuVGVzdCgpOwogPC9zY3JpcHQ+CkluZGV4OiBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRlL2ZldGNoLWluLXNhbWUtb3Jp
Z2luLXNlcnZpY2Utd29ya2VyLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9mZXRjaC1pbi1zYW1lLW9yaWdpbi1zZXJ2aWNlLXdvcmtl
ci5odG1sCShyZXZpc2lvbiAyNzUyMjYpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tp
ZXMvc2FtZS1zaXRlL2ZldGNoLWluLXNhbWUtb3JpZ2luLXNlcnZpY2Utd29ya2VyLmh0bWwJKHdv
cmtpbmcgY29weSkKQEAgLTIwLDcgKzIwLDcgQEAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpCiAg
ICAgYXdhaXQgc2V0Q29va2llKCJpbXBsaWNpdC1zdHJpY3QiLCAiMTEiLCB7IlNhbWVTaXRlIjog
bnVsbCwgIk1heC1BZ2UiOiAxMDAsICJwYXRoIjogIi8ifSk7CiAgICAgYXdhaXQgc2V0Q29va2ll
KCJzdHJpY3QtYmVjYXVzZS1pbnZhbGlkLVNhbWVTaXRlLXZhbHVlIiwgIjExIiwgeyJTYW1lU2l0
ZSI6ICJpbnZhbGlkIiwgIk1heC1BZ2UiOiAxMDAsICJwYXRoIjogIi8ifSk7CiAgICAgYXdhaXQg
c2V0Q29va2llKCJsYXgiLCAiMTEiLCB7IlNhbWVTaXRlIjogIkxheCIsICJNYXgtQWdlIjogMTAw
LCAicGF0aCI6ICIvIn0pOwotICAgIGF3YWl0IGludGVyY2VwdGVkRnJhbWUoInJlc291cmNlcy9w
YXNzdGhyb3VnaC1zZXJ2aWNlLXdvcmtlci5qcyIsICJyZXNvdXJjZXMvZmV0Y2gtaW4tc2FtZS1v
cmlnaW4tc2VydmljZS13b3JrZXIucGhwIik7CisgICAgYXdhaXQgaW50ZXJjZXB0ZWRGcmFtZSgi
cmVzb3VyY2VzL3Bhc3N0aHJvdWdoLXNlcnZpY2Utd29ya2VyLmpzIiwgInJlc291cmNlcy9mZXRj
aC1pbi1zYW1lLW9yaWdpbi1zZXJ2aWNlLXdvcmtlci5weSIpOwogfQogcnVuVGVzdCgpOwogPC9z
Y3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRlL2xh
eC1zYW1lc2l0ZS1jb29raWUtYWZ0ZXItY3Jvc3Mtc2l0ZS1oaXN0b3J5LWxvYWQucGhwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvbGF4LXNh
bWVzaXRlLWNvb2tpZS1hZnRlci1jcm9zcy1zaXRlLWhpc3RvcnktbG9hZC5waHAJKHJldmlzaW9u
IDI3NTIyNikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvbGF4
LXNhbWVzaXRlLWNvb2tpZS1hZnRlci1jcm9zcy1zaXRlLWhpc3RvcnktbG9hZC5waHAJKG5vbmV4
aXN0ZW50KQpAQCAtMSwyNiArMCwwIEBACi08P3BocAotaGVhZGVyKCJDYWNoZS1Db250cm9sOiBu
by1zdG9yZSIpOwotPz4KLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08Ym9keT4KLTxzY3JpcHQg
c3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0Pgot
ZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgbGF4IHNhbWUtc2l0ZSBjb29raWVzIGFyZSBzZW50IG9u
IGEgY3Jvc3Mtc2l0ZSBoaXN0b3J5IG5hdmlnYXRpb24uIik7Ci1qc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKLQotb25sb2FkID0gZnVuY3Rpb24oKSB7Ci08P3BocAotaWYgKGlzc2V0KCRfQ09PS0lFWyJm
b28iXSkpIHsKLSAgICBlY2hvICIgICAgdGVzdFBhc3NlZCgnV2FzIGFibGUgdG8gcmVhZCB0aGUg
Y29va2llIGFmdGVyIHRoZSBiYWNrIG5hdmlnYXRpb24nKTsiOwotICAgIGVjaG8gIiAgICBmaW5p
c2hKU1Rlc3QoKTsiOwotICAgIGVjaG8gIiAgICByZXR1cm47IjsKLX0gZWxzZSB7Ci0gICAgZWNo
byAiICAgIGRvY3VtZW50LmNvb2tpZSA9ICdmb289YmFyOyBTYW1lU2l0ZT1sYXgnOyI7Ci0gICAg
ZWNobyAiICAgIHNldFRpbWVvdXQoKCkgPT4geyB3aW5kb3cubG9jYXRpb24gPSAnaHR0cDovL2xv
Y2FsaG9zdDo4MDAwL2Nvb2tpZXMvc2FtZS1zaXRlL3Jlc291cmNlcy9uYXZpZ2F0ZS1iYWNrLmh0
bWwnOyB9LCAwKTsiOwotfQotPz4KLX0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRl
eDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9sYXgtc2FtZXNpdGUt
Y29va2llLWFmdGVyLWNyb3NzLXNpdGUtaGlzdG9yeS1sb2FkLnB5Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvbGF4LXNhbWVzaXRlLWNvb2tp
ZS1hZnRlci1jcm9zcy1zaXRlLWhpc3RvcnktbG9hZC5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRlL2xheC1zYW1lc2l0ZS1jb29raWUt
YWZ0ZXItY3Jvc3Mtc2l0ZS1oaXN0b3J5LWxvYWQucHkJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSw0NCBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMworCitpbXBvcnQgb3MKK2ltcG9ydCBzeXMK
KworZmlsZSA9IF9fZmlsZV9fLnNwbGl0KCc6L2N5Z3dpbicpWy0xXQoraHR0cF9yb290ID0gb3Mu
cGF0aC5kaXJuYW1lKG9zLnBhdGguZGlybmFtZShvcy5wYXRoLmFic3BhdGgob3MucGF0aC5kaXJu
YW1lKGZpbGUpKSkpCitzeXMucGF0aC5pbnNlcnQoMCwgaHR0cF9yb290KQorCitmcm9tIHJlc291
cmNlcy5wb3J0YWJpbGl0eUxheWVyIGltcG9ydCBnZXRfY29va2llcworCitjb29raWVzID0gZ2V0
X2Nvb2tpZXMoKQorCitzeXMuc3Rkb3V0LndyaXRlKAorICAgICdDYWNoZS1Db250cm9sOiBuby1z
dG9yZVxyXG4nCisgICAgJ0NvbnRlbnQtVHlwZTogdGV4dC9odG1sXHJcblxyXG4nCispCisKK3By
aW50KCcnJzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvanMt
dGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorZGVzY3JpcHRp
b24oIlRlc3RzIHRoYXQgbGF4IHNhbWUtc2l0ZSBjb29raWVzIGFyZSBzZW50IG9uIGEgY3Jvc3Mt
c2l0ZSBoaXN0b3J5IG5hdmlnYXRpb24uIik7Citqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworb25s
b2FkID0gZnVuY3Rpb24oKSB7JycnKQorCitpZiBjb29raWVzLmdldCgnZm9vJywgTm9uZSkgaXMg
bm90IE5vbmU6CisgICAgc3lzLnN0ZG91dC53cml0ZSgKKyAgICAgICAgJyAgICB0ZXN0UGFzc2Vk
KFwnV2FzIGFibGUgdG8gcmVhZCB0aGUgY29va2llIGFmdGVyIHRoZSBiYWNrIG5hdmlnYXRpb25c
Jyk7JworICAgICAgICAnICAgIGZpbmlzaEpTVGVzdCgpOycKKyAgICAgICAgJyAgICByZXR1cm47
JworICAgICkKK2Vsc2U6CisgICAgc3lzLnN0ZG91dC53cml0ZSgKKyAgICAgICAgJyAgICBkb2N1
bWVudC5jb29raWUgPSBcJ2Zvbz1iYXI7IFNhbWVTaXRlPWxheFwnOycKKyAgICAgICAgJyAgICBz
ZXRUaW1lb3V0KCgpID0+IHsgd2luZG93LmxvY2F0aW9uID0gXCdodHRwOi8vbG9jYWxob3N0Ojgw
MDAvY29va2llcy9zYW1lLXNpdGUvcmVzb3VyY2VzL25hdmlnYXRlLWJhY2suaHRtbFwnOyB9LCAw
KTsnCisgICAgKQorCitwcmludCgnJyd9Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4nJycp
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9sYXgtc2FtZXNpdGUtY29va2llLWFm
dGVyLWNyb3NzLXNpdGUtaGlzdG9yeS1sb2FkLnB5Cl9fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVj
dXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJ
bmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9wb3B1cC1jcm9z
cy1zaXRlLXBvc3QuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nv
b2tpZXMvc2FtZS1zaXRlL3BvcHVwLWNyb3NzLXNpdGUtcG9zdC5odG1sCShyZXZpc2lvbiAyNzUy
MjYpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRlL3BvcHVwLWNy
b3NzLXNpdGUtcG9zdC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0yNSw3ICsyNSw3IEBAIGlmICh3
aW5kb3cubG9jYXRpb24uaG9zdG5hbWUgPT0gIjEyNy4wLjAKICAgICAgICAgfSkpOwogCiAgICAg
ICAgIHZhciBmID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZm9ybScpOwotICAgICAgICBmLmFj
dGlvbiA9ICJodHRwOi8vMTI3LjAuMC4xOjgwMDAvY29va2llcy9yZXNvdXJjZXMvcG9zdC1jb29r
aWVzLXRvLW9wZW5lci5waHAiOworICAgICAgICBmLmFjdGlvbiA9ICJodHRwOi8vMTI3LjAuMC4x
OjgwMDAvY29va2llcy9yZXNvdXJjZXMvcG9zdC1jb29raWVzLXRvLW9wZW5lci5weSI7CiAgICAg
ICAgIGYubWV0aG9kID0gIlBPU1QiOwogICAgICAgICBmLnRhcmdldCA9ICJfYmxhbmsiCiAgICAg
ICAgIHdpbmRvdy5vbmxvYWQgPSB0LnN0ZXBfZnVuYyhmLnN1Ym1pdC5iaW5kKGYpKTsKSW5kZXg6
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvcG9wdXAtY3Jvc3Mtc2l0
ZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9zYW1l
LXNpdGUvcG9wdXAtY3Jvc3Mtc2l0ZS5odG1sCShyZXZpc2lvbiAyNzUyMjYpCisrKyBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRlL3BvcHVwLWNyb3NzLXNpdGUuaHRtbAko
d29ya2luZyBjb3B5KQpAQCAtMTIsNyArMTIsNyBAQCBpZiAod2luZG93LmxvY2F0aW9uLmhvc3Ru
YW1lID09ICIxMjcuMC4wCiAgICAgd2luZG93LmxvY2F0aW9uLmhvc3RuYW1lID0gImxvY2FsaG9z
dCI7CiB9IGVsc2UgewogICAgIGFzeW5jX3Rlc3QodCA9PiB7Ci0gICAgICAgIHZhciBpID0gd2lu
ZG93Lm9wZW4oImh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9jb29raWVzL3Jlc291cmNlcy9wb3N0LWNv
b2tpZXMtdG8tb3BlbmVyLnBocCIpOworICAgICAgICB2YXIgaSA9IHdpbmRvdy5vcGVuKCJodHRw
Oi8vMTI3LjAuMC4xOjgwMDAvY29va2llcy9yZXNvdXJjZXMvcG9zdC1jb29raWVzLXRvLW9wZW5l
ci5weSIpOwogICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsIHQuc3Rl
cF9mdW5jX2RvbmUoZSA9PiB7CiAgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGUuZGF0YS5odHRw
W1NUUklDVF9ET01dLCB1bmRlZmluZWQsICJzdHJpY3QiKTsKICAgICAgICAgICAgIGFzc2VydF9l
cXVhbHMoZS5kYXRhLmh0dHBbSU1QTElDSVRfU1RSSUNUX0RPTV0sICIxIiwgImltcGxpY2l0LXN0
cmljdCIpOwpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9w
b3B1cC1zYW1lLXNpdGUtcG9zdC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAv
dGVzdHMvY29va2llcy9zYW1lLXNpdGUvcG9wdXAtc2FtZS1zaXRlLXBvc3QuaHRtbAkocmV2aXNp
b24gMjc1MjI2KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9w
b3B1cC1zYW1lLXNpdGUtcG9zdC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0yMyw3ICsyMyw3IEBA
IGFzeW5jX3Rlc3QodCA9PiB7CiAgICAgfSkpOwogCiAgICAgdmFyIGYgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCdmb3JtJyk7Ci0gICAgZi5hY3Rpb24gPSAiaHR0cDovLzEyNy4wLjAuMTo4MDAw
L2Nvb2tpZXMvcmVzb3VyY2VzL3Bvc3QtY29va2llcy10by1vcGVuZXIucGhwIjsKKyAgICBmLmFj
dGlvbiA9ICJodHRwOi8vMTI3LjAuMC4xOjgwMDAvY29va2llcy9yZXNvdXJjZXMvcG9zdC1jb29r
aWVzLXRvLW9wZW5lci5weSI7CiAgICAgZi5tZXRob2QgPSAiUE9TVCI7CiAgICAgZi50YXJnZXQg
PSAiX2JsYW5rIjsKICAgICB3aW5kb3cub25sb2FkID0gdC5zdGVwX2Z1bmMoZi5zdWJtaXQuYmlu
ZChmKSk7CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRlL3Bv
cHVwLXNhbWUtc2l0ZS12aWEtY3Jvc3Mtc2l0ZS1yZWRpcmVjdC5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvcG9wdXAtc2FtZS1zaXRl
LXZpYS1jcm9zcy1zaXRlLXJlZGlyZWN0Lmh0bWwJKHJldmlzaW9uIDI3NTIyNikKKysrIExheW91
dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvcG9wdXAtc2FtZS1zaXRlLXZpYS1j
cm9zcy1zaXRlLXJlZGlyZWN0Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTIwLDYgKzIwLDYgQEAg
YXN5bmNfdGVzdCh0ID0+IHsKICAgICAgICAgYXNzZXJ0X2VxdWFscyhub3JtYWxpemVDb29raWUo
ZS5kYXRhLmRvY3VtZW50KSwgbm9ybWFsaXplQ29va2llKElNUExJQ0lUX1NUUklDVF9ET00gKyAi
PTE7ICIgKyBMQVhfRE9NICsgIj0xOyAiICsgTk9STUFMX0RPTSArICI9MTsgIiArIFNUUklDVF9C
RUNBVVNFX0lOVkFMSURfU0FNRVNJVEVfVkFMVUUgKyAiPTEiKSk7CiAgICAgfSkpOwogCi0gICAg
dmFyIGkgPSB3aW5kb3cub3BlbigiaHR0cDovL2xvY2FsaG9zdDo4MDAwL3Jlc291cmNlcy9yZWRp
cmVjdC5weT91cmw9aHR0cDovLzEyNy4wLjAuMTo4MDAwL2Nvb2tpZXMvcmVzb3VyY2VzL3Bvc3Qt
Y29va2llcy10by1vcGVuZXIucGhwIik7CisgICAgdmFyIGkgPSB3aW5kb3cub3BlbigiaHR0cDov
L2xvY2FsaG9zdDo4MDAwL3Jlc291cmNlcy9yZWRpcmVjdC5weT91cmw9aHR0cDovLzEyNy4wLjAu
MTo4MDAwL2Nvb2tpZXMvcmVzb3VyY2VzL3Bvc3QtY29va2llcy10by1vcGVuZXIucHkiKTsKIH0s
ICInMTI3LjAuMC4xJyBpcyBzYW1lLXNpdGUgd2l0aCBpdHNlbGYsIHNvIHNhbWVzaXRlIGNvb2tp
ZXMgYXJlIHNlbnQuIik7CiA8L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMv
Y29va2llcy9zYW1lLXNpdGUvcG9wdXAtc2FtZS1zaXRlLXZpYS1zYW1lLXNpdGUtcmVkaXJlY3Qu
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvc2FtZS1z
aXRlL3BvcHVwLXNhbWUtc2l0ZS12aWEtc2FtZS1zaXRlLXJlZGlyZWN0Lmh0bWwJKHJldmlzaW9u
IDI3NTIyNikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvcG9w
dXAtc2FtZS1zaXRlLXZpYS1zYW1lLXNpdGUtcmVkaXJlY3QuaHRtbAkod29ya2luZyBjb3B5KQpA
QCAtMjAsNiArMjAsNiBAQCBhc3luY190ZXN0KHQgPT4gewogICAgICAgICBhc3NlcnRfZXF1YWxz
KG5vcm1hbGl6ZUNvb2tpZShlLmRhdGEuZG9jdW1lbnQpLCBub3JtYWxpemVDb29raWUoU1RSSUNU
X0JFQ0FVU0VfSU5WQUxJRF9TQU1FU0lURV9WQUxVRSArICI9MTsgIiArIElNUExJQ0lUX1NUUklD
VF9ET00gKyAiPTE7ICIgKyBTVFJJQ1RfRE9NICsgIj0xOyAiICsgTEFYX0RPTSArICI9MTsgIiAr
IE5PUk1BTF9ET00gKyAiPTEiKSk7CiAgICAgfSkpOwogCi0gICAgdmFyIGkgPSB3aW5kb3cub3Bl
bigiaHR0cDovLzEyNy4wLjAuMTo4MDAwL3Jlc291cmNlcy9yZWRpcmVjdC5weT91cmw9aHR0cDov
LzEyNy4wLjAuMTo4MDAwL2Nvb2tpZXMvcmVzb3VyY2VzL3Bvc3QtY29va2llcy10by1vcGVuZXIu
cGhwIik7CisgICAgdmFyIGkgPSB3aW5kb3cub3BlbigiaHR0cDovLzEyNy4wLjAuMTo4MDAwL3Jl
c291cmNlcy9yZWRpcmVjdC5weT91cmw9aHR0cDovLzEyNy4wLjAuMTo4MDAwL2Nvb2tpZXMvcmVz
b3VyY2VzL3Bvc3QtY29va2llcy10by1vcGVuZXIucHkiKTsKIH0sICInMTI3LjAuMC4xJyBpcyBz
YW1lLXNpdGUgd2l0aCBpdHNlbGYsIHNvIHNhbWVzaXRlIGNvb2tpZXMgYXJlIHNlbnQuIik7CiA8
L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUv
cG9wdXAtc2FtZS1zaXRlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9jb29raWVzL3NhbWUtc2l0ZS9wb3B1cC1zYW1lLXNpdGUuaHRtbAkocmV2aXNpb24gMjc1MjI2
KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9wb3B1cC1zYW1l
LXNpdGUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMjAsNiArMjAsNiBAQCBhc3luY190ZXN0KHQg
PT4gewogICAgICAgICBhc3NlcnRfZXF1YWxzKG5vcm1hbGl6ZUNvb2tpZShlLmRhdGEuZG9jdW1l
bnQpLCBub3JtYWxpemVDb29raWUoU1RSSUNUX0JFQ0FVU0VfSU5WQUxJRF9TQU1FU0lURV9WQUxV
RSArICI9MTsgIiArIElNUExJQ0lUX1NUUklDVF9ET00gKyAiPTE7ICIgKyBTVFJJQ1RfRE9NICsg
Ij0xOyAiICsgTEFYX0RPTSArICI9MTsgIiArIE5PUk1BTF9ET00gKyAiPTEiKSk7CiAgICAgfSkp
OwogCi0gICAgdmFyIGkgPSB3aW5kb3cub3BlbigiaHR0cDovLzEyNy4wLjAuMTo4MDAwL2Nvb2tp
ZXMvcmVzb3VyY2VzL3Bvc3QtY29va2llcy10by1vcGVuZXIucGhwIik7CisgICAgdmFyIGkgPSB3
aW5kb3cub3BlbigiaHR0cDovLzEyNy4wLjAuMTo4MDAwL2Nvb2tpZXMvcmVzb3VyY2VzL3Bvc3Qt
Y29va2llcy10by1vcGVuZXIucHkiKTsKIH0sICInMTI3LjAuMC4xJyBpcyBzYW1lLXNpdGUgd2l0
aCBpdHNlbGYsIHNvIHNhbWVzaXRlIGNvb2tpZXMgYXJlIHNlbnQuIik7CiA8L3NjcmlwdD4KSW5k
ZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvc2V0LWZpcnN0LXBh
cnR5LWNyb3NzLXNpdGUtY29va2llcy5waHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9zZXQtZmlyc3QtcGFydHktY3Jvc3Mtc2l0ZS1jb29r
aWVzLnBocAkocmV2aXNpb24gMjc1MjI2KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29r
aWVzL3NhbWUtc2l0ZS9zZXQtZmlyc3QtcGFydHktY3Jvc3Mtc2l0ZS1jb29raWVzLnBocAkod29y
a2luZyBjb3B5KQpAQCAtMjUsNiArMjUsNiBAQCBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAg
ICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKIH0KIDwvc2NyaXB0PgotPG1ldGEgaHR0cC1l
cXVpdj0icmVmcmVzaCIgY29udGVudD0iMDtodHRwOi8vbG9jYWxob3N0OjgwMDAvY29va2llcy9y
ZXNvdXJjZXMvZWNoby1odHRwLWFuZC1kb20tY29va2llcy1hbmQtbm90aWZ5LWRvbmUucGhwIj4K
KzxtZXRhIGh0dHAtZXF1aXY9InJlZnJlc2giIGNvbnRlbnQ9IjA7aHR0cDovL2xvY2FsaG9zdDo4
MDAwL2Nvb2tpZXMvcmVzb3VyY2VzL2VjaG8taHR0cC1hbmQtZG9tLWNvb2tpZXMtYW5kLW5vdGlm
eS1kb25lLnB5Ij4KIDwvaGVhZD4KIDwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVz
dHMvY29va2llcy9zYW1lLXNpdGUvc2V0LWZpcnN0LXBhcnR5LXNhbWUtc2l0ZS1jb29raWVzLnBo
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRl
L3NldC1maXJzdC1wYXJ0eS1zYW1lLXNpdGUtY29va2llcy5waHAJKHJldmlzaW9uIDI3NTIyNikK
KysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvc2V0LWZpcnN0LXBh
cnR5LXNhbWUtc2l0ZS1jb29raWVzLnBocAkod29ya2luZyBjb3B5KQpAQCAtMjIsNiArMjIsNiBA
QCBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUo
KTsKIH0KIDwvc2NyaXB0PgotPG1ldGEgaHR0cC1lcXVpdj0icmVmcmVzaCIgY29udGVudD0iMDto
dHRwOi8vMTI3LjAuMC4xOjgwMDAvY29va2llcy9yZXNvdXJjZXMvZWNoby1odHRwLWFuZC1kb20t
Y29va2llcy1hbmQtbm90aWZ5LWRvbmUucGhwIj4KKzxtZXRhIGh0dHAtZXF1aXY9InJlZnJlc2gi
IGNvbnRlbnQ9IjA7aHR0cDovLzEyNy4wLjAuMTo4MDAwL2Nvb2tpZXMvcmVzb3VyY2VzL2VjaG8t
aHR0cC1hbmQtZG9tLWNvb2tpZXMtYW5kLW5vdGlmeS1kb25lLnB5Ij4KIDwvaGVhZD4KIDwvaHRt
bD4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvcmVzb3Vy
Y2VzL2NsaWNrLWh5cGVybGluay5waHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9yZXNvdXJjZXMvY2xpY2staHlwZXJsaW5rLnBocAkocmV2
aXNpb24gMjc1MjI2KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0
ZS9yZXNvdXJjZXMvY2xpY2staHlwZXJsaW5rLnBocAkobm9uZXhpc3RlbnQpCkBAIC0xLDIyICsw
LDAgQEAKLTwhRE9DVFlQRT4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0PgotaWYgKHdpbmRvdy50
ZXN0UnVubmVyKQotICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotPC9zY3JpcHQ+Ci08
L2hlYWQ+Ci08Ym9keT4KLTw/cGhwCi0gICAgJHRhcmdldEF0dHJpYnV0ZSA9ICIiOwotICAgIGlm
ICghZW1wdHkoJF9HRVRbInRhcmdldCJdKSkKLSAgICAgICAgJHRhcmdldEF0dHJpYnV0ZSA9ICd0
YXJnZXQ9IicgLiAkX0dFVFsidGFyZ2V0Il0gLiAnIic7Ci0/PgotPGEgaHJlZj0iPD9waHAgZWNo
byAkX0dFVFsnaHJlZiddOyA/PiIgPD9waHAgZWNobyAkdGFyZ2V0QXR0cmlidXRlOyA/Pj5DbGlj
azwvYT4KLTxzY3JpcHQ+Ci1pbnRlcm5hbHMud2l0aFVzZXJHZXN0dXJlKCgpID0+IHsKLSAgICBk
b2N1bWVudC5xdWVyeVNlbGVjdG9yKCJhIikuY2xpY2soKTsKLX0pOwotPC9zY3JpcHQ+Ci08L2Jv
ZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvc2FtZS1z
aXRlL3Jlc291cmNlcy9jbGljay1oeXBlcmxpbmsucHkKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9yZXNvdXJjZXMvY2xpY2staHlwZXJsaW5r
LnB5CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9zYW1l
LXNpdGUvcmVzb3VyY2VzL2NsaWNrLWh5cGVybGluay5weQkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDMzIEBACisjIS91c3IvYmluL2VudiBweXRob24zCisKK2ltcG9ydCBvcworaW1wb3J0IHN5
cworZnJvbSB1cmxsaWIucGFyc2UgaW1wb3J0IHBhcnNlX3FzCisKK3F1ZXJ5ID0gcGFyc2VfcXMo
b3MuZW52aXJvbi5nZXQoJ1FVRVJZX1NUUklORycsICcnKSwga2VlcF9ibGFua192YWx1ZXM9VHJ1
ZSkKK2hyZWYgPSBxdWVyeS5nZXQoJ2hyZWYnLCBbTm9uZV0pWzBdCit0YXJnZXQgPSBxdWVyeS5n
ZXQoJ3RhcmdldCcsIFtOb25lXSlbMF0KKwordGFyZ2V0X2F0dHIgPSAnJworaWYgdGFyZ2V0IGlz
IG5vdCBOb25lOgorICAgIHRhcmdldF9hdHRyID0gJ3RhcmdldD0ie30iJy5mb3JtYXQodGFyZ2V0
KQorCitzeXMuc3Rkb3V0LndyaXRlKCdDb250ZW50LVR5cGU6IHRleHQvaHRtbFxyXG5cclxuJykK
KworcHJpbnQoJycnPCFET0NUWVBFPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CitpZiAod2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Cis8L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPGEgaHJlZj0ie30iIHt9PkNsaWNrPC9hPgorPHNjcmlwdD4K
K2ludGVybmFscy53aXRoVXNlckdlc3R1cmUoKCkgPT4ge3sKKyAgICBkb2N1bWVudC5xdWVyeVNl
bGVjdG9yKCJhIikuY2xpY2soKTsKK319KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPicn
Jy5mb3JtYXQoaHJlZiwgdGFyZ2V0X2F0dHIpKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9zYW1l
LXNpdGUvcmVzb3VyY2VzL2NsaWNrLWh5cGVybGluay5weQpfX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46
ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVy
dHkKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvcmVzb3Vy
Y2VzL2ZldGNoLWFmdGVyLW5hdmlnYXRpbmctaWZyYW1lLWluLWNyb3NzLW9yaWdpbi1wYWdlLnBo
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRl
L3Jlc291cmNlcy9mZXRjaC1hZnRlci1uYXZpZ2F0aW5nLWlmcmFtZS1pbi1jcm9zcy1vcmlnaW4t
cGFnZS5waHAJKHJldmlzaW9uIDI3NTIyNikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29v
a2llcy9zYW1lLXNpdGUvcmVzb3VyY2VzL2ZldGNoLWFmdGVyLW5hdmlnYXRpbmctaWZyYW1lLWlu
LWNyb3NzLW9yaWdpbi1wYWdlLnBocAkobm9uZXhpc3RlbnQpCkBAIC0xLDM1ICswLDAgQEAKLTwh
RE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2Nvb2tpZS11dGlsaXRpZXMuanMiPjwvc2NyaXB0PgotPHNjcmlwdD5fc2V0Q2FjaGVkQ29va2ll
c0pTT04oJzw/cGhwIGVjaG8ganNvbl9lbmNvZGUoJF9DT09LSUUpOyA/PicpPC9zY3JpcHQ+Ci08
L2hlYWQ+Ci08Ym9keT4KLTxzY3JpcHQ+Ci13aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7Ci0K
LWRlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IFNhbWUtU2l0ZSBjb29raWVzIGZvciAxMjcuMC4wLjEg
YXJlIG5vdCBzZW50IHdpdGggYSBmcmFtZSBuYXZpZ2F0aW9uIGZvciBhIGZyYW1lIGVtYmVkZGVk
IGluIGEgcGFnZSB3aXRoIGEgZGlmZmVyZW50IG9yaWdpbi4iKTsKLQotYXN5bmMgZnVuY3Rpb24g
Y2hlY2tSZXN1bHQoKQotewotICAgIGRlYnVnKCJDb29raWVzIHNlbnQgd2l0aCBIVFRQIHJlcXVl
c3Q6Iik7Ci0gICAgYXdhaXQgc2hvdWxkTm90SGF2ZUNvb2tpZSgic3RyaWN0Iik7Ci0gICAgYXdh
aXQgc2hvdWxkSGF2ZUNvb2tpZVdpdGhWYWx1ZSgiaW1wbGljaXQtc3RyaWN0IiwgIjYiKTsKLSAg
ICBhd2FpdCBzaG91bGRIYXZlQ29va2llV2l0aFZhbHVlKCJzdHJpY3QtYmVjYXVzZS1pbnZhbGlk
LVNhbWVTaXRlLXZhbHVlIiwgIjYiKTsKLSAgICBhd2FpdCBzaG91bGROb3RIYXZlQ29va2llKCJs
YXgiKTsKLQotICAgIGRlYnVnKCI8YnI+Q29va2llcyB2aXNpYmxlIGluIERPTToiKTsKLSAgICBz
aG91bGROb3RIYXZlRE9NQ29va2llKCJzdHJpY3QiKTsKLSAgICBzaG91bGRIYXZlRE9NQ29va2ll
V2l0aFZhbHVlKCJpbXBsaWNpdC1zdHJpY3QiLCAiNiIpOwotICAgIHNob3VsZEhhdmVET01Db29r
aWVXaXRoVmFsdWUoInN0cmljdC1iZWNhdXNlLWludmFsaWQtU2FtZVNpdGUtdmFsdWUiLCAiNiIp
OwotICAgIHNob3VsZE5vdEhhdmVET01Db29raWUoImxheCIpOwotCi0gICAgYXdhaXQgcmVzZXRD
b29raWVzKCk7Ci0gICAgZmluaXNoSlNUZXN0KCk7Ci19Ci0KLWNoZWNrUmVzdWx0KCk7Ci08L3Nj
cmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29v
a2llcy9zYW1lLXNpdGUvcmVzb3VyY2VzL2ZldGNoLWFmdGVyLW5hdmlnYXRpbmctaWZyYW1lLWlu
LWNyb3NzLW9yaWdpbi1wYWdlLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVz
dHMvY29va2llcy9zYW1lLXNpdGUvcmVzb3VyY2VzL2ZldGNoLWFmdGVyLW5hdmlnYXRpbmctaWZy
YW1lLWluLWNyb3NzLW9yaWdpbi1wYWdlLnB5CShub25leGlzdGVudCkKKysrIExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvcmVzb3VyY2VzL2ZldGNoLWFmdGVyLW5hdmln
YXRpbmctaWZyYW1lLWluLWNyb3NzLW9yaWdpbi1wYWdlLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsNTEgQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbjMKKworaW1wb3J0IGpzb24KK2ltcG9y
dCBvcworaW1wb3J0IHN5cworCitmaWxlID0gX19maWxlX18uc3BsaXQoJzovY3lnd2luJylbLTFd
CitodHRwX3Jvb3QgPSAnLycuam9pbihvcy5wYXRoLmRpcm5hbWUob3MucGF0aC5kaXJuYW1lKG9z
LnBhdGguYWJzcGF0aChvcy5wYXRoLmRpcm5hbWUoZmlsZSkpKSkuc3BsaXQoJy8nKVs6LTFdKQor
c3lzLnBhdGguaW5zZXJ0KDAsIGh0dHBfcm9vdCkKKworZnJvbSByZXNvdXJjZXMucG9ydGFiaWxp
dHlMYXllciBpbXBvcnQgZ2V0X2Nvb2tpZXMKKworY29va2llcyA9IGdldF9jb29raWVzKCkKKwor
c3lzLnN0ZG91dC53cml0ZSgnQ29udGVudC1UeXBlOiB0ZXh0L2h0bWxcclxuXHJcbicpCisKK3By
aW50KCcnJzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIvanMt
dGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2Nvb2tpZS11dGlsaXRpZXMuanMiPjwvc2NyaXB0PgorPHNjcmlwdD5fc2V0Q2Fj
aGVkQ29va2llc0pTT04oJ3t9Jyk8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4K
K3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQg
U2FtZS1TaXRlIGNvb2tpZXMgZm9yIDEyNy4wLjAuMSBhcmUgbm90IHNlbnQgd2l0aCBhIGZyYW1l
IG5hdmlnYXRpb24gZm9yIGEgZnJhbWUgZW1iZWRkZWQgaW4gYSBwYWdlIHdpdGggYSBkaWZmZXJl
bnQgb3JpZ2luLiIpOworCithc3luYyBmdW5jdGlvbiBjaGVja1Jlc3VsdCgpCit7eworICAgIGRl
YnVnKCJDb29raWVzIHNlbnQgd2l0aCBIVFRQIHJlcXVlc3Q6Iik7CisgICAgYXdhaXQgc2hvdWxk
Tm90SGF2ZUNvb2tpZSgic3RyaWN0Iik7CisgICAgYXdhaXQgc2hvdWxkSGF2ZUNvb2tpZVdpdGhW
YWx1ZSgiaW1wbGljaXQtc3RyaWN0IiwgIjYiKTsKKyAgICBhd2FpdCBzaG91bGRIYXZlQ29va2ll
V2l0aFZhbHVlKCJzdHJpY3QtYmVjYXVzZS1pbnZhbGlkLVNhbWVTaXRlLXZhbHVlIiwgIjYiKTsK
KyAgICBhd2FpdCBzaG91bGROb3RIYXZlQ29va2llKCJsYXgiKTsKKworICAgIGRlYnVnKCI8YnI+
Q29va2llcyB2aXNpYmxlIGluIERPTToiKTsKKyAgICBzaG91bGROb3RIYXZlRE9NQ29va2llKCJz
dHJpY3QiKTsKKyAgICBzaG91bGRIYXZlRE9NQ29va2llV2l0aFZhbHVlKCJpbXBsaWNpdC1zdHJp
Y3QiLCAiNiIpOworICAgIHNob3VsZEhhdmVET01Db29raWVXaXRoVmFsdWUoInN0cmljdC1iZWNh
dXNlLWludmFsaWQtU2FtZVNpdGUtdmFsdWUiLCAiNiIpOworICAgIHNob3VsZE5vdEhhdmVET01D
b29raWUoImxheCIpOworCisgICAgYXdhaXQgcmVzZXRDb29raWVzKCk7CisgICAgZmluaXNoSlNU
ZXN0KCk7Cit9fQorCitjaGVja1Jlc3VsdCgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
JycnLmZvcm1hdChqc29uLmR1bXBzKGNvb2tpZXMpKSkKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMv
c2FtZS1zaXRlL3Jlc291cmNlcy9mZXRjaC1hZnRlci1uYXZpZ2F0aW5nLWlmcmFtZS1pbi1jcm9z
cy1vcmlnaW4tcGFnZS5weQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCww
ICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRl
c3RzL2h0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvcmVzb3VyY2VzL2ZldGNoLWFmdGVyLXRv
cC1sZXZlbC1jcm9zcy1vcmlnaW4tcmVkaXJlY3QucGhwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2h0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvcmVzb3VyY2VzL2ZldGNoLWFmdGVyLXRv
cC1sZXZlbC1jcm9zcy1vcmlnaW4tcmVkaXJlY3QucGhwCShyZXZpc2lvbiAyNzUyMjYpCisrKyBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRlL3Jlc291cmNlcy9mZXRjaC1h
ZnRlci10b3AtbGV2ZWwtY3Jvc3Mtb3JpZ2luLXJlZGlyZWN0LnBocAkobm9uZXhpc3RlbnQpCkBA
IC0xLDM1ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQg
c3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2Nvb2tpZS11dGlsaXRpZXMuanMiPjwvc2NyaXB0PgotPHNjcmlw
dD5fc2V0Q2FjaGVkQ29va2llc0pTT04oJzw/cGhwIGVjaG8ganNvbl9lbmNvZGUoJF9DT09LSUUp
OyA/PicpPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxzY3JpcHQ+Ci13aW5kb3cuanNUZXN0
SXNBc3luYyA9IHRydWU7Ci0KLWRlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IGEgU2FtZVNpdGUgTGF4
IGNvb2tpZSBmb3IgMTI3LjAuMC4xIGlzIHNlbnQgd2l0aCBhIHJlZGlyZWN0IGZyb20gYSBwYWdl
IHdpdGggYSBkaWZmZXJlbnQgb3JpZ2luLiIpOwotCi1hc3luYyBmdW5jdGlvbiBjaGVja1Jlc3Vs
dCgpCi17Ci0gICAgZGVidWcoIkNvb2tpZXMgc2VudCB3aXRoIEhUVFAgcmVxdWVzdDoiKTsKLSAg
ICBhd2FpdCBzaG91bGROb3RIYXZlQ29va2llKCJzdHJpY3QiKTsKLSAgICBhd2FpdCBzaG91bGRI
YXZlQ29va2llV2l0aFZhbHVlKCJpbXBsaWNpdC1zdHJpY3QiLCAiMTkiKTsKLSAgICBhd2FpdCBz
aG91bGRIYXZlQ29va2llV2l0aFZhbHVlKCJzdHJpY3QtYmVjYXVzZS1pbnZhbGlkLVNhbWVTaXRl
LXZhbHVlIiwgIjE5Iik7Ci0gICAgYXdhaXQgc2hvdWxkSGF2ZUNvb2tpZVdpdGhWYWx1ZSgibGF4
IiwgIjE5Iik7Ci0KLSAgICBkZWJ1ZygiPGJyPkNvb2tpZXMgdmlzaWJsZSBpbiBET006Iik7Ci0g
ICAgc2hvdWxkTm90SGF2ZURPTUNvb2tpZSgic3RyaWN0Iik7Ci0gICAgc2hvdWxkSGF2ZURPTUNv
b2tpZVdpdGhWYWx1ZSgiaW1wbGljaXQtc3RyaWN0IiwgIjE5Iik7Ci0gICAgc2hvdWxkSGF2ZURP
TUNvb2tpZVdpdGhWYWx1ZSgic3RyaWN0LWJlY2F1c2UtaW52YWxpZC1TYW1lU2l0ZS12YWx1ZSIs
ICIxOSIpOwotICAgIHNob3VsZEhhdmVET01Db29raWVXaXRoVmFsdWUoImxheCIsICIxOSIpOwot
Ci0gICAgYXdhaXQgcmVzZXRDb29raWVzKCk7Ci0gICAgZmluaXNoSlNUZXN0KCk7Ci19Ci0KLWNo
ZWNrUmVzdWx0KCk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRl
c3RzL2h0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvcmVzb3VyY2VzL2ZldGNoLWFmdGVyLXRv
cC1sZXZlbC1jcm9zcy1vcmlnaW4tcmVkaXJlY3QucHkKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9yZXNvdXJjZXMvZmV0Y2gtYWZ0ZXItdG9w
LWxldmVsLWNyb3NzLW9yaWdpbi1yZWRpcmVjdC5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRlL3Jlc291cmNlcy9mZXRjaC1hZnRlci10
b3AtbGV2ZWwtY3Jvc3Mtb3JpZ2luLXJlZGlyZWN0LnB5CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsNTEgQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbjMKKworaW1wb3J0IGpzb24KK2ltcG9ydCBv
cworaW1wb3J0IHN5cworCitmaWxlID0gX19maWxlX18uc3BsaXQoJzovY3lnd2luJylbLTFdCito
dHRwX3Jvb3QgPSAnLycuam9pbihvcy5wYXRoLmRpcm5hbWUob3MucGF0aC5kaXJuYW1lKG9zLnBh
dGguYWJzcGF0aChvcy5wYXRoLmRpcm5hbWUoZmlsZSkpKSkuc3BsaXQoJy8nKVs6LTFdKQorc3lz
LnBhdGguaW5zZXJ0KDAsIGh0dHBfcm9vdCkKKworZnJvbSByZXNvdXJjZXMucG9ydGFiaWxpdHlM
YXllciBpbXBvcnQgZ2V0X2Nvb2tpZXMKKworY29va2llcyA9IGdldF9jb29raWVzKCkKKworc3lz
LnN0ZG91dC53cml0ZSgnQ29udGVudC1UeXBlOiB0ZXh0L2h0bWxcclxuXHJcbicpCisKK3ByaW50
KCcnJzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIvanMtdGVz
dC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2Nvb2tpZS11dGlsaXRpZXMuanMiPjwvc2NyaXB0PgorPHNjcmlwdD5fc2V0Q2FjaGVk
Q29va2llc0pTT04oJ3t9Jyk8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KK3dp
bmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgYSBT
YW1lU2l0ZSBMYXggY29va2llIGZvciAxMjcuMC4wLjEgaXMgc2VudCB3aXRoIGEgcmVkaXJlY3Qg
ZnJvbSBhIHBhZ2Ugd2l0aCBhIGRpZmZlcmVudCBvcmlnaW4uIik7CisKK2FzeW5jIGZ1bmN0aW9u
IGNoZWNrUmVzdWx0KCkKK3t7CisgICAgZGVidWcoIkNvb2tpZXMgc2VudCB3aXRoIEhUVFAgcmVx
dWVzdDoiKTsKKyAgICBhd2FpdCBzaG91bGROb3RIYXZlQ29va2llKCJzdHJpY3QiKTsKKyAgICBh
d2FpdCBzaG91bGRIYXZlQ29va2llV2l0aFZhbHVlKCJpbXBsaWNpdC1zdHJpY3QiLCAiMTkiKTsK
KyAgICBhd2FpdCBzaG91bGRIYXZlQ29va2llV2l0aFZhbHVlKCJzdHJpY3QtYmVjYXVzZS1pbnZh
bGlkLVNhbWVTaXRlLXZhbHVlIiwgIjE5Iik7CisgICAgYXdhaXQgc2hvdWxkSGF2ZUNvb2tpZVdp
dGhWYWx1ZSgibGF4IiwgIjE5Iik7CisKKyAgICBkZWJ1ZygiPGJyPkNvb2tpZXMgdmlzaWJsZSBp
biBET006Iik7CisgICAgc2hvdWxkTm90SGF2ZURPTUNvb2tpZSgic3RyaWN0Iik7CisgICAgc2hv
dWxkSGF2ZURPTUNvb2tpZVdpdGhWYWx1ZSgiaW1wbGljaXQtc3RyaWN0IiwgIjE5Iik7CisgICAg
c2hvdWxkSGF2ZURPTUNvb2tpZVdpdGhWYWx1ZSgic3RyaWN0LWJlY2F1c2UtaW52YWxpZC1TYW1l
U2l0ZS12YWx1ZSIsICIxOSIpOworICAgIHNob3VsZEhhdmVET01Db29raWVXaXRoVmFsdWUoImxh
eCIsICIxOSIpOworCisgICAgYXdhaXQgcmVzZXRDb29raWVzKCk7CisgICAgZmluaXNoSlNUZXN0
KCk7Cit9fQorCitjaGVja1Jlc3VsdCgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Jycn
LmZvcm1hdChqc29uLmR1bXBzKGNvb2tpZXMpKSkKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvc2Ft
ZS1zaXRlL3Jlc291cmNlcy9mZXRjaC1hZnRlci10b3AtbGV2ZWwtY3Jvc3Mtb3JpZ2luLXJlZGly
ZWN0LnB5Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoK
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9yZXNvdXJjZXMvZmV0Y2gtYWZ0ZXItdG9wLWxldmVsLW5h
dmlnYXRpb24tZnJvbS1jcm9zcy1vcmlnaW4tcGFnZS5waHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9yZXNvdXJjZXMvZmV0Y2gtYWZ0ZXIt
dG9wLWxldmVsLW5hdmlnYXRpb24tZnJvbS1jcm9zcy1vcmlnaW4tcGFnZS5waHAJKHJldmlzaW9u
IDI3NTIyNikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvcmVz
b3VyY2VzL2ZldGNoLWFmdGVyLXRvcC1sZXZlbC1uYXZpZ2F0aW9uLWZyb20tY3Jvc3Mtb3JpZ2lu
LXBhZ2UucGhwCShub25leGlzdGVudCkKQEAgLTEsMzUgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+
Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvY29va2llLXV0aWxp
dGllcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0Pl9zZXRDYWNoZWRDb29raWVzSlNPTignPD9waHAg
ZWNobyBqc29uX2VuY29kZSgkX0NPT0tJRSk7ID8+Jyk8L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5
PgotPHNjcmlwdD4KLXdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLQotZGVzY3JpcHRpb24o
IlRlc3RzIHRoYXQgYSBTYW1lU2l0ZSBMYXggY29va2llIGZvciAxMjcuMC4wLjEgaXMgc2VudCB3
aXRoIGEgdG9wLWxldmVsIG5hdmlnYXRpb24gaW5pdGlhdGVkIGZyb20gYSBwYWdlIHdpdGggYSBk
aWZmZXJlbnQgb3JpZ2luLiIpOwotCi1hc3luYyBmdW5jdGlvbiBjaGVja1Jlc3VsdCgpCi17Ci0g
ICAgZGVidWcoIkNvb2tpZXMgc2VudCB3aXRoIEhUVFAgcmVxdWVzdDoiKTsKLSAgICBhd2FpdCBz
aG91bGROb3RIYXZlQ29va2llKCJzdHJpY3QiKTsKLSAgICBhd2FpdCBzaG91bGRIYXZlQ29va2ll
V2l0aFZhbHVlKCJpbXBsaWNpdC1zdHJpY3QiLCAiNSIpOwotICAgIGF3YWl0IHNob3VsZEhhdmVD
b29raWVXaXRoVmFsdWUoInN0cmljdC1iZWNhdXNlLWludmFsaWQtU2FtZVNpdGUtdmFsdWUiLCAi
NSIpOwotICAgIGF3YWl0IHNob3VsZEhhdmVDb29raWVXaXRoVmFsdWUoImxheCIsICI1Iik7Ci0K
LSAgICBkZWJ1ZygiPGJyPkNvb2tpZXMgdmlzaWJsZSBpbiBET006Iik7Ci0gICAgc2hvdWxkTm90
SGF2ZURPTUNvb2tpZSgic3RyaWN0Iik7Ci0gICAgc2hvdWxkSGF2ZURPTUNvb2tpZVdpdGhWYWx1
ZSgiaW1wbGljaXQtc3RyaWN0IiwgIjUiKTsKLSAgICBzaG91bGRIYXZlRE9NQ29va2llV2l0aFZh
bHVlKCJzdHJpY3QtYmVjYXVzZS1pbnZhbGlkLVNhbWVTaXRlLXZhbHVlIiwgIjUiKTsKLSAgICBz
aG91bGRIYXZlRE9NQ29va2llV2l0aFZhbHVlKCJsYXgiLCAiNSIpOwotCi0gICAgYXdhaXQgcmVz
ZXRDb29raWVzKCk7Ci0gICAgZmluaXNoSlNUZXN0KCk7Ci19Ci0KLWNoZWNrUmVzdWx0KCk7Ci08
L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMv
Y29va2llcy9zYW1lLXNpdGUvcmVzb3VyY2VzL2ZldGNoLWFmdGVyLXRvcC1sZXZlbC1uYXZpZ2F0
aW9uLWZyb20tY3Jvc3Mtb3JpZ2luLXBhZ2UucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9yZXNvdXJjZXMvZmV0Y2gtYWZ0ZXItdG9wLWxl
dmVsLW5hdmlnYXRpb24tZnJvbS1jcm9zcy1vcmlnaW4tcGFnZS5weQkobm9uZXhpc3RlbnQpCisr
KyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRlL3Jlc291cmNlcy9mZXRj
aC1hZnRlci10b3AtbGV2ZWwtbmF2aWdhdGlvbi1mcm9tLWNyb3NzLW9yaWdpbi1wYWdlLnB5CSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTEgQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbjMKKwor
aW1wb3J0IGpzb24KK2ltcG9ydCBvcworaW1wb3J0IHN5cworCitmaWxlID0gX19maWxlX18uc3Bs
aXQoJzovY3lnd2luJylbLTFdCitodHRwX3Jvb3QgPSAnLycuam9pbihvcy5wYXRoLmRpcm5hbWUo
b3MucGF0aC5kaXJuYW1lKG9zLnBhdGguYWJzcGF0aChvcy5wYXRoLmRpcm5hbWUoZmlsZSkpKSku
c3BsaXQoJy8nKVs6LTFdKQorc3lzLnBhdGguaW5zZXJ0KDAsIGh0dHBfcm9vdCkKKworZnJvbSBy
ZXNvdXJjZXMucG9ydGFiaWxpdHlMYXllciBpbXBvcnQgZ2V0X2Nvb2tpZXMKKworY29va2llcyA9
IGdldF9jb29raWVzKCkKKworc3lzLnN0ZG91dC53cml0ZSgnQ29udGVudC1UeXBlOiB0ZXh0L2h0
bWxcclxuXHJcbicpCisKK3ByaW50KCcnJzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2Nvb2tpZS11dGlsaXRpZXMuanMiPjwvc2NyaXB0
PgorPHNjcmlwdD5fc2V0Q2FjaGVkQ29va2llc0pTT04oJ3t9Jyk8L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHNjcmlwdD4KK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworZGVzY3Jp
cHRpb24oIlRlc3RzIHRoYXQgYSBTYW1lU2l0ZSBMYXggY29va2llIGZvciAxMjcuMC4wLjEgaXMg
c2VudCB3aXRoIGEgdG9wLWxldmVsIG5hdmlnYXRpb24gaW5pdGlhdGVkIGZyb20gYSBwYWdlIHdp
dGggYSBkaWZmZXJlbnQgb3JpZ2luLiIpOworCithc3luYyBmdW5jdGlvbiBjaGVja1Jlc3VsdCgp
Cit7eworICAgIGRlYnVnKCJDb29raWVzIHNlbnQgd2l0aCBIVFRQIHJlcXVlc3Q6Iik7CisgICAg
YXdhaXQgc2hvdWxkTm90SGF2ZUNvb2tpZSgic3RyaWN0Iik7CisgICAgYXdhaXQgc2hvdWxkSGF2
ZUNvb2tpZVdpdGhWYWx1ZSgiaW1wbGljaXQtc3RyaWN0IiwgIjUiKTsKKyAgICBhd2FpdCBzaG91
bGRIYXZlQ29va2llV2l0aFZhbHVlKCJzdHJpY3QtYmVjYXVzZS1pbnZhbGlkLVNhbWVTaXRlLXZh
bHVlIiwgIjUiKTsKKyAgICBhd2FpdCBzaG91bGRIYXZlQ29va2llV2l0aFZhbHVlKCJsYXgiLCAi
NSIpOworCisgICAgZGVidWcoIjxicj5Db29raWVzIHZpc2libGUgaW4gRE9NOiIpOworICAgIHNo
b3VsZE5vdEhhdmVET01Db29raWUoInN0cmljdCIpOworICAgIHNob3VsZEhhdmVET01Db29raWVX
aXRoVmFsdWUoImltcGxpY2l0LXN0cmljdCIsICI1Iik7CisgICAgc2hvdWxkSGF2ZURPTUNvb2tp
ZVdpdGhWYWx1ZSgic3RyaWN0LWJlY2F1c2UtaW52YWxpZC1TYW1lU2l0ZS12YWx1ZSIsICI1Iik7
CisgICAgc2hvdWxkSGF2ZURPTUNvb2tpZVdpdGhWYWx1ZSgibGF4IiwgIjUiKTsKKworICAgIGF3
YWl0IHJlc2V0Q29va2llcygpOworICAgIGZpbmlzaEpTVGVzdCgpOworfX0KKworY2hlY2tSZXN1
bHQoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPicnJy5mb3JtYXQoanNvbi5kdW1wcyhj
b29raWVzKSkpClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoKUHJvcGVydHkgY2hhbmdlcyBv
bjogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9yZXNvdXJjZXMvZmV0
Y2gtYWZ0ZXItdG9wLWxldmVsLW5hdmlnYXRpb24tZnJvbS1jcm9zcy1vcmlnaW4tcGFnZS5weQpf
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29v
a2llcy9zYW1lLXNpdGUvcmVzb3VyY2VzL2ZldGNoLWFmdGVyLXRvcC1sZXZlbC1uYXZpZ2F0aW9u
LWluaXRpYXRlZC1mcm9tLWlmcmFtZS1pbi1jcm9zcy1vcmlnaW4tcGFnZS5waHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9yZXNvdXJjZXMv
ZmV0Y2gtYWZ0ZXItdG9wLWxldmVsLW5hdmlnYXRpb24taW5pdGlhdGVkLWZyb20taWZyYW1lLWlu
LWNyb3NzLW9yaWdpbi1wYWdlLnBocAkocmV2aXNpb24gMjc1MjI2KQorKysgTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9yZXNvdXJjZXMvZmV0Y2gtYWZ0ZXItdG9wLWxl
dmVsLW5hdmlnYXRpb24taW5pdGlhdGVkLWZyb20taWZyYW1lLWluLWNyb3NzLW9yaWdpbi1wYWdl
LnBocAkobm9uZXhpc3RlbnQpCkBAIC0xLDM1ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0
bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2Nvb2tpZS11dGlsaXRpZXMu
anMiPjwvc2NyaXB0PgotPHNjcmlwdD5fc2V0Q2FjaGVkQ29va2llc0pTT04oJzw/cGhwIGVjaG8g
anNvbl9lbmNvZGUoJF9DT09LSUUpOyA/PicpPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxz
Y3JpcHQ+Ci13aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7Ci0KLWRlc2NyaXB0aW9uKCJUZXN0
cyB0aGF0IGEgU2FtZVNpdGUgTGF4IGNvb2tpZSBmb3IgMTI3LjAuMC4xIGlzIHNlbnQgd2l0aCBh
IHRvcC1sZXZlbCBuYXZpZ2F0aW9uIGluaXRpYXRlZCBmcm9tIGEgZnJhbWUgZW1iZWRkZWQgaW4g
YSBwYWdlIHdpdGggYSBkaWZmZXJlbnQgb3JpZ2luLiIpOwotCi1hc3luYyBmdW5jdGlvbiBjaGVj
a1Jlc3VsdCgpCi17Ci0gICAgZGVidWcoIkNvb2tpZXMgc2VudCB3aXRoIEhUVFAgcmVxdWVzdDoi
KTsKLSAgICBhd2FpdCBzaG91bGROb3RIYXZlQ29va2llKCJzdHJpY3QiKTsKLSAgICBhd2FpdCBz
aG91bGRIYXZlQ29va2llV2l0aFZhbHVlKCJpbXBsaWNpdC1zdHJpY3QiLCAiNCIpOwotICAgIGF3
YWl0IHNob3VsZEhhdmVDb29raWVXaXRoVmFsdWUoInN0cmljdC1iZWNhdXNlLWludmFsaWQtU2Ft
ZVNpdGUtdmFsdWUiLCAiNCIpOwotICAgIGF3YWl0IHNob3VsZEhhdmVDb29raWVXaXRoVmFsdWUo
ImxheCIsICI0Iik7Ci0KLSAgICBkZWJ1ZygiPGJyPkNvb2tpZXMgdmlzaWJsZSBpbiBET006Iik7
Ci0gICAgc2hvdWxkTm90SGF2ZURPTUNvb2tpZSgic3RyaWN0Iik7Ci0gICAgc2hvdWxkSGF2ZURP
TUNvb2tpZVdpdGhWYWx1ZSgiaW1wbGljaXQtc3RyaWN0IiwgIjQiKTsKLSAgICBzaG91bGRIYXZl
RE9NQ29va2llV2l0aFZhbHVlKCJzdHJpY3QtYmVjYXVzZS1pbnZhbGlkLVNhbWVTaXRlLXZhbHVl
IiwgIjQiKTsKLSAgICBzaG91bGRIYXZlRE9NQ29va2llV2l0aFZhbHVlKCJsYXgiLCAiNCIpOwot
Ci0gICAgYXdhaXQgcmVzZXRDb29raWVzKCk7Ci0gICAgZmluaXNoSlNUZXN0KCk7Ci19Ci0KLWNo
ZWNrUmVzdWx0KCk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRl
c3RzL2h0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvcmVzb3VyY2VzL2ZldGNoLWFmdGVyLXRv
cC1sZXZlbC1uYXZpZ2F0aW9uLWluaXRpYXRlZC1mcm9tLWlmcmFtZS1pbi1jcm9zcy1vcmlnaW4t
cGFnZS5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvc2Ft
ZS1zaXRlL3Jlc291cmNlcy9mZXRjaC1hZnRlci10b3AtbGV2ZWwtbmF2aWdhdGlvbi1pbml0aWF0
ZWQtZnJvbS1pZnJhbWUtaW4tY3Jvc3Mtb3JpZ2luLXBhZ2UucHkJKG5vbmV4aXN0ZW50KQorKysg
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9yZXNvdXJjZXMvZmV0Y2gt
YWZ0ZXItdG9wLWxldmVsLW5hdmlnYXRpb24taW5pdGlhdGVkLWZyb20taWZyYW1lLWluLWNyb3Nz
LW9yaWdpbi1wYWdlLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTEgQEAKKyMhL3Vzci9i
aW4vZW52IHB5dGhvbjMKKworaW1wb3J0IGpzb24KK2ltcG9ydCBvcworaW1wb3J0IHN5cworCitm
aWxlID0gX19maWxlX18uc3BsaXQoJzovY3lnd2luJylbLTFdCitodHRwX3Jvb3QgPSAnLycuam9p
bihvcy5wYXRoLmRpcm5hbWUob3MucGF0aC5kaXJuYW1lKG9zLnBhdGguYWJzcGF0aChvcy5wYXRo
LmRpcm5hbWUoZmlsZSkpKSkuc3BsaXQoJy8nKVs6LTFdKQorc3lzLnBhdGguaW5zZXJ0KDAsIGh0
dHBfcm9vdCkKKworZnJvbSByZXNvdXJjZXMucG9ydGFiaWxpdHlMYXllciBpbXBvcnQgZ2V0X2Nv
b2tpZXMKKworY29va2llcyA9IGdldF9jb29raWVzKCkKKworc3lzLnN0ZG91dC53cml0ZSgnQ29u
dGVudC1UeXBlOiB0ZXh0L2h0bWxcclxuXHJcbicpCisKK3ByaW50KCcnJzwhRE9DVFlQRSBodG1s
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2Nvb2tpZS11dGls
aXRpZXMuanMiPjwvc2NyaXB0PgorPHNjcmlwdD5fc2V0Q2FjaGVkQ29va2llc0pTT04oJ3t9Jyk8
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KK3dpbmRvdy5qc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgYSBTYW1lU2l0ZSBMYXggY29va2ll
IGZvciAxMjcuMC4wLjEgaXMgc2VudCB3aXRoIGEgdG9wLWxldmVsIG5hdmlnYXRpb24gaW5pdGlh
dGVkIGZyb20gYSBmcmFtZSBlbWJlZGRlZCBpbiBhIHBhZ2Ugd2l0aCBhIGRpZmZlcmVudCBvcmln
aW4uIik7CisKK2FzeW5jIGZ1bmN0aW9uIGNoZWNrUmVzdWx0KCkKK3t7CisgICAgZGVidWcoIkNv
b2tpZXMgc2VudCB3aXRoIEhUVFAgcmVxdWVzdDoiKTsKKyAgICBhd2FpdCBzaG91bGROb3RIYXZl
Q29va2llKCJzdHJpY3QiKTsKKyAgICBhd2FpdCBzaG91bGRIYXZlQ29va2llV2l0aFZhbHVlKCJp
bXBsaWNpdC1zdHJpY3QiLCAiNCIpOworICAgIGF3YWl0IHNob3VsZEhhdmVDb29raWVXaXRoVmFs
dWUoInN0cmljdC1iZWNhdXNlLWludmFsaWQtU2FtZVNpdGUtdmFsdWUiLCAiNCIpOworICAgIGF3
YWl0IHNob3VsZEhhdmVDb29raWVXaXRoVmFsdWUoImxheCIsICI0Iik7CisKKyAgICBkZWJ1Zygi
PGJyPkNvb2tpZXMgdmlzaWJsZSBpbiBET006Iik7CisgICAgc2hvdWxkTm90SGF2ZURPTUNvb2tp
ZSgic3RyaWN0Iik7CisgICAgc2hvdWxkSGF2ZURPTUNvb2tpZVdpdGhWYWx1ZSgiaW1wbGljaXQt
c3RyaWN0IiwgIjQiKTsKKyAgICBzaG91bGRIYXZlRE9NQ29va2llV2l0aFZhbHVlKCJzdHJpY3Qt
YmVjYXVzZS1pbnZhbGlkLVNhbWVTaXRlLXZhbHVlIiwgIjQiKTsKKyAgICBzaG91bGRIYXZlRE9N
Q29va2llV2l0aFZhbHVlKCJsYXgiLCAiNCIpOworCisgICAgYXdhaXQgcmVzZXRDb29raWVzKCk7
CisgICAgZmluaXNoSlNUZXN0KCk7Cit9fQorCitjaGVja1Jlc3VsdCgpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+JycnLmZvcm1hdChqc29uLmR1bXBzKGNvb2tpZXMpKSkKXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRlL3Jlc291cmNlcy9mZXRjaC1hZnRlci10b3AtbGV2ZWwt
bmF2aWdhdGlvbi1pbml0aWF0ZWQtZnJvbS1pZnJhbWUtaW4tY3Jvc3Mtb3JpZ2luLXBhZ2UucHkK
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nv
b2tpZXMvc2FtZS1zaXRlL3Jlc291cmNlcy9mZXRjaC1hZnRlci10b3AtbGV2ZWwtc2FtZS1vcmln
aW4tcmVkaXJlY3QucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29v
a2llcy9zYW1lLXNpdGUvcmVzb3VyY2VzL2ZldGNoLWFmdGVyLXRvcC1sZXZlbC1zYW1lLW9yaWdp
bi1yZWRpcmVjdC5waHAJKHJldmlzaW9uIDI3NTIyNikKKysrIExheW91dFRlc3RzL2h0dHAvdGVz
dHMvY29va2llcy9zYW1lLXNpdGUvcmVzb3VyY2VzL2ZldGNoLWFmdGVyLXRvcC1sZXZlbC1zYW1l
LW9yaWdpbi1yZWRpcmVjdC5waHAJKG5vbmV4aXN0ZW50KQpAQCAtMSwzNSArMCwwIEBACi08IURP
Q1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9j
b29raWUtdXRpbGl0aWVzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+X3NldENhY2hlZENvb2tpZXNK
U09OKCc8P3BocCBlY2hvIGpzb25fZW5jb2RlKCRfQ09PS0lFKTsgPz4nKTwvc2NyaXB0PgotPC9o
ZWFkPgotPGJvZHk+Ci08c2NyaXB0Pgotd2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOwotCi1k
ZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBhIFNhbWVTaXRlIExheCBjb29raWUgZm9yIDEyNy4wLjAu
MSBpcyBzZW50IHdpdGggYSByZWRpcmVjdCBmcm9tIGEgcGFnZSB3aXRoIHRoZSBzYW1lIG9yaWdp
bi4iKTsKLQotYXN5bmMgZnVuY3Rpb24gY2hlY2tSZXN1bHQoKQotewotICAgIGRlYnVnKCJDb29r
aWVzIHNlbnQgd2l0aCBIVFRQIHJlcXVlc3Q6Iik7Ci0gICAgYXdhaXQgc2hvdWxkSGF2ZUNvb2tp
ZVdpdGhWYWx1ZSgic3RyaWN0IiwgIjIwIik7Ci0gICAgYXdhaXQgc2hvdWxkSGF2ZUNvb2tpZVdp
dGhWYWx1ZSgiaW1wbGljaXQtc3RyaWN0IiwgIjIwIik7Ci0gICAgYXdhaXQgc2hvdWxkSGF2ZUNv
b2tpZVdpdGhWYWx1ZSgic3RyaWN0LWJlY2F1c2UtaW52YWxpZC1TYW1lU2l0ZS12YWx1ZSIsICIy
MCIpOwotICAgIGF3YWl0IHNob3VsZEhhdmVDb29raWVXaXRoVmFsdWUoImxheCIsICIyMCIpOwot
Ci0gICAgZGVidWcoIjxicj5Db29raWVzIHZpc2libGUgaW4gRE9NOiIpOwotICAgIHNob3VsZEhh
dmVET01Db29raWVXaXRoVmFsdWUoInN0cmljdCIsICIyMCIpOwotICAgIHNob3VsZEhhdmVET01D
b29raWVXaXRoVmFsdWUoImltcGxpY2l0LXN0cmljdCIsICIyMCIpOwotICAgIHNob3VsZEhhdmVE
T01Db29raWVXaXRoVmFsdWUoInN0cmljdC1iZWNhdXNlLWludmFsaWQtU2FtZVNpdGUtdmFsdWUi
LCAiMjAiKTsKLSAgICBzaG91bGRIYXZlRE9NQ29va2llV2l0aFZhbHVlKCJsYXgiLCAiMjAiKTsK
LQotICAgIGF3YWl0IHJlc2V0Q29va2llcygpOwotICAgIGZpbmlzaEpTVGVzdCgpOwotfQotCi1j
aGVja1Jlc3VsdCgpOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRlL3Jlc291cmNlcy9mZXRjaC1hZnRlci10
b3AtbGV2ZWwtc2FtZS1vcmlnaW4tcmVkaXJlY3QucHkKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9yZXNvdXJjZXMvZmV0Y2gtYWZ0ZXItdG9w
LWxldmVsLXNhbWUtb3JpZ2luLXJlZGlyZWN0LnB5CShub25leGlzdGVudCkKKysrIExheW91dFRl
c3RzL2h0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvcmVzb3VyY2VzL2ZldGNoLWFmdGVyLXRv
cC1sZXZlbC1zYW1lLW9yaWdpbi1yZWRpcmVjdC5weQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDUxIEBACisjIS91c3IvYmluL2VudiBweXRob24zCisKK2ltcG9ydCBqc29uCitpbXBvcnQgb3MK
K2ltcG9ydCBzeXMKKworZmlsZSA9IF9fZmlsZV9fLnNwbGl0KCc6L2N5Z3dpbicpWy0xXQoraHR0
cF9yb290ID0gJy8nLmpvaW4ob3MucGF0aC5kaXJuYW1lKG9zLnBhdGguZGlybmFtZShvcy5wYXRo
LmFic3BhdGgob3MucGF0aC5kaXJuYW1lKGZpbGUpKSkpLnNwbGl0KCcvJylbOi0xXSkKK3N5cy5w
YXRoLmluc2VydCgwLCBodHRwX3Jvb3QpCisKK2Zyb20gcmVzb3VyY2VzLnBvcnRhYmlsaXR5TGF5
ZXIgaW1wb3J0IGdldF9jb29raWVzCisKK2Nvb2tpZXMgPSBnZXRfY29va2llcygpCisKK3N5cy5z
dGRvdXQud3JpdGUoJ0NvbnRlbnQtVHlwZTogdGV4dC9odG1sXHJcblxyXG4nKQorCitwcmludCgn
Jyc8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iL2pzLXRlc3Qt
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9jb29raWUtdXRpbGl0aWVzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+X3NldENhY2hlZENv
b2tpZXNKU09OKCd7fScpPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+Cit3aW5k
b3cuanNUZXN0SXNBc3luYyA9IHRydWU7CisKK2Rlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IGEgU2Ft
ZVNpdGUgTGF4IGNvb2tpZSBmb3IgMTI3LjAuMC4xIGlzIHNlbnQgd2l0aCBhIHJlZGlyZWN0IGZy
b20gYSBwYWdlIHdpdGggdGhlIHNhbWUgb3JpZ2luLiIpOworCithc3luYyBmdW5jdGlvbiBjaGVj
a1Jlc3VsdCgpCit7eworICAgIGRlYnVnKCJDb29raWVzIHNlbnQgd2l0aCBIVFRQIHJlcXVlc3Q6
Iik7CisgICAgYXdhaXQgc2hvdWxkSGF2ZUNvb2tpZVdpdGhWYWx1ZSgic3RyaWN0IiwgIjIwIik7
CisgICAgYXdhaXQgc2hvdWxkSGF2ZUNvb2tpZVdpdGhWYWx1ZSgiaW1wbGljaXQtc3RyaWN0Iiwg
IjIwIik7CisgICAgYXdhaXQgc2hvdWxkSGF2ZUNvb2tpZVdpdGhWYWx1ZSgic3RyaWN0LWJlY2F1
c2UtaW52YWxpZC1TYW1lU2l0ZS12YWx1ZSIsICIyMCIpOworICAgIGF3YWl0IHNob3VsZEhhdmVD
b29raWVXaXRoVmFsdWUoImxheCIsICIyMCIpOworCisgICAgZGVidWcoIjxicj5Db29raWVzIHZp
c2libGUgaW4gRE9NOiIpOworICAgIHNob3VsZEhhdmVET01Db29raWVXaXRoVmFsdWUoInN0cmlj
dCIsICIyMCIpOworICAgIHNob3VsZEhhdmVET01Db29raWVXaXRoVmFsdWUoImltcGxpY2l0LXN0
cmljdCIsICIyMCIpOworICAgIHNob3VsZEhhdmVET01Db29raWVXaXRoVmFsdWUoInN0cmljdC1i
ZWNhdXNlLWludmFsaWQtU2FtZVNpdGUtdmFsdWUiLCAiMjAiKTsKKyAgICBzaG91bGRIYXZlRE9N
Q29va2llV2l0aFZhbHVlKCJsYXgiLCAiMjAiKTsKKworICAgIGF3YWl0IHJlc2V0Q29va2llcygp
OworICAgIGZpbmlzaEpTVGVzdCgpOworfX0KKworY2hlY2tSZXN1bHQoKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPicnJy5mb3JtYXQoanNvbi5kdW1wcyhjb29raWVzKSkpClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9yZXNvdXJjZXMvZmV0Y2gtYWZ0ZXItdG9wLWxldmVs
LXNhbWUtb3JpZ2luLXJlZGlyZWN0LnB5Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxl
CiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDog
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9yZXNvdXJjZXMvZmV0Y2gt
aW4tc2FtZS1vcmlnaW4tc2VydmljZS13b3JrZXIucGhwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2h0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvcmVzb3VyY2VzL2ZldGNoLWluLXNhbWUt
b3JpZ2luLXNlcnZpY2Utd29ya2VyLnBocAkocmV2aXNpb24gMjc1MjI2KQorKysgTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9yZXNvdXJjZXMvZmV0Y2gtaW4tc2FtZS1v
cmlnaW4tc2VydmljZS13b3JrZXIucGhwCShub25leGlzdGVudCkKQEAgLTEsMzUgKzAsMCBAQAot
PCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvY29va2llLXV0aWxpdGllcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0Pl9zZXRDYWNoZWRDb29r
aWVzSlNPTignPD9waHAgZWNobyBqc29uX2VuY29kZSgkX0NPT0tJRSk7ID8+Jyk8L3NjcmlwdD4K
LTwvaGVhZD4KLTxib2R5PgotPHNjcmlwdD4KLXdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
LQotZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgU2FtZS1TaXRlIGNvb2tpZXMgZm9yIDEyNy4wLjAu
MSBhcmUgc2VudCB3aXRoIGEgcmVxdWVzdCBpbml0aWF0ZWQgZnJvbSBhbiBpZnJhbWUtIGFuZCBw
cm9jZXNzZWQgYnkgYSBzZXJ2aWNlIHdvcmtlci0gd2l0aCB0aGUgc2FtZSBvcmlnaW4uIik7Ci0K
LWFzeW5jIGZ1bmN0aW9uIGNoZWNrUmVzdWx0KCkKLXsKLSAgICBkZWJ1ZygiQ29va2llcyBzZW50
IHdpdGggSFRUUCByZXF1ZXN0OiIpOwotICAgIGF3YWl0IHNob3VsZEhhdmVDb29raWVXaXRoVmFs
dWUoInN0cmljdCIsICIxMSIpOwotICAgIGF3YWl0IHNob3VsZEhhdmVDb29raWVXaXRoVmFsdWUo
ImltcGxpY2l0LXN0cmljdCIsICIxMSIpOwotICAgIGF3YWl0IHNob3VsZEhhdmVDb29raWVXaXRo
VmFsdWUoInN0cmljdC1iZWNhdXNlLWludmFsaWQtU2FtZVNpdGUtdmFsdWUiLCAiMTEiKTsKLSAg
ICBhd2FpdCBzaG91bGRIYXZlQ29va2llV2l0aFZhbHVlKCJsYXgiLCAiMTEiKTsKLQotICAgIGRl
YnVnKCI8YnI+Q29va2llcyB2aXNpYmxlIGluIERPTToiKTsKLSAgICBzaG91bGRIYXZlRE9NQ29v
a2llV2l0aFZhbHVlKCJzdHJpY3QiLCAiMTEiKTsKLSAgICBzaG91bGRIYXZlRE9NQ29va2llV2l0
aFZhbHVlKCJpbXBsaWNpdC1zdHJpY3QiLCAiMTEiKTsKLSAgICBzaG91bGRIYXZlRE9NQ29va2ll
V2l0aFZhbHVlKCJzdHJpY3QtYmVjYXVzZS1pbnZhbGlkLVNhbWVTaXRlLXZhbHVlIiwgIjExIik7
Ci0gICAgc2hvdWxkSGF2ZURPTUNvb2tpZVdpdGhWYWx1ZSgibGF4IiwgIjExIik7Ci0KLSAgICBh
d2FpdCByZXNldENvb2tpZXMoKTsKLSAgICBmaW5pc2hKU1Rlc3QoKTsKLX0KLQotY2hlY2tSZXN1
bHQoKTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9yZXNvdXJjZXMvZmV0Y2gtaW4tc2FtZS1vcmlnaW4t
c2VydmljZS13b3JrZXIucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9j
b29raWVzL3NhbWUtc2l0ZS9yZXNvdXJjZXMvZmV0Y2gtaW4tc2FtZS1vcmlnaW4tc2VydmljZS13
b3JrZXIucHkJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVz
L3NhbWUtc2l0ZS9yZXNvdXJjZXMvZmV0Y2gtaW4tc2FtZS1vcmlnaW4tc2VydmljZS13b3JrZXIu
cHkJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1MSBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9u
MworCitpbXBvcnQganNvbgoraW1wb3J0IG9zCitpbXBvcnQgc3lzCisKK2ZpbGUgPSBfX2ZpbGVf
Xy5zcGxpdCgnOi9jeWd3aW4nKVstMV0KK2h0dHBfcm9vdCA9ICcvJy5qb2luKG9zLnBhdGguZGly
bmFtZShvcy5wYXRoLmRpcm5hbWUob3MucGF0aC5hYnNwYXRoKG9zLnBhdGguZGlybmFtZShmaWxl
KSkpKS5zcGxpdCgnLycpWzotMV0pCitzeXMucGF0aC5pbnNlcnQoMCwgaHR0cF9yb290KQorCitm
cm9tIHJlc291cmNlcy5wb3J0YWJpbGl0eUxheWVyIGltcG9ydCBnZXRfY29va2llcworCitjb29r
aWVzID0gZ2V0X2Nvb2tpZXMoKQorCitzeXMuc3Rkb3V0LndyaXRlKCdDb250ZW50LVR5cGU6IHRl
eHQvaHRtbFxyXG5cclxuJykKKworcHJpbnQoJycnPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvY29va2llLXV0aWxpdGllcy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0Pl9zZXRDYWNoZWRDb29raWVzSlNPTigne30nKTwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8c2NyaXB0Pgord2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworCitk
ZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBTYW1lLVNpdGUgY29va2llcyBmb3IgMTI3LjAuMC4xIGFy
ZSBzZW50IHdpdGggYSByZXF1ZXN0IGluaXRpYXRlZCBmcm9tIGFuIGlmcmFtZS0gYW5kIHByb2Nl
c3NlZCBieSBhIHNlcnZpY2Ugd29ya2VyLSB3aXRoIHRoZSBzYW1lIG9yaWdpbi4iKTsKKworYXN5
bmMgZnVuY3Rpb24gY2hlY2tSZXN1bHQoKQore3sKKyAgICBkZWJ1ZygiQ29va2llcyBzZW50IHdp
dGggSFRUUCByZXF1ZXN0OiIpOworICAgIGF3YWl0IHNob3VsZEhhdmVDb29raWVXaXRoVmFsdWUo
InN0cmljdCIsICIxMSIpOworICAgIGF3YWl0IHNob3VsZEhhdmVDb29raWVXaXRoVmFsdWUoImlt
cGxpY2l0LXN0cmljdCIsICIxMSIpOworICAgIGF3YWl0IHNob3VsZEhhdmVDb29raWVXaXRoVmFs
dWUoInN0cmljdC1iZWNhdXNlLWludmFsaWQtU2FtZVNpdGUtdmFsdWUiLCAiMTEiKTsKKyAgICBh
d2FpdCBzaG91bGRIYXZlQ29va2llV2l0aFZhbHVlKCJsYXgiLCAiMTEiKTsKKworICAgIGRlYnVn
KCI8YnI+Q29va2llcyB2aXNpYmxlIGluIERPTToiKTsKKyAgICBzaG91bGRIYXZlRE9NQ29va2ll
V2l0aFZhbHVlKCJzdHJpY3QiLCAiMTEiKTsKKyAgICBzaG91bGRIYXZlRE9NQ29va2llV2l0aFZh
bHVlKCJpbXBsaWNpdC1zdHJpY3QiLCAiMTEiKTsKKyAgICBzaG91bGRIYXZlRE9NQ29va2llV2l0
aFZhbHVlKCJzdHJpY3QtYmVjYXVzZS1pbnZhbGlkLVNhbWVTaXRlLXZhbHVlIiwgIjExIik7Cisg
ICAgc2hvdWxkSGF2ZURPTUNvb2tpZVdpdGhWYWx1ZSgibGF4IiwgIjExIik7CisKKyAgICBhd2Fp
dCByZXNldENvb2tpZXMoKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK319CisKK2NoZWNrUmVzdWx0
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4nJycuZm9ybWF0KGpzb24uZHVtcHMoY29v
a2llcykpKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKClByb3BlcnR5IGNoYW5nZXMgb246
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvcmVzb3VyY2VzL2ZldGNo
LWluLXNhbWUtb3JpZ2luLXNlcnZpY2Utd29ya2VyLnB5Cl9fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpl
eGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0
eQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9yZXNvdXJj
ZXMvcG9zdC1mcm9tLXBvcHVwLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9yZXNvdXJjZXMvcG9zdC1mcm9tLXBvcHVwLmh0bWwJKHJl
dmlzaW9uIDI3NTIyNikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9zYW1lLXNp
dGUvcmVzb3VyY2VzL3Bvc3QtZnJvbS1wb3B1cC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDcg
KzEsNyBAQAogPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxib2R5PgotPGZvcm0gYWN0aW9uPSIu
Li8uLi9yZXNvdXJjZXMvcG9zdC1jb29raWVzLXRvLW9wZW5lci5waHAiIG1ldGhvZD0iUE9TVCI+
Cis8Zm9ybSBhY3Rpb249Ii4uLy4uL3Jlc291cmNlcy9wb3N0LWNvb2tpZXMtdG8tb3BlbmVyLnB5
IiBtZXRob2Q9IlBPU1QiPgogICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9IlN1Ym1pdCI+
CiA8L2Zvcm0+CiA8c2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wbHVnaW5z
L3Jlc291cmNlcy90aGlyZC1wYXJ0eS1jb29raWUtYWNjZXB0LXBvbGljeS1pZnJhbWUuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BsdWdpbnMvcmVzb3VyY2VzL3Ro
aXJkLXBhcnR5LWNvb2tpZS1hY2NlcHQtcG9saWN5LWlmcmFtZS5odG1sCShyZXZpc2lvbiAyNzUy
MjYpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BsdWdpbnMvcmVzb3VyY2VzL3RoaXJkLXBh
cnR5LWNvb2tpZS1hY2NlcHQtcG9saWN5LWlmcmFtZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0x
OCw3ICsxOCw3IEBAIHZhciBwbHVnaW4gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGwKIAog
aWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgIHRlc3RSdW5uZXIuc2V0QWx3YXlzQWNjZXB0Q29v
a2llcyh0cnVlKTsKLXBsdWdpbi5nZXRVUkxOb3RpZnkoImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9j
b29raWVzL3Jlc291cmNlcy9jb29raWUtdXRpbGl0eS5waHA/cXVlcnlmdW5jdGlvbj1kZWxldGVD
b29raWVzIiwgbnVsbCwgInRyeVNldENvb2tpZSIpOworcGx1Z2luLmdldFVSTE5vdGlmeSgiaHR0
cDovL2xvY2FsaG9zdDo4MDAwL2Nvb2tpZXMvcmVzb3VyY2VzL2Nvb2tpZS11dGlsaXR5LnB5P3F1
ZXJ5ZnVuY3Rpb249ZGVsZXRlQ29va2llcyIsIG51bGwsICJ0cnlTZXRDb29raWUiKTsKIAogZnVu
Y3Rpb24gdHJ5U2V0Q29va2llKCkKIHsKQEAgLTI2LDcgKzI2LDcgQEAgZnVuY3Rpb24gdHJ5U2V0
Q29va2llKCkKICAgIGNvbnNvbGUubG9nKCJBYm91dCB0byBzZXQgYSBjb29raWUsIGJ1dCBvbiBs
b2NhbGhvc3QgaW5zdGVhZCBvZiAxMjcuMC4wLjEsIHdoaWNoIGlzIG91ciBtYWluIGRvY3VtZW50
IGRvbWFpbiAtIFRoaXMgc2hvdWxkIGZhaWwuIik7CiAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVy
KQogICAgICAgICB0ZXN0UnVubmVyLnNldEFsd2F5c0FjY2VwdENvb2tpZXMoZmFsc2UpOwotICAg
cGx1Z2luLmdldFVSTE5vdGlmeSgiaHR0cDovL2xvY2FsaG9zdDo4MDAwL2Nvb2tpZXMvcmVzb3Vy
Y2VzL2Nvb2tpZS11dGlsaXR5LnBocD9xdWVyeWZ1bmN0aW9uPXNldEZvb0Nvb2tpZSIsIG51bGws
ICJjb21wbGV0ZVRlc3QiKTsKKyAgIHBsdWdpbi5nZXRVUkxOb3RpZnkoImh0dHA6Ly9sb2NhbGhv
c3Q6ODAwMC9jb29raWVzL3Jlc291cmNlcy9jb29raWUtdXRpbGl0eS5weT9xdWVyeWZ1bmN0aW9u
PXNldEZvb0Nvb2tpZSIsIG51bGwsICJjb21wbGV0ZVRlc3QiKTsKIH0KIAogZnVuY3Rpb24gY29t
cGxldGVUZXN0KCkKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJpdmF0ZUNsaWNrTWVh
c3VyZW1lbnQvc2VuZC1hdHRyaWJ1dGlvbi1jb252ZXJzaW9uLXJlcXVlc3QuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByaXZhdGVDbGlja01lYXN1cmVtZW50L3Nl
bmQtYXR0cmlidXRpb24tY29udmVyc2lvbi1yZXF1ZXN0Lmh0bWwJKHJldmlzaW9uIDI3NTIyNikK
KysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvc2VuZC1h
dHRyaWJ1dGlvbi1jb252ZXJzaW9uLXJlcXVlc3QuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtNDgs
MTAgKzQ4LDEwIEBACiAgICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInRhcmdldExpbmsiKSk7CiAgICAgICAgIGRvY3VtZW50LmJvZHkucmVt
b3ZlQ2hpbGQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBpeGVsIikpOwogCi0gICAgICAgIGFw
cGVuZElmcmFtZSgiaHR0cDovLzEyNy4wLjAuMTo4MDAwL2Nvb2tpZXMvcmVzb3VyY2VzL2VjaG8t
Y29va2llcy5waHAiKTsKKyAgICAgICAgYXBwZW5kSWZyYW1lKCJodHRwOi8vMTI3LjAuMC4xOjgw
MDAvY29va2llcy9yZXNvdXJjZXMvZWNoby1jb29raWVzLnB5Iik7CiAgICAgICAgIC8vIENsaWNr
IHNvdXJjZS4KICAgICAgICAgYXBwZW5kSWZyYW1lKCJodHRwOi8vMTI3LjAuMC4xOjgwMDAvcHJp
dmF0ZUNsaWNrTWVhc3VyZW1lbnQvcmVzb3VyY2VzL2dldENvbnZlcnNpb25EYXRhLnB5P3RpbWVv
dXRfbXM9MjAwMCZyZWNpcGllbnQ9Q2xpY2tTb3VyY2Umbm9uY2U9IiArIG5vbmNlLCBmdW5jdGlv
bigpIHsKLSAgICAgICAgICAgIGFwcGVuZElmcmFtZSgiaHR0cDovLzEyNy4wLjAuMTo4MDAwL2Nv
b2tpZXMvcmVzb3VyY2VzL2VjaG8tY29va2llcy5waHAiLCBmdW5jdGlvbigpIHsKKyAgICAgICAg
ICAgIGFwcGVuZElmcmFtZSgiaHR0cDovLzEyNy4wLjAuMTo4MDAwL2Nvb2tpZXMvcmVzb3VyY2Vz
L2VjaG8tY29va2llcy5weSIsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgIHJlcG9ydHNS
ZWNlaXZlZCsrOwogICAgICAgICAgICAgICAgIGlmIChyZXBvcnRzUmVjZWl2ZWQgPj0gMikKICAg
ICAgICAgICAgICAgICAgICAgdGVhckRvd25BbmRGaW5pc2goKTsKQEAgLTYwLDcgKzYwLDcgQEAK
IAogICAgICAgICAvLyBDbGljayBkZXN0aW5hdGlvbi4KICAgICAgICAgYXBwZW5kSWZyYW1lKCJo
dHRwOi8vMTI3LjAuMC4xOjgwMDAvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvcmVzb3VyY2VzL2dl
dENvbnZlcnNpb25EYXRhLnB5P3RpbWVvdXRfbXM9MjAwMCZyZWNpcGllbnQ9Q2xpY2tEZXN0aW5h
dGlvbiZub25jZT0iICsgbm9uY2UsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgYXBwZW5kSWZy
YW1lKCJodHRwOi8vMTI3LjAuMC4xOjgwMDAvY29va2llcy9yZXNvdXJjZXMvZWNoby1jb29raWVz
LnBocCIsIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgYXBwZW5kSWZyYW1lKCJodHRwOi8vMTI3
LjAuMC4xOjgwMDAvY29va2llcy9yZXNvdXJjZXMvZWNoby1jb29raWVzLnB5IiwgZnVuY3Rpb24o
KSB7CiAgICAgICAgICAgICAgICAgcmVwb3J0c1JlY2VpdmVkKys7CiAgICAgICAgICAgICAgICAg
aWYgKHJlcG9ydHNSZWNlaXZlZCA+PSAyKQogICAgICAgICAgICAgICAgICAgICB0ZWFyRG93bkFu
ZEZpbmlzaCgpOwpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL2RlbGV0ZS1zY3JpcHQtYWNjZXNzaWJsZS1jb29raWVzLmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2RlbGV0ZS1z
Y3JpcHQtYWNjZXNzaWJsZS1jb29raWVzLmh0bWwJKHJldmlzaW9uIDI3NTIyNikKKysrIExheW91
dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9kZWxldGUtc2NyaXB0LWFj
Y2Vzc2libGUtY29va2llcy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC01Myw3ICs1Myw3IEBACiAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKCJObyB0ZXN0UnVubmVyIG9yIG5vIGludGVybmFscy4iKTsK
ICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQotICAgICAgICBhd2FpdCBmZXRjaCgiL2Nv
b2tpZXMvcmVzb3VyY2VzL3NldC1odHRwLW9ubHktY29va2llLnBocD9jb29raWVOYW1lPSIgKyBo
dHRwT25seUNvb2tpZU5hbWUsIHsgY3JlZGVudGlhbHM6ICJzYW1lLW9yaWdpbiIgfSk7CisgICAg
ICAgIGF3YWl0IGZldGNoKCIvY29va2llcy9yZXNvdXJjZXMvc2V0LWh0dHAtb25seS1jb29raWUu
cHk/Y29va2llTmFtZT0iICsgaHR0cE9ubHlDb29raWVOYW1lLCB7IGNyZWRlbnRpYWxzOiAic2Ft
ZS1vcmlnaW4iIH0pOwogICAgICAgICBhd2FpdCBmZXRjaCgiL2Nvb2tpZXMvcmVzb3VyY2VzL3Nl
dENvb2tpZXMuY2dpIiwgeyBoZWFkZXJzOiB7ICJTZXQtQ29va2llIjogc2VydmVyU2lkZUNvb2tp
ZU5hbWUgKyAiPTE7IHBhdGg9LzsiIH0sIGNyZWRlbnRpYWxzOiAic2FtZS1vcmlnaW4iIH0pOwog
ICAgICAgICBkb2N1bWVudC5jb29raWUgPSBjbGllbnRTaWRlQ29va2llTmFtZSArICI9MSI7CiAg
ICAgICAgIGNoZWNrQ29va2llcyhmYWxzZSk7CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvb3BlcmF0aW5nLWRhdGVzLWFsbC1idXQtY29va2llcy1u
b3QtcmVtb3ZlZC13aXRoLXVzZXItaW50ZXJhY3Rpb24tNi1kYXlzLWFnby5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9vcGVy
YXRpbmctZGF0ZXMtYWxsLWJ1dC1jb29raWVzLW5vdC1yZW1vdmVkLXdpdGgtdXNlci1pbnRlcmFj
dGlvbi02LWRheXMtYWdvLmh0bWwJKHJldmlzaW9uIDI3NTIyNikKKysrIExheW91dFRlc3RzL2h0
dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9vcGVyYXRpbmctZGF0ZXMtYWxsLWJ1dC1j
b29raWVzLW5vdC1yZW1vdmVkLXdpdGgtdXNlci1pbnRlcmFjdGlvbi02LWRheXMtYWdvLmh0bWwJ
KHdvcmtpbmcgY29weSkKQEAgLTE5NCw3ICsxOTQsNyBAQAogCiAgICAgYXN5bmMgZnVuY3Rpb24g
d3JpdGVXZWJzaXRlRGF0YUFuZENvbnRpbnVlKCkgewogICAgICAgICAvLyBXcml0ZSBjb29raWVz
LgotICAgICAgICBhd2FpdCBmZXRjaCgiL2Nvb2tpZXMvcmVzb3VyY2VzL3NldC1odHRwLW9ubHkt
Y29va2llLnBocD9jb29raWVOYW1lPSIgKyBodHRwT25seUNvb2tpZU5hbWUsIHsgY3JlZGVudGlh
bHM6ICJzYW1lLW9yaWdpbiIgfSk7CisgICAgICAgIGF3YWl0IGZldGNoKCIvY29va2llcy9yZXNv
dXJjZXMvc2V0LWh0dHAtb25seS1jb29raWUucHk/Y29va2llTmFtZT0iICsgaHR0cE9ubHlDb29r
aWVOYW1lLCB7IGNyZWRlbnRpYWxzOiAic2FtZS1vcmlnaW4iIH0pOwogICAgICAgICBhd2FpdCBm
ZXRjaCgiL2Nvb2tpZXMvcmVzb3VyY2VzL3NldENvb2tpZXMuY2dpIiwgeyBoZWFkZXJzOiB7ICJT
ZXQtQ29va2llIjogc2VydmVyU2lkZUNvb2tpZU5hbWUgKyAiPTE7IHBhdGg9LzsiIH0sIGNyZWRl
bnRpYWxzOiAic2FtZS1vcmlnaW4iIH0pOwogICAgICAgICBkb2N1bWVudC5jb29raWUgPSBjbGll
bnRTaWRlQ29va2llTmFtZSArICI9MSI7CiAKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9vcGVyYXRpbmctZGF0ZXMtYWxsLWJ1dC1jb29raWVzLXJl
bW92ZWQtd2l0aC11c2VyLWludGVyYWN0aW9uLTctZGF5cy1hZ28uaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvb3BlcmF0aW5n
LWRhdGVzLWFsbC1idXQtY29va2llcy1yZW1vdmVkLXdpdGgtdXNlci1pbnRlcmFjdGlvbi03LWRh
eXMtYWdvLmh0bWwJKHJldmlzaW9uIDI3NTIyNikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9vcGVyYXRpbmctZGF0ZXMtYWxsLWJ1dC1jb29raWVzLXJl
bW92ZWQtd2l0aC11c2VyLWludGVyYWN0aW9uLTctZGF5cy1hZ28uaHRtbAkod29ya2luZyBjb3B5
KQpAQCAtMTk0LDcgKzE5NCw3IEBACiAKICAgICBhc3luYyBmdW5jdGlvbiB3cml0ZVdlYnNpdGVE
YXRhQW5kQ29udGludWUoKSB7CiAgICAgICAgIC8vIFdyaXRlIGNvb2tpZXMuCi0gICAgICAgIGF3
YWl0IGZldGNoKCIvY29va2llcy9yZXNvdXJjZXMvc2V0LWh0dHAtb25seS1jb29raWUucGhwP2Nv
b2tpZU5hbWU9IiArIGh0dHBPbmx5Q29va2llTmFtZSwgeyBjcmVkZW50aWFsczogInNhbWUtb3Jp
Z2luIiB9KTsKKyAgICAgICAgYXdhaXQgZmV0Y2goIi9jb29raWVzL3Jlc291cmNlcy9zZXQtaHR0
cC1vbmx5LWNvb2tpZS5weT9jb29raWVOYW1lPSIgKyBodHRwT25seUNvb2tpZU5hbWUsIHsgY3Jl
ZGVudGlhbHM6ICJzYW1lLW9yaWdpbiIgfSk7CiAgICAgICAgIGF3YWl0IGZldGNoKCIvY29va2ll
cy9yZXNvdXJjZXMvc2V0Q29va2llcy5jZ2kiLCB7IGhlYWRlcnM6IHsgIlNldC1Db29raWUiOiBz
ZXJ2ZXJTaWRlQ29va2llTmFtZSArICI9MTsgcGF0aD0vOyIgfSwgY3JlZGVudGlhbHM6ICJzYW1l
LW9yaWdpbiIgfSk7CiAgICAgICAgIGRvY3VtZW50LmNvb2tpZSA9IGNsaWVudFNpZGVDb29raWVO
YW1lICsgIj0xIjsKIApJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL29wZXJhdGluZy1kYXRlcy1hbGwtd2Vic2l0ZS1kYXRhLXJlbW92ZWQuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3Mvb3BlcmF0aW5nLWRhdGVzLWFsbC13ZWJzaXRlLWRhdGEtcmVtb3ZlZC5odG1sCShyZXZpc2lv
biAyNzUyMjYpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3Mvb3BlcmF0aW5nLWRhdGVzLWFsbC13ZWJzaXRlLWRhdGEtcmVtb3ZlZC5odG1sCSh3b3JraW5n
IGNvcHkpCkBAIC0xOTQsNyArMTk0LDcgQEAKIAogICAgIGFzeW5jIGZ1bmN0aW9uIHdyaXRlV2Vi
c2l0ZURhdGFBbmRDb250aW51ZSgpIHsKICAgICAgICAgLy8gV3JpdGUgY29va2llcy4KLSAgICAg
ICAgYXdhaXQgZmV0Y2goIi9jb29raWVzL3Jlc291cmNlcy9zZXQtaHR0cC1vbmx5LWNvb2tpZS5w
aHA/Y29va2llTmFtZT0iICsgaHR0cE9ubHlDb29raWVOYW1lLCB7IGNyZWRlbnRpYWxzOiAic2Ft
ZS1vcmlnaW4iIH0pOworICAgICAgICBhd2FpdCBmZXRjaCgiL2Nvb2tpZXMvcmVzb3VyY2VzL3Nl
dC1odHRwLW9ubHktY29va2llLnB5P2Nvb2tpZU5hbWU9IiArIGh0dHBPbmx5Q29va2llTmFtZSwg
eyBjcmVkZW50aWFsczogInNhbWUtb3JpZ2luIiB9KTsKICAgICAgICAgYXdhaXQgZmV0Y2goIi9j
b29raWVzL3Jlc291cmNlcy9zZXRDb29raWVzLmNnaSIsIHsgaGVhZGVyczogeyAiU2V0LUNvb2tp
ZSI6IHNlcnZlclNpZGVDb29raWVOYW1lICsgIj0xOyBwYXRoPS87IiB9LCBjcmVkZW50aWFsczog
InNhbWUtb3JpZ2luIiB9KTsKICAgICAgICAgZG9jdW1lbnQuY29va2llID0gY2xpZW50U2lkZUNv
b2tpZU5hbWUgKyAiPTEiOwogCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3Mvc3RhbmRhbG9uZS13ZWItYXBwbGljYXRpb24tZXhlbXB0LWZyb20td2Vi
c2l0ZS1kYXRhLWRlbGV0aW9uLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3N0YW5kYWxvbmUtd2ViLWFwcGxpY2F0aW9uLWV4
ZW1wdC1mcm9tLXdlYnNpdGUtZGF0YS1kZWxldGlvbi5odG1sCShyZXZpc2lvbiAyNzUyMjYpCisr
KyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc3RhbmRhbG9u
ZS13ZWItYXBwbGljYXRpb24tZXhlbXB0LWZyb20td2Vic2l0ZS1kYXRhLWRlbGV0aW9uLmh0bWwJ
KHdvcmtpbmcgY29weSkKQEAgLTE5Niw3ICsxOTYsNyBAQAogCiAgICAgYXN5bmMgZnVuY3Rpb24g
d3JpdGVXZWJzaXRlRGF0YUFuZENvbnRpbnVlKCkgewogICAgICAgICAvLyBXcml0ZSBjb29raWVz
LgotICAgICAgICBhd2FpdCBmZXRjaCgiL2Nvb2tpZXMvcmVzb3VyY2VzL3NldC1odHRwLW9ubHkt
Y29va2llLnBocD9jb29raWVOYW1lPSIgKyBodHRwT25seUNvb2tpZU5hbWUsIHsgY3JlZGVudGlh
bHM6ICJzYW1lLW9yaWdpbiIgfSk7CisgICAgICAgIGF3YWl0IGZldGNoKCIvY29va2llcy9yZXNv
dXJjZXMvc2V0LWh0dHAtb25seS1jb29raWUucHk/Y29va2llTmFtZT0iICsgaHR0cE9ubHlDb29r
aWVOYW1lLCB7IGNyZWRlbnRpYWxzOiAic2FtZS1vcmlnaW4iIH0pOwogICAgICAgICBhd2FpdCBm
ZXRjaCgiL2Nvb2tpZXMvcmVzb3VyY2VzL3NldENvb2tpZXMuY2dpIiwgeyBoZWFkZXJzOiB7ICJT
ZXQtQ29va2llIjogc2VydmVyU2lkZUNvb2tpZU5hbWUgKyAiPTE7IHBhdGg9LzsiIH0sIGNyZWRl
bnRpYWxzOiAic2FtZS1vcmlnaW4iIH0pOwogICAgICAgICBkb2N1bWVudC5jb29raWUgPSBjbGll
bnRTaWRlQ29va2llTmFtZSArICI9MSI7CiAKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy93ZWJzaXRlLWRhdGEtcmVtb3ZhbC1mb3Itc2l0ZS1uYXZp
Z2F0ZWQtdG8td2l0aC1saW5rLWRlY29yYXRpb24uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvd2Vic2l0ZS1kYXRhLXJlbW92
YWwtZm9yLXNpdGUtbmF2aWdhdGVkLXRvLXdpdGgtbGluay1kZWNvcmF0aW9uLmh0bWwJKHJldmlz
aW9uIDI3NTIyNikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy93ZWJzaXRlLWRhdGEtcmVtb3ZhbC1mb3Itc2l0ZS1uYXZpZ2F0ZWQtdG8td2l0aC1saW5r
LWRlY29yYXRpb24uaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMTk1LDcgKzE5NSw3IEBACiAKICAg
ICBhc3luYyBmdW5jdGlvbiB3cml0ZVdlYnNpdGVEYXRhQW5kQ29udGludWUoKSB7CiAgICAgICAg
IC8vIFdyaXRlIGNvb2tpZXMuCi0gICAgICAgIGF3YWl0IGZldGNoKCIvY29va2llcy9yZXNvdXJj
ZXMvc2V0LWh0dHAtb25seS1jb29raWUucGhwP2Nvb2tpZU5hbWU9IiArIGh0dHBPbmx5Q29va2ll
TmFtZSwgeyBjcmVkZW50aWFsczogInNhbWUtb3JpZ2luIiB9KTsKKyAgICAgICAgYXdhaXQgZmV0
Y2goIi9jb29raWVzL3Jlc291cmNlcy9zZXQtaHR0cC1vbmx5LWNvb2tpZS5weT9jb29raWVOYW1l
PSIgKyBodHRwT25seUNvb2tpZU5hbWUsIHsgY3JlZGVudGlhbHM6ICJzYW1lLW9yaWdpbiIgfSk7
CiAgICAgICAgIGF3YWl0IGZldGNoKCIvY29va2llcy9yZXNvdXJjZXMvc2V0Q29va2llcy5jZ2ki
LCB7IGhlYWRlcnM6IHsgIlNldC1Db29raWUiOiBzZXJ2ZXJTaWRlQ29va2llTmFtZSArICI9MTsg
cGF0aD0vOyIgfSwgY3JlZGVudGlhbHM6ICJzYW1lLW9yaWdpbiIgfSk7CiAgICAgICAgIGRvY3Vt
ZW50LmNvb2tpZSA9IGNsaWVudFNpZGVDb29raWVOYW1lICsgIj0xIjsKIApJbmRleDogTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3dlYnNpdGUtZGF0YS1yZW1v
dmFsLWZvci1zaXRlLXdpdGgtdXNlci1pbnRlcmFjdGlvbi5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy93ZWJzaXRlLWRhdGEt
cmVtb3ZhbC1mb3Itc2l0ZS13aXRoLXVzZXItaW50ZXJhY3Rpb24uaHRtbAkocmV2aXNpb24gMjc1
MjI2KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3dl
YnNpdGUtZGF0YS1yZW1vdmFsLWZvci1zaXRlLXdpdGgtdXNlci1pbnRlcmFjdGlvbi5odG1sCSh3
b3JraW5nIGNvcHkpCkBAIC0xOTUsNyArMTk1LDcgQEAKIAogICAgIGFzeW5jIGZ1bmN0aW9uIHdy
aXRlV2Vic2l0ZURhdGFBbmRDb250aW51ZSgpIHsKICAgICAgICAgLy8gV3JpdGUgY29va2llcy4K
LSAgICAgICAgYXdhaXQgZmV0Y2goIi9jb29raWVzL3Jlc291cmNlcy9zZXQtaHR0cC1vbmx5LWNv
b2tpZS5waHA/Y29va2llTmFtZT0iICsgaHR0cE9ubHlDb29raWVOYW1lLCB7IGNyZWRlbnRpYWxz
OiAic2FtZS1vcmlnaW4iIH0pOworICAgICAgICBhd2FpdCBmZXRjaCgiL2Nvb2tpZXMvcmVzb3Vy
Y2VzL3NldC1odHRwLW9ubHktY29va2llLnB5P2Nvb2tpZU5hbWU9IiArIGh0dHBPbmx5Q29va2ll
TmFtZSwgeyBjcmVkZW50aWFsczogInNhbWUtb3JpZ2luIiB9KTsKICAgICAgICAgYXdhaXQgZmV0
Y2goIi9jb29raWVzL3Jlc291cmNlcy9zZXRDb29raWVzLmNnaSIsIHsgaGVhZGVyczogeyAiU2V0
LUNvb2tpZSI6IHNlcnZlclNpZGVDb29raWVOYW1lICsgIj0xOyBwYXRoPS87IiB9LCBjcmVkZW50
aWFsczogInNhbWUtb3JpZ2luIiB9KTsKICAgICAgICAgZG9jdW1lbnQuY29va2llID0gY2xpZW50
U2lkZUNvb2tpZU5hbWUgKyAiPTEiOwogCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3Mvd2Vic2l0ZS1kYXRhLXJlbW92YWwtZm9yLXNpdGUtd2l0aG91
dC11c2VyLWludGVyYWN0aW9uLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3dlYnNpdGUtZGF0YS1yZW1vdmFsLWZvci1zaXRl
LXdpdGhvdXQtdXNlci1pbnRlcmFjdGlvbi5odG1sCShyZXZpc2lvbiAyNzUyMjYpCisrKyBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvd2Vic2l0ZS1kYXRhLXJl
bW92YWwtZm9yLXNpdGUtd2l0aG91dC11c2VyLWludGVyYWN0aW9uLmh0bWwJKHdvcmtpbmcgY29w
eSkKQEAgLTE5NSw3ICsxOTUsNyBAQAogCiAgICAgYXN5bmMgZnVuY3Rpb24gd3JpdGVXZWJzaXRl
RGF0YUFuZENvbnRpbnVlKCkgewogICAgICAgICAvLyBXcml0ZSBjb29raWVzLgotICAgICAgICBh
d2FpdCBmZXRjaCgiL2Nvb2tpZXMvcmVzb3VyY2VzL3NldC1odHRwLW9ubHktY29va2llLnBocD9j
b29raWVOYW1lPSIgKyBodHRwT25seUNvb2tpZU5hbWUsIHsgY3JlZGVudGlhbHM6ICJzYW1lLW9y
aWdpbiIgfSk7CisgICAgICAgIGF3YWl0IGZldGNoKCIvY29va2llcy9yZXNvdXJjZXMvc2V0LWh0
dHAtb25seS1jb29raWUucHk/Y29va2llTmFtZT0iICsgaHR0cE9ubHlDb29raWVOYW1lLCB7IGNy
ZWRlbnRpYWxzOiAic2FtZS1vcmlnaW4iIH0pOwogICAgICAgICBhd2FpdCBmZXRjaCgiL2Nvb2tp
ZXMvcmVzb3VyY2VzL3NldENvb2tpZXMuY2dpIiwgeyBoZWFkZXJzOiB7ICJTZXQtQ29va2llIjog
c2VydmVyU2lkZUNvb2tpZU5hbWUgKyAiPTE7IHBhdGg9LzsiIH0sIGNyZWRlbnRpYWxzOiAic2Ft
ZS1vcmlnaW4iIH0pOwogICAgICAgICBkb2N1bWVudC5jb29raWUgPSBjbGllbnRTaWRlQ29va2ll
TmFtZSArICI9MSI7CiAKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9leGVtcHREb21haW5zL2FwcC1ib3VuZC1kb21haW5zLWV4ZW1wdC1mcm9tLXdl
YnNpdGUtZGF0YS1kZWxldGlvbi1kYXRhYmFzZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9leGVtcHREb21haW5zL2FwcC1i
b3VuZC1kb21haW5zLWV4ZW1wdC1mcm9tLXdlYnNpdGUtZGF0YS1kZWxldGlvbi1kYXRhYmFzZS5o
dG1sCShyZXZpc2lvbiAyNzUyMjYpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3MvZXhlbXB0RG9tYWlucy9hcHAtYm91bmQtZG9tYWlucy1leGVtcHQtZnJv
bS13ZWJzaXRlLWRhdGEtZGVsZXRpb24tZGF0YWJhc2UuaHRtbAkod29ya2luZyBjb3B5KQpAQCAt
MTk1LDcgKzE5NSw3IEBACiAKICAgICBhc3luYyBmdW5jdGlvbiB3cml0ZVdlYnNpdGVEYXRhQW5k
Q29udGludWUoKSB7CiAgICAgICAgIC8vIFdyaXRlIGNvb2tpZXMuCi0gICAgICAgIGF3YWl0IGZl
dGNoKCIvY29va2llcy9yZXNvdXJjZXMvc2V0LWh0dHAtb25seS1jb29raWUucGhwP2Nvb2tpZU5h
bWU9IiArIGh0dHBPbmx5Q29va2llTmFtZSwgeyBjcmVkZW50aWFsczogInNhbWUtb3JpZ2luIiB9
KTsKKyAgICAgICAgYXdhaXQgZmV0Y2goIi9jb29raWVzL3Jlc291cmNlcy9zZXQtaHR0cC1vbmx5
LWNvb2tpZS5weT9jb29raWVOYW1lPSIgKyBodHRwT25seUNvb2tpZU5hbWUsIHsgY3JlZGVudGlh
bHM6ICJzYW1lLW9yaWdpbiIgfSk7CiAgICAgICAgIGF3YWl0IGZldGNoKCIvY29va2llcy9yZXNv
dXJjZXMvc2V0Q29va2llcy5jZ2kiLCB7IGhlYWRlcnM6IHsgIlNldC1Db29raWUiOiBzZXJ2ZXJT
aWRlQ29va2llTmFtZSArICI9MTsgcGF0aD0vOyIgfSwgY3JlZGVudGlhbHM6ICJzYW1lLW9yaWdp
biIgfSk7CiAgICAgICAgIGRvY3VtZW50LmNvb2tpZSA9IGNsaWVudFNpZGVDb29raWVOYW1lICsg
Ij0xIjsKIApJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL2V4ZW1wdERvbWFpbnMvYXBwLWJvdW5kLWRvbWFpbnMtZXhlbXB0LWZyb20td2Vic2l0ZS1k
YXRhLWRlbGV0aW9uLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2V4ZW1wdERvbWFpbnMvYXBwLWJvdW5kLWRvbWFpbnMtZXhl
bXB0LWZyb20td2Vic2l0ZS1kYXRhLWRlbGV0aW9uLmh0bWwJKHJldmlzaW9uIDI3NTIyNikKKysr
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9leGVtcHREb21h
aW5zL2FwcC1ib3VuZC1kb21haW5zLWV4ZW1wdC1mcm9tLXdlYnNpdGUtZGF0YS1kZWxldGlvbi5o
dG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xOTUsNyArMTk1LDcgQEAKIAogICAgIGFzeW5jIGZ1bmN0
aW9uIHdyaXRlV2Vic2l0ZURhdGFBbmRDb250aW51ZSgpIHsKICAgICAgICAgLy8gV3JpdGUgY29v
a2llcy4KLSAgICAgICAgYXdhaXQgZmV0Y2goIi9jb29raWVzL3Jlc291cmNlcy9zZXQtaHR0cC1v
bmx5LWNvb2tpZS5waHA/Y29va2llTmFtZT0iICsgaHR0cE9ubHlDb29raWVOYW1lLCB7IGNyZWRl
bnRpYWxzOiAic2FtZS1vcmlnaW4iIH0pOworICAgICAgICBhd2FpdCBmZXRjaCgiL2Nvb2tpZXMv
cmVzb3VyY2VzL3NldC1odHRwLW9ubHktY29va2llLnB5P2Nvb2tpZU5hbWU9IiArIGh0dHBPbmx5
Q29va2llTmFtZSwgeyBjcmVkZW50aWFsczogInNhbWUtb3JpZ2luIiB9KTsKICAgICAgICAgYXdh
aXQgZmV0Y2goIi9jb29raWVzL3Jlc291cmNlcy9zZXRDb29raWVzLmNnaSIsIHsgaGVhZGVyczog
eyAiU2V0LUNvb2tpZSI6IHNlcnZlclNpZGVDb29raWVOYW1lICsgIj0xOyBwYXRoPS87IiB9LCBj
cmVkZW50aWFsczogInNhbWUtb3JpZ2luIiB9KTsKICAgICAgICAgZG9jdW1lbnQuY29va2llID0g
Y2xpZW50U2lkZUNvb2tpZU5hbWUgKyAiPTEiOwogCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVzb3VyY2VzL3NldC1jb29raWUtb24tcmVkaXJl
Y3QucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL3Jlc291cmNlcy9zZXQtY29va2llLW9uLXJlZGlyZWN0LnB5CShyZXZpc2lvbiAy
NzUyMjYpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
cmVzb3VyY2VzL3NldC1jb29raWUtb24tcmVkaXJlY3QucHkJKHdvcmtpbmcgY29weSkKQEAgLTEy
LDE0ICsxMiwxNCBAQCBzeXMuc3Rkb3V0LndyaXRlKCdDb250ZW50LVR5cGU6IHRleHQvaHRtCiBp
ZiBzdGVwID09IDE6CiAgICAgc3lzLnN0ZG91dC53cml0ZSgKICAgICAgICAgJ3N0YXR1czogMzAy
XHJcbicKLSAgICAgICAgJ0xvY2F0aW9uOiBodHRwOi8vbG9jYWxob3N0OjgwMDAvY29va2llcy9y
ZXNvdXJjZXMvc2V0LWNvb2tpZS1vbi1yZWRpcmVjdC5waHA/c3RlcD0yXHJcblxyXG4nCisgICAg
ICAgICdMb2NhdGlvbjogaHR0cDovL2xvY2FsaG9zdDo4MDAwL2Nvb2tpZXMvcmVzb3VyY2VzL3Nl
dC1jb29raWUtb24tcmVkaXJlY3QucHk/c3RlcD0yXHJcblxyXG4nCiAgICAgKQogZWxpZiBzdGVw
ID09IDI6CiAgICAgZXhwaXJlcyA9IGRhdGV0aW1lLnV0Y25vdygpICsgdGltZWRlbHRhKHNlY29u
ZHM9ODY0MDApCiAgICAgc3lzLnN0ZG91dC53cml0ZSgKICAgICAgICAgJ3N0YXR1czogMzAyXHJc
bicKICAgICAgICAgJ1NldC1Db29raWU6IHRlc3RfY29va2llPTE7IGV4cGlyZXM9e30gR01UOyBN
YXgtQWdlPTg2NDAwXHJcbicKLSAgICAgICAgJ0xvY2F0aW9uOiBodHRwOi8vbG9jYWxob3N0Ojgw
MDAvY29va2llcy9yZXNvdXJjZXMvc2V0LWNvb2tpZS1vbi1yZWRpcmVjdC5waHA/c3RlcD0zXHJc
blxyXG4nLmZvcm1hdChleHBpcmVzLnN0cmZ0aW1lKCclYSwgJWQtJWItJVkgJUg6JU06JVMnKSkK
KyAgICAgICAgJ0xvY2F0aW9uOiBodHRwOi8vbG9jYWxob3N0OjgwMDAvY29va2llcy9yZXNvdXJj
ZXMvc2V0LWNvb2tpZS1vbi1yZWRpcmVjdC5weT9zdGVwPTNcclxuXHJcbicuZm9ybWF0KGV4cGly
ZXMuc3RyZnRpbWUoJyVhLCAlZC0lYi0lWSAlSDolTTolUycpKQogICAgICkKIGVsaWYgc3RlcCA9
PSAzOgogICAgIGNvb2tpZXMgPSB7fQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNv
dXJjZXMvX19pbml0X18ucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9y
ZXNvdXJjZXMvX19pbml0X18ucHkJKHJldmlzaW9uIDI3NTIyNikKKysrIExheW91dFRlc3RzL2h0
dHAvdGVzdHMvcmVzb3VyY2VzL19faW5pdF9fLnB5CShub25leGlzdGVudCkKQEAgLTEsMjEgKzAs
MCBAQAotIyBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgotIwotIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKLSMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0jIGFyZSBtZXQ6Ci0jIDEuICBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAot
IyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgotIyAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSMgICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCi0jCi0jIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORAotIyBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAotIyBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFCi0jIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SCi0jIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKLSMgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IKLSMgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIKLSMgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwKLSMgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KClByb3BlcnR5IGNoYW5n
ZXMgb246IExheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VzL19faW5pdF9fLnB5Cl9fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX18KRGVsZXRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTEgKzAsMCAjIwotKgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291
cmNlcy9wb3J0YWJpbGl0eUxheWVyLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAv
dGVzdHMvcmVzb3VyY2VzL3BvcnRhYmlsaXR5TGF5ZXIucHkJKHJldmlzaW9uIDI3NTIyNikKKysr
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VzL3BvcnRhYmlsaXR5TGF5ZXIucHkJKHdv
cmtpbmcgY29weSkKQEAgLTIyLDYgKzIyLDE3IEBACiAKIGltcG9ydCBvcwogCitkZWYgZ2V0X2Nv
b2tpZXMoKToKKyAgICBjb29raWVzID0ge30KKyAgICBpZiAnSFRUUF9DT09LSUUnIGluIG9zLmVu
dmlyb246CisgICAgICAgIGhlYWRlcl9jb29raWVzID0gb3MuZW52aXJvblsnSFRUUF9DT09LSUUn
XQorICAgICAgICBoZWFkZXJfY29va2llcyA9IGhlYWRlcl9jb29raWVzLnNwbGl0KCc7ICcpCisK
KyAgICAgICAgZm9yIGNvb2tpZSBpbiBoZWFkZXJfY29va2llczoKKyAgICAgICAgICAgIGNvb2tp
ZSA9IGNvb2tpZS5zcGxpdCgnPScpCisgICAgICAgICAgICBjb29raWVzW2Nvb2tpZVswXV0gPSBj
b29raWVbMV0KKworICAgIHJldHVybiBjb29raWVzCiAKIGRlZiBzZXRTdGF0ZShzdGF0ZSwgZmls
ZSk6CiAgICAgd2l0aCBvcGVuKGZpbGUsICd3JykgYXMgZmlsZToKQEAgLTMzLDQgKzQ0LDQgQEAg
ZGVmIGdldFN0YXRlKGZpbGUsIGRlZmF1bHQ9J1VuaW5pdGlhbGl6ZQogICAgIGlmIG5vdCBvcy5w
YXRoLmlzZmlsZShmaWxlKToKICAgICAgICAgcmV0dXJuIGRlZmF1bHQKICAgICB3aXRoIG9wZW4o
ZmlsZSwgJ3InKSBhcyBmaWxlOgotICAgICAgICByZXR1cm4gZmlsZS5yZWFkKCkKKyAgICAgICAg
cmV0dXJuIGZpbGUucmVhZCgpClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb29raWVzL3RoaXJkLXBhcnR5LWNvb2tpZS1i
bG9ja2luZy1yZWRpcmVjdC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVz
dHMvc2VjdXJpdHkvY29va2llcy90aGlyZC1wYXJ0eS1jb29raWUtYmxvY2tpbmctcmVkaXJlY3Qu
aHRtbAkocmV2aXNpb24gMjc1MjI2KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0
eS9jb29raWVzL3RoaXJkLXBhcnR5LWNvb2tpZS1ibG9ja2luZy1yZWRpcmVjdC5odG1sCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xNSw0ICsxNSw0IEBAIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogPC9z
Y3JpcHQ+CiAKIDxwPkNoZWNrcyB0aGF0IHN1YnJlc291cmNlcyB0aGF0IGdvdCByZWRpcmVjdGVk
IGRvIG5vdCBjaXJjdW12ZW50IHRoaXJkLXBhcnR5IGNvb2tpZSBydWxlcy48YnI+VGhpcyB0ZXN0
IFBBU1MgaWYgeW91IGNhbiBzZWUgdGhlIHRleHQgIkZBSUxFRDogQ29va2llIG5vdCBzZXQiLjwv
cD4KLTxpZnJhbWUgb25sb2FkPSJ0ZXN0IiBzcmM9Imh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9jb29r
aWVzL3Jlc291cmNlcy9zZXQtY29va2llLW9uLXJlZGlyZWN0LnBocD9zdGVwPTEiPjwvaWZyYW1l
PgorPGlmcmFtZSBvbmxvYWQ9InRlc3QiIHNyYz0iaHR0cDovL2xvY2FsaG9zdDo4MDAwL2Nvb2tp
ZXMvcmVzb3VyY2VzL3NldC1jb29raWUtb24tcmVkaXJlY3QucHk/c3RlcD0xIj48L2lmcmFtZT4K
SW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvd2Vic29j
a2V0LWFsbG93ZWQtc2V0dGluZy1jb29raWUtYXMtdGhpcmQtcGFydHkuaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3dlYnNvY2tl
dC1hbGxvd2VkLXNldHRpbmctY29va2llLWFzLXRoaXJkLXBhcnR5Lmh0bWwJKHJldmlzaW9uIDI3
NTIyNikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvd2Vi
c29ja2V0LWFsbG93ZWQtc2V0dGluZy1jb29raWUtYXMtdGhpcmQtcGFydHkuaHRtbAkod29ya2lu
ZyBjb3B5KQpAQCAtMTIsNyArMTIsNyBAQAogICAgICAgICAgICAgZGVidWcoIjxicj5TZXR0aW5n
IHRoaXJkLXBhcnR5IGNvb2tpZSAnZm9vJyB0aHJvdWdoIGNyb3NzLW9yaWdpbiBXZWJTb2NrZXQg
aGFuZHNoYWtlLiIpOwogICAgICAgICAgICAgYXdhaXQgc2V0Q29va2llVXNpbmdXZWJTb2NrZXRG
cm9tSG9zdCgibG9jYWxob3N0Iik7CiAgICAgICAgICAgICBsZXQgaWZyYW1lRWxlbWVudCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpOwotICAgICAgICAgICAgaWZyYW1lRWxlbWVu
dC5zcmMgPSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwL2Nvb2tpZXMvcmVzb3VyY2VzL2VjaG8tY29v
a2llcy5waHAiOworICAgICAgICAgICAgaWZyYW1lRWxlbWVudC5zcmMgPSAiaHR0cDovL2xvY2Fs
aG9zdDo4MDAwL2Nvb2tpZXMvcmVzb3VyY2VzL2VjaG8tY29va2llcy5weSI7CiAgICAgICAgICAg
ICBpZnJhbWVFbGVtZW50Lm9ubG9hZCA9IGZpbmlzaEpTVGVzdDsKICAgICAgICAgICAgIGRlYnVn
KCI8YnI+T3BlbmluZyBsb2NhbGhvc3QgdGhpcmQtcGFydHkgaWZyYW1lIHRvIGNoZWNrIGl0cyBj
b29raWVzLiIpOwogICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpZnJhbWVF
bGVtZW50KTsKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5
Ymkvd2Vic29ja2V0LWJsb2NrZWQtZnJvbS1zZXR0aW5nLWNvb2tpZS1hcy10aGlyZC1wYXJ0eS5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3Rz
L2h5Ymkvd2Vic29ja2V0LWJsb2NrZWQtZnJvbS1zZXR0aW5nLWNvb2tpZS1hcy10aGlyZC1wYXJ0
eS5odG1sCShyZXZpc2lvbiAyNzUyMjYpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNv
Y2tldC90ZXN0cy9oeWJpL3dlYnNvY2tldC1ibG9ja2VkLWZyb20tc2V0dGluZy1jb29raWUtYXMt
dGhpcmQtcGFydHkuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMTMsNyArMTMsNyBAQAogICAgICAg
ICAgICAgZGVidWcoIjxicj5BdHRlbXB0aW5nIHRvIHNldCB0aGlyZC1wYXJ0eSBjb29raWUgJ2Zv
bycgdGhyb3VnaCBjcm9zcy1vcmlnaW4gV2ViU29ja2V0IGhhbmRzaGFrZS4iKTsKICAgICAgICAg
ICAgIGF3YWl0IHNldENvb2tpZVVzaW5nV2ViU29ja2V0RnJvbUhvc3QoImxvY2FsaG9zdCIpOwog
ICAgICAgICAgICAgbGV0IGlmcmFtZUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJp
ZnJhbWUiKTsKLSAgICAgICAgICAgIGlmcmFtZUVsZW1lbnQuc3JjID0gImh0dHA6Ly9sb2NhbGhv
c3Q6ODAwMC9jb29raWVzL3Jlc291cmNlcy9lY2hvLWNvb2tpZXMucGhwIjsKKyAgICAgICAgICAg
IGlmcmFtZUVsZW1lbnQuc3JjID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9jb29raWVzL3Jlc291
cmNlcy9lY2hvLWNvb2tpZXMucHkiOwogICAgICAgICAgICAgaWZyYW1lRWxlbWVudC5vbmxvYWQg
PSBmaW5pc2hKU1Rlc3Q7CiAgICAgICAgICAgICBkZWJ1ZygiPGJyPk9wZW5pbmcgbG9jYWxob3N0
IHRoaXJkLXBhcnR5IGlmcmFtZSB0byBjaGVjayBpdHMgY29va2llcy4iKTsKICAgICAgICAgICAg
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJvdXRwdXQiKS5hcHBlbmRDaGlsZChpZnJhbWVFbGVt
ZW50KTsKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkv
d2Vic29ja2V0LWNvb2tpZS1vdmVyd3JpdGUtYmVoYXZpb3IuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3dlYnNvY2tldC1jb29r
aWUtb3ZlcndyaXRlLWJlaGF2aW9yLmh0bWwJKHJldmlzaW9uIDI3NTIyNikKKysrIExheW91dFRl
c3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvd2Vic29ja2V0LWNvb2tpZS1vdmVy
d3JpdGUtYmVoYXZpb3IuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtNTYsNyArNTYsNyBAQCBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0cygpCiAgICAgICAgICAgICBkZWJ1ZygiU2V0dGluZyB0aGlyZC1w
YXJ0eSBjb29raWUgJ2ZvbycgdGhyb3VnaCBjcm9zcy1vcmlnaW4gV2ViU29ja2V0IGhhbmRzaGFr
ZSBhbmQgY2hlY2tpbmcgdGhhdCBpdCBkb2Vzbid0IHdyaXRlIGZpcnN0LXBhcnR5IGNvb2tpZXMu
Iik7CiAgICAgICAgICAgICBhd2FpdCB0ZXN0Q3Jvc3NPcmlnaW5Db29raWUoKTsKICAgICAgICAg
ICAgIGxldCBpZnJhbWVFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7
Ci0gICAgICAgICAgICBpZnJhbWVFbGVtZW50LnNyYyA9ICJodHRwOi8vbG9jYWxob3N0OjgwMDAv
Y29va2llcy9yZXNvdXJjZXMvZWNoby1jb29raWVzLnBocCI7CisgICAgICAgICAgICBpZnJhbWVF
bGVtZW50LnNyYyA9ICJodHRwOi8vbG9jYWxob3N0OjgwMDAvY29va2llcy9yZXNvdXJjZXMvZWNo
by1jb29raWVzLnB5IjsKICAgICAgICAgICAgIGlmcmFtZUVsZW1lbnQub25sb2FkID0gZmluaXNo
SlNUZXN0OwogICAgICAgICAgICAgZGVidWcoIjxicj5PcGVuaW5nIGxvY2FsaG9zdCB0aGlyZC1w
YXJ0eSBpZnJhbWUgdG8gY2hlY2sgaXRzIGNvb2tpZXMuIik7CiAgICAgICAgICAgICBkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKGlmcmFtZUVsZW1lbnQpOwpJbmRleDogTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy94bWxodHRwcmVxdWVzdC9hY2Nlc3MtY29udHJvbC1wcmVmbGlnaHQtY3JlZGVudGlh
bC1hc3luYy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy94bWxodHRwcmVxdWVzdC9hY2Nlc3MtY29udHJvbC1wcmVmbGlnaHQtY3JlZGVudGlhbC1hc3lu
Yy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDI3NTIyNikKKysrIExheW91dFRlc3RzL2h0dHAvdGVz
dHMveG1saHR0cHJlcXVlc3QvYWNjZXNzLWNvbnRyb2wtcHJlZmxpZ2h0LWNyZWRlbnRpYWwtYXN5
bmMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDQgKzEsNCBAQAotQ09OU09MRSBN
RVNTQUdFOiBodHRwOi8vbG9jYWxob3N0OjgwMDAvY29va2llcy9yZXNvdXJjZXMvY29va2llLXV0
aWxpdHkucGhwP3F1ZXJ5ZnVuY3Rpb249c2V0Rm9vQ29va2llCitDT05TT0xFIE1FU1NBR0U6IGh0
dHA6Ly9sb2NhbGhvc3Q6ODAwMC9jb29raWVzL3Jlc291cmNlcy9jb29raWUtdXRpbGl0eS5weT9x
dWVyeWZ1bmN0aW9uPXNldEZvb0Nvb2tpZQogQ09OU09MRSBNRVNTQUdFOiBYSFIgcmVzcG9uc2Ug
LSBTZXQgdGhlIGZvbyBjb29raWUKIFRlc3QgY2FzZSBmb3IgYnVnIDM3NzgxOiBbWEhSXSBDcm9z
cy1PcmlnaW4gYXN5bmNocm9ub3VzIHJlcXVlc3Qgd2l0aCBjcmVkZW50aWFsIHJhaXNlcyBORVRX
T1JLX0VSUgogCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L2Fj
Y2Vzcy1jb250cm9sLXByZWZsaWdodC1jcmVkZW50aWFsLXN5bmMtZXhwZWN0ZWQudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvYWNjZXNzLWNv
bnRyb2wtcHJlZmxpZ2h0LWNyZWRlbnRpYWwtc3luYy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDI3
NTIyNikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvYWNjZXNzLWNv
bnRyb2wtcHJlZmxpZ2h0LWNyZWRlbnRpYWwtc3luYy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTEsNCArMSw0IEBACi1DT05TT0xFIE1FU1NBR0U6IGh0dHA6Ly9sb2NhbGhvc3Q6ODAw
MC9jb29raWVzL3Jlc291cmNlcy9jb29raWUtdXRpbGl0eS5waHA/cXVlcnlmdW5jdGlvbj1zZXRG
b29Db29raWUKK0NPTlNPTEUgTUVTU0FHRTogaHR0cDovL2xvY2FsaG9zdDo4MDAwL2Nvb2tpZXMv
cmVzb3VyY2VzL2Nvb2tpZS11dGlsaXR5LnB5P3F1ZXJ5ZnVuY3Rpb249c2V0Rm9vQ29va2llCiBD
T05TT0xFIE1FU1NBR0U6IFhIUiByZXNwb25zZSAtIFNldCB0aGUgZm9vIGNvb2tpZQogVGVzdCBj
YXNlIGZvciBidWcgMzc3ODE6IFtYSFJdIENyb3NzLU9yaWdpbiBzeW5jaHJvbm91cyByZXF1ZXN0
IHdpdGggY3JlZGVudGlhbCByYWlzZXMgTkVUV09SS19FUlIKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>425529</attachid>
            <date>2021-04-08 12:20:21 -0700</date>
            <delta_ts>2021-04-08 15:56:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223891-20210408142019.patch</filename>
            <type>text/plain</type>
            <size>24269</size>
            <attacher name="Chris Gambrell">cgambrell</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDI3NTY3MCkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDMzIEBACisyMDIxLTA0LTA4ICBDaHJpcyBHYW1icmVsbCAg
PGNnYW1icmVsbEBhcHBsZS5jb20+CisKKyAgICAgICAgW0xheW91dFRlc3RzXSBDb252ZXJ0IGh0
dHAvdGVzdHMvY29va2llcyBjb252ZXJ0IFBIUCB0byBQeXRob24KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMzg5MQorICAgICAgICA8cmRhcjovL3By
b2JsZW0vNzU5NjU2MzQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBodHRwL3Rlc3RzL2Nvb2tpZXMvbXVsdGlwbGUtcmVkaXJlY3QtYW5kLXNldC1j
b29raWUucGhwOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY29va2llcy9tdWx0aXBs
ZS1yZWRpcmVjdC1hbmQtc2V0LWNvb2tpZS5weTogQWRkZWQuCisgICAgICAgIChyZWRpcmVjdF91
cmwpOgorICAgICAgICAocmVkaXJlY3RfdG9fc3RlcCk6CisgICAgICAgIChzdGVwMCk6CisgICAg
ICAgICogaHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9jb29raWUtdXRpbGl0aWVzLnBocDog
UmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL2Nvb2tpZV91
dGlsaXRpZXMucHk6IEFkZGVkLgorICAgICAgICAoaG9zdG5hbWVfaXNfZXF1YWxfdG9fc3RyaW5n
KToKKyAgICAgICAgKHJlc2V0X2Nvb2tpZXNfZm9yX2N1cnJlbnRfb3JpZ2luKToKKyAgICAgICAg
KHJlc2V0X2Nvb2tpZXMpOgorICAgICAgICAoc2hvdWxkX3Jlc2V0X2Nvb2tpZXMpOgorICAgICAg
ICAod2tfc2V0X2Nvb2tpZSk6CisgICAgICAgICogaHR0cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0
ZS9zZXQtZmlyc3QtcGFydHktY3Jvc3Mtc2l0ZS1jb29raWVzLnBocDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBodHRwL3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRlL3NldC1maXJzdC1wYXJ0eS1jcm9zcy1z
aXRlLWNvb2tpZXMucHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY29va2llcy9zYW1l
LXNpdGUvc2V0LWZpcnN0LXBhcnR5LXNhbWUtc2l0ZS1jb29raWVzLnBocDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBodHRwL3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRlL3NldC1maXJzdC1wYXJ0eS1zYW1l
LXNpdGUtY29va2llcy5weTogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jb29raWVzL3Nh
bWUtc2l0ZS91c2VyLWxvYWQtY3Jvc3Mtc2l0ZS1yZWRpcmVjdC5waHA6IFJlbW92ZWQuCisgICAg
ICAgICogaHR0cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS91c2VyLWxvYWQtY3Jvc3Mtc2l0ZS1y
ZWRpcmVjdC5weTogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlv
bnM6CisgICAgICAgICogcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICog
cGxhdGZvcm0vd3BlL1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIwMjEtMDQtMDggIENocmlzIER1bWV6
ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBPZmZsaW5lQXVkaW9Db250ZXh0IG9iamVj
dHMgYXJlIGxlYWtpbmcKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9tdWx0
aXBsZS1yZWRpcmVjdC1hbmQtc2V0LWNvb2tpZS5waHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9jb29raWVzL211bHRpcGxlLXJlZGlyZWN0LWFuZC1zZXQtY29va2llLnBo
cAkocmV2aXNpb24gMjc1NjcwKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL211
bHRpcGxlLXJlZGlyZWN0LWFuZC1zZXQtY29va2llLnBocAkobm9uZXhpc3RlbnQpCkBAIC0xLDcy
ICswLDAgQEAKLTw/cGhwCi0KLSRleHBpcmUgPSB0aW1lKCkgKyAzMDsKLSRzdGVwID0gZW1wdHko
JF9HRVRbJ3N0ZXAnXSkgPyAnJyA6ICRfR0VUWydzdGVwJ107Ci0kY29va2llX25hbWUgPSBlbXB0
eSgkX0dFVFsnY29va2llX25hbWUnXSkgPyBtZDUoX19GSUxFX18gLiB0aW1lKCkpIDogJF9HRVRb
J2Nvb2tpZV9uYW1lJ107Ci0KLWlmICghJHN0ZXApIHsKLSAgICAvLyBTdGVwIDA6IFNldCBjb29r
aWUgZm9yIGZvbGxvd2luZyByZXF1ZXN0LgotICAgIHNldGNvb2tpZSgkY29va2llX25hbWUsICdu
b3Qgc3VyZSwgYnV0IHNvbWV0aGluZycsICRleHBpcmUpOwotICAgIHN0ZXAwKCk7Ci19IGVsc2Vp
ZiAoJHN0ZXAgPT0gMSkgewotICAgIC8vIFN0ZXAgMTogUmVxdWVzdCBjYXVzZWQgYnkgSlMuIEl0
IGlzIHNlbnQgd2l0aCBDb29raWUgaGVhZGVyIHdpdGggdmFsdWUgb2Ygc3RlcCAwLgotICAgIHNl
dGNvb2tpZSgkY29va2llX25hbWUsICc0MicsICRleHBpcmUpOwotICAgIHJlZGlyZWN0X3RvX3N0
ZXAoMik7Ci19IGVsc2VpZiAoJHN0ZXAgPT0gMikgewotICAgIC8vIFN0ZXAgMjogUmVkaXJlY3Rl
ZCByZXF1ZXN0IHNob3VsZCBoYXZlIG9ubHkgQ29va2llIGhlYWRlciB3aXRoIHVwZGF0ZSB2YWx1
ZS8KLSAgICBzdGVwMigkX0NPT0tJRVskY29va2llX25hbWVdKTsKLX0gZWxzZSB7Ci0gICAgZGll
KCJFcnJvcjogdW5rbm93biBzdGVwOiB7JHN0ZXB9Iik7Ci19Ci0KLWV4aXQoMCk7Ci0KLWZ1bmN0
aW9uIHJlZGlyZWN0X3RvX3N0ZXAoJHN0ZXApIHsKLSAgICBoZWFkZXIoIkhUVFAvMS4wIDMwMiBG
b3VuZCIpOwotICAgIGhlYWRlcignTG9jYXRpb246ICcgLiByZWRpcmVjdF91cmwoJHN0ZXApKTsK
LX0KLQotZnVuY3Rpb24gcmVkaXJlY3RfdXJsKCRzdGVwKSB7Ci0gICAgZ2xvYmFsICRjb29raWVf
bmFtZTsKLSAgICByZXR1cm4gImh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9jb29raWVzLyIgLiBiYXNl
bmFtZShfX0ZJTEVfXykgLiAiP3N0ZXA9eyRzdGVwfSZjb29raWVfbmFtZT17JGNvb2tpZV9uYW1l
fSI7Ci19Ci0KLWZ1bmN0aW9uIHN0ZXAwKCkgewotPz4KLTwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KLTxodG1sPgotPHNjcmlwdD4KLWlmICh3aW5kb3cudGVz
dFJ1bm5lcikgewotICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgIHRlc3RSdW5uZXIu
d2FpdFVudGlsRG9uZSgpOwotfQotCi1mdW5jdGlvbiBnb3RvU3RlcDEoKSB7Ci0gICAgd2luZG93
LmxvY2F0aW9uID0gIjw/cGhwIGVjaG8gcmVkaXJlY3RfdXJsKDEpOyA/PiI7Ci19Ci08L3Njcmlw
dD4KLQotPGJvZHkgb25sb2FkPSJnb3RvU3RlcDEoKSI+Ci08L2JvZHk+Ci08L2h0bWw+Ci08P3Bo
cAotfQotCi1mdW5jdGlvbiBzdGVwMigkcmVzdWx0KSB7Ci0/PgotPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgotPGh0bWw+Ci08c2NyaXB0PgotZnVuY3Rpb24g
ZmluaXNoKCkgewotICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgdGVzdFJ1bm5l
ci5ub3RpZnlEb25lKCk7Ci19Ci08L3NjcmlwdD4KLQotPGJvZHkgb25sb2FkPSJmaW5pc2goKSI+
Ci1Db29raWU6IDw/cGhwIGVjaG8gJHJlc3VsdDsgPz4KLTwvYm9keT4KLTwvaHRtbD4KLTw/cGhw
Ci19Ci0/PgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL211bHRpcGxlLXJl
ZGlyZWN0LWFuZC1zZXQtY29va2llLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAv
dGVzdHMvY29va2llcy9tdWx0aXBsZS1yZWRpcmVjdC1hbmQtc2V0LWNvb2tpZS5weQkobm9uZXhp
c3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvbXVsdGlwbGUtcmVkaXJl
Y3QtYW5kLXNldC1jb29raWUucHkJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw4OSBAQAorIyEv
dXNyL2Jpbi9lbnYgcHl0aG9uMworCitpbXBvcnQgaGFzaGxpYgoraW1wb3J0IG9zCitpbXBvcnQg
c3lzCitmcm9tIGRhdGV0aW1lIGltcG9ydCBkYXRldGltZSwgdGltZWRlbHRhCitmcm9tIHVybGxp
Yi5wYXJzZSBpbXBvcnQgcGFyc2VfcXMKKworZmlsZSA9IF9fZmlsZV9fLnNwbGl0KCc6L2N5Z3dp
bicpWy0xXQoraHR0cF9yb290ID0gb3MucGF0aC5kaXJuYW1lKG9zLnBhdGguYWJzcGF0aChvcy5w
YXRoLmRpcm5hbWUoZmlsZSkpKQorc3lzLnBhdGguaW5zZXJ0KDAsIGh0dHBfcm9vdCkKKworZnJv
bSByZXNvdXJjZXMucG9ydGFiaWxpdHlMYXllciBpbXBvcnQgZ2V0X2Nvb2tpZXMKKworY3VycmVu
dF90aW1lID0gZGF0ZXRpbWUudXRjbm93KCkKK2V4cGlyZXMgPSBjdXJyZW50X3RpbWUgKyB0aW1l
ZGVsdGEoc2Vjb25kcz0xKQorCitxdWVyeSA9IHBhcnNlX3FzKG9zLmVudmlyb24uZ2V0KCdRVUVS
WV9TVFJJTkcnLCAnJyksIGtlZXBfYmxhbmtfdmFsdWVzPVRydWUpCitjb29raWVfbmFtZSA9IHF1
ZXJ5LmdldCgnY29va2llX25hbWUnLCBbaGFzaGxpYi5tZDUoYnl0ZXMoJ3t9e30nLmZvcm1hdChf
X2ZpbGVfXywgY3VycmVudF90aW1lKSwgJ3V0Zi04JykpLmhleGRpZ2VzdCgpXSlbMF0KK3N0ZXAg
PSBxdWVyeS5nZXQoJ3N0ZXAnLCBbTm9uZV0pWzBdCisKK2Nvb2tpZXMgPSBnZXRfY29va2llcygp
CisKKworZGVmIHJlZGlyZWN0X3VybChzdGVwKToKKyAgICByZXR1cm4gJ2h0dHA6Ly8xMjcuMC4w
LjE6ODAwMC9jb29raWVzL3t9P3N0ZXA9e30mY29va2llX25hbWU9e30nLmZvcm1hdChfX2ZpbGVf
Xy5zcGxpdCgnLycpWy0xXSwgc3RlcCwgY29va2llX25hbWUpCisKKworZGVmIHJlZGlyZWN0X3Rv
X3N0ZXAoc3RlcCk6CisgICAgc3lzLnN0ZG91dC53cml0ZSgKKyAgICAgICAgJ3N0YXR1czogMzAy
XHJcbicKKyAgICAgICAgJ0xvY2F0aW9uOiB7fVxyXG5cclxuJy5mb3JtYXQocmVkaXJlY3RfdXJs
KHN0ZXApKQorICAgICkKKworCitkZWYgc3RlcDAoKToKKyAgICBwcmludCgnJyc8IURPQ1RZUEUg
SFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxzY3JpcHQ+Citp
ZiAod2luZG93LnRlc3RSdW5uZXIpIHt7CisgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Cisg
ICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Cit9fQorCitmdW5jdGlvbiBnb3RvU3RlcDEo
KSB7eworICAgIHdpbmRvdy5sb2NhdGlvbiA9ICJ7fSI7Cit9fQorPC9zY3JpcHQ+CisKKzxib2R5
IG9ubG9hZD0iZ290b1N0ZXAxKCkiPgorPC9ib2R5PgorPC9odG1sPicnJy5mb3JtYXQocmVkaXJl
Y3RfdXJsKDEpKSkKKworCitkZWYgc3RlcDIocmVzdWx0KToKKyAgICBwcmludCgnJyc8IURPQ1RZ
UEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxzY3JpcHQ+
CitmdW5jdGlvbiBmaW5pc2goKSB7eworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Cit9fQorPC9zY3JpcHQ+CisKKzxib2R5IG9ubG9h
ZD0iZmluaXNoKCkiPgorQ29va2llOiB7fQorPC9ib2R5PgorPC9odG1sPicnJy5mb3JtYXQocmVz
dWx0KSkKKworCitzeXMuc3Rkb3V0LndyaXRlKCdDb250ZW50LVR5cGU6IHRleHQvaHRtbFxyXG4n
KQoraWYgc3RlcCBpcyBOb25lOgorICAgICMgU3RlcCAwOiBTZXQgY29va2llIGZvciBmb2xsb3dp
bmcgcmVxdWVzdC4KKyAgICBzeXMuc3Rkb3V0LndyaXRlKAorICAgICAgICAnU2V0LUNvb2tpZTog
e309bm90K3N1cmUlMkMrYnV0K3NvbWV0aGluZzsgZXhwaXJlcz17fSBHTVQ7IE1heC1BZ2U9MzBc
clxuXHJcbicuZm9ybWF0KGNvb2tpZV9uYW1lLCBleHBpcmVzLnN0cmZ0aW1lKCclYSwgJWQtJWIt
JVkgJUg6JU06JVMnKSkpCisgICAgc3RlcDAoKQorZWxpZiBpbnQoc3RlcCkgPT0gMToKKyAgICAj
IFN0ZXAgMTogUmVxdWVzdCBjYXVzZWQgYnkgSlMuIEl0IGlzIHNlbnQgd2l0aCBDb29raWUgaGVh
ZGVyIHdpdGggdmFsdWUgb2Ygc3RlcCAwLgorICAgIHN5cy5zdGRvdXQud3JpdGUoJ1NldC1Db29r
aWU6IHt9PTQyOyBleHBpcmVzPXt9IEdNVDsgTWF4LUFnZT0zMFxyXG4nLmZvcm1hdChjb29raWVf
bmFtZSwgZXhwaXJlcy5zdHJmdGltZSgnJWEsICVkLSViLSVZICVIOiVNOiVTJykpKQorICAgIHJl
ZGlyZWN0X3RvX3N0ZXAoMikKK2VsaWYgaW50KHN0ZXApID09IDI6CisgICAgIyBTdGVwIDI6IFJl
ZGlyZWN0ZWQgcmVxdWVzdCBzaG91bGQgaGF2ZSBvbmx5IENvb2tpZSBoZWFkZXIgd2l0aCB1cGRh
dGUgdmFsdWUuCisgICAgc3lzLnN0ZG91dC53cml0ZSgnXHJcbicpCisgICAgc3RlcDIoY29va2ll
cy5nZXQoY29va2llX25hbWUsICcnKSkKK2Vsc2U6CisgICAgc3lzLnN0ZG91dC53cml0ZSgnXHJc
bicpCisgICAgc3lzLmV4aXQoJ0Vycm9yOiB1bmtub3duIHN0ZXA6IHt9Jy5mb3JtYXQoc3RlcCkp
CisKK3N5cy5leGl0KDApCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2Nvb2tpZXMvbXVsdGlwbGUtcmVkaXJlY3QtYW5kLXNldC1jb29raWUucHkKX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
XwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcmVz
b3VyY2VzL2Nvb2tpZS11dGlsaXRpZXMucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0
dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMvY29va2llLXV0aWxpdGllcy5waHAJKHJldmlzaW9u
IDI3NTY3MCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMvY29v
a2llLXV0aWxpdGllcy5waHAJKG5vbmV4aXN0ZW50KQpAQCAtMSw1MyArMCwwIEBACi08P3BocAot
ZnVuY3Rpb24gc3RhcnRzV2l0aCgkc3RyaW5nLCAkc3Vic3RyaW5nKQotewotICAgIHJldHVybiBz
dWJzdHIoJHN0cmluZywgMCwgc3RybGVuKCRzdWJzdHJpbmcpKSA9PT0gJHN1YnN0cmluZzsKLX0K
LQotZnVuY3Rpb24gaG9zdG5hbWVJc0VxdWFsVG9TdHJpbmcoJGhvc3RuYW1lKQotewotICAgIHJl
dHVybiBzdGFydHNXaXRoKCRfU0VSVkVSWyJIVFRQX0hPU1QiXSwgJGhvc3RuYW1lKTsKLX0KLQot
ZnVuY3Rpb24gcmVzZXRDb29raWVzKCkKLXsKLSAgICBpZiAoaG9zdG5hbWVJc0VxdWFsVG9TdHJp
bmcoIjEyNy4wLjAuMSIpKSB7Ci0gICAgICAgIHJlc2V0Q29va2llc0ZvckN1cnJlbnRPcmlnaW4o
KTsKLSAgICAgICAgaGVhZGVyKCJMb2NhdGlvbjogaHR0cDovL2xvY2FsaG9zdDo4MDAwIiAuICRf
U0VSVkVSWyJQSFBfU0VMRiJdKTsKLSAgICB9IGVsc2VpZiAoaG9zdG5hbWVJc0VxdWFsVG9TdHJp
bmcoImxvY2FsaG9zdCIpKSB7Ci0gICAgICAgIHJlc2V0Q29va2llc0ZvckN1cnJlbnRPcmlnaW4o
KTsKLSAgICAgICAgaGVhZGVyKCJMb2NhdGlvbjogaHR0cDovLzEyNy4wLjAuMTo4MDAwIiAuICRf
U0VSVkVSWyJQSFBfU0VMRiJdIC4gIj9ydW5UZXN0Iik7Ci0gICAgfQotfQotCi1mdW5jdGlvbiBz
aG91bGRSZXNldENvb2tpZXMoKQotewotICAgIHJldHVybiBlbXB0eSgkX1NFUlZFUlsiUVVFUllf
U1RSSU5HIl0pOwotfQotCi1mdW5jdGlvbiB3a1NldENvb2tpZSgkbmFtZSwgJHZhbHVlLCAkYWRk
aXRpb25hbFByb3BlcnRpZXMpCi17Ci0gICAgJGNvb2tpZVZhbHVlID0gJG5hbWUgLiAiPSIgLiAk
dmFsdWU7Ci0gICAgZm9yZWFjaCAoJGFkZGl0aW9uYWxQcm9wZXJ0aWVzIGFzICRuYW1lID0+ICR2
YWx1ZSkgewotICAgICAgICAkY29va2llVmFsdWUgLj0gIjsgIiAuICRuYW1lOwotICAgICAgICBp
ZiAoaXNzZXQoJHZhbHVlKSkKLSAgICAgICAgICAgICRjb29raWVWYWx1ZSAuPSAiPSIgLiAkdmFs
dWU7Ci0gICAgfQotICAgIGhlYWRlcigiU2V0LUNvb2tpZTogIiAuICRjb29raWVWYWx1ZSwgRkFM
U0UgLyogcmVwbGFjZSAqLyk7Ci19Ci0KLWZ1bmN0aW9uIGRlbGV0ZUNvb2tpZSgkbmFtZSkKLXsK
LSAgICBzZXRjb29raWUoJG5hbWUsICJkZWxldGVkIiwgdGltZSgpIC0gODY0MDAsICIvIik7Ci19
Ci0KLWZ1bmN0aW9uIF9kZWxldGVDb29raWVDYWxsYmFjaygkdmFsdWUsICRuYW1lKQotewotICAg
IGRlbGV0ZUNvb2tpZSgkbmFtZSk7Ci19Ci0KLWZ1bmN0aW9uIHJlc2V0Q29va2llc0ZvckN1cnJl
bnRPcmlnaW4oKQotewotICAgIGFycmF5X3dhbGsoJF9DT09LSUUsICdfZGVsZXRlQ29va2llQ2Fs
bGJhY2snKTsKLX0KLT8+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcmVz
b3VyY2VzL2Nvb2tpZV91dGlsaXRpZXMucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9jb29raWVfdXRpbGl0aWVzLnB5CShub25leGlzdGVu
dCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMvY29va2llX3V0
aWxpdGllcy5weQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQyIEBACisjIS91c3IvYmluL2Vu
diBweXRob24zCisKK2ltcG9ydCBvcworaW1wb3J0IHN5cworZnJvbSBkYXRldGltZSBpbXBvcnQg
ZGF0ZXRpbWUsIHRpbWVkZWx0YQorCitmaWxlID0gX19maWxlX18uc3BsaXQoJzovY3lnd2luJylb
LTFdCitodHRwX3Jvb3QgPSBvcy5wYXRoLmRpcm5hbWUob3MucGF0aC5kaXJuYW1lKG9zLnBhdGgu
YWJzcGF0aChvcy5wYXRoLmRpcm5hbWUoZmlsZSkpKSkKK3N5cy5wYXRoLmluc2VydCgwLCBodHRw
X3Jvb3QpCisKK2Zyb20gcmVzb3VyY2VzLnBvcnRhYmlsaXR5TGF5ZXIgaW1wb3J0IGdldF9jb29r
aWVzCisKKworZGVmIGhvc3RuYW1lX2lzX2VxdWFsX3RvX3N0cmluZyhob3N0bmFtZSk6CisgICAg
cmV0dXJuIG9zLmVudmlyb24uZ2V0KCdIVFRQX0hPU1QnLCAnJykuc3RhcnRzd2l0aChob3N0bmFt
ZSkKKworCitkZWYgcmVzZXRfY29va2llc19mb3JfY3VycmVudF9vcmlnaW4oKToKKyAgICBleHBp
cmVzID0gZGF0ZXRpbWUudXRjbm93KCkgLSB0aW1lZGVsdGEoc2Vjb25kcz04NjQwMCkKKyAgICBm
b3IgY29va2llIGluIGdldF9jb29raWVzKCkua2V5cygpOgorICAgICAgICBzeXMuc3Rkb3V0Lndy
aXRlKCdTZXQtQ29va2llOiB7fT1kZWxldGVkOyBleHBpcmVzPXt9IEdNVDsgTWF4LUFnZT0wOyBw
YXRoPS9cclxuJy5mb3JtYXQoY29va2llLCBleHBpcmVzLnN0cmZ0aW1lKCclYSwgJWQtJWItJVkg
JUg6JU06JVMnKSkpCisKKworZGVmIHJlc2V0X2Nvb2tpZXMoKToKKyAgICByZXNldF9jb29raWVz
X2Zvcl9jdXJyZW50X29yaWdpbigpCisgICAgaWYgaG9zdG5hbWVfaXNfZXF1YWxfdG9fc3RyaW5n
KCcxMjcuMC4wLjEnKToKKyAgICAgICAgc3lzLnN0ZG91dC53cml0ZSgnTG9jYXRpb246IGh0dHA6
Ly9sb2NhbGhvc3Q6ODAwMHt9XHJcbicuZm9ybWF0KG9zLmVudmlyb24uZ2V0KCdTQ1JJUFRfVVJM
JywgJycpKSkKKyAgICBlbGlmIGhvc3RuYW1lX2lzX2VxdWFsX3RvX3N0cmluZygnbG9jYWxob3N0
Jyk6CisgICAgICAgIHN5cy5zdGRvdXQud3JpdGUoJ0xvY2F0aW9uOiBodHRwOi8vMTI3LjAuMC4x
OjgwMDB7fT9ydW5UZXN0XHJcbicuZm9ybWF0KG9zLmVudmlyb24uZ2V0KCdTQ1JJUFRfVVJMJywg
JycpKSkKKworCitkZWYgc2hvdWxkX3Jlc2V0X2Nvb2tpZXMoKToKKyAgICByZXR1cm4gb3MuZW52
aXJvbi5nZXQoJ1FVRVJZX1NUUklORycsIE5vbmUpIGlzIE5vbmUKKworCitkZWYgd2tfc2V0X2Nv
b2tpZShuYW1lLCB2YWx1ZSwgYWRkaXRpb25hbF9wcm9wcyk6CisgICAgY29va2llX3ZhbHVlID0g
J3t9PXt9Jy5mb3JtYXQobmFtZSwgdmFsdWUpCisgICAgZm9yIHByb3BfbmFtZSBpbiBhZGRpdGlv
bmFsX3Byb3BzOgorICAgICAgICBjb29raWVfdmFsdWUgKz0gJzsge30nLmZvcm1hdChwcm9wX25h
bWUpCisgICAgICAgIGlmIGFkZGl0aW9uYWxfcHJvcHNbcHJvcF9uYW1lXToKKyAgICAgICAgICAg
IGNvb2tpZV92YWx1ZSArPSAnPXt9Jy5mb3JtYXQoYWRkaXRpb25hbF9wcm9wc1twcm9wX25hbWVd
KQorICAgIHN5cy5zdGRvdXQud3JpdGUoJ1NldC1Db29raWU6IHt9XHJcbicuZm9ybWF0KGNvb2tp
ZV92YWx1ZSkpCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nv
b2tpZXMvcmVzb3VyY2VzL2Nvb2tpZV91dGlsaXRpZXMucHkKX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3Zu
OmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3Bl
cnR5CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRlL3NldC1m
aXJzdC1wYXJ0eS1jcm9zcy1zaXRlLWNvb2tpZXMucGhwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2h0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvc2V0LWZpcnN0LXBhcnR5LWNyb3NzLXNp
dGUtY29va2llcy5waHAJKHJldmlzaW9uIDI3NTY3MCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVz
dHMvY29va2llcy9zYW1lLXNpdGUvc2V0LWZpcnN0LXBhcnR5LWNyb3NzLXNpdGUtY29va2llcy5w
aHAJKG5vbmV4aXN0ZW50KQpAQCAtMSwzMCArMCwwIEBACi08P3BocAotICAgIGluY2x1ZGVfb25j
ZSgiLi4vcmVzb3VyY2VzL2Nvb2tpZS11dGlsaXRpZXMucGhwIik7Ci0KLSAgICBpZiAoc2hvdWxk
UmVzZXRDb29raWVzKCkpIHsKLSAgICAgICAgcmVzZXRDb29raWVzKCk7Ci0gICAgICAgIGV4aXQo
MCk7Ci0gICAgfQotICAgIGlmIChob3N0bmFtZUlzRXF1YWxUb1N0cmluZygiMTI3LjAuMC4xIikp
IHsKLSAgICAgICAgaGVhZGVyKCJMb2NhdGlvbjogaHR0cDovL2xvY2FsaG9zdDo4MDAwIiAuICRf
U0VSVkVSWyJSRVFVRVNUX1VSSSJdKTsKLSAgICAgICAgZXhpdCgwKTsKLSAgICB9Ci0gICAgd2tT
ZXRDb29raWUoInN0cmljdCIsICIxNCIsIEFycmF5KCJTYW1lU2l0ZSIgPT4gIlN0cmljdCIsICJN
YXgtQWdlIiA9PiAxMDAsICJwYXRoIiA9PiAiLyIpKTsKLSAgICB3a1NldENvb2tpZSgiaW1wbGlj
aXQtc3RyaWN0IiwgIjE0IiwgQXJyYXkoIlNhbWVTaXRlIiA9PiBOVUxMLCAiTWF4LUFnZSIgPT4g
MTAwLCAicGF0aCIgPT4gIi8iKSk7Ci0gICAgd2tTZXRDb29raWUoInN0cmljdC1iZWNhdXNlLWlu
dmFsaWQtU2FtZVNpdGUtdmFsdWUiLCAiMTQiLCBBcnJheSgiU2FtZVNpdGUiID0+ICJpbnZhbGlk
IiwgIk1heC1BZ2UiID0+IDEwMCwgInBhdGgiID0+ICIvIikpOwotICAgIHdrU2V0Q29va2llKCJs
YXgiLCAiMTQiLCBBcnJheSgiU2FtZVNpdGUiID0+ICJMYXgiLCAiTWF4LUFnZSIgPT4gMTAwLCAi
cGF0aCIgPT4gIi8iKSk7Ci0gICAgd2tTZXRDb29raWUoIm5vcm1hbCIsICIxNCIsIEFycmF5KCJN
YXgtQWdlIiA9PiAxMDAsICJwYXRoIiA9PiAiLyIpKTsKLQotPz4KLTwhRE9DVFlQRSBodG1sPgot
PGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQ+Ci1pZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICB0
ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsK
LX0KLTwvc2NyaXB0PgotPG1ldGEgaHR0cC1lcXVpdj0icmVmcmVzaCIgY29udGVudD0iMDtodHRw
Oi8vbG9jYWxob3N0OjgwMDAvY29va2llcy9yZXNvdXJjZXMvZWNoby1odHRwLWFuZC1kb20tY29v
a2llcy1hbmQtbm90aWZ5LWRvbmUucHkiPgotPC9oZWFkPgotPC9odG1sPgpJbmRleDogTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9zZXQtZmlyc3QtcGFydHktY3Jvc3Mt
c2l0ZS1jb29raWVzLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29v
a2llcy9zYW1lLXNpdGUvc2V0LWZpcnN0LXBhcnR5LWNyb3NzLXNpdGUtY29va2llcy5weQkobm9u
ZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRlL3Nl
dC1maXJzdC1wYXJ0eS1jcm9zcy1zaXRlLWNvb2tpZXMucHkJKHdvcmtpbmcgY29weSkKQEAgLTAs
MCArMSw0MSBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMworCitpbXBvcnQgb3MKK2ltcG9ydCBz
eXMKKworZmlsZSA9IF9fZmlsZV9fLnNwbGl0KCc6L2N5Z3dpbicpWy0xXQoraHR0cF9yb290ID0g
b3MucGF0aC5kaXJuYW1lKG9zLnBhdGguYWJzcGF0aChvcy5wYXRoLmRpcm5hbWUoZmlsZSkpKQor
c3lzLnBhdGguaW5zZXJ0KDAsIGh0dHBfcm9vdCkKKworZnJvbSByZXNvdXJjZXMuY29va2llX3V0
aWxpdGllcyBpbXBvcnQgaG9zdG5hbWVfaXNfZXF1YWxfdG9fc3RyaW5nLCByZXNldF9jb29raWVz
LCBzaG91bGRfcmVzZXRfY29va2llcywgd2tfc2V0X2Nvb2tpZQorCitzeXMuc3Rkb3V0LndyaXRl
KCdDb250ZW50LVR5cGU6IHRleHQvaHRtbFxyXG4nKQorCitpZiBzaG91bGRfcmVzZXRfY29va2ll
cygpOgorICAgIHJlc2V0X2Nvb2tpZXMoKQorICAgIHN5cy5zdGRvdXQud3JpdGUoJ1xyXG4nKQor
ICAgIHN5cy5leGl0KDApCisKK2lmIGhvc3RuYW1lX2lzX2VxdWFsX3RvX3N0cmluZygnMTI3LjAu
MC4xJyk6CisgICAgc3lzLnN0ZG91dC53cml0ZSgnTG9jYXRpb246IGh0dHA6Ly9sb2NhbGhvc3Q6
ODAwMHt9XHJcblxyXG4nLmZvcm1hdChvcy5lbnZpcm9uLmdldCgnUkVRVUVTVF9VUkknKSkpCisg
ICAgc3lzLmV4aXQoMCkKKword2tfc2V0X2Nvb2tpZSgnc3RyaWN0JywgJzE0JywgeydTYW1lU2l0
ZSc6ICdTdHJpY3QnLCAnTWF4LUFnZSc6IDEwMCwgJ3BhdGgnOiAnLyd9KQord2tfc2V0X2Nvb2tp
ZSgnaW1wbGljaXQtc3RyaWN0JywgJzE0JywgeydTYW1lU2l0ZSc6IE5vbmUsICdNYXgtQWdlJzog
MTAwLCAncGF0aCc6ICcvJ30pCit3a19zZXRfY29va2llKCdzdHJpY3QtYmVjYXVzZS1pbnZhbGlk
LVNhbWVTaXRlLXZhbHVlJywgJzE0JywgeydTYW1lU2l0ZSc6ICdpbnZhbGlkJywgJ01heC1BZ2Un
OiAxMDAsICdwYXRoJzogJy8nfSkKK3drX3NldF9jb29raWUoJ2xheCcsICcxNCcsIHsnU2FtZVNp
dGUnOiAnTGF4JywgJ01heC1BZ2UnOiAxMDAsICdwYXRoJzogJy8nfSkKK3drX3NldF9jb29raWUo
J25vcm1hbCcsICcxNCcsIHsnTWF4LUFnZSc6IDEwMCwgJ3BhdGgnOiAnLyd9KQorc3lzLnN0ZG91
dC53cml0ZSgnXHJcbicpCisKK3ByaW50KCcnJzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQ+CitpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICB0ZXN0UnVubmVyLmR1
bXBBc1RleHQoKTsKKyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKK30KKzwvc2NyaXB0
PgorPG1ldGEgaHR0cC1lcXVpdj0icmVmcmVzaCIgY29udGVudD0iMDtodHRwOi8vbG9jYWxob3N0
OjgwMDAvY29va2llcy9yZXNvdXJjZXMvZWNoby1odHRwLWFuZC1kb20tY29va2llcy1hbmQtbm90
aWZ5LWRvbmUucHkiPgorPC9oZWFkPgorPC9odG1sPicnJykKClByb3BlcnR5IGNoYW5nZXMgb246
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvc2V0LWZpcnN0LXBhcnR5
LWNyb3NzLXNpdGUtY29va2llcy5weQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQoj
IyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvc2V0LWZpcnN0LXBhcnR5LXNh
bWUtc2l0ZS1jb29raWVzLnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2Nvb2tpZXMvc2FtZS1zaXRlL3NldC1maXJzdC1wYXJ0eS1zYW1lLXNpdGUtY29va2llcy5waHAJ
KHJldmlzaW9uIDI3NTY3MCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9zYW1l
LXNpdGUvc2V0LWZpcnN0LXBhcnR5LXNhbWUtc2l0ZS1jb29raWVzLnBocAkobm9uZXhpc3RlbnQp
CkBAIC0xLDI3ICswLDAgQEAKLTw/cGhwCi0gICAgaW5jbHVkZV9vbmNlKCIuLi9yZXNvdXJjZXMv
Y29va2llLXV0aWxpdGllcy5waHAiKTsKLQotICAgIGlmIChzaG91bGRSZXNldENvb2tpZXMoKSkg
ewotICAgICAgICByZXNldENvb2tpZXMoKTsKLSAgICAgICAgZXhpdCgwKTsKLSAgICB9Ci0KLSAg
ICB3a1NldENvb2tpZSgic3RyaWN0IiwgIjE0IiwgQXJyYXkoIlNhbWVTaXRlIiA9PiAiU3RyaWN0
IiwgIk1heC1BZ2UiID0+IDEwMCwgInBhdGgiID0+ICIvIikpOwotICAgIHdrU2V0Q29va2llKCJp
bXBsaWNpdC1zdHJpY3QiLCAiMTQiLCBBcnJheSgiU2FtZVNpdGUiID0+IE5VTEwsICJNYXgtQWdl
IiA9PiAxMDAsICJwYXRoIiA9PiAiLyIpKTsKLSAgICB3a1NldENvb2tpZSgic3RyaWN0LWJlY2F1
c2UtaW52YWxpZC1TYW1lU2l0ZS12YWx1ZSIsICIxNCIsIEFycmF5KCJTYW1lU2l0ZSIgPT4gImlu
dmFsaWQiLCAiTWF4LUFnZSIgPT4gMTAwLCAicGF0aCIgPT4gIi8iKSk7Ci0gICAgd2tTZXRDb29r
aWUoImxheCIsICIxNCIsIEFycmF5KCJTYW1lU2l0ZSIgPT4gIkxheCIsICJNYXgtQWdlIiA9PiAx
MDAsICJwYXRoIiA9PiAiLyIpKTsKLSAgICB3a1NldENvb2tpZSgibm9ybWFsIiwgIjE0IiwgQXJy
YXkoIk1heC1BZ2UiID0+IDEwMCwgInBhdGgiID0+ICIvIikpOwotCi0/PgotPCFET0NUWVBFIGh0
bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdD4KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikgewot
ICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9u
ZSgpOwotfQotPC9zY3JpcHQ+Ci08bWV0YSBodHRwLWVxdWl2PSJyZWZyZXNoIiBjb250ZW50PSIw
O2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9jb29raWVzL3Jlc291cmNlcy9lY2hvLWh0dHAtYW5kLWRv
bS1jb29raWVzLWFuZC1ub3RpZnktZG9uZS5weSI+Ci08L2hlYWQ+Ci08L2h0bWw+CkluZGV4OiBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRlL3NldC1maXJzdC1wYXJ0eS1z
YW1lLXNpdGUtY29va2llcy5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2Nvb2tpZXMvc2FtZS1zaXRlL3NldC1maXJzdC1wYXJ0eS1zYW1lLXNpdGUtY29va2llcy5weQko
bm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRl
L3NldC1maXJzdC1wYXJ0eS1zYW1lLXNpdGUtY29va2llcy5weQkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDM3IEBACisjIS91c3IvYmluL2VudiBweXRob24zCisKK2ltcG9ydCBvcworaW1wb3J0
IHN5cworCitmaWxlID0gX19maWxlX18uc3BsaXQoJzovY3lnd2luJylbLTFdCitodHRwX3Jvb3Qg
PSBvcy5wYXRoLmRpcm5hbWUob3MucGF0aC5hYnNwYXRoKG9zLnBhdGguZGlybmFtZShmaWxlKSkp
CitzeXMucGF0aC5pbnNlcnQoMCwgaHR0cF9yb290KQorCitmcm9tIHJlc291cmNlcy5jb29raWVf
dXRpbGl0aWVzIGltcG9ydCByZXNldF9jb29raWVzLCBzaG91bGRfcmVzZXRfY29va2llcywgd2tf
c2V0X2Nvb2tpZQorCitzeXMuc3Rkb3V0LndyaXRlKCdDb250ZW50LVR5cGU6IHRleHQvaHRtbFxy
XG4nKQorCitpZiBzaG91bGRfcmVzZXRfY29va2llcygpOgorICAgIHJlc2V0X2Nvb2tpZXMoKQor
ICAgIHN5cy5zdGRvdXQud3JpdGUoJ1xyXG4nKQorICAgIHN5cy5leGl0KDApCisKK3drX3NldF9j
b29raWUoJ3N0cmljdCcsICcxNCcsIHsnU2FtZVNpdGUnOiAnU3RyaWN0JywgJ01heC1BZ2UnOiAx
MDAsICdwYXRoJzogJy8nfSkKK3drX3NldF9jb29raWUoJ2ltcGxpY2l0LXN0cmljdCcsICcxNCcs
IHsnU2FtZVNpdGUnOiBOb25lLCAnTWF4LUFnZSc6IDEwMCwgJ3BhdGgnOiAnLyd9KQord2tfc2V0
X2Nvb2tpZSgnc3RyaWN0LWJlY2F1c2UtaW52YWxpZC1TYW1lU2l0ZS12YWx1ZScsICcxNCcsIHsn
U2FtZVNpdGUnOiAnaW52YWxpZCcsICdNYXgtQWdlJzogMTAwLCAncGF0aCc6ICcvJ30pCit3a19z
ZXRfY29va2llKCdsYXgnLCAnMTQnLCB7J1NhbWVTaXRlJzogJ0xheCcsICdNYXgtQWdlJzogMTAw
LCAncGF0aCc6ICcvJ30pCit3a19zZXRfY29va2llKCdub3JtYWwnLCAnMTQnLCB7J01heC1BZ2Un
OiAxMDAsICdwYXRoJzogJy8nfSkKK3N5cy5zdGRvdXQud3JpdGUoJ1xyXG4nKQorCitwcmludCgn
Jyc8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy50
ZXN0UnVubmVyKSB7CisgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisgICAgdGVzdFJ1bm5l
ci53YWl0VW50aWxEb25lKCk7Cit9Cis8L3NjcmlwdD4KKzxtZXRhIGh0dHAtZXF1aXY9InJlZnJl
c2giIGNvbnRlbnQ9IjA7aHR0cDovLzEyNy4wLjAuMTo4MDAwL2Nvb2tpZXMvcmVzb3VyY2VzL2Vj
aG8taHR0cC1hbmQtZG9tLWNvb2tpZXMtYW5kLW5vdGlmeS1kb25lLnB5Ij4KKzwvaGVhZD4KKzwv
aHRtbD4nJycpCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nv
b2tpZXMvc2FtZS1zaXRlL3NldC1maXJzdC1wYXJ0eS1zYW1lLXNpdGUtY29va2llcy5weQpfX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2ll
cy9zYW1lLXNpdGUvdXNlci1sb2FkLWNyb3NzLXNpdGUtcmVkaXJlY3QucGhwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvdXNlci1sb2FkLWNy
b3NzLXNpdGUtcmVkaXJlY3QucGhwCShyZXZpc2lvbiAyNzU2NzApCisrKyBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRlL3VzZXItbG9hZC1jcm9zcy1zaXRlLXJlZGlyZWN0
LnBocAkobm9uZXhpc3RlbnQpCkBAIC0xLDQ1ICswLDAgQEAKLTw/cGhwCi0gICAgaW5jbHVkZV9v
bmNlKCIuLi9yZXNvdXJjZXMvY29va2llLXV0aWxpdGllcy5waHAiKTsKLQotICAgIGlmIChob3N0
bmFtZUlzRXF1YWxUb1N0cmluZygiMTI3LjAuMC4xIikgJiYgZW1wdHkoJF9TRVJWRVJbIlFVRVJZ
X1NUUklORyJdKSkgewotICAgICAgICB3a1NldENvb2tpZSgic3RyaWN0IiwgIjI3IiwgQXJyYXko
IlNhbWVTaXRlIiA9PiAiU3RyaWN0IiwgIk1heC1BZ2UiID0+IDEwMCwgInBhdGgiID0+ICIvIikp
OwotICAgICAgICB3a1NldENvb2tpZSgibGF4IiwgIjI3IiwgQXJyYXkoIlNhbWVTaXRlIiA9PiAi
TGF4IiwgIk1heC1BZ2UiID0+IDEwMCwgInBhdGgiID0+ICIvIikpOwotICAgICAgICB3a1NldENv
b2tpZSgibm9ybWFsIiwgIjI3IiwgQXJyYXkoIk1heC1BZ2UiID0+IDEwMCwgInBhdGgiID0+ICIv
IikpOwotICAgICAgICBoZWFkZXIoIkxvY2F0aW9uOiBodHRwOi8vbG9jYWxob3N0OjgwMDAvcmVz
b3VyY2VzL3JlZGlyZWN0LnB5P3VybD0iIC4gdXJsZW5jb2RlKCJodHRwOi8vMTI3LjAuMC4xOjgw
MDAiIC4gJF9TRVJWRVJbIlJFUVVFU1RfVVJJIl0gLiAiP2NoZWNrLWNvb2tpZXMiKSk7Ci0gICAg
ICAgIGV4aXQoMCk7Ci0gICAgfQotPz4KLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4K
LTxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2Nvb2tpZS11dGlsaXRpZXMuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdD5fc2V0Q2FjaGVkQ29va2llc0pTT04oJzw/cGhwIGVjaG8ganNvbl9lbmNvZGUoJF9D
T09LSUUpOyA/PicpPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxzY3JpcHQ+Ci13aW5kb3cu
anNUZXN0SXNBc3luYyA9IHRydWU7Ci0KLWRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgaXMgcmVwcmVz
ZW50YXRpdmUgb2YgYSB1c2VyIHRoYXQgbG9hZHMgYSBzaXRlLCB2aWEgdGhlIGFkZHJlc3MgYmFy
IG9yIENvbW1hbmQgKyBjbGlja2luZyBhIGh5cGVybGluaywgdGhhdCByZWRpcmVjdHMgdG8gYSBj
cm9zcy1zaXRlIHBhZ2UgdGhhdCBleHBlY3RzIGl0cyBTYW1lU2l0ZSBMYXggY29va2llcy4iKTsK
LQotYXN5bmMgZnVuY3Rpb24gY2hlY2tSZXN1bHQoKQotewotICAgIGRlYnVnKCJDb29raWVzIHNl
bnQgd2l0aCBIVFRQIHJlcXVlc3Q6Iik7Ci0gICAgLy8gRklYTUU6IEVuc3VyZSB0aGF0IHN0cmlj
dCBjb29raWVzIGFyZSBub3Qgc2VudC4gU2VlIDxodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTk0OTMzPi4KLSAgICBhd2FpdCBzaG91bGRIYXZlQ29va2llV2l0aFZhbHVl
KCJsYXgiLCAiMjciKTsKLSAgICBhd2FpdCBzaG91bGRIYXZlQ29va2llV2l0aFZhbHVlKCJub3Jt
YWwiLCAiMjciKTsKLQotICAgIGRlYnVnKCI8YnI+Q29va2llcyB2aXNpYmxlIGluIERPTToiKTsK
LSAgICBzaG91bGROb3RIYXZlRE9NQ29va2llKCJzdHJpY3QiKTsKLSAgICBzaG91bGRIYXZlRE9N
Q29va2llV2l0aFZhbHVlKCJsYXgiLCAiMjciKTsKLSAgICBzaG91bGRIYXZlRE9NQ29va2llV2l0
aFZhbHVlKCJub3JtYWwiLCAiMjciKTsKLQotICAgIGF3YWl0IHJlc2V0Q29va2llcygpOwotICAg
IGZpbmlzaEpTVGVzdCgpOwotfQotCi1jaGVja1Jlc3VsdCgpOwotPC9zY3JpcHQ+Ci08L2JvZHk+
Ci08L2h0bWw+Ci0KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9zYW1lLXNp
dGUvdXNlci1sb2FkLWNyb3NzLXNpdGUtcmVkaXJlY3QucHkKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS91c2VyLWxvYWQtY3Jvc3Mtc2l0ZS1y
ZWRpcmVjdC5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tp
ZXMvc2FtZS1zaXRlL3VzZXItbG9hZC1jcm9zcy1zaXRlLXJlZGlyZWN0LnB5CSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsNjUgQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbjMKKworaW1wb3J0IGpz
b24KK2ltcG9ydCBvcworaW1wb3J0IHN5cworZnJvbSB1cmxsaWIucGFyc2UgaW1wb3J0IHF1b3Rl
CisKK2ZpbGUgPSBfX2ZpbGVfXy5zcGxpdCgnOi9jeWd3aW4nKVstMV0KK2h0dHBfcm9vdCA9IG9z
LnBhdGguZGlybmFtZShvcy5wYXRoLmRpcm5hbWUob3MucGF0aC5hYnNwYXRoKG9zLnBhdGguZGly
bmFtZShmaWxlKSkpKQorc3lzLnBhdGguaW5zZXJ0KDAsIGh0dHBfcm9vdCkKKworZnJvbSByZXNv
dXJjZXMucG9ydGFiaWxpdHlMYXllciBpbXBvcnQgZ2V0X2Nvb2tpZXMKKworaHR0cF9yb290ID0g
b3MucGF0aC5kaXJuYW1lKG9zLnBhdGguYWJzcGF0aChvcy5wYXRoLmRpcm5hbWUoZmlsZSkpKQor
c3lzLnBhdGguaW5zZXJ0KDAsIGh0dHBfcm9vdCkKKworZnJvbSByZXNvdXJjZXMuY29va2llX3V0
aWxpdGllcyBpbXBvcnQgaG9zdG5hbWVfaXNfZXF1YWxfdG9fc3RyaW5nLCB3a19zZXRfY29va2ll
CisKK2Nvb2tpZXMgPSBnZXRfY29va2llcygpCisKK3N5cy5zdGRvdXQud3JpdGUoJ0NvbnRlbnQt
VHlwZTogdGV4dC9odG1sXHJcbicpCisKK2lmIGhvc3RuYW1lX2lzX2VxdWFsX3RvX3N0cmluZygn
MTI3LjAuMC4xJykgYW5kIG9zLmVudmlyb24uZ2V0KCdRVUVSWV9TVFJJTkcnLCAnJykgPT0gJyc6
CisgICAgd2tfc2V0X2Nvb2tpZSgnc3RyaWN0JywgJzI3JywgeydTYW1lU2l0ZSc6ICdTdHJpY3Qn
LCAnTWF4LUFnZSc6IDEwMCwgJ3BhdGgnOiAnLyd9KQorICAgIHdrX3NldF9jb29raWUoJ2xheCcs
ICcyNycsIHsnU2FtZVNpdGUnOiAnTGF4JywgJ01heC1BZ2UnOiAxMDAsICdwYXRoJzogJy8nfSkK
KyAgICB3a19zZXRfY29va2llKCdub3JtYWwnLCAnMjcnLCB7J01heC1BZ2UnOiAxMDAsICdwYXRo
JzogJy8nfSkKKworICAgIHBhdGggPSBxdW90ZSgnaHR0cDovLzEyNy4wLjAuMTo4MDAwe30/Y2hl
Y2stY29va2llcycuZm9ybWF0KG9zLmVudmlyb24uZ2V0KCdSRVFVRVNUX1VSSScpKSkKKyAgICBz
eXMuc3Rkb3V0LndyaXRlKCdMb2NhdGlvbjogaHR0cDovL2xvY2FsaG9zdDo4MDAwL3Jlc291cmNl
cy9yZWRpcmVjdC5weT91cmw9e31cclxuXHJcbicuZm9ybWF0KHBhdGgpKQorICAgIHN5cy5leGl0
KDApCisKK3N5cy5zdGRvdXQud3JpdGUoJ1xyXG4nKQorcHJpbnQoJycnPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY29va2llLXV0aWxpdGll
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0Pl9zZXRDYWNoZWRDb29raWVzSlNPTigne30nKTwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0Pgord2luZG93LmpzVGVzdElzQXN5bmMgPSB0
cnVlOworCitkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IGlzIHJlcHJlc2VudGF0aXZlIG9mIGEgdXNl
ciB0aGF0IGxvYWRzIGEgc2l0ZSwgdmlhIHRoZSBhZGRyZXNzIGJhciBvciBDb21tYW5kICsgY2xp
Y2tpbmcgYSBoeXBlcmxpbmssIHRoYXQgcmVkaXJlY3RzIHRvIGEgY3Jvc3Mtc2l0ZSBwYWdlIHRo
YXQgZXhwZWN0cyBpdHMgU2FtZVNpdGUgTGF4IGNvb2tpZXMuIik7CisKK2FzeW5jIGZ1bmN0aW9u
IGNoZWNrUmVzdWx0KCkKK3t7CisgICAgZGVidWcoIkNvb2tpZXMgc2VudCB3aXRoIEhUVFAgcmVx
dWVzdDoiKTsKKyAgICAvLyBGSVhNRTogRW5zdXJlIHRoYXQgc3RyaWN0IGNvb2tpZXMgYXJlIG5v
dCBzZW50LiBTZWUgPGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTQ5
MzM+LgorICAgIGF3YWl0IHNob3VsZEhhdmVDb29raWVXaXRoVmFsdWUoImxheCIsICIyNyIpOwor
ICAgIGF3YWl0IHNob3VsZEhhdmVDb29raWVXaXRoVmFsdWUoIm5vcm1hbCIsICIyNyIpOworCisg
ICAgZGVidWcoIjxicj5Db29raWVzIHZpc2libGUgaW4gRE9NOiIpOworICAgIHNob3VsZE5vdEhh
dmVET01Db29raWUoInN0cmljdCIpOworICAgIHNob3VsZEhhdmVET01Db29raWVXaXRoVmFsdWUo
ImxheCIsICIyNyIpOworICAgIHNob3VsZEhhdmVET01Db29raWVXaXRoVmFsdWUoIm5vcm1hbCIs
ICIyNyIpOworCisgICAgYXdhaXQgcmVzZXRDb29raWVzKCk7CisgICAgZmluaXNoSlNUZXN0KCk7
Cit9fQorCitjaGVja1Jlc3VsdCgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+JycnLmZv
cm1hdChqc29uLmR1bXBzKGNvb2tpZXMpKSkKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRl
c3RzL2h0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvdXNlci1sb2FkLWNyb3NzLXNpdGUtcmVk
aXJlY3QucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIwor
KgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucwkocmV2aXNpb24gMjc1NjcwKQorKysgTGF5b3V0VGVz
dHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMJKHdvcmtpbmcgY29weSkKQEAgLTI0NDYs
NyArMjQ0Niw3IEBAIHdlYmtpdC5vcmcvYi85OTAzNiBwb2ludGVyLWxvY2svcG9pbnRlcmwKIAog
d2Via2l0Lm9yZy9iLzIwNjI2NCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtbXVsdGljb2wvbXVsdGljb2wtZ2FwLXBlcmNlbnRhZ2UtMDAxLmh0bWwgWyBGYWlsdXJlIF0K
IAotd2Via2l0Lm9yZy9iLzE5NDkzMyBodHRwL3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRlL3VzZXIt
bG9hZC1jcm9zcy1zaXRlLXJlZGlyZWN0LnBocCBbIEZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzE5
NDkzMyBodHRwL3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRlL3VzZXItbG9hZC1jcm9zcy1zaXRlLXJl
ZGlyZWN0LnB5IFsgRmFpbHVyZSBdCiAKIHdlYmtpdC5vcmcvYi8yMTE5ODEgZWRpdGluZy9wYXN0
ZWJvYXJkL2RhdGEtdHJhbnNmZXItZ2V0LWRhdGEtb24tcGFzdGluZy1odG1sLXVzZXMtYmxvYi11
cmwuaHRtbCBbIEZhaWx1cmUgXQogCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVz
dEV4cGVjdGF0aW9ucwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVz
dEV4cGVjdGF0aW9ucwkocmV2aXNpb24gMjc1NjcwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL1Rlc3RFeHBlY3RhdGlvbnMJKHdvcmtpbmcgY29weSkKQEAgLTE0MDUsOCArMTQwNSw4IEBA
IGh0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUgWyBQYXNzIF0KIGh0dHAvdGVzdHMvY29va2ll
cy9vbmx5LWFjY2VwdC1maXJzdC1wYXJ0eS1jb29raWVzLmh0bWwgWyBTa2lwIF0KIAogIyBGSVhN
RTogTWFyayBhcyBQYXNzIG9uY2UgdGhlIGZpeCBmb3IgPHJkYXI6Ly9wcm9ibGVtLzQyMjU1MjUx
PiBpcyBzaGlwcGVkLgotaHR0cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9zZXQtZmlyc3QtcGFy
dHktY3Jvc3Mtc2l0ZS1jb29raWVzLnBocCBbIFNraXAgXQotaHR0cC90ZXN0cy9jb29raWVzL3Nh
bWUtc2l0ZS9zZXQtZmlyc3QtcGFydHktc2FtZS1zaXRlLWNvb2tpZXMucGhwIFsgU2tpcCBdCito
dHRwL3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRlL3NldC1maXJzdC1wYXJ0eS1jcm9zcy1zaXRlLWNv
b2tpZXMucHkgWyBTa2lwIF0KK2h0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvc2V0LWZpcnN0
LXBhcnR5LXNhbWUtc2l0ZS1jb29raWVzLnB5IFsgU2tpcCBdCiAKICMgPHJkYXI6Ly9wcm9ibGVt
LzQwNDk4MjkwPiBSRUdSRVNTSU9OIChNb2phdmUpOiBIVE1MTWV0ZXJFbGVtZW50IExheW91dFRl
c3RzIGZhaWxpbmcKIGZhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvbWV0ZXItYm91bmRhcnktdmFs
dWVzLmh0bWwgWyBGYWlsdXJlIF0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL3dwZS9UZXN0
RXhwZWN0YXRpb25zCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL3dwZS9UZXN0
RXhwZWN0YXRpb25zCShyZXZpc2lvbiAyNzU2NzApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93
cGUvVGVzdEV4cGVjdGF0aW9ucwkod29ya2luZyBjb3B5KQpAQCAtMTM1Niw3ICsxMzU2LDcgQEAg
d2Via2l0Lm9yZy9iLzIwMjczNiBodHRwL3dwdC9jYWNoZS1zdG9yYQogCiB3ZWJraXQub3JnL2Iv
MTkwNjI2IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZm9y
bXMvdGhlLWRhdGFsaXN0LWVsZW1lbnQvZGF0YWxpc3RvcHRpb25zLmh0bWwgWyBGYWlsdXJlIF0K
IAotd2Via2l0Lm9yZy9iLzE5NDkzMyBodHRwL3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRlL3VzZXIt
bG9hZC1jcm9zcy1zaXRlLXJlZGlyZWN0LnBocCBbIEZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzE5
NDkzMyBodHRwL3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRlL3VzZXItbG9hZC1jcm9zcy1zaXRlLXJl
ZGlyZWN0LnB5IFsgRmFpbHVyZSBdCiAKICMgV0VCR0wyIGlzIGRpc2FibGVkCiB3ZWJraXQub3Jn
L2IvMjA4MTg4IGZhc3QvY2FudmFzL3dlYmdsL3dlYmdsMiBbIFNraXAgXQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>425554</attachid>
            <date>2021-04-08 15:56:11 -0700</date>
            <delta_ts>2021-04-09 08:02:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223891-20210408175609.patch</filename>
            <type>text/plain</type>
            <size>24692</size>
            <attacher name="Chris Gambrell">cgambrell</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDI3NTY4NSkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDM0IEBACisyMDIxLTA0LTA4ICBDaHJpcyBHYW1icmVsbCAg
PGNnYW1icmVsbEBhcHBsZS5jb20+CisKKyAgICAgICAgW0xheW91dFRlc3RzXSBDb252ZXJ0IGh0
dHAvdGVzdHMvY29va2llcyBjb252ZXJ0IFBIUCB0byBQeXRob24KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMzg5MQorICAgICAgICA8cmRhcjovL3By
b2JsZW0vNzU5NjU2MzQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBodHRwL3Rlc3RzL2Nvb2tpZXMvbXVsdGlwbGUtcmVkaXJlY3QtYW5kLXNldC1j
b29raWUucGhwOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY29va2llcy9tdWx0aXBs
ZS1yZWRpcmVjdC1hbmQtc2V0LWNvb2tpZS5weTogQWRkZWQuCisgICAgICAgIChyZWRpcmVjdF91
cmwpOgorICAgICAgICAocmVkaXJlY3RfdG9fc3RlcCk6CisgICAgICAgIChzdGVwMCk6CisgICAg
ICAgIChzdGVwMik6CisgICAgICAgICogaHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9jb29r
aWUtdXRpbGl0aWVzLnBocDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2Nvb2tpZXMv
cmVzb3VyY2VzL2Nvb2tpZV91dGlsaXRpZXMucHk6IEFkZGVkLgorICAgICAgICAoaG9zdG5hbWVf
aXNfZXF1YWxfdG9fc3RyaW5nKToKKyAgICAgICAgKHJlc2V0X2Nvb2tpZXNfZm9yX2N1cnJlbnRf
b3JpZ2luKToKKyAgICAgICAgKHJlc2V0X2Nvb2tpZXMpOgorICAgICAgICAoc2hvdWxkX3Jlc2V0
X2Nvb2tpZXMpOgorICAgICAgICAod2tfc2V0X2Nvb2tpZSk6CisgICAgICAgICogaHR0cC90ZXN0
cy9jb29raWVzL3NhbWUtc2l0ZS9zZXQtZmlyc3QtcGFydHktY3Jvc3Mtc2l0ZS1jb29raWVzLnBo
cDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRlL3NldC1m
aXJzdC1wYXJ0eS1jcm9zcy1zaXRlLWNvb2tpZXMucHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAv
dGVzdHMvY29va2llcy9zYW1lLXNpdGUvc2V0LWZpcnN0LXBhcnR5LXNhbWUtc2l0ZS1jb29raWVz
LnBocDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRlL3Nl
dC1maXJzdC1wYXJ0eS1zYW1lLXNpdGUtY29va2llcy5weTogQWRkZWQuCisgICAgICAgICogaHR0
cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS91c2VyLWxvYWQtY3Jvc3Mtc2l0ZS1yZWRpcmVjdC5w
aHA6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS91c2Vy
LWxvYWQtY3Jvc3Mtc2l0ZS1yZWRpcmVjdC5weTogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0v
Z3RrL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3Rh
dGlvbnM6CisgICAgICAgICogcGxhdGZvcm0vd3BlL1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIwMjEt
MDQtMDggIEthdGUgQ2hlbmV5ICA8a2F0aGVyaW5lX2NoZW5leUBhcHBsZS5jb20+CiAKICAgICAg
ICAgQWRkIHRlc3QgaW5mcmFzdHJ1Y3R1cmUgZm9yIGFwcCBib3VuZCByZXF1ZXN0IGNvbnRleHQg
c3RyaW5nCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvbXVsdGlwbGUtcmVk
aXJlY3QtYW5kLXNldC1jb29raWUucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAv
dGVzdHMvY29va2llcy9tdWx0aXBsZS1yZWRpcmVjdC1hbmQtc2V0LWNvb2tpZS5waHAJKHJldmlz
aW9uIDI3NTY4NCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9tdWx0aXBsZS1y
ZWRpcmVjdC1hbmQtc2V0LWNvb2tpZS5waHAJKG5vbmV4aXN0ZW50KQpAQCAtMSw3MiArMCwwIEBA
Ci08P3BocAotCi0kZXhwaXJlID0gdGltZSgpICsgMzA7Ci0kc3RlcCA9IGVtcHR5KCRfR0VUWydz
dGVwJ10pID8gJycgOiAkX0dFVFsnc3RlcCddOwotJGNvb2tpZV9uYW1lID0gZW1wdHkoJF9HRVRb
J2Nvb2tpZV9uYW1lJ10pID8gbWQ1KF9fRklMRV9fIC4gdGltZSgpKSA6ICRfR0VUWydjb29raWVf
bmFtZSddOwotCi1pZiAoISRzdGVwKSB7Ci0gICAgLy8gU3RlcCAwOiBTZXQgY29va2llIGZvciBm
b2xsb3dpbmcgcmVxdWVzdC4KLSAgICBzZXRjb29raWUoJGNvb2tpZV9uYW1lLCAnbm90IHN1cmUs
IGJ1dCBzb21ldGhpbmcnLCAkZXhwaXJlKTsKLSAgICBzdGVwMCgpOwotfSBlbHNlaWYgKCRzdGVw
ID09IDEpIHsKLSAgICAvLyBTdGVwIDE6IFJlcXVlc3QgY2F1c2VkIGJ5IEpTLiBJdCBpcyBzZW50
IHdpdGggQ29va2llIGhlYWRlciB3aXRoIHZhbHVlIG9mIHN0ZXAgMC4KLSAgICBzZXRjb29raWUo
JGNvb2tpZV9uYW1lLCAnNDInLCAkZXhwaXJlKTsKLSAgICByZWRpcmVjdF90b19zdGVwKDIpOwot
fSBlbHNlaWYgKCRzdGVwID09IDIpIHsKLSAgICAvLyBTdGVwIDI6IFJlZGlyZWN0ZWQgcmVxdWVz
dCBzaG91bGQgaGF2ZSBvbmx5IENvb2tpZSBoZWFkZXIgd2l0aCB1cGRhdGUgdmFsdWUvCi0gICAg
c3RlcDIoJF9DT09LSUVbJGNvb2tpZV9uYW1lXSk7Ci19IGVsc2UgewotICAgIGRpZSgiRXJyb3I6
IHVua25vd24gc3RlcDogeyRzdGVwfSIpOwotfQotCi1leGl0KDApOwotCi1mdW5jdGlvbiByZWRp
cmVjdF90b19zdGVwKCRzdGVwKSB7Ci0gICAgaGVhZGVyKCJIVFRQLzEuMCAzMDIgRm91bmQiKTsK
LSAgICBoZWFkZXIoJ0xvY2F0aW9uOiAnIC4gcmVkaXJlY3RfdXJsKCRzdGVwKSk7Ci19Ci0KLWZ1
bmN0aW9uIHJlZGlyZWN0X3VybCgkc3RlcCkgewotICAgIGdsb2JhbCAkY29va2llX25hbWU7Ci0g
ICAgcmV0dXJuICJodHRwOi8vMTI3LjAuMC4xOjgwMDAvY29va2llcy8iIC4gYmFzZW5hbWUoX19G
SUxFX18pIC4gIj9zdGVwPXskc3RlcH0mY29va2llX25hbWU9eyRjb29raWVfbmFtZX0iOwotfQot
Ci1mdW5jdGlvbiBzdGVwMCgpIHsKLT8+Ci08IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYv
L0RURCBIVE1MLy9FTiI+Ci08aHRtbD4KLTxzY3JpcHQ+Ci1pZiAod2luZG93LnRlc3RSdW5uZXIp
IHsKLSAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICB0ZXN0UnVubmVyLndhaXRVbnRp
bERvbmUoKTsKLX0KLQotZnVuY3Rpb24gZ290b1N0ZXAxKCkgewotICAgIHdpbmRvdy5sb2NhdGlv
biA9ICI8P3BocCBlY2hvIHJlZGlyZWN0X3VybCgxKTsgPz4iOwotfQotPC9zY3JpcHQ+Ci0KLTxi
b2R5IG9ubG9hZD0iZ290b1N0ZXAxKCkiPgotPC9ib2R5PgotPC9odG1sPgotPD9waHAKLX0KLQot
ZnVuY3Rpb24gc3RlcDIoJHJlc3VsdCkgewotPz4KLTwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KLTxodG1sPgotPHNjcmlwdD4KLWZ1bmN0aW9uIGZpbmlzaCgp
IHsKLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIHRlc3RSdW5uZXIubm90aWZ5
RG9uZSgpOwotfQotPC9zY3JpcHQ+Ci0KLTxib2R5IG9ubG9hZD0iZmluaXNoKCkiPgotQ29va2ll
OiA8P3BocCBlY2hvICRyZXN1bHQ7ID8+Ci08L2JvZHk+Ci08L2h0bWw+Ci08P3BocAotfQotPz4K
SW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9tdWx0aXBsZS1yZWRpcmVjdC1h
bmQtc2V0LWNvb2tpZS5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nv
b2tpZXMvbXVsdGlwbGUtcmVkaXJlY3QtYW5kLXNldC1jb29raWUucHkJKG5vbmV4aXN0ZW50KQor
KysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL211bHRpcGxlLXJlZGlyZWN0LWFuZC1z
ZXQtY29va2llLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsOTMgQEAKKyMhL3Vzci9iaW4v
ZW52IHB5dGhvbjMKKworaW1wb3J0IGhhc2hsaWIKK2ltcG9ydCBvcworaW1wb3J0IHN5cworZnJv
bSBkYXRldGltZSBpbXBvcnQgZGF0ZXRpbWUsIHRpbWVkZWx0YQorZnJvbSB1cmxsaWIucGFyc2Ug
aW1wb3J0IHBhcnNlX3FzCisKK2ZpbGUgPSBfX2ZpbGVfXy5zcGxpdCgnOi9jeWd3aW4nKVstMV0K
K2h0dHBfcm9vdCA9IG9zLnBhdGguZGlybmFtZShvcy5wYXRoLmFic3BhdGgob3MucGF0aC5kaXJu
YW1lKGZpbGUpKSkKK3N5cy5wYXRoLmluc2VydCgwLCBodHRwX3Jvb3QpCisKK2Zyb20gcmVzb3Vy
Y2VzLnBvcnRhYmlsaXR5TGF5ZXIgaW1wb3J0IGdldF9jb29raWVzCisKK2N1cnJlbnRfdGltZSA9
IGRhdGV0aW1lLnV0Y25vdygpCitleHBpcmVzID0gY3VycmVudF90aW1lICsgdGltZWRlbHRhKHNl
Y29uZHM9MSkKKworcXVlcnkgPSBwYXJzZV9xcyhvcy5lbnZpcm9uLmdldCgnUVVFUllfU1RSSU5H
JywgJycpLCBrZWVwX2JsYW5rX3ZhbHVlcz1UcnVlKQorY29va2llX25hbWUgPSBxdWVyeS5nZXQo
J2Nvb2tpZV9uYW1lJywgW2hhc2hsaWIubWQ1KGJ5dGVzKCd7fXt9Jy5mb3JtYXQoX19maWxlX18s
IGN1cnJlbnRfdGltZSksICd1dGYtOCcpKS5oZXhkaWdlc3QoKV0pWzBdCitzdGVwID0gcXVlcnku
Z2V0KCdzdGVwJywgW05vbmVdKVswXQorCitjb29raWVzID0gZ2V0X2Nvb2tpZXMoKQorCisKK2Rl
ZiByZWRpcmVjdF91cmwoc3RlcCk6CisgICAgcmV0dXJuICdodHRwOi8vMTI3LjAuMC4xOjgwMDAv
Y29va2llcy97fT9zdGVwPXt9JmNvb2tpZV9uYW1lPXt9Jy5mb3JtYXQoX19maWxlX18uc3BsaXQo
Jy8nKVstMV0sIHN0ZXAsIGNvb2tpZV9uYW1lKQorCisKK2RlZiByZWRpcmVjdF90b19zdGVwKHN0
ZXApOgorICAgIHN5cy5zdGRvdXQud3JpdGUoCisgICAgICAgICdzdGF0dXM6IDMwMlxyXG4nCisg
ICAgICAgICdMb2NhdGlvbjoge31cclxuXHJcbicuZm9ybWF0KHJlZGlyZWN0X3VybChzdGVwKSkK
KyAgICApCisKKworZGVmIHN0ZXAwKCk6CisgICAgc3lzLnN0ZG91dC53cml0ZSgKKyAgICAgICAg
JzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj5cbicKKyAgICAg
ICAgJzxodG1sPlxuJworICAgICAgICAnPHNjcmlwdD5cbicKKyAgICAgICAgJ2lmICh3aW5kb3cu
dGVzdFJ1bm5lcikge3tcbicKKyAgICAgICAgJyAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTtc
bicKKyAgICAgICAgJyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTtcbicKKyAgICAgICAg
J319XG4nCisgICAgICAgICdcbicKKyAgICAgICAgJ2Z1bmN0aW9uIGdvdG9TdGVwMSgpIHt7XG4n
CisgICAgICAgICcgICAgd2luZG93LmxvY2F0aW9uID0gInt9IjtcbicKKyAgICAgICAgJ319XG4n
CisgICAgICAgICc8L3NjcmlwdD5cbicKKyAgICAgICAgJ1xuJworICAgICAgICAnPGJvZHkgb25s
b2FkPSJnb3RvU3RlcDEoKSI+XG4nCisgICAgICAgICc8L2JvZHk+XG4nCisgICAgICAgICc8L2h0
bWw+XG4nLmZvcm1hdChyZWRpcmVjdF91cmwoMSkpCisgICAgKQorCisKK2RlZiBzdGVwMihyZXN1
bHQpOgorICAgIHN5cy5zdGRvdXQud3JpdGUoCisgICAgICAgICc8IURPQ1RZUEUgSFRNTCBQVUJM
SUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+XG4nCisgICAgICAgICc8aHRtbD5cbicKKyAgICAg
ICAgJzxzY3JpcHQ+XG4nCisgICAgICAgICdmdW5jdGlvbiBmaW5pc2goKSB7e1xuJworICAgICAg
ICAnICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcilcbicKKyAgICAgICAgJyAgICAgICAgdGVzdFJ1
bm5lci5ub3RpZnlEb25lKCk7XG4nCisgICAgICAgICd9fVxuJworICAgICAgICAnPC9zY3JpcHQ+
XG4nCisgICAgICAgICdcbicKKyAgICAgICAgJzxib2R5IG9ubG9hZD0iZmluaXNoKCkiPlxuJwor
ICAgICAgICAnQ29va2llOiB7fVxuJworICAgICAgICAnPC9ib2R5PlxuJworICAgICAgICAnPC9o
dG1sPlxuJy5mb3JtYXQocmVzdWx0KQorICAgICkKKworCitzeXMuc3Rkb3V0LndyaXRlKCdDb250
ZW50LVR5cGU6IHRleHQvaHRtbFxyXG4nKQoraWYgc3RlcCBpcyBOb25lOgorICAgICMgU3RlcCAw
OiBTZXQgY29va2llIGZvciBmb2xsb3dpbmcgcmVxdWVzdC4KKyAgICBzeXMuc3Rkb3V0LndyaXRl
KAorICAgICAgICAnU2V0LUNvb2tpZToge309bm90K3N1cmUlMkMrYnV0K3NvbWV0aGluZzsgZXhw
aXJlcz17fSBHTVQ7IE1heC1BZ2U9MzBcclxuXHJcbicuZm9ybWF0KGNvb2tpZV9uYW1lLCBleHBp
cmVzLnN0cmZ0aW1lKCclYSwgJWQtJWItJVkgJUg6JU06JVMnKSkpCisgICAgc3RlcDAoKQorZWxp
ZiBpbnQoc3RlcCkgPT0gMToKKyAgICAjIFN0ZXAgMTogUmVxdWVzdCBjYXVzZWQgYnkgSlMuIEl0
IGlzIHNlbnQgd2l0aCBDb29raWUgaGVhZGVyIHdpdGggdmFsdWUgb2Ygc3RlcCAwLgorICAgIHN5
cy5zdGRvdXQud3JpdGUoJ1NldC1Db29raWU6IHt9PTQyOyBleHBpcmVzPXt9IEdNVDsgTWF4LUFn
ZT0zMFxyXG4nLmZvcm1hdChjb29raWVfbmFtZSwgZXhwaXJlcy5zdHJmdGltZSgnJWEsICVkLSVi
LSVZICVIOiVNOiVTJykpKQorICAgIHJlZGlyZWN0X3RvX3N0ZXAoMikKK2VsaWYgaW50KHN0ZXAp
ID09IDI6CisgICAgIyBTdGVwIDI6IFJlZGlyZWN0ZWQgcmVxdWVzdCBzaG91bGQgaGF2ZSBvbmx5
IENvb2tpZSBoZWFkZXIgd2l0aCB1cGRhdGUgdmFsdWUuCisgICAgc3lzLnN0ZG91dC53cml0ZSgn
XHJcbicpCisgICAgc3RlcDIoY29va2llcy5nZXQoY29va2llX25hbWUsICcnKSkKK2Vsc2U6Cisg
ICAgc3lzLnN0ZG91dC53cml0ZSgnXHJcbicpCisgICAgc3lzLmV4aXQoJ0Vycm9yOiB1bmtub3du
IHN0ZXA6IHt9Jy5mb3JtYXQoc3RlcCkpCisKK3N5cy5leGl0KDApCgpQcm9wZXJ0eSBjaGFuZ2Vz
IG9uOiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvbXVsdGlwbGUtcmVkaXJlY3QtYW5k
LXNldC1jb29raWUucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCAr
MSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL2Nvb2tpZS11dGlsaXRpZXMucGhwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMvY29va2ll
LXV0aWxpdGllcy5waHAJKHJldmlzaW9uIDI3NTY4NCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVz
dHMvY29va2llcy9yZXNvdXJjZXMvY29va2llLXV0aWxpdGllcy5waHAJKG5vbmV4aXN0ZW50KQpA
QCAtMSw1MyArMCwwIEBACi08P3BocAotZnVuY3Rpb24gc3RhcnRzV2l0aCgkc3RyaW5nLCAkc3Vi
c3RyaW5nKQotewotICAgIHJldHVybiBzdWJzdHIoJHN0cmluZywgMCwgc3RybGVuKCRzdWJzdHJp
bmcpKSA9PT0gJHN1YnN0cmluZzsKLX0KLQotZnVuY3Rpb24gaG9zdG5hbWVJc0VxdWFsVG9TdHJp
bmcoJGhvc3RuYW1lKQotewotICAgIHJldHVybiBzdGFydHNXaXRoKCRfU0VSVkVSWyJIVFRQX0hP
U1QiXSwgJGhvc3RuYW1lKTsKLX0KLQotZnVuY3Rpb24gcmVzZXRDb29raWVzKCkKLXsKLSAgICBp
ZiAoaG9zdG5hbWVJc0VxdWFsVG9TdHJpbmcoIjEyNy4wLjAuMSIpKSB7Ci0gICAgICAgIHJlc2V0
Q29va2llc0ZvckN1cnJlbnRPcmlnaW4oKTsKLSAgICAgICAgaGVhZGVyKCJMb2NhdGlvbjogaHR0
cDovL2xvY2FsaG9zdDo4MDAwIiAuICRfU0VSVkVSWyJQSFBfU0VMRiJdKTsKLSAgICB9IGVsc2Vp
ZiAoaG9zdG5hbWVJc0VxdWFsVG9TdHJpbmcoImxvY2FsaG9zdCIpKSB7Ci0gICAgICAgIHJlc2V0
Q29va2llc0ZvckN1cnJlbnRPcmlnaW4oKTsKLSAgICAgICAgaGVhZGVyKCJMb2NhdGlvbjogaHR0
cDovLzEyNy4wLjAuMTo4MDAwIiAuICRfU0VSVkVSWyJQSFBfU0VMRiJdIC4gIj9ydW5UZXN0Iik7
Ci0gICAgfQotfQotCi1mdW5jdGlvbiBzaG91bGRSZXNldENvb2tpZXMoKQotewotICAgIHJldHVy
biBlbXB0eSgkX1NFUlZFUlsiUVVFUllfU1RSSU5HIl0pOwotfQotCi1mdW5jdGlvbiB3a1NldENv
b2tpZSgkbmFtZSwgJHZhbHVlLCAkYWRkaXRpb25hbFByb3BlcnRpZXMpCi17Ci0gICAgJGNvb2tp
ZVZhbHVlID0gJG5hbWUgLiAiPSIgLiAkdmFsdWU7Ci0gICAgZm9yZWFjaCAoJGFkZGl0aW9uYWxQ
cm9wZXJ0aWVzIGFzICRuYW1lID0+ICR2YWx1ZSkgewotICAgICAgICAkY29va2llVmFsdWUgLj0g
IjsgIiAuICRuYW1lOwotICAgICAgICBpZiAoaXNzZXQoJHZhbHVlKSkKLSAgICAgICAgICAgICRj
b29raWVWYWx1ZSAuPSAiPSIgLiAkdmFsdWU7Ci0gICAgfQotICAgIGhlYWRlcigiU2V0LUNvb2tp
ZTogIiAuICRjb29raWVWYWx1ZSwgRkFMU0UgLyogcmVwbGFjZSAqLyk7Ci19Ci0KLWZ1bmN0aW9u
IGRlbGV0ZUNvb2tpZSgkbmFtZSkKLXsKLSAgICBzZXRjb29raWUoJG5hbWUsICJkZWxldGVkIiwg
dGltZSgpIC0gODY0MDAsICIvIik7Ci19Ci0KLWZ1bmN0aW9uIF9kZWxldGVDb29raWVDYWxsYmFj
aygkdmFsdWUsICRuYW1lKQotewotICAgIGRlbGV0ZUNvb2tpZSgkbmFtZSk7Ci19Ci0KLWZ1bmN0
aW9uIHJlc2V0Q29va2llc0ZvckN1cnJlbnRPcmlnaW4oKQotewotICAgIGFycmF5X3dhbGsoJF9D
T09LSUUsICdfZGVsZXRlQ29va2llQ2FsbGJhY2snKTsKLX0KLT8+CkluZGV4OiBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL2Nvb2tpZV91dGlsaXRpZXMucHkKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9jb29raWVf
dXRpbGl0aWVzLnB5CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29v
a2llcy9yZXNvdXJjZXMvY29va2llX3V0aWxpdGllcy5weQkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDQyIEBACisjIS91c3IvYmluL2VudiBweXRob24zCisKK2ltcG9ydCBvcworaW1wb3J0IHN5
cworZnJvbSBkYXRldGltZSBpbXBvcnQgZGF0ZXRpbWUsIHRpbWVkZWx0YQorCitmaWxlID0gX19m
aWxlX18uc3BsaXQoJzovY3lnd2luJylbLTFdCitodHRwX3Jvb3QgPSBvcy5wYXRoLmRpcm5hbWUo
b3MucGF0aC5kaXJuYW1lKG9zLnBhdGguYWJzcGF0aChvcy5wYXRoLmRpcm5hbWUoZmlsZSkpKSkK
K3N5cy5wYXRoLmluc2VydCgwLCBodHRwX3Jvb3QpCisKK2Zyb20gcmVzb3VyY2VzLnBvcnRhYmls
aXR5TGF5ZXIgaW1wb3J0IGdldF9jb29raWVzCisKKworZGVmIGhvc3RuYW1lX2lzX2VxdWFsX3Rv
X3N0cmluZyhob3N0bmFtZSk6CisgICAgcmV0dXJuIG9zLmVudmlyb24uZ2V0KCdIVFRQX0hPU1Qn
LCAnJykuc3RhcnRzd2l0aChob3N0bmFtZSkKKworCitkZWYgcmVzZXRfY29va2llc19mb3JfY3Vy
cmVudF9vcmlnaW4oKToKKyAgICBleHBpcmVzID0gZGF0ZXRpbWUudXRjbm93KCkgLSB0aW1lZGVs
dGEoc2Vjb25kcz04NjQwMCkKKyAgICBmb3IgY29va2llIGluIGdldF9jb29raWVzKCkua2V5cygp
OgorICAgICAgICBzeXMuc3Rkb3V0LndyaXRlKCdTZXQtQ29va2llOiB7fT1kZWxldGVkOyBleHBp
cmVzPXt9IEdNVDsgTWF4LUFnZT0wOyBwYXRoPS9cclxuJy5mb3JtYXQoY29va2llLCBleHBpcmVz
LnN0cmZ0aW1lKCclYSwgJWQtJWItJVkgJUg6JU06JVMnKSkpCisKKworZGVmIHJlc2V0X2Nvb2tp
ZXMoKToKKyAgICByZXNldF9jb29raWVzX2Zvcl9jdXJyZW50X29yaWdpbigpCisgICAgaWYgaG9z
dG5hbWVfaXNfZXF1YWxfdG9fc3RyaW5nKCcxMjcuMC4wLjEnKToKKyAgICAgICAgc3lzLnN0ZG91
dC53cml0ZSgnTG9jYXRpb246IGh0dHA6Ly9sb2NhbGhvc3Q6ODAwMHt9XHJcbicuZm9ybWF0KG9z
LmVudmlyb24uZ2V0KCdTQ1JJUFRfVVJMJywgJycpKSkKKyAgICBlbGlmIGhvc3RuYW1lX2lzX2Vx
dWFsX3RvX3N0cmluZygnbG9jYWxob3N0Jyk6CisgICAgICAgIHN5cy5zdGRvdXQud3JpdGUoJ0xv
Y2F0aW9uOiBodHRwOi8vMTI3LjAuMC4xOjgwMDB7fT9ydW5UZXN0XHJcbicuZm9ybWF0KG9zLmVu
dmlyb24uZ2V0KCdTQ1JJUFRfVVJMJywgJycpKSkKKworCitkZWYgc2hvdWxkX3Jlc2V0X2Nvb2tp
ZXMoKToKKyAgICByZXR1cm4gb3MuZW52aXJvbi5nZXQoJ1FVRVJZX1NUUklORycsIE5vbmUpIGlz
IE5vbmUKKworCitkZWYgd2tfc2V0X2Nvb2tpZShuYW1lLCB2YWx1ZSwgYWRkaXRpb25hbF9wcm9w
cyk6CisgICAgY29va2llX3ZhbHVlID0gJ3t9PXt9Jy5mb3JtYXQobmFtZSwgdmFsdWUpCisgICAg
Zm9yIHByb3BfbmFtZSBpbiBhZGRpdGlvbmFsX3Byb3BzOgorICAgICAgICBjb29raWVfdmFsdWUg
Kz0gJzsge30nLmZvcm1hdChwcm9wX25hbWUpCisgICAgICAgIGlmIGFkZGl0aW9uYWxfcHJvcHNb
cHJvcF9uYW1lXToKKyAgICAgICAgICAgIGNvb2tpZV92YWx1ZSArPSAnPXt9Jy5mb3JtYXQoYWRk
aXRpb25hbF9wcm9wc1twcm9wX25hbWVdKQorICAgIHN5cy5zdGRvdXQud3JpdGUoJ1NldC1Db29r
aWU6IHt9XHJcbicuZm9ybWF0KGNvb2tpZV92YWx1ZSkpCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL2Nvb2tpZV91dGlsaXRpZXMu
cHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2Nvb2tpZXMvc2FtZS1zaXRlL3NldC1maXJzdC1wYXJ0eS1jcm9zcy1zaXRlLWNvb2tpZXMucGhw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUv
c2V0LWZpcnN0LXBhcnR5LWNyb3NzLXNpdGUtY29va2llcy5waHAJKHJldmlzaW9uIDI3NTY4NCkK
KysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvc2V0LWZpcnN0LXBh
cnR5LWNyb3NzLXNpdGUtY29va2llcy5waHAJKG5vbmV4aXN0ZW50KQpAQCAtMSwzMCArMCwwIEBA
Ci08P3BocAotICAgIGluY2x1ZGVfb25jZSgiLi4vcmVzb3VyY2VzL2Nvb2tpZS11dGlsaXRpZXMu
cGhwIik7Ci0KLSAgICBpZiAoc2hvdWxkUmVzZXRDb29raWVzKCkpIHsKLSAgICAgICAgcmVzZXRD
b29raWVzKCk7Ci0gICAgICAgIGV4aXQoMCk7Ci0gICAgfQotICAgIGlmIChob3N0bmFtZUlzRXF1
YWxUb1N0cmluZygiMTI3LjAuMC4xIikpIHsKLSAgICAgICAgaGVhZGVyKCJMb2NhdGlvbjogaHR0
cDovL2xvY2FsaG9zdDo4MDAwIiAuICRfU0VSVkVSWyJSRVFVRVNUX1VSSSJdKTsKLSAgICAgICAg
ZXhpdCgwKTsKLSAgICB9Ci0gICAgd2tTZXRDb29raWUoInN0cmljdCIsICIxNCIsIEFycmF5KCJT
YW1lU2l0ZSIgPT4gIlN0cmljdCIsICJNYXgtQWdlIiA9PiAxMDAsICJwYXRoIiA9PiAiLyIpKTsK
LSAgICB3a1NldENvb2tpZSgiaW1wbGljaXQtc3RyaWN0IiwgIjE0IiwgQXJyYXkoIlNhbWVTaXRl
IiA9PiBOVUxMLCAiTWF4LUFnZSIgPT4gMTAwLCAicGF0aCIgPT4gIi8iKSk7Ci0gICAgd2tTZXRD
b29raWUoInN0cmljdC1iZWNhdXNlLWludmFsaWQtU2FtZVNpdGUtdmFsdWUiLCAiMTQiLCBBcnJh
eSgiU2FtZVNpdGUiID0+ICJpbnZhbGlkIiwgIk1heC1BZ2UiID0+IDEwMCwgInBhdGgiID0+ICIv
IikpOwotICAgIHdrU2V0Q29va2llKCJsYXgiLCAiMTQiLCBBcnJheSgiU2FtZVNpdGUiID0+ICJM
YXgiLCAiTWF4LUFnZSIgPT4gMTAwLCAicGF0aCIgPT4gIi8iKSk7Ci0gICAgd2tTZXRDb29raWUo
Im5vcm1hbCIsICIxNCIsIEFycmF5KCJNYXgtQWdlIiA9PiAxMDAsICJwYXRoIiA9PiAiLyIpKTsK
LQotPz4KLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQ+Ci1pZiAod2lu
ZG93LnRlc3RSdW5uZXIpIHsKLSAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICB0ZXN0
UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLX0KLTwvc2NyaXB0PgotPG1ldGEgaHR0cC1lcXVpdj0i
cmVmcmVzaCIgY29udGVudD0iMDtodHRwOi8vbG9jYWxob3N0OjgwMDAvY29va2llcy9yZXNvdXJj
ZXMvZWNoby1odHRwLWFuZC1kb20tY29va2llcy1hbmQtbm90aWZ5LWRvbmUucHkiPgotPC9oZWFk
PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0
ZS9zZXQtZmlyc3QtcGFydHktY3Jvc3Mtc2l0ZS1jb29raWVzLnB5Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvc2V0LWZpcnN0LXBhcnR5LWNy
b3NzLXNpdGUtY29va2llcy5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2Nvb2tpZXMvc2FtZS1zaXRlL3NldC1maXJzdC1wYXJ0eS1jcm9zcy1zaXRlLWNvb2tpZXMu
cHkJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0MSBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9u
MworCitpbXBvcnQgb3MKK2ltcG9ydCBzeXMKKworZmlsZSA9IF9fZmlsZV9fLnNwbGl0KCc6L2N5
Z3dpbicpWy0xXQoraHR0cF9yb290ID0gb3MucGF0aC5kaXJuYW1lKG9zLnBhdGguYWJzcGF0aChv
cy5wYXRoLmRpcm5hbWUoZmlsZSkpKQorc3lzLnBhdGguaW5zZXJ0KDAsIGh0dHBfcm9vdCkKKwor
ZnJvbSByZXNvdXJjZXMuY29va2llX3V0aWxpdGllcyBpbXBvcnQgaG9zdG5hbWVfaXNfZXF1YWxf
dG9fc3RyaW5nLCByZXNldF9jb29raWVzLCBzaG91bGRfcmVzZXRfY29va2llcywgd2tfc2V0X2Nv
b2tpZQorCitzeXMuc3Rkb3V0LndyaXRlKCdDb250ZW50LVR5cGU6IHRleHQvaHRtbFxyXG4nKQor
CitpZiBzaG91bGRfcmVzZXRfY29va2llcygpOgorICAgIHJlc2V0X2Nvb2tpZXMoKQorICAgIHN5
cy5zdGRvdXQud3JpdGUoJ1xyXG4nKQorICAgIHN5cy5leGl0KDApCisKK2lmIGhvc3RuYW1lX2lz
X2VxdWFsX3RvX3N0cmluZygnMTI3LjAuMC4xJyk6CisgICAgc3lzLnN0ZG91dC53cml0ZSgnTG9j
YXRpb246IGh0dHA6Ly9sb2NhbGhvc3Q6ODAwMHt9XHJcblxyXG4nLmZvcm1hdChvcy5lbnZpcm9u
LmdldCgnUkVRVUVTVF9VUkknKSkpCisgICAgc3lzLmV4aXQoMCkKKword2tfc2V0X2Nvb2tpZSgn
c3RyaWN0JywgJzE0JywgeydTYW1lU2l0ZSc6ICdTdHJpY3QnLCAnTWF4LUFnZSc6IDEwMCwgJ3Bh
dGgnOiAnLyd9KQord2tfc2V0X2Nvb2tpZSgnaW1wbGljaXQtc3RyaWN0JywgJzE0JywgeydTYW1l
U2l0ZSc6IE5vbmUsICdNYXgtQWdlJzogMTAwLCAncGF0aCc6ICcvJ30pCit3a19zZXRfY29va2ll
KCdzdHJpY3QtYmVjYXVzZS1pbnZhbGlkLVNhbWVTaXRlLXZhbHVlJywgJzE0JywgeydTYW1lU2l0
ZSc6ICdpbnZhbGlkJywgJ01heC1BZ2UnOiAxMDAsICdwYXRoJzogJy8nfSkKK3drX3NldF9jb29r
aWUoJ2xheCcsICcxNCcsIHsnU2FtZVNpdGUnOiAnTGF4JywgJ01heC1BZ2UnOiAxMDAsICdwYXRo
JzogJy8nfSkKK3drX3NldF9jb29raWUoJ25vcm1hbCcsICcxNCcsIHsnTWF4LUFnZSc6IDEwMCwg
J3BhdGgnOiAnLyd9KQorc3lzLnN0ZG91dC53cml0ZSgnXHJcbicpCisKK3ByaW50KCcnJzwhRE9D
VFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CitpZiAod2luZG93LnRlc3RSdW5u
ZXIpIHsKKyAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKyAgICB0ZXN0UnVubmVyLndhaXRV
bnRpbERvbmUoKTsKK30KKzwvc2NyaXB0PgorPG1ldGEgaHR0cC1lcXVpdj0icmVmcmVzaCIgY29u
dGVudD0iMDtodHRwOi8vbG9jYWxob3N0OjgwMDAvY29va2llcy9yZXNvdXJjZXMvZWNoby1odHRw
LWFuZC1kb20tY29va2llcy1hbmQtbm90aWZ5LWRvbmUucHkiPgorPC9oZWFkPgorPC9odG1sPicn
JykKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9z
YW1lLXNpdGUvc2V0LWZpcnN0LXBhcnR5LWNyb3NzLXNpdGUtY29va2llcy5weQpfX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
CkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9zYW1l
LXNpdGUvc2V0LWZpcnN0LXBhcnR5LXNhbWUtc2l0ZS1jb29raWVzLnBocAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRlL3NldC1maXJzdC1wYXJ0
eS1zYW1lLXNpdGUtY29va2llcy5waHAJKHJldmlzaW9uIDI3NTY4NCkKKysrIExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvc2V0LWZpcnN0LXBhcnR5LXNhbWUtc2l0ZS1j
b29raWVzLnBocAkobm9uZXhpc3RlbnQpCkBAIC0xLDI3ICswLDAgQEAKLTw/cGhwCi0gICAgaW5j
bHVkZV9vbmNlKCIuLi9yZXNvdXJjZXMvY29va2llLXV0aWxpdGllcy5waHAiKTsKLQotICAgIGlm
IChzaG91bGRSZXNldENvb2tpZXMoKSkgewotICAgICAgICByZXNldENvb2tpZXMoKTsKLSAgICAg
ICAgZXhpdCgwKTsKLSAgICB9Ci0KLSAgICB3a1NldENvb2tpZSgic3RyaWN0IiwgIjE0IiwgQXJy
YXkoIlNhbWVTaXRlIiA9PiAiU3RyaWN0IiwgIk1heC1BZ2UiID0+IDEwMCwgInBhdGgiID0+ICIv
IikpOwotICAgIHdrU2V0Q29va2llKCJpbXBsaWNpdC1zdHJpY3QiLCAiMTQiLCBBcnJheSgiU2Ft
ZVNpdGUiID0+IE5VTEwsICJNYXgtQWdlIiA9PiAxMDAsICJwYXRoIiA9PiAiLyIpKTsKLSAgICB3
a1NldENvb2tpZSgic3RyaWN0LWJlY2F1c2UtaW52YWxpZC1TYW1lU2l0ZS12YWx1ZSIsICIxNCIs
IEFycmF5KCJTYW1lU2l0ZSIgPT4gImludmFsaWQiLCAiTWF4LUFnZSIgPT4gMTAwLCAicGF0aCIg
PT4gIi8iKSk7Ci0gICAgd2tTZXRDb29raWUoImxheCIsICIxNCIsIEFycmF5KCJTYW1lU2l0ZSIg
PT4gIkxheCIsICJNYXgtQWdlIiA9PiAxMDAsICJwYXRoIiA9PiAiLyIpKTsKLSAgICB3a1NldENv
b2tpZSgibm9ybWFsIiwgIjE0IiwgQXJyYXkoIk1heC1BZ2UiID0+IDEwMCwgInBhdGgiID0+ICIv
IikpOwotCi0/PgotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdD4KLWlm
ICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAg
IHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotfQotPC9zY3JpcHQ+Ci08bWV0YSBodHRwLWVx
dWl2PSJyZWZyZXNoIiBjb250ZW50PSIwO2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9jb29raWVzL3Jl
c291cmNlcy9lY2hvLWh0dHAtYW5kLWRvbS1jb29raWVzLWFuZC1ub3RpZnktZG9uZS5weSI+Ci08
L2hlYWQ+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvc2Ft
ZS1zaXRlL3NldC1maXJzdC1wYXJ0eS1zYW1lLXNpdGUtY29va2llcy5weQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRlL3NldC1maXJzdC1wYXJ0
eS1zYW1lLXNpdGUtY29va2llcy5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRlL3NldC1maXJzdC1wYXJ0eS1zYW1lLXNpdGUtY29va2ll
cy5weQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM3IEBACisjIS91c3IvYmluL2VudiBweXRo
b24zCisKK2ltcG9ydCBvcworaW1wb3J0IHN5cworCitmaWxlID0gX19maWxlX18uc3BsaXQoJzov
Y3lnd2luJylbLTFdCitodHRwX3Jvb3QgPSBvcy5wYXRoLmRpcm5hbWUob3MucGF0aC5hYnNwYXRo
KG9zLnBhdGguZGlybmFtZShmaWxlKSkpCitzeXMucGF0aC5pbnNlcnQoMCwgaHR0cF9yb290KQor
Citmcm9tIHJlc291cmNlcy5jb29raWVfdXRpbGl0aWVzIGltcG9ydCByZXNldF9jb29raWVzLCBz
aG91bGRfcmVzZXRfY29va2llcywgd2tfc2V0X2Nvb2tpZQorCitzeXMuc3Rkb3V0LndyaXRlKCdD
b250ZW50LVR5cGU6IHRleHQvaHRtbFxyXG4nKQorCitpZiBzaG91bGRfcmVzZXRfY29va2llcygp
OgorICAgIHJlc2V0X2Nvb2tpZXMoKQorICAgIHN5cy5zdGRvdXQud3JpdGUoJ1xyXG4nKQorICAg
IHN5cy5leGl0KDApCisKK3drX3NldF9jb29raWUoJ3N0cmljdCcsICcxNCcsIHsnU2FtZVNpdGUn
OiAnU3RyaWN0JywgJ01heC1BZ2UnOiAxMDAsICdwYXRoJzogJy8nfSkKK3drX3NldF9jb29raWUo
J2ltcGxpY2l0LXN0cmljdCcsICcxNCcsIHsnU2FtZVNpdGUnOiBOb25lLCAnTWF4LUFnZSc6IDEw
MCwgJ3BhdGgnOiAnLyd9KQord2tfc2V0X2Nvb2tpZSgnc3RyaWN0LWJlY2F1c2UtaW52YWxpZC1T
YW1lU2l0ZS12YWx1ZScsICcxNCcsIHsnU2FtZVNpdGUnOiAnaW52YWxpZCcsICdNYXgtQWdlJzog
MTAwLCAncGF0aCc6ICcvJ30pCit3a19zZXRfY29va2llKCdsYXgnLCAnMTQnLCB7J1NhbWVTaXRl
JzogJ0xheCcsICdNYXgtQWdlJzogMTAwLCAncGF0aCc6ICcvJ30pCit3a19zZXRfY29va2llKCdu
b3JtYWwnLCAnMTQnLCB7J01heC1BZ2UnOiAxMDAsICdwYXRoJzogJy8nfSkKK3N5cy5zdGRvdXQu
d3JpdGUoJ1xyXG4nKQorCitwcmludCgnJyc8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0PgoraWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgdGVzdFJ1bm5lci5kdW1w
QXNUZXh0KCk7CisgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Cit9Cis8L3NjcmlwdD4K
KzxtZXRhIGh0dHAtZXF1aXY9InJlZnJlc2giIGNvbnRlbnQ9IjA7aHR0cDovLzEyNy4wLjAuMTo4
MDAwL2Nvb2tpZXMvcmVzb3VyY2VzL2VjaG8taHR0cC1hbmQtZG9tLWNvb2tpZXMtYW5kLW5vdGlm
eS1kb25lLnB5Ij4KKzwvaGVhZD4KKzwvaHRtbD4nJycpCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRlL3NldC1maXJzdC1wYXJ0eS1z
YW1lLXNpdGUtY29va2llcy5weQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAt
MCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91
dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvdXNlci1sb2FkLWNyb3NzLXNpdGUt
cmVkaXJlY3QucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2ll
cy9zYW1lLXNpdGUvdXNlci1sb2FkLWNyb3NzLXNpdGUtcmVkaXJlY3QucGhwCShyZXZpc2lvbiAy
NzU2ODQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRlL3VzZXIt
bG9hZC1jcm9zcy1zaXRlLXJlZGlyZWN0LnBocAkobm9uZXhpc3RlbnQpCkBAIC0xLDQ1ICswLDAg
QEAKLTw/cGhwCi0gICAgaW5jbHVkZV9vbmNlKCIuLi9yZXNvdXJjZXMvY29va2llLXV0aWxpdGll
cy5waHAiKTsKLQotICAgIGlmIChob3N0bmFtZUlzRXF1YWxUb1N0cmluZygiMTI3LjAuMC4xIikg
JiYgZW1wdHkoJF9TRVJWRVJbIlFVRVJZX1NUUklORyJdKSkgewotICAgICAgICB3a1NldENvb2tp
ZSgic3RyaWN0IiwgIjI3IiwgQXJyYXkoIlNhbWVTaXRlIiA9PiAiU3RyaWN0IiwgIk1heC1BZ2Ui
ID0+IDEwMCwgInBhdGgiID0+ICIvIikpOwotICAgICAgICB3a1NldENvb2tpZSgibGF4IiwgIjI3
IiwgQXJyYXkoIlNhbWVTaXRlIiA9PiAiTGF4IiwgIk1heC1BZ2UiID0+IDEwMCwgInBhdGgiID0+
ICIvIikpOwotICAgICAgICB3a1NldENvb2tpZSgibm9ybWFsIiwgIjI3IiwgQXJyYXkoIk1heC1B
Z2UiID0+IDEwMCwgInBhdGgiID0+ICIvIikpOwotICAgICAgICBoZWFkZXIoIkxvY2F0aW9uOiBo
dHRwOi8vbG9jYWxob3N0OjgwMDAvcmVzb3VyY2VzL3JlZGlyZWN0LnB5P3VybD0iIC4gdXJsZW5j
b2RlKCJodHRwOi8vMTI3LjAuMC4xOjgwMDAiIC4gJF9TRVJWRVJbIlJFUVVFU1RfVVJJIl0gLiAi
P2NoZWNrLWNvb2tpZXMiKSk7Ci0gICAgICAgIGV4aXQoMCk7Ci0gICAgfQotPz4KLTwhRE9DVFlQ
RSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMv
anMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2Nvb2tpZS11
dGlsaXRpZXMuanMiPjwvc2NyaXB0PgotPHNjcmlwdD5fc2V0Q2FjaGVkQ29va2llc0pTT04oJzw/
cGhwIGVjaG8ganNvbl9lbmNvZGUoJF9DT09LSUUpOyA/PicpPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08
Ym9keT4KLTxzY3JpcHQ+Ci13aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7Ci0KLWRlc2NyaXB0
aW9uKCJUaGlzIHRlc3QgaXMgcmVwcmVzZW50YXRpdmUgb2YgYSB1c2VyIHRoYXQgbG9hZHMgYSBz
aXRlLCB2aWEgdGhlIGFkZHJlc3MgYmFyIG9yIENvbW1hbmQgKyBjbGlja2luZyBhIGh5cGVybGlu
aywgdGhhdCByZWRpcmVjdHMgdG8gYSBjcm9zcy1zaXRlIHBhZ2UgdGhhdCBleHBlY3RzIGl0cyBT
YW1lU2l0ZSBMYXggY29va2llcy4iKTsKLQotYXN5bmMgZnVuY3Rpb24gY2hlY2tSZXN1bHQoKQot
ewotICAgIGRlYnVnKCJDb29raWVzIHNlbnQgd2l0aCBIVFRQIHJlcXVlc3Q6Iik7Ci0gICAgLy8g
RklYTUU6IEVuc3VyZSB0aGF0IHN0cmljdCBjb29raWVzIGFyZSBub3Qgc2VudC4gU2VlIDxodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk0OTMzPi4KLSAgICBhd2FpdCBz
aG91bGRIYXZlQ29va2llV2l0aFZhbHVlKCJsYXgiLCAiMjciKTsKLSAgICBhd2FpdCBzaG91bGRI
YXZlQ29va2llV2l0aFZhbHVlKCJub3JtYWwiLCAiMjciKTsKLQotICAgIGRlYnVnKCI8YnI+Q29v
a2llcyB2aXNpYmxlIGluIERPTToiKTsKLSAgICBzaG91bGROb3RIYXZlRE9NQ29va2llKCJzdHJp
Y3QiKTsKLSAgICBzaG91bGRIYXZlRE9NQ29va2llV2l0aFZhbHVlKCJsYXgiLCAiMjciKTsKLSAg
ICBzaG91bGRIYXZlRE9NQ29va2llV2l0aFZhbHVlKCJub3JtYWwiLCAiMjciKTsKLQotICAgIGF3
YWl0IHJlc2V0Q29va2llcygpOwotICAgIGZpbmlzaEpTVGVzdCgpOwotfQotCi1jaGVja1Jlc3Vs
dCgpOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+Ci0KSW5kZXg6IExheW91dFRlc3RzL2h0
dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvdXNlci1sb2FkLWNyb3NzLXNpdGUtcmVkaXJlY3Qu
cHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0
ZS91c2VyLWxvYWQtY3Jvc3Mtc2l0ZS1yZWRpcmVjdC5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRlL3VzZXItbG9hZC1jcm9zcy1zaXRl
LXJlZGlyZWN0LnB5CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNjUgQEAKKyMhL3Vzci9iaW4v
ZW52IHB5dGhvbjMKKworaW1wb3J0IGpzb24KK2ltcG9ydCBvcworaW1wb3J0IHN5cworZnJvbSB1
cmxsaWIucGFyc2UgaW1wb3J0IHF1b3RlCisKK2ZpbGUgPSBfX2ZpbGVfXy5zcGxpdCgnOi9jeWd3
aW4nKVstMV0KK2h0dHBfcm9vdCA9IG9zLnBhdGguZGlybmFtZShvcy5wYXRoLmRpcm5hbWUob3Mu
cGF0aC5hYnNwYXRoKG9zLnBhdGguZGlybmFtZShmaWxlKSkpKQorc3lzLnBhdGguaW5zZXJ0KDAs
IGh0dHBfcm9vdCkKKworZnJvbSByZXNvdXJjZXMucG9ydGFiaWxpdHlMYXllciBpbXBvcnQgZ2V0
X2Nvb2tpZXMKKworaHR0cF9yb290ID0gb3MucGF0aC5kaXJuYW1lKG9zLnBhdGguYWJzcGF0aChv
cy5wYXRoLmRpcm5hbWUoZmlsZSkpKQorc3lzLnBhdGguaW5zZXJ0KDAsIGh0dHBfcm9vdCkKKwor
ZnJvbSByZXNvdXJjZXMuY29va2llX3V0aWxpdGllcyBpbXBvcnQgaG9zdG5hbWVfaXNfZXF1YWxf
dG9fc3RyaW5nLCB3a19zZXRfY29va2llCisKK2Nvb2tpZXMgPSBnZXRfY29va2llcygpCisKK3N5
cy5zdGRvdXQud3JpdGUoJ0NvbnRlbnQtVHlwZTogdGV4dC9odG1sXHJcbicpCisKK2lmIGhvc3Ru
YW1lX2lzX2VxdWFsX3RvX3N0cmluZygnMTI3LjAuMC4xJykgYW5kIG9zLmVudmlyb24uZ2V0KCdR
VUVSWV9TVFJJTkcnLCAnJykgPT0gJyc6CisgICAgd2tfc2V0X2Nvb2tpZSgnc3RyaWN0JywgJzI3
JywgeydTYW1lU2l0ZSc6ICdTdHJpY3QnLCAnTWF4LUFnZSc6IDEwMCwgJ3BhdGgnOiAnLyd9KQor
ICAgIHdrX3NldF9jb29raWUoJ2xheCcsICcyNycsIHsnU2FtZVNpdGUnOiAnTGF4JywgJ01heC1B
Z2UnOiAxMDAsICdwYXRoJzogJy8nfSkKKyAgICB3a19zZXRfY29va2llKCdub3JtYWwnLCAnMjcn
LCB7J01heC1BZ2UnOiAxMDAsICdwYXRoJzogJy8nfSkKKworICAgIHBhdGggPSBxdW90ZSgnaHR0
cDovLzEyNy4wLjAuMTo4MDAwe30/Y2hlY2stY29va2llcycuZm9ybWF0KG9zLmVudmlyb24uZ2V0
KCdSRVFVRVNUX1VSSScpKSkKKyAgICBzeXMuc3Rkb3V0LndyaXRlKCdMb2NhdGlvbjogaHR0cDov
L2xvY2FsaG9zdDo4MDAwL3Jlc291cmNlcy9yZWRpcmVjdC5weT91cmw9e31cclxuXHJcbicuZm9y
bWF0KHBhdGgpKQorICAgIHN5cy5leGl0KDApCisKK3N5cy5zdGRvdXQud3JpdGUoJ1xyXG4nKQor
cHJpbnQoJycnPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii9q
cy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9y
ZXNvdXJjZXMvY29va2llLXV0aWxpdGllcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0Pl9zZXRDYWNo
ZWRDb29raWVzSlNPTigne30nKTwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0Pgor
d2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworCitkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IGlz
IHJlcHJlc2VudGF0aXZlIG9mIGEgdXNlciB0aGF0IGxvYWRzIGEgc2l0ZSwgdmlhIHRoZSBhZGRy
ZXNzIGJhciBvciBDb21tYW5kICsgY2xpY2tpbmcgYSBoeXBlcmxpbmssIHRoYXQgcmVkaXJlY3Rz
IHRvIGEgY3Jvc3Mtc2l0ZSBwYWdlIHRoYXQgZXhwZWN0cyBpdHMgU2FtZVNpdGUgTGF4IGNvb2tp
ZXMuIik7CisKK2FzeW5jIGZ1bmN0aW9uIGNoZWNrUmVzdWx0KCkKK3t7CisgICAgZGVidWcoIkNv
b2tpZXMgc2VudCB3aXRoIEhUVFAgcmVxdWVzdDoiKTsKKyAgICAvLyBGSVhNRTogRW5zdXJlIHRo
YXQgc3RyaWN0IGNvb2tpZXMgYXJlIG5vdCBzZW50LiBTZWUgPGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xOTQ5MzM+LgorICAgIGF3YWl0IHNob3VsZEhhdmVDb29raWVX
aXRoVmFsdWUoImxheCIsICIyNyIpOworICAgIGF3YWl0IHNob3VsZEhhdmVDb29raWVXaXRoVmFs
dWUoIm5vcm1hbCIsICIyNyIpOworCisgICAgZGVidWcoIjxicj5Db29raWVzIHZpc2libGUgaW4g
RE9NOiIpOworICAgIHNob3VsZE5vdEhhdmVET01Db29raWUoInN0cmljdCIpOworICAgIHNob3Vs
ZEhhdmVET01Db29raWVXaXRoVmFsdWUoImxheCIsICIyNyIpOworICAgIHNob3VsZEhhdmVET01D
b29raWVXaXRoVmFsdWUoIm5vcm1hbCIsICIyNyIpOworCisgICAgYXdhaXQgcmVzZXRDb29raWVz
KCk7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9fQorCitjaGVja1Jlc3VsdCgpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+JycnLmZvcm1hdChqc29uLmR1bXBzKGNvb2tpZXMpKSkKClByb3Bl
cnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUv
dXNlci1sb2FkLWNyb3NzLXNpdGUtcmVkaXJlY3QucHkKX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4
ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5
CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucwkocmV2aXNp
b24gMjc1Njg0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMJ
KHdvcmtpbmcgY29weSkKQEAgLTI0NDYsNyArMjQ0Niw3IEBAIHdlYmtpdC5vcmcvYi85OTAzNiBw
b2ludGVyLWxvY2svcG9pbnRlcmwKIAogd2Via2l0Lm9yZy9iLzIwNjI2NCBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtbXVsdGljb2wvbXVsdGljb2wtZ2FwLXBlcmNlbnRh
Z2UtMDAxLmh0bWwgWyBGYWlsdXJlIF0KIAotd2Via2l0Lm9yZy9iLzE5NDkzMyBodHRwL3Rlc3Rz
L2Nvb2tpZXMvc2FtZS1zaXRlL3VzZXItbG9hZC1jcm9zcy1zaXRlLXJlZGlyZWN0LnBocCBbIEZh
aWx1cmUgXQord2Via2l0Lm9yZy9iLzE5NDkzMyBodHRwL3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRl
L3VzZXItbG9hZC1jcm9zcy1zaXRlLXJlZGlyZWN0LnB5IFsgRmFpbHVyZSBdCiAKIHdlYmtpdC5v
cmcvYi8yMTE5ODEgZWRpdGluZy9wYXN0ZWJvYXJkL2RhdGEtdHJhbnNmZXItZ2V0LWRhdGEtb24t
cGFzdGluZy1odG1sLXVzZXMtYmxvYi11cmwuaHRtbCBbIEZhaWx1cmUgXQogCkluZGV4OiBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwkocmV2aXNpb24gMjc1Njg0KQor
KysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMJKHdvcmtpbmcgY29w
eSkKQEAgLTE0MDUsOCArMTQwNSw4IEBAIGh0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUgWyBQ
YXNzIF0KIGh0dHAvdGVzdHMvY29va2llcy9vbmx5LWFjY2VwdC1maXJzdC1wYXJ0eS1jb29raWVz
Lmh0bWwgWyBTa2lwIF0KIAogIyBGSVhNRTogTWFyayBhcyBQYXNzIG9uY2UgdGhlIGZpeCBmb3Ig
PHJkYXI6Ly9wcm9ibGVtLzQyMjU1MjUxPiBpcyBzaGlwcGVkLgotaHR0cC90ZXN0cy9jb29raWVz
L3NhbWUtc2l0ZS9zZXQtZmlyc3QtcGFydHktY3Jvc3Mtc2l0ZS1jb29raWVzLnBocCBbIFNraXAg
XQotaHR0cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9zZXQtZmlyc3QtcGFydHktc2FtZS1zaXRl
LWNvb2tpZXMucGhwIFsgU2tpcCBdCitodHRwL3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRlL3NldC1m
aXJzdC1wYXJ0eS1jcm9zcy1zaXRlLWNvb2tpZXMucHkgWyBTa2lwIF0KK2h0dHAvdGVzdHMvY29v
a2llcy9zYW1lLXNpdGUvc2V0LWZpcnN0LXBhcnR5LXNhbWUtc2l0ZS1jb29raWVzLnB5IFsgU2tp
cCBdCiAKICMgPHJkYXI6Ly9wcm9ibGVtLzQwNDk4MjkwPiBSRUdSRVNTSU9OIChNb2phdmUpOiBI
VE1MTWV0ZXJFbGVtZW50IExheW91dFRlc3RzIGZhaWxpbmcKIGZhc3QvZG9tL0hUTUxNZXRlckVs
ZW1lbnQvbWV0ZXItYm91bmRhcnktdmFsdWVzLmh0bWwgWyBGYWlsdXJlIF0KSW5kZXg6IExheW91
dFRlc3RzL3BsYXRmb3JtL3dwZS9UZXN0RXhwZWN0YXRpb25zCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL3BsYXRmb3JtL3dwZS9UZXN0RXhwZWN0YXRpb25zCShyZXZpc2lvbiAyNzU2ODQpCisr
KyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93cGUvVGVzdEV4cGVjdGF0aW9ucwkod29ya2luZyBjb3B5
KQpAQCAtMTM1Niw3ICsxMzU2LDcgQEAgd2Via2l0Lm9yZy9iLzIwMjczNiBodHRwL3dwdC9jYWNo
ZS1zdG9yYQogCiB3ZWJraXQub3JnL2IvMTkwNjI2IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaHRtbC9zZW1hbnRpY3MvZm9ybXMvdGhlLWRhdGFsaXN0LWVsZW1lbnQvZGF0YWxpc3Rv
cHRpb25zLmh0bWwgWyBGYWlsdXJlIF0KIAotd2Via2l0Lm9yZy9iLzE5NDkzMyBodHRwL3Rlc3Rz
L2Nvb2tpZXMvc2FtZS1zaXRlL3VzZXItbG9hZC1jcm9zcy1zaXRlLXJlZGlyZWN0LnBocCBbIEZh
aWx1cmUgXQord2Via2l0Lm9yZy9iLzE5NDkzMyBodHRwL3Rlc3RzL2Nvb2tpZXMvc2FtZS1zaXRl
L3VzZXItbG9hZC1jcm9zcy1zaXRlLXJlZGlyZWN0LnB5IFsgRmFpbHVyZSBdCiAKICMgV0VCR0wy
IGlzIGRpc2FibGVkCiB3ZWJraXQub3JnL2IvMjA4MTg4IGZhc3QvY2FudmFzL3dlYmdsL3dlYmds
MiBbIFNraXAgXQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>