<?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>222601</bug_id>
          
          <creation_ts>2021-03-02 08:32:11 -0800</creation_ts>
          <short_desc>[JSC] detect infrastructure failure for remote stress tests</short_desc>
          <delta_ts>2021-05-11 01:34:18 -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>New Bugs</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>
          <dependson>224423</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Angelos Oikonomopoulos">angelos</reporter>
          <assigned_to name="Angelos Oikonomopoulos">angelos</assigned_to>
          <cc>aakash_jain</cc>
    
    <cc>ap</cc>
    
    <cc>clopez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>fpizlo</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>stephan.szabo</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
    
    <cc>zhifei_fang</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1734865</commentid>
    <comment_count>0</comment_count>
    <who name="Angelos Oikonomopoulos">angelos</who>
    <bug_when>2021-03-02 08:32:11 -0800</bug_when>
    <thetext>[JSC] detect infrastructure failure for remote stress tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1734868</commentid>
    <comment_count>1</comment_count>
      <attachid>421943</attachid>
    <who name="Angelos Oikonomopoulos">angelos</who>
    <bug_when>2021-03-02 08:35:58 -0800</bug_when>
    <thetext>Created attachment 421943
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1734869</commentid>
    <comment_count>2</comment_count>
    <who name="Angelos Oikonomopoulos">angelos</who>
    <bug_when>2021-03-02 08:38:29 -0800</bug_when>
    <thetext>The current patch only changes jsc-stress-test-writer-default.rb. Uploading this for early comments, will update the other 2 writers if things look good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1734878</commentid>
    <comment_count>3</comment_count>
      <attachid>421947</attachid>
    <who name="Angelos Oikonomopoulos">angelos</who>
    <bug_when>2021-03-02 09:12:34 -0800</bug_when>
    <thetext>Created attachment 421947
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1735253</commentid>
    <comment_count>4</comment_count>
      <attachid>422072</attachid>
    <who name="Angelos Oikonomopoulos">angelos</who>
    <bug_when>2021-03-03 06:12:09 -0800</bug_when>
    <thetext>Created attachment 422072
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1735255</commentid>
    <comment_count>5</comment_count>
      <attachid>422073</attachid>
    <who name="Angelos Oikonomopoulos">angelos</who>
    <bug_when>2021-03-03 06:44:57 -0800</bug_when>
    <thetext>Created attachment 422073
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1737580</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-03-09 08:33:14 -0800</bug_when>
    <thetext>&lt;rdar://problem/75218695&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1738054</commentid>
    <comment_count>7</comment_count>
    <who name="Angelos Oikonomopoulos">angelos</who>
    <bug_when>2021-03-10 07:36:16 -0800</bug_when>
    <thetext>Any objections in principle?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1749022</commentid>
    <comment_count>8</comment_count>
      <attachid>422073</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-04-10 13:01:17 -0700</bug_when>
    <thetext>Comment on attachment 422073
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1749023</commentid>
    <comment_count>9</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-04-10 13:14:28 -0700</bug_when>
    <thetext>Committed r275801 (236372@main): &lt;https://commits.webkit.org/236372@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 422073.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1749137</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2021-04-11 22:34:11 -0700</bug_when>
    <thetext>Re-opened since this is blocked by bug 224423</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1749139</commentid>
    <comment_count>11</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-04-11 22:35:00 -0700</bug_when>
    <thetext>@Mark found that it seems that run-jsc-stress-tests output includes a lot of texts now. So I&apos;ve reverted it.

    0/75193 .............................Could not open file: /Users/cyril/mozilla_funfuzz/wtmp16/regression-tests.list
Could not open file: /Users/cyril/mozilla_funfuzz/wtmp16/regression-tests.list
Could not open file: /Users/cyril/mozilla_funfuzz/wtmp16/regression-tests.list
Could not open file: /Users/cyril/mozilla_funfuzz/wtmp16/regression-tests.list
...
Could not open file: /Users/cyril/mozilla_funfuzz/wtmp16/regression-tests.list
    2/75193 ............................Could not open file: /Users/cyril/mozilla_funfuzz/wtmp16/regression-tests.list
Could not open file: /Users/cyril/mozilla_funfuzz/wtmp16/regression-tests.list
    3/75193 .............................Could not open file: /Users/cyril/mozilla_funfuzz/wtmp16/regression-tests.list
Could not open file: /Users/cyril/mozilla_funfuzz/wtmp16/regression-tests.list
...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1749140</commentid>
    <comment_count>12</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-04-11 22:35:16 -0700</bug_when>
    <thetext>@Angelos can you take a look?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1749144</commentid>
    <comment_count>13</comment_count>
    <who name="Angelos Oikonomopoulos">angelos</who>
    <bug_when>2021-04-11 23:42:16 -0700</bug_when>
    <thetext>(In reply to Yusuke Suzuki from comment #12)
&gt; @Angelos can you take a look?

Absolutely. Note that, as stated in an earlier comment, I&apos;ll need to update the other two test writers before this can go in. Sorry that wasn&apos;t clear!

I&apos;ll submit a new version when I figure out the issues that cropped up. Thanks for taking a look!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1749679</commentid>
    <comment_count>14</comment_count>
    <who name="Angelos Oikonomopoulos">angelos</who>
    <bug_when>2021-04-13 07:31:27 -0700</bug_when>
    <thetext>(In reply to Yusuke Suzuki from comment #11)
&gt; @Mark found that it seems that run-jsc-stress-tests output includes a lot of
&gt; texts now. So I&apos;ve reverted it.
&gt; 
&gt;     0/75193 .............................Could not open file:
&gt; /Users/cyril/mozilla_funfuzz/wtmp16/regression-tests.list
&gt; Could not open file:
&gt; /Users/cyril/mozilla_funfuzz/wtmp16/regression-tests.list
&gt; Could not open file:
&gt; /Users/cyril/mozilla_funfuzz/wtmp16/regression-tests.list
&gt; Could not open file:
&gt; /Users/cyril/mozilla_funfuzz/wtmp16/regression-tests.list
&gt; ...
&gt; Could not open file:
&gt; /Users/cyril/mozilla_funfuzz/wtmp16/regression-tests.list
&gt;     2/75193 ............................Could not open file:
&gt; /Users/cyril/mozilla_funfuzz/wtmp16/regression-tests.list
&gt; Could not open file:
&gt; /Users/cyril/mozilla_funfuzz/wtmp16/regression-tests.list
&gt;     3/75193 .............................Could not open file:
&gt; /Users/cyril/mozilla_funfuzz/wtmp16/regression-tests.list
&gt; Could not open file:
&gt; /Users/cyril/mozilla_funfuzz/wtmp16/regression-tests.list
&gt; ...

The above to be messages from some non-public usage of funfuzz? I&apos;m unclear as to how that uses run-jsc-stress-tests or where the regression-tests.list file comes from and what run-jsc-stress-tests has got to do with it.

What additional output does run-jsc-stress-tests produce with this patch?

The above messages don&apos;t come from any script generated by it AFAIK. (Does @Mark refer to Mark Lam? If so, please let me know and I can ping them directly.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1749684</commentid>
    <comment_count>15</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2021-04-13 08:07:06 -0700</bug_when>
    <thetext>(In reply to Angelos Oikonomopoulos from comment #14)
&gt; (In reply to Yusuke Suzuki from comment #11)
&gt; &gt; @Mark found that it seems that run-jsc-stress-tests output includes a lot of
&gt; &gt; texts now. So I&apos;ve reverted it.
&gt; &gt; 
&gt; &gt;     0/75193 .............................Could not open file:
&gt; &gt; /Users/cyril/mozilla_funfuzz/wtmp16/regression-tests.list
&gt; &gt; Could not open file:
&gt; &gt; /Users/cyril/mozilla_funfuzz/wtmp16/regression-tests.list
&gt; &gt; Could not open file:
&gt; &gt; /Users/cyril/mozilla_funfuzz/wtmp16/regression-tests.list
&gt; &gt; Could not open file:
&gt; &gt; /Users/cyril/mozilla_funfuzz/wtmp16/regression-tests.list
&gt; &gt; ...
&gt; &gt; Could not open file:
&gt; &gt; /Users/cyril/mozilla_funfuzz/wtmp16/regression-tests.list
&gt; &gt;     2/75193 ............................Could not open file:
&gt; &gt; /Users/cyril/mozilla_funfuzz/wtmp16/regression-tests.list
&gt; &gt; Could not open file:
&gt; &gt; /Users/cyril/mozilla_funfuzz/wtmp16/regression-tests.list
&gt; &gt;     3/75193 .............................Could not open file:
&gt; &gt; /Users/cyril/mozilla_funfuzz/wtmp16/regression-tests.list
&gt; &gt; Could not open file:
&gt; &gt; /Users/cyril/mozilla_funfuzz/wtmp16/regression-tests.list
&gt; &gt; ...
&gt; 
&gt; The above to be messages from some non-public usage of funfuzz? I&apos;m unclear
&gt; as to how that uses run-jsc-stress-tests or where the regression-tests.list
&gt; file comes from and what run-jsc-stress-tests has got to do with it.
&gt; 
&gt; What additional output does run-jsc-stress-tests produce with this patch?
&gt; 
&gt; The above messages don&apos;t come from any script generated by it AFAIK. (Does
&gt; @Mark refer to Mark Lam? If so, please let me know and I can ping them
&gt; directly.)

Yes, Yusuke was referring to me.  These messages came from internal tests.  Before your patch, running the script did not produce this output.  After your patch, it does.  I suspect that the tests were always printing these output.  However, your change somehow expose them.  Do you have any idea where your patch enables more verbose stderr/stdout output to be shown?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1749690</commentid>
    <comment_count>16</comment_count>
    <who name="Angelos Oikonomopoulos">angelos</who>
    <bug_when>2021-04-13 08:39:06 -0700</bug_when>
    <thetext>(In reply to Mark Lam from comment #15)
&gt; (In reply to Angelos Oikonomopoulos from comment #14)
&gt; &gt; (In reply to Yusuke Suzuki from comment #11)
[...]
&gt; &gt; The above messages don&apos;t come from any script generated by it AFAIK. (Does
&gt; &gt; @Mark refer to Mark Lam? If so, please let me know and I can ping them
&gt; &gt; directly.)
&gt; 
&gt; Yes, Yusuke was referring to me.  These messages came from internal tests. 
&gt; Before your patch, running the script did not produce this output.  After
&gt; your patch, it does.  I suspect that the tests were always printing these
&gt; output.  However, your change somehow expose them.  Do you have any idea
&gt; where your patch enables more verbose stderr/stdout output to be shown?

I&apos;ve taken a second look and I don&apos;t see any instances where the patch changes where stdout/stderr go, but it&apos;s tricky code. I can&apos;t see any extra output in my testing of course (I just checked again both with local and --remote runs).

webkitruby/jsc-stress-test-writer-default.rb defines a number of handlers that the patch modifies. Are you at liberty to share what test kind is producing the extraneous output? I.e. which run* function is invoked in run-jsc-stress-tests? If so, then I could look at a diff of the generated code in detail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1755360</commentid>
    <comment_count>17</comment_count>
    <who name="Angelos Oikonomopoulos">angelos</who>
    <bug_when>2021-04-29 06:17:51 -0700</bug_when>
    <thetext>FWIW I think I&apos;ve tracked down the issue with the uncaptured stderr that Mark ran into. I&apos;ve updated the ruby test writer too, which was straightforward.

My remaining concern is this piece of code:

           outp.puts JSON.generate({
                name: @name,
                outputDir: $runnerDir,
                baseDir: baseDir,
                env: $envVars + @additionalEnv,
                outputName: @name.gsub(/(\\|\/)/, &apos;_&apos;),
                checkScript: filename,
                args: @arguments,
                failFile: &quot;#{failFile}&quot;
            })

in the playstation test writer. My patch removes the failFile and replaces it with a statusFile which contains a single line: $runid $exitcode $pf, where $pf is either P(ass) or F(ail).

Stephan, presumably something checks that failFile on your end? Would you be ok with adapting it to the changes in this patch?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1755364</commentid>
    <comment_count>18</comment_count>
      <attachid>427342</attachid>
    <who name="Angelos Oikonomopoulos">angelos</who>
    <bug_when>2021-04-29 06:27:42 -0700</bug_when>
    <thetext>Created attachment 427342
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1755433</commentid>
    <comment_count>19</comment_count>
    <who name="Stephan Szabo">stephan.szabo</who>
    <bug_when>2021-04-29 10:09:29 -0700</bug_when>
    <thetext>(In reply to Angelos Oikonomopoulos from comment #17)
&gt; FWIW I think I&apos;ve tracked down the issue with the uncaptured stderr that
&gt; Mark ran into. I&apos;ve updated the ruby test writer too, which was
&gt; straightforward.
&gt; 
&gt; My remaining concern is this piece of code:
&gt; 
&gt;            outp.puts JSON.generate({
&gt;                 name: @name,
&gt;                 outputDir: $runnerDir,
&gt;                 baseDir: baseDir,
&gt;                 env: $envVars + @additionalEnv,
&gt;                 outputName: @name.gsub(/(\\|\/)/, &apos;_&apos;),
&gt;                 checkScript: filename,
&gt;                 args: @arguments,
&gt;                 failFile: &quot;#{failFile}&quot;
&gt;             })
&gt; 
&gt; in the playstation test writer. My patch removes the failFile and replaces
&gt; it with a statusFile which contains a single line: $runid $exitcode $pf,
&gt; where $pf is either P(ass) or F(ail).
&gt; 
&gt; Stephan, presumably something checks that failFile on your end? Would you be
&gt; ok with adapting it to the changes in this patch?

Yes, that&apos;d be fine. Actually, because of the weirdness for filesystem access for our case, I believe our driver is actually are checking the status and then making the fail file for the rest of the test harness, so I should be able to easily have it generate the statusFile in that format instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1756844</commentid>
    <comment_count>20</comment_count>
      <attachid>427739</attachid>
    <who name="Angelos Oikonomopoulos">angelos</who>
    <bug_when>2021-05-05 01:20:11 -0700</bug_when>
    <thetext>Created attachment 427739
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1757353</commentid>
    <comment_count>21</comment_count>
      <attachid>427872</attachid>
    <who name="Angelos Oikonomopoulos">angelos</who>
    <bug_when>2021-05-06 04:56:22 -0700</bug_when>
    <thetext>Created attachment 427872
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1757387</commentid>
    <comment_count>22</comment_count>
    <who name="Angelos Oikonomopoulos">angelos</who>
    <bug_when>2021-05-06 06:45:21 -0700</bug_when>
    <thetext>(In reply to Stephan Szabo from comment #19)
&gt; (In reply to Angelos Oikonomopoulos from comment #17)
[...]
&gt; &gt; Stephan, presumably something checks that failFile on your end? Would you be
&gt; &gt; ok with adapting it to the changes in this patch?
&gt; 
&gt; Yes, that&apos;d be fine. Actually, because of the weirdness for filesystem
&gt; access for our case, I believe our driver is actually are checking the
&gt; status and then making the fail file for the rest of the test harness, so I
&gt; should be able to easily have it generate the statusFile in that format
&gt; instead.

Great! As I can&apos;t update your driver, at the moment the patch removes the failFile field from the json file. Do you prefer to handle this some other way?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1757471</commentid>
    <comment_count>23</comment_count>
    <who name="Stephan Szabo">stephan.szabo</who>
    <bug_when>2021-05-06 09:54:10 -0700</bug_when>
    <thetext>(In reply to Angelos Oikonomopoulos from comment #22)
&gt; (In reply to Stephan Szabo from comment #19)
&gt; &gt; (In reply to Angelos Oikonomopoulos from comment #17)
&gt; [...]
&gt; &gt; &gt; Stephan, presumably something checks that failFile on your end? Would you be
&gt; &gt; &gt; ok with adapting it to the changes in this patch?
&gt; &gt; 
&gt; &gt; Yes, that&apos;d be fine. Actually, because of the weirdness for filesystem
&gt; &gt; access for our case, I believe our driver is actually are checking the
&gt; &gt; status and then making the fail file for the rest of the test harness, so I
&gt; &gt; should be able to easily have it generate the statusFile in that format
&gt; &gt; instead.
&gt; 
&gt; Great! As I can&apos;t update your driver, at the moment the patch removes the
&gt; failFile field from the json file. Do you prefer to handle this some other
&gt; way?

I&apos;ll probably add statusFile to the json file in the end, but I think the above is fine for the current patch, since I may need to do some other related changes in practice.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1757847</commentid>
    <comment_count>24</comment_count>
    <who name="Angelos Oikonomopoulos">angelos</who>
    <bug_when>2021-05-07 05:36:21 -0700</bug_when>
    <thetext>(In reply to Stephan Szabo from comment #23)
[...]
&gt; I&apos;ll probably add statusFile to the json file in the end, but I think the
&gt; above is fine for the current patch, since I may need to do some other
&gt; related changes in practice.

Alright, thanks!

@Mark, the change to fix the stderr redirection was

-            cmd = &quot;{ { { { #{shellCommand}; echo $? &gt;&amp;3; } | { #{outputHandler.call(@name)} ;} &gt;&amp;4; } 3&gt;&amp;1; } | { read xs; exit $xs; } } 4&gt;&amp;1\nexitCode=$?\n&quot;
+            cmd = &quot;{ { { { #{shellCommand} 2&gt;&amp;1; echo $? &gt;&amp;3; } | { #{outputHandler.call(@name)} ;} &gt;&amp;4; } 3&gt;&amp;1; } | { read xs; exit $xs; } } 4&gt;&amp;1\nexitCode=$?\n&quot;

Do you feel comfortable trying to land the patch now?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1757848</commentid>
    <comment_count>25</comment_count>
    <who name="Angelos Oikonomopoulos">angelos</who>
    <bug_when>2021-05-07 05:38:54 -0700</bug_when>
    <thetext>(In reply to Angelos Oikonomopoulos from comment #24)
[...]
&gt; @Mark, the change to fix the stderr redirection was
&gt; 
&gt; -            cmd = &quot;{ { { { #{shellCommand}; echo $? &gt;&amp;3; } | {
&gt; #{outputHandler.call(@name)} ;} &gt;&amp;4; } 3&gt;&amp;1; } | { read xs; exit $xs; } }
&gt; 4&gt;&amp;1\nexitCode=$?\n&quot;
&gt; +            cmd = &quot;{ { { { #{shellCommand} 2&gt;&amp;1; echo $? &gt;&amp;3; } | {
&gt; #{outputHandler.call(@name)} ;} &gt;&amp;4; } 3&gt;&amp;1; } | { read xs; exit $xs; } }
&gt; 4&gt;&amp;1\nexitCode=$?\n&quot;
&gt; 
&gt; Do you feel comfortable trying to land the patch now?

Note, I also took the opportunity to clarify the above pipeline with an ascii diagram in a preceding comment:

# +--------------------------------------------------------------------+                                                                                                                              
# | +-----------------------------------------------+                  |                                                                                                                              
# | | +--------------+     +-------------------+    |                  |                                                                                                                              
# | | | cmd 1 ----&gt; 1|---&gt; |0 --&gt; outH 1 ---&gt; 4|-&gt; 4|---------------&gt; 1|                                                                                                                              
# | | |     2 /      |     +-------------------+    |   +-----------+  |                                                                                                                              
# | | |echo $? 0 -&gt; 3|---------------------------&gt; 1|-&gt; |0 read xs  |  |                                                                                                                              
# | | +--------------+                              |   |  exit $xs |  |                                                                                                                              
# | |                                               |   +-----------+  |                                                                                                                              
# | +-----------------------------------------------+                  |                                                                                                                              
# +--------------------------------------------------------------------+</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1758536</commentid>
    <comment_count>26</comment_count>
      <attachid>427872</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2021-05-10 10:31:07 -0700</bug_when>
    <thetext>Comment on attachment 427872
Patch

Looks reasonable to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1758849</commentid>
    <comment_count>27</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-05-11 01:34:15 -0700</bug_when>
    <thetext>Committed r277318 (237577@main): &lt;https://commits.webkit.org/237577@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 427872.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>421943</attachid>
            <date>2021-03-02 08:35:58 -0800</date>
            <delta_ts>2021-03-02 09:12:28 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-222601-20210302163556.patch</filename>
            <type>text/plain</type>
            <size>18838</size>
            <attacher name="Angelos Oikonomopoulos">angelos</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjczMzg0CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNjE4N2U5NDAzMzE2MmJmNjMzMWY4NDQwMmQxYWIyZGI0
ZjllMTIyNy4uNDQwN2QwYjhiOWZlMmQ0YTZmOWM4MzQ3YzhkMzk3MjEwN2JlOTI0NiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1
IEBACisyMDIxLTAzLTAyICBBbmdlbG9zIE9pa29ub21vcG91bG9zICA8YW5nZWxvc0BpZ2FsaWEu
Y29tPgorCisgICAgICAgIFtKU0NdIGRldGVjdCBpbmZyYXN0cnVjdHVyZSBmYWlsdXJlIGZvciBy
ZW1vdGUgc3RyZXNzIHRlc3RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMjI2MDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBydW4tanNjLXN0cmVzcy10ZXN0cyBjdXJyZW50bHkgZGV0ZWN0cyBmYWlsdXJl
cyBieSB0aGUgYWJzZW5jZSBvZgorICAgICAgICBhIGZhaWx1cmUgZmlsZSAodGhhdCBpcyBnZW5l
cmF0ZWQgYnkgZWFjaCBmYWlsaW5nIHRlc3QpLiBUaGlzIGlzCisgICAgICAgIGZyYWdpbGUgdG8g
YmVnaW4gd2l0aCwgYXMgaXQgYXNzdW1lcyB0aGF0IHRlc3RzIHRoYXQgZmFpbCB0byBydW4KKyAg
ICAgICAgKGUuZy4gYmVjYXVzZSBvZiBhbiBlcnJvciBpbiB0aGUgcnVubmVyIHNjcmlwdCkgYXJl
IHN1Y2Nlc3NmdWwgYnkKKyAgICAgICAgZGVmYXVsdC4KKworICAgICAgICBIb3dldmVyLCB0aGUg
bWFpbiBtb3RpdmF0aW9uIGZvciB0aGlzIHBhdGNoIGlzIHRvIG1ha2UgZXhlY3V0aW9uCisgICAg
ICAgIG1vcmUgcm9idXN0IHdoZW4gdXNpbmcgcmVtb3RlIGhvc3RzLiBDdXJyZW50bHksCisgICAg
ICAgIC0tZ251LXBhcmFsbGVsLXJ1bm5lciB3aWxsIHRyYW5zcGFyZW50bHkgcmVzY2hlZHVsZSBq
b2JzIG9uIGEKKyAgICAgICAgZGlmZmVyZW50IGhvc3Qgd2hlbiBhIHJlbW90ZSBob3N0IGdvZXMg
YXdheS4gQnV0IGRldGVjdEZhaWx1cmVzCisgICAgICAgIGV4cGVjdHMgdG8gYmUgYWJsZSB0byBj
b25uZWN0IHRvIGFsbCBob3N0cyBhbmQgZmV0Y2ggdGhlIGZhaWx1cmUKKyAgICAgICAgZmlsZXMs
IHdoaWNoIGZhaWxzIGlmIGEgcmVtb3RlIGhvc3QgaXMgc3RpbGwgZG93biB3aGVuIHRoZSBydW4K
KyAgICAgICAgZmluaXNoZXMuCisKKyAgICAgICAgSW5zdGVhZCwgdGhpcyBwYXRjaCBjaGFuZ2Vz
IHRoZSBydW5uZXJzIHRvIGFsd2F5cyBnZW5lcmF0ZSBhIHN0YXR1cworICAgICAgICBmaWxlIHdp
dGggdGhlIGV4aXQgY29kZS4gZGV0ZWN0RmFpbHVyZXMgdGhlbiBmZXRjaGVzIGFsbCBzdGF0dXMK
KyAgICAgICAgZmlsZXMgZnJvbSBhbGwgaG9zdHMgdGhhdCBhcmUgbGl2ZSBvbiBleGl0LiBUZXN0
cyB0aGF0IGZhaWxlZCB0bworICAgICAgICBydW4gYXJlIGV4cGxpY2l0bHkgYWNjb3VudGVkIGZv
ciBhcyAnbm9yZXBvcnQnIGFuZCBhcmUgc2V0IHRvCisgICAgICAgIEVSUk9SIGluIHRoZSBmaW5h
bCByZXBvcnQuCisKKyAgICAgICAgKiBTY3JpcHRzL3J1bi1qYXZhc2NyaXB0Y29yZS10ZXN0czoK
KyAgICAgICAgKHJ1bkpTQ1N0cmVzc1Rlc3RzKToKKyAgICAgICAgKiBTY3JpcHRzL3J1bi1qc2Mt
c3RyZXNzLXRlc3RzOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cnVieS9qc2Mtc3RyZXNzLXRl
c3Qtd3JpdGVyLWRlZmF1bHQucmI6CisKIDIwMjEtMDItMjQgIERvbiBPbG1zdGVhZCAgPGRvbi5v
bG1zdGVhZEBzb255LmNvbT4KIAogICAgICAgICBPbmx5IGltcG9ydCBQeXRob24gZmxhdHBhayBt
b2R1bGUgb24gTGludXgKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvcnVuLWphdmFzY3JpcHRj
b3JlLXRlc3RzIGIvVG9vbHMvU2NyaXB0cy9ydW4tamF2YXNjcmlwdGNvcmUtdGVzdHMKaW5kZXgg
NDZkOTIxNzg4NDczZGViZjIwNGVkMzRlZjJmMzRjNTlmYjcyYzg3NC4uNWNkNjk4ZjYxZGMwMTk5
MWFjMWQxNWMzMjU2YzYzZjg4MWJjMzdlOSAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy9ydW4t
amF2YXNjcmlwdGNvcmUtdGVzdHMKKysrIGIvVG9vbHMvU2NyaXB0cy9ydW4tamF2YXNjcmlwdGNv
cmUtdGVzdHMKQEAgLTkxOCw5ICs5MTgsMjAgQEAgc3ViIHJ1bkpTQ1N0cmVzc1Rlc3RzCiAgICAg
fQogICAgIHByaW50ICJcbiI7CiAKKyAgICBteSBAanNjU3RyZXNzTm9SZXN1bHRMaXN0ID0gcmVh
ZEFsbExpbmVzKCRqc2NTdHJlc3NSZXN1bHRzRGlyIC4gIi9ub3Jlc3VsdCIpOworICAgIG15ICRu
dW1KU0NTdHJlc3NOb1Jlc3VsdFRlc3RzID0gQGpzY1N0cmVzc05vUmVzdWx0TGlzdDsKKworICAg
IGlmICgkbnVtSlNDU3RyZXNzTm9SZXN1bHRUZXN0cykgeworICAgICAgICAkaXNUZXN0RmFpbGVk
ID0gMTsKKyAgICB9CisgICAgZm9yZWFjaCBteSAkdGVzdE5vUmVzdWx0IChAanNjU3RyZXNzTm9S
ZXN1bHRMaXN0KSB7CisgICAgICAgICAgICAkcmVwb3J0RGF0YXskdGVzdE5vUmVzdWx0fSA9IHth
Y3R1YWwgPT4gIkVSUk9SIn07CisgICAgfQorCiAgICAgcHJpbnQgIlJlc3VsdHMgZm9yIEpTQyBz
dHJlc3MgdGVzdHM6XG4iOwogICAgIHByaW50VGhpbmdzRm91bmQoJG51bUpTQ1N0cmVzc0ZhaWx1
cmVzLCAiZmFpbHVyZSIsICJmYWlsdXJlcyIsICJmb3VuZCIpOwotICAgIHByaW50ICIgICAgT0su
XG4iIGlmICRudW1KU0NTdHJlc3NGYWlsdXJlcyA9PSAwOworICAgIHByaW50VGhpbmdzRm91bmQo
JG51bUpTQ1N0cmVzc05vUmVzdWx0VGVzdHMsICJ0ZXN0IiwgInRlc3RzIiwgImZhaWxlZCB0byBj
b21wbGV0ZSIpOworICAgIHByaW50ICIgICAgT0suXG4iIGlmICRudW1KU0NTdHJlc3NGYWlsdXJl
cyA9PSAwIGFuZCAkbnVtSlNDU3RyZXNzTm9SZXN1bHRUZXN0cyA9PSAwOwogCiAgICAgcHJpbnQg
IlxuIjsKIApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9ydW4tanNjLXN0cmVzcy10ZXN0cyBi
L1Rvb2xzL1NjcmlwdHMvcnVuLWpzYy1zdHJlc3MtdGVzdHMKaW5kZXggOWU2NDY1YzJlMDM3NWEx
OTBlNWFkYjIwMWRiOWIwZTUyNDdkYTk5Yy4uMTNmOTVkOTY0ZDY2YjU1MDJkOTczNGUzZWNjZmE1
MGNkMzIyNWY0ZSAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy9ydW4tanNjLXN0cmVzcy10ZXN0
cworKysgYi9Ub29scy9TY3JpcHRzL3J1bi1qc2Mtc3RyZXNzLXRlc3RzCkBAIC01Nyw2ICs1Nyw3
IEBAIHJhaXNlIHVubGVzcyBTQ1JJUFRTX1BBVEguYmFzZW5hbWUudG9fcyA9PSAiU2NyaXB0cyIK
IHJhaXNlIHVubGVzcyBTQ1JJUFRTX1BBVEguZGlybmFtZS5iYXNlbmFtZS50b19zID09ICJUb29s
cyIKIAogSEVMUEVSU19QQVRIID0gU0NSSVBUU19QQVRIICsgImpzYy1zdHJlc3MtdGVzdC1oZWxw
ZXJzIgorU1RBVFVTX0ZJTEVfUFJFRklYID0gInRlc3Rfc3RhdHVzXyIKIAogYmVnaW4KICAgICBy
ZXF1aXJlICdzaGVsbHdvcmRzJwpAQCAtMTM0LDYgKzEzNSw3IEBAICRmb3JjZUNvbGxlY3RDb250
aW51b3VzbHkgPSBmYWxzZQogJHJlcG9ydEV4ZWN1dGlvblRpbWUgPSBmYWxzZQogJGxkZCA9IG5p
bAogJGFydGlmYWN0X2V4ZWNfd3JhcHBlciA9IG5pbAorJHJ1blVuaXF1ZUlkID0gUmFuZG9tLm5l
dy5ieXRlcygxNikudW5wYWNrKCJIKiIpWzBdCiAKIGRlZiB1c2FnZQogICAgIHB1dHMgInJ1bi1q
c2Mtc3RyZXNzLXRlc3RzIC1qIDxzaGVsbCBwYXRoPiA8Y29sbGVjdGlvbnMgcGF0aD4gWzxjb2xs
ZWN0aW9ucyBwYXRoPiAuLi5dIgpAQCAtNTM1LDkgKzUzNyw2IEBAIGlmICR0ZXN0V3JpdGVyCiAg
ICAgZW5kCiBlbmQKIAotJG51bUZhaWx1cmVzID0gMAotJG51bVBhc3NlcyA9IDAKLQogIyBXZSBm
b3JjZSBhbGwgdGVzdHMgdG8gdXNlIGEgc21hbGxlciAoMS41TSkgc3RhY2sgc28gdGhhdCBzdGFj
ayBvdmVyZmxvdyB0ZXN0cyBjYW4gcnVuIGZhc3Rlci4KIEJBU0VfT1BUSU9OUyA9IFsiLS11c2VG
VExKSVQ9ZmFsc2UiLCAiLS11c2VGdW5jdGlvbkRvdEFyZ3VtZW50cz10cnVlIiwgIi0tdmFsaWRh
dGVFeGNlcHRpb25DaGVja3M9dHJ1ZSIsICItLXVzZURvbGxhclZNPXRydWUiLCAiLS1tYXhQZXJU
aHJlYWRTdGFja1VzYWdlPTE1NzI4NjQiXQogRUFHRVJfT1BUSU9OUyA9IFsiLS10aHJlc2hvbGRG
b3JKSVRBZnRlcldhcm1VcD0xMCIsICItLXRocmVzaG9sZEZvckpJVFNvb249MTAiLCAiLS10aHJl
c2hvbGRGb3JPcHRpbWl6ZUFmdGVyV2FybVVwPTIwIiwgIi0tdGhyZXNob2xkRm9yT3B0aW1pemVB
ZnRlckxvbmdXYXJtVXA9MjAiLCAiLS10aHJlc2hvbGRGb3JPcHRpbWl6ZVNvb249MjAiLCAiLS10
aHJlc2hvbGRGb3JGVExPcHRpbWl6ZUFmdGVyV2FybVVwPTIwIiwgIi0tdGhyZXNob2xkRm9yRlRM
T3B0aW1pemVTb29uPTIwIiwgIi0tdGhyZXNob2xkRm9yT01HT3B0aW1pemVBZnRlcldhcm1VcD0y
MCIsICItLXRocmVzaG9sZEZvck9NR09wdGltaXplU29vbj0yMCIsICItLW1heGltdW1FdmFsQ2Fj
aGVhYmxlU291cmNlTGVuZ3RoPTE1MDAwMCIsICItLXVzZUVhZ2VyQ29kZUJsb2NrSmV0dGlzb25U
aW1pbmc9dHJ1ZSIsICItLXJlcGF0Y2hCdWZmZXJpbmdDb3VudGRvd249MCJdCkBAIC0xODE5LDcg
KzE4MTgsNiBAQCBkZWYgYXBwZW5kRmFpbHVyZShwbGFuKQogICAgICAgICB8IG91dHAgfAogICAg
ICAgICBvdXRwLnB1dHMgcGxhbi5uYW1lCiAgICAgfQotICAgICRudW1GYWlsdXJlcyArPSAxCiBl
bmQKIAogZGVmIGFwcGVuZFBhc3MocGxhbikKQEAgLTE4MjcsNyArMTgyNSwxMyBAQCBkZWYgYXBw
ZW5kUGFzcyhwbGFuKQogICAgICAgICB8IG91dHAgfAogICAgICAgICBvdXRwLnB1dHMgcGxhbi5u
YW1lCiAgICAgfQotICAgICRudW1QYXNzZXMgKz0gMQorZW5kCisKK2RlZiBhcHBlbmROb1Jlc3Vs
dChwbGFuKQorICAgIEZpbGUub3Blbigkb3V0cHV0RGlyICsgIm5vcmVzdWx0IiwgImEiKSB7Cisg
ICAgICAgIHwgb3V0cCB8CisgICAgICAgIG91dHAucHV0cyBwbGFuLm5hbWUKKyAgICB9CiBlbmQK
IAogZGVmIGFwcGVuZFJlc3VsdChwbGFuLCBkaWRQYXNzKQpAQCAtMjAzNSw3ICsyMDM5LDcgQEAg
ZGVmIGNsZWFuUnVubmVyRGlyZWN0b3J5CiAgICAgfQogZW5kCiAKLWRlZiBzc2hSZWFkKGNtZCwg
cmVtb3RlSW5kZXg9MCkKK2RlZiBzc2hSZWFkKGNtZCwgcmVtb3RlSW5kZXg9MCwgb3B0aW9ucz17
fSkKICAgICByYWlzZSB1bmxlc3MgJHJlbW90ZQogCiAgICAgcmVtb3RlSG9zdCA9ICRyZW1vdGVI
b3N0c1tyZW1vdGVJbmRleF0KQEAgLTIwNDgsNyArMjA1Miw3IEBAIGRlZiBzc2hSZWFkKGNtZCwg
cmVtb3RlSW5kZXg9MCkKICAgICAgICAgcmVzdWx0ICs9IGxpbmUKICAgICAgIH0KICAgICB9Ci0g
ICAgcmFpc2UgIiN7JD99IiB1bmxlc3MgJD8uc3VjY2Vzcz8KKyAgICByYWlzZSAiI3skP30iIHVu
bGVzcyAkPy5zdWNjZXNzPyBvciBvcHRpb25zWzppZ25vcmVGYWlsdXJlXQogICAgIHJlc3VsdAog
ZW5kCiAKQEAgLTIyMDMsNTIgKzIyMDcsMTEyIEBAIGRlZiBydW5UZXN0UnVubmVyKHJlbW90ZUlu
ZGV4PTApCiAgICAgZW5kCiBlbmQKIAotZGVmIGRldGVjdEZhaWx1cmVzCi0gICAgcmFpc2UgaWYg
JGJ1bmRsZQotICAgIGZhaWx1cmVzID0gW10KK2RlZiBnZXRTdGF0dXNNYXAKKyAgICBuYW1lX3Jl
ID0gL15bLl1cLyN7U1RBVFVTX0ZJTEVfUFJFRklYfShcZCspJC8KKyAgICBtYXAgPSB7fQogICAg
IGlmICRyZW1vdGUKICAgICAgICAgJHJlbW90ZUhvc3RzLmVhY2hfd2l0aF9pbmRleCB7CiAgICAg
ICAgICAgICB8IGhvc3QsIHJlbW90ZUluZGV4IHwKLSAgICAgICAgICAgIG91dHB1dCA9IHNzaFJl
YWQoImNkICN7aG9zdC5yZW1vdGVEaXJlY3Rvcnl9LyN7JG91dHB1dERpci5iYXNlbmFtZX0vLnJ1
bm5lciAmJiBmaW5kIC4gLW1heGRlcHRoIDEgLW5hbWUgXCJ0ZXN0X2ZhaWxfKlwiIiwgcmVtb3Rl
SW5kZXgpCisgICAgICAgICAgICBvdXRwdXQgPSBzc2hSZWFkKCJjZCAje2hvc3QucmVtb3RlRGly
ZWN0b3J5fS8jeyRvdXRwdXREaXIuYmFzZW5hbWV9Ly5ydW5uZXIgJiYgZmluZCAuIC1tYXhkZXB0
aCAxIC1uYW1lIFwiI3tTVEFUVVNfRklMRV9QUkVGSVh9KlwiIC1leGVjIHNoIC1jIFwicHJpbnRm
IFxcXCIlcyBcXFwiIHt9OyBjYXQge31cIiBcXDsiLCByZW1vdGVJbmRleCwgOmlnbm9yZUZhaWx1
cmUgPT4gdHJ1ZSkKICAgICAgICAgICAgIG91dHB1dC5zcGxpdCgvXG4vKS5lYWNoIHsKICAgICAg
ICAgICAgICAgICB8IGxpbmUgfAotICAgICAgICAgICAgICAgIG5leHQgdW5sZXNzIGxpbmUgPX4g
L3Rlc3RfZmFpbF8vCi0gICAgICAgICAgICAgICAgZmFpbHVyZXMgPDwgJH4ucG9zdF9tYXRjaC50
b19pCisgICAgICAgICAgICAgICAgbmFtZSwgcnVuX2lkLCBleGl0Q29kZSA9IGxpbmUuc3BsaXQo
JyAnKQorICAgICAgICAgICAgICAgIG1kID0gbmFtZV9yZS5tYXRjaChuYW1lKQorICAgICAgICAg
ICAgICAgIGlmIG1kLm5pbD8KKyAgICAgICAgICAgICAgICAgICAgJHN0ZGVyci5wdXRzKCJDb3Vs
ZCBub3QgcGFyc2UgbmFtZSBpbiBgI3tsaW5lfWAiKQorICAgICAgICAgICAgICAgICAgICBleGl0
KDEpCisgICAgICAgICAgICAgICAgZW5kCisgICAgICAgICAgICAgICAgaWYgcnVuX2lkICE9ICRy
dW5VbmlxdWVJZAorICAgICAgICAgICAgICAgICAgICAjIFRoaXMgbWF5IGNvbmNlaXZhYmx5IGhh
cHBlbiBpZiBhIHJlbW90ZSBnb2VzCisgICAgICAgICAgICAgICAgICAgICMgYXdheSBpbiB0aGUg
bWlkZGxlIG9mIGEgcnVuIGFuZCBjb21lcyBiYWNrCisgICAgICAgICAgICAgICAgICAgICMgb25s
aW5lIGluIHRoZSBtaWRkbGUgb2YgYSBkaWZmZXJlbnQgcnVuLgorICAgICAgICAgICAgICAgICAg
ICAkc3RkZXJyLnB1dHMoIklnbm9yaW5nIHN0YWxlIHN0YXR1cyBmaWxlIGZvciAje25hbWV9IChJ
RCAje3J1bl9pZH0gYnV0IGN1cnJlbnQgSUQgaXMgI3skcnVuVW5pcXVlSWR9KSIpCisgICAgICAg
ICAgICAgICAgICAgIG5leHQKKyAgICAgICAgICAgICAgICBlbmQKKyAgICAgICAgICAgICAgICBl
eGl0Q29kZSA9IGV4aXRDb2RlLnRvX2kKKyAgICAgICAgICAgICAgICBpbmRleCA9IG1kWzFdLnRv
X2kKKyAgICAgICAgICAgICAgICBpZiBtYXAuaGFzX2tleT8oaW5kZXgpCisgICAgICAgICAgICAg
ICAgICAgICRzdGRlcnIucHV0cygiRHVwbGljYXRlIHN0YXRlIGZpbGUgZm9yICN7aW5kZXh9IikK
KyAgICAgICAgICAgICAgICAgICAgIyBPbmUgc2NlbmFyaW8gaW4gd2hpY2ggdGhpcyBjb3VsZCBo
YXBwZW46CisgICAgICAgICAgICAgICAgICAgICMgVGVzdCBUIHJ1bnMgb24gcmVtb3RlIGhvc3Qg
QSBhbmQKKyAgICAgICAgICAgICAgICAgICAgIyAgIDEuIHRoZSBzdGF0ZSBmaWxlIHJlYWNoZXMg
QSdzIGRpc2sKKyAgICAgICAgICAgICAgICAgICAgIyAgIDIuIHNvbWVob3cgdGhlIGdudSBwYXJh
bGxlbCBydW5uZXIgaXMgbm90IG1hZGUgYXdhcmUgb2YgdGhlIHRlc3RzIGNvbXBsZXRpb24gKHBh
Y2tldCBsb3NzPykKKyAgICAgICAgICAgICAgICAgICAgIyAgIDMuIEEgbWFjaGluZSBjcmFzaGVz
CisgICAgICAgICAgICAgICAgICAgICMgICA0LiBnbnUgcGFyYWxsZWwgcmUtc2NoZWR1bGVzIHRo
ZSB0ZXN0IHRvIHJ1biBvbiByZW1vdGUgaG9zdCBCLCB3aGVyZSBpdCBydW5zIHRvIGNvbXBsZXRp
b24KKyAgICAgICAgICAgICAgICAgICAgIyAgIDUuIEIgY29tZXMgYmFjayBvbmxpbmUgYmVmb3Jl
IHRoZSBlbmQgb2YgdGhlIHJ1bgorICAgICAgICAgICAgICAgICAgICAjICAgNi4gd2UgY29sbGVj
dCB0aGUgc3RhdGUgZmlsZXMgZnJvbSBhbGwgcmVtb3RlcyBhbmQgZW5kIHVwIHdpdGggdHdvIHN0
YXRlIGZpbGVzIGZvciBULgorICAgICAgICAgICAgICAgICAgICBwcmV2ID0gbWFwW2luZGV4XQor
ICAgICAgICAgICAgICAgICAgICAjIG1hcFtpbmRleF0gaG9sZHMKKyAgICAgICAgICAgICAgICAg
ICAgIyAtIGEgbnVtYmVyLCBpZiBhbGwgZXhpdCBjb2RlcyB3ZSd2ZSBvYnNlcnZlZCBmb3IgYSB0
ZXN0IGFyZSB0aGUgc2FtZQorICAgICAgICAgICAgICAgICAgICAjIC0gYW4gYXJyYXksIGlmIHRo
ZXkgZGl2ZXJnZS4KKyAgICAgICAgICAgICAgICAgICAgaWYgcHJldi5pc19hPyhBcnJheSkKKyAg
ICAgICAgICAgICAgICAgICAgICAgIHByZXYucHVzaChleGl0Q29kZSkKKyAgICAgICAgICAgICAg
ICAgICAgZWxzaWYgcHJldiAhPSBleGl0Q29kZQorICAgICAgICAgICAgICAgICAgICAgICAgIyBJ
ZiB0aGUgdHdvIGV4aXQgY29kZXMgZGlmZmVyLCBrZWVwIHRoZW0KKyAgICAgICAgICAgICAgICAg
ICAgICAgICMgYm90aC4gVGhpcyBpcyBzaW1wbHkgYSB3YXkgdG8gbWFrZSBub3RlIG9mCisgICAg
ICAgICAgICAgICAgICAgICAgICAjIHRoZSBkaXZlcmdlbmNlIChmb3IgbGF0ZXIgcmVwb3J0aW5n
KS4KKyAgICAgICAgICAgICAgICAgICAgICAgIG1hcFtpbmRleF0gPSBbcHJldiwgZXhpdENvZGVd
CisgICAgICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgICAgICMgR290
IHRoZSBzYW1lIGV4aXQgY29kZSwgbm8gbmVlZCB0byBkbyBhbnl0aGluZy4KKyAgICAgICAgICAg
ICAgICAgICAgZW5kCisgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICBt
YXBbaW5kZXhdID0gZXhpdENvZGUKKyAgICAgICAgICAgICAgICBlbmQKICAgICAgICAgICAgIH0K
ICAgICAgICAgfQogICAgIGVsc2UKICAgICAgICAgRGlyLmZvcmVhY2goJHJ1bm5lckRpcikgewog
ICAgICAgICAgICAgfCBmaWxlbmFtZSB8Ci0gICAgICAgICAgICBuZXh0IHVubGVzcyBmaWxlbmFt
ZSA9fiAvdGVzdF9mYWlsXy8KLSAgICAgICAgICAgIGZhaWx1cmVzIDw8ICR+LnBvc3RfbWF0Y2gu
dG9faQorICAgICAgICAgICAgbWQgPSBuYW1lX3JlLm1hdGNoKCIuLyN7ZmlsZW5hbWV9IikKKyAg
ICAgICAgICAgIG5leHQgdW5sZXNzIG1kCisgICAgICAgICAgICBGaWxlLm9wZW4oIiN7JHJ1bm5l
ckRpcn0vI3tmaWxlbmFtZX0iLCAiciIpIHsgfGZ8CisgICAgICAgICAgICAgICAgcnVuSWQsIGV4
aXRDb2RlID0gZi5yZWFkLmNob21wLnNwbGl0KCcgJykKKyAgICAgICAgICAgICAgICBpZiBydW5J
ZCAhPSAkcnVuVW5pcXVlSWQKKyAgICAgICAgICAgICAgICAgICAgIyBXZSBjbGVhbiB0aGUgZGly
IGJlZm9yZSBhIHN0YXJ0aW5nIGEgcnVuLgorICAgICAgICAgICAgICAgICAgICByYWlzZSAiQ2Fu
J3QgaGFwcGVuIgorICAgICAgICAgICAgICAgIGVuZAorICAgICAgICAgICAgICAgIG1hcFttZFsx
XS50b19pXSA9IGV4aXRDb2RlLnRvX2kKKyAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgIGVu
ZAorICAgIG1hcAorZW5kCiAKLSAgICBmYWlsdXJlU2V0ID0ge30KLQotICAgIGZhaWx1cmVzLmVh
Y2ggewotICAgICAgICB8IGZhaWx1cmUgfCAKLSAgICAgICAgYXBwZW5kRmFpbHVyZSgkcnVubGlz
dFtmYWlsdXJlXSkKLSAgICAgICAgZmFpbHVyZVNldFtmYWlsdXJlXSA9IHRydWUKLSAgICB9Ci0K
K2RlZiBkZXRlY3RGYWlsdXJlcworICAgIHJhaXNlIGlmICRidW5kbGUKKyAgICBub3Jlc3VsdCA9
IDAKKyAgICBzdGF0dXNNYXAgPSBnZXRTdGF0dXNNYXAKICAgICBmYW1pbHlNYXAgPSB7fQorCiAg
ICAgJHJ1bmxpc3QuZWFjaF93aXRoX2luZGV4IHsKICAgICAgICAgfCBwbGFuLCBpbmRleCB8CiAg
ICAgICAgIHVubGVzcyBmYW1pbHlNYXBbcGxhbi5mYW1pbHldCiAgICAgICAgICAgICBmYW1pbHlN
YXBbcGxhbi5mYW1pbHldID0gW10KICAgICAgICAgZW5kCi0gICAgICAgIGlmIGZhaWx1cmVTZXRb
aW5kZXhdCi0gICAgICAgICAgICBhcHBlbmRSZXN1bHQocGxhbiwgZmFsc2UpCi0gICAgICAgICAg
ICBmYW1pbHlNYXBbcGxhbi5mYW1pbHldIDw8IHs6cmVzdWx0ID0+ICJGQUlMIiwgOnBsYW4gPT4g
cGxhbn07CisgICAgICAgIGlmIG5vdCBzdGF0dXNNYXAuaGFzX2tleT8oaW5kZXgpIG9yIHN0YXR1
c01hcC5pc19hPyhBcnJheSkKKyAgICAgICAgICAgIGFwcGVuZE5vUmVzdWx0KHBsYW4pCisgICAg
ICAgICAgICBub3Jlc3VsdCArPSAxCiAgICAgICAgICAgICBuZXh0CisgICAgICAgIGVuZAorICAg
ICAgICByZXN1bHQgPSBuaWwKKyAgICAgICAgaWYgc3RhdHVzTWFwW2luZGV4XSA9PSAwCisgICAg
ICAgICAgICBhcHBlbmRQYXNzKHBsYW4pCisgICAgICAgICAgICByZXN1bHQgPSAiUEFTUyIKICAg
ICAgICAgZWxzZQotICAgICAgICAgICAgYXBwZW5kUmVzdWx0KHBsYW4sIHRydWUpCi0gICAgICAg
ICAgICBmYW1pbHlNYXBbcGxhbi5mYW1pbHldIDw8IHs6cmVzdWx0ID0+ICJQQVNTIiwgOnBsYW4g
PT4gcGxhbn07CisgICAgICAgICAgICBhcHBlbmRGYWlsdXJlKHBsYW4pCisgICAgICAgICAgICBy
ZXN1bHQgPSAiRkFJTCIKKyAgICAgICAgICAgIGZhaWx1cmVTZXRbcGxhbi5pbmRleF0gPSB0cnVl
CiAgICAgICAgIGVuZAotICAgICAgICBhcHBlbmRQYXNzKHBsYW4pCisgICAgICAgIGFwcGVuZFJl
c3VsdChwbGFuLCBzdGF0dXNNYXBbaW5kZXhdID09IDApCisgICAgICAgIGZhbWlseU1hcFtwbGFu
LmZhbWlseV0gPDwgezpyZXN1bHQgPT4gcmVzdWx0LCA6cGxhbiA9PiBwbGFuIH0KICAgICB9CiAK
KyAgICBpZiBub3Jlc3VsdCA+IDAKKyAgICAgICAgJHN0ZGVyci5wdXRzKCJDb3VsZCBub3QgZ2V0
IHRoZSBleGl0IHN0YXR1cyBmb3IgI3tub3Jlc3VsdH0gdGVzdHMiKQorICAgICAgICAjIFdlIGNh
bid0IGNoYW5nZSBvdXIgZXhpdCBjb2RlLCBhcyBydW4tamF2YXNjcmlwdGNvcmUtdGVzdHMKKyAg
ICAgICAgIyBleHBlY3RzIDAgZXZlbiB3aGVuIHRoZXJlIGFyZSBmYWlsdXJlcy4KKyAgICBlbmQK
KwogICAgIEZpbGUub3Blbigkb3V0cHV0RGlyICsgInJlc3VsdHNCeUZhbWlseSIsICJ3Iikgewog
ICAgICAgICB8IG91dHAgfAogICAgICAgICBmaXJzdCA9IHRydWUKQEAgLTIyNTksNyArMjMyMyw3
IEBAIGRlZiBkZXRlY3RGYWlsdXJlcwogICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAg
IG91dHAucHV0cwogICAgICAgICAgICAgZW5kCi0gICAgICAgICAgICAKKwogICAgICAgICAgICAg
b3V0cC5wcmludCAiI3tmYW1pbHlOYW1lfToiCiAKICAgICAgICAgICAgIG51bVBhc3NlZCA9IDAK
QEAgLTIyOTcsNiArMjM2MSw3IEBAIGVuZAogCiBjbGVhbigkb3V0cHV0RGlyICsgImZhaWxlZCIp
CiBjbGVhbigkb3V0cHV0RGlyICsgInBhc3NlZCIpCitjbGVhbigkb3V0cHV0RGlyICsgIm5vcmVz
dWx0IikKIGNsZWFuKCRvdXRwdXREaXIgKyAicmVzdWx0cyIpCiBjbGVhbigkb3V0cHV0RGlyICsg
InJlc3VsdHNCeUZhbWlseSIpCiBjbGVhbigkb3V0cHV0RGlyICsgIi52bSIpCmRpZmYgLS1naXQg
YS9Ub29scy9TY3JpcHRzL3dlYmtpdHJ1YnkvanNjLXN0cmVzcy10ZXN0LXdyaXRlci1kZWZhdWx0
LnJiIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRydWJ5L2pzYy1zdHJlc3MtdGVzdC13cml0ZXItZGVm
YXVsdC5yYgppbmRleCAyOTRjZTIwZDI2ZTNiMGE3ZjEwOTg4ODAyNDlhOTAzMjZkZmJmMmQyLi45
NGE5ODQ4ZWY5ZjFiNDEyZTI4MmY2MTE3MjY0NmFhOGQ4OWZlZmM3IDEwMDY0NAotLS0gYS9Ub29s
cy9TY3JpcHRzL3dlYmtpdHJ1YnkvanNjLXN0cmVzcy10ZXN0LXdyaXRlci1kZWZhdWx0LnJiCisr
KyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cnVieS9qc2Mtc3RyZXNzLXRlc3Qtd3JpdGVyLWRlZmF1
bHQucmIKQEAgLTQ5LDE0ICs0OSwyNSBAQCBkZWYgbm9pc3lPdXRwdXRIYW5kbGVyCiAgICAgfQog
ZW5kCiAKK2RlZiBnZXRBbmRUZXN0RXhpdENvZGUocGxhbiwgY29uZGl0aW9uKQorICAgIDw8LUVP
RgorICAgIGV4aXRDb2RlPWBjYXQgI3twbGFuLnN0YXR1c0ZpbGV9IHwgYXdrICd7cHJpbnQgJDIg
fSdgCisgICAgaWYgdGVzdCAieCRleGl0Q29kZSIgPSB4OyB0aGVuCisgICAgICAgIGVjaG8gIk5v
IHN0YXR1cyBpbiAje3BsYW4uc3RhdHVzRmlsZX0iIDI+JjEKKyAgICAgICAgZXhpdCAxICMgWFhY
CisgICAgZmkKKyAgICBpZiB0ZXN0ICIkZXhpdENvZGUiICN7Y29uZGl0aW9ufQorRU9GCitlbmQK
KwogIyBFcnJvciBoYW5kbGVyIGZvciB0ZXN0cyB0aGF0IGZhaWwgZXhhY3RseSB3aGVuIHRoZXkg
cmV0dXJuIG5vbi16ZXJvIGV4aXQgc3RhdHVzLgogIyBUaGlzIGlzIHVzZWZ1bCB3aGVuIGEgdGVz
dCBpcyBleHBlY3RlZCB0byBmYWlsLgogZGVmIHNpbXBsZUVycm9ySGFuZGxlcgogICAgIFByb2Mu
bmV3IHsKICAgICAgICAgfCBvdXRwLCBwbGFuIHwKLSAgICAgICAgb3V0cC5wdXRzICJpZiB0ZXN0
IC1lICN7cGxhbi5mYWlsRmlsZX0iCisgICAgICAgIG91dHAucHV0cyBnZXRBbmRUZXN0RXhpdENv
ZGUocGxhbiwgIi1uZSAwIikKICAgICAgICAgb3V0cC5wdXRzICJ0aGVuIgotICAgICAgICBvdXRw
LnB1dHMgIiAgICAoZWNobyBFUlJPUjogVW5leHBlY3RlZCBleGl0IGNvZGU6IGBjYXQgI3twbGFu
LmZhaWxGaWxlfWApIHwgIiArIHJlZGlyZWN0QW5kUHJlZml4Q29tbWFuZChwbGFuLm5hbWUpCisg
ICAgICAgIG91dHAucHV0cyAiICAgIChlY2hvIEVSUk9SOiBVbmV4cGVjdGVkIGV4aXQgY29kZTog
JGV4aXRDb2RlKSB8ICIgKyByZWRpcmVjdEFuZFByZWZpeENvbW1hbmQocGxhbi5uYW1lKQogICAg
ICAgICBvdXRwLnB1dHMgIiAgICAiICsgcGxhbi5mYWlsQ29tbWFuZAogICAgICAgICBvdXRwLnB1
dHMgImVsc2UiCiAgICAgICAgIG91dHAucHV0cyAiICAgICIgKyBwbGFuLnN1Y2Nlc3NDb21tYW5k
CkBAIC02OCw3ICs3OSw3IEBAIGVuZAogZGVmIGV4cGVjdGVkRmFpbEVycm9ySGFuZGxlcgogICAg
IFByb2MubmV3IHsKICAgICAgICAgfCBvdXRwLCBwbGFuIHwKLSAgICAgICAgb3V0cC5wdXRzICJp
ZiB0ZXN0IC1lICN7cGxhbi5mYWlsRmlsZX0iCisgICAgICAgIG91dHAucHV0cyBnZXRBbmRUZXN0
RXhpdENvZGUocGxhbiwgIi1uZSAwIikKICAgICAgICAgb3V0cC5wdXRzICJ0aGVuIgogICAgICAg
ICBvdXRwLnB1dHMgIiAgICAiICsgcGxhbi5zdWNjZXNzQ29tbWFuZAogICAgICAgICBvdXRwLnB1
dHMgImVsc2UiCkBAIC04NCwxMCArOTUsMTAgQEAgZGVmIG5vaXN5RXJyb3JIYW5kbGVyCiAgICAg
UHJvYy5uZXcgewogICAgICAgICB8IG91dHAsIHBsYW4gfAogICAgICAgICBvdXRwdXRGaWxlbmFt
ZSA9IFNoZWxsd29yZHMuc2hlbGxlc2NhcGUoKFBhdGhuYW1lKCIuLiIpICsgKHBsYW4ubmFtZSAr
ICIub3V0IikpLnRvX3MpCi0gICAgCi0gICAgICAgIG91dHAucHV0cyAiaWYgdGVzdCAtZSAje3Bs
YW4uZmFpbEZpbGV9IgorCisgICAgICAgIG91dHAucHV0cyBnZXRBbmRUZXN0RXhpdENvZGUocGxh
biwgIi1uZSAwIikKICAgICAgICAgb3V0cC5wdXRzICJ0aGVuIgotICAgICAgICBvdXRwLnB1dHMg
IiAgICAoY2F0ICN7b3V0cHV0RmlsZW5hbWV9ICYmIGVjaG8gRVJST1I6IFVuZXhwZWN0ZWQgZXhp
dCBjb2RlOiBgY2F0ICN7cGxhbi5mYWlsRmlsZX1gKSB8ICIgKyByZWRpcmVjdEFuZFByZWZpeENv
bW1hbmQocGxhbi5uYW1lKQorICAgICAgICBvdXRwLnB1dHMgIiAgICAoY2F0ICN7b3V0cHV0Rmls
ZW5hbWV9ICYmIGVjaG8gRVJST1I6IFVuZXhwZWN0ZWQgZXhpdCBjb2RlOiAkZXhpdENvZGUpIHwg
IiArIHJlZGlyZWN0QW5kUHJlZml4Q29tbWFuZChwbGFuLm5hbWUpCiAgICAgICAgIG91dHAucHV0
cyAiICAgICIgKyBwbGFuLmZhaWxDb21tYW5kCiAgICAgICAgIG91dHAucHV0cyAiZWxzZSIKICAg
ICAgICAgb3V0cC5wdXRzICIgICAgIiArIHBsYW4uc3VjY2Vzc0NvbW1hbmQKQEAgLTEwMSwxMCAr
MTEyLDEwIEBAIGRlZiBkaWZmRXJyb3JIYW5kbGVyKGV4cGVjdGVkRmlsZW5hbWUpCiAgICAgICAg
IHwgb3V0cCwgcGxhbiB8CiAgICAgICAgIG91dHB1dEZpbGVuYW1lID0gU2hlbGx3b3Jkcy5zaGVs
bGVzY2FwZSgoUGF0aG5hbWUoIi4uIikgKyAocGxhbi5uYW1lICsgIi5vdXQiKSkudG9fcykKICAg
ICAgICAgZGlmZkZpbGVuYW1lID0gU2hlbGx3b3Jkcy5zaGVsbGVzY2FwZSgoUGF0aG5hbWUoIi4u
IikgKyAocGxhbi5uYW1lICsgIi5kaWZmIikpLnRvX3MpCi0gICAgICAgIAotICAgICAgICBvdXRw
LnB1dHMgImlmIHRlc3QgLWUgI3twbGFuLmZhaWxGaWxlfSIKKworICAgICAgICBvdXRwLnB1dHMg
Z2V0QW5kVGVzdEV4aXRDb2RlKHBsYW4sICItbmUgMCIpCiAgICAgICAgIG91dHAucHV0cyAidGhl
biIKLSAgICAgICAgb3V0cC5wdXRzICIgICAgKGNhdCAje291dHB1dEZpbGVuYW1lfSAmJiBlY2hv
IEVSUk9SOiBVbmV4cGVjdGVkIGV4aXQgY29kZTogYGNhdCAje3BsYW4uZmFpbEZpbGV9YCkgfCAi
ICsgcmVkaXJlY3RBbmRQcmVmaXhDb21tYW5kKHBsYW4ubmFtZSkKKyAgICAgICAgb3V0cC5wdXRz
ICIgICAgKGNhdCAje291dHB1dEZpbGVuYW1lfSAmJiBlY2hvIEVSUk9SOiBVbmV4cGVjdGVkIGV4
aXQgY29kZTogJGV4aXRDb2RlKSB8ICIgKyByZWRpcmVjdEFuZFByZWZpeENvbW1hbmQocGxhbi5u
YW1lKQogICAgICAgICBvdXRwLnB1dHMgIiAgICAiICsgcGxhbi5mYWlsQ29tbWFuZAogICAgICAg
ICBvdXRwLnB1dHMgImVsaWYgdGVzdCAtZSAuLi8je1NoZWxsd29yZHMuc2hlbGxlc2NhcGUoZXhw
ZWN0ZWRGaWxlbmFtZSl9IgogICAgICAgICBvdXRwLnB1dHMgInRoZW4iCkBAIC0xMzAsOSArMTQx
LDkgQEAgZGVmIG1vemlsbGFFcnJvckhhbmRsZXIKICAgICAgICAgfCBvdXRwLCBwbGFuIHwKICAg
ICAgICAgb3V0cHV0RmlsZW5hbWUgPSBTaGVsbHdvcmRzLnNoZWxsZXNjYXBlKChQYXRobmFtZSgi
Li4iKSArIChwbGFuLm5hbWUgKyAiLm91dCIpKS50b19zKQogCi0gICAgICAgIG91dHAucHV0cyAi
aWYgdGVzdCAtZSAje3BsYW4uZmFpbEZpbGV9IgorICAgICAgICBvdXRwLnB1dHMgZ2V0QW5kVGVz
dEV4aXRDb2RlKHBsYW4sICItbmUgMCIpCiAgICAgICAgIG91dHAucHV0cyAidGhlbiIKLSAgICAg
ICAgb3V0cC5wdXRzICIgICAgKGNhdCAje291dHB1dEZpbGVuYW1lfSAmJiBlY2hvIEVSUk9SOiBV
bmV4cGVjdGVkIGV4aXQgY29kZTogYGNhdCAje3BsYW4uZmFpbEZpbGV9YCkgfCAiICsgcmVkaXJl
Y3RBbmRQcmVmaXhDb21tYW5kKHBsYW4ubmFtZSkKKyAgICAgICAgb3V0cC5wdXRzICIgICAgKGNh
dCAje291dHB1dEZpbGVuYW1lfSAmJiBlY2hvIEVSUk9SOiBVbmV4cGVjdGVkIGV4aXQgY29kZTog
JGV4aXRDb2RlKSB8ICIgKyByZWRpcmVjdEFuZFByZWZpeENvbW1hbmQocGxhbi5uYW1lKQogICAg
ICAgICBvdXRwLnB1dHMgIiAgICAiICsgcGxhbi5mYWlsQ29tbWFuZAogICAgICAgICBvdXRwLnB1
dHMgImVsaWYgZ3JlcCAtaSAtcSBmYWlsZWQhICN7b3V0cHV0RmlsZW5hbWV9IgogICAgICAgICBv
dXRwLnB1dHMgInRoZW4iCkBAIC0xNTEsNyArMTYyLDcgQEAgZGVmIG1vemlsbGFGYWlsRXJyb3JI
YW5kbGVyCiAgICAgICAgIHwgb3V0cCwgcGxhbiB8CiAgICAgICAgIG91dHB1dEZpbGVuYW1lID0g
U2hlbGx3b3Jkcy5zaGVsbGVzY2FwZSgoUGF0aG5hbWUoIi4uIikgKyAocGxhbi5uYW1lICsgIi5v
dXQiKSkudG9fcykKIAotICAgICAgICBvdXRwLnB1dHMgImlmIHRlc3QgLWUgI3twbGFuLmZhaWxG
aWxlfSIKKyAgICAgICAgb3V0cC5wdXRzIGdldEFuZFRlc3RFeGl0Q29kZShwbGFuLCAiLW5lIDAi
KQogICAgICAgICBvdXRwLnB1dHMgInRoZW4iCiAgICAgICAgIG91dHAucHV0cyAiICAgICIgKyBw
bGFuLnN1Y2Nlc3NDb21tYW5kCiAgICAgICAgIG91dHAucHV0cyAiZWxpZiBncmVwIC1pIC1xIGZh
aWxlZCEgI3tvdXRwdXRGaWxlbmFtZX0iCkBAIC0xNzEsOSArMTgyLDkgQEAgZGVmIG1vemlsbGFF
eGl0M0Vycm9ySGFuZGxlcgogICAgICAgICB8IG91dHAsIHBsYW4gfAogICAgICAgICBvdXRwdXRG
aWxlbmFtZSA9IFNoZWxsd29yZHMuc2hlbGxlc2NhcGUoKFBhdGhuYW1lKCIuLiIpICsgKHBsYW4u
bmFtZSArICIub3V0IikpLnRvX3MpCiAKLSAgICAgICAgb3V0cC5wdXRzICJpZiB0ZXN0IC1lICN7
cGxhbi5mYWlsRmlsZX0iCisgICAgICAgIG91dHAucHV0cyBnZXRBbmRUZXN0RXhpdENvZGUocGxh
biwgIi1uZSAwIikKICAgICAgICAgb3V0cC5wdXRzICJ0aGVuIgotICAgICAgICBvdXRwLnB1dHMg
IiAgICBpZiBbIGBjYXQgI3twbGFuLmZhaWxGaWxlfWAgLWVxIDMgXSIKKyAgICAgICAgb3V0cC5w
dXRzICIgICAgaWYgWyBcIiRleGl0Q29kZVwiIC1lcSAzIF0iCiAgICAgICAgIG91dHAucHV0cyAi
ICAgIHRoZW4iCiAgICAgICAgIG91dHAucHV0cyAiICAgICAgICBpZiBncmVwIC1pIC1xIGZhaWxl
ZCEgI3tvdXRwdXRGaWxlbmFtZX0iCiAgICAgICAgIG91dHAucHV0cyAiICAgICAgICB0aGVuIgpA
QCAtMTgzLDcgKzE5NCw3IEBAIGRlZiBtb3ppbGxhRXhpdDNFcnJvckhhbmRsZXIKICAgICAgICAg
b3V0cC5wdXRzICIgICAgICAgICAgICAiICsgcGxhbi5zdWNjZXNzQ29tbWFuZAogICAgICAgICBv
dXRwLnB1dHMgIiAgICAgICAgZmkiCiAgICAgICAgIG91dHAucHV0cyAiICAgIGVsc2UiCi0gICAg
ICAgIG91dHAucHV0cyAiICAgICAgICAoY2F0ICN7b3V0cHV0RmlsZW5hbWV9ICYmIGVjaG8gRVJS
T1I6IFVuZXhwZWN0ZWQgZXhpdCBjb2RlOiBgY2F0ICN7cGxhbi5mYWlsRmlsZX1gKSB8ICIgKyBy
ZWRpcmVjdEFuZFByZWZpeENvbW1hbmQocGxhbi5uYW1lKQorICAgICAgICBvdXRwLnB1dHMgIiAg
ICAgICAgKGNhdCAje291dHB1dEZpbGVuYW1lfSAmJiBlY2hvIEVSUk9SOiBVbmV4cGVjdGVkIGV4
aXQgY29kZTogJGV4aXRDb2RlKSB8ICIgKyByZWRpcmVjdEFuZFByZWZpeENvbW1hbmQocGxhbi5u
YW1lKQogICAgICAgICBvdXRwLnB1dHMgIiAgICAgICAgIiArIHBsYW4uZmFpbENvbW1hbmQKICAg
ICAgICAgb3V0cC5wdXRzICIgICAgZmkiCiAgICAgICAgIG91dHAucHV0cyAiZWxzZSIKQEAgLTIw
MCw5ICsyMTEsOSBAQCBkZWYgY2hha3JhUGFzc0ZhaWxFcnJvckhhbmRsZXIKICAgICAgICAgfCBv
dXRwLCBwbGFuIHwKICAgICAgICAgb3V0cHV0RmlsZW5hbWUgPSBTaGVsbHdvcmRzLnNoZWxsZXNj
YXBlKChQYXRobmFtZSgiLi4iKSArIChwbGFuLm5hbWUgKyAiLm91dCIpKS50b19zKQogCi0gICAg
ICAgIG91dHAucHV0cyAiaWYgdGVzdCAtZSAje3BsYW4uZmFpbEZpbGV9IgorICAgICAgICBvdXRw
LnB1dHMgZ2V0QW5kVGVzdEV4aXRDb2RlKHBsYW4sICItbmUgMCIpCiAgICAgICAgIG91dHAucHV0
cyAidGhlbiIKLSAgICAgICAgb3V0cC5wdXRzICIgICAgKGNhdCAje291dHB1dEZpbGVuYW1lfSAm
JiBlY2hvIEVSUk9SOiBVbmV4cGVjdGVkIGV4aXQgY29kZTogYGNhdCAje3BsYW4uZmFpbEZpbGV9
YCkgfCAiICsgcmVkaXJlY3RBbmRQcmVmaXhDb21tYW5kKHBsYW4ubmFtZSkKKyAgICAgICAgb3V0
cC5wdXRzICIgICAgKGNhdCAje291dHB1dEZpbGVuYW1lfSAmJiBlY2hvIEVSUk9SOiBVbmV4cGVj
dGVkIGV4aXQgY29kZTogJGV4aXRDb2RlKSB8ICIgKyByZWRpcmVjdEFuZFByZWZpeENvbW1hbmQo
cGxhbi5uYW1lKQogICAgICAgICBvdXRwLnB1dHMgIiAgICAiICsgcGxhbi5mYWlsQ29tbWFuZAog
ICAgICAgICBvdXRwLnB1dHMgImVsaWYgZ3JlcCAtaSAtcSBGQUlMRUQgI3tvdXRwdXRGaWxlbmFt
ZX0iCiAgICAgICAgIG91dHAucHV0cyAidGhlbiIKQEAgLTI2NCw3ICsyNzUsNyBAQCBjbGFzcyBQ
bGFuCiAgICAgZW5kCiAgICAgCiAgICAgZGVmIGZhaWxDb21tYW5kCi0gICAgICAgICJlY2hvIEZB
SUw6ICN7U2hlbGx3b3Jkcy5zaGVsbGVzY2FwZShAbmFtZSl9IDsgdG91Y2ggI3tmYWlsRmlsZX0g
OyAiICsgcmVwcm9TY3JpcHRDb21tYW5kCisgICAgICAgICJlY2hvIEZBSUw6ICN7U2hlbGx3b3Jk
cy5zaGVsbGVzY2FwZShAbmFtZSl9OyAiICsgcmVwcm9TY3JpcHRDb21tYW5kCiAgICAgZW5kCiAg
ICAgCiAgICAgZGVmIHN1Y2Nlc3NDb21tYW5kCkBAIC0yNzMsMTQgKzI4NCwxNCBAQCBjbGFzcyBQ
bGFuCiAgICAgICAgICAgICBleGVjdXRpb25UaW1lTWVzc2FnZSA9ICIgJCgoJFNFQ09ORFMgLSAk
U1RBUlRfVElNRSkpcyIKICAgICAgICAgZW5kCiAgICAgICAgIGlmICRwcm9ncmVzc01ldGVyIG9y
ICRyZXBvcnRFeGVjdXRpb25UaW1lIG9yICR2ZXJib3NpdHkgPj0gMgotICAgICAgICAgICAgInJt
IC1mICN7ZmFpbEZpbGV9IDsgZWNobyBQQVNTOiAje1NoZWxsd29yZHMuc2hlbGxlc2NhcGUoQG5h
bWUpfSN7ZXhlY3V0aW9uVGltZU1lc3NhZ2V9IgorICAgICAgICAgICAgImVjaG8gUEFTUzogI3tT
aGVsbHdvcmRzLnNoZWxsZXNjYXBlKEBuYW1lKX0je2V4ZWN1dGlvblRpbWVNZXNzYWdlfSIKICAg
ICAgICAgZWxzZQotICAgICAgICAgICAgInJtIC1mICN7ZmFpbEZpbGV9IgorICAgICAgICAgICAg
IjoiICMgbm8tb3A7IG5lY2Vzc2FyeSBvbiBzb21lIHNoZWxscwogICAgICAgICBlbmQKICAgICBl
bmQKICAgICAKLSAgICBkZWYgZmFpbEZpbGUKLSAgICAgICAgInRlc3RfZmFpbF8je0BpbmRleH0i
CisgICAgZGVmIHN0YXR1c0ZpbGUKKyAgICAgICAgIiN7U1RBVFVTX0ZJTEVfUFJFRklYfSN7QGlu
ZGV4fSIKICAgICBlbmQKICAgICAKICAgICBkZWYgd3JpdGVSdW5TY3JpcHQoZmlsZW5hbWUpCkBA
IC0yOTAsNyArMzAxLDcgQEAgY2xhc3MgUGxhbgogICAgICAgICAgICAgICAgIG91dHAucHV0cyAi
U1RBUlRfVElNRT0kU0VDT05EUyIKICAgICAgICAgICAgIGVuZAogICAgICAgICAgICAgb3V0cC5w
dXRzICJlY2hvIFJ1bm5pbmcgI3tTaGVsbHdvcmRzLnNoZWxsZXNjYXBlKEBuYW1lKX0iCi0gICAg
ICAgICAgICBjbWQgID0gIigiICsgc2hlbGxDb21tYW5kICsgIiB8fCAoZWNobyAkPyA+ICN7ZmFp
bEZpbGV9KSkgMj4mMSAiCisgICAgICAgICAgICBjbWQgID0gIigiICsgc2hlbGxDb21tYW5kICsg
IjsgZWNobyBcIiN7JHJ1blVuaXF1ZUlkfSAkP1wiID4gI3tzdGF0dXNGaWxlfSkgMj4mMSAiCiAg
ICAgICAgICAgICBjbWQgKz0gQG91dHB1dEhhbmRsZXIuY2FsbChAbmFtZSkKICAgICAgICAgICAg
IGlmICR2ZXJib3NpdHkgPj0gMwogICAgICAgICAgICAgICAgIG91dHAucHV0cyAiZWNobyAje1No
ZWxsd29yZHMuc2hlbGxlc2NhcGUoY21kKX0iCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>421947</attachid>
            <date>2021-03-02 09:12:34 -0800</date>
            <delta_ts>2021-03-03 06:12:02 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-222601-20210302171233.patch</filename>
            <type>text/plain</type>
            <size>18803</size>
            <attacher name="Angelos Oikonomopoulos">angelos</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjczMzg0CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNjE4N2U5NDAzMzE2MmJmNjMzMWY4NDQwMmQxYWIyZGI0
ZjllMTIyNy4uNDQwN2QwYjhiOWZlMmQ0YTZmOWM4MzQ3YzhkMzk3MjEwN2JlOTI0NiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1
IEBACisyMDIxLTAzLTAyICBBbmdlbG9zIE9pa29ub21vcG91bG9zICA8YW5nZWxvc0BpZ2FsaWEu
Y29tPgorCisgICAgICAgIFtKU0NdIGRldGVjdCBpbmZyYXN0cnVjdHVyZSBmYWlsdXJlIGZvciBy
ZW1vdGUgc3RyZXNzIHRlc3RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMjI2MDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBydW4tanNjLXN0cmVzcy10ZXN0cyBjdXJyZW50bHkgZGV0ZWN0cyBmYWlsdXJl
cyBieSB0aGUgYWJzZW5jZSBvZgorICAgICAgICBhIGZhaWx1cmUgZmlsZSAodGhhdCBpcyBnZW5l
cmF0ZWQgYnkgZWFjaCBmYWlsaW5nIHRlc3QpLiBUaGlzIGlzCisgICAgICAgIGZyYWdpbGUgdG8g
YmVnaW4gd2l0aCwgYXMgaXQgYXNzdW1lcyB0aGF0IHRlc3RzIHRoYXQgZmFpbCB0byBydW4KKyAg
ICAgICAgKGUuZy4gYmVjYXVzZSBvZiBhbiBlcnJvciBpbiB0aGUgcnVubmVyIHNjcmlwdCkgYXJl
IHN1Y2Nlc3NmdWwgYnkKKyAgICAgICAgZGVmYXVsdC4KKworICAgICAgICBIb3dldmVyLCB0aGUg
bWFpbiBtb3RpdmF0aW9uIGZvciB0aGlzIHBhdGNoIGlzIHRvIG1ha2UgZXhlY3V0aW9uCisgICAg
ICAgIG1vcmUgcm9idXN0IHdoZW4gdXNpbmcgcmVtb3RlIGhvc3RzLiBDdXJyZW50bHksCisgICAg
ICAgIC0tZ251LXBhcmFsbGVsLXJ1bm5lciB3aWxsIHRyYW5zcGFyZW50bHkgcmVzY2hlZHVsZSBq
b2JzIG9uIGEKKyAgICAgICAgZGlmZmVyZW50IGhvc3Qgd2hlbiBhIHJlbW90ZSBob3N0IGdvZXMg
YXdheS4gQnV0IGRldGVjdEZhaWx1cmVzCisgICAgICAgIGV4cGVjdHMgdG8gYmUgYWJsZSB0byBj
b25uZWN0IHRvIGFsbCBob3N0cyBhbmQgZmV0Y2ggdGhlIGZhaWx1cmUKKyAgICAgICAgZmlsZXMs
IHdoaWNoIGZhaWxzIGlmIGEgcmVtb3RlIGhvc3QgaXMgc3RpbGwgZG93biB3aGVuIHRoZSBydW4K
KyAgICAgICAgZmluaXNoZXMuCisKKyAgICAgICAgSW5zdGVhZCwgdGhpcyBwYXRjaCBjaGFuZ2Vz
IHRoZSBydW5uZXJzIHRvIGFsd2F5cyBnZW5lcmF0ZSBhIHN0YXR1cworICAgICAgICBmaWxlIHdp
dGggdGhlIGV4aXQgY29kZS4gZGV0ZWN0RmFpbHVyZXMgdGhlbiBmZXRjaGVzIGFsbCBzdGF0dXMK
KyAgICAgICAgZmlsZXMgZnJvbSBhbGwgaG9zdHMgdGhhdCBhcmUgbGl2ZSBvbiBleGl0LiBUZXN0
cyB0aGF0IGZhaWxlZCB0bworICAgICAgICBydW4gYXJlIGV4cGxpY2l0bHkgYWNjb3VudGVkIGZv
ciBhcyAnbm9yZXBvcnQnIGFuZCBhcmUgc2V0IHRvCisgICAgICAgIEVSUk9SIGluIHRoZSBmaW5h
bCByZXBvcnQuCisKKyAgICAgICAgKiBTY3JpcHRzL3J1bi1qYXZhc2NyaXB0Y29yZS10ZXN0czoK
KyAgICAgICAgKHJ1bkpTQ1N0cmVzc1Rlc3RzKToKKyAgICAgICAgKiBTY3JpcHRzL3J1bi1qc2Mt
c3RyZXNzLXRlc3RzOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cnVieS9qc2Mtc3RyZXNzLXRl
c3Qtd3JpdGVyLWRlZmF1bHQucmI6CisKIDIwMjEtMDItMjQgIERvbiBPbG1zdGVhZCAgPGRvbi5v
bG1zdGVhZEBzb255LmNvbT4KIAogICAgICAgICBPbmx5IGltcG9ydCBQeXRob24gZmxhdHBhayBt
b2R1bGUgb24gTGludXgKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvcnVuLWphdmFzY3JpcHRj
b3JlLXRlc3RzIGIvVG9vbHMvU2NyaXB0cy9ydW4tamF2YXNjcmlwdGNvcmUtdGVzdHMKaW5kZXgg
NDZkOTIxNzg4NDczZGViZjIwNGVkMzRlZjJmMzRjNTlmYjcyYzg3NC4uNWNkNjk4ZjYxZGMwMTk5
MWFjMWQxNWMzMjU2YzYzZjg4MWJjMzdlOSAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy9ydW4t
amF2YXNjcmlwdGNvcmUtdGVzdHMKKysrIGIvVG9vbHMvU2NyaXB0cy9ydW4tamF2YXNjcmlwdGNv
cmUtdGVzdHMKQEAgLTkxOCw5ICs5MTgsMjAgQEAgc3ViIHJ1bkpTQ1N0cmVzc1Rlc3RzCiAgICAg
fQogICAgIHByaW50ICJcbiI7CiAKKyAgICBteSBAanNjU3RyZXNzTm9SZXN1bHRMaXN0ID0gcmVh
ZEFsbExpbmVzKCRqc2NTdHJlc3NSZXN1bHRzRGlyIC4gIi9ub3Jlc3VsdCIpOworICAgIG15ICRu
dW1KU0NTdHJlc3NOb1Jlc3VsdFRlc3RzID0gQGpzY1N0cmVzc05vUmVzdWx0TGlzdDsKKworICAg
IGlmICgkbnVtSlNDU3RyZXNzTm9SZXN1bHRUZXN0cykgeworICAgICAgICAkaXNUZXN0RmFpbGVk
ID0gMTsKKyAgICB9CisgICAgZm9yZWFjaCBteSAkdGVzdE5vUmVzdWx0IChAanNjU3RyZXNzTm9S
ZXN1bHRMaXN0KSB7CisgICAgICAgICAgICAkcmVwb3J0RGF0YXskdGVzdE5vUmVzdWx0fSA9IHth
Y3R1YWwgPT4gIkVSUk9SIn07CisgICAgfQorCiAgICAgcHJpbnQgIlJlc3VsdHMgZm9yIEpTQyBz
dHJlc3MgdGVzdHM6XG4iOwogICAgIHByaW50VGhpbmdzRm91bmQoJG51bUpTQ1N0cmVzc0ZhaWx1
cmVzLCAiZmFpbHVyZSIsICJmYWlsdXJlcyIsICJmb3VuZCIpOwotICAgIHByaW50ICIgICAgT0su
XG4iIGlmICRudW1KU0NTdHJlc3NGYWlsdXJlcyA9PSAwOworICAgIHByaW50VGhpbmdzRm91bmQo
JG51bUpTQ1N0cmVzc05vUmVzdWx0VGVzdHMsICJ0ZXN0IiwgInRlc3RzIiwgImZhaWxlZCB0byBj
b21wbGV0ZSIpOworICAgIHByaW50ICIgICAgT0suXG4iIGlmICRudW1KU0NTdHJlc3NGYWlsdXJl
cyA9PSAwIGFuZCAkbnVtSlNDU3RyZXNzTm9SZXN1bHRUZXN0cyA9PSAwOwogCiAgICAgcHJpbnQg
IlxuIjsKIApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9ydW4tanNjLXN0cmVzcy10ZXN0cyBi
L1Rvb2xzL1NjcmlwdHMvcnVuLWpzYy1zdHJlc3MtdGVzdHMKaW5kZXggOWU2NDY1YzJlMDM3NWEx
OTBlNWFkYjIwMWRiOWIwZTUyNDdkYTk5Yy4uNDNlNDk1NTkwMzAyM2U4ZGJkYjljOWZmZTVlNDY4
NDZhZmQ1MThmOSAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy9ydW4tanNjLXN0cmVzcy10ZXN0
cworKysgYi9Ub29scy9TY3JpcHRzL3J1bi1qc2Mtc3RyZXNzLXRlc3RzCkBAIC01Nyw2ICs1Nyw3
IEBAIHJhaXNlIHVubGVzcyBTQ1JJUFRTX1BBVEguYmFzZW5hbWUudG9fcyA9PSAiU2NyaXB0cyIK
IHJhaXNlIHVubGVzcyBTQ1JJUFRTX1BBVEguZGlybmFtZS5iYXNlbmFtZS50b19zID09ICJUb29s
cyIKIAogSEVMUEVSU19QQVRIID0gU0NSSVBUU19QQVRIICsgImpzYy1zdHJlc3MtdGVzdC1oZWxw
ZXJzIgorU1RBVFVTX0ZJTEVfUFJFRklYID0gInRlc3Rfc3RhdHVzXyIKIAogYmVnaW4KICAgICBy
ZXF1aXJlICdzaGVsbHdvcmRzJwpAQCAtMTM0LDYgKzEzNSw3IEBAICRmb3JjZUNvbGxlY3RDb250
aW51b3VzbHkgPSBmYWxzZQogJHJlcG9ydEV4ZWN1dGlvblRpbWUgPSBmYWxzZQogJGxkZCA9IG5p
bAogJGFydGlmYWN0X2V4ZWNfd3JhcHBlciA9IG5pbAorJHJ1blVuaXF1ZUlkID0gUmFuZG9tLm5l
dy5ieXRlcygxNikudW5wYWNrKCJIKiIpWzBdCiAKIGRlZiB1c2FnZQogICAgIHB1dHMgInJ1bi1q
c2Mtc3RyZXNzLXRlc3RzIC1qIDxzaGVsbCBwYXRoPiA8Y29sbGVjdGlvbnMgcGF0aD4gWzxjb2xs
ZWN0aW9ucyBwYXRoPiAuLi5dIgpAQCAtNTM1LDkgKzUzNyw2IEBAIGlmICR0ZXN0V3JpdGVyCiAg
ICAgZW5kCiBlbmQKIAotJG51bUZhaWx1cmVzID0gMAotJG51bVBhc3NlcyA9IDAKLQogIyBXZSBm
b3JjZSBhbGwgdGVzdHMgdG8gdXNlIGEgc21hbGxlciAoMS41TSkgc3RhY2sgc28gdGhhdCBzdGFj
ayBvdmVyZmxvdyB0ZXN0cyBjYW4gcnVuIGZhc3Rlci4KIEJBU0VfT1BUSU9OUyA9IFsiLS11c2VG
VExKSVQ9ZmFsc2UiLCAiLS11c2VGdW5jdGlvbkRvdEFyZ3VtZW50cz10cnVlIiwgIi0tdmFsaWRh
dGVFeGNlcHRpb25DaGVja3M9dHJ1ZSIsICItLXVzZURvbGxhclZNPXRydWUiLCAiLS1tYXhQZXJU
aHJlYWRTdGFja1VzYWdlPTE1NzI4NjQiXQogRUFHRVJfT1BUSU9OUyA9IFsiLS10aHJlc2hvbGRG
b3JKSVRBZnRlcldhcm1VcD0xMCIsICItLXRocmVzaG9sZEZvckpJVFNvb249MTAiLCAiLS10aHJl
c2hvbGRGb3JPcHRpbWl6ZUFmdGVyV2FybVVwPTIwIiwgIi0tdGhyZXNob2xkRm9yT3B0aW1pemVB
ZnRlckxvbmdXYXJtVXA9MjAiLCAiLS10aHJlc2hvbGRGb3JPcHRpbWl6ZVNvb249MjAiLCAiLS10
aHJlc2hvbGRGb3JGVExPcHRpbWl6ZUFmdGVyV2FybVVwPTIwIiwgIi0tdGhyZXNob2xkRm9yRlRM
T3B0aW1pemVTb29uPTIwIiwgIi0tdGhyZXNob2xkRm9yT01HT3B0aW1pemVBZnRlcldhcm1VcD0y
MCIsICItLXRocmVzaG9sZEZvck9NR09wdGltaXplU29vbj0yMCIsICItLW1heGltdW1FdmFsQ2Fj
aGVhYmxlU291cmNlTGVuZ3RoPTE1MDAwMCIsICItLXVzZUVhZ2VyQ29kZUJsb2NrSmV0dGlzb25U
aW1pbmc9dHJ1ZSIsICItLXJlcGF0Y2hCdWZmZXJpbmdDb3VudGRvd249MCJdCkBAIC0xODE5LDcg
KzE4MTgsNiBAQCBkZWYgYXBwZW5kRmFpbHVyZShwbGFuKQogICAgICAgICB8IG91dHAgfAogICAg
ICAgICBvdXRwLnB1dHMgcGxhbi5uYW1lCiAgICAgfQotICAgICRudW1GYWlsdXJlcyArPSAxCiBl
bmQKIAogZGVmIGFwcGVuZFBhc3MocGxhbikKQEAgLTE4MjcsNyArMTgyNSwxMyBAQCBkZWYgYXBw
ZW5kUGFzcyhwbGFuKQogICAgICAgICB8IG91dHAgfAogICAgICAgICBvdXRwLnB1dHMgcGxhbi5u
YW1lCiAgICAgfQotICAgICRudW1QYXNzZXMgKz0gMQorZW5kCisKK2RlZiBhcHBlbmROb1Jlc3Vs
dChwbGFuKQorICAgIEZpbGUub3Blbigkb3V0cHV0RGlyICsgIm5vcmVzdWx0IiwgImEiKSB7Cisg
ICAgICAgIHwgb3V0cCB8CisgICAgICAgIG91dHAucHV0cyBwbGFuLm5hbWUKKyAgICB9CiBlbmQK
IAogZGVmIGFwcGVuZFJlc3VsdChwbGFuLCBkaWRQYXNzKQpAQCAtMjAzNSw3ICsyMDM5LDcgQEAg
ZGVmIGNsZWFuUnVubmVyRGlyZWN0b3J5CiAgICAgfQogZW5kCiAKLWRlZiBzc2hSZWFkKGNtZCwg
cmVtb3RlSW5kZXg9MCkKK2RlZiBzc2hSZWFkKGNtZCwgcmVtb3RlSW5kZXg9MCwgb3B0aW9ucz17
fSkKICAgICByYWlzZSB1bmxlc3MgJHJlbW90ZQogCiAgICAgcmVtb3RlSG9zdCA9ICRyZW1vdGVI
b3N0c1tyZW1vdGVJbmRleF0KQEAgLTIwNDgsNyArMjA1Miw3IEBAIGRlZiBzc2hSZWFkKGNtZCwg
cmVtb3RlSW5kZXg9MCkKICAgICAgICAgcmVzdWx0ICs9IGxpbmUKICAgICAgIH0KICAgICB9Ci0g
ICAgcmFpc2UgIiN7JD99IiB1bmxlc3MgJD8uc3VjY2Vzcz8KKyAgICByYWlzZSAiI3skP30iIHVu
bGVzcyAkPy5zdWNjZXNzPyBvciBvcHRpb25zWzppZ25vcmVGYWlsdXJlXQogICAgIHJlc3VsdAog
ZW5kCiAKQEAgLTIyMDMsNTIgKzIyMDcsMTExIEBAIGRlZiBydW5UZXN0UnVubmVyKHJlbW90ZUlu
ZGV4PTApCiAgICAgZW5kCiBlbmQKIAotZGVmIGRldGVjdEZhaWx1cmVzCi0gICAgcmFpc2UgaWYg
JGJ1bmRsZQotICAgIGZhaWx1cmVzID0gW10KK2RlZiBnZXRTdGF0dXNNYXAKKyAgICBuYW1lX3Jl
ID0gL15bLl1cLyN7U1RBVFVTX0ZJTEVfUFJFRklYfShcZCspJC8KKyAgICBtYXAgPSB7fQogICAg
IGlmICRyZW1vdGUKICAgICAgICAgJHJlbW90ZUhvc3RzLmVhY2hfd2l0aF9pbmRleCB7CiAgICAg
ICAgICAgICB8IGhvc3QsIHJlbW90ZUluZGV4IHwKLSAgICAgICAgICAgIG91dHB1dCA9IHNzaFJl
YWQoImNkICN7aG9zdC5yZW1vdGVEaXJlY3Rvcnl9LyN7JG91dHB1dERpci5iYXNlbmFtZX0vLnJ1
bm5lciAmJiBmaW5kIC4gLW1heGRlcHRoIDEgLW5hbWUgXCJ0ZXN0X2ZhaWxfKlwiIiwgcmVtb3Rl
SW5kZXgpCisgICAgICAgICAgICBvdXRwdXQgPSBzc2hSZWFkKCJjZCAje2hvc3QucmVtb3RlRGly
ZWN0b3J5fS8jeyRvdXRwdXREaXIuYmFzZW5hbWV9Ly5ydW5uZXIgJiYgZmluZCAuIC1tYXhkZXB0
aCAxIC1uYW1lIFwiI3tTVEFUVVNfRklMRV9QUkVGSVh9KlwiIC1leGVjIHNoIC1jIFwicHJpbnRm
IFxcXCIlcyBcXFwiIHt9OyBjYXQge31cIiBcXDsiLCByZW1vdGVJbmRleCwgOmlnbm9yZUZhaWx1
cmUgPT4gdHJ1ZSkKICAgICAgICAgICAgIG91dHB1dC5zcGxpdCgvXG4vKS5lYWNoIHsKICAgICAg
ICAgICAgICAgICB8IGxpbmUgfAotICAgICAgICAgICAgICAgIG5leHQgdW5sZXNzIGxpbmUgPX4g
L3Rlc3RfZmFpbF8vCi0gICAgICAgICAgICAgICAgZmFpbHVyZXMgPDwgJH4ucG9zdF9tYXRjaC50
b19pCisgICAgICAgICAgICAgICAgbmFtZSwgcnVuX2lkLCBleGl0Q29kZSA9IGxpbmUuc3BsaXQo
JyAnKQorICAgICAgICAgICAgICAgIG1kID0gbmFtZV9yZS5tYXRjaChuYW1lKQorICAgICAgICAg
ICAgICAgIGlmIG1kLm5pbD8KKyAgICAgICAgICAgICAgICAgICAgJHN0ZGVyci5wdXRzKCJDb3Vs
ZCBub3QgcGFyc2UgbmFtZSBpbiBgI3tsaW5lfWAiKQorICAgICAgICAgICAgICAgICAgICBleGl0
KDEpCisgICAgICAgICAgICAgICAgZW5kCisgICAgICAgICAgICAgICAgaWYgcnVuX2lkICE9ICRy
dW5VbmlxdWVJZAorICAgICAgICAgICAgICAgICAgICAjIFRoaXMgbWF5IGNvbmNlaXZhYmx5IGhh
cHBlbiBpZiBhIHJlbW90ZSBnb2VzCisgICAgICAgICAgICAgICAgICAgICMgYXdheSBpbiB0aGUg
bWlkZGxlIG9mIGEgcnVuIGFuZCBjb21lcyBiYWNrCisgICAgICAgICAgICAgICAgICAgICMgb25s
aW5lIGluIHRoZSBtaWRkbGUgb2YgYSBkaWZmZXJlbnQgcnVuLgorICAgICAgICAgICAgICAgICAg
ICAkc3RkZXJyLnB1dHMoIklnbm9yaW5nIHN0YWxlIHN0YXR1cyBmaWxlIGZvciAje25hbWV9IChJ
RCAje3J1bl9pZH0gYnV0IGN1cnJlbnQgSUQgaXMgI3skcnVuVW5pcXVlSWR9KSIpCisgICAgICAg
ICAgICAgICAgICAgIG5leHQKKyAgICAgICAgICAgICAgICBlbmQKKyAgICAgICAgICAgICAgICBl
eGl0Q29kZSA9IGV4aXRDb2RlLnRvX2kKKyAgICAgICAgICAgICAgICBpbmRleCA9IG1kWzFdLnRv
X2kKKyAgICAgICAgICAgICAgICBpZiBtYXAuaGFzX2tleT8oaW5kZXgpCisgICAgICAgICAgICAg
ICAgICAgICRzdGRlcnIucHV0cygiRHVwbGljYXRlIHN0YXRlIGZpbGUgZm9yICN7aW5kZXh9IikK
KyAgICAgICAgICAgICAgICAgICAgIyBPbmUgc2NlbmFyaW8gaW4gd2hpY2ggdGhpcyBjb3VsZCBo
YXBwZW46CisgICAgICAgICAgICAgICAgICAgICMgVGVzdCBUIHJ1bnMgb24gcmVtb3RlIGhvc3Qg
QSBhbmQKKyAgICAgICAgICAgICAgICAgICAgIyAgIDEuIHRoZSBzdGF0ZSBmaWxlIHJlYWNoZXMg
QSdzIGRpc2sKKyAgICAgICAgICAgICAgICAgICAgIyAgIDIuIHNvbWVob3cgdGhlIGdudSBwYXJh
bGxlbCBydW5uZXIgaXMgbm90IG1hZGUgYXdhcmUgb2YgdGhlIHRlc3QncyBjb21wbGV0aW9uIChw
YWNrZXQgbG9zcz8pCisgICAgICAgICAgICAgICAgICAgICMgICAzLiBBIG1hY2hpbmUgY3Jhc2hl
cworICAgICAgICAgICAgICAgICAgICAjICAgNC4gZ251IHBhcmFsbGVsIHJlLXNjaGVkdWxlcyB0
aGUgdGVzdCB0byBydW4gb24gcmVtb3RlIGhvc3QgQiwgd2hlcmUgaXQgcnVucyB0byBjb21wbGV0
aW9uCisgICAgICAgICAgICAgICAgICAgICMgICA1LiBCIGNvbWVzIGJhY2sgb25saW5lIGJlZm9y
ZSB0aGUgZW5kIG9mIHRoZSBydW4KKyAgICAgICAgICAgICAgICAgICAgIyAgIDYuIHdlIGNvbGxl
Y3QgdGhlIHN0YXRlIGZpbGVzIGZyb20gYWxsIHJlbW90ZXMgYW5kIGVuZCB1cCB3aXRoIHR3byBz
dGF0ZSBmaWxlcyBmb3IgVC4KKyAgICAgICAgICAgICAgICAgICAgcHJldiA9IG1hcFtpbmRleF0K
KyAgICAgICAgICAgICAgICAgICAgIyBtYXBbaW5kZXhdIGhvbGRzCisgICAgICAgICAgICAgICAg
ICAgICMgLSBhIG51bWJlciwgaWYgYWxsIGV4aXQgY29kZXMgd2UndmUgb2JzZXJ2ZWQgZm9yIGEg
dGVzdCBhcmUgdGhlIHNhbWUKKyAgICAgICAgICAgICAgICAgICAgIyAtIGFuIGFycmF5LCBpZiB0
aGV5IGRpdmVyZ2UuCisgICAgICAgICAgICAgICAgICAgIGlmIHByZXYuaXNfYT8oQXJyYXkpCisg
ICAgICAgICAgICAgICAgICAgICAgICBwcmV2LnB1c2goZXhpdENvZGUpCisgICAgICAgICAgICAg
ICAgICAgIGVsc2lmIHByZXYgIT0gZXhpdENvZGUKKyAgICAgICAgICAgICAgICAgICAgICAgICMg
SWYgdGhlIHR3byBleGl0IGNvZGVzIGRpZmZlciwga2VlcCB0aGVtCisgICAgICAgICAgICAgICAg
ICAgICAgICAjIGJvdGguIFRoaXMgaXMgc2ltcGx5IGEgd2F5IHRvIG1ha2Ugbm90ZSBvZgorICAg
ICAgICAgICAgICAgICAgICAgICAgIyB0aGUgZGl2ZXJnZW5jZSAoZm9yIGxhdGVyIHJlcG9ydGlu
ZykuCisgICAgICAgICAgICAgICAgICAgICAgICBtYXBbaW5kZXhdID0gW3ByZXYsIGV4aXRDb2Rl
XQorICAgICAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgICAgICAjIEdv
dCB0aGUgc2FtZSBleGl0IGNvZGUsIG5vIG5lZWQgdG8gZG8gYW55dGhpbmcuCisgICAgICAgICAg
ICAgICAgICAgIGVuZAorICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAg
bWFwW2luZGV4XSA9IGV4aXRDb2RlCisgICAgICAgICAgICAgICAgZW5kCiAgICAgICAgICAgICB9
CiAgICAgICAgIH0KICAgICBlbHNlCiAgICAgICAgIERpci5mb3JlYWNoKCRydW5uZXJEaXIpIHsK
ICAgICAgICAgICAgIHwgZmlsZW5hbWUgfAotICAgICAgICAgICAgbmV4dCB1bmxlc3MgZmlsZW5h
bWUgPX4gL3Rlc3RfZmFpbF8vCi0gICAgICAgICAgICBmYWlsdXJlcyA8PCAkfi5wb3N0X21hdGNo
LnRvX2kKKyAgICAgICAgICAgIG1kID0gbmFtZV9yZS5tYXRjaCgiLi8je2ZpbGVuYW1lfSIpCisg
ICAgICAgICAgICBuZXh0IHVubGVzcyBtZAorICAgICAgICAgICAgRmlsZS5vcGVuKCIjeyRydW5u
ZXJEaXJ9LyN7ZmlsZW5hbWV9IiwgInIiKSB7IHxmfAorICAgICAgICAgICAgICAgIHJ1bklkLCBl
eGl0Q29kZSA9IGYucmVhZC5jaG9tcC5zcGxpdCgnICcpCisgICAgICAgICAgICAgICAgaWYgcnVu
SWQgIT0gJHJ1blVuaXF1ZUlkCisgICAgICAgICAgICAgICAgICAgICMgV2UgY2xlYW4gdGhlIGRp
ciBiZWZvcmUgYSBzdGFydGluZyBhIHJ1bi4KKyAgICAgICAgICAgICAgICAgICAgcmFpc2UgIkNh
bid0IGhhcHBlbiIKKyAgICAgICAgICAgICAgICBlbmQKKyAgICAgICAgICAgICAgICBtYXBbbWRb
MV0udG9faV0gPSBleGl0Q29kZS50b19pCisgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICBl
bmQKKyAgICBtYXAKK2VuZAogCi0gICAgZmFpbHVyZVNldCA9IHt9Ci0KLSAgICBmYWlsdXJlcy5l
YWNoIHsKLSAgICAgICAgfCBmYWlsdXJlIHwgCi0gICAgICAgIGFwcGVuZEZhaWx1cmUoJHJ1bmxp
c3RbZmFpbHVyZV0pCi0gICAgICAgIGZhaWx1cmVTZXRbZmFpbHVyZV0gPSB0cnVlCi0gICAgfQot
CitkZWYgZGV0ZWN0RmFpbHVyZXMKKyAgICByYWlzZSBpZiAkYnVuZGxlCisgICAgbm9yZXN1bHQg
PSAwCisgICAgc3RhdHVzTWFwID0gZ2V0U3RhdHVzTWFwCiAgICAgZmFtaWx5TWFwID0ge30KKwog
ICAgICRydW5saXN0LmVhY2hfd2l0aF9pbmRleCB7CiAgICAgICAgIHwgcGxhbiwgaW5kZXggfAog
ICAgICAgICB1bmxlc3MgZmFtaWx5TWFwW3BsYW4uZmFtaWx5XQogICAgICAgICAgICAgZmFtaWx5
TWFwW3BsYW4uZmFtaWx5XSA9IFtdCiAgICAgICAgIGVuZAotICAgICAgICBpZiBmYWlsdXJlU2V0
W2luZGV4XQotICAgICAgICAgICAgYXBwZW5kUmVzdWx0KHBsYW4sIGZhbHNlKQotICAgICAgICAg
ICAgZmFtaWx5TWFwW3BsYW4uZmFtaWx5XSA8PCB7OnJlc3VsdCA9PiAiRkFJTCIsIDpwbGFuID0+
IHBsYW59OworICAgICAgICBpZiBub3Qgc3RhdHVzTWFwLmhhc19rZXk/KGluZGV4KSBvciBzdGF0
dXNNYXBbaW5kZXhdLmlzX2E/KEFycmF5KQorICAgICAgICAgICAgYXBwZW5kTm9SZXN1bHQocGxh
bikKKyAgICAgICAgICAgIG5vcmVzdWx0ICs9IDEKICAgICAgICAgICAgIG5leHQKKyAgICAgICAg
ZW5kCisgICAgICAgIHJlc3VsdCA9IG5pbAorICAgICAgICBpZiBzdGF0dXNNYXBbaW5kZXhdID09
IDAKKyAgICAgICAgICAgIGFwcGVuZFBhc3MocGxhbikKKyAgICAgICAgICAgIHJlc3VsdCA9ICJQ
QVNTIgogICAgICAgICBlbHNlCi0gICAgICAgICAgICBhcHBlbmRSZXN1bHQocGxhbiwgdHJ1ZSkK
LSAgICAgICAgICAgIGZhbWlseU1hcFtwbGFuLmZhbWlseV0gPDwgezpyZXN1bHQgPT4gIlBBU1Mi
LCA6cGxhbiA9PiBwbGFufTsKKyAgICAgICAgICAgIGFwcGVuZEZhaWx1cmUocGxhbikKKyAgICAg
ICAgICAgIHJlc3VsdCA9ICJGQUlMIgogICAgICAgICBlbmQKLSAgICAgICAgYXBwZW5kUGFzcyhw
bGFuKQorICAgICAgICBhcHBlbmRSZXN1bHQocGxhbiwgc3RhdHVzTWFwW2luZGV4XSA9PSAwKQor
ICAgICAgICBmYW1pbHlNYXBbcGxhbi5mYW1pbHldIDw8IHs6cmVzdWx0ID0+IHJlc3VsdCwgOnBs
YW4gPT4gcGxhbiB9CiAgICAgfQogCisgICAgaWYgbm9yZXN1bHQgPiAwCisgICAgICAgICRzdGRl
cnIucHV0cygiQ291bGQgbm90IGdldCB0aGUgZXhpdCBzdGF0dXMgZm9yICN7bm9yZXN1bHR9IHRl
c3RzIikKKyAgICAgICAgIyBXZSBjYW4ndCBjaGFuZ2Ugb3VyIGV4aXQgY29kZSwgYXMgcnVuLWph
dmFzY3JpcHRjb3JlLXRlc3RzCisgICAgICAgICMgZXhwZWN0cyAwIGV2ZW4gd2hlbiB0aGVyZSBh
cmUgZmFpbHVyZXMuCisgICAgZW5kCisKICAgICBGaWxlLm9wZW4oJG91dHB1dERpciArICJyZXN1
bHRzQnlGYW1pbHkiLCAidyIpIHsKICAgICAgICAgfCBvdXRwIHwKICAgICAgICAgZmlyc3QgPSB0
cnVlCkBAIC0yMjU5LDcgKzIzMjIsNyBAQCBkZWYgZGV0ZWN0RmFpbHVyZXMKICAgICAgICAgICAg
IGVsc2UKICAgICAgICAgICAgICAgICBvdXRwLnB1dHMKICAgICAgICAgICAgIGVuZAotICAgICAg
ICAgICAgCisKICAgICAgICAgICAgIG91dHAucHJpbnQgIiN7ZmFtaWx5TmFtZX06IgogCiAgICAg
ICAgICAgICBudW1QYXNzZWQgPSAwCkBAIC0yMjk3LDYgKzIzNjAsNyBAQCBlbmQKIAogY2xlYW4o
JG91dHB1dERpciArICJmYWlsZWQiKQogY2xlYW4oJG91dHB1dERpciArICJwYXNzZWQiKQorY2xl
YW4oJG91dHB1dERpciArICJub3Jlc3VsdCIpCiBjbGVhbigkb3V0cHV0RGlyICsgInJlc3VsdHMi
KQogY2xlYW4oJG91dHB1dERpciArICJyZXN1bHRzQnlGYW1pbHkiKQogY2xlYW4oJG91dHB1dERp
ciArICIudm0iKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRydWJ5L2pzYy1zdHJl
c3MtdGVzdC13cml0ZXItZGVmYXVsdC5yYiBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cnVieS9qc2Mt
c3RyZXNzLXRlc3Qtd3JpdGVyLWRlZmF1bHQucmIKaW5kZXggMjk0Y2UyMGQyNmUzYjBhN2YxMDk4
ODgwMjQ5YTkwMzI2ZGZiZjJkMi4uOTRhOTg0OGVmOWYxYjQxMmUyODJmNjExNzI2NDZhYThkODlm
ZWZjNyAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRydWJ5L2pzYy1zdHJlc3MtdGVz
dC13cml0ZXItZGVmYXVsdC5yYgorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHJ1YnkvanNjLXN0
cmVzcy10ZXN0LXdyaXRlci1kZWZhdWx0LnJiCkBAIC00OSwxNCArNDksMjUgQEAgZGVmIG5vaXN5
T3V0cHV0SGFuZGxlcgogICAgIH0KIGVuZAogCitkZWYgZ2V0QW5kVGVzdEV4aXRDb2RlKHBsYW4s
IGNvbmRpdGlvbikKKyAgICA8PC1FT0YKKyAgICBleGl0Q29kZT1gY2F0ICN7cGxhbi5zdGF0dXNG
aWxlfSB8IGF3ayAne3ByaW50ICQyIH0nYAorICAgIGlmIHRlc3QgIngkZXhpdENvZGUiID0geDsg
dGhlbgorICAgICAgICBlY2hvICJObyBzdGF0dXMgaW4gI3twbGFuLnN0YXR1c0ZpbGV9IiAyPiYx
CisgICAgICAgIGV4aXQgMSAjIFhYWAorICAgIGZpCisgICAgaWYgdGVzdCAiJGV4aXRDb2RlIiAj
e2NvbmRpdGlvbn0KK0VPRgorZW5kCisKICMgRXJyb3IgaGFuZGxlciBmb3IgdGVzdHMgdGhhdCBm
YWlsIGV4YWN0bHkgd2hlbiB0aGV5IHJldHVybiBub24temVybyBleGl0IHN0YXR1cy4KICMgVGhp
cyBpcyB1c2VmdWwgd2hlbiBhIHRlc3QgaXMgZXhwZWN0ZWQgdG8gZmFpbC4KIGRlZiBzaW1wbGVF
cnJvckhhbmRsZXIKICAgICBQcm9jLm5ldyB7CiAgICAgICAgIHwgb3V0cCwgcGxhbiB8Ci0gICAg
ICAgIG91dHAucHV0cyAiaWYgdGVzdCAtZSAje3BsYW4uZmFpbEZpbGV9IgorICAgICAgICBvdXRw
LnB1dHMgZ2V0QW5kVGVzdEV4aXRDb2RlKHBsYW4sICItbmUgMCIpCiAgICAgICAgIG91dHAucHV0
cyAidGhlbiIKLSAgICAgICAgb3V0cC5wdXRzICIgICAgKGVjaG8gRVJST1I6IFVuZXhwZWN0ZWQg
ZXhpdCBjb2RlOiBgY2F0ICN7cGxhbi5mYWlsRmlsZX1gKSB8ICIgKyByZWRpcmVjdEFuZFByZWZp
eENvbW1hbmQocGxhbi5uYW1lKQorICAgICAgICBvdXRwLnB1dHMgIiAgICAoZWNobyBFUlJPUjog
VW5leHBlY3RlZCBleGl0IGNvZGU6ICRleGl0Q29kZSkgfCAiICsgcmVkaXJlY3RBbmRQcmVmaXhD
b21tYW5kKHBsYW4ubmFtZSkKICAgICAgICAgb3V0cC5wdXRzICIgICAgIiArIHBsYW4uZmFpbENv
bW1hbmQKICAgICAgICAgb3V0cC5wdXRzICJlbHNlIgogICAgICAgICBvdXRwLnB1dHMgIiAgICAi
ICsgcGxhbi5zdWNjZXNzQ29tbWFuZApAQCAtNjgsNyArNzksNyBAQCBlbmQKIGRlZiBleHBlY3Rl
ZEZhaWxFcnJvckhhbmRsZXIKICAgICBQcm9jLm5ldyB7CiAgICAgICAgIHwgb3V0cCwgcGxhbiB8
Ci0gICAgICAgIG91dHAucHV0cyAiaWYgdGVzdCAtZSAje3BsYW4uZmFpbEZpbGV9IgorICAgICAg
ICBvdXRwLnB1dHMgZ2V0QW5kVGVzdEV4aXRDb2RlKHBsYW4sICItbmUgMCIpCiAgICAgICAgIG91
dHAucHV0cyAidGhlbiIKICAgICAgICAgb3V0cC5wdXRzICIgICAgIiArIHBsYW4uc3VjY2Vzc0Nv
bW1hbmQKICAgICAgICAgb3V0cC5wdXRzICJlbHNlIgpAQCAtODQsMTAgKzk1LDEwIEBAIGRlZiBu
b2lzeUVycm9ySGFuZGxlcgogICAgIFByb2MubmV3IHsKICAgICAgICAgfCBvdXRwLCBwbGFuIHwK
ICAgICAgICAgb3V0cHV0RmlsZW5hbWUgPSBTaGVsbHdvcmRzLnNoZWxsZXNjYXBlKChQYXRobmFt
ZSgiLi4iKSArIChwbGFuLm5hbWUgKyAiLm91dCIpKS50b19zKQotICAgIAotICAgICAgICBvdXRw
LnB1dHMgImlmIHRlc3QgLWUgI3twbGFuLmZhaWxGaWxlfSIKKworICAgICAgICBvdXRwLnB1dHMg
Z2V0QW5kVGVzdEV4aXRDb2RlKHBsYW4sICItbmUgMCIpCiAgICAgICAgIG91dHAucHV0cyAidGhl
biIKLSAgICAgICAgb3V0cC5wdXRzICIgICAgKGNhdCAje291dHB1dEZpbGVuYW1lfSAmJiBlY2hv
IEVSUk9SOiBVbmV4cGVjdGVkIGV4aXQgY29kZTogYGNhdCAje3BsYW4uZmFpbEZpbGV9YCkgfCAi
ICsgcmVkaXJlY3RBbmRQcmVmaXhDb21tYW5kKHBsYW4ubmFtZSkKKyAgICAgICAgb3V0cC5wdXRz
ICIgICAgKGNhdCAje291dHB1dEZpbGVuYW1lfSAmJiBlY2hvIEVSUk9SOiBVbmV4cGVjdGVkIGV4
aXQgY29kZTogJGV4aXRDb2RlKSB8ICIgKyByZWRpcmVjdEFuZFByZWZpeENvbW1hbmQocGxhbi5u
YW1lKQogICAgICAgICBvdXRwLnB1dHMgIiAgICAiICsgcGxhbi5mYWlsQ29tbWFuZAogICAgICAg
ICBvdXRwLnB1dHMgImVsc2UiCiAgICAgICAgIG91dHAucHV0cyAiICAgICIgKyBwbGFuLnN1Y2Nl
c3NDb21tYW5kCkBAIC0xMDEsMTAgKzExMiwxMCBAQCBkZWYgZGlmZkVycm9ySGFuZGxlcihleHBl
Y3RlZEZpbGVuYW1lKQogICAgICAgICB8IG91dHAsIHBsYW4gfAogICAgICAgICBvdXRwdXRGaWxl
bmFtZSA9IFNoZWxsd29yZHMuc2hlbGxlc2NhcGUoKFBhdGhuYW1lKCIuLiIpICsgKHBsYW4ubmFt
ZSArICIub3V0IikpLnRvX3MpCiAgICAgICAgIGRpZmZGaWxlbmFtZSA9IFNoZWxsd29yZHMuc2hl
bGxlc2NhcGUoKFBhdGhuYW1lKCIuLiIpICsgKHBsYW4ubmFtZSArICIuZGlmZiIpKS50b19zKQot
ICAgICAgICAKLSAgICAgICAgb3V0cC5wdXRzICJpZiB0ZXN0IC1lICN7cGxhbi5mYWlsRmlsZX0i
CisKKyAgICAgICAgb3V0cC5wdXRzIGdldEFuZFRlc3RFeGl0Q29kZShwbGFuLCAiLW5lIDAiKQog
ICAgICAgICBvdXRwLnB1dHMgInRoZW4iCi0gICAgICAgIG91dHAucHV0cyAiICAgIChjYXQgI3tv
dXRwdXRGaWxlbmFtZX0gJiYgZWNobyBFUlJPUjogVW5leHBlY3RlZCBleGl0IGNvZGU6IGBjYXQg
I3twbGFuLmZhaWxGaWxlfWApIHwgIiArIHJlZGlyZWN0QW5kUHJlZml4Q29tbWFuZChwbGFuLm5h
bWUpCisgICAgICAgIG91dHAucHV0cyAiICAgIChjYXQgI3tvdXRwdXRGaWxlbmFtZX0gJiYgZWNo
byBFUlJPUjogVW5leHBlY3RlZCBleGl0IGNvZGU6ICRleGl0Q29kZSkgfCAiICsgcmVkaXJlY3RB
bmRQcmVmaXhDb21tYW5kKHBsYW4ubmFtZSkKICAgICAgICAgb3V0cC5wdXRzICIgICAgIiArIHBs
YW4uZmFpbENvbW1hbmQKICAgICAgICAgb3V0cC5wdXRzICJlbGlmIHRlc3QgLWUgLi4vI3tTaGVs
bHdvcmRzLnNoZWxsZXNjYXBlKGV4cGVjdGVkRmlsZW5hbWUpfSIKICAgICAgICAgb3V0cC5wdXRz
ICJ0aGVuIgpAQCAtMTMwLDkgKzE0MSw5IEBAIGRlZiBtb3ppbGxhRXJyb3JIYW5kbGVyCiAgICAg
ICAgIHwgb3V0cCwgcGxhbiB8CiAgICAgICAgIG91dHB1dEZpbGVuYW1lID0gU2hlbGx3b3Jkcy5z
aGVsbGVzY2FwZSgoUGF0aG5hbWUoIi4uIikgKyAocGxhbi5uYW1lICsgIi5vdXQiKSkudG9fcykK
IAotICAgICAgICBvdXRwLnB1dHMgImlmIHRlc3QgLWUgI3twbGFuLmZhaWxGaWxlfSIKKyAgICAg
ICAgb3V0cC5wdXRzIGdldEFuZFRlc3RFeGl0Q29kZShwbGFuLCAiLW5lIDAiKQogICAgICAgICBv
dXRwLnB1dHMgInRoZW4iCi0gICAgICAgIG91dHAucHV0cyAiICAgIChjYXQgI3tvdXRwdXRGaWxl
bmFtZX0gJiYgZWNobyBFUlJPUjogVW5leHBlY3RlZCBleGl0IGNvZGU6IGBjYXQgI3twbGFuLmZh
aWxGaWxlfWApIHwgIiArIHJlZGlyZWN0QW5kUHJlZml4Q29tbWFuZChwbGFuLm5hbWUpCisgICAg
ICAgIG91dHAucHV0cyAiICAgIChjYXQgI3tvdXRwdXRGaWxlbmFtZX0gJiYgZWNobyBFUlJPUjog
VW5leHBlY3RlZCBleGl0IGNvZGU6ICRleGl0Q29kZSkgfCAiICsgcmVkaXJlY3RBbmRQcmVmaXhD
b21tYW5kKHBsYW4ubmFtZSkKICAgICAgICAgb3V0cC5wdXRzICIgICAgIiArIHBsYW4uZmFpbENv
bW1hbmQKICAgICAgICAgb3V0cC5wdXRzICJlbGlmIGdyZXAgLWkgLXEgZmFpbGVkISAje291dHB1
dEZpbGVuYW1lfSIKICAgICAgICAgb3V0cC5wdXRzICJ0aGVuIgpAQCAtMTUxLDcgKzE2Miw3IEBA
IGRlZiBtb3ppbGxhRmFpbEVycm9ySGFuZGxlcgogICAgICAgICB8IG91dHAsIHBsYW4gfAogICAg
ICAgICBvdXRwdXRGaWxlbmFtZSA9IFNoZWxsd29yZHMuc2hlbGxlc2NhcGUoKFBhdGhuYW1lKCIu
LiIpICsgKHBsYW4ubmFtZSArICIub3V0IikpLnRvX3MpCiAKLSAgICAgICAgb3V0cC5wdXRzICJp
ZiB0ZXN0IC1lICN7cGxhbi5mYWlsRmlsZX0iCisgICAgICAgIG91dHAucHV0cyBnZXRBbmRUZXN0
RXhpdENvZGUocGxhbiwgIi1uZSAwIikKICAgICAgICAgb3V0cC5wdXRzICJ0aGVuIgogICAgICAg
ICBvdXRwLnB1dHMgIiAgICAiICsgcGxhbi5zdWNjZXNzQ29tbWFuZAogICAgICAgICBvdXRwLnB1
dHMgImVsaWYgZ3JlcCAtaSAtcSBmYWlsZWQhICN7b3V0cHV0RmlsZW5hbWV9IgpAQCAtMTcxLDkg
KzE4Miw5IEBAIGRlZiBtb3ppbGxhRXhpdDNFcnJvckhhbmRsZXIKICAgICAgICAgfCBvdXRwLCBw
bGFuIHwKICAgICAgICAgb3V0cHV0RmlsZW5hbWUgPSBTaGVsbHdvcmRzLnNoZWxsZXNjYXBlKChQ
YXRobmFtZSgiLi4iKSArIChwbGFuLm5hbWUgKyAiLm91dCIpKS50b19zKQogCi0gICAgICAgIG91
dHAucHV0cyAiaWYgdGVzdCAtZSAje3BsYW4uZmFpbEZpbGV9IgorICAgICAgICBvdXRwLnB1dHMg
Z2V0QW5kVGVzdEV4aXRDb2RlKHBsYW4sICItbmUgMCIpCiAgICAgICAgIG91dHAucHV0cyAidGhl
biIKLSAgICAgICAgb3V0cC5wdXRzICIgICAgaWYgWyBgY2F0ICN7cGxhbi5mYWlsRmlsZX1gIC1l
cSAzIF0iCisgICAgICAgIG91dHAucHV0cyAiICAgIGlmIFsgXCIkZXhpdENvZGVcIiAtZXEgMyBd
IgogICAgICAgICBvdXRwLnB1dHMgIiAgICB0aGVuIgogICAgICAgICBvdXRwLnB1dHMgIiAgICAg
ICAgaWYgZ3JlcCAtaSAtcSBmYWlsZWQhICN7b3V0cHV0RmlsZW5hbWV9IgogICAgICAgICBvdXRw
LnB1dHMgIiAgICAgICAgdGhlbiIKQEAgLTE4Myw3ICsxOTQsNyBAQCBkZWYgbW96aWxsYUV4aXQz
RXJyb3JIYW5kbGVyCiAgICAgICAgIG91dHAucHV0cyAiICAgICAgICAgICAgIiArIHBsYW4uc3Vj
Y2Vzc0NvbW1hbmQKICAgICAgICAgb3V0cC5wdXRzICIgICAgICAgIGZpIgogICAgICAgICBvdXRw
LnB1dHMgIiAgICBlbHNlIgotICAgICAgICBvdXRwLnB1dHMgIiAgICAgICAgKGNhdCAje291dHB1
dEZpbGVuYW1lfSAmJiBlY2hvIEVSUk9SOiBVbmV4cGVjdGVkIGV4aXQgY29kZTogYGNhdCAje3Bs
YW4uZmFpbEZpbGV9YCkgfCAiICsgcmVkaXJlY3RBbmRQcmVmaXhDb21tYW5kKHBsYW4ubmFtZSkK
KyAgICAgICAgb3V0cC5wdXRzICIgICAgICAgIChjYXQgI3tvdXRwdXRGaWxlbmFtZX0gJiYgZWNo
byBFUlJPUjogVW5leHBlY3RlZCBleGl0IGNvZGU6ICRleGl0Q29kZSkgfCAiICsgcmVkaXJlY3RB
bmRQcmVmaXhDb21tYW5kKHBsYW4ubmFtZSkKICAgICAgICAgb3V0cC5wdXRzICIgICAgICAgICIg
KyBwbGFuLmZhaWxDb21tYW5kCiAgICAgICAgIG91dHAucHV0cyAiICAgIGZpIgogICAgICAgICBv
dXRwLnB1dHMgImVsc2UiCkBAIC0yMDAsOSArMjExLDkgQEAgZGVmIGNoYWtyYVBhc3NGYWlsRXJy
b3JIYW5kbGVyCiAgICAgICAgIHwgb3V0cCwgcGxhbiB8CiAgICAgICAgIG91dHB1dEZpbGVuYW1l
ID0gU2hlbGx3b3Jkcy5zaGVsbGVzY2FwZSgoUGF0aG5hbWUoIi4uIikgKyAocGxhbi5uYW1lICsg
Ii5vdXQiKSkudG9fcykKIAotICAgICAgICBvdXRwLnB1dHMgImlmIHRlc3QgLWUgI3twbGFuLmZh
aWxGaWxlfSIKKyAgICAgICAgb3V0cC5wdXRzIGdldEFuZFRlc3RFeGl0Q29kZShwbGFuLCAiLW5l
IDAiKQogICAgICAgICBvdXRwLnB1dHMgInRoZW4iCi0gICAgICAgIG91dHAucHV0cyAiICAgIChj
YXQgI3tvdXRwdXRGaWxlbmFtZX0gJiYgZWNobyBFUlJPUjogVW5leHBlY3RlZCBleGl0IGNvZGU6
IGBjYXQgI3twbGFuLmZhaWxGaWxlfWApIHwgIiArIHJlZGlyZWN0QW5kUHJlZml4Q29tbWFuZChw
bGFuLm5hbWUpCisgICAgICAgIG91dHAucHV0cyAiICAgIChjYXQgI3tvdXRwdXRGaWxlbmFtZX0g
JiYgZWNobyBFUlJPUjogVW5leHBlY3RlZCBleGl0IGNvZGU6ICRleGl0Q29kZSkgfCAiICsgcmVk
aXJlY3RBbmRQcmVmaXhDb21tYW5kKHBsYW4ubmFtZSkKICAgICAgICAgb3V0cC5wdXRzICIgICAg
IiArIHBsYW4uZmFpbENvbW1hbmQKICAgICAgICAgb3V0cC5wdXRzICJlbGlmIGdyZXAgLWkgLXEg
RkFJTEVEICN7b3V0cHV0RmlsZW5hbWV9IgogICAgICAgICBvdXRwLnB1dHMgInRoZW4iCkBAIC0y
NjQsNyArMjc1LDcgQEAgY2xhc3MgUGxhbgogICAgIGVuZAogICAgIAogICAgIGRlZiBmYWlsQ29t
bWFuZAotICAgICAgICAiZWNobyBGQUlMOiAje1NoZWxsd29yZHMuc2hlbGxlc2NhcGUoQG5hbWUp
fSA7IHRvdWNoICN7ZmFpbEZpbGV9IDsgIiArIHJlcHJvU2NyaXB0Q29tbWFuZAorICAgICAgICAi
ZWNobyBGQUlMOiAje1NoZWxsd29yZHMuc2hlbGxlc2NhcGUoQG5hbWUpfTsgIiArIHJlcHJvU2Ny
aXB0Q29tbWFuZAogICAgIGVuZAogICAgIAogICAgIGRlZiBzdWNjZXNzQ29tbWFuZApAQCAtMjcz
LDE0ICsyODQsMTQgQEAgY2xhc3MgUGxhbgogICAgICAgICAgICAgZXhlY3V0aW9uVGltZU1lc3Nh
Z2UgPSAiICQoKCRTRUNPTkRTIC0gJFNUQVJUX1RJTUUpKXMiCiAgICAgICAgIGVuZAogICAgICAg
ICBpZiAkcHJvZ3Jlc3NNZXRlciBvciAkcmVwb3J0RXhlY3V0aW9uVGltZSBvciAkdmVyYm9zaXR5
ID49IDIKLSAgICAgICAgICAgICJybSAtZiAje2ZhaWxGaWxlfSA7IGVjaG8gUEFTUzogI3tTaGVs
bHdvcmRzLnNoZWxsZXNjYXBlKEBuYW1lKX0je2V4ZWN1dGlvblRpbWVNZXNzYWdlfSIKKyAgICAg
ICAgICAgICJlY2hvIFBBU1M6ICN7U2hlbGx3b3Jkcy5zaGVsbGVzY2FwZShAbmFtZSl9I3tleGVj
dXRpb25UaW1lTWVzc2FnZX0iCiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICJybSAtZiAje2Zh
aWxGaWxlfSIKKyAgICAgICAgICAgICI6IiAjIG5vLW9wOyBuZWNlc3Nhcnkgb24gc29tZSBzaGVs
bHMKICAgICAgICAgZW5kCiAgICAgZW5kCiAgICAgCi0gICAgZGVmIGZhaWxGaWxlCi0gICAgICAg
ICJ0ZXN0X2ZhaWxfI3tAaW5kZXh9IgorICAgIGRlZiBzdGF0dXNGaWxlCisgICAgICAgICIje1NU
QVRVU19GSUxFX1BSRUZJWH0je0BpbmRleH0iCiAgICAgZW5kCiAgICAgCiAgICAgZGVmIHdyaXRl
UnVuU2NyaXB0KGZpbGVuYW1lKQpAQCAtMjkwLDcgKzMwMSw3IEBAIGNsYXNzIFBsYW4KICAgICAg
ICAgICAgICAgICBvdXRwLnB1dHMgIlNUQVJUX1RJTUU9JFNFQ09ORFMiCiAgICAgICAgICAgICBl
bmQKICAgICAgICAgICAgIG91dHAucHV0cyAiZWNobyBSdW5uaW5nICN7U2hlbGx3b3Jkcy5zaGVs
bGVzY2FwZShAbmFtZSl9IgotICAgICAgICAgICAgY21kICA9ICIoIiArIHNoZWxsQ29tbWFuZCAr
ICIgfHwgKGVjaG8gJD8gPiAje2ZhaWxGaWxlfSkpIDI+JjEgIgorICAgICAgICAgICAgY21kICA9
ICIoIiArIHNoZWxsQ29tbWFuZCArICI7IGVjaG8gXCIjeyRydW5VbmlxdWVJZH0gJD9cIiA+ICN7
c3RhdHVzRmlsZX0pIDI+JjEgIgogICAgICAgICAgICAgY21kICs9IEBvdXRwdXRIYW5kbGVyLmNh
bGwoQG5hbWUpCiAgICAgICAgICAgICBpZiAkdmVyYm9zaXR5ID49IDMKICAgICAgICAgICAgICAg
ICBvdXRwLnB1dHMgImVjaG8gI3tTaGVsbHdvcmRzLnNoZWxsZXNjYXBlKGNtZCl9Igo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>422072</attachid>
            <date>2021-03-03 06:12:09 -0800</date>
            <delta_ts>2021-03-03 06:44:51 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-222601-20210303141207.patch</filename>
            <type>text/plain</type>
            <size>20769</size>
            <attacher name="Angelos Oikonomopoulos">angelos</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjczMzg0CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNjE4N2U5NDAzMzE2MmJmNjMzMWY4NDQwMmQxYWIyZGI0
ZjllMTIyNy4uNDQwN2QwYjhiOWZlMmQ0YTZmOWM4MzQ3YzhkMzk3MjEwN2JlOTI0NiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1
IEBACisyMDIxLTAzLTAyICBBbmdlbG9zIE9pa29ub21vcG91bG9zICA8YW5nZWxvc0BpZ2FsaWEu
Y29tPgorCisgICAgICAgIFtKU0NdIGRldGVjdCBpbmZyYXN0cnVjdHVyZSBmYWlsdXJlIGZvciBy
ZW1vdGUgc3RyZXNzIHRlc3RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMjI2MDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBydW4tanNjLXN0cmVzcy10ZXN0cyBjdXJyZW50bHkgZGV0ZWN0cyBmYWlsdXJl
cyBieSB0aGUgYWJzZW5jZSBvZgorICAgICAgICBhIGZhaWx1cmUgZmlsZSAodGhhdCBpcyBnZW5l
cmF0ZWQgYnkgZWFjaCBmYWlsaW5nIHRlc3QpLiBUaGlzIGlzCisgICAgICAgIGZyYWdpbGUgdG8g
YmVnaW4gd2l0aCwgYXMgaXQgYXNzdW1lcyB0aGF0IHRlc3RzIHRoYXQgZmFpbCB0byBydW4KKyAg
ICAgICAgKGUuZy4gYmVjYXVzZSBvZiBhbiBlcnJvciBpbiB0aGUgcnVubmVyIHNjcmlwdCkgYXJl
IHN1Y2Nlc3NmdWwgYnkKKyAgICAgICAgZGVmYXVsdC4KKworICAgICAgICBIb3dldmVyLCB0aGUg
bWFpbiBtb3RpdmF0aW9uIGZvciB0aGlzIHBhdGNoIGlzIHRvIG1ha2UgZXhlY3V0aW9uCisgICAg
ICAgIG1vcmUgcm9idXN0IHdoZW4gdXNpbmcgcmVtb3RlIGhvc3RzLiBDdXJyZW50bHksCisgICAg
ICAgIC0tZ251LXBhcmFsbGVsLXJ1bm5lciB3aWxsIHRyYW5zcGFyZW50bHkgcmVzY2hlZHVsZSBq
b2JzIG9uIGEKKyAgICAgICAgZGlmZmVyZW50IGhvc3Qgd2hlbiBhIHJlbW90ZSBob3N0IGdvZXMg
YXdheS4gQnV0IGRldGVjdEZhaWx1cmVzCisgICAgICAgIGV4cGVjdHMgdG8gYmUgYWJsZSB0byBj
b25uZWN0IHRvIGFsbCBob3N0cyBhbmQgZmV0Y2ggdGhlIGZhaWx1cmUKKyAgICAgICAgZmlsZXMs
IHdoaWNoIGZhaWxzIGlmIGEgcmVtb3RlIGhvc3QgaXMgc3RpbGwgZG93biB3aGVuIHRoZSBydW4K
KyAgICAgICAgZmluaXNoZXMuCisKKyAgICAgICAgSW5zdGVhZCwgdGhpcyBwYXRjaCBjaGFuZ2Vz
IHRoZSBydW5uZXJzIHRvIGFsd2F5cyBnZW5lcmF0ZSBhIHN0YXR1cworICAgICAgICBmaWxlIHdp
dGggdGhlIGV4aXQgY29kZS4gZGV0ZWN0RmFpbHVyZXMgdGhlbiBmZXRjaGVzIGFsbCBzdGF0dXMK
KyAgICAgICAgZmlsZXMgZnJvbSBhbGwgaG9zdHMgdGhhdCBhcmUgbGl2ZSBvbiBleGl0LiBUZXN0
cyB0aGF0IGZhaWxlZCB0bworICAgICAgICBydW4gYXJlIGV4cGxpY2l0bHkgYWNjb3VudGVkIGZv
ciBhcyAnbm9yZXBvcnQnIGFuZCBhcmUgc2V0IHRvCisgICAgICAgIEVSUk9SIGluIHRoZSBmaW5h
bCByZXBvcnQuCisKKyAgICAgICAgKiBTY3JpcHRzL3J1bi1qYXZhc2NyaXB0Y29yZS10ZXN0czoK
KyAgICAgICAgKHJ1bkpTQ1N0cmVzc1Rlc3RzKToKKyAgICAgICAgKiBTY3JpcHRzL3J1bi1qc2Mt
c3RyZXNzLXRlc3RzOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cnVieS9qc2Mtc3RyZXNzLXRl
c3Qtd3JpdGVyLWRlZmF1bHQucmI6CisKIDIwMjEtMDItMjQgIERvbiBPbG1zdGVhZCAgPGRvbi5v
bG1zdGVhZEBzb255LmNvbT4KIAogICAgICAgICBPbmx5IGltcG9ydCBQeXRob24gZmxhdHBhayBt
b2R1bGUgb24gTGludXgKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvcnVuLWphdmFzY3JpcHRj
b3JlLXRlc3RzIGIvVG9vbHMvU2NyaXB0cy9ydW4tamF2YXNjcmlwdGNvcmUtdGVzdHMKaW5kZXgg
NDZkOTIxNzg4NDczZGViZjIwNGVkMzRlZjJmMzRjNTlmYjcyYzg3NC4uNWNkNjk4ZjYxZGMwMTk5
MWFjMWQxNWMzMjU2YzYzZjg4MWJjMzdlOSAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy9ydW4t
amF2YXNjcmlwdGNvcmUtdGVzdHMKKysrIGIvVG9vbHMvU2NyaXB0cy9ydW4tamF2YXNjcmlwdGNv
cmUtdGVzdHMKQEAgLTkxOCw5ICs5MTgsMjAgQEAgc3ViIHJ1bkpTQ1N0cmVzc1Rlc3RzCiAgICAg
fQogICAgIHByaW50ICJcbiI7CiAKKyAgICBteSBAanNjU3RyZXNzTm9SZXN1bHRMaXN0ID0gcmVh
ZEFsbExpbmVzKCRqc2NTdHJlc3NSZXN1bHRzRGlyIC4gIi9ub3Jlc3VsdCIpOworICAgIG15ICRu
dW1KU0NTdHJlc3NOb1Jlc3VsdFRlc3RzID0gQGpzY1N0cmVzc05vUmVzdWx0TGlzdDsKKworICAg
IGlmICgkbnVtSlNDU3RyZXNzTm9SZXN1bHRUZXN0cykgeworICAgICAgICAkaXNUZXN0RmFpbGVk
ID0gMTsKKyAgICB9CisgICAgZm9yZWFjaCBteSAkdGVzdE5vUmVzdWx0IChAanNjU3RyZXNzTm9S
ZXN1bHRMaXN0KSB7CisgICAgICAgICAgICAkcmVwb3J0RGF0YXskdGVzdE5vUmVzdWx0fSA9IHth
Y3R1YWwgPT4gIkVSUk9SIn07CisgICAgfQorCiAgICAgcHJpbnQgIlJlc3VsdHMgZm9yIEpTQyBz
dHJlc3MgdGVzdHM6XG4iOwogICAgIHByaW50VGhpbmdzRm91bmQoJG51bUpTQ1N0cmVzc0ZhaWx1
cmVzLCAiZmFpbHVyZSIsICJmYWlsdXJlcyIsICJmb3VuZCIpOwotICAgIHByaW50ICIgICAgT0su
XG4iIGlmICRudW1KU0NTdHJlc3NGYWlsdXJlcyA9PSAwOworICAgIHByaW50VGhpbmdzRm91bmQo
JG51bUpTQ1N0cmVzc05vUmVzdWx0VGVzdHMsICJ0ZXN0IiwgInRlc3RzIiwgImZhaWxlZCB0byBj
b21wbGV0ZSIpOworICAgIHByaW50ICIgICAgT0suXG4iIGlmICRudW1KU0NTdHJlc3NGYWlsdXJl
cyA9PSAwIGFuZCAkbnVtSlNDU3RyZXNzTm9SZXN1bHRUZXN0cyA9PSAwOwogCiAgICAgcHJpbnQg
IlxuIjsKIApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9ydW4tanNjLXN0cmVzcy10ZXN0cyBi
L1Rvb2xzL1NjcmlwdHMvcnVuLWpzYy1zdHJlc3MtdGVzdHMKaW5kZXggOWU2NDY1YzJlMDM3NWEx
OTBlNWFkYjIwMWRiOWIwZTUyNDdkYTk5Yy4uMWQ5ZTE2NTg4YjEyMmY5MDIxOGZkNDIzZjgzYWNj
OTI3NTBiYzI5NyAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy9ydW4tanNjLXN0cmVzcy10ZXN0
cworKysgYi9Ub29scy9TY3JpcHRzL3J1bi1qc2Mtc3RyZXNzLXRlc3RzCkBAIC01Nyw2ICs1Nyw5
IEBAIHJhaXNlIHVubGVzcyBTQ1JJUFRTX1BBVEguYmFzZW5hbWUudG9fcyA9PSAiU2NyaXB0cyIK
IHJhaXNlIHVubGVzcyBTQ1JJUFRTX1BBVEguZGlybmFtZS5iYXNlbmFtZS50b19zID09ICJUb29s
cyIKIAogSEVMUEVSU19QQVRIID0gU0NSSVBUU19QQVRIICsgImpzYy1zdHJlc3MtdGVzdC1oZWxw
ZXJzIgorU1RBVFVTX0ZJTEVfUFJFRklYID0gInRlc3Rfc3RhdHVzXyIKK1NUQVRVU19GSUxFX1BB
U1MgPSAiUCIKK1NUQVRVU19GSUxFX0ZBSUwgPSAiRiIKIAogYmVnaW4KICAgICByZXF1aXJlICdz
aGVsbHdvcmRzJwpAQCAtMTM0LDYgKzEzNyw3IEBAICRmb3JjZUNvbGxlY3RDb250aW51b3VzbHkg
PSBmYWxzZQogJHJlcG9ydEV4ZWN1dGlvblRpbWUgPSBmYWxzZQogJGxkZCA9IG5pbAogJGFydGlm
YWN0X2V4ZWNfd3JhcHBlciA9IG5pbAorJHJ1blVuaXF1ZUlkID0gUmFuZG9tLm5ldy5ieXRlcygx
NikudW5wYWNrKCJIKiIpWzBdCiAKIGRlZiB1c2FnZQogICAgIHB1dHMgInJ1bi1qc2Mtc3RyZXNz
LXRlc3RzIC1qIDxzaGVsbCBwYXRoPiA8Y29sbGVjdGlvbnMgcGF0aD4gWzxjb2xsZWN0aW9ucyBw
YXRoPiAuLi5dIgpAQCAtNTM1LDkgKzUzOSw2IEBAIGlmICR0ZXN0V3JpdGVyCiAgICAgZW5kCiBl
bmQKIAotJG51bUZhaWx1cmVzID0gMAotJG51bVBhc3NlcyA9IDAKLQogIyBXZSBmb3JjZSBhbGwg
dGVzdHMgdG8gdXNlIGEgc21hbGxlciAoMS41TSkgc3RhY2sgc28gdGhhdCBzdGFjayBvdmVyZmxv
dyB0ZXN0cyBjYW4gcnVuIGZhc3Rlci4KIEJBU0VfT1BUSU9OUyA9IFsiLS11c2VGVExKSVQ9ZmFs
c2UiLCAiLS11c2VGdW5jdGlvbkRvdEFyZ3VtZW50cz10cnVlIiwgIi0tdmFsaWRhdGVFeGNlcHRp
b25DaGVja3M9dHJ1ZSIsICItLXVzZURvbGxhclZNPXRydWUiLCAiLS1tYXhQZXJUaHJlYWRTdGFj
a1VzYWdlPTE1NzI4NjQiXQogRUFHRVJfT1BUSU9OUyA9IFsiLS10aHJlc2hvbGRGb3JKSVRBZnRl
cldhcm1VcD0xMCIsICItLXRocmVzaG9sZEZvckpJVFNvb249MTAiLCAiLS10aHJlc2hvbGRGb3JP
cHRpbWl6ZUFmdGVyV2FybVVwPTIwIiwgIi0tdGhyZXNob2xkRm9yT3B0aW1pemVBZnRlckxvbmdX
YXJtVXA9MjAiLCAiLS10aHJlc2hvbGRGb3JPcHRpbWl6ZVNvb249MjAiLCAiLS10aHJlc2hvbGRG
b3JGVExPcHRpbWl6ZUFmdGVyV2FybVVwPTIwIiwgIi0tdGhyZXNob2xkRm9yRlRMT3B0aW1pemVT
b29uPTIwIiwgIi0tdGhyZXNob2xkRm9yT01HT3B0aW1pemVBZnRlcldhcm1VcD0yMCIsICItLXRo
cmVzaG9sZEZvck9NR09wdGltaXplU29vbj0yMCIsICItLW1heGltdW1FdmFsQ2FjaGVhYmxlU291
cmNlTGVuZ3RoPTE1MDAwMCIsICItLXVzZUVhZ2VyQ29kZUJsb2NrSmV0dGlzb25UaW1pbmc9dHJ1
ZSIsICItLXJlcGF0Y2hCdWZmZXJpbmdDb3VudGRvd249MCJdCkBAIC0xODE5LDcgKzE4MjAsNiBA
QCBkZWYgYXBwZW5kRmFpbHVyZShwbGFuKQogICAgICAgICB8IG91dHAgfAogICAgICAgICBvdXRw
LnB1dHMgcGxhbi5uYW1lCiAgICAgfQotICAgICRudW1GYWlsdXJlcyArPSAxCiBlbmQKIAogZGVm
IGFwcGVuZFBhc3MocGxhbikKQEAgLTE4MjcsNyArMTgyNywxMyBAQCBkZWYgYXBwZW5kUGFzcyhw
bGFuKQogICAgICAgICB8IG91dHAgfAogICAgICAgICBvdXRwLnB1dHMgcGxhbi5uYW1lCiAgICAg
fQotICAgICRudW1QYXNzZXMgKz0gMQorZW5kCisKK2RlZiBhcHBlbmROb1Jlc3VsdChwbGFuKQor
ICAgIEZpbGUub3Blbigkb3V0cHV0RGlyICsgIm5vcmVzdWx0IiwgImEiKSB7CisgICAgICAgIHwg
b3V0cCB8CisgICAgICAgIG91dHAucHV0cyBwbGFuLm5hbWUKKyAgICB9CiBlbmQKIAogZGVmIGFw
cGVuZFJlc3VsdChwbGFuLCBkaWRQYXNzKQpAQCAtMjAzNSw3ICsyMDQxLDcgQEAgZGVmIGNsZWFu
UnVubmVyRGlyZWN0b3J5CiAgICAgfQogZW5kCiAKLWRlZiBzc2hSZWFkKGNtZCwgcmVtb3RlSW5k
ZXg9MCkKK2RlZiBzc2hSZWFkKGNtZCwgcmVtb3RlSW5kZXg9MCwgb3B0aW9ucz17fSkKICAgICBy
YWlzZSB1bmxlc3MgJHJlbW90ZQogCiAgICAgcmVtb3RlSG9zdCA9ICRyZW1vdGVIb3N0c1tyZW1v
dGVJbmRleF0KQEAgLTIwNDgsNyArMjA1NCw3IEBAIGRlZiBzc2hSZWFkKGNtZCwgcmVtb3RlSW5k
ZXg9MCkKICAgICAgICAgcmVzdWx0ICs9IGxpbmUKICAgICAgIH0KICAgICB9Ci0gICAgcmFpc2Ug
IiN7JD99IiB1bmxlc3MgJD8uc3VjY2Vzcz8KKyAgICByYWlzZSAiI3skP30iIHVubGVzcyAkPy5z
dWNjZXNzPyBvciBvcHRpb25zWzppZ25vcmVGYWlsdXJlXQogICAgIHJlc3VsdAogZW5kCiAKQEAg
LTIyMDMsNTIgKzIyMDksMTEwIEBAIGRlZiBydW5UZXN0UnVubmVyKHJlbW90ZUluZGV4PTApCiAg
ICAgZW5kCiBlbmQKIAotZGVmIGRldGVjdEZhaWx1cmVzCi0gICAgcmFpc2UgaWYgJGJ1bmRsZQot
ICAgIGZhaWx1cmVzID0gW10KK2RlZiBnZXRTdGF0dXNNYXAKKyAgICBuYW1lX3JlID0gL15bLl1c
LyN7U1RBVFVTX0ZJTEVfUFJFRklYfShcZCspJC8KKyAgICBtYXAgPSB7fQogICAgIGlmICRyZW1v
dGUKICAgICAgICAgJHJlbW90ZUhvc3RzLmVhY2hfd2l0aF9pbmRleCB7CiAgICAgICAgICAgICB8
IGhvc3QsIHJlbW90ZUluZGV4IHwKLSAgICAgICAgICAgIG91dHB1dCA9IHNzaFJlYWQoImNkICN7
aG9zdC5yZW1vdGVEaXJlY3Rvcnl9LyN7JG91dHB1dERpci5iYXNlbmFtZX0vLnJ1bm5lciAmJiBm
aW5kIC4gLW1heGRlcHRoIDEgLW5hbWUgXCJ0ZXN0X2ZhaWxfKlwiIiwgcmVtb3RlSW5kZXgpCisg
ICAgICAgICAgICBvdXRwdXQgPSBzc2hSZWFkKCJjZCAje2hvc3QucmVtb3RlRGlyZWN0b3J5fS8j
eyRvdXRwdXREaXIuYmFzZW5hbWV9Ly5ydW5uZXIgJiYgZmluZCAuIC1tYXhkZXB0aCAxIC1uYW1l
IFwiI3tTVEFUVVNfRklMRV9QUkVGSVh9KlwiIC1leGVjIHNoIC1jIFwicHJpbnRmIFxcXCIlcyBc
XFwiIHt9OyBjYXQge31cIiBcXDsiLCByZW1vdGVJbmRleCwgOmlnbm9yZUZhaWx1cmUgPT4gdHJ1
ZSkKICAgICAgICAgICAgIG91dHB1dC5zcGxpdCgvXG4vKS5lYWNoIHsKICAgICAgICAgICAgICAg
ICB8IGxpbmUgfAotICAgICAgICAgICAgICAgIG5leHQgdW5sZXNzIGxpbmUgPX4gL3Rlc3RfZmFp
bF8vCi0gICAgICAgICAgICAgICAgZmFpbHVyZXMgPDwgJH4ucG9zdF9tYXRjaC50b19pCisgICAg
ICAgICAgICAgICAgbmFtZSwgcnVuX2lkLCBfLCByZXN1bHQgPSBsaW5lLnNwbGl0KCcgJykKKyAg
ICAgICAgICAgICAgICBtZCA9IG5hbWVfcmUubWF0Y2gobmFtZSkKKyAgICAgICAgICAgICAgICBp
ZiBtZC5uaWw/CisgICAgICAgICAgICAgICAgICAgICRzdGRlcnIucHV0cygiQ291bGQgbm90IHBh
cnNlIG5hbWUgaW4gYCN7bGluZX1gIikKKyAgICAgICAgICAgICAgICAgICAgZXhpdCgxKQorICAg
ICAgICAgICAgICAgIGVuZAorICAgICAgICAgICAgICAgIGlmIHJ1bl9pZCAhPSAkcnVuVW5pcXVl
SWQKKyAgICAgICAgICAgICAgICAgICAgIyBUaGlzIG1heSBjb25jZWl2YWJseSBoYXBwZW4gaWYg
YSByZW1vdGUgZ29lcworICAgICAgICAgICAgICAgICAgICAjIGF3YXkgaW4gdGhlIG1pZGRsZSBv
ZiBhIHJ1biBhbmQgY29tZXMgYmFjaworICAgICAgICAgICAgICAgICAgICAjIG9ubGluZSBpbiB0
aGUgbWlkZGxlIG9mIGEgZGlmZmVyZW50IHJ1bi4KKyAgICAgICAgICAgICAgICAgICAgJHN0ZGVy
ci5wdXRzKCJJZ25vcmluZyBzdGFsZSBzdGF0dXMgZmlsZSBmb3IgI3tuYW1lfSAoSUQgI3tydW5f
aWR9IGJ1dCBjdXJyZW50IElEIGlzICN7JHJ1blVuaXF1ZUlkfSkiKQorICAgICAgICAgICAgICAg
ICAgICBuZXh0CisgICAgICAgICAgICAgICAgZW5kCisgICAgICAgICAgICAgICAgaW5kZXggPSBt
ZFsxXS50b19pCisgICAgICAgICAgICAgICAgaWYgbWFwLmhhc19rZXk/KGluZGV4KQorICAgICAg
ICAgICAgICAgICAgICAkc3RkZXJyLnB1dHMoIkR1cGxpY2F0ZSBzdGF0ZSBmaWxlIGZvciAje2lu
ZGV4fSIpCisgICAgICAgICAgICAgICAgICAgICMgT25lIHNjZW5hcmlvIGluIHdoaWNoIHRoaXMg
Y291bGQgaGFwcGVuOgorICAgICAgICAgICAgICAgICAgICAjIFRlc3QgVCBydW5zIG9uIHJlbW90
ZSBob3N0IEEgYW5kCisgICAgICAgICAgICAgICAgICAgICMgICAxLiB0aGUgc3RhdHVzIGZpbGUg
cmVhY2hlcyBBJ3MgZGlzaworICAgICAgICAgICAgICAgICAgICAjICAgMi4gc29tZWhvdyB0aGUg
Z251IHBhcmFsbGVsIHJ1bm5lciBpcyBub3QgbWFkZSBhd2FyZSBvZiB0aGUgdGVzdCdzIGNvbXBs
ZXRpb24gKHBhY2tldCBsb3NzPykKKyAgICAgICAgICAgICAgICAgICAgIyAgIDMuIEEgbWFjaGlu
ZSBjcmFzaGVzCisgICAgICAgICAgICAgICAgICAgICMgICA0LiBnbnUgcGFyYWxsZWwgcmUtc2No
ZWR1bGVzIHRoZSB0ZXN0IHRvIHJ1biBvbiByZW1vdGUgaG9zdCBCLCB3aGVyZSBpdCBydW5zIHRv
IGNvbXBsZXRpb24KKyAgICAgICAgICAgICAgICAgICAgIyAgIDUuIEIgY29tZXMgYmFjayBvbmxp
bmUgYmVmb3JlIHRoZSBlbmQgb2YgdGhlIHJ1bgorICAgICAgICAgICAgICAgICAgICAjICAgNi4g
d2UgY29sbGVjdCB0aGUgc3RhdHVzIGZpbGVzIGZyb20gYWxsIHJlbW90ZXMgYW5kIGVuZCB1cCB3
aXRoIHR3byBzdGF0dXMgZmlsZXMgZm9yIFQuCisgICAgICAgICAgICAgICAgICAgIHByZXYgPSBt
YXBbaW5kZXhdCisgICAgICAgICAgICAgICAgICAgICMgbWFwW2luZGV4XSBob2xkcworICAgICAg
ICAgICAgICAgICAgICAjIC0gYSBudW1iZXIsIGlmIGFsbCByZXN1bHRzIGNvZGVzIHdlJ3ZlIG9i
c2VydmVkIGZvciBhIHRlc3QgYXJlIHRoZSBzYW1lCisgICAgICAgICAgICAgICAgICAgICMgLSBh
biBhcnJheSwgaWYgdGhleSBkaXZlcmdlLgorICAgICAgICAgICAgICAgICAgICBpZiBwcmV2Lmlz
X2E/KEFycmF5KQorICAgICAgICAgICAgICAgICAgICAgICAgcHJldi5wdXNoKHJlc3VsdCkKKyAg
ICAgICAgICAgICAgICAgICAgZWxzaWYgcHJldiAhPSByZXN1bHQKKyAgICAgICAgICAgICAgICAg
ICAgICAgICMgSWYgdGhlIHR3byByZXN1bHRzIGRpZmZlciwga2VlcCB0aGVtCisgICAgICAgICAg
ICAgICAgICAgICAgICAjIGJvdGguIFRoaXMgaXMgc2ltcGx5IGEgd2F5IHRvIG1ha2Ugbm90ZSBv
ZgorICAgICAgICAgICAgICAgICAgICAgICAgIyB0aGUgZGl2ZXJnZW5jZSAoZm9yIGxhdGVyIHJl
cG9ydGluZykuCisgICAgICAgICAgICAgICAgICAgICAgICBtYXBbaW5kZXhdID0gW3ByZXYsIHJl
c3VsdF0KKyAgICAgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICAgICAg
IyBHb3QgdGhlIHNhbWUgcmVzdWx0LCBubyBuZWVkIHRvIGRvIGFueXRoaW5nLgorICAgICAgICAg
ICAgICAgICAgICBlbmQKKyAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAg
IG1hcFtpbmRleF0gPSByZXN1bHQKKyAgICAgICAgICAgICAgICBlbmQKICAgICAgICAgICAgIH0K
ICAgICAgICAgfQogICAgIGVsc2UKICAgICAgICAgRGlyLmZvcmVhY2goJHJ1bm5lckRpcikgewog
ICAgICAgICAgICAgfCBmaWxlbmFtZSB8Ci0gICAgICAgICAgICBuZXh0IHVubGVzcyBmaWxlbmFt
ZSA9fiAvdGVzdF9mYWlsXy8KLSAgICAgICAgICAgIGZhaWx1cmVzIDw8ICR+LnBvc3RfbWF0Y2gu
dG9faQorICAgICAgICAgICAgbWQgPSBuYW1lX3JlLm1hdGNoKCIuLyN7ZmlsZW5hbWV9IikKKyAg
ICAgICAgICAgIG5leHQgdW5sZXNzIG1kCisgICAgICAgICAgICBGaWxlLm9wZW4oIiN7JHJ1bm5l
ckRpcn0vI3tmaWxlbmFtZX0iLCAiciIpIHsgfGZ8CisgICAgICAgICAgICAgICAgcnVuSWQsIHJl
c3VsdCA9IGYucmVhZC5jaG9tcC5zcGxpdCgnICcpCisgICAgICAgICAgICAgICAgaWYgcnVuSWQg
IT0gJHJ1blVuaXF1ZUlkCisgICAgICAgICAgICAgICAgICAgICMgV2UgY2xlYW4gdGhlIGRpciBi
ZWZvcmUgYSBzdGFydGluZyBhIHJ1bi4KKyAgICAgICAgICAgICAgICAgICAgcmFpc2UgIkNhbid0
IGhhcHBlbiIKKyAgICAgICAgICAgICAgICBlbmQKKyAgICAgICAgICAgICAgICBtYXBbbWRbMV0u
dG9faV0gPSByZXN1bHQKKyAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgIGVuZAorICAgIG1h
cAorZW5kCiAKLSAgICBmYWlsdXJlU2V0ID0ge30KLQotICAgIGZhaWx1cmVzLmVhY2ggewotICAg
ICAgICB8IGZhaWx1cmUgfCAKLSAgICAgICAgYXBwZW5kRmFpbHVyZSgkcnVubGlzdFtmYWlsdXJl
XSkKLSAgICAgICAgZmFpbHVyZVNldFtmYWlsdXJlXSA9IHRydWUKLSAgICB9Ci0KK2RlZiBkZXRl
Y3RGYWlsdXJlcworICAgIHJhaXNlIGlmICRidW5kbGUKKyAgICBub3Jlc3VsdCA9IDAKKyAgICBz
dGF0dXNNYXAgPSBnZXRTdGF0dXNNYXAKICAgICBmYW1pbHlNYXAgPSB7fQorCiAgICAgJHJ1bmxp
c3QuZWFjaF93aXRoX2luZGV4IHsKICAgICAgICAgfCBwbGFuLCBpbmRleCB8CiAgICAgICAgIHVu
bGVzcyBmYW1pbHlNYXBbcGxhbi5mYW1pbHldCiAgICAgICAgICAgICBmYW1pbHlNYXBbcGxhbi5m
YW1pbHldID0gW10KICAgICAgICAgZW5kCi0gICAgICAgIGlmIGZhaWx1cmVTZXRbaW5kZXhdCi0g
ICAgICAgICAgICBhcHBlbmRSZXN1bHQocGxhbiwgZmFsc2UpCi0gICAgICAgICAgICBmYW1pbHlN
YXBbcGxhbi5mYW1pbHldIDw8IHs6cmVzdWx0ID0+ICJGQUlMIiwgOnBsYW4gPT4gcGxhbn07Cisg
ICAgICAgIGlmIG5vdCBzdGF0dXNNYXAuaGFzX2tleT8oaW5kZXgpIG9yIHN0YXR1c01hcFtpbmRl
eF0uaXNfYT8oQXJyYXkpCisgICAgICAgICAgICBhcHBlbmROb1Jlc3VsdChwbGFuKQorICAgICAg
ICAgICAgbm9yZXN1bHQgKz0gMQogICAgICAgICAgICAgbmV4dAorICAgICAgICBlbmQKKyAgICAg
ICAgcmVzdWx0ID0gbmlsCisgICAgICAgIGlmIHN0YXR1c01hcFtpbmRleF0gPT0gU1RBVFVTX0ZJ
TEVfUEFTUworICAgICAgICAgICAgYXBwZW5kUGFzcyhwbGFuKQorICAgICAgICAgICAgcmVzdWx0
ID0gIlBBU1MiCiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIGFwcGVuZFJlc3VsdChwbGFuLCB0
cnVlKQotICAgICAgICAgICAgZmFtaWx5TWFwW3BsYW4uZmFtaWx5XSA8PCB7OnJlc3VsdCA9PiAi
UEFTUyIsIDpwbGFuID0+IHBsYW59OworICAgICAgICAgICAgYXBwZW5kRmFpbHVyZShwbGFuKQor
ICAgICAgICAgICAgcmVzdWx0ID0gIkZBSUwiCiAgICAgICAgIGVuZAotICAgICAgICBhcHBlbmRQ
YXNzKHBsYW4pCisgICAgICAgIGFwcGVuZFJlc3VsdChwbGFuLCBzdGF0dXNNYXBbaW5kZXhdID09
IFNUQVRVU19GSUxFX1BBU1MpCisgICAgICAgIGZhbWlseU1hcFtwbGFuLmZhbWlseV0gPDwgezpy
ZXN1bHQgPT4gcmVzdWx0LCA6cGxhbiA9PiBwbGFuIH0KICAgICB9CiAKKyAgICBpZiBub3Jlc3Vs
dCA+IDAKKyAgICAgICAgJHN0ZGVyci5wdXRzKCJDb3VsZCBub3QgZ2V0IHRoZSBleGl0IHN0YXR1
cyBmb3IgI3tub3Jlc3VsdH0gdGVzdHMiKQorICAgICAgICAjIFdlIGNhbid0IGNoYW5nZSBvdXIg
ZXhpdCBjb2RlLCBhcyBydW4tamF2YXNjcmlwdGNvcmUtdGVzdHMKKyAgICAgICAgIyBleHBlY3Rz
IDAgZXZlbiB3aGVuIHRoZXJlIGFyZSBmYWlsdXJlcy4KKyAgICBlbmQKKwogICAgIEZpbGUub3Bl
bigkb3V0cHV0RGlyICsgInJlc3VsdHNCeUZhbWlseSIsICJ3IikgewogICAgICAgICB8IG91dHAg
fAogICAgICAgICBmaXJzdCA9IHRydWUKQEAgLTIyNTksNyArMjMyMyw3IEBAIGRlZiBkZXRlY3RG
YWlsdXJlcwogICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgIG91dHAucHV0cwogICAg
ICAgICAgICAgZW5kCi0gICAgICAgICAgICAKKwogICAgICAgICAgICAgb3V0cC5wcmludCAiI3tm
YW1pbHlOYW1lfToiCiAKICAgICAgICAgICAgIG51bVBhc3NlZCA9IDAKQEAgLTIyOTcsNiArMjM2
MSw3IEBAIGVuZAogCiBjbGVhbigkb3V0cHV0RGlyICsgImZhaWxlZCIpCiBjbGVhbigkb3V0cHV0
RGlyICsgInBhc3NlZCIpCitjbGVhbigkb3V0cHV0RGlyICsgIm5vcmVzdWx0IikKIGNsZWFuKCRv
dXRwdXREaXIgKyAicmVzdWx0cyIpCiBjbGVhbigkb3V0cHV0RGlyICsgInJlc3VsdHNCeUZhbWls
eSIpCiBjbGVhbigkb3V0cHV0RGlyICsgIi52bSIpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRz
L3dlYmtpdHJ1YnkvanNjLXN0cmVzcy10ZXN0LXdyaXRlci1kZWZhdWx0LnJiIGIvVG9vbHMvU2Ny
aXB0cy93ZWJraXRydWJ5L2pzYy1zdHJlc3MtdGVzdC13cml0ZXItZGVmYXVsdC5yYgppbmRleCAy
OTRjZTIwZDI2ZTNiMGE3ZjEwOTg4ODAyNDlhOTAzMjZkZmJmMmQyLi5kMzkzMjg1MWY2MGNmZWM0
MmY5NDExYTg0MjE2MGRkMzk5ZGUwODliIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtp
dHJ1YnkvanNjLXN0cmVzcy10ZXN0LXdyaXRlci1kZWZhdWx0LnJiCisrKyBiL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cnVieS9qc2Mtc3RyZXNzLXRlc3Qtd3JpdGVyLWRlZmF1bHQucmIKQEAgLTM3LDcg
KzM3LDcgQEAgZW5kCiBkZWYgc2lsZW50T3V0cHV0SGFuZGxlcgogICAgIFByb2MubmV3IHsKICAg
ICAgICAgfCBuYW1lIHwKLSAgICAgICAgIiB8ICIgKyBwaXBlQW5kUHJlZml4Q29tbWFuZCgoUGF0
aG5hbWUoIi4uIikgKyAobmFtZSArICIub3V0IikpLnRvX3MsIG5hbWUpCisgICAgICAgIHBpcGVB
bmRQcmVmaXhDb21tYW5kKChQYXRobmFtZSgiLi4iKSArIChuYW1lICsgIi5vdXQiKSkudG9fcywg
bmFtZSkKICAgICB9CiBlbmQKIApAQCAtNDUsMTggKzQ1LDI0IEBAIGVuZAogZGVmIG5vaXN5T3V0
cHV0SGFuZGxlcgogICAgIFByb2MubmV3IHsKICAgICAgICAgfCBuYW1lIHwKLSAgICAgICAgIiB8
IGNhdCA+ICIgKyBTaGVsbHdvcmRzLnNoZWxsZXNjYXBlKChQYXRobmFtZSgiLi4iKSArIChuYW1l
ICsgIi5vdXQiKSkudG9fcykKKyAgICAgICAgImNhdCA+ICIgKyBTaGVsbHdvcmRzLnNoZWxsZXNj
YXBlKChQYXRobmFtZSgiLi4iKSArIChuYW1lICsgIi5vdXQiKSkudG9fcykKICAgICB9CiBlbmQK
IAorZGVmIGdldEFuZFRlc3RFeGl0Q29kZShwbGFuLCBjb25kaXRpb24pCisgICAgPDwtRU9GCisg
ICAgaWYgdGVzdCAiJGV4aXRDb2RlIiAje2NvbmRpdGlvbn0KK0VPRgorZW5kCisKICMgRXJyb3Ig
aGFuZGxlciBmb3IgdGVzdHMgdGhhdCBmYWlsIGV4YWN0bHkgd2hlbiB0aGV5IHJldHVybiBub24t
emVybyBleGl0IHN0YXR1cy4KICMgVGhpcyBpcyB1c2VmdWwgd2hlbiBhIHRlc3QgaXMgZXhwZWN0
ZWQgdG8gZmFpbC4KIGRlZiBzaW1wbGVFcnJvckhhbmRsZXIKICAgICBQcm9jLm5ldyB7CiAgICAg
ICAgIHwgb3V0cCwgcGxhbiB8Ci0gICAgICAgIG91dHAucHV0cyAiaWYgdGVzdCAtZSAje3BsYW4u
ZmFpbEZpbGV9IgorICAgICAgICBvdXRwLnB1dHMgZ2V0QW5kVGVzdEV4aXRDb2RlKHBsYW4sICIt
bmUgMCIpCiAgICAgICAgIG91dHAucHV0cyAidGhlbiIKLSAgICAgICAgb3V0cC5wdXRzICIgICAg
KGVjaG8gRVJST1I6IFVuZXhwZWN0ZWQgZXhpdCBjb2RlOiBgY2F0ICN7cGxhbi5mYWlsRmlsZX1g
KSB8ICIgKyByZWRpcmVjdEFuZFByZWZpeENvbW1hbmQocGxhbi5uYW1lKQorICAgICAgICBvdXRw
LnB1dHMgIiAgICAoZWNobyBFUlJPUjogVW5leHBlY3RlZCBleGl0IGNvZGU6ICRleGl0Q29kZSkg
fCAiICsgcmVkaXJlY3RBbmRQcmVmaXhDb21tYW5kKHBsYW4ubmFtZSkKICAgICAgICAgb3V0cC5w
dXRzICIgICAgIiArIHBsYW4uZmFpbENvbW1hbmQKICAgICAgICAgb3V0cC5wdXRzICJlbHNlIgog
ICAgICAgICBvdXRwLnB1dHMgIiAgICAiICsgcGxhbi5zdWNjZXNzQ29tbWFuZApAQCAtNjgsNyAr
NzQsNyBAQCBlbmQKIGRlZiBleHBlY3RlZEZhaWxFcnJvckhhbmRsZXIKICAgICBQcm9jLm5ldyB7
CiAgICAgICAgIHwgb3V0cCwgcGxhbiB8Ci0gICAgICAgIG91dHAucHV0cyAiaWYgdGVzdCAtZSAj
e3BsYW4uZmFpbEZpbGV9IgorICAgICAgICBvdXRwLnB1dHMgZ2V0QW5kVGVzdEV4aXRDb2RlKHBs
YW4sICItbmUgMCIpCiAgICAgICAgIG91dHAucHV0cyAidGhlbiIKICAgICAgICAgb3V0cC5wdXRz
ICIgICAgIiArIHBsYW4uc3VjY2Vzc0NvbW1hbmQKICAgICAgICAgb3V0cC5wdXRzICJlbHNlIgpA
QCAtODQsMTAgKzkwLDEwIEBAIGRlZiBub2lzeUVycm9ySGFuZGxlcgogICAgIFByb2MubmV3IHsK
ICAgICAgICAgfCBvdXRwLCBwbGFuIHwKICAgICAgICAgb3V0cHV0RmlsZW5hbWUgPSBTaGVsbHdv
cmRzLnNoZWxsZXNjYXBlKChQYXRobmFtZSgiLi4iKSArIChwbGFuLm5hbWUgKyAiLm91dCIpKS50
b19zKQotICAgIAotICAgICAgICBvdXRwLnB1dHMgImlmIHRlc3QgLWUgI3twbGFuLmZhaWxGaWxl
fSIKKworICAgICAgICBvdXRwLnB1dHMgZ2V0QW5kVGVzdEV4aXRDb2RlKHBsYW4sICItbmUgMCIp
CiAgICAgICAgIG91dHAucHV0cyAidGhlbiIKLSAgICAgICAgb3V0cC5wdXRzICIgICAgKGNhdCAj
e291dHB1dEZpbGVuYW1lfSAmJiBlY2hvIEVSUk9SOiBVbmV4cGVjdGVkIGV4aXQgY29kZTogYGNh
dCAje3BsYW4uZmFpbEZpbGV9YCkgfCAiICsgcmVkaXJlY3RBbmRQcmVmaXhDb21tYW5kKHBsYW4u
bmFtZSkKKyAgICAgICAgb3V0cC5wdXRzICIgICAgKGNhdCAje291dHB1dEZpbGVuYW1lfSAmJiBl
Y2hvIEVSUk9SOiBVbmV4cGVjdGVkIGV4aXQgY29kZTogJGV4aXRDb2RlKSB8ICIgKyByZWRpcmVj
dEFuZFByZWZpeENvbW1hbmQocGxhbi5uYW1lKQogICAgICAgICBvdXRwLnB1dHMgIiAgICAiICsg
cGxhbi5mYWlsQ29tbWFuZAogICAgICAgICBvdXRwLnB1dHMgImVsc2UiCiAgICAgICAgIG91dHAu
cHV0cyAiICAgICIgKyBwbGFuLnN1Y2Nlc3NDb21tYW5kCkBAIC0xMDEsMTAgKzEwNywxMCBAQCBk
ZWYgZGlmZkVycm9ySGFuZGxlcihleHBlY3RlZEZpbGVuYW1lKQogICAgICAgICB8IG91dHAsIHBs
YW4gfAogICAgICAgICBvdXRwdXRGaWxlbmFtZSA9IFNoZWxsd29yZHMuc2hlbGxlc2NhcGUoKFBh
dGhuYW1lKCIuLiIpICsgKHBsYW4ubmFtZSArICIub3V0IikpLnRvX3MpCiAgICAgICAgIGRpZmZG
aWxlbmFtZSA9IFNoZWxsd29yZHMuc2hlbGxlc2NhcGUoKFBhdGhuYW1lKCIuLiIpICsgKHBsYW4u
bmFtZSArICIuZGlmZiIpKS50b19zKQotICAgICAgICAKLSAgICAgICAgb3V0cC5wdXRzICJpZiB0
ZXN0IC1lICN7cGxhbi5mYWlsRmlsZX0iCisKKyAgICAgICAgb3V0cC5wdXRzIGdldEFuZFRlc3RF
eGl0Q29kZShwbGFuLCAiLW5lIDAiKQogICAgICAgICBvdXRwLnB1dHMgInRoZW4iCi0gICAgICAg
IG91dHAucHV0cyAiICAgIChjYXQgI3tvdXRwdXRGaWxlbmFtZX0gJiYgZWNobyBFUlJPUjogVW5l
eHBlY3RlZCBleGl0IGNvZGU6IGBjYXQgI3twbGFuLmZhaWxGaWxlfWApIHwgIiArIHJlZGlyZWN0
QW5kUHJlZml4Q29tbWFuZChwbGFuLm5hbWUpCisgICAgICAgIG91dHAucHV0cyAiICAgIChjYXQg
I3tvdXRwdXRGaWxlbmFtZX0gJiYgZWNobyBFUlJPUjogVW5leHBlY3RlZCBleGl0IGNvZGU6ICRl
eGl0Q29kZSkgfCAiICsgcmVkaXJlY3RBbmRQcmVmaXhDb21tYW5kKHBsYW4ubmFtZSkKICAgICAg
ICAgb3V0cC5wdXRzICIgICAgIiArIHBsYW4uZmFpbENvbW1hbmQKICAgICAgICAgb3V0cC5wdXRz
ICJlbGlmIHRlc3QgLWUgLi4vI3tTaGVsbHdvcmRzLnNoZWxsZXNjYXBlKGV4cGVjdGVkRmlsZW5h
bWUpfSIKICAgICAgICAgb3V0cC5wdXRzICJ0aGVuIgpAQCAtMTMwLDkgKzEzNiw5IEBAIGRlZiBt
b3ppbGxhRXJyb3JIYW5kbGVyCiAgICAgICAgIHwgb3V0cCwgcGxhbiB8CiAgICAgICAgIG91dHB1
dEZpbGVuYW1lID0gU2hlbGx3b3Jkcy5zaGVsbGVzY2FwZSgoUGF0aG5hbWUoIi4uIikgKyAocGxh
bi5uYW1lICsgIi5vdXQiKSkudG9fcykKIAotICAgICAgICBvdXRwLnB1dHMgImlmIHRlc3QgLWUg
I3twbGFuLmZhaWxGaWxlfSIKKyAgICAgICAgb3V0cC5wdXRzIGdldEFuZFRlc3RFeGl0Q29kZShw
bGFuLCAiLW5lIDAiKQogICAgICAgICBvdXRwLnB1dHMgInRoZW4iCi0gICAgICAgIG91dHAucHV0
cyAiICAgIChjYXQgI3tvdXRwdXRGaWxlbmFtZX0gJiYgZWNobyBFUlJPUjogVW5leHBlY3RlZCBl
eGl0IGNvZGU6IGBjYXQgI3twbGFuLmZhaWxGaWxlfWApIHwgIiArIHJlZGlyZWN0QW5kUHJlZml4
Q29tbWFuZChwbGFuLm5hbWUpCisgICAgICAgIG91dHAucHV0cyAiICAgIChjYXQgI3tvdXRwdXRG
aWxlbmFtZX0gJiYgZWNobyBFUlJPUjogVW5leHBlY3RlZCBleGl0IGNvZGU6ICRleGl0Q29kZSkg
fCAiICsgcmVkaXJlY3RBbmRQcmVmaXhDb21tYW5kKHBsYW4ubmFtZSkKICAgICAgICAgb3V0cC5w
dXRzICIgICAgIiArIHBsYW4uZmFpbENvbW1hbmQKICAgICAgICAgb3V0cC5wdXRzICJlbGlmIGdy
ZXAgLWkgLXEgZmFpbGVkISAje291dHB1dEZpbGVuYW1lfSIKICAgICAgICAgb3V0cC5wdXRzICJ0
aGVuIgpAQCAtMTUxLDcgKzE1Nyw3IEBAIGRlZiBtb3ppbGxhRmFpbEVycm9ySGFuZGxlcgogICAg
ICAgICB8IG91dHAsIHBsYW4gfAogICAgICAgICBvdXRwdXRGaWxlbmFtZSA9IFNoZWxsd29yZHMu
c2hlbGxlc2NhcGUoKFBhdGhuYW1lKCIuLiIpICsgKHBsYW4ubmFtZSArICIub3V0IikpLnRvX3Mp
CiAKLSAgICAgICAgb3V0cC5wdXRzICJpZiB0ZXN0IC1lICN7cGxhbi5mYWlsRmlsZX0iCisgICAg
ICAgIG91dHAucHV0cyBnZXRBbmRUZXN0RXhpdENvZGUocGxhbiwgIi1uZSAwIikKICAgICAgICAg
b3V0cC5wdXRzICJ0aGVuIgogICAgICAgICBvdXRwLnB1dHMgIiAgICAiICsgcGxhbi5zdWNjZXNz
Q29tbWFuZAogICAgICAgICBvdXRwLnB1dHMgImVsaWYgZ3JlcCAtaSAtcSBmYWlsZWQhICN7b3V0
cHV0RmlsZW5hbWV9IgpAQCAtMTcxLDkgKzE3Nyw5IEBAIGRlZiBtb3ppbGxhRXhpdDNFcnJvckhh
bmRsZXIKICAgICAgICAgfCBvdXRwLCBwbGFuIHwKICAgICAgICAgb3V0cHV0RmlsZW5hbWUgPSBT
aGVsbHdvcmRzLnNoZWxsZXNjYXBlKChQYXRobmFtZSgiLi4iKSArIChwbGFuLm5hbWUgKyAiLm91
dCIpKS50b19zKQogCi0gICAgICAgIG91dHAucHV0cyAiaWYgdGVzdCAtZSAje3BsYW4uZmFpbEZp
bGV9IgorICAgICAgICBvdXRwLnB1dHMgZ2V0QW5kVGVzdEV4aXRDb2RlKHBsYW4sICItbmUgMCIp
CiAgICAgICAgIG91dHAucHV0cyAidGhlbiIKLSAgICAgICAgb3V0cC5wdXRzICIgICAgaWYgWyBg
Y2F0ICN7cGxhbi5mYWlsRmlsZX1gIC1lcSAzIF0iCisgICAgICAgIG91dHAucHV0cyAiICAgIGlm
IFsgXCIkZXhpdENvZGVcIiAtZXEgMyBdIgogICAgICAgICBvdXRwLnB1dHMgIiAgICB0aGVuIgog
ICAgICAgICBvdXRwLnB1dHMgIiAgICAgICAgaWYgZ3JlcCAtaSAtcSBmYWlsZWQhICN7b3V0cHV0
RmlsZW5hbWV9IgogICAgICAgICBvdXRwLnB1dHMgIiAgICAgICAgdGhlbiIKQEAgLTE4Myw3ICsx
ODksNyBAQCBkZWYgbW96aWxsYUV4aXQzRXJyb3JIYW5kbGVyCiAgICAgICAgIG91dHAucHV0cyAi
ICAgICAgICAgICAgIiArIHBsYW4uc3VjY2Vzc0NvbW1hbmQKICAgICAgICAgb3V0cC5wdXRzICIg
ICAgICAgIGZpIgogICAgICAgICBvdXRwLnB1dHMgIiAgICBlbHNlIgotICAgICAgICBvdXRwLnB1
dHMgIiAgICAgICAgKGNhdCAje291dHB1dEZpbGVuYW1lfSAmJiBlY2hvIEVSUk9SOiBVbmV4cGVj
dGVkIGV4aXQgY29kZTogYGNhdCAje3BsYW4uZmFpbEZpbGV9YCkgfCAiICsgcmVkaXJlY3RBbmRQ
cmVmaXhDb21tYW5kKHBsYW4ubmFtZSkKKyAgICAgICAgb3V0cC5wdXRzICIgICAgICAgIChjYXQg
I3tvdXRwdXRGaWxlbmFtZX0gJiYgZWNobyBFUlJPUjogVW5leHBlY3RlZCBleGl0IGNvZGU6ICRl
eGl0Q29kZSkgfCAiICsgcmVkaXJlY3RBbmRQcmVmaXhDb21tYW5kKHBsYW4ubmFtZSkKICAgICAg
ICAgb3V0cC5wdXRzICIgICAgICAgICIgKyBwbGFuLmZhaWxDb21tYW5kCiAgICAgICAgIG91dHAu
cHV0cyAiICAgIGZpIgogICAgICAgICBvdXRwLnB1dHMgImVsc2UiCkBAIC0yMDAsOSArMjA2LDkg
QEAgZGVmIGNoYWtyYVBhc3NGYWlsRXJyb3JIYW5kbGVyCiAgICAgICAgIHwgb3V0cCwgcGxhbiB8
CiAgICAgICAgIG91dHB1dEZpbGVuYW1lID0gU2hlbGx3b3Jkcy5zaGVsbGVzY2FwZSgoUGF0aG5h
bWUoIi4uIikgKyAocGxhbi5uYW1lICsgIi5vdXQiKSkudG9fcykKIAotICAgICAgICBvdXRwLnB1
dHMgImlmIHRlc3QgLWUgI3twbGFuLmZhaWxGaWxlfSIKKyAgICAgICAgb3V0cC5wdXRzIGdldEFu
ZFRlc3RFeGl0Q29kZShwbGFuLCAiLW5lIDAiKQogICAgICAgICBvdXRwLnB1dHMgInRoZW4iCi0g
ICAgICAgIG91dHAucHV0cyAiICAgIChjYXQgI3tvdXRwdXRGaWxlbmFtZX0gJiYgZWNobyBFUlJP
UjogVW5leHBlY3RlZCBleGl0IGNvZGU6IGBjYXQgI3twbGFuLmZhaWxGaWxlfWApIHwgIiArIHJl
ZGlyZWN0QW5kUHJlZml4Q29tbWFuZChwbGFuLm5hbWUpCisgICAgICAgIG91dHAucHV0cyAiICAg
IChjYXQgI3tvdXRwdXRGaWxlbmFtZX0gJiYgZWNobyBFUlJPUjogVW5leHBlY3RlZCBleGl0IGNv
ZGU6ICRleGl0Q29kZSkgfCAiICsgcmVkaXJlY3RBbmRQcmVmaXhDb21tYW5kKHBsYW4ubmFtZSkK
ICAgICAgICAgb3V0cC5wdXRzICIgICAgIiArIHBsYW4uZmFpbENvbW1hbmQKICAgICAgICAgb3V0
cC5wdXRzICJlbGlmIGdyZXAgLWkgLXEgRkFJTEVEICN7b3V0cHV0RmlsZW5hbWV9IgogICAgICAg
ICBvdXRwLnB1dHMgInRoZW4iCkBAIC0yNjIsMjUgKzI2OCwyOSBAQCBjbGFzcyBQbGFuCiAgICAg
ICAgIHNjcmlwdCArPSAiI3tzaGVsbENvbW1hbmR9IHx8IGV4aXQgMSIKICAgICAgICAgImVjaG8g
I3tTaGVsbHdvcmRzLnNoZWxsZXNjYXBlKHNjcmlwdCl9ID4gI3tTaGVsbHdvcmRzLnNoZWxsZXNj
YXBlKChQYXRobmFtZS5uZXcoIi4uIikgKyBAbmFtZSkudG9fcyl9IgogICAgIGVuZAotICAgIAor
CisgICAgZGVmIHN0YXR1c0NvbW1hbmQoc3RhdHVzKQorICAgICAgICAiZWNobyAjeyRydW5Vbmlx
dWVJZH0gJGV4aXRDb2RlICN7c3RhdHVzfSA+ICN7c3RhdHVzRmlsZX0iCisgICAgZW5kCisKICAg
ICBkZWYgZmFpbENvbW1hbmQKLSAgICAgICAgImVjaG8gRkFJTDogI3tTaGVsbHdvcmRzLnNoZWxs
ZXNjYXBlKEBuYW1lKX0gOyB0b3VjaCAje2ZhaWxGaWxlfSA7ICIgKyByZXByb1NjcmlwdENvbW1h
bmQKKyAgICAgICAgIiN7c3RhdHVzQ29tbWFuZChTVEFUVVNfRklMRV9GQUlMKX07IGVjaG8gRkFJ
TDogI3tTaGVsbHdvcmRzLnNoZWxsZXNjYXBlKEBuYW1lKX07ICIgKyByZXByb1NjcmlwdENvbW1h
bmQKICAgICBlbmQKICAgICAKICAgICBkZWYgc3VjY2Vzc0NvbW1hbmQKKyAgICAgICAgY29tbWFu
ZCA9ICIiCiAgICAgICAgIGV4ZWN1dGlvblRpbWVNZXNzYWdlID0gIiIKICAgICAgICAgaWYgJHJl
cG9ydEV4ZWN1dGlvblRpbWUKICAgICAgICAgICAgIGV4ZWN1dGlvblRpbWVNZXNzYWdlID0gIiAk
KCgkU0VDT05EUyAtICRTVEFSVF9USU1FKSlzIgogICAgICAgICBlbmQKICAgICAgICAgaWYgJHBy
b2dyZXNzTWV0ZXIgb3IgJHJlcG9ydEV4ZWN1dGlvblRpbWUgb3IgJHZlcmJvc2l0eSA+PSAyCi0g
ICAgICAgICAgICAicm0gLWYgI3tmYWlsRmlsZX0gOyBlY2hvIFBBU1M6ICN7U2hlbGx3b3Jkcy5z
aGVsbGVzY2FwZShAbmFtZSl9I3tleGVjdXRpb25UaW1lTWVzc2FnZX0iCi0gICAgICAgIGVsc2UK
LSAgICAgICAgICAgICJybSAtZiAje2ZhaWxGaWxlfSIKKyAgICAgICAgICAgIGNvbW1hbmQgPSAi
ZWNobyBQQVNTOiAje1NoZWxsd29yZHMuc2hlbGxlc2NhcGUoQG5hbWUpfSN7ZXhlY3V0aW9uVGlt
ZU1lc3NhZ2V9IgogICAgICAgICBlbmQKKyAgICAgICAgIiN7c3RhdHVzQ29tbWFuZChTVEFUVVNf
RklMRV9QQVNTKX07ICN7Y29tbWFuZH0iCiAgICAgZW5kCiAgICAgCi0gICAgZGVmIGZhaWxGaWxl
Ci0gICAgICAgICJ0ZXN0X2ZhaWxfI3tAaW5kZXh9IgorICAgIGRlZiBzdGF0dXNGaWxlCisgICAg
ICAgICIje1NUQVRVU19GSUxFX1BSRUZJWH0je0BpbmRleH0iCiAgICAgZW5kCiAgICAgCiAgICAg
ZGVmIHdyaXRlUnVuU2NyaXB0KGZpbGVuYW1lKQpAQCAtMjkwLDggKzMwMCwzMSBAQCBjbGFzcyBQ
bGFuCiAgICAgICAgICAgICAgICAgb3V0cC5wdXRzICJTVEFSVF9USU1FPSRTRUNPTkRTIgogICAg
ICAgICAgICAgZW5kCiAgICAgICAgICAgICBvdXRwLnB1dHMgImVjaG8gUnVubmluZyAje1NoZWxs
d29yZHMuc2hlbGxlc2NhcGUoQG5hbWUpfSIKLSAgICAgICAgICAgIGNtZCAgPSAiKCIgKyBzaGVs
bENvbW1hbmQgKyAiIHx8IChlY2hvICQ/ID4gI3tmYWlsRmlsZX0pKSAyPiYxICIKLSAgICAgICAg
ICAgIGNtZCArPSBAb3V0cHV0SGFuZGxlci5jYWxsKEBuYW1lKQorICAgICAgICAgICAgIyBGcm9t
IHRoZSB0b3AgZG93biAoaS5lLiByZWFkaW5nIGZyb20gdGhlIG91dGVyIGV4cHJlc3Npb24gaW53
YXJkcyk6CisgICAgICAgICAgICAjCisgICAgICAgICAgICAjIC0gUmVkaXJlY3QgRkQgNCB0byBv
dXIgc3Rkb3V0CisgICAgICAgICAgICAjCisgICAgICAgICAgICAjIC0gQnVpbGQgYSBwaXBlIG9m
IHR3byBjb21tYW5kIHNlcXVlbmNlcy4gVGhlCisgICAgICAgICAgICAjICAgcmlnaHQtaGFuZC1z
aWRlIHNlcXVlbmNlIHJlYWRzIGEgbnVtYmVyIGZyb20gc3RkaW4gYW5kCisgICAgICAgICAgICAj
ICAgZXhpdHMgd2l0aCBpdC4gU2luY2UgaXQncyB0aGUgbGFzdCBjb21tYW5kIGluIHRoZQorICAg
ICAgICAgICAgIyAgIHBpcGVsaW5lLCB0aGlzIHdpbGwgYmUgdGhlIHZhbHVlIG9mICQ/IGFmdGVy
IHRoZQorICAgICAgICAgICAgIyAgIHBpcGVsaW5lIGNvbXBsZXRlcy4KKyAgICAgICAgICAgICMK
KyAgICAgICAgICAgICMgLSBJbiB0aGUgbGVmdC1oYW5kLXNpZGUgc2VxdWVuY2UsIHJlZGlyZWN0
IEZEIDMgdG8gRkQgMS4KKyAgICAgICAgICAgICMKKyAgICAgICAgICAgICMgLSBCdWlsZCBhIHBp
cGUgb2YgdHdvIGNvbW1hbmRzCisgICAgICAgICAgICAjICAgLSBydW4gc2hlbGxDb21tYW5kLCB3
cml0aW5nIGl0cyBleGl0IGNvZGUgdG8gRkQgMy4KKyAgICAgICAgICAgICMgICAtIHJ1biB0aGUg
b3V0cHV0SGFuZGxlciwgd2l0aCBpdHMgc3RkaW4gY29taW5nIGZyb20KKyAgICAgICAgICAgICMg
ICAgIHRoZSBwaXBlLCByZWRpcmVjdGluZyBpdHMgb3V0cHV0IHRvIEZEIDQuIFRoZQorICAgICAg
ICAgICAgIyAgICAgb3V0cHV0SGFuZGxlciBuZWVkcyB0byBiZSBpbiBhIGNvbW1hbmQgc2VxdWVu
Y2UKKyAgICAgICAgICAgICMgICAgIChpLmUuIGluIHsgY21kOyAuLi59KSBhcyBpdCBtYXkgZG8g
aXRzIG93bgorICAgICAgICAgICAgIyAgICAgcmVkaXJlY3Rpb25zLgorICAgICAgICAgICAgIwor
ICAgICAgICAgICAgIyBXZSBkbyBhbGwgdGhpcworICAgICAgICAgICAgIyAtIHRvIGF2b2lkIGhh
dmluZyB0byB1c2UgYSB0ZW1wb3JhcnkgZmlsZSBmb3IgdGhlIGV4aXQgY29kZQorICAgICAgICAg
ICAgIyAtIHRvIGtlZXAgd2l0aGluIHRoZSBib3VuZHMgb2YgUE9TSVggc2ggKGkuZS4gY2FuJ3Qg
dXNlCisgICAgICAgICAgICAjICAgUElQRVNUQVRVUykKKyAgICAgICAgICAgIGNtZCA9ICJ7IHsg
eyB7ICN7c2hlbGxDb21tYW5kfTsgZWNobyAkPyA+JjM7IH0gfCB7ICN7b3V0cHV0SGFuZGxlci5j
YWxsKEBuYW1lKX0gO30gPiY0OyB9IDM+JjE7IH0gfCB7IHJlYWQgeHM7IGV4aXQgJHhzOyB9IH0g
ND4mMVxuZXhpdENvZGU9JD9cbiIKICAgICAgICAgICAgIGlmICR2ZXJib3NpdHkgPj0gMwogICAg
ICAgICAgICAgICAgIG91dHAucHV0cyAiZWNobyAje1NoZWxsd29yZHMuc2hlbGxlc2NhcGUoY21k
KX0iCiAgICAgICAgICAgICBlbmQK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>422073</attachid>
            <date>2021-03-03 06:44:57 -0800</date>
            <delta_ts>2021-04-29 06:27:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-222601-20210303144456.patch</filename>
            <type>text/plain</type>
            <size>20772</size>
            <attacher name="Angelos Oikonomopoulos">angelos</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjczMzg0CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNjE4N2U5NDAzMzE2MmJmNjMzMWY4NDQwMmQxYWIyZGI0
ZjllMTIyNy4uNDQwN2QwYjhiOWZlMmQ0YTZmOWM4MzQ3YzhkMzk3MjEwN2JlOTI0NiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1
IEBACisyMDIxLTAzLTAyICBBbmdlbG9zIE9pa29ub21vcG91bG9zICA8YW5nZWxvc0BpZ2FsaWEu
Y29tPgorCisgICAgICAgIFtKU0NdIGRldGVjdCBpbmZyYXN0cnVjdHVyZSBmYWlsdXJlIGZvciBy
ZW1vdGUgc3RyZXNzIHRlc3RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMjI2MDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBydW4tanNjLXN0cmVzcy10ZXN0cyBjdXJyZW50bHkgZGV0ZWN0cyBmYWlsdXJl
cyBieSB0aGUgYWJzZW5jZSBvZgorICAgICAgICBhIGZhaWx1cmUgZmlsZSAodGhhdCBpcyBnZW5l
cmF0ZWQgYnkgZWFjaCBmYWlsaW5nIHRlc3QpLiBUaGlzIGlzCisgICAgICAgIGZyYWdpbGUgdG8g
YmVnaW4gd2l0aCwgYXMgaXQgYXNzdW1lcyB0aGF0IHRlc3RzIHRoYXQgZmFpbCB0byBydW4KKyAg
ICAgICAgKGUuZy4gYmVjYXVzZSBvZiBhbiBlcnJvciBpbiB0aGUgcnVubmVyIHNjcmlwdCkgYXJl
IHN1Y2Nlc3NmdWwgYnkKKyAgICAgICAgZGVmYXVsdC4KKworICAgICAgICBIb3dldmVyLCB0aGUg
bWFpbiBtb3RpdmF0aW9uIGZvciB0aGlzIHBhdGNoIGlzIHRvIG1ha2UgZXhlY3V0aW9uCisgICAg
ICAgIG1vcmUgcm9idXN0IHdoZW4gdXNpbmcgcmVtb3RlIGhvc3RzLiBDdXJyZW50bHksCisgICAg
ICAgIC0tZ251LXBhcmFsbGVsLXJ1bm5lciB3aWxsIHRyYW5zcGFyZW50bHkgcmVzY2hlZHVsZSBq
b2JzIG9uIGEKKyAgICAgICAgZGlmZmVyZW50IGhvc3Qgd2hlbiBhIHJlbW90ZSBob3N0IGdvZXMg
YXdheS4gQnV0IGRldGVjdEZhaWx1cmVzCisgICAgICAgIGV4cGVjdHMgdG8gYmUgYWJsZSB0byBj
b25uZWN0IHRvIGFsbCBob3N0cyBhbmQgZmV0Y2ggdGhlIGZhaWx1cmUKKyAgICAgICAgZmlsZXMs
IHdoaWNoIGZhaWxzIGlmIGEgcmVtb3RlIGhvc3QgaXMgc3RpbGwgZG93biB3aGVuIHRoZSBydW4K
KyAgICAgICAgZmluaXNoZXMuCisKKyAgICAgICAgSW5zdGVhZCwgdGhpcyBwYXRjaCBjaGFuZ2Vz
IHRoZSBydW5uZXJzIHRvIGFsd2F5cyBnZW5lcmF0ZSBhIHN0YXR1cworICAgICAgICBmaWxlIHdp
dGggdGhlIGV4aXQgY29kZS4gZGV0ZWN0RmFpbHVyZXMgdGhlbiBmZXRjaGVzIGFsbCBzdGF0dXMK
KyAgICAgICAgZmlsZXMgZnJvbSBhbGwgaG9zdHMgdGhhdCBhcmUgbGl2ZSBvbiBleGl0LiBUZXN0
cyB0aGF0IGZhaWxlZCB0bworICAgICAgICBydW4gYXJlIGV4cGxpY2l0bHkgYWNjb3VudGVkIGZv
ciBhcyAnbm9yZXBvcnQnIGFuZCBhcmUgc2V0IHRvCisgICAgICAgIEVSUk9SIGluIHRoZSBmaW5h
bCByZXBvcnQuCisKKyAgICAgICAgKiBTY3JpcHRzL3J1bi1qYXZhc2NyaXB0Y29yZS10ZXN0czoK
KyAgICAgICAgKHJ1bkpTQ1N0cmVzc1Rlc3RzKToKKyAgICAgICAgKiBTY3JpcHRzL3J1bi1qc2Mt
c3RyZXNzLXRlc3RzOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cnVieS9qc2Mtc3RyZXNzLXRl
c3Qtd3JpdGVyLWRlZmF1bHQucmI6CisKIDIwMjEtMDItMjQgIERvbiBPbG1zdGVhZCAgPGRvbi5v
bG1zdGVhZEBzb255LmNvbT4KIAogICAgICAgICBPbmx5IGltcG9ydCBQeXRob24gZmxhdHBhayBt
b2R1bGUgb24gTGludXgKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvcnVuLWphdmFzY3JpcHRj
b3JlLXRlc3RzIGIvVG9vbHMvU2NyaXB0cy9ydW4tamF2YXNjcmlwdGNvcmUtdGVzdHMKaW5kZXgg
NDZkOTIxNzg4NDczZGViZjIwNGVkMzRlZjJmMzRjNTlmYjcyYzg3NC4uNWNkNjk4ZjYxZGMwMTk5
MWFjMWQxNWMzMjU2YzYzZjg4MWJjMzdlOSAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy9ydW4t
amF2YXNjcmlwdGNvcmUtdGVzdHMKKysrIGIvVG9vbHMvU2NyaXB0cy9ydW4tamF2YXNjcmlwdGNv
cmUtdGVzdHMKQEAgLTkxOCw5ICs5MTgsMjAgQEAgc3ViIHJ1bkpTQ1N0cmVzc1Rlc3RzCiAgICAg
fQogICAgIHByaW50ICJcbiI7CiAKKyAgICBteSBAanNjU3RyZXNzTm9SZXN1bHRMaXN0ID0gcmVh
ZEFsbExpbmVzKCRqc2NTdHJlc3NSZXN1bHRzRGlyIC4gIi9ub3Jlc3VsdCIpOworICAgIG15ICRu
dW1KU0NTdHJlc3NOb1Jlc3VsdFRlc3RzID0gQGpzY1N0cmVzc05vUmVzdWx0TGlzdDsKKworICAg
IGlmICgkbnVtSlNDU3RyZXNzTm9SZXN1bHRUZXN0cykgeworICAgICAgICAkaXNUZXN0RmFpbGVk
ID0gMTsKKyAgICB9CisgICAgZm9yZWFjaCBteSAkdGVzdE5vUmVzdWx0IChAanNjU3RyZXNzTm9S
ZXN1bHRMaXN0KSB7CisgICAgICAgICAgICAkcmVwb3J0RGF0YXskdGVzdE5vUmVzdWx0fSA9IHth
Y3R1YWwgPT4gIkVSUk9SIn07CisgICAgfQorCiAgICAgcHJpbnQgIlJlc3VsdHMgZm9yIEpTQyBz
dHJlc3MgdGVzdHM6XG4iOwogICAgIHByaW50VGhpbmdzRm91bmQoJG51bUpTQ1N0cmVzc0ZhaWx1
cmVzLCAiZmFpbHVyZSIsICJmYWlsdXJlcyIsICJmb3VuZCIpOwotICAgIHByaW50ICIgICAgT0su
XG4iIGlmICRudW1KU0NTdHJlc3NGYWlsdXJlcyA9PSAwOworICAgIHByaW50VGhpbmdzRm91bmQo
JG51bUpTQ1N0cmVzc05vUmVzdWx0VGVzdHMsICJ0ZXN0IiwgInRlc3RzIiwgImZhaWxlZCB0byBj
b21wbGV0ZSIpOworICAgIHByaW50ICIgICAgT0suXG4iIGlmICRudW1KU0NTdHJlc3NGYWlsdXJl
cyA9PSAwIGFuZCAkbnVtSlNDU3RyZXNzTm9SZXN1bHRUZXN0cyA9PSAwOwogCiAgICAgcHJpbnQg
IlxuIjsKIApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9ydW4tanNjLXN0cmVzcy10ZXN0cyBi
L1Rvb2xzL1NjcmlwdHMvcnVuLWpzYy1zdHJlc3MtdGVzdHMKaW5kZXggOWU2NDY1YzJlMDM3NWEx
OTBlNWFkYjIwMWRiOWIwZTUyNDdkYTk5Yy4uMzkzNzQ2MmEzYWZiNWQzNDFjZTg3Zjg3MGI5YWY1
YjBiM2Y1NDRiZSAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy9ydW4tanNjLXN0cmVzcy10ZXN0
cworKysgYi9Ub29scy9TY3JpcHRzL3J1bi1qc2Mtc3RyZXNzLXRlc3RzCkBAIC01Nyw2ICs1Nyw5
IEBAIHJhaXNlIHVubGVzcyBTQ1JJUFRTX1BBVEguYmFzZW5hbWUudG9fcyA9PSAiU2NyaXB0cyIK
IHJhaXNlIHVubGVzcyBTQ1JJUFRTX1BBVEguZGlybmFtZS5iYXNlbmFtZS50b19zID09ICJUb29s
cyIKIAogSEVMUEVSU19QQVRIID0gU0NSSVBUU19QQVRIICsgImpzYy1zdHJlc3MtdGVzdC1oZWxw
ZXJzIgorU1RBVFVTX0ZJTEVfUFJFRklYID0gInRlc3Rfc3RhdHVzXyIKK1NUQVRVU19GSUxFX1BB
U1MgPSAiUCIKK1NUQVRVU19GSUxFX0ZBSUwgPSAiRiIKIAogYmVnaW4KICAgICByZXF1aXJlICdz
aGVsbHdvcmRzJwpAQCAtMTM0LDYgKzEzNyw3IEBAICRmb3JjZUNvbGxlY3RDb250aW51b3VzbHkg
PSBmYWxzZQogJHJlcG9ydEV4ZWN1dGlvblRpbWUgPSBmYWxzZQogJGxkZCA9IG5pbAogJGFydGlm
YWN0X2V4ZWNfd3JhcHBlciA9IG5pbAorJHJ1blVuaXF1ZUlkID0gUmFuZG9tLm5ldy5ieXRlcygx
NikudW5wYWNrKCJIKiIpWzBdCiAKIGRlZiB1c2FnZQogICAgIHB1dHMgInJ1bi1qc2Mtc3RyZXNz
LXRlc3RzIC1qIDxzaGVsbCBwYXRoPiA8Y29sbGVjdGlvbnMgcGF0aD4gWzxjb2xsZWN0aW9ucyBw
YXRoPiAuLi5dIgpAQCAtNTM1LDkgKzUzOSw2IEBAIGlmICR0ZXN0V3JpdGVyCiAgICAgZW5kCiBl
bmQKIAotJG51bUZhaWx1cmVzID0gMAotJG51bVBhc3NlcyA9IDAKLQogIyBXZSBmb3JjZSBhbGwg
dGVzdHMgdG8gdXNlIGEgc21hbGxlciAoMS41TSkgc3RhY2sgc28gdGhhdCBzdGFjayBvdmVyZmxv
dyB0ZXN0cyBjYW4gcnVuIGZhc3Rlci4KIEJBU0VfT1BUSU9OUyA9IFsiLS11c2VGVExKSVQ9ZmFs
c2UiLCAiLS11c2VGdW5jdGlvbkRvdEFyZ3VtZW50cz10cnVlIiwgIi0tdmFsaWRhdGVFeGNlcHRp
b25DaGVja3M9dHJ1ZSIsICItLXVzZURvbGxhclZNPXRydWUiLCAiLS1tYXhQZXJUaHJlYWRTdGFj
a1VzYWdlPTE1NzI4NjQiXQogRUFHRVJfT1BUSU9OUyA9IFsiLS10aHJlc2hvbGRGb3JKSVRBZnRl
cldhcm1VcD0xMCIsICItLXRocmVzaG9sZEZvckpJVFNvb249MTAiLCAiLS10aHJlc2hvbGRGb3JP
cHRpbWl6ZUFmdGVyV2FybVVwPTIwIiwgIi0tdGhyZXNob2xkRm9yT3B0aW1pemVBZnRlckxvbmdX
YXJtVXA9MjAiLCAiLS10aHJlc2hvbGRGb3JPcHRpbWl6ZVNvb249MjAiLCAiLS10aHJlc2hvbGRG
b3JGVExPcHRpbWl6ZUFmdGVyV2FybVVwPTIwIiwgIi0tdGhyZXNob2xkRm9yRlRMT3B0aW1pemVT
b29uPTIwIiwgIi0tdGhyZXNob2xkRm9yT01HT3B0aW1pemVBZnRlcldhcm1VcD0yMCIsICItLXRo
cmVzaG9sZEZvck9NR09wdGltaXplU29vbj0yMCIsICItLW1heGltdW1FdmFsQ2FjaGVhYmxlU291
cmNlTGVuZ3RoPTE1MDAwMCIsICItLXVzZUVhZ2VyQ29kZUJsb2NrSmV0dGlzb25UaW1pbmc9dHJ1
ZSIsICItLXJlcGF0Y2hCdWZmZXJpbmdDb3VudGRvd249MCJdCkBAIC0xODE5LDcgKzE4MjAsNiBA
QCBkZWYgYXBwZW5kRmFpbHVyZShwbGFuKQogICAgICAgICB8IG91dHAgfAogICAgICAgICBvdXRw
LnB1dHMgcGxhbi5uYW1lCiAgICAgfQotICAgICRudW1GYWlsdXJlcyArPSAxCiBlbmQKIAogZGVm
IGFwcGVuZFBhc3MocGxhbikKQEAgLTE4MjcsNyArMTgyNywxMyBAQCBkZWYgYXBwZW5kUGFzcyhw
bGFuKQogICAgICAgICB8IG91dHAgfAogICAgICAgICBvdXRwLnB1dHMgcGxhbi5uYW1lCiAgICAg
fQotICAgICRudW1QYXNzZXMgKz0gMQorZW5kCisKK2RlZiBhcHBlbmROb1Jlc3VsdChwbGFuKQor
ICAgIEZpbGUub3Blbigkb3V0cHV0RGlyICsgIm5vcmVzdWx0IiwgImEiKSB7CisgICAgICAgIHwg
b3V0cCB8CisgICAgICAgIG91dHAucHV0cyBwbGFuLm5hbWUKKyAgICB9CiBlbmQKIAogZGVmIGFw
cGVuZFJlc3VsdChwbGFuLCBkaWRQYXNzKQpAQCAtMjAzNSw3ICsyMDQxLDcgQEAgZGVmIGNsZWFu
UnVubmVyRGlyZWN0b3J5CiAgICAgfQogZW5kCiAKLWRlZiBzc2hSZWFkKGNtZCwgcmVtb3RlSW5k
ZXg9MCkKK2RlZiBzc2hSZWFkKGNtZCwgcmVtb3RlSW5kZXg9MCwgb3B0aW9ucz17fSkKICAgICBy
YWlzZSB1bmxlc3MgJHJlbW90ZQogCiAgICAgcmVtb3RlSG9zdCA9ICRyZW1vdGVIb3N0c1tyZW1v
dGVJbmRleF0KQEAgLTIwNDgsNyArMjA1NCw3IEBAIGRlZiBzc2hSZWFkKGNtZCwgcmVtb3RlSW5k
ZXg9MCkKICAgICAgICAgcmVzdWx0ICs9IGxpbmUKICAgICAgIH0KICAgICB9Ci0gICAgcmFpc2Ug
IiN7JD99IiB1bmxlc3MgJD8uc3VjY2Vzcz8KKyAgICByYWlzZSAiI3skP30iIHVubGVzcyAkPy5z
dWNjZXNzPyBvciBvcHRpb25zWzppZ25vcmVGYWlsdXJlXQogICAgIHJlc3VsdAogZW5kCiAKQEAg
LTIyMDMsNTIgKzIyMDksMTEwIEBAIGRlZiBydW5UZXN0UnVubmVyKHJlbW90ZUluZGV4PTApCiAg
ICAgZW5kCiBlbmQKIAotZGVmIGRldGVjdEZhaWx1cmVzCi0gICAgcmFpc2UgaWYgJGJ1bmRsZQot
ICAgIGZhaWx1cmVzID0gW10KK2RlZiBnZXRTdGF0dXNNYXAKKyAgICBuYW1lX3JlID0gL15bLl1c
LyN7U1RBVFVTX0ZJTEVfUFJFRklYfShcZCspJC8KKyAgICBtYXAgPSB7fQogICAgIGlmICRyZW1v
dGUKICAgICAgICAgJHJlbW90ZUhvc3RzLmVhY2hfd2l0aF9pbmRleCB7CiAgICAgICAgICAgICB8
IGhvc3QsIHJlbW90ZUluZGV4IHwKLSAgICAgICAgICAgIG91dHB1dCA9IHNzaFJlYWQoImNkICN7
aG9zdC5yZW1vdGVEaXJlY3Rvcnl9LyN7JG91dHB1dERpci5iYXNlbmFtZX0vLnJ1bm5lciAmJiBm
aW5kIC4gLW1heGRlcHRoIDEgLW5hbWUgXCJ0ZXN0X2ZhaWxfKlwiIiwgcmVtb3RlSW5kZXgpCisg
ICAgICAgICAgICBvdXRwdXQgPSBzc2hSZWFkKCJjZCAje2hvc3QucmVtb3RlRGlyZWN0b3J5fS8j
eyRvdXRwdXREaXIuYmFzZW5hbWV9Ly5ydW5uZXIgJiYgZmluZCAuIC1tYXhkZXB0aCAxIC1uYW1l
IFwiI3tTVEFUVVNfRklMRV9QUkVGSVh9KlwiIC1leGVjIHNoIC1jIFwicHJpbnRmIFxcXCIlcyBc
XFwiIHt9OyBjYXQge31cIiBcXDsiLCByZW1vdGVJbmRleCwgOmlnbm9yZUZhaWx1cmUgPT4gdHJ1
ZSkKICAgICAgICAgICAgIG91dHB1dC5zcGxpdCgvXG4vKS5lYWNoIHsKICAgICAgICAgICAgICAg
ICB8IGxpbmUgfAotICAgICAgICAgICAgICAgIG5leHQgdW5sZXNzIGxpbmUgPX4gL3Rlc3RfZmFp
bF8vCi0gICAgICAgICAgICAgICAgZmFpbHVyZXMgPDwgJH4ucG9zdF9tYXRjaC50b19pCisgICAg
ICAgICAgICAgICAgbmFtZSwgcnVuX2lkLCBfLCByZXN1bHQgPSBsaW5lLnNwbGl0KCcgJykKKyAg
ICAgICAgICAgICAgICBtZCA9IG5hbWVfcmUubWF0Y2gobmFtZSkKKyAgICAgICAgICAgICAgICBp
ZiBtZC5uaWw/CisgICAgICAgICAgICAgICAgICAgICRzdGRlcnIucHV0cygiQ291bGQgbm90IHBh
cnNlIG5hbWUgaW4gYCN7bGluZX1gIikKKyAgICAgICAgICAgICAgICAgICAgZXhpdCgxKQorICAg
ICAgICAgICAgICAgIGVuZAorICAgICAgICAgICAgICAgIGlmIHJ1bl9pZCAhPSAkcnVuVW5pcXVl
SWQKKyAgICAgICAgICAgICAgICAgICAgIyBUaGlzIG1heSBjb25jZWl2YWJseSBoYXBwZW4gaWYg
YSByZW1vdGUgZ29lcworICAgICAgICAgICAgICAgICAgICAjIGF3YXkgaW4gdGhlIG1pZGRsZSBv
ZiBhIHJ1biBhbmQgY29tZXMgYmFjaworICAgICAgICAgICAgICAgICAgICAjIG9ubGluZSBpbiB0
aGUgbWlkZGxlIG9mIGEgZGlmZmVyZW50IHJ1bi4KKyAgICAgICAgICAgICAgICAgICAgJHN0ZGVy
ci5wdXRzKCJJZ25vcmluZyBzdGFsZSBzdGF0dXMgZmlsZSBmb3IgI3tuYW1lfSAoSUQgI3tydW5f
aWR9IGJ1dCBjdXJyZW50IElEIGlzICN7JHJ1blVuaXF1ZUlkfSkiKQorICAgICAgICAgICAgICAg
ICAgICBuZXh0CisgICAgICAgICAgICAgICAgZW5kCisgICAgICAgICAgICAgICAgaW5kZXggPSBt
ZFsxXS50b19pCisgICAgICAgICAgICAgICAgaWYgbWFwLmhhc19rZXk/KGluZGV4KQorICAgICAg
ICAgICAgICAgICAgICAkc3RkZXJyLnB1dHMoIkR1cGxpY2F0ZSBzdGF0ZSBmaWxlIGZvciAje2lu
ZGV4fSIpCisgICAgICAgICAgICAgICAgICAgICMgT25lIHNjZW5hcmlvIGluIHdoaWNoIHRoaXMg
Y291bGQgaGFwcGVuOgorICAgICAgICAgICAgICAgICAgICAjIFRlc3QgVCBydW5zIG9uIHJlbW90
ZSBob3N0IEEgYW5kCisgICAgICAgICAgICAgICAgICAgICMgICAxLiB0aGUgc3RhdHVzIGZpbGUg
cmVhY2hlcyBBJ3MgZGlzaworICAgICAgICAgICAgICAgICAgICAjICAgMi4gc29tZWhvdyB0aGUg
Z251IHBhcmFsbGVsIHJ1bm5lciBpcyBub3QgbWFkZSBhd2FyZSBvZiB0aGUgdGVzdCdzIGNvbXBs
ZXRpb24gKHBhY2tldCBsb3NzPykKKyAgICAgICAgICAgICAgICAgICAgIyAgIDMuIEEgbWFjaGlu
ZSBjcmFzaGVzCisgICAgICAgICAgICAgICAgICAgICMgICA0LiBnbnUgcGFyYWxsZWwgcmUtc2No
ZWR1bGVzIHRoZSB0ZXN0IHRvIHJ1biBvbiByZW1vdGUgaG9zdCBCLCB3aGVyZSBpdCBydW5zIHRv
IGNvbXBsZXRpb24KKyAgICAgICAgICAgICAgICAgICAgIyAgIDUuIEIgY29tZXMgYmFjayBvbmxp
bmUgYmVmb3JlIHRoZSBlbmQgb2YgdGhlIHJ1bgorICAgICAgICAgICAgICAgICAgICAjICAgNi4g
d2UgY29sbGVjdCB0aGUgc3RhdHVzIGZpbGVzIGZyb20gYWxsIHJlbW90ZXMgYW5kIGVuZCB1cCB3
aXRoIHR3byBzdGF0dXMgZmlsZXMgZm9yIFQuCisgICAgICAgICAgICAgICAgICAgIHByZXYgPSBt
YXBbaW5kZXhdCisgICAgICAgICAgICAgICAgICAgICMgbWFwW2luZGV4XSBob2xkcworICAgICAg
ICAgICAgICAgICAgICAjIC0gYSBudW1iZXIsIGlmIGFsbCByZXN1bHRzIGNvZGVzIHdlJ3ZlIG9i
c2VydmVkIGZvciBhIHRlc3QgYXJlIHRoZSBzYW1lCisgICAgICAgICAgICAgICAgICAgICMgLSBh
biBhcnJheSwgaWYgdGhleSBkaXZlcmdlLgorICAgICAgICAgICAgICAgICAgICBpZiBwcmV2Lmlz
X2E/KEFycmF5KQorICAgICAgICAgICAgICAgICAgICAgICAgcHJldi5wdXNoKHJlc3VsdCkKKyAg
ICAgICAgICAgICAgICAgICAgZWxzaWYgcHJldiAhPSByZXN1bHQKKyAgICAgICAgICAgICAgICAg
ICAgICAgICMgSWYgdGhlIHR3byByZXN1bHRzIGRpZmZlciwga2VlcCB0aGVtCisgICAgICAgICAg
ICAgICAgICAgICAgICAjIGJvdGguIFRoaXMgaXMgc2ltcGx5IGEgd2F5IHRvIG1ha2Ugbm90ZSBv
ZgorICAgICAgICAgICAgICAgICAgICAgICAgIyB0aGUgZGl2ZXJnZW5jZSAoZm9yIGxhdGVyIHJl
cG9ydGluZykuCisgICAgICAgICAgICAgICAgICAgICAgICBtYXBbaW5kZXhdID0gW3ByZXYsIHJl
c3VsdF0KKyAgICAgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICAgICAg
IyBHb3QgdGhlIHNhbWUgcmVzdWx0LCBubyBuZWVkIHRvIGRvIGFueXRoaW5nLgorICAgICAgICAg
ICAgICAgICAgICBlbmQKKyAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAg
IG1hcFtpbmRleF0gPSByZXN1bHQKKyAgICAgICAgICAgICAgICBlbmQKICAgICAgICAgICAgIH0K
ICAgICAgICAgfQogICAgIGVsc2UKICAgICAgICAgRGlyLmZvcmVhY2goJHJ1bm5lckRpcikgewog
ICAgICAgICAgICAgfCBmaWxlbmFtZSB8Ci0gICAgICAgICAgICBuZXh0IHVubGVzcyBmaWxlbmFt
ZSA9fiAvdGVzdF9mYWlsXy8KLSAgICAgICAgICAgIGZhaWx1cmVzIDw8ICR+LnBvc3RfbWF0Y2gu
dG9faQorICAgICAgICAgICAgbWQgPSBuYW1lX3JlLm1hdGNoKCIuLyN7ZmlsZW5hbWV9IikKKyAg
ICAgICAgICAgIG5leHQgdW5sZXNzIG1kCisgICAgICAgICAgICBGaWxlLm9wZW4oIiN7JHJ1bm5l
ckRpcn0vI3tmaWxlbmFtZX0iLCAiciIpIHsgfGZ8CisgICAgICAgICAgICAgICAgcnVuSWQsIF8s
IHJlc3VsdCA9IGYucmVhZC5jaG9tcC5zcGxpdCgnICcpCisgICAgICAgICAgICAgICAgaWYgcnVu
SWQgIT0gJHJ1blVuaXF1ZUlkCisgICAgICAgICAgICAgICAgICAgICMgV2UgY2xlYW4gdGhlIGRp
ciBiZWZvcmUgYSBzdGFydGluZyBhIHJ1bi4KKyAgICAgICAgICAgICAgICAgICAgcmFpc2UgIkNh
bid0IGhhcHBlbiIKKyAgICAgICAgICAgICAgICBlbmQKKyAgICAgICAgICAgICAgICBtYXBbbWRb
MV0udG9faV0gPSByZXN1bHQKKyAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgIGVuZAorICAg
IG1hcAorZW5kCiAKLSAgICBmYWlsdXJlU2V0ID0ge30KLQotICAgIGZhaWx1cmVzLmVhY2ggewot
ICAgICAgICB8IGZhaWx1cmUgfCAKLSAgICAgICAgYXBwZW5kRmFpbHVyZSgkcnVubGlzdFtmYWls
dXJlXSkKLSAgICAgICAgZmFpbHVyZVNldFtmYWlsdXJlXSA9IHRydWUKLSAgICB9Ci0KK2RlZiBk
ZXRlY3RGYWlsdXJlcworICAgIHJhaXNlIGlmICRidW5kbGUKKyAgICBub3Jlc3VsdCA9IDAKKyAg
ICBzdGF0dXNNYXAgPSBnZXRTdGF0dXNNYXAKICAgICBmYW1pbHlNYXAgPSB7fQorCiAgICAgJHJ1
bmxpc3QuZWFjaF93aXRoX2luZGV4IHsKICAgICAgICAgfCBwbGFuLCBpbmRleCB8CiAgICAgICAg
IHVubGVzcyBmYW1pbHlNYXBbcGxhbi5mYW1pbHldCiAgICAgICAgICAgICBmYW1pbHlNYXBbcGxh
bi5mYW1pbHldID0gW10KICAgICAgICAgZW5kCi0gICAgICAgIGlmIGZhaWx1cmVTZXRbaW5kZXhd
Ci0gICAgICAgICAgICBhcHBlbmRSZXN1bHQocGxhbiwgZmFsc2UpCi0gICAgICAgICAgICBmYW1p
bHlNYXBbcGxhbi5mYW1pbHldIDw8IHs6cmVzdWx0ID0+ICJGQUlMIiwgOnBsYW4gPT4gcGxhbn07
CisgICAgICAgIGlmIG5vdCBzdGF0dXNNYXAuaGFzX2tleT8oaW5kZXgpIG9yIHN0YXR1c01hcFtp
bmRleF0uaXNfYT8oQXJyYXkpCisgICAgICAgICAgICBhcHBlbmROb1Jlc3VsdChwbGFuKQorICAg
ICAgICAgICAgbm9yZXN1bHQgKz0gMQogICAgICAgICAgICAgbmV4dAorICAgICAgICBlbmQKKyAg
ICAgICAgcmVzdWx0ID0gbmlsCisgICAgICAgIGlmIHN0YXR1c01hcFtpbmRleF0gPT0gU1RBVFVT
X0ZJTEVfUEFTUworICAgICAgICAgICAgYXBwZW5kUGFzcyhwbGFuKQorICAgICAgICAgICAgcmVz
dWx0ID0gIlBBU1MiCiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIGFwcGVuZFJlc3VsdChwbGFu
LCB0cnVlKQotICAgICAgICAgICAgZmFtaWx5TWFwW3BsYW4uZmFtaWx5XSA8PCB7OnJlc3VsdCA9
PiAiUEFTUyIsIDpwbGFuID0+IHBsYW59OworICAgICAgICAgICAgYXBwZW5kRmFpbHVyZShwbGFu
KQorICAgICAgICAgICAgcmVzdWx0ID0gIkZBSUwiCiAgICAgICAgIGVuZAotICAgICAgICBhcHBl
bmRQYXNzKHBsYW4pCisgICAgICAgIGFwcGVuZFJlc3VsdChwbGFuLCBzdGF0dXNNYXBbaW5kZXhd
ID09IFNUQVRVU19GSUxFX1BBU1MpCisgICAgICAgIGZhbWlseU1hcFtwbGFuLmZhbWlseV0gPDwg
ezpyZXN1bHQgPT4gcmVzdWx0LCA6cGxhbiA9PiBwbGFuIH0KICAgICB9CiAKKyAgICBpZiBub3Jl
c3VsdCA+IDAKKyAgICAgICAgJHN0ZGVyci5wdXRzKCJDb3VsZCBub3QgZ2V0IHRoZSBleGl0IHN0
YXR1cyBmb3IgI3tub3Jlc3VsdH0gdGVzdHMiKQorICAgICAgICAjIFdlIGNhbid0IGNoYW5nZSBv
dXIgZXhpdCBjb2RlLCBhcyBydW4tamF2YXNjcmlwdGNvcmUtdGVzdHMKKyAgICAgICAgIyBleHBl
Y3RzIDAgZXZlbiB3aGVuIHRoZXJlIGFyZSBmYWlsdXJlcy4KKyAgICBlbmQKKwogICAgIEZpbGUu
b3Blbigkb3V0cHV0RGlyICsgInJlc3VsdHNCeUZhbWlseSIsICJ3IikgewogICAgICAgICB8IG91
dHAgfAogICAgICAgICBmaXJzdCA9IHRydWUKQEAgLTIyNTksNyArMjMyMyw3IEBAIGRlZiBkZXRl
Y3RGYWlsdXJlcwogICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgIG91dHAucHV0cwog
ICAgICAgICAgICAgZW5kCi0gICAgICAgICAgICAKKwogICAgICAgICAgICAgb3V0cC5wcmludCAi
I3tmYW1pbHlOYW1lfToiCiAKICAgICAgICAgICAgIG51bVBhc3NlZCA9IDAKQEAgLTIyOTcsNiAr
MjM2MSw3IEBAIGVuZAogCiBjbGVhbigkb3V0cHV0RGlyICsgImZhaWxlZCIpCiBjbGVhbigkb3V0
cHV0RGlyICsgInBhc3NlZCIpCitjbGVhbigkb3V0cHV0RGlyICsgIm5vcmVzdWx0IikKIGNsZWFu
KCRvdXRwdXREaXIgKyAicmVzdWx0cyIpCiBjbGVhbigkb3V0cHV0RGlyICsgInJlc3VsdHNCeUZh
bWlseSIpCiBjbGVhbigkb3V0cHV0RGlyICsgIi52bSIpCmRpZmYgLS1naXQgYS9Ub29scy9TY3Jp
cHRzL3dlYmtpdHJ1YnkvanNjLXN0cmVzcy10ZXN0LXdyaXRlci1kZWZhdWx0LnJiIGIvVG9vbHMv
U2NyaXB0cy93ZWJraXRydWJ5L2pzYy1zdHJlc3MtdGVzdC13cml0ZXItZGVmYXVsdC5yYgppbmRl
eCAyOTRjZTIwZDI2ZTNiMGE3ZjEwOTg4ODAyNDlhOTAzMjZkZmJmMmQyLi5kMzkzMjg1MWY2MGNm
ZWM0MmY5NDExYTg0MjE2MGRkMzk5ZGUwODliIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dl
YmtpdHJ1YnkvanNjLXN0cmVzcy10ZXN0LXdyaXRlci1kZWZhdWx0LnJiCisrKyBiL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cnVieS9qc2Mtc3RyZXNzLXRlc3Qtd3JpdGVyLWRlZmF1bHQucmIKQEAgLTM3
LDcgKzM3LDcgQEAgZW5kCiBkZWYgc2lsZW50T3V0cHV0SGFuZGxlcgogICAgIFByb2MubmV3IHsK
ICAgICAgICAgfCBuYW1lIHwKLSAgICAgICAgIiB8ICIgKyBwaXBlQW5kUHJlZml4Q29tbWFuZCgo
UGF0aG5hbWUoIi4uIikgKyAobmFtZSArICIub3V0IikpLnRvX3MsIG5hbWUpCisgICAgICAgIHBp
cGVBbmRQcmVmaXhDb21tYW5kKChQYXRobmFtZSgiLi4iKSArIChuYW1lICsgIi5vdXQiKSkudG9f
cywgbmFtZSkKICAgICB9CiBlbmQKIApAQCAtNDUsMTggKzQ1LDI0IEBAIGVuZAogZGVmIG5vaXN5
T3V0cHV0SGFuZGxlcgogICAgIFByb2MubmV3IHsKICAgICAgICAgfCBuYW1lIHwKLSAgICAgICAg
IiB8IGNhdCA+ICIgKyBTaGVsbHdvcmRzLnNoZWxsZXNjYXBlKChQYXRobmFtZSgiLi4iKSArIChu
YW1lICsgIi5vdXQiKSkudG9fcykKKyAgICAgICAgImNhdCA+ICIgKyBTaGVsbHdvcmRzLnNoZWxs
ZXNjYXBlKChQYXRobmFtZSgiLi4iKSArIChuYW1lICsgIi5vdXQiKSkudG9fcykKICAgICB9CiBl
bmQKIAorZGVmIGdldEFuZFRlc3RFeGl0Q29kZShwbGFuLCBjb25kaXRpb24pCisgICAgPDwtRU9G
CisgICAgaWYgdGVzdCAiJGV4aXRDb2RlIiAje2NvbmRpdGlvbn0KK0VPRgorZW5kCisKICMgRXJy
b3IgaGFuZGxlciBmb3IgdGVzdHMgdGhhdCBmYWlsIGV4YWN0bHkgd2hlbiB0aGV5IHJldHVybiBu
b24temVybyBleGl0IHN0YXR1cy4KICMgVGhpcyBpcyB1c2VmdWwgd2hlbiBhIHRlc3QgaXMgZXhw
ZWN0ZWQgdG8gZmFpbC4KIGRlZiBzaW1wbGVFcnJvckhhbmRsZXIKICAgICBQcm9jLm5ldyB7CiAg
ICAgICAgIHwgb3V0cCwgcGxhbiB8Ci0gICAgICAgIG91dHAucHV0cyAiaWYgdGVzdCAtZSAje3Bs
YW4uZmFpbEZpbGV9IgorICAgICAgICBvdXRwLnB1dHMgZ2V0QW5kVGVzdEV4aXRDb2RlKHBsYW4s
ICItbmUgMCIpCiAgICAgICAgIG91dHAucHV0cyAidGhlbiIKLSAgICAgICAgb3V0cC5wdXRzICIg
ICAgKGVjaG8gRVJST1I6IFVuZXhwZWN0ZWQgZXhpdCBjb2RlOiBgY2F0ICN7cGxhbi5mYWlsRmls
ZX1gKSB8ICIgKyByZWRpcmVjdEFuZFByZWZpeENvbW1hbmQocGxhbi5uYW1lKQorICAgICAgICBv
dXRwLnB1dHMgIiAgICAoZWNobyBFUlJPUjogVW5leHBlY3RlZCBleGl0IGNvZGU6ICRleGl0Q29k
ZSkgfCAiICsgcmVkaXJlY3RBbmRQcmVmaXhDb21tYW5kKHBsYW4ubmFtZSkKICAgICAgICAgb3V0
cC5wdXRzICIgICAgIiArIHBsYW4uZmFpbENvbW1hbmQKICAgICAgICAgb3V0cC5wdXRzICJlbHNl
IgogICAgICAgICBvdXRwLnB1dHMgIiAgICAiICsgcGxhbi5zdWNjZXNzQ29tbWFuZApAQCAtNjgs
NyArNzQsNyBAQCBlbmQKIGRlZiBleHBlY3RlZEZhaWxFcnJvckhhbmRsZXIKICAgICBQcm9jLm5l
dyB7CiAgICAgICAgIHwgb3V0cCwgcGxhbiB8Ci0gICAgICAgIG91dHAucHV0cyAiaWYgdGVzdCAt
ZSAje3BsYW4uZmFpbEZpbGV9IgorICAgICAgICBvdXRwLnB1dHMgZ2V0QW5kVGVzdEV4aXRDb2Rl
KHBsYW4sICItbmUgMCIpCiAgICAgICAgIG91dHAucHV0cyAidGhlbiIKICAgICAgICAgb3V0cC5w
dXRzICIgICAgIiArIHBsYW4uc3VjY2Vzc0NvbW1hbmQKICAgICAgICAgb3V0cC5wdXRzICJlbHNl
IgpAQCAtODQsMTAgKzkwLDEwIEBAIGRlZiBub2lzeUVycm9ySGFuZGxlcgogICAgIFByb2MubmV3
IHsKICAgICAgICAgfCBvdXRwLCBwbGFuIHwKICAgICAgICAgb3V0cHV0RmlsZW5hbWUgPSBTaGVs
bHdvcmRzLnNoZWxsZXNjYXBlKChQYXRobmFtZSgiLi4iKSArIChwbGFuLm5hbWUgKyAiLm91dCIp
KS50b19zKQotICAgIAotICAgICAgICBvdXRwLnB1dHMgImlmIHRlc3QgLWUgI3twbGFuLmZhaWxG
aWxlfSIKKworICAgICAgICBvdXRwLnB1dHMgZ2V0QW5kVGVzdEV4aXRDb2RlKHBsYW4sICItbmUg
MCIpCiAgICAgICAgIG91dHAucHV0cyAidGhlbiIKLSAgICAgICAgb3V0cC5wdXRzICIgICAgKGNh
dCAje291dHB1dEZpbGVuYW1lfSAmJiBlY2hvIEVSUk9SOiBVbmV4cGVjdGVkIGV4aXQgY29kZTog
YGNhdCAje3BsYW4uZmFpbEZpbGV9YCkgfCAiICsgcmVkaXJlY3RBbmRQcmVmaXhDb21tYW5kKHBs
YW4ubmFtZSkKKyAgICAgICAgb3V0cC5wdXRzICIgICAgKGNhdCAje291dHB1dEZpbGVuYW1lfSAm
JiBlY2hvIEVSUk9SOiBVbmV4cGVjdGVkIGV4aXQgY29kZTogJGV4aXRDb2RlKSB8ICIgKyByZWRp
cmVjdEFuZFByZWZpeENvbW1hbmQocGxhbi5uYW1lKQogICAgICAgICBvdXRwLnB1dHMgIiAgICAi
ICsgcGxhbi5mYWlsQ29tbWFuZAogICAgICAgICBvdXRwLnB1dHMgImVsc2UiCiAgICAgICAgIG91
dHAucHV0cyAiICAgICIgKyBwbGFuLnN1Y2Nlc3NDb21tYW5kCkBAIC0xMDEsMTAgKzEwNywxMCBA
QCBkZWYgZGlmZkVycm9ySGFuZGxlcihleHBlY3RlZEZpbGVuYW1lKQogICAgICAgICB8IG91dHAs
IHBsYW4gfAogICAgICAgICBvdXRwdXRGaWxlbmFtZSA9IFNoZWxsd29yZHMuc2hlbGxlc2NhcGUo
KFBhdGhuYW1lKCIuLiIpICsgKHBsYW4ubmFtZSArICIub3V0IikpLnRvX3MpCiAgICAgICAgIGRp
ZmZGaWxlbmFtZSA9IFNoZWxsd29yZHMuc2hlbGxlc2NhcGUoKFBhdGhuYW1lKCIuLiIpICsgKHBs
YW4ubmFtZSArICIuZGlmZiIpKS50b19zKQotICAgICAgICAKLSAgICAgICAgb3V0cC5wdXRzICJp
ZiB0ZXN0IC1lICN7cGxhbi5mYWlsRmlsZX0iCisKKyAgICAgICAgb3V0cC5wdXRzIGdldEFuZFRl
c3RFeGl0Q29kZShwbGFuLCAiLW5lIDAiKQogICAgICAgICBvdXRwLnB1dHMgInRoZW4iCi0gICAg
ICAgIG91dHAucHV0cyAiICAgIChjYXQgI3tvdXRwdXRGaWxlbmFtZX0gJiYgZWNobyBFUlJPUjog
VW5leHBlY3RlZCBleGl0IGNvZGU6IGBjYXQgI3twbGFuLmZhaWxGaWxlfWApIHwgIiArIHJlZGly
ZWN0QW5kUHJlZml4Q29tbWFuZChwbGFuLm5hbWUpCisgICAgICAgIG91dHAucHV0cyAiICAgIChj
YXQgI3tvdXRwdXRGaWxlbmFtZX0gJiYgZWNobyBFUlJPUjogVW5leHBlY3RlZCBleGl0IGNvZGU6
ICRleGl0Q29kZSkgfCAiICsgcmVkaXJlY3RBbmRQcmVmaXhDb21tYW5kKHBsYW4ubmFtZSkKICAg
ICAgICAgb3V0cC5wdXRzICIgICAgIiArIHBsYW4uZmFpbENvbW1hbmQKICAgICAgICAgb3V0cC5w
dXRzICJlbGlmIHRlc3QgLWUgLi4vI3tTaGVsbHdvcmRzLnNoZWxsZXNjYXBlKGV4cGVjdGVkRmls
ZW5hbWUpfSIKICAgICAgICAgb3V0cC5wdXRzICJ0aGVuIgpAQCAtMTMwLDkgKzEzNiw5IEBAIGRl
ZiBtb3ppbGxhRXJyb3JIYW5kbGVyCiAgICAgICAgIHwgb3V0cCwgcGxhbiB8CiAgICAgICAgIG91
dHB1dEZpbGVuYW1lID0gU2hlbGx3b3Jkcy5zaGVsbGVzY2FwZSgoUGF0aG5hbWUoIi4uIikgKyAo
cGxhbi5uYW1lICsgIi5vdXQiKSkudG9fcykKIAotICAgICAgICBvdXRwLnB1dHMgImlmIHRlc3Qg
LWUgI3twbGFuLmZhaWxGaWxlfSIKKyAgICAgICAgb3V0cC5wdXRzIGdldEFuZFRlc3RFeGl0Q29k
ZShwbGFuLCAiLW5lIDAiKQogICAgICAgICBvdXRwLnB1dHMgInRoZW4iCi0gICAgICAgIG91dHAu
cHV0cyAiICAgIChjYXQgI3tvdXRwdXRGaWxlbmFtZX0gJiYgZWNobyBFUlJPUjogVW5leHBlY3Rl
ZCBleGl0IGNvZGU6IGBjYXQgI3twbGFuLmZhaWxGaWxlfWApIHwgIiArIHJlZGlyZWN0QW5kUHJl
Zml4Q29tbWFuZChwbGFuLm5hbWUpCisgICAgICAgIG91dHAucHV0cyAiICAgIChjYXQgI3tvdXRw
dXRGaWxlbmFtZX0gJiYgZWNobyBFUlJPUjogVW5leHBlY3RlZCBleGl0IGNvZGU6ICRleGl0Q29k
ZSkgfCAiICsgcmVkaXJlY3RBbmRQcmVmaXhDb21tYW5kKHBsYW4ubmFtZSkKICAgICAgICAgb3V0
cC5wdXRzICIgICAgIiArIHBsYW4uZmFpbENvbW1hbmQKICAgICAgICAgb3V0cC5wdXRzICJlbGlm
IGdyZXAgLWkgLXEgZmFpbGVkISAje291dHB1dEZpbGVuYW1lfSIKICAgICAgICAgb3V0cC5wdXRz
ICJ0aGVuIgpAQCAtMTUxLDcgKzE1Nyw3IEBAIGRlZiBtb3ppbGxhRmFpbEVycm9ySGFuZGxlcgog
ICAgICAgICB8IG91dHAsIHBsYW4gfAogICAgICAgICBvdXRwdXRGaWxlbmFtZSA9IFNoZWxsd29y
ZHMuc2hlbGxlc2NhcGUoKFBhdGhuYW1lKCIuLiIpICsgKHBsYW4ubmFtZSArICIub3V0IikpLnRv
X3MpCiAKLSAgICAgICAgb3V0cC5wdXRzICJpZiB0ZXN0IC1lICN7cGxhbi5mYWlsRmlsZX0iCisg
ICAgICAgIG91dHAucHV0cyBnZXRBbmRUZXN0RXhpdENvZGUocGxhbiwgIi1uZSAwIikKICAgICAg
ICAgb3V0cC5wdXRzICJ0aGVuIgogICAgICAgICBvdXRwLnB1dHMgIiAgICAiICsgcGxhbi5zdWNj
ZXNzQ29tbWFuZAogICAgICAgICBvdXRwLnB1dHMgImVsaWYgZ3JlcCAtaSAtcSBmYWlsZWQhICN7
b3V0cHV0RmlsZW5hbWV9IgpAQCAtMTcxLDkgKzE3Nyw5IEBAIGRlZiBtb3ppbGxhRXhpdDNFcnJv
ckhhbmRsZXIKICAgICAgICAgfCBvdXRwLCBwbGFuIHwKICAgICAgICAgb3V0cHV0RmlsZW5hbWUg
PSBTaGVsbHdvcmRzLnNoZWxsZXNjYXBlKChQYXRobmFtZSgiLi4iKSArIChwbGFuLm5hbWUgKyAi
Lm91dCIpKS50b19zKQogCi0gICAgICAgIG91dHAucHV0cyAiaWYgdGVzdCAtZSAje3BsYW4uZmFp
bEZpbGV9IgorICAgICAgICBvdXRwLnB1dHMgZ2V0QW5kVGVzdEV4aXRDb2RlKHBsYW4sICItbmUg
MCIpCiAgICAgICAgIG91dHAucHV0cyAidGhlbiIKLSAgICAgICAgb3V0cC5wdXRzICIgICAgaWYg
WyBgY2F0ICN7cGxhbi5mYWlsRmlsZX1gIC1lcSAzIF0iCisgICAgICAgIG91dHAucHV0cyAiICAg
IGlmIFsgXCIkZXhpdENvZGVcIiAtZXEgMyBdIgogICAgICAgICBvdXRwLnB1dHMgIiAgICB0aGVu
IgogICAgICAgICBvdXRwLnB1dHMgIiAgICAgICAgaWYgZ3JlcCAtaSAtcSBmYWlsZWQhICN7b3V0
cHV0RmlsZW5hbWV9IgogICAgICAgICBvdXRwLnB1dHMgIiAgICAgICAgdGhlbiIKQEAgLTE4Myw3
ICsxODksNyBAQCBkZWYgbW96aWxsYUV4aXQzRXJyb3JIYW5kbGVyCiAgICAgICAgIG91dHAucHV0
cyAiICAgICAgICAgICAgIiArIHBsYW4uc3VjY2Vzc0NvbW1hbmQKICAgICAgICAgb3V0cC5wdXRz
ICIgICAgICAgIGZpIgogICAgICAgICBvdXRwLnB1dHMgIiAgICBlbHNlIgotICAgICAgICBvdXRw
LnB1dHMgIiAgICAgICAgKGNhdCAje291dHB1dEZpbGVuYW1lfSAmJiBlY2hvIEVSUk9SOiBVbmV4
cGVjdGVkIGV4aXQgY29kZTogYGNhdCAje3BsYW4uZmFpbEZpbGV9YCkgfCAiICsgcmVkaXJlY3RB
bmRQcmVmaXhDb21tYW5kKHBsYW4ubmFtZSkKKyAgICAgICAgb3V0cC5wdXRzICIgICAgICAgIChj
YXQgI3tvdXRwdXRGaWxlbmFtZX0gJiYgZWNobyBFUlJPUjogVW5leHBlY3RlZCBleGl0IGNvZGU6
ICRleGl0Q29kZSkgfCAiICsgcmVkaXJlY3RBbmRQcmVmaXhDb21tYW5kKHBsYW4ubmFtZSkKICAg
ICAgICAgb3V0cC5wdXRzICIgICAgICAgICIgKyBwbGFuLmZhaWxDb21tYW5kCiAgICAgICAgIG91
dHAucHV0cyAiICAgIGZpIgogICAgICAgICBvdXRwLnB1dHMgImVsc2UiCkBAIC0yMDAsOSArMjA2
LDkgQEAgZGVmIGNoYWtyYVBhc3NGYWlsRXJyb3JIYW5kbGVyCiAgICAgICAgIHwgb3V0cCwgcGxh
biB8CiAgICAgICAgIG91dHB1dEZpbGVuYW1lID0gU2hlbGx3b3Jkcy5zaGVsbGVzY2FwZSgoUGF0
aG5hbWUoIi4uIikgKyAocGxhbi5uYW1lICsgIi5vdXQiKSkudG9fcykKIAotICAgICAgICBvdXRw
LnB1dHMgImlmIHRlc3QgLWUgI3twbGFuLmZhaWxGaWxlfSIKKyAgICAgICAgb3V0cC5wdXRzIGdl
dEFuZFRlc3RFeGl0Q29kZShwbGFuLCAiLW5lIDAiKQogICAgICAgICBvdXRwLnB1dHMgInRoZW4i
Ci0gICAgICAgIG91dHAucHV0cyAiICAgIChjYXQgI3tvdXRwdXRGaWxlbmFtZX0gJiYgZWNobyBF
UlJPUjogVW5leHBlY3RlZCBleGl0IGNvZGU6IGBjYXQgI3twbGFuLmZhaWxGaWxlfWApIHwgIiAr
IHJlZGlyZWN0QW5kUHJlZml4Q29tbWFuZChwbGFuLm5hbWUpCisgICAgICAgIG91dHAucHV0cyAi
ICAgIChjYXQgI3tvdXRwdXRGaWxlbmFtZX0gJiYgZWNobyBFUlJPUjogVW5leHBlY3RlZCBleGl0
IGNvZGU6ICRleGl0Q29kZSkgfCAiICsgcmVkaXJlY3RBbmRQcmVmaXhDb21tYW5kKHBsYW4ubmFt
ZSkKICAgICAgICAgb3V0cC5wdXRzICIgICAgIiArIHBsYW4uZmFpbENvbW1hbmQKICAgICAgICAg
b3V0cC5wdXRzICJlbGlmIGdyZXAgLWkgLXEgRkFJTEVEICN7b3V0cHV0RmlsZW5hbWV9IgogICAg
ICAgICBvdXRwLnB1dHMgInRoZW4iCkBAIC0yNjIsMjUgKzI2OCwyOSBAQCBjbGFzcyBQbGFuCiAg
ICAgICAgIHNjcmlwdCArPSAiI3tzaGVsbENvbW1hbmR9IHx8IGV4aXQgMSIKICAgICAgICAgImVj
aG8gI3tTaGVsbHdvcmRzLnNoZWxsZXNjYXBlKHNjcmlwdCl9ID4gI3tTaGVsbHdvcmRzLnNoZWxs
ZXNjYXBlKChQYXRobmFtZS5uZXcoIi4uIikgKyBAbmFtZSkudG9fcyl9IgogICAgIGVuZAotICAg
IAorCisgICAgZGVmIHN0YXR1c0NvbW1hbmQoc3RhdHVzKQorICAgICAgICAiZWNobyAjeyRydW5V
bmlxdWVJZH0gJGV4aXRDb2RlICN7c3RhdHVzfSA+ICN7c3RhdHVzRmlsZX0iCisgICAgZW5kCisK
ICAgICBkZWYgZmFpbENvbW1hbmQKLSAgICAgICAgImVjaG8gRkFJTDogI3tTaGVsbHdvcmRzLnNo
ZWxsZXNjYXBlKEBuYW1lKX0gOyB0b3VjaCAje2ZhaWxGaWxlfSA7ICIgKyByZXByb1NjcmlwdENv
bW1hbmQKKyAgICAgICAgIiN7c3RhdHVzQ29tbWFuZChTVEFUVVNfRklMRV9GQUlMKX07IGVjaG8g
RkFJTDogI3tTaGVsbHdvcmRzLnNoZWxsZXNjYXBlKEBuYW1lKX07ICIgKyByZXByb1NjcmlwdENv
bW1hbmQKICAgICBlbmQKICAgICAKICAgICBkZWYgc3VjY2Vzc0NvbW1hbmQKKyAgICAgICAgY29t
bWFuZCA9ICIiCiAgICAgICAgIGV4ZWN1dGlvblRpbWVNZXNzYWdlID0gIiIKICAgICAgICAgaWYg
JHJlcG9ydEV4ZWN1dGlvblRpbWUKICAgICAgICAgICAgIGV4ZWN1dGlvblRpbWVNZXNzYWdlID0g
IiAkKCgkU0VDT05EUyAtICRTVEFSVF9USU1FKSlzIgogICAgICAgICBlbmQKICAgICAgICAgaWYg
JHByb2dyZXNzTWV0ZXIgb3IgJHJlcG9ydEV4ZWN1dGlvblRpbWUgb3IgJHZlcmJvc2l0eSA+PSAy
Ci0gICAgICAgICAgICAicm0gLWYgI3tmYWlsRmlsZX0gOyBlY2hvIFBBU1M6ICN7U2hlbGx3b3Jk
cy5zaGVsbGVzY2FwZShAbmFtZSl9I3tleGVjdXRpb25UaW1lTWVzc2FnZX0iCi0gICAgICAgIGVs
c2UKLSAgICAgICAgICAgICJybSAtZiAje2ZhaWxGaWxlfSIKKyAgICAgICAgICAgIGNvbW1hbmQg
PSAiZWNobyBQQVNTOiAje1NoZWxsd29yZHMuc2hlbGxlc2NhcGUoQG5hbWUpfSN7ZXhlY3V0aW9u
VGltZU1lc3NhZ2V9IgogICAgICAgICBlbmQKKyAgICAgICAgIiN7c3RhdHVzQ29tbWFuZChTVEFU
VVNfRklMRV9QQVNTKX07ICN7Y29tbWFuZH0iCiAgICAgZW5kCiAgICAgCi0gICAgZGVmIGZhaWxG
aWxlCi0gICAgICAgICJ0ZXN0X2ZhaWxfI3tAaW5kZXh9IgorICAgIGRlZiBzdGF0dXNGaWxlCisg
ICAgICAgICIje1NUQVRVU19GSUxFX1BSRUZJWH0je0BpbmRleH0iCiAgICAgZW5kCiAgICAgCiAg
ICAgZGVmIHdyaXRlUnVuU2NyaXB0KGZpbGVuYW1lKQpAQCAtMjkwLDggKzMwMCwzMSBAQCBjbGFz
cyBQbGFuCiAgICAgICAgICAgICAgICAgb3V0cC5wdXRzICJTVEFSVF9USU1FPSRTRUNPTkRTIgog
ICAgICAgICAgICAgZW5kCiAgICAgICAgICAgICBvdXRwLnB1dHMgImVjaG8gUnVubmluZyAje1No
ZWxsd29yZHMuc2hlbGxlc2NhcGUoQG5hbWUpfSIKLSAgICAgICAgICAgIGNtZCAgPSAiKCIgKyBz
aGVsbENvbW1hbmQgKyAiIHx8IChlY2hvICQ/ID4gI3tmYWlsRmlsZX0pKSAyPiYxICIKLSAgICAg
ICAgICAgIGNtZCArPSBAb3V0cHV0SGFuZGxlci5jYWxsKEBuYW1lKQorICAgICAgICAgICAgIyBG
cm9tIHRoZSB0b3AgZG93biAoaS5lLiByZWFkaW5nIGZyb20gdGhlIG91dGVyIGV4cHJlc3Npb24g
aW53YXJkcyk6CisgICAgICAgICAgICAjCisgICAgICAgICAgICAjIC0gUmVkaXJlY3QgRkQgNCB0
byBvdXIgc3Rkb3V0CisgICAgICAgICAgICAjCisgICAgICAgICAgICAjIC0gQnVpbGQgYSBwaXBl
IG9mIHR3byBjb21tYW5kIHNlcXVlbmNlcy4gVGhlCisgICAgICAgICAgICAjICAgcmlnaHQtaGFu
ZC1zaWRlIHNlcXVlbmNlIHJlYWRzIGEgbnVtYmVyIGZyb20gc3RkaW4gYW5kCisgICAgICAgICAg
ICAjICAgZXhpdHMgd2l0aCBpdC4gU2luY2UgaXQncyB0aGUgbGFzdCBjb21tYW5kIGluIHRoZQor
ICAgICAgICAgICAgIyAgIHBpcGVsaW5lLCB0aGlzIHdpbGwgYmUgdGhlIHZhbHVlIG9mICQ/IGFm
dGVyIHRoZQorICAgICAgICAgICAgIyAgIHBpcGVsaW5lIGNvbXBsZXRlcy4KKyAgICAgICAgICAg
ICMKKyAgICAgICAgICAgICMgLSBJbiB0aGUgbGVmdC1oYW5kLXNpZGUgc2VxdWVuY2UsIHJlZGly
ZWN0IEZEIDMgdG8gRkQgMS4KKyAgICAgICAgICAgICMKKyAgICAgICAgICAgICMgLSBCdWlsZCBh
IHBpcGUgb2YgdHdvIGNvbW1hbmRzCisgICAgICAgICAgICAjICAgLSBydW4gc2hlbGxDb21tYW5k
LCB3cml0aW5nIGl0cyBleGl0IGNvZGUgdG8gRkQgMy4KKyAgICAgICAgICAgICMgICAtIHJ1biB0
aGUgb3V0cHV0SGFuZGxlciwgd2l0aCBpdHMgc3RkaW4gY29taW5nIGZyb20KKyAgICAgICAgICAg
ICMgICAgIHRoZSBwaXBlLCByZWRpcmVjdGluZyBpdHMgb3V0cHV0IHRvIEZEIDQuIFRoZQorICAg
ICAgICAgICAgIyAgICAgb3V0cHV0SGFuZGxlciBuZWVkcyB0byBiZSBpbiBhIGNvbW1hbmQgc2Vx
dWVuY2UKKyAgICAgICAgICAgICMgICAgIChpLmUuIGluIHsgY21kOyAuLi59KSBhcyBpdCBtYXkg
ZG8gaXRzIG93bgorICAgICAgICAgICAgIyAgICAgcmVkaXJlY3Rpb25zLgorICAgICAgICAgICAg
IworICAgICAgICAgICAgIyBXZSBkbyBhbGwgdGhpcworICAgICAgICAgICAgIyAtIHRvIGF2b2lk
IGhhdmluZyB0byB1c2UgYSB0ZW1wb3JhcnkgZmlsZSBmb3IgdGhlIGV4aXQgY29kZQorICAgICAg
ICAgICAgIyAtIHRvIGtlZXAgd2l0aGluIHRoZSBib3VuZHMgb2YgUE9TSVggc2ggKGkuZS4gY2Fu
J3QgdXNlCisgICAgICAgICAgICAjICAgUElQRVNUQVRVUykKKyAgICAgICAgICAgIGNtZCA9ICJ7
IHsgeyB7ICN7c2hlbGxDb21tYW5kfTsgZWNobyAkPyA+JjM7IH0gfCB7ICN7b3V0cHV0SGFuZGxl
ci5jYWxsKEBuYW1lKX0gO30gPiY0OyB9IDM+JjE7IH0gfCB7IHJlYWQgeHM7IGV4aXQgJHhzOyB9
IH0gND4mMVxuZXhpdENvZGU9JD9cbiIKICAgICAgICAgICAgIGlmICR2ZXJib3NpdHkgPj0gMwog
ICAgICAgICAgICAgICAgIG91dHAucHV0cyAiZWNobyAje1NoZWxsd29yZHMuc2hlbGxlc2NhcGUo
Y21kKX0iCiAgICAgICAgICAgICBlbmQK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>427342</attachid>
            <date>2021-04-29 06:27:42 -0700</date>
            <delta_ts>2021-05-05 01:20:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-222601-20210429132741.patch</filename>
            <type>text/plain</type>
            <size>27303</size>
            <attacher name="Angelos Oikonomopoulos">angelos</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjczMzg0CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNjE4N2U5NDAzMzE2MmJmNjMzMWY4NDQwMmQxYWIyZGI0
ZjllMTIyNy4uNDQwN2QwYjhiOWZlMmQ0YTZmOWM4MzQ3YzhkMzk3MjEwN2JlOTI0NiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1
IEBACisyMDIxLTAzLTAyICBBbmdlbG9zIE9pa29ub21vcG91bG9zICA8YW5nZWxvc0BpZ2FsaWEu
Y29tPgorCisgICAgICAgIFtKU0NdIGRldGVjdCBpbmZyYXN0cnVjdHVyZSBmYWlsdXJlIGZvciBy
ZW1vdGUgc3RyZXNzIHRlc3RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMjI2MDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBydW4tanNjLXN0cmVzcy10ZXN0cyBjdXJyZW50bHkgZGV0ZWN0cyBmYWlsdXJl
cyBieSB0aGUgYWJzZW5jZSBvZgorICAgICAgICBhIGZhaWx1cmUgZmlsZSAodGhhdCBpcyBnZW5l
cmF0ZWQgYnkgZWFjaCBmYWlsaW5nIHRlc3QpLiBUaGlzIGlzCisgICAgICAgIGZyYWdpbGUgdG8g
YmVnaW4gd2l0aCwgYXMgaXQgYXNzdW1lcyB0aGF0IHRlc3RzIHRoYXQgZmFpbCB0byBydW4KKyAg
ICAgICAgKGUuZy4gYmVjYXVzZSBvZiBhbiBlcnJvciBpbiB0aGUgcnVubmVyIHNjcmlwdCkgYXJl
IHN1Y2Nlc3NmdWwgYnkKKyAgICAgICAgZGVmYXVsdC4KKworICAgICAgICBIb3dldmVyLCB0aGUg
bWFpbiBtb3RpdmF0aW9uIGZvciB0aGlzIHBhdGNoIGlzIHRvIG1ha2UgZXhlY3V0aW9uCisgICAg
ICAgIG1vcmUgcm9idXN0IHdoZW4gdXNpbmcgcmVtb3RlIGhvc3RzLiBDdXJyZW50bHksCisgICAg
ICAgIC0tZ251LXBhcmFsbGVsLXJ1bm5lciB3aWxsIHRyYW5zcGFyZW50bHkgcmVzY2hlZHVsZSBq
b2JzIG9uIGEKKyAgICAgICAgZGlmZmVyZW50IGhvc3Qgd2hlbiBhIHJlbW90ZSBob3N0IGdvZXMg
YXdheS4gQnV0IGRldGVjdEZhaWx1cmVzCisgICAgICAgIGV4cGVjdHMgdG8gYmUgYWJsZSB0byBj
b25uZWN0IHRvIGFsbCBob3N0cyBhbmQgZmV0Y2ggdGhlIGZhaWx1cmUKKyAgICAgICAgZmlsZXMs
IHdoaWNoIGZhaWxzIGlmIGEgcmVtb3RlIGhvc3QgaXMgc3RpbGwgZG93biB3aGVuIHRoZSBydW4K
KyAgICAgICAgZmluaXNoZXMuCisKKyAgICAgICAgSW5zdGVhZCwgdGhpcyBwYXRjaCBjaGFuZ2Vz
IHRoZSBydW5uZXJzIHRvIGFsd2F5cyBnZW5lcmF0ZSBhIHN0YXR1cworICAgICAgICBmaWxlIHdp
dGggdGhlIGV4aXQgY29kZS4gZGV0ZWN0RmFpbHVyZXMgdGhlbiBmZXRjaGVzIGFsbCBzdGF0dXMK
KyAgICAgICAgZmlsZXMgZnJvbSBhbGwgaG9zdHMgdGhhdCBhcmUgbGl2ZSBvbiBleGl0LiBUZXN0
cyB0aGF0IGZhaWxlZCB0bworICAgICAgICBydW4gYXJlIGV4cGxpY2l0bHkgYWNjb3VudGVkIGZv
ciBhcyAnbm9yZXBvcnQnIGFuZCBhcmUgc2V0IHRvCisgICAgICAgIEVSUk9SIGluIHRoZSBmaW5h
bCByZXBvcnQuCisKKyAgICAgICAgKiBTY3JpcHRzL3J1bi1qYXZhc2NyaXB0Y29yZS10ZXN0czoK
KyAgICAgICAgKHJ1bkpTQ1N0cmVzc1Rlc3RzKToKKyAgICAgICAgKiBTY3JpcHRzL3J1bi1qc2Mt
c3RyZXNzLXRlc3RzOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cnVieS9qc2Mtc3RyZXNzLXRl
c3Qtd3JpdGVyLWRlZmF1bHQucmI6CisKIDIwMjEtMDItMjQgIERvbiBPbG1zdGVhZCAgPGRvbi5v
bG1zdGVhZEBzb255LmNvbT4KIAogICAgICAgICBPbmx5IGltcG9ydCBQeXRob24gZmxhdHBhayBt
b2R1bGUgb24gTGludXgKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvcnVuLWphdmFzY3JpcHRj
b3JlLXRlc3RzIGIvVG9vbHMvU2NyaXB0cy9ydW4tamF2YXNjcmlwdGNvcmUtdGVzdHMKaW5kZXgg
NDZkOTIxNzg4NDczZGViZjIwNGVkMzRlZjJmMzRjNTlmYjcyYzg3NC4uNWNkNjk4ZjYxZGMwMTk5
MWFjMWQxNWMzMjU2YzYzZjg4MWJjMzdlOSAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy9ydW4t
amF2YXNjcmlwdGNvcmUtdGVzdHMKKysrIGIvVG9vbHMvU2NyaXB0cy9ydW4tamF2YXNjcmlwdGNv
cmUtdGVzdHMKQEAgLTkxOCw5ICs5MTgsMjAgQEAgc3ViIHJ1bkpTQ1N0cmVzc1Rlc3RzCiAgICAg
fQogICAgIHByaW50ICJcbiI7CiAKKyAgICBteSBAanNjU3RyZXNzTm9SZXN1bHRMaXN0ID0gcmVh
ZEFsbExpbmVzKCRqc2NTdHJlc3NSZXN1bHRzRGlyIC4gIi9ub3Jlc3VsdCIpOworICAgIG15ICRu
dW1KU0NTdHJlc3NOb1Jlc3VsdFRlc3RzID0gQGpzY1N0cmVzc05vUmVzdWx0TGlzdDsKKworICAg
IGlmICgkbnVtSlNDU3RyZXNzTm9SZXN1bHRUZXN0cykgeworICAgICAgICAkaXNUZXN0RmFpbGVk
ID0gMTsKKyAgICB9CisgICAgZm9yZWFjaCBteSAkdGVzdE5vUmVzdWx0IChAanNjU3RyZXNzTm9S
ZXN1bHRMaXN0KSB7CisgICAgICAgICAgICAkcmVwb3J0RGF0YXskdGVzdE5vUmVzdWx0fSA9IHth
Y3R1YWwgPT4gIkVSUk9SIn07CisgICAgfQorCiAgICAgcHJpbnQgIlJlc3VsdHMgZm9yIEpTQyBz
dHJlc3MgdGVzdHM6XG4iOwogICAgIHByaW50VGhpbmdzRm91bmQoJG51bUpTQ1N0cmVzc0ZhaWx1
cmVzLCAiZmFpbHVyZSIsICJmYWlsdXJlcyIsICJmb3VuZCIpOwotICAgIHByaW50ICIgICAgT0su
XG4iIGlmICRudW1KU0NTdHJlc3NGYWlsdXJlcyA9PSAwOworICAgIHByaW50VGhpbmdzRm91bmQo
JG51bUpTQ1N0cmVzc05vUmVzdWx0VGVzdHMsICJ0ZXN0IiwgInRlc3RzIiwgImZhaWxlZCB0byBj
b21wbGV0ZSIpOworICAgIHByaW50ICIgICAgT0suXG4iIGlmICRudW1KU0NTdHJlc3NGYWlsdXJl
cyA9PSAwIGFuZCAkbnVtSlNDU3RyZXNzTm9SZXN1bHRUZXN0cyA9PSAwOwogCiAgICAgcHJpbnQg
IlxuIjsKIApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9ydW4tanNjLXN0cmVzcy10ZXN0cyBi
L1Rvb2xzL1NjcmlwdHMvcnVuLWpzYy1zdHJlc3MtdGVzdHMKaW5kZXggOWU2NDY1YzJlMDM3NWEx
OTBlNWFkYjIwMWRiOWIwZTUyNDdkYTk5Yy4uMzkzNzQ2MmEzYWZiNWQzNDFjZTg3Zjg3MGI5YWY1
YjBiM2Y1NDRiZSAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy9ydW4tanNjLXN0cmVzcy10ZXN0
cworKysgYi9Ub29scy9TY3JpcHRzL3J1bi1qc2Mtc3RyZXNzLXRlc3RzCkBAIC01Nyw2ICs1Nyw5
IEBAIHJhaXNlIHVubGVzcyBTQ1JJUFRTX1BBVEguYmFzZW5hbWUudG9fcyA9PSAiU2NyaXB0cyIK
IHJhaXNlIHVubGVzcyBTQ1JJUFRTX1BBVEguZGlybmFtZS5iYXNlbmFtZS50b19zID09ICJUb29s
cyIKIAogSEVMUEVSU19QQVRIID0gU0NSSVBUU19QQVRIICsgImpzYy1zdHJlc3MtdGVzdC1oZWxw
ZXJzIgorU1RBVFVTX0ZJTEVfUFJFRklYID0gInRlc3Rfc3RhdHVzXyIKK1NUQVRVU19GSUxFX1BB
U1MgPSAiUCIKK1NUQVRVU19GSUxFX0ZBSUwgPSAiRiIKIAogYmVnaW4KICAgICByZXF1aXJlICdz
aGVsbHdvcmRzJwpAQCAtMTM0LDYgKzEzNyw3IEBAICRmb3JjZUNvbGxlY3RDb250aW51b3VzbHkg
PSBmYWxzZQogJHJlcG9ydEV4ZWN1dGlvblRpbWUgPSBmYWxzZQogJGxkZCA9IG5pbAogJGFydGlm
YWN0X2V4ZWNfd3JhcHBlciA9IG5pbAorJHJ1blVuaXF1ZUlkID0gUmFuZG9tLm5ldy5ieXRlcygx
NikudW5wYWNrKCJIKiIpWzBdCiAKIGRlZiB1c2FnZQogICAgIHB1dHMgInJ1bi1qc2Mtc3RyZXNz
LXRlc3RzIC1qIDxzaGVsbCBwYXRoPiA8Y29sbGVjdGlvbnMgcGF0aD4gWzxjb2xsZWN0aW9ucyBw
YXRoPiAuLi5dIgpAQCAtNTM1LDkgKzUzOSw2IEBAIGlmICR0ZXN0V3JpdGVyCiAgICAgZW5kCiBl
bmQKIAotJG51bUZhaWx1cmVzID0gMAotJG51bVBhc3NlcyA9IDAKLQogIyBXZSBmb3JjZSBhbGwg
dGVzdHMgdG8gdXNlIGEgc21hbGxlciAoMS41TSkgc3RhY2sgc28gdGhhdCBzdGFjayBvdmVyZmxv
dyB0ZXN0cyBjYW4gcnVuIGZhc3Rlci4KIEJBU0VfT1BUSU9OUyA9IFsiLS11c2VGVExKSVQ9ZmFs
c2UiLCAiLS11c2VGdW5jdGlvbkRvdEFyZ3VtZW50cz10cnVlIiwgIi0tdmFsaWRhdGVFeGNlcHRp
b25DaGVja3M9dHJ1ZSIsICItLXVzZURvbGxhclZNPXRydWUiLCAiLS1tYXhQZXJUaHJlYWRTdGFj
a1VzYWdlPTE1NzI4NjQiXQogRUFHRVJfT1BUSU9OUyA9IFsiLS10aHJlc2hvbGRGb3JKSVRBZnRl
cldhcm1VcD0xMCIsICItLXRocmVzaG9sZEZvckpJVFNvb249MTAiLCAiLS10aHJlc2hvbGRGb3JP
cHRpbWl6ZUFmdGVyV2FybVVwPTIwIiwgIi0tdGhyZXNob2xkRm9yT3B0aW1pemVBZnRlckxvbmdX
YXJtVXA9MjAiLCAiLS10aHJlc2hvbGRGb3JPcHRpbWl6ZVNvb249MjAiLCAiLS10aHJlc2hvbGRG
b3JGVExPcHRpbWl6ZUFmdGVyV2FybVVwPTIwIiwgIi0tdGhyZXNob2xkRm9yRlRMT3B0aW1pemVT
b29uPTIwIiwgIi0tdGhyZXNob2xkRm9yT01HT3B0aW1pemVBZnRlcldhcm1VcD0yMCIsICItLXRo
cmVzaG9sZEZvck9NR09wdGltaXplU29vbj0yMCIsICItLW1heGltdW1FdmFsQ2FjaGVhYmxlU291
cmNlTGVuZ3RoPTE1MDAwMCIsICItLXVzZUVhZ2VyQ29kZUJsb2NrSmV0dGlzb25UaW1pbmc9dHJ1
ZSIsICItLXJlcGF0Y2hCdWZmZXJpbmdDb3VudGRvd249MCJdCkBAIC0xODE5LDcgKzE4MjAsNiBA
QCBkZWYgYXBwZW5kRmFpbHVyZShwbGFuKQogICAgICAgICB8IG91dHAgfAogICAgICAgICBvdXRw
LnB1dHMgcGxhbi5uYW1lCiAgICAgfQotICAgICRudW1GYWlsdXJlcyArPSAxCiBlbmQKIAogZGVm
IGFwcGVuZFBhc3MocGxhbikKQEAgLTE4MjcsNyArMTgyNywxMyBAQCBkZWYgYXBwZW5kUGFzcyhw
bGFuKQogICAgICAgICB8IG91dHAgfAogICAgICAgICBvdXRwLnB1dHMgcGxhbi5uYW1lCiAgICAg
fQotICAgICRudW1QYXNzZXMgKz0gMQorZW5kCisKK2RlZiBhcHBlbmROb1Jlc3VsdChwbGFuKQor
ICAgIEZpbGUub3Blbigkb3V0cHV0RGlyICsgIm5vcmVzdWx0IiwgImEiKSB7CisgICAgICAgIHwg
b3V0cCB8CisgICAgICAgIG91dHAucHV0cyBwbGFuLm5hbWUKKyAgICB9CiBlbmQKIAogZGVmIGFw
cGVuZFJlc3VsdChwbGFuLCBkaWRQYXNzKQpAQCAtMjAzNSw3ICsyMDQxLDcgQEAgZGVmIGNsZWFu
UnVubmVyRGlyZWN0b3J5CiAgICAgfQogZW5kCiAKLWRlZiBzc2hSZWFkKGNtZCwgcmVtb3RlSW5k
ZXg9MCkKK2RlZiBzc2hSZWFkKGNtZCwgcmVtb3RlSW5kZXg9MCwgb3B0aW9ucz17fSkKICAgICBy
YWlzZSB1bmxlc3MgJHJlbW90ZQogCiAgICAgcmVtb3RlSG9zdCA9ICRyZW1vdGVIb3N0c1tyZW1v
dGVJbmRleF0KQEAgLTIwNDgsNyArMjA1NCw3IEBAIGRlZiBzc2hSZWFkKGNtZCwgcmVtb3RlSW5k
ZXg9MCkKICAgICAgICAgcmVzdWx0ICs9IGxpbmUKICAgICAgIH0KICAgICB9Ci0gICAgcmFpc2Ug
IiN7JD99IiB1bmxlc3MgJD8uc3VjY2Vzcz8KKyAgICByYWlzZSAiI3skP30iIHVubGVzcyAkPy5z
dWNjZXNzPyBvciBvcHRpb25zWzppZ25vcmVGYWlsdXJlXQogICAgIHJlc3VsdAogZW5kCiAKQEAg
LTIyMDMsNTIgKzIyMDksMTEwIEBAIGRlZiBydW5UZXN0UnVubmVyKHJlbW90ZUluZGV4PTApCiAg
ICAgZW5kCiBlbmQKIAotZGVmIGRldGVjdEZhaWx1cmVzCi0gICAgcmFpc2UgaWYgJGJ1bmRsZQot
ICAgIGZhaWx1cmVzID0gW10KK2RlZiBnZXRTdGF0dXNNYXAKKyAgICBuYW1lX3JlID0gL15bLl1c
LyN7U1RBVFVTX0ZJTEVfUFJFRklYfShcZCspJC8KKyAgICBtYXAgPSB7fQogICAgIGlmICRyZW1v
dGUKICAgICAgICAgJHJlbW90ZUhvc3RzLmVhY2hfd2l0aF9pbmRleCB7CiAgICAgICAgICAgICB8
IGhvc3QsIHJlbW90ZUluZGV4IHwKLSAgICAgICAgICAgIG91dHB1dCA9IHNzaFJlYWQoImNkICN7
aG9zdC5yZW1vdGVEaXJlY3Rvcnl9LyN7JG91dHB1dERpci5iYXNlbmFtZX0vLnJ1bm5lciAmJiBm
aW5kIC4gLW1heGRlcHRoIDEgLW5hbWUgXCJ0ZXN0X2ZhaWxfKlwiIiwgcmVtb3RlSW5kZXgpCisg
ICAgICAgICAgICBvdXRwdXQgPSBzc2hSZWFkKCJjZCAje2hvc3QucmVtb3RlRGlyZWN0b3J5fS8j
eyRvdXRwdXREaXIuYmFzZW5hbWV9Ly5ydW5uZXIgJiYgZmluZCAuIC1tYXhkZXB0aCAxIC1uYW1l
IFwiI3tTVEFUVVNfRklMRV9QUkVGSVh9KlwiIC1leGVjIHNoIC1jIFwicHJpbnRmIFxcXCIlcyBc
XFwiIHt9OyBjYXQge31cIiBcXDsiLCByZW1vdGVJbmRleCwgOmlnbm9yZUZhaWx1cmUgPT4gdHJ1
ZSkKICAgICAgICAgICAgIG91dHB1dC5zcGxpdCgvXG4vKS5lYWNoIHsKICAgICAgICAgICAgICAg
ICB8IGxpbmUgfAotICAgICAgICAgICAgICAgIG5leHQgdW5sZXNzIGxpbmUgPX4gL3Rlc3RfZmFp
bF8vCi0gICAgICAgICAgICAgICAgZmFpbHVyZXMgPDwgJH4ucG9zdF9tYXRjaC50b19pCisgICAg
ICAgICAgICAgICAgbmFtZSwgcnVuX2lkLCBfLCByZXN1bHQgPSBsaW5lLnNwbGl0KCcgJykKKyAg
ICAgICAgICAgICAgICBtZCA9IG5hbWVfcmUubWF0Y2gobmFtZSkKKyAgICAgICAgICAgICAgICBp
ZiBtZC5uaWw/CisgICAgICAgICAgICAgICAgICAgICRzdGRlcnIucHV0cygiQ291bGQgbm90IHBh
cnNlIG5hbWUgaW4gYCN7bGluZX1gIikKKyAgICAgICAgICAgICAgICAgICAgZXhpdCgxKQorICAg
ICAgICAgICAgICAgIGVuZAorICAgICAgICAgICAgICAgIGlmIHJ1bl9pZCAhPSAkcnVuVW5pcXVl
SWQKKyAgICAgICAgICAgICAgICAgICAgIyBUaGlzIG1heSBjb25jZWl2YWJseSBoYXBwZW4gaWYg
YSByZW1vdGUgZ29lcworICAgICAgICAgICAgICAgICAgICAjIGF3YXkgaW4gdGhlIG1pZGRsZSBv
ZiBhIHJ1biBhbmQgY29tZXMgYmFjaworICAgICAgICAgICAgICAgICAgICAjIG9ubGluZSBpbiB0
aGUgbWlkZGxlIG9mIGEgZGlmZmVyZW50IHJ1bi4KKyAgICAgICAgICAgICAgICAgICAgJHN0ZGVy
ci5wdXRzKCJJZ25vcmluZyBzdGFsZSBzdGF0dXMgZmlsZSBmb3IgI3tuYW1lfSAoSUQgI3tydW5f
aWR9IGJ1dCBjdXJyZW50IElEIGlzICN7JHJ1blVuaXF1ZUlkfSkiKQorICAgICAgICAgICAgICAg
ICAgICBuZXh0CisgICAgICAgICAgICAgICAgZW5kCisgICAgICAgICAgICAgICAgaW5kZXggPSBt
ZFsxXS50b19pCisgICAgICAgICAgICAgICAgaWYgbWFwLmhhc19rZXk/KGluZGV4KQorICAgICAg
ICAgICAgICAgICAgICAkc3RkZXJyLnB1dHMoIkR1cGxpY2F0ZSBzdGF0ZSBmaWxlIGZvciAje2lu
ZGV4fSIpCisgICAgICAgICAgICAgICAgICAgICMgT25lIHNjZW5hcmlvIGluIHdoaWNoIHRoaXMg
Y291bGQgaGFwcGVuOgorICAgICAgICAgICAgICAgICAgICAjIFRlc3QgVCBydW5zIG9uIHJlbW90
ZSBob3N0IEEgYW5kCisgICAgICAgICAgICAgICAgICAgICMgICAxLiB0aGUgc3RhdHVzIGZpbGUg
cmVhY2hlcyBBJ3MgZGlzaworICAgICAgICAgICAgICAgICAgICAjICAgMi4gc29tZWhvdyB0aGUg
Z251IHBhcmFsbGVsIHJ1bm5lciBpcyBub3QgbWFkZSBhd2FyZSBvZiB0aGUgdGVzdCdzIGNvbXBs
ZXRpb24gKHBhY2tldCBsb3NzPykKKyAgICAgICAgICAgICAgICAgICAgIyAgIDMuIEEgbWFjaGlu
ZSBjcmFzaGVzCisgICAgICAgICAgICAgICAgICAgICMgICA0LiBnbnUgcGFyYWxsZWwgcmUtc2No
ZWR1bGVzIHRoZSB0ZXN0IHRvIHJ1biBvbiByZW1vdGUgaG9zdCBCLCB3aGVyZSBpdCBydW5zIHRv
IGNvbXBsZXRpb24KKyAgICAgICAgICAgICAgICAgICAgIyAgIDUuIEIgY29tZXMgYmFjayBvbmxp
bmUgYmVmb3JlIHRoZSBlbmQgb2YgdGhlIHJ1bgorICAgICAgICAgICAgICAgICAgICAjICAgNi4g
d2UgY29sbGVjdCB0aGUgc3RhdHVzIGZpbGVzIGZyb20gYWxsIHJlbW90ZXMgYW5kIGVuZCB1cCB3
aXRoIHR3byBzdGF0dXMgZmlsZXMgZm9yIFQuCisgICAgICAgICAgICAgICAgICAgIHByZXYgPSBt
YXBbaW5kZXhdCisgICAgICAgICAgICAgICAgICAgICMgbWFwW2luZGV4XSBob2xkcworICAgICAg
ICAgICAgICAgICAgICAjIC0gYSBudW1iZXIsIGlmIGFsbCByZXN1bHRzIGNvZGVzIHdlJ3ZlIG9i
c2VydmVkIGZvciBhIHRlc3QgYXJlIHRoZSBzYW1lCisgICAgICAgICAgICAgICAgICAgICMgLSBh
biBhcnJheSwgaWYgdGhleSBkaXZlcmdlLgorICAgICAgICAgICAgICAgICAgICBpZiBwcmV2Lmlz
X2E/KEFycmF5KQorICAgICAgICAgICAgICAgICAgICAgICAgcHJldi5wdXNoKHJlc3VsdCkKKyAg
ICAgICAgICAgICAgICAgICAgZWxzaWYgcHJldiAhPSByZXN1bHQKKyAgICAgICAgICAgICAgICAg
ICAgICAgICMgSWYgdGhlIHR3byByZXN1bHRzIGRpZmZlciwga2VlcCB0aGVtCisgICAgICAgICAg
ICAgICAgICAgICAgICAjIGJvdGguIFRoaXMgaXMgc2ltcGx5IGEgd2F5IHRvIG1ha2Ugbm90ZSBv
ZgorICAgICAgICAgICAgICAgICAgICAgICAgIyB0aGUgZGl2ZXJnZW5jZSAoZm9yIGxhdGVyIHJl
cG9ydGluZykuCisgICAgICAgICAgICAgICAgICAgICAgICBtYXBbaW5kZXhdID0gW3ByZXYsIHJl
c3VsdF0KKyAgICAgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICAgICAg
IyBHb3QgdGhlIHNhbWUgcmVzdWx0LCBubyBuZWVkIHRvIGRvIGFueXRoaW5nLgorICAgICAgICAg
ICAgICAgICAgICBlbmQKKyAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAg
IG1hcFtpbmRleF0gPSByZXN1bHQKKyAgICAgICAgICAgICAgICBlbmQKICAgICAgICAgICAgIH0K
ICAgICAgICAgfQogICAgIGVsc2UKICAgICAgICAgRGlyLmZvcmVhY2goJHJ1bm5lckRpcikgewog
ICAgICAgICAgICAgfCBmaWxlbmFtZSB8Ci0gICAgICAgICAgICBuZXh0IHVubGVzcyBmaWxlbmFt
ZSA9fiAvdGVzdF9mYWlsXy8KLSAgICAgICAgICAgIGZhaWx1cmVzIDw8ICR+LnBvc3RfbWF0Y2gu
dG9faQorICAgICAgICAgICAgbWQgPSBuYW1lX3JlLm1hdGNoKCIuLyN7ZmlsZW5hbWV9IikKKyAg
ICAgICAgICAgIG5leHQgdW5sZXNzIG1kCisgICAgICAgICAgICBGaWxlLm9wZW4oIiN7JHJ1bm5l
ckRpcn0vI3tmaWxlbmFtZX0iLCAiciIpIHsgfGZ8CisgICAgICAgICAgICAgICAgcnVuSWQsIF8s
IHJlc3VsdCA9IGYucmVhZC5jaG9tcC5zcGxpdCgnICcpCisgICAgICAgICAgICAgICAgaWYgcnVu
SWQgIT0gJHJ1blVuaXF1ZUlkCisgICAgICAgICAgICAgICAgICAgICMgV2UgY2xlYW4gdGhlIGRp
ciBiZWZvcmUgYSBzdGFydGluZyBhIHJ1bi4KKyAgICAgICAgICAgICAgICAgICAgcmFpc2UgIkNh
bid0IGhhcHBlbiIKKyAgICAgICAgICAgICAgICBlbmQKKyAgICAgICAgICAgICAgICBtYXBbbWRb
MV0udG9faV0gPSByZXN1bHQKKyAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgIGVuZAorICAg
IG1hcAorZW5kCiAKLSAgICBmYWlsdXJlU2V0ID0ge30KLQotICAgIGZhaWx1cmVzLmVhY2ggewot
ICAgICAgICB8IGZhaWx1cmUgfCAKLSAgICAgICAgYXBwZW5kRmFpbHVyZSgkcnVubGlzdFtmYWls
dXJlXSkKLSAgICAgICAgZmFpbHVyZVNldFtmYWlsdXJlXSA9IHRydWUKLSAgICB9Ci0KK2RlZiBk
ZXRlY3RGYWlsdXJlcworICAgIHJhaXNlIGlmICRidW5kbGUKKyAgICBub3Jlc3VsdCA9IDAKKyAg
ICBzdGF0dXNNYXAgPSBnZXRTdGF0dXNNYXAKICAgICBmYW1pbHlNYXAgPSB7fQorCiAgICAgJHJ1
bmxpc3QuZWFjaF93aXRoX2luZGV4IHsKICAgICAgICAgfCBwbGFuLCBpbmRleCB8CiAgICAgICAg
IHVubGVzcyBmYW1pbHlNYXBbcGxhbi5mYW1pbHldCiAgICAgICAgICAgICBmYW1pbHlNYXBbcGxh
bi5mYW1pbHldID0gW10KICAgICAgICAgZW5kCi0gICAgICAgIGlmIGZhaWx1cmVTZXRbaW5kZXhd
Ci0gICAgICAgICAgICBhcHBlbmRSZXN1bHQocGxhbiwgZmFsc2UpCi0gICAgICAgICAgICBmYW1p
bHlNYXBbcGxhbi5mYW1pbHldIDw8IHs6cmVzdWx0ID0+ICJGQUlMIiwgOnBsYW4gPT4gcGxhbn07
CisgICAgICAgIGlmIG5vdCBzdGF0dXNNYXAuaGFzX2tleT8oaW5kZXgpIG9yIHN0YXR1c01hcFtp
bmRleF0uaXNfYT8oQXJyYXkpCisgICAgICAgICAgICBhcHBlbmROb1Jlc3VsdChwbGFuKQorICAg
ICAgICAgICAgbm9yZXN1bHQgKz0gMQogICAgICAgICAgICAgbmV4dAorICAgICAgICBlbmQKKyAg
ICAgICAgcmVzdWx0ID0gbmlsCisgICAgICAgIGlmIHN0YXR1c01hcFtpbmRleF0gPT0gU1RBVFVT
X0ZJTEVfUEFTUworICAgICAgICAgICAgYXBwZW5kUGFzcyhwbGFuKQorICAgICAgICAgICAgcmVz
dWx0ID0gIlBBU1MiCiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIGFwcGVuZFJlc3VsdChwbGFu
LCB0cnVlKQotICAgICAgICAgICAgZmFtaWx5TWFwW3BsYW4uZmFtaWx5XSA8PCB7OnJlc3VsdCA9
PiAiUEFTUyIsIDpwbGFuID0+IHBsYW59OworICAgICAgICAgICAgYXBwZW5kRmFpbHVyZShwbGFu
KQorICAgICAgICAgICAgcmVzdWx0ID0gIkZBSUwiCiAgICAgICAgIGVuZAotICAgICAgICBhcHBl
bmRQYXNzKHBsYW4pCisgICAgICAgIGFwcGVuZFJlc3VsdChwbGFuLCBzdGF0dXNNYXBbaW5kZXhd
ID09IFNUQVRVU19GSUxFX1BBU1MpCisgICAgICAgIGZhbWlseU1hcFtwbGFuLmZhbWlseV0gPDwg
ezpyZXN1bHQgPT4gcmVzdWx0LCA6cGxhbiA9PiBwbGFuIH0KICAgICB9CiAKKyAgICBpZiBub3Jl
c3VsdCA+IDAKKyAgICAgICAgJHN0ZGVyci5wdXRzKCJDb3VsZCBub3QgZ2V0IHRoZSBleGl0IHN0
YXR1cyBmb3IgI3tub3Jlc3VsdH0gdGVzdHMiKQorICAgICAgICAjIFdlIGNhbid0IGNoYW5nZSBv
dXIgZXhpdCBjb2RlLCBhcyBydW4tamF2YXNjcmlwdGNvcmUtdGVzdHMKKyAgICAgICAgIyBleHBl
Y3RzIDAgZXZlbiB3aGVuIHRoZXJlIGFyZSBmYWlsdXJlcy4KKyAgICBlbmQKKwogICAgIEZpbGUu
b3Blbigkb3V0cHV0RGlyICsgInJlc3VsdHNCeUZhbWlseSIsICJ3IikgewogICAgICAgICB8IG91
dHAgfAogICAgICAgICBmaXJzdCA9IHRydWUKQEAgLTIyNTksNyArMjMyMyw3IEBAIGRlZiBkZXRl
Y3RGYWlsdXJlcwogICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgIG91dHAucHV0cwog
ICAgICAgICAgICAgZW5kCi0gICAgICAgICAgICAKKwogICAgICAgICAgICAgb3V0cC5wcmludCAi
I3tmYW1pbHlOYW1lfToiCiAKICAgICAgICAgICAgIG51bVBhc3NlZCA9IDAKQEAgLTIyOTcsNiAr
MjM2MSw3IEBAIGVuZAogCiBjbGVhbigkb3V0cHV0RGlyICsgImZhaWxlZCIpCiBjbGVhbigkb3V0
cHV0RGlyICsgInBhc3NlZCIpCitjbGVhbigkb3V0cHV0RGlyICsgIm5vcmVzdWx0IikKIGNsZWFu
KCRvdXRwdXREaXIgKyAicmVzdWx0cyIpCiBjbGVhbigkb3V0cHV0RGlyICsgInJlc3VsdHNCeUZh
bWlseSIpCiBjbGVhbigkb3V0cHV0RGlyICsgIi52bSIpCmRpZmYgLS1naXQgYS9Ub29scy9TY3Jp
cHRzL3dlYmtpdHJ1YnkvanNjLXN0cmVzcy10ZXN0LXdyaXRlci1kZWZhdWx0LnJiIGIvVG9vbHMv
U2NyaXB0cy93ZWJraXRydWJ5L2pzYy1zdHJlc3MtdGVzdC13cml0ZXItZGVmYXVsdC5yYgppbmRl
eCAyOTRjZTIwZDI2ZTNiMGE3ZjEwOTg4ODAyNDlhOTAzMjZkZmJmMmQyLi5kNjFiNzFkYTAwZTFm
ZGFjOWRmOWRkMjU5ZTBiZTY2MDRjN2I3MTNhIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dl
YmtpdHJ1YnkvanNjLXN0cmVzcy10ZXN0LXdyaXRlci1kZWZhdWx0LnJiCisrKyBiL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cnVieS9qc2Mtc3RyZXNzLXRlc3Qtd3JpdGVyLWRlZmF1bHQucmIKQEAgLTM3
LDcgKzM3LDcgQEAgZW5kCiBkZWYgc2lsZW50T3V0cHV0SGFuZGxlcgogICAgIFByb2MubmV3IHsK
ICAgICAgICAgfCBuYW1lIHwKLSAgICAgICAgIiB8ICIgKyBwaXBlQW5kUHJlZml4Q29tbWFuZCgo
UGF0aG5hbWUoIi4uIikgKyAobmFtZSArICIub3V0IikpLnRvX3MsIG5hbWUpCisgICAgICAgIHBp
cGVBbmRQcmVmaXhDb21tYW5kKChQYXRobmFtZSgiLi4iKSArIChuYW1lICsgIi5vdXQiKSkudG9f
cywgbmFtZSkKICAgICB9CiBlbmQKIApAQCAtNDUsMTggKzQ1LDI0IEBAIGVuZAogZGVmIG5vaXN5
T3V0cHV0SGFuZGxlcgogICAgIFByb2MubmV3IHsKICAgICAgICAgfCBuYW1lIHwKLSAgICAgICAg
IiB8IGNhdCA+ICIgKyBTaGVsbHdvcmRzLnNoZWxsZXNjYXBlKChQYXRobmFtZSgiLi4iKSArIChu
YW1lICsgIi5vdXQiKSkudG9fcykKKyAgICAgICAgImNhdCA+ICIgKyBTaGVsbHdvcmRzLnNoZWxs
ZXNjYXBlKChQYXRobmFtZSgiLi4iKSArIChuYW1lICsgIi5vdXQiKSkudG9fcykKICAgICB9CiBl
bmQKIAorZGVmIGdldEFuZFRlc3RFeGl0Q29kZShwbGFuLCBjb25kaXRpb24pCisgICAgPDwtRU9G
CisgICAgaWYgdGVzdCAiJGV4aXRDb2RlIiAje2NvbmRpdGlvbn0KK0VPRgorZW5kCisKICMgRXJy
b3IgaGFuZGxlciBmb3IgdGVzdHMgdGhhdCBmYWlsIGV4YWN0bHkgd2hlbiB0aGV5IHJldHVybiBu
b24temVybyBleGl0IHN0YXR1cy4KICMgVGhpcyBpcyB1c2VmdWwgd2hlbiBhIHRlc3QgaXMgZXhw
ZWN0ZWQgdG8gZmFpbC4KIGRlZiBzaW1wbGVFcnJvckhhbmRsZXIKICAgICBQcm9jLm5ldyB7CiAg
ICAgICAgIHwgb3V0cCwgcGxhbiB8Ci0gICAgICAgIG91dHAucHV0cyAiaWYgdGVzdCAtZSAje3Bs
YW4uZmFpbEZpbGV9IgorICAgICAgICBvdXRwLnB1dHMgZ2V0QW5kVGVzdEV4aXRDb2RlKHBsYW4s
ICItbmUgMCIpCiAgICAgICAgIG91dHAucHV0cyAidGhlbiIKLSAgICAgICAgb3V0cC5wdXRzICIg
ICAgKGVjaG8gRVJST1I6IFVuZXhwZWN0ZWQgZXhpdCBjb2RlOiBgY2F0ICN7cGxhbi5mYWlsRmls
ZX1gKSB8ICIgKyByZWRpcmVjdEFuZFByZWZpeENvbW1hbmQocGxhbi5uYW1lKQorICAgICAgICBv
dXRwLnB1dHMgIiAgICAoZWNobyBFUlJPUjogVW5leHBlY3RlZCBleGl0IGNvZGU6ICRleGl0Q29k
ZSkgfCAiICsgcmVkaXJlY3RBbmRQcmVmaXhDb21tYW5kKHBsYW4ubmFtZSkKICAgICAgICAgb3V0
cC5wdXRzICIgICAgIiArIHBsYW4uZmFpbENvbW1hbmQKICAgICAgICAgb3V0cC5wdXRzICJlbHNl
IgogICAgICAgICBvdXRwLnB1dHMgIiAgICAiICsgcGxhbi5zdWNjZXNzQ29tbWFuZApAQCAtNjgs
NyArNzQsNyBAQCBlbmQKIGRlZiBleHBlY3RlZEZhaWxFcnJvckhhbmRsZXIKICAgICBQcm9jLm5l
dyB7CiAgICAgICAgIHwgb3V0cCwgcGxhbiB8Ci0gICAgICAgIG91dHAucHV0cyAiaWYgdGVzdCAt
ZSAje3BsYW4uZmFpbEZpbGV9IgorICAgICAgICBvdXRwLnB1dHMgZ2V0QW5kVGVzdEV4aXRDb2Rl
KHBsYW4sICItbmUgMCIpCiAgICAgICAgIG91dHAucHV0cyAidGhlbiIKICAgICAgICAgb3V0cC5w
dXRzICIgICAgIiArIHBsYW4uc3VjY2Vzc0NvbW1hbmQKICAgICAgICAgb3V0cC5wdXRzICJlbHNl
IgpAQCAtODQsMTAgKzkwLDEwIEBAIGRlZiBub2lzeUVycm9ySGFuZGxlcgogICAgIFByb2MubmV3
IHsKICAgICAgICAgfCBvdXRwLCBwbGFuIHwKICAgICAgICAgb3V0cHV0RmlsZW5hbWUgPSBTaGVs
bHdvcmRzLnNoZWxsZXNjYXBlKChQYXRobmFtZSgiLi4iKSArIChwbGFuLm5hbWUgKyAiLm91dCIp
KS50b19zKQotICAgIAotICAgICAgICBvdXRwLnB1dHMgImlmIHRlc3QgLWUgI3twbGFuLmZhaWxG
aWxlfSIKKworICAgICAgICBvdXRwLnB1dHMgZ2V0QW5kVGVzdEV4aXRDb2RlKHBsYW4sICItbmUg
MCIpCiAgICAgICAgIG91dHAucHV0cyAidGhlbiIKLSAgICAgICAgb3V0cC5wdXRzICIgICAgKGNh
dCAje291dHB1dEZpbGVuYW1lfSAmJiBlY2hvIEVSUk9SOiBVbmV4cGVjdGVkIGV4aXQgY29kZTog
YGNhdCAje3BsYW4uZmFpbEZpbGV9YCkgfCAiICsgcmVkaXJlY3RBbmRQcmVmaXhDb21tYW5kKHBs
YW4ubmFtZSkKKyAgICAgICAgb3V0cC5wdXRzICIgICAgKGNhdCAje291dHB1dEZpbGVuYW1lfSAm
JiBlY2hvIEVSUk9SOiBVbmV4cGVjdGVkIGV4aXQgY29kZTogJGV4aXRDb2RlKSB8ICIgKyByZWRp
cmVjdEFuZFByZWZpeENvbW1hbmQocGxhbi5uYW1lKQogICAgICAgICBvdXRwLnB1dHMgIiAgICAi
ICsgcGxhbi5mYWlsQ29tbWFuZAogICAgICAgICBvdXRwLnB1dHMgImVsc2UiCiAgICAgICAgIG91
dHAucHV0cyAiICAgICIgKyBwbGFuLnN1Y2Nlc3NDb21tYW5kCkBAIC0xMDEsMTAgKzEwNywxMCBA
QCBkZWYgZGlmZkVycm9ySGFuZGxlcihleHBlY3RlZEZpbGVuYW1lKQogICAgICAgICB8IG91dHAs
IHBsYW4gfAogICAgICAgICBvdXRwdXRGaWxlbmFtZSA9IFNoZWxsd29yZHMuc2hlbGxlc2NhcGUo
KFBhdGhuYW1lKCIuLiIpICsgKHBsYW4ubmFtZSArICIub3V0IikpLnRvX3MpCiAgICAgICAgIGRp
ZmZGaWxlbmFtZSA9IFNoZWxsd29yZHMuc2hlbGxlc2NhcGUoKFBhdGhuYW1lKCIuLiIpICsgKHBs
YW4ubmFtZSArICIuZGlmZiIpKS50b19zKQotICAgICAgICAKLSAgICAgICAgb3V0cC5wdXRzICJp
ZiB0ZXN0IC1lICN7cGxhbi5mYWlsRmlsZX0iCisKKyAgICAgICAgb3V0cC5wdXRzIGdldEFuZFRl
c3RFeGl0Q29kZShwbGFuLCAiLW5lIDAiKQogICAgICAgICBvdXRwLnB1dHMgInRoZW4iCi0gICAg
ICAgIG91dHAucHV0cyAiICAgIChjYXQgI3tvdXRwdXRGaWxlbmFtZX0gJiYgZWNobyBFUlJPUjog
VW5leHBlY3RlZCBleGl0IGNvZGU6IGBjYXQgI3twbGFuLmZhaWxGaWxlfWApIHwgIiArIHJlZGly
ZWN0QW5kUHJlZml4Q29tbWFuZChwbGFuLm5hbWUpCisgICAgICAgIG91dHAucHV0cyAiICAgIChj
YXQgI3tvdXRwdXRGaWxlbmFtZX0gJiYgZWNobyBFUlJPUjogVW5leHBlY3RlZCBleGl0IGNvZGU6
ICRleGl0Q29kZSkgfCAiICsgcmVkaXJlY3RBbmRQcmVmaXhDb21tYW5kKHBsYW4ubmFtZSkKICAg
ICAgICAgb3V0cC5wdXRzICIgICAgIiArIHBsYW4uZmFpbENvbW1hbmQKICAgICAgICAgb3V0cC5w
dXRzICJlbGlmIHRlc3QgLWUgLi4vI3tTaGVsbHdvcmRzLnNoZWxsZXNjYXBlKGV4cGVjdGVkRmls
ZW5hbWUpfSIKICAgICAgICAgb3V0cC5wdXRzICJ0aGVuIgpAQCAtMTMwLDkgKzEzNiw5IEBAIGRl
ZiBtb3ppbGxhRXJyb3JIYW5kbGVyCiAgICAgICAgIHwgb3V0cCwgcGxhbiB8CiAgICAgICAgIG91
dHB1dEZpbGVuYW1lID0gU2hlbGx3b3Jkcy5zaGVsbGVzY2FwZSgoUGF0aG5hbWUoIi4uIikgKyAo
cGxhbi5uYW1lICsgIi5vdXQiKSkudG9fcykKIAotICAgICAgICBvdXRwLnB1dHMgImlmIHRlc3Qg
LWUgI3twbGFuLmZhaWxGaWxlfSIKKyAgICAgICAgb3V0cC5wdXRzIGdldEFuZFRlc3RFeGl0Q29k
ZShwbGFuLCAiLW5lIDAiKQogICAgICAgICBvdXRwLnB1dHMgInRoZW4iCi0gICAgICAgIG91dHAu
cHV0cyAiICAgIChjYXQgI3tvdXRwdXRGaWxlbmFtZX0gJiYgZWNobyBFUlJPUjogVW5leHBlY3Rl
ZCBleGl0IGNvZGU6IGBjYXQgI3twbGFuLmZhaWxGaWxlfWApIHwgIiArIHJlZGlyZWN0QW5kUHJl
Zml4Q29tbWFuZChwbGFuLm5hbWUpCisgICAgICAgIG91dHAucHV0cyAiICAgIChjYXQgI3tvdXRw
dXRGaWxlbmFtZX0gJiYgZWNobyBFUlJPUjogVW5leHBlY3RlZCBleGl0IGNvZGU6ICRleGl0Q29k
ZSkgfCAiICsgcmVkaXJlY3RBbmRQcmVmaXhDb21tYW5kKHBsYW4ubmFtZSkKICAgICAgICAgb3V0
cC5wdXRzICIgICAgIiArIHBsYW4uZmFpbENvbW1hbmQKICAgICAgICAgb3V0cC5wdXRzICJlbGlm
IGdyZXAgLWkgLXEgZmFpbGVkISAje291dHB1dEZpbGVuYW1lfSIKICAgICAgICAgb3V0cC5wdXRz
ICJ0aGVuIgpAQCAtMTUxLDcgKzE1Nyw3IEBAIGRlZiBtb3ppbGxhRmFpbEVycm9ySGFuZGxlcgog
ICAgICAgICB8IG91dHAsIHBsYW4gfAogICAgICAgICBvdXRwdXRGaWxlbmFtZSA9IFNoZWxsd29y
ZHMuc2hlbGxlc2NhcGUoKFBhdGhuYW1lKCIuLiIpICsgKHBsYW4ubmFtZSArICIub3V0IikpLnRv
X3MpCiAKLSAgICAgICAgb3V0cC5wdXRzICJpZiB0ZXN0IC1lICN7cGxhbi5mYWlsRmlsZX0iCisg
ICAgICAgIG91dHAucHV0cyBnZXRBbmRUZXN0RXhpdENvZGUocGxhbiwgIi1uZSAwIikKICAgICAg
ICAgb3V0cC5wdXRzICJ0aGVuIgogICAgICAgICBvdXRwLnB1dHMgIiAgICAiICsgcGxhbi5zdWNj
ZXNzQ29tbWFuZAogICAgICAgICBvdXRwLnB1dHMgImVsaWYgZ3JlcCAtaSAtcSBmYWlsZWQhICN7
b3V0cHV0RmlsZW5hbWV9IgpAQCAtMTcxLDkgKzE3Nyw5IEBAIGRlZiBtb3ppbGxhRXhpdDNFcnJv
ckhhbmRsZXIKICAgICAgICAgfCBvdXRwLCBwbGFuIHwKICAgICAgICAgb3V0cHV0RmlsZW5hbWUg
PSBTaGVsbHdvcmRzLnNoZWxsZXNjYXBlKChQYXRobmFtZSgiLi4iKSArIChwbGFuLm5hbWUgKyAi
Lm91dCIpKS50b19zKQogCi0gICAgICAgIG91dHAucHV0cyAiaWYgdGVzdCAtZSAje3BsYW4uZmFp
bEZpbGV9IgorICAgICAgICBvdXRwLnB1dHMgZ2V0QW5kVGVzdEV4aXRDb2RlKHBsYW4sICItbmUg
MCIpCiAgICAgICAgIG91dHAucHV0cyAidGhlbiIKLSAgICAgICAgb3V0cC5wdXRzICIgICAgaWYg
WyBgY2F0ICN7cGxhbi5mYWlsRmlsZX1gIC1lcSAzIF0iCisgICAgICAgIG91dHAucHV0cyAiICAg
IGlmIFsgXCIkZXhpdENvZGVcIiAtZXEgMyBdIgogICAgICAgICBvdXRwLnB1dHMgIiAgICB0aGVu
IgogICAgICAgICBvdXRwLnB1dHMgIiAgICAgICAgaWYgZ3JlcCAtaSAtcSBmYWlsZWQhICN7b3V0
cHV0RmlsZW5hbWV9IgogICAgICAgICBvdXRwLnB1dHMgIiAgICAgICAgdGhlbiIKQEAgLTE4Myw3
ICsxODksNyBAQCBkZWYgbW96aWxsYUV4aXQzRXJyb3JIYW5kbGVyCiAgICAgICAgIG91dHAucHV0
cyAiICAgICAgICAgICAgIiArIHBsYW4uc3VjY2Vzc0NvbW1hbmQKICAgICAgICAgb3V0cC5wdXRz
ICIgICAgICAgIGZpIgogICAgICAgICBvdXRwLnB1dHMgIiAgICBlbHNlIgotICAgICAgICBvdXRw
LnB1dHMgIiAgICAgICAgKGNhdCAje291dHB1dEZpbGVuYW1lfSAmJiBlY2hvIEVSUk9SOiBVbmV4
cGVjdGVkIGV4aXQgY29kZTogYGNhdCAje3BsYW4uZmFpbEZpbGV9YCkgfCAiICsgcmVkaXJlY3RB
bmRQcmVmaXhDb21tYW5kKHBsYW4ubmFtZSkKKyAgICAgICAgb3V0cC5wdXRzICIgICAgICAgIChj
YXQgI3tvdXRwdXRGaWxlbmFtZX0gJiYgZWNobyBFUlJPUjogVW5leHBlY3RlZCBleGl0IGNvZGU6
ICRleGl0Q29kZSkgfCAiICsgcmVkaXJlY3RBbmRQcmVmaXhDb21tYW5kKHBsYW4ubmFtZSkKICAg
ICAgICAgb3V0cC5wdXRzICIgICAgICAgICIgKyBwbGFuLmZhaWxDb21tYW5kCiAgICAgICAgIG91
dHAucHV0cyAiICAgIGZpIgogICAgICAgICBvdXRwLnB1dHMgImVsc2UiCkBAIC0yMDAsOSArMjA2
LDkgQEAgZGVmIGNoYWtyYVBhc3NGYWlsRXJyb3JIYW5kbGVyCiAgICAgICAgIHwgb3V0cCwgcGxh
biB8CiAgICAgICAgIG91dHB1dEZpbGVuYW1lID0gU2hlbGx3b3Jkcy5zaGVsbGVzY2FwZSgoUGF0
aG5hbWUoIi4uIikgKyAocGxhbi5uYW1lICsgIi5vdXQiKSkudG9fcykKIAotICAgICAgICBvdXRw
LnB1dHMgImlmIHRlc3QgLWUgI3twbGFuLmZhaWxGaWxlfSIKKyAgICAgICAgb3V0cC5wdXRzIGdl
dEFuZFRlc3RFeGl0Q29kZShwbGFuLCAiLW5lIDAiKQogICAgICAgICBvdXRwLnB1dHMgInRoZW4i
Ci0gICAgICAgIG91dHAucHV0cyAiICAgIChjYXQgI3tvdXRwdXRGaWxlbmFtZX0gJiYgZWNobyBF
UlJPUjogVW5leHBlY3RlZCBleGl0IGNvZGU6IGBjYXQgI3twbGFuLmZhaWxGaWxlfWApIHwgIiAr
IHJlZGlyZWN0QW5kUHJlZml4Q29tbWFuZChwbGFuLm5hbWUpCisgICAgICAgIG91dHAucHV0cyAi
ICAgIChjYXQgI3tvdXRwdXRGaWxlbmFtZX0gJiYgZWNobyBFUlJPUjogVW5leHBlY3RlZCBleGl0
IGNvZGU6ICRleGl0Q29kZSkgfCAiICsgcmVkaXJlY3RBbmRQcmVmaXhDb21tYW5kKHBsYW4ubmFt
ZSkKICAgICAgICAgb3V0cC5wdXRzICIgICAgIiArIHBsYW4uZmFpbENvbW1hbmQKICAgICAgICAg
b3V0cC5wdXRzICJlbGlmIGdyZXAgLWkgLXEgRkFJTEVEICN7b3V0cHV0RmlsZW5hbWV9IgogICAg
ICAgICBvdXRwLnB1dHMgInRoZW4iCkBAIC0yNjIsMjUgKzI2OCwyOSBAQCBjbGFzcyBQbGFuCiAg
ICAgICAgIHNjcmlwdCArPSAiI3tzaGVsbENvbW1hbmR9IHx8IGV4aXQgMSIKICAgICAgICAgImVj
aG8gI3tTaGVsbHdvcmRzLnNoZWxsZXNjYXBlKHNjcmlwdCl9ID4gI3tTaGVsbHdvcmRzLnNoZWxs
ZXNjYXBlKChQYXRobmFtZS5uZXcoIi4uIikgKyBAbmFtZSkudG9fcyl9IgogICAgIGVuZAotICAg
IAorCisgICAgZGVmIHN0YXR1c0NvbW1hbmQoc3RhdHVzKQorICAgICAgICAiZWNobyAjeyRydW5V
bmlxdWVJZH0gJGV4aXRDb2RlICN7c3RhdHVzfSA+ICN7c3RhdHVzRmlsZX0iCisgICAgZW5kCisK
ICAgICBkZWYgZmFpbENvbW1hbmQKLSAgICAgICAgImVjaG8gRkFJTDogI3tTaGVsbHdvcmRzLnNo
ZWxsZXNjYXBlKEBuYW1lKX0gOyB0b3VjaCAje2ZhaWxGaWxlfSA7ICIgKyByZXByb1NjcmlwdENv
bW1hbmQKKyAgICAgICAgIiN7c3RhdHVzQ29tbWFuZChTVEFUVVNfRklMRV9GQUlMKX07IGVjaG8g
RkFJTDogI3tTaGVsbHdvcmRzLnNoZWxsZXNjYXBlKEBuYW1lKX07ICIgKyByZXByb1NjcmlwdENv
bW1hbmQKICAgICBlbmQKICAgICAKICAgICBkZWYgc3VjY2Vzc0NvbW1hbmQKKyAgICAgICAgY29t
bWFuZCA9ICIiCiAgICAgICAgIGV4ZWN1dGlvblRpbWVNZXNzYWdlID0gIiIKICAgICAgICAgaWYg
JHJlcG9ydEV4ZWN1dGlvblRpbWUKICAgICAgICAgICAgIGV4ZWN1dGlvblRpbWVNZXNzYWdlID0g
IiAkKCgkU0VDT05EUyAtICRTVEFSVF9USU1FKSlzIgogICAgICAgICBlbmQKICAgICAgICAgaWYg
JHByb2dyZXNzTWV0ZXIgb3IgJHJlcG9ydEV4ZWN1dGlvblRpbWUgb3IgJHZlcmJvc2l0eSA+PSAy
Ci0gICAgICAgICAgICAicm0gLWYgI3tmYWlsRmlsZX0gOyBlY2hvIFBBU1M6ICN7U2hlbGx3b3Jk
cy5zaGVsbGVzY2FwZShAbmFtZSl9I3tleGVjdXRpb25UaW1lTWVzc2FnZX0iCi0gICAgICAgIGVs
c2UKLSAgICAgICAgICAgICJybSAtZiAje2ZhaWxGaWxlfSIKKyAgICAgICAgICAgIGNvbW1hbmQg
PSAiZWNobyBQQVNTOiAje1NoZWxsd29yZHMuc2hlbGxlc2NhcGUoQG5hbWUpfSN7ZXhlY3V0aW9u
VGltZU1lc3NhZ2V9IgogICAgICAgICBlbmQKKyAgICAgICAgIiN7c3RhdHVzQ29tbWFuZChTVEFU
VVNfRklMRV9QQVNTKX07ICN7Y29tbWFuZH0iCiAgICAgZW5kCiAgICAgCi0gICAgZGVmIGZhaWxG
aWxlCi0gICAgICAgICJ0ZXN0X2ZhaWxfI3tAaW5kZXh9IgorICAgIGRlZiBzdGF0dXNGaWxlCisg
ICAgICAgICIje1NUQVRVU19GSUxFX1BSRUZJWH0je0BpbmRleH0iCiAgICAgZW5kCiAgICAgCiAg
ICAgZGVmIHdyaXRlUnVuU2NyaXB0KGZpbGVuYW1lKQpAQCAtMjkwLDggKzMwMCw0MiBAQCBjbGFz
cyBQbGFuCiAgICAgICAgICAgICAgICAgb3V0cC5wdXRzICJTVEFSVF9USU1FPSRTRUNPTkRTIgog
ICAgICAgICAgICAgZW5kCiAgICAgICAgICAgICBvdXRwLnB1dHMgImVjaG8gUnVubmluZyAje1No
ZWxsd29yZHMuc2hlbGxlc2NhcGUoQG5hbWUpfSIKLSAgICAgICAgICAgIGNtZCAgPSAiKCIgKyBz
aGVsbENvbW1hbmQgKyAiIHx8IChlY2hvICQ/ID4gI3tmYWlsRmlsZX0pKSAyPiYxICIKLSAgICAg
ICAgICAgIGNtZCArPSBAb3V0cHV0SGFuZGxlci5jYWxsKEBuYW1lKQorICAgICAgICAgICAgIwor
ICAgICAgICAgICAgIyArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCisgICAgICAgICAgICAjIHwgKy0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKyAgICAgICAgICAgICAgICAgIHwK
KyAgICAgICAgICAgICMgfCB8ICstLS0tLS0tLS0tLS0tLSsgICAgICstLS0tLS0tLS0tLS0tLS0t
LS0tKyAgICB8ICAgICAgICAgICAgICAgICAgfAorICAgICAgICAgICAgIyB8IHwgfCBjbWQgMSAt
LS0tPiAxfC0tLT4gfDAgLS0+IG91dEggMSAtLS0+IDR8LT4gNHwtLS0tLS0tLS0tLS0tLS0+IDF8
CisgICAgICAgICAgICAjIHwgfCB8ICAgICAyIC8gICAgICB8ICAgICArLS0tLS0tLS0tLS0tLS0t
LS0tLSsgICAgfCAgICstLS0tLS0tLS0tLSsgIHwKKyAgICAgICAgICAgICMgfCB8IHxlY2hvICQ/
IDAgLT4gM3wtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0+IDF8LT4gfDAgcmVhZCB4cyAgfCAg
fAorICAgICAgICAgICAgIyB8IHwgKy0tLS0tLS0tLS0tLS0tKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHwgICB8ICBleGl0ICR4cyB8ICB8CisgICAgICAgICAgICAjIHwgfCAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICstLS0tLS0tLS0tLSsg
IHwKKyAgICAgICAgICAgICMgfCArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0rICAgICAgICAgICAgICAgICAgfAorICAgICAgICAgICAgIyArLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0rCisgICAgICAgICAgICAjIEZyb20gdGhlIHRvcCBkb3duIChpLmUuIHJlYWRpbmcgZnJvbSB0
aGUgb3V0ZXIgZXhwcmVzc2lvbiBpbndhcmRzKToKKyAgICAgICAgICAgICMKKyAgICAgICAgICAg
ICMgLSBSZWRpcmVjdCBGRCA0IHRvIG91ciBzdGRvdXQKKyAgICAgICAgICAgICMKKyAgICAgICAg
ICAgICMgLSBCdWlsZCBhIHBpcGUgb2YgdHdvIGNvbW1hbmQgc2VxdWVuY2VzLiBUaGUKKyAgICAg
ICAgICAgICMgICByaWdodC1oYW5kLXNpZGUgc2VxdWVuY2UgcmVhZHMgYSBudW1iZXIgZnJvbSBz
dGRpbiBhbmQKKyAgICAgICAgICAgICMgICBleGl0cyB3aXRoIGl0LiBTaW5jZSBpdCdzIHRoZSBs
YXN0IGNvbW1hbmQgaW4gdGhlCisgICAgICAgICAgICAjICAgcGlwZWxpbmUsIHRoaXMgd2lsbCBi
ZSB0aGUgdmFsdWUgb2YgJD8gYWZ0ZXIgdGhlCisgICAgICAgICAgICAjICAgcGlwZWxpbmUgY29t
cGxldGVzLgorICAgICAgICAgICAgIworICAgICAgICAgICAgIyAtIEluIHRoZSBsZWZ0LWhhbmQt
c2lkZSBzZXF1ZW5jZSwgcmVkaXJlY3QgRkQgMyB0byBGRCAxLgorICAgICAgICAgICAgIworICAg
ICAgICAgICAgIyAtIEJ1aWxkIGEgcGlwZSBvZiB0d28gY29tbWFuZHMKKyAgICAgICAgICAgICMg
ICAtIHJ1biBzaGVsbENvbW1hbmQsIHdyaXRpbmcgaXRzIGV4aXQgY29kZSB0byBGRCAzLgorICAg
ICAgICAgICAgIyAgIC0gcnVuIHRoZSBvdXRwdXRIYW5kbGVyLCB3aXRoIGl0cyBzdGRpbiBjb21p
bmcgZnJvbQorICAgICAgICAgICAgIyAgICAgdGhlIHBpcGUsIHJlZGlyZWN0aW5nIGl0cyBvdXRw
dXQgdG8gRkQgNC4gVGhlCisgICAgICAgICAgICAjICAgICBvdXRwdXRIYW5kbGVyIG5lZWRzIHRv
IGJlIGluIGEgY29tbWFuZCBzZXF1ZW5jZQorICAgICAgICAgICAgIyAgICAgKGkuZS4gaW4geyBj
bWQ7IC4uLn0pIGFzIGl0IG1heSBkbyBpdHMgb3duCisgICAgICAgICAgICAjICAgICByZWRpcmVj
dGlvbnMuCisgICAgICAgICAgICAjCisgICAgICAgICAgICAjIFdlIGRvIGFsbCB0aGlzCisgICAg
ICAgICAgICAjIC0gdG8gYXZvaWQgaGF2aW5nIHRvIHVzZSBhIHRlbXBvcmFyeSBmaWxlIGZvciB0
aGUgZXhpdCBjb2RlCisgICAgICAgICAgICAjIC0gdG8ga2VlcCB3aXRoaW4gdGhlIGJvdW5kcyBv
ZiBQT1NJWCBzaCAoaS5lLiBjYW4ndCB1c2UKKyAgICAgICAgICAgICMgICBQSVBFU1RBVFVTKQor
ICAgICAgICAgICAgY21kID0gInsgeyB7IHsgI3tzaGVsbENvbW1hbmR9IDI+JjE7IGVjaG8gJD8g
PiYzOyB9IHwgeyAje291dHB1dEhhbmRsZXIuY2FsbChAbmFtZSl9IDt9ID4mNDsgfSAzPiYxOyB9
IHwgeyByZWFkIHhzOyBleGl0ICR4czsgfSB9IDQ+JjFcbmV4aXRDb2RlPSQ/XG4iCiAgICAgICAg
ICAgICBpZiAkdmVyYm9zaXR5ID49IDMKICAgICAgICAgICAgICAgICBvdXRwLnB1dHMgImVjaG8g
I3tTaGVsbHdvcmRzLnNoZWxsZXNjYXBlKGNtZCl9IgogICAgICAgICAgICAgZW5kCmRpZmYgLS1n
aXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHJ1YnkvanNjLXN0cmVzcy10ZXN0LXdyaXRlci1wbGF5
c3RhdGlvbi5yYiBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cnVieS9qc2Mtc3RyZXNzLXRlc3Qtd3Jp
dGVyLXBsYXlzdGF0aW9uLnJiCmluZGV4IGUwNzRhNDQ5NWFlYTg4ZGJiZTJiOGMyM2M0OGQwN2Rl
NmI3ODRhOWIuLmFmM2Y3OTM4OGM3NDdjMjdiYjE1MTk5OGEwNDI4NjFiM2Y4M2NhYjUgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cnVieS9qc2Mtc3RyZXNzLXRlc3Qtd3JpdGVyLXBs
YXlzdGF0aW9uLnJiCisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cnVieS9qc2Mtc3RyZXNzLXRl
c3Qtd3JpdGVyLXBsYXlzdGF0aW9uLnJiCkBAIC0zMDUsMTAgKzMwNSwyMSBAQCBjbGFzcyBQbGFu
CiAgICAgICAgIHJldHVybiAiIgogICAgIGVuZAogCisgICAgZGVmIHN0YXR1c0NvbW1hbmQoc3Rh
dHVzX2NvZGUpCisgICAgICAgICMgTWF5IGJlIGNhbGxlZCBpbiB0aCByZXNjdWUgYmxvY2ssIHNv
IHN0YXR1cyBpcyBub3QKKyAgICAgICAgIyBndWFyYW50ZWVkIHRvIGJlIHNldDsgaWYgaXQgaXNu
J3QsIHNldCB0aGUgZXhpdCBjb2RlIHRvCisgICAgICAgICMgc29tZXRoaW5nIHRoYXQncyBjbGVh
cmx5IGludmFsaWQuCisgICAgICAgIDw8LUVORF9TVEFUVVNfQ09NTUFORAorICAgICAgICAgIEZp
bGUub3BlbigiI3tzdGF0dXNGaWxlfSIsICJ3IikgeyB8ZnwKKyAgICAgICAgICAgICAgZi5wdXRz
KCIjeyRydW5VbmlxdWVJZH0gXCN7c3RhdHVzLm5pbD8gPyA5OTk5OTk5OTkgOiBzdGF0dXMuZXhp
dHN0YXR1c30gI3tzdGF0dXNfY29kZX0iKQorICAgICAgICAgIH0KKyAgICAgICAgRU5EX1NUQVRV
U19DT01NQU5ECisgICAgZW5kCisKICAgICBkZWYgZmFpbENvbW1hbmQKICAgICAgICAgPDwtRU5E
X0ZBSUxfQ09NTUFORAogICAgICAgICAgICAgcHJpbnQgIkZBSUw6ICN7U2hlbGx3b3Jkcy5zaGVs
bGVzY2FwZShAbmFtZSl9XG4iCi0gICAgICAgICAgICBGaWxlVXRpbHMudG91Y2goIiN7ZmFpbEZp
bGV9IikKKyAgICAgICAgICAgICN7c3RhdHVzQ29tbWFuZChTVEFUVVNfRklMRV9GQUlMKX0KICAg
ICAgICAgICAgICN7cmVwcm9TY3JpcHRDb21tYW5kfQogICAgICAgICBFTkRfRkFJTF9DT01NQU5E
CiAgICAgZW5kCkBAIC0zMTYsMjYgKzMyNywxNiBAQCBjbGFzcyBQbGFuCiAgICAgZGVmIHN1Y2Nl
c3NDb21tYW5kCiAgICAgICAgIGlmICRwcm9ncmVzc01ldGVyIG9yICR2ZXJib3NpdHkgPj0gMgog
ICAgICAgICAgICAgPDwtRU5EX1ZFUkJPU0VfU1VDQ0VTU19DT01NQU5ECi0gICAgICAgICAgICAg
ICAgRmlsZS51bmxpbmsoIiN7ZmFpbEZpbGV9IikgaWYgRmlsZS5leGlzdHM/KCIje2ZhaWxGaWxl
fSIpCiAgICAgICAgICAgICAgICAgcHJpbnQgIlBBU1M6ICN7U2hlbGx3b3Jkcy5zaGVsbGVzY2Fw
ZShAbmFtZSl9XG4iCisgICAgICAgICAgICAgICAgI3tzdGF0dXNDb21tYW5kKFNUQVRVU19GSUxF
X1BBU1MpfQogICAgICAgICAgICAgRU5EX1ZFUkJPU0VfU1VDQ0VTU19DT01NQU5ECiAgICAgICAg
IGVsc2UKLSAgICAgICAgICAgICJGaWxlLnVubGluayhcIiN7ZmFpbEZpbGV9XCIpIGlmIEZpbGUu
ZXhpc3RzPyhcIiN7ZmFpbEZpbGV9XCIpXG4iCisgICAgICAgICAgICAiI3tzdGF0dXNDb21tYW5k
KFNUQVRVU19GSUxFX1BBU1MpfVxuIgogICAgICAgICBlbmQKICAgICBlbmQKIAotICAgIGRlZiBm
YWlsRmlsZQotICAgICAgICAidGVzdF9mYWlsXyN7QGluZGV4fSIKLSAgICBlbmQKLQotICAgIGRl
ZiBzdGF0dXNXcml0ZQotICAgICAgICA8PC1FTkRfU1RBVFVTX1dSSVRFCi0gICAgICAgICAgICBp
ZiAhc3VjY2VzcwotICAgICAgICAgICAgICAgIEZpbGUub3BlbigiI3tmYWlsRmlsZX0iLCAidyIp
IGRvIHxjb2RlX2ZpbGV8Ci0gICAgICAgICAgICAgICAgICAgIGNvZGVfZmlsZS5wdXRzIHN0YXR1
cwotICAgICAgICAgICAgICAgIGVuZAotICAgICAgICAgICAgZW5kCi0gICAgICAgIEVORF9TVEFU
VVNfV1JJVEUKKyAgICBkZWYgc3RhdHVzRmlsZQorICAgICAgICAiI3tTVEFUVVNfRklMRV9QUkVG
SVh9I3tAaW5kZXh9IgogICAgIGVuZAogCiAgICAgZGVmIHdyaXRlUnVuU2NyaXB0KGZpbGVuYW1l
KQpAQCAtMzU3LDcgKzM1OCw2IEBAIGNsYXNzIFBsYW4KICAgICAgICAgICAgICAgICBvdXRwdXRO
YW1lOiBAbmFtZS5nc3ViKC8oXFx8XC8pLywgJ18nKSwKICAgICAgICAgICAgICAgICBjaGVja1Nj
cmlwdDogZmlsZW5hbWUsCiAgICAgICAgICAgICAgICAgYXJnczogQGFyZ3VtZW50cywKLSAgICAg
ICAgICAgICAgICBmYWlsRmlsZTogIiN7ZmFpbEZpbGV9IgogICAgICAgICAgICAgfSkKICAgICAg
ICAgfQogCkBAIC0zNzEsOCArMzcxLDYgQEAgY2xhc3MgUGxhbgogCiAgICAgICAgICAgICBjbWQg
PSBzaGVsbENvbW1hbmQKIAotICAgICAgICAgICAgY21kICs9IHN0YXR1c1dyaXRlCi0KICAgICAg
ICAgICAgIGNtZCArPSBAb3V0cHV0SGFuZGxlci5jYWxsKEBuYW1lKQogCiAgICAgICAgICAgICBp
ZiAkdmVyYm9zaXR5ID49IDMKQEAgLTM4Miw3ICszODAsNyBAQCBjbGFzcyBQbGFuCiAgICAgICAg
ICAgICBAZXJyb3JIYW5kbGVyLmNhbGwob3V0cCwgc2VsZikKICAgICAgICAgICAgIG91dHAucHV0
cyAicmVzY3VlIFJ1bnRpbWVFcnJvciA9PiBlIgogICAgICAgICAgICAgb3V0cC5wdXRzICIgICAg
cHJpbnQgXCJGQUlMOiAje1NoZWxsd29yZHMuc2hlbGxlc2NhcGUoQG5hbWUpfVxcblwiIgotICAg
ICAgICAgICAgb3V0cC5wdXRzICIgICAgRmlsZVV0aWxzLnRvdWNoKFwiI3tmYWlsRmlsZX1cIiki
CisgICAgICAgICAgICBvdXRwLnB1dHMgIiAgICAje3N0YXR1c0NvbW1hbmQoU1RBVFVTX0ZJTEVf
RkFJTCl9IgogICAgICAgICAgICAgb3V0cC5wdXRzICJlbmQiCiAgICAgICAgIH0KICAgICBlbmQK
ZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cnVieS9qc2Mtc3RyZXNzLXRlc3Qtd3Jp
dGVyLXJ1YnkucmIgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHJ1YnkvanNjLXN0cmVzcy10ZXN0LXdy
aXRlci1ydWJ5LnJiCmluZGV4IGQwM2NmNzVjYzQzYzJjYjRmOGMyOTcwMTQ1OGEzYjQ5ZTc5Mzg1
NTMuLjc4ODgxNmFkMGM5ZjEwYjc2NzU2Yjg3MTY1NmY5NDhhNmY1YjJiMzYgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cnVieS9qc2Mtc3RyZXNzLXRlc3Qtd3JpdGVyLXJ1YnkucmIK
KysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRydWJ5L2pzYy1zdHJlc3MtdGVzdC13cml0ZXItcnVi
eS5yYgpAQCAtMzM1LDEwICszMzUsMjEgQEAgY2xhc3MgUGxhbgogICAgICAgICBFTkRfUkVQUk9f
U0NSSVBUX0NPTU1BTkQKICAgICBlbmQKIAorICAgIGRlZiBzdGF0dXNDb21tYW5kKHN0YXR1c19j
b2RlKQorICAgICAgICAjIE1heSBiZSBjYWxsZWQgaW4gdGggcmVzY3VlIGJsb2NrLCBzbyBzdGF0
dXMgaXMgbm90CisgICAgICAgICMgZ3VhcmFudGVlZCB0byBiZSBzZXQ7IGlmIGl0IGlzbid0LCBz
ZXQgdGhlIGV4aXQgY29kZSB0bworICAgICAgICAjIHNvbWV0aGluZyB0aGF0J3MgY2xlYXJseSBp
bnZhbGlkLgorICAgICAgICA8PC1FTkRfU1RBVFVTX0NPTU1BTkQKKyAgICAgICAgICBGaWxlLm9w
ZW4oIiN7c3RhdHVzRmlsZX0iLCAidyIpIHsgfGZ8CisgICAgICAgICAgICAgIGYucHV0cygiI3sk
cnVuVW5pcXVlSWR9IFwje3N0YXR1cy5uaWw/ID8gOTk5OTk5OTk5IDogc3RhdHVzLmV4aXRzdGF0
dXN9ICN7c3RhdHVzX2NvZGV9IikKKyAgICAgICAgICB9CisgICAgICAgIEVORF9TVEFUVVNfQ09N
TUFORAorICAgIGVuZAorCiAgICAgZGVmIGZhaWxDb21tYW5kCiAgICAgICAgIDw8LUVORF9GQUlM
X0NPTU1BTkQKICAgICAgICAgICAgIHByaW50ICJGQUlMOiAje1NoZWxsd29yZHMuc2hlbGxlc2Nh
cGUoQG5hbWUpfVxuIgotICAgICAgICAgICAgRmlsZVV0aWxzLnRvdWNoKCIje2ZhaWxGaWxlfSIp
CisgICAgICAgICAgICAje3N0YXR1c0NvbW1hbmQoU1RBVFVTX0ZJTEVfRkFJTCl9CiAgICAgICAg
ICAgICAje3JlcHJvU2NyaXB0Q29tbWFuZH0KICAgICAgICAgRU5EX0ZBSUxfQ09NTUFORAogICAg
IGVuZApAQCAtMzQ2LDI4ICszNTcsMTggQEAgY2xhc3MgUGxhbgogICAgIGRlZiBzdWNjZXNzQ29t
bWFuZAogICAgICAgICBpZiAkcHJvZ3Jlc3NNZXRlciBvciAkdmVyYm9zaXR5ID49IDIKICAgICAg
ICAgICAgIDw8LUVORF9WRVJCT1NFX1NVQ0NFU1NfQ09NTUFORAotICAgICAgICAgICAgICAgIEZp
bGUudW5saW5rKCIje2ZhaWxGaWxlfSIpIGlmIEZpbGUuZXhpc3RzPygiI3tmYWlsRmlsZX0iKQog
ICAgICAgICAgICAgICAgIHByaW50ICJQQVNTOiAje1NoZWxsd29yZHMuc2hlbGxlc2NhcGUoQG5h
bWUpfVxuIgorICAgICAgICAgICAgICAgICN7c3RhdHVzQ29tbWFuZChTVEFUVVNfRklMRV9QQVNT
KX0KICAgICAgICAgICAgIEVORF9WRVJCT1NFX1NVQ0NFU1NfQ09NTUFORAogICAgICAgICBlbHNl
Ci0gICAgICAgICAgICAiRmlsZS51bmxpbmsoXCIje2ZhaWxGaWxlfVwiKSBpZiBGaWxlLmV4aXN0
cz8oXCIje2ZhaWxGaWxlfVwiKVxuIgorICAgICAgICAgICAgIiN7c3RhdHVzQ29tbWFuZChTVEFU
VVNfRklMRV9QQVNTKX1cbiIKICAgICAgICAgZW5kCiAgICAgZW5kCiAgICAgCi0gICAgZGVmIGZh
aWxGaWxlCi0gICAgICAgICJ0ZXN0X2ZhaWxfI3tAaW5kZXh9IgorICAgIGRlZiBzdGF0dXNGaWxl
CisgICAgICAgICIje1NUQVRVU19GSUxFX1BSRUZJWH0je0BpbmRleH0iCiAgICAgZW5kCiAKLSAg
ICBkZWYgc3RhdHVzV3JpdGUKLSAgICAgICAgPDwtRU5EX1NUQVRVU19XUklURQotICAgICAgICAg
ICAgaWYgIXN1Y2Nlc3Moc3RhdHVzKQotICAgICAgICAgICAgICAgIEZpbGUub3BlbigiI3tmYWls
RmlsZX0iLCAidyIpIGRvIHxjb2RlX2ZpbGV8Ci0gICAgICAgICAgICAgICAgICAgIGNvZGVfZmls
ZS5wdXRzIHN0YXR1cy5leGl0c3RhdHVzCi0gICAgICAgICAgICAgICAgZW5kCi0gICAgICAgICAg
ICBlbmQKLSAgICAgICAgRU5EX1NUQVRVU19XUklURQotICAgIGVuZAotICAgIAogICAgIGRlZiB3
cml0ZVJ1blNjcmlwdChmaWxlbmFtZSkKICAgICAgICAgRmlsZS5vcGVuKGZpbGVuYW1lLCAidyIp
IHsKICAgICAgICAgICAgIHwgb3V0cCB8CkBAIC0zODIsOCArMzgzLDYgQEAgY2xhc3MgUGxhbgog
CiAgICAgICAgICAgICBjbWQgPSBzaGVsbENvbW1hbmQKIAotICAgICAgICAgICAgY21kICs9IHN0
YXR1c1dyaXRlCi0KICAgICAgICAgICAgIGNtZCArPSBAb3V0cHV0SGFuZGxlci5jYWxsKEBuYW1l
KQogCiAgICAgICAgICAgICBpZiAkdmVyYm9zaXR5ID49IDMKQEAgLTM5Myw3ICszOTIsNyBAQCBj
bGFzcyBQbGFuCiAgICAgICAgICAgICBAZXJyb3JIYW5kbGVyLmNhbGwob3V0cCwgc2VsZikKICAg
ICAgICAgICAgIG91dHAucHV0cyAicmVzY3VlIgogICAgICAgICAgICAgb3V0cC5wdXRzICIgICAg
cHJpbnQgXCJGQUlMOiAje1NoZWxsd29yZHMuc2hlbGxlc2NhcGUoQG5hbWUpfVxcblwiIgotICAg
ICAgICAgICAgb3V0cC5wdXRzICIgICAgRmlsZVV0aWxzLnRvdWNoKFwiI3tmYWlsRmlsZX1cIiki
CisgICAgICAgICAgICBvdXRwLnB1dHMgIiAgICAje3N0YXR1c0NvbW1hbmQoU1RBVFVTX0ZJTEVf
RkFJTCl9IgogICAgICAgICAgICAgb3V0cC5wdXRzICJlbmQiCiAgICAgICAgIH0KICAgICBlbmQK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>427739</attachid>
            <date>2021-05-05 01:20:11 -0700</date>
            <delta_ts>2021-05-06 04:56:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-222601-20210505082009.patch</filename>
            <type>text/plain</type>
            <size>27341</size>
            <attacher name="Angelos Oikonomopoulos">angelos</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc3MDA1CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNjk5ZWUwNjkyYjRlNmY1ZmE0MGE1ZWUwZTM5OWFjZjY2
NzI0N2ZlMS4uMDBmOWQ3YWU5MDczNDBjZTdmOWI1Zjg5Y2MyN2JmMDU1MDY0ZDE3MCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1
IEBACisyMDIxLTAzLTAyICBBbmdlbG9zIE9pa29ub21vcG91bG9zICA8YW5nZWxvc0BpZ2FsaWEu
Y29tPgorCisgICAgICAgIFtKU0NdIGRldGVjdCBpbmZyYXN0cnVjdHVyZSBmYWlsdXJlIGZvciBy
ZW1vdGUgc3RyZXNzIHRlc3RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMjI2MDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBydW4tanNjLXN0cmVzcy10ZXN0cyBjdXJyZW50bHkgZGV0ZWN0cyBmYWlsdXJl
cyBieSB0aGUgYWJzZW5jZSBvZgorICAgICAgICBhIGZhaWx1cmUgZmlsZSAodGhhdCBpcyBnZW5l
cmF0ZWQgYnkgZWFjaCBmYWlsaW5nIHRlc3QpLiBUaGlzIGlzCisgICAgICAgIGZyYWdpbGUgdG8g
YmVnaW4gd2l0aCwgYXMgaXQgYXNzdW1lcyB0aGF0IHRlc3RzIHRoYXQgZmFpbCB0byBydW4KKyAg
ICAgICAgKGUuZy4gYmVjYXVzZSBvZiBhbiBlcnJvciBpbiB0aGUgcnVubmVyIHNjcmlwdCkgYXJl
IHN1Y2Nlc3NmdWwgYnkKKyAgICAgICAgZGVmYXVsdC4KKworICAgICAgICBIb3dldmVyLCB0aGUg
bWFpbiBtb3RpdmF0aW9uIGZvciB0aGlzIHBhdGNoIGlzIHRvIG1ha2UgZXhlY3V0aW9uCisgICAg
ICAgIG1vcmUgcm9idXN0IHdoZW4gdXNpbmcgcmVtb3RlIGhvc3RzLiBDdXJyZW50bHksCisgICAg
ICAgIC0tZ251LXBhcmFsbGVsLXJ1bm5lciB3aWxsIHRyYW5zcGFyZW50bHkgcmVzY2hlZHVsZSBq
b2JzIG9uIGEKKyAgICAgICAgZGlmZmVyZW50IGhvc3Qgd2hlbiBhIHJlbW90ZSBob3N0IGdvZXMg
YXdheS4gQnV0IGRldGVjdEZhaWx1cmVzCisgICAgICAgIGV4cGVjdHMgdG8gYmUgYWJsZSB0byBj
b25uZWN0IHRvIGFsbCBob3N0cyBhbmQgZmV0Y2ggdGhlIGZhaWx1cmUKKyAgICAgICAgZmlsZXMs
IHdoaWNoIGZhaWxzIGlmIGEgcmVtb3RlIGhvc3QgaXMgc3RpbGwgZG93biB3aGVuIHRoZSBydW4K
KyAgICAgICAgZmluaXNoZXMuCisKKyAgICAgICAgSW5zdGVhZCwgdGhpcyBwYXRjaCBjaGFuZ2Vz
IHRoZSBydW5uZXJzIHRvIGFsd2F5cyBnZW5lcmF0ZSBhIHN0YXR1cworICAgICAgICBmaWxlIHdp
dGggdGhlIGV4aXQgY29kZS4gZGV0ZWN0RmFpbHVyZXMgdGhlbiBmZXRjaGVzIGFsbCBzdGF0dXMK
KyAgICAgICAgZmlsZXMgZnJvbSBhbGwgaG9zdHMgdGhhdCBhcmUgbGl2ZSBvbiBleGl0LiBUZXN0
cyB0aGF0IGZhaWxlZCB0bworICAgICAgICBydW4gYXJlIGV4cGxpY2l0bHkgYWNjb3VudGVkIGZv
ciBhcyAnbm9yZXBvcnQnIGFuZCBhcmUgc2V0IHRvCisgICAgICAgIEVSUk9SIGluIHRoZSBmaW5h
bCByZXBvcnQuCisKKyAgICAgICAgKiBTY3JpcHRzL3J1bi1qYXZhc2NyaXB0Y29yZS10ZXN0czoK
KyAgICAgICAgKHJ1bkpTQ1N0cmVzc1Rlc3RzKToKKyAgICAgICAgKiBTY3JpcHRzL3J1bi1qc2Mt
c3RyZXNzLXRlc3RzOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cnVieS9qc2Mtc3RyZXNzLXRl
c3Qtd3JpdGVyLWRlZmF1bHQucmI6CisKIDIwMjEtMDUtMDQgIEppZXdlbiBUYW4gIDxqaWV3ZW5f
dGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBQQ006IEZpbmQgYSB3YXkgdG8gdmFsaWRhdGUgc291
cmNlX3NlY3JldF90b2tlbiBhbmQgc291cmNlX3NlY3JldF90b2tlbl9zaWduYXR1cmUKZGlmZiAt
LWdpdCBhL1Rvb2xzL1NjcmlwdHMvcnVuLWphdmFzY3JpcHRjb3JlLXRlc3RzIGIvVG9vbHMvU2Ny
aXB0cy9ydW4tamF2YXNjcmlwdGNvcmUtdGVzdHMKaW5kZXggYzFkYjJmNDViY2QxMmNmODMwNTRm
YjgwNjM4ZDlkOGUxNDQ4YjRiMS4uYmQyMGIyZWUwNzQzYjI2MGE0N2JjZDVhMWI5ZGE2ZDJmMWJm
M2VkNyAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy9ydW4tamF2YXNjcmlwdGNvcmUtdGVzdHMK
KysrIGIvVG9vbHMvU2NyaXB0cy9ydW4tamF2YXNjcmlwdGNvcmUtdGVzdHMKQEAgLTkzMiw5ICs5
MzIsMjAgQEAgc3ViIHJ1bkpTQ1N0cmVzc1Rlc3RzCiAgICAgfQogICAgIHByaW50ICJcbiI7CiAK
KyAgICBteSBAanNjU3RyZXNzTm9SZXN1bHRMaXN0ID0gcmVhZEFsbExpbmVzKCRqc2NTdHJlc3NS
ZXN1bHRzRGlyIC4gIi9ub3Jlc3VsdCIpOworICAgIG15ICRudW1KU0NTdHJlc3NOb1Jlc3VsdFRl
c3RzID0gQGpzY1N0cmVzc05vUmVzdWx0TGlzdDsKKworICAgIGlmICgkbnVtSlNDU3RyZXNzTm9S
ZXN1bHRUZXN0cykgeworICAgICAgICAkaXNUZXN0RmFpbGVkID0gMTsKKyAgICB9CisgICAgZm9y
ZWFjaCBteSAkdGVzdE5vUmVzdWx0IChAanNjU3RyZXNzTm9SZXN1bHRMaXN0KSB7CisgICAgICAg
ICAgICAkcmVwb3J0RGF0YXskdGVzdE5vUmVzdWx0fSA9IHthY3R1YWwgPT4gIkVSUk9SIn07Cisg
ICAgfQorCiAgICAgcHJpbnQgIlJlc3VsdHMgZm9yIEpTQyBzdHJlc3MgdGVzdHM6XG4iOwogICAg
IHByaW50VGhpbmdzRm91bmQoJG51bUpTQ1N0cmVzc0ZhaWx1cmVzLCAiZmFpbHVyZSIsICJmYWls
dXJlcyIsICJmb3VuZCIpOwotICAgIHByaW50ICIgICAgT0suXG4iIGlmICRudW1KU0NTdHJlc3NG
YWlsdXJlcyA9PSAwOworICAgIHByaW50VGhpbmdzRm91bmQoJG51bUpTQ1N0cmVzc05vUmVzdWx0
VGVzdHMsICJ0ZXN0IiwgInRlc3RzIiwgImZhaWxlZCB0byBjb21wbGV0ZSIpOworICAgIHByaW50
ICIgICAgT0suXG4iIGlmICRudW1KU0NTdHJlc3NGYWlsdXJlcyA9PSAwIGFuZCAkbnVtSlNDU3Ry
ZXNzTm9SZXN1bHRUZXN0cyA9PSAwOwogCiAgICAgcHJpbnQgIlxuIjsKIApkaWZmIC0tZ2l0IGEv
VG9vbHMvU2NyaXB0cy9ydW4tanNjLXN0cmVzcy10ZXN0cyBiL1Rvb2xzL1NjcmlwdHMvcnVuLWpz
Yy1zdHJlc3MtdGVzdHMKaW5kZXggZjc3ZDZjOTY0MmExNjY0YWZhYzE0Zjk0ZTJhNDlhOTNkMDAz
NGU1Mi4uZDNmN2ExMGI3YTVhZmM4YTg2MDY1OTBmMmQ5YjAxOWJjYmExZGJlYSAxMDA3NTUKLS0t
IGEvVG9vbHMvU2NyaXB0cy9ydW4tanNjLXN0cmVzcy10ZXN0cworKysgYi9Ub29scy9TY3JpcHRz
L3J1bi1qc2Mtc3RyZXNzLXRlc3RzCkBAIC01Nyw2ICs1Nyw5IEBAIHJhaXNlIHVubGVzcyBTQ1JJ
UFRTX1BBVEguYmFzZW5hbWUudG9fcyA9PSAiU2NyaXB0cyIKIHJhaXNlIHVubGVzcyBTQ1JJUFRT
X1BBVEguZGlybmFtZS5iYXNlbmFtZS50b19zID09ICJUb29scyIKIAogSEVMUEVSU19QQVRIID0g
U0NSSVBUU19QQVRIICsgImpzYy1zdHJlc3MtdGVzdC1oZWxwZXJzIgorU1RBVFVTX0ZJTEVfUFJF
RklYID0gInRlc3Rfc3RhdHVzXyIKK1NUQVRVU19GSUxFX1BBU1MgPSAiUCIKK1NUQVRVU19GSUxF
X0ZBSUwgPSAiRiIKIAogYmVnaW4KICAgICByZXF1aXJlICdzaGVsbHdvcmRzJwpAQCAtMTM1LDYg
KzEzOCw3IEBAICRyZXBvcnRFeGVjdXRpb25UaW1lID0gZmFsc2UKICRsZGQgPSBuaWwKICRhcnRp
ZmFjdF9leGVjX3dyYXBwZXIgPSBuaWwKICRudW1DaGlsZFByb2Nlc3Nlc1NldEJ5VXNlciA9IGZh
bHNlCiskcnVuVW5pcXVlSWQgPSBSYW5kb20ubmV3LmJ5dGVzKDE2KS51bnBhY2soIkgqIilbMF0K
IAogZGVmIHVzYWdlCiAgICAgcHV0cyAicnVuLWpzYy1zdHJlc3MtdGVzdHMgLWogPHNoZWxsIHBh
dGg+IDxjb2xsZWN0aW9ucyBwYXRoPiBbPGNvbGxlY3Rpb25zIHBhdGg+IC4uLl0iCkBAIC01Mzcs
OSArNTQxLDYgQEAgaWYgJHRlc3RXcml0ZXIKICAgICBlbmQKIGVuZAogCi0kbnVtRmFpbHVyZXMg
PSAwCi0kbnVtUGFzc2VzID0gMAotCiAjIFdlIGZvcmNlIGFsbCB0ZXN0cyB0byB1c2UgYSBzbWFs
bGVyICgxLjVNKSBzdGFjayBzbyB0aGF0IHN0YWNrIG92ZXJmbG93IHRlc3RzIGNhbiBydW4gZmFz
dGVyLgogQkFTRV9PUFRJT05TID0gWyItLXVzZUZUTEpJVD1mYWxzZSIsICItLXVzZUZ1bmN0aW9u
RG90QXJndW1lbnRzPXRydWUiLCAiLS12YWxpZGF0ZUV4Y2VwdGlvbkNoZWNrcz10cnVlIiwgIi0t
dXNlRG9sbGFyVk09dHJ1ZSIsICItLW1heFBlclRocmVhZFN0YWNrVXNhZ2U9MTU3Mjg2NCJdCiBF
QUdFUl9PUFRJT05TID0gWyItLXRocmVzaG9sZEZvckpJVEFmdGVyV2FybVVwPTEwIiwgIi0tdGhy
ZXNob2xkRm9ySklUU29vbj0xMCIsICItLXRocmVzaG9sZEZvck9wdGltaXplQWZ0ZXJXYXJtVXA9
MjAiLCAiLS10aHJlc2hvbGRGb3JPcHRpbWl6ZUFmdGVyTG9uZ1dhcm1VcD0yMCIsICItLXRocmVz
aG9sZEZvck9wdGltaXplU29vbj0yMCIsICItLXRocmVzaG9sZEZvckZUTE9wdGltaXplQWZ0ZXJX
YXJtVXA9MjAiLCAiLS10aHJlc2hvbGRGb3JGVExPcHRpbWl6ZVNvb249MjAiLCAiLS10aHJlc2hv
bGRGb3JPTUdPcHRpbWl6ZUFmdGVyV2FybVVwPTIwIiwgIi0tdGhyZXNob2xkRm9yT01HT3B0aW1p
emVTb29uPTIwIiwgIi0tbWF4aW11bUV2YWxDYWNoZWFibGVTb3VyY2VMZW5ndGg9MTUwMDAwIiwg
Ii0tdXNlRWFnZXJDb2RlQmxvY2tKZXR0aXNvblRpbWluZz10cnVlIiwgIi0tcmVwYXRjaEJ1ZmZl
cmluZ0NvdW50ZG93bj0wIl0KQEAgLTE4MjMsNyArMTgyNCw2IEBAIGRlZiBhcHBlbmRGYWlsdXJl
KHBsYW4pCiAgICAgICAgIHwgb3V0cCB8CiAgICAgICAgIG91dHAucHV0cyBwbGFuLm5hbWUKICAg
ICB9Ci0gICAgJG51bUZhaWx1cmVzICs9IDEKIGVuZAogCiBkZWYgYXBwZW5kUGFzcyhwbGFuKQpA
QCAtMTgzMSw3ICsxODMxLDEzIEBAIGRlZiBhcHBlbmRQYXNzKHBsYW4pCiAgICAgICAgIHwgb3V0
cCB8CiAgICAgICAgIG91dHAucHV0cyBwbGFuLm5hbWUKICAgICB9Ci0gICAgJG51bVBhc3NlcyAr
PSAxCitlbmQKKworZGVmIGFwcGVuZE5vUmVzdWx0KHBsYW4pCisgICAgRmlsZS5vcGVuKCRvdXRw
dXREaXIgKyAibm9yZXN1bHQiLCAiYSIpIHsKKyAgICAgICAgfCBvdXRwIHwKKyAgICAgICAgb3V0
cC5wdXRzIHBsYW4ubmFtZQorICAgIH0KIGVuZAogCiBkZWYgYXBwZW5kUmVzdWx0KHBsYW4sIGRp
ZFBhc3MpCkBAIC0yMDM5LDcgKzIwNDUsNyBAQCBkZWYgY2xlYW5SdW5uZXJEaXJlY3RvcnkKICAg
ICB9CiBlbmQKIAotZGVmIHNzaFJlYWQoY21kLCByZW1vdGVJbmRleD0wKQorZGVmIHNzaFJlYWQo
Y21kLCByZW1vdGVJbmRleD0wLCBvcHRpb25zPXt9KQogICAgIHJhaXNlIHVubGVzcyAkcmVtb3Rl
CiAKICAgICByZW1vdGVIb3N0ID0gJHJlbW90ZUhvc3RzW3JlbW90ZUluZGV4XQpAQCAtMjA1Miw3
ICsyMDU4LDcgQEAgZGVmIHNzaFJlYWQoY21kLCByZW1vdGVJbmRleD0wKQogICAgICAgICByZXN1
bHQgKz0gbGluZQogICAgICAgfQogICAgIH0KLSAgICByYWlzZSAiI3skP30iIHVubGVzcyAkPy5z
dWNjZXNzPworICAgIHJhaXNlICIjeyQ/fSIgdW5sZXNzICQ/LnN1Y2Nlc3M/IG9yIG9wdGlvbnNb
Omlnbm9yZUZhaWx1cmVdCiAgICAgcmVzdWx0CiBlbmQKIApAQCAtMjIwNyw1MiArMjIxMywxMTAg
QEAgZGVmIHJ1blRlc3RSdW5uZXIocmVtb3RlSW5kZXg9MCkKICAgICBlbmQKIGVuZAogCi1kZWYg
ZGV0ZWN0RmFpbHVyZXMKLSAgICByYWlzZSBpZiAkYnVuZGxlCi0gICAgZmFpbHVyZXMgPSBbXQor
ZGVmIGdldFN0YXR1c01hcAorICAgIG5hbWVfcmUgPSAvXlsuXVwvI3tTVEFUVVNfRklMRV9QUkVG
SVh9KFxkKykkLworICAgIG1hcCA9IHt9CiAgICAgaWYgJHJlbW90ZQogICAgICAgICAkcmVtb3Rl
SG9zdHMuZWFjaF93aXRoX2luZGV4IHsKICAgICAgICAgICAgIHwgaG9zdCwgcmVtb3RlSW5kZXgg
fAotICAgICAgICAgICAgb3V0cHV0ID0gc3NoUmVhZCgiY2QgI3tob3N0LnJlbW90ZURpcmVjdG9y
eX0vI3skb3V0cHV0RGlyLmJhc2VuYW1lfS8ucnVubmVyICYmIGZpbmQgLiAtbWF4ZGVwdGggMSAt
bmFtZSBcInRlc3RfZmFpbF8qXCIiLCByZW1vdGVJbmRleCkKKyAgICAgICAgICAgIG91dHB1dCA9
IHNzaFJlYWQoImNkICN7aG9zdC5yZW1vdGVEaXJlY3Rvcnl9LyN7JG91dHB1dERpci5iYXNlbmFt
ZX0vLnJ1bm5lciAmJiBmaW5kIC4gLW1heGRlcHRoIDEgLW5hbWUgXCIje1NUQVRVU19GSUxFX1BS
RUZJWH0qXCIgLWV4ZWMgc2ggLWMgXCJwcmludGYgXFxcIiVzIFxcXCIge307IGNhdCB7fVwiIFxc
OyIsIHJlbW90ZUluZGV4LCA6aWdub3JlRmFpbHVyZSA9PiB0cnVlKQogICAgICAgICAgICAgb3V0
cHV0LnNwbGl0KC9cbi8pLmVhY2ggewogICAgICAgICAgICAgICAgIHwgbGluZSB8Ci0gICAgICAg
ICAgICAgICAgbmV4dCB1bmxlc3MgbGluZSA9fiAvdGVzdF9mYWlsXy8KLSAgICAgICAgICAgICAg
ICBmYWlsdXJlcyA8PCAkfi5wb3N0X21hdGNoLnRvX2kKKyAgICAgICAgICAgICAgICBuYW1lLCBy
dW5faWQsIF8sIHJlc3VsdCA9IGxpbmUuc3BsaXQoJyAnKQorICAgICAgICAgICAgICAgIG1kID0g
bmFtZV9yZS5tYXRjaChuYW1lKQorICAgICAgICAgICAgICAgIGlmIG1kLm5pbD8KKyAgICAgICAg
ICAgICAgICAgICAgJHN0ZGVyci5wdXRzKCJDb3VsZCBub3QgcGFyc2UgbmFtZSBpbiBgI3tsaW5l
fWAiKQorICAgICAgICAgICAgICAgICAgICBleGl0KDEpCisgICAgICAgICAgICAgICAgZW5kCisg
ICAgICAgICAgICAgICAgaWYgcnVuX2lkICE9ICRydW5VbmlxdWVJZAorICAgICAgICAgICAgICAg
ICAgICAjIFRoaXMgbWF5IGNvbmNlaXZhYmx5IGhhcHBlbiBpZiBhIHJlbW90ZSBnb2VzCisgICAg
ICAgICAgICAgICAgICAgICMgYXdheSBpbiB0aGUgbWlkZGxlIG9mIGEgcnVuIGFuZCBjb21lcyBi
YWNrCisgICAgICAgICAgICAgICAgICAgICMgb25saW5lIGluIHRoZSBtaWRkbGUgb2YgYSBkaWZm
ZXJlbnQgcnVuLgorICAgICAgICAgICAgICAgICAgICAkc3RkZXJyLnB1dHMoIklnbm9yaW5nIHN0
YWxlIHN0YXR1cyBmaWxlIGZvciAje25hbWV9IChJRCAje3J1bl9pZH0gYnV0IGN1cnJlbnQgSUQg
aXMgI3skcnVuVW5pcXVlSWR9KSIpCisgICAgICAgICAgICAgICAgICAgIG5leHQKKyAgICAgICAg
ICAgICAgICBlbmQKKyAgICAgICAgICAgICAgICBpbmRleCA9IG1kWzFdLnRvX2kKKyAgICAgICAg
ICAgICAgICBpZiBtYXAuaGFzX2tleT8oaW5kZXgpCisgICAgICAgICAgICAgICAgICAgICRzdGRl
cnIucHV0cygiRHVwbGljYXRlIHN0YXRlIGZpbGUgZm9yICN7aW5kZXh9IikKKyAgICAgICAgICAg
ICAgICAgICAgIyBPbmUgc2NlbmFyaW8gaW4gd2hpY2ggdGhpcyBjb3VsZCBoYXBwZW46CisgICAg
ICAgICAgICAgICAgICAgICMgVGVzdCBUIHJ1bnMgb24gcmVtb3RlIGhvc3QgQSBhbmQKKyAgICAg
ICAgICAgICAgICAgICAgIyAgIDEuIHRoZSBzdGF0dXMgZmlsZSByZWFjaGVzIEEncyBkaXNrCisg
ICAgICAgICAgICAgICAgICAgICMgICAyLiBzb21laG93IHRoZSBnbnUgcGFyYWxsZWwgcnVubmVy
IGlzIG5vdCBtYWRlIGF3YXJlIG9mIHRoZSB0ZXN0J3MgY29tcGxldGlvbiAocGFja2V0IGxvc3M/
KQorICAgICAgICAgICAgICAgICAgICAjICAgMy4gQSBtYWNoaW5lIGNyYXNoZXMKKyAgICAgICAg
ICAgICAgICAgICAgIyAgIDQuIGdudSBwYXJhbGxlbCByZS1zY2hlZHVsZXMgdGhlIHRlc3QgdG8g
cnVuIG9uIHJlbW90ZSBob3N0IEIsIHdoZXJlIGl0IHJ1bnMgdG8gY29tcGxldGlvbgorICAgICAg
ICAgICAgICAgICAgICAjICAgNS4gQiBjb21lcyBiYWNrIG9ubGluZSBiZWZvcmUgdGhlIGVuZCBv
ZiB0aGUgcnVuCisgICAgICAgICAgICAgICAgICAgICMgICA2LiB3ZSBjb2xsZWN0IHRoZSBzdGF0
dXMgZmlsZXMgZnJvbSBhbGwgcmVtb3RlcyBhbmQgZW5kIHVwIHdpdGggdHdvIHN0YXR1cyBmaWxl
cyBmb3IgVC4KKyAgICAgICAgICAgICAgICAgICAgcHJldiA9IG1hcFtpbmRleF0KKyAgICAgICAg
ICAgICAgICAgICAgIyBtYXBbaW5kZXhdIGhvbGRzCisgICAgICAgICAgICAgICAgICAgICMgLSBh
IG51bWJlciwgaWYgYWxsIHJlc3VsdHMgY29kZXMgd2UndmUgb2JzZXJ2ZWQgZm9yIGEgdGVzdCBh
cmUgdGhlIHNhbWUKKyAgICAgICAgICAgICAgICAgICAgIyAtIGFuIGFycmF5LCBpZiB0aGV5IGRp
dmVyZ2UuCisgICAgICAgICAgICAgICAgICAgIGlmIHByZXYuaXNfYT8oQXJyYXkpCisgICAgICAg
ICAgICAgICAgICAgICAgICBwcmV2LnB1c2gocmVzdWx0KQorICAgICAgICAgICAgICAgICAgICBl
bHNpZiBwcmV2ICE9IHJlc3VsdAorICAgICAgICAgICAgICAgICAgICAgICAgIyBJZiB0aGUgdHdv
IHJlc3VsdHMgZGlmZmVyLCBrZWVwIHRoZW0KKyAgICAgICAgICAgICAgICAgICAgICAgICMgYm90
aC4gVGhpcyBpcyBzaW1wbHkgYSB3YXkgdG8gbWFrZSBub3RlIG9mCisgICAgICAgICAgICAgICAg
ICAgICAgICAjIHRoZSBkaXZlcmdlbmNlIChmb3IgbGF0ZXIgcmVwb3J0aW5nKS4KKyAgICAgICAg
ICAgICAgICAgICAgICAgIG1hcFtpbmRleF0gPSBbcHJldiwgcmVzdWx0XQorICAgICAgICAgICAg
ICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgICAgICAjIEdvdCB0aGUgc2FtZSByZXN1
bHQsIG5vIG5lZWQgdG8gZG8gYW55dGhpbmcuCisgICAgICAgICAgICAgICAgICAgIGVuZAorICAg
ICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgbWFwW2luZGV4XSA9IHJlc3Vs
dAorICAgICAgICAgICAgICAgIGVuZAogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgZWxz
ZQogICAgICAgICBEaXIuZm9yZWFjaCgkcnVubmVyRGlyKSB7CiAgICAgICAgICAgICB8IGZpbGVu
YW1lIHwKLSAgICAgICAgICAgIG5leHQgdW5sZXNzIGZpbGVuYW1lID1+IC90ZXN0X2ZhaWxfLwot
ICAgICAgICAgICAgZmFpbHVyZXMgPDwgJH4ucG9zdF9tYXRjaC50b19pCisgICAgICAgICAgICBt
ZCA9IG5hbWVfcmUubWF0Y2goIi4vI3tmaWxlbmFtZX0iKQorICAgICAgICAgICAgbmV4dCB1bmxl
c3MgbWQKKyAgICAgICAgICAgIEZpbGUub3BlbigiI3skcnVubmVyRGlyfS8je2ZpbGVuYW1lfSIs
ICJyIikgeyB8ZnwKKyAgICAgICAgICAgICAgICBydW5JZCwgXywgcmVzdWx0ID0gZi5yZWFkLmNo
b21wLnNwbGl0KCcgJykKKyAgICAgICAgICAgICAgICBpZiBydW5JZCAhPSAkcnVuVW5pcXVlSWQK
KyAgICAgICAgICAgICAgICAgICAgIyBXZSBjbGVhbiB0aGUgZGlyIGJlZm9yZSBhIHN0YXJ0aW5n
IGEgcnVuLgorICAgICAgICAgICAgICAgICAgICByYWlzZSAiQ2FuJ3QgaGFwcGVuIgorICAgICAg
ICAgICAgICAgIGVuZAorICAgICAgICAgICAgICAgIG1hcFttZFsxXS50b19pXSA9IHJlc3VsdAor
ICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgZW5kCisgICAgbWFwCitlbmQKIAotICAgIGZh
aWx1cmVTZXQgPSB7fQotCi0gICAgZmFpbHVyZXMuZWFjaCB7Ci0gICAgICAgIHwgZmFpbHVyZSB8
IAotICAgICAgICBhcHBlbmRGYWlsdXJlKCRydW5saXN0W2ZhaWx1cmVdKQotICAgICAgICBmYWls
dXJlU2V0W2ZhaWx1cmVdID0gdHJ1ZQotICAgIH0KLQorZGVmIGRldGVjdEZhaWx1cmVzCisgICAg
cmFpc2UgaWYgJGJ1bmRsZQorICAgIG5vcmVzdWx0ID0gMAorICAgIHN0YXR1c01hcCA9IGdldFN0
YXR1c01hcAogICAgIGZhbWlseU1hcCA9IHt9CisKICAgICAkcnVubGlzdC5lYWNoX3dpdGhfaW5k
ZXggewogICAgICAgICB8IHBsYW4sIGluZGV4IHwKICAgICAgICAgdW5sZXNzIGZhbWlseU1hcFtw
bGFuLmZhbWlseV0KICAgICAgICAgICAgIGZhbWlseU1hcFtwbGFuLmZhbWlseV0gPSBbXQogICAg
ICAgICBlbmQKLSAgICAgICAgaWYgZmFpbHVyZVNldFtpbmRleF0KLSAgICAgICAgICAgIGFwcGVu
ZFJlc3VsdChwbGFuLCBmYWxzZSkKLSAgICAgICAgICAgIGZhbWlseU1hcFtwbGFuLmZhbWlseV0g
PDwgezpyZXN1bHQgPT4gIkZBSUwiLCA6cGxhbiA9PiBwbGFufTsKKyAgICAgICAgaWYgbm90IHN0
YXR1c01hcC5oYXNfa2V5PyhpbmRleCkgb3Igc3RhdHVzTWFwW2luZGV4XS5pc19hPyhBcnJheSkK
KyAgICAgICAgICAgIGFwcGVuZE5vUmVzdWx0KHBsYW4pCisgICAgICAgICAgICBub3Jlc3VsdCAr
PSAxCiAgICAgICAgICAgICBuZXh0CisgICAgICAgIGVuZAorICAgICAgICByZXN1bHQgPSBuaWwK
KyAgICAgICAgaWYgc3RhdHVzTWFwW2luZGV4XSA9PSBTVEFUVVNfRklMRV9QQVNTCisgICAgICAg
ICAgICBhcHBlbmRQYXNzKHBsYW4pCisgICAgICAgICAgICByZXN1bHQgPSAiUEFTUyIKICAgICAg
ICAgZWxzZQotICAgICAgICAgICAgYXBwZW5kUmVzdWx0KHBsYW4sIHRydWUpCi0gICAgICAgICAg
ICBmYW1pbHlNYXBbcGxhbi5mYW1pbHldIDw8IHs6cmVzdWx0ID0+ICJQQVNTIiwgOnBsYW4gPT4g
cGxhbn07CisgICAgICAgICAgICBhcHBlbmRGYWlsdXJlKHBsYW4pCisgICAgICAgICAgICByZXN1
bHQgPSAiRkFJTCIKICAgICAgICAgZW5kCi0gICAgICAgIGFwcGVuZFBhc3MocGxhbikKKyAgICAg
ICAgYXBwZW5kUmVzdWx0KHBsYW4sIHN0YXR1c01hcFtpbmRleF0gPT0gU1RBVFVTX0ZJTEVfUEFT
UykKKyAgICAgICAgZmFtaWx5TWFwW3BsYW4uZmFtaWx5XSA8PCB7OnJlc3VsdCA9PiByZXN1bHQs
IDpwbGFuID0+IHBsYW4gfQogICAgIH0KIAorICAgIGlmIG5vcmVzdWx0ID4gMAorICAgICAgICAk
c3RkZXJyLnB1dHMoIkNvdWxkIG5vdCBnZXQgdGhlIGV4aXQgc3RhdHVzIGZvciAje25vcmVzdWx0
fSB0ZXN0cyIpCisgICAgICAgICMgV2UgY2FuJ3QgY2hhbmdlIG91ciBleGl0IGNvZGUsIGFzIHJ1
bi1qYXZhc2NyaXB0Y29yZS10ZXN0cworICAgICAgICAjIGV4cGVjdHMgMCBldmVuIHdoZW4gdGhl
cmUgYXJlIGZhaWx1cmVzLgorICAgIGVuZAorCiAgICAgRmlsZS5vcGVuKCRvdXRwdXREaXIgKyAi
cmVzdWx0c0J5RmFtaWx5IiwgInciKSB7CiAgICAgICAgIHwgb3V0cCB8CiAgICAgICAgIGZpcnN0
ID0gdHJ1ZQpAQCAtMjI2Myw3ICsyMzI3LDcgQEAgZGVmIGRldGVjdEZhaWx1cmVzCiAgICAgICAg
ICAgICBlbHNlCiAgICAgICAgICAgICAgICAgb3V0cC5wdXRzCiAgICAgICAgICAgICBlbmQKLSAg
ICAgICAgICAgIAorCiAgICAgICAgICAgICBvdXRwLnByaW50ICIje2ZhbWlseU5hbWV9OiIKIAog
ICAgICAgICAgICAgbnVtUGFzc2VkID0gMApAQCAtMjMwMSw2ICsyMzY1LDcgQEAgZW5kCiAKIGNs
ZWFuKCRvdXRwdXREaXIgKyAiZmFpbGVkIikKIGNsZWFuKCRvdXRwdXREaXIgKyAicGFzc2VkIikK
K2NsZWFuKCRvdXRwdXREaXIgKyAibm9yZXN1bHQiKQogY2xlYW4oJG91dHB1dERpciArICJyZXN1
bHRzIikKIGNsZWFuKCRvdXRwdXREaXIgKyAicmVzdWx0c0J5RmFtaWx5IikKIGNsZWFuKCRvdXRw
dXREaXIgKyAiLnZtIikKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cnVieS9qc2Mt
c3RyZXNzLXRlc3Qtd3JpdGVyLWRlZmF1bHQucmIgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHJ1Ynkv
anNjLXN0cmVzcy10ZXN0LXdyaXRlci1kZWZhdWx0LnJiCmluZGV4IDI5NGNlMjBkMjZlM2IwYTdm
MTA5ODg4MDI0OWE5MDMyNmRmYmYyZDIuLmQ2MWI3MWRhMDBlMWZkYWM5ZGY5ZGQyNTllMGJlNjYw
NGM3YjcxM2EgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cnVieS9qc2Mtc3RyZXNz
LXRlc3Qtd3JpdGVyLWRlZmF1bHQucmIKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRydWJ5L2pz
Yy1zdHJlc3MtdGVzdC13cml0ZXItZGVmYXVsdC5yYgpAQCAtMzcsNyArMzcsNyBAQCBlbmQKIGRl
ZiBzaWxlbnRPdXRwdXRIYW5kbGVyCiAgICAgUHJvYy5uZXcgewogICAgICAgICB8IG5hbWUgfAot
ICAgICAgICAiIHwgIiArIHBpcGVBbmRQcmVmaXhDb21tYW5kKChQYXRobmFtZSgiLi4iKSArIChu
YW1lICsgIi5vdXQiKSkudG9fcywgbmFtZSkKKyAgICAgICAgcGlwZUFuZFByZWZpeENvbW1hbmQo
KFBhdGhuYW1lKCIuLiIpICsgKG5hbWUgKyAiLm91dCIpKS50b19zLCBuYW1lKQogICAgIH0KIGVu
ZAogCkBAIC00NSwxOCArNDUsMjQgQEAgZW5kCiBkZWYgbm9pc3lPdXRwdXRIYW5kbGVyCiAgICAg
UHJvYy5uZXcgewogICAgICAgICB8IG5hbWUgfAotICAgICAgICAiIHwgY2F0ID4gIiArIFNoZWxs
d29yZHMuc2hlbGxlc2NhcGUoKFBhdGhuYW1lKCIuLiIpICsgKG5hbWUgKyAiLm91dCIpKS50b19z
KQorICAgICAgICAiY2F0ID4gIiArIFNoZWxsd29yZHMuc2hlbGxlc2NhcGUoKFBhdGhuYW1lKCIu
LiIpICsgKG5hbWUgKyAiLm91dCIpKS50b19zKQogICAgIH0KIGVuZAogCitkZWYgZ2V0QW5kVGVz
dEV4aXRDb2RlKHBsYW4sIGNvbmRpdGlvbikKKyAgICA8PC1FT0YKKyAgICBpZiB0ZXN0ICIkZXhp
dENvZGUiICN7Y29uZGl0aW9ufQorRU9GCitlbmQKKwogIyBFcnJvciBoYW5kbGVyIGZvciB0ZXN0
cyB0aGF0IGZhaWwgZXhhY3RseSB3aGVuIHRoZXkgcmV0dXJuIG5vbi16ZXJvIGV4aXQgc3RhdHVz
LgogIyBUaGlzIGlzIHVzZWZ1bCB3aGVuIGEgdGVzdCBpcyBleHBlY3RlZCB0byBmYWlsLgogZGVm
IHNpbXBsZUVycm9ySGFuZGxlcgogICAgIFByb2MubmV3IHsKICAgICAgICAgfCBvdXRwLCBwbGFu
IHwKLSAgICAgICAgb3V0cC5wdXRzICJpZiB0ZXN0IC1lICN7cGxhbi5mYWlsRmlsZX0iCisgICAg
ICAgIG91dHAucHV0cyBnZXRBbmRUZXN0RXhpdENvZGUocGxhbiwgIi1uZSAwIikKICAgICAgICAg
b3V0cC5wdXRzICJ0aGVuIgotICAgICAgICBvdXRwLnB1dHMgIiAgICAoZWNobyBFUlJPUjogVW5l
eHBlY3RlZCBleGl0IGNvZGU6IGBjYXQgI3twbGFuLmZhaWxGaWxlfWApIHwgIiArIHJlZGlyZWN0
QW5kUHJlZml4Q29tbWFuZChwbGFuLm5hbWUpCisgICAgICAgIG91dHAucHV0cyAiICAgIChlY2hv
IEVSUk9SOiBVbmV4cGVjdGVkIGV4aXQgY29kZTogJGV4aXRDb2RlKSB8ICIgKyByZWRpcmVjdEFu
ZFByZWZpeENvbW1hbmQocGxhbi5uYW1lKQogICAgICAgICBvdXRwLnB1dHMgIiAgICAiICsgcGxh
bi5mYWlsQ29tbWFuZAogICAgICAgICBvdXRwLnB1dHMgImVsc2UiCiAgICAgICAgIG91dHAucHV0
cyAiICAgICIgKyBwbGFuLnN1Y2Nlc3NDb21tYW5kCkBAIC02OCw3ICs3NCw3IEBAIGVuZAogZGVm
IGV4cGVjdGVkRmFpbEVycm9ySGFuZGxlcgogICAgIFByb2MubmV3IHsKICAgICAgICAgfCBvdXRw
LCBwbGFuIHwKLSAgICAgICAgb3V0cC5wdXRzICJpZiB0ZXN0IC1lICN7cGxhbi5mYWlsRmlsZX0i
CisgICAgICAgIG91dHAucHV0cyBnZXRBbmRUZXN0RXhpdENvZGUocGxhbiwgIi1uZSAwIikKICAg
ICAgICAgb3V0cC5wdXRzICJ0aGVuIgogICAgICAgICBvdXRwLnB1dHMgIiAgICAiICsgcGxhbi5z
dWNjZXNzQ29tbWFuZAogICAgICAgICBvdXRwLnB1dHMgImVsc2UiCkBAIC04NCwxMCArOTAsMTAg
QEAgZGVmIG5vaXN5RXJyb3JIYW5kbGVyCiAgICAgUHJvYy5uZXcgewogICAgICAgICB8IG91dHAs
IHBsYW4gfAogICAgICAgICBvdXRwdXRGaWxlbmFtZSA9IFNoZWxsd29yZHMuc2hlbGxlc2NhcGUo
KFBhdGhuYW1lKCIuLiIpICsgKHBsYW4ubmFtZSArICIub3V0IikpLnRvX3MpCi0gICAgCi0gICAg
ICAgIG91dHAucHV0cyAiaWYgdGVzdCAtZSAje3BsYW4uZmFpbEZpbGV9IgorCisgICAgICAgIG91
dHAucHV0cyBnZXRBbmRUZXN0RXhpdENvZGUocGxhbiwgIi1uZSAwIikKICAgICAgICAgb3V0cC5w
dXRzICJ0aGVuIgotICAgICAgICBvdXRwLnB1dHMgIiAgICAoY2F0ICN7b3V0cHV0RmlsZW5hbWV9
ICYmIGVjaG8gRVJST1I6IFVuZXhwZWN0ZWQgZXhpdCBjb2RlOiBgY2F0ICN7cGxhbi5mYWlsRmls
ZX1gKSB8ICIgKyByZWRpcmVjdEFuZFByZWZpeENvbW1hbmQocGxhbi5uYW1lKQorICAgICAgICBv
dXRwLnB1dHMgIiAgICAoY2F0ICN7b3V0cHV0RmlsZW5hbWV9ICYmIGVjaG8gRVJST1I6IFVuZXhw
ZWN0ZWQgZXhpdCBjb2RlOiAkZXhpdENvZGUpIHwgIiArIHJlZGlyZWN0QW5kUHJlZml4Q29tbWFu
ZChwbGFuLm5hbWUpCiAgICAgICAgIG91dHAucHV0cyAiICAgICIgKyBwbGFuLmZhaWxDb21tYW5k
CiAgICAgICAgIG91dHAucHV0cyAiZWxzZSIKICAgICAgICAgb3V0cC5wdXRzICIgICAgIiArIHBs
YW4uc3VjY2Vzc0NvbW1hbmQKQEAgLTEwMSwxMCArMTA3LDEwIEBAIGRlZiBkaWZmRXJyb3JIYW5k
bGVyKGV4cGVjdGVkRmlsZW5hbWUpCiAgICAgICAgIHwgb3V0cCwgcGxhbiB8CiAgICAgICAgIG91
dHB1dEZpbGVuYW1lID0gU2hlbGx3b3Jkcy5zaGVsbGVzY2FwZSgoUGF0aG5hbWUoIi4uIikgKyAo
cGxhbi5uYW1lICsgIi5vdXQiKSkudG9fcykKICAgICAgICAgZGlmZkZpbGVuYW1lID0gU2hlbGx3
b3Jkcy5zaGVsbGVzY2FwZSgoUGF0aG5hbWUoIi4uIikgKyAocGxhbi5uYW1lICsgIi5kaWZmIikp
LnRvX3MpCi0gICAgICAgIAotICAgICAgICBvdXRwLnB1dHMgImlmIHRlc3QgLWUgI3twbGFuLmZh
aWxGaWxlfSIKKworICAgICAgICBvdXRwLnB1dHMgZ2V0QW5kVGVzdEV4aXRDb2RlKHBsYW4sICIt
bmUgMCIpCiAgICAgICAgIG91dHAucHV0cyAidGhlbiIKLSAgICAgICAgb3V0cC5wdXRzICIgICAg
KGNhdCAje291dHB1dEZpbGVuYW1lfSAmJiBlY2hvIEVSUk9SOiBVbmV4cGVjdGVkIGV4aXQgY29k
ZTogYGNhdCAje3BsYW4uZmFpbEZpbGV9YCkgfCAiICsgcmVkaXJlY3RBbmRQcmVmaXhDb21tYW5k
KHBsYW4ubmFtZSkKKyAgICAgICAgb3V0cC5wdXRzICIgICAgKGNhdCAje291dHB1dEZpbGVuYW1l
fSAmJiBlY2hvIEVSUk9SOiBVbmV4cGVjdGVkIGV4aXQgY29kZTogJGV4aXRDb2RlKSB8ICIgKyBy
ZWRpcmVjdEFuZFByZWZpeENvbW1hbmQocGxhbi5uYW1lKQogICAgICAgICBvdXRwLnB1dHMgIiAg
ICAiICsgcGxhbi5mYWlsQ29tbWFuZAogICAgICAgICBvdXRwLnB1dHMgImVsaWYgdGVzdCAtZSAu
Li8je1NoZWxsd29yZHMuc2hlbGxlc2NhcGUoZXhwZWN0ZWRGaWxlbmFtZSl9IgogICAgICAgICBv
dXRwLnB1dHMgInRoZW4iCkBAIC0xMzAsOSArMTM2LDkgQEAgZGVmIG1vemlsbGFFcnJvckhhbmRs
ZXIKICAgICAgICAgfCBvdXRwLCBwbGFuIHwKICAgICAgICAgb3V0cHV0RmlsZW5hbWUgPSBTaGVs
bHdvcmRzLnNoZWxsZXNjYXBlKChQYXRobmFtZSgiLi4iKSArIChwbGFuLm5hbWUgKyAiLm91dCIp
KS50b19zKQogCi0gICAgICAgIG91dHAucHV0cyAiaWYgdGVzdCAtZSAje3BsYW4uZmFpbEZpbGV9
IgorICAgICAgICBvdXRwLnB1dHMgZ2V0QW5kVGVzdEV4aXRDb2RlKHBsYW4sICItbmUgMCIpCiAg
ICAgICAgIG91dHAucHV0cyAidGhlbiIKLSAgICAgICAgb3V0cC5wdXRzICIgICAgKGNhdCAje291
dHB1dEZpbGVuYW1lfSAmJiBlY2hvIEVSUk9SOiBVbmV4cGVjdGVkIGV4aXQgY29kZTogYGNhdCAj
e3BsYW4uZmFpbEZpbGV9YCkgfCAiICsgcmVkaXJlY3RBbmRQcmVmaXhDb21tYW5kKHBsYW4ubmFt
ZSkKKyAgICAgICAgb3V0cC5wdXRzICIgICAgKGNhdCAje291dHB1dEZpbGVuYW1lfSAmJiBlY2hv
IEVSUk9SOiBVbmV4cGVjdGVkIGV4aXQgY29kZTogJGV4aXRDb2RlKSB8ICIgKyByZWRpcmVjdEFu
ZFByZWZpeENvbW1hbmQocGxhbi5uYW1lKQogICAgICAgICBvdXRwLnB1dHMgIiAgICAiICsgcGxh
bi5mYWlsQ29tbWFuZAogICAgICAgICBvdXRwLnB1dHMgImVsaWYgZ3JlcCAtaSAtcSBmYWlsZWQh
ICN7b3V0cHV0RmlsZW5hbWV9IgogICAgICAgICBvdXRwLnB1dHMgInRoZW4iCkBAIC0xNTEsNyAr
MTU3LDcgQEAgZGVmIG1vemlsbGFGYWlsRXJyb3JIYW5kbGVyCiAgICAgICAgIHwgb3V0cCwgcGxh
biB8CiAgICAgICAgIG91dHB1dEZpbGVuYW1lID0gU2hlbGx3b3Jkcy5zaGVsbGVzY2FwZSgoUGF0
aG5hbWUoIi4uIikgKyAocGxhbi5uYW1lICsgIi5vdXQiKSkudG9fcykKIAotICAgICAgICBvdXRw
LnB1dHMgImlmIHRlc3QgLWUgI3twbGFuLmZhaWxGaWxlfSIKKyAgICAgICAgb3V0cC5wdXRzIGdl
dEFuZFRlc3RFeGl0Q29kZShwbGFuLCAiLW5lIDAiKQogICAgICAgICBvdXRwLnB1dHMgInRoZW4i
CiAgICAgICAgIG91dHAucHV0cyAiICAgICIgKyBwbGFuLnN1Y2Nlc3NDb21tYW5kCiAgICAgICAg
IG91dHAucHV0cyAiZWxpZiBncmVwIC1pIC1xIGZhaWxlZCEgI3tvdXRwdXRGaWxlbmFtZX0iCkBA
IC0xNzEsOSArMTc3LDkgQEAgZGVmIG1vemlsbGFFeGl0M0Vycm9ySGFuZGxlcgogICAgICAgICB8
IG91dHAsIHBsYW4gfAogICAgICAgICBvdXRwdXRGaWxlbmFtZSA9IFNoZWxsd29yZHMuc2hlbGxl
c2NhcGUoKFBhdGhuYW1lKCIuLiIpICsgKHBsYW4ubmFtZSArICIub3V0IikpLnRvX3MpCiAKLSAg
ICAgICAgb3V0cC5wdXRzICJpZiB0ZXN0IC1lICN7cGxhbi5mYWlsRmlsZX0iCisgICAgICAgIG91
dHAucHV0cyBnZXRBbmRUZXN0RXhpdENvZGUocGxhbiwgIi1uZSAwIikKICAgICAgICAgb3V0cC5w
dXRzICJ0aGVuIgotICAgICAgICBvdXRwLnB1dHMgIiAgICBpZiBbIGBjYXQgI3twbGFuLmZhaWxG
aWxlfWAgLWVxIDMgXSIKKyAgICAgICAgb3V0cC5wdXRzICIgICAgaWYgWyBcIiRleGl0Q29kZVwi
IC1lcSAzIF0iCiAgICAgICAgIG91dHAucHV0cyAiICAgIHRoZW4iCiAgICAgICAgIG91dHAucHV0
cyAiICAgICAgICBpZiBncmVwIC1pIC1xIGZhaWxlZCEgI3tvdXRwdXRGaWxlbmFtZX0iCiAgICAg
ICAgIG91dHAucHV0cyAiICAgICAgICB0aGVuIgpAQCAtMTgzLDcgKzE4OSw3IEBAIGRlZiBtb3pp
bGxhRXhpdDNFcnJvckhhbmRsZXIKICAgICAgICAgb3V0cC5wdXRzICIgICAgICAgICAgICAiICsg
cGxhbi5zdWNjZXNzQ29tbWFuZAogICAgICAgICBvdXRwLnB1dHMgIiAgICAgICAgZmkiCiAgICAg
ICAgIG91dHAucHV0cyAiICAgIGVsc2UiCi0gICAgICAgIG91dHAucHV0cyAiICAgICAgICAoY2F0
ICN7b3V0cHV0RmlsZW5hbWV9ICYmIGVjaG8gRVJST1I6IFVuZXhwZWN0ZWQgZXhpdCBjb2RlOiBg
Y2F0ICN7cGxhbi5mYWlsRmlsZX1gKSB8ICIgKyByZWRpcmVjdEFuZFByZWZpeENvbW1hbmQocGxh
bi5uYW1lKQorICAgICAgICBvdXRwLnB1dHMgIiAgICAgICAgKGNhdCAje291dHB1dEZpbGVuYW1l
fSAmJiBlY2hvIEVSUk9SOiBVbmV4cGVjdGVkIGV4aXQgY29kZTogJGV4aXRDb2RlKSB8ICIgKyBy
ZWRpcmVjdEFuZFByZWZpeENvbW1hbmQocGxhbi5uYW1lKQogICAgICAgICBvdXRwLnB1dHMgIiAg
ICAgICAgIiArIHBsYW4uZmFpbENvbW1hbmQKICAgICAgICAgb3V0cC5wdXRzICIgICAgZmkiCiAg
ICAgICAgIG91dHAucHV0cyAiZWxzZSIKQEAgLTIwMCw5ICsyMDYsOSBAQCBkZWYgY2hha3JhUGFz
c0ZhaWxFcnJvckhhbmRsZXIKICAgICAgICAgfCBvdXRwLCBwbGFuIHwKICAgICAgICAgb3V0cHV0
RmlsZW5hbWUgPSBTaGVsbHdvcmRzLnNoZWxsZXNjYXBlKChQYXRobmFtZSgiLi4iKSArIChwbGFu
Lm5hbWUgKyAiLm91dCIpKS50b19zKQogCi0gICAgICAgIG91dHAucHV0cyAiaWYgdGVzdCAtZSAj
e3BsYW4uZmFpbEZpbGV9IgorICAgICAgICBvdXRwLnB1dHMgZ2V0QW5kVGVzdEV4aXRDb2RlKHBs
YW4sICItbmUgMCIpCiAgICAgICAgIG91dHAucHV0cyAidGhlbiIKLSAgICAgICAgb3V0cC5wdXRz
ICIgICAgKGNhdCAje291dHB1dEZpbGVuYW1lfSAmJiBlY2hvIEVSUk9SOiBVbmV4cGVjdGVkIGV4
aXQgY29kZTogYGNhdCAje3BsYW4uZmFpbEZpbGV9YCkgfCAiICsgcmVkaXJlY3RBbmRQcmVmaXhD
b21tYW5kKHBsYW4ubmFtZSkKKyAgICAgICAgb3V0cC5wdXRzICIgICAgKGNhdCAje291dHB1dEZp
bGVuYW1lfSAmJiBlY2hvIEVSUk9SOiBVbmV4cGVjdGVkIGV4aXQgY29kZTogJGV4aXRDb2RlKSB8
ICIgKyByZWRpcmVjdEFuZFByZWZpeENvbW1hbmQocGxhbi5uYW1lKQogICAgICAgICBvdXRwLnB1
dHMgIiAgICAiICsgcGxhbi5mYWlsQ29tbWFuZAogICAgICAgICBvdXRwLnB1dHMgImVsaWYgZ3Jl
cCAtaSAtcSBGQUlMRUQgI3tvdXRwdXRGaWxlbmFtZX0iCiAgICAgICAgIG91dHAucHV0cyAidGhl
biIKQEAgLTI2MiwyNSArMjY4LDI5IEBAIGNsYXNzIFBsYW4KICAgICAgICAgc2NyaXB0ICs9ICIj
e3NoZWxsQ29tbWFuZH0gfHwgZXhpdCAxIgogICAgICAgICAiZWNobyAje1NoZWxsd29yZHMuc2hl
bGxlc2NhcGUoc2NyaXB0KX0gPiAje1NoZWxsd29yZHMuc2hlbGxlc2NhcGUoKFBhdGhuYW1lLm5l
dygiLi4iKSArIEBuYW1lKS50b19zKX0iCiAgICAgZW5kCi0gICAgCisKKyAgICBkZWYgc3RhdHVz
Q29tbWFuZChzdGF0dXMpCisgICAgICAgICJlY2hvICN7JHJ1blVuaXF1ZUlkfSAkZXhpdENvZGUg
I3tzdGF0dXN9ID4gI3tzdGF0dXNGaWxlfSIKKyAgICBlbmQKKwogICAgIGRlZiBmYWlsQ29tbWFu
ZAotICAgICAgICAiZWNobyBGQUlMOiAje1NoZWxsd29yZHMuc2hlbGxlc2NhcGUoQG5hbWUpfSA7
IHRvdWNoICN7ZmFpbEZpbGV9IDsgIiArIHJlcHJvU2NyaXB0Q29tbWFuZAorICAgICAgICAiI3tz
dGF0dXNDb21tYW5kKFNUQVRVU19GSUxFX0ZBSUwpfTsgZWNobyBGQUlMOiAje1NoZWxsd29yZHMu
c2hlbGxlc2NhcGUoQG5hbWUpfTsgIiArIHJlcHJvU2NyaXB0Q29tbWFuZAogICAgIGVuZAogICAg
IAogICAgIGRlZiBzdWNjZXNzQ29tbWFuZAorICAgICAgICBjb21tYW5kID0gIiIKICAgICAgICAg
ZXhlY3V0aW9uVGltZU1lc3NhZ2UgPSAiIgogICAgICAgICBpZiAkcmVwb3J0RXhlY3V0aW9uVGlt
ZQogICAgICAgICAgICAgZXhlY3V0aW9uVGltZU1lc3NhZ2UgPSAiICQoKCRTRUNPTkRTIC0gJFNU
QVJUX1RJTUUpKXMiCiAgICAgICAgIGVuZAogICAgICAgICBpZiAkcHJvZ3Jlc3NNZXRlciBvciAk
cmVwb3J0RXhlY3V0aW9uVGltZSBvciAkdmVyYm9zaXR5ID49IDIKLSAgICAgICAgICAgICJybSAt
ZiAje2ZhaWxGaWxlfSA7IGVjaG8gUEFTUzogI3tTaGVsbHdvcmRzLnNoZWxsZXNjYXBlKEBuYW1l
KX0je2V4ZWN1dGlvblRpbWVNZXNzYWdlfSIKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgInJt
IC1mICN7ZmFpbEZpbGV9IgorICAgICAgICAgICAgY29tbWFuZCA9ICJlY2hvIFBBU1M6ICN7U2hl
bGx3b3Jkcy5zaGVsbGVzY2FwZShAbmFtZSl9I3tleGVjdXRpb25UaW1lTWVzc2FnZX0iCiAgICAg
ICAgIGVuZAorICAgICAgICAiI3tzdGF0dXNDb21tYW5kKFNUQVRVU19GSUxFX1BBU1MpfTsgI3tj
b21tYW5kfSIKICAgICBlbmQKICAgICAKLSAgICBkZWYgZmFpbEZpbGUKLSAgICAgICAgInRlc3Rf
ZmFpbF8je0BpbmRleH0iCisgICAgZGVmIHN0YXR1c0ZpbGUKKyAgICAgICAgIiN7U1RBVFVTX0ZJ
TEVfUFJFRklYfSN7QGluZGV4fSIKICAgICBlbmQKICAgICAKICAgICBkZWYgd3JpdGVSdW5TY3Jp
cHQoZmlsZW5hbWUpCkBAIC0yOTAsOCArMzAwLDQyIEBAIGNsYXNzIFBsYW4KICAgICAgICAgICAg
ICAgICBvdXRwLnB1dHMgIlNUQVJUX1RJTUU9JFNFQ09ORFMiCiAgICAgICAgICAgICBlbmQKICAg
ICAgICAgICAgIG91dHAucHV0cyAiZWNobyBSdW5uaW5nICN7U2hlbGx3b3Jkcy5zaGVsbGVzY2Fw
ZShAbmFtZSl9IgotICAgICAgICAgICAgY21kICA9ICIoIiArIHNoZWxsQ29tbWFuZCArICIgfHwg
KGVjaG8gJD8gPiAje2ZhaWxGaWxlfSkpIDI+JjEgIgotICAgICAgICAgICAgY21kICs9IEBvdXRw
dXRIYW5kbGVyLmNhbGwoQG5hbWUpCisgICAgICAgICAgICAjCisgICAgICAgICAgICAjICstLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLSsKKyAgICAgICAgICAgICMgfCArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0rICAgICAgICAgICAgICAgICAgfAorICAgICAgICAgICAgIyB8IHwg
Ky0tLS0tLS0tLS0tLS0tKyAgICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0rICAgIHwgICAgICAgICAg
ICAgICAgICB8CisgICAgICAgICAgICAjIHwgfCB8IGNtZCAxIC0tLS0+IDF8LS0tPiB8MCAtLT4g
b3V0SCAxIC0tLT4gNHwtPiA0fC0tLS0tLS0tLS0tLS0tLT4gMXwKKyAgICAgICAgICAgICMgfCB8
IHwgICAgIDIgLyAgICAgIHwgICAgICstLS0tLS0tLS0tLS0tLS0tLS0tKyAgICB8ICAgKy0tLS0t
LS0tLS0tKyAgfAorICAgICAgICAgICAgIyB8IHwgfGVjaG8gJD8gMCAtPiAzfC0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLT4gMXwtPiB8MCByZWFkIHhzICB8ICB8CisgICAgICAgICAgICAjIHwg
fCArLS0tLS0tLS0tLS0tLS0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIHwgIGV4
aXQgJHhzIHwgIHwKKyAgICAgICAgICAgICMgfCB8ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB8ICAgKy0tLS0tLS0tLS0tKyAgfAorICAgICAgICAgICAgIyB8
ICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsgICAgICAg
ICAgICAgICAgICB8CisgICAgICAgICAgICAjICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKKyAgICAgICAgICAgICMg
RnJvbSB0aGUgdG9wIGRvd24gKGkuZS4gcmVhZGluZyBmcm9tIHRoZSBvdXRlciBleHByZXNzaW9u
IGlud2FyZHMpOgorICAgICAgICAgICAgIworICAgICAgICAgICAgIyAtIFJlZGlyZWN0IEZEIDQg
dG8gb3VyIHN0ZG91dAorICAgICAgICAgICAgIworICAgICAgICAgICAgIyAtIEJ1aWxkIGEgcGlw
ZSBvZiB0d28gY29tbWFuZCBzZXF1ZW5jZXMuIFRoZQorICAgICAgICAgICAgIyAgIHJpZ2h0LWhh
bmQtc2lkZSBzZXF1ZW5jZSByZWFkcyBhIG51bWJlciBmcm9tIHN0ZGluIGFuZAorICAgICAgICAg
ICAgIyAgIGV4aXRzIHdpdGggaXQuIFNpbmNlIGl0J3MgdGhlIGxhc3QgY29tbWFuZCBpbiB0aGUK
KyAgICAgICAgICAgICMgICBwaXBlbGluZSwgdGhpcyB3aWxsIGJlIHRoZSB2YWx1ZSBvZiAkPyBh
ZnRlciB0aGUKKyAgICAgICAgICAgICMgICBwaXBlbGluZSBjb21wbGV0ZXMuCisgICAgICAgICAg
ICAjCisgICAgICAgICAgICAjIC0gSW4gdGhlIGxlZnQtaGFuZC1zaWRlIHNlcXVlbmNlLCByZWRp
cmVjdCBGRCAzIHRvIEZEIDEuCisgICAgICAgICAgICAjCisgICAgICAgICAgICAjIC0gQnVpbGQg
YSBwaXBlIG9mIHR3byBjb21tYW5kcworICAgICAgICAgICAgIyAgIC0gcnVuIHNoZWxsQ29tbWFu
ZCwgd3JpdGluZyBpdHMgZXhpdCBjb2RlIHRvIEZEIDMuCisgICAgICAgICAgICAjICAgLSBydW4g
dGhlIG91dHB1dEhhbmRsZXIsIHdpdGggaXRzIHN0ZGluIGNvbWluZyBmcm9tCisgICAgICAgICAg
ICAjICAgICB0aGUgcGlwZSwgcmVkaXJlY3RpbmcgaXRzIG91dHB1dCB0byBGRCA0LiBUaGUKKyAg
ICAgICAgICAgICMgICAgIG91dHB1dEhhbmRsZXIgbmVlZHMgdG8gYmUgaW4gYSBjb21tYW5kIHNl
cXVlbmNlCisgICAgICAgICAgICAjICAgICAoaS5lLiBpbiB7IGNtZDsgLi4ufSkgYXMgaXQgbWF5
IGRvIGl0cyBvd24KKyAgICAgICAgICAgICMgICAgIHJlZGlyZWN0aW9ucy4KKyAgICAgICAgICAg
ICMKKyAgICAgICAgICAgICMgV2UgZG8gYWxsIHRoaXMKKyAgICAgICAgICAgICMgLSB0byBhdm9p
ZCBoYXZpbmcgdG8gdXNlIGEgdGVtcG9yYXJ5IGZpbGUgZm9yIHRoZSBleGl0IGNvZGUKKyAgICAg
ICAgICAgICMgLSB0byBrZWVwIHdpdGhpbiB0aGUgYm91bmRzIG9mIFBPU0lYIHNoIChpLmUuIGNh
bid0IHVzZQorICAgICAgICAgICAgIyAgIFBJUEVTVEFUVVMpCisgICAgICAgICAgICBjbWQgPSAi
eyB7IHsgeyAje3NoZWxsQ29tbWFuZH0gMj4mMTsgZWNobyAkPyA+JjM7IH0gfCB7ICN7b3V0cHV0
SGFuZGxlci5jYWxsKEBuYW1lKX0gO30gPiY0OyB9IDM+JjE7IH0gfCB7IHJlYWQgeHM7IGV4aXQg
JHhzOyB9IH0gND4mMVxuZXhpdENvZGU9JD9cbiIKICAgICAgICAgICAgIGlmICR2ZXJib3NpdHkg
Pj0gMwogICAgICAgICAgICAgICAgIG91dHAucHV0cyAiZWNobyAje1NoZWxsd29yZHMuc2hlbGxl
c2NhcGUoY21kKX0iCiAgICAgICAgICAgICBlbmQKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cnVieS9qc2Mtc3RyZXNzLXRlc3Qtd3JpdGVyLXBsYXlzdGF0aW9uLnJiIGIvVG9vbHMv
U2NyaXB0cy93ZWJraXRydWJ5L2pzYy1zdHJlc3MtdGVzdC13cml0ZXItcGxheXN0YXRpb24ucmIK
aW5kZXggZTA3NGE0NDk1YWVhODhkYmJlMmI4YzIzYzQ4ZDA3ZGU2Yjc4NGE5Yi4uYWYzZjc5Mzg4
Yzc0N2MyN2JiMTUxOTk4YTA0Mjg2MWIzZjgzY2FiNSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0
cy93ZWJraXRydWJ5L2pzYy1zdHJlc3MtdGVzdC13cml0ZXItcGxheXN0YXRpb24ucmIKKysrIGIv
VG9vbHMvU2NyaXB0cy93ZWJraXRydWJ5L2pzYy1zdHJlc3MtdGVzdC13cml0ZXItcGxheXN0YXRp
b24ucmIKQEAgLTMwNSwxMCArMzA1LDIxIEBAIGNsYXNzIFBsYW4KICAgICAgICAgcmV0dXJuICIi
CiAgICAgZW5kCiAKKyAgICBkZWYgc3RhdHVzQ29tbWFuZChzdGF0dXNfY29kZSkKKyAgICAgICAg
IyBNYXkgYmUgY2FsbGVkIGluIHRoIHJlc2N1ZSBibG9jaywgc28gc3RhdHVzIGlzIG5vdAorICAg
ICAgICAjIGd1YXJhbnRlZWQgdG8gYmUgc2V0OyBpZiBpdCBpc24ndCwgc2V0IHRoZSBleGl0IGNv
ZGUgdG8KKyAgICAgICAgIyBzb21ldGhpbmcgdGhhdCdzIGNsZWFybHkgaW52YWxpZC4KKyAgICAg
ICAgPDwtRU5EX1NUQVRVU19DT01NQU5ECisgICAgICAgICAgRmlsZS5vcGVuKCIje3N0YXR1c0Zp
bGV9IiwgInciKSB7IHxmfAorICAgICAgICAgICAgICBmLnB1dHMoIiN7JHJ1blVuaXF1ZUlkfSBc
I3tzdGF0dXMubmlsPyA/IDk5OTk5OTk5OSA6IHN0YXR1cy5leGl0c3RhdHVzfSAje3N0YXR1c19j
b2RlfSIpCisgICAgICAgICAgfQorICAgICAgICBFTkRfU1RBVFVTX0NPTU1BTkQKKyAgICBlbmQK
KwogICAgIGRlZiBmYWlsQ29tbWFuZAogICAgICAgICA8PC1FTkRfRkFJTF9DT01NQU5ECiAgICAg
ICAgICAgICBwcmludCAiRkFJTDogI3tTaGVsbHdvcmRzLnNoZWxsZXNjYXBlKEBuYW1lKX1cbiIK
LSAgICAgICAgICAgIEZpbGVVdGlscy50b3VjaCgiI3tmYWlsRmlsZX0iKQorICAgICAgICAgICAg
I3tzdGF0dXNDb21tYW5kKFNUQVRVU19GSUxFX0ZBSUwpfQogICAgICAgICAgICAgI3tyZXByb1Nj
cmlwdENvbW1hbmR9CiAgICAgICAgIEVORF9GQUlMX0NPTU1BTkQKICAgICBlbmQKQEAgLTMxNiwy
NiArMzI3LDE2IEBAIGNsYXNzIFBsYW4KICAgICBkZWYgc3VjY2Vzc0NvbW1hbmQKICAgICAgICAg
aWYgJHByb2dyZXNzTWV0ZXIgb3IgJHZlcmJvc2l0eSA+PSAyCiAgICAgICAgICAgICA8PC1FTkRf
VkVSQk9TRV9TVUNDRVNTX0NPTU1BTkQKLSAgICAgICAgICAgICAgICBGaWxlLnVubGluaygiI3tm
YWlsRmlsZX0iKSBpZiBGaWxlLmV4aXN0cz8oIiN7ZmFpbEZpbGV9IikKICAgICAgICAgICAgICAg
ICBwcmludCAiUEFTUzogI3tTaGVsbHdvcmRzLnNoZWxsZXNjYXBlKEBuYW1lKX1cbiIKKyAgICAg
ICAgICAgICAgICAje3N0YXR1c0NvbW1hbmQoU1RBVFVTX0ZJTEVfUEFTUyl9CiAgICAgICAgICAg
ICBFTkRfVkVSQk9TRV9TVUNDRVNTX0NPTU1BTkQKICAgICAgICAgZWxzZQotICAgICAgICAgICAg
IkZpbGUudW5saW5rKFwiI3tmYWlsRmlsZX1cIikgaWYgRmlsZS5leGlzdHM/KFwiI3tmYWlsRmls
ZX1cIilcbiIKKyAgICAgICAgICAgICIje3N0YXR1c0NvbW1hbmQoU1RBVFVTX0ZJTEVfUEFTUyl9
XG4iCiAgICAgICAgIGVuZAogICAgIGVuZAogCi0gICAgZGVmIGZhaWxGaWxlCi0gICAgICAgICJ0
ZXN0X2ZhaWxfI3tAaW5kZXh9IgotICAgIGVuZAotCi0gICAgZGVmIHN0YXR1c1dyaXRlCi0gICAg
ICAgIDw8LUVORF9TVEFUVVNfV1JJVEUKLSAgICAgICAgICAgIGlmICFzdWNjZXNzCi0gICAgICAg
ICAgICAgICAgRmlsZS5vcGVuKCIje2ZhaWxGaWxlfSIsICJ3IikgZG8gfGNvZGVfZmlsZXwKLSAg
ICAgICAgICAgICAgICAgICAgY29kZV9maWxlLnB1dHMgc3RhdHVzCi0gICAgICAgICAgICAgICAg
ZW5kCi0gICAgICAgICAgICBlbmQKLSAgICAgICAgRU5EX1NUQVRVU19XUklURQorICAgIGRlZiBz
dGF0dXNGaWxlCisgICAgICAgICIje1NUQVRVU19GSUxFX1BSRUZJWH0je0BpbmRleH0iCiAgICAg
ZW5kCiAKICAgICBkZWYgd3JpdGVSdW5TY3JpcHQoZmlsZW5hbWUpCkBAIC0zNTcsNyArMzU4LDYg
QEAgY2xhc3MgUGxhbgogICAgICAgICAgICAgICAgIG91dHB1dE5hbWU6IEBuYW1lLmdzdWIoLyhc
XHxcLykvLCAnXycpLAogICAgICAgICAgICAgICAgIGNoZWNrU2NyaXB0OiBmaWxlbmFtZSwKICAg
ICAgICAgICAgICAgICBhcmdzOiBAYXJndW1lbnRzLAotICAgICAgICAgICAgICAgIGZhaWxGaWxl
OiAiI3tmYWlsRmlsZX0iCiAgICAgICAgICAgICB9KQogICAgICAgICB9CiAKQEAgLTM3MSw4ICsz
NzEsNiBAQCBjbGFzcyBQbGFuCiAKICAgICAgICAgICAgIGNtZCA9IHNoZWxsQ29tbWFuZAogCi0g
ICAgICAgICAgICBjbWQgKz0gc3RhdHVzV3JpdGUKLQogICAgICAgICAgICAgY21kICs9IEBvdXRw
dXRIYW5kbGVyLmNhbGwoQG5hbWUpCiAKICAgICAgICAgICAgIGlmICR2ZXJib3NpdHkgPj0gMwpA
QCAtMzgyLDcgKzM4MCw3IEBAIGNsYXNzIFBsYW4KICAgICAgICAgICAgIEBlcnJvckhhbmRsZXIu
Y2FsbChvdXRwLCBzZWxmKQogICAgICAgICAgICAgb3V0cC5wdXRzICJyZXNjdWUgUnVudGltZUVy
cm9yID0+IGUiCiAgICAgICAgICAgICBvdXRwLnB1dHMgIiAgICBwcmludCBcIkZBSUw6ICN7U2hl
bGx3b3Jkcy5zaGVsbGVzY2FwZShAbmFtZSl9XFxuXCIiCi0gICAgICAgICAgICBvdXRwLnB1dHMg
IiAgICBGaWxlVXRpbHMudG91Y2goXCIje2ZhaWxGaWxlfVwiKSIKKyAgICAgICAgICAgIG91dHAu
cHV0cyAiICAgICN7c3RhdHVzQ29tbWFuZChTVEFUVVNfRklMRV9GQUlMKX0iCiAgICAgICAgICAg
ICBvdXRwLnB1dHMgImVuZCIKICAgICAgICAgfQogICAgIGVuZApkaWZmIC0tZ2l0IGEvVG9vbHMv
U2NyaXB0cy93ZWJraXRydWJ5L2pzYy1zdHJlc3MtdGVzdC13cml0ZXItcnVieS5yYiBiL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cnVieS9qc2Mtc3RyZXNzLXRlc3Qtd3JpdGVyLXJ1YnkucmIKaW5kZXgg
ZDAzY2Y3NWNjNDNjMmNiNGY4YzI5NzAxNDU4YTNiNDllNzkzODU1My4uNzg4ODE2YWQwYzlmMTBi
NzY3NTZiODcxNjU2Zjk0OGE2ZjViMmIzNiAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJr
aXRydWJ5L2pzYy1zdHJlc3MtdGVzdC13cml0ZXItcnVieS5yYgorKysgYi9Ub29scy9TY3JpcHRz
L3dlYmtpdHJ1YnkvanNjLXN0cmVzcy10ZXN0LXdyaXRlci1ydWJ5LnJiCkBAIC0zMzUsMTAgKzMz
NSwyMSBAQCBjbGFzcyBQbGFuCiAgICAgICAgIEVORF9SRVBST19TQ1JJUFRfQ09NTUFORAogICAg
IGVuZAogCisgICAgZGVmIHN0YXR1c0NvbW1hbmQoc3RhdHVzX2NvZGUpCisgICAgICAgICMgTWF5
IGJlIGNhbGxlZCBpbiB0aCByZXNjdWUgYmxvY2ssIHNvIHN0YXR1cyBpcyBub3QKKyAgICAgICAg
IyBndWFyYW50ZWVkIHRvIGJlIHNldDsgaWYgaXQgaXNuJ3QsIHNldCB0aGUgZXhpdCBjb2RlIHRv
CisgICAgICAgICMgc29tZXRoaW5nIHRoYXQncyBjbGVhcmx5IGludmFsaWQuCisgICAgICAgIDw8
LUVORF9TVEFUVVNfQ09NTUFORAorICAgICAgICAgIEZpbGUub3BlbigiI3tzdGF0dXNGaWxlfSIs
ICJ3IikgeyB8ZnwKKyAgICAgICAgICAgICAgZi5wdXRzKCIjeyRydW5VbmlxdWVJZH0gXCN7c3Rh
dHVzLm5pbD8gPyA5OTk5OTk5OTkgOiBzdGF0dXMuZXhpdHN0YXR1c30gI3tzdGF0dXNfY29kZX0i
KQorICAgICAgICAgIH0KKyAgICAgICAgRU5EX1NUQVRVU19DT01NQU5ECisgICAgZW5kCisKICAg
ICBkZWYgZmFpbENvbW1hbmQKICAgICAgICAgPDwtRU5EX0ZBSUxfQ09NTUFORAogICAgICAgICAg
ICAgcHJpbnQgIkZBSUw6ICN7U2hlbGx3b3Jkcy5zaGVsbGVzY2FwZShAbmFtZSl9XG4iCi0gICAg
ICAgICAgICBGaWxlVXRpbHMudG91Y2goIiN7ZmFpbEZpbGV9IikKKyAgICAgICAgICAgICN7c3Rh
dHVzQ29tbWFuZChTVEFUVVNfRklMRV9GQUlMKX0KICAgICAgICAgICAgICN7cmVwcm9TY3JpcHRD
b21tYW5kfQogICAgICAgICBFTkRfRkFJTF9DT01NQU5ECiAgICAgZW5kCkBAIC0zNDYsMjggKzM1
NywxOCBAQCBjbGFzcyBQbGFuCiAgICAgZGVmIHN1Y2Nlc3NDb21tYW5kCiAgICAgICAgIGlmICRw
cm9ncmVzc01ldGVyIG9yICR2ZXJib3NpdHkgPj0gMgogICAgICAgICAgICAgPDwtRU5EX1ZFUkJP
U0VfU1VDQ0VTU19DT01NQU5ECi0gICAgICAgICAgICAgICAgRmlsZS51bmxpbmsoIiN7ZmFpbEZp
bGV9IikgaWYgRmlsZS5leGlzdHM/KCIje2ZhaWxGaWxlfSIpCiAgICAgICAgICAgICAgICAgcHJp
bnQgIlBBU1M6ICN7U2hlbGx3b3Jkcy5zaGVsbGVzY2FwZShAbmFtZSl9XG4iCisgICAgICAgICAg
ICAgICAgI3tzdGF0dXNDb21tYW5kKFNUQVRVU19GSUxFX1BBU1MpfQogICAgICAgICAgICAgRU5E
X1ZFUkJPU0VfU1VDQ0VTU19DT01NQU5ECiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICJGaWxl
LnVubGluayhcIiN7ZmFpbEZpbGV9XCIpIGlmIEZpbGUuZXhpc3RzPyhcIiN7ZmFpbEZpbGV9XCIp
XG4iCisgICAgICAgICAgICAiI3tzdGF0dXNDb21tYW5kKFNUQVRVU19GSUxFX1BBU1MpfVxuIgog
ICAgICAgICBlbmQKICAgICBlbmQKICAgICAKLSAgICBkZWYgZmFpbEZpbGUKLSAgICAgICAgInRl
c3RfZmFpbF8je0BpbmRleH0iCisgICAgZGVmIHN0YXR1c0ZpbGUKKyAgICAgICAgIiN7U1RBVFVT
X0ZJTEVfUFJFRklYfSN7QGluZGV4fSIKICAgICBlbmQKIAotICAgIGRlZiBzdGF0dXNXcml0ZQot
ICAgICAgICA8PC1FTkRfU1RBVFVTX1dSSVRFCi0gICAgICAgICAgICBpZiAhc3VjY2VzcyhzdGF0
dXMpCi0gICAgICAgICAgICAgICAgRmlsZS5vcGVuKCIje2ZhaWxGaWxlfSIsICJ3IikgZG8gfGNv
ZGVfZmlsZXwKLSAgICAgICAgICAgICAgICAgICAgY29kZV9maWxlLnB1dHMgc3RhdHVzLmV4aXRz
dGF0dXMKLSAgICAgICAgICAgICAgICBlbmQKLSAgICAgICAgICAgIGVuZAotICAgICAgICBFTkRf
U1RBVFVTX1dSSVRFCi0gICAgZW5kCi0gICAgCiAgICAgZGVmIHdyaXRlUnVuU2NyaXB0KGZpbGVu
YW1lKQogICAgICAgICBGaWxlLm9wZW4oZmlsZW5hbWUsICJ3IikgewogICAgICAgICAgICAgfCBv
dXRwIHwKQEAgLTM4Miw4ICszODMsNiBAQCBjbGFzcyBQbGFuCiAKICAgICAgICAgICAgIGNtZCA9
IHNoZWxsQ29tbWFuZAogCi0gICAgICAgICAgICBjbWQgKz0gc3RhdHVzV3JpdGUKLQogICAgICAg
ICAgICAgY21kICs9IEBvdXRwdXRIYW5kbGVyLmNhbGwoQG5hbWUpCiAKICAgICAgICAgICAgIGlm
ICR2ZXJib3NpdHkgPj0gMwpAQCAtMzkzLDcgKzM5Miw3IEBAIGNsYXNzIFBsYW4KICAgICAgICAg
ICAgIEBlcnJvckhhbmRsZXIuY2FsbChvdXRwLCBzZWxmKQogICAgICAgICAgICAgb3V0cC5wdXRz
ICJyZXNjdWUiCiAgICAgICAgICAgICBvdXRwLnB1dHMgIiAgICBwcmludCBcIkZBSUw6ICN7U2hl
bGx3b3Jkcy5zaGVsbGVzY2FwZShAbmFtZSl9XFxuXCIiCi0gICAgICAgICAgICBvdXRwLnB1dHMg
IiAgICBGaWxlVXRpbHMudG91Y2goXCIje2ZhaWxGaWxlfVwiKSIKKyAgICAgICAgICAgIG91dHAu
cHV0cyAiICAgICN7c3RhdHVzQ29tbWFuZChTVEFUVVNfRklMRV9GQUlMKX0iCiAgICAgICAgICAg
ICBvdXRwLnB1dHMgImVuZCIKICAgICAgICAgfQogICAgIGVuZAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>427872</attachid>
            <date>2021-05-06 04:56:22 -0700</date>
            <delta_ts>2021-05-11 01:34:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-222601-20210506115621.patch</filename>
            <type>text/plain</type>
            <size>27325</size>
            <attacher name="Angelos Oikonomopoulos">angelos</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc3MDE1CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMGE2NTI1YWQ0MTZhNzEyYzFmNTFmYjgyYjgyYzMxN2Ex
OWI4NmFjMy4uYTdmYTRkMzVkOTRkYTA3NzgzNTQ1ZmIyNWUxMmIwZWQ3YjAzMDI4ZiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1
IEBACisyMDIxLTAzLTAyICBBbmdlbG9zIE9pa29ub21vcG91bG9zICA8YW5nZWxvc0BpZ2FsaWEu
Y29tPgorCisgICAgICAgIFtKU0NdIGRldGVjdCBpbmZyYXN0cnVjdHVyZSBmYWlsdXJlIGZvciBy
ZW1vdGUgc3RyZXNzIHRlc3RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMjI2MDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBydW4tanNjLXN0cmVzcy10ZXN0cyBjdXJyZW50bHkgZGV0ZWN0cyBmYWlsdXJl
cyBieSB0aGUgYWJzZW5jZSBvZgorICAgICAgICBhIGZhaWx1cmUgZmlsZSAodGhhdCBpcyBnZW5l
cmF0ZWQgYnkgZWFjaCBmYWlsaW5nIHRlc3QpLiBUaGlzIGlzCisgICAgICAgIGZyYWdpbGUgdG8g
YmVnaW4gd2l0aCwgYXMgaXQgYXNzdW1lcyB0aGF0IHRlc3RzIHRoYXQgZmFpbCB0byBydW4KKyAg
ICAgICAgKGUuZy4gYmVjYXVzZSBvZiBhbiBlcnJvciBpbiB0aGUgcnVubmVyIHNjcmlwdCkgYXJl
IHN1Y2Nlc3NmdWwgYnkKKyAgICAgICAgZGVmYXVsdC4KKworICAgICAgICBIb3dldmVyLCB0aGUg
bWFpbiBtb3RpdmF0aW9uIGZvciB0aGlzIHBhdGNoIGlzIHRvIG1ha2UgZXhlY3V0aW9uCisgICAg
ICAgIG1vcmUgcm9idXN0IHdoZW4gdXNpbmcgcmVtb3RlIGhvc3RzLiBDdXJyZW50bHksCisgICAg
ICAgIC0tZ251LXBhcmFsbGVsLXJ1bm5lciB3aWxsIHRyYW5zcGFyZW50bHkgcmVzY2hlZHVsZSBq
b2JzIG9uIGEKKyAgICAgICAgZGlmZmVyZW50IGhvc3Qgd2hlbiBhIHJlbW90ZSBob3N0IGdvZXMg
YXdheS4gQnV0IGRldGVjdEZhaWx1cmVzCisgICAgICAgIGV4cGVjdHMgdG8gYmUgYWJsZSB0byBj
b25uZWN0IHRvIGFsbCBob3N0cyBhbmQgZmV0Y2ggdGhlIGZhaWx1cmUKKyAgICAgICAgZmlsZXMs
IHdoaWNoIGZhaWxzIGlmIGEgcmVtb3RlIGhvc3QgaXMgc3RpbGwgZG93biB3aGVuIHRoZSBydW4K
KyAgICAgICAgZmluaXNoZXMuCisKKyAgICAgICAgSW5zdGVhZCwgdGhpcyBwYXRjaCBjaGFuZ2Vz
IHRoZSBydW5uZXJzIHRvIGFsd2F5cyBnZW5lcmF0ZSBhIHN0YXR1cworICAgICAgICBmaWxlIHdp
dGggdGhlIGV4aXQgY29kZS4gZGV0ZWN0RmFpbHVyZXMgdGhlbiBmZXRjaGVzIGFsbCBzdGF0dXMK
KyAgICAgICAgZmlsZXMgZnJvbSBhbGwgaG9zdHMgdGhhdCBhcmUgbGl2ZSBvbiBleGl0LiBUZXN0
cyB0aGF0IGZhaWxlZCB0bworICAgICAgICBydW4gYXJlIGV4cGxpY2l0bHkgYWNjb3VudGVkIGZv
ciBhcyAnbm9yZXBvcnQnIGFuZCBhcmUgc2V0IHRvCisgICAgICAgIEVSUk9SIGluIHRoZSBmaW5h
bCByZXBvcnQuCisKKyAgICAgICAgKiBTY3JpcHRzL3J1bi1qYXZhc2NyaXB0Y29yZS10ZXN0czoK
KyAgICAgICAgKHJ1bkpTQ1N0cmVzc1Rlc3RzKToKKyAgICAgICAgKiBTY3JpcHRzL3J1bi1qc2Mt
c3RyZXNzLXRlc3RzOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cnVieS9qc2Mtc3RyZXNzLXRl
c3Qtd3JpdGVyLWRlZmF1bHQucmI6CisKIDIwMjEtMDUtMDUgIENhcmxvcyBHYXJjaWEgQ2FtcG9z
ICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtTT1VQXSBXcm9uZyBjb29raWUgdGlt
ZXN0YW1wIGluIGNhc2Ugb2YgbG9uZyBleHBpcmUgdGltZQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2Ny
aXB0cy9ydW4tamF2YXNjcmlwdGNvcmUtdGVzdHMgYi9Ub29scy9TY3JpcHRzL3J1bi1qYXZhc2Ny
aXB0Y29yZS10ZXN0cwppbmRleCBjMWRiMmY0NWJjZDEyY2Y4MzA1NGZiODA2MzhkOWQ4ZTE0NDhi
NGIxLi5iZDIwYjJlZTA3NDNiMjYwYTQ3YmNkNWExYjlkYTZkMmYxYmYzZWQ3IDEwMDc1NQotLS0g
YS9Ub29scy9TY3JpcHRzL3J1bi1qYXZhc2NyaXB0Y29yZS10ZXN0cworKysgYi9Ub29scy9TY3Jp
cHRzL3J1bi1qYXZhc2NyaXB0Y29yZS10ZXN0cwpAQCAtOTMyLDkgKzkzMiwyMCBAQCBzdWIgcnVu
SlNDU3RyZXNzVGVzdHMKICAgICB9CiAgICAgcHJpbnQgIlxuIjsKIAorICAgIG15IEBqc2NTdHJl
c3NOb1Jlc3VsdExpc3QgPSByZWFkQWxsTGluZXMoJGpzY1N0cmVzc1Jlc3VsdHNEaXIgLiAiL25v
cmVzdWx0Iik7CisgICAgbXkgJG51bUpTQ1N0cmVzc05vUmVzdWx0VGVzdHMgPSBAanNjU3RyZXNz
Tm9SZXN1bHRMaXN0OworCisgICAgaWYgKCRudW1KU0NTdHJlc3NOb1Jlc3VsdFRlc3RzKSB7Cisg
ICAgICAgICRpc1Rlc3RGYWlsZWQgPSAxOworICAgIH0KKyAgICBmb3JlYWNoIG15ICR0ZXN0Tm9S
ZXN1bHQgKEBqc2NTdHJlc3NOb1Jlc3VsdExpc3QpIHsKKyAgICAgICAgICAgICRyZXBvcnREYXRh
eyR0ZXN0Tm9SZXN1bHR9ID0ge2FjdHVhbCA9PiAiRVJST1IifTsKKyAgICB9CisKICAgICBwcmlu
dCAiUmVzdWx0cyBmb3IgSlNDIHN0cmVzcyB0ZXN0czpcbiI7CiAgICAgcHJpbnRUaGluZ3NGb3Vu
ZCgkbnVtSlNDU3RyZXNzRmFpbHVyZXMsICJmYWlsdXJlIiwgImZhaWx1cmVzIiwgImZvdW5kIik7
Ci0gICAgcHJpbnQgIiAgICBPSy5cbiIgaWYgJG51bUpTQ1N0cmVzc0ZhaWx1cmVzID09IDA7Cisg
ICAgcHJpbnRUaGluZ3NGb3VuZCgkbnVtSlNDU3RyZXNzTm9SZXN1bHRUZXN0cywgInRlc3QiLCAi
dGVzdHMiLCAiZmFpbGVkIHRvIGNvbXBsZXRlIik7CisgICAgcHJpbnQgIiAgICBPSy5cbiIgaWYg
JG51bUpTQ1N0cmVzc0ZhaWx1cmVzID09IDAgYW5kICRudW1KU0NTdHJlc3NOb1Jlc3VsdFRlc3Rz
ID09IDA7CiAKICAgICBwcmludCAiXG4iOwogCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3J1
bi1qc2Mtc3RyZXNzLXRlc3RzIGIvVG9vbHMvU2NyaXB0cy9ydW4tanNjLXN0cmVzcy10ZXN0cwpp
bmRleCBmNzdkNmM5NjQyYTE2NjRhZmFjMTRmOTRlMmE0OWE5M2QwMDM0ZTUyLi5kM2Y3YTEwYjdh
NWFmYzhhODYwNjU5MGYyZDliMDE5YmNiYTFkYmVhIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRz
L3J1bi1qc2Mtc3RyZXNzLXRlc3RzCisrKyBiL1Rvb2xzL1NjcmlwdHMvcnVuLWpzYy1zdHJlc3Mt
dGVzdHMKQEAgLTU3LDYgKzU3LDkgQEAgcmFpc2UgdW5sZXNzIFNDUklQVFNfUEFUSC5iYXNlbmFt
ZS50b19zID09ICJTY3JpcHRzIgogcmFpc2UgdW5sZXNzIFNDUklQVFNfUEFUSC5kaXJuYW1lLmJh
c2VuYW1lLnRvX3MgPT0gIlRvb2xzIgogCiBIRUxQRVJTX1BBVEggPSBTQ1JJUFRTX1BBVEggKyAi
anNjLXN0cmVzcy10ZXN0LWhlbHBlcnMiCitTVEFUVVNfRklMRV9QUkVGSVggPSAidGVzdF9zdGF0
dXNfIgorU1RBVFVTX0ZJTEVfUEFTUyA9ICJQIgorU1RBVFVTX0ZJTEVfRkFJTCA9ICJGIgogCiBi
ZWdpbgogICAgIHJlcXVpcmUgJ3NoZWxsd29yZHMnCkBAIC0xMzUsNiArMTM4LDcgQEAgJHJlcG9y
dEV4ZWN1dGlvblRpbWUgPSBmYWxzZQogJGxkZCA9IG5pbAogJGFydGlmYWN0X2V4ZWNfd3JhcHBl
ciA9IG5pbAogJG51bUNoaWxkUHJvY2Vzc2VzU2V0QnlVc2VyID0gZmFsc2UKKyRydW5VbmlxdWVJ
ZCA9IFJhbmRvbS5uZXcuYnl0ZXMoMTYpLnVucGFjaygiSCoiKVswXQogCiBkZWYgdXNhZ2UKICAg
ICBwdXRzICJydW4tanNjLXN0cmVzcy10ZXN0cyAtaiA8c2hlbGwgcGF0aD4gPGNvbGxlY3Rpb25z
IHBhdGg+IFs8Y29sbGVjdGlvbnMgcGF0aD4gLi4uXSIKQEAgLTUzNyw5ICs1NDEsNiBAQCBpZiAk
dGVzdFdyaXRlcgogICAgIGVuZAogZW5kCiAKLSRudW1GYWlsdXJlcyA9IDAKLSRudW1QYXNzZXMg
PSAwCi0KICMgV2UgZm9yY2UgYWxsIHRlc3RzIHRvIHVzZSBhIHNtYWxsZXIgKDEuNU0pIHN0YWNr
IHNvIHRoYXQgc3RhY2sgb3ZlcmZsb3cgdGVzdHMgY2FuIHJ1biBmYXN0ZXIuCiBCQVNFX09QVElP
TlMgPSBbIi0tdXNlRlRMSklUPWZhbHNlIiwgIi0tdXNlRnVuY3Rpb25Eb3RBcmd1bWVudHM9dHJ1
ZSIsICItLXZhbGlkYXRlRXhjZXB0aW9uQ2hlY2tzPXRydWUiLCAiLS11c2VEb2xsYXJWTT10cnVl
IiwgIi0tbWF4UGVyVGhyZWFkU3RhY2tVc2FnZT0xNTcyODY0Il0KIEVBR0VSX09QVElPTlMgPSBb
Ii0tdGhyZXNob2xkRm9ySklUQWZ0ZXJXYXJtVXA9MTAiLCAiLS10aHJlc2hvbGRGb3JKSVRTb29u
PTEwIiwgIi0tdGhyZXNob2xkRm9yT3B0aW1pemVBZnRlcldhcm1VcD0yMCIsICItLXRocmVzaG9s
ZEZvck9wdGltaXplQWZ0ZXJMb25nV2FybVVwPTIwIiwgIi0tdGhyZXNob2xkRm9yT3B0aW1pemVT
b29uPTIwIiwgIi0tdGhyZXNob2xkRm9yRlRMT3B0aW1pemVBZnRlcldhcm1VcD0yMCIsICItLXRo
cmVzaG9sZEZvckZUTE9wdGltaXplU29vbj0yMCIsICItLXRocmVzaG9sZEZvck9NR09wdGltaXpl
QWZ0ZXJXYXJtVXA9MjAiLCAiLS10aHJlc2hvbGRGb3JPTUdPcHRpbWl6ZVNvb249MjAiLCAiLS1t
YXhpbXVtRXZhbENhY2hlYWJsZVNvdXJjZUxlbmd0aD0xNTAwMDAiLCAiLS11c2VFYWdlckNvZGVC
bG9ja0pldHRpc29uVGltaW5nPXRydWUiLCAiLS1yZXBhdGNoQnVmZmVyaW5nQ291bnRkb3duPTAi
XQpAQCAtMTgyMyw3ICsxODI0LDYgQEAgZGVmIGFwcGVuZEZhaWx1cmUocGxhbikKICAgICAgICAg
fCBvdXRwIHwKICAgICAgICAgb3V0cC5wdXRzIHBsYW4ubmFtZQogICAgIH0KLSAgICAkbnVtRmFp
bHVyZXMgKz0gMQogZW5kCiAKIGRlZiBhcHBlbmRQYXNzKHBsYW4pCkBAIC0xODMxLDcgKzE4MzEs
MTMgQEAgZGVmIGFwcGVuZFBhc3MocGxhbikKICAgICAgICAgfCBvdXRwIHwKICAgICAgICAgb3V0
cC5wdXRzIHBsYW4ubmFtZQogICAgIH0KLSAgICAkbnVtUGFzc2VzICs9IDEKK2VuZAorCitkZWYg
YXBwZW5kTm9SZXN1bHQocGxhbikKKyAgICBGaWxlLm9wZW4oJG91dHB1dERpciArICJub3Jlc3Vs
dCIsICJhIikgeworICAgICAgICB8IG91dHAgfAorICAgICAgICBvdXRwLnB1dHMgcGxhbi5uYW1l
CisgICAgfQogZW5kCiAKIGRlZiBhcHBlbmRSZXN1bHQocGxhbiwgZGlkUGFzcykKQEAgLTIwMzks
NyArMjA0NSw3IEBAIGRlZiBjbGVhblJ1bm5lckRpcmVjdG9yeQogICAgIH0KIGVuZAogCi1kZWYg
c3NoUmVhZChjbWQsIHJlbW90ZUluZGV4PTApCitkZWYgc3NoUmVhZChjbWQsIHJlbW90ZUluZGV4
PTAsIG9wdGlvbnM9e30pCiAgICAgcmFpc2UgdW5sZXNzICRyZW1vdGUKIAogICAgIHJlbW90ZUhv
c3QgPSAkcmVtb3RlSG9zdHNbcmVtb3RlSW5kZXhdCkBAIC0yMDUyLDcgKzIwNTgsNyBAQCBkZWYg
c3NoUmVhZChjbWQsIHJlbW90ZUluZGV4PTApCiAgICAgICAgIHJlc3VsdCArPSBsaW5lCiAgICAg
ICB9CiAgICAgfQotICAgIHJhaXNlICIjeyQ/fSIgdW5sZXNzICQ/LnN1Y2Nlc3M/CisgICAgcmFp
c2UgIiN7JD99IiB1bmxlc3MgJD8uc3VjY2Vzcz8gb3Igb3B0aW9uc1s6aWdub3JlRmFpbHVyZV0K
ICAgICByZXN1bHQKIGVuZAogCkBAIC0yMjA3LDUyICsyMjEzLDExMCBAQCBkZWYgcnVuVGVzdFJ1
bm5lcihyZW1vdGVJbmRleD0wKQogICAgIGVuZAogZW5kCiAKLWRlZiBkZXRlY3RGYWlsdXJlcwot
ICAgIHJhaXNlIGlmICRidW5kbGUKLSAgICBmYWlsdXJlcyA9IFtdCitkZWYgZ2V0U3RhdHVzTWFw
CisgICAgbmFtZV9yZSA9IC9eWy5dXC8je1NUQVRVU19GSUxFX1BSRUZJWH0oXGQrKSQvCisgICAg
bWFwID0ge30KICAgICBpZiAkcmVtb3RlCiAgICAgICAgICRyZW1vdGVIb3N0cy5lYWNoX3dpdGhf
aW5kZXggewogICAgICAgICAgICAgfCBob3N0LCByZW1vdGVJbmRleCB8Ci0gICAgICAgICAgICBv
dXRwdXQgPSBzc2hSZWFkKCJjZCAje2hvc3QucmVtb3RlRGlyZWN0b3J5fS8jeyRvdXRwdXREaXIu
YmFzZW5hbWV9Ly5ydW5uZXIgJiYgZmluZCAuIC1tYXhkZXB0aCAxIC1uYW1lIFwidGVzdF9mYWls
XypcIiIsIHJlbW90ZUluZGV4KQorICAgICAgICAgICAgb3V0cHV0ID0gc3NoUmVhZCgiY2QgI3to
b3N0LnJlbW90ZURpcmVjdG9yeX0vI3skb3V0cHV0RGlyLmJhc2VuYW1lfS8ucnVubmVyICYmIGZp
bmQgLiAtbWF4ZGVwdGggMSAtbmFtZSBcIiN7U1RBVFVTX0ZJTEVfUFJFRklYfSpcIiAtZXhlYyBz
aCAtYyBcInByaW50ZiBcXFwiJXMgXFxcIiB7fTsgY2F0IHt9XCIgXFw7IiwgcmVtb3RlSW5kZXgs
IDppZ25vcmVGYWlsdXJlID0+IHRydWUpCiAgICAgICAgICAgICBvdXRwdXQuc3BsaXQoL1xuLyku
ZWFjaCB7CiAgICAgICAgICAgICAgICAgfCBsaW5lIHwKLSAgICAgICAgICAgICAgICBuZXh0IHVu
bGVzcyBsaW5lID1+IC90ZXN0X2ZhaWxfLwotICAgICAgICAgICAgICAgIGZhaWx1cmVzIDw8ICR+
LnBvc3RfbWF0Y2gudG9faQorICAgICAgICAgICAgICAgIG5hbWUsIHJ1bl9pZCwgXywgcmVzdWx0
ID0gbGluZS5zcGxpdCgnICcpCisgICAgICAgICAgICAgICAgbWQgPSBuYW1lX3JlLm1hdGNoKG5h
bWUpCisgICAgICAgICAgICAgICAgaWYgbWQubmlsPworICAgICAgICAgICAgICAgICAgICAkc3Rk
ZXJyLnB1dHMoIkNvdWxkIG5vdCBwYXJzZSBuYW1lIGluIGAje2xpbmV9YCIpCisgICAgICAgICAg
ICAgICAgICAgIGV4aXQoMSkKKyAgICAgICAgICAgICAgICBlbmQKKyAgICAgICAgICAgICAgICBp
ZiBydW5faWQgIT0gJHJ1blVuaXF1ZUlkCisgICAgICAgICAgICAgICAgICAgICMgVGhpcyBtYXkg
Y29uY2VpdmFibHkgaGFwcGVuIGlmIGEgcmVtb3RlIGdvZXMKKyAgICAgICAgICAgICAgICAgICAg
IyBhd2F5IGluIHRoZSBtaWRkbGUgb2YgYSBydW4gYW5kIGNvbWVzIGJhY2sKKyAgICAgICAgICAg
ICAgICAgICAgIyBvbmxpbmUgaW4gdGhlIG1pZGRsZSBvZiBhIGRpZmZlcmVudCBydW4uCisgICAg
ICAgICAgICAgICAgICAgICRzdGRlcnIucHV0cygiSWdub3Jpbmcgc3RhbGUgc3RhdHVzIGZpbGUg
Zm9yICN7bmFtZX0gKElEICN7cnVuX2lkfSBidXQgY3VycmVudCBJRCBpcyAjeyRydW5VbmlxdWVJ
ZH0pIikKKyAgICAgICAgICAgICAgICAgICAgbmV4dAorICAgICAgICAgICAgICAgIGVuZAorICAg
ICAgICAgICAgICAgIGluZGV4ID0gbWRbMV0udG9faQorICAgICAgICAgICAgICAgIGlmIG1hcC5o
YXNfa2V5PyhpbmRleCkKKyAgICAgICAgICAgICAgICAgICAgJHN0ZGVyci5wdXRzKCJEdXBsaWNh
dGUgc3RhdGUgZmlsZSBmb3IgI3tpbmRleH0iKQorICAgICAgICAgICAgICAgICAgICAjIE9uZSBz
Y2VuYXJpbyBpbiB3aGljaCB0aGlzIGNvdWxkIGhhcHBlbjoKKyAgICAgICAgICAgICAgICAgICAg
IyBUZXN0IFQgcnVucyBvbiByZW1vdGUgaG9zdCBBIGFuZAorICAgICAgICAgICAgICAgICAgICAj
ICAgMS4gdGhlIHN0YXR1cyBmaWxlIHJlYWNoZXMgQSdzIGRpc2sKKyAgICAgICAgICAgICAgICAg
ICAgIyAgIDIuIHNvbWVob3cgdGhlIGdudSBwYXJhbGxlbCBydW5uZXIgaXMgbm90IG1hZGUgYXdh
cmUgb2YgdGhlIHRlc3QncyBjb21wbGV0aW9uIChwYWNrZXQgbG9zcz8pCisgICAgICAgICAgICAg
ICAgICAgICMgICAzLiBBIG1hY2hpbmUgY3Jhc2hlcworICAgICAgICAgICAgICAgICAgICAjICAg
NC4gZ251IHBhcmFsbGVsIHJlLXNjaGVkdWxlcyB0aGUgdGVzdCB0byBydW4gb24gcmVtb3RlIGhv
c3QgQiwgd2hlcmUgaXQgcnVucyB0byBjb21wbGV0aW9uCisgICAgICAgICAgICAgICAgICAgICMg
ICA1LiBCIGNvbWVzIGJhY2sgb25saW5lIGJlZm9yZSB0aGUgZW5kIG9mIHRoZSBydW4KKyAgICAg
ICAgICAgICAgICAgICAgIyAgIDYuIHdlIGNvbGxlY3QgdGhlIHN0YXR1cyBmaWxlcyBmcm9tIGFs
bCByZW1vdGVzIGFuZCBlbmQgdXAgd2l0aCB0d28gc3RhdHVzIGZpbGVzIGZvciBULgorICAgICAg
ICAgICAgICAgICAgICBwcmV2ID0gbWFwW2luZGV4XQorICAgICAgICAgICAgICAgICAgICAjIG1h
cFtpbmRleF0gaG9sZHMKKyAgICAgICAgICAgICAgICAgICAgIyAtIGEgbnVtYmVyLCBpZiBhbGwg
cmVzdWx0cyBjb2RlcyB3ZSd2ZSBvYnNlcnZlZCBmb3IgYSB0ZXN0IGFyZSB0aGUgc2FtZQorICAg
ICAgICAgICAgICAgICAgICAjIC0gYW4gYXJyYXksIGlmIHRoZXkgZGl2ZXJnZS4KKyAgICAgICAg
ICAgICAgICAgICAgaWYgcHJldi5pc19hPyhBcnJheSkKKyAgICAgICAgICAgICAgICAgICAgICAg
IHByZXYucHVzaChyZXN1bHQpCisgICAgICAgICAgICAgICAgICAgIGVsc2lmIHByZXYgIT0gcmVz
dWx0CisgICAgICAgICAgICAgICAgICAgICAgICAjIElmIHRoZSB0d28gcmVzdWx0cyBkaWZmZXIs
IGtlZXAgdGhlbQorICAgICAgICAgICAgICAgICAgICAgICAgIyBib3RoLiBUaGlzIGlzIHNpbXBs
eSBhIHdheSB0byBtYWtlIG5vdGUgb2YKKyAgICAgICAgICAgICAgICAgICAgICAgICMgdGhlIGRp
dmVyZ2VuY2UgKGZvciBsYXRlciByZXBvcnRpbmcpLgorICAgICAgICAgICAgICAgICAgICAgICAg
bWFwW2luZGV4XSA9IFtwcmV2LCByZXN1bHRdCisgICAgICAgICAgICAgICAgICAgIGVsc2UKKyAg
ICAgICAgICAgICAgICAgICAgICAgICMgR290IHRoZSBzYW1lIHJlc3VsdCwgbm8gbmVlZCB0byBk
byBhbnl0aGluZy4KKyAgICAgICAgICAgICAgICAgICAgZW5kCisgICAgICAgICAgICAgICAgZWxz
ZQorICAgICAgICAgICAgICAgICAgICBtYXBbaW5kZXhdID0gcmVzdWx0CisgICAgICAgICAgICAg
ICAgZW5kCiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICBlbHNlCiAgICAgICAgIERpci5m
b3JlYWNoKCRydW5uZXJEaXIpIHsKICAgICAgICAgICAgIHwgZmlsZW5hbWUgfAotICAgICAgICAg
ICAgbmV4dCB1bmxlc3MgZmlsZW5hbWUgPX4gL3Rlc3RfZmFpbF8vCi0gICAgICAgICAgICBmYWls
dXJlcyA8PCAkfi5wb3N0X21hdGNoLnRvX2kKKyAgICAgICAgICAgIG1kID0gbmFtZV9yZS5tYXRj
aCgiLi8je2ZpbGVuYW1lfSIpCisgICAgICAgICAgICBuZXh0IHVubGVzcyBtZAorICAgICAgICAg
ICAgRmlsZS5vcGVuKCIjeyRydW5uZXJEaXJ9LyN7ZmlsZW5hbWV9IiwgInIiKSB7IHxmfAorICAg
ICAgICAgICAgICAgIHJ1bklkLCBfLCByZXN1bHQgPSBmLnJlYWQuY2hvbXAuc3BsaXQoJyAnKQor
ICAgICAgICAgICAgICAgIGlmIHJ1bklkICE9ICRydW5VbmlxdWVJZAorICAgICAgICAgICAgICAg
ICAgICAjIFdlIGNsZWFuIHRoZSBkaXIgYmVmb3JlIGEgc3RhcnRpbmcgYSBydW4uCisgICAgICAg
ICAgICAgICAgICAgIHJhaXNlICJDYW4ndCBoYXBwZW4iCisgICAgICAgICAgICAgICAgZW5kCisg
ICAgICAgICAgICAgICAgbWFwW21kWzFdLnRvX2ldID0gcmVzdWx0CisgICAgICAgICAgICB9CiAg
ICAgICAgIH0KICAgICBlbmQKKyAgICBtYXAKK2VuZAogCi0gICAgZmFpbHVyZVNldCA9IHt9Ci0K
LSAgICBmYWlsdXJlcy5lYWNoIHsKLSAgICAgICAgfCBmYWlsdXJlIHwgCi0gICAgICAgIGFwcGVu
ZEZhaWx1cmUoJHJ1bmxpc3RbZmFpbHVyZV0pCi0gICAgICAgIGZhaWx1cmVTZXRbZmFpbHVyZV0g
PSB0cnVlCi0gICAgfQotCitkZWYgZGV0ZWN0RmFpbHVyZXMKKyAgICByYWlzZSBpZiAkYnVuZGxl
CisgICAgbm9yZXN1bHQgPSAwCisgICAgc3RhdHVzTWFwID0gZ2V0U3RhdHVzTWFwCiAgICAgZmFt
aWx5TWFwID0ge30KKwogICAgICRydW5saXN0LmVhY2hfd2l0aF9pbmRleCB7CiAgICAgICAgIHwg
cGxhbiwgaW5kZXggfAogICAgICAgICB1bmxlc3MgZmFtaWx5TWFwW3BsYW4uZmFtaWx5XQogICAg
ICAgICAgICAgZmFtaWx5TWFwW3BsYW4uZmFtaWx5XSA9IFtdCiAgICAgICAgIGVuZAotICAgICAg
ICBpZiBmYWlsdXJlU2V0W2luZGV4XQotICAgICAgICAgICAgYXBwZW5kUmVzdWx0KHBsYW4sIGZh
bHNlKQotICAgICAgICAgICAgZmFtaWx5TWFwW3BsYW4uZmFtaWx5XSA8PCB7OnJlc3VsdCA9PiAi
RkFJTCIsIDpwbGFuID0+IHBsYW59OworICAgICAgICBpZiBub3Qgc3RhdHVzTWFwLmhhc19rZXk/
KGluZGV4KSBvciBzdGF0dXNNYXBbaW5kZXhdLmlzX2E/KEFycmF5KQorICAgICAgICAgICAgYXBw
ZW5kTm9SZXN1bHQocGxhbikKKyAgICAgICAgICAgIG5vcmVzdWx0ICs9IDEKICAgICAgICAgICAg
IG5leHQKKyAgICAgICAgZW5kCisgICAgICAgIHJlc3VsdCA9IG5pbAorICAgICAgICBpZiBzdGF0
dXNNYXBbaW5kZXhdID09IFNUQVRVU19GSUxFX1BBU1MKKyAgICAgICAgICAgIGFwcGVuZFBhc3Mo
cGxhbikKKyAgICAgICAgICAgIHJlc3VsdCA9ICJQQVNTIgogICAgICAgICBlbHNlCi0gICAgICAg
ICAgICBhcHBlbmRSZXN1bHQocGxhbiwgdHJ1ZSkKLSAgICAgICAgICAgIGZhbWlseU1hcFtwbGFu
LmZhbWlseV0gPDwgezpyZXN1bHQgPT4gIlBBU1MiLCA6cGxhbiA9PiBwbGFufTsKKyAgICAgICAg
ICAgIGFwcGVuZEZhaWx1cmUocGxhbikKKyAgICAgICAgICAgIHJlc3VsdCA9ICJGQUlMIgogICAg
ICAgICBlbmQKLSAgICAgICAgYXBwZW5kUGFzcyhwbGFuKQorICAgICAgICBhcHBlbmRSZXN1bHQo
cGxhbiwgc3RhdHVzTWFwW2luZGV4XSA9PSBTVEFUVVNfRklMRV9QQVNTKQorICAgICAgICBmYW1p
bHlNYXBbcGxhbi5mYW1pbHldIDw8IHs6cmVzdWx0ID0+IHJlc3VsdCwgOnBsYW4gPT4gcGxhbiB9
CiAgICAgfQogCisgICAgaWYgbm9yZXN1bHQgPiAwCisgICAgICAgICRzdGRlcnIucHV0cygiQ291
bGQgbm90IGdldCB0aGUgZXhpdCBzdGF0dXMgZm9yICN7bm9yZXN1bHR9IHRlc3RzIikKKyAgICAg
ICAgIyBXZSBjYW4ndCBjaGFuZ2Ugb3VyIGV4aXQgY29kZSwgYXMgcnVuLWphdmFzY3JpcHRjb3Jl
LXRlc3RzCisgICAgICAgICMgZXhwZWN0cyAwIGV2ZW4gd2hlbiB0aGVyZSBhcmUgZmFpbHVyZXMu
CisgICAgZW5kCisKICAgICBGaWxlLm9wZW4oJG91dHB1dERpciArICJyZXN1bHRzQnlGYW1pbHki
LCAidyIpIHsKICAgICAgICAgfCBvdXRwIHwKICAgICAgICAgZmlyc3QgPSB0cnVlCkBAIC0yMjYz
LDcgKzIzMjcsNyBAQCBkZWYgZGV0ZWN0RmFpbHVyZXMKICAgICAgICAgICAgIGVsc2UKICAgICAg
ICAgICAgICAgICBvdXRwLnB1dHMKICAgICAgICAgICAgIGVuZAotICAgICAgICAgICAgCisKICAg
ICAgICAgICAgIG91dHAucHJpbnQgIiN7ZmFtaWx5TmFtZX06IgogCiAgICAgICAgICAgICBudW1Q
YXNzZWQgPSAwCkBAIC0yMzAxLDYgKzIzNjUsNyBAQCBlbmQKIAogY2xlYW4oJG91dHB1dERpciAr
ICJmYWlsZWQiKQogY2xlYW4oJG91dHB1dERpciArICJwYXNzZWQiKQorY2xlYW4oJG91dHB1dERp
ciArICJub3Jlc3VsdCIpCiBjbGVhbigkb3V0cHV0RGlyICsgInJlc3VsdHMiKQogY2xlYW4oJG91
dHB1dERpciArICJyZXN1bHRzQnlGYW1pbHkiKQogY2xlYW4oJG91dHB1dERpciArICIudm0iKQpk
aWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRydWJ5L2pzYy1zdHJlc3MtdGVzdC13cml0
ZXItZGVmYXVsdC5yYiBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cnVieS9qc2Mtc3RyZXNzLXRlc3Qt
d3JpdGVyLWRlZmF1bHQucmIKaW5kZXggMjk0Y2UyMGQyNmUzYjBhN2YxMDk4ODgwMjQ5YTkwMzI2
ZGZiZjJkMi4uZDYxYjcxZGEwMGUxZmRhYzlkZjlkZDI1OWUwYmU2NjA0YzdiNzEzYSAxMDA2NDQK
LS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRydWJ5L2pzYy1zdHJlc3MtdGVzdC13cml0ZXItZGVm
YXVsdC5yYgorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHJ1YnkvanNjLXN0cmVzcy10ZXN0LXdy
aXRlci1kZWZhdWx0LnJiCkBAIC0zNyw3ICszNyw3IEBAIGVuZAogZGVmIHNpbGVudE91dHB1dEhh
bmRsZXIKICAgICBQcm9jLm5ldyB7CiAgICAgICAgIHwgbmFtZSB8Ci0gICAgICAgICIgfCAiICsg
cGlwZUFuZFByZWZpeENvbW1hbmQoKFBhdGhuYW1lKCIuLiIpICsgKG5hbWUgKyAiLm91dCIpKS50
b19zLCBuYW1lKQorICAgICAgICBwaXBlQW5kUHJlZml4Q29tbWFuZCgoUGF0aG5hbWUoIi4uIikg
KyAobmFtZSArICIub3V0IikpLnRvX3MsIG5hbWUpCiAgICAgfQogZW5kCiAKQEAgLTQ1LDE4ICs0
NSwyNCBAQCBlbmQKIGRlZiBub2lzeU91dHB1dEhhbmRsZXIKICAgICBQcm9jLm5ldyB7CiAgICAg
ICAgIHwgbmFtZSB8Ci0gICAgICAgICIgfCBjYXQgPiAiICsgU2hlbGx3b3Jkcy5zaGVsbGVzY2Fw
ZSgoUGF0aG5hbWUoIi4uIikgKyAobmFtZSArICIub3V0IikpLnRvX3MpCisgICAgICAgICJjYXQg
PiAiICsgU2hlbGx3b3Jkcy5zaGVsbGVzY2FwZSgoUGF0aG5hbWUoIi4uIikgKyAobmFtZSArICIu
b3V0IikpLnRvX3MpCiAgICAgfQogZW5kCiAKK2RlZiBnZXRBbmRUZXN0RXhpdENvZGUocGxhbiwg
Y29uZGl0aW9uKQorICAgIDw8LUVPRgorICAgIGlmIHRlc3QgIiRleGl0Q29kZSIgI3tjb25kaXRp
b259CitFT0YKK2VuZAorCiAjIEVycm9yIGhhbmRsZXIgZm9yIHRlc3RzIHRoYXQgZmFpbCBleGFj
dGx5IHdoZW4gdGhleSByZXR1cm4gbm9uLXplcm8gZXhpdCBzdGF0dXMuCiAjIFRoaXMgaXMgdXNl
ZnVsIHdoZW4gYSB0ZXN0IGlzIGV4cGVjdGVkIHRvIGZhaWwuCiBkZWYgc2ltcGxlRXJyb3JIYW5k
bGVyCiAgICAgUHJvYy5uZXcgewogICAgICAgICB8IG91dHAsIHBsYW4gfAotICAgICAgICBvdXRw
LnB1dHMgImlmIHRlc3QgLWUgI3twbGFuLmZhaWxGaWxlfSIKKyAgICAgICAgb3V0cC5wdXRzIGdl
dEFuZFRlc3RFeGl0Q29kZShwbGFuLCAiLW5lIDAiKQogICAgICAgICBvdXRwLnB1dHMgInRoZW4i
Ci0gICAgICAgIG91dHAucHV0cyAiICAgIChlY2hvIEVSUk9SOiBVbmV4cGVjdGVkIGV4aXQgY29k
ZTogYGNhdCAje3BsYW4uZmFpbEZpbGV9YCkgfCAiICsgcmVkaXJlY3RBbmRQcmVmaXhDb21tYW5k
KHBsYW4ubmFtZSkKKyAgICAgICAgb3V0cC5wdXRzICIgICAgKGVjaG8gRVJST1I6IFVuZXhwZWN0
ZWQgZXhpdCBjb2RlOiAkZXhpdENvZGUpIHwgIiArIHJlZGlyZWN0QW5kUHJlZml4Q29tbWFuZChw
bGFuLm5hbWUpCiAgICAgICAgIG91dHAucHV0cyAiICAgICIgKyBwbGFuLmZhaWxDb21tYW5kCiAg
ICAgICAgIG91dHAucHV0cyAiZWxzZSIKICAgICAgICAgb3V0cC5wdXRzICIgICAgIiArIHBsYW4u
c3VjY2Vzc0NvbW1hbmQKQEAgLTY4LDcgKzc0LDcgQEAgZW5kCiBkZWYgZXhwZWN0ZWRGYWlsRXJy
b3JIYW5kbGVyCiAgICAgUHJvYy5uZXcgewogICAgICAgICB8IG91dHAsIHBsYW4gfAotICAgICAg
ICBvdXRwLnB1dHMgImlmIHRlc3QgLWUgI3twbGFuLmZhaWxGaWxlfSIKKyAgICAgICAgb3V0cC5w
dXRzIGdldEFuZFRlc3RFeGl0Q29kZShwbGFuLCAiLW5lIDAiKQogICAgICAgICBvdXRwLnB1dHMg
InRoZW4iCiAgICAgICAgIG91dHAucHV0cyAiICAgICIgKyBwbGFuLnN1Y2Nlc3NDb21tYW5kCiAg
ICAgICAgIG91dHAucHV0cyAiZWxzZSIKQEAgLTg0LDEwICs5MCwxMCBAQCBkZWYgbm9pc3lFcnJv
ckhhbmRsZXIKICAgICBQcm9jLm5ldyB7CiAgICAgICAgIHwgb3V0cCwgcGxhbiB8CiAgICAgICAg
IG91dHB1dEZpbGVuYW1lID0gU2hlbGx3b3Jkcy5zaGVsbGVzY2FwZSgoUGF0aG5hbWUoIi4uIikg
KyAocGxhbi5uYW1lICsgIi5vdXQiKSkudG9fcykKLSAgICAKLSAgICAgICAgb3V0cC5wdXRzICJp
ZiB0ZXN0IC1lICN7cGxhbi5mYWlsRmlsZX0iCisKKyAgICAgICAgb3V0cC5wdXRzIGdldEFuZFRl
c3RFeGl0Q29kZShwbGFuLCAiLW5lIDAiKQogICAgICAgICBvdXRwLnB1dHMgInRoZW4iCi0gICAg
ICAgIG91dHAucHV0cyAiICAgIChjYXQgI3tvdXRwdXRGaWxlbmFtZX0gJiYgZWNobyBFUlJPUjog
VW5leHBlY3RlZCBleGl0IGNvZGU6IGBjYXQgI3twbGFuLmZhaWxGaWxlfWApIHwgIiArIHJlZGly
ZWN0QW5kUHJlZml4Q29tbWFuZChwbGFuLm5hbWUpCisgICAgICAgIG91dHAucHV0cyAiICAgIChj
YXQgI3tvdXRwdXRGaWxlbmFtZX0gJiYgZWNobyBFUlJPUjogVW5leHBlY3RlZCBleGl0IGNvZGU6
ICRleGl0Q29kZSkgfCAiICsgcmVkaXJlY3RBbmRQcmVmaXhDb21tYW5kKHBsYW4ubmFtZSkKICAg
ICAgICAgb3V0cC5wdXRzICIgICAgIiArIHBsYW4uZmFpbENvbW1hbmQKICAgICAgICAgb3V0cC5w
dXRzICJlbHNlIgogICAgICAgICBvdXRwLnB1dHMgIiAgICAiICsgcGxhbi5zdWNjZXNzQ29tbWFu
ZApAQCAtMTAxLDEwICsxMDcsMTAgQEAgZGVmIGRpZmZFcnJvckhhbmRsZXIoZXhwZWN0ZWRGaWxl
bmFtZSkKICAgICAgICAgfCBvdXRwLCBwbGFuIHwKICAgICAgICAgb3V0cHV0RmlsZW5hbWUgPSBT
aGVsbHdvcmRzLnNoZWxsZXNjYXBlKChQYXRobmFtZSgiLi4iKSArIChwbGFuLm5hbWUgKyAiLm91
dCIpKS50b19zKQogICAgICAgICBkaWZmRmlsZW5hbWUgPSBTaGVsbHdvcmRzLnNoZWxsZXNjYXBl
KChQYXRobmFtZSgiLi4iKSArIChwbGFuLm5hbWUgKyAiLmRpZmYiKSkudG9fcykKLSAgICAgICAg
Ci0gICAgICAgIG91dHAucHV0cyAiaWYgdGVzdCAtZSAje3BsYW4uZmFpbEZpbGV9IgorCisgICAg
ICAgIG91dHAucHV0cyBnZXRBbmRUZXN0RXhpdENvZGUocGxhbiwgIi1uZSAwIikKICAgICAgICAg
b3V0cC5wdXRzICJ0aGVuIgotICAgICAgICBvdXRwLnB1dHMgIiAgICAoY2F0ICN7b3V0cHV0Rmls
ZW5hbWV9ICYmIGVjaG8gRVJST1I6IFVuZXhwZWN0ZWQgZXhpdCBjb2RlOiBgY2F0ICN7cGxhbi5m
YWlsRmlsZX1gKSB8ICIgKyByZWRpcmVjdEFuZFByZWZpeENvbW1hbmQocGxhbi5uYW1lKQorICAg
ICAgICBvdXRwLnB1dHMgIiAgICAoY2F0ICN7b3V0cHV0RmlsZW5hbWV9ICYmIGVjaG8gRVJST1I6
IFVuZXhwZWN0ZWQgZXhpdCBjb2RlOiAkZXhpdENvZGUpIHwgIiArIHJlZGlyZWN0QW5kUHJlZml4
Q29tbWFuZChwbGFuLm5hbWUpCiAgICAgICAgIG91dHAucHV0cyAiICAgICIgKyBwbGFuLmZhaWxD
b21tYW5kCiAgICAgICAgIG91dHAucHV0cyAiZWxpZiB0ZXN0IC1lIC4uLyN7U2hlbGx3b3Jkcy5z
aGVsbGVzY2FwZShleHBlY3RlZEZpbGVuYW1lKX0iCiAgICAgICAgIG91dHAucHV0cyAidGhlbiIK
QEAgLTEzMCw5ICsxMzYsOSBAQCBkZWYgbW96aWxsYUVycm9ySGFuZGxlcgogICAgICAgICB8IG91
dHAsIHBsYW4gfAogICAgICAgICBvdXRwdXRGaWxlbmFtZSA9IFNoZWxsd29yZHMuc2hlbGxlc2Nh
cGUoKFBhdGhuYW1lKCIuLiIpICsgKHBsYW4ubmFtZSArICIub3V0IikpLnRvX3MpCiAKLSAgICAg
ICAgb3V0cC5wdXRzICJpZiB0ZXN0IC1lICN7cGxhbi5mYWlsRmlsZX0iCisgICAgICAgIG91dHAu
cHV0cyBnZXRBbmRUZXN0RXhpdENvZGUocGxhbiwgIi1uZSAwIikKICAgICAgICAgb3V0cC5wdXRz
ICJ0aGVuIgotICAgICAgICBvdXRwLnB1dHMgIiAgICAoY2F0ICN7b3V0cHV0RmlsZW5hbWV9ICYm
IGVjaG8gRVJST1I6IFVuZXhwZWN0ZWQgZXhpdCBjb2RlOiBgY2F0ICN7cGxhbi5mYWlsRmlsZX1g
KSB8ICIgKyByZWRpcmVjdEFuZFByZWZpeENvbW1hbmQocGxhbi5uYW1lKQorICAgICAgICBvdXRw
LnB1dHMgIiAgICAoY2F0ICN7b3V0cHV0RmlsZW5hbWV9ICYmIGVjaG8gRVJST1I6IFVuZXhwZWN0
ZWQgZXhpdCBjb2RlOiAkZXhpdENvZGUpIHwgIiArIHJlZGlyZWN0QW5kUHJlZml4Q29tbWFuZChw
bGFuLm5hbWUpCiAgICAgICAgIG91dHAucHV0cyAiICAgICIgKyBwbGFuLmZhaWxDb21tYW5kCiAg
ICAgICAgIG91dHAucHV0cyAiZWxpZiBncmVwIC1pIC1xIGZhaWxlZCEgI3tvdXRwdXRGaWxlbmFt
ZX0iCiAgICAgICAgIG91dHAucHV0cyAidGhlbiIKQEAgLTE1MSw3ICsxNTcsNyBAQCBkZWYgbW96
aWxsYUZhaWxFcnJvckhhbmRsZXIKICAgICAgICAgfCBvdXRwLCBwbGFuIHwKICAgICAgICAgb3V0
cHV0RmlsZW5hbWUgPSBTaGVsbHdvcmRzLnNoZWxsZXNjYXBlKChQYXRobmFtZSgiLi4iKSArIChw
bGFuLm5hbWUgKyAiLm91dCIpKS50b19zKQogCi0gICAgICAgIG91dHAucHV0cyAiaWYgdGVzdCAt
ZSAje3BsYW4uZmFpbEZpbGV9IgorICAgICAgICBvdXRwLnB1dHMgZ2V0QW5kVGVzdEV4aXRDb2Rl
KHBsYW4sICItbmUgMCIpCiAgICAgICAgIG91dHAucHV0cyAidGhlbiIKICAgICAgICAgb3V0cC5w
dXRzICIgICAgIiArIHBsYW4uc3VjY2Vzc0NvbW1hbmQKICAgICAgICAgb3V0cC5wdXRzICJlbGlm
IGdyZXAgLWkgLXEgZmFpbGVkISAje291dHB1dEZpbGVuYW1lfSIKQEAgLTE3MSw5ICsxNzcsOSBA
QCBkZWYgbW96aWxsYUV4aXQzRXJyb3JIYW5kbGVyCiAgICAgICAgIHwgb3V0cCwgcGxhbiB8CiAg
ICAgICAgIG91dHB1dEZpbGVuYW1lID0gU2hlbGx3b3Jkcy5zaGVsbGVzY2FwZSgoUGF0aG5hbWUo
Ii4uIikgKyAocGxhbi5uYW1lICsgIi5vdXQiKSkudG9fcykKIAotICAgICAgICBvdXRwLnB1dHMg
ImlmIHRlc3QgLWUgI3twbGFuLmZhaWxGaWxlfSIKKyAgICAgICAgb3V0cC5wdXRzIGdldEFuZFRl
c3RFeGl0Q29kZShwbGFuLCAiLW5lIDAiKQogICAgICAgICBvdXRwLnB1dHMgInRoZW4iCi0gICAg
ICAgIG91dHAucHV0cyAiICAgIGlmIFsgYGNhdCAje3BsYW4uZmFpbEZpbGV9YCAtZXEgMyBdIgor
ICAgICAgICBvdXRwLnB1dHMgIiAgICBpZiBbIFwiJGV4aXRDb2RlXCIgLWVxIDMgXSIKICAgICAg
ICAgb3V0cC5wdXRzICIgICAgdGhlbiIKICAgICAgICAgb3V0cC5wdXRzICIgICAgICAgIGlmIGdy
ZXAgLWkgLXEgZmFpbGVkISAje291dHB1dEZpbGVuYW1lfSIKICAgICAgICAgb3V0cC5wdXRzICIg
ICAgICAgIHRoZW4iCkBAIC0xODMsNyArMTg5LDcgQEAgZGVmIG1vemlsbGFFeGl0M0Vycm9ySGFu
ZGxlcgogICAgICAgICBvdXRwLnB1dHMgIiAgICAgICAgICAgICIgKyBwbGFuLnN1Y2Nlc3NDb21t
YW5kCiAgICAgICAgIG91dHAucHV0cyAiICAgICAgICBmaSIKICAgICAgICAgb3V0cC5wdXRzICIg
ICAgZWxzZSIKLSAgICAgICAgb3V0cC5wdXRzICIgICAgICAgIChjYXQgI3tvdXRwdXRGaWxlbmFt
ZX0gJiYgZWNobyBFUlJPUjogVW5leHBlY3RlZCBleGl0IGNvZGU6IGBjYXQgI3twbGFuLmZhaWxG
aWxlfWApIHwgIiArIHJlZGlyZWN0QW5kUHJlZml4Q29tbWFuZChwbGFuLm5hbWUpCisgICAgICAg
IG91dHAucHV0cyAiICAgICAgICAoY2F0ICN7b3V0cHV0RmlsZW5hbWV9ICYmIGVjaG8gRVJST1I6
IFVuZXhwZWN0ZWQgZXhpdCBjb2RlOiAkZXhpdENvZGUpIHwgIiArIHJlZGlyZWN0QW5kUHJlZml4
Q29tbWFuZChwbGFuLm5hbWUpCiAgICAgICAgIG91dHAucHV0cyAiICAgICAgICAiICsgcGxhbi5m
YWlsQ29tbWFuZAogICAgICAgICBvdXRwLnB1dHMgIiAgICBmaSIKICAgICAgICAgb3V0cC5wdXRz
ICJlbHNlIgpAQCAtMjAwLDkgKzIwNiw5IEBAIGRlZiBjaGFrcmFQYXNzRmFpbEVycm9ySGFuZGxl
cgogICAgICAgICB8IG91dHAsIHBsYW4gfAogICAgICAgICBvdXRwdXRGaWxlbmFtZSA9IFNoZWxs
d29yZHMuc2hlbGxlc2NhcGUoKFBhdGhuYW1lKCIuLiIpICsgKHBsYW4ubmFtZSArICIub3V0Iikp
LnRvX3MpCiAKLSAgICAgICAgb3V0cC5wdXRzICJpZiB0ZXN0IC1lICN7cGxhbi5mYWlsRmlsZX0i
CisgICAgICAgIG91dHAucHV0cyBnZXRBbmRUZXN0RXhpdENvZGUocGxhbiwgIi1uZSAwIikKICAg
ICAgICAgb3V0cC5wdXRzICJ0aGVuIgotICAgICAgICBvdXRwLnB1dHMgIiAgICAoY2F0ICN7b3V0
cHV0RmlsZW5hbWV9ICYmIGVjaG8gRVJST1I6IFVuZXhwZWN0ZWQgZXhpdCBjb2RlOiBgY2F0ICN7
cGxhbi5mYWlsRmlsZX1gKSB8ICIgKyByZWRpcmVjdEFuZFByZWZpeENvbW1hbmQocGxhbi5uYW1l
KQorICAgICAgICBvdXRwLnB1dHMgIiAgICAoY2F0ICN7b3V0cHV0RmlsZW5hbWV9ICYmIGVjaG8g
RVJST1I6IFVuZXhwZWN0ZWQgZXhpdCBjb2RlOiAkZXhpdENvZGUpIHwgIiArIHJlZGlyZWN0QW5k
UHJlZml4Q29tbWFuZChwbGFuLm5hbWUpCiAgICAgICAgIG91dHAucHV0cyAiICAgICIgKyBwbGFu
LmZhaWxDb21tYW5kCiAgICAgICAgIG91dHAucHV0cyAiZWxpZiBncmVwIC1pIC1xIEZBSUxFRCAj
e291dHB1dEZpbGVuYW1lfSIKICAgICAgICAgb3V0cC5wdXRzICJ0aGVuIgpAQCAtMjYyLDI1ICsy
NjgsMjkgQEAgY2xhc3MgUGxhbgogICAgICAgICBzY3JpcHQgKz0gIiN7c2hlbGxDb21tYW5kfSB8
fCBleGl0IDEiCiAgICAgICAgICJlY2hvICN7U2hlbGx3b3Jkcy5zaGVsbGVzY2FwZShzY3JpcHQp
fSA+ICN7U2hlbGx3b3Jkcy5zaGVsbGVzY2FwZSgoUGF0aG5hbWUubmV3KCIuLiIpICsgQG5hbWUp
LnRvX3MpfSIKICAgICBlbmQKLSAgICAKKworICAgIGRlZiBzdGF0dXNDb21tYW5kKHN0YXR1cykK
KyAgICAgICAgImVjaG8gI3skcnVuVW5pcXVlSWR9ICRleGl0Q29kZSAje3N0YXR1c30gPiAje3N0
YXR1c0ZpbGV9IgorICAgIGVuZAorCiAgICAgZGVmIGZhaWxDb21tYW5kCi0gICAgICAgICJlY2hv
IEZBSUw6ICN7U2hlbGx3b3Jkcy5zaGVsbGVzY2FwZShAbmFtZSl9IDsgdG91Y2ggI3tmYWlsRmls
ZX0gOyAiICsgcmVwcm9TY3JpcHRDb21tYW5kCisgICAgICAgICIje3N0YXR1c0NvbW1hbmQoU1RB
VFVTX0ZJTEVfRkFJTCl9OyBlY2hvIEZBSUw6ICN7U2hlbGx3b3Jkcy5zaGVsbGVzY2FwZShAbmFt
ZSl9OyAiICsgcmVwcm9TY3JpcHRDb21tYW5kCiAgICAgZW5kCiAgICAgCiAgICAgZGVmIHN1Y2Nl
c3NDb21tYW5kCisgICAgICAgIGNvbW1hbmQgPSAiIgogICAgICAgICBleGVjdXRpb25UaW1lTWVz
c2FnZSA9ICIiCiAgICAgICAgIGlmICRyZXBvcnRFeGVjdXRpb25UaW1lCiAgICAgICAgICAgICBl
eGVjdXRpb25UaW1lTWVzc2FnZSA9ICIgJCgoJFNFQ09ORFMgLSAkU1RBUlRfVElNRSkpcyIKICAg
ICAgICAgZW5kCiAgICAgICAgIGlmICRwcm9ncmVzc01ldGVyIG9yICRyZXBvcnRFeGVjdXRpb25U
aW1lIG9yICR2ZXJib3NpdHkgPj0gMgotICAgICAgICAgICAgInJtIC1mICN7ZmFpbEZpbGV9IDsg
ZWNobyBQQVNTOiAje1NoZWxsd29yZHMuc2hlbGxlc2NhcGUoQG5hbWUpfSN7ZXhlY3V0aW9uVGlt
ZU1lc3NhZ2V9IgotICAgICAgICBlbHNlCi0gICAgICAgICAgICAicm0gLWYgI3tmYWlsRmlsZX0i
CisgICAgICAgICAgICBjb21tYW5kID0gImVjaG8gUEFTUzogI3tTaGVsbHdvcmRzLnNoZWxsZXNj
YXBlKEBuYW1lKX0je2V4ZWN1dGlvblRpbWVNZXNzYWdlfSIKICAgICAgICAgZW5kCisgICAgICAg
ICIje3N0YXR1c0NvbW1hbmQoU1RBVFVTX0ZJTEVfUEFTUyl9OyAje2NvbW1hbmR9IgogICAgIGVu
ZAogICAgIAotICAgIGRlZiBmYWlsRmlsZQotICAgICAgICAidGVzdF9mYWlsXyN7QGluZGV4fSIK
KyAgICBkZWYgc3RhdHVzRmlsZQorICAgICAgICAiI3tTVEFUVVNfRklMRV9QUkVGSVh9I3tAaW5k
ZXh9IgogICAgIGVuZAogICAgIAogICAgIGRlZiB3cml0ZVJ1blNjcmlwdChmaWxlbmFtZSkKQEAg
LTI5MCw4ICszMDAsNDIgQEAgY2xhc3MgUGxhbgogICAgICAgICAgICAgICAgIG91dHAucHV0cyAi
U1RBUlRfVElNRT0kU0VDT05EUyIKICAgICAgICAgICAgIGVuZAogICAgICAgICAgICAgb3V0cC5w
dXRzICJlY2hvIFJ1bm5pbmcgI3tTaGVsbHdvcmRzLnNoZWxsZXNjYXBlKEBuYW1lKX0iCi0gICAg
ICAgICAgICBjbWQgID0gIigiICsgc2hlbGxDb21tYW5kICsgIiB8fCAoZWNobyAkPyA+ICN7ZmFp
bEZpbGV9KSkgMj4mMSAiCi0gICAgICAgICAgICBjbWQgKz0gQG91dHB1dEhhbmRsZXIuY2FsbChA
bmFtZSkKKyAgICAgICAgICAgICMKKyAgICAgICAgICAgICMgKy0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworICAgICAg
ICAgICAgIyB8ICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LSsgICAgICAgICAgICAgICAgICB8CisgICAgICAgICAgICAjIHwgfCArLS0tLS0tLS0tLS0tLS0r
ICAgICArLS0tLS0tLS0tLS0tLS0tLS0tLSsgICAgfCAgICAgICAgICAgICAgICAgIHwKKyAgICAg
ICAgICAgICMgfCB8IHwgY21kIDEgLS0tLT4gMXwtLS0+IHwwIC0tPiBvdXRIIDEgLS0tPiA0fC0+
IDR8LS0tLS0tLS0tLS0tLS0tPiAxfAorICAgICAgICAgICAgIyB8IHwgfCAgICAgMiAvICAgICAg
fCAgICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0rICAgIHwgICArLS0tLS0tLS0tLS0rICB8CisgICAg
ICAgICAgICAjIHwgfCB8ZWNobyAkPyAwIC0+IDN8LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
PiAxfC0+IHwwIHJlYWQgeHMgIHwgIHwKKyAgICAgICAgICAgICMgfCB8ICstLS0tLS0tLS0tLS0t
LSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgfCAgZXhpdCAkeHMgfCAgfAorICAg
ICAgICAgICAgIyB8IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHwgICArLS0tLS0tLS0tLS0rICB8CisgICAgICAgICAgICAjIHwgKy0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKyAgICAgICAgICAgICAgICAgIHwKKyAg
ICAgICAgICAgICMgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworICAgICAgICAgICAgIyBGcm9tIHRoZSB0b3AgZG93
biAoaS5lLiByZWFkaW5nIGZyb20gdGhlIG91dGVyIGV4cHJlc3Npb24gaW53YXJkcyk6CisgICAg
ICAgICAgICAjCisgICAgICAgICAgICAjIC0gUmVkaXJlY3QgRkQgNCB0byBvdXIgc3Rkb3V0Cisg
ICAgICAgICAgICAjCisgICAgICAgICAgICAjIC0gQnVpbGQgYSBwaXBlIG9mIHR3byBjb21tYW5k
IHNlcXVlbmNlcy4gVGhlCisgICAgICAgICAgICAjICAgcmlnaHQtaGFuZC1zaWRlIHNlcXVlbmNl
IHJlYWRzIGEgbnVtYmVyIGZyb20gc3RkaW4gYW5kCisgICAgICAgICAgICAjICAgZXhpdHMgd2l0
aCBpdC4gU2luY2UgaXQncyB0aGUgbGFzdCBjb21tYW5kIGluIHRoZQorICAgICAgICAgICAgIyAg
IHBpcGVsaW5lLCB0aGlzIHdpbGwgYmUgdGhlIHZhbHVlIG9mICQ/IGFmdGVyIHRoZQorICAgICAg
ICAgICAgIyAgIHBpcGVsaW5lIGNvbXBsZXRlcy4KKyAgICAgICAgICAgICMKKyAgICAgICAgICAg
ICMgLSBJbiB0aGUgbGVmdC1oYW5kLXNpZGUgc2VxdWVuY2UsIHJlZGlyZWN0IEZEIDMgdG8gRkQg
MS4KKyAgICAgICAgICAgICMKKyAgICAgICAgICAgICMgLSBCdWlsZCBhIHBpcGUgb2YgdHdvIGNv
bW1hbmRzCisgICAgICAgICAgICAjICAgLSBydW4gc2hlbGxDb21tYW5kLCB3cml0aW5nIGl0cyBl
eGl0IGNvZGUgdG8gRkQgMy4KKyAgICAgICAgICAgICMgICAtIHJ1biB0aGUgb3V0cHV0SGFuZGxl
ciwgd2l0aCBpdHMgc3RkaW4gY29taW5nIGZyb20KKyAgICAgICAgICAgICMgICAgIHRoZSBwaXBl
LCByZWRpcmVjdGluZyBpdHMgb3V0cHV0IHRvIEZEIDQuIFRoZQorICAgICAgICAgICAgIyAgICAg
b3V0cHV0SGFuZGxlciBuZWVkcyB0byBiZSBpbiBhIGNvbW1hbmQgc2VxdWVuY2UKKyAgICAgICAg
ICAgICMgICAgIChpLmUuIGluIHsgY21kOyAuLi59KSBhcyBpdCBtYXkgZG8gaXRzIG93bgorICAg
ICAgICAgICAgIyAgICAgcmVkaXJlY3Rpb25zLgorICAgICAgICAgICAgIworICAgICAgICAgICAg
IyBXZSBkbyBhbGwgdGhpcworICAgICAgICAgICAgIyAtIHRvIGF2b2lkIGhhdmluZyB0byB1c2Ug
YSB0ZW1wb3JhcnkgZmlsZSBmb3IgdGhlIGV4aXQgY29kZQorICAgICAgICAgICAgIyAtIHRvIGtl
ZXAgd2l0aGluIHRoZSBib3VuZHMgb2YgUE9TSVggc2ggKGkuZS4gY2FuJ3QgdXNlCisgICAgICAg
ICAgICAjICAgUElQRVNUQVRVUykKKyAgICAgICAgICAgIGNtZCA9ICJ7IHsgeyB7ICN7c2hlbGxD
b21tYW5kfSAyPiYxOyBlY2hvICQ/ID4mMzsgfSB8IHsgI3tvdXRwdXRIYW5kbGVyLmNhbGwoQG5h
bWUpfSA7fSA+JjQ7IH0gMz4mMTsgfSB8IHsgcmVhZCB4czsgZXhpdCAkeHM7IH0gfSA0PiYxXG5l
eGl0Q29kZT0kP1xuIgogICAgICAgICAgICAgaWYgJHZlcmJvc2l0eSA+PSAzCiAgICAgICAgICAg
ICAgICAgb3V0cC5wdXRzICJlY2hvICN7U2hlbGx3b3Jkcy5zaGVsbGVzY2FwZShjbWQpfSIKICAg
ICAgICAgICAgIGVuZApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRydWJ5L2pzYy1z
dHJlc3MtdGVzdC13cml0ZXItcGxheXN0YXRpb24ucmIgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHJ1
YnkvanNjLXN0cmVzcy10ZXN0LXdyaXRlci1wbGF5c3RhdGlvbi5yYgppbmRleCBlMDc0YTQ0OTVh
ZWE4OGRiYmUyYjhjMjNjNDhkMDdkZTZiNzg0YTliLi5hZjNmNzkzODhjNzQ3YzI3YmIxNTE5OThh
MDQyODYxYjNmODNjYWI1IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHJ1YnkvanNj
LXN0cmVzcy10ZXN0LXdyaXRlci1wbGF5c3RhdGlvbi5yYgorKysgYi9Ub29scy9TY3JpcHRzL3dl
YmtpdHJ1YnkvanNjLXN0cmVzcy10ZXN0LXdyaXRlci1wbGF5c3RhdGlvbi5yYgpAQCAtMzA1LDEw
ICszMDUsMjEgQEAgY2xhc3MgUGxhbgogICAgICAgICByZXR1cm4gIiIKICAgICBlbmQKIAorICAg
IGRlZiBzdGF0dXNDb21tYW5kKHN0YXR1c19jb2RlKQorICAgICAgICAjIE1heSBiZSBjYWxsZWQg
aW4gdGggcmVzY3VlIGJsb2NrLCBzbyBzdGF0dXMgaXMgbm90CisgICAgICAgICMgZ3VhcmFudGVl
ZCB0byBiZSBzZXQ7IGlmIGl0IGlzbid0LCBzZXQgdGhlIGV4aXQgY29kZSB0bworICAgICAgICAj
IHNvbWV0aGluZyB0aGF0J3MgY2xlYXJseSBpbnZhbGlkLgorICAgICAgICA8PC1FTkRfU1RBVFVT
X0NPTU1BTkQKKyAgICAgICAgICBGaWxlLm9wZW4oIiN7c3RhdHVzRmlsZX0iLCAidyIpIHsgfGZ8
CisgICAgICAgICAgICAgIGYucHV0cygiI3skcnVuVW5pcXVlSWR9IFwje3N0YXR1cy5uaWw/ID8g
OTk5OTk5OTk5IDogc3RhdHVzLmV4aXRzdGF0dXN9ICN7c3RhdHVzX2NvZGV9IikKKyAgICAgICAg
ICB9CisgICAgICAgIEVORF9TVEFUVVNfQ09NTUFORAorICAgIGVuZAorCiAgICAgZGVmIGZhaWxD
b21tYW5kCiAgICAgICAgIDw8LUVORF9GQUlMX0NPTU1BTkQKICAgICAgICAgICAgIHByaW50ICJG
QUlMOiAje1NoZWxsd29yZHMuc2hlbGxlc2NhcGUoQG5hbWUpfVxuIgotICAgICAgICAgICAgRmls
ZVV0aWxzLnRvdWNoKCIje2ZhaWxGaWxlfSIpCisgICAgICAgICAgICAje3N0YXR1c0NvbW1hbmQo
U1RBVFVTX0ZJTEVfRkFJTCl9CiAgICAgICAgICAgICAje3JlcHJvU2NyaXB0Q29tbWFuZH0KICAg
ICAgICAgRU5EX0ZBSUxfQ09NTUFORAogICAgIGVuZApAQCAtMzE2LDI2ICszMjcsMTYgQEAgY2xh
c3MgUGxhbgogICAgIGRlZiBzdWNjZXNzQ29tbWFuZAogICAgICAgICBpZiAkcHJvZ3Jlc3NNZXRl
ciBvciAkdmVyYm9zaXR5ID49IDIKICAgICAgICAgICAgIDw8LUVORF9WRVJCT1NFX1NVQ0NFU1Nf
Q09NTUFORAotICAgICAgICAgICAgICAgIEZpbGUudW5saW5rKCIje2ZhaWxGaWxlfSIpIGlmIEZp
bGUuZXhpc3RzPygiI3tmYWlsRmlsZX0iKQogICAgICAgICAgICAgICAgIHByaW50ICJQQVNTOiAj
e1NoZWxsd29yZHMuc2hlbGxlc2NhcGUoQG5hbWUpfVxuIgorICAgICAgICAgICAgICAgICN7c3Rh
dHVzQ29tbWFuZChTVEFUVVNfRklMRV9QQVNTKX0KICAgICAgICAgICAgIEVORF9WRVJCT1NFX1NV
Q0NFU1NfQ09NTUFORAogICAgICAgICBlbHNlCi0gICAgICAgICAgICAiRmlsZS51bmxpbmsoXCIj
e2ZhaWxGaWxlfVwiKSBpZiBGaWxlLmV4aXN0cz8oXCIje2ZhaWxGaWxlfVwiKVxuIgorICAgICAg
ICAgICAgIiN7c3RhdHVzQ29tbWFuZChTVEFUVVNfRklMRV9QQVNTKX1cbiIKICAgICAgICAgZW5k
CiAgICAgZW5kCiAKLSAgICBkZWYgZmFpbEZpbGUKLSAgICAgICAgInRlc3RfZmFpbF8je0BpbmRl
eH0iCi0gICAgZW5kCi0KLSAgICBkZWYgc3RhdHVzV3JpdGUKLSAgICAgICAgPDwtRU5EX1NUQVRV
U19XUklURQotICAgICAgICAgICAgaWYgIXN1Y2Nlc3MKLSAgICAgICAgICAgICAgICBGaWxlLm9w
ZW4oIiN7ZmFpbEZpbGV9IiwgInciKSBkbyB8Y29kZV9maWxlfAotICAgICAgICAgICAgICAgICAg
ICBjb2RlX2ZpbGUucHV0cyBzdGF0dXMKLSAgICAgICAgICAgICAgICBlbmQKLSAgICAgICAgICAg
IGVuZAotICAgICAgICBFTkRfU1RBVFVTX1dSSVRFCisgICAgZGVmIHN0YXR1c0ZpbGUKKyAgICAg
ICAgIiN7U1RBVFVTX0ZJTEVfUFJFRklYfSN7QGluZGV4fSIKICAgICBlbmQKIAogICAgIGRlZiB3
cml0ZVJ1blNjcmlwdChmaWxlbmFtZSkKQEAgLTM1Nyw3ICszNTgsNiBAQCBjbGFzcyBQbGFuCiAg
ICAgICAgICAgICAgICAgb3V0cHV0TmFtZTogQG5hbWUuZ3N1YigvKFxcfFwvKS8sICdfJyksCiAg
ICAgICAgICAgICAgICAgY2hlY2tTY3JpcHQ6IGZpbGVuYW1lLAogICAgICAgICAgICAgICAgIGFy
Z3M6IEBhcmd1bWVudHMsCi0gICAgICAgICAgICAgICAgZmFpbEZpbGU6ICIje2ZhaWxGaWxlfSIK
ICAgICAgICAgICAgIH0pCiAgICAgICAgIH0KIApAQCAtMzcxLDggKzM3MSw2IEBAIGNsYXNzIFBs
YW4KIAogICAgICAgICAgICAgY21kID0gc2hlbGxDb21tYW5kCiAKLSAgICAgICAgICAgIGNtZCAr
PSBzdGF0dXNXcml0ZQotCiAgICAgICAgICAgICBjbWQgKz0gQG91dHB1dEhhbmRsZXIuY2FsbChA
bmFtZSkKIAogICAgICAgICAgICAgaWYgJHZlcmJvc2l0eSA+PSAzCkBAIC0zODIsNyArMzgwLDcg
QEAgY2xhc3MgUGxhbgogICAgICAgICAgICAgQGVycm9ySGFuZGxlci5jYWxsKG91dHAsIHNlbGYp
CiAgICAgICAgICAgICBvdXRwLnB1dHMgInJlc2N1ZSBSdW50aW1lRXJyb3IgPT4gZSIKICAgICAg
ICAgICAgIG91dHAucHV0cyAiICAgIHByaW50IFwiRkFJTDogI3tTaGVsbHdvcmRzLnNoZWxsZXNj
YXBlKEBuYW1lKX1cXG5cIiIKLSAgICAgICAgICAgIG91dHAucHV0cyAiICAgIEZpbGVVdGlscy50
b3VjaChcIiN7ZmFpbEZpbGV9XCIpIgorICAgICAgICAgICAgb3V0cC5wdXRzICIgICAgI3tzdGF0
dXNDb21tYW5kKFNUQVRVU19GSUxFX0ZBSUwpfSIKICAgICAgICAgICAgIG91dHAucHV0cyAiZW5k
IgogICAgICAgICB9CiAgICAgZW5kCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHJ1
YnkvanNjLXN0cmVzcy10ZXN0LXdyaXRlci1ydWJ5LnJiIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRy
dWJ5L2pzYy1zdHJlc3MtdGVzdC13cml0ZXItcnVieS5yYgppbmRleCBkMDNjZjc1Y2M0M2MyY2I0
ZjhjMjk3MDE0NThhM2I0OWU3OTM4NTUzLi43ODg4MTZhZDBjOWYxMGI3Njc1NmI4NzE2NTZmOTQ4
YTZmNWIyYjM2IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHJ1YnkvanNjLXN0cmVz
cy10ZXN0LXdyaXRlci1ydWJ5LnJiCisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cnVieS9qc2Mt
c3RyZXNzLXRlc3Qtd3JpdGVyLXJ1YnkucmIKQEAgLTMzNSwxMCArMzM1LDIxIEBAIGNsYXNzIFBs
YW4KICAgICAgICAgRU5EX1JFUFJPX1NDUklQVF9DT01NQU5ECiAgICAgZW5kCiAKKyAgICBkZWYg
c3RhdHVzQ29tbWFuZChzdGF0dXNfY29kZSkKKyAgICAgICAgIyBNYXkgYmUgY2FsbGVkIGluIHRo
IHJlc2N1ZSBibG9jaywgc28gc3RhdHVzIGlzIG5vdAorICAgICAgICAjIGd1YXJhbnRlZWQgdG8g
YmUgc2V0OyBpZiBpdCBpc24ndCwgc2V0IHRoZSBleGl0IGNvZGUgdG8KKyAgICAgICAgIyBzb21l
dGhpbmcgdGhhdCdzIGNsZWFybHkgaW52YWxpZC4KKyAgICAgICAgPDwtRU5EX1NUQVRVU19DT01N
QU5ECisgICAgICAgICAgRmlsZS5vcGVuKCIje3N0YXR1c0ZpbGV9IiwgInciKSB7IHxmfAorICAg
ICAgICAgICAgICBmLnB1dHMoIiN7JHJ1blVuaXF1ZUlkfSBcI3tzdGF0dXMubmlsPyA/IDk5OTk5
OTk5OSA6IHN0YXR1cy5leGl0c3RhdHVzfSAje3N0YXR1c19jb2RlfSIpCisgICAgICAgICAgfQor
ICAgICAgICBFTkRfU1RBVFVTX0NPTU1BTkQKKyAgICBlbmQKKwogICAgIGRlZiBmYWlsQ29tbWFu
ZAogICAgICAgICA8PC1FTkRfRkFJTF9DT01NQU5ECiAgICAgICAgICAgICBwcmludCAiRkFJTDog
I3tTaGVsbHdvcmRzLnNoZWxsZXNjYXBlKEBuYW1lKX1cbiIKLSAgICAgICAgICAgIEZpbGVVdGls
cy50b3VjaCgiI3tmYWlsRmlsZX0iKQorICAgICAgICAgICAgI3tzdGF0dXNDb21tYW5kKFNUQVRV
U19GSUxFX0ZBSUwpfQogICAgICAgICAgICAgI3tyZXByb1NjcmlwdENvbW1hbmR9CiAgICAgICAg
IEVORF9GQUlMX0NPTU1BTkQKICAgICBlbmQKQEAgLTM0NiwyOCArMzU3LDE4IEBAIGNsYXNzIFBs
YW4KICAgICBkZWYgc3VjY2Vzc0NvbW1hbmQKICAgICAgICAgaWYgJHByb2dyZXNzTWV0ZXIgb3Ig
JHZlcmJvc2l0eSA+PSAyCiAgICAgICAgICAgICA8PC1FTkRfVkVSQk9TRV9TVUNDRVNTX0NPTU1B
TkQKLSAgICAgICAgICAgICAgICBGaWxlLnVubGluaygiI3tmYWlsRmlsZX0iKSBpZiBGaWxlLmV4
aXN0cz8oIiN7ZmFpbEZpbGV9IikKICAgICAgICAgICAgICAgICBwcmludCAiUEFTUzogI3tTaGVs
bHdvcmRzLnNoZWxsZXNjYXBlKEBuYW1lKX1cbiIKKyAgICAgICAgICAgICAgICAje3N0YXR1c0Nv
bW1hbmQoU1RBVFVTX0ZJTEVfUEFTUyl9CiAgICAgICAgICAgICBFTkRfVkVSQk9TRV9TVUNDRVNT
X0NPTU1BTkQKICAgICAgICAgZWxzZQotICAgICAgICAgICAgIkZpbGUudW5saW5rKFwiI3tmYWls
RmlsZX1cIikgaWYgRmlsZS5leGlzdHM/KFwiI3tmYWlsRmlsZX1cIilcbiIKKyAgICAgICAgICAg
ICIje3N0YXR1c0NvbW1hbmQoU1RBVFVTX0ZJTEVfUEFTUyl9XG4iCiAgICAgICAgIGVuZAogICAg
IGVuZAogICAgIAotICAgIGRlZiBmYWlsRmlsZQotICAgICAgICAidGVzdF9mYWlsXyN7QGluZGV4
fSIKKyAgICBkZWYgc3RhdHVzRmlsZQorICAgICAgICAiI3tTVEFUVVNfRklMRV9QUkVGSVh9I3tA
aW5kZXh9IgogICAgIGVuZAogCi0gICAgZGVmIHN0YXR1c1dyaXRlCi0gICAgICAgIDw8LUVORF9T
VEFUVVNfV1JJVEUKLSAgICAgICAgICAgIGlmICFzdWNjZXNzKHN0YXR1cykKLSAgICAgICAgICAg
ICAgICBGaWxlLm9wZW4oIiN7ZmFpbEZpbGV9IiwgInciKSBkbyB8Y29kZV9maWxlfAotICAgICAg
ICAgICAgICAgICAgICBjb2RlX2ZpbGUucHV0cyBzdGF0dXMuZXhpdHN0YXR1cwotICAgICAgICAg
ICAgICAgIGVuZAotICAgICAgICAgICAgZW5kCi0gICAgICAgIEVORF9TVEFUVVNfV1JJVEUKLSAg
ICBlbmQKLSAgICAKICAgICBkZWYgd3JpdGVSdW5TY3JpcHQoZmlsZW5hbWUpCiAgICAgICAgIEZp
bGUub3BlbihmaWxlbmFtZSwgInciKSB7CiAgICAgICAgICAgICB8IG91dHAgfApAQCAtMzgyLDgg
KzM4Myw2IEBAIGNsYXNzIFBsYW4KIAogICAgICAgICAgICAgY21kID0gc2hlbGxDb21tYW5kCiAK
LSAgICAgICAgICAgIGNtZCArPSBzdGF0dXNXcml0ZQotCiAgICAgICAgICAgICBjbWQgKz0gQG91
dHB1dEhhbmRsZXIuY2FsbChAbmFtZSkKIAogICAgICAgICAgICAgaWYgJHZlcmJvc2l0eSA+PSAz
CkBAIC0zOTMsNyArMzkyLDcgQEAgY2xhc3MgUGxhbgogICAgICAgICAgICAgQGVycm9ySGFuZGxl
ci5jYWxsKG91dHAsIHNlbGYpCiAgICAgICAgICAgICBvdXRwLnB1dHMgInJlc2N1ZSIKICAgICAg
ICAgICAgIG91dHAucHV0cyAiICAgIHByaW50IFwiRkFJTDogI3tTaGVsbHdvcmRzLnNoZWxsZXNj
YXBlKEBuYW1lKX1cXG5cIiIKLSAgICAgICAgICAgIG91dHAucHV0cyAiICAgIEZpbGVVdGlscy50
b3VjaChcIiN7ZmFpbEZpbGV9XCIpIgorICAgICAgICAgICAgb3V0cC5wdXRzICIgICAgI3tzdGF0
dXNDb21tYW5kKFNUQVRVU19GSUxFX0ZBSUwpfSIKICAgICAgICAgICAgIG91dHAucHV0cyAiZW5k
IgogICAgICAgICB9CiAgICAgZW5kCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>