<?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>203199</bug_id>
          
          <creation_ts>2019-10-21 12:02:20 -0700</creation_ts>
          <short_desc>editing/pasteboard/paste-and-sanitize.html is a flaky failure</short_desc>
          <delta_ts>2019-10-22 17:33:12 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>aestes</cc>
    
    <cc>bdakin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>megan_gardner</cc>
    
    <cc>mifenton</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1581928</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-10-21 12:02:20 -0700</bug_when>
    <thetext>&lt;rdar://problem/53551736&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1581943</commentid>
    <comment_count>1</comment_count>
      <attachid>381428</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-10-21 12:19:17 -0700</bug_when>
    <thetext>Created attachment 381428
Attempt #1 to reproduce the failure</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1582111</commentid>
    <comment_count>2</comment_count>
      <attachid>381475</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-10-21 16:07:32 -0700</bug_when>
    <thetext>Created attachment 381475
Attempt #2 to reproduce the failure</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1582221</commentid>
    <comment_count>3</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-10-21 19:58:14 -0700</bug_when>
    <thetext>From analyzing EWS results, in the pathological case, the test failure results in output like this after a single paste operation (of which there are a total of 11 in the test):

Attempting to paste (paste-and-sanitize-2.html)
The selection is: { OffsetInAnchor(&quot;hello1&quot;, 0), OffsetInAnchor(&quot; hello2&quot;, 7) }
Pasting as rich text.

…whereas it should normally look like this:

Attempting to paste (paste-and-sanitize-2.html)
The selection is: { OffsetInAnchor(&quot;hello&quot;, 0), OffsetInAnchor(&quot;hello&quot;, 5) }
Pasting as rich text.
Replacing selection with fragment!
Applying ReplaceSelectionCommand...
Performing complex replacement.
Preparing whitespace at insertion position for split.
Clearing typing style.
Removing nodes.
Inserting nodes.
Sanitizing fragment? yes
DONE.

This means we are reaching Editor::paste, but then fail to call into Editor::replaceSelectionWithFragment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1582225</commentid>
    <comment_count>4</comment_count>
      <attachid>381502</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-10-21 20:27:00 -0700</bug_when>
    <thetext>Created attachment 381502
Attempt #3 to reproduce the failure</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1582229</commentid>
    <comment_count>5</comment_count>
      <attachid>381504</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-10-21 20:32:19 -0700</bug_when>
    <thetext>Created attachment 381504
Attempt #3 to reproduce the failure</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1582366</commentid>
    <comment_count>6</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-10-22 08:14:28 -0700</bug_when>
    <thetext>In the normal (passing case):

  Attempting to paste (paste-and-sanitize-10.html)
  The selection is: { OffsetInAnchor(&quot;Hello &quot;, 0), OffsetInAnchor(&quot;world&quot;, 5) }
  Pasting as rich text.
  Trying types: (
      &quot;Apple Web Archive pasteboard type&quot;,
      &quot;com.apple.webarchive&quot;,
      &quot;com.apple.flat-rtfd&quot;,
      &quot;public.rtf&quot;,
      &quot;public.html&quot;,
      &quot;public.png&quot;,
      &quot;public.tiff&quot;,
      &quot;public.jpeg&quot;,
      &quot;com.compuserve.gif&quot;,
      &quot;public.url&quot;,
      &quot;public.text&quot;
  )
  Successfully read type: Apple Web Archive pasteboard type
  Replacing selection with fragment!
  Sanitizing fragment? yes

...and in the failure case:

  Attempting to paste (paste-and-sanitize-10.html)
  The selection is: { OffsetInAnchor(&quot;Hello &quot;, 0), OffsetInAnchor(&quot;world&quot;, 5) }
  2019-10-21 22:40:43.244 WebKitTestRunnerApp[78562:96340672] PBItemCollectionServicer connection disconnected.
  Pasting as rich text.
  Trying types: (
      &quot;Apple Web Archive pasteboard type&quot;,
      &quot;com.apple.webarchive&quot;,
      &quot;com.apple.flat-rtfd&quot;,
      &quot;public.rtf&quot;,
      &quot;public.html&quot;,
      &quot;public.png&quot;,
      &quot;public.tiff&quot;,
      &quot;public.jpeg&quot;,
      &quot;com.compuserve.gif&quot;,
      &quot;public.url&quot;,
      &quot;public.text&quot;
  )
  *** CHANGECOUNT CHANGED EXTERNALLY ***

So for some reason, the changeCount on the pasteboard is incrementing from underneath us...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1582373</commentid>
    <comment_count>7</comment_count>
      <attachid>381545</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-10-22 08:31:59 -0700</bug_when>
    <thetext>Created attachment 381545
Test run #4</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1582404</commentid>
    <comment_count>8</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-10-22 09:40:25 -0700</bug_when>
    <thetext>(In reply to Wenson Hsieh from comment #7)
&gt; Created attachment 381545 [details]
&gt; Test run #4

I think (maybe?) that I’ve found the smoking gun.

From the latest run, it looks like https://ews-build.webkit.org/results/iOS-13-Simulator-WK2-Tests-EWS/r381545-2234/editing/pasteboard/paste-and-sanitize-17-stderr.txt failed 3/11 of the test cases. I cleaned up the output and added some annotations below:

1.  Hello
    should become:
    Hello

    &lt;WK&gt;: &gt;&gt;&gt; Writing selection to pasteboard!
    &lt;WK&gt;: &lt;&lt;&lt; done writing selection to pasteboard.
    2019-10-22 09:02:00.853 WebKitTestRunnerApp[2665:49792] PBItemCollectionServicer connection disconnected.
    &lt;WK&gt;: Attempting to paste (paste-and-sanitize-17.html)
    2019-10-22 09:02:00.874 com.apple.WebKit.WebContent.Development[2927:48371] &lt;WK&gt;: Trying 11 type(s)
    2019-10-22 09:02:00.886 com.apple.WebKit.WebContent.Development[2927:48371] &lt;WK&gt;: Successfully read type: Apple Web Archive pasteboard type

    =&gt; PASSED

2.  &lt;b&gt;&lt;i&gt;Hello&lt;/i&gt;&lt;/b&gt;
    should become:
    &lt;b&gt;&lt;i&gt;Hello&lt;/i&gt;&lt;/b&gt;

    &lt;WK&gt;: &gt;&gt;&gt; Writing selection to pasteboard!
    &lt;WK&gt;: &lt;&lt;&lt; done writing selection to pasteboard.
    &lt;WK&gt;: Attempting to paste (paste-and-sanitize-17.html)
    2019-10-22 09:02:00.937 WebKitTestRunnerApp[2665:49792] PBItemCollectionServicer connection disconnected.

    =&gt; PASSED

3.  &lt;div&gt;&lt;b&gt;&lt;i&gt;&lt;span style=&quot;font-weight: normal&quot;&gt;&lt;b&gt;&lt;i&gt;Hello&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;
    should become:
    &lt;b&gt;&lt;i&gt;Hello&lt;/i&gt;&lt;/b&gt;

    &lt;WK&gt;: &gt;&gt;&gt; Writing selection to pasteboard!
    &lt;WK&gt;: &lt;&lt;&lt; done writing selection to pasteboard.
    2019-10-22 09:02:01.031 WebKitTestRunnerApp[2665:48811] PBItemCollectionServicer connection disconnected.
    &lt;WK&gt;: Attempting to paste (paste-and-sanitize-17.html)
    2019-10-22 09:02:01.051 com.apple.WebKit.WebContent.Development[2927:48371] &lt;WK&gt;: Trying 11 type(s)
    2019-10-22 09:02:01.064 com.apple.WebKit.WebContent.Development[2927:48371] &lt;WK&gt;: Successfully read type: Apple Web Archive pasteboard type

    =&gt; PASSED

4.  &lt;div&gt;&lt;div&gt;&lt;div&gt;Hello&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
    should become:
    Hello

    &lt;WK&gt;: &gt;&gt;&gt; Writing selection to pasteboard!
    &lt;WK&gt;: &lt;&lt;&lt; done writing selection to pasteboard.
    2019-10-22 09:02:01.140 WebKitTestRunnerApp[2665:49832] PBItemCollectionServicer connection disconnected.
    &lt;WK&gt;: Attempting to paste (paste-and-sanitize-17.html)
    2019-10-22 09:02:01.177 com.apple.WebKit.WebContent.Development[2927:48371] &lt;WK&gt;: Trying 11 type(s)
    2019-10-22 09:02:01.189 com.apple.WebKit.WebContent.Development[2927:48371] &lt;WK&gt;: Successfully read type: Apple Web Archive pasteboard type

    =&gt; PASSED

5.  &lt;div&gt;&lt;b&gt;&lt;div&gt;&lt;i&gt;Hello&lt;/i&gt;&lt;/div&gt;&lt;/b&gt;&lt;/div&gt;
    should become:
    &lt;i style=&quot;font-weight: bold;&quot;&gt;Hello&lt;/i&gt;

    &lt;WK&gt;: &gt;&gt;&gt; Writing selection to pasteboard!
    &lt;WK&gt;: &lt;&lt;&lt; done writing selection to pasteboard.
    &lt;WK&gt;: Attempting to paste (paste-and-sanitize-17.html)
    2019-10-22 09:02:01.259 WebKitTestRunnerApp[2665:48811] PBItemCollectionServicer connection disconnected.

    =&gt; FAILED

6.  &lt;div&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;b&gt;Hello&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;
    should become:
    &lt;div style=&quot;text-align: center;&quot;&gt;&lt;b&gt;Hello&lt;/b&gt;&lt;/div&gt;

    &lt;WK&gt;: &gt;&gt;&gt; Writing selection to pasteboard!
    &lt;WK&gt;: &lt;&lt;&lt; done writing selection to pasteboard.
    2019-10-22 09:02:01.325 WebKitTestRunnerApp[2665:49792] PBItemCollectionServicer connection disconnected.
    &lt;WK&gt;: Attempting to paste (paste-and-sanitize-17.html)
    2019-10-22 09:02:01.347 com.apple.WebKit.WebContent.Development[2927:48371] &lt;WK&gt;: Trying 11 type(s)
    2019-10-22 09:02:01.361 com.apple.WebKit.WebContent.Development[2927:48371] &lt;WK&gt;: Successfully read type: Apple Web Archive pasteboard type

    =&gt; PASSED

7.  &lt;div&gt;&lt;b&gt;&lt;i&gt;&lt;span style=&quot;font-weight: normal&quot;&gt;&lt;b&gt;&lt;i&gt;hello&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;i&gt;&lt;span style=&quot;font-weight: normal&quot;&gt;&lt;b&gt;&lt;i&gt;world&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;
    should become:
    &lt;div&gt;&lt;b&gt;&lt;i&gt;hello&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;i&gt;world&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;

    &lt;WK&gt;: &gt;&gt;&gt; Writing selection to pasteboard!
    &lt;WK&gt;: &lt;&lt;&lt; done writing selection to pasteboard.
    &lt;WK&gt;: Attempting to paste (paste-and-sanitize-17.html)
    2019-10-22 09:02:01.425 WebKitTestRunnerApp[2665:49832] PBItemCollectionServicer connection disconnected.

    =&gt; FAILED

8.  &lt;div&gt;&lt;b&gt;&lt;i&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;&lt;b&gt;&lt;i&gt;hello1&lt;/i&gt;&lt;/b&gt;&lt;b&gt;&lt;i&gt; hello2&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;
    should become:
    &lt;b&gt;&lt;i&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;&lt;b&gt;&lt;i&gt;hello1&lt;/i&gt;&lt;/b&gt;&lt;b&gt;&lt;i&gt;&amp;nbsp;hello2&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;

    &lt;WK&gt;: &gt;&gt;&gt; Writing selection to pasteboard!
    &lt;WK&gt;: &lt;&lt;&lt; done writing selection to pasteboard.
    2019-10-22 09:02:01.502 WebKitTestRunnerApp[2665:49832] PBItemCollectionServicer connection disconnected.
    &lt;WK&gt;: Attempting to paste (paste-and-sanitize-17.html)
    2019-10-22 09:02:01.539 com.apple.WebKit.WebContent.Development[2927:48371] &lt;WK&gt;: Trying 11 type(s)
    2019-10-22 09:02:01.560 com.apple.WebKit.WebContent.Development[2927:48371] &lt;WK&gt;: Successfully read type: Apple Web Archive pasteboard type

    =&gt; PASSED

9.  &lt;i style=&quot;margin: 10px;&quot;&gt;&lt;b&gt;&lt;i style=&quot;margin: 10px;&quot;&gt;hello&lt;/i&gt;&lt;/b&gt;&lt;/i&gt;
    should become:
    &lt;i style=&quot;margin: 10px;&quot;&gt;hello&lt;/i&gt;&lt;/b&gt;&lt;/i&gt;

    &lt;WK&gt;: &gt;&gt;&gt; Writing selection to pasteboard!
    &lt;WK&gt;: &lt;&lt;&lt; done writing selection to pasteboard.
    2019-10-22 09:02:01.643 WebKitTestRunnerApp[2665:49832] PBItemCollectionServicer connection disconnected.
    &lt;WK&gt;: Attempting to paste (paste-and-sanitize-17.html)
    2019-10-22 09:02:01.669 com.apple.WebKit.WebContent.Development[2927:48371] &lt;WK&gt;: Trying 11 type(s)
    2019-10-22 09:02:01.685 com.apple.WebKit.WebContent.Development[2927:48371] &lt;WK&gt;: Successfully read type: Apple Web Archive pasteboard type

    =&gt; PASSED

10. &lt;div&gt;&lt;b&gt;&lt;i&gt;&lt;span style=&quot;font-weight: normal&quot;&gt;&lt;b&gt;&lt;i&gt;Hello &lt;!-- comment --&gt;world&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;
    should become:
    &lt;b&gt;&lt;i&gt;Hello&amp;nbsp;world&lt;/i&gt;&lt;/b&gt;

    &lt;WK&gt;: &gt;&gt;&gt; Writing selection to pasteboard!
    &lt;WK&gt;: &lt;&lt;&lt; done writing selection to pasteboard.
    2019-10-22 09:02:01.766 WebKitTestRunnerApp[2665:48811] PBItemCollectionServicer connection disconnected.
    &lt;WK&gt;: Attempting to paste (paste-and-sanitize-17.html)
    2019-10-22 09:02:01.799 com.apple.WebKit.WebContent.Development[2927:48371] &lt;WK&gt;: Trying 11 type(s)
    2019-10-22 09:02:01.821 com.apple.WebKit.WebContent.Development[2927:48371] &lt;WK&gt;: Successfully read type: Apple Web Archive pasteboard type

    =&gt; PASSED

11. &lt;div&gt;&lt;b&gt;&lt;i&gt;&lt;span style=&quot;font-weight: normal&quot;&gt;plain text&lt;b&gt;&lt;i&gt;bold italic text&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;
    should become:
    &lt;b&gt;&lt;i&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;plain text&lt;b&gt;&lt;i&gt;bold italic text&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;

    &lt;WK&gt;: &gt;&gt;&gt; Writing selection to pasteboard!
    &lt;WK&gt;: &lt;&lt;&lt; done writing selection to pasteboard.
    &lt;WK&gt;: Attempting to paste (paste-and-sanitize-17.html)
    2019-10-22 09:02:01.923 WebKitTestRunnerApp[2665:49792] PBItemCollectionServicer connection disconnected.

    =&gt; FAILED</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1582405</commentid>
    <comment_count>9</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-10-22 09:43:13 -0700</bug_when>
    <thetext>In the cases where the &quot;PBItemCollectionServicer connection disconnected.” message comes after “Attempting to paste (paste-and-sanitize-X.html)”, we will end up failing the test case unless the copied markup in the test case is identical to the final markup, in which case we’ll pass regardless of whether the paste went through (this exception applies to only the first two test cases, “Hello” and “&lt;b&gt;&lt;i&gt;Hello&lt;/i&gt;&lt;/b&gt;”).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1582438</commentid>
    <comment_count>10</comment_count>
      <attachid>381562</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-10-22 10:49:51 -0700</bug_when>
    <thetext>Created attachment 381562
Let&apos;s see if this fixes the test?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1582442</commentid>
    <comment_count>11</comment_count>
      <attachid>381565</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-10-22 10:53:27 -0700</bug_when>
    <thetext>Created attachment 381565
Let&apos;s (actually) see if this fixes the test?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1582586</commentid>
    <comment_count>12</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-10-22 14:31:32 -0700</bug_when>
    <thetext>(In reply to Wenson Hsieh from comment #11)
&gt; Created attachment 381565 [details]
&gt; Let&apos;s (actually) see if this fixes the test?

50/50 passed; looks like this mitigation ought to be sufficient.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1582599</commentid>
    <comment_count>13</comment_count>
      <attachid>381612</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-10-22 14:47:04 -0700</bug_when>
    <thetext>Created attachment 381612
Mitigate the flaky test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1582679</commentid>
    <comment_count>14</comment_count>
      <attachid>381612</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-10-22 17:33:11 -0700</bug_when>
    <thetext>Comment on attachment 381612
Mitigate the flaky test

Clearing flags on attachment: 381612

Committed r251465: &lt;https://trac.webkit.org/changeset/251465&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1582680</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-10-22 17:33:12 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>381428</attachid>
            <date>2019-10-21 12:19:17 -0700</date>
            <delta_ts>2019-10-21 15:22:40 -0700</delta_ts>
            <desc>Attempt #1 to reproduce the failure</desc>
            <filename>bug-203199-20191021121916.patch</filename>
            <type>text/plain</type>
            <size>474993</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUxMzMwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmNiMTdlNzNhMTFlYTIw
MTBlZTI4ZTkyMmRiYTFhNDM1NzFkZDYwNy4uZGQwOTJkYWQ3Y2MwZTc2Y2EwOWM2ZWE2MmYzNzIz
MGYxMjhjYzFlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE5LTEwLTIxICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUuaHRtbCBpcyBhIGZsYWt5IGZhaWx1cmUKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMzE5OQorICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vNTM1NTE3MzY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgSnVzdCBhbiBleHBlcmltZW50OyBvYnZpb3VzbHkgbm90IGlu
dGVuZGVkIGZvciByZXZpZXcuCisKKyAgICAgICAgKiBlZGl0aW5nL0VkaXRvci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpyZXByKToKKyAgICAgICAgKFdlYkNvcmU6OnN0cmluZyk6CisgICAgICAg
IChXZWJDb3JlOjpFZGl0b3I6OnBhc3RlKToKKwogMjAxOS0xMC0yMCAgWmFsYW4gQnVqdGFzICA8
emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtMRkNdW0lGQ10gTWFrZSBJbmxpbmVUZXh0SXRl
bSByZXVzYWJsZSB3aGVuICdzZWdtZW50IGJyZWFrJyBiZWhhdmlvciBjaGFuZ2VzCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL0VkaXRvci5jcHAKaW5kZXggZThiMjQzNjA1MTUxOGRhMzM4MWQyZjU3NTdmYTYxODZl
Njg1M2E3ZC4uNzk5OWE2YWE5ODYwNGFlMTg4ZTk4NzE5MWFmN2MxYjIyMTNmOTg5OSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2VkaXRpbmcvRWRpdG9yLmNwcApAQCAtMTIxLDYgKzEyMSwxNTAgQEAKICNpbmNsdWRlICJT
ZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLmgiCiAjZW5kaWYKIAorI2luY2x1ZGUgPFdlYkNvcmUv
U3BhY2VTcGxpdFN0cmluZy5oPgorI2luY2x1ZGUgPHd0Zi9IZXhOdW1iZXIuaD4KKyNpbmNsdWRl
IDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVy
Lmg+CisjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQ29uY2F0ZW5hdGVOdW1iZXJzLmg+CisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKworX191bnVzZWQgc3RhdGljIFN0cmluZyByZXByKGNvbnN0IFNw
YWNlU3BsaXRTdHJpbmcmIGNsYXNzTmFtZXMpCit7CisgICAgaWYgKGNsYXNzTmFtZXMuaXNFbXB0
eSgpKQorICAgICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKKworICAgIFN0cmluZ0J1aWxkZXIg
YnVmZmVyOworICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBjbGFzc05hbWVzLnNpemUoKTsg
KytpKSB7CisgICAgICAgIGlmIChpKQorICAgICAgICAgICAgYnVmZmVyLmFwcGVuZCgiICIpOwor
ICAgICAgICBidWZmZXIuYXBwZW5kKGNsYXNzTmFtZXNbaV0uc3RyaW5nKCkpOworICAgIH0KKyAg
ICByZXR1cm4gYnVmZmVyLnRvU3RyaW5nKCk7Cit9CisKK19fdW51c2VkIHN0YXRpYyBTdHJpbmcg
c3RyaW5nKGNvbnN0IE5vZGUqIG5vZGUpCit7CisgICAgaWYgKCFub2RlKQorICAgICAgICByZXR1
cm4gIihudWxsKSI7CisgICAgaWYgKG5vZGUtPmlzVGV4dE5vZGUoKSkgeworICAgICAgICBhdXRv
IHRleHQgPSBub2RlLT50ZXh0Q29udGVudCgpOworICAgICAgICBTdHJpbmcgZmlsdGVyZWRUZXh0
OworICAgICAgICBpZiAodGV4dC5sZW5ndGgoKSA+IDEyKQorICAgICAgICAgICAgZmlsdGVyZWRU
ZXh0ID0gdGV4dC5zdWJzdHJpbmcoMCwgMTIpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBm
aWx0ZXJlZFRleHQgPSB0ZXh0OworICAgICAgICBmaWx0ZXJlZFRleHQucmVwbGFjZSgiXG4iLCAi
XFxuIik7CisgICAgICAgIGZpbHRlcmVkVGV4dC5yZXBsYWNlKCJcciIsICJcXHIiKTsKKyAgICAg
ICAgZmlsdGVyZWRUZXh0LnJlcGxhY2UoIlx0IiwgIlxcdCIpOworICAgICAgICBpZiAodGV4dC5s
ZW5ndGgoKSA+IDEyKQorICAgICAgICAgICAgcmV0dXJuIG1ha2VTdHJpbmcoIlwiIl9zLCBmaWx0
ZXJlZFRleHQsICIuLi5cIiJfcywgIiAobGVuZ3RoOiAiX3MsIHRleHQubGVuZ3RoKCksICIpIl9z
KTsKKyAgICAgICAgcmV0dXJuIG1ha2VTdHJpbmcoIlwiIl9zLCBmaWx0ZXJlZFRleHQsICJcIiJf
cyk7CisgICAgfQorICAgIGlmIChub2RlLT5pc0VsZW1lbnROb2RlKCkpIHsKKyAgICAgICAgYXV0
byYgZWxlbWVudCA9IGRvd25jYXN0PEVsZW1lbnQ+KCpub2RlKTsKKyAgICAgICAgaWYgKGVsZW1l
bnQuaXNUZXh0RmllbGQoKSkgeworICAgICAgICAgICAgcmV0dXJuIG1ha2VTdHJpbmcoIjwiX3Ms
IGVsZW1lbnQudGFnTmFtZSgpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAiIGlkPSciX3Ms
IGVsZW1lbnQuZ2V0SWRBdHRyaWJ1dGUoKS5zdHJpbmcoKSwgIiciX3MsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICIgdHlwZT0nIl9zLCBlbGVtZW50LmF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJv
bml6YXRpb24oSFRNTE5hbWVzOjp0eXBlQXR0ciksICInIl9zLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAiIGNsYXNzPSciX3MsIGVsZW1lbnQuaGFzQ2xhc3MoKSA/IHJlcHIoZWxlbWVudC5j
bGFzc05hbWVzKCkpIDogIiIsICInPiJfcyk7CisgICAgICAgIH0KKyAgICAgICAgaWYgKGVsZW1l
bnQuaGFzVGFnTmFtZShIVE1MTmFtZXM6OmFUYWcpKSB7CisgICAgICAgICAgICByZXR1cm4gbWFr
ZVN0cmluZygiPCJfcywgZWxlbWVudC50YWdOYW1lKCksCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICIgaWQ9JyJfcywgZWxlbWVudC5nZXRJZEF0dHJpYnV0ZSgpLnN0cmluZygpLCAiJyJfcywK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgIiBocmVmPSciX3MsIGVsZW1lbnQuYXR0cmlidXRl
V2l0aG91dFN5bmNocm9uaXphdGlvbihIVE1MTmFtZXM6OmhyZWZBdHRyKSwgIiciX3MsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICIgY2xhc3M9JyJfcywgZWxlbWVudC5oYXNDbGFzcygpID8g
cmVwcihlbGVtZW50LmNsYXNzTmFtZXMoKSkgOiAiIiwgIic+Il9zKTsKKyAgICAgICAgfQorICAg
ICAgICBpZiAoZWxlbWVudC5oYXNUYWdOYW1lKEhUTUxOYW1lczo6aW1nVGFnKSkgeworICAgICAg
ICAgICAgcmV0dXJuIG1ha2VTdHJpbmcoIjwiX3MsIGVsZW1lbnQudGFnTmFtZSgpLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAiIGlkPSciX3MsIGVsZW1lbnQuZ2V0SWRBdHRyaWJ1dGUoKS5z
dHJpbmcoKSwgIiciX3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICIgc3JjPSciX3MsIGVs
ZW1lbnQuYXR0cmlidXRlV2l0aG91dFN5bmNocm9uaXphdGlvbihIVE1MTmFtZXM6OnNyY0F0dHIp
LCAiJyJfcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIiBjbGFzcz0nIl9zLCBlbGVtZW50
Lmhhc0NsYXNzKCkgPyByZXByKGVsZW1lbnQuY2xhc3NOYW1lcygpKSA6ICIiLCAiJz4iX3MpOwor
ICAgICAgICB9CisgICAgICAgIHJldHVybiBtYWtlU3RyaW5nKCI8Il9zLCBlbGVtZW50LnRhZ05h
bWUoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIiBpZD0nIl9zLCBlbGVtZW50LmdldElk
QXR0cmlidXRlKCkuc3RyaW5nKCksICInIl9zLAorICAgICAgICAgICAgICAgICAgICAgICAgICAi
IGNsYXNzPSciX3MsIGVsZW1lbnQuaGFzQ2xhc3MoKSA/IHJlcHIoZWxlbWVudC5jbGFzc05hbWVz
KCkpIDogIiIsICInPiJfcyk7CisgICAgfQorICAgIHJldHVybiBtYWtlU3RyaW5nKCJOb2RlKCJf
cywgaGV4KHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90Pihub2RlKSwgOCwgTG93ZXJjYXNlKSwg
IikiX3MpOworfQorCitfX3VudXNlZCBzdGF0aWMgY29uc3QgY2hhciogcmVwcihjb25zdCBOb2Rl
KiBub2RlKQoreworICAgIHJldHVybiBzdHJpbmcobm9kZSkudXRmOCgpLmRhdGEoKTsKK30KKwor
X191bnVzZWQgc3RhdGljIGNvbnN0IGNoYXIqIHJlcHIoYm9vbCBiKQoreworICAgIHJldHVybiBi
ID8gIllFUyIgOiAiTk8iOworfQorCitfX3VudXNlZCBzdGF0aWMgY29uc3QgY2hhciogcmVwcihG
cmFtZSogZnJhbWUpCit7CisgICAgaWYgKCFmcmFtZSkKKyAgICAgICAgcmV0dXJuICIobnVsbCki
OworICAgIGlmIChmcmFtZS0+aXNNYWluRnJhbWUoKSkKKyAgICAgICAgcmV0dXJuIG1ha2VTdHJp
bmcoIjxNYWluRnJhbWUgMHgiX3MsIGhleChyZWludGVycHJldF9jYXN0PHVpbnRwdHJfdD4oZnJh
bWUpLCA4LCBMb3dlcmNhc2UpLCAiPiJfcykudXRmOCgpLmRhdGEoKTsKKyAgICByZXR1cm4gbWFr
ZVN0cmluZygiPEZyYW1lIDB4Il9zLCBoZXgocmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KGZy
YW1lKSwgOCwgTG93ZXJjYXNlKSwgIiBuYW1lPSciX3MsIGZyYW1lLT50cmVlKCkudW5pcXVlTmFt
ZSgpLnN0cmluZygpLCAiJyBvd25lcj0iX3MsIHJlcHIoZnJhbWUtPm93bmVyRWxlbWVudCgpKSwg
Ij4iX3MpLnV0ZjgoKS5kYXRhKCk7Cit9CisKK30KKworI2luY2x1ZGUgPHd0Zi9IZXhOdW1iZXIu
aD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9T
dHJpbmdDb25jYXRlbmF0ZU51bWJlcnMuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitfX3Vu
dXNlZCBzdGF0aWMgY29uc3QgY2hhciogcmVwcihQb3NpdGlvbjo6QW5jaG9yVHlwZSB0eXBlKQor
eworICAgIHN3aXRjaCAodHlwZSkgeworICAgICAgICBjYXNlIFBvc2l0aW9uOjpBbmNob3JUeXBl
OjpQb3NpdGlvbklzQmVmb3JlQ2hpbGRyZW46CisgICAgICAgICAgICByZXR1cm4gIkJlZm9yZUNo
aWxkcmVuIjsKKyAgICAgICAgY2FzZSBQb3NpdGlvbjo6QW5jaG9yVHlwZTo6UG9zaXRpb25Jc0Fm
dGVyQ2hpbGRyZW46CisgICAgICAgICAgICByZXR1cm4gIkFmdGVyQ2hpbGRyZW4iOworICAgICAg
ICBjYXNlIFBvc2l0aW9uOjpBbmNob3JUeXBlOjpQb3NpdGlvbklzT2Zmc2V0SW5BbmNob3I6Cisg
ICAgICAgICAgICByZXR1cm4gIk9mZnNldEluQW5jaG9yIjsKKyAgICAgICAgY2FzZSBQb3NpdGlv
bjo6QW5jaG9yVHlwZTo6UG9zaXRpb25Jc0JlZm9yZUFuY2hvcjoKKyAgICAgICAgICAgIHJldHVy
biAiQmVmb3JlQW5jaG9yIjsKKyAgICAgICAgY2FzZSBQb3NpdGlvbjo6QW5jaG9yVHlwZTo6UG9z
aXRpb25Jc0FmdGVyQW5jaG9yOgorICAgICAgICAgICAgcmV0dXJuICJBZnRlckFuY2hvciI7Cisg
ICAgfQorICAgIHJldHVybiAiIjsKK30KKworX191bnVzZWQgc3RhdGljIFN0cmluZyBzdHJpbmco
Y29uc3QgUG9zaXRpb24mIHApCit7CisgICAgaWYgKHAuYW5jaG9yVHlwZSgpID09IFBvc2l0aW9u
OjpBbmNob3JUeXBlOjpQb3NpdGlvbklzT2Zmc2V0SW5BbmNob3IpCisgICAgICAgIHJldHVybiBt
YWtlU3RyaW5nKHJlcHIocC5hbmNob3JUeXBlKCkpLCAiKCJfcywgc3RyaW5nKHAuYW5jaG9yTm9k
ZSgpKSwgIiwgIl9zLCBwLm9mZnNldEluQ29udGFpbmVyTm9kZSgpLCAiKSJfcyk7CisgICAgcmV0
dXJuIG1ha2VTdHJpbmcocmVwcihwLmFuY2hvclR5cGUoKSksICIoIl9zLCBzdHJpbmcocC5hbmNo
b3JOb2RlKCkpLCAiKSJfcyk7Cit9CisKK19fdW51c2VkIHN0YXRpYyBjb25zdCBjaGFyKiByZXBy
KGNvbnN0IFBvc2l0aW9uJiBwKQoreworICAgIHJldHVybiBzdHJpbmcocCkudXRmOCgpLmRhdGEo
KTsKK30KKworX191bnVzZWQgc3RhdGljIGNvbnN0IGNoYXIqIHJlcHIoY29uc3QgVmlzaWJsZVBv
c2l0aW9uJiBwKQoreworICAgIHJldHVybiBzdHJpbmcocC5kZWVwRXF1aXZhbGVudCgpKS51dGY4
KCkuZGF0YSgpOworfQorCitfX3VudXNlZCBzdGF0aWMgU3RyaW5nIHN0cmluZyhjb25zdCBWaXNp
YmxlU2VsZWN0aW9uJiBzKQoreworICAgIGlmIChzLmlzTm9uZSgpKQorICAgICAgICByZXR1cm4g
InsgTm9uZSB9IjsKKyAgICBpZiAocy5pc0NhcmV0KCkpCisgICAgICAgIHJldHVybiBtYWtlU3Ry
aW5nKCJ7ICJfcywgc3RyaW5nKHMuc3RhcnQoKSksICIgfSJfcyk7CisgICAgcmV0dXJuIG1ha2VT
dHJpbmcoInsgIl9zLCBzdHJpbmcocy5zdGFydCgpKSwgIiwgIl9zLCBzdHJpbmcocy5lbmQoKSks
ICIgfSJfcyk7Cit9CisKK19fdW51c2VkIHN0YXRpYyBjb25zdCBjaGFyKiByZXByKGNvbnN0IFZp
c2libGVTZWxlY3Rpb24mIHMpCit7CisgICAgcmV0dXJuIHN0cmluZyhzKS51dGY4KCkuZGF0YSgp
OworfQorCit9CisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogc3RhdGljIGJvb2wgZGlzcGF0Y2hC
ZWZvcmVJbnB1dEV2ZW50KEVsZW1lbnQmIGVsZW1lbnQsIGNvbnN0IEF0b21TdHJpbmcmIGlucHV0
VHlwZSwgY29uc3QgU3RyaW5nJiBkYXRhID0geyB9LCBSZWZQdHI8RGF0YVRyYW5zZmVyPiYmIGRh
dGFUcmFuc2ZlciA9IG51bGxwdHIsIGNvbnN0IFZlY3RvcjxSZWZQdHI8U3RhdGljUmFuZ2U+PiYg
dGFyZ2V0UmFuZ2VzID0geyB9LCBFdmVudDo6SXNDYW5jZWxhYmxlIGNhbmNlbGFibGUgPSBFdmVu
dDo6SXNDYW5jZWxhYmxlOjpZZXMpCkBAIC0xNDMwLDE2ICsxNTc0LDMwIEBAIHZvaWQgRWRpdG9y
OjpwYXN0ZSgpCiAKIHZvaWQgRWRpdG9yOjpwYXN0ZShQYXN0ZWJvYXJkJiBwYXN0ZWJvYXJkKQog
ewotICAgIGlmICghZGlzcGF0Y2hDbGlwYm9hcmRFdmVudChmaW5kRXZlbnRUYXJnZXRGcm9tU2Vs
ZWN0aW9uKCksIENsaXBib2FyZEV2ZW50S2luZDo6UGFzdGUpKQorICAgIGlmIChtX2ZyYW1lLmRv
Y3VtZW50KCkpIHsKKyAgICAgICAgV1RGTG9nQWx3YXlzKCI8V0s+OiBBdHRlbXB0aW5nIHRvIHBh
c3RlICglcykiLCBtX2ZyYW1lLmRvY3VtZW50KCktPnVybCgpLmxhc3RQYXRoQ29tcG9uZW50KCku
dXRmOCgpLmRhdGEoKSk7CisgICAgICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogVGhlIHNlbGVjdGlv
biBpczogJXMiLCByZXByKG1fZnJhbWUuc2VsZWN0aW9uKCkuc2VsZWN0aW9uKCkpKTsKKyAgICB9
CisKKyAgICBpZiAoIWRpc3BhdGNoQ2xpcGJvYXJkRXZlbnQoZmluZEV2ZW50VGFyZ2V0RnJvbVNl
bGVjdGlvbigpLCBDbGlwYm9hcmRFdmVudEtpbmQ6OlBhc3RlKSkgeworICAgICAgICBXVEZMb2dB
bHdheXMoIjxXSz46IFNjcmlwdCBoYW5kbGVkIHRoZSBwYXN0ZS4iKTsKICAgICAgICAgcmV0dXJu
OyAvLyBESFRNTCBkaWQgdGhlIHdob2xlIG9wZXJhdGlvbgotICAgIGlmICghY2FuUGFzdGUoKSkK
KyAgICB9CisKKyAgICBpZiAoIWNhblBhc3RlKCkpIHsKKyAgICAgICAgV1RGTG9nQWx3YXlzKCI8
V0s+OiBGYWlsZWQgdG8gcGFzdGUuIik7CiAgICAgICAgIHJldHVybjsKKyAgICB9CiAgICAgdXBk
YXRlTWFya2Vyc0ZvcldvcmRzQWZmZWN0ZWRCeUVkaXRpbmcoZmFsc2UpOwogICAgIFJlc291cmNl
Q2FjaGVWYWxpZGF0aW9uU3VwcHJlc3NvciB2YWxpZGF0aW9uU3VwcHJlc3Nvcihkb2N1bWVudCgp
LmNhY2hlZFJlc291cmNlTG9hZGVyKCkpOwotICAgIGlmIChtX2ZyYW1lLnNlbGVjdGlvbigpLnNl
bGVjdGlvbigpLmlzQ29udGVudFJpY2hseUVkaXRhYmxlKCkpCisgICAgaWYgKG1fZnJhbWUuc2Vs
ZWN0aW9uKCkuc2VsZWN0aW9uKCkuaXNDb250ZW50UmljaGx5RWRpdGFibGUoKSkgeworICAgICAg
ICBXVEZMb2dBbHdheXMoIjxXSz46IFBhc3RpbmcgYXMgcmljaCB0ZXh0LiIpOwogICAgICAgICBw
YXN0ZVdpdGhQYXN0ZWJvYXJkKCZwYXN0ZWJvYXJkLCB7IFBhc3RlT3B0aW9uOjpBbGxvd1BsYWlu
VGV4dCB9KTsKLSAgICBlbHNlCisgICAgfSBlbHNlIHsKKyAgICAgICAgV1RGTG9nQWx3YXlzKCI8
V0s+OiBQYXN0aW5nIGFzIHBsYWluIHRleHQuIik7CiAgICAgICAgIHBhc3RlQXNQbGFpblRleHRX
aXRoUGFzdGVib2FyZChwYXN0ZWJvYXJkKTsKKyAgICB9CisgICAgV1RGTG9nQWx3YXlzKCI8V0s+
OiAiKTsKIH0KIAogdm9pZCBFZGl0b3I6OnBhc3RlQXNQbGFpblRleHQoKQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDg4ZDU4
OTBjYzQ4MDcxZDRlMTBmY2M3Zjc1Yjc1YmFjMGFkMmNiZTIuLmFjYTQyZjUyNTY4MzllZTAyYmY4
NTc5OWUzNzFiZWQxYjEzN2Q0ZDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZwor
KysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMTQgQEAKKzIwMTktMTAtMjEg
IFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS5odG1sIGlzIGEgZmxha3kgZmFpbHVyZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAzMTk5Cisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS81MzU1MTczNj4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBKdXN0IGFuIGV4cGVyaW1lbnQ7IG9idmlvdXNseSBu
b3QgaW50ZW5kZWQgZm9yIHJldmlldy4KKworICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS1hbmQtc2FuaXRpemUtMS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMS5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTEwLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0x
MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNh
bml0aXplLTEwMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMTAwLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTExLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUt
MTItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtYW5kLXNhbml0aXplLTEyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMTMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTEzLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMTQtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNh
bml0aXplLTE0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS1hbmQtc2FuaXRpemUtMTUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTE1Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMTYtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTE2
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2Fu
aXRpemUtMTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtYW5kLXNhbml0aXplLTE3Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMTgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTE4Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMTkt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
YW5kLXNhbml0aXplLTE5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS1hbmQtc2FuaXRpemUtMi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMi5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTIwLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6
ZS0yMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5k
LXNhbml0aXplLTIxLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0yMS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTIyLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0yMi5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXpl
LTIzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLWFuZC1zYW5pdGl6ZS0yMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTI0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0yNC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTI1LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1z
YW5pdGl6ZS0yNS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtYW5kLXNhbml0aXplLTI2LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0yNi5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTI3LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0y
Ny5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNh
bml0aXplLTI4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0yOC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTI5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0yOS5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTMt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
YW5kLXNhbml0aXplLTMuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLWFuZC1zYW5pdGl6ZS0zMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMzAuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0zMS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRp
emUtMzEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFu
ZC1zYW5pdGl6ZS0zMi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMzIuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0zMy1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMzMuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6
ZS0zNC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS1hbmQtc2FuaXRpemUtMzQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0zNS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMzUuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0zNi1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQt
c2FuaXRpemUtMzYuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLWFuZC1zYW5pdGl6ZS0zNy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMzcuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0zOC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUt
MzguaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1z
YW5pdGl6ZS0zOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMzkuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS00LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS00Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNDAt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
YW5kLXNhbml0aXplLTQwLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS1hbmQtc2FuaXRpemUtNDEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTQxLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNDItZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0
aXplLTQyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1h
bmQtc2FuaXRpemUtNDMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTQzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNDQtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTQ0Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRp
emUtNDUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtYW5kLXNhbml0aXplLTQ1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNDYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTQ2Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNDctZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5k
LXNhbml0aXplLTQ3Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS1hbmQtc2FuaXRpemUtNDgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTQ4Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNDktZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXpl
LTQ5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQt
c2FuaXRpemUtNS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTUwLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS01MC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTUx
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LWFuZC1zYW5pdGl6ZS01MS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtYW5kLXNhbml0aXplLTUyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS01Mi5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTUzLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5p
dGl6ZS01My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
YW5kLXNhbml0aXplLTU0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS01NC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTU1LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS01NS5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0
aXplLTU2LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLWFuZC1zYW5pdGl6ZS01Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTU3LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS01Ny5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTU4LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFu
ZC1zYW5pdGl6ZS01OC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtYW5kLXNhbml0aXplLTU5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS01OS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTYtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXpl
LTYuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1z
YW5pdGl6ZS02MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNjAuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS02MS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNjEuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS02
Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS1hbmQtc2FuaXRpemUtNjIuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS02My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNjMuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS02NC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2Fu
aXRpemUtNjQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LWFuZC1zYW5pdGl6ZS02NS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNjUuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS02Ni1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNjYu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5p
dGl6ZS02Ny1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS1hbmQtc2FuaXRpemUtNjcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS02OC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNjguaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS02OS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1h
bmQtc2FuaXRpemUtNjkuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLWFuZC1zYW5pdGl6ZS03LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS03Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNzAtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXpl
LTcwLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQt
c2FuaXRpemUtNzEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTcxLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNzItZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTcyLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUt
NzMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtYW5kLXNhbml0aXplLTczLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNzQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTc0Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNzUtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNh
bml0aXplLTc1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS1hbmQtc2FuaXRpemUtNzYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTc2Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNzctZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTc3
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2Fu
aXRpemUtNzgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtYW5kLXNhbml0aXplLTc4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNzktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTc5Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtOC1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1h
bmQtc2FuaXRpemUtOC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtYW5kLXNhbml0aXplLTgwLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS04MC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTgxLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6
ZS04MS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5k
LXNhbml0aXplLTgyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS04Mi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTgzLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS04My5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXpl
LTg0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLWFuZC1zYW5pdGl6ZS04NC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTg1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS04NS5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTg2LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1z
YW5pdGl6ZS04Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtYW5kLXNhbml0aXplLTg3LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS04Ny5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTg4LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS04
OC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNh
bml0aXplLTg5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS04OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTkuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS05MC1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1h
bmQtc2FuaXRpemUtOTAuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLWFuZC1zYW5pdGl6ZS05MS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtOTEuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS05Mi1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRp
emUtOTIuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFu
ZC1zYW5pdGl6ZS05My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtOTMuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS05NC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtOTQuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6
ZS05NS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS1hbmQtc2FuaXRpemUtOTUuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS05Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtOTYuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS05Ny1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQt
c2FuaXRpemUtOTcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLWFuZC1zYW5pdGl6ZS05OC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtOTguaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS05OS1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUt
OTkuaHRtbDogQWRkZWQuCisKIDIwMTktMTAtMTkgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtp
dC5vcmc+CiAKICAgICAgICAgRmxha3kgVGVzdDogZmFzdC9ldmVudHMvcmVzaXplLXN1YmZyYW1l
LWluLXJlbmRlcmluZy11cGRhdGUuaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0xLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uYWY4OWRjZjg4ODQ3YWFiNGI4OTJhMDA3ZDJkZTMyYzA5Njk4MWViNAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQt
c2FuaXRpemUtMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNyBAQAorVGhpcyB0ZXN0IGNoZWNr
cyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byBy
ZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBz
dHlsZS4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8aSBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IZWxs
bzwvaT4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGI+SGVsbG88L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWln
aHQ6IG5vcm1hbDsiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwv
Yj48L3NwYW4+PC9pPjwvYj4nCitGQUlMIGNvbmZpcm1lZE1hcmt1cCBzaG91bGQgYmUgPGkgc3R5
bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LiBXYXMgPGkgc3R5bGU9Im1hcmdp
bjogMTBweDsiPjxiPjxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4K
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0
OiBub3JtYWw7Ij5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFu
PjwvaT48L2I+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1h
bmQtc2FuaXRpemUtMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LWFuZC1zYW5pdGl6ZS0xLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzYzY2RkZWE2NjMyODA5NDdkMGQxYmY1
YjYxZWI4OGI1ODVmY2M4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMS5odG1sCkBAIC0wLDAgKzEsNTYgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJl
ZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0
eWxlLiA8L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwg
PSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5j
dGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUg
PSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOwor
fQorCitmdW5jdGlvbiB0ZXN0UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdFBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2
IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxc
Ij48Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxv
PC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj48ZGl2PkhlbGxvPC9kaXY+
PC9kaXY+PC9kaXY+IiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxkaXY+
PGk+SGVsbG88L2k+PC9kaXY+PC9iPjwvZGl2PiIsICI8aSBzdHlsZT1cImZvbnQtd2VpZ2h0OiBi
b2xkO1wiPkhlbGxvPC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PiIpOwordGVzdFBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT48c3Bh
biBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT53b3JsZDwvaT48L2I+PC9zcGFu
PjwvaT48L2I+PC9kaXY+IiwgCisgICAgICAgICAgIjxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVs
bG8xPC9pPjwvYj48Yj48aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAi
PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwv
aT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKK3Rlc3RQ
YXN0ZSgiZGl2IiwgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPjxiPjxpIHN0eWxlPVwibWFy
Z2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+IiwKKyAgICAgICAgICAiPGkgc3R5bGU9XCJt
YXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxk
aXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG8g
PCEtLSBjb21tZW50IC0tPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+
PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPnBsYWluIHRleHQ8Yj48aT5i
b2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNw
YW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0
YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5
ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMTAtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6
ZS0xMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWY4OWRjZjg4ODQ3YWFiNGI4OTJhMDA3ZDJk
ZTMyYzA5Njk4MWViNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTcg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBw
YXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRo
b3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGkgc3R5bGU9ImZvbnQt
d2VpZ2h0OiBib2xkOyI+SGVsbG88L2k+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxiPkhlbGxvPC9iPjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNw
YW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxp
PiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworRkFJTCBjb25maXJtZWRNYXJr
dXAgc2hvdWxkIGJlIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4g
V2FzIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij48Yj48aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+
aGVsbG88L2k+PC9iPjwvaT4uCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG8m
bmJzcDt3b3JsZDwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFu
IHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGlj
IHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTEwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTEwLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzYz
Y2RkZWE2NjMyODA5NDdkMGQxYmY1YjYxZWI4OGI1ODVmY2M4NwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMTAuaHRt
bApAQCAtMCwwICsxLDU2IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBI
VE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlw
dGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhl
IHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdp
dGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4gPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdFBhc3RlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwLCBleHBlY3RlZCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisK
KyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIs
IGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJr
dXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK3Rlc3RQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8Yj48aT5IZWxsbzwvaT48L2I+IiwgIjxiPjxpPkhl
bGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9
XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9i
PjwvZGl2PiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIpOwordGVzdFBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48ZGl2PjxpPkhlbGxvPC9pPjwvZGl2PjwvYj48L2Rpdj4iLCAiPGkg
c3R5bGU9XCJmb250LXdlaWdodDogYm9sZDtcIj5IZWxsbzwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxs
bzwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9
XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsIAorICAgICAgICAgICI8ZGl2
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
KTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdo
dDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+IGhlbGxvMjwvaT48L2I+PC9z
cGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5v
cm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9z
cGFuPjwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8aSBzdHlsZT1cIm1hcmdpbjogMTBw
eDtcIj48Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIsCisg
ICAgICAgICAgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+Iik7
Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6
IG5vcm1hbFwiPjxiPjxpPkhlbGxvIDwhLS0gY29tbWVudCAtLT53b3JsZDwvaT48L2I+PC9zcGFu
PjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPiIpOwordGVz
dFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3Jt
YWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48
L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5w
bGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
YW5kLXNhbml0aXplLTEwMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTEwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWY4
OWRjZjg4ODQ3YWFiNGI4OTJhMDA3ZDJkZTMyYzA5Njk4MWViNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMTAwLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBh
c3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVy
Ym9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+
PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwv
aT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxpIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhlbGxvPC9pPicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48Yj5I
ZWxsbzwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5oZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+
PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+
PC9iPicKK0ZBSUwgY29uZmlybWVkTWFya3VwIHNob3VsZCBiZSA8aSBzdHlsZT0ibWFyZ2luOiAx
MHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uIFdhcyA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+PGI+
PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LgorUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPnBs
YWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0x
MDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRp
emUtMTAwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzYzY2RkZWE2NjMyODA5NDdkMGQxYmY1YjYxZWI4OGI1
ODVmY2M4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS1hbmQtc2FuaXRpemUtMTAwLmh0bWwKQEAgLTAsMCArMSw1NiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0
aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRo
ZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuIDwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsKKyAg
ICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAg
ICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwg
ZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBz
aG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCit0
ZXN0UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGI+
PGk+SGVsbG88L2k+PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxp
PkhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG88L2k+PC9i
PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PjxkaXY+SGVsbG88L2Rpdj48L2Rpdj48
L2Rpdj4iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxs
bzwvaT48L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+
SGVsbG88L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPjxzcGFuIHN0eWxl
PVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwv
Yj48L2Rpdj4iLCAKKyAgICAgICAgICAiPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+
PC9iPjxiPjxpPiBoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48
c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48
Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOwordGVzdFBhc3RlKCJk
aXYiLCAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+PGI+PGkgc3R5bGU9XCJtYXJnaW46IDEw
cHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iLAorICAgICAgICAgICI8aSBzdHlsZT1cIm1hcmdpbjog
MTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbyA8IS0tIGNv
bW1lbnQgLS0+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxs
byZuYnNwO3dvcmxkPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNw
YW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRh
bGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHls
ZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRl
eHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0xMS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTExLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZjg5ZGNmODg4NDdhYWI0Yjg5MmEwMDdkMmRlMzJjMDk2
OTgxZWI0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLWFuZC1zYW5pdGl6ZS0xMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNyBAQAorVGhp
cyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBm
cmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZm
ZWN0aW5nIHRoZSBzdHlsZS4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8aSBzdHlsZT0iZm9udC13ZWlnaHQ6
IGJvbGQ7Ij5IZWxsbzwvaT4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGI+SGVsbG88L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHls
ZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7
aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitGQUlMIGNvbmZpcm1lZE1hcmt1cCBzaG91
bGQgYmUgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LiBXYXMgPGkg
c3R5bGU9Im1hcmdpbjogMTBweDsiPjxiPjxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwv
aT48L2I+PC9pPi4KK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbyZuYnNwO3dv
cmxkPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9
ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwv
aT48L2I+PC9zcGFuPjwvaT48L2I+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNjNjZGRlYTY2
MzI4MDk0N2QwZDFiZjViNjFlYjg4YjU4NWZjYzg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0xMS5odG1sCkBAIC0w
LDAgKzEsNTYgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVk
IGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBh
ZmZlY3RpbmcgdGhlIHN0eWxlLiA8L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3Jp
cHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChy
b290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAg
ICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5j
b250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAg
IHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdFBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iKTsK
K3Rlc3RQYXN0ZSgiZGl2IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iLCAiPGI+PGk+SGVsbG88L2k+
PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQt
d2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+
IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj48
ZGl2PkhlbGxvPC9kaXY+PC9kaXY+PC9kaXY+IiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxkaXY+PGk+SGVsbG88L2k+PC9kaXY+PC9iPjwvZGl2PiIsICI8aSBzdHlsZT1c
ImZvbnQtd2VpZ2h0OiBib2xkO1wiPkhlbGxvPC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRp
dj48ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwv
ZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQt
d2VpZ2h0OiBub3JtYWxcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgCisgICAgICAgICAgIjxkaXY+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIpOwordGVz
dFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3Jt
YWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+PC9p
PjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wi
PjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9p
PjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPjxi
PjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+IiwKKyAgICAgICAg
ICAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iKTsKK3Rlc3RQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFs
XCI+PGI+PGk+SGVsbG8gPCEtLSBjb21tZW50IC0tPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwv
Yj48L2Rpdj4iLCAiPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7Cit0ZXN0UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPnBs
YWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rp
dj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPnBsYWluIHRl
eHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKKworcm9v
dC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2Fu
aXRpemUtMTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLWFuZC1zYW5pdGl6ZS0xMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWY4OWRjZjg4ODQ3
YWFiNGI4OTJhMDA3ZDJkZTMyYzA5Njk4MWViNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMTItZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTcgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0
aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2Yg
dGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwv
aT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGkgc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SGVsbG88L2k+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxiPkhlbGxvPC9iPjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij48Yj48aT5oZWxs
bzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworRkFJ
TCBjb25maXJtZWRNYXJrdXAgc2hvdWxkIGJlIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxs
bzwvaT48L2I+PC9pPi4gV2FzIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij48Yj48aSBzdHlsZT0i
bWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+cGxhaW4gdGV4dDxi
PjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTEyLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTEyLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMzYzY2RkZWE2NjMyODA5NDdkMGQxYmY1YjYxZWI4OGI1ODVmY2M4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQt
c2FuaXRpemUtMTIuaHRtbApAQCAtMCwwICsxLDU2IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMg
Ii0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVy
YXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBv
ZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4gPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdFBh
c3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCkgeworICAgIHZhciBub2RlID0g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIHJvb3QuYXBwZW5k
Q2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIs
IGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAg
ICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK3Rlc3RQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8Yj48aT5IZWxsbzwvaT48
L2I+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+
PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG88L2k+PC9i
Pjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxs
byIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48ZGl2PjxpPkhlbGxvPC9pPjwvZGl2Pjwv
Yj48L2Rpdj4iLCAiPGkgc3R5bGU9XCJmb250LXdlaWdodDogYm9sZDtcIj5IZWxsbzwvaT4iKTsK
K3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48Yj5IZWxsbzwvYj48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+
PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+PC9i
Pjwvc3Bhbj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdo
dDogbm9ybWFsXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsIAor
ICAgICAgICAgICI8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5
bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+IGhl
bGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwi
Zm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hl
bGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8aSBzdHls
ZT1cIm1hcmdpbjogMTBweDtcIj48Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwv
aT48L2I+PC9pPiIsCisgICAgICAgICAgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxv
PC9pPjwvYj48L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxl
PVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvIDwhLS0gY29tbWVudCAtLT53b3Js
ZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8
L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZv
bnQtd2VpZ2h0OiBub3JtYWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48
L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWln
aHQ6IG5vcm1hbDtcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9z
cGFuPjwvaT48L2I+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTEzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMTMtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmFmODlkY2Y4ODg0N2FhYjRiODkyYTAwN2QyZGUzMmMwOTY5ODFlYjQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNh
bml0aXplLTEzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJl
ZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0
eWxlLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxpIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhlbGxv
PC9pPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBj
ZW50ZXI7Ij48Yj5IZWxsbzwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdo
dDogbm9ybWFsOyI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9i
Pjwvc3Bhbj48L2k+PC9iPicKK0ZBSUwgY29uZmlybWVkTWFya3VwIHNob3VsZCBiZSA8aSBzdHls
ZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uIFdhcyA8aSBzdHlsZT0ibWFyZ2lu
OiAxMHB4OyI+PGI+PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+Lgor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6
IG5vcm1hbDsiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+
PC9pPjwvYj4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFu
ZC1zYW5pdGl6ZS0xMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LWFuZC1zYW5pdGl6ZS0xMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2M2NkZGVhNjYzMjgwOTQ3ZDBkMWJm
NWI2MWViODhiNTg1ZmNjODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTEzLmh0bWwKQEAgLTAsMCArMSw1NiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8g
cmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUg
c3R5bGUuIDwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFy
a3VwKTsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7
CisKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIp
OworfQorCit0ZXN0UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJk
aXYiLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1h
bFwiPjxiPjxpPkhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVs
bG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PjxkaXY+SGVsbG88L2Rp
dj48L2Rpdj48L2Rpdj4iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGRp
dj48aT5IZWxsbzwvaT48L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9udC13ZWlnaHQ6
IGJvbGQ7XCI+SGVsbG88L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+PC9kaXY+IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+Iik7Cit0ZXN0
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1h
bFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPjxz
cGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L3Nw
YW4+PC9pPjwvYj48L2Rpdj4iLCAKKyAgICAgICAgICAiPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5o
ZWxsbzE8L2k+PC9iPjxiPjxpPiBoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIs
ICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8x
PC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOwordGVz
dFBhc3RlKCJkaXYiLCAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+PGI+PGkgc3R5bGU9XCJt
YXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iLAorICAgICAgICAgICI8aSBzdHlsZT1c
Im1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxs
byA8IS0tIGNvbW1lbnQgLS0+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8
Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+
PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+cGxhaW4gdGV4dDxiPjxp
PmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48
c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQg
aXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0xNC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0
aXplLTE0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZjg5ZGNmODg4NDdhYWI0Yjg5MmEwMDdk
MmRlMzJjMDk2OTgxZWI0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0xNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
NyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhl
IHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdp
dGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hl
bGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8aSBzdHlsZT0iZm9u
dC13ZWlnaHQ6IGJvbGQ7Ij5IZWxsbzwvaT4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGI+SGVsbG88L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48
c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+
PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitGQUlMIGNvbmZpcm1lZE1h
cmt1cCBzaG91bGQgYmUgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+
LiBXYXMgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPjxiPjxpIHN0eWxlPSJtYXJnaW46IDEwcHg7
Ij5oZWxsbzwvaT48L2I+PC9pPi4KK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxs
byZuYnNwO3dvcmxkPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNw
YW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFs
aWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMTQuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMTQuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4z
NjNjZGRlYTY2MzI4MDk0N2QwZDFiZjViNjFlYjg4YjU4NWZjYzg3Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0xNC5o
dG1sCkBAIC0wLDAgKzEsNTYgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0
aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAg
d2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLiA8L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciBy
b290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBl
bmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJr
dXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7Cisg
ICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFy
a3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdFBhc3RlKCJkaXYiLCAiSGVsbG8iLCAi
SGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iLCAiPGI+PGk+
SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHls
ZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48
L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj48ZGl2PkhlbGxvPC9kaXY+PC9kaXY+PC9kaXY+IiwgIkhlbGxvIik7Cit0ZXN0UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxkaXY+PGk+SGVsbG88L2k+PC9kaXY+PC9iPjwvZGl2PiIsICI8
aSBzdHlsZT1cImZvbnQtd2VpZ2h0OiBib2xkO1wiPkhlbGxvPC9pPiIpOwordGVzdFBhc3RlKCJk
aXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9i
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhl
bGxvPC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHls
ZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgCisgICAgICAgICAgIjxk
aXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2Vp
Z2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4gaGVsbG8yPC9pPjwvYj48
L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDog
bm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48
L3NwYW4+PC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxpIHN0eWxlPVwibWFyZ2luOiAx
MHB4O1wiPjxiPjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+IiwK
KyAgICAgICAgICAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4i
KTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdo
dDogbm9ybWFsXCI+PGI+PGk+SGVsbG8gPCEtLSBjb21tZW50IC0tPndvcmxkPC9pPjwvYj48L3Nw
YW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7Cit0
ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5v
cm1hbFwiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9p
PjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wi
PnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4i
KTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS1hbmQtc2FuaXRpemUtMTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0xNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWY4
OWRjZjg4ODQ3YWFiNGI4OTJhMDA3ZDJkZTMyYzA5Njk4MWViNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMTUtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTcgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFz
dGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJi
b3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48
aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9p
PjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGkgc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SGVsbG88L2k+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxiPkhl
bGxvPC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPmhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij48
Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48
L2I+JworRkFJTCBjb25maXJtZWRNYXJrdXAgc2hvdWxkIGJlIDxpIHN0eWxlPSJtYXJnaW46IDEw
cHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4gV2FzIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij48Yj48
aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+cGxh
aW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTE1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXpl
LTE1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMzYzY2RkZWE2NjMyODA5NDdkMGQxYmY1YjYxZWI4OGI1ODVm
Y2M4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS1hbmQtc2FuaXRpemUtMTUuaHRtbApAQCAtMCwwICsxLDU2IEBACis8IURPQ1RZUEUgSFRN
TCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBw
YXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZl
cmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4gPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdFBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCkgeworICAgIHZh
ciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIHJv
b3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxz
ZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK3Rlc3RQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8Yj48aT5I
ZWxsbzwvaT48L2I+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVs
bG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7
Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2
PiIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48ZGl2PjxpPkhlbGxvPC9p
PjwvZGl2PjwvYj48L2Rpdj4iLCAiPGkgc3R5bGU9XCJmb250LXdlaWdodDogYm9sZDtcIj5IZWxs
bzwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJm
b250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwv
ZGl2PiIsIAorICAgICAgICAgICI8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+
PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+
PGI+PGk+IGhlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFu
IHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxp
PiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIs
ICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj48Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBweDtc
Ij5oZWxsbzwvaT48L2I+PC9pPiIsCisgICAgICAgICAgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4
O1wiPmhlbGxvPC9pPjwvYj48L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxz
cGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvIDwhLS0gY29tbWVu
dCAtLT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvJm5i
c3A7d29ybGQ8L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBz
dHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMg
dGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwi
Zm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwv
aT48L2I+PC9zcGFuPjwvaT48L2I+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTE2LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMTYtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmFmODlkY2Y4ODg0N2FhYjRiODkyYTAwN2QyZGUzMmMwOTY5ODFl
YjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtYW5kLXNhbml0aXplLTE2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdt
ZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3Rp
bmcgdGhlIHN0eWxlLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hl
bGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxpIHN0eWxlPSJmb250LXdlaWdodDogYm9s
ZDsiPkhlbGxvPC9pPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0
LWFsaWduOiBjZW50ZXI7Ij48Yj5IZWxsbzwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJm
b250LXdlaWdodDogbm9ybWFsOyI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxs
bzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK0ZBSUwgY29uZmlybWVkTWFya3VwIHNob3VsZCBi
ZSA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uIFdhcyA8aSBzdHls
ZT0ibWFyZ2luOiAxMHB4OyI+PGI+PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwv
Yj48L2k+LgorUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8
L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9u
dC13ZWlnaHQ6IG5vcm1hbDsiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwv
Yj48L3NwYW4+PC9pPjwvYj4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLWFuZC1zYW5pdGl6ZS0xNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0xNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2M2NkZGVhNjYzMjgw
OTQ3ZDBkMWJmNWI2MWViODhiNTg1ZmNjODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTE2Lmh0bWwKQEAgLTAsMCAr
MSw1NiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJh
Z21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVj
dGluZyB0aGUgc3R5bGUuIDwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwKTsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5m
b2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5p
bm5lckhUTUw7CisKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0
ZWQgKyAiJyIpOworfQorCit0ZXN0UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIpOwordGVz
dFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48L2I+
Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWln
aHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAi
PGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PjxkaXY+
SGVsbG88L2Rpdj48L2Rpdj48L2Rpdj4iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxk
aXY+PGI+PGRpdj48aT5IZWxsbzwvaT48L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9u
dC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+PC9kaXY+
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+
Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWln
aHQ6IG5vcm1hbFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAKKyAgICAgICAgICAiPGRpdj48Yj48aT5oZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtc
Ij48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiBoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9i
PjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+
PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9i
PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+PGI+PGkg
c3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iLAorICAgICAgICAgICI8
aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIpOwordGVzdFBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48
Yj48aT5IZWxsbyA8IS0tIGNvbW1lbnQgLS0+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwv
ZGl2PiIsICI8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2
IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+cGxhaW4g
dGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIs
ICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+cGxhaW4gdGV4dDxi
PjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6
ZS0xNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
YW5kLXNhbml0aXplLTE3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZjg5ZGNmODg4NDdhYWI0
Yjg5MmEwMDdkMmRlMzJjMDk2OTgxZWI0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0xNy1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxNyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24g
dHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUg
bWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4KKworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwv
Yj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8aSBz
dHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IZWxsbzwvaT4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGI+SGVsbG88L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPjxiPjxpPmhlbGxvMTwv
aT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitGQUlMIGNv
bmZpcm1lZE1hcmt1cCBzaG91bGQgYmUgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9p
PjwvYj48L2k+LiBXYXMgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPjxiPjxpIHN0eWxlPSJtYXJn
aW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4KK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij5wbGFpbiB0ZXh0PGI+PGk+
Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMTcuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMTcuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4zNjNjZGRlYTY2MzI4MDk0N2QwZDFiZjViNjFlYjg4YjU4NWZjYzg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5p
dGl6ZS0xNy5odG1sCkBAIC0wLDAgKzEsNTYgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlv
biB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRo
ZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLiA8L3A+Cis8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24o
KTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFn
TmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJI
VE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdFBhc3RlKCJkaXYiLCAi
SGVsbG8iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4i
LCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48
c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbzwvaT48L2I+PC9z
cGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj48ZGl2PkhlbGxvPC9kaXY+PC9kaXY+PC9kaXY+IiwgIkhlbGxvIik7
Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxkaXY+PGk+SGVsbG88L2k+PC9kaXY+PC9iPjwv
ZGl2PiIsICI8aSBzdHlsZT1cImZvbnQtd2VpZ2h0OiBib2xkO1wiPkhlbGxvPC9pPiIpOwordGVz
dFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxi
PkhlbGxvPC9iPjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxiPkhlbGxvPC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48
c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9z
cGFuPjwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBu
b3JtYWxcIj48Yj48aT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgCisgICAg
ICAgICAgIjxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1c
ImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4gaGVsbG8y
PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250
LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8y
PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxpIHN0eWxlPVwi
bWFyZ2luOiAxMHB4O1wiPjxiPjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwv
Yj48L2k+IiwKKyAgICAgICAgICAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+
PC9iPjwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJm
b250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG8gPCEtLSBjb21tZW50IC0tPndvcmxkPC9p
PjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48
L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13
ZWlnaHQ6IG5vcm1hbFwiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48
L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDog
bm9ybWFsO1wiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+
PC9pPjwvYj4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0xOC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYWY4OWRjZjg4ODQ3YWFiNGI4OTJhMDA3ZDJkZTMyYzA5Njk4MWViNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRp
emUtMTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTcgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNl
IHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxp
PkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGkgc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SGVsbG88L2k+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxiPkhlbGxvPC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBu
b3JtYWw7Ij48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9z
cGFuPjwvaT48L2I+JworRkFJTCBjb25maXJtZWRNYXJrdXAgc2hvdWxkIGJlIDxpIHN0eWxlPSJt
YXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4gV2FzIDxpIHN0eWxlPSJtYXJnaW46IDEw
cHg7Ij48Yj48aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9y
bWFsOyI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+
PC9iPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNh
bml0aXplLTE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5k
LXNhbml0aXplLTE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzYzY2RkZWE2NjMyODA5NDdkMGQxYmY1YjYx
ZWI4OGI1ODVmY2M4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMTguaHRtbApAQCAtMCwwICsxLDU2IEBACis8IURP
Q1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0
aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1
Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHls
ZS4gPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdFBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCkg
eworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAp
OworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFz
dGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK3Rlc3RQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIs
ICI8Yj48aT5IZWxsbzwvaT48L2I+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0
ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+
PGI+PGk+SGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbzwv
aT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjwv
ZGl2PjwvZGl2PiIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48ZGl2Pjxp
PkhlbGxvPC9pPjwvZGl2PjwvYj48L2Rpdj4iLCAiPGkgc3R5bGU9XCJmb250LXdlaWdodDogYm9s
ZDtcIj5IZWxsbzwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0
ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4g
c3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48
L2k+PC9iPjwvZGl2PiIsIAorICAgICAgICAgICI8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxk
aXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxv
MTwvaT48L2I+PGI+PGk+IGhlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxi
PjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+
PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7Cit0ZXN0UGFz
dGUoImRpdiIsICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj48Yj48aSBzdHlsZT1cIm1hcmdp
bjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIsCisgICAgICAgICAgIjxpIHN0eWxlPVwibWFy
Z2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvIDwh
LS0gY29tbWVudCAtLT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxp
PkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9s
ZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFu
IHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFs
aWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTE5LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUt
MTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmODlkY2Y4ODg0N2FhYjRiODkyYTAwN2QyZGUz
MmMwOTY5ODFlYjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTE5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFz
dGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91
dCBhZmZlY3RpbmcgdGhlIHN0eWxlLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxpIHN0eWxlPSJmb250LXdl
aWdodDogYm9sZDsiPkhlbGxvPC9pPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0
eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48Yj5IZWxsbzwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFu
IHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4m
bmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK0ZBSUwgY29uZmlybWVkTWFya3Vw
IHNob3VsZCBiZSA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uIFdh
cyA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+PGI+PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhl
bGxvPC9pPjwvYj48L2k+LgorUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvJm5i
c3A7d29ybGQ8L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBz
dHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0
ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0xOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0xOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2M2Nk
ZGVhNjYzMjgwOTQ3ZDBkMWJmNWI2MWViODhiNTg1ZmNjODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTE5Lmh0bWwK
QEAgLTAsMCArMSw1NiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBw
YXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRo
b3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuIDwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisg
ICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBm
YWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3Vw
ID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIici
ICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCit0ZXN0UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIsICI8Yj48aT5IZWxs
bzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwi
Zm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48
L2Rpdj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48
ZGl2PjxkaXY+SGVsbG88L2Rpdj48L2Rpdj48L2Rpdj4iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxsbzwvaT48L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0
eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9k
aXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88
L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwi
Zm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAKKyAgICAgICAgICAiPGRpdj48
Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6
IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiBoZWxsbzI8L2k+PC9iPjwvc3Bh
bj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3Jt
YWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bh
bj48L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7
XCI+PGI+PGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iLAorICAg
ICAgICAgICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIpOwor
dGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBu
b3JtYWxcIj48Yj48aT5IZWxsbyA8IS0tIGNvbW1lbnQgLS0+d29ybGQ8L2k+PC9iPjwvc3Bhbj48
L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4iKTsKK3Rlc3RQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFs
XCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9i
PjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+cGxh
aW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFu
ZC1zYW5pdGl6ZS0yLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS1hbmQtc2FuaXRpemUtMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWY4OWRjZjg4
ODQ3YWFiNGI4OTJhMDA3ZDJkZTMyYzA5Njk4MWViNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMi1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxNyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVy
YXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBv
ZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4KKworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxv
PC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8aSBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IZWxsbzwvaT4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGI+SGVsbG88L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPjxiPjxpPmhl
bGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitG
QUlMIGNvbmZpcm1lZE1hcmt1cCBzaG91bGQgYmUgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhl
bGxvPC9pPjwvYj48L2k+LiBXYXMgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPjxiPjxpIHN0eWxl
PSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4KK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij5wbGFpbiB0ZXh0
PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0yLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMzYzY2RkZWE2NjMyODA5NDdkMGQxYmY1YjYxZWI4OGI1ODVmY2M4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQt
c2FuaXRpemUtMi5odG1sCkBAIC0wLDAgKzEsNTYgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJh
dGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9m
IHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLiA8L3A+Cis8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rp
b24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1l
bnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
dGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5u
ZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdFBhc3RlKCJkaXYi
LCAiSGVsbG8iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxiPjxpPkhlbGxvPC9pPjwv
Yj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbzwvaT48L2I+
PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj48ZGl2PkhlbGxvPC9kaXY+PC9kaXY+PC9kaXY+IiwgIkhlbGxv
Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxkaXY+PGk+SGVsbG88L2k+PC9kaXY+PC9i
PjwvZGl2PiIsICI8aSBzdHlsZT1cImZvbnQtd2VpZ2h0OiBib2xkO1wiPkhlbGxvPC9pPiIpOwor
dGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxiPkhlbGxvPC9iPjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9zcGFuPjwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0
OiBub3JtYWxcIj48Yj48aT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgCisg
ICAgICAgICAgIjxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHls
ZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4gaGVs
bG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJm
b250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVs
bG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxpIHN0eWxl
PVwibWFyZ2luOiAxMHB4O1wiPjxiPjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9p
PjwvYj48L2k+IiwKKyAgICAgICAgICAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88
L2k+PC9iPjwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9
XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG8gPCEtLSBjb21tZW50IC0tPndvcmxk
PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwv
aT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9u
dC13ZWlnaHQ6IG5vcm1hbFwiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwv
Yj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdo
dDogbm9ybWFsO1wiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3Nw
YW4+PC9pPjwvYj4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMjAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0yMC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYWY4OWRjZjg4ODQ3YWFiNGI4OTJhMDA3ZDJkZTMyYzA5Njk4MWViNAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2Fu
aXRpemUtMjAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTcgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVk
dWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5
bGUuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxi
PjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGkgc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SGVsbG88
L2k+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxiPkhlbGxvPC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0
OiBub3JtYWw7Ij48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+
PC9zcGFuPjwvaT48L2I+JworRkFJTCBjb25maXJtZWRNYXJrdXAgc2hvdWxkIGJlIDxpIHN0eWxl
PSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4gV2FzIDxpIHN0eWxlPSJtYXJnaW46
IDEwcHg7Ij48Yj48aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDog
bm9ybWFsOyI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48
L2k+PC9iPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5k
LXNhbml0aXplLTIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
YW5kLXNhbml0aXplLTIwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzYzY2RkZWE2NjMyODA5NDdkMGQxYmY1
YjYxZWI4OGI1ODVmY2M4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMjAuaHRtbApAQCAtMCwwICsxLDU2IEBACis8
IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNr
cyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byBy
ZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBz
dHlsZS4gPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdFBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3Rl
ZCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXApOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
UGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsK
KworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK3Rlc3RQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRp
diIsICI8Yj48aT5IZWxsbzwvaT48L2I+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFs
XCI+PGI+PGk+SGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxs
bzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48ZGl2
PjxpPkhlbGxvPC9pPjwvZGl2PjwvYj48L2Rpdj4iLCAiPGkgc3R5bGU9XCJmb250LXdlaWdodDog
Ym9sZDtcIj5IZWxsbzwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj4iKTsKK3Rlc3RQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFs
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+PHNw
YW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvc3Bh
bj48L2k+PC9iPjwvZGl2PiIsIAorICAgICAgICAgICI8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhl
bGxvMTwvaT48L2I+PGI+PGk+IGhlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+Iiwg
IjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8
L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7Cit0ZXN0
UGFzdGUoImRpdiIsICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj48Yj48aSBzdHlsZT1cIm1h
cmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIsCisgICAgICAgICAgIjxpIHN0eWxlPVwi
bWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxv
IDwhLS0gY29tbWVudCAtLT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxi
PjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj5wbGFpbiB0ZXh0PGI+PGk+
Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxz
cGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBp
dGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTIxLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRp
emUtMjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmODlkY2Y4ODg0N2FhYjRiODkyYTAwN2Qy
ZGUzMmMwOTY5ODFlYjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTIxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUg
cGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0
aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxpIHN0eWxlPSJmb250
LXdlaWdodDogYm9sZDsiPkhlbGxvPC9pPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48Yj5IZWxsbzwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxz
cGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48
aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK0ZBSUwgY29uZmlybWVkTWFy
a3VwIHNob3VsZCBiZSA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4u
IFdhcyA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+PGI+PGkgc3R5bGU9Im1hcmdpbjogMTBweDsi
PmhlbGxvPC9pPjwvYj48L2k+LgorUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxv
Jm5ic3A7d29ybGQ8L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3Bh
biBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxp
YyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0yMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0yMS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2
M2NkZGVhNjYzMjgwOTQ3ZDBkMWJmNWI2MWViODhiNTg1ZmNjODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTIxLmh0
bWwKQEAgLTAsMCArMSw1NiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRo
ZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3
aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuIDwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOwor
CisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwi
LCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFy
a3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwg
IiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCit0ZXN0UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIsICI8Yj48aT5I
ZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxl
PVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwv
Yj48L2Rpdj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRp
dj48ZGl2PjxkaXY+SGVsbG88L2Rpdj48L2Rpdj48L2Rpdj4iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0
ZSgiZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxsbzwvaT48L2Rpdj48L2I+PC9kaXY+IiwgIjxp
IHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88L2k+Iik7Cit0ZXN0UGFzdGUoImRp
diIsICI8ZGl2PjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+
PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVs
bG88L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxl
PVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAKKyAgICAgICAgICAiPGRp
dj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWln
aHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiBoZWxsbzI8L2k+PC9iPjwv
c3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBu
b3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwv
c3Bhbj48L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGkgc3R5bGU9XCJtYXJnaW46IDEw
cHg7XCI+PGI+PGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iLAor
ICAgICAgICAgICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIp
OwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0
OiBub3JtYWxcIj48Yj48aT5IZWxsbyA8IS0tIGNvbW1lbnQgLS0+d29ybGQ8L2k+PC9iPjwvc3Bh
bj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4iKTsKK3Rl
c3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9y
bWFsXCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+
PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+
cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LWFuZC1zYW5pdGl6ZS0yMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTIyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZjg5
ZGNmODg4NDdhYWI0Yjg5MmEwMDdkMmRlMzJjMDk2OTgxZWI0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0yMi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxNyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0
ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJv
c2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4KKworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxp
PkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+
PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8aSBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IZWxsbzwvaT4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGI+SGVs
bG88L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPjxi
PjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwv
Yj4nCitGQUlMIGNvbmZpcm1lZE1hcmt1cCBzaG91bGQgYmUgPGkgc3R5bGU9Im1hcmdpbjogMTBw
eDsiPmhlbGxvPC9pPjwvYj48L2k+LiBXYXMgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPjxiPjxp
IHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4KK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij5wbGFp
biB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMjIu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUt
MjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4zNjNjZGRlYTY2MzI4MDk0N2QwZDFiZjViNjFlYjg4YjU4NWZj
Yzg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLWFuZC1zYW5pdGl6ZS0yMi5odG1sCkBAIC0wLDAgKzEsNTYgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBh
c3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVy
Ym9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLiA8L3A+Cis8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5n
ZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIp
OworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAg
IG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlv
biB0ZXN0UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdFBh
c3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxiPjxpPkhl
bGxvPC9pPjwvYj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxs
bzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsK
K3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj48ZGl2PkhlbGxvPC9kaXY+PC9kaXY+PC9kaXY+
IiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxkaXY+PGk+SGVsbG88L2k+
PC9kaXY+PC9iPjwvZGl2PiIsICI8aSBzdHlsZT1cImZvbnQtd2VpZ2h0OiBib2xkO1wiPkhlbGxv
PC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZv
bnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9k
aXY+IiwgCisgICAgICAgICAgIjxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48
c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48
Yj48aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4g
c3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+
Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2Iiwg
IjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPjxiPjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wi
PmhlbGxvPC9pPjwvYj48L2k+IiwKKyAgICAgICAgICAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7
XCI+aGVsbG88L2k+PC9iPjwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNw
YW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG8gPCEtLSBjb21tZW50
IC0tPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG8mbmJz
cDt3b3JsZDwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0
eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0
ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJm
b250LXdlaWdodDogbm9ybWFsO1wiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9p
PjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOwor
Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMjMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0yMy1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYWY4OWRjZjg4ODQ3YWFiNGI4OTJhMDA3ZDJkZTMyYzA5Njk4MWVi
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS1hbmQtc2FuaXRpemUtMjMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTcgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21l
bnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGlu
ZyB0aGUgc3R5bGUuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGkgc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xk
OyI+SGVsbG88L2k+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxiPkhlbGxvPC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZv
bnQtd2VpZ2h0OiBub3JtYWw7Ij48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxv
MjwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworRkFJTCBjb25maXJtZWRNYXJrdXAgc2hvdWxkIGJl
IDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4gV2FzIDxpIHN0eWxl
PSJtYXJnaW46IDEwcHg7Ij48Yj48aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9i
PjwvaT4uCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwv
aT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250
LXdlaWdodDogbm9ybWFsOyI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9i
Pjwvc3Bhbj48L2k+PC9iPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtYW5kLXNhbml0aXplLTIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtYW5kLXNhbml0aXplLTIzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzYzY2RkZWE2NjMyODA5
NDdkMGQxYmY1YjYxZWI4OGI1ODVmY2M4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMjMuaHRtbApAQCAtMCwwICsx
LDU2IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8
aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0
ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFn
bWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0
aW5nIHRoZSBzdHlsZS4gPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdFBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3Vw
LCBleHBlY3RlZCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXApOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZv
Y3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlu
bmVySFRNTDsKKworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK3Rlc3RQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
UGFzdGUoImRpdiIsICI8Yj48aT5IZWxsbzwvaT48L2I+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4i
KTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdo
dDogbm9ybWFsXCI+PGI+PGk+SGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8
Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48ZGl2PjxpPkhlbGxvPC9pPjwvZGl2PjwvYj48L2Rpdj4iLCAiPGkgc3R5bGU9XCJmb250
LXdlaWdodDogYm9sZDtcIj5IZWxsbzwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj4i
KTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdo
dDogbm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsIAorICAgICAgICAgICI8ZGl2PjxiPjxpPmhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0
ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wi
PjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+IGhlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+
PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48
aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+
Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj48Yj48aSBz
dHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIsCisgICAgICAgICAgIjxp
IHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+Iik7Cit0ZXN0UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxi
PjxpPkhlbGxvIDwhLS0gY29tbWVudCAtLT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9k
aXY+IiwgIjxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj5wbGFpbiB0
ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+Iiwg
IjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5wbGFpbiB0ZXh0PGI+
PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXpl
LTI0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1h
bmQtc2FuaXRpemUtMjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmODlkY2Y4ODg0N2FhYjRi
ODkyYTAwN2QyZGUzMmMwOTY5ODFlYjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTI0LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDE3IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0
cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBt
YXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9i
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxpIHN0
eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhlbGxvPC9pPicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48Yj5IZWxsbzwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+PGI+PGk+aGVsbG8xPC9p
PjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK0ZBSUwgY29u
ZmlybWVkTWFya3VwIHNob3VsZCBiZSA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+
PC9iPjwvaT4uIFdhcyA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+PGI+PGkgc3R5bGU9Im1hcmdp
bjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LgorUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxi
PjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPnBsYWluIHRleHQ8Yj48aT5i
b2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0yNC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0yNC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjM2M2NkZGVhNjYzMjgwOTQ3ZDBkMWJmNWI2MWViODhiNTg1ZmNjODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0
aXplLTI0Lmh0bWwKQEAgLTAsMCArMSw1NiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9u
IHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhl
IG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuIDwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICByb290LmFwcGVuZENoaWxk
KG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJT
ZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxz
ZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29u
ZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBzaG91bGRCZSgiY29uZmlybWVk
TWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCit0ZXN0UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIs
ICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxz
cGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvPC9pPjwvYj48L3Nw
YW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJk
aXYiLCAiPGRpdj48ZGl2PjxkaXY+SGVsbG88L2Rpdj48L2Rpdj48L2Rpdj4iLCAiSGVsbG8iKTsK
K3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxsbzwvaT48L2Rpdj48L2I+PC9k
aXY+IiwgIjxpIHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88L2k+Iik7Cit0ZXN0
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+
SGVsbG88L2I+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGI+SGVsbG88L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxz
cGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L3Nw
YW4+PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5v
cm1hbFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAKKyAgICAg
ICAgICAiPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwi
Zm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiBoZWxsbzI8
L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQt
d2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8
L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGkgc3R5bGU9XCJt
YXJnaW46IDEwcHg7XCI+PGI+PGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9i
PjwvaT4iLAorICAgICAgICAgICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48
L2I+PC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZv
bnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbyA8IS0tIGNvbW1lbnQgLS0+d29ybGQ8L2k+
PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwv
Yj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdl
aWdodDogbm9ybWFsXCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwv
c3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBu
b3JtYWw7XCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48
L2k+PC9iPiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0yNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTI1LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5hZjg5ZGNmODg4NDdhYWI0Yjg5MmEwMDdkMmRlMzJjMDk2OTgxZWI0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6
ZS0yNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0
IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2Ug
dGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4K
KworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+
SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8aSBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IZWxsbzwvaT4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGI+SGVsbG88L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5v
cm1hbDsiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3Nw
YW4+PC9pPjwvYj4nCitGQUlMIGNvbmZpcm1lZE1hcmt1cCBzaG91bGQgYmUgPGkgc3R5bGU9Im1h
cmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LiBXYXMgPGkgc3R5bGU9Im1hcmdpbjogMTBw
eDsiPjxiPjxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4KK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3Jt
YWw7Ij5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48
L2I+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2Fu
aXRpemUtMjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQt
c2FuaXRpemUtMjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNjNjZGRlYTY2MzI4MDk0N2QwZDFiZjViNjFl
Yjg4YjU4NWZjYzg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0yNS5odG1sCkBAIC0wLDAgKzEsNTYgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVj
ZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxl
LiA8L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBk
b2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlv
biBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0
cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQor
CitmdW5jdGlvbiB0ZXN0UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdFBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2Iiwg
IjxiPjxpPkhlbGxvPC9pPjwvYj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48
Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvPC9p
PjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj48ZGl2PkhlbGxvPC9kaXY+PC9k
aXY+PC9kaXY+IiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxkaXY+PGk+
SGVsbG88L2k+PC9kaXY+PC9iPjwvZGl2PiIsICI8aSBzdHlsZT1cImZvbnQtd2VpZ2h0OiBib2xk
O1wiPkhlbGxvPC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PiIpOwordGVzdFBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT48c3BhbiBz
dHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT53b3JsZDwvaT48L2I+PC9zcGFuPjwv
aT48L2I+PC9kaXY+IiwgCisgICAgICAgICAgIjxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8x
PC9pPjwvYj48Yj48aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+
PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48
L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKK3Rlc3RQYXN0
ZSgiZGl2IiwgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPjxiPjxpIHN0eWxlPVwibWFyZ2lu
OiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+IiwKKyAgICAgICAgICAiPGkgc3R5bGU9XCJtYXJn
aW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+
PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG8gPCEt
LSBjb21tZW50IC0tPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+
SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPnBsYWluIHRleHQ8Yj48aT5ib2xk
IGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4g
c3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxp
YyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0g
Im5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMjYtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0y
Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWY4OWRjZjg4ODQ3YWFiNGI4OTJhMDA3ZDJkZTMy
YzA5Njk4MWViNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMjYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTcgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0
ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0
IGFmZmVjdGluZyB0aGUgc3R5bGUuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGkgc3R5bGU9ImZvbnQtd2Vp
Z2h0OiBib2xkOyI+SGVsbG88L2k+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxiPkhlbGxvPC9iPjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4g
c3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZu
YnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworRkFJTCBjb25maXJtZWRNYXJrdXAg
c2hvdWxkIGJlIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4gV2Fz
IDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij48Yj48aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVs
bG88L2k+PC9iPjwvaT4uCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG8mbmJz
cDt3b3JsZDwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0
eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRl
eHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzYzY2Rk
ZWE2NjMyODA5NDdkMGQxYmY1YjYxZWI4OGI1ODVmY2M4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMjYuaHRtbApA
QCAtMCwwICsxLDU2IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1M
Ly9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlv
biI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBh
c3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhv
dXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4gPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdFBhc3RlKHRhZ05hbWUsIG9yaWdp
bmFsTWFya3VwLCBleHBlY3RlZCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAg
ICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZh
bHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAg
PSBub2RlLmlubmVySFRNTDsKKworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK3Rlc3RQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8Yj48aT5IZWxsbzwvaT48L2I+IiwgIjxiPjxpPkhlbGxv
PC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJm
b250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwv
ZGl2PiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48ZGl2PjxpPkhlbGxvPC9pPjwvZGl2PjwvYj48L2Rpdj4iLCAiPGkgc3R5
bGU9XCJmb250LXdlaWdodDogYm9sZDtcIj5IZWxsbzwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwv
Yj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJm
b250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsIAorICAgICAgICAgICI8ZGl2Pjxi
PjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iKTsK
K3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDog
bm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+IGhlbGxvMjwvaT48L2I+PC9zcGFu
PjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1h
bDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFu
PjwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtc
Ij48Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIsCisgICAg
ICAgICAgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+Iik7Cit0
ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5v
cm1hbFwiPjxiPjxpPkhlbGxvIDwhLS0gY29tbWVudCAtLT53b3JsZDwvaT48L2I+PC9zcGFuPjwv
aT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPiIpOwordGVzdFBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxc
Ij5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+
PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5wbGFp
biB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5k
LXNhbml0aXplLTI3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS1hbmQtc2FuaXRpemUtMjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmODlkY2Y4
ODg0N2FhYjRiODkyYTAwN2QyZGUzMmMwOTY5ODFlYjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTI3LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDE3IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9w
ZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5
IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVs
bG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxpIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhlbGxvPC9pPicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48Yj5IZWxsbzwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5oZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+PGI+PGk+
aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicK
K0ZBSUwgY29uZmlybWVkTWFya3VwIHNob3VsZCBiZSA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+
aGVsbG88L2k+PC9iPjwvaT4uIFdhcyA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+PGI+PGkgc3R5
bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LgorUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPnBsYWluIHRl
eHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0yNy5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0yNy5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjM2M2NkZGVhNjYzMjgwOTQ3ZDBkMWJmNWI2MWViODhiNTg1ZmNjODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
YW5kLXNhbml0aXplLTI3Lmh0bWwKQEAgLTAsMCArMSw1NiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUg
b3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3Np
dHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuIDwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIgbm9k
ZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICByb290LmFw
cGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNv
cHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOwor
CisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBzaG91bGRCZSgi
Y29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCit0ZXN0UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVsbG88
L2k+PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvPC9p
PjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVz
dFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PjxkaXY+SGVsbG88L2Rpdj48L2Rpdj48L2Rpdj4iLCAi
SGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxsbzwvaT48L2Rp
dj48L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88L2k+
Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13
ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4i
LCAKKyAgICAgICAgICAiPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFu
IHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxp
PiBoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHls
ZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJz
cDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGkg
c3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+PGI+PGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVs
bG88L2k+PC9iPjwvaT4iLAorICAgICAgICAgICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5o
ZWxsbzwvaT48L2I+PC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBz
dHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbyA8IS0tIGNvbW1lbnQgLS0+
d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbyZuYnNwO3dv
cmxkPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9
XCJmb250LXdlaWdodDogbm9ybWFsXCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8
L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQt
d2VpZ2h0OiBub3JtYWw7XCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9i
Pjwvc3Bhbj48L2k+PC9iPiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0yOC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTI4LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5hZjg5ZGNmODg4NDdhYWI0Yjg5MmEwMDdkMmRlMzJjMDk2OTgxZWI0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFu
ZC1zYW5pdGl6ZS0yOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNyBAQAorVGhpcyB0ZXN0IGNo
ZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0
byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRo
ZSBzdHlsZS4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8aSBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5I
ZWxsbzwvaT4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGI+SGVsbG88L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13
ZWlnaHQ6IG5vcm1hbDsiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9p
PjwvYj48L3NwYW4+PC9pPjwvYj4nCitGQUlMIGNvbmZpcm1lZE1hcmt1cCBzaG91bGQgYmUgPGkg
c3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LiBXYXMgPGkgc3R5bGU9Im1h
cmdpbjogMTBweDsiPjxiPjxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9p
Pi4KK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwv
Yj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2Vp
Z2h0OiBub3JtYWw7Ij5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9z
cGFuPjwvaT48L2I+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS1hbmQtc2FuaXRpemUtMjguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS1hbmQtc2FuaXRpemUtMjguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNjNjZGRlYTY2MzI4MDk0N2Qw
ZDFiZjViNjFlYjg4YjU4NWZjYzg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0yOC5odG1sCkBAIC0wLDAgKzEsNTYg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50
IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3Rpbmcg
dGhlIHN0eWxlLiA8L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3Zh
ciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKwor
CitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9k
ZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRp
dGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBu
b2RlOworfQorCitmdW5jdGlvbiB0ZXN0UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdFBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0
ZSgiZGl2IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwor
dGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBu
b3JtYWxcIj48Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxp
PkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj48ZGl2PkhlbGxv
PC9kaXY+PC9kaXY+PC9kaXY+IiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxkaXY+PGk+SGVsbG88L2k+PC9kaXY+PC9iPjwvZGl2PiIsICI8aSBzdHlsZT1cImZvbnQtd2Vp
Z2h0OiBib2xkO1wiPkhlbGxvPC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PiIpOwor
dGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBu
b3JtYWxcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgCisgICAgICAgICAgIjxkaXY+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+
PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rp
dj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhl
bGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsK
K3Rlc3RQYXN0ZSgiZGl2IiwgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPjxiPjxpIHN0eWxl
PVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+IiwKKyAgICAgICAgICAiPGkgc3R5
bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2
IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+
SGVsbG8gPCEtLSBjb21tZW50IC0tPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4i
LCAiPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPnBsYWluIHRleHQ8
Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+
PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPnBsYWluIHRleHQ8Yj48aT5i
b2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKKworcm9vdC5zdHlsZS5k
aXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMjkt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1z
YW5pdGl6ZS0yOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWY4OWRjZjg4ODQ3YWFiNGI4OTJh
MDA3ZDJkZTMyYzA5Njk4MWViNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMjktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTcgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1z
IHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1
cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGkgc3R5bGU9
ImZvbnQtd2VpZ2h0OiBib2xkOyI+SGVsbG88L2k+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxiPkhlbGxvPC9iPjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+
PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij48Yj48aT5oZWxsbzE8L2k+PC9i
PjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworRkFJTCBjb25maXJt
ZWRNYXJrdXAgc2hvdWxkIGJlIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+
PC9pPi4gV2FzIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij48Yj48aSBzdHlsZT0ibWFyZ2luOiAx
MHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+
SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxp
PjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+cGxhaW4gdGV4dDxiPjxpPmJvbGQg
aXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTI5Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTI5Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMzYzY2RkZWE2NjMyODA5NDdkMGQxYmY1YjYxZWI4OGI1ODVmY2M4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUt
MjkuaHRtbApAQCAtMCwwICsxLDU2IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYv
L0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJk
ZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJp
bXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFy
a3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4gPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdFBhc3RlKHRhZ05h
bWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9k
ZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVj
dEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJt
ZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK3Rlc3RQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8Yj48aT5IZWxsbzwvaT48L2I+IiwgIjxi
PjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4g
c3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG88L2k+PC9iPjwvc3Bhbj48
L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIpOwordGVz
dFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48ZGl2PjxpPkhlbGxvPC9pPjwvZGl2PjwvYj48L2Rpdj4i
LCAiPGkgc3R5bGU9XCJmb250LXdlaWdodDogYm9sZDtcIj5IZWxsbzwvaT4iKTsKK3Rlc3RQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxs
bzwvYj48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
Yj5IZWxsbzwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4g
c3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFs
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsIAorICAgICAgICAg
ICI8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250
LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+IGhlbGxvMjwvaT48
L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWln
aHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48
L2I+PC9zcGFuPjwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8aSBzdHlsZT1cIm1hcmdp
bjogMTBweDtcIj48Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9p
PiIsCisgICAgICAgICAgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48
L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13
ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvIDwhLS0gY29tbWVudCAtLT53b3JsZDwvaT48L2I+
PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPiIp
OwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0
OiBub3JtYWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFu
PjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1h
bDtcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48
L2I+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtYW5kLXNhbml0aXplLTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0zLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5h
Zjg5ZGNmODg4NDdhYWI0Yjg5MmEwMDdkMmRlMzJjMDk2OTgxZWI0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0zLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBh
c3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVy
Ym9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+
PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwv
aT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxpIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhlbGxvPC9pPicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48Yj5I
ZWxsbzwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5oZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+
PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+
PC9iPicKK0ZBSUwgY29uZmlybWVkTWFya3VwIHNob3VsZCBiZSA8aSBzdHlsZT0ibWFyZ2luOiAx
MHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uIFdhcyA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+PGI+
PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LgorUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPnBs
YWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0z
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXpl
LTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4zNjNjZGRlYTY2MzI4MDk0N2QwZDFiZjViNjFlYjg4YjU4NWZj
Yzg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLWFuZC1zYW5pdGl6ZS0zLmh0bWwKQEAgLTAsMCArMSw1NiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFz
dGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJi
b3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuIDwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIg
bm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICByb290
LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2Up
OworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBzaG91bGRC
ZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCit0ZXN0UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVs
bG88L2k+PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxv
PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwor
dGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PjxkaXY+SGVsbG88L2Rpdj48L2Rpdj48L2Rpdj4i
LCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxsbzwvaT48
L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88
L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9u
dC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rp
dj4iLCAKKyAgICAgICAgICAiPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxz
cGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxi
PjxpPiBoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBz
dHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4m
bmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAi
PGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+PGI+PGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+
aGVsbG88L2k+PC9iPjwvaT4iLAorICAgICAgICAgICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtc
Ij5oZWxsbzwvaT48L2I+PC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3Bh
biBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbyA8IS0tIGNvbW1lbnQg
LS0+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbyZuYnNw
O3dvcmxkPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5
bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRl
eHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZv
bnQtd2VpZ2h0OiBub3JtYWw7XCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+
PC9iPjwvc3Bhbj48L2k+PC9iPiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0zMC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTMwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5hZjg5ZGNmODg4NDdhYWI0Yjg5MmEwMDdkMmRlMzJjMDk2OTgxZWI0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LWFuZC1zYW5pdGl6ZS0zMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNyBAQAorVGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVu
dCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5n
IHRoZSBzdHlsZS4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8aSBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7
Ij5IZWxsbzwvaT4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGI+SGVsbG88L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9u
dC13ZWlnaHQ6IG5vcm1hbDsiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8y
PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitGQUlMIGNvbmZpcm1lZE1hcmt1cCBzaG91bGQgYmUg
PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LiBXYXMgPGkgc3R5bGU9
Im1hcmdpbjogMTBweDsiPjxiPjxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+
PC9pPi4KK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9p
PjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQt
d2VpZ2h0OiBub3JtYWw7Ij5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+
PC9zcGFuPjwvaT48L2I+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS1hbmQtc2FuaXRpemUtMzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS1hbmQtc2FuaXRpemUtMzAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNjNjZGRlYTY2MzI4MDk0
N2QwZDFiZjViNjFlYjg4YjU4NWZjYzg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0zMC5odG1sCkBAIC0wLDAgKzEs
NTYgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdt
ZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3Rp
bmcgdGhlIHN0eWxlLiA8L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisK
K3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsK
KworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIg
bm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50
RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVy
biBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdFBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iKTsKK3Rlc3RQ
YXN0ZSgiZGl2IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIp
OwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0
OiBub3JtYWxcIj48Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxi
PjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj48ZGl2Pkhl
bGxvPC9kaXY+PC9kaXY+PC9kaXY+IiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxkaXY+PGk+SGVsbG88L2k+PC9kaXY+PC9iPjwvZGl2PiIsICI8aSBzdHlsZT1cImZvbnQt
d2VpZ2h0OiBib2xkO1wiPkhlbGxvPC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PiIp
OwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0
OiBub3JtYWxcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgCisgICAgICAgICAgIjxkaXY+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIpOwordGVzdFBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+
PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48
L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxp
PmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4i
KTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPjxiPjxpIHN0
eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+IiwKKyAgICAgICAgICAiPGkg
c3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iKTsKK3Rlc3RQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+
PGk+SGVsbG8gPCEtLSBjb21tZW50IC0tPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rp
dj4iLCAiPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPnBsYWluIHRl
eHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAi
PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPnBsYWluIHRleHQ8Yj48
aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKKworcm9vdC5zdHls
ZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUt
MzEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFu
ZC1zYW5pdGl6ZS0zMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWY4OWRjZjg4ODQ3YWFiNGI4
OTJhMDA3ZDJkZTMyYzA5Njk4MWViNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMzEtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTcgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRy
aW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1h
cmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGkgc3R5
bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SGVsbG88L2k+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxiPkhlbGxvPC9iPjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij48Yj48aT5oZWxsbzE8L2k+
PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworRkFJTCBjb25m
aXJtZWRNYXJrdXAgc2hvdWxkIGJlIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48
L2I+PC9pPi4gV2FzIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij48Yj48aSBzdHlsZT0ibWFyZ2lu
OiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+
PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxi
PjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+cGxhaW4gdGV4dDxiPjxpPmJv
bGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTMxLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTMxLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMzYzY2RkZWE2NjMyODA5NDdkMGQxYmY1YjYxZWI4OGI1ODVmY2M4NwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRp
emUtMzEuaHRtbApAQCAtMCwwICsxLDU2IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lF
VEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlk
PSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24g
dHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUg
bWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4gPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdFBhc3RlKHRh
Z05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCkgeworICAgIHZhciBub2RlID0gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIHJvb3QuYXBwZW5kQ2hpbGQo
bm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNl
bGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25m
aXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK3Rlc3RQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iiwg
IjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNw
YW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG88L2k+PC9iPjwvc3Bh
bj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIpOwor
dGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48ZGl2PjxpPkhlbGxvPC9pPjwvZGl2PjwvYj48L2Rp
dj4iLCAiPGkgc3R5bGU9XCJmb250LXdlaWdodDogYm9sZDtcIj5IZWxsbzwvaT4iKTsKK3Rlc3RQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5I
ZWxsbzwvYj48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48Yj5IZWxsbzwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNw
YW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bh
bj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9y
bWFsXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsIAorICAgICAg
ICAgICI8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJm
b250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+IGhlbGxvMjwv
aT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13
ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwv
aT48L2I+PC9zcGFuPjwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8aSBzdHlsZT1cIm1h
cmdpbjogMTBweDtcIj48Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+
PC9pPiIsCisgICAgICAgICAgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwv
Yj48L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9u
dC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvIDwhLS0gY29tbWVudCAtLT53b3JsZDwvaT48
L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9i
PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2Vp
Z2h0OiBub3JtYWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9z
cGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5v
cm1hbDtcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwv
aT48L2I+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtYW5kLXNhbml0aXplLTMyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmFmODlkY2Y4ODg0N2FhYjRiODkyYTAwN2QyZGUzMmMwOTY5ODFlYjQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXpl
LTMyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
dGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0
aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5I
ZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxpIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhlbGxvPC9pPicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7
Ij48Yj5IZWxsbzwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9y
bWFsOyI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bh
bj48L2k+PC9iPicKK0ZBSUwgY29uZmlybWVkTWFya3VwIHNob3VsZCBiZSA8aSBzdHlsZT0ibWFy
Z2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uIFdhcyA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4
OyI+PGI+PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LgorUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1h
bDsiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwv
Yj4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5p
dGl6ZS0zMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1z
YW5pdGl6ZS0zMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2M2NkZGVhNjYzMjgwOTQ3ZDBkMWJmNWI2MWVi
ODhiNTg1ZmNjODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTMyLmh0bWwKQEAgLTAsMCArMSw1NiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNl
IHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUu
IDwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsK
KyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsK
KyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3Rl
IiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAg
ICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQor
Cit0ZXN0UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAi
PGI+PGk+SGVsbG88L2k+PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxi
PjxpPkhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG88L2k+
PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PjxkaXY+SGVsbG88L2Rpdj48L2Rp
dj48L2Rpdj4iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5I
ZWxsbzwvaT48L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7
XCI+SGVsbG88L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPjxzcGFuIHN0
eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L3NwYW4+PC9p
PjwvYj48L2Rpdj4iLCAKKyAgICAgICAgICAiPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8
L2k+PC9iPjxiPjxpPiBoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48
aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwv
Yj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOwordGVzdFBhc3Rl
KCJkaXYiLCAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+PGI+PGkgc3R5bGU9XCJtYXJnaW46
IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iLAorICAgICAgICAgICI8aSBzdHlsZT1cIm1hcmdp
bjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbyA8IS0t
IGNvbW1lbnQgLS0+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5I
ZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+
PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQg
aXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBz
dHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGlj
IHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0zMy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTMz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZjg5ZGNmODg4NDdhYWI0Yjg5MmEwMDdkMmRlMzJj
MDk2OTgxZWI0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0zMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNyBAQAor
VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3Rl
ZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQg
YWZmZWN0aW5nIHRoZSBzdHlsZS4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8aSBzdHlsZT0iZm9udC13ZWln
aHQ6IGJvbGQ7Ij5IZWxsbzwvaT4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGI+SGVsbG88L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBz
dHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5i
c3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitGQUlMIGNvbmZpcm1lZE1hcmt1cCBz
aG91bGQgYmUgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LiBXYXMg
PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPjxiPjxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxs
bzwvaT48L2I+PC9pPi4KK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbyZuYnNw
O3dvcmxkPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5
bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4
dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNjNjZGRl
YTY2MzI4MDk0N2QwZDFiZjViNjFlYjg4YjU4NWZjYzg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0zMy5odG1sCkBA
IC0wLDAgKzEsNTYgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFz
dGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91
dCBhZmZlY3RpbmcgdGhlIHN0eWxlLiA8L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxz
Y3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsK
KyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9k
ZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOwor
ICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdFBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8i
KTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iLCAiPGI+PGk+SGVsbG88
L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZv
bnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9k
aXY+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj48ZGl2PkhlbGxvPC9kaXY+PC9kaXY+PC9kaXY+IiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxkaXY+PGk+SGVsbG88L2k+PC9kaXY+PC9iPjwvZGl2PiIsICI8aSBzdHls
ZT1cImZvbnQtd2VpZ2h0OiBib2xkO1wiPkhlbGxvPC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAi
PGRpdj48ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9i
PjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZv
bnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgCisgICAgICAgICAgIjxkaXY+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIpOwor
dGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBu
b3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+
PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFs
O1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+
PC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wi
PjxiPjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+IiwKKyAgICAg
ICAgICAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iKTsKK3Rl
c3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9y
bWFsXCI+PGI+PGk+SGVsbG8gPCEtLSBjb21tZW50IC0tPndvcmxkPC9pPjwvYj48L3NwYW4+PC9p
PjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7Cit0ZXN0UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwi
PnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48
L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPnBsYWlu
IHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKKwor
cm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQt
c2FuaXRpemUtMzQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLWFuZC1zYW5pdGl6ZS0zNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWY4OWRjZjg4
ODQ3YWFiNGI4OTJhMDA3ZDJkZTMyYzA5Njk4MWViNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMzQtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTcgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3Bl
cmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkg
b2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxs
bzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGkgc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SGVsbG88L2k+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxiPkhlbGxvPC9i
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij48Yj48aT5o
ZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+Jwor
RkFJTCBjb25maXJtZWRNYXJrdXAgc2hvdWxkIGJlIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5o
ZWxsbzwvaT48L2I+PC9pPi4gV2FzIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij48Yj48aSBzdHls
ZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+cGxhaW4gdGV4
dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTM0Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTM0Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMzYzY2RkZWE2NjMyODA5NDdkMGQxYmY1YjYxZWI4OGI1ODVmY2M4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1h
bmQtc2FuaXRpemUtMzQuaHRtbApAQCAtMCwwICsxLDU2IEBACis8IURPQ1RZUEUgSFRNTCBQVUJM
SUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBv
cGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0
eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4gPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dFBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCkgeworICAgIHZhciBub2Rl
ID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIHJvb3QuYXBw
ZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29w
eSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisK
KyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK3Rlc3RQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8Yj48aT5IZWxsbzwv
aT48L2I+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+
PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG88L2k+
PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIsICJI
ZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48ZGl2PjxpPkhlbGxvPC9pPjwvZGl2
PjwvYj48L2Rpdj4iLCAiPGkgc3R5bGU9XCJmb250LXdlaWdodDogYm9sZDtcIj5IZWxsbzwvaT4i
KTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48Yj5IZWxsbzwvYj48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+
PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdl
aWdodDogbm9ybWFsXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIs
IAorICAgICAgICAgICI8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4g
c3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+
IGhlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxl
PVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNw
O2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8aSBz
dHlsZT1cIm1hcmdpbjogMTBweDtcIj48Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxs
bzwvaT48L2I+PC9pPiIsCisgICAgICAgICAgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhl
bGxvPC9pPjwvYj48L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0
eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvIDwhLS0gY29tbWVudCAtLT53
b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvJm5ic3A7d29y
bGQ8L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1c
ImZvbnQtd2VpZ2h0OiBub3JtYWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwv
aT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13
ZWlnaHQ6IG5vcm1hbDtcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+
PC9zcGFuPjwvaT48L2I+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTM1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMzUtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmFmODlkY2Y4ODg0N2FhYjRiODkyYTAwN2QyZGUzMmMwOTY5ODFlYjQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5k
LXNhbml0aXplLTM1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRv
IHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhl
IHN0eWxlLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxpIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhl
bGxvPC9pPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWdu
OiBjZW50ZXI7Ij48Yj5IZWxsbzwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdl
aWdodDogbm9ybWFsOyI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+
PC9iPjwvc3Bhbj48L2k+PC9iPicKK0ZBSUwgY29uZmlybWVkTWFya3VwIHNob3VsZCBiZSA8aSBz
dHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uIFdhcyA8aSBzdHlsZT0ibWFy
Z2luOiAxMHB4OyI+PGI+PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+
LgorUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9i
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWln
aHQ6IG5vcm1hbDsiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3Nw
YW4+PC9pPjwvYj4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LWFuZC1zYW5pdGl6ZS0zNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLWFuZC1zYW5pdGl6ZS0zNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2M2NkZGVhNjYzMjgwOTQ3ZDBk
MWJmNWI2MWViODhiNTg1ZmNjODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTM1Lmh0bWwKQEAgLTAsMCArMSw1NiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQg
dG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0
aGUgc3R5bGUuIDwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFs
TWFya3VwKTsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygp
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhU
TUw7CisKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAi
JyIpOworfQorCit0ZXN0UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIpOwordGVzdFBhc3Rl
KCJkaXYiLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0
ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5v
cm1hbFwiPjxiPjxpPkhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+
SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PjxkaXY+SGVsbG88
L2Rpdj48L2Rpdj48L2Rpdj4iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+
PGRpdj48aT5IZWxsbzwvaT48L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9udC13ZWln
aHQ6IGJvbGQ7XCI+SGVsbG88L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+PC9kaXY+IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+Iik7Cit0
ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5v
cm1hbFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAKKyAgICAgICAgICAiPGRpdj48Yj48aT5oZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48
aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiBoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2
PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVs
bG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOwor
dGVzdFBhc3RlKCJkaXYiLCAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+PGI+PGkgc3R5bGU9
XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iLAorICAgICAgICAgICI8aSBzdHls
ZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIpOwordGVzdFBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5I
ZWxsbyA8IS0tIGNvbW1lbnQgLS0+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIs
ICI8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxk
aXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+cGxhaW4gdGV4dDxi
PjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48
aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+cGxhaW4gdGV4dDxiPjxpPmJv
bGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0zNi1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNh
bml0aXplLTM2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZjg5ZGNmODg4NDdhYWI0Yjg5MmEw
MDdkMmRlMzJjMDk2OTgxZWI0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0zNi1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxNyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMg
dGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3Vw
IHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8aSBzdHlsZT0i
Zm9udC13ZWlnaHQ6IGJvbGQ7Ij5IZWxsbzwvaT4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGI+SGVsbG88L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48
aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPjxiPjxpPmhlbGxvMTwvaT48L2I+
PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitGQUlMIGNvbmZpcm1l
ZE1hcmt1cCBzaG91bGQgYmUgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48
L2k+LiBXYXMgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPjxiPjxpIHN0eWxlPSJtYXJnaW46IDEw
cHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4KK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5I
ZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+
PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBp
dGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMzYuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMzYuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4zNjNjZGRlYTY2MzI4MDk0N2QwZDFiZjViNjFlYjg4YjU4NWZjYzg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0z
Ni5odG1sCkBAIC0wLDAgKzEsNTYgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmlt
cyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJr
dXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLiA8L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3Zh
ciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5h
cHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBt
YXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7
CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0g
bWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdFBhc3RlKCJkaXYiLCAiSGVsbG8i
LCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iLCAiPGI+
PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBz
dHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwv
aT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj48ZGl2PkhlbGxvPC9kaXY+PC9kaXY+PC9kaXY+IiwgIkhlbGxvIik7Cit0ZXN0
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxkaXY+PGk+SGVsbG88L2k+PC9kaXY+PC9iPjwvZGl2PiIs
ICI8aSBzdHlsZT1cImZvbnQtd2VpZ2h0OiBib2xkO1wiPkhlbGxvPC9pPiIpOwordGVzdFBhc3Rl
KCJkaXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxv
PC9iPjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxi
PkhlbGxvPC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBz
dHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9zcGFuPjwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgCisgICAgICAgICAg
IjxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQt
d2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4gaGVsbG8yPC9pPjwv
Yj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdo
dDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwv
Yj48L3NwYW4+PC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxpIHN0eWxlPVwibWFyZ2lu
OiAxMHB4O1wiPjxiPjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+
IiwKKyAgICAgICAgICAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwv
aT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdl
aWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG8gPCEtLSBjb21tZW50IC0tPndvcmxkPC9pPjwvYj48
L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7
Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6
IG5vcm1hbFwiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+
PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFs
O1wiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwv
Yj4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS1hbmQtc2FuaXRpemUtMzctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0zNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YWY4OWRjZjg4ODQ3YWFiNGI4OTJhMDA3ZDJkZTMyYzA5Njk4MWViNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMzct
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTcgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUg
cGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2
ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxv
PC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGkgc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SGVsbG88L2k+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxi
PkhlbGxvPC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPmhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7
Ij48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwv
aT48L2I+JworRkFJTCBjb25maXJtZWRNYXJrdXAgc2hvdWxkIGJlIDxpIHN0eWxlPSJtYXJnaW46
IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4gV2FzIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij48
Yj48aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+
cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXpl
LTM3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0
aXplLTM3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzYzY2RkZWE2NjMyODA5NDdkMGQxYmY1YjYxZWI4OGI1
ODVmY2M4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS1hbmQtc2FuaXRpemUtMzcuaHRtbApAQCAtMCwwICsxLDU2IEBACis8IURPQ1RZUEUg
SFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRo
ZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhl
IHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4gPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdFBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCkgeworICAg
IHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAg
IHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBm
YWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK3Rl
c3RQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8Yj48
aT5IZWxsbzwvaT48L2I+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2
IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+
SGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbzwvaT48L2I+
Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2Pjwv
ZGl2PiIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48ZGl2PjxpPkhlbGxv
PC9pPjwvZGl2PjwvYj48L2Rpdj4iLCAiPGkgc3R5bGU9XCJmb250LXdlaWdodDogYm9sZDtcIj5I
ZWxsbzwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2
IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9
XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9i
PjwvZGl2PiIsIAorICAgICAgICAgICI8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+
PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48
L2I+PGI+PGk+IGhlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxz
cGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxi
PjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRp
diIsICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj48Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBw
eDtcIj5oZWxsbzwvaT48L2I+PC9pPiIsCisgICAgICAgICAgIjxpIHN0eWxlPVwibWFyZ2luOiAx
MHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvIDwhLS0gY29t
bWVudCAtLT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxv
Jm5ic3A7d29ybGQ8L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3Bh
biBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFs
aWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxl
PVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4
dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTM4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMzgtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmODlkY2Y4ODg0N2FhYjRiODkyYTAwN2QyZGUzMmMwOTY5
ODFlYjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtYW5kLXNhbml0aXplLTM4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZy
YWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZl
Y3RpbmcgdGhlIHN0eWxlLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxpIHN0eWxlPSJmb250LXdlaWdodDog
Ym9sZDsiPkhlbGxvPC9pPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0
ZXh0LWFsaWduOiBjZW50ZXI7Ij48Yj5IZWxsbzwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxl
PSJmb250LXdlaWdodDogbm9ybWFsOyI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDto
ZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK0ZBSUwgY29uZmlybWVkTWFya3VwIHNob3Vs
ZCBiZSA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uIFdhcyA8aSBz
dHlsZT0ibWFyZ2luOiAxMHB4OyI+PGI+PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9p
PjwvYj48L2k+LgorUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvJm5ic3A7d29y
bGQ8L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0i
Zm9udC13ZWlnaHQ6IG5vcm1hbDsiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9p
PjwvYj48L3NwYW4+PC9pPjwvYj4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0zOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0zOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2M2NkZGVhNjYz
MjgwOTQ3ZDBkMWJmNWI2MWViODhiNTg1ZmNjODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTM4Lmh0bWwKQEAgLTAs
MCArMSw1NiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQg
ZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFm
ZmVjdGluZyB0aGUgc3R5bGUuIDwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG9yaWdpbmFsTWFya3VwKTsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9k
ZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9k
ZS5pbm5lckhUTUw7CisKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhw
ZWN0ZWQgKyAiJyIpOworfQorCit0ZXN0UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIpOwor
dGVzdFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48
L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13
ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4i
LCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48L2Rpdj48L2Rpdj4iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGI+PGRpdj48aT5IZWxsbzwvaT48L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwi
Zm9udC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+PC9k
aXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9k
aXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13
ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAKKyAgICAgICAgICAiPGRpdj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1h
bDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiBoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+
PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+
PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+
PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+PGI+
PGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iLAorICAgICAgICAg
ICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIpOwordGVzdFBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxc
Ij48Yj48aT5IZWxsbyA8IS0tIGNvbW1lbnQgLS0+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9i
PjwvZGl2PiIsICI8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+cGxh
aW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2
PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+cGxhaW4gdGV4
dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5p
dGl6ZS0zOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtYW5kLXNhbml0aXplLTM5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZjg5ZGNmODg4NDdh
YWI0Yjg5MmEwMDdkMmRlMzJjMDk2OTgxZWI0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0zOS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxNyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRp
b24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0
aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4KKworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9p
PjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
aSBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IZWxsbzwvaT4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGI+SGVsbG88L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPjxiPjxpPmhlbGxv
MTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitGQUlM
IGNvbmZpcm1lZE1hcmt1cCBzaG91bGQgYmUgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxv
PC9pPjwvYj48L2k+LiBXYXMgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPjxiPjxpIHN0eWxlPSJt
YXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4KK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij5wbGFpbiB0ZXh0PGI+
PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMzkuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMzkuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4zNjNjZGRlYTY2MzI4MDk0N2QwZDFiZjViNjFlYjg4YjU4NWZjYzg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1z
YW5pdGl6ZS0zOS5odG1sCkBAIC0wLDAgKzEsNTYgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJh
dGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9m
IHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLiA8L3A+Cis8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rp
b24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1l
bnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
dGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5u
ZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdFBhc3RlKCJkaXYi
LCAiSGVsbG8iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxiPjxpPkhlbGxvPC9pPjwv
Yj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbzwvaT48L2I+
PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj48ZGl2PkhlbGxvPC9kaXY+PC9kaXY+PC9kaXY+IiwgIkhlbGxv
Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxkaXY+PGk+SGVsbG88L2k+PC9kaXY+PC9i
PjwvZGl2PiIsICI8aSBzdHlsZT1cImZvbnQtd2VpZ2h0OiBib2xkO1wiPkhlbGxvPC9pPiIpOwor
dGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxiPkhlbGxvPC9iPjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9zcGFuPjwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0
OiBub3JtYWxcIj48Yj48aT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgCisg
ICAgICAgICAgIjxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHls
ZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4gaGVs
bG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJm
b250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVs
bG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxpIHN0eWxl
PVwibWFyZ2luOiAxMHB4O1wiPjxiPjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9p
PjwvYj48L2k+IiwKKyAgICAgICAgICAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88
L2k+PC9iPjwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9
XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG8gPCEtLSBjb21tZW50IC0tPndvcmxk
PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwv
aT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9u
dC13ZWlnaHQ6IG5vcm1hbFwiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwv
Yj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdo
dDogbm9ybWFsO1wiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3Nw
YW4+PC9pPjwvYj4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTQtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmFmODlkY2Y4ODg0N2FhYjRiODkyYTAwN2QyZGUzMmMwOTY5ODFlYjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0
aXplLTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTcgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNl
IHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxp
PkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGkgc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SGVsbG88L2k+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxiPkhlbGxvPC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBu
b3JtYWw7Ij48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9z
cGFuPjwvaT48L2I+JworRkFJTCBjb25maXJtZWRNYXJrdXAgc2hvdWxkIGJlIDxpIHN0eWxlPSJt
YXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4gV2FzIDxpIHN0eWxlPSJtYXJnaW46IDEw
cHg7Ij48Yj48aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9y
bWFsOyI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+
PC9iPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNh
bml0aXplLTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQt
c2FuaXRpemUtNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2M2NkZGVhNjYzMjgwOTQ3ZDBkMWJmNWI2MWVi
ODhiNTg1ZmNjODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTQuaHRtbApAQCAtMCwwICsxLDU2IEBACis8IURPQ1RZ
UEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0
IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2Ug
dGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4g
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdFBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCkgewor
ICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOwor
ICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUi
LCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K3Rlc3RQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8
Yj48aT5IZWxsbzwvaT48L2I+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+
PGk+SGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbzwvaT48
L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2
PjwvZGl2PiIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48ZGl2PjxpPkhl
bGxvPC9pPjwvZGl2PjwvYj48L2Rpdj4iLCAiPGkgc3R5bGU9XCJmb250LXdlaWdodDogYm9sZDtc
Ij5IZWxsbzwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5
bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+
PC9iPjwvZGl2PiIsIAorICAgICAgICAgICI8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+
PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwv
aT48L2I+PGI+PGk+IGhlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxp
PjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9i
PjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7Cit0ZXN0UGFzdGUo
ImRpdiIsICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj48Yj48aSBzdHlsZT1cIm1hcmdpbjog
MTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIsCisgICAgICAgICAgIjxpIHN0eWxlPVwibWFyZ2lu
OiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvIDwhLS0g
Y29tbWVudCAtLT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhl
bGxvJm5ic3A7d29ybGQ8L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48
c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBp
dGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0
eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMg
dGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTQwLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNDAt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmODlkY2Y4ODg0N2FhYjRiODkyYTAwN2QyZGUzMmMw
OTY5ODFlYjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtYW5kLXNhbml0aXplLTQwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVk
IGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBh
ZmZlY3RpbmcgdGhlIHN0eWxlLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxpIHN0eWxlPSJmb250LXdlaWdo
dDogYm9sZDsiPkhlbGxvPC9pPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxl
PSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48Yj5IZWxsbzwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0
eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJz
cDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK0ZBSUwgY29uZmlybWVkTWFya3VwIHNo
b3VsZCBiZSA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uIFdhcyA8
aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+PGI+PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxv
PC9pPjwvYj48L2k+LgorUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvJm5ic3A7
d29ybGQ8L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHls
ZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0
PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS00MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS00MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2M2NkZGVh
NjYzMjgwOTQ3ZDBkMWJmNWI2MWViODhiNTg1ZmNjODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTQwLmh0bWwKQEAg
LTAsMCArMSw1NiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0
ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0
IGFmZmVjdGluZyB0aGUgc3R5bGUuIDwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAg
bm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxz
ZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0g
bm9kZS5pbm5lckhUTUw7CisKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsg
ZXhwZWN0ZWQgKyAiJyIpOworfQorCit0ZXN0UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIp
OwordGVzdFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIsICI8Yj48aT5IZWxsbzwv
aT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9u
dC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rp
dj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2
PjxkaXY+SGVsbG88L2Rpdj48L2Rpdj48L2Rpdj4iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2
IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxsbzwvaT48L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0eWxl
PVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+
PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+
PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9u
dC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAKKyAgICAgICAgICAiPGRpdj48Yj48
aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5v
cm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiBoZWxsbzI8L2k+PC9iPjwvc3Bhbj48
L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7
XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48
L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+
PGI+PGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iLAorICAgICAg
ICAgICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIpOwordGVz
dFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3Jt
YWxcIj48Yj48aT5IZWxsbyA8IS0tIGNvbW1lbnQgLS0+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+
PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4iKTsKK3Rlc3RQYXN0
ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+
cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwv
ZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+cGxhaW4g
dGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1z
YW5pdGl6ZS00MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtYW5kLXNhbml0aXplLTQxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZjg5ZGNmODg4
NDdhYWI0Yjg5MmEwMDdkMmRlMzJjMDk2OTgxZWI0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS00MS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxNyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVy
YXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBv
ZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4KKworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxv
PC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8aSBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IZWxsbzwvaT4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGI+SGVsbG88L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPjxiPjxpPmhl
bGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitG
QUlMIGNvbmZpcm1lZE1hcmt1cCBzaG91bGQgYmUgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhl
bGxvPC9pPjwvYj48L2k+LiBXYXMgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPjxiPjxpIHN0eWxl
PSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4KK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij5wbGFpbiB0ZXh0
PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNDEuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNDEuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4zNjNjZGRlYTY2MzI4MDk0N2QwZDFiZjViNjFlYjg4YjU4NWZjYzg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFu
ZC1zYW5pdGl6ZS00MS5odG1sCkBAIC0wLDAgKzEsNTYgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9w
ZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5
IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLiA8L3A+Cis8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxl
Y3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9j
dW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUu
aW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdFBhc3RlKCJk
aXYiLCAiSGVsbG8iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxiPjxpPkhlbGxvPC9p
PjwvYj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbzwvaT48
L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj48ZGl2PkhlbGxvPC9kaXY+PC9kaXY+PC9kaXY+IiwgIkhl
bGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxkaXY+PGk+SGVsbG88L2k+PC9kaXY+
PC9iPjwvZGl2PiIsICI8aSBzdHlsZT1cImZvbnQtd2VpZ2h0OiBib2xkO1wiPkhlbGxvPC9pPiIp
OwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxiPkhlbGxvPC9iPjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2Vp
Z2h0OiBub3JtYWxcIj48Yj48aT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+Iiwg
CisgICAgICAgICAgIjxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBz
dHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4g
aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9
XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7
aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxpIHN0
eWxlPVwibWFyZ2luOiAxMHB4O1wiPjxiPjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxv
PC9pPjwvYj48L2k+IiwKKyAgICAgICAgICAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVs
bG88L2k+PC9iPjwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5
bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG8gPCEtLSBjb21tZW50IC0tPndv
cmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG8mbmJzcDt3b3Js
ZDwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwi
Zm9udC13ZWlnaHQ6IG5vcm1hbFwiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9p
PjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdl
aWdodDogbm9ybWFsO1wiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48
L3NwYW4+PC9pPjwvYj4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS00Mi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uYWY4OWRjZjg4ODQ3YWFiNGI4OTJhMDA3ZDJkZTMyYzA5Njk4MWViNAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQt
c2FuaXRpemUtNDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTcgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8g
cmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUg
c3R5bGUuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGkgc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SGVs
bG88L2k+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxiPkhlbGxvPC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2Vp
Z2h0OiBub3JtYWw7Ij48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48
L2I+PC9zcGFuPjwvaT48L2I+JworRkFJTCBjb25maXJtZWRNYXJrdXAgc2hvdWxkIGJlIDxpIHN0
eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4gV2FzIDxpIHN0eWxlPSJtYXJn
aW46IDEwcHg7Ij48Yj48aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4u
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdo
dDogbm9ybWFsOyI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bh
bj48L2k+PC9iPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
YW5kLXNhbml0aXplLTQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtYW5kLXNhbml0aXplLTQyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzYzY2RkZWE2NjMyODA5NDdkMGQx
YmY1YjYxZWI4OGI1ODVmY2M4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNDIuaHRtbApAQCAtMCwwICsxLDU2IEBA
Cis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4K
KzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNo
ZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0
byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRo
ZSBzdHlsZS4gPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdFBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBl
Y3RlZCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXApOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRN
TDsKKworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK3Rlc3RQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUo
ImRpdiIsICI8Yj48aT5IZWxsbzwvaT48L2I+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rl
c3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9y
bWFsXCI+PGI+PGk+SGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5I
ZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
ZGl2PjxpPkhlbGxvPC9pPjwvZGl2PjwvYj48L2Rpdj4iLCAiPGkgc3R5bGU9XCJmb250LXdlaWdo
dDogYm9sZDtcIj5IZWxsbzwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj4iKTsKK3Rl
c3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9y
bWFsXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
c3Bhbj48L2k+PC9iPjwvZGl2PiIsIAorICAgICAgICAgICI8ZGl2PjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2
IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxp
PmhlbGxvMTwvaT48L2I+PGI+PGk+IGhlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+
IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxs
bzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7Cit0
ZXN0UGFzdGUoImRpdiIsICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj48Yj48aSBzdHlsZT1c
Im1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIsCisgICAgICAgICAgIjxpIHN0eWxl
PVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhl
bGxvIDwhLS0gY29tbWVudCAtLT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+Iiwg
IjxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj5wbGFpbiB0ZXh0PGI+
PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxp
PjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9s
ZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTQzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2Fu
aXRpemUtNDMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmODlkY2Y4ODg0N2FhYjRiODkyYTAw
N2QyZGUzMmMwOTY5ODFlYjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTQzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDE3IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0
aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAg
d2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxpIHN0eWxlPSJm
b250LXdlaWdodDogYm9sZDsiPkhlbGxvPC9pPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48Yj5IZWxsbzwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxp
PjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+PGI+PGk+aGVsbG8xPC9pPjwvYj48
Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK0ZBSUwgY29uZmlybWVk
TWFya3VwIHNob3VsZCBiZSA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwv
aT4uIFdhcyA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+PGI+PGkgc3R5bGU9Im1hcmdpbjogMTBw
eDsiPmhlbGxvPC9pPjwvYj48L2k+LgorUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhl
bGxvJm5ic3A7d29ybGQ8L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48
c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0
YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS00My5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS00My5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjM2M2NkZGVhNjYzMjgwOTQ3ZDBkMWJmNWI2MWViODhiNTg1ZmNjODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTQz
Lmh0bWwKQEAgLTAsMCArMSw1NiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1z
IHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1
cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuIDwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUp
OworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RB
bGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVk
TWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3Vw
IiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCit0ZXN0UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIsICI8Yj48
aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0
eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvPC9pPjwvYj48L3NwYW4+PC9p
PjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAi
PGRpdj48ZGl2PjxkaXY+SGVsbG88L2Rpdj48L2Rpdj48L2Rpdj4iLCAiSGVsbG8iKTsKK3Rlc3RQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxsbzwvaT48L2Rpdj48L2I+PC9kaXY+Iiwg
IjxpIHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88L2k+Iik7Cit0ZXN0UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88
L2I+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+
SGVsbG88L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0
eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L3NwYW4+PC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAKKyAgICAgICAgICAi
PGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13
ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiBoZWxsbzI8L2k+PC9i
Pjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0
OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9i
Pjwvc3Bhbj48L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGkgc3R5bGU9XCJtYXJnaW46
IDEwcHg7XCI+PGI+PGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4i
LAorICAgICAgICAgICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9p
PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2Vp
Z2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbyA8IS0tIGNvbW1lbnQgLS0+d29ybGQ8L2k+PC9iPjwv
c3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4iKTsK
K3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDog
bm9ybWFsXCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48
L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7
XCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9i
PiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLWFuZC1zYW5pdGl6ZS00NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTQ0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5h
Zjg5ZGNmODg4NDdhYWI0Yjg5MmEwMDdkMmRlMzJjMDk2OTgxZWI0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS00NC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBw
YXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZl
cmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4KKworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxi
PjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88
L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8aSBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IZWxsbzwvaT4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGI+
SGVsbG88L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsi
PjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9p
PjwvYj4nCitGQUlMIGNvbmZpcm1lZE1hcmt1cCBzaG91bGQgYmUgPGkgc3R5bGU9Im1hcmdpbjog
MTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LiBXYXMgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPjxi
PjxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4KK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij5w
bGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUt
NDQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRp
emUtNDQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNjNjZGRlYTY2MzI4MDk0N2QwZDFiZjViNjFlYjg4YjU4
NWZjYzg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLWFuZC1zYW5pdGl6ZS00NC5odG1sCkBAIC0wLDAgKzEsNTYgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhl
IHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUg
dmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLiA8L3A+
Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVu
dC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9v
dCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOwor
ICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5j
dGlvbiB0ZXN0UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dFBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxiPjxp
PkhlbGxvPC9pPjwvYj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4i
KTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj48ZGl2PkhlbGxvPC9kaXY+PC9kaXY+PC9k
aXY+IiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxkaXY+PGk+SGVsbG88
L2k+PC9kaXY+PC9iPjwvZGl2PiIsICI8aSBzdHlsZT1cImZvbnQtd2VpZ2h0OiBib2xkO1wiPkhl
bGxvPC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT48c3BhbiBzdHlsZT1c
ImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+
PC9kaXY+IiwgCisgICAgICAgICAgIjxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwv
Yj48Yj48aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNw
YW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+
PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2
IiwgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPjxiPjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4
O1wiPmhlbGxvPC9pPjwvYj48L2k+IiwKKyAgICAgICAgICAiPGkgc3R5bGU9XCJtYXJnaW46IDEw
cHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+
PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG8gPCEtLSBjb21t
ZW50IC0tPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG8m
bmJzcDt3b3JsZDwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFu
IHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxp
YyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9
XCJmb250LXdlaWdodDogbm9ybWFsO1wiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0
PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUi
OworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0
LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNDUtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS00NS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYWY4OWRjZjg4ODQ3YWFiNGI4OTJhMDA3ZDJkZTMyYzA5Njk4
MWViNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS1hbmQtc2FuaXRpemUtNDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTcgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJh
Z21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVj
dGluZyB0aGUgc3R5bGUuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGkgc3R5bGU9ImZvbnQtd2VpZ2h0OiBi
b2xkOyI+SGVsbG88L2k+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxiPkhlbGxvPC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9
ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hl
bGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworRkFJTCBjb25maXJtZWRNYXJrdXAgc2hvdWxk
IGJlIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4gV2FzIDxpIHN0
eWxlPSJtYXJnaW46IDEwcHg7Ij48Yj48aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+
PC9iPjwvaT4uCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG8mbmJzcDt3b3Js
ZDwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJm
b250LXdlaWdodDogbm9ybWFsOyI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+
PC9iPjwvc3Bhbj48L2k+PC9iPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtYW5kLXNhbml0aXplLTQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTQ1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzYzY2RkZWE2NjMy
ODA5NDdkMGQxYmY1YjYxZWI4OGI1ODVmY2M4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNDUuaHRtbApAQCAtMCww
ICsxLDU2IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+
Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhp
cyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBm
cmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZm
ZWN0aW5nIHRoZSBzdHlsZS4gPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdFBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFy
a3VwLCBleHBlY3RlZCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXApOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2Rl
LmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2Rl
LmlubmVySFRNTDsKKworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK3Rlc3RQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0UGFzdGUoImRpdiIsICI8Yj48aT5IZWxsbzwvaT48L2I+IiwgIjxiPjxpPkhlbGxvPC9pPjwv
Yj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdl
aWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIs
ICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48ZGl2PjxpPkhlbGxvPC9pPjwvZGl2PjwvYj48L2Rpdj4iLCAiPGkgc3R5bGU9XCJm
b250LXdlaWdodDogYm9sZDtcIj5IZWxsbzwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rp
dj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdl
aWdodDogbm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsIAorICAgICAgICAgICI8ZGl2PjxiPjxpPmhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iKTsKK3Rlc3RQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFs
O1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+IGhlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48
L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48
Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48
L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj48Yj48
aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIsCisgICAgICAgICAg
IjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+Iik7Cit0ZXN0UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwi
PjxiPjxpPkhlbGxvIDwhLS0gY29tbWVudCAtLT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+
PC9kaXY+IiwgIjxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPiIpOwordGVzdFBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj5wbGFp
biB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+
IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5wbGFpbiB0ZXh0
PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0
aXplLTQ2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS1hbmQtc2FuaXRpemUtNDYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmODlkY2Y4ODg0N2Fh
YjRiODkyYTAwN2QyZGUzMmMwOTY5ODFlYjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTQ2LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDE3IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlv
biB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRo
ZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+
PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxp
IHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhlbGxvPC9pPicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48Yj5IZWxsbzwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+PGI+PGk+aGVsbG8x
PC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK0ZBSUwg
Y29uZmlybWVkTWFya3VwIHNob3VsZCBiZSA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88
L2k+PC9iPjwvaT4uIFdhcyA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+PGI+PGkgc3R5bGU9Im1h
cmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LgorUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPnBsYWluIHRleHQ8Yj48
aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS00Ni5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS00Ni5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjM2M2NkZGVhNjYzMjgwOTQ3ZDBkMWJmNWI2MWViODhiNTg1ZmNjODcKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNh
bml0aXplLTQ2Lmh0bWwKQEAgLTAsMCArMSw1NiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0
aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2Yg
dGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuIDwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIgbm9kZSA9IGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICByb290LmFwcGVuZENo
aWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBm
YWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAg
Y29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBzaG91bGRCZSgiY29uZmly
bWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCit0ZXN0UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVsbG88L2k+PC9i
PiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvPC9pPjwvYj48
L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3Rl
KCJkaXYiLCAiPGRpdj48ZGl2PjxkaXY+SGVsbG88L2Rpdj48L2Rpdj48L2Rpdj4iLCAiSGVsbG8i
KTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxsbzwvaT48L2Rpdj48L2I+
PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88L2k+Iik7Cit0
ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGI+SGVsbG88L2I+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L3NwYW4+PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6
IG5vcm1hbFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAKKyAg
ICAgICAgICAiPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxl
PVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiBoZWxs
bzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZv
bnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxs
bzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGkgc3R5bGU9
XCJtYXJnaW46IDEwcHg7XCI+PGI+PGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+
PC9iPjwvaT4iLAorICAgICAgICAgICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwv
aT48L2I+PC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1c
ImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbyA8IS0tIGNvbW1lbnQgLS0+d29ybGQ8
L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9p
PjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250
LXdlaWdodDogbm9ybWFsXCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9i
Pjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0
OiBub3JtYWw7XCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bh
bj48L2k+PC9iPiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS00Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTQ3LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5hZjg5ZGNmODg4NDdhYWI0Yjg5MmEwMDdkMmRlMzJjMDk2OTgxZWI0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5p
dGl6ZS00Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0
aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1
Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHls
ZS4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+
PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8aSBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IZWxsbzwv
aT4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGI+SGVsbG88L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6
IG5vcm1hbDsiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48
L3NwYW4+PC9pPjwvYj4nCitGQUlMIGNvbmZpcm1lZE1hcmt1cCBzaG91bGQgYmUgPGkgc3R5bGU9
Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LiBXYXMgPGkgc3R5bGU9Im1hcmdpbjog
MTBweDsiPjxiPjxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4KK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBu
b3JtYWw7Ij5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwv
aT48L2I+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQt
c2FuaXRpemUtNDcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1h
bmQtc2FuaXRpemUtNDcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNjNjZGRlYTY2MzI4MDk0N2QwZDFiZjVi
NjFlYjg4YjU4NWZjYzg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS00Ny5odG1sCkBAIC0wLDAgKzEsNTYgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJl
ZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0
eWxlLiA8L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwg
PSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5j
dGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUg
PSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOwor
fQorCitmdW5jdGlvbiB0ZXN0UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdFBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2
IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxc
Ij48Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxv
PC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj48ZGl2PkhlbGxvPC9kaXY+
PC9kaXY+PC9kaXY+IiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxkaXY+
PGk+SGVsbG88L2k+PC9kaXY+PC9iPjwvZGl2PiIsICI8aSBzdHlsZT1cImZvbnQtd2VpZ2h0OiBi
b2xkO1wiPkhlbGxvPC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PiIpOwordGVzdFBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT48c3Bh
biBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT53b3JsZDwvaT48L2I+PC9zcGFu
PjwvaT48L2I+PC9kaXY+IiwgCisgICAgICAgICAgIjxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVs
bG8xPC9pPjwvYj48Yj48aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAi
PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwv
aT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKK3Rlc3RQ
YXN0ZSgiZGl2IiwgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPjxiPjxpIHN0eWxlPVwibWFy
Z2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+IiwKKyAgICAgICAgICAiPGkgc3R5bGU9XCJt
YXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxk
aXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG8g
PCEtLSBjb21tZW50IC0tPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+
PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPnBsYWluIHRleHQ8Yj48aT5i
b2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNw
YW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0
YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5
ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNDgtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6
ZS00OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWY4OWRjZjg4ODQ3YWFiNGI4OTJhMDA3ZDJk
ZTMyYzA5Njk4MWViNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNDgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTcg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBw
YXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRo
b3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGkgc3R5bGU9ImZvbnQt
d2VpZ2h0OiBib2xkOyI+SGVsbG88L2k+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxiPkhlbGxvPC9iPjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNw
YW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxp
PiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworRkFJTCBjb25maXJtZWRNYXJr
dXAgc2hvdWxkIGJlIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4g
V2FzIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij48Yj48aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+
aGVsbG88L2k+PC9iPjwvaT4uCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG8m
bmJzcDt3b3JsZDwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFu
IHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGlj
IHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTQ4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzYz
Y2RkZWE2NjMyODA5NDdkMGQxYmY1YjYxZWI4OGI1ODVmY2M4NwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNDguaHRt
bApAQCAtMCwwICsxLDU2IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBI
VE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlw
dGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhl
IHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdp
dGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4gPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdFBhc3RlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwLCBleHBlY3RlZCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisK
KyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIs
IGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJr
dXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK3Rlc3RQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8Yj48aT5IZWxsbzwvaT48L2I+IiwgIjxiPjxpPkhl
bGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9
XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9i
PjwvZGl2PiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIpOwordGVzdFBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48ZGl2PjxpPkhlbGxvPC9pPjwvZGl2PjwvYj48L2Rpdj4iLCAiPGkg
c3R5bGU9XCJmb250LXdlaWdodDogYm9sZDtcIj5IZWxsbzwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxs
bzwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9
XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsIAorICAgICAgICAgICI8ZGl2
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
KTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdo
dDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+IGhlbGxvMjwvaT48L2I+PC9z
cGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5v
cm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9z
cGFuPjwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8aSBzdHlsZT1cIm1hcmdpbjogMTBw
eDtcIj48Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIsCisg
ICAgICAgICAgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+Iik7
Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6
IG5vcm1hbFwiPjxiPjxpPkhlbGxvIDwhLS0gY29tbWVudCAtLT53b3JsZDwvaT48L2I+PC9zcGFu
PjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPiIpOwordGVz
dFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3Jt
YWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48
L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5w
bGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
YW5kLXNhbml0aXplLTQ5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNDktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmODlk
Y2Y4ODg0N2FhYjRiODkyYTAwN2QyZGUzMmMwOTY5ODFlYjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTQ5LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3Rl
IG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9z
aXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+
SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48
L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxpIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhlbGxvPC9pPicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48Yj5IZWxs
bzwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5oZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+PGI+
PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9i
PicKK0ZBSUwgY29uZmlybWVkTWFya3VwIHNob3VsZCBiZSA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4
OyI+aGVsbG88L2k+PC9iPjwvaT4uIFdhcyA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+PGI+PGkg
c3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LgorUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPnBsYWlu
IHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS00OS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS00
OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjM2M2NkZGVhNjYzMjgwOTQ3ZDBkMWJmNWI2MWViODhiNTg1ZmNj
ODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtYW5kLXNhbml0aXplLTQ5Lmh0bWwKQEAgLTAsMCArMSw1NiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFz
dGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJi
b3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuIDwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIg
bm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICByb290
LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2Up
OworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBzaG91bGRC
ZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCit0ZXN0UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVs
bG88L2k+PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxv
PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwor
dGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PjxkaXY+SGVsbG88L2Rpdj48L2Rpdj48L2Rpdj4i
LCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxsbzwvaT48
L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88
L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9u
dC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rp
dj4iLCAKKyAgICAgICAgICAiPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxz
cGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxi
PjxpPiBoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBz
dHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4m
bmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAi
PGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+PGI+PGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+
aGVsbG88L2k+PC9iPjwvaT4iLAorICAgICAgICAgICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtc
Ij5oZWxsbzwvaT48L2I+PC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3Bh
biBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbyA8IS0tIGNvbW1lbnQg
LS0+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbyZuYnNw
O3dvcmxkPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5
bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRl
eHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZv
bnQtd2VpZ2h0OiBub3JtYWw7XCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+
PC9iPjwvc3Bhbj48L2k+PC9iPiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS01LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYWY4OWRjZjg4ODQ3YWFiNGI4OTJhMDA3ZDJkZTMyYzA5Njk4MWViNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1h
bmQtc2FuaXRpemUtNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNyBAQAorVGhpcyB0ZXN0IGNo
ZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0
byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRo
ZSBzdHlsZS4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8aSBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5I
ZWxsbzwvaT4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGI+SGVsbG88L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13
ZWlnaHQ6IG5vcm1hbDsiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9p
PjwvYj48L3NwYW4+PC9pPjwvYj4nCitGQUlMIGNvbmZpcm1lZE1hcmt1cCBzaG91bGQgYmUgPGkg
c3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LiBXYXMgPGkgc3R5bGU9Im1h
cmdpbjogMTBweDsiPjxiPjxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9p
Pi4KK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwv
Yj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2Vp
Z2h0OiBub3JtYWw7Ij5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9z
cGFuPjwvaT48L2I+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS1hbmQtc2FuaXRpemUtNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLWFuZC1zYW5pdGl6ZS01Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzYzY2RkZWE2NjMyODA5NDdkMGQx
YmY1YjYxZWI4OGI1ODVmY2M4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNS5odG1sCkBAIC0wLDAgKzEsNTYgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRv
IHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhl
IHN0eWxlLiA8L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBz
ZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitm
dW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFi
bGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2Rl
OworfQorCitmdW5jdGlvbiB0ZXN0UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdFBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgi
ZGl2IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVz
dFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3Jt
YWxcIj48Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhl
bGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj48ZGl2PkhlbGxvPC9k
aXY+PC9kaXY+PC9kaXY+IiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxk
aXY+PGk+SGVsbG88L2k+PC9kaXY+PC9iPjwvZGl2PiIsICI8aSBzdHlsZT1cImZvbnQtd2VpZ2h0
OiBib2xkO1wiPkhlbGxvPC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PiIpOwordGVz
dFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3Jt
YWxcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT48
c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT53b3JsZDwvaT48L2I+PC9z
cGFuPjwvaT48L2I+PC9kaXY+IiwgCisgICAgICAgICAgIjxkaXY+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+
aGVsbG8xPC9pPjwvYj48Yj48aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4i
LCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxv
MTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKK3Rl
c3RQYXN0ZSgiZGl2IiwgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPjxiPjxpIHN0eWxlPVwi
bWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+IiwKKyAgICAgICAgICAiPGkgc3R5bGU9
XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVs
bG8gPCEtLSBjb21tZW50IC0tPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAi
PGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPnBsYWluIHRleHQ8Yj48
aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+
PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPnBsYWluIHRleHQ8Yj48aT5ib2xk
IGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKKworcm9vdC5zdHlsZS5kaXNw
bGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNTAtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5p
dGl6ZS01MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWY4OWRjZjg4ODQ3YWFiNGI4OTJhMDA3
ZDJkZTMyYzA5Njk4MWViNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTcgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRo
ZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3
aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGkgc3R5bGU9ImZv
bnQtd2VpZ2h0OiBib2xkOyI+SGVsbG88L2k+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxiPkhlbGxvPC9iPjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+
PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij48Yj48aT5oZWxsbzE8L2k+PC9iPjxi
PjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworRkFJTCBjb25maXJtZWRN
YXJrdXAgc2hvdWxkIGJlIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9p
Pi4gV2FzIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij48Yj48aSBzdHlsZT0ibWFyZ2luOiAxMHB4
OyI+aGVsbG88L2k+PC9iPjwvaT4uCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVs
bG8mbmJzcDt3b3JsZDwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxz
cGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRh
bGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTUwLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTUwLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MzYzY2RkZWE2NjMyODA5NDdkMGQxYmY1YjYxZWI4OGI1ODVmY2M4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNTAu
aHRtbApAQCAtMCwwICsxLDU2IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RU
RCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNj
cmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMg
dGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3Vw
IHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4gPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdFBhc3RlKHRhZ05hbWUs
IG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7
CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFs
bCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRN
YXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK3Rlc3RQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8Yj48aT5IZWxsbzwvaT48L2I+IiwgIjxiPjxp
PkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5
bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+
PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIpOwordGVzdFBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48ZGl2PjxpPkhlbGxvPC9pPjwvZGl2PjwvYj48L2Rpdj4iLCAi
PGkgc3R5bGU9XCJmb250LXdlaWdodDogYm9sZDtcIj5IZWxsbzwvaT4iKTsKK3Rlc3RQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwv
Yj48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5I
ZWxsbzwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5
bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsIAorICAgICAgICAgICI8
ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdl
aWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+IGhlbGxvMjwvaT48L2I+
PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6
IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+
PC9zcGFuPjwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8aSBzdHlsZT1cIm1hcmdpbjog
MTBweDtcIj48Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIs
CisgICAgICAgICAgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+
Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWln
aHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvIDwhLS0gY29tbWVudCAtLT53b3JsZDwvaT48L2I+PC9z
cGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPiIpOwor
dGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBu
b3JtYWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwv
aT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtc
Ij5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtYW5kLXNhbml0aXplLTUxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFm
ODlkY2Y4ODg0N2FhYjRiODkyYTAwN2QyZGUzMmMwOTY5ODFlYjQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTUxLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBh
c3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVy
Ym9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+
PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwv
aT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxpIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhlbGxvPC9pPicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48Yj5I
ZWxsbzwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5oZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+
PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+
PC9iPicKK0ZBSUwgY29uZmlybWVkTWFya3VwIHNob3VsZCBiZSA8aSBzdHlsZT0ibWFyZ2luOiAx
MHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uIFdhcyA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+PGI+
PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LgorUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPnBs
YWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS01
MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6
ZS01MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2M2NkZGVhNjYzMjgwOTQ3ZDBkMWJmNWI2MWViODhiNTg1
ZmNjODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtYW5kLXNhbml0aXplLTUxLmh0bWwKQEAgLTAsMCArMSw1NiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUg
cGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2
ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuIDwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsKKyAgICB2
YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBy
b290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFs
c2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBzaG91
bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCit0ZXN0
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGI+PGk+
SGVsbG88L2k+PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhl
bGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIp
OwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PjxkaXY+SGVsbG88L2Rpdj48L2Rpdj48L2Rp
dj4iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxsbzwv
aT48L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+SGVs
bG88L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwi
Zm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48
L2Rpdj4iLCAKKyAgICAgICAgICAiPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9i
PjxiPjxpPiBoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3Bh
biBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48
aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYi
LCAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+PGI+PGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7
XCI+aGVsbG88L2k+PC9iPjwvaT4iLAorICAgICAgICAgICI8aSBzdHlsZT1cIm1hcmdpbjogMTBw
eDtcIj5oZWxsbzwvaT48L2I+PC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48
c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbyA8IS0tIGNvbW1l
bnQgLS0+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbyZu
YnNwO3dvcmxkPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4g
c3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGlj
IHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1c
ImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8
L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS01Mi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTUyLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5hZjg5ZGNmODg4NDdhYWI0Yjg5MmEwMDdkMmRlMzJjMDk2OTgx
ZWI0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLWFuZC1zYW5pdGl6ZS01Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNyBAQAorVGhpcyB0
ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFn
bWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0
aW5nIHRoZSBzdHlsZS4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8aSBzdHlsZT0iZm9udC13ZWlnaHQ6IGJv
bGQ7Ij5IZWxsbzwvaT4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGI+SGVsbG88L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0i
Zm9udC13ZWlnaHQ6IG5vcm1hbDsiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVs
bG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitGQUlMIGNvbmZpcm1lZE1hcmt1cCBzaG91bGQg
YmUgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LiBXYXMgPGkgc3R5
bGU9Im1hcmdpbjogMTBweDsiPjxiPjxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48
L2I+PC9pPi4KK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbyZuYnNwO3dvcmxk
PC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZv
bnQtd2VpZ2h0OiBub3JtYWw7Ij5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48
L2I+PC9zcGFuPjwvaT48L2I+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS1hbmQtc2FuaXRpemUtNTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNjNjZGRlYTY2MzI4
MDk0N2QwZDFiZjViNjFlYjg4YjU4NWZjYzg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS01Mi5odG1sCkBAIC0wLDAg
KzEsNTYgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZy
YWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZl
Y3RpbmcgdGhlIHN0eWxlLiA8L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+
CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290
KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2
YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250
ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJl
dHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdFBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iKTsKK3Rl
c3RQYXN0ZSgiZGl2IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iLCAiPGI+PGk+SGVsbG88L2k+PC9i
PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2Vp
Z2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+Iiwg
IjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj48ZGl2
PkhlbGxvPC9kaXY+PC9kaXY+PC9kaXY+IiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxkaXY+PGk+SGVsbG88L2k+PC9kaXY+PC9iPjwvZGl2PiIsICI8aSBzdHlsZT1cImZv
bnQtd2VpZ2h0OiBib2xkO1wiPkhlbGxvPC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2
PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2Vp
Z2h0OiBub3JtYWxcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgCisgICAgICAgICAgIjxkaXY+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIpOwordGVzdFBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7
XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwv
Yj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxi
PjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwv
Yj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPjxiPjxp
IHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+IiwKKyAgICAgICAgICAi
PGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iKTsKK3Rlc3RQYXN0
ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+
PGI+PGk+SGVsbG8gPCEtLSBjb21tZW50IC0tPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48
L2Rpdj4iLCAiPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPnBsYWlu
IHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4i
LCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPnBsYWluIHRleHQ8
Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKKworcm9vdC5z
dHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRp
emUtNTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LWFuZC1zYW5pdGl6ZS01My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWY4OWRjZjg4ODQ3YWFi
NGI4OTJhMDA3ZDJkZTMyYzA5Njk4MWViNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNTMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTcgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9u
IHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhl
IG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48
L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGkg
c3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SGVsbG88L2k+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxiPkhlbGxvPC9iPjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij48Yj48aT5oZWxsbzE8
L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworRkFJTCBj
b25maXJtZWRNYXJrdXAgc2hvdWxkIGJlIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwv
aT48L2I+PC9pPi4gV2FzIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij48Yj48aSBzdHlsZT0ibWFy
Z2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+cGxhaW4gdGV4dDxiPjxp
PmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTUzLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTUzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMzYzY2RkZWE2NjMyODA5NDdkMGQxYmY1YjYxZWI4OGI1ODVmY2M4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2Fu
aXRpemUtNTMuaHRtbApAQCAtMCwwICsxLDU2IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0v
L0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxw
IGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRp
b24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0
aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4gPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdFBhc3Rl
KHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCkgeworICAgIHZhciBub2RlID0gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIHJvb3QuYXBwZW5kQ2hp
bGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZh
bHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBj
b25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK3Rlc3RQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8Yj48aT5IZWxsbzwvaT48L2I+
IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+
PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG88L2k+PC9iPjwv
c3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIp
OwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48ZGl2PjxpPkhlbGxvPC9pPjwvZGl2PjwvYj48
L2Rpdj4iLCAiPGkgc3R5bGU9XCJmb250LXdlaWdodDogYm9sZDtcIj5IZWxsbzwvaT4iKTsKK3Rl
c3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
Yj5IZWxsbzwvYj48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48Yj5IZWxsbzwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+
PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
c3Bhbj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDog
bm9ybWFsXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsIAorICAg
ICAgICAgICI8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9
XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+IGhlbGxv
MjwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9u
dC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxv
MjwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8aSBzdHlsZT1c
Im1hcmdpbjogMTBweDtcIj48Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48
L2I+PC9pPiIsCisgICAgICAgICAgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9p
PjwvYj48L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwi
Zm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvIDwhLS0gY29tbWVudCAtLT53b3JsZDwv
aT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+
PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQt
d2VpZ2h0OiBub3JtYWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+
PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6
IG5vcm1hbDtcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFu
PjwvaT48L2I+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTU0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNTQtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmFmODlkY2Y4ODg0N2FhYjRiODkyYTAwN2QyZGUzMmMwOTY5ODFlYjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0
aXplLTU0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVj
ZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxl
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48
aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxpIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhlbGxvPC9p
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50
ZXI7Ij48Yj5IZWxsbzwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDog
bm9ybWFsOyI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwv
c3Bhbj48L2k+PC9iPicKK0ZBSUwgY29uZmlybWVkTWFya3VwIHNob3VsZCBiZSA8aSBzdHlsZT0i
bWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uIFdhcyA8aSBzdHlsZT0ibWFyZ2luOiAx
MHB4OyI+PGI+PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LgorUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5v
cm1hbDsiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9p
PjwvYj4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1z
YW5pdGl6ZS01NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFu
ZC1zYW5pdGl6ZS01NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2M2NkZGVhNjYzMjgwOTQ3ZDBkMWJmNWI2
MWViODhiNTg1ZmNjODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTU0Lmh0bWwKQEAgLTAsMCArMSw1NiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVk
dWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5
bGUuIDwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQp
IHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3Vw
KTsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBh
c3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisK
KyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOwor
fQorCit0ZXN0UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYi
LCAiPGI+PGk+SGVsbG88L2k+PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwi
PjxiPjxpPkhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG88
L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PjxkaXY+SGVsbG88L2Rpdj48
L2Rpdj48L2Rpdj4iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGRpdj48
aT5IZWxsbzwvaT48L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJv
bGQ7XCI+SGVsbG88L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+Iik7Cit0ZXN0UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPjxzcGFu
IHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L3NwYW4+
PC9pPjwvYj48L2Rpdj4iLCAKKyAgICAgICAgICAiPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxs
bzE8L2k+PC9iPjxiPjxpPiBoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8
Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9p
PjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOwordGVzdFBh
c3RlKCJkaXYiLCAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+PGI+PGkgc3R5bGU9XCJtYXJn
aW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iLAorICAgICAgICAgICI8aSBzdHlsZT1cIm1h
cmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbyA8
IS0tIGNvbW1lbnQgLS0+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48
aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+
PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+cGxhaW4gdGV4dDxiPjxpPmJv
bGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3Bh
biBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRh
bGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS01NS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXpl
LTU1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZjg5ZGNmODg4NDdhYWI0Yjg5MmEwMDdkMmRl
MzJjMDk2OTgxZWI0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS01NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNyBA
QAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBh
c3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhv
dXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxv
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8aSBzdHlsZT0iZm9udC13
ZWlnaHQ6IGJvbGQ7Ij5IZWxsbzwvaT4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGI+SGVsbG88L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3Bh
biBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+
Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitGQUlMIGNvbmZpcm1lZE1hcmt1
cCBzaG91bGQgYmUgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LiBX
YXMgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPjxiPjxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5o
ZWxsbzwvaT48L2I+PC9pPi4KK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbyZu
YnNwO3dvcmxkPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4g
c3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMg
dGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNTUuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNjNj
ZGRlYTY2MzI4MDk0N2QwZDFiZjViNjFlYjg4YjU4NWZjYzg3Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS01NS5odG1s
CkBAIC0wLDAgKzEsNTYgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUg
cGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0
aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLiA8L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRD
aGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXAp
IHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAg
bm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3Vw
OworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdFBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVs
bG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iLCAiPGI+PGk+SGVs
bG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1c
ImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+
PC9kaXY+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj48ZGl2PkhlbGxvPC9kaXY+PC9kaXY+PC9kaXY+IiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxkaXY+PGk+SGVsbG88L2k+PC9kaXY+PC9iPjwvZGl2PiIsICI8aSBz
dHlsZT1cImZvbnQtd2VpZ2h0OiBib2xkO1wiPkhlbGxvPC9pPiIpOwordGVzdFBhc3RlKCJkaXYi
LCAiPGRpdj48ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxv
PC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1c
ImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgCisgICAgICAgICAgIjxkaXY+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIp
OwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0
OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4gaGVsbG8yPC9pPjwvYj48L3Nw
YW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9y
bWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3Nw
YW4+PC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4
O1wiPjxiPjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+IiwKKyAg
ICAgICAgICAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iKTsK
K3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDog
bm9ybWFsXCI+PGI+PGk+SGVsbG8gPCEtLSBjb21tZW50IC0tPndvcmxkPC9pPjwvYj48L3NwYW4+
PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7Cit0ZXN0
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1h
bFwiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwv
Yj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPnBs
YWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsK
Kworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1h
bmQtc2FuaXRpemUtNTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS01Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWY4OWRj
Zjg4ODQ3YWFiNGI4OTJhMDA3ZDJkZTMyYzA5Njk4MWViNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNTYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTcgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUg
b3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3Np
dHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5I
ZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwv
Yj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGkgc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SGVsbG88L2k+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxiPkhlbGxv
PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPmhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij48Yj48
aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+
JworRkFJTCBjb25maXJtZWRNYXJrdXAgc2hvdWxkIGJlIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7
Ij5oZWxsbzwvaT48L2I+PC9pPi4gV2FzIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij48Yj48aSBz
dHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+cGxhaW4g
dGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTU2Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTU2
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMzYzY2RkZWE2NjMyODA5NDdkMGQxYmY1YjYxZWI4OGI1ODVmY2M4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS1hbmQtc2FuaXRpemUtNTYuaHRtbApAQCAtMCwwICsxLDU2IEBACis8IURPQ1RZUEUgSFRNTCBQ
VUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0
ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJv
c2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4gPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdFBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCkgeworICAgIHZhciBu
b2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIHJvb3Qu
YXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
Q29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7
CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK3Rlc3RQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8Yj48aT5IZWxs
bzwvaT48L2I+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxk
aXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG88
L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0
ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIs
ICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48ZGl2PjxpPkhlbGxvPC9pPjwv
ZGl2PjwvYj48L2Rpdj4iLCAiPGkgc3R5bGU9XCJmb250LXdlaWdodDogYm9sZDtcIj5IZWxsbzwv
aT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxk
aXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250
LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2
PiIsIAorICAgICAgICAgICI8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNw
YW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+
PGk+IGhlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0
eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZu
YnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8
aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj48Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5o
ZWxsbzwvaT48L2I+PC9pPiIsCisgICAgICAgICAgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wi
PmhlbGxvPC9pPjwvYj48L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFu
IHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvIDwhLS0gY29tbWVudCAt
LT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvJm5ic3A7
d29ybGQ8L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHls
ZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4
dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9u
dC13ZWlnaHQ6IG5vcm1hbDtcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48
L2I+PC9zcGFuPjwvaT48L2I+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTU3LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNTctZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmFmODlkY2Y4ODg0N2FhYjRiODkyYTAwN2QyZGUzMmMwOTY5ODFlYjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
YW5kLXNhbml0aXplLTU3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50
IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3Rpbmcg
dGhlIHN0eWxlLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxv
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxpIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsi
PkhlbGxvPC9pPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFs
aWduOiBjZW50ZXI7Ij48Yj5IZWxsbzwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250
LXdlaWdodDogbm9ybWFsOyI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8
L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK0ZBSUwgY29uZmlybWVkTWFya3VwIHNob3VsZCBiZSA8
aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uIFdhcyA8aSBzdHlsZT0i
bWFyZ2luOiAxMHB4OyI+PGI+PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48
L2k+LgorUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+
PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13
ZWlnaHQ6IG5vcm1hbDsiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48
L3NwYW4+PC9pPjwvYj4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLWFuZC1zYW5pdGl6ZS01Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLWFuZC1zYW5pdGl6ZS01Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2M2NkZGVhNjYzMjgwOTQ3
ZDBkMWJmNWI2MWViODhiNTg1ZmNjODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTU3Lmh0bWwKQEAgLTAsMCArMSw1
NiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21l
bnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGlu
ZyB0aGUgc3R5bGUuIDwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdp
bmFsTWFya3VwKTsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1
cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5l
ckhUTUw7CisKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQg
KyAiJyIpOworfQorCit0ZXN0UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIpOwordGVzdFBh
c3RlKCJkaXYiLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7
Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6
IG5vcm1hbFwiPjxiPjxpPkhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+
PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PjxkaXY+SGVs
bG88L2Rpdj48L2Rpdj48L2Rpdj4iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+
PGI+PGRpdj48aT5IZWxsbzwvaT48L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9udC13
ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+PC9kaXY+Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+Iik7
Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6
IG5vcm1hbFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAKKyAgICAgICAgICAiPGRpdj48Yj48aT5oZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48
Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiBoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwv
ZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+
aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIp
OwordGVzdFBhc3RlKCJkaXYiLCAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+PGI+PGkgc3R5
bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iLAorICAgICAgICAgICI8aSBz
dHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIpOwordGVzdFBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48
aT5IZWxsbyA8IS0tIGNvbW1lbnQgLS0+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2
PiIsICI8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+cGxhaW4gdGV4
dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8
Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+cGxhaW4gdGV4dDxiPjxp
PmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS01
OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5k
LXNhbml0aXplLTU4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZjg5ZGNmODg4NDdhYWI0Yjg5
MmEwMDdkMmRlMzJjMDk2OTgxZWI0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS01OC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxNyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJp
bXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFy
a3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4KKworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8aSBzdHls
ZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IZWxsbzwvaT4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGI+SGVsbG88L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPjxiPjxpPmhlbGxvMTwvaT48
L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitGQUlMIGNvbmZp
cm1lZE1hcmt1cCBzaG91bGQgYmUgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwv
Yj48L2k+LiBXYXMgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPjxiPjxpIHN0eWxlPSJtYXJnaW46
IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4KK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48
aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+
PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij5wbGFpbiB0ZXh0PGI+PGk+Ym9s
ZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNTguaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNTguaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4zNjNjZGRlYTY2MzI4MDk0N2QwZDFiZjViNjFlYjg4YjU4NWZjYzg3Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6
ZS01OC5odG1sCkBAIC0wLDAgKzEsNTYgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0
cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBt
YXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLiA8L3A+Cis8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsK
K3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9k
eS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFt
ZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1M
ID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdFBhc3RlKCJkaXYiLCAiSGVs
bG8iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iLCAi
PGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3Bh
biBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFu
PjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj48ZGl2PkhlbGxvPC9kaXY+PC9kaXY+PC9kaXY+IiwgIkhlbGxvIik7Cit0
ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxkaXY+PGk+SGVsbG88L2k+PC9kaXY+PC9iPjwvZGl2
PiIsICI8aSBzdHlsZT1cImZvbnQtd2VpZ2h0OiBib2xkO1wiPkhlbGxvPC9pPiIpOwordGVzdFBh
c3RlKCJkaXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhl
bGxvPC9iPjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxiPkhlbGxvPC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3Bh
biBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9zcGFu
PjwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3Jt
YWxcIj48Yj48aT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgCisgICAgICAg
ICAgIjxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZv
bnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4gaGVsbG8yPC9p
PjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdl
aWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9p
PjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxpIHN0eWxlPVwibWFy
Z2luOiAxMHB4O1wiPjxiPjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48
L2k+IiwKKyAgICAgICAgICAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9i
PjwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250
LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG8gPCEtLSBjb21tZW50IC0tPndvcmxkPC9pPjwv
Yj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+
Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWln
aHQ6IG5vcm1hbFwiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3Nw
YW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9y
bWFsO1wiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9p
PjwvYj4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS1hbmQtc2FuaXRpemUtNTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS01OS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uYWY4OWRjZjg4ODQ3YWFiNGI4OTJhMDA3ZDJkZTMyYzA5Njk4MWViNAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUt
NTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTcgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCB0
aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRo
ZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhl
bGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGkgc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SGVsbG88L2k+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxiPkhlbGxvPC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3Jt
YWw7Ij48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFu
PjwvaT48L2I+JworRkFJTCBjb25maXJtZWRNYXJrdXAgc2hvdWxkIGJlIDxpIHN0eWxlPSJtYXJn
aW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4gV2FzIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7
Ij48Yj48aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFs
OyI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9i
PicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0
aXplLTU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNh
bml0aXplLTU5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzYzY2RkZWE2NjMyODA5NDdkMGQxYmY1YjYxZWI4
OGI1ODVmY2M4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNTkuaHRtbApAQCAtMCwwICsxLDU2IEBACis8IURPQ1RZ
UEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0
IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2Ug
dGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4g
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdFBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCkgewor
ICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOwor
ICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUi
LCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K3Rlc3RQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8
Yj48aT5IZWxsbzwvaT48L2I+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+
PGk+SGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbzwvaT48
L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2
PjwvZGl2PiIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48ZGl2PjxpPkhl
bGxvPC9pPjwvZGl2PjwvYj48L2Rpdj4iLCAiPGkgc3R5bGU9XCJmb250LXdlaWdodDogYm9sZDtc
Ij5IZWxsbzwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5
bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+
PC9iPjwvZGl2PiIsIAorICAgICAgICAgICI8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+
PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwv
aT48L2I+PGI+PGk+IGhlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxp
PjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9i
PjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7Cit0ZXN0UGFzdGUo
ImRpdiIsICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj48Yj48aSBzdHlsZT1cIm1hcmdpbjog
MTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIsCisgICAgICAgICAgIjxpIHN0eWxlPVwibWFyZ2lu
OiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvIDwhLS0g
Y29tbWVudCAtLT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhl
bGxvJm5ic3A7d29ybGQ8L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48
c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBp
dGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0
eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMg
dGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTYtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS02LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZjg5ZGNmODg4NDdhYWI0Yjg5MmEwMDdkMmRlMzJjMDk2
OTgxZWI0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLWFuZC1zYW5pdGl6ZS02LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZy
YWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZl
Y3RpbmcgdGhlIHN0eWxlLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxpIHN0eWxlPSJmb250LXdlaWdodDog
Ym9sZDsiPkhlbGxvPC9pPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0
ZXh0LWFsaWduOiBjZW50ZXI7Ij48Yj5IZWxsbzwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxl
PSJmb250LXdlaWdodDogbm9ybWFsOyI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDto
ZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK0ZBSUwgY29uZmlybWVkTWFya3VwIHNob3Vs
ZCBiZSA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uIFdhcyA8aSBz
dHlsZT0ibWFyZ2luOiAxMHB4OyI+PGI+PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9p
PjwvYj48L2k+LgorUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvJm5ic3A7d29y
bGQ8L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0i
Zm9udC13ZWlnaHQ6IG5vcm1hbDsiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9p
PjwvYj48L3NwYW4+PC9pPjwvYj4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS02Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNjNjZGRlYTY2MzI4
MDk0N2QwZDFiZjViNjFlYjg4YjU4NWZjYzg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS02Lmh0bWwKQEAgLTAsMCAr
MSw1NiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJh
Z21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVj
dGluZyB0aGUgc3R5bGUuIDwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwKTsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5m
b2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5p
bm5lckhUTUw7CisKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0
ZWQgKyAiJyIpOworfQorCit0ZXN0UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIpOwordGVz
dFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48L2I+
Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWln
aHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAi
PGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PjxkaXY+
SGVsbG88L2Rpdj48L2Rpdj48L2Rpdj4iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxk
aXY+PGI+PGRpdj48aT5IZWxsbzwvaT48L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9u
dC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+PC9kaXY+
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+
Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWln
aHQ6IG5vcm1hbFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAKKyAgICAgICAgICAiPGRpdj48Yj48aT5oZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtc
Ij48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiBoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9i
PjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+
PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9i
PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+PGI+PGkg
c3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iLAorICAgICAgICAgICI8
aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIpOwordGVzdFBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48
Yj48aT5IZWxsbyA8IS0tIGNvbW1lbnQgLS0+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwv
ZGl2PiIsICI8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2
IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+cGxhaW4g
dGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIs
ICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+cGxhaW4gdGV4dDxi
PjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6
ZS02MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
YW5kLXNhbml0aXplLTYwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZjg5ZGNmODg4NDdhYWI0
Yjg5MmEwMDdkMmRlMzJjMDk2OTgxZWI0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS02MC1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxNyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24g
dHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUg
bWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4KKworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwv
Yj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8aSBz
dHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IZWxsbzwvaT4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGI+SGVsbG88L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPjxiPjxpPmhlbGxvMTwv
aT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitGQUlMIGNv
bmZpcm1lZE1hcmt1cCBzaG91bGQgYmUgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9p
PjwvYj48L2k+LiBXYXMgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPjxiPjxpIHN0eWxlPSJtYXJn
aW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4KK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij5wbGFpbiB0ZXh0PGI+PGk+
Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNjAuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNjAuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4zNjNjZGRlYTY2MzI4MDk0N2QwZDFiZjViNjFlYjg4YjU4NWZjYzg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5p
dGl6ZS02MC5odG1sCkBAIC0wLDAgKzEsNTYgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlv
biB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRo
ZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLiA8L3A+Cis8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24o
KTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFn
TmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJI
VE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdFBhc3RlKCJkaXYiLCAi
SGVsbG8iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4i
LCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48
c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbzwvaT48L2I+PC9z
cGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj48ZGl2PkhlbGxvPC9kaXY+PC9kaXY+PC9kaXY+IiwgIkhlbGxvIik7
Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxkaXY+PGk+SGVsbG88L2k+PC9kaXY+PC9iPjwv
ZGl2PiIsICI8aSBzdHlsZT1cImZvbnQtd2VpZ2h0OiBib2xkO1wiPkhlbGxvPC9pPiIpOwordGVz
dFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxi
PkhlbGxvPC9iPjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxiPkhlbGxvPC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48
c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9z
cGFuPjwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBu
b3JtYWxcIj48Yj48aT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgCisgICAg
ICAgICAgIjxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1c
ImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4gaGVsbG8y
PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250
LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8y
PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxpIHN0eWxlPVwi
bWFyZ2luOiAxMHB4O1wiPjxiPjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwv
Yj48L2k+IiwKKyAgICAgICAgICAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+
PC9iPjwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJm
b250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG8gPCEtLSBjb21tZW50IC0tPndvcmxkPC9p
PjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48
L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13
ZWlnaHQ6IG5vcm1hbFwiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48
L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDog
bm9ybWFsO1wiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+
PC9pPjwvYj4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS02MS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYWY4OWRjZjg4ODQ3YWFiNGI4OTJhMDA3ZDJkZTMyYzA5Njk4MWViNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRp
emUtNjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTcgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNl
IHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxp
PkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGkgc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SGVsbG88L2k+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxiPkhlbGxvPC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBu
b3JtYWw7Ij48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9z
cGFuPjwvaT48L2I+JworRkFJTCBjb25maXJtZWRNYXJrdXAgc2hvdWxkIGJlIDxpIHN0eWxlPSJt
YXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4gV2FzIDxpIHN0eWxlPSJtYXJnaW46IDEw
cHg7Ij48Yj48aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9y
bWFsOyI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+
PC9iPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNh
bml0aXplLTYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5k
LXNhbml0aXplLTYxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzYzY2RkZWE2NjMyODA5NDdkMGQxYmY1YjYx
ZWI4OGI1ODVmY2M4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNjEuaHRtbApAQCAtMCwwICsxLDU2IEBACis8IURP
Q1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0
aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1
Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHls
ZS4gPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdFBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCkg
eworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAp
OworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFz
dGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK3Rlc3RQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIs
ICI8Yj48aT5IZWxsbzwvaT48L2I+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0
ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+
PGI+PGk+SGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbzwv
aT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjwv
ZGl2PjwvZGl2PiIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48ZGl2Pjxp
PkhlbGxvPC9pPjwvZGl2PjwvYj48L2Rpdj4iLCAiPGkgc3R5bGU9XCJmb250LXdlaWdodDogYm9s
ZDtcIj5IZWxsbzwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0
ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4g
c3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48
L2k+PC9iPjwvZGl2PiIsIAorICAgICAgICAgICI8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxk
aXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxv
MTwvaT48L2I+PGI+PGk+IGhlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxi
PjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+
PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7Cit0ZXN0UGFz
dGUoImRpdiIsICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj48Yj48aSBzdHlsZT1cIm1hcmdp
bjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIsCisgICAgICAgICAgIjxpIHN0eWxlPVwibWFy
Z2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvIDwh
LS0gY29tbWVudCAtLT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxp
PkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9s
ZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFu
IHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFs
aWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTYyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUt
NjItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmODlkY2Y4ODg0N2FhYjRiODkyYTAwN2QyZGUz
MmMwOTY5ODFlYjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTYyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFz
dGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91
dCBhZmZlY3RpbmcgdGhlIHN0eWxlLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxpIHN0eWxlPSJmb250LXdl
aWdodDogYm9sZDsiPkhlbGxvPC9pPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0
eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48Yj5IZWxsbzwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFu
IHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4m
bmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK0ZBSUwgY29uZmlybWVkTWFya3Vw
IHNob3VsZCBiZSA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uIFdh
cyA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+PGI+PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhl
bGxvPC9pPjwvYj48L2k+LgorUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvJm5i
c3A7d29ybGQ8L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBz
dHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0
ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS02Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS02Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2M2Nk
ZGVhNjYzMjgwOTQ3ZDBkMWJmNWI2MWViODhiNTg1ZmNjODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTYyLmh0bWwK
QEAgLTAsMCArMSw1NiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBw
YXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRo
b3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuIDwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisg
ICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBm
YWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3Vw
ID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIici
ICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCit0ZXN0UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIsICI8Yj48aT5IZWxs
bzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwi
Zm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48
L2Rpdj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48
ZGl2PjxkaXY+SGVsbG88L2Rpdj48L2Rpdj48L2Rpdj4iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxsbzwvaT48L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0
eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9k
aXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88
L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwi
Zm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAKKyAgICAgICAgICAiPGRpdj48
Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6
IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiBoZWxsbzI8L2k+PC9iPjwvc3Bh
bj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3Jt
YWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bh
bj48L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7
XCI+PGI+PGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iLAorICAg
ICAgICAgICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIpOwor
dGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBu
b3JtYWxcIj48Yj48aT5IZWxsbyA8IS0tIGNvbW1lbnQgLS0+d29ybGQ8L2k+PC9iPjwvc3Bhbj48
L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4iKTsKK3Rlc3RQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFs
XCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9i
PjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+cGxh
aW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFu
ZC1zYW5pdGl6ZS02My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtYW5kLXNhbml0aXplLTYzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZjg5ZGNm
ODg4NDdhYWI0Yjg5MmEwMDdkMmRlMzJjMDk2OTgxZWI0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS02My1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxNyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBv
cGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0
eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4KKworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhl
bGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9i
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8aSBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IZWxsbzwvaT4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGI+SGVsbG88
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPjxiPjxp
PmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4n
CitGQUlMIGNvbmZpcm1lZE1hcmt1cCBzaG91bGQgYmUgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsi
PmhlbGxvPC9pPjwvYj48L2k+LiBXYXMgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPjxiPjxpIHN0
eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4KK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij5wbGFpbiB0
ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNjMuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNjMu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4zNjNjZGRlYTY2MzI4MDk0N2QwZDFiZjViNjFlYjg4YjU4NWZjYzg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LWFuZC1zYW5pdGl6ZS02My5odG1sCkBAIC0wLDAgKzEsNTYgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3Rl
IG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9z
aXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLiA8L3A+Cis8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRT
ZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOwor
ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5v
ZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0
ZXN0UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdFBhc3Rl
KCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxiPjxpPkhlbGxv
PC9pPjwvYj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbzwv
aT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rl
c3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj48ZGl2PkhlbGxvPC9kaXY+PC9kaXY+PC9kaXY+Iiwg
IkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxkaXY+PGk+SGVsbG88L2k+PC9k
aXY+PC9iPjwvZGl2PiIsICI8aSBzdHlsZT1cImZvbnQtd2VpZ2h0OiBib2xkO1wiPkhlbGxvPC9p
PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQt
d2VpZ2h0OiBub3JtYWxcIj48Yj48aT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+
IiwgCisgICAgICAgICAgIjxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3Bh
biBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48
aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5
bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5i
c3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxp
IHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPjxiPjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhl
bGxvPC9pPjwvYj48L2k+IiwKKyAgICAgICAgICAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+
aGVsbG88L2k+PC9iPjwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4g
c3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG8gPCEtLSBjb21tZW50IC0t
PndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG8mbmJzcDt3
b3JsZDwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxl
PVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0
PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250
LXdlaWdodDogbm9ybWFsO1wiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwv
Yj48L3NwYW4+PC9pPjwvYj4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS02NC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYWY4OWRjZjg4ODQ3YWFiNGI4OTJhMDA3ZDJkZTMyYzA5Njk4MWViNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1h
bmQtc2FuaXRpemUtNjQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTcgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQg
dG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0
aGUgc3R5bGUuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGkgc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+
SGVsbG88L2k+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxiPkhlbGxvPC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQt
d2VpZ2h0OiBub3JtYWw7Ij48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwv
aT48L2I+PC9zcGFuPjwvaT48L2I+JworRkFJTCBjb25maXJtZWRNYXJrdXAgc2hvdWxkIGJlIDxp
IHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4gV2FzIDxpIHN0eWxlPSJt
YXJnaW46IDEwcHg7Ij48Yj48aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwv
aT4uCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48
L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdl
aWdodDogbm9ybWFsOyI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwv
c3Bhbj48L2k+PC9iPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtYW5kLXNhbml0aXplLTY0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtYW5kLXNhbml0aXplLTY0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzYzY2RkZWE2NjMyODA5NDdk
MGQxYmY1YjYxZWI4OGI1ODVmY2M4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNjQuaHRtbApAQCAtMCwwICsxLDU2
IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVu
dCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5n
IHRoZSBzdHlsZS4gPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdFBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBl
eHBlY3RlZCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXApOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3Vz
KCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVy
SFRNTDsKKworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK3Rlc3RQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0UGFz
dGUoImRpdiIsICI8Yj48aT5IZWxsbzwvaT48L2I+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsK
K3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDog
bm9ybWFsXCI+PGI+PGk+SGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48
aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48ZGl2PjxpPkhlbGxvPC9pPjwvZGl2PjwvYj48L2Rpdj4iLCAiPGkgc3R5bGU9XCJmb250LXdl
aWdodDogYm9sZDtcIj5IZWxsbzwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj4iKTsK
K3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDog
bm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+d29ybGQ8L2k+PC9i
Pjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsIAorICAgICAgICAgICI8ZGl2PjxiPjxpPmhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxi
PjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+IGhlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9k
aXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5o
ZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7
Cit0ZXN0UGFzdGUoImRpdiIsICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj48Yj48aSBzdHls
ZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIsCisgICAgICAgICAgIjxpIHN0
eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+Iik7Cit0ZXN0UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxp
PkhlbGxvIDwhLS0gY29tbWVudCAtLT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+
IiwgIjxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj5wbGFpbiB0ZXh0
PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxi
PjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5wbGFpbiB0ZXh0PGI+PGk+
Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTY1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQt
c2FuaXRpemUtNjUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmODlkY2Y4ODg0N2FhYjRiODky
YTAwN2QyZGUzMmMwOTY5ODFlYjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTY1LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDE3IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmlt
cyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJr
dXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxpIHN0eWxl
PSJmb250LXdlaWdodDogYm9sZDsiPkhlbGxvPC9pPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48Yj5IZWxsbzwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxi
PjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+PGI+PGk+aGVsbG8xPC9pPjwv
Yj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK0ZBSUwgY29uZmly
bWVkTWFya3VwIHNob3VsZCBiZSA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9i
PjwvaT4uIFdhcyA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+PGI+PGkgc3R5bGU9Im1hcmdpbjog
MTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LgorUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxp
PkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48
aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPnBsYWluIHRleHQ8Yj48aT5ib2xk
IGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS02NS5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS02NS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjM2M2NkZGVhNjYzMjgwOTQ3ZDBkMWJmNWI2MWViODhiNTg1ZmNjODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXpl
LTY1Lmh0bWwKQEAgLTAsMCArMSw1NiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRy
aW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1h
cmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuIDwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICByb290LmFwcGVuZENoaWxkKG5v
ZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxl
Y3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmly
bWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFy
a3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCit0ZXN0UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIsICI8
Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFu
IHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvPC9pPjwvYj48L3NwYW4+
PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYi
LCAiPGRpdj48ZGl2PjxkaXY+SGVsbG88L2Rpdj48L2Rpdj48L2Rpdj4iLCAiSGVsbG8iKTsKK3Rl
c3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxsbzwvaT48L2Rpdj48L2I+PC9kaXY+
IiwgIjxpIHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88L2k+Iik7Cit0ZXN0UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVs
bG88L2I+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGI+SGVsbG88L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFu
IHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L3NwYW4+
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1h
bFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAKKyAgICAgICAg
ICAiPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9u
dC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiBoZWxsbzI8L2k+
PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2Vp
Z2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+
PC9iPjwvc3Bhbj48L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGkgc3R5bGU9XCJtYXJn
aW46IDEwcHg7XCI+PGI+PGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwv
aT4iLAorICAgICAgICAgICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+
PC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQt
d2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbyA8IS0tIGNvbW1lbnQgLS0+d29ybGQ8L2k+PC9i
Pjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4i
KTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdo
dDogbm9ybWFsXCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bh
bj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3Jt
YWw7XCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+
PC9iPiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLWFuZC1zYW5pdGl6ZS02Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTY2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5hZjg5ZGNmODg4NDdhYWI0Yjg5MmEwMDdkMmRlMzJjMDk2OTgxZWI0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS02
Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRo
ZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhl
IHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4KKwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVs
bG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8aSBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IZWxsbzwvaT4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGI+SGVsbG88L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1h
bDsiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+
PC9pPjwvYj4nCitGQUlMIGNvbmZpcm1lZE1hcmt1cCBzaG91bGQgYmUgPGkgc3R5bGU9Im1hcmdp
bjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LiBXYXMgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsi
PjxiPjxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4KK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7
Ij5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRp
emUtNjYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2Fu
aXRpemUtNjYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNjNjZGRlYTY2MzI4MDk0N2QwZDFiZjViNjFlYjg4
YjU4NWZjYzg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS02Ni5odG1sCkBAIC0wLDAgKzEsNTYgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
dGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0
aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLiA8
L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1
bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
cm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVl
OworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitm
dW5jdGlvbiB0ZXN0UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdFBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxi
PjxpPkhlbGxvPC9pPjwvYj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48
aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvPC9pPjwv
Yj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj48ZGl2PkhlbGxvPC9kaXY+PC9kaXY+
PC9kaXY+IiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxkaXY+PGk+SGVs
bG88L2k+PC9kaXY+PC9iPjwvZGl2PiIsICI8aSBzdHlsZT1cImZvbnQtd2VpZ2h0OiBib2xkO1wi
PkhlbGxvPC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT48c3BhbiBzdHls
ZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48
L2I+PC9kaXY+IiwgCisgICAgICAgICAgIjxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9p
PjwvYj48Yj48aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+
PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+
PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgi
ZGl2IiwgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPjxiPjxpIHN0eWxlPVwibWFyZ2luOiAx
MHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+IiwKKyAgICAgICAgICAiPGkgc3R5bGU9XCJtYXJnaW46
IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+
PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG8gPCEtLSBj
b21tZW50IC0tPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVs
bG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxz
cGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0
YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5
bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0
ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5v
bmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNjctZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS02Ny1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWY4OWRjZjg4ODQ3YWFiNGI4OTJhMDA3ZDJkZTMyYzA5
Njk4MWViNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS1hbmQtc2FuaXRpemUtNjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTcgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQg
ZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFm
ZmVjdGluZyB0aGUgc3R5bGUuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGkgc3R5bGU9ImZvbnQtd2VpZ2h0
OiBib2xkOyI+SGVsbG88L2k+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxiPkhlbGxvPC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5
bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNw
O2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworRkFJTCBjb25maXJtZWRNYXJrdXAgc2hv
dWxkIGJlIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4gV2FzIDxp
IHN0eWxlPSJtYXJnaW46IDEwcHg7Ij48Yj48aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88
L2k+PC9iPjwvaT4uCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG8mbmJzcDt3
b3JsZDwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxl
PSJmb250LXdlaWdodDogbm9ybWFsOyI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8
L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTY3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzYzY2RkZWE2
NjMyODA5NDdkMGQxYmY1YjYxZWI4OGI1ODVmY2M4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNjcuaHRtbApAQCAt
MCwwICsxLDU2IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9F
TiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+
VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3Rl
ZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQg
YWZmZWN0aW5nIHRoZSBzdHlsZS4gPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdFBhc3RlKHRhZ05hbWUsIG9yaWdpbmFs
TWFya3VwLCBleHBlY3RlZCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXApOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBu
b2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBu
b2RlLmlubmVySFRNTDsKKworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK3Rlc3RQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0UGFzdGUoImRpdiIsICI8Yj48aT5IZWxsbzwvaT48L2I+IiwgIjxiPjxpPkhlbGxvPC9p
PjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250
LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2
PiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48ZGl2PjxpPkhlbGxvPC9pPjwvZGl2PjwvYj48L2Rpdj4iLCAiPGkgc3R5bGU9
XCJmb250LXdlaWdodDogYm9sZDtcIj5IZWxsbzwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48
L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250
LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsIAorICAgICAgICAgICI8ZGl2PjxiPjxp
PmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iKTsKK3Rl
c3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9y
bWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+IGhlbGxvMjwvaT48L2I+PC9zcGFuPjwv
aT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtc
Ij48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwv
aT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj48
Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIsCisgICAgICAg
ICAgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+Iik7Cit0ZXN0
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1h
bFwiPjxiPjxpPkhlbGxvIDwhLS0gY29tbWVudCAtLT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48
L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPiIpOwordGVzdFBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj5w
bGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9k
aXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5wbGFpbiB0
ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNh
bml0aXplLTY4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS1hbmQtc2FuaXRpemUtNjgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmODlkY2Y4ODg0
N2FhYjRiODkyYTAwN2QyZGUzMmMwOTY5ODFlYjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTY4LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDE3IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJh
dGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9m
IHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88
L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxpIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhlbGxvPC9pPicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48Yj5IZWxsbzwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+PGI+PGk+aGVs
bG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK0ZB
SUwgY29uZmlybWVkTWFya3VwIHNob3VsZCBiZSA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVs
bG88L2k+PC9iPjwvaT4uIFdhcyA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+PGI+PGkgc3R5bGU9
Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LgorUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPnBsYWluIHRleHQ8
Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS02OC5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS02OC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjM2M2NkZGVhNjYzMjgwOTQ3ZDBkMWJmNWI2MWViODhiNTg1ZmNjODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5k
LXNhbml0aXplLTY4Lmh0bWwKQEAgLTAsMCArMSw1NiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3Bl
cmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkg
b2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuIDwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIgbm9kZSA9
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICByb290LmFwcGVu
ZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHki
LCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisg
ICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBzaG91bGRCZSgiY29u
ZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCit0ZXN0UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVsbG88L2k+
PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvPC9pPjwv
Yj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBh
c3RlKCJkaXYiLCAiPGRpdj48ZGl2PjxkaXY+SGVsbG88L2Rpdj48L2Rpdj48L2Rpdj4iLCAiSGVs
bG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxsbzwvaT48L2Rpdj48
L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88L2k+Iik7
Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGI+SGVsbG88L2I+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L3NwYW4+PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWln
aHQ6IG5vcm1hbFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAK
KyAgICAgICAgICAiPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0
eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiBo
ZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1c
ImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDto
ZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGkgc3R5
bGU9XCJtYXJnaW46IDEwcHg7XCI+PGI+PGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88
L2k+PC9iPjwvaT4iLAorICAgICAgICAgICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxs
bzwvaT48L2I+PC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHls
ZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbyA8IS0tIGNvbW1lbnQgLS0+d29y
bGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbyZuYnNwO3dvcmxk
PC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJm
b250LXdlaWdodDogbm9ybWFsXCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+
PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2Vp
Z2h0OiBub3JtYWw7XCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwv
c3Bhbj48L2k+PC9iPiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS02OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTY5LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5hZjg5ZGNmODg4NDdhYWI0Yjg5MmEwMDdkMmRlMzJjMDk2OTgxZWI0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1z
YW5pdGl6ZS02OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNyBAQAorVGhpcyB0ZXN0IGNoZWNr
cyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byBy
ZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBz
dHlsZS4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8aSBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IZWxs
bzwvaT4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGI+SGVsbG88L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWln
aHQ6IG5vcm1hbDsiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwv
Yj48L3NwYW4+PC9pPjwvYj4nCitGQUlMIGNvbmZpcm1lZE1hcmt1cCBzaG91bGQgYmUgPGkgc3R5
bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LiBXYXMgPGkgc3R5bGU9Im1hcmdp
bjogMTBweDsiPjxiPjxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4K
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0
OiBub3JtYWw7Ij5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFu
PjwvaT48L2I+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1h
bmQtc2FuaXRpemUtNjkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS1hbmQtc2FuaXRpemUtNjkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNjNjZGRlYTY2MzI4MDk0N2QwZDFi
ZjViNjFlYjg4YjU4NWZjYzg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS02OS5odG1sCkBAIC0wLDAgKzEsNTYgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRv
IHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhl
IHN0eWxlLiA8L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBz
ZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitm
dW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFi
bGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2Rl
OworfQorCitmdW5jdGlvbiB0ZXN0UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdFBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgi
ZGl2IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVz
dFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3Jt
YWxcIj48Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhl
bGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj48ZGl2PkhlbGxvPC9k
aXY+PC9kaXY+PC9kaXY+IiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxk
aXY+PGk+SGVsbG88L2k+PC9kaXY+PC9iPjwvZGl2PiIsICI8aSBzdHlsZT1cImZvbnQtd2VpZ2h0
OiBib2xkO1wiPkhlbGxvPC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PiIpOwordGVz
dFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3Jt
YWxcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT48
c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT53b3JsZDwvaT48L2I+PC9z
cGFuPjwvaT48L2I+PC9kaXY+IiwgCisgICAgICAgICAgIjxkaXY+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+
aGVsbG8xPC9pPjwvYj48Yj48aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4i
LCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxv
MTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKK3Rl
c3RQYXN0ZSgiZGl2IiwgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPjxiPjxpIHN0eWxlPVwi
bWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+IiwKKyAgICAgICAgICAiPGkgc3R5bGU9
XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVs
bG8gPCEtLSBjb21tZW50IC0tPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAi
PGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPnBsYWluIHRleHQ8Yj48
aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+
PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPnBsYWluIHRleHQ8Yj48aT5ib2xk
IGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKKworcm9vdC5zdHlsZS5kaXNw
bGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0
aXplLTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmODlkY2Y4ODg0N2FhYjRiODkyYTAwN2Qy
ZGUzMmMwOTY5ODFlYjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTcg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBw
YXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRo
b3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGkgc3R5bGU9ImZvbnQt
d2VpZ2h0OiBib2xkOyI+SGVsbG88L2k+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxiPkhlbGxvPC9iPjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNw
YW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxp
PiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworRkFJTCBjb25maXJtZWRNYXJr
dXAgc2hvdWxkIGJlIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4g
V2FzIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij48Yj48aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+
aGVsbG88L2k+PC9iPjwvaT4uCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG8m
bmJzcDt3b3JsZDwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFu
IHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGlj
IHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2M2Nk
ZGVhNjYzMjgwOTQ3ZDBkMWJmNWI2MWViODhiNTg1ZmNjODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTcuaHRtbApA
QCAtMCwwICsxLDU2IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1M
Ly9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlv
biI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBh
c3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhv
dXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4gPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdFBhc3RlKHRhZ05hbWUsIG9yaWdp
bmFsTWFya3VwLCBleHBlY3RlZCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAg
ICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZh
bHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAg
PSBub2RlLmlubmVySFRNTDsKKworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK3Rlc3RQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8Yj48aT5IZWxsbzwvaT48L2I+IiwgIjxiPjxpPkhlbGxv
PC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJm
b250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwv
ZGl2PiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48ZGl2PjxpPkhlbGxvPC9pPjwvZGl2PjwvYj48L2Rpdj4iLCAiPGkgc3R5
bGU9XCJmb250LXdlaWdodDogYm9sZDtcIj5IZWxsbzwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwv
Yj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJm
b250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsIAorICAgICAgICAgICI8ZGl2Pjxi
PjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iKTsK
K3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDog
bm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+IGhlbGxvMjwvaT48L2I+PC9zcGFu
PjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1h
bDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFu
PjwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtc
Ij48Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIsCisgICAg
ICAgICAgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+Iik7Cit0
ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5v
cm1hbFwiPjxiPjxpPkhlbGxvIDwhLS0gY29tbWVudCAtLT53b3JsZDwvaT48L2I+PC9zcGFuPjwv
aT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPiIpOwordGVzdFBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxc
Ij5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+
PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5wbGFp
biB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5k
LXNhbml0aXplLTcwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS1hbmQtc2FuaXRpemUtNzAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmODlkY2Y4
ODg0N2FhYjRiODkyYTAwN2QyZGUzMmMwOTY5ODFlYjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTcwLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDE3IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9w
ZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5
IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVs
bG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxpIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhlbGxvPC9pPicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48Yj5IZWxsbzwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5oZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+PGI+PGk+
aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicK
K0ZBSUwgY29uZmlybWVkTWFya3VwIHNob3VsZCBiZSA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+
aGVsbG88L2k+PC9iPjwvaT4uIFdhcyA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+PGI+PGkgc3R5
bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LgorUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPnBsYWluIHRl
eHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS03MC5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS03MC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjM2M2NkZGVhNjYzMjgwOTQ3ZDBkMWJmNWI2MWViODhiNTg1ZmNjODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
YW5kLXNhbml0aXplLTcwLmh0bWwKQEAgLTAsMCArMSw1NiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUg
b3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3Np
dHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuIDwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIgbm9k
ZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICByb290LmFw
cGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNv
cHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOwor
CisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBzaG91bGRCZSgi
Y29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCit0ZXN0UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVsbG88
L2k+PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvPC9p
PjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVz
dFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PjxkaXY+SGVsbG88L2Rpdj48L2Rpdj48L2Rpdj4iLCAi
SGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxsbzwvaT48L2Rp
dj48L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88L2k+
Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13
ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4i
LCAKKyAgICAgICAgICAiPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFu
IHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxp
PiBoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHls
ZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJz
cDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGkg
c3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+PGI+PGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVs
bG88L2k+PC9iPjwvaT4iLAorICAgICAgICAgICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5o
ZWxsbzwvaT48L2I+PC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBz
dHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbyA8IS0tIGNvbW1lbnQgLS0+
d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbyZuYnNwO3dv
cmxkPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9
XCJmb250LXdlaWdodDogbm9ybWFsXCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8
L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQt
d2VpZ2h0OiBub3JtYWw7XCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9i
Pjwvc3Bhbj48L2k+PC9iPiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS03MS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTcxLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5hZjg5ZGNmODg4NDdhYWI0Yjg5MmEwMDdkMmRlMzJjMDk2OTgxZWI0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFu
ZC1zYW5pdGl6ZS03MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNyBAQAorVGhpcyB0ZXN0IGNo
ZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0
byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRo
ZSBzdHlsZS4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8aSBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5I
ZWxsbzwvaT4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGI+SGVsbG88L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13
ZWlnaHQ6IG5vcm1hbDsiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9p
PjwvYj48L3NwYW4+PC9pPjwvYj4nCitGQUlMIGNvbmZpcm1lZE1hcmt1cCBzaG91bGQgYmUgPGkg
c3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LiBXYXMgPGkgc3R5bGU9Im1h
cmdpbjogMTBweDsiPjxiPjxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9p
Pi4KK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwv
Yj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2Vp
Z2h0OiBub3JtYWw7Ij5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9z
cGFuPjwvaT48L2I+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS1hbmQtc2FuaXRpemUtNzEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS1hbmQtc2FuaXRpemUtNzEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNjNjZGRlYTY2MzI4MDk0N2Qw
ZDFiZjViNjFlYjg4YjU4NWZjYzg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS03MS5odG1sCkBAIC0wLDAgKzEsNTYg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50
IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3Rpbmcg
dGhlIHN0eWxlLiA8L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3Zh
ciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKwor
CitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9k
ZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRp
dGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBu
b2RlOworfQorCitmdW5jdGlvbiB0ZXN0UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdFBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0
ZSgiZGl2IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwor
dGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBu
b3JtYWxcIj48Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxp
PkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj48ZGl2PkhlbGxv
PC9kaXY+PC9kaXY+PC9kaXY+IiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxkaXY+PGk+SGVsbG88L2k+PC9kaXY+PC9iPjwvZGl2PiIsICI8aSBzdHlsZT1cImZvbnQtd2Vp
Z2h0OiBib2xkO1wiPkhlbGxvPC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PiIpOwor
dGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBu
b3JtYWxcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgCisgICAgICAgICAgIjxkaXY+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+
PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rp
dj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhl
bGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsK
K3Rlc3RQYXN0ZSgiZGl2IiwgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPjxiPjxpIHN0eWxl
PVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+IiwKKyAgICAgICAgICAiPGkgc3R5
bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2
IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+
SGVsbG8gPCEtLSBjb21tZW50IC0tPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4i
LCAiPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPnBsYWluIHRleHQ8
Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+
PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPnBsYWluIHRleHQ8Yj48aT5i
b2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKKworcm9vdC5zdHlsZS5k
aXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNzIt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1z
YW5pdGl6ZS03Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWY4OWRjZjg4ODQ3YWFiNGI4OTJh
MDA3ZDJkZTMyYzA5Njk4MWViNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNzItZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTcgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1z
IHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1
cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGkgc3R5bGU9
ImZvbnQtd2VpZ2h0OiBib2xkOyI+SGVsbG88L2k+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxiPkhlbGxvPC9iPjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+
PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij48Yj48aT5oZWxsbzE8L2k+PC9i
PjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworRkFJTCBjb25maXJt
ZWRNYXJrdXAgc2hvdWxkIGJlIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+
PC9pPi4gV2FzIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij48Yj48aSBzdHlsZT0ibWFyZ2luOiAx
MHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+
SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxp
PjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+cGxhaW4gdGV4dDxiPjxpPmJvbGQg
aXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTcyLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTcyLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMzYzY2RkZWE2NjMyODA5NDdkMGQxYmY1YjYxZWI4OGI1ODVmY2M4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUt
NzIuaHRtbApAQCAtMCwwICsxLDU2IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYv
L0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJk
ZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJp
bXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFy
a3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4gPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdFBhc3RlKHRhZ05h
bWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9k
ZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVj
dEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJt
ZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK3Rlc3RQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8Yj48aT5IZWxsbzwvaT48L2I+IiwgIjxi
PjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4g
c3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG88L2k+PC9iPjwvc3Bhbj48
L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIpOwordGVz
dFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48ZGl2PjxpPkhlbGxvPC9pPjwvZGl2PjwvYj48L2Rpdj4i
LCAiPGkgc3R5bGU9XCJmb250LXdlaWdodDogYm9sZDtcIj5IZWxsbzwvaT4iKTsKK3Rlc3RQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxs
bzwvYj48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
Yj5IZWxsbzwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4g
c3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFs
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsIAorICAgICAgICAg
ICI8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250
LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+IGhlbGxvMjwvaT48
L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWln
aHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48
L2I+PC9zcGFuPjwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8aSBzdHlsZT1cIm1hcmdp
bjogMTBweDtcIj48Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9p
PiIsCisgICAgICAgICAgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48
L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13
ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvIDwhLS0gY29tbWVudCAtLT53b3JsZDwvaT48L2I+
PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPiIp
OwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0
OiBub3JtYWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFu
PjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1h
bDtcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48
L2I+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtYW5kLXNhbml0aXplLTczLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNzMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmFmODlkY2Y4ODg0N2FhYjRiODkyYTAwN2QyZGUzMmMwOTY5ODFlYjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTcz
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhl
IHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUg
dmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxs
bzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxpIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhlbGxvPC9pPicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48
Yj5IZWxsbzwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFs
OyI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48
L2k+PC9iPicKK0ZBSUwgY29uZmlybWVkTWFya3VwIHNob3VsZCBiZSA8aSBzdHlsZT0ibWFyZ2lu
OiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uIFdhcyA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+
PGI+PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LgorUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsi
PnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6
ZS03My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5p
dGl6ZS03My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2M2NkZGVhNjYzMjgwOTQ3ZDBkMWJmNWI2MWViODhi
NTg1ZmNjODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtYW5kLXNhbml0aXplLTczLmh0bWwKQEAgLTAsMCArMSw1NiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0
aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRo
ZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuIDwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsKKyAg
ICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAg
ICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwg
ZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBz
aG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCit0
ZXN0UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGI+
PGk+SGVsbG88L2k+PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxp
PkhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG88L2k+PC9i
PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PjxkaXY+SGVsbG88L2Rpdj48L2Rpdj48
L2Rpdj4iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxs
bzwvaT48L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+
SGVsbG88L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPjxzcGFuIHN0eWxl
PVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwv
Yj48L2Rpdj4iLCAKKyAgICAgICAgICAiPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+
PC9iPjxiPjxpPiBoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48
c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48
Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOwordGVzdFBhc3RlKCJk
aXYiLCAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+PGI+PGkgc3R5bGU9XCJtYXJnaW46IDEw
cHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iLAorICAgICAgICAgICI8aSBzdHlsZT1cIm1hcmdpbjog
MTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbyA8IS0tIGNv
bW1lbnQgLS0+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxs
byZuYnNwO3dvcmxkPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNw
YW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRh
bGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHls
ZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRl
eHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS03NC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTc0LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZjg5ZGNmODg4NDdhYWI0Yjg5MmEwMDdkMmRlMzJjMDk2
OTgxZWI0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLWFuZC1zYW5pdGl6ZS03NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNyBAQAorVGhp
cyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBm
cmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZm
ZWN0aW5nIHRoZSBzdHlsZS4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8aSBzdHlsZT0iZm9udC13ZWlnaHQ6
IGJvbGQ7Ij5IZWxsbzwvaT4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGI+SGVsbG88L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHls
ZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7
aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitGQUlMIGNvbmZpcm1lZE1hcmt1cCBzaG91
bGQgYmUgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LiBXYXMgPGkg
c3R5bGU9Im1hcmdpbjogMTBweDsiPjxiPjxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwv
aT48L2I+PC9pPi4KK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbyZuYnNwO3dv
cmxkPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9
ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwv
aT48L2I+PC9zcGFuPjwvaT48L2I+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNzQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNzQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNjNjZGRlYTY2
MzI4MDk0N2QwZDFiZjViNjFlYjg4YjU4NWZjYzg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS03NC5odG1sCkBAIC0w
LDAgKzEsNTYgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVk
IGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBh
ZmZlY3RpbmcgdGhlIHN0eWxlLiA8L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3Jp
cHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChy
b290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAg
ICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5j
b250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAg
IHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdFBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iKTsK
K3Rlc3RQYXN0ZSgiZGl2IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iLCAiPGI+PGk+SGVsbG88L2k+
PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQt
d2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+
IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj48
ZGl2PkhlbGxvPC9kaXY+PC9kaXY+PC9kaXY+IiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxkaXY+PGk+SGVsbG88L2k+PC9kaXY+PC9iPjwvZGl2PiIsICI8aSBzdHlsZT1c
ImZvbnQtd2VpZ2h0OiBib2xkO1wiPkhlbGxvPC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRp
dj48ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwv
ZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQt
d2VpZ2h0OiBub3JtYWxcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgCisgICAgICAgICAgIjxkaXY+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIpOwordGVz
dFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3Jt
YWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+PC9p
PjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wi
PjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9p
PjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPjxi
PjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+IiwKKyAgICAgICAg
ICAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iKTsKK3Rlc3RQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFs
XCI+PGI+PGk+SGVsbG8gPCEtLSBjb21tZW50IC0tPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwv
Yj48L2Rpdj4iLCAiPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7Cit0ZXN0UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPnBs
YWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rp
dj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPnBsYWluIHRl
eHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKKworcm9v
dC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2Fu
aXRpemUtNzUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLWFuZC1zYW5pdGl6ZS03NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWY4OWRjZjg4ODQ3
YWFiNGI4OTJhMDA3ZDJkZTMyYzA5Njk4MWViNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNzUtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTcgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0
aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2Yg
dGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwv
aT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGkgc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SGVsbG88L2k+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxiPkhlbGxvPC9iPjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij48Yj48aT5oZWxs
bzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworRkFJ
TCBjb25maXJtZWRNYXJrdXAgc2hvdWxkIGJlIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxs
bzwvaT48L2I+PC9pPi4gV2FzIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij48Yj48aSBzdHlsZT0i
bWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+cGxhaW4gdGV4dDxi
PjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTc1Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTc1Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMzYzY2RkZWE2NjMyODA5NDdkMGQxYmY1YjYxZWI4OGI1ODVmY2M4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQt
c2FuaXRpemUtNzUuaHRtbApAQCAtMCwwICsxLDU2IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMg
Ii0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVy
YXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBv
ZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4gPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdFBh
c3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCkgeworICAgIHZhciBub2RlID0g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIHJvb3QuYXBwZW5k
Q2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIs
IGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAg
ICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK3Rlc3RQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8Yj48aT5IZWxsbzwvaT48
L2I+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+
PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG88L2k+PC9i
Pjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxs
byIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48ZGl2PjxpPkhlbGxvPC9pPjwvZGl2Pjwv
Yj48L2Rpdj4iLCAiPGkgc3R5bGU9XCJmb250LXdlaWdodDogYm9sZDtcIj5IZWxsbzwvaT4iKTsK
K3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48Yj5IZWxsbzwvYj48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+
PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+PC9i
Pjwvc3Bhbj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdo
dDogbm9ybWFsXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsIAor
ICAgICAgICAgICI8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5
bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+IGhl
bGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwi
Zm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hl
bGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8aSBzdHls
ZT1cIm1hcmdpbjogMTBweDtcIj48Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwv
aT48L2I+PC9pPiIsCisgICAgICAgICAgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxv
PC9pPjwvYj48L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxl
PVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvIDwhLS0gY29tbWVudCAtLT53b3Js
ZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8
L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZv
bnQtd2VpZ2h0OiBub3JtYWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48
L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWln
aHQ6IG5vcm1hbDtcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9z
cGFuPjwvaT48L2I+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTc2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNzYtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmFmODlkY2Y4ODg0N2FhYjRiODkyYTAwN2QyZGUzMmMwOTY5ODFlYjQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNh
bml0aXplLTc2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJl
ZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0
eWxlLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxpIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhlbGxv
PC9pPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBj
ZW50ZXI7Ij48Yj5IZWxsbzwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdo
dDogbm9ybWFsOyI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9i
Pjwvc3Bhbj48L2k+PC9iPicKK0ZBSUwgY29uZmlybWVkTWFya3VwIHNob3VsZCBiZSA8aSBzdHls
ZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uIFdhcyA8aSBzdHlsZT0ibWFyZ2lu
OiAxMHB4OyI+PGI+PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+Lgor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6
IG5vcm1hbDsiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+
PC9pPjwvYj4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFu
ZC1zYW5pdGl6ZS03Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LWFuZC1zYW5pdGl6ZS03Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2M2NkZGVhNjYzMjgwOTQ3ZDBkMWJm
NWI2MWViODhiNTg1ZmNjODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTc2Lmh0bWwKQEAgLTAsMCArMSw1NiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8g
cmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUg
c3R5bGUuIDwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFy
a3VwKTsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7
CisKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIp
OworfQorCit0ZXN0UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJk
aXYiLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1h
bFwiPjxiPjxpPkhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVs
bG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PjxkaXY+SGVsbG88L2Rp
dj48L2Rpdj48L2Rpdj4iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGRp
dj48aT5IZWxsbzwvaT48L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9udC13ZWlnaHQ6
IGJvbGQ7XCI+SGVsbG88L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+PC9kaXY+IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+Iik7Cit0ZXN0
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1h
bFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPjxz
cGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L3Nw
YW4+PC9pPjwvYj48L2Rpdj4iLCAKKyAgICAgICAgICAiPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5o
ZWxsbzE8L2k+PC9iPjxiPjxpPiBoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIs
ICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8x
PC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOwordGVz
dFBhc3RlKCJkaXYiLCAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+PGI+PGkgc3R5bGU9XCJt
YXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iLAorICAgICAgICAgICI8aSBzdHlsZT1c
Im1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxs
byA8IS0tIGNvbW1lbnQgLS0+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8
Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+
PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+cGxhaW4gdGV4dDxiPjxp
PmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48
c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQg
aXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS03Ny1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0
aXplLTc3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZjg5ZGNmODg4NDdhYWI0Yjg5MmEwMDdk
MmRlMzJjMDk2OTgxZWI0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS03Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
NyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhl
IHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdp
dGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hl
bGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8aSBzdHlsZT0iZm9u
dC13ZWlnaHQ6IGJvbGQ7Ij5IZWxsbzwvaT4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGI+SGVsbG88L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48
c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+
PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitGQUlMIGNvbmZpcm1lZE1h
cmt1cCBzaG91bGQgYmUgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+
LiBXYXMgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPjxiPjxpIHN0eWxlPSJtYXJnaW46IDEwcHg7
Ij5oZWxsbzwvaT48L2I+PC9pPi4KK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxs
byZuYnNwO3dvcmxkPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNw
YW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFs
aWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNzcuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNzcuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4z
NjNjZGRlYTY2MzI4MDk0N2QwZDFiZjViNjFlYjg4YjU4NWZjYzg3Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS03Ny5o
dG1sCkBAIC0wLDAgKzEsNTYgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0
aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAg
d2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLiA8L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciBy
b290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBl
bmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJr
dXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7Cisg
ICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFy
a3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdFBhc3RlKCJkaXYiLCAiSGVsbG8iLCAi
SGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iLCAiPGI+PGk+
SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHls
ZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48
L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj48ZGl2PkhlbGxvPC9kaXY+PC9kaXY+PC9kaXY+IiwgIkhlbGxvIik7Cit0ZXN0UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxkaXY+PGk+SGVsbG88L2k+PC9kaXY+PC9iPjwvZGl2PiIsICI8
aSBzdHlsZT1cImZvbnQtd2VpZ2h0OiBib2xkO1wiPkhlbGxvPC9pPiIpOwordGVzdFBhc3RlKCJk
aXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9i
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhl
bGxvPC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHls
ZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgCisgICAgICAgICAgIjxk
aXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2Vp
Z2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4gaGVsbG8yPC9pPjwvYj48
L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDog
bm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48
L3NwYW4+PC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxpIHN0eWxlPVwibWFyZ2luOiAx
MHB4O1wiPjxiPjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+IiwK
KyAgICAgICAgICAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4i
KTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdo
dDogbm9ybWFsXCI+PGI+PGk+SGVsbG8gPCEtLSBjb21tZW50IC0tPndvcmxkPC9pPjwvYj48L3Nw
YW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7Cit0
ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5v
cm1hbFwiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9p
PjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wi
PnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4i
KTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS1hbmQtc2FuaXRpemUtNzgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS03OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWY4
OWRjZjg4ODQ3YWFiNGI4OTJhMDA3ZDJkZTMyYzA5Njk4MWViNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNzgtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTcgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFz
dGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJi
b3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48
aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9p
PjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGkgc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SGVsbG88L2k+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxiPkhl
bGxvPC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPmhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij48
Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48
L2I+JworRkFJTCBjb25maXJtZWRNYXJrdXAgc2hvdWxkIGJlIDxpIHN0eWxlPSJtYXJnaW46IDEw
cHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4gV2FzIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij48Yj48
aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+cGxh
aW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTc4
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXpl
LTc4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMzYzY2RkZWE2NjMyODA5NDdkMGQxYmY1YjYxZWI4OGI1ODVm
Y2M4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS1hbmQtc2FuaXRpemUtNzguaHRtbApAQCAtMCwwICsxLDU2IEBACis8IURPQ1RZUEUgSFRN
TCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBw
YXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZl
cmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4gPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdFBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCkgeworICAgIHZh
ciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIHJv
b3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxz
ZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK3Rlc3RQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8Yj48aT5I
ZWxsbzwvaT48L2I+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVs
bG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7
Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2
PiIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48ZGl2PjxpPkhlbGxvPC9p
PjwvZGl2PjwvYj48L2Rpdj4iLCAiPGkgc3R5bGU9XCJmb250LXdlaWdodDogYm9sZDtcIj5IZWxs
bzwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJm
b250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwv
ZGl2PiIsIAorICAgICAgICAgICI8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+
PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+
PGI+PGk+IGhlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFu
IHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxp
PiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIs
ICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj48Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBweDtc
Ij5oZWxsbzwvaT48L2I+PC9pPiIsCisgICAgICAgICAgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4
O1wiPmhlbGxvPC9pPjwvYj48L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxz
cGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvIDwhLS0gY29tbWVu
dCAtLT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvJm5i
c3A7d29ybGQ8L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBz
dHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMg
dGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwi
Zm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwv
aT48L2I+PC9zcGFuPjwvaT48L2I+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTc5LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNzktZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmFmODlkY2Y4ODg0N2FhYjRiODkyYTAwN2QyZGUzMmMwOTY5ODFl
YjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtYW5kLXNhbml0aXplLTc5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdt
ZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3Rp
bmcgdGhlIHN0eWxlLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hl
bGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxpIHN0eWxlPSJmb250LXdlaWdodDogYm9s
ZDsiPkhlbGxvPC9pPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0
LWFsaWduOiBjZW50ZXI7Ij48Yj5IZWxsbzwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJm
b250LXdlaWdodDogbm9ybWFsOyI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxs
bzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK0ZBSUwgY29uZmlybWVkTWFya3VwIHNob3VsZCBi
ZSA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uIFdhcyA8aSBzdHls
ZT0ibWFyZ2luOiAxMHB4OyI+PGI+PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwv
Yj48L2k+LgorUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8
L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9u
dC13ZWlnaHQ6IG5vcm1hbDsiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwv
Yj48L3NwYW4+PC9pPjwvYj4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLWFuZC1zYW5pdGl6ZS03OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS03OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2M2NkZGVhNjYzMjgw
OTQ3ZDBkMWJmNWI2MWViODhiNTg1ZmNjODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTc5Lmh0bWwKQEAgLTAsMCAr
MSw1NiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJh
Z21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVj
dGluZyB0aGUgc3R5bGUuIDwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwKTsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5m
b2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5p
bm5lckhUTUw7CisKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0
ZWQgKyAiJyIpOworfQorCit0ZXN0UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIpOwordGVz
dFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48L2I+
Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWln
aHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAi
PGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PjxkaXY+
SGVsbG88L2Rpdj48L2Rpdj48L2Rpdj4iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxk
aXY+PGI+PGRpdj48aT5IZWxsbzwvaT48L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9u
dC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+PC9kaXY+
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+
Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWln
aHQ6IG5vcm1hbFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAKKyAgICAgICAgICAiPGRpdj48Yj48aT5oZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtc
Ij48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiBoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9i
PjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+
PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9i
PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+PGI+PGkg
c3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iLAorICAgICAgICAgICI8
aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIpOwordGVzdFBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48
Yj48aT5IZWxsbyA8IS0tIGNvbW1lbnQgLS0+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwv
ZGl2PiIsICI8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2
IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+cGxhaW4g
dGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIs
ICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+cGxhaW4gdGV4dDxi
PjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6
ZS04LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1h
bmQtc2FuaXRpemUtOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWY4OWRjZjg4ODQ3YWFiNGI4
OTJhMDA3ZDJkZTMyYzA5Njk4MWViNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtOC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxNyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJp
bXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFy
a3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4KKworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8aSBzdHls
ZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IZWxsbzwvaT4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGI+SGVsbG88L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPjxiPjxpPmhlbGxvMTwvaT48
L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitGQUlMIGNvbmZp
cm1lZE1hcmt1cCBzaG91bGQgYmUgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwv
Yj48L2k+LiBXYXMgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPjxiPjxpIHN0eWxlPSJtYXJnaW46
IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4KK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48
aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+
PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij5wbGFpbiB0ZXh0PGI+PGk+Ym9s
ZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtOC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS04Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMzYzY2RkZWE2NjMyODA5NDdkMGQxYmY1YjYxZWI4OGI1ODVmY2M4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUt
OC5odG1sCkBAIC0wLDAgKzEsNTYgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmlt
cyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJr
dXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLiA8L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3Zh
ciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5h
cHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBt
YXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7
CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0g
bWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdFBhc3RlKCJkaXYiLCAiSGVsbG8i
LCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iLCAiPGI+
PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBz
dHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwv
aT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj48ZGl2PkhlbGxvPC9kaXY+PC9kaXY+PC9kaXY+IiwgIkhlbGxvIik7Cit0ZXN0
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxkaXY+PGk+SGVsbG88L2k+PC9kaXY+PC9iPjwvZGl2PiIs
ICI8aSBzdHlsZT1cImZvbnQtd2VpZ2h0OiBib2xkO1wiPkhlbGxvPC9pPiIpOwordGVzdFBhc3Rl
KCJkaXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxv
PC9iPjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxi
PkhlbGxvPC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBz
dHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9zcGFuPjwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgCisgICAgICAgICAg
IjxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQt
d2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4gaGVsbG8yPC9pPjwv
Yj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdo
dDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwv
Yj48L3NwYW4+PC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxpIHN0eWxlPVwibWFyZ2lu
OiAxMHB4O1wiPjxiPjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+
IiwKKyAgICAgICAgICAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwv
aT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdl
aWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG8gPCEtLSBjb21tZW50IC0tPndvcmxkPC9pPjwvYj48
L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7
Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6
IG5vcm1hbFwiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+
PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFs
O1wiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwv
Yj4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS1hbmQtc2FuaXRpemUtODAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS04MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YWY4OWRjZjg4ODQ3YWFiNGI4OTJhMDA3ZDJkZTMyYzA5Njk4MWViNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtODAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTcgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUg
cGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2
ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxv
PC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGkgc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SGVsbG88L2k+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxi
PkhlbGxvPC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPmhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7
Ij48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwv
aT48L2I+JworRkFJTCBjb25maXJtZWRNYXJrdXAgc2hvdWxkIGJlIDxpIHN0eWxlPSJtYXJnaW46
IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4gV2FzIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij48
Yj48aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+
cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXpl
LTgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0
aXplLTgwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzYzY2RkZWE2NjMyODA5NDdkMGQxYmY1YjYxZWI4OGI1
ODVmY2M4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS1hbmQtc2FuaXRpemUtODAuaHRtbApAQCAtMCwwICsxLDU2IEBACis8IURPQ1RZUEUg
SFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRo
ZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhl
IHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4gPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdFBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCkgeworICAg
IHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAg
IHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBm
YWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK3Rl
c3RQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8Yj48
aT5IZWxsbzwvaT48L2I+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2
IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+
SGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbzwvaT48L2I+
Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2Pjwv
ZGl2PiIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48ZGl2PjxpPkhlbGxv
PC9pPjwvZGl2PjwvYj48L2Rpdj4iLCAiPGkgc3R5bGU9XCJmb250LXdlaWdodDogYm9sZDtcIj5I
ZWxsbzwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2
IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9
XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9i
PjwvZGl2PiIsIAorICAgICAgICAgICI8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+
PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48
L2I+PGI+PGk+IGhlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxz
cGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxi
PjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRp
diIsICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj48Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBw
eDtcIj5oZWxsbzwvaT48L2I+PC9pPiIsCisgICAgICAgICAgIjxpIHN0eWxlPVwibWFyZ2luOiAx
MHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvIDwhLS0gY29t
bWVudCAtLT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxv
Jm5ic3A7d29ybGQ8L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3Bh
biBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFs
aWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxl
PVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4
dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTgxLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtODEtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmODlkY2Y4ODg0N2FhYjRiODkyYTAwN2QyZGUzMmMwOTY5
ODFlYjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtYW5kLXNhbml0aXplLTgxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZy
YWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZl
Y3RpbmcgdGhlIHN0eWxlLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxpIHN0eWxlPSJmb250LXdlaWdodDog
Ym9sZDsiPkhlbGxvPC9pPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0
ZXh0LWFsaWduOiBjZW50ZXI7Ij48Yj5IZWxsbzwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxl
PSJmb250LXdlaWdodDogbm9ybWFsOyI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDto
ZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK0ZBSUwgY29uZmlybWVkTWFya3VwIHNob3Vs
ZCBiZSA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uIFdhcyA8aSBz
dHlsZT0ibWFyZ2luOiAxMHB4OyI+PGI+PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9p
PjwvYj48L2k+LgorUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvJm5ic3A7d29y
bGQ8L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0i
Zm9udC13ZWlnaHQ6IG5vcm1hbDsiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9p
PjwvYj48L3NwYW4+PC9pPjwvYj4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS04MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS04MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2M2NkZGVhNjYz
MjgwOTQ3ZDBkMWJmNWI2MWViODhiNTg1ZmNjODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTgxLmh0bWwKQEAgLTAs
MCArMSw1NiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQg
ZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFm
ZmVjdGluZyB0aGUgc3R5bGUuIDwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG9yaWdpbmFsTWFya3VwKTsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9k
ZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9k
ZS5pbm5lckhUTUw7CisKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhw
ZWN0ZWQgKyAiJyIpOworfQorCit0ZXN0UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIpOwor
dGVzdFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48
L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13
ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4i
LCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48L2Rpdj48L2Rpdj4iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGI+PGRpdj48aT5IZWxsbzwvaT48L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwi
Zm9udC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+PC9k
aXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9k
aXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13
ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAKKyAgICAgICAgICAiPGRpdj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1h
bDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiBoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+
PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+
PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+
PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+PGI+
PGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iLAorICAgICAgICAg
ICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIpOwordGVzdFBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxc
Ij48Yj48aT5IZWxsbyA8IS0tIGNvbW1lbnQgLS0+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9i
PjwvZGl2PiIsICI8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+cGxh
aW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2
PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+cGxhaW4gdGV4
dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5p
dGl6ZS04Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtYW5kLXNhbml0aXplLTgyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZjg5ZGNmODg4NDdh
YWI0Yjg5MmEwMDdkMmRlMzJjMDk2OTgxZWI0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS04Mi1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxNyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRp
b24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0
aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4KKworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9p
PjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
aSBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IZWxsbzwvaT4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGI+SGVsbG88L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPjxiPjxpPmhlbGxv
MTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitGQUlM
IGNvbmZpcm1lZE1hcmt1cCBzaG91bGQgYmUgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxv
PC9pPjwvYj48L2k+LiBXYXMgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPjxiPjxpIHN0eWxlPSJt
YXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4KK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij5wbGFpbiB0ZXh0PGI+
PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtODIuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtODIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4zNjNjZGRlYTY2MzI4MDk0N2QwZDFiZjViNjFlYjg4YjU4NWZjYzg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1z
YW5pdGl6ZS04Mi5odG1sCkBAIC0wLDAgKzEsNTYgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJh
dGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9m
IHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLiA8L3A+Cis8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rp
b24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1l
bnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
dGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5u
ZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdFBhc3RlKCJkaXYi
LCAiSGVsbG8iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxiPjxpPkhlbGxvPC9pPjwv
Yj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbzwvaT48L2I+
PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj48ZGl2PkhlbGxvPC9kaXY+PC9kaXY+PC9kaXY+IiwgIkhlbGxv
Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxkaXY+PGk+SGVsbG88L2k+PC9kaXY+PC9i
PjwvZGl2PiIsICI8aSBzdHlsZT1cImZvbnQtd2VpZ2h0OiBib2xkO1wiPkhlbGxvPC9pPiIpOwor
dGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxiPkhlbGxvPC9iPjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9zcGFuPjwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0
OiBub3JtYWxcIj48Yj48aT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgCisg
ICAgICAgICAgIjxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHls
ZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4gaGVs
bG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJm
b250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVs
bG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxpIHN0eWxl
PVwibWFyZ2luOiAxMHB4O1wiPjxiPjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9p
PjwvYj48L2k+IiwKKyAgICAgICAgICAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88
L2k+PC9iPjwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9
XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG8gPCEtLSBjb21tZW50IC0tPndvcmxk
PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwv
aT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9u
dC13ZWlnaHQ6IG5vcm1hbFwiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwv
Yj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdo
dDogbm9ybWFsO1wiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3Nw
YW4+PC9pPjwvYj4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtODMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS04My1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYWY4OWRjZjg4ODQ3YWFiNGI4OTJhMDA3ZDJkZTMyYzA5Njk4MWViNAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2Fu
aXRpemUtODMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTcgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVk
dWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5
bGUuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxi
PjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGkgc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SGVsbG88
L2k+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxiPkhlbGxvPC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0
OiBub3JtYWw7Ij48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+
PC9zcGFuPjwvaT48L2I+JworRkFJTCBjb25maXJtZWRNYXJrdXAgc2hvdWxkIGJlIDxpIHN0eWxl
PSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4gV2FzIDxpIHN0eWxlPSJtYXJnaW46
IDEwcHg7Ij48Yj48aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDog
bm9ybWFsOyI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48
L2k+PC9iPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5k
LXNhbml0aXplLTgzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
YW5kLXNhbml0aXplLTgzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzYzY2RkZWE2NjMyODA5NDdkMGQxYmY1
YjYxZWI4OGI1ODVmY2M4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtODMuaHRtbApAQCAtMCwwICsxLDU2IEBACis8
IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNr
cyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byBy
ZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBz
dHlsZS4gPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdFBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3Rl
ZCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXApOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
UGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsK
KworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK3Rlc3RQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRp
diIsICI8Yj48aT5IZWxsbzwvaT48L2I+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFs
XCI+PGI+PGk+SGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxs
bzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48ZGl2
PjxpPkhlbGxvPC9pPjwvZGl2PjwvYj48L2Rpdj4iLCAiPGkgc3R5bGU9XCJmb250LXdlaWdodDog
Ym9sZDtcIj5IZWxsbzwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj4iKTsKK3Rlc3RQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFs
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+PHNw
YW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvc3Bh
bj48L2k+PC9iPjwvZGl2PiIsIAorICAgICAgICAgICI8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhl
bGxvMTwvaT48L2I+PGI+PGk+IGhlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+Iiwg
IjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8
L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7Cit0ZXN0
UGFzdGUoImRpdiIsICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj48Yj48aSBzdHlsZT1cIm1h
cmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIsCisgICAgICAgICAgIjxpIHN0eWxlPVwi
bWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxv
IDwhLS0gY29tbWVudCAtLT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxi
PjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj5wbGFpbiB0ZXh0PGI+PGk+
Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxz
cGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBp
dGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTg0LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRp
emUtODQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmODlkY2Y4ODg0N2FhYjRiODkyYTAwN2Qy
ZGUzMmMwOTY5ODFlYjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTg0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUg
cGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0
aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxpIHN0eWxlPSJmb250
LXdlaWdodDogYm9sZDsiPkhlbGxvPC9pPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48Yj5IZWxsbzwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxz
cGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48
aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK0ZBSUwgY29uZmlybWVkTWFy
a3VwIHNob3VsZCBiZSA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4u
IFdhcyA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+PGI+PGkgc3R5bGU9Im1hcmdpbjogMTBweDsi
PmhlbGxvPC9pPjwvYj48L2k+LgorUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxv
Jm5ic3A7d29ybGQ8L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3Bh
biBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxp
YyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS04NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS04NC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2
M2NkZGVhNjYzMjgwOTQ3ZDBkMWJmNWI2MWViODhiNTg1ZmNjODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTg0Lmh0
bWwKQEAgLTAsMCArMSw1NiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRo
ZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3
aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuIDwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOwor
CisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwi
LCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFy
a3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwg
IiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCit0ZXN0UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIsICI8Yj48aT5I
ZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxl
PVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwv
Yj48L2Rpdj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRp
dj48ZGl2PjxkaXY+SGVsbG88L2Rpdj48L2Rpdj48L2Rpdj4iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0
ZSgiZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxsbzwvaT48L2Rpdj48L2I+PC9kaXY+IiwgIjxp
IHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88L2k+Iik7Cit0ZXN0UGFzdGUoImRp
diIsICI8ZGl2PjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+
PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVs
bG88L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxl
PVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAKKyAgICAgICAgICAiPGRp
dj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWln
aHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiBoZWxsbzI8L2k+PC9iPjwv
c3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBu
b3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwv
c3Bhbj48L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGkgc3R5bGU9XCJtYXJnaW46IDEw
cHg7XCI+PGI+PGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iLAor
ICAgICAgICAgICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIp
OwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0
OiBub3JtYWxcIj48Yj48aT5IZWxsbyA8IS0tIGNvbW1lbnQgLS0+d29ybGQ8L2k+PC9iPjwvc3Bh
bj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4iKTsKK3Rl
c3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9y
bWFsXCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+
PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+
cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LWFuZC1zYW5pdGl6ZS04NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTg1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZjg5
ZGNmODg4NDdhYWI0Yjg5MmEwMDdkMmRlMzJjMDk2OTgxZWI0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS04NS1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxNyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0
ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJv
c2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4KKworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxp
PkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+
PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8aSBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IZWxsbzwvaT4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGI+SGVs
bG88L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPjxi
PjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwv
Yj4nCitGQUlMIGNvbmZpcm1lZE1hcmt1cCBzaG91bGQgYmUgPGkgc3R5bGU9Im1hcmdpbjogMTBw
eDsiPmhlbGxvPC9pPjwvYj48L2k+LiBXYXMgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPjxiPjxp
IHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4KK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij5wbGFp
biB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtODUu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUt
ODUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4zNjNjZGRlYTY2MzI4MDk0N2QwZDFiZjViNjFlYjg4YjU4NWZj
Yzg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLWFuZC1zYW5pdGl6ZS04NS5odG1sCkBAIC0wLDAgKzEsNTYgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBh
c3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVy
Ym9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLiA8L3A+Cis8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5n
ZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIp
OworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAg
IG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlv
biB0ZXN0UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdFBh
c3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxiPjxpPkhl
bGxvPC9pPjwvYj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxs
bzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsK
K3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj48ZGl2PkhlbGxvPC9kaXY+PC9kaXY+PC9kaXY+
IiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxkaXY+PGk+SGVsbG88L2k+
PC9kaXY+PC9iPjwvZGl2PiIsICI8aSBzdHlsZT1cImZvbnQtd2VpZ2h0OiBib2xkO1wiPkhlbGxv
PC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZv
bnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9k
aXY+IiwgCisgICAgICAgICAgIjxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48
c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48
Yj48aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4g
c3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+
Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2Iiwg
IjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPjxiPjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wi
PmhlbGxvPC9pPjwvYj48L2k+IiwKKyAgICAgICAgICAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7
XCI+aGVsbG88L2k+PC9iPjwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNw
YW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG8gPCEtLSBjb21tZW50
IC0tPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG8mbmJz
cDt3b3JsZDwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0
eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0
ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJm
b250LXdlaWdodDogbm9ybWFsO1wiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9p
PjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOwor
Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtODYtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS04Ni1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYWY4OWRjZjg4ODQ3YWFiNGI4OTJhMDA3ZDJkZTMyYzA5Njk4MWVi
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS1hbmQtc2FuaXRpemUtODYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTcgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21l
bnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGlu
ZyB0aGUgc3R5bGUuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGkgc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xk
OyI+SGVsbG88L2k+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxiPkhlbGxvPC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZv
bnQtd2VpZ2h0OiBub3JtYWw7Ij48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxv
MjwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworRkFJTCBjb25maXJtZWRNYXJrdXAgc2hvdWxkIGJl
IDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4gV2FzIDxpIHN0eWxl
PSJtYXJnaW46IDEwcHg7Ij48Yj48aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9i
PjwvaT4uCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwv
aT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250
LXdlaWdodDogbm9ybWFsOyI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9i
Pjwvc3Bhbj48L2k+PC9iPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtYW5kLXNhbml0aXplLTg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtYW5kLXNhbml0aXplLTg2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzYzY2RkZWE2NjMyODA5
NDdkMGQxYmY1YjYxZWI4OGI1ODVmY2M4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtODYuaHRtbApAQCAtMCwwICsx
LDU2IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8
aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0
ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFn
bWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0
aW5nIHRoZSBzdHlsZS4gPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdFBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3Vw
LCBleHBlY3RlZCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXApOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZv
Y3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlu
bmVySFRNTDsKKworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK3Rlc3RQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
UGFzdGUoImRpdiIsICI8Yj48aT5IZWxsbzwvaT48L2I+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4i
KTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdo
dDogbm9ybWFsXCI+PGI+PGk+SGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8
Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48ZGl2PjxpPkhlbGxvPC9pPjwvZGl2PjwvYj48L2Rpdj4iLCAiPGkgc3R5bGU9XCJmb250
LXdlaWdodDogYm9sZDtcIj5IZWxsbzwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj4i
KTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdo
dDogbm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsIAorICAgICAgICAgICI8ZGl2PjxiPjxpPmhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0
ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wi
PjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+IGhlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+
PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48
aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+
Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj48Yj48aSBz
dHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIsCisgICAgICAgICAgIjxp
IHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+Iik7Cit0ZXN0UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxi
PjxpPkhlbGxvIDwhLS0gY29tbWVudCAtLT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9k
aXY+IiwgIjxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj5wbGFpbiB0
ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+Iiwg
IjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5wbGFpbiB0ZXh0PGI+
PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXpl
LTg3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1h
bmQtc2FuaXRpemUtODctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmODlkY2Y4ODg0N2FhYjRi
ODkyYTAwN2QyZGUzMmMwOTY5ODFlYjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTg3LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDE3IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0
cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBt
YXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9i
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxpIHN0
eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhlbGxvPC9pPicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48Yj5IZWxsbzwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+PGI+PGk+aGVsbG8xPC9p
PjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK0ZBSUwgY29u
ZmlybWVkTWFya3VwIHNob3VsZCBiZSA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+
PC9iPjwvaT4uIFdhcyA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+PGI+PGkgc3R5bGU9Im1hcmdp
bjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LgorUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxi
PjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPnBsYWluIHRleHQ8Yj48aT5i
b2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS04Ny5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS04Ny5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjM2M2NkZGVhNjYzMjgwOTQ3ZDBkMWJmNWI2MWViODhiNTg1ZmNjODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0
aXplLTg3Lmh0bWwKQEAgLTAsMCArMSw1NiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9u
IHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhl
IG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuIDwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICByb290LmFwcGVuZENoaWxk
KG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJT
ZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxz
ZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29u
ZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBzaG91bGRCZSgiY29uZmlybWVk
TWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCit0ZXN0UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIs
ICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxz
cGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvPC9pPjwvYj48L3Nw
YW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJk
aXYiLCAiPGRpdj48ZGl2PjxkaXY+SGVsbG88L2Rpdj48L2Rpdj48L2Rpdj4iLCAiSGVsbG8iKTsK
K3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxsbzwvaT48L2Rpdj48L2I+PC9k
aXY+IiwgIjxpIHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88L2k+Iik7Cit0ZXN0
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+
SGVsbG88L2I+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGI+SGVsbG88L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxz
cGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L3Nw
YW4+PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5v
cm1hbFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAKKyAgICAg
ICAgICAiPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwi
Zm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiBoZWxsbzI8
L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQt
d2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8
L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGkgc3R5bGU9XCJt
YXJnaW46IDEwcHg7XCI+PGI+PGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9i
PjwvaT4iLAorICAgICAgICAgICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48
L2I+PC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZv
bnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbyA8IS0tIGNvbW1lbnQgLS0+d29ybGQ8L2k+
PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwv
Yj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdl
aWdodDogbm9ybWFsXCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwv
c3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBu
b3JtYWw7XCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48
L2k+PC9iPiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS04OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTg4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5hZjg5ZGNmODg4NDdhYWI0Yjg5MmEwMDdkMmRlMzJjMDk2OTgxZWI0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6
ZS04OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0
IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2Ug
dGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4K
KworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+
SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8aSBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IZWxsbzwvaT4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGI+SGVsbG88L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5v
cm1hbDsiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3Nw
YW4+PC9pPjwvYj4nCitGQUlMIGNvbmZpcm1lZE1hcmt1cCBzaG91bGQgYmUgPGkgc3R5bGU9Im1h
cmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LiBXYXMgPGkgc3R5bGU9Im1hcmdpbjogMTBw
eDsiPjxiPjxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4KK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3Jt
YWw7Ij5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48
L2I+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2Fu
aXRpemUtODguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQt
c2FuaXRpemUtODguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNjNjZGRlYTY2MzI4MDk0N2QwZDFiZjViNjFl
Yjg4YjU4NWZjYzg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS04OC5odG1sCkBAIC0wLDAgKzEsNTYgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVj
ZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxl
LiA8L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBk
b2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlv
biBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0
cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQor
CitmdW5jdGlvbiB0ZXN0UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdFBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2Iiwg
IjxiPjxpPkhlbGxvPC9pPjwvYj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48
Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvPC9p
PjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj48ZGl2PkhlbGxvPC9kaXY+PC9k
aXY+PC9kaXY+IiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxkaXY+PGk+
SGVsbG88L2k+PC9kaXY+PC9iPjwvZGl2PiIsICI8aSBzdHlsZT1cImZvbnQtd2VpZ2h0OiBib2xk
O1wiPkhlbGxvPC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PiIpOwordGVzdFBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT48c3BhbiBz
dHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT53b3JsZDwvaT48L2I+PC9zcGFuPjwv
aT48L2I+PC9kaXY+IiwgCisgICAgICAgICAgIjxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8x
PC9pPjwvYj48Yj48aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+
PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48
L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKK3Rlc3RQYXN0
ZSgiZGl2IiwgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPjxiPjxpIHN0eWxlPVwibWFyZ2lu
OiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+IiwKKyAgICAgICAgICAiPGkgc3R5bGU9XCJtYXJn
aW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+
PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG8gPCEt
LSBjb21tZW50IC0tPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+
SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPnBsYWluIHRleHQ8Yj48aT5ib2xk
IGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4g
c3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxp
YyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0g
Im5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtODktZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS04
OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWY4OWRjZjg4ODQ3YWFiNGI4OTJhMDA3ZDJkZTMy
YzA5Njk4MWViNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtODktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTcgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0
ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0
IGFmZmVjdGluZyB0aGUgc3R5bGUuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGkgc3R5bGU9ImZvbnQtd2Vp
Z2h0OiBib2xkOyI+SGVsbG88L2k+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxiPkhlbGxvPC9iPjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4g
c3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZu
YnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworRkFJTCBjb25maXJtZWRNYXJrdXAg
c2hvdWxkIGJlIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4gV2Fz
IDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij48Yj48aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVs
bG88L2k+PC9iPjwvaT4uCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG8mbmJz
cDt3b3JsZDwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0
eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRl
eHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTg5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzYzY2Rk
ZWE2NjMyODA5NDdkMGQxYmY1YjYxZWI4OGI1ODVmY2M4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtODkuaHRtbApA
QCAtMCwwICsxLDU2IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1M
Ly9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlv
biI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBh
c3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhv
dXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4gPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdFBhc3RlKHRhZ05hbWUsIG9yaWdp
bmFsTWFya3VwLCBleHBlY3RlZCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAg
ICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZh
bHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAg
PSBub2RlLmlubmVySFRNTDsKKworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK3Rlc3RQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8Yj48aT5IZWxsbzwvaT48L2I+IiwgIjxiPjxpPkhlbGxv
PC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJm
b250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwv
ZGl2PiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48ZGl2PjxpPkhlbGxvPC9pPjwvZGl2PjwvYj48L2Rpdj4iLCAiPGkgc3R5
bGU9XCJmb250LXdlaWdodDogYm9sZDtcIj5IZWxsbzwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwv
Yj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJm
b250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsIAorICAgICAgICAgICI8ZGl2Pjxi
PjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iKTsK
K3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDog
bm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+IGhlbGxvMjwvaT48L2I+PC9zcGFu
PjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1h
bDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFu
PjwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtc
Ij48Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIsCisgICAg
ICAgICAgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+Iik7Cit0
ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5v
cm1hbFwiPjxiPjxpPkhlbGxvIDwhLS0gY29tbWVudCAtLT53b3JsZDwvaT48L2I+PC9zcGFuPjwv
aT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPiIpOwordGVzdFBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxc
Ij5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+
PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5wbGFp
biB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5k
LXNhbml0aXplLTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLWFuZC1zYW5pdGl6ZS05LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZjg5ZGNmODg4
NDdhYWI0Yjg5MmEwMDdkMmRlMzJjMDk2OTgxZWI0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS05LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDE3IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJh
dGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9m
IHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88
L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxpIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhlbGxvPC9pPicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48Yj5IZWxsbzwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+PGI+PGk+aGVs
bG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK0ZB
SUwgY29uZmlybWVkTWFya3VwIHNob3VsZCBiZSA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVs
bG88L2k+PC9iPjwvaT4uIFdhcyA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+PGI+PGkgc3R5bGU9
Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LgorUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPnBsYWluIHRleHQ8
Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS05Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTkuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4zNjNjZGRlYTY2MzI4MDk0N2QwZDFiZjViNjFlYjg4YjU4NWZjYzg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1z
YW5pdGl6ZS05Lmh0bWwKQEAgLTAsMCArMSw1NiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0
aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2Yg
dGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuIDwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIgbm9kZSA9IGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICByb290LmFwcGVuZENo
aWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBm
YWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAg
Y29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBzaG91bGRCZSgiY29uZmly
bWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCit0ZXN0UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVsbG88L2k+PC9i
PiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvPC9pPjwvYj48
L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3Rl
KCJkaXYiLCAiPGRpdj48ZGl2PjxkaXY+SGVsbG88L2Rpdj48L2Rpdj48L2Rpdj4iLCAiSGVsbG8i
KTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxsbzwvaT48L2Rpdj48L2I+
PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88L2k+Iik7Cit0
ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGI+SGVsbG88L2I+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L3NwYW4+PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6
IG5vcm1hbFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAKKyAg
ICAgICAgICAiPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxl
PVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiBoZWxs
bzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZv
bnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxs
bzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGkgc3R5bGU9
XCJtYXJnaW46IDEwcHg7XCI+PGI+PGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+
PC9iPjwvaT4iLAorICAgICAgICAgICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwv
aT48L2I+PC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1c
ImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbyA8IS0tIGNvbW1lbnQgLS0+d29ybGQ8
L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9p
PjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250
LXdlaWdodDogbm9ybWFsXCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9i
Pjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0
OiBub3JtYWw7XCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bh
bj48L2k+PC9iPiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS05MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTkwLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5hZjg5ZGNmODg4NDdhYWI0Yjg5MmEwMDdkMmRlMzJjMDk2OTgxZWI0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5p
dGl6ZS05MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0
aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1
Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHls
ZS4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+
PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8aSBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IZWxsbzwv
aT4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGI+SGVsbG88L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6
IG5vcm1hbDsiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48
L3NwYW4+PC9pPjwvYj4nCitGQUlMIGNvbmZpcm1lZE1hcmt1cCBzaG91bGQgYmUgPGkgc3R5bGU9
Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LiBXYXMgPGkgc3R5bGU9Im1hcmdpbjog
MTBweDsiPjxiPjxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4KK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBu
b3JtYWw7Ij5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwv
aT48L2I+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQt
c2FuaXRpemUtOTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1h
bmQtc2FuaXRpemUtOTAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNjNjZGRlYTY2MzI4MDk0N2QwZDFiZjVi
NjFlYjg4YjU4NWZjYzg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS05MC5odG1sCkBAIC0wLDAgKzEsNTYgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJl
ZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0
eWxlLiA8L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwg
PSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5j
dGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUg
PSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOwor
fQorCitmdW5jdGlvbiB0ZXN0UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdFBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2
IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxc
Ij48Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxv
PC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj48ZGl2PkhlbGxvPC9kaXY+
PC9kaXY+PC9kaXY+IiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxkaXY+
PGk+SGVsbG88L2k+PC9kaXY+PC9iPjwvZGl2PiIsICI8aSBzdHlsZT1cImZvbnQtd2VpZ2h0OiBi
b2xkO1wiPkhlbGxvPC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PiIpOwordGVzdFBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT48c3Bh
biBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT53b3JsZDwvaT48L2I+PC9zcGFu
PjwvaT48L2I+PC9kaXY+IiwgCisgICAgICAgICAgIjxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVs
bG8xPC9pPjwvYj48Yj48aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAi
PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwv
aT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKK3Rlc3RQ
YXN0ZSgiZGl2IiwgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPjxiPjxpIHN0eWxlPVwibWFy
Z2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+IiwKKyAgICAgICAgICAiPGkgc3R5bGU9XCJt
YXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxk
aXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG8g
PCEtLSBjb21tZW50IC0tPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+
PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPnBsYWluIHRleHQ8Yj48aT5i
b2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNw
YW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0
YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5
ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtOTEtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6
ZS05MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWY4OWRjZjg4ODQ3YWFiNGI4OTJhMDA3ZDJk
ZTMyYzA5Njk4MWViNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtOTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTcg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBw
YXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRo
b3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGkgc3R5bGU9ImZvbnQt
d2VpZ2h0OiBib2xkOyI+SGVsbG88L2k+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxiPkhlbGxvPC9iPjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNw
YW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxp
PiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworRkFJTCBjb25maXJtZWRNYXJr
dXAgc2hvdWxkIGJlIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4g
V2FzIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij48Yj48aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+
aGVsbG88L2k+PC9iPjwvaT4uCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG8m
bmJzcDt3b3JsZDwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFu
IHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGlj
IHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTkxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTkxLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzYz
Y2RkZWE2NjMyODA5NDdkMGQxYmY1YjYxZWI4OGI1ODVmY2M4NwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtOTEuaHRt
bApAQCAtMCwwICsxLDU2IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBI
VE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlw
dGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhl
IHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdp
dGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4gPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdFBhc3RlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwLCBleHBlY3RlZCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisK
KyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIs
IGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJr
dXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK3Rlc3RQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8Yj48aT5IZWxsbzwvaT48L2I+IiwgIjxiPjxpPkhl
bGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9
XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9i
PjwvZGl2PiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIpOwordGVzdFBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48ZGl2PjxpPkhlbGxvPC9pPjwvZGl2PjwvYj48L2Rpdj4iLCAiPGkg
c3R5bGU9XCJmb250LXdlaWdodDogYm9sZDtcIj5IZWxsbzwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxs
bzwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9
XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsIAorICAgICAgICAgICI8ZGl2
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
KTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdo
dDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+IGhlbGxvMjwvaT48L2I+PC9z
cGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5v
cm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9z
cGFuPjwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8aSBzdHlsZT1cIm1hcmdpbjogMTBw
eDtcIj48Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIsCisg
ICAgICAgICAgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+Iik7
Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6
IG5vcm1hbFwiPjxiPjxpPkhlbGxvIDwhLS0gY29tbWVudCAtLT53b3JsZDwvaT48L2I+PC9zcGFu
PjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPiIpOwordGVz
dFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3Jt
YWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48
L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5w
bGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
YW5kLXNhbml0aXplLTkyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtOTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmODlk
Y2Y4ODg0N2FhYjRiODkyYTAwN2QyZGUzMmMwOTY5ODFlYjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTkyLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3Rl
IG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9z
aXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+
SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48
L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxpIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhlbGxvPC9pPicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48Yj5IZWxs
bzwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5oZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+PGI+
PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9i
PicKK0ZBSUwgY29uZmlybWVkTWFya3VwIHNob3VsZCBiZSA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4
OyI+aGVsbG88L2k+PC9iPjwvaT4uIFdhcyA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+PGI+PGkg
c3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LgorUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPnBsYWlu
IHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS05Mi5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS05
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjM2M2NkZGVhNjYzMjgwOTQ3ZDBkMWJmNWI2MWViODhiNTg1ZmNj
ODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtYW5kLXNhbml0aXplLTkyLmh0bWwKQEAgLTAsMCArMSw1NiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFz
dGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJi
b3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuIDwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIg
bm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICByb290
LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2Up
OworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBzaG91bGRC
ZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCit0ZXN0UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVs
bG88L2k+PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxv
PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwor
dGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PjxkaXY+SGVsbG88L2Rpdj48L2Rpdj48L2Rpdj4i
LCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxsbzwvaT48
L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88
L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9u
dC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rp
dj4iLCAKKyAgICAgICAgICAiPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxz
cGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxi
PjxpPiBoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBz
dHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4m
bmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAi
PGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+PGI+PGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+
aGVsbG88L2k+PC9iPjwvaT4iLAorICAgICAgICAgICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtc
Ij5oZWxsbzwvaT48L2I+PC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3Bh
biBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbyA8IS0tIGNvbW1lbnQg
LS0+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbyZuYnNw
O3dvcmxkPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5
bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRl
eHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZv
bnQtd2VpZ2h0OiBub3JtYWw7XCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+
PC9iPjwvc3Bhbj48L2k+PC9iPiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS05My1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTkzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5hZjg5ZGNmODg4NDdhYWI0Yjg5MmEwMDdkMmRlMzJjMDk2OTgxZWI0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LWFuZC1zYW5pdGl6ZS05My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNyBAQAorVGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVu
dCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5n
IHRoZSBzdHlsZS4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8aSBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7
Ij5IZWxsbzwvaT4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGI+SGVsbG88L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9u
dC13ZWlnaHQ6IG5vcm1hbDsiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8y
PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitGQUlMIGNvbmZpcm1lZE1hcmt1cCBzaG91bGQgYmUg
PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LiBXYXMgPGkgc3R5bGU9
Im1hcmdpbjogMTBweDsiPjxiPjxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+
PC9pPi4KK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9p
PjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQt
d2VpZ2h0OiBub3JtYWw7Ij5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+
PC9zcGFuPjwvaT48L2I+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS1hbmQtc2FuaXRpemUtOTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS1hbmQtc2FuaXRpemUtOTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNjNjZGRlYTY2MzI4MDk0
N2QwZDFiZjViNjFlYjg4YjU4NWZjYzg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS05My5odG1sCkBAIC0wLDAgKzEs
NTYgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdt
ZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3Rp
bmcgdGhlIHN0eWxlLiA8L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisK
K3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsK
KworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIg
bm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50
RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVy
biBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdFBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iKTsKK3Rlc3RQ
YXN0ZSgiZGl2IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIp
OwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0
OiBub3JtYWxcIj48Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxi
PjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj48ZGl2Pkhl
bGxvPC9kaXY+PC9kaXY+PC9kaXY+IiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxkaXY+PGk+SGVsbG88L2k+PC9kaXY+PC9iPjwvZGl2PiIsICI8aSBzdHlsZT1cImZvbnQt
d2VpZ2h0OiBib2xkO1wiPkhlbGxvPC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PiIp
OwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0
OiBub3JtYWxcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgCisgICAgICAgICAgIjxkaXY+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIpOwordGVzdFBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+
PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48
L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxp
PmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4i
KTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPjxiPjxpIHN0
eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+IiwKKyAgICAgICAgICAiPGkg
c3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iKTsKK3Rlc3RQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+
PGk+SGVsbG8gPCEtLSBjb21tZW50IC0tPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rp
dj4iLCAiPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPnBsYWluIHRl
eHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAi
PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPnBsYWluIHRleHQ8Yj48
aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKKworcm9vdC5zdHls
ZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUt
OTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFu
ZC1zYW5pdGl6ZS05NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWY4OWRjZjg4ODQ3YWFiNGI4
OTJhMDA3ZDJkZTMyYzA5Njk4MWViNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtOTQtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTcgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRy
aW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1h
cmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGkgc3R5
bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SGVsbG88L2k+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxiPkhlbGxvPC9iPjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij48Yj48aT5oZWxsbzE8L2k+
PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworRkFJTCBjb25m
aXJtZWRNYXJrdXAgc2hvdWxkIGJlIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48
L2I+PC9pPi4gV2FzIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij48Yj48aSBzdHlsZT0ibWFyZ2lu
OiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+
PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxi
PjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+cGxhaW4gdGV4dDxiPjxpPmJv
bGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTk0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTk0Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMzYzY2RkZWE2NjMyODA5NDdkMGQxYmY1YjYxZWI4OGI1ODVmY2M4NwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRp
emUtOTQuaHRtbApAQCAtMCwwICsxLDU2IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lF
VEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlk
PSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24g
dHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUg
bWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4gPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdFBhc3RlKHRh
Z05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCkgeworICAgIHZhciBub2RlID0gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIHJvb3QuYXBwZW5kQ2hpbGQo
bm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNl
bGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25m
aXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK3Rlc3RQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iiwg
IjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNw
YW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG88L2k+PC9iPjwvc3Bh
bj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIpOwor
dGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48ZGl2PjxpPkhlbGxvPC9pPjwvZGl2PjwvYj48L2Rp
dj4iLCAiPGkgc3R5bGU9XCJmb250LXdlaWdodDogYm9sZDtcIj5IZWxsbzwvaT4iKTsKK3Rlc3RQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5I
ZWxsbzwvYj48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48Yj5IZWxsbzwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNw
YW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bh
bj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9y
bWFsXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsIAorICAgICAg
ICAgICI8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJm
b250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+IGhlbGxvMjwv
aT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13
ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwv
aT48L2I+PC9zcGFuPjwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8aSBzdHlsZT1cIm1h
cmdpbjogMTBweDtcIj48Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+
PC9pPiIsCisgICAgICAgICAgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwv
Yj48L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9u
dC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvIDwhLS0gY29tbWVudCAtLT53b3JsZDwvaT48
L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9i
PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2Vp
Z2h0OiBub3JtYWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9z
cGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5v
cm1hbDtcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwv
aT48L2I+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtYW5kLXNhbml0aXplLTk1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtOTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmFmODlkY2Y4ODg0N2FhYjRiODkyYTAwN2QyZGUzMmMwOTY5ODFlYjQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXpl
LTk1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
dGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0
aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5I
ZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxpIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhlbGxvPC9pPicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7
Ij48Yj5IZWxsbzwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9y
bWFsOyI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bh
bj48L2k+PC9iPicKK0ZBSUwgY29uZmlybWVkTWFya3VwIHNob3VsZCBiZSA8aSBzdHlsZT0ibWFy
Z2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uIFdhcyA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4
OyI+PGI+PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LgorUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1h
bDsiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwv
Yj4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5p
dGl6ZS05NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1z
YW5pdGl6ZS05NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2M2NkZGVhNjYzMjgwOTQ3ZDBkMWJmNWI2MWVi
ODhiNTg1ZmNjODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTk1Lmh0bWwKQEAgLTAsMCArMSw1NiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNl
IHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUu
IDwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsK
KyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsK
KyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3Rl
IiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAg
ICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQor
Cit0ZXN0UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAi
PGI+PGk+SGVsbG88L2k+PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxi
PjxpPkhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG88L2k+
PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PjxkaXY+SGVsbG88L2Rpdj48L2Rp
dj48L2Rpdj4iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5I
ZWxsbzwvaT48L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7
XCI+SGVsbG88L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPjxzcGFuIHN0
eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L3NwYW4+PC9p
PjwvYj48L2Rpdj4iLCAKKyAgICAgICAgICAiPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8
L2k+PC9iPjxiPjxpPiBoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48
aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwv
Yj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOwordGVzdFBhc3Rl
KCJkaXYiLCAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+PGI+PGkgc3R5bGU9XCJtYXJnaW46
IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iLAorICAgICAgICAgICI8aSBzdHlsZT1cIm1hcmdp
bjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbyA8IS0t
IGNvbW1lbnQgLS0+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5I
ZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+
PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQg
aXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBz
dHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGlj
IHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS05Ni1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTk2
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZjg5ZGNmODg4NDdhYWI0Yjg5MmEwMDdkMmRlMzJj
MDk2OTgxZWI0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS05Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNyBAQAor
VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3Rl
ZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQg
YWZmZWN0aW5nIHRoZSBzdHlsZS4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8aSBzdHlsZT0iZm9udC13ZWln
aHQ6IGJvbGQ7Ij5IZWxsbzwvaT4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGI+SGVsbG88L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBz
dHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5i
c3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitGQUlMIGNvbmZpcm1lZE1hcmt1cCBz
aG91bGQgYmUgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LiBXYXMg
PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPjxiPjxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxs
bzwvaT48L2I+PC9pPi4KK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbyZuYnNw
O3dvcmxkPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5
bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4
dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtOTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtOTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNjNjZGRl
YTY2MzI4MDk0N2QwZDFiZjViNjFlYjg4YjU4NWZjYzg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS05Ni5odG1sCkBA
IC0wLDAgKzEsNTYgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFz
dGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91
dCBhZmZlY3RpbmcgdGhlIHN0eWxlLiA8L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxz
Y3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsK
KyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9k
ZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOwor
ICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdFBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8i
KTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iLCAiPGI+PGk+SGVsbG88
L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZv
bnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9k
aXY+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj48ZGl2PkhlbGxvPC9kaXY+PC9kaXY+PC9kaXY+IiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxkaXY+PGk+SGVsbG88L2k+PC9kaXY+PC9iPjwvZGl2PiIsICI8aSBzdHls
ZT1cImZvbnQtd2VpZ2h0OiBib2xkO1wiPkhlbGxvPC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAi
PGRpdj48ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9i
PjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZv
bnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgCisgICAgICAgICAgIjxkaXY+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIpOwor
dGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBu
b3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+
PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFs
O1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+
PC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wi
PjxiPjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+IiwKKyAgICAg
ICAgICAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iKTsKK3Rl
c3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9y
bWFsXCI+PGI+PGk+SGVsbG8gPCEtLSBjb21tZW50IC0tPndvcmxkPC9pPjwvYj48L3NwYW4+PC9p
PjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7Cit0ZXN0UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwi
PnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48
L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPnBsYWlu
IHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKKwor
cm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQt
c2FuaXRpemUtOTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLWFuZC1zYW5pdGl6ZS05Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWY4OWRjZjg4
ODQ3YWFiNGI4OTJhMDA3ZDJkZTMyYzA5Njk4MWViNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtOTctZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTcgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3Bl
cmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkg
b2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxs
bzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGkgc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SGVsbG88L2k+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxiPkhlbGxvPC9i
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij48Yj48aT5o
ZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+Jwor
RkFJTCBjb25maXJtZWRNYXJrdXAgc2hvdWxkIGJlIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5o
ZWxsbzwvaT48L2I+PC9pPi4gV2FzIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij48Yj48aSBzdHls
ZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+cGxhaW4gdGV4
dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTk3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTk3Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMzYzY2RkZWE2NjMyODA5NDdkMGQxYmY1YjYxZWI4OGI1ODVmY2M4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1h
bmQtc2FuaXRpemUtOTcuaHRtbApAQCAtMCwwICsxLDU2IEBACis8IURPQ1RZUEUgSFRNTCBQVUJM
SUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBv
cGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0
eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4gPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dFBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCkgeworICAgIHZhciBub2Rl
ID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIHJvb3QuYXBw
ZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29w
eSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisK
KyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK3Rlc3RQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8Yj48aT5IZWxsbzwv
aT48L2I+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+
PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG88L2k+
PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIsICJI
ZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48ZGl2PjxpPkhlbGxvPC9pPjwvZGl2
PjwvYj48L2Rpdj4iLCAiPGkgc3R5bGU9XCJmb250LXdlaWdodDogYm9sZDtcIj5IZWxsbzwvaT4i
KTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48Yj5IZWxsbzwvYj48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+
PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdl
aWdodDogbm9ybWFsXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIs
IAorICAgICAgICAgICI8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4g
c3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+
IGhlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxl
PVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNw
O2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8aSBz
dHlsZT1cIm1hcmdpbjogMTBweDtcIj48Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxs
bzwvaT48L2I+PC9pPiIsCisgICAgICAgICAgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhl
bGxvPC9pPjwvYj48L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0
eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvIDwhLS0gY29tbWVudCAtLT53
b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvJm5ic3A7d29y
bGQ8L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1c
ImZvbnQtd2VpZ2h0OiBub3JtYWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwv
aT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13
ZWlnaHQ6IG5vcm1hbDtcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+
PC9zcGFuPjwvaT48L2I+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTk4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtOTgtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmFmODlkY2Y4ODg0N2FhYjRiODkyYTAwN2QyZGUzMmMwOTY5ODFlYjQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5k
LXNhbml0aXplLTk4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRv
IHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhl
IHN0eWxlLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxpIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhl
bGxvPC9pPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWdu
OiBjZW50ZXI7Ij48Yj5IZWxsbzwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdl
aWdodDogbm9ybWFsOyI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+
PC9iPjwvc3Bhbj48L2k+PC9iPicKK0ZBSUwgY29uZmlybWVkTWFya3VwIHNob3VsZCBiZSA8aSBz
dHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uIFdhcyA8aSBzdHlsZT0ibWFy
Z2luOiAxMHB4OyI+PGI+PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+
LgorUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9i
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWln
aHQ6IG5vcm1hbDsiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3Nw
YW4+PC9pPjwvYj4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LWFuZC1zYW5pdGl6ZS05OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLWFuZC1zYW5pdGl6ZS05OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2M2NkZGVhNjYzMjgwOTQ3ZDBk
MWJmNWI2MWViODhiNTg1ZmNjODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTk4Lmh0bWwKQEAgLTAsMCArMSw1NiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQg
dG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0
aGUgc3R5bGUuIDwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFs
TWFya3VwKTsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygp
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhU
TUw7CisKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAi
JyIpOworfQorCit0ZXN0UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIpOwordGVzdFBhc3Rl
KCJkaXYiLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0
ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5v
cm1hbFwiPjxiPjxpPkhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+
SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PjxkaXY+SGVsbG88
L2Rpdj48L2Rpdj48L2Rpdj4iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+
PGRpdj48aT5IZWxsbzwvaT48L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9udC13ZWln
aHQ6IGJvbGQ7XCI+SGVsbG88L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+PC9kaXY+IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+Iik7Cit0
ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5v
cm1hbFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAKKyAgICAgICAgICAiPGRpdj48Yj48aT5oZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48
aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiBoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2
PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVs
bG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOwor
dGVzdFBhc3RlKCJkaXYiLCAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+PGI+PGkgc3R5bGU9
XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iLAorICAgICAgICAgICI8aSBzdHls
ZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIpOwordGVzdFBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5I
ZWxsbyA8IS0tIGNvbW1lbnQgLS0+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIs
ICI8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxk
aXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+cGxhaW4gdGV4dDxi
PjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48
aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+cGxhaW4gdGV4dDxiPjxpPmJv
bGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS05OS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNh
bml0aXplLTk5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZjg5ZGNmODg4NDdhYWI0Yjg5MmEw
MDdkMmRlMzJjMDk2OTgxZWI0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS05OS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxNyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMg
dGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3Vw
IHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8aSBzdHlsZT0i
Zm9udC13ZWlnaHQ6IGJvbGQ7Ij5IZWxsbzwvaT4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGI+SGVsbG88L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48
aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPjxiPjxpPmhlbGxvMTwvaT48L2I+
PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitGQUlMIGNvbmZpcm1l
ZE1hcmt1cCBzaG91bGQgYmUgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48
L2k+LiBXYXMgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPjxiPjxpIHN0eWxlPSJtYXJnaW46IDEw
cHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4KK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5I
ZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+
PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBp
dGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtOTkuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtOTkuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4zNjNjZGRlYTY2MzI4MDk0N2QwZDFiZjViNjFlYjg4YjU4NWZjYzg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS05
OS5odG1sCkBAIC0wLDAgKzEsNTYgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmlt
cyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJr
dXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLiA8L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3Zh
ciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5h
cHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBt
YXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7
CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0g
bWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdFBhc3RlKCJkaXYiLCAiSGVsbG8i
LCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iLCAiPGI+
PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBz
dHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwv
aT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj48ZGl2PkhlbGxvPC9kaXY+PC9kaXY+PC9kaXY+IiwgIkhlbGxvIik7Cit0ZXN0
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxkaXY+PGk+SGVsbG88L2k+PC9kaXY+PC9iPjwvZGl2PiIs
ICI8aSBzdHlsZT1cImZvbnQtd2VpZ2h0OiBib2xkO1wiPkhlbGxvPC9pPiIpOwordGVzdFBhc3Rl
KCJkaXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxv
PC9iPjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxi
PkhlbGxvPC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBz
dHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9zcGFuPjwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgCisgICAgICAgICAg
IjxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQt
d2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4gaGVsbG8yPC9pPjwv
Yj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdo
dDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwv
Yj48L3NwYW4+PC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxpIHN0eWxlPVwibWFyZ2lu
OiAxMHB4O1wiPjxiPjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+
IiwKKyAgICAgICAgICAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwv
aT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdl
aWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG8gPCEtLSBjb21tZW50IC0tPndvcmxkPC9pPjwvYj48
L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7
Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6
IG5vcm1hbFwiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+
PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFs
O1wiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwv
Yj4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>381475</attachid>
            <date>2019-10-21 16:07:32 -0700</date>
            <delta_ts>2019-10-21 20:26:58 -0700</delta_ts>
            <desc>Attempt #2 to reproduce the failure</desc>
            <filename>bug-203199-20191021160732.patch</filename>
            <type>text/plain</type>
            <size>60264</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUxMzg5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjAxYjEwZTRhOTFmZmQz
ZDQyZGRmN2VjNGQyZTIyZmQ2MzY3NTIxMC4uYzFiYWQ0YmRmMDNmNDAxNDcyOWYwN2MwY2ZhMzhm
NjMxZDk0NjMzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE5LTEwLTIxICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUuaHRtbCBpcyBhIGZsYWt5IGZhaWx1cmUKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMzE5OQorICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vNTM1NTE3MzY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgSnVzdCBhbiBleHBlcmltZW50OyBvYnZpb3VzbHkgbm90IGlu
dGVuZGVkIGZvciByZXZpZXcuCisKKyAgICAgICAgKiBlZGl0aW5nL0VkaXRvci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpyZXByKToKKyAgICAgICAgKFdlYkNvcmU6OnN0cmluZyk6CisgICAgICAg
IChXZWJDb3JlOjpFZGl0b3I6OmhhbmRsZVRleHRFdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpF
ZGl0b3I6OnBhc3RlKToKKyAgICAgICAgKiBlZGl0aW5nL1JlcGxhY2VTZWxlY3Rpb25Db21tYW5k
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlcGxhY2VTZWxlY3Rpb25Db21tYW5kOjpkb0FwcGx5
KToKKwogMjAxOS0xMC0yMSAgRGVhbiBKYWNrc29uICA8ZGlub0BhcHBsZS5jb20+CiAKICAgICAg
ICAgTW92ZSBFbGVtZW50Q29udGV4dCBmcm9tIFdlYktpdCB0byBXZWJDb3JlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL0VkaXRvci5jcHAKaW5kZXggZThiMjQzNjA1MTUxOGRhMzM4MWQyZjU3NTdmYTYxODZlNjg1
M2E3ZC4uZTQ5NDE0MzA1NzEwM2ZkY2Y1N2U0NmViZjE2ODIxYWM5OTBmN2FiNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2VkaXRpbmcvRWRpdG9yLmNwcApAQCAtMTIxLDYgKzEyMSwxNTAgQEAKICNpbmNsdWRlICJTZXJ2
aWNlc092ZXJsYXlDb250cm9sbGVyLmgiCiAjZW5kaWYKIAorI2luY2x1ZGUgPFdlYkNvcmUvU3Bh
Y2VTcGxpdFN0cmluZy5oPgorI2luY2x1ZGUgPHd0Zi9IZXhOdW1iZXIuaD4KKyNpbmNsdWRlIDx3
dGYvdGV4dC9XVEZTdHJpbmcuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+
CisjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQ29uY2F0ZW5hdGVOdW1iZXJzLmg+CisKK25hbWVz
cGFjZSBXZWJDb3JlIHsKKworX191bnVzZWQgc3RhdGljIFN0cmluZyByZXByKGNvbnN0IFNwYWNl
U3BsaXRTdHJpbmcmIGNsYXNzTmFtZXMpCit7CisgICAgaWYgKGNsYXNzTmFtZXMuaXNFbXB0eSgp
KQorICAgICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKKworICAgIFN0cmluZ0J1aWxkZXIgYnVm
ZmVyOworICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBjbGFzc05hbWVzLnNpemUoKTsgKytp
KSB7CisgICAgICAgIGlmIChpKQorICAgICAgICAgICAgYnVmZmVyLmFwcGVuZCgiICIpOworICAg
ICAgICBidWZmZXIuYXBwZW5kKGNsYXNzTmFtZXNbaV0uc3RyaW5nKCkpOworICAgIH0KKyAgICBy
ZXR1cm4gYnVmZmVyLnRvU3RyaW5nKCk7Cit9CisKK19fdW51c2VkIHN0YXRpYyBTdHJpbmcgc3Ry
aW5nKGNvbnN0IE5vZGUqIG5vZGUpCit7CisgICAgaWYgKCFub2RlKQorICAgICAgICByZXR1cm4g
IihudWxsKSI7CisgICAgaWYgKG5vZGUtPmlzVGV4dE5vZGUoKSkgeworICAgICAgICBhdXRvIHRl
eHQgPSBub2RlLT50ZXh0Q29udGVudCgpOworICAgICAgICBTdHJpbmcgZmlsdGVyZWRUZXh0Owor
ICAgICAgICBpZiAodGV4dC5sZW5ndGgoKSA+IDEyKQorICAgICAgICAgICAgZmlsdGVyZWRUZXh0
ID0gdGV4dC5zdWJzdHJpbmcoMCwgMTIpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBmaWx0
ZXJlZFRleHQgPSB0ZXh0OworICAgICAgICBmaWx0ZXJlZFRleHQucmVwbGFjZSgiXG4iLCAiXFxu
Iik7CisgICAgICAgIGZpbHRlcmVkVGV4dC5yZXBsYWNlKCJcciIsICJcXHIiKTsKKyAgICAgICAg
ZmlsdGVyZWRUZXh0LnJlcGxhY2UoIlx0IiwgIlxcdCIpOworICAgICAgICBpZiAodGV4dC5sZW5n
dGgoKSA+IDEyKQorICAgICAgICAgICAgcmV0dXJuIG1ha2VTdHJpbmcoIlwiIl9zLCBmaWx0ZXJl
ZFRleHQsICIuLi5cIiJfcywgIiAobGVuZ3RoOiAiX3MsIHRleHQubGVuZ3RoKCksICIpIl9zKTsK
KyAgICAgICAgcmV0dXJuIG1ha2VTdHJpbmcoIlwiIl9zLCBmaWx0ZXJlZFRleHQsICJcIiJfcyk7
CisgICAgfQorICAgIGlmIChub2RlLT5pc0VsZW1lbnROb2RlKCkpIHsKKyAgICAgICAgYXV0byYg
ZWxlbWVudCA9IGRvd25jYXN0PEVsZW1lbnQ+KCpub2RlKTsKKyAgICAgICAgaWYgKGVsZW1lbnQu
aXNUZXh0RmllbGQoKSkgeworICAgICAgICAgICAgcmV0dXJuIG1ha2VTdHJpbmcoIjwiX3MsIGVs
ZW1lbnQudGFnTmFtZSgpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAiIGlkPSciX3MsIGVs
ZW1lbnQuZ2V0SWRBdHRyaWJ1dGUoKS5zdHJpbmcoKSwgIiciX3MsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICIgdHlwZT0nIl9zLCBlbGVtZW50LmF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6
YXRpb24oSFRNTE5hbWVzOjp0eXBlQXR0ciksICInIl9zLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAiIGNsYXNzPSciX3MsIGVsZW1lbnQuaGFzQ2xhc3MoKSA/IHJlcHIoZWxlbWVudC5jbGFz
c05hbWVzKCkpIDogIiIsICInPiJfcyk7CisgICAgICAgIH0KKyAgICAgICAgaWYgKGVsZW1lbnQu
aGFzVGFnTmFtZShIVE1MTmFtZXM6OmFUYWcpKSB7CisgICAgICAgICAgICByZXR1cm4gbWFrZVN0
cmluZygiPCJfcywgZWxlbWVudC50YWdOYW1lKCksCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICIgaWQ9JyJfcywgZWxlbWVudC5nZXRJZEF0dHJpYnV0ZSgpLnN0cmluZygpLCAiJyJfcywKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgIiBocmVmPSciX3MsIGVsZW1lbnQuYXR0cmlidXRlV2l0
aG91dFN5bmNocm9uaXphdGlvbihIVE1MTmFtZXM6OmhyZWZBdHRyKSwgIiciX3MsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICIgY2xhc3M9JyJfcywgZWxlbWVudC5oYXNDbGFzcygpID8gcmVw
cihlbGVtZW50LmNsYXNzTmFtZXMoKSkgOiAiIiwgIic+Il9zKTsKKyAgICAgICAgfQorICAgICAg
ICBpZiAoZWxlbWVudC5oYXNUYWdOYW1lKEhUTUxOYW1lczo6aW1nVGFnKSkgeworICAgICAgICAg
ICAgcmV0dXJuIG1ha2VTdHJpbmcoIjwiX3MsIGVsZW1lbnQudGFnTmFtZSgpLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAiIGlkPSciX3MsIGVsZW1lbnQuZ2V0SWRBdHRyaWJ1dGUoKS5zdHJp
bmcoKSwgIiciX3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICIgc3JjPSciX3MsIGVsZW1l
bnQuYXR0cmlidXRlV2l0aG91dFN5bmNocm9uaXphdGlvbihIVE1MTmFtZXM6OnNyY0F0dHIpLCAi
JyJfcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIiBjbGFzcz0nIl9zLCBlbGVtZW50Lmhh
c0NsYXNzKCkgPyByZXByKGVsZW1lbnQuY2xhc3NOYW1lcygpKSA6ICIiLCAiJz4iX3MpOworICAg
ICAgICB9CisgICAgICAgIHJldHVybiBtYWtlU3RyaW5nKCI8Il9zLCBlbGVtZW50LnRhZ05hbWUo
KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIiBpZD0nIl9zLCBlbGVtZW50LmdldElkQXR0
cmlidXRlKCkuc3RyaW5nKCksICInIl9zLAorICAgICAgICAgICAgICAgICAgICAgICAgICAiIGNs
YXNzPSciX3MsIGVsZW1lbnQuaGFzQ2xhc3MoKSA/IHJlcHIoZWxlbWVudC5jbGFzc05hbWVzKCkp
IDogIiIsICInPiJfcyk7CisgICAgfQorICAgIHJldHVybiBtYWtlU3RyaW5nKCJOb2RlKCJfcywg
aGV4KHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90Pihub2RlKSwgOCwgTG93ZXJjYXNlKSwgIiki
X3MpOworfQorCitfX3VudXNlZCBzdGF0aWMgY29uc3QgY2hhciogcmVwcihjb25zdCBOb2RlKiBu
b2RlKQoreworICAgIHJldHVybiBzdHJpbmcobm9kZSkudXRmOCgpLmRhdGEoKTsKK30KKworX191
bnVzZWQgc3RhdGljIGNvbnN0IGNoYXIqIHJlcHIoYm9vbCBiKQoreworICAgIHJldHVybiBiID8g
IllFUyIgOiAiTk8iOworfQorCitfX3VudXNlZCBzdGF0aWMgY29uc3QgY2hhciogcmVwcihGcmFt
ZSogZnJhbWUpCit7CisgICAgaWYgKCFmcmFtZSkKKyAgICAgICAgcmV0dXJuICIobnVsbCkiOwor
ICAgIGlmIChmcmFtZS0+aXNNYWluRnJhbWUoKSkKKyAgICAgICAgcmV0dXJuIG1ha2VTdHJpbmco
IjxNYWluRnJhbWUgMHgiX3MsIGhleChyZWludGVycHJldF9jYXN0PHVpbnRwdHJfdD4oZnJhbWUp
LCA4LCBMb3dlcmNhc2UpLCAiPiJfcykudXRmOCgpLmRhdGEoKTsKKyAgICByZXR1cm4gbWFrZVN0
cmluZygiPEZyYW1lIDB4Il9zLCBoZXgocmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KGZyYW1l
KSwgOCwgTG93ZXJjYXNlKSwgIiBuYW1lPSciX3MsIGZyYW1lLT50cmVlKCkudW5pcXVlTmFtZSgp
LnN0cmluZygpLCAiJyBvd25lcj0iX3MsIHJlcHIoZnJhbWUtPm93bmVyRWxlbWVudCgpKSwgIj4i
X3MpLnV0ZjgoKS5kYXRhKCk7Cit9CisKK30KKworI2luY2x1ZGUgPHd0Zi9IZXhOdW1iZXIuaD4K
KyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9TdHJp
bmdDb25jYXRlbmF0ZU51bWJlcnMuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitfX3VudXNl
ZCBzdGF0aWMgY29uc3QgY2hhciogcmVwcihQb3NpdGlvbjo6QW5jaG9yVHlwZSB0eXBlKQorewor
ICAgIHN3aXRjaCAodHlwZSkgeworICAgICAgICBjYXNlIFBvc2l0aW9uOjpBbmNob3JUeXBlOjpQ
b3NpdGlvbklzQmVmb3JlQ2hpbGRyZW46CisgICAgICAgICAgICByZXR1cm4gIkJlZm9yZUNoaWxk
cmVuIjsKKyAgICAgICAgY2FzZSBQb3NpdGlvbjo6QW5jaG9yVHlwZTo6UG9zaXRpb25Jc0FmdGVy
Q2hpbGRyZW46CisgICAgICAgICAgICByZXR1cm4gIkFmdGVyQ2hpbGRyZW4iOworICAgICAgICBj
YXNlIFBvc2l0aW9uOjpBbmNob3JUeXBlOjpQb3NpdGlvbklzT2Zmc2V0SW5BbmNob3I6CisgICAg
ICAgICAgICByZXR1cm4gIk9mZnNldEluQW5jaG9yIjsKKyAgICAgICAgY2FzZSBQb3NpdGlvbjo6
QW5jaG9yVHlwZTo6UG9zaXRpb25Jc0JlZm9yZUFuY2hvcjoKKyAgICAgICAgICAgIHJldHVybiAi
QmVmb3JlQW5jaG9yIjsKKyAgICAgICAgY2FzZSBQb3NpdGlvbjo6QW5jaG9yVHlwZTo6UG9zaXRp
b25Jc0FmdGVyQW5jaG9yOgorICAgICAgICAgICAgcmV0dXJuICJBZnRlckFuY2hvciI7CisgICAg
fQorICAgIHJldHVybiAiIjsKK30KKworX191bnVzZWQgc3RhdGljIFN0cmluZyBzdHJpbmcoY29u
c3QgUG9zaXRpb24mIHApCit7CisgICAgaWYgKHAuYW5jaG9yVHlwZSgpID09IFBvc2l0aW9uOjpB
bmNob3JUeXBlOjpQb3NpdGlvbklzT2Zmc2V0SW5BbmNob3IpCisgICAgICAgIHJldHVybiBtYWtl
U3RyaW5nKHJlcHIocC5hbmNob3JUeXBlKCkpLCAiKCJfcywgc3RyaW5nKHAuYW5jaG9yTm9kZSgp
KSwgIiwgIl9zLCBwLm9mZnNldEluQ29udGFpbmVyTm9kZSgpLCAiKSJfcyk7CisgICAgcmV0dXJu
IG1ha2VTdHJpbmcocmVwcihwLmFuY2hvclR5cGUoKSksICIoIl9zLCBzdHJpbmcocC5hbmNob3JO
b2RlKCkpLCAiKSJfcyk7Cit9CisKK19fdW51c2VkIHN0YXRpYyBjb25zdCBjaGFyKiByZXByKGNv
bnN0IFBvc2l0aW9uJiBwKQoreworICAgIHJldHVybiBzdHJpbmcocCkudXRmOCgpLmRhdGEoKTsK
K30KKworX191bnVzZWQgc3RhdGljIGNvbnN0IGNoYXIqIHJlcHIoY29uc3QgVmlzaWJsZVBvc2l0
aW9uJiBwKQoreworICAgIHJldHVybiBzdHJpbmcocC5kZWVwRXF1aXZhbGVudCgpKS51dGY4KCku
ZGF0YSgpOworfQorCitfX3VudXNlZCBzdGF0aWMgU3RyaW5nIHN0cmluZyhjb25zdCBWaXNpYmxl
U2VsZWN0aW9uJiBzKQoreworICAgIGlmIChzLmlzTm9uZSgpKQorICAgICAgICByZXR1cm4gInsg
Tm9uZSB9IjsKKyAgICBpZiAocy5pc0NhcmV0KCkpCisgICAgICAgIHJldHVybiBtYWtlU3RyaW5n
KCJ7ICJfcywgc3RyaW5nKHMuc3RhcnQoKSksICIgfSJfcyk7CisgICAgcmV0dXJuIG1ha2VTdHJp
bmcoInsgIl9zLCBzdHJpbmcocy5zdGFydCgpKSwgIiwgIl9zLCBzdHJpbmcocy5lbmQoKSksICIg
fSJfcyk7Cit9CisKK19fdW51c2VkIHN0YXRpYyBjb25zdCBjaGFyKiByZXByKGNvbnN0IFZpc2li
bGVTZWxlY3Rpb24mIHMpCit7CisgICAgcmV0dXJuIHN0cmluZyhzKS51dGY4KCkuZGF0YSgpOwor
fQorCit9CisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogc3RhdGljIGJvb2wgZGlzcGF0Y2hCZWZv
cmVJbnB1dEV2ZW50KEVsZW1lbnQmIGVsZW1lbnQsIGNvbnN0IEF0b21TdHJpbmcmIGlucHV0VHlw
ZSwgY29uc3QgU3RyaW5nJiBkYXRhID0geyB9LCBSZWZQdHI8RGF0YVRyYW5zZmVyPiYmIGRhdGFU
cmFuc2ZlciA9IG51bGxwdHIsIGNvbnN0IFZlY3RvcjxSZWZQdHI8U3RhdGljUmFuZ2U+PiYgdGFy
Z2V0UmFuZ2VzID0geyB9LCBFdmVudDo6SXNDYW5jZWxhYmxlIGNhbmNlbGFibGUgPSBFdmVudDo6
SXNDYW5jZWxhYmxlOjpZZXMpCkBAIC0zMTcsOSArNDYxLDEyIEBAIGJvb2wgRWRpdG9yOjpoYW5k
bGVUZXh0RXZlbnQoVGV4dEV2ZW50JiBldmVudCkKICAgICAgICAgICAgIGlmIChjbGllbnQoKS0+
cGVyZm9ybXNUd29TdGVwUGFzdGUoZXZlbnQucGFzdGluZ0ZyYWdtZW50KCkpKQogICAgICAgICAg
ICAgICAgIHJldHVybiB0cnVlOwogI2VuZGlmCisgICAgICAgICAgICBXVEZMb2dBbHdheXMoIjxX
Sz46IFJlcGxhY2luZyBzZWxlY3Rpb24gd2l0aCBmcmFnbWVudCEiKTsKICAgICAgICAgICAgIHJl
cGxhY2VTZWxlY3Rpb25XaXRoRnJhZ21lbnQoKmV2ZW50LnBhc3RpbmdGcmFnbWVudCgpLCBTZWxl
Y3RSZXBsYWNlbWVudDo6Tm8sIGV2ZW50LnNob3VsZFNtYXJ0UmVwbGFjZSgpID8gU21hcnRSZXBs
YWNlOjpZZXMgOiBTbWFydFJlcGxhY2U6Ok5vLCBldmVudC5zaG91bGRNYXRjaFN0eWxlKCkgPyBN
YXRjaFN0eWxlOjpZZXMgOiBNYXRjaFN0eWxlOjpObywgRWRpdEFjdGlvbjo6UGFzdGUsIGV2ZW50
Lm1haWxCbG9ja3F1b3RlSGFuZGxpbmcoKSk7Ci0gICAgICAgIH0gZWxzZQorICAgICAgICB9IGVs
c2UgeworICAgICAgICAgICAgV1RGTG9nQWx3YXlzKCI8V0s+OiBSZXBsYWNpbmcgc2VsZWN0aW9u
IHdpdGggdGV4dCEiKTsKICAgICAgICAgICAgIHJlcGxhY2VTZWxlY3Rpb25XaXRoVGV4dChldmVu
dC5kYXRhKCksIFNlbGVjdFJlcGxhY2VtZW50OjpObywgZXZlbnQuc2hvdWxkU21hcnRSZXBsYWNl
KCkgPyBTbWFydFJlcGxhY2U6OlllcyA6IFNtYXJ0UmVwbGFjZTo6Tm8sIEVkaXRBY3Rpb246OlBh
c3RlKTsKKyAgICAgICAgfQogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAKQEAgLTE0Mjgs
MTggKzE1NzUsMzYgQEAgdm9pZCBFZGl0b3I6OnBhc3RlKCkKICAgICBwYXN0ZSgqUGFzdGVib2Fy
ZDo6Y3JlYXRlRm9yQ29weUFuZFBhc3RlKCkpOwogfQogCisjaWYgIVBMQVRGT1JNKElPU19GQU1J
TFkpCitzdGF0aWNfYXNzZXJ0KGZhbHNlLCAiSSBqdXN0IHdhbnQgcmVzdWx0cyBmcm9tIGlPUyBi
b3RzLCBzbyBmYWlsIGVhcmx5IGhlcmUgZm9yIG5vbi1pT1MuIik7CisjZW5kaWYKKwogdm9pZCBF
ZGl0b3I6OnBhc3RlKFBhc3RlYm9hcmQmIHBhc3RlYm9hcmQpCiB7Ci0gICAgaWYgKCFkaXNwYXRj
aENsaXBib2FyZEV2ZW50KGZpbmRFdmVudFRhcmdldEZyb21TZWxlY3Rpb24oKSwgQ2xpcGJvYXJk
RXZlbnRLaW5kOjpQYXN0ZSkpCisgICAgaWYgKG1fZnJhbWUuZG9jdW1lbnQoKSkgeworICAgICAg
ICBXVEZMb2dBbHdheXMoIjxXSz46IEF0dGVtcHRpbmcgdG8gcGFzdGUgKCVzKSIsIG1fZnJhbWUu
ZG9jdW1lbnQoKS0+dXJsKCkubGFzdFBhdGhDb21wb25lbnQoKS51dGY4KCkuZGF0YSgpKTsKKyAg
ICAgICAgV1RGTG9nQWx3YXlzKCI8V0s+OiBUaGUgc2VsZWN0aW9uIGlzOiAlcyIsIHJlcHIobV9m
cmFtZS5zZWxlY3Rpb24oKS5zZWxlY3Rpb24oKSkpOworICAgIH0KKworICAgIGlmICghZGlzcGF0
Y2hDbGlwYm9hcmRFdmVudChmaW5kRXZlbnRUYXJnZXRGcm9tU2VsZWN0aW9uKCksIENsaXBib2Fy
ZEV2ZW50S2luZDo6UGFzdGUpKSB7CisgICAgICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogU2NyaXB0
IGhhbmRsZWQgdGhlIHBhc3RlLiIpOwogICAgICAgICByZXR1cm47IC8vIERIVE1MIGRpZCB0aGUg
d2hvbGUgb3BlcmF0aW9uCi0gICAgaWYgKCFjYW5QYXN0ZSgpKQorICAgIH0KKworICAgIGlmICgh
Y2FuUGFzdGUoKSkgeworICAgICAgICBXVEZMb2dBbHdheXMoIjxXSz46IEZhaWxlZCB0byBwYXN0
ZS4iKTsKICAgICAgICAgcmV0dXJuOworICAgIH0KICAgICB1cGRhdGVNYXJrZXJzRm9yV29yZHNB
ZmZlY3RlZEJ5RWRpdGluZyhmYWxzZSk7CiAgICAgUmVzb3VyY2VDYWNoZVZhbGlkYXRpb25TdXBw
cmVzc29yIHZhbGlkYXRpb25TdXBwcmVzc29yKGRvY3VtZW50KCkuY2FjaGVkUmVzb3VyY2VMb2Fk
ZXIoKSk7Ci0gICAgaWYgKG1fZnJhbWUuc2VsZWN0aW9uKCkuc2VsZWN0aW9uKCkuaXNDb250ZW50
UmljaGx5RWRpdGFibGUoKSkKKyAgICBpZiAobV9mcmFtZS5zZWxlY3Rpb24oKS5zZWxlY3Rpb24o
KS5pc0NvbnRlbnRSaWNobHlFZGl0YWJsZSgpKSB7CisgICAgICAgIFdURkxvZ0Fsd2F5cygiPFdL
PjogUGFzdGluZyBhcyByaWNoIHRleHQuIik7CiAgICAgICAgIHBhc3RlV2l0aFBhc3RlYm9hcmQo
JnBhc3RlYm9hcmQsIHsgUGFzdGVPcHRpb246OkFsbG93UGxhaW5UZXh0IH0pOwotICAgIGVsc2UK
KyAgICB9IGVsc2UgeworICAgICAgICBXVEZMb2dBbHdheXMoIjxXSz46IFBhc3RpbmcgYXMgcGxh
aW4gdGV4dC4iKTsKICAgICAgICAgcGFzdGVBc1BsYWluVGV4dFdpdGhQYXN0ZWJvYXJkKHBhc3Rl
Ym9hcmQpOworICAgIH0KKyAgICBXVEZMb2dBbHdheXMoIjxXSz46ICIpOwogfQogCiB2b2lkIEVk
aXRvcjo6cGFzdGVBc1BsYWluVGV4dCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL1JlcGxhY2VTZWxlY3Rpb25Db21tYW5kLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
UmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQuY3BwCmluZGV4IDc1MDZjZGM3YWVhMTNjM2UzYjNkZWI0
NDA0NzllMGQ3OTBiMjEwMWEuLmVmNGM1MDNjZGMwM2MyZjBhNmU1NDUzZTg2NzRhMzkxNTIyNDlj
OWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvUmVwbGFjZVNlbGVjdGlvbkNv
bW1hbmQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvUmVwbGFjZVNlbGVjdGlvbkNv
bW1hbmQuY3BwCkBAIC0xMDUyLDYgKzEwNTIsOCBAQCB2b2lkIFJlcGxhY2VTZWxlY3Rpb25Db21t
YW5kOjpkb0FwcGx5KCkKICAgICBWaXNpYmxlU2VsZWN0aW9uIHNlbGVjdGlvbiA9IGVuZGluZ1Nl
bGVjdGlvbigpOwogICAgIEFTU0VSVChzZWxlY3Rpb24uaXNDYXJldE9yUmFuZ2UoKSk7CiAgICAg
QVNTRVJUKHNlbGVjdGlvbi5zdGFydCgpLmRlcHJlY2F0ZWROb2RlKCkpOworCisgICAgV1RGTG9n
QWx3YXlzKCI8V0s+OiBBcHBseWluZyBSZXBsYWNlU2VsZWN0aW9uQ29tbWFuZC4uLiIpOwogICAg
IGlmIChzZWxlY3Rpb24uaXNOb25lT3JPcnBoYW5lZCgpIHx8ICFzZWxlY3Rpb24uc3RhcnQoKS5k
ZXByZWNhdGVkTm9kZSgpIHx8ICFzZWxlY3Rpb24uaXNDb250ZW50RWRpdGFibGUoKSkKICAgICAg
ICAgcmV0dXJuOwogCkBAIC0xMDYxLDkgKzEwNjMsMTMgQEAgdm9pZCBSZXBsYWNlU2VsZWN0aW9u
Q29tbWFuZDo6ZG9BcHBseSgpCiAgICAgICAgIG1fbWF0Y2hTdHlsZSA9IGZhbHNlOwogCiAgICAg
UmVwbGFjZW1lbnRGcmFnbWVudCYgZnJhZ21lbnQgPSAqZW5zdXJlUmVwbGFjZW1lbnRGcmFnbWVu
dCgpOwotICAgIGlmIChwZXJmb3JtVHJpdmlhbFJlcGxhY2UoZnJhZ21lbnQpKQorICAgIGlmIChw
ZXJmb3JtVHJpdmlhbFJlcGxhY2UoZnJhZ21lbnQpKSB7CisgICAgICAgIFdURkxvZ0Fsd2F5cygi
PFdLPjogUGVyZm9ybWluZyB0cml2aWFsIHJlcGxhY2VtZW50LiIpOworICAgICAgICBXVEZMb2dB
bHdheXMoIjxXSz46ICIpOwogICAgICAgICByZXR1cm47Ci0gICAgCisgICAgfQorCisgICAgV1RG
TG9nQWx3YXlzKCI8V0s+OiBQZXJmb3JtaW5nIGNvbXBsZXggcmVwbGFjZW1lbnQuIik7CiAgICAg
Ly8gV2UgY2FuIHNraXAgbWF0Y2hpbmcgdGhlIHN0eWxlIGlmIHRoZSBzZWxlY3Rpb24gaXMgcGxh
aW4gdGV4dC4KICAgICBpZiAoKHNlbGVjdGlvbi5zdGFydCgpLmRlcHJlY2F0ZWROb2RlKCktPnJl
bmRlcmVyKCkgJiYgc2VsZWN0aW9uLnN0YXJ0KCkuZGVwcmVjYXRlZE5vZGUoKS0+cmVuZGVyZXIo
KS0+c3R5bGUoKS51c2VyTW9kaWZ5KCkgPT0gVXNlck1vZGlmeTo6UmVhZFdyaXRlUGxhaW50ZXh0
T25seSkKICAgICAgICAgJiYgKHNlbGVjdGlvbi5lbmQoKS5kZXByZWNhdGVkTm9kZSgpLT5yZW5k
ZXJlcigpICYmIHNlbGVjdGlvbi5lbmQoKS5kZXByZWNhdGVkTm9kZSgpLT5yZW5kZXJlcigpLT5z
dHlsZSgpLnVzZXJNb2RpZnkoKSA9PSBVc2VyTW9kaWZ5OjpSZWFkV3JpdGVQbGFpbnRleHRPbmx5
KSkKQEAgLTExNDcsNyArMTE1Myw4IEBAIHZvaWQgUmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQ6OmRv
QXBwbHkoKQogICAgICAgICBpbnNlcnRpb25Qb3MgPSBwb3NpdGlvbkluUGFyZW50QmVmb3JlTm9k
ZShicik7CiAgICAgICAgIHJlbW92ZU5vZGUoKmJyKTsKICAgICB9Ci0gICAgCisKKyAgICBXVEZM
b2dBbHdheXMoIjxXSz46IFByZXBhcmluZyB3aGl0ZXNwYWNlIGF0IGluc2VydGlvbiBwb3NpdGlv
biBmb3Igc3BsaXQuIik7ICAgIAogICAgIC8vIEluc2VydGluZyBjb250ZW50IGNvdWxkIGNhdXNl
IHdoaXRlc3BhY2UgdG8gY29sbGFwc2UsIGUuZy4gaW5zZXJ0aW5nIDxkaXY+Zm9vPC9kaXY+IGlu
dG8gaGVsbG9eIHdvcmxkLgogICAgIHByZXBhcmVXaGl0ZXNwYWNlQXRQb3NpdGlvbkZvclNwbGl0
KGluc2VydGlvblBvcyk7CiAKQEAgLTExNzksNiArMTE4Niw3IEBAIHZvaWQgUmVwbGFjZVNlbGVj
dGlvbkNvbW1hbmQ6OmRvQXBwbHkoKQogICAgIC8vIFBhc3RlIGF0IHN0YXJ0IG9yIGVuZCBvZiBs
aW5rIGdvZXMgb3V0c2lkZSBvZiBsaW5rLgogICAgIGluc2VydGlvblBvcyA9IHBvc2l0aW9uQXZv
aWRpbmdTcGVjaWFsRWxlbWVudEJvdW5kYXJ5KGluc2VydGlvblBvcyk7CiAgICAgCisgICAgV1RG
TG9nQWx3YXlzKCI8V0s+OiBDbGVhcmluZyB0eXBpbmcgc3R5bGUuIik7CiAgICAgLy8gRklYTUU6
IENhbiB0aGlzIHdhaXQgdW50aWwgYWZ0ZXIgdGhlIG9wZXJhdGlvbiBoYXMgYmVlbiBwZXJmb3Jt
ZWQ/ICBUaGVyZSBkb2Vzbid0IHNlZW0gdG8gYmUKICAgICAvLyBhbnkgd29yayBwZXJmb3JtZWQg
YWZ0ZXIgdGhpcyB0aGF0IHF1ZXJpZXMgb3IgdXNlcyB0aGUgdHlwaW5nIHN0eWxlLgogICAgIGZy
YW1lKCkuc2VsZWN0aW9uKCkuY2xlYXJUeXBpbmdTdHlsZSgpOwpAQCAtMTI1OSw2ICsxMjY3LDcg
QEAgdm9pZCBSZXBsYWNlU2VsZWN0aW9uQ29tbWFuZDo6ZG9BcHBseSgpCiAKICAgICBib29sIHBs
YWluVGV4dEZyYWdtZW50ID0gaXNQbGFpblRleHRNYXJrdXAocmVmTm9kZS5nZXQoKSk7CiAKKyAg
ICBXVEZMb2dBbHdheXMoIjxXSz46IFJlbW92aW5nIG5vZGVzLiIpOwogICAgIHdoaWxlIChub2Rl
KSB7CiAgICAgICAgIFJlZlB0cjxOb2RlPiBuZXh0ID0gbm9kZS0+bmV4dFNpYmxpbmcoKTsKICAg
ICAgICAgZnJhZ21lbnQucmVtb3ZlTm9kZSgqbm9kZSk7CkBAIC0xMjg4LDYgKzEyOTcsNyBAQCB2
b2lkIFJlcGxhY2VTZWxlY3Rpb25Db21tYW5kOjpkb0FwcGx5KCkKICAgICBpZiAoIWluc2VydGVk
Tm9kZXMuZmlyc3ROb2RlSW5zZXJ0ZWQoKS0+aXNDb25uZWN0ZWQoKSkKICAgICAgICAgcmV0dXJu
OwogCisgICAgV1RGTG9nQWx3YXlzKCI8V0s+OiBJbnNlcnRpbmcgbm9kZXMuIik7CiAgICAgVmlz
aWJsZVBvc2l0aW9uIHN0YXJ0T2ZJbnNlcnRlZENvbnRlbnQgPSBmaXJzdFBvc2l0aW9uSW5PckJl
Zm9yZU5vZGUoaW5zZXJ0ZWROb2Rlcy5maXJzdE5vZGVJbnNlcnRlZCgpKTsKIAogICAgIC8vIFdl
IGluc2VydGVkIGJlZm9yZSB0aGUgaW5zZXJ0aW9uQmxvY2sgdG8gcHJldmVudCBuZXN0aW5nLCBh
bmQgdGhlIGNvbnRlbnQgYmVmb3JlIHRoZSBpbnNlcnRpb25CbG9jayB3YXNuJ3QgaW4gaXRzIG93
biBibG9jayBhbmQKQEAgLTEzMTYsNiArMTMyNiw3IEBAIHZvaWQgUmVwbGFjZVNlbGVjdGlvbkNv
bW1hbmQ6OmRvQXBwbHkoKQogICAgIGlmIChpbnNlcnRlZE5vZGVzLmlzRW1wdHkoKSkKICAgICAg
ICAgcmV0dXJuOwogCisgICAgV1RGTG9nQWx3YXlzKCI8V0s+OiBTYW5pdGl6aW5nIGZyYWdtZW50
PyAlcyIsIG1fc2FuaXRpemVGcmFnbWVudCA/ICJ5ZXMiIDogIm5vIik7CiAgICAgaWYgKG1fc2Fu
aXRpemVGcmFnbWVudCkKICAgICAgICAgYXBwbHlDb21tYW5kVG9Db21wb3NpdGUoU2ltcGxpZnlN
YXJrdXBDb21tYW5kOjpjcmVhdGUoZG9jdW1lbnQoKSwgaW5zZXJ0ZWROb2Rlcy5maXJzdE5vZGVJ
bnNlcnRlZCgpLCBpbnNlcnRlZE5vZGVzLnBhc3RMYXN0TGVhZigpKSk7CiAKQEAgLTE0MDcsNiAr
MTQxOCw4IEBAIHZvaWQgUmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQ6OmRvQXBwbHkoKQogICAgICAg
ICBtX21hdGNoU3R5bGUgPSBmYWxzZTsKICAgICAgICAgCiAgICAgY29tcGxldGVIVE1MUmVwbGFj
ZW1lbnQobGFzdFBvc2l0aW9uVG9TZWxlY3QpOworICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogRE9O
RS4iKTsKKyAgICBXVEZMb2dBbHdheXMoIjxXSz46ICIpOwogfQogCiBTdHJpbmcgUmVwbGFjZVNl
bGVjdGlvbkNvbW1hbmQ6OmlucHV0RXZlbnREYXRhKCkgY29uc3QKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAwMGZjOWYzOGYz
YTg0YzQ0OGJkOGEyNDBlNWYwNzIwNjQ4NjI3NTdlLi5mYWY3ZDJiOTY5OTQ5MmQ1YWIyNTVlOGQy
ZTM3Zjk0ZGI2N2JlZjI4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzQgQEAKKzIwMTktMTAtMjEgIFdlbnNv
biBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS5odG1sIGlzIGEgZmxha3kgZmFpbHVyZQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAzMTk5CisgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS81MzU1MTczNj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBKdXN0IGFuIGV4cGVyaW1lbnQ7IG9idmlvdXNseSBub3QgaW50
ZW5kZWQgZm9yIHJldmlldy4KKworICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1h
bmQtc2FuaXRpemUtMS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTEwLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0xMC5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXpl
LTItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtYW5kLXNhbml0aXplLTIuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0zLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0zLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNC1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRp
emUtNC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5k
LXNhbml0aXplLTUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTUuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS02LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS02Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNy1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1h
bmQtc2FuaXRpemUtNy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtYW5kLXNhbml0aXplLTgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTguaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS05LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS05
Lmh0bWw6IEFkZGVkLgorCiAyMDE5LTEwLTIxICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhA
YXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJlLWVuYWJsZSBhIGNvdXBsZSBvZiBw
YXNzaW5nIGxheW91dCB0ZXN0cwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0xLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYWY4OWRjZjg4ODQ3YWFiNGI4OTJhMDA3ZDJkZTMyYzA5Njk4MWViNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRp
emUtMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0
IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2Ug
dGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4K
KworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+
SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8aSBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IZWxsbzwvaT4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGI+SGVsbG88L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5v
cm1hbDsiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3Nw
YW4+PC9pPjwvYj4nCitGQUlMIGNvbmZpcm1lZE1hcmt1cCBzaG91bGQgYmUgPGkgc3R5bGU9Im1h
cmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LiBXYXMgPGkgc3R5bGU9Im1hcmdpbjogMTBw
eDsiPjxiPjxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4KK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3Jt
YWw7Ij5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48
L2I+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2Fu
aXRpemUtMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1z
YW5pdGl6ZS0xLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzYzY2RkZWE2NjMyODA5NDdkMGQxYmY1YjYxZWI4
OGI1ODVmY2M4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMS5odG1sCkBAIC0wLDAgKzEsNTYgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
dGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0
aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLiA8
L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1
bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
cm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVl
OworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitm
dW5jdGlvbiB0ZXN0UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdFBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxi
PjxpPkhlbGxvPC9pPjwvYj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48
aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvPC9pPjwv
Yj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj48ZGl2PkhlbGxvPC9kaXY+PC9kaXY+
PC9kaXY+IiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxkaXY+PGk+SGVs
bG88L2k+PC9kaXY+PC9iPjwvZGl2PiIsICI8aSBzdHlsZT1cImZvbnQtd2VpZ2h0OiBib2xkO1wi
PkhlbGxvPC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT48c3BhbiBzdHls
ZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48
L2I+PC9kaXY+IiwgCisgICAgICAgICAgIjxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9p
PjwvYj48Yj48aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+
PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+
PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgi
ZGl2IiwgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPjxiPjxpIHN0eWxlPVwibWFyZ2luOiAx
MHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+IiwKKyAgICAgICAgICAiPGkgc3R5bGU9XCJtYXJnaW46
IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+
PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG8gPCEtLSBj
b21tZW50IC0tPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVs
bG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxz
cGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0
YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5
bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0
ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5v
bmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMTAtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0xMC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWY4OWRjZjg4ODQ3YWFiNGI4OTJhMDA3ZDJkZTMyYzA5
Njk4MWViNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS1hbmQtc2FuaXRpemUtMTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTcgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQg
ZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFm
ZmVjdGluZyB0aGUgc3R5bGUuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGkgc3R5bGU9ImZvbnQtd2VpZ2h0
OiBib2xkOyI+SGVsbG88L2k+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxiPkhlbGxvPC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5
bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNw
O2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworRkFJTCBjb25maXJtZWRNYXJrdXAgc2hv
dWxkIGJlIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4gV2FzIDxp
IHN0eWxlPSJtYXJnaW46IDEwcHg7Ij48Yj48aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88
L2k+PC9iPjwvaT4uCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG8mbmJzcDt3
b3JsZDwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxl
PSJmb250LXdlaWdodDogbm9ybWFsOyI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8
L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTEwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTEwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzYzY2RkZWE2
NjMyODA5NDdkMGQxYmY1YjYxZWI4OGI1ODVmY2M4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMTAuaHRtbApAQCAt
MCwwICsxLDU2IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9F
TiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+
VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3Rl
ZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQg
YWZmZWN0aW5nIHRoZSBzdHlsZS4gPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdFBhc3RlKHRhZ05hbWUsIG9yaWdpbmFs
TWFya3VwLCBleHBlY3RlZCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXApOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBu
b2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBu
b2RlLmlubmVySFRNTDsKKworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK3Rlc3RQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0UGFzdGUoImRpdiIsICI8Yj48aT5IZWxsbzwvaT48L2I+IiwgIjxiPjxpPkhlbGxvPC9p
PjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250
LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2
PiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48ZGl2PjxpPkhlbGxvPC9pPjwvZGl2PjwvYj48L2Rpdj4iLCAiPGkgc3R5bGU9
XCJmb250LXdlaWdodDogYm9sZDtcIj5IZWxsbzwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48
L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250
LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsIAorICAgICAgICAgICI8ZGl2PjxiPjxp
PmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iKTsKK3Rl
c3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9y
bWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+IGhlbGxvMjwvaT48L2I+PC9zcGFuPjwv
aT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtc
Ij48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwv
aT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj48
Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIsCisgICAgICAg
ICAgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+Iik7Cit0ZXN0
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1h
bFwiPjxiPjxpPkhlbGxvIDwhLS0gY29tbWVudCAtLT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48
L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPiIpOwordGVzdFBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj5w
bGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9k
aXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5wbGFpbiB0
ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNh
bml0aXplLTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLWFuZC1zYW5pdGl6ZS0yLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZjg5ZGNmODg4NDdh
YWI0Yjg5MmEwMDdkMmRlMzJjMDk2OTgxZWI0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0yLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDE3IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlv
biB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRo
ZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+
PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxp
IHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhlbGxvPC9pPicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48Yj5IZWxsbzwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+PGI+PGk+aGVsbG8x
PC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK0ZBSUwg
Y29uZmlybWVkTWFya3VwIHNob3VsZCBiZSA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88
L2k+PC9iPjwvaT4uIFdhcyA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+PGI+PGkgc3R5bGU9Im1h
cmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LgorUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPnBsYWluIHRleHQ8Yj48
aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0yLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4zNjNjZGRlYTY2MzI4MDk0N2QwZDFiZjViNjFlYjg4YjU4NWZjYzg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5p
dGl6ZS0yLmh0bWwKQEAgLTAsMCArMSw1NiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9u
IHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhl
IG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuIDwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICByb290LmFwcGVuZENoaWxk
KG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJT
ZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxz
ZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29u
ZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBzaG91bGRCZSgiY29uZmlybWVk
TWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCit0ZXN0UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIs
ICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxz
cGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvPC9pPjwvYj48L3Nw
YW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJk
aXYiLCAiPGRpdj48ZGl2PjxkaXY+SGVsbG88L2Rpdj48L2Rpdj48L2Rpdj4iLCAiSGVsbG8iKTsK
K3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxsbzwvaT48L2Rpdj48L2I+PC9k
aXY+IiwgIjxpIHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88L2k+Iik7Cit0ZXN0
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+
SGVsbG88L2I+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGI+SGVsbG88L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxz
cGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L3Nw
YW4+PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5v
cm1hbFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAKKyAgICAg
ICAgICAiPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwi
Zm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiBoZWxsbzI8
L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQt
d2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8
L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGkgc3R5bGU9XCJt
YXJnaW46IDEwcHg7XCI+PGI+PGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9i
PjwvaT4iLAorICAgICAgICAgICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48
L2I+PC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZv
bnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbyA8IS0tIGNvbW1lbnQgLS0+d29ybGQ8L2k+
PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwv
Yj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdl
aWdodDogbm9ybWFsXCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwv
c3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBu
b3JtYWw7XCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48
L2k+PC9iPiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0zLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uYWY4OWRjZjg4ODQ3YWFiNGI4OTJhMDA3ZDJkZTMyYzA5Njk4MWViNAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUt
My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRo
ZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhl
IHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4KKwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVs
bG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8aSBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IZWxsbzwvaT4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGI+SGVsbG88L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1h
bDsiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+
PC9pPjwvYj4nCitGQUlMIGNvbmZpcm1lZE1hcmt1cCBzaG91bGQgYmUgPGkgc3R5bGU9Im1hcmdp
bjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LiBXYXMgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsi
PjxiPjxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4KK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7
Ij5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRp
emUtMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5p
dGl6ZS0zLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzYzY2RkZWE2NjMyODA5NDdkMGQxYmY1YjYxZWI4OGI1
ODVmY2M4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS1hbmQtc2FuaXRpemUtMy5odG1sCkBAIC0wLDAgKzEsNTYgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhl
IHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUg
dmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLiA8L3A+
Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVu
dC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9v
dCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOwor
ICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5j
dGlvbiB0ZXN0UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dFBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxiPjxp
PkhlbGxvPC9pPjwvYj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4i
KTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj48ZGl2PkhlbGxvPC9kaXY+PC9kaXY+PC9k
aXY+IiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxkaXY+PGk+SGVsbG88
L2k+PC9kaXY+PC9iPjwvZGl2PiIsICI8aSBzdHlsZT1cImZvbnQtd2VpZ2h0OiBib2xkO1wiPkhl
bGxvPC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT48c3BhbiBzdHlsZT1c
ImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+
PC9kaXY+IiwgCisgICAgICAgICAgIjxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwv
Yj48Yj48aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNw
YW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+
PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2
IiwgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPjxiPjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4
O1wiPmhlbGxvPC9pPjwvYj48L2k+IiwKKyAgICAgICAgICAiPGkgc3R5bGU9XCJtYXJnaW46IDEw
cHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+
PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG8gPCEtLSBjb21t
ZW50IC0tPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG8m
bmJzcDt3b3JsZDwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFu
IHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxp
YyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9
XCJmb250LXdlaWdodDogbm9ybWFsO1wiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0
PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUi
OworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0
LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTQtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmFmODlkY2Y4ODg0N2FhYjRiODkyYTAwN2QyZGUzMmMwOTY5ODFl
YjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtYW5kLXNhbml0aXplLTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTcgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21l
bnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGlu
ZyB0aGUgc3R5bGUuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGkgc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xk
OyI+SGVsbG88L2k+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxiPkhlbGxvPC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZv
bnQtd2VpZ2h0OiBub3JtYWw7Ij48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxv
MjwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworRkFJTCBjb25maXJtZWRNYXJrdXAgc2hvdWxkIGJl
IDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4gV2FzIDxpIHN0eWxl
PSJtYXJnaW46IDEwcHg7Ij48Yj48aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9i
PjwvaT4uCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwv
aT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250
LXdlaWdodDogbm9ybWFsOyI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9i
Pjwvc3Bhbj48L2k+PC9iPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtYW5kLXNhbml0aXplLTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS1hbmQtc2FuaXRpemUtNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2M2NkZGVhNjYzMjgwOTQ3
ZDBkMWJmNWI2MWViODhiNTg1ZmNjODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTQuaHRtbApAQCAtMCwwICsxLDU2
IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVu
dCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5n
IHRoZSBzdHlsZS4gPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdFBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBl
eHBlY3RlZCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXApOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3Vz
KCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVy
SFRNTDsKKworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK3Rlc3RQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0UGFz
dGUoImRpdiIsICI8Yj48aT5IZWxsbzwvaT48L2I+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsK
K3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDog
bm9ybWFsXCI+PGI+PGk+SGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48
aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48ZGl2PjxpPkhlbGxvPC9pPjwvZGl2PjwvYj48L2Rpdj4iLCAiPGkgc3R5bGU9XCJmb250LXdl
aWdodDogYm9sZDtcIj5IZWxsbzwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj4iKTsK
K3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDog
bm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+d29ybGQ8L2k+PC9i
Pjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsIAorICAgICAgICAgICI8ZGl2PjxiPjxpPmhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxi
PjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+IGhlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9k
aXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5o
ZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7
Cit0ZXN0UGFzdGUoImRpdiIsICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj48Yj48aSBzdHls
ZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIsCisgICAgICAgICAgIjxpIHN0
eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+Iik7Cit0ZXN0UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxp
PkhlbGxvIDwhLS0gY29tbWVudCAtLT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+
IiwgIjxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj5wbGFpbiB0ZXh0
PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxi
PjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5wbGFpbiB0ZXh0PGI+PGk+
Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTUt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1z
YW5pdGl6ZS01LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZjg5ZGNmODg4NDdhYWI0Yjg5MmEw
MDdkMmRlMzJjMDk2OTgxZWI0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS01LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDE3IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0
aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAg
d2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxpIHN0eWxlPSJm
b250LXdlaWdodDogYm9sZDsiPkhlbGxvPC9pPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48Yj5IZWxsbzwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxp
PjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+PGI+PGk+aGVsbG8xPC9pPjwvYj48
Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK0ZBSUwgY29uZmlybWVk
TWFya3VwIHNob3VsZCBiZSA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwv
aT4uIFdhcyA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+PGI+PGkgc3R5bGU9Im1hcmdpbjogMTBw
eDsiPmhlbGxvPC9pPjwvYj48L2k+LgorUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhl
bGxvJm5ic3A7d29ybGQ8L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48
c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0
YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS01Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTUuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4z
NjNjZGRlYTY2MzI4MDk0N2QwZDFiZjViNjFlYjg4YjU4NWZjYzg3Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS01Lmh0
bWwKQEAgLTAsMCArMSw1NiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRo
ZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3
aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuIDwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOwor
CisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwi
LCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFy
a3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwg
IiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCit0ZXN0UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIsICI8Yj48aT5I
ZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxl
PVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwv
Yj48L2Rpdj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRp
dj48ZGl2PjxkaXY+SGVsbG88L2Rpdj48L2Rpdj48L2Rpdj4iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0
ZSgiZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxsbzwvaT48L2Rpdj48L2I+PC9kaXY+IiwgIjxp
IHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88L2k+Iik7Cit0ZXN0UGFzdGUoImRp
diIsICI8ZGl2PjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+
PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVs
bG88L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxl
PVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAKKyAgICAgICAgICAiPGRp
dj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWln
aHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiBoZWxsbzI8L2k+PC9iPjwv
c3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBu
b3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwv
c3Bhbj48L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGkgc3R5bGU9XCJtYXJnaW46IDEw
cHg7XCI+PGI+PGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iLAor
ICAgICAgICAgICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIp
OwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0
OiBub3JtYWxcIj48Yj48aT5IZWxsbyA8IS0tIGNvbW1lbnQgLS0+d29ybGQ8L2k+PC9iPjwvc3Bh
bj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4iKTsKK3Rl
c3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9y
bWFsXCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+
PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+
cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LWFuZC1zYW5pdGl6ZS02LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWY4OWRj
Zjg4ODQ3YWFiNGI4OTJhMDA3ZDJkZTMyYzA5Njk4MWViNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNi1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxNyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBv
cGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0
eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4KKworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhl
bGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9i
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8aSBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IZWxsbzwvaT4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGI+SGVsbG88
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPjxiPjxp
PmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4n
CitGQUlMIGNvbmZpcm1lZE1hcmt1cCBzaG91bGQgYmUgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsi
PmhlbGxvPC9pPjwvYj48L2k+LiBXYXMgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPjxiPjxpIHN0
eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4KK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij5wbGFpbiB0
ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNi5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS02Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMzYzY2RkZWE2NjMyODA5NDdkMGQxYmY1YjYxZWI4OGI1ODVmY2M4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1h
bmQtc2FuaXRpemUtNi5odG1sCkBAIC0wLDAgKzEsNTYgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9w
ZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5
IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLiA8L3A+Cis8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxl
Y3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9j
dW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUu
aW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdFBhc3RlKCJk
aXYiLCAiSGVsbG8iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxiPjxpPkhlbGxvPC9p
PjwvYj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbzwvaT48
L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj48ZGl2PkhlbGxvPC9kaXY+PC9kaXY+PC9kaXY+IiwgIkhl
bGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxkaXY+PGk+SGVsbG88L2k+PC9kaXY+
PC9iPjwvZGl2PiIsICI8aSBzdHlsZT1cImZvbnQtd2VpZ2h0OiBib2xkO1wiPkhlbGxvPC9pPiIp
OwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxiPkhlbGxvPC9iPjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2Vp
Z2h0OiBub3JtYWxcIj48Yj48aT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+Iiwg
CisgICAgICAgICAgIjxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBz
dHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4g
aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9
XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7
aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxpIHN0
eWxlPVwibWFyZ2luOiAxMHB4O1wiPjxiPjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxv
PC9pPjwvYj48L2k+IiwKKyAgICAgICAgICAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVs
bG88L2k+PC9iPjwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5
bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG8gPCEtLSBjb21tZW50IC0tPndv
cmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG8mbmJzcDt3b3Js
ZDwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwi
Zm9udC13ZWlnaHQ6IG5vcm1hbFwiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9p
PjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdl
aWdodDogbm9ybWFsO1wiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48
L3NwYW4+PC9pPjwvYj4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTctZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmFmODlkY2Y4ODg0N2FhYjRiODkyYTAwN2QyZGUzMmMwOTY5ODFlYjQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNh
bml0aXplLTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTcgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVk
dWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5
bGUuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxi
PjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGkgc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SGVsbG88
L2k+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxiPkhlbGxvPC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0
OiBub3JtYWw7Ij48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+
PC9zcGFuPjwvaT48L2I+JworRkFJTCBjb25maXJtZWRNYXJrdXAgc2hvdWxkIGJlIDxpIHN0eWxl
PSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4gV2FzIDxpIHN0eWxlPSJtYXJnaW46
IDEwcHg7Ij48Yj48aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDog
bm9ybWFsOyI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48
L2k+PC9iPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5k
LXNhbml0aXplLTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1h
bmQtc2FuaXRpemUtNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2M2NkZGVhNjYzMjgwOTQ3ZDBkMWJmNWI2
MWViODhiNTg1ZmNjODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTcuaHRtbApAQCAtMCwwICsxLDU2IEBACis8IURP
Q1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0
aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1
Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHls
ZS4gPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdFBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCkg
eworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAp
OworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFz
dGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK3Rlc3RQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIs
ICI8Yj48aT5IZWxsbzwvaT48L2I+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0
ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+
PGI+PGk+SGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbzwv
aT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjwv
ZGl2PjwvZGl2PiIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48ZGl2Pjxp
PkhlbGxvPC9pPjwvZGl2PjwvYj48L2Rpdj4iLCAiPGkgc3R5bGU9XCJmb250LXdlaWdodDogYm9s
ZDtcIj5IZWxsbzwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0
ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4g
c3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48
L2k+PC9iPjwvZGl2PiIsIAorICAgICAgICAgICI8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxk
aXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxv
MTwvaT48L2I+PGI+PGk+IGhlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxi
PjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+
PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7Cit0ZXN0UGFz
dGUoImRpdiIsICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj48Yj48aSBzdHlsZT1cIm1hcmdp
bjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIsCisgICAgICAgICAgIjxpIHN0eWxlPVwibWFy
Z2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvIDwh
LS0gY29tbWVudCAtLT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxp
PkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9s
ZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFu
IHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFs
aWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTgtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS04
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZjg5ZGNmODg4NDdhYWI0Yjg5MmEwMDdkMmRlMzJj
MDk2OTgxZWI0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS04LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVk
IGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBh
ZmZlY3RpbmcgdGhlIHN0eWxlLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxpIHN0eWxlPSJmb250LXdlaWdo
dDogYm9sZDsiPkhlbGxvPC9pPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxl
PSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48Yj5IZWxsbzwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0
eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJz
cDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK0ZBSUwgY29uZmlybWVkTWFya3VwIHNo
b3VsZCBiZSA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uIFdhcyA8
aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+PGI+PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxv
PC9pPjwvYj48L2k+LgorUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvJm5ic3A7
d29ybGQ8L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHls
ZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0
PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS04Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNjNjZGRlYTY2
MzI4MDk0N2QwZDFiZjViNjFlYjg4YjU4NWZjYzg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS04Lmh0bWwKQEAgLTAs
MCArMSw1NiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQg
ZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFm
ZmVjdGluZyB0aGUgc3R5bGUuIDwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG9yaWdpbmFsTWFya3VwKTsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9k
ZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9k
ZS5pbm5lckhUTUw7CisKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhw
ZWN0ZWQgKyAiJyIpOworfQorCit0ZXN0UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIpOwor
dGVzdFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48
L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13
ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4i
LCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48L2Rpdj48L2Rpdj4iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGI+PGRpdj48aT5IZWxsbzwvaT48L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwi
Zm9udC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+PC9k
aXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9k
aXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13
ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAKKyAgICAgICAgICAiPGRpdj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1h
bDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiBoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+
PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+
PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+
PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+PGI+
PGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iLAorICAgICAgICAg
ICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIpOwordGVzdFBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxc
Ij48Yj48aT5IZWxsbyA8IS0tIGNvbW1lbnQgLS0+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9i
PjwvZGl2PiIsICI8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+cGxh
aW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2
PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+cGxhaW4gdGV4
dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5p
dGl6ZS05LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS1hbmQtc2FuaXRpemUtOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWY4OWRjZjg4ODQ3YWFi
NGI4OTJhMDA3ZDJkZTMyYzA5Njk4MWViNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtOS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxNyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24g
dHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUg
bWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4KKworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwv
Yj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8aSBz
dHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IZWxsbzwvaT4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGI+SGVsbG88L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPjxiPjxpPmhlbGxvMTwv
aT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitGQUlMIGNv
bmZpcm1lZE1hcmt1cCBzaG91bGQgYmUgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9p
PjwvYj48L2k+LiBXYXMgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPjxiPjxpIHN0eWxlPSJtYXJn
aW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4KK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij5wbGFpbiB0ZXh0PGI+PGk+
Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtOS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS05Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMzYzY2RkZWE2NjMyODA5NDdkMGQxYmY1YjYxZWI4OGI1ODVmY2M4NwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRp
emUtOS5odG1sCkBAIC0wLDAgKzEsNTYgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0
cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBt
YXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLiA8L3A+Cis8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsK
K3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9k
eS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFt
ZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1M
ID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdFBhc3RlKCJkaXYiLCAiSGVs
bG8iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iLCAi
PGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3Bh
biBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFu
PjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj48ZGl2PkhlbGxvPC9kaXY+PC9kaXY+PC9kaXY+IiwgIkhlbGxvIik7Cit0
ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxkaXY+PGk+SGVsbG88L2k+PC9kaXY+PC9iPjwvZGl2
PiIsICI8aSBzdHlsZT1cImZvbnQtd2VpZ2h0OiBib2xkO1wiPkhlbGxvPC9pPiIpOwordGVzdFBh
c3RlKCJkaXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhl
bGxvPC9iPjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxiPkhlbGxvPC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3Bh
biBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9zcGFu
PjwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3Jt
YWxcIj48Yj48aT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgCisgICAgICAg
ICAgIjxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZv
bnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4gaGVsbG8yPC9p
PjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdl
aWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9p
PjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxpIHN0eWxlPVwibWFy
Z2luOiAxMHB4O1wiPjxiPjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48
L2k+IiwKKyAgICAgICAgICAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9i
PjwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250
LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG8gPCEtLSBjb21tZW50IC0tPndvcmxkPC9pPjwv
Yj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+
Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWln
aHQ6IG5vcm1hbFwiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3Nw
YW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9y
bWFsO1wiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9p
PjwvYj4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>381502</attachid>
            <date>2019-10-21 20:27:00 -0700</date>
            <delta_ts>2019-10-21 20:32:18 -0700</delta_ts>
            <desc>Attempt #3 to reproduce the failure</desc>
            <filename>bug-203199-20191021202659.patch</filename>
            <type>text/plain</type>
            <size>125977</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUxMzg5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODA4OTNlZTEwODMxYWI2
MjFlMzk5NDIxZTFmNzIzZmZkOWQyOTJkZS4uODY3MTFiODIyYmNhZWZiZWM2NTIzOWZjYTMzNjJm
NzBmMzk5MGQ2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE5LTEwLTIxICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUuaHRtbCBpcyBhIGZsYWt5IGZhaWx1cmUKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMzE5OQorICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vNTM1NTE3MzY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgSnVzdCBhbiBleHBlcmltZW50OyBvYnZpb3VzbHkgbm90IGlu
dGVuZGVkIGZvciByZXZpZXcuCisKKyAgICAgICAgKiBlZGl0aW5nL0VkaXRvci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpyZXByKToKKyAgICAgICAgKFdlYkNvcmU6OnN0cmluZyk6CisgICAgICAg
IChXZWJDb3JlOjpFZGl0b3I6OmhhbmRsZVRleHRFdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpF
ZGl0b3I6OnBhc3RlKToKKyAgICAgICAgKiBlZGl0aW5nL1JlcGxhY2VTZWxlY3Rpb25Db21tYW5k
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlcGxhY2VTZWxlY3Rpb25Db21tYW5kOjpkb0FwcGx5
KToKKwogMjAxOS0xMC0yMSAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4K
IAogICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NsaXBib2FyZC1hcGlz
L2FzeW5jLW5hdmlnYXRvci1jbGlwYm9hcmQtYmFzaWNzLmh0dHBzLmh0bWwgaXMgZmxha3kKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2VkaXRpbmcvRWRpdG9yLmNwcAppbmRleCBlOGIyNDM2MDUxNTE4ZGEzMzgxZDJmNTc1N2Zh
NjE4NmU2ODUzYTdkLi5lNDk0MTQzMDU3MTAzZmRjZjU3ZTQ2ZWJmMTY4MjFhYzk5MGY3YWI3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwCkBAIC0xMjEsNiArMTIxLDE1MCBAQAogI2luY2x1
ZGUgIlNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIuaCIKICNlbmRpZgogCisjaW5jbHVkZSA8V2Vi
Q29yZS9TcGFjZVNwbGl0U3RyaW5nLmg+CisjaW5jbHVkZSA8d3RmL0hleE51bWJlci5oPgorI2lu
Y2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1
aWxkZXIuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdDb25jYXRlbmF0ZU51bWJlcnMuaD4K
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCitfX3VudXNlZCBzdGF0aWMgU3RyaW5nIHJlcHIoY29u
c3QgU3BhY2VTcGxpdFN0cmluZyYgY2xhc3NOYW1lcykKK3sKKyAgICBpZiAoY2xhc3NOYW1lcy5p
c0VtcHR5KCkpCisgICAgICAgIHJldHVybiBlbXB0eVN0cmluZygpOworCisgICAgU3RyaW5nQnVp
bGRlciBidWZmZXI7CisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGNsYXNzTmFtZXMuc2l6
ZSgpOyArK2kpIHsKKyAgICAgICAgaWYgKGkpCisgICAgICAgICAgICBidWZmZXIuYXBwZW5kKCIg
Iik7CisgICAgICAgIGJ1ZmZlci5hcHBlbmQoY2xhc3NOYW1lc1tpXS5zdHJpbmcoKSk7CisgICAg
fQorICAgIHJldHVybiBidWZmZXIudG9TdHJpbmcoKTsKK30KKworX191bnVzZWQgc3RhdGljIFN0
cmluZyBzdHJpbmcoY29uc3QgTm9kZSogbm9kZSkKK3sKKyAgICBpZiAoIW5vZGUpCisgICAgICAg
IHJldHVybiAiKG51bGwpIjsKKyAgICBpZiAobm9kZS0+aXNUZXh0Tm9kZSgpKSB7CisgICAgICAg
IGF1dG8gdGV4dCA9IG5vZGUtPnRleHRDb250ZW50KCk7CisgICAgICAgIFN0cmluZyBmaWx0ZXJl
ZFRleHQ7CisgICAgICAgIGlmICh0ZXh0Lmxlbmd0aCgpID4gMTIpCisgICAgICAgICAgICBmaWx0
ZXJlZFRleHQgPSB0ZXh0LnN1YnN0cmluZygwLCAxMik7CisgICAgICAgIGVsc2UKKyAgICAgICAg
ICAgIGZpbHRlcmVkVGV4dCA9IHRleHQ7CisgICAgICAgIGZpbHRlcmVkVGV4dC5yZXBsYWNlKCJc
biIsICJcXG4iKTsKKyAgICAgICAgZmlsdGVyZWRUZXh0LnJlcGxhY2UoIlxyIiwgIlxcciIpOwor
ICAgICAgICBmaWx0ZXJlZFRleHQucmVwbGFjZSgiXHQiLCAiXFx0Iik7CisgICAgICAgIGlmICh0
ZXh0Lmxlbmd0aCgpID4gMTIpCisgICAgICAgICAgICByZXR1cm4gbWFrZVN0cmluZygiXCIiX3Ms
IGZpbHRlcmVkVGV4dCwgIi4uLlwiIl9zLCAiIChsZW5ndGg6ICJfcywgdGV4dC5sZW5ndGgoKSwg
IikiX3MpOworICAgICAgICByZXR1cm4gbWFrZVN0cmluZygiXCIiX3MsIGZpbHRlcmVkVGV4dCwg
IlwiIl9zKTsKKyAgICB9CisgICAgaWYgKG5vZGUtPmlzRWxlbWVudE5vZGUoKSkgeworICAgICAg
ICBhdXRvJiBlbGVtZW50ID0gZG93bmNhc3Q8RWxlbWVudD4oKm5vZGUpOworICAgICAgICBpZiAo
ZWxlbWVudC5pc1RleHRGaWVsZCgpKSB7CisgICAgICAgICAgICByZXR1cm4gbWFrZVN0cmluZygi
PCJfcywgZWxlbWVudC50YWdOYW1lKCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICIgaWQ9
JyJfcywgZWxlbWVudC5nZXRJZEF0dHJpYnV0ZSgpLnN0cmluZygpLCAiJyJfcywKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgIiB0eXBlPSciX3MsIGVsZW1lbnQuYXR0cmlidXRlV2l0aG91dFN5
bmNocm9uaXphdGlvbihIVE1MTmFtZXM6OnR5cGVBdHRyKSwgIiciX3MsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICIgY2xhc3M9JyJfcywgZWxlbWVudC5oYXNDbGFzcygpID8gcmVwcihlbGVt
ZW50LmNsYXNzTmFtZXMoKSkgOiAiIiwgIic+Il9zKTsKKyAgICAgICAgfQorICAgICAgICBpZiAo
ZWxlbWVudC5oYXNUYWdOYW1lKEhUTUxOYW1lczo6YVRhZykpIHsKKyAgICAgICAgICAgIHJldHVy
biBtYWtlU3RyaW5nKCI8Il9zLCBlbGVtZW50LnRhZ05hbWUoKSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgIiBpZD0nIl9zLCBlbGVtZW50LmdldElkQXR0cmlidXRlKCkuc3RyaW5nKCksICIn
Il9zLAorICAgICAgICAgICAgICAgICAgICAgICAgICAiIGhyZWY9JyJfcywgZWxlbWVudC5hdHRy
aWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKEhUTUxOYW1lczo6aHJlZkF0dHIpLCAiJyJfcywK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgIiBjbGFzcz0nIl9zLCBlbGVtZW50Lmhhc0NsYXNz
KCkgPyByZXByKGVsZW1lbnQuY2xhc3NOYW1lcygpKSA6ICIiLCAiJz4iX3MpOworICAgICAgICB9
CisgICAgICAgIGlmIChlbGVtZW50Lmhhc1RhZ05hbWUoSFRNTE5hbWVzOjppbWdUYWcpKSB7Cisg
ICAgICAgICAgICByZXR1cm4gbWFrZVN0cmluZygiPCJfcywgZWxlbWVudC50YWdOYW1lKCksCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICIgaWQ9JyJfcywgZWxlbWVudC5nZXRJZEF0dHJpYnV0
ZSgpLnN0cmluZygpLCAiJyJfcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIiBzcmM9JyJf
cywgZWxlbWVudC5hdHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKEhUTUxOYW1lczo6c3Jj
QXR0ciksICInIl9zLAorICAgICAgICAgICAgICAgICAgICAgICAgICAiIGNsYXNzPSciX3MsIGVs
ZW1lbnQuaGFzQ2xhc3MoKSA/IHJlcHIoZWxlbWVudC5jbGFzc05hbWVzKCkpIDogIiIsICInPiJf
cyk7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIG1ha2VTdHJpbmcoIjwiX3MsIGVsZW1lbnQu
dGFnTmFtZSgpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAiIGlkPSciX3MsIGVsZW1lbnQu
Z2V0SWRBdHRyaWJ1dGUoKS5zdHJpbmcoKSwgIiciX3MsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICIgY2xhc3M9JyJfcywgZWxlbWVudC5oYXNDbGFzcygpID8gcmVwcihlbGVtZW50LmNsYXNz
TmFtZXMoKSkgOiAiIiwgIic+Il9zKTsKKyAgICB9CisgICAgcmV0dXJuIG1ha2VTdHJpbmcoIk5v
ZGUoIl9zLCBoZXgocmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KG5vZGUpLCA4LCBMb3dlcmNh
c2UpLCAiKSJfcyk7Cit9CisKK19fdW51c2VkIHN0YXRpYyBjb25zdCBjaGFyKiByZXByKGNvbnN0
IE5vZGUqIG5vZGUpCit7CisgICAgcmV0dXJuIHN0cmluZyhub2RlKS51dGY4KCkuZGF0YSgpOwor
fQorCitfX3VudXNlZCBzdGF0aWMgY29uc3QgY2hhciogcmVwcihib29sIGIpCit7CisgICAgcmV0
dXJuIGIgPyAiWUVTIiA6ICJOTyI7Cit9CisKK19fdW51c2VkIHN0YXRpYyBjb25zdCBjaGFyKiBy
ZXByKEZyYW1lKiBmcmFtZSkKK3sKKyAgICBpZiAoIWZyYW1lKQorICAgICAgICByZXR1cm4gIihu
dWxsKSI7CisgICAgaWYgKGZyYW1lLT5pc01haW5GcmFtZSgpKQorICAgICAgICByZXR1cm4gbWFr
ZVN0cmluZygiPE1haW5GcmFtZSAweCJfcywgaGV4KHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90
PihmcmFtZSksIDgsIExvd2VyY2FzZSksICI+Il9zKS51dGY4KCkuZGF0YSgpOworICAgIHJldHVy
biBtYWtlU3RyaW5nKCI8RnJhbWUgMHgiX3MsIGhleChyZWludGVycHJldF9jYXN0PHVpbnRwdHJf
dD4oZnJhbWUpLCA4LCBMb3dlcmNhc2UpLCAiIG5hbWU9JyJfcywgZnJhbWUtPnRyZWUoKS51bmlx
dWVOYW1lKCkuc3RyaW5nKCksICInIG93bmVyPSJfcywgcmVwcihmcmFtZS0+b3duZXJFbGVtZW50
KCkpLCAiPiJfcykudXRmOCgpLmRhdGEoKTsKK30KKworfQorCisjaW5jbHVkZSA8d3RmL0hleE51
bWJlci5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgorI2luY2x1ZGUgPHd0Zi90
ZXh0L1N0cmluZ0NvbmNhdGVuYXRlTnVtYmVycy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K19fdW51c2VkIHN0YXRpYyBjb25zdCBjaGFyKiByZXByKFBvc2l0aW9uOjpBbmNob3JUeXBlIHR5
cGUpCit7CisgICAgc3dpdGNoICh0eXBlKSB7CisgICAgICAgIGNhc2UgUG9zaXRpb246OkFuY2hv
clR5cGU6OlBvc2l0aW9uSXNCZWZvcmVDaGlsZHJlbjoKKyAgICAgICAgICAgIHJldHVybiAiQmVm
b3JlQ2hpbGRyZW4iOworICAgICAgICBjYXNlIFBvc2l0aW9uOjpBbmNob3JUeXBlOjpQb3NpdGlv
bklzQWZ0ZXJDaGlsZHJlbjoKKyAgICAgICAgICAgIHJldHVybiAiQWZ0ZXJDaGlsZHJlbiI7Cisg
ICAgICAgIGNhc2UgUG9zaXRpb246OkFuY2hvclR5cGU6OlBvc2l0aW9uSXNPZmZzZXRJbkFuY2hv
cjoKKyAgICAgICAgICAgIHJldHVybiAiT2Zmc2V0SW5BbmNob3IiOworICAgICAgICBjYXNlIFBv
c2l0aW9uOjpBbmNob3JUeXBlOjpQb3NpdGlvbklzQmVmb3JlQW5jaG9yOgorICAgICAgICAgICAg
cmV0dXJuICJCZWZvcmVBbmNob3IiOworICAgICAgICBjYXNlIFBvc2l0aW9uOjpBbmNob3JUeXBl
OjpQb3NpdGlvbklzQWZ0ZXJBbmNob3I6CisgICAgICAgICAgICByZXR1cm4gIkFmdGVyQW5jaG9y
IjsKKyAgICB9CisgICAgcmV0dXJuICIiOworfQorCitfX3VudXNlZCBzdGF0aWMgU3RyaW5nIHN0
cmluZyhjb25zdCBQb3NpdGlvbiYgcCkKK3sKKyAgICBpZiAocC5hbmNob3JUeXBlKCkgPT0gUG9z
aXRpb246OkFuY2hvclR5cGU6OlBvc2l0aW9uSXNPZmZzZXRJbkFuY2hvcikKKyAgICAgICAgcmV0
dXJuIG1ha2VTdHJpbmcocmVwcihwLmFuY2hvclR5cGUoKSksICIoIl9zLCBzdHJpbmcocC5hbmNo
b3JOb2RlKCkpLCAiLCAiX3MsIHAub2Zmc2V0SW5Db250YWluZXJOb2RlKCksICIpIl9zKTsKKyAg
ICByZXR1cm4gbWFrZVN0cmluZyhyZXByKHAuYW5jaG9yVHlwZSgpKSwgIigiX3MsIHN0cmluZyhw
LmFuY2hvck5vZGUoKSksICIpIl9zKTsKK30KKworX191bnVzZWQgc3RhdGljIGNvbnN0IGNoYXIq
IHJlcHIoY29uc3QgUG9zaXRpb24mIHApCit7CisgICAgcmV0dXJuIHN0cmluZyhwKS51dGY4KCku
ZGF0YSgpOworfQorCitfX3VudXNlZCBzdGF0aWMgY29uc3QgY2hhciogcmVwcihjb25zdCBWaXNp
YmxlUG9zaXRpb24mIHApCit7CisgICAgcmV0dXJuIHN0cmluZyhwLmRlZXBFcXVpdmFsZW50KCkp
LnV0ZjgoKS5kYXRhKCk7Cit9CisKK19fdW51c2VkIHN0YXRpYyBTdHJpbmcgc3RyaW5nKGNvbnN0
IFZpc2libGVTZWxlY3Rpb24mIHMpCit7CisgICAgaWYgKHMuaXNOb25lKCkpCisgICAgICAgIHJl
dHVybiAieyBOb25lIH0iOworICAgIGlmIChzLmlzQ2FyZXQoKSkKKyAgICAgICAgcmV0dXJuIG1h
a2VTdHJpbmcoInsgIl9zLCBzdHJpbmcocy5zdGFydCgpKSwgIiB9Il9zKTsKKyAgICByZXR1cm4g
bWFrZVN0cmluZygieyAiX3MsIHN0cmluZyhzLnN0YXJ0KCkpLCAiLCAiX3MsIHN0cmluZyhzLmVu
ZCgpKSwgIiB9Il9zKTsKK30KKworX191bnVzZWQgc3RhdGljIGNvbnN0IGNoYXIqIHJlcHIoY29u
c3QgVmlzaWJsZVNlbGVjdGlvbiYgcykKK3sKKyAgICByZXR1cm4gc3RyaW5nKHMpLnV0ZjgoKS5k
YXRhKCk7Cit9CisKK30KKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdGF0aWMgYm9vbCBkaXNw
YXRjaEJlZm9yZUlucHV0RXZlbnQoRWxlbWVudCYgZWxlbWVudCwgY29uc3QgQXRvbVN0cmluZyYg
aW5wdXRUeXBlLCBjb25zdCBTdHJpbmcmIGRhdGEgPSB7IH0sIFJlZlB0cjxEYXRhVHJhbnNmZXI+
JiYgZGF0YVRyYW5zZmVyID0gbnVsbHB0ciwgY29uc3QgVmVjdG9yPFJlZlB0cjxTdGF0aWNSYW5n
ZT4+JiB0YXJnZXRSYW5nZXMgPSB7IH0sIEV2ZW50OjpJc0NhbmNlbGFibGUgY2FuY2VsYWJsZSA9
IEV2ZW50OjpJc0NhbmNlbGFibGU6OlllcykKQEAgLTMxNyw5ICs0NjEsMTIgQEAgYm9vbCBFZGl0
b3I6OmhhbmRsZVRleHRFdmVudChUZXh0RXZlbnQmIGV2ZW50KQogICAgICAgICAgICAgaWYgKGNs
aWVudCgpLT5wZXJmb3Jtc1R3b1N0ZXBQYXN0ZShldmVudC5wYXN0aW5nRnJhZ21lbnQoKSkpCiAg
ICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAjZW5kaWYKKyAgICAgICAgICAgIFdURkxvZ0Fs
d2F5cygiPFdLPjogUmVwbGFjaW5nIHNlbGVjdGlvbiB3aXRoIGZyYWdtZW50ISIpOwogICAgICAg
ICAgICAgcmVwbGFjZVNlbGVjdGlvbldpdGhGcmFnbWVudCgqZXZlbnQucGFzdGluZ0ZyYWdtZW50
KCksIFNlbGVjdFJlcGxhY2VtZW50OjpObywgZXZlbnQuc2hvdWxkU21hcnRSZXBsYWNlKCkgPyBT
bWFydFJlcGxhY2U6OlllcyA6IFNtYXJ0UmVwbGFjZTo6Tm8sIGV2ZW50LnNob3VsZE1hdGNoU3R5
bGUoKSA/IE1hdGNoU3R5bGU6OlllcyA6IE1hdGNoU3R5bGU6Ok5vLCBFZGl0QWN0aW9uOjpQYXN0
ZSwgZXZlbnQubWFpbEJsb2NrcXVvdGVIYW5kbGluZygpKTsKLSAgICAgICAgfSBlbHNlCisgICAg
ICAgIH0gZWxzZSB7CisgICAgICAgICAgICBXVEZMb2dBbHdheXMoIjxXSz46IFJlcGxhY2luZyBz
ZWxlY3Rpb24gd2l0aCB0ZXh0ISIpOwogICAgICAgICAgICAgcmVwbGFjZVNlbGVjdGlvbldpdGhU
ZXh0KGV2ZW50LmRhdGEoKSwgU2VsZWN0UmVwbGFjZW1lbnQ6Ok5vLCBldmVudC5zaG91bGRTbWFy
dFJlcGxhY2UoKSA/IFNtYXJ0UmVwbGFjZTo6WWVzIDogU21hcnRSZXBsYWNlOjpObywgRWRpdEFj
dGlvbjo6UGFzdGUpOworICAgICAgICB9CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KIApA
QCAtMTQyOCwxOCArMTU3NSwzNiBAQCB2b2lkIEVkaXRvcjo6cGFzdGUoKQogICAgIHBhc3RlKCpQ
YXN0ZWJvYXJkOjpjcmVhdGVGb3JDb3B5QW5kUGFzdGUoKSk7CiB9CiAKKyNpZiAhUExBVEZPUk0o
SU9TX0ZBTUlMWSkKK3N0YXRpY19hc3NlcnQoZmFsc2UsICJJIGp1c3Qgd2FudCByZXN1bHRzIGZy
b20gaU9TIGJvdHMsIHNvIGZhaWwgZWFybHkgaGVyZSBmb3Igbm9uLWlPUy4iKTsKKyNlbmRpZgor
CiB2b2lkIEVkaXRvcjo6cGFzdGUoUGFzdGVib2FyZCYgcGFzdGVib2FyZCkKIHsKLSAgICBpZiAo
IWRpc3BhdGNoQ2xpcGJvYXJkRXZlbnQoZmluZEV2ZW50VGFyZ2V0RnJvbVNlbGVjdGlvbigpLCBD
bGlwYm9hcmRFdmVudEtpbmQ6OlBhc3RlKSkKKyAgICBpZiAobV9mcmFtZS5kb2N1bWVudCgpKSB7
CisgICAgICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogQXR0ZW1wdGluZyB0byBwYXN0ZSAoJXMpIiwg
bV9mcmFtZS5kb2N1bWVudCgpLT51cmwoKS5sYXN0UGF0aENvbXBvbmVudCgpLnV0ZjgoKS5kYXRh
KCkpOworICAgICAgICBXVEZMb2dBbHdheXMoIjxXSz46IFRoZSBzZWxlY3Rpb24gaXM6ICVzIiwg
cmVwcihtX2ZyYW1lLnNlbGVjdGlvbigpLnNlbGVjdGlvbigpKSk7CisgICAgfQorCisgICAgaWYg
KCFkaXNwYXRjaENsaXBib2FyZEV2ZW50KGZpbmRFdmVudFRhcmdldEZyb21TZWxlY3Rpb24oKSwg
Q2xpcGJvYXJkRXZlbnRLaW5kOjpQYXN0ZSkpIHsKKyAgICAgICAgV1RGTG9nQWx3YXlzKCI8V0s+
OiBTY3JpcHQgaGFuZGxlZCB0aGUgcGFzdGUuIik7CiAgICAgICAgIHJldHVybjsgLy8gREhUTUwg
ZGlkIHRoZSB3aG9sZSBvcGVyYXRpb24KLSAgICBpZiAoIWNhblBhc3RlKCkpCisgICAgfQorCisg
ICAgaWYgKCFjYW5QYXN0ZSgpKSB7CisgICAgICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogRmFpbGVk
IHRvIHBhc3RlLiIpOwogICAgICAgICByZXR1cm47CisgICAgfQogICAgIHVwZGF0ZU1hcmtlcnNG
b3JXb3Jkc0FmZmVjdGVkQnlFZGl0aW5nKGZhbHNlKTsKICAgICBSZXNvdXJjZUNhY2hlVmFsaWRh
dGlvblN1cHByZXNzb3IgdmFsaWRhdGlvblN1cHByZXNzb3IoZG9jdW1lbnQoKS5jYWNoZWRSZXNv
dXJjZUxvYWRlcigpKTsKLSAgICBpZiAobV9mcmFtZS5zZWxlY3Rpb24oKS5zZWxlY3Rpb24oKS5p
c0NvbnRlbnRSaWNobHlFZGl0YWJsZSgpKQorICAgIGlmIChtX2ZyYW1lLnNlbGVjdGlvbigpLnNl
bGVjdGlvbigpLmlzQ29udGVudFJpY2hseUVkaXRhYmxlKCkpIHsKKyAgICAgICAgV1RGTG9nQWx3
YXlzKCI8V0s+OiBQYXN0aW5nIGFzIHJpY2ggdGV4dC4iKTsKICAgICAgICAgcGFzdGVXaXRoUGFz
dGVib2FyZCgmcGFzdGVib2FyZCwgeyBQYXN0ZU9wdGlvbjo6QWxsb3dQbGFpblRleHQgfSk7Ci0g
ICAgZWxzZQorICAgIH0gZWxzZSB7CisgICAgICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogUGFzdGlu
ZyBhcyBwbGFpbiB0ZXh0LiIpOwogICAgICAgICBwYXN0ZUFzUGxhaW5UZXh0V2l0aFBhc3RlYm9h
cmQocGFzdGVib2FyZCk7CisgICAgfQorICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogIik7CiB9CiAK
IHZvaWQgRWRpdG9yOjpwYXN0ZUFzUGxhaW5UZXh0KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2VkaXRpbmcvUmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQuY3BwIGIvU291cmNlL1dlYkNvcmUv
ZWRpdGluZy9SZXBsYWNlU2VsZWN0aW9uQ29tbWFuZC5jcHAKaW5kZXggNzUwNmNkYzdhZWExM2Mz
ZTNiM2RlYjQ0MDQ3OWUwZDc5MGIyMTAxYS4uYmUwOGFmNzBjYTA4ODkxYTRjYTI5NDJkMGQ3OTI3
MTQxMjZiMDU5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9SZXBsYWNlU2Vs
ZWN0aW9uQ29tbWFuZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9SZXBsYWNlU2Vs
ZWN0aW9uQ29tbWFuZC5jcHAKQEAgLTEzMTYsNiArMTMxNiw3IEBAIHZvaWQgUmVwbGFjZVNlbGVj
dGlvbkNvbW1hbmQ6OmRvQXBwbHkoKQogICAgIGlmIChpbnNlcnRlZE5vZGVzLmlzRW1wdHkoKSkK
ICAgICAgICAgcmV0dXJuOwogCisgICAgV1RGTG9nQWx3YXlzKCI8V0s+OiBTYW5pdGl6aW5nIGZy
YWdtZW50PyAlcyIsIG1fc2FuaXRpemVGcmFnbWVudCA/ICJ5ZXMiIDogIm5vIik7CiAgICAgaWYg
KG1fc2FuaXRpemVGcmFnbWVudCkKICAgICAgICAgYXBwbHlDb21tYW5kVG9Db21wb3NpdGUoU2lt
cGxpZnlNYXJrdXBDb21tYW5kOjpjcmVhdGUoZG9jdW1lbnQoKSwgaW5zZXJ0ZWROb2Rlcy5maXJz
dE5vZGVJbnNlcnRlZCgpLCBpbnNlcnRlZE5vZGVzLnBhc3RMYXN0TGVhZigpKSk7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvbWFjL0VkaXRvck1hYy5tbSBiL1NvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvbWFjL0VkaXRvck1hYy5tbQppbmRleCA4MGFiYmUyZDkwZTdiMzIwM2Q1
ZTA4YzAyMjNkMDlhMmU4YWZkZTViLi5mYzFiY2EzNzYzN2M3MjU1YTBjOTNlZmU0YmVmYzg2NWQ1
NmRhZjY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL21hYy9FZGl0b3JNYWMu
bW0KKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9tYWMvRWRpdG9yTWFjLm1tCkBAIC05MSw2
ICs5MSw3IEBAIHZvaWQgRWRpdG9yOjpwYXN0ZVdpdGhQYXN0ZWJvYXJkKFBhc3RlYm9hcmQqIHBh
c3RlYm9hcmQsIE9wdGlvblNldDxQYXN0ZU9wdGlvbj4KIAogICAgIGJvb2wgY2hvc2VQbGFpblRl
eHQ7CiAgICAgUmVmUHRyPERvY3VtZW50RnJhZ21lbnQ+IGZyYWdtZW50ID0gd2ViQ29udGVudEZy
b21QYXN0ZWJvYXJkKCpwYXN0ZWJvYXJkLCAqcmFuZ2UsIG9wdGlvbnMuY29udGFpbnMoUGFzdGVP
cHRpb246OkFsbG93UGxhaW5UZXh0KSwgY2hvc2VQbGFpblRleHQpOworICAgIFdURkxvZ0Fsd2F5
cygiPFdLPjogQWJsZSB0byByZWFkIGZyYWdtZW50PyAlcyIsIGZyYWdtZW50ID8gInllcyIgOiAi
bm8iKTsKIAogICAgIGlmIChmcmFnbWVudCAmJiBvcHRpb25zLmNvbnRhaW5zKFBhc3RlT3B0aW9u
OjpBc1F1b3RhdGlvbikpCiAgICAgICAgIHF1b3RlRnJhZ21lbnRGb3JQYXN0aW5nKCpmcmFnbWVu
dCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvUGFzdGVib2FyZElP
Uy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9QYXN0ZWJvYXJkSU9TLm1tCmluZGV4
IDU1ZGM3MzNmNjFlMjNkMDg1NzdhZTgxOTJlM2MzYWYzZDk2MTFhODIuLjk2MWZkOWRiOGYwZmZk
OTlhZjhkYTc2Y2I5YjY1ZTFiZTAxNzIwOGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2lvcy9QYXN0ZWJvYXJkSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2lvcy9QYXN0ZWJvYXJkSU9TLm1tCkBAIC0zMjgsMTcgKzMyOCwyNyBAQCB2b2lkIFBhc3RlYm9h
cmQ6OnJlYWQoUGFzdGVib2FyZFdlYkNvbnRlbnRSZWFkZXImIHJlYWRlciwgV2ViQ29udGVudFJl
YWRpbmdQb2xpYwogICAgICAgICB9CiAjZW5kaWYKIAorICAgICAgICBOU0xvZyhAIjxXSz46IFRy
eWluZyB0eXBlczogJUAiLCB0eXBlcyk7CisKICAgICAgICAgZm9yIChpbnQgdHlwZUluZGV4ID0g
MDsgdHlwZUluZGV4IDwgbnVtYmVyT2ZUeXBlczsgdHlwZUluZGV4KyspIHsKICAgICAgICAgICAg
IE5TU3RyaW5nICp0eXBlID0gW3R5cGVzIG9iamVjdEF0SW5kZXg6dHlwZUluZGV4XTsKLSAgICAg
ICAgICAgIGlmICghaXNUeXBlQWxsb3dlZEJ5UmVhZGluZ1BvbGljeSh0eXBlLCBwb2xpY3kpKQor
ICAgICAgICAgICAgaWYgKCFpc1R5cGVBbGxvd2VkQnlSZWFkaW5nUG9saWN5KHR5cGUsIHBvbGlj
eSkpIHsKKyAgICAgICAgICAgICAgICBOU0xvZyhAIjxXSz46IE5vdCBhbGxvd2VkIHRvIHJlYWQg
JUAiLCB0eXBlKTsKICAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgIH0KIAog
ICAgICAgICAgICAgYXV0byBpdGVtUmVzdWx0ID0gcmVhZFBhc3RlYm9hcmRXZWJDb250ZW50RGF0
YUZvclR5cGUocmVhZGVyLCBzdHJhdGVneSwgdHlwZSwgKmluZm8sIGkpOwotICAgICAgICAgICAg
aWYgKGl0ZW1SZXN1bHQgPT0gUmVhZGVyUmVzdWx0OjpQYXN0ZWJvYXJkV2FzQ2hhbmdlZEV4dGVy
bmFsbHkpCisgICAgICAgICAgICBpZiAoaXRlbVJlc3VsdCA9PSBSZWFkZXJSZXN1bHQ6OlBhc3Rl
Ym9hcmRXYXNDaGFuZ2VkRXh0ZXJuYWxseSkgeworICAgICAgICAgICAgICAgIE5TTG9nKEAiPFdL
PjogKioqIENIQU5HRUNPVU5UIENIQU5HRUQgRVhURVJOQUxMWSAqKioiKTsKICAgICAgICAgICAg
ICAgICByZXR1cm47CisgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIGlmIChpdGVtUmVzdWx0
ID09IFJlYWRlclJlc3VsdDo6UmVhZFR5cGUpCisgICAgICAgICAgICBpZiAoaXRlbVJlc3VsdCA9
PSBSZWFkZXJSZXN1bHQ6OlJlYWRUeXBlKSB7CisgICAgICAgICAgICAgICAgTlNMb2coQCI8V0s+
OiBTdWNjZXNzZnVsbHkgcmVhZCB0eXBlOiAlQCIsIHR5cGUpOwogICAgICAgICAgICAgICAgIGJy
ZWFrOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBOU0xvZyhAIjxXSz46IFNraXBwZWQg
dHlwZTogJUAiLCB0eXBlKTsKICAgICAgICAgfQogICAgIH0KIH0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAwMGZjOWYzOGYz
YTg0YzQ0OGJkOGEyNDBlNWYwNzIwNjQ4NjI3NTdlLi5kYjc5MDc5MjFiNGY0NDZlMDZjNDQ1MWFi
M2NhNjJmNTU0N2I2Y2M5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTktMTAtMjEgIFdlbnNv
biBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS5odG1sIGlzIGEgZmxha3kgZmFpbHVyZQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAzMTk5CisgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS81MzU1MTczNj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBKdXN0IGFuIGV4cGVyaW1lbnQ7IG9idmlvdXNseSBub3QgaW50
ZW5kZWQgZm9yIHJldmlldy4KKwogMjAxOS0xMC0yMSAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hz
aWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByZS1lbmFibGUgYSBjb3VwbGUg
b2YgcGFzc2luZyBsYXlvdXQgdGVzdHMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTEtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmFmODlkY2Y4ODg0N2FhYjRiODkyYTAwN2QyZGUzMmMwOTY5ODFlYjQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNh
bml0aXplLTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTcgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVk
dWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5
bGUuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxi
PjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGkgc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SGVsbG88
L2k+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxiPkhlbGxvPC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0
OiBub3JtYWw7Ij48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+
PC9zcGFuPjwvaT48L2I+JworRkFJTCBjb25maXJtZWRNYXJrdXAgc2hvdWxkIGJlIDxpIHN0eWxl
PSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4gV2FzIDxpIHN0eWxlPSJtYXJnaW46
IDEwcHg7Ij48Yj48aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDog
bm9ybWFsOyI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48
L2k+PC9iPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5k
LXNhbml0aXplLTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1h
bmQtc2FuaXRpemUtMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2M2NkZGVhNjYzMjgwOTQ3ZDBkMWJmNWI2
MWViODhiNTg1ZmNjODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTEuaHRtbApAQCAtMCwwICsxLDU2IEBACis8IURP
Q1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0
aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1
Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHls
ZS4gPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdFBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCkg
eworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAp
OworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFz
dGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK3Rlc3RQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIs
ICI8Yj48aT5IZWxsbzwvaT48L2I+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0
ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+
PGI+PGk+SGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbzwv
aT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjwv
ZGl2PjwvZGl2PiIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48ZGl2Pjxp
PkhlbGxvPC9pPjwvZGl2PjwvYj48L2Rpdj4iLCAiPGkgc3R5bGU9XCJmb250LXdlaWdodDogYm9s
ZDtcIj5IZWxsbzwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0
ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4g
c3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48
L2k+PC9iPjwvZGl2PiIsIAorICAgICAgICAgICI8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxk
aXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxv
MTwvaT48L2I+PGI+PGk+IGhlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxi
PjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+
PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7Cit0ZXN0UGFz
dGUoImRpdiIsICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj48Yj48aSBzdHlsZT1cIm1hcmdp
bjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIsCisgICAgICAgICAgIjxpIHN0eWxlPVwibWFy
Z2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvIDwh
LS0gY29tbWVudCAtLT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxp
PkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9s
ZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFu
IHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFs
aWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTEwLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUt
MTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmODlkY2Y4ODg0N2FhYjRiODkyYTAwN2QyZGUz
MmMwOTY5ODFlYjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTEwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFz
dGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91
dCBhZmZlY3RpbmcgdGhlIHN0eWxlLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxpIHN0eWxlPSJmb250LXdl
aWdodDogYm9sZDsiPkhlbGxvPC9pPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0
eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48Yj5IZWxsbzwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFu
IHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4m
bmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK0ZBSUwgY29uZmlybWVkTWFya3Vw
IHNob3VsZCBiZSA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uIFdh
cyA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+PGI+PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhl
bGxvPC9pPjwvYj48L2k+LgorUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvJm5i
c3A7d29ybGQ8L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBz
dHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0
ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0xMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0xMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2M2Nk
ZGVhNjYzMjgwOTQ3ZDBkMWJmNWI2MWViODhiNTg1ZmNjODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTEwLmh0bWwK
QEAgLTAsMCArMSw1NiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBw
YXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRo
b3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuIDwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisg
ICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBm
YWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3Vw
ID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIici
ICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCit0ZXN0UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIsICI8Yj48aT5IZWxs
bzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwi
Zm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48
L2Rpdj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48
ZGl2PjxkaXY+SGVsbG88L2Rpdj48L2Rpdj48L2Rpdj4iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxsbzwvaT48L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0
eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9k
aXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88
L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwi
Zm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAKKyAgICAgICAgICAiPGRpdj48
Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6
IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiBoZWxsbzI8L2k+PC9iPjwvc3Bh
bj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3Jt
YWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bh
bj48L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7
XCI+PGI+PGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iLAorICAg
ICAgICAgICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIpOwor
dGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBu
b3JtYWxcIj48Yj48aT5IZWxsbyA8IS0tIGNvbW1lbnQgLS0+d29ybGQ8L2k+PC9iPjwvc3Bhbj48
L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4iKTsKK3Rlc3RQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFs
XCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9i
PjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+cGxh
aW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFu
ZC1zYW5pdGl6ZS0xMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtYW5kLXNhbml0aXplLTExLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZjg5ZGNm
ODg4NDdhYWI0Yjg5MmEwMDdkMmRlMzJjMDk2OTgxZWI0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0xMS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxNyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBv
cGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0
eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4KKworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhl
bGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9i
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8aSBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IZWxsbzwvaT4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGI+SGVsbG88
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPjxiPjxp
PmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4n
CitGQUlMIGNvbmZpcm1lZE1hcmt1cCBzaG91bGQgYmUgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsi
PmhlbGxvPC9pPjwvYj48L2k+LiBXYXMgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPjxiPjxpIHN0
eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4KK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij5wbGFpbiB0
ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMTEuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMTEu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4zNjNjZGRlYTY2MzI4MDk0N2QwZDFiZjViNjFlYjg4YjU4NWZjYzg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LWFuZC1zYW5pdGl6ZS0xMS5odG1sCkBAIC0wLDAgKzEsNTYgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3Rl
IG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9z
aXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLiA8L3A+Cis8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRT
ZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOwor
ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5v
ZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0
ZXN0UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdFBhc3Rl
KCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxiPjxpPkhlbGxv
PC9pPjwvYj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbzwv
aT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rl
c3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj48ZGl2PkhlbGxvPC9kaXY+PC9kaXY+PC9kaXY+Iiwg
IkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxkaXY+PGk+SGVsbG88L2k+PC9k
aXY+PC9iPjwvZGl2PiIsICI8aSBzdHlsZT1cImZvbnQtd2VpZ2h0OiBib2xkO1wiPkhlbGxvPC9p
PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQt
d2VpZ2h0OiBub3JtYWxcIj48Yj48aT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+
IiwgCisgICAgICAgICAgIjxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3Bh
biBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48
aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5
bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5i
c3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxp
IHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPjxiPjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhl
bGxvPC9pPjwvYj48L2k+IiwKKyAgICAgICAgICAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+
aGVsbG88L2k+PC9iPjwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4g
c3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG8gPCEtLSBjb21tZW50IC0t
PndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG8mbmJzcDt3
b3JsZDwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxl
PVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0
PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250
LXdlaWdodDogbm9ybWFsO1wiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwv
Yj48L3NwYW4+PC9pPjwvYj4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0xMi1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYWY4OWRjZjg4ODQ3YWFiNGI4OTJhMDA3ZDJkZTMyYzA5Njk4MWViNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1h
bmQtc2FuaXRpemUtMTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTcgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQg
dG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0
aGUgc3R5bGUuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGkgc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+
SGVsbG88L2k+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxiPkhlbGxvPC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQt
d2VpZ2h0OiBub3JtYWw7Ij48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwv
aT48L2I+PC9zcGFuPjwvaT48L2I+JworRkFJTCBjb25maXJtZWRNYXJrdXAgc2hvdWxkIGJlIDxp
IHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4gV2FzIDxpIHN0eWxlPSJt
YXJnaW46IDEwcHg7Ij48Yj48aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwv
aT4uCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48
L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdl
aWdodDogbm9ybWFsOyI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwv
c3Bhbj48L2k+PC9iPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtYW5kLXNhbml0aXplLTEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtYW5kLXNhbml0aXplLTEyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzYzY2RkZWE2NjMyODA5NDdk
MGQxYmY1YjYxZWI4OGI1ODVmY2M4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMTIuaHRtbApAQCAtMCwwICsxLDU2
IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVu
dCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5n
IHRoZSBzdHlsZS4gPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdFBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBl
eHBlY3RlZCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXApOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3Vz
KCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVy
SFRNTDsKKworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK3Rlc3RQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0UGFz
dGUoImRpdiIsICI8Yj48aT5IZWxsbzwvaT48L2I+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsK
K3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDog
bm9ybWFsXCI+PGI+PGk+SGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48
aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48ZGl2PjxpPkhlbGxvPC9pPjwvZGl2PjwvYj48L2Rpdj4iLCAiPGkgc3R5bGU9XCJmb250LXdl
aWdodDogYm9sZDtcIj5IZWxsbzwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj4iKTsK
K3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDog
bm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+d29ybGQ8L2k+PC9i
Pjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsIAorICAgICAgICAgICI8ZGl2PjxiPjxpPmhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxi
PjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+IGhlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9k
aXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5o
ZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7
Cit0ZXN0UGFzdGUoImRpdiIsICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj48Yj48aSBzdHls
ZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIsCisgICAgICAgICAgIjxpIHN0
eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+Iik7Cit0ZXN0UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxp
PkhlbGxvIDwhLS0gY29tbWVudCAtLT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+
IiwgIjxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj5wbGFpbiB0ZXh0
PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxi
PjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5wbGFpbiB0ZXh0PGI+PGk+
Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTEz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQt
c2FuaXRpemUtMTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmODlkY2Y4ODg0N2FhYjRiODky
YTAwN2QyZGUzMmMwOTY5ODFlYjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTEzLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDE3IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmlt
cyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJr
dXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxpIHN0eWxl
PSJmb250LXdlaWdodDogYm9sZDsiPkhlbGxvPC9pPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48Yj5IZWxsbzwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxi
PjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+PGI+PGk+aGVsbG8xPC9pPjwv
Yj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK0ZBSUwgY29uZmly
bWVkTWFya3VwIHNob3VsZCBiZSA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9i
PjwvaT4uIFdhcyA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+PGI+PGkgc3R5bGU9Im1hcmdpbjog
MTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LgorUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxp
PkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48
aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPnBsYWluIHRleHQ8Yj48aT5ib2xk
IGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0xMy5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0xMy5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjM2M2NkZGVhNjYzMjgwOTQ3ZDBkMWJmNWI2MWViODhiNTg1ZmNjODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXpl
LTEzLmh0bWwKQEAgLTAsMCArMSw1NiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRy
aW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1h
cmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuIDwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICByb290LmFwcGVuZENoaWxkKG5v
ZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxl
Y3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmly
bWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFy
a3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCit0ZXN0UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIsICI8
Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFu
IHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvPC9pPjwvYj48L3NwYW4+
PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYi
LCAiPGRpdj48ZGl2PjxkaXY+SGVsbG88L2Rpdj48L2Rpdj48L2Rpdj4iLCAiSGVsbG8iKTsKK3Rl
c3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxsbzwvaT48L2Rpdj48L2I+PC9kaXY+
IiwgIjxpIHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88L2k+Iik7Cit0ZXN0UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVs
bG88L2I+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGI+SGVsbG88L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFu
IHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L3NwYW4+
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1h
bFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAKKyAgICAgICAg
ICAiPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9u
dC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiBoZWxsbzI8L2k+
PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2Vp
Z2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+
PC9iPjwvc3Bhbj48L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGkgc3R5bGU9XCJtYXJn
aW46IDEwcHg7XCI+PGI+PGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwv
aT4iLAorICAgICAgICAgICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+
PC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQt
d2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbyA8IS0tIGNvbW1lbnQgLS0+d29ybGQ8L2k+PC9i
Pjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4i
KTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdo
dDogbm9ybWFsXCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bh
bj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3Jt
YWw7XCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+
PC9iPiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLWFuZC1zYW5pdGl6ZS0xNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTE0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5hZjg5ZGNmODg4NDdhYWI0Yjg5MmEwMDdkMmRlMzJjMDk2OTgxZWI0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0x
NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRo
ZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhl
IHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4KKwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVs
bG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8aSBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IZWxsbzwvaT4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGI+SGVsbG88L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1h
bDsiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+
PC9pPjwvYj4nCitGQUlMIGNvbmZpcm1lZE1hcmt1cCBzaG91bGQgYmUgPGkgc3R5bGU9Im1hcmdp
bjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LiBXYXMgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsi
PjxiPjxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4KK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7
Ij5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRp
emUtMTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2Fu
aXRpemUtMTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNjNjZGRlYTY2MzI4MDk0N2QwZDFiZjViNjFlYjg4
YjU4NWZjYzg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0xNC5odG1sCkBAIC0wLDAgKzEsNTYgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
dGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0
aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLiA8
L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1
bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
cm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVl
OworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitm
dW5jdGlvbiB0ZXN0UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdFBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxi
PjxpPkhlbGxvPC9pPjwvYj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48
aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvPC9pPjwv
Yj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj48ZGl2PkhlbGxvPC9kaXY+PC9kaXY+
PC9kaXY+IiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxkaXY+PGk+SGVs
bG88L2k+PC9kaXY+PC9iPjwvZGl2PiIsICI8aSBzdHlsZT1cImZvbnQtd2VpZ2h0OiBib2xkO1wi
PkhlbGxvPC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT48c3BhbiBzdHls
ZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48
L2I+PC9kaXY+IiwgCisgICAgICAgICAgIjxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9p
PjwvYj48Yj48aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+
PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+
PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgi
ZGl2IiwgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPjxiPjxpIHN0eWxlPVwibWFyZ2luOiAx
MHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+IiwKKyAgICAgICAgICAiPGkgc3R5bGU9XCJtYXJnaW46
IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+
PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG8gPCEtLSBj
b21tZW50IC0tPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVs
bG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxz
cGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0
YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5
bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0
ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5v
bmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMTUtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0xNS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWY4OWRjZjg4ODQ3YWFiNGI4OTJhMDA3ZDJkZTMyYzA5
Njk4MWViNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS1hbmQtc2FuaXRpemUtMTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTcgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQg
ZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFm
ZmVjdGluZyB0aGUgc3R5bGUuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGkgc3R5bGU9ImZvbnQtd2VpZ2h0
OiBib2xkOyI+SGVsbG88L2k+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxiPkhlbGxvPC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5
bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNw
O2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworRkFJTCBjb25maXJtZWRNYXJrdXAgc2hv
dWxkIGJlIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4gV2FzIDxp
IHN0eWxlPSJtYXJnaW46IDEwcHg7Ij48Yj48aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88
L2k+PC9iPjwvaT4uCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG8mbmJzcDt3
b3JsZDwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxl
PSJmb250LXdlaWdodDogbm9ybWFsOyI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8
L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTE1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzYzY2RkZWE2
NjMyODA5NDdkMGQxYmY1YjYxZWI4OGI1ODVmY2M4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMTUuaHRtbApAQCAt
MCwwICsxLDU2IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9F
TiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+
VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3Rl
ZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQg
YWZmZWN0aW5nIHRoZSBzdHlsZS4gPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdFBhc3RlKHRhZ05hbWUsIG9yaWdpbmFs
TWFya3VwLCBleHBlY3RlZCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXApOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBu
b2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBu
b2RlLmlubmVySFRNTDsKKworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK3Rlc3RQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0UGFzdGUoImRpdiIsICI8Yj48aT5IZWxsbzwvaT48L2I+IiwgIjxiPjxpPkhlbGxvPC9p
PjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250
LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2
PiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48ZGl2PjxpPkhlbGxvPC9pPjwvZGl2PjwvYj48L2Rpdj4iLCAiPGkgc3R5bGU9
XCJmb250LXdlaWdodDogYm9sZDtcIj5IZWxsbzwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48
L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250
LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsIAorICAgICAgICAgICI8ZGl2PjxiPjxp
PmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iKTsKK3Rl
c3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9y
bWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+IGhlbGxvMjwvaT48L2I+PC9zcGFuPjwv
aT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtc
Ij48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwv
aT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj48
Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIsCisgICAgICAg
ICAgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+Iik7Cit0ZXN0
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1h
bFwiPjxiPjxpPkhlbGxvIDwhLS0gY29tbWVudCAtLT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48
L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPiIpOwordGVzdFBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj5w
bGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9k
aXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5wbGFpbiB0
ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNh
bml0aXplLTE2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS1hbmQtc2FuaXRpemUtMTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmODlkY2Y4ODg0
N2FhYjRiODkyYTAwN2QyZGUzMmMwOTY5ODFlYjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTE2LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDE3IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJh
dGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9m
IHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88
L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxpIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhlbGxvPC9pPicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48Yj5IZWxsbzwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+PGI+PGk+aGVs
bG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK0ZB
SUwgY29uZmlybWVkTWFya3VwIHNob3VsZCBiZSA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVs
bG88L2k+PC9iPjwvaT4uIFdhcyA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+PGI+PGkgc3R5bGU9
Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LgorUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPnBsYWluIHRleHQ8
Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0xNi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0xNi5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjM2M2NkZGVhNjYzMjgwOTQ3ZDBkMWJmNWI2MWViODhiNTg1ZmNjODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5k
LXNhbml0aXplLTE2Lmh0bWwKQEAgLTAsMCArMSw1NiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3Bl
cmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkg
b2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuIDwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIgbm9kZSA9
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICByb290LmFwcGVu
ZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHki
LCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisg
ICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBzaG91bGRCZSgiY29u
ZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCit0ZXN0UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVsbG88L2k+
PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvPC9pPjwv
Yj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBh
c3RlKCJkaXYiLCAiPGRpdj48ZGl2PjxkaXY+SGVsbG88L2Rpdj48L2Rpdj48L2Rpdj4iLCAiSGVs
bG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxsbzwvaT48L2Rpdj48
L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88L2k+Iik7
Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGI+SGVsbG88L2I+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L3NwYW4+PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWln
aHQ6IG5vcm1hbFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAK
KyAgICAgICAgICAiPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0
eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiBo
ZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1c
ImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDto
ZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGkgc3R5
bGU9XCJtYXJnaW46IDEwcHg7XCI+PGI+PGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88
L2k+PC9iPjwvaT4iLAorICAgICAgICAgICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxs
bzwvaT48L2I+PC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHls
ZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbyA8IS0tIGNvbW1lbnQgLS0+d29y
bGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbyZuYnNwO3dvcmxk
PC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJm
b250LXdlaWdodDogbm9ybWFsXCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+
PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2Vp
Z2h0OiBub3JtYWw7XCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwv
c3Bhbj48L2k+PC9iPiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0xNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTE3LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5hZjg5ZGNmODg4NDdhYWI0Yjg5MmEwMDdkMmRlMzJjMDk2OTgxZWI0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1z
YW5pdGl6ZS0xNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNyBAQAorVGhpcyB0ZXN0IGNoZWNr
cyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byBy
ZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBz
dHlsZS4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8aSBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IZWxs
bzwvaT4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGI+SGVsbG88L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWln
aHQ6IG5vcm1hbDsiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwv
Yj48L3NwYW4+PC9pPjwvYj4nCitGQUlMIGNvbmZpcm1lZE1hcmt1cCBzaG91bGQgYmUgPGkgc3R5
bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LiBXYXMgPGkgc3R5bGU9Im1hcmdp
bjogMTBweDsiPjxiPjxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4K
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0
OiBub3JtYWw7Ij5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFu
PjwvaT48L2I+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1h
bmQtc2FuaXRpemUtMTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS1hbmQtc2FuaXRpemUtMTcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNjNjZGRlYTY2MzI4MDk0N2QwZDFi
ZjViNjFlYjg4YjU4NWZjYzg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0xNy5odG1sCkBAIC0wLDAgKzEsNTYgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRv
IHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhl
IHN0eWxlLiA8L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBz
ZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitm
dW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFi
bGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2Rl
OworfQorCitmdW5jdGlvbiB0ZXN0UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdFBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgi
ZGl2IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVz
dFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3Jt
YWxcIj48Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhl
bGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj48ZGl2PkhlbGxvPC9k
aXY+PC9kaXY+PC9kaXY+IiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxk
aXY+PGk+SGVsbG88L2k+PC9kaXY+PC9iPjwvZGl2PiIsICI8aSBzdHlsZT1cImZvbnQtd2VpZ2h0
OiBib2xkO1wiPkhlbGxvPC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PiIpOwordGVz
dFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3Jt
YWxcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT48
c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT53b3JsZDwvaT48L2I+PC9z
cGFuPjwvaT48L2I+PC9kaXY+IiwgCisgICAgICAgICAgIjxkaXY+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+
aGVsbG8xPC9pPjwvYj48Yj48aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4i
LCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxv
MTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKK3Rl
c3RQYXN0ZSgiZGl2IiwgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPjxiPjxpIHN0eWxlPVwi
bWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+IiwKKyAgICAgICAgICAiPGkgc3R5bGU9
XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVs
bG8gPCEtLSBjb21tZW50IC0tPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAi
PGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPnBsYWluIHRleHQ8Yj48
aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+
PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPnBsYWluIHRleHQ8Yj48aT5ib2xk
IGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKKworcm9vdC5zdHlsZS5kaXNw
bGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMTgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5p
dGl6ZS0xOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWY4OWRjZjg4ODQ3YWFiNGI4OTJhMDA3
ZDJkZTMyYzA5Njk4MWViNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTcgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRo
ZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3
aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGkgc3R5bGU9ImZv
bnQtd2VpZ2h0OiBib2xkOyI+SGVsbG88L2k+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxiPkhlbGxvPC9iPjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+
PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij48Yj48aT5oZWxsbzE8L2k+PC9iPjxi
PjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworRkFJTCBjb25maXJtZWRN
YXJrdXAgc2hvdWxkIGJlIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9p
Pi4gV2FzIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij48Yj48aSBzdHlsZT0ibWFyZ2luOiAxMHB4
OyI+aGVsbG88L2k+PC9iPjwvaT4uCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVs
bG8mbmJzcDt3b3JsZDwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxz
cGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRh
bGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTE4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MzYzY2RkZWE2NjMyODA5NDdkMGQxYmY1YjYxZWI4OGI1ODVmY2M4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMTgu
aHRtbApAQCAtMCwwICsxLDU2IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RU
RCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNj
cmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMg
dGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3Vw
IHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4gPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdFBhc3RlKHRhZ05hbWUs
IG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7
CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFs
bCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRN
YXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK3Rlc3RQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8Yj48aT5IZWxsbzwvaT48L2I+IiwgIjxiPjxp
PkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5
bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+
PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIpOwordGVzdFBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48ZGl2PjxpPkhlbGxvPC9pPjwvZGl2PjwvYj48L2Rpdj4iLCAi
PGkgc3R5bGU9XCJmb250LXdlaWdodDogYm9sZDtcIj5IZWxsbzwvaT4iKTsKK3Rlc3RQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwv
Yj48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5I
ZWxsbzwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5
bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsIAorICAgICAgICAgICI8
ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdl
aWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+IGhlbGxvMjwvaT48L2I+
PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6
IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+
PC9zcGFuPjwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8aSBzdHlsZT1cIm1hcmdpbjog
MTBweDtcIj48Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIs
CisgICAgICAgICAgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+
Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWln
aHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvIDwhLS0gY29tbWVudCAtLT53b3JsZDwvaT48L2I+PC9z
cGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPiIpOwor
dGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBu
b3JtYWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwv
aT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtc
Ij5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtYW5kLXNhbml0aXplLTE5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFm
ODlkY2Y4ODg0N2FhYjRiODkyYTAwN2QyZGUzMmMwOTY5ODFlYjQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTE5LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBh
c3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVy
Ym9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+
PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwv
aT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxpIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhlbGxvPC9pPicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48Yj5I
ZWxsbzwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5oZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+
PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+
PC9iPicKK0ZBSUwgY29uZmlybWVkTWFya3VwIHNob3VsZCBiZSA8aSBzdHlsZT0ibWFyZ2luOiAx
MHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uIFdhcyA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+PGI+
PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LgorUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPnBs
YWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0x
OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6
ZS0xOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2M2NkZGVhNjYzMjgwOTQ3ZDBkMWJmNWI2MWViODhiNTg1
ZmNjODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtYW5kLXNhbml0aXplLTE5Lmh0bWwKQEAgLTAsMCArMSw1NiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUg
cGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2
ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuIDwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsKKyAgICB2
YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBy
b290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFs
c2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBzaG91
bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCit0ZXN0
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGI+PGk+
SGVsbG88L2k+PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhl
bGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIp
OwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PjxkaXY+SGVsbG88L2Rpdj48L2Rpdj48L2Rp
dj4iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxsbzwv
aT48L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+SGVs
bG88L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwi
Zm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48
L2Rpdj4iLCAKKyAgICAgICAgICAiPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9i
PjxiPjxpPiBoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3Bh
biBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48
aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYi
LCAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+PGI+PGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7
XCI+aGVsbG88L2k+PC9iPjwvaT4iLAorICAgICAgICAgICI8aSBzdHlsZT1cIm1hcmdpbjogMTBw
eDtcIj5oZWxsbzwvaT48L2I+PC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48
c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbyA8IS0tIGNvbW1l
bnQgLS0+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbyZu
YnNwO3dvcmxkPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4g
c3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGlj
IHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1c
ImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8
L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0yLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMi1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYWY4OWRjZjg4ODQ3YWFiNGI4OTJhMDA3ZDJkZTMyYzA5Njk4MWVi
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS1hbmQtc2FuaXRpemUtMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNyBAQAorVGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVu
dCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5n
IHRoZSBzdHlsZS4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8aSBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7
Ij5IZWxsbzwvaT4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGI+SGVsbG88L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9u
dC13ZWlnaHQ6IG5vcm1hbDsiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8y
PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitGQUlMIGNvbmZpcm1lZE1hcmt1cCBzaG91bGQgYmUg
PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LiBXYXMgPGkgc3R5bGU9
Im1hcmdpbjogMTBweDsiPjxiPjxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+
PC9pPi4KK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9p
PjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQt
d2VpZ2h0OiBub3JtYWw7Ij5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+
PC9zcGFuPjwvaT48L2I+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS1hbmQtc2FuaXRpemUtMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLWFuZC1zYW5pdGl6ZS0yLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzYzY2RkZWE2NjMyODA5NDdk
MGQxYmY1YjYxZWI4OGI1ODVmY2M4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMi5odG1sCkBAIC0wLDAgKzEsNTYg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50
IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3Rpbmcg
dGhlIHN0eWxlLiA8L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3Zh
ciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKwor
CitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9k
ZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRp
dGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBu
b2RlOworfQorCitmdW5jdGlvbiB0ZXN0UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdFBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0
ZSgiZGl2IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwor
dGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBu
b3JtYWxcIj48Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxp
PkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj48ZGl2PkhlbGxv
PC9kaXY+PC9kaXY+PC9kaXY+IiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxkaXY+PGk+SGVsbG88L2k+PC9kaXY+PC9iPjwvZGl2PiIsICI8aSBzdHlsZT1cImZvbnQtd2Vp
Z2h0OiBib2xkO1wiPkhlbGxvPC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PiIpOwor
dGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBu
b3JtYWxcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgCisgICAgICAgICAgIjxkaXY+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+
PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rp
dj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhl
bGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsK
K3Rlc3RQYXN0ZSgiZGl2IiwgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPjxiPjxpIHN0eWxl
PVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+IiwKKyAgICAgICAgICAiPGkgc3R5
bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2
IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+
SGVsbG8gPCEtLSBjb21tZW50IC0tPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4i
LCAiPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPnBsYWluIHRleHQ8
Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+
PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPnBsYWluIHRleHQ8Yj48aT5i
b2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKKworcm9vdC5zdHlsZS5k
aXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMjAt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1z
YW5pdGl6ZS0yMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWY4OWRjZjg4ODQ3YWFiNGI4OTJh
MDA3ZDJkZTMyYzA5Njk4MWViNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMjAtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTcgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1z
IHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1
cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGkgc3R5bGU9
ImZvbnQtd2VpZ2h0OiBib2xkOyI+SGVsbG88L2k+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxiPkhlbGxvPC9iPjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+
PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij48Yj48aT5oZWxsbzE8L2k+PC9i
PjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworRkFJTCBjb25maXJt
ZWRNYXJrdXAgc2hvdWxkIGJlIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+
PC9pPi4gV2FzIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij48Yj48aSBzdHlsZT0ibWFyZ2luOiAx
MHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+
SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxp
PjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+cGxhaW4gdGV4dDxiPjxpPmJvbGQg
aXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTIwLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTIwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMzYzY2RkZWE2NjMyODA5NDdkMGQxYmY1YjYxZWI4OGI1ODVmY2M4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUt
MjAuaHRtbApAQCAtMCwwICsxLDU2IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYv
L0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJk
ZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJp
bXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFy
a3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4gPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdFBhc3RlKHRhZ05h
bWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9k
ZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVj
dEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJt
ZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK3Rlc3RQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8Yj48aT5IZWxsbzwvaT48L2I+IiwgIjxi
PjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4g
c3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG88L2k+PC9iPjwvc3Bhbj48
L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIpOwordGVz
dFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48ZGl2PjxpPkhlbGxvPC9pPjwvZGl2PjwvYj48L2Rpdj4i
LCAiPGkgc3R5bGU9XCJmb250LXdlaWdodDogYm9sZDtcIj5IZWxsbzwvaT4iKTsKK3Rlc3RQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxs
bzwvYj48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
Yj5IZWxsbzwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4g
c3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFs
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsIAorICAgICAgICAg
ICI8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250
LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+IGhlbGxvMjwvaT48
L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWln
aHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48
L2I+PC9zcGFuPjwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8aSBzdHlsZT1cIm1hcmdp
bjogMTBweDtcIj48Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9p
PiIsCisgICAgICAgICAgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48
L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13
ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvIDwhLS0gY29tbWVudCAtLT53b3JsZDwvaT48L2I+
PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPiIp
OwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0
OiBub3JtYWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFu
PjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1h
bDtcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48
L2I+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtYW5kLXNhbml0aXplLTIxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmFmODlkY2Y4ODg0N2FhYjRiODkyYTAwN2QyZGUzMmMwOTY5ODFlYjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTIx
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhl
IHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUg
dmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxs
bzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxpIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhlbGxvPC9pPicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48
Yj5IZWxsbzwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFs
OyI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48
L2k+PC9iPicKK0ZBSUwgY29uZmlybWVkTWFya3VwIHNob3VsZCBiZSA8aSBzdHlsZT0ibWFyZ2lu
OiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uIFdhcyA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+
PGI+PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LgorUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsi
PnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6
ZS0yMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5p
dGl6ZS0yMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2M2NkZGVhNjYzMjgwOTQ3ZDBkMWJmNWI2MWViODhi
NTg1ZmNjODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtYW5kLXNhbml0aXplLTIxLmh0bWwKQEAgLTAsMCArMSw1NiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0
aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRo
ZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuIDwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsKKyAg
ICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAg
ICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwg
ZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBz
aG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCit0
ZXN0UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGI+
PGk+SGVsbG88L2k+PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxp
PkhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG88L2k+PC9i
PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PjxkaXY+SGVsbG88L2Rpdj48L2Rpdj48
L2Rpdj4iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxs
bzwvaT48L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+
SGVsbG88L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPjxzcGFuIHN0eWxl
PVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwv
Yj48L2Rpdj4iLCAKKyAgICAgICAgICAiPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+
PC9iPjxiPjxpPiBoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48
c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48
Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOwordGVzdFBhc3RlKCJk
aXYiLCAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+PGI+PGkgc3R5bGU9XCJtYXJnaW46IDEw
cHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iLAorICAgICAgICAgICI8aSBzdHlsZT1cIm1hcmdpbjog
MTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbyA8IS0tIGNv
bW1lbnQgLS0+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxs
byZuYnNwO3dvcmxkPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNw
YW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRh
bGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHls
ZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRl
eHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0yMi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTIyLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZjg5ZGNmODg4NDdhYWI0Yjg5MmEwMDdkMmRlMzJjMDk2
OTgxZWI0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLWFuZC1zYW5pdGl6ZS0yMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNyBAQAorVGhp
cyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBm
cmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZm
ZWN0aW5nIHRoZSBzdHlsZS4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8aSBzdHlsZT0iZm9udC13ZWlnaHQ6
IGJvbGQ7Ij5IZWxsbzwvaT4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGI+SGVsbG88L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHls
ZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7
aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitGQUlMIGNvbmZpcm1lZE1hcmt1cCBzaG91
bGQgYmUgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LiBXYXMgPGkg
c3R5bGU9Im1hcmdpbjogMTBweDsiPjxiPjxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwv
aT48L2I+PC9pPi4KK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbyZuYnNwO3dv
cmxkPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9
ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwv
aT48L2I+PC9zcGFuPjwvaT48L2I+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNjNjZGRlYTY2
MzI4MDk0N2QwZDFiZjViNjFlYjg4YjU4NWZjYzg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0yMi5odG1sCkBAIC0w
LDAgKzEsNTYgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVk
IGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBh
ZmZlY3RpbmcgdGhlIHN0eWxlLiA8L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3Jp
cHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChy
b290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAg
ICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5j
b250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAg
IHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdFBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iKTsK
K3Rlc3RQYXN0ZSgiZGl2IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iLCAiPGI+PGk+SGVsbG88L2k+
PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQt
d2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+
IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj48
ZGl2PkhlbGxvPC9kaXY+PC9kaXY+PC9kaXY+IiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxkaXY+PGk+SGVsbG88L2k+PC9kaXY+PC9iPjwvZGl2PiIsICI8aSBzdHlsZT1c
ImZvbnQtd2VpZ2h0OiBib2xkO1wiPkhlbGxvPC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRp
dj48ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwv
ZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQt
d2VpZ2h0OiBub3JtYWxcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgCisgICAgICAgICAgIjxkaXY+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIpOwordGVz
dFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3Jt
YWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+PC9p
PjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wi
PjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9p
PjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPjxi
PjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+IiwKKyAgICAgICAg
ICAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iKTsKK3Rlc3RQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFs
XCI+PGI+PGk+SGVsbG8gPCEtLSBjb21tZW50IC0tPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwv
Yj48L2Rpdj4iLCAiPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7Cit0ZXN0UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPnBs
YWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rp
dj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPnBsYWluIHRl
eHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKKworcm9v
dC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2Fu
aXRpemUtMjMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLWFuZC1zYW5pdGl6ZS0yMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWY4OWRjZjg4ODQ3
YWFiNGI4OTJhMDA3ZDJkZTMyYzA5Njk4MWViNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMjMtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTcgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0
aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2Yg
dGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwv
aT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGkgc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SGVsbG88L2k+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxiPkhlbGxvPC9iPjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij48Yj48aT5oZWxs
bzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworRkFJ
TCBjb25maXJtZWRNYXJrdXAgc2hvdWxkIGJlIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxs
bzwvaT48L2I+PC9pPi4gV2FzIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij48Yj48aSBzdHlsZT0i
bWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+cGxhaW4gdGV4dDxi
PjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTIzLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTIzLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMzYzY2RkZWE2NjMyODA5NDdkMGQxYmY1YjYxZWI4OGI1ODVmY2M4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQt
c2FuaXRpemUtMjMuaHRtbApAQCAtMCwwICsxLDU2IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMg
Ii0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVy
YXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBv
ZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4gPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdFBh
c3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCkgeworICAgIHZhciBub2RlID0g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIHJvb3QuYXBwZW5k
Q2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIs
IGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAg
ICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK3Rlc3RQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8Yj48aT5IZWxsbzwvaT48
L2I+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+
PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG88L2k+PC9i
Pjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxs
byIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48ZGl2PjxpPkhlbGxvPC9pPjwvZGl2Pjwv
Yj48L2Rpdj4iLCAiPGkgc3R5bGU9XCJmb250LXdlaWdodDogYm9sZDtcIj5IZWxsbzwvaT4iKTsK
K3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48Yj5IZWxsbzwvYj48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+
PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+PC9i
Pjwvc3Bhbj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdo
dDogbm9ybWFsXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsIAor
ICAgICAgICAgICI8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5
bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+IGhl
bGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwi
Zm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hl
bGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8aSBzdHls
ZT1cIm1hcmdpbjogMTBweDtcIj48Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwv
aT48L2I+PC9pPiIsCisgICAgICAgICAgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxv
PC9pPjwvYj48L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxl
PVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvIDwhLS0gY29tbWVudCAtLT53b3Js
ZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8
L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZv
bnQtd2VpZ2h0OiBub3JtYWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48
L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWln
aHQ6IG5vcm1hbDtcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9z
cGFuPjwvaT48L2I+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTI0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMjQtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmFmODlkY2Y4ODg0N2FhYjRiODkyYTAwN2QyZGUzMmMwOTY5ODFlYjQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNh
bml0aXplLTI0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJl
ZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0
eWxlLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxpIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhlbGxv
PC9pPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBj
ZW50ZXI7Ij48Yj5IZWxsbzwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdo
dDogbm9ybWFsOyI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9i
Pjwvc3Bhbj48L2k+PC9iPicKK0ZBSUwgY29uZmlybWVkTWFya3VwIHNob3VsZCBiZSA8aSBzdHls
ZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uIFdhcyA8aSBzdHlsZT0ibWFyZ2lu
OiAxMHB4OyI+PGI+PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+Lgor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6
IG5vcm1hbDsiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+
PC9pPjwvYj4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFu
ZC1zYW5pdGl6ZS0yNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LWFuZC1zYW5pdGl6ZS0yNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2M2NkZGVhNjYzMjgwOTQ3ZDBkMWJm
NWI2MWViODhiNTg1ZmNjODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTI0Lmh0bWwKQEAgLTAsMCArMSw1NiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8g
cmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUg
c3R5bGUuIDwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFy
a3VwKTsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7
CisKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIp
OworfQorCit0ZXN0UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJk
aXYiLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1h
bFwiPjxiPjxpPkhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVs
bG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PjxkaXY+SGVsbG88L2Rp
dj48L2Rpdj48L2Rpdj4iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGRp
dj48aT5IZWxsbzwvaT48L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9udC13ZWlnaHQ6
IGJvbGQ7XCI+SGVsbG88L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+PC9kaXY+IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+Iik7Cit0ZXN0
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1h
bFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPjxz
cGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L3Nw
YW4+PC9pPjwvYj48L2Rpdj4iLCAKKyAgICAgICAgICAiPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5o
ZWxsbzE8L2k+PC9iPjxiPjxpPiBoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIs
ICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8x
PC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOwordGVz
dFBhc3RlKCJkaXYiLCAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+PGI+PGkgc3R5bGU9XCJt
YXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iLAorICAgICAgICAgICI8aSBzdHlsZT1c
Im1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxs
byA8IS0tIGNvbW1lbnQgLS0+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8
Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+
PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+cGxhaW4gdGV4dDxiPjxp
PmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48
c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQg
aXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0yNS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0
aXplLTI1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZjg5ZGNmODg4NDdhYWI0Yjg5MmEwMDdk
MmRlMzJjMDk2OTgxZWI0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0yNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
NyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhl
IHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdp
dGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hl
bGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8aSBzdHlsZT0iZm9u
dC13ZWlnaHQ6IGJvbGQ7Ij5IZWxsbzwvaT4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGI+SGVsbG88L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48
c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+
PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitGQUlMIGNvbmZpcm1lZE1h
cmt1cCBzaG91bGQgYmUgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+
LiBXYXMgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPjxiPjxpIHN0eWxlPSJtYXJnaW46IDEwcHg7
Ij5oZWxsbzwvaT48L2I+PC9pPi4KK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxs
byZuYnNwO3dvcmxkPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNw
YW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFs
aWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMjUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMjUuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4z
NjNjZGRlYTY2MzI4MDk0N2QwZDFiZjViNjFlYjg4YjU4NWZjYzg3Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0yNS5o
dG1sCkBAIC0wLDAgKzEsNTYgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0
aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAg
d2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLiA8L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciBy
b290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBl
bmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJr
dXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7Cisg
ICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFy
a3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdFBhc3RlKCJkaXYiLCAiSGVsbG8iLCAi
SGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iLCAiPGI+PGk+
SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHls
ZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48
L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj48ZGl2PkhlbGxvPC9kaXY+PC9kaXY+PC9kaXY+IiwgIkhlbGxvIik7Cit0ZXN0UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxkaXY+PGk+SGVsbG88L2k+PC9kaXY+PC9iPjwvZGl2PiIsICI8
aSBzdHlsZT1cImZvbnQtd2VpZ2h0OiBib2xkO1wiPkhlbGxvPC9pPiIpOwordGVzdFBhc3RlKCJk
aXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9i
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhl
bGxvPC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHls
ZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgCisgICAgICAgICAgIjxk
aXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2Vp
Z2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4gaGVsbG8yPC9pPjwvYj48
L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDog
bm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48
L3NwYW4+PC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxpIHN0eWxlPVwibWFyZ2luOiAx
MHB4O1wiPjxiPjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+IiwK
KyAgICAgICAgICAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4i
KTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdo
dDogbm9ybWFsXCI+PGI+PGk+SGVsbG8gPCEtLSBjb21tZW50IC0tPndvcmxkPC9pPjwvYj48L3Nw
YW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7Cit0
ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5v
cm1hbFwiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9p
PjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wi
PnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4i
KTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS1hbmQtc2FuaXRpemUtMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmODlk
Y2Y4ODg0N2FhYjRiODkyYTAwN2QyZGUzMmMwOTY5ODFlYjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTMtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTcgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUg
b3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3Np
dHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5I
ZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwv
Yj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGkgc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SGVsbG88L2k+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxiPkhlbGxv
PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPmhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij48Yj48
aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+
JworRkFJTCBjb25maXJtZWRNYXJrdXAgc2hvdWxkIGJlIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7
Ij5oZWxsbzwvaT48L2I+PC9pPi4gV2FzIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij48Yj48aSBz
dHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+cGxhaW4g
dGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTMuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMy5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjM2M2NkZGVhNjYzMjgwOTQ3ZDBkMWJmNWI2MWViODhiNTg1ZmNjODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
YW5kLXNhbml0aXplLTMuaHRtbApAQCAtMCwwICsxLDU2IEBACis8IURPQ1RZUEUgSFRNTCBQVUJM
SUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBv
cGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0
eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4gPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dFBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCkgeworICAgIHZhciBub2Rl
ID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIHJvb3QuYXBw
ZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29w
eSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisK
KyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK3Rlc3RQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8Yj48aT5IZWxsbzwv
aT48L2I+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+
PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG88L2k+
PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIsICJI
ZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48ZGl2PjxpPkhlbGxvPC9pPjwvZGl2
PjwvYj48L2Rpdj4iLCAiPGkgc3R5bGU9XCJmb250LXdlaWdodDogYm9sZDtcIj5IZWxsbzwvaT4i
KTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48Yj5IZWxsbzwvYj48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+
PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdl
aWdodDogbm9ybWFsXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIs
IAorICAgICAgICAgICI8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4g
c3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+
IGhlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxl
PVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNw
O2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8aSBz
dHlsZT1cIm1hcmdpbjogMTBweDtcIj48Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxs
bzwvaT48L2I+PC9pPiIsCisgICAgICAgICAgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhl
bGxvPC9pPjwvYj48L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0
eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvIDwhLS0gY29tbWVudCAtLT53
b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvJm5ic3A7d29y
bGQ8L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1c
ImZvbnQtd2VpZ2h0OiBub3JtYWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwv
aT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13
ZWlnaHQ6IG5vcm1hbDtcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+
PC9zcGFuPjwvaT48L2I+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS00LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5hZjg5ZGNmODg4NDdhYWI0Yjg5MmEwMDdkMmRlMzJjMDk2OTgxZWI0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1z
YW5pdGl6ZS00LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJl
ZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0
eWxlLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxpIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhlbGxv
PC9pPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBj
ZW50ZXI7Ij48Yj5IZWxsbzwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdo
dDogbm9ybWFsOyI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9i
Pjwvc3Bhbj48L2k+PC9iPicKK0ZBSUwgY29uZmlybWVkTWFya3VwIHNob3VsZCBiZSA8aSBzdHls
ZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uIFdhcyA8aSBzdHlsZT0ibWFyZ2lu
OiAxMHB4OyI+PGI+PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+Lgor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6
IG5vcm1hbDsiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+
PC9pPjwvYj4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFu
ZC1zYW5pdGl6ZS00Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
YW5kLXNhbml0aXplLTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNjNjZGRlYTY2MzI4MDk0N2QwZDFiZjVi
NjFlYjg4YjU4NWZjYzg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS00Lmh0bWwKQEAgLTAsMCArMSw1NiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVk
dWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5
bGUuIDwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQp
IHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3Vw
KTsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBh
c3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisK
KyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOwor
fQorCit0ZXN0UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYi
LCAiPGI+PGk+SGVsbG88L2k+PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwi
PjxiPjxpPkhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG88
L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PjxkaXY+SGVsbG88L2Rpdj48
L2Rpdj48L2Rpdj4iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGRpdj48
aT5IZWxsbzwvaT48L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJv
bGQ7XCI+SGVsbG88L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+Iik7Cit0ZXN0UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPjxzcGFu
IHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L3NwYW4+
PC9pPjwvYj48L2Rpdj4iLCAKKyAgICAgICAgICAiPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxs
bzE8L2k+PC9iPjxiPjxpPiBoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8
Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9p
PjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOwordGVzdFBh
c3RlKCJkaXYiLCAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+PGI+PGkgc3R5bGU9XCJtYXJn
aW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iLAorICAgICAgICAgICI8aSBzdHlsZT1cIm1h
cmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbyA8
IS0tIGNvbW1lbnQgLS0+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48
aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+
PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+cGxhaW4gdGV4dDxiPjxpPmJv
bGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3Bh
biBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRh
bGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS01LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUt
NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWY4OWRjZjg4ODQ3YWFiNGI4OTJhMDA3ZDJkZTMy
YzA5Njk4MWViNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNyBAQAor
VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3Rl
ZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQg
YWZmZWN0aW5nIHRoZSBzdHlsZS4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8aSBzdHlsZT0iZm9udC13ZWln
aHQ6IGJvbGQ7Ij5IZWxsbzwvaT4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGI+SGVsbG88L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBz
dHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5i
c3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitGQUlMIGNvbmZpcm1lZE1hcmt1cCBz
aG91bGQgYmUgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LiBXYXMg
PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPjxiPjxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxs
bzwvaT48L2I+PC9pPi4KK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbyZuYnNw
O3dvcmxkPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5
bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4
dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS01Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzYzY2RkZWE2
NjMyODA5NDdkMGQxYmY1YjYxZWI4OGI1ODVmY2M4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNS5odG1sCkBAIC0w
LDAgKzEsNTYgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVk
IGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBh
ZmZlY3RpbmcgdGhlIHN0eWxlLiA8L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3Jp
cHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChy
b290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAg
ICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5j
b250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAg
IHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdFBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iKTsK
K3Rlc3RQYXN0ZSgiZGl2IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iLCAiPGI+PGk+SGVsbG88L2k+
PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQt
d2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+
IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj48
ZGl2PkhlbGxvPC9kaXY+PC9kaXY+PC9kaXY+IiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxkaXY+PGk+SGVsbG88L2k+PC9kaXY+PC9iPjwvZGl2PiIsICI8aSBzdHlsZT1c
ImZvbnQtd2VpZ2h0OiBib2xkO1wiPkhlbGxvPC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRp
dj48ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwv
ZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQt
d2VpZ2h0OiBub3JtYWxcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgCisgICAgICAgICAgIjxkaXY+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIpOwordGVz
dFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3Jt
YWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+PC9p
PjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wi
PjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9p
PjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPjxi
PjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+IiwKKyAgICAgICAg
ICAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iKTsKK3Rlc3RQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFs
XCI+PGI+PGk+SGVsbG8gPCEtLSBjb21tZW50IC0tPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwv
Yj48L2Rpdj4iLCAiPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7Cit0ZXN0UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPnBs
YWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rp
dj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPnBsYWluIHRl
eHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKKworcm9v
dC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2Fu
aXRpemUtNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtYW5kLXNhbml0aXplLTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmODlkY2Y4ODg0N2Fh
YjRiODkyYTAwN2QyZGUzMmMwOTY5ODFlYjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTYtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTcgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9u
IHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhl
IG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48
L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGkg
c3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SGVsbG88L2k+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxiPkhlbGxvPC9iPjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij48Yj48aT5oZWxsbzE8
L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworRkFJTCBj
b25maXJtZWRNYXJrdXAgc2hvdWxkIGJlIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwv
aT48L2I+PC9pPi4gV2FzIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij48Yj48aSBzdHlsZT0ibWFy
Z2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+cGxhaW4gdGV4dDxiPjxp
PmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTYuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjM2M2NkZGVhNjYzMjgwOTQ3ZDBkMWJmNWI2MWViODhiNTg1ZmNjODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0
aXplLTYuaHRtbApAQCAtMCwwICsxLDU2IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lF
VEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlk
PSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24g
dHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUg
bWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4gPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdFBhc3RlKHRh
Z05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCkgeworICAgIHZhciBub2RlID0gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIHJvb3QuYXBwZW5kQ2hpbGQo
bm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNl
bGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25m
aXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK3Rlc3RQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iiwg
IjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNw
YW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG88L2k+PC9iPjwvc3Bh
bj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIpOwor
dGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48ZGl2PjxpPkhlbGxvPC9pPjwvZGl2PjwvYj48L2Rp
dj4iLCAiPGkgc3R5bGU9XCJmb250LXdlaWdodDogYm9sZDtcIj5IZWxsbzwvaT4iKTsKK3Rlc3RQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5I
ZWxsbzwvYj48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48Yj5IZWxsbzwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNw
YW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bh
bj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9y
bWFsXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsIAorICAgICAg
ICAgICI8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJm
b250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+IGhlbGxvMjwv
aT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13
ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwv
aT48L2I+PC9zcGFuPjwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8aSBzdHlsZT1cIm1h
cmdpbjogMTBweDtcIj48Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+
PC9pPiIsCisgICAgICAgICAgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwv
Yj48L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9u
dC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvIDwhLS0gY29tbWVudCAtLT53b3JsZDwvaT48
L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9i
PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2Vp
Z2h0OiBub3JtYWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9z
cGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5v
cm1hbDtcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwv
aT48L2I+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtYW5kLXNhbml0aXplLTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS03LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5hZjg5ZGNmODg4NDdhYWI0Yjg5MmEwMDdkMmRlMzJjMDk2OTgxZWI0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS03
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhl
IHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUg
dmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxs
bzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxpIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhlbGxvPC9pPicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48
Yj5IZWxsbzwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFs
OyI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48
L2k+PC9iPicKK0ZBSUwgY29uZmlybWVkTWFya3VwIHNob3VsZCBiZSA8aSBzdHlsZT0ibWFyZ2lu
OiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uIFdhcyA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+
PGI+PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LgorUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsi
PnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6
ZS03Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0
aXplLTcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNjNjZGRlYTY2MzI4MDk0N2QwZDFiZjViNjFlYjg4YjU4
NWZjYzg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLWFuZC1zYW5pdGl6ZS03Lmh0bWwKQEAgLTAsMCArMSw1NiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUg
cGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2
ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuIDwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsKKyAgICB2
YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBy
b290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFs
c2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBzaG91
bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCit0ZXN0
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGI+PGk+
SGVsbG88L2k+PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhl
bGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIp
OwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PjxkaXY+SGVsbG88L2Rpdj48L2Rpdj48L2Rp
dj4iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxsbzwv
aT48L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+SGVs
bG88L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwi
Zm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48
L2Rpdj4iLCAKKyAgICAgICAgICAiPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9i
PjxiPjxpPiBoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3Bh
biBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48
aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYi
LCAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+PGI+PGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7
XCI+aGVsbG88L2k+PC9iPjwvaT4iLAorICAgICAgICAgICI8aSBzdHlsZT1cIm1hcmdpbjogMTBw
eDtcIj5oZWxsbzwvaT48L2I+PC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48
c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbyA8IS0tIGNvbW1l
bnQgLS0+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbyZu
YnNwO3dvcmxkPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4g
c3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGlj
IHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1c
ImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8
L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS04LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtOC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYWY4OWRjZjg4ODQ3YWFiNGI4OTJhMDA3ZDJkZTMyYzA5Njk4MWVi
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS1hbmQtc2FuaXRpemUtOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNyBAQAorVGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVu
dCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5n
IHRoZSBzdHlsZS4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8aSBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7
Ij5IZWxsbzwvaT4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGI+SGVsbG88L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9u
dC13ZWlnaHQ6IG5vcm1hbDsiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8y
PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitGQUlMIGNvbmZpcm1lZE1hcmt1cCBzaG91bGQgYmUg
PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LiBXYXMgPGkgc3R5bGU9
Im1hcmdpbjogMTBweDsiPjxiPjxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+
PC9pPi4KK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9p
PjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQt
d2VpZ2h0OiBub3JtYWw7Ij5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+
PC9zcGFuPjwvaT48L2I+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS1hbmQtc2FuaXRpemUtOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLWFuZC1zYW5pdGl6ZS04Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzYzY2RkZWE2NjMyODA5NDdk
MGQxYmY1YjYxZWI4OGI1ODVmY2M4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtOC5odG1sCkBAIC0wLDAgKzEsNTYg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50
IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3Rpbmcg
dGhlIHN0eWxlLiA8L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3Zh
ciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKwor
CitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9k
ZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRp
dGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBu
b2RlOworfQorCitmdW5jdGlvbiB0ZXN0UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdFBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0
ZSgiZGl2IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwor
dGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBu
b3JtYWxcIj48Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxp
PkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj48ZGl2PkhlbGxv
PC9kaXY+PC9kaXY+PC9kaXY+IiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxkaXY+PGk+SGVsbG88L2k+PC9kaXY+PC9iPjwvZGl2PiIsICI8aSBzdHlsZT1cImZvbnQtd2Vp
Z2h0OiBib2xkO1wiPkhlbGxvPC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PiIpOwor
dGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBu
b3JtYWxcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgCisgICAgICAgICAgIjxkaXY+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+
PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rp
dj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhl
bGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsK
K3Rlc3RQYXN0ZSgiZGl2IiwgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPjxiPjxpIHN0eWxl
PVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+IiwKKyAgICAgICAgICAiPGkgc3R5
bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2
IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+
SGVsbG8gPCEtLSBjb21tZW50IC0tPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4i
LCAiPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPnBsYWluIHRleHQ8
Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+
PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPnBsYWluIHRleHQ8Yj48aT5i
b2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKKworcm9vdC5zdHlsZS5k
aXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtOS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNh
bml0aXplLTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmODlkY2Y4ODg0N2FhYjRiODkyYTAw
N2QyZGUzMmMwOTY5ODFlYjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTcgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRo
ZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3
aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGkgc3R5bGU9ImZv
bnQtd2VpZ2h0OiBib2xkOyI+SGVsbG88L2k+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxiPkhlbGxvPC9iPjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+
PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij48Yj48aT5oZWxsbzE8L2k+PC9iPjxi
PjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworRkFJTCBjb25maXJtZWRN
YXJrdXAgc2hvdWxkIGJlIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9p
Pi4gV2FzIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij48Yj48aSBzdHlsZT0ibWFyZ2luOiAxMHB4
OyI+aGVsbG88L2k+PC9iPjwvaT4uCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVs
bG8mbmJzcDt3b3JsZDwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxz
cGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRh
bGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTkuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtOS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2
M2NkZGVhNjYzMjgwOTQ3ZDBkMWJmNWI2MWViODhiNTg1ZmNjODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTkuaHRt
bApAQCAtMCwwICsxLDU2IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBI
VE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlw
dGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhl
IHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdp
dGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4gPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdFBhc3RlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwLCBleHBlY3RlZCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisK
KyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIs
IGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJr
dXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK3Rlc3RQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8Yj48aT5IZWxsbzwvaT48L2I+IiwgIjxiPjxpPkhl
bGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9
XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9i
PjwvZGl2PiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIpOwordGVzdFBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48ZGl2PjxpPkhlbGxvPC9pPjwvZGl2PjwvYj48L2Rpdj4iLCAiPGkg
c3R5bGU9XCJmb250LXdlaWdodDogYm9sZDtcIj5IZWxsbzwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxs
bzwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9
XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsIAorICAgICAgICAgICI8ZGl2
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
KTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdo
dDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+IGhlbGxvMjwvaT48L2I+PC9z
cGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5v
cm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9z
cGFuPjwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8aSBzdHlsZT1cIm1hcmdpbjogMTBw
eDtcIj48Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIsCisg
ICAgICAgICAgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+Iik7
Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6
IG5vcm1hbFwiPjxiPjxpPkhlbGxvIDwhLS0gY29tbWVudCAtLT53b3JsZDwvaT48L2I+PC9zcGFu
PjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPiIpOwordGVz
dFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3Jt
YWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48
L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5w
bGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>381504</attachid>
            <date>2019-10-21 20:32:19 -0700</date>
            <delta_ts>2019-10-22 08:31:58 -0700</delta_ts>
            <desc>Attempt #3 to reproduce the failure</desc>
            <filename>bug-203199-20191021203219.patch</filename>
            <type>text/plain</type>
            <size>125911</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUxMzg5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjAxYjEwZTRhOTFmZmQz
ZDQyZGRmN2VjNGQyZTIyZmQ2MzY3NTIxMC4uYzFiYWQ0YmRmMDNmNDAxNDcyOWYwN2MwY2ZhMzhm
NjMxZDk0NjMzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE5LTEwLTIxICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUuaHRtbCBpcyBhIGZsYWt5IGZhaWx1cmUKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMzE5OQorICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vNTM1NTE3MzY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgSnVzdCBhbiBleHBlcmltZW50OyBvYnZpb3VzbHkgbm90IGlu
dGVuZGVkIGZvciByZXZpZXcuCisKKyAgICAgICAgKiBlZGl0aW5nL0VkaXRvci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpyZXByKToKKyAgICAgICAgKFdlYkNvcmU6OnN0cmluZyk6CisgICAgICAg
IChXZWJDb3JlOjpFZGl0b3I6OmhhbmRsZVRleHRFdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpF
ZGl0b3I6OnBhc3RlKToKKyAgICAgICAgKiBlZGl0aW5nL1JlcGxhY2VTZWxlY3Rpb25Db21tYW5k
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlcGxhY2VTZWxlY3Rpb25Db21tYW5kOjpkb0FwcGx5
KToKKwogMjAxOS0xMC0yMSAgRGVhbiBKYWNrc29uICA8ZGlub0BhcHBsZS5jb20+CiAKICAgICAg
ICAgTW92ZSBFbGVtZW50Q29udGV4dCBmcm9tIFdlYktpdCB0byBXZWJDb3JlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL0VkaXRvci5jcHAKaW5kZXggZThiMjQzNjA1MTUxOGRhMzM4MWQyZjU3NTdmYTYxODZlNjg1
M2E3ZC4uZTQ5NDE0MzA1NzEwM2ZkY2Y1N2U0NmViZjE2ODIxYWM5OTBmN2FiNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2VkaXRpbmcvRWRpdG9yLmNwcApAQCAtMTIxLDYgKzEyMSwxNTAgQEAKICNpbmNsdWRlICJTZXJ2
aWNlc092ZXJsYXlDb250cm9sbGVyLmgiCiAjZW5kaWYKIAorI2luY2x1ZGUgPFdlYkNvcmUvU3Bh
Y2VTcGxpdFN0cmluZy5oPgorI2luY2x1ZGUgPHd0Zi9IZXhOdW1iZXIuaD4KKyNpbmNsdWRlIDx3
dGYvdGV4dC9XVEZTdHJpbmcuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+
CisjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQ29uY2F0ZW5hdGVOdW1iZXJzLmg+CisKK25hbWVz
cGFjZSBXZWJDb3JlIHsKKworX191bnVzZWQgc3RhdGljIFN0cmluZyByZXByKGNvbnN0IFNwYWNl
U3BsaXRTdHJpbmcmIGNsYXNzTmFtZXMpCit7CisgICAgaWYgKGNsYXNzTmFtZXMuaXNFbXB0eSgp
KQorICAgICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKKworICAgIFN0cmluZ0J1aWxkZXIgYnVm
ZmVyOworICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBjbGFzc05hbWVzLnNpemUoKTsgKytp
KSB7CisgICAgICAgIGlmIChpKQorICAgICAgICAgICAgYnVmZmVyLmFwcGVuZCgiICIpOworICAg
ICAgICBidWZmZXIuYXBwZW5kKGNsYXNzTmFtZXNbaV0uc3RyaW5nKCkpOworICAgIH0KKyAgICBy
ZXR1cm4gYnVmZmVyLnRvU3RyaW5nKCk7Cit9CisKK19fdW51c2VkIHN0YXRpYyBTdHJpbmcgc3Ry
aW5nKGNvbnN0IE5vZGUqIG5vZGUpCit7CisgICAgaWYgKCFub2RlKQorICAgICAgICByZXR1cm4g
IihudWxsKSI7CisgICAgaWYgKG5vZGUtPmlzVGV4dE5vZGUoKSkgeworICAgICAgICBhdXRvIHRl
eHQgPSBub2RlLT50ZXh0Q29udGVudCgpOworICAgICAgICBTdHJpbmcgZmlsdGVyZWRUZXh0Owor
ICAgICAgICBpZiAodGV4dC5sZW5ndGgoKSA+IDEyKQorICAgICAgICAgICAgZmlsdGVyZWRUZXh0
ID0gdGV4dC5zdWJzdHJpbmcoMCwgMTIpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBmaWx0
ZXJlZFRleHQgPSB0ZXh0OworICAgICAgICBmaWx0ZXJlZFRleHQucmVwbGFjZSgiXG4iLCAiXFxu
Iik7CisgICAgICAgIGZpbHRlcmVkVGV4dC5yZXBsYWNlKCJcciIsICJcXHIiKTsKKyAgICAgICAg
ZmlsdGVyZWRUZXh0LnJlcGxhY2UoIlx0IiwgIlxcdCIpOworICAgICAgICBpZiAodGV4dC5sZW5n
dGgoKSA+IDEyKQorICAgICAgICAgICAgcmV0dXJuIG1ha2VTdHJpbmcoIlwiIl9zLCBmaWx0ZXJl
ZFRleHQsICIuLi5cIiJfcywgIiAobGVuZ3RoOiAiX3MsIHRleHQubGVuZ3RoKCksICIpIl9zKTsK
KyAgICAgICAgcmV0dXJuIG1ha2VTdHJpbmcoIlwiIl9zLCBmaWx0ZXJlZFRleHQsICJcIiJfcyk7
CisgICAgfQorICAgIGlmIChub2RlLT5pc0VsZW1lbnROb2RlKCkpIHsKKyAgICAgICAgYXV0byYg
ZWxlbWVudCA9IGRvd25jYXN0PEVsZW1lbnQ+KCpub2RlKTsKKyAgICAgICAgaWYgKGVsZW1lbnQu
aXNUZXh0RmllbGQoKSkgeworICAgICAgICAgICAgcmV0dXJuIG1ha2VTdHJpbmcoIjwiX3MsIGVs
ZW1lbnQudGFnTmFtZSgpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAiIGlkPSciX3MsIGVs
ZW1lbnQuZ2V0SWRBdHRyaWJ1dGUoKS5zdHJpbmcoKSwgIiciX3MsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICIgdHlwZT0nIl9zLCBlbGVtZW50LmF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6
YXRpb24oSFRNTE5hbWVzOjp0eXBlQXR0ciksICInIl9zLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAiIGNsYXNzPSciX3MsIGVsZW1lbnQuaGFzQ2xhc3MoKSA/IHJlcHIoZWxlbWVudC5jbGFz
c05hbWVzKCkpIDogIiIsICInPiJfcyk7CisgICAgICAgIH0KKyAgICAgICAgaWYgKGVsZW1lbnQu
aGFzVGFnTmFtZShIVE1MTmFtZXM6OmFUYWcpKSB7CisgICAgICAgICAgICByZXR1cm4gbWFrZVN0
cmluZygiPCJfcywgZWxlbWVudC50YWdOYW1lKCksCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICIgaWQ9JyJfcywgZWxlbWVudC5nZXRJZEF0dHJpYnV0ZSgpLnN0cmluZygpLCAiJyJfcywKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgIiBocmVmPSciX3MsIGVsZW1lbnQuYXR0cmlidXRlV2l0
aG91dFN5bmNocm9uaXphdGlvbihIVE1MTmFtZXM6OmhyZWZBdHRyKSwgIiciX3MsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICIgY2xhc3M9JyJfcywgZWxlbWVudC5oYXNDbGFzcygpID8gcmVw
cihlbGVtZW50LmNsYXNzTmFtZXMoKSkgOiAiIiwgIic+Il9zKTsKKyAgICAgICAgfQorICAgICAg
ICBpZiAoZWxlbWVudC5oYXNUYWdOYW1lKEhUTUxOYW1lczo6aW1nVGFnKSkgeworICAgICAgICAg
ICAgcmV0dXJuIG1ha2VTdHJpbmcoIjwiX3MsIGVsZW1lbnQudGFnTmFtZSgpLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAiIGlkPSciX3MsIGVsZW1lbnQuZ2V0SWRBdHRyaWJ1dGUoKS5zdHJp
bmcoKSwgIiciX3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICIgc3JjPSciX3MsIGVsZW1l
bnQuYXR0cmlidXRlV2l0aG91dFN5bmNocm9uaXphdGlvbihIVE1MTmFtZXM6OnNyY0F0dHIpLCAi
JyJfcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIiBjbGFzcz0nIl9zLCBlbGVtZW50Lmhh
c0NsYXNzKCkgPyByZXByKGVsZW1lbnQuY2xhc3NOYW1lcygpKSA6ICIiLCAiJz4iX3MpOworICAg
ICAgICB9CisgICAgICAgIHJldHVybiBtYWtlU3RyaW5nKCI8Il9zLCBlbGVtZW50LnRhZ05hbWUo
KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIiBpZD0nIl9zLCBlbGVtZW50LmdldElkQXR0
cmlidXRlKCkuc3RyaW5nKCksICInIl9zLAorICAgICAgICAgICAgICAgICAgICAgICAgICAiIGNs
YXNzPSciX3MsIGVsZW1lbnQuaGFzQ2xhc3MoKSA/IHJlcHIoZWxlbWVudC5jbGFzc05hbWVzKCkp
IDogIiIsICInPiJfcyk7CisgICAgfQorICAgIHJldHVybiBtYWtlU3RyaW5nKCJOb2RlKCJfcywg
aGV4KHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90Pihub2RlKSwgOCwgTG93ZXJjYXNlKSwgIiki
X3MpOworfQorCitfX3VudXNlZCBzdGF0aWMgY29uc3QgY2hhciogcmVwcihjb25zdCBOb2RlKiBu
b2RlKQoreworICAgIHJldHVybiBzdHJpbmcobm9kZSkudXRmOCgpLmRhdGEoKTsKK30KKworX191
bnVzZWQgc3RhdGljIGNvbnN0IGNoYXIqIHJlcHIoYm9vbCBiKQoreworICAgIHJldHVybiBiID8g
IllFUyIgOiAiTk8iOworfQorCitfX3VudXNlZCBzdGF0aWMgY29uc3QgY2hhciogcmVwcihGcmFt
ZSogZnJhbWUpCit7CisgICAgaWYgKCFmcmFtZSkKKyAgICAgICAgcmV0dXJuICIobnVsbCkiOwor
ICAgIGlmIChmcmFtZS0+aXNNYWluRnJhbWUoKSkKKyAgICAgICAgcmV0dXJuIG1ha2VTdHJpbmco
IjxNYWluRnJhbWUgMHgiX3MsIGhleChyZWludGVycHJldF9jYXN0PHVpbnRwdHJfdD4oZnJhbWUp
LCA4LCBMb3dlcmNhc2UpLCAiPiJfcykudXRmOCgpLmRhdGEoKTsKKyAgICByZXR1cm4gbWFrZVN0
cmluZygiPEZyYW1lIDB4Il9zLCBoZXgocmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KGZyYW1l
KSwgOCwgTG93ZXJjYXNlKSwgIiBuYW1lPSciX3MsIGZyYW1lLT50cmVlKCkudW5pcXVlTmFtZSgp
LnN0cmluZygpLCAiJyBvd25lcj0iX3MsIHJlcHIoZnJhbWUtPm93bmVyRWxlbWVudCgpKSwgIj4i
X3MpLnV0ZjgoKS5kYXRhKCk7Cit9CisKK30KKworI2luY2x1ZGUgPHd0Zi9IZXhOdW1iZXIuaD4K
KyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9TdHJp
bmdDb25jYXRlbmF0ZU51bWJlcnMuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitfX3VudXNl
ZCBzdGF0aWMgY29uc3QgY2hhciogcmVwcihQb3NpdGlvbjo6QW5jaG9yVHlwZSB0eXBlKQorewor
ICAgIHN3aXRjaCAodHlwZSkgeworICAgICAgICBjYXNlIFBvc2l0aW9uOjpBbmNob3JUeXBlOjpQ
b3NpdGlvbklzQmVmb3JlQ2hpbGRyZW46CisgICAgICAgICAgICByZXR1cm4gIkJlZm9yZUNoaWxk
cmVuIjsKKyAgICAgICAgY2FzZSBQb3NpdGlvbjo6QW5jaG9yVHlwZTo6UG9zaXRpb25Jc0FmdGVy
Q2hpbGRyZW46CisgICAgICAgICAgICByZXR1cm4gIkFmdGVyQ2hpbGRyZW4iOworICAgICAgICBj
YXNlIFBvc2l0aW9uOjpBbmNob3JUeXBlOjpQb3NpdGlvbklzT2Zmc2V0SW5BbmNob3I6CisgICAg
ICAgICAgICByZXR1cm4gIk9mZnNldEluQW5jaG9yIjsKKyAgICAgICAgY2FzZSBQb3NpdGlvbjo6
QW5jaG9yVHlwZTo6UG9zaXRpb25Jc0JlZm9yZUFuY2hvcjoKKyAgICAgICAgICAgIHJldHVybiAi
QmVmb3JlQW5jaG9yIjsKKyAgICAgICAgY2FzZSBQb3NpdGlvbjo6QW5jaG9yVHlwZTo6UG9zaXRp
b25Jc0FmdGVyQW5jaG9yOgorICAgICAgICAgICAgcmV0dXJuICJBZnRlckFuY2hvciI7CisgICAg
fQorICAgIHJldHVybiAiIjsKK30KKworX191bnVzZWQgc3RhdGljIFN0cmluZyBzdHJpbmcoY29u
c3QgUG9zaXRpb24mIHApCit7CisgICAgaWYgKHAuYW5jaG9yVHlwZSgpID09IFBvc2l0aW9uOjpB
bmNob3JUeXBlOjpQb3NpdGlvbklzT2Zmc2V0SW5BbmNob3IpCisgICAgICAgIHJldHVybiBtYWtl
U3RyaW5nKHJlcHIocC5hbmNob3JUeXBlKCkpLCAiKCJfcywgc3RyaW5nKHAuYW5jaG9yTm9kZSgp
KSwgIiwgIl9zLCBwLm9mZnNldEluQ29udGFpbmVyTm9kZSgpLCAiKSJfcyk7CisgICAgcmV0dXJu
IG1ha2VTdHJpbmcocmVwcihwLmFuY2hvclR5cGUoKSksICIoIl9zLCBzdHJpbmcocC5hbmNob3JO
b2RlKCkpLCAiKSJfcyk7Cit9CisKK19fdW51c2VkIHN0YXRpYyBjb25zdCBjaGFyKiByZXByKGNv
bnN0IFBvc2l0aW9uJiBwKQoreworICAgIHJldHVybiBzdHJpbmcocCkudXRmOCgpLmRhdGEoKTsK
K30KKworX191bnVzZWQgc3RhdGljIGNvbnN0IGNoYXIqIHJlcHIoY29uc3QgVmlzaWJsZVBvc2l0
aW9uJiBwKQoreworICAgIHJldHVybiBzdHJpbmcocC5kZWVwRXF1aXZhbGVudCgpKS51dGY4KCku
ZGF0YSgpOworfQorCitfX3VudXNlZCBzdGF0aWMgU3RyaW5nIHN0cmluZyhjb25zdCBWaXNpYmxl
U2VsZWN0aW9uJiBzKQoreworICAgIGlmIChzLmlzTm9uZSgpKQorICAgICAgICByZXR1cm4gInsg
Tm9uZSB9IjsKKyAgICBpZiAocy5pc0NhcmV0KCkpCisgICAgICAgIHJldHVybiBtYWtlU3RyaW5n
KCJ7ICJfcywgc3RyaW5nKHMuc3RhcnQoKSksICIgfSJfcyk7CisgICAgcmV0dXJuIG1ha2VTdHJp
bmcoInsgIl9zLCBzdHJpbmcocy5zdGFydCgpKSwgIiwgIl9zLCBzdHJpbmcocy5lbmQoKSksICIg
fSJfcyk7Cit9CisKK19fdW51c2VkIHN0YXRpYyBjb25zdCBjaGFyKiByZXByKGNvbnN0IFZpc2li
bGVTZWxlY3Rpb24mIHMpCit7CisgICAgcmV0dXJuIHN0cmluZyhzKS51dGY4KCkuZGF0YSgpOwor
fQorCit9CisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogc3RhdGljIGJvb2wgZGlzcGF0Y2hCZWZv
cmVJbnB1dEV2ZW50KEVsZW1lbnQmIGVsZW1lbnQsIGNvbnN0IEF0b21TdHJpbmcmIGlucHV0VHlw
ZSwgY29uc3QgU3RyaW5nJiBkYXRhID0geyB9LCBSZWZQdHI8RGF0YVRyYW5zZmVyPiYmIGRhdGFU
cmFuc2ZlciA9IG51bGxwdHIsIGNvbnN0IFZlY3RvcjxSZWZQdHI8U3RhdGljUmFuZ2U+PiYgdGFy
Z2V0UmFuZ2VzID0geyB9LCBFdmVudDo6SXNDYW5jZWxhYmxlIGNhbmNlbGFibGUgPSBFdmVudDo6
SXNDYW5jZWxhYmxlOjpZZXMpCkBAIC0zMTcsOSArNDYxLDEyIEBAIGJvb2wgRWRpdG9yOjpoYW5k
bGVUZXh0RXZlbnQoVGV4dEV2ZW50JiBldmVudCkKICAgICAgICAgICAgIGlmIChjbGllbnQoKS0+
cGVyZm9ybXNUd29TdGVwUGFzdGUoZXZlbnQucGFzdGluZ0ZyYWdtZW50KCkpKQogICAgICAgICAg
ICAgICAgIHJldHVybiB0cnVlOwogI2VuZGlmCisgICAgICAgICAgICBXVEZMb2dBbHdheXMoIjxX
Sz46IFJlcGxhY2luZyBzZWxlY3Rpb24gd2l0aCBmcmFnbWVudCEiKTsKICAgICAgICAgICAgIHJl
cGxhY2VTZWxlY3Rpb25XaXRoRnJhZ21lbnQoKmV2ZW50LnBhc3RpbmdGcmFnbWVudCgpLCBTZWxl
Y3RSZXBsYWNlbWVudDo6Tm8sIGV2ZW50LnNob3VsZFNtYXJ0UmVwbGFjZSgpID8gU21hcnRSZXBs
YWNlOjpZZXMgOiBTbWFydFJlcGxhY2U6Ok5vLCBldmVudC5zaG91bGRNYXRjaFN0eWxlKCkgPyBN
YXRjaFN0eWxlOjpZZXMgOiBNYXRjaFN0eWxlOjpObywgRWRpdEFjdGlvbjo6UGFzdGUsIGV2ZW50
Lm1haWxCbG9ja3F1b3RlSGFuZGxpbmcoKSk7Ci0gICAgICAgIH0gZWxzZQorICAgICAgICB9IGVs
c2UgeworICAgICAgICAgICAgV1RGTG9nQWx3YXlzKCI8V0s+OiBSZXBsYWNpbmcgc2VsZWN0aW9u
IHdpdGggdGV4dCEiKTsKICAgICAgICAgICAgIHJlcGxhY2VTZWxlY3Rpb25XaXRoVGV4dChldmVu
dC5kYXRhKCksIFNlbGVjdFJlcGxhY2VtZW50OjpObywgZXZlbnQuc2hvdWxkU21hcnRSZXBsYWNl
KCkgPyBTbWFydFJlcGxhY2U6OlllcyA6IFNtYXJ0UmVwbGFjZTo6Tm8sIEVkaXRBY3Rpb246OlBh
c3RlKTsKKyAgICAgICAgfQogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAKQEAgLTE0Mjgs
MTggKzE1NzUsMzYgQEAgdm9pZCBFZGl0b3I6OnBhc3RlKCkKICAgICBwYXN0ZSgqUGFzdGVib2Fy
ZDo6Y3JlYXRlRm9yQ29weUFuZFBhc3RlKCkpOwogfQogCisjaWYgIVBMQVRGT1JNKElPU19GQU1J
TFkpCitzdGF0aWNfYXNzZXJ0KGZhbHNlLCAiSSBqdXN0IHdhbnQgcmVzdWx0cyBmcm9tIGlPUyBi
b3RzLCBzbyBmYWlsIGVhcmx5IGhlcmUgZm9yIG5vbi1pT1MuIik7CisjZW5kaWYKKwogdm9pZCBF
ZGl0b3I6OnBhc3RlKFBhc3RlYm9hcmQmIHBhc3RlYm9hcmQpCiB7Ci0gICAgaWYgKCFkaXNwYXRj
aENsaXBib2FyZEV2ZW50KGZpbmRFdmVudFRhcmdldEZyb21TZWxlY3Rpb24oKSwgQ2xpcGJvYXJk
RXZlbnRLaW5kOjpQYXN0ZSkpCisgICAgaWYgKG1fZnJhbWUuZG9jdW1lbnQoKSkgeworICAgICAg
ICBXVEZMb2dBbHdheXMoIjxXSz46IEF0dGVtcHRpbmcgdG8gcGFzdGUgKCVzKSIsIG1fZnJhbWUu
ZG9jdW1lbnQoKS0+dXJsKCkubGFzdFBhdGhDb21wb25lbnQoKS51dGY4KCkuZGF0YSgpKTsKKyAg
ICAgICAgV1RGTG9nQWx3YXlzKCI8V0s+OiBUaGUgc2VsZWN0aW9uIGlzOiAlcyIsIHJlcHIobV9m
cmFtZS5zZWxlY3Rpb24oKS5zZWxlY3Rpb24oKSkpOworICAgIH0KKworICAgIGlmICghZGlzcGF0
Y2hDbGlwYm9hcmRFdmVudChmaW5kRXZlbnRUYXJnZXRGcm9tU2VsZWN0aW9uKCksIENsaXBib2Fy
ZEV2ZW50S2luZDo6UGFzdGUpKSB7CisgICAgICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogU2NyaXB0
IGhhbmRsZWQgdGhlIHBhc3RlLiIpOwogICAgICAgICByZXR1cm47IC8vIERIVE1MIGRpZCB0aGUg
d2hvbGUgb3BlcmF0aW9uCi0gICAgaWYgKCFjYW5QYXN0ZSgpKQorICAgIH0KKworICAgIGlmICgh
Y2FuUGFzdGUoKSkgeworICAgICAgICBXVEZMb2dBbHdheXMoIjxXSz46IEZhaWxlZCB0byBwYXN0
ZS4iKTsKICAgICAgICAgcmV0dXJuOworICAgIH0KICAgICB1cGRhdGVNYXJrZXJzRm9yV29yZHNB
ZmZlY3RlZEJ5RWRpdGluZyhmYWxzZSk7CiAgICAgUmVzb3VyY2VDYWNoZVZhbGlkYXRpb25TdXBw
cmVzc29yIHZhbGlkYXRpb25TdXBwcmVzc29yKGRvY3VtZW50KCkuY2FjaGVkUmVzb3VyY2VMb2Fk
ZXIoKSk7Ci0gICAgaWYgKG1fZnJhbWUuc2VsZWN0aW9uKCkuc2VsZWN0aW9uKCkuaXNDb250ZW50
UmljaGx5RWRpdGFibGUoKSkKKyAgICBpZiAobV9mcmFtZS5zZWxlY3Rpb24oKS5zZWxlY3Rpb24o
KS5pc0NvbnRlbnRSaWNobHlFZGl0YWJsZSgpKSB7CisgICAgICAgIFdURkxvZ0Fsd2F5cygiPFdL
PjogUGFzdGluZyBhcyByaWNoIHRleHQuIik7CiAgICAgICAgIHBhc3RlV2l0aFBhc3RlYm9hcmQo
JnBhc3RlYm9hcmQsIHsgUGFzdGVPcHRpb246OkFsbG93UGxhaW5UZXh0IH0pOwotICAgIGVsc2UK
KyAgICB9IGVsc2UgeworICAgICAgICBXVEZMb2dBbHdheXMoIjxXSz46IFBhc3RpbmcgYXMgcGxh
aW4gdGV4dC4iKTsKICAgICAgICAgcGFzdGVBc1BsYWluVGV4dFdpdGhQYXN0ZWJvYXJkKHBhc3Rl
Ym9hcmQpOworICAgIH0KKyAgICBXVEZMb2dBbHdheXMoIjxXSz46ICIpOwogfQogCiB2b2lkIEVk
aXRvcjo6cGFzdGVBc1BsYWluVGV4dCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL1JlcGxhY2VTZWxlY3Rpb25Db21tYW5kLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
UmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQuY3BwCmluZGV4IDc1MDZjZGM3YWVhMTNjM2UzYjNkZWI0
NDA0NzllMGQ3OTBiMjEwMWEuLmJlMDhhZjcwY2EwODg5MWE0Y2EyOTQyZDBkNzkyNzE0MTI2YjA1
OTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvUmVwbGFjZVNlbGVjdGlvbkNv
bW1hbmQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvUmVwbGFjZVNlbGVjdGlvbkNv
bW1hbmQuY3BwCkBAIC0xMzE2LDYgKzEzMTYsNyBAQCB2b2lkIFJlcGxhY2VTZWxlY3Rpb25Db21t
YW5kOjpkb0FwcGx5KCkKICAgICBpZiAoaW5zZXJ0ZWROb2Rlcy5pc0VtcHR5KCkpCiAgICAgICAg
IHJldHVybjsKIAorICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogU2FuaXRpemluZyBmcmFnbWVudD8g
JXMiLCBtX3Nhbml0aXplRnJhZ21lbnQgPyAieWVzIiA6ICJubyIpOwogICAgIGlmIChtX3Nhbml0
aXplRnJhZ21lbnQpCiAgICAgICAgIGFwcGx5Q29tbWFuZFRvQ29tcG9zaXRlKFNpbXBsaWZ5TWFy
a3VwQ29tbWFuZDo6Y3JlYXRlKGRvY3VtZW50KCksIGluc2VydGVkTm9kZXMuZmlyc3ROb2RlSW5z
ZXJ0ZWQoKSwgaW5zZXJ0ZWROb2Rlcy5wYXN0TGFzdExlYWYoKSkpOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL21hYy9FZGl0b3JNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL21hYy9FZGl0b3JNYWMubW0KaW5kZXggODBhYmJlMmQ5MGU3YjMyMDNkNWUwOGMwMjIz
ZDA5YTJlOGFmZGU1Yi4uZmMxYmNhMzc2MzdjNzI1NWEwYzkzZWZlNGJlZmM4NjVkNTZkYWY2OSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9tYWMvRWRpdG9yTWFjLm1tCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvbWFjL0VkaXRvck1hYy5tbQpAQCAtOTEsNiArOTEsNyBA
QCB2b2lkIEVkaXRvcjo6cGFzdGVXaXRoUGFzdGVib2FyZChQYXN0ZWJvYXJkKiBwYXN0ZWJvYXJk
LCBPcHRpb25TZXQ8UGFzdGVPcHRpb24+CiAKICAgICBib29sIGNob3NlUGxhaW5UZXh0OwogICAg
IFJlZlB0cjxEb2N1bWVudEZyYWdtZW50PiBmcmFnbWVudCA9IHdlYkNvbnRlbnRGcm9tUGFzdGVi
b2FyZCgqcGFzdGVib2FyZCwgKnJhbmdlLCBvcHRpb25zLmNvbnRhaW5zKFBhc3RlT3B0aW9uOjpB
bGxvd1BsYWluVGV4dCksIGNob3NlUGxhaW5UZXh0KTsKKyAgICBXVEZMb2dBbHdheXMoIjxXSz46
IEFibGUgdG8gcmVhZCBmcmFnbWVudD8gJXMiLCBmcmFnbWVudCA/ICJ5ZXMiIDogIm5vIik7CiAK
ICAgICBpZiAoZnJhZ21lbnQgJiYgb3B0aW9ucy5jb250YWlucyhQYXN0ZU9wdGlvbjo6QXNRdW90
YXRpb24pKQogICAgICAgICBxdW90ZUZyYWdtZW50Rm9yUGFzdGluZygqZnJhZ21lbnQpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1Bhc3RlYm9hcmRJT1MubW0gYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvUGFzdGVib2FyZElPUy5tbQppbmRleCAxMDMxZTUx
N2FmNmY4NDYzYmZhZDMyNjhkMTM3ZTFkY2FlN2JjY2JkLi5kNjRkMTA2MjkzMTc0NmZmZTZjNzNk
OGIzZjRkYzIxYmE4NWVkZDhlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9p
b3MvUGFzdGVib2FyZElPUy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvUGFz
dGVib2FyZElPUy5tbQpAQCAtMzI1LDE3ICszMjUsMjcgQEAgdm9pZCBQYXN0ZWJvYXJkOjpyZWFk
KFBhc3RlYm9hcmRXZWJDb250ZW50UmVhZGVyJiByZWFkZXIsIFdlYkNvbnRlbnRSZWFkaW5nUG9s
aWMKICAgICAgICAgfQogI2VuZGlmCiAKKyAgICAgICAgTlNMb2coQCI8V0s+OiBUcnlpbmcgdHlw
ZXM6ICVAIiwgdHlwZXMpOworCiAgICAgICAgIGZvciAoaW50IHR5cGVJbmRleCA9IDA7IHR5cGVJ
bmRleCA8IG51bWJlck9mVHlwZXM7IHR5cGVJbmRleCsrKSB7CiAgICAgICAgICAgICBOU1N0cmlu
ZyAqdHlwZSA9IFt0eXBlcyBvYmplY3RBdEluZGV4OnR5cGVJbmRleF07Ci0gICAgICAgICAgICBp
ZiAoIWlzVHlwZUFsbG93ZWRCeVJlYWRpbmdQb2xpY3kodHlwZSwgcG9saWN5KSkKKyAgICAgICAg
ICAgIGlmICghaXNUeXBlQWxsb3dlZEJ5UmVhZGluZ1BvbGljeSh0eXBlLCBwb2xpY3kpKSB7Cisg
ICAgICAgICAgICAgICAgTlNMb2coQCI8V0s+OiBOb3QgYWxsb3dlZCB0byByZWFkICVAIiwgdHlw
ZSk7CiAgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICB9CiAKICAgICAgICAg
ICAgIGF1dG8gaXRlbVJlc3VsdCA9IHJlYWRQYXN0ZWJvYXJkV2ViQ29udGVudERhdGFGb3JUeXBl
KHJlYWRlciwgc3RyYXRlZ3ksIHR5cGUsIGluZm8sIGkpOwotICAgICAgICAgICAgaWYgKGl0ZW1S
ZXN1bHQgPT0gUmVhZGVyUmVzdWx0OjpQYXN0ZWJvYXJkV2FzQ2hhbmdlZEV4dGVybmFsbHkpCisg
ICAgICAgICAgICBpZiAoaXRlbVJlc3VsdCA9PSBSZWFkZXJSZXN1bHQ6OlBhc3RlYm9hcmRXYXND
aGFuZ2VkRXh0ZXJuYWxseSkgeworICAgICAgICAgICAgICAgIE5TTG9nKEAiPFdLPjogKioqIENI
QU5HRUNPVU5UIENIQU5HRUQgRVhURVJOQUxMWSAqKioiKTsKICAgICAgICAgICAgICAgICByZXR1
cm47CisgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIGlmIChpdGVtUmVzdWx0ID09IFJlYWRl
clJlc3VsdDo6UmVhZFR5cGUpCisgICAgICAgICAgICBpZiAoaXRlbVJlc3VsdCA9PSBSZWFkZXJS
ZXN1bHQ6OlJlYWRUeXBlKSB7CisgICAgICAgICAgICAgICAgTlNMb2coQCI8V0s+OiBTdWNjZXNz
ZnVsbHkgcmVhZCB0eXBlOiAlQCIsIHR5cGUpOwogICAgICAgICAgICAgICAgIGJyZWFrOworICAg
ICAgICAgICAgfQorCisgICAgICAgICAgICBOU0xvZyhAIjxXSz46IFNraXBwZWQgdHlwZTogJUAi
LCB0eXBlKTsKICAgICAgICAgfQogICAgIH0KIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0No
YW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAwMGZjOWYzOGYzYTg0YzQ0OGJk
OGEyNDBlNWYwNzIwNjQ4NjI3NTdlLi5kYjc5MDc5MjFiNGY0NDZlMDZjNDQ1MWFiM2NhNjJmNTU0
N2I2Y2M5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTktMTAtMjEgIFdlbnNvbiBIc2llaCAg
PHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLWFuZC1zYW5pdGl6ZS5odG1sIGlzIGEgZmxha3kgZmFpbHVyZQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAzMTk5CisgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS81MzU1MTczNj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBKdXN0IGFuIGV4cGVyaW1lbnQ7IG9idmlvdXNseSBub3QgaW50ZW5kZWQgZm9y
IHJldmlldy4KKwogMjAxOS0xMC0yMSAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxl
LmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByZS1lbmFibGUgYSBjb3VwbGUgb2YgcGFzc2lu
ZyBsYXlvdXQgdGVzdHMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS1hbmQtc2FuaXRpemUtMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmFmODlkY2Y4ODg0N2FhYjRiODkyYTAwN2QyZGUzMmMwOTY5ODFlYjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTEt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTcgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUg
cGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2
ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxv
PC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGkgc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SGVsbG88L2k+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxi
PkhlbGxvPC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPmhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7
Ij48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwv
aT48L2I+JworRkFJTCBjb25maXJtZWRNYXJrdXAgc2hvdWxkIGJlIDxpIHN0eWxlPSJtYXJnaW46
IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4gV2FzIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij48
Yj48aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+
cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXpl
LTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRp
emUtMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2M2NkZGVhNjYzMjgwOTQ3ZDBkMWJmNWI2MWViODhiNTg1
ZmNjODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtYW5kLXNhbml0aXplLTEuaHRtbApAQCAtMCwwICsxLDU2IEBACis8IURPQ1RZUEUgSFRN
TCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBw
YXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZl
cmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4gPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdFBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCkgeworICAgIHZh
ciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIHJv
b3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxz
ZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK3Rlc3RQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8Yj48aT5I
ZWxsbzwvaT48L2I+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVs
bG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7
Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2
PiIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48ZGl2PjxpPkhlbGxvPC9p
PjwvZGl2PjwvYj48L2Rpdj4iLCAiPGkgc3R5bGU9XCJmb250LXdlaWdodDogYm9sZDtcIj5IZWxs
bzwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJm
b250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwv
ZGl2PiIsIAorICAgICAgICAgICI8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+
PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+
PGI+PGk+IGhlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFu
IHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxp
PiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIs
ICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj48Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBweDtc
Ij5oZWxsbzwvaT48L2I+PC9pPiIsCisgICAgICAgICAgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4
O1wiPmhlbGxvPC9pPjwvYj48L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxz
cGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvIDwhLS0gY29tbWVu
dCAtLT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvJm5i
c3A7d29ybGQ8L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBz
dHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMg
dGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwi
Zm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwv
aT48L2I+PC9zcGFuPjwvaT48L2I+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTEwLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMTAtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmFmODlkY2Y4ODg0N2FhYjRiODkyYTAwN2QyZGUzMmMwOTY5ODFl
YjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtYW5kLXNhbml0aXplLTEwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdt
ZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3Rp
bmcgdGhlIHN0eWxlLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hl
bGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxpIHN0eWxlPSJmb250LXdlaWdodDogYm9s
ZDsiPkhlbGxvPC9pPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0
LWFsaWduOiBjZW50ZXI7Ij48Yj5IZWxsbzwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJm
b250LXdlaWdodDogbm9ybWFsOyI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxs
bzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK0ZBSUwgY29uZmlybWVkTWFya3VwIHNob3VsZCBi
ZSA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uIFdhcyA8aSBzdHls
ZT0ibWFyZ2luOiAxMHB4OyI+PGI+PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwv
Yj48L2k+LgorUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8
L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9u
dC13ZWlnaHQ6IG5vcm1hbDsiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwv
Yj48L3NwYW4+PC9pPjwvYj4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLWFuZC1zYW5pdGl6ZS0xMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0xMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2M2NkZGVhNjYzMjgw
OTQ3ZDBkMWJmNWI2MWViODhiNTg1ZmNjODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTEwLmh0bWwKQEAgLTAsMCAr
MSw1NiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJh
Z21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVj
dGluZyB0aGUgc3R5bGUuIDwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwKTsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5m
b2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5p
bm5lckhUTUw7CisKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0
ZWQgKyAiJyIpOworfQorCit0ZXN0UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIpOwordGVz
dFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48L2I+
Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWln
aHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAi
PGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PjxkaXY+
SGVsbG88L2Rpdj48L2Rpdj48L2Rpdj4iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxk
aXY+PGI+PGRpdj48aT5IZWxsbzwvaT48L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9u
dC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+PC9kaXY+
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+
Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWln
aHQ6IG5vcm1hbFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAKKyAgICAgICAgICAiPGRpdj48Yj48aT5oZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtc
Ij48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiBoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9i
PjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+
PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9i
PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+PGI+PGkg
c3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iLAorICAgICAgICAgICI8
aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIpOwordGVzdFBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48
Yj48aT5IZWxsbyA8IS0tIGNvbW1lbnQgLS0+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwv
ZGl2PiIsICI8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2
IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+cGxhaW4g
dGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIs
ICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+cGxhaW4gdGV4dDxi
PjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6
ZS0xMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
YW5kLXNhbml0aXplLTExLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZjg5ZGNmODg4NDdhYWI0
Yjg5MmEwMDdkMmRlMzJjMDk2OTgxZWI0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0xMS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxNyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24g
dHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUg
bWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4KKworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwv
Yj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8aSBz
dHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IZWxsbzwvaT4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGI+SGVsbG88L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPjxiPjxpPmhlbGxvMTwv
aT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitGQUlMIGNv
bmZpcm1lZE1hcmt1cCBzaG91bGQgYmUgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9p
PjwvYj48L2k+LiBXYXMgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPjxiPjxpIHN0eWxlPSJtYXJn
aW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4KK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij5wbGFpbiB0ZXh0PGI+PGk+
Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMTEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMTEuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4zNjNjZGRlYTY2MzI4MDk0N2QwZDFiZjViNjFlYjg4YjU4NWZjYzg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5p
dGl6ZS0xMS5odG1sCkBAIC0wLDAgKzEsNTYgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlv
biB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRo
ZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLiA8L3A+Cis8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24o
KTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFn
TmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJI
VE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdFBhc3RlKCJkaXYiLCAi
SGVsbG8iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4i
LCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48
c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbzwvaT48L2I+PC9z
cGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj48ZGl2PkhlbGxvPC9kaXY+PC9kaXY+PC9kaXY+IiwgIkhlbGxvIik7
Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxkaXY+PGk+SGVsbG88L2k+PC9kaXY+PC9iPjwv
ZGl2PiIsICI8aSBzdHlsZT1cImZvbnQtd2VpZ2h0OiBib2xkO1wiPkhlbGxvPC9pPiIpOwordGVz
dFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxi
PkhlbGxvPC9iPjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxiPkhlbGxvPC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48
c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9z
cGFuPjwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBu
b3JtYWxcIj48Yj48aT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgCisgICAg
ICAgICAgIjxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1c
ImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4gaGVsbG8y
PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250
LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8y
PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxpIHN0eWxlPVwi
bWFyZ2luOiAxMHB4O1wiPjxiPjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwv
Yj48L2k+IiwKKyAgICAgICAgICAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+
PC9iPjwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJm
b250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG8gPCEtLSBjb21tZW50IC0tPndvcmxkPC9p
PjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48
L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13
ZWlnaHQ6IG5vcm1hbFwiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48
L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDog
bm9ybWFsO1wiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+
PC9pPjwvYj4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0xMi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYWY4OWRjZjg4ODQ3YWFiNGI4OTJhMDA3ZDJkZTMyYzA5Njk4MWViNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRp
emUtMTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTcgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNl
IHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxp
PkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGkgc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SGVsbG88L2k+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxiPkhlbGxvPC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBu
b3JtYWw7Ij48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9z
cGFuPjwvaT48L2I+JworRkFJTCBjb25maXJtZWRNYXJrdXAgc2hvdWxkIGJlIDxpIHN0eWxlPSJt
YXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4gV2FzIDxpIHN0eWxlPSJtYXJnaW46IDEw
cHg7Ij48Yj48aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9y
bWFsOyI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+
PC9iPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNh
bml0aXplLTEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5k
LXNhbml0aXplLTEyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzYzY2RkZWE2NjMyODA5NDdkMGQxYmY1YjYx
ZWI4OGI1ODVmY2M4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMTIuaHRtbApAQCAtMCwwICsxLDU2IEBACis8IURP
Q1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0
aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1
Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHls
ZS4gPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdFBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCkg
eworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAp
OworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFz
dGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK3Rlc3RQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIs
ICI8Yj48aT5IZWxsbzwvaT48L2I+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0
ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+
PGI+PGk+SGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbzwv
aT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjwv
ZGl2PjwvZGl2PiIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48ZGl2Pjxp
PkhlbGxvPC9pPjwvZGl2PjwvYj48L2Rpdj4iLCAiPGkgc3R5bGU9XCJmb250LXdlaWdodDogYm9s
ZDtcIj5IZWxsbzwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0
ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4g
c3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48
L2k+PC9iPjwvZGl2PiIsIAorICAgICAgICAgICI8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxk
aXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxv
MTwvaT48L2I+PGI+PGk+IGhlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxi
PjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+
PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7Cit0ZXN0UGFz
dGUoImRpdiIsICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj48Yj48aSBzdHlsZT1cIm1hcmdp
bjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIsCisgICAgICAgICAgIjxpIHN0eWxlPVwibWFy
Z2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvIDwh
LS0gY29tbWVudCAtLT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxp
PkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9s
ZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFu
IHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFs
aWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTEzLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUt
MTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmODlkY2Y4ODg0N2FhYjRiODkyYTAwN2QyZGUz
MmMwOTY5ODFlYjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTEzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFz
dGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91
dCBhZmZlY3RpbmcgdGhlIHN0eWxlLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxpIHN0eWxlPSJmb250LXdl
aWdodDogYm9sZDsiPkhlbGxvPC9pPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0
eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48Yj5IZWxsbzwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFu
IHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4m
bmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK0ZBSUwgY29uZmlybWVkTWFya3Vw
IHNob3VsZCBiZSA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uIFdh
cyA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+PGI+PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhl
bGxvPC9pPjwvYj48L2k+LgorUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvJm5i
c3A7d29ybGQ8L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBz
dHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0
ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0xMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0xMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2M2Nk
ZGVhNjYzMjgwOTQ3ZDBkMWJmNWI2MWViODhiNTg1ZmNjODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTEzLmh0bWwK
QEAgLTAsMCArMSw1NiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBw
YXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRo
b3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuIDwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisg
ICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBm
YWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3Vw
ID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIici
ICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCit0ZXN0UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIsICI8Yj48aT5IZWxs
bzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwi
Zm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48
L2Rpdj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48
ZGl2PjxkaXY+SGVsbG88L2Rpdj48L2Rpdj48L2Rpdj4iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxsbzwvaT48L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0
eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9k
aXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88
L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwi
Zm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAKKyAgICAgICAgICAiPGRpdj48
Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6
IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiBoZWxsbzI8L2k+PC9iPjwvc3Bh
bj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3Jt
YWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bh
bj48L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7
XCI+PGI+PGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iLAorICAg
ICAgICAgICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIpOwor
dGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBu
b3JtYWxcIj48Yj48aT5IZWxsbyA8IS0tIGNvbW1lbnQgLS0+d29ybGQ8L2k+PC9iPjwvc3Bhbj48
L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4iKTsKK3Rlc3RQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFs
XCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9i
PjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+cGxh
aW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFu
ZC1zYW5pdGl6ZS0xNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtYW5kLXNhbml0aXplLTE0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZjg5ZGNm
ODg4NDdhYWI0Yjg5MmEwMDdkMmRlMzJjMDk2OTgxZWI0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0xNC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxNyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBv
cGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0
eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4KKworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhl
bGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9i
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8aSBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IZWxsbzwvaT4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGI+SGVsbG88
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPjxiPjxp
PmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4n
CitGQUlMIGNvbmZpcm1lZE1hcmt1cCBzaG91bGQgYmUgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsi
PmhlbGxvPC9pPjwvYj48L2k+LiBXYXMgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPjxiPjxpIHN0
eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4KK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij5wbGFpbiB0
ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMTQuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMTQu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4zNjNjZGRlYTY2MzI4MDk0N2QwZDFiZjViNjFlYjg4YjU4NWZjYzg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LWFuZC1zYW5pdGl6ZS0xNC5odG1sCkBAIC0wLDAgKzEsNTYgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3Rl
IG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9z
aXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLiA8L3A+Cis8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRT
ZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOwor
ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5v
ZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0
ZXN0UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdFBhc3Rl
KCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxiPjxpPkhlbGxv
PC9pPjwvYj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbzwv
aT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rl
c3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj48ZGl2PkhlbGxvPC9kaXY+PC9kaXY+PC9kaXY+Iiwg
IkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxkaXY+PGk+SGVsbG88L2k+PC9k
aXY+PC9iPjwvZGl2PiIsICI8aSBzdHlsZT1cImZvbnQtd2VpZ2h0OiBib2xkO1wiPkhlbGxvPC9p
PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQt
d2VpZ2h0OiBub3JtYWxcIj48Yj48aT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+
IiwgCisgICAgICAgICAgIjxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3Bh
biBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48
aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5
bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5i
c3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxp
IHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPjxiPjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhl
bGxvPC9pPjwvYj48L2k+IiwKKyAgICAgICAgICAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+
aGVsbG88L2k+PC9iPjwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4g
c3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG8gPCEtLSBjb21tZW50IC0t
PndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG8mbmJzcDt3
b3JsZDwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxl
PVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0
PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250
LXdlaWdodDogbm9ybWFsO1wiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwv
Yj48L3NwYW4+PC9pPjwvYj4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0xNS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYWY4OWRjZjg4ODQ3YWFiNGI4OTJhMDA3ZDJkZTMyYzA5Njk4MWViNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1h
bmQtc2FuaXRpemUtMTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTcgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQg
dG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0
aGUgc3R5bGUuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGkgc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+
SGVsbG88L2k+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxiPkhlbGxvPC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQt
d2VpZ2h0OiBub3JtYWw7Ij48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwv
aT48L2I+PC9zcGFuPjwvaT48L2I+JworRkFJTCBjb25maXJtZWRNYXJrdXAgc2hvdWxkIGJlIDxp
IHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4gV2FzIDxpIHN0eWxlPSJt
YXJnaW46IDEwcHg7Ij48Yj48aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwv
aT4uCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48
L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdl
aWdodDogbm9ybWFsOyI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwv
c3Bhbj48L2k+PC9iPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtYW5kLXNhbml0aXplLTE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtYW5kLXNhbml0aXplLTE1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzYzY2RkZWE2NjMyODA5NDdk
MGQxYmY1YjYxZWI4OGI1ODVmY2M4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMTUuaHRtbApAQCAtMCwwICsxLDU2
IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVu
dCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5n
IHRoZSBzdHlsZS4gPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdFBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBl
eHBlY3RlZCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXApOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3Vz
KCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVy
SFRNTDsKKworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK3Rlc3RQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0UGFz
dGUoImRpdiIsICI8Yj48aT5IZWxsbzwvaT48L2I+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsK
K3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDog
bm9ybWFsXCI+PGI+PGk+SGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48
aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48ZGl2PjxpPkhlbGxvPC9pPjwvZGl2PjwvYj48L2Rpdj4iLCAiPGkgc3R5bGU9XCJmb250LXdl
aWdodDogYm9sZDtcIj5IZWxsbzwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj4iKTsK
K3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDog
bm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+d29ybGQ8L2k+PC9i
Pjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsIAorICAgICAgICAgICI8ZGl2PjxiPjxpPmhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxi
PjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+IGhlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9k
aXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5o
ZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7
Cit0ZXN0UGFzdGUoImRpdiIsICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj48Yj48aSBzdHls
ZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIsCisgICAgICAgICAgIjxpIHN0
eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+Iik7Cit0ZXN0UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxp
PkhlbGxvIDwhLS0gY29tbWVudCAtLT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+
IiwgIjxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj5wbGFpbiB0ZXh0
PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxi
PjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5wbGFpbiB0ZXh0PGI+PGk+
Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTE2
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQt
c2FuaXRpemUtMTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmODlkY2Y4ODg0N2FhYjRiODky
YTAwN2QyZGUzMmMwOTY5ODFlYjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTE2LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDE3IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmlt
cyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJr
dXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxpIHN0eWxl
PSJmb250LXdlaWdodDogYm9sZDsiPkhlbGxvPC9pPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48Yj5IZWxsbzwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxi
PjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+PGI+PGk+aGVsbG8xPC9pPjwv
Yj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK0ZBSUwgY29uZmly
bWVkTWFya3VwIHNob3VsZCBiZSA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9i
PjwvaT4uIFdhcyA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+PGI+PGkgc3R5bGU9Im1hcmdpbjog
MTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LgorUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxp
PkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48
aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPnBsYWluIHRleHQ8Yj48aT5ib2xk
IGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0xNi5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0xNi5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjM2M2NkZGVhNjYzMjgwOTQ3ZDBkMWJmNWI2MWViODhiNTg1ZmNjODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXpl
LTE2Lmh0bWwKQEAgLTAsMCArMSw1NiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRy
aW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1h
cmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuIDwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICByb290LmFwcGVuZENoaWxkKG5v
ZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxl
Y3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmly
bWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFy
a3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCit0ZXN0UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIsICI8
Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFu
IHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvPC9pPjwvYj48L3NwYW4+
PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYi
LCAiPGRpdj48ZGl2PjxkaXY+SGVsbG88L2Rpdj48L2Rpdj48L2Rpdj4iLCAiSGVsbG8iKTsKK3Rl
c3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxsbzwvaT48L2Rpdj48L2I+PC9kaXY+
IiwgIjxpIHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88L2k+Iik7Cit0ZXN0UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVs
bG88L2I+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGI+SGVsbG88L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFu
IHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L3NwYW4+
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1h
bFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAKKyAgICAgICAg
ICAiPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9u
dC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiBoZWxsbzI8L2k+
PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2Vp
Z2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+
PC9iPjwvc3Bhbj48L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGkgc3R5bGU9XCJtYXJn
aW46IDEwcHg7XCI+PGI+PGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwv
aT4iLAorICAgICAgICAgICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+
PC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQt
d2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbyA8IS0tIGNvbW1lbnQgLS0+d29ybGQ8L2k+PC9i
Pjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4i
KTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdo
dDogbm9ybWFsXCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bh
bj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3Jt
YWw7XCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+
PC9iPiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLWFuZC1zYW5pdGl6ZS0xNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTE3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5hZjg5ZGNmODg4NDdhYWI0Yjg5MmEwMDdkMmRlMzJjMDk2OTgxZWI0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0x
Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRo
ZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhl
IHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4KKwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVs
bG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8aSBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IZWxsbzwvaT4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGI+SGVsbG88L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1h
bDsiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+
PC9pPjwvYj4nCitGQUlMIGNvbmZpcm1lZE1hcmt1cCBzaG91bGQgYmUgPGkgc3R5bGU9Im1hcmdp
bjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LiBXYXMgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsi
PjxiPjxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4KK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7
Ij5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRp
emUtMTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2Fu
aXRpemUtMTcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNjNjZGRlYTY2MzI4MDk0N2QwZDFiZjViNjFlYjg4
YjU4NWZjYzg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0xNy5odG1sCkBAIC0wLDAgKzEsNTYgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
dGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0
aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLiA8
L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1
bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
cm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVl
OworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitm
dW5jdGlvbiB0ZXN0UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdFBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxi
PjxpPkhlbGxvPC9pPjwvYj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48
aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvPC9pPjwv
Yj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj48ZGl2PkhlbGxvPC9kaXY+PC9kaXY+
PC9kaXY+IiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxkaXY+PGk+SGVs
bG88L2k+PC9kaXY+PC9iPjwvZGl2PiIsICI8aSBzdHlsZT1cImZvbnQtd2VpZ2h0OiBib2xkO1wi
PkhlbGxvPC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT48c3BhbiBzdHls
ZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48
L2I+PC9kaXY+IiwgCisgICAgICAgICAgIjxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9p
PjwvYj48Yj48aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+
PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+
PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgi
ZGl2IiwgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPjxiPjxpIHN0eWxlPVwibWFyZ2luOiAx
MHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+IiwKKyAgICAgICAgICAiPGkgc3R5bGU9XCJtYXJnaW46
IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+
PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG8gPCEtLSBj
b21tZW50IC0tPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVs
bG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxz
cGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0
YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5
bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0
ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5v
bmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMTgtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0xOC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWY4OWRjZjg4ODQ3YWFiNGI4OTJhMDA3ZDJkZTMyYzA5
Njk4MWViNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS1hbmQtc2FuaXRpemUtMTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTcgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQg
ZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFm
ZmVjdGluZyB0aGUgc3R5bGUuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGkgc3R5bGU9ImZvbnQtd2VpZ2h0
OiBib2xkOyI+SGVsbG88L2k+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxiPkhlbGxvPC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5
bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNw
O2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworRkFJTCBjb25maXJtZWRNYXJrdXAgc2hv
dWxkIGJlIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4gV2FzIDxp
IHN0eWxlPSJtYXJnaW46IDEwcHg7Ij48Yj48aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88
L2k+PC9iPjwvaT4uCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG8mbmJzcDt3
b3JsZDwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxl
PSJmb250LXdlaWdodDogbm9ybWFsOyI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8
L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzYzY2RkZWE2
NjMyODA5NDdkMGQxYmY1YjYxZWI4OGI1ODVmY2M4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMTguaHRtbApAQCAt
MCwwICsxLDU2IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9F
TiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+
VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3Rl
ZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQg
YWZmZWN0aW5nIHRoZSBzdHlsZS4gPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdFBhc3RlKHRhZ05hbWUsIG9yaWdpbmFs
TWFya3VwLCBleHBlY3RlZCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXApOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBu
b2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBu
b2RlLmlubmVySFRNTDsKKworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK3Rlc3RQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0UGFzdGUoImRpdiIsICI8Yj48aT5IZWxsbzwvaT48L2I+IiwgIjxiPjxpPkhlbGxvPC9p
PjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250
LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2
PiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48ZGl2PjxpPkhlbGxvPC9pPjwvZGl2PjwvYj48L2Rpdj4iLCAiPGkgc3R5bGU9
XCJmb250LXdlaWdodDogYm9sZDtcIj5IZWxsbzwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48
L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250
LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsIAorICAgICAgICAgICI8ZGl2PjxiPjxp
PmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iKTsKK3Rl
c3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9y
bWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+IGhlbGxvMjwvaT48L2I+PC9zcGFuPjwv
aT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtc
Ij48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwv
aT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj48
Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIsCisgICAgICAg
ICAgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+Iik7Cit0ZXN0
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1h
bFwiPjxiPjxpPkhlbGxvIDwhLS0gY29tbWVudCAtLT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48
L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPiIpOwordGVzdFBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj5w
bGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9k
aXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5wbGFpbiB0
ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNh
bml0aXplLTE5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS1hbmQtc2FuaXRpemUtMTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmODlkY2Y4ODg0
N2FhYjRiODkyYTAwN2QyZGUzMmMwOTY5ODFlYjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTE5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDE3IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJh
dGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9m
IHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88
L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxpIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhlbGxvPC9pPicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48Yj5IZWxsbzwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+PGI+PGk+aGVs
bG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK0ZB
SUwgY29uZmlybWVkTWFya3VwIHNob3VsZCBiZSA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVs
bG88L2k+PC9iPjwvaT4uIFdhcyA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+PGI+PGkgc3R5bGU9
Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LgorUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPnBsYWluIHRleHQ8
Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0xOS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0xOS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjM2M2NkZGVhNjYzMjgwOTQ3ZDBkMWJmNWI2MWViODhiNTg1ZmNjODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5k
LXNhbml0aXplLTE5Lmh0bWwKQEAgLTAsMCArMSw1NiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3Bl
cmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkg
b2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuIDwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIgbm9kZSA9
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICByb290LmFwcGVu
ZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHki
LCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisg
ICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBzaG91bGRCZSgiY29u
ZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCit0ZXN0UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVsbG88L2k+
PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvPC9pPjwv
Yj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBh
c3RlKCJkaXYiLCAiPGRpdj48ZGl2PjxkaXY+SGVsbG88L2Rpdj48L2Rpdj48L2Rpdj4iLCAiSGVs
bG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxsbzwvaT48L2Rpdj48
L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88L2k+Iik7
Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGI+SGVsbG88L2I+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L3NwYW4+PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWln
aHQ6IG5vcm1hbFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAK
KyAgICAgICAgICAiPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0
eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiBo
ZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1c
ImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDto
ZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGkgc3R5
bGU9XCJtYXJnaW46IDEwcHg7XCI+PGI+PGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88
L2k+PC9iPjwvaT4iLAorICAgICAgICAgICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxs
bzwvaT48L2I+PC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHls
ZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbyA8IS0tIGNvbW1lbnQgLS0+d29y
bGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbyZuYnNwO3dvcmxk
PC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJm
b250LXdlaWdodDogbm9ybWFsXCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+
PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2Vp
Z2h0OiBub3JtYWw7XCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwv
c3Bhbj48L2k+PC9iPiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0yLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMi1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYWY4OWRjZjg4ODQ3YWFiNGI4OTJhMDA3ZDJkZTMyYzA5Njk4MWViNAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2Fu
aXRpemUtMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0
aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1
Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHls
ZS4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+
PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8aSBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IZWxsbzwv
aT4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGI+SGVsbG88L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6
IG5vcm1hbDsiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48
L3NwYW4+PC9pPjwvYj4nCitGQUlMIGNvbmZpcm1lZE1hcmt1cCBzaG91bGQgYmUgPGkgc3R5bGU9
Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LiBXYXMgPGkgc3R5bGU9Im1hcmdpbjog
MTBweDsiPjxiPjxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4KK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBu
b3JtYWw7Ij5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwv
aT48L2I+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQt
c2FuaXRpemUtMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFu
ZC1zYW5pdGl6ZS0yLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzYzY2RkZWE2NjMyODA5NDdkMGQxYmY1YjYx
ZWI4OGI1ODVmY2M4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMi5odG1sCkBAIC0wLDAgKzEsNTYgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVj
ZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxl
LiA8L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBk
b2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlv
biBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0
cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQor
CitmdW5jdGlvbiB0ZXN0UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdFBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2Iiwg
IjxiPjxpPkhlbGxvPC9pPjwvYj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48
Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvPC9p
PjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj48ZGl2PkhlbGxvPC9kaXY+PC9k
aXY+PC9kaXY+IiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxkaXY+PGk+
SGVsbG88L2k+PC9kaXY+PC9iPjwvZGl2PiIsICI8aSBzdHlsZT1cImZvbnQtd2VpZ2h0OiBib2xk
O1wiPkhlbGxvPC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PiIpOwordGVzdFBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT48c3BhbiBz
dHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT53b3JsZDwvaT48L2I+PC9zcGFuPjwv
aT48L2I+PC9kaXY+IiwgCisgICAgICAgICAgIjxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8x
PC9pPjwvYj48Yj48aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+
PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48
L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKK3Rlc3RQYXN0
ZSgiZGl2IiwgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPjxiPjxpIHN0eWxlPVwibWFyZ2lu
OiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+IiwKKyAgICAgICAgICAiPGkgc3R5bGU9XCJtYXJn
aW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+
PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG8gPCEt
LSBjb21tZW50IC0tPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+
SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPnBsYWluIHRleHQ8Yj48aT5ib2xk
IGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4g
c3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxp
YyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0g
Im5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMjAtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0y
MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWY4OWRjZjg4ODQ3YWFiNGI4OTJhMDA3ZDJkZTMy
YzA5Njk4MWViNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMjAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTcgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0
ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0
IGFmZmVjdGluZyB0aGUgc3R5bGUuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGkgc3R5bGU9ImZvbnQtd2Vp
Z2h0OiBib2xkOyI+SGVsbG88L2k+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxiPkhlbGxvPC9iPjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4g
c3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZu
YnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworRkFJTCBjb25maXJtZWRNYXJrdXAg
c2hvdWxkIGJlIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4gV2Fz
IDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij48Yj48aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVs
bG88L2k+PC9iPjwvaT4uCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG8mbmJz
cDt3b3JsZDwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0
eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRl
eHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTIwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzYzY2Rk
ZWE2NjMyODA5NDdkMGQxYmY1YjYxZWI4OGI1ODVmY2M4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMjAuaHRtbApA
QCAtMCwwICsxLDU2IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1M
Ly9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlv
biI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBh
c3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhv
dXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4gPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdFBhc3RlKHRhZ05hbWUsIG9yaWdp
bmFsTWFya3VwLCBleHBlY3RlZCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAg
ICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZh
bHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAg
PSBub2RlLmlubmVySFRNTDsKKworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK3Rlc3RQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8Yj48aT5IZWxsbzwvaT48L2I+IiwgIjxiPjxpPkhlbGxv
PC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJm
b250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwv
ZGl2PiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48ZGl2PjxpPkhlbGxvPC9pPjwvZGl2PjwvYj48L2Rpdj4iLCAiPGkgc3R5
bGU9XCJmb250LXdlaWdodDogYm9sZDtcIj5IZWxsbzwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwv
Yj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJm
b250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsIAorICAgICAgICAgICI8ZGl2Pjxi
PjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iKTsK
K3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDog
bm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+IGhlbGxvMjwvaT48L2I+PC9zcGFu
PjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1h
bDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFu
PjwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtc
Ij48Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIsCisgICAg
ICAgICAgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+Iik7Cit0
ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5v
cm1hbFwiPjxiPjxpPkhlbGxvIDwhLS0gY29tbWVudCAtLT53b3JsZDwvaT48L2I+PC9zcGFuPjwv
aT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPiIpOwordGVzdFBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxc
Ij5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+
PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5wbGFp
biB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5k
LXNhbml0aXplLTIxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS1hbmQtc2FuaXRpemUtMjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmODlkY2Y4
ODg0N2FhYjRiODkyYTAwN2QyZGUzMmMwOTY5ODFlYjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTIxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDE3IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9w
ZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5
IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVs
bG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxpIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhlbGxvPC9pPicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48Yj5IZWxsbzwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5oZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+PGI+PGk+
aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicK
K0ZBSUwgY29uZmlybWVkTWFya3VwIHNob3VsZCBiZSA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+
aGVsbG88L2k+PC9iPjwvaT4uIFdhcyA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+PGI+PGkgc3R5
bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LgorUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPnBsYWluIHRl
eHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0yMS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0yMS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjM2M2NkZGVhNjYzMjgwOTQ3ZDBkMWJmNWI2MWViODhiNTg1ZmNjODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
YW5kLXNhbml0aXplLTIxLmh0bWwKQEAgLTAsMCArMSw1NiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUg
b3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3Np
dHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuIDwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIgbm9k
ZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICByb290LmFw
cGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNv
cHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOwor
CisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBzaG91bGRCZSgi
Y29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCit0ZXN0UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVsbG88
L2k+PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvPC9p
PjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVz
dFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PjxkaXY+SGVsbG88L2Rpdj48L2Rpdj48L2Rpdj4iLCAi
SGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxsbzwvaT48L2Rp
dj48L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88L2k+
Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13
ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4i
LCAKKyAgICAgICAgICAiPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFu
IHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxp
PiBoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHls
ZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJz
cDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGkg
c3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+PGI+PGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVs
bG88L2k+PC9iPjwvaT4iLAorICAgICAgICAgICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5o
ZWxsbzwvaT48L2I+PC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBz
dHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbyA8IS0tIGNvbW1lbnQgLS0+
d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbyZuYnNwO3dv
cmxkPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9
XCJmb250LXdlaWdodDogbm9ybWFsXCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8
L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQt
d2VpZ2h0OiBub3JtYWw7XCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9i
Pjwvc3Bhbj48L2k+PC9iPiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0yMi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTIyLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5hZjg5ZGNmODg4NDdhYWI0Yjg5MmEwMDdkMmRlMzJjMDk2OTgxZWI0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFu
ZC1zYW5pdGl6ZS0yMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNyBAQAorVGhpcyB0ZXN0IGNo
ZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0
byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRo
ZSBzdHlsZS4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8aSBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5I
ZWxsbzwvaT4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGI+SGVsbG88L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13
ZWlnaHQ6IG5vcm1hbDsiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9p
PjwvYj48L3NwYW4+PC9pPjwvYj4nCitGQUlMIGNvbmZpcm1lZE1hcmt1cCBzaG91bGQgYmUgPGkg
c3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LiBXYXMgPGkgc3R5bGU9Im1h
cmdpbjogMTBweDsiPjxiPjxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9p
Pi4KK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwv
Yj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2Vp
Z2h0OiBub3JtYWw7Ij5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9z
cGFuPjwvaT48L2I+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS1hbmQtc2FuaXRpemUtMjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS1hbmQtc2FuaXRpemUtMjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNjNjZGRlYTY2MzI4MDk0N2Qw
ZDFiZjViNjFlYjg4YjU4NWZjYzg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0yMi5odG1sCkBAIC0wLDAgKzEsNTYg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50
IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3Rpbmcg
dGhlIHN0eWxlLiA8L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3Zh
ciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKwor
CitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9k
ZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRp
dGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBu
b2RlOworfQorCitmdW5jdGlvbiB0ZXN0UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdFBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0
ZSgiZGl2IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwor
dGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBu
b3JtYWxcIj48Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxp
PkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj48ZGl2PkhlbGxv
PC9kaXY+PC9kaXY+PC9kaXY+IiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxkaXY+PGk+SGVsbG88L2k+PC9kaXY+PC9iPjwvZGl2PiIsICI8aSBzdHlsZT1cImZvbnQtd2Vp
Z2h0OiBib2xkO1wiPkhlbGxvPC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PiIpOwor
dGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBu
b3JtYWxcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgCisgICAgICAgICAgIjxkaXY+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+
PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rp
dj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhl
bGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsK
K3Rlc3RQYXN0ZSgiZGl2IiwgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPjxiPjxpIHN0eWxl
PVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+IiwKKyAgICAgICAgICAiPGkgc3R5
bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2
IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+
SGVsbG8gPCEtLSBjb21tZW50IC0tPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4i
LCAiPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPnBsYWluIHRleHQ8
Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+
PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPnBsYWluIHRleHQ8Yj48aT5i
b2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKKworcm9vdC5zdHlsZS5k
aXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMjMt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1z
YW5pdGl6ZS0yMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWY4OWRjZjg4ODQ3YWFiNGI4OTJh
MDA3ZDJkZTMyYzA5Njk4MWViNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMjMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTcgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1z
IHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1
cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGkgc3R5bGU9
ImZvbnQtd2VpZ2h0OiBib2xkOyI+SGVsbG88L2k+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxiPkhlbGxvPC9iPjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+
PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij48Yj48aT5oZWxsbzE8L2k+PC9i
PjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworRkFJTCBjb25maXJt
ZWRNYXJrdXAgc2hvdWxkIGJlIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+
PC9pPi4gV2FzIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij48Yj48aSBzdHlsZT0ibWFyZ2luOiAx
MHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+
SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxp
PjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+cGxhaW4gdGV4dDxiPjxpPmJvbGQg
aXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTIzLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTIzLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMzYzY2RkZWE2NjMyODA5NDdkMGQxYmY1YjYxZWI4OGI1ODVmY2M4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUt
MjMuaHRtbApAQCAtMCwwICsxLDU2IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYv
L0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJk
ZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJp
bXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFy
a3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4gPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdFBhc3RlKHRhZ05h
bWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9k
ZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVj
dEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJt
ZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK3Rlc3RQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8Yj48aT5IZWxsbzwvaT48L2I+IiwgIjxi
PjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4g
c3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG88L2k+PC9iPjwvc3Bhbj48
L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIpOwordGVz
dFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48ZGl2PjxpPkhlbGxvPC9pPjwvZGl2PjwvYj48L2Rpdj4i
LCAiPGkgc3R5bGU9XCJmb250LXdlaWdodDogYm9sZDtcIj5IZWxsbzwvaT4iKTsKK3Rlc3RQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxs
bzwvYj48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
Yj5IZWxsbzwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4g
c3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFs
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsIAorICAgICAgICAg
ICI8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250
LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+IGhlbGxvMjwvaT48
L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWln
aHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48
L2I+PC9zcGFuPjwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8aSBzdHlsZT1cIm1hcmdp
bjogMTBweDtcIj48Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9p
PiIsCisgICAgICAgICAgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48
L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13
ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvIDwhLS0gY29tbWVudCAtLT53b3JsZDwvaT48L2I+
PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPiIp
OwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0
OiBub3JtYWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFu
PjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1h
bDtcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48
L2I+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtYW5kLXNhbml0aXplLTI0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmFmODlkY2Y4ODg0N2FhYjRiODkyYTAwN2QyZGUzMmMwOTY5ODFlYjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTI0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhl
IHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUg
dmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxs
bzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxpIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhlbGxvPC9pPicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48
Yj5IZWxsbzwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFs
OyI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48
L2k+PC9iPicKK0ZBSUwgY29uZmlybWVkTWFya3VwIHNob3VsZCBiZSA8aSBzdHlsZT0ibWFyZ2lu
OiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uIFdhcyA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+
PGI+PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LgorUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsi
PnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6
ZS0yNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5p
dGl6ZS0yNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2M2NkZGVhNjYzMjgwOTQ3ZDBkMWJmNWI2MWViODhi
NTg1ZmNjODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtYW5kLXNhbml0aXplLTI0Lmh0bWwKQEAgLTAsMCArMSw1NiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0
aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRo
ZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuIDwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsKKyAg
ICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAg
ICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwg
ZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBz
aG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCit0
ZXN0UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGI+
PGk+SGVsbG88L2k+PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxp
PkhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG88L2k+PC9i
PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PjxkaXY+SGVsbG88L2Rpdj48L2Rpdj48
L2Rpdj4iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxs
bzwvaT48L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+
SGVsbG88L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPjxzcGFuIHN0eWxl
PVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwv
Yj48L2Rpdj4iLCAKKyAgICAgICAgICAiPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+
PC9iPjxiPjxpPiBoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48
c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48
Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOwordGVzdFBhc3RlKCJk
aXYiLCAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+PGI+PGkgc3R5bGU9XCJtYXJnaW46IDEw
cHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iLAorICAgICAgICAgICI8aSBzdHlsZT1cIm1hcmdpbjog
MTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbyA8IS0tIGNv
bW1lbnQgLS0+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxs
byZuYnNwO3dvcmxkPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNw
YW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRh
bGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHls
ZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRl
eHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0yNS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTI1LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZjg5ZGNmODg4NDdhYWI0Yjg5MmEwMDdkMmRlMzJjMDk2
OTgxZWI0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLWFuZC1zYW5pdGl6ZS0yNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNyBAQAorVGhp
cyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBm
cmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZm
ZWN0aW5nIHRoZSBzdHlsZS4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8aSBzdHlsZT0iZm9udC13ZWlnaHQ6
IGJvbGQ7Ij5IZWxsbzwvaT4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGI+SGVsbG88L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHls
ZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7
aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitGQUlMIGNvbmZpcm1lZE1hcmt1cCBzaG91
bGQgYmUgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LiBXYXMgPGkg
c3R5bGU9Im1hcmdpbjogMTBweDsiPjxiPjxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwv
aT48L2I+PC9pPi4KK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbyZuYnNwO3dv
cmxkPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9
ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwv
aT48L2I+PC9zcGFuPjwvaT48L2I+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNjNjZGRlYTY2
MzI4MDk0N2QwZDFiZjViNjFlYjg4YjU4NWZjYzg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0yNS5odG1sCkBAIC0w
LDAgKzEsNTYgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVk
IGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBh
ZmZlY3RpbmcgdGhlIHN0eWxlLiA8L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3Jp
cHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChy
b290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAg
ICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5j
b250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAg
IHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdFBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iKTsK
K3Rlc3RQYXN0ZSgiZGl2IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iLCAiPGI+PGk+SGVsbG88L2k+
PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQt
d2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+
IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj48
ZGl2PkhlbGxvPC9kaXY+PC9kaXY+PC9kaXY+IiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxkaXY+PGk+SGVsbG88L2k+PC9kaXY+PC9iPjwvZGl2PiIsICI8aSBzdHlsZT1c
ImZvbnQtd2VpZ2h0OiBib2xkO1wiPkhlbGxvPC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRp
dj48ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwv
ZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQt
d2VpZ2h0OiBub3JtYWxcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgCisgICAgICAgICAgIjxkaXY+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIpOwordGVz
dFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3Jt
YWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+PC9p
PjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wi
PjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9p
PjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPjxi
PjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+IiwKKyAgICAgICAg
ICAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iKTsKK3Rlc3RQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFs
XCI+PGI+PGk+SGVsbG8gPCEtLSBjb21tZW50IC0tPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwv
Yj48L2Rpdj4iLCAiPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7Cit0ZXN0UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPnBs
YWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rp
dj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPnBsYWluIHRl
eHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKKworcm9v
dC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2Fu
aXRpemUtMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtYW5kLXNhbml0aXplLTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmODlkY2Y4ODg0N2Fh
YjRiODkyYTAwN2QyZGUzMmMwOTY5ODFlYjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTcgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9u
IHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhl
IG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48
L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGkg
c3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SGVsbG88L2k+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxiPkhlbGxvPC9iPjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij48Yj48aT5oZWxsbzE8
L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworRkFJTCBj
b25maXJtZWRNYXJrdXAgc2hvdWxkIGJlIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwv
aT48L2I+PC9pPi4gV2FzIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij48Yj48aSBzdHlsZT0ibWFy
Z2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+cGxhaW4gdGV4dDxiPjxp
PmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTMuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjM2M2NkZGVhNjYzMjgwOTQ3ZDBkMWJmNWI2MWViODhiNTg1ZmNjODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0
aXplLTMuaHRtbApAQCAtMCwwICsxLDU2IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lF
VEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlk
PSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24g
dHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUg
bWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4gPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdFBhc3RlKHRh
Z05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCkgeworICAgIHZhciBub2RlID0gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIHJvb3QuYXBwZW5kQ2hpbGQo
bm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNl
bGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25m
aXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK3Rlc3RQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iiwg
IjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNw
YW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG88L2k+PC9iPjwvc3Bh
bj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIpOwor
dGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48ZGl2PjxpPkhlbGxvPC9pPjwvZGl2PjwvYj48L2Rp
dj4iLCAiPGkgc3R5bGU9XCJmb250LXdlaWdodDogYm9sZDtcIj5IZWxsbzwvaT4iKTsKK3Rlc3RQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5I
ZWxsbzwvYj48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48Yj5IZWxsbzwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNw
YW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bh
bj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9y
bWFsXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsIAorICAgICAg
ICAgICI8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJm
b250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+IGhlbGxvMjwv
aT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13
ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwv
aT48L2I+PC9zcGFuPjwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8aSBzdHlsZT1cIm1h
cmdpbjogMTBweDtcIj48Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+
PC9pPiIsCisgICAgICAgICAgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwv
Yj48L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9u
dC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvIDwhLS0gY29tbWVudCAtLT53b3JsZDwvaT48
L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9i
PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2Vp
Z2h0OiBub3JtYWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9z
cGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5v
cm1hbDtcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwv
aT48L2I+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtYW5kLXNhbml0aXplLTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS00LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5hZjg5ZGNmODg4NDdhYWI0Yjg5MmEwMDdkMmRlMzJjMDk2OTgxZWI0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS00
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhl
IHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUg
dmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxs
bzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxpIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhlbGxvPC9pPicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48
Yj5IZWxsbzwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFs
OyI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48
L2k+PC9iPicKK0ZBSUwgY29uZmlybWVkTWFya3VwIHNob3VsZCBiZSA8aSBzdHlsZT0ibWFyZ2lu
OiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uIFdhcyA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+
PGI+PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LgorUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsi
PnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6
ZS00Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0
aXplLTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNjNjZGRlYTY2MzI4MDk0N2QwZDFiZjViNjFlYjg4YjU4
NWZjYzg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLWFuZC1zYW5pdGl6ZS00Lmh0bWwKQEAgLTAsMCArMSw1NiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUg
cGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2
ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuIDwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsKKyAgICB2
YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBy
b290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFs
c2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBzaG91
bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCit0ZXN0
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGI+PGk+
SGVsbG88L2k+PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhl
bGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIp
OwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PjxkaXY+SGVsbG88L2Rpdj48L2Rpdj48L2Rp
dj4iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxsbzwv
aT48L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+SGVs
bG88L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwi
Zm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48
L2Rpdj4iLCAKKyAgICAgICAgICAiPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9i
PjxiPjxpPiBoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3Bh
biBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48
aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYi
LCAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+PGI+PGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7
XCI+aGVsbG88L2k+PC9iPjwvaT4iLAorICAgICAgICAgICI8aSBzdHlsZT1cIm1hcmdpbjogMTBw
eDtcIj5oZWxsbzwvaT48L2I+PC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48
c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbyA8IS0tIGNvbW1l
bnQgLS0+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbyZu
YnNwO3dvcmxkPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4g
c3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGlj
IHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1c
ImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8
L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS01LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYWY4OWRjZjg4ODQ3YWFiNGI4OTJhMDA3ZDJkZTMyYzA5Njk4MWVi
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS1hbmQtc2FuaXRpemUtNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNyBAQAorVGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVu
dCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5n
IHRoZSBzdHlsZS4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8aSBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7
Ij5IZWxsbzwvaT4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGI+SGVsbG88L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9u
dC13ZWlnaHQ6IG5vcm1hbDsiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8y
PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitGQUlMIGNvbmZpcm1lZE1hcmt1cCBzaG91bGQgYmUg
PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LiBXYXMgPGkgc3R5bGU9
Im1hcmdpbjogMTBweDsiPjxiPjxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+
PC9pPi4KK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9p
PjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQt
d2VpZ2h0OiBub3JtYWw7Ij5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+
PC9zcGFuPjwvaT48L2I+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS1hbmQtc2FuaXRpemUtNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLWFuZC1zYW5pdGl6ZS01Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzYzY2RkZWE2NjMyODA5NDdk
MGQxYmY1YjYxZWI4OGI1ODVmY2M4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNS5odG1sCkBAIC0wLDAgKzEsNTYg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50
IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3Rpbmcg
dGhlIHN0eWxlLiA8L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3Zh
ciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKwor
CitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9k
ZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRp
dGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBu
b2RlOworfQorCitmdW5jdGlvbiB0ZXN0UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdFBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0
ZSgiZGl2IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwor
dGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBu
b3JtYWxcIj48Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxp
PkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj48ZGl2PkhlbGxv
PC9kaXY+PC9kaXY+PC9kaXY+IiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxkaXY+PGk+SGVsbG88L2k+PC9kaXY+PC9iPjwvZGl2PiIsICI8aSBzdHlsZT1cImZvbnQtd2Vp
Z2h0OiBib2xkO1wiPkhlbGxvPC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PiIpOwor
dGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBu
b3JtYWxcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgCisgICAgICAgICAgIjxkaXY+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+
PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rp
dj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhl
bGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsK
K3Rlc3RQYXN0ZSgiZGl2IiwgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPjxiPjxpIHN0eWxl
PVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+IiwKKyAgICAgICAgICAiPGkgc3R5
bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2
IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+
SGVsbG8gPCEtLSBjb21tZW50IC0tPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4i
LCAiPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPnBsYWluIHRleHQ8
Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+
PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPnBsYWluIHRleHQ8Yj48aT5i
b2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKKworcm9vdC5zdHlsZS5k
aXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNi1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNh
bml0aXplLTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmODlkY2Y4ODg0N2FhYjRiODkyYTAw
N2QyZGUzMmMwOTY5ODFlYjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTcgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRo
ZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3
aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGkgc3R5bGU9ImZv
bnQtd2VpZ2h0OiBib2xkOyI+SGVsbG88L2k+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxiPkhlbGxvPC9iPjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+
PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij48Yj48aT5oZWxsbzE8L2k+PC9iPjxi
PjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworRkFJTCBjb25maXJtZWRN
YXJrdXAgc2hvdWxkIGJlIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9p
Pi4gV2FzIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij48Yj48aSBzdHlsZT0ibWFyZ2luOiAxMHB4
OyI+aGVsbG88L2k+PC9iPjwvaT4uCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVs
bG8mbmJzcDt3b3JsZDwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxz
cGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRh
bGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTYuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNi5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2
M2NkZGVhNjYzMjgwOTQ3ZDBkMWJmNWI2MWViODhiNTg1ZmNjODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTYuaHRt
bApAQCAtMCwwICsxLDU2IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBI
VE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlw
dGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhl
IHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdp
dGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4gPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdFBhc3RlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwLCBleHBlY3RlZCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisK
KyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIs
IGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJr
dXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK3Rlc3RQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8Yj48aT5IZWxsbzwvaT48L2I+IiwgIjxiPjxpPkhl
bGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9
XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9i
PjwvZGl2PiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIpOwordGVzdFBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48ZGl2PjxpPkhlbGxvPC9pPjwvZGl2PjwvYj48L2Rpdj4iLCAiPGkg
c3R5bGU9XCJmb250LXdlaWdodDogYm9sZDtcIj5IZWxsbzwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxs
bzwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9
XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsIAorICAgICAgICAgICI8ZGl2
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
KTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdo
dDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+IGhlbGxvMjwvaT48L2I+PC9z
cGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5v
cm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9z
cGFuPjwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8aSBzdHlsZT1cIm1hcmdpbjogMTBw
eDtcIj48Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIsCisg
ICAgICAgICAgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+Iik7
Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6
IG5vcm1hbFwiPjxiPjxpPkhlbGxvIDwhLS0gY29tbWVudCAtLT53b3JsZDwvaT48L2I+PC9zcGFu
PjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPiIpOwordGVz
dFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3Jt
YWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48
L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5w
bGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
YW5kLXNhbml0aXplLTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS03LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZjg5ZGNm
ODg4NDdhYWI0Yjg5MmEwMDdkMmRlMzJjMDk2OTgxZWI0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS03LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDE3IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9w
ZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5
IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVs
bG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxpIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhlbGxvPC9pPicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48Yj5IZWxsbzwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5oZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+PGI+PGk+
aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicK
K0ZBSUwgY29uZmlybWVkTWFya3VwIHNob3VsZCBiZSA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+
aGVsbG88L2k+PC9iPjwvaT4uIFdhcyA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+PGI+PGkgc3R5
bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LgorUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPnBsYWluIHRl
eHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS03Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTcuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4zNjNjZGRlYTY2MzI4MDk0N2QwZDFiZjViNjFlYjg4YjU4NWZjYzg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFu
ZC1zYW5pdGl6ZS03Lmh0bWwKQEAgLTAsMCArMSw1NiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3Bl
cmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkg
b2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuIDwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIgbm9kZSA9
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICByb290LmFwcGVu
ZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHki
LCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisg
ICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBzaG91bGRCZSgiY29u
ZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCit0ZXN0UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVsbG88L2k+
PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvPC9pPjwv
Yj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBh
c3RlKCJkaXYiLCAiPGRpdj48ZGl2PjxkaXY+SGVsbG88L2Rpdj48L2Rpdj48L2Rpdj4iLCAiSGVs
bG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxsbzwvaT48L2Rpdj48
L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88L2k+Iik7
Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGI+SGVsbG88L2I+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L3NwYW4+PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWln
aHQ6IG5vcm1hbFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAK
KyAgICAgICAgICAiPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0
eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiBo
ZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1c
ImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDto
ZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGkgc3R5
bGU9XCJtYXJnaW46IDEwcHg7XCI+PGI+PGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88
L2k+PC9iPjwvaT4iLAorICAgICAgICAgICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxs
bzwvaT48L2I+PC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHls
ZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbyA8IS0tIGNvbW1lbnQgLS0+d29y
bGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbyZuYnNwO3dvcmxk
PC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJm
b250LXdlaWdodDogbm9ybWFsXCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+
PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2Vp
Z2h0OiBub3JtYWw7XCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwv
c3Bhbj48L2k+PC9iPiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS04LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtOC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYWY4OWRjZjg4ODQ3YWFiNGI4OTJhMDA3ZDJkZTMyYzA5Njk4MWViNAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2Fu
aXRpemUtOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0
aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1
Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHls
ZS4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+
PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8aSBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IZWxsbzwv
aT4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGI+SGVsbG88L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6
IG5vcm1hbDsiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48
L3NwYW4+PC9pPjwvYj4nCitGQUlMIGNvbmZpcm1lZE1hcmt1cCBzaG91bGQgYmUgPGkgc3R5bGU9
Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LiBXYXMgPGkgc3R5bGU9Im1hcmdpbjog
MTBweDsiPjxiPjxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4KK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBu
b3JtYWw7Ij5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwv
aT48L2I+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQt
c2FuaXRpemUtOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFu
ZC1zYW5pdGl6ZS04Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzYzY2RkZWE2NjMyODA5NDdkMGQxYmY1YjYx
ZWI4OGI1ODVmY2M4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtOC5odG1sCkBAIC0wLDAgKzEsNTYgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVj
ZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxl
LiA8L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBk
b2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlv
biBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0
cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQor
CitmdW5jdGlvbiB0ZXN0UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdFBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2Iiwg
IjxiPjxpPkhlbGxvPC9pPjwvYj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48
Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvPC9p
PjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj48ZGl2PkhlbGxvPC9kaXY+PC9k
aXY+PC9kaXY+IiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxkaXY+PGk+
SGVsbG88L2k+PC9kaXY+PC9iPjwvZGl2PiIsICI8aSBzdHlsZT1cImZvbnQtd2VpZ2h0OiBib2xk
O1wiPkhlbGxvPC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PiIpOwordGVzdFBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT48c3BhbiBz
dHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT53b3JsZDwvaT48L2I+PC9zcGFuPjwv
aT48L2I+PC9kaXY+IiwgCisgICAgICAgICAgIjxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8x
PC9pPjwvYj48Yj48aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+
PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48
L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKK3Rlc3RQYXN0
ZSgiZGl2IiwgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPjxiPjxpIHN0eWxlPVwibWFyZ2lu
OiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+IiwKKyAgICAgICAgICAiPGkgc3R5bGU9XCJtYXJn
aW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+
PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG8gPCEt
LSBjb21tZW50IC0tPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+
SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPnBsYWluIHRleHQ8Yj48aT5ib2xk
IGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4g
c3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxp
YyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0g
Im5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtOS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTkt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmODlkY2Y4ODg0N2FhYjRiODkyYTAwN2QyZGUzMmMw
OTY5ODFlYjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtYW5kLXNhbml0aXplLTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTcgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQg
ZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFm
ZmVjdGluZyB0aGUgc3R5bGUuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGkgc3R5bGU9ImZvbnQtd2VpZ2h0
OiBib2xkOyI+SGVsbG88L2k+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxiPkhlbGxvPC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5
bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNw
O2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworRkFJTCBjb25maXJtZWRNYXJrdXAgc2hv
dWxkIGJlIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4gV2FzIDxp
IHN0eWxlPSJtYXJnaW46IDEwcHg7Ij48Yj48aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88
L2k+PC9iPjwvaT4uCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG8mbmJzcDt3
b3JsZDwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxl
PSJmb250LXdlaWdodDogbm9ybWFsOyI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8
L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2M2NkZGVhNjYz
MjgwOTQ3ZDBkMWJmNWI2MWViODhiNTg1ZmNjODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTkuaHRtbApAQCAtMCww
ICsxLDU2IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+
Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhp
cyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBm
cmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZm
ZWN0aW5nIHRoZSBzdHlsZS4gPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdFBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFy
a3VwLCBleHBlY3RlZCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXApOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2Rl
LmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2Rl
LmlubmVySFRNTDsKKworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK3Rlc3RQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0UGFzdGUoImRpdiIsICI8Yj48aT5IZWxsbzwvaT48L2I+IiwgIjxiPjxpPkhlbGxvPC9pPjwv
Yj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdl
aWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIs
ICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48ZGl2PjxpPkhlbGxvPC9pPjwvZGl2PjwvYj48L2Rpdj4iLCAiPGkgc3R5bGU9XCJm
b250LXdlaWdodDogYm9sZDtcIj5IZWxsbzwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rp
dj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdl
aWdodDogbm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsIAorICAgICAgICAgICI8ZGl2PjxiPjxpPmhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iKTsKK3Rlc3RQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFs
O1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+IGhlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48
L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48
Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48
L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj48Yj48
aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIsCisgICAgICAgICAg
IjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+Iik7Cit0ZXN0UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwi
PjxiPjxpPkhlbGxvIDwhLS0gY29tbWVudCAtLT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+
PC9kaXY+IiwgIjxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPiIpOwordGVzdFBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj5wbGFp
biB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+
IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5wbGFpbiB0ZXh0
PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>381545</attachid>
            <date>2019-10-22 08:31:59 -0700</date>
            <delta_ts>2019-10-22 09:47:32 -0700</delta_ts>
            <desc>Test run #4</desc>
            <filename>bug-203199-20191022083158.patch</filename>
            <type>text/plain</type>
            <size>231534</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUxNDI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzk4Y2YyNGVlN2U3NGQ3
ODUyMDBiMmIwM2YwMzkxNGVkYWQ3MDg0OC4uM2RkZGQ2NjRlYjE1ODJiYzhjMDJjY2NkYWNhMGFh
NTEwYzQzYWQ3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE5LTEwLTIxICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUuaHRtbCBpcyBhIGZsYWt5IGZhaWx1cmUKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMzE5OQorICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vNTM1NTE3MzY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgSnVzdCBhbiBleHBlcmltZW50OyBvYnZpb3VzbHkgbm90IGlu
dGVuZGVkIGZvciByZXZpZXcuCisKKyAgICAgICAgKiBlZGl0aW5nL0VkaXRvci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpyZXByKToKKyAgICAgICAgKFdlYkNvcmU6OnN0cmluZyk6CisgICAgICAg
IChXZWJDb3JlOjpFZGl0b3I6OmhhbmRsZVRleHRFdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpF
ZGl0b3I6OnBhc3RlKToKKyAgICAgICAgKiBlZGl0aW5nL1JlcGxhY2VTZWxlY3Rpb25Db21tYW5k
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlcGxhY2VTZWxlY3Rpb25Db21tYW5kOjpkb0FwcGx5
KToKKwogMjAxOS0xMC0yMiAgRGlyayBTY2h1bHplICA8a3JpdEB3ZWJraXQub3JnPgogCiAgICAg
ICAgIFNWRzI6IFVzZSBET01NYXRyaXgyREluaXQgZm9yIHNldE1hdHJpeCBhbmQgY3JlYXRlU1ZH
VHJhbnNmb3JtRnJvbU1hdHJpeApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9F
ZGl0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwCmluZGV4IGU4YjI0
MzYwNTE1MThkYTMzODFkMmY1NzU3ZmE2MTg2ZTY4NTNhN2QuLjIxNTY5NzQ1Njk5NjJjMmFmMzE5
OGRiZmI2NTcwNjQxNzY3YmE4MzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
RWRpdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAKQEAgLTE0
MDQsNyArMTQwNCw5IEBAIHZvaWQgRWRpdG9yOjpwZXJmb3JtQ3V0T3JDb3B5KEVkaXRvckFjdGlv
blNwZWNpZmllciBhY3Rpb24pCiAjZW5kaWYKICAgICAgICAgfSBlbHNlIHsKICNpZiAhUExBVEZP
Uk0oV0lOKQorICAgICAgICAgICAgV1RGTG9nQWx3YXlzKCI8V0s+OiA+Pj4gV3JpdGluZyBzZWxl
Y3Rpb24gdG8gcGFzdGVib2FyZCEiKTsKICAgICAgICAgICAgIHdyaXRlU2VsZWN0aW9uVG9QYXN0
ZWJvYXJkKCpQYXN0ZWJvYXJkOjpjcmVhdGVGb3JDb3B5QW5kUGFzdGUoKSk7CisgICAgICAgICAg
ICBXVEZMb2dBbHdheXMoIjxXSz46IDw8PCBkb25lIHdyaXRpbmcgc2VsZWN0aW9uIHRvIHBhc3Rl
Ym9hcmQuIik7CiAjZWxzZQogICAgICAgICAgICAgLy8gRklYTUU6IERlbGV0ZSBhZnRlciA8aHR0
cDovL3dlYmtpdC5vcmcvYi8xNzc2MTg+IGxhbmRzLgogICAgICAgICAgICAgUGFzdGVib2FyZDo6
Y3JlYXRlRm9yQ29weUFuZFBhc3RlKCktPndyaXRlU2VsZWN0aW9uKCpzZWxlY3Rpb24sIGNhblNt
YXJ0Q29weU9yRGVsZXRlKCksIG1fZnJhbWUsIEluY2x1ZGVJbWFnZUFsdFRleHRGb3JEYXRhVHJh
bnNmZXIpOwpAQCAtMTQyOCw4ICsxNDMwLDE1IEBAIHZvaWQgRWRpdG9yOjpwYXN0ZSgpCiAgICAg
cGFzdGUoKlBhc3RlYm9hcmQ6OmNyZWF0ZUZvckNvcHlBbmRQYXN0ZSgpKTsKIH0KIAorI2lmICFQ
TEFURk9STShJT1NfRkFNSUxZKQorc3RhdGljX2Fzc2VydChmYWxzZSwgIkkganVzdCB3YW50IHJl
c3VsdHMgZnJvbSBpT1MgYm90cywgc28gZmFpbCBlYXJseSBoZXJlIGZvciBub24taU9TLiIpOwor
I2VuZGlmCisKIHZvaWQgRWRpdG9yOjpwYXN0ZShQYXN0ZWJvYXJkJiBwYXN0ZWJvYXJkKQogewor
ICAgIGlmIChtX2ZyYW1lLmRvY3VtZW50KCkpCisgICAgICAgIFdURkxvZ0Fsd2F5cygiPFdLPjog
QXR0ZW1wdGluZyB0byBwYXN0ZSAoJXMpIiwgbV9mcmFtZS5kb2N1bWVudCgpLT51cmwoKS5sYXN0
UGF0aENvbXBvbmVudCgpLnV0ZjgoKS5kYXRhKCkpOworCiAgICAgaWYgKCFkaXNwYXRjaENsaXBi
b2FyZEV2ZW50KGZpbmRFdmVudFRhcmdldEZyb21TZWxlY3Rpb24oKSwgQ2xpcGJvYXJkRXZlbnRL
aW5kOjpQYXN0ZSkpCiAgICAgICAgIHJldHVybjsgLy8gREhUTUwgZGlkIHRoZSB3aG9sZSBvcGVy
YXRpb24KICAgICBpZiAoIWNhblBhc3RlKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9pb3MvUGFzdGVib2FyZElPUy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lv
cy9QYXN0ZWJvYXJkSU9TLm1tCmluZGV4IDU1ZGM3MzNmNjFlMjNkMDg1NzdhZTgxOTJlM2MzYWYz
ZDk2MTFhODIuLjI5NGU3YWVhNTg2MWE3ZTYzNzI1M2NkYmMzNGFmMWQyMzFlZjE3N2UgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9QYXN0ZWJvYXJkSU9TLm1tCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9QYXN0ZWJvYXJkSU9TLm1tCkBAIC0zMjgsMTcg
KzMyOCwyNyBAQCB2b2lkIFBhc3RlYm9hcmQ6OnJlYWQoUGFzdGVib2FyZFdlYkNvbnRlbnRSZWFk
ZXImIHJlYWRlciwgV2ViQ29udGVudFJlYWRpbmdQb2xpYwogICAgICAgICB9CiAjZW5kaWYKIAor
ICAgICAgICBOU0xvZyhAIjxXSz46IFRyeWluZyAldHUgdHlwZShzKSIsIHR5cGVzLmNvdW50KTsK
KwogICAgICAgICBmb3IgKGludCB0eXBlSW5kZXggPSAwOyB0eXBlSW5kZXggPCBudW1iZXJPZlR5
cGVzOyB0eXBlSW5kZXgrKykgewogICAgICAgICAgICAgTlNTdHJpbmcgKnR5cGUgPSBbdHlwZXMg
b2JqZWN0QXRJbmRleDp0eXBlSW5kZXhdOwotICAgICAgICAgICAgaWYgKCFpc1R5cGVBbGxvd2Vk
QnlSZWFkaW5nUG9saWN5KHR5cGUsIHBvbGljeSkpCisgICAgICAgICAgICBpZiAoIWlzVHlwZUFs
bG93ZWRCeVJlYWRpbmdQb2xpY3kodHlwZSwgcG9saWN5KSkgeworICAgICAgICAgICAgICAgIE5T
TG9nKEAiPFdLPjogTm90IGFsbG93ZWQgdG8gcmVhZCAlQCIsIHR5cGUpOwogICAgICAgICAgICAg
ICAgIGNvbnRpbnVlOworICAgICAgICAgICAgfQogCiAgICAgICAgICAgICBhdXRvIGl0ZW1SZXN1
bHQgPSByZWFkUGFzdGVib2FyZFdlYkNvbnRlbnREYXRhRm9yVHlwZShyZWFkZXIsIHN0cmF0ZWd5
LCB0eXBlLCAqaW5mbywgaSk7Ci0gICAgICAgICAgICBpZiAoaXRlbVJlc3VsdCA9PSBSZWFkZXJS
ZXN1bHQ6OlBhc3RlYm9hcmRXYXNDaGFuZ2VkRXh0ZXJuYWxseSkKKyAgICAgICAgICAgIGlmIChp
dGVtUmVzdWx0ID09IFJlYWRlclJlc3VsdDo6UGFzdGVib2FyZFdhc0NoYW5nZWRFeHRlcm5hbGx5
KSB7CisgICAgICAgICAgICAgICAgTlNMb2coQCI8V0s+OiAqKiogQ0hBTkdFQ09VTlQgQ0hBTkdF
RCBFWFRFUk5BTExZICoqKiIpOwogICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAg
IH0KIAotICAgICAgICAgICAgaWYgKGl0ZW1SZXN1bHQgPT0gUmVhZGVyUmVzdWx0OjpSZWFkVHlw
ZSkKKyAgICAgICAgICAgIGlmIChpdGVtUmVzdWx0ID09IFJlYWRlclJlc3VsdDo6UmVhZFR5cGUp
IHsKKyAgICAgICAgICAgICAgICBOU0xvZyhAIjxXSz46IFN1Y2Nlc3NmdWxseSByZWFkIHR5cGU6
ICVAIiwgdHlwZSk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisKKyAg
ICAgICAgICAgIE5TTG9nKEAiPFdLPjogU2tpcHBlZCB0eXBlOiAlQCIsIHR5cGUpOwogICAgICAg
ICB9CiAgICAgfQogfQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdl
TG9nCmluZGV4IDAyYTY5ZTYyNGEzZTA4NzRhODkxZGVmOWQzY2RlOTBiZGVjZTY5NzUuLjA5MzU2
MGM1YTk2NTAwYzY2YzJkNWUzNGFlNTNlODQyNzVkYzMxMWYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0No
YW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxOS0xMC0y
MiAgQ2FybG9zIEFsYmVydG8gTG9wZXogUGVyZXogIDxjbG9wZXpAaWdhbGlhLmNvbT4KKworICAg
ICAgICBBZGQgYSBzY3JpcHQgdG8gcnVuIEltYWdlRGlmZiBtYW51YWxseQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAzMjI2CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgQWRyaWFuIFBlcmV6IGRlIENhc3Ryby4KKworICAgICAgICBUaGlzIGFsbG93cyB0
byBtYW51YWxseSBydW4gdGhlIEltYWdlRGlmZiB0b29sIG1vcmUgZWFzaWx5LCB0aGF0CisgICAg
ICAgIGlzIHNvbWV0aW1lcyB1c2VmdWwgd2hlbiBkZWJ1Z2dpbmcgcHJvYmxlbXMgd2l0aCBpdC4K
KworICAgICAgICAqIFNjcmlwdHMvcnVuLWltYWdlZGlmZjogQWRkZWQuCisKIDIwMTktMTAtMjEg
IFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAgICAgICBbSlNDXSBUaHJl
YWQgSlNHbG9iYWxPYmplY3QqIGluc3RlYWQgb2YgRXhlY1N0YXRlKgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDdiYWE2ZDE5
OTQ4MDRhYTg3NDc3ZTQ3YjczY2I0YTg2NGMyZjk3YWMuLmNhNzAwMTdiMDEyNmNiZGM4ZDBiNmVh
YTE5ZTM3YzFiNTUxMTVmYWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxOS0xMC0yMSAgV2Vu
c29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAgICAgICBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLmh0bWwgaXMgYSBmbGFreSBmYWlsdXJlCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDMxOTkKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzUzNTUxNzM2PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEp1c3QgYW4gZXhwZXJpbWVudDsgb2J2aW91c2x5IG5vdCBp
bnRlbmRlZCBmb3IgcmV2aWV3LgorCiAyMDE5LTEwLTIyICBEaXJrIFNjaHVsemUgIDxrcml0QHdl
YmtpdC5vcmc+CiAKICAgICAgICAgU1ZHMjogVXNlIERPTU1hdHJpeDJESW5pdCBmb3Igc2V0TWF0
cml4IGFuZCBjcmVhdGVTVkdUcmFuc2Zvcm1Gcm9tTWF0cml4CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTEtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0xLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZjg5ZGNmODg4NDdhYWI0Yjg5MmEwMDdkMmRlMzJjMDk2
OTgxZWI0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLWFuZC1zYW5pdGl6ZS0xLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZy
YWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZl
Y3RpbmcgdGhlIHN0eWxlLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxpIHN0eWxlPSJmb250LXdlaWdodDog
Ym9sZDsiPkhlbGxvPC9pPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0
ZXh0LWFsaWduOiBjZW50ZXI7Ij48Yj5IZWxsbzwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxl
PSJmb250LXdlaWdodDogbm9ybWFsOyI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDto
ZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK0ZBSUwgY29uZmlybWVkTWFya3VwIHNob3Vs
ZCBiZSA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uIFdhcyA8aSBz
dHlsZT0ibWFyZ2luOiAxMHB4OyI+PGI+PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9p
PjwvYj48L2k+LgorUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvJm5ic3A7d29y
bGQ8L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0i
Zm9udC13ZWlnaHQ6IG5vcm1hbDsiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9p
PjwvYj48L3NwYW4+PC9pPjwvYj4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0xLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNjNjZGRlYTY2MzI4
MDk0N2QwZDFiZjViNjFlYjg4YjU4NWZjYzg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0xLmh0bWwKQEAgLTAsMCAr
MSw1NiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJh
Z21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVj
dGluZyB0aGUgc3R5bGUuIDwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwKTsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5m
b2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5p
bm5lckhUTUw7CisKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0
ZWQgKyAiJyIpOworfQorCit0ZXN0UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIpOwordGVz
dFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48L2I+
Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWln
aHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAi
PGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PjxkaXY+
SGVsbG88L2Rpdj48L2Rpdj48L2Rpdj4iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxk
aXY+PGI+PGRpdj48aT5IZWxsbzwvaT48L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9u
dC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+PC9kaXY+
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+
Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWln
aHQ6IG5vcm1hbFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAKKyAgICAgICAgICAiPGRpdj48Yj48aT5oZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtc
Ij48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiBoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9i
PjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+
PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9i
PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+PGI+PGkg
c3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iLAorICAgICAgICAgICI8
aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIpOwordGVzdFBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48
Yj48aT5IZWxsbyA8IS0tIGNvbW1lbnQgLS0+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwv
ZGl2PiIsICI8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2
IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+cGxhaW4g
dGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIs
ICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+cGxhaW4gdGV4dDxi
PjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6
ZS0xMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
YW5kLXNhbml0aXplLTEwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZjg5ZGNmODg4NDdhYWI0
Yjg5MmEwMDdkMmRlMzJjMDk2OTgxZWI0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0xMC1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxNyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24g
dHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUg
bWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4KKworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwv
Yj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8aSBz
dHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IZWxsbzwvaT4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGI+SGVsbG88L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPjxiPjxpPmhlbGxvMTwv
aT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitGQUlMIGNv
bmZpcm1lZE1hcmt1cCBzaG91bGQgYmUgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9p
PjwvYj48L2k+LiBXYXMgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPjxiPjxpIHN0eWxlPSJtYXJn
aW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4KK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij5wbGFpbiB0ZXh0PGI+PGk+
Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMTAuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMTAuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4zNjNjZGRlYTY2MzI4MDk0N2QwZDFiZjViNjFlYjg4YjU4NWZjYzg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5p
dGl6ZS0xMC5odG1sCkBAIC0wLDAgKzEsNTYgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlv
biB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRo
ZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLiA8L3A+Cis8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24o
KTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFn
TmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJI
VE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdFBhc3RlKCJkaXYiLCAi
SGVsbG8iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4i
LCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48
c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbzwvaT48L2I+PC9z
cGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj48ZGl2PkhlbGxvPC9kaXY+PC9kaXY+PC9kaXY+IiwgIkhlbGxvIik7
Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxkaXY+PGk+SGVsbG88L2k+PC9kaXY+PC9iPjwv
ZGl2PiIsICI8aSBzdHlsZT1cImZvbnQtd2VpZ2h0OiBib2xkO1wiPkhlbGxvPC9pPiIpOwordGVz
dFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxi
PkhlbGxvPC9iPjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxiPkhlbGxvPC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48
c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9z
cGFuPjwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBu
b3JtYWxcIj48Yj48aT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgCisgICAg
ICAgICAgIjxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1c
ImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4gaGVsbG8y
PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250
LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8y
PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxpIHN0eWxlPVwi
bWFyZ2luOiAxMHB4O1wiPjxiPjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwv
Yj48L2k+IiwKKyAgICAgICAgICAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+
PC9iPjwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJm
b250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG8gPCEtLSBjb21tZW50IC0tPndvcmxkPC9p
PjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48
L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13
ZWlnaHQ6IG5vcm1hbFwiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48
L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDog
bm9ybWFsO1wiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+
PC9pPjwvYj4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0xMS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYWY4OWRjZjg4ODQ3YWFiNGI4OTJhMDA3ZDJkZTMyYzA5Njk4MWViNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRp
emUtMTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTcgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNl
IHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxp
PkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGkgc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SGVsbG88L2k+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxiPkhlbGxvPC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBu
b3JtYWw7Ij48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9z
cGFuPjwvaT48L2I+JworRkFJTCBjb25maXJtZWRNYXJrdXAgc2hvdWxkIGJlIDxpIHN0eWxlPSJt
YXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4gV2FzIDxpIHN0eWxlPSJtYXJnaW46IDEw
cHg7Ij48Yj48aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9y
bWFsOyI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+
PC9iPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNh
bml0aXplLTExLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5k
LXNhbml0aXplLTExLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzYzY2RkZWE2NjMyODA5NDdkMGQxYmY1YjYx
ZWI4OGI1ODVmY2M4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMTEuaHRtbApAQCAtMCwwICsxLDU2IEBACis8IURP
Q1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0
aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1
Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHls
ZS4gPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdFBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCkg
eworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAp
OworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFz
dGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK3Rlc3RQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIs
ICI8Yj48aT5IZWxsbzwvaT48L2I+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0
ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+
PGI+PGk+SGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbzwv
aT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjwv
ZGl2PjwvZGl2PiIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48ZGl2Pjxp
PkhlbGxvPC9pPjwvZGl2PjwvYj48L2Rpdj4iLCAiPGkgc3R5bGU9XCJmb250LXdlaWdodDogYm9s
ZDtcIj5IZWxsbzwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0
ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4g
c3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48
L2k+PC9iPjwvZGl2PiIsIAorICAgICAgICAgICI8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxk
aXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxv
MTwvaT48L2I+PGI+PGk+IGhlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxi
PjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+
PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7Cit0ZXN0UGFz
dGUoImRpdiIsICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj48Yj48aSBzdHlsZT1cIm1hcmdp
bjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIsCisgICAgICAgICAgIjxpIHN0eWxlPVwibWFy
Z2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvIDwh
LS0gY29tbWVudCAtLT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxp
PkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9s
ZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFu
IHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFs
aWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTEyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUt
MTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmODlkY2Y4ODg0N2FhYjRiODkyYTAwN2QyZGUz
MmMwOTY5ODFlYjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTEyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFz
dGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91
dCBhZmZlY3RpbmcgdGhlIHN0eWxlLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxpIHN0eWxlPSJmb250LXdl
aWdodDogYm9sZDsiPkhlbGxvPC9pPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0
eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48Yj5IZWxsbzwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFu
IHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4m
bmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK0ZBSUwgY29uZmlybWVkTWFya3Vw
IHNob3VsZCBiZSA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uIFdh
cyA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+PGI+PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhl
bGxvPC9pPjwvYj48L2k+LgorUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvJm5i
c3A7d29ybGQ8L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBz
dHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0
ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0xMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0xMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2M2Nk
ZGVhNjYzMjgwOTQ3ZDBkMWJmNWI2MWViODhiNTg1ZmNjODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTEyLmh0bWwK
QEAgLTAsMCArMSw1NiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBw
YXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRo
b3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuIDwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisg
ICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBm
YWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3Vw
ID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIici
ICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCit0ZXN0UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIsICI8Yj48aT5IZWxs
bzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwi
Zm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48
L2Rpdj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48
ZGl2PjxkaXY+SGVsbG88L2Rpdj48L2Rpdj48L2Rpdj4iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxsbzwvaT48L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0
eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9k
aXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88
L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwi
Zm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAKKyAgICAgICAgICAiPGRpdj48
Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6
IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiBoZWxsbzI8L2k+PC9iPjwvc3Bh
bj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3Jt
YWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bh
bj48L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7
XCI+PGI+PGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iLAorICAg
ICAgICAgICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIpOwor
dGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBu
b3JtYWxcIj48Yj48aT5IZWxsbyA8IS0tIGNvbW1lbnQgLS0+d29ybGQ8L2k+PC9iPjwvc3Bhbj48
L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4iKTsKK3Rlc3RQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFs
XCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9i
PjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+cGxh
aW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFu
ZC1zYW5pdGl6ZS0xMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtYW5kLXNhbml0aXplLTEzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZjg5ZGNm
ODg4NDdhYWI0Yjg5MmEwMDdkMmRlMzJjMDk2OTgxZWI0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0xMy1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxNyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBv
cGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0
eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4KKworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhl
bGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9i
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8aSBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IZWxsbzwvaT4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGI+SGVsbG88
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPjxiPjxp
PmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4n
CitGQUlMIGNvbmZpcm1lZE1hcmt1cCBzaG91bGQgYmUgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsi
PmhlbGxvPC9pPjwvYj48L2k+LiBXYXMgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPjxiPjxpIHN0
eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4KK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij5wbGFpbiB0
ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMTMuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMTMu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4zNjNjZGRlYTY2MzI4MDk0N2QwZDFiZjViNjFlYjg4YjU4NWZjYzg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LWFuZC1zYW5pdGl6ZS0xMy5odG1sCkBAIC0wLDAgKzEsNTYgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3Rl
IG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9z
aXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLiA8L3A+Cis8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRT
ZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOwor
ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5v
ZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0
ZXN0UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdFBhc3Rl
KCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxiPjxpPkhlbGxv
PC9pPjwvYj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbzwv
aT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rl
c3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj48ZGl2PkhlbGxvPC9kaXY+PC9kaXY+PC9kaXY+Iiwg
IkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxkaXY+PGk+SGVsbG88L2k+PC9k
aXY+PC9iPjwvZGl2PiIsICI8aSBzdHlsZT1cImZvbnQtd2VpZ2h0OiBib2xkO1wiPkhlbGxvPC9p
PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQt
d2VpZ2h0OiBub3JtYWxcIj48Yj48aT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+
IiwgCisgICAgICAgICAgIjxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3Bh
biBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48
aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5
bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5i
c3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxp
IHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPjxiPjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhl
bGxvPC9pPjwvYj48L2k+IiwKKyAgICAgICAgICAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+
aGVsbG88L2k+PC9iPjwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4g
c3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG8gPCEtLSBjb21tZW50IC0t
PndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG8mbmJzcDt3
b3JsZDwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxl
PVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0
PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250
LXdlaWdodDogbm9ybWFsO1wiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwv
Yj48L3NwYW4+PC9pPjwvYj4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0xNC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYWY4OWRjZjg4ODQ3YWFiNGI4OTJhMDA3ZDJkZTMyYzA5Njk4MWViNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1h
bmQtc2FuaXRpemUtMTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTcgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQg
dG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0
aGUgc3R5bGUuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGkgc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+
SGVsbG88L2k+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxiPkhlbGxvPC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQt
d2VpZ2h0OiBub3JtYWw7Ij48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwv
aT48L2I+PC9zcGFuPjwvaT48L2I+JworRkFJTCBjb25maXJtZWRNYXJrdXAgc2hvdWxkIGJlIDxp
IHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4gV2FzIDxpIHN0eWxlPSJt
YXJnaW46IDEwcHg7Ij48Yj48aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwv
aT4uCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48
L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdl
aWdodDogbm9ybWFsOyI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwv
c3Bhbj48L2k+PC9iPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtYW5kLXNhbml0aXplLTE0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtYW5kLXNhbml0aXplLTE0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzYzY2RkZWE2NjMyODA5NDdk
MGQxYmY1YjYxZWI4OGI1ODVmY2M4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMTQuaHRtbApAQCAtMCwwICsxLDU2
IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVu
dCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5n
IHRoZSBzdHlsZS4gPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdFBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBl
eHBlY3RlZCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXApOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3Vz
KCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVy
SFRNTDsKKworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK3Rlc3RQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0UGFz
dGUoImRpdiIsICI8Yj48aT5IZWxsbzwvaT48L2I+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsK
K3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDog
bm9ybWFsXCI+PGI+PGk+SGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48
aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48ZGl2PjxpPkhlbGxvPC9pPjwvZGl2PjwvYj48L2Rpdj4iLCAiPGkgc3R5bGU9XCJmb250LXdl
aWdodDogYm9sZDtcIj5IZWxsbzwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj4iKTsK
K3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDog
bm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+d29ybGQ8L2k+PC9i
Pjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsIAorICAgICAgICAgICI8ZGl2PjxiPjxpPmhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxi
PjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+IGhlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9k
aXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5o
ZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7
Cit0ZXN0UGFzdGUoImRpdiIsICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj48Yj48aSBzdHls
ZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIsCisgICAgICAgICAgIjxpIHN0
eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+Iik7Cit0ZXN0UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxp
PkhlbGxvIDwhLS0gY29tbWVudCAtLT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+
IiwgIjxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj5wbGFpbiB0ZXh0
PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxi
PjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5wbGFpbiB0ZXh0PGI+PGk+
Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTE1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQt
c2FuaXRpemUtMTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmODlkY2Y4ODg0N2FhYjRiODky
YTAwN2QyZGUzMmMwOTY5ODFlYjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTE1LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDE3IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmlt
cyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJr
dXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxpIHN0eWxl
PSJmb250LXdlaWdodDogYm9sZDsiPkhlbGxvPC9pPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48Yj5IZWxsbzwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxi
PjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+PGI+PGk+aGVsbG8xPC9pPjwv
Yj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK0ZBSUwgY29uZmly
bWVkTWFya3VwIHNob3VsZCBiZSA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9i
PjwvaT4uIFdhcyA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+PGI+PGkgc3R5bGU9Im1hcmdpbjog
MTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LgorUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxp
PkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48
aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPnBsYWluIHRleHQ8Yj48aT5ib2xk
IGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0xNS5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0xNS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjM2M2NkZGVhNjYzMjgwOTQ3ZDBkMWJmNWI2MWViODhiNTg1ZmNjODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXpl
LTE1Lmh0bWwKQEAgLTAsMCArMSw1NiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRy
aW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1h
cmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuIDwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICByb290LmFwcGVuZENoaWxkKG5v
ZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxl
Y3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmly
bWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFy
a3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCit0ZXN0UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIsICI8
Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFu
IHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvPC9pPjwvYj48L3NwYW4+
PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYi
LCAiPGRpdj48ZGl2PjxkaXY+SGVsbG88L2Rpdj48L2Rpdj48L2Rpdj4iLCAiSGVsbG8iKTsKK3Rl
c3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxsbzwvaT48L2Rpdj48L2I+PC9kaXY+
IiwgIjxpIHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88L2k+Iik7Cit0ZXN0UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVs
bG88L2I+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGI+SGVsbG88L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFu
IHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L3NwYW4+
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1h
bFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAKKyAgICAgICAg
ICAiPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9u
dC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiBoZWxsbzI8L2k+
PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2Vp
Z2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+
PC9iPjwvc3Bhbj48L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGkgc3R5bGU9XCJtYXJn
aW46IDEwcHg7XCI+PGI+PGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwv
aT4iLAorICAgICAgICAgICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+
PC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQt
d2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbyA8IS0tIGNvbW1lbnQgLS0+d29ybGQ8L2k+PC9i
Pjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4i
KTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdo
dDogbm9ybWFsXCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bh
bj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3Jt
YWw7XCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+
PC9iPiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLWFuZC1zYW5pdGl6ZS0xNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTE2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5hZjg5ZGNmODg4NDdhYWI0Yjg5MmEwMDdkMmRlMzJjMDk2OTgxZWI0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0x
Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRo
ZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhl
IHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4KKwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVs
bG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8aSBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IZWxsbzwvaT4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGI+SGVsbG88L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1h
bDsiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+
PC9pPjwvYj4nCitGQUlMIGNvbmZpcm1lZE1hcmt1cCBzaG91bGQgYmUgPGkgc3R5bGU9Im1hcmdp
bjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LiBXYXMgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsi
PjxiPjxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4KK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7
Ij5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRp
emUtMTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2Fu
aXRpemUtMTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNjNjZGRlYTY2MzI4MDk0N2QwZDFiZjViNjFlYjg4
YjU4NWZjYzg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0xNi5odG1sCkBAIC0wLDAgKzEsNTYgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
dGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0
aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLiA8
L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1
bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
cm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVl
OworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitm
dW5jdGlvbiB0ZXN0UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdFBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxi
PjxpPkhlbGxvPC9pPjwvYj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48
aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvPC9pPjwv
Yj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj48ZGl2PkhlbGxvPC9kaXY+PC9kaXY+
PC9kaXY+IiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxkaXY+PGk+SGVs
bG88L2k+PC9kaXY+PC9iPjwvZGl2PiIsICI8aSBzdHlsZT1cImZvbnQtd2VpZ2h0OiBib2xkO1wi
PkhlbGxvPC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT48c3BhbiBzdHls
ZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48
L2I+PC9kaXY+IiwgCisgICAgICAgICAgIjxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9p
PjwvYj48Yj48aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+
PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+
PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgi
ZGl2IiwgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPjxiPjxpIHN0eWxlPVwibWFyZ2luOiAx
MHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+IiwKKyAgICAgICAgICAiPGkgc3R5bGU9XCJtYXJnaW46
IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+
PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG8gPCEtLSBj
b21tZW50IC0tPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVs
bG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxz
cGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0
YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5
bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0
ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5v
bmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMTctZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0xNy1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWY4OWRjZjg4ODQ3YWFiNGI4OTJhMDA3ZDJkZTMyYzA5
Njk4MWViNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS1hbmQtc2FuaXRpemUtMTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTcgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQg
ZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFm
ZmVjdGluZyB0aGUgc3R5bGUuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGkgc3R5bGU9ImZvbnQtd2VpZ2h0
OiBib2xkOyI+SGVsbG88L2k+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxiPkhlbGxvPC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5
bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNw
O2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworRkFJTCBjb25maXJtZWRNYXJrdXAgc2hv
dWxkIGJlIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4gV2FzIDxp
IHN0eWxlPSJtYXJnaW46IDEwcHg7Ij48Yj48aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88
L2k+PC9iPjwvaT4uCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG8mbmJzcDt3
b3JsZDwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxl
PSJmb250LXdlaWdodDogbm9ybWFsOyI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8
L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTE3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTE3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzYzY2RkZWE2
NjMyODA5NDdkMGQxYmY1YjYxZWI4OGI1ODVmY2M4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMTcuaHRtbApAQCAt
MCwwICsxLDU2IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9F
TiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+
VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3Rl
ZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQg
YWZmZWN0aW5nIHRoZSBzdHlsZS4gPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdFBhc3RlKHRhZ05hbWUsIG9yaWdpbmFs
TWFya3VwLCBleHBlY3RlZCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXApOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBu
b2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBu
b2RlLmlubmVySFRNTDsKKworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK3Rlc3RQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0UGFzdGUoImRpdiIsICI8Yj48aT5IZWxsbzwvaT48L2I+IiwgIjxiPjxpPkhlbGxvPC9p
PjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250
LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2
PiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48ZGl2PjxpPkhlbGxvPC9pPjwvZGl2PjwvYj48L2Rpdj4iLCAiPGkgc3R5bGU9
XCJmb250LXdlaWdodDogYm9sZDtcIj5IZWxsbzwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48
L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250
LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsIAorICAgICAgICAgICI8ZGl2PjxiPjxp
PmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iKTsKK3Rl
c3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9y
bWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+IGhlbGxvMjwvaT48L2I+PC9zcGFuPjwv
aT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtc
Ij48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwv
aT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj48
Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIsCisgICAgICAg
ICAgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+Iik7Cit0ZXN0
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1h
bFwiPjxiPjxpPkhlbGxvIDwhLS0gY29tbWVudCAtLT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48
L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPiIpOwordGVzdFBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj5w
bGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9k
aXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5wbGFpbiB0
ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNh
bml0aXplLTE4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS1hbmQtc2FuaXRpemUtMTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmODlkY2Y4ODg0
N2FhYjRiODkyYTAwN2QyZGUzMmMwOTY5ODFlYjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTE4LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDE3IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJh
dGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9m
IHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88
L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxpIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhlbGxvPC9pPicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48Yj5IZWxsbzwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+PGI+PGk+aGVs
bG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK0ZB
SUwgY29uZmlybWVkTWFya3VwIHNob3VsZCBiZSA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVs
bG88L2k+PC9iPjwvaT4uIFdhcyA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+PGI+PGkgc3R5bGU9
Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LgorUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPnBsYWluIHRleHQ8
Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0xOC5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0xOC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjM2M2NkZGVhNjYzMjgwOTQ3ZDBkMWJmNWI2MWViODhiNTg1ZmNjODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5k
LXNhbml0aXplLTE4Lmh0bWwKQEAgLTAsMCArMSw1NiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3Bl
cmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkg
b2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuIDwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIgbm9kZSA9
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICByb290LmFwcGVu
ZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHki
LCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisg
ICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBzaG91bGRCZSgiY29u
ZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCit0ZXN0UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVsbG88L2k+
PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvPC9pPjwv
Yj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBh
c3RlKCJkaXYiLCAiPGRpdj48ZGl2PjxkaXY+SGVsbG88L2Rpdj48L2Rpdj48L2Rpdj4iLCAiSGVs
bG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxsbzwvaT48L2Rpdj48
L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88L2k+Iik7
Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGI+SGVsbG88L2I+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L3NwYW4+PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWln
aHQ6IG5vcm1hbFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAK
KyAgICAgICAgICAiPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0
eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiBo
ZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1c
ImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDto
ZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGkgc3R5
bGU9XCJtYXJnaW46IDEwcHg7XCI+PGI+PGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88
L2k+PC9iPjwvaT4iLAorICAgICAgICAgICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxs
bzwvaT48L2I+PC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHls
ZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbyA8IS0tIGNvbW1lbnQgLS0+d29y
bGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbyZuYnNwO3dvcmxk
PC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJm
b250LXdlaWdodDogbm9ybWFsXCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+
PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2Vp
Z2h0OiBub3JtYWw7XCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwv
c3Bhbj48L2k+PC9iPiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0xOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTE5LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5hZjg5ZGNmODg4NDdhYWI0Yjg5MmEwMDdkMmRlMzJjMDk2OTgxZWI0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1z
YW5pdGl6ZS0xOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNyBAQAorVGhpcyB0ZXN0IGNoZWNr
cyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byBy
ZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBz
dHlsZS4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8aSBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IZWxs
bzwvaT4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGI+SGVsbG88L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWln
aHQ6IG5vcm1hbDsiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwv
Yj48L3NwYW4+PC9pPjwvYj4nCitGQUlMIGNvbmZpcm1lZE1hcmt1cCBzaG91bGQgYmUgPGkgc3R5
bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LiBXYXMgPGkgc3R5bGU9Im1hcmdp
bjogMTBweDsiPjxiPjxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4K
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0
OiBub3JtYWw7Ij5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFu
PjwvaT48L2I+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1h
bmQtc2FuaXRpemUtMTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS1hbmQtc2FuaXRpemUtMTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNjNjZGRlYTY2MzI4MDk0N2QwZDFi
ZjViNjFlYjg4YjU4NWZjYzg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0xOS5odG1sCkBAIC0wLDAgKzEsNTYgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRv
IHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhl
IHN0eWxlLiA8L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBz
ZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitm
dW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFi
bGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2Rl
OworfQorCitmdW5jdGlvbiB0ZXN0UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdFBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgi
ZGl2IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVz
dFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3Jt
YWxcIj48Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhl
bGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj48ZGl2PkhlbGxvPC9k
aXY+PC9kaXY+PC9kaXY+IiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxk
aXY+PGk+SGVsbG88L2k+PC9kaXY+PC9iPjwvZGl2PiIsICI8aSBzdHlsZT1cImZvbnQtd2VpZ2h0
OiBib2xkO1wiPkhlbGxvPC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PiIpOwordGVz
dFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3Jt
YWxcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT48
c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT53b3JsZDwvaT48L2I+PC9z
cGFuPjwvaT48L2I+PC9kaXY+IiwgCisgICAgICAgICAgIjxkaXY+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+
aGVsbG8xPC9pPjwvYj48Yj48aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4i
LCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxv
MTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKK3Rl
c3RQYXN0ZSgiZGl2IiwgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPjxiPjxpIHN0eWxlPVwi
bWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+IiwKKyAgICAgICAgICAiPGkgc3R5bGU9
XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVs
bG8gPCEtLSBjb21tZW50IC0tPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAi
PGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPnBsYWluIHRleHQ8Yj48
aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+
PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPnBsYWluIHRleHQ8Yj48aT5ib2xk
IGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKKworcm9vdC5zdHlsZS5kaXNw
bGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMi1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0
aXplLTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmODlkY2Y4ODg0N2FhYjRiODkyYTAwN2Qy
ZGUzMmMwOTY5ODFlYjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTcg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBw
YXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRo
b3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGkgc3R5bGU9ImZvbnQt
d2VpZ2h0OiBib2xkOyI+SGVsbG88L2k+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxiPkhlbGxvPC9iPjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNw
YW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxp
PiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworRkFJTCBjb25maXJtZWRNYXJr
dXAgc2hvdWxkIGJlIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4g
V2FzIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij48Yj48aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+
aGVsbG88L2k+PC9iPjwvaT4uCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG8m
bmJzcDt3b3JsZDwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFu
IHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGlj
IHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2M2Nk
ZGVhNjYzMjgwOTQ3ZDBkMWJmNWI2MWViODhiNTg1ZmNjODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTIuaHRtbApA
QCAtMCwwICsxLDU2IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1M
Ly9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlv
biI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBh
c3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhv
dXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4gPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdFBhc3RlKHRhZ05hbWUsIG9yaWdp
bmFsTWFya3VwLCBleHBlY3RlZCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAg
ICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZh
bHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAg
PSBub2RlLmlubmVySFRNTDsKKworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK3Rlc3RQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8Yj48aT5IZWxsbzwvaT48L2I+IiwgIjxiPjxpPkhlbGxv
PC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJm
b250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwv
ZGl2PiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48ZGl2PjxpPkhlbGxvPC9pPjwvZGl2PjwvYj48L2Rpdj4iLCAiPGkgc3R5
bGU9XCJmb250LXdlaWdodDogYm9sZDtcIj5IZWxsbzwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwv
Yj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJm
b250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsIAorICAgICAgICAgICI8ZGl2Pjxi
PjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iKTsK
K3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDog
bm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+IGhlbGxvMjwvaT48L2I+PC9zcGFu
PjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1h
bDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFu
PjwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtc
Ij48Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIsCisgICAg
ICAgICAgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+Iik7Cit0
ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5v
cm1hbFwiPjxiPjxpPkhlbGxvIDwhLS0gY29tbWVudCAtLT53b3JsZDwvaT48L2I+PC9zcGFuPjwv
aT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPiIpOwordGVzdFBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxc
Ij5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+
PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5wbGFp
biB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5k
LXNhbml0aXplLTIwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS1hbmQtc2FuaXRpemUtMjAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmODlkY2Y4
ODg0N2FhYjRiODkyYTAwN2QyZGUzMmMwOTY5ODFlYjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTIwLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDE3IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9w
ZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5
IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVs
bG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxpIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhlbGxvPC9pPicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48Yj5IZWxsbzwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5oZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+PGI+PGk+
aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicK
K0ZBSUwgY29uZmlybWVkTWFya3VwIHNob3VsZCBiZSA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+
aGVsbG88L2k+PC9iPjwvaT4uIFdhcyA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+PGI+PGkgc3R5
bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LgorUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPnBsYWluIHRl
eHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0yMC5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0yMC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjM2M2NkZGVhNjYzMjgwOTQ3ZDBkMWJmNWI2MWViODhiNTg1ZmNjODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
YW5kLXNhbml0aXplLTIwLmh0bWwKQEAgLTAsMCArMSw1NiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUg
b3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3Np
dHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuIDwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIgbm9k
ZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICByb290LmFw
cGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNv
cHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOwor
CisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBzaG91bGRCZSgi
Y29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCit0ZXN0UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVsbG88
L2k+PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvPC9p
PjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVz
dFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PjxkaXY+SGVsbG88L2Rpdj48L2Rpdj48L2Rpdj4iLCAi
SGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxsbzwvaT48L2Rp
dj48L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88L2k+
Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13
ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4i
LCAKKyAgICAgICAgICAiPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFu
IHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxp
PiBoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHls
ZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJz
cDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGkg
c3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+PGI+PGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVs
bG88L2k+PC9iPjwvaT4iLAorICAgICAgICAgICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5o
ZWxsbzwvaT48L2I+PC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBz
dHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbyA8IS0tIGNvbW1lbnQgLS0+
d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbyZuYnNwO3dv
cmxkPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9
XCJmb250LXdlaWdodDogbm9ybWFsXCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8
L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQt
d2VpZ2h0OiBub3JtYWw7XCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9i
Pjwvc3Bhbj48L2k+PC9iPiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0yMS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTIxLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5hZjg5ZGNmODg4NDdhYWI0Yjg5MmEwMDdkMmRlMzJjMDk2OTgxZWI0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFu
ZC1zYW5pdGl6ZS0yMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNyBAQAorVGhpcyB0ZXN0IGNo
ZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0
byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRo
ZSBzdHlsZS4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8aSBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5I
ZWxsbzwvaT4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGI+SGVsbG88L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13
ZWlnaHQ6IG5vcm1hbDsiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9p
PjwvYj48L3NwYW4+PC9pPjwvYj4nCitGQUlMIGNvbmZpcm1lZE1hcmt1cCBzaG91bGQgYmUgPGkg
c3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LiBXYXMgPGkgc3R5bGU9Im1h
cmdpbjogMTBweDsiPjxiPjxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9p
Pi4KK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwv
Yj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2Vp
Z2h0OiBub3JtYWw7Ij5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9z
cGFuPjwvaT48L2I+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS1hbmQtc2FuaXRpemUtMjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS1hbmQtc2FuaXRpemUtMjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNjNjZGRlYTY2MzI4MDk0N2Qw
ZDFiZjViNjFlYjg4YjU4NWZjYzg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0yMS5odG1sCkBAIC0wLDAgKzEsNTYg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50
IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3Rpbmcg
dGhlIHN0eWxlLiA8L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3Zh
ciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKwor
CitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9k
ZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRp
dGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBu
b2RlOworfQorCitmdW5jdGlvbiB0ZXN0UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdFBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0
ZSgiZGl2IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwor
dGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBu
b3JtYWxcIj48Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxp
PkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj48ZGl2PkhlbGxv
PC9kaXY+PC9kaXY+PC9kaXY+IiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxkaXY+PGk+SGVsbG88L2k+PC9kaXY+PC9iPjwvZGl2PiIsICI8aSBzdHlsZT1cImZvbnQtd2Vp
Z2h0OiBib2xkO1wiPkhlbGxvPC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PiIpOwor
dGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBu
b3JtYWxcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgCisgICAgICAgICAgIjxkaXY+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+
PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rp
dj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhl
bGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsK
K3Rlc3RQYXN0ZSgiZGl2IiwgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPjxiPjxpIHN0eWxl
PVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+IiwKKyAgICAgICAgICAiPGkgc3R5
bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2
IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+
SGVsbG8gPCEtLSBjb21tZW50IC0tPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4i
LCAiPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPnBsYWluIHRleHQ8
Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+
PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPnBsYWluIHRleHQ8Yj48aT5i
b2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKKworcm9vdC5zdHlsZS5k
aXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMjIt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1z
YW5pdGl6ZS0yMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWY4OWRjZjg4ODQ3YWFiNGI4OTJh
MDA3ZDJkZTMyYzA5Njk4MWViNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMjItZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTcgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1z
IHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1
cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGkgc3R5bGU9
ImZvbnQtd2VpZ2h0OiBib2xkOyI+SGVsbG88L2k+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxiPkhlbGxvPC9iPjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+
PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij48Yj48aT5oZWxsbzE8L2k+PC9i
PjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworRkFJTCBjb25maXJt
ZWRNYXJrdXAgc2hvdWxkIGJlIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+
PC9pPi4gV2FzIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij48Yj48aSBzdHlsZT0ibWFyZ2luOiAx
MHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+
SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxp
PjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+cGxhaW4gdGV4dDxiPjxpPmJvbGQg
aXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTIyLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTIyLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMzYzY2RkZWE2NjMyODA5NDdkMGQxYmY1YjYxZWI4OGI1ODVmY2M4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUt
MjIuaHRtbApAQCAtMCwwICsxLDU2IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYv
L0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJk
ZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJp
bXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFy
a3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4gPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdFBhc3RlKHRhZ05h
bWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9k
ZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVj
dEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJt
ZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK3Rlc3RQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8Yj48aT5IZWxsbzwvaT48L2I+IiwgIjxi
PjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4g
c3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG88L2k+PC9iPjwvc3Bhbj48
L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIpOwordGVz
dFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48ZGl2PjxpPkhlbGxvPC9pPjwvZGl2PjwvYj48L2Rpdj4i
LCAiPGkgc3R5bGU9XCJmb250LXdlaWdodDogYm9sZDtcIj5IZWxsbzwvaT4iKTsKK3Rlc3RQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxs
bzwvYj48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
Yj5IZWxsbzwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4g
c3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFs
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsIAorICAgICAgICAg
ICI8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250
LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+IGhlbGxvMjwvaT48
L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWln
aHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48
L2I+PC9zcGFuPjwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8aSBzdHlsZT1cIm1hcmdp
bjogMTBweDtcIj48Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9p
PiIsCisgICAgICAgICAgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48
L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13
ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvIDwhLS0gY29tbWVudCAtLT53b3JsZDwvaT48L2I+
PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPiIp
OwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0
OiBub3JtYWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFu
PjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1h
bDtcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48
L2I+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtYW5kLXNhbml0aXplLTIzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmFmODlkY2Y4ODg0N2FhYjRiODkyYTAwN2QyZGUzMmMwOTY5ODFlYjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTIz
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhl
IHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUg
dmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxs
bzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxpIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhlbGxvPC9pPicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48
Yj5IZWxsbzwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFs
OyI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48
L2k+PC9iPicKK0ZBSUwgY29uZmlybWVkTWFya3VwIHNob3VsZCBiZSA8aSBzdHlsZT0ibWFyZ2lu
OiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uIFdhcyA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+
PGI+PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LgorUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsi
PnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6
ZS0yMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5p
dGl6ZS0yMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2M2NkZGVhNjYzMjgwOTQ3ZDBkMWJmNWI2MWViODhi
NTg1ZmNjODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtYW5kLXNhbml0aXplLTIzLmh0bWwKQEAgLTAsMCArMSw1NiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0
aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRo
ZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuIDwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsKKyAg
ICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAg
ICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwg
ZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBz
aG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCit0
ZXN0UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGI+
PGk+SGVsbG88L2k+PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxp
PkhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG88L2k+PC9i
PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PjxkaXY+SGVsbG88L2Rpdj48L2Rpdj48
L2Rpdj4iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxs
bzwvaT48L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+
SGVsbG88L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPjxzcGFuIHN0eWxl
PVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwv
Yj48L2Rpdj4iLCAKKyAgICAgICAgICAiPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+
PC9iPjxiPjxpPiBoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48
c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48
Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOwordGVzdFBhc3RlKCJk
aXYiLCAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+PGI+PGkgc3R5bGU9XCJtYXJnaW46IDEw
cHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iLAorICAgICAgICAgICI8aSBzdHlsZT1cIm1hcmdpbjog
MTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbyA8IS0tIGNv
bW1lbnQgLS0+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxs
byZuYnNwO3dvcmxkPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNw
YW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRh
bGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHls
ZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRl
eHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0yNC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTI0LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZjg5ZGNmODg4NDdhYWI0Yjg5MmEwMDdkMmRlMzJjMDk2
OTgxZWI0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLWFuZC1zYW5pdGl6ZS0yNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNyBAQAorVGhp
cyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBm
cmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZm
ZWN0aW5nIHRoZSBzdHlsZS4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8aSBzdHlsZT0iZm9udC13ZWlnaHQ6
IGJvbGQ7Ij5IZWxsbzwvaT4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGI+SGVsbG88L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHls
ZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7
aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitGQUlMIGNvbmZpcm1lZE1hcmt1cCBzaG91
bGQgYmUgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LiBXYXMgPGkg
c3R5bGU9Im1hcmdpbjogMTBweDsiPjxiPjxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwv
aT48L2I+PC9pPi4KK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbyZuYnNwO3dv
cmxkPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9
ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwv
aT48L2I+PC9zcGFuPjwvaT48L2I+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNjNjZGRlYTY2
MzI4MDk0N2QwZDFiZjViNjFlYjg4YjU4NWZjYzg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0yNC5odG1sCkBAIC0w
LDAgKzEsNTYgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVk
IGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBh
ZmZlY3RpbmcgdGhlIHN0eWxlLiA8L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3Jp
cHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChy
b290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAg
ICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5j
b250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAg
IHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdFBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iKTsK
K3Rlc3RQYXN0ZSgiZGl2IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iLCAiPGI+PGk+SGVsbG88L2k+
PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQt
d2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+
IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj48
ZGl2PkhlbGxvPC9kaXY+PC9kaXY+PC9kaXY+IiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxkaXY+PGk+SGVsbG88L2k+PC9kaXY+PC9iPjwvZGl2PiIsICI8aSBzdHlsZT1c
ImZvbnQtd2VpZ2h0OiBib2xkO1wiPkhlbGxvPC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRp
dj48ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwv
ZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQt
d2VpZ2h0OiBub3JtYWxcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgCisgICAgICAgICAgIjxkaXY+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIpOwordGVz
dFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3Jt
YWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+PC9p
PjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wi
PjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9p
PjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPjxi
PjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+IiwKKyAgICAgICAg
ICAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iKTsKK3Rlc3RQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFs
XCI+PGI+PGk+SGVsbG8gPCEtLSBjb21tZW50IC0tPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwv
Yj48L2Rpdj4iLCAiPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7Cit0ZXN0UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPnBs
YWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rp
dj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPnBsYWluIHRl
eHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKKworcm9v
dC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2Fu
aXRpemUtMjUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLWFuZC1zYW5pdGl6ZS0yNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWY4OWRjZjg4ODQ3
YWFiNGI4OTJhMDA3ZDJkZTMyYzA5Njk4MWViNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMjUtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTcgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0
aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2Yg
dGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwv
aT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGkgc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SGVsbG88L2k+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxiPkhlbGxvPC9iPjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij48Yj48aT5oZWxs
bzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworRkFJ
TCBjb25maXJtZWRNYXJrdXAgc2hvdWxkIGJlIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxs
bzwvaT48L2I+PC9pPi4gV2FzIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij48Yj48aSBzdHlsZT0i
bWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+cGxhaW4gdGV4dDxi
PjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTI1Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTI1Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMzYzY2RkZWE2NjMyODA5NDdkMGQxYmY1YjYxZWI4OGI1ODVmY2M4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQt
c2FuaXRpemUtMjUuaHRtbApAQCAtMCwwICsxLDU2IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMg
Ii0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVy
YXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBv
ZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4gPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdFBh
c3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCkgeworICAgIHZhciBub2RlID0g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIHJvb3QuYXBwZW5k
Q2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIs
IGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAg
ICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK3Rlc3RQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8Yj48aT5IZWxsbzwvaT48
L2I+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+
PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG88L2k+PC9i
Pjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxs
byIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48ZGl2PjxpPkhlbGxvPC9pPjwvZGl2Pjwv
Yj48L2Rpdj4iLCAiPGkgc3R5bGU9XCJmb250LXdlaWdodDogYm9sZDtcIj5IZWxsbzwvaT4iKTsK
K3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48Yj5IZWxsbzwvYj48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+
PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+PC9i
Pjwvc3Bhbj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdo
dDogbm9ybWFsXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsIAor
ICAgICAgICAgICI8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5
bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+IGhl
bGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwi
Zm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hl
bGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8aSBzdHls
ZT1cIm1hcmdpbjogMTBweDtcIj48Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwv
aT48L2I+PC9pPiIsCisgICAgICAgICAgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxv
PC9pPjwvYj48L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxl
PVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvIDwhLS0gY29tbWVudCAtLT53b3Js
ZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8
L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZv
bnQtd2VpZ2h0OiBub3JtYWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48
L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWln
aHQ6IG5vcm1hbDtcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9z
cGFuPjwvaT48L2I+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTI2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMjYtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmFmODlkY2Y4ODg0N2FhYjRiODkyYTAwN2QyZGUzMmMwOTY5ODFlYjQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNh
bml0aXplLTI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJl
ZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0
eWxlLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxpIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhlbGxv
PC9pPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBj
ZW50ZXI7Ij48Yj5IZWxsbzwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdo
dDogbm9ybWFsOyI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9i
Pjwvc3Bhbj48L2k+PC9iPicKK0ZBSUwgY29uZmlybWVkTWFya3VwIHNob3VsZCBiZSA8aSBzdHls
ZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uIFdhcyA8aSBzdHlsZT0ibWFyZ2lu
OiAxMHB4OyI+PGI+PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+Lgor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6
IG5vcm1hbDsiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+
PC9pPjwvYj4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFu
ZC1zYW5pdGl6ZS0yNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LWFuZC1zYW5pdGl6ZS0yNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2M2NkZGVhNjYzMjgwOTQ3ZDBkMWJm
NWI2MWViODhiNTg1ZmNjODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTI2Lmh0bWwKQEAgLTAsMCArMSw1NiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8g
cmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUg
c3R5bGUuIDwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFy
a3VwKTsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7
CisKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIp
OworfQorCit0ZXN0UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJk
aXYiLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1h
bFwiPjxiPjxpPkhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVs
bG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PjxkaXY+SGVsbG88L2Rp
dj48L2Rpdj48L2Rpdj4iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGRp
dj48aT5IZWxsbzwvaT48L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9udC13ZWlnaHQ6
IGJvbGQ7XCI+SGVsbG88L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+PC9kaXY+IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+Iik7Cit0ZXN0
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1h
bFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPjxz
cGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L3Nw
YW4+PC9pPjwvYj48L2Rpdj4iLCAKKyAgICAgICAgICAiPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5o
ZWxsbzE8L2k+PC9iPjxiPjxpPiBoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIs
ICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8x
PC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOwordGVz
dFBhc3RlKCJkaXYiLCAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+PGI+PGkgc3R5bGU9XCJt
YXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iLAorICAgICAgICAgICI8aSBzdHlsZT1c
Im1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxs
byA8IS0tIGNvbW1lbnQgLS0+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8
Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+
PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+cGxhaW4gdGV4dDxiPjxp
PmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48
c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQg
aXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0yNy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0
aXplLTI3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZjg5ZGNmODg4NDdhYWI0Yjg5MmEwMDdk
MmRlMzJjMDk2OTgxZWI0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0yNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
NyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhl
IHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdp
dGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hl
bGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8aSBzdHlsZT0iZm9u
dC13ZWlnaHQ6IGJvbGQ7Ij5IZWxsbzwvaT4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGI+SGVsbG88L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48
c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+
PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitGQUlMIGNvbmZpcm1lZE1h
cmt1cCBzaG91bGQgYmUgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+
LiBXYXMgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPjxiPjxpIHN0eWxlPSJtYXJnaW46IDEwcHg7
Ij5oZWxsbzwvaT48L2I+PC9pPi4KK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxs
byZuYnNwO3dvcmxkPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNw
YW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFs
aWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMjcuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMjcuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4z
NjNjZGRlYTY2MzI4MDk0N2QwZDFiZjViNjFlYjg4YjU4NWZjYzg3Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0yNy5o
dG1sCkBAIC0wLDAgKzEsNTYgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0
aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAg
d2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLiA8L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciBy
b290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBl
bmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJr
dXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7Cisg
ICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFy
a3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdFBhc3RlKCJkaXYiLCAiSGVsbG8iLCAi
SGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iLCAiPGI+PGk+
SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHls
ZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48
L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj48ZGl2PkhlbGxvPC9kaXY+PC9kaXY+PC9kaXY+IiwgIkhlbGxvIik7Cit0ZXN0UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxkaXY+PGk+SGVsbG88L2k+PC9kaXY+PC9iPjwvZGl2PiIsICI8
aSBzdHlsZT1cImZvbnQtd2VpZ2h0OiBib2xkO1wiPkhlbGxvPC9pPiIpOwordGVzdFBhc3RlKCJk
aXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9i
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhl
bGxvPC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHls
ZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgCisgICAgICAgICAgIjxk
aXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2Vp
Z2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4gaGVsbG8yPC9pPjwvYj48
L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDog
bm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48
L3NwYW4+PC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxpIHN0eWxlPVwibWFyZ2luOiAx
MHB4O1wiPjxiPjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+IiwK
KyAgICAgICAgICAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4i
KTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdo
dDogbm9ybWFsXCI+PGI+PGk+SGVsbG8gPCEtLSBjb21tZW50IC0tPndvcmxkPC9pPjwvYj48L3Nw
YW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7Cit0
ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5v
cm1hbFwiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9p
PjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wi
PnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4i
KTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS1hbmQtc2FuaXRpemUtMjgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0yOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWY4
OWRjZjg4ODQ3YWFiNGI4OTJhMDA3ZDJkZTMyYzA5Njk4MWViNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMjgtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTcgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFz
dGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJi
b3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48
aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9p
PjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGkgc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SGVsbG88L2k+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxiPkhl
bGxvPC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPmhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij48
Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48
L2I+JworRkFJTCBjb25maXJtZWRNYXJrdXAgc2hvdWxkIGJlIDxpIHN0eWxlPSJtYXJnaW46IDEw
cHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4gV2FzIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij48Yj48
aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+cGxh
aW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTI4
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXpl
LTI4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMzYzY2RkZWE2NjMyODA5NDdkMGQxYmY1YjYxZWI4OGI1ODVm
Y2M4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS1hbmQtc2FuaXRpemUtMjguaHRtbApAQCAtMCwwICsxLDU2IEBACis8IURPQ1RZUEUgSFRN
TCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBw
YXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZl
cmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4gPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdFBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCkgeworICAgIHZh
ciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIHJv
b3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxz
ZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK3Rlc3RQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8Yj48aT5I
ZWxsbzwvaT48L2I+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVs
bG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7
Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2
PiIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48ZGl2PjxpPkhlbGxvPC9p
PjwvZGl2PjwvYj48L2Rpdj4iLCAiPGkgc3R5bGU9XCJmb250LXdlaWdodDogYm9sZDtcIj5IZWxs
bzwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJm
b250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwv
ZGl2PiIsIAorICAgICAgICAgICI8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+
PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+
PGI+PGk+IGhlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFu
IHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxp
PiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIs
ICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj48Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBweDtc
Ij5oZWxsbzwvaT48L2I+PC9pPiIsCisgICAgICAgICAgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4
O1wiPmhlbGxvPC9pPjwvYj48L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxz
cGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvIDwhLS0gY29tbWVu
dCAtLT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvJm5i
c3A7d29ybGQ8L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBz
dHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMg
dGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwi
Zm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwv
aT48L2I+PC9zcGFuPjwvaT48L2I+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTI5LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMjktZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmFmODlkY2Y4ODg0N2FhYjRiODkyYTAwN2QyZGUzMmMwOTY5ODFl
YjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtYW5kLXNhbml0aXplLTI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdt
ZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3Rp
bmcgdGhlIHN0eWxlLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hl
bGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxpIHN0eWxlPSJmb250LXdlaWdodDogYm9s
ZDsiPkhlbGxvPC9pPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0
LWFsaWduOiBjZW50ZXI7Ij48Yj5IZWxsbzwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJm
b250LXdlaWdodDogbm9ybWFsOyI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxs
bzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK0ZBSUwgY29uZmlybWVkTWFya3VwIHNob3VsZCBi
ZSA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uIFdhcyA8aSBzdHls
ZT0ibWFyZ2luOiAxMHB4OyI+PGI+PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwv
Yj48L2k+LgorUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8
L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9u
dC13ZWlnaHQ6IG5vcm1hbDsiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwv
Yj48L3NwYW4+PC9pPjwvYj4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLWFuZC1zYW5pdGl6ZS0yOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0yOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2M2NkZGVhNjYzMjgw
OTQ3ZDBkMWJmNWI2MWViODhiNTg1ZmNjODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTI5Lmh0bWwKQEAgLTAsMCAr
MSw1NiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJh
Z21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVj
dGluZyB0aGUgc3R5bGUuIDwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwKTsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5m
b2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5p
bm5lckhUTUw7CisKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0
ZWQgKyAiJyIpOworfQorCit0ZXN0UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIpOwordGVz
dFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48L2I+
Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWln
aHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAi
PGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PjxkaXY+
SGVsbG88L2Rpdj48L2Rpdj48L2Rpdj4iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxk
aXY+PGI+PGRpdj48aT5IZWxsbzwvaT48L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9u
dC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+PC9kaXY+
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+
Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWln
aHQ6IG5vcm1hbFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAKKyAgICAgICAgICAiPGRpdj48Yj48aT5oZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtc
Ij48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiBoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9i
PjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+
PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9i
PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+PGI+PGkg
c3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iLAorICAgICAgICAgICI8
aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIpOwordGVzdFBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48
Yj48aT5IZWxsbyA8IS0tIGNvbW1lbnQgLS0+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwv
ZGl2PiIsICI8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2
IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+cGxhaW4g
dGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIs
ICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+cGxhaW4gdGV4dDxi
PjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6
ZS0zLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1h
bmQtc2FuaXRpemUtMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWY4OWRjZjg4ODQ3YWFiNGI4
OTJhMDA3ZDJkZTMyYzA5Njk4MWViNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMy1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxNyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJp
bXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFy
a3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4KKworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8aSBzdHls
ZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IZWxsbzwvaT4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGI+SGVsbG88L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPjxiPjxpPmhlbGxvMTwvaT48
L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitGQUlMIGNvbmZp
cm1lZE1hcmt1cCBzaG91bGQgYmUgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwv
Yj48L2k+LiBXYXMgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPjxiPjxpIHN0eWxlPSJtYXJnaW46
IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4KK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48
aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+
PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij5wbGFpbiB0ZXh0PGI+PGk+Ym9s
ZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMy5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0zLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMzYzY2RkZWE2NjMyODA5NDdkMGQxYmY1YjYxZWI4OGI1ODVmY2M4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUt
My5odG1sCkBAIC0wLDAgKzEsNTYgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmlt
cyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJr
dXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLiA8L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3Zh
ciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5h
cHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBt
YXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7
CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0g
bWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdFBhc3RlKCJkaXYiLCAiSGVsbG8i
LCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iLCAiPGI+
PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBz
dHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwv
aT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj48ZGl2PkhlbGxvPC9kaXY+PC9kaXY+PC9kaXY+IiwgIkhlbGxvIik7Cit0ZXN0
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxkaXY+PGk+SGVsbG88L2k+PC9kaXY+PC9iPjwvZGl2PiIs
ICI8aSBzdHlsZT1cImZvbnQtd2VpZ2h0OiBib2xkO1wiPkhlbGxvPC9pPiIpOwordGVzdFBhc3Rl
KCJkaXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxv
PC9iPjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxi
PkhlbGxvPC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBz
dHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9zcGFuPjwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgCisgICAgICAgICAg
IjxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQt
d2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4gaGVsbG8yPC9pPjwv
Yj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdo
dDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwv
Yj48L3NwYW4+PC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxpIHN0eWxlPVwibWFyZ2lu
OiAxMHB4O1wiPjxiPjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+
IiwKKyAgICAgICAgICAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwv
aT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdl
aWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG8gPCEtLSBjb21tZW50IC0tPndvcmxkPC9pPjwvYj48
L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7
Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6
IG5vcm1hbFwiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+
PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFs
O1wiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwv
Yj4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS1hbmQtc2FuaXRpemUtMzAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0zMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YWY4OWRjZjg4ODQ3YWFiNGI4OTJhMDA3ZDJkZTMyYzA5Njk4MWViNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMzAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTcgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUg
cGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2
ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxv
PC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGkgc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SGVsbG88L2k+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxi
PkhlbGxvPC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPmhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7
Ij48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwv
aT48L2I+JworRkFJTCBjb25maXJtZWRNYXJrdXAgc2hvdWxkIGJlIDxpIHN0eWxlPSJtYXJnaW46
IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4gV2FzIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij48
Yj48aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+
cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXpl
LTMwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0
aXplLTMwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzYzY2RkZWE2NjMyODA5NDdkMGQxYmY1YjYxZWI4OGI1
ODVmY2M4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS1hbmQtc2FuaXRpemUtMzAuaHRtbApAQCAtMCwwICsxLDU2IEBACis8IURPQ1RZUEUg
SFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRo
ZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhl
IHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4gPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdFBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCkgeworICAg
IHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAg
IHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBm
YWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK3Rl
c3RQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8Yj48
aT5IZWxsbzwvaT48L2I+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2
IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+
SGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbzwvaT48L2I+
Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2Pjwv
ZGl2PiIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48ZGl2PjxpPkhlbGxv
PC9pPjwvZGl2PjwvYj48L2Rpdj4iLCAiPGkgc3R5bGU9XCJmb250LXdlaWdodDogYm9sZDtcIj5I
ZWxsbzwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2
IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9
XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9i
PjwvZGl2PiIsIAorICAgICAgICAgICI8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+
PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48
L2I+PGI+PGk+IGhlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxz
cGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxi
PjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRp
diIsICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj48Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBw
eDtcIj5oZWxsbzwvaT48L2I+PC9pPiIsCisgICAgICAgICAgIjxpIHN0eWxlPVwibWFyZ2luOiAx
MHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvIDwhLS0gY29t
bWVudCAtLT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxv
Jm5ic3A7d29ybGQ8L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3Bh
biBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFs
aWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxl
PVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4
dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTMxLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMzEtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmODlkY2Y4ODg0N2FhYjRiODkyYTAwN2QyZGUzMmMwOTY5
ODFlYjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtYW5kLXNhbml0aXplLTMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZy
YWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZl
Y3RpbmcgdGhlIHN0eWxlLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxpIHN0eWxlPSJmb250LXdlaWdodDog
Ym9sZDsiPkhlbGxvPC9pPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0
ZXh0LWFsaWduOiBjZW50ZXI7Ij48Yj5IZWxsbzwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxl
PSJmb250LXdlaWdodDogbm9ybWFsOyI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDto
ZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK0ZBSUwgY29uZmlybWVkTWFya3VwIHNob3Vs
ZCBiZSA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uIFdhcyA8aSBz
dHlsZT0ibWFyZ2luOiAxMHB4OyI+PGI+PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9p
PjwvYj48L2k+LgorUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvJm5ic3A7d29y
bGQ8L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0i
Zm9udC13ZWlnaHQ6IG5vcm1hbDsiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9p
PjwvYj48L3NwYW4+PC9pPjwvYj4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0zMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0zMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2M2NkZGVhNjYz
MjgwOTQ3ZDBkMWJmNWI2MWViODhiNTg1ZmNjODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTMxLmh0bWwKQEAgLTAs
MCArMSw1NiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQg
ZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFm
ZmVjdGluZyB0aGUgc3R5bGUuIDwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG9yaWdpbmFsTWFya3VwKTsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9k
ZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9k
ZS5pbm5lckhUTUw7CisKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhw
ZWN0ZWQgKyAiJyIpOworfQorCit0ZXN0UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIpOwor
dGVzdFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48
L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13
ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4i
LCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48L2Rpdj48L2Rpdj4iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGI+PGRpdj48aT5IZWxsbzwvaT48L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwi
Zm9udC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+PC9k
aXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9k
aXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13
ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAKKyAgICAgICAgICAiPGRpdj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1h
bDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiBoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+
PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+
PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+
PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+PGI+
PGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iLAorICAgICAgICAg
ICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIpOwordGVzdFBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxc
Ij48Yj48aT5IZWxsbyA8IS0tIGNvbW1lbnQgLS0+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9i
PjwvZGl2PiIsICI8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+cGxh
aW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2
PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+cGxhaW4gdGV4
dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5p
dGl6ZS0zMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtYW5kLXNhbml0aXplLTMyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZjg5ZGNmODg4NDdh
YWI0Yjg5MmEwMDdkMmRlMzJjMDk2OTgxZWI0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0zMi1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxNyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRp
b24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0
aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4KKworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9p
PjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
aSBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IZWxsbzwvaT4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGI+SGVsbG88L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPjxiPjxpPmhlbGxv
MTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitGQUlM
IGNvbmZpcm1lZE1hcmt1cCBzaG91bGQgYmUgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxv
PC9pPjwvYj48L2k+LiBXYXMgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPjxiPjxpIHN0eWxlPSJt
YXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4KK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij5wbGFpbiB0ZXh0PGI+
PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMzIuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMzIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4zNjNjZGRlYTY2MzI4MDk0N2QwZDFiZjViNjFlYjg4YjU4NWZjYzg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1z
YW5pdGl6ZS0zMi5odG1sCkBAIC0wLDAgKzEsNTYgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJh
dGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9m
IHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLiA8L3A+Cis8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rp
b24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1l
bnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
dGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5u
ZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdFBhc3RlKCJkaXYi
LCAiSGVsbG8iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxiPjxpPkhlbGxvPC9pPjwv
Yj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbzwvaT48L2I+
PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj48ZGl2PkhlbGxvPC9kaXY+PC9kaXY+PC9kaXY+IiwgIkhlbGxv
Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxkaXY+PGk+SGVsbG88L2k+PC9kaXY+PC9i
PjwvZGl2PiIsICI8aSBzdHlsZT1cImZvbnQtd2VpZ2h0OiBib2xkO1wiPkhlbGxvPC9pPiIpOwor
dGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxiPkhlbGxvPC9iPjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9zcGFuPjwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0
OiBub3JtYWxcIj48Yj48aT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgCisg
ICAgICAgICAgIjxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHls
ZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4gaGVs
bG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJm
b250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVs
bG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxpIHN0eWxl
PVwibWFyZ2luOiAxMHB4O1wiPjxiPjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9p
PjwvYj48L2k+IiwKKyAgICAgICAgICAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88
L2k+PC9iPjwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9
XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG8gPCEtLSBjb21tZW50IC0tPndvcmxk
PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwv
aT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9u
dC13ZWlnaHQ6IG5vcm1hbFwiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwv
Yj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdo
dDogbm9ybWFsO1wiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3Nw
YW4+PC9pPjwvYj4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMzMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0zMy1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYWY4OWRjZjg4ODQ3YWFiNGI4OTJhMDA3ZDJkZTMyYzA5Njk4MWViNAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2Fu
aXRpemUtMzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTcgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVk
dWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5
bGUuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxi
PjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGkgc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SGVsbG88
L2k+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxiPkhlbGxvPC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0
OiBub3JtYWw7Ij48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+
PC9zcGFuPjwvaT48L2I+JworRkFJTCBjb25maXJtZWRNYXJrdXAgc2hvdWxkIGJlIDxpIHN0eWxl
PSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4gV2FzIDxpIHN0eWxlPSJtYXJnaW46
IDEwcHg7Ij48Yj48aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDog
bm9ybWFsOyI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48
L2k+PC9iPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5k
LXNhbml0aXplLTMzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
YW5kLXNhbml0aXplLTMzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzYzY2RkZWE2NjMyODA5NDdkMGQxYmY1
YjYxZWI4OGI1ODVmY2M4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMzMuaHRtbApAQCAtMCwwICsxLDU2IEBACis8
IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNr
cyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byBy
ZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBz
dHlsZS4gPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdFBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3Rl
ZCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXApOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
UGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsK
KworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK3Rlc3RQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRp
diIsICI8Yj48aT5IZWxsbzwvaT48L2I+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFs
XCI+PGI+PGk+SGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxs
bzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48ZGl2
PjxpPkhlbGxvPC9pPjwvZGl2PjwvYj48L2Rpdj4iLCAiPGkgc3R5bGU9XCJmb250LXdlaWdodDog
Ym9sZDtcIj5IZWxsbzwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj4iKTsKK3Rlc3RQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFs
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+PHNw
YW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvc3Bh
bj48L2k+PC9iPjwvZGl2PiIsIAorICAgICAgICAgICI8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhl
bGxvMTwvaT48L2I+PGI+PGk+IGhlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+Iiwg
IjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8
L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7Cit0ZXN0
UGFzdGUoImRpdiIsICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj48Yj48aSBzdHlsZT1cIm1h
cmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIsCisgICAgICAgICAgIjxpIHN0eWxlPVwi
bWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxv
IDwhLS0gY29tbWVudCAtLT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxi
PjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj5wbGFpbiB0ZXh0PGI+PGk+
Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxz
cGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBp
dGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTM0LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRp
emUtMzQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmODlkY2Y4ODg0N2FhYjRiODkyYTAwN2Qy
ZGUzMmMwOTY5ODFlYjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUg
cGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0
aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxpIHN0eWxlPSJmb250
LXdlaWdodDogYm9sZDsiPkhlbGxvPC9pPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48Yj5IZWxsbzwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxz
cGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48
aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK0ZBSUwgY29uZmlybWVkTWFy
a3VwIHNob3VsZCBiZSA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4u
IFdhcyA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+PGI+PGkgc3R5bGU9Im1hcmdpbjogMTBweDsi
PmhlbGxvPC9pPjwvYj48L2k+LgorUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxv
Jm5ic3A7d29ybGQ8L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3Bh
biBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxp
YyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0zNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0zNC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2
M2NkZGVhNjYzMjgwOTQ3ZDBkMWJmNWI2MWViODhiNTg1ZmNjODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTM0Lmh0
bWwKQEAgLTAsMCArMSw1NiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRo
ZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3
aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuIDwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOwor
CisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwi
LCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFy
a3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwg
IiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCit0ZXN0UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIsICI8Yj48aT5I
ZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxl
PVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwv
Yj48L2Rpdj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRp
dj48ZGl2PjxkaXY+SGVsbG88L2Rpdj48L2Rpdj48L2Rpdj4iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0
ZSgiZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxsbzwvaT48L2Rpdj48L2I+PC9kaXY+IiwgIjxp
IHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88L2k+Iik7Cit0ZXN0UGFzdGUoImRp
diIsICI8ZGl2PjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+
PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVs
bG88L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxl
PVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAKKyAgICAgICAgICAiPGRp
dj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWln
aHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiBoZWxsbzI8L2k+PC9iPjwv
c3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBu
b3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwv
c3Bhbj48L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGkgc3R5bGU9XCJtYXJnaW46IDEw
cHg7XCI+PGI+PGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iLAor
ICAgICAgICAgICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIp
OwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0
OiBub3JtYWxcIj48Yj48aT5IZWxsbyA8IS0tIGNvbW1lbnQgLS0+d29ybGQ8L2k+PC9iPjwvc3Bh
bj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4iKTsKK3Rl
c3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9y
bWFsXCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+
PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+
cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LWFuZC1zYW5pdGl6ZS0zNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTM1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZjg5
ZGNmODg4NDdhYWI0Yjg5MmEwMDdkMmRlMzJjMDk2OTgxZWI0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0zNS1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxNyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0
ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJv
c2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4KKworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxp
PkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+
PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8aSBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IZWxsbzwvaT4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGI+SGVs
bG88L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPjxi
PjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwv
Yj4nCitGQUlMIGNvbmZpcm1lZE1hcmt1cCBzaG91bGQgYmUgPGkgc3R5bGU9Im1hcmdpbjogMTBw
eDsiPmhlbGxvPC9pPjwvYj48L2k+LiBXYXMgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPjxiPjxp
IHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4KK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij5wbGFp
biB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMzUu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUt
MzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4zNjNjZGRlYTY2MzI4MDk0N2QwZDFiZjViNjFlYjg4YjU4NWZj
Yzg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLWFuZC1zYW5pdGl6ZS0zNS5odG1sCkBAIC0wLDAgKzEsNTYgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBh
c3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVy
Ym9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLiA8L3A+Cis8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5n
ZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIp
OworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAg
IG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlv
biB0ZXN0UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdFBh
c3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxiPjxpPkhl
bGxvPC9pPjwvYj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxs
bzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsK
K3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj48ZGl2PkhlbGxvPC9kaXY+PC9kaXY+PC9kaXY+
IiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxkaXY+PGk+SGVsbG88L2k+
PC9kaXY+PC9iPjwvZGl2PiIsICI8aSBzdHlsZT1cImZvbnQtd2VpZ2h0OiBib2xkO1wiPkhlbGxv
PC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZv
bnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9k
aXY+IiwgCisgICAgICAgICAgIjxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48
c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48
Yj48aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4g
c3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+
Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2Iiwg
IjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPjxiPjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wi
PmhlbGxvPC9pPjwvYj48L2k+IiwKKyAgICAgICAgICAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7
XCI+aGVsbG88L2k+PC9iPjwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNw
YW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG8gPCEtLSBjb21tZW50
IC0tPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG8mbmJz
cDt3b3JsZDwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0
eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0
ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJm
b250LXdlaWdodDogbm9ybWFsO1wiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9p
PjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOwor
Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMzYtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0zNi1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYWY4OWRjZjg4ODQ3YWFiNGI4OTJhMDA3ZDJkZTMyYzA5Njk4MWVi
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS1hbmQtc2FuaXRpemUtMzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTcgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21l
bnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGlu
ZyB0aGUgc3R5bGUuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGkgc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xk
OyI+SGVsbG88L2k+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxiPkhlbGxvPC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZv
bnQtd2VpZ2h0OiBub3JtYWw7Ij48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxv
MjwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworRkFJTCBjb25maXJtZWRNYXJrdXAgc2hvdWxkIGJl
IDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4gV2FzIDxpIHN0eWxl
PSJtYXJnaW46IDEwcHg7Ij48Yj48aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9i
PjwvaT4uCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwv
aT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250
LXdlaWdodDogbm9ybWFsOyI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9i
Pjwvc3Bhbj48L2k+PC9iPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtYW5kLXNhbml0aXplLTM2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtYW5kLXNhbml0aXplLTM2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzYzY2RkZWE2NjMyODA5
NDdkMGQxYmY1YjYxZWI4OGI1ODVmY2M4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMzYuaHRtbApAQCAtMCwwICsx
LDU2IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8
aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0
ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFn
bWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0
aW5nIHRoZSBzdHlsZS4gPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdFBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3Vw
LCBleHBlY3RlZCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXApOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZv
Y3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlu
bmVySFRNTDsKKworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK3Rlc3RQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
UGFzdGUoImRpdiIsICI8Yj48aT5IZWxsbzwvaT48L2I+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4i
KTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdo
dDogbm9ybWFsXCI+PGI+PGk+SGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8
Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48ZGl2PjxpPkhlbGxvPC9pPjwvZGl2PjwvYj48L2Rpdj4iLCAiPGkgc3R5bGU9XCJmb250
LXdlaWdodDogYm9sZDtcIj5IZWxsbzwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj4i
KTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdo
dDogbm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsIAorICAgICAgICAgICI8ZGl2PjxiPjxpPmhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0
ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wi
PjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+IGhlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+
PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48
aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+
Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj48Yj48aSBz
dHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIsCisgICAgICAgICAgIjxp
IHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+Iik7Cit0ZXN0UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxi
PjxpPkhlbGxvIDwhLS0gY29tbWVudCAtLT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9k
aXY+IiwgIjxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj5wbGFpbiB0
ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+Iiwg
IjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5wbGFpbiB0ZXh0PGI+
PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXpl
LTM3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1h
bmQtc2FuaXRpemUtMzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmODlkY2Y4ODg0N2FhYjRi
ODkyYTAwN2QyZGUzMmMwOTY5ODFlYjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTM3LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDE3IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0
cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBt
YXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9i
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxpIHN0
eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhlbGxvPC9pPicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48Yj5IZWxsbzwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+PGI+PGk+aGVsbG8xPC9p
PjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK0ZBSUwgY29u
ZmlybWVkTWFya3VwIHNob3VsZCBiZSA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+
PC9iPjwvaT4uIFdhcyA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+PGI+PGkgc3R5bGU9Im1hcmdp
bjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LgorUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxi
PjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPnBsYWluIHRleHQ8Yj48aT5i
b2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0zNy5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0zNy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjM2M2NkZGVhNjYzMjgwOTQ3ZDBkMWJmNWI2MWViODhiNTg1ZmNjODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0
aXplLTM3Lmh0bWwKQEAgLTAsMCArMSw1NiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9u
IHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhl
IG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuIDwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICByb290LmFwcGVuZENoaWxk
KG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJT
ZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxz
ZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29u
ZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBzaG91bGRCZSgiY29uZmlybWVk
TWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCit0ZXN0UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIs
ICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxz
cGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvPC9pPjwvYj48L3Nw
YW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJk
aXYiLCAiPGRpdj48ZGl2PjxkaXY+SGVsbG88L2Rpdj48L2Rpdj48L2Rpdj4iLCAiSGVsbG8iKTsK
K3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxsbzwvaT48L2Rpdj48L2I+PC9k
aXY+IiwgIjxpIHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88L2k+Iik7Cit0ZXN0
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+
SGVsbG88L2I+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGI+SGVsbG88L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxz
cGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L3Nw
YW4+PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5v
cm1hbFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAKKyAgICAg
ICAgICAiPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwi
Zm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiBoZWxsbzI8
L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQt
d2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8
L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGkgc3R5bGU9XCJt
YXJnaW46IDEwcHg7XCI+PGI+PGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9i
PjwvaT4iLAorICAgICAgICAgICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48
L2I+PC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZv
bnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbyA8IS0tIGNvbW1lbnQgLS0+d29ybGQ8L2k+
PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwv
Yj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdl
aWdodDogbm9ybWFsXCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwv
c3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBu
b3JtYWw7XCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48
L2k+PC9iPiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0zOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTM4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5hZjg5ZGNmODg4NDdhYWI0Yjg5MmEwMDdkMmRlMzJjMDk2OTgxZWI0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6
ZS0zOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0
IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2Ug
dGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4K
KworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+
SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8aSBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IZWxsbzwvaT4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGI+SGVsbG88L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5v
cm1hbDsiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3Nw
YW4+PC9pPjwvYj4nCitGQUlMIGNvbmZpcm1lZE1hcmt1cCBzaG91bGQgYmUgPGkgc3R5bGU9Im1h
cmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LiBXYXMgPGkgc3R5bGU9Im1hcmdpbjogMTBw
eDsiPjxiPjxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4KK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3Jt
YWw7Ij5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48
L2I+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2Fu
aXRpemUtMzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQt
c2FuaXRpemUtMzguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNjNjZGRlYTY2MzI4MDk0N2QwZDFiZjViNjFl
Yjg4YjU4NWZjYzg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0zOC5odG1sCkBAIC0wLDAgKzEsNTYgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVj
ZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxl
LiA8L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBk
b2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlv
biBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0
cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQor
CitmdW5jdGlvbiB0ZXN0UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdFBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2Iiwg
IjxiPjxpPkhlbGxvPC9pPjwvYj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48
Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvPC9p
PjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj48ZGl2PkhlbGxvPC9kaXY+PC9k
aXY+PC9kaXY+IiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxkaXY+PGk+
SGVsbG88L2k+PC9kaXY+PC9iPjwvZGl2PiIsICI8aSBzdHlsZT1cImZvbnQtd2VpZ2h0OiBib2xk
O1wiPkhlbGxvPC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PiIpOwordGVzdFBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT48c3BhbiBz
dHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT53b3JsZDwvaT48L2I+PC9zcGFuPjwv
aT48L2I+PC9kaXY+IiwgCisgICAgICAgICAgIjxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8x
PC9pPjwvYj48Yj48aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+
PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48
L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKK3Rlc3RQYXN0
ZSgiZGl2IiwgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPjxiPjxpIHN0eWxlPVwibWFyZ2lu
OiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+IiwKKyAgICAgICAgICAiPGkgc3R5bGU9XCJtYXJn
aW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+
PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG8gPCEt
LSBjb21tZW50IC0tPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+
SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPnBsYWluIHRleHQ8Yj48aT5ib2xk
IGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4g
c3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxp
YyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0g
Im5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMzktZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0z
OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWY4OWRjZjg4ODQ3YWFiNGI4OTJhMDA3ZDJkZTMy
YzA5Njk4MWViNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTcgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0
ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0
IGFmZmVjdGluZyB0aGUgc3R5bGUuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGkgc3R5bGU9ImZvbnQtd2Vp
Z2h0OiBib2xkOyI+SGVsbG88L2k+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxiPkhlbGxvPC9iPjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4g
c3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZu
YnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworRkFJTCBjb25maXJtZWRNYXJrdXAg
c2hvdWxkIGJlIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4gV2Fz
IDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij48Yj48aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVs
bG88L2k+PC9iPjwvaT4uCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG8mbmJz
cDt3b3JsZDwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0
eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRl
eHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTM5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTM5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzYzY2Rk
ZWE2NjMyODA5NDdkMGQxYmY1YjYxZWI4OGI1ODVmY2M4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMzkuaHRtbApA
QCAtMCwwICsxLDU2IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1M
Ly9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlv
biI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBh
c3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhv
dXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4gPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdFBhc3RlKHRhZ05hbWUsIG9yaWdp
bmFsTWFya3VwLCBleHBlY3RlZCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAg
ICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZh
bHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAg
PSBub2RlLmlubmVySFRNTDsKKworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK3Rlc3RQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8Yj48aT5IZWxsbzwvaT48L2I+IiwgIjxiPjxpPkhlbGxv
PC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJm
b250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwv
ZGl2PiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48ZGl2PjxpPkhlbGxvPC9pPjwvZGl2PjwvYj48L2Rpdj4iLCAiPGkgc3R5
bGU9XCJmb250LXdlaWdodDogYm9sZDtcIj5IZWxsbzwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwv
Yj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJm
b250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsIAorICAgICAgICAgICI8ZGl2Pjxi
PjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iKTsK
K3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDog
bm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+IGhlbGxvMjwvaT48L2I+PC9zcGFu
PjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1h
bDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFu
PjwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtc
Ij48Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIsCisgICAg
ICAgICAgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+Iik7Cit0
ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5v
cm1hbFwiPjxiPjxpPkhlbGxvIDwhLS0gY29tbWVudCAtLT53b3JsZDwvaT48L2I+PC9zcGFuPjwv
aT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPiIpOwordGVzdFBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxc
Ij5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+
PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5wbGFp
biB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5k
LXNhbml0aXplLTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLWFuZC1zYW5pdGl6ZS00LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZjg5ZGNmODg4
NDdhYWI0Yjg5MmEwMDdkMmRlMzJjMDk2OTgxZWI0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS00LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDE3IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJh
dGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9m
IHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88
L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxpIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhlbGxvPC9pPicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48Yj5IZWxsbzwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+PGI+PGk+aGVs
bG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK0ZB
SUwgY29uZmlybWVkTWFya3VwIHNob3VsZCBiZSA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVs
bG88L2k+PC9iPjwvaT4uIFdhcyA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+PGI+PGkgc3R5bGU9
Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LgorUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPnBsYWluIHRleHQ8
Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS00Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTQuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4zNjNjZGRlYTY2MzI4MDk0N2QwZDFiZjViNjFlYjg4YjU4NWZjYzg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1z
YW5pdGl6ZS00Lmh0bWwKQEAgLTAsMCArMSw1NiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0
aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2Yg
dGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuIDwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIgbm9kZSA9IGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICByb290LmFwcGVuZENo
aWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBm
YWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAg
Y29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBzaG91bGRCZSgiY29uZmly
bWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCit0ZXN0UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVsbG88L2k+PC9i
PiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvPC9pPjwvYj48
L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3Rl
KCJkaXYiLCAiPGRpdj48ZGl2PjxkaXY+SGVsbG88L2Rpdj48L2Rpdj48L2Rpdj4iLCAiSGVsbG8i
KTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxsbzwvaT48L2Rpdj48L2I+
PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88L2k+Iik7Cit0
ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGI+SGVsbG88L2I+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L3NwYW4+PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6
IG5vcm1hbFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAKKyAg
ICAgICAgICAiPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxl
PVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiBoZWxs
bzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZv
bnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxs
bzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGkgc3R5bGU9
XCJtYXJnaW46IDEwcHg7XCI+PGI+PGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+
PC9iPjwvaT4iLAorICAgICAgICAgICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwv
aT48L2I+PC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1c
ImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbyA8IS0tIGNvbW1lbnQgLS0+d29ybGQ8
L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9p
PjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250
LXdlaWdodDogbm9ybWFsXCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9i
Pjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0
OiBub3JtYWw7XCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bh
bj48L2k+PC9iPiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS00MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTQwLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5hZjg5ZGNmODg4NDdhYWI0Yjg5MmEwMDdkMmRlMzJjMDk2OTgxZWI0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5p
dGl6ZS00MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0
aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1
Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHls
ZS4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+
PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8aSBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IZWxsbzwv
aT4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGI+SGVsbG88L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6
IG5vcm1hbDsiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48
L3NwYW4+PC9pPjwvYj4nCitGQUlMIGNvbmZpcm1lZE1hcmt1cCBzaG91bGQgYmUgPGkgc3R5bGU9
Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LiBXYXMgPGkgc3R5bGU9Im1hcmdpbjog
MTBweDsiPjxiPjxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4KK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBu
b3JtYWw7Ij5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwv
aT48L2I+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQt
c2FuaXRpemUtNDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1h
bmQtc2FuaXRpemUtNDAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNjNjZGRlYTY2MzI4MDk0N2QwZDFiZjVi
NjFlYjg4YjU4NWZjYzg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS00MC5odG1sCkBAIC0wLDAgKzEsNTYgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJl
ZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0
eWxlLiA8L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwg
PSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5j
dGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUg
PSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOwor
fQorCitmdW5jdGlvbiB0ZXN0UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdFBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2
IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxc
Ij48Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxv
PC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj48ZGl2PkhlbGxvPC9kaXY+
PC9kaXY+PC9kaXY+IiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxkaXY+
PGk+SGVsbG88L2k+PC9kaXY+PC9iPjwvZGl2PiIsICI8aSBzdHlsZT1cImZvbnQtd2VpZ2h0OiBi
b2xkO1wiPkhlbGxvPC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PiIpOwordGVzdFBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT48c3Bh
biBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT53b3JsZDwvaT48L2I+PC9zcGFu
PjwvaT48L2I+PC9kaXY+IiwgCisgICAgICAgICAgIjxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVs
bG8xPC9pPjwvYj48Yj48aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAi
PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwv
aT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKK3Rlc3RQ
YXN0ZSgiZGl2IiwgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPjxiPjxpIHN0eWxlPVwibWFy
Z2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+IiwKKyAgICAgICAgICAiPGkgc3R5bGU9XCJt
YXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxk
aXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG8g
PCEtLSBjb21tZW50IC0tPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+
PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPnBsYWluIHRleHQ8Yj48aT5i
b2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNw
YW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0
YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5
ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNDEtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6
ZS00MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWY4OWRjZjg4ODQ3YWFiNGI4OTJhMDA3ZDJk
ZTMyYzA5Njk4MWViNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNDEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTcg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBw
YXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRo
b3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGkgc3R5bGU9ImZvbnQt
d2VpZ2h0OiBib2xkOyI+SGVsbG88L2k+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxiPkhlbGxvPC9iPjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNw
YW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxp
PiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworRkFJTCBjb25maXJtZWRNYXJr
dXAgc2hvdWxkIGJlIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4g
V2FzIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij48Yj48aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+
aGVsbG88L2k+PC9iPjwvaT4uCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG8m
bmJzcDt3b3JsZDwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFu
IHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGlj
IHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTQxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTQxLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzYz
Y2RkZWE2NjMyODA5NDdkMGQxYmY1YjYxZWI4OGI1ODVmY2M4NwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNDEuaHRt
bApAQCAtMCwwICsxLDU2IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBI
VE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlw
dGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhl
IHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdp
dGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4gPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdFBhc3RlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwLCBleHBlY3RlZCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisK
KyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIs
IGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJr
dXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK3Rlc3RQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8Yj48aT5IZWxsbzwvaT48L2I+IiwgIjxiPjxpPkhl
bGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9
XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9i
PjwvZGl2PiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIpOwordGVzdFBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48ZGl2PjxpPkhlbGxvPC9pPjwvZGl2PjwvYj48L2Rpdj4iLCAiPGkg
c3R5bGU9XCJmb250LXdlaWdodDogYm9sZDtcIj5IZWxsbzwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxs
bzwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9
XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsIAorICAgICAgICAgICI8ZGl2
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
KTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdo
dDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+IGhlbGxvMjwvaT48L2I+PC9z
cGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5v
cm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9z
cGFuPjwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8aSBzdHlsZT1cIm1hcmdpbjogMTBw
eDtcIj48Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIsCisg
ICAgICAgICAgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+Iik7
Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6
IG5vcm1hbFwiPjxiPjxpPkhlbGxvIDwhLS0gY29tbWVudCAtLT53b3JsZDwvaT48L2I+PC9zcGFu
PjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPiIpOwordGVz
dFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3Jt
YWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48
L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5w
bGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
YW5kLXNhbml0aXplLTQyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmODlk
Y2Y4ODg0N2FhYjRiODkyYTAwN2QyZGUzMmMwOTY5ODFlYjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTQyLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3Rl
IG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9z
aXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+
SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48
L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxpIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhlbGxvPC9pPicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48Yj5IZWxs
bzwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5oZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+PGI+
PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9i
PicKK0ZBSUwgY29uZmlybWVkTWFya3VwIHNob3VsZCBiZSA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4
OyI+aGVsbG88L2k+PC9iPjwvaT4uIFdhcyA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+PGI+PGkg
c3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LgorUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPnBsYWlu
IHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS00Mi5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS00
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjM2M2NkZGVhNjYzMjgwOTQ3ZDBkMWJmNWI2MWViODhiNTg1ZmNj
ODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtYW5kLXNhbml0aXplLTQyLmh0bWwKQEAgLTAsMCArMSw1NiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFz
dGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJi
b3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuIDwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIg
bm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICByb290
LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2Up
OworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBzaG91bGRC
ZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCit0ZXN0UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVs
bG88L2k+PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxv
PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwor
dGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PjxkaXY+SGVsbG88L2Rpdj48L2Rpdj48L2Rpdj4i
LCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxsbzwvaT48
L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88
L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9u
dC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rp
dj4iLCAKKyAgICAgICAgICAiPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxz
cGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxi
PjxpPiBoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBz
dHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4m
bmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAi
PGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+PGI+PGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+
aGVsbG88L2k+PC9iPjwvaT4iLAorICAgICAgICAgICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtc
Ij5oZWxsbzwvaT48L2I+PC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3Bh
biBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbyA8IS0tIGNvbW1lbnQg
LS0+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbyZuYnNw
O3dvcmxkPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5
bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRl
eHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZv
bnQtd2VpZ2h0OiBub3JtYWw7XCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+
PC9iPjwvc3Bhbj48L2k+PC9iPiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS00My1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTQzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5hZjg5ZGNmODg4NDdhYWI0Yjg5MmEwMDdkMmRlMzJjMDk2OTgxZWI0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LWFuZC1zYW5pdGl6ZS00My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNyBAQAorVGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVu
dCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5n
IHRoZSBzdHlsZS4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8aSBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7
Ij5IZWxsbzwvaT4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGI+SGVsbG88L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9u
dC13ZWlnaHQ6IG5vcm1hbDsiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8y
PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitGQUlMIGNvbmZpcm1lZE1hcmt1cCBzaG91bGQgYmUg
PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LiBXYXMgPGkgc3R5bGU9
Im1hcmdpbjogMTBweDsiPjxiPjxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+
PC9pPi4KK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9p
PjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQt
d2VpZ2h0OiBub3JtYWw7Ij5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+
PC9zcGFuPjwvaT48L2I+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS1hbmQtc2FuaXRpemUtNDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS1hbmQtc2FuaXRpemUtNDMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNjNjZGRlYTY2MzI4MDk0
N2QwZDFiZjViNjFlYjg4YjU4NWZjYzg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS00My5odG1sCkBAIC0wLDAgKzEs
NTYgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdt
ZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3Rp
bmcgdGhlIHN0eWxlLiA8L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisK
K3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsK
KworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIg
bm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50
RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVy
biBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdFBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iKTsKK3Rlc3RQ
YXN0ZSgiZGl2IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIp
OwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0
OiBub3JtYWxcIj48Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxi
PjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj48ZGl2Pkhl
bGxvPC9kaXY+PC9kaXY+PC9kaXY+IiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxkaXY+PGk+SGVsbG88L2k+PC9kaXY+PC9iPjwvZGl2PiIsICI8aSBzdHlsZT1cImZvbnQt
d2VpZ2h0OiBib2xkO1wiPkhlbGxvPC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PiIp
OwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0
OiBub3JtYWxcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgCisgICAgICAgICAgIjxkaXY+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIpOwordGVzdFBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+
PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48
L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxp
PmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4i
KTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPjxiPjxpIHN0
eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+IiwKKyAgICAgICAgICAiPGkg
c3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iKTsKK3Rlc3RQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+
PGk+SGVsbG8gPCEtLSBjb21tZW50IC0tPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rp
dj4iLCAiPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPnBsYWluIHRl
eHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAi
PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPnBsYWluIHRleHQ8Yj48
aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKKworcm9vdC5zdHls
ZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUt
NDQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFu
ZC1zYW5pdGl6ZS00NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWY4OWRjZjg4ODQ3YWFiNGI4
OTJhMDA3ZDJkZTMyYzA5Njk4MWViNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNDQtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTcgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRy
aW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1h
cmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGkgc3R5
bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SGVsbG88L2k+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxiPkhlbGxvPC9iPjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij48Yj48aT5oZWxsbzE8L2k+
PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworRkFJTCBjb25m
aXJtZWRNYXJrdXAgc2hvdWxkIGJlIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48
L2I+PC9pPi4gV2FzIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij48Yj48aSBzdHlsZT0ibWFyZ2lu
OiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+
PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxi
PjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+cGxhaW4gdGV4dDxiPjxpPmJv
bGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTQ0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTQ0Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMzYzY2RkZWE2NjMyODA5NDdkMGQxYmY1YjYxZWI4OGI1ODVmY2M4NwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRp
emUtNDQuaHRtbApAQCAtMCwwICsxLDU2IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lF
VEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlk
PSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24g
dHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUg
bWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4gPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdFBhc3RlKHRh
Z05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCkgeworICAgIHZhciBub2RlID0gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIHJvb3QuYXBwZW5kQ2hpbGQo
bm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNl
bGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25m
aXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK3Rlc3RQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iiwg
IjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNw
YW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG88L2k+PC9iPjwvc3Bh
bj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIpOwor
dGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48ZGl2PjxpPkhlbGxvPC9pPjwvZGl2PjwvYj48L2Rp
dj4iLCAiPGkgc3R5bGU9XCJmb250LXdlaWdodDogYm9sZDtcIj5IZWxsbzwvaT4iKTsKK3Rlc3RQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5I
ZWxsbzwvYj48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48Yj5IZWxsbzwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNw
YW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bh
bj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9y
bWFsXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsIAorICAgICAg
ICAgICI8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJm
b250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+IGhlbGxvMjwv
aT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13
ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwv
aT48L2I+PC9zcGFuPjwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8aSBzdHlsZT1cIm1h
cmdpbjogMTBweDtcIj48Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+
PC9pPiIsCisgICAgICAgICAgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwv
Yj48L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9u
dC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvIDwhLS0gY29tbWVudCAtLT53b3JsZDwvaT48
L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9i
PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2Vp
Z2h0OiBub3JtYWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9z
cGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5v
cm1hbDtcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwv
aT48L2I+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtYW5kLXNhbml0aXplLTQ1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmFmODlkY2Y4ODg0N2FhYjRiODkyYTAwN2QyZGUzMmMwOTY5ODFlYjQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXpl
LTQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
dGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0
aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5I
ZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxpIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhlbGxvPC9pPicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7
Ij48Yj5IZWxsbzwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9y
bWFsOyI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bh
bj48L2k+PC9iPicKK0ZBSUwgY29uZmlybWVkTWFya3VwIHNob3VsZCBiZSA8aSBzdHlsZT0ibWFy
Z2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uIFdhcyA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4
OyI+PGI+PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LgorUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1h
bDsiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwv
Yj4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5p
dGl6ZS00NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1z
YW5pdGl6ZS00NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2M2NkZGVhNjYzMjgwOTQ3ZDBkMWJmNWI2MWVi
ODhiNTg1ZmNjODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTQ1Lmh0bWwKQEAgLTAsMCArMSw1NiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNl
IHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUu
IDwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsK
KyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsK
KyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3Rl
IiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAg
ICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQor
Cit0ZXN0UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAi
PGI+PGk+SGVsbG88L2k+PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxi
PjxpPkhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG88L2k+
PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PjxkaXY+SGVsbG88L2Rpdj48L2Rp
dj48L2Rpdj4iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5I
ZWxsbzwvaT48L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7
XCI+SGVsbG88L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPjxzcGFuIHN0
eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L3NwYW4+PC9p
PjwvYj48L2Rpdj4iLCAKKyAgICAgICAgICAiPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8
L2k+PC9iPjxiPjxpPiBoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48
aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwv
Yj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOwordGVzdFBhc3Rl
KCJkaXYiLCAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+PGI+PGkgc3R5bGU9XCJtYXJnaW46
IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iLAorICAgICAgICAgICI8aSBzdHlsZT1cIm1hcmdp
bjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbyA8IS0t
IGNvbW1lbnQgLS0+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5I
ZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+
PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQg
aXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBz
dHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGlj
IHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS00Ni1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTQ2
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZjg5ZGNmODg4NDdhYWI0Yjg5MmEwMDdkMmRlMzJj
MDk2OTgxZWI0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS00Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNyBAQAor
VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3Rl
ZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQg
YWZmZWN0aW5nIHRoZSBzdHlsZS4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8aSBzdHlsZT0iZm9udC13ZWln
aHQ6IGJvbGQ7Ij5IZWxsbzwvaT4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGI+SGVsbG88L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBz
dHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5i
c3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitGQUlMIGNvbmZpcm1lZE1hcmt1cCBz
aG91bGQgYmUgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LiBXYXMg
PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPjxiPjxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxs
bzwvaT48L2I+PC9pPi4KK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbyZuYnNw
O3dvcmxkPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5
bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4
dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNDYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNjNjZGRl
YTY2MzI4MDk0N2QwZDFiZjViNjFlYjg4YjU4NWZjYzg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS00Ni5odG1sCkBA
IC0wLDAgKzEsNTYgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFz
dGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91
dCBhZmZlY3RpbmcgdGhlIHN0eWxlLiA8L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxz
Y3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsK
KyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9k
ZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOwor
ICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdFBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8i
KTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iLCAiPGI+PGk+SGVsbG88
L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZv
bnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9k
aXY+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj48ZGl2PkhlbGxvPC9kaXY+PC9kaXY+PC9kaXY+IiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxkaXY+PGk+SGVsbG88L2k+PC9kaXY+PC9iPjwvZGl2PiIsICI8aSBzdHls
ZT1cImZvbnQtd2VpZ2h0OiBib2xkO1wiPkhlbGxvPC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAi
PGRpdj48ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9i
PjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZv
bnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgCisgICAgICAgICAgIjxkaXY+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIpOwor
dGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBu
b3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+
PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFs
O1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+
PC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wi
PjxiPjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+IiwKKyAgICAg
ICAgICAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iKTsKK3Rl
c3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9y
bWFsXCI+PGI+PGk+SGVsbG8gPCEtLSBjb21tZW50IC0tPndvcmxkPC9pPjwvYj48L3NwYW4+PC9p
PjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7Cit0ZXN0UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwi
PnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48
L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPnBsYWlu
IHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKKwor
cm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQt
c2FuaXRpemUtNDctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLWFuZC1zYW5pdGl6ZS00Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWY4OWRjZjg4
ODQ3YWFiNGI4OTJhMDA3ZDJkZTMyYzA5Njk4MWViNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNDctZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTcgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3Bl
cmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkg
b2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxs
bzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGkgc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SGVsbG88L2k+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxiPkhlbGxvPC9i
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij48Yj48aT5o
ZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+Jwor
RkFJTCBjb25maXJtZWRNYXJrdXAgc2hvdWxkIGJlIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5o
ZWxsbzwvaT48L2I+PC9pPi4gV2FzIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij48Yj48aSBzdHls
ZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+cGxhaW4gdGV4
dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTQ3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTQ3Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMzYzY2RkZWE2NjMyODA5NDdkMGQxYmY1YjYxZWI4OGI1ODVmY2M4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1h
bmQtc2FuaXRpemUtNDcuaHRtbApAQCAtMCwwICsxLDU2IEBACis8IURPQ1RZUEUgSFRNTCBQVUJM
SUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBv
cGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0
eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4gPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dFBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCkgeworICAgIHZhciBub2Rl
ID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIHJvb3QuYXBw
ZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29w
eSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisK
KyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK3Rlc3RQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8Yj48aT5IZWxsbzwv
aT48L2I+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+
PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG88L2k+
PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIsICJI
ZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48ZGl2PjxpPkhlbGxvPC9pPjwvZGl2
PjwvYj48L2Rpdj4iLCAiPGkgc3R5bGU9XCJmb250LXdlaWdodDogYm9sZDtcIj5IZWxsbzwvaT4i
KTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48Yj5IZWxsbzwvYj48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+
PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdl
aWdodDogbm9ybWFsXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIs
IAorICAgICAgICAgICI8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4g
c3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+
IGhlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxl
PVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNw
O2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8aSBz
dHlsZT1cIm1hcmdpbjogMTBweDtcIj48Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxs
bzwvaT48L2I+PC9pPiIsCisgICAgICAgICAgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhl
bGxvPC9pPjwvYj48L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0
eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvIDwhLS0gY29tbWVudCAtLT53
b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvJm5ic3A7d29y
bGQ8L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1c
ImZvbnQtd2VpZ2h0OiBub3JtYWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwv
aT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13
ZWlnaHQ6IG5vcm1hbDtcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+
PC9zcGFuPjwvaT48L2I+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTQ4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNDgtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmFmODlkY2Y4ODg0N2FhYjRiODkyYTAwN2QyZGUzMmMwOTY5ODFlYjQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5k
LXNhbml0aXplLTQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRv
IHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhl
IHN0eWxlLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxpIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhl
bGxvPC9pPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWdu
OiBjZW50ZXI7Ij48Yj5IZWxsbzwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdl
aWdodDogbm9ybWFsOyI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+
PC9iPjwvc3Bhbj48L2k+PC9iPicKK0ZBSUwgY29uZmlybWVkTWFya3VwIHNob3VsZCBiZSA8aSBz
dHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uIFdhcyA8aSBzdHlsZT0ibWFy
Z2luOiAxMHB4OyI+PGI+PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+
LgorUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9i
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWln
aHQ6IG5vcm1hbDsiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3Nw
YW4+PC9pPjwvYj4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LWFuZC1zYW5pdGl6ZS00OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLWFuZC1zYW5pdGl6ZS00OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2M2NkZGVhNjYzMjgwOTQ3ZDBk
MWJmNWI2MWViODhiNTg1ZmNjODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTQ4Lmh0bWwKQEAgLTAsMCArMSw1NiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQg
dG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0
aGUgc3R5bGUuIDwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFs
TWFya3VwKTsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygp
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhU
TUw7CisKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAi
JyIpOworfQorCit0ZXN0UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIpOwordGVzdFBhc3Rl
KCJkaXYiLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0
ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5v
cm1hbFwiPjxiPjxpPkhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+
SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PjxkaXY+SGVsbG88
L2Rpdj48L2Rpdj48L2Rpdj4iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+
PGRpdj48aT5IZWxsbzwvaT48L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9udC13ZWln
aHQ6IGJvbGQ7XCI+SGVsbG88L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+PC9kaXY+IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+Iik7Cit0
ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5v
cm1hbFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAKKyAgICAgICAgICAiPGRpdj48Yj48aT5oZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48
aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiBoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2
PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVs
bG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOwor
dGVzdFBhc3RlKCJkaXYiLCAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+PGI+PGkgc3R5bGU9
XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iLAorICAgICAgICAgICI8aSBzdHls
ZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIpOwordGVzdFBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5I
ZWxsbyA8IS0tIGNvbW1lbnQgLS0+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIs
ICI8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxk
aXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+cGxhaW4gdGV4dDxi
PjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48
aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+cGxhaW4gdGV4dDxiPjxpPmJv
bGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS00OS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNh
bml0aXplLTQ5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZjg5ZGNmODg4NDdhYWI0Yjg5MmEw
MDdkMmRlMzJjMDk2OTgxZWI0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS00OS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxNyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMg
dGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3Vw
IHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8aSBzdHlsZT0i
Zm9udC13ZWlnaHQ6IGJvbGQ7Ij5IZWxsbzwvaT4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGI+SGVsbG88L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48
aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPjxiPjxpPmhlbGxvMTwvaT48L2I+
PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitGQUlMIGNvbmZpcm1l
ZE1hcmt1cCBzaG91bGQgYmUgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48
L2k+LiBXYXMgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPjxiPjxpIHN0eWxlPSJtYXJnaW46IDEw
cHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4KK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5I
ZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+
PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBp
dGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNDkuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNDkuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4zNjNjZGRlYTY2MzI4MDk0N2QwZDFiZjViNjFlYjg4YjU4NWZjYzg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS00
OS5odG1sCkBAIC0wLDAgKzEsNTYgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmlt
cyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJr
dXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLiA8L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3Zh
ciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5h
cHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBt
YXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7
CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0g
bWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdFBhc3RlKCJkaXYiLCAiSGVsbG8i
LCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iLCAiPGI+
PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBz
dHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwv
aT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj48ZGl2PkhlbGxvPC9kaXY+PC9kaXY+PC9kaXY+IiwgIkhlbGxvIik7Cit0ZXN0
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxkaXY+PGk+SGVsbG88L2k+PC9kaXY+PC9iPjwvZGl2PiIs
ICI8aSBzdHlsZT1cImZvbnQtd2VpZ2h0OiBib2xkO1wiPkhlbGxvPC9pPiIpOwordGVzdFBhc3Rl
KCJkaXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxv
PC9iPjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxi
PkhlbGxvPC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBz
dHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9zcGFuPjwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgCisgICAgICAgICAg
IjxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQt
d2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4gaGVsbG8yPC9pPjwv
Yj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdo
dDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwv
Yj48L3NwYW4+PC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxpIHN0eWxlPVwibWFyZ2lu
OiAxMHB4O1wiPjxiPjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+
IiwKKyAgICAgICAgICAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwv
aT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdl
aWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG8gPCEtLSBjb21tZW50IC0tPndvcmxkPC9pPjwvYj48
L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7
Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6
IG5vcm1hbFwiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+
PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFs
O1wiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwv
Yj4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS1hbmQtc2FuaXRpemUtNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFm
ODlkY2Y4ODg0N2FhYjRiODkyYTAwN2QyZGUzMmMwOTY5ODFlYjQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTUtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTcgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFz
dGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJi
b3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48
aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9p
PjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGkgc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SGVsbG88L2k+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxiPkhl
bGxvPC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPmhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij48
Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48
L2I+JworRkFJTCBjb25maXJtZWRNYXJrdXAgc2hvdWxkIGJlIDxpIHN0eWxlPSJtYXJnaW46IDEw
cHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4gV2FzIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij48Yj48
aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+cGxh
aW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTUu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUt
NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjM2M2NkZGVhNjYzMjgwOTQ3ZDBkMWJmNWI2MWViODhiNTg1ZmNj
ODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtYW5kLXNhbml0aXplLTUuaHRtbApAQCAtMCwwICsxLDU2IEBACis8IURPQ1RZUEUgSFRNTCBQ
VUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0
ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJv
c2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4gPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdFBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCkgeworICAgIHZhciBu
b2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIHJvb3Qu
YXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
Q29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7
CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK3Rlc3RQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8Yj48aT5IZWxs
bzwvaT48L2I+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxk
aXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG88
L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0
ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIs
ICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48ZGl2PjxpPkhlbGxvPC9pPjwv
ZGl2PjwvYj48L2Rpdj4iLCAiPGkgc3R5bGU9XCJmb250LXdlaWdodDogYm9sZDtcIj5IZWxsbzwv
aT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxk
aXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250
LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2
PiIsIAorICAgICAgICAgICI8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNw
YW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+
PGk+IGhlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0
eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZu
YnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8
aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj48Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5o
ZWxsbzwvaT48L2I+PC9pPiIsCisgICAgICAgICAgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wi
PmhlbGxvPC9pPjwvYj48L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFu
IHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvIDwhLS0gY29tbWVudCAt
LT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvJm5ic3A7
d29ybGQ8L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHls
ZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4
dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9u
dC13ZWlnaHQ6IG5vcm1hbDtcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48
L2I+PC9zcGFuPjwvaT48L2I+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTUwLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNTAtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmFmODlkY2Y4ODg0N2FhYjRiODkyYTAwN2QyZGUzMmMwOTY5ODFlYjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
YW5kLXNhbml0aXplLTUwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50
IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3Rpbmcg
dGhlIHN0eWxlLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxv
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxpIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsi
PkhlbGxvPC9pPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFs
aWduOiBjZW50ZXI7Ij48Yj5IZWxsbzwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250
LXdlaWdodDogbm9ybWFsOyI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8
L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK0ZBSUwgY29uZmlybWVkTWFya3VwIHNob3VsZCBiZSA8
aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uIFdhcyA8aSBzdHlsZT0i
bWFyZ2luOiAxMHB4OyI+PGI+PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48
L2k+LgorUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+
PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13
ZWlnaHQ6IG5vcm1hbDsiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48
L3NwYW4+PC9pPjwvYj4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLWFuZC1zYW5pdGl6ZS01MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLWFuZC1zYW5pdGl6ZS01MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2M2NkZGVhNjYzMjgwOTQ3
ZDBkMWJmNWI2MWViODhiNTg1ZmNjODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTUwLmh0bWwKQEAgLTAsMCArMSw1
NiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21l
bnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGlu
ZyB0aGUgc3R5bGUuIDwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdp
bmFsTWFya3VwKTsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1
cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5l
ckhUTUw7CisKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQg
KyAiJyIpOworfQorCit0ZXN0UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIpOwordGVzdFBh
c3RlKCJkaXYiLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7
Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6
IG5vcm1hbFwiPjxiPjxpPkhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+
PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PjxkaXY+SGVs
bG88L2Rpdj48L2Rpdj48L2Rpdj4iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+
PGI+PGRpdj48aT5IZWxsbzwvaT48L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9udC13
ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+PC9kaXY+Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+Iik7
Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6
IG5vcm1hbFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAKKyAgICAgICAgICAiPGRpdj48Yj48aT5oZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48
Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiBoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwv
ZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+
aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIp
OwordGVzdFBhc3RlKCJkaXYiLCAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+PGI+PGkgc3R5
bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iLAorICAgICAgICAgICI8aSBz
dHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIpOwordGVzdFBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48
aT5IZWxsbyA8IS0tIGNvbW1lbnQgLS0+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2
PiIsICI8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+cGxhaW4gdGV4
dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8
Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+cGxhaW4gdGV4dDxiPjxp
PmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS02
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQt
c2FuaXRpemUtNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWY4OWRjZjg4ODQ3YWFiNGI4OTJh
MDA3ZDJkZTMyYzA5Njk4MWViNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNi1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxNyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMg
dGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3Vw
IHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8aSBzdHlsZT0i
Zm9udC13ZWlnaHQ6IGJvbGQ7Ij5IZWxsbzwvaT4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGI+SGVsbG88L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48
aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPjxiPjxpPmhlbGxvMTwvaT48L2I+
PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitGQUlMIGNvbmZpcm1l
ZE1hcmt1cCBzaG91bGQgYmUgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48
L2k+LiBXYXMgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPjxiPjxpIHN0eWxlPSJtYXJnaW46IDEw
cHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4KK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5I
ZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+
PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBp
dGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS02Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MzYzY2RkZWE2NjMyODA5NDdkMGQxYmY1YjYxZWI4OGI1ODVmY2M4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNi5o
dG1sCkBAIC0wLDAgKzEsNTYgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0
aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAg
d2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLiA8L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciBy
b290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBl
bmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJr
dXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7Cisg
ICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFy
a3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdFBhc3RlKCJkaXYiLCAiSGVsbG8iLCAi
SGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iLCAiPGI+PGk+
SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHls
ZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48
L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj48ZGl2PkhlbGxvPC9kaXY+PC9kaXY+PC9kaXY+IiwgIkhlbGxvIik7Cit0ZXN0UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxkaXY+PGk+SGVsbG88L2k+PC9kaXY+PC9iPjwvZGl2PiIsICI8
aSBzdHlsZT1cImZvbnQtd2VpZ2h0OiBib2xkO1wiPkhlbGxvPC9pPiIpOwordGVzdFBhc3RlKCJk
aXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9i
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhl
bGxvPC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHls
ZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgCisgICAgICAgICAgIjxk
aXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2Vp
Z2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4gaGVsbG8yPC9pPjwvYj48
L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDog
bm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48
L3NwYW4+PC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxpIHN0eWxlPVwibWFyZ2luOiAx
MHB4O1wiPjxiPjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+IiwK
KyAgICAgICAgICAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4i
KTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdo
dDogbm9ybWFsXCI+PGI+PGk+SGVsbG8gPCEtLSBjb21tZW50IC0tPndvcmxkPC9pPjwvYj48L3Nw
YW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7Cit0
ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5v
cm1hbFwiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9p
PjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wi
PnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4i
KTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS1hbmQtc2FuaXRpemUtNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmODlk
Y2Y4ODg0N2FhYjRiODkyYTAwN2QyZGUzMmMwOTY5ODFlYjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTctZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTcgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUg
b3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3Np
dHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5I
ZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwv
Yj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGkgc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SGVsbG88L2k+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxiPkhlbGxv
PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPmhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij48Yj48
aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+
JworRkFJTCBjb25maXJtZWRNYXJrdXAgc2hvdWxkIGJlIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7
Ij5oZWxsbzwvaT48L2I+PC9pPi4gV2FzIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij48Yj48aSBz
dHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+cGxhaW4g
dGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTcuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNy5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjM2M2NkZGVhNjYzMjgwOTQ3ZDBkMWJmNWI2MWViODhiNTg1ZmNjODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
YW5kLXNhbml0aXplLTcuaHRtbApAQCAtMCwwICsxLDU2IEBACis8IURPQ1RZUEUgSFRNTCBQVUJM
SUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBv
cGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0
eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4gPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dFBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCkgeworICAgIHZhciBub2Rl
ID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIHJvb3QuYXBw
ZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29w
eSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisK
KyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK3Rlc3RQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8Yj48aT5IZWxsbzwv
aT48L2I+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+
PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG88L2k+
PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIsICJI
ZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48ZGl2PjxpPkhlbGxvPC9pPjwvZGl2
PjwvYj48L2Rpdj4iLCAiPGkgc3R5bGU9XCJmb250LXdlaWdodDogYm9sZDtcIj5IZWxsbzwvaT4i
KTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48Yj5IZWxsbzwvYj48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+
PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdl
aWdodDogbm9ybWFsXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIs
IAorICAgICAgICAgICI8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4g
c3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+
IGhlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxl
PVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNw
O2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8aSBz
dHlsZT1cIm1hcmdpbjogMTBweDtcIj48Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxs
bzwvaT48L2I+PC9pPiIsCisgICAgICAgICAgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhl
bGxvPC9pPjwvYj48L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0
eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvIDwhLS0gY29tbWVudCAtLT53
b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvJm5ic3A7d29y
bGQ8L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1c
ImZvbnQtd2VpZ2h0OiBub3JtYWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwv
aT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13
ZWlnaHQ6IG5vcm1hbDtcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+
PC9zcGFuPjwvaT48L2I+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS04LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5hZjg5ZGNmODg4NDdhYWI0Yjg5MmEwMDdkMmRlMzJjMDk2OTgxZWI0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1z
YW5pdGl6ZS04LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJl
ZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0
eWxlLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxpIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhlbGxv
PC9pPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBj
ZW50ZXI7Ij48Yj5IZWxsbzwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdo
dDogbm9ybWFsOyI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9i
Pjwvc3Bhbj48L2k+PC9iPicKK0ZBSUwgY29uZmlybWVkTWFya3VwIHNob3VsZCBiZSA8aSBzdHls
ZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uIFdhcyA8aSBzdHlsZT0ibWFyZ2lu
OiAxMHB4OyI+PGI+PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+Lgor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6
IG5vcm1hbDsiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+
PC9pPjwvYj4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFu
ZC1zYW5pdGl6ZS04Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
YW5kLXNhbml0aXplLTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNjNjZGRlYTY2MzI4MDk0N2QwZDFiZjVi
NjFlYjg4YjU4NWZjYzg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS04Lmh0bWwKQEAgLTAsMCArMSw1NiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVk
dWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5
bGUuIDwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQp
IHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3Vw
KTsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBh
c3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisK
KyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOwor
fQorCit0ZXN0UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYi
LCAiPGI+PGk+SGVsbG88L2k+PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwi
PjxiPjxpPkhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG88
L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PjxkaXY+SGVsbG88L2Rpdj48
L2Rpdj48L2Rpdj4iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGRpdj48
aT5IZWxsbzwvaT48L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJv
bGQ7XCI+SGVsbG88L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+Iik7Cit0ZXN0UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPjxzcGFu
IHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L3NwYW4+
PC9pPjwvYj48L2Rpdj4iLCAKKyAgICAgICAgICAiPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxs
bzE8L2k+PC9iPjxiPjxpPiBoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8
Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9p
PjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOwordGVzdFBh
c3RlKCJkaXYiLCAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+PGI+PGkgc3R5bGU9XCJtYXJn
aW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iLAorICAgICAgICAgICI8aSBzdHlsZT1cIm1h
cmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbyA8
IS0tIGNvbW1lbnQgLS0+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48
aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+
PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+cGxhaW4gdGV4dDxiPjxpPmJv
bGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3Bh
biBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRh
bGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS05LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUt
OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWY4OWRjZjg4ODQ3YWFiNGI4OTJhMDA3ZDJkZTMy
YzA5Njk4MWViNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNyBAQAor
VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3Rl
ZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQg
YWZmZWN0aW5nIHRoZSBzdHlsZS4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8aSBzdHlsZT0iZm9udC13ZWln
aHQ6IGJvbGQ7Ij5IZWxsbzwvaT4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGI+SGVsbG88L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBz
dHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5i
c3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitGQUlMIGNvbmZpcm1lZE1hcmt1cCBz
aG91bGQgYmUgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LiBXYXMg
PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPjxiPjxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxs
bzwvaT48L2I+PC9pPi4KK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbyZuYnNw
O3dvcmxkPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5
bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4
dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS05Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzYzY2RkZWE2
NjMyODA5NDdkMGQxYmY1YjYxZWI4OGI1ODVmY2M4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtOS5odG1sCkBAIC0w
LDAgKzEsNTYgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVk
IGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBh
ZmZlY3RpbmcgdGhlIHN0eWxlLiA8L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3Jp
cHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChy
b290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAg
ICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5j
b250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAg
IHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdFBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iKTsK
K3Rlc3RQYXN0ZSgiZGl2IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iLCAiPGI+PGk+SGVsbG88L2k+
PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQt
d2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+
IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj48
ZGl2PkhlbGxvPC9kaXY+PC9kaXY+PC9kaXY+IiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxkaXY+PGk+SGVsbG88L2k+PC9kaXY+PC9iPjwvZGl2PiIsICI8aSBzdHlsZT1c
ImZvbnQtd2VpZ2h0OiBib2xkO1wiPkhlbGxvPC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRp
dj48ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwv
ZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQt
d2VpZ2h0OiBub3JtYWxcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgCisgICAgICAgICAgIjxkaXY+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIpOwordGVz
dFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3Jt
YWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+PC9p
PjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wi
PjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9p
PjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPjxi
PjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+IiwKKyAgICAgICAg
ICAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iKTsKK3Rlc3RQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFs
XCI+PGI+PGk+SGVsbG8gPCEtLSBjb21tZW50IC0tPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwv
Yj48L2Rpdj4iLCAiPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7Cit0ZXN0UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPnBs
YWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rp
dj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPnBsYWluIHRl
eHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKKworcm9v
dC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>381562</attachid>
            <date>2019-10-22 10:49:51 -0700</date>
            <delta_ts>2019-10-22 10:51:59 -0700</delta_ts>
            <desc>Let&apos;s see if this fixes the test?</desc>
            <filename>bug-203199-20191022104951.patch</filename>
            <type>text/plain</type>
            <size>236478</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUxNDI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzk4Y2YyNGVlN2U3NGQ3
ODUyMDBiMmIwM2YwMzkxNGVkYWQ3MDg0OC4uM2RkZGQ2NjRlYjE1ODJiYzhjMDJjY2NkYWNhMGFh
NTEwYzQzYWQ3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE5LTEwLTIxICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUuaHRtbCBpcyBhIGZsYWt5IGZhaWx1cmUKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMzE5OQorICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vNTM1NTE3MzY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgSnVzdCBhbiBleHBlcmltZW50OyBvYnZpb3VzbHkgbm90IGlu
dGVuZGVkIGZvciByZXZpZXcuCisKKyAgICAgICAgKiBlZGl0aW5nL0VkaXRvci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpyZXByKToKKyAgICAgICAgKFdlYkNvcmU6OnN0cmluZyk6CisgICAgICAg
IChXZWJDb3JlOjpFZGl0b3I6OmhhbmRsZVRleHRFdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpF
ZGl0b3I6OnBhc3RlKToKKyAgICAgICAgKiBlZGl0aW5nL1JlcGxhY2VTZWxlY3Rpb25Db21tYW5k
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlcGxhY2VTZWxlY3Rpb25Db21tYW5kOjpkb0FwcGx5
KToKKwogMjAxOS0xMC0yMiAgRGlyayBTY2h1bHplICA8a3JpdEB3ZWJraXQub3JnPgogCiAgICAg
ICAgIFNWRzI6IFVzZSBET01NYXRyaXgyREluaXQgZm9yIHNldE1hdHJpeCBhbmQgY3JlYXRlU1ZH
VHJhbnNmb3JtRnJvbU1hdHJpeApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9F
ZGl0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwCmluZGV4IGU4YjI0
MzYwNTE1MThkYTMzODFkMmY1NzU3ZmE2MTg2ZTY4NTNhN2QuLjIxNTY5NzQ1Njk5NjJjMmFmMzE5
OGRiZmI2NTcwNjQxNzY3YmE4MzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
RWRpdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAKQEAgLTE0
MDQsNyArMTQwNCw5IEBAIHZvaWQgRWRpdG9yOjpwZXJmb3JtQ3V0T3JDb3B5KEVkaXRvckFjdGlv
blNwZWNpZmllciBhY3Rpb24pCiAjZW5kaWYKICAgICAgICAgfSBlbHNlIHsKICNpZiAhUExBVEZP
Uk0oV0lOKQorICAgICAgICAgICAgV1RGTG9nQWx3YXlzKCI8V0s+OiA+Pj4gV3JpdGluZyBzZWxl
Y3Rpb24gdG8gcGFzdGVib2FyZCEiKTsKICAgICAgICAgICAgIHdyaXRlU2VsZWN0aW9uVG9QYXN0
ZWJvYXJkKCpQYXN0ZWJvYXJkOjpjcmVhdGVGb3JDb3B5QW5kUGFzdGUoKSk7CisgICAgICAgICAg
ICBXVEZMb2dBbHdheXMoIjxXSz46IDw8PCBkb25lIHdyaXRpbmcgc2VsZWN0aW9uIHRvIHBhc3Rl
Ym9hcmQuIik7CiAjZWxzZQogICAgICAgICAgICAgLy8gRklYTUU6IERlbGV0ZSBhZnRlciA8aHR0
cDovL3dlYmtpdC5vcmcvYi8xNzc2MTg+IGxhbmRzLgogICAgICAgICAgICAgUGFzdGVib2FyZDo6
Y3JlYXRlRm9yQ29weUFuZFBhc3RlKCktPndyaXRlU2VsZWN0aW9uKCpzZWxlY3Rpb24sIGNhblNt
YXJ0Q29weU9yRGVsZXRlKCksIG1fZnJhbWUsIEluY2x1ZGVJbWFnZUFsdFRleHRGb3JEYXRhVHJh
bnNmZXIpOwpAQCAtMTQyOCw4ICsxNDMwLDE1IEBAIHZvaWQgRWRpdG9yOjpwYXN0ZSgpCiAgICAg
cGFzdGUoKlBhc3RlYm9hcmQ6OmNyZWF0ZUZvckNvcHlBbmRQYXN0ZSgpKTsKIH0KIAorI2lmICFQ
TEFURk9STShJT1NfRkFNSUxZKQorc3RhdGljX2Fzc2VydChmYWxzZSwgIkkganVzdCB3YW50IHJl
c3VsdHMgZnJvbSBpT1MgYm90cywgc28gZmFpbCBlYXJseSBoZXJlIGZvciBub24taU9TLiIpOwor
I2VuZGlmCisKIHZvaWQgRWRpdG9yOjpwYXN0ZShQYXN0ZWJvYXJkJiBwYXN0ZWJvYXJkKQogewor
ICAgIGlmIChtX2ZyYW1lLmRvY3VtZW50KCkpCisgICAgICAgIFdURkxvZ0Fsd2F5cygiPFdLPjog
QXR0ZW1wdGluZyB0byBwYXN0ZSAoJXMpIiwgbV9mcmFtZS5kb2N1bWVudCgpLT51cmwoKS5sYXN0
UGF0aENvbXBvbmVudCgpLnV0ZjgoKS5kYXRhKCkpOworCiAgICAgaWYgKCFkaXNwYXRjaENsaXBi
b2FyZEV2ZW50KGZpbmRFdmVudFRhcmdldEZyb21TZWxlY3Rpb24oKSwgQ2xpcGJvYXJkRXZlbnRL
aW5kOjpQYXN0ZSkpCiAgICAgICAgIHJldHVybjsgLy8gREhUTUwgZGlkIHRoZSB3aG9sZSBvcGVy
YXRpb24KICAgICBpZiAoIWNhblBhc3RlKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9pb3MvUGFzdGVib2FyZElPUy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lv
cy9QYXN0ZWJvYXJkSU9TLm1tCmluZGV4IDU1ZGM3MzNmNjFlMjNkMDg1NzdhZTgxOTJlM2MzYWYz
ZDk2MTFhODIuLjI5NGU3YWVhNTg2MWE3ZTYzNzI1M2NkYmMzNGFmMWQyMzFlZjE3N2UgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9QYXN0ZWJvYXJkSU9TLm1tCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9QYXN0ZWJvYXJkSU9TLm1tCkBAIC0zMjgsMTcg
KzMyOCwyNyBAQCB2b2lkIFBhc3RlYm9hcmQ6OnJlYWQoUGFzdGVib2FyZFdlYkNvbnRlbnRSZWFk
ZXImIHJlYWRlciwgV2ViQ29udGVudFJlYWRpbmdQb2xpYwogICAgICAgICB9CiAjZW5kaWYKIAor
ICAgICAgICBOU0xvZyhAIjxXSz46IFRyeWluZyAldHUgdHlwZShzKSIsIHR5cGVzLmNvdW50KTsK
KwogICAgICAgICBmb3IgKGludCB0eXBlSW5kZXggPSAwOyB0eXBlSW5kZXggPCBudW1iZXJPZlR5
cGVzOyB0eXBlSW5kZXgrKykgewogICAgICAgICAgICAgTlNTdHJpbmcgKnR5cGUgPSBbdHlwZXMg
b2JqZWN0QXRJbmRleDp0eXBlSW5kZXhdOwotICAgICAgICAgICAgaWYgKCFpc1R5cGVBbGxvd2Vk
QnlSZWFkaW5nUG9saWN5KHR5cGUsIHBvbGljeSkpCisgICAgICAgICAgICBpZiAoIWlzVHlwZUFs
bG93ZWRCeVJlYWRpbmdQb2xpY3kodHlwZSwgcG9saWN5KSkgeworICAgICAgICAgICAgICAgIE5T
TG9nKEAiPFdLPjogTm90IGFsbG93ZWQgdG8gcmVhZCAlQCIsIHR5cGUpOwogICAgICAgICAgICAg
ICAgIGNvbnRpbnVlOworICAgICAgICAgICAgfQogCiAgICAgICAgICAgICBhdXRvIGl0ZW1SZXN1
bHQgPSByZWFkUGFzdGVib2FyZFdlYkNvbnRlbnREYXRhRm9yVHlwZShyZWFkZXIsIHN0cmF0ZWd5
LCB0eXBlLCAqaW5mbywgaSk7Ci0gICAgICAgICAgICBpZiAoaXRlbVJlc3VsdCA9PSBSZWFkZXJS
ZXN1bHQ6OlBhc3RlYm9hcmRXYXNDaGFuZ2VkRXh0ZXJuYWxseSkKKyAgICAgICAgICAgIGlmIChp
dGVtUmVzdWx0ID09IFJlYWRlclJlc3VsdDo6UGFzdGVib2FyZFdhc0NoYW5nZWRFeHRlcm5hbGx5
KSB7CisgICAgICAgICAgICAgICAgTlNMb2coQCI8V0s+OiAqKiogQ0hBTkdFQ09VTlQgQ0hBTkdF
RCBFWFRFUk5BTExZICoqKiIpOwogICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAg
IH0KIAotICAgICAgICAgICAgaWYgKGl0ZW1SZXN1bHQgPT0gUmVhZGVyUmVzdWx0OjpSZWFkVHlw
ZSkKKyAgICAgICAgICAgIGlmIChpdGVtUmVzdWx0ID09IFJlYWRlclJlc3VsdDo6UmVhZFR5cGUp
IHsKKyAgICAgICAgICAgICAgICBOU0xvZyhAIjxXSz46IFN1Y2Nlc3NmdWxseSByZWFkIHR5cGU6
ICVAIiwgdHlwZSk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisKKyAg
ICAgICAgICAgIE5TTG9nKEAiPFdLPjogU2tpcHBlZCB0eXBlOiAlQCIsIHR5cGUpOwogICAgICAg
ICB9CiAgICAgfQogfQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdl
TG9nCmluZGV4IDAyYTY5ZTYyNGEzZTA4NzRhODkxZGVmOWQzY2RlOTBiZGVjZTY5NzUuLjA5MzU2
MGM1YTk2NTAwYzY2YzJkNWUzNGFlNTNlODQyNzVkYzMxMWYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0No
YW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxOS0xMC0y
MiAgQ2FybG9zIEFsYmVydG8gTG9wZXogUGVyZXogIDxjbG9wZXpAaWdhbGlhLmNvbT4KKworICAg
ICAgICBBZGQgYSBzY3JpcHQgdG8gcnVuIEltYWdlRGlmZiBtYW51YWxseQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAzMjI2CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgQWRyaWFuIFBlcmV6IGRlIENhc3Ryby4KKworICAgICAgICBUaGlzIGFsbG93cyB0
byBtYW51YWxseSBydW4gdGhlIEltYWdlRGlmZiB0b29sIG1vcmUgZWFzaWx5LCB0aGF0CisgICAg
ICAgIGlzIHNvbWV0aW1lcyB1c2VmdWwgd2hlbiBkZWJ1Z2dpbmcgcHJvYmxlbXMgd2l0aCBpdC4K
KworICAgICAgICAqIFNjcmlwdHMvcnVuLWltYWdlZGlmZjogQWRkZWQuCisKIDIwMTktMTAtMjEg
IFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAgICAgICBbSlNDXSBUaHJl
YWQgSlNHbG9iYWxPYmplY3QqIGluc3RlYWQgb2YgRXhlY1N0YXRlKgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDdiYWE2ZDE5
OTQ4MDRhYTg3NDc3ZTQ3YjczY2I0YTg2NGMyZjk3YWMuLmNhNzAwMTdiMDEyNmNiZGM4ZDBiNmVh
YTE5ZTM3YzFiNTUxMTVmYWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxOS0xMC0yMSAgV2Vu
c29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAgICAgICBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLmh0bWwgaXMgYSBmbGFreSBmYWlsdXJlCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDMxOTkKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzUzNTUxNzM2PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEp1c3QgYW4gZXhwZXJpbWVudDsgb2J2aW91c2x5IG5vdCBp
bnRlbmRlZCBmb3IgcmV2aWV3LgorCiAyMDE5LTEwLTIyICBEaXJrIFNjaHVsemUgIDxrcml0QHdl
YmtpdC5vcmc+CiAKICAgICAgICAgU1ZHMjogVXNlIERPTU1hdHJpeDJESW5pdCBmb3Igc2V0TWF0
cml4IGFuZCBjcmVhdGVTVkdUcmFuc2Zvcm1Gcm9tTWF0cml4CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTEtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0xLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZjg5ZGNmODg4NDdhYWI0Yjg5MmEwMDdkMmRlMzJjMDk2
OTgxZWI0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLWFuZC1zYW5pdGl6ZS0xLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZy
YWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZl
Y3RpbmcgdGhlIHN0eWxlLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxpIHN0eWxlPSJmb250LXdlaWdodDog
Ym9sZDsiPkhlbGxvPC9pPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0
ZXh0LWFsaWduOiBjZW50ZXI7Ij48Yj5IZWxsbzwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxl
PSJmb250LXdlaWdodDogbm9ybWFsOyI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDto
ZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK0ZBSUwgY29uZmlybWVkTWFya3VwIHNob3Vs
ZCBiZSA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uIFdhcyA8aSBz
dHlsZT0ibWFyZ2luOiAxMHB4OyI+PGI+PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9p
PjwvYj48L2k+LgorUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvJm5ic3A7d29y
bGQ8L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0i
Zm9udC13ZWlnaHQ6IG5vcm1hbDsiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9p
PjwvYj48L3NwYW4+PC9pPjwvYj4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0xLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNjNjZGRlYTY2MzI4
MDk0N2QwZDFiZjViNjFlYjg4YjU4NWZjYzg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0xLmh0bWwKQEAgLTAsMCAr
MSw1NiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJh
Z21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVj
dGluZyB0aGUgc3R5bGUuIDwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwKTsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5m
b2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5p
bm5lckhUTUw7CisKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0
ZWQgKyAiJyIpOworfQorCit0ZXN0UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIpOwordGVz
dFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48L2I+
Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWln
aHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAi
PGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PjxkaXY+
SGVsbG88L2Rpdj48L2Rpdj48L2Rpdj4iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxk
aXY+PGI+PGRpdj48aT5IZWxsbzwvaT48L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9u
dC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+PC9kaXY+
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+
Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWln
aHQ6IG5vcm1hbFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAKKyAgICAgICAgICAiPGRpdj48Yj48aT5oZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtc
Ij48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiBoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9i
PjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+
PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9i
PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+PGI+PGkg
c3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iLAorICAgICAgICAgICI8
aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIpOwordGVzdFBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48
Yj48aT5IZWxsbyA8IS0tIGNvbW1lbnQgLS0+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwv
ZGl2PiIsICI8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2
IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+cGxhaW4g
dGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIs
ICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+cGxhaW4gdGV4dDxi
PjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6
ZS0xMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
YW5kLXNhbml0aXplLTEwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZjg5ZGNmODg4NDdhYWI0
Yjg5MmEwMDdkMmRlMzJjMDk2OTgxZWI0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0xMC1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxNyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24g
dHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUg
bWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4KKworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwv
Yj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8aSBz
dHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IZWxsbzwvaT4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGI+SGVsbG88L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPjxiPjxpPmhlbGxvMTwv
aT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitGQUlMIGNv
bmZpcm1lZE1hcmt1cCBzaG91bGQgYmUgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9p
PjwvYj48L2k+LiBXYXMgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPjxiPjxpIHN0eWxlPSJtYXJn
aW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4KK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij5wbGFpbiB0ZXh0PGI+PGk+
Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMTAuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMTAuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4zNjNjZGRlYTY2MzI4MDk0N2QwZDFiZjViNjFlYjg4YjU4NWZjYzg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5p
dGl6ZS0xMC5odG1sCkBAIC0wLDAgKzEsNTYgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlv
biB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRo
ZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLiA8L3A+Cis8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24o
KTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFn
TmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJI
VE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdFBhc3RlKCJkaXYiLCAi
SGVsbG8iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4i
LCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48
c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbzwvaT48L2I+PC9z
cGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj48ZGl2PkhlbGxvPC9kaXY+PC9kaXY+PC9kaXY+IiwgIkhlbGxvIik7
Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxkaXY+PGk+SGVsbG88L2k+PC9kaXY+PC9iPjwv
ZGl2PiIsICI8aSBzdHlsZT1cImZvbnQtd2VpZ2h0OiBib2xkO1wiPkhlbGxvPC9pPiIpOwordGVz
dFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxi
PkhlbGxvPC9iPjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxiPkhlbGxvPC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48
c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9z
cGFuPjwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBu
b3JtYWxcIj48Yj48aT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgCisgICAg
ICAgICAgIjxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1c
ImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4gaGVsbG8y
PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250
LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8y
PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxpIHN0eWxlPVwi
bWFyZ2luOiAxMHB4O1wiPjxiPjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwv
Yj48L2k+IiwKKyAgICAgICAgICAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+
PC9iPjwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJm
b250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG8gPCEtLSBjb21tZW50IC0tPndvcmxkPC9p
PjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48
L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13
ZWlnaHQ6IG5vcm1hbFwiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48
L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDog
bm9ybWFsO1wiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+
PC9pPjwvYj4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0xMS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYWY4OWRjZjg4ODQ3YWFiNGI4OTJhMDA3ZDJkZTMyYzA5Njk4MWViNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRp
emUtMTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTcgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNl
IHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxp
PkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGkgc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SGVsbG88L2k+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxiPkhlbGxvPC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBu
b3JtYWw7Ij48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9z
cGFuPjwvaT48L2I+JworRkFJTCBjb25maXJtZWRNYXJrdXAgc2hvdWxkIGJlIDxpIHN0eWxlPSJt
YXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4gV2FzIDxpIHN0eWxlPSJtYXJnaW46IDEw
cHg7Ij48Yj48aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9y
bWFsOyI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+
PC9iPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNh
bml0aXplLTExLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5k
LXNhbml0aXplLTExLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzYzY2RkZWE2NjMyODA5NDdkMGQxYmY1YjYx
ZWI4OGI1ODVmY2M4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMTEuaHRtbApAQCAtMCwwICsxLDU2IEBACis8IURP
Q1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0
aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1
Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHls
ZS4gPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdFBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCkg
eworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAp
OworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFz
dGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK3Rlc3RQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIs
ICI8Yj48aT5IZWxsbzwvaT48L2I+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0
ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+
PGI+PGk+SGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbzwv
aT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjwv
ZGl2PjwvZGl2PiIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48ZGl2Pjxp
PkhlbGxvPC9pPjwvZGl2PjwvYj48L2Rpdj4iLCAiPGkgc3R5bGU9XCJmb250LXdlaWdodDogYm9s
ZDtcIj5IZWxsbzwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0
ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4g
c3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48
L2k+PC9iPjwvZGl2PiIsIAorICAgICAgICAgICI8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxk
aXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxv
MTwvaT48L2I+PGI+PGk+IGhlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxi
PjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+
PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7Cit0ZXN0UGFz
dGUoImRpdiIsICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj48Yj48aSBzdHlsZT1cIm1hcmdp
bjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIsCisgICAgICAgICAgIjxpIHN0eWxlPVwibWFy
Z2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvIDwh
LS0gY29tbWVudCAtLT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxp
PkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9s
ZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFu
IHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFs
aWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTEyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUt
MTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmODlkY2Y4ODg0N2FhYjRiODkyYTAwN2QyZGUz
MmMwOTY5ODFlYjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTEyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFz
dGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91
dCBhZmZlY3RpbmcgdGhlIHN0eWxlLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxpIHN0eWxlPSJmb250LXdl
aWdodDogYm9sZDsiPkhlbGxvPC9pPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0
eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48Yj5IZWxsbzwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFu
IHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4m
bmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK0ZBSUwgY29uZmlybWVkTWFya3Vw
IHNob3VsZCBiZSA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uIFdh
cyA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+PGI+PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhl
bGxvPC9pPjwvYj48L2k+LgorUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvJm5i
c3A7d29ybGQ8L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBz
dHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0
ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0xMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0xMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2M2Nk
ZGVhNjYzMjgwOTQ3ZDBkMWJmNWI2MWViODhiNTg1ZmNjODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTEyLmh0bWwK
QEAgLTAsMCArMSw1NiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBw
YXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRo
b3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuIDwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisg
ICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBm
YWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3Vw
ID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIici
ICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCit0ZXN0UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIsICI8Yj48aT5IZWxs
bzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwi
Zm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48
L2Rpdj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48
ZGl2PjxkaXY+SGVsbG88L2Rpdj48L2Rpdj48L2Rpdj4iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxsbzwvaT48L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0
eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9k
aXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88
L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwi
Zm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAKKyAgICAgICAgICAiPGRpdj48
Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6
IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiBoZWxsbzI8L2k+PC9iPjwvc3Bh
bj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3Jt
YWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bh
bj48L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7
XCI+PGI+PGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iLAorICAg
ICAgICAgICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIpOwor
dGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBu
b3JtYWxcIj48Yj48aT5IZWxsbyA8IS0tIGNvbW1lbnQgLS0+d29ybGQ8L2k+PC9iPjwvc3Bhbj48
L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4iKTsKK3Rlc3RQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFs
XCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9i
PjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+cGxh
aW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFu
ZC1zYW5pdGl6ZS0xMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtYW5kLXNhbml0aXplLTEzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZjg5ZGNm
ODg4NDdhYWI0Yjg5MmEwMDdkMmRlMzJjMDk2OTgxZWI0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0xMy1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxNyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBv
cGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0
eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4KKworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhl
bGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9i
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8aSBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IZWxsbzwvaT4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGI+SGVsbG88
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPjxiPjxp
PmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4n
CitGQUlMIGNvbmZpcm1lZE1hcmt1cCBzaG91bGQgYmUgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsi
PmhlbGxvPC9pPjwvYj48L2k+LiBXYXMgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPjxiPjxpIHN0
eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4KK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij5wbGFpbiB0
ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMTMuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMTMu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4zNjNjZGRlYTY2MzI4MDk0N2QwZDFiZjViNjFlYjg4YjU4NWZjYzg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LWFuZC1zYW5pdGl6ZS0xMy5odG1sCkBAIC0wLDAgKzEsNTYgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3Rl
IG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9z
aXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLiA8L3A+Cis8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRT
ZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOwor
ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5v
ZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0
ZXN0UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdFBhc3Rl
KCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxiPjxpPkhlbGxv
PC9pPjwvYj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbzwv
aT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rl
c3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj48ZGl2PkhlbGxvPC9kaXY+PC9kaXY+PC9kaXY+Iiwg
IkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxkaXY+PGk+SGVsbG88L2k+PC9k
aXY+PC9iPjwvZGl2PiIsICI8aSBzdHlsZT1cImZvbnQtd2VpZ2h0OiBib2xkO1wiPkhlbGxvPC9p
PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQt
d2VpZ2h0OiBub3JtYWxcIj48Yj48aT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+
IiwgCisgICAgICAgICAgIjxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3Bh
biBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48
aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5
bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5i
c3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxp
IHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPjxiPjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhl
bGxvPC9pPjwvYj48L2k+IiwKKyAgICAgICAgICAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+
aGVsbG88L2k+PC9iPjwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4g
c3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG8gPCEtLSBjb21tZW50IC0t
PndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG8mbmJzcDt3
b3JsZDwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxl
PVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0
PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250
LXdlaWdodDogbm9ybWFsO1wiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwv
Yj48L3NwYW4+PC9pPjwvYj4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0xNC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYWY4OWRjZjg4ODQ3YWFiNGI4OTJhMDA3ZDJkZTMyYzA5Njk4MWViNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1h
bmQtc2FuaXRpemUtMTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTcgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQg
dG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0
aGUgc3R5bGUuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGkgc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+
SGVsbG88L2k+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxiPkhlbGxvPC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQt
d2VpZ2h0OiBub3JtYWw7Ij48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwv
aT48L2I+PC9zcGFuPjwvaT48L2I+JworRkFJTCBjb25maXJtZWRNYXJrdXAgc2hvdWxkIGJlIDxp
IHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4gV2FzIDxpIHN0eWxlPSJt
YXJnaW46IDEwcHg7Ij48Yj48aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwv
aT4uCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48
L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdl
aWdodDogbm9ybWFsOyI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwv
c3Bhbj48L2k+PC9iPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtYW5kLXNhbml0aXplLTE0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtYW5kLXNhbml0aXplLTE0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzYzY2RkZWE2NjMyODA5NDdk
MGQxYmY1YjYxZWI4OGI1ODVmY2M4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMTQuaHRtbApAQCAtMCwwICsxLDU2
IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVu
dCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5n
IHRoZSBzdHlsZS4gPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdFBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBl
eHBlY3RlZCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXApOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3Vz
KCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVy
SFRNTDsKKworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK3Rlc3RQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0UGFz
dGUoImRpdiIsICI8Yj48aT5IZWxsbzwvaT48L2I+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsK
K3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDog
bm9ybWFsXCI+PGI+PGk+SGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48
aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48ZGl2PjxpPkhlbGxvPC9pPjwvZGl2PjwvYj48L2Rpdj4iLCAiPGkgc3R5bGU9XCJmb250LXdl
aWdodDogYm9sZDtcIj5IZWxsbzwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj4iKTsK
K3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDog
bm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+d29ybGQ8L2k+PC9i
Pjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsIAorICAgICAgICAgICI8ZGl2PjxiPjxpPmhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxi
PjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+IGhlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9k
aXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5o
ZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7
Cit0ZXN0UGFzdGUoImRpdiIsICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj48Yj48aSBzdHls
ZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIsCisgICAgICAgICAgIjxpIHN0
eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+Iik7Cit0ZXN0UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxp
PkhlbGxvIDwhLS0gY29tbWVudCAtLT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+
IiwgIjxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj5wbGFpbiB0ZXh0
PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxi
PjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5wbGFpbiB0ZXh0PGI+PGk+
Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTE1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQt
c2FuaXRpemUtMTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmODlkY2Y4ODg0N2FhYjRiODky
YTAwN2QyZGUzMmMwOTY5ODFlYjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTE1LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDE3IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmlt
cyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJr
dXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxpIHN0eWxl
PSJmb250LXdlaWdodDogYm9sZDsiPkhlbGxvPC9pPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48Yj5IZWxsbzwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxi
PjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+PGI+PGk+aGVsbG8xPC9pPjwv
Yj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK0ZBSUwgY29uZmly
bWVkTWFya3VwIHNob3VsZCBiZSA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9i
PjwvaT4uIFdhcyA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+PGI+PGkgc3R5bGU9Im1hcmdpbjog
MTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LgorUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxp
PkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48
aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPnBsYWluIHRleHQ8Yj48aT5ib2xk
IGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0xNS5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0xNS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjM2M2NkZGVhNjYzMjgwOTQ3ZDBkMWJmNWI2MWViODhiNTg1ZmNjODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXpl
LTE1Lmh0bWwKQEAgLTAsMCArMSw1NiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRy
aW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1h
cmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuIDwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICByb290LmFwcGVuZENoaWxkKG5v
ZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxl
Y3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmly
bWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFy
a3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCit0ZXN0UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIsICI8
Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFu
IHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvPC9pPjwvYj48L3NwYW4+
PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYi
LCAiPGRpdj48ZGl2PjxkaXY+SGVsbG88L2Rpdj48L2Rpdj48L2Rpdj4iLCAiSGVsbG8iKTsKK3Rl
c3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxsbzwvaT48L2Rpdj48L2I+PC9kaXY+
IiwgIjxpIHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88L2k+Iik7Cit0ZXN0UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVs
bG88L2I+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGI+SGVsbG88L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFu
IHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L3NwYW4+
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1h
bFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAKKyAgICAgICAg
ICAiPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9u
dC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiBoZWxsbzI8L2k+
PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2Vp
Z2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+
PC9iPjwvc3Bhbj48L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGkgc3R5bGU9XCJtYXJn
aW46IDEwcHg7XCI+PGI+PGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwv
aT4iLAorICAgICAgICAgICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+
PC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQt
d2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbyA8IS0tIGNvbW1lbnQgLS0+d29ybGQ8L2k+PC9i
Pjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4i
KTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdo
dDogbm9ybWFsXCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bh
bj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3Jt
YWw7XCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+
PC9iPiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLWFuZC1zYW5pdGl6ZS0xNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTE2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5hZjg5ZGNmODg4NDdhYWI0Yjg5MmEwMDdkMmRlMzJjMDk2OTgxZWI0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0x
Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRo
ZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhl
IHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4KKwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVs
bG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8aSBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IZWxsbzwvaT4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGI+SGVsbG88L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1h
bDsiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+
PC9pPjwvYj4nCitGQUlMIGNvbmZpcm1lZE1hcmt1cCBzaG91bGQgYmUgPGkgc3R5bGU9Im1hcmdp
bjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LiBXYXMgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsi
PjxiPjxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4KK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7
Ij5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRp
emUtMTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2Fu
aXRpemUtMTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNjNjZGRlYTY2MzI4MDk0N2QwZDFiZjViNjFlYjg4
YjU4NWZjYzg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0xNi5odG1sCkBAIC0wLDAgKzEsNTYgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
dGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0
aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLiA8
L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1
bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
cm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVl
OworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitm
dW5jdGlvbiB0ZXN0UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdFBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxi
PjxpPkhlbGxvPC9pPjwvYj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48
aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvPC9pPjwv
Yj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj48ZGl2PkhlbGxvPC9kaXY+PC9kaXY+
PC9kaXY+IiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxkaXY+PGk+SGVs
bG88L2k+PC9kaXY+PC9iPjwvZGl2PiIsICI8aSBzdHlsZT1cImZvbnQtd2VpZ2h0OiBib2xkO1wi
PkhlbGxvPC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT48c3BhbiBzdHls
ZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48
L2I+PC9kaXY+IiwgCisgICAgICAgICAgIjxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9p
PjwvYj48Yj48aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+
PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+
PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgi
ZGl2IiwgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPjxiPjxpIHN0eWxlPVwibWFyZ2luOiAx
MHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+IiwKKyAgICAgICAgICAiPGkgc3R5bGU9XCJtYXJnaW46
IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+
PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG8gPCEtLSBj
b21tZW50IC0tPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVs
bG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxz
cGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0
YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5
bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0
ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5v
bmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMTctZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0xNy1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWY4OWRjZjg4ODQ3YWFiNGI4OTJhMDA3ZDJkZTMyYzA5
Njk4MWViNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS1hbmQtc2FuaXRpemUtMTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTcgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQg
ZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFm
ZmVjdGluZyB0aGUgc3R5bGUuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGkgc3R5bGU9ImZvbnQtd2VpZ2h0
OiBib2xkOyI+SGVsbG88L2k+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxiPkhlbGxvPC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5
bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNw
O2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworRkFJTCBjb25maXJtZWRNYXJrdXAgc2hv
dWxkIGJlIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4gV2FzIDxp
IHN0eWxlPSJtYXJnaW46IDEwcHg7Ij48Yj48aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88
L2k+PC9iPjwvaT4uCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG8mbmJzcDt3
b3JsZDwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxl
PSJmb250LXdlaWdodDogbm9ybWFsOyI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8
L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTE3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTE3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzYzY2RkZWE2
NjMyODA5NDdkMGQxYmY1YjYxZWI4OGI1ODVmY2M4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMTcuaHRtbApAQCAt
MCwwICsxLDU2IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9F
TiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+
VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3Rl
ZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQg
YWZmZWN0aW5nIHRoZSBzdHlsZS4gPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdFBhc3RlKHRhZ05hbWUsIG9yaWdpbmFs
TWFya3VwLCBleHBlY3RlZCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXApOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBu
b2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBu
b2RlLmlubmVySFRNTDsKKworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK3Rlc3RQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0UGFzdGUoImRpdiIsICI8Yj48aT5IZWxsbzwvaT48L2I+IiwgIjxiPjxpPkhlbGxvPC9p
PjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250
LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2
PiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48ZGl2PjxpPkhlbGxvPC9pPjwvZGl2PjwvYj48L2Rpdj4iLCAiPGkgc3R5bGU9
XCJmb250LXdlaWdodDogYm9sZDtcIj5IZWxsbzwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48
L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250
LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsIAorICAgICAgICAgICI8ZGl2PjxiPjxp
PmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iKTsKK3Rl
c3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9y
bWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+IGhlbGxvMjwvaT48L2I+PC9zcGFuPjwv
aT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtc
Ij48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwv
aT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj48
Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIsCisgICAgICAg
ICAgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+Iik7Cit0ZXN0
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1h
bFwiPjxiPjxpPkhlbGxvIDwhLS0gY29tbWVudCAtLT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48
L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPiIpOwordGVzdFBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj5w
bGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9k
aXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5wbGFpbiB0
ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNh
bml0aXplLTE4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS1hbmQtc2FuaXRpemUtMTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmODlkY2Y4ODg0
N2FhYjRiODkyYTAwN2QyZGUzMmMwOTY5ODFlYjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTE4LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDE3IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJh
dGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9m
IHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88
L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxpIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhlbGxvPC9pPicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48Yj5IZWxsbzwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+PGI+PGk+aGVs
bG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK0ZB
SUwgY29uZmlybWVkTWFya3VwIHNob3VsZCBiZSA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVs
bG88L2k+PC9iPjwvaT4uIFdhcyA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+PGI+PGkgc3R5bGU9
Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LgorUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPnBsYWluIHRleHQ8
Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0xOC5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0xOC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjM2M2NkZGVhNjYzMjgwOTQ3ZDBkMWJmNWI2MWViODhiNTg1ZmNjODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5k
LXNhbml0aXplLTE4Lmh0bWwKQEAgLTAsMCArMSw1NiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3Bl
cmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkg
b2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuIDwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIgbm9kZSA9
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICByb290LmFwcGVu
ZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHki
LCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisg
ICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBzaG91bGRCZSgiY29u
ZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCit0ZXN0UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVsbG88L2k+
PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvPC9pPjwv
Yj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBh
c3RlKCJkaXYiLCAiPGRpdj48ZGl2PjxkaXY+SGVsbG88L2Rpdj48L2Rpdj48L2Rpdj4iLCAiSGVs
bG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxsbzwvaT48L2Rpdj48
L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88L2k+Iik7
Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGI+SGVsbG88L2I+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L3NwYW4+PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWln
aHQ6IG5vcm1hbFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAK
KyAgICAgICAgICAiPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0
eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiBo
ZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1c
ImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDto
ZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGkgc3R5
bGU9XCJtYXJnaW46IDEwcHg7XCI+PGI+PGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88
L2k+PC9iPjwvaT4iLAorICAgICAgICAgICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxs
bzwvaT48L2I+PC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHls
ZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbyA8IS0tIGNvbW1lbnQgLS0+d29y
bGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbyZuYnNwO3dvcmxk
PC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJm
b250LXdlaWdodDogbm9ybWFsXCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+
PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2Vp
Z2h0OiBub3JtYWw7XCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwv
c3Bhbj48L2k+PC9iPiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0xOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTE5LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5hZjg5ZGNmODg4NDdhYWI0Yjg5MmEwMDdkMmRlMzJjMDk2OTgxZWI0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1z
YW5pdGl6ZS0xOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNyBAQAorVGhpcyB0ZXN0IGNoZWNr
cyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byBy
ZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBz
dHlsZS4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8aSBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IZWxs
bzwvaT4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGI+SGVsbG88L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWln
aHQ6IG5vcm1hbDsiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwv
Yj48L3NwYW4+PC9pPjwvYj4nCitGQUlMIGNvbmZpcm1lZE1hcmt1cCBzaG91bGQgYmUgPGkgc3R5
bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LiBXYXMgPGkgc3R5bGU9Im1hcmdp
bjogMTBweDsiPjxiPjxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4K
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0
OiBub3JtYWw7Ij5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFu
PjwvaT48L2I+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1h
bmQtc2FuaXRpemUtMTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS1hbmQtc2FuaXRpemUtMTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNjNjZGRlYTY2MzI4MDk0N2QwZDFi
ZjViNjFlYjg4YjU4NWZjYzg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0xOS5odG1sCkBAIC0wLDAgKzEsNTYgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRv
IHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhl
IHN0eWxlLiA8L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBz
ZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitm
dW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFi
bGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2Rl
OworfQorCitmdW5jdGlvbiB0ZXN0UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdFBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgi
ZGl2IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVz
dFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3Jt
YWxcIj48Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhl
bGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj48ZGl2PkhlbGxvPC9k
aXY+PC9kaXY+PC9kaXY+IiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxk
aXY+PGk+SGVsbG88L2k+PC9kaXY+PC9iPjwvZGl2PiIsICI8aSBzdHlsZT1cImZvbnQtd2VpZ2h0
OiBib2xkO1wiPkhlbGxvPC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PiIpOwordGVz
dFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3Jt
YWxcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT48
c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT53b3JsZDwvaT48L2I+PC9z
cGFuPjwvaT48L2I+PC9kaXY+IiwgCisgICAgICAgICAgIjxkaXY+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+
aGVsbG8xPC9pPjwvYj48Yj48aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4i
LCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxv
MTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKK3Rl
c3RQYXN0ZSgiZGl2IiwgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPjxiPjxpIHN0eWxlPVwi
bWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+IiwKKyAgICAgICAgICAiPGkgc3R5bGU9
XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVs
bG8gPCEtLSBjb21tZW50IC0tPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAi
PGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPnBsYWluIHRleHQ8Yj48
aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+
PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPnBsYWluIHRleHQ8Yj48aT5ib2xk
IGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKKworcm9vdC5zdHlsZS5kaXNw
bGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMi1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0
aXplLTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmODlkY2Y4ODg0N2FhYjRiODkyYTAwN2Qy
ZGUzMmMwOTY5ODFlYjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTcg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBw
YXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRo
b3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGkgc3R5bGU9ImZvbnQt
d2VpZ2h0OiBib2xkOyI+SGVsbG88L2k+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxiPkhlbGxvPC9iPjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNw
YW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxp
PiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworRkFJTCBjb25maXJtZWRNYXJr
dXAgc2hvdWxkIGJlIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4g
V2FzIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij48Yj48aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+
aGVsbG88L2k+PC9iPjwvaT4uCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG8m
bmJzcDt3b3JsZDwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFu
IHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGlj
IHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2M2Nk
ZGVhNjYzMjgwOTQ3ZDBkMWJmNWI2MWViODhiNTg1ZmNjODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTIuaHRtbApA
QCAtMCwwICsxLDU2IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1M
Ly9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlv
biI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBh
c3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhv
dXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4gPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdFBhc3RlKHRhZ05hbWUsIG9yaWdp
bmFsTWFya3VwLCBleHBlY3RlZCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAg
ICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZh
bHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAg
PSBub2RlLmlubmVySFRNTDsKKworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK3Rlc3RQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8Yj48aT5IZWxsbzwvaT48L2I+IiwgIjxiPjxpPkhlbGxv
PC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJm
b250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwv
ZGl2PiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48ZGl2PjxpPkhlbGxvPC9pPjwvZGl2PjwvYj48L2Rpdj4iLCAiPGkgc3R5
bGU9XCJmb250LXdlaWdodDogYm9sZDtcIj5IZWxsbzwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwv
Yj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJm
b250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsIAorICAgICAgICAgICI8ZGl2Pjxi
PjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iKTsK
K3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDog
bm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+IGhlbGxvMjwvaT48L2I+PC9zcGFu
PjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1h
bDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFu
PjwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtc
Ij48Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIsCisgICAg
ICAgICAgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+Iik7Cit0
ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5v
cm1hbFwiPjxiPjxpPkhlbGxvIDwhLS0gY29tbWVudCAtLT53b3JsZDwvaT48L2I+PC9zcGFuPjwv
aT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPiIpOwordGVzdFBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxc
Ij5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+
PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5wbGFp
biB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5k
LXNhbml0aXplLTIwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS1hbmQtc2FuaXRpemUtMjAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmODlkY2Y4
ODg0N2FhYjRiODkyYTAwN2QyZGUzMmMwOTY5ODFlYjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTIwLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDE3IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9w
ZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5
IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVs
bG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxpIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhlbGxvPC9pPicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48Yj5IZWxsbzwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5oZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+PGI+PGk+
aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicK
K0ZBSUwgY29uZmlybWVkTWFya3VwIHNob3VsZCBiZSA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+
aGVsbG88L2k+PC9iPjwvaT4uIFdhcyA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+PGI+PGkgc3R5
bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LgorUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPnBsYWluIHRl
eHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0yMC5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0yMC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjM2M2NkZGVhNjYzMjgwOTQ3ZDBkMWJmNWI2MWViODhiNTg1ZmNjODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
YW5kLXNhbml0aXplLTIwLmh0bWwKQEAgLTAsMCArMSw1NiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUg
b3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3Np
dHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuIDwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIgbm9k
ZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICByb290LmFw
cGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNv
cHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOwor
CisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBzaG91bGRCZSgi
Y29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCit0ZXN0UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVsbG88
L2k+PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvPC9p
PjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVz
dFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PjxkaXY+SGVsbG88L2Rpdj48L2Rpdj48L2Rpdj4iLCAi
SGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxsbzwvaT48L2Rp
dj48L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88L2k+
Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13
ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4i
LCAKKyAgICAgICAgICAiPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFu
IHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxp
PiBoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHls
ZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJz
cDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGkg
c3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+PGI+PGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVs
bG88L2k+PC9iPjwvaT4iLAorICAgICAgICAgICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5o
ZWxsbzwvaT48L2I+PC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBz
dHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbyA8IS0tIGNvbW1lbnQgLS0+
d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbyZuYnNwO3dv
cmxkPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9
XCJmb250LXdlaWdodDogbm9ybWFsXCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8
L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQt
d2VpZ2h0OiBub3JtYWw7XCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9i
Pjwvc3Bhbj48L2k+PC9iPiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0yMS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTIxLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5hZjg5ZGNmODg4NDdhYWI0Yjg5MmEwMDdkMmRlMzJjMDk2OTgxZWI0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFu
ZC1zYW5pdGl6ZS0yMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNyBAQAorVGhpcyB0ZXN0IGNo
ZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0
byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRo
ZSBzdHlsZS4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8aSBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5I
ZWxsbzwvaT4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGI+SGVsbG88L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13
ZWlnaHQ6IG5vcm1hbDsiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9p
PjwvYj48L3NwYW4+PC9pPjwvYj4nCitGQUlMIGNvbmZpcm1lZE1hcmt1cCBzaG91bGQgYmUgPGkg
c3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LiBXYXMgPGkgc3R5bGU9Im1h
cmdpbjogMTBweDsiPjxiPjxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9p
Pi4KK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwv
Yj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2Vp
Z2h0OiBub3JtYWw7Ij5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9z
cGFuPjwvaT48L2I+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS1hbmQtc2FuaXRpemUtMjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS1hbmQtc2FuaXRpemUtMjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNjNjZGRlYTY2MzI4MDk0N2Qw
ZDFiZjViNjFlYjg4YjU4NWZjYzg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0yMS5odG1sCkBAIC0wLDAgKzEsNTYg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50
IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3Rpbmcg
dGhlIHN0eWxlLiA8L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3Zh
ciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKwor
CitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9k
ZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRp
dGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBu
b2RlOworfQorCitmdW5jdGlvbiB0ZXN0UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdFBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0
ZSgiZGl2IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwor
dGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBu
b3JtYWxcIj48Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxp
PkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj48ZGl2PkhlbGxv
PC9kaXY+PC9kaXY+PC9kaXY+IiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxkaXY+PGk+SGVsbG88L2k+PC9kaXY+PC9iPjwvZGl2PiIsICI8aSBzdHlsZT1cImZvbnQtd2Vp
Z2h0OiBib2xkO1wiPkhlbGxvPC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PiIpOwor
dGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBu
b3JtYWxcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgCisgICAgICAgICAgIjxkaXY+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+
PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rp
dj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhl
bGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsK
K3Rlc3RQYXN0ZSgiZGl2IiwgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPjxiPjxpIHN0eWxl
PVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+IiwKKyAgICAgICAgICAiPGkgc3R5
bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2
IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+
SGVsbG8gPCEtLSBjb21tZW50IC0tPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4i
LCAiPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPnBsYWluIHRleHQ8
Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+
PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPnBsYWluIHRleHQ8Yj48aT5i
b2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKKworcm9vdC5zdHlsZS5k
aXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMjIt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1z
YW5pdGl6ZS0yMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWY4OWRjZjg4ODQ3YWFiNGI4OTJh
MDA3ZDJkZTMyYzA5Njk4MWViNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMjItZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTcgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1z
IHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1
cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGkgc3R5bGU9
ImZvbnQtd2VpZ2h0OiBib2xkOyI+SGVsbG88L2k+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxiPkhlbGxvPC9iPjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+
PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij48Yj48aT5oZWxsbzE8L2k+PC9i
PjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworRkFJTCBjb25maXJt
ZWRNYXJrdXAgc2hvdWxkIGJlIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+
PC9pPi4gV2FzIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij48Yj48aSBzdHlsZT0ibWFyZ2luOiAx
MHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+
SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxp
PjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+cGxhaW4gdGV4dDxiPjxpPmJvbGQg
aXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTIyLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTIyLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMzYzY2RkZWE2NjMyODA5NDdkMGQxYmY1YjYxZWI4OGI1ODVmY2M4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUt
MjIuaHRtbApAQCAtMCwwICsxLDU2IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYv
L0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJk
ZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJp
bXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFy
a3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4gPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdFBhc3RlKHRhZ05h
bWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9k
ZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVj
dEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJt
ZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK3Rlc3RQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8Yj48aT5IZWxsbzwvaT48L2I+IiwgIjxi
PjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4g
c3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG88L2k+PC9iPjwvc3Bhbj48
L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIpOwordGVz
dFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48ZGl2PjxpPkhlbGxvPC9pPjwvZGl2PjwvYj48L2Rpdj4i
LCAiPGkgc3R5bGU9XCJmb250LXdlaWdodDogYm9sZDtcIj5IZWxsbzwvaT4iKTsKK3Rlc3RQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxs
bzwvYj48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
Yj5IZWxsbzwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4g
c3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFs
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsIAorICAgICAgICAg
ICI8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250
LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+IGhlbGxvMjwvaT48
L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWln
aHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48
L2I+PC9zcGFuPjwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8aSBzdHlsZT1cIm1hcmdp
bjogMTBweDtcIj48Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9p
PiIsCisgICAgICAgICAgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48
L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13
ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvIDwhLS0gY29tbWVudCAtLT53b3JsZDwvaT48L2I+
PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPiIp
OwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0
OiBub3JtYWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFu
PjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1h
bDtcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48
L2I+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtYW5kLXNhbml0aXplLTIzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmFmODlkY2Y4ODg0N2FhYjRiODkyYTAwN2QyZGUzMmMwOTY5ODFlYjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTIz
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhl
IHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUg
dmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxs
bzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxpIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhlbGxvPC9pPicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48
Yj5IZWxsbzwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFs
OyI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48
L2k+PC9iPicKK0ZBSUwgY29uZmlybWVkTWFya3VwIHNob3VsZCBiZSA8aSBzdHlsZT0ibWFyZ2lu
OiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uIFdhcyA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+
PGI+PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LgorUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsi
PnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6
ZS0yMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5p
dGl6ZS0yMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2M2NkZGVhNjYzMjgwOTQ3ZDBkMWJmNWI2MWViODhi
NTg1ZmNjODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtYW5kLXNhbml0aXplLTIzLmh0bWwKQEAgLTAsMCArMSw1NiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0
aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRo
ZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuIDwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsKKyAg
ICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAg
ICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwg
ZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBz
aG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCit0
ZXN0UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGI+
PGk+SGVsbG88L2k+PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxp
PkhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG88L2k+PC9i
PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PjxkaXY+SGVsbG88L2Rpdj48L2Rpdj48
L2Rpdj4iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxs
bzwvaT48L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+
SGVsbG88L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPjxzcGFuIHN0eWxl
PVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwv
Yj48L2Rpdj4iLCAKKyAgICAgICAgICAiPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+
PC9iPjxiPjxpPiBoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48
c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48
Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOwordGVzdFBhc3RlKCJk
aXYiLCAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+PGI+PGkgc3R5bGU9XCJtYXJnaW46IDEw
cHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iLAorICAgICAgICAgICI8aSBzdHlsZT1cIm1hcmdpbjog
MTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbyA8IS0tIGNv
bW1lbnQgLS0+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxs
byZuYnNwO3dvcmxkPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNw
YW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRh
bGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHls
ZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRl
eHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0yNC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTI0LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZjg5ZGNmODg4NDdhYWI0Yjg5MmEwMDdkMmRlMzJjMDk2
OTgxZWI0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLWFuZC1zYW5pdGl6ZS0yNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNyBAQAorVGhp
cyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBm
cmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZm
ZWN0aW5nIHRoZSBzdHlsZS4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8aSBzdHlsZT0iZm9udC13ZWlnaHQ6
IGJvbGQ7Ij5IZWxsbzwvaT4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGI+SGVsbG88L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHls
ZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7
aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitGQUlMIGNvbmZpcm1lZE1hcmt1cCBzaG91
bGQgYmUgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LiBXYXMgPGkg
c3R5bGU9Im1hcmdpbjogMTBweDsiPjxiPjxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwv
aT48L2I+PC9pPi4KK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbyZuYnNwO3dv
cmxkPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9
ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwv
aT48L2I+PC9zcGFuPjwvaT48L2I+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNjNjZGRlYTY2
MzI4MDk0N2QwZDFiZjViNjFlYjg4YjU4NWZjYzg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0yNC5odG1sCkBAIC0w
LDAgKzEsNTYgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVk
IGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBh
ZmZlY3RpbmcgdGhlIHN0eWxlLiA8L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3Jp
cHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChy
b290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAg
ICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5j
b250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAg
IHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdFBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iKTsK
K3Rlc3RQYXN0ZSgiZGl2IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iLCAiPGI+PGk+SGVsbG88L2k+
PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQt
d2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+
IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj48
ZGl2PkhlbGxvPC9kaXY+PC9kaXY+PC9kaXY+IiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxkaXY+PGk+SGVsbG88L2k+PC9kaXY+PC9iPjwvZGl2PiIsICI8aSBzdHlsZT1c
ImZvbnQtd2VpZ2h0OiBib2xkO1wiPkhlbGxvPC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRp
dj48ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwv
ZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQt
d2VpZ2h0OiBub3JtYWxcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgCisgICAgICAgICAgIjxkaXY+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIpOwordGVz
dFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3Jt
YWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+PC9p
PjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wi
PjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9p
PjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPjxi
PjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+IiwKKyAgICAgICAg
ICAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iKTsKK3Rlc3RQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFs
XCI+PGI+PGk+SGVsbG8gPCEtLSBjb21tZW50IC0tPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwv
Yj48L2Rpdj4iLCAiPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7Cit0ZXN0UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPnBs
YWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rp
dj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPnBsYWluIHRl
eHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKKworcm9v
dC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2Fu
aXRpemUtMjUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLWFuZC1zYW5pdGl6ZS0yNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWY4OWRjZjg4ODQ3
YWFiNGI4OTJhMDA3ZDJkZTMyYzA5Njk4MWViNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMjUtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTcgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0
aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2Yg
dGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwv
aT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGkgc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SGVsbG88L2k+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxiPkhlbGxvPC9iPjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij48Yj48aT5oZWxs
bzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworRkFJ
TCBjb25maXJtZWRNYXJrdXAgc2hvdWxkIGJlIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxs
bzwvaT48L2I+PC9pPi4gV2FzIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij48Yj48aSBzdHlsZT0i
bWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+cGxhaW4gdGV4dDxi
PjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTI1Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTI1Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMzYzY2RkZWE2NjMyODA5NDdkMGQxYmY1YjYxZWI4OGI1ODVmY2M4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQt
c2FuaXRpemUtMjUuaHRtbApAQCAtMCwwICsxLDU2IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMg
Ii0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVy
YXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBv
ZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4gPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdFBh
c3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCkgeworICAgIHZhciBub2RlID0g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIHJvb3QuYXBwZW5k
Q2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIs
IGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAg
ICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK3Rlc3RQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8Yj48aT5IZWxsbzwvaT48
L2I+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+
PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG88L2k+PC9i
Pjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxs
byIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48ZGl2PjxpPkhlbGxvPC9pPjwvZGl2Pjwv
Yj48L2Rpdj4iLCAiPGkgc3R5bGU9XCJmb250LXdlaWdodDogYm9sZDtcIj5IZWxsbzwvaT4iKTsK
K3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48Yj5IZWxsbzwvYj48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+
PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+PC9i
Pjwvc3Bhbj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdo
dDogbm9ybWFsXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsIAor
ICAgICAgICAgICI8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5
bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+IGhl
bGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwi
Zm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hl
bGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8aSBzdHls
ZT1cIm1hcmdpbjogMTBweDtcIj48Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwv
aT48L2I+PC9pPiIsCisgICAgICAgICAgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxv
PC9pPjwvYj48L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxl
PVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvIDwhLS0gY29tbWVudCAtLT53b3Js
ZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8
L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZv
bnQtd2VpZ2h0OiBub3JtYWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48
L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWln
aHQ6IG5vcm1hbDtcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9z
cGFuPjwvaT48L2I+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTI2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMjYtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmFmODlkY2Y4ODg0N2FhYjRiODkyYTAwN2QyZGUzMmMwOTY5ODFlYjQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNh
bml0aXplLTI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJl
ZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0
eWxlLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxpIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhlbGxv
PC9pPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBj
ZW50ZXI7Ij48Yj5IZWxsbzwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdo
dDogbm9ybWFsOyI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9i
Pjwvc3Bhbj48L2k+PC9iPicKK0ZBSUwgY29uZmlybWVkTWFya3VwIHNob3VsZCBiZSA8aSBzdHls
ZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uIFdhcyA8aSBzdHlsZT0ibWFyZ2lu
OiAxMHB4OyI+PGI+PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+Lgor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6
IG5vcm1hbDsiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+
PC9pPjwvYj4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFu
ZC1zYW5pdGl6ZS0yNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LWFuZC1zYW5pdGl6ZS0yNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2M2NkZGVhNjYzMjgwOTQ3ZDBkMWJm
NWI2MWViODhiNTg1ZmNjODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTI2Lmh0bWwKQEAgLTAsMCArMSw1NiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8g
cmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUg
c3R5bGUuIDwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFy
a3VwKTsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7
CisKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIp
OworfQorCit0ZXN0UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJk
aXYiLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1h
bFwiPjxiPjxpPkhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVs
bG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PjxkaXY+SGVsbG88L2Rp
dj48L2Rpdj48L2Rpdj4iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGRp
dj48aT5IZWxsbzwvaT48L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9udC13ZWlnaHQ6
IGJvbGQ7XCI+SGVsbG88L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+PC9kaXY+IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+Iik7Cit0ZXN0
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1h
bFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPjxz
cGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L3Nw
YW4+PC9pPjwvYj48L2Rpdj4iLCAKKyAgICAgICAgICAiPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5o
ZWxsbzE8L2k+PC9iPjxiPjxpPiBoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIs
ICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8x
PC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOwordGVz
dFBhc3RlKCJkaXYiLCAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+PGI+PGkgc3R5bGU9XCJt
YXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iLAorICAgICAgICAgICI8aSBzdHlsZT1c
Im1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxs
byA8IS0tIGNvbW1lbnQgLS0+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8
Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+
PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+cGxhaW4gdGV4dDxiPjxp
PmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48
c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQg
aXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0yNy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0
aXplLTI3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZjg5ZGNmODg4NDdhYWI0Yjg5MmEwMDdk
MmRlMzJjMDk2OTgxZWI0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0yNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
NyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhl
IHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdp
dGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hl
bGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8aSBzdHlsZT0iZm9u
dC13ZWlnaHQ6IGJvbGQ7Ij5IZWxsbzwvaT4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGI+SGVsbG88L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48
c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+
PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitGQUlMIGNvbmZpcm1lZE1h
cmt1cCBzaG91bGQgYmUgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+
LiBXYXMgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPjxiPjxpIHN0eWxlPSJtYXJnaW46IDEwcHg7
Ij5oZWxsbzwvaT48L2I+PC9pPi4KK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxs
byZuYnNwO3dvcmxkPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNw
YW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFs
aWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMjcuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMjcuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4z
NjNjZGRlYTY2MzI4MDk0N2QwZDFiZjViNjFlYjg4YjU4NWZjYzg3Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0yNy5o
dG1sCkBAIC0wLDAgKzEsNTYgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0
aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAg
d2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLiA8L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciBy
b290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBl
bmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJr
dXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7Cisg
ICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFy
a3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdFBhc3RlKCJkaXYiLCAiSGVsbG8iLCAi
SGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iLCAiPGI+PGk+
SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHls
ZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48
L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj48ZGl2PkhlbGxvPC9kaXY+PC9kaXY+PC9kaXY+IiwgIkhlbGxvIik7Cit0ZXN0UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxkaXY+PGk+SGVsbG88L2k+PC9kaXY+PC9iPjwvZGl2PiIsICI8
aSBzdHlsZT1cImZvbnQtd2VpZ2h0OiBib2xkO1wiPkhlbGxvPC9pPiIpOwordGVzdFBhc3RlKCJk
aXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9i
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhl
bGxvPC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHls
ZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgCisgICAgICAgICAgIjxk
aXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2Vp
Z2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4gaGVsbG8yPC9pPjwvYj48
L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDog
bm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48
L3NwYW4+PC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxpIHN0eWxlPVwibWFyZ2luOiAx
MHB4O1wiPjxiPjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+IiwK
KyAgICAgICAgICAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4i
KTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdo
dDogbm9ybWFsXCI+PGI+PGk+SGVsbG8gPCEtLSBjb21tZW50IC0tPndvcmxkPC9pPjwvYj48L3Nw
YW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7Cit0
ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5v
cm1hbFwiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9p
PjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wi
PnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4i
KTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS1hbmQtc2FuaXRpemUtMjgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0yOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWY4
OWRjZjg4ODQ3YWFiNGI4OTJhMDA3ZDJkZTMyYzA5Njk4MWViNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMjgtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTcgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFz
dGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJi
b3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48
aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9p
PjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGkgc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SGVsbG88L2k+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxiPkhl
bGxvPC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPmhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij48
Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48
L2I+JworRkFJTCBjb25maXJtZWRNYXJrdXAgc2hvdWxkIGJlIDxpIHN0eWxlPSJtYXJnaW46IDEw
cHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4gV2FzIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij48Yj48
aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+cGxh
aW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTI4
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXpl
LTI4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMzYzY2RkZWE2NjMyODA5NDdkMGQxYmY1YjYxZWI4OGI1ODVm
Y2M4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS1hbmQtc2FuaXRpemUtMjguaHRtbApAQCAtMCwwICsxLDU2IEBACis8IURPQ1RZUEUgSFRN
TCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBw
YXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZl
cmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4gPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdFBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCkgeworICAgIHZh
ciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIHJv
b3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxz
ZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK3Rlc3RQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8Yj48aT5I
ZWxsbzwvaT48L2I+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVs
bG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7
Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2
PiIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48ZGl2PjxpPkhlbGxvPC9p
PjwvZGl2PjwvYj48L2Rpdj4iLCAiPGkgc3R5bGU9XCJmb250LXdlaWdodDogYm9sZDtcIj5IZWxs
bzwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJm
b250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwv
ZGl2PiIsIAorICAgICAgICAgICI8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+
PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+
PGI+PGk+IGhlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFu
IHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxp
PiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIs
ICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj48Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBweDtc
Ij5oZWxsbzwvaT48L2I+PC9pPiIsCisgICAgICAgICAgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4
O1wiPmhlbGxvPC9pPjwvYj48L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxz
cGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvIDwhLS0gY29tbWVu
dCAtLT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvJm5i
c3A7d29ybGQ8L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBz
dHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMg
dGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwi
Zm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwv
aT48L2I+PC9zcGFuPjwvaT48L2I+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTI5LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMjktZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmFmODlkY2Y4ODg0N2FhYjRiODkyYTAwN2QyZGUzMmMwOTY5ODFl
YjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtYW5kLXNhbml0aXplLTI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdt
ZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3Rp
bmcgdGhlIHN0eWxlLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hl
bGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxpIHN0eWxlPSJmb250LXdlaWdodDogYm9s
ZDsiPkhlbGxvPC9pPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0
LWFsaWduOiBjZW50ZXI7Ij48Yj5IZWxsbzwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJm
b250LXdlaWdodDogbm9ybWFsOyI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxs
bzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK0ZBSUwgY29uZmlybWVkTWFya3VwIHNob3VsZCBi
ZSA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uIFdhcyA8aSBzdHls
ZT0ibWFyZ2luOiAxMHB4OyI+PGI+PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwv
Yj48L2k+LgorUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8
L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9u
dC13ZWlnaHQ6IG5vcm1hbDsiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwv
Yj48L3NwYW4+PC9pPjwvYj4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLWFuZC1zYW5pdGl6ZS0yOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0yOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2M2NkZGVhNjYzMjgw
OTQ3ZDBkMWJmNWI2MWViODhiNTg1ZmNjODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTI5Lmh0bWwKQEAgLTAsMCAr
MSw1NiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJh
Z21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVj
dGluZyB0aGUgc3R5bGUuIDwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwKTsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5m
b2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5p
bm5lckhUTUw7CisKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0
ZWQgKyAiJyIpOworfQorCit0ZXN0UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIpOwordGVz
dFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48L2I+
Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWln
aHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAi
PGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PjxkaXY+
SGVsbG88L2Rpdj48L2Rpdj48L2Rpdj4iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxk
aXY+PGI+PGRpdj48aT5IZWxsbzwvaT48L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9u
dC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+PC9kaXY+
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+
Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWln
aHQ6IG5vcm1hbFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAKKyAgICAgICAgICAiPGRpdj48Yj48aT5oZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtc
Ij48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiBoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9i
PjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+
PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9i
PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+PGI+PGkg
c3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iLAorICAgICAgICAgICI8
aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIpOwordGVzdFBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48
Yj48aT5IZWxsbyA8IS0tIGNvbW1lbnQgLS0+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwv
ZGl2PiIsICI8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2
IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+cGxhaW4g
dGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIs
ICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+cGxhaW4gdGV4dDxi
PjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6
ZS0zLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1h
bmQtc2FuaXRpemUtMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWY4OWRjZjg4ODQ3YWFiNGI4
OTJhMDA3ZDJkZTMyYzA5Njk4MWViNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMy1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxNyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJp
bXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFy
a3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4KKworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8aSBzdHls
ZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IZWxsbzwvaT4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGI+SGVsbG88L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPjxiPjxpPmhlbGxvMTwvaT48
L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitGQUlMIGNvbmZp
cm1lZE1hcmt1cCBzaG91bGQgYmUgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwv
Yj48L2k+LiBXYXMgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPjxiPjxpIHN0eWxlPSJtYXJnaW46
IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4KK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48
aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+
PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij5wbGFpbiB0ZXh0PGI+PGk+Ym9s
ZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMy5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0zLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMzYzY2RkZWE2NjMyODA5NDdkMGQxYmY1YjYxZWI4OGI1ODVmY2M4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUt
My5odG1sCkBAIC0wLDAgKzEsNTYgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmlt
cyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJr
dXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLiA8L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3Zh
ciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5h
cHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBt
YXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7
CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0g
bWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdFBhc3RlKCJkaXYiLCAiSGVsbG8i
LCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iLCAiPGI+
PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBz
dHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwv
aT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj48ZGl2PkhlbGxvPC9kaXY+PC9kaXY+PC9kaXY+IiwgIkhlbGxvIik7Cit0ZXN0
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxkaXY+PGk+SGVsbG88L2k+PC9kaXY+PC9iPjwvZGl2PiIs
ICI8aSBzdHlsZT1cImZvbnQtd2VpZ2h0OiBib2xkO1wiPkhlbGxvPC9pPiIpOwordGVzdFBhc3Rl
KCJkaXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxv
PC9iPjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxi
PkhlbGxvPC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBz
dHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9zcGFuPjwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgCisgICAgICAgICAg
IjxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQt
d2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4gaGVsbG8yPC9pPjwv
Yj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdo
dDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwv
Yj48L3NwYW4+PC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxpIHN0eWxlPVwibWFyZ2lu
OiAxMHB4O1wiPjxiPjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+
IiwKKyAgICAgICAgICAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwv
aT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdl
aWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG8gPCEtLSBjb21tZW50IC0tPndvcmxkPC9pPjwvYj48
L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7
Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6
IG5vcm1hbFwiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+
PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFs
O1wiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwv
Yj4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS1hbmQtc2FuaXRpemUtMzAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0zMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YWY4OWRjZjg4ODQ3YWFiNGI4OTJhMDA3ZDJkZTMyYzA5Njk4MWViNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMzAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTcgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUg
cGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2
ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxv
PC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGkgc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SGVsbG88L2k+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxi
PkhlbGxvPC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPmhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7
Ij48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwv
aT48L2I+JworRkFJTCBjb25maXJtZWRNYXJrdXAgc2hvdWxkIGJlIDxpIHN0eWxlPSJtYXJnaW46
IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4gV2FzIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij48
Yj48aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+
cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXpl
LTMwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0
aXplLTMwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzYzY2RkZWE2NjMyODA5NDdkMGQxYmY1YjYxZWI4OGI1
ODVmY2M4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS1hbmQtc2FuaXRpemUtMzAuaHRtbApAQCAtMCwwICsxLDU2IEBACis8IURPQ1RZUEUg
SFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRo
ZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhl
IHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4gPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdFBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCkgeworICAg
IHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAg
IHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBm
YWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK3Rl
c3RQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8Yj48
aT5IZWxsbzwvaT48L2I+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2
IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+
SGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbzwvaT48L2I+
Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2Pjwv
ZGl2PiIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48ZGl2PjxpPkhlbGxv
PC9pPjwvZGl2PjwvYj48L2Rpdj4iLCAiPGkgc3R5bGU9XCJmb250LXdlaWdodDogYm9sZDtcIj5I
ZWxsbzwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2
IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9
XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9i
PjwvZGl2PiIsIAorICAgICAgICAgICI8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+
PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48
L2I+PGI+PGk+IGhlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxz
cGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxi
PjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRp
diIsICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj48Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBw
eDtcIj5oZWxsbzwvaT48L2I+PC9pPiIsCisgICAgICAgICAgIjxpIHN0eWxlPVwibWFyZ2luOiAx
MHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvIDwhLS0gY29t
bWVudCAtLT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxv
Jm5ic3A7d29ybGQ8L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3Bh
biBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFs
aWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxl
PVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4
dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTMxLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMzEtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmODlkY2Y4ODg0N2FhYjRiODkyYTAwN2QyZGUzMmMwOTY5
ODFlYjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtYW5kLXNhbml0aXplLTMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZy
YWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZl
Y3RpbmcgdGhlIHN0eWxlLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxpIHN0eWxlPSJmb250LXdlaWdodDog
Ym9sZDsiPkhlbGxvPC9pPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0
ZXh0LWFsaWduOiBjZW50ZXI7Ij48Yj5IZWxsbzwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxl
PSJmb250LXdlaWdodDogbm9ybWFsOyI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDto
ZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK0ZBSUwgY29uZmlybWVkTWFya3VwIHNob3Vs
ZCBiZSA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uIFdhcyA8aSBz
dHlsZT0ibWFyZ2luOiAxMHB4OyI+PGI+PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9p
PjwvYj48L2k+LgorUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvJm5ic3A7d29y
bGQ8L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0i
Zm9udC13ZWlnaHQ6IG5vcm1hbDsiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9p
PjwvYj48L3NwYW4+PC9pPjwvYj4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0zMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0zMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2M2NkZGVhNjYz
MjgwOTQ3ZDBkMWJmNWI2MWViODhiNTg1ZmNjODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTMxLmh0bWwKQEAgLTAs
MCArMSw1NiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQg
ZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFm
ZmVjdGluZyB0aGUgc3R5bGUuIDwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG9yaWdpbmFsTWFya3VwKTsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9k
ZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9k
ZS5pbm5lckhUTUw7CisKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhw
ZWN0ZWQgKyAiJyIpOworfQorCit0ZXN0UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIpOwor
dGVzdFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48
L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13
ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4i
LCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48L2Rpdj48L2Rpdj4iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGI+PGRpdj48aT5IZWxsbzwvaT48L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwi
Zm9udC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+PC9k
aXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9k
aXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13
ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAKKyAgICAgICAgICAiPGRpdj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1h
bDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiBoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+
PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+
PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+
PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+PGI+
PGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iLAorICAgICAgICAg
ICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIpOwordGVzdFBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxc
Ij48Yj48aT5IZWxsbyA8IS0tIGNvbW1lbnQgLS0+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9i
PjwvZGl2PiIsICI8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+cGxh
aW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2
PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+cGxhaW4gdGV4
dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5p
dGl6ZS0zMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtYW5kLXNhbml0aXplLTMyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZjg5ZGNmODg4NDdh
YWI0Yjg5MmEwMDdkMmRlMzJjMDk2OTgxZWI0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0zMi1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxNyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRp
b24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0
aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4KKworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9p
PjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
aSBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IZWxsbzwvaT4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGI+SGVsbG88L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPjxiPjxpPmhlbGxv
MTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitGQUlM
IGNvbmZpcm1lZE1hcmt1cCBzaG91bGQgYmUgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxv
PC9pPjwvYj48L2k+LiBXYXMgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPjxiPjxpIHN0eWxlPSJt
YXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4KK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij5wbGFpbiB0ZXh0PGI+
PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMzIuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMzIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4zNjNjZGRlYTY2MzI4MDk0N2QwZDFiZjViNjFlYjg4YjU4NWZjYzg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1z
YW5pdGl6ZS0zMi5odG1sCkBAIC0wLDAgKzEsNTYgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJh
dGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9m
IHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLiA8L3A+Cis8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rp
b24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1l
bnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
dGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5u
ZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdFBhc3RlKCJkaXYi
LCAiSGVsbG8iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxiPjxpPkhlbGxvPC9pPjwv
Yj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbzwvaT48L2I+
PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj48ZGl2PkhlbGxvPC9kaXY+PC9kaXY+PC9kaXY+IiwgIkhlbGxv
Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxkaXY+PGk+SGVsbG88L2k+PC9kaXY+PC9i
PjwvZGl2PiIsICI8aSBzdHlsZT1cImZvbnQtd2VpZ2h0OiBib2xkO1wiPkhlbGxvPC9pPiIpOwor
dGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxiPkhlbGxvPC9iPjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9zcGFuPjwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0
OiBub3JtYWxcIj48Yj48aT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgCisg
ICAgICAgICAgIjxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHls
ZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4gaGVs
bG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJm
b250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVs
bG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxpIHN0eWxl
PVwibWFyZ2luOiAxMHB4O1wiPjxiPjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9p
PjwvYj48L2k+IiwKKyAgICAgICAgICAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88
L2k+PC9iPjwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9
XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG8gPCEtLSBjb21tZW50IC0tPndvcmxk
PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwv
aT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9u
dC13ZWlnaHQ6IG5vcm1hbFwiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwv
Yj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdo
dDogbm9ybWFsO1wiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3Nw
YW4+PC9pPjwvYj4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMzMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0zMy1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYWY4OWRjZjg4ODQ3YWFiNGI4OTJhMDA3ZDJkZTMyYzA5Njk4MWViNAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2Fu
aXRpemUtMzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTcgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVk
dWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5
bGUuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxi
PjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGkgc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SGVsbG88
L2k+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxiPkhlbGxvPC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0
OiBub3JtYWw7Ij48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+
PC9zcGFuPjwvaT48L2I+JworRkFJTCBjb25maXJtZWRNYXJrdXAgc2hvdWxkIGJlIDxpIHN0eWxl
PSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4gV2FzIDxpIHN0eWxlPSJtYXJnaW46
IDEwcHg7Ij48Yj48aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDog
bm9ybWFsOyI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48
L2k+PC9iPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5k
LXNhbml0aXplLTMzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
YW5kLXNhbml0aXplLTMzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzYzY2RkZWE2NjMyODA5NDdkMGQxYmY1
YjYxZWI4OGI1ODVmY2M4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMzMuaHRtbApAQCAtMCwwICsxLDU2IEBACis8
IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNr
cyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byBy
ZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBz
dHlsZS4gPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdFBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3Rl
ZCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXApOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
UGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsK
KworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK3Rlc3RQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRp
diIsICI8Yj48aT5IZWxsbzwvaT48L2I+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFs
XCI+PGI+PGk+SGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxs
bzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48ZGl2
PjxpPkhlbGxvPC9pPjwvZGl2PjwvYj48L2Rpdj4iLCAiPGkgc3R5bGU9XCJmb250LXdlaWdodDog
Ym9sZDtcIj5IZWxsbzwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj4iKTsKK3Rlc3RQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFs
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+PHNw
YW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvc3Bh
bj48L2k+PC9iPjwvZGl2PiIsIAorICAgICAgICAgICI8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhl
bGxvMTwvaT48L2I+PGI+PGk+IGhlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+Iiwg
IjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8
L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7Cit0ZXN0
UGFzdGUoImRpdiIsICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj48Yj48aSBzdHlsZT1cIm1h
cmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIsCisgICAgICAgICAgIjxpIHN0eWxlPVwi
bWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxv
IDwhLS0gY29tbWVudCAtLT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxi
PjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj5wbGFpbiB0ZXh0PGI+PGk+
Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxz
cGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBp
dGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTM0LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRp
emUtMzQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmODlkY2Y4ODg0N2FhYjRiODkyYTAwN2Qy
ZGUzMmMwOTY5ODFlYjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUg
cGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0
aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxpIHN0eWxlPSJmb250
LXdlaWdodDogYm9sZDsiPkhlbGxvPC9pPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48Yj5IZWxsbzwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxz
cGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48
aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK0ZBSUwgY29uZmlybWVkTWFy
a3VwIHNob3VsZCBiZSA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4u
IFdhcyA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+PGI+PGkgc3R5bGU9Im1hcmdpbjogMTBweDsi
PmhlbGxvPC9pPjwvYj48L2k+LgorUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxv
Jm5ic3A7d29ybGQ8L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3Bh
biBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxp
YyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0zNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0zNC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2
M2NkZGVhNjYzMjgwOTQ3ZDBkMWJmNWI2MWViODhiNTg1ZmNjODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTM0Lmh0
bWwKQEAgLTAsMCArMSw1NiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRo
ZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3
aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuIDwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOwor
CisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwi
LCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFy
a3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwg
IiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCit0ZXN0UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIsICI8Yj48aT5I
ZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxl
PVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwv
Yj48L2Rpdj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRp
dj48ZGl2PjxkaXY+SGVsbG88L2Rpdj48L2Rpdj48L2Rpdj4iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0
ZSgiZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxsbzwvaT48L2Rpdj48L2I+PC9kaXY+IiwgIjxp
IHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88L2k+Iik7Cit0ZXN0UGFzdGUoImRp
diIsICI8ZGl2PjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+
PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVs
bG88L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxl
PVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAKKyAgICAgICAgICAiPGRp
dj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWln
aHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiBoZWxsbzI8L2k+PC9iPjwv
c3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBu
b3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwv
c3Bhbj48L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGkgc3R5bGU9XCJtYXJnaW46IDEw
cHg7XCI+PGI+PGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iLAor
ICAgICAgICAgICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIp
OwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0
OiBub3JtYWxcIj48Yj48aT5IZWxsbyA8IS0tIGNvbW1lbnQgLS0+d29ybGQ8L2k+PC9iPjwvc3Bh
bj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4iKTsKK3Rl
c3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9y
bWFsXCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+
PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+
cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LWFuZC1zYW5pdGl6ZS0zNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTM1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZjg5
ZGNmODg4NDdhYWI0Yjg5MmEwMDdkMmRlMzJjMDk2OTgxZWI0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0zNS1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxNyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0
ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJv
c2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4KKworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxp
PkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+
PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8aSBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IZWxsbzwvaT4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGI+SGVs
bG88L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPjxi
PjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwv
Yj4nCitGQUlMIGNvbmZpcm1lZE1hcmt1cCBzaG91bGQgYmUgPGkgc3R5bGU9Im1hcmdpbjogMTBw
eDsiPmhlbGxvPC9pPjwvYj48L2k+LiBXYXMgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPjxiPjxp
IHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4KK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij5wbGFp
biB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMzUu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUt
MzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4zNjNjZGRlYTY2MzI4MDk0N2QwZDFiZjViNjFlYjg4YjU4NWZj
Yzg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLWFuZC1zYW5pdGl6ZS0zNS5odG1sCkBAIC0wLDAgKzEsNTYgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBh
c3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVy
Ym9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLiA8L3A+Cis8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5n
ZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIp
OworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAg
IG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlv
biB0ZXN0UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdFBh
c3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxiPjxpPkhl
bGxvPC9pPjwvYj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxs
bzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsK
K3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj48ZGl2PkhlbGxvPC9kaXY+PC9kaXY+PC9kaXY+
IiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxkaXY+PGk+SGVsbG88L2k+
PC9kaXY+PC9iPjwvZGl2PiIsICI8aSBzdHlsZT1cImZvbnQtd2VpZ2h0OiBib2xkO1wiPkhlbGxv
PC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZv
bnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9k
aXY+IiwgCisgICAgICAgICAgIjxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48
c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48
Yj48aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4g
c3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+
Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2Iiwg
IjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPjxiPjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wi
PmhlbGxvPC9pPjwvYj48L2k+IiwKKyAgICAgICAgICAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7
XCI+aGVsbG88L2k+PC9iPjwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNw
YW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG8gPCEtLSBjb21tZW50
IC0tPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG8mbmJz
cDt3b3JsZDwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0
eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0
ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJm
b250LXdlaWdodDogbm9ybWFsO1wiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9p
PjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOwor
Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMzYtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0zNi1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYWY4OWRjZjg4ODQ3YWFiNGI4OTJhMDA3ZDJkZTMyYzA5Njk4MWVi
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS1hbmQtc2FuaXRpemUtMzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTcgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21l
bnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGlu
ZyB0aGUgc3R5bGUuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGkgc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xk
OyI+SGVsbG88L2k+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxiPkhlbGxvPC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZv
bnQtd2VpZ2h0OiBub3JtYWw7Ij48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxv
MjwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworRkFJTCBjb25maXJtZWRNYXJrdXAgc2hvdWxkIGJl
IDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4gV2FzIDxpIHN0eWxl
PSJtYXJnaW46IDEwcHg7Ij48Yj48aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9i
PjwvaT4uCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwv
aT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250
LXdlaWdodDogbm9ybWFsOyI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9i
Pjwvc3Bhbj48L2k+PC9iPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtYW5kLXNhbml0aXplLTM2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtYW5kLXNhbml0aXplLTM2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzYzY2RkZWE2NjMyODA5
NDdkMGQxYmY1YjYxZWI4OGI1ODVmY2M4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMzYuaHRtbApAQCAtMCwwICsx
LDU2IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8
aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0
ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFn
bWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0
aW5nIHRoZSBzdHlsZS4gPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdFBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3Vw
LCBleHBlY3RlZCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXApOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZv
Y3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlu
bmVySFRNTDsKKworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK3Rlc3RQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
UGFzdGUoImRpdiIsICI8Yj48aT5IZWxsbzwvaT48L2I+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4i
KTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdo
dDogbm9ybWFsXCI+PGI+PGk+SGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8
Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48ZGl2PjxpPkhlbGxvPC9pPjwvZGl2PjwvYj48L2Rpdj4iLCAiPGkgc3R5bGU9XCJmb250
LXdlaWdodDogYm9sZDtcIj5IZWxsbzwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj4i
KTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdo
dDogbm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsIAorICAgICAgICAgICI8ZGl2PjxiPjxpPmhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0
ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wi
PjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+IGhlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+
PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48
aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+
Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj48Yj48aSBz
dHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIsCisgICAgICAgICAgIjxp
IHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+Iik7Cit0ZXN0UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxi
PjxpPkhlbGxvIDwhLS0gY29tbWVudCAtLT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9k
aXY+IiwgIjxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj5wbGFpbiB0
ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+Iiwg
IjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5wbGFpbiB0ZXh0PGI+
PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXpl
LTM3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1h
bmQtc2FuaXRpemUtMzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmODlkY2Y4ODg0N2FhYjRi
ODkyYTAwN2QyZGUzMmMwOTY5ODFlYjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTM3LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDE3IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0
cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBt
YXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9i
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxpIHN0
eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhlbGxvPC9pPicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48Yj5IZWxsbzwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+PGI+PGk+aGVsbG8xPC9p
PjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK0ZBSUwgY29u
ZmlybWVkTWFya3VwIHNob3VsZCBiZSA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+
PC9iPjwvaT4uIFdhcyA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+PGI+PGkgc3R5bGU9Im1hcmdp
bjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LgorUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxi
PjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPnBsYWluIHRleHQ8Yj48aT5i
b2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0zNy5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0zNy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjM2M2NkZGVhNjYzMjgwOTQ3ZDBkMWJmNWI2MWViODhiNTg1ZmNjODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0
aXplLTM3Lmh0bWwKQEAgLTAsMCArMSw1NiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9u
IHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhl
IG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuIDwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICByb290LmFwcGVuZENoaWxk
KG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJT
ZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxz
ZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29u
ZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBzaG91bGRCZSgiY29uZmlybWVk
TWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCit0ZXN0UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIs
ICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxz
cGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvPC9pPjwvYj48L3Nw
YW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJk
aXYiLCAiPGRpdj48ZGl2PjxkaXY+SGVsbG88L2Rpdj48L2Rpdj48L2Rpdj4iLCAiSGVsbG8iKTsK
K3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxsbzwvaT48L2Rpdj48L2I+PC9k
aXY+IiwgIjxpIHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88L2k+Iik7Cit0ZXN0
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+
SGVsbG88L2I+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGI+SGVsbG88L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxz
cGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L3Nw
YW4+PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5v
cm1hbFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAKKyAgICAg
ICAgICAiPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwi
Zm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiBoZWxsbzI8
L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQt
d2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8
L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGkgc3R5bGU9XCJt
YXJnaW46IDEwcHg7XCI+PGI+PGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9i
PjwvaT4iLAorICAgICAgICAgICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48
L2I+PC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZv
bnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbyA8IS0tIGNvbW1lbnQgLS0+d29ybGQ8L2k+
PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwv
Yj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdl
aWdodDogbm9ybWFsXCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwv
c3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBu
b3JtYWw7XCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48
L2k+PC9iPiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0zOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTM4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5hZjg5ZGNmODg4NDdhYWI0Yjg5MmEwMDdkMmRlMzJjMDk2OTgxZWI0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6
ZS0zOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0
IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2Ug
dGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4K
KworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+
SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8aSBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IZWxsbzwvaT4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGI+SGVsbG88L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5v
cm1hbDsiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3Nw
YW4+PC9pPjwvYj4nCitGQUlMIGNvbmZpcm1lZE1hcmt1cCBzaG91bGQgYmUgPGkgc3R5bGU9Im1h
cmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LiBXYXMgPGkgc3R5bGU9Im1hcmdpbjogMTBw
eDsiPjxiPjxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4KK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3Jt
YWw7Ij5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48
L2I+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2Fu
aXRpemUtMzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQt
c2FuaXRpemUtMzguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNjNjZGRlYTY2MzI4MDk0N2QwZDFiZjViNjFl
Yjg4YjU4NWZjYzg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0zOC5odG1sCkBAIC0wLDAgKzEsNTYgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVj
ZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxl
LiA8L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBk
b2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlv
biBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0
cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQor
CitmdW5jdGlvbiB0ZXN0UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdFBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2Iiwg
IjxiPjxpPkhlbGxvPC9pPjwvYj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48
Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvPC9p
PjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj48ZGl2PkhlbGxvPC9kaXY+PC9k
aXY+PC9kaXY+IiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxkaXY+PGk+
SGVsbG88L2k+PC9kaXY+PC9iPjwvZGl2PiIsICI8aSBzdHlsZT1cImZvbnQtd2VpZ2h0OiBib2xk
O1wiPkhlbGxvPC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PiIpOwordGVzdFBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT48c3BhbiBz
dHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT53b3JsZDwvaT48L2I+PC9zcGFuPjwv
aT48L2I+PC9kaXY+IiwgCisgICAgICAgICAgIjxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8x
PC9pPjwvYj48Yj48aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+
PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48
L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKK3Rlc3RQYXN0
ZSgiZGl2IiwgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPjxiPjxpIHN0eWxlPVwibWFyZ2lu
OiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+IiwKKyAgICAgICAgICAiPGkgc3R5bGU9XCJtYXJn
aW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+
PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG8gPCEt
LSBjb21tZW50IC0tPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+
SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPnBsYWluIHRleHQ8Yj48aT5ib2xk
IGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4g
c3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxp
YyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0g
Im5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMzktZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0z
OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWY4OWRjZjg4ODQ3YWFiNGI4OTJhMDA3ZDJkZTMy
YzA5Njk4MWViNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTcgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0
ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0
IGFmZmVjdGluZyB0aGUgc3R5bGUuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGkgc3R5bGU9ImZvbnQtd2Vp
Z2h0OiBib2xkOyI+SGVsbG88L2k+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxiPkhlbGxvPC9iPjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4g
c3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZu
YnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworRkFJTCBjb25maXJtZWRNYXJrdXAg
c2hvdWxkIGJlIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4gV2Fz
IDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij48Yj48aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVs
bG88L2k+PC9iPjwvaT4uCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG8mbmJz
cDt3b3JsZDwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0
eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRl
eHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTM5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTM5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzYzY2Rk
ZWE2NjMyODA5NDdkMGQxYmY1YjYxZWI4OGI1ODVmY2M4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMzkuaHRtbApA
QCAtMCwwICsxLDU2IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1M
Ly9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlv
biI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBh
c3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhv
dXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4gPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdFBhc3RlKHRhZ05hbWUsIG9yaWdp
bmFsTWFya3VwLCBleHBlY3RlZCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAg
ICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZh
bHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAg
PSBub2RlLmlubmVySFRNTDsKKworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK3Rlc3RQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8Yj48aT5IZWxsbzwvaT48L2I+IiwgIjxiPjxpPkhlbGxv
PC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJm
b250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwv
ZGl2PiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48ZGl2PjxpPkhlbGxvPC9pPjwvZGl2PjwvYj48L2Rpdj4iLCAiPGkgc3R5
bGU9XCJmb250LXdlaWdodDogYm9sZDtcIj5IZWxsbzwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwv
Yj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJm
b250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsIAorICAgICAgICAgICI8ZGl2Pjxi
PjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iKTsK
K3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDog
bm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+IGhlbGxvMjwvaT48L2I+PC9zcGFu
PjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1h
bDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFu
PjwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtc
Ij48Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIsCisgICAg
ICAgICAgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+Iik7Cit0
ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5v
cm1hbFwiPjxiPjxpPkhlbGxvIDwhLS0gY29tbWVudCAtLT53b3JsZDwvaT48L2I+PC9zcGFuPjwv
aT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPiIpOwordGVzdFBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxc
Ij5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+
PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5wbGFp
biB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5k
LXNhbml0aXplLTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLWFuZC1zYW5pdGl6ZS00LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZjg5ZGNmODg4
NDdhYWI0Yjg5MmEwMDdkMmRlMzJjMDk2OTgxZWI0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS00LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDE3IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJh
dGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9m
IHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88
L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxpIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhlbGxvPC9pPicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48Yj5IZWxsbzwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+PGI+PGk+aGVs
bG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK0ZB
SUwgY29uZmlybWVkTWFya3VwIHNob3VsZCBiZSA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVs
bG88L2k+PC9iPjwvaT4uIFdhcyA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+PGI+PGkgc3R5bGU9
Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LgorUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPnBsYWluIHRleHQ8
Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS00Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTQuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4zNjNjZGRlYTY2MzI4MDk0N2QwZDFiZjViNjFlYjg4YjU4NWZjYzg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1z
YW5pdGl6ZS00Lmh0bWwKQEAgLTAsMCArMSw1NiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0
aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2Yg
dGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuIDwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIgbm9kZSA9IGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICByb290LmFwcGVuZENo
aWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBm
YWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAg
Y29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBzaG91bGRCZSgiY29uZmly
bWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCit0ZXN0UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVsbG88L2k+PC9i
PiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvPC9pPjwvYj48
L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3Rl
KCJkaXYiLCAiPGRpdj48ZGl2PjxkaXY+SGVsbG88L2Rpdj48L2Rpdj48L2Rpdj4iLCAiSGVsbG8i
KTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxsbzwvaT48L2Rpdj48L2I+
PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88L2k+Iik7Cit0
ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGI+SGVsbG88L2I+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L3NwYW4+PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6
IG5vcm1hbFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAKKyAg
ICAgICAgICAiPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxl
PVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiBoZWxs
bzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZv
bnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxs
bzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGkgc3R5bGU9
XCJtYXJnaW46IDEwcHg7XCI+PGI+PGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+
PC9iPjwvaT4iLAorICAgICAgICAgICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwv
aT48L2I+PC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1c
ImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbyA8IS0tIGNvbW1lbnQgLS0+d29ybGQ8
L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9p
PjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250
LXdlaWdodDogbm9ybWFsXCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9i
Pjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0
OiBub3JtYWw7XCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bh
bj48L2k+PC9iPiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS00MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTQwLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5hZjg5ZGNmODg4NDdhYWI0Yjg5MmEwMDdkMmRlMzJjMDk2OTgxZWI0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5p
dGl6ZS00MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0
aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1
Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHls
ZS4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+
PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8aSBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IZWxsbzwv
aT4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGI+SGVsbG88L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6
IG5vcm1hbDsiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48
L3NwYW4+PC9pPjwvYj4nCitGQUlMIGNvbmZpcm1lZE1hcmt1cCBzaG91bGQgYmUgPGkgc3R5bGU9
Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LiBXYXMgPGkgc3R5bGU9Im1hcmdpbjog
MTBweDsiPjxiPjxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4KK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBu
b3JtYWw7Ij5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwv
aT48L2I+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQt
c2FuaXRpemUtNDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1h
bmQtc2FuaXRpemUtNDAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNjNjZGRlYTY2MzI4MDk0N2QwZDFiZjVi
NjFlYjg4YjU4NWZjYzg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS00MC5odG1sCkBAIC0wLDAgKzEsNTYgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJl
ZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0
eWxlLiA8L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwg
PSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5j
dGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUg
PSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOwor
fQorCitmdW5jdGlvbiB0ZXN0UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdFBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2
IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxc
Ij48Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxv
PC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj48ZGl2PkhlbGxvPC9kaXY+
PC9kaXY+PC9kaXY+IiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxkaXY+
PGk+SGVsbG88L2k+PC9kaXY+PC9iPjwvZGl2PiIsICI8aSBzdHlsZT1cImZvbnQtd2VpZ2h0OiBi
b2xkO1wiPkhlbGxvPC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PiIpOwordGVzdFBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT48c3Bh
biBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT53b3JsZDwvaT48L2I+PC9zcGFu
PjwvaT48L2I+PC9kaXY+IiwgCisgICAgICAgICAgIjxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVs
bG8xPC9pPjwvYj48Yj48aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAi
PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwv
aT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKK3Rlc3RQ
YXN0ZSgiZGl2IiwgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPjxiPjxpIHN0eWxlPVwibWFy
Z2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+IiwKKyAgICAgICAgICAiPGkgc3R5bGU9XCJt
YXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxk
aXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG8g
PCEtLSBjb21tZW50IC0tPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+
PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPnBsYWluIHRleHQ8Yj48aT5i
b2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNw
YW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0
YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5
ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNDEtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6
ZS00MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWY4OWRjZjg4ODQ3YWFiNGI4OTJhMDA3ZDJk
ZTMyYzA5Njk4MWViNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNDEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTcg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBw
YXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRo
b3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGkgc3R5bGU9ImZvbnQt
d2VpZ2h0OiBib2xkOyI+SGVsbG88L2k+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxiPkhlbGxvPC9iPjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNw
YW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxp
PiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworRkFJTCBjb25maXJtZWRNYXJr
dXAgc2hvdWxkIGJlIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4g
V2FzIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij48Yj48aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+
aGVsbG88L2k+PC9iPjwvaT4uCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG8m
bmJzcDt3b3JsZDwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFu
IHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGlj
IHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTQxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTQxLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzYz
Y2RkZWE2NjMyODA5NDdkMGQxYmY1YjYxZWI4OGI1ODVmY2M4NwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNDEuaHRt
bApAQCAtMCwwICsxLDU2IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBI
VE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlw
dGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhl
IHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdp
dGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4gPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdFBhc3RlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwLCBleHBlY3RlZCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisK
KyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIs
IGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJr
dXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK3Rlc3RQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8Yj48aT5IZWxsbzwvaT48L2I+IiwgIjxiPjxpPkhl
bGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9
XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9i
PjwvZGl2PiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIpOwordGVzdFBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48ZGl2PjxpPkhlbGxvPC9pPjwvZGl2PjwvYj48L2Rpdj4iLCAiPGkg
c3R5bGU9XCJmb250LXdlaWdodDogYm9sZDtcIj5IZWxsbzwvaT4iKTsKK3Rlc3RQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxs
bzwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9
XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsIAorICAgICAgICAgICI8ZGl2
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
KTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdo
dDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+IGhlbGxvMjwvaT48L2I+PC9z
cGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5v
cm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9z
cGFuPjwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8aSBzdHlsZT1cIm1hcmdpbjogMTBw
eDtcIj48Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIsCisg
ICAgICAgICAgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+Iik7
Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6
IG5vcm1hbFwiPjxiPjxpPkhlbGxvIDwhLS0gY29tbWVudCAtLT53b3JsZDwvaT48L2I+PC9zcGFu
PjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPiIpOwordGVz
dFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3Jt
YWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48
L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5w
bGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
YW5kLXNhbml0aXplLTQyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmODlk
Y2Y4ODg0N2FhYjRiODkyYTAwN2QyZGUzMmMwOTY5ODFlYjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTQyLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3Rl
IG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9z
aXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+
SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48
L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxpIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhlbGxvPC9pPicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48Yj5IZWxs
bzwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5oZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+PGI+
PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9i
PicKK0ZBSUwgY29uZmlybWVkTWFya3VwIHNob3VsZCBiZSA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4
OyI+aGVsbG88L2k+PC9iPjwvaT4uIFdhcyA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+PGI+PGkg
c3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LgorUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPnBsYWlu
IHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS00Mi5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS00
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjM2M2NkZGVhNjYzMjgwOTQ3ZDBkMWJmNWI2MWViODhiNTg1ZmNj
ODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtYW5kLXNhbml0aXplLTQyLmh0bWwKQEAgLTAsMCArMSw1NiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFz
dGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJi
b3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuIDwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIg
bm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICByb290
LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2Up
OworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBzaG91bGRC
ZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCit0ZXN0UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVs
bG88L2k+PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxv
PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwor
dGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PjxkaXY+SGVsbG88L2Rpdj48L2Rpdj48L2Rpdj4i
LCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxsbzwvaT48
L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88
L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9u
dC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rp
dj4iLCAKKyAgICAgICAgICAiPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxz
cGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxi
PjxpPiBoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBz
dHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4m
bmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAi
PGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+PGI+PGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+
aGVsbG88L2k+PC9iPjwvaT4iLAorICAgICAgICAgICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtc
Ij5oZWxsbzwvaT48L2I+PC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3Bh
biBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbyA8IS0tIGNvbW1lbnQg
LS0+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbyZuYnNw
O3dvcmxkPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5
bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRl
eHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZv
bnQtd2VpZ2h0OiBub3JtYWw7XCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+
PC9iPjwvc3Bhbj48L2k+PC9iPiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS00My1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTQzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5hZjg5ZGNmODg4NDdhYWI0Yjg5MmEwMDdkMmRlMzJjMDk2OTgxZWI0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LWFuZC1zYW5pdGl6ZS00My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNyBAQAorVGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVu
dCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5n
IHRoZSBzdHlsZS4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8aSBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7
Ij5IZWxsbzwvaT4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGI+SGVsbG88L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9u
dC13ZWlnaHQ6IG5vcm1hbDsiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8y
PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitGQUlMIGNvbmZpcm1lZE1hcmt1cCBzaG91bGQgYmUg
PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LiBXYXMgPGkgc3R5bGU9
Im1hcmdpbjogMTBweDsiPjxiPjxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+
PC9pPi4KK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9p
PjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQt
d2VpZ2h0OiBub3JtYWw7Ij5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+
PC9zcGFuPjwvaT48L2I+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS1hbmQtc2FuaXRpemUtNDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS1hbmQtc2FuaXRpemUtNDMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNjNjZGRlYTY2MzI4MDk0
N2QwZDFiZjViNjFlYjg4YjU4NWZjYzg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS00My5odG1sCkBAIC0wLDAgKzEs
NTYgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdt
ZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3Rp
bmcgdGhlIHN0eWxlLiA8L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisK
K3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsK
KworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIg
bm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50
RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVy
biBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdFBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iKTsKK3Rlc3RQ
YXN0ZSgiZGl2IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIp
OwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0
OiBub3JtYWxcIj48Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxi
PjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj48ZGl2Pkhl
bGxvPC9kaXY+PC9kaXY+PC9kaXY+IiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxkaXY+PGk+SGVsbG88L2k+PC9kaXY+PC9iPjwvZGl2PiIsICI8aSBzdHlsZT1cImZvbnQt
d2VpZ2h0OiBib2xkO1wiPkhlbGxvPC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PiIp
OwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0
OiBub3JtYWxcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgCisgICAgICAgICAgIjxkaXY+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIpOwordGVzdFBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+
PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48
L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxp
PmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4i
KTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPjxiPjxpIHN0
eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+IiwKKyAgICAgICAgICAiPGkg
c3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iKTsKK3Rlc3RQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+
PGk+SGVsbG8gPCEtLSBjb21tZW50IC0tPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rp
dj4iLCAiPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPnBsYWluIHRl
eHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAi
PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPnBsYWluIHRleHQ8Yj48
aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKKworcm9vdC5zdHls
ZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUt
NDQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFu
ZC1zYW5pdGl6ZS00NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWY4OWRjZjg4ODQ3YWFiNGI4
OTJhMDA3ZDJkZTMyYzA5Njk4MWViNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNDQtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTcgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRy
aW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1h
cmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGkgc3R5
bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SGVsbG88L2k+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxiPkhlbGxvPC9iPjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij48Yj48aT5oZWxsbzE8L2k+
PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworRkFJTCBjb25m
aXJtZWRNYXJrdXAgc2hvdWxkIGJlIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48
L2I+PC9pPi4gV2FzIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij48Yj48aSBzdHlsZT0ibWFyZ2lu
OiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+
PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxi
PjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+cGxhaW4gdGV4dDxiPjxpPmJv
bGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTQ0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTQ0Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMzYzY2RkZWE2NjMyODA5NDdkMGQxYmY1YjYxZWI4OGI1ODVmY2M4NwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRp
emUtNDQuaHRtbApAQCAtMCwwICsxLDU2IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lF
VEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlk
PSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24g
dHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUg
bWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4gPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdFBhc3RlKHRh
Z05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCkgeworICAgIHZhciBub2RlID0gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIHJvb3QuYXBwZW5kQ2hpbGQo
bm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNl
bGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25m
aXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK3Rlc3RQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iiwg
IjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNw
YW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG88L2k+PC9iPjwvc3Bh
bj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIpOwor
dGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48ZGl2PjxpPkhlbGxvPC9pPjwvZGl2PjwvYj48L2Rp
dj4iLCAiPGkgc3R5bGU9XCJmb250LXdlaWdodDogYm9sZDtcIj5IZWxsbzwvaT4iKTsKK3Rlc3RQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5I
ZWxsbzwvYj48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48Yj5IZWxsbzwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNw
YW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bh
bj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9y
bWFsXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsIAorICAgICAg
ICAgICI8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJm
b250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+IGhlbGxvMjwv
aT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13
ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwv
aT48L2I+PC9zcGFuPjwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8aSBzdHlsZT1cIm1h
cmdpbjogMTBweDtcIj48Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+
PC9pPiIsCisgICAgICAgICAgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwv
Yj48L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9u
dC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvIDwhLS0gY29tbWVudCAtLT53b3JsZDwvaT48
L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9i
PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2Vp
Z2h0OiBub3JtYWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9z
cGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5v
cm1hbDtcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwv
aT48L2I+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtYW5kLXNhbml0aXplLTQ1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmFmODlkY2Y4ODg0N2FhYjRiODkyYTAwN2QyZGUzMmMwOTY5ODFlYjQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXpl
LTQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
dGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0
aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5I
ZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxpIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhlbGxvPC9pPicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7
Ij48Yj5IZWxsbzwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9y
bWFsOyI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bh
bj48L2k+PC9iPicKK0ZBSUwgY29uZmlybWVkTWFya3VwIHNob3VsZCBiZSA8aSBzdHlsZT0ibWFy
Z2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uIFdhcyA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4
OyI+PGI+PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LgorUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1h
bDsiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwv
Yj4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5p
dGl6ZS00NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1z
YW5pdGl6ZS00NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2M2NkZGVhNjYzMjgwOTQ3ZDBkMWJmNWI2MWVi
ODhiNTg1ZmNjODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTQ1Lmh0bWwKQEAgLTAsMCArMSw1NiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNl
IHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUu
IDwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsK
KyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsK
KyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3Rl
IiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAg
ICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQor
Cit0ZXN0UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAi
PGI+PGk+SGVsbG88L2k+PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxi
PjxpPkhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG88L2k+
PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PjxkaXY+SGVsbG88L2Rpdj48L2Rp
dj48L2Rpdj4iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5I
ZWxsbzwvaT48L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7
XCI+SGVsbG88L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPjxzcGFuIHN0
eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L3NwYW4+PC9p
PjwvYj48L2Rpdj4iLCAKKyAgICAgICAgICAiPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8
L2k+PC9iPjxiPjxpPiBoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48
aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwv
Yj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOwordGVzdFBhc3Rl
KCJkaXYiLCAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+PGI+PGkgc3R5bGU9XCJtYXJnaW46
IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iLAorICAgICAgICAgICI8aSBzdHlsZT1cIm1hcmdp
bjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbyA8IS0t
IGNvbW1lbnQgLS0+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5I
ZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+
PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQg
aXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBz
dHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRhbGlj
IHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS00Ni1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTQ2
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZjg5ZGNmODg4NDdhYWI0Yjg5MmEwMDdkMmRlMzJj
MDk2OTgxZWI0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS00Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNyBAQAor
VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3Rl
ZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQg
YWZmZWN0aW5nIHRoZSBzdHlsZS4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8aSBzdHlsZT0iZm9udC13ZWln
aHQ6IGJvbGQ7Ij5IZWxsbzwvaT4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGI+SGVsbG88L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBz
dHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5i
c3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitGQUlMIGNvbmZpcm1lZE1hcmt1cCBz
aG91bGQgYmUgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LiBXYXMg
PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPjxiPjxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxs
bzwvaT48L2I+PC9pPi4KK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbyZuYnNw
O3dvcmxkPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5
bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4
dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNDYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNjNjZGRl
YTY2MzI4MDk0N2QwZDFiZjViNjFlYjg4YjU4NWZjYzg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS00Ni5odG1sCkBA
IC0wLDAgKzEsNTYgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFz
dGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91
dCBhZmZlY3RpbmcgdGhlIHN0eWxlLiA8L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxz
Y3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsK
KyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9k
ZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOwor
ICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdFBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8i
KTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iLCAiPGI+PGk+SGVsbG88
L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZv
bnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9k
aXY+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj48ZGl2PkhlbGxvPC9kaXY+PC9kaXY+PC9kaXY+IiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxkaXY+PGk+SGVsbG88L2k+PC9kaXY+PC9iPjwvZGl2PiIsICI8aSBzdHls
ZT1cImZvbnQtd2VpZ2h0OiBib2xkO1wiPkhlbGxvPC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAi
PGRpdj48ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9i
PjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZv
bnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgCisgICAgICAgICAgIjxkaXY+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIpOwor
dGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBu
b3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+
PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFs
O1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+
PC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wi
PjxiPjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+IiwKKyAgICAg
ICAgICAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iKTsKK3Rl
c3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9y
bWFsXCI+PGI+PGk+SGVsbG8gPCEtLSBjb21tZW50IC0tPndvcmxkPC9pPjwvYj48L3NwYW4+PC9p
PjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7Cit0ZXN0UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwi
PnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48
L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPnBsYWlu
IHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKKwor
cm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQt
c2FuaXRpemUtNDctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLWFuZC1zYW5pdGl6ZS00Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWY4OWRjZjg4
ODQ3YWFiNGI4OTJhMDA3ZDJkZTMyYzA5Njk4MWViNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNDctZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTcgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3Bl
cmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkg
b2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxs
bzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGkgc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SGVsbG88L2k+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxiPkhlbGxvPC9i
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij48Yj48aT5o
ZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+Jwor
RkFJTCBjb25maXJtZWRNYXJrdXAgc2hvdWxkIGJlIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5o
ZWxsbzwvaT48L2I+PC9pPi4gV2FzIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij48Yj48aSBzdHls
ZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+cGxhaW4gdGV4
dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTQ3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTQ3Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMzYzY2RkZWE2NjMyODA5NDdkMGQxYmY1YjYxZWI4OGI1ODVmY2M4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1h
bmQtc2FuaXRpemUtNDcuaHRtbApAQCAtMCwwICsxLDU2IEBACis8IURPQ1RZUEUgSFRNTCBQVUJM
SUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBv
cGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0
eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4gPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dFBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCkgeworICAgIHZhciBub2Rl
ID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIHJvb3QuYXBw
ZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29w
eSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisK
KyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK3Rlc3RQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8Yj48aT5IZWxsbzwv
aT48L2I+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+
PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG88L2k+
PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIsICJI
ZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48ZGl2PjxpPkhlbGxvPC9pPjwvZGl2
PjwvYj48L2Rpdj4iLCAiPGkgc3R5bGU9XCJmb250LXdlaWdodDogYm9sZDtcIj5IZWxsbzwvaT4i
KTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48Yj5IZWxsbzwvYj48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+
PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdl
aWdodDogbm9ybWFsXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIs
IAorICAgICAgICAgICI8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4g
c3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+
IGhlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxl
PVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNw
O2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8aSBz
dHlsZT1cIm1hcmdpbjogMTBweDtcIj48Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxs
bzwvaT48L2I+PC9pPiIsCisgICAgICAgICAgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhl
bGxvPC9pPjwvYj48L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0
eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvIDwhLS0gY29tbWVudCAtLT53
b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvJm5ic3A7d29y
bGQ8L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1c
ImZvbnQtd2VpZ2h0OiBub3JtYWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwv
aT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13
ZWlnaHQ6IG5vcm1hbDtcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+
PC9zcGFuPjwvaT48L2I+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTQ4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNDgtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmFmODlkY2Y4ODg0N2FhYjRiODkyYTAwN2QyZGUzMmMwOTY5ODFlYjQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5k
LXNhbml0aXplLTQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRv
IHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhl
IHN0eWxlLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxpIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhl
bGxvPC9pPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWdu
OiBjZW50ZXI7Ij48Yj5IZWxsbzwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdl
aWdodDogbm9ybWFsOyI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+
PC9iPjwvc3Bhbj48L2k+PC9iPicKK0ZBSUwgY29uZmlybWVkTWFya3VwIHNob3VsZCBiZSA8aSBz
dHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uIFdhcyA8aSBzdHlsZT0ibWFy
Z2luOiAxMHB4OyI+PGI+PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+
LgorUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9i
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWln
aHQ6IG5vcm1hbDsiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3Nw
YW4+PC9pPjwvYj4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LWFuZC1zYW5pdGl6ZS00OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLWFuZC1zYW5pdGl6ZS00OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2M2NkZGVhNjYzMjgwOTQ3ZDBk
MWJmNWI2MWViODhiNTg1ZmNjODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTQ4Lmh0bWwKQEAgLTAsMCArMSw1NiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQg
dG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0
aGUgc3R5bGUuIDwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFs
TWFya3VwKTsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygp
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhU
TUw7CisKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAi
JyIpOworfQorCit0ZXN0UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIpOwordGVzdFBhc3Rl
KCJkaXYiLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0
ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5v
cm1hbFwiPjxiPjxpPkhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+
SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PjxkaXY+SGVsbG88
L2Rpdj48L2Rpdj48L2Rpdj4iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+
PGRpdj48aT5IZWxsbzwvaT48L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9udC13ZWln
aHQ6IGJvbGQ7XCI+SGVsbG88L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+PC9kaXY+IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+Iik7Cit0
ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5v
cm1hbFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAKKyAgICAgICAgICAiPGRpdj48Yj48aT5oZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48
aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiBoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2
PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVs
bG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOwor
dGVzdFBhc3RlKCJkaXYiLCAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+PGI+PGkgc3R5bGU9
XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iLAorICAgICAgICAgICI8aSBzdHls
ZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIpOwordGVzdFBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5I
ZWxsbyA8IS0tIGNvbW1lbnQgLS0+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIs
ICI8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxk
aXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+cGxhaW4gdGV4dDxi
PjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48
aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+cGxhaW4gdGV4dDxiPjxpPmJv
bGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS00OS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNh
bml0aXplLTQ5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZjg5ZGNmODg4NDdhYWI0Yjg5MmEw
MDdkMmRlMzJjMDk2OTgxZWI0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS00OS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxNyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMg
dGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3Vw
IHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8aSBzdHlsZT0i
Zm9udC13ZWlnaHQ6IGJvbGQ7Ij5IZWxsbzwvaT4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGI+SGVsbG88L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48
aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPjxiPjxpPmhlbGxvMTwvaT48L2I+
PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitGQUlMIGNvbmZpcm1l
ZE1hcmt1cCBzaG91bGQgYmUgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48
L2k+LiBXYXMgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPjxiPjxpIHN0eWxlPSJtYXJnaW46IDEw
cHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4KK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5I
ZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+
PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBp
dGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNDkuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNDkuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4zNjNjZGRlYTY2MzI4MDk0N2QwZDFiZjViNjFlYjg4YjU4NWZjYzg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS00
OS5odG1sCkBAIC0wLDAgKzEsNTYgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmlt
cyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJr
dXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLiA8L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3Zh
ciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5h
cHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBt
YXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7
CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0g
bWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdFBhc3RlKCJkaXYiLCAiSGVsbG8i
LCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iLCAiPGI+
PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBz
dHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwv
aT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj48ZGl2PkhlbGxvPC9kaXY+PC9kaXY+PC9kaXY+IiwgIkhlbGxvIik7Cit0ZXN0
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxkaXY+PGk+SGVsbG88L2k+PC9kaXY+PC9iPjwvZGl2PiIs
ICI8aSBzdHlsZT1cImZvbnQtd2VpZ2h0OiBib2xkO1wiPkhlbGxvPC9pPiIpOwordGVzdFBhc3Rl
KCJkaXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxv
PC9iPjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxi
PkhlbGxvPC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBz
dHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9zcGFuPjwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgCisgICAgICAgICAg
IjxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQt
d2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4gaGVsbG8yPC9pPjwv
Yj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdo
dDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwv
Yj48L3NwYW4+PC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxpIHN0eWxlPVwibWFyZ2lu
OiAxMHB4O1wiPjxiPjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+
IiwKKyAgICAgICAgICAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwv
aT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdl
aWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG8gPCEtLSBjb21tZW50IC0tPndvcmxkPC9pPjwvYj48
L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7
Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6
IG5vcm1hbFwiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+
PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFs
O1wiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwv
Yj4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS1hbmQtc2FuaXRpemUtNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFm
ODlkY2Y4ODg0N2FhYjRiODkyYTAwN2QyZGUzMmMwOTY5ODFlYjQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTUtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTcgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFz
dGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJi
b3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48
aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9p
PjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGkgc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SGVsbG88L2k+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxiPkhl
bGxvPC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPmhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij48
Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48
L2I+JworRkFJTCBjb25maXJtZWRNYXJrdXAgc2hvdWxkIGJlIDxpIHN0eWxlPSJtYXJnaW46IDEw
cHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4gV2FzIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij48Yj48
aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+cGxh
aW4gdGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTUu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUt
NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjM2M2NkZGVhNjYzMjgwOTQ3ZDBkMWJmNWI2MWViODhiNTg1ZmNj
ODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtYW5kLXNhbml0aXplLTUuaHRtbApAQCAtMCwwICsxLDU2IEBACis8IURPQ1RZUEUgSFRNTCBQ
VUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0
ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJv
c2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4gPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdFBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCkgeworICAgIHZhciBu
b2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIHJvb3Qu
YXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
Q29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7
CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK3Rlc3RQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8Yj48aT5IZWxs
bzwvaT48L2I+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxk
aXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG88
L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0
ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIs
ICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48ZGl2PjxpPkhlbGxvPC9pPjwv
ZGl2PjwvYj48L2Rpdj4iLCAiPGkgc3R5bGU9XCJmb250LXdlaWdodDogYm9sZDtcIj5IZWxsbzwv
aT4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxk
aXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250
LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2
PiIsIAorICAgICAgICAgICI8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNw
YW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+
PGk+IGhlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0
eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZu
YnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8
aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj48Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5o
ZWxsbzwvaT48L2I+PC9pPiIsCisgICAgICAgICAgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wi
PmhlbGxvPC9pPjwvYj48L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFu
IHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvIDwhLS0gY29tbWVudCAt
LT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvJm5ic3A7
d29ybGQ8L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHls
ZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4
dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9u
dC13ZWlnaHQ6IG5vcm1hbDtcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48
L2I+PC9zcGFuPjwvaT48L2I+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTUwLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNTAtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmFmODlkY2Y4ODg0N2FhYjRiODkyYTAwN2QyZGUzMmMwOTY5ODFlYjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
YW5kLXNhbml0aXplLTUwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50
IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3Rpbmcg
dGhlIHN0eWxlLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxv
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxpIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsi
PkhlbGxvPC9pPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFs
aWduOiBjZW50ZXI7Ij48Yj5IZWxsbzwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250
LXdlaWdodDogbm9ybWFsOyI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8
L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK0ZBSUwgY29uZmlybWVkTWFya3VwIHNob3VsZCBiZSA8
aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uIFdhcyA8aSBzdHlsZT0i
bWFyZ2luOiAxMHB4OyI+PGI+PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48
L2k+LgorUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+
PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13
ZWlnaHQ6IG5vcm1hbDsiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48
L3NwYW4+PC9pPjwvYj4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLWFuZC1zYW5pdGl6ZS01MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLWFuZC1zYW5pdGl6ZS01MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2M2NkZGVhNjYzMjgwOTQ3
ZDBkMWJmNWI2MWViODhiNTg1ZmNjODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTUwLmh0bWwKQEAgLTAsMCArMSw1
NiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21l
bnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGlu
ZyB0aGUgc3R5bGUuIDwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdp
bmFsTWFya3VwKTsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1
cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5l
ckhUTUw7CisKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQg
KyAiJyIpOworfQorCit0ZXN0UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIpOwordGVzdFBh
c3RlKCJkaXYiLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7
Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6
IG5vcm1hbFwiPjxiPjxpPkhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+
PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PjxkaXY+SGVs
bG88L2Rpdj48L2Rpdj48L2Rpdj4iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+
PGI+PGRpdj48aT5IZWxsbzwvaT48L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9udC13
ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+PC9kaXY+Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+Iik7
Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6
IG5vcm1hbFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAKKyAgICAgICAgICAiPGRpdj48Yj48aT5oZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48
Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiBoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwv
ZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+
aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIp
OwordGVzdFBhc3RlKCJkaXYiLCAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+PGI+PGkgc3R5
bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iLAorICAgICAgICAgICI8aSBz
dHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIpOwordGVzdFBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48
aT5IZWxsbyA8IS0tIGNvbW1lbnQgLS0+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2
PiIsICI8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+cGxhaW4gdGV4
dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8
Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+cGxhaW4gdGV4dDxiPjxp
PmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS02
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQt
c2FuaXRpemUtNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWY4OWRjZjg4ODQ3YWFiNGI4OTJh
MDA3ZDJkZTMyYzA5Njk4MWViNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNi1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxNyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMg
dGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3Vw
IHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8aSBzdHlsZT0i
Zm9udC13ZWlnaHQ6IGJvbGQ7Ij5IZWxsbzwvaT4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGI+SGVsbG88L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48
aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPjxiPjxpPmhlbGxvMTwvaT48L2I+
PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitGQUlMIGNvbmZpcm1l
ZE1hcmt1cCBzaG91bGQgYmUgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48
L2k+LiBXYXMgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPjxiPjxpIHN0eWxlPSJtYXJnaW46IDEw
cHg7Ij5oZWxsbzwvaT48L2I+PC9pPi4KK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5I
ZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+
PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBp
dGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS02Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MzYzY2RkZWE2NjMyODA5NDdkMGQxYmY1YjYxZWI4OGI1ODVmY2M4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNi5o
dG1sCkBAIC0wLDAgKzEsNTYgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0
aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAg
d2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLiA8L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciBy
b290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBl
bmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJr
dXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7Cisg
ICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFy
a3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdFBhc3RlKCJkaXYiLCAiSGVsbG8iLCAi
SGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iLCAiPGI+PGk+
SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHls
ZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48
L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj48ZGl2PkhlbGxvPC9kaXY+PC9kaXY+PC9kaXY+IiwgIkhlbGxvIik7Cit0ZXN0UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxkaXY+PGk+SGVsbG88L2k+PC9kaXY+PC9iPjwvZGl2PiIsICI8
aSBzdHlsZT1cImZvbnQtd2VpZ2h0OiBib2xkO1wiPkhlbGxvPC9pPiIpOwordGVzdFBhc3RlKCJk
aXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9i
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhl
bGxvPC9iPjwvZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHls
ZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgCisgICAgICAgICAgIjxk
aXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2Vp
Z2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4gaGVsbG8yPC9pPjwvYj48
L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDog
bm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48
L3NwYW4+PC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxpIHN0eWxlPVwibWFyZ2luOiAx
MHB4O1wiPjxiPjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+IiwK
KyAgICAgICAgICAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4i
KTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdo
dDogbm9ybWFsXCI+PGI+PGk+SGVsbG8gPCEtLSBjb21tZW50IC0tPndvcmxkPC9pPjwvYj48L3Nw
YW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7Cit0
ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5v
cm1hbFwiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9p
PjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wi
PnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4i
KTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS1hbmQtc2FuaXRpemUtNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmODlk
Y2Y4ODg0N2FhYjRiODkyYTAwN2QyZGUzMmMwOTY5ODFlYjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTctZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTcgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUg
b3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3Np
dHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5I
ZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwv
Yj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGkgc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SGVsbG88L2k+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxiPkhlbGxv
PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPmhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij48Yj48
aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+
JworRkFJTCBjb25maXJtZWRNYXJrdXAgc2hvdWxkIGJlIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7
Ij5oZWxsbzwvaT48L2I+PC9pPi4gV2FzIDxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij48Yj48aSBz
dHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+cGxhaW4g
dGV4dDxiPjxpPmJvbGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTcuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNy5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjM2M2NkZGVhNjYzMjgwOTQ3ZDBkMWJmNWI2MWViODhiNTg1ZmNjODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
YW5kLXNhbml0aXplLTcuaHRtbApAQCAtMCwwICsxLDU2IEBACis8IURPQ1RZUEUgSFRNTCBQVUJM
SUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBv
cGVyYXRpb24gdHJpbXMgdGhlIHBhc3RlZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0
eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzdHlsZS4gPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dFBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCkgeworICAgIHZhciBub2Rl
ID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIHJvb3QuYXBw
ZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29w
eSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisK
KyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK3Rlc3RQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIsICI8Yj48aT5IZWxsbzwv
aT48L2I+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+
PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG88L2k+
PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIsICJI
ZWxsbyIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48ZGl2PjxpPkhlbGxvPC9pPjwvZGl2
PjwvYj48L2Rpdj4iLCAiPGkgc3R5bGU9XCJmb250LXdlaWdodDogYm9sZDtcIj5IZWxsbzwvaT4i
KTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48Yj5IZWxsbzwvYj48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+
PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdl
aWdodDogbm9ybWFsXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIs
IAorICAgICAgICAgICI8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4g
c3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+
IGhlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxl
PVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNw
O2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8aSBz
dHlsZT1cIm1hcmdpbjogMTBweDtcIj48Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxs
bzwvaT48L2I+PC9pPiIsCisgICAgICAgICAgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhl
bGxvPC9pPjwvYj48L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0
eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvIDwhLS0gY29tbWVudCAtLT53
b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvJm5ic3A7d29y
bGQ8L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1c
ImZvbnQtd2VpZ2h0OiBub3JtYWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwv
aT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13
ZWlnaHQ6IG5vcm1hbDtcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+
PC9zcGFuPjwvaT48L2I+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS04LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5hZjg5ZGNmODg4NDdhYWI0Yjg5MmEwMDdkMmRlMzJjMDk2OTgxZWI0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1z
YW5pdGl6ZS04LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJl
ZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0
eWxlLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxpIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhlbGxv
PC9pPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBj
ZW50ZXI7Ij48Yj5IZWxsbzwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdo
dDogbm9ybWFsOyI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9i
Pjwvc3Bhbj48L2k+PC9iPicKK0ZBSUwgY29uZmlybWVkTWFya3VwIHNob3VsZCBiZSA8aSBzdHls
ZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uIFdhcyA8aSBzdHlsZT0ibWFyZ2lu
OiAxMHB4OyI+PGI+PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+Lgor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6
IG5vcm1hbDsiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+
PC9pPjwvYj4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFu
ZC1zYW5pdGl6ZS04Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
YW5kLXNhbml0aXplLTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNjNjZGRlYTY2MzI4MDk0N2QwZDFiZjVi
NjFlYjg4YjU4NWZjYzg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS04Lmh0bWwKQEAgLTAsMCArMSw1NiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVk
dWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5
bGUuIDwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQp
IHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3Vw
KTsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBh
c3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisK
KyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOwor
fQorCit0ZXN0UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIpOwordGVzdFBhc3RlKCJkaXYi
LCAiPGI+PGk+SGVsbG88L2k+PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cit0ZXN0UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwi
PjxiPjxpPkhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG88
L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PjxkaXY+SGVsbG88L2Rpdj48
L2Rpdj48L2Rpdj4iLCAiSGVsbG8iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGRpdj48
aT5IZWxsbzwvaT48L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJv
bGQ7XCI+SGVsbG88L2k+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+Iik7Cit0ZXN0UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPjxzcGFu
IHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L3NwYW4+
PC9pPjwvYj48L2Rpdj4iLCAKKyAgICAgICAgICAiPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxs
bzE8L2k+PC9iPjxiPjxpPiBoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8
Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9p
PjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOwordGVzdFBh
c3RlKCJkaXYiLCAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+PGI+PGkgc3R5bGU9XCJtYXJn
aW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iLAorICAgICAgICAgICI8aSBzdHlsZT1cIm1h
cmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbyA8
IS0tIGNvbW1lbnQgLS0+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48
aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+
PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+cGxhaW4gdGV4dDxiPjxpPmJv
bGQgaXRhbGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3Bh
biBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+cGxhaW4gdGV4dDxiPjxpPmJvbGQgaXRh
bGljIHRleHQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS05LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUt
OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWY4OWRjZjg4ODQ3YWFiNGI4OTJhMDA3ZDJkZTMy
YzA5Njk4MWViNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNyBAQAor
VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwYXN0ZSBvcGVyYXRpb24gdHJpbXMgdGhlIHBhc3Rl
ZCBmcmFnbWVudCB0byByZWR1Y2UgdGhlIHZlcmJvc2l0eSBvZiB0aGUgbWFya3VwIHdpdGhvdXQg
YWZmZWN0aW5nIHRoZSBzdHlsZS4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8aSBzdHlsZT0iZm9udC13ZWln
aHQ6IGJvbGQ7Ij5IZWxsbzwvaT4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGI+SGVsbG88L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBz
dHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5i
c3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitGQUlMIGNvbmZpcm1lZE1hcmt1cCBz
aG91bGQgYmUgPGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LiBXYXMg
PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPjxiPjxpIHN0eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxs
bzwvaT48L2I+PC9pPi4KK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbyZuYnNw
O3dvcmxkPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5
bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4
dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS05Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzYzY2RkZWE2
NjMyODA5NDdkMGQxYmY1YjYxZWI4OGI1ODVmY2M4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtOS5odG1sCkBAIC0w
LDAgKzEsNTYgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVk
IGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBh
ZmZlY3RpbmcgdGhlIHN0eWxlLiA8L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3Jp
cHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChy
b290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAg
ICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5j
b250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAg
IHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdFBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iKTsK
K3Rlc3RQYXN0ZSgiZGl2IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iLCAiPGI+PGk+SGVsbG88L2k+
PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQt
d2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+
IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj48
ZGl2PkhlbGxvPC9kaXY+PC9kaXY+PC9kaXY+IiwgIkhlbGxvIik7Cit0ZXN0UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxkaXY+PGk+SGVsbG88L2k+PC9kaXY+PC9iPjwvZGl2PiIsICI8aSBzdHlsZT1c
ImZvbnQtd2VpZ2h0OiBib2xkO1wiPkhlbGxvPC9pPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRp
dj48ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwv
ZGl2PiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQt
d2VpZ2h0OiBub3JtYWxcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgCisgICAgICAgICAgIjxkaXY+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIpOwordGVz
dFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3Jt
YWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+PC9p
PjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wi
PjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9p
PjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPjxi
PjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+IiwKKyAgICAgICAg
ICAiPGkgc3R5bGU9XCJtYXJnaW46IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iKTsKK3Rlc3RQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFs
XCI+PGI+PGk+SGVsbG8gPCEtLSBjb21tZW50IC0tPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwv
Yj48L2Rpdj4iLCAiPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7Cit0ZXN0UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPnBs
YWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rp
dj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPnBsYWluIHRl
eHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKKworcm9v
dC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2Fu
aXRpemUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2Fu
aXRpemUuaHRtbAppbmRleCAzNjNjZGRlYTY2MzI4MDk0N2QwZDFiZjViNjFlYjg4YjU4NWZjYzg3
Li5kNmZlZTkyOWNmNzc0MWFiODE1MTdkMWEwYjc1ZDg3OWZlYzEzYjVhIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS5odG1s
CkBAIC0yLDYgKzIsNyBAQAogPGh0bWw+CiA8aGVhZD4KIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHk+CiA8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1z
IHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1
cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuIDwvcD4KQEAgLTIwLDM2ICsyMSw0NiBAQCBm
dW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKICAgICByZXR1cm4gbm9k
ZTsKIH0KIAotZnVuY3Rpb24gdGVzdFBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBl
Y3RlZCkgeworYXN5bmMgZnVuY3Rpb24gdGVzdFBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3Vw
LCBleHBlY3RlZCkgewogICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXApOwogICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CiAKICAgICBub2RlLmZv
Y3VzKCk7CiAgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKICAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBhd2FpdCBVSUhlbHBl
ci5lbnN1cmVQcmVzZW50YXRpb25VcGRhdGUoKTsKKwogICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKyAgICBhd2FpdCBVSUhlbHBlci5lbnN1cmVQcmVzZW50YXRpb25V
cGRhdGUoKTsKIAogICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwogCiAgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKIH0KIAot
dGVzdFBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iKTsKLXRlc3RQYXN0ZSgiZGl2IiwgIjxi
PjxpPkhlbGxvPC9pPjwvYj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwotdGVzdFBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48
aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvPC9pPjwv
Yj4iKTsKLXRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj48ZGl2PkhlbGxvPC9kaXY+PC9kaXY+
PC9kaXY+IiwgIkhlbGxvIik7Ci10ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxkaXY+PGk+SGVs
bG88L2k+PC9kaXY+PC9iPjwvZGl2PiIsICI8aSBzdHlsZT1cImZvbnQtd2VpZ2h0OiBib2xkO1wi
PkhlbGxvPC9pPiIpOwotdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PiIpOwotdGVzdFBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT48c3BhbiBzdHls
ZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT53b3JsZDwvaT48L2I+PC9zcGFuPjwvaT48
L2I+PC9kaXY+IiwgCi0gICAgICAgICAgIjxkaXY+PGI+PGk+aGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIpOwotdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9p
PjwvYj48Yj48aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+
PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+
PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKLXRlc3RQYXN0ZSgi
ZGl2IiwgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPjxiPjxpIHN0eWxlPVwibWFyZ2luOiAx
MHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+IiwKLSAgICAgICAgICAiPGkgc3R5bGU9XCJtYXJnaW46
IDEwcHg7XCI+aGVsbG88L2k+PC9iPjwvaT4iKTsKLXRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+
PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG8gPCEtLSBj
b21tZW50IC0tPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVs
bG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7Ci10ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxz
cGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0
YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5
bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0
ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKLQotcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5v
bmUiOworanNUZXN0SXNBc3luYyA9IHRydWU7CisKK2FzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7
CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iKTsKKyAgICBhd2Fp
dCB0ZXN0UGFzdGUoImRpdiIsICI8Yj48aT5IZWxsbzwvaT48L2I+IiwgIjxiPjxpPkhlbGxvPC9p
PjwvYj4iKTsKKyAgICBhd2FpdCB0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0
eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvPC9pPjwvYj48L3NwYW4+PC9p
PjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOworICAgIGF3YWl0IHRlc3RQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj48ZGl2PkhlbGxvPC9kaXY+PC9kaXY+PC9kaXY+IiwgIkhlbGxv
Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48ZGl2PjxpPkhlbGxvPC9p
PjwvZGl2PjwvYj48L2Rpdj4iLCAiPGkgc3R5bGU9XCJmb250LXdlaWdodDogYm9sZDtcIj5IZWxs
bzwvaT4iKTsKKyAgICBhd2FpdCB0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+Iik7CisgICAgYXdh
aXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0
OiBub3JtYWxcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgCisgICAgICAgICAgICAgICI8ZGl2PjxiPjxpPmhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iKTsKKyAgICBh
d2FpdCB0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWln
aHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiBoZWxsbzI8L2k+PC9iPjwv
c3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBu
b3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwv
c3Bhbj48L2k+PC9iPiIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxpIHN0eWxlPVwi
bWFyZ2luOiAxMHB4O1wiPjxiPjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwv
Yj48L2k+IiwKKyAgICAgICAgICAgICAgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxv
PC9pPjwvYj48L2k+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48
c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbyA8IS0tIGNvbW1l
bnQgLS0+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbyZu
YnNwO3dvcmxkPC9pPjwvYj4iKTsKKyAgICBhd2FpdCB0ZXN0UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPnBsYWluIHRleHQ8Yj48aT5i
b2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNw
YW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0
YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKKworICAgIHJvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworICAgIGZpbmlzaEpTVGVzdCgpOworfQogCithZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CiA8L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KIDwvYm9keT4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>381565</attachid>
            <date>2019-10-22 10:53:27 -0700</date>
            <delta_ts>2019-10-22 14:47:02 -0700</delta_ts>
            <desc>Let&apos;s (actually) see if this fixes the test?</desc>
            <filename>bug-203199-20191022105326.patch</filename>
            <type>text/plain</type>
            <size>256228</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUxNDI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzk4Y2YyNGVlN2U3NGQ3
ODUyMDBiMmIwM2YwMzkxNGVkYWQ3MDg0OC4uM2RkZGQ2NjRlYjE1ODJiYzhjMDJjY2NkYWNhMGFh
NTEwYzQzYWQ3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE5LTEwLTIxICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUuaHRtbCBpcyBhIGZsYWt5IGZhaWx1cmUKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMzE5OQorICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vNTM1NTE3MzY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgSnVzdCBhbiBleHBlcmltZW50OyBvYnZpb3VzbHkgbm90IGlu
dGVuZGVkIGZvciByZXZpZXcuCisKKyAgICAgICAgKiBlZGl0aW5nL0VkaXRvci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpyZXByKToKKyAgICAgICAgKFdlYkNvcmU6OnN0cmluZyk6CisgICAgICAg
IChXZWJDb3JlOjpFZGl0b3I6OmhhbmRsZVRleHRFdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpF
ZGl0b3I6OnBhc3RlKToKKyAgICAgICAgKiBlZGl0aW5nL1JlcGxhY2VTZWxlY3Rpb25Db21tYW5k
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlcGxhY2VTZWxlY3Rpb25Db21tYW5kOjpkb0FwcGx5
KToKKwogMjAxOS0xMC0yMiAgRGlyayBTY2h1bHplICA8a3JpdEB3ZWJraXQub3JnPgogCiAgICAg
ICAgIFNWRzI6IFVzZSBET01NYXRyaXgyREluaXQgZm9yIHNldE1hdHJpeCBhbmQgY3JlYXRlU1ZH
VHJhbnNmb3JtRnJvbU1hdHJpeApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9F
ZGl0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwCmluZGV4IGU4YjI0
MzYwNTE1MThkYTMzODFkMmY1NzU3ZmE2MTg2ZTY4NTNhN2QuLjIxNTY5NzQ1Njk5NjJjMmFmMzE5
OGRiZmI2NTcwNjQxNzY3YmE4MzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
RWRpdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAKQEAgLTE0
MDQsNyArMTQwNCw5IEBAIHZvaWQgRWRpdG9yOjpwZXJmb3JtQ3V0T3JDb3B5KEVkaXRvckFjdGlv
blNwZWNpZmllciBhY3Rpb24pCiAjZW5kaWYKICAgICAgICAgfSBlbHNlIHsKICNpZiAhUExBVEZP
Uk0oV0lOKQorICAgICAgICAgICAgV1RGTG9nQWx3YXlzKCI8V0s+OiA+Pj4gV3JpdGluZyBzZWxl
Y3Rpb24gdG8gcGFzdGVib2FyZCEiKTsKICAgICAgICAgICAgIHdyaXRlU2VsZWN0aW9uVG9QYXN0
ZWJvYXJkKCpQYXN0ZWJvYXJkOjpjcmVhdGVGb3JDb3B5QW5kUGFzdGUoKSk7CisgICAgICAgICAg
ICBXVEZMb2dBbHdheXMoIjxXSz46IDw8PCBkb25lIHdyaXRpbmcgc2VsZWN0aW9uIHRvIHBhc3Rl
Ym9hcmQuIik7CiAjZWxzZQogICAgICAgICAgICAgLy8gRklYTUU6IERlbGV0ZSBhZnRlciA8aHR0
cDovL3dlYmtpdC5vcmcvYi8xNzc2MTg+IGxhbmRzLgogICAgICAgICAgICAgUGFzdGVib2FyZDo6
Y3JlYXRlRm9yQ29weUFuZFBhc3RlKCktPndyaXRlU2VsZWN0aW9uKCpzZWxlY3Rpb24sIGNhblNt
YXJ0Q29weU9yRGVsZXRlKCksIG1fZnJhbWUsIEluY2x1ZGVJbWFnZUFsdFRleHRGb3JEYXRhVHJh
bnNmZXIpOwpAQCAtMTQyOCw4ICsxNDMwLDE1IEBAIHZvaWQgRWRpdG9yOjpwYXN0ZSgpCiAgICAg
cGFzdGUoKlBhc3RlYm9hcmQ6OmNyZWF0ZUZvckNvcHlBbmRQYXN0ZSgpKTsKIH0KIAorI2lmICFQ
TEFURk9STShJT1NfRkFNSUxZKQorc3RhdGljX2Fzc2VydChmYWxzZSwgIkkganVzdCB3YW50IHJl
c3VsdHMgZnJvbSBpT1MgYm90cywgc28gZmFpbCBlYXJseSBoZXJlIGZvciBub24taU9TLiIpOwor
I2VuZGlmCisKIHZvaWQgRWRpdG9yOjpwYXN0ZShQYXN0ZWJvYXJkJiBwYXN0ZWJvYXJkKQogewor
ICAgIGlmIChtX2ZyYW1lLmRvY3VtZW50KCkpCisgICAgICAgIFdURkxvZ0Fsd2F5cygiPFdLPjog
QXR0ZW1wdGluZyB0byBwYXN0ZSAoJXMpIiwgbV9mcmFtZS5kb2N1bWVudCgpLT51cmwoKS5sYXN0
UGF0aENvbXBvbmVudCgpLnV0ZjgoKS5kYXRhKCkpOworCiAgICAgaWYgKCFkaXNwYXRjaENsaXBi
b2FyZEV2ZW50KGZpbmRFdmVudFRhcmdldEZyb21TZWxlY3Rpb24oKSwgQ2xpcGJvYXJkRXZlbnRL
aW5kOjpQYXN0ZSkpCiAgICAgICAgIHJldHVybjsgLy8gREhUTUwgZGlkIHRoZSB3aG9sZSBvcGVy
YXRpb24KICAgICBpZiAoIWNhblBhc3RlKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9pb3MvUGFzdGVib2FyZElPUy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lv
cy9QYXN0ZWJvYXJkSU9TLm1tCmluZGV4IDU1ZGM3MzNmNjFlMjNkMDg1NzdhZTgxOTJlM2MzYWYz
ZDk2MTFhODIuLjI5NGU3YWVhNTg2MWE3ZTYzNzI1M2NkYmMzNGFmMWQyMzFlZjE3N2UgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9QYXN0ZWJvYXJkSU9TLm1tCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9QYXN0ZWJvYXJkSU9TLm1tCkBAIC0zMjgsMTcg
KzMyOCwyNyBAQCB2b2lkIFBhc3RlYm9hcmQ6OnJlYWQoUGFzdGVib2FyZFdlYkNvbnRlbnRSZWFk
ZXImIHJlYWRlciwgV2ViQ29udGVudFJlYWRpbmdQb2xpYwogICAgICAgICB9CiAjZW5kaWYKIAor
ICAgICAgICBOU0xvZyhAIjxXSz46IFRyeWluZyAldHUgdHlwZShzKSIsIHR5cGVzLmNvdW50KTsK
KwogICAgICAgICBmb3IgKGludCB0eXBlSW5kZXggPSAwOyB0eXBlSW5kZXggPCBudW1iZXJPZlR5
cGVzOyB0eXBlSW5kZXgrKykgewogICAgICAgICAgICAgTlNTdHJpbmcgKnR5cGUgPSBbdHlwZXMg
b2JqZWN0QXRJbmRleDp0eXBlSW5kZXhdOwotICAgICAgICAgICAgaWYgKCFpc1R5cGVBbGxvd2Vk
QnlSZWFkaW5nUG9saWN5KHR5cGUsIHBvbGljeSkpCisgICAgICAgICAgICBpZiAoIWlzVHlwZUFs
bG93ZWRCeVJlYWRpbmdQb2xpY3kodHlwZSwgcG9saWN5KSkgeworICAgICAgICAgICAgICAgIE5T
TG9nKEAiPFdLPjogTm90IGFsbG93ZWQgdG8gcmVhZCAlQCIsIHR5cGUpOwogICAgICAgICAgICAg
ICAgIGNvbnRpbnVlOworICAgICAgICAgICAgfQogCiAgICAgICAgICAgICBhdXRvIGl0ZW1SZXN1
bHQgPSByZWFkUGFzdGVib2FyZFdlYkNvbnRlbnREYXRhRm9yVHlwZShyZWFkZXIsIHN0cmF0ZWd5
LCB0eXBlLCAqaW5mbywgaSk7Ci0gICAgICAgICAgICBpZiAoaXRlbVJlc3VsdCA9PSBSZWFkZXJS
ZXN1bHQ6OlBhc3RlYm9hcmRXYXNDaGFuZ2VkRXh0ZXJuYWxseSkKKyAgICAgICAgICAgIGlmIChp
dGVtUmVzdWx0ID09IFJlYWRlclJlc3VsdDo6UGFzdGVib2FyZFdhc0NoYW5nZWRFeHRlcm5hbGx5
KSB7CisgICAgICAgICAgICAgICAgTlNMb2coQCI8V0s+OiAqKiogQ0hBTkdFQ09VTlQgQ0hBTkdF
RCBFWFRFUk5BTExZICoqKiIpOwogICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAg
IH0KIAotICAgICAgICAgICAgaWYgKGl0ZW1SZXN1bHQgPT0gUmVhZGVyUmVzdWx0OjpSZWFkVHlw
ZSkKKyAgICAgICAgICAgIGlmIChpdGVtUmVzdWx0ID09IFJlYWRlclJlc3VsdDo6UmVhZFR5cGUp
IHsKKyAgICAgICAgICAgICAgICBOU0xvZyhAIjxXSz46IFN1Y2Nlc3NmdWxseSByZWFkIHR5cGU6
ICVAIiwgdHlwZSk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisKKyAg
ICAgICAgICAgIE5TTG9nKEAiPFdLPjogU2tpcHBlZCB0eXBlOiAlQCIsIHR5cGUpOwogICAgICAg
ICB9CiAgICAgfQogfQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdl
TG9nCmluZGV4IDAyYTY5ZTYyNGEzZTA4NzRhODkxZGVmOWQzY2RlOTBiZGVjZTY5NzUuLjA5MzU2
MGM1YTk2NTAwYzY2YzJkNWUzNGFlNTNlODQyNzVkYzMxMWYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0No
YW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxOS0xMC0y
MiAgQ2FybG9zIEFsYmVydG8gTG9wZXogUGVyZXogIDxjbG9wZXpAaWdhbGlhLmNvbT4KKworICAg
ICAgICBBZGQgYSBzY3JpcHQgdG8gcnVuIEltYWdlRGlmZiBtYW51YWxseQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAzMjI2CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgQWRyaWFuIFBlcmV6IGRlIENhc3Ryby4KKworICAgICAgICBUaGlzIGFsbG93cyB0
byBtYW51YWxseSBydW4gdGhlIEltYWdlRGlmZiB0b29sIG1vcmUgZWFzaWx5LCB0aGF0CisgICAg
ICAgIGlzIHNvbWV0aW1lcyB1c2VmdWwgd2hlbiBkZWJ1Z2dpbmcgcHJvYmxlbXMgd2l0aCBpdC4K
KworICAgICAgICAqIFNjcmlwdHMvcnVuLWltYWdlZGlmZjogQWRkZWQuCisKIDIwMTktMTAtMjEg
IFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAgICAgICBbSlNDXSBUaHJl
YWQgSlNHbG9iYWxPYmplY3QqIGluc3RlYWQgb2YgRXhlY1N0YXRlKgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDdiYWE2ZDE5
OTQ4MDRhYTg3NDc3ZTQ3YjczY2I0YTg2NGMyZjk3YWMuLmNhNzAwMTdiMDEyNmNiZGM4ZDBiNmVh
YTE5ZTM3YzFiNTUxMTVmYWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxOS0xMC0yMSAgV2Vu
c29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAgICAgICBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLmh0bWwgaXMgYSBmbGFreSBmYWlsdXJlCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDMxOTkKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzUzNTUxNzM2PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEp1c3QgYW4gZXhwZXJpbWVudDsgb2J2aW91c2x5IG5vdCBp
bnRlbmRlZCBmb3IgcmV2aWV3LgorCiAyMDE5LTEwLTIyICBEaXJrIFNjaHVsemUgIDxrcml0QHdl
YmtpdC5vcmc+CiAKICAgICAgICAgU1ZHMjogVXNlIERPTU1hdHJpeDJESW5pdCBmb3Igc2V0TWF0
cml4IGFuZCBjcmVhdGVTVkdUcmFuc2Zvcm1Gcm9tTWF0cml4CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTEtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0xLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZjg5ZGNmODg4NDdhYWI0Yjg5MmEwMDdkMmRlMzJjMDk2
OTgxZWI0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLWFuZC1zYW5pdGl6ZS0xLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZy
YWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZl
Y3RpbmcgdGhlIHN0eWxlLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxpIHN0eWxlPSJmb250LXdlaWdodDog
Ym9sZDsiPkhlbGxvPC9pPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0
ZXh0LWFsaWduOiBjZW50ZXI7Ij48Yj5IZWxsbzwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxl
PSJmb250LXdlaWdodDogbm9ybWFsOyI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDto
ZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK0ZBSUwgY29uZmlybWVkTWFya3VwIHNob3Vs
ZCBiZSA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uIFdhcyA8aSBz
dHlsZT0ibWFyZ2luOiAxMHB4OyI+PGI+PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9p
PjwvYj48L2k+LgorUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvJm5ic3A7d29y
bGQ8L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0i
Zm9udC13ZWlnaHQ6IG5vcm1hbDsiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9p
PjwvYj48L3NwYW4+PC9pPjwvYj4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0xLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kNmZlZTkyOWNmNzc0
MWFiODE1MTdkMWEwYjc1ZDg3OWZlYzEzYjVhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0xLmh0bWwKQEAgLTAsMCAr
MSw2NyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21l
bnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGlu
ZyB0aGUgc3R5bGUuIDwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2FzeW5jIGZ1bmN0aW9uIHRlc3RQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG9yaWdpbmFsTWFya3VwKTsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9k
ZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgYXdhaXQgVUlI
ZWxwZXIuZW5zdXJlUHJlc2VudGF0aW9uVXBkYXRlKCk7CisKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiUGFzdGUiLCBmYWxzZSk7CisgICAgYXdhaXQgVUlIZWxwZXIuZW5zdXJlUHJlc2VudGF0
aW9uVXBkYXRlKCk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCithc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7CisgICAgYXdhaXQg
dGVzdFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48
L2I+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHls
ZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48
L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKKyAgICBhd2FpdCB0ZXN0UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIp
OworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxsbzwvaT48
L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88
L2k+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PiIpOworICAgIGF3YWl0
IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDog
bm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+d29ybGQ8L2k+PC9i
Pjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsIAorICAgICAgICAgICAgICAiPGRpdj48Yj48aT5oZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7CisgICAgYXdh
aXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0
OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4gaGVsbG8yPC9pPjwvYj48L3Nw
YW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9y
bWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3Nw
YW4+PC9pPjwvYj4iKTsKKyAgICBhd2FpdCB0ZXN0UGFzdGUoImRpdiIsICI8aSBzdHlsZT1cIm1h
cmdpbjogMTBweDtcIj48Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+
PC9pPiIsCisgICAgICAgICAgICAgICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwv
aT48L2I+PC9pPiIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNw
YW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG8gPCEtLSBjb21tZW50
IC0tPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG8mbmJz
cDt3b3JsZDwvaT48L2I+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9s
ZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFu
IHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFs
aWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7CisKKyAgICByb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30KKworYWRkRXZlbnRMaXN0ZW5l
cigibG9hZCIsIHJ1blRlc3QpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTEw
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQt
c2FuaXRpemUtMTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmODlkY2Y4ODg0N2FhYjRiODky
YTAwN2QyZGUzMmMwOTY5ODFlYjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTEwLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDE3IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmlt
cyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJr
dXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxpIHN0eWxl
PSJmb250LXdlaWdodDogYm9sZDsiPkhlbGxvPC9pPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48Yj5IZWxsbzwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxi
PjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+PGI+PGk+aGVsbG8xPC9pPjwv
Yj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK0ZBSUwgY29uZmly
bWVkTWFya3VwIHNob3VsZCBiZSA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9i
PjwvaT4uIFdhcyA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+PGI+PGkgc3R5bGU9Im1hcmdpbjog
MTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LgorUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxp
PkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48
aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPnBsYWluIHRleHQ8Yj48aT5ib2xk
IGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0xMC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0xMC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmQ2ZmVlOTI5Y2Y3NzQxYWI4MTUxN2QxYTBiNzVkODc5ZmVjMTNiNWEKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXpl
LTEwLmh0bWwKQEAgLTAsMCArMSw2NyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1z
IHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1
cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuIDwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2FzeW5jIGZ1bmN0aW9uIHRlc3RQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICByb290LmFwcGVuZENoaWxk
KG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJT
ZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxz
ZSk7CisgICAgYXdhaXQgVUlIZWxwZXIuZW5zdXJlUHJlc2VudGF0aW9uVXBkYXRlKCk7CisKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisgICAgYXdhaXQgVUlIZWxw
ZXIuZW5zdXJlUHJlc2VudGF0aW9uVXBkYXRlKCk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBu
b2RlLmlubmVySFRNTDsKKworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCithc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIs
ICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbzwv
aT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKKyAg
ICBhd2FpdCB0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2
PjwvZGl2PiIsICJIZWxsbyIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+
PGRpdj48aT5IZWxsbzwvaT48L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9udC13ZWln
aHQ6IGJvbGQ7XCI+SGVsbG88L2k+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRp
dj48ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwv
ZGl2PiIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5
bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsIAorICAgICAgICAgICAg
ICAiPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBz
dHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4g
aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9
XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7
aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKKyAgICBhd2FpdCB0ZXN0UGFzdGUoImRp
diIsICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj48Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBw
eDtcIj5oZWxsbzwvaT48L2I+PC9pPiIsCisgICAgICAgICAgICAgICI8aSBzdHlsZT1cIm1hcmdp
bjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2
IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+
SGVsbG8gPCEtLSBjb21tZW50IC0tPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4i
LCAiPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7CisgICAgYXdhaXQgdGVzdFBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj5w
bGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9k
aXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5wbGFpbiB0
ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7CisKKyAg
ICByb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30K
KworYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtYW5kLXNhbml0aXplLTExLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFm
ODlkY2Y4ODg0N2FhYjRiODkyYTAwN2QyZGUzMmMwOTY5ODFlYjQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTExLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBh
c3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVy
Ym9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+
PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwv
aT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxpIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhlbGxvPC9pPicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48Yj5I
ZWxsbzwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5oZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+
PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+
PC9iPicKK0ZBSUwgY29uZmlybWVkTWFya3VwIHNob3VsZCBiZSA8aSBzdHlsZT0ibWFyZ2luOiAx
MHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uIFdhcyA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+PGI+
PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LgorUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPnBs
YWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0x
MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6
ZS0xMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ2ZmVlOTI5Y2Y3NzQxYWI4MTUxN2QxYTBiNzVkODc5ZmVj
MTNiNWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtYW5kLXNhbml0aXplLTExLmh0bWwKQEAgLTAsMCArMSw2NyBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFz
dGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJi
b3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuIDwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2FzeW5jIGZ1
bmN0aW9uIHRlc3RQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsKKyAg
ICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAg
ICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgYXdhaXQgVUlIZWxwZXIuZW5zdXJlUHJlc2VudGF0
aW9uVXBkYXRlKCk7CisKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7
CisgICAgYXdhaXQgVUlIZWxwZXIuZW5zdXJlUHJlc2VudGF0aW9uVXBkYXRlKCk7CisKKyAgICBj
b25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2pzVGVzdElzQXN5bmMgPSB0
cnVlOworCithc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgIGF3YWl0IHRlc3RQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGI+
PGk+SGVsbG88L2k+PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7CisgICAgYXdhaXQgdGVz
dFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3Jt
YWxcIj48Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhl
bGxvPC9pPjwvYj4iKTsKKyAgICBhd2FpdCB0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIpOworICAgIGF3YWl0IHRlc3RQYXN0
ZSgiZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxsbzwvaT48L2Rpdj48L2I+PC9kaXY+IiwgIjxp
IHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88L2k+Iik7CisgICAgYXdhaXQgdGVz
dFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxi
PkhlbGxvPC9iPjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxiPkhlbGxvPC9iPjwvZGl2PiIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxk
aXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250
LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2
PiIsIAorICAgICAgICAgICAgICAiPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVs
bG8xPC9pPjwvYj48Yj48aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAi
PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwv
aT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKKyAgICBh
d2FpdCB0ZXN0UGFzdGUoImRpdiIsICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj48Yj48aSBz
dHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIsCisgICAgICAgICAgICAg
ICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIpOworICAgIGF3
YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdo
dDogbm9ybWFsXCI+PGI+PGk+SGVsbG8gPCEtLSBjb21tZW50IC0tPndvcmxkPC9pPjwvYj48L3Nw
YW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7Cisg
ICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQt
d2VpZ2h0OiBub3JtYWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+
PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6
IG5vcm1hbDtcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFu
PjwvaT48L2I+Iik7CisKKyAgICByb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKyAgICBm
aW5pc2hKU1Rlc3QoKTsKK30KKworYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTEyLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMTItZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmFmODlkY2Y4ODg0N2FhYjRiODkyYTAwN2QyZGUzMmMwOTY5ODFlYjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
YW5kLXNhbml0aXplLTEyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50
IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3Rpbmcg
dGhlIHN0eWxlLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxv
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxpIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsi
PkhlbGxvPC9pPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFs
aWduOiBjZW50ZXI7Ij48Yj5IZWxsbzwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250
LXdlaWdodDogbm9ybWFsOyI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8
L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK0ZBSUwgY29uZmlybWVkTWFya3VwIHNob3VsZCBiZSA8
aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uIFdhcyA8aSBzdHlsZT0i
bWFyZ2luOiAxMHB4OyI+PGI+PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48
L2k+LgorUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+
PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13
ZWlnaHQ6IG5vcm1hbDsiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48
L3NwYW4+PC9pPjwvYj4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLWFuZC1zYW5pdGl6ZS0xMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLWFuZC1zYW5pdGl6ZS0xMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ2ZmVlOTI5Y2Y3NzQxYWI4
MTUxN2QxYTBiNzVkODc5ZmVjMTNiNWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTEyLmh0bWwKQEAgLTAsMCArMSw2
NyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQg
dG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0
aGUgc3R5bGUuIDwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2FzeW5jIGZ1bmN0aW9uIHRlc3RQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwKTsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5m
b2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgYXdhaXQgVUlIZWxw
ZXIuZW5zdXJlUHJlc2VudGF0aW9uVXBkYXRlKCk7CisKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiUGFzdGUiLCBmYWxzZSk7CisgICAgYXdhaXQgVUlIZWxwZXIuZW5zdXJlUHJlc2VudGF0aW9u
VXBkYXRlKCk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2pzVGVzdElzQXN5bmMgPSB0cnVlOworCithc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
IGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7CisgICAgYXdhaXQgdGVz
dFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48L2I+
Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1c
ImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+
PC9kaXY+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKKyAgICBhd2FpdCB0ZXN0UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIpOwor
ICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxsbzwvaT48L2Rp
dj48L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88L2k+
Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PiIpOworICAgIGF3YWl0IHRl
c3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9y
bWFsXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
c3Bhbj48L2k+PC9iPjwvZGl2PiIsIAorICAgICAgICAgICAgICAiPGRpdj48Yj48aT5oZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7CisgICAgYXdhaXQg
dGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBu
b3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+
PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFs
O1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+
PC9pPjwvYj4iKTsKKyAgICBhd2FpdCB0ZXN0UGFzdGUoImRpdiIsICI8aSBzdHlsZT1cIm1hcmdp
bjogMTBweDtcIj48Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9p
PiIsCisgICAgICAgICAgICAgICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48
L2I+PC9pPiIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4g
c3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG8gPCEtLSBjb21tZW50IC0t
PndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG8mbmJzcDt3
b3JsZDwvaT48L2I+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48
c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBp
dGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0
eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMg
dGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7CisKKyAgICByb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30KKworYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTEzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2Fu
aXRpemUtMTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmODlkY2Y4ODg0N2FhYjRiODkyYTAw
N2QyZGUzMmMwOTY5ODFlYjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTEzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDE3IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0
aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAg
d2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxpIHN0eWxlPSJm
b250LXdlaWdodDogYm9sZDsiPkhlbGxvPC9pPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48Yj5IZWxsbzwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxp
PjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+PGI+PGk+aGVsbG8xPC9pPjwvYj48
Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK0ZBSUwgY29uZmlybWVk
TWFya3VwIHNob3VsZCBiZSA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwv
aT4uIFdhcyA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+PGI+PGkgc3R5bGU9Im1hcmdpbjogMTBw
eDsiPmhlbGxvPC9pPjwvYj48L2k+LgorUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhl
bGxvJm5ic3A7d29ybGQ8L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48
c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0
YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0xMy5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0xMy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmQ2ZmVlOTI5Y2Y3NzQxYWI4MTUxN2QxYTBiNzVkODc5ZmVjMTNiNWEKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTEz
Lmh0bWwKQEAgLTAsMCArMSw2NyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRo
ZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3
aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuIDwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2FzeW5jIGZ1bmN0aW9uIHRlc3RQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICByb290LmFwcGVuZENoaWxkKG5v
ZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxl
Y3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7
CisgICAgYXdhaXQgVUlIZWxwZXIuZW5zdXJlUHJlc2VudGF0aW9uVXBkYXRlKCk7CisKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisgICAgYXdhaXQgVUlIZWxwZXIu
ZW5zdXJlUHJlc2VudGF0aW9uVXBkYXRlKCk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2Rl
LmlubmVySFRNTDsKKworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCithc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIsICI8
Yj48aT5IZWxsbzwvaT48L2I+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbzwvaT48
L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKKyAgICBh
d2FpdCB0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2Pjwv
ZGl2PiIsICJIZWxsbyIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGRp
dj48aT5IZWxsbzwvaT48L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9udC13ZWlnaHQ6
IGJvbGQ7XCI+SGVsbG88L2k+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2
PiIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9
XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsIAorICAgICAgICAgICAgICAi
PGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHls
ZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4gaGVs
bG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJm
b250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVs
bG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKKyAgICBhd2FpdCB0ZXN0UGFzdGUoImRpdiIs
ICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj48Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBweDtc
Ij5oZWxsbzwvaT48L2I+PC9pPiIsCisgICAgICAgICAgICAgICI8aSBzdHlsZT1cIm1hcmdpbjog
MTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVs
bG8gPCEtLSBjb21tZW50IC0tPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAi
PGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj5wbGFp
biB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+
IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5wbGFpbiB0ZXh0
PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7CisKKyAgICBy
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30KKwor
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
YW5kLXNhbml0aXplLTE0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmODlk
Y2Y4ODg0N2FhYjRiODkyYTAwN2QyZGUzMmMwOTY5ODFlYjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTE0LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3Rl
IG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9z
aXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+
SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48
L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxpIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhlbGxvPC9pPicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48Yj5IZWxs
bzwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5oZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+PGI+
PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9i
PicKK0ZBSUwgY29uZmlybWVkTWFya3VwIHNob3VsZCBiZSA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4
OyI+aGVsbG88L2k+PC9iPjwvaT4uIFdhcyA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+PGI+PGkg
c3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LgorUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPnBsYWlu
IHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0xNC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0x
NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmQ2ZmVlOTI5Y2Y3NzQxYWI4MTUxN2QxYTBiNzVkODc5ZmVjMTNi
NWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtYW5kLXNhbml0aXplLTE0Lmh0bWwKQEAgLTAsMCArMSw2NyBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUg
b3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3Np
dHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuIDwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2FzeW5jIGZ1bmN0
aW9uIHRlc3RQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsKKyAgICB2
YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBy
b290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIkNvcHkiLCBmYWxzZSk7CisgICAgYXdhaXQgVUlIZWxwZXIuZW5zdXJlUHJlc2VudGF0aW9u
VXBkYXRlKCk7CisKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7Cisg
ICAgYXdhaXQgVUlIZWxwZXIuZW5zdXJlUHJlc2VudGF0aW9uVXBkYXRlKCk7CisKKyAgICBjb25m
aXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2pzVGVzdElzQXN5bmMgPSB0cnVl
OworCithc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGI+PGk+
SGVsbG88L2k+PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7CisgICAgYXdhaXQgdGVzdFBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxc
Ij48Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxv
PC9pPjwvYj4iKTsKKyAgICBhd2FpdCB0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxsbzwvaT48L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0
eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88L2k+Iik7CisgICAgYXdhaXQgdGVzdFBh
c3RlKCJkaXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhl
bGxvPC9iPjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxiPkhlbGxvPC9iPjwvZGl2PiIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+
PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdl
aWdodDogbm9ybWFsXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIs
IAorICAgICAgICAgICAgICAiPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8x
PC9pPjwvYj48Yj48aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+
PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48
L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKKyAgICBhd2Fp
dCB0ZXN0UGFzdGUoImRpdiIsICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj48Yj48aSBzdHls
ZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIsCisgICAgICAgICAgICAgICI8
aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIpOworICAgIGF3YWl0
IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDog
bm9ybWFsXCI+PGI+PGk+SGVsbG8gPCEtLSBjb21tZW50IC0tPndvcmxkPC9pPjwvYj48L3NwYW4+
PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7CisgICAg
YXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2Vp
Z2h0OiBub3JtYWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9z
cGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5v
cm1hbDtcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwv
aT48L2I+Iik7CisKKyAgICByb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKyAgICBmaW5p
c2hKU1Rlc3QoKTsKK30KKworYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTE1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMTUtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmFmODlkY2Y4ODg0N2FhYjRiODkyYTAwN2QyZGUzMmMwOTY5ODFlYjQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5k
LXNhbml0aXplLTE1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRv
IHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhl
IHN0eWxlLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxpIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhl
bGxvPC9pPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWdu
OiBjZW50ZXI7Ij48Yj5IZWxsbzwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdl
aWdodDogbm9ybWFsOyI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+
PC9iPjwvc3Bhbj48L2k+PC9iPicKK0ZBSUwgY29uZmlybWVkTWFya3VwIHNob3VsZCBiZSA8aSBz
dHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uIFdhcyA8aSBzdHlsZT0ibWFy
Z2luOiAxMHB4OyI+PGI+PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+
LgorUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9i
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWln
aHQ6IG5vcm1hbDsiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3Nw
YW4+PC9pPjwvYj4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LWFuZC1zYW5pdGl6ZS0xNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLWFuZC1zYW5pdGl6ZS0xNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ2ZmVlOTI5Y2Y3NzQxYWI4MTUx
N2QxYTBiNzVkODc5ZmVjMTNiNWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTE1Lmh0bWwKQEAgLTAsMCArMSw2NyBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8g
cmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUg
c3R5bGUuIDwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2FzeW5jIGZ1bmN0aW9uIHRlc3RQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdp
bmFsTWFya3VwKTsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1
cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgYXdhaXQgVUlIZWxwZXIu
ZW5zdXJlUHJlc2VudGF0aW9uVXBkYXRlKCk7CisKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
UGFzdGUiLCBmYWxzZSk7CisgICAgYXdhaXQgVUlIZWxwZXIuZW5zdXJlUHJlc2VudGF0aW9uVXBk
YXRlKCk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2pz
VGVzdElzQXN5bmMgPSB0cnVlOworCithc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgIGF3
YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7CisgICAgYXdhaXQgdGVzdFBh
c3RlKCJkaXYiLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7
CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZv
bnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9k
aXY+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKKyAgICBhd2FpdCB0ZXN0UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIpOworICAg
IGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxsbzwvaT48L2Rpdj48
L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88L2k+Iik7
CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PiIpOworICAgIGF3YWl0IHRlc3RQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFs
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+PHNw
YW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvc3Bh
bj48L2k+PC9iPjwvZGl2PiIsIAorICAgICAgICAgICAgICAiPGRpdj48Yj48aT5oZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7CisgICAgYXdhaXQgdGVz
dFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3Jt
YWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+PC9p
PjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wi
PjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9p
PjwvYj4iKTsKKyAgICBhd2FpdCB0ZXN0UGFzdGUoImRpdiIsICI8aSBzdHlsZT1cIm1hcmdpbjog
MTBweDtcIj48Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIs
CisgICAgICAgICAgICAgICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+
PC9pPiIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5
bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG8gPCEtLSBjb21tZW50IC0tPndv
cmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG8mbmJzcDt3b3Js
ZDwvaT48L2I+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3Bh
biBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFs
aWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxl
PVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4
dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7CisKKyAgICByb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30KKworYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTE2LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRp
emUtMTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmODlkY2Y4ODg0N2FhYjRiODkyYTAwN2Qy
ZGUzMmMwOTY5ODFlYjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTE2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUg
cGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0
aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxpIHN0eWxlPSJmb250
LXdlaWdodDogYm9sZDsiPkhlbGxvPC9pPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48Yj5IZWxsbzwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxz
cGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48
aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK0ZBSUwgY29uZmlybWVkTWFy
a3VwIHNob3VsZCBiZSA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4u
IFdhcyA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+PGI+PGkgc3R5bGU9Im1hcmdpbjogMTBweDsi
PmhlbGxvPC9pPjwvYj48L2k+LgorUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxv
Jm5ic3A7d29ybGQ8L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3Bh
biBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxp
YyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0xNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0xNi5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ2
ZmVlOTI5Y2Y3NzQxYWI4MTUxN2QxYTBiNzVkODc5ZmVjMTNiNWEKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTE2Lmh0
bWwKQEAgLTAsMCArMSw2NyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBw
YXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRo
b3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuIDwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2FzeW5jIGZ1bmN0aW9uIHRlc3RQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUp
OworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RB
bGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7Cisg
ICAgYXdhaXQgVUlIZWxwZXIuZW5zdXJlUHJlc2VudGF0aW9uVXBkYXRlKCk7CisKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisgICAgYXdhaXQgVUlIZWxwZXIuZW5z
dXJlUHJlc2VudGF0aW9uVXBkYXRlKCk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlu
bmVySFRNTDsKKworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCithc3luYyBmdW5jdGlvbiBy
dW5UZXN0KCkgeworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIsICI8Yj48
aT5IZWxsbzwvaT48L2I+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbzwvaT48L2I+
PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKKyAgICBhd2Fp
dCB0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2
PiIsICJIZWxsbyIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGRpdj48
aT5IZWxsbzwvaT48L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJv
bGQ7XCI+SGVsbG88L2k+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PiIp
OworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJm
b250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsIAorICAgICAgICAgICAgICAiPGRp
dj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1c
ImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4gaGVsbG8y
PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250
LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8y
PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKKyAgICBhd2FpdCB0ZXN0UGFzdGUoImRpdiIsICI8
aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj48Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5o
ZWxsbzwvaT48L2I+PC9pPiIsCisgICAgICAgICAgICAgICI8aSBzdHlsZT1cIm1hcmdpbjogMTBw
eDtcIj5oZWxsbzwvaT48L2I+PC9pPiIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxk
aXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG8g
PCEtLSBjb21tZW50IC0tPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+
PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj5wbGFpbiB0
ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+Iiwg
IjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5wbGFpbiB0ZXh0PGI+
PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7CisKKyAgICByb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30KKworYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5k
LXNhbml0aXplLTE3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS1hbmQtc2FuaXRpemUtMTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmODlkY2Y4
ODg0N2FhYjRiODkyYTAwN2QyZGUzMmMwOTY5ODFlYjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTE3LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDE3IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9w
ZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5
IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVs
bG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxpIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhlbGxvPC9pPicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48Yj5IZWxsbzwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5oZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+PGI+PGk+
aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicK
K0ZBSUwgY29uZmlybWVkTWFya3VwIHNob3VsZCBiZSA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+
aGVsbG88L2k+PC9iPjwvaT4uIFdhcyA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+PGI+PGkgc3R5
bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LgorUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPnBsYWluIHRl
eHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0xNy5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0xNy5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmQ2ZmVlOTI5Y2Y3NzQxYWI4MTUxN2QxYTBiNzVkODc5ZmVjMTNiNWEK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
YW5kLXNhbml0aXplLTE3Lmh0bWwKQEAgLTAsMCArMSw2NyBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3Bl
cmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkg
b2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuIDwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2FzeW5jIGZ1bmN0aW9u
IHRlc3RQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIg
bm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICByb290
LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IkNvcHkiLCBmYWxzZSk7CisgICAgYXdhaXQgVUlIZWxwZXIuZW5zdXJlUHJlc2VudGF0aW9uVXBk
YXRlKCk7CisKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisgICAg
YXdhaXQgVUlIZWxwZXIuZW5zdXJlUHJlc2VudGF0aW9uVXBkYXRlKCk7CisKKyAgICBjb25maXJt
ZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOwor
Cithc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVs
bG88L2k+PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7CisgICAgYXdhaXQgdGVzdFBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48
Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvPC9p
PjwvYj4iKTsKKyAgICBhd2FpdCB0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2
IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxsbzwvaT48L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0eWxl
PVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88L2k+Iik7CisgICAgYXdhaXQgdGVzdFBhc3Rl
KCJkaXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxv
PC9iPjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxi
PkhlbGxvPC9iPjwvZGl2PiIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+
PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+PC9i
Pjwvc3Bhbj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdo
dDogbm9ybWFsXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsIAor
ICAgICAgICAgICAgICAiPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9p
PjwvYj48Yj48aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+
PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+
PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKKyAgICBhd2FpdCB0
ZXN0UGFzdGUoImRpdiIsICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj48Yj48aSBzdHlsZT1c
Im1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIsCisgICAgICAgICAgICAgICI8aSBz
dHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIpOworICAgIGF3YWl0IHRl
c3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9y
bWFsXCI+PGI+PGk+SGVsbG8gPCEtLSBjb21tZW50IC0tPndvcmxkPC9pPjwvYj48L3NwYW4+PC9p
PjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7CisgICAgYXdh
aXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0
OiBub3JtYWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFu
PjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1h
bDtcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48
L2I+Iik7CisKKyAgICByb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKyAgICBmaW5pc2hK
U1Rlc3QoKTsKK30KKworYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTE4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMTgtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmFmODlkY2Y4ODg0N2FhYjRiODkyYTAwN2QyZGUzMmMwOTY5ODFlYjQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNh
bml0aXplLTE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJl
ZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0
eWxlLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxpIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhlbGxv
PC9pPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBj
ZW50ZXI7Ij48Yj5IZWxsbzwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdo
dDogbm9ybWFsOyI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9i
Pjwvc3Bhbj48L2k+PC9iPicKK0ZBSUwgY29uZmlybWVkTWFya3VwIHNob3VsZCBiZSA8aSBzdHls
ZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uIFdhcyA8aSBzdHlsZT0ibWFyZ2lu
OiAxMHB4OyI+PGI+PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+Lgor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6
IG5vcm1hbDsiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+
PC9pPjwvYj4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFu
ZC1zYW5pdGl6ZS0xOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LWFuZC1zYW5pdGl6ZS0xOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ2ZmVlOTI5Y2Y3NzQxYWI4MTUxN2Qx
YTBiNzVkODc5ZmVjMTNiNWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTE4Lmh0bWwKQEAgLTAsMCArMSw2NyBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVk
dWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5
bGUuIDwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2FzeW5jIGZ1bmN0aW9uIHRlc3RQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFs
TWFya3VwKTsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygp
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgYXdhaXQgVUlIZWxwZXIuZW5z
dXJlUHJlc2VudGF0aW9uVXBkYXRlKCk7CisKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFz
dGUiLCBmYWxzZSk7CisgICAgYXdhaXQgVUlIZWxwZXIuZW5zdXJlUHJlc2VudGF0aW9uVXBkYXRl
KCk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2pzVGVz
dElzQXN5bmMgPSB0cnVlOworCithc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgIGF3YWl0
IHRlc3RQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7CisgICAgYXdhaXQgdGVzdFBhc3Rl
KCJkaXYiLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Cisg
ICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQt
d2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+
IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKKyAgICBhd2FpdCB0ZXN0UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIpOworICAgIGF3
YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxsbzwvaT48L2Rpdj48L2I+
PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88L2k+Iik7Cisg
ICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PiIpOworICAgIGF3YWl0IHRlc3RQYXN0
ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4g
c3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48
L2k+PC9iPjwvZGl2PiIsIAorICAgICAgICAgICAgICAiPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7CisgICAgYXdhaXQgdGVzdFBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7
XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwv
Yj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxi
PjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwv
Yj4iKTsKKyAgICBhd2FpdCB0ZXN0UGFzdGUoImRpdiIsICI8aSBzdHlsZT1cIm1hcmdpbjogMTBw
eDtcIj48Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIsCisg
ICAgICAgICAgICAgICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9p
PiIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9
XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG8gPCEtLSBjb21tZW50IC0tPndvcmxk
PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwv
aT48L2I+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBz
dHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMg
dGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwi
Zm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwv
aT48L2I+PC9zcGFuPjwvaT48L2I+Iik7CisKKyAgICByb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30KKworYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIs
IHJ1blRlc3QpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTE5LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUt
MTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmODlkY2Y4ODg0N2FhYjRiODkyYTAwN2QyZGUz
MmMwOTY5ODFlYjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTE5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFz
dGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91
dCBhZmZlY3RpbmcgdGhlIHN0eWxlLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxpIHN0eWxlPSJmb250LXdl
aWdodDogYm9sZDsiPkhlbGxvPC9pPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0
eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48Yj5IZWxsbzwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFu
IHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4m
bmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK0ZBSUwgY29uZmlybWVkTWFya3Vw
IHNob3VsZCBiZSA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uIFdh
cyA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+PGI+PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhl
bGxvPC9pPjwvYj48L2k+LgorUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvJm5i
c3A7d29ybGQ8L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBz
dHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0
ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0xOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0xOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ2ZmVl
OTI5Y2Y3NzQxYWI4MTUxN2QxYTBiNzVkODc5ZmVjMTNiNWEKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTE5Lmh0bWwK
QEAgLTAsMCArMSw2NyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0
ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0
IGFmZmVjdGluZyB0aGUgc3R5bGUuIDwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2FzeW5jIGZ1bmN0aW9uIHRlc3RQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOwor
CisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwi
LCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAg
YXdhaXQgVUlIZWxwZXIuZW5zdXJlUHJlc2VudGF0aW9uVXBkYXRlKCk7CisKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisgICAgYXdhaXQgVUlIZWxwZXIuZW5zdXJl
UHJlc2VudGF0aW9uVXBkYXRlKCk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVy
SFRNTDsKKworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCithc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cisg
ICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIsICI8Yj48aT5I
ZWxsbzwvaT48L2I+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48
c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbzwvaT48L2I+PC9z
cGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKKyAgICBhd2FpdCB0
ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIs
ICJIZWxsbyIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5I
ZWxsbzwvaT48L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7
XCI+SGVsbG88L2k+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PiIpOwor
ICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250
LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsIAorICAgICAgICAgICAgICAiPGRpdj48
Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZv
bnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4gaGVsbG8yPC9p
PjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdl
aWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9p
PjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKKyAgICBhd2FpdCB0ZXN0UGFzdGUoImRpdiIsICI8aSBz
dHlsZT1cIm1hcmdpbjogMTBweDtcIj48Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxs
bzwvaT48L2I+PC9pPiIsCisgICAgICAgICAgICAgICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtc
Ij5oZWxsbzwvaT48L2I+PC9pPiIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+
PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG8gPCEt
LSBjb21tZW50IC0tPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+
SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj5wbGFpbiB0ZXh0
PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxi
PjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5wbGFpbiB0ZXh0PGI+PGk+
Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7CisKKyAgICByb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30KKworYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNh
bml0aXplLTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLWFuZC1zYW5pdGl6ZS0yLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZjg5ZGNmODg4NDdh
YWI0Yjg5MmEwMDdkMmRlMzJjMDk2OTgxZWI0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0yLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDE3IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlv
biB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRo
ZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+
PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxp
IHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhlbGxvPC9pPicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48Yj5IZWxsbzwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+PGI+PGk+aGVsbG8x
PC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK0ZBSUwg
Y29uZmlybWVkTWFya3VwIHNob3VsZCBiZSA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88
L2k+PC9iPjwvaT4uIFdhcyA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+PGI+PGkgc3R5bGU9Im1h
cmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LgorUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPnBsYWluIHRleHQ8Yj48
aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0yLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5kNmZlZTkyOWNmNzc0MWFiODE1MTdkMWEwYjc1ZDg3OWZlYzEzYjVhCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5p
dGl6ZS0yLmh0bWwKQEAgLTAsMCArMSw2NyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRy
aW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1h
cmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuIDwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2FzeW5jIGZ1bmN0aW9uIHRlc3RQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIgbm9kZSA9IGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICByb290LmFwcGVuZENo
aWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBm
YWxzZSk7CisgICAgYXdhaXQgVUlIZWxwZXIuZW5zdXJlUHJlc2VudGF0aW9uVXBkYXRlKCk7CisK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisgICAgYXdhaXQgVUlI
ZWxwZXIuZW5zdXJlUHJlc2VudGF0aW9uVXBkYXRlKCk7CisKKyAgICBjb25maXJtZWRNYXJrdXAg
PSBub2RlLmlubmVySFRNTDsKKworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCithc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVsbG88L2k+PC9i
PiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxs
bzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsK
KyAgICBhd2FpdCB0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjwv
ZGl2PjwvZGl2PiIsICJIZWxsbyIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+
PGI+PGRpdj48aT5IZWxsbzwvaT48L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9udC13
ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88L2k+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAi
PGRpdj48ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9i
PjwvZGl2PiIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4g
c3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFs
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsIAorICAgICAgICAg
ICAgICAiPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3Bh
biBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48
aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5
bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5i
c3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKKyAgICBhd2FpdCB0ZXN0UGFzdGUo
ImRpdiIsICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj48Yj48aSBzdHlsZT1cIm1hcmdpbjog
MTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIsCisgICAgICAgICAgICAgICI8aSBzdHlsZT1cIm1h
cmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+
PGk+SGVsbG8gPCEtLSBjb21tZW50IC0tPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rp
dj4iLCAiPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7CisgICAgYXdhaXQgdGVzdFBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxc
Ij5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+
PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5wbGFp
biB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7CisK
KyAgICByb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsK
K30KKworYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtYW5kLXNhbml0aXplLTIwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMjAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmFmODlkY2Y4ODg0N2FhYjRiODkyYTAwN2QyZGUzMmMwOTY5ODFlYjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTIw
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhl
IHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUg
dmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxs
bzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxpIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhlbGxvPC9pPicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48
Yj5IZWxsbzwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFs
OyI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48
L2k+PC9iPicKK0ZBSUwgY29uZmlybWVkTWFya3VwIHNob3VsZCBiZSA8aSBzdHlsZT0ibWFyZ2lu
OiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uIFdhcyA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+
PGI+PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LgorUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsi
PnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6
ZS0yMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5p
dGl6ZS0yMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ2ZmVlOTI5Y2Y3NzQxYWI4MTUxN2QxYTBiNzVkODc5
ZmVjMTNiNWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtYW5kLXNhbml0aXplLTIwLmh0bWwKQEAgLTAsMCArMSw2NyBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUg
cGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2
ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuIDwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2FzeW5j
IGZ1bmN0aW9uIHRlc3RQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsK
KyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsK
KyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgYXdhaXQgVUlIZWxwZXIuZW5zdXJlUHJlc2Vu
dGF0aW9uVXBkYXRlKCk7CisKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxz
ZSk7CisgICAgYXdhaXQgVUlIZWxwZXIuZW5zdXJlUHJlc2VudGF0aW9uVXBkYXRlKCk7CisKKyAg
ICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2pzVGVzdElzQXN5bmMg
PSB0cnVlOworCithc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgIGF3YWl0IHRlc3RQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAi
PGI+PGk+SGVsbG88L2k+PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7CisgICAgYXdhaXQg
dGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBu
b3JtYWxcIj48Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxp
PkhlbGxvPC9pPjwvYj4iKTsKKyAgICBhd2FpdCB0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIpOworICAgIGF3YWl0IHRlc3RQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxsbzwvaT48L2Rpdj48L2I+PC9kaXY+Iiwg
IjxpIHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88L2k+Iik7CisgICAgYXdhaXQg
dGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxiPkhlbGxvPC9iPjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PiIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJm
b250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwv
ZGl2PiIsIAorICAgICAgICAgICAgICAiPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+
aGVsbG8xPC9pPjwvYj48Yj48aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4i
LCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxv
MTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKKyAg
ICBhd2FpdCB0ZXN0UGFzdGUoImRpdiIsICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj48Yj48
aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIsCisgICAgICAgICAg
ICAgICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIpOworICAg
IGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdl
aWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG8gPCEtLSBjb21tZW50IC0tPndvcmxkPC9pPjwvYj48
L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7
CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZv
bnQtd2VpZ2h0OiBub3JtYWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48
L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWln
aHQ6IG5vcm1hbDtcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9z
cGFuPjwvaT48L2I+Iik7CisKKyAgICByb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKyAg
ICBmaW5pc2hKU1Rlc3QoKTsKK30KKworYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTIxLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMjEtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmFmODlkY2Y4ODg0N2FhYjRiODkyYTAwN2QyZGUzMmMwOTY5ODFl
YjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtYW5kLXNhbml0aXplLTIxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdt
ZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3Rp
bmcgdGhlIHN0eWxlLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hl
bGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxpIHN0eWxlPSJmb250LXdlaWdodDogYm9s
ZDsiPkhlbGxvPC9pPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0
LWFsaWduOiBjZW50ZXI7Ij48Yj5IZWxsbzwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJm
b250LXdlaWdodDogbm9ybWFsOyI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxs
bzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK0ZBSUwgY29uZmlybWVkTWFya3VwIHNob3VsZCBi
ZSA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uIFdhcyA8aSBzdHls
ZT0ibWFyZ2luOiAxMHB4OyI+PGI+PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwv
Yj48L2k+LgorUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8
L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9u
dC13ZWlnaHQ6IG5vcm1hbDsiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwv
Yj48L3NwYW4+PC9pPjwvYj4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLWFuZC1zYW5pdGl6ZS0yMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0yMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ2ZmVlOTI5Y2Y3NzQx
YWI4MTUxN2QxYTBiNzVkODc5ZmVjMTNiNWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTIxLmh0bWwKQEAgLTAsMCAr
MSw2NyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21l
bnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGlu
ZyB0aGUgc3R5bGUuIDwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2FzeW5jIGZ1bmN0aW9uIHRlc3RQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG9yaWdpbmFsTWFya3VwKTsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9k
ZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgYXdhaXQgVUlI
ZWxwZXIuZW5zdXJlUHJlc2VudGF0aW9uVXBkYXRlKCk7CisKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiUGFzdGUiLCBmYWxzZSk7CisgICAgYXdhaXQgVUlIZWxwZXIuZW5zdXJlUHJlc2VudGF0
aW9uVXBkYXRlKCk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCithc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7CisgICAgYXdhaXQg
dGVzdFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48
L2I+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHls
ZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48
L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKKyAgICBhd2FpdCB0ZXN0UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIp
OworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxsbzwvaT48
L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88
L2k+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PiIpOworICAgIGF3YWl0
IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDog
bm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+d29ybGQ8L2k+PC9i
Pjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsIAorICAgICAgICAgICAgICAiPGRpdj48Yj48aT5oZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7CisgICAgYXdh
aXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0
OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4gaGVsbG8yPC9pPjwvYj48L3Nw
YW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9y
bWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3Nw
YW4+PC9pPjwvYj4iKTsKKyAgICBhd2FpdCB0ZXN0UGFzdGUoImRpdiIsICI8aSBzdHlsZT1cIm1h
cmdpbjogMTBweDtcIj48Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+
PC9pPiIsCisgICAgICAgICAgICAgICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwv
aT48L2I+PC9pPiIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNw
YW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG8gPCEtLSBjb21tZW50
IC0tPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG8mbmJz
cDt3b3JsZDwvaT48L2I+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9s
ZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFu
IHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFs
aWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7CisKKyAgICByb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30KKworYWRkRXZlbnRMaXN0ZW5l
cigibG9hZCIsIHJ1blRlc3QpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTIy
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQt
c2FuaXRpemUtMjItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmODlkY2Y4ODg0N2FhYjRiODky
YTAwN2QyZGUzMmMwOTY5ODFlYjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTIyLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDE3IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmlt
cyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJr
dXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxpIHN0eWxl
PSJmb250LXdlaWdodDogYm9sZDsiPkhlbGxvPC9pPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48Yj5IZWxsbzwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxi
PjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+PGI+PGk+aGVsbG8xPC9pPjwv
Yj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK0ZBSUwgY29uZmly
bWVkTWFya3VwIHNob3VsZCBiZSA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9i
PjwvaT4uIFdhcyA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+PGI+PGkgc3R5bGU9Im1hcmdpbjog
MTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LgorUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxp
PkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48
aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPnBsYWluIHRleHQ8Yj48aT5ib2xk
IGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0yMi5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0yMi5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmQ2ZmVlOTI5Y2Y3NzQxYWI4MTUxN2QxYTBiNzVkODc5ZmVjMTNiNWEKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXpl
LTIyLmh0bWwKQEAgLTAsMCArMSw2NyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1z
IHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1
cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuIDwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2FzeW5jIGZ1bmN0aW9uIHRlc3RQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICByb290LmFwcGVuZENoaWxk
KG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJT
ZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxz
ZSk7CisgICAgYXdhaXQgVUlIZWxwZXIuZW5zdXJlUHJlc2VudGF0aW9uVXBkYXRlKCk7CisKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisgICAgYXdhaXQgVUlIZWxw
ZXIuZW5zdXJlUHJlc2VudGF0aW9uVXBkYXRlKCk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBu
b2RlLmlubmVySFRNTDsKKworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCithc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIs
ICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbzwv
aT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKKyAg
ICBhd2FpdCB0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2
PjwvZGl2PiIsICJIZWxsbyIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+
PGRpdj48aT5IZWxsbzwvaT48L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9udC13ZWln
aHQ6IGJvbGQ7XCI+SGVsbG88L2k+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRp
dj48ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwv
ZGl2PiIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5
bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsIAorICAgICAgICAgICAg
ICAiPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBz
dHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4g
aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9
XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7
aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKKyAgICBhd2FpdCB0ZXN0UGFzdGUoImRp
diIsICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj48Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBw
eDtcIj5oZWxsbzwvaT48L2I+PC9pPiIsCisgICAgICAgICAgICAgICI8aSBzdHlsZT1cIm1hcmdp
bjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2
IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+
SGVsbG8gPCEtLSBjb21tZW50IC0tPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4i
LCAiPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7CisgICAgYXdhaXQgdGVzdFBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj5w
bGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9k
aXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5wbGFpbiB0
ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7CisKKyAg
ICByb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30K
KworYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtYW5kLXNhbml0aXplLTIzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFm
ODlkY2Y4ODg0N2FhYjRiODkyYTAwN2QyZGUzMmMwOTY5ODFlYjQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTIzLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBh
c3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVy
Ym9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+
PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwv
aT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxpIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhlbGxvPC9pPicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48Yj5I
ZWxsbzwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5oZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+
PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+
PC9iPicKK0ZBSUwgY29uZmlybWVkTWFya3VwIHNob3VsZCBiZSA8aSBzdHlsZT0ibWFyZ2luOiAx
MHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uIFdhcyA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+PGI+
PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LgorUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPnBs
YWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0y
My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6
ZS0yMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ2ZmVlOTI5Y2Y3NzQxYWI4MTUxN2QxYTBiNzVkODc5ZmVj
MTNiNWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtYW5kLXNhbml0aXplLTIzLmh0bWwKQEAgLTAsMCArMSw2NyBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFz
dGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJi
b3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuIDwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2FzeW5jIGZ1
bmN0aW9uIHRlc3RQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsKKyAg
ICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAg
ICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgYXdhaXQgVUlIZWxwZXIuZW5zdXJlUHJlc2VudGF0
aW9uVXBkYXRlKCk7CisKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7
CisgICAgYXdhaXQgVUlIZWxwZXIuZW5zdXJlUHJlc2VudGF0aW9uVXBkYXRlKCk7CisKKyAgICBj
b25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2pzVGVzdElzQXN5bmMgPSB0
cnVlOworCithc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgIGF3YWl0IHRlc3RQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGI+
PGk+SGVsbG88L2k+PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7CisgICAgYXdhaXQgdGVz
dFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3Jt
YWxcIj48Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhl
bGxvPC9pPjwvYj4iKTsKKyAgICBhd2FpdCB0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIpOworICAgIGF3YWl0IHRlc3RQYXN0
ZSgiZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxsbzwvaT48L2Rpdj48L2I+PC9kaXY+IiwgIjxp
IHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88L2k+Iik7CisgICAgYXdhaXQgdGVz
dFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxi
PkhlbGxvPC9iPjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxiPkhlbGxvPC9iPjwvZGl2PiIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxk
aXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250
LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2
PiIsIAorICAgICAgICAgICAgICAiPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVs
bG8xPC9pPjwvYj48Yj48aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAi
PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwv
aT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKKyAgICBh
d2FpdCB0ZXN0UGFzdGUoImRpdiIsICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj48Yj48aSBz
dHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIsCisgICAgICAgICAgICAg
ICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIpOworICAgIGF3
YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdo
dDogbm9ybWFsXCI+PGI+PGk+SGVsbG8gPCEtLSBjb21tZW50IC0tPndvcmxkPC9pPjwvYj48L3Nw
YW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7Cisg
ICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQt
d2VpZ2h0OiBub3JtYWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+
PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6
IG5vcm1hbDtcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFu
PjwvaT48L2I+Iik7CisKKyAgICByb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKyAgICBm
aW5pc2hKU1Rlc3QoKTsKK30KKworYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTI0LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMjQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmFmODlkY2Y4ODg0N2FhYjRiODkyYTAwN2QyZGUzMmMwOTY5ODFlYjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
YW5kLXNhbml0aXplLTI0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50
IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3Rpbmcg
dGhlIHN0eWxlLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxv
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxpIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsi
PkhlbGxvPC9pPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFs
aWduOiBjZW50ZXI7Ij48Yj5IZWxsbzwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250
LXdlaWdodDogbm9ybWFsOyI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8
L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK0ZBSUwgY29uZmlybWVkTWFya3VwIHNob3VsZCBiZSA8
aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uIFdhcyA8aSBzdHlsZT0i
bWFyZ2luOiAxMHB4OyI+PGI+PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48
L2k+LgorUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+
PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13
ZWlnaHQ6IG5vcm1hbDsiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48
L3NwYW4+PC9pPjwvYj4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLWFuZC1zYW5pdGl6ZS0yNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLWFuZC1zYW5pdGl6ZS0yNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ2ZmVlOTI5Y2Y3NzQxYWI4
MTUxN2QxYTBiNzVkODc5ZmVjMTNiNWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTI0Lmh0bWwKQEAgLTAsMCArMSw2
NyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQg
dG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0
aGUgc3R5bGUuIDwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2FzeW5jIGZ1bmN0aW9uIHRlc3RQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwKTsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5m
b2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgYXdhaXQgVUlIZWxw
ZXIuZW5zdXJlUHJlc2VudGF0aW9uVXBkYXRlKCk7CisKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiUGFzdGUiLCBmYWxzZSk7CisgICAgYXdhaXQgVUlIZWxwZXIuZW5zdXJlUHJlc2VudGF0aW9u
VXBkYXRlKCk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2pzVGVzdElzQXN5bmMgPSB0cnVlOworCithc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
IGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7CisgICAgYXdhaXQgdGVz
dFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48L2I+
Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1c
ImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+
PC9kaXY+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKKyAgICBhd2FpdCB0ZXN0UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIpOwor
ICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxsbzwvaT48L2Rp
dj48L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88L2k+
Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PiIpOworICAgIGF3YWl0IHRl
c3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9y
bWFsXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
c3Bhbj48L2k+PC9iPjwvZGl2PiIsIAorICAgICAgICAgICAgICAiPGRpdj48Yj48aT5oZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7CisgICAgYXdhaXQg
dGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBu
b3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+
PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFs
O1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+
PC9pPjwvYj4iKTsKKyAgICBhd2FpdCB0ZXN0UGFzdGUoImRpdiIsICI8aSBzdHlsZT1cIm1hcmdp
bjogMTBweDtcIj48Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9p
PiIsCisgICAgICAgICAgICAgICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48
L2I+PC9pPiIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4g
c3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG8gPCEtLSBjb21tZW50IC0t
PndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG8mbmJzcDt3
b3JsZDwvaT48L2I+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48
c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBp
dGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0
eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMg
dGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7CisKKyAgICByb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30KKworYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTI1LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2Fu
aXRpemUtMjUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmODlkY2Y4ODg0N2FhYjRiODkyYTAw
N2QyZGUzMmMwOTY5ODFlYjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTI1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDE3IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0
aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAg
d2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxpIHN0eWxlPSJm
b250LXdlaWdodDogYm9sZDsiPkhlbGxvPC9pPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48Yj5IZWxsbzwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxp
PjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+PGI+PGk+aGVsbG8xPC9pPjwvYj48
Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK0ZBSUwgY29uZmlybWVk
TWFya3VwIHNob3VsZCBiZSA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwv
aT4uIFdhcyA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+PGI+PGkgc3R5bGU9Im1hcmdpbjogMTBw
eDsiPmhlbGxvPC9pPjwvYj48L2k+LgorUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhl
bGxvJm5ic3A7d29ybGQ8L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48
c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0
YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0yNS5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0yNS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmQ2ZmVlOTI5Y2Y3NzQxYWI4MTUxN2QxYTBiNzVkODc5ZmVjMTNiNWEKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTI1
Lmh0bWwKQEAgLTAsMCArMSw2NyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRo
ZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3
aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuIDwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2FzeW5jIGZ1bmN0aW9uIHRlc3RQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICByb290LmFwcGVuZENoaWxkKG5v
ZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxl
Y3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7
CisgICAgYXdhaXQgVUlIZWxwZXIuZW5zdXJlUHJlc2VudGF0aW9uVXBkYXRlKCk7CisKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisgICAgYXdhaXQgVUlIZWxwZXIu
ZW5zdXJlUHJlc2VudGF0aW9uVXBkYXRlKCk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2Rl
LmlubmVySFRNTDsKKworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCithc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIsICI8
Yj48aT5IZWxsbzwvaT48L2I+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbzwvaT48
L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKKyAgICBh
d2FpdCB0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2Pjwv
ZGl2PiIsICJIZWxsbyIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGRp
dj48aT5IZWxsbzwvaT48L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9udC13ZWlnaHQ6
IGJvbGQ7XCI+SGVsbG88L2k+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2
PiIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9
XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsIAorICAgICAgICAgICAgICAi
PGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHls
ZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4gaGVs
bG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJm
b250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVs
bG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKKyAgICBhd2FpdCB0ZXN0UGFzdGUoImRpdiIs
ICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj48Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBweDtc
Ij5oZWxsbzwvaT48L2I+PC9pPiIsCisgICAgICAgICAgICAgICI8aSBzdHlsZT1cIm1hcmdpbjog
MTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVs
bG8gPCEtLSBjb21tZW50IC0tPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAi
PGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj5wbGFp
biB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+
IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5wbGFpbiB0ZXh0
PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7CisKKyAgICBy
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30KKwor
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
YW5kLXNhbml0aXplLTI2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMjYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmODlk
Y2Y4ODg0N2FhYjRiODkyYTAwN2QyZGUzMmMwOTY5ODFlYjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTI2LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3Rl
IG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9z
aXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+
SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48
L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxpIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhlbGxvPC9pPicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48Yj5IZWxs
bzwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5oZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+PGI+
PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9i
PicKK0ZBSUwgY29uZmlybWVkTWFya3VwIHNob3VsZCBiZSA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4
OyI+aGVsbG88L2k+PC9iPjwvaT4uIFdhcyA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+PGI+PGkg
c3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LgorUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPnBsYWlu
IHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0yNi5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0y
Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmQ2ZmVlOTI5Y2Y3NzQxYWI4MTUxN2QxYTBiNzVkODc5ZmVjMTNi
NWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtYW5kLXNhbml0aXplLTI2Lmh0bWwKQEAgLTAsMCArMSw2NyBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUg
b3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3Np
dHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuIDwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2FzeW5jIGZ1bmN0
aW9uIHRlc3RQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsKKyAgICB2
YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBy
b290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIkNvcHkiLCBmYWxzZSk7CisgICAgYXdhaXQgVUlIZWxwZXIuZW5zdXJlUHJlc2VudGF0aW9u
VXBkYXRlKCk7CisKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7Cisg
ICAgYXdhaXQgVUlIZWxwZXIuZW5zdXJlUHJlc2VudGF0aW9uVXBkYXRlKCk7CisKKyAgICBjb25m
aXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2pzVGVzdElzQXN5bmMgPSB0cnVl
OworCithc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGI+PGk+
SGVsbG88L2k+PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7CisgICAgYXdhaXQgdGVzdFBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxc
Ij48Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxv
PC9pPjwvYj4iKTsKKyAgICBhd2FpdCB0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxsbzwvaT48L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0
eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88L2k+Iik7CisgICAgYXdhaXQgdGVzdFBh
c3RlKCJkaXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhl
bGxvPC9iPjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxiPkhlbGxvPC9iPjwvZGl2PiIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+
PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdl
aWdodDogbm9ybWFsXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIs
IAorICAgICAgICAgICAgICAiPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8x
PC9pPjwvYj48Yj48aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+
PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48
L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKKyAgICBhd2Fp
dCB0ZXN0UGFzdGUoImRpdiIsICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj48Yj48aSBzdHls
ZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIsCisgICAgICAgICAgICAgICI8
aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIpOworICAgIGF3YWl0
IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDog
bm9ybWFsXCI+PGI+PGk+SGVsbG8gPCEtLSBjb21tZW50IC0tPndvcmxkPC9pPjwvYj48L3NwYW4+
PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7CisgICAg
YXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2Vp
Z2h0OiBub3JtYWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9z
cGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5v
cm1hbDtcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwv
aT48L2I+Iik7CisKKyAgICByb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKyAgICBmaW5p
c2hKU1Rlc3QoKTsKK30KKworYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTI3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMjctZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmFmODlkY2Y4ODg0N2FhYjRiODkyYTAwN2QyZGUzMmMwOTY5ODFlYjQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5k
LXNhbml0aXplLTI3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRv
IHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhl
IHN0eWxlLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxpIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhl
bGxvPC9pPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWdu
OiBjZW50ZXI7Ij48Yj5IZWxsbzwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdl
aWdodDogbm9ybWFsOyI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+
PC9iPjwvc3Bhbj48L2k+PC9iPicKK0ZBSUwgY29uZmlybWVkTWFya3VwIHNob3VsZCBiZSA8aSBz
dHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uIFdhcyA8aSBzdHlsZT0ibWFy
Z2luOiAxMHB4OyI+PGI+PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+
LgorUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9i
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWln
aHQ6IG5vcm1hbDsiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3Nw
YW4+PC9pPjwvYj4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LWFuZC1zYW5pdGl6ZS0yNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLWFuZC1zYW5pdGl6ZS0yNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ2ZmVlOTI5Y2Y3NzQxYWI4MTUx
N2QxYTBiNzVkODc5ZmVjMTNiNWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTI3Lmh0bWwKQEAgLTAsMCArMSw2NyBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8g
cmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUg
c3R5bGUuIDwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2FzeW5jIGZ1bmN0aW9uIHRlc3RQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdp
bmFsTWFya3VwKTsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1
cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgYXdhaXQgVUlIZWxwZXIu
ZW5zdXJlUHJlc2VudGF0aW9uVXBkYXRlKCk7CisKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
UGFzdGUiLCBmYWxzZSk7CisgICAgYXdhaXQgVUlIZWxwZXIuZW5zdXJlUHJlc2VudGF0aW9uVXBk
YXRlKCk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2pz
VGVzdElzQXN5bmMgPSB0cnVlOworCithc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgIGF3
YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7CisgICAgYXdhaXQgdGVzdFBh
c3RlKCJkaXYiLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7
CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZv
bnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9k
aXY+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKKyAgICBhd2FpdCB0ZXN0UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIpOworICAg
IGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxsbzwvaT48L2Rpdj48
L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88L2k+Iik7
CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PiIpOworICAgIGF3YWl0IHRlc3RQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFs
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+PHNw
YW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvc3Bh
bj48L2k+PC9iPjwvZGl2PiIsIAorICAgICAgICAgICAgICAiPGRpdj48Yj48aT5oZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7CisgICAgYXdhaXQgdGVz
dFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3Jt
YWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+PC9p
PjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wi
PjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9p
PjwvYj4iKTsKKyAgICBhd2FpdCB0ZXN0UGFzdGUoImRpdiIsICI8aSBzdHlsZT1cIm1hcmdpbjog
MTBweDtcIj48Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIs
CisgICAgICAgICAgICAgICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+
PC9pPiIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5
bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG8gPCEtLSBjb21tZW50IC0tPndv
cmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG8mbmJzcDt3b3Js
ZDwvaT48L2I+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3Bh
biBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFs
aWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxl
PVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4
dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7CisKKyAgICByb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30KKworYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTI4LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRp
emUtMjgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmODlkY2Y4ODg0N2FhYjRiODkyYTAwN2Qy
ZGUzMmMwOTY5ODFlYjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTI4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUg
cGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0
aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxpIHN0eWxlPSJmb250
LXdlaWdodDogYm9sZDsiPkhlbGxvPC9pPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48Yj5IZWxsbzwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxz
cGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48
aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK0ZBSUwgY29uZmlybWVkTWFy
a3VwIHNob3VsZCBiZSA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4u
IFdhcyA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+PGI+PGkgc3R5bGU9Im1hcmdpbjogMTBweDsi
PmhlbGxvPC9pPjwvYj48L2k+LgorUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxv
Jm5ic3A7d29ybGQ8L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3Bh
biBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxp
YyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0yOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0yOC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ2
ZmVlOTI5Y2Y3NzQxYWI4MTUxN2QxYTBiNzVkODc5ZmVjMTNiNWEKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTI4Lmh0
bWwKQEAgLTAsMCArMSw2NyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBw
YXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRo
b3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuIDwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2FzeW5jIGZ1bmN0aW9uIHRlc3RQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUp
OworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RB
bGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7Cisg
ICAgYXdhaXQgVUlIZWxwZXIuZW5zdXJlUHJlc2VudGF0aW9uVXBkYXRlKCk7CisKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisgICAgYXdhaXQgVUlIZWxwZXIuZW5z
dXJlUHJlc2VudGF0aW9uVXBkYXRlKCk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlu
bmVySFRNTDsKKworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCithc3luYyBmdW5jdGlvbiBy
dW5UZXN0KCkgeworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIsICI8Yj48
aT5IZWxsbzwvaT48L2I+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbzwvaT48L2I+
PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKKyAgICBhd2Fp
dCB0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2
PiIsICJIZWxsbyIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGRpdj48
aT5IZWxsbzwvaT48L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJv
bGQ7XCI+SGVsbG88L2k+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PiIp
OworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJm
b250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsIAorICAgICAgICAgICAgICAiPGRp
dj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1c
ImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4gaGVsbG8y
PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250
LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8y
PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKKyAgICBhd2FpdCB0ZXN0UGFzdGUoImRpdiIsICI8
aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj48Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5o
ZWxsbzwvaT48L2I+PC9pPiIsCisgICAgICAgICAgICAgICI8aSBzdHlsZT1cIm1hcmdpbjogMTBw
eDtcIj5oZWxsbzwvaT48L2I+PC9pPiIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxk
aXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG8g
PCEtLSBjb21tZW50IC0tPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+
PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj5wbGFpbiB0
ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+Iiwg
IjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5wbGFpbiB0ZXh0PGI+
PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7CisKKyAgICByb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30KKworYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5k
LXNhbml0aXplLTI5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS1hbmQtc2FuaXRpemUtMjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmODlkY2Y4
ODg0N2FhYjRiODkyYTAwN2QyZGUzMmMwOTY5ODFlYjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTI5LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDE3IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9w
ZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5
IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVs
bG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxpIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhlbGxvPC9pPicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48Yj5IZWxsbzwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5oZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+PGI+PGk+
aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicK
K0ZBSUwgY29uZmlybWVkTWFya3VwIHNob3VsZCBiZSA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+
aGVsbG88L2k+PC9iPjwvaT4uIFdhcyA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+PGI+PGkgc3R5
bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LgorUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPnBsYWluIHRl
eHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0yOS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0yOS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmQ2ZmVlOTI5Y2Y3NzQxYWI4MTUxN2QxYTBiNzVkODc5ZmVjMTNiNWEK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
YW5kLXNhbml0aXplLTI5Lmh0bWwKQEAgLTAsMCArMSw2NyBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3Bl
cmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkg
b2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuIDwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2FzeW5jIGZ1bmN0aW9u
IHRlc3RQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIg
bm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICByb290
LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IkNvcHkiLCBmYWxzZSk7CisgICAgYXdhaXQgVUlIZWxwZXIuZW5zdXJlUHJlc2VudGF0aW9uVXBk
YXRlKCk7CisKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisgICAg
YXdhaXQgVUlIZWxwZXIuZW5zdXJlUHJlc2VudGF0aW9uVXBkYXRlKCk7CisKKyAgICBjb25maXJt
ZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOwor
Cithc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVs
bG88L2k+PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7CisgICAgYXdhaXQgdGVzdFBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48
Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvPC9p
PjwvYj4iKTsKKyAgICBhd2FpdCB0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2
IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxsbzwvaT48L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0eWxl
PVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88L2k+Iik7CisgICAgYXdhaXQgdGVzdFBhc3Rl
KCJkaXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxv
PC9iPjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxi
PkhlbGxvPC9iPjwvZGl2PiIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+
PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+PC9i
Pjwvc3Bhbj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdo
dDogbm9ybWFsXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsIAor
ICAgICAgICAgICAgICAiPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9p
PjwvYj48Yj48aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+
PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+
PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKKyAgICBhd2FpdCB0
ZXN0UGFzdGUoImRpdiIsICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj48Yj48aSBzdHlsZT1c
Im1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIsCisgICAgICAgICAgICAgICI8aSBz
dHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIpOworICAgIGF3YWl0IHRl
c3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9y
bWFsXCI+PGI+PGk+SGVsbG8gPCEtLSBjb21tZW50IC0tPndvcmxkPC9pPjwvYj48L3NwYW4+PC9p
PjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7CisgICAgYXdh
aXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0
OiBub3JtYWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFu
PjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1h
bDtcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48
L2I+Iik7CisKKyAgICByb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKyAgICBmaW5pc2hK
U1Rlc3QoKTsKK30KKworYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0zLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5hZjg5ZGNmODg4NDdhYWI0Yjg5MmEwMDdkMmRlMzJjMDk2OTgxZWI0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5p
dGl6ZS0zLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVj
ZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxl
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48
aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxpIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhlbGxvPC9p
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50
ZXI7Ij48Yj5IZWxsbzwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDog
bm9ybWFsOyI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwv
c3Bhbj48L2k+PC9iPicKK0ZBSUwgY29uZmlybWVkTWFya3VwIHNob3VsZCBiZSA8aSBzdHlsZT0i
bWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uIFdhcyA8aSBzdHlsZT0ibWFyZ2luOiAx
MHB4OyI+PGI+PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LgorUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5v
cm1hbDsiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9p
PjwvYj4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1z
YW5pdGl6ZS0zLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5k
LXNhbml0aXplLTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kNmZlZTkyOWNmNzc0MWFiODE1MTdkMWEwYjc1
ZDg3OWZlYzEzYjVhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0zLmh0bWwKQEAgLTAsMCArMSw2NyBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0
aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRo
ZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuIDwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Fz
eW5jIGZ1bmN0aW9uIHRlc3RQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQp
IHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3Vw
KTsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgYXdhaXQgVUlIZWxwZXIuZW5zdXJlUHJl
c2VudGF0aW9uVXBkYXRlKCk7CisKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBm
YWxzZSk7CisgICAgYXdhaXQgVUlIZWxwZXIuZW5zdXJlUHJlc2VudGF0aW9uVXBkYXRlKCk7CisK
KyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2pzVGVzdElzQXN5
bmMgPSB0cnVlOworCithc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgIGF3YWl0IHRlc3RQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYi
LCAiPGI+PGk+SGVsbG88L2k+PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7CisgICAgYXdh
aXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0
OiBub3JtYWxcIj48Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxi
PjxpPkhlbGxvPC9pPjwvYj4iKTsKKyAgICBhd2FpdCB0ZXN0UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIpOworICAgIGF3YWl0IHRl
c3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxsbzwvaT48L2Rpdj48L2I+PC9kaXY+
IiwgIjxpIHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88L2k+Iik7CisgICAgYXdh
aXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxiPkhlbGxvPC9iPjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PiIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2
IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9
XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9i
PjwvZGl2PiIsIAorICAgICAgICAgICAgICAiPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+
PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rp
dj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhl
bGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsK
KyAgICBhd2FpdCB0ZXN0UGFzdGUoImRpdiIsICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj48
Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIsCisgICAgICAg
ICAgICAgICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIpOwor
ICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250
LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG8gPCEtLSBjb21tZW50IC0tPndvcmxkPC9pPjwv
Yj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+
Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1c
ImZvbnQtd2VpZ2h0OiBub3JtYWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwv
aT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13
ZWlnaHQ6IG5vcm1hbDtcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+
PC9zcGFuPjwvaT48L2I+Iik7CisKKyAgICByb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
KyAgICBmaW5pc2hKU1Rlc3QoKTsKK30KKworYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTMwLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMzAtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmODlkY2Y4ODg0N2FhYjRiODkyYTAwN2QyZGUzMmMwOTY5
ODFlYjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtYW5kLXNhbml0aXplLTMwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZy
YWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZl
Y3RpbmcgdGhlIHN0eWxlLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxpIHN0eWxlPSJmb250LXdlaWdodDog
Ym9sZDsiPkhlbGxvPC9pPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0
ZXh0LWFsaWduOiBjZW50ZXI7Ij48Yj5IZWxsbzwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxl
PSJmb250LXdlaWdodDogbm9ybWFsOyI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDto
ZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK0ZBSUwgY29uZmlybWVkTWFya3VwIHNob3Vs
ZCBiZSA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uIFdhcyA8aSBz
dHlsZT0ibWFyZ2luOiAxMHB4OyI+PGI+PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9p
PjwvYj48L2k+LgorUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvJm5ic3A7d29y
bGQ8L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0i
Zm9udC13ZWlnaHQ6IG5vcm1hbDsiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9p
PjwvYj48L3NwYW4+PC9pPjwvYj4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0zMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0zMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ2ZmVlOTI5Y2Y3
NzQxYWI4MTUxN2QxYTBiNzVkODc5ZmVjMTNiNWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTMwLmh0bWwKQEAgLTAs
MCArMSw2NyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJh
Z21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVj
dGluZyB0aGUgc3R5bGUuIDwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2FzeW5jIGZ1bmN0aW9uIHRlc3RQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAg
bm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxz
ZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgYXdhaXQg
VUlIZWxwZXIuZW5zdXJlUHJlc2VudGF0aW9uVXBkYXRlKCk7CisKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisgICAgYXdhaXQgVUlIZWxwZXIuZW5zdXJlUHJlc2Vu
dGF0aW9uVXBkYXRlKCk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsK
KworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCithc3luYyBmdW5jdGlvbiBydW5UZXN0KCkg
eworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7CisgICAgYXdh
aXQgdGVzdFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIsICI8Yj48aT5IZWxsbzwv
aT48L2I+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBz
dHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwv
aT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKKyAgICBhd2FpdCB0ZXN0UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxs
byIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxsbzwv
aT48L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+SGVs
bG88L2k+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PiIpOworICAgIGF3
YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdo
dDogbm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsIAorICAgICAgICAgICAgICAiPGRpdj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7CisgICAg
YXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2Vp
Z2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4gaGVsbG8yPC9pPjwvYj48
L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDog
bm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48
L3NwYW4+PC9pPjwvYj4iKTsKKyAgICBhd2FpdCB0ZXN0UGFzdGUoImRpdiIsICI8aSBzdHlsZT1c
Im1hcmdpbjogMTBweDtcIj48Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48
L2I+PC9pPiIsCisgICAgICAgICAgICAgICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxs
bzwvaT48L2I+PC9pPiIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+
PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG8gPCEtLSBjb21t
ZW50IC0tPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG8m
bmJzcDt3b3JsZDwvaT48L2I+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj5wbGFpbiB0ZXh0PGI+PGk+
Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxz
cGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBp
dGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7CisKKyAgICByb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30KKworYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXpl
LTMxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1h
bmQtc2FuaXRpemUtMzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmODlkY2Y4ODg0N2FhYjRi
ODkyYTAwN2QyZGUzMmMwOTY5ODFlYjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTMxLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDE3IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0
cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBt
YXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9i
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxpIHN0
eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhlbGxvPC9pPicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48Yj5IZWxsbzwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+PGI+PGk+aGVsbG8xPC9p
PjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK0ZBSUwgY29u
ZmlybWVkTWFya3VwIHNob3VsZCBiZSA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+
PC9iPjwvaT4uIFdhcyA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+PGI+PGkgc3R5bGU9Im1hcmdp
bjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LgorUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxi
PjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPnBsYWluIHRleHQ8Yj48aT5i
b2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0zMS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0zMS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmQ2ZmVlOTI5Y2Y3NzQxYWI4MTUxN2QxYTBiNzVkODc5ZmVjMTNiNWEKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0
aXplLTMxLmh0bWwKQEAgLTAsMCArMSw2NyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRy
aW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1h
cmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuIDwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2FzeW5jIGZ1bmN0aW9uIHRlc3RQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIgbm9kZSA9IGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICByb290LmFwcGVuZENo
aWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBm
YWxzZSk7CisgICAgYXdhaXQgVUlIZWxwZXIuZW5zdXJlUHJlc2VudGF0aW9uVXBkYXRlKCk7CisK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisgICAgYXdhaXQgVUlI
ZWxwZXIuZW5zdXJlUHJlc2VudGF0aW9uVXBkYXRlKCk7CisKKyAgICBjb25maXJtZWRNYXJrdXAg
PSBub2RlLmlubmVySFRNTDsKKworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCithc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVsbG88L2k+PC9i
PiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxs
bzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsK
KyAgICBhd2FpdCB0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjwv
ZGl2PjwvZGl2PiIsICJIZWxsbyIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+
PGI+PGRpdj48aT5IZWxsbzwvaT48L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9udC13
ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88L2k+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAi
PGRpdj48ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9i
PjwvZGl2PiIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4g
c3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFs
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsIAorICAgICAgICAg
ICAgICAiPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3Bh
biBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48
aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5
bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5i
c3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKKyAgICBhd2FpdCB0ZXN0UGFzdGUo
ImRpdiIsICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj48Yj48aSBzdHlsZT1cIm1hcmdpbjog
MTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIsCisgICAgICAgICAgICAgICI8aSBzdHlsZT1cIm1h
cmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+
PGk+SGVsbG8gPCEtLSBjb21tZW50IC0tPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rp
dj4iLCAiPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7CisgICAgYXdhaXQgdGVzdFBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxc
Ij5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+
PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5wbGFp
biB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7CisK
KyAgICByb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsK
K30KKworYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtYW5kLXNhbml0aXplLTMyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmFmODlkY2Y4ODg0N2FhYjRiODkyYTAwN2QyZGUzMmMwOTY5ODFlYjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTMy
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhl
IHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUg
dmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxs
bzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxpIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhlbGxvPC9pPicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48
Yj5IZWxsbzwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFs
OyI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48
L2k+PC9iPicKK0ZBSUwgY29uZmlybWVkTWFya3VwIHNob3VsZCBiZSA8aSBzdHlsZT0ibWFyZ2lu
OiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uIFdhcyA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+
PGI+PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LgorUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsi
PnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6
ZS0zMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5p
dGl6ZS0zMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ2ZmVlOTI5Y2Y3NzQxYWI4MTUxN2QxYTBiNzVkODc5
ZmVjMTNiNWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtYW5kLXNhbml0aXplLTMyLmh0bWwKQEAgLTAsMCArMSw2NyBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUg
cGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2
ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuIDwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2FzeW5j
IGZ1bmN0aW9uIHRlc3RQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsK
KyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsK
KyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgYXdhaXQgVUlIZWxwZXIuZW5zdXJlUHJlc2Vu
dGF0aW9uVXBkYXRlKCk7CisKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxz
ZSk7CisgICAgYXdhaXQgVUlIZWxwZXIuZW5zdXJlUHJlc2VudGF0aW9uVXBkYXRlKCk7CisKKyAg
ICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2pzVGVzdElzQXN5bmMg
PSB0cnVlOworCithc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgIGF3YWl0IHRlc3RQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAi
PGI+PGk+SGVsbG88L2k+PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7CisgICAgYXdhaXQg
dGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBu
b3JtYWxcIj48Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxp
PkhlbGxvPC9pPjwvYj4iKTsKKyAgICBhd2FpdCB0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIpOworICAgIGF3YWl0IHRlc3RQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxsbzwvaT48L2Rpdj48L2I+PC9kaXY+Iiwg
IjxpIHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88L2k+Iik7CisgICAgYXdhaXQg
dGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxiPkhlbGxvPC9iPjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PiIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJm
b250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwv
ZGl2PiIsIAorICAgICAgICAgICAgICAiPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+
aGVsbG8xPC9pPjwvYj48Yj48aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4i
LCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxv
MTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKKyAg
ICBhd2FpdCB0ZXN0UGFzdGUoImRpdiIsICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj48Yj48
aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIsCisgICAgICAgICAg
ICAgICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIpOworICAg
IGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdl
aWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG8gPCEtLSBjb21tZW50IC0tPndvcmxkPC9pPjwvYj48
L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7
CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZv
bnQtd2VpZ2h0OiBub3JtYWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48
L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWln
aHQ6IG5vcm1hbDtcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9z
cGFuPjwvaT48L2I+Iik7CisKKyAgICByb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKyAg
ICBmaW5pc2hKU1Rlc3QoKTsKK30KKworYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTMzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMzMtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmFmODlkY2Y4ODg0N2FhYjRiODkyYTAwN2QyZGUzMmMwOTY5ODFl
YjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtYW5kLXNhbml0aXplLTMzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdt
ZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3Rp
bmcgdGhlIHN0eWxlLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hl
bGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxpIHN0eWxlPSJmb250LXdlaWdodDogYm9s
ZDsiPkhlbGxvPC9pPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0
LWFsaWduOiBjZW50ZXI7Ij48Yj5IZWxsbzwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJm
b250LXdlaWdodDogbm9ybWFsOyI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxs
bzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK0ZBSUwgY29uZmlybWVkTWFya3VwIHNob3VsZCBi
ZSA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uIFdhcyA8aSBzdHls
ZT0ibWFyZ2luOiAxMHB4OyI+PGI+PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwv
Yj48L2k+LgorUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8
L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9u
dC13ZWlnaHQ6IG5vcm1hbDsiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwv
Yj48L3NwYW4+PC9pPjwvYj4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLWFuZC1zYW5pdGl6ZS0zMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0zMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ2ZmVlOTI5Y2Y3NzQx
YWI4MTUxN2QxYTBiNzVkODc5ZmVjMTNiNWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTMzLmh0bWwKQEAgLTAsMCAr
MSw2NyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21l
bnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGlu
ZyB0aGUgc3R5bGUuIDwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2FzeW5jIGZ1bmN0aW9uIHRlc3RQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG9yaWdpbmFsTWFya3VwKTsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9k
ZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgYXdhaXQgVUlI
ZWxwZXIuZW5zdXJlUHJlc2VudGF0aW9uVXBkYXRlKCk7CisKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiUGFzdGUiLCBmYWxzZSk7CisgICAgYXdhaXQgVUlIZWxwZXIuZW5zdXJlUHJlc2VudGF0
aW9uVXBkYXRlKCk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCithc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7CisgICAgYXdhaXQg
dGVzdFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48
L2I+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHls
ZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48
L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKKyAgICBhd2FpdCB0ZXN0UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIp
OworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxsbzwvaT48
L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88
L2k+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PiIpOworICAgIGF3YWl0
IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDog
bm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+d29ybGQ8L2k+PC9i
Pjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsIAorICAgICAgICAgICAgICAiPGRpdj48Yj48aT5oZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7CisgICAgYXdh
aXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0
OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4gaGVsbG8yPC9pPjwvYj48L3Nw
YW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9y
bWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3Nw
YW4+PC9pPjwvYj4iKTsKKyAgICBhd2FpdCB0ZXN0UGFzdGUoImRpdiIsICI8aSBzdHlsZT1cIm1h
cmdpbjogMTBweDtcIj48Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+
PC9pPiIsCisgICAgICAgICAgICAgICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwv
aT48L2I+PC9pPiIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNw
YW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG8gPCEtLSBjb21tZW50
IC0tPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG8mbmJz
cDt3b3JsZDwvaT48L2I+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9s
ZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFu
IHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFs
aWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7CisKKyAgICByb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30KKworYWRkRXZlbnRMaXN0ZW5l
cigibG9hZCIsIHJ1blRlc3QpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTM0
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQt
c2FuaXRpemUtMzQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmODlkY2Y4ODg0N2FhYjRiODky
YTAwN2QyZGUzMmMwOTY5ODFlYjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTM0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDE3IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmlt
cyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJr
dXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxpIHN0eWxl
PSJmb250LXdlaWdodDogYm9sZDsiPkhlbGxvPC9pPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48Yj5IZWxsbzwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxi
PjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+PGI+PGk+aGVsbG8xPC9pPjwv
Yj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK0ZBSUwgY29uZmly
bWVkTWFya3VwIHNob3VsZCBiZSA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9i
PjwvaT4uIFdhcyA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+PGI+PGkgc3R5bGU9Im1hcmdpbjog
MTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LgorUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxp
PkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48
aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPnBsYWluIHRleHQ8Yj48aT5ib2xk
IGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0zNC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0zNC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmQ2ZmVlOTI5Y2Y3NzQxYWI4MTUxN2QxYTBiNzVkODc5ZmVjMTNiNWEKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXpl
LTM0Lmh0bWwKQEAgLTAsMCArMSw2NyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1z
IHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1
cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuIDwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2FzeW5jIGZ1bmN0aW9uIHRlc3RQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICByb290LmFwcGVuZENoaWxk
KG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJT
ZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxz
ZSk7CisgICAgYXdhaXQgVUlIZWxwZXIuZW5zdXJlUHJlc2VudGF0aW9uVXBkYXRlKCk7CisKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisgICAgYXdhaXQgVUlIZWxw
ZXIuZW5zdXJlUHJlc2VudGF0aW9uVXBkYXRlKCk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBu
b2RlLmlubmVySFRNTDsKKworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCithc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIs
ICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbzwv
aT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKKyAg
ICBhd2FpdCB0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2
PjwvZGl2PiIsICJIZWxsbyIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+
PGRpdj48aT5IZWxsbzwvaT48L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9udC13ZWln
aHQ6IGJvbGQ7XCI+SGVsbG88L2k+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRp
dj48ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwv
ZGl2PiIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5
bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsIAorICAgICAgICAgICAg
ICAiPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBz
dHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4g
aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9
XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7
aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKKyAgICBhd2FpdCB0ZXN0UGFzdGUoImRp
diIsICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj48Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBw
eDtcIj5oZWxsbzwvaT48L2I+PC9pPiIsCisgICAgICAgICAgICAgICI8aSBzdHlsZT1cIm1hcmdp
bjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2
IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+
SGVsbG8gPCEtLSBjb21tZW50IC0tPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4i
LCAiPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7CisgICAgYXdhaXQgdGVzdFBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj5w
bGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9k
aXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5wbGFpbiB0
ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7CisKKyAg
ICByb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30K
KworYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtYW5kLXNhbml0aXplLTM1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFm
ODlkY2Y4ODg0N2FhYjRiODkyYTAwN2QyZGUzMmMwOTY5ODFlYjQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTM1LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBh
c3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVy
Ym9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+
PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwv
aT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxpIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhlbGxvPC9pPicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48Yj5I
ZWxsbzwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5oZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+
PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+
PC9iPicKK0ZBSUwgY29uZmlybWVkTWFya3VwIHNob3VsZCBiZSA8aSBzdHlsZT0ibWFyZ2luOiAx
MHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uIFdhcyA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+PGI+
PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LgorUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPnBs
YWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0z
NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6
ZS0zNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ2ZmVlOTI5Y2Y3NzQxYWI4MTUxN2QxYTBiNzVkODc5ZmVj
MTNiNWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtYW5kLXNhbml0aXplLTM1Lmh0bWwKQEAgLTAsMCArMSw2NyBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFz
dGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJi
b3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuIDwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2FzeW5jIGZ1
bmN0aW9uIHRlc3RQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsKKyAg
ICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAg
ICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgYXdhaXQgVUlIZWxwZXIuZW5zdXJlUHJlc2VudGF0
aW9uVXBkYXRlKCk7CisKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7
CisgICAgYXdhaXQgVUlIZWxwZXIuZW5zdXJlUHJlc2VudGF0aW9uVXBkYXRlKCk7CisKKyAgICBj
b25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2pzVGVzdElzQXN5bmMgPSB0
cnVlOworCithc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgIGF3YWl0IHRlc3RQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGI+
PGk+SGVsbG88L2k+PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7CisgICAgYXdhaXQgdGVz
dFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3Jt
YWxcIj48Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhl
bGxvPC9pPjwvYj4iKTsKKyAgICBhd2FpdCB0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIpOworICAgIGF3YWl0IHRlc3RQYXN0
ZSgiZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxsbzwvaT48L2Rpdj48L2I+PC9kaXY+IiwgIjxp
IHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88L2k+Iik7CisgICAgYXdhaXQgdGVz
dFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxi
PkhlbGxvPC9iPjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxiPkhlbGxvPC9iPjwvZGl2PiIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxk
aXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250
LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2
PiIsIAorICAgICAgICAgICAgICAiPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVs
bG8xPC9pPjwvYj48Yj48aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAi
PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwv
aT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKKyAgICBh
d2FpdCB0ZXN0UGFzdGUoImRpdiIsICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj48Yj48aSBz
dHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIsCisgICAgICAgICAgICAg
ICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIpOworICAgIGF3
YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdo
dDogbm9ybWFsXCI+PGI+PGk+SGVsbG8gPCEtLSBjb21tZW50IC0tPndvcmxkPC9pPjwvYj48L3Nw
YW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7Cisg
ICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQt
d2VpZ2h0OiBub3JtYWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+
PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6
IG5vcm1hbDtcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFu
PjwvaT48L2I+Iik7CisKKyAgICByb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKyAgICBm
aW5pc2hKU1Rlc3QoKTsKK30KKworYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTM2LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMzYtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmFmODlkY2Y4ODg0N2FhYjRiODkyYTAwN2QyZGUzMmMwOTY5ODFlYjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
YW5kLXNhbml0aXplLTM2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50
IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3Rpbmcg
dGhlIHN0eWxlLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxv
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxpIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsi
PkhlbGxvPC9pPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFs
aWduOiBjZW50ZXI7Ij48Yj5IZWxsbzwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250
LXdlaWdodDogbm9ybWFsOyI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8
L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK0ZBSUwgY29uZmlybWVkTWFya3VwIHNob3VsZCBiZSA8
aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uIFdhcyA8aSBzdHlsZT0i
bWFyZ2luOiAxMHB4OyI+PGI+PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48
L2k+LgorUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+
PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13
ZWlnaHQ6IG5vcm1hbDsiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48
L3NwYW4+PC9pPjwvYj4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLWFuZC1zYW5pdGl6ZS0zNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLWFuZC1zYW5pdGl6ZS0zNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ2ZmVlOTI5Y2Y3NzQxYWI4
MTUxN2QxYTBiNzVkODc5ZmVjMTNiNWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTM2Lmh0bWwKQEAgLTAsMCArMSw2
NyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQg
dG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0
aGUgc3R5bGUuIDwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2FzeW5jIGZ1bmN0aW9uIHRlc3RQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwKTsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5m
b2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgYXdhaXQgVUlIZWxw
ZXIuZW5zdXJlUHJlc2VudGF0aW9uVXBkYXRlKCk7CisKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiUGFzdGUiLCBmYWxzZSk7CisgICAgYXdhaXQgVUlIZWxwZXIuZW5zdXJlUHJlc2VudGF0aW9u
VXBkYXRlKCk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2pzVGVzdElzQXN5bmMgPSB0cnVlOworCithc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
IGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7CisgICAgYXdhaXQgdGVz
dFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48L2I+
Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1c
ImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+
PC9kaXY+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKKyAgICBhd2FpdCB0ZXN0UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIpOwor
ICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxsbzwvaT48L2Rp
dj48L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88L2k+
Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PiIpOworICAgIGF3YWl0IHRl
c3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9y
bWFsXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
c3Bhbj48L2k+PC9iPjwvZGl2PiIsIAorICAgICAgICAgICAgICAiPGRpdj48Yj48aT5oZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7CisgICAgYXdhaXQg
dGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBu
b3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+
PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFs
O1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+
PC9pPjwvYj4iKTsKKyAgICBhd2FpdCB0ZXN0UGFzdGUoImRpdiIsICI8aSBzdHlsZT1cIm1hcmdp
bjogMTBweDtcIj48Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9p
PiIsCisgICAgICAgICAgICAgICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48
L2I+PC9pPiIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4g
c3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG8gPCEtLSBjb21tZW50IC0t
PndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG8mbmJzcDt3
b3JsZDwvaT48L2I+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48
c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBp
dGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0
eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMg
dGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7CisKKyAgICByb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30KKworYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTM3LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2Fu
aXRpemUtMzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmODlkY2Y4ODg0N2FhYjRiODkyYTAw
N2QyZGUzMmMwOTY5ODFlYjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDE3IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0
aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAg
d2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxpIHN0eWxlPSJm
b250LXdlaWdodDogYm9sZDsiPkhlbGxvPC9pPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48Yj5IZWxsbzwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxp
PjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+PGI+PGk+aGVsbG8xPC9pPjwvYj48
Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK0ZBSUwgY29uZmlybWVk
TWFya3VwIHNob3VsZCBiZSA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwv
aT4uIFdhcyA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+PGI+PGkgc3R5bGU9Im1hcmdpbjogMTBw
eDsiPmhlbGxvPC9pPjwvYj48L2k+LgorUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhl
bGxvJm5ic3A7d29ybGQ8L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48
c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0
YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0zNy5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0zNy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmQ2ZmVlOTI5Y2Y3NzQxYWI4MTUxN2QxYTBiNzVkODc5ZmVjMTNiNWEKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTM3
Lmh0bWwKQEAgLTAsMCArMSw2NyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRo
ZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3
aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuIDwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2FzeW5jIGZ1bmN0aW9uIHRlc3RQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICByb290LmFwcGVuZENoaWxkKG5v
ZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxl
Y3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7
CisgICAgYXdhaXQgVUlIZWxwZXIuZW5zdXJlUHJlc2VudGF0aW9uVXBkYXRlKCk7CisKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisgICAgYXdhaXQgVUlIZWxwZXIu
ZW5zdXJlUHJlc2VudGF0aW9uVXBkYXRlKCk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2Rl
LmlubmVySFRNTDsKKworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCithc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIsICI8
Yj48aT5IZWxsbzwvaT48L2I+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbzwvaT48
L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKKyAgICBh
d2FpdCB0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2Pjwv
ZGl2PiIsICJIZWxsbyIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGRp
dj48aT5IZWxsbzwvaT48L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9udC13ZWlnaHQ6
IGJvbGQ7XCI+SGVsbG88L2k+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2
PiIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9
XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsIAorICAgICAgICAgICAgICAi
PGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHls
ZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4gaGVs
bG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJm
b250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVs
bG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKKyAgICBhd2FpdCB0ZXN0UGFzdGUoImRpdiIs
ICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj48Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBweDtc
Ij5oZWxsbzwvaT48L2I+PC9pPiIsCisgICAgICAgICAgICAgICI8aSBzdHlsZT1cIm1hcmdpbjog
MTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVs
bG8gPCEtLSBjb21tZW50IC0tPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAi
PGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj5wbGFp
biB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+
IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5wbGFpbiB0ZXh0
PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7CisKKyAgICBy
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30KKwor
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
YW5kLXNhbml0aXplLTM4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMzgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmODlk
Y2Y4ODg0N2FhYjRiODkyYTAwN2QyZGUzMmMwOTY5ODFlYjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTM4LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3Rl
IG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9z
aXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+
SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48
L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxpIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhlbGxvPC9pPicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48Yj5IZWxs
bzwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5oZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+PGI+
PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9i
PicKK0ZBSUwgY29uZmlybWVkTWFya3VwIHNob3VsZCBiZSA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4
OyI+aGVsbG88L2k+PC9iPjwvaT4uIFdhcyA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+PGI+PGkg
c3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LgorUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPnBsYWlu
IHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0zOC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS0z
OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmQ2ZmVlOTI5Y2Y3NzQxYWI4MTUxN2QxYTBiNzVkODc5ZmVjMTNi
NWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtYW5kLXNhbml0aXplLTM4Lmh0bWwKQEAgLTAsMCArMSw2NyBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUg
b3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3Np
dHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuIDwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2FzeW5jIGZ1bmN0
aW9uIHRlc3RQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsKKyAgICB2
YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBy
b290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIkNvcHkiLCBmYWxzZSk7CisgICAgYXdhaXQgVUlIZWxwZXIuZW5zdXJlUHJlc2VudGF0aW9u
VXBkYXRlKCk7CisKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7Cisg
ICAgYXdhaXQgVUlIZWxwZXIuZW5zdXJlUHJlc2VudGF0aW9uVXBkYXRlKCk7CisKKyAgICBjb25m
aXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2pzVGVzdElzQXN5bmMgPSB0cnVl
OworCithc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGI+PGk+
SGVsbG88L2k+PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7CisgICAgYXdhaXQgdGVzdFBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxc
Ij48Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxv
PC9pPjwvYj4iKTsKKyAgICBhd2FpdCB0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxsbzwvaT48L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0
eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88L2k+Iik7CisgICAgYXdhaXQgdGVzdFBh
c3RlKCJkaXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhl
bGxvPC9iPjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxiPkhlbGxvPC9iPjwvZGl2PiIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+
PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdl
aWdodDogbm9ybWFsXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIs
IAorICAgICAgICAgICAgICAiPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8x
PC9pPjwvYj48Yj48aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+
PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48
L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKKyAgICBhd2Fp
dCB0ZXN0UGFzdGUoImRpdiIsICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj48Yj48aSBzdHls
ZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIsCisgICAgICAgICAgICAgICI8
aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIpOworICAgIGF3YWl0
IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDog
bm9ybWFsXCI+PGI+PGk+SGVsbG8gPCEtLSBjb21tZW50IC0tPndvcmxkPC9pPjwvYj48L3NwYW4+
PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7CisgICAg
YXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2Vp
Z2h0OiBub3JtYWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9z
cGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5v
cm1hbDtcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwv
aT48L2I+Iik7CisKKyAgICByb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKyAgICBmaW5p
c2hKU1Rlc3QoKTsKK30KKworYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTM5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtMzktZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmFmODlkY2Y4ODg0N2FhYjRiODkyYTAwN2QyZGUzMmMwOTY5ODFlYjQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5k
LXNhbml0aXplLTM5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRv
IHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhl
IHN0eWxlLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxpIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhl
bGxvPC9pPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWdu
OiBjZW50ZXI7Ij48Yj5IZWxsbzwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdl
aWdodDogbm9ybWFsOyI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+
PC9iPjwvc3Bhbj48L2k+PC9iPicKK0ZBSUwgY29uZmlybWVkTWFya3VwIHNob3VsZCBiZSA8aSBz
dHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uIFdhcyA8aSBzdHlsZT0ibWFy
Z2luOiAxMHB4OyI+PGI+PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+
LgorUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9i
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWln
aHQ6IG5vcm1hbDsiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3Nw
YW4+PC9pPjwvYj4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LWFuZC1zYW5pdGl6ZS0zOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLWFuZC1zYW5pdGl6ZS0zOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ2ZmVlOTI5Y2Y3NzQxYWI4MTUx
N2QxYTBiNzVkODc5ZmVjMTNiNWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTM5Lmh0bWwKQEAgLTAsMCArMSw2NyBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8g
cmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUg
c3R5bGUuIDwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2FzeW5jIGZ1bmN0aW9uIHRlc3RQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdp
bmFsTWFya3VwKTsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1
cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgYXdhaXQgVUlIZWxwZXIu
ZW5zdXJlUHJlc2VudGF0aW9uVXBkYXRlKCk7CisKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
UGFzdGUiLCBmYWxzZSk7CisgICAgYXdhaXQgVUlIZWxwZXIuZW5zdXJlUHJlc2VudGF0aW9uVXBk
YXRlKCk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2pz
VGVzdElzQXN5bmMgPSB0cnVlOworCithc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgIGF3
YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7CisgICAgYXdhaXQgdGVzdFBh
c3RlKCJkaXYiLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7
CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZv
bnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9k
aXY+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKKyAgICBhd2FpdCB0ZXN0UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIpOworICAg
IGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxsbzwvaT48L2Rpdj48
L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88L2k+Iik7
CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PiIpOworICAgIGF3YWl0IHRlc3RQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFs
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+PHNw
YW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvc3Bh
bj48L2k+PC9iPjwvZGl2PiIsIAorICAgICAgICAgICAgICAiPGRpdj48Yj48aT5oZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7CisgICAgYXdhaXQgdGVz
dFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3Jt
YWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+PC9p
PjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wi
PjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9p
PjwvYj4iKTsKKyAgICBhd2FpdCB0ZXN0UGFzdGUoImRpdiIsICI8aSBzdHlsZT1cIm1hcmdpbjog
MTBweDtcIj48Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIs
CisgICAgICAgICAgICAgICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+
PC9pPiIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5
bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG8gPCEtLSBjb21tZW50IC0tPndv
cmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG8mbmJzcDt3b3Js
ZDwvaT48L2I+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3Bh
biBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFs
aWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxl
PVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4
dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7CisKKyAgICByb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30KKworYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTQtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6
ZS00LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZjg5ZGNmODg4NDdhYWI0Yjg5MmEwMDdkMmRl
MzJjMDk2OTgxZWI0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS00LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFz
dGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91
dCBhZmZlY3RpbmcgdGhlIHN0eWxlLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxpIHN0eWxlPSJmb250LXdl
aWdodDogYm9sZDsiPkhlbGxvPC9pPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0
eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48Yj5IZWxsbzwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFu
IHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4m
bmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK0ZBSUwgY29uZmlybWVkTWFya3Vw
IHNob3VsZCBiZSA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uIFdh
cyA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+PGI+PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhl
bGxvPC9pPjwvYj48L2k+LgorUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvJm5i
c3A7d29ybGQ8L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBz
dHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0
ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS00Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kNmZlZTky
OWNmNzc0MWFiODE1MTdkMWEwYjc1ZDg3OWZlYzEzYjVhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS00Lmh0bWwKQEAg
LTAsMCArMSw2NyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQg
ZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFm
ZmVjdGluZyB0aGUgc3R5bGUuIDwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2FzeW5jIGZ1bmN0aW9uIHRlc3RQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisg
ICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBm
YWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgYXdh
aXQgVUlIZWxwZXIuZW5zdXJlUHJlc2VudGF0aW9uVXBkYXRlKCk7CisKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisgICAgYXdhaXQgVUlIZWxwZXIuZW5zdXJlUHJl
c2VudGF0aW9uVXBkYXRlKCk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRN
TDsKKworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCithc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7CisgICAg
YXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIsICI8Yj48aT5IZWxs
bzwvaT48L2I+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3Bh
biBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFu
PjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKKyAgICBhd2FpdCB0ZXN0
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIsICJI
ZWxsbyIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxs
bzwvaT48L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+
SGVsbG88L2k+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PiIpOworICAg
IGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdl
aWdodDogbm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsIAorICAgICAgICAgICAgICAiPGRpdj48Yj48
aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cisg
ICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQt
d2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4gaGVsbG8yPC9pPjwv
Yj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdo
dDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwv
Yj48L3NwYW4+PC9pPjwvYj4iKTsKKyAgICBhd2FpdCB0ZXN0UGFzdGUoImRpdiIsICI8aSBzdHls
ZT1cIm1hcmdpbjogMTBweDtcIj48Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwv
aT48L2I+PC9pPiIsCisgICAgICAgICAgICAgICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5o
ZWxsbzwvaT48L2I+PC9pPiIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+
PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG8gPCEtLSBj
b21tZW50IC0tPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVs
bG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj5wbGFpbiB0ZXh0PGI+
PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxp
PjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9s
ZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7CisKKyAgICByb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30KKworYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0
aXplLTQwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS1hbmQtc2FuaXRpemUtNDAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmODlkY2Y4ODg0N2Fh
YjRiODkyYTAwN2QyZGUzMmMwOTY5ODFlYjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTQwLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDE3IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlv
biB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRo
ZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+
PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxp
IHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhlbGxvPC9pPicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48Yj5IZWxsbzwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+PGI+PGk+aGVsbG8x
PC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK0ZBSUwg
Y29uZmlybWVkTWFya3VwIHNob3VsZCBiZSA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88
L2k+PC9iPjwvaT4uIFdhcyA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+PGI+PGkgc3R5bGU9Im1h
cmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LgorUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPnBsYWluIHRleHQ8Yj48
aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS00MC5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS00MC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmQ2ZmVlOTI5Y2Y3NzQxYWI4MTUxN2QxYTBiNzVkODc5ZmVjMTNiNWEKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNh
bml0aXplLTQwLmh0bWwKQEAgLTAsMCArMSw2NyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9u
IHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhl
IG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuIDwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2FzeW5jIGZ1bmN0aW9uIHRlc3RQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIgbm9kZSA9
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICByb290LmFwcGVu
ZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHki
LCBmYWxzZSk7CisgICAgYXdhaXQgVUlIZWxwZXIuZW5zdXJlUHJlc2VudGF0aW9uVXBkYXRlKCk7
CisKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisgICAgYXdhaXQg
VUlIZWxwZXIuZW5zdXJlUHJlc2VudGF0aW9uVXBkYXRlKCk7CisKKyAgICBjb25maXJtZWRNYXJr
dXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCithc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVsbG88L2k+
PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4i
KTsKKyAgICBhd2FpdCB0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxk
aXY+PGI+PGRpdj48aT5IZWxsbzwvaT48L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9u
dC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88L2k+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYi
LCAiPGRpdj48ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxv
PC9iPjwvZGl2PiIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNw
YW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bh
bj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9y
bWFsXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsIAorICAgICAg
ICAgICAgICAiPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48
c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48
Yj48aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4g
c3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+
Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKKyAgICBhd2FpdCB0ZXN0UGFz
dGUoImRpdiIsICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj48Yj48aSBzdHlsZT1cIm1hcmdp
bjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIsCisgICAgICAgICAgICAgICI8aSBzdHlsZT1c
Im1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIpOworICAgIGF3YWl0IHRlc3RQYXN0
ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+
PGI+PGk+SGVsbG8gPCEtLSBjb21tZW50IC0tPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48
L2Rpdj4iLCAiPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7CisgICAgYXdhaXQgdGVz
dFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3Jt
YWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48
L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5w
bGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7
CisKKyAgICByb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKyAgICBmaW5pc2hKU1Rlc3Qo
KTsKK30KKworYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtYW5kLXNhbml0aXplLTQxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNDEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmFmODlkY2Y4ODg0N2FhYjRiODkyYTAwN2QyZGUzMmMwOTY5ODFlYjQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXpl
LTQxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
dGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0
aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5I
ZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxpIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhlbGxvPC9pPicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7
Ij48Yj5IZWxsbzwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9y
bWFsOyI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bh
bj48L2k+PC9iPicKK0ZBSUwgY29uZmlybWVkTWFya3VwIHNob3VsZCBiZSA8aSBzdHlsZT0ibWFy
Z2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uIFdhcyA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4
OyI+PGI+PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LgorUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1h
bDsiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwv
Yj4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5p
dGl6ZS00MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1z
YW5pdGl6ZS00MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ2ZmVlOTI5Y2Y3NzQxYWI4MTUxN2QxYTBiNzVk
ODc5ZmVjMTNiNWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTQxLmh0bWwKQEAgLTAsMCArMSw2NyBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0
aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRo
ZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuIDwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Fz
eW5jIGZ1bmN0aW9uIHRlc3RQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQp
IHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3Vw
KTsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgYXdhaXQgVUlIZWxwZXIuZW5zdXJlUHJl
c2VudGF0aW9uVXBkYXRlKCk7CisKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBm
YWxzZSk7CisgICAgYXdhaXQgVUlIZWxwZXIuZW5zdXJlUHJlc2VudGF0aW9uVXBkYXRlKCk7CisK
KyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2pzVGVzdElzQXN5
bmMgPSB0cnVlOworCithc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgIGF3YWl0IHRlc3RQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYi
LCAiPGI+PGk+SGVsbG88L2k+PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7CisgICAgYXdh
aXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0
OiBub3JtYWxcIj48Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxi
PjxpPkhlbGxvPC9pPjwvYj4iKTsKKyAgICBhd2FpdCB0ZXN0UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIpOworICAgIGF3YWl0IHRl
c3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxsbzwvaT48L2Rpdj48L2I+PC9kaXY+
IiwgIjxpIHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88L2k+Iik7CisgICAgYXdh
aXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxiPkhlbGxvPC9iPjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PiIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2
IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9
XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9i
PjwvZGl2PiIsIAorICAgICAgICAgICAgICAiPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+
PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rp
dj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhl
bGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsK
KyAgICBhd2FpdCB0ZXN0UGFzdGUoImRpdiIsICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj48
Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIsCisgICAgICAg
ICAgICAgICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIpOwor
ICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250
LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG8gPCEtLSBjb21tZW50IC0tPndvcmxkPC9pPjwv
Yj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+
Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1c
ImZvbnQtd2VpZ2h0OiBub3JtYWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwv
aT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13
ZWlnaHQ6IG5vcm1hbDtcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+
PC9zcGFuPjwvaT48L2I+Iik7CisKKyAgICByb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
KyAgICBmaW5pc2hKU1Rlc3QoKTsKK30KKworYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTQyLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNDItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmODlkY2Y4ODg0N2FhYjRiODkyYTAwN2QyZGUzMmMwOTY5
ODFlYjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtYW5kLXNhbml0aXplLTQyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZy
YWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZl
Y3RpbmcgdGhlIHN0eWxlLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxpIHN0eWxlPSJmb250LXdlaWdodDog
Ym9sZDsiPkhlbGxvPC9pPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0
ZXh0LWFsaWduOiBjZW50ZXI7Ij48Yj5IZWxsbzwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxl
PSJmb250LXdlaWdodDogbm9ybWFsOyI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDto
ZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK0ZBSUwgY29uZmlybWVkTWFya3VwIHNob3Vs
ZCBiZSA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uIFdhcyA8aSBz
dHlsZT0ibWFyZ2luOiAxMHB4OyI+PGI+PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9p
PjwvYj48L2k+LgorUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvJm5ic3A7d29y
bGQ8L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0i
Zm9udC13ZWlnaHQ6IG5vcm1hbDsiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9p
PjwvYj48L3NwYW4+PC9pPjwvYj4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS00Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS00Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ2ZmVlOTI5Y2Y3
NzQxYWI4MTUxN2QxYTBiNzVkODc5ZmVjMTNiNWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTQyLmh0bWwKQEAgLTAs
MCArMSw2NyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJh
Z21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVj
dGluZyB0aGUgc3R5bGUuIDwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2FzeW5jIGZ1bmN0aW9uIHRlc3RQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAg
bm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxz
ZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgYXdhaXQg
VUlIZWxwZXIuZW5zdXJlUHJlc2VudGF0aW9uVXBkYXRlKCk7CisKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisgICAgYXdhaXQgVUlIZWxwZXIuZW5zdXJlUHJlc2Vu
dGF0aW9uVXBkYXRlKCk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsK
KworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCithc3luYyBmdW5jdGlvbiBydW5UZXN0KCkg
eworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7CisgICAgYXdh
aXQgdGVzdFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIsICI8Yj48aT5IZWxsbzwv
aT48L2I+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBz
dHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwv
aT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKKyAgICBhd2FpdCB0ZXN0UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxs
byIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxsbzwv
aT48L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+SGVs
bG88L2k+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PiIpOworICAgIGF3
YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdo
dDogbm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsIAorICAgICAgICAgICAgICAiPGRpdj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7CisgICAg
YXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2Vp
Z2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4gaGVsbG8yPC9pPjwvYj48
L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDog
bm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48
L3NwYW4+PC9pPjwvYj4iKTsKKyAgICBhd2FpdCB0ZXN0UGFzdGUoImRpdiIsICI8aSBzdHlsZT1c
Im1hcmdpbjogMTBweDtcIj48Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48
L2I+PC9pPiIsCisgICAgICAgICAgICAgICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxs
bzwvaT48L2I+PC9pPiIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+
PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG8gPCEtLSBjb21t
ZW50IC0tPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG8m
bmJzcDt3b3JsZDwvaT48L2I+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj5wbGFpbiB0ZXh0PGI+PGk+
Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxz
cGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBp
dGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7CisKKyAgICByb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30KKworYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXpl
LTQzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1h
bmQtc2FuaXRpemUtNDMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmODlkY2Y4ODg0N2FhYjRi
ODkyYTAwN2QyZGUzMmMwOTY5ODFlYjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTQzLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDE3IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0
cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBt
YXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9i
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxpIHN0
eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhlbGxvPC9pPicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48Yj5IZWxsbzwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+PGI+PGk+aGVsbG8xPC9p
PjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK0ZBSUwgY29u
ZmlybWVkTWFya3VwIHNob3VsZCBiZSA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+
PC9iPjwvaT4uIFdhcyA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+PGI+PGkgc3R5bGU9Im1hcmdp
bjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LgorUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxi
PjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPnBsYWluIHRleHQ8Yj48aT5i
b2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS00My5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS00My5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmQ2ZmVlOTI5Y2Y3NzQxYWI4MTUxN2QxYTBiNzVkODc5ZmVjMTNiNWEKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0
aXplLTQzLmh0bWwKQEAgLTAsMCArMSw2NyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRy
aW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1h
cmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuIDwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2FzeW5jIGZ1bmN0aW9uIHRlc3RQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIgbm9kZSA9IGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICByb290LmFwcGVuZENo
aWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBm
YWxzZSk7CisgICAgYXdhaXQgVUlIZWxwZXIuZW5zdXJlUHJlc2VudGF0aW9uVXBkYXRlKCk7CisK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisgICAgYXdhaXQgVUlI
ZWxwZXIuZW5zdXJlUHJlc2VudGF0aW9uVXBkYXRlKCk7CisKKyAgICBjb25maXJtZWRNYXJrdXAg
PSBub2RlLmlubmVySFRNTDsKKworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCithc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVsbG88L2k+PC9i
PiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxs
bzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsK
KyAgICBhd2FpdCB0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjwv
ZGl2PjwvZGl2PiIsICJIZWxsbyIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+
PGI+PGRpdj48aT5IZWxsbzwvaT48L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9udC13
ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88L2k+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAi
PGRpdj48ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9i
PjwvZGl2PiIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4g
c3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFs
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsIAorICAgICAgICAg
ICAgICAiPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3Bh
biBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48
aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5
bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5i
c3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKKyAgICBhd2FpdCB0ZXN0UGFzdGUo
ImRpdiIsICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj48Yj48aSBzdHlsZT1cIm1hcmdpbjog
MTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIsCisgICAgICAgICAgICAgICI8aSBzdHlsZT1cIm1h
cmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+
PGk+SGVsbG8gPCEtLSBjb21tZW50IC0tPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rp
dj4iLCAiPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7CisgICAgYXdhaXQgdGVzdFBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxc
Ij5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+
PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5wbGFp
biB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7CisK
KyAgICByb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsK
K30KKworYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtYW5kLXNhbml0aXplLTQ0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNDQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmFmODlkY2Y4ODg0N2FhYjRiODkyYTAwN2QyZGUzMmMwOTY5ODFlYjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTQ0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhl
IHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUg
dmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxs
bzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxpIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhlbGxvPC9pPicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48
Yj5IZWxsbzwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFs
OyI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48
L2k+PC9iPicKK0ZBSUwgY29uZmlybWVkTWFya3VwIHNob3VsZCBiZSA8aSBzdHlsZT0ibWFyZ2lu
OiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uIFdhcyA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+
PGI+PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LgorUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsi
PnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6
ZS00NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5p
dGl6ZS00NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ2ZmVlOTI5Y2Y3NzQxYWI4MTUxN2QxYTBiNzVkODc5
ZmVjMTNiNWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtYW5kLXNhbml0aXplLTQ0Lmh0bWwKQEAgLTAsMCArMSw2NyBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUg
cGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2
ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuIDwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2FzeW5j
IGZ1bmN0aW9uIHRlc3RQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsK
KyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsK
KyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgYXdhaXQgVUlIZWxwZXIuZW5zdXJlUHJlc2Vu
dGF0aW9uVXBkYXRlKCk7CisKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxz
ZSk7CisgICAgYXdhaXQgVUlIZWxwZXIuZW5zdXJlUHJlc2VudGF0aW9uVXBkYXRlKCk7CisKKyAg
ICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2pzVGVzdElzQXN5bmMg
PSB0cnVlOworCithc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgIGF3YWl0IHRlc3RQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAi
PGI+PGk+SGVsbG88L2k+PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7CisgICAgYXdhaXQg
dGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBu
b3JtYWxcIj48Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxp
PkhlbGxvPC9pPjwvYj4iKTsKKyAgICBhd2FpdCB0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIpOworICAgIGF3YWl0IHRlc3RQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxsbzwvaT48L2Rpdj48L2I+PC9kaXY+Iiwg
IjxpIHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88L2k+Iik7CisgICAgYXdhaXQg
dGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxiPkhlbGxvPC9iPjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PiIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJm
b250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwv
ZGl2PiIsIAorICAgICAgICAgICAgICAiPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+
aGVsbG8xPC9pPjwvYj48Yj48aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4i
LCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxv
MTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKKyAg
ICBhd2FpdCB0ZXN0UGFzdGUoImRpdiIsICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj48Yj48
aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIsCisgICAgICAgICAg
ICAgICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIpOworICAg
IGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdl
aWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG8gPCEtLSBjb21tZW50IC0tPndvcmxkPC9pPjwvYj48
L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7
CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZv
bnQtd2VpZ2h0OiBub3JtYWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48
L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWln
aHQ6IG5vcm1hbDtcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9z
cGFuPjwvaT48L2I+Iik7CisKKyAgICByb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKyAg
ICBmaW5pc2hKU1Rlc3QoKTsKK30KKworYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTQ1LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNDUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmFmODlkY2Y4ODg0N2FhYjRiODkyYTAwN2QyZGUzMmMwOTY5ODFl
YjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtYW5kLXNhbml0aXplLTQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdt
ZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3Rp
bmcgdGhlIHN0eWxlLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hl
bGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxpIHN0eWxlPSJmb250LXdlaWdodDogYm9s
ZDsiPkhlbGxvPC9pPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0
LWFsaWduOiBjZW50ZXI7Ij48Yj5IZWxsbzwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJm
b250LXdlaWdodDogbm9ybWFsOyI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxs
bzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK0ZBSUwgY29uZmlybWVkTWFya3VwIHNob3VsZCBi
ZSA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uIFdhcyA8aSBzdHls
ZT0ibWFyZ2luOiAxMHB4OyI+PGI+PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwv
Yj48L2k+LgorUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8
L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9u
dC13ZWlnaHQ6IG5vcm1hbDsiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwv
Yj48L3NwYW4+PC9pPjwvYj4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLWFuZC1zYW5pdGl6ZS00NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS00NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ2ZmVlOTI5Y2Y3NzQx
YWI4MTUxN2QxYTBiNzVkODc5ZmVjMTNiNWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTQ1Lmh0bWwKQEAgLTAsMCAr
MSw2NyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21l
bnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGlu
ZyB0aGUgc3R5bGUuIDwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2FzeW5jIGZ1bmN0aW9uIHRlc3RQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG9yaWdpbmFsTWFya3VwKTsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9k
ZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgYXdhaXQgVUlI
ZWxwZXIuZW5zdXJlUHJlc2VudGF0aW9uVXBkYXRlKCk7CisKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiUGFzdGUiLCBmYWxzZSk7CisgICAgYXdhaXQgVUlIZWxwZXIuZW5zdXJlUHJlc2VudGF0
aW9uVXBkYXRlKCk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCithc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7CisgICAgYXdhaXQg
dGVzdFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48
L2I+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHls
ZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48
L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKKyAgICBhd2FpdCB0ZXN0UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIp
OworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxsbzwvaT48
L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88
L2k+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PiIpOworICAgIGF3YWl0
IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDog
bm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+d29ybGQ8L2k+PC9i
Pjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsIAorICAgICAgICAgICAgICAiPGRpdj48Yj48aT5oZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7CisgICAgYXdh
aXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0
OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4gaGVsbG8yPC9pPjwvYj48L3Nw
YW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9y
bWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3Nw
YW4+PC9pPjwvYj4iKTsKKyAgICBhd2FpdCB0ZXN0UGFzdGUoImRpdiIsICI8aSBzdHlsZT1cIm1h
cmdpbjogMTBweDtcIj48Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+
PC9pPiIsCisgICAgICAgICAgICAgICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwv
aT48L2I+PC9pPiIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNw
YW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG8gPCEtLSBjb21tZW50
IC0tPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG8mbmJz
cDt3b3JsZDwvaT48L2I+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9s
ZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFu
IHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFs
aWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7CisKKyAgICByb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30KKworYWRkRXZlbnRMaXN0ZW5l
cigibG9hZCIsIHJ1blRlc3QpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTQ2
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQt
c2FuaXRpemUtNDYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmODlkY2Y4ODg0N2FhYjRiODky
YTAwN2QyZGUzMmMwOTY5ODFlYjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTQ2LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDE3IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmlt
cyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJr
dXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxpIHN0eWxl
PSJmb250LXdlaWdodDogYm9sZDsiPkhlbGxvPC9pPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48Yj5IZWxsbzwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxi
PjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+PGI+PGk+aGVsbG8xPC9pPjwv
Yj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK0ZBSUwgY29uZmly
bWVkTWFya3VwIHNob3VsZCBiZSA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9i
PjwvaT4uIFdhcyA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+PGI+PGkgc3R5bGU9Im1hcmdpbjog
MTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LgorUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxp
PkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48
aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPnBsYWluIHRleHQ8Yj48aT5ib2xk
IGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS00Ni5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS00Ni5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmQ2ZmVlOTI5Y2Y3NzQxYWI4MTUxN2QxYTBiNzVkODc5ZmVjMTNiNWEKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXpl
LTQ2Lmh0bWwKQEAgLTAsMCArMSw2NyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1z
IHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1
cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuIDwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2FzeW5jIGZ1bmN0aW9uIHRlc3RQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICByb290LmFwcGVuZENoaWxk
KG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJT
ZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxz
ZSk7CisgICAgYXdhaXQgVUlIZWxwZXIuZW5zdXJlUHJlc2VudGF0aW9uVXBkYXRlKCk7CisKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisgICAgYXdhaXQgVUlIZWxw
ZXIuZW5zdXJlUHJlc2VudGF0aW9uVXBkYXRlKCk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBu
b2RlLmlubmVySFRNTDsKKworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCithc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIs
ICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbzwv
aT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKKyAg
ICBhd2FpdCB0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2
PjwvZGl2PiIsICJIZWxsbyIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+
PGRpdj48aT5IZWxsbzwvaT48L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9udC13ZWln
aHQ6IGJvbGQ7XCI+SGVsbG88L2k+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRp
dj48ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwv
ZGl2PiIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5
bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsIAorICAgICAgICAgICAg
ICAiPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBz
dHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4g
aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9
XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7
aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKKyAgICBhd2FpdCB0ZXN0UGFzdGUoImRp
diIsICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj48Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBw
eDtcIj5oZWxsbzwvaT48L2I+PC9pPiIsCisgICAgICAgICAgICAgICI8aSBzdHlsZT1cIm1hcmdp
bjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2
IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+
SGVsbG8gPCEtLSBjb21tZW50IC0tPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4i
LCAiPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7CisgICAgYXdhaXQgdGVzdFBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj5w
bGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9k
aXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5wbGFpbiB0
ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7CisKKyAg
ICByb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30K
KworYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtYW5kLXNhbml0aXplLTQ3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNDctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFm
ODlkY2Y4ODg0N2FhYjRiODkyYTAwN2QyZGUzMmMwOTY5ODFlYjQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTQ3LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBh
c3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVy
Ym9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+
PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwv
aT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxpIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhlbGxvPC9pPicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48Yj5I
ZWxsbzwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5oZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+
PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+
PC9iPicKK0ZBSUwgY29uZmlybWVkTWFya3VwIHNob3VsZCBiZSA8aSBzdHlsZT0ibWFyZ2luOiAx
MHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uIFdhcyA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+PGI+
PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LgorUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPnBs
YWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS00
Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6
ZS00Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ2ZmVlOTI5Y2Y3NzQxYWI4MTUxN2QxYTBiNzVkODc5ZmVj
MTNiNWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtYW5kLXNhbml0aXplLTQ3Lmh0bWwKQEAgLTAsMCArMSw2NyBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFz
dGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJi
b3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuIDwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2FzeW5jIGZ1
bmN0aW9uIHRlc3RQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsKKyAg
ICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAg
ICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgYXdhaXQgVUlIZWxwZXIuZW5zdXJlUHJlc2VudGF0
aW9uVXBkYXRlKCk7CisKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7
CisgICAgYXdhaXQgVUlIZWxwZXIuZW5zdXJlUHJlc2VudGF0aW9uVXBkYXRlKCk7CisKKyAgICBj
b25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2pzVGVzdElzQXN5bmMgPSB0
cnVlOworCithc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgIGF3YWl0IHRlc3RQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGI+
PGk+SGVsbG88L2k+PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7CisgICAgYXdhaXQgdGVz
dFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3Jt
YWxcIj48Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhl
bGxvPC9pPjwvYj4iKTsKKyAgICBhd2FpdCB0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIpOworICAgIGF3YWl0IHRlc3RQYXN0
ZSgiZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxsbzwvaT48L2Rpdj48L2I+PC9kaXY+IiwgIjxp
IHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88L2k+Iik7CisgICAgYXdhaXQgdGVz
dFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxi
PkhlbGxvPC9iPjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxiPkhlbGxvPC9iPjwvZGl2PiIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxk
aXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250
LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2
PiIsIAorICAgICAgICAgICAgICAiPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVs
bG8xPC9pPjwvYj48Yj48aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAi
PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwv
aT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKKyAgICBh
d2FpdCB0ZXN0UGFzdGUoImRpdiIsICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj48Yj48aSBz
dHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIsCisgICAgICAgICAgICAg
ICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIpOworICAgIGF3
YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdo
dDogbm9ybWFsXCI+PGI+PGk+SGVsbG8gPCEtLSBjb21tZW50IC0tPndvcmxkPC9pPjwvYj48L3Nw
YW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7Cisg
ICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQt
d2VpZ2h0OiBub3JtYWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+
PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6
IG5vcm1hbDtcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFu
PjwvaT48L2I+Iik7CisKKyAgICByb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKyAgICBm
aW5pc2hKU1Rlc3QoKTsKK30KKworYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTQ4LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNDgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmFmODlkY2Y4ODg0N2FhYjRiODkyYTAwN2QyZGUzMmMwOTY5ODFlYjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
YW5kLXNhbml0aXplLTQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50
IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3Rpbmcg
dGhlIHN0eWxlLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxv
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxpIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsi
PkhlbGxvPC9pPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFs
aWduOiBjZW50ZXI7Ij48Yj5IZWxsbzwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250
LXdlaWdodDogbm9ybWFsOyI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8
L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK0ZBSUwgY29uZmlybWVkTWFya3VwIHNob3VsZCBiZSA8
aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uIFdhcyA8aSBzdHlsZT0i
bWFyZ2luOiAxMHB4OyI+PGI+PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48
L2k+LgorUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+
PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13
ZWlnaHQ6IG5vcm1hbDsiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48
L3NwYW4+PC9pPjwvYj4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLWFuZC1zYW5pdGl6ZS00OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLWFuZC1zYW5pdGl6ZS00OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ2ZmVlOTI5Y2Y3NzQxYWI4
MTUxN2QxYTBiNzVkODc5ZmVjMTNiNWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTQ4Lmh0bWwKQEAgLTAsMCArMSw2
NyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQg
dG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0
aGUgc3R5bGUuIDwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2FzeW5jIGZ1bmN0aW9uIHRlc3RQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwKTsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5m
b2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgYXdhaXQgVUlIZWxw
ZXIuZW5zdXJlUHJlc2VudGF0aW9uVXBkYXRlKCk7CisKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiUGFzdGUiLCBmYWxzZSk7CisgICAgYXdhaXQgVUlIZWxwZXIuZW5zdXJlUHJlc2VudGF0aW9u
VXBkYXRlKCk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2pzVGVzdElzQXN5bmMgPSB0cnVlOworCithc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
IGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7CisgICAgYXdhaXQgdGVz
dFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48L2I+
Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1c
ImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+
PC9kaXY+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKKyAgICBhd2FpdCB0ZXN0UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIpOwor
ICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxsbzwvaT48L2Rp
dj48L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88L2k+
Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PiIpOworICAgIGF3YWl0IHRl
c3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9y
bWFsXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
c3Bhbj48L2k+PC9iPjwvZGl2PiIsIAorICAgICAgICAgICAgICAiPGRpdj48Yj48aT5oZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7CisgICAgYXdhaXQg
dGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBu
b3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+
PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFs
O1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+
PC9pPjwvYj4iKTsKKyAgICBhd2FpdCB0ZXN0UGFzdGUoImRpdiIsICI8aSBzdHlsZT1cIm1hcmdp
bjogMTBweDtcIj48Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9p
PiIsCisgICAgICAgICAgICAgICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48
L2I+PC9pPiIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4g
c3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG8gPCEtLSBjb21tZW50IC0t
PndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG8mbmJzcDt3
b3JsZDwvaT48L2I+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48
c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBp
dGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0
eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMg
dGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7CisKKyAgICByb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30KKworYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTQ5LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2Fu
aXRpemUtNDktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmODlkY2Y4ODg0N2FhYjRiODkyYTAw
N2QyZGUzMmMwOTY5ODFlYjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTQ5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDE3IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0
aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAg
d2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxpIHN0eWxlPSJm
b250LXdlaWdodDogYm9sZDsiPkhlbGxvPC9pPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48Yj5IZWxsbzwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxp
PjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+PGI+PGk+aGVsbG8xPC9pPjwvYj48
Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK0ZBSUwgY29uZmlybWVk
TWFya3VwIHNob3VsZCBiZSA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwv
aT4uIFdhcyA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+PGI+PGkgc3R5bGU9Im1hcmdpbjogMTBw
eDsiPmhlbGxvPC9pPjwvYj48L2k+LgorUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhl
bGxvJm5ic3A7d29ybGQ8L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48
c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0
YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS00OS5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS00OS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmQ2ZmVlOTI5Y2Y3NzQxYWI4MTUxN2QxYTBiNzVkODc5ZmVjMTNiNWEKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTQ5
Lmh0bWwKQEAgLTAsMCArMSw2NyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRo
ZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3
aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuIDwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2FzeW5jIGZ1bmN0aW9uIHRlc3RQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICByb290LmFwcGVuZENoaWxkKG5v
ZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxl
Y3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7
CisgICAgYXdhaXQgVUlIZWxwZXIuZW5zdXJlUHJlc2VudGF0aW9uVXBkYXRlKCk7CisKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisgICAgYXdhaXQgVUlIZWxwZXIu
ZW5zdXJlUHJlc2VudGF0aW9uVXBkYXRlKCk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2Rl
LmlubmVySFRNTDsKKworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCithc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIsICI8
Yj48aT5IZWxsbzwvaT48L2I+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbzwvaT48
L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKKyAgICBh
d2FpdCB0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2Pjwv
ZGl2PiIsICJIZWxsbyIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGRp
dj48aT5IZWxsbzwvaT48L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9udC13ZWlnaHQ6
IGJvbGQ7XCI+SGVsbG88L2k+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2
PiIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9
XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsIAorICAgICAgICAgICAgICAi
PGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHls
ZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4gaGVs
bG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJm
b250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVs
bG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKKyAgICBhd2FpdCB0ZXN0UGFzdGUoImRpdiIs
ICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj48Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBweDtc
Ij5oZWxsbzwvaT48L2I+PC9pPiIsCisgICAgICAgICAgICAgICI8aSBzdHlsZT1cIm1hcmdpbjog
MTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVs
bG8gPCEtLSBjb21tZW50IC0tPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAi
PGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj5wbGFp
biB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+
IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5wbGFpbiB0ZXh0
PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7CisKKyAgICBy
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30KKwor
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
YW5kLXNhbml0aXplLTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS01LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZjg5ZGNm
ODg4NDdhYWI0Yjg5MmEwMDdkMmRlMzJjMDk2OTgxZWI0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS01LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDE3IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9w
ZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5
IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVs
bG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxpIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhlbGxvPC9pPicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48Yj5IZWxsbzwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5oZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+PGI+PGk+
aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicK
K0ZBSUwgY29uZmlybWVkTWFya3VwIHNob3VsZCBiZSA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+
aGVsbG88L2k+PC9iPjwvaT4uIFdhcyA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+PGI+PGkgc3R5
bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LgorUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPnBsYWluIHRl
eHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS01Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTUuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5kNmZlZTkyOWNmNzc0MWFiODE1MTdkMWEwYjc1ZDg3OWZlYzEzYjVhCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFu
ZC1zYW5pdGl6ZS01Lmh0bWwKQEAgLTAsMCArMSw2NyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0
aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2Yg
dGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuIDwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2FzeW5jIGZ1bmN0aW9uIHRl
c3RQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIgbm9k
ZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICByb290LmFw
cGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNv
cHkiLCBmYWxzZSk7CisgICAgYXdhaXQgVUlIZWxwZXIuZW5zdXJlUHJlc2VudGF0aW9uVXBkYXRl
KCk7CisKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisgICAgYXdh
aXQgVUlIZWxwZXIuZW5zdXJlUHJlc2VudGF0aW9uVXBkYXRlKCk7CisKKyAgICBjb25maXJtZWRN
YXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCith
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVsbG88
L2k+PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48
aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvPC9pPjwv
Yj4iKTsKKyAgICBhd2FpdCB0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGI+PGRpdj48aT5IZWxsbzwvaT48L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwi
Zm9udC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88L2k+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJk
aXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9i
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhl
bGxvPC9iPjwvZGl2PiIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+
PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
c3Bhbj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDog
bm9ybWFsXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsIAorICAg
ICAgICAgICAgICAiPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwv
Yj48Yj48aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNw
YW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+
PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKKyAgICBhd2FpdCB0ZXN0
UGFzdGUoImRpdiIsICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj48Yj48aSBzdHlsZT1cIm1h
cmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIsCisgICAgICAgICAgICAgICI8aSBzdHls
ZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIpOworICAgIGF3YWl0IHRlc3RQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFs
XCI+PGI+PGk+SGVsbG8gPCEtLSBjb21tZW50IC0tPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwv
Yj48L2Rpdj4iLCAiPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7CisgICAgYXdhaXQg
dGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBu
b3JtYWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwv
aT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtc
Ij5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+
Iik7CisKKyAgICByb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKyAgICBmaW5pc2hKU1Rl
c3QoKTsKK30KKworYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTUwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtNTAtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmFmODlkY2Y4ODg0N2FhYjRiODkyYTAwN2QyZGUzMmMwOTY5ODFlYjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0
aXplLTUwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVj
ZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxl
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48
aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxpIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhlbGxvPC9p
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50
ZXI7Ij48Yj5IZWxsbzwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDog
bm9ybWFsOyI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwv
c3Bhbj48L2k+PC9iPicKK0ZBSUwgY29uZmlybWVkTWFya3VwIHNob3VsZCBiZSA8aSBzdHlsZT0i
bWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uIFdhcyA8aSBzdHlsZT0ibWFyZ2luOiAx
MHB4OyI+PGI+PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LgorUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5v
cm1hbDsiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9p
PjwvYj4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1z
YW5pdGl6ZS01MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFu
ZC1zYW5pdGl6ZS01MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ2ZmVlOTI5Y2Y3NzQxYWI4MTUxN2QxYTBi
NzVkODc5ZmVjMTNiNWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTUwLmh0bWwKQEAgLTAsMCArMSw2NyBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNl
IHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUu
IDwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2FzeW5jIGZ1bmN0aW9uIHRlc3RQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFy
a3VwKTsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgYXdhaXQgVUlIZWxwZXIuZW5zdXJl
UHJlc2VudGF0aW9uVXBkYXRlKCk7CisKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUi
LCBmYWxzZSk7CisgICAgYXdhaXQgVUlIZWxwZXIuZW5zdXJlUHJlc2VudGF0aW9uVXBkYXRlKCk7
CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2pzVGVzdElz
QXN5bmMgPSB0cnVlOworCithc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgIGF3YWl0IHRl
c3RQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJk
aXYiLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7CisgICAg
YXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2Vp
Z2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+Iiwg
IjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKKyAgICBhd2FpdCB0ZXN0UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIpOworICAgIGF3YWl0
IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxsbzwvaT48L2Rpdj48L2I+PC9k
aXY+IiwgIjxpIHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88L2k+Iik7CisgICAg
YXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PiIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5
bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+
PC9iPjwvZGl2PiIsIAorICAgICAgICAgICAgICAiPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7CisgICAgYXdhaXQgdGVzdFBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+
PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48
L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxp
PmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4i
KTsKKyAgICBhd2FpdCB0ZXN0UGFzdGUoImRpdiIsICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtc
Ij48Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIsCisgICAg
ICAgICAgICAgICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIp
OworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJm
b250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG8gPCEtLSBjb21tZW50IC0tPndvcmxkPC9p
PjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48
L2I+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHls
ZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4
dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9u
dC13ZWlnaHQ6IG5vcm1hbDtcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48
L2I+PC9zcGFuPjwvaT48L2I+Iik7CisKKyAgICByb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30KKworYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTYtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS02LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZjg5ZGNmODg4NDdhYWI0Yjg5MmEwMDdkMmRlMzJjMDk2
OTgxZWI0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLWFuZC1zYW5pdGl6ZS02LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZy
YWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZl
Y3RpbmcgdGhlIHN0eWxlLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxpIHN0eWxlPSJmb250LXdlaWdodDog
Ym9sZDsiPkhlbGxvPC9pPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0
ZXh0LWFsaWduOiBjZW50ZXI7Ij48Yj5IZWxsbzwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxl
PSJmb250LXdlaWdodDogbm9ybWFsOyI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDto
ZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK0ZBSUwgY29uZmlybWVkTWFya3VwIHNob3Vs
ZCBiZSA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uIFdhcyA8aSBz
dHlsZT0ibWFyZ2luOiAxMHB4OyI+PGI+PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9p
PjwvYj48L2k+LgorUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvJm5ic3A7d29y
bGQ8L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0i
Zm9udC13ZWlnaHQ6IG5vcm1hbDsiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9p
PjwvYj48L3NwYW4+PC9pPjwvYj4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS02Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kNmZlZTkyOWNmNzc0
MWFiODE1MTdkMWEwYjc1ZDg3OWZlYzEzYjVhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS02Lmh0bWwKQEAgLTAsMCAr
MSw2NyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21l
bnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGlu
ZyB0aGUgc3R5bGUuIDwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2FzeW5jIGZ1bmN0aW9uIHRlc3RQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG9yaWdpbmFsTWFya3VwKTsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9k
ZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgYXdhaXQgVUlI
ZWxwZXIuZW5zdXJlUHJlc2VudGF0aW9uVXBkYXRlKCk7CisKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiUGFzdGUiLCBmYWxzZSk7CisgICAgYXdhaXQgVUlIZWxwZXIuZW5zdXJlUHJlc2VudGF0
aW9uVXBkYXRlKCk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCithc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7CisgICAgYXdhaXQg
dGVzdFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48
L2I+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHls
ZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48
L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKKyAgICBhd2FpdCB0ZXN0UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIp
OworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxsbzwvaT48
L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88
L2k+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PiIpOworICAgIGF3YWl0
IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDog
bm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+d29ybGQ8L2k+PC9i
Pjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsIAorICAgICAgICAgICAgICAiPGRpdj48Yj48aT5oZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7CisgICAgYXdh
aXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0
OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4gaGVsbG8yPC9pPjwvYj48L3Nw
YW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9y
bWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3Nw
YW4+PC9pPjwvYj4iKTsKKyAgICBhd2FpdCB0ZXN0UGFzdGUoImRpdiIsICI8aSBzdHlsZT1cIm1h
cmdpbjogMTBweDtcIj48Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+
PC9pPiIsCisgICAgICAgICAgICAgICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwv
aT48L2I+PC9pPiIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNw
YW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG8gPCEtLSBjb21tZW50
IC0tPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG8mbmJz
cDt3b3JsZDwvaT48L2I+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9s
ZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFu
IHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFs
aWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7CisKKyAgICByb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30KKworYWRkRXZlbnRMaXN0ZW5l
cigibG9hZCIsIHJ1blRlc3QpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTct
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1z
YW5pdGl6ZS03LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZjg5ZGNmODg4NDdhYWI0Yjg5MmEw
MDdkMmRlMzJjMDk2OTgxZWI0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS03LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDE3IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0
aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAg
d2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxpIHN0eWxlPSJm
b250LXdlaWdodDogYm9sZDsiPkhlbGxvPC9pPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48Yj5IZWxsbzwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxp
PjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+PGI+PGk+aGVsbG8xPC9pPjwvYj48
Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK0ZBSUwgY29uZmlybWVk
TWFya3VwIHNob3VsZCBiZSA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVsbG88L2k+PC9iPjwv
aT4uIFdhcyA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+PGI+PGkgc3R5bGU9Im1hcmdpbjogMTBw
eDsiPmhlbGxvPC9pPjwvYj48L2k+LgorUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhl
bGxvJm5ic3A7d29ybGQ8L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT48
c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0
YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS03Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTcuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5k
NmZlZTkyOWNmNzc0MWFiODE1MTdkMWEwYjc1ZDg3OWZlYzEzYjVhCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS03Lmh0
bWwKQEAgLTAsMCArMSw2NyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBw
YXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRo
b3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuIDwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2FzeW5jIGZ1bmN0aW9uIHRlc3RQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUp
OworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RB
bGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7Cisg
ICAgYXdhaXQgVUlIZWxwZXIuZW5zdXJlUHJlc2VudGF0aW9uVXBkYXRlKCk7CisKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisgICAgYXdhaXQgVUlIZWxwZXIuZW5z
dXJlUHJlc2VudGF0aW9uVXBkYXRlKCk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlu
bmVySFRNTDsKKworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCithc3luYyBmdW5jdGlvbiBy
dW5UZXN0KCkgeworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIsICI8Yj48
aT5IZWxsbzwvaT48L2I+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5IZWxsbzwvaT48L2I+
PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKKyAgICBhd2Fp
dCB0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2
PiIsICJIZWxsbyIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGRpdj48
aT5IZWxsbzwvaT48L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJv
bGQ7XCI+SGVsbG88L2k+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwvZGl2PiIp
OworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJm
b250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsIAorICAgICAgICAgICAgICAiPGRp
dj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1c
ImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4gaGVsbG8y
PC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250
LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8y
PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKKyAgICBhd2FpdCB0ZXN0UGFzdGUoImRpdiIsICI8
aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj48Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5o
ZWxsbzwvaT48L2I+PC9pPiIsCisgICAgICAgICAgICAgICI8aSBzdHlsZT1cIm1hcmdpbjogMTBw
eDtcIj5oZWxsbzwvaT48L2I+PC9pPiIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxk
aXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG8g
PCEtLSBjb21tZW50IC0tPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+
PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj5wbGFpbiB0
ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+Iiwg
IjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5wbGFpbiB0ZXh0PGI+
PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7CisKKyAgICByb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30KKworYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5k
LXNhbml0aXplLTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLWFuZC1zYW5pdGl6ZS04LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZjg5ZGNmODg4
NDdhYWI0Yjg5MmEwMDdkMmRlMzJjMDk2OTgxZWI0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS04LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDE3IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHBhc3RlIG9wZXJh
dGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUgdmVyYm9zaXR5IG9m
IHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88
L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxpIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhlbGxvPC9pPicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48Yj5IZWxsbzwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyI+PGI+PGk+aGVs
bG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKK0ZB
SUwgY29uZmlybWVkTWFya3VwIHNob3VsZCBiZSA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+aGVs
bG88L2k+PC9iPjwvaT4uIFdhcyA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+PGI+PGkgc3R5bGU9
Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LgorUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPnBsYWluIHRleHQ8
Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS04Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLTguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5kNmZlZTkyOWNmNzc0MWFiODE1MTdkMWEwYjc1ZDg3OWZlYzEzYjVhCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1z
YW5pdGl6ZS04Lmh0bWwKQEAgLTAsMCArMSw2NyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFzdGUgb3BlcmF0aW9u
IHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJib3NpdHkgb2YgdGhl
IG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuIDwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2FzeW5jIGZ1bmN0aW9uIHRlc3RQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIgbm9kZSA9
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICByb290LmFwcGVu
ZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHki
LCBmYWxzZSk7CisgICAgYXdhaXQgVUlIZWxwZXIuZW5zdXJlUHJlc2VudGF0aW9uVXBkYXRlKCk7
CisKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisgICAgYXdhaXQg
VUlIZWxwZXIuZW5zdXJlUHJlc2VudGF0aW9uVXBkYXRlKCk7CisKKyAgICBjb25maXJtZWRNYXJr
dXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCithc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVsbG88L2k+
PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4i
KTsKKyAgICBhd2FpdCB0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxk
aXY+PGI+PGRpdj48aT5IZWxsbzwvaT48L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9u
dC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88L2k+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYi
LCAiPGRpdj48ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxvPC9iPjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxv
PC9iPjwvZGl2PiIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNw
YW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bh
bj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9y
bWFsXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsIAorICAgICAg
ICAgICAgICAiPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48
c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwvYj48
Yj48aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4g
c3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+
Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKKyAgICBhd2FpdCB0ZXN0UGFz
dGUoImRpdiIsICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj48Yj48aSBzdHlsZT1cIm1hcmdp
bjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIsCisgICAgICAgICAgICAgICI8aSBzdHlsZT1c
Im1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIpOworICAgIGF3YWl0IHRlc3RQYXN0
ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+
PGI+PGk+SGVsbG8gPCEtLSBjb21tZW50IC0tPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48
L2Rpdj4iLCAiPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7CisgICAgYXdhaXQgdGVz
dFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3Jt
YWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48
L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5w
bGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7
CisKKyAgICByb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKyAgICBmaW5pc2hKU1Rlc3Qo
KTsKK30KKworYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtYW5kLXNhbml0aXplLTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS05LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5hZjg5ZGNmODg4NDdhYWI0Yjg5MmEwMDdkMmRlMzJjMDk2OTgxZWI0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS05
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhl
IHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVjZSB0aGUg
dmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGI+PGk+SGVsbG88L2k+PC9iPicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxs
bzwvaT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxpIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhlbGxvPC9pPicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48
Yj5IZWxsbzwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFs
OyI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48
L2k+PC9iPicKK0ZBSUwgY29uZmlybWVkTWFya3VwIHNob3VsZCBiZSA8aSBzdHlsZT0ibWFyZ2lu
OiAxMHB4OyI+aGVsbG88L2k+PC9iPjwvaT4uIFdhcyA8aSBzdHlsZT0ibWFyZ2luOiAxMHB4OyI+
PGI+PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPmhlbGxvPC9pPjwvYj48L2k+LgorUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsi
PnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9pPjwvYj4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6
ZS05Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0
aXplLTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kNmZlZTkyOWNmNzc0MWFiODE1MTdkMWEwYjc1ZDg3OWZl
YzEzYjVhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLWFuZC1zYW5pdGl6ZS05Lmh0bWwKQEAgLTAsMCArMSw2NyBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgcGFz
dGUgb3BlcmF0aW9uIHRyaW1zIHRoZSBwYXN0ZWQgZnJhZ21lbnQgdG8gcmVkdWNlIHRoZSB2ZXJi
b3NpdHkgb2YgdGhlIG1hcmt1cCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuIDwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2FzeW5jIGZ1
bmN0aW9uIHRlc3RQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsKKyAg
ICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAg
ICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgYXdhaXQgVUlIZWxwZXIuZW5zdXJlUHJlc2VudGF0
aW9uVXBkYXRlKCk7CisKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7
CisgICAgYXdhaXQgVUlIZWxwZXIuZW5zdXJlUHJlc2VudGF0aW9uVXBkYXRlKCk7CisKKyAgICBj
b25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2pzVGVzdElzQXN5bmMgPSB0
cnVlOworCithc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgIGF3YWl0IHRlc3RQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGI+
PGk+SGVsbG88L2k+PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7CisgICAgYXdhaXQgdGVz
dFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3Jt
YWxcIj48Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhl
bGxvPC9pPjwvYj4iKTsKKyAgICBhd2FpdCB0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIpOworICAgIGF3YWl0IHRlc3RQYXN0
ZSgiZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxsbzwvaT48L2Rpdj48L2I+PC9kaXY+IiwgIjxp
IHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88L2k+Iik7CisgICAgYXdhaXQgdGVz
dFBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxi
PkhlbGxvPC9iPjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxiPkhlbGxvPC9iPjwvZGl2PiIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxk
aXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250
LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2
PiIsIAorICAgICAgICAgICAgICAiPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVs
bG8xPC9pPjwvYj48Yj48aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAi
PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwv
aT48L2I+PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKKyAgICBh
d2FpdCB0ZXN0UGFzdGUoImRpdiIsICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj48Yj48aSBz
dHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIsCisgICAgICAgICAgICAg
ICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIpOworICAgIGF3
YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdo
dDogbm9ybWFsXCI+PGI+PGk+SGVsbG8gPCEtLSBjb21tZW50IC0tPndvcmxkPC9pPjwvYj48L3Nw
YW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7Cisg
ICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQt
d2VpZ2h0OiBub3JtYWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+
PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6
IG5vcm1hbDtcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFu
PjwvaT48L2I+Iik7CisKKyAgICByb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKyAgICBm
aW5pc2hKU1Rlc3QoKTsKK30KKworYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLmh0bWwKaW5kZXggMzYzY2RkZWE2NjMy
ODA5NDdkMGQxYmY1YjYxZWI4OGI1ODVmY2M4Ny4uZDZmZWU5MjljZjc3NDFhYjgxNTE3ZDFhMGI3
NWQ4NzlmZWMxM2I1YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLWFuZC1zYW5pdGl6ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUuaHRtbApAQCAtMiw2ICsyLDcgQEAKIDxodG1sPgogPGhl
YWQ+CiA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
IDwvaGVhZD4KIDxib2R5PgogPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJlZHVj
ZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxl
LiA8L3A+CkBAIC0yMCwzNiArMjEsNDYgQEAgZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CiAgICAgcmV0dXJuIG5vZGU7CiB9CiAKLWZ1bmN0aW9uIHRlc3RQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsKK2FzeW5jIGZ1bmN0aW9uIHRlc3RQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsKICAgICB2YXIgbm9kZSA9
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKICAgICByb290LmFwcGVu
ZENoaWxkKG5vZGUpOwogCiAgICAgbm9kZS5mb2N1cygpOwogICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CiAgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHki
LCBmYWxzZSk7CisgICAgYXdhaXQgVUlIZWxwZXIuZW5zdXJlUHJlc2VudGF0aW9uVXBkYXRlKCk7
CisKICAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisgICAgYXdhaXQg
VUlIZWxwZXIuZW5zdXJlUHJlc2VudGF0aW9uVXBkYXRlKCk7CiAKICAgICBjb25maXJtZWRNYXJr
dXAgPSBub2RlLmlubmVySFRNTDsKIAogICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7CiB9CiAKLXRlc3RQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Ci10ZXN0UGFzdGUoImRpdiIsICI8Yj48aT5IZWxsbzwvaT48L2I+IiwgIjxiPjxpPkhl
bGxvPC9pPjwvYj4iKTsKLXRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9
XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9i
PjwvZGl2PiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Ci10ZXN0UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIpOwotdGVzdFBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48ZGl2PjxpPkhlbGxvPC9pPjwvZGl2PjwvYj48L2Rpdj4iLCAiPGkg
c3R5bGU9XCJmb250LXdlaWdodDogYm9sZDtcIj5IZWxsbzwvaT4iKTsKLXRlc3RQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxs
bzwvYj48L2Rpdj4iKTsKLXRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9
XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsIAotICAgICAgICAgICI8ZGl2
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
KTsKLXRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdo
dDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+IGhlbGxvMjwvaT48L2I+PC9z
cGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5v
cm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9z
cGFuPjwvaT48L2I+Iik7Ci10ZXN0UGFzdGUoImRpdiIsICI8aSBzdHlsZT1cIm1hcmdpbjogMTBw
eDtcIj48Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIsCi0g
ICAgICAgICAgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+Iik7
Ci10ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6
IG5vcm1hbFwiPjxiPjxpPkhlbGxvIDwhLS0gY29tbWVudCAtLT53b3JsZDwvaT48L2I+PC9zcGFu
PjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPiIpOwotdGVz
dFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3Jt
YWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48
L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5w
bGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+Iik7
Ci0KLXJvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKK2pzVGVzdElzQXN5bmMgPSB0cnVlOwor
Cithc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVs
bG88L2k+PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7CisgICAgYXdhaXQgdGVzdFBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxcIj48
Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvPC9p
PjwvYj4iKTsKKyAgICBhd2FpdCB0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2
IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxsbzwvaT48L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0eWxl
PVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88L2k+Iik7CisgICAgYXdhaXQgdGVzdFBhc3Rl
KCJkaXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhlbGxv
PC9iPjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxi
PkhlbGxvPC9iPjwvZGl2PiIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+
PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+PC9i
Pjwvc3Bhbj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdo
dDogbm9ybWFsXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsIAor
ICAgICAgICAgICAgICAiPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9p
PjwvYj48Yj48aT4gaGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+
PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+
PGI+PGk+Jm5ic3A7aGVsbG8yPC9pPjwvYj48L3NwYW4+PC9pPjwvYj4iKTsKKyAgICBhd2FpdCB0
ZXN0UGFzdGUoImRpdiIsICI8aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj48Yj48aSBzdHlsZT1c
Im1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIsCisgICAgICAgICAgICAgICI8aSBz
dHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIpOworICAgIGF3YWl0IHRl
c3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9y
bWFsXCI+PGI+PGk+SGVsbG8gPCEtLSBjb21tZW50IC0tPndvcmxkPC9pPjwvYj48L3NwYW4+PC9p
PjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG8mbmJzcDt3b3JsZDwvaT48L2I+Iik7CisgICAgYXdh
aXQgdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0
OiBub3JtYWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFu
PjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1h
bDtcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48
L2I+Iik7CisKKyAgICByb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKyAgICBmaW5pc2hK
U1Rlc3QoKTsKK30KIAorYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOwogPC9zY3Jp
cHQ+CiA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+CiA8L2JvZHk+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>381612</attachid>
            <date>2019-10-22 14:47:04 -0700</date>
            <delta_ts>2019-10-22 17:33:11 -0700</delta_ts>
            <desc>Mitigate the flaky test</desc>
            <filename>bug-203199-20191022144703.patch</filename>
            <type>text/plain</type>
            <size>8217</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUxNDI3CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggN2JhYTZkMTk5NDgwNGFhODc0Nzdl
NDdiNzNjYjRhODY0YzJmOTdhYy4uYTk0NzM0ODdiNmY1YmVmOTUzZGQ2MzYyZDNiODFhOWJiYTVh
MDQ5YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDE5LTEwLTIyICBXZW5zb24gSHNpZWggIDx3
ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS1hbmQtc2FuaXRpemUuaHRtbCBpcyBhIGZsYWt5IGZhaWx1cmUKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMzE5OQorICAgICAgICA8cmRhcjovL3By
b2JsZW0vNTM1NTE3MzY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgVHJ5IHRvIG1ha2UgdGhpcyB0ZXN0IG1vcmUgcm9idXN0IGluIFdlYktpdDIgb24g
aU9TIDEzIGJ5IGVuc3VyaW5nIGF0IGxlYXN0IG9uZSByb3VuZCB0cmlwIGJldHdlZW4gdGhlIHdl
YgorICAgICAgICBjb250ZW50IHByb2Nlc3MgYW5kIHRoZSBVSSBwcm9jZXNzIGFmdGVyIGNvcHlp
bmcgYW5kIHBhc3RpbmcuIFRoZSByb290IGNhdXNlIG9mIHRoZSBmbGFraW5lc3MgaXMgc3RpbGwg
dW5rbm93biwKKyAgICAgICAgYnV0IGV2aWRlbmNlIHN1Z2dlc3RzIHRoYXQgY29kZSBpbiBQYXN0
ZWJvYXJkLmZyYW1ld29yayBuZWVkcyBhdCBsZWFzdCBvbmUgcnVubG9vcCB0byBzZXZlciB0aGUg
Y29ubmVjdGlvbgorICAgICAgICBiZXR3ZWVuIHRoZSBhcHBsaWNhdGlvbiBwcm9jZXNzIGFuZCBg
cGFzdGVkYCBhZnRlciB3cml0aW5nIGNvbnRlbnQgdG8gdGhlIHBhc3RlYm9hcmQ7IG90aGVyd2lz
ZSwgdGhpcworICAgICAgICBwb3N0LXdyaXRpbmcgY2xlYW51cCBzdGVwIHdpbGwgcmFjZSBhZ2Fp
bnN0IHRoZSBuZXh0IHRpbWUgd2UgYXR0ZW1wdCB0byB0cmlnZ2VyIGEgcGFzdGUuCisKKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLmh0bWw6CisgICAgICAg
ICogcGxhdGZvcm0vaW9zLTEyL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcGxhdGZvcm0v
aW9zL1Rlc3RFeHBlY3RhdGlvbnM6CisKKyAgICAgICAgUmVtb3ZlIHRoZSBmYWlsaW5nIHRlc3Qg
ZXhwZWN0YXRpb25zLgorCiAyMDE5LTEwLTIyICBEaXJrIFNjaHVsemUgIDxrcml0QHdlYmtpdC5v
cmc+CiAKICAgICAgICAgU1ZHMjogVXNlIERPTU1hdHJpeDJESW5pdCBmb3Igc2V0TWF0cml4IGFu
ZCBjcmVhdGVTVkdUcmFuc2Zvcm1Gcm9tTWF0cml4CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLmh0bWwKaW5kZXggMzYzY2RkZWE2
NjMyODA5NDdkMGQxYmY1YjYxZWI4OGI1ODVmY2M4Ny4uMDlkMGViOGI0YjRlOTk5ZjE2YzkwZjk4
M2ZmOTk1ZTA3YzQ5NGIwZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUuaHRtbApAQCAtMiw2ICsyLDcgQEAKIDxodG1sPgog
PGhlYWQ+CiA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KIDwvaGVhZD4KIDxib2R5PgogPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgdGhlIHBhc3RlIG9wZXJhdGlvbiB0cmltcyB0aGUgcGFzdGVkIGZyYWdtZW50IHRvIHJl
ZHVjZSB0aGUgdmVyYm9zaXR5IG9mIHRoZSBtYXJrdXAgd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0
eWxlLiA8L3A+CkBAIC0yMCwzNiArMjEsNDYgQEAgZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CiAgICAgcmV0dXJuIG5vZGU7CiB9CiAKLWZ1bmN0aW9uIHRlc3RQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsKK2FzeW5jIGZ1bmN0aW9uIHRl
c3RQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsKICAgICB2YXIgbm9k
ZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKICAgICByb290LmFw
cGVuZENoaWxkKG5vZGUpOwogCiAgICAgbm9kZS5mb2N1cygpOwogICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CiAgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNv
cHkiLCBmYWxzZSk7CisgICAgYXdhaXQgVUlIZWxwZXIuZW5zdXJlUHJlc2VudGF0aW9uVXBkYXRl
KCk7CisKICAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisgICAgYXdh
aXQgVUlIZWxwZXIuZW5zdXJlUHJlc2VudGF0aW9uVXBkYXRlKCk7CiAKICAgICBjb25maXJtZWRN
YXJrdXAgPSBub2RlLmlubmVySFRNTDsKIAogICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7CiB9CiAKLXRlc3RQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Ci10ZXN0UGFzdGUoImRpdiIsICI8Yj48aT5IZWxsbzwvaT48L2I+IiwgIjxiPjxp
PkhlbGxvPC9pPjwvYj4iKTsKLXRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5
bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+
PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7Ci10ZXN0UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIpOwotdGVzdFBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48ZGl2PjxpPkhlbGxvPC9pPjwvZGl2PjwvYj48L2Rpdj4iLCAi
PGkgc3R5bGU9XCJmb250LXdlaWdodDogYm9sZDtcIj5IZWxsbzwvaT4iKTsKLXRlc3RQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwv
Yj48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5I
ZWxsbzwvYj48L2Rpdj4iKTsKLXRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5
bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsIAotICAgICAgICAgICI8
ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iKTsKLXRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdl
aWdodDogbm9ybWFsO1wiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+IGhlbGxvMjwvaT48L2I+
PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6
IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+
PC9zcGFuPjwvaT48L2I+Iik7Ci10ZXN0UGFzdGUoImRpdiIsICI8aSBzdHlsZT1cIm1hcmdpbjog
MTBweDtcIj48Yj48aSBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5oZWxsbzwvaT48L2I+PC9pPiIs
Ci0gICAgICAgICAgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+
Iik7Ci10ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWln
aHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvIDwhLS0gY29tbWVudCAtLT53b3JsZDwvaT48L2I+PC9z
cGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvJm5ic3A7d29ybGQ8L2k+PC9iPiIpOwot
dGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBu
b3JtYWxcIj5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwv
aT48L2I+PC9kaXY+IiwgIjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtc
Ij5wbGFpbiB0ZXh0PGI+PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+
Iik7Ci0KLXJvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKK2pzVGVzdElzQXN5bmMgPSB0cnVl
OworCithc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7CisgICAgYXdhaXQgdGVzdFBhc3RlKCJkaXYiLCAiPGI+PGk+
SGVsbG88L2k+PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7CisgICAgYXdhaXQgdGVzdFBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWxc
Ij48Yj48aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxv
PC9pPjwvYj4iKTsKKyAgICBhd2FpdCB0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxsbzwvaT48L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0
eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88L2k+Iik7CisgICAgYXdhaXQgdGVzdFBh
c3RlKCJkaXYiLCAiPGRpdj48ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxiPkhl
bGxvPC9iPjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxiPkhlbGxvPC9iPjwvZGl2PiIpOworICAgIGF3YWl0IHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+
PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdl
aWdodDogbm9ybWFsXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIs
CisgICAgICAgICAgICAgICI8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iKTsKKyAgICBhd2FpdCB0ZXN0UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj48Yj48aT5oZWxsbzE8
L2k+PC9iPjxiPjxpPiBoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48
aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBub3JtYWw7XCI+PGI+PGk+aGVsbG8xPC9pPjwv
Yj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPiIpOworICAgIGF3YWl0
IHRlc3RQYXN0ZSgiZGl2IiwgIjxpIHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPjxiPjxpIHN0eWxl
PVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+IiwKKyAgICAgICAgICAgICAgIjxp
IHN0eWxlPVwibWFyZ2luOiAxMHB4O1wiPmhlbGxvPC9pPjwvYj48L2k+Iik7CisgICAgYXdhaXQg
dGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT48c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBu
b3JtYWxcIj48Yj48aT5IZWxsbyA8IS0tIGNvbW1lbnQgLS0+d29ybGQ8L2k+PC9iPjwvc3Bhbj48
L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbyZuYnNwO3dvcmxkPC9pPjwvYj4iKTsKKyAgICBh
d2FpdCB0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWln
aHQ6IG5vcm1hbFwiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3Nw
YW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9y
bWFsO1wiPnBsYWluIHRleHQ8Yj48aT5ib2xkIGl0YWxpYyB0ZXh0PC9pPjwvYj48L3NwYW4+PC9p
PjwvYj4iKTsKKworICAgIHJvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworICAgIGZpbmlz
aEpTVGVzdCgpOworfQogCithZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CiA8L3Nj
cmlwdD4KIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KIDwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy0xMi9U
ZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLTEyL1Rlc3RFeHBlY3Rh
dGlvbnMKaW5kZXggYzliZTgyN2M5NDY5NjE5OTg1MjYxN2ZmZTQ3MGRhMzZjNWYzNWZiZi4uMGU4
ODIyOTFlYjMzYjliNDVlYmVmZTI1OGE3M2U1OWVmMWEyM2E4MyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vaW9zLTEyL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vaW9zLTEyL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTEwLDggKzEwLDUgQEAgZmFzdC9m
b3Jtcy9hdXRvLWZpbGwtYnV0dG9uL2NhcHMtbG9jay1pbmRpY2F0b3Itc2hvdWxkLWJlLXZpc2li
bGUtYWZ0ZXItaGlkaW5nLWEKIGZhc3QvZm9ybXMvYXV0by1maWxsLWJ1dHRvbi9jYXBzLWxvY2st
aW5kaWNhdG9yLXNob3VsZC1ub3QtYmUtdmlzaWJsZS13aGVuLWF1dG8tZmlsbC1zdHJvbmctcGFz
c3dvcmQtYnV0dG9uLWlzLXZpc2libGUuaHRtbCBbIFNraXAgXQogZmFzdC9mb3Jtcy9wYXNzd29y
ZC1zY3JvbGxlZC1hZnRlci1jYXBzLWxvY2stdG9nZ2xlZC5odG1sIFsgU2tpcCBdCiAKLSMgcmRh
cjovLzUzNTUxNzM2IChMYXlvdXQgVGVzdCBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNh
bml0aXplLmh0bWwgaXMgYSBGbGFreSBGYWlsdXJlIG9uIGlPUyAxMykKLWVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUuaHRtbCBbIFBhc3MgXQotCiAjIHJkYXI6Ly81NDU2MTY3
MyAoUkVHUkVTU0lPTjogTGF5b3V0IHRlc3QgaHR0cC90ZXN0cy9zZWN1cml0eS9mcmFtZU5hdmln
YXRpb24vc2FuZGJveC1BTExPV0VELXRvcC1uYXZpZ2F0aW9uLXdpdGgtdXNlci1nZXN0dXJlLTIu
aHRtbCBpcyBhIGZsYWt5IHRpbWVvdXQpCiBodHRwL3Rlc3RzL3NlY3VyaXR5L2ZyYW1lTmF2aWdh
dGlvbi9zYW5kYm94LUFMTE9XRUQtdG9wLW5hdmlnYXRpb24td2l0aC11c2VyLWdlc3R1cmUtMi5o
dG1sIFsgUGFzcyBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvVGVzdEV4
cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9UZXN0RXhwZWN0YXRpb25zCmlu
ZGV4IDkyZTExZjU3YTQ0MTA2YzFjNTFkODRlYWM5NjE5ZDA3YTg4ZTczMjcuLjliMWM0OWJiOTNi
MTFkZWU5Yjc3ZjczYjYwZWY3NDE5ZDQxNTkyOTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2lvcy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lv
cy9UZXN0RXhwZWN0YXRpb25zCkBAIC0zMzM2LDkgKzMzMzYsNiBAQCBmYXN0L3RleHQvaW50ZXJu
YXRpb25hbC9zeXN0ZW0tbGFuZ3VhZ2UvaGFuLXF1b3Rlcy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCiAjIDxyZGFyOi8vcHJvYmxlbS81MjY4OTg1Nj4gc3RvcmFnZS93ZWJzcWwvdGVzdC1hdXRo
b3JpemVyLmh0bWwgaXMgZmFpbGluZwogc3RvcmFnZS93ZWJzcWwvdGVzdC1hdXRob3JpemVyLmh0
bWwgWyBGYWlsdXJlIF0KIAotIyByZGFyOi8vNTM1NTE3MzYgKExheW91dCBUZXN0IGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUuaHRtbCBpcyBhIEZsYWt5IEZhaWx1cmUgb24g
aU9TIDEzKQotZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS5odG1sIFsgUGFz
cyBGYWlsdXJlIF0KLQogIyBTa2lwIHVudGlsIHdlIGhhdmUgdGhlIGZpeGVzIGZvciA8cmRhcjov
L3Byb2JsZW0vNTM2MTM0NTQ+IGFuZCA8cmRhcjovL3Byb2JsZW0vNTQwMDExMzk+LgogZmFzdC9l
dmVudHMvaW9zL211bHRpcGxlLWtleS1wcmVzcy1hbmQtcmVsZWFzZS1vcmRlcmluZy5odG1sIFsg
U2tpcCBdCiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>