<?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>45491</bug_id>
          
          <creation_ts>2010-09-09 14:04:20 -0700</creation_ts>
          <short_desc>when empty, clicking &quot;down&quot; on outer-spin-button returns &quot;max value&quot;</short_desc>
          <delta_ts>2010-11-29 22:11:34 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Forms</component>
          <version>420+</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter>greg+webkit-bugzilla</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>buildbot</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dglazkov</cc>
    
    <cc>dmikurube</cc>
    
    <cc>johandouma</cc>
    
    <cc>tkent</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>276742</commentid>
    <comment_count>0</comment_count>
    <who name="">greg+webkit-bugzilla</who>
    <bug_when>2010-09-09 14:04:20 -0700</bug_when>
    <thetext>Honestly not sure about the webkit version (sorry), but this was tested on an up-to-date Mac with OSX 10.5 with up-to-date stable Chrome and Safari. 

Minimum value was set to 0 (as we only want non-negative possible values).  When the attached field is empty, clicking &quot;down&quot; on an outer-spin-button for a number type field returns max value (-1.7976931348623157e+308 before I set 0 as the min; now, I get the positive version of that number). Additional clicks do not seem to affect the value when in this state, although I can edit the field, so it is not entirely &quot;dead&quot;.

I have been searching high and low and have not been able to find an adequate solution to this problem, and every website form that I have found using the same component has the same issue.  Any ideas?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>299289</commentid>
    <comment_count>1</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-10-25 22:39:03 -0700</bug_when>
    <thetext>It&apos;s an intentional behavior.  1.7976931348623157e+308 is the hard limit of the internal number representation.

I think we can improve it.  What should happen when a user presses &quot;down&quot; / &quot;up&quot; button for an empty number field?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>299304</commentid>
    <comment_count>2</comment_count>
    <who name="Johan Douma">johandouma</who>
    <bug_when>2010-10-25 23:44:17 -0700</bug_when>
    <thetext>Hi all, 

Related: http://code.google.com/p/chromium/issues/detail?id=50628&amp;can=5

Even though it&apos;s a hard limit (or &quot;intentional behavior&quot;), most webkit (and chrome/safari) won&apos;t see it that way. 

I think most people would expect it to start from 0 when clicking on either Up or down while the field is empty.

When empty:
Pressing up: changes value from empty to 1
Pressing down: changes value from empty to -1

I don&apos;t really see any issues with that, but I might be missing something?

Cheers, 
Johan</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>299479</commentid>
    <comment_count>3</comment_count>
    <who name="">greg+webkit-bugzilla</who>
    <bug_when>2010-10-26 08:27:19 -0700</bug_when>
    <thetext>Thanks for the comments guys.  Agreed that an empty field intuitively starts from 0.  

Where we diverge is that hitting down from an empty field where minimum is set to 0 does not intuitively lead you to a max value.  Is that the typical behavior (to loop back around)?  I would expect that hitting &quot;down&quot; from a minimum value would maintain the minimum value (in this case, propagate a 0 into the field without looping around to a max value.)

Also, once the max value was there, I could no longer use the button to change the value.  I had the max value in the field, and clicking up/down no longer did anything (no looping back or value change at all).  Thanks for the help!!!

-g</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>300070</commentid>
    <comment_count>4</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-10-27 01:45:29 -0700</bug_when>
    <thetext>Thanks for the comments.  I agree that assuming the empty as 0 is better.

* If 0 is in-range, and matches to step value
  &quot;down&quot; -&gt; -step
  &quot;up&quot; -&gt; +step
  If -step or +step is out of range, new value should be 0.

* If 0 is smaller than the minimum value
 &quot;down&quot; -&gt; the minimum value
 &quot;up&quot; -&gt; the minimum value

* If 0 is larger than the maximum value
 &quot;down&quot; -&gt; the maximum value
 &quot;up&quot; -&gt; the maximum value

* If 0 is in-range, but not matched to step value
 &quot;down&quot; -&gt; smaler matched value nearest to 0.
   e.g. &lt;input type=number min=-100 step=3&gt; -&gt; -99
 &quot;up&quot; -&gt; larger matched value nearest to 0.
   e.g. &lt;input type=number min=-100 step=3&gt; -&gt; 2

As for date/datetime/datetime-local/month/time/week types, we should assume &quot;0&quot; is &quot;current date/time&quot;.

Does this make sense?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>300206</commentid>
    <comment_count>5</comment_count>
    <who name="">greg+webkit-bugzilla</who>
    <bug_when>2010-10-27 07:34:14 -0700</bug_when>
    <thetext>Yes, that all makes a lot of sense.  I&apos;m excited about the upcoming fix. Thx again! =)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>302324</commentid>
    <comment_count>6</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-10-30 09:38:05 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; * If 0 is in-range, but not matched to step value
&gt;  &quot;down&quot; -&gt; smaler matched value nearest to 0.
&gt;    e.g. &lt;input type=number min=-100 step=3&gt; -&gt; -99

Correction:
  &lt;input type=number min=-100 step=3&gt; -&gt; -1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>304496</commentid>
    <comment_count>7</comment_count>
    <who name="Dai Mikurube">dmikurube</who>
    <bug_when>2010-11-03 23:47:47 -0700</bug_when>
    <thetext>(In reply to comment #6)
The case if 0 is in-range, but not matched to step value is related to the bug 48976.
https://bugs.webkit.org/show_bug.cgi?id=48976</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>311340</commentid>
    <comment_count>8</comment_count>
    <who name="Dai Mikurube">dmikurube</who>
    <bug_when>2010-11-19 03:25:51 -0800</bug_when>
    <thetext>Would someone tell me some nice ways to test &quot;current date/time&quot; for date/datetime/datetime-local/month/time/week types? For now, I&apos;ve started to work on this bug and it looks like almost working.


IFMO, options are :

1-A. Add a function like setCurrentTimeAndStop() into layoutTestController. And add a hook into JavaScriptCore/wtf/CurrentTime.c:currentTime().

1-B. Add setCurrentTimeAndStop(). In contrast to 1-A, add another function like currentTimeWithTest() into CurrentTime.c. The if-statement is in the new function. No influence on the original currentTime().

2. &quot;new Date()&quot; in the test (like fast/forms/input-stepup-stepdown-from-renderer.html), and compare the results of stepUp()/stepDown() with the constructed Date.

I think 1-B is the best in them. But the number of functions increases if we applied the same approach for other tests in future.

I&apos;m wondering if you could tell me which is better, or another nice idea.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>311348</commentid>
    <comment_count>9</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-11-19 04:03:23 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; Would someone tell me some nice ways to test &quot;current date/time&quot; for date/datetime/datetime-local/month/time/week types? For now, I&apos;ve started to work on this bug and it looks like almost working.
&gt; 
&gt; 
&gt; IFMO, options are :

The question is almost equivalent to &quot;How to test &apos;new Date()&apos;?&quot;.
As far as I know, we don&apos;t have tests of &apos;new Date()&apos; behavior.

WTF::currentTIme() must be a hot-spot and we&apos;d like to avoid to change it :-)
So, the easiest way is to make a manual test.  See WebCore/manual-tests/.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>311474</commentid>
    <comment_count>10</comment_count>
    <who name="Dai Mikurube">dmikurube</who>
    <bug_when>2010-11-19 08:14:29 -0800</bug_when>
    <thetext>(In reply to comment #9)
&gt; The question is almost equivalent to &quot;How to test &apos;new Date()&apos;?&quot;.
&gt; As far as I know, we don&apos;t have tests of &apos;new Date()&apos; behavior.
Yes. Got it.

&gt; WTF::currentTIme() must be a hot-spot and we&apos;d like to avoid to change it :-)
&gt; So, the easiest way is to make a manual test.  See WebCore/manual-tests/.
Thank you. Manual-tests looks like reasonable. 
1-B doesn&apos;t affect other currentTime() calls, but we cannot apply the same approaches to other calls. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>313162</commentid>
    <comment_count>11</comment_count>
    <who name="Dai Mikurube">dmikurube</who>
    <bug_when>2010-11-24 00:40:18 -0800</bug_when>
    <thetext>I found this bug depends on another bug 50007.
&gt; https://bugs.webkit.org/show_bug.cgi?id=50007</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>313607</commentid>
    <comment_count>12</comment_count>
    <who name="Dai Mikurube">dmikurube</who>
    <bug_when>2010-11-24 21:50:04 -0800</bug_when>
    <thetext>(In reply to comment #11)
Finally, found the 50007 is not required.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>313609</commentid>
    <comment_count>13</comment_count>
      <attachid>74830</attachid>
    <who name="Dai Mikurube">dmikurube</who>
    <bug_when>2010-11-24 21:54:51 -0800</bug_when>
    <thetext>Created attachment 74830
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>313615</commentid>
    <comment_count>14</comment_count>
      <attachid>74830</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-11-24 22:25:23 -0800</bug_when>
    <thetext>Comment on attachment 74830
Patch

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

quick review.

&gt; JavaScriptCore/ChangeLog:7
&gt; +        when empty, clicking &quot;down&quot; on outer-spin-button returns &quot;max value&quot;
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=45491
&gt; +

Write why we need this wtf/ change please.

&gt; JavaScriptCore/wtf/DateMath.h:89
&gt; +// Returns the offsets for UTC and DST.
&gt; +int32_t calculateUTCOffset();
&gt; +double calculateDSTOffset(double ms, double utcOffset);

The return values are unclear.  Milliseconds, seconds, minutes, or hours?

&gt; LayoutTests/fast/forms/script-tests/input-stepup-stepdown-from-renderer.js:28
&gt; +    if (typeof optionalStepCount != &quot;undefined&quot;)
&gt; +        if (optionalStepCount &lt; 0)
&gt; +            for (var i = 0; i &lt; -optionalStepCount; i++)
&gt; +                sendKey(&apos;Down&apos;);
&gt; +        else
&gt; +            for (var i = 0; i &lt; optionalStepCount; i++)
&gt; +                sendKey(&apos;Up&apos;);
&gt; +    else

If you follow WebKit C++ style in JavaScript code, we should add {}  for multiple-line if-clause / else-clause.

&gt; WebCore/ChangeLog:7
&gt; +        when empty, clicking &quot;down&quot; on outer-spin-button returns &quot;max value&quot;
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=45491
&gt; +

Please write what behavior change we have.

&gt; WebCore/html/HTMLInputElement.h:270
&gt; +    virtual bool isRangeControl() const { return deprecatedInputType() == RANGE; }

Do not use deprecatedInputType() in new code.

&gt; WebCore/html/InputType.h:92
&gt; +    virtual double defaultValue() const;

The name &quot;defaultValue&quot; is not good.  The functions of InputType are usually synchronized with HTMLInputElement, and HTMLInputElement already has defaultValue().

&gt; WebCore/html/RangeInputType.cpp:165
&gt; -        String lastStringValue = element()-&gt;value();
&gt; -        element()-&gt;stepUp(stepMagnification, ec);
&gt; -        if (lastStringValue != element()-&gt;value())
&gt; -            element()-&gt;dispatchFormControlChangeEvent();
&gt; +        // Using stepUpFromRenderer() since it is a kind of stepUp() operation
&gt; +        element()-&gt;stepUpFromRenderer(stepMagnification);

Is this change related to this bug?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>313630</commentid>
    <comment_count>15</comment_count>
      <attachid>74830</attachid>
    <who name="Dai Mikurube">dmikurube</who>
    <bug_when>2010-11-25 00:07:22 -0800</bug_when>
    <thetext>Comment on attachment 74830
Patch

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

&gt;&gt; JavaScriptCore/ChangeLog:7
&gt;&gt; +
&gt; 
&gt; Write why we need this wtf/ change please.

Added a description.

&gt;&gt; JavaScriptCore/wtf/DateMath.h:89
&gt;&gt; +double calculateDSTOffset(double ms, double utcOffset);
&gt; 
&gt; The return values are unclear.  Milliseconds, seconds, minutes, or hours?

Milliseconds. Added.

&gt;&gt; LayoutTests/fast/forms/script-tests/input-stepup-stepdown-from-renderer.js:28
&gt;&gt; +    else
&gt; 
&gt; If you follow WebKit C++ style in JavaScript code, we should add {}  for multiple-line if-clause / else-clause.

Done. Thanks!

&gt;&gt; WebCore/ChangeLog:7
&gt;&gt; +
&gt; 
&gt; Please write what behavior change we have.

Described.

&gt;&gt; WebCore/html/HTMLInputElement.h:270
&gt;&gt; +    virtual bool isRangeControl() const { return deprecatedInputType() == RANGE; }
&gt; 
&gt; Do not use deprecatedInputType() in new code.

Replaced with formControlType() == InputTypeNames::range().
Is it ok?

&gt;&gt; WebCore/html/InputType.h:92
&gt;&gt; +    virtual double defaultValue() const;
&gt; 
&gt; The name &quot;defaultValue&quot; is not good.  The functions of InputType are usually synchronized with HTMLInputElement, and HTMLInputElement already has defaultValue().

Replaced with startingValue().

&gt;&gt; WebCore/html/RangeInputType.cpp:165
&gt;&gt; +        element()-&gt;stepUpFromRenderer(stepMagnification);
&gt; 
&gt; Is this change related to this bug?

Yes, keydowns from renderer for range-type inputs are handled with stepUp(), not stepUpFromRenderer() without this change. It results in no clamping steps for range-type inputs.

If clamping steps (stepwise adjustment) is not related in this bug, this change should be done in another bug. We discussed it at https://bugs.webkit.org/show_bug.cgi?id=48976#c23</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>313631</commentid>
    <comment_count>16</comment_count>
      <attachid>74835</attachid>
    <who name="Dai Mikurube">dmikurube</who>
    <bug_when>2010-11-25 00:15:15 -0800</bug_when>
    <thetext>Created attachment 74835
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>313633</commentid>
    <comment_count>17</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2010-11-25 00:27:41 -0800</bug_when>
    <thetext>Attachment 74830 did not build on win:
Build output: http://queues.webkit.org/results/6425019</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>313643</commentid>
    <comment_count>18</comment_count>
      <attachid>74839</attachid>
    <who name="Dai Mikurube">dmikurube</who>
    <bug_when>2010-11-25 01:04:10 -0800</bug_when>
    <thetext>Created attachment 74839
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>313644</commentid>
    <comment_count>19</comment_count>
    <who name="Dai Mikurube">dmikurube</who>
    <bug_when>2010-11-25 01:04:36 -0800</bug_when>
    <thetext>(In reply to comment #17)
&gt; Attachment 74830 [details] did not build on win:
&gt; Build output: http://queues.webkit.org/results/6425019

I wrongly exchanged calculateUTCOffset() and calculateDSTOffset().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>313649</commentid>
    <comment_count>20</comment_count>
      <attachid>74830</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-11-25 01:26:30 -0800</bug_when>
    <thetext>Comment on attachment 74830
Patch

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

&gt;&gt;&gt; WebCore/html/HTMLInputElement.h:270
&gt;&gt;&gt; +    virtual bool isRangeControl() const { return deprecatedInputType() == RANGE; }
&gt;&gt; 
&gt;&gt; Do not use deprecatedInputType() in new code.
&gt; 
&gt; Replaced with formControlType() == InputTypeNames::range().
&gt; Is it ok?

It&apos;s acceptable.  But the best way is to add isRangeControl() to InputType and RangeInputType.
isRangeControl() is not called by other classes.  We don&apos;t need to add it to the public section of HTMLInputElement.

&gt;&gt;&gt; WebCore/html/InputType.h:92
&gt;&gt;&gt; +    virtual double defaultValue() const;
&gt;&gt; 
&gt;&gt; The name &quot;defaultValue&quot; is not good.  The functions of InputType are usually synchronized with HTMLInputElement, and HTMLInputElement already has defaultValue().
&gt; 
&gt; Replaced with startingValue().

It is not self-descriptible.  How about defaultValueForStepUp() or something?

&gt;&gt;&gt; WebCore/html/RangeInputType.cpp:165
&gt;&gt;&gt; +        element()-&gt;stepUpFromRenderer(stepMagnification);
&gt;&gt; 
&gt;&gt; Is this change related to this bug?
&gt; 
&gt; Yes, keydowns from renderer for range-type inputs are handled with stepUp(), not stepUpFromRenderer() without this change. It results in no clamping steps for range-type inputs.
&gt; 
&gt; If clamping steps (stepwise adjustment) is not related in this bug, this change should be done in another bug. We discussed it at https://bugs.webkit.org/show_bug.cgi?id=48976#c23

Ok, I understand.  stepUp() is insufficient for &quot;natural&quot; behavior and we had better centralize the code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>313693</commentid>
    <comment_count>21</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2010-11-25 04:35:48 -0800</bug_when>
    <thetext>Attachment 74839 did not build on win:
Build output: http://queues.webkit.org/results/6304055</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>313870</commentid>
    <comment_count>22</comment_count>
      <attachid>74839</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-11-25 17:00:23 -0800</bug_when>
    <thetext>Comment on attachment 74839
Patch

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

I stopped reviewing halfway.  The test quality is bad.  Please be careful.

&gt; JavaScriptCore/ChangeLog:20
&gt; +        Another option was to provide another currentTime() to return the current local milliseconds.
&gt; +        Surveying the codes, however, all of existing &quot;milliseconds&quot; in double variables are
&gt; +        consistently in UTC. I guess we should not emit &quot;milliseconds&quot; in non-UTC in the code.
&gt; +        Finally I locked &quot;milliseconds&quot; in non-UTC in calculating default values.

This paragraph looks unnecessary.
Also, I feel it&apos;s strange to have the word &quot;I&quot; in ChangeLog.

&gt; LayoutTests/fast/forms/script-tests/input-stepup-stepdown-from-renderer.js:1
&gt; +description(&apos;Check stepUp() and stepDown() bahevior from renderer for type=date, datetime, datetime-local, month, time, week.&apos;);

The test contains &quot;number&quot; and &quot;range&quot; types.

&gt; LayoutTests/fast/forms/script-tests/input-stepup-stepdown-from-renderer.js:88
&gt; +debug(&apos;Non-number arguments&apos;);
&gt; +shouldBe(&apos;stepUp(&quot;2010-02-10&quot;, null, null, &quot;0&quot;)&apos;, &apos;&quot;2010-02-10&quot;&apos;);
&gt; +shouldBe(&apos;stepDown(&quot;2010-02-10&quot;, null, null, &quot;0&quot;)&apos;, &apos;&quot;2010-02-10&quot;&apos;);
&gt; +shouldBe(&apos;stepUp(&quot;2010-02-10&quot;, null, null, &quot;foo&quot;)&apos;, &apos;&quot;2010-02-10&quot;&apos;);
&gt; +shouldBe(&apos;stepDown(&quot;2010-02-10&quot;, null, null, &quot;foo&quot;)&apos;, &apos;&quot;2010-02-10&quot;&apos;);
&gt; +shouldBe(&apos;stepUp(&quot;2010-02-10&quot;, null, null, null)&apos;, &apos;&quot;2010-02-10&quot;&apos;);
&gt; +shouldBe(&apos;stepDown(&quot;2010-02-10&quot;, null, null, null)&apos;, &apos;&quot;2010-02-10&quot;&apos;);

The 4th parameter is recognized in JavaScript code and is not passed to C++ code.
We don&apos;t need to test invalid values.

&gt; LayoutTests/fast/forms/script-tests/input-stepup-stepdown-from-renderer.js:101
&gt; +shouldBe(&apos;stepUp(&quot;2010-02-10&quot;, &quot;3.40282346e+38&quot;, null)&apos;,&apos;&quot;1970-01-01&quot;&apos;);
&gt; +shouldBe(&apos;stepDown(&quot;2010-02-10&quot;, &quot;3.40282346e+38&quot;, null)&apos;, &apos;&quot;275760-09-13&quot;&apos;);

These results look very strange.  Are they expected?

&gt; LayoutTests/fast/forms/script-tests/input-stepup-stepdown-from-renderer.js:114
&gt; +debug(&apos;Non-number arguments&apos;);
&gt; +shouldBe(&apos;stepUp(&quot;2010-02-10T20:13Z&quot;, null, null, &quot;0&quot;)&apos;, &apos;&quot;2010-02-10T20:13Z&quot;&apos;);
&gt; +shouldBe(&apos;stepDown(&quot;2010-02-10T20:13Z&quot;, null, null, &quot;0&quot;)&apos;, &apos;&quot;2010-02-10T20:13Z&quot;&apos;);
&gt; +shouldBe(&apos;stepUp(&quot;2010-02-10T20:13Z&quot;, null, null, &quot;foo&quot;)&apos;, &apos;&quot;2010-02-10T20:13Z&quot;&apos;);
&gt; +shouldBe(&apos;stepDown(&quot;2010-02-10T20:13Z&quot;, null, null, &quot;foo&quot;)&apos;, &apos;&quot;2010-02-10T20:13Z&quot;&apos;);
&gt; +shouldBe(&apos;stepUp(&quot;2010-02-10T20:13Z&quot;, null, null, null)&apos;, &apos;&quot;2010-02-10T20:13Z&quot;&apos;);
&gt; +shouldBe(&apos;stepDown(&quot;2010-02-10T20:13Z&quot;, null, null, null)&apos;, &apos;&quot;2010-02-10T20:13Z&quot;&apos;);

ditto.

&gt; LayoutTests/fast/forms/script-tests/input-stepup-stepdown-from-renderer.js:140
&gt; +debug(&apos;Non-number arguments&apos;);
&gt; +shouldBe(&apos;stepUp(&quot;2010-02-10T20:13&quot;, null, null, &quot;0&quot;)&apos;, &apos;&quot;2010-02-10T20:13&quot;&apos;);
&gt; +shouldBe(&apos;stepDown(&quot;2010-02-10T20:13&quot;, null, null, &quot;0&quot;)&apos;, &apos;&quot;2010-02-10T20:13&quot;&apos;);
&gt; +shouldBe(&apos;stepUp(&quot;2010-02-10T20:13&quot;, null, null, &quot;foo&quot;)&apos;, &apos;&quot;2010-02-10T20:13&quot;&apos;);
&gt; +shouldBe(&apos;stepDown(&quot;2010-02-10T20:13&quot;, null, null, &quot;foo&quot;)&apos;, &apos;&quot;2010-02-10T20:13&quot;&apos;);
&gt; +shouldBe(&apos;stepUp(&quot;2010-02-10T20:13&quot;, null, null, null)&apos;, &apos;&quot;2010-02-10T20:13&quot;&apos;);
&gt; +shouldBe(&apos;stepDown(&quot;2010-02-10T20:13&quot;, null, null, null)&apos;, &apos;&quot;2010-02-10T20:13&quot;&apos;);

ditto.

&gt; LayoutTests/fast/forms/script-tests/input-stepup-stepdown-from-renderer.js:166
&gt; +debug(&apos;Non-number arguments&apos;);
&gt; +shouldBe(&apos;stepUp(&quot;2010-02&quot;, null, null, &quot;0&quot;)&apos;, &apos;&quot;2010-02&quot;&apos;);
&gt; +shouldBe(&apos;stepDown(&quot;2010-02&quot;, null, null, &quot;0&quot;)&apos;, &apos;&quot;2010-02&quot;&apos;);
&gt; +shouldBe(&apos;stepUp(&quot;2010-02&quot;, null, null, &quot;foo&quot;)&apos;, &apos;&quot;2010-02&quot;&apos;);
&gt; +shouldBe(&apos;stepDown(&quot;2010-02&quot;, null, null, &quot;foo&quot;)&apos;, &apos;&quot;2010-02&quot;&apos;);
&gt; +shouldBe(&apos;stepUp(&quot;2010-02&quot;, null, null, null)&apos;, &apos;&quot;2010-02&quot;&apos;);
&gt; +shouldBe(&apos;stepDown(&quot;2010-02&quot;, null, null, null)&apos;, &apos;&quot;2010-02&quot;&apos;);

ditto.

&gt; LayoutTests/fast/forms/script-tests/input-stepup-stepdown-from-renderer.js:195
&gt; +debug(&apos;Non-number arguments&apos;);
&gt; +shouldBe(&apos;stepUp(&quot;0&quot;, null, null, &quot;0&quot;)&apos;, &apos;&quot;0&quot;&apos;);
&gt; +shouldBe(&apos;stepDown(&quot;0&quot;, null, null, &quot;0&quot;)&apos;, &apos;&quot;0&quot;&apos;);
&gt; +shouldBe(&apos;stepUp(&quot;0&quot;, null, null, &quot;foo&quot;)&apos;, &apos;&quot;0&quot;&apos;);
&gt; +shouldBe(&apos;stepDown(&quot;0&quot;, null, null, &quot;foo&quot;)&apos;, &apos;&quot;0&quot;&apos;);
&gt; +shouldBe(&apos;stepUp(&quot;0&quot;, null, null, null)&apos;, &apos;&quot;0&quot;&apos;);
&gt; +shouldBe(&apos;stepDown(&quot;0&quot;, null, null, null)&apos;, &apos;&quot;0&quot;&apos;);

ditto.

&gt; LayoutTests/fast/forms/script-tests/input-stepup-stepdown-from-renderer.js:205
&gt; +debug(&apos;Extra arguments&apos;);
&gt; +shouldBe(&apos;input.value = &quot;0&quot;; input.min = null; input.step = null; input.stepUp(1, 2); input.value&apos;, &apos;&quot;1&quot;&apos;);
&gt; +shouldBe(&apos;input.value = &quot;1&quot;; input.stepDown(1, 3); input.value&apos;, &apos;&quot;0&quot;&apos;);

These are not related to the code change.

&gt; LayoutTests/fast/forms/script-tests/input-stepup-stepdown-from-renderer.js:212
&gt; +debug(&apos;Invalid step value&apos;);
&gt; +shouldBe(&apos;stepUp(&quot;0&quot;, &quot;foo&quot;, null)&apos;, &apos;&quot;1&quot;&apos;);
&gt; +shouldBe(&apos;stepUp(&quot;1&quot;, &quot;0&quot;, null)&apos;, &apos;&quot;2&quot;&apos;);
&gt; +shouldBe(&apos;stepUp(&quot;2&quot;, &quot;-1&quot;, null)&apos;, &apos;&quot;3&quot;&apos;);
&gt; +debug(&apos;Step=any&apos;);
&gt; +shouldBe(&apos;stepUp(&quot;0&quot;, &quot;any&quot;, null)&apos;, &apos;&quot;0&quot;&apos;);
&gt; +shouldBe(&apos;stepDown(&quot;0&quot;, &quot;any&quot;, null)&apos;, &apos;&quot;0&quot;&apos;);

We should add test cases with empty/invalid values and invalid/any step.

&gt; LayoutTests/fast/forms/script-tests/input-stepup-stepdown-from-renderer.js:217
&gt; +shouldBe(&apos;input.value&apos;, &apos;&quot;0&quot;&apos;);

This doesn&apos;t test anything.

&gt; LayoutTests/fast/forms/script-tests/input-stepup-stepdown-from-renderer.js:222
&gt; +shouldBe(&apos;input.value&apos;, &apos;&quot;0&quot;&apos;);

ditto.

&gt; LayoutTests/fast/forms/script-tests/input-stepup-stepdown-from-renderer.js:224
&gt; +debug(&apos;stepDown()/stepUp() for stepMismatch values&apos;);

Other types should have similar test cases.

&gt; LayoutTests/fast/forms/script-tests/input-stepup-stepdown-from-renderer.js:226
&gt; +shouldBe(&apos;input.stepDown(); input.value&apos;, &apos;&quot;0&quot;&apos;);

This is not related to the code change.

&gt; LayoutTests/fast/forms/script-tests/input-stepup-stepdown-from-renderer.js:227
&gt; +shouldBe(&apos;input.min = &quot;0&quot;; stepUp(&quot;9&quot;, &quot;10&quot;, &quot;&quot;, 9)&apos;, &apos;&quot;90&quot;&apos;);

This looks equivalent to
shouldBe(&apos;input.min = &quot;0&quot;; stepUp(&quot;9&quot;, &quot;10&quot;, &quot;&quot;)&apos;, &apos;&quot;10&quot;&apos;);
The 4th parameter is not needed.

&gt; LayoutTests/fast/forms/script-tests/input-stepup-stepdown-from-renderer.js:236
&gt; +shouldBe(&apos;input.stepUp(); input.stepUp(); input.stepUp(); input.stepUp(); input.stepUp(); input.stepUp(); input.stepUp(); input.stepUp(); input.stepUp(); input.stepUp(); input.value&apos;, &apos;&quot;3&quot;&apos;);

This is not related to the code change.

&gt; LayoutTests/fast/forms/script-tests/input-stepup-stepdown-from-renderer.js:238
&gt; +shouldBe(&apos;for (var i = 0; i &lt; 255; i++) { input.stepDown(); }; input.value&apos;, &apos;&quot;0&quot;&apos;);

ditto.

&gt; LayoutTests/fast/forms/script-tests/input-stepup-stepdown-from-renderer.js:250
&gt; +debug(&apos;function arguments are (min, max, step, value, [stepCount])&apos;);

Nice to have explanation of stepUp() and stepDown() too.

&gt; LayoutTests/fast/forms/script-tests/input-stepup-stepdown-from-renderer.js:260
&gt; +debug(&apos;Non-number arguments (stepCount)&apos;);
&gt; +shouldBe(&apos;stepUpExplicitBounds(null, null, null, &quot;0&quot;, &quot;0&quot;)&apos;, &apos;&quot;0&quot;&apos;);
&gt; +shouldBe(&apos;stepDownExplicitBounds(null, null, null, &quot;0&quot;, &quot;0&quot;)&apos;, &apos;&quot;0&quot;&apos;);
&gt; +shouldBe(&apos;stepUpExplicitBounds(null, null, null, &quot;0&quot;, &quot;foo&quot;)&apos;, &apos;&quot;0&quot;&apos;);
&gt; +shouldBe(&apos;stepDownExplicitBounds(null, null, null, &quot;0&quot;, &quot;foo&quot;)&apos;, &apos;&quot;0&quot;&apos;);
&gt; +shouldBe(&apos;stepUpExplicitBounds(null, null, null, &quot;0&quot;, null)&apos;, &apos;&quot;0&quot;&apos;);
&gt; +shouldBe(&apos;stepDownExplicitBounds(null, null, null, &quot;0&quot;, null)&apos;, &apos;&quot;0&quot;&apos;);

It makes no sense to test invalid 5th parameter.

&gt; LayoutTests/fast/forms/script-tests/input-stepup-stepdown-from-renderer.js:270
&gt; +debug(&apos;Extra arguments&apos;);
&gt; +shouldBe(&apos;setInputAttributes(null, null, null, &quot;0&quot;); input.stepUp(1,2); input.value&apos;, &apos;&quot;1&quot;&apos;);
&gt; +shouldBe(&apos;setInputAttributes(null, null, null, &quot;1&quot;); input.stepDown(1,3); input.value&apos;, &apos;&quot;0&quot;&apos;);

These are not related to the code change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>313873</commentid>
    <comment_count>23</comment_count>
      <attachid>74839</attachid>
    <who name="Dai Mikurube">dmikurube</who>
    <bug_when>2010-11-25 17:46:17 -0800</bug_when>
    <thetext>Comment on attachment 74839
Patch

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

Thank you for the comments.
It&apos;s just a reply. No new patch is attached yet. I&apos;ll attach it after adding some test cases.

&gt;&gt; JavaScriptCore/ChangeLog:20
&gt;&gt; +        Finally I locked &quot;milliseconds&quot; in non-UTC in calculating default values.
&gt; 
&gt; This paragraph looks unnecessary.
&gt; Also, I feel it&apos;s strange to have the word &quot;I&quot; in ChangeLog.

Removed.

&gt;&gt; LayoutTests/fast/forms/script-tests/input-stepup-stepdown-from-renderer.js:1
&gt;&gt; +description(&apos;Check stepUp() and stepDown() bahevior from renderer for type=date, datetime, datetime-local, month, time, week.&apos;);
&gt; 
&gt; The test contains &quot;number&quot; and &quot;range&quot; types.

Done.

&gt;&gt; LayoutTests/fast/forms/script-tests/input-stepup-stepdown-from-renderer.js:88
&gt;&gt; +shouldBe(&apos;stepDown(&quot;2010-02-10&quot;, null, null, null)&apos;, &apos;&quot;2010-02-10&quot;&apos;);
&gt; 
&gt; The 4th parameter is recognized in JavaScript code and is not passed to C++ code.
&gt; We don&apos;t need to test invalid values.

Exactly. Removed.

&gt;&gt; LayoutTests/fast/forms/script-tests/input-stepup-stepdown-from-renderer.js:101
&gt;&gt; +shouldBe(&apos;stepDown(&quot;2010-02-10&quot;, &quot;3.40282346e+38&quot;, null)&apos;, &apos;&quot;275760-09-13&quot;&apos;);
&gt; 
&gt; These results look very strange.  Are they expected?

No &quot;max&quot; is given, so it results in the maximum number (date) for type=date under 3.40282346e+38.

The maximum number is defined in WebCore/html/DateComponent.h :
WebCore/html/DateComponents.h:    static inline double maximumDate() { return 8640000000000000.0; } // 275760-09-13T00:00Z
WebCore/html/DateComponents.h:    static inline double maximumMonth() { return (275760 - 1970) * 12.0 + 9 - 1; } // 275760-09
WebCore/html/DateComponents.h:    static inline double maximumWeek() { return 8639999568000000.0; } // 275760-09-08, the Monday of the week including 275760-09-13.

1970-01-01 comes from the internal representation. The date is represented by 0. In this tag, the step-base is 0. So it resulted in 1970-01-01. It may be unnatural.

&gt;&gt; LayoutTests/fast/forms/script-tests/input-stepup-stepdown-from-renderer.js:114
&gt;&gt; +shouldBe(&apos;stepDown(&quot;2010-02-10T20:13Z&quot;, null, null, null)&apos;, &apos;&quot;2010-02-10T20:13Z&quot;&apos;);
&gt; 
&gt; ditto.

Removed. (The same for dittos.)

&gt;&gt; LayoutTests/fast/forms/script-tests/input-stepup-stepdown-from-renderer.js:205
&gt;&gt; +shouldBe(&apos;input.value = &quot;1&quot;; input.stepDown(1, 3); input.value&apos;, &apos;&quot;0&quot;&apos;);
&gt; 
&gt; These are not related to the code change.

Right, it doesn&apos;t use stepUpFromRenderer(). Removed cases with &quot;input.stepUp/Down&quot;.

&gt;&gt; LayoutTests/fast/forms/script-tests/input-stepup-stepdown-from-renderer.js:212
&gt;&gt; +shouldBe(&apos;stepDown(&quot;0&quot;, &quot;any&quot;, null)&apos;, &apos;&quot;0&quot;&apos;);
&gt; 
&gt; We should add test cases with empty/invalid values and invalid/any step.

Ok, adding.

&gt;&gt; LayoutTests/fast/forms/script-tests/input-stepup-stepdown-from-renderer.js:217
&gt;&gt; +shouldBe(&apos;input.value&apos;, &apos;&quot;0&quot;&apos;);
&gt; 
&gt; This doesn&apos;t test anything.

Right. Removed.

&gt;&gt; LayoutTests/fast/forms/script-tests/input-stepup-stepdown-from-renderer.js:224
&gt;&gt; +debug(&apos;stepDown()/stepUp() for stepMismatch values&apos;);
&gt; 
&gt; Other types should have similar test cases.

Thanks. Adding.

&gt;&gt; LayoutTests/fast/forms/script-tests/input-stepup-stepdown-from-renderer.js:227
&gt;&gt; +shouldBe(&apos;input.min = &quot;0&quot;; stepUp(&quot;9&quot;, &quot;10&quot;, &quot;&quot;, 9)&apos;, &apos;&quot;90&quot;&apos;);
&gt; 
&gt; This looks equivalent to
&gt; shouldBe(&apos;input.min = &quot;0&quot;; stepUp(&quot;9&quot;, &quot;10&quot;, &quot;&quot;)&apos;, &apos;&quot;10&quot;&apos;);
&gt; The 4th parameter is not needed.

Replaced.

&gt;&gt; LayoutTests/fast/forms/script-tests/input-stepup-stepdown-from-renderer.js:250
&gt;&gt; +debug(&apos;function arguments are (min, max, step, value, [stepCount])&apos;);
&gt; 
&gt; Nice to have explanation of stepUp() and stepDown() too.

Added explanations.

&gt;&gt; LayoutTests/fast/forms/script-tests/input-stepup-stepdown-from-renderer.js:260
&gt;&gt; +shouldBe(&apos;stepDownExplicitBounds(null, null, null, &quot;0&quot;, null)&apos;, &apos;&quot;0&quot;&apos;);
&gt; 
&gt; It makes no sense to test invalid 5th parameter.

Removed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>313876</commentid>
    <comment_count>24</comment_count>
      <attachid>74839</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-11-25 18:27:10 -0800</bug_when>
    <thetext>Comment on attachment 74839
Patch

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

&gt;&gt;&gt; LayoutTests/fast/forms/script-tests/input-stepup-stepdown-from-renderer.js:101
&gt;&gt;&gt; +shouldBe(&apos;stepDown(&quot;2010-02-10&quot;, &quot;3.40282346e+38&quot;, null)&apos;, &apos;&quot;275760-09-13&quot;&apos;);
&gt;&gt; 
&gt;&gt; These results look very strange.  Are they expected?
&gt; 
&gt; No &quot;max&quot; is given, so it results in the maximum number (date) for type=date under 3.40282346e+38.
&gt; 
&gt; The maximum number is defined in WebCore/html/DateComponent.h :
&gt; WebCore/html/DateComponents.h:    static inline double maximumDate() { return 8640000000000000.0; } // 275760-09-13T00:00Z
&gt; WebCore/html/DateComponents.h:    static inline double maximumMonth() { return (275760 - 1970) * 12.0 + 9 - 1; } // 275760-09
&gt; WebCore/html/DateComponents.h:    static inline double maximumWeek() { return 8639999568000000.0; } // 275760-09-08, the Monday of the week including 275760-09-13.
&gt; 
&gt; 1970-01-01 comes from the internal representation. The date is represented by 0. In this tag, the step-base is 0. So it resulted in 1970-01-01. It may be unnatural.

Why does 2010-02-10 + huge step become 1970-01-01, which is less than the initial value?
Why does 2010-02-10 - huge step become 275769-09-13, which is larger than the initial value?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>314226</commentid>
    <comment_count>25</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-11-28 13:14:07 -0800</bug_when>
    <thetext>Attachment 74839 did not build on chromium:
Build output: http://queues.webkit.org/results/6297080</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>314249</commentid>
    <comment_count>26</comment_count>
    <who name="Dai Mikurube">dmikurube</who>
    <bug_when>2010-11-28 21:26:42 -0800</bug_when>
    <thetext>(In reply to comment #24)
&gt; Why does 2010-02-10 + huge step become 1970-01-01, which is less than the initial value?
&gt; Why does 2010-02-10 - huge step become 275769-09-13, which is larger than the initial value?
Thank you for This was a mistake. I fixed it.


BTW, what do you think which is preferable stepUp/Down for &lt;input value=(empty/invalid) step=&quot;any&quot; /&gt; ?
- Not any changes after stepUp/Down.
  (e.g. step-up from renderer for &lt;input type=&quot;number&quot; value=&quot;foo&quot; step=&quot;any&quot; /&gt; =&gt; &quot;foo&quot;)
- Assuming value=&quot;0&quot; or the current time, and no stepping due to step=&quot;any&quot;.
  (e.g. step-up from renderer for &lt;input type=&quot;number&quot; value=&quot;foo&quot; step=&quot;any&quot; /&gt; =&gt; &quot;0&quot;)

I think the latter is better to avoid invalid inputs.
In addition, the former looks complicating because value is sanitized out of stepUpFromRenderer().

FYI: The stepUp/Down DOM APIs for invalid values cause DOM Exceptions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>314251</commentid>
    <comment_count>27</comment_count>
      <attachid>74984</attachid>
    <who name="Dai Mikurube">dmikurube</who>
    <bug_when>2010-11-28 22:00:04 -0800</bug_when>
    <thetext>Created attachment 74984
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>314252</commentid>
    <comment_count>28</comment_count>
    <who name="Dai Mikurube">dmikurube</who>
    <bug_when>2010-11-28 22:02:04 -0800</bug_when>
    <thetext>(In reply to comment #27)
&gt; Created an attachment (id=74984) [details]
&gt; Patch

This is a patch for the case of :
&gt; - Assuming value=&quot;0&quot; or the current time, and no stepping due to step=&quot;any&quot;.
&gt;   (e.g. step-up from renderer for &lt;input type=&quot;number&quot; value=&quot;foo&quot; step=&quot;any&quot; /&gt; =&gt; &quot;0&quot;)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>314254</commentid>
    <comment_count>29</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-11-28 22:09:24 -0800</bug_when>
    <thetext>Attachment 74984 did not build on chromium:
Build output: http://queues.webkit.org/results/6380081</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>314256</commentid>
    <comment_count>30</comment_count>
    <who name="Dai Mikurube">dmikurube</who>
    <bug_when>2010-11-28 22:18:23 -0800</bug_when>
    <thetext>(In reply to comment #29)
&gt; Attachment 74984 [details] did not build on chromium:
&gt; Build output: http://queues.webkit.org/results/6380081

Looks like missing include files... Submit an added patch later.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>314257</commentid>
    <comment_count>31</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-11-28 22:24:37 -0800</bug_when>
    <thetext>(In reply to comment #26)
&gt; BTW, what do you think which is preferable stepUp/Down for &lt;input value=(empty/invalid) step=&quot;any&quot; /&gt; ?
&gt; - Not any changes after stepUp/Down.
&gt;   (e.g. step-up from renderer for &lt;input type=&quot;number&quot; value=&quot;foo&quot; step=&quot;any&quot; /&gt; =&gt; &quot;foo&quot;)
&gt; - Assuming value=&quot;0&quot; or the current time, and no stepping due to step=&quot;any&quot;.
&gt;   (e.g. step-up from renderer for &lt;input type=&quot;number&quot; value=&quot;foo&quot; step=&quot;any&quot; /&gt; =&gt; &quot;0&quot;)
&gt; 
&gt; I think the latter is better to avoid invalid inputs.
&gt; In addition, the former looks complicating because value is sanitized out of stepUpFromRenderer().

I have no preference on it.
We had better add a FIXME comment that explains another choice.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>314264</commentid>
    <comment_count>32</comment_count>
      <attachid>74988</attachid>
    <who name="Dai Mikurube">dmikurube</who>
    <bug_when>2010-11-28 22:53:33 -0800</bug_when>
    <thetext>Created attachment 74988
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>314265</commentid>
    <comment_count>33</comment_count>
    <who name="Dai Mikurube">dmikurube</who>
    <bug_when>2010-11-28 22:54:27 -0800</bug_when>
    <thetext>(In reply to comment #31)

&gt; I have no preference on it.
&gt; We had better add a FIXME comment that explains another choice.

Thanks. Revised for include files and added FIXME.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>314269</commentid>
    <comment_count>34</comment_count>
      <attachid>74984</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-11-28 23:01:29 -0800</bug_when>
    <thetext>Comment on attachment 74984
Patch

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

&gt; JavaScriptCore/ChangeLog:12
&gt; +        Calculating milliseconds from a struct tm is not clear. timegm() cannot be used in all

I don&apos;t catch what &quot;clear&quot; here means.

&gt; LayoutTests/fast/forms/script-tests/input-stepup-stepdown-from-renderer.js:1
&gt; +description(&apos;Check stepUp() and stepDown() for &lt;input&gt; from renderer. No cases of empty initial values for type=date, datetime, datetime-local, month, time, week.&apos;);

This is not a test for stepUp() and stepDown(), which are standard DOM API.

&gt; LayoutTests/fast/forms/script-tests/input-stepup-stepdown-from-renderer.js:89
&gt; +debug(&apos;function arguments are (value, step, {min or max}, [stepCount])&apos;);

A sentence should start with a capital letter and end with a period.

&gt; LayoutTests/fast/forms/script-tests/input-stepup-stepdown-from-renderer.js:275
&gt; +shouldBe(&apos;stepUpExplicitBounds(null, &quot;100&quot;, &quot;1&quot;, &quot;100&quot;)&apos;, &apos;&quot;100&quot;&apos;);
&gt; +shouldBe(&apos;input.value&apos;, &apos;&quot;100&quot;&apos;);

Checking input.value again makes no sense.

&gt; LayoutTests/fast/forms/script-tests/input-stepup-stepdown-from-renderer.js:276
&gt; +shouldBe(&apos;stepUpExplicitBounds(null, &quot;100&quot;, &quot;1&quot;, &quot;99&quot;, &quot;2&quot;)&apos;, &apos;&quot;100&quot;&apos;);

The 5th parameter doesn&apos;t need to be a string.

&gt; LayoutTests/fast/forms/script-tests/input-stepup-stepdown-from-renderer.js:277
&gt; +shouldBe(&apos;input.value&apos;, &apos;&quot;100&quot;&apos;);

Checking input.value again makes no sense.

&gt; LayoutTests/fast/forms/script-tests/input-stepup-stepdown-from-renderer.js:280
&gt; +shouldBe(&apos;input.value&apos;, &apos;&quot;0&quot;&apos;);

ditto.

&gt; LayoutTests/fast/forms/script-tests/input-stepup-stepdown-from-renderer.js:281
&gt; +shouldBe(&apos;stepDownExplicitBounds(&quot;0&quot;, null, &quot;1&quot;, &quot;1&quot;, &quot;2&quot;)&apos;, &apos;&quot;0&quot;&apos;);

The 5th parameter doesn&apos;t need to be a string.

&gt; LayoutTests/fast/forms/script-tests/input-stepup-stepdown-from-renderer.js:282
&gt; +shouldBe(&apos;input.value&apos;, &apos;&quot;0&quot;&apos;);

Checking input.value again makes no sense.

&gt; LayoutTests/fast/forms/script-tests/input-stepup-stepdown-from-renderer.js:283
&gt; +shouldBe(&apos;stepDownExplicitBounds(null, null, &quot;3.40282346e+38&quot;, &quot;1&quot;, &quot;2&quot;)&apos;, &apos;&quot;0&quot;&apos;);

The 5th parameter doesn&apos;t need to be a string.

&gt; LayoutTests/fast/forms/script-tests/input-stepup-stepdown-from-renderer.js:287
&gt; +shouldBe(&apos;input.value&apos;, &apos;&quot;0&quot;&apos;);

Checking input.value again makes no sense.

&gt; LayoutTests/fast/forms/script-tests/input-stepup-stepdown-from-renderer.js:288
&gt; +shouldBe(&apos;stepUpExplicitBounds(null, null, &quot;3.40282346e+38&quot;, &quot;1&quot;, &quot;2&quot;)&apos;, &apos;&quot;0&quot;&apos;);

The 5th parameter doesn&apos;t need to be a string.

&gt; WebCore/ChangeLog:42
&gt; +        (WebCore::BaseDateAndTimeInputType::startingValue): Added startingValue() which returns the current local time

Please update the ChangeLog.

&gt; WebCore/ChangeLog:62
&gt; +        * manual-tests/input-type-datetime-default-value.html: Added manual tests for default values of date/time inputs

Please add a reason why we need a manual test.

&gt; WebCore/html/HTMLInputElement.cpp:1901
&gt; +    int sign = n * (step &lt; 0 ? (-1) : (1));

Inner parentheses are redundant.

&gt; WebCore/html/HTMLInputElement.cpp:1916
&gt; +        if (stepMismatch(currentStringValue)) {
&gt; +            double newValue;

We had better have ASSERT(step).

&gt; WebCore/html/RangeInputType.cpp:152
&gt; +        // Not using stepUpFromRenderer() since it is not any kind of stepUp()
&gt; +        // No stepUp() for step=&quot;any&quot;

These words are unclear though I understand what you&apos;d like to say.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>314270</commentid>
    <comment_count>35</comment_count>
      <attachid>74988</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-11-28 23:04:33 -0800</bug_when>
    <thetext>Comment on attachment 74988
Patch

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

&gt; WebCore/html/HTMLInputElement.cpp:1896
&gt; +    // (e.g. Stepping-up for &lt;input type=&quot;number&quot; value=&quot;foo&quot; step=&quot;any&quot; /&gt; =&gt; &quot;foo&quot;)

The example is wrong.  The value for &lt;input type=number value=foo step=any&gt; is &quot;&quot; because of sanitization.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>314273</commentid>
    <comment_count>36</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-11-28 23:17:59 -0800</bug_when>
    <thetext>Attachment 74988 did not build on chromium:
Build output: http://queues.webkit.org/results/6423076</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>314280</commentid>
    <comment_count>37</comment_count>
    <who name="Dai Mikurube">dmikurube</who>
    <bug_when>2010-11-29 00:23:07 -0800</bug_when>
    <thetext>(In reply to comment #35)
&gt; (From update of attachment 74988 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=74988&amp;action=review
&gt; 
&gt; &gt; WebCore/html/HTMLInputElement.cpp:1896
&gt; &gt; +    // (e.g. Stepping-up for &lt;input type=&quot;number&quot; value=&quot;foo&quot; step=&quot;any&quot; /&gt; =&gt; &quot;foo&quot;)
&gt; 
&gt; The example is wrong.  The value for &lt;input type=number value=foo step=any&gt; is &quot;&quot; because of sanitization.

Ok, thanks. Then, what do you mean by &quot;invalid values&quot; :
&gt; We should add test cases with empty/invalid values and invalid/any step.
in #22 ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>314291</commentid>
    <comment_count>38</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-11-29 01:07:10 -0800</bug_when>
    <thetext>(In reply to comment #37)
&gt; &gt; &gt; +    // (e.g. Stepping-up for &lt;input type=&quot;number&quot; value=&quot;foo&quot; step=&quot;any&quot; /&gt; =&gt; &quot;foo&quot;)
&gt; &gt; 
&gt; &gt; The example is wrong.  The value for &lt;input type=number value=foo step=any&gt; is &quot;&quot; because of sanitization.
&gt; 
&gt; Ok, thanks. Then, what do you mean by &quot;invalid values&quot; :
&gt; &gt; We should add test cases with empty/invalid values and invalid/any step.
&gt; in #22 ?

Probably yes.  I meant &quot;non-number&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>314314</commentid>
    <comment_count>39</comment_count>
      <attachid>75003</attachid>
    <who name="Dai Mikurube">dmikurube</who>
    <bug_when>2010-11-29 02:00:09 -0800</bug_when>
    <thetext>Created attachment 75003
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>314315</commentid>
    <comment_count>40</comment_count>
    <who name="Dai Mikurube">dmikurube</who>
    <bug_when>2010-11-29 02:04:07 -0800</bug_when>
    <thetext>(In reply to comment #38)
&gt; (In reply to comment #37)
&gt; &gt; &gt; &gt; +    // (e.g. Stepping-up for &lt;input type=&quot;number&quot; value=&quot;foo&quot; step=&quot;any&quot; /&gt; =&gt; &quot;foo&quot;)
&gt; &gt; &gt; 
&gt; &gt; &gt; The example is wrong.  The value for &lt;input type=number value=foo step=any&gt; is &quot;&quot; because of sanitization.
&gt; &gt; 
&gt; &gt; Ok, thanks. Then, what do you mean by &quot;invalid values&quot; :
&gt; &gt; &gt; We should add test cases with empty/invalid values and invalid/any step.
&gt; &gt; in #22 ?
&gt; 
&gt; Probably yes.  I meant &quot;non-number&quot;.

Ok, I kept it and just changed the comment as follows :
    // FIXME: Not any changes after stepping, even if it is an invalid value, may be better.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>314316</commentid>
    <comment_count>41</comment_count>
    <who name="Dai Mikurube">dmikurube</who>
    <bug_when>2010-11-29 02:07:52 -0800</bug_when>
    <thetext>(In reply to comment #39)
&gt; Created an attachment (id=75003) [details]
&gt; Patch

Sorry, canceled it as no manual tests are added.

&gt; 8 &lt;!--
&gt; 9 ****
&gt; 10  We should add test cases with empty/invalid values and invalid/any step.
&gt; 11 ***
&gt; 12 --&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>314321</commentid>
    <comment_count>42</comment_count>
      <attachid>75004</attachid>
    <who name="Dai Mikurube">dmikurube</who>
    <bug_when>2010-11-29 02:17:32 -0800</bug_when>
    <thetext>Created attachment 75004
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>314755</commentid>
    <comment_count>43</comment_count>
      <attachid>75004</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-11-29 17:19:54 -0800</bug_when>
    <thetext>Comment on attachment 75004
Patch

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

&gt; WebCore/html/BaseDateAndTimeInputType.cpp:103
&gt; +double BaseDateAndTimeInputType::defaultValueForStepUp() const
&gt; +{
&gt; +    double ms = currentTimeMS();
&gt; +    double utcOffset = calculateUTCOffset();
&gt; +    double dstOffset = calculateDSTOffset(ms, utcOffset);
&gt; +    int offset = static_cast&lt;int&gt;((utcOffset + dstOffset) / msPerMinute);
&gt; +    return ms + (offset * msPerMinute);
&gt; +}

If the current date-time is 2010-11-30T23:00Z and the user&apos;s timezone is UTC+9, the default value would be
date: 2010-12-01
datetime: 2010-11-30T23:00Z
datetime-local: 2010-12-01T08:00
month: 2010-12
time: 08:00
week: 2010-Wxx (the week of 2010-12-01)

Right?

&gt; WebCore/manual-tests/input-type-datetime-default-value.html:66
&gt; +&lt;p&gt;The input fields should show the current date/time (with + or - a unit date/time described below except for step=any).&lt;/p&gt;

So, we should explain the expectations are current *local* date/time except type=datetime.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>314808</commentid>
    <comment_count>44</comment_count>
      <attachid>75099</attachid>
    <who name="Dai Mikurube">dmikurube</who>
    <bug_when>2010-11-29 18:54:03 -0800</bug_when>
    <thetext>Created attachment 75099
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>314810</commentid>
    <comment_count>45</comment_count>
    <who name="Dai Mikurube">dmikurube</who>
    <bug_when>2010-11-29 18:56:24 -0800</bug_when>
    <thetext>(In reply to comment #43)
&gt; (From update of attachment 75004 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=75004&amp;action=review
&gt; 
&gt; &gt; WebCore/html/BaseDateAndTimeInputType.cpp:103
&gt; &gt; +double BaseDateAndTimeInputType::defaultValueForStepUp() const
&gt; &gt; +{
&gt; &gt; +    double ms = currentTimeMS();
&gt; &gt; +    double utcOffset = calculateUTCOffset();
&gt; &gt; +    double dstOffset = calculateDSTOffset(ms, utcOffset);
&gt; &gt; +    int offset = static_cast&lt;int&gt;((utcOffset + dstOffset) / msPerMinute);
&gt; &gt; +    return ms + (offset * msPerMinute);
&gt; &gt; +}
&gt; 
&gt; If the current date-time is 2010-11-30T23:00Z and the user&apos;s timezone is UTC+9, the default value would be
&gt; date: 2010-12-01
&gt; datetime: 2010-11-30T23:00Z
&gt; datetime-local: 2010-12-01T08:00
&gt; month: 2010-12
&gt; time: 08:00
&gt; week: 2010-Wxx (the week of 2010-12-01)
&gt; 
&gt; Right?
&gt; 
&gt; &gt; WebCore/manual-tests/input-type-datetime-default-value.html:66
&gt; &gt; +&lt;p&gt;The input fields should show the current date/time (with + or - a unit date/time described below except for step=any).&lt;/p&gt;
&gt; 
&gt; So, we should explain the expectations are current *local* date/time except type=datetime.

Thanks. Added some comments about local/UTC on source code and the description here.
Because not only local, I wrote local/UTC here. Added descriptions for each of types.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>314812</commentid>
    <comment_count>46</comment_count>
      <attachid>75099</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-11-29 18:59:55 -0800</bug_when>
    <thetext>Comment on attachment 75099
Patch

ok.  Thank you for woking on this!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>314855</commentid>
    <comment_count>47</comment_count>
      <attachid>75099</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-11-29 22:11:25 -0800</bug_when>
    <thetext>Comment on attachment 75099
Patch

Clearing flags on attachment: 75099

Committed r72884: &lt;http://trac.webkit.org/changeset/72884&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>314856</commentid>
    <comment_count>48</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-11-29 22:11:34 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>74830</attachid>
            <date>2010-11-24 21:54:51 -0800</date>
            <delta_ts>2010-11-25 01:26:30 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-45491-20101125145453.patch</filename>
            <type>text/plain</type>
            <size>56537</size>
            <attacher name="Dai Mikurube">dmikurube</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL0phdmFTY3JpcHRDb3JlL0No
YW5nZUxvZwppbmRleCA3NjQ0Y2Q3NjI5NGUxZmYzYTIwZWRmYzBjM2NlNDBkZjc4YmRjNmYyLi42
ZWFmYTNhZTMxYjkwN2RhNmQxZTEwNGNjOTA2ZTU2NzdmMGE1YzY4IDEwMDY0NAotLS0gYS9KYXZh
U2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTcgQEAKKzIwMTAtMTEtMjQgIERhaSBNaWt1cnViZSAgPGRtaWt1cnViZUBnb29nbGUu
Y29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIHdo
ZW4gZW1wdHksIGNsaWNraW5nICJkb3duIiBvbiBvdXRlci1zcGluLWJ1dHRvbiByZXR1cm5zICJt
YXggdmFsdWUiCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD00NTQ5MQorCisgICAgICAgICogSmF2YVNjcmlwdENvcmUuZXhwOgorICAgICAgICAqIEphdmFT
Y3JpcHRDb3JlLnZjcHJvai9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5kZWY6CisgICAg
ICAgICogd3RmL0RhdGVNYXRoLmNwcDogQ2hhbmdlZCBjYWxjdWxhdGVVVENPZmZzZXQoKSBhbmQg
Y2FsY3VsYXRlRFNUT2Zmc2V0KCkgdG8gZXh0ZXJuYWwgZnVuY3Rpb25zLgorICAgICAgICAoV1RG
OjpjYWxjdWxhdGVVVENPZmZzZXQpOgorICAgICAgICAoV1RGOjpjYWxjdWxhdGVEU1RPZmZzZXQp
OgorICAgICAgICAqIHd0Zi9EYXRlTWF0aC5oOgorCiAyMDEwLTExLTE4ICBHYXZpbiBCYXJyYWNs
b3VnaCAgPGJhcnJhY2xvdWdoQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBPbGl2
ZXIgSHVudC4KZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmV4cCBi
L0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmV4cAppbmRleCAzNzE1YTQzODM3ZGM5MTBl
OGRlNzBlNDMzZWQyNmZlYjE1NDE4MGQzLi4zOWJmNTI3MDJiMGIwMGJkZDM5YjVhNDJjYjRkODgw
NTVlNmFiMmI5IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5leHAK
KysrIGIvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZXhwCkBAIC00MDQsNiArNDA0LDgg
QEAgX19aTjNXVEYxN2NoYXJhY3RlcnNUb0Zsb2F0RVBLdG1QYgogX19aTjNXVEYxN2VxdWFsSWdu
b3JpbmdDYXNlRVBLdFBLY2oKIF9fWk4zV1RGMTdlcXVhbElnbm9yaW5nQ2FzZUVQTlNfMTBTdHJp
bmdJbXBsRVBLYwogX19aTjNXVEYxN2VxdWFsSWdub3JpbmdDYXNlRVBOU18xMFN0cmluZ0ltcGxF
UzFfCitfX1pOM1dURjE4Y2FsY3VsYXRlRFNUT2Zmc2V0RWRkCitfX1pOM1dURjE4Y2FsY3VsYXRl
VVRDT2Zmc2V0RXYKIF9fWk4zV1RGMThjaGFyYWN0ZXJzVG9Eb3VibGVFUEt0bVBiCiBfX1pOM1dU
RjE4ZGF0ZVRvRGF5c0Zyb20xOTcwRWlpaQogX19aTjNXVEYxOG1vbnRoRnJvbURheUluWWVhckVp
YgpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL0phdmFT
Y3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmRlZiBiL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRD
b3JlLnZjcHJvai9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5kZWYKaW5kZXggNDQ5YzBi
Yjg0MTU1NGNjMjdlYWMyZjU5YTI0MjVhYTMwYTJkZDA4Yi4uZWQ3MGFiNzk0MGE5MTA3MDMwZmI2
YzkyOTE0YjBhMDY3NGY2MDQ5YSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlw
dENvcmUudmNwcm9qL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmRlZgorKysgYi9KYXZh
U2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ovSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlw
dENvcmUuZGVmCkBAIC01OSw2ICs1OSw4IEBAIEVYUE9SVFMKICAgICA/YnJvYWRjYXN0QFRocmVh
ZENvbmRpdGlvbkBXVEZAQFFBRVhYWgogICAgID9idWZmZXJMZW5ndGhGb3JTdHJpbmdEZWNpbWFs
QERlY2ltYWxOdW1iZXJAV1RGQEBRQkVJWFoKICAgICA/Y2FsY3VsYXRlZEZ1bmN0aW9uTmFtZUBE
ZWJ1Z2dlckNhbGxGcmFtZUBKU0NAQFFCRT9BVlVTdHJpbmdAMkBYWgorICAgID9jYWxjdWxhdGVE
U1RPZmZzZXRAV1RGQEBZQUhfWFoKKyAgICA/Y2FsY3VsYXRlVVRDT2Zmc2V0QFdURkBAWUFOTk5A
WgogICAgID9jYWxsQEpTQ0BAWUE/QVZKU1ZhbHVlQDFAUEFWRXhlY1N0YXRlQDFAVjIxQFc0Q2Fs
bFR5cGVAMUBBQlRDYWxsRGF0YUAxQDFBQlZBcmdMaXN0QDFAQFoKICAgICA/Y2FsbE9uTWFpblRo
cmVhZEBXVEZAQFlBWFA2QVhQQVhAWjBAWgogICAgID9jYWxsT25NYWluVGhyZWFkQW5kV2FpdEBX
VEZAQFlBWFA2QVhQQVhAWjBAWgpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL0RhdGVN
YXRoLmNwcCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9EYXRlTWF0aC5jcHAKaW5kZXggZjM2MjdlNmI5
ODNlODJiOWFhM2E0MGFjNDlkYjZkNTBiZTVmMDgxNC4uNjc1ZjA5M2YwMWJiNDVmODhiNzNjNDYw
NjlkNTJjMGI4ZDA5ZWFiNCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL0RhdGVNYXRo
LmNwcAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvRGF0ZU1hdGguY3BwCkBAIC0zNzksNyArMzc5
LDcgQEAgaW50IGVxdWl2YWxlbnRZZWFyRm9yRFNUKGludCB5ZWFyKQogICAgIHJldHVybiB5ZWFy
OwogfQogCi1zdGF0aWMgaW50MzJfdCBjYWxjdWxhdGVVVENPZmZzZXQoKQoraW50MzJfdCBjYWxj
dWxhdGVVVENPZmZzZXQoKQogewogI2lmIFBMQVRGT1JNKEJSRVdNUCkKICAgICB0aW1lX3QgbG9j
YWxUaW1lID0gc3RhdGljX2Nhc3Q8dGltZV90PihjdXJyZW50VGltZSgpKTsKQEAgLTQ0OSw3ICs0
NDksNyBAQCBzdGF0aWMgZG91YmxlIGNhbGN1bGF0ZURTVE9mZnNldFNpbXBsZShkb3VibGUgbG9j
YWxUaW1lU2Vjb25kcywgZG91YmxlIHV0Y09mZnNldAogfQogCiAvLyBHZXQgdGhlIERTVCBvZmZz
ZXQsIGdpdmVuIGEgdGltZSBpbiBVVEMKLXN0YXRpYyBkb3VibGUgY2FsY3VsYXRlRFNUT2Zmc2V0
KGRvdWJsZSBtcywgZG91YmxlIHV0Y09mZnNldCkKK2RvdWJsZSBjYWxjdWxhdGVEU1RPZmZzZXQo
ZG91YmxlIG1zLCBkb3VibGUgdXRjT2Zmc2V0KQogewogICAgIC8vIE9uIE1hYyBPUyBYLCB0aGUg
Y2FsbCB0byBsb2NhbHRpbWUgKHNlZSBjYWxjdWxhdGVEU1RPZmZzZXRTaW1wbGUpIHdpbGwgcmV0
dXJuIGhpc3RvcmljYWxseSBhY2N1cmF0ZQogICAgIC8vIERTVCBpbmZvcm1hdGlvbiAoZS5nLiBO
ZXcgWmVhbGFuZCBkaWQgbm90IGhhdmUgRFNUIGZyb20gMTk0NiB0byAxOTc0KSBob3dldmVyIHRo
ZSBKYXZhU2NyaXB0CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvRGF0ZU1hdGguaCBi
L0phdmFTY3JpcHRDb3JlL3d0Zi9EYXRlTWF0aC5oCmluZGV4IGJlNTE5NDdmMmExYmQ5MWJhOTdh
ZjdlMmI5YjM2YTE1MTViOTUxM2YuLmI2OWZkZGIwZDZlZjZhOWY0NjdjNDMzODIxYmQ1YjlmMGVl
ODE4NDcgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9EYXRlTWF0aC5oCisrKyBiL0ph
dmFTY3JpcHRDb3JlL3d0Zi9EYXRlTWF0aC5oCkBAIC04NCw2ICs4NCwxMCBAQCBpbnQgZGF5SW5Z
ZWFyKGRvdWJsZSBtcywgaW50IHllYXIpOwogaW50IG1vbnRoRnJvbURheUluWWVhcihpbnQgZGF5
SW5ZZWFyLCBib29sIGxlYXBZZWFyKTsKIGludCBkYXlJbk1vbnRoRnJvbURheUluWWVhcihpbnQg
ZGF5SW5ZZWFyLCBib29sIGxlYXBZZWFyKTsKIAorLy8gUmV0dXJucyB0aGUgb2Zmc2V0cyBmb3Ig
VVRDIGFuZCBEU1QuCitpbnQzMl90IGNhbGN1bGF0ZVVUQ09mZnNldCgpOworZG91YmxlIGNhbGN1
bGF0ZURTVE9mZnNldChkb3VibGUgbXMsIGRvdWJsZSB1dGNPZmZzZXQpOworCiB9IC8vIG5hbWVz
cGFjZSBXVEYKIAogdXNpbmcgV1RGOjpkYXRlVG9EYXlzRnJvbTE5NzA7CkBAIC05MiwxMCArOTYs
MTMgQEAgdXNpbmcgV1RGOjpkYXlJblllYXI7CiB1c2luZyBXVEY6Om1pbnV0ZXNQZXJIb3VyOwog
dXNpbmcgV1RGOjptb250aEZyb21EYXlJblllYXI7CiB1c2luZyBXVEY6Om1zUGVyRGF5OwordXNp
bmcgV1RGOjptc1Blck1pbnV0ZTsKIHVzaW5nIFdURjo6bXNQZXJTZWNvbmQ7CiB1c2luZyBXVEY6
Om1zVG9ZZWFyOwogdXNpbmcgV1RGOjpzZWNvbmRzUGVyTWludXRlOwogdXNpbmcgV1RGOjpwYXJz
ZURhdGVGcm9tTnVsbFRlcm1pbmF0ZWRDaGFyYWN0ZXJzOwordXNpbmcgV1RGOjpjYWxjdWxhdGVV
VENPZmZzZXQ7Cit1c2luZyBXVEY6OmNhbGN1bGF0ZURTVE9mZnNldDsKIAogI2lmIFVTRShKU0Mp
CiBuYW1lc3BhY2UgSlNDIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBhZTMwNDdjMmQwNTY3NzZkNTgzYzAyZTE4MDBlZDg1
Y2RiNDQ1OGNjLi5lNjBkZjVhMWM4YzA0NGIyZWZkZTFhYmM0MDQzMDA5ZDI3YTA3MThmIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMjAgQEAKKzIwMTAtMTEtMjQgIERhaSBNaWt1cnViZSAgPGRtaWt1cnViZUBn
b29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIHdoZW4gZW1wdHksIGNsaWNraW5nICJkb3duIiBvbiBvdXRlci1zcGluLWJ1dHRvbiByZXR1
cm5zICJtYXggdmFsdWUiCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD00NTQ5MQorCisgICAgICAgICogZmFzdC9mb3Jtcy9pbnB1dC1zdGVwdXAtc3RlcGRv
d24tZnJvbS1yZW5kZXJlci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9y
bXMvaW5wdXQtc3RlcHVwLXN0ZXBkb3duLWZyb20tcmVuZGVyZXIuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvaW5wdXQtc3RlcHVwLXN0ZXBkb3duLWZyb20t
cmVuZGVyZXIuanM6IEFkZGVkLgorICAgICAgICAoKToKKyAgICAgICAgKHNldElucHV0QXR0cmli
dXRlcyk6CisgICAgICAgIChzdGVwVXApOgorICAgICAgICAoc3RlcERvd24pOgorICAgICAgICAo
c3RlcFVwRXhwbGljaXRCb3VuZHMpOgorICAgICAgICAoc3RlcERvd25FeHBsaWNpdEJvdW5kcyk6
CisKIDIwMTAtMTEtMTggIERhdmlkIExldmluICA8bGV2aW5AY2hyb21pdW0ub3JnPgogCiAgICAg
ICAgIFtjaHJvbWl1bV0gTWlzYyB0ZXN0IHVwZGF0ZXMgKG1vc3QgUnVieSkuCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lucHV0LXN0ZXB1cC1zdGVwZG93bi1mcm9tLXJlbmRl
cmVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW5wdXQtc3RlcHVwLXN0
ZXBkb3duLWZyb20tcmVuZGVyZXItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNkMmFjMTZiNGRi
NjU1MTFmMzY2NmNjMzBmYTkwYjE0MmFlZDkyYTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL2lucHV0LXN0ZXB1cC1zdGVwZG93bi1mcm9tLXJlbmRlcmVyLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDI5MiBAQAorQ2hlY2sgc3RlcFVwKCkgYW5kIHN0ZXBEb3duKCkg
YmFoZXZpb3IgZnJvbSByZW5kZXJlciBmb3IgdHlwZT1kYXRlLCBkYXRldGltZSwgZGF0ZXRpbWUt
bG9jYWwsIG1vbnRoLCB0aW1lLCB3ZWVrLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
KworRGF0ZSB0eXBlCitOb24tbnVtYmVyIGFyZ3VtZW50cworUEFTUyBzdGVwVXAoIjIwMTAtMDIt
MTAiLCBudWxsLCBudWxsLCAiMCIpIGlzICIyMDEwLTAyLTEwIgorUEFTUyBzdGVwRG93bigiMjAx
MC0wMi0xMCIsIG51bGwsIG51bGwsICIwIikgaXMgIjIwMTAtMDItMTAiCitQQVNTIHN0ZXBVcCgi
MjAxMC0wMi0xMCIsIG51bGwsIG51bGwsICJmb28iKSBpcyAiMjAxMC0wMi0xMCIKK1BBU1Mgc3Rl
cERvd24oIjIwMTAtMDItMTAiLCBudWxsLCBudWxsLCAiZm9vIikgaXMgIjIwMTAtMDItMTAiCitQ
QVNTIHN0ZXBVcCgiMjAxMC0wMi0xMCIsIG51bGwsIG51bGwsIG51bGwpIGlzICIyMDEwLTAyLTEw
IgorUEFTUyBzdGVwRG93bigiMjAxMC0wMi0xMCIsIG51bGwsIG51bGwsIG51bGwpIGlzICIyMDEw
LTAyLTEwIgorTm9ybWFsIGNhc2VzCitQQVNTIHN0ZXBVcCgiMjAxMC0wMi0xMCIsIG51bGwsIG51
bGwpIGlzICIyMDEwLTAyLTExIgorUEFTUyBzdGVwRG93bigiMjAxMC0wMi0xMCIsIG51bGwsIG51
bGwpIGlzICIyMDEwLTAyLTA5IgorUEFTUyBzdGVwVXAoIjIwMTAtMDItMTAiLCBudWxsLCBudWxs
LCAxMCkgaXMgIjIwMTAtMDItMjAiCitQQVNTIHN0ZXBEb3duKCIyMDEwLTAyLTEwIiwgbnVsbCwg
bnVsbCwgMTEpIGlzICIyMDEwLTAxLTMwIgorUEFTUyBzdGVwVXAoIjE5NzAtMDEtMDEiLCAiNCIs
IG51bGwsIDIpIGlzICIxOTcwLTAxLTA5IgorUEFTUyBzdGVwRG93bigiMTk3MC0wMS0wMSIsICI0
IiwgbnVsbCwgMykgaXMgIjE5NjktMTItMjAiCitTdGVwPWFueQorUEFTUyBzdGVwVXAoIjIwMTAt
MDItMTAiLCAiYW55IiwgbnVsbCkgaXMgIjIwMTAtMDItMTAiCitQQVNTIHN0ZXBEb3duKCIyMDEw
LTAyLTEwIiwgImFueSIsIG51bGwpIGlzICIyMDEwLTAyLTEwIgorT3ZlcmZsb3cvdW5kZXJmbG93
CitQQVNTIHN0ZXBVcCgiMjAxMC0wMi0xMCIsICIzLjQwMjgyMzQ2ZSszOCIsIG51bGwpIGlzICIx
OTcwLTAxLTAxIgorUEFTUyBzdGVwRG93bigiMjAxMC0wMi0xMCIsICIzLjQwMjgyMzQ2ZSszOCIs
IG51bGwpIGlzICIyNzU3NjAtMDktMTMiCitQQVNTIHN0ZXBVcCgiMjAxMC0wMi0xMCIsICIxIiwg
IjIwMTAtMDItMTAiKSBpcyAiMjAxMC0wMi0xMCIKK1BBU1Mgc3RlcERvd24oIjIwMTAtMDItMTAi
LCAiMSIsICIyMDEwLTAyLTEwIikgaXMgIjIwMTAtMDItMTAiCisKK0RhdGV0aW1lIHR5cGUKK05v
bi1udW1iZXIgYXJndW1lbnRzCitQQVNTIHN0ZXBVcCgiMjAxMC0wMi0xMFQyMDoxM1oiLCBudWxs
LCBudWxsLCAiMCIpIGlzICIyMDEwLTAyLTEwVDIwOjEzWiIKK1BBU1Mgc3RlcERvd24oIjIwMTAt
MDItMTBUMjA6MTNaIiwgbnVsbCwgbnVsbCwgIjAiKSBpcyAiMjAxMC0wMi0xMFQyMDoxM1oiCitQ
QVNTIHN0ZXBVcCgiMjAxMC0wMi0xMFQyMDoxM1oiLCBudWxsLCBudWxsLCAiZm9vIikgaXMgIjIw
MTAtMDItMTBUMjA6MTNaIgorUEFTUyBzdGVwRG93bigiMjAxMC0wMi0xMFQyMDoxM1oiLCBudWxs
LCBudWxsLCAiZm9vIikgaXMgIjIwMTAtMDItMTBUMjA6MTNaIgorUEFTUyBzdGVwVXAoIjIwMTAt
MDItMTBUMjA6MTNaIiwgbnVsbCwgbnVsbCwgbnVsbCkgaXMgIjIwMTAtMDItMTBUMjA6MTNaIgor
UEFTUyBzdGVwRG93bigiMjAxMC0wMi0xMFQyMDoxM1oiLCBudWxsLCBudWxsLCBudWxsKSBpcyAi
MjAxMC0wMi0xMFQyMDoxM1oiCitOb3JtYWwgY2FzZXMKK1BBU1Mgc3RlcFVwKCIyMDEwLTAyLTEw
VDIwOjEzWiIsIG51bGwsIG51bGwpIGlzICIyMDEwLTAyLTEwVDIwOjE0WiIKK1BBU1Mgc3RlcERv
d24oIjIwMTAtMDItMTBUMjA6MTNaIiwgbnVsbCwgbnVsbCkgaXMgIjIwMTAtMDItMTBUMjA6MTJa
IgorUEFTUyBzdGVwVXAoIjIwMTAtMDItMTBUMjA6MTNaIiwgbnVsbCwgbnVsbCwgMTApIGlzICIy
MDEwLTAyLTEwVDIwOjIzWiIKK1BBU1Mgc3RlcERvd24oIjIwMTAtMDItMTBUMjA6MTNaIiwgbnVs
bCwgbnVsbCwgMTEpIGlzICIyMDEwLTAyLTEwVDIwOjAyWiIKK1BBU1Mgc3RlcFVwKCIxOTcwLTAx
LTAxVDIwOjEzWiIsICI0IiwgbnVsbCwgMikgaXMgIjE5NzAtMDEtMDFUMjA6MTM6MDhaIgorUEFT
UyBzdGVwRG93bigiMTk3MC0wMS0wMVQyMDoxM1oiLCAiNCIsIG51bGwsIDMpIGlzICIxOTcwLTAx
LTAxVDIwOjEyOjQ4WiIKK1N0ZXA9YW55CitQQVNTIHN0ZXBVcCgiMjAxMC0wMi0xMFQyMDoxM1oi
LCAiYW55IiwgbnVsbCkgaXMgIjIwMTAtMDItMTBUMjA6MTNaIgorUEFTUyBzdGVwRG93bigiMjAx
MC0wMi0xMFQyMDoxM1oiLCAiYW55IiwgbnVsbCkgaXMgIjIwMTAtMDItMTBUMjA6MTNaIgorT3Zl
cmZsb3cvdW5kZXJmbG93CitQQVNTIHN0ZXBVcCgiMjAxMC0wMi0xMFQyMDoxM1oiLCAiMy40MDI4
MjM0NmUrMzgiLCBudWxsKSBpcyAiMTk3MC0wMS0wMVQwMDowMDowMC4wMDBaIgorUEFTUyBzdGVw
RG93bigiMjAxMC0wMi0xMFQyMDoxM1oiLCAiMy40MDI4MjM0NmUrMzgiLCBudWxsKSBpcyAiMjc1
NzYwLTA5LTEzVDAwOjAwOjAwLjAwMFoiCitQQVNTIHN0ZXBVcCgiMjAxMC0wMi0xMFQyMDoxM1oi
LCAiMSIsICIyMDEwLTAyLTEwVDIwOjEzWiIpIGlzICIyMDEwLTAyLTEwVDIwOjEzWiIKK1BBU1Mg
c3RlcERvd24oIjIwMTAtMDItMTBUMjA6MTNaIiwgIjEiLCAiMjAxMC0wMi0xMFQyMDoxM1oiKSBp
cyAiMjAxMC0wMi0xMFQyMDoxM1oiCisKK0RhdGV0aW1lLWxvY2FsIHR5cGUKK05vbi1udW1iZXIg
YXJndW1lbnRzCitQQVNTIHN0ZXBVcCgiMjAxMC0wMi0xMFQyMDoxMyIsIG51bGwsIG51bGwsICIw
IikgaXMgIjIwMTAtMDItMTBUMjA6MTMiCitQQVNTIHN0ZXBEb3duKCIyMDEwLTAyLTEwVDIwOjEz
IiwgbnVsbCwgbnVsbCwgIjAiKSBpcyAiMjAxMC0wMi0xMFQyMDoxMyIKK1BBU1Mgc3RlcFVwKCIy
MDEwLTAyLTEwVDIwOjEzIiwgbnVsbCwgbnVsbCwgImZvbyIpIGlzICIyMDEwLTAyLTEwVDIwOjEz
IgorUEFTUyBzdGVwRG93bigiMjAxMC0wMi0xMFQyMDoxMyIsIG51bGwsIG51bGwsICJmb28iKSBp
cyAiMjAxMC0wMi0xMFQyMDoxMyIKK1BBU1Mgc3RlcFVwKCIyMDEwLTAyLTEwVDIwOjEzIiwgbnVs
bCwgbnVsbCwgbnVsbCkgaXMgIjIwMTAtMDItMTBUMjA6MTMiCitQQVNTIHN0ZXBEb3duKCIyMDEw
LTAyLTEwVDIwOjEzIiwgbnVsbCwgbnVsbCwgbnVsbCkgaXMgIjIwMTAtMDItMTBUMjA6MTMiCitO
b3JtYWwgY2FzZXMKK1BBU1Mgc3RlcFVwKCIyMDEwLTAyLTEwVDIwOjEzIiwgbnVsbCwgbnVsbCkg
aXMgIjIwMTAtMDItMTBUMjA6MTQiCitQQVNTIHN0ZXBEb3duKCIyMDEwLTAyLTEwVDIwOjEzIiwg
bnVsbCwgbnVsbCkgaXMgIjIwMTAtMDItMTBUMjA6MTIiCitQQVNTIHN0ZXBVcCgiMjAxMC0wMi0x
MFQyMDoxMyIsIG51bGwsIG51bGwsIDEwKSBpcyAiMjAxMC0wMi0xMFQyMDoyMyIKK1BBU1Mgc3Rl
cERvd24oIjIwMTAtMDItMTBUMjA6MTMiLCBudWxsLCBudWxsLCAxMSkgaXMgIjIwMTAtMDItMTBU
MjA6MDIiCitQQVNTIHN0ZXBVcCgiMTk3MC0wMS0wMVQyMDoxMyIsICI0IiwgbnVsbCwgMikgaXMg
IjE5NzAtMDEtMDFUMjA6MTM6MDgiCitQQVNTIHN0ZXBEb3duKCIxOTcwLTAxLTAxVDIwOjEzIiwg
IjQiLCBudWxsLCAzKSBpcyAiMTk3MC0wMS0wMVQyMDoxMjo0OCIKK1N0ZXA9YW55CitQQVNTIHN0
ZXBVcCgiMjAxMC0wMi0xMFQyMDoxMyIsICJhbnkiLCBudWxsKSBpcyAiMjAxMC0wMi0xMFQyMDox
MyIKK1BBU1Mgc3RlcERvd24oIjIwMTAtMDItMTBUMjA6MTMiLCAiYW55IiwgbnVsbCkgaXMgIjIw
MTAtMDItMTBUMjA6MTMiCitPdmVyZmxvdy91bmRlcmZsb3cKK1BBU1Mgc3RlcFVwKCIyMDEwLTAy
LTEwVDIwOjEzIiwgIjMuNDAyODIzNDZlKzM4IiwgbnVsbCkgaXMgIjE5NzAtMDEtMDFUMDA6MDA6
MDAuMDAwIgorUEFTUyBzdGVwRG93bigiMjAxMC0wMi0xMFQyMDoxMyIsICIzLjQwMjgyMzQ2ZSsz
OCIsIG51bGwpIGlzICIyNzU3NjAtMDktMTNUMDA6MDA6MDAuMDAwIgorUEFTUyBzdGVwVXAoIjIw
MTAtMDItMTBUMjA6MTMiLCAiMSIsICIyMDEwLTAyLTEwVDIwOjEzIikgaXMgIjIwMTAtMDItMTBU
MjA6MTMiCitQQVNTIHN0ZXBEb3duKCIyMDEwLTAyLTEwVDIwOjEzIiwgIjEiLCAiMjAxMC0wMi0x
MFQyMDoxMyIpIGlzICIyMDEwLTAyLTEwVDIwOjEzIgorCitNb250aCB0eXBlCitOb24tbnVtYmVy
IGFyZ3VtZW50cworUEFTUyBzdGVwVXAoIjIwMTAtMDIiLCBudWxsLCBudWxsLCAiMCIpIGlzICIy
MDEwLTAyIgorUEFTUyBzdGVwRG93bigiMjAxMC0wMiIsIG51bGwsIG51bGwsICIwIikgaXMgIjIw
MTAtMDIiCitQQVNTIHN0ZXBVcCgiMjAxMC0wMiIsIG51bGwsIG51bGwsICJmb28iKSBpcyAiMjAx
MC0wMiIKK1BBU1Mgc3RlcERvd24oIjIwMTAtMDIiLCBudWxsLCBudWxsLCAiZm9vIikgaXMgIjIw
MTAtMDIiCitQQVNTIHN0ZXBVcCgiMjAxMC0wMiIsIG51bGwsIG51bGwsIG51bGwpIGlzICIyMDEw
LTAyIgorUEFTUyBzdGVwRG93bigiMjAxMC0wMiIsIG51bGwsIG51bGwsIG51bGwpIGlzICIyMDEw
LTAyIgorTm9ybWFsIGNhc2VzCitQQVNTIHN0ZXBVcCgiMjAxMC0wMiIsIG51bGwsIG51bGwpIGlz
ICIyMDEwLTAzIgorUEFTUyBzdGVwRG93bigiMjAxMC0wMiIsIG51bGwsIG51bGwpIGlzICIyMDEw
LTAxIgorUEFTUyBzdGVwVXAoIjIwMTAtMDIiLCBudWxsLCBudWxsLCAxMCkgaXMgIjIwMTAtMTIi
CitQQVNTIHN0ZXBEb3duKCIyMDEwLTAyIiwgbnVsbCwgbnVsbCwgMTEpIGlzICIyMDA5LTAzIgor
UEFTUyBzdGVwVXAoIjE5NzAtMDEiLCAiNCIsIG51bGwsIDIpIGlzICIxOTcwLTA5IgorUEFTUyBz
dGVwRG93bigiMTk3MC0wMSIsICI0IiwgbnVsbCwgMykgaXMgIjE5NjktMDEiCitTdGVwPWFueQor
UEFTUyBzdGVwVXAoIjIwMTAtMDIiLCAiYW55IiwgbnVsbCkgaXMgIjIwMTAtMDIiCitQQVNTIHN0
ZXBEb3duKCIyMDEwLTAyIiwgImFueSIsIG51bGwpIGlzICIyMDEwLTAyIgorT3ZlcmZsb3cvdW5k
ZXJmbG93CitQQVNTIHN0ZXBVcCgiMjAxMC0wMiIsICIzLjQwMjgyMzQ2ZSszOCIsIG51bGwpIGlz
ICIxOTcwLTAxIgorUEFTUyBzdGVwRG93bigiMjAxMC0wMiIsICIzLjQwMjgyMzQ2ZSszOCIsIG51
bGwpIGlzICIyNzU3NjAtMDkiCitQQVNTIHN0ZXBVcCgiMjAxMC0wMiIsICIxIiwgIjIwMTAtMDIi
KSBpcyAiMjAxMC0wMiIKK1BBU1Mgc3RlcERvd24oIjIwMTAtMDIiLCAiMSIsICIyMDEwLTAyIikg
aXMgIjIwMTAtMDIiCisKK051bWJlciB0eXBlCitJbnZhbGlkIHZhbHVlCitQQVNTIHN0ZXBVcCgi
IiwgbnVsbCwgbnVsbCkgaXMgIjEiCitQQVNTIHN0ZXBEb3duKCIiLCBudWxsLCBudWxsKSBpcyAi
LTEiCitOb24tbnVtYmVyIGFyZ3VtZW50cworUEFTUyBzdGVwVXAoIjAiLCBudWxsLCBudWxsLCAi
MCIpIGlzICIwIgorUEFTUyBzdGVwRG93bigiMCIsIG51bGwsIG51bGwsICIwIikgaXMgIjAiCitQ
QVNTIHN0ZXBVcCgiMCIsIG51bGwsIG51bGwsICJmb28iKSBpcyAiMCIKK1BBU1Mgc3RlcERvd24o
IjAiLCBudWxsLCBudWxsLCAiZm9vIikgaXMgIjAiCitQQVNTIHN0ZXBVcCgiMCIsIG51bGwsIG51
bGwsIG51bGwpIGlzICIwIgorUEFTUyBzdGVwRG93bigiMCIsIG51bGwsIG51bGwsIG51bGwpIGlz
ICIwIgorTm9ybWFsIGNhc2VzCitQQVNTIHN0ZXBVcCgiMCIsIG51bGwsIG51bGwpIGlzICIxIgor
UEFTUyBzdGVwVXAoIjEiLCBudWxsLCBudWxsLCAyKSBpcyAiMyIKK1BBU1Mgc3RlcFVwKCIzIiwg
bnVsbCwgbnVsbCwgLTEpIGlzICIyIgorUEFTUyBzdGVwRG93bigiMiIsIG51bGwsIG51bGwpIGlz
ICIxIgorUEFTUyBzdGVwRG93bigiMSIsIG51bGwsIG51bGwsIDIpIGlzICItMSIKK1BBU1Mgc3Rl
cERvd24oIi0xIiwgbnVsbCwgbnVsbCwgLTEpIGlzICIwIgorRXh0cmEgYXJndW1lbnRzCitQQVNT
IGlucHV0LnZhbHVlID0gIjAiOyBpbnB1dC5taW4gPSBudWxsOyBpbnB1dC5zdGVwID0gbnVsbDsg
aW5wdXQuc3RlcFVwKDEsIDIpOyBpbnB1dC52YWx1ZSBpcyAiMSIKK1BBU1MgaW5wdXQudmFsdWUg
PSAiMSI7IGlucHV0LnN0ZXBEb3duKDEsIDMpOyBpbnB1dC52YWx1ZSBpcyAiMCIKK0ludmFsaWQg
c3RlcCB2YWx1ZQorUEFTUyBzdGVwVXAoIjAiLCAiZm9vIiwgbnVsbCkgaXMgIjEiCitQQVNTIHN0
ZXBVcCgiMSIsICIwIiwgbnVsbCkgaXMgIjIiCitQQVNTIHN0ZXBVcCgiMiIsICItMSIsIG51bGwp
IGlzICIzIgorU3RlcD1hbnkKK1BBU1Mgc3RlcFVwKCIwIiwgImFueSIsIG51bGwpIGlzICIwIgor
UEFTUyBzdGVwRG93bigiMCIsICJhbnkiLCBudWxsKSBpcyAiMCIKK092ZXJmbG93L3VuZGVyZmxv
dworUEFTUyBzdGVwRG93bigiMSIsICIxIiwgIjAiKSBpcyAiMCIKK1BBU1Mgc3RlcERvd24oIjAi
LCAiMSIsICIwIikgaXMgIjAiCitQQVNTIHN0ZXBEb3duKCIxIiwgIjEiLCAiMCIsIDIpIGlzICIw
IgorUEFTUyBpbnB1dC52YWx1ZSBpcyAiMCIKK1BBU1Mgc3RlcERvd24oIjEiLCAiMy40MDI4MjM0
NmUrMzgiLCAiIiwgMikgaXMgIi0zLjQwMjgyMzQ2ZSszOCIKK1BBU1Mgc3RlcFVwKCItMSIsICIx
IiwgIjAiKSBpcyAiMCIKK1BBU1Mgc3RlcFVwKCIwIiwgIjEiLCAiMCIpIGlzICIwIgorUEFTUyBz
dGVwVXAoIi0xIiwgIjEiLCAiMCIsIDIpIGlzICIwIgorUEFTUyBpbnB1dC52YWx1ZSBpcyAiMCIK
K1BBU1Mgc3RlcFVwKCIxIiwgIjMuNDAyODIzNDZlKzM4IiwgIiIsIDIpIGlzICIzLjQwMjgyMzQ2
ZSszOCIKK3N0ZXBEb3duKCkvc3RlcFVwKCkgZm9yIHN0ZXBNaXNtYXRjaCB2YWx1ZXMKK1BBU1Mg
c3RlcFVwKCIxIiwgIjIiLCAiIikgaXMgIjIiCitQQVNTIGlucHV0LnN0ZXBEb3duKCk7IGlucHV0
LnZhbHVlIGlzICIwIgorUEFTUyBpbnB1dC5taW4gPSAiMCI7IHN0ZXBVcCgiOSIsICIxMCIsICIi
LCA5KSBpcyAiOTAiCitQQVNTIHN0ZXBEb3duKCIxOSIsICIxMCIsICIwIikgaXMgIjEwIgorUEFT
UyBzdGVwVXAoIjg5IiwgIjEwIiwgIjk5IikgaXMgIjkwIgorSHVnZSB2YWx1ZSBhbmQgc21hbGwg
c3RlcAorUEFTUyBpbnB1dC5taW4gPSAiIjsgc3RlcFVwKCIxZSszOCIsICIxIiwgIiIsIDk5OSkg
aXMgIjFlKzM4IgorUEFTUyBpbnB1dC5tYXggPSAiIjsgc3RlcERvd24oIjFlKzM4IiwgIjEiLCAi
IiwgOTk5KSBpcyAiMWUrMzgiCitGcmFjdGlvbmFsIG51bWJlcnMKK1BBU1MgaW5wdXQubWluID0g
IiI7IHN0ZXBVcCgiMCIsICIwLjMzMzMzMzMzMzMzMzMzMzMzIiwgIiIsIDMpIGlzICIxIgorUEFT
UyBzdGVwVXAoIjEiLCAiMC4xIiwgIiIsIDEwKSBpcyAiMiIKK1BBU1MgaW5wdXQuc3RlcFVwKCk7
IGlucHV0LnN0ZXBVcCgpOyBpbnB1dC5zdGVwVXAoKTsgaW5wdXQuc3RlcFVwKCk7IGlucHV0LnN0
ZXBVcCgpOyBpbnB1dC5zdGVwVXAoKTsgaW5wdXQuc3RlcFVwKCk7IGlucHV0LnN0ZXBVcCgpOyBp
bnB1dC5zdGVwVXAoKTsgaW5wdXQuc3RlcFVwKCk7IGlucHV0LnZhbHVlIGlzICIzIgorUEFTUyBp
bnB1dC5taW4gPSAiMCI7IHN0ZXBVcCgiMCIsICIwLjAwMzkyMTU2ODYyNzQ1MDk4MCIsICIxIiwg
MjU1KSBpcyAiMSIKK1BBU1MgZm9yICh2YXIgaSA9IDA7IGkgPCAyNTU7IGkrKykgeyBpbnB1dC5z
dGVwRG93bigpOyB9OyBpbnB1dC52YWx1ZSBpcyAiMCIKK1JvdW5kaW5nCitQQVNTIHN0ZXBVcCgi
NS4wMDUiLCAiMC4wMDUiLCAiIiwgMikgaXMgIjUuMDE1IgorUEFTUyBzdGVwVXAoIjUuMDA1Iiwg
IjAuMDA1IiwgIiIsIDExKSBpcyAiNS4wNiIKK1BBU1Mgc3RlcFVwKCI1LjAwNSIsICIwLjAwNSIs
ICIiLCAxMikgaXMgIjUuMDY1IgorUEFTUyBzdGVwVXBFeHBsaWNpdEJvdW5kcygiNCIsICI5Iiwg
IjAuMDA1IiwgIjUuMDA1IiwgMikgaXMgIjUuMDE1IgorUEFTUyBzdGVwVXBFeHBsaWNpdEJvdW5k
cygiNCIsICI5IiwgIjAuMDA1IiwgIjUuMDA1IiwgMTEpIGlzICI1LjA2IgorUEFTUyBzdGVwVXBF
eHBsaWNpdEJvdW5kcygiNCIsICI5IiwgIjAuMDA1IiwgIjUuMDA1IiwgMTIpIGlzICI1LjA2NSIK
KworUmFuZ2UgdHlwZQorZnVuY3Rpb24gYXJndW1lbnRzIGFyZSAobWluLCBtYXgsIHN0ZXAsIHZh
bHVlLCBbc3RlcENvdW50XSkKK1VzaW5nIHRoZSBkZWZhdWx0IHZhbHVlcworUEFTUyBzdGVwVXBF
eHBsaWNpdEJvdW5kcyhudWxsLCBudWxsLCBudWxsLCAiIikgaXMgIjUxIgorUEFTUyBzdGVwRG93
bkV4cGxpY2l0Qm91bmRzKG51bGwsIG51bGwsIG51bGwsICIiKSBpcyAiNDkiCitOb24tbnVtYmVy
IGFyZ3VtZW50cyAoc3RlcENvdW50KQorUEFTUyBzdGVwVXBFeHBsaWNpdEJvdW5kcyhudWxsLCBu
dWxsLCBudWxsLCAiMCIsICIwIikgaXMgIjAiCitQQVNTIHN0ZXBEb3duRXhwbGljaXRCb3VuZHMo
bnVsbCwgbnVsbCwgbnVsbCwgIjAiLCAiMCIpIGlzICIwIgorUEFTUyBzdGVwVXBFeHBsaWNpdEJv
dW5kcyhudWxsLCBudWxsLCBudWxsLCAiMCIsICJmb28iKSBpcyAiMCIKK1BBU1Mgc3RlcERvd25F
eHBsaWNpdEJvdW5kcyhudWxsLCBudWxsLCBudWxsLCAiMCIsICJmb28iKSBpcyAiMCIKK1BBU1Mg
c3RlcFVwRXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwgbnVsbCwgIjAiLCBudWxsKSBpcyAiMCIK
K1BBU1Mgc3RlcERvd25FeHBsaWNpdEJvdW5kcyhudWxsLCBudWxsLCBudWxsLCAiMCIsIG51bGwp
IGlzICIwIgorTm9ybWFsIGNhc2VzCitQQVNTIHN0ZXBVcEV4cGxpY2l0Qm91bmRzKG51bGwsIG51
bGwsIG51bGwsICIwIikgaXMgIjEiCitQQVNTIHN0ZXBVcEV4cGxpY2l0Qm91bmRzKG51bGwsIG51
bGwsIG51bGwsICIxIiwgMikgaXMgIjMiCitQQVNTIHN0ZXBVcEV4cGxpY2l0Qm91bmRzKG51bGws
IG51bGwsIG51bGwsICIzIiwgLTEpIGlzICIyIgorUEFTUyBzdGVwRG93bkV4cGxpY2l0Qm91bmRz
KCItMTAwIiwgbnVsbCwgbnVsbCwgIjIiKSBpcyAiMSIKK1BBU1Mgc3RlcERvd25FeHBsaWNpdEJv
dW5kcygiLTEwMCIsIG51bGwsIG51bGwsICIxIiwgMikgaXMgIi0xIgorUEFTUyBzdGVwRG93bkV4
cGxpY2l0Qm91bmRzKCItMTAwIiwgbnVsbCwgbnVsbCwgIi0xIiwgLTEpIGlzICIwIgorRXh0cmEg
YXJndW1lbnRzCitQQVNTIHNldElucHV0QXR0cmlidXRlcyhudWxsLCBudWxsLCBudWxsLCAiMCIp
OyBpbnB1dC5zdGVwVXAoMSwyKTsgaW5wdXQudmFsdWUgaXMgIjEiCitQQVNTIHNldElucHV0QXR0
cmlidXRlcyhudWxsLCBudWxsLCBudWxsLCAiMSIpOyBpbnB1dC5zdGVwRG93bigxLDMpOyBpbnB1
dC52YWx1ZSBpcyAiMCIKK0ludmFsaWQgc3RlcCB2YWx1ZQorUEFTUyBzdGVwVXBFeHBsaWNpdEJv
dW5kcyhudWxsLCBudWxsLCAiZm9vIiwgIjAiKSBpcyAiMSIKK1BBU1Mgc3RlcFVwRXhwbGljaXRC
b3VuZHMobnVsbCwgbnVsbCwgIjAiLCAiMSIpIGlzICIyIgorUEFTUyBzdGVwVXBFeHBsaWNpdEJv
dW5kcyhudWxsLCBudWxsLCAiLTEiLCAiMiIpIGlzICIzIgorUEFTUyBzdGVwRG93bkV4cGxpY2l0
Qm91bmRzKG51bGwsIG51bGwsICJmb28iLCAiMSIpIGlzICIwIgorUEFTUyBzdGVwRG93bkV4cGxp
Y2l0Qm91bmRzKG51bGwsIG51bGwsICIwIiwgIjIiKSBpcyAiMSIKK1BBU1Mgc3RlcERvd25FeHBs
aWNpdEJvdW5kcyhudWxsLCBudWxsLCAiLTEiLCAiMyIpIGlzICIyIgorU3RlcD1hbnkKK1BBU1Mg
c3RlcFVwRXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwgImFueSIsICIxIikgaXMgIjIiCitQQVNT
IHN0ZXBEb3duRXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwgImFueSIsICIxIikgaXMgIjAiCitP
dmVyZmxvdy91bmRlcmZsb3cKK1BBU1Mgc3RlcFVwRXhwbGljaXRCb3VuZHMobnVsbCwgIjEwMCIs
ICIxIiwgIjk5IikgaXMgIjEwMCIKK1BBU1Mgc3RlcFVwRXhwbGljaXRCb3VuZHMobnVsbCwgIjEw
MCIsICIxIiwgIjEwMCIpIGlzICIxMDAiCitQQVNTIGlucHV0LnZhbHVlIGlzICIxMDAiCitQQVNT
IHN0ZXBVcEV4cGxpY2l0Qm91bmRzKG51bGwsICIxMDAiLCAiMSIsICI5OSIsICIyIikgaXMgIjEw
MCIKK1BBU1MgaW5wdXQudmFsdWUgaXMgIjEwMCIKK1BBU1Mgc3RlcERvd25FeHBsaWNpdEJvdW5k
cygiMCIsIG51bGwsICIxIiwgIjEiKSBpcyAiMCIKK1BBU1Mgc3RlcERvd25FeHBsaWNpdEJvdW5k
cygiMCIsIG51bGwsICIxIiwgIjAiKSBpcyAiMCIKK1BBU1MgaW5wdXQudmFsdWUgaXMgIjAiCitQ
QVNTIHN0ZXBEb3duRXhwbGljaXRCb3VuZHMoIjAiLCBudWxsLCAiMSIsICIxIiwgIjIiKSBpcyAi
MCIKK1BBU1MgaW5wdXQudmFsdWUgaXMgIjAiCitQQVNTIHN0ZXBEb3duRXhwbGljaXRCb3VuZHMo
bnVsbCwgbnVsbCwgIjMuNDAyODIzNDZlKzM4IiwgIjEiLCAiMiIpIGlzICIwIgorUEFTUyBzdGVw
VXBFeHBsaWNpdEJvdW5kcygtMTAwLCAwLCAxLCAtMSkgaXMgIjAiCitQQVNTIHN0ZXBVcEV4cGxp
Y2l0Qm91bmRzKG51bGwsIDAsIDEsIDApIGlzICIwIgorUEFTUyBzdGVwVXBFeHBsaWNpdEJvdW5k
cygtMTAwLCAwLCAxLCAtMSwgMikgaXMgIjAiCitQQVNTIGlucHV0LnZhbHVlIGlzICIwIgorUEFT
UyBzdGVwVXBFeHBsaWNpdEJvdW5kcyhudWxsLCBudWxsLCAiMy40MDI4MjM0NmUrMzgiLCAiMSIs
ICIyIikgaXMgIjAiCitzdGVwRG93bigpL3N0ZXBVcCgpIGZvciBzdGVwTWlzbWF0Y2ggdmFsdWVz
CitQQVNTIHN0ZXBVcEV4cGxpY2l0Qm91bmRzKG51bGwsIG51bGwsIDIsIDEpIGlzICI0IgorUEFT
UyBpbnB1dC5zdGVwRG93bigpOyBpbnB1dC52YWx1ZSBpcyAiMiIKK1BBU1Mgc3RlcFVwRXhwbGlj
aXRCb3VuZHMoMCwgbnVsbCwgMTAsIDksIDkpIGlzICIxMDAiCitQQVNTIHN0ZXBEb3duRXhwbGlj
aXRCb3VuZHMoMCwgbnVsbCwgMTAsIDE5KSBpcyAiMTAiCit2YWx1ZSArIHN0ZXAgaXMgPD0gbWF4
LCBidXQgcm91bmRlZCByZXN1bHQgd291bGQgYmUgPiBtYXguCitQQVNTIHN0ZXBVcEV4cGxpY2l0
Qm91bmRzKG51bGwsIDk5LCAxMCwgODkpIGlzICI5MCIKK0h1Z2UgdmFsdWUgYW5kIHNtYWxsIHN0
ZXAKK1BBU1Mgc3RlcFVwRXhwbGljaXRCb3VuZHMoMCwgMWUzOCwgMSwgMWUzOCwgOTk5KSBpcyAi
MWUrMzgiCitQQVNTIHN0ZXBEb3duRXhwbGljaXRCb3VuZHMoMCwgMWUzOCwgMSwgMWUzOCwgOTk5
KSBpcyAiMWUrMzgiCitGcmFjdGlvbmFsIG51bWJlcnMKK1BBU1Mgc3RlcFVwRXhwbGljaXRCb3Vu
ZHMobnVsbCwgbnVsbCwgMC4zMzMzMzMzMzMzMzMzMzMzMywgMCwgMykgaXMgIjEiCitQQVNTIHN0
ZXBVcEV4cGxpY2l0Qm91bmRzKG51bGwsIG51bGwsIDAuMSwgMSkgaXMgIjEuMSIKK1BBU1Mgc3Rl
cFVwRXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwgMC4xLCAxLCA4KSBpcyAiMS44IgorUEFTUyBz
dGVwVXBFeHBsaWNpdEJvdW5kcyhudWxsLCBudWxsLCAwLjEsIDEsIDEwKSBpcyAiMiIKK1BBU1Mg
aW5wdXQuc3RlcFVwKCk7IGlucHV0LnN0ZXBVcCgpOyBpbnB1dC5zdGVwVXAoKTsgaW5wdXQuc3Rl
cFVwKCk7IGlucHV0LnN0ZXBVcCgpOyBpbnB1dC5zdGVwVXAoKTsgaW5wdXQuc3RlcFVwKCk7IGlu
cHV0LnN0ZXBVcCgpOyBpbnB1dC5zdGVwVXAoKTsgaW5wdXQuc3RlcFVwKCk7IGlucHV0LnZhbHVl
IGlzICIzIgorUEFTUyBzdGVwVXBFeHBsaWNpdEJvdW5kcygwLCAxLCAwLjAwMzkyMTU2ODYyNzQ1
MDk4MCwgMCwgMjU1KSBpcyAiMSIKK1BBU1MgZm9yICh2YXIgaSA9IDA7IGkgPCAyNTU7IGkrKykg
eyBpbnB1dC5zdGVwRG93bigpOyB9OyBpbnB1dC52YWx1ZSBpcyAiMCIKK1BBU1Mgc3RlcERvd25F
eHBsaWNpdEJvdW5kcyhudWxsLCBudWxsLCAwLjEsIDEsIDgpIGlzICIwLjIiCitQQVNTIHN0ZXBE
b3duRXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwgMC4xLCAxKSBpcyAiMC45IgorCitUaW1lIHR5
cGUKK05vbi1udW1iZXIgYXJndW1lbnRzCitQQVNTIHN0ZXBVcCgiMjA6MTMiLCBudWxsLCBudWxs
LCAiMCIpIGlzICIyMDoxMyIKK1BBU1Mgc3RlcERvd24oIjIwOjEzIiwgbnVsbCwgbnVsbCwgIjAi
KSBpcyAiMjA6MTMiCitQQVNTIHN0ZXBVcCgiMjA6MTMiLCBudWxsLCBudWxsLCAiZm9vIikgaXMg
IjIwOjEzIgorUEFTUyBzdGVwRG93bigiMjA6MTMiLCBudWxsLCBudWxsLCAiZm9vIikgaXMgIjIw
OjEzIgorUEFTUyBzdGVwVXAoIjIwOjEzIiwgbnVsbCwgbnVsbCwgbnVsbCkgaXMgIjIwOjEzIgor
UEFTUyBzdGVwRG93bigiMjA6MTMiLCBudWxsLCBudWxsLCBudWxsKSBpcyAiMjA6MTMiCitOb3Jt
YWwgY2FzZXMKK1BBU1Mgc3RlcFVwKCIyMDoxMyIsIG51bGwsIG51bGwpIGlzICIyMDoxNCIKK1BB
U1Mgc3RlcERvd24oIjIwOjEzIiwgbnVsbCwgbnVsbCkgaXMgIjIwOjEyIgorUEFTUyBzdGVwVXAo
IjIwOjEzIiwgbnVsbCwgbnVsbCwgMTApIGlzICIyMDoyMyIKK1BBU1Mgc3RlcERvd24oIjIwOjEz
IiwgbnVsbCwgbnVsbCwgMTEpIGlzICIyMDowMiIKK1BBU1Mgc3RlcFVwKCIyMDoxMyIsICI0Iiwg
bnVsbCwgMikgaXMgIjIwOjEzOjA4IgorUEFTUyBzdGVwRG93bigiMjA6MTMiLCAiNCIsIG51bGws
IDMpIGlzICIyMDoxMjo0OCIKK1N0ZXA9YW55CitQQVNTIHN0ZXBVcCgiMjA6MTMiLCAiYW55Iiwg
bnVsbCkgaXMgIjIwOjEzIgorUEFTUyBzdGVwRG93bigiMjA6MTMiLCAiYW55IiwgbnVsbCkgaXMg
IjIwOjEzIgorT3ZlcmZsb3cvdW5kZXJmbG93CitQQVNTIHN0ZXBVcCgiMjA6MTMiLCAiMy40MDI4
MjM0NmUrMzgiLCBudWxsKSBpcyAiMDA6MDA6MDAuMDAwIgorUEFTUyBzdGVwRG93bigiMjA6MTMi
LCAiMy40MDI4MjM0NmUrMzgiLCBudWxsKSBpcyAiMjM6NTk6NTkuOTk5IgorUEFTUyBzdGVwVXAo
IjIwOjEzIiwgIjEiLCAiMjA6MTMiKSBpcyAiMjA6MTMiCitQQVNTIHN0ZXBEb3duKCIyMDoxMyIs
ICIxIiwgIjIwOjEzIikgaXMgIjIwOjEzIgorUEFTUyBzdGVwVXAoIjIzOjU5IiwgbnVsbCwgbnVs
bCkgaXMgIjIzOjU5IgorUEFTUyBzdGVwRG93bigiMDA6MDAiLCBudWxsLCBudWxsKSBpcyAiMDA6
MDAiCisKK1dlZWsgdHlwZQorTm9uLW51bWJlciBhcmd1bWVudHMKK1BBU1Mgc3RlcFVwKCIyMDEw
LVcwMiIsIG51bGwsIG51bGwsICIwIikgaXMgIjIwMTAtVzAyIgorUEFTUyBzdGVwRG93bigiMjAx
MC1XMDIiLCBudWxsLCBudWxsLCAiMCIpIGlzICIyMDEwLVcwMiIKK1BBU1Mgc3RlcFVwKCIyMDEw
LVcwMiIsIG51bGwsIG51bGwsICJmb28iKSBpcyAiMjAxMC1XMDIiCitQQVNTIHN0ZXBEb3duKCIy
MDEwLVcwMiIsIG51bGwsIG51bGwsICJmb28iKSBpcyAiMjAxMC1XMDIiCitQQVNTIHN0ZXBVcCgi
MjAxMC1XMDIiLCBudWxsLCBudWxsLCBudWxsKSBpcyAiMjAxMC1XMDIiCitQQVNTIHN0ZXBEb3du
KCIyMDEwLVcwMiIsIG51bGwsIG51bGwsIG51bGwpIGlzICIyMDEwLVcwMiIKK05vcm1hbCBjYXNl
cworUEFTUyBzdGVwVXAoIjIwMTAtVzAyIiwgbnVsbCwgbnVsbCkgaXMgIjIwMTAtVzAzIgorUEFT
UyBzdGVwRG93bigiMjAxMC1XMDIiLCBudWxsLCBudWxsKSBpcyAiMjAxMC1XMDEiCitQQVNTIHN0
ZXBVcCgiMjAxMC1XMDIiLCBudWxsLCBudWxsLCAxMCkgaXMgIjIwMTAtVzEyIgorUEFTUyBzdGVw
RG93bigiMjAxMC1XMDIiLCBudWxsLCBudWxsLCAxMSkgaXMgIjIwMDktVzQ0IgorUEFTUyBzdGVw
VXAoIjE5NzAtVzAxIiwgIjQiLCBudWxsLCAyKSBpcyAiMTk3MC1XMDkiCitQQVNTIHN0ZXBEb3du
KCIxOTcwLVcwMSIsICI0IiwgbnVsbCwgMykgaXMgIjE5NjktVzQxIgorU3RlcD1hbnkKK1BBU1Mg
c3RlcFVwKCIyMDEwLVcwMiIsICJhbnkiLCBudWxsKSBpcyAiMjAxMC1XMDIiCitQQVNTIHN0ZXBE
b3duKCIyMDEwLVcwMiIsICJhbnkiLCBudWxsKSBpcyAiMjAxMC1XMDIiCitPdmVyZmxvdy91bmRl
cmZsb3cKK1BBU1Mgc3RlcFVwKCIyMDEwLVcwMiIsICIzLjQwMjgyMzQ2ZSszOCIsIG51bGwpIGlz
ICIxOTcwLVcwMSIKK1BBU1Mgc3RlcERvd24oIjIwMTAtVzAyIiwgIjMuNDAyODIzNDZlKzM4Iiwg
bnVsbCkgaXMgIjI3NTc2MC1XMzciCitQQVNTIHN0ZXBVcCgiMjAxMC1XMDIiLCAiMSIsICIyMDEw
LVcwMiIpIGlzICIyMDEwLVcwMiIKK1BBU1Mgc3RlcERvd24oIjIwMTAtVzAyIiwgIjEiLCAiMjAx
MC1XMDIiKSBpcyAiMjAxMC1XMDIiCisKK1Vuc3VwcG9ydGVkIHR5cGUKK1BBU1MgaW5wdXQuc3Rl
cCA9ICIzIjsgaW5wdXQubWluID0gIiI7IGlucHV0Lm1heCA9ICIiOyBpbnB1dC52YWx1ZSA9ICIy
IjsgaW5wdXQuc3RlcERvd24oKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IElOVkFMSURfU1RBVEVf
RVJSOiBET00gRXhjZXB0aW9uIDExLgorUEFTUyBpbnB1dC5zdGVwRG93bigwKSB0aHJldyBleGNl
cHRpb24gRXJyb3I6IElOVkFMSURfU1RBVEVfRVJSOiBET00gRXhjZXB0aW9uIDExLgorUEFTUyBp
bnB1dC5zdGVwVXAoKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IElOVkFMSURfU1RBVEVfRVJSOiBE
T00gRXhjZXB0aW9uIDExLgorUEFTUyBpbnB1dC5zdGVwVXAoMCkgdGhyZXcgZXhjZXB0aW9uIEVy
cm9yOiBJTlZBTElEX1NUQVRFX0VSUjogRE9NIEV4Y2VwdGlvbiAxMS4KK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL2lucHV0LXN0ZXB1cC1zdGVwZG93bi1mcm9tLXJlbmRlcmVyLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lucHV0LXN0ZXB1cC1zdGVwZG93bi1mcm9tLXJlbmRl
cmVyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYTRmZmZmZGM4ZWU2MDAyZDUzZDdhYjIxOWY5MzFlNzA4OWQ1
NDQ1ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW5wdXQtc3Rl
cHVwLXN0ZXBkb3duLWZyb20tcmVuZGVyZXIuaHRtbApAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZ
UEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgor
PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10
ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InNjcmlwdC10
ZXN0cy9pbnB1dC1zdGVwdXAtc3RlcGRvd24tZnJvbS1yZW5kZXJlci5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvc2NyaXB0LXRlc3RzL2lucHV0LXN0ZXB1cC1zdGVwZG93bi1mcm9tLXJlbmRlcmVyLmpzIGIv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvaW5wdXQtc3RlcHVwLXN0ZXBkb3du
LWZyb20tcmVuZGVyZXIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTUyYWZmNDM2MTNkNjU3NThjODUyMjgxMzVj
Mjc0ZTRlOWY0MzdlZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
c2NyaXB0LXRlc3RzL2lucHV0LXN0ZXB1cC1zdGVwZG93bi1mcm9tLXJlbmRlcmVyLmpzCkBAIC0w
LDAgKzEsMzc4IEBACitkZXNjcmlwdGlvbignQ2hlY2sgc3RlcFVwKCkgYW5kIHN0ZXBEb3duKCkg
YmFoZXZpb3IgZnJvbSByZW5kZXJlciBmb3IgdHlwZT1kYXRlLCBkYXRldGltZSwgZGF0ZXRpbWUt
bG9jYWwsIG1vbnRoLCB0aW1lLCB3ZWVrLicpOworCit2YXIgaW5wdXQgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCdpbnB1dCcpOwordmFyIGludmFsaWRTdGF0ZUVyciA9ICciRXJyb3I6IElOVkFM
SURfU1RBVEVfRVJSOiBET00gRXhjZXB0aW9uIDExIic7CisKK2Z1bmN0aW9uIHNlbmRLZXkoa2V5
TmFtZSkgeworICAgIHZhciBldmVudCA9IGRvY3VtZW50LmNyZWF0ZUV2ZW50KCdLZXlib2FyZEV2
ZW50Jyk7CisgICAgZXZlbnQuaW5pdEtleWJvYXJkRXZlbnQoJ2tleWRvd24nLCB0cnVlLCB0cnVl
LCBkb2N1bWVudC5kZWZhdWx0Vmlldywga2V5TmFtZSk7CisgICAgaW5wdXQuZGlzcGF0Y2hFdmVu
dChldmVudCk7Cit9CisKK2Z1bmN0aW9uIHNldElucHV0QXR0cmlidXRlcyhtaW4sIG1heCwgc3Rl
cCwgdmFsdWUpIHsKKyAgICBpbnB1dC5taW4gPSBtaW47CisgICAgaW5wdXQubWF4ID0gbWF4Owor
ICAgIGlucHV0LnN0ZXAgPSBzdGVwOworICAgIGlucHV0LnZhbHVlID0gdmFsdWU7Cit9CisKK2Z1
bmN0aW9uIHN0ZXBVcCh2YWx1ZSwgc3RlcCwgbWF4LCBvcHRpb25hbFN0ZXBDb3VudCkgeworICAg
IHNldElucHV0QXR0cmlidXRlcyhudWxsLCBtYXgsIHN0ZXAsIHZhbHVlKTsKKyAgICBpZiAodHlw
ZW9mIG9wdGlvbmFsU3RlcENvdW50ICE9ICJ1bmRlZmluZWQiKQorICAgICAgICBpZiAob3B0aW9u
YWxTdGVwQ291bnQgPCAwKQorICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCAtb3B0aW9u
YWxTdGVwQ291bnQ7IGkrKykKKyAgICAgICAgICAgICAgICBzZW5kS2V5KCdEb3duJyk7CisgICAg
ICAgIGVsc2UKKyAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgb3B0aW9uYWxTdGVwQ291
bnQ7IGkrKykKKyAgICAgICAgICAgICAgICBzZW5kS2V5KCdVcCcpOworICAgIGVsc2UKKyAgICAg
ICAgc2VuZEtleSgnVXAnKTsKKyAgICByZXR1cm4gaW5wdXQudmFsdWU7Cit9CisKK2Z1bmN0aW9u
IHN0ZXBEb3duKHZhbHVlLCBzdGVwLCBtaW4sIG9wdGlvbmFsU3RlcENvdW50KSB7CisgICAgc2V0
SW5wdXRBdHRyaWJ1dGVzKG1pbiwgbnVsbCwgc3RlcCwgdmFsdWUpOworICAgIGlmICh0eXBlb2Yg
b3B0aW9uYWxTdGVwQ291bnQgIT0gInVuZGVmaW5lZCIpCisgICAgICAgIGlmIChvcHRpb25hbFN0
ZXBDb3VudCA8IDApCisgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IC1vcHRpb25hbFN0
ZXBDb3VudDsgaSsrKQorICAgICAgICAgICAgICAgIHNlbmRLZXkoJ1VwJyk7CisgICAgICAgIGVs
c2UKKyAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgb3B0aW9uYWxTdGVwQ291bnQ7IGkr
KykKKyAgICAgICAgICAgICAgICBzZW5kS2V5KCdEb3duJyk7CisgICAgZWxzZQorICAgICAgICBz
ZW5kS2V5KCdEb3duJyk7CisgICAgcmV0dXJuIGlucHV0LnZhbHVlOworfQorCisvLyBSYW5nZSB2
YWx1ZSBnZXRzIGF1dG9tYXRpY2FsbHkgc2hpZnRlZCBiYXNlZCBvbiBib3VuZHMsCisvLyBTbyBh
bHdheXMgc2V0IHRoZSBtaW4gYW5kIG1heCBmaXJzdCB0byBnZXQgZXhwZWN0ZWQgYmVoYXZpb3IK
KworZnVuY3Rpb24gc3RlcFVwRXhwbGljaXRCb3VuZHMobWluLCBtYXgsIHN0ZXAsIHZhbHVlLCBz
dGVwQ291bnQpIHsKKyAgICBzZXRJbnB1dEF0dHJpYnV0ZXMobWluLCBtYXgsIHN0ZXAsIHZhbHVl
KTsKKyAgICBpZiAodHlwZW9mIHN0ZXBDb3VudCAhPT0gJ3VuZGVmaW5lZCcpCisgICAgICAgIGlm
IChzdGVwQ291bnQgPCAwKQorICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCAtc3RlcENv
dW50OyBpKyspCisgICAgICAgICAgICAgICAgc2VuZEtleSgnRG93bicpOworICAgICAgICBlbHNl
CisgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHN0ZXBDb3VudDsgaSsrKQorICAgICAg
ICAgICAgICAgIHNlbmRLZXkoJ1VwJyk7CisgICAgZWxzZQorICAgICAgICBzZW5kS2V5KCdVcCcp
OworICAgIHJldHVybiBpbnB1dC52YWx1ZTsKK30KKworZnVuY3Rpb24gc3RlcERvd25FeHBsaWNp
dEJvdW5kcyhtaW4sIG1heCwgc3RlcCwgdmFsdWUsIHN0ZXBDb3VudCkgeworICAgIHNldElucHV0
QXR0cmlidXRlcyhtaW4sIG1heCwgc3RlcCwgdmFsdWUpOworICAgIGlmICh0eXBlb2Ygc3RlcENv
dW50ICE9PSAndW5kZWZpbmVkJykKKyAgICAgICAgaWYgKHN0ZXBDb3VudCA8IDApCisgICAgICAg
ICAgICBmb3IgKHZhciBpID0gMDsgaSA8IC1zdGVwQ291bnQ7IGkrKykKKyAgICAgICAgICAgICAg
ICBzZW5kS2V5KCdVcCcpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBmb3IgKHZhciBpID0g
MDsgaSA8IHN0ZXBDb3VudDsgaSsrKQorICAgICAgICAgICAgICAgIHNlbmRLZXkoJ0Rvd24nKTsK
KyAgICBlbHNlCisgICAgICAgIHNlbmRLZXkoJ0Rvd24nKTsKKyAgICByZXR1cm4gaW5wdXQudmFs
dWU7Cit9CisKK2RlYnVnKCdEYXRlIHR5cGUnKTsKK2lucHV0LnR5cGUgPSAnZGF0ZSc7CitkZWJ1
ZygnTm9uLW51bWJlciBhcmd1bWVudHMnKTsKK3Nob3VsZEJlKCdzdGVwVXAoIjIwMTAtMDItMTAi
LCBudWxsLCBudWxsLCAiMCIpJywgJyIyMDEwLTAyLTEwIicpOworc2hvdWxkQmUoJ3N0ZXBEb3du
KCIyMDEwLTAyLTEwIiwgbnVsbCwgbnVsbCwgIjAiKScsICciMjAxMC0wMi0xMCInKTsKK3Nob3Vs
ZEJlKCdzdGVwVXAoIjIwMTAtMDItMTAiLCBudWxsLCBudWxsLCAiZm9vIiknLCAnIjIwMTAtMDIt
MTAiJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjIwMTAtMDItMTAiLCBudWxsLCBudWxsLCAiZm9v
IiknLCAnIjIwMTAtMDItMTAiJyk7CitzaG91bGRCZSgnc3RlcFVwKCIyMDEwLTAyLTEwIiwgbnVs
bCwgbnVsbCwgbnVsbCknLCAnIjIwMTAtMDItMTAiJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjIw
MTAtMDItMTAiLCBudWxsLCBudWxsLCBudWxsKScsICciMjAxMC0wMi0xMCInKTsKK2RlYnVnKCdO
b3JtYWwgY2FzZXMnKTsKK3Nob3VsZEJlKCdzdGVwVXAoIjIwMTAtMDItMTAiLCBudWxsLCBudWxs
KScsICciMjAxMC0wMi0xMSInKTsKK3Nob3VsZEJlKCdzdGVwRG93bigiMjAxMC0wMi0xMCIsIG51
bGwsIG51bGwpJywgJyIyMDEwLTAyLTA5IicpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMjAxMC0wMi0x
MCIsIG51bGwsIG51bGwsIDEwKScsICciMjAxMC0wMi0yMCInKTsKK3Nob3VsZEJlKCdzdGVwRG93
bigiMjAxMC0wMi0xMCIsIG51bGwsIG51bGwsIDExKScsICciMjAxMC0wMS0zMCInKTsKK3Nob3Vs
ZEJlKCdzdGVwVXAoIjE5NzAtMDEtMDEiLCAiNCIsIG51bGwsIDIpJywgJyIxOTcwLTAxLTA5Iicp
Oworc2hvdWxkQmUoJ3N0ZXBEb3duKCIxOTcwLTAxLTAxIiwgIjQiLCBudWxsLCAzKScsICciMTk2
OS0xMi0yMCInKTsKK2RlYnVnKCdTdGVwPWFueScpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMjAxMC0w
Mi0xMCIsICJhbnkiLCBudWxsKScsICciMjAxMC0wMi0xMCInKTsKK3Nob3VsZEJlKCdzdGVwRG93
bigiMjAxMC0wMi0xMCIsICJhbnkiLCBudWxsKScsICciMjAxMC0wMi0xMCInKTsKK2RlYnVnKCdP
dmVyZmxvdy91bmRlcmZsb3cnKTsKK3Nob3VsZEJlKCdzdGVwVXAoIjIwMTAtMDItMTAiLCAiMy40
MDI4MjM0NmUrMzgiLCBudWxsKScsJyIxOTcwLTAxLTAxIicpOworc2hvdWxkQmUoJ3N0ZXBEb3du
KCIyMDEwLTAyLTEwIiwgIjMuNDAyODIzNDZlKzM4IiwgbnVsbCknLCAnIjI3NTc2MC0wOS0xMyIn
KTsKK3Nob3VsZEJlKCdzdGVwVXAoIjIwMTAtMDItMTAiLCAiMSIsICIyMDEwLTAyLTEwIiknLCAn
IjIwMTAtMDItMTAiJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjIwMTAtMDItMTAiLCAiMSIsICIy
MDEwLTAyLTEwIiknLCAnIjIwMTAtMDItMTAiJyk7CisKK2RlYnVnKCcnKTsKK2RlYnVnKCdEYXRl
dGltZSB0eXBlJyk7CitpbnB1dC50eXBlID0gJ2RhdGV0aW1lJzsKK2RlYnVnKCdOb24tbnVtYmVy
IGFyZ3VtZW50cycpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMjAxMC0wMi0xMFQyMDoxM1oiLCBudWxs
LCBudWxsLCAiMCIpJywgJyIyMDEwLTAyLTEwVDIwOjEzWiInKTsKK3Nob3VsZEJlKCdzdGVwRG93
bigiMjAxMC0wMi0xMFQyMDoxM1oiLCBudWxsLCBudWxsLCAiMCIpJywgJyIyMDEwLTAyLTEwVDIw
OjEzWiInKTsKK3Nob3VsZEJlKCdzdGVwVXAoIjIwMTAtMDItMTBUMjA6MTNaIiwgbnVsbCwgbnVs
bCwgImZvbyIpJywgJyIyMDEwLTAyLTEwVDIwOjEzWiInKTsKK3Nob3VsZEJlKCdzdGVwRG93bigi
MjAxMC0wMi0xMFQyMDoxM1oiLCBudWxsLCBudWxsLCAiZm9vIiknLCAnIjIwMTAtMDItMTBUMjA6
MTNaIicpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMjAxMC0wMi0xMFQyMDoxM1oiLCBudWxsLCBudWxs
LCBudWxsKScsICciMjAxMC0wMi0xMFQyMDoxM1oiJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjIw
MTAtMDItMTBUMjA6MTNaIiwgbnVsbCwgbnVsbCwgbnVsbCknLCAnIjIwMTAtMDItMTBUMjA6MTNa
IicpOworZGVidWcoJ05vcm1hbCBjYXNlcycpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMjAxMC0wMi0x
MFQyMDoxM1oiLCBudWxsLCBudWxsKScsICciMjAxMC0wMi0xMFQyMDoxNFoiJyk7CitzaG91bGRC
ZSgnc3RlcERvd24oIjIwMTAtMDItMTBUMjA6MTNaIiwgbnVsbCwgbnVsbCknLCAnIjIwMTAtMDIt
MTBUMjA6MTJaIicpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMjAxMC0wMi0xMFQyMDoxM1oiLCBudWxs
LCBudWxsLCAxMCknLCAnIjIwMTAtMDItMTBUMjA6MjNaIicpOworc2hvdWxkQmUoJ3N0ZXBEb3du
KCIyMDEwLTAyLTEwVDIwOjEzWiIsIG51bGwsIG51bGwsIDExKScsICciMjAxMC0wMi0xMFQyMDow
MloiJyk7CitzaG91bGRCZSgnc3RlcFVwKCIxOTcwLTAxLTAxVDIwOjEzWiIsICI0IiwgbnVsbCwg
MiknLCAnIjE5NzAtMDEtMDFUMjA6MTM6MDhaIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIxOTcw
LTAxLTAxVDIwOjEzWiIsICI0IiwgbnVsbCwgMyknLCAnIjE5NzAtMDEtMDFUMjA6MTI6NDhaIicp
OworZGVidWcoJ1N0ZXA9YW55Jyk7CitzaG91bGRCZSgnc3RlcFVwKCIyMDEwLTAyLTEwVDIwOjEz
WiIsICJhbnkiLCBudWxsKScsICciMjAxMC0wMi0xMFQyMDoxM1oiJyk7CitzaG91bGRCZSgnc3Rl
cERvd24oIjIwMTAtMDItMTBUMjA6MTNaIiwgImFueSIsIG51bGwpJywgJyIyMDEwLTAyLTEwVDIw
OjEzWiInKTsKK2RlYnVnKCdPdmVyZmxvdy91bmRlcmZsb3cnKTsKK3Nob3VsZEJlKCdzdGVwVXAo
IjIwMTAtMDItMTBUMjA6MTNaIiwgIjMuNDAyODIzNDZlKzM4IiwgbnVsbCknLCAnIjE5NzAtMDEt
MDFUMDA6MDA6MDAuMDAwWiInKTsKK3Nob3VsZEJlKCdzdGVwRG93bigiMjAxMC0wMi0xMFQyMDox
M1oiLCAiMy40MDI4MjM0NmUrMzgiLCBudWxsKScsICciMjc1NzYwLTA5LTEzVDAwOjAwOjAwLjAw
MFoiJyk7CitzaG91bGRCZSgnc3RlcFVwKCIyMDEwLTAyLTEwVDIwOjEzWiIsICIxIiwgIjIwMTAt
MDItMTBUMjA6MTNaIiknLCAnIjIwMTAtMDItMTBUMjA6MTNaIicpOworc2hvdWxkQmUoJ3N0ZXBE
b3duKCIyMDEwLTAyLTEwVDIwOjEzWiIsICIxIiwgIjIwMTAtMDItMTBUMjA6MTNaIiknLCAnIjIw
MTAtMDItMTBUMjA6MTNaIicpOworCitkZWJ1ZygnJyk7CitkZWJ1ZygnRGF0ZXRpbWUtbG9jYWwg
dHlwZScpOworaW5wdXQudHlwZSA9ICdkYXRldGltZS1sb2NhbCc7CitkZWJ1ZygnTm9uLW51bWJl
ciBhcmd1bWVudHMnKTsKK3Nob3VsZEJlKCdzdGVwVXAoIjIwMTAtMDItMTBUMjA6MTMiLCBudWxs
LCBudWxsLCAiMCIpJywgJyIyMDEwLTAyLTEwVDIwOjEzIicpOworc2hvdWxkQmUoJ3N0ZXBEb3du
KCIyMDEwLTAyLTEwVDIwOjEzIiwgbnVsbCwgbnVsbCwgIjAiKScsICciMjAxMC0wMi0xMFQyMDox
MyInKTsKK3Nob3VsZEJlKCdzdGVwVXAoIjIwMTAtMDItMTBUMjA6MTMiLCBudWxsLCBudWxsLCAi
Zm9vIiknLCAnIjIwMTAtMDItMTBUMjA6MTMiJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjIwMTAt
MDItMTBUMjA6MTMiLCBudWxsLCBudWxsLCAiZm9vIiknLCAnIjIwMTAtMDItMTBUMjA6MTMiJyk7
CitzaG91bGRCZSgnc3RlcFVwKCIyMDEwLTAyLTEwVDIwOjEzIiwgbnVsbCwgbnVsbCwgbnVsbCkn
LCAnIjIwMTAtMDItMTBUMjA6MTMiJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjIwMTAtMDItMTBU
MjA6MTMiLCBudWxsLCBudWxsLCBudWxsKScsICciMjAxMC0wMi0xMFQyMDoxMyInKTsKK2RlYnVn
KCdOb3JtYWwgY2FzZXMnKTsKK3Nob3VsZEJlKCdzdGVwVXAoIjIwMTAtMDItMTBUMjA6MTMiLCBu
dWxsLCBudWxsKScsICciMjAxMC0wMi0xMFQyMDoxNCInKTsKK3Nob3VsZEJlKCdzdGVwRG93bigi
MjAxMC0wMi0xMFQyMDoxMyIsIG51bGwsIG51bGwpJywgJyIyMDEwLTAyLTEwVDIwOjEyIicpOwor
c2hvdWxkQmUoJ3N0ZXBVcCgiMjAxMC0wMi0xMFQyMDoxMyIsIG51bGwsIG51bGwsIDEwKScsICci
MjAxMC0wMi0xMFQyMDoyMyInKTsKK3Nob3VsZEJlKCdzdGVwRG93bigiMjAxMC0wMi0xMFQyMDox
MyIsIG51bGwsIG51bGwsIDExKScsICciMjAxMC0wMi0xMFQyMDowMiInKTsKK3Nob3VsZEJlKCdz
dGVwVXAoIjE5NzAtMDEtMDFUMjA6MTMiLCAiNCIsIG51bGwsIDIpJywgJyIxOTcwLTAxLTAxVDIw
OjEzOjA4IicpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIxOTcwLTAxLTAxVDIwOjEzIiwgIjQiLCBu
dWxsLCAzKScsICciMTk3MC0wMS0wMVQyMDoxMjo0OCInKTsKK2RlYnVnKCdTdGVwPWFueScpOwor
c2hvdWxkQmUoJ3N0ZXBVcCgiMjAxMC0wMi0xMFQyMDoxMyIsICJhbnkiLCBudWxsKScsICciMjAx
MC0wMi0xMFQyMDoxMyInKTsKK3Nob3VsZEJlKCdzdGVwRG93bigiMjAxMC0wMi0xMFQyMDoxMyIs
ICJhbnkiLCBudWxsKScsICciMjAxMC0wMi0xMFQyMDoxMyInKTsKK2RlYnVnKCdPdmVyZmxvdy91
bmRlcmZsb3cnKTsKK3Nob3VsZEJlKCdzdGVwVXAoIjIwMTAtMDItMTBUMjA6MTMiLCAiMy40MDI4
MjM0NmUrMzgiLCBudWxsKScsICciMTk3MC0wMS0wMVQwMDowMDowMC4wMDAiJyk7CitzaG91bGRC
ZSgnc3RlcERvd24oIjIwMTAtMDItMTBUMjA6MTMiLCAiMy40MDI4MjM0NmUrMzgiLCBudWxsKScs
ICciMjc1NzYwLTA5LTEzVDAwOjAwOjAwLjAwMCInKTsKK3Nob3VsZEJlKCdzdGVwVXAoIjIwMTAt
MDItMTBUMjA6MTMiLCAiMSIsICIyMDEwLTAyLTEwVDIwOjEzIiknLCAnIjIwMTAtMDItMTBUMjA6
MTMiJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjIwMTAtMDItMTBUMjA6MTMiLCAiMSIsICIyMDEw
LTAyLTEwVDIwOjEzIiknLCAnIjIwMTAtMDItMTBUMjA6MTMiJyk7CisKK2RlYnVnKCcnKTsKK2Rl
YnVnKCdNb250aCB0eXBlJyk7CitpbnB1dC50eXBlID0gJ21vbnRoJzsKK2RlYnVnKCdOb24tbnVt
YmVyIGFyZ3VtZW50cycpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMjAxMC0wMiIsIG51bGwsIG51bGws
ICIwIiknLCAnIjIwMTAtMDIiJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjIwMTAtMDIiLCBudWxs
LCBudWxsLCAiMCIpJywgJyIyMDEwLTAyIicpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMjAxMC0wMiIs
IG51bGwsIG51bGwsICJmb28iKScsICciMjAxMC0wMiInKTsKK3Nob3VsZEJlKCdzdGVwRG93bigi
MjAxMC0wMiIsIG51bGwsIG51bGwsICJmb28iKScsICciMjAxMC0wMiInKTsKK3Nob3VsZEJlKCdz
dGVwVXAoIjIwMTAtMDIiLCBudWxsLCBudWxsLCBudWxsKScsICciMjAxMC0wMiInKTsKK3Nob3Vs
ZEJlKCdzdGVwRG93bigiMjAxMC0wMiIsIG51bGwsIG51bGwsIG51bGwpJywgJyIyMDEwLTAyIicp
OworZGVidWcoJ05vcm1hbCBjYXNlcycpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMjAxMC0wMiIsIG51
bGwsIG51bGwpJywgJyIyMDEwLTAzIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIyMDEwLTAyIiwg
bnVsbCwgbnVsbCknLCAnIjIwMTAtMDEiJyk7CitzaG91bGRCZSgnc3RlcFVwKCIyMDEwLTAyIiwg
bnVsbCwgbnVsbCwgMTApJywgJyIyMDEwLTEyIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIyMDEw
LTAyIiwgbnVsbCwgbnVsbCwgMTEpJywgJyIyMDA5LTAzIicpOworc2hvdWxkQmUoJ3N0ZXBVcCgi
MTk3MC0wMSIsICI0IiwgbnVsbCwgMiknLCAnIjE5NzAtMDkiJyk7CitzaG91bGRCZSgnc3RlcERv
d24oIjE5NzAtMDEiLCAiNCIsIG51bGwsIDMpJywgJyIxOTY5LTAxIicpOworZGVidWcoJ1N0ZXA9
YW55Jyk7CitzaG91bGRCZSgnc3RlcFVwKCIyMDEwLTAyIiwgImFueSIsIG51bGwpJywgJyIyMDEw
LTAyIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIyMDEwLTAyIiwgImFueSIsIG51bGwpJywgJyIy
MDEwLTAyIicpOworZGVidWcoJ092ZXJmbG93L3VuZGVyZmxvdycpOworc2hvdWxkQmUoJ3N0ZXBV
cCgiMjAxMC0wMiIsICIzLjQwMjgyMzQ2ZSszOCIsIG51bGwpJywgJyIxOTcwLTAxIicpOworc2hv
dWxkQmUoJ3N0ZXBEb3duKCIyMDEwLTAyIiwgIjMuNDAyODIzNDZlKzM4IiwgbnVsbCknLCAnIjI3
NTc2MC0wOSInKTsKK3Nob3VsZEJlKCdzdGVwVXAoIjIwMTAtMDIiLCAiMSIsICIyMDEwLTAyIikn
LCAnIjIwMTAtMDIiJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjIwMTAtMDIiLCAiMSIsICIyMDEw
LTAyIiknLCAnIjIwMTAtMDIiJyk7CisKK2RlYnVnKCcnKTsKK2RlYnVnKCdOdW1iZXIgdHlwZScp
OworaW5wdXQudHlwZSA9ICdudW1iZXInOworZGVidWcoJ0ludmFsaWQgdmFsdWUnKTsKK3Nob3Vs
ZEJlKCdzdGVwVXAoIiIsIG51bGwsIG51bGwpJywgJyIxIicpOworc2hvdWxkQmUoJ3N0ZXBEb3du
KCIiLCBudWxsLCBudWxsKScsICciLTEiJyk7CitkZWJ1ZygnTm9uLW51bWJlciBhcmd1bWVudHMn
KTsKK3Nob3VsZEJlKCdzdGVwVXAoIjAiLCBudWxsLCBudWxsLCAiMCIpJywgJyIwIicpOworc2hv
dWxkQmUoJ3N0ZXBEb3duKCIwIiwgbnVsbCwgbnVsbCwgIjAiKScsICciMCInKTsKK3Nob3VsZEJl
KCdzdGVwVXAoIjAiLCBudWxsLCBudWxsLCAiZm9vIiknLCAnIjAiJyk7CitzaG91bGRCZSgnc3Rl
cERvd24oIjAiLCBudWxsLCBudWxsLCAiZm9vIiknLCAnIjAiJyk7CitzaG91bGRCZSgnc3RlcFVw
KCIwIiwgbnVsbCwgbnVsbCwgbnVsbCknLCAnIjAiJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjAi
LCBudWxsLCBudWxsLCBudWxsKScsICciMCInKTsKK2RlYnVnKCdOb3JtYWwgY2FzZXMnKTsKK3No
b3VsZEJlKCdzdGVwVXAoIjAiLCBudWxsLCBudWxsKScsICciMSInKTsKK3Nob3VsZEJlKCdzdGVw
VXAoIjEiLCBudWxsLCBudWxsLCAyKScsICciMyInKTsKK3Nob3VsZEJlKCdzdGVwVXAoIjMiLCBu
dWxsLCBudWxsLCAtMSknLCAnIjIiJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjIiLCBudWxsLCBu
dWxsKScsICciMSInKTsKK3Nob3VsZEJlKCdzdGVwRG93bigiMSIsIG51bGwsIG51bGwsIDIpJywg
JyItMSInKTsKK3Nob3VsZEJlKCdzdGVwRG93bigiLTEiLCBudWxsLCBudWxsLCAtMSknLCAnIjAi
Jyk7CitkZWJ1ZygnRXh0cmEgYXJndW1lbnRzJyk7CitzaG91bGRCZSgnaW5wdXQudmFsdWUgPSAi
MCI7IGlucHV0Lm1pbiA9IG51bGw7IGlucHV0LnN0ZXAgPSBudWxsOyBpbnB1dC5zdGVwVXAoMSwg
Mik7IGlucHV0LnZhbHVlJywgJyIxIicpOworc2hvdWxkQmUoJ2lucHV0LnZhbHVlID0gIjEiOyBp
bnB1dC5zdGVwRG93bigxLCAzKTsgaW5wdXQudmFsdWUnLCAnIjAiJyk7CitkZWJ1ZygnSW52YWxp
ZCBzdGVwIHZhbHVlJyk7CitzaG91bGRCZSgnc3RlcFVwKCIwIiwgImZvbyIsIG51bGwpJywgJyIx
IicpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMSIsICIwIiwgbnVsbCknLCAnIjIiJyk7CitzaG91bGRC
ZSgnc3RlcFVwKCIyIiwgIi0xIiwgbnVsbCknLCAnIjMiJyk7CitkZWJ1ZygnU3RlcD1hbnknKTsK
K3Nob3VsZEJlKCdzdGVwVXAoIjAiLCAiYW55IiwgbnVsbCknLCAnIjAiJyk7CitzaG91bGRCZSgn
c3RlcERvd24oIjAiLCAiYW55IiwgbnVsbCknLCAnIjAiJyk7CitkZWJ1ZygnT3ZlcmZsb3cvdW5k
ZXJmbG93Jyk7CitzaG91bGRCZSgnc3RlcERvd24oIjEiLCAiMSIsICIwIiknLCAnIjAiJyk7Citz
aG91bGRCZSgnc3RlcERvd24oIjAiLCAiMSIsICIwIiknLCAnIjAiJyk7CitzaG91bGRCZSgnc3Rl
cERvd24oIjEiLCAiMSIsICIwIiwgMiknLCAnIjAiJyk7CitzaG91bGRCZSgnaW5wdXQudmFsdWUn
LCAnIjAiJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjEiLCAiMy40MDI4MjM0NmUrMzgiLCAiIiwg
MiknLCAnIi0zLjQwMjgyMzQ2ZSszOCInKTsKK3Nob3VsZEJlKCdzdGVwVXAoIi0xIiwgIjEiLCAi
MCIpJywgJyIwIicpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMCIsICIxIiwgIjAiKScsICciMCInKTsK
K3Nob3VsZEJlKCdzdGVwVXAoIi0xIiwgIjEiLCAiMCIsIDIpJywgJyIwIicpOworc2hvdWxkQmUo
J2lucHV0LnZhbHVlJywgJyIwIicpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMSIsICIzLjQwMjgyMzQ2
ZSszOCIsICIiLCAyKScsICciMy40MDI4MjM0NmUrMzgiJyk7CitkZWJ1Zygnc3RlcERvd24oKS9z
dGVwVXAoKSBmb3Igc3RlcE1pc21hdGNoIHZhbHVlcycpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMSIs
ICIyIiwgIiIpJywgJyIyIicpOworc2hvdWxkQmUoJ2lucHV0LnN0ZXBEb3duKCk7IGlucHV0LnZh
bHVlJywgJyIwIicpOworc2hvdWxkQmUoJ2lucHV0Lm1pbiA9ICIwIjsgc3RlcFVwKCI5IiwgIjEw
IiwgIiIsIDkpJywgJyI5MCInKTsKK3Nob3VsZEJlKCdzdGVwRG93bigiMTkiLCAiMTAiLCAiMCIp
JywgJyIxMCInKTsKK3Nob3VsZEJlKCdzdGVwVXAoIjg5IiwgIjEwIiwgIjk5IiknLCAnIjkwIicp
OworZGVidWcoJ0h1Z2UgdmFsdWUgYW5kIHNtYWxsIHN0ZXAnKTsKK3Nob3VsZEJlKCdpbnB1dC5t
aW4gPSAiIjsgc3RlcFVwKCIxZSszOCIsICIxIiwgIiIsIDk5OSknLCAnIjFlKzM4IicpOworc2hv
dWxkQmUoJ2lucHV0Lm1heCA9ICIiOyBzdGVwRG93bigiMWUrMzgiLCAiMSIsICIiLCA5OTkpJywg
JyIxZSszOCInKTsKK2RlYnVnKCdGcmFjdGlvbmFsIG51bWJlcnMnKTsKK3Nob3VsZEJlKCdpbnB1
dC5taW4gPSAiIjsgc3RlcFVwKCIwIiwgIjAuMzMzMzMzMzMzMzMzMzMzMzMiLCAiIiwgMyknLCAn
IjEiJyk7CitzaG91bGRCZSgnc3RlcFVwKCIxIiwgIjAuMSIsICIiLCAxMCknLCAnIjIiJyk7Citz
aG91bGRCZSgnaW5wdXQuc3RlcFVwKCk7IGlucHV0LnN0ZXBVcCgpOyBpbnB1dC5zdGVwVXAoKTsg
aW5wdXQuc3RlcFVwKCk7IGlucHV0LnN0ZXBVcCgpOyBpbnB1dC5zdGVwVXAoKTsgaW5wdXQuc3Rl
cFVwKCk7IGlucHV0LnN0ZXBVcCgpOyBpbnB1dC5zdGVwVXAoKTsgaW5wdXQuc3RlcFVwKCk7IGlu
cHV0LnZhbHVlJywgJyIzIicpOworc2hvdWxkQmUoJ2lucHV0Lm1pbiA9ICIwIjsgc3RlcFVwKCIw
IiwgIjAuMDAzOTIxNTY4NjI3NDUwOTgwIiwgIjEiLCAyNTUpJywgJyIxIicpOworc2hvdWxkQmUo
J2ZvciAodmFyIGkgPSAwOyBpIDwgMjU1OyBpKyspIHsgaW5wdXQuc3RlcERvd24oKTsgfTsgaW5w
dXQudmFsdWUnLCAnIjAiJyk7CitkZWJ1ZygnUm91bmRpbmcnKTsKK3Nob3VsZEJlKCdzdGVwVXAo
IjUuMDA1IiwgIjAuMDA1IiwgIiIsIDIpJywgJyI1LjAxNSInKTsKK3Nob3VsZEJlKCdzdGVwVXAo
IjUuMDA1IiwgIjAuMDA1IiwgIiIsIDExKScsICciNS4wNiInKTsKK3Nob3VsZEJlKCdzdGVwVXAo
IjUuMDA1IiwgIjAuMDA1IiwgIiIsIDEyKScsICciNS4wNjUiJyk7CitzaG91bGRCZSgnc3RlcFVw
RXhwbGljaXRCb3VuZHMoIjQiLCAiOSIsICIwLjAwNSIsICI1LjAwNSIsIDIpJywgJyI1LjAxNSIn
KTsKK3Nob3VsZEJlKCdzdGVwVXBFeHBsaWNpdEJvdW5kcygiNCIsICI5IiwgIjAuMDA1IiwgIjUu
MDA1IiwgMTEpJywgJyI1LjA2IicpOworc2hvdWxkQmUoJ3N0ZXBVcEV4cGxpY2l0Qm91bmRzKCI0
IiwgIjkiLCAiMC4wMDUiLCAiNS4wMDUiLCAxMiknLCAnIjUuMDY1IicpOworCitkZWJ1ZygnJyk7
CitkZWJ1ZygnUmFuZ2UgdHlwZScpOworaW5wdXQudHlwZSA9ICdyYW5nZSc7CitkZWJ1ZygnZnVu
Y3Rpb24gYXJndW1lbnRzIGFyZSAobWluLCBtYXgsIHN0ZXAsIHZhbHVlLCBbc3RlcENvdW50XSkn
KTsKK2RlYnVnKCdVc2luZyB0aGUgZGVmYXVsdCB2YWx1ZXMnKTsKK3Nob3VsZEJlKCdzdGVwVXBF
eHBsaWNpdEJvdW5kcyhudWxsLCBudWxsLCBudWxsLCAiIiknLCAnIjUxIicpOworc2hvdWxkQmUo
J3N0ZXBEb3duRXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwgbnVsbCwgIiIpJywgJyI0OSInKTsK
K2RlYnVnKCdOb24tbnVtYmVyIGFyZ3VtZW50cyAoc3RlcENvdW50KScpOworc2hvdWxkQmUoJ3N0
ZXBVcEV4cGxpY2l0Qm91bmRzKG51bGwsIG51bGwsIG51bGwsICIwIiwgIjAiKScsICciMCInKTsK
K3Nob3VsZEJlKCdzdGVwRG93bkV4cGxpY2l0Qm91bmRzKG51bGwsIG51bGwsIG51bGwsICIwIiwg
IjAiKScsICciMCInKTsKK3Nob3VsZEJlKCdzdGVwVXBFeHBsaWNpdEJvdW5kcyhudWxsLCBudWxs
LCBudWxsLCAiMCIsICJmb28iKScsICciMCInKTsKK3Nob3VsZEJlKCdzdGVwRG93bkV4cGxpY2l0
Qm91bmRzKG51bGwsIG51bGwsIG51bGwsICIwIiwgImZvbyIpJywgJyIwIicpOworc2hvdWxkQmUo
J3N0ZXBVcEV4cGxpY2l0Qm91bmRzKG51bGwsIG51bGwsIG51bGwsICIwIiwgbnVsbCknLCAnIjAi
Jyk7CitzaG91bGRCZSgnc3RlcERvd25FeHBsaWNpdEJvdW5kcyhudWxsLCBudWxsLCBudWxsLCAi
MCIsIG51bGwpJywgJyIwIicpOworZGVidWcoJ05vcm1hbCBjYXNlcycpOworc2hvdWxkQmUoJ3N0
ZXBVcEV4cGxpY2l0Qm91bmRzKG51bGwsIG51bGwsIG51bGwsICIwIiknLCAnIjEiJyk7CitzaG91
bGRCZSgnc3RlcFVwRXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwgbnVsbCwgIjEiLCAyKScsICci
MyInKTsKK3Nob3VsZEJlKCdzdGVwVXBFeHBsaWNpdEJvdW5kcyhudWxsLCBudWxsLCBudWxsLCAi
MyIsIC0xKScsICciMiInKTsKK3Nob3VsZEJlKCdzdGVwRG93bkV4cGxpY2l0Qm91bmRzKCItMTAw
IiwgbnVsbCwgbnVsbCwgIjIiKScsICciMSInKTsKK3Nob3VsZEJlKCdzdGVwRG93bkV4cGxpY2l0
Qm91bmRzKCItMTAwIiwgbnVsbCwgbnVsbCwgIjEiLCAyKScsICciLTEiJyk7CitzaG91bGRCZSgn
c3RlcERvd25FeHBsaWNpdEJvdW5kcygiLTEwMCIsIG51bGwsIG51bGwsICItMSIsIC0xKScsICci
MCInKTsKK2RlYnVnKCdFeHRyYSBhcmd1bWVudHMnKTsKK3Nob3VsZEJlKCdzZXRJbnB1dEF0dHJp
YnV0ZXMobnVsbCwgbnVsbCwgbnVsbCwgIjAiKTsgaW5wdXQuc3RlcFVwKDEsMik7IGlucHV0LnZh
bHVlJywgJyIxIicpOworc2hvdWxkQmUoJ3NldElucHV0QXR0cmlidXRlcyhudWxsLCBudWxsLCBu
dWxsLCAiMSIpOyBpbnB1dC5zdGVwRG93bigxLDMpOyBpbnB1dC52YWx1ZScsICciMCInKTsKK2Rl
YnVnKCdJbnZhbGlkIHN0ZXAgdmFsdWUnKTsKK3Nob3VsZEJlKCdzdGVwVXBFeHBsaWNpdEJvdW5k
cyhudWxsLCBudWxsLCAiZm9vIiwgIjAiKScsICciMSInKTsKK3Nob3VsZEJlKCdzdGVwVXBFeHBs
aWNpdEJvdW5kcyhudWxsLCBudWxsLCAiMCIsICIxIiknLCAnIjIiJyk7CitzaG91bGRCZSgnc3Rl
cFVwRXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwgIi0xIiwgIjIiKScsICciMyInKTsKK3Nob3Vs
ZEJlKCdzdGVwRG93bkV4cGxpY2l0Qm91bmRzKG51bGwsIG51bGwsICJmb28iLCAiMSIpJywgJyIw
IicpOworc2hvdWxkQmUoJ3N0ZXBEb3duRXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwgIjAiLCAi
MiIpJywgJyIxIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duRXhwbGljaXRCb3VuZHMobnVsbCwgbnVs
bCwgIi0xIiwgIjMiKScsICciMiInKTsKK2RlYnVnKCdTdGVwPWFueScpOworc2hvdWxkQmUoJ3N0
ZXBVcEV4cGxpY2l0Qm91bmRzKG51bGwsIG51bGwsICJhbnkiLCAiMSIpJywgJyIyIicpOworc2hv
dWxkQmUoJ3N0ZXBEb3duRXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwgImFueSIsICIxIiknLCAn
IjAiJyk7CitkZWJ1ZygnT3ZlcmZsb3cvdW5kZXJmbG93Jyk7CitzaG91bGRCZSgnc3RlcFVwRXhw
bGljaXRCb3VuZHMobnVsbCwgIjEwMCIsICIxIiwgIjk5IiknLCAnIjEwMCInKTsKK3Nob3VsZEJl
KCdzdGVwVXBFeHBsaWNpdEJvdW5kcyhudWxsLCAiMTAwIiwgIjEiLCAiMTAwIiknLCAnIjEwMCIn
KTsKK3Nob3VsZEJlKCdpbnB1dC52YWx1ZScsICciMTAwIicpOworc2hvdWxkQmUoJ3N0ZXBVcEV4
cGxpY2l0Qm91bmRzKG51bGwsICIxMDAiLCAiMSIsICI5OSIsICIyIiknLCAnIjEwMCInKTsKK3No
b3VsZEJlKCdpbnB1dC52YWx1ZScsICciMTAwIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duRXhwbGlj
aXRCb3VuZHMoIjAiLCBudWxsLCAiMSIsICIxIiknLCAnIjAiJyk7CitzaG91bGRCZSgnc3RlcERv
d25FeHBsaWNpdEJvdW5kcygiMCIsIG51bGwsICIxIiwgIjAiKScsICciMCInKTsKK3Nob3VsZEJl
KCdpbnB1dC52YWx1ZScsICciMCInKTsKK3Nob3VsZEJlKCdzdGVwRG93bkV4cGxpY2l0Qm91bmRz
KCIwIiwgbnVsbCwgIjEiLCAiMSIsICIyIiknLCAnIjAiJyk7CitzaG91bGRCZSgnaW5wdXQudmFs
dWUnLCAnIjAiJyk7CitzaG91bGRCZSgnc3RlcERvd25FeHBsaWNpdEJvdW5kcyhudWxsLCBudWxs
LCAiMy40MDI4MjM0NmUrMzgiLCAiMSIsICIyIiknLCAnIjAiJyk7CitzaG91bGRCZSgnc3RlcFVw
RXhwbGljaXRCb3VuZHMoLTEwMCwgMCwgMSwgLTEpJywgJyIwIicpOworc2hvdWxkQmUoJ3N0ZXBV
cEV4cGxpY2l0Qm91bmRzKG51bGwsIDAsIDEsIDApJywgJyIwIicpOworc2hvdWxkQmUoJ3N0ZXBV
cEV4cGxpY2l0Qm91bmRzKC0xMDAsIDAsIDEsIC0xLCAyKScsICciMCInKTsKK3Nob3VsZEJlKCdp
bnB1dC52YWx1ZScsICciMCInKTsKK3Nob3VsZEJlKCdzdGVwVXBFeHBsaWNpdEJvdW5kcyhudWxs
LCBudWxsLCAiMy40MDI4MjM0NmUrMzgiLCAiMSIsICIyIiknLCAnIjAiJyk7CitkZWJ1Zygnc3Rl
cERvd24oKS9zdGVwVXAoKSBmb3Igc3RlcE1pc21hdGNoIHZhbHVlcycpOworc2hvdWxkQmUoJ3N0
ZXBVcEV4cGxpY2l0Qm91bmRzKG51bGwsIG51bGwsIDIsIDEpJywgJyI0IicpOworc2hvdWxkQmUo
J2lucHV0LnN0ZXBEb3duKCk7IGlucHV0LnZhbHVlJywgJyIyIicpOworc2hvdWxkQmUoJ3N0ZXBV
cEV4cGxpY2l0Qm91bmRzKDAsIG51bGwsIDEwLCA5LCA5KScsICciMTAwIicpOworc2hvdWxkQmUo
J3N0ZXBEb3duRXhwbGljaXRCb3VuZHMoMCwgbnVsbCwgMTAsIDE5KScsICciMTAiJyk7CitkZWJ1
ZygndmFsdWUgKyBzdGVwIGlzIDw9IG1heCwgYnV0IHJvdW5kZWQgcmVzdWx0IHdvdWxkIGJlID4g
bWF4LicpOworc2hvdWxkQmUoJ3N0ZXBVcEV4cGxpY2l0Qm91bmRzKG51bGwsIDk5LCAxMCwgODkp
JywgJyI5MCInKTsKK2RlYnVnKCdIdWdlIHZhbHVlIGFuZCBzbWFsbCBzdGVwJyk7CitzaG91bGRC
ZSgnc3RlcFVwRXhwbGljaXRCb3VuZHMoMCwgMWUzOCwgMSwgMWUzOCwgOTk5KScsICciMWUrMzgi
Jyk7CitzaG91bGRCZSgnc3RlcERvd25FeHBsaWNpdEJvdW5kcygwLCAxZTM4LCAxLCAxZTM4LCA5
OTkpJywgJyIxZSszOCInKTsKK2RlYnVnKCdGcmFjdGlvbmFsIG51bWJlcnMnKTsKK3Nob3VsZEJl
KCdzdGVwVXBFeHBsaWNpdEJvdW5kcyhudWxsLCBudWxsLCAwLjMzMzMzMzMzMzMzMzMzMzMzLCAw
LCAzKScsICciMSInKTsKK3Nob3VsZEJlKCdzdGVwVXBFeHBsaWNpdEJvdW5kcyhudWxsLCBudWxs
LCAwLjEsIDEpJywgJyIxLjEiJyk7CitzaG91bGRCZSgnc3RlcFVwRXhwbGljaXRCb3VuZHMobnVs
bCwgbnVsbCwgMC4xLCAxLCA4KScsICciMS44IicpOworc2hvdWxkQmUoJ3N0ZXBVcEV4cGxpY2l0
Qm91bmRzKG51bGwsIG51bGwsIDAuMSwgMSwgMTApJywgJyIyIicpOworc2hvdWxkQmUoJ2lucHV0
LnN0ZXBVcCgpOyBpbnB1dC5zdGVwVXAoKTsgaW5wdXQuc3RlcFVwKCk7IGlucHV0LnN0ZXBVcCgp
OyBpbnB1dC5zdGVwVXAoKTsgaW5wdXQuc3RlcFVwKCk7IGlucHV0LnN0ZXBVcCgpOyBpbnB1dC5z
dGVwVXAoKTsgaW5wdXQuc3RlcFVwKCk7IGlucHV0LnN0ZXBVcCgpOyBpbnB1dC52YWx1ZScsICci
MyInKTsKK3Nob3VsZEJlKCdzdGVwVXBFeHBsaWNpdEJvdW5kcygwLCAxLCAwLjAwMzkyMTU2ODYy
NzQ1MDk4MCwgMCwgMjU1KScsICciMSInKTsKK3Nob3VsZEJlKCdmb3IgKHZhciBpID0gMDsgaSA8
IDI1NTsgaSsrKSB7IGlucHV0LnN0ZXBEb3duKCk7IH07IGlucHV0LnZhbHVlJywgJyIwIicpOwor
c2hvdWxkQmUoJ3N0ZXBEb3duRXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwgMC4xLCAxLCA4KScs
ICciMC4yIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duRXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwg
MC4xLCAxKScsICciMC45IicpOworCitkZWJ1ZygnJyk7CitkZWJ1ZygnVGltZSB0eXBlJyk7Citp
bnB1dC50eXBlID0gJ3RpbWUnOworZGVidWcoJ05vbi1udW1iZXIgYXJndW1lbnRzJyk7CitzaG91
bGRCZSgnc3RlcFVwKCIyMDoxMyIsIG51bGwsIG51bGwsICIwIiknLCAnIjIwOjEzIicpOworc2hv
dWxkQmUoJ3N0ZXBEb3duKCIyMDoxMyIsIG51bGwsIG51bGwsICIwIiknLCAnIjIwOjEzIicpOwor
c2hvdWxkQmUoJ3N0ZXBVcCgiMjA6MTMiLCBudWxsLCBudWxsLCAiZm9vIiknLCAnIjIwOjEzIicp
Oworc2hvdWxkQmUoJ3N0ZXBEb3duKCIyMDoxMyIsIG51bGwsIG51bGwsICJmb28iKScsICciMjA6
MTMiJyk7CitzaG91bGRCZSgnc3RlcFVwKCIyMDoxMyIsIG51bGwsIG51bGwsIG51bGwpJywgJyIy
MDoxMyInKTsKK3Nob3VsZEJlKCdzdGVwRG93bigiMjA6MTMiLCBudWxsLCBudWxsLCBudWxsKScs
ICciMjA6MTMiJyk7CitkZWJ1ZygnTm9ybWFsIGNhc2VzJyk7CitzaG91bGRCZSgnc3RlcFVwKCIy
MDoxMyIsIG51bGwsIG51bGwpJywgJyIyMDoxNCInKTsKK3Nob3VsZEJlKCdzdGVwRG93bigiMjA6
MTMiLCBudWxsLCBudWxsKScsICciMjA6MTIiJyk7CitzaG91bGRCZSgnc3RlcFVwKCIyMDoxMyIs
IG51bGwsIG51bGwsIDEwKScsICciMjA6MjMiJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjIwOjEz
IiwgbnVsbCwgbnVsbCwgMTEpJywgJyIyMDowMiInKTsKK3Nob3VsZEJlKCdzdGVwVXAoIjIwOjEz
IiwgIjQiLCBudWxsLCAyKScsICciMjA6MTM6MDgiJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjIw
OjEzIiwgIjQiLCBudWxsLCAzKScsICciMjA6MTI6NDgiJyk7CitkZWJ1ZygnU3RlcD1hbnknKTsK
K3Nob3VsZEJlKCdzdGVwVXAoIjIwOjEzIiwgImFueSIsIG51bGwpJywgJyIyMDoxMyInKTsKK3No
b3VsZEJlKCdzdGVwRG93bigiMjA6MTMiLCAiYW55IiwgbnVsbCknLCAnIjIwOjEzIicpOworZGVi
dWcoJ092ZXJmbG93L3VuZGVyZmxvdycpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMjA6MTMiLCAiMy40
MDI4MjM0NmUrMzgiLCBudWxsKScsICciMDA6MDA6MDAuMDAwIicpOworc2hvdWxkQmUoJ3N0ZXBE
b3duKCIyMDoxMyIsICIzLjQwMjgyMzQ2ZSszOCIsIG51bGwpJywgJyIyMzo1OTo1OS45OTkiJyk7
CitzaG91bGRCZSgnc3RlcFVwKCIyMDoxMyIsICIxIiwgIjIwOjEzIiknLCAnIjIwOjEzIicpOwor
c2hvdWxkQmUoJ3N0ZXBEb3duKCIyMDoxMyIsICIxIiwgIjIwOjEzIiknLCAnIjIwOjEzIicpOwor
c2hvdWxkQmUoJ3N0ZXBVcCgiMjM6NTkiLCBudWxsLCBudWxsKScsICciMjM6NTkiJyk7CitzaG91
bGRCZSgnc3RlcERvd24oIjAwOjAwIiwgbnVsbCwgbnVsbCknLCAnIjAwOjAwIicpOworCitkZWJ1
ZygnJyk7CitkZWJ1ZygnV2VlayB0eXBlJyk7CitpbnB1dC50eXBlID0gJ3dlZWsnOworZGVidWco
J05vbi1udW1iZXIgYXJndW1lbnRzJyk7CitzaG91bGRCZSgnc3RlcFVwKCIyMDEwLVcwMiIsIG51
bGwsIG51bGwsICIwIiknLCAnIjIwMTAtVzAyIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIyMDEw
LVcwMiIsIG51bGwsIG51bGwsICIwIiknLCAnIjIwMTAtVzAyIicpOworc2hvdWxkQmUoJ3N0ZXBV
cCgiMjAxMC1XMDIiLCBudWxsLCBudWxsLCAiZm9vIiknLCAnIjIwMTAtVzAyIicpOworc2hvdWxk
QmUoJ3N0ZXBEb3duKCIyMDEwLVcwMiIsIG51bGwsIG51bGwsICJmb28iKScsICciMjAxMC1XMDIi
Jyk7CitzaG91bGRCZSgnc3RlcFVwKCIyMDEwLVcwMiIsIG51bGwsIG51bGwsIG51bGwpJywgJyIy
MDEwLVcwMiInKTsKK3Nob3VsZEJlKCdzdGVwRG93bigiMjAxMC1XMDIiLCBudWxsLCBudWxsLCBu
dWxsKScsICciMjAxMC1XMDIiJyk7CitkZWJ1ZygnTm9ybWFsIGNhc2VzJyk7CitzaG91bGRCZSgn
c3RlcFVwKCIyMDEwLVcwMiIsIG51bGwsIG51bGwpJywgJyIyMDEwLVcwMyInKTsKK3Nob3VsZEJl
KCdzdGVwRG93bigiMjAxMC1XMDIiLCBudWxsLCBudWxsKScsICciMjAxMC1XMDEiJyk7CitzaG91
bGRCZSgnc3RlcFVwKCIyMDEwLVcwMiIsIG51bGwsIG51bGwsIDEwKScsICciMjAxMC1XMTIiJyk7
CitzaG91bGRCZSgnc3RlcERvd24oIjIwMTAtVzAyIiwgbnVsbCwgbnVsbCwgMTEpJywgJyIyMDA5
LVc0NCInKTsKK3Nob3VsZEJlKCdzdGVwVXAoIjE5NzAtVzAxIiwgIjQiLCBudWxsLCAyKScsICci
MTk3MC1XMDkiJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjE5NzAtVzAxIiwgIjQiLCBudWxsLCAz
KScsICciMTk2OS1XNDEiJyk7CitkZWJ1ZygnU3RlcD1hbnknKTsKK3Nob3VsZEJlKCdzdGVwVXAo
IjIwMTAtVzAyIiwgImFueSIsIG51bGwpJywgJyIyMDEwLVcwMiInKTsKK3Nob3VsZEJlKCdzdGVw
RG93bigiMjAxMC1XMDIiLCAiYW55IiwgbnVsbCknLCAnIjIwMTAtVzAyIicpOworZGVidWcoJ092
ZXJmbG93L3VuZGVyZmxvdycpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMjAxMC1XMDIiLCAiMy40MDI4
MjM0NmUrMzgiLCBudWxsKScsICciMTk3MC1XMDEiJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjIw
MTAtVzAyIiwgIjMuNDAyODIzNDZlKzM4IiwgbnVsbCknLCAnIjI3NTc2MC1XMzciJyk7CitzaG91
bGRCZSgnc3RlcFVwKCIyMDEwLVcwMiIsICIxIiwgIjIwMTAtVzAyIiknLCAnIjIwMTAtVzAyIicp
Oworc2hvdWxkQmUoJ3N0ZXBEb3duKCIyMDEwLVcwMiIsICIxIiwgIjIwMTAtVzAyIiknLCAnIjIw
MTAtVzAyIicpOworCitkZWJ1ZygnJyk7CitkZWJ1ZygnVW5zdXBwb3J0ZWQgdHlwZScpOworc2hv
dWxkVGhyb3coJ2lucHV0LnN0ZXAgPSAiMyI7IGlucHV0Lm1pbiA9ICIiOyBpbnB1dC5tYXggPSAi
IjsgaW5wdXQudmFsdWUgPSAiMiI7IGlucHV0LnN0ZXBEb3duKCknLCAnIkVycm9yOiBJTlZBTElE
X1NUQVRFX0VSUjogRE9NIEV4Y2VwdGlvbiAxMSInKTsKK3Nob3VsZFRocm93KCdpbnB1dC5zdGVw
RG93bigwKScsICciRXJyb3I6IElOVkFMSURfU1RBVEVfRVJSOiBET00gRXhjZXB0aW9uIDExIicp
Oworc2hvdWxkVGhyb3coJ2lucHV0LnN0ZXBVcCgpJywgJyJFcnJvcjogSU5WQUxJRF9TVEFURV9F
UlI6IERPTSBFeGNlcHRpb24gMTEiJyk7CitzaG91bGRUaHJvdygnaW5wdXQuc3RlcFVwKDApJywg
JyJFcnJvcjogSU5WQUxJRF9TVEFURV9FUlI6IERPTSBFeGNlcHRpb24gMTEiJyk7CisKK3ZhciBz
dWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cg
Yi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA1ZDFjM2MzNjE1NmUyN2VmMDUwZmQ1Mzk5YThjMWFk
MjdiMTI1YWE1Li44YjEyYzMxMTY0MDI1MjQ2YjUxNGFjOGJiYmM1MDNiMjdiZjkwNDIzIDEwMDY0
NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDM1IEBACisyMDEwLTExLTI0ICBEYWkgTWlrdXJ1YmUgIDxkbWlrdXJ1YmVAZ29vZ2xlLmNv
bT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICB3aGVu
IGVtcHR5LCBjbGlja2luZyAiZG93biIgb24gb3V0ZXItc3Bpbi1idXR0b24gcmV0dXJucyAibWF4
IHZhbHVlIgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NDU0OTEKKworICAgICAgICBUZXN0OiBmYXN0L2Zvcm1zL2lucHV0LXN0ZXB1cC1zdGVwZG93bi1m
cm9tLXJlbmRlcmVyLmh0bWwKKworICAgICAgICAqIGh0bWwvQmFzZURhdGVBbmRUaW1lSW5wdXRU
eXBlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkJhc2VEYXRlQW5kVGltZUlucHV0VHlwZTo6ZGVm
YXVsdFZhbHVlKTogQWRkZWQgZGVmYXVsdFZhbHVlKCkgd2hpY2ggcmV0dXJucyB0aGUgY3VycmVu
dCBsb2NhbCB0aW1lCisgICAgICAgICogaHRtbC9CYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGUuaDoK
KyAgICAgICAgKiBodG1sL0RhdGVUaW1lSW5wdXRUeXBlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkRhdGVUaW1lSW5wdXRUeXBlOjpkZWZhdWx0VmFsdWUpOiBBZGRlZCBkZWZhdWx0VmFsdWUoKSB3
aGljaCByZXR1cm5zIHRoZSBjdXJyZW50IFVUQyB0aW1lCisgICAgICAgICogaHRtbC9EYXRlVGlt
ZUlucHV0VHlwZS5oOgorICAgICAgICAqIGh0bWwvSFRNTElucHV0RWxlbWVudC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50OjpzdGVwVXBGcm9tUmVuZGVyZXIpOiBNb2Rp
ZmllZCBpdCB0byBjbGFtcCBzdGVwcywgc3VwcG9ydCBlbXB0eSB2YWx1ZXMgYW5kIHN1cHBvcnQg
cmFuZ2UgdHlwZSBpbnB1dHMKKyAgICAgICAgKiBodG1sL0hUTUxJbnB1dEVsZW1lbnQuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQ6OmlzUmFuZ2VDb250cm9sKToKKyAgICAg
ICAgKiBodG1sL0lucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnB1dFR5cGU6OmRl
ZmF1bHRWYWx1ZSk6IEFkZGVkIGRlZmF1bHRWYWx1ZSgpIHdoaWNoIHJldHVybnMgMAorICAgICAg
ICAqIGh0bWwvSW5wdXRUeXBlLmg6CisgICAgICAgICogaHRtbC9Nb250aElucHV0VHlwZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpNb250aElucHV0VHlwZTo6ZGVmYXVsdFZhbHVlKTogQWRkZWQg
ZGVmYXVsdFZhbHVlKCkgd2hpY2ggcmV0dXJucyB0aGUgY3VycmVudCBtb250aAorICAgICAgICAq
IGh0bWwvTW9udGhJbnB1dFR5cGUuaDoKKyAgICAgICAgKiBodG1sL1JhbmdlSW5wdXRUeXBlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlJhbmdlSW5wdXRUeXBlOjpoYW5kbGVLZXlkb3duRXZlbnQp
OiBBZGRlZCBjb21tZW50cyBhbmQgbW9kaWZpZWQgaXQgdG8gdXNlIHN0ZXBVcEZyb21SZW5kZXJl
cigpCisgICAgICAgICogaHRtbC9UaW1lSW5wdXRUeXBlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlRpbWVJbnB1dFR5cGU6OmRlZmF1bHRWYWx1ZSk6IEFkZGVkIGRlZmF1bHRWYWx1ZSB3aGljaCBy
ZXR1cm5zIHRoZSBjdXJyZW50IHRpbWUKKyAgICAgICAgKiBodG1sL1RpbWVJbnB1dFR5cGUuaDoK
KyAgICAgICAgKiBtYW51YWwtdGVzdHMvaW5wdXQtdHlwZS1kYXRldGltZS1kZWZhdWx0LXZhbHVl
Lmh0bWw6IEFkZGVkIG1hbnVhbCB0ZXN0cyBmb3IgZGVmYXVsdCB2YWx1ZXMgb2YgZGF0ZS90aW1l
IGlucHV0cworCiAyMDEwLTExLTE4ICBHYXZpbiBCYXJyYWNsb3VnaCAgPGJhcnJhY2xvdWdoQGFw
cGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBPbGl2ZXIgSHVudC4KZGlmZiAtLWdpdCBh
L1dlYkNvcmUvaHRtbC9CYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGUuY3BwIGIvV2ViQ29yZS9odG1s
L0Jhc2VEYXRlQW5kVGltZUlucHV0VHlwZS5jcHAKaW5kZXggZTc4MGVkNmJhMjRkMjBmYWZiZGI2
MjllMjgzNjk4NWYxYTVhOTBjYy4uMDkyMTMzZmM1ZjAzMzc0M2U3YjZjMTc2YjkzYmViN2EzMzBi
ODc0ZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0Jhc2VEYXRlQW5kVGltZUlucHV0VHlwZS5j
cHAKKysrIGIvV2ViQ29yZS9odG1sL0Jhc2VEYXRlQW5kVGltZUlucHV0VHlwZS5jcHAKQEAgLTM1
LDYgKzM1LDggQEAKICNpbmNsdWRlICJIVE1MSW5wdXRFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRN
TE5hbWVzLmgiCiAjaW5jbHVkZSA8bGltaXRzPgorI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5o
PgorI2luY2x1ZGUgPHd0Zi9EYXRlTWF0aC5oPgogI2luY2x1ZGUgPHd0Zi9NYXRoRXh0cmFzLmg+
CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJp
bmcuaD4KQEAgLTkxLDYgKzkzLDE1IEBAIGJvb2wgQmFzZURhdGVBbmRUaW1lSW5wdXRUeXBlOjpy
YW5nZU92ZXJmbG93KGNvbnN0IFN0cmluZyYgdmFsdWUpIGNvbnN0CiAgICAgcmV0dXJuIGlzZmlu
aXRlKGRvdWJsZVZhbHVlKSAmJiBkb3VibGVWYWx1ZSA+IG1heGltdW0oKTsKIH0KIAorZG91Ymxl
IEJhc2VEYXRlQW5kVGltZUlucHV0VHlwZTo6ZGVmYXVsdFZhbHVlKCkgY29uc3QKK3sKKyAgICBk
b3VibGUgbXMgPSBjdXJyZW50VGltZU1TKCk7CisgICAgZG91YmxlIHV0Y09mZnNldCA9IGNhbGN1
bGF0ZVVUQ09mZnNldCgpOworICAgIGRvdWJsZSBkc3RPZmZzZXQgPSBjYWxjdWxhdGVEU1RPZmZz
ZXQobXMsIHV0Y09mZnNldCk7CisgICAgaW50IG9mZnNldCA9IHN0YXRpY19jYXN0PGludD4oKHV0
Y09mZnNldCArIGRzdE9mZnNldCkgLyBtc1Blck1pbnV0ZSk7CisgICAgcmV0dXJuIG1zICsgKG9m
ZnNldCAqIG1zUGVyTWludXRlKTsKK30KKwogYm9vbCBCYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGU6
OnN0ZXBNaXNtYXRjaChjb25zdCBTdHJpbmcmIHZhbHVlLCBkb3VibGUgc3RlcCkgY29uc3QKIHsK
ICAgICBjb25zdCBkb3VibGUgbmFuID0gbnVtZXJpY19saW1pdHM8ZG91YmxlPjo6cXVpZXRfTmFO
KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvQmFzZURhdGVBbmRUaW1lSW5wdXRUeXBlLmgg
Yi9XZWJDb3JlL2h0bWwvQmFzZURhdGVBbmRUaW1lSW5wdXRUeXBlLmgKaW5kZXggMTFjNjBhZmNh
NjU4YzZiNzIyZmMwMjdkZGU1ODRjZDY3NTYwZDQ5YS4uNDJiOTBhMDhhNTE5YmQ2MjNhNjA3Yjg4
YjIwNTI2YTgwOTBjNWE1MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0Jhc2VEYXRlQW5kVGlt
ZUlucHV0VHlwZS5oCisrKyBiL1dlYkNvcmUvaHRtbC9CYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGUu
aApAQCAtNTUsNiArNTUsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgYm9vbCB0eXBlTWlzbWF0
Y2goKSBjb25zdDsKICAgICB2aXJ0dWFsIGJvb2wgcmFuZ2VVbmRlcmZsb3coY29uc3QgU3RyaW5n
JikgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIHJhbmdlT3ZlcmZsb3coY29uc3QgU3RyaW5nJikg
Y29uc3Q7CisgICAgdmlydHVhbCBkb3VibGUgZGVmYXVsdFZhbHVlKCkgY29uc3Q7CiAgICAgdmly
dHVhbCBib29sIHN0ZXBNaXNtYXRjaChjb25zdCBTdHJpbmcmLCBkb3VibGUpIGNvbnN0OwogICAg
IHZpcnR1YWwgZG91YmxlIHN0ZXBCYXNlKCkgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIGhhbmRs
ZUtleWRvd25FdmVudChLZXlib2FyZEV2ZW50Kik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwv
RGF0ZVRpbWVJbnB1dFR5cGUuY3BwIGIvV2ViQ29yZS9odG1sL0RhdGVUaW1lSW5wdXRUeXBlLmNw
cAppbmRleCBjNzhhNTQwNTZhMTVlMTAyOTZkZWU4MmQwNjNlNDYyMjljMDgzNmQ3Li4wYmEyYjJj
ZWFmZmNjMDJmZmZkOTBhMjk1NzEwODNlYmQ2MTY5NWZmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0
bWwvRGF0ZVRpbWVJbnB1dFR5cGUuY3BwCisrKyBiL1dlYkNvcmUvaHRtbC9EYXRlVGltZUlucHV0
VHlwZS5jcHAKQEAgLTUzLDYgKzUzLDExIEBAIGNvbnN0IEF0b21pY1N0cmluZyYgRGF0ZVRpbWVJ
bnB1dFR5cGU6OmZvcm1Db250cm9sVHlwZSgpIGNvbnN0CiAgICAgcmV0dXJuIElucHV0VHlwZU5h
bWVzOjpkYXRldGltZSgpOwogfQogCitkb3VibGUgRGF0ZVRpbWVJbnB1dFR5cGU6OmRlZmF1bHRW
YWx1ZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGN1cnJlbnRUaW1lTVMoKTsKK30KKwogZG91Ymxl
IERhdGVUaW1lSW5wdXRUeXBlOjptaW5pbXVtKCkgY29uc3QKIHsKICAgICByZXR1cm4gcGFyc2VU
b0RvdWJsZShlbGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUobWluQXR0ciksIERhdGVDb21wb25l
bnRzOjptaW5pbXVtRGF0ZVRpbWUoKSk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvRGF0ZVRp
bWVJbnB1dFR5cGUuaCBiL1dlYkNvcmUvaHRtbC9EYXRlVGltZUlucHV0VHlwZS5oCmluZGV4IDE0
MDk3NWIxOTUxODRhZTBiNmQ4ZjhlYTRkNTYzNDg1ZTE2MWFjM2YuLjI4YzFlYjAyYjg2YjczZDE5
ZjNmYWJjYmZjNDlmNDY3OTI1MGU0MGQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9EYXRlVGlt
ZUlucHV0VHlwZS5oCisrKyBiL1dlYkNvcmUvaHRtbC9EYXRlVGltZUlucHV0VHlwZS5oCkBAIC00
Miw2ICs0Miw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgRGF0ZVRpbWVJbnB1dFR5cGUoSFRN
TElucHV0RWxlbWVudCogZWxlbWVudCkgOiBCYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGUoZWxlbWVu
dCkgeyB9CiAgICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcmIGZvcm1Db250cm9sVHlwZSgp
IGNvbnN0OworICAgIHZpcnR1YWwgZG91YmxlIGRlZmF1bHRWYWx1ZSgpIGNvbnN0OwogICAgIHZp
cnR1YWwgZG91YmxlIG1pbmltdW0oKSBjb25zdDsKICAgICB2aXJ0dWFsIGRvdWJsZSBtYXhpbXVt
KCkgY29uc3Q7CiAgICAgdmlydHVhbCBkb3VibGUgZGVmYXVsdFN0ZXAoKSBjb25zdDsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcCBiL1dlYkNvcmUvaHRtbC9I
VE1MSW5wdXRFbGVtZW50LmNwcAppbmRleCBhZjRlN2QwNTQ4MjE3MTEwZTM5N2MzYmM0YTFmZWNm
Nzc2N2I1ODA5Li40ZTdjYjA4NDQyMzNhNjA3MGQ4YTk2MGMxNWZhNjhiMmJlZWNmYmRmIDEwMDY0
NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAKKysrIGIvV2ViQ29yZS9o
dG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCkBAIC0xODU5LDI3ICsxODU5LDYyIEBAIHZvaWQgSFRN
TElucHV0RWxlbWVudDo6c3RlcFVwRnJvbVJlbmRlcmVyKGludCBuKQogICAgIC8vICAtIFRoZSB2
YWx1ZSBzaG91bGQgYmUgdGhlIG1heGltdW0gdmFsdWUgaWYgbiA8IDAKICAgICAvLyAgLSBOb3Ro
aW5nIHNob3VsZCBoYXBwZW4gaWYgbiA+IDAKIAotICAgIEFTU0VSVChoYXNTcGluQnV0dG9uKCkp
OwotICAgIGlmICghaGFzU3BpbkJ1dHRvbigpKQorICAgIEFTU0VSVChoYXNTcGluQnV0dG9uKCkg
fHwgaXNSYW5nZUNvbnRyb2woKSk7CisgICAgaWYgKCFoYXNTcGluQnV0dG9uKCkgJiYgIWlzUmFu
Z2VDb250cm9sKCkpCiAgICAgICAgIHJldHVybjsKICAgICBBU1NFUlQobik7CiAgICAgaWYgKCFu
KQogICAgICAgICByZXR1cm47CiAKKyAgICB1bnNpZ25lZCBzdGVwRGVjaW1hbFBsYWNlcywgYmFz
ZURlY2ltYWxQbGFjZXM7CisgICAgZG91YmxlIHN0ZXAsIGJhc2U7CisgICAgaWYgKCFnZXRBbGxv
d2VkVmFsdWVTdGVwV2l0aERlY2ltYWxQbGFjZXMoJnN0ZXAsICZzdGVwRGVjaW1hbFBsYWNlcykp
CisgICAgICAgIHJldHVybjsKKyAgICBiYXNlID0gbV9pbnB1dFR5cGUtPnN0ZXBCYXNlV2l0aERl
Y2ltYWxQbGFjZXMoJmJhc2VEZWNpbWFsUGxhY2VzKTsKKyAgICBiYXNlRGVjaW1hbFBsYWNlcyA9
IG1pbihiYXNlRGVjaW1hbFBsYWNlcywgMTZ1KTsKKworICAgIGludCBzaWduID0gbiAqIChzdGVw
IDwgMCA/ICgtMSkgOiAoMSkpOworCiAgICAgY29uc3QgZG91YmxlIG5hbiA9IG51bWVyaWNfbGlt
aXRzPGRvdWJsZT46OnF1aWV0X05hTigpOwogICAgIFN0cmluZyBjdXJyZW50U3RyaW5nVmFsdWUg
PSB2YWx1ZSgpOwogICAgIGRvdWJsZSBjdXJyZW50ID0gbV9pbnB1dFR5cGUtPnBhcnNlVG9Eb3Vi
bGUoY3VycmVudFN0cmluZ1ZhbHVlLCBuYW4pOwotICAgIGlmICghaXNmaW5pdGUoY3VycmVudCkg
fHwgKG4gPiAwICYmIGN1cnJlbnQgPCBtX2lucHV0VHlwZS0+bWluaW11bSgpKSB8fCAobiA8IDAg
JiYgY3VycmVudCA+IG1faW5wdXRUeXBlLT5tYXhpbXVtKCkpKQotICAgICAgICBzZXRWYWx1ZSht
X2lucHV0VHlwZS0+c2VyaWFsaXplKG4gPiAwID8gbV9pbnB1dFR5cGUtPm1pbmltdW0oKSA6IG1f
aW5wdXRUeXBlLT5tYXhpbXVtKCkpKTsKKyAgICBpZiAoIWlzZmluaXRlKGN1cnJlbnQpKSB7Cisg
ICAgICAgIEV4Y2VwdGlvbkNvZGUgZWM7CisgICAgICAgIGN1cnJlbnQgPSBtX2lucHV0VHlwZS0+
ZGVmYXVsdFZhbHVlKCk7CisgICAgICAgIHNldFZhbHVlQXNOdW1iZXIoY3VycmVudCwgZWMpOwor
ICAgIH0KKyAgICBpZiAoKHNpZ24gPiAwICYmIGN1cnJlbnQgPCBtX2lucHV0VHlwZS0+bWluaW11
bSgpKSB8fCAoc2lnbiA8IDAgJiYgY3VycmVudCA+IG1faW5wdXRUeXBlLT5tYXhpbXVtKCkpKSB7
CisgICAgICAgIHNldFZhbHVlKG1faW5wdXRUeXBlLT5zZXJpYWxpemUoc2lnbiA+IDAgPyBtX2lu
cHV0VHlwZS0+bWluaW11bSgpIDogbV9pbnB1dFR5cGUtPm1heGltdW0oKSkpOworICAgIH0KICAg
ICBlbHNlIHsKICAgICAgICAgRXhjZXB0aW9uQ29kZSBlYzsKLSAgICAgICAgc3RlcFVwKG4sIGVj
KTsKKyAgICAgICAgaWYgKHN0ZXBNaXNtYXRjaChjdXJyZW50U3RyaW5nVmFsdWUpKSB7CisgICAg
ICAgICAgICBkb3VibGUgbmV3VmFsdWU7CisgICAgICAgICAgICBkb3VibGUgc2NhbGUgPSBwb3co
MTAuMCwgc3RhdGljX2Nhc3Q8ZG91YmxlPihtYXgoc3RlcERlY2ltYWxQbGFjZXMsIGJhc2VEZWNp
bWFsUGxhY2VzKSkpOworCisgICAgICAgICAgICBpZiAoc2lnbiA8IDApCisgICAgICAgICAgICAg
ICAgbmV3VmFsdWUgPSByb3VuZCgoYmFzZSArIGNlaWwoKGN1cnJlbnQgLSBiYXNlKSAvIHN0ZXAp
ICogc3RlcCkgKiBzY2FsZSkgLyBzY2FsZTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAg
ICAgICBuZXdWYWx1ZSA9IHJvdW5kKChiYXNlICsgZmxvb3IoKGN1cnJlbnQgLSBiYXNlKSAvIHN0
ZXApICogc3RlcCkgKiBzY2FsZSkgLyBzY2FsZTsKKworICAgICAgICAgICAgaWYgKG5ld1ZhbHVl
IDwgbV9pbnB1dFR5cGUtPm1pbmltdW0oKSkKKyAgICAgICAgICAgICAgICBuZXdWYWx1ZSA9IG1f
aW5wdXRUeXBlLT5taW5pbXVtKCk7CisgICAgICAgICAgICBpZiAobmV3VmFsdWUgPiBtX2lucHV0
VHlwZS0+bWF4aW11bSgpKQorICAgICAgICAgICAgICAgIG5ld1ZhbHVlID0gbV9pbnB1dFR5cGUt
Pm1heGltdW0oKTsKKworICAgICAgICAgICAgc2V0VmFsdWVBc051bWJlcihuZXdWYWx1ZSwgZWMp
OworICAgICAgICAgICAgY3VycmVudCA9IG5ld1ZhbHVlOworICAgICAgICB9CisgICAgICAgIGFw
cGx5U3RlcChuLCBlYyk7CiAgICAgfQogCiAgICAgaWYgKGN1cnJlbnRTdHJpbmdWYWx1ZSAhPSB2
YWx1ZSgpKSB7CiAgICAgICAgIGlmIChyZW5kZXJlcigpICYmIHJlbmRlcmVyKCktPmlzVGV4dEZp
ZWxkKCkpCiAgICAgICAgICAgICB0b1JlbmRlclRleHRDb250cm9sKHJlbmRlcmVyKCkpLT5zZXRD
aGFuZ2VkU2luY2VMYXN0Q2hhbmdlRXZlbnQodHJ1ZSk7Ci0gICAgICAgIGRpc3BhdGNoRXZlbnQo
RXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkuaW5wdXRFdmVudCwgdHJ1ZSwgZmFsc2UpKTsKKyAg
ICAgICAgaWYgKGlzUmFuZ2VDb250cm9sKCkpCisgICAgICAgICAgICBkaXNwYXRjaEZvcm1Db250
cm9sQ2hhbmdlRXZlbnQoKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgZGlzcGF0Y2hFdmVu
dChFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5pbnB1dEV2ZW50LCB0cnVlLCBmYWxzZSkpOwog
ICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaCBi
L1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmgKaW5kZXggOTg4NDExN2I4MTFjY2ExOWVl
MDc0N2IwNWQwNWI4ZmNlMDIyYjUxYi4uZTY2ZWM0MDBhZDUzOTc4MDI4OGVmNDM4MDZkOWJmNjgy
NTIwNWEzNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaAorKysg
Yi9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oCkBAIC0yNjcsNiArMjY3LDcgQEAgcHJp
dmF0ZToKICAgICB2aXJ0dWFsIGJvb2wgaXNUZXh0Rm9ybUNvbnRyb2woKSBjb25zdCB7IHJldHVy
biBpc1RleHRGaWVsZCgpOyB9CiAKICAgICB2aXJ0dWFsIGJvb2wgaGFzU3BpbkJ1dHRvbigpIGNv
bnN0IHsgcmV0dXJuIGRlcHJlY2F0ZWRJbnB1dFR5cGUoKSA9PSBOVU1CRVIgfHwgZGVwcmVjYXRl
ZElucHV0VHlwZSgpID09IERBVEUgfHwgZGVwcmVjYXRlZElucHV0VHlwZSgpID09IERBVEVUSU1F
IHx8IGRlcHJlY2F0ZWRJbnB1dFR5cGUoKSA9PSBEQVRFVElNRUxPQ0FMIHx8IGRlcHJlY2F0ZWRJ
bnB1dFR5cGUoKSA9PSBNT05USCB8fCBkZXByZWNhdGVkSW5wdXRUeXBlKCkgPT0gVElNRSB8fCBk
ZXByZWNhdGVkSW5wdXRUeXBlKCkgPT0gV0VFSzsgfQorICAgIHZpcnR1YWwgYm9vbCBpc1Jhbmdl
Q29udHJvbCgpIGNvbnN0IHsgcmV0dXJuIGRlcHJlY2F0ZWRJbnB1dFR5cGUoKSA9PSBSQU5HRTsg
fQogICAgIHZpcnR1YWwgYm9vbCBjYW5UcmlnZ2VySW1wbGljaXRTdWJtaXNzaW9uKCkgY29uc3Qg
eyByZXR1cm4gaXNUZXh0RmllbGQoKTsgfQogCiAgICAgYm9vbCBhbGxvd3NJbmRldGVybWluYXRl
KCkgY29uc3QgeyByZXR1cm4gZGVwcmVjYXRlZElucHV0VHlwZSgpID09IENIRUNLQk9YIHx8IGRl
cHJlY2F0ZWRJbnB1dFR5cGUoKSA9PSBSQURJTzsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1s
L0lucHV0VHlwZS5jcHAgYi9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmNwcAppbmRleCA2ZGQwMDJj
NGYyYWZkMTUxZWQ0MmJiOGUzMzBlMWY1MjI0ZDgzMmMyLi5jNWRhNTZjZTAyMWViZjNmNTM4YzRl
YWU0Yzc1OTMwYjhhMzMyYzUwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmNw
cAorKysgYi9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmNwcApAQCAtMjEzLDYgKzIxMywxMSBAQCBi
b29sIElucHV0VHlwZTo6cmFuZ2VPdmVyZmxvdyhjb25zdCBTdHJpbmcmKSBjb25zdAogICAgIHJl
dHVybiBmYWxzZTsKIH0KIAorZG91YmxlIElucHV0VHlwZTo6ZGVmYXVsdFZhbHVlKCkgY29uc3QK
K3sKKyAgICByZXR1cm4gMDsKK30KKwogZG91YmxlIElucHV0VHlwZTo6bWluaW11bSgpIGNvbnN0
CiB7CiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwv
SW5wdXRUeXBlLmggYi9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmgKaW5kZXggZjFhNWI2ZGNhMGY3
ZmFlMjMwMjllOGMyNjk0OWRhYTIyMmQ3M2IxYS4uOTZjNDVkMmQ3MTRkYmZjZGI2NjNiZWRiZGJi
ODg2ZGE2Mjg4OTc4NCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5oCisrKyBi
L1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuaApAQCAtODksNiArODksNyBAQCBwdWJsaWM6CiAgICAg
dmlydHVhbCBib29sIHBhdHRlcm5NaXNtYXRjaChjb25zdCBTdHJpbmcmKSBjb25zdDsKICAgICB2
aXJ0dWFsIGJvb2wgcmFuZ2VVbmRlcmZsb3coY29uc3QgU3RyaW5nJikgY29uc3Q7CiAgICAgdmly
dHVhbCBib29sIHJhbmdlT3ZlcmZsb3coY29uc3QgU3RyaW5nJikgY29uc3Q7CisgICAgdmlydHVh
bCBkb3VibGUgZGVmYXVsdFZhbHVlKCkgY29uc3Q7CiAgICAgdmlydHVhbCBkb3VibGUgbWluaW11
bSgpIGNvbnN0OwogICAgIHZpcnR1YWwgZG91YmxlIG1heGltdW0oKSBjb25zdDsKICAgICB2aXJ0
dWFsIGJvb2wgc3RlcE1pc21hdGNoKGNvbnN0IFN0cmluZyYsIGRvdWJsZSkgY29uc3Q7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL2h0bWwvTW9udGhJbnB1dFR5cGUuY3BwIGIvV2ViQ29yZS9odG1sL01v
bnRoSW5wdXRUeXBlLmNwcAppbmRleCBjYmRlNWNiYWQyOTQxZDRjNTgxYTgzYmExMDFlNDlhZGFi
MjNkZDU2Li5hZTY0ZGFjNDU2ZmRlNGFlNjNiMDY3ODg4NTFlZWQ5MDlkYmRkM2YzIDEwMDY0NAot
LS0gYS9XZWJDb3JlL2h0bWwvTW9udGhJbnB1dFR5cGUuY3BwCisrKyBiL1dlYkNvcmUvaHRtbC9N
b250aElucHV0VHlwZS5jcHAKQEAgLTc0LDYgKzc0LDIxIEBAIHZvaWQgTW9udGhJbnB1dFR5cGU6
OnNldFZhbHVlQXNEYXRlKGRvdWJsZSB2YWx1ZSwgRXhjZXB0aW9uQ29kZSYpIGNvbnN0CiAgICAg
ZWxlbWVudCgpLT5zZXRWYWx1ZShkYXRlLnRvU3RyaW5nKCkpOwogfQogCitkb3VibGUgTW9udGhJ
bnB1dFR5cGU6OmRlZmF1bHRWYWx1ZSgpIGNvbnN0Cit7CisgICAgZG91YmxlIGN1cnJlbnQgPSBj
dXJyZW50VGltZU1TKCk7CisgICAgZG91YmxlIHV0Y09mZnNldCA9IGNhbGN1bGF0ZVVUQ09mZnNl
dCgpOworICAgIGRvdWJsZSBkc3RPZmZzZXQgPSBjYWxjdWxhdGVEU1RPZmZzZXQoY3VycmVudCwg
dXRjT2Zmc2V0KTsKKyAgICBpbnQgb2Zmc2V0ID0gc3RhdGljX2Nhc3Q8aW50PigodXRjT2Zmc2V0
ICsgZHN0T2Zmc2V0KSAvIG1zUGVyTWludXRlKTsKKyAgICBjdXJyZW50ICs9IG9mZnNldCAqIG1z
UGVyTWludXRlOworCisgICAgRGF0ZUNvbXBvbmVudHMgZGF0ZTsKKyAgICBkYXRlLnNldE1pbGxp
c2Vjb25kc1NpbmNlRXBvY2hGb3JNb250aChjdXJyZW50KTsKKyAgICBkb3VibGUgbW9udGhzID0g
ZGF0ZS5tb250aHNTaW5jZUVwb2NoKCk7CisgICAgQVNTRVJUKGlzZmluaXRlKG1vbnRocykpOwor
ICAgIHJldHVybiBtb250aHM7Cit9CisKIGRvdWJsZSBNb250aElucHV0VHlwZTo6bWluaW11bSgp
IGNvbnN0CiB7CiAgICAgcmV0dXJuIHBhcnNlVG9Eb3VibGUoZWxlbWVudCgpLT5mYXN0R2V0QXR0
cmlidXRlKG1pbkF0dHIpLCBEYXRlQ29tcG9uZW50czo6bWluaW11bU1vbnRoKCkpOwpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9odG1sL01vbnRoSW5wdXRUeXBlLmggYi9XZWJDb3JlL2h0bWwvTW9udGhJ
bnB1dFR5cGUuaAppbmRleCA1MGNmN2Q1MGY5NGJmNTA2ODE3MmU3Yjk5NTVlNjM0MTUwNjRmZDBh
Li45NzM0ZmI3MDhiNDY0NjNlYzE0ZWZhY2U1NjY0NmM4MDc2YTQ1YTc1IDEwMDY0NAotLS0gYS9X
ZWJDb3JlL2h0bWwvTW9udGhJbnB1dFR5cGUuaAorKysgYi9XZWJDb3JlL2h0bWwvTW9udGhJbnB1
dFR5cGUuaApAQCAtNDUsNiArNDUsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgZG91YmxlIHZh
bHVlQXNEYXRlKCkgY29uc3Q7CiAgICAgdmlydHVhbCB2b2lkIHNldFZhbHVlQXNEYXRlKGRvdWJs
ZSwgRXhjZXB0aW9uQ29kZSYpIGNvbnN0OwogICAgIHZpcnR1YWwgZG91YmxlIHBhcnNlVG9Eb3Vi
bGUoY29uc3QgU3RyaW5nJiwgZG91YmxlKSBjb25zdDsKKyAgICB2aXJ0dWFsIGRvdWJsZSBkZWZh
dWx0VmFsdWUoKSBjb25zdDsKICAgICB2aXJ0dWFsIGRvdWJsZSBtaW5pbXVtKCkgY29uc3Q7CiAg
ICAgdmlydHVhbCBkb3VibGUgbWF4aW11bSgpIGNvbnN0OwogICAgIHZpcnR1YWwgZG91YmxlIGRl
ZmF1bHRTdGVwKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvUmFuZ2VJbnB1dFR5
cGUuY3BwIGIvV2ViQ29yZS9odG1sL1JhbmdlSW5wdXRUeXBlLmNwcAppbmRleCBhZDQ3ZjE0Y2Ix
NGE5ZDg4OTEyZmNkYTYyYzhmOTdmODhhZDNiYzFjLi41ZTllNmE3OWU4OWU2NmEyMDRhZjM2NWZk
NjE5NjEyMzUwZWQyNjg1IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvUmFuZ2VJbnB1dFR5cGUu
Y3BwCisrKyBiL1dlYkNvcmUvaHRtbC9SYW5nZUlucHV0VHlwZS5jcHAKQEAgLTE0Myw2ICsxNDMs
OCBAQCBib29sIFJhbmdlSW5wdXRUeXBlOjpoYW5kbGVLZXlkb3duRXZlbnQoS2V5Ym9hcmRFdmVu
dCogZXZlbnQpCiAgICAgICAgIGRvdWJsZSBzdGVwID0gKG1heCAtIG1pbikgLyAxMDA7CiAgICAg
ICAgIGRvdWJsZSBjdXJyZW50ID0gcGFyc2VUb0RvdWJsZShlbGVtZW50KCktPnZhbHVlKCksIG51
bWVyaWNfbGltaXRzPGRvdWJsZT46OnF1aWV0X05hTigpKTsKICAgICAgICAgQVNTRVJUKGlzZmlu
aXRlKGN1cnJlbnQpKTsKKyAgICAgICAgLy8gTm90IHVzaW5nIHN0ZXBVcEZyb21SZW5kZXJlcigp
IHNpbmNlIGl0IGlzIG5vdCBhbnkga2luZCBvZiBzdGVwVXAoKQorICAgICAgICAvLyBObyBzdGVw
VXAoKSBmb3Igc3RlcD0iYW55IgogICAgICAgICBkb3VibGUgbmV3VmFsdWU7CiAgICAgICAgIGlm
IChrZXkgPT0gIlVwIiB8fCBrZXkgPT0gIlJpZ2h0IikgewogICAgICAgICAgICAgbmV3VmFsdWUg
PSBjdXJyZW50ICsgc3RlcDsKQEAgLTE1OSwxMCArMTYxLDggQEAgYm9vbCBSYW5nZUlucHV0VHlw
ZTo6aGFuZGxlS2V5ZG93bkV2ZW50KEtleWJvYXJkRXZlbnQqIGV2ZW50KQogICAgICAgICB9CiAg
ICAgfSBlbHNlIHsKICAgICAgICAgaW50IHN0ZXBNYWduaWZpY2F0aW9uID0gKGtleSA9PSAiVXAi
IHx8IGtleSA9PSAiUmlnaHQiKSA/IDEgOiAtMTsKLSAgICAgICAgU3RyaW5nIGxhc3RTdHJpbmdW
YWx1ZSA9IGVsZW1lbnQoKS0+dmFsdWUoKTsKLSAgICAgICAgZWxlbWVudCgpLT5zdGVwVXAoc3Rl
cE1hZ25pZmljYXRpb24sIGVjKTsKLSAgICAgICAgaWYgKGxhc3RTdHJpbmdWYWx1ZSAhPSBlbGVt
ZW50KCktPnZhbHVlKCkpCi0gICAgICAgICAgICBlbGVtZW50KCktPmRpc3BhdGNoRm9ybUNvbnRy
b2xDaGFuZ2VFdmVudCgpOworICAgICAgICAvLyBVc2luZyBzdGVwVXBGcm9tUmVuZGVyZXIoKSBz
aW5jZSBpdCBpcyBhIGtpbmQgb2Ygc3RlcFVwKCkgb3BlcmF0aW9uCisgICAgICAgIGVsZW1lbnQo
KS0+c3RlcFVwRnJvbVJlbmRlcmVyKHN0ZXBNYWduaWZpY2F0aW9uKTsKICAgICB9CiAgICAgZXZl
bnQtPnNldERlZmF1bHRIYW5kbGVkKCk7CiAgICAgcmV0dXJuIHRydWU7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2h0bWwvVGltZUlucHV0VHlwZS5jcHAgYi9XZWJDb3JlL2h0bWwvVGltZUlucHV0VHlw
ZS5jcHAKaW5kZXggMjdkY2U5MDU3ZDNjYjdkYzkyYTFkZTAwMGQ3M2M3MjdkNmUzOGMzYS4uYTY0
YzJkYmQxMTAwOGJjZGUwNTIyODJlMGJiODk0OGJmNWI3ZThlMCAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9odG1sL1RpbWVJbnB1dFR5cGUuY3BwCisrKyBiL1dlYkNvcmUvaHRtbC9UaW1lSW5wdXRUeXBl
LmNwcApAQCAtNTMsNiArNTMsMjEgQEAgY29uc3QgQXRvbWljU3RyaW5nJiBUaW1lSW5wdXRUeXBl
Ojpmb3JtQ29udHJvbFR5cGUoKSBjb25zdAogICAgIHJldHVybiBJbnB1dFR5cGVOYW1lczo6dGlt
ZSgpOwogfQogCitkb3VibGUgVGltZUlucHV0VHlwZTo6ZGVmYXVsdFZhbHVlKCkgY29uc3QKK3sK
KyAgICBkb3VibGUgY3VycmVudCA9IGN1cnJlbnRUaW1lTVMoKTsKKyAgICBkb3VibGUgdXRjT2Zm
c2V0ID0gY2FsY3VsYXRlVVRDT2Zmc2V0KCk7CisgICAgZG91YmxlIGRzdE9mZnNldCA9IGNhbGN1
bGF0ZURTVE9mZnNldChjdXJyZW50LCB1dGNPZmZzZXQpOworICAgIGludCBvZmZzZXQgPSBzdGF0
aWNfY2FzdDxpbnQ+KCh1dGNPZmZzZXQgKyBkc3RPZmZzZXQpIC8gbXNQZXJNaW51dGUpOworICAg
IGN1cnJlbnQgKz0gb2Zmc2V0ICogbXNQZXJNaW51dGU7CisKKyAgICBEYXRlQ29tcG9uZW50cyBk
YXRlOworICAgIGRhdGUuc2V0TWlsbGlzZWNvbmRzU2luY2VNaWRuaWdodChjdXJyZW50KTsKKyAg
ICBkb3VibGUgbWlsbGlzZWNvbmRzID0gZGF0ZS5taWxsaXNlY29uZHNTaW5jZUVwb2NoKCk7Cisg
ICAgQVNTRVJUKGlzZmluaXRlKG1pbGxpc2Vjb25kcykpOworICAgIHJldHVybiBtaWxsaXNlY29u
ZHM7Cit9CisKIGRvdWJsZSBUaW1lSW5wdXRUeXBlOjptaW5pbXVtKCkgY29uc3QKIHsKICAgICBy
ZXR1cm4gcGFyc2VUb0RvdWJsZShlbGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUobWluQXR0ciks
IERhdGVDb21wb25lbnRzOjptaW5pbXVtVGltZSgpKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRt
bC9UaW1lSW5wdXRUeXBlLmggYi9XZWJDb3JlL2h0bWwvVGltZUlucHV0VHlwZS5oCmluZGV4IDYw
NzBmYTA3Mzg5YTlhZTcyOGU5ZmE2MjBhYTNlZTlhZjI2NzA3MjcuLjkwNzEyZDY1ZDM2ZDQyNDFi
OGI1MDZlODk2MWM5YjIwMTA5ZmIyZjkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9UaW1lSW5w
dXRUeXBlLmgKKysrIGIvV2ViQ29yZS9odG1sL1RpbWVJbnB1dFR5cGUuaApAQCAtNDIsNiArNDIs
NyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIFRpbWVJbnB1dFR5cGUoSFRNTElucHV0RWxlbWVu
dCogZWxlbWVudCkgOiBCYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGUoZWxlbWVudCkgeyB9CiAgICAg
dmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcmIGZvcm1Db250cm9sVHlwZSgpIGNvbnN0OworICAg
IHZpcnR1YWwgZG91YmxlIGRlZmF1bHRWYWx1ZSgpIGNvbnN0OwogICAgIHZpcnR1YWwgZG91Ymxl
IG1pbmltdW0oKSBjb25zdDsKICAgICB2aXJ0dWFsIGRvdWJsZSBtYXhpbXVtKCkgY29uc3Q7CiAg
ICAgdmlydHVhbCBkb3VibGUgZGVmYXVsdFN0ZXAoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvbWFudWFsLXRlc3RzL2lucHV0LXR5cGUtZGF0ZXRpbWUtZGVmYXVsdC12YWx1ZS5odG1sIGIv
V2ViQ29yZS9tYW51YWwtdGVzdHMvaW5wdXQtdHlwZS1kYXRldGltZS1kZWZhdWx0LXZhbHVlLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMzE2ZDI2OWQ3ODliODczODU4MmY5YjJhYzlmZGNkZjRmYTI2NDU3NAot
LS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvbWFudWFsLXRlc3RzL2lucHV0LXR5cGUtZGF0ZXRp
bWUtZGVmYXVsdC12YWx1ZS5odG1sCkBAIC0wLDAgKzEsMzAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vVzNDLy9EVEQgSFRNTCA0LjAgVHJhbnNpdGlvbmFsLy9FTiI+Cis8aHRtbD4KKzxo
ZWFkPjx0aXRsZT5EZWZhdWx0IHZhbHVlcyBmb3IgZGF0ZS90aW1lIGlucHV0ICh0eXBlPSBkYXRl
LCBkYXRldGltZSwgZGF0ZXRpbWUtbG9jYWwsIG1vbnRoLCB0aW1lLCB3ZWVrKTwvdGl0bGU+PC9o
ZWFkPgorCis8cD5FbnRlciBVcCBvciBEb3duLCBvciBjbGljayB0aGUgc3BpbiBidXR0b25zIGZv
ciBlYWNoIGlucHV0IGZpZWxkLjwvcD4KKworPGZvcm0+CisgIDx1bD4KKyAgICA8bGk+ZGF0ZTog
PGlucHV0IHR5cGU9ImRhdGUiIHNpemU9IjMyIiB2YWx1ZT0iIiAvPgorICAgIDxsaT5kYXRldGlt
ZTogPGlucHV0IHR5cGU9ImRhdGV0aW1lIiAgc2l6ZT0iMzIiIHZhbHVlPSIiIC8+CisgICAgPGxp
PmRhdGV0aW1lLWxvY2FsOiA8aW5wdXQgdHlwZT0iZGF0ZXRpbWUtbG9jYWwiIHNpemU9IjMyIiB2
YWx1ZT0iIiAvPgorICAgIDxsaT5tb250aDogPGlucHV0IHR5cGU9Im1vbnRoIiBzaXplPSIzMiIg
dmFsdWU9IiIgLz4KKyAgICA8bGk+dGltZTogPGlucHV0IHR5cGU9InRpbWUiIHNpemU9IjMyIiB2
YWx1ZT0iIiAvPgorICAgIDxsaT53ZWVrIDxpbnB1dCB0eXBlPSJ3ZWVrIiBzaXplPSIzMiIgdmFs
dWU9IiIgLz4KKyAgPC91bD4KKzwvZm9ybT4KKworPHA+VGhlIGlucHV0IGZpZWxkcyBzaG91bGQg
c2hvdyB0aGUgY3VycmVudCBkYXRlL3RpbWUgKHdpdGggKyBvciAtIGEgdW5pdCBkYXRlL3RpbWUg
ZGVzY3JpYmVkIGJlbG93KS48L3A+CisKKzxwPlVuaXQgZGF0ZXMvdGltZXM8L3A+Cis8dWw+Cisg
IDxsaT5kYXRlOiAxIGRheQorICA8bGk+ZGF0ZXRpbWU6IDEgbWludXRlCisgIDxsaT5kYXRldGlt
ZS1sb2NhbDogMSBtaW51dGUKKyAgPGxpPm1vbnRoOiAxIG1vbnRoCisgIDxsaT50aW1lOiAxIG1p
bnV0ZQorICA8bGk+d2VlazogMSB3ZWVrCis8L3VsPgorCis8L2JvZHk+PC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>74835</attachid>
            <date>2010-11-25 00:15:15 -0800</date>
            <delta_ts>2010-11-25 01:04:03 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-45491-20101125171517.patch</filename>
            <type>text/plain</type>
            <size>59099</size>
            <attacher name="Dai Mikurube">dmikurube</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL0phdmFTY3JpcHRDb3JlL0No
YW5nZUxvZwppbmRleCA3NjQ0Y2Q3NjI5NGUxZmYzYTIwZWRmYzBjM2NlNDBkZjc4YmRjNmYyLi45
Yzk5MWE2ZDIyZDkyNTExNzMzZTAwZjM3NjVkOTk0MWQ5MDkxZjg2IDEwMDY0NAotLS0gYS9KYXZh
U2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMzEgQEAKKzIwMTAtMTEtMjQgIERhaSBNaWt1cnViZSAgPGRtaWt1cnViZUBnb29nbGUu
Y29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIHdo
ZW4gZW1wdHksIGNsaWNraW5nICJkb3duIiBvbiBvdXRlci1zcGluLWJ1dHRvbiByZXR1cm5zICJt
YXggdmFsdWUiCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD00NTQ5MQorCisgICAgICAgIEl0IGlzIHJlcXVpcmVkIHRvIGNhbGN1bGF0ZSBVVEMvRFNUIG9m
ZnNldHMgdG8gcmV0cmlldmUgdGhlIGN1cnJlbnQgbG9jYWwgbWlsbGlzZWNvbmRzIGZvcgorICAg
ICAgICBkYXRlL3RpbWUgdHlwZSBpbnB1dHMuIFdURjo6Y3VycmVudFRpbWVNUygpIHJldHVybnMg
YSBVVEMgdGltZSwgYW5kIFdURjo6Z2V0TG9jYWxUaW1lKCkKKyAgICAgICAgcmV0dXJucyBhIHN0
cnVjdCB0bSwgbm90IG1pbGxpc2Vjb25kcy4KKworICAgICAgICBDYWxjdWxhdGluZyBtaWxsaXNl
Y29uZHMgZnJvbSBhIHN0cnVjdCB0bSBpcyBub3QgY2xlYXIuIHRpbWVnbSgpIGNhbm5vdCBiZSB1
c2VkIGluIGFsbAorICAgICAgICBlbnZpcm9ubWVudHMuIFRoaXMgY29udmVyc2lvbiBpcyBjb21w
bGljYXRlZCBhbmQgYWxyZWFkeSBkb25lIGF0IGNhbGN1bGF0ZVVUQ09mZnNldCgpLgorICAgICAg
ICBEdXBsaWNhdGluZyB0aGlzIGNvbXBsaWNhdGVkIGNhbGN1bGF0aW9uIGlzIHVucmVhc29uYWJs
ZSBiZWNhdXNlIG9mIG1haW50YWluYWJpbGl0eS4KKyAgICAgICAgVG8gYWNoaWV2ZSB0aGlzIHdp
dGhvdXQgZHVwbGljYXRpb24sIHdlIG11c3QgY2FsbCBjYWxjdWxhdGV7VVRDfERTVH1PZmZzZXQg
aW4gc29tZSB3YXkuCisKKyAgICAgICAgQW5vdGhlciBvcHRpb24gd2FzIHRvIHByb3ZpZGUgYW5v
dGhlciBjdXJyZW50VGltZSgpIHRvIHJldHVybiB0aGUgY3VycmVudCBsb2NhbCBtaWxsaXNlY29u
ZHMuCisgICAgICAgIFN1cnZleWluZyB0aGUgY29kZXMsIGhvd2V2ZXIsIGFsbCBvZiBleGlzdGlu
ZyAibWlsbGlzZWNvbmRzIiBpbiBkb3VibGUgdmFyaWFibGVzIGFyZQorICAgICAgICBjb25zaXN0
ZW50bHkgaW4gVVRDLiBJIGd1ZXNzIHdlIHNob3VsZCBub3QgZW1pdCAibWlsbGlzZWNvbmRzIiBp
biBub24tVVRDIGluIHRoZSBjb2RlLgorICAgICAgICBGaW5hbGx5IEkgbG9ja2VkICJtaWxsaXNl
Y29uZHMiIGluIG5vbi1VVEMgaW4gY2FsY3VsYXRpbmcgZGVmYXVsdCB2YWx1ZXMuCisKKyAgICAg
ICAgKiBKYXZhU2NyaXB0Q29yZS5leHA6CisgICAgICAgICogSmF2YVNjcmlwdENvcmUudmNwcm9q
L0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmRlZjoKKyAgICAgICAgKiB3dGYvRGF0ZU1h
dGguY3BwOiBDaGFuZ2VkIGNhbGN1bGF0ZVVUQ09mZnNldCgpIGFuZCBjYWxjdWxhdGVEU1RPZmZz
ZXQoKSB0byBleHRlcm5hbCBmdW5jdGlvbnMuCisgICAgICAgIChXVEY6OmNhbGN1bGF0ZVVUQ09m
ZnNldCk6CisgICAgICAgIChXVEY6OmNhbGN1bGF0ZURTVE9mZnNldCk6CisgICAgICAgICogd3Rm
L0RhdGVNYXRoLmg6CisKIDIwMTAtMTEtMTggIEdhdmluIEJhcnJhY2xvdWdoICA8YmFycmFjbG91
Z2hAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE9saXZlciBIdW50LgpkaWZmIC0t
Z2l0IGEvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZXhwIGIvSmF2YVNjcmlwdENvcmUv
SmF2YVNjcmlwdENvcmUuZXhwCmluZGV4IDM3MTVhNDM4MzdkYzkxMGU4ZGU3MGU0MzNlZDI2ZmVi
MTU0MTgwZDMuLjM5YmY1MjcwMmIwYjAwYmRkMzliNWE0MmNiNGQ4ODA1NWU2YWIyYjkgMTAwNjQ0
Ci0tLSBhL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmV4cAorKysgYi9KYXZhU2NyaXB0
Q29yZS9KYXZhU2NyaXB0Q29yZS5leHAKQEAgLTQwNCw2ICs0MDQsOCBAQCBfX1pOM1dURjE3Y2hh
cmFjdGVyc1RvRmxvYXRFUEt0bVBiCiBfX1pOM1dURjE3ZXF1YWxJZ25vcmluZ0Nhc2VFUEt0UEtj
agogX19aTjNXVEYxN2VxdWFsSWdub3JpbmdDYXNlRVBOU18xMFN0cmluZ0ltcGxFUEtjCiBfX1pO
M1dURjE3ZXF1YWxJZ25vcmluZ0Nhc2VFUE5TXzEwU3RyaW5nSW1wbEVTMV8KK19fWk4zV1RGMThj
YWxjdWxhdGVEU1RPZmZzZXRFZGQKK19fWk4zV1RGMThjYWxjdWxhdGVVVENPZmZzZXRFdgogX19a
TjNXVEYxOGNoYXJhY3RlcnNUb0RvdWJsZUVQS3RtUGIKIF9fWk4zV1RGMThkYXRlVG9EYXlzRnJv
bTE5NzBFaWlpCiBfX1pOM1dURjE4bW9udGhGcm9tRGF5SW5ZZWFyRWliCmRpZmYgLS1naXQgYS9K
YXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ovSmF2YVNjcmlwdENvcmUvSmF2YVNj
cmlwdENvcmUuZGVmIGIvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL0phdmFT
Y3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmRlZgppbmRleCA0NDljMGJiODQxNTU0Y2MyN2VhYzJm
NTlhMjQyNWFhMzBhMmRkMDhiLi5lZDcwYWI3OTQwYTkxMDcwMzBmYjZjOTI5MTRiMGEwNjc0ZjYw
NDlhIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ovSmF2
YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZGVmCisrKyBiL0phdmFTY3JpcHRDb3JlL0phdmFT
Y3JpcHRDb3JlLnZjcHJvai9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5kZWYKQEAgLTU5
LDYgKzU5LDggQEAgRVhQT1JUUwogICAgID9icm9hZGNhc3RAVGhyZWFkQ29uZGl0aW9uQFdURkBA
UUFFWFhaCiAgICAgP2J1ZmZlckxlbmd0aEZvclN0cmluZ0RlY2ltYWxARGVjaW1hbE51bWJlckBX
VEZAQFFCRUlYWgogICAgID9jYWxjdWxhdGVkRnVuY3Rpb25OYW1lQERlYnVnZ2VyQ2FsbEZyYW1l
QEpTQ0BAUUJFP0FWVVN0cmluZ0AyQFhaCisgICAgP2NhbGN1bGF0ZURTVE9mZnNldEBXVEZAQFlB
SF9YWgorICAgID9jYWxjdWxhdGVVVENPZmZzZXRAV1RGQEBZQU5OTkBaCiAgICAgP2NhbGxASlND
QEBZQT9BVkpTVmFsdWVAMUBQQVZFeGVjU3RhdGVAMUBWMjFAVzRDYWxsVHlwZUAxQEFCVENhbGxE
YXRhQDFAMUFCVkFyZ0xpc3RAMUBAWgogICAgID9jYWxsT25NYWluVGhyZWFkQFdURkBAWUFYUDZB
WFBBWEBaMEBaCiAgICAgP2NhbGxPbk1haW5UaHJlYWRBbmRXYWl0QFdURkBAWUFYUDZBWFBBWEBa
MEBaCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvRGF0ZU1hdGguY3BwIGIvSmF2YVNj
cmlwdENvcmUvd3RmL0RhdGVNYXRoLmNwcAppbmRleCBmMzYyN2U2Yjk4M2U4MmI5YWEzYTQwYWM0
OWRiNmQ1MGJlNWYwODE0Li42NzVmMDkzZjAxYmI0NWY4OGI3M2M0NjA2OWQ1MmMwYjhkMDllYWI0
IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvRGF0ZU1hdGguY3BwCisrKyBiL0phdmFT
Y3JpcHRDb3JlL3d0Zi9EYXRlTWF0aC5jcHAKQEAgLTM3OSw3ICszNzksNyBAQCBpbnQgZXF1aXZh
bGVudFllYXJGb3JEU1QoaW50IHllYXIpCiAgICAgcmV0dXJuIHllYXI7CiB9CiAKLXN0YXRpYyBp
bnQzMl90IGNhbGN1bGF0ZVVUQ09mZnNldCgpCitpbnQzMl90IGNhbGN1bGF0ZVVUQ09mZnNldCgp
CiB7CiAjaWYgUExBVEZPUk0oQlJFV01QKQogICAgIHRpbWVfdCBsb2NhbFRpbWUgPSBzdGF0aWNf
Y2FzdDx0aW1lX3Q+KGN1cnJlbnRUaW1lKCkpOwpAQCAtNDQ5LDcgKzQ0OSw3IEBAIHN0YXRpYyBk
b3VibGUgY2FsY3VsYXRlRFNUT2Zmc2V0U2ltcGxlKGRvdWJsZSBsb2NhbFRpbWVTZWNvbmRzLCBk
b3VibGUgdXRjT2Zmc2V0CiB9CiAKIC8vIEdldCB0aGUgRFNUIG9mZnNldCwgZ2l2ZW4gYSB0aW1l
IGluIFVUQwotc3RhdGljIGRvdWJsZSBjYWxjdWxhdGVEU1RPZmZzZXQoZG91YmxlIG1zLCBkb3Vi
bGUgdXRjT2Zmc2V0KQorZG91YmxlIGNhbGN1bGF0ZURTVE9mZnNldChkb3VibGUgbXMsIGRvdWJs
ZSB1dGNPZmZzZXQpCiB7CiAgICAgLy8gT24gTWFjIE9TIFgsIHRoZSBjYWxsIHRvIGxvY2FsdGlt
ZSAoc2VlIGNhbGN1bGF0ZURTVE9mZnNldFNpbXBsZSkgd2lsbCByZXR1cm4gaGlzdG9yaWNhbGx5
IGFjY3VyYXRlCiAgICAgLy8gRFNUIGluZm9ybWF0aW9uIChlLmcuIE5ldyBaZWFsYW5kIGRpZCBu
b3QgaGF2ZSBEU1QgZnJvbSAxOTQ2IHRvIDE5NzQpIGhvd2V2ZXIgdGhlIEphdmFTY3JpcHQKZGlm
ZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9EYXRlTWF0aC5oIGIvSmF2YVNjcmlwdENvcmUv
d3RmL0RhdGVNYXRoLmgKaW5kZXggYmU1MTk0N2YyYTFiZDkxYmE5N2FmN2UyYjliMzZhMTUxNWI5
NTEzZi4uY2I4NDcwODExOGZhNmExN2I5YWE4ODY2NjU3ZDRmYTA5MjMxMmJiOCAxMDA2NDQKLS0t
IGEvSmF2YVNjcmlwdENvcmUvd3RmL0RhdGVNYXRoLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3Rm
L0RhdGVNYXRoLmgKQEAgLTg0LDYgKzg0LDEwIEBAIGludCBkYXlJblllYXIoZG91YmxlIG1zLCBp
bnQgeWVhcik7CiBpbnQgbW9udGhGcm9tRGF5SW5ZZWFyKGludCBkYXlJblllYXIsIGJvb2wgbGVh
cFllYXIpOwogaW50IGRheUluTW9udGhGcm9tRGF5SW5ZZWFyKGludCBkYXlJblllYXIsIGJvb2wg
bGVhcFllYXIpOwogCisvLyBSZXR1cm5zIG9mZnNldCBtaWxsaXNlY29uZHMgZm9yIFVUQyBhbmQg
RFNULgoraW50MzJfdCBjYWxjdWxhdGVVVENPZmZzZXQoKTsKK2RvdWJsZSBjYWxjdWxhdGVEU1RP
ZmZzZXQoZG91YmxlIG1zLCBkb3VibGUgdXRjT2Zmc2V0KTsKKwogfSAvLyBuYW1lc3BhY2UgV1RG
CiAKIHVzaW5nIFdURjo6ZGF0ZVRvRGF5c0Zyb20xOTcwOwpAQCAtOTIsMTAgKzk2LDEzIEBAIHVz
aW5nIFdURjo6ZGF5SW5ZZWFyOwogdXNpbmcgV1RGOjptaW51dGVzUGVySG91cjsKIHVzaW5nIFdU
Rjo6bW9udGhGcm9tRGF5SW5ZZWFyOwogdXNpbmcgV1RGOjptc1BlckRheTsKK3VzaW5nIFdURjo6
bXNQZXJNaW51dGU7CiB1c2luZyBXVEY6Om1zUGVyU2Vjb25kOwogdXNpbmcgV1RGOjptc1RvWWVh
cjsKIHVzaW5nIFdURjo6c2Vjb25kc1Blck1pbnV0ZTsKIHVzaW5nIFdURjo6cGFyc2VEYXRlRnJv
bU51bGxUZXJtaW5hdGVkQ2hhcmFjdGVyczsKK3VzaW5nIFdURjo6Y2FsY3VsYXRlVVRDT2Zmc2V0
OwordXNpbmcgV1RGOjpjYWxjdWxhdGVEU1RPZmZzZXQ7CiAKICNpZiBVU0UoSlNDKQogbmFtZXNw
YWNlIEpTQyB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKaW5kZXggYWUzMDQ3YzJkMDU2Nzc2ZDU4M2MwMmUxODAwZWQ4NWNkYjQ0NThj
Yy4uZTYwZGY1YTFjOGMwNDRiMmVmZGUxYWJjNDA0MzAwOWQyN2EwNzE4ZiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDIwIEBACisyMDEwLTExLTI0ICBEYWkgTWlrdXJ1YmUgIDxkbWlrdXJ1YmVAZ29vZ2xlLmNv
bT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICB3aGVu
IGVtcHR5LCBjbGlja2luZyAiZG93biIgb24gb3V0ZXItc3Bpbi1idXR0b24gcmV0dXJucyAibWF4
IHZhbHVlIgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NDU0OTEKKworICAgICAgICAqIGZhc3QvZm9ybXMvaW5wdXQtc3RlcHVwLXN0ZXBkb3duLWZyb20t
cmVuZGVyZXItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2lucHV0
LXN0ZXB1cC1zdGVwZG93bi1mcm9tLXJlbmRlcmVyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZh
c3QvZm9ybXMvc2NyaXB0LXRlc3RzL2lucHV0LXN0ZXB1cC1zdGVwZG93bi1mcm9tLXJlbmRlcmVy
LmpzOiBBZGRlZC4KKyAgICAgICAgKCk6CisgICAgICAgIChzZXRJbnB1dEF0dHJpYnV0ZXMpOgor
ICAgICAgICAoc3RlcFVwKToKKyAgICAgICAgKHN0ZXBEb3duKToKKyAgICAgICAgKHN0ZXBVcEV4
cGxpY2l0Qm91bmRzKToKKyAgICAgICAgKHN0ZXBEb3duRXhwbGljaXRCb3VuZHMpOgorCiAyMDEw
LTExLTE4ICBEYXZpZCBMZXZpbiAgPGxldmluQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbY2hy
b21pdW1dIE1pc2MgdGVzdCB1cGRhdGVzIChtb3N0IFJ1YnkpLgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9pbnB1dC1zdGVwdXAtc3RlcGRvd24tZnJvbS1yZW5kZXJlci1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lucHV0LXN0ZXB1cC1zdGVwZG93bi1m
cm9tLXJlbmRlcmVyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zZDJhYzE2YjRkYjY1NTExZjM2
NjZjYzMwZmE5MGIxNDJhZWQ5MmEzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy9pbnB1dC1zdGVwdXAtc3RlcGRvd24tZnJvbS1yZW5kZXJlci1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwyOTIgQEAKK0NoZWNrIHN0ZXBVcCgpIGFuZCBzdGVwRG93bigpIGJhaGV2aW9y
IGZyb20gcmVuZGVyZXIgZm9yIHR5cGU9ZGF0ZSwgZGF0ZXRpbWUsIGRhdGV0aW1lLWxvY2FsLCBt
b250aCwgdGltZSwgd2Vlay4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK0RhdGUg
dHlwZQorTm9uLW51bWJlciBhcmd1bWVudHMKK1BBU1Mgc3RlcFVwKCIyMDEwLTAyLTEwIiwgbnVs
bCwgbnVsbCwgIjAiKSBpcyAiMjAxMC0wMi0xMCIKK1BBU1Mgc3RlcERvd24oIjIwMTAtMDItMTAi
LCBudWxsLCBudWxsLCAiMCIpIGlzICIyMDEwLTAyLTEwIgorUEFTUyBzdGVwVXAoIjIwMTAtMDIt
MTAiLCBudWxsLCBudWxsLCAiZm9vIikgaXMgIjIwMTAtMDItMTAiCitQQVNTIHN0ZXBEb3duKCIy
MDEwLTAyLTEwIiwgbnVsbCwgbnVsbCwgImZvbyIpIGlzICIyMDEwLTAyLTEwIgorUEFTUyBzdGVw
VXAoIjIwMTAtMDItMTAiLCBudWxsLCBudWxsLCBudWxsKSBpcyAiMjAxMC0wMi0xMCIKK1BBU1Mg
c3RlcERvd24oIjIwMTAtMDItMTAiLCBudWxsLCBudWxsLCBudWxsKSBpcyAiMjAxMC0wMi0xMCIK
K05vcm1hbCBjYXNlcworUEFTUyBzdGVwVXAoIjIwMTAtMDItMTAiLCBudWxsLCBudWxsKSBpcyAi
MjAxMC0wMi0xMSIKK1BBU1Mgc3RlcERvd24oIjIwMTAtMDItMTAiLCBudWxsLCBudWxsKSBpcyAi
MjAxMC0wMi0wOSIKK1BBU1Mgc3RlcFVwKCIyMDEwLTAyLTEwIiwgbnVsbCwgbnVsbCwgMTApIGlz
ICIyMDEwLTAyLTIwIgorUEFTUyBzdGVwRG93bigiMjAxMC0wMi0xMCIsIG51bGwsIG51bGwsIDEx
KSBpcyAiMjAxMC0wMS0zMCIKK1BBU1Mgc3RlcFVwKCIxOTcwLTAxLTAxIiwgIjQiLCBudWxsLCAy
KSBpcyAiMTk3MC0wMS0wOSIKK1BBU1Mgc3RlcERvd24oIjE5NzAtMDEtMDEiLCAiNCIsIG51bGws
IDMpIGlzICIxOTY5LTEyLTIwIgorU3RlcD1hbnkKK1BBU1Mgc3RlcFVwKCIyMDEwLTAyLTEwIiwg
ImFueSIsIG51bGwpIGlzICIyMDEwLTAyLTEwIgorUEFTUyBzdGVwRG93bigiMjAxMC0wMi0xMCIs
ICJhbnkiLCBudWxsKSBpcyAiMjAxMC0wMi0xMCIKK092ZXJmbG93L3VuZGVyZmxvdworUEFTUyBz
dGVwVXAoIjIwMTAtMDItMTAiLCAiMy40MDI4MjM0NmUrMzgiLCBudWxsKSBpcyAiMTk3MC0wMS0w
MSIKK1BBU1Mgc3RlcERvd24oIjIwMTAtMDItMTAiLCAiMy40MDI4MjM0NmUrMzgiLCBudWxsKSBp
cyAiMjc1NzYwLTA5LTEzIgorUEFTUyBzdGVwVXAoIjIwMTAtMDItMTAiLCAiMSIsICIyMDEwLTAy
LTEwIikgaXMgIjIwMTAtMDItMTAiCitQQVNTIHN0ZXBEb3duKCIyMDEwLTAyLTEwIiwgIjEiLCAi
MjAxMC0wMi0xMCIpIGlzICIyMDEwLTAyLTEwIgorCitEYXRldGltZSB0eXBlCitOb24tbnVtYmVy
IGFyZ3VtZW50cworUEFTUyBzdGVwVXAoIjIwMTAtMDItMTBUMjA6MTNaIiwgbnVsbCwgbnVsbCwg
IjAiKSBpcyAiMjAxMC0wMi0xMFQyMDoxM1oiCitQQVNTIHN0ZXBEb3duKCIyMDEwLTAyLTEwVDIw
OjEzWiIsIG51bGwsIG51bGwsICIwIikgaXMgIjIwMTAtMDItMTBUMjA6MTNaIgorUEFTUyBzdGVw
VXAoIjIwMTAtMDItMTBUMjA6MTNaIiwgbnVsbCwgbnVsbCwgImZvbyIpIGlzICIyMDEwLTAyLTEw
VDIwOjEzWiIKK1BBU1Mgc3RlcERvd24oIjIwMTAtMDItMTBUMjA6MTNaIiwgbnVsbCwgbnVsbCwg
ImZvbyIpIGlzICIyMDEwLTAyLTEwVDIwOjEzWiIKK1BBU1Mgc3RlcFVwKCIyMDEwLTAyLTEwVDIw
OjEzWiIsIG51bGwsIG51bGwsIG51bGwpIGlzICIyMDEwLTAyLTEwVDIwOjEzWiIKK1BBU1Mgc3Rl
cERvd24oIjIwMTAtMDItMTBUMjA6MTNaIiwgbnVsbCwgbnVsbCwgbnVsbCkgaXMgIjIwMTAtMDIt
MTBUMjA6MTNaIgorTm9ybWFsIGNhc2VzCitQQVNTIHN0ZXBVcCgiMjAxMC0wMi0xMFQyMDoxM1oi
LCBudWxsLCBudWxsKSBpcyAiMjAxMC0wMi0xMFQyMDoxNFoiCitQQVNTIHN0ZXBEb3duKCIyMDEw
LTAyLTEwVDIwOjEzWiIsIG51bGwsIG51bGwpIGlzICIyMDEwLTAyLTEwVDIwOjEyWiIKK1BBU1Mg
c3RlcFVwKCIyMDEwLTAyLTEwVDIwOjEzWiIsIG51bGwsIG51bGwsIDEwKSBpcyAiMjAxMC0wMi0x
MFQyMDoyM1oiCitQQVNTIHN0ZXBEb3duKCIyMDEwLTAyLTEwVDIwOjEzWiIsIG51bGwsIG51bGws
IDExKSBpcyAiMjAxMC0wMi0xMFQyMDowMloiCitQQVNTIHN0ZXBVcCgiMTk3MC0wMS0wMVQyMDox
M1oiLCAiNCIsIG51bGwsIDIpIGlzICIxOTcwLTAxLTAxVDIwOjEzOjA4WiIKK1BBU1Mgc3RlcERv
d24oIjE5NzAtMDEtMDFUMjA6MTNaIiwgIjQiLCBudWxsLCAzKSBpcyAiMTk3MC0wMS0wMVQyMDox
Mjo0OFoiCitTdGVwPWFueQorUEFTUyBzdGVwVXAoIjIwMTAtMDItMTBUMjA6MTNaIiwgImFueSIs
IG51bGwpIGlzICIyMDEwLTAyLTEwVDIwOjEzWiIKK1BBU1Mgc3RlcERvd24oIjIwMTAtMDItMTBU
MjA6MTNaIiwgImFueSIsIG51bGwpIGlzICIyMDEwLTAyLTEwVDIwOjEzWiIKK092ZXJmbG93L3Vu
ZGVyZmxvdworUEFTUyBzdGVwVXAoIjIwMTAtMDItMTBUMjA6MTNaIiwgIjMuNDAyODIzNDZlKzM4
IiwgbnVsbCkgaXMgIjE5NzAtMDEtMDFUMDA6MDA6MDAuMDAwWiIKK1BBU1Mgc3RlcERvd24oIjIw
MTAtMDItMTBUMjA6MTNaIiwgIjMuNDAyODIzNDZlKzM4IiwgbnVsbCkgaXMgIjI3NTc2MC0wOS0x
M1QwMDowMDowMC4wMDBaIgorUEFTUyBzdGVwVXAoIjIwMTAtMDItMTBUMjA6MTNaIiwgIjEiLCAi
MjAxMC0wMi0xMFQyMDoxM1oiKSBpcyAiMjAxMC0wMi0xMFQyMDoxM1oiCitQQVNTIHN0ZXBEb3du
KCIyMDEwLTAyLTEwVDIwOjEzWiIsICIxIiwgIjIwMTAtMDItMTBUMjA6MTNaIikgaXMgIjIwMTAt
MDItMTBUMjA6MTNaIgorCitEYXRldGltZS1sb2NhbCB0eXBlCitOb24tbnVtYmVyIGFyZ3VtZW50
cworUEFTUyBzdGVwVXAoIjIwMTAtMDItMTBUMjA6MTMiLCBudWxsLCBudWxsLCAiMCIpIGlzICIy
MDEwLTAyLTEwVDIwOjEzIgorUEFTUyBzdGVwRG93bigiMjAxMC0wMi0xMFQyMDoxMyIsIG51bGws
IG51bGwsICIwIikgaXMgIjIwMTAtMDItMTBUMjA6MTMiCitQQVNTIHN0ZXBVcCgiMjAxMC0wMi0x
MFQyMDoxMyIsIG51bGwsIG51bGwsICJmb28iKSBpcyAiMjAxMC0wMi0xMFQyMDoxMyIKK1BBU1Mg
c3RlcERvd24oIjIwMTAtMDItMTBUMjA6MTMiLCBudWxsLCBudWxsLCAiZm9vIikgaXMgIjIwMTAt
MDItMTBUMjA6MTMiCitQQVNTIHN0ZXBVcCgiMjAxMC0wMi0xMFQyMDoxMyIsIG51bGwsIG51bGws
IG51bGwpIGlzICIyMDEwLTAyLTEwVDIwOjEzIgorUEFTUyBzdGVwRG93bigiMjAxMC0wMi0xMFQy
MDoxMyIsIG51bGwsIG51bGwsIG51bGwpIGlzICIyMDEwLTAyLTEwVDIwOjEzIgorTm9ybWFsIGNh
c2VzCitQQVNTIHN0ZXBVcCgiMjAxMC0wMi0xMFQyMDoxMyIsIG51bGwsIG51bGwpIGlzICIyMDEw
LTAyLTEwVDIwOjE0IgorUEFTUyBzdGVwRG93bigiMjAxMC0wMi0xMFQyMDoxMyIsIG51bGwsIG51
bGwpIGlzICIyMDEwLTAyLTEwVDIwOjEyIgorUEFTUyBzdGVwVXAoIjIwMTAtMDItMTBUMjA6MTMi
LCBudWxsLCBudWxsLCAxMCkgaXMgIjIwMTAtMDItMTBUMjA6MjMiCitQQVNTIHN0ZXBEb3duKCIy
MDEwLTAyLTEwVDIwOjEzIiwgbnVsbCwgbnVsbCwgMTEpIGlzICIyMDEwLTAyLTEwVDIwOjAyIgor
UEFTUyBzdGVwVXAoIjE5NzAtMDEtMDFUMjA6MTMiLCAiNCIsIG51bGwsIDIpIGlzICIxOTcwLTAx
LTAxVDIwOjEzOjA4IgorUEFTUyBzdGVwRG93bigiMTk3MC0wMS0wMVQyMDoxMyIsICI0IiwgbnVs
bCwgMykgaXMgIjE5NzAtMDEtMDFUMjA6MTI6NDgiCitTdGVwPWFueQorUEFTUyBzdGVwVXAoIjIw
MTAtMDItMTBUMjA6MTMiLCAiYW55IiwgbnVsbCkgaXMgIjIwMTAtMDItMTBUMjA6MTMiCitQQVNT
IHN0ZXBEb3duKCIyMDEwLTAyLTEwVDIwOjEzIiwgImFueSIsIG51bGwpIGlzICIyMDEwLTAyLTEw
VDIwOjEzIgorT3ZlcmZsb3cvdW5kZXJmbG93CitQQVNTIHN0ZXBVcCgiMjAxMC0wMi0xMFQyMDox
MyIsICIzLjQwMjgyMzQ2ZSszOCIsIG51bGwpIGlzICIxOTcwLTAxLTAxVDAwOjAwOjAwLjAwMCIK
K1BBU1Mgc3RlcERvd24oIjIwMTAtMDItMTBUMjA6MTMiLCAiMy40MDI4MjM0NmUrMzgiLCBudWxs
KSBpcyAiMjc1NzYwLTA5LTEzVDAwOjAwOjAwLjAwMCIKK1BBU1Mgc3RlcFVwKCIyMDEwLTAyLTEw
VDIwOjEzIiwgIjEiLCAiMjAxMC0wMi0xMFQyMDoxMyIpIGlzICIyMDEwLTAyLTEwVDIwOjEzIgor
UEFTUyBzdGVwRG93bigiMjAxMC0wMi0xMFQyMDoxMyIsICIxIiwgIjIwMTAtMDItMTBUMjA6MTMi
KSBpcyAiMjAxMC0wMi0xMFQyMDoxMyIKKworTW9udGggdHlwZQorTm9uLW51bWJlciBhcmd1bWVu
dHMKK1BBU1Mgc3RlcFVwKCIyMDEwLTAyIiwgbnVsbCwgbnVsbCwgIjAiKSBpcyAiMjAxMC0wMiIK
K1BBU1Mgc3RlcERvd24oIjIwMTAtMDIiLCBudWxsLCBudWxsLCAiMCIpIGlzICIyMDEwLTAyIgor
UEFTUyBzdGVwVXAoIjIwMTAtMDIiLCBudWxsLCBudWxsLCAiZm9vIikgaXMgIjIwMTAtMDIiCitQ
QVNTIHN0ZXBEb3duKCIyMDEwLTAyIiwgbnVsbCwgbnVsbCwgImZvbyIpIGlzICIyMDEwLTAyIgor
UEFTUyBzdGVwVXAoIjIwMTAtMDIiLCBudWxsLCBudWxsLCBudWxsKSBpcyAiMjAxMC0wMiIKK1BB
U1Mgc3RlcERvd24oIjIwMTAtMDIiLCBudWxsLCBudWxsLCBudWxsKSBpcyAiMjAxMC0wMiIKK05v
cm1hbCBjYXNlcworUEFTUyBzdGVwVXAoIjIwMTAtMDIiLCBudWxsLCBudWxsKSBpcyAiMjAxMC0w
MyIKK1BBU1Mgc3RlcERvd24oIjIwMTAtMDIiLCBudWxsLCBudWxsKSBpcyAiMjAxMC0wMSIKK1BB
U1Mgc3RlcFVwKCIyMDEwLTAyIiwgbnVsbCwgbnVsbCwgMTApIGlzICIyMDEwLTEyIgorUEFTUyBz
dGVwRG93bigiMjAxMC0wMiIsIG51bGwsIG51bGwsIDExKSBpcyAiMjAwOS0wMyIKK1BBU1Mgc3Rl
cFVwKCIxOTcwLTAxIiwgIjQiLCBudWxsLCAyKSBpcyAiMTk3MC0wOSIKK1BBU1Mgc3RlcERvd24o
IjE5NzAtMDEiLCAiNCIsIG51bGwsIDMpIGlzICIxOTY5LTAxIgorU3RlcD1hbnkKK1BBU1Mgc3Rl
cFVwKCIyMDEwLTAyIiwgImFueSIsIG51bGwpIGlzICIyMDEwLTAyIgorUEFTUyBzdGVwRG93bigi
MjAxMC0wMiIsICJhbnkiLCBudWxsKSBpcyAiMjAxMC0wMiIKK092ZXJmbG93L3VuZGVyZmxvdwor
UEFTUyBzdGVwVXAoIjIwMTAtMDIiLCAiMy40MDI4MjM0NmUrMzgiLCBudWxsKSBpcyAiMTk3MC0w
MSIKK1BBU1Mgc3RlcERvd24oIjIwMTAtMDIiLCAiMy40MDI4MjM0NmUrMzgiLCBudWxsKSBpcyAi
Mjc1NzYwLTA5IgorUEFTUyBzdGVwVXAoIjIwMTAtMDIiLCAiMSIsICIyMDEwLTAyIikgaXMgIjIw
MTAtMDIiCitQQVNTIHN0ZXBEb3duKCIyMDEwLTAyIiwgIjEiLCAiMjAxMC0wMiIpIGlzICIyMDEw
LTAyIgorCitOdW1iZXIgdHlwZQorSW52YWxpZCB2YWx1ZQorUEFTUyBzdGVwVXAoIiIsIG51bGws
IG51bGwpIGlzICIxIgorUEFTUyBzdGVwRG93bigiIiwgbnVsbCwgbnVsbCkgaXMgIi0xIgorTm9u
LW51bWJlciBhcmd1bWVudHMKK1BBU1Mgc3RlcFVwKCIwIiwgbnVsbCwgbnVsbCwgIjAiKSBpcyAi
MCIKK1BBU1Mgc3RlcERvd24oIjAiLCBudWxsLCBudWxsLCAiMCIpIGlzICIwIgorUEFTUyBzdGVw
VXAoIjAiLCBudWxsLCBudWxsLCAiZm9vIikgaXMgIjAiCitQQVNTIHN0ZXBEb3duKCIwIiwgbnVs
bCwgbnVsbCwgImZvbyIpIGlzICIwIgorUEFTUyBzdGVwVXAoIjAiLCBudWxsLCBudWxsLCBudWxs
KSBpcyAiMCIKK1BBU1Mgc3RlcERvd24oIjAiLCBudWxsLCBudWxsLCBudWxsKSBpcyAiMCIKK05v
cm1hbCBjYXNlcworUEFTUyBzdGVwVXAoIjAiLCBudWxsLCBudWxsKSBpcyAiMSIKK1BBU1Mgc3Rl
cFVwKCIxIiwgbnVsbCwgbnVsbCwgMikgaXMgIjMiCitQQVNTIHN0ZXBVcCgiMyIsIG51bGwsIG51
bGwsIC0xKSBpcyAiMiIKK1BBU1Mgc3RlcERvd24oIjIiLCBudWxsLCBudWxsKSBpcyAiMSIKK1BB
U1Mgc3RlcERvd24oIjEiLCBudWxsLCBudWxsLCAyKSBpcyAiLTEiCitQQVNTIHN0ZXBEb3duKCIt
MSIsIG51bGwsIG51bGwsIC0xKSBpcyAiMCIKK0V4dHJhIGFyZ3VtZW50cworUEFTUyBpbnB1dC52
YWx1ZSA9ICIwIjsgaW5wdXQubWluID0gbnVsbDsgaW5wdXQuc3RlcCA9IG51bGw7IGlucHV0LnN0
ZXBVcCgxLCAyKTsgaW5wdXQudmFsdWUgaXMgIjEiCitQQVNTIGlucHV0LnZhbHVlID0gIjEiOyBp
bnB1dC5zdGVwRG93bigxLCAzKTsgaW5wdXQudmFsdWUgaXMgIjAiCitJbnZhbGlkIHN0ZXAgdmFs
dWUKK1BBU1Mgc3RlcFVwKCIwIiwgImZvbyIsIG51bGwpIGlzICIxIgorUEFTUyBzdGVwVXAoIjEi
LCAiMCIsIG51bGwpIGlzICIyIgorUEFTUyBzdGVwVXAoIjIiLCAiLTEiLCBudWxsKSBpcyAiMyIK
K1N0ZXA9YW55CitQQVNTIHN0ZXBVcCgiMCIsICJhbnkiLCBudWxsKSBpcyAiMCIKK1BBU1Mgc3Rl
cERvd24oIjAiLCAiYW55IiwgbnVsbCkgaXMgIjAiCitPdmVyZmxvdy91bmRlcmZsb3cKK1BBU1Mg
c3RlcERvd24oIjEiLCAiMSIsICIwIikgaXMgIjAiCitQQVNTIHN0ZXBEb3duKCIwIiwgIjEiLCAi
MCIpIGlzICIwIgorUEFTUyBzdGVwRG93bigiMSIsICIxIiwgIjAiLCAyKSBpcyAiMCIKK1BBU1Mg
aW5wdXQudmFsdWUgaXMgIjAiCitQQVNTIHN0ZXBEb3duKCIxIiwgIjMuNDAyODIzNDZlKzM4Iiwg
IiIsIDIpIGlzICItMy40MDI4MjM0NmUrMzgiCitQQVNTIHN0ZXBVcCgiLTEiLCAiMSIsICIwIikg
aXMgIjAiCitQQVNTIHN0ZXBVcCgiMCIsICIxIiwgIjAiKSBpcyAiMCIKK1BBU1Mgc3RlcFVwKCIt
MSIsICIxIiwgIjAiLCAyKSBpcyAiMCIKK1BBU1MgaW5wdXQudmFsdWUgaXMgIjAiCitQQVNTIHN0
ZXBVcCgiMSIsICIzLjQwMjgyMzQ2ZSszOCIsICIiLCAyKSBpcyAiMy40MDI4MjM0NmUrMzgiCitz
dGVwRG93bigpL3N0ZXBVcCgpIGZvciBzdGVwTWlzbWF0Y2ggdmFsdWVzCitQQVNTIHN0ZXBVcCgi
MSIsICIyIiwgIiIpIGlzICIyIgorUEFTUyBpbnB1dC5zdGVwRG93bigpOyBpbnB1dC52YWx1ZSBp
cyAiMCIKK1BBU1MgaW5wdXQubWluID0gIjAiOyBzdGVwVXAoIjkiLCAiMTAiLCAiIiwgOSkgaXMg
IjkwIgorUEFTUyBzdGVwRG93bigiMTkiLCAiMTAiLCAiMCIpIGlzICIxMCIKK1BBU1Mgc3RlcFVw
KCI4OSIsICIxMCIsICI5OSIpIGlzICI5MCIKK0h1Z2UgdmFsdWUgYW5kIHNtYWxsIHN0ZXAKK1BB
U1MgaW5wdXQubWluID0gIiI7IHN0ZXBVcCgiMWUrMzgiLCAiMSIsICIiLCA5OTkpIGlzICIxZSsz
OCIKK1BBU1MgaW5wdXQubWF4ID0gIiI7IHN0ZXBEb3duKCIxZSszOCIsICIxIiwgIiIsIDk5OSkg
aXMgIjFlKzM4IgorRnJhY3Rpb25hbCBudW1iZXJzCitQQVNTIGlucHV0Lm1pbiA9ICIiOyBzdGVw
VXAoIjAiLCAiMC4zMzMzMzMzMzMzMzMzMzMzMyIsICIiLCAzKSBpcyAiMSIKK1BBU1Mgc3RlcFVw
KCIxIiwgIjAuMSIsICIiLCAxMCkgaXMgIjIiCitQQVNTIGlucHV0LnN0ZXBVcCgpOyBpbnB1dC5z
dGVwVXAoKTsgaW5wdXQuc3RlcFVwKCk7IGlucHV0LnN0ZXBVcCgpOyBpbnB1dC5zdGVwVXAoKTsg
aW5wdXQuc3RlcFVwKCk7IGlucHV0LnN0ZXBVcCgpOyBpbnB1dC5zdGVwVXAoKTsgaW5wdXQuc3Rl
cFVwKCk7IGlucHV0LnN0ZXBVcCgpOyBpbnB1dC52YWx1ZSBpcyAiMyIKK1BBU1MgaW5wdXQubWlu
ID0gIjAiOyBzdGVwVXAoIjAiLCAiMC4wMDM5MjE1Njg2Mjc0NTA5ODAiLCAiMSIsIDI1NSkgaXMg
IjEiCitQQVNTIGZvciAodmFyIGkgPSAwOyBpIDwgMjU1OyBpKyspIHsgaW5wdXQuc3RlcERvd24o
KTsgfTsgaW5wdXQudmFsdWUgaXMgIjAiCitSb3VuZGluZworUEFTUyBzdGVwVXAoIjUuMDA1Iiwg
IjAuMDA1IiwgIiIsIDIpIGlzICI1LjAxNSIKK1BBU1Mgc3RlcFVwKCI1LjAwNSIsICIwLjAwNSIs
ICIiLCAxMSkgaXMgIjUuMDYiCitQQVNTIHN0ZXBVcCgiNS4wMDUiLCAiMC4wMDUiLCAiIiwgMTIp
IGlzICI1LjA2NSIKK1BBU1Mgc3RlcFVwRXhwbGljaXRCb3VuZHMoIjQiLCAiOSIsICIwLjAwNSIs
ICI1LjAwNSIsIDIpIGlzICI1LjAxNSIKK1BBU1Mgc3RlcFVwRXhwbGljaXRCb3VuZHMoIjQiLCAi
OSIsICIwLjAwNSIsICI1LjAwNSIsIDExKSBpcyAiNS4wNiIKK1BBU1Mgc3RlcFVwRXhwbGljaXRC
b3VuZHMoIjQiLCAiOSIsICIwLjAwNSIsICI1LjAwNSIsIDEyKSBpcyAiNS4wNjUiCisKK1Jhbmdl
IHR5cGUKK2Z1bmN0aW9uIGFyZ3VtZW50cyBhcmUgKG1pbiwgbWF4LCBzdGVwLCB2YWx1ZSwgW3N0
ZXBDb3VudF0pCitVc2luZyB0aGUgZGVmYXVsdCB2YWx1ZXMKK1BBU1Mgc3RlcFVwRXhwbGljaXRC
b3VuZHMobnVsbCwgbnVsbCwgbnVsbCwgIiIpIGlzICI1MSIKK1BBU1Mgc3RlcERvd25FeHBsaWNp
dEJvdW5kcyhudWxsLCBudWxsLCBudWxsLCAiIikgaXMgIjQ5IgorTm9uLW51bWJlciBhcmd1bWVu
dHMgKHN0ZXBDb3VudCkKK1BBU1Mgc3RlcFVwRXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwgbnVs
bCwgIjAiLCAiMCIpIGlzICIwIgorUEFTUyBzdGVwRG93bkV4cGxpY2l0Qm91bmRzKG51bGwsIG51
bGwsIG51bGwsICIwIiwgIjAiKSBpcyAiMCIKK1BBU1Mgc3RlcFVwRXhwbGljaXRCb3VuZHMobnVs
bCwgbnVsbCwgbnVsbCwgIjAiLCAiZm9vIikgaXMgIjAiCitQQVNTIHN0ZXBEb3duRXhwbGljaXRC
b3VuZHMobnVsbCwgbnVsbCwgbnVsbCwgIjAiLCAiZm9vIikgaXMgIjAiCitQQVNTIHN0ZXBVcEV4
cGxpY2l0Qm91bmRzKG51bGwsIG51bGwsIG51bGwsICIwIiwgbnVsbCkgaXMgIjAiCitQQVNTIHN0
ZXBEb3duRXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwgbnVsbCwgIjAiLCBudWxsKSBpcyAiMCIK
K05vcm1hbCBjYXNlcworUEFTUyBzdGVwVXBFeHBsaWNpdEJvdW5kcyhudWxsLCBudWxsLCBudWxs
LCAiMCIpIGlzICIxIgorUEFTUyBzdGVwVXBFeHBsaWNpdEJvdW5kcyhudWxsLCBudWxsLCBudWxs
LCAiMSIsIDIpIGlzICIzIgorUEFTUyBzdGVwVXBFeHBsaWNpdEJvdW5kcyhudWxsLCBudWxsLCBu
dWxsLCAiMyIsIC0xKSBpcyAiMiIKK1BBU1Mgc3RlcERvd25FeHBsaWNpdEJvdW5kcygiLTEwMCIs
IG51bGwsIG51bGwsICIyIikgaXMgIjEiCitQQVNTIHN0ZXBEb3duRXhwbGljaXRCb3VuZHMoIi0x
MDAiLCBudWxsLCBudWxsLCAiMSIsIDIpIGlzICItMSIKK1BBU1Mgc3RlcERvd25FeHBsaWNpdEJv
dW5kcygiLTEwMCIsIG51bGwsIG51bGwsICItMSIsIC0xKSBpcyAiMCIKK0V4dHJhIGFyZ3VtZW50
cworUEFTUyBzZXRJbnB1dEF0dHJpYnV0ZXMobnVsbCwgbnVsbCwgbnVsbCwgIjAiKTsgaW5wdXQu
c3RlcFVwKDEsMik7IGlucHV0LnZhbHVlIGlzICIxIgorUEFTUyBzZXRJbnB1dEF0dHJpYnV0ZXMo
bnVsbCwgbnVsbCwgbnVsbCwgIjEiKTsgaW5wdXQuc3RlcERvd24oMSwzKTsgaW5wdXQudmFsdWUg
aXMgIjAiCitJbnZhbGlkIHN0ZXAgdmFsdWUKK1BBU1Mgc3RlcFVwRXhwbGljaXRCb3VuZHMobnVs
bCwgbnVsbCwgImZvbyIsICIwIikgaXMgIjEiCitQQVNTIHN0ZXBVcEV4cGxpY2l0Qm91bmRzKG51
bGwsIG51bGwsICIwIiwgIjEiKSBpcyAiMiIKK1BBU1Mgc3RlcFVwRXhwbGljaXRCb3VuZHMobnVs
bCwgbnVsbCwgIi0xIiwgIjIiKSBpcyAiMyIKK1BBU1Mgc3RlcERvd25FeHBsaWNpdEJvdW5kcyhu
dWxsLCBudWxsLCAiZm9vIiwgIjEiKSBpcyAiMCIKK1BBU1Mgc3RlcERvd25FeHBsaWNpdEJvdW5k
cyhudWxsLCBudWxsLCAiMCIsICIyIikgaXMgIjEiCitQQVNTIHN0ZXBEb3duRXhwbGljaXRCb3Vu
ZHMobnVsbCwgbnVsbCwgIi0xIiwgIjMiKSBpcyAiMiIKK1N0ZXA9YW55CitQQVNTIHN0ZXBVcEV4
cGxpY2l0Qm91bmRzKG51bGwsIG51bGwsICJhbnkiLCAiMSIpIGlzICIyIgorUEFTUyBzdGVwRG93
bkV4cGxpY2l0Qm91bmRzKG51bGwsIG51bGwsICJhbnkiLCAiMSIpIGlzICIwIgorT3ZlcmZsb3cv
dW5kZXJmbG93CitQQVNTIHN0ZXBVcEV4cGxpY2l0Qm91bmRzKG51bGwsICIxMDAiLCAiMSIsICI5
OSIpIGlzICIxMDAiCitQQVNTIHN0ZXBVcEV4cGxpY2l0Qm91bmRzKG51bGwsICIxMDAiLCAiMSIs
ICIxMDAiKSBpcyAiMTAwIgorUEFTUyBpbnB1dC52YWx1ZSBpcyAiMTAwIgorUEFTUyBzdGVwVXBF
eHBsaWNpdEJvdW5kcyhudWxsLCAiMTAwIiwgIjEiLCAiOTkiLCAiMiIpIGlzICIxMDAiCitQQVNT
IGlucHV0LnZhbHVlIGlzICIxMDAiCitQQVNTIHN0ZXBEb3duRXhwbGljaXRCb3VuZHMoIjAiLCBu
dWxsLCAiMSIsICIxIikgaXMgIjAiCitQQVNTIHN0ZXBEb3duRXhwbGljaXRCb3VuZHMoIjAiLCBu
dWxsLCAiMSIsICIwIikgaXMgIjAiCitQQVNTIGlucHV0LnZhbHVlIGlzICIwIgorUEFTUyBzdGVw
RG93bkV4cGxpY2l0Qm91bmRzKCIwIiwgbnVsbCwgIjEiLCAiMSIsICIyIikgaXMgIjAiCitQQVNT
IGlucHV0LnZhbHVlIGlzICIwIgorUEFTUyBzdGVwRG93bkV4cGxpY2l0Qm91bmRzKG51bGwsIG51
bGwsICIzLjQwMjgyMzQ2ZSszOCIsICIxIiwgIjIiKSBpcyAiMCIKK1BBU1Mgc3RlcFVwRXhwbGlj
aXRCb3VuZHMoLTEwMCwgMCwgMSwgLTEpIGlzICIwIgorUEFTUyBzdGVwVXBFeHBsaWNpdEJvdW5k
cyhudWxsLCAwLCAxLCAwKSBpcyAiMCIKK1BBU1Mgc3RlcFVwRXhwbGljaXRCb3VuZHMoLTEwMCwg
MCwgMSwgLTEsIDIpIGlzICIwIgorUEFTUyBpbnB1dC52YWx1ZSBpcyAiMCIKK1BBU1Mgc3RlcFVw
RXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwgIjMuNDAyODIzNDZlKzM4IiwgIjEiLCAiMiIpIGlz
ICIwIgorc3RlcERvd24oKS9zdGVwVXAoKSBmb3Igc3RlcE1pc21hdGNoIHZhbHVlcworUEFTUyBz
dGVwVXBFeHBsaWNpdEJvdW5kcyhudWxsLCBudWxsLCAyLCAxKSBpcyAiNCIKK1BBU1MgaW5wdXQu
c3RlcERvd24oKTsgaW5wdXQudmFsdWUgaXMgIjIiCitQQVNTIHN0ZXBVcEV4cGxpY2l0Qm91bmRz
KDAsIG51bGwsIDEwLCA5LCA5KSBpcyAiMTAwIgorUEFTUyBzdGVwRG93bkV4cGxpY2l0Qm91bmRz
KDAsIG51bGwsIDEwLCAxOSkgaXMgIjEwIgordmFsdWUgKyBzdGVwIGlzIDw9IG1heCwgYnV0IHJv
dW5kZWQgcmVzdWx0IHdvdWxkIGJlID4gbWF4LgorUEFTUyBzdGVwVXBFeHBsaWNpdEJvdW5kcyhu
dWxsLCA5OSwgMTAsIDg5KSBpcyAiOTAiCitIdWdlIHZhbHVlIGFuZCBzbWFsbCBzdGVwCitQQVNT
IHN0ZXBVcEV4cGxpY2l0Qm91bmRzKDAsIDFlMzgsIDEsIDFlMzgsIDk5OSkgaXMgIjFlKzM4Igor
UEFTUyBzdGVwRG93bkV4cGxpY2l0Qm91bmRzKDAsIDFlMzgsIDEsIDFlMzgsIDk5OSkgaXMgIjFl
KzM4IgorRnJhY3Rpb25hbCBudW1iZXJzCitQQVNTIHN0ZXBVcEV4cGxpY2l0Qm91bmRzKG51bGws
IG51bGwsIDAuMzMzMzMzMzMzMzMzMzMzMzMsIDAsIDMpIGlzICIxIgorUEFTUyBzdGVwVXBFeHBs
aWNpdEJvdW5kcyhudWxsLCBudWxsLCAwLjEsIDEpIGlzICIxLjEiCitQQVNTIHN0ZXBVcEV4cGxp
Y2l0Qm91bmRzKG51bGwsIG51bGwsIDAuMSwgMSwgOCkgaXMgIjEuOCIKK1BBU1Mgc3RlcFVwRXhw
bGljaXRCb3VuZHMobnVsbCwgbnVsbCwgMC4xLCAxLCAxMCkgaXMgIjIiCitQQVNTIGlucHV0LnN0
ZXBVcCgpOyBpbnB1dC5zdGVwVXAoKTsgaW5wdXQuc3RlcFVwKCk7IGlucHV0LnN0ZXBVcCgpOyBp
bnB1dC5zdGVwVXAoKTsgaW5wdXQuc3RlcFVwKCk7IGlucHV0LnN0ZXBVcCgpOyBpbnB1dC5zdGVw
VXAoKTsgaW5wdXQuc3RlcFVwKCk7IGlucHV0LnN0ZXBVcCgpOyBpbnB1dC52YWx1ZSBpcyAiMyIK
K1BBU1Mgc3RlcFVwRXhwbGljaXRCb3VuZHMoMCwgMSwgMC4wMDM5MjE1Njg2Mjc0NTA5ODAsIDAs
IDI1NSkgaXMgIjEiCitQQVNTIGZvciAodmFyIGkgPSAwOyBpIDwgMjU1OyBpKyspIHsgaW5wdXQu
c3RlcERvd24oKTsgfTsgaW5wdXQudmFsdWUgaXMgIjAiCitQQVNTIHN0ZXBEb3duRXhwbGljaXRC
b3VuZHMobnVsbCwgbnVsbCwgMC4xLCAxLCA4KSBpcyAiMC4yIgorUEFTUyBzdGVwRG93bkV4cGxp
Y2l0Qm91bmRzKG51bGwsIG51bGwsIDAuMSwgMSkgaXMgIjAuOSIKKworVGltZSB0eXBlCitOb24t
bnVtYmVyIGFyZ3VtZW50cworUEFTUyBzdGVwVXAoIjIwOjEzIiwgbnVsbCwgbnVsbCwgIjAiKSBp
cyAiMjA6MTMiCitQQVNTIHN0ZXBEb3duKCIyMDoxMyIsIG51bGwsIG51bGwsICIwIikgaXMgIjIw
OjEzIgorUEFTUyBzdGVwVXAoIjIwOjEzIiwgbnVsbCwgbnVsbCwgImZvbyIpIGlzICIyMDoxMyIK
K1BBU1Mgc3RlcERvd24oIjIwOjEzIiwgbnVsbCwgbnVsbCwgImZvbyIpIGlzICIyMDoxMyIKK1BB
U1Mgc3RlcFVwKCIyMDoxMyIsIG51bGwsIG51bGwsIG51bGwpIGlzICIyMDoxMyIKK1BBU1Mgc3Rl
cERvd24oIjIwOjEzIiwgbnVsbCwgbnVsbCwgbnVsbCkgaXMgIjIwOjEzIgorTm9ybWFsIGNhc2Vz
CitQQVNTIHN0ZXBVcCgiMjA6MTMiLCBudWxsLCBudWxsKSBpcyAiMjA6MTQiCitQQVNTIHN0ZXBE
b3duKCIyMDoxMyIsIG51bGwsIG51bGwpIGlzICIyMDoxMiIKK1BBU1Mgc3RlcFVwKCIyMDoxMyIs
IG51bGwsIG51bGwsIDEwKSBpcyAiMjA6MjMiCitQQVNTIHN0ZXBEb3duKCIyMDoxMyIsIG51bGws
IG51bGwsIDExKSBpcyAiMjA6MDIiCitQQVNTIHN0ZXBVcCgiMjA6MTMiLCAiNCIsIG51bGwsIDIp
IGlzICIyMDoxMzowOCIKK1BBU1Mgc3RlcERvd24oIjIwOjEzIiwgIjQiLCBudWxsLCAzKSBpcyAi
MjA6MTI6NDgiCitTdGVwPWFueQorUEFTUyBzdGVwVXAoIjIwOjEzIiwgImFueSIsIG51bGwpIGlz
ICIyMDoxMyIKK1BBU1Mgc3RlcERvd24oIjIwOjEzIiwgImFueSIsIG51bGwpIGlzICIyMDoxMyIK
K092ZXJmbG93L3VuZGVyZmxvdworUEFTUyBzdGVwVXAoIjIwOjEzIiwgIjMuNDAyODIzNDZlKzM4
IiwgbnVsbCkgaXMgIjAwOjAwOjAwLjAwMCIKK1BBU1Mgc3RlcERvd24oIjIwOjEzIiwgIjMuNDAy
ODIzNDZlKzM4IiwgbnVsbCkgaXMgIjIzOjU5OjU5Ljk5OSIKK1BBU1Mgc3RlcFVwKCIyMDoxMyIs
ICIxIiwgIjIwOjEzIikgaXMgIjIwOjEzIgorUEFTUyBzdGVwRG93bigiMjA6MTMiLCAiMSIsICIy
MDoxMyIpIGlzICIyMDoxMyIKK1BBU1Mgc3RlcFVwKCIyMzo1OSIsIG51bGwsIG51bGwpIGlzICIy
Mzo1OSIKK1BBU1Mgc3RlcERvd24oIjAwOjAwIiwgbnVsbCwgbnVsbCkgaXMgIjAwOjAwIgorCitX
ZWVrIHR5cGUKK05vbi1udW1iZXIgYXJndW1lbnRzCitQQVNTIHN0ZXBVcCgiMjAxMC1XMDIiLCBu
dWxsLCBudWxsLCAiMCIpIGlzICIyMDEwLVcwMiIKK1BBU1Mgc3RlcERvd24oIjIwMTAtVzAyIiwg
bnVsbCwgbnVsbCwgIjAiKSBpcyAiMjAxMC1XMDIiCitQQVNTIHN0ZXBVcCgiMjAxMC1XMDIiLCBu
dWxsLCBudWxsLCAiZm9vIikgaXMgIjIwMTAtVzAyIgorUEFTUyBzdGVwRG93bigiMjAxMC1XMDIi
LCBudWxsLCBudWxsLCAiZm9vIikgaXMgIjIwMTAtVzAyIgorUEFTUyBzdGVwVXAoIjIwMTAtVzAy
IiwgbnVsbCwgbnVsbCwgbnVsbCkgaXMgIjIwMTAtVzAyIgorUEFTUyBzdGVwRG93bigiMjAxMC1X
MDIiLCBudWxsLCBudWxsLCBudWxsKSBpcyAiMjAxMC1XMDIiCitOb3JtYWwgY2FzZXMKK1BBU1Mg
c3RlcFVwKCIyMDEwLVcwMiIsIG51bGwsIG51bGwpIGlzICIyMDEwLVcwMyIKK1BBU1Mgc3RlcERv
d24oIjIwMTAtVzAyIiwgbnVsbCwgbnVsbCkgaXMgIjIwMTAtVzAxIgorUEFTUyBzdGVwVXAoIjIw
MTAtVzAyIiwgbnVsbCwgbnVsbCwgMTApIGlzICIyMDEwLVcxMiIKK1BBU1Mgc3RlcERvd24oIjIw
MTAtVzAyIiwgbnVsbCwgbnVsbCwgMTEpIGlzICIyMDA5LVc0NCIKK1BBU1Mgc3RlcFVwKCIxOTcw
LVcwMSIsICI0IiwgbnVsbCwgMikgaXMgIjE5NzAtVzA5IgorUEFTUyBzdGVwRG93bigiMTk3MC1X
MDEiLCAiNCIsIG51bGwsIDMpIGlzICIxOTY5LVc0MSIKK1N0ZXA9YW55CitQQVNTIHN0ZXBVcCgi
MjAxMC1XMDIiLCAiYW55IiwgbnVsbCkgaXMgIjIwMTAtVzAyIgorUEFTUyBzdGVwRG93bigiMjAx
MC1XMDIiLCAiYW55IiwgbnVsbCkgaXMgIjIwMTAtVzAyIgorT3ZlcmZsb3cvdW5kZXJmbG93CitQ
QVNTIHN0ZXBVcCgiMjAxMC1XMDIiLCAiMy40MDI4MjM0NmUrMzgiLCBudWxsKSBpcyAiMTk3MC1X
MDEiCitQQVNTIHN0ZXBEb3duKCIyMDEwLVcwMiIsICIzLjQwMjgyMzQ2ZSszOCIsIG51bGwpIGlz
ICIyNzU3NjAtVzM3IgorUEFTUyBzdGVwVXAoIjIwMTAtVzAyIiwgIjEiLCAiMjAxMC1XMDIiKSBp
cyAiMjAxMC1XMDIiCitQQVNTIHN0ZXBEb3duKCIyMDEwLVcwMiIsICIxIiwgIjIwMTAtVzAyIikg
aXMgIjIwMTAtVzAyIgorCitVbnN1cHBvcnRlZCB0eXBlCitQQVNTIGlucHV0LnN0ZXAgPSAiMyI7
IGlucHV0Lm1pbiA9ICIiOyBpbnB1dC5tYXggPSAiIjsgaW5wdXQudmFsdWUgPSAiMiI7IGlucHV0
LnN0ZXBEb3duKCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJTlZBTElEX1NUQVRFX0VSUjogRE9N
IEV4Y2VwdGlvbiAxMS4KK1BBU1MgaW5wdXQuc3RlcERvd24oMCkgdGhyZXcgZXhjZXB0aW9uIEVy
cm9yOiBJTlZBTElEX1NUQVRFX0VSUjogRE9NIEV4Y2VwdGlvbiAxMS4KK1BBU1MgaW5wdXQuc3Rl
cFVwKCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJTlZBTElEX1NUQVRFX0VSUjogRE9NIEV4Y2Vw
dGlvbiAxMS4KK1BBU1MgaW5wdXQuc3RlcFVwKDApIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSU5W
QUxJRF9TVEFURV9FUlI6IERPTSBFeGNlcHRpb24gMTEuCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy9pbnB1dC1zdGVwdXAtc3RlcGRvd24tZnJvbS1yZW5kZXJlci5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9pbnB1dC1zdGVwdXAtc3RlcGRvd24tZnJvbS1yZW5kZXJlci5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmE0ZmZmZmRjOGVlNjAwMmQ1M2Q3YWIyMTlmOTMxZTcwODlkNTQ0NWQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lucHV0LXN0ZXB1cC1zdGVw
ZG93bi1mcm9tLXJlbmRlcmVyLmh0bWwKQEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJl
bD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHls
ZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+
Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvaW5w
dXQtc3RlcHVwLXN0ZXBkb3duLWZyb20tcmVuZGVyZXIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3Njcmlw
dC10ZXN0cy9pbnB1dC1zdGVwdXAtc3RlcGRvd24tZnJvbS1yZW5kZXJlci5qcyBiL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2lucHV0LXN0ZXB1cC1zdGVwZG93bi1mcm9tLXJl
bmRlcmVyLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk4NzI5OGI5OWEwNWVkMmU2OTQxNTQwNGQ1YWI3ODg5MTMw
OWFiOTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10
ZXN0cy9pbnB1dC1zdGVwdXAtc3RlcGRvd24tZnJvbS1yZW5kZXJlci5qcwpAQCAtMCwwICsxLDM4
MCBAQAorZGVzY3JpcHRpb24oJ0NoZWNrIHN0ZXBVcCgpIGFuZCBzdGVwRG93bigpIGJhaGV2aW9y
IGZyb20gcmVuZGVyZXIgZm9yIHR5cGU9ZGF0ZSwgZGF0ZXRpbWUsIGRhdGV0aW1lLWxvY2FsLCBt
b250aCwgdGltZSwgd2Vlay4nKTsKKwordmFyIGlucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgnaW5wdXQnKTsKK3ZhciBpbnZhbGlkU3RhdGVFcnIgPSAnIkVycm9yOiBJTlZBTElEX1NUQVRF
X0VSUjogRE9NIEV4Y2VwdGlvbiAxMSInOworCitmdW5jdGlvbiBzZW5kS2V5KGtleU5hbWUpIHsK
KyAgICB2YXIgZXZlbnQgPSBkb2N1bWVudC5jcmVhdGVFdmVudCgnS2V5Ym9hcmRFdmVudCcpOwor
ICAgIGV2ZW50LmluaXRLZXlib2FyZEV2ZW50KCdrZXlkb3duJywgdHJ1ZSwgdHJ1ZSwgZG9jdW1l
bnQuZGVmYXVsdFZpZXcsIGtleU5hbWUpOworICAgIGlucHV0LmRpc3BhdGNoRXZlbnQoZXZlbnQp
OworfQorCitmdW5jdGlvbiBzZXRJbnB1dEF0dHJpYnV0ZXMobWluLCBtYXgsIHN0ZXAsIHZhbHVl
KSB7CisgICAgaW5wdXQubWluID0gbWluOworICAgIGlucHV0Lm1heCA9IG1heDsKKyAgICBpbnB1
dC5zdGVwID0gc3RlcDsKKyAgICBpbnB1dC52YWx1ZSA9IHZhbHVlOworfQorCitmdW5jdGlvbiBz
dGVwVXAodmFsdWUsIHN0ZXAsIG1heCwgb3B0aW9uYWxTdGVwQ291bnQpIHsKKyAgICBzZXRJbnB1
dEF0dHJpYnV0ZXMobnVsbCwgbWF4LCBzdGVwLCB2YWx1ZSk7CisgICAgaWYgKHR5cGVvZiBvcHRp
b25hbFN0ZXBDb3VudCAhPSAidW5kZWZpbmVkIikKKyAgICAgICAgaWYgKG9wdGlvbmFsU3RlcENv
dW50IDwgMCkKKyAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgLW9wdGlvbmFsU3RlcENv
dW50OyBpKyspCisgICAgICAgICAgICAgICAgc2VuZEtleSgnRG93bicpOworICAgICAgICBlbHNl
CisgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IG9wdGlvbmFsU3RlcENvdW50OyBpKysp
CisgICAgICAgICAgICAgICAgc2VuZEtleSgnVXAnKTsKKyAgICBlbHNlCisgICAgICAgIHNlbmRL
ZXkoJ1VwJyk7CisgICAgcmV0dXJuIGlucHV0LnZhbHVlOworfQorCitmdW5jdGlvbiBzdGVwRG93
bih2YWx1ZSwgc3RlcCwgbWluLCBvcHRpb25hbFN0ZXBDb3VudCkgeworICAgIHNldElucHV0QXR0
cmlidXRlcyhtaW4sIG51bGwsIHN0ZXAsIHZhbHVlKTsKKyAgICBpZiAodHlwZW9mIG9wdGlvbmFs
U3RlcENvdW50ICE9ICJ1bmRlZmluZWQiKQorICAgICAgICBpZiAob3B0aW9uYWxTdGVwQ291bnQg
PCAwKQorICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCAtb3B0aW9uYWxTdGVwQ291bnQ7
IGkrKykKKyAgICAgICAgICAgICAgICBzZW5kS2V5KCdVcCcpOworICAgICAgICBlbHNlCisgICAg
ICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IG9wdGlvbmFsU3RlcENvdW50OyBpKyspCisgICAg
ICAgICAgICAgICAgc2VuZEtleSgnRG93bicpOworICAgIGVsc2UKKyAgICAgICAgc2VuZEtleSgn
RG93bicpOworICAgIHJldHVybiBpbnB1dC52YWx1ZTsKK30KKworLy8gUmFuZ2UgdmFsdWUgZ2V0
cyBhdXRvbWF0aWNhbGx5IHNoaWZ0ZWQgYmFzZWQgb24gYm91bmRzLAorLy8gU28gYWx3YXlzIHNl
dCB0aGUgbWluIGFuZCBtYXggZmlyc3QgdG8gZ2V0IGV4cGVjdGVkIGJlaGF2aW9yCisKK2Z1bmN0
aW9uIHN0ZXBVcEV4cGxpY2l0Qm91bmRzKG1pbiwgbWF4LCBzdGVwLCB2YWx1ZSwgc3RlcENvdW50
KSB7CisgICAgc2V0SW5wdXRBdHRyaWJ1dGVzKG1pbiwgbWF4LCBzdGVwLCB2YWx1ZSk7CisgICAg
aWYgKHR5cGVvZiBzdGVwQ291bnQgIT09ICd1bmRlZmluZWQnKQorICAgICAgICBpZiAoc3RlcENv
dW50IDwgMCkgeworICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCAtc3RlcENvdW50OyBp
KyspCisgICAgICAgICAgICAgICAgc2VuZEtleSgnRG93bicpOworICAgICAgICB9IGVsc2Ugewor
ICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzdGVwQ291bnQ7IGkrKykKKyAgICAgICAg
ICAgICAgICBzZW5kS2V5KCdVcCcpOworICAgICAgICB9CisgICAgZWxzZQorICAgICAgICBzZW5k
S2V5KCdVcCcpOworICAgIHJldHVybiBpbnB1dC52YWx1ZTsKK30KKworZnVuY3Rpb24gc3RlcERv
d25FeHBsaWNpdEJvdW5kcyhtaW4sIG1heCwgc3RlcCwgdmFsdWUsIHN0ZXBDb3VudCkgeworICAg
IHNldElucHV0QXR0cmlidXRlcyhtaW4sIG1heCwgc3RlcCwgdmFsdWUpOworICAgIGlmICh0eXBl
b2Ygc3RlcENvdW50ICE9PSAndW5kZWZpbmVkJykKKyAgICAgICAgaWYgKHN0ZXBDb3VudCA8IDAp
IHsKKyAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgLXN0ZXBDb3VudDsgaSsrKQorICAg
ICAgICAgICAgICAgIHNlbmRLZXkoJ1VwJyk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAg
ICBmb3IgKHZhciBpID0gMDsgaSA8IHN0ZXBDb3VudDsgaSsrKQorICAgICAgICAgICAgICAgIHNl
bmRLZXkoJ0Rvd24nKTsKKyAgICAgICAgfQorICAgIGVsc2UKKyAgICAgICAgc2VuZEtleSgnRG93
bicpOworICAgIHJldHVybiBpbnB1dC52YWx1ZTsKK30KKworZGVidWcoJ0RhdGUgdHlwZScpOwor
aW5wdXQudHlwZSA9ICdkYXRlJzsKK2RlYnVnKCdOb24tbnVtYmVyIGFyZ3VtZW50cycpOworc2hv
dWxkQmUoJ3N0ZXBVcCgiMjAxMC0wMi0xMCIsIG51bGwsIG51bGwsICIwIiknLCAnIjIwMTAtMDIt
MTAiJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjIwMTAtMDItMTAiLCBudWxsLCBudWxsLCAiMCIp
JywgJyIyMDEwLTAyLTEwIicpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMjAxMC0wMi0xMCIsIG51bGws
IG51bGwsICJmb28iKScsICciMjAxMC0wMi0xMCInKTsKK3Nob3VsZEJlKCdzdGVwRG93bigiMjAx
MC0wMi0xMCIsIG51bGwsIG51bGwsICJmb28iKScsICciMjAxMC0wMi0xMCInKTsKK3Nob3VsZEJl
KCdzdGVwVXAoIjIwMTAtMDItMTAiLCBudWxsLCBudWxsLCBudWxsKScsICciMjAxMC0wMi0xMCIn
KTsKK3Nob3VsZEJlKCdzdGVwRG93bigiMjAxMC0wMi0xMCIsIG51bGwsIG51bGwsIG51bGwpJywg
JyIyMDEwLTAyLTEwIicpOworZGVidWcoJ05vcm1hbCBjYXNlcycpOworc2hvdWxkQmUoJ3N0ZXBV
cCgiMjAxMC0wMi0xMCIsIG51bGwsIG51bGwpJywgJyIyMDEwLTAyLTExIicpOworc2hvdWxkQmUo
J3N0ZXBEb3duKCIyMDEwLTAyLTEwIiwgbnVsbCwgbnVsbCknLCAnIjIwMTAtMDItMDkiJyk7Citz
aG91bGRCZSgnc3RlcFVwKCIyMDEwLTAyLTEwIiwgbnVsbCwgbnVsbCwgMTApJywgJyIyMDEwLTAy
LTIwIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIyMDEwLTAyLTEwIiwgbnVsbCwgbnVsbCwgMTEp
JywgJyIyMDEwLTAxLTMwIicpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMTk3MC0wMS0wMSIsICI0Iiwg
bnVsbCwgMiknLCAnIjE5NzAtMDEtMDkiJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjE5NzAtMDEt
MDEiLCAiNCIsIG51bGwsIDMpJywgJyIxOTY5LTEyLTIwIicpOworZGVidWcoJ1N0ZXA9YW55Jyk7
CitzaG91bGRCZSgnc3RlcFVwKCIyMDEwLTAyLTEwIiwgImFueSIsIG51bGwpJywgJyIyMDEwLTAy
LTEwIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIyMDEwLTAyLTEwIiwgImFueSIsIG51bGwpJywg
JyIyMDEwLTAyLTEwIicpOworZGVidWcoJ092ZXJmbG93L3VuZGVyZmxvdycpOworc2hvdWxkQmUo
J3N0ZXBVcCgiMjAxMC0wMi0xMCIsICIzLjQwMjgyMzQ2ZSszOCIsIG51bGwpJywnIjE5NzAtMDEt
MDEiJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjIwMTAtMDItMTAiLCAiMy40MDI4MjM0NmUrMzgi
LCBudWxsKScsICciMjc1NzYwLTA5LTEzIicpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMjAxMC0wMi0x
MCIsICIxIiwgIjIwMTAtMDItMTAiKScsICciMjAxMC0wMi0xMCInKTsKK3Nob3VsZEJlKCdzdGVw
RG93bigiMjAxMC0wMi0xMCIsICIxIiwgIjIwMTAtMDItMTAiKScsICciMjAxMC0wMi0xMCInKTsK
KworZGVidWcoJycpOworZGVidWcoJ0RhdGV0aW1lIHR5cGUnKTsKK2lucHV0LnR5cGUgPSAnZGF0
ZXRpbWUnOworZGVidWcoJ05vbi1udW1iZXIgYXJndW1lbnRzJyk7CitzaG91bGRCZSgnc3RlcFVw
KCIyMDEwLTAyLTEwVDIwOjEzWiIsIG51bGwsIG51bGwsICIwIiknLCAnIjIwMTAtMDItMTBUMjA6
MTNaIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIyMDEwLTAyLTEwVDIwOjEzWiIsIG51bGwsIG51
bGwsICIwIiknLCAnIjIwMTAtMDItMTBUMjA6MTNaIicpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMjAx
MC0wMi0xMFQyMDoxM1oiLCBudWxsLCBudWxsLCAiZm9vIiknLCAnIjIwMTAtMDItMTBUMjA6MTNa
IicpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIyMDEwLTAyLTEwVDIwOjEzWiIsIG51bGwsIG51bGws
ICJmb28iKScsICciMjAxMC0wMi0xMFQyMDoxM1oiJyk7CitzaG91bGRCZSgnc3RlcFVwKCIyMDEw
LTAyLTEwVDIwOjEzWiIsIG51bGwsIG51bGwsIG51bGwpJywgJyIyMDEwLTAyLTEwVDIwOjEzWiIn
KTsKK3Nob3VsZEJlKCdzdGVwRG93bigiMjAxMC0wMi0xMFQyMDoxM1oiLCBudWxsLCBudWxsLCBu
dWxsKScsICciMjAxMC0wMi0xMFQyMDoxM1oiJyk7CitkZWJ1ZygnTm9ybWFsIGNhc2VzJyk7Citz
aG91bGRCZSgnc3RlcFVwKCIyMDEwLTAyLTEwVDIwOjEzWiIsIG51bGwsIG51bGwpJywgJyIyMDEw
LTAyLTEwVDIwOjE0WiInKTsKK3Nob3VsZEJlKCdzdGVwRG93bigiMjAxMC0wMi0xMFQyMDoxM1oi
LCBudWxsLCBudWxsKScsICciMjAxMC0wMi0xMFQyMDoxMloiJyk7CitzaG91bGRCZSgnc3RlcFVw
KCIyMDEwLTAyLTEwVDIwOjEzWiIsIG51bGwsIG51bGwsIDEwKScsICciMjAxMC0wMi0xMFQyMDoy
M1oiJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjIwMTAtMDItMTBUMjA6MTNaIiwgbnVsbCwgbnVs
bCwgMTEpJywgJyIyMDEwLTAyLTEwVDIwOjAyWiInKTsKK3Nob3VsZEJlKCdzdGVwVXAoIjE5NzAt
MDEtMDFUMjA6MTNaIiwgIjQiLCBudWxsLCAyKScsICciMTk3MC0wMS0wMVQyMDoxMzowOFoiJyk7
CitzaG91bGRCZSgnc3RlcERvd24oIjE5NzAtMDEtMDFUMjA6MTNaIiwgIjQiLCBudWxsLCAzKScs
ICciMTk3MC0wMS0wMVQyMDoxMjo0OFoiJyk7CitkZWJ1ZygnU3RlcD1hbnknKTsKK3Nob3VsZEJl
KCdzdGVwVXAoIjIwMTAtMDItMTBUMjA6MTNaIiwgImFueSIsIG51bGwpJywgJyIyMDEwLTAyLTEw
VDIwOjEzWiInKTsKK3Nob3VsZEJlKCdzdGVwRG93bigiMjAxMC0wMi0xMFQyMDoxM1oiLCAiYW55
IiwgbnVsbCknLCAnIjIwMTAtMDItMTBUMjA6MTNaIicpOworZGVidWcoJ092ZXJmbG93L3VuZGVy
ZmxvdycpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMjAxMC0wMi0xMFQyMDoxM1oiLCAiMy40MDI4MjM0
NmUrMzgiLCBudWxsKScsICciMTk3MC0wMS0wMVQwMDowMDowMC4wMDBaIicpOworc2hvdWxkQmUo
J3N0ZXBEb3duKCIyMDEwLTAyLTEwVDIwOjEzWiIsICIzLjQwMjgyMzQ2ZSszOCIsIG51bGwpJywg
JyIyNzU3NjAtMDktMTNUMDA6MDA6MDAuMDAwWiInKTsKK3Nob3VsZEJlKCdzdGVwVXAoIjIwMTAt
MDItMTBUMjA6MTNaIiwgIjEiLCAiMjAxMC0wMi0xMFQyMDoxM1oiKScsICciMjAxMC0wMi0xMFQy
MDoxM1oiJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjIwMTAtMDItMTBUMjA6MTNaIiwgIjEiLCAi
MjAxMC0wMi0xMFQyMDoxM1oiKScsICciMjAxMC0wMi0xMFQyMDoxM1oiJyk7CisKK2RlYnVnKCcn
KTsKK2RlYnVnKCdEYXRldGltZS1sb2NhbCB0eXBlJyk7CitpbnB1dC50eXBlID0gJ2RhdGV0aW1l
LWxvY2FsJzsKK2RlYnVnKCdOb24tbnVtYmVyIGFyZ3VtZW50cycpOworc2hvdWxkQmUoJ3N0ZXBV
cCgiMjAxMC0wMi0xMFQyMDoxMyIsIG51bGwsIG51bGwsICIwIiknLCAnIjIwMTAtMDItMTBUMjA6
MTMiJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjIwMTAtMDItMTBUMjA6MTMiLCBudWxsLCBudWxs
LCAiMCIpJywgJyIyMDEwLTAyLTEwVDIwOjEzIicpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMjAxMC0w
Mi0xMFQyMDoxMyIsIG51bGwsIG51bGwsICJmb28iKScsICciMjAxMC0wMi0xMFQyMDoxMyInKTsK
K3Nob3VsZEJlKCdzdGVwRG93bigiMjAxMC0wMi0xMFQyMDoxMyIsIG51bGwsIG51bGwsICJmb28i
KScsICciMjAxMC0wMi0xMFQyMDoxMyInKTsKK3Nob3VsZEJlKCdzdGVwVXAoIjIwMTAtMDItMTBU
MjA6MTMiLCBudWxsLCBudWxsLCBudWxsKScsICciMjAxMC0wMi0xMFQyMDoxMyInKTsKK3Nob3Vs
ZEJlKCdzdGVwRG93bigiMjAxMC0wMi0xMFQyMDoxMyIsIG51bGwsIG51bGwsIG51bGwpJywgJyIy
MDEwLTAyLTEwVDIwOjEzIicpOworZGVidWcoJ05vcm1hbCBjYXNlcycpOworc2hvdWxkQmUoJ3N0
ZXBVcCgiMjAxMC0wMi0xMFQyMDoxMyIsIG51bGwsIG51bGwpJywgJyIyMDEwLTAyLTEwVDIwOjE0
IicpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIyMDEwLTAyLTEwVDIwOjEzIiwgbnVsbCwgbnVsbCkn
LCAnIjIwMTAtMDItMTBUMjA6MTIiJyk7CitzaG91bGRCZSgnc3RlcFVwKCIyMDEwLTAyLTEwVDIw
OjEzIiwgbnVsbCwgbnVsbCwgMTApJywgJyIyMDEwLTAyLTEwVDIwOjIzIicpOworc2hvdWxkQmUo
J3N0ZXBEb3duKCIyMDEwLTAyLTEwVDIwOjEzIiwgbnVsbCwgbnVsbCwgMTEpJywgJyIyMDEwLTAy
LTEwVDIwOjAyIicpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMTk3MC0wMS0wMVQyMDoxMyIsICI0Iiwg
bnVsbCwgMiknLCAnIjE5NzAtMDEtMDFUMjA6MTM6MDgiJyk7CitzaG91bGRCZSgnc3RlcERvd24o
IjE5NzAtMDEtMDFUMjA6MTMiLCAiNCIsIG51bGwsIDMpJywgJyIxOTcwLTAxLTAxVDIwOjEyOjQ4
IicpOworZGVidWcoJ1N0ZXA9YW55Jyk7CitzaG91bGRCZSgnc3RlcFVwKCIyMDEwLTAyLTEwVDIw
OjEzIiwgImFueSIsIG51bGwpJywgJyIyMDEwLTAyLTEwVDIwOjEzIicpOworc2hvdWxkQmUoJ3N0
ZXBEb3duKCIyMDEwLTAyLTEwVDIwOjEzIiwgImFueSIsIG51bGwpJywgJyIyMDEwLTAyLTEwVDIw
OjEzIicpOworZGVidWcoJ092ZXJmbG93L3VuZGVyZmxvdycpOworc2hvdWxkQmUoJ3N0ZXBVcCgi
MjAxMC0wMi0xMFQyMDoxMyIsICIzLjQwMjgyMzQ2ZSszOCIsIG51bGwpJywgJyIxOTcwLTAxLTAx
VDAwOjAwOjAwLjAwMCInKTsKK3Nob3VsZEJlKCdzdGVwRG93bigiMjAxMC0wMi0xMFQyMDoxMyIs
ICIzLjQwMjgyMzQ2ZSszOCIsIG51bGwpJywgJyIyNzU3NjAtMDktMTNUMDA6MDA6MDAuMDAwIicp
Oworc2hvdWxkQmUoJ3N0ZXBVcCgiMjAxMC0wMi0xMFQyMDoxMyIsICIxIiwgIjIwMTAtMDItMTBU
MjA6MTMiKScsICciMjAxMC0wMi0xMFQyMDoxMyInKTsKK3Nob3VsZEJlKCdzdGVwRG93bigiMjAx
MC0wMi0xMFQyMDoxMyIsICIxIiwgIjIwMTAtMDItMTBUMjA6MTMiKScsICciMjAxMC0wMi0xMFQy
MDoxMyInKTsKKworZGVidWcoJycpOworZGVidWcoJ01vbnRoIHR5cGUnKTsKK2lucHV0LnR5cGUg
PSAnbW9udGgnOworZGVidWcoJ05vbi1udW1iZXIgYXJndW1lbnRzJyk7CitzaG91bGRCZSgnc3Rl
cFVwKCIyMDEwLTAyIiwgbnVsbCwgbnVsbCwgIjAiKScsICciMjAxMC0wMiInKTsKK3Nob3VsZEJl
KCdzdGVwRG93bigiMjAxMC0wMiIsIG51bGwsIG51bGwsICIwIiknLCAnIjIwMTAtMDIiJyk7Citz
aG91bGRCZSgnc3RlcFVwKCIyMDEwLTAyIiwgbnVsbCwgbnVsbCwgImZvbyIpJywgJyIyMDEwLTAy
IicpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIyMDEwLTAyIiwgbnVsbCwgbnVsbCwgImZvbyIpJywg
JyIyMDEwLTAyIicpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMjAxMC0wMiIsIG51bGwsIG51bGwsIG51
bGwpJywgJyIyMDEwLTAyIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIyMDEwLTAyIiwgbnVsbCwg
bnVsbCwgbnVsbCknLCAnIjIwMTAtMDIiJyk7CitkZWJ1ZygnTm9ybWFsIGNhc2VzJyk7CitzaG91
bGRCZSgnc3RlcFVwKCIyMDEwLTAyIiwgbnVsbCwgbnVsbCknLCAnIjIwMTAtMDMiJyk7CitzaG91
bGRCZSgnc3RlcERvd24oIjIwMTAtMDIiLCBudWxsLCBudWxsKScsICciMjAxMC0wMSInKTsKK3No
b3VsZEJlKCdzdGVwVXAoIjIwMTAtMDIiLCBudWxsLCBudWxsLCAxMCknLCAnIjIwMTAtMTIiJyk7
CitzaG91bGRCZSgnc3RlcERvd24oIjIwMTAtMDIiLCBudWxsLCBudWxsLCAxMSknLCAnIjIwMDkt
MDMiJyk7CitzaG91bGRCZSgnc3RlcFVwKCIxOTcwLTAxIiwgIjQiLCBudWxsLCAyKScsICciMTk3
MC0wOSInKTsKK3Nob3VsZEJlKCdzdGVwRG93bigiMTk3MC0wMSIsICI0IiwgbnVsbCwgMyknLCAn
IjE5NjktMDEiJyk7CitkZWJ1ZygnU3RlcD1hbnknKTsKK3Nob3VsZEJlKCdzdGVwVXAoIjIwMTAt
MDIiLCAiYW55IiwgbnVsbCknLCAnIjIwMTAtMDIiJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjIw
MTAtMDIiLCAiYW55IiwgbnVsbCknLCAnIjIwMTAtMDIiJyk7CitkZWJ1ZygnT3ZlcmZsb3cvdW5k
ZXJmbG93Jyk7CitzaG91bGRCZSgnc3RlcFVwKCIyMDEwLTAyIiwgIjMuNDAyODIzNDZlKzM4Iiwg
bnVsbCknLCAnIjE5NzAtMDEiJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjIwMTAtMDIiLCAiMy40
MDI4MjM0NmUrMzgiLCBudWxsKScsICciMjc1NzYwLTA5IicpOworc2hvdWxkQmUoJ3N0ZXBVcCgi
MjAxMC0wMiIsICIxIiwgIjIwMTAtMDIiKScsICciMjAxMC0wMiInKTsKK3Nob3VsZEJlKCdzdGVw
RG93bigiMjAxMC0wMiIsICIxIiwgIjIwMTAtMDIiKScsICciMjAxMC0wMiInKTsKKworZGVidWco
JycpOworZGVidWcoJ051bWJlciB0eXBlJyk7CitpbnB1dC50eXBlID0gJ251bWJlcic7CitkZWJ1
ZygnSW52YWxpZCB2YWx1ZScpOworc2hvdWxkQmUoJ3N0ZXBVcCgiIiwgbnVsbCwgbnVsbCknLCAn
IjEiJyk7CitzaG91bGRCZSgnc3RlcERvd24oIiIsIG51bGwsIG51bGwpJywgJyItMSInKTsKK2Rl
YnVnKCdOb24tbnVtYmVyIGFyZ3VtZW50cycpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMCIsIG51bGws
IG51bGwsICIwIiknLCAnIjAiJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjAiLCBudWxsLCBudWxs
LCAiMCIpJywgJyIwIicpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMCIsIG51bGwsIG51bGwsICJmb28i
KScsICciMCInKTsKK3Nob3VsZEJlKCdzdGVwRG93bigiMCIsIG51bGwsIG51bGwsICJmb28iKScs
ICciMCInKTsKK3Nob3VsZEJlKCdzdGVwVXAoIjAiLCBudWxsLCBudWxsLCBudWxsKScsICciMCIn
KTsKK3Nob3VsZEJlKCdzdGVwRG93bigiMCIsIG51bGwsIG51bGwsIG51bGwpJywgJyIwIicpOwor
ZGVidWcoJ05vcm1hbCBjYXNlcycpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMCIsIG51bGwsIG51bGwp
JywgJyIxIicpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMSIsIG51bGwsIG51bGwsIDIpJywgJyIzIicp
Oworc2hvdWxkQmUoJ3N0ZXBVcCgiMyIsIG51bGwsIG51bGwsIC0xKScsICciMiInKTsKK3Nob3Vs
ZEJlKCdzdGVwRG93bigiMiIsIG51bGwsIG51bGwpJywgJyIxIicpOworc2hvdWxkQmUoJ3N0ZXBE
b3duKCIxIiwgbnVsbCwgbnVsbCwgMiknLCAnIi0xIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIt
MSIsIG51bGwsIG51bGwsIC0xKScsICciMCInKTsKK2RlYnVnKCdFeHRyYSBhcmd1bWVudHMnKTsK
K3Nob3VsZEJlKCdpbnB1dC52YWx1ZSA9ICIwIjsgaW5wdXQubWluID0gbnVsbDsgaW5wdXQuc3Rl
cCA9IG51bGw7IGlucHV0LnN0ZXBVcCgxLCAyKTsgaW5wdXQudmFsdWUnLCAnIjEiJyk7CitzaG91
bGRCZSgnaW5wdXQudmFsdWUgPSAiMSI7IGlucHV0LnN0ZXBEb3duKDEsIDMpOyBpbnB1dC52YWx1
ZScsICciMCInKTsKK2RlYnVnKCdJbnZhbGlkIHN0ZXAgdmFsdWUnKTsKK3Nob3VsZEJlKCdzdGVw
VXAoIjAiLCAiZm9vIiwgbnVsbCknLCAnIjEiJyk7CitzaG91bGRCZSgnc3RlcFVwKCIxIiwgIjAi
LCBudWxsKScsICciMiInKTsKK3Nob3VsZEJlKCdzdGVwVXAoIjIiLCAiLTEiLCBudWxsKScsICci
MyInKTsKK2RlYnVnKCdTdGVwPWFueScpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMCIsICJhbnkiLCBu
dWxsKScsICciMCInKTsKK3Nob3VsZEJlKCdzdGVwRG93bigiMCIsICJhbnkiLCBudWxsKScsICci
MCInKTsKK2RlYnVnKCdPdmVyZmxvdy91bmRlcmZsb3cnKTsKK3Nob3VsZEJlKCdzdGVwRG93bigi
MSIsICIxIiwgIjAiKScsICciMCInKTsKK3Nob3VsZEJlKCdzdGVwRG93bigiMCIsICIxIiwgIjAi
KScsICciMCInKTsKK3Nob3VsZEJlKCdzdGVwRG93bigiMSIsICIxIiwgIjAiLCAyKScsICciMCIn
KTsKK3Nob3VsZEJlKCdpbnB1dC52YWx1ZScsICciMCInKTsKK3Nob3VsZEJlKCdzdGVwRG93bigi
MSIsICIzLjQwMjgyMzQ2ZSszOCIsICIiLCAyKScsICciLTMuNDAyODIzNDZlKzM4IicpOworc2hv
dWxkQmUoJ3N0ZXBVcCgiLTEiLCAiMSIsICIwIiknLCAnIjAiJyk7CitzaG91bGRCZSgnc3RlcFVw
KCIwIiwgIjEiLCAiMCIpJywgJyIwIicpOworc2hvdWxkQmUoJ3N0ZXBVcCgiLTEiLCAiMSIsICIw
IiwgMiknLCAnIjAiJyk7CitzaG91bGRCZSgnaW5wdXQudmFsdWUnLCAnIjAiJyk7CitzaG91bGRC
ZSgnc3RlcFVwKCIxIiwgIjMuNDAyODIzNDZlKzM4IiwgIiIsIDIpJywgJyIzLjQwMjgyMzQ2ZSsz
OCInKTsKK2RlYnVnKCdzdGVwRG93bigpL3N0ZXBVcCgpIGZvciBzdGVwTWlzbWF0Y2ggdmFsdWVz
Jyk7CitzaG91bGRCZSgnc3RlcFVwKCIxIiwgIjIiLCAiIiknLCAnIjIiJyk7CitzaG91bGRCZSgn
aW5wdXQuc3RlcERvd24oKTsgaW5wdXQudmFsdWUnLCAnIjAiJyk7CitzaG91bGRCZSgnaW5wdXQu
bWluID0gIjAiOyBzdGVwVXAoIjkiLCAiMTAiLCAiIiwgOSknLCAnIjkwIicpOworc2hvdWxkQmUo
J3N0ZXBEb3duKCIxOSIsICIxMCIsICIwIiknLCAnIjEwIicpOworc2hvdWxkQmUoJ3N0ZXBVcCgi
ODkiLCAiMTAiLCAiOTkiKScsICciOTAiJyk7CitkZWJ1ZygnSHVnZSB2YWx1ZSBhbmQgc21hbGwg
c3RlcCcpOworc2hvdWxkQmUoJ2lucHV0Lm1pbiA9ICIiOyBzdGVwVXAoIjFlKzM4IiwgIjEiLCAi
IiwgOTk5KScsICciMWUrMzgiJyk7CitzaG91bGRCZSgnaW5wdXQubWF4ID0gIiI7IHN0ZXBEb3du
KCIxZSszOCIsICIxIiwgIiIsIDk5OSknLCAnIjFlKzM4IicpOworZGVidWcoJ0ZyYWN0aW9uYWwg
bnVtYmVycycpOworc2hvdWxkQmUoJ2lucHV0Lm1pbiA9ICIiOyBzdGVwVXAoIjAiLCAiMC4zMzMz
MzMzMzMzMzMzMzMzMyIsICIiLCAzKScsICciMSInKTsKK3Nob3VsZEJlKCdzdGVwVXAoIjEiLCAi
MC4xIiwgIiIsIDEwKScsICciMiInKTsKK3Nob3VsZEJlKCdpbnB1dC5zdGVwVXAoKTsgaW5wdXQu
c3RlcFVwKCk7IGlucHV0LnN0ZXBVcCgpOyBpbnB1dC5zdGVwVXAoKTsgaW5wdXQuc3RlcFVwKCk7
IGlucHV0LnN0ZXBVcCgpOyBpbnB1dC5zdGVwVXAoKTsgaW5wdXQuc3RlcFVwKCk7IGlucHV0LnN0
ZXBVcCgpOyBpbnB1dC5zdGVwVXAoKTsgaW5wdXQudmFsdWUnLCAnIjMiJyk7CitzaG91bGRCZSgn
aW5wdXQubWluID0gIjAiOyBzdGVwVXAoIjAiLCAiMC4wMDM5MjE1Njg2Mjc0NTA5ODAiLCAiMSIs
IDI1NSknLCAnIjEiJyk7CitzaG91bGRCZSgnZm9yICh2YXIgaSA9IDA7IGkgPCAyNTU7IGkrKykg
eyBpbnB1dC5zdGVwRG93bigpOyB9OyBpbnB1dC52YWx1ZScsICciMCInKTsKK2RlYnVnKCdSb3Vu
ZGluZycpOworc2hvdWxkQmUoJ3N0ZXBVcCgiNS4wMDUiLCAiMC4wMDUiLCAiIiwgMiknLCAnIjUu
MDE1IicpOworc2hvdWxkQmUoJ3N0ZXBVcCgiNS4wMDUiLCAiMC4wMDUiLCAiIiwgMTEpJywgJyI1
LjA2IicpOworc2hvdWxkQmUoJ3N0ZXBVcCgiNS4wMDUiLCAiMC4wMDUiLCAiIiwgMTIpJywgJyI1
LjA2NSInKTsKK3Nob3VsZEJlKCdzdGVwVXBFeHBsaWNpdEJvdW5kcygiNCIsICI5IiwgIjAuMDA1
IiwgIjUuMDA1IiwgMiknLCAnIjUuMDE1IicpOworc2hvdWxkQmUoJ3N0ZXBVcEV4cGxpY2l0Qm91
bmRzKCI0IiwgIjkiLCAiMC4wMDUiLCAiNS4wMDUiLCAxMSknLCAnIjUuMDYiJyk7CitzaG91bGRC
ZSgnc3RlcFVwRXhwbGljaXRCb3VuZHMoIjQiLCAiOSIsICIwLjAwNSIsICI1LjAwNSIsIDEyKScs
ICciNS4wNjUiJyk7CisKK2RlYnVnKCcnKTsKK2RlYnVnKCdSYW5nZSB0eXBlJyk7CitpbnB1dC50
eXBlID0gJ3JhbmdlJzsKK2RlYnVnKCdmdW5jdGlvbiBhcmd1bWVudHMgYXJlIChtaW4sIG1heCwg
c3RlcCwgdmFsdWUsIFtzdGVwQ291bnRdKScpOworZGVidWcoJ1VzaW5nIHRoZSBkZWZhdWx0IHZh
bHVlcycpOworc2hvdWxkQmUoJ3N0ZXBVcEV4cGxpY2l0Qm91bmRzKG51bGwsIG51bGwsIG51bGws
ICIiKScsICciNTEiJyk7CitzaG91bGRCZSgnc3RlcERvd25FeHBsaWNpdEJvdW5kcyhudWxsLCBu
dWxsLCBudWxsLCAiIiknLCAnIjQ5IicpOworZGVidWcoJ05vbi1udW1iZXIgYXJndW1lbnRzIChz
dGVwQ291bnQpJyk7CitzaG91bGRCZSgnc3RlcFVwRXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwg
bnVsbCwgIjAiLCAiMCIpJywgJyIwIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duRXhwbGljaXRCb3Vu
ZHMobnVsbCwgbnVsbCwgbnVsbCwgIjAiLCAiMCIpJywgJyIwIicpOworc2hvdWxkQmUoJ3N0ZXBV
cEV4cGxpY2l0Qm91bmRzKG51bGwsIG51bGwsIG51bGwsICIwIiwgImZvbyIpJywgJyIwIicpOwor
c2hvdWxkQmUoJ3N0ZXBEb3duRXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwgbnVsbCwgIjAiLCAi
Zm9vIiknLCAnIjAiJyk7CitzaG91bGRCZSgnc3RlcFVwRXhwbGljaXRCb3VuZHMobnVsbCwgbnVs
bCwgbnVsbCwgIjAiLCBudWxsKScsICciMCInKTsKK3Nob3VsZEJlKCdzdGVwRG93bkV4cGxpY2l0
Qm91bmRzKG51bGwsIG51bGwsIG51bGwsICIwIiwgbnVsbCknLCAnIjAiJyk7CitkZWJ1ZygnTm9y
bWFsIGNhc2VzJyk7CitzaG91bGRCZSgnc3RlcFVwRXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwg
bnVsbCwgIjAiKScsICciMSInKTsKK3Nob3VsZEJlKCdzdGVwVXBFeHBsaWNpdEJvdW5kcyhudWxs
LCBudWxsLCBudWxsLCAiMSIsIDIpJywgJyIzIicpOworc2hvdWxkQmUoJ3N0ZXBVcEV4cGxpY2l0
Qm91bmRzKG51bGwsIG51bGwsIG51bGwsICIzIiwgLTEpJywgJyIyIicpOworc2hvdWxkQmUoJ3N0
ZXBEb3duRXhwbGljaXRCb3VuZHMoIi0xMDAiLCBudWxsLCBudWxsLCAiMiIpJywgJyIxIicpOwor
c2hvdWxkQmUoJ3N0ZXBEb3duRXhwbGljaXRCb3VuZHMoIi0xMDAiLCBudWxsLCBudWxsLCAiMSIs
IDIpJywgJyItMSInKTsKK3Nob3VsZEJlKCdzdGVwRG93bkV4cGxpY2l0Qm91bmRzKCItMTAwIiwg
bnVsbCwgbnVsbCwgIi0xIiwgLTEpJywgJyIwIicpOworZGVidWcoJ0V4dHJhIGFyZ3VtZW50cycp
Oworc2hvdWxkQmUoJ3NldElucHV0QXR0cmlidXRlcyhudWxsLCBudWxsLCBudWxsLCAiMCIpOyBp
bnB1dC5zdGVwVXAoMSwyKTsgaW5wdXQudmFsdWUnLCAnIjEiJyk7CitzaG91bGRCZSgnc2V0SW5w
dXRBdHRyaWJ1dGVzKG51bGwsIG51bGwsIG51bGwsICIxIik7IGlucHV0LnN0ZXBEb3duKDEsMyk7
IGlucHV0LnZhbHVlJywgJyIwIicpOworZGVidWcoJ0ludmFsaWQgc3RlcCB2YWx1ZScpOworc2hv
dWxkQmUoJ3N0ZXBVcEV4cGxpY2l0Qm91bmRzKG51bGwsIG51bGwsICJmb28iLCAiMCIpJywgJyIx
IicpOworc2hvdWxkQmUoJ3N0ZXBVcEV4cGxpY2l0Qm91bmRzKG51bGwsIG51bGwsICIwIiwgIjEi
KScsICciMiInKTsKK3Nob3VsZEJlKCdzdGVwVXBFeHBsaWNpdEJvdW5kcyhudWxsLCBudWxsLCAi
LTEiLCAiMiIpJywgJyIzIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duRXhwbGljaXRCb3VuZHMobnVs
bCwgbnVsbCwgImZvbyIsICIxIiknLCAnIjAiJyk7CitzaG91bGRCZSgnc3RlcERvd25FeHBsaWNp
dEJvdW5kcyhudWxsLCBudWxsLCAiMCIsICIyIiknLCAnIjEiJyk7CitzaG91bGRCZSgnc3RlcERv
d25FeHBsaWNpdEJvdW5kcyhudWxsLCBudWxsLCAiLTEiLCAiMyIpJywgJyIyIicpOworZGVidWco
J1N0ZXA9YW55Jyk7CitzaG91bGRCZSgnc3RlcFVwRXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwg
ImFueSIsICIxIiknLCAnIjIiJyk7CitzaG91bGRCZSgnc3RlcERvd25FeHBsaWNpdEJvdW5kcyhu
dWxsLCBudWxsLCAiYW55IiwgIjEiKScsICciMCInKTsKK2RlYnVnKCdPdmVyZmxvdy91bmRlcmZs
b3cnKTsKK3Nob3VsZEJlKCdzdGVwVXBFeHBsaWNpdEJvdW5kcyhudWxsLCAiMTAwIiwgIjEiLCAi
OTkiKScsICciMTAwIicpOworc2hvdWxkQmUoJ3N0ZXBVcEV4cGxpY2l0Qm91bmRzKG51bGwsICIx
MDAiLCAiMSIsICIxMDAiKScsICciMTAwIicpOworc2hvdWxkQmUoJ2lucHV0LnZhbHVlJywgJyIx
MDAiJyk7CitzaG91bGRCZSgnc3RlcFVwRXhwbGljaXRCb3VuZHMobnVsbCwgIjEwMCIsICIxIiwg
Ijk5IiwgIjIiKScsICciMTAwIicpOworc2hvdWxkQmUoJ2lucHV0LnZhbHVlJywgJyIxMDAiJyk7
CitzaG91bGRCZSgnc3RlcERvd25FeHBsaWNpdEJvdW5kcygiMCIsIG51bGwsICIxIiwgIjEiKScs
ICciMCInKTsKK3Nob3VsZEJlKCdzdGVwRG93bkV4cGxpY2l0Qm91bmRzKCIwIiwgbnVsbCwgIjEi
LCAiMCIpJywgJyIwIicpOworc2hvdWxkQmUoJ2lucHV0LnZhbHVlJywgJyIwIicpOworc2hvdWxk
QmUoJ3N0ZXBEb3duRXhwbGljaXRCb3VuZHMoIjAiLCBudWxsLCAiMSIsICIxIiwgIjIiKScsICci
MCInKTsKK3Nob3VsZEJlKCdpbnB1dC52YWx1ZScsICciMCInKTsKK3Nob3VsZEJlKCdzdGVwRG93
bkV4cGxpY2l0Qm91bmRzKG51bGwsIG51bGwsICIzLjQwMjgyMzQ2ZSszOCIsICIxIiwgIjIiKScs
ICciMCInKTsKK3Nob3VsZEJlKCdzdGVwVXBFeHBsaWNpdEJvdW5kcygtMTAwLCAwLCAxLCAtMSkn
LCAnIjAiJyk7CitzaG91bGRCZSgnc3RlcFVwRXhwbGljaXRCb3VuZHMobnVsbCwgMCwgMSwgMCkn
LCAnIjAiJyk7CitzaG91bGRCZSgnc3RlcFVwRXhwbGljaXRCb3VuZHMoLTEwMCwgMCwgMSwgLTEs
IDIpJywgJyIwIicpOworc2hvdWxkQmUoJ2lucHV0LnZhbHVlJywgJyIwIicpOworc2hvdWxkQmUo
J3N0ZXBVcEV4cGxpY2l0Qm91bmRzKG51bGwsIG51bGwsICIzLjQwMjgyMzQ2ZSszOCIsICIxIiwg
IjIiKScsICciMCInKTsKK2RlYnVnKCdzdGVwRG93bigpL3N0ZXBVcCgpIGZvciBzdGVwTWlzbWF0
Y2ggdmFsdWVzJyk7CitzaG91bGRCZSgnc3RlcFVwRXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwg
MiwgMSknLCAnIjQiJyk7CitzaG91bGRCZSgnaW5wdXQuc3RlcERvd24oKTsgaW5wdXQudmFsdWUn
LCAnIjIiJyk7CitzaG91bGRCZSgnc3RlcFVwRXhwbGljaXRCb3VuZHMoMCwgbnVsbCwgMTAsIDks
IDkpJywgJyIxMDAiJyk7CitzaG91bGRCZSgnc3RlcERvd25FeHBsaWNpdEJvdW5kcygwLCBudWxs
LCAxMCwgMTkpJywgJyIxMCInKTsKK2RlYnVnKCd2YWx1ZSArIHN0ZXAgaXMgPD0gbWF4LCBidXQg
cm91bmRlZCByZXN1bHQgd291bGQgYmUgPiBtYXguJyk7CitzaG91bGRCZSgnc3RlcFVwRXhwbGlj
aXRCb3VuZHMobnVsbCwgOTksIDEwLCA4OSknLCAnIjkwIicpOworZGVidWcoJ0h1Z2UgdmFsdWUg
YW5kIHNtYWxsIHN0ZXAnKTsKK3Nob3VsZEJlKCdzdGVwVXBFeHBsaWNpdEJvdW5kcygwLCAxZTM4
LCAxLCAxZTM4LCA5OTkpJywgJyIxZSszOCInKTsKK3Nob3VsZEJlKCdzdGVwRG93bkV4cGxpY2l0
Qm91bmRzKDAsIDFlMzgsIDEsIDFlMzgsIDk5OSknLCAnIjFlKzM4IicpOworZGVidWcoJ0ZyYWN0
aW9uYWwgbnVtYmVycycpOworc2hvdWxkQmUoJ3N0ZXBVcEV4cGxpY2l0Qm91bmRzKG51bGwsIG51
bGwsIDAuMzMzMzMzMzMzMzMzMzMzMzMsIDAsIDMpJywgJyIxIicpOworc2hvdWxkQmUoJ3N0ZXBV
cEV4cGxpY2l0Qm91bmRzKG51bGwsIG51bGwsIDAuMSwgMSknLCAnIjEuMSInKTsKK3Nob3VsZEJl
KCdzdGVwVXBFeHBsaWNpdEJvdW5kcyhudWxsLCBudWxsLCAwLjEsIDEsIDgpJywgJyIxLjgiJyk7
CitzaG91bGRCZSgnc3RlcFVwRXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwgMC4xLCAxLCAxMCkn
LCAnIjIiJyk7CitzaG91bGRCZSgnaW5wdXQuc3RlcFVwKCk7IGlucHV0LnN0ZXBVcCgpOyBpbnB1
dC5zdGVwVXAoKTsgaW5wdXQuc3RlcFVwKCk7IGlucHV0LnN0ZXBVcCgpOyBpbnB1dC5zdGVwVXAo
KTsgaW5wdXQuc3RlcFVwKCk7IGlucHV0LnN0ZXBVcCgpOyBpbnB1dC5zdGVwVXAoKTsgaW5wdXQu
c3RlcFVwKCk7IGlucHV0LnZhbHVlJywgJyIzIicpOworc2hvdWxkQmUoJ3N0ZXBVcEV4cGxpY2l0
Qm91bmRzKDAsIDEsIDAuMDAzOTIxNTY4NjI3NDUwOTgwLCAwLCAyNTUpJywgJyIxIicpOworc2hv
dWxkQmUoJ2ZvciAodmFyIGkgPSAwOyBpIDwgMjU1OyBpKyspIHsgaW5wdXQuc3RlcERvd24oKTsg
fTsgaW5wdXQudmFsdWUnLCAnIjAiJyk7CitzaG91bGRCZSgnc3RlcERvd25FeHBsaWNpdEJvdW5k
cyhudWxsLCBudWxsLCAwLjEsIDEsIDgpJywgJyIwLjIiJyk7CitzaG91bGRCZSgnc3RlcERvd25F
eHBsaWNpdEJvdW5kcyhudWxsLCBudWxsLCAwLjEsIDEpJywgJyIwLjkiJyk7CisKK2RlYnVnKCcn
KTsKK2RlYnVnKCdUaW1lIHR5cGUnKTsKK2lucHV0LnR5cGUgPSAndGltZSc7CitkZWJ1ZygnTm9u
LW51bWJlciBhcmd1bWVudHMnKTsKK3Nob3VsZEJlKCdzdGVwVXAoIjIwOjEzIiwgbnVsbCwgbnVs
bCwgIjAiKScsICciMjA6MTMiJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjIwOjEzIiwgbnVsbCwg
bnVsbCwgIjAiKScsICciMjA6MTMiJyk7CitzaG91bGRCZSgnc3RlcFVwKCIyMDoxMyIsIG51bGws
IG51bGwsICJmb28iKScsICciMjA6MTMiJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjIwOjEzIiwg
bnVsbCwgbnVsbCwgImZvbyIpJywgJyIyMDoxMyInKTsKK3Nob3VsZEJlKCdzdGVwVXAoIjIwOjEz
IiwgbnVsbCwgbnVsbCwgbnVsbCknLCAnIjIwOjEzIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIy
MDoxMyIsIG51bGwsIG51bGwsIG51bGwpJywgJyIyMDoxMyInKTsKK2RlYnVnKCdOb3JtYWwgY2Fz
ZXMnKTsKK3Nob3VsZEJlKCdzdGVwVXAoIjIwOjEzIiwgbnVsbCwgbnVsbCknLCAnIjIwOjE0Iicp
Oworc2hvdWxkQmUoJ3N0ZXBEb3duKCIyMDoxMyIsIG51bGwsIG51bGwpJywgJyIyMDoxMiInKTsK
K3Nob3VsZEJlKCdzdGVwVXAoIjIwOjEzIiwgbnVsbCwgbnVsbCwgMTApJywgJyIyMDoyMyInKTsK
K3Nob3VsZEJlKCdzdGVwRG93bigiMjA6MTMiLCBudWxsLCBudWxsLCAxMSknLCAnIjIwOjAyIicp
Oworc2hvdWxkQmUoJ3N0ZXBVcCgiMjA6MTMiLCAiNCIsIG51bGwsIDIpJywgJyIyMDoxMzowOCIn
KTsKK3Nob3VsZEJlKCdzdGVwRG93bigiMjA6MTMiLCAiNCIsIG51bGwsIDMpJywgJyIyMDoxMjo0
OCInKTsKK2RlYnVnKCdTdGVwPWFueScpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMjA6MTMiLCAiYW55
IiwgbnVsbCknLCAnIjIwOjEzIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIyMDoxMyIsICJhbnki
LCBudWxsKScsICciMjA6MTMiJyk7CitkZWJ1ZygnT3ZlcmZsb3cvdW5kZXJmbG93Jyk7CitzaG91
bGRCZSgnc3RlcFVwKCIyMDoxMyIsICIzLjQwMjgyMzQ2ZSszOCIsIG51bGwpJywgJyIwMDowMDow
MC4wMDAiJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjIwOjEzIiwgIjMuNDAyODIzNDZlKzM4Iiwg
bnVsbCknLCAnIjIzOjU5OjU5Ljk5OSInKTsKK3Nob3VsZEJlKCdzdGVwVXAoIjIwOjEzIiwgIjEi
LCAiMjA6MTMiKScsICciMjA6MTMiJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjIwOjEzIiwgIjEi
LCAiMjA6MTMiKScsICciMjA6MTMiJyk7CitzaG91bGRCZSgnc3RlcFVwKCIyMzo1OSIsIG51bGws
IG51bGwpJywgJyIyMzo1OSInKTsKK3Nob3VsZEJlKCdzdGVwRG93bigiMDA6MDAiLCBudWxsLCBu
dWxsKScsICciMDA6MDAiJyk7CisKK2RlYnVnKCcnKTsKK2RlYnVnKCdXZWVrIHR5cGUnKTsKK2lu
cHV0LnR5cGUgPSAnd2Vlayc7CitkZWJ1ZygnTm9uLW51bWJlciBhcmd1bWVudHMnKTsKK3Nob3Vs
ZEJlKCdzdGVwVXAoIjIwMTAtVzAyIiwgbnVsbCwgbnVsbCwgIjAiKScsICciMjAxMC1XMDIiJyk7
CitzaG91bGRCZSgnc3RlcERvd24oIjIwMTAtVzAyIiwgbnVsbCwgbnVsbCwgIjAiKScsICciMjAx
MC1XMDIiJyk7CitzaG91bGRCZSgnc3RlcFVwKCIyMDEwLVcwMiIsIG51bGwsIG51bGwsICJmb28i
KScsICciMjAxMC1XMDIiJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjIwMTAtVzAyIiwgbnVsbCwg
bnVsbCwgImZvbyIpJywgJyIyMDEwLVcwMiInKTsKK3Nob3VsZEJlKCdzdGVwVXAoIjIwMTAtVzAy
IiwgbnVsbCwgbnVsbCwgbnVsbCknLCAnIjIwMTAtVzAyIicpOworc2hvdWxkQmUoJ3N0ZXBEb3du
KCIyMDEwLVcwMiIsIG51bGwsIG51bGwsIG51bGwpJywgJyIyMDEwLVcwMiInKTsKK2RlYnVnKCdO
b3JtYWwgY2FzZXMnKTsKK3Nob3VsZEJlKCdzdGVwVXAoIjIwMTAtVzAyIiwgbnVsbCwgbnVsbCkn
LCAnIjIwMTAtVzAzIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIyMDEwLVcwMiIsIG51bGwsIG51
bGwpJywgJyIyMDEwLVcwMSInKTsKK3Nob3VsZEJlKCdzdGVwVXAoIjIwMTAtVzAyIiwgbnVsbCwg
bnVsbCwgMTApJywgJyIyMDEwLVcxMiInKTsKK3Nob3VsZEJlKCdzdGVwRG93bigiMjAxMC1XMDIi
LCBudWxsLCBudWxsLCAxMSknLCAnIjIwMDktVzQ0IicpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMTk3
MC1XMDEiLCAiNCIsIG51bGwsIDIpJywgJyIxOTcwLVcwOSInKTsKK3Nob3VsZEJlKCdzdGVwRG93
bigiMTk3MC1XMDEiLCAiNCIsIG51bGwsIDMpJywgJyIxOTY5LVc0MSInKTsKK2RlYnVnKCdTdGVw
PWFueScpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMjAxMC1XMDIiLCAiYW55IiwgbnVsbCknLCAnIjIw
MTAtVzAyIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIyMDEwLVcwMiIsICJhbnkiLCBudWxsKScs
ICciMjAxMC1XMDIiJyk7CitkZWJ1ZygnT3ZlcmZsb3cvdW5kZXJmbG93Jyk7CitzaG91bGRCZSgn
c3RlcFVwKCIyMDEwLVcwMiIsICIzLjQwMjgyMzQ2ZSszOCIsIG51bGwpJywgJyIxOTcwLVcwMSIn
KTsKK3Nob3VsZEJlKCdzdGVwRG93bigiMjAxMC1XMDIiLCAiMy40MDI4MjM0NmUrMzgiLCBudWxs
KScsICciMjc1NzYwLVczNyInKTsKK3Nob3VsZEJlKCdzdGVwVXAoIjIwMTAtVzAyIiwgIjEiLCAi
MjAxMC1XMDIiKScsICciMjAxMC1XMDIiJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjIwMTAtVzAy
IiwgIjEiLCAiMjAxMC1XMDIiKScsICciMjAxMC1XMDIiJyk7CisKK2RlYnVnKCcnKTsKK2RlYnVn
KCdVbnN1cHBvcnRlZCB0eXBlJyk7CitzaG91bGRUaHJvdygnaW5wdXQuc3RlcCA9ICIzIjsgaW5w
dXQubWluID0gIiI7IGlucHV0Lm1heCA9ICIiOyBpbnB1dC52YWx1ZSA9ICIyIjsgaW5wdXQuc3Rl
cERvd24oKScsICciRXJyb3I6IElOVkFMSURfU1RBVEVfRVJSOiBET00gRXhjZXB0aW9uIDExIicp
Oworc2hvdWxkVGhyb3coJ2lucHV0LnN0ZXBEb3duKDApJywgJyJFcnJvcjogSU5WQUxJRF9TVEFU
RV9FUlI6IERPTSBFeGNlcHRpb24gMTEiJyk7CitzaG91bGRUaHJvdygnaW5wdXQuc3RlcFVwKCkn
LCAnIkVycm9yOiBJTlZBTElEX1NUQVRFX0VSUjogRE9NIEV4Y2VwdGlvbiAxMSInKTsKK3Nob3Vs
ZFRocm93KCdpbnB1dC5zdGVwVXAoMCknLCAnIkVycm9yOiBJTlZBTElEX1NUQVRFX0VSUjogRE9N
IEV4Y2VwdGlvbiAxMSInKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDVkMWMz
YzM2MTU2ZTI3ZWYwNTBmZDUzOTlhOGMxYWQyN2IxMjVhYTUuLjU2OWFlM2QyMzhiMTc1ZmIwOWU0
MGI3MTJmOWE1NDJhMDk4MWJiYzMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBi
L1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNjYgQEAKKzIwMTAtMTEtMjQgIERhaSBNaWt1
cnViZSAgPGRtaWt1cnViZUBnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIHdoZW4gZW1wdHksIGNsaWNraW5nICJkb3duIiBvbiBvdXRl
ci1zcGluLWJ1dHRvbiByZXR1cm5zICJtYXggdmFsdWUiCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NTQ5MQorCisgICAgICAgIE1vZGlmaWVkIHN0ZXBw
aW5nLXVwL2Rvd24gZnJvbSByZW5kZXJlcgorICAgICAgICAtIHRvIGNsYW1wIHN0ZXBzLAorICAg
ICAgICAtIHRvIGhhbmRsZSBlbXB0eSB2YWx1ZXMgKGRlc2NyaWJlZCBiZWxvdyksIGFuZAorICAg
ICAgICAtIHRvIGFwcGx5IHRoZW0gZm9yIHJhbmdlIHR5cGUgaW5wdXRzLgorCisgICAgICAgIFN0
ZXBwaW5nLXVwL2Rvd24gZm9yIGVtcHR5IHZhbHVlcyBhcmUgaGFuZGxlZCAidGhlIGVtcHR5IGFz
IDAuIgorICAgICAgICBGb3IgZXhhbXBsZSA6CisgICAgICAgICogSWYgMCBpcyBpbi1yYW5nZSwg
YW5kIG1hdGNoZXMgdG8gc3RlcCB2YWx1ZQorICAgICAgICAgICJkb3duIiAtPiAtc3RlcAorICAg
ICAgICAgICJ1cCIgLT4gK3N0ZXAKKyAgICAgICAgICBJZiAtc3RlcCBvciArc3RlcCBpcyBvdXQg
b2YgcmFuZ2UsIG5ldyB2YWx1ZSBzaG91bGQgYmUgMC4KKworICAgICAgICAqIElmIDAgaXMgc21h
bGxlciB0aGFuIHRoZSBtaW5pbXVtIHZhbHVlCisgICAgICAgICAgImRvd24iIC0+IHRoZSBtaW5p
bXVtIHZhbHVlCisgICAgICAgICAgInVwIiAtPiB0aGUgbWluaW11bSB2YWx1ZQorCisgICAgICAg
ICogSWYgMCBpcyBsYXJnZXIgdGhhbiB0aGUgbWF4aW11bSB2YWx1ZQorICAgICAgICAgICJkb3du
IiAtPiB0aGUgbWF4aW11bSB2YWx1ZQorICAgICAgICAgICJ1cCIgLT4gdGhlIG1heGltdW0gdmFs
dWUKKworICAgICAgICAqIElmIDAgaXMgaW4tcmFuZ2UsIGJ1dCBub3QgbWF0Y2hlZCB0byBzdGVw
IHZhbHVlCisgICAgICAgICAgImRvd24iIC0+IHNtYWxlciBtYXRjaGVkIHZhbHVlIG5lYXJlc3Qg
dG8gMC4KKyAgICAgICAgICAgIGUuZy4gPGlucHV0IHR5cGU9bnVtYmVyIG1pbj0tMTAwIHN0ZXA9
Mz4gLT4gLTEKKyAgICAgICAgICAidXAiIC0+IGxhcmdlciBtYXRjaGVkIHZhbHVlIG5lYXJlc3Qg
dG8gMC4KKyAgICAgICAgICAgIGUuZy4gPGlucHV0IHR5cGU9bnVtYmVyIG1pbj0tMTAwIHN0ZXA9
Mz4gLT4gMgorCisgICAgICAgIEFzIGZvciBkYXRlL2RhdGV0aW1lL2RhdGV0aW1lLWxvY2FsL21v
bnRoL3RpbWUvd2VlayB0eXBlcywgdGhlIGVtcHR5IGlzIGFzc3VtZWQgYXMgImN1cnJlbnQgZGF0
ZS90aW1lIi4KKworICAgICAgICBBcyBmb3IgcmFuZ2UgaW5wdXQgdHlwZXMsIGNoYW5nZWQgc3Rl
cHBpbmcgZnJvbSByZW5kZXJlciB0byB1c2Ugc3RlcFVwRnJvbVJlbmRlcmVyKCkuCisgICAgICAg
IEl0IHdhcyBjYWxjdWxhdGVkIHdpdGggc3RlcFVwKCkgZnJvbSBSYW5nZUlucHV0VHlwZTo6aGFu
ZGxlS2V5ZG93bkV2ZW50KCkuCisKKyAgICAgICAgVGVzdDogZmFzdC9mb3Jtcy9pbnB1dC1zdGVw
dXAtc3RlcGRvd24tZnJvbS1yZW5kZXJlci5odG1sCisKKyAgICAgICAgKiBodG1sL0Jhc2VEYXRl
QW5kVGltZUlucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpCYXNlRGF0ZUFuZFRpbWVJ
bnB1dFR5cGU6OnN0YXJ0aW5nVmFsdWUpOiBBZGRlZCBzdGFydGluZ1ZhbHVlKCkgd2hpY2ggcmV0
dXJucyB0aGUgY3VycmVudCBsb2NhbCB0aW1lCisgICAgICAgICogaHRtbC9CYXNlRGF0ZUFuZFRp
bWVJbnB1dFR5cGUuaDoKKyAgICAgICAgKiBodG1sL0RhdGVUaW1lSW5wdXRUeXBlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkRhdGVUaW1lSW5wdXRUeXBlOjpzdGFydGluZ1ZhbHVlKTogQWRkZWQg
c3RhcnRpbmdWYWx1ZSgpIHdoaWNoIHJldHVybnMgdGhlIGN1cnJlbnQgVVRDIHRpbWUKKyAgICAg
ICAgKiBodG1sL0RhdGVUaW1lSW5wdXRUeXBlLmg6CisgICAgICAgICogaHRtbC9IVE1MSW5wdXRF
bGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQ6OnN0ZXBVcEZy
b21SZW5kZXJlcik6IE1vZGlmaWVkIGl0IHRvIGNsYW1wIHN0ZXBzLCBzdXBwb3J0IGVtcHR5IHZh
bHVlcyBhbmQgc3VwcG9ydCByYW5nZSB0eXBlIGlucHV0cworICAgICAgICAqIGh0bWwvSFRNTElu
cHV0RWxlbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6aXNSYW5n
ZUNvbnRyb2wpOgorICAgICAgICAqIGh0bWwvSW5wdXRUeXBlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OklucHV0VHlwZTo6c3RhcnRpbmdWYWx1ZSk6IEFkZGVkIHN0YXJ0aW5nVmFsdWUoKSB3aGlj
aCByZXR1cm5zIDAKKyAgICAgICAgKiBodG1sL0lucHV0VHlwZS5oOgorICAgICAgICAqIGh0bWwv
TW9udGhJbnB1dFR5cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TW9udGhJbnB1dFR5cGU6OnN0
YXJ0aW5nVmFsdWUpOiBBZGRlZCBzdGFydGluZ1ZhbHVlKCkgd2hpY2ggcmV0dXJucyB0aGUgY3Vy
cmVudCBtb250aAorICAgICAgICAqIGh0bWwvTW9udGhJbnB1dFR5cGUuaDoKKyAgICAgICAgKiBo
dG1sL1JhbmdlSW5wdXRUeXBlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJhbmdlSW5wdXRUeXBl
OjpoYW5kbGVLZXlkb3duRXZlbnQpOiBBZGRlZCBjb21tZW50cyBhbmQgbW9kaWZpZWQgaXQgdG8g
dXNlIHN0ZXBVcEZyb21SZW5kZXJlcigpCisgICAgICAgICogaHRtbC9UaW1lSW5wdXRUeXBlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVJbnB1dFR5cGU6OnN0YXJ0aW5nVmFsdWUpOiBBZGRl
ZCBzdGFydGluZ1ZhbHVlKCkgd2hpY2ggcmV0dXJucyB0aGUgY3VycmVudCB0aW1lCisgICAgICAg
ICogaHRtbC9UaW1lSW5wdXRUeXBlLmg6CisgICAgICAgICogbWFudWFsLXRlc3RzL2lucHV0LXR5
cGUtZGF0ZXRpbWUtZGVmYXVsdC12YWx1ZS5odG1sOiBBZGRlZCBtYW51YWwgdGVzdHMgZm9yIGRl
ZmF1bHQgdmFsdWVzIG9mIGRhdGUvdGltZSBpbnB1dHMKKwogMjAxMC0xMS0xOCAgR2F2aW4gQmFy
cmFjbG91Z2ggIDxiYXJyYWNsb3VnaEBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkg
T2xpdmVyIEh1bnQuCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvQmFzZURhdGVBbmRUaW1lSW5w
dXRUeXBlLmNwcCBiL1dlYkNvcmUvaHRtbC9CYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGUuY3BwCmlu
ZGV4IGU3ODBlZDZiYTI0ZDIwZmFmYmRiNjI5ZTI4MzY5ODVmMWE1YTkwY2MuLmE0ZDhhOGFkYmI2
NTM5YzNhZmY5MzBhNTA5MDc5ZjAzOTFkMTQ5ZTIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9C
YXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGUuY3BwCisrKyBiL1dlYkNvcmUvaHRtbC9CYXNlRGF0ZUFu
ZFRpbWVJbnB1dFR5cGUuY3BwCkBAIC0zNSw2ICszNSw4IEBACiAjaW5jbHVkZSAiSFRNTElucHV0
RWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1ZGUgPGxpbWl0cz4KKyNp
bmNsdWRlIDx3dGYvQ3VycmVudFRpbWUuaD4KKyNpbmNsdWRlIDx3dGYvRGF0ZU1hdGguaD4KICNp
bmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAj
aW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CkBAIC05MSw2ICs5MywxNSBAQCBib29sIEJh
c2VEYXRlQW5kVGltZUlucHV0VHlwZTo6cmFuZ2VPdmVyZmxvdyhjb25zdCBTdHJpbmcmIHZhbHVl
KSBjb25zdAogICAgIHJldHVybiBpc2Zpbml0ZShkb3VibGVWYWx1ZSkgJiYgZG91YmxlVmFsdWUg
PiBtYXhpbXVtKCk7CiB9CiAKK2RvdWJsZSBCYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGU6OnN0YXJ0
aW5nVmFsdWUoKSBjb25zdAoreworICAgIGRvdWJsZSBtcyA9IGN1cnJlbnRUaW1lTVMoKTsKKyAg
ICBkb3VibGUgdXRjT2Zmc2V0ID0gY2FsY3VsYXRlVVRDT2Zmc2V0KCk7CisgICAgZG91YmxlIGRz
dE9mZnNldCA9IGNhbGN1bGF0ZURTVE9mZnNldChtcywgdXRjT2Zmc2V0KTsKKyAgICBpbnQgb2Zm
c2V0ID0gc3RhdGljX2Nhc3Q8aW50PigodXRjT2Zmc2V0ICsgZHN0T2Zmc2V0KSAvIG1zUGVyTWlu
dXRlKTsKKyAgICByZXR1cm4gbXMgKyAob2Zmc2V0ICogbXNQZXJNaW51dGUpOworfQorCiBib29s
IEJhc2VEYXRlQW5kVGltZUlucHV0VHlwZTo6c3RlcE1pc21hdGNoKGNvbnN0IFN0cmluZyYgdmFs
dWUsIGRvdWJsZSBzdGVwKSBjb25zdAogewogICAgIGNvbnN0IGRvdWJsZSBuYW4gPSBudW1lcmlj
X2xpbWl0czxkb3VibGU+OjpxdWlldF9OYU4oKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9C
YXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGUuaCBiL1dlYkNvcmUvaHRtbC9CYXNlRGF0ZUFuZFRpbWVJ
bnB1dFR5cGUuaAppbmRleCAxMWM2MGFmY2E2NThjNmI3MjJmYzAyN2RkZTU4NGNkNjc1NjBkNDlh
Li42MTVjOTA4ZjA5OTlkMTI3MDBhNzhiN2FmMjRmZGZkZjcyMTMxNmU5IDEwMDY0NAotLS0gYS9X
ZWJDb3JlL2h0bWwvQmFzZURhdGVBbmRUaW1lSW5wdXRUeXBlLmgKKysrIGIvV2ViQ29yZS9odG1s
L0Jhc2VEYXRlQW5kVGltZUlucHV0VHlwZS5oCkBAIC01NSw2ICs1NSw3IEBAIHByaXZhdGU6CiAg
ICAgdmlydHVhbCBib29sIHR5cGVNaXNtYXRjaCgpIGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBy
YW5nZVVuZGVyZmxvdyhjb25zdCBTdHJpbmcmKSBjb25zdDsKICAgICB2aXJ0dWFsIGJvb2wgcmFu
Z2VPdmVyZmxvdyhjb25zdCBTdHJpbmcmKSBjb25zdDsKKyAgICB2aXJ0dWFsIGRvdWJsZSBzdGFy
dGluZ1ZhbHVlKCkgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIHN0ZXBNaXNtYXRjaChjb25zdCBT
dHJpbmcmLCBkb3VibGUpIGNvbnN0OwogICAgIHZpcnR1YWwgZG91YmxlIHN0ZXBCYXNlKCkgY29u
c3Q7CiAgICAgdmlydHVhbCBib29sIGhhbmRsZUtleWRvd25FdmVudChLZXlib2FyZEV2ZW50Kik7
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvRGF0ZVRpbWVJbnB1dFR5cGUuY3BwIGIvV2ViQ29y
ZS9odG1sL0RhdGVUaW1lSW5wdXRUeXBlLmNwcAppbmRleCBjNzhhNTQwNTZhMTVlMTAyOTZkZWU4
MmQwNjNlNDYyMjljMDgzNmQ3Li4yOTdhMTViZTkwYmM0Yjc4NTA5MTkxNTgxODA0MTAxYmMyNmNk
YmUxIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvRGF0ZVRpbWVJbnB1dFR5cGUuY3BwCisrKyBi
L1dlYkNvcmUvaHRtbC9EYXRlVGltZUlucHV0VHlwZS5jcHAKQEAgLTUzLDYgKzUzLDExIEBAIGNv
bnN0IEF0b21pY1N0cmluZyYgRGF0ZVRpbWVJbnB1dFR5cGU6OmZvcm1Db250cm9sVHlwZSgpIGNv
bnN0CiAgICAgcmV0dXJuIElucHV0VHlwZU5hbWVzOjpkYXRldGltZSgpOwogfQogCitkb3VibGUg
RGF0ZVRpbWVJbnB1dFR5cGU6OnN0YXJ0aW5nVmFsdWUoKSBjb25zdAoreworICAgIHJldHVybiBj
dXJyZW50VGltZU1TKCk7Cit9CisKIGRvdWJsZSBEYXRlVGltZUlucHV0VHlwZTo6bWluaW11bSgp
IGNvbnN0CiB7CiAgICAgcmV0dXJuIHBhcnNlVG9Eb3VibGUoZWxlbWVudCgpLT5mYXN0R2V0QXR0
cmlidXRlKG1pbkF0dHIpLCBEYXRlQ29tcG9uZW50czo6bWluaW11bURhdGVUaW1lKCkpOwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9odG1sL0RhdGVUaW1lSW5wdXRUeXBlLmggYi9XZWJDb3JlL2h0bWwv
RGF0ZVRpbWVJbnB1dFR5cGUuaAppbmRleCAxNDA5NzViMTk1MTg0YWUwYjZkOGY4ZWE0ZDU2MzQ4
NWUxNjFhYzNmLi4xN2ZmY2VjNzUwMmNiZjZhNzQ0MDViZmRjNWYxZDhmYjVhODA1NTEzIDEwMDY0
NAotLS0gYS9XZWJDb3JlL2h0bWwvRGF0ZVRpbWVJbnB1dFR5cGUuaAorKysgYi9XZWJDb3JlL2h0
bWwvRGF0ZVRpbWVJbnB1dFR5cGUuaApAQCAtNDIsNiArNDIsNyBAQCBwdWJsaWM6CiBwcml2YXRl
OgogICAgIERhdGVUaW1lSW5wdXRUeXBlKEhUTUxJbnB1dEVsZW1lbnQqIGVsZW1lbnQpIDogQmFz
ZURhdGVBbmRUaW1lSW5wdXRUeXBlKGVsZW1lbnQpIHsgfQogICAgIHZpcnR1YWwgY29uc3QgQXRv
bWljU3RyaW5nJiBmb3JtQ29udHJvbFR5cGUoKSBjb25zdDsKKyAgICB2aXJ0dWFsIGRvdWJsZSBz
dGFydGluZ1ZhbHVlKCkgY29uc3Q7CiAgICAgdmlydHVhbCBkb3VibGUgbWluaW11bSgpIGNvbnN0
OwogICAgIHZpcnR1YWwgZG91YmxlIG1heGltdW0oKSBjb25zdDsKICAgICB2aXJ0dWFsIGRvdWJs
ZSBkZWZhdWx0U3RlcCgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUxJbnB1
dEVsZW1lbnQuY3BwIGIvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCmluZGV4IGFm
NGU3ZDA1NDgyMTcxMTBlMzk3YzNiYzRhMWZlY2Y3NzY3YjU4MDkuLjBiYjg4Y2U3M2U0MjVlZTZh
MGI2MWE2ZmEyNWFiMTc1MjIyZjQzZjcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1MSW5w
dXRFbGVtZW50LmNwcAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAKQEAg
LTE4NTksMjcgKzE4NTksNjEgQEAgdm9pZCBIVE1MSW5wdXRFbGVtZW50OjpzdGVwVXBGcm9tUmVu
ZGVyZXIoaW50IG4pCiAgICAgLy8gIC0gVGhlIHZhbHVlIHNob3VsZCBiZSB0aGUgbWF4aW11bSB2
YWx1ZSBpZiBuIDwgMAogICAgIC8vICAtIE5vdGhpbmcgc2hvdWxkIGhhcHBlbiBpZiBuID4gMAog
Ci0gICAgQVNTRVJUKGhhc1NwaW5CdXR0b24oKSk7Ci0gICAgaWYgKCFoYXNTcGluQnV0dG9uKCkp
CisgICAgQVNTRVJUKGhhc1NwaW5CdXR0b24oKSB8fCBpc1JhbmdlQ29udHJvbCgpKTsKKyAgICBp
ZiAoIWhhc1NwaW5CdXR0b24oKSAmJiAhaXNSYW5nZUNvbnRyb2woKSkKICAgICAgICAgcmV0dXJu
OwogICAgIEFTU0VSVChuKTsKICAgICBpZiAoIW4pCiAgICAgICAgIHJldHVybjsKIAorICAgIHVu
c2lnbmVkIHN0ZXBEZWNpbWFsUGxhY2VzLCBiYXNlRGVjaW1hbFBsYWNlczsKKyAgICBkb3VibGUg
c3RlcCwgYmFzZTsKKyAgICBpZiAoIWdldEFsbG93ZWRWYWx1ZVN0ZXBXaXRoRGVjaW1hbFBsYWNl
cygmc3RlcCwgJnN0ZXBEZWNpbWFsUGxhY2VzKSkKKyAgICAgICAgcmV0dXJuOworICAgIGJhc2Ug
PSBtX2lucHV0VHlwZS0+c3RlcEJhc2VXaXRoRGVjaW1hbFBsYWNlcygmYmFzZURlY2ltYWxQbGFj
ZXMpOworICAgIGJhc2VEZWNpbWFsUGxhY2VzID0gbWluKGJhc2VEZWNpbWFsUGxhY2VzLCAxNnUp
OworCisgICAgaW50IHNpZ24gPSBuICogKHN0ZXAgPCAwID8gKC0xKSA6ICgxKSk7CisKICAgICBj
b25zdCBkb3VibGUgbmFuID0gbnVtZXJpY19saW1pdHM8ZG91YmxlPjo6cXVpZXRfTmFOKCk7CiAg
ICAgU3RyaW5nIGN1cnJlbnRTdHJpbmdWYWx1ZSA9IHZhbHVlKCk7CiAgICAgZG91YmxlIGN1cnJl
bnQgPSBtX2lucHV0VHlwZS0+cGFyc2VUb0RvdWJsZShjdXJyZW50U3RyaW5nVmFsdWUsIG5hbik7
Ci0gICAgaWYgKCFpc2Zpbml0ZShjdXJyZW50KSB8fCAobiA+IDAgJiYgY3VycmVudCA8IG1faW5w
dXRUeXBlLT5taW5pbXVtKCkpIHx8IChuIDwgMCAmJiBjdXJyZW50ID4gbV9pbnB1dFR5cGUtPm1h
eGltdW0oKSkpCi0gICAgICAgIHNldFZhbHVlKG1faW5wdXRUeXBlLT5zZXJpYWxpemUobiA+IDAg
PyBtX2lucHV0VHlwZS0+bWluaW11bSgpIDogbV9pbnB1dFR5cGUtPm1heGltdW0oKSkpOworICAg
IGlmICghaXNmaW5pdGUoY3VycmVudCkpIHsKKyAgICAgICAgRXhjZXB0aW9uQ29kZSBlYzsKKyAg
ICAgICAgY3VycmVudCA9IG1faW5wdXRUeXBlLT5zdGFydGluZ1ZhbHVlKCk7CisgICAgICAgIHNl
dFZhbHVlQXNOdW1iZXIoY3VycmVudCwgZWMpOworICAgIH0KKyAgICBpZiAoKHNpZ24gPiAwICYm
IGN1cnJlbnQgPCBtX2lucHV0VHlwZS0+bWluaW11bSgpKSB8fCAoc2lnbiA8IDAgJiYgY3VycmVu
dCA+IG1faW5wdXRUeXBlLT5tYXhpbXVtKCkpKQorICAgICAgICBzZXRWYWx1ZShtX2lucHV0VHlw
ZS0+c2VyaWFsaXplKHNpZ24gPiAwID8gbV9pbnB1dFR5cGUtPm1pbmltdW0oKSA6IG1faW5wdXRU
eXBlLT5tYXhpbXVtKCkpKTsKICAgICBlbHNlIHsKICAgICAgICAgRXhjZXB0aW9uQ29kZSBlYzsK
LSAgICAgICAgc3RlcFVwKG4sIGVjKTsKKyAgICAgICAgaWYgKHN0ZXBNaXNtYXRjaChjdXJyZW50
U3RyaW5nVmFsdWUpKSB7CisgICAgICAgICAgICBkb3VibGUgbmV3VmFsdWU7CisgICAgICAgICAg
ICBkb3VibGUgc2NhbGUgPSBwb3coMTAuMCwgc3RhdGljX2Nhc3Q8ZG91YmxlPihtYXgoc3RlcERl
Y2ltYWxQbGFjZXMsIGJhc2VEZWNpbWFsUGxhY2VzKSkpOworCisgICAgICAgICAgICBpZiAoc2ln
biA8IDApCisgICAgICAgICAgICAgICAgbmV3VmFsdWUgPSByb3VuZCgoYmFzZSArIGNlaWwoKGN1
cnJlbnQgLSBiYXNlKSAvIHN0ZXApICogc3RlcCkgKiBzY2FsZSkgLyBzY2FsZTsKKyAgICAgICAg
ICAgIGVsc2UKKyAgICAgICAgICAgICAgICBuZXdWYWx1ZSA9IHJvdW5kKChiYXNlICsgZmxvb3Io
KGN1cnJlbnQgLSBiYXNlKSAvIHN0ZXApICogc3RlcCkgKiBzY2FsZSkgLyBzY2FsZTsKKworICAg
ICAgICAgICAgaWYgKG5ld1ZhbHVlIDwgbV9pbnB1dFR5cGUtPm1pbmltdW0oKSkKKyAgICAgICAg
ICAgICAgICBuZXdWYWx1ZSA9IG1faW5wdXRUeXBlLT5taW5pbXVtKCk7CisgICAgICAgICAgICBp
ZiAobmV3VmFsdWUgPiBtX2lucHV0VHlwZS0+bWF4aW11bSgpKQorICAgICAgICAgICAgICAgIG5l
d1ZhbHVlID0gbV9pbnB1dFR5cGUtPm1heGltdW0oKTsKKworICAgICAgICAgICAgc2V0VmFsdWVB
c051bWJlcihuZXdWYWx1ZSwgZWMpOworICAgICAgICAgICAgY3VycmVudCA9IG5ld1ZhbHVlOwor
ICAgICAgICB9CisgICAgICAgIGFwcGx5U3RlcChuLCBlYyk7CiAgICAgfQogCiAgICAgaWYgKGN1
cnJlbnRTdHJpbmdWYWx1ZSAhPSB2YWx1ZSgpKSB7CiAgICAgICAgIGlmIChyZW5kZXJlcigpICYm
IHJlbmRlcmVyKCktPmlzVGV4dEZpZWxkKCkpCiAgICAgICAgICAgICB0b1JlbmRlclRleHRDb250
cm9sKHJlbmRlcmVyKCkpLT5zZXRDaGFuZ2VkU2luY2VMYXN0Q2hhbmdlRXZlbnQodHJ1ZSk7Ci0g
ICAgICAgIGRpc3BhdGNoRXZlbnQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkuaW5wdXRFdmVu
dCwgdHJ1ZSwgZmFsc2UpKTsKKyAgICAgICAgaWYgKGlzUmFuZ2VDb250cm9sKCkpCisgICAgICAg
ICAgICBkaXNwYXRjaEZvcm1Db250cm9sQ2hhbmdlRXZlbnQoKTsKKyAgICAgICAgZWxzZQorICAg
ICAgICAgICAgZGlzcGF0Y2hFdmVudChFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5pbnB1dEV2
ZW50LCB0cnVlLCBmYWxzZSkpOwogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1s
L0hUTUxJbnB1dEVsZW1lbnQuaCBiL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmgKaW5k
ZXggOTg4NDExN2I4MTFjY2ExOWVlMDc0N2IwNWQwNWI4ZmNlMDIyYjUxYi4uMzc2NjA4YzRmNjZh
YTA3ZjI4NzAyNTZhOTU5ZGI1ZDQyYWZkMzkwNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hU
TUxJbnB1dEVsZW1lbnQuaAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oCkBA
IC0yNyw2ICsyNyw3IEBACiAjaW5jbHVkZSAiSFRNTEZvcm1Db250cm9sRWxlbWVudC5oIgogI2lu
Y2x1ZGUgIkhUTUxGb3JtRWxlbWVudC5oIgogI2luY2x1ZGUgIklucHV0RWxlbWVudC5oIgorI2lu
Y2x1ZGUgIklucHV0VHlwZS5oIgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewpAQCAtMjY3LDYgKzI2OCw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCBib29s
IGlzVGV4dEZvcm1Db250cm9sKCkgY29uc3QgeyByZXR1cm4gaXNUZXh0RmllbGQoKTsgfQogCiAg
ICAgdmlydHVhbCBib29sIGhhc1NwaW5CdXR0b24oKSBjb25zdCB7IHJldHVybiBkZXByZWNhdGVk
SW5wdXRUeXBlKCkgPT0gTlVNQkVSIHx8IGRlcHJlY2F0ZWRJbnB1dFR5cGUoKSA9PSBEQVRFIHx8
IGRlcHJlY2F0ZWRJbnB1dFR5cGUoKSA9PSBEQVRFVElNRSB8fCBkZXByZWNhdGVkSW5wdXRUeXBl
KCkgPT0gREFURVRJTUVMT0NBTCB8fCBkZXByZWNhdGVkSW5wdXRUeXBlKCkgPT0gTU9OVEggfHwg
ZGVwcmVjYXRlZElucHV0VHlwZSgpID09IFRJTUUgfHwgZGVwcmVjYXRlZElucHV0VHlwZSgpID09
IFdFRUs7IH0KKyAgICB2aXJ0dWFsIGJvb2wgaXNSYW5nZUNvbnRyb2woKSBjb25zdCB7IHJldHVy
biBmb3JtQ29udHJvbFR5cGUoKSA9PSBJbnB1dFR5cGVOYW1lczo6cmFuZ2UoKTsgfQogICAgIHZp
cnR1YWwgYm9vbCBjYW5UcmlnZ2VySW1wbGljaXRTdWJtaXNzaW9uKCkgY29uc3QgeyByZXR1cm4g
aXNUZXh0RmllbGQoKTsgfQogCiAgICAgYm9vbCBhbGxvd3NJbmRldGVybWluYXRlKCkgY29uc3Qg
eyByZXR1cm4gZGVwcmVjYXRlZElucHV0VHlwZSgpID09IENIRUNLQk9YIHx8IGRlcHJlY2F0ZWRJ
bnB1dFR5cGUoKSA9PSBSQURJTzsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0lucHV0VHlw
ZS5jcHAgYi9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmNwcAppbmRleCA2ZGQwMDJjNGYyYWZkMTUx
ZWQ0MmJiOGUzMzBlMWY1MjI0ZDgzMmMyLi5kMDk0ZjYzMmI0YjY3NTBlM2Y5MjRkYmQ4NmNkMTRk
MDYxNWFhMTRiIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmNwcAorKysgYi9X
ZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmNwcApAQCAtMjEzLDYgKzIxMywxMSBAQCBib29sIElucHV0
VHlwZTo6cmFuZ2VPdmVyZmxvdyhjb25zdCBTdHJpbmcmKSBjb25zdAogICAgIHJldHVybiBmYWxz
ZTsKIH0KIAorZG91YmxlIElucHV0VHlwZTo6c3RhcnRpbmdWYWx1ZSgpIGNvbnN0Cit7CisgICAg
cmV0dXJuIDA7Cit9CisKIGRvdWJsZSBJbnB1dFR5cGU6Om1pbmltdW0oKSBjb25zdAogewogICAg
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0lucHV0VHlw
ZS5oIGIvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5oCmluZGV4IGYxYTViNmRjYTBmN2ZhZTIzMDI5
ZThjMjY5NDlkYWEyMjJkNzNiMWEuLjAyMmUyZWUwZDEwZDIyZDViNjRjYmM1NjU5MTFhZTUzMDM5
YjA3OTcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuaAorKysgYi9XZWJDb3Jl
L2h0bWwvSW5wdXRUeXBlLmgKQEAgLTg5LDYgKzg5LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwg
Ym9vbCBwYXR0ZXJuTWlzbWF0Y2goY29uc3QgU3RyaW5nJikgY29uc3Q7CiAgICAgdmlydHVhbCBi
b29sIHJhbmdlVW5kZXJmbG93KGNvbnN0IFN0cmluZyYpIGNvbnN0OwogICAgIHZpcnR1YWwgYm9v
bCByYW5nZU92ZXJmbG93KGNvbnN0IFN0cmluZyYpIGNvbnN0OworICAgIHZpcnR1YWwgZG91Ymxl
IHN0YXJ0aW5nVmFsdWUoKSBjb25zdDsKICAgICB2aXJ0dWFsIGRvdWJsZSBtaW5pbXVtKCkgY29u
c3Q7CiAgICAgdmlydHVhbCBkb3VibGUgbWF4aW11bSgpIGNvbnN0OwogICAgIHZpcnR1YWwgYm9v
bCBzdGVwTWlzbWF0Y2goY29uc3QgU3RyaW5nJiwgZG91YmxlKSBjb25zdDsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvaHRtbC9Nb250aElucHV0VHlwZS5jcHAgYi9XZWJDb3JlL2h0bWwvTW9udGhJbnB1
dFR5cGUuY3BwCmluZGV4IGNiZGU1Y2JhZDI5NDFkNGM1ODFhODNiYTEwMWU0OWFkYWIyM2RkNTYu
LjhiYzAzNGI1ODM0OTNhOGJhMTA4MmEyMzM5MDVhZmJhOTRhMmU5NjkgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvaHRtbC9Nb250aElucHV0VHlwZS5jcHAKKysrIGIvV2ViQ29yZS9odG1sL01vbnRoSW5w
dXRUeXBlLmNwcApAQCAtNzQsNiArNzQsMjEgQEAgdm9pZCBNb250aElucHV0VHlwZTo6c2V0VmFs
dWVBc0RhdGUoZG91YmxlIHZhbHVlLCBFeGNlcHRpb25Db2RlJikgY29uc3QKICAgICBlbGVtZW50
KCktPnNldFZhbHVlKGRhdGUudG9TdHJpbmcoKSk7CiB9CiAKK2RvdWJsZSBNb250aElucHV0VHlw
ZTo6c3RhcnRpbmdWYWx1ZSgpIGNvbnN0Cit7CisgICAgZG91YmxlIGN1cnJlbnQgPSBjdXJyZW50
VGltZU1TKCk7CisgICAgZG91YmxlIHV0Y09mZnNldCA9IGNhbGN1bGF0ZVVUQ09mZnNldCgpOwor
ICAgIGRvdWJsZSBkc3RPZmZzZXQgPSBjYWxjdWxhdGVEU1RPZmZzZXQoY3VycmVudCwgdXRjT2Zm
c2V0KTsKKyAgICBpbnQgb2Zmc2V0ID0gc3RhdGljX2Nhc3Q8aW50PigodXRjT2Zmc2V0ICsgZHN0
T2Zmc2V0KSAvIG1zUGVyTWludXRlKTsKKyAgICBjdXJyZW50ICs9IG9mZnNldCAqIG1zUGVyTWlu
dXRlOworCisgICAgRGF0ZUNvbXBvbmVudHMgZGF0ZTsKKyAgICBkYXRlLnNldE1pbGxpc2Vjb25k
c1NpbmNlRXBvY2hGb3JNb250aChjdXJyZW50KTsKKyAgICBkb3VibGUgbW9udGhzID0gZGF0ZS5t
b250aHNTaW5jZUVwb2NoKCk7CisgICAgQVNTRVJUKGlzZmluaXRlKG1vbnRocykpOworICAgIHJl
dHVybiBtb250aHM7Cit9CisKIGRvdWJsZSBNb250aElucHV0VHlwZTo6bWluaW11bSgpIGNvbnN0
CiB7CiAgICAgcmV0dXJuIHBhcnNlVG9Eb3VibGUoZWxlbWVudCgpLT5mYXN0R2V0QXR0cmlidXRl
KG1pbkF0dHIpLCBEYXRlQ29tcG9uZW50czo6bWluaW11bU1vbnRoKCkpOwpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9odG1sL01vbnRoSW5wdXRUeXBlLmggYi9XZWJDb3JlL2h0bWwvTW9udGhJbnB1dFR5
cGUuaAppbmRleCA1MGNmN2Q1MGY5NGJmNTA2ODE3MmU3Yjk5NTVlNjM0MTUwNjRmZDBhLi4xMjA2
YmEwZWViYTc3NDU4MmNlOTkwOGFjMmEyNmU4MmQ2OTMzMGJiIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2h0bWwvTW9udGhJbnB1dFR5cGUuaAorKysgYi9XZWJDb3JlL2h0bWwvTW9udGhJbnB1dFR5cGUu
aApAQCAtNDUsNiArNDUsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgZG91YmxlIHZhbHVlQXNE
YXRlKCkgY29uc3Q7CiAgICAgdmlydHVhbCB2b2lkIHNldFZhbHVlQXNEYXRlKGRvdWJsZSwgRXhj
ZXB0aW9uQ29kZSYpIGNvbnN0OwogICAgIHZpcnR1YWwgZG91YmxlIHBhcnNlVG9Eb3VibGUoY29u
c3QgU3RyaW5nJiwgZG91YmxlKSBjb25zdDsKKyAgICB2aXJ0dWFsIGRvdWJsZSBzdGFydGluZ1Zh
bHVlKCkgY29uc3Q7CiAgICAgdmlydHVhbCBkb3VibGUgbWluaW11bSgpIGNvbnN0OwogICAgIHZp
cnR1YWwgZG91YmxlIG1heGltdW0oKSBjb25zdDsKICAgICB2aXJ0dWFsIGRvdWJsZSBkZWZhdWx0
U3RlcCgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL1JhbmdlSW5wdXRUeXBlLmNw
cCBiL1dlYkNvcmUvaHRtbC9SYW5nZUlucHV0VHlwZS5jcHAKaW5kZXggYWQ0N2YxNGNiMTRhOWQ4
ODkxMmZjZGE2MmM4Zjk3Zjg4YWQzYmMxYy4uNWU5ZTZhNzllODllNjZhMjA0YWYzNjVmZDYxOTYx
MjM1MGVkMjY4NSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL1JhbmdlSW5wdXRUeXBlLmNwcAor
KysgYi9XZWJDb3JlL2h0bWwvUmFuZ2VJbnB1dFR5cGUuY3BwCkBAIC0xNDMsNiArMTQzLDggQEAg
Ym9vbCBSYW5nZUlucHV0VHlwZTo6aGFuZGxlS2V5ZG93bkV2ZW50KEtleWJvYXJkRXZlbnQqIGV2
ZW50KQogICAgICAgICBkb3VibGUgc3RlcCA9IChtYXggLSBtaW4pIC8gMTAwOwogICAgICAgICBk
b3VibGUgY3VycmVudCA9IHBhcnNlVG9Eb3VibGUoZWxlbWVudCgpLT52YWx1ZSgpLCBudW1lcmlj
X2xpbWl0czxkb3VibGU+OjpxdWlldF9OYU4oKSk7CiAgICAgICAgIEFTU0VSVChpc2Zpbml0ZShj
dXJyZW50KSk7CisgICAgICAgIC8vIE5vdCB1c2luZyBzdGVwVXBGcm9tUmVuZGVyZXIoKSBzaW5j
ZSBpdCBpcyBub3QgYW55IGtpbmQgb2Ygc3RlcFVwKCkKKyAgICAgICAgLy8gTm8gc3RlcFVwKCkg
Zm9yIHN0ZXA9ImFueSIKICAgICAgICAgZG91YmxlIG5ld1ZhbHVlOwogICAgICAgICBpZiAoa2V5
ID09ICJVcCIgfHwga2V5ID09ICJSaWdodCIpIHsKICAgICAgICAgICAgIG5ld1ZhbHVlID0gY3Vy
cmVudCArIHN0ZXA7CkBAIC0xNTksMTAgKzE2MSw4IEBAIGJvb2wgUmFuZ2VJbnB1dFR5cGU6Omhh
bmRsZUtleWRvd25FdmVudChLZXlib2FyZEV2ZW50KiBldmVudCkKICAgICAgICAgfQogICAgIH0g
ZWxzZSB7CiAgICAgICAgIGludCBzdGVwTWFnbmlmaWNhdGlvbiA9IChrZXkgPT0gIlVwIiB8fCBr
ZXkgPT0gIlJpZ2h0IikgPyAxIDogLTE7Ci0gICAgICAgIFN0cmluZyBsYXN0U3RyaW5nVmFsdWUg
PSBlbGVtZW50KCktPnZhbHVlKCk7Ci0gICAgICAgIGVsZW1lbnQoKS0+c3RlcFVwKHN0ZXBNYWdu
aWZpY2F0aW9uLCBlYyk7Ci0gICAgICAgIGlmIChsYXN0U3RyaW5nVmFsdWUgIT0gZWxlbWVudCgp
LT52YWx1ZSgpKQotICAgICAgICAgICAgZWxlbWVudCgpLT5kaXNwYXRjaEZvcm1Db250cm9sQ2hh
bmdlRXZlbnQoKTsKKyAgICAgICAgLy8gVXNpbmcgc3RlcFVwRnJvbVJlbmRlcmVyKCkgc2luY2Ug
aXQgaXMgYSBraW5kIG9mIHN0ZXBVcCgpIG9wZXJhdGlvbgorICAgICAgICBlbGVtZW50KCktPnN0
ZXBVcEZyb21SZW5kZXJlcihzdGVwTWFnbmlmaWNhdGlvbik7CiAgICAgfQogICAgIGV2ZW50LT5z
ZXREZWZhdWx0SGFuZGxlZCgpOwogICAgIHJldHVybiB0cnVlOwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9odG1sL1RpbWVJbnB1dFR5cGUuY3BwIGIvV2ViQ29yZS9odG1sL1RpbWVJbnB1dFR5cGUuY3Bw
CmluZGV4IDI3ZGNlOTA1N2QzY2I3ZGM5MmExZGUwMDBkNzNjNzI3ZDZlMzhjM2EuLjU4OTRmMmQz
OGU2N2E5NjIyNTE1ZjFlNzRlYTBiZDUyN2E5YmMzMTAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRt
bC9UaW1lSW5wdXRUeXBlLmNwcAorKysgYi9XZWJDb3JlL2h0bWwvVGltZUlucHV0VHlwZS5jcHAK
QEAgLTUzLDYgKzUzLDIxIEBAIGNvbnN0IEF0b21pY1N0cmluZyYgVGltZUlucHV0VHlwZTo6Zm9y
bUNvbnRyb2xUeXBlKCkgY29uc3QKICAgICByZXR1cm4gSW5wdXRUeXBlTmFtZXM6OnRpbWUoKTsK
IH0KIAorZG91YmxlIFRpbWVJbnB1dFR5cGU6OnN0YXJ0aW5nVmFsdWUoKSBjb25zdAoreworICAg
IGRvdWJsZSBjdXJyZW50ID0gY3VycmVudFRpbWVNUygpOworICAgIGRvdWJsZSB1dGNPZmZzZXQg
PSBjYWxjdWxhdGVVVENPZmZzZXQoKTsKKyAgICBkb3VibGUgZHN0T2Zmc2V0ID0gY2FsY3VsYXRl
RFNUT2Zmc2V0KGN1cnJlbnQsIHV0Y09mZnNldCk7CisgICAgaW50IG9mZnNldCA9IHN0YXRpY19j
YXN0PGludD4oKHV0Y09mZnNldCArIGRzdE9mZnNldCkgLyBtc1Blck1pbnV0ZSk7CisgICAgY3Vy
cmVudCArPSBvZmZzZXQgKiBtc1Blck1pbnV0ZTsKKworICAgIERhdGVDb21wb25lbnRzIGRhdGU7
CisgICAgZGF0ZS5zZXRNaWxsaXNlY29uZHNTaW5jZU1pZG5pZ2h0KGN1cnJlbnQpOworICAgIGRv
dWJsZSBtaWxsaXNlY29uZHMgPSBkYXRlLm1pbGxpc2Vjb25kc1NpbmNlRXBvY2goKTsKKyAgICBB
U1NFUlQoaXNmaW5pdGUobWlsbGlzZWNvbmRzKSk7CisgICAgcmV0dXJuIG1pbGxpc2Vjb25kczsK
K30KKwogZG91YmxlIFRpbWVJbnB1dFR5cGU6Om1pbmltdW0oKSBjb25zdAogewogICAgIHJldHVy
biBwYXJzZVRvRG91YmxlKGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJpYnV0ZShtaW5BdHRyKSwgRGF0
ZUNvbXBvbmVudHM6Om1pbmltdW1UaW1lKCkpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL1Rp
bWVJbnB1dFR5cGUuaCBiL1dlYkNvcmUvaHRtbC9UaW1lSW5wdXRUeXBlLmgKaW5kZXggNjA3MGZh
MDczODlhOWFlNzI4ZTlmYTYyMGFhM2VlOWFmMjY3MDcyNy4uOGZhNTMwMjc1NDU0OGZlZDRmYTAz
MTQxODcwZTMzYjZjOTI2ZWZjZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL1RpbWVJbnB1dFR5
cGUuaAorKysgYi9XZWJDb3JlL2h0bWwvVGltZUlucHV0VHlwZS5oCkBAIC00Miw2ICs0Miw3IEBA
IHB1YmxpYzoKIHByaXZhdGU6CiAgICAgVGltZUlucHV0VHlwZShIVE1MSW5wdXRFbGVtZW50KiBl
bGVtZW50KSA6IEJhc2VEYXRlQW5kVGltZUlucHV0VHlwZShlbGVtZW50KSB7IH0KICAgICB2aXJ0
dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgZm9ybUNvbnRyb2xUeXBlKCkgY29uc3Q7CisgICAgdmly
dHVhbCBkb3VibGUgc3RhcnRpbmdWYWx1ZSgpIGNvbnN0OwogICAgIHZpcnR1YWwgZG91YmxlIG1p
bmltdW0oKSBjb25zdDsKICAgICB2aXJ0dWFsIGRvdWJsZSBtYXhpbXVtKCkgY29uc3Q7CiAgICAg
dmlydHVhbCBkb3VibGUgZGVmYXVsdFN0ZXAoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
bWFudWFsLXRlc3RzL2lucHV0LXR5cGUtZGF0ZXRpbWUtZGVmYXVsdC12YWx1ZS5odG1sIGIvV2Vi
Q29yZS9tYW51YWwtdGVzdHMvaW5wdXQtdHlwZS1kYXRldGltZS1kZWZhdWx0LXZhbHVlLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMzE2ZDI2OWQ3ODliODczODU4MmY5YjJhYzlmZGNkZjRmYTI2NDU3NAotLS0g
L2Rldi9udWxsCisrKyBiL1dlYkNvcmUvbWFudWFsLXRlc3RzL2lucHV0LXR5cGUtZGF0ZXRpbWUt
ZGVmYXVsdC12YWx1ZS5odG1sCkBAIC0wLDAgKzEsMzAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vVzNDLy9EVEQgSFRNTCA0LjAgVHJhbnNpdGlvbmFsLy9FTiI+Cis8aHRtbD4KKzxoZWFk
Pjx0aXRsZT5EZWZhdWx0IHZhbHVlcyBmb3IgZGF0ZS90aW1lIGlucHV0ICh0eXBlPSBkYXRlLCBk
YXRldGltZSwgZGF0ZXRpbWUtbG9jYWwsIG1vbnRoLCB0aW1lLCB3ZWVrKTwvdGl0bGU+PC9oZWFk
PgorCis8cD5FbnRlciBVcCBvciBEb3duLCBvciBjbGljayB0aGUgc3BpbiBidXR0b25zIGZvciBl
YWNoIGlucHV0IGZpZWxkLjwvcD4KKworPGZvcm0+CisgIDx1bD4KKyAgICA8bGk+ZGF0ZTogPGlu
cHV0IHR5cGU9ImRhdGUiIHNpemU9IjMyIiB2YWx1ZT0iIiAvPgorICAgIDxsaT5kYXRldGltZTog
PGlucHV0IHR5cGU9ImRhdGV0aW1lIiAgc2l6ZT0iMzIiIHZhbHVlPSIiIC8+CisgICAgPGxpPmRh
dGV0aW1lLWxvY2FsOiA8aW5wdXQgdHlwZT0iZGF0ZXRpbWUtbG9jYWwiIHNpemU9IjMyIiB2YWx1
ZT0iIiAvPgorICAgIDxsaT5tb250aDogPGlucHV0IHR5cGU9Im1vbnRoIiBzaXplPSIzMiIgdmFs
dWU9IiIgLz4KKyAgICA8bGk+dGltZTogPGlucHV0IHR5cGU9InRpbWUiIHNpemU9IjMyIiB2YWx1
ZT0iIiAvPgorICAgIDxsaT53ZWVrIDxpbnB1dCB0eXBlPSJ3ZWVrIiBzaXplPSIzMiIgdmFsdWU9
IiIgLz4KKyAgPC91bD4KKzwvZm9ybT4KKworPHA+VGhlIGlucHV0IGZpZWxkcyBzaG91bGQgc2hv
dyB0aGUgY3VycmVudCBkYXRlL3RpbWUgKHdpdGggKyBvciAtIGEgdW5pdCBkYXRlL3RpbWUgZGVz
Y3JpYmVkIGJlbG93KS48L3A+CisKKzxwPlVuaXQgZGF0ZXMvdGltZXM8L3A+Cis8dWw+CisgIDxs
aT5kYXRlOiAxIGRheQorICA8bGk+ZGF0ZXRpbWU6IDEgbWludXRlCisgIDxsaT5kYXRldGltZS1s
b2NhbDogMSBtaW51dGUKKyAgPGxpPm1vbnRoOiAxIG1vbnRoCisgIDxsaT50aW1lOiAxIG1pbnV0
ZQorICA8bGk+d2VlazogMSB3ZWVrCis8L3VsPgorCis8L2JvZHk+PC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>74839</attachid>
            <date>2010-11-25 01:04:10 -0800</date>
            <delta_ts>2010-11-28 21:59:58 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-45491-20101125180412.patch</filename>
            <type>text/plain</type>
            <size>59099</size>
            <attacher name="Dai Mikurube">dmikurube</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL0phdmFTY3JpcHRDb3JlL0No
YW5nZUxvZwppbmRleCA3NjQ0Y2Q3NjI5NGUxZmYzYTIwZWRmYzBjM2NlNDBkZjc4YmRjNmYyLi45
Yzk5MWE2ZDIyZDkyNTExNzMzZTAwZjM3NjVkOTk0MWQ5MDkxZjg2IDEwMDY0NAotLS0gYS9KYXZh
U2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMzEgQEAKKzIwMTAtMTEtMjQgIERhaSBNaWt1cnViZSAgPGRtaWt1cnViZUBnb29nbGUu
Y29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIHdo
ZW4gZW1wdHksIGNsaWNraW5nICJkb3duIiBvbiBvdXRlci1zcGluLWJ1dHRvbiByZXR1cm5zICJt
YXggdmFsdWUiCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD00NTQ5MQorCisgICAgICAgIEl0IGlzIHJlcXVpcmVkIHRvIGNhbGN1bGF0ZSBVVEMvRFNUIG9m
ZnNldHMgdG8gcmV0cmlldmUgdGhlIGN1cnJlbnQgbG9jYWwgbWlsbGlzZWNvbmRzIGZvcgorICAg
ICAgICBkYXRlL3RpbWUgdHlwZSBpbnB1dHMuIFdURjo6Y3VycmVudFRpbWVNUygpIHJldHVybnMg
YSBVVEMgdGltZSwgYW5kIFdURjo6Z2V0TG9jYWxUaW1lKCkKKyAgICAgICAgcmV0dXJucyBhIHN0
cnVjdCB0bSwgbm90IG1pbGxpc2Vjb25kcy4KKworICAgICAgICBDYWxjdWxhdGluZyBtaWxsaXNl
Y29uZHMgZnJvbSBhIHN0cnVjdCB0bSBpcyBub3QgY2xlYXIuIHRpbWVnbSgpIGNhbm5vdCBiZSB1
c2VkIGluIGFsbAorICAgICAgICBlbnZpcm9ubWVudHMuIFRoaXMgY29udmVyc2lvbiBpcyBjb21w
bGljYXRlZCBhbmQgYWxyZWFkeSBkb25lIGF0IGNhbGN1bGF0ZVVUQ09mZnNldCgpLgorICAgICAg
ICBEdXBsaWNhdGluZyB0aGlzIGNvbXBsaWNhdGVkIGNhbGN1bGF0aW9uIGlzIHVucmVhc29uYWJs
ZSBiZWNhdXNlIG9mIG1haW50YWluYWJpbGl0eS4KKyAgICAgICAgVG8gYWNoaWV2ZSB0aGlzIHdp
dGhvdXQgZHVwbGljYXRpb24sIHdlIG11c3QgY2FsbCBjYWxjdWxhdGV7VVRDfERTVH1PZmZzZXQg
aW4gc29tZSB3YXkuCisKKyAgICAgICAgQW5vdGhlciBvcHRpb24gd2FzIHRvIHByb3ZpZGUgYW5v
dGhlciBjdXJyZW50VGltZSgpIHRvIHJldHVybiB0aGUgY3VycmVudCBsb2NhbCBtaWxsaXNlY29u
ZHMuCisgICAgICAgIFN1cnZleWluZyB0aGUgY29kZXMsIGhvd2V2ZXIsIGFsbCBvZiBleGlzdGlu
ZyAibWlsbGlzZWNvbmRzIiBpbiBkb3VibGUgdmFyaWFibGVzIGFyZQorICAgICAgICBjb25zaXN0
ZW50bHkgaW4gVVRDLiBJIGd1ZXNzIHdlIHNob3VsZCBub3QgZW1pdCAibWlsbGlzZWNvbmRzIiBp
biBub24tVVRDIGluIHRoZSBjb2RlLgorICAgICAgICBGaW5hbGx5IEkgbG9ja2VkICJtaWxsaXNl
Y29uZHMiIGluIG5vbi1VVEMgaW4gY2FsY3VsYXRpbmcgZGVmYXVsdCB2YWx1ZXMuCisKKyAgICAg
ICAgKiBKYXZhU2NyaXB0Q29yZS5leHA6CisgICAgICAgICogSmF2YVNjcmlwdENvcmUudmNwcm9q
L0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmRlZjoKKyAgICAgICAgKiB3dGYvRGF0ZU1h
dGguY3BwOiBDaGFuZ2VkIGNhbGN1bGF0ZVVUQ09mZnNldCgpIGFuZCBjYWxjdWxhdGVEU1RPZmZz
ZXQoKSB0byBleHRlcm5hbCBmdW5jdGlvbnMuCisgICAgICAgIChXVEY6OmNhbGN1bGF0ZVVUQ09m
ZnNldCk6CisgICAgICAgIChXVEY6OmNhbGN1bGF0ZURTVE9mZnNldCk6CisgICAgICAgICogd3Rm
L0RhdGVNYXRoLmg6CisKIDIwMTAtMTEtMTggIEdhdmluIEJhcnJhY2xvdWdoICA8YmFycmFjbG91
Z2hAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE9saXZlciBIdW50LgpkaWZmIC0t
Z2l0IGEvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZXhwIGIvSmF2YVNjcmlwdENvcmUv
SmF2YVNjcmlwdENvcmUuZXhwCmluZGV4IDM3MTVhNDM4MzdkYzkxMGU4ZGU3MGU0MzNlZDI2ZmVi
MTU0MTgwZDMuLjM5YmY1MjcwMmIwYjAwYmRkMzliNWE0MmNiNGQ4ODA1NWU2YWIyYjkgMTAwNjQ0
Ci0tLSBhL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmV4cAorKysgYi9KYXZhU2NyaXB0
Q29yZS9KYXZhU2NyaXB0Q29yZS5leHAKQEAgLTQwNCw2ICs0MDQsOCBAQCBfX1pOM1dURjE3Y2hh
cmFjdGVyc1RvRmxvYXRFUEt0bVBiCiBfX1pOM1dURjE3ZXF1YWxJZ25vcmluZ0Nhc2VFUEt0UEtj
agogX19aTjNXVEYxN2VxdWFsSWdub3JpbmdDYXNlRVBOU18xMFN0cmluZ0ltcGxFUEtjCiBfX1pO
M1dURjE3ZXF1YWxJZ25vcmluZ0Nhc2VFUE5TXzEwU3RyaW5nSW1wbEVTMV8KK19fWk4zV1RGMThj
YWxjdWxhdGVEU1RPZmZzZXRFZGQKK19fWk4zV1RGMThjYWxjdWxhdGVVVENPZmZzZXRFdgogX19a
TjNXVEYxOGNoYXJhY3RlcnNUb0RvdWJsZUVQS3RtUGIKIF9fWk4zV1RGMThkYXRlVG9EYXlzRnJv
bTE5NzBFaWlpCiBfX1pOM1dURjE4bW9udGhGcm9tRGF5SW5ZZWFyRWliCmRpZmYgLS1naXQgYS9K
YXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ovSmF2YVNjcmlwdENvcmUvSmF2YVNj
cmlwdENvcmUuZGVmIGIvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL0phdmFT
Y3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmRlZgppbmRleCA0NDljMGJiODQxNTU0Y2MyN2VhYzJm
NTlhMjQyNWFhMzBhMmRkMDhiLi45ODQ2YmFjODk3NDJjNzE1MTliMjJiNzYzOTZjZDMzZjA2ZWU2
OWFmIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ovSmF2
YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZGVmCisrKyBiL0phdmFTY3JpcHRDb3JlL0phdmFT
Y3JpcHRDb3JlLnZjcHJvai9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5kZWYKQEAgLTU5
LDYgKzU5LDggQEAgRVhQT1JUUwogICAgID9icm9hZGNhc3RAVGhyZWFkQ29uZGl0aW9uQFdURkBA
UUFFWFhaCiAgICAgP2J1ZmZlckxlbmd0aEZvclN0cmluZ0RlY2ltYWxARGVjaW1hbE51bWJlckBX
VEZAQFFCRUlYWgogICAgID9jYWxjdWxhdGVkRnVuY3Rpb25OYW1lQERlYnVnZ2VyQ2FsbEZyYW1l
QEpTQ0BAUUJFP0FWVVN0cmluZ0AyQFhaCisgICAgP2NhbGN1bGF0ZVVUQ09mZnNldEBXVEZAQFlB
X0hYWgorICAgID9jYWxjdWxhdGVEU1RPZmZzZXRAV1RGQEBZQU5OTkBaCiAgICAgP2NhbGxASlND
QEBZQT9BVkpTVmFsdWVAMUBQQVZFeGVjU3RhdGVAMUBWMjFAVzRDYWxsVHlwZUAxQEFCVENhbGxE
YXRhQDFAMUFCVkFyZ0xpc3RAMUBAWgogICAgID9jYWxsT25NYWluVGhyZWFkQFdURkBAWUFYUDZB
WFBBWEBaMEBaCiAgICAgP2NhbGxPbk1haW5UaHJlYWRBbmRXYWl0QFdURkBAWUFYUDZBWFBBWEBa
MEBaCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvRGF0ZU1hdGguY3BwIGIvSmF2YVNj
cmlwdENvcmUvd3RmL0RhdGVNYXRoLmNwcAppbmRleCBmMzYyN2U2Yjk4M2U4MmI5YWEzYTQwYWM0
OWRiNmQ1MGJlNWYwODE0Li42NzVmMDkzZjAxYmI0NWY4OGI3M2M0NjA2OWQ1MmMwYjhkMDllYWI0
IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvRGF0ZU1hdGguY3BwCisrKyBiL0phdmFT
Y3JpcHRDb3JlL3d0Zi9EYXRlTWF0aC5jcHAKQEAgLTM3OSw3ICszNzksNyBAQCBpbnQgZXF1aXZh
bGVudFllYXJGb3JEU1QoaW50IHllYXIpCiAgICAgcmV0dXJuIHllYXI7CiB9CiAKLXN0YXRpYyBp
bnQzMl90IGNhbGN1bGF0ZVVUQ09mZnNldCgpCitpbnQzMl90IGNhbGN1bGF0ZVVUQ09mZnNldCgp
CiB7CiAjaWYgUExBVEZPUk0oQlJFV01QKQogICAgIHRpbWVfdCBsb2NhbFRpbWUgPSBzdGF0aWNf
Y2FzdDx0aW1lX3Q+KGN1cnJlbnRUaW1lKCkpOwpAQCAtNDQ5LDcgKzQ0OSw3IEBAIHN0YXRpYyBk
b3VibGUgY2FsY3VsYXRlRFNUT2Zmc2V0U2ltcGxlKGRvdWJsZSBsb2NhbFRpbWVTZWNvbmRzLCBk
b3VibGUgdXRjT2Zmc2V0CiB9CiAKIC8vIEdldCB0aGUgRFNUIG9mZnNldCwgZ2l2ZW4gYSB0aW1l
IGluIFVUQwotc3RhdGljIGRvdWJsZSBjYWxjdWxhdGVEU1RPZmZzZXQoZG91YmxlIG1zLCBkb3Vi
bGUgdXRjT2Zmc2V0KQorZG91YmxlIGNhbGN1bGF0ZURTVE9mZnNldChkb3VibGUgbXMsIGRvdWJs
ZSB1dGNPZmZzZXQpCiB7CiAgICAgLy8gT24gTWFjIE9TIFgsIHRoZSBjYWxsIHRvIGxvY2FsdGlt
ZSAoc2VlIGNhbGN1bGF0ZURTVE9mZnNldFNpbXBsZSkgd2lsbCByZXR1cm4gaGlzdG9yaWNhbGx5
IGFjY3VyYXRlCiAgICAgLy8gRFNUIGluZm9ybWF0aW9uIChlLmcuIE5ldyBaZWFsYW5kIGRpZCBu
b3QgaGF2ZSBEU1QgZnJvbSAxOTQ2IHRvIDE5NzQpIGhvd2V2ZXIgdGhlIEphdmFTY3JpcHQKZGlm
ZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9EYXRlTWF0aC5oIGIvSmF2YVNjcmlwdENvcmUv
d3RmL0RhdGVNYXRoLmgKaW5kZXggYmU1MTk0N2YyYTFiZDkxYmE5N2FmN2UyYjliMzZhMTUxNWI5
NTEzZi4uY2I4NDcwODExOGZhNmExN2I5YWE4ODY2NjU3ZDRmYTA5MjMxMmJiOCAxMDA2NDQKLS0t
IGEvSmF2YVNjcmlwdENvcmUvd3RmL0RhdGVNYXRoLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3Rm
L0RhdGVNYXRoLmgKQEAgLTg0LDYgKzg0LDEwIEBAIGludCBkYXlJblllYXIoZG91YmxlIG1zLCBp
bnQgeWVhcik7CiBpbnQgbW9udGhGcm9tRGF5SW5ZZWFyKGludCBkYXlJblllYXIsIGJvb2wgbGVh
cFllYXIpOwogaW50IGRheUluTW9udGhGcm9tRGF5SW5ZZWFyKGludCBkYXlJblllYXIsIGJvb2wg
bGVhcFllYXIpOwogCisvLyBSZXR1cm5zIG9mZnNldCBtaWxsaXNlY29uZHMgZm9yIFVUQyBhbmQg
RFNULgoraW50MzJfdCBjYWxjdWxhdGVVVENPZmZzZXQoKTsKK2RvdWJsZSBjYWxjdWxhdGVEU1RP
ZmZzZXQoZG91YmxlIG1zLCBkb3VibGUgdXRjT2Zmc2V0KTsKKwogfSAvLyBuYW1lc3BhY2UgV1RG
CiAKIHVzaW5nIFdURjo6ZGF0ZVRvRGF5c0Zyb20xOTcwOwpAQCAtOTIsMTAgKzk2LDEzIEBAIHVz
aW5nIFdURjo6ZGF5SW5ZZWFyOwogdXNpbmcgV1RGOjptaW51dGVzUGVySG91cjsKIHVzaW5nIFdU
Rjo6bW9udGhGcm9tRGF5SW5ZZWFyOwogdXNpbmcgV1RGOjptc1BlckRheTsKK3VzaW5nIFdURjo6
bXNQZXJNaW51dGU7CiB1c2luZyBXVEY6Om1zUGVyU2Vjb25kOwogdXNpbmcgV1RGOjptc1RvWWVh
cjsKIHVzaW5nIFdURjo6c2Vjb25kc1Blck1pbnV0ZTsKIHVzaW5nIFdURjo6cGFyc2VEYXRlRnJv
bU51bGxUZXJtaW5hdGVkQ2hhcmFjdGVyczsKK3VzaW5nIFdURjo6Y2FsY3VsYXRlVVRDT2Zmc2V0
OwordXNpbmcgV1RGOjpjYWxjdWxhdGVEU1RPZmZzZXQ7CiAKICNpZiBVU0UoSlNDKQogbmFtZXNw
YWNlIEpTQyB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKaW5kZXggYWUzMDQ3YzJkMDU2Nzc2ZDU4M2MwMmUxODAwZWQ4NWNkYjQ0NThj
Yy4uZTYwZGY1YTFjOGMwNDRiMmVmZGUxYWJjNDA0MzAwOWQyN2EwNzE4ZiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDIwIEBACisyMDEwLTExLTI0ICBEYWkgTWlrdXJ1YmUgIDxkbWlrdXJ1YmVAZ29vZ2xlLmNv
bT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICB3aGVu
IGVtcHR5LCBjbGlja2luZyAiZG93biIgb24gb3V0ZXItc3Bpbi1idXR0b24gcmV0dXJucyAibWF4
IHZhbHVlIgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NDU0OTEKKworICAgICAgICAqIGZhc3QvZm9ybXMvaW5wdXQtc3RlcHVwLXN0ZXBkb3duLWZyb20t
cmVuZGVyZXItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2lucHV0
LXN0ZXB1cC1zdGVwZG93bi1mcm9tLXJlbmRlcmVyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZh
c3QvZm9ybXMvc2NyaXB0LXRlc3RzL2lucHV0LXN0ZXB1cC1zdGVwZG93bi1mcm9tLXJlbmRlcmVy
LmpzOiBBZGRlZC4KKyAgICAgICAgKCk6CisgICAgICAgIChzZXRJbnB1dEF0dHJpYnV0ZXMpOgor
ICAgICAgICAoc3RlcFVwKToKKyAgICAgICAgKHN0ZXBEb3duKToKKyAgICAgICAgKHN0ZXBVcEV4
cGxpY2l0Qm91bmRzKToKKyAgICAgICAgKHN0ZXBEb3duRXhwbGljaXRCb3VuZHMpOgorCiAyMDEw
LTExLTE4ICBEYXZpZCBMZXZpbiAgPGxldmluQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbY2hy
b21pdW1dIE1pc2MgdGVzdCB1cGRhdGVzIChtb3N0IFJ1YnkpLgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9pbnB1dC1zdGVwdXAtc3RlcGRvd24tZnJvbS1yZW5kZXJlci1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lucHV0LXN0ZXB1cC1zdGVwZG93bi1m
cm9tLXJlbmRlcmVyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zZDJhYzE2YjRkYjY1NTExZjM2
NjZjYzMwZmE5MGIxNDJhZWQ5MmEzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy9pbnB1dC1zdGVwdXAtc3RlcGRvd24tZnJvbS1yZW5kZXJlci1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwyOTIgQEAKK0NoZWNrIHN0ZXBVcCgpIGFuZCBzdGVwRG93bigpIGJhaGV2aW9y
IGZyb20gcmVuZGVyZXIgZm9yIHR5cGU9ZGF0ZSwgZGF0ZXRpbWUsIGRhdGV0aW1lLWxvY2FsLCBt
b250aCwgdGltZSwgd2Vlay4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK0RhdGUg
dHlwZQorTm9uLW51bWJlciBhcmd1bWVudHMKK1BBU1Mgc3RlcFVwKCIyMDEwLTAyLTEwIiwgbnVs
bCwgbnVsbCwgIjAiKSBpcyAiMjAxMC0wMi0xMCIKK1BBU1Mgc3RlcERvd24oIjIwMTAtMDItMTAi
LCBudWxsLCBudWxsLCAiMCIpIGlzICIyMDEwLTAyLTEwIgorUEFTUyBzdGVwVXAoIjIwMTAtMDIt
MTAiLCBudWxsLCBudWxsLCAiZm9vIikgaXMgIjIwMTAtMDItMTAiCitQQVNTIHN0ZXBEb3duKCIy
MDEwLTAyLTEwIiwgbnVsbCwgbnVsbCwgImZvbyIpIGlzICIyMDEwLTAyLTEwIgorUEFTUyBzdGVw
VXAoIjIwMTAtMDItMTAiLCBudWxsLCBudWxsLCBudWxsKSBpcyAiMjAxMC0wMi0xMCIKK1BBU1Mg
c3RlcERvd24oIjIwMTAtMDItMTAiLCBudWxsLCBudWxsLCBudWxsKSBpcyAiMjAxMC0wMi0xMCIK
K05vcm1hbCBjYXNlcworUEFTUyBzdGVwVXAoIjIwMTAtMDItMTAiLCBudWxsLCBudWxsKSBpcyAi
MjAxMC0wMi0xMSIKK1BBU1Mgc3RlcERvd24oIjIwMTAtMDItMTAiLCBudWxsLCBudWxsKSBpcyAi
MjAxMC0wMi0wOSIKK1BBU1Mgc3RlcFVwKCIyMDEwLTAyLTEwIiwgbnVsbCwgbnVsbCwgMTApIGlz
ICIyMDEwLTAyLTIwIgorUEFTUyBzdGVwRG93bigiMjAxMC0wMi0xMCIsIG51bGwsIG51bGwsIDEx
KSBpcyAiMjAxMC0wMS0zMCIKK1BBU1Mgc3RlcFVwKCIxOTcwLTAxLTAxIiwgIjQiLCBudWxsLCAy
KSBpcyAiMTk3MC0wMS0wOSIKK1BBU1Mgc3RlcERvd24oIjE5NzAtMDEtMDEiLCAiNCIsIG51bGws
IDMpIGlzICIxOTY5LTEyLTIwIgorU3RlcD1hbnkKK1BBU1Mgc3RlcFVwKCIyMDEwLTAyLTEwIiwg
ImFueSIsIG51bGwpIGlzICIyMDEwLTAyLTEwIgorUEFTUyBzdGVwRG93bigiMjAxMC0wMi0xMCIs
ICJhbnkiLCBudWxsKSBpcyAiMjAxMC0wMi0xMCIKK092ZXJmbG93L3VuZGVyZmxvdworUEFTUyBz
dGVwVXAoIjIwMTAtMDItMTAiLCAiMy40MDI4MjM0NmUrMzgiLCBudWxsKSBpcyAiMTk3MC0wMS0w
MSIKK1BBU1Mgc3RlcERvd24oIjIwMTAtMDItMTAiLCAiMy40MDI4MjM0NmUrMzgiLCBudWxsKSBp
cyAiMjc1NzYwLTA5LTEzIgorUEFTUyBzdGVwVXAoIjIwMTAtMDItMTAiLCAiMSIsICIyMDEwLTAy
LTEwIikgaXMgIjIwMTAtMDItMTAiCitQQVNTIHN0ZXBEb3duKCIyMDEwLTAyLTEwIiwgIjEiLCAi
MjAxMC0wMi0xMCIpIGlzICIyMDEwLTAyLTEwIgorCitEYXRldGltZSB0eXBlCitOb24tbnVtYmVy
IGFyZ3VtZW50cworUEFTUyBzdGVwVXAoIjIwMTAtMDItMTBUMjA6MTNaIiwgbnVsbCwgbnVsbCwg
IjAiKSBpcyAiMjAxMC0wMi0xMFQyMDoxM1oiCitQQVNTIHN0ZXBEb3duKCIyMDEwLTAyLTEwVDIw
OjEzWiIsIG51bGwsIG51bGwsICIwIikgaXMgIjIwMTAtMDItMTBUMjA6MTNaIgorUEFTUyBzdGVw
VXAoIjIwMTAtMDItMTBUMjA6MTNaIiwgbnVsbCwgbnVsbCwgImZvbyIpIGlzICIyMDEwLTAyLTEw
VDIwOjEzWiIKK1BBU1Mgc3RlcERvd24oIjIwMTAtMDItMTBUMjA6MTNaIiwgbnVsbCwgbnVsbCwg
ImZvbyIpIGlzICIyMDEwLTAyLTEwVDIwOjEzWiIKK1BBU1Mgc3RlcFVwKCIyMDEwLTAyLTEwVDIw
OjEzWiIsIG51bGwsIG51bGwsIG51bGwpIGlzICIyMDEwLTAyLTEwVDIwOjEzWiIKK1BBU1Mgc3Rl
cERvd24oIjIwMTAtMDItMTBUMjA6MTNaIiwgbnVsbCwgbnVsbCwgbnVsbCkgaXMgIjIwMTAtMDIt
MTBUMjA6MTNaIgorTm9ybWFsIGNhc2VzCitQQVNTIHN0ZXBVcCgiMjAxMC0wMi0xMFQyMDoxM1oi
LCBudWxsLCBudWxsKSBpcyAiMjAxMC0wMi0xMFQyMDoxNFoiCitQQVNTIHN0ZXBEb3duKCIyMDEw
LTAyLTEwVDIwOjEzWiIsIG51bGwsIG51bGwpIGlzICIyMDEwLTAyLTEwVDIwOjEyWiIKK1BBU1Mg
c3RlcFVwKCIyMDEwLTAyLTEwVDIwOjEzWiIsIG51bGwsIG51bGwsIDEwKSBpcyAiMjAxMC0wMi0x
MFQyMDoyM1oiCitQQVNTIHN0ZXBEb3duKCIyMDEwLTAyLTEwVDIwOjEzWiIsIG51bGwsIG51bGws
IDExKSBpcyAiMjAxMC0wMi0xMFQyMDowMloiCitQQVNTIHN0ZXBVcCgiMTk3MC0wMS0wMVQyMDox
M1oiLCAiNCIsIG51bGwsIDIpIGlzICIxOTcwLTAxLTAxVDIwOjEzOjA4WiIKK1BBU1Mgc3RlcERv
d24oIjE5NzAtMDEtMDFUMjA6MTNaIiwgIjQiLCBudWxsLCAzKSBpcyAiMTk3MC0wMS0wMVQyMDox
Mjo0OFoiCitTdGVwPWFueQorUEFTUyBzdGVwVXAoIjIwMTAtMDItMTBUMjA6MTNaIiwgImFueSIs
IG51bGwpIGlzICIyMDEwLTAyLTEwVDIwOjEzWiIKK1BBU1Mgc3RlcERvd24oIjIwMTAtMDItMTBU
MjA6MTNaIiwgImFueSIsIG51bGwpIGlzICIyMDEwLTAyLTEwVDIwOjEzWiIKK092ZXJmbG93L3Vu
ZGVyZmxvdworUEFTUyBzdGVwVXAoIjIwMTAtMDItMTBUMjA6MTNaIiwgIjMuNDAyODIzNDZlKzM4
IiwgbnVsbCkgaXMgIjE5NzAtMDEtMDFUMDA6MDA6MDAuMDAwWiIKK1BBU1Mgc3RlcERvd24oIjIw
MTAtMDItMTBUMjA6MTNaIiwgIjMuNDAyODIzNDZlKzM4IiwgbnVsbCkgaXMgIjI3NTc2MC0wOS0x
M1QwMDowMDowMC4wMDBaIgorUEFTUyBzdGVwVXAoIjIwMTAtMDItMTBUMjA6MTNaIiwgIjEiLCAi
MjAxMC0wMi0xMFQyMDoxM1oiKSBpcyAiMjAxMC0wMi0xMFQyMDoxM1oiCitQQVNTIHN0ZXBEb3du
KCIyMDEwLTAyLTEwVDIwOjEzWiIsICIxIiwgIjIwMTAtMDItMTBUMjA6MTNaIikgaXMgIjIwMTAt
MDItMTBUMjA6MTNaIgorCitEYXRldGltZS1sb2NhbCB0eXBlCitOb24tbnVtYmVyIGFyZ3VtZW50
cworUEFTUyBzdGVwVXAoIjIwMTAtMDItMTBUMjA6MTMiLCBudWxsLCBudWxsLCAiMCIpIGlzICIy
MDEwLTAyLTEwVDIwOjEzIgorUEFTUyBzdGVwRG93bigiMjAxMC0wMi0xMFQyMDoxMyIsIG51bGws
IG51bGwsICIwIikgaXMgIjIwMTAtMDItMTBUMjA6MTMiCitQQVNTIHN0ZXBVcCgiMjAxMC0wMi0x
MFQyMDoxMyIsIG51bGwsIG51bGwsICJmb28iKSBpcyAiMjAxMC0wMi0xMFQyMDoxMyIKK1BBU1Mg
c3RlcERvd24oIjIwMTAtMDItMTBUMjA6MTMiLCBudWxsLCBudWxsLCAiZm9vIikgaXMgIjIwMTAt
MDItMTBUMjA6MTMiCitQQVNTIHN0ZXBVcCgiMjAxMC0wMi0xMFQyMDoxMyIsIG51bGwsIG51bGws
IG51bGwpIGlzICIyMDEwLTAyLTEwVDIwOjEzIgorUEFTUyBzdGVwRG93bigiMjAxMC0wMi0xMFQy
MDoxMyIsIG51bGwsIG51bGwsIG51bGwpIGlzICIyMDEwLTAyLTEwVDIwOjEzIgorTm9ybWFsIGNh
c2VzCitQQVNTIHN0ZXBVcCgiMjAxMC0wMi0xMFQyMDoxMyIsIG51bGwsIG51bGwpIGlzICIyMDEw
LTAyLTEwVDIwOjE0IgorUEFTUyBzdGVwRG93bigiMjAxMC0wMi0xMFQyMDoxMyIsIG51bGwsIG51
bGwpIGlzICIyMDEwLTAyLTEwVDIwOjEyIgorUEFTUyBzdGVwVXAoIjIwMTAtMDItMTBUMjA6MTMi
LCBudWxsLCBudWxsLCAxMCkgaXMgIjIwMTAtMDItMTBUMjA6MjMiCitQQVNTIHN0ZXBEb3duKCIy
MDEwLTAyLTEwVDIwOjEzIiwgbnVsbCwgbnVsbCwgMTEpIGlzICIyMDEwLTAyLTEwVDIwOjAyIgor
UEFTUyBzdGVwVXAoIjE5NzAtMDEtMDFUMjA6MTMiLCAiNCIsIG51bGwsIDIpIGlzICIxOTcwLTAx
LTAxVDIwOjEzOjA4IgorUEFTUyBzdGVwRG93bigiMTk3MC0wMS0wMVQyMDoxMyIsICI0IiwgbnVs
bCwgMykgaXMgIjE5NzAtMDEtMDFUMjA6MTI6NDgiCitTdGVwPWFueQorUEFTUyBzdGVwVXAoIjIw
MTAtMDItMTBUMjA6MTMiLCAiYW55IiwgbnVsbCkgaXMgIjIwMTAtMDItMTBUMjA6MTMiCitQQVNT
IHN0ZXBEb3duKCIyMDEwLTAyLTEwVDIwOjEzIiwgImFueSIsIG51bGwpIGlzICIyMDEwLTAyLTEw
VDIwOjEzIgorT3ZlcmZsb3cvdW5kZXJmbG93CitQQVNTIHN0ZXBVcCgiMjAxMC0wMi0xMFQyMDox
MyIsICIzLjQwMjgyMzQ2ZSszOCIsIG51bGwpIGlzICIxOTcwLTAxLTAxVDAwOjAwOjAwLjAwMCIK
K1BBU1Mgc3RlcERvd24oIjIwMTAtMDItMTBUMjA6MTMiLCAiMy40MDI4MjM0NmUrMzgiLCBudWxs
KSBpcyAiMjc1NzYwLTA5LTEzVDAwOjAwOjAwLjAwMCIKK1BBU1Mgc3RlcFVwKCIyMDEwLTAyLTEw
VDIwOjEzIiwgIjEiLCAiMjAxMC0wMi0xMFQyMDoxMyIpIGlzICIyMDEwLTAyLTEwVDIwOjEzIgor
UEFTUyBzdGVwRG93bigiMjAxMC0wMi0xMFQyMDoxMyIsICIxIiwgIjIwMTAtMDItMTBUMjA6MTMi
KSBpcyAiMjAxMC0wMi0xMFQyMDoxMyIKKworTW9udGggdHlwZQorTm9uLW51bWJlciBhcmd1bWVu
dHMKK1BBU1Mgc3RlcFVwKCIyMDEwLTAyIiwgbnVsbCwgbnVsbCwgIjAiKSBpcyAiMjAxMC0wMiIK
K1BBU1Mgc3RlcERvd24oIjIwMTAtMDIiLCBudWxsLCBudWxsLCAiMCIpIGlzICIyMDEwLTAyIgor
UEFTUyBzdGVwVXAoIjIwMTAtMDIiLCBudWxsLCBudWxsLCAiZm9vIikgaXMgIjIwMTAtMDIiCitQ
QVNTIHN0ZXBEb3duKCIyMDEwLTAyIiwgbnVsbCwgbnVsbCwgImZvbyIpIGlzICIyMDEwLTAyIgor
UEFTUyBzdGVwVXAoIjIwMTAtMDIiLCBudWxsLCBudWxsLCBudWxsKSBpcyAiMjAxMC0wMiIKK1BB
U1Mgc3RlcERvd24oIjIwMTAtMDIiLCBudWxsLCBudWxsLCBudWxsKSBpcyAiMjAxMC0wMiIKK05v
cm1hbCBjYXNlcworUEFTUyBzdGVwVXAoIjIwMTAtMDIiLCBudWxsLCBudWxsKSBpcyAiMjAxMC0w
MyIKK1BBU1Mgc3RlcERvd24oIjIwMTAtMDIiLCBudWxsLCBudWxsKSBpcyAiMjAxMC0wMSIKK1BB
U1Mgc3RlcFVwKCIyMDEwLTAyIiwgbnVsbCwgbnVsbCwgMTApIGlzICIyMDEwLTEyIgorUEFTUyBz
dGVwRG93bigiMjAxMC0wMiIsIG51bGwsIG51bGwsIDExKSBpcyAiMjAwOS0wMyIKK1BBU1Mgc3Rl
cFVwKCIxOTcwLTAxIiwgIjQiLCBudWxsLCAyKSBpcyAiMTk3MC0wOSIKK1BBU1Mgc3RlcERvd24o
IjE5NzAtMDEiLCAiNCIsIG51bGwsIDMpIGlzICIxOTY5LTAxIgorU3RlcD1hbnkKK1BBU1Mgc3Rl
cFVwKCIyMDEwLTAyIiwgImFueSIsIG51bGwpIGlzICIyMDEwLTAyIgorUEFTUyBzdGVwRG93bigi
MjAxMC0wMiIsICJhbnkiLCBudWxsKSBpcyAiMjAxMC0wMiIKK092ZXJmbG93L3VuZGVyZmxvdwor
UEFTUyBzdGVwVXAoIjIwMTAtMDIiLCAiMy40MDI4MjM0NmUrMzgiLCBudWxsKSBpcyAiMTk3MC0w
MSIKK1BBU1Mgc3RlcERvd24oIjIwMTAtMDIiLCAiMy40MDI4MjM0NmUrMzgiLCBudWxsKSBpcyAi
Mjc1NzYwLTA5IgorUEFTUyBzdGVwVXAoIjIwMTAtMDIiLCAiMSIsICIyMDEwLTAyIikgaXMgIjIw
MTAtMDIiCitQQVNTIHN0ZXBEb3duKCIyMDEwLTAyIiwgIjEiLCAiMjAxMC0wMiIpIGlzICIyMDEw
LTAyIgorCitOdW1iZXIgdHlwZQorSW52YWxpZCB2YWx1ZQorUEFTUyBzdGVwVXAoIiIsIG51bGws
IG51bGwpIGlzICIxIgorUEFTUyBzdGVwRG93bigiIiwgbnVsbCwgbnVsbCkgaXMgIi0xIgorTm9u
LW51bWJlciBhcmd1bWVudHMKK1BBU1Mgc3RlcFVwKCIwIiwgbnVsbCwgbnVsbCwgIjAiKSBpcyAi
MCIKK1BBU1Mgc3RlcERvd24oIjAiLCBudWxsLCBudWxsLCAiMCIpIGlzICIwIgorUEFTUyBzdGVw
VXAoIjAiLCBudWxsLCBudWxsLCAiZm9vIikgaXMgIjAiCitQQVNTIHN0ZXBEb3duKCIwIiwgbnVs
bCwgbnVsbCwgImZvbyIpIGlzICIwIgorUEFTUyBzdGVwVXAoIjAiLCBudWxsLCBudWxsLCBudWxs
KSBpcyAiMCIKK1BBU1Mgc3RlcERvd24oIjAiLCBudWxsLCBudWxsLCBudWxsKSBpcyAiMCIKK05v
cm1hbCBjYXNlcworUEFTUyBzdGVwVXAoIjAiLCBudWxsLCBudWxsKSBpcyAiMSIKK1BBU1Mgc3Rl
cFVwKCIxIiwgbnVsbCwgbnVsbCwgMikgaXMgIjMiCitQQVNTIHN0ZXBVcCgiMyIsIG51bGwsIG51
bGwsIC0xKSBpcyAiMiIKK1BBU1Mgc3RlcERvd24oIjIiLCBudWxsLCBudWxsKSBpcyAiMSIKK1BB
U1Mgc3RlcERvd24oIjEiLCBudWxsLCBudWxsLCAyKSBpcyAiLTEiCitQQVNTIHN0ZXBEb3duKCIt
MSIsIG51bGwsIG51bGwsIC0xKSBpcyAiMCIKK0V4dHJhIGFyZ3VtZW50cworUEFTUyBpbnB1dC52
YWx1ZSA9ICIwIjsgaW5wdXQubWluID0gbnVsbDsgaW5wdXQuc3RlcCA9IG51bGw7IGlucHV0LnN0
ZXBVcCgxLCAyKTsgaW5wdXQudmFsdWUgaXMgIjEiCitQQVNTIGlucHV0LnZhbHVlID0gIjEiOyBp
bnB1dC5zdGVwRG93bigxLCAzKTsgaW5wdXQudmFsdWUgaXMgIjAiCitJbnZhbGlkIHN0ZXAgdmFs
dWUKK1BBU1Mgc3RlcFVwKCIwIiwgImZvbyIsIG51bGwpIGlzICIxIgorUEFTUyBzdGVwVXAoIjEi
LCAiMCIsIG51bGwpIGlzICIyIgorUEFTUyBzdGVwVXAoIjIiLCAiLTEiLCBudWxsKSBpcyAiMyIK
K1N0ZXA9YW55CitQQVNTIHN0ZXBVcCgiMCIsICJhbnkiLCBudWxsKSBpcyAiMCIKK1BBU1Mgc3Rl
cERvd24oIjAiLCAiYW55IiwgbnVsbCkgaXMgIjAiCitPdmVyZmxvdy91bmRlcmZsb3cKK1BBU1Mg
c3RlcERvd24oIjEiLCAiMSIsICIwIikgaXMgIjAiCitQQVNTIHN0ZXBEb3duKCIwIiwgIjEiLCAi
MCIpIGlzICIwIgorUEFTUyBzdGVwRG93bigiMSIsICIxIiwgIjAiLCAyKSBpcyAiMCIKK1BBU1Mg
aW5wdXQudmFsdWUgaXMgIjAiCitQQVNTIHN0ZXBEb3duKCIxIiwgIjMuNDAyODIzNDZlKzM4Iiwg
IiIsIDIpIGlzICItMy40MDI4MjM0NmUrMzgiCitQQVNTIHN0ZXBVcCgiLTEiLCAiMSIsICIwIikg
aXMgIjAiCitQQVNTIHN0ZXBVcCgiMCIsICIxIiwgIjAiKSBpcyAiMCIKK1BBU1Mgc3RlcFVwKCIt
MSIsICIxIiwgIjAiLCAyKSBpcyAiMCIKK1BBU1MgaW5wdXQudmFsdWUgaXMgIjAiCitQQVNTIHN0
ZXBVcCgiMSIsICIzLjQwMjgyMzQ2ZSszOCIsICIiLCAyKSBpcyAiMy40MDI4MjM0NmUrMzgiCitz
dGVwRG93bigpL3N0ZXBVcCgpIGZvciBzdGVwTWlzbWF0Y2ggdmFsdWVzCitQQVNTIHN0ZXBVcCgi
MSIsICIyIiwgIiIpIGlzICIyIgorUEFTUyBpbnB1dC5zdGVwRG93bigpOyBpbnB1dC52YWx1ZSBp
cyAiMCIKK1BBU1MgaW5wdXQubWluID0gIjAiOyBzdGVwVXAoIjkiLCAiMTAiLCAiIiwgOSkgaXMg
IjkwIgorUEFTUyBzdGVwRG93bigiMTkiLCAiMTAiLCAiMCIpIGlzICIxMCIKK1BBU1Mgc3RlcFVw
KCI4OSIsICIxMCIsICI5OSIpIGlzICI5MCIKK0h1Z2UgdmFsdWUgYW5kIHNtYWxsIHN0ZXAKK1BB
U1MgaW5wdXQubWluID0gIiI7IHN0ZXBVcCgiMWUrMzgiLCAiMSIsICIiLCA5OTkpIGlzICIxZSsz
OCIKK1BBU1MgaW5wdXQubWF4ID0gIiI7IHN0ZXBEb3duKCIxZSszOCIsICIxIiwgIiIsIDk5OSkg
aXMgIjFlKzM4IgorRnJhY3Rpb25hbCBudW1iZXJzCitQQVNTIGlucHV0Lm1pbiA9ICIiOyBzdGVw
VXAoIjAiLCAiMC4zMzMzMzMzMzMzMzMzMzMzMyIsICIiLCAzKSBpcyAiMSIKK1BBU1Mgc3RlcFVw
KCIxIiwgIjAuMSIsICIiLCAxMCkgaXMgIjIiCitQQVNTIGlucHV0LnN0ZXBVcCgpOyBpbnB1dC5z
dGVwVXAoKTsgaW5wdXQuc3RlcFVwKCk7IGlucHV0LnN0ZXBVcCgpOyBpbnB1dC5zdGVwVXAoKTsg
aW5wdXQuc3RlcFVwKCk7IGlucHV0LnN0ZXBVcCgpOyBpbnB1dC5zdGVwVXAoKTsgaW5wdXQuc3Rl
cFVwKCk7IGlucHV0LnN0ZXBVcCgpOyBpbnB1dC52YWx1ZSBpcyAiMyIKK1BBU1MgaW5wdXQubWlu
ID0gIjAiOyBzdGVwVXAoIjAiLCAiMC4wMDM5MjE1Njg2Mjc0NTA5ODAiLCAiMSIsIDI1NSkgaXMg
IjEiCitQQVNTIGZvciAodmFyIGkgPSAwOyBpIDwgMjU1OyBpKyspIHsgaW5wdXQuc3RlcERvd24o
KTsgfTsgaW5wdXQudmFsdWUgaXMgIjAiCitSb3VuZGluZworUEFTUyBzdGVwVXAoIjUuMDA1Iiwg
IjAuMDA1IiwgIiIsIDIpIGlzICI1LjAxNSIKK1BBU1Mgc3RlcFVwKCI1LjAwNSIsICIwLjAwNSIs
ICIiLCAxMSkgaXMgIjUuMDYiCitQQVNTIHN0ZXBVcCgiNS4wMDUiLCAiMC4wMDUiLCAiIiwgMTIp
IGlzICI1LjA2NSIKK1BBU1Mgc3RlcFVwRXhwbGljaXRCb3VuZHMoIjQiLCAiOSIsICIwLjAwNSIs
ICI1LjAwNSIsIDIpIGlzICI1LjAxNSIKK1BBU1Mgc3RlcFVwRXhwbGljaXRCb3VuZHMoIjQiLCAi
OSIsICIwLjAwNSIsICI1LjAwNSIsIDExKSBpcyAiNS4wNiIKK1BBU1Mgc3RlcFVwRXhwbGljaXRC
b3VuZHMoIjQiLCAiOSIsICIwLjAwNSIsICI1LjAwNSIsIDEyKSBpcyAiNS4wNjUiCisKK1Jhbmdl
IHR5cGUKK2Z1bmN0aW9uIGFyZ3VtZW50cyBhcmUgKG1pbiwgbWF4LCBzdGVwLCB2YWx1ZSwgW3N0
ZXBDb3VudF0pCitVc2luZyB0aGUgZGVmYXVsdCB2YWx1ZXMKK1BBU1Mgc3RlcFVwRXhwbGljaXRC
b3VuZHMobnVsbCwgbnVsbCwgbnVsbCwgIiIpIGlzICI1MSIKK1BBU1Mgc3RlcERvd25FeHBsaWNp
dEJvdW5kcyhudWxsLCBudWxsLCBudWxsLCAiIikgaXMgIjQ5IgorTm9uLW51bWJlciBhcmd1bWVu
dHMgKHN0ZXBDb3VudCkKK1BBU1Mgc3RlcFVwRXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwgbnVs
bCwgIjAiLCAiMCIpIGlzICIwIgorUEFTUyBzdGVwRG93bkV4cGxpY2l0Qm91bmRzKG51bGwsIG51
bGwsIG51bGwsICIwIiwgIjAiKSBpcyAiMCIKK1BBU1Mgc3RlcFVwRXhwbGljaXRCb3VuZHMobnVs
bCwgbnVsbCwgbnVsbCwgIjAiLCAiZm9vIikgaXMgIjAiCitQQVNTIHN0ZXBEb3duRXhwbGljaXRC
b3VuZHMobnVsbCwgbnVsbCwgbnVsbCwgIjAiLCAiZm9vIikgaXMgIjAiCitQQVNTIHN0ZXBVcEV4
cGxpY2l0Qm91bmRzKG51bGwsIG51bGwsIG51bGwsICIwIiwgbnVsbCkgaXMgIjAiCitQQVNTIHN0
ZXBEb3duRXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwgbnVsbCwgIjAiLCBudWxsKSBpcyAiMCIK
K05vcm1hbCBjYXNlcworUEFTUyBzdGVwVXBFeHBsaWNpdEJvdW5kcyhudWxsLCBudWxsLCBudWxs
LCAiMCIpIGlzICIxIgorUEFTUyBzdGVwVXBFeHBsaWNpdEJvdW5kcyhudWxsLCBudWxsLCBudWxs
LCAiMSIsIDIpIGlzICIzIgorUEFTUyBzdGVwVXBFeHBsaWNpdEJvdW5kcyhudWxsLCBudWxsLCBu
dWxsLCAiMyIsIC0xKSBpcyAiMiIKK1BBU1Mgc3RlcERvd25FeHBsaWNpdEJvdW5kcygiLTEwMCIs
IG51bGwsIG51bGwsICIyIikgaXMgIjEiCitQQVNTIHN0ZXBEb3duRXhwbGljaXRCb3VuZHMoIi0x
MDAiLCBudWxsLCBudWxsLCAiMSIsIDIpIGlzICItMSIKK1BBU1Mgc3RlcERvd25FeHBsaWNpdEJv
dW5kcygiLTEwMCIsIG51bGwsIG51bGwsICItMSIsIC0xKSBpcyAiMCIKK0V4dHJhIGFyZ3VtZW50
cworUEFTUyBzZXRJbnB1dEF0dHJpYnV0ZXMobnVsbCwgbnVsbCwgbnVsbCwgIjAiKTsgaW5wdXQu
c3RlcFVwKDEsMik7IGlucHV0LnZhbHVlIGlzICIxIgorUEFTUyBzZXRJbnB1dEF0dHJpYnV0ZXMo
bnVsbCwgbnVsbCwgbnVsbCwgIjEiKTsgaW5wdXQuc3RlcERvd24oMSwzKTsgaW5wdXQudmFsdWUg
aXMgIjAiCitJbnZhbGlkIHN0ZXAgdmFsdWUKK1BBU1Mgc3RlcFVwRXhwbGljaXRCb3VuZHMobnVs
bCwgbnVsbCwgImZvbyIsICIwIikgaXMgIjEiCitQQVNTIHN0ZXBVcEV4cGxpY2l0Qm91bmRzKG51
bGwsIG51bGwsICIwIiwgIjEiKSBpcyAiMiIKK1BBU1Mgc3RlcFVwRXhwbGljaXRCb3VuZHMobnVs
bCwgbnVsbCwgIi0xIiwgIjIiKSBpcyAiMyIKK1BBU1Mgc3RlcERvd25FeHBsaWNpdEJvdW5kcyhu
dWxsLCBudWxsLCAiZm9vIiwgIjEiKSBpcyAiMCIKK1BBU1Mgc3RlcERvd25FeHBsaWNpdEJvdW5k
cyhudWxsLCBudWxsLCAiMCIsICIyIikgaXMgIjEiCitQQVNTIHN0ZXBEb3duRXhwbGljaXRCb3Vu
ZHMobnVsbCwgbnVsbCwgIi0xIiwgIjMiKSBpcyAiMiIKK1N0ZXA9YW55CitQQVNTIHN0ZXBVcEV4
cGxpY2l0Qm91bmRzKG51bGwsIG51bGwsICJhbnkiLCAiMSIpIGlzICIyIgorUEFTUyBzdGVwRG93
bkV4cGxpY2l0Qm91bmRzKG51bGwsIG51bGwsICJhbnkiLCAiMSIpIGlzICIwIgorT3ZlcmZsb3cv
dW5kZXJmbG93CitQQVNTIHN0ZXBVcEV4cGxpY2l0Qm91bmRzKG51bGwsICIxMDAiLCAiMSIsICI5
OSIpIGlzICIxMDAiCitQQVNTIHN0ZXBVcEV4cGxpY2l0Qm91bmRzKG51bGwsICIxMDAiLCAiMSIs
ICIxMDAiKSBpcyAiMTAwIgorUEFTUyBpbnB1dC52YWx1ZSBpcyAiMTAwIgorUEFTUyBzdGVwVXBF
eHBsaWNpdEJvdW5kcyhudWxsLCAiMTAwIiwgIjEiLCAiOTkiLCAiMiIpIGlzICIxMDAiCitQQVNT
IGlucHV0LnZhbHVlIGlzICIxMDAiCitQQVNTIHN0ZXBEb3duRXhwbGljaXRCb3VuZHMoIjAiLCBu
dWxsLCAiMSIsICIxIikgaXMgIjAiCitQQVNTIHN0ZXBEb3duRXhwbGljaXRCb3VuZHMoIjAiLCBu
dWxsLCAiMSIsICIwIikgaXMgIjAiCitQQVNTIGlucHV0LnZhbHVlIGlzICIwIgorUEFTUyBzdGVw
RG93bkV4cGxpY2l0Qm91bmRzKCIwIiwgbnVsbCwgIjEiLCAiMSIsICIyIikgaXMgIjAiCitQQVNT
IGlucHV0LnZhbHVlIGlzICIwIgorUEFTUyBzdGVwRG93bkV4cGxpY2l0Qm91bmRzKG51bGwsIG51
bGwsICIzLjQwMjgyMzQ2ZSszOCIsICIxIiwgIjIiKSBpcyAiMCIKK1BBU1Mgc3RlcFVwRXhwbGlj
aXRCb3VuZHMoLTEwMCwgMCwgMSwgLTEpIGlzICIwIgorUEFTUyBzdGVwVXBFeHBsaWNpdEJvdW5k
cyhudWxsLCAwLCAxLCAwKSBpcyAiMCIKK1BBU1Mgc3RlcFVwRXhwbGljaXRCb3VuZHMoLTEwMCwg
MCwgMSwgLTEsIDIpIGlzICIwIgorUEFTUyBpbnB1dC52YWx1ZSBpcyAiMCIKK1BBU1Mgc3RlcFVw
RXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwgIjMuNDAyODIzNDZlKzM4IiwgIjEiLCAiMiIpIGlz
ICIwIgorc3RlcERvd24oKS9zdGVwVXAoKSBmb3Igc3RlcE1pc21hdGNoIHZhbHVlcworUEFTUyBz
dGVwVXBFeHBsaWNpdEJvdW5kcyhudWxsLCBudWxsLCAyLCAxKSBpcyAiNCIKK1BBU1MgaW5wdXQu
c3RlcERvd24oKTsgaW5wdXQudmFsdWUgaXMgIjIiCitQQVNTIHN0ZXBVcEV4cGxpY2l0Qm91bmRz
KDAsIG51bGwsIDEwLCA5LCA5KSBpcyAiMTAwIgorUEFTUyBzdGVwRG93bkV4cGxpY2l0Qm91bmRz
KDAsIG51bGwsIDEwLCAxOSkgaXMgIjEwIgordmFsdWUgKyBzdGVwIGlzIDw9IG1heCwgYnV0IHJv
dW5kZWQgcmVzdWx0IHdvdWxkIGJlID4gbWF4LgorUEFTUyBzdGVwVXBFeHBsaWNpdEJvdW5kcyhu
dWxsLCA5OSwgMTAsIDg5KSBpcyAiOTAiCitIdWdlIHZhbHVlIGFuZCBzbWFsbCBzdGVwCitQQVNT
IHN0ZXBVcEV4cGxpY2l0Qm91bmRzKDAsIDFlMzgsIDEsIDFlMzgsIDk5OSkgaXMgIjFlKzM4Igor
UEFTUyBzdGVwRG93bkV4cGxpY2l0Qm91bmRzKDAsIDFlMzgsIDEsIDFlMzgsIDk5OSkgaXMgIjFl
KzM4IgorRnJhY3Rpb25hbCBudW1iZXJzCitQQVNTIHN0ZXBVcEV4cGxpY2l0Qm91bmRzKG51bGws
IG51bGwsIDAuMzMzMzMzMzMzMzMzMzMzMzMsIDAsIDMpIGlzICIxIgorUEFTUyBzdGVwVXBFeHBs
aWNpdEJvdW5kcyhudWxsLCBudWxsLCAwLjEsIDEpIGlzICIxLjEiCitQQVNTIHN0ZXBVcEV4cGxp
Y2l0Qm91bmRzKG51bGwsIG51bGwsIDAuMSwgMSwgOCkgaXMgIjEuOCIKK1BBU1Mgc3RlcFVwRXhw
bGljaXRCb3VuZHMobnVsbCwgbnVsbCwgMC4xLCAxLCAxMCkgaXMgIjIiCitQQVNTIGlucHV0LnN0
ZXBVcCgpOyBpbnB1dC5zdGVwVXAoKTsgaW5wdXQuc3RlcFVwKCk7IGlucHV0LnN0ZXBVcCgpOyBp
bnB1dC5zdGVwVXAoKTsgaW5wdXQuc3RlcFVwKCk7IGlucHV0LnN0ZXBVcCgpOyBpbnB1dC5zdGVw
VXAoKTsgaW5wdXQuc3RlcFVwKCk7IGlucHV0LnN0ZXBVcCgpOyBpbnB1dC52YWx1ZSBpcyAiMyIK
K1BBU1Mgc3RlcFVwRXhwbGljaXRCb3VuZHMoMCwgMSwgMC4wMDM5MjE1Njg2Mjc0NTA5ODAsIDAs
IDI1NSkgaXMgIjEiCitQQVNTIGZvciAodmFyIGkgPSAwOyBpIDwgMjU1OyBpKyspIHsgaW5wdXQu
c3RlcERvd24oKTsgfTsgaW5wdXQudmFsdWUgaXMgIjAiCitQQVNTIHN0ZXBEb3duRXhwbGljaXRC
b3VuZHMobnVsbCwgbnVsbCwgMC4xLCAxLCA4KSBpcyAiMC4yIgorUEFTUyBzdGVwRG93bkV4cGxp
Y2l0Qm91bmRzKG51bGwsIG51bGwsIDAuMSwgMSkgaXMgIjAuOSIKKworVGltZSB0eXBlCitOb24t
bnVtYmVyIGFyZ3VtZW50cworUEFTUyBzdGVwVXAoIjIwOjEzIiwgbnVsbCwgbnVsbCwgIjAiKSBp
cyAiMjA6MTMiCitQQVNTIHN0ZXBEb3duKCIyMDoxMyIsIG51bGwsIG51bGwsICIwIikgaXMgIjIw
OjEzIgorUEFTUyBzdGVwVXAoIjIwOjEzIiwgbnVsbCwgbnVsbCwgImZvbyIpIGlzICIyMDoxMyIK
K1BBU1Mgc3RlcERvd24oIjIwOjEzIiwgbnVsbCwgbnVsbCwgImZvbyIpIGlzICIyMDoxMyIKK1BB
U1Mgc3RlcFVwKCIyMDoxMyIsIG51bGwsIG51bGwsIG51bGwpIGlzICIyMDoxMyIKK1BBU1Mgc3Rl
cERvd24oIjIwOjEzIiwgbnVsbCwgbnVsbCwgbnVsbCkgaXMgIjIwOjEzIgorTm9ybWFsIGNhc2Vz
CitQQVNTIHN0ZXBVcCgiMjA6MTMiLCBudWxsLCBudWxsKSBpcyAiMjA6MTQiCitQQVNTIHN0ZXBE
b3duKCIyMDoxMyIsIG51bGwsIG51bGwpIGlzICIyMDoxMiIKK1BBU1Mgc3RlcFVwKCIyMDoxMyIs
IG51bGwsIG51bGwsIDEwKSBpcyAiMjA6MjMiCitQQVNTIHN0ZXBEb3duKCIyMDoxMyIsIG51bGws
IG51bGwsIDExKSBpcyAiMjA6MDIiCitQQVNTIHN0ZXBVcCgiMjA6MTMiLCAiNCIsIG51bGwsIDIp
IGlzICIyMDoxMzowOCIKK1BBU1Mgc3RlcERvd24oIjIwOjEzIiwgIjQiLCBudWxsLCAzKSBpcyAi
MjA6MTI6NDgiCitTdGVwPWFueQorUEFTUyBzdGVwVXAoIjIwOjEzIiwgImFueSIsIG51bGwpIGlz
ICIyMDoxMyIKK1BBU1Mgc3RlcERvd24oIjIwOjEzIiwgImFueSIsIG51bGwpIGlzICIyMDoxMyIK
K092ZXJmbG93L3VuZGVyZmxvdworUEFTUyBzdGVwVXAoIjIwOjEzIiwgIjMuNDAyODIzNDZlKzM4
IiwgbnVsbCkgaXMgIjAwOjAwOjAwLjAwMCIKK1BBU1Mgc3RlcERvd24oIjIwOjEzIiwgIjMuNDAy
ODIzNDZlKzM4IiwgbnVsbCkgaXMgIjIzOjU5OjU5Ljk5OSIKK1BBU1Mgc3RlcFVwKCIyMDoxMyIs
ICIxIiwgIjIwOjEzIikgaXMgIjIwOjEzIgorUEFTUyBzdGVwRG93bigiMjA6MTMiLCAiMSIsICIy
MDoxMyIpIGlzICIyMDoxMyIKK1BBU1Mgc3RlcFVwKCIyMzo1OSIsIG51bGwsIG51bGwpIGlzICIy
Mzo1OSIKK1BBU1Mgc3RlcERvd24oIjAwOjAwIiwgbnVsbCwgbnVsbCkgaXMgIjAwOjAwIgorCitX
ZWVrIHR5cGUKK05vbi1udW1iZXIgYXJndW1lbnRzCitQQVNTIHN0ZXBVcCgiMjAxMC1XMDIiLCBu
dWxsLCBudWxsLCAiMCIpIGlzICIyMDEwLVcwMiIKK1BBU1Mgc3RlcERvd24oIjIwMTAtVzAyIiwg
bnVsbCwgbnVsbCwgIjAiKSBpcyAiMjAxMC1XMDIiCitQQVNTIHN0ZXBVcCgiMjAxMC1XMDIiLCBu
dWxsLCBudWxsLCAiZm9vIikgaXMgIjIwMTAtVzAyIgorUEFTUyBzdGVwRG93bigiMjAxMC1XMDIi
LCBudWxsLCBudWxsLCAiZm9vIikgaXMgIjIwMTAtVzAyIgorUEFTUyBzdGVwVXAoIjIwMTAtVzAy
IiwgbnVsbCwgbnVsbCwgbnVsbCkgaXMgIjIwMTAtVzAyIgorUEFTUyBzdGVwRG93bigiMjAxMC1X
MDIiLCBudWxsLCBudWxsLCBudWxsKSBpcyAiMjAxMC1XMDIiCitOb3JtYWwgY2FzZXMKK1BBU1Mg
c3RlcFVwKCIyMDEwLVcwMiIsIG51bGwsIG51bGwpIGlzICIyMDEwLVcwMyIKK1BBU1Mgc3RlcERv
d24oIjIwMTAtVzAyIiwgbnVsbCwgbnVsbCkgaXMgIjIwMTAtVzAxIgorUEFTUyBzdGVwVXAoIjIw
MTAtVzAyIiwgbnVsbCwgbnVsbCwgMTApIGlzICIyMDEwLVcxMiIKK1BBU1Mgc3RlcERvd24oIjIw
MTAtVzAyIiwgbnVsbCwgbnVsbCwgMTEpIGlzICIyMDA5LVc0NCIKK1BBU1Mgc3RlcFVwKCIxOTcw
LVcwMSIsICI0IiwgbnVsbCwgMikgaXMgIjE5NzAtVzA5IgorUEFTUyBzdGVwRG93bigiMTk3MC1X
MDEiLCAiNCIsIG51bGwsIDMpIGlzICIxOTY5LVc0MSIKK1N0ZXA9YW55CitQQVNTIHN0ZXBVcCgi
MjAxMC1XMDIiLCAiYW55IiwgbnVsbCkgaXMgIjIwMTAtVzAyIgorUEFTUyBzdGVwRG93bigiMjAx
MC1XMDIiLCAiYW55IiwgbnVsbCkgaXMgIjIwMTAtVzAyIgorT3ZlcmZsb3cvdW5kZXJmbG93CitQ
QVNTIHN0ZXBVcCgiMjAxMC1XMDIiLCAiMy40MDI4MjM0NmUrMzgiLCBudWxsKSBpcyAiMTk3MC1X
MDEiCitQQVNTIHN0ZXBEb3duKCIyMDEwLVcwMiIsICIzLjQwMjgyMzQ2ZSszOCIsIG51bGwpIGlz
ICIyNzU3NjAtVzM3IgorUEFTUyBzdGVwVXAoIjIwMTAtVzAyIiwgIjEiLCAiMjAxMC1XMDIiKSBp
cyAiMjAxMC1XMDIiCitQQVNTIHN0ZXBEb3duKCIyMDEwLVcwMiIsICIxIiwgIjIwMTAtVzAyIikg
aXMgIjIwMTAtVzAyIgorCitVbnN1cHBvcnRlZCB0eXBlCitQQVNTIGlucHV0LnN0ZXAgPSAiMyI7
IGlucHV0Lm1pbiA9ICIiOyBpbnB1dC5tYXggPSAiIjsgaW5wdXQudmFsdWUgPSAiMiI7IGlucHV0
LnN0ZXBEb3duKCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJTlZBTElEX1NUQVRFX0VSUjogRE9N
IEV4Y2VwdGlvbiAxMS4KK1BBU1MgaW5wdXQuc3RlcERvd24oMCkgdGhyZXcgZXhjZXB0aW9uIEVy
cm9yOiBJTlZBTElEX1NUQVRFX0VSUjogRE9NIEV4Y2VwdGlvbiAxMS4KK1BBU1MgaW5wdXQuc3Rl
cFVwKCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJTlZBTElEX1NUQVRFX0VSUjogRE9NIEV4Y2Vw
dGlvbiAxMS4KK1BBU1MgaW5wdXQuc3RlcFVwKDApIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSU5W
QUxJRF9TVEFURV9FUlI6IERPTSBFeGNlcHRpb24gMTEuCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy9pbnB1dC1zdGVwdXAtc3RlcGRvd24tZnJvbS1yZW5kZXJlci5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9pbnB1dC1zdGVwdXAtc3RlcGRvd24tZnJvbS1yZW5kZXJlci5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmE0ZmZmZmRjOGVlNjAwMmQ1M2Q3YWIyMTlmOTMxZTcwODlkNTQ0NWQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lucHV0LXN0ZXB1cC1zdGVw
ZG93bi1mcm9tLXJlbmRlcmVyLmh0bWwKQEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJl
bD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHls
ZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+
Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvaW5w
dXQtc3RlcHVwLXN0ZXBkb3duLWZyb20tcmVuZGVyZXIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3Njcmlw
dC10ZXN0cy9pbnB1dC1zdGVwdXAtc3RlcGRvd24tZnJvbS1yZW5kZXJlci5qcyBiL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2lucHV0LXN0ZXB1cC1zdGVwZG93bi1mcm9tLXJl
bmRlcmVyLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk4NzI5OGI5OWEwNWVkMmU2OTQxNTQwNGQ1YWI3ODg5MTMw
OWFiOTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10
ZXN0cy9pbnB1dC1zdGVwdXAtc3RlcGRvd24tZnJvbS1yZW5kZXJlci5qcwpAQCAtMCwwICsxLDM4
MCBAQAorZGVzY3JpcHRpb24oJ0NoZWNrIHN0ZXBVcCgpIGFuZCBzdGVwRG93bigpIGJhaGV2aW9y
IGZyb20gcmVuZGVyZXIgZm9yIHR5cGU9ZGF0ZSwgZGF0ZXRpbWUsIGRhdGV0aW1lLWxvY2FsLCBt
b250aCwgdGltZSwgd2Vlay4nKTsKKwordmFyIGlucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgnaW5wdXQnKTsKK3ZhciBpbnZhbGlkU3RhdGVFcnIgPSAnIkVycm9yOiBJTlZBTElEX1NUQVRF
X0VSUjogRE9NIEV4Y2VwdGlvbiAxMSInOworCitmdW5jdGlvbiBzZW5kS2V5KGtleU5hbWUpIHsK
KyAgICB2YXIgZXZlbnQgPSBkb2N1bWVudC5jcmVhdGVFdmVudCgnS2V5Ym9hcmRFdmVudCcpOwor
ICAgIGV2ZW50LmluaXRLZXlib2FyZEV2ZW50KCdrZXlkb3duJywgdHJ1ZSwgdHJ1ZSwgZG9jdW1l
bnQuZGVmYXVsdFZpZXcsIGtleU5hbWUpOworICAgIGlucHV0LmRpc3BhdGNoRXZlbnQoZXZlbnQp
OworfQorCitmdW5jdGlvbiBzZXRJbnB1dEF0dHJpYnV0ZXMobWluLCBtYXgsIHN0ZXAsIHZhbHVl
KSB7CisgICAgaW5wdXQubWluID0gbWluOworICAgIGlucHV0Lm1heCA9IG1heDsKKyAgICBpbnB1
dC5zdGVwID0gc3RlcDsKKyAgICBpbnB1dC52YWx1ZSA9IHZhbHVlOworfQorCitmdW5jdGlvbiBz
dGVwVXAodmFsdWUsIHN0ZXAsIG1heCwgb3B0aW9uYWxTdGVwQ291bnQpIHsKKyAgICBzZXRJbnB1
dEF0dHJpYnV0ZXMobnVsbCwgbWF4LCBzdGVwLCB2YWx1ZSk7CisgICAgaWYgKHR5cGVvZiBvcHRp
b25hbFN0ZXBDb3VudCAhPSAidW5kZWZpbmVkIikKKyAgICAgICAgaWYgKG9wdGlvbmFsU3RlcENv
dW50IDwgMCkKKyAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgLW9wdGlvbmFsU3RlcENv
dW50OyBpKyspCisgICAgICAgICAgICAgICAgc2VuZEtleSgnRG93bicpOworICAgICAgICBlbHNl
CisgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IG9wdGlvbmFsU3RlcENvdW50OyBpKysp
CisgICAgICAgICAgICAgICAgc2VuZEtleSgnVXAnKTsKKyAgICBlbHNlCisgICAgICAgIHNlbmRL
ZXkoJ1VwJyk7CisgICAgcmV0dXJuIGlucHV0LnZhbHVlOworfQorCitmdW5jdGlvbiBzdGVwRG93
bih2YWx1ZSwgc3RlcCwgbWluLCBvcHRpb25hbFN0ZXBDb3VudCkgeworICAgIHNldElucHV0QXR0
cmlidXRlcyhtaW4sIG51bGwsIHN0ZXAsIHZhbHVlKTsKKyAgICBpZiAodHlwZW9mIG9wdGlvbmFs
U3RlcENvdW50ICE9ICJ1bmRlZmluZWQiKQorICAgICAgICBpZiAob3B0aW9uYWxTdGVwQ291bnQg
PCAwKQorICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCAtb3B0aW9uYWxTdGVwQ291bnQ7
IGkrKykKKyAgICAgICAgICAgICAgICBzZW5kS2V5KCdVcCcpOworICAgICAgICBlbHNlCisgICAg
ICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IG9wdGlvbmFsU3RlcENvdW50OyBpKyspCisgICAg
ICAgICAgICAgICAgc2VuZEtleSgnRG93bicpOworICAgIGVsc2UKKyAgICAgICAgc2VuZEtleSgn
RG93bicpOworICAgIHJldHVybiBpbnB1dC52YWx1ZTsKK30KKworLy8gUmFuZ2UgdmFsdWUgZ2V0
cyBhdXRvbWF0aWNhbGx5IHNoaWZ0ZWQgYmFzZWQgb24gYm91bmRzLAorLy8gU28gYWx3YXlzIHNl
dCB0aGUgbWluIGFuZCBtYXggZmlyc3QgdG8gZ2V0IGV4cGVjdGVkIGJlaGF2aW9yCisKK2Z1bmN0
aW9uIHN0ZXBVcEV4cGxpY2l0Qm91bmRzKG1pbiwgbWF4LCBzdGVwLCB2YWx1ZSwgc3RlcENvdW50
KSB7CisgICAgc2V0SW5wdXRBdHRyaWJ1dGVzKG1pbiwgbWF4LCBzdGVwLCB2YWx1ZSk7CisgICAg
aWYgKHR5cGVvZiBzdGVwQ291bnQgIT09ICd1bmRlZmluZWQnKQorICAgICAgICBpZiAoc3RlcENv
dW50IDwgMCkgeworICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCAtc3RlcENvdW50OyBp
KyspCisgICAgICAgICAgICAgICAgc2VuZEtleSgnRG93bicpOworICAgICAgICB9IGVsc2Ugewor
ICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzdGVwQ291bnQ7IGkrKykKKyAgICAgICAg
ICAgICAgICBzZW5kS2V5KCdVcCcpOworICAgICAgICB9CisgICAgZWxzZQorICAgICAgICBzZW5k
S2V5KCdVcCcpOworICAgIHJldHVybiBpbnB1dC52YWx1ZTsKK30KKworZnVuY3Rpb24gc3RlcERv
d25FeHBsaWNpdEJvdW5kcyhtaW4sIG1heCwgc3RlcCwgdmFsdWUsIHN0ZXBDb3VudCkgeworICAg
IHNldElucHV0QXR0cmlidXRlcyhtaW4sIG1heCwgc3RlcCwgdmFsdWUpOworICAgIGlmICh0eXBl
b2Ygc3RlcENvdW50ICE9PSAndW5kZWZpbmVkJykKKyAgICAgICAgaWYgKHN0ZXBDb3VudCA8IDAp
IHsKKyAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgLXN0ZXBDb3VudDsgaSsrKQorICAg
ICAgICAgICAgICAgIHNlbmRLZXkoJ1VwJyk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAg
ICBmb3IgKHZhciBpID0gMDsgaSA8IHN0ZXBDb3VudDsgaSsrKQorICAgICAgICAgICAgICAgIHNl
bmRLZXkoJ0Rvd24nKTsKKyAgICAgICAgfQorICAgIGVsc2UKKyAgICAgICAgc2VuZEtleSgnRG93
bicpOworICAgIHJldHVybiBpbnB1dC52YWx1ZTsKK30KKworZGVidWcoJ0RhdGUgdHlwZScpOwor
aW5wdXQudHlwZSA9ICdkYXRlJzsKK2RlYnVnKCdOb24tbnVtYmVyIGFyZ3VtZW50cycpOworc2hv
dWxkQmUoJ3N0ZXBVcCgiMjAxMC0wMi0xMCIsIG51bGwsIG51bGwsICIwIiknLCAnIjIwMTAtMDIt
MTAiJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjIwMTAtMDItMTAiLCBudWxsLCBudWxsLCAiMCIp
JywgJyIyMDEwLTAyLTEwIicpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMjAxMC0wMi0xMCIsIG51bGws
IG51bGwsICJmb28iKScsICciMjAxMC0wMi0xMCInKTsKK3Nob3VsZEJlKCdzdGVwRG93bigiMjAx
MC0wMi0xMCIsIG51bGwsIG51bGwsICJmb28iKScsICciMjAxMC0wMi0xMCInKTsKK3Nob3VsZEJl
KCdzdGVwVXAoIjIwMTAtMDItMTAiLCBudWxsLCBudWxsLCBudWxsKScsICciMjAxMC0wMi0xMCIn
KTsKK3Nob3VsZEJlKCdzdGVwRG93bigiMjAxMC0wMi0xMCIsIG51bGwsIG51bGwsIG51bGwpJywg
JyIyMDEwLTAyLTEwIicpOworZGVidWcoJ05vcm1hbCBjYXNlcycpOworc2hvdWxkQmUoJ3N0ZXBV
cCgiMjAxMC0wMi0xMCIsIG51bGwsIG51bGwpJywgJyIyMDEwLTAyLTExIicpOworc2hvdWxkQmUo
J3N0ZXBEb3duKCIyMDEwLTAyLTEwIiwgbnVsbCwgbnVsbCknLCAnIjIwMTAtMDItMDkiJyk7Citz
aG91bGRCZSgnc3RlcFVwKCIyMDEwLTAyLTEwIiwgbnVsbCwgbnVsbCwgMTApJywgJyIyMDEwLTAy
LTIwIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIyMDEwLTAyLTEwIiwgbnVsbCwgbnVsbCwgMTEp
JywgJyIyMDEwLTAxLTMwIicpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMTk3MC0wMS0wMSIsICI0Iiwg
bnVsbCwgMiknLCAnIjE5NzAtMDEtMDkiJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjE5NzAtMDEt
MDEiLCAiNCIsIG51bGwsIDMpJywgJyIxOTY5LTEyLTIwIicpOworZGVidWcoJ1N0ZXA9YW55Jyk7
CitzaG91bGRCZSgnc3RlcFVwKCIyMDEwLTAyLTEwIiwgImFueSIsIG51bGwpJywgJyIyMDEwLTAy
LTEwIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIyMDEwLTAyLTEwIiwgImFueSIsIG51bGwpJywg
JyIyMDEwLTAyLTEwIicpOworZGVidWcoJ092ZXJmbG93L3VuZGVyZmxvdycpOworc2hvdWxkQmUo
J3N0ZXBVcCgiMjAxMC0wMi0xMCIsICIzLjQwMjgyMzQ2ZSszOCIsIG51bGwpJywnIjE5NzAtMDEt
MDEiJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjIwMTAtMDItMTAiLCAiMy40MDI4MjM0NmUrMzgi
LCBudWxsKScsICciMjc1NzYwLTA5LTEzIicpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMjAxMC0wMi0x
MCIsICIxIiwgIjIwMTAtMDItMTAiKScsICciMjAxMC0wMi0xMCInKTsKK3Nob3VsZEJlKCdzdGVw
RG93bigiMjAxMC0wMi0xMCIsICIxIiwgIjIwMTAtMDItMTAiKScsICciMjAxMC0wMi0xMCInKTsK
KworZGVidWcoJycpOworZGVidWcoJ0RhdGV0aW1lIHR5cGUnKTsKK2lucHV0LnR5cGUgPSAnZGF0
ZXRpbWUnOworZGVidWcoJ05vbi1udW1iZXIgYXJndW1lbnRzJyk7CitzaG91bGRCZSgnc3RlcFVw
KCIyMDEwLTAyLTEwVDIwOjEzWiIsIG51bGwsIG51bGwsICIwIiknLCAnIjIwMTAtMDItMTBUMjA6
MTNaIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIyMDEwLTAyLTEwVDIwOjEzWiIsIG51bGwsIG51
bGwsICIwIiknLCAnIjIwMTAtMDItMTBUMjA6MTNaIicpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMjAx
MC0wMi0xMFQyMDoxM1oiLCBudWxsLCBudWxsLCAiZm9vIiknLCAnIjIwMTAtMDItMTBUMjA6MTNa
IicpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIyMDEwLTAyLTEwVDIwOjEzWiIsIG51bGwsIG51bGws
ICJmb28iKScsICciMjAxMC0wMi0xMFQyMDoxM1oiJyk7CitzaG91bGRCZSgnc3RlcFVwKCIyMDEw
LTAyLTEwVDIwOjEzWiIsIG51bGwsIG51bGwsIG51bGwpJywgJyIyMDEwLTAyLTEwVDIwOjEzWiIn
KTsKK3Nob3VsZEJlKCdzdGVwRG93bigiMjAxMC0wMi0xMFQyMDoxM1oiLCBudWxsLCBudWxsLCBu
dWxsKScsICciMjAxMC0wMi0xMFQyMDoxM1oiJyk7CitkZWJ1ZygnTm9ybWFsIGNhc2VzJyk7Citz
aG91bGRCZSgnc3RlcFVwKCIyMDEwLTAyLTEwVDIwOjEzWiIsIG51bGwsIG51bGwpJywgJyIyMDEw
LTAyLTEwVDIwOjE0WiInKTsKK3Nob3VsZEJlKCdzdGVwRG93bigiMjAxMC0wMi0xMFQyMDoxM1oi
LCBudWxsLCBudWxsKScsICciMjAxMC0wMi0xMFQyMDoxMloiJyk7CitzaG91bGRCZSgnc3RlcFVw
KCIyMDEwLTAyLTEwVDIwOjEzWiIsIG51bGwsIG51bGwsIDEwKScsICciMjAxMC0wMi0xMFQyMDoy
M1oiJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjIwMTAtMDItMTBUMjA6MTNaIiwgbnVsbCwgbnVs
bCwgMTEpJywgJyIyMDEwLTAyLTEwVDIwOjAyWiInKTsKK3Nob3VsZEJlKCdzdGVwVXAoIjE5NzAt
MDEtMDFUMjA6MTNaIiwgIjQiLCBudWxsLCAyKScsICciMTk3MC0wMS0wMVQyMDoxMzowOFoiJyk7
CitzaG91bGRCZSgnc3RlcERvd24oIjE5NzAtMDEtMDFUMjA6MTNaIiwgIjQiLCBudWxsLCAzKScs
ICciMTk3MC0wMS0wMVQyMDoxMjo0OFoiJyk7CitkZWJ1ZygnU3RlcD1hbnknKTsKK3Nob3VsZEJl
KCdzdGVwVXAoIjIwMTAtMDItMTBUMjA6MTNaIiwgImFueSIsIG51bGwpJywgJyIyMDEwLTAyLTEw
VDIwOjEzWiInKTsKK3Nob3VsZEJlKCdzdGVwRG93bigiMjAxMC0wMi0xMFQyMDoxM1oiLCAiYW55
IiwgbnVsbCknLCAnIjIwMTAtMDItMTBUMjA6MTNaIicpOworZGVidWcoJ092ZXJmbG93L3VuZGVy
ZmxvdycpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMjAxMC0wMi0xMFQyMDoxM1oiLCAiMy40MDI4MjM0
NmUrMzgiLCBudWxsKScsICciMTk3MC0wMS0wMVQwMDowMDowMC4wMDBaIicpOworc2hvdWxkQmUo
J3N0ZXBEb3duKCIyMDEwLTAyLTEwVDIwOjEzWiIsICIzLjQwMjgyMzQ2ZSszOCIsIG51bGwpJywg
JyIyNzU3NjAtMDktMTNUMDA6MDA6MDAuMDAwWiInKTsKK3Nob3VsZEJlKCdzdGVwVXAoIjIwMTAt
MDItMTBUMjA6MTNaIiwgIjEiLCAiMjAxMC0wMi0xMFQyMDoxM1oiKScsICciMjAxMC0wMi0xMFQy
MDoxM1oiJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjIwMTAtMDItMTBUMjA6MTNaIiwgIjEiLCAi
MjAxMC0wMi0xMFQyMDoxM1oiKScsICciMjAxMC0wMi0xMFQyMDoxM1oiJyk7CisKK2RlYnVnKCcn
KTsKK2RlYnVnKCdEYXRldGltZS1sb2NhbCB0eXBlJyk7CitpbnB1dC50eXBlID0gJ2RhdGV0aW1l
LWxvY2FsJzsKK2RlYnVnKCdOb24tbnVtYmVyIGFyZ3VtZW50cycpOworc2hvdWxkQmUoJ3N0ZXBV
cCgiMjAxMC0wMi0xMFQyMDoxMyIsIG51bGwsIG51bGwsICIwIiknLCAnIjIwMTAtMDItMTBUMjA6
MTMiJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjIwMTAtMDItMTBUMjA6MTMiLCBudWxsLCBudWxs
LCAiMCIpJywgJyIyMDEwLTAyLTEwVDIwOjEzIicpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMjAxMC0w
Mi0xMFQyMDoxMyIsIG51bGwsIG51bGwsICJmb28iKScsICciMjAxMC0wMi0xMFQyMDoxMyInKTsK
K3Nob3VsZEJlKCdzdGVwRG93bigiMjAxMC0wMi0xMFQyMDoxMyIsIG51bGwsIG51bGwsICJmb28i
KScsICciMjAxMC0wMi0xMFQyMDoxMyInKTsKK3Nob3VsZEJlKCdzdGVwVXAoIjIwMTAtMDItMTBU
MjA6MTMiLCBudWxsLCBudWxsLCBudWxsKScsICciMjAxMC0wMi0xMFQyMDoxMyInKTsKK3Nob3Vs
ZEJlKCdzdGVwRG93bigiMjAxMC0wMi0xMFQyMDoxMyIsIG51bGwsIG51bGwsIG51bGwpJywgJyIy
MDEwLTAyLTEwVDIwOjEzIicpOworZGVidWcoJ05vcm1hbCBjYXNlcycpOworc2hvdWxkQmUoJ3N0
ZXBVcCgiMjAxMC0wMi0xMFQyMDoxMyIsIG51bGwsIG51bGwpJywgJyIyMDEwLTAyLTEwVDIwOjE0
IicpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIyMDEwLTAyLTEwVDIwOjEzIiwgbnVsbCwgbnVsbCkn
LCAnIjIwMTAtMDItMTBUMjA6MTIiJyk7CitzaG91bGRCZSgnc3RlcFVwKCIyMDEwLTAyLTEwVDIw
OjEzIiwgbnVsbCwgbnVsbCwgMTApJywgJyIyMDEwLTAyLTEwVDIwOjIzIicpOworc2hvdWxkQmUo
J3N0ZXBEb3duKCIyMDEwLTAyLTEwVDIwOjEzIiwgbnVsbCwgbnVsbCwgMTEpJywgJyIyMDEwLTAy
LTEwVDIwOjAyIicpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMTk3MC0wMS0wMVQyMDoxMyIsICI0Iiwg
bnVsbCwgMiknLCAnIjE5NzAtMDEtMDFUMjA6MTM6MDgiJyk7CitzaG91bGRCZSgnc3RlcERvd24o
IjE5NzAtMDEtMDFUMjA6MTMiLCAiNCIsIG51bGwsIDMpJywgJyIxOTcwLTAxLTAxVDIwOjEyOjQ4
IicpOworZGVidWcoJ1N0ZXA9YW55Jyk7CitzaG91bGRCZSgnc3RlcFVwKCIyMDEwLTAyLTEwVDIw
OjEzIiwgImFueSIsIG51bGwpJywgJyIyMDEwLTAyLTEwVDIwOjEzIicpOworc2hvdWxkQmUoJ3N0
ZXBEb3duKCIyMDEwLTAyLTEwVDIwOjEzIiwgImFueSIsIG51bGwpJywgJyIyMDEwLTAyLTEwVDIw
OjEzIicpOworZGVidWcoJ092ZXJmbG93L3VuZGVyZmxvdycpOworc2hvdWxkQmUoJ3N0ZXBVcCgi
MjAxMC0wMi0xMFQyMDoxMyIsICIzLjQwMjgyMzQ2ZSszOCIsIG51bGwpJywgJyIxOTcwLTAxLTAx
VDAwOjAwOjAwLjAwMCInKTsKK3Nob3VsZEJlKCdzdGVwRG93bigiMjAxMC0wMi0xMFQyMDoxMyIs
ICIzLjQwMjgyMzQ2ZSszOCIsIG51bGwpJywgJyIyNzU3NjAtMDktMTNUMDA6MDA6MDAuMDAwIicp
Oworc2hvdWxkQmUoJ3N0ZXBVcCgiMjAxMC0wMi0xMFQyMDoxMyIsICIxIiwgIjIwMTAtMDItMTBU
MjA6MTMiKScsICciMjAxMC0wMi0xMFQyMDoxMyInKTsKK3Nob3VsZEJlKCdzdGVwRG93bigiMjAx
MC0wMi0xMFQyMDoxMyIsICIxIiwgIjIwMTAtMDItMTBUMjA6MTMiKScsICciMjAxMC0wMi0xMFQy
MDoxMyInKTsKKworZGVidWcoJycpOworZGVidWcoJ01vbnRoIHR5cGUnKTsKK2lucHV0LnR5cGUg
PSAnbW9udGgnOworZGVidWcoJ05vbi1udW1iZXIgYXJndW1lbnRzJyk7CitzaG91bGRCZSgnc3Rl
cFVwKCIyMDEwLTAyIiwgbnVsbCwgbnVsbCwgIjAiKScsICciMjAxMC0wMiInKTsKK3Nob3VsZEJl
KCdzdGVwRG93bigiMjAxMC0wMiIsIG51bGwsIG51bGwsICIwIiknLCAnIjIwMTAtMDIiJyk7Citz
aG91bGRCZSgnc3RlcFVwKCIyMDEwLTAyIiwgbnVsbCwgbnVsbCwgImZvbyIpJywgJyIyMDEwLTAy
IicpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIyMDEwLTAyIiwgbnVsbCwgbnVsbCwgImZvbyIpJywg
JyIyMDEwLTAyIicpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMjAxMC0wMiIsIG51bGwsIG51bGwsIG51
bGwpJywgJyIyMDEwLTAyIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIyMDEwLTAyIiwgbnVsbCwg
bnVsbCwgbnVsbCknLCAnIjIwMTAtMDIiJyk7CitkZWJ1ZygnTm9ybWFsIGNhc2VzJyk7CitzaG91
bGRCZSgnc3RlcFVwKCIyMDEwLTAyIiwgbnVsbCwgbnVsbCknLCAnIjIwMTAtMDMiJyk7CitzaG91
bGRCZSgnc3RlcERvd24oIjIwMTAtMDIiLCBudWxsLCBudWxsKScsICciMjAxMC0wMSInKTsKK3No
b3VsZEJlKCdzdGVwVXAoIjIwMTAtMDIiLCBudWxsLCBudWxsLCAxMCknLCAnIjIwMTAtMTIiJyk7
CitzaG91bGRCZSgnc3RlcERvd24oIjIwMTAtMDIiLCBudWxsLCBudWxsLCAxMSknLCAnIjIwMDkt
MDMiJyk7CitzaG91bGRCZSgnc3RlcFVwKCIxOTcwLTAxIiwgIjQiLCBudWxsLCAyKScsICciMTk3
MC0wOSInKTsKK3Nob3VsZEJlKCdzdGVwRG93bigiMTk3MC0wMSIsICI0IiwgbnVsbCwgMyknLCAn
IjE5NjktMDEiJyk7CitkZWJ1ZygnU3RlcD1hbnknKTsKK3Nob3VsZEJlKCdzdGVwVXAoIjIwMTAt
MDIiLCAiYW55IiwgbnVsbCknLCAnIjIwMTAtMDIiJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjIw
MTAtMDIiLCAiYW55IiwgbnVsbCknLCAnIjIwMTAtMDIiJyk7CitkZWJ1ZygnT3ZlcmZsb3cvdW5k
ZXJmbG93Jyk7CitzaG91bGRCZSgnc3RlcFVwKCIyMDEwLTAyIiwgIjMuNDAyODIzNDZlKzM4Iiwg
bnVsbCknLCAnIjE5NzAtMDEiJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjIwMTAtMDIiLCAiMy40
MDI4MjM0NmUrMzgiLCBudWxsKScsICciMjc1NzYwLTA5IicpOworc2hvdWxkQmUoJ3N0ZXBVcCgi
MjAxMC0wMiIsICIxIiwgIjIwMTAtMDIiKScsICciMjAxMC0wMiInKTsKK3Nob3VsZEJlKCdzdGVw
RG93bigiMjAxMC0wMiIsICIxIiwgIjIwMTAtMDIiKScsICciMjAxMC0wMiInKTsKKworZGVidWco
JycpOworZGVidWcoJ051bWJlciB0eXBlJyk7CitpbnB1dC50eXBlID0gJ251bWJlcic7CitkZWJ1
ZygnSW52YWxpZCB2YWx1ZScpOworc2hvdWxkQmUoJ3N0ZXBVcCgiIiwgbnVsbCwgbnVsbCknLCAn
IjEiJyk7CitzaG91bGRCZSgnc3RlcERvd24oIiIsIG51bGwsIG51bGwpJywgJyItMSInKTsKK2Rl
YnVnKCdOb24tbnVtYmVyIGFyZ3VtZW50cycpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMCIsIG51bGws
IG51bGwsICIwIiknLCAnIjAiJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjAiLCBudWxsLCBudWxs
LCAiMCIpJywgJyIwIicpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMCIsIG51bGwsIG51bGwsICJmb28i
KScsICciMCInKTsKK3Nob3VsZEJlKCdzdGVwRG93bigiMCIsIG51bGwsIG51bGwsICJmb28iKScs
ICciMCInKTsKK3Nob3VsZEJlKCdzdGVwVXAoIjAiLCBudWxsLCBudWxsLCBudWxsKScsICciMCIn
KTsKK3Nob3VsZEJlKCdzdGVwRG93bigiMCIsIG51bGwsIG51bGwsIG51bGwpJywgJyIwIicpOwor
ZGVidWcoJ05vcm1hbCBjYXNlcycpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMCIsIG51bGwsIG51bGwp
JywgJyIxIicpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMSIsIG51bGwsIG51bGwsIDIpJywgJyIzIicp
Oworc2hvdWxkQmUoJ3N0ZXBVcCgiMyIsIG51bGwsIG51bGwsIC0xKScsICciMiInKTsKK3Nob3Vs
ZEJlKCdzdGVwRG93bigiMiIsIG51bGwsIG51bGwpJywgJyIxIicpOworc2hvdWxkQmUoJ3N0ZXBE
b3duKCIxIiwgbnVsbCwgbnVsbCwgMiknLCAnIi0xIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIt
MSIsIG51bGwsIG51bGwsIC0xKScsICciMCInKTsKK2RlYnVnKCdFeHRyYSBhcmd1bWVudHMnKTsK
K3Nob3VsZEJlKCdpbnB1dC52YWx1ZSA9ICIwIjsgaW5wdXQubWluID0gbnVsbDsgaW5wdXQuc3Rl
cCA9IG51bGw7IGlucHV0LnN0ZXBVcCgxLCAyKTsgaW5wdXQudmFsdWUnLCAnIjEiJyk7CitzaG91
bGRCZSgnaW5wdXQudmFsdWUgPSAiMSI7IGlucHV0LnN0ZXBEb3duKDEsIDMpOyBpbnB1dC52YWx1
ZScsICciMCInKTsKK2RlYnVnKCdJbnZhbGlkIHN0ZXAgdmFsdWUnKTsKK3Nob3VsZEJlKCdzdGVw
VXAoIjAiLCAiZm9vIiwgbnVsbCknLCAnIjEiJyk7CitzaG91bGRCZSgnc3RlcFVwKCIxIiwgIjAi
LCBudWxsKScsICciMiInKTsKK3Nob3VsZEJlKCdzdGVwVXAoIjIiLCAiLTEiLCBudWxsKScsICci
MyInKTsKK2RlYnVnKCdTdGVwPWFueScpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMCIsICJhbnkiLCBu
dWxsKScsICciMCInKTsKK3Nob3VsZEJlKCdzdGVwRG93bigiMCIsICJhbnkiLCBudWxsKScsICci
MCInKTsKK2RlYnVnKCdPdmVyZmxvdy91bmRlcmZsb3cnKTsKK3Nob3VsZEJlKCdzdGVwRG93bigi
MSIsICIxIiwgIjAiKScsICciMCInKTsKK3Nob3VsZEJlKCdzdGVwRG93bigiMCIsICIxIiwgIjAi
KScsICciMCInKTsKK3Nob3VsZEJlKCdzdGVwRG93bigiMSIsICIxIiwgIjAiLCAyKScsICciMCIn
KTsKK3Nob3VsZEJlKCdpbnB1dC52YWx1ZScsICciMCInKTsKK3Nob3VsZEJlKCdzdGVwRG93bigi
MSIsICIzLjQwMjgyMzQ2ZSszOCIsICIiLCAyKScsICciLTMuNDAyODIzNDZlKzM4IicpOworc2hv
dWxkQmUoJ3N0ZXBVcCgiLTEiLCAiMSIsICIwIiknLCAnIjAiJyk7CitzaG91bGRCZSgnc3RlcFVw
KCIwIiwgIjEiLCAiMCIpJywgJyIwIicpOworc2hvdWxkQmUoJ3N0ZXBVcCgiLTEiLCAiMSIsICIw
IiwgMiknLCAnIjAiJyk7CitzaG91bGRCZSgnaW5wdXQudmFsdWUnLCAnIjAiJyk7CitzaG91bGRC
ZSgnc3RlcFVwKCIxIiwgIjMuNDAyODIzNDZlKzM4IiwgIiIsIDIpJywgJyIzLjQwMjgyMzQ2ZSsz
OCInKTsKK2RlYnVnKCdzdGVwRG93bigpL3N0ZXBVcCgpIGZvciBzdGVwTWlzbWF0Y2ggdmFsdWVz
Jyk7CitzaG91bGRCZSgnc3RlcFVwKCIxIiwgIjIiLCAiIiknLCAnIjIiJyk7CitzaG91bGRCZSgn
aW5wdXQuc3RlcERvd24oKTsgaW5wdXQudmFsdWUnLCAnIjAiJyk7CitzaG91bGRCZSgnaW5wdXQu
bWluID0gIjAiOyBzdGVwVXAoIjkiLCAiMTAiLCAiIiwgOSknLCAnIjkwIicpOworc2hvdWxkQmUo
J3N0ZXBEb3duKCIxOSIsICIxMCIsICIwIiknLCAnIjEwIicpOworc2hvdWxkQmUoJ3N0ZXBVcCgi
ODkiLCAiMTAiLCAiOTkiKScsICciOTAiJyk7CitkZWJ1ZygnSHVnZSB2YWx1ZSBhbmQgc21hbGwg
c3RlcCcpOworc2hvdWxkQmUoJ2lucHV0Lm1pbiA9ICIiOyBzdGVwVXAoIjFlKzM4IiwgIjEiLCAi
IiwgOTk5KScsICciMWUrMzgiJyk7CitzaG91bGRCZSgnaW5wdXQubWF4ID0gIiI7IHN0ZXBEb3du
KCIxZSszOCIsICIxIiwgIiIsIDk5OSknLCAnIjFlKzM4IicpOworZGVidWcoJ0ZyYWN0aW9uYWwg
bnVtYmVycycpOworc2hvdWxkQmUoJ2lucHV0Lm1pbiA9ICIiOyBzdGVwVXAoIjAiLCAiMC4zMzMz
MzMzMzMzMzMzMzMzMyIsICIiLCAzKScsICciMSInKTsKK3Nob3VsZEJlKCdzdGVwVXAoIjEiLCAi
MC4xIiwgIiIsIDEwKScsICciMiInKTsKK3Nob3VsZEJlKCdpbnB1dC5zdGVwVXAoKTsgaW5wdXQu
c3RlcFVwKCk7IGlucHV0LnN0ZXBVcCgpOyBpbnB1dC5zdGVwVXAoKTsgaW5wdXQuc3RlcFVwKCk7
IGlucHV0LnN0ZXBVcCgpOyBpbnB1dC5zdGVwVXAoKTsgaW5wdXQuc3RlcFVwKCk7IGlucHV0LnN0
ZXBVcCgpOyBpbnB1dC5zdGVwVXAoKTsgaW5wdXQudmFsdWUnLCAnIjMiJyk7CitzaG91bGRCZSgn
aW5wdXQubWluID0gIjAiOyBzdGVwVXAoIjAiLCAiMC4wMDM5MjE1Njg2Mjc0NTA5ODAiLCAiMSIs
IDI1NSknLCAnIjEiJyk7CitzaG91bGRCZSgnZm9yICh2YXIgaSA9IDA7IGkgPCAyNTU7IGkrKykg
eyBpbnB1dC5zdGVwRG93bigpOyB9OyBpbnB1dC52YWx1ZScsICciMCInKTsKK2RlYnVnKCdSb3Vu
ZGluZycpOworc2hvdWxkQmUoJ3N0ZXBVcCgiNS4wMDUiLCAiMC4wMDUiLCAiIiwgMiknLCAnIjUu
MDE1IicpOworc2hvdWxkQmUoJ3N0ZXBVcCgiNS4wMDUiLCAiMC4wMDUiLCAiIiwgMTEpJywgJyI1
LjA2IicpOworc2hvdWxkQmUoJ3N0ZXBVcCgiNS4wMDUiLCAiMC4wMDUiLCAiIiwgMTIpJywgJyI1
LjA2NSInKTsKK3Nob3VsZEJlKCdzdGVwVXBFeHBsaWNpdEJvdW5kcygiNCIsICI5IiwgIjAuMDA1
IiwgIjUuMDA1IiwgMiknLCAnIjUuMDE1IicpOworc2hvdWxkQmUoJ3N0ZXBVcEV4cGxpY2l0Qm91
bmRzKCI0IiwgIjkiLCAiMC4wMDUiLCAiNS4wMDUiLCAxMSknLCAnIjUuMDYiJyk7CitzaG91bGRC
ZSgnc3RlcFVwRXhwbGljaXRCb3VuZHMoIjQiLCAiOSIsICIwLjAwNSIsICI1LjAwNSIsIDEyKScs
ICciNS4wNjUiJyk7CisKK2RlYnVnKCcnKTsKK2RlYnVnKCdSYW5nZSB0eXBlJyk7CitpbnB1dC50
eXBlID0gJ3JhbmdlJzsKK2RlYnVnKCdmdW5jdGlvbiBhcmd1bWVudHMgYXJlIChtaW4sIG1heCwg
c3RlcCwgdmFsdWUsIFtzdGVwQ291bnRdKScpOworZGVidWcoJ1VzaW5nIHRoZSBkZWZhdWx0IHZh
bHVlcycpOworc2hvdWxkQmUoJ3N0ZXBVcEV4cGxpY2l0Qm91bmRzKG51bGwsIG51bGwsIG51bGws
ICIiKScsICciNTEiJyk7CitzaG91bGRCZSgnc3RlcERvd25FeHBsaWNpdEJvdW5kcyhudWxsLCBu
dWxsLCBudWxsLCAiIiknLCAnIjQ5IicpOworZGVidWcoJ05vbi1udW1iZXIgYXJndW1lbnRzIChz
dGVwQ291bnQpJyk7CitzaG91bGRCZSgnc3RlcFVwRXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwg
bnVsbCwgIjAiLCAiMCIpJywgJyIwIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duRXhwbGljaXRCb3Vu
ZHMobnVsbCwgbnVsbCwgbnVsbCwgIjAiLCAiMCIpJywgJyIwIicpOworc2hvdWxkQmUoJ3N0ZXBV
cEV4cGxpY2l0Qm91bmRzKG51bGwsIG51bGwsIG51bGwsICIwIiwgImZvbyIpJywgJyIwIicpOwor
c2hvdWxkQmUoJ3N0ZXBEb3duRXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwgbnVsbCwgIjAiLCAi
Zm9vIiknLCAnIjAiJyk7CitzaG91bGRCZSgnc3RlcFVwRXhwbGljaXRCb3VuZHMobnVsbCwgbnVs
bCwgbnVsbCwgIjAiLCBudWxsKScsICciMCInKTsKK3Nob3VsZEJlKCdzdGVwRG93bkV4cGxpY2l0
Qm91bmRzKG51bGwsIG51bGwsIG51bGwsICIwIiwgbnVsbCknLCAnIjAiJyk7CitkZWJ1ZygnTm9y
bWFsIGNhc2VzJyk7CitzaG91bGRCZSgnc3RlcFVwRXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwg
bnVsbCwgIjAiKScsICciMSInKTsKK3Nob3VsZEJlKCdzdGVwVXBFeHBsaWNpdEJvdW5kcyhudWxs
LCBudWxsLCBudWxsLCAiMSIsIDIpJywgJyIzIicpOworc2hvdWxkQmUoJ3N0ZXBVcEV4cGxpY2l0
Qm91bmRzKG51bGwsIG51bGwsIG51bGwsICIzIiwgLTEpJywgJyIyIicpOworc2hvdWxkQmUoJ3N0
ZXBEb3duRXhwbGljaXRCb3VuZHMoIi0xMDAiLCBudWxsLCBudWxsLCAiMiIpJywgJyIxIicpOwor
c2hvdWxkQmUoJ3N0ZXBEb3duRXhwbGljaXRCb3VuZHMoIi0xMDAiLCBudWxsLCBudWxsLCAiMSIs
IDIpJywgJyItMSInKTsKK3Nob3VsZEJlKCdzdGVwRG93bkV4cGxpY2l0Qm91bmRzKCItMTAwIiwg
bnVsbCwgbnVsbCwgIi0xIiwgLTEpJywgJyIwIicpOworZGVidWcoJ0V4dHJhIGFyZ3VtZW50cycp
Oworc2hvdWxkQmUoJ3NldElucHV0QXR0cmlidXRlcyhudWxsLCBudWxsLCBudWxsLCAiMCIpOyBp
bnB1dC5zdGVwVXAoMSwyKTsgaW5wdXQudmFsdWUnLCAnIjEiJyk7CitzaG91bGRCZSgnc2V0SW5w
dXRBdHRyaWJ1dGVzKG51bGwsIG51bGwsIG51bGwsICIxIik7IGlucHV0LnN0ZXBEb3duKDEsMyk7
IGlucHV0LnZhbHVlJywgJyIwIicpOworZGVidWcoJ0ludmFsaWQgc3RlcCB2YWx1ZScpOworc2hv
dWxkQmUoJ3N0ZXBVcEV4cGxpY2l0Qm91bmRzKG51bGwsIG51bGwsICJmb28iLCAiMCIpJywgJyIx
IicpOworc2hvdWxkQmUoJ3N0ZXBVcEV4cGxpY2l0Qm91bmRzKG51bGwsIG51bGwsICIwIiwgIjEi
KScsICciMiInKTsKK3Nob3VsZEJlKCdzdGVwVXBFeHBsaWNpdEJvdW5kcyhudWxsLCBudWxsLCAi
LTEiLCAiMiIpJywgJyIzIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duRXhwbGljaXRCb3VuZHMobnVs
bCwgbnVsbCwgImZvbyIsICIxIiknLCAnIjAiJyk7CitzaG91bGRCZSgnc3RlcERvd25FeHBsaWNp
dEJvdW5kcyhudWxsLCBudWxsLCAiMCIsICIyIiknLCAnIjEiJyk7CitzaG91bGRCZSgnc3RlcERv
d25FeHBsaWNpdEJvdW5kcyhudWxsLCBudWxsLCAiLTEiLCAiMyIpJywgJyIyIicpOworZGVidWco
J1N0ZXA9YW55Jyk7CitzaG91bGRCZSgnc3RlcFVwRXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwg
ImFueSIsICIxIiknLCAnIjIiJyk7CitzaG91bGRCZSgnc3RlcERvd25FeHBsaWNpdEJvdW5kcyhu
dWxsLCBudWxsLCAiYW55IiwgIjEiKScsICciMCInKTsKK2RlYnVnKCdPdmVyZmxvdy91bmRlcmZs
b3cnKTsKK3Nob3VsZEJlKCdzdGVwVXBFeHBsaWNpdEJvdW5kcyhudWxsLCAiMTAwIiwgIjEiLCAi
OTkiKScsICciMTAwIicpOworc2hvdWxkQmUoJ3N0ZXBVcEV4cGxpY2l0Qm91bmRzKG51bGwsICIx
MDAiLCAiMSIsICIxMDAiKScsICciMTAwIicpOworc2hvdWxkQmUoJ2lucHV0LnZhbHVlJywgJyIx
MDAiJyk7CitzaG91bGRCZSgnc3RlcFVwRXhwbGljaXRCb3VuZHMobnVsbCwgIjEwMCIsICIxIiwg
Ijk5IiwgIjIiKScsICciMTAwIicpOworc2hvdWxkQmUoJ2lucHV0LnZhbHVlJywgJyIxMDAiJyk7
CitzaG91bGRCZSgnc3RlcERvd25FeHBsaWNpdEJvdW5kcygiMCIsIG51bGwsICIxIiwgIjEiKScs
ICciMCInKTsKK3Nob3VsZEJlKCdzdGVwRG93bkV4cGxpY2l0Qm91bmRzKCIwIiwgbnVsbCwgIjEi
LCAiMCIpJywgJyIwIicpOworc2hvdWxkQmUoJ2lucHV0LnZhbHVlJywgJyIwIicpOworc2hvdWxk
QmUoJ3N0ZXBEb3duRXhwbGljaXRCb3VuZHMoIjAiLCBudWxsLCAiMSIsICIxIiwgIjIiKScsICci
MCInKTsKK3Nob3VsZEJlKCdpbnB1dC52YWx1ZScsICciMCInKTsKK3Nob3VsZEJlKCdzdGVwRG93
bkV4cGxpY2l0Qm91bmRzKG51bGwsIG51bGwsICIzLjQwMjgyMzQ2ZSszOCIsICIxIiwgIjIiKScs
ICciMCInKTsKK3Nob3VsZEJlKCdzdGVwVXBFeHBsaWNpdEJvdW5kcygtMTAwLCAwLCAxLCAtMSkn
LCAnIjAiJyk7CitzaG91bGRCZSgnc3RlcFVwRXhwbGljaXRCb3VuZHMobnVsbCwgMCwgMSwgMCkn
LCAnIjAiJyk7CitzaG91bGRCZSgnc3RlcFVwRXhwbGljaXRCb3VuZHMoLTEwMCwgMCwgMSwgLTEs
IDIpJywgJyIwIicpOworc2hvdWxkQmUoJ2lucHV0LnZhbHVlJywgJyIwIicpOworc2hvdWxkQmUo
J3N0ZXBVcEV4cGxpY2l0Qm91bmRzKG51bGwsIG51bGwsICIzLjQwMjgyMzQ2ZSszOCIsICIxIiwg
IjIiKScsICciMCInKTsKK2RlYnVnKCdzdGVwRG93bigpL3N0ZXBVcCgpIGZvciBzdGVwTWlzbWF0
Y2ggdmFsdWVzJyk7CitzaG91bGRCZSgnc3RlcFVwRXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwg
MiwgMSknLCAnIjQiJyk7CitzaG91bGRCZSgnaW5wdXQuc3RlcERvd24oKTsgaW5wdXQudmFsdWUn
LCAnIjIiJyk7CitzaG91bGRCZSgnc3RlcFVwRXhwbGljaXRCb3VuZHMoMCwgbnVsbCwgMTAsIDks
IDkpJywgJyIxMDAiJyk7CitzaG91bGRCZSgnc3RlcERvd25FeHBsaWNpdEJvdW5kcygwLCBudWxs
LCAxMCwgMTkpJywgJyIxMCInKTsKK2RlYnVnKCd2YWx1ZSArIHN0ZXAgaXMgPD0gbWF4LCBidXQg
cm91bmRlZCByZXN1bHQgd291bGQgYmUgPiBtYXguJyk7CitzaG91bGRCZSgnc3RlcFVwRXhwbGlj
aXRCb3VuZHMobnVsbCwgOTksIDEwLCA4OSknLCAnIjkwIicpOworZGVidWcoJ0h1Z2UgdmFsdWUg
YW5kIHNtYWxsIHN0ZXAnKTsKK3Nob3VsZEJlKCdzdGVwVXBFeHBsaWNpdEJvdW5kcygwLCAxZTM4
LCAxLCAxZTM4LCA5OTkpJywgJyIxZSszOCInKTsKK3Nob3VsZEJlKCdzdGVwRG93bkV4cGxpY2l0
Qm91bmRzKDAsIDFlMzgsIDEsIDFlMzgsIDk5OSknLCAnIjFlKzM4IicpOworZGVidWcoJ0ZyYWN0
aW9uYWwgbnVtYmVycycpOworc2hvdWxkQmUoJ3N0ZXBVcEV4cGxpY2l0Qm91bmRzKG51bGwsIG51
bGwsIDAuMzMzMzMzMzMzMzMzMzMzMzMsIDAsIDMpJywgJyIxIicpOworc2hvdWxkQmUoJ3N0ZXBV
cEV4cGxpY2l0Qm91bmRzKG51bGwsIG51bGwsIDAuMSwgMSknLCAnIjEuMSInKTsKK3Nob3VsZEJl
KCdzdGVwVXBFeHBsaWNpdEJvdW5kcyhudWxsLCBudWxsLCAwLjEsIDEsIDgpJywgJyIxLjgiJyk7
CitzaG91bGRCZSgnc3RlcFVwRXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwgMC4xLCAxLCAxMCkn
LCAnIjIiJyk7CitzaG91bGRCZSgnaW5wdXQuc3RlcFVwKCk7IGlucHV0LnN0ZXBVcCgpOyBpbnB1
dC5zdGVwVXAoKTsgaW5wdXQuc3RlcFVwKCk7IGlucHV0LnN0ZXBVcCgpOyBpbnB1dC5zdGVwVXAo
KTsgaW5wdXQuc3RlcFVwKCk7IGlucHV0LnN0ZXBVcCgpOyBpbnB1dC5zdGVwVXAoKTsgaW5wdXQu
c3RlcFVwKCk7IGlucHV0LnZhbHVlJywgJyIzIicpOworc2hvdWxkQmUoJ3N0ZXBVcEV4cGxpY2l0
Qm91bmRzKDAsIDEsIDAuMDAzOTIxNTY4NjI3NDUwOTgwLCAwLCAyNTUpJywgJyIxIicpOworc2hv
dWxkQmUoJ2ZvciAodmFyIGkgPSAwOyBpIDwgMjU1OyBpKyspIHsgaW5wdXQuc3RlcERvd24oKTsg
fTsgaW5wdXQudmFsdWUnLCAnIjAiJyk7CitzaG91bGRCZSgnc3RlcERvd25FeHBsaWNpdEJvdW5k
cyhudWxsLCBudWxsLCAwLjEsIDEsIDgpJywgJyIwLjIiJyk7CitzaG91bGRCZSgnc3RlcERvd25F
eHBsaWNpdEJvdW5kcyhudWxsLCBudWxsLCAwLjEsIDEpJywgJyIwLjkiJyk7CisKK2RlYnVnKCcn
KTsKK2RlYnVnKCdUaW1lIHR5cGUnKTsKK2lucHV0LnR5cGUgPSAndGltZSc7CitkZWJ1ZygnTm9u
LW51bWJlciBhcmd1bWVudHMnKTsKK3Nob3VsZEJlKCdzdGVwVXAoIjIwOjEzIiwgbnVsbCwgbnVs
bCwgIjAiKScsICciMjA6MTMiJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjIwOjEzIiwgbnVsbCwg
bnVsbCwgIjAiKScsICciMjA6MTMiJyk7CitzaG91bGRCZSgnc3RlcFVwKCIyMDoxMyIsIG51bGws
IG51bGwsICJmb28iKScsICciMjA6MTMiJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjIwOjEzIiwg
bnVsbCwgbnVsbCwgImZvbyIpJywgJyIyMDoxMyInKTsKK3Nob3VsZEJlKCdzdGVwVXAoIjIwOjEz
IiwgbnVsbCwgbnVsbCwgbnVsbCknLCAnIjIwOjEzIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIy
MDoxMyIsIG51bGwsIG51bGwsIG51bGwpJywgJyIyMDoxMyInKTsKK2RlYnVnKCdOb3JtYWwgY2Fz
ZXMnKTsKK3Nob3VsZEJlKCdzdGVwVXAoIjIwOjEzIiwgbnVsbCwgbnVsbCknLCAnIjIwOjE0Iicp
Oworc2hvdWxkQmUoJ3N0ZXBEb3duKCIyMDoxMyIsIG51bGwsIG51bGwpJywgJyIyMDoxMiInKTsK
K3Nob3VsZEJlKCdzdGVwVXAoIjIwOjEzIiwgbnVsbCwgbnVsbCwgMTApJywgJyIyMDoyMyInKTsK
K3Nob3VsZEJlKCdzdGVwRG93bigiMjA6MTMiLCBudWxsLCBudWxsLCAxMSknLCAnIjIwOjAyIicp
Oworc2hvdWxkQmUoJ3N0ZXBVcCgiMjA6MTMiLCAiNCIsIG51bGwsIDIpJywgJyIyMDoxMzowOCIn
KTsKK3Nob3VsZEJlKCdzdGVwRG93bigiMjA6MTMiLCAiNCIsIG51bGwsIDMpJywgJyIyMDoxMjo0
OCInKTsKK2RlYnVnKCdTdGVwPWFueScpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMjA6MTMiLCAiYW55
IiwgbnVsbCknLCAnIjIwOjEzIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIyMDoxMyIsICJhbnki
LCBudWxsKScsICciMjA6MTMiJyk7CitkZWJ1ZygnT3ZlcmZsb3cvdW5kZXJmbG93Jyk7CitzaG91
bGRCZSgnc3RlcFVwKCIyMDoxMyIsICIzLjQwMjgyMzQ2ZSszOCIsIG51bGwpJywgJyIwMDowMDow
MC4wMDAiJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjIwOjEzIiwgIjMuNDAyODIzNDZlKzM4Iiwg
bnVsbCknLCAnIjIzOjU5OjU5Ljk5OSInKTsKK3Nob3VsZEJlKCdzdGVwVXAoIjIwOjEzIiwgIjEi
LCAiMjA6MTMiKScsICciMjA6MTMiJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjIwOjEzIiwgIjEi
LCAiMjA6MTMiKScsICciMjA6MTMiJyk7CitzaG91bGRCZSgnc3RlcFVwKCIyMzo1OSIsIG51bGws
IG51bGwpJywgJyIyMzo1OSInKTsKK3Nob3VsZEJlKCdzdGVwRG93bigiMDA6MDAiLCBudWxsLCBu
dWxsKScsICciMDA6MDAiJyk7CisKK2RlYnVnKCcnKTsKK2RlYnVnKCdXZWVrIHR5cGUnKTsKK2lu
cHV0LnR5cGUgPSAnd2Vlayc7CitkZWJ1ZygnTm9uLW51bWJlciBhcmd1bWVudHMnKTsKK3Nob3Vs
ZEJlKCdzdGVwVXAoIjIwMTAtVzAyIiwgbnVsbCwgbnVsbCwgIjAiKScsICciMjAxMC1XMDIiJyk7
CitzaG91bGRCZSgnc3RlcERvd24oIjIwMTAtVzAyIiwgbnVsbCwgbnVsbCwgIjAiKScsICciMjAx
MC1XMDIiJyk7CitzaG91bGRCZSgnc3RlcFVwKCIyMDEwLVcwMiIsIG51bGwsIG51bGwsICJmb28i
KScsICciMjAxMC1XMDIiJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjIwMTAtVzAyIiwgbnVsbCwg
bnVsbCwgImZvbyIpJywgJyIyMDEwLVcwMiInKTsKK3Nob3VsZEJlKCdzdGVwVXAoIjIwMTAtVzAy
IiwgbnVsbCwgbnVsbCwgbnVsbCknLCAnIjIwMTAtVzAyIicpOworc2hvdWxkQmUoJ3N0ZXBEb3du
KCIyMDEwLVcwMiIsIG51bGwsIG51bGwsIG51bGwpJywgJyIyMDEwLVcwMiInKTsKK2RlYnVnKCdO
b3JtYWwgY2FzZXMnKTsKK3Nob3VsZEJlKCdzdGVwVXAoIjIwMTAtVzAyIiwgbnVsbCwgbnVsbCkn
LCAnIjIwMTAtVzAzIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIyMDEwLVcwMiIsIG51bGwsIG51
bGwpJywgJyIyMDEwLVcwMSInKTsKK3Nob3VsZEJlKCdzdGVwVXAoIjIwMTAtVzAyIiwgbnVsbCwg
bnVsbCwgMTApJywgJyIyMDEwLVcxMiInKTsKK3Nob3VsZEJlKCdzdGVwRG93bigiMjAxMC1XMDIi
LCBudWxsLCBudWxsLCAxMSknLCAnIjIwMDktVzQ0IicpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMTk3
MC1XMDEiLCAiNCIsIG51bGwsIDIpJywgJyIxOTcwLVcwOSInKTsKK3Nob3VsZEJlKCdzdGVwRG93
bigiMTk3MC1XMDEiLCAiNCIsIG51bGwsIDMpJywgJyIxOTY5LVc0MSInKTsKK2RlYnVnKCdTdGVw
PWFueScpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMjAxMC1XMDIiLCAiYW55IiwgbnVsbCknLCAnIjIw
MTAtVzAyIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIyMDEwLVcwMiIsICJhbnkiLCBudWxsKScs
ICciMjAxMC1XMDIiJyk7CitkZWJ1ZygnT3ZlcmZsb3cvdW5kZXJmbG93Jyk7CitzaG91bGRCZSgn
c3RlcFVwKCIyMDEwLVcwMiIsICIzLjQwMjgyMzQ2ZSszOCIsIG51bGwpJywgJyIxOTcwLVcwMSIn
KTsKK3Nob3VsZEJlKCdzdGVwRG93bigiMjAxMC1XMDIiLCAiMy40MDI4MjM0NmUrMzgiLCBudWxs
KScsICciMjc1NzYwLVczNyInKTsKK3Nob3VsZEJlKCdzdGVwVXAoIjIwMTAtVzAyIiwgIjEiLCAi
MjAxMC1XMDIiKScsICciMjAxMC1XMDIiJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjIwMTAtVzAy
IiwgIjEiLCAiMjAxMC1XMDIiKScsICciMjAxMC1XMDIiJyk7CisKK2RlYnVnKCcnKTsKK2RlYnVn
KCdVbnN1cHBvcnRlZCB0eXBlJyk7CitzaG91bGRUaHJvdygnaW5wdXQuc3RlcCA9ICIzIjsgaW5w
dXQubWluID0gIiI7IGlucHV0Lm1heCA9ICIiOyBpbnB1dC52YWx1ZSA9ICIyIjsgaW5wdXQuc3Rl
cERvd24oKScsICciRXJyb3I6IElOVkFMSURfU1RBVEVfRVJSOiBET00gRXhjZXB0aW9uIDExIicp
Oworc2hvdWxkVGhyb3coJ2lucHV0LnN0ZXBEb3duKDApJywgJyJFcnJvcjogSU5WQUxJRF9TVEFU
RV9FUlI6IERPTSBFeGNlcHRpb24gMTEiJyk7CitzaG91bGRUaHJvdygnaW5wdXQuc3RlcFVwKCkn
LCAnIkVycm9yOiBJTlZBTElEX1NUQVRFX0VSUjogRE9NIEV4Y2VwdGlvbiAxMSInKTsKK3Nob3Vs
ZFRocm93KCdpbnB1dC5zdGVwVXAoMCknLCAnIkVycm9yOiBJTlZBTElEX1NUQVRFX0VSUjogRE9N
IEV4Y2VwdGlvbiAxMSInKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDVkMWMz
YzM2MTU2ZTI3ZWYwNTBmZDUzOTlhOGMxYWQyN2IxMjVhYTUuLjU2OWFlM2QyMzhiMTc1ZmIwOWU0
MGI3MTJmOWE1NDJhMDk4MWJiYzMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBi
L1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNjYgQEAKKzIwMTAtMTEtMjQgIERhaSBNaWt1
cnViZSAgPGRtaWt1cnViZUBnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIHdoZW4gZW1wdHksIGNsaWNraW5nICJkb3duIiBvbiBvdXRl
ci1zcGluLWJ1dHRvbiByZXR1cm5zICJtYXggdmFsdWUiCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NTQ5MQorCisgICAgICAgIE1vZGlmaWVkIHN0ZXBw
aW5nLXVwL2Rvd24gZnJvbSByZW5kZXJlcgorICAgICAgICAtIHRvIGNsYW1wIHN0ZXBzLAorICAg
ICAgICAtIHRvIGhhbmRsZSBlbXB0eSB2YWx1ZXMgKGRlc2NyaWJlZCBiZWxvdyksIGFuZAorICAg
ICAgICAtIHRvIGFwcGx5IHRoZW0gZm9yIHJhbmdlIHR5cGUgaW5wdXRzLgorCisgICAgICAgIFN0
ZXBwaW5nLXVwL2Rvd24gZm9yIGVtcHR5IHZhbHVlcyBhcmUgaGFuZGxlZCAidGhlIGVtcHR5IGFz
IDAuIgorICAgICAgICBGb3IgZXhhbXBsZSA6CisgICAgICAgICogSWYgMCBpcyBpbi1yYW5nZSwg
YW5kIG1hdGNoZXMgdG8gc3RlcCB2YWx1ZQorICAgICAgICAgICJkb3duIiAtPiAtc3RlcAorICAg
ICAgICAgICJ1cCIgLT4gK3N0ZXAKKyAgICAgICAgICBJZiAtc3RlcCBvciArc3RlcCBpcyBvdXQg
b2YgcmFuZ2UsIG5ldyB2YWx1ZSBzaG91bGQgYmUgMC4KKworICAgICAgICAqIElmIDAgaXMgc21h
bGxlciB0aGFuIHRoZSBtaW5pbXVtIHZhbHVlCisgICAgICAgICAgImRvd24iIC0+IHRoZSBtaW5p
bXVtIHZhbHVlCisgICAgICAgICAgInVwIiAtPiB0aGUgbWluaW11bSB2YWx1ZQorCisgICAgICAg
ICogSWYgMCBpcyBsYXJnZXIgdGhhbiB0aGUgbWF4aW11bSB2YWx1ZQorICAgICAgICAgICJkb3du
IiAtPiB0aGUgbWF4aW11bSB2YWx1ZQorICAgICAgICAgICJ1cCIgLT4gdGhlIG1heGltdW0gdmFs
dWUKKworICAgICAgICAqIElmIDAgaXMgaW4tcmFuZ2UsIGJ1dCBub3QgbWF0Y2hlZCB0byBzdGVw
IHZhbHVlCisgICAgICAgICAgImRvd24iIC0+IHNtYWxlciBtYXRjaGVkIHZhbHVlIG5lYXJlc3Qg
dG8gMC4KKyAgICAgICAgICAgIGUuZy4gPGlucHV0IHR5cGU9bnVtYmVyIG1pbj0tMTAwIHN0ZXA9
Mz4gLT4gLTEKKyAgICAgICAgICAidXAiIC0+IGxhcmdlciBtYXRjaGVkIHZhbHVlIG5lYXJlc3Qg
dG8gMC4KKyAgICAgICAgICAgIGUuZy4gPGlucHV0IHR5cGU9bnVtYmVyIG1pbj0tMTAwIHN0ZXA9
Mz4gLT4gMgorCisgICAgICAgIEFzIGZvciBkYXRlL2RhdGV0aW1lL2RhdGV0aW1lLWxvY2FsL21v
bnRoL3RpbWUvd2VlayB0eXBlcywgdGhlIGVtcHR5IGlzIGFzc3VtZWQgYXMgImN1cnJlbnQgZGF0
ZS90aW1lIi4KKworICAgICAgICBBcyBmb3IgcmFuZ2UgaW5wdXQgdHlwZXMsIGNoYW5nZWQgc3Rl
cHBpbmcgZnJvbSByZW5kZXJlciB0byB1c2Ugc3RlcFVwRnJvbVJlbmRlcmVyKCkuCisgICAgICAg
IEl0IHdhcyBjYWxjdWxhdGVkIHdpdGggc3RlcFVwKCkgZnJvbSBSYW5nZUlucHV0VHlwZTo6aGFu
ZGxlS2V5ZG93bkV2ZW50KCkuCisKKyAgICAgICAgVGVzdDogZmFzdC9mb3Jtcy9pbnB1dC1zdGVw
dXAtc3RlcGRvd24tZnJvbS1yZW5kZXJlci5odG1sCisKKyAgICAgICAgKiBodG1sL0Jhc2VEYXRl
QW5kVGltZUlucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpCYXNlRGF0ZUFuZFRpbWVJ
bnB1dFR5cGU6OnN0YXJ0aW5nVmFsdWUpOiBBZGRlZCBzdGFydGluZ1ZhbHVlKCkgd2hpY2ggcmV0
dXJucyB0aGUgY3VycmVudCBsb2NhbCB0aW1lCisgICAgICAgICogaHRtbC9CYXNlRGF0ZUFuZFRp
bWVJbnB1dFR5cGUuaDoKKyAgICAgICAgKiBodG1sL0RhdGVUaW1lSW5wdXRUeXBlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkRhdGVUaW1lSW5wdXRUeXBlOjpzdGFydGluZ1ZhbHVlKTogQWRkZWQg
c3RhcnRpbmdWYWx1ZSgpIHdoaWNoIHJldHVybnMgdGhlIGN1cnJlbnQgVVRDIHRpbWUKKyAgICAg
ICAgKiBodG1sL0RhdGVUaW1lSW5wdXRUeXBlLmg6CisgICAgICAgICogaHRtbC9IVE1MSW5wdXRF
bGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQ6OnN0ZXBVcEZy
b21SZW5kZXJlcik6IE1vZGlmaWVkIGl0IHRvIGNsYW1wIHN0ZXBzLCBzdXBwb3J0IGVtcHR5IHZh
bHVlcyBhbmQgc3VwcG9ydCByYW5nZSB0eXBlIGlucHV0cworICAgICAgICAqIGh0bWwvSFRNTElu
cHV0RWxlbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6aXNSYW5n
ZUNvbnRyb2wpOgorICAgICAgICAqIGh0bWwvSW5wdXRUeXBlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OklucHV0VHlwZTo6c3RhcnRpbmdWYWx1ZSk6IEFkZGVkIHN0YXJ0aW5nVmFsdWUoKSB3aGlj
aCByZXR1cm5zIDAKKyAgICAgICAgKiBodG1sL0lucHV0VHlwZS5oOgorICAgICAgICAqIGh0bWwv
TW9udGhJbnB1dFR5cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TW9udGhJbnB1dFR5cGU6OnN0
YXJ0aW5nVmFsdWUpOiBBZGRlZCBzdGFydGluZ1ZhbHVlKCkgd2hpY2ggcmV0dXJucyB0aGUgY3Vy
cmVudCBtb250aAorICAgICAgICAqIGh0bWwvTW9udGhJbnB1dFR5cGUuaDoKKyAgICAgICAgKiBo
dG1sL1JhbmdlSW5wdXRUeXBlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJhbmdlSW5wdXRUeXBl
OjpoYW5kbGVLZXlkb3duRXZlbnQpOiBBZGRlZCBjb21tZW50cyBhbmQgbW9kaWZpZWQgaXQgdG8g
dXNlIHN0ZXBVcEZyb21SZW5kZXJlcigpCisgICAgICAgICogaHRtbC9UaW1lSW5wdXRUeXBlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVJbnB1dFR5cGU6OnN0YXJ0aW5nVmFsdWUpOiBBZGRl
ZCBzdGFydGluZ1ZhbHVlKCkgd2hpY2ggcmV0dXJucyB0aGUgY3VycmVudCB0aW1lCisgICAgICAg
ICogaHRtbC9UaW1lSW5wdXRUeXBlLmg6CisgICAgICAgICogbWFudWFsLXRlc3RzL2lucHV0LXR5
cGUtZGF0ZXRpbWUtZGVmYXVsdC12YWx1ZS5odG1sOiBBZGRlZCBtYW51YWwgdGVzdHMgZm9yIGRl
ZmF1bHQgdmFsdWVzIG9mIGRhdGUvdGltZSBpbnB1dHMKKwogMjAxMC0xMS0xOCAgR2F2aW4gQmFy
cmFjbG91Z2ggIDxiYXJyYWNsb3VnaEBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkg
T2xpdmVyIEh1bnQuCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvQmFzZURhdGVBbmRUaW1lSW5w
dXRUeXBlLmNwcCBiL1dlYkNvcmUvaHRtbC9CYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGUuY3BwCmlu
ZGV4IGU3ODBlZDZiYTI0ZDIwZmFmYmRiNjI5ZTI4MzY5ODVmMWE1YTkwY2MuLmE0ZDhhOGFkYmI2
NTM5YzNhZmY5MzBhNTA5MDc5ZjAzOTFkMTQ5ZTIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9C
YXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGUuY3BwCisrKyBiL1dlYkNvcmUvaHRtbC9CYXNlRGF0ZUFu
ZFRpbWVJbnB1dFR5cGUuY3BwCkBAIC0zNSw2ICszNSw4IEBACiAjaW5jbHVkZSAiSFRNTElucHV0
RWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1ZGUgPGxpbWl0cz4KKyNp
bmNsdWRlIDx3dGYvQ3VycmVudFRpbWUuaD4KKyNpbmNsdWRlIDx3dGYvRGF0ZU1hdGguaD4KICNp
bmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAj
aW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CkBAIC05MSw2ICs5MywxNSBAQCBib29sIEJh
c2VEYXRlQW5kVGltZUlucHV0VHlwZTo6cmFuZ2VPdmVyZmxvdyhjb25zdCBTdHJpbmcmIHZhbHVl
KSBjb25zdAogICAgIHJldHVybiBpc2Zpbml0ZShkb3VibGVWYWx1ZSkgJiYgZG91YmxlVmFsdWUg
PiBtYXhpbXVtKCk7CiB9CiAKK2RvdWJsZSBCYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGU6OnN0YXJ0
aW5nVmFsdWUoKSBjb25zdAoreworICAgIGRvdWJsZSBtcyA9IGN1cnJlbnRUaW1lTVMoKTsKKyAg
ICBkb3VibGUgdXRjT2Zmc2V0ID0gY2FsY3VsYXRlVVRDT2Zmc2V0KCk7CisgICAgZG91YmxlIGRz
dE9mZnNldCA9IGNhbGN1bGF0ZURTVE9mZnNldChtcywgdXRjT2Zmc2V0KTsKKyAgICBpbnQgb2Zm
c2V0ID0gc3RhdGljX2Nhc3Q8aW50PigodXRjT2Zmc2V0ICsgZHN0T2Zmc2V0KSAvIG1zUGVyTWlu
dXRlKTsKKyAgICByZXR1cm4gbXMgKyAob2Zmc2V0ICogbXNQZXJNaW51dGUpOworfQorCiBib29s
IEJhc2VEYXRlQW5kVGltZUlucHV0VHlwZTo6c3RlcE1pc21hdGNoKGNvbnN0IFN0cmluZyYgdmFs
dWUsIGRvdWJsZSBzdGVwKSBjb25zdAogewogICAgIGNvbnN0IGRvdWJsZSBuYW4gPSBudW1lcmlj
X2xpbWl0czxkb3VibGU+OjpxdWlldF9OYU4oKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9C
YXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGUuaCBiL1dlYkNvcmUvaHRtbC9CYXNlRGF0ZUFuZFRpbWVJ
bnB1dFR5cGUuaAppbmRleCAxMWM2MGFmY2E2NThjNmI3MjJmYzAyN2RkZTU4NGNkNjc1NjBkNDlh
Li42MTVjOTA4ZjA5OTlkMTI3MDBhNzhiN2FmMjRmZGZkZjcyMTMxNmU5IDEwMDY0NAotLS0gYS9X
ZWJDb3JlL2h0bWwvQmFzZURhdGVBbmRUaW1lSW5wdXRUeXBlLmgKKysrIGIvV2ViQ29yZS9odG1s
L0Jhc2VEYXRlQW5kVGltZUlucHV0VHlwZS5oCkBAIC01NSw2ICs1NSw3IEBAIHByaXZhdGU6CiAg
ICAgdmlydHVhbCBib29sIHR5cGVNaXNtYXRjaCgpIGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBy
YW5nZVVuZGVyZmxvdyhjb25zdCBTdHJpbmcmKSBjb25zdDsKICAgICB2aXJ0dWFsIGJvb2wgcmFu
Z2VPdmVyZmxvdyhjb25zdCBTdHJpbmcmKSBjb25zdDsKKyAgICB2aXJ0dWFsIGRvdWJsZSBzdGFy
dGluZ1ZhbHVlKCkgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIHN0ZXBNaXNtYXRjaChjb25zdCBT
dHJpbmcmLCBkb3VibGUpIGNvbnN0OwogICAgIHZpcnR1YWwgZG91YmxlIHN0ZXBCYXNlKCkgY29u
c3Q7CiAgICAgdmlydHVhbCBib29sIGhhbmRsZUtleWRvd25FdmVudChLZXlib2FyZEV2ZW50Kik7
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvRGF0ZVRpbWVJbnB1dFR5cGUuY3BwIGIvV2ViQ29y
ZS9odG1sL0RhdGVUaW1lSW5wdXRUeXBlLmNwcAppbmRleCBjNzhhNTQwNTZhMTVlMTAyOTZkZWU4
MmQwNjNlNDYyMjljMDgzNmQ3Li4yOTdhMTViZTkwYmM0Yjc4NTA5MTkxNTgxODA0MTAxYmMyNmNk
YmUxIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvRGF0ZVRpbWVJbnB1dFR5cGUuY3BwCisrKyBi
L1dlYkNvcmUvaHRtbC9EYXRlVGltZUlucHV0VHlwZS5jcHAKQEAgLTUzLDYgKzUzLDExIEBAIGNv
bnN0IEF0b21pY1N0cmluZyYgRGF0ZVRpbWVJbnB1dFR5cGU6OmZvcm1Db250cm9sVHlwZSgpIGNv
bnN0CiAgICAgcmV0dXJuIElucHV0VHlwZU5hbWVzOjpkYXRldGltZSgpOwogfQogCitkb3VibGUg
RGF0ZVRpbWVJbnB1dFR5cGU6OnN0YXJ0aW5nVmFsdWUoKSBjb25zdAoreworICAgIHJldHVybiBj
dXJyZW50VGltZU1TKCk7Cit9CisKIGRvdWJsZSBEYXRlVGltZUlucHV0VHlwZTo6bWluaW11bSgp
IGNvbnN0CiB7CiAgICAgcmV0dXJuIHBhcnNlVG9Eb3VibGUoZWxlbWVudCgpLT5mYXN0R2V0QXR0
cmlidXRlKG1pbkF0dHIpLCBEYXRlQ29tcG9uZW50czo6bWluaW11bURhdGVUaW1lKCkpOwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9odG1sL0RhdGVUaW1lSW5wdXRUeXBlLmggYi9XZWJDb3JlL2h0bWwv
RGF0ZVRpbWVJbnB1dFR5cGUuaAppbmRleCAxNDA5NzViMTk1MTg0YWUwYjZkOGY4ZWE0ZDU2MzQ4
NWUxNjFhYzNmLi4xN2ZmY2VjNzUwMmNiZjZhNzQ0MDViZmRjNWYxZDhmYjVhODA1NTEzIDEwMDY0
NAotLS0gYS9XZWJDb3JlL2h0bWwvRGF0ZVRpbWVJbnB1dFR5cGUuaAorKysgYi9XZWJDb3JlL2h0
bWwvRGF0ZVRpbWVJbnB1dFR5cGUuaApAQCAtNDIsNiArNDIsNyBAQCBwdWJsaWM6CiBwcml2YXRl
OgogICAgIERhdGVUaW1lSW5wdXRUeXBlKEhUTUxJbnB1dEVsZW1lbnQqIGVsZW1lbnQpIDogQmFz
ZURhdGVBbmRUaW1lSW5wdXRUeXBlKGVsZW1lbnQpIHsgfQogICAgIHZpcnR1YWwgY29uc3QgQXRv
bWljU3RyaW5nJiBmb3JtQ29udHJvbFR5cGUoKSBjb25zdDsKKyAgICB2aXJ0dWFsIGRvdWJsZSBz
dGFydGluZ1ZhbHVlKCkgY29uc3Q7CiAgICAgdmlydHVhbCBkb3VibGUgbWluaW11bSgpIGNvbnN0
OwogICAgIHZpcnR1YWwgZG91YmxlIG1heGltdW0oKSBjb25zdDsKICAgICB2aXJ0dWFsIGRvdWJs
ZSBkZWZhdWx0U3RlcCgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUxJbnB1
dEVsZW1lbnQuY3BwIGIvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCmluZGV4IGFm
NGU3ZDA1NDgyMTcxMTBlMzk3YzNiYzRhMWZlY2Y3NzY3YjU4MDkuLjBiYjg4Y2U3M2U0MjVlZTZh
MGI2MWE2ZmEyNWFiMTc1MjIyZjQzZjcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1MSW5w
dXRFbGVtZW50LmNwcAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAKQEAg
LTE4NTksMjcgKzE4NTksNjEgQEAgdm9pZCBIVE1MSW5wdXRFbGVtZW50OjpzdGVwVXBGcm9tUmVu
ZGVyZXIoaW50IG4pCiAgICAgLy8gIC0gVGhlIHZhbHVlIHNob3VsZCBiZSB0aGUgbWF4aW11bSB2
YWx1ZSBpZiBuIDwgMAogICAgIC8vICAtIE5vdGhpbmcgc2hvdWxkIGhhcHBlbiBpZiBuID4gMAog
Ci0gICAgQVNTRVJUKGhhc1NwaW5CdXR0b24oKSk7Ci0gICAgaWYgKCFoYXNTcGluQnV0dG9uKCkp
CisgICAgQVNTRVJUKGhhc1NwaW5CdXR0b24oKSB8fCBpc1JhbmdlQ29udHJvbCgpKTsKKyAgICBp
ZiAoIWhhc1NwaW5CdXR0b24oKSAmJiAhaXNSYW5nZUNvbnRyb2woKSkKICAgICAgICAgcmV0dXJu
OwogICAgIEFTU0VSVChuKTsKICAgICBpZiAoIW4pCiAgICAgICAgIHJldHVybjsKIAorICAgIHVu
c2lnbmVkIHN0ZXBEZWNpbWFsUGxhY2VzLCBiYXNlRGVjaW1hbFBsYWNlczsKKyAgICBkb3VibGUg
c3RlcCwgYmFzZTsKKyAgICBpZiAoIWdldEFsbG93ZWRWYWx1ZVN0ZXBXaXRoRGVjaW1hbFBsYWNl
cygmc3RlcCwgJnN0ZXBEZWNpbWFsUGxhY2VzKSkKKyAgICAgICAgcmV0dXJuOworICAgIGJhc2Ug
PSBtX2lucHV0VHlwZS0+c3RlcEJhc2VXaXRoRGVjaW1hbFBsYWNlcygmYmFzZURlY2ltYWxQbGFj
ZXMpOworICAgIGJhc2VEZWNpbWFsUGxhY2VzID0gbWluKGJhc2VEZWNpbWFsUGxhY2VzLCAxNnUp
OworCisgICAgaW50IHNpZ24gPSBuICogKHN0ZXAgPCAwID8gKC0xKSA6ICgxKSk7CisKICAgICBj
b25zdCBkb3VibGUgbmFuID0gbnVtZXJpY19saW1pdHM8ZG91YmxlPjo6cXVpZXRfTmFOKCk7CiAg
ICAgU3RyaW5nIGN1cnJlbnRTdHJpbmdWYWx1ZSA9IHZhbHVlKCk7CiAgICAgZG91YmxlIGN1cnJl
bnQgPSBtX2lucHV0VHlwZS0+cGFyc2VUb0RvdWJsZShjdXJyZW50U3RyaW5nVmFsdWUsIG5hbik7
Ci0gICAgaWYgKCFpc2Zpbml0ZShjdXJyZW50KSB8fCAobiA+IDAgJiYgY3VycmVudCA8IG1faW5w
dXRUeXBlLT5taW5pbXVtKCkpIHx8IChuIDwgMCAmJiBjdXJyZW50ID4gbV9pbnB1dFR5cGUtPm1h
eGltdW0oKSkpCi0gICAgICAgIHNldFZhbHVlKG1faW5wdXRUeXBlLT5zZXJpYWxpemUobiA+IDAg
PyBtX2lucHV0VHlwZS0+bWluaW11bSgpIDogbV9pbnB1dFR5cGUtPm1heGltdW0oKSkpOworICAg
IGlmICghaXNmaW5pdGUoY3VycmVudCkpIHsKKyAgICAgICAgRXhjZXB0aW9uQ29kZSBlYzsKKyAg
ICAgICAgY3VycmVudCA9IG1faW5wdXRUeXBlLT5zdGFydGluZ1ZhbHVlKCk7CisgICAgICAgIHNl
dFZhbHVlQXNOdW1iZXIoY3VycmVudCwgZWMpOworICAgIH0KKyAgICBpZiAoKHNpZ24gPiAwICYm
IGN1cnJlbnQgPCBtX2lucHV0VHlwZS0+bWluaW11bSgpKSB8fCAoc2lnbiA8IDAgJiYgY3VycmVu
dCA+IG1faW5wdXRUeXBlLT5tYXhpbXVtKCkpKQorICAgICAgICBzZXRWYWx1ZShtX2lucHV0VHlw
ZS0+c2VyaWFsaXplKHNpZ24gPiAwID8gbV9pbnB1dFR5cGUtPm1pbmltdW0oKSA6IG1faW5wdXRU
eXBlLT5tYXhpbXVtKCkpKTsKICAgICBlbHNlIHsKICAgICAgICAgRXhjZXB0aW9uQ29kZSBlYzsK
LSAgICAgICAgc3RlcFVwKG4sIGVjKTsKKyAgICAgICAgaWYgKHN0ZXBNaXNtYXRjaChjdXJyZW50
U3RyaW5nVmFsdWUpKSB7CisgICAgICAgICAgICBkb3VibGUgbmV3VmFsdWU7CisgICAgICAgICAg
ICBkb3VibGUgc2NhbGUgPSBwb3coMTAuMCwgc3RhdGljX2Nhc3Q8ZG91YmxlPihtYXgoc3RlcERl
Y2ltYWxQbGFjZXMsIGJhc2VEZWNpbWFsUGxhY2VzKSkpOworCisgICAgICAgICAgICBpZiAoc2ln
biA8IDApCisgICAgICAgICAgICAgICAgbmV3VmFsdWUgPSByb3VuZCgoYmFzZSArIGNlaWwoKGN1
cnJlbnQgLSBiYXNlKSAvIHN0ZXApICogc3RlcCkgKiBzY2FsZSkgLyBzY2FsZTsKKyAgICAgICAg
ICAgIGVsc2UKKyAgICAgICAgICAgICAgICBuZXdWYWx1ZSA9IHJvdW5kKChiYXNlICsgZmxvb3Io
KGN1cnJlbnQgLSBiYXNlKSAvIHN0ZXApICogc3RlcCkgKiBzY2FsZSkgLyBzY2FsZTsKKworICAg
ICAgICAgICAgaWYgKG5ld1ZhbHVlIDwgbV9pbnB1dFR5cGUtPm1pbmltdW0oKSkKKyAgICAgICAg
ICAgICAgICBuZXdWYWx1ZSA9IG1faW5wdXRUeXBlLT5taW5pbXVtKCk7CisgICAgICAgICAgICBp
ZiAobmV3VmFsdWUgPiBtX2lucHV0VHlwZS0+bWF4aW11bSgpKQorICAgICAgICAgICAgICAgIG5l
d1ZhbHVlID0gbV9pbnB1dFR5cGUtPm1heGltdW0oKTsKKworICAgICAgICAgICAgc2V0VmFsdWVB
c051bWJlcihuZXdWYWx1ZSwgZWMpOworICAgICAgICAgICAgY3VycmVudCA9IG5ld1ZhbHVlOwor
ICAgICAgICB9CisgICAgICAgIGFwcGx5U3RlcChuLCBlYyk7CiAgICAgfQogCiAgICAgaWYgKGN1
cnJlbnRTdHJpbmdWYWx1ZSAhPSB2YWx1ZSgpKSB7CiAgICAgICAgIGlmIChyZW5kZXJlcigpICYm
IHJlbmRlcmVyKCktPmlzVGV4dEZpZWxkKCkpCiAgICAgICAgICAgICB0b1JlbmRlclRleHRDb250
cm9sKHJlbmRlcmVyKCkpLT5zZXRDaGFuZ2VkU2luY2VMYXN0Q2hhbmdlRXZlbnQodHJ1ZSk7Ci0g
ICAgICAgIGRpc3BhdGNoRXZlbnQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkuaW5wdXRFdmVu
dCwgdHJ1ZSwgZmFsc2UpKTsKKyAgICAgICAgaWYgKGlzUmFuZ2VDb250cm9sKCkpCisgICAgICAg
ICAgICBkaXNwYXRjaEZvcm1Db250cm9sQ2hhbmdlRXZlbnQoKTsKKyAgICAgICAgZWxzZQorICAg
ICAgICAgICAgZGlzcGF0Y2hFdmVudChFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5pbnB1dEV2
ZW50LCB0cnVlLCBmYWxzZSkpOwogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1s
L0hUTUxJbnB1dEVsZW1lbnQuaCBiL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmgKaW5k
ZXggOTg4NDExN2I4MTFjY2ExOWVlMDc0N2IwNWQwNWI4ZmNlMDIyYjUxYi4uMzc2NjA4YzRmNjZh
YTA3ZjI4NzAyNTZhOTU5ZGI1ZDQyYWZkMzkwNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hU
TUxJbnB1dEVsZW1lbnQuaAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oCkBA
IC0yNyw2ICsyNyw3IEBACiAjaW5jbHVkZSAiSFRNTEZvcm1Db250cm9sRWxlbWVudC5oIgogI2lu
Y2x1ZGUgIkhUTUxGb3JtRWxlbWVudC5oIgogI2luY2x1ZGUgIklucHV0RWxlbWVudC5oIgorI2lu
Y2x1ZGUgIklucHV0VHlwZS5oIgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewpAQCAtMjY3LDYgKzI2OCw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCBib29s
IGlzVGV4dEZvcm1Db250cm9sKCkgY29uc3QgeyByZXR1cm4gaXNUZXh0RmllbGQoKTsgfQogCiAg
ICAgdmlydHVhbCBib29sIGhhc1NwaW5CdXR0b24oKSBjb25zdCB7IHJldHVybiBkZXByZWNhdGVk
SW5wdXRUeXBlKCkgPT0gTlVNQkVSIHx8IGRlcHJlY2F0ZWRJbnB1dFR5cGUoKSA9PSBEQVRFIHx8
IGRlcHJlY2F0ZWRJbnB1dFR5cGUoKSA9PSBEQVRFVElNRSB8fCBkZXByZWNhdGVkSW5wdXRUeXBl
KCkgPT0gREFURVRJTUVMT0NBTCB8fCBkZXByZWNhdGVkSW5wdXRUeXBlKCkgPT0gTU9OVEggfHwg
ZGVwcmVjYXRlZElucHV0VHlwZSgpID09IFRJTUUgfHwgZGVwcmVjYXRlZElucHV0VHlwZSgpID09
IFdFRUs7IH0KKyAgICB2aXJ0dWFsIGJvb2wgaXNSYW5nZUNvbnRyb2woKSBjb25zdCB7IHJldHVy
biBmb3JtQ29udHJvbFR5cGUoKSA9PSBJbnB1dFR5cGVOYW1lczo6cmFuZ2UoKTsgfQogICAgIHZp
cnR1YWwgYm9vbCBjYW5UcmlnZ2VySW1wbGljaXRTdWJtaXNzaW9uKCkgY29uc3QgeyByZXR1cm4g
aXNUZXh0RmllbGQoKTsgfQogCiAgICAgYm9vbCBhbGxvd3NJbmRldGVybWluYXRlKCkgY29uc3Qg
eyByZXR1cm4gZGVwcmVjYXRlZElucHV0VHlwZSgpID09IENIRUNLQk9YIHx8IGRlcHJlY2F0ZWRJ
bnB1dFR5cGUoKSA9PSBSQURJTzsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0lucHV0VHlw
ZS5jcHAgYi9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmNwcAppbmRleCA2ZGQwMDJjNGYyYWZkMTUx
ZWQ0MmJiOGUzMzBlMWY1MjI0ZDgzMmMyLi5kMDk0ZjYzMmI0YjY3NTBlM2Y5MjRkYmQ4NmNkMTRk
MDYxNWFhMTRiIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmNwcAorKysgYi9X
ZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmNwcApAQCAtMjEzLDYgKzIxMywxMSBAQCBib29sIElucHV0
VHlwZTo6cmFuZ2VPdmVyZmxvdyhjb25zdCBTdHJpbmcmKSBjb25zdAogICAgIHJldHVybiBmYWxz
ZTsKIH0KIAorZG91YmxlIElucHV0VHlwZTo6c3RhcnRpbmdWYWx1ZSgpIGNvbnN0Cit7CisgICAg
cmV0dXJuIDA7Cit9CisKIGRvdWJsZSBJbnB1dFR5cGU6Om1pbmltdW0oKSBjb25zdAogewogICAg
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0lucHV0VHlw
ZS5oIGIvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5oCmluZGV4IGYxYTViNmRjYTBmN2ZhZTIzMDI5
ZThjMjY5NDlkYWEyMjJkNzNiMWEuLjAyMmUyZWUwZDEwZDIyZDViNjRjYmM1NjU5MTFhZTUzMDM5
YjA3OTcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuaAorKysgYi9XZWJDb3Jl
L2h0bWwvSW5wdXRUeXBlLmgKQEAgLTg5LDYgKzg5LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwg
Ym9vbCBwYXR0ZXJuTWlzbWF0Y2goY29uc3QgU3RyaW5nJikgY29uc3Q7CiAgICAgdmlydHVhbCBi
b29sIHJhbmdlVW5kZXJmbG93KGNvbnN0IFN0cmluZyYpIGNvbnN0OwogICAgIHZpcnR1YWwgYm9v
bCByYW5nZU92ZXJmbG93KGNvbnN0IFN0cmluZyYpIGNvbnN0OworICAgIHZpcnR1YWwgZG91Ymxl
IHN0YXJ0aW5nVmFsdWUoKSBjb25zdDsKICAgICB2aXJ0dWFsIGRvdWJsZSBtaW5pbXVtKCkgY29u
c3Q7CiAgICAgdmlydHVhbCBkb3VibGUgbWF4aW11bSgpIGNvbnN0OwogICAgIHZpcnR1YWwgYm9v
bCBzdGVwTWlzbWF0Y2goY29uc3QgU3RyaW5nJiwgZG91YmxlKSBjb25zdDsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvaHRtbC9Nb250aElucHV0VHlwZS5jcHAgYi9XZWJDb3JlL2h0bWwvTW9udGhJbnB1
dFR5cGUuY3BwCmluZGV4IGNiZGU1Y2JhZDI5NDFkNGM1ODFhODNiYTEwMWU0OWFkYWIyM2RkNTYu
LjhiYzAzNGI1ODM0OTNhOGJhMTA4MmEyMzM5MDVhZmJhOTRhMmU5NjkgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvaHRtbC9Nb250aElucHV0VHlwZS5jcHAKKysrIGIvV2ViQ29yZS9odG1sL01vbnRoSW5w
dXRUeXBlLmNwcApAQCAtNzQsNiArNzQsMjEgQEAgdm9pZCBNb250aElucHV0VHlwZTo6c2V0VmFs
dWVBc0RhdGUoZG91YmxlIHZhbHVlLCBFeGNlcHRpb25Db2RlJikgY29uc3QKICAgICBlbGVtZW50
KCktPnNldFZhbHVlKGRhdGUudG9TdHJpbmcoKSk7CiB9CiAKK2RvdWJsZSBNb250aElucHV0VHlw
ZTo6c3RhcnRpbmdWYWx1ZSgpIGNvbnN0Cit7CisgICAgZG91YmxlIGN1cnJlbnQgPSBjdXJyZW50
VGltZU1TKCk7CisgICAgZG91YmxlIHV0Y09mZnNldCA9IGNhbGN1bGF0ZVVUQ09mZnNldCgpOwor
ICAgIGRvdWJsZSBkc3RPZmZzZXQgPSBjYWxjdWxhdGVEU1RPZmZzZXQoY3VycmVudCwgdXRjT2Zm
c2V0KTsKKyAgICBpbnQgb2Zmc2V0ID0gc3RhdGljX2Nhc3Q8aW50PigodXRjT2Zmc2V0ICsgZHN0
T2Zmc2V0KSAvIG1zUGVyTWludXRlKTsKKyAgICBjdXJyZW50ICs9IG9mZnNldCAqIG1zUGVyTWlu
dXRlOworCisgICAgRGF0ZUNvbXBvbmVudHMgZGF0ZTsKKyAgICBkYXRlLnNldE1pbGxpc2Vjb25k
c1NpbmNlRXBvY2hGb3JNb250aChjdXJyZW50KTsKKyAgICBkb3VibGUgbW9udGhzID0gZGF0ZS5t
b250aHNTaW5jZUVwb2NoKCk7CisgICAgQVNTRVJUKGlzZmluaXRlKG1vbnRocykpOworICAgIHJl
dHVybiBtb250aHM7Cit9CisKIGRvdWJsZSBNb250aElucHV0VHlwZTo6bWluaW11bSgpIGNvbnN0
CiB7CiAgICAgcmV0dXJuIHBhcnNlVG9Eb3VibGUoZWxlbWVudCgpLT5mYXN0R2V0QXR0cmlidXRl
KG1pbkF0dHIpLCBEYXRlQ29tcG9uZW50czo6bWluaW11bU1vbnRoKCkpOwpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9odG1sL01vbnRoSW5wdXRUeXBlLmggYi9XZWJDb3JlL2h0bWwvTW9udGhJbnB1dFR5
cGUuaAppbmRleCA1MGNmN2Q1MGY5NGJmNTA2ODE3MmU3Yjk5NTVlNjM0MTUwNjRmZDBhLi4xMjA2
YmEwZWViYTc3NDU4MmNlOTkwOGFjMmEyNmU4MmQ2OTMzMGJiIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2h0bWwvTW9udGhJbnB1dFR5cGUuaAorKysgYi9XZWJDb3JlL2h0bWwvTW9udGhJbnB1dFR5cGUu
aApAQCAtNDUsNiArNDUsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgZG91YmxlIHZhbHVlQXNE
YXRlKCkgY29uc3Q7CiAgICAgdmlydHVhbCB2b2lkIHNldFZhbHVlQXNEYXRlKGRvdWJsZSwgRXhj
ZXB0aW9uQ29kZSYpIGNvbnN0OwogICAgIHZpcnR1YWwgZG91YmxlIHBhcnNlVG9Eb3VibGUoY29u
c3QgU3RyaW5nJiwgZG91YmxlKSBjb25zdDsKKyAgICB2aXJ0dWFsIGRvdWJsZSBzdGFydGluZ1Zh
bHVlKCkgY29uc3Q7CiAgICAgdmlydHVhbCBkb3VibGUgbWluaW11bSgpIGNvbnN0OwogICAgIHZp
cnR1YWwgZG91YmxlIG1heGltdW0oKSBjb25zdDsKICAgICB2aXJ0dWFsIGRvdWJsZSBkZWZhdWx0
U3RlcCgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL1JhbmdlSW5wdXRUeXBlLmNw
cCBiL1dlYkNvcmUvaHRtbC9SYW5nZUlucHV0VHlwZS5jcHAKaW5kZXggYWQ0N2YxNGNiMTRhOWQ4
ODkxMmZjZGE2MmM4Zjk3Zjg4YWQzYmMxYy4uNWU5ZTZhNzllODllNjZhMjA0YWYzNjVmZDYxOTYx
MjM1MGVkMjY4NSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL1JhbmdlSW5wdXRUeXBlLmNwcAor
KysgYi9XZWJDb3JlL2h0bWwvUmFuZ2VJbnB1dFR5cGUuY3BwCkBAIC0xNDMsNiArMTQzLDggQEAg
Ym9vbCBSYW5nZUlucHV0VHlwZTo6aGFuZGxlS2V5ZG93bkV2ZW50KEtleWJvYXJkRXZlbnQqIGV2
ZW50KQogICAgICAgICBkb3VibGUgc3RlcCA9IChtYXggLSBtaW4pIC8gMTAwOwogICAgICAgICBk
b3VibGUgY3VycmVudCA9IHBhcnNlVG9Eb3VibGUoZWxlbWVudCgpLT52YWx1ZSgpLCBudW1lcmlj
X2xpbWl0czxkb3VibGU+OjpxdWlldF9OYU4oKSk7CiAgICAgICAgIEFTU0VSVChpc2Zpbml0ZShj
dXJyZW50KSk7CisgICAgICAgIC8vIE5vdCB1c2luZyBzdGVwVXBGcm9tUmVuZGVyZXIoKSBzaW5j
ZSBpdCBpcyBub3QgYW55IGtpbmQgb2Ygc3RlcFVwKCkKKyAgICAgICAgLy8gTm8gc3RlcFVwKCkg
Zm9yIHN0ZXA9ImFueSIKICAgICAgICAgZG91YmxlIG5ld1ZhbHVlOwogICAgICAgICBpZiAoa2V5
ID09ICJVcCIgfHwga2V5ID09ICJSaWdodCIpIHsKICAgICAgICAgICAgIG5ld1ZhbHVlID0gY3Vy
cmVudCArIHN0ZXA7CkBAIC0xNTksMTAgKzE2MSw4IEBAIGJvb2wgUmFuZ2VJbnB1dFR5cGU6Omhh
bmRsZUtleWRvd25FdmVudChLZXlib2FyZEV2ZW50KiBldmVudCkKICAgICAgICAgfQogICAgIH0g
ZWxzZSB7CiAgICAgICAgIGludCBzdGVwTWFnbmlmaWNhdGlvbiA9IChrZXkgPT0gIlVwIiB8fCBr
ZXkgPT0gIlJpZ2h0IikgPyAxIDogLTE7Ci0gICAgICAgIFN0cmluZyBsYXN0U3RyaW5nVmFsdWUg
PSBlbGVtZW50KCktPnZhbHVlKCk7Ci0gICAgICAgIGVsZW1lbnQoKS0+c3RlcFVwKHN0ZXBNYWdu
aWZpY2F0aW9uLCBlYyk7Ci0gICAgICAgIGlmIChsYXN0U3RyaW5nVmFsdWUgIT0gZWxlbWVudCgp
LT52YWx1ZSgpKQotICAgICAgICAgICAgZWxlbWVudCgpLT5kaXNwYXRjaEZvcm1Db250cm9sQ2hh
bmdlRXZlbnQoKTsKKyAgICAgICAgLy8gVXNpbmcgc3RlcFVwRnJvbVJlbmRlcmVyKCkgc2luY2Ug
aXQgaXMgYSBraW5kIG9mIHN0ZXBVcCgpIG9wZXJhdGlvbgorICAgICAgICBlbGVtZW50KCktPnN0
ZXBVcEZyb21SZW5kZXJlcihzdGVwTWFnbmlmaWNhdGlvbik7CiAgICAgfQogICAgIGV2ZW50LT5z
ZXREZWZhdWx0SGFuZGxlZCgpOwogICAgIHJldHVybiB0cnVlOwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9odG1sL1RpbWVJbnB1dFR5cGUuY3BwIGIvV2ViQ29yZS9odG1sL1RpbWVJbnB1dFR5cGUuY3Bw
CmluZGV4IDI3ZGNlOTA1N2QzY2I3ZGM5MmExZGUwMDBkNzNjNzI3ZDZlMzhjM2EuLjU4OTRmMmQz
OGU2N2E5NjIyNTE1ZjFlNzRlYTBiZDUyN2E5YmMzMTAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRt
bC9UaW1lSW5wdXRUeXBlLmNwcAorKysgYi9XZWJDb3JlL2h0bWwvVGltZUlucHV0VHlwZS5jcHAK
QEAgLTUzLDYgKzUzLDIxIEBAIGNvbnN0IEF0b21pY1N0cmluZyYgVGltZUlucHV0VHlwZTo6Zm9y
bUNvbnRyb2xUeXBlKCkgY29uc3QKICAgICByZXR1cm4gSW5wdXRUeXBlTmFtZXM6OnRpbWUoKTsK
IH0KIAorZG91YmxlIFRpbWVJbnB1dFR5cGU6OnN0YXJ0aW5nVmFsdWUoKSBjb25zdAoreworICAg
IGRvdWJsZSBjdXJyZW50ID0gY3VycmVudFRpbWVNUygpOworICAgIGRvdWJsZSB1dGNPZmZzZXQg
PSBjYWxjdWxhdGVVVENPZmZzZXQoKTsKKyAgICBkb3VibGUgZHN0T2Zmc2V0ID0gY2FsY3VsYXRl
RFNUT2Zmc2V0KGN1cnJlbnQsIHV0Y09mZnNldCk7CisgICAgaW50IG9mZnNldCA9IHN0YXRpY19j
YXN0PGludD4oKHV0Y09mZnNldCArIGRzdE9mZnNldCkgLyBtc1Blck1pbnV0ZSk7CisgICAgY3Vy
cmVudCArPSBvZmZzZXQgKiBtc1Blck1pbnV0ZTsKKworICAgIERhdGVDb21wb25lbnRzIGRhdGU7
CisgICAgZGF0ZS5zZXRNaWxsaXNlY29uZHNTaW5jZU1pZG5pZ2h0KGN1cnJlbnQpOworICAgIGRv
dWJsZSBtaWxsaXNlY29uZHMgPSBkYXRlLm1pbGxpc2Vjb25kc1NpbmNlRXBvY2goKTsKKyAgICBB
U1NFUlQoaXNmaW5pdGUobWlsbGlzZWNvbmRzKSk7CisgICAgcmV0dXJuIG1pbGxpc2Vjb25kczsK
K30KKwogZG91YmxlIFRpbWVJbnB1dFR5cGU6Om1pbmltdW0oKSBjb25zdAogewogICAgIHJldHVy
biBwYXJzZVRvRG91YmxlKGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJpYnV0ZShtaW5BdHRyKSwgRGF0
ZUNvbXBvbmVudHM6Om1pbmltdW1UaW1lKCkpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL1Rp
bWVJbnB1dFR5cGUuaCBiL1dlYkNvcmUvaHRtbC9UaW1lSW5wdXRUeXBlLmgKaW5kZXggNjA3MGZh
MDczODlhOWFlNzI4ZTlmYTYyMGFhM2VlOWFmMjY3MDcyNy4uOGZhNTMwMjc1NDU0OGZlZDRmYTAz
MTQxODcwZTMzYjZjOTI2ZWZjZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL1RpbWVJbnB1dFR5
cGUuaAorKysgYi9XZWJDb3JlL2h0bWwvVGltZUlucHV0VHlwZS5oCkBAIC00Miw2ICs0Miw3IEBA
IHB1YmxpYzoKIHByaXZhdGU6CiAgICAgVGltZUlucHV0VHlwZShIVE1MSW5wdXRFbGVtZW50KiBl
bGVtZW50KSA6IEJhc2VEYXRlQW5kVGltZUlucHV0VHlwZShlbGVtZW50KSB7IH0KICAgICB2aXJ0
dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgZm9ybUNvbnRyb2xUeXBlKCkgY29uc3Q7CisgICAgdmly
dHVhbCBkb3VibGUgc3RhcnRpbmdWYWx1ZSgpIGNvbnN0OwogICAgIHZpcnR1YWwgZG91YmxlIG1p
bmltdW0oKSBjb25zdDsKICAgICB2aXJ0dWFsIGRvdWJsZSBtYXhpbXVtKCkgY29uc3Q7CiAgICAg
dmlydHVhbCBkb3VibGUgZGVmYXVsdFN0ZXAoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
bWFudWFsLXRlc3RzL2lucHV0LXR5cGUtZGF0ZXRpbWUtZGVmYXVsdC12YWx1ZS5odG1sIGIvV2Vi
Q29yZS9tYW51YWwtdGVzdHMvaW5wdXQtdHlwZS1kYXRldGltZS1kZWZhdWx0LXZhbHVlLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMzE2ZDI2OWQ3ODliODczODU4MmY5YjJhYzlmZGNkZjRmYTI2NDU3NAotLS0g
L2Rldi9udWxsCisrKyBiL1dlYkNvcmUvbWFudWFsLXRlc3RzL2lucHV0LXR5cGUtZGF0ZXRpbWUt
ZGVmYXVsdC12YWx1ZS5odG1sCkBAIC0wLDAgKzEsMzAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vVzNDLy9EVEQgSFRNTCA0LjAgVHJhbnNpdGlvbmFsLy9FTiI+Cis8aHRtbD4KKzxoZWFk
Pjx0aXRsZT5EZWZhdWx0IHZhbHVlcyBmb3IgZGF0ZS90aW1lIGlucHV0ICh0eXBlPSBkYXRlLCBk
YXRldGltZSwgZGF0ZXRpbWUtbG9jYWwsIG1vbnRoLCB0aW1lLCB3ZWVrKTwvdGl0bGU+PC9oZWFk
PgorCis8cD5FbnRlciBVcCBvciBEb3duLCBvciBjbGljayB0aGUgc3BpbiBidXR0b25zIGZvciBl
YWNoIGlucHV0IGZpZWxkLjwvcD4KKworPGZvcm0+CisgIDx1bD4KKyAgICA8bGk+ZGF0ZTogPGlu
cHV0IHR5cGU9ImRhdGUiIHNpemU9IjMyIiB2YWx1ZT0iIiAvPgorICAgIDxsaT5kYXRldGltZTog
PGlucHV0IHR5cGU9ImRhdGV0aW1lIiAgc2l6ZT0iMzIiIHZhbHVlPSIiIC8+CisgICAgPGxpPmRh
dGV0aW1lLWxvY2FsOiA8aW5wdXQgdHlwZT0iZGF0ZXRpbWUtbG9jYWwiIHNpemU9IjMyIiB2YWx1
ZT0iIiAvPgorICAgIDxsaT5tb250aDogPGlucHV0IHR5cGU9Im1vbnRoIiBzaXplPSIzMiIgdmFs
dWU9IiIgLz4KKyAgICA8bGk+dGltZTogPGlucHV0IHR5cGU9InRpbWUiIHNpemU9IjMyIiB2YWx1
ZT0iIiAvPgorICAgIDxsaT53ZWVrIDxpbnB1dCB0eXBlPSJ3ZWVrIiBzaXplPSIzMiIgdmFsdWU9
IiIgLz4KKyAgPC91bD4KKzwvZm9ybT4KKworPHA+VGhlIGlucHV0IGZpZWxkcyBzaG91bGQgc2hv
dyB0aGUgY3VycmVudCBkYXRlL3RpbWUgKHdpdGggKyBvciAtIGEgdW5pdCBkYXRlL3RpbWUgZGVz
Y3JpYmVkIGJlbG93KS48L3A+CisKKzxwPlVuaXQgZGF0ZXMvdGltZXM8L3A+Cis8dWw+CisgIDxs
aT5kYXRlOiAxIGRheQorICA8bGk+ZGF0ZXRpbWU6IDEgbWludXRlCisgIDxsaT5kYXRldGltZS1s
b2NhbDogMSBtaW51dGUKKyAgPGxpPm1vbnRoOiAxIG1vbnRoCisgIDxsaT50aW1lOiAxIG1pbnV0
ZQorICA8bGk+d2VlazogMSB3ZWVrCis8L3VsPgorCis8L2JvZHk+PC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>74984</attachid>
            <date>2010-11-28 22:00:04 -0800</date>
            <delta_ts>2010-11-29 00:59:37 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-45491-20101129150009.patch</filename>
            <type>text/plain</type>
            <size>57723</size>
            <attacher name="Dai Mikurube">dmikurube</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL0phdmFTY3JpcHRDb3JlL0No
YW5nZUxvZwppbmRleCA3NjQ0Y2Q3NjI5NGUxZmYzYTIwZWRmYzBjM2NlNDBkZjc4YmRjNmYyLi5i
NjM5ZmY3MzM2OGFiM2NkMDIxZTkyMDVjZjAzYzM0MWM5YmFmODhiIDEwMDY0NAotLS0gYS9KYXZh
U2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjYgQEAKKzIwMTAtMTEtMjQgIERhaSBNaWt1cnViZSAgPGRtaWt1cnViZUBnb29nbGUu
Y29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIHdo
ZW4gZW1wdHksIGNsaWNraW5nICJkb3duIiBvbiBvdXRlci1zcGluLWJ1dHRvbiByZXR1cm5zICJt
YXggdmFsdWUiCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD00NTQ5MQorCisgICAgICAgIEl0IGlzIHJlcXVpcmVkIHRvIGNhbGN1bGF0ZSBVVEMvRFNUIG9m
ZnNldHMgdG8gcmV0cmlldmUgdGhlIGN1cnJlbnQgbG9jYWwgbWlsbGlzZWNvbmRzIGZvcgorICAg
ICAgICBkYXRlL3RpbWUgdHlwZSBpbnB1dHMuIFdURjo6Y3VycmVudFRpbWVNUygpIHJldHVybnMg
YSBVVEMgdGltZSwgYW5kIFdURjo6Z2V0TG9jYWxUaW1lKCkKKyAgICAgICAgcmV0dXJucyBhIHN0
cnVjdCB0bSwgbm90IG1pbGxpc2Vjb25kcy4KKworICAgICAgICBDYWxjdWxhdGluZyBtaWxsaXNl
Y29uZHMgZnJvbSBhIHN0cnVjdCB0bSBpcyBub3QgY2xlYXIuIHRpbWVnbSgpIGNhbm5vdCBiZSB1
c2VkIGluIGFsbAorICAgICAgICBlbnZpcm9ubWVudHMuIFRoaXMgY29udmVyc2lvbiBpcyBjb21w
bGljYXRlZCBhbmQgYWxyZWFkeSBkb25lIGF0IGNhbGN1bGF0ZVVUQ09mZnNldCgpLgorICAgICAg
ICBEdXBsaWNhdGluZyB0aGlzIGNvbXBsaWNhdGVkIGNhbGN1bGF0aW9uIGlzIHVucmVhc29uYWJs
ZSBiZWNhdXNlIG9mIG1haW50YWluYWJpbGl0eS4KKyAgICAgICAgVG8gYWNoaWV2ZSB0aGlzIHdp
dGhvdXQgZHVwbGljYXRpb24sIHdlIG11c3QgY2FsbCBjYWxjdWxhdGV7VVRDfERTVH1PZmZzZXQg
aW4gc29tZSB3YXkuCisKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS5leHA6CisgICAgICAgICog
SmF2YVNjcmlwdENvcmUudmNwcm9qL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmRlZjoK
KyAgICAgICAgKiB3dGYvRGF0ZU1hdGguY3BwOiBDaGFuZ2VkIGNhbGN1bGF0ZVVUQ09mZnNldCgp
IGFuZCBjYWxjdWxhdGVEU1RPZmZzZXQoKSB0byBleHRlcm5hbCBmdW5jdGlvbnMuCisgICAgICAg
IChXVEY6OmNhbGN1bGF0ZVVUQ09mZnNldCk6CisgICAgICAgIChXVEY6OmNhbGN1bGF0ZURTVE9m
ZnNldCk6CisgICAgICAgICogd3RmL0RhdGVNYXRoLmg6CisKIDIwMTAtMTEtMTggIEdhdmluIEJh
cnJhY2xvdWdoICA8YmFycmFjbG91Z2hAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5
IE9saXZlciBIdW50LgpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUu
ZXhwIGIvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZXhwCmluZGV4IDM3MTVhNDM4Mzdk
YzkxMGU4ZGU3MGU0MzNlZDI2ZmViMTU0MTgwZDMuLjM5YmY1MjcwMmIwYjAwYmRkMzliNWE0MmNi
NGQ4ODA1NWU2YWIyYjkgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3Jl
LmV4cAorKysgYi9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5leHAKQEAgLTQwNCw2ICs0
MDQsOCBAQCBfX1pOM1dURjE3Y2hhcmFjdGVyc1RvRmxvYXRFUEt0bVBiCiBfX1pOM1dURjE3ZXF1
YWxJZ25vcmluZ0Nhc2VFUEt0UEtjagogX19aTjNXVEYxN2VxdWFsSWdub3JpbmdDYXNlRVBOU18x
MFN0cmluZ0ltcGxFUEtjCiBfX1pOM1dURjE3ZXF1YWxJZ25vcmluZ0Nhc2VFUE5TXzEwU3RyaW5n
SW1wbEVTMV8KK19fWk4zV1RGMThjYWxjdWxhdGVEU1RPZmZzZXRFZGQKK19fWk4zV1RGMThjYWxj
dWxhdGVVVENPZmZzZXRFdgogX19aTjNXVEYxOGNoYXJhY3RlcnNUb0RvdWJsZUVQS3RtUGIKIF9f
Wk4zV1RGMThkYXRlVG9EYXlzRnJvbTE5NzBFaWlpCiBfX1pOM1dURjE4bW9udGhGcm9tRGF5SW5Z
ZWFyRWliCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ov
SmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZGVmIGIvSmF2YVNjcmlwdENvcmUvSmF2YVNj
cmlwdENvcmUudmNwcm9qL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmRlZgppbmRleCA0
NDljMGJiODQxNTU0Y2MyN2VhYzJmNTlhMjQyNWFhMzBhMmRkMDhiLi40MmFjN2YxMTYxOGQxOTBi
NGYzYTNmZDhlY2IxNzc3MGVjZjcwNDg4IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9KYXZh
U2NyaXB0Q29yZS52Y3Byb2ovSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZGVmCisrKyBi
L0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9KYXZhU2NyaXB0Q29yZS9KYXZh
U2NyaXB0Q29yZS5kZWYKQEAgLTU5LDYgKzU5LDggQEAgRVhQT1JUUwogICAgID9icm9hZGNhc3RA
VGhyZWFkQ29uZGl0aW9uQFdURkBAUUFFWFhaCiAgICAgP2J1ZmZlckxlbmd0aEZvclN0cmluZ0Rl
Y2ltYWxARGVjaW1hbE51bWJlckBXVEZAQFFCRUlYWgogICAgID9jYWxjdWxhdGVkRnVuY3Rpb25O
YW1lQERlYnVnZ2VyQ2FsbEZyYW1lQEpTQ0BAUUJFP0FWVVN0cmluZ0AyQFhaCisgICAgP2NhbGN1
bGF0ZVVUQ09mZnNldEBXVEZAQFlBSFhaCisgICAgP2NhbGN1bGF0ZURTVE9mZnNldEBXVEZAQFlB
Tk5OQFoKICAgICA/Y2FsbEBKU0NAQFlBP0FWSlNWYWx1ZUAxQFBBVkV4ZWNTdGF0ZUAxQFYyMUBX
NENhbGxUeXBlQDFAQUJUQ2FsbERhdGFAMUAxQUJWQXJnTGlzdEAxQEBaCiAgICAgP2NhbGxPbk1h
aW5UaHJlYWRAV1RGQEBZQVhQNkFYUEFYQFowQFoKICAgICA/Y2FsbE9uTWFpblRocmVhZEFuZFdh
aXRAV1RGQEBZQVhQNkFYUEFYQFowQFoKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9E
YXRlTWF0aC5jcHAgYi9KYXZhU2NyaXB0Q29yZS93dGYvRGF0ZU1hdGguY3BwCmluZGV4IGYzNjI3
ZTZiOTgzZTgyYjlhYTNhNDBhYzQ5ZGI2ZDUwYmU1ZjA4MTQuLjY3NWYwOTNmMDFiYjQ1Zjg4Yjcz
YzQ2MDY5ZDUyYzBiOGQwOWVhYjQgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9EYXRl
TWF0aC5jcHAKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL0RhdGVNYXRoLmNwcApAQCAtMzc5LDcg
KzM3OSw3IEBAIGludCBlcXVpdmFsZW50WWVhckZvckRTVChpbnQgeWVhcikKICAgICByZXR1cm4g
eWVhcjsKIH0KIAotc3RhdGljIGludDMyX3QgY2FsY3VsYXRlVVRDT2Zmc2V0KCkKK2ludDMyX3Qg
Y2FsY3VsYXRlVVRDT2Zmc2V0KCkKIHsKICNpZiBQTEFURk9STShCUkVXTVApCiAgICAgdGltZV90
IGxvY2FsVGltZSA9IHN0YXRpY19jYXN0PHRpbWVfdD4oY3VycmVudFRpbWUoKSk7CkBAIC00NDks
NyArNDQ5LDcgQEAgc3RhdGljIGRvdWJsZSBjYWxjdWxhdGVEU1RPZmZzZXRTaW1wbGUoZG91Ymxl
IGxvY2FsVGltZVNlY29uZHMsIGRvdWJsZSB1dGNPZmZzZXQKIH0KIAogLy8gR2V0IHRoZSBEU1Qg
b2Zmc2V0LCBnaXZlbiBhIHRpbWUgaW4gVVRDCi1zdGF0aWMgZG91YmxlIGNhbGN1bGF0ZURTVE9m
ZnNldChkb3VibGUgbXMsIGRvdWJsZSB1dGNPZmZzZXQpCitkb3VibGUgY2FsY3VsYXRlRFNUT2Zm
c2V0KGRvdWJsZSBtcywgZG91YmxlIHV0Y09mZnNldCkKIHsKICAgICAvLyBPbiBNYWMgT1MgWCwg
dGhlIGNhbGwgdG8gbG9jYWx0aW1lIChzZWUgY2FsY3VsYXRlRFNUT2Zmc2V0U2ltcGxlKSB3aWxs
IHJldHVybiBoaXN0b3JpY2FsbHkgYWNjdXJhdGUKICAgICAvLyBEU1QgaW5mb3JtYXRpb24gKGUu
Zy4gTmV3IFplYWxhbmQgZGlkIG5vdCBoYXZlIERTVCBmcm9tIDE5NDYgdG8gMTk3NCkgaG93ZXZl
ciB0aGUgSmF2YVNjcmlwdApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL0RhdGVNYXRo
LmggYi9KYXZhU2NyaXB0Q29yZS93dGYvRGF0ZU1hdGguaAppbmRleCBiZTUxOTQ3ZjJhMWJkOTFi
YTk3YWY3ZTJiOWIzNmExNTE1Yjk1MTNmLi5jYjg0NzA4MTE4ZmE2YTE3YjlhYTg4NjY2NTdkNGZh
MDkyMzEyYmI4IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvRGF0ZU1hdGguaAorKysg
Yi9KYXZhU2NyaXB0Q29yZS93dGYvRGF0ZU1hdGguaApAQCAtODQsNiArODQsMTAgQEAgaW50IGRh
eUluWWVhcihkb3VibGUgbXMsIGludCB5ZWFyKTsKIGludCBtb250aEZyb21EYXlJblllYXIoaW50
IGRheUluWWVhciwgYm9vbCBsZWFwWWVhcik7CiBpbnQgZGF5SW5Nb250aEZyb21EYXlJblllYXIo
aW50IGRheUluWWVhciwgYm9vbCBsZWFwWWVhcik7CiAKKy8vIFJldHVybnMgb2Zmc2V0IG1pbGxp
c2Vjb25kcyBmb3IgVVRDIGFuZCBEU1QuCitpbnQzMl90IGNhbGN1bGF0ZVVUQ09mZnNldCgpOwor
ZG91YmxlIGNhbGN1bGF0ZURTVE9mZnNldChkb3VibGUgbXMsIGRvdWJsZSB1dGNPZmZzZXQpOwor
CiB9IC8vIG5hbWVzcGFjZSBXVEYKIAogdXNpbmcgV1RGOjpkYXRlVG9EYXlzRnJvbTE5NzA7CkBA
IC05MiwxMCArOTYsMTMgQEAgdXNpbmcgV1RGOjpkYXlJblllYXI7CiB1c2luZyBXVEY6Om1pbnV0
ZXNQZXJIb3VyOwogdXNpbmcgV1RGOjptb250aEZyb21EYXlJblllYXI7CiB1c2luZyBXVEY6Om1z
UGVyRGF5OwordXNpbmcgV1RGOjptc1Blck1pbnV0ZTsKIHVzaW5nIFdURjo6bXNQZXJTZWNvbmQ7
CiB1c2luZyBXVEY6Om1zVG9ZZWFyOwogdXNpbmcgV1RGOjpzZWNvbmRzUGVyTWludXRlOwogdXNp
bmcgV1RGOjpwYXJzZURhdGVGcm9tTnVsbFRlcm1pbmF0ZWRDaGFyYWN0ZXJzOwordXNpbmcgV1RG
OjpjYWxjdWxhdGVVVENPZmZzZXQ7Cit1c2luZyBXVEY6OmNhbGN1bGF0ZURTVE9mZnNldDsKIAog
I2lmIFVTRShKU0MpCiBuYW1lc3BhY2UgSlNDIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0No
YW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBhZTMwNDdjMmQwNTY3NzZkNTgz
YzAyZTE4MDBlZDg1Y2RiNDQ1OGNjLi5lNjBkZjVhMWM4YzA0NGIyZWZkZTFhYmM0MDQzMDA5ZDI3
YTA3MThmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTAtMTEtMjQgIERhaSBNaWt1cnViZSAg
PGRtaWt1cnViZUBnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIHdoZW4gZW1wdHksIGNsaWNraW5nICJkb3duIiBvbiBvdXRlci1zcGlu
LWJ1dHRvbiByZXR1cm5zICJtYXggdmFsdWUiCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD00NTQ5MQorCisgICAgICAgICogZmFzdC9mb3Jtcy9pbnB1dC1z
dGVwdXAtc3RlcGRvd24tZnJvbS1yZW5kZXJlci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGZhc3QvZm9ybXMvaW5wdXQtc3RlcHVwLXN0ZXBkb3duLWZyb20tcmVuZGVyZXIuaHRtbDog
QWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvaW5wdXQtc3RlcHVwLXN0
ZXBkb3duLWZyb20tcmVuZGVyZXIuanM6IEFkZGVkLgorICAgICAgICAoKToKKyAgICAgICAgKHNl
dElucHV0QXR0cmlidXRlcyk6CisgICAgICAgIChzdGVwVXApOgorICAgICAgICAoc3RlcERvd24p
OgorICAgICAgICAoc3RlcFVwRXhwbGljaXRCb3VuZHMpOgorICAgICAgICAoc3RlcERvd25FeHBs
aWNpdEJvdW5kcyk6CisKIDIwMTAtMTEtMTggIERhdmlkIExldmluICA8bGV2aW5AY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIFtjaHJvbWl1bV0gTWlzYyB0ZXN0IHVwZGF0ZXMgKG1vc3QgUnVieSku
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lucHV0LXN0ZXB1cC1zdGVwZG93
bi1mcm9tLXJlbmRlcmVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW5w
dXQtc3RlcHVwLXN0ZXBkb3duLWZyb20tcmVuZGVyZXItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjYyYjJhNjNjMDEzMzg3YTY1NGQyOGY0MzMyYzQ1OTJlNDZmMTQ2ZmQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lucHV0LXN0ZXB1cC1zdGVwZG93bi1mcm9tLXJl
bmRlcmVyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDI2MiBAQAorQ2hlY2sgc3RlcFVwKCkgYW5k
IHN0ZXBEb3duKCkgZm9yICBmcm9tIHJlbmRlcmVyLiBObyBjYXNlcyBvZiBlbXB0eSBpbml0aWFs
IHZhbHVlcyBmb3IgdHlwZT1kYXRlLCBkYXRldGltZSwgZGF0ZXRpbWUtbG9jYWwsIG1vbnRoLCB0
aW1lLCB3ZWVrLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworRGF0ZSB0eXBlCitm
dW5jdGlvbiBhcmd1bWVudHMgYXJlICh2YWx1ZSwgc3RlcCwge21pbiBvciBtYXh9LCBbc3RlcENv
dW50XSkKK05vcm1hbCBjYXNlcworUEFTUyBzdGVwVXAoIjIwMTAtMDItMTAiLCBudWxsLCBudWxs
KSBpcyAiMjAxMC0wMi0xMSIKK1BBU1Mgc3RlcERvd24oIjIwMTAtMDItMTAiLCBudWxsLCBudWxs
KSBpcyAiMjAxMC0wMi0wOSIKK1BBU1Mgc3RlcFVwKCIyMDEwLTAyLTEwIiwgbnVsbCwgbnVsbCwg
MTApIGlzICIyMDEwLTAyLTIwIgorUEFTUyBzdGVwRG93bigiMjAxMC0wMi0xMCIsIG51bGwsIG51
bGwsIDExKSBpcyAiMjAxMC0wMS0zMCIKK1BBU1Mgc3RlcFVwKCIxOTcwLTAxLTAxIiwgIjQiLCBu
dWxsLCAyKSBpcyAiMTk3MC0wMS0wOSIKK1BBU1Mgc3RlcERvd24oIjE5NzAtMDEtMDEiLCAiNCIs
IG51bGwsIDMpIGlzICIxOTY5LTEyLTIwIgorU3RlcD1hbnkKK1BBU1Mgc3RlcFVwKCIyMDEwLTAy
LTEwIiwgImFueSIsIG51bGwpIGlzICIyMDEwLTAyLTEwIgorUEFTUyBzdGVwRG93bigiMjAxMC0w
Mi0xMCIsICJhbnkiLCBudWxsKSBpcyAiMjAxMC0wMi0xMCIKK092ZXJmbG93L3VuZGVyZmxvdwor
UEFTUyBzdGVwVXAoIjIwMTAtMDItMTAiLCAiMy40MDI4MjM0NmUrMzgiLCBudWxsKSBpcyAiMjc1
NzYwLTA5LTEzIgorUEFTUyBzdGVwRG93bigiMjAxMC0wMi0xMCIsICIzLjQwMjgyMzQ2ZSszOCIs
IG51bGwpIGlzICIxOTcwLTAxLTAxIgorUEFTUyBzdGVwVXAoIjIwMTAtMDItMTAiLCAiMSIsICIy
MDEwLTAyLTEwIikgaXMgIjIwMTAtMDItMTAiCitQQVNTIHN0ZXBEb3duKCIyMDEwLTAyLTEwIiwg
IjEiLCAiMjAxMC0wMi0xMCIpIGlzICIyMDEwLTAyLTEwIgorc3RlcERvd24oKS9zdGVwVXAoKSBm
b3Igc3RlcE1pc21hdGNoIHZhbHVlcworUEFTUyBzdGVwRG93bigiMjAxMC0wMi0xMCIsICIzIiwg
IjIwMTAtMDItMDYiKSBpcyAiMjAxMC0wMi0wOSIKK1BBU1Mgc3RlcFVwKCIxOTcwLTAxLTAyIiwg
IjIiLCAiIikgaXMgIjE5NzAtMDEtMDMiCisKK0RhdGV0aW1lIHR5cGUKK2Z1bmN0aW9uIGFyZ3Vt
ZW50cyBhcmUgKHZhbHVlLCBzdGVwLCB7bWluIG9yIG1heH0sIFtzdGVwQ291bnRdKQorTm9ybWFs
IGNhc2VzCitQQVNTIHN0ZXBVcCgiMjAxMC0wMi0xMFQyMDoxM1oiLCBudWxsLCBudWxsKSBpcyAi
MjAxMC0wMi0xMFQyMDoxNFoiCitQQVNTIHN0ZXBEb3duKCIyMDEwLTAyLTEwVDIwOjEzWiIsIG51
bGwsIG51bGwpIGlzICIyMDEwLTAyLTEwVDIwOjEyWiIKK1BBU1Mgc3RlcFVwKCIyMDEwLTAyLTEw
VDIwOjEzWiIsIG51bGwsIG51bGwsIDEwKSBpcyAiMjAxMC0wMi0xMFQyMDoyM1oiCitQQVNTIHN0
ZXBEb3duKCIyMDEwLTAyLTEwVDIwOjEzWiIsIG51bGwsIG51bGwsIDExKSBpcyAiMjAxMC0wMi0x
MFQyMDowMloiCitQQVNTIHN0ZXBVcCgiMTk3MC0wMS0wMVQyMDoxM1oiLCAiNCIsIG51bGwsIDIp
IGlzICIxOTcwLTAxLTAxVDIwOjEzOjA4WiIKK1BBU1Mgc3RlcERvd24oIjE5NzAtMDEtMDFUMjA6
MTNaIiwgIjQiLCBudWxsLCAzKSBpcyAiMTk3MC0wMS0wMVQyMDoxMjo0OFoiCitTdGVwPWFueQor
UEFTUyBzdGVwVXAoIjIwMTAtMDItMTBUMjA6MTNaIiwgImFueSIsIG51bGwpIGlzICIyMDEwLTAy
LTEwVDIwOjEzWiIKK1BBU1Mgc3RlcERvd24oIjIwMTAtMDItMTBUMjA6MTNaIiwgImFueSIsIG51
bGwpIGlzICIyMDEwLTAyLTEwVDIwOjEzWiIKK092ZXJmbG93L3VuZGVyZmxvdworUEFTUyBzdGVw
VXAoIjIwMTAtMDItMTBUMjA6MTNaIiwgIjMuNDAyODIzNDZlKzM4IiwgbnVsbCkgaXMgIjI3NTc2
MC0wOS0xM1QwMDowMDowMC4wMDBaIgorUEFTUyBzdGVwRG93bigiMjAxMC0wMi0xMFQyMDoxM1oi
LCAiMy40MDI4MjM0NmUrMzgiLCBudWxsKSBpcyAiMTk3MC0wMS0wMVQwMDowMDowMC4wMDBaIgor
UEFTUyBzdGVwVXAoIjIwMTAtMDItMTBUMjA6MTNaIiwgIjEiLCAiMjAxMC0wMi0xMFQyMDoxM1oi
KSBpcyAiMjAxMC0wMi0xMFQyMDoxM1oiCitQQVNTIHN0ZXBEb3duKCIyMDEwLTAyLTEwVDIwOjEz
WiIsICIxIiwgIjIwMTAtMDItMTBUMjA6MTNaIikgaXMgIjIwMTAtMDItMTBUMjA6MTNaIgorc3Rl
cERvd24oKS9zdGVwVXAoKSBmb3Igc3RlcE1pc21hdGNoIHZhbHVlcworUEFTUyBzdGVwRG93bigi
MjAxMC0wMi0xMFQyMDoxM1oiLCAiMyIsICIyMDEwLTAyLTEwVDIwOjEyOjU2WiIpIGlzICIyMDEw
LTAyLTEwVDIwOjEyOjU5WiIKK1BBU1Mgc3RlcFVwKCIxOTcwLTAxLTAxVDAwOjEzWiIsICI3Iiwg
IiIpIGlzICIxOTcwLTAxLTAxVDAwOjEzOjA0WiIKKworRGF0ZXRpbWUtbG9jYWwgdHlwZQorZnVu
Y3Rpb24gYXJndW1lbnRzIGFyZSAodmFsdWUsIHN0ZXAsIHttaW4gb3IgbWF4fSwgW3N0ZXBDb3Vu
dF0pCitOb3JtYWwgY2FzZXMKK1BBU1Mgc3RlcFVwKCIyMDEwLTAyLTEwVDIwOjEzIiwgbnVsbCwg
bnVsbCkgaXMgIjIwMTAtMDItMTBUMjA6MTQiCitQQVNTIHN0ZXBEb3duKCIyMDEwLTAyLTEwVDIw
OjEzIiwgbnVsbCwgbnVsbCkgaXMgIjIwMTAtMDItMTBUMjA6MTIiCitQQVNTIHN0ZXBVcCgiMjAx
MC0wMi0xMFQyMDoxMyIsIG51bGwsIG51bGwsIDEwKSBpcyAiMjAxMC0wMi0xMFQyMDoyMyIKK1BB
U1Mgc3RlcERvd24oIjIwMTAtMDItMTBUMjA6MTMiLCBudWxsLCBudWxsLCAxMSkgaXMgIjIwMTAt
MDItMTBUMjA6MDIiCitQQVNTIHN0ZXBVcCgiMTk3MC0wMS0wMVQyMDoxMyIsICI0IiwgbnVsbCwg
MikgaXMgIjE5NzAtMDEtMDFUMjA6MTM6MDgiCitQQVNTIHN0ZXBEb3duKCIxOTcwLTAxLTAxVDIw
OjEzIiwgIjQiLCBudWxsLCAzKSBpcyAiMTk3MC0wMS0wMVQyMDoxMjo0OCIKK1N0ZXA9YW55CitQ
QVNTIHN0ZXBVcCgiMjAxMC0wMi0xMFQyMDoxMyIsICJhbnkiLCBudWxsKSBpcyAiMjAxMC0wMi0x
MFQyMDoxMyIKK1BBU1Mgc3RlcERvd24oIjIwMTAtMDItMTBUMjA6MTMiLCAiYW55IiwgbnVsbCkg
aXMgIjIwMTAtMDItMTBUMjA6MTMiCitPdmVyZmxvdy91bmRlcmZsb3cKK1BBU1Mgc3RlcFVwKCIy
MDEwLTAyLTEwVDIwOjEzIiwgIjMuNDAyODIzNDZlKzM4IiwgbnVsbCkgaXMgIjI3NTc2MC0wOS0x
M1QwMDowMDowMC4wMDAiCitQQVNTIHN0ZXBEb3duKCIyMDEwLTAyLTEwVDIwOjEzIiwgIjMuNDAy
ODIzNDZlKzM4IiwgbnVsbCkgaXMgIjE5NzAtMDEtMDFUMDA6MDA6MDAuMDAwIgorUEFTUyBzdGVw
VXAoIjIwMTAtMDItMTBUMjA6MTMiLCAiMSIsICIyMDEwLTAyLTEwVDIwOjEzIikgaXMgIjIwMTAt
MDItMTBUMjA6MTMiCitQQVNTIHN0ZXBEb3duKCIyMDEwLTAyLTEwVDIwOjEzIiwgIjEiLCAiMjAx
MC0wMi0xMFQyMDoxMyIpIGlzICIyMDEwLTAyLTEwVDIwOjEzIgorc3RlcERvd24oKS9zdGVwVXAo
KSBmb3Igc3RlcE1pc21hdGNoIHZhbHVlcworUEFTUyBzdGVwRG93bigiMjAxMC0wMi0xMFQyMDox
MyIsICIzIiwgIjIwMTAtMDItMTBUMjA6MTI6NTYiKSBpcyAiMjAxMC0wMi0xMFQyMDoxMjo1OSIK
K1BBU1Mgc3RlcFVwKCIxOTcwLTAxLTAxVDAwOjEzIiwgIjciLCAiIikgaXMgIjE5NzAtMDEtMDFU
MDA6MTM6MDQiCisKK01vbnRoIHR5cGUKK2Z1bmN0aW9uIGFyZ3VtZW50cyBhcmUgKHZhbHVlLCBz
dGVwLCB7bWluIG9yIG1heH0sIFtzdGVwQ291bnRdKQorTm9ybWFsIGNhc2VzCitQQVNTIHN0ZXBV
cCgiMjAxMC0wMiIsIG51bGwsIG51bGwpIGlzICIyMDEwLTAzIgorUEFTUyBzdGVwRG93bigiMjAx
MC0wMiIsIG51bGwsIG51bGwpIGlzICIyMDEwLTAxIgorUEFTUyBzdGVwVXAoIjIwMTAtMDIiLCBu
dWxsLCBudWxsLCAxMCkgaXMgIjIwMTAtMTIiCitQQVNTIHN0ZXBEb3duKCIyMDEwLTAyIiwgbnVs
bCwgbnVsbCwgMTEpIGlzICIyMDA5LTAzIgorUEFTUyBzdGVwVXAoIjE5NzAtMDEiLCAiNCIsIG51
bGwsIDIpIGlzICIxOTcwLTA5IgorUEFTUyBzdGVwRG93bigiMTk3MC0wMSIsICI0IiwgbnVsbCwg
MykgaXMgIjE5NjktMDEiCitTdGVwPWFueQorUEFTUyBzdGVwVXAoIjIwMTAtMDIiLCAiYW55Iiwg
bnVsbCkgaXMgIjIwMTAtMDIiCitQQVNTIHN0ZXBEb3duKCIyMDEwLTAyIiwgImFueSIsIG51bGwp
IGlzICIyMDEwLTAyIgorT3ZlcmZsb3cvdW5kZXJmbG93CitQQVNTIHN0ZXBVcCgiMjAxMC0wMiIs
ICIzLjQwMjgyMzQ2ZSszOCIsIG51bGwpIGlzICIyNzU3NjAtMDkiCitQQVNTIHN0ZXBEb3duKCIy
MDEwLTAyIiwgIjMuNDAyODIzNDZlKzM4IiwgbnVsbCkgaXMgIjE5NzAtMDEiCitQQVNTIHN0ZXBV
cCgiMjAxMC0wMiIsICIxIiwgIjIwMTAtMDIiKSBpcyAiMjAxMC0wMiIKK1BBU1Mgc3RlcERvd24o
IjIwMTAtMDIiLCAiMSIsICIyMDEwLTAyIikgaXMgIjIwMTAtMDIiCitzdGVwRG93bigpL3N0ZXBV
cCgpIGZvciBzdGVwTWlzbWF0Y2ggdmFsdWVzCitQQVNTIHN0ZXBEb3duKCIyMDEwLTAyIiwgIjMi
LCAiMjAwOS0xMCIpIGlzICIyMDEwLTAxIgorUEFTUyBzdGVwVXAoIjE5NzAtMDIiLCAiNCIsICIi
KSBpcyAiMTk3MC0wNSIKKworTnVtYmVyIHR5cGUKK2Z1bmN0aW9uIGFyZ3VtZW50cyBhcmUgKHZh
bHVlLCBzdGVwLCB7bWluIG9yIG1heH0sIFtzdGVwQ291bnRdKQorSW52YWxpZCB2YWx1ZQorUEFT
UyBzdGVwVXAoIiIsIG51bGwsIG51bGwpIGlzICIxIgorUEFTUyBzdGVwRG93bigiIiwgbnVsbCwg
bnVsbCkgaXMgIi0xIgorUEFTUyBzdGVwVXAoIiIsICJhbnkiLCBudWxsKSBpcyAiMCIKK1BBU1Mg
c3RlcERvd24oIiIsICJhbnkiLCBudWxsKSBpcyAiMCIKK1BBU1Mgc3RlcFVwKCIiLCAiZm9vIiwg
bnVsbCkgaXMgIjEiCitQQVNTIHN0ZXBEb3duKCIiLCAiZm9vIiwgbnVsbCkgaXMgIi0xIgorUEFT
UyBzdGVwVXAoImZvbyIsIG51bGwsIG51bGwpIGlzICIxIgorUEFTUyBzdGVwRG93bigiZm9vIiwg
bnVsbCwgbnVsbCkgaXMgIi0xIgorUEFTUyBzdGVwVXAoImZvbyIsICJhbnkiLCBudWxsKSBpcyAi
MCIKK1BBU1Mgc3RlcERvd24oImZvbyIsICJhbnkiLCBudWxsKSBpcyAiMCIKK1BBU1Mgc3RlcFVw
KCJmb28iLCAiZm9vIiwgbnVsbCkgaXMgIjEiCitQQVNTIHN0ZXBEb3duKCJmb28iLCAiZm9vIiwg
bnVsbCkgaXMgIi0xIgorTm9ybWFsIGNhc2VzCitQQVNTIHN0ZXBVcCgiMCIsIG51bGwsIG51bGwp
IGlzICIxIgorUEFTUyBzdGVwVXAoIjEiLCBudWxsLCBudWxsLCAyKSBpcyAiMyIKK1BBU1Mgc3Rl
cFVwKCIzIiwgbnVsbCwgbnVsbCwgLTEpIGlzICIyIgorUEFTUyBzdGVwRG93bigiMiIsIG51bGws
IG51bGwpIGlzICIxIgorUEFTUyBzdGVwRG93bigiMSIsIG51bGwsIG51bGwsIDIpIGlzICItMSIK
K1BBU1Mgc3RlcERvd24oIi0xIiwgbnVsbCwgbnVsbCwgLTEpIGlzICIwIgorSW52YWxpZCBzdGVw
IHZhbHVlCitQQVNTIHN0ZXBVcCgiMCIsICJmb28iLCBudWxsKSBpcyAiMSIKK1BBU1Mgc3RlcFVw
KCIxIiwgIjAiLCBudWxsKSBpcyAiMiIKK1BBU1Mgc3RlcFVwKCIyIiwgIi0xIiwgbnVsbCkgaXMg
IjMiCitTdGVwPWFueQorUEFTUyBzdGVwVXAoIjAiLCAiYW55IiwgbnVsbCkgaXMgIjAiCitQQVNT
IHN0ZXBEb3duKCIwIiwgImFueSIsIG51bGwpIGlzICIwIgorT3ZlcmZsb3cvdW5kZXJmbG93CitQ
QVNTIHN0ZXBEb3duKCIxIiwgIjEiLCAiMCIpIGlzICIwIgorUEFTUyBzdGVwRG93bigiMCIsICIx
IiwgIjAiKSBpcyAiMCIKK1BBU1Mgc3RlcERvd24oIjEiLCAiMSIsICIwIiwgMikgaXMgIjAiCitQ
QVNTIHN0ZXBEb3duKCIxIiwgIjMuNDAyODIzNDZlKzM4IiwgIiIsIDIpIGlzICItMy40MDI4MjM0
NmUrMzgiCitQQVNTIHN0ZXBVcCgiLTEiLCAiMSIsICIwIikgaXMgIjAiCitQQVNTIHN0ZXBVcCgi
MCIsICIxIiwgIjAiKSBpcyAiMCIKK1BBU1Mgc3RlcFVwKCItMSIsICIxIiwgIjAiLCAyKSBpcyAi
MCIKK1BBU1Mgc3RlcFVwKCIxIiwgIjMuNDAyODIzNDZlKzM4IiwgIiIsIDIpIGlzICIzLjQwMjgy
MzQ2ZSszOCIKK3N0ZXBEb3duKCkvc3RlcFVwKCkgZm9yIHN0ZXBNaXNtYXRjaCB2YWx1ZXMKK1BB
U1Mgc3RlcFVwKCIxIiwgIjIiLCAiIikgaXMgIjIiCitQQVNTIGlucHV0Lm1pbiA9ICIwIjsgc3Rl
cFVwKCI5IiwgIjEwIiwgIiIpIGlzICIxMCIKK1BBU1Mgc3RlcERvd24oIjE5IiwgIjEwIiwgIjAi
KSBpcyAiMTAiCitQQVNTIHN0ZXBVcCgiODkiLCAiMTAiLCAiOTkiKSBpcyAiOTAiCitIdWdlIHZh
bHVlIGFuZCBzbWFsbCBzdGVwCitQQVNTIGlucHV0Lm1pbiA9ICIiOyBzdGVwVXAoIjFlKzM4Iiwg
IjEiLCAiIiwgOTk5KSBpcyAiMWUrMzgiCitQQVNTIGlucHV0Lm1heCA9ICIiOyBzdGVwRG93bigi
MWUrMzgiLCAiMSIsICIiLCA5OTkpIGlzICIxZSszOCIKK0ZyYWN0aW9uYWwgbnVtYmVycworUEFT
UyBpbnB1dC5taW4gPSAiIjsgc3RlcFVwKCIwIiwgIjAuMzMzMzMzMzMzMzMzMzMzMzMiLCAiIiwg
MykgaXMgIjEiCitQQVNTIHN0ZXBVcCgiMSIsICIwLjEiLCAiIiwgMTApIGlzICIyIgorUEFTUyBp
bnB1dC5taW4gPSAiMCI7IHN0ZXBVcCgiMCIsICIwLjAwMzkyMTU2ODYyNzQ1MDk4MCIsICIxIiwg
MjU1KSBpcyAiMSIKK1JvdW5kaW5nCitQQVNTIHN0ZXBVcCgiNS4wMDUiLCAiMC4wMDUiLCAiIiwg
MikgaXMgIjUuMDE1IgorUEFTUyBzdGVwVXAoIjUuMDA1IiwgIjAuMDA1IiwgIiIsIDExKSBpcyAi
NS4wNiIKK1BBU1Mgc3RlcFVwKCI1LjAwNSIsICIwLjAwNSIsICIiLCAxMikgaXMgIjUuMDY1Igor
UEFTUyBzdGVwVXBFeHBsaWNpdEJvdW5kcygiNCIsICI5IiwgIjAuMDA1IiwgIjUuMDA1IiwgMikg
aXMgIjUuMDE1IgorUEFTUyBzdGVwVXBFeHBsaWNpdEJvdW5kcygiNCIsICI5IiwgIjAuMDA1Iiwg
IjUuMDA1IiwgMTEpIGlzICI1LjA2IgorUEFTUyBzdGVwVXBFeHBsaWNpdEJvdW5kcygiNCIsICI5
IiwgIjAuMDA1IiwgIjUuMDA1IiwgMTIpIGlzICI1LjA2NSIKKworUmFuZ2UgdHlwZQorZnVuY3Rp
b24gYXJndW1lbnRzIGFyZSAobWluLCBtYXgsIHN0ZXAsIHZhbHVlLCBbc3RlcENvdW50XSkKK1Vz
aW5nIHRoZSBkZWZhdWx0IHZhbHVlcworUEFTUyBzdGVwVXBFeHBsaWNpdEJvdW5kcyhudWxsLCBu
dWxsLCBudWxsLCAiIikgaXMgIjUxIgorUEFTUyBzdGVwRG93bkV4cGxpY2l0Qm91bmRzKG51bGws
IG51bGwsIG51bGwsICIiKSBpcyAiNDkiCitQQVNTIHN0ZXBVcEV4cGxpY2l0Qm91bmRzKG51bGws
IG51bGwsICJhbnkiLCAiIikgaXMgIjUxIgorUEFTUyBzdGVwRG93bkV4cGxpY2l0Qm91bmRzKG51
bGwsIG51bGwsICJhbnkiLCAiIikgaXMgIjQ5IgorUEFTUyBzdGVwVXBFeHBsaWNpdEJvdW5kcyhu
dWxsLCBudWxsLCAiZm9vIiwgIiIpIGlzICI1MSIKK1BBU1Mgc3RlcERvd25FeHBsaWNpdEJvdW5k
cyhudWxsLCBudWxsLCAiZm9vIiwgIiIpIGlzICI0OSIKK1BBU1Mgc3RlcFVwRXhwbGljaXRCb3Vu
ZHMobnVsbCwgbnVsbCwgbnVsbCwgImZvbyIpIGlzICI1MSIKK1BBU1Mgc3RlcERvd25FeHBsaWNp
dEJvdW5kcyhudWxsLCBudWxsLCBudWxsLCAiZm9vIikgaXMgIjQ5IgorUEFTUyBzdGVwVXBFeHBs
aWNpdEJvdW5kcyhudWxsLCBudWxsLCAiYW55IiwgImZvbyIpIGlzICI1MSIKK1BBU1Mgc3RlcERv
d25FeHBsaWNpdEJvdW5kcyhudWxsLCBudWxsLCAiYW55IiwgImZvbyIpIGlzICI0OSIKK1BBU1Mg
c3RlcFVwRXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwgImZvbyIsICJmb28iKSBpcyAiNTEiCitQ
QVNTIHN0ZXBEb3duRXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwgImZvbyIsICJmb28iKSBpcyAi
NDkiCitOb3JtYWwgY2FzZXMKK1BBU1Mgc3RlcFVwRXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwg
bnVsbCwgIjAiKSBpcyAiMSIKK1BBU1Mgc3RlcFVwRXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwg
bnVsbCwgIjEiLCAyKSBpcyAiMyIKK1BBU1Mgc3RlcFVwRXhwbGljaXRCb3VuZHMobnVsbCwgbnVs
bCwgbnVsbCwgIjMiLCAtMSkgaXMgIjIiCitQQVNTIHN0ZXBEb3duRXhwbGljaXRCb3VuZHMoIi0x
MDAiLCBudWxsLCBudWxsLCAiMiIpIGlzICIxIgorUEFTUyBzdGVwRG93bkV4cGxpY2l0Qm91bmRz
KCItMTAwIiwgbnVsbCwgbnVsbCwgIjEiLCAyKSBpcyAiLTEiCitQQVNTIHN0ZXBEb3duRXhwbGlj
aXRCb3VuZHMoIi0xMDAiLCBudWxsLCBudWxsLCAiLTEiLCAtMSkgaXMgIjAiCitJbnZhbGlkIHN0
ZXAgdmFsdWUKK1BBU1Mgc3RlcFVwRXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwgImZvbyIsICIw
IikgaXMgIjEiCitQQVNTIHN0ZXBVcEV4cGxpY2l0Qm91bmRzKG51bGwsIG51bGwsICIwIiwgIjEi
KSBpcyAiMiIKK1BBU1Mgc3RlcFVwRXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwgIi0xIiwgIjIi
KSBpcyAiMyIKK1BBU1Mgc3RlcERvd25FeHBsaWNpdEJvdW5kcyhudWxsLCBudWxsLCAiZm9vIiwg
IjEiKSBpcyAiMCIKK1BBU1Mgc3RlcERvd25FeHBsaWNpdEJvdW5kcyhudWxsLCBudWxsLCAiMCIs
ICIyIikgaXMgIjEiCitQQVNTIHN0ZXBEb3duRXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwgIi0x
IiwgIjMiKSBpcyAiMiIKK1N0ZXA9YW55CitQQVNTIHN0ZXBVcEV4cGxpY2l0Qm91bmRzKG51bGws
IG51bGwsICJhbnkiLCAiMSIpIGlzICIyIgorUEFTUyBzdGVwRG93bkV4cGxpY2l0Qm91bmRzKG51
bGwsIG51bGwsICJhbnkiLCAiMSIpIGlzICIwIgorT3ZlcmZsb3cvdW5kZXJmbG93CitQQVNTIHN0
ZXBVcEV4cGxpY2l0Qm91bmRzKG51bGwsICIxMDAiLCAiMSIsICI5OSIpIGlzICIxMDAiCitQQVNT
IHN0ZXBVcEV4cGxpY2l0Qm91bmRzKG51bGwsICIxMDAiLCAiMSIsICIxMDAiKSBpcyAiMTAwIgor
UEFTUyBpbnB1dC52YWx1ZSBpcyAiMTAwIgorUEFTUyBzdGVwVXBFeHBsaWNpdEJvdW5kcyhudWxs
LCAiMTAwIiwgIjEiLCAiOTkiLCAiMiIpIGlzICIxMDAiCitQQVNTIGlucHV0LnZhbHVlIGlzICIx
MDAiCitQQVNTIHN0ZXBEb3duRXhwbGljaXRCb3VuZHMoIjAiLCBudWxsLCAiMSIsICIxIikgaXMg
IjAiCitQQVNTIHN0ZXBEb3duRXhwbGljaXRCb3VuZHMoIjAiLCBudWxsLCAiMSIsICIwIikgaXMg
IjAiCitQQVNTIGlucHV0LnZhbHVlIGlzICIwIgorUEFTUyBzdGVwRG93bkV4cGxpY2l0Qm91bmRz
KCIwIiwgbnVsbCwgIjEiLCAiMSIsICIyIikgaXMgIjAiCitQQVNTIGlucHV0LnZhbHVlIGlzICIw
IgorUEFTUyBzdGVwRG93bkV4cGxpY2l0Qm91bmRzKG51bGwsIG51bGwsICIzLjQwMjgyMzQ2ZSsz
OCIsICIxIiwgIjIiKSBpcyAiMCIKK1BBU1Mgc3RlcFVwRXhwbGljaXRCb3VuZHMoLTEwMCwgMCwg
MSwgLTEpIGlzICIwIgorUEFTUyBzdGVwVXBFeHBsaWNpdEJvdW5kcyhudWxsLCAwLCAxLCAwKSBp
cyAiMCIKK1BBU1Mgc3RlcFVwRXhwbGljaXRCb3VuZHMoLTEwMCwgMCwgMSwgLTEsIDIpIGlzICIw
IgorUEFTUyBpbnB1dC52YWx1ZSBpcyAiMCIKK1BBU1Mgc3RlcFVwRXhwbGljaXRCb3VuZHMobnVs
bCwgbnVsbCwgIjMuNDAyODIzNDZlKzM4IiwgIjEiLCAiMiIpIGlzICIwIgorc3RlcERvd24oKS9z
dGVwVXAoKSBmb3Igc3RlcE1pc21hdGNoIHZhbHVlcworUEFTUyBzdGVwVXBFeHBsaWNpdEJvdW5k
cyhudWxsLCBudWxsLCAyLCAxKSBpcyAiNCIKK1BBU1Mgc3RlcFVwRXhwbGljaXRCb3VuZHMoMCwg
bnVsbCwgMTAsIDksIDkpIGlzICIxMDAiCitQQVNTIHN0ZXBEb3duRXhwbGljaXRCb3VuZHMoMCwg
bnVsbCwgMTAsIDE5KSBpcyAiMTAiCit2YWx1ZSArIHN0ZXAgaXMgPD0gbWF4LCBidXQgcm91bmRl
ZCByZXN1bHQgd291bGQgYmUgPiBtYXguCitQQVNTIHN0ZXBVcEV4cGxpY2l0Qm91bmRzKG51bGws
IDk5LCAxMCwgODkpIGlzICI5MCIKK0h1Z2UgdmFsdWUgYW5kIHNtYWxsIHN0ZXAKK1BBU1Mgc3Rl
cFVwRXhwbGljaXRCb3VuZHMoMCwgMWUzOCwgMSwgMWUzOCwgOTk5KSBpcyAiMWUrMzgiCitQQVNT
IHN0ZXBEb3duRXhwbGljaXRCb3VuZHMoMCwgMWUzOCwgMSwgMWUzOCwgOTk5KSBpcyAiMWUrMzgi
CitGcmFjdGlvbmFsIG51bWJlcnMKK1BBU1Mgc3RlcFVwRXhwbGljaXRCb3VuZHMobnVsbCwgbnVs
bCwgMC4zMzMzMzMzMzMzMzMzMzMzMywgMCwgMykgaXMgIjEiCitQQVNTIHN0ZXBVcEV4cGxpY2l0
Qm91bmRzKG51bGwsIG51bGwsIDAuMSwgMSkgaXMgIjEuMSIKK1BBU1Mgc3RlcFVwRXhwbGljaXRC
b3VuZHMobnVsbCwgbnVsbCwgMC4xLCAxLCA4KSBpcyAiMS44IgorUEFTUyBzdGVwVXBFeHBsaWNp
dEJvdW5kcyhudWxsLCBudWxsLCAwLjEsIDEsIDEwKSBpcyAiMiIKK1BBU1Mgc3RlcFVwRXhwbGlj
aXRCb3VuZHMoMCwgMSwgMC4wMDM5MjE1Njg2Mjc0NTA5ODAsIDAsIDI1NSkgaXMgIjEiCitQQVNT
IHN0ZXBEb3duRXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwgMC4xLCAxLCA4KSBpcyAiMC4yIgor
UEFTUyBzdGVwRG93bkV4cGxpY2l0Qm91bmRzKG51bGwsIG51bGwsIDAuMSwgMSkgaXMgIjAuOSIK
KworVGltZSB0eXBlCitmdW5jdGlvbiBhcmd1bWVudHMgYXJlICh2YWx1ZSwgc3RlcCwge21pbiBv
ciBtYXh9LCBbc3RlcENvdW50XSkKK05vcm1hbCBjYXNlcworUEFTUyBzdGVwVXAoIjIwOjEzIiwg
bnVsbCwgbnVsbCkgaXMgIjIwOjE0IgorUEFTUyBzdGVwRG93bigiMjA6MTMiLCBudWxsLCBudWxs
KSBpcyAiMjA6MTIiCitQQVNTIHN0ZXBVcCgiMjA6MTMiLCBudWxsLCBudWxsLCAxMCkgaXMgIjIw
OjIzIgorUEFTUyBzdGVwRG93bigiMjA6MTMiLCBudWxsLCBudWxsLCAxMSkgaXMgIjIwOjAyIgor
UEFTUyBzdGVwVXAoIjIwOjEzIiwgIjQiLCBudWxsLCAyKSBpcyAiMjA6MTM6MDgiCitQQVNTIHN0
ZXBEb3duKCIyMDoxMyIsICI0IiwgbnVsbCwgMykgaXMgIjIwOjEyOjQ4IgorU3RlcD1hbnkKK1BB
U1Mgc3RlcFVwKCIyMDoxMyIsICJhbnkiLCBudWxsKSBpcyAiMjA6MTMiCitQQVNTIHN0ZXBEb3du
KCIyMDoxMyIsICJhbnkiLCBudWxsKSBpcyAiMjA6MTMiCitPdmVyZmxvdy91bmRlcmZsb3cKK1BB
U1Mgc3RlcFVwKCIyMDoxMyIsICIzLjQwMjgyMzQ2ZSszOCIsIG51bGwpIGlzICIyMzo1OTo1OS45
OTkiCitQQVNTIHN0ZXBEb3duKCIyMDoxMyIsICIzLjQwMjgyMzQ2ZSszOCIsIG51bGwpIGlzICIw
MDowMDowMC4wMDAiCitQQVNTIHN0ZXBVcCgiMjA6MTMiLCAiMSIsICIyMDoxMyIpIGlzICIyMDox
MyIKK1BBU1Mgc3RlcERvd24oIjIwOjEzIiwgIjEiLCAiMjA6MTMiKSBpcyAiMjA6MTMiCitQQVNT
IHN0ZXBVcCgiMjM6NTkiLCBudWxsLCBudWxsKSBpcyAiMjM6NTkiCitQQVNTIHN0ZXBEb3duKCIw
MDowMCIsIG51bGwsIG51bGwpIGlzICIwMDowMCIKK3N0ZXBEb3duKCkvc3RlcFVwKCkgZm9yIHN0
ZXBNaXNtYXRjaCB2YWx1ZXMKK1BBU1Mgc3RlcERvd24oIjIwOjEzIiwgIjMiLCAiMjA6MTI6NTYi
KSBpcyAiMjA6MTI6NTkiCitQQVNTIHN0ZXBVcCgiMDA6MTMiLCAiNyIsICIiKSBpcyAiMDA6MTM6
MDQiCisKK1dlZWsgdHlwZQorZnVuY3Rpb24gYXJndW1lbnRzIGFyZSAodmFsdWUsIHN0ZXAsIHtt
aW4gb3IgbWF4fSwgW3N0ZXBDb3VudF0pCitOb3JtYWwgY2FzZXMKK1BBU1Mgc3RlcFVwKCIyMDEw
LVcwMiIsIG51bGwsIG51bGwpIGlzICIyMDEwLVcwMyIKK1BBU1Mgc3RlcERvd24oIjIwMTAtVzAy
IiwgbnVsbCwgbnVsbCkgaXMgIjIwMTAtVzAxIgorUEFTUyBzdGVwVXAoIjIwMTAtVzAyIiwgbnVs
bCwgbnVsbCwgMTApIGlzICIyMDEwLVcxMiIKK1BBU1Mgc3RlcERvd24oIjIwMTAtVzAyIiwgbnVs
bCwgbnVsbCwgMTEpIGlzICIyMDA5LVc0NCIKK1BBU1Mgc3RlcFVwKCIxOTcwLVcwMSIsICI0Iiwg
bnVsbCwgMikgaXMgIjE5NzAtVzA5IgorUEFTUyBzdGVwRG93bigiMTk3MC1XMDEiLCAiNCIsIG51
bGwsIDMpIGlzICIxOTY5LVc0MSIKK1N0ZXA9YW55CitQQVNTIHN0ZXBVcCgiMjAxMC1XMDIiLCAi
YW55IiwgbnVsbCkgaXMgIjIwMTAtVzAyIgorUEFTUyBzdGVwRG93bigiMjAxMC1XMDIiLCAiYW55
IiwgbnVsbCkgaXMgIjIwMTAtVzAyIgorT3ZlcmZsb3cvdW5kZXJmbG93CitQQVNTIHN0ZXBVcCgi
MjAxMC1XMDIiLCAiMy40MDI4MjM0NmUrMzgiLCBudWxsKSBpcyAiMjc1NzYwLVczNyIKK1BBU1Mg
c3RlcERvd24oIjIwMTAtVzAyIiwgIjMuNDAyODIzNDZlKzM4IiwgbnVsbCkgaXMgIjE5NzAtVzAx
IgorUEFTUyBzdGVwVXAoIjIwMTAtVzAyIiwgIjEiLCAiMjAxMC1XMDIiKSBpcyAiMjAxMC1XMDIi
CitQQVNTIHN0ZXBEb3duKCIyMDEwLVcwMiIsICIxIiwgIjIwMTAtVzAyIikgaXMgIjIwMTAtVzAy
Igorc3RlcERvd24oKS9zdGVwVXAoKSBmb3Igc3RlcE1pc21hdGNoIHZhbHVlcworUEFTUyBzdGVw
RG93bigiMjAxMC1XMDIiLCAiMiIsICIyMDA5LVc1MiIpIGlzICIyMDEwLVcwMSIKK1BBU1Mgc3Rl
cFVwKCIxOTcwLVcwMiIsICI0IiwgIiIpIGlzICIxOTcwLVcwNSIKKworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvaW5wdXQtc3RlcHVwLXN0ZXBkb3duLWZyb20tcmVuZGVyZXIuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW5wdXQtc3RlcHVwLXN0ZXBkb3duLWZyb20tcmVuZGVy
ZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5hNGZmZmZkYzhlZTYwMDJkNTNkN2FiMjE5ZjkzMWU3MDg5ZDU0
NDVkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9pbnB1dC1zdGVw
dXAtc3RlcGRvd24tZnJvbS1yZW5kZXJlci5odG1sCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRl
c3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlv
biI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRl
c3RzL2lucHV0LXN0ZXB1cC1zdGVwZG93bi1mcm9tLXJlbmRlcmVyLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9zY3JpcHQtdGVzdHMvaW5wdXQtc3RlcHVwLXN0ZXBkb3duLWZyb20tcmVuZGVyZXIuanMgYi9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9pbnB1dC1zdGVwdXAtc3RlcGRvd24t
ZnJvbS1yZW5kZXJlci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MzQwNzM0NGQxOTY5OWY4YmM5ZjYyNzI3MjUy
Y2UyMjk3M2MxZWEyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9z
Y3JpcHQtdGVzdHMvaW5wdXQtc3RlcHVwLXN0ZXBkb3duLWZyb20tcmVuZGVyZXIuanMKQEAgLTAs
MCArMSwzNTYgQEAKK2Rlc2NyaXB0aW9uKCdDaGVjayBzdGVwVXAoKSBhbmQgc3RlcERvd24oKSBm
b3IgPGlucHV0PiBmcm9tIHJlbmRlcmVyLiBObyBjYXNlcyBvZiBlbXB0eSBpbml0aWFsIHZhbHVl
cyBmb3IgdHlwZT1kYXRlLCBkYXRldGltZSwgZGF0ZXRpbWUtbG9jYWwsIG1vbnRoLCB0aW1lLCB3
ZWVrLicpOworCit2YXIgaW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpOwor
dmFyIGludmFsaWRTdGF0ZUVyciA9ICciRXJyb3I6IElOVkFMSURfU1RBVEVfRVJSOiBET00gRXhj
ZXB0aW9uIDExIic7CisKK2Z1bmN0aW9uIHNlbmRLZXkoa2V5TmFtZSkgeworICAgIHZhciBldmVu
dCA9IGRvY3VtZW50LmNyZWF0ZUV2ZW50KCdLZXlib2FyZEV2ZW50Jyk7CisgICAgZXZlbnQuaW5p
dEtleWJvYXJkRXZlbnQoJ2tleWRvd24nLCB0cnVlLCB0cnVlLCBkb2N1bWVudC5kZWZhdWx0Vmll
dywga2V5TmFtZSk7CisgICAgaW5wdXQuZGlzcGF0Y2hFdmVudChldmVudCk7Cit9CisKK2Z1bmN0
aW9uIHNldElucHV0QXR0cmlidXRlcyhtaW4sIG1heCwgc3RlcCwgdmFsdWUpIHsKKyAgICBpbnB1
dC5taW4gPSBtaW47CisgICAgaW5wdXQubWF4ID0gbWF4OworICAgIGlucHV0LnN0ZXAgPSBzdGVw
OworICAgIGlucHV0LnZhbHVlID0gdmFsdWU7Cit9CisKK2Z1bmN0aW9uIHN0ZXBVcCh2YWx1ZSwg
c3RlcCwgbWF4LCBvcHRpb25hbFN0ZXBDb3VudCkgeworICAgIHNldElucHV0QXR0cmlidXRlcyhu
dWxsLCBtYXgsIHN0ZXAsIHZhbHVlKTsKKyAgICBpZiAodHlwZW9mIG9wdGlvbmFsU3RlcENvdW50
ICE9ICJ1bmRlZmluZWQiKQorICAgICAgICBpZiAob3B0aW9uYWxTdGVwQ291bnQgPCAwKQorICAg
ICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCAtb3B0aW9uYWxTdGVwQ291bnQ7IGkrKykKKyAg
ICAgICAgICAgICAgICBzZW5kS2V5KCdEb3duJyk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAg
IGZvciAodmFyIGkgPSAwOyBpIDwgb3B0aW9uYWxTdGVwQ291bnQ7IGkrKykKKyAgICAgICAgICAg
ICAgICBzZW5kS2V5KCdVcCcpOworICAgIGVsc2UKKyAgICAgICAgc2VuZEtleSgnVXAnKTsKKyAg
ICByZXR1cm4gaW5wdXQudmFsdWU7Cit9CisKK2Z1bmN0aW9uIHN0ZXBEb3duKHZhbHVlLCBzdGVw
LCBtaW4sIG9wdGlvbmFsU3RlcENvdW50KSB7CisgICAgc2V0SW5wdXRBdHRyaWJ1dGVzKG1pbiwg
bnVsbCwgc3RlcCwgdmFsdWUpOworICAgIGlmICh0eXBlb2Ygb3B0aW9uYWxTdGVwQ291bnQgIT0g
InVuZGVmaW5lZCIpCisgICAgICAgIGlmIChvcHRpb25hbFN0ZXBDb3VudCA8IDApCisgICAgICAg
ICAgICBmb3IgKHZhciBpID0gMDsgaSA8IC1vcHRpb25hbFN0ZXBDb3VudDsgaSsrKQorICAgICAg
ICAgICAgICAgIHNlbmRLZXkoJ1VwJyk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGZvciAo
dmFyIGkgPSAwOyBpIDwgb3B0aW9uYWxTdGVwQ291bnQ7IGkrKykKKyAgICAgICAgICAgICAgICBz
ZW5kS2V5KCdEb3duJyk7CisgICAgZWxzZQorICAgICAgICBzZW5kS2V5KCdEb3duJyk7CisgICAg
cmV0dXJuIGlucHV0LnZhbHVlOworfQorCisvLyBSYW5nZSB2YWx1ZSBnZXRzIGF1dG9tYXRpY2Fs
bHkgc2hpZnRlZCBiYXNlZCBvbiBib3VuZHMsCisvLyBTbyBhbHdheXMgc2V0IHRoZSBtaW4gYW5k
IG1heCBmaXJzdCB0byBnZXQgZXhwZWN0ZWQgYmVoYXZpb3IKKworZnVuY3Rpb24gc3RlcFVwRXhw
bGljaXRCb3VuZHMobWluLCBtYXgsIHN0ZXAsIHZhbHVlLCBzdGVwQ291bnQpIHsKKyAgICBzZXRJ
bnB1dEF0dHJpYnV0ZXMobWluLCBtYXgsIHN0ZXAsIHZhbHVlKTsKKyAgICBpZiAodHlwZW9mIHN0
ZXBDb3VudCAhPT0gJ3VuZGVmaW5lZCcpCisgICAgICAgIGlmIChzdGVwQ291bnQgPCAwKSB7Cisg
ICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IC1zdGVwQ291bnQ7IGkrKykKKyAgICAgICAg
ICAgICAgICBzZW5kS2V5KCdEb3duJyk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBm
b3IgKHZhciBpID0gMDsgaSA8IHN0ZXBDb3VudDsgaSsrKQorICAgICAgICAgICAgICAgIHNlbmRL
ZXkoJ1VwJyk7CisgICAgICAgIH0KKyAgICBlbHNlCisgICAgICAgIHNlbmRLZXkoJ1VwJyk7Cisg
ICAgcmV0dXJuIGlucHV0LnZhbHVlOworfQorCitmdW5jdGlvbiBzdGVwRG93bkV4cGxpY2l0Qm91
bmRzKG1pbiwgbWF4LCBzdGVwLCB2YWx1ZSwgc3RlcENvdW50KSB7CisgICAgc2V0SW5wdXRBdHRy
aWJ1dGVzKG1pbiwgbWF4LCBzdGVwLCB2YWx1ZSk7CisgICAgaWYgKHR5cGVvZiBzdGVwQ291bnQg
IT09ICd1bmRlZmluZWQnKQorICAgICAgICBpZiAoc3RlcENvdW50IDwgMCkgeworICAgICAgICAg
ICAgZm9yICh2YXIgaSA9IDA7IGkgPCAtc3RlcENvdW50OyBpKyspCisgICAgICAgICAgICAgICAg
c2VuZEtleSgnVXAnKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGZvciAodmFyIGkg
PSAwOyBpIDwgc3RlcENvdW50OyBpKyspCisgICAgICAgICAgICAgICAgc2VuZEtleSgnRG93bicp
OworICAgICAgICB9CisgICAgZWxzZQorICAgICAgICBzZW5kS2V5KCdEb3duJyk7CisgICAgcmV0
dXJuIGlucHV0LnZhbHVlOworfQorCitmdW5jdGlvbiBzdGVwTWlzbWF0Y2hGb3IodmFsdWUsIHN0
ZXAsIG1pbikgeworICAgIGlucHV0Lm1pbiA9IG1pbjsKKyAgICBpbnB1dC5zdGVwID0gc3RlcDsK
KyAgICBpbnB1dC52YWx1ZSA9IHZhbHVlOworICAgIHJldHVybiBpbnB1dC52YWxpZGl0eS5zdGVw
TWlzbWF0Y2g7Cit9CisKK2RlYnVnKCdEYXRlIHR5cGUnKTsKK2lucHV0LnR5cGUgPSAnZGF0ZSc7
CitkZWJ1ZygnZnVuY3Rpb24gYXJndW1lbnRzIGFyZSAodmFsdWUsIHN0ZXAsIHttaW4gb3IgbWF4
fSwgW3N0ZXBDb3VudF0pJyk7CitkZWJ1ZygnTm9ybWFsIGNhc2VzJyk7CitzaG91bGRCZSgnc3Rl
cFVwKCIyMDEwLTAyLTEwIiwgbnVsbCwgbnVsbCknLCAnIjIwMTAtMDItMTEiJyk7CitzaG91bGRC
ZSgnc3RlcERvd24oIjIwMTAtMDItMTAiLCBudWxsLCBudWxsKScsICciMjAxMC0wMi0wOSInKTsK
K3Nob3VsZEJlKCdzdGVwVXAoIjIwMTAtMDItMTAiLCBudWxsLCBudWxsLCAxMCknLCAnIjIwMTAt
MDItMjAiJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjIwMTAtMDItMTAiLCBudWxsLCBudWxsLCAx
MSknLCAnIjIwMTAtMDEtMzAiJyk7CitzaG91bGRCZSgnc3RlcFVwKCIxOTcwLTAxLTAxIiwgIjQi
LCBudWxsLCAyKScsICciMTk3MC0wMS0wOSInKTsKK3Nob3VsZEJlKCdzdGVwRG93bigiMTk3MC0w
MS0wMSIsICI0IiwgbnVsbCwgMyknLCAnIjE5NjktMTItMjAiJyk7CitkZWJ1ZygnU3RlcD1hbnkn
KTsKK3Nob3VsZEJlKCdzdGVwVXAoIjIwMTAtMDItMTAiLCAiYW55IiwgbnVsbCknLCAnIjIwMTAt
MDItMTAiJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjIwMTAtMDItMTAiLCAiYW55IiwgbnVsbCkn
LCAnIjIwMTAtMDItMTAiJyk7CitkZWJ1ZygnT3ZlcmZsb3cvdW5kZXJmbG93Jyk7CitzaG91bGRC
ZSgnc3RlcFVwKCIyMDEwLTAyLTEwIiwgIjMuNDAyODIzNDZlKzM4IiwgbnVsbCknLCciMjc1NzYw
LTA5LTEzIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIyMDEwLTAyLTEwIiwgIjMuNDAyODIzNDZl
KzM4IiwgbnVsbCknLCAnIjE5NzAtMDEtMDEiJyk7CitzaG91bGRCZSgnc3RlcFVwKCIyMDEwLTAy
LTEwIiwgIjEiLCAiMjAxMC0wMi0xMCIpJywgJyIyMDEwLTAyLTEwIicpOworc2hvdWxkQmUoJ3N0
ZXBEb3duKCIyMDEwLTAyLTEwIiwgIjEiLCAiMjAxMC0wMi0xMCIpJywgJyIyMDEwLTAyLTEwIicp
OworZGVidWcoJ3N0ZXBEb3duKCkvc3RlcFVwKCkgZm9yIHN0ZXBNaXNtYXRjaCB2YWx1ZXMnKTsK
K3Nob3VsZEJlKCdzdGVwRG93bigiMjAxMC0wMi0xMCIsICIzIiwgIjIwMTAtMDItMDYiKScsICci
MjAxMC0wMi0wOSInKTsKK3Nob3VsZEJlKCdzdGVwVXAoIjE5NzAtMDEtMDIiLCAiMiIsICIiKScs
ICciMTk3MC0wMS0wMyInKTsKKworZGVidWcoJycpOworZGVidWcoJ0RhdGV0aW1lIHR5cGUnKTsK
K2lucHV0LnR5cGUgPSAnZGF0ZXRpbWUnOworZGVidWcoJ2Z1bmN0aW9uIGFyZ3VtZW50cyBhcmUg
KHZhbHVlLCBzdGVwLCB7bWluIG9yIG1heH0sIFtzdGVwQ291bnRdKScpOworZGVidWcoJ05vcm1h
bCBjYXNlcycpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMjAxMC0wMi0xMFQyMDoxM1oiLCBudWxsLCBu
dWxsKScsICciMjAxMC0wMi0xMFQyMDoxNFoiJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjIwMTAt
MDItMTBUMjA6MTNaIiwgbnVsbCwgbnVsbCknLCAnIjIwMTAtMDItMTBUMjA6MTJaIicpOworc2hv
dWxkQmUoJ3N0ZXBVcCgiMjAxMC0wMi0xMFQyMDoxM1oiLCBudWxsLCBudWxsLCAxMCknLCAnIjIw
MTAtMDItMTBUMjA6MjNaIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIyMDEwLTAyLTEwVDIwOjEz
WiIsIG51bGwsIG51bGwsIDExKScsICciMjAxMC0wMi0xMFQyMDowMloiJyk7CitzaG91bGRCZSgn
c3RlcFVwKCIxOTcwLTAxLTAxVDIwOjEzWiIsICI0IiwgbnVsbCwgMiknLCAnIjE5NzAtMDEtMDFU
MjA6MTM6MDhaIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIxOTcwLTAxLTAxVDIwOjEzWiIsICI0
IiwgbnVsbCwgMyknLCAnIjE5NzAtMDEtMDFUMjA6MTI6NDhaIicpOworZGVidWcoJ1N0ZXA9YW55
Jyk7CitzaG91bGRCZSgnc3RlcFVwKCIyMDEwLTAyLTEwVDIwOjEzWiIsICJhbnkiLCBudWxsKScs
ICciMjAxMC0wMi0xMFQyMDoxM1oiJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjIwMTAtMDItMTBU
MjA6MTNaIiwgImFueSIsIG51bGwpJywgJyIyMDEwLTAyLTEwVDIwOjEzWiInKTsKK2RlYnVnKCdP
dmVyZmxvdy91bmRlcmZsb3cnKTsKK3Nob3VsZEJlKCdzdGVwVXAoIjIwMTAtMDItMTBUMjA6MTNa
IiwgIjMuNDAyODIzNDZlKzM4IiwgbnVsbCknLCAnIjI3NTc2MC0wOS0xM1QwMDowMDowMC4wMDBa
IicpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIyMDEwLTAyLTEwVDIwOjEzWiIsICIzLjQwMjgyMzQ2
ZSszOCIsIG51bGwpJywgJyIxOTcwLTAxLTAxVDAwOjAwOjAwLjAwMFoiJyk7CitzaG91bGRCZSgn
c3RlcFVwKCIyMDEwLTAyLTEwVDIwOjEzWiIsICIxIiwgIjIwMTAtMDItMTBUMjA6MTNaIiknLCAn
IjIwMTAtMDItMTBUMjA6MTNaIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIyMDEwLTAyLTEwVDIw
OjEzWiIsICIxIiwgIjIwMTAtMDItMTBUMjA6MTNaIiknLCAnIjIwMTAtMDItMTBUMjA6MTNaIicp
OworZGVidWcoJ3N0ZXBEb3duKCkvc3RlcFVwKCkgZm9yIHN0ZXBNaXNtYXRjaCB2YWx1ZXMnKTsK
K3Nob3VsZEJlKCdzdGVwRG93bigiMjAxMC0wMi0xMFQyMDoxM1oiLCAiMyIsICIyMDEwLTAyLTEw
VDIwOjEyOjU2WiIpJywgJyIyMDEwLTAyLTEwVDIwOjEyOjU5WiInKTsKK3Nob3VsZEJlKCdzdGVw
VXAoIjE5NzAtMDEtMDFUMDA6MTNaIiwgIjciLCAiIiknLCAnIjE5NzAtMDEtMDFUMDA6MTM6MDRa
IicpOworCitkZWJ1ZygnJyk7CitkZWJ1ZygnRGF0ZXRpbWUtbG9jYWwgdHlwZScpOworaW5wdXQu
dHlwZSA9ICdkYXRldGltZS1sb2NhbCc7CitkZWJ1ZygnZnVuY3Rpb24gYXJndW1lbnRzIGFyZSAo
dmFsdWUsIHN0ZXAsIHttaW4gb3IgbWF4fSwgW3N0ZXBDb3VudF0pJyk7CitkZWJ1ZygnTm9ybWFs
IGNhc2VzJyk7CitzaG91bGRCZSgnc3RlcFVwKCIyMDEwLTAyLTEwVDIwOjEzIiwgbnVsbCwgbnVs
bCknLCAnIjIwMTAtMDItMTBUMjA6MTQiJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjIwMTAtMDIt
MTBUMjA6MTMiLCBudWxsLCBudWxsKScsICciMjAxMC0wMi0xMFQyMDoxMiInKTsKK3Nob3VsZEJl
KCdzdGVwVXAoIjIwMTAtMDItMTBUMjA6MTMiLCBudWxsLCBudWxsLCAxMCknLCAnIjIwMTAtMDIt
MTBUMjA6MjMiJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjIwMTAtMDItMTBUMjA6MTMiLCBudWxs
LCBudWxsLCAxMSknLCAnIjIwMTAtMDItMTBUMjA6MDIiJyk7CitzaG91bGRCZSgnc3RlcFVwKCIx
OTcwLTAxLTAxVDIwOjEzIiwgIjQiLCBudWxsLCAyKScsICciMTk3MC0wMS0wMVQyMDoxMzowOCIn
KTsKK3Nob3VsZEJlKCdzdGVwRG93bigiMTk3MC0wMS0wMVQyMDoxMyIsICI0IiwgbnVsbCwgMykn
LCAnIjE5NzAtMDEtMDFUMjA6MTI6NDgiJyk7CitkZWJ1ZygnU3RlcD1hbnknKTsKK3Nob3VsZEJl
KCdzdGVwVXAoIjIwMTAtMDItMTBUMjA6MTMiLCAiYW55IiwgbnVsbCknLCAnIjIwMTAtMDItMTBU
MjA6MTMiJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjIwMTAtMDItMTBUMjA6MTMiLCAiYW55Iiwg
bnVsbCknLCAnIjIwMTAtMDItMTBUMjA6MTMiJyk7CitkZWJ1ZygnT3ZlcmZsb3cvdW5kZXJmbG93
Jyk7CitzaG91bGRCZSgnc3RlcFVwKCIyMDEwLTAyLTEwVDIwOjEzIiwgIjMuNDAyODIzNDZlKzM4
IiwgbnVsbCknLCAnIjI3NTc2MC0wOS0xM1QwMDowMDowMC4wMDAiJyk7CitzaG91bGRCZSgnc3Rl
cERvd24oIjIwMTAtMDItMTBUMjA6MTMiLCAiMy40MDI4MjM0NmUrMzgiLCBudWxsKScsICciMTk3
MC0wMS0wMVQwMDowMDowMC4wMDAiJyk7CitzaG91bGRCZSgnc3RlcFVwKCIyMDEwLTAyLTEwVDIw
OjEzIiwgIjEiLCAiMjAxMC0wMi0xMFQyMDoxMyIpJywgJyIyMDEwLTAyLTEwVDIwOjEzIicpOwor
c2hvdWxkQmUoJ3N0ZXBEb3duKCIyMDEwLTAyLTEwVDIwOjEzIiwgIjEiLCAiMjAxMC0wMi0xMFQy
MDoxMyIpJywgJyIyMDEwLTAyLTEwVDIwOjEzIicpOworZGVidWcoJ3N0ZXBEb3duKCkvc3RlcFVw
KCkgZm9yIHN0ZXBNaXNtYXRjaCB2YWx1ZXMnKTsKK3Nob3VsZEJlKCdzdGVwRG93bigiMjAxMC0w
Mi0xMFQyMDoxMyIsICIzIiwgIjIwMTAtMDItMTBUMjA6MTI6NTYiKScsICciMjAxMC0wMi0xMFQy
MDoxMjo1OSInKTsKK3Nob3VsZEJlKCdzdGVwVXAoIjE5NzAtMDEtMDFUMDA6MTMiLCAiNyIsICIi
KScsICciMTk3MC0wMS0wMVQwMDoxMzowNCInKTsKKworZGVidWcoJycpOworZGVidWcoJ01vbnRo
IHR5cGUnKTsKK2lucHV0LnR5cGUgPSAnbW9udGgnOworZGVidWcoJ2Z1bmN0aW9uIGFyZ3VtZW50
cyBhcmUgKHZhbHVlLCBzdGVwLCB7bWluIG9yIG1heH0sIFtzdGVwQ291bnRdKScpOworZGVidWco
J05vcm1hbCBjYXNlcycpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMjAxMC0wMiIsIG51bGwsIG51bGwp
JywgJyIyMDEwLTAzIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIyMDEwLTAyIiwgbnVsbCwgbnVs
bCknLCAnIjIwMTAtMDEiJyk7CitzaG91bGRCZSgnc3RlcFVwKCIyMDEwLTAyIiwgbnVsbCwgbnVs
bCwgMTApJywgJyIyMDEwLTEyIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIyMDEwLTAyIiwgbnVs
bCwgbnVsbCwgMTEpJywgJyIyMDA5LTAzIicpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMTk3MC0wMSIs
ICI0IiwgbnVsbCwgMiknLCAnIjE5NzAtMDkiJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjE5NzAt
MDEiLCAiNCIsIG51bGwsIDMpJywgJyIxOTY5LTAxIicpOworZGVidWcoJ1N0ZXA9YW55Jyk7Citz
aG91bGRCZSgnc3RlcFVwKCIyMDEwLTAyIiwgImFueSIsIG51bGwpJywgJyIyMDEwLTAyIicpOwor
c2hvdWxkQmUoJ3N0ZXBEb3duKCIyMDEwLTAyIiwgImFueSIsIG51bGwpJywgJyIyMDEwLTAyIicp
OworZGVidWcoJ092ZXJmbG93L3VuZGVyZmxvdycpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMjAxMC0w
MiIsICIzLjQwMjgyMzQ2ZSszOCIsIG51bGwpJywgJyIyNzU3NjAtMDkiJyk7CitzaG91bGRCZSgn
c3RlcERvd24oIjIwMTAtMDIiLCAiMy40MDI4MjM0NmUrMzgiLCBudWxsKScsICciMTk3MC0wMSIn
KTsKK3Nob3VsZEJlKCdzdGVwVXAoIjIwMTAtMDIiLCAiMSIsICIyMDEwLTAyIiknLCAnIjIwMTAt
MDIiJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjIwMTAtMDIiLCAiMSIsICIyMDEwLTAyIiknLCAn
IjIwMTAtMDIiJyk7CitkZWJ1Zygnc3RlcERvd24oKS9zdGVwVXAoKSBmb3Igc3RlcE1pc21hdGNo
IHZhbHVlcycpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIyMDEwLTAyIiwgIjMiLCAiMjAwOS0xMCIp
JywgJyIyMDEwLTAxIicpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMTk3MC0wMiIsICI0IiwgIiIpJywg
JyIxOTcwLTA1IicpOworCitkZWJ1ZygnJyk7CitkZWJ1ZygnTnVtYmVyIHR5cGUnKTsKK2lucHV0
LnR5cGUgPSAnbnVtYmVyJzsKK2RlYnVnKCdmdW5jdGlvbiBhcmd1bWVudHMgYXJlICh2YWx1ZSwg
c3RlcCwge21pbiBvciBtYXh9LCBbc3RlcENvdW50XSknKTsKK2RlYnVnKCdJbnZhbGlkIHZhbHVl
Jyk7CitzaG91bGRCZSgnc3RlcFVwKCIiLCBudWxsLCBudWxsKScsICciMSInKTsKK3Nob3VsZEJl
KCdzdGVwRG93bigiIiwgbnVsbCwgbnVsbCknLCAnIi0xIicpOworc2hvdWxkQmUoJ3N0ZXBVcCgi
IiwgImFueSIsIG51bGwpJywgJyIwIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIiLCAiYW55Iiwg
bnVsbCknLCAnIjAiJyk7CitzaG91bGRCZSgnc3RlcFVwKCIiLCAiZm9vIiwgbnVsbCknLCAnIjEi
Jyk7CitzaG91bGRCZSgnc3RlcERvd24oIiIsICJmb28iLCBudWxsKScsICciLTEiJyk7CitzaG91
bGRCZSgnc3RlcFVwKCJmb28iLCBudWxsLCBudWxsKScsICciMSInKTsKK3Nob3VsZEJlKCdzdGVw
RG93bigiZm9vIiwgbnVsbCwgbnVsbCknLCAnIi0xIicpOworc2hvdWxkQmUoJ3N0ZXBVcCgiZm9v
IiwgImFueSIsIG51bGwpJywgJyIwIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCJmb28iLCAiYW55
IiwgbnVsbCknLCAnIjAiJyk7CitzaG91bGRCZSgnc3RlcFVwKCJmb28iLCAiZm9vIiwgbnVsbCkn
LCAnIjEiJyk7CitzaG91bGRCZSgnc3RlcERvd24oImZvbyIsICJmb28iLCBudWxsKScsICciLTEi
Jyk7CitkZWJ1ZygnTm9ybWFsIGNhc2VzJyk7CitzaG91bGRCZSgnc3RlcFVwKCIwIiwgbnVsbCwg
bnVsbCknLCAnIjEiJyk7CitzaG91bGRCZSgnc3RlcFVwKCIxIiwgbnVsbCwgbnVsbCwgMiknLCAn
IjMiJyk7CitzaG91bGRCZSgnc3RlcFVwKCIzIiwgbnVsbCwgbnVsbCwgLTEpJywgJyIyIicpOwor
c2hvdWxkQmUoJ3N0ZXBEb3duKCIyIiwgbnVsbCwgbnVsbCknLCAnIjEiJyk7CitzaG91bGRCZSgn
c3RlcERvd24oIjEiLCBudWxsLCBudWxsLCAyKScsICciLTEiJyk7CitzaG91bGRCZSgnc3RlcERv
d24oIi0xIiwgbnVsbCwgbnVsbCwgLTEpJywgJyIwIicpOworZGVidWcoJ0ludmFsaWQgc3RlcCB2
YWx1ZScpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMCIsICJmb28iLCBudWxsKScsICciMSInKTsKK3No
b3VsZEJlKCdzdGVwVXAoIjEiLCAiMCIsIG51bGwpJywgJyIyIicpOworc2hvdWxkQmUoJ3N0ZXBV
cCgiMiIsICItMSIsIG51bGwpJywgJyIzIicpOworZGVidWcoJ1N0ZXA9YW55Jyk7CitzaG91bGRC
ZSgnc3RlcFVwKCIwIiwgImFueSIsIG51bGwpJywgJyIwIicpOworc2hvdWxkQmUoJ3N0ZXBEb3du
KCIwIiwgImFueSIsIG51bGwpJywgJyIwIicpOworZGVidWcoJ092ZXJmbG93L3VuZGVyZmxvdycp
Oworc2hvdWxkQmUoJ3N0ZXBEb3duKCIxIiwgIjEiLCAiMCIpJywgJyIwIicpOworc2hvdWxkQmUo
J3N0ZXBEb3duKCIwIiwgIjEiLCAiMCIpJywgJyIwIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIx
IiwgIjEiLCAiMCIsIDIpJywgJyIwIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIxIiwgIjMuNDAy
ODIzNDZlKzM4IiwgIiIsIDIpJywgJyItMy40MDI4MjM0NmUrMzgiJyk7CitzaG91bGRCZSgnc3Rl
cFVwKCItMSIsICIxIiwgIjAiKScsICciMCInKTsKK3Nob3VsZEJlKCdzdGVwVXAoIjAiLCAiMSIs
ICIwIiknLCAnIjAiJyk7CitzaG91bGRCZSgnc3RlcFVwKCItMSIsICIxIiwgIjAiLCAyKScsICci
MCInKTsKK3Nob3VsZEJlKCdzdGVwVXAoIjEiLCAiMy40MDI4MjM0NmUrMzgiLCAiIiwgMiknLCAn
IjMuNDAyODIzNDZlKzM4IicpOworZGVidWcoJ3N0ZXBEb3duKCkvc3RlcFVwKCkgZm9yIHN0ZXBN
aXNtYXRjaCB2YWx1ZXMnKTsKK3Nob3VsZEJlKCdzdGVwVXAoIjEiLCAiMiIsICIiKScsICciMiIn
KTsKK3Nob3VsZEJlKCdpbnB1dC5taW4gPSAiMCI7IHN0ZXBVcCgiOSIsICIxMCIsICIiKScsICci
MTAiJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjE5IiwgIjEwIiwgIjAiKScsICciMTAiJyk7Citz
aG91bGRCZSgnc3RlcFVwKCI4OSIsICIxMCIsICI5OSIpJywgJyI5MCInKTsKK2RlYnVnKCdIdWdl
IHZhbHVlIGFuZCBzbWFsbCBzdGVwJyk7CitzaG91bGRCZSgnaW5wdXQubWluID0gIiI7IHN0ZXBV
cCgiMWUrMzgiLCAiMSIsICIiLCA5OTkpJywgJyIxZSszOCInKTsKK3Nob3VsZEJlKCdpbnB1dC5t
YXggPSAiIjsgc3RlcERvd24oIjFlKzM4IiwgIjEiLCAiIiwgOTk5KScsICciMWUrMzgiJyk7Citk
ZWJ1ZygnRnJhY3Rpb25hbCBudW1iZXJzJyk7CitzaG91bGRCZSgnaW5wdXQubWluID0gIiI7IHN0
ZXBVcCgiMCIsICIwLjMzMzMzMzMzMzMzMzMzMzMzIiwgIiIsIDMpJywgJyIxIicpOworc2hvdWxk
QmUoJ3N0ZXBVcCgiMSIsICIwLjEiLCAiIiwgMTApJywgJyIyIicpOworc2hvdWxkQmUoJ2lucHV0
Lm1pbiA9ICIwIjsgc3RlcFVwKCIwIiwgIjAuMDAzOTIxNTY4NjI3NDUwOTgwIiwgIjEiLCAyNTUp
JywgJyIxIicpOworZGVidWcoJ1JvdW5kaW5nJyk7CitzaG91bGRCZSgnc3RlcFVwKCI1LjAwNSIs
ICIwLjAwNSIsICIiLCAyKScsICciNS4wMTUiJyk7CitzaG91bGRCZSgnc3RlcFVwKCI1LjAwNSIs
ICIwLjAwNSIsICIiLCAxMSknLCAnIjUuMDYiJyk7CitzaG91bGRCZSgnc3RlcFVwKCI1LjAwNSIs
ICIwLjAwNSIsICIiLCAxMiknLCAnIjUuMDY1IicpOworc2hvdWxkQmUoJ3N0ZXBVcEV4cGxpY2l0
Qm91bmRzKCI0IiwgIjkiLCAiMC4wMDUiLCAiNS4wMDUiLCAyKScsICciNS4wMTUiJyk7CitzaG91
bGRCZSgnc3RlcFVwRXhwbGljaXRCb3VuZHMoIjQiLCAiOSIsICIwLjAwNSIsICI1LjAwNSIsIDEx
KScsICciNS4wNiInKTsKK3Nob3VsZEJlKCdzdGVwVXBFeHBsaWNpdEJvdW5kcygiNCIsICI5Iiwg
IjAuMDA1IiwgIjUuMDA1IiwgMTIpJywgJyI1LjA2NSInKTsKKworZGVidWcoJycpOworZGVidWco
J1JhbmdlIHR5cGUnKTsKK2lucHV0LnR5cGUgPSAncmFuZ2UnOworZGVidWcoJ2Z1bmN0aW9uIGFy
Z3VtZW50cyBhcmUgKG1pbiwgbWF4LCBzdGVwLCB2YWx1ZSwgW3N0ZXBDb3VudF0pJyk7CitkZWJ1
ZygnVXNpbmcgdGhlIGRlZmF1bHQgdmFsdWVzJyk7CitzaG91bGRCZSgnc3RlcFVwRXhwbGljaXRC
b3VuZHMobnVsbCwgbnVsbCwgbnVsbCwgIiIpJywgJyI1MSInKTsKK3Nob3VsZEJlKCdzdGVwRG93
bkV4cGxpY2l0Qm91bmRzKG51bGwsIG51bGwsIG51bGwsICIiKScsICciNDkiJyk7CitzaG91bGRC
ZSgnc3RlcFVwRXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwgImFueSIsICIiKScsICciNTEiJyk7
CitzaG91bGRCZSgnc3RlcERvd25FeHBsaWNpdEJvdW5kcyhudWxsLCBudWxsLCAiYW55IiwgIiIp
JywgJyI0OSInKTsKK3Nob3VsZEJlKCdzdGVwVXBFeHBsaWNpdEJvdW5kcyhudWxsLCBudWxsLCAi
Zm9vIiwgIiIpJywgJyI1MSInKTsKK3Nob3VsZEJlKCdzdGVwRG93bkV4cGxpY2l0Qm91bmRzKG51
bGwsIG51bGwsICJmb28iLCAiIiknLCAnIjQ5IicpOworc2hvdWxkQmUoJ3N0ZXBVcEV4cGxpY2l0
Qm91bmRzKG51bGwsIG51bGwsIG51bGwsICJmb28iKScsICciNTEiJyk7CitzaG91bGRCZSgnc3Rl
cERvd25FeHBsaWNpdEJvdW5kcyhudWxsLCBudWxsLCBudWxsLCAiZm9vIiknLCAnIjQ5IicpOwor
c2hvdWxkQmUoJ3N0ZXBVcEV4cGxpY2l0Qm91bmRzKG51bGwsIG51bGwsICJhbnkiLCAiZm9vIikn
LCAnIjUxIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duRXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwg
ImFueSIsICJmb28iKScsICciNDkiJyk7CitzaG91bGRCZSgnc3RlcFVwRXhwbGljaXRCb3VuZHMo
bnVsbCwgbnVsbCwgImZvbyIsICJmb28iKScsICciNTEiJyk7CitzaG91bGRCZSgnc3RlcERvd25F
eHBsaWNpdEJvdW5kcyhudWxsLCBudWxsLCAiZm9vIiwgImZvbyIpJywgJyI0OSInKTsKK2RlYnVn
KCdOb3JtYWwgY2FzZXMnKTsKK3Nob3VsZEJlKCdzdGVwVXBFeHBsaWNpdEJvdW5kcyhudWxsLCBu
dWxsLCBudWxsLCAiMCIpJywgJyIxIicpOworc2hvdWxkQmUoJ3N0ZXBVcEV4cGxpY2l0Qm91bmRz
KG51bGwsIG51bGwsIG51bGwsICIxIiwgMiknLCAnIjMiJyk7CitzaG91bGRCZSgnc3RlcFVwRXhw
bGljaXRCb3VuZHMobnVsbCwgbnVsbCwgbnVsbCwgIjMiLCAtMSknLCAnIjIiJyk7CitzaG91bGRC
ZSgnc3RlcERvd25FeHBsaWNpdEJvdW5kcygiLTEwMCIsIG51bGwsIG51bGwsICIyIiknLCAnIjEi
Jyk7CitzaG91bGRCZSgnc3RlcERvd25FeHBsaWNpdEJvdW5kcygiLTEwMCIsIG51bGwsIG51bGws
ICIxIiwgMiknLCAnIi0xIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duRXhwbGljaXRCb3VuZHMoIi0x
MDAiLCBudWxsLCBudWxsLCAiLTEiLCAtMSknLCAnIjAiJyk7CitkZWJ1ZygnSW52YWxpZCBzdGVw
IHZhbHVlJyk7CitzaG91bGRCZSgnc3RlcFVwRXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwgImZv
byIsICIwIiknLCAnIjEiJyk7CitzaG91bGRCZSgnc3RlcFVwRXhwbGljaXRCb3VuZHMobnVsbCwg
bnVsbCwgIjAiLCAiMSIpJywgJyIyIicpOworc2hvdWxkQmUoJ3N0ZXBVcEV4cGxpY2l0Qm91bmRz
KG51bGwsIG51bGwsICItMSIsICIyIiknLCAnIjMiJyk7CitzaG91bGRCZSgnc3RlcERvd25FeHBs
aWNpdEJvdW5kcyhudWxsLCBudWxsLCAiZm9vIiwgIjEiKScsICciMCInKTsKK3Nob3VsZEJlKCdz
dGVwRG93bkV4cGxpY2l0Qm91bmRzKG51bGwsIG51bGwsICIwIiwgIjIiKScsICciMSInKTsKK3No
b3VsZEJlKCdzdGVwRG93bkV4cGxpY2l0Qm91bmRzKG51bGwsIG51bGwsICItMSIsICIzIiknLCAn
IjIiJyk7CitkZWJ1ZygnU3RlcD1hbnknKTsKK3Nob3VsZEJlKCdzdGVwVXBFeHBsaWNpdEJvdW5k
cyhudWxsLCBudWxsLCAiYW55IiwgIjEiKScsICciMiInKTsKK3Nob3VsZEJlKCdzdGVwRG93bkV4
cGxpY2l0Qm91bmRzKG51bGwsIG51bGwsICJhbnkiLCAiMSIpJywgJyIwIicpOworZGVidWcoJ092
ZXJmbG93L3VuZGVyZmxvdycpOworc2hvdWxkQmUoJ3N0ZXBVcEV4cGxpY2l0Qm91bmRzKG51bGws
ICIxMDAiLCAiMSIsICI5OSIpJywgJyIxMDAiJyk7CitzaG91bGRCZSgnc3RlcFVwRXhwbGljaXRC
b3VuZHMobnVsbCwgIjEwMCIsICIxIiwgIjEwMCIpJywgJyIxMDAiJyk7CitzaG91bGRCZSgnaW5w
dXQudmFsdWUnLCAnIjEwMCInKTsKK3Nob3VsZEJlKCdzdGVwVXBFeHBsaWNpdEJvdW5kcyhudWxs
LCAiMTAwIiwgIjEiLCAiOTkiLCAiMiIpJywgJyIxMDAiJyk7CitzaG91bGRCZSgnaW5wdXQudmFs
dWUnLCAnIjEwMCInKTsKK3Nob3VsZEJlKCdzdGVwRG93bkV4cGxpY2l0Qm91bmRzKCIwIiwgbnVs
bCwgIjEiLCAiMSIpJywgJyIwIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duRXhwbGljaXRCb3VuZHMo
IjAiLCBudWxsLCAiMSIsICIwIiknLCAnIjAiJyk7CitzaG91bGRCZSgnaW5wdXQudmFsdWUnLCAn
IjAiJyk7CitzaG91bGRCZSgnc3RlcERvd25FeHBsaWNpdEJvdW5kcygiMCIsIG51bGwsICIxIiwg
IjEiLCAiMiIpJywgJyIwIicpOworc2hvdWxkQmUoJ2lucHV0LnZhbHVlJywgJyIwIicpOworc2hv
dWxkQmUoJ3N0ZXBEb3duRXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwgIjMuNDAyODIzNDZlKzM4
IiwgIjEiLCAiMiIpJywgJyIwIicpOworc2hvdWxkQmUoJ3N0ZXBVcEV4cGxpY2l0Qm91bmRzKC0x
MDAsIDAsIDEsIC0xKScsICciMCInKTsKK3Nob3VsZEJlKCdzdGVwVXBFeHBsaWNpdEJvdW5kcyhu
dWxsLCAwLCAxLCAwKScsICciMCInKTsKK3Nob3VsZEJlKCdzdGVwVXBFeHBsaWNpdEJvdW5kcygt
MTAwLCAwLCAxLCAtMSwgMiknLCAnIjAiJyk7CitzaG91bGRCZSgnaW5wdXQudmFsdWUnLCAnIjAi
Jyk7CitzaG91bGRCZSgnc3RlcFVwRXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwgIjMuNDAyODIz
NDZlKzM4IiwgIjEiLCAiMiIpJywgJyIwIicpOworZGVidWcoJ3N0ZXBEb3duKCkvc3RlcFVwKCkg
Zm9yIHN0ZXBNaXNtYXRjaCB2YWx1ZXMnKTsKK3Nob3VsZEJlKCdzdGVwVXBFeHBsaWNpdEJvdW5k
cyhudWxsLCBudWxsLCAyLCAxKScsICciNCInKTsKK3Nob3VsZEJlKCdzdGVwVXBFeHBsaWNpdEJv
dW5kcygwLCBudWxsLCAxMCwgOSwgOSknLCAnIjEwMCInKTsKK3Nob3VsZEJlKCdzdGVwRG93bkV4
cGxpY2l0Qm91bmRzKDAsIG51bGwsIDEwLCAxOSknLCAnIjEwIicpOworZGVidWcoJ3ZhbHVlICsg
c3RlcCBpcyA8PSBtYXgsIGJ1dCByb3VuZGVkIHJlc3VsdCB3b3VsZCBiZSA+IG1heC4nKTsKK3No
b3VsZEJlKCdzdGVwVXBFeHBsaWNpdEJvdW5kcyhudWxsLCA5OSwgMTAsIDg5KScsICciOTAiJyk7
CitkZWJ1ZygnSHVnZSB2YWx1ZSBhbmQgc21hbGwgc3RlcCcpOworc2hvdWxkQmUoJ3N0ZXBVcEV4
cGxpY2l0Qm91bmRzKDAsIDFlMzgsIDEsIDFlMzgsIDk5OSknLCAnIjFlKzM4IicpOworc2hvdWxk
QmUoJ3N0ZXBEb3duRXhwbGljaXRCb3VuZHMoMCwgMWUzOCwgMSwgMWUzOCwgOTk5KScsICciMWUr
MzgiJyk7CitkZWJ1ZygnRnJhY3Rpb25hbCBudW1iZXJzJyk7CitzaG91bGRCZSgnc3RlcFVwRXhw
bGljaXRCb3VuZHMobnVsbCwgbnVsbCwgMC4zMzMzMzMzMzMzMzMzMzMzMywgMCwgMyknLCAnIjEi
Jyk7CitzaG91bGRCZSgnc3RlcFVwRXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwgMC4xLCAxKScs
ICciMS4xIicpOworc2hvdWxkQmUoJ3N0ZXBVcEV4cGxpY2l0Qm91bmRzKG51bGwsIG51bGwsIDAu
MSwgMSwgOCknLCAnIjEuOCInKTsKK3Nob3VsZEJlKCdzdGVwVXBFeHBsaWNpdEJvdW5kcyhudWxs
LCBudWxsLCAwLjEsIDEsIDEwKScsICciMiInKTsKK3Nob3VsZEJlKCdzdGVwVXBFeHBsaWNpdEJv
dW5kcygwLCAxLCAwLjAwMzkyMTU2ODYyNzQ1MDk4MCwgMCwgMjU1KScsICciMSInKTsKK3Nob3Vs
ZEJlKCdzdGVwRG93bkV4cGxpY2l0Qm91bmRzKG51bGwsIG51bGwsIDAuMSwgMSwgOCknLCAnIjAu
MiInKTsKK3Nob3VsZEJlKCdzdGVwRG93bkV4cGxpY2l0Qm91bmRzKG51bGwsIG51bGwsIDAuMSwg
MSknLCAnIjAuOSInKTsKKworZGVidWcoJycpOworZGVidWcoJ1RpbWUgdHlwZScpOworaW5wdXQu
dHlwZSA9ICd0aW1lJzsKK2RlYnVnKCdmdW5jdGlvbiBhcmd1bWVudHMgYXJlICh2YWx1ZSwgc3Rl
cCwge21pbiBvciBtYXh9LCBbc3RlcENvdW50XSknKTsKK2RlYnVnKCdOb3JtYWwgY2FzZXMnKTsK
K3Nob3VsZEJlKCdzdGVwVXAoIjIwOjEzIiwgbnVsbCwgbnVsbCknLCAnIjIwOjE0IicpOworc2hv
dWxkQmUoJ3N0ZXBEb3duKCIyMDoxMyIsIG51bGwsIG51bGwpJywgJyIyMDoxMiInKTsKK3Nob3Vs
ZEJlKCdzdGVwVXAoIjIwOjEzIiwgbnVsbCwgbnVsbCwgMTApJywgJyIyMDoyMyInKTsKK3Nob3Vs
ZEJlKCdzdGVwRG93bigiMjA6MTMiLCBudWxsLCBudWxsLCAxMSknLCAnIjIwOjAyIicpOworc2hv
dWxkQmUoJ3N0ZXBVcCgiMjA6MTMiLCAiNCIsIG51bGwsIDIpJywgJyIyMDoxMzowOCInKTsKK3No
b3VsZEJlKCdzdGVwRG93bigiMjA6MTMiLCAiNCIsIG51bGwsIDMpJywgJyIyMDoxMjo0OCInKTsK
K2RlYnVnKCdTdGVwPWFueScpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMjA6MTMiLCAiYW55IiwgbnVs
bCknLCAnIjIwOjEzIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIyMDoxMyIsICJhbnkiLCBudWxs
KScsICciMjA6MTMiJyk7CitkZWJ1ZygnT3ZlcmZsb3cvdW5kZXJmbG93Jyk7CitzaG91bGRCZSgn
c3RlcFVwKCIyMDoxMyIsICIzLjQwMjgyMzQ2ZSszOCIsIG51bGwpJywgJyIyMzo1OTo1OS45OTki
Jyk7CitzaG91bGRCZSgnc3RlcERvd24oIjIwOjEzIiwgIjMuNDAyODIzNDZlKzM4IiwgbnVsbCkn
LCAnIjAwOjAwOjAwLjAwMCInKTsKK3Nob3VsZEJlKCdzdGVwVXAoIjIwOjEzIiwgIjEiLCAiMjA6
MTMiKScsICciMjA6MTMiJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjIwOjEzIiwgIjEiLCAiMjA6
MTMiKScsICciMjA6MTMiJyk7CitzaG91bGRCZSgnc3RlcFVwKCIyMzo1OSIsIG51bGwsIG51bGwp
JywgJyIyMzo1OSInKTsKK3Nob3VsZEJlKCdzdGVwRG93bigiMDA6MDAiLCBudWxsLCBudWxsKScs
ICciMDA6MDAiJyk7CitkZWJ1Zygnc3RlcERvd24oKS9zdGVwVXAoKSBmb3Igc3RlcE1pc21hdGNo
IHZhbHVlcycpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIyMDoxMyIsICIzIiwgIjIwOjEyOjU2Iikn
LCAnIjIwOjEyOjU5IicpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMDA6MTMiLCAiNyIsICIiKScsICci
MDA6MTM6MDQiJyk7CisKK2RlYnVnKCcnKTsKK2RlYnVnKCdXZWVrIHR5cGUnKTsKK2lucHV0LnR5
cGUgPSAnd2Vlayc7CitkZWJ1ZygnZnVuY3Rpb24gYXJndW1lbnRzIGFyZSAodmFsdWUsIHN0ZXAs
IHttaW4gb3IgbWF4fSwgW3N0ZXBDb3VudF0pJyk7CitkZWJ1ZygnTm9ybWFsIGNhc2VzJyk7Citz
aG91bGRCZSgnc3RlcFVwKCIyMDEwLVcwMiIsIG51bGwsIG51bGwpJywgJyIyMDEwLVcwMyInKTsK
K3Nob3VsZEJlKCdzdGVwRG93bigiMjAxMC1XMDIiLCBudWxsLCBudWxsKScsICciMjAxMC1XMDEi
Jyk7CitzaG91bGRCZSgnc3RlcFVwKCIyMDEwLVcwMiIsIG51bGwsIG51bGwsIDEwKScsICciMjAx
MC1XMTIiJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjIwMTAtVzAyIiwgbnVsbCwgbnVsbCwgMTEp
JywgJyIyMDA5LVc0NCInKTsKK3Nob3VsZEJlKCdzdGVwVXAoIjE5NzAtVzAxIiwgIjQiLCBudWxs
LCAyKScsICciMTk3MC1XMDkiJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjE5NzAtVzAxIiwgIjQi
LCBudWxsLCAzKScsICciMTk2OS1XNDEiJyk7CitkZWJ1ZygnU3RlcD1hbnknKTsKK3Nob3VsZEJl
KCdzdGVwVXAoIjIwMTAtVzAyIiwgImFueSIsIG51bGwpJywgJyIyMDEwLVcwMiInKTsKK3Nob3Vs
ZEJlKCdzdGVwRG93bigiMjAxMC1XMDIiLCAiYW55IiwgbnVsbCknLCAnIjIwMTAtVzAyIicpOwor
ZGVidWcoJ092ZXJmbG93L3VuZGVyZmxvdycpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMjAxMC1XMDIi
LCAiMy40MDI4MjM0NmUrMzgiLCBudWxsKScsICciMjc1NzYwLVczNyInKTsKK3Nob3VsZEJlKCdz
dGVwRG93bigiMjAxMC1XMDIiLCAiMy40MDI4MjM0NmUrMzgiLCBudWxsKScsICciMTk3MC1XMDEi
Jyk7CitzaG91bGRCZSgnc3RlcFVwKCIyMDEwLVcwMiIsICIxIiwgIjIwMTAtVzAyIiknLCAnIjIw
MTAtVzAyIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIyMDEwLVcwMiIsICIxIiwgIjIwMTAtVzAy
IiknLCAnIjIwMTAtVzAyIicpOworZGVidWcoJ3N0ZXBEb3duKCkvc3RlcFVwKCkgZm9yIHN0ZXBN
aXNtYXRjaCB2YWx1ZXMnKTsKK3Nob3VsZEJlKCdzdGVwRG93bigiMjAxMC1XMDIiLCAiMiIsICIy
MDA5LVc1MiIpJywgJyIyMDEwLVcwMSInKTsKK3Nob3VsZEJlKCdzdGVwVXAoIjE5NzAtVzAyIiwg
IjQiLCAiIiknLCAnIjE5NzAtVzA1IicpOworCitkZWJ1ZygnJyk7Cit2YXIgc3VjY2Vzc2Z1bGx5
UGFyc2VkID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9D
aGFuZ2VMb2cKaW5kZXggNWQxYzNjMzYxNTZlMjdlZjA1MGZkNTM5OWE4YzFhZDI3YjEyNWFhNS4u
NTY5YWUzZDIzOGIxNzVmYjA5ZTQwYjcxMmY5YTU0MmEwOTgxYmJjMyAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw2NiBAQAor
MjAxMC0xMS0yNCAgRGFpIE1pa3VydWJlICA8ZG1pa3VydWJlQGdvb2dsZS5jb20+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgd2hlbiBlbXB0eSwgY2xp
Y2tpbmcgImRvd24iIG9uIG91dGVyLXNwaW4tYnV0dG9uIHJldHVybnMgIm1heCB2YWx1ZSIKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ1NDkxCisKKyAg
ICAgICAgTW9kaWZpZWQgc3RlcHBpbmctdXAvZG93biBmcm9tIHJlbmRlcmVyCisgICAgICAgIC0g
dG8gY2xhbXAgc3RlcHMsCisgICAgICAgIC0gdG8gaGFuZGxlIGVtcHR5IHZhbHVlcyAoZGVzY3Jp
YmVkIGJlbG93KSwgYW5kCisgICAgICAgIC0gdG8gYXBwbHkgdGhlbSBmb3IgcmFuZ2UgdHlwZSBp
bnB1dHMuCisKKyAgICAgICAgU3RlcHBpbmctdXAvZG93biBmb3IgZW1wdHkgdmFsdWVzIGFyZSBo
YW5kbGVkICJ0aGUgZW1wdHkgYXMgMC4iCisgICAgICAgIEZvciBleGFtcGxlIDoKKyAgICAgICAg
KiBJZiAwIGlzIGluLXJhbmdlLCBhbmQgbWF0Y2hlcyB0byBzdGVwIHZhbHVlCisgICAgICAgICAg
ImRvd24iIC0+IC1zdGVwCisgICAgICAgICAgInVwIiAtPiArc3RlcAorICAgICAgICAgIElmIC1z
dGVwIG9yICtzdGVwIGlzIG91dCBvZiByYW5nZSwgbmV3IHZhbHVlIHNob3VsZCBiZSAwLgorCisg
ICAgICAgICogSWYgMCBpcyBzbWFsbGVyIHRoYW4gdGhlIG1pbmltdW0gdmFsdWUKKyAgICAgICAg
ICAiZG93biIgLT4gdGhlIG1pbmltdW0gdmFsdWUKKyAgICAgICAgICAidXAiIC0+IHRoZSBtaW5p
bXVtIHZhbHVlCisKKyAgICAgICAgKiBJZiAwIGlzIGxhcmdlciB0aGFuIHRoZSBtYXhpbXVtIHZh
bHVlCisgICAgICAgICAgImRvd24iIC0+IHRoZSBtYXhpbXVtIHZhbHVlCisgICAgICAgICAgInVw
IiAtPiB0aGUgbWF4aW11bSB2YWx1ZQorCisgICAgICAgICogSWYgMCBpcyBpbi1yYW5nZSwgYnV0
IG5vdCBtYXRjaGVkIHRvIHN0ZXAgdmFsdWUKKyAgICAgICAgICAiZG93biIgLT4gc21hbGVyIG1h
dGNoZWQgdmFsdWUgbmVhcmVzdCB0byAwLgorICAgICAgICAgICAgZS5nLiA8aW5wdXQgdHlwZT1u
dW1iZXIgbWluPS0xMDAgc3RlcD0zPiAtPiAtMQorICAgICAgICAgICJ1cCIgLT4gbGFyZ2VyIG1h
dGNoZWQgdmFsdWUgbmVhcmVzdCB0byAwLgorICAgICAgICAgICAgZS5nLiA8aW5wdXQgdHlwZT1u
dW1iZXIgbWluPS0xMDAgc3RlcD0zPiAtPiAyCisKKyAgICAgICAgQXMgZm9yIGRhdGUvZGF0ZXRp
bWUvZGF0ZXRpbWUtbG9jYWwvbW9udGgvdGltZS93ZWVrIHR5cGVzLCB0aGUgZW1wdHkgaXMgYXNz
dW1lZCBhcyAiY3VycmVudCBkYXRlL3RpbWUiLgorCisgICAgICAgIEFzIGZvciByYW5nZSBpbnB1
dCB0eXBlcywgY2hhbmdlZCBzdGVwcGluZyBmcm9tIHJlbmRlcmVyIHRvIHVzZSBzdGVwVXBGcm9t
UmVuZGVyZXIoKS4KKyAgICAgICAgSXQgd2FzIGNhbGN1bGF0ZWQgd2l0aCBzdGVwVXAoKSBmcm9t
IFJhbmdlSW5wdXRUeXBlOjpoYW5kbGVLZXlkb3duRXZlbnQoKS4KKworICAgICAgICBUZXN0OiBm
YXN0L2Zvcm1zL2lucHV0LXN0ZXB1cC1zdGVwZG93bi1mcm9tLXJlbmRlcmVyLmh0bWwKKworICAg
ICAgICAqIGh0bWwvQmFzZURhdGVBbmRUaW1lSW5wdXRUeXBlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkJhc2VEYXRlQW5kVGltZUlucHV0VHlwZTo6c3RhcnRpbmdWYWx1ZSk6IEFkZGVkIHN0YXJ0
aW5nVmFsdWUoKSB3aGljaCByZXR1cm5zIHRoZSBjdXJyZW50IGxvY2FsIHRpbWUKKyAgICAgICAg
KiBodG1sL0Jhc2VEYXRlQW5kVGltZUlucHV0VHlwZS5oOgorICAgICAgICAqIGh0bWwvRGF0ZVRp
bWVJbnB1dFR5cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGF0ZVRpbWVJbnB1dFR5cGU6OnN0
YXJ0aW5nVmFsdWUpOiBBZGRlZCBzdGFydGluZ1ZhbHVlKCkgd2hpY2ggcmV0dXJucyB0aGUgY3Vy
cmVudCBVVEMgdGltZQorICAgICAgICAqIGh0bWwvRGF0ZVRpbWVJbnB1dFR5cGUuaDoKKyAgICAg
ICAgKiBodG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTElu
cHV0RWxlbWVudDo6c3RlcFVwRnJvbVJlbmRlcmVyKTogTW9kaWZpZWQgaXQgdG8gY2xhbXAgc3Rl
cHMsIHN1cHBvcnQgZW1wdHkgdmFsdWVzIGFuZCBzdXBwb3J0IHJhbmdlIHR5cGUgaW5wdXRzCisg
ICAgICAgICogaHRtbC9IVE1MSW5wdXRFbGVtZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpIVE1M
SW5wdXRFbGVtZW50Ojppc1JhbmdlQ29udHJvbCk6CisgICAgICAgICogaHRtbC9JbnB1dFR5cGUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5wdXRUeXBlOjpzdGFydGluZ1ZhbHVlKTogQWRkZWQg
c3RhcnRpbmdWYWx1ZSgpIHdoaWNoIHJldHVybnMgMAorICAgICAgICAqIGh0bWwvSW5wdXRUeXBl
Lmg6CisgICAgICAgICogaHRtbC9Nb250aElucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpNb250aElucHV0VHlwZTo6c3RhcnRpbmdWYWx1ZSk6IEFkZGVkIHN0YXJ0aW5nVmFsdWUoKSB3
aGljaCByZXR1cm5zIHRoZSBjdXJyZW50IG1vbnRoCisgICAgICAgICogaHRtbC9Nb250aElucHV0
VHlwZS5oOgorICAgICAgICAqIGh0bWwvUmFuZ2VJbnB1dFR5cGUuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UmFuZ2VJbnB1dFR5cGU6OmhhbmRsZUtleWRvd25FdmVudCk6IEFkZGVkIGNvbW1lbnRz
IGFuZCBtb2RpZmllZCBpdCB0byB1c2Ugc3RlcFVwRnJvbVJlbmRlcmVyKCkKKyAgICAgICAgKiBo
dG1sL1RpbWVJbnB1dFR5cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGltZUlucHV0VHlwZTo6
c3RhcnRpbmdWYWx1ZSk6IEFkZGVkIHN0YXJ0aW5nVmFsdWUoKSB3aGljaCByZXR1cm5zIHRoZSBj
dXJyZW50IHRpbWUKKyAgICAgICAgKiBodG1sL1RpbWVJbnB1dFR5cGUuaDoKKyAgICAgICAgKiBt
YW51YWwtdGVzdHMvaW5wdXQtdHlwZS1kYXRldGltZS1kZWZhdWx0LXZhbHVlLmh0bWw6IEFkZGVk
IG1hbnVhbCB0ZXN0cyBmb3IgZGVmYXVsdCB2YWx1ZXMgb2YgZGF0ZS90aW1lIGlucHV0cworCiAy
MDEwLTExLTE4ICBHYXZpbiBCYXJyYWNsb3VnaCAgPGJhcnJhY2xvdWdoQGFwcGxlLmNvbT4KIAog
ICAgICAgICBSZXZpZXdlZCBieSBPbGl2ZXIgSHVudC4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRt
bC9CYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGUuY3BwIGIvV2ViQ29yZS9odG1sL0Jhc2VEYXRlQW5k
VGltZUlucHV0VHlwZS5jcHAKaW5kZXggZTc4MGVkNmJhMjRkMjBmYWZiZGI2MjllMjgzNjk4NWYx
YTVhOTBjYy4uNzAyNDNlNTljNGVmMTdkYWQxMzA3MzBlNmUzODY0YmY3NjA2NzBkNyAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9odG1sL0Jhc2VEYXRlQW5kVGltZUlucHV0VHlwZS5jcHAKKysrIGIvV2Vi
Q29yZS9odG1sL0Jhc2VEYXRlQW5kVGltZUlucHV0VHlwZS5jcHAKQEAgLTM1LDYgKzM1LDggQEAK
ICNpbmNsdWRlICJIVE1MSW5wdXRFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCiAj
aW5jbHVkZSA8bGltaXRzPgorI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgorI2luY2x1ZGUg
PHd0Zi9EYXRlTWF0aC5oPgogI2luY2x1ZGUgPHd0Zi9NYXRoRXh0cmFzLmg+CiAjaW5jbHVkZSA8
d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KQEAgLTkx
LDYgKzkzLDE1IEBAIGJvb2wgQmFzZURhdGVBbmRUaW1lSW5wdXRUeXBlOjpyYW5nZU92ZXJmbG93
KGNvbnN0IFN0cmluZyYgdmFsdWUpIGNvbnN0CiAgICAgcmV0dXJuIGlzZmluaXRlKGRvdWJsZVZh
bHVlKSAmJiBkb3VibGVWYWx1ZSA+IG1heGltdW0oKTsKIH0KIAorZG91YmxlIEJhc2VEYXRlQW5k
VGltZUlucHV0VHlwZTo6ZGVmYXVsdFZhbHVlRm9yU3RlcFVwKCkgY29uc3QKK3sKKyAgICBkb3Vi
bGUgbXMgPSBjdXJyZW50VGltZU1TKCk7CisgICAgZG91YmxlIHV0Y09mZnNldCA9IGNhbGN1bGF0
ZVVUQ09mZnNldCgpOworICAgIGRvdWJsZSBkc3RPZmZzZXQgPSBjYWxjdWxhdGVEU1RPZmZzZXQo
bXMsIHV0Y09mZnNldCk7CisgICAgaW50IG9mZnNldCA9IHN0YXRpY19jYXN0PGludD4oKHV0Y09m
ZnNldCArIGRzdE9mZnNldCkgLyBtc1Blck1pbnV0ZSk7CisgICAgcmV0dXJuIG1zICsgKG9mZnNl
dCAqIG1zUGVyTWludXRlKTsKK30KKwogYm9vbCBCYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGU6OnN0
ZXBNaXNtYXRjaChjb25zdCBTdHJpbmcmIHZhbHVlLCBkb3VibGUgc3RlcCkgY29uc3QKIHsKICAg
ICBjb25zdCBkb3VibGUgbmFuID0gbnVtZXJpY19saW1pdHM8ZG91YmxlPjo6cXVpZXRfTmFOKCk7
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvQmFzZURhdGVBbmRUaW1lSW5wdXRUeXBlLmggYi9X
ZWJDb3JlL2h0bWwvQmFzZURhdGVBbmRUaW1lSW5wdXRUeXBlLmgKaW5kZXggMTFjNjBhZmNhNjU4
YzZiNzIyZmMwMjdkZGU1ODRjZDY3NTYwZDQ5YS4uYWQ3MzAyYTllMWJhZGJjZWZjYTE5MzhlZjBl
ZTI0Yzc3OTQ0ZWNmYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0Jhc2VEYXRlQW5kVGltZUlu
cHV0VHlwZS5oCisrKyBiL1dlYkNvcmUvaHRtbC9CYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGUuaApA
QCAtNTUsNiArNTUsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgYm9vbCB0eXBlTWlzbWF0Y2go
KSBjb25zdDsKICAgICB2aXJ0dWFsIGJvb2wgcmFuZ2VVbmRlcmZsb3coY29uc3QgU3RyaW5nJikg
Y29uc3Q7CiAgICAgdmlydHVhbCBib29sIHJhbmdlT3ZlcmZsb3coY29uc3QgU3RyaW5nJikgY29u
c3Q7CisgICAgdmlydHVhbCBkb3VibGUgZGVmYXVsdFZhbHVlRm9yU3RlcFVwKCkgY29uc3Q7CiAg
ICAgdmlydHVhbCBib29sIHN0ZXBNaXNtYXRjaChjb25zdCBTdHJpbmcmLCBkb3VibGUpIGNvbnN0
OwogICAgIHZpcnR1YWwgZG91YmxlIHN0ZXBCYXNlKCkgY29uc3Q7CiAgICAgdmlydHVhbCBib29s
IGhhbmRsZUtleWRvd25FdmVudChLZXlib2FyZEV2ZW50Kik7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2h0bWwvRGF0ZVRpbWVJbnB1dFR5cGUuY3BwIGIvV2ViQ29yZS9odG1sL0RhdGVUaW1lSW5wdXRU
eXBlLmNwcAppbmRleCBjNzhhNTQwNTZhMTVlMTAyOTZkZWU4MmQwNjNlNDYyMjljMDgzNmQ3Li5j
MDk0YWM3MDk1OWUzMjA1NGQyNTE0NzRiZWViMGJiNjZiYWI5MjUyIDEwMDY0NAotLS0gYS9XZWJD
b3JlL2h0bWwvRGF0ZVRpbWVJbnB1dFR5cGUuY3BwCisrKyBiL1dlYkNvcmUvaHRtbC9EYXRlVGlt
ZUlucHV0VHlwZS5jcHAKQEAgLTUzLDYgKzUzLDExIEBAIGNvbnN0IEF0b21pY1N0cmluZyYgRGF0
ZVRpbWVJbnB1dFR5cGU6OmZvcm1Db250cm9sVHlwZSgpIGNvbnN0CiAgICAgcmV0dXJuIElucHV0
VHlwZU5hbWVzOjpkYXRldGltZSgpOwogfQogCitkb3VibGUgRGF0ZVRpbWVJbnB1dFR5cGU6OmRl
ZmF1bHRWYWx1ZUZvclN0ZXBVcCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGN1cnJlbnRUaW1lTVMo
KTsKK30KKwogZG91YmxlIERhdGVUaW1lSW5wdXRUeXBlOjptaW5pbXVtKCkgY29uc3QKIHsKICAg
ICByZXR1cm4gcGFyc2VUb0RvdWJsZShlbGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUobWluQXR0
ciksIERhdGVDb21wb25lbnRzOjptaW5pbXVtRGF0ZVRpbWUoKSk7CmRpZmYgLS1naXQgYS9XZWJD
b3JlL2h0bWwvRGF0ZVRpbWVJbnB1dFR5cGUuaCBiL1dlYkNvcmUvaHRtbC9EYXRlVGltZUlucHV0
VHlwZS5oCmluZGV4IDE0MDk3NWIxOTUxODRhZTBiNmQ4ZjhlYTRkNTYzNDg1ZTE2MWFjM2YuLjlh
MGVmZDFmMzkyMTkwMDgzOWUyNzdhMzI1NTRmZTVmYTIzN2VkODYgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvaHRtbC9EYXRlVGltZUlucHV0VHlwZS5oCisrKyBiL1dlYkNvcmUvaHRtbC9EYXRlVGltZUlu
cHV0VHlwZS5oCkBAIC00Miw2ICs0Miw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgRGF0ZVRp
bWVJbnB1dFR5cGUoSFRNTElucHV0RWxlbWVudCogZWxlbWVudCkgOiBCYXNlRGF0ZUFuZFRpbWVJ
bnB1dFR5cGUoZWxlbWVudCkgeyB9CiAgICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcmIGZv
cm1Db250cm9sVHlwZSgpIGNvbnN0OworICAgIHZpcnR1YWwgZG91YmxlIGRlZmF1bHRWYWx1ZUZv
clN0ZXBVcCgpIGNvbnN0OwogICAgIHZpcnR1YWwgZG91YmxlIG1pbmltdW0oKSBjb25zdDsKICAg
ICB2aXJ0dWFsIGRvdWJsZSBtYXhpbXVtKCkgY29uc3Q7CiAgICAgdmlydHVhbCBkb3VibGUgZGVm
YXVsdFN0ZXAoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVt
ZW50LmNwcCBiL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcAppbmRleCBhZjRlN2Qw
NTQ4MjE3MTEwZTM5N2MzYmM0YTFmZWNmNzc2N2I1ODA5Li42NjUxY2VlZjg0NGJlMzMwNWUyZDlk
OWIyOTNlNzUyZmU2ODZmMzUwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxl
bWVudC5jcHAKKysrIGIvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCkBAIC0xODQ5
LDM3ICsxODQ5LDEwMCBAQCBIVE1MT3B0aW9uRWxlbWVudCogSFRNTElucHV0RWxlbWVudDo6c2Vs
ZWN0ZWRPcHRpb24oKSBjb25zdAogdm9pZCBIVE1MSW5wdXRFbGVtZW50OjpzdGVwVXBGcm9tUmVu
ZGVyZXIoaW50IG4pCiB7CiAgICAgLy8gVGhlIGRpZmZlcmVuY2VzIGZyb20gc3RlcFVwKCkvc3Rl
cERvd24oKToKLSAgICAvLyBJZiB0aGUgY3VycmVudCB2YWx1ZSBpcyBub3QgYSBudW1iZXIsIHRo
ZSB2YWx1ZSB3aWxsIGJlCi0gICAgLy8gIC0gVGhlIHZhbHVlIHNob3VsZCBiZSB0aGUgbWluaW11
bSB2YWx1ZSBpZiBuID4gMAotICAgIC8vICAtIFRoZSB2YWx1ZSBzaG91bGQgYmUgdGhlIG1heGlt
dW0gdmFsdWUgaWYgbiA8IDAKKyAgICAvLworICAgIC8vIERpZmZlcmVuY2UgMTogdGhlIGN1cnJl
bnQgdmFsdWUKKyAgICAvLyBJZiB0aGUgY3VycmVudCB2YWx1ZSBpcyBub3QgYSBudW1iZXIsIGlu
Y2x1ZGluZyBlbXB0eSwgdGhlIGN1cnJlbnQgdmFsdWUgaXMgYXNzdW1lZCBhcyAwLgorICAgIC8v
ICAgKiBJZiAwIGlzIGluLXJhbmdlLCBhbmQgbWF0Y2hlcyB0byBzdGVwIHZhbHVlCisgICAgLy8g
ICAgIC0gVGhlIHZhbHVlIHNob3VsZCBiZSB0aGUgK3N0ZXAgaWYgbiA+IDAKKyAgICAvLyAgICAg
LSBUaGUgdmFsdWUgc2hvdWxkIGJlIHRoZSAtc3RlcCBpZiBuIDwgMAorICAgIC8vICAgICBJZiAt
c3RlcCBvciArc3RlcCBpcyBvdXQgb2YgcmFuZ2UsIG5ldyB2YWx1ZSBzaG91bGQgYmUgMC4KKyAg
ICAvLyAgICogSWYgMCBpcyBzbWFsbGVyIHRoYW4gdGhlIG1pbmltdW0gdmFsdWUKKyAgICAvLyAg
ICAgLSBUaGUgdmFsdWUgc2hvdWxkIGJlIHRoZSBtaW5pbXVtIHZhbHVlIGZvciBhbnkgbgorICAg
IC8vICAgKiBJZiAwIGlzIGxhcmdlciB0aGFuIHRoZSBtYXhpbXVtIHZhbHVlCisgICAgLy8gICAg
IC0gVGhlIHZhbHVlIHNob3VsZCBiZSB0aGUgbWF4aW11bSB2YWx1ZSBmb3IgYW55IG4KKyAgICAv
LyAgICogSWYgMCBpcyBpbi1yYW5nZSwgYnV0IG5vdCBtYXRjaGVkIHRvIHN0ZXAgdmFsdWUKKyAg
ICAvLyAgICAgLSBUaGUgdmFsdWUgc2hvdWxkIGJlIHRoZSBsYXJnZXIgbWF0Y2hlZCB2YWx1ZSBu
ZWFyZXN0IHRvIDAgaWYgbiA+IDAKKyAgICAvLyAgICAgICBlLmcuIDxpbnB1dCB0eXBlPW51bWJl
ciBtaW49LTEwMCBzdGVwPTM+IC0+IDIKKyAgICAvLyAgICAgLSBUaGUgdmFsdWUgc2hvdWxkIGJl
IHRoZSBzbWFsZXIgbWF0Y2hlZCB2YWx1ZSBuZWFyZXN0IHRvIDAgaWYgbiA8IDAKKyAgICAvLyAg
ICAgICBlLmcuIDxpbnB1dCB0eXBlPW51bWJlciBtaW49LTEwMCBzdGVwPTM+IC0+IC0xCisgICAg
Ly8gICBBcyBmb3IgZGF0ZS9kYXRldGltZS9kYXRldGltZS1sb2NhbC9tb250aC90aW1lL3dlZWsg
dHlwZXMsIHRoZSBjdXJyZW50IHZhbHVlIGlzIGFzc3VtZWQgYXMgInRoZSBjdXJyZW50IGRhdGUv
dGltZSIuCiAgICAgLy8gSWYgdGhlIGN1cnJlbnQgdmFsdWUgaXMgc21hbGxlciB0aGFuIHRoZSBt
aW5pbXVtIHZhbHVlOgogICAgIC8vICAtIFRoZSB2YWx1ZSBzaG91bGQgYmUgdGhlIG1pbmltdW0g
dmFsdWUgaWYgbiA+IDAKICAgICAvLyAgLSBOb3RoaW5nIHNob3VsZCBoYXBwZW4gaWYgbiA8IDAK
ICAgICAvLyBJZiB0aGUgY3VycmVudCB2YWx1ZSBpcyBsYXJnZXIgdGhhbiB0aGUgbWF4aW11bSB2
YWx1ZToKICAgICAvLyAgLSBUaGUgdmFsdWUgc2hvdWxkIGJlIHRoZSBtYXhpbXVtIHZhbHVlIGlm
IG4gPCAwCiAgICAgLy8gIC0gTm90aGluZyBzaG91bGQgaGFwcGVuIGlmIG4gPiAwCi0KLSAgICBB
U1NFUlQoaGFzU3BpbkJ1dHRvbigpKTsKLSAgICBpZiAoIWhhc1NwaW5CdXR0b24oKSkKKyAgICAv
LworICAgIC8vIERpZmZlcmVuY2UgMjogY2xhbXBpbmcgc3RlcHMKKyAgICAvLyBJZiB0aGUgY3Vy
cmVudCB2YWx1ZSBpcyBub3QgbWF0Y2hlZCB0byBzdGVwIHZhbHVlOgorICAgIC8vIC0gVGhlIHZh
bHVlIHNob3VsZCBiZSB0aGUgbGFyZ2VyIG1hdGNoZWQgdmFsdWUgbmVhcmVzdCB0byAwIGlmIG4g
PiAwCisgICAgLy8gICBlLmcuIDxpbnB1dCB0eXBlPW51bWJlciB2YWx1ZT0zIG1pbj0tMTAwIHN0
ZXA9Mz4gLT4gNQorICAgIC8vIC0gVGhlIHZhbHVlIHNob3VsZCBiZSB0aGUgc21hbGVyIG1hdGNo
ZWQgdmFsdWUgbmVhcmVzdCB0byAwIGlmIG4gPCAwCisgICAgLy8gICBlLmcuIDxpbnB1dCB0eXBl
PW51bWJlciB2YWx1ZT0zIG1pbj0tMTAwIHN0ZXA9Mz4gLT4gMgorICAgIC8vCisgICAgLy8gbiBp
cyBhc3N1bWVkIGFzIC1uIGlmIHN0ZXAgPCAwLgorCisgICAgQVNTRVJUKGhhc1NwaW5CdXR0b24o
KSB8fCBtX2lucHV0VHlwZS0+aXNSYW5nZUNvbnRyb2woKSk7CisgICAgaWYgKCFoYXNTcGluQnV0
dG9uKCkgJiYgIW1faW5wdXRUeXBlLT5pc1JhbmdlQ29udHJvbCgpKQogICAgICAgICByZXR1cm47
CiAgICAgQVNTRVJUKG4pOwogICAgIGlmICghbikKICAgICAgICAgcmV0dXJuOwogCisgICAgdW5z
aWduZWQgc3RlcERlY2ltYWxQbGFjZXMsIGJhc2VEZWNpbWFsUGxhY2VzOworICAgIGRvdWJsZSBz
dGVwLCBiYXNlOworICAgIGlmIChlcXVhbElnbm9yaW5nQ2FzZShnZXRBdHRyaWJ1dGUoc3RlcEF0
dHIpLCAiYW55IikpCisgICAgICAgIHN0ZXAgPSAwOworICAgIGVsc2UgaWYgKCFnZXRBbGxvd2Vk
VmFsdWVTdGVwV2l0aERlY2ltYWxQbGFjZXMoJnN0ZXAsICZzdGVwRGVjaW1hbFBsYWNlcykpCisg
ICAgICAgIHJldHVybjsKKyAgICBiYXNlID0gbV9pbnB1dFR5cGUtPnN0ZXBCYXNlV2l0aERlY2lt
YWxQbGFjZXMoJmJhc2VEZWNpbWFsUGxhY2VzKTsKKyAgICBiYXNlRGVjaW1hbFBsYWNlcyA9IG1p
bihiYXNlRGVjaW1hbFBsYWNlcywgMTZ1KTsKKworICAgIGludCBzaWduID0gbiAqIChzdGVwIDwg
MCA/ICgtMSkgOiAoMSkpOworCiAgICAgY29uc3QgZG91YmxlIG5hbiA9IG51bWVyaWNfbGltaXRz
PGRvdWJsZT46OnF1aWV0X05hTigpOwogICAgIFN0cmluZyBjdXJyZW50U3RyaW5nVmFsdWUgPSB2
YWx1ZSgpOwogICAgIGRvdWJsZSBjdXJyZW50ID0gbV9pbnB1dFR5cGUtPnBhcnNlVG9Eb3VibGUo
Y3VycmVudFN0cmluZ1ZhbHVlLCBuYW4pOwotICAgIGlmICghaXNmaW5pdGUoY3VycmVudCkgfHwg
KG4gPiAwICYmIGN1cnJlbnQgPCBtX2lucHV0VHlwZS0+bWluaW11bSgpKSB8fCAobiA8IDAgJiYg
Y3VycmVudCA+IG1faW5wdXRUeXBlLT5tYXhpbXVtKCkpKQotICAgICAgICBzZXRWYWx1ZShtX2lu
cHV0VHlwZS0+c2VyaWFsaXplKG4gPiAwID8gbV9pbnB1dFR5cGUtPm1pbmltdW0oKSA6IG1faW5w
dXRUeXBlLT5tYXhpbXVtKCkpKTsKKyAgICBpZiAoIWlzZmluaXRlKGN1cnJlbnQpKSB7CisgICAg
ICAgIEV4Y2VwdGlvbkNvZGUgZWM7CisgICAgICAgIGN1cnJlbnQgPSBtX2lucHV0VHlwZS0+ZGVm
YXVsdFZhbHVlRm9yU3RlcFVwKCk7CisgICAgICAgIHNldFZhbHVlQXNOdW1iZXIoY3VycmVudCwg
ZWMpOworICAgIH0KKyAgICBpZiAoKHNpZ24gPiAwICYmIGN1cnJlbnQgPCBtX2lucHV0VHlwZS0+
bWluaW11bSgpKSB8fCAoc2lnbiA8IDAgJiYgY3VycmVudCA+IG1faW5wdXRUeXBlLT5tYXhpbXVt
KCkpKQorICAgICAgICBzZXRWYWx1ZShtX2lucHV0VHlwZS0+c2VyaWFsaXplKHNpZ24gPiAwID8g
bV9pbnB1dFR5cGUtPm1pbmltdW0oKSA6IG1faW5wdXRUeXBlLT5tYXhpbXVtKCkpKTsKICAgICBl
bHNlIHsKICAgICAgICAgRXhjZXB0aW9uQ29kZSBlYzsKLSAgICAgICAgc3RlcFVwKG4sIGVjKTsK
KyAgICAgICAgaWYgKHN0ZXBNaXNtYXRjaChjdXJyZW50U3RyaW5nVmFsdWUpKSB7CisgICAgICAg
ICAgICBkb3VibGUgbmV3VmFsdWU7CisgICAgICAgICAgICBkb3VibGUgc2NhbGUgPSBwb3coMTAu
MCwgc3RhdGljX2Nhc3Q8ZG91YmxlPihtYXgoc3RlcERlY2ltYWxQbGFjZXMsIGJhc2VEZWNpbWFs
UGxhY2VzKSkpOworCisgICAgICAgICAgICBpZiAoc2lnbiA8IDApCisgICAgICAgICAgICAgICAg
bmV3VmFsdWUgPSByb3VuZCgoYmFzZSArIGZsb29yKChjdXJyZW50IC0gYmFzZSkgLyBzdGVwKSAq
IHN0ZXApICogc2NhbGUpIC8gc2NhbGU7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAg
ICAgbmV3VmFsdWUgPSByb3VuZCgoYmFzZSArIGNlaWwoKGN1cnJlbnQgLSBiYXNlKSAvIHN0ZXAp
ICogc3RlcCkgKiBzY2FsZSkgLyBzY2FsZTsKKworICAgICAgICAgICAgaWYgKG5ld1ZhbHVlIDwg
bV9pbnB1dFR5cGUtPm1pbmltdW0oKSkKKyAgICAgICAgICAgICAgICBuZXdWYWx1ZSA9IG1faW5w
dXRUeXBlLT5taW5pbXVtKCk7CisgICAgICAgICAgICBpZiAobmV3VmFsdWUgPiBtX2lucHV0VHlw
ZS0+bWF4aW11bSgpKQorICAgICAgICAgICAgICAgIG5ld1ZhbHVlID0gbV9pbnB1dFR5cGUtPm1h
eGltdW0oKTsKKworICAgICAgICAgICAgc2V0VmFsdWVBc051bWJlcihuZXdWYWx1ZSwgZWMpOwor
ICAgICAgICAgICAgY3VycmVudCA9IG5ld1ZhbHVlOworICAgICAgICAgICAgaWYgKG4gPiAxKQor
ICAgICAgICAgICAgICAgIGFwcGx5U3RlcChuIC0gMSwgZWMpOworICAgICAgICAgICAgZWxzZSBp
ZiAobiA8IC0xKQorICAgICAgICAgICAgICAgIGFwcGx5U3RlcChuICsgMSwgZWMpOworICAgICAg
ICB9IGVsc2UKKyAgICAgICAgICAgIGFwcGx5U3RlcChuLCBlYyk7CiAgICAgfQogCiAgICAgaWYg
KGN1cnJlbnRTdHJpbmdWYWx1ZSAhPSB2YWx1ZSgpKSB7CiAgICAgICAgIGlmIChyZW5kZXJlcigp
ICYmIHJlbmRlcmVyKCktPmlzVGV4dEZpZWxkKCkpCiAgICAgICAgICAgICB0b1JlbmRlclRleHRD
b250cm9sKHJlbmRlcmVyKCkpLT5zZXRDaGFuZ2VkU2luY2VMYXN0Q2hhbmdlRXZlbnQodHJ1ZSk7
Ci0gICAgICAgIGRpc3BhdGNoRXZlbnQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkuaW5wdXRF
dmVudCwgdHJ1ZSwgZmFsc2UpKTsKKyAgICAgICAgaWYgKG1faW5wdXRUeXBlLT5pc1JhbmdlQ29u
dHJvbCgpKQorICAgICAgICAgICAgZGlzcGF0Y2hGb3JtQ29udHJvbENoYW5nZUV2ZW50KCk7Cisg
ICAgICAgIGVsc2UKKyAgICAgICAgICAgIGRpc3BhdGNoRXZlbnQoRXZlbnQ6OmNyZWF0ZShldmVu
dE5hbWVzKCkuaW5wdXRFdmVudCwgdHJ1ZSwgZmFsc2UpKTsKICAgICB9CiB9CiAKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmggYi9XZWJDb3JlL2h0bWwvSFRNTElu
cHV0RWxlbWVudC5oCmluZGV4IDk4ODQxMTdiODExY2NhMTllZTA3NDdiMDVkMDViOGZjZTAyMmI1
MWIuLjY3NjFiNTc4Y2ZkZDg3OGM5NzU5MTVjNzMyNzgyNzAyODJmYTA0NjcgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmgKKysrIGIvV2ViQ29yZS9odG1sL0hUTUxJ
bnB1dEVsZW1lbnQuaApAQCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUgIkhUTUxGb3JtQ29udHJv
bEVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MRm9ybUVsZW1lbnQuaCIKICNpbmNsdWRlICJJbnB1
dEVsZW1lbnQuaCIKKyNpbmNsdWRlICJJbnB1dFR5cGUuaCIKICNpbmNsdWRlIDx3dGYvT3duUHRy
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9JbnB1
dFR5cGUuY3BwIGIvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5jcHAKaW5kZXggNmRkMDAyYzRmMmFm
ZDE1MWVkNDJiYjhlMzMwZTFmNTIyNGQ4MzJjMi4uYmE5ZTg3NzIwYjhjZWYxNGJlOGYyODZlNGE0
MTcwNDFjMzc2OGNmMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5jcHAKKysr
IGIvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5jcHAKQEAgLTEyNSw2ICsxMjUsMTEgQEAgYm9vbCBJ
bnB1dFR5cGU6OmlzVGV4dFR5cGUoKSBjb25zdAogICAgIHJldHVybiBmYWxzZTsKIH0KIAorYm9v
bCBJbnB1dFR5cGU6OmlzUmFuZ2VDb250cm9sKCkgY29uc3QKK3sKKyAgICByZXR1cm4gZmFsc2U7
Cit9CisKIGJvb2wgSW5wdXRUeXBlOjpzYXZlRm9ybUNvbnRyb2xTdGF0ZShTdHJpbmcmIHJlc3Vs
dCkgY29uc3QKIHsKICAgICBTdHJpbmcgY3VycmVudFZhbHVlID0gZWxlbWVudCgpLT52YWx1ZSgp
OwpAQCAtMjEzLDYgKzIxOCwxMSBAQCBib29sIElucHV0VHlwZTo6cmFuZ2VPdmVyZmxvdyhjb25z
dCBTdHJpbmcmKSBjb25zdAogICAgIHJldHVybiBmYWxzZTsKIH0KIAorZG91YmxlIElucHV0VHlw
ZTo6ZGVmYXVsdFZhbHVlRm9yU3RlcFVwKCkgY29uc3QKK3sKKyAgICByZXR1cm4gMDsKK30KKwog
ZG91YmxlIElucHV0VHlwZTo6bWluaW11bSgpIGNvbnN0CiB7CiAgICAgQVNTRVJUX05PVF9SRUFD
SEVEKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmggYi9XZWJDb3JlL2h0
bWwvSW5wdXRUeXBlLmgKaW5kZXggZjFhNWI2ZGNhMGY3ZmFlMjMwMjllOGMyNjk0OWRhYTIyMmQ3
M2IxYS4uNGRjZmYwMTkzMjdmZmYzM2M2NzIyNWQzOGJmNDU5ZDI1MzcxNGMwYSAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5oCisrKyBiL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUu
aApAQCAtNjAsNiArNjAsNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIGJvb2wgaXNUZXh0Rmll
bGQoKSBjb25zdDsKICAgICB2aXJ0dWFsIGJvb2wgaXNUZXh0VHlwZSgpIGNvbnN0OworICAgIHZp
cnR1YWwgYm9vbCBpc1JhbmdlQ29udHJvbCgpIGNvbnN0OwogICAgIHZpcnR1YWwgY29uc3QgQXRv
bWljU3RyaW5nJiBmb3JtQ29udHJvbFR5cGUoKSBjb25zdCA9IDA7CiAKICAgICAvLyBGb3JtIHZh
bHVlIGZ1bmN0aW9ucwpAQCAtODksNiArOTAsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29s
IHBhdHRlcm5NaXNtYXRjaChjb25zdCBTdHJpbmcmKSBjb25zdDsKICAgICB2aXJ0dWFsIGJvb2wg
cmFuZ2VVbmRlcmZsb3coY29uc3QgU3RyaW5nJikgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIHJh
bmdlT3ZlcmZsb3coY29uc3QgU3RyaW5nJikgY29uc3Q7CisgICAgdmlydHVhbCBkb3VibGUgZGVm
YXVsdFZhbHVlRm9yU3RlcFVwKCkgY29uc3Q7CiAgICAgdmlydHVhbCBkb3VibGUgbWluaW11bSgp
IGNvbnN0OwogICAgIHZpcnR1YWwgZG91YmxlIG1heGltdW0oKSBjb25zdDsKICAgICB2aXJ0dWFs
IGJvb2wgc3RlcE1pc21hdGNoKGNvbnN0IFN0cmluZyYsIGRvdWJsZSkgY29uc3Q7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2h0bWwvTW9udGhJbnB1dFR5cGUuY3BwIGIvV2ViQ29yZS9odG1sL01vbnRo
SW5wdXRUeXBlLmNwcAppbmRleCBjYmRlNWNiYWQyOTQxZDRjNTgxYTgzYmExMDFlNDlhZGFiMjNk
ZDU2Li5mNTY0MjJjZjFkN2E1MzMwMDM4ZDMxYTU5NWY4MmYzODc1NjBhZGU5IDEwMDY0NAotLS0g
YS9XZWJDb3JlL2h0bWwvTW9udGhJbnB1dFR5cGUuY3BwCisrKyBiL1dlYkNvcmUvaHRtbC9Nb250
aElucHV0VHlwZS5jcHAKQEAgLTc0LDYgKzc0LDIxIEBAIHZvaWQgTW9udGhJbnB1dFR5cGU6OnNl
dFZhbHVlQXNEYXRlKGRvdWJsZSB2YWx1ZSwgRXhjZXB0aW9uQ29kZSYpIGNvbnN0CiAgICAgZWxl
bWVudCgpLT5zZXRWYWx1ZShkYXRlLnRvU3RyaW5nKCkpOwogfQogCitkb3VibGUgTW9udGhJbnB1
dFR5cGU6OmRlZmF1bHRWYWx1ZUZvclN0ZXBVcCgpIGNvbnN0Cit7CisgICAgZG91YmxlIGN1cnJl
bnQgPSBjdXJyZW50VGltZU1TKCk7CisgICAgZG91YmxlIHV0Y09mZnNldCA9IGNhbGN1bGF0ZVVU
Q09mZnNldCgpOworICAgIGRvdWJsZSBkc3RPZmZzZXQgPSBjYWxjdWxhdGVEU1RPZmZzZXQoY3Vy
cmVudCwgdXRjT2Zmc2V0KTsKKyAgICBpbnQgb2Zmc2V0ID0gc3RhdGljX2Nhc3Q8aW50PigodXRj
T2Zmc2V0ICsgZHN0T2Zmc2V0KSAvIG1zUGVyTWludXRlKTsKKyAgICBjdXJyZW50ICs9IG9mZnNl
dCAqIG1zUGVyTWludXRlOworCisgICAgRGF0ZUNvbXBvbmVudHMgZGF0ZTsKKyAgICBkYXRlLnNl
dE1pbGxpc2Vjb25kc1NpbmNlRXBvY2hGb3JNb250aChjdXJyZW50KTsKKyAgICBkb3VibGUgbW9u
dGhzID0gZGF0ZS5tb250aHNTaW5jZUVwb2NoKCk7CisgICAgQVNTRVJUKGlzZmluaXRlKG1vbnRo
cykpOworICAgIHJldHVybiBtb250aHM7Cit9CisKIGRvdWJsZSBNb250aElucHV0VHlwZTo6bWlu
aW11bSgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIHBhcnNlVG9Eb3VibGUoZWxlbWVudCgpLT5mYXN0
R2V0QXR0cmlidXRlKG1pbkF0dHIpLCBEYXRlQ29tcG9uZW50czo6bWluaW11bU1vbnRoKCkpOwpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL01vbnRoSW5wdXRUeXBlLmggYi9XZWJDb3JlL2h0bWwv
TW9udGhJbnB1dFR5cGUuaAppbmRleCA1MGNmN2Q1MGY5NGJmNTA2ODE3MmU3Yjk5NTVlNjM0MTUw
NjRmZDBhLi4yMzUzNmUyZDk0MjRjMzllNGNmNjE2OWIzMDU5MWM1M2Q3MmQ1MjczIDEwMDY0NAot
LS0gYS9XZWJDb3JlL2h0bWwvTW9udGhJbnB1dFR5cGUuaAorKysgYi9XZWJDb3JlL2h0bWwvTW9u
dGhJbnB1dFR5cGUuaApAQCAtNDUsNiArNDUsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgZG91
YmxlIHZhbHVlQXNEYXRlKCkgY29uc3Q7CiAgICAgdmlydHVhbCB2b2lkIHNldFZhbHVlQXNEYXRl
KGRvdWJsZSwgRXhjZXB0aW9uQ29kZSYpIGNvbnN0OwogICAgIHZpcnR1YWwgZG91YmxlIHBhcnNl
VG9Eb3VibGUoY29uc3QgU3RyaW5nJiwgZG91YmxlKSBjb25zdDsKKyAgICB2aXJ0dWFsIGRvdWJs
ZSBkZWZhdWx0VmFsdWVGb3JTdGVwVXAoKSBjb25zdDsKICAgICB2aXJ0dWFsIGRvdWJsZSBtaW5p
bXVtKCkgY29uc3Q7CiAgICAgdmlydHVhbCBkb3VibGUgbWF4aW11bSgpIGNvbnN0OwogICAgIHZp
cnR1YWwgZG91YmxlIGRlZmF1bHRTdGVwKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0
bWwvUmFuZ2VJbnB1dFR5cGUuY3BwIGIvV2ViQ29yZS9odG1sL1JhbmdlSW5wdXRUeXBlLmNwcApp
bmRleCBhZDQ3ZjE0Y2IxNGE5ZDg4OTEyZmNkYTYyYzhmOTdmODhhZDNiYzFjLi4zMGI1M2ZlM2Ux
NzJkMDFmOWJjZTZmZTU5Y2JkODg1NDk1MTliOGUwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwv
UmFuZ2VJbnB1dFR5cGUuY3BwCisrKyBiL1dlYkNvcmUvaHRtbC9SYW5nZUlucHV0VHlwZS5jcHAK
QEAgLTU1LDYgKzU1LDExIEBAIFBhc3NPd25QdHI8SW5wdXRUeXBlPiBSYW5nZUlucHV0VHlwZTo6
Y3JlYXRlKEhUTUxJbnB1dEVsZW1lbnQqIGVsZW1lbnQpCiAgICAgcmV0dXJuIGFkb3B0UHRyKG5l
dyBSYW5nZUlucHV0VHlwZShlbGVtZW50KSk7CiB9CiAKK2Jvb2wgUmFuZ2VJbnB1dFR5cGU6Omlz
UmFuZ2VDb250cm9sKCkgY29uc3QKK3sKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogY29uc3QgQXRv
bWljU3RyaW5nJiBSYW5nZUlucHV0VHlwZTo6Zm9ybUNvbnRyb2xUeXBlKCkgY29uc3QKIHsKICAg
ICByZXR1cm4gSW5wdXRUeXBlTmFtZXM6OnJhbmdlKCk7CkBAIC0xNDMsNiArMTQ4LDggQEAgYm9v
bCBSYW5nZUlucHV0VHlwZTo6aGFuZGxlS2V5ZG93bkV2ZW50KEtleWJvYXJkRXZlbnQqIGV2ZW50
KQogICAgICAgICBkb3VibGUgc3RlcCA9IChtYXggLSBtaW4pIC8gMTAwOwogICAgICAgICBkb3Vi
bGUgY3VycmVudCA9IHBhcnNlVG9Eb3VibGUoZWxlbWVudCgpLT52YWx1ZSgpLCBudW1lcmljX2xp
bWl0czxkb3VibGU+OjpxdWlldF9OYU4oKSk7CiAgICAgICAgIEFTU0VSVChpc2Zpbml0ZShjdXJy
ZW50KSk7CisgICAgICAgIC8vIE5vdCB1c2luZyBzdGVwVXBGcm9tUmVuZGVyZXIoKSBzaW5jZSBp
dCBpcyBub3QgYW55IGtpbmQgb2Ygc3RlcFVwKCkKKyAgICAgICAgLy8gTm8gc3RlcFVwKCkgZm9y
IHN0ZXA9ImFueSIKICAgICAgICAgZG91YmxlIG5ld1ZhbHVlOwogICAgICAgICBpZiAoa2V5ID09
ICJVcCIgfHwga2V5ID09ICJSaWdodCIpIHsKICAgICAgICAgICAgIG5ld1ZhbHVlID0gY3VycmVu
dCArIHN0ZXA7CkBAIC0xNTksMTAgKzE2Niw4IEBAIGJvb2wgUmFuZ2VJbnB1dFR5cGU6OmhhbmRs
ZUtleWRvd25FdmVudChLZXlib2FyZEV2ZW50KiBldmVudCkKICAgICAgICAgfQogICAgIH0gZWxz
ZSB7CiAgICAgICAgIGludCBzdGVwTWFnbmlmaWNhdGlvbiA9IChrZXkgPT0gIlVwIiB8fCBrZXkg
PT0gIlJpZ2h0IikgPyAxIDogLTE7Ci0gICAgICAgIFN0cmluZyBsYXN0U3RyaW5nVmFsdWUgPSBl
bGVtZW50KCktPnZhbHVlKCk7Ci0gICAgICAgIGVsZW1lbnQoKS0+c3RlcFVwKHN0ZXBNYWduaWZp
Y2F0aW9uLCBlYyk7Ci0gICAgICAgIGlmIChsYXN0U3RyaW5nVmFsdWUgIT0gZWxlbWVudCgpLT52
YWx1ZSgpKQotICAgICAgICAgICAgZWxlbWVudCgpLT5kaXNwYXRjaEZvcm1Db250cm9sQ2hhbmdl
RXZlbnQoKTsKKyAgICAgICAgLy8gVXNpbmcgc3RlcFVwRnJvbVJlbmRlcmVyKCkgc2luY2UgaXQg
aXMgYSBraW5kIG9mIHN0ZXBVcCgpIG9wZXJhdGlvbgorICAgICAgICBlbGVtZW50KCktPnN0ZXBV
cEZyb21SZW5kZXJlcihzdGVwTWFnbmlmaWNhdGlvbik7CiAgICAgfQogICAgIGV2ZW50LT5zZXRE
ZWZhdWx0SGFuZGxlZCgpOwogICAgIHJldHVybiB0cnVlOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9o
dG1sL1JhbmdlSW5wdXRUeXBlLmggYi9XZWJDb3JlL2h0bWwvUmFuZ2VJbnB1dFR5cGUuaAppbmRl
eCBjMmJiYjBmYzFkMTMyYjBmNzliNWQ3MTRjZGI1MTVkZDljZTMxNWExLi4xNDI4MGU4NmVhYmYz
OWFlYTk5NDYxZmUzYjE0ZWExOTJiYTUwZmQ1IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvUmFu
Z2VJbnB1dFR5cGUuaAorKysgYi9XZWJDb3JlL2h0bWwvUmFuZ2VJbnB1dFR5cGUuaApAQCAtNDEs
NiArNDEsNyBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAgICAgUmFuZ2VJbnB1dFR5cGUoSFRNTElu
cHV0RWxlbWVudCogZWxlbWVudCkgOiBJbnB1dFR5cGUoZWxlbWVudCkgeyB9CisgICAgdmlydHVh
bCBib29sIGlzUmFuZ2VDb250cm9sKCkgY29uc3Q7CiAgICAgdmlydHVhbCBjb25zdCBBdG9taWNT
dHJpbmcmIGZvcm1Db250cm9sVHlwZSgpIGNvbnN0OwogICAgIHZpcnR1YWwgZG91YmxlIHZhbHVl
QXNOdW1iZXIoKSBjb25zdDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0VmFsdWVBc051bWJlcihkb3Vi
bGUsIEV4Y2VwdGlvbkNvZGUmKSBjb25zdDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9UaW1l
SW5wdXRUeXBlLmNwcCBiL1dlYkNvcmUvaHRtbC9UaW1lSW5wdXRUeXBlLmNwcAppbmRleCAyN2Rj
ZTkwNTdkM2NiN2RjOTJhMWRlMDAwZDczYzcyN2Q2ZTM4YzNhLi40N2RmOTk3YWRiZDU2MzRhZmNj
NDI5ZWZlNGIzYjA5ZTliMGQwODIyIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvVGltZUlucHV0
VHlwZS5jcHAKKysrIGIvV2ViQ29yZS9odG1sL1RpbWVJbnB1dFR5cGUuY3BwCkBAIC01Myw2ICs1
MywyMSBAQCBjb25zdCBBdG9taWNTdHJpbmcmIFRpbWVJbnB1dFR5cGU6OmZvcm1Db250cm9sVHlw
ZSgpIGNvbnN0CiAgICAgcmV0dXJuIElucHV0VHlwZU5hbWVzOjp0aW1lKCk7CiB9CiAKK2RvdWJs
ZSBUaW1lSW5wdXRUeXBlOjpkZWZhdWx0VmFsdWVGb3JTdGVwVXAoKSBjb25zdAoreworICAgIGRv
dWJsZSBjdXJyZW50ID0gY3VycmVudFRpbWVNUygpOworICAgIGRvdWJsZSB1dGNPZmZzZXQgPSBj
YWxjdWxhdGVVVENPZmZzZXQoKTsKKyAgICBkb3VibGUgZHN0T2Zmc2V0ID0gY2FsY3VsYXRlRFNU
T2Zmc2V0KGN1cnJlbnQsIHV0Y09mZnNldCk7CisgICAgaW50IG9mZnNldCA9IHN0YXRpY19jYXN0
PGludD4oKHV0Y09mZnNldCArIGRzdE9mZnNldCkgLyBtc1Blck1pbnV0ZSk7CisgICAgY3VycmVu
dCArPSBvZmZzZXQgKiBtc1Blck1pbnV0ZTsKKworICAgIERhdGVDb21wb25lbnRzIGRhdGU7Cisg
ICAgZGF0ZS5zZXRNaWxsaXNlY29uZHNTaW5jZU1pZG5pZ2h0KGN1cnJlbnQpOworICAgIGRvdWJs
ZSBtaWxsaXNlY29uZHMgPSBkYXRlLm1pbGxpc2Vjb25kc1NpbmNlRXBvY2goKTsKKyAgICBBU1NF
UlQoaXNmaW5pdGUobWlsbGlzZWNvbmRzKSk7CisgICAgcmV0dXJuIG1pbGxpc2Vjb25kczsKK30K
KwogZG91YmxlIFRpbWVJbnB1dFR5cGU6Om1pbmltdW0oKSBjb25zdAogewogICAgIHJldHVybiBw
YXJzZVRvRG91YmxlKGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJpYnV0ZShtaW5BdHRyKSwgRGF0ZUNv
bXBvbmVudHM6Om1pbmltdW1UaW1lKCkpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL1RpbWVJ
bnB1dFR5cGUuaCBiL1dlYkNvcmUvaHRtbC9UaW1lSW5wdXRUeXBlLmgKaW5kZXggNjA3MGZhMDcz
ODlhOWFlNzI4ZTlmYTYyMGFhM2VlOWFmMjY3MDcyNy4uYjUwZDk4NzE0N2EwOWRlMjIxNTJhNDA4
NGRkOTE5NDFjYzZlMmY0YSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL1RpbWVJbnB1dFR5cGUu
aAorKysgYi9XZWJDb3JlL2h0bWwvVGltZUlucHV0VHlwZS5oCkBAIC00Miw2ICs0Miw3IEBAIHB1
YmxpYzoKIHByaXZhdGU6CiAgICAgVGltZUlucHV0VHlwZShIVE1MSW5wdXRFbGVtZW50KiBlbGVt
ZW50KSA6IEJhc2VEYXRlQW5kVGltZUlucHV0VHlwZShlbGVtZW50KSB7IH0KICAgICB2aXJ0dWFs
IGNvbnN0IEF0b21pY1N0cmluZyYgZm9ybUNvbnRyb2xUeXBlKCkgY29uc3Q7CisgICAgdmlydHVh
bCBkb3VibGUgZGVmYXVsdFZhbHVlRm9yU3RlcFVwKCkgY29uc3Q7CiAgICAgdmlydHVhbCBkb3Vi
bGUgbWluaW11bSgpIGNvbnN0OwogICAgIHZpcnR1YWwgZG91YmxlIG1heGltdW0oKSBjb25zdDsK
ICAgICB2aXJ0dWFsIGRvdWJsZSBkZWZhdWx0U3RlcCgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9tYW51YWwtdGVzdHMvaW5wdXQtdHlwZS1kYXRldGltZS1kZWZhdWx0LXZhbHVlLmh0bWwg
Yi9XZWJDb3JlL21hbnVhbC10ZXN0cy9pbnB1dC10eXBlLWRhdGV0aW1lLWRlZmF1bHQtdmFsdWUu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xYzdhODE3NTBlYjQ1ZGRiY2JhM2I0OTA1MjQ5Zjg3M2RlZTRhNWRj
Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9tYW51YWwtdGVzdHMvaW5wdXQtdHlwZS1kYXRl
dGltZS1kZWZhdWx0LXZhbHVlLmh0bWwKQEAgLTAsMCArMSwzNyBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+PHRpdGxlPkRlZmF1bHQgdmFsdWVzIGZvciBkYXRlL3RpbWUgaW5wdXQgKHR5cGU9IGRh
dGUsIGRhdGV0aW1lLCBkYXRldGltZS1sb2NhbCwgbW9udGgsIHRpbWUsIHdlZWspPC90aXRsZT48
L2hlYWQ+CisKKzxwPkVudGVyIFVwIG9yIERvd24sIG9yIGNsaWNrIHRoZSBzcGluIGJ1dHRvbnMg
Zm9yIGVhY2ggaW5wdXQgZmllbGQuPC9wPgorCisKKzwhLS0KKyoqKioKKyBXZSBzaG91bGQgYWRk
IHRlc3QgY2FzZXMgd2l0aCBlbXB0eS9pbnZhbGlkIHZhbHVlcyBhbmQgaW52YWxpZC9hbnkgc3Rl
cC4KKyoqKgorLS0+CisKKzxmb3JtPgorICA8dWw+CisgICAgPGxpPmRhdGU6IDxpbnB1dCB0eXBl
PSJkYXRlIiBzaXplPSIzMiIgdmFsdWU9IiIgLz4KKyAgICA8bGk+ZGF0ZXRpbWU6IDxpbnB1dCB0
eXBlPSJkYXRldGltZSIgIHNpemU9IjMyIiB2YWx1ZT0iIiAvPgorICAgIDxsaT5kYXRldGltZS1s
b2NhbDogPGlucHV0IHR5cGU9ImRhdGV0aW1lLWxvY2FsIiBzaXplPSIzMiIgdmFsdWU9IiIgLz4K
KyAgICA8bGk+bW9udGg6IDxpbnB1dCB0eXBlPSJtb250aCIgc2l6ZT0iMzIiIHZhbHVlPSIiIC8+
CisgICAgPGxpPnRpbWU6IDxpbnB1dCB0eXBlPSJ0aW1lIiBzaXplPSIzMiIgdmFsdWU9IiIgLz4K
KyAgICA8bGk+d2VlayA8aW5wdXQgdHlwZT0id2VlayIgc2l6ZT0iMzIiIHZhbHVlPSIiIC8+Cisg
IDwvdWw+Cis8L2Zvcm0+CisKKzxwPlRoZSBpbnB1dCBmaWVsZHMgc2hvdWxkIHNob3cgdGhlIGN1
cnJlbnQgZGF0ZS90aW1lICh3aXRoICsgb3IgLSBhIHVuaXQgZGF0ZS90aW1lIGRlc2NyaWJlZCBi
ZWxvdykuPC9wPgorCis8cD5Vbml0IGRhdGVzL3RpbWVzPC9wPgorPHVsPgorICA8bGk+ZGF0ZTog
MSBkYXkKKyAgPGxpPmRhdGV0aW1lOiAxIG1pbnV0ZQorICA8bGk+ZGF0ZXRpbWUtbG9jYWw6IDEg
bWludXRlCisgIDxsaT5tb250aDogMSBtb250aAorICA8bGk+dGltZTogMSBtaW51dGUKKyAgPGxp
PndlZWs6IDEgd2VlaworPC91bD4KKworPC9ib2R5PjwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>74988</attachid>
            <date>2010-11-28 22:53:33 -0800</date>
            <delta_ts>2010-11-29 02:00:01 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-45491-20101129155338.patch</filename>
            <type>text/plain</type>
            <size>58537</size>
            <attacher name="Dai Mikurube">dmikurube</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL0phdmFTY3JpcHRDb3JlL0No
YW5nZUxvZwppbmRleCA3NjQ0Y2Q3NjI5NGUxZmYzYTIwZWRmYzBjM2NlNDBkZjc4YmRjNmYyLi5i
NjM5ZmY3MzM2OGFiM2NkMDIxZTkyMDVjZjAzYzM0MWM5YmFmODhiIDEwMDY0NAotLS0gYS9KYXZh
U2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjYgQEAKKzIwMTAtMTEtMjQgIERhaSBNaWt1cnViZSAgPGRtaWt1cnViZUBnb29nbGUu
Y29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIHdo
ZW4gZW1wdHksIGNsaWNraW5nICJkb3duIiBvbiBvdXRlci1zcGluLWJ1dHRvbiByZXR1cm5zICJt
YXggdmFsdWUiCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD00NTQ5MQorCisgICAgICAgIEl0IGlzIHJlcXVpcmVkIHRvIGNhbGN1bGF0ZSBVVEMvRFNUIG9m
ZnNldHMgdG8gcmV0cmlldmUgdGhlIGN1cnJlbnQgbG9jYWwgbWlsbGlzZWNvbmRzIGZvcgorICAg
ICAgICBkYXRlL3RpbWUgdHlwZSBpbnB1dHMuIFdURjo6Y3VycmVudFRpbWVNUygpIHJldHVybnMg
YSBVVEMgdGltZSwgYW5kIFdURjo6Z2V0TG9jYWxUaW1lKCkKKyAgICAgICAgcmV0dXJucyBhIHN0
cnVjdCB0bSwgbm90IG1pbGxpc2Vjb25kcy4KKworICAgICAgICBDYWxjdWxhdGluZyBtaWxsaXNl
Y29uZHMgZnJvbSBhIHN0cnVjdCB0bSBpcyBub3QgY2xlYXIuIHRpbWVnbSgpIGNhbm5vdCBiZSB1
c2VkIGluIGFsbAorICAgICAgICBlbnZpcm9ubWVudHMuIFRoaXMgY29udmVyc2lvbiBpcyBjb21w
bGljYXRlZCBhbmQgYWxyZWFkeSBkb25lIGF0IGNhbGN1bGF0ZVVUQ09mZnNldCgpLgorICAgICAg
ICBEdXBsaWNhdGluZyB0aGlzIGNvbXBsaWNhdGVkIGNhbGN1bGF0aW9uIGlzIHVucmVhc29uYWJs
ZSBiZWNhdXNlIG9mIG1haW50YWluYWJpbGl0eS4KKyAgICAgICAgVG8gYWNoaWV2ZSB0aGlzIHdp
dGhvdXQgZHVwbGljYXRpb24sIHdlIG11c3QgY2FsbCBjYWxjdWxhdGV7VVRDfERTVH1PZmZzZXQg
aW4gc29tZSB3YXkuCisKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS5leHA6CisgICAgICAgICog
SmF2YVNjcmlwdENvcmUudmNwcm9qL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmRlZjoK
KyAgICAgICAgKiB3dGYvRGF0ZU1hdGguY3BwOiBDaGFuZ2VkIGNhbGN1bGF0ZVVUQ09mZnNldCgp
IGFuZCBjYWxjdWxhdGVEU1RPZmZzZXQoKSB0byBleHRlcm5hbCBmdW5jdGlvbnMuCisgICAgICAg
IChXVEY6OmNhbGN1bGF0ZVVUQ09mZnNldCk6CisgICAgICAgIChXVEY6OmNhbGN1bGF0ZURTVE9m
ZnNldCk6CisgICAgICAgICogd3RmL0RhdGVNYXRoLmg6CisKIDIwMTAtMTEtMTggIEdhdmluIEJh
cnJhY2xvdWdoICA8YmFycmFjbG91Z2hAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5
IE9saXZlciBIdW50LgpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUu
ZXhwIGIvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZXhwCmluZGV4IDM3MTVhNDM4Mzdk
YzkxMGU4ZGU3MGU0MzNlZDI2ZmViMTU0MTgwZDMuLjM5YmY1MjcwMmIwYjAwYmRkMzliNWE0MmNi
NGQ4ODA1NWU2YWIyYjkgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3Jl
LmV4cAorKysgYi9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5leHAKQEAgLTQwNCw2ICs0
MDQsOCBAQCBfX1pOM1dURjE3Y2hhcmFjdGVyc1RvRmxvYXRFUEt0bVBiCiBfX1pOM1dURjE3ZXF1
YWxJZ25vcmluZ0Nhc2VFUEt0UEtjagogX19aTjNXVEYxN2VxdWFsSWdub3JpbmdDYXNlRVBOU18x
MFN0cmluZ0ltcGxFUEtjCiBfX1pOM1dURjE3ZXF1YWxJZ25vcmluZ0Nhc2VFUE5TXzEwU3RyaW5n
SW1wbEVTMV8KK19fWk4zV1RGMThjYWxjdWxhdGVEU1RPZmZzZXRFZGQKK19fWk4zV1RGMThjYWxj
dWxhdGVVVENPZmZzZXRFdgogX19aTjNXVEYxOGNoYXJhY3RlcnNUb0RvdWJsZUVQS3RtUGIKIF9f
Wk4zV1RGMThkYXRlVG9EYXlzRnJvbTE5NzBFaWlpCiBfX1pOM1dURjE4bW9udGhGcm9tRGF5SW5Z
ZWFyRWliCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ov
SmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZGVmIGIvSmF2YVNjcmlwdENvcmUvSmF2YVNj
cmlwdENvcmUudmNwcm9qL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmRlZgppbmRleCA0
NDljMGJiODQxNTU0Y2MyN2VhYzJmNTlhMjQyNWFhMzBhMmRkMDhiLi40MmFjN2YxMTYxOGQxOTBi
NGYzYTNmZDhlY2IxNzc3MGVjZjcwNDg4IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9KYXZh
U2NyaXB0Q29yZS52Y3Byb2ovSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZGVmCisrKyBi
L0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9KYXZhU2NyaXB0Q29yZS9KYXZh
U2NyaXB0Q29yZS5kZWYKQEAgLTU5LDYgKzU5LDggQEAgRVhQT1JUUwogICAgID9icm9hZGNhc3RA
VGhyZWFkQ29uZGl0aW9uQFdURkBAUUFFWFhaCiAgICAgP2J1ZmZlckxlbmd0aEZvclN0cmluZ0Rl
Y2ltYWxARGVjaW1hbE51bWJlckBXVEZAQFFCRUlYWgogICAgID9jYWxjdWxhdGVkRnVuY3Rpb25O
YW1lQERlYnVnZ2VyQ2FsbEZyYW1lQEpTQ0BAUUJFP0FWVVN0cmluZ0AyQFhaCisgICAgP2NhbGN1
bGF0ZVVUQ09mZnNldEBXVEZAQFlBSFhaCisgICAgP2NhbGN1bGF0ZURTVE9mZnNldEBXVEZAQFlB
Tk5OQFoKICAgICA/Y2FsbEBKU0NAQFlBP0FWSlNWYWx1ZUAxQFBBVkV4ZWNTdGF0ZUAxQFYyMUBX
NENhbGxUeXBlQDFAQUJUQ2FsbERhdGFAMUAxQUJWQXJnTGlzdEAxQEBaCiAgICAgP2NhbGxPbk1h
aW5UaHJlYWRAV1RGQEBZQVhQNkFYUEFYQFowQFoKICAgICA/Y2FsbE9uTWFpblRocmVhZEFuZFdh
aXRAV1RGQEBZQVhQNkFYUEFYQFowQFoKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9E
YXRlTWF0aC5jcHAgYi9KYXZhU2NyaXB0Q29yZS93dGYvRGF0ZU1hdGguY3BwCmluZGV4IGYzNjI3
ZTZiOTgzZTgyYjlhYTNhNDBhYzQ5ZGI2ZDUwYmU1ZjA4MTQuLjY3NWYwOTNmMDFiYjQ1Zjg4Yjcz
YzQ2MDY5ZDUyYzBiOGQwOWVhYjQgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9EYXRl
TWF0aC5jcHAKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL0RhdGVNYXRoLmNwcApAQCAtMzc5LDcg
KzM3OSw3IEBAIGludCBlcXVpdmFsZW50WWVhckZvckRTVChpbnQgeWVhcikKICAgICByZXR1cm4g
eWVhcjsKIH0KIAotc3RhdGljIGludDMyX3QgY2FsY3VsYXRlVVRDT2Zmc2V0KCkKK2ludDMyX3Qg
Y2FsY3VsYXRlVVRDT2Zmc2V0KCkKIHsKICNpZiBQTEFURk9STShCUkVXTVApCiAgICAgdGltZV90
IGxvY2FsVGltZSA9IHN0YXRpY19jYXN0PHRpbWVfdD4oY3VycmVudFRpbWUoKSk7CkBAIC00NDks
NyArNDQ5LDcgQEAgc3RhdGljIGRvdWJsZSBjYWxjdWxhdGVEU1RPZmZzZXRTaW1wbGUoZG91Ymxl
IGxvY2FsVGltZVNlY29uZHMsIGRvdWJsZSB1dGNPZmZzZXQKIH0KIAogLy8gR2V0IHRoZSBEU1Qg
b2Zmc2V0LCBnaXZlbiBhIHRpbWUgaW4gVVRDCi1zdGF0aWMgZG91YmxlIGNhbGN1bGF0ZURTVE9m
ZnNldChkb3VibGUgbXMsIGRvdWJsZSB1dGNPZmZzZXQpCitkb3VibGUgY2FsY3VsYXRlRFNUT2Zm
c2V0KGRvdWJsZSBtcywgZG91YmxlIHV0Y09mZnNldCkKIHsKICAgICAvLyBPbiBNYWMgT1MgWCwg
dGhlIGNhbGwgdG8gbG9jYWx0aW1lIChzZWUgY2FsY3VsYXRlRFNUT2Zmc2V0U2ltcGxlKSB3aWxs
IHJldHVybiBoaXN0b3JpY2FsbHkgYWNjdXJhdGUKICAgICAvLyBEU1QgaW5mb3JtYXRpb24gKGUu
Zy4gTmV3IFplYWxhbmQgZGlkIG5vdCBoYXZlIERTVCBmcm9tIDE5NDYgdG8gMTk3NCkgaG93ZXZl
ciB0aGUgSmF2YVNjcmlwdApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL0RhdGVNYXRo
LmggYi9KYXZhU2NyaXB0Q29yZS93dGYvRGF0ZU1hdGguaAppbmRleCBiZTUxOTQ3ZjJhMWJkOTFi
YTk3YWY3ZTJiOWIzNmExNTE1Yjk1MTNmLi5jYjg0NzA4MTE4ZmE2YTE3YjlhYTg4NjY2NTdkNGZh
MDkyMzEyYmI4IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvRGF0ZU1hdGguaAorKysg
Yi9KYXZhU2NyaXB0Q29yZS93dGYvRGF0ZU1hdGguaApAQCAtODQsNiArODQsMTAgQEAgaW50IGRh
eUluWWVhcihkb3VibGUgbXMsIGludCB5ZWFyKTsKIGludCBtb250aEZyb21EYXlJblllYXIoaW50
IGRheUluWWVhciwgYm9vbCBsZWFwWWVhcik7CiBpbnQgZGF5SW5Nb250aEZyb21EYXlJblllYXIo
aW50IGRheUluWWVhciwgYm9vbCBsZWFwWWVhcik7CiAKKy8vIFJldHVybnMgb2Zmc2V0IG1pbGxp
c2Vjb25kcyBmb3IgVVRDIGFuZCBEU1QuCitpbnQzMl90IGNhbGN1bGF0ZVVUQ09mZnNldCgpOwor
ZG91YmxlIGNhbGN1bGF0ZURTVE9mZnNldChkb3VibGUgbXMsIGRvdWJsZSB1dGNPZmZzZXQpOwor
CiB9IC8vIG5hbWVzcGFjZSBXVEYKIAogdXNpbmcgV1RGOjpkYXRlVG9EYXlzRnJvbTE5NzA7CkBA
IC05MiwxMCArOTYsMTMgQEAgdXNpbmcgV1RGOjpkYXlJblllYXI7CiB1c2luZyBXVEY6Om1pbnV0
ZXNQZXJIb3VyOwogdXNpbmcgV1RGOjptb250aEZyb21EYXlJblllYXI7CiB1c2luZyBXVEY6Om1z
UGVyRGF5OwordXNpbmcgV1RGOjptc1Blck1pbnV0ZTsKIHVzaW5nIFdURjo6bXNQZXJTZWNvbmQ7
CiB1c2luZyBXVEY6Om1zVG9ZZWFyOwogdXNpbmcgV1RGOjpzZWNvbmRzUGVyTWludXRlOwogdXNp
bmcgV1RGOjpwYXJzZURhdGVGcm9tTnVsbFRlcm1pbmF0ZWRDaGFyYWN0ZXJzOwordXNpbmcgV1RG
OjpjYWxjdWxhdGVVVENPZmZzZXQ7Cit1c2luZyBXVEY6OmNhbGN1bGF0ZURTVE9mZnNldDsKIAog
I2lmIFVTRShKU0MpCiBuYW1lc3BhY2UgSlNDIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0No
YW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBhZTMwNDdjMmQwNTY3NzZkNTgz
YzAyZTE4MDBlZDg1Y2RiNDQ1OGNjLi5lNjBkZjVhMWM4YzA0NGIyZWZkZTFhYmM0MDQzMDA5ZDI3
YTA3MThmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTAtMTEtMjQgIERhaSBNaWt1cnViZSAg
PGRtaWt1cnViZUBnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIHdoZW4gZW1wdHksIGNsaWNraW5nICJkb3duIiBvbiBvdXRlci1zcGlu
LWJ1dHRvbiByZXR1cm5zICJtYXggdmFsdWUiCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD00NTQ5MQorCisgICAgICAgICogZmFzdC9mb3Jtcy9pbnB1dC1z
dGVwdXAtc3RlcGRvd24tZnJvbS1yZW5kZXJlci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGZhc3QvZm9ybXMvaW5wdXQtc3RlcHVwLXN0ZXBkb3duLWZyb20tcmVuZGVyZXIuaHRtbDog
QWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvaW5wdXQtc3RlcHVwLXN0
ZXBkb3duLWZyb20tcmVuZGVyZXIuanM6IEFkZGVkLgorICAgICAgICAoKToKKyAgICAgICAgKHNl
dElucHV0QXR0cmlidXRlcyk6CisgICAgICAgIChzdGVwVXApOgorICAgICAgICAoc3RlcERvd24p
OgorICAgICAgICAoc3RlcFVwRXhwbGljaXRCb3VuZHMpOgorICAgICAgICAoc3RlcERvd25FeHBs
aWNpdEJvdW5kcyk6CisKIDIwMTAtMTEtMTggIERhdmlkIExldmluICA8bGV2aW5AY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIFtjaHJvbWl1bV0gTWlzYyB0ZXN0IHVwZGF0ZXMgKG1vc3QgUnVieSku
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lucHV0LXN0ZXB1cC1zdGVwZG93
bi1mcm9tLXJlbmRlcmVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW5w
dXQtc3RlcHVwLXN0ZXBkb3duLWZyb20tcmVuZGVyZXItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjYyYjJhNjNjMDEzMzg3YTY1NGQyOGY0MzMyYzQ1OTJlNDZmMTQ2ZmQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lucHV0LXN0ZXB1cC1zdGVwZG93bi1mcm9tLXJl
bmRlcmVyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDI2MiBAQAorQ2hlY2sgc3RlcFVwKCkgYW5k
IHN0ZXBEb3duKCkgZm9yICBmcm9tIHJlbmRlcmVyLiBObyBjYXNlcyBvZiBlbXB0eSBpbml0aWFs
IHZhbHVlcyBmb3IgdHlwZT1kYXRlLCBkYXRldGltZSwgZGF0ZXRpbWUtbG9jYWwsIG1vbnRoLCB0
aW1lLCB3ZWVrLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworRGF0ZSB0eXBlCitm
dW5jdGlvbiBhcmd1bWVudHMgYXJlICh2YWx1ZSwgc3RlcCwge21pbiBvciBtYXh9LCBbc3RlcENv
dW50XSkKK05vcm1hbCBjYXNlcworUEFTUyBzdGVwVXAoIjIwMTAtMDItMTAiLCBudWxsLCBudWxs
KSBpcyAiMjAxMC0wMi0xMSIKK1BBU1Mgc3RlcERvd24oIjIwMTAtMDItMTAiLCBudWxsLCBudWxs
KSBpcyAiMjAxMC0wMi0wOSIKK1BBU1Mgc3RlcFVwKCIyMDEwLTAyLTEwIiwgbnVsbCwgbnVsbCwg
MTApIGlzICIyMDEwLTAyLTIwIgorUEFTUyBzdGVwRG93bigiMjAxMC0wMi0xMCIsIG51bGwsIG51
bGwsIDExKSBpcyAiMjAxMC0wMS0zMCIKK1BBU1Mgc3RlcFVwKCIxOTcwLTAxLTAxIiwgIjQiLCBu
dWxsLCAyKSBpcyAiMTk3MC0wMS0wOSIKK1BBU1Mgc3RlcERvd24oIjE5NzAtMDEtMDEiLCAiNCIs
IG51bGwsIDMpIGlzICIxOTY5LTEyLTIwIgorU3RlcD1hbnkKK1BBU1Mgc3RlcFVwKCIyMDEwLTAy
LTEwIiwgImFueSIsIG51bGwpIGlzICIyMDEwLTAyLTEwIgorUEFTUyBzdGVwRG93bigiMjAxMC0w
Mi0xMCIsICJhbnkiLCBudWxsKSBpcyAiMjAxMC0wMi0xMCIKK092ZXJmbG93L3VuZGVyZmxvdwor
UEFTUyBzdGVwVXAoIjIwMTAtMDItMTAiLCAiMy40MDI4MjM0NmUrMzgiLCBudWxsKSBpcyAiMjc1
NzYwLTA5LTEzIgorUEFTUyBzdGVwRG93bigiMjAxMC0wMi0xMCIsICIzLjQwMjgyMzQ2ZSszOCIs
IG51bGwpIGlzICIxOTcwLTAxLTAxIgorUEFTUyBzdGVwVXAoIjIwMTAtMDItMTAiLCAiMSIsICIy
MDEwLTAyLTEwIikgaXMgIjIwMTAtMDItMTAiCitQQVNTIHN0ZXBEb3duKCIyMDEwLTAyLTEwIiwg
IjEiLCAiMjAxMC0wMi0xMCIpIGlzICIyMDEwLTAyLTEwIgorc3RlcERvd24oKS9zdGVwVXAoKSBm
b3Igc3RlcE1pc21hdGNoIHZhbHVlcworUEFTUyBzdGVwRG93bigiMjAxMC0wMi0xMCIsICIzIiwg
IjIwMTAtMDItMDYiKSBpcyAiMjAxMC0wMi0wOSIKK1BBU1Mgc3RlcFVwKCIxOTcwLTAxLTAyIiwg
IjIiLCAiIikgaXMgIjE5NzAtMDEtMDMiCisKK0RhdGV0aW1lIHR5cGUKK2Z1bmN0aW9uIGFyZ3Vt
ZW50cyBhcmUgKHZhbHVlLCBzdGVwLCB7bWluIG9yIG1heH0sIFtzdGVwQ291bnRdKQorTm9ybWFs
IGNhc2VzCitQQVNTIHN0ZXBVcCgiMjAxMC0wMi0xMFQyMDoxM1oiLCBudWxsLCBudWxsKSBpcyAi
MjAxMC0wMi0xMFQyMDoxNFoiCitQQVNTIHN0ZXBEb3duKCIyMDEwLTAyLTEwVDIwOjEzWiIsIG51
bGwsIG51bGwpIGlzICIyMDEwLTAyLTEwVDIwOjEyWiIKK1BBU1Mgc3RlcFVwKCIyMDEwLTAyLTEw
VDIwOjEzWiIsIG51bGwsIG51bGwsIDEwKSBpcyAiMjAxMC0wMi0xMFQyMDoyM1oiCitQQVNTIHN0
ZXBEb3duKCIyMDEwLTAyLTEwVDIwOjEzWiIsIG51bGwsIG51bGwsIDExKSBpcyAiMjAxMC0wMi0x
MFQyMDowMloiCitQQVNTIHN0ZXBVcCgiMTk3MC0wMS0wMVQyMDoxM1oiLCAiNCIsIG51bGwsIDIp
IGlzICIxOTcwLTAxLTAxVDIwOjEzOjA4WiIKK1BBU1Mgc3RlcERvd24oIjE5NzAtMDEtMDFUMjA6
MTNaIiwgIjQiLCBudWxsLCAzKSBpcyAiMTk3MC0wMS0wMVQyMDoxMjo0OFoiCitTdGVwPWFueQor
UEFTUyBzdGVwVXAoIjIwMTAtMDItMTBUMjA6MTNaIiwgImFueSIsIG51bGwpIGlzICIyMDEwLTAy
LTEwVDIwOjEzWiIKK1BBU1Mgc3RlcERvd24oIjIwMTAtMDItMTBUMjA6MTNaIiwgImFueSIsIG51
bGwpIGlzICIyMDEwLTAyLTEwVDIwOjEzWiIKK092ZXJmbG93L3VuZGVyZmxvdworUEFTUyBzdGVw
VXAoIjIwMTAtMDItMTBUMjA6MTNaIiwgIjMuNDAyODIzNDZlKzM4IiwgbnVsbCkgaXMgIjI3NTc2
MC0wOS0xM1QwMDowMDowMC4wMDBaIgorUEFTUyBzdGVwRG93bigiMjAxMC0wMi0xMFQyMDoxM1oi
LCAiMy40MDI4MjM0NmUrMzgiLCBudWxsKSBpcyAiMTk3MC0wMS0wMVQwMDowMDowMC4wMDBaIgor
UEFTUyBzdGVwVXAoIjIwMTAtMDItMTBUMjA6MTNaIiwgIjEiLCAiMjAxMC0wMi0xMFQyMDoxM1oi
KSBpcyAiMjAxMC0wMi0xMFQyMDoxM1oiCitQQVNTIHN0ZXBEb3duKCIyMDEwLTAyLTEwVDIwOjEz
WiIsICIxIiwgIjIwMTAtMDItMTBUMjA6MTNaIikgaXMgIjIwMTAtMDItMTBUMjA6MTNaIgorc3Rl
cERvd24oKS9zdGVwVXAoKSBmb3Igc3RlcE1pc21hdGNoIHZhbHVlcworUEFTUyBzdGVwRG93bigi
MjAxMC0wMi0xMFQyMDoxM1oiLCAiMyIsICIyMDEwLTAyLTEwVDIwOjEyOjU2WiIpIGlzICIyMDEw
LTAyLTEwVDIwOjEyOjU5WiIKK1BBU1Mgc3RlcFVwKCIxOTcwLTAxLTAxVDAwOjEzWiIsICI3Iiwg
IiIpIGlzICIxOTcwLTAxLTAxVDAwOjEzOjA0WiIKKworRGF0ZXRpbWUtbG9jYWwgdHlwZQorZnVu
Y3Rpb24gYXJndW1lbnRzIGFyZSAodmFsdWUsIHN0ZXAsIHttaW4gb3IgbWF4fSwgW3N0ZXBDb3Vu
dF0pCitOb3JtYWwgY2FzZXMKK1BBU1Mgc3RlcFVwKCIyMDEwLTAyLTEwVDIwOjEzIiwgbnVsbCwg
bnVsbCkgaXMgIjIwMTAtMDItMTBUMjA6MTQiCitQQVNTIHN0ZXBEb3duKCIyMDEwLTAyLTEwVDIw
OjEzIiwgbnVsbCwgbnVsbCkgaXMgIjIwMTAtMDItMTBUMjA6MTIiCitQQVNTIHN0ZXBVcCgiMjAx
MC0wMi0xMFQyMDoxMyIsIG51bGwsIG51bGwsIDEwKSBpcyAiMjAxMC0wMi0xMFQyMDoyMyIKK1BB
U1Mgc3RlcERvd24oIjIwMTAtMDItMTBUMjA6MTMiLCBudWxsLCBudWxsLCAxMSkgaXMgIjIwMTAt
MDItMTBUMjA6MDIiCitQQVNTIHN0ZXBVcCgiMTk3MC0wMS0wMVQyMDoxMyIsICI0IiwgbnVsbCwg
MikgaXMgIjE5NzAtMDEtMDFUMjA6MTM6MDgiCitQQVNTIHN0ZXBEb3duKCIxOTcwLTAxLTAxVDIw
OjEzIiwgIjQiLCBudWxsLCAzKSBpcyAiMTk3MC0wMS0wMVQyMDoxMjo0OCIKK1N0ZXA9YW55CitQ
QVNTIHN0ZXBVcCgiMjAxMC0wMi0xMFQyMDoxMyIsICJhbnkiLCBudWxsKSBpcyAiMjAxMC0wMi0x
MFQyMDoxMyIKK1BBU1Mgc3RlcERvd24oIjIwMTAtMDItMTBUMjA6MTMiLCAiYW55IiwgbnVsbCkg
aXMgIjIwMTAtMDItMTBUMjA6MTMiCitPdmVyZmxvdy91bmRlcmZsb3cKK1BBU1Mgc3RlcFVwKCIy
MDEwLTAyLTEwVDIwOjEzIiwgIjMuNDAyODIzNDZlKzM4IiwgbnVsbCkgaXMgIjI3NTc2MC0wOS0x
M1QwMDowMDowMC4wMDAiCitQQVNTIHN0ZXBEb3duKCIyMDEwLTAyLTEwVDIwOjEzIiwgIjMuNDAy
ODIzNDZlKzM4IiwgbnVsbCkgaXMgIjE5NzAtMDEtMDFUMDA6MDA6MDAuMDAwIgorUEFTUyBzdGVw
VXAoIjIwMTAtMDItMTBUMjA6MTMiLCAiMSIsICIyMDEwLTAyLTEwVDIwOjEzIikgaXMgIjIwMTAt
MDItMTBUMjA6MTMiCitQQVNTIHN0ZXBEb3duKCIyMDEwLTAyLTEwVDIwOjEzIiwgIjEiLCAiMjAx
MC0wMi0xMFQyMDoxMyIpIGlzICIyMDEwLTAyLTEwVDIwOjEzIgorc3RlcERvd24oKS9zdGVwVXAo
KSBmb3Igc3RlcE1pc21hdGNoIHZhbHVlcworUEFTUyBzdGVwRG93bigiMjAxMC0wMi0xMFQyMDox
MyIsICIzIiwgIjIwMTAtMDItMTBUMjA6MTI6NTYiKSBpcyAiMjAxMC0wMi0xMFQyMDoxMjo1OSIK
K1BBU1Mgc3RlcFVwKCIxOTcwLTAxLTAxVDAwOjEzIiwgIjciLCAiIikgaXMgIjE5NzAtMDEtMDFU
MDA6MTM6MDQiCisKK01vbnRoIHR5cGUKK2Z1bmN0aW9uIGFyZ3VtZW50cyBhcmUgKHZhbHVlLCBz
dGVwLCB7bWluIG9yIG1heH0sIFtzdGVwQ291bnRdKQorTm9ybWFsIGNhc2VzCitQQVNTIHN0ZXBV
cCgiMjAxMC0wMiIsIG51bGwsIG51bGwpIGlzICIyMDEwLTAzIgorUEFTUyBzdGVwRG93bigiMjAx
MC0wMiIsIG51bGwsIG51bGwpIGlzICIyMDEwLTAxIgorUEFTUyBzdGVwVXAoIjIwMTAtMDIiLCBu
dWxsLCBudWxsLCAxMCkgaXMgIjIwMTAtMTIiCitQQVNTIHN0ZXBEb3duKCIyMDEwLTAyIiwgbnVs
bCwgbnVsbCwgMTEpIGlzICIyMDA5LTAzIgorUEFTUyBzdGVwVXAoIjE5NzAtMDEiLCAiNCIsIG51
bGwsIDIpIGlzICIxOTcwLTA5IgorUEFTUyBzdGVwRG93bigiMTk3MC0wMSIsICI0IiwgbnVsbCwg
MykgaXMgIjE5NjktMDEiCitTdGVwPWFueQorUEFTUyBzdGVwVXAoIjIwMTAtMDIiLCAiYW55Iiwg
bnVsbCkgaXMgIjIwMTAtMDIiCitQQVNTIHN0ZXBEb3duKCIyMDEwLTAyIiwgImFueSIsIG51bGwp
IGlzICIyMDEwLTAyIgorT3ZlcmZsb3cvdW5kZXJmbG93CitQQVNTIHN0ZXBVcCgiMjAxMC0wMiIs
ICIzLjQwMjgyMzQ2ZSszOCIsIG51bGwpIGlzICIyNzU3NjAtMDkiCitQQVNTIHN0ZXBEb3duKCIy
MDEwLTAyIiwgIjMuNDAyODIzNDZlKzM4IiwgbnVsbCkgaXMgIjE5NzAtMDEiCitQQVNTIHN0ZXBV
cCgiMjAxMC0wMiIsICIxIiwgIjIwMTAtMDIiKSBpcyAiMjAxMC0wMiIKK1BBU1Mgc3RlcERvd24o
IjIwMTAtMDIiLCAiMSIsICIyMDEwLTAyIikgaXMgIjIwMTAtMDIiCitzdGVwRG93bigpL3N0ZXBV
cCgpIGZvciBzdGVwTWlzbWF0Y2ggdmFsdWVzCitQQVNTIHN0ZXBEb3duKCIyMDEwLTAyIiwgIjMi
LCAiMjAwOS0xMCIpIGlzICIyMDEwLTAxIgorUEFTUyBzdGVwVXAoIjE5NzAtMDIiLCAiNCIsICIi
KSBpcyAiMTk3MC0wNSIKKworTnVtYmVyIHR5cGUKK2Z1bmN0aW9uIGFyZ3VtZW50cyBhcmUgKHZh
bHVlLCBzdGVwLCB7bWluIG9yIG1heH0sIFtzdGVwQ291bnRdKQorSW52YWxpZCB2YWx1ZQorUEFT
UyBzdGVwVXAoIiIsIG51bGwsIG51bGwpIGlzICIxIgorUEFTUyBzdGVwRG93bigiIiwgbnVsbCwg
bnVsbCkgaXMgIi0xIgorUEFTUyBzdGVwVXAoIiIsICJhbnkiLCBudWxsKSBpcyAiMCIKK1BBU1Mg
c3RlcERvd24oIiIsICJhbnkiLCBudWxsKSBpcyAiMCIKK1BBU1Mgc3RlcFVwKCIiLCAiZm9vIiwg
bnVsbCkgaXMgIjEiCitQQVNTIHN0ZXBEb3duKCIiLCAiZm9vIiwgbnVsbCkgaXMgIi0xIgorUEFT
UyBzdGVwVXAoImZvbyIsIG51bGwsIG51bGwpIGlzICIxIgorUEFTUyBzdGVwRG93bigiZm9vIiwg
bnVsbCwgbnVsbCkgaXMgIi0xIgorUEFTUyBzdGVwVXAoImZvbyIsICJhbnkiLCBudWxsKSBpcyAi
MCIKK1BBU1Mgc3RlcERvd24oImZvbyIsICJhbnkiLCBudWxsKSBpcyAiMCIKK1BBU1Mgc3RlcFVw
KCJmb28iLCAiZm9vIiwgbnVsbCkgaXMgIjEiCitQQVNTIHN0ZXBEb3duKCJmb28iLCAiZm9vIiwg
bnVsbCkgaXMgIi0xIgorTm9ybWFsIGNhc2VzCitQQVNTIHN0ZXBVcCgiMCIsIG51bGwsIG51bGwp
IGlzICIxIgorUEFTUyBzdGVwVXAoIjEiLCBudWxsLCBudWxsLCAyKSBpcyAiMyIKK1BBU1Mgc3Rl
cFVwKCIzIiwgbnVsbCwgbnVsbCwgLTEpIGlzICIyIgorUEFTUyBzdGVwRG93bigiMiIsIG51bGws
IG51bGwpIGlzICIxIgorUEFTUyBzdGVwRG93bigiMSIsIG51bGwsIG51bGwsIDIpIGlzICItMSIK
K1BBU1Mgc3RlcERvd24oIi0xIiwgbnVsbCwgbnVsbCwgLTEpIGlzICIwIgorSW52YWxpZCBzdGVw
IHZhbHVlCitQQVNTIHN0ZXBVcCgiMCIsICJmb28iLCBudWxsKSBpcyAiMSIKK1BBU1Mgc3RlcFVw
KCIxIiwgIjAiLCBudWxsKSBpcyAiMiIKK1BBU1Mgc3RlcFVwKCIyIiwgIi0xIiwgbnVsbCkgaXMg
IjMiCitTdGVwPWFueQorUEFTUyBzdGVwVXAoIjAiLCAiYW55IiwgbnVsbCkgaXMgIjAiCitQQVNT
IHN0ZXBEb3duKCIwIiwgImFueSIsIG51bGwpIGlzICIwIgorT3ZlcmZsb3cvdW5kZXJmbG93CitQ
QVNTIHN0ZXBEb3duKCIxIiwgIjEiLCAiMCIpIGlzICIwIgorUEFTUyBzdGVwRG93bigiMCIsICIx
IiwgIjAiKSBpcyAiMCIKK1BBU1Mgc3RlcERvd24oIjEiLCAiMSIsICIwIiwgMikgaXMgIjAiCitQ
QVNTIHN0ZXBEb3duKCIxIiwgIjMuNDAyODIzNDZlKzM4IiwgIiIsIDIpIGlzICItMy40MDI4MjM0
NmUrMzgiCitQQVNTIHN0ZXBVcCgiLTEiLCAiMSIsICIwIikgaXMgIjAiCitQQVNTIHN0ZXBVcCgi
MCIsICIxIiwgIjAiKSBpcyAiMCIKK1BBU1Mgc3RlcFVwKCItMSIsICIxIiwgIjAiLCAyKSBpcyAi
MCIKK1BBU1Mgc3RlcFVwKCIxIiwgIjMuNDAyODIzNDZlKzM4IiwgIiIsIDIpIGlzICIzLjQwMjgy
MzQ2ZSszOCIKK3N0ZXBEb3duKCkvc3RlcFVwKCkgZm9yIHN0ZXBNaXNtYXRjaCB2YWx1ZXMKK1BB
U1Mgc3RlcFVwKCIxIiwgIjIiLCAiIikgaXMgIjIiCitQQVNTIGlucHV0Lm1pbiA9ICIwIjsgc3Rl
cFVwKCI5IiwgIjEwIiwgIiIpIGlzICIxMCIKK1BBU1Mgc3RlcERvd24oIjE5IiwgIjEwIiwgIjAi
KSBpcyAiMTAiCitQQVNTIHN0ZXBVcCgiODkiLCAiMTAiLCAiOTkiKSBpcyAiOTAiCitIdWdlIHZh
bHVlIGFuZCBzbWFsbCBzdGVwCitQQVNTIGlucHV0Lm1pbiA9ICIiOyBzdGVwVXAoIjFlKzM4Iiwg
IjEiLCAiIiwgOTk5KSBpcyAiMWUrMzgiCitQQVNTIGlucHV0Lm1heCA9ICIiOyBzdGVwRG93bigi
MWUrMzgiLCAiMSIsICIiLCA5OTkpIGlzICIxZSszOCIKK0ZyYWN0aW9uYWwgbnVtYmVycworUEFT
UyBpbnB1dC5taW4gPSAiIjsgc3RlcFVwKCIwIiwgIjAuMzMzMzMzMzMzMzMzMzMzMzMiLCAiIiwg
MykgaXMgIjEiCitQQVNTIHN0ZXBVcCgiMSIsICIwLjEiLCAiIiwgMTApIGlzICIyIgorUEFTUyBp
bnB1dC5taW4gPSAiMCI7IHN0ZXBVcCgiMCIsICIwLjAwMzkyMTU2ODYyNzQ1MDk4MCIsICIxIiwg
MjU1KSBpcyAiMSIKK1JvdW5kaW5nCitQQVNTIHN0ZXBVcCgiNS4wMDUiLCAiMC4wMDUiLCAiIiwg
MikgaXMgIjUuMDE1IgorUEFTUyBzdGVwVXAoIjUuMDA1IiwgIjAuMDA1IiwgIiIsIDExKSBpcyAi
NS4wNiIKK1BBU1Mgc3RlcFVwKCI1LjAwNSIsICIwLjAwNSIsICIiLCAxMikgaXMgIjUuMDY1Igor
UEFTUyBzdGVwVXBFeHBsaWNpdEJvdW5kcygiNCIsICI5IiwgIjAuMDA1IiwgIjUuMDA1IiwgMikg
aXMgIjUuMDE1IgorUEFTUyBzdGVwVXBFeHBsaWNpdEJvdW5kcygiNCIsICI5IiwgIjAuMDA1Iiwg
IjUuMDA1IiwgMTEpIGlzICI1LjA2IgorUEFTUyBzdGVwVXBFeHBsaWNpdEJvdW5kcygiNCIsICI5
IiwgIjAuMDA1IiwgIjUuMDA1IiwgMTIpIGlzICI1LjA2NSIKKworUmFuZ2UgdHlwZQorZnVuY3Rp
b24gYXJndW1lbnRzIGFyZSAobWluLCBtYXgsIHN0ZXAsIHZhbHVlLCBbc3RlcENvdW50XSkKK1Vz
aW5nIHRoZSBkZWZhdWx0IHZhbHVlcworUEFTUyBzdGVwVXBFeHBsaWNpdEJvdW5kcyhudWxsLCBu
dWxsLCBudWxsLCAiIikgaXMgIjUxIgorUEFTUyBzdGVwRG93bkV4cGxpY2l0Qm91bmRzKG51bGws
IG51bGwsIG51bGwsICIiKSBpcyAiNDkiCitQQVNTIHN0ZXBVcEV4cGxpY2l0Qm91bmRzKG51bGws
IG51bGwsICJhbnkiLCAiIikgaXMgIjUxIgorUEFTUyBzdGVwRG93bkV4cGxpY2l0Qm91bmRzKG51
bGwsIG51bGwsICJhbnkiLCAiIikgaXMgIjQ5IgorUEFTUyBzdGVwVXBFeHBsaWNpdEJvdW5kcyhu
dWxsLCBudWxsLCAiZm9vIiwgIiIpIGlzICI1MSIKK1BBU1Mgc3RlcERvd25FeHBsaWNpdEJvdW5k
cyhudWxsLCBudWxsLCAiZm9vIiwgIiIpIGlzICI0OSIKK1BBU1Mgc3RlcFVwRXhwbGljaXRCb3Vu
ZHMobnVsbCwgbnVsbCwgbnVsbCwgImZvbyIpIGlzICI1MSIKK1BBU1Mgc3RlcERvd25FeHBsaWNp
dEJvdW5kcyhudWxsLCBudWxsLCBudWxsLCAiZm9vIikgaXMgIjQ5IgorUEFTUyBzdGVwVXBFeHBs
aWNpdEJvdW5kcyhudWxsLCBudWxsLCAiYW55IiwgImZvbyIpIGlzICI1MSIKK1BBU1Mgc3RlcERv
d25FeHBsaWNpdEJvdW5kcyhudWxsLCBudWxsLCAiYW55IiwgImZvbyIpIGlzICI0OSIKK1BBU1Mg
c3RlcFVwRXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwgImZvbyIsICJmb28iKSBpcyAiNTEiCitQ
QVNTIHN0ZXBEb3duRXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwgImZvbyIsICJmb28iKSBpcyAi
NDkiCitOb3JtYWwgY2FzZXMKK1BBU1Mgc3RlcFVwRXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwg
bnVsbCwgIjAiKSBpcyAiMSIKK1BBU1Mgc3RlcFVwRXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwg
bnVsbCwgIjEiLCAyKSBpcyAiMyIKK1BBU1Mgc3RlcFVwRXhwbGljaXRCb3VuZHMobnVsbCwgbnVs
bCwgbnVsbCwgIjMiLCAtMSkgaXMgIjIiCitQQVNTIHN0ZXBEb3duRXhwbGljaXRCb3VuZHMoIi0x
MDAiLCBudWxsLCBudWxsLCAiMiIpIGlzICIxIgorUEFTUyBzdGVwRG93bkV4cGxpY2l0Qm91bmRz
KCItMTAwIiwgbnVsbCwgbnVsbCwgIjEiLCAyKSBpcyAiLTEiCitQQVNTIHN0ZXBEb3duRXhwbGlj
aXRCb3VuZHMoIi0xMDAiLCBudWxsLCBudWxsLCAiLTEiLCAtMSkgaXMgIjAiCitJbnZhbGlkIHN0
ZXAgdmFsdWUKK1BBU1Mgc3RlcFVwRXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwgImZvbyIsICIw
IikgaXMgIjEiCitQQVNTIHN0ZXBVcEV4cGxpY2l0Qm91bmRzKG51bGwsIG51bGwsICIwIiwgIjEi
KSBpcyAiMiIKK1BBU1Mgc3RlcFVwRXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwgIi0xIiwgIjIi
KSBpcyAiMyIKK1BBU1Mgc3RlcERvd25FeHBsaWNpdEJvdW5kcyhudWxsLCBudWxsLCAiZm9vIiwg
IjEiKSBpcyAiMCIKK1BBU1Mgc3RlcERvd25FeHBsaWNpdEJvdW5kcyhudWxsLCBudWxsLCAiMCIs
ICIyIikgaXMgIjEiCitQQVNTIHN0ZXBEb3duRXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwgIi0x
IiwgIjMiKSBpcyAiMiIKK1N0ZXA9YW55CitQQVNTIHN0ZXBVcEV4cGxpY2l0Qm91bmRzKG51bGws
IG51bGwsICJhbnkiLCAiMSIpIGlzICIyIgorUEFTUyBzdGVwRG93bkV4cGxpY2l0Qm91bmRzKG51
bGwsIG51bGwsICJhbnkiLCAiMSIpIGlzICIwIgorT3ZlcmZsb3cvdW5kZXJmbG93CitQQVNTIHN0
ZXBVcEV4cGxpY2l0Qm91bmRzKG51bGwsICIxMDAiLCAiMSIsICI5OSIpIGlzICIxMDAiCitQQVNT
IHN0ZXBVcEV4cGxpY2l0Qm91bmRzKG51bGwsICIxMDAiLCAiMSIsICIxMDAiKSBpcyAiMTAwIgor
UEFTUyBpbnB1dC52YWx1ZSBpcyAiMTAwIgorUEFTUyBzdGVwVXBFeHBsaWNpdEJvdW5kcyhudWxs
LCAiMTAwIiwgIjEiLCAiOTkiLCAiMiIpIGlzICIxMDAiCitQQVNTIGlucHV0LnZhbHVlIGlzICIx
MDAiCitQQVNTIHN0ZXBEb3duRXhwbGljaXRCb3VuZHMoIjAiLCBudWxsLCAiMSIsICIxIikgaXMg
IjAiCitQQVNTIHN0ZXBEb3duRXhwbGljaXRCb3VuZHMoIjAiLCBudWxsLCAiMSIsICIwIikgaXMg
IjAiCitQQVNTIGlucHV0LnZhbHVlIGlzICIwIgorUEFTUyBzdGVwRG93bkV4cGxpY2l0Qm91bmRz
KCIwIiwgbnVsbCwgIjEiLCAiMSIsICIyIikgaXMgIjAiCitQQVNTIGlucHV0LnZhbHVlIGlzICIw
IgorUEFTUyBzdGVwRG93bkV4cGxpY2l0Qm91bmRzKG51bGwsIG51bGwsICIzLjQwMjgyMzQ2ZSsz
OCIsICIxIiwgIjIiKSBpcyAiMCIKK1BBU1Mgc3RlcFVwRXhwbGljaXRCb3VuZHMoLTEwMCwgMCwg
MSwgLTEpIGlzICIwIgorUEFTUyBzdGVwVXBFeHBsaWNpdEJvdW5kcyhudWxsLCAwLCAxLCAwKSBp
cyAiMCIKK1BBU1Mgc3RlcFVwRXhwbGljaXRCb3VuZHMoLTEwMCwgMCwgMSwgLTEsIDIpIGlzICIw
IgorUEFTUyBpbnB1dC52YWx1ZSBpcyAiMCIKK1BBU1Mgc3RlcFVwRXhwbGljaXRCb3VuZHMobnVs
bCwgbnVsbCwgIjMuNDAyODIzNDZlKzM4IiwgIjEiLCAiMiIpIGlzICIwIgorc3RlcERvd24oKS9z
dGVwVXAoKSBmb3Igc3RlcE1pc21hdGNoIHZhbHVlcworUEFTUyBzdGVwVXBFeHBsaWNpdEJvdW5k
cyhudWxsLCBudWxsLCAyLCAxKSBpcyAiNCIKK1BBU1Mgc3RlcFVwRXhwbGljaXRCb3VuZHMoMCwg
bnVsbCwgMTAsIDksIDkpIGlzICIxMDAiCitQQVNTIHN0ZXBEb3duRXhwbGljaXRCb3VuZHMoMCwg
bnVsbCwgMTAsIDE5KSBpcyAiMTAiCit2YWx1ZSArIHN0ZXAgaXMgPD0gbWF4LCBidXQgcm91bmRl
ZCByZXN1bHQgd291bGQgYmUgPiBtYXguCitQQVNTIHN0ZXBVcEV4cGxpY2l0Qm91bmRzKG51bGws
IDk5LCAxMCwgODkpIGlzICI5MCIKK0h1Z2UgdmFsdWUgYW5kIHNtYWxsIHN0ZXAKK1BBU1Mgc3Rl
cFVwRXhwbGljaXRCb3VuZHMoMCwgMWUzOCwgMSwgMWUzOCwgOTk5KSBpcyAiMWUrMzgiCitQQVNT
IHN0ZXBEb3duRXhwbGljaXRCb3VuZHMoMCwgMWUzOCwgMSwgMWUzOCwgOTk5KSBpcyAiMWUrMzgi
CitGcmFjdGlvbmFsIG51bWJlcnMKK1BBU1Mgc3RlcFVwRXhwbGljaXRCb3VuZHMobnVsbCwgbnVs
bCwgMC4zMzMzMzMzMzMzMzMzMzMzMywgMCwgMykgaXMgIjEiCitQQVNTIHN0ZXBVcEV4cGxpY2l0
Qm91bmRzKG51bGwsIG51bGwsIDAuMSwgMSkgaXMgIjEuMSIKK1BBU1Mgc3RlcFVwRXhwbGljaXRC
b3VuZHMobnVsbCwgbnVsbCwgMC4xLCAxLCA4KSBpcyAiMS44IgorUEFTUyBzdGVwVXBFeHBsaWNp
dEJvdW5kcyhudWxsLCBudWxsLCAwLjEsIDEsIDEwKSBpcyAiMiIKK1BBU1Mgc3RlcFVwRXhwbGlj
aXRCb3VuZHMoMCwgMSwgMC4wMDM5MjE1Njg2Mjc0NTA5ODAsIDAsIDI1NSkgaXMgIjEiCitQQVNT
IHN0ZXBEb3duRXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwgMC4xLCAxLCA4KSBpcyAiMC4yIgor
UEFTUyBzdGVwRG93bkV4cGxpY2l0Qm91bmRzKG51bGwsIG51bGwsIDAuMSwgMSkgaXMgIjAuOSIK
KworVGltZSB0eXBlCitmdW5jdGlvbiBhcmd1bWVudHMgYXJlICh2YWx1ZSwgc3RlcCwge21pbiBv
ciBtYXh9LCBbc3RlcENvdW50XSkKK05vcm1hbCBjYXNlcworUEFTUyBzdGVwVXAoIjIwOjEzIiwg
bnVsbCwgbnVsbCkgaXMgIjIwOjE0IgorUEFTUyBzdGVwRG93bigiMjA6MTMiLCBudWxsLCBudWxs
KSBpcyAiMjA6MTIiCitQQVNTIHN0ZXBVcCgiMjA6MTMiLCBudWxsLCBudWxsLCAxMCkgaXMgIjIw
OjIzIgorUEFTUyBzdGVwRG93bigiMjA6MTMiLCBudWxsLCBudWxsLCAxMSkgaXMgIjIwOjAyIgor
UEFTUyBzdGVwVXAoIjIwOjEzIiwgIjQiLCBudWxsLCAyKSBpcyAiMjA6MTM6MDgiCitQQVNTIHN0
ZXBEb3duKCIyMDoxMyIsICI0IiwgbnVsbCwgMykgaXMgIjIwOjEyOjQ4IgorU3RlcD1hbnkKK1BB
U1Mgc3RlcFVwKCIyMDoxMyIsICJhbnkiLCBudWxsKSBpcyAiMjA6MTMiCitQQVNTIHN0ZXBEb3du
KCIyMDoxMyIsICJhbnkiLCBudWxsKSBpcyAiMjA6MTMiCitPdmVyZmxvdy91bmRlcmZsb3cKK1BB
U1Mgc3RlcFVwKCIyMDoxMyIsICIzLjQwMjgyMzQ2ZSszOCIsIG51bGwpIGlzICIyMzo1OTo1OS45
OTkiCitQQVNTIHN0ZXBEb3duKCIyMDoxMyIsICIzLjQwMjgyMzQ2ZSszOCIsIG51bGwpIGlzICIw
MDowMDowMC4wMDAiCitQQVNTIHN0ZXBVcCgiMjA6MTMiLCAiMSIsICIyMDoxMyIpIGlzICIyMDox
MyIKK1BBU1Mgc3RlcERvd24oIjIwOjEzIiwgIjEiLCAiMjA6MTMiKSBpcyAiMjA6MTMiCitQQVNT
IHN0ZXBVcCgiMjM6NTkiLCBudWxsLCBudWxsKSBpcyAiMjM6NTkiCitQQVNTIHN0ZXBEb3duKCIw
MDowMCIsIG51bGwsIG51bGwpIGlzICIwMDowMCIKK3N0ZXBEb3duKCkvc3RlcFVwKCkgZm9yIHN0
ZXBNaXNtYXRjaCB2YWx1ZXMKK1BBU1Mgc3RlcERvd24oIjIwOjEzIiwgIjMiLCAiMjA6MTI6NTYi
KSBpcyAiMjA6MTI6NTkiCitQQVNTIHN0ZXBVcCgiMDA6MTMiLCAiNyIsICIiKSBpcyAiMDA6MTM6
MDQiCisKK1dlZWsgdHlwZQorZnVuY3Rpb24gYXJndW1lbnRzIGFyZSAodmFsdWUsIHN0ZXAsIHtt
aW4gb3IgbWF4fSwgW3N0ZXBDb3VudF0pCitOb3JtYWwgY2FzZXMKK1BBU1Mgc3RlcFVwKCIyMDEw
LVcwMiIsIG51bGwsIG51bGwpIGlzICIyMDEwLVcwMyIKK1BBU1Mgc3RlcERvd24oIjIwMTAtVzAy
IiwgbnVsbCwgbnVsbCkgaXMgIjIwMTAtVzAxIgorUEFTUyBzdGVwVXAoIjIwMTAtVzAyIiwgbnVs
bCwgbnVsbCwgMTApIGlzICIyMDEwLVcxMiIKK1BBU1Mgc3RlcERvd24oIjIwMTAtVzAyIiwgbnVs
bCwgbnVsbCwgMTEpIGlzICIyMDA5LVc0NCIKK1BBU1Mgc3RlcFVwKCIxOTcwLVcwMSIsICI0Iiwg
bnVsbCwgMikgaXMgIjE5NzAtVzA5IgorUEFTUyBzdGVwRG93bigiMTk3MC1XMDEiLCAiNCIsIG51
bGwsIDMpIGlzICIxOTY5LVc0MSIKK1N0ZXA9YW55CitQQVNTIHN0ZXBVcCgiMjAxMC1XMDIiLCAi
YW55IiwgbnVsbCkgaXMgIjIwMTAtVzAyIgorUEFTUyBzdGVwRG93bigiMjAxMC1XMDIiLCAiYW55
IiwgbnVsbCkgaXMgIjIwMTAtVzAyIgorT3ZlcmZsb3cvdW5kZXJmbG93CitQQVNTIHN0ZXBVcCgi
MjAxMC1XMDIiLCAiMy40MDI4MjM0NmUrMzgiLCBudWxsKSBpcyAiMjc1NzYwLVczNyIKK1BBU1Mg
c3RlcERvd24oIjIwMTAtVzAyIiwgIjMuNDAyODIzNDZlKzM4IiwgbnVsbCkgaXMgIjE5NzAtVzAx
IgorUEFTUyBzdGVwVXAoIjIwMTAtVzAyIiwgIjEiLCAiMjAxMC1XMDIiKSBpcyAiMjAxMC1XMDIi
CitQQVNTIHN0ZXBEb3duKCIyMDEwLVcwMiIsICIxIiwgIjIwMTAtVzAyIikgaXMgIjIwMTAtVzAy
Igorc3RlcERvd24oKS9zdGVwVXAoKSBmb3Igc3RlcE1pc21hdGNoIHZhbHVlcworUEFTUyBzdGVw
RG93bigiMjAxMC1XMDIiLCAiMiIsICIyMDA5LVc1MiIpIGlzICIyMDEwLVcwMSIKK1BBU1Mgc3Rl
cFVwKCIxOTcwLVcwMiIsICI0IiwgIiIpIGlzICIxOTcwLVcwNSIKKworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvaW5wdXQtc3RlcHVwLXN0ZXBkb3duLWZyb20tcmVuZGVyZXIuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW5wdXQtc3RlcHVwLXN0ZXBkb3duLWZyb20tcmVuZGVy
ZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5hNGZmZmZkYzhlZTYwMDJkNTNkN2FiMjE5ZjkzMWU3MDg5ZDU0
NDVkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9pbnB1dC1zdGVw
dXAtc3RlcGRvd24tZnJvbS1yZW5kZXJlci5odG1sCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRl
c3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlv
biI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRl
c3RzL2lucHV0LXN0ZXB1cC1zdGVwZG93bi1mcm9tLXJlbmRlcmVyLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9zY3JpcHQtdGVzdHMvaW5wdXQtc3RlcHVwLXN0ZXBkb3duLWZyb20tcmVuZGVyZXIuanMgYi9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9pbnB1dC1zdGVwdXAtc3RlcGRvd24t
ZnJvbS1yZW5kZXJlci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MzQwNzM0NGQxOTY5OWY4YmM5ZjYyNzI3MjUy
Y2UyMjk3M2MxZWEyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9z
Y3JpcHQtdGVzdHMvaW5wdXQtc3RlcHVwLXN0ZXBkb3duLWZyb20tcmVuZGVyZXIuanMKQEAgLTAs
MCArMSwzNTYgQEAKK2Rlc2NyaXB0aW9uKCdDaGVjayBzdGVwVXAoKSBhbmQgc3RlcERvd24oKSBm
b3IgPGlucHV0PiBmcm9tIHJlbmRlcmVyLiBObyBjYXNlcyBvZiBlbXB0eSBpbml0aWFsIHZhbHVl
cyBmb3IgdHlwZT1kYXRlLCBkYXRldGltZSwgZGF0ZXRpbWUtbG9jYWwsIG1vbnRoLCB0aW1lLCB3
ZWVrLicpOworCit2YXIgaW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpOwor
dmFyIGludmFsaWRTdGF0ZUVyciA9ICciRXJyb3I6IElOVkFMSURfU1RBVEVfRVJSOiBET00gRXhj
ZXB0aW9uIDExIic7CisKK2Z1bmN0aW9uIHNlbmRLZXkoa2V5TmFtZSkgeworICAgIHZhciBldmVu
dCA9IGRvY3VtZW50LmNyZWF0ZUV2ZW50KCdLZXlib2FyZEV2ZW50Jyk7CisgICAgZXZlbnQuaW5p
dEtleWJvYXJkRXZlbnQoJ2tleWRvd24nLCB0cnVlLCB0cnVlLCBkb2N1bWVudC5kZWZhdWx0Vmll
dywga2V5TmFtZSk7CisgICAgaW5wdXQuZGlzcGF0Y2hFdmVudChldmVudCk7Cit9CisKK2Z1bmN0
aW9uIHNldElucHV0QXR0cmlidXRlcyhtaW4sIG1heCwgc3RlcCwgdmFsdWUpIHsKKyAgICBpbnB1
dC5taW4gPSBtaW47CisgICAgaW5wdXQubWF4ID0gbWF4OworICAgIGlucHV0LnN0ZXAgPSBzdGVw
OworICAgIGlucHV0LnZhbHVlID0gdmFsdWU7Cit9CisKK2Z1bmN0aW9uIHN0ZXBVcCh2YWx1ZSwg
c3RlcCwgbWF4LCBvcHRpb25hbFN0ZXBDb3VudCkgeworICAgIHNldElucHV0QXR0cmlidXRlcyhu
dWxsLCBtYXgsIHN0ZXAsIHZhbHVlKTsKKyAgICBpZiAodHlwZW9mIG9wdGlvbmFsU3RlcENvdW50
ICE9ICJ1bmRlZmluZWQiKQorICAgICAgICBpZiAob3B0aW9uYWxTdGVwQ291bnQgPCAwKQorICAg
ICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCAtb3B0aW9uYWxTdGVwQ291bnQ7IGkrKykKKyAg
ICAgICAgICAgICAgICBzZW5kS2V5KCdEb3duJyk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAg
IGZvciAodmFyIGkgPSAwOyBpIDwgb3B0aW9uYWxTdGVwQ291bnQ7IGkrKykKKyAgICAgICAgICAg
ICAgICBzZW5kS2V5KCdVcCcpOworICAgIGVsc2UKKyAgICAgICAgc2VuZEtleSgnVXAnKTsKKyAg
ICByZXR1cm4gaW5wdXQudmFsdWU7Cit9CisKK2Z1bmN0aW9uIHN0ZXBEb3duKHZhbHVlLCBzdGVw
LCBtaW4sIG9wdGlvbmFsU3RlcENvdW50KSB7CisgICAgc2V0SW5wdXRBdHRyaWJ1dGVzKG1pbiwg
bnVsbCwgc3RlcCwgdmFsdWUpOworICAgIGlmICh0eXBlb2Ygb3B0aW9uYWxTdGVwQ291bnQgIT0g
InVuZGVmaW5lZCIpCisgICAgICAgIGlmIChvcHRpb25hbFN0ZXBDb3VudCA8IDApCisgICAgICAg
ICAgICBmb3IgKHZhciBpID0gMDsgaSA8IC1vcHRpb25hbFN0ZXBDb3VudDsgaSsrKQorICAgICAg
ICAgICAgICAgIHNlbmRLZXkoJ1VwJyk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGZvciAo
dmFyIGkgPSAwOyBpIDwgb3B0aW9uYWxTdGVwQ291bnQ7IGkrKykKKyAgICAgICAgICAgICAgICBz
ZW5kS2V5KCdEb3duJyk7CisgICAgZWxzZQorICAgICAgICBzZW5kS2V5KCdEb3duJyk7CisgICAg
cmV0dXJuIGlucHV0LnZhbHVlOworfQorCisvLyBSYW5nZSB2YWx1ZSBnZXRzIGF1dG9tYXRpY2Fs
bHkgc2hpZnRlZCBiYXNlZCBvbiBib3VuZHMsCisvLyBTbyBhbHdheXMgc2V0IHRoZSBtaW4gYW5k
IG1heCBmaXJzdCB0byBnZXQgZXhwZWN0ZWQgYmVoYXZpb3IKKworZnVuY3Rpb24gc3RlcFVwRXhw
bGljaXRCb3VuZHMobWluLCBtYXgsIHN0ZXAsIHZhbHVlLCBzdGVwQ291bnQpIHsKKyAgICBzZXRJ
bnB1dEF0dHJpYnV0ZXMobWluLCBtYXgsIHN0ZXAsIHZhbHVlKTsKKyAgICBpZiAodHlwZW9mIHN0
ZXBDb3VudCAhPT0gJ3VuZGVmaW5lZCcpCisgICAgICAgIGlmIChzdGVwQ291bnQgPCAwKSB7Cisg
ICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IC1zdGVwQ291bnQ7IGkrKykKKyAgICAgICAg
ICAgICAgICBzZW5kS2V5KCdEb3duJyk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBm
b3IgKHZhciBpID0gMDsgaSA8IHN0ZXBDb3VudDsgaSsrKQorICAgICAgICAgICAgICAgIHNlbmRL
ZXkoJ1VwJyk7CisgICAgICAgIH0KKyAgICBlbHNlCisgICAgICAgIHNlbmRLZXkoJ1VwJyk7Cisg
ICAgcmV0dXJuIGlucHV0LnZhbHVlOworfQorCitmdW5jdGlvbiBzdGVwRG93bkV4cGxpY2l0Qm91
bmRzKG1pbiwgbWF4LCBzdGVwLCB2YWx1ZSwgc3RlcENvdW50KSB7CisgICAgc2V0SW5wdXRBdHRy
aWJ1dGVzKG1pbiwgbWF4LCBzdGVwLCB2YWx1ZSk7CisgICAgaWYgKHR5cGVvZiBzdGVwQ291bnQg
IT09ICd1bmRlZmluZWQnKQorICAgICAgICBpZiAoc3RlcENvdW50IDwgMCkgeworICAgICAgICAg
ICAgZm9yICh2YXIgaSA9IDA7IGkgPCAtc3RlcENvdW50OyBpKyspCisgICAgICAgICAgICAgICAg
c2VuZEtleSgnVXAnKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGZvciAodmFyIGkg
PSAwOyBpIDwgc3RlcENvdW50OyBpKyspCisgICAgICAgICAgICAgICAgc2VuZEtleSgnRG93bicp
OworICAgICAgICB9CisgICAgZWxzZQorICAgICAgICBzZW5kS2V5KCdEb3duJyk7CisgICAgcmV0
dXJuIGlucHV0LnZhbHVlOworfQorCitmdW5jdGlvbiBzdGVwTWlzbWF0Y2hGb3IodmFsdWUsIHN0
ZXAsIG1pbikgeworICAgIGlucHV0Lm1pbiA9IG1pbjsKKyAgICBpbnB1dC5zdGVwID0gc3RlcDsK
KyAgICBpbnB1dC52YWx1ZSA9IHZhbHVlOworICAgIHJldHVybiBpbnB1dC52YWxpZGl0eS5zdGVw
TWlzbWF0Y2g7Cit9CisKK2RlYnVnKCdEYXRlIHR5cGUnKTsKK2lucHV0LnR5cGUgPSAnZGF0ZSc7
CitkZWJ1ZygnZnVuY3Rpb24gYXJndW1lbnRzIGFyZSAodmFsdWUsIHN0ZXAsIHttaW4gb3IgbWF4
fSwgW3N0ZXBDb3VudF0pJyk7CitkZWJ1ZygnTm9ybWFsIGNhc2VzJyk7CitzaG91bGRCZSgnc3Rl
cFVwKCIyMDEwLTAyLTEwIiwgbnVsbCwgbnVsbCknLCAnIjIwMTAtMDItMTEiJyk7CitzaG91bGRC
ZSgnc3RlcERvd24oIjIwMTAtMDItMTAiLCBudWxsLCBudWxsKScsICciMjAxMC0wMi0wOSInKTsK
K3Nob3VsZEJlKCdzdGVwVXAoIjIwMTAtMDItMTAiLCBudWxsLCBudWxsLCAxMCknLCAnIjIwMTAt
MDItMjAiJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjIwMTAtMDItMTAiLCBudWxsLCBudWxsLCAx
MSknLCAnIjIwMTAtMDEtMzAiJyk7CitzaG91bGRCZSgnc3RlcFVwKCIxOTcwLTAxLTAxIiwgIjQi
LCBudWxsLCAyKScsICciMTk3MC0wMS0wOSInKTsKK3Nob3VsZEJlKCdzdGVwRG93bigiMTk3MC0w
MS0wMSIsICI0IiwgbnVsbCwgMyknLCAnIjE5NjktMTItMjAiJyk7CitkZWJ1ZygnU3RlcD1hbnkn
KTsKK3Nob3VsZEJlKCdzdGVwVXAoIjIwMTAtMDItMTAiLCAiYW55IiwgbnVsbCknLCAnIjIwMTAt
MDItMTAiJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjIwMTAtMDItMTAiLCAiYW55IiwgbnVsbCkn
LCAnIjIwMTAtMDItMTAiJyk7CitkZWJ1ZygnT3ZlcmZsb3cvdW5kZXJmbG93Jyk7CitzaG91bGRC
ZSgnc3RlcFVwKCIyMDEwLTAyLTEwIiwgIjMuNDAyODIzNDZlKzM4IiwgbnVsbCknLCciMjc1NzYw
LTA5LTEzIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIyMDEwLTAyLTEwIiwgIjMuNDAyODIzNDZl
KzM4IiwgbnVsbCknLCAnIjE5NzAtMDEtMDEiJyk7CitzaG91bGRCZSgnc3RlcFVwKCIyMDEwLTAy
LTEwIiwgIjEiLCAiMjAxMC0wMi0xMCIpJywgJyIyMDEwLTAyLTEwIicpOworc2hvdWxkQmUoJ3N0
ZXBEb3duKCIyMDEwLTAyLTEwIiwgIjEiLCAiMjAxMC0wMi0xMCIpJywgJyIyMDEwLTAyLTEwIicp
OworZGVidWcoJ3N0ZXBEb3duKCkvc3RlcFVwKCkgZm9yIHN0ZXBNaXNtYXRjaCB2YWx1ZXMnKTsK
K3Nob3VsZEJlKCdzdGVwRG93bigiMjAxMC0wMi0xMCIsICIzIiwgIjIwMTAtMDItMDYiKScsICci
MjAxMC0wMi0wOSInKTsKK3Nob3VsZEJlKCdzdGVwVXAoIjE5NzAtMDEtMDIiLCAiMiIsICIiKScs
ICciMTk3MC0wMS0wMyInKTsKKworZGVidWcoJycpOworZGVidWcoJ0RhdGV0aW1lIHR5cGUnKTsK
K2lucHV0LnR5cGUgPSAnZGF0ZXRpbWUnOworZGVidWcoJ2Z1bmN0aW9uIGFyZ3VtZW50cyBhcmUg
KHZhbHVlLCBzdGVwLCB7bWluIG9yIG1heH0sIFtzdGVwQ291bnRdKScpOworZGVidWcoJ05vcm1h
bCBjYXNlcycpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMjAxMC0wMi0xMFQyMDoxM1oiLCBudWxsLCBu
dWxsKScsICciMjAxMC0wMi0xMFQyMDoxNFoiJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjIwMTAt
MDItMTBUMjA6MTNaIiwgbnVsbCwgbnVsbCknLCAnIjIwMTAtMDItMTBUMjA6MTJaIicpOworc2hv
dWxkQmUoJ3N0ZXBVcCgiMjAxMC0wMi0xMFQyMDoxM1oiLCBudWxsLCBudWxsLCAxMCknLCAnIjIw
MTAtMDItMTBUMjA6MjNaIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIyMDEwLTAyLTEwVDIwOjEz
WiIsIG51bGwsIG51bGwsIDExKScsICciMjAxMC0wMi0xMFQyMDowMloiJyk7CitzaG91bGRCZSgn
c3RlcFVwKCIxOTcwLTAxLTAxVDIwOjEzWiIsICI0IiwgbnVsbCwgMiknLCAnIjE5NzAtMDEtMDFU
MjA6MTM6MDhaIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIxOTcwLTAxLTAxVDIwOjEzWiIsICI0
IiwgbnVsbCwgMyknLCAnIjE5NzAtMDEtMDFUMjA6MTI6NDhaIicpOworZGVidWcoJ1N0ZXA9YW55
Jyk7CitzaG91bGRCZSgnc3RlcFVwKCIyMDEwLTAyLTEwVDIwOjEzWiIsICJhbnkiLCBudWxsKScs
ICciMjAxMC0wMi0xMFQyMDoxM1oiJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjIwMTAtMDItMTBU
MjA6MTNaIiwgImFueSIsIG51bGwpJywgJyIyMDEwLTAyLTEwVDIwOjEzWiInKTsKK2RlYnVnKCdP
dmVyZmxvdy91bmRlcmZsb3cnKTsKK3Nob3VsZEJlKCdzdGVwVXAoIjIwMTAtMDItMTBUMjA6MTNa
IiwgIjMuNDAyODIzNDZlKzM4IiwgbnVsbCknLCAnIjI3NTc2MC0wOS0xM1QwMDowMDowMC4wMDBa
IicpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIyMDEwLTAyLTEwVDIwOjEzWiIsICIzLjQwMjgyMzQ2
ZSszOCIsIG51bGwpJywgJyIxOTcwLTAxLTAxVDAwOjAwOjAwLjAwMFoiJyk7CitzaG91bGRCZSgn
c3RlcFVwKCIyMDEwLTAyLTEwVDIwOjEzWiIsICIxIiwgIjIwMTAtMDItMTBUMjA6MTNaIiknLCAn
IjIwMTAtMDItMTBUMjA6MTNaIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIyMDEwLTAyLTEwVDIw
OjEzWiIsICIxIiwgIjIwMTAtMDItMTBUMjA6MTNaIiknLCAnIjIwMTAtMDItMTBUMjA6MTNaIicp
OworZGVidWcoJ3N0ZXBEb3duKCkvc3RlcFVwKCkgZm9yIHN0ZXBNaXNtYXRjaCB2YWx1ZXMnKTsK
K3Nob3VsZEJlKCdzdGVwRG93bigiMjAxMC0wMi0xMFQyMDoxM1oiLCAiMyIsICIyMDEwLTAyLTEw
VDIwOjEyOjU2WiIpJywgJyIyMDEwLTAyLTEwVDIwOjEyOjU5WiInKTsKK3Nob3VsZEJlKCdzdGVw
VXAoIjE5NzAtMDEtMDFUMDA6MTNaIiwgIjciLCAiIiknLCAnIjE5NzAtMDEtMDFUMDA6MTM6MDRa
IicpOworCitkZWJ1ZygnJyk7CitkZWJ1ZygnRGF0ZXRpbWUtbG9jYWwgdHlwZScpOworaW5wdXQu
dHlwZSA9ICdkYXRldGltZS1sb2NhbCc7CitkZWJ1ZygnZnVuY3Rpb24gYXJndW1lbnRzIGFyZSAo
dmFsdWUsIHN0ZXAsIHttaW4gb3IgbWF4fSwgW3N0ZXBDb3VudF0pJyk7CitkZWJ1ZygnTm9ybWFs
IGNhc2VzJyk7CitzaG91bGRCZSgnc3RlcFVwKCIyMDEwLTAyLTEwVDIwOjEzIiwgbnVsbCwgbnVs
bCknLCAnIjIwMTAtMDItMTBUMjA6MTQiJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjIwMTAtMDIt
MTBUMjA6MTMiLCBudWxsLCBudWxsKScsICciMjAxMC0wMi0xMFQyMDoxMiInKTsKK3Nob3VsZEJl
KCdzdGVwVXAoIjIwMTAtMDItMTBUMjA6MTMiLCBudWxsLCBudWxsLCAxMCknLCAnIjIwMTAtMDIt
MTBUMjA6MjMiJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjIwMTAtMDItMTBUMjA6MTMiLCBudWxs
LCBudWxsLCAxMSknLCAnIjIwMTAtMDItMTBUMjA6MDIiJyk7CitzaG91bGRCZSgnc3RlcFVwKCIx
OTcwLTAxLTAxVDIwOjEzIiwgIjQiLCBudWxsLCAyKScsICciMTk3MC0wMS0wMVQyMDoxMzowOCIn
KTsKK3Nob3VsZEJlKCdzdGVwRG93bigiMTk3MC0wMS0wMVQyMDoxMyIsICI0IiwgbnVsbCwgMykn
LCAnIjE5NzAtMDEtMDFUMjA6MTI6NDgiJyk7CitkZWJ1ZygnU3RlcD1hbnknKTsKK3Nob3VsZEJl
KCdzdGVwVXAoIjIwMTAtMDItMTBUMjA6MTMiLCAiYW55IiwgbnVsbCknLCAnIjIwMTAtMDItMTBU
MjA6MTMiJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjIwMTAtMDItMTBUMjA6MTMiLCAiYW55Iiwg
bnVsbCknLCAnIjIwMTAtMDItMTBUMjA6MTMiJyk7CitkZWJ1ZygnT3ZlcmZsb3cvdW5kZXJmbG93
Jyk7CitzaG91bGRCZSgnc3RlcFVwKCIyMDEwLTAyLTEwVDIwOjEzIiwgIjMuNDAyODIzNDZlKzM4
IiwgbnVsbCknLCAnIjI3NTc2MC0wOS0xM1QwMDowMDowMC4wMDAiJyk7CitzaG91bGRCZSgnc3Rl
cERvd24oIjIwMTAtMDItMTBUMjA6MTMiLCAiMy40MDI4MjM0NmUrMzgiLCBudWxsKScsICciMTk3
MC0wMS0wMVQwMDowMDowMC4wMDAiJyk7CitzaG91bGRCZSgnc3RlcFVwKCIyMDEwLTAyLTEwVDIw
OjEzIiwgIjEiLCAiMjAxMC0wMi0xMFQyMDoxMyIpJywgJyIyMDEwLTAyLTEwVDIwOjEzIicpOwor
c2hvdWxkQmUoJ3N0ZXBEb3duKCIyMDEwLTAyLTEwVDIwOjEzIiwgIjEiLCAiMjAxMC0wMi0xMFQy
MDoxMyIpJywgJyIyMDEwLTAyLTEwVDIwOjEzIicpOworZGVidWcoJ3N0ZXBEb3duKCkvc3RlcFVw
KCkgZm9yIHN0ZXBNaXNtYXRjaCB2YWx1ZXMnKTsKK3Nob3VsZEJlKCdzdGVwRG93bigiMjAxMC0w
Mi0xMFQyMDoxMyIsICIzIiwgIjIwMTAtMDItMTBUMjA6MTI6NTYiKScsICciMjAxMC0wMi0xMFQy
MDoxMjo1OSInKTsKK3Nob3VsZEJlKCdzdGVwVXAoIjE5NzAtMDEtMDFUMDA6MTMiLCAiNyIsICIi
KScsICciMTk3MC0wMS0wMVQwMDoxMzowNCInKTsKKworZGVidWcoJycpOworZGVidWcoJ01vbnRo
IHR5cGUnKTsKK2lucHV0LnR5cGUgPSAnbW9udGgnOworZGVidWcoJ2Z1bmN0aW9uIGFyZ3VtZW50
cyBhcmUgKHZhbHVlLCBzdGVwLCB7bWluIG9yIG1heH0sIFtzdGVwQ291bnRdKScpOworZGVidWco
J05vcm1hbCBjYXNlcycpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMjAxMC0wMiIsIG51bGwsIG51bGwp
JywgJyIyMDEwLTAzIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIyMDEwLTAyIiwgbnVsbCwgbnVs
bCknLCAnIjIwMTAtMDEiJyk7CitzaG91bGRCZSgnc3RlcFVwKCIyMDEwLTAyIiwgbnVsbCwgbnVs
bCwgMTApJywgJyIyMDEwLTEyIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIyMDEwLTAyIiwgbnVs
bCwgbnVsbCwgMTEpJywgJyIyMDA5LTAzIicpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMTk3MC0wMSIs
ICI0IiwgbnVsbCwgMiknLCAnIjE5NzAtMDkiJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjE5NzAt
MDEiLCAiNCIsIG51bGwsIDMpJywgJyIxOTY5LTAxIicpOworZGVidWcoJ1N0ZXA9YW55Jyk7Citz
aG91bGRCZSgnc3RlcFVwKCIyMDEwLTAyIiwgImFueSIsIG51bGwpJywgJyIyMDEwLTAyIicpOwor
c2hvdWxkQmUoJ3N0ZXBEb3duKCIyMDEwLTAyIiwgImFueSIsIG51bGwpJywgJyIyMDEwLTAyIicp
OworZGVidWcoJ092ZXJmbG93L3VuZGVyZmxvdycpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMjAxMC0w
MiIsICIzLjQwMjgyMzQ2ZSszOCIsIG51bGwpJywgJyIyNzU3NjAtMDkiJyk7CitzaG91bGRCZSgn
c3RlcERvd24oIjIwMTAtMDIiLCAiMy40MDI4MjM0NmUrMzgiLCBudWxsKScsICciMTk3MC0wMSIn
KTsKK3Nob3VsZEJlKCdzdGVwVXAoIjIwMTAtMDIiLCAiMSIsICIyMDEwLTAyIiknLCAnIjIwMTAt
MDIiJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjIwMTAtMDIiLCAiMSIsICIyMDEwLTAyIiknLCAn
IjIwMTAtMDIiJyk7CitkZWJ1Zygnc3RlcERvd24oKS9zdGVwVXAoKSBmb3Igc3RlcE1pc21hdGNo
IHZhbHVlcycpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIyMDEwLTAyIiwgIjMiLCAiMjAwOS0xMCIp
JywgJyIyMDEwLTAxIicpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMTk3MC0wMiIsICI0IiwgIiIpJywg
JyIxOTcwLTA1IicpOworCitkZWJ1ZygnJyk7CitkZWJ1ZygnTnVtYmVyIHR5cGUnKTsKK2lucHV0
LnR5cGUgPSAnbnVtYmVyJzsKK2RlYnVnKCdmdW5jdGlvbiBhcmd1bWVudHMgYXJlICh2YWx1ZSwg
c3RlcCwge21pbiBvciBtYXh9LCBbc3RlcENvdW50XSknKTsKK2RlYnVnKCdJbnZhbGlkIHZhbHVl
Jyk7CitzaG91bGRCZSgnc3RlcFVwKCIiLCBudWxsLCBudWxsKScsICciMSInKTsKK3Nob3VsZEJl
KCdzdGVwRG93bigiIiwgbnVsbCwgbnVsbCknLCAnIi0xIicpOworc2hvdWxkQmUoJ3N0ZXBVcCgi
IiwgImFueSIsIG51bGwpJywgJyIwIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIiLCAiYW55Iiwg
bnVsbCknLCAnIjAiJyk7CitzaG91bGRCZSgnc3RlcFVwKCIiLCAiZm9vIiwgbnVsbCknLCAnIjEi
Jyk7CitzaG91bGRCZSgnc3RlcERvd24oIiIsICJmb28iLCBudWxsKScsICciLTEiJyk7CitzaG91
bGRCZSgnc3RlcFVwKCJmb28iLCBudWxsLCBudWxsKScsICciMSInKTsKK3Nob3VsZEJlKCdzdGVw
RG93bigiZm9vIiwgbnVsbCwgbnVsbCknLCAnIi0xIicpOworc2hvdWxkQmUoJ3N0ZXBVcCgiZm9v
IiwgImFueSIsIG51bGwpJywgJyIwIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCJmb28iLCAiYW55
IiwgbnVsbCknLCAnIjAiJyk7CitzaG91bGRCZSgnc3RlcFVwKCJmb28iLCAiZm9vIiwgbnVsbCkn
LCAnIjEiJyk7CitzaG91bGRCZSgnc3RlcERvd24oImZvbyIsICJmb28iLCBudWxsKScsICciLTEi
Jyk7CitkZWJ1ZygnTm9ybWFsIGNhc2VzJyk7CitzaG91bGRCZSgnc3RlcFVwKCIwIiwgbnVsbCwg
bnVsbCknLCAnIjEiJyk7CitzaG91bGRCZSgnc3RlcFVwKCIxIiwgbnVsbCwgbnVsbCwgMiknLCAn
IjMiJyk7CitzaG91bGRCZSgnc3RlcFVwKCIzIiwgbnVsbCwgbnVsbCwgLTEpJywgJyIyIicpOwor
c2hvdWxkQmUoJ3N0ZXBEb3duKCIyIiwgbnVsbCwgbnVsbCknLCAnIjEiJyk7CitzaG91bGRCZSgn
c3RlcERvd24oIjEiLCBudWxsLCBudWxsLCAyKScsICciLTEiJyk7CitzaG91bGRCZSgnc3RlcERv
d24oIi0xIiwgbnVsbCwgbnVsbCwgLTEpJywgJyIwIicpOworZGVidWcoJ0ludmFsaWQgc3RlcCB2
YWx1ZScpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMCIsICJmb28iLCBudWxsKScsICciMSInKTsKK3No
b3VsZEJlKCdzdGVwVXAoIjEiLCAiMCIsIG51bGwpJywgJyIyIicpOworc2hvdWxkQmUoJ3N0ZXBV
cCgiMiIsICItMSIsIG51bGwpJywgJyIzIicpOworZGVidWcoJ1N0ZXA9YW55Jyk7CitzaG91bGRC
ZSgnc3RlcFVwKCIwIiwgImFueSIsIG51bGwpJywgJyIwIicpOworc2hvdWxkQmUoJ3N0ZXBEb3du
KCIwIiwgImFueSIsIG51bGwpJywgJyIwIicpOworZGVidWcoJ092ZXJmbG93L3VuZGVyZmxvdycp
Oworc2hvdWxkQmUoJ3N0ZXBEb3duKCIxIiwgIjEiLCAiMCIpJywgJyIwIicpOworc2hvdWxkQmUo
J3N0ZXBEb3duKCIwIiwgIjEiLCAiMCIpJywgJyIwIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIx
IiwgIjEiLCAiMCIsIDIpJywgJyIwIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIxIiwgIjMuNDAy
ODIzNDZlKzM4IiwgIiIsIDIpJywgJyItMy40MDI4MjM0NmUrMzgiJyk7CitzaG91bGRCZSgnc3Rl
cFVwKCItMSIsICIxIiwgIjAiKScsICciMCInKTsKK3Nob3VsZEJlKCdzdGVwVXAoIjAiLCAiMSIs
ICIwIiknLCAnIjAiJyk7CitzaG91bGRCZSgnc3RlcFVwKCItMSIsICIxIiwgIjAiLCAyKScsICci
MCInKTsKK3Nob3VsZEJlKCdzdGVwVXAoIjEiLCAiMy40MDI4MjM0NmUrMzgiLCAiIiwgMiknLCAn
IjMuNDAyODIzNDZlKzM4IicpOworZGVidWcoJ3N0ZXBEb3duKCkvc3RlcFVwKCkgZm9yIHN0ZXBN
aXNtYXRjaCB2YWx1ZXMnKTsKK3Nob3VsZEJlKCdzdGVwVXAoIjEiLCAiMiIsICIiKScsICciMiIn
KTsKK3Nob3VsZEJlKCdpbnB1dC5taW4gPSAiMCI7IHN0ZXBVcCgiOSIsICIxMCIsICIiKScsICci
MTAiJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjE5IiwgIjEwIiwgIjAiKScsICciMTAiJyk7Citz
aG91bGRCZSgnc3RlcFVwKCI4OSIsICIxMCIsICI5OSIpJywgJyI5MCInKTsKK2RlYnVnKCdIdWdl
IHZhbHVlIGFuZCBzbWFsbCBzdGVwJyk7CitzaG91bGRCZSgnaW5wdXQubWluID0gIiI7IHN0ZXBV
cCgiMWUrMzgiLCAiMSIsICIiLCA5OTkpJywgJyIxZSszOCInKTsKK3Nob3VsZEJlKCdpbnB1dC5t
YXggPSAiIjsgc3RlcERvd24oIjFlKzM4IiwgIjEiLCAiIiwgOTk5KScsICciMWUrMzgiJyk7Citk
ZWJ1ZygnRnJhY3Rpb25hbCBudW1iZXJzJyk7CitzaG91bGRCZSgnaW5wdXQubWluID0gIiI7IHN0
ZXBVcCgiMCIsICIwLjMzMzMzMzMzMzMzMzMzMzMzIiwgIiIsIDMpJywgJyIxIicpOworc2hvdWxk
QmUoJ3N0ZXBVcCgiMSIsICIwLjEiLCAiIiwgMTApJywgJyIyIicpOworc2hvdWxkQmUoJ2lucHV0
Lm1pbiA9ICIwIjsgc3RlcFVwKCIwIiwgIjAuMDAzOTIxNTY4NjI3NDUwOTgwIiwgIjEiLCAyNTUp
JywgJyIxIicpOworZGVidWcoJ1JvdW5kaW5nJyk7CitzaG91bGRCZSgnc3RlcFVwKCI1LjAwNSIs
ICIwLjAwNSIsICIiLCAyKScsICciNS4wMTUiJyk7CitzaG91bGRCZSgnc3RlcFVwKCI1LjAwNSIs
ICIwLjAwNSIsICIiLCAxMSknLCAnIjUuMDYiJyk7CitzaG91bGRCZSgnc3RlcFVwKCI1LjAwNSIs
ICIwLjAwNSIsICIiLCAxMiknLCAnIjUuMDY1IicpOworc2hvdWxkQmUoJ3N0ZXBVcEV4cGxpY2l0
Qm91bmRzKCI0IiwgIjkiLCAiMC4wMDUiLCAiNS4wMDUiLCAyKScsICciNS4wMTUiJyk7CitzaG91
bGRCZSgnc3RlcFVwRXhwbGljaXRCb3VuZHMoIjQiLCAiOSIsICIwLjAwNSIsICI1LjAwNSIsIDEx
KScsICciNS4wNiInKTsKK3Nob3VsZEJlKCdzdGVwVXBFeHBsaWNpdEJvdW5kcygiNCIsICI5Iiwg
IjAuMDA1IiwgIjUuMDA1IiwgMTIpJywgJyI1LjA2NSInKTsKKworZGVidWcoJycpOworZGVidWco
J1JhbmdlIHR5cGUnKTsKK2lucHV0LnR5cGUgPSAncmFuZ2UnOworZGVidWcoJ2Z1bmN0aW9uIGFy
Z3VtZW50cyBhcmUgKG1pbiwgbWF4LCBzdGVwLCB2YWx1ZSwgW3N0ZXBDb3VudF0pJyk7CitkZWJ1
ZygnVXNpbmcgdGhlIGRlZmF1bHQgdmFsdWVzJyk7CitzaG91bGRCZSgnc3RlcFVwRXhwbGljaXRC
b3VuZHMobnVsbCwgbnVsbCwgbnVsbCwgIiIpJywgJyI1MSInKTsKK3Nob3VsZEJlKCdzdGVwRG93
bkV4cGxpY2l0Qm91bmRzKG51bGwsIG51bGwsIG51bGwsICIiKScsICciNDkiJyk7CitzaG91bGRC
ZSgnc3RlcFVwRXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwgImFueSIsICIiKScsICciNTEiJyk7
CitzaG91bGRCZSgnc3RlcERvd25FeHBsaWNpdEJvdW5kcyhudWxsLCBudWxsLCAiYW55IiwgIiIp
JywgJyI0OSInKTsKK3Nob3VsZEJlKCdzdGVwVXBFeHBsaWNpdEJvdW5kcyhudWxsLCBudWxsLCAi
Zm9vIiwgIiIpJywgJyI1MSInKTsKK3Nob3VsZEJlKCdzdGVwRG93bkV4cGxpY2l0Qm91bmRzKG51
bGwsIG51bGwsICJmb28iLCAiIiknLCAnIjQ5IicpOworc2hvdWxkQmUoJ3N0ZXBVcEV4cGxpY2l0
Qm91bmRzKG51bGwsIG51bGwsIG51bGwsICJmb28iKScsICciNTEiJyk7CitzaG91bGRCZSgnc3Rl
cERvd25FeHBsaWNpdEJvdW5kcyhudWxsLCBudWxsLCBudWxsLCAiZm9vIiknLCAnIjQ5IicpOwor
c2hvdWxkQmUoJ3N0ZXBVcEV4cGxpY2l0Qm91bmRzKG51bGwsIG51bGwsICJhbnkiLCAiZm9vIikn
LCAnIjUxIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duRXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwg
ImFueSIsICJmb28iKScsICciNDkiJyk7CitzaG91bGRCZSgnc3RlcFVwRXhwbGljaXRCb3VuZHMo
bnVsbCwgbnVsbCwgImZvbyIsICJmb28iKScsICciNTEiJyk7CitzaG91bGRCZSgnc3RlcERvd25F
eHBsaWNpdEJvdW5kcyhudWxsLCBudWxsLCAiZm9vIiwgImZvbyIpJywgJyI0OSInKTsKK2RlYnVn
KCdOb3JtYWwgY2FzZXMnKTsKK3Nob3VsZEJlKCdzdGVwVXBFeHBsaWNpdEJvdW5kcyhudWxsLCBu
dWxsLCBudWxsLCAiMCIpJywgJyIxIicpOworc2hvdWxkQmUoJ3N0ZXBVcEV4cGxpY2l0Qm91bmRz
KG51bGwsIG51bGwsIG51bGwsICIxIiwgMiknLCAnIjMiJyk7CitzaG91bGRCZSgnc3RlcFVwRXhw
bGljaXRCb3VuZHMobnVsbCwgbnVsbCwgbnVsbCwgIjMiLCAtMSknLCAnIjIiJyk7CitzaG91bGRC
ZSgnc3RlcERvd25FeHBsaWNpdEJvdW5kcygiLTEwMCIsIG51bGwsIG51bGwsICIyIiknLCAnIjEi
Jyk7CitzaG91bGRCZSgnc3RlcERvd25FeHBsaWNpdEJvdW5kcygiLTEwMCIsIG51bGwsIG51bGws
ICIxIiwgMiknLCAnIi0xIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duRXhwbGljaXRCb3VuZHMoIi0x
MDAiLCBudWxsLCBudWxsLCAiLTEiLCAtMSknLCAnIjAiJyk7CitkZWJ1ZygnSW52YWxpZCBzdGVw
IHZhbHVlJyk7CitzaG91bGRCZSgnc3RlcFVwRXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwgImZv
byIsICIwIiknLCAnIjEiJyk7CitzaG91bGRCZSgnc3RlcFVwRXhwbGljaXRCb3VuZHMobnVsbCwg
bnVsbCwgIjAiLCAiMSIpJywgJyIyIicpOworc2hvdWxkQmUoJ3N0ZXBVcEV4cGxpY2l0Qm91bmRz
KG51bGwsIG51bGwsICItMSIsICIyIiknLCAnIjMiJyk7CitzaG91bGRCZSgnc3RlcERvd25FeHBs
aWNpdEJvdW5kcyhudWxsLCBudWxsLCAiZm9vIiwgIjEiKScsICciMCInKTsKK3Nob3VsZEJlKCdz
dGVwRG93bkV4cGxpY2l0Qm91bmRzKG51bGwsIG51bGwsICIwIiwgIjIiKScsICciMSInKTsKK3No
b3VsZEJlKCdzdGVwRG93bkV4cGxpY2l0Qm91bmRzKG51bGwsIG51bGwsICItMSIsICIzIiknLCAn
IjIiJyk7CitkZWJ1ZygnU3RlcD1hbnknKTsKK3Nob3VsZEJlKCdzdGVwVXBFeHBsaWNpdEJvdW5k
cyhudWxsLCBudWxsLCAiYW55IiwgIjEiKScsICciMiInKTsKK3Nob3VsZEJlKCdzdGVwRG93bkV4
cGxpY2l0Qm91bmRzKG51bGwsIG51bGwsICJhbnkiLCAiMSIpJywgJyIwIicpOworZGVidWcoJ092
ZXJmbG93L3VuZGVyZmxvdycpOworc2hvdWxkQmUoJ3N0ZXBVcEV4cGxpY2l0Qm91bmRzKG51bGws
ICIxMDAiLCAiMSIsICI5OSIpJywgJyIxMDAiJyk7CitzaG91bGRCZSgnc3RlcFVwRXhwbGljaXRC
b3VuZHMobnVsbCwgIjEwMCIsICIxIiwgIjEwMCIpJywgJyIxMDAiJyk7CitzaG91bGRCZSgnaW5w
dXQudmFsdWUnLCAnIjEwMCInKTsKK3Nob3VsZEJlKCdzdGVwVXBFeHBsaWNpdEJvdW5kcyhudWxs
LCAiMTAwIiwgIjEiLCAiOTkiLCAiMiIpJywgJyIxMDAiJyk7CitzaG91bGRCZSgnaW5wdXQudmFs
dWUnLCAnIjEwMCInKTsKK3Nob3VsZEJlKCdzdGVwRG93bkV4cGxpY2l0Qm91bmRzKCIwIiwgbnVs
bCwgIjEiLCAiMSIpJywgJyIwIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duRXhwbGljaXRCb3VuZHMo
IjAiLCBudWxsLCAiMSIsICIwIiknLCAnIjAiJyk7CitzaG91bGRCZSgnaW5wdXQudmFsdWUnLCAn
IjAiJyk7CitzaG91bGRCZSgnc3RlcERvd25FeHBsaWNpdEJvdW5kcygiMCIsIG51bGwsICIxIiwg
IjEiLCAiMiIpJywgJyIwIicpOworc2hvdWxkQmUoJ2lucHV0LnZhbHVlJywgJyIwIicpOworc2hv
dWxkQmUoJ3N0ZXBEb3duRXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwgIjMuNDAyODIzNDZlKzM4
IiwgIjEiLCAiMiIpJywgJyIwIicpOworc2hvdWxkQmUoJ3N0ZXBVcEV4cGxpY2l0Qm91bmRzKC0x
MDAsIDAsIDEsIC0xKScsICciMCInKTsKK3Nob3VsZEJlKCdzdGVwVXBFeHBsaWNpdEJvdW5kcyhu
dWxsLCAwLCAxLCAwKScsICciMCInKTsKK3Nob3VsZEJlKCdzdGVwVXBFeHBsaWNpdEJvdW5kcygt
MTAwLCAwLCAxLCAtMSwgMiknLCAnIjAiJyk7CitzaG91bGRCZSgnaW5wdXQudmFsdWUnLCAnIjAi
Jyk7CitzaG91bGRCZSgnc3RlcFVwRXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwgIjMuNDAyODIz
NDZlKzM4IiwgIjEiLCAiMiIpJywgJyIwIicpOworZGVidWcoJ3N0ZXBEb3duKCkvc3RlcFVwKCkg
Zm9yIHN0ZXBNaXNtYXRjaCB2YWx1ZXMnKTsKK3Nob3VsZEJlKCdzdGVwVXBFeHBsaWNpdEJvdW5k
cyhudWxsLCBudWxsLCAyLCAxKScsICciNCInKTsKK3Nob3VsZEJlKCdzdGVwVXBFeHBsaWNpdEJv
dW5kcygwLCBudWxsLCAxMCwgOSwgOSknLCAnIjEwMCInKTsKK3Nob3VsZEJlKCdzdGVwRG93bkV4
cGxpY2l0Qm91bmRzKDAsIG51bGwsIDEwLCAxOSknLCAnIjEwIicpOworZGVidWcoJ3ZhbHVlICsg
c3RlcCBpcyA8PSBtYXgsIGJ1dCByb3VuZGVkIHJlc3VsdCB3b3VsZCBiZSA+IG1heC4nKTsKK3No
b3VsZEJlKCdzdGVwVXBFeHBsaWNpdEJvdW5kcyhudWxsLCA5OSwgMTAsIDg5KScsICciOTAiJyk7
CitkZWJ1ZygnSHVnZSB2YWx1ZSBhbmQgc21hbGwgc3RlcCcpOworc2hvdWxkQmUoJ3N0ZXBVcEV4
cGxpY2l0Qm91bmRzKDAsIDFlMzgsIDEsIDFlMzgsIDk5OSknLCAnIjFlKzM4IicpOworc2hvdWxk
QmUoJ3N0ZXBEb3duRXhwbGljaXRCb3VuZHMoMCwgMWUzOCwgMSwgMWUzOCwgOTk5KScsICciMWUr
MzgiJyk7CitkZWJ1ZygnRnJhY3Rpb25hbCBudW1iZXJzJyk7CitzaG91bGRCZSgnc3RlcFVwRXhw
bGljaXRCb3VuZHMobnVsbCwgbnVsbCwgMC4zMzMzMzMzMzMzMzMzMzMzMywgMCwgMyknLCAnIjEi
Jyk7CitzaG91bGRCZSgnc3RlcFVwRXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwgMC4xLCAxKScs
ICciMS4xIicpOworc2hvdWxkQmUoJ3N0ZXBVcEV4cGxpY2l0Qm91bmRzKG51bGwsIG51bGwsIDAu
MSwgMSwgOCknLCAnIjEuOCInKTsKK3Nob3VsZEJlKCdzdGVwVXBFeHBsaWNpdEJvdW5kcyhudWxs
LCBudWxsLCAwLjEsIDEsIDEwKScsICciMiInKTsKK3Nob3VsZEJlKCdzdGVwVXBFeHBsaWNpdEJv
dW5kcygwLCAxLCAwLjAwMzkyMTU2ODYyNzQ1MDk4MCwgMCwgMjU1KScsICciMSInKTsKK3Nob3Vs
ZEJlKCdzdGVwRG93bkV4cGxpY2l0Qm91bmRzKG51bGwsIG51bGwsIDAuMSwgMSwgOCknLCAnIjAu
MiInKTsKK3Nob3VsZEJlKCdzdGVwRG93bkV4cGxpY2l0Qm91bmRzKG51bGwsIG51bGwsIDAuMSwg
MSknLCAnIjAuOSInKTsKKworZGVidWcoJycpOworZGVidWcoJ1RpbWUgdHlwZScpOworaW5wdXQu
dHlwZSA9ICd0aW1lJzsKK2RlYnVnKCdmdW5jdGlvbiBhcmd1bWVudHMgYXJlICh2YWx1ZSwgc3Rl
cCwge21pbiBvciBtYXh9LCBbc3RlcENvdW50XSknKTsKK2RlYnVnKCdOb3JtYWwgY2FzZXMnKTsK
K3Nob3VsZEJlKCdzdGVwVXAoIjIwOjEzIiwgbnVsbCwgbnVsbCknLCAnIjIwOjE0IicpOworc2hv
dWxkQmUoJ3N0ZXBEb3duKCIyMDoxMyIsIG51bGwsIG51bGwpJywgJyIyMDoxMiInKTsKK3Nob3Vs
ZEJlKCdzdGVwVXAoIjIwOjEzIiwgbnVsbCwgbnVsbCwgMTApJywgJyIyMDoyMyInKTsKK3Nob3Vs
ZEJlKCdzdGVwRG93bigiMjA6MTMiLCBudWxsLCBudWxsLCAxMSknLCAnIjIwOjAyIicpOworc2hv
dWxkQmUoJ3N0ZXBVcCgiMjA6MTMiLCAiNCIsIG51bGwsIDIpJywgJyIyMDoxMzowOCInKTsKK3No
b3VsZEJlKCdzdGVwRG93bigiMjA6MTMiLCAiNCIsIG51bGwsIDMpJywgJyIyMDoxMjo0OCInKTsK
K2RlYnVnKCdTdGVwPWFueScpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMjA6MTMiLCAiYW55IiwgbnVs
bCknLCAnIjIwOjEzIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIyMDoxMyIsICJhbnkiLCBudWxs
KScsICciMjA6MTMiJyk7CitkZWJ1ZygnT3ZlcmZsb3cvdW5kZXJmbG93Jyk7CitzaG91bGRCZSgn
c3RlcFVwKCIyMDoxMyIsICIzLjQwMjgyMzQ2ZSszOCIsIG51bGwpJywgJyIyMzo1OTo1OS45OTki
Jyk7CitzaG91bGRCZSgnc3RlcERvd24oIjIwOjEzIiwgIjMuNDAyODIzNDZlKzM4IiwgbnVsbCkn
LCAnIjAwOjAwOjAwLjAwMCInKTsKK3Nob3VsZEJlKCdzdGVwVXAoIjIwOjEzIiwgIjEiLCAiMjA6
MTMiKScsICciMjA6MTMiJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjIwOjEzIiwgIjEiLCAiMjA6
MTMiKScsICciMjA6MTMiJyk7CitzaG91bGRCZSgnc3RlcFVwKCIyMzo1OSIsIG51bGwsIG51bGwp
JywgJyIyMzo1OSInKTsKK3Nob3VsZEJlKCdzdGVwRG93bigiMDA6MDAiLCBudWxsLCBudWxsKScs
ICciMDA6MDAiJyk7CitkZWJ1Zygnc3RlcERvd24oKS9zdGVwVXAoKSBmb3Igc3RlcE1pc21hdGNo
IHZhbHVlcycpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIyMDoxMyIsICIzIiwgIjIwOjEyOjU2Iikn
LCAnIjIwOjEyOjU5IicpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMDA6MTMiLCAiNyIsICIiKScsICci
MDA6MTM6MDQiJyk7CisKK2RlYnVnKCcnKTsKK2RlYnVnKCdXZWVrIHR5cGUnKTsKK2lucHV0LnR5
cGUgPSAnd2Vlayc7CitkZWJ1ZygnZnVuY3Rpb24gYXJndW1lbnRzIGFyZSAodmFsdWUsIHN0ZXAs
IHttaW4gb3IgbWF4fSwgW3N0ZXBDb3VudF0pJyk7CitkZWJ1ZygnTm9ybWFsIGNhc2VzJyk7Citz
aG91bGRCZSgnc3RlcFVwKCIyMDEwLVcwMiIsIG51bGwsIG51bGwpJywgJyIyMDEwLVcwMyInKTsK
K3Nob3VsZEJlKCdzdGVwRG93bigiMjAxMC1XMDIiLCBudWxsLCBudWxsKScsICciMjAxMC1XMDEi
Jyk7CitzaG91bGRCZSgnc3RlcFVwKCIyMDEwLVcwMiIsIG51bGwsIG51bGwsIDEwKScsICciMjAx
MC1XMTIiJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjIwMTAtVzAyIiwgbnVsbCwgbnVsbCwgMTEp
JywgJyIyMDA5LVc0NCInKTsKK3Nob3VsZEJlKCdzdGVwVXAoIjE5NzAtVzAxIiwgIjQiLCBudWxs
LCAyKScsICciMTk3MC1XMDkiJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjE5NzAtVzAxIiwgIjQi
LCBudWxsLCAzKScsICciMTk2OS1XNDEiJyk7CitkZWJ1ZygnU3RlcD1hbnknKTsKK3Nob3VsZEJl
KCdzdGVwVXAoIjIwMTAtVzAyIiwgImFueSIsIG51bGwpJywgJyIyMDEwLVcwMiInKTsKK3Nob3Vs
ZEJlKCdzdGVwRG93bigiMjAxMC1XMDIiLCAiYW55IiwgbnVsbCknLCAnIjIwMTAtVzAyIicpOwor
ZGVidWcoJ092ZXJmbG93L3VuZGVyZmxvdycpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMjAxMC1XMDIi
LCAiMy40MDI4MjM0NmUrMzgiLCBudWxsKScsICciMjc1NzYwLVczNyInKTsKK3Nob3VsZEJlKCdz
dGVwRG93bigiMjAxMC1XMDIiLCAiMy40MDI4MjM0NmUrMzgiLCBudWxsKScsICciMTk3MC1XMDEi
Jyk7CitzaG91bGRCZSgnc3RlcFVwKCIyMDEwLVcwMiIsICIxIiwgIjIwMTAtVzAyIiknLCAnIjIw
MTAtVzAyIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIyMDEwLVcwMiIsICIxIiwgIjIwMTAtVzAy
IiknLCAnIjIwMTAtVzAyIicpOworZGVidWcoJ3N0ZXBEb3duKCkvc3RlcFVwKCkgZm9yIHN0ZXBN
aXNtYXRjaCB2YWx1ZXMnKTsKK3Nob3VsZEJlKCdzdGVwRG93bigiMjAxMC1XMDIiLCAiMiIsICIy
MDA5LVc1MiIpJywgJyIyMDEwLVcwMSInKTsKK3Nob3VsZEJlKCdzdGVwVXAoIjE5NzAtVzAyIiwg
IjQiLCAiIiknLCAnIjE5NzAtVzA1IicpOworCitkZWJ1ZygnJyk7Cit2YXIgc3VjY2Vzc2Z1bGx5
UGFyc2VkID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9D
aGFuZ2VMb2cKaW5kZXggNWQxYzNjMzYxNTZlMjdlZjA1MGZkNTM5OWE4YzFhZDI3YjEyNWFhNS4u
NTY5YWUzZDIzOGIxNzVmYjA5ZTQwYjcxMmY5YTU0MmEwOTgxYmJjMyAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw2NiBAQAor
MjAxMC0xMS0yNCAgRGFpIE1pa3VydWJlICA8ZG1pa3VydWJlQGdvb2dsZS5jb20+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgd2hlbiBlbXB0eSwgY2xp
Y2tpbmcgImRvd24iIG9uIG91dGVyLXNwaW4tYnV0dG9uIHJldHVybnMgIm1heCB2YWx1ZSIKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ1NDkxCisKKyAg
ICAgICAgTW9kaWZpZWQgc3RlcHBpbmctdXAvZG93biBmcm9tIHJlbmRlcmVyCisgICAgICAgIC0g
dG8gY2xhbXAgc3RlcHMsCisgICAgICAgIC0gdG8gaGFuZGxlIGVtcHR5IHZhbHVlcyAoZGVzY3Jp
YmVkIGJlbG93KSwgYW5kCisgICAgICAgIC0gdG8gYXBwbHkgdGhlbSBmb3IgcmFuZ2UgdHlwZSBp
bnB1dHMuCisKKyAgICAgICAgU3RlcHBpbmctdXAvZG93biBmb3IgZW1wdHkgdmFsdWVzIGFyZSBo
YW5kbGVkICJ0aGUgZW1wdHkgYXMgMC4iCisgICAgICAgIEZvciBleGFtcGxlIDoKKyAgICAgICAg
KiBJZiAwIGlzIGluLXJhbmdlLCBhbmQgbWF0Y2hlcyB0byBzdGVwIHZhbHVlCisgICAgICAgICAg
ImRvd24iIC0+IC1zdGVwCisgICAgICAgICAgInVwIiAtPiArc3RlcAorICAgICAgICAgIElmIC1z
dGVwIG9yICtzdGVwIGlzIG91dCBvZiByYW5nZSwgbmV3IHZhbHVlIHNob3VsZCBiZSAwLgorCisg
ICAgICAgICogSWYgMCBpcyBzbWFsbGVyIHRoYW4gdGhlIG1pbmltdW0gdmFsdWUKKyAgICAgICAg
ICAiZG93biIgLT4gdGhlIG1pbmltdW0gdmFsdWUKKyAgICAgICAgICAidXAiIC0+IHRoZSBtaW5p
bXVtIHZhbHVlCisKKyAgICAgICAgKiBJZiAwIGlzIGxhcmdlciB0aGFuIHRoZSBtYXhpbXVtIHZh
bHVlCisgICAgICAgICAgImRvd24iIC0+IHRoZSBtYXhpbXVtIHZhbHVlCisgICAgICAgICAgInVw
IiAtPiB0aGUgbWF4aW11bSB2YWx1ZQorCisgICAgICAgICogSWYgMCBpcyBpbi1yYW5nZSwgYnV0
IG5vdCBtYXRjaGVkIHRvIHN0ZXAgdmFsdWUKKyAgICAgICAgICAiZG93biIgLT4gc21hbGVyIG1h
dGNoZWQgdmFsdWUgbmVhcmVzdCB0byAwLgorICAgICAgICAgICAgZS5nLiA8aW5wdXQgdHlwZT1u
dW1iZXIgbWluPS0xMDAgc3RlcD0zPiAtPiAtMQorICAgICAgICAgICJ1cCIgLT4gbGFyZ2VyIG1h
dGNoZWQgdmFsdWUgbmVhcmVzdCB0byAwLgorICAgICAgICAgICAgZS5nLiA8aW5wdXQgdHlwZT1u
dW1iZXIgbWluPS0xMDAgc3RlcD0zPiAtPiAyCisKKyAgICAgICAgQXMgZm9yIGRhdGUvZGF0ZXRp
bWUvZGF0ZXRpbWUtbG9jYWwvbW9udGgvdGltZS93ZWVrIHR5cGVzLCB0aGUgZW1wdHkgaXMgYXNz
dW1lZCBhcyAiY3VycmVudCBkYXRlL3RpbWUiLgorCisgICAgICAgIEFzIGZvciByYW5nZSBpbnB1
dCB0eXBlcywgY2hhbmdlZCBzdGVwcGluZyBmcm9tIHJlbmRlcmVyIHRvIHVzZSBzdGVwVXBGcm9t
UmVuZGVyZXIoKS4KKyAgICAgICAgSXQgd2FzIGNhbGN1bGF0ZWQgd2l0aCBzdGVwVXAoKSBmcm9t
IFJhbmdlSW5wdXRUeXBlOjpoYW5kbGVLZXlkb3duRXZlbnQoKS4KKworICAgICAgICBUZXN0OiBm
YXN0L2Zvcm1zL2lucHV0LXN0ZXB1cC1zdGVwZG93bi1mcm9tLXJlbmRlcmVyLmh0bWwKKworICAg
ICAgICAqIGh0bWwvQmFzZURhdGVBbmRUaW1lSW5wdXRUeXBlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkJhc2VEYXRlQW5kVGltZUlucHV0VHlwZTo6c3RhcnRpbmdWYWx1ZSk6IEFkZGVkIHN0YXJ0
aW5nVmFsdWUoKSB3aGljaCByZXR1cm5zIHRoZSBjdXJyZW50IGxvY2FsIHRpbWUKKyAgICAgICAg
KiBodG1sL0Jhc2VEYXRlQW5kVGltZUlucHV0VHlwZS5oOgorICAgICAgICAqIGh0bWwvRGF0ZVRp
bWVJbnB1dFR5cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGF0ZVRpbWVJbnB1dFR5cGU6OnN0
YXJ0aW5nVmFsdWUpOiBBZGRlZCBzdGFydGluZ1ZhbHVlKCkgd2hpY2ggcmV0dXJucyB0aGUgY3Vy
cmVudCBVVEMgdGltZQorICAgICAgICAqIGh0bWwvRGF0ZVRpbWVJbnB1dFR5cGUuaDoKKyAgICAg
ICAgKiBodG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTElu
cHV0RWxlbWVudDo6c3RlcFVwRnJvbVJlbmRlcmVyKTogTW9kaWZpZWQgaXQgdG8gY2xhbXAgc3Rl
cHMsIHN1cHBvcnQgZW1wdHkgdmFsdWVzIGFuZCBzdXBwb3J0IHJhbmdlIHR5cGUgaW5wdXRzCisg
ICAgICAgICogaHRtbC9IVE1MSW5wdXRFbGVtZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpIVE1M
SW5wdXRFbGVtZW50Ojppc1JhbmdlQ29udHJvbCk6CisgICAgICAgICogaHRtbC9JbnB1dFR5cGUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5wdXRUeXBlOjpzdGFydGluZ1ZhbHVlKTogQWRkZWQg
c3RhcnRpbmdWYWx1ZSgpIHdoaWNoIHJldHVybnMgMAorICAgICAgICAqIGh0bWwvSW5wdXRUeXBl
Lmg6CisgICAgICAgICogaHRtbC9Nb250aElucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpNb250aElucHV0VHlwZTo6c3RhcnRpbmdWYWx1ZSk6IEFkZGVkIHN0YXJ0aW5nVmFsdWUoKSB3
aGljaCByZXR1cm5zIHRoZSBjdXJyZW50IG1vbnRoCisgICAgICAgICogaHRtbC9Nb250aElucHV0
VHlwZS5oOgorICAgICAgICAqIGh0bWwvUmFuZ2VJbnB1dFR5cGUuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UmFuZ2VJbnB1dFR5cGU6OmhhbmRsZUtleWRvd25FdmVudCk6IEFkZGVkIGNvbW1lbnRz
IGFuZCBtb2RpZmllZCBpdCB0byB1c2Ugc3RlcFVwRnJvbVJlbmRlcmVyKCkKKyAgICAgICAgKiBo
dG1sL1RpbWVJbnB1dFR5cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGltZUlucHV0VHlwZTo6
c3RhcnRpbmdWYWx1ZSk6IEFkZGVkIHN0YXJ0aW5nVmFsdWUoKSB3aGljaCByZXR1cm5zIHRoZSBj
dXJyZW50IHRpbWUKKyAgICAgICAgKiBodG1sL1RpbWVJbnB1dFR5cGUuaDoKKyAgICAgICAgKiBt
YW51YWwtdGVzdHMvaW5wdXQtdHlwZS1kYXRldGltZS1kZWZhdWx0LXZhbHVlLmh0bWw6IEFkZGVk
IG1hbnVhbCB0ZXN0cyBmb3IgZGVmYXVsdCB2YWx1ZXMgb2YgZGF0ZS90aW1lIGlucHV0cworCiAy
MDEwLTExLTE4ICBHYXZpbiBCYXJyYWNsb3VnaCAgPGJhcnJhY2xvdWdoQGFwcGxlLmNvbT4KIAog
ICAgICAgICBSZXZpZXdlZCBieSBPbGl2ZXIgSHVudC4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRt
bC9CYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGUuY3BwIGIvV2ViQ29yZS9odG1sL0Jhc2VEYXRlQW5k
VGltZUlucHV0VHlwZS5jcHAKaW5kZXggZTc4MGVkNmJhMjRkMjBmYWZiZGI2MjllMjgzNjk4NWYx
YTVhOTBjYy4uNzAyNDNlNTljNGVmMTdkYWQxMzA3MzBlNmUzODY0YmY3NjA2NzBkNyAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9odG1sL0Jhc2VEYXRlQW5kVGltZUlucHV0VHlwZS5jcHAKKysrIGIvV2Vi
Q29yZS9odG1sL0Jhc2VEYXRlQW5kVGltZUlucHV0VHlwZS5jcHAKQEAgLTM1LDYgKzM1LDggQEAK
ICNpbmNsdWRlICJIVE1MSW5wdXRFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCiAj
aW5jbHVkZSA8bGltaXRzPgorI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgorI2luY2x1ZGUg
PHd0Zi9EYXRlTWF0aC5oPgogI2luY2x1ZGUgPHd0Zi9NYXRoRXh0cmFzLmg+CiAjaW5jbHVkZSA8
d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KQEAgLTkx
LDYgKzkzLDE1IEBAIGJvb2wgQmFzZURhdGVBbmRUaW1lSW5wdXRUeXBlOjpyYW5nZU92ZXJmbG93
KGNvbnN0IFN0cmluZyYgdmFsdWUpIGNvbnN0CiAgICAgcmV0dXJuIGlzZmluaXRlKGRvdWJsZVZh
bHVlKSAmJiBkb3VibGVWYWx1ZSA+IG1heGltdW0oKTsKIH0KIAorZG91YmxlIEJhc2VEYXRlQW5k
VGltZUlucHV0VHlwZTo6ZGVmYXVsdFZhbHVlRm9yU3RlcFVwKCkgY29uc3QKK3sKKyAgICBkb3Vi
bGUgbXMgPSBjdXJyZW50VGltZU1TKCk7CisgICAgZG91YmxlIHV0Y09mZnNldCA9IGNhbGN1bGF0
ZVVUQ09mZnNldCgpOworICAgIGRvdWJsZSBkc3RPZmZzZXQgPSBjYWxjdWxhdGVEU1RPZmZzZXQo
bXMsIHV0Y09mZnNldCk7CisgICAgaW50IG9mZnNldCA9IHN0YXRpY19jYXN0PGludD4oKHV0Y09m
ZnNldCArIGRzdE9mZnNldCkgLyBtc1Blck1pbnV0ZSk7CisgICAgcmV0dXJuIG1zICsgKG9mZnNl
dCAqIG1zUGVyTWludXRlKTsKK30KKwogYm9vbCBCYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGU6OnN0
ZXBNaXNtYXRjaChjb25zdCBTdHJpbmcmIHZhbHVlLCBkb3VibGUgc3RlcCkgY29uc3QKIHsKICAg
ICBjb25zdCBkb3VibGUgbmFuID0gbnVtZXJpY19saW1pdHM8ZG91YmxlPjo6cXVpZXRfTmFOKCk7
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvQmFzZURhdGVBbmRUaW1lSW5wdXRUeXBlLmggYi9X
ZWJDb3JlL2h0bWwvQmFzZURhdGVBbmRUaW1lSW5wdXRUeXBlLmgKaW5kZXggMTFjNjBhZmNhNjU4
YzZiNzIyZmMwMjdkZGU1ODRjZDY3NTYwZDQ5YS4uYWQ3MzAyYTllMWJhZGJjZWZjYTE5MzhlZjBl
ZTI0Yzc3OTQ0ZWNmYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0Jhc2VEYXRlQW5kVGltZUlu
cHV0VHlwZS5oCisrKyBiL1dlYkNvcmUvaHRtbC9CYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGUuaApA
QCAtNTUsNiArNTUsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgYm9vbCB0eXBlTWlzbWF0Y2go
KSBjb25zdDsKICAgICB2aXJ0dWFsIGJvb2wgcmFuZ2VVbmRlcmZsb3coY29uc3QgU3RyaW5nJikg
Y29uc3Q7CiAgICAgdmlydHVhbCBib29sIHJhbmdlT3ZlcmZsb3coY29uc3QgU3RyaW5nJikgY29u
c3Q7CisgICAgdmlydHVhbCBkb3VibGUgZGVmYXVsdFZhbHVlRm9yU3RlcFVwKCkgY29uc3Q7CiAg
ICAgdmlydHVhbCBib29sIHN0ZXBNaXNtYXRjaChjb25zdCBTdHJpbmcmLCBkb3VibGUpIGNvbnN0
OwogICAgIHZpcnR1YWwgZG91YmxlIHN0ZXBCYXNlKCkgY29uc3Q7CiAgICAgdmlydHVhbCBib29s
IGhhbmRsZUtleWRvd25FdmVudChLZXlib2FyZEV2ZW50Kik7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2h0bWwvRGF0ZVRpbWVJbnB1dFR5cGUuY3BwIGIvV2ViQ29yZS9odG1sL0RhdGVUaW1lSW5wdXRU
eXBlLmNwcAppbmRleCBjNzhhNTQwNTZhMTVlMTAyOTZkZWU4MmQwNjNlNDYyMjljMDgzNmQ3Li43
ODY0MWY4N2RmN2JiMzFlZDQyYmFhMjEzNDFjMWNiOTczNTE3MmI1IDEwMDY0NAotLS0gYS9XZWJD
b3JlL2h0bWwvRGF0ZVRpbWVJbnB1dFR5cGUuY3BwCisrKyBiL1dlYkNvcmUvaHRtbC9EYXRlVGlt
ZUlucHV0VHlwZS5jcHAKQEAgLTM0LDYgKzM0LDcgQEAKICNpbmNsdWRlICJEYXRlQ29tcG9uZW50
cy5oIgogI2luY2x1ZGUgIkhUTUxJbnB1dEVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMu
aCIKKyNpbmNsdWRlIDx3dGYvQ3VycmVudFRpbWUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0
ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC01Myw2ICs1NCwxMSBAQCBjb25zdCBBdG9t
aWNTdHJpbmcmIERhdGVUaW1lSW5wdXRUeXBlOjpmb3JtQ29udHJvbFR5cGUoKSBjb25zdAogICAg
IHJldHVybiBJbnB1dFR5cGVOYW1lczo6ZGF0ZXRpbWUoKTsKIH0KIAorZG91YmxlIERhdGVUaW1l
SW5wdXRUeXBlOjpkZWZhdWx0VmFsdWVGb3JTdGVwVXAoKSBjb25zdAoreworICAgIHJldHVybiBj
dXJyZW50VGltZU1TKCk7Cit9CisKIGRvdWJsZSBEYXRlVGltZUlucHV0VHlwZTo6bWluaW11bSgp
IGNvbnN0CiB7CiAgICAgcmV0dXJuIHBhcnNlVG9Eb3VibGUoZWxlbWVudCgpLT5mYXN0R2V0QXR0
cmlidXRlKG1pbkF0dHIpLCBEYXRlQ29tcG9uZW50czo6bWluaW11bURhdGVUaW1lKCkpOwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9odG1sL0RhdGVUaW1lSW5wdXRUeXBlLmggYi9XZWJDb3JlL2h0bWwv
RGF0ZVRpbWVJbnB1dFR5cGUuaAppbmRleCAxNDA5NzViMTk1MTg0YWUwYjZkOGY4ZWE0ZDU2MzQ4
NWUxNjFhYzNmLi45YTBlZmQxZjM5MjE5MDA4MzllMjc3YTMyNTU0ZmU1ZmEyMzdlZDg2IDEwMDY0
NAotLS0gYS9XZWJDb3JlL2h0bWwvRGF0ZVRpbWVJbnB1dFR5cGUuaAorKysgYi9XZWJDb3JlL2h0
bWwvRGF0ZVRpbWVJbnB1dFR5cGUuaApAQCAtNDIsNiArNDIsNyBAQCBwdWJsaWM6CiBwcml2YXRl
OgogICAgIERhdGVUaW1lSW5wdXRUeXBlKEhUTUxJbnB1dEVsZW1lbnQqIGVsZW1lbnQpIDogQmFz
ZURhdGVBbmRUaW1lSW5wdXRUeXBlKGVsZW1lbnQpIHsgfQogICAgIHZpcnR1YWwgY29uc3QgQXRv
bWljU3RyaW5nJiBmb3JtQ29udHJvbFR5cGUoKSBjb25zdDsKKyAgICB2aXJ0dWFsIGRvdWJsZSBk
ZWZhdWx0VmFsdWVGb3JTdGVwVXAoKSBjb25zdDsKICAgICB2aXJ0dWFsIGRvdWJsZSBtaW5pbXVt
KCkgY29uc3Q7CiAgICAgdmlydHVhbCBkb3VibGUgbWF4aW11bSgpIGNvbnN0OwogICAgIHZpcnR1
YWwgZG91YmxlIGRlZmF1bHRTdGVwKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwv
SFRNTElucHV0RWxlbWVudC5jcHAgYi9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAK
aW5kZXggYWY0ZTdkMDU0ODIxNzExMGUzOTdjM2JjNGExZmVjZjc3NjdiNTgwOS4uZjMxYWUxNThk
NmNlNWFjZGQ0NDUyY2YzMDExZGI5ZjNmNWVjZGQyZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1s
L0hUTUxJbnB1dEVsZW1lbnQuY3BwCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50
LmNwcApAQCAtMTg0OSwzNyArMTg0OSwxMDMgQEAgSFRNTE9wdGlvbkVsZW1lbnQqIEhUTUxJbnB1
dEVsZW1lbnQ6OnNlbGVjdGVkT3B0aW9uKCkgY29uc3QKIHZvaWQgSFRNTElucHV0RWxlbWVudDo6
c3RlcFVwRnJvbVJlbmRlcmVyKGludCBuKQogewogICAgIC8vIFRoZSBkaWZmZXJlbmNlcyBmcm9t
IHN0ZXBVcCgpL3N0ZXBEb3duKCk6Ci0gICAgLy8gSWYgdGhlIGN1cnJlbnQgdmFsdWUgaXMgbm90
IGEgbnVtYmVyLCB0aGUgdmFsdWUgd2lsbCBiZQotICAgIC8vICAtIFRoZSB2YWx1ZSBzaG91bGQg
YmUgdGhlIG1pbmltdW0gdmFsdWUgaWYgbiA+IDAKLSAgICAvLyAgLSBUaGUgdmFsdWUgc2hvdWxk
IGJlIHRoZSBtYXhpbXVtIHZhbHVlIGlmIG4gPCAwCisgICAgLy8KKyAgICAvLyBEaWZmZXJlbmNl
IDE6IHRoZSBjdXJyZW50IHZhbHVlCisgICAgLy8gSWYgdGhlIGN1cnJlbnQgdmFsdWUgaXMgbm90
IGEgbnVtYmVyLCBpbmNsdWRpbmcgZW1wdHksIHRoZSBjdXJyZW50IHZhbHVlIGlzIGFzc3VtZWQg
YXMgMC4KKyAgICAvLyAgICogSWYgMCBpcyBpbi1yYW5nZSwgYW5kIG1hdGNoZXMgdG8gc3RlcCB2
YWx1ZQorICAgIC8vICAgICAtIFRoZSB2YWx1ZSBzaG91bGQgYmUgdGhlICtzdGVwIGlmIG4gPiAw
CisgICAgLy8gICAgIC0gVGhlIHZhbHVlIHNob3VsZCBiZSB0aGUgLXN0ZXAgaWYgbiA8IDAKKyAg
ICAvLyAgICAgSWYgLXN0ZXAgb3IgK3N0ZXAgaXMgb3V0IG9mIHJhbmdlLCBuZXcgdmFsdWUgc2hv
dWxkIGJlIDAuCisgICAgLy8gICAqIElmIDAgaXMgc21hbGxlciB0aGFuIHRoZSBtaW5pbXVtIHZh
bHVlCisgICAgLy8gICAgIC0gVGhlIHZhbHVlIHNob3VsZCBiZSB0aGUgbWluaW11bSB2YWx1ZSBm
b3IgYW55IG4KKyAgICAvLyAgICogSWYgMCBpcyBsYXJnZXIgdGhhbiB0aGUgbWF4aW11bSB2YWx1
ZQorICAgIC8vICAgICAtIFRoZSB2YWx1ZSBzaG91bGQgYmUgdGhlIG1heGltdW0gdmFsdWUgZm9y
IGFueSBuCisgICAgLy8gICAqIElmIDAgaXMgaW4tcmFuZ2UsIGJ1dCBub3QgbWF0Y2hlZCB0byBz
dGVwIHZhbHVlCisgICAgLy8gICAgIC0gVGhlIHZhbHVlIHNob3VsZCBiZSB0aGUgbGFyZ2VyIG1h
dGNoZWQgdmFsdWUgbmVhcmVzdCB0byAwIGlmIG4gPiAwCisgICAgLy8gICAgICAgZS5nLiA8aW5w
dXQgdHlwZT1udW1iZXIgbWluPS0xMDAgc3RlcD0zPiAtPiAyCisgICAgLy8gICAgIC0gVGhlIHZh
bHVlIHNob3VsZCBiZSB0aGUgc21hbGVyIG1hdGNoZWQgdmFsdWUgbmVhcmVzdCB0byAwIGlmIG4g
PCAwCisgICAgLy8gICAgICAgZS5nLiA8aW5wdXQgdHlwZT1udW1iZXIgbWluPS0xMDAgc3RlcD0z
PiAtPiAtMQorICAgIC8vICAgQXMgZm9yIGRhdGUvZGF0ZXRpbWUvZGF0ZXRpbWUtbG9jYWwvbW9u
dGgvdGltZS93ZWVrIHR5cGVzLCB0aGUgY3VycmVudCB2YWx1ZSBpcyBhc3N1bWVkIGFzICJ0aGUg
Y3VycmVudCBkYXRlL3RpbWUiLgogICAgIC8vIElmIHRoZSBjdXJyZW50IHZhbHVlIGlzIHNtYWxs
ZXIgdGhhbiB0aGUgbWluaW11bSB2YWx1ZToKICAgICAvLyAgLSBUaGUgdmFsdWUgc2hvdWxkIGJl
IHRoZSBtaW5pbXVtIHZhbHVlIGlmIG4gPiAwCiAgICAgLy8gIC0gTm90aGluZyBzaG91bGQgaGFw
cGVuIGlmIG4gPCAwCiAgICAgLy8gSWYgdGhlIGN1cnJlbnQgdmFsdWUgaXMgbGFyZ2VyIHRoYW4g
dGhlIG1heGltdW0gdmFsdWU6CiAgICAgLy8gIC0gVGhlIHZhbHVlIHNob3VsZCBiZSB0aGUgbWF4
aW11bSB2YWx1ZSBpZiBuIDwgMAogICAgIC8vICAtIE5vdGhpbmcgc2hvdWxkIGhhcHBlbiBpZiBu
ID4gMAotCi0gICAgQVNTRVJUKGhhc1NwaW5CdXR0b24oKSk7Ci0gICAgaWYgKCFoYXNTcGluQnV0
dG9uKCkpCisgICAgLy8KKyAgICAvLyBEaWZmZXJlbmNlIDI6IGNsYW1waW5nIHN0ZXBzCisgICAg
Ly8gSWYgdGhlIGN1cnJlbnQgdmFsdWUgaXMgbm90IG1hdGNoZWQgdG8gc3RlcCB2YWx1ZToKKyAg
ICAvLyAtIFRoZSB2YWx1ZSBzaG91bGQgYmUgdGhlIGxhcmdlciBtYXRjaGVkIHZhbHVlIG5lYXJl
c3QgdG8gMCBpZiBuID4gMAorICAgIC8vICAgZS5nLiA8aW5wdXQgdHlwZT1udW1iZXIgdmFsdWU9
MyBtaW49LTEwMCBzdGVwPTM+IC0+IDUKKyAgICAvLyAtIFRoZSB2YWx1ZSBzaG91bGQgYmUgdGhl
IHNtYWxlciBtYXRjaGVkIHZhbHVlIG5lYXJlc3QgdG8gMCBpZiBuIDwgMAorICAgIC8vICAgZS5n
LiA8aW5wdXQgdHlwZT1udW1iZXIgdmFsdWU9MyBtaW49LTEwMCBzdGVwPTM+IC0+IDIKKyAgICAv
LworICAgIC8vIG4gaXMgYXNzdW1lZCBhcyAtbiBpZiBzdGVwIDwgMC4KKworICAgIEFTU0VSVCho
YXNTcGluQnV0dG9uKCkgfHwgbV9pbnB1dFR5cGUtPmlzUmFuZ2VDb250cm9sKCkpOworICAgIGlm
ICghaGFzU3BpbkJ1dHRvbigpICYmICFtX2lucHV0VHlwZS0+aXNSYW5nZUNvbnRyb2woKSkKICAg
ICAgICAgcmV0dXJuOwogICAgIEFTU0VSVChuKTsKICAgICBpZiAoIW4pCiAgICAgICAgIHJldHVy
bjsKIAorICAgIHVuc2lnbmVkIHN0ZXBEZWNpbWFsUGxhY2VzLCBiYXNlRGVjaW1hbFBsYWNlczsK
KyAgICBkb3VibGUgc3RlcCwgYmFzZTsKKyAgICAvLyBUaGUgdmFsdWUgd2lsbCBiZSB0aGUgZGVm
YXVsdCB2YWx1ZSBhZnRlciBzdGVwcGluZyBmb3IgPGlucHV0IHZhbHVlPShlbXB0eS9pbnZhbGlk
KSBzdGVwPSJhbnkiIC8+CisgICAgLy8gRklYTUU6IE5vdCBhbnkgY2hhbmdlcyBhZnRlciBzdGVw
cGluZyBtYXkgYmUgYmV0dGVyLgorICAgIC8vIChlLmcuIFN0ZXBwaW5nLXVwIGZvciA8aW5wdXQg
dHlwZT0ibnVtYmVyIiB2YWx1ZT0iZm9vIiBzdGVwPSJhbnkiIC8+ID0+ICJmb28iKQorICAgIGlm
IChlcXVhbElnbm9yaW5nQ2FzZShnZXRBdHRyaWJ1dGUoc3RlcEF0dHIpLCAiYW55IikpCisgICAg
ICAgIHN0ZXAgPSAwOworICAgIGVsc2UgaWYgKCFnZXRBbGxvd2VkVmFsdWVTdGVwV2l0aERlY2lt
YWxQbGFjZXMoJnN0ZXAsICZzdGVwRGVjaW1hbFBsYWNlcykpCisgICAgICAgIHJldHVybjsKKyAg
ICBiYXNlID0gbV9pbnB1dFR5cGUtPnN0ZXBCYXNlV2l0aERlY2ltYWxQbGFjZXMoJmJhc2VEZWNp
bWFsUGxhY2VzKTsKKyAgICBiYXNlRGVjaW1hbFBsYWNlcyA9IG1pbihiYXNlRGVjaW1hbFBsYWNl
cywgMTZ1KTsKKworICAgIGludCBzaWduID0gbiAqIChzdGVwIDwgMCA/ICgtMSkgOiAoMSkpOwor
CiAgICAgY29uc3QgZG91YmxlIG5hbiA9IG51bWVyaWNfbGltaXRzPGRvdWJsZT46OnF1aWV0X05h
TigpOwogICAgIFN0cmluZyBjdXJyZW50U3RyaW5nVmFsdWUgPSB2YWx1ZSgpOwogICAgIGRvdWJs
ZSBjdXJyZW50ID0gbV9pbnB1dFR5cGUtPnBhcnNlVG9Eb3VibGUoY3VycmVudFN0cmluZ1ZhbHVl
LCBuYW4pOwotICAgIGlmICghaXNmaW5pdGUoY3VycmVudCkgfHwgKG4gPiAwICYmIGN1cnJlbnQg
PCBtX2lucHV0VHlwZS0+bWluaW11bSgpKSB8fCAobiA8IDAgJiYgY3VycmVudCA+IG1faW5wdXRU
eXBlLT5tYXhpbXVtKCkpKQotICAgICAgICBzZXRWYWx1ZShtX2lucHV0VHlwZS0+c2VyaWFsaXpl
KG4gPiAwID8gbV9pbnB1dFR5cGUtPm1pbmltdW0oKSA6IG1faW5wdXRUeXBlLT5tYXhpbXVtKCkp
KTsKKyAgICBpZiAoIWlzZmluaXRlKGN1cnJlbnQpKSB7CisgICAgICAgIEV4Y2VwdGlvbkNvZGUg
ZWM7CisgICAgICAgIGN1cnJlbnQgPSBtX2lucHV0VHlwZS0+ZGVmYXVsdFZhbHVlRm9yU3RlcFVw
KCk7CisgICAgICAgIHNldFZhbHVlQXNOdW1iZXIoY3VycmVudCwgZWMpOworICAgIH0KKyAgICBp
ZiAoKHNpZ24gPiAwICYmIGN1cnJlbnQgPCBtX2lucHV0VHlwZS0+bWluaW11bSgpKSB8fCAoc2ln
biA8IDAgJiYgY3VycmVudCA+IG1faW5wdXRUeXBlLT5tYXhpbXVtKCkpKQorICAgICAgICBzZXRW
YWx1ZShtX2lucHV0VHlwZS0+c2VyaWFsaXplKHNpZ24gPiAwID8gbV9pbnB1dFR5cGUtPm1pbmlt
dW0oKSA6IG1faW5wdXRUeXBlLT5tYXhpbXVtKCkpKTsKICAgICBlbHNlIHsKICAgICAgICAgRXhj
ZXB0aW9uQ29kZSBlYzsKLSAgICAgICAgc3RlcFVwKG4sIGVjKTsKKyAgICAgICAgaWYgKHN0ZXBN
aXNtYXRjaChjdXJyZW50U3RyaW5nVmFsdWUpKSB7CisgICAgICAgICAgICBkb3VibGUgbmV3VmFs
dWU7CisgICAgICAgICAgICBkb3VibGUgc2NhbGUgPSBwb3coMTAuMCwgc3RhdGljX2Nhc3Q8ZG91
YmxlPihtYXgoc3RlcERlY2ltYWxQbGFjZXMsIGJhc2VEZWNpbWFsUGxhY2VzKSkpOworCisgICAg
ICAgICAgICBpZiAoc2lnbiA8IDApCisgICAgICAgICAgICAgICAgbmV3VmFsdWUgPSByb3VuZCgo
YmFzZSArIGZsb29yKChjdXJyZW50IC0gYmFzZSkgLyBzdGVwKSAqIHN0ZXApICogc2NhbGUpIC8g
c2NhbGU7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgbmV3VmFsdWUgPSByb3Vu
ZCgoYmFzZSArIGNlaWwoKGN1cnJlbnQgLSBiYXNlKSAvIHN0ZXApICogc3RlcCkgKiBzY2FsZSkg
LyBzY2FsZTsKKworICAgICAgICAgICAgaWYgKG5ld1ZhbHVlIDwgbV9pbnB1dFR5cGUtPm1pbmlt
dW0oKSkKKyAgICAgICAgICAgICAgICBuZXdWYWx1ZSA9IG1faW5wdXRUeXBlLT5taW5pbXVtKCk7
CisgICAgICAgICAgICBpZiAobmV3VmFsdWUgPiBtX2lucHV0VHlwZS0+bWF4aW11bSgpKQorICAg
ICAgICAgICAgICAgIG5ld1ZhbHVlID0gbV9pbnB1dFR5cGUtPm1heGltdW0oKTsKKworICAgICAg
ICAgICAgc2V0VmFsdWVBc051bWJlcihuZXdWYWx1ZSwgZWMpOworICAgICAgICAgICAgY3VycmVu
dCA9IG5ld1ZhbHVlOworICAgICAgICAgICAgaWYgKG4gPiAxKQorICAgICAgICAgICAgICAgIGFw
cGx5U3RlcChuIC0gMSwgZWMpOworICAgICAgICAgICAgZWxzZSBpZiAobiA8IC0xKQorICAgICAg
ICAgICAgICAgIGFwcGx5U3RlcChuICsgMSwgZWMpOworICAgICAgICB9IGVsc2UKKyAgICAgICAg
ICAgIGFwcGx5U3RlcChuLCBlYyk7CiAgICAgfQogCiAgICAgaWYgKGN1cnJlbnRTdHJpbmdWYWx1
ZSAhPSB2YWx1ZSgpKSB7CiAgICAgICAgIGlmIChyZW5kZXJlcigpICYmIHJlbmRlcmVyKCktPmlz
VGV4dEZpZWxkKCkpCiAgICAgICAgICAgICB0b1JlbmRlclRleHRDb250cm9sKHJlbmRlcmVyKCkp
LT5zZXRDaGFuZ2VkU2luY2VMYXN0Q2hhbmdlRXZlbnQodHJ1ZSk7Ci0gICAgICAgIGRpc3BhdGNo
RXZlbnQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkuaW5wdXRFdmVudCwgdHJ1ZSwgZmFsc2Up
KTsKKyAgICAgICAgaWYgKG1faW5wdXRUeXBlLT5pc1JhbmdlQ29udHJvbCgpKQorICAgICAgICAg
ICAgZGlzcGF0Y2hGb3JtQ29udHJvbENoYW5nZUV2ZW50KCk7CisgICAgICAgIGVsc2UKKyAgICAg
ICAgICAgIGRpc3BhdGNoRXZlbnQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkuaW5wdXRFdmVu
dCwgdHJ1ZSwgZmFsc2UpKTsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9I
VE1MSW5wdXRFbGVtZW50LmggYi9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oCmluZGV4
IDk4ODQxMTdiODExY2NhMTllZTA3NDdiMDVkMDViOGZjZTAyMmI1MWIuLjY3NjFiNTc4Y2ZkZDg3
OGM5NzU5MTVjNzMyNzgyNzAyODJmYTA0NjcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1M
SW5wdXRFbGVtZW50LmgKKysrIGIvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaApAQCAt
MjcsNiArMjcsNyBAQAogI2luY2x1ZGUgIkhUTUxGb3JtQ29udHJvbEVsZW1lbnQuaCIKICNpbmNs
dWRlICJIVE1MRm9ybUVsZW1lbnQuaCIKICNpbmNsdWRlICJJbnB1dEVsZW1lbnQuaCIKKyNpbmNs
dWRlICJJbnB1dFR5cGUuaCIKICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuY3BwIGIvV2ViQ29y
ZS9odG1sL0lucHV0VHlwZS5jcHAKaW5kZXggNmRkMDAyYzRmMmFmZDE1MWVkNDJiYjhlMzMwZTFm
NTIyNGQ4MzJjMi4uYmE5ZTg3NzIwYjhjZWYxNGJlOGYyODZlNGE0MTcwNDFjMzc2OGNmMCAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5jcHAKKysrIGIvV2ViQ29yZS9odG1sL0lu
cHV0VHlwZS5jcHAKQEAgLTEyNSw2ICsxMjUsMTEgQEAgYm9vbCBJbnB1dFR5cGU6OmlzVGV4dFR5
cGUoKSBjb25zdAogICAgIHJldHVybiBmYWxzZTsKIH0KIAorYm9vbCBJbnB1dFR5cGU6OmlzUmFu
Z2VDb250cm9sKCkgY29uc3QKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKIGJvb2wgSW5wdXRU
eXBlOjpzYXZlRm9ybUNvbnRyb2xTdGF0ZShTdHJpbmcmIHJlc3VsdCkgY29uc3QKIHsKICAgICBT
dHJpbmcgY3VycmVudFZhbHVlID0gZWxlbWVudCgpLT52YWx1ZSgpOwpAQCAtMjEzLDYgKzIxOCwx
MSBAQCBib29sIElucHV0VHlwZTo6cmFuZ2VPdmVyZmxvdyhjb25zdCBTdHJpbmcmKSBjb25zdAog
ICAgIHJldHVybiBmYWxzZTsKIH0KIAorZG91YmxlIElucHV0VHlwZTo6ZGVmYXVsdFZhbHVlRm9y
U3RlcFVwKCkgY29uc3QKK3sKKyAgICByZXR1cm4gMDsKK30KKwogZG91YmxlIElucHV0VHlwZTo6
bWluaW11bSgpIGNvbnN0CiB7CiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmggYi9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmgKaW5k
ZXggZjFhNWI2ZGNhMGY3ZmFlMjMwMjllOGMyNjk0OWRhYTIyMmQ3M2IxYS4uNGRjZmYwMTkzMjdm
ZmYzM2M2NzIyNWQzOGJmNDU5ZDI1MzcxNGMwYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0lu
cHV0VHlwZS5oCisrKyBiL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuaApAQCAtNjAsNiArNjAsNyBA
QCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIGJvb2wgaXNUZXh0RmllbGQoKSBjb25zdDsKICAgICB2
aXJ0dWFsIGJvb2wgaXNUZXh0VHlwZSgpIGNvbnN0OworICAgIHZpcnR1YWwgYm9vbCBpc1Jhbmdl
Q29udHJvbCgpIGNvbnN0OwogICAgIHZpcnR1YWwgY29uc3QgQXRvbWljU3RyaW5nJiBmb3JtQ29u
dHJvbFR5cGUoKSBjb25zdCA9IDA7CiAKICAgICAvLyBGb3JtIHZhbHVlIGZ1bmN0aW9ucwpAQCAt
ODksNiArOTAsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIHBhdHRlcm5NaXNtYXRjaChj
b25zdCBTdHJpbmcmKSBjb25zdDsKICAgICB2aXJ0dWFsIGJvb2wgcmFuZ2VVbmRlcmZsb3coY29u
c3QgU3RyaW5nJikgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIHJhbmdlT3ZlcmZsb3coY29uc3Qg
U3RyaW5nJikgY29uc3Q7CisgICAgdmlydHVhbCBkb3VibGUgZGVmYXVsdFZhbHVlRm9yU3RlcFVw
KCkgY29uc3Q7CiAgICAgdmlydHVhbCBkb3VibGUgbWluaW11bSgpIGNvbnN0OwogICAgIHZpcnR1
YWwgZG91YmxlIG1heGltdW0oKSBjb25zdDsKICAgICB2aXJ0dWFsIGJvb2wgc3RlcE1pc21hdGNo
KGNvbnN0IFN0cmluZyYsIGRvdWJsZSkgY29uc3Q7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwv
TW9udGhJbnB1dFR5cGUuY3BwIGIvV2ViQ29yZS9odG1sL01vbnRoSW5wdXRUeXBlLmNwcAppbmRl
eCBjYmRlNWNiYWQyOTQxZDRjNTgxYTgzYmExMDFlNDlhZGFiMjNkZDU2Li42MmU2MTdmNWIwMjFk
NjU0NzMyZDAxZTllNDhhNTgzMjJjYzM2YWEzIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvTW9u
dGhJbnB1dFR5cGUuY3BwCisrKyBiL1dlYkNvcmUvaHRtbC9Nb250aElucHV0VHlwZS5jcHAKQEAg
LTM0LDYgKzM0LDcgQEAKICNpbmNsdWRlICJEYXRlQ29tcG9uZW50cy5oIgogI2luY2x1ZGUgIkhU
TUxJbnB1dEVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKKyNpbmNsdWRlIDx3dGYv
Q3VycmVudFRpbWUuaD4KICNpbmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgogI2luY2x1ZGUgPHd0
Zi9QYXNzT3duUHRyLmg+CiAKQEAgLTc0LDYgKzc1LDIxIEBAIHZvaWQgTW9udGhJbnB1dFR5cGU6
OnNldFZhbHVlQXNEYXRlKGRvdWJsZSB2YWx1ZSwgRXhjZXB0aW9uQ29kZSYpIGNvbnN0CiAgICAg
ZWxlbWVudCgpLT5zZXRWYWx1ZShkYXRlLnRvU3RyaW5nKCkpOwogfQogCitkb3VibGUgTW9udGhJ
bnB1dFR5cGU6OmRlZmF1bHRWYWx1ZUZvclN0ZXBVcCgpIGNvbnN0Cit7CisgICAgZG91YmxlIGN1
cnJlbnQgPSBjdXJyZW50VGltZU1TKCk7CisgICAgZG91YmxlIHV0Y09mZnNldCA9IGNhbGN1bGF0
ZVVUQ09mZnNldCgpOworICAgIGRvdWJsZSBkc3RPZmZzZXQgPSBjYWxjdWxhdGVEU1RPZmZzZXQo
Y3VycmVudCwgdXRjT2Zmc2V0KTsKKyAgICBpbnQgb2Zmc2V0ID0gc3RhdGljX2Nhc3Q8aW50Pigo
dXRjT2Zmc2V0ICsgZHN0T2Zmc2V0KSAvIG1zUGVyTWludXRlKTsKKyAgICBjdXJyZW50ICs9IG9m
ZnNldCAqIG1zUGVyTWludXRlOworCisgICAgRGF0ZUNvbXBvbmVudHMgZGF0ZTsKKyAgICBkYXRl
LnNldE1pbGxpc2Vjb25kc1NpbmNlRXBvY2hGb3JNb250aChjdXJyZW50KTsKKyAgICBkb3VibGUg
bW9udGhzID0gZGF0ZS5tb250aHNTaW5jZUVwb2NoKCk7CisgICAgQVNTRVJUKGlzZmluaXRlKG1v
bnRocykpOworICAgIHJldHVybiBtb250aHM7Cit9CisKIGRvdWJsZSBNb250aElucHV0VHlwZTo6
bWluaW11bSgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIHBhcnNlVG9Eb3VibGUoZWxlbWVudCgpLT5m
YXN0R2V0QXR0cmlidXRlKG1pbkF0dHIpLCBEYXRlQ29tcG9uZW50czo6bWluaW11bU1vbnRoKCkp
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL01vbnRoSW5wdXRUeXBlLmggYi9XZWJDb3JlL2h0
bWwvTW9udGhJbnB1dFR5cGUuaAppbmRleCA1MGNmN2Q1MGY5NGJmNTA2ODE3MmU3Yjk5NTVlNjM0
MTUwNjRmZDBhLi4yMzUzNmUyZDk0MjRjMzllNGNmNjE2OWIzMDU5MWM1M2Q3MmQ1MjczIDEwMDY0
NAotLS0gYS9XZWJDb3JlL2h0bWwvTW9udGhJbnB1dFR5cGUuaAorKysgYi9XZWJDb3JlL2h0bWwv
TW9udGhJbnB1dFR5cGUuaApAQCAtNDUsNiArNDUsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwg
ZG91YmxlIHZhbHVlQXNEYXRlKCkgY29uc3Q7CiAgICAgdmlydHVhbCB2b2lkIHNldFZhbHVlQXNE
YXRlKGRvdWJsZSwgRXhjZXB0aW9uQ29kZSYpIGNvbnN0OwogICAgIHZpcnR1YWwgZG91YmxlIHBh
cnNlVG9Eb3VibGUoY29uc3QgU3RyaW5nJiwgZG91YmxlKSBjb25zdDsKKyAgICB2aXJ0dWFsIGRv
dWJsZSBkZWZhdWx0VmFsdWVGb3JTdGVwVXAoKSBjb25zdDsKICAgICB2aXJ0dWFsIGRvdWJsZSBt
aW5pbXVtKCkgY29uc3Q7CiAgICAgdmlydHVhbCBkb3VibGUgbWF4aW11bSgpIGNvbnN0OwogICAg
IHZpcnR1YWwgZG91YmxlIGRlZmF1bHRTdGVwKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2h0bWwvUmFuZ2VJbnB1dFR5cGUuY3BwIGIvV2ViQ29yZS9odG1sL1JhbmdlSW5wdXRUeXBlLmNw
cAppbmRleCBhZDQ3ZjE0Y2IxNGE5ZDg4OTEyZmNkYTYyYzhmOTdmODhhZDNiYzFjLi4zMGI1M2Zl
M2UxNzJkMDFmOWJjZTZmZTU5Y2JkODg1NDk1MTliOGUwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0
bWwvUmFuZ2VJbnB1dFR5cGUuY3BwCisrKyBiL1dlYkNvcmUvaHRtbC9SYW5nZUlucHV0VHlwZS5j
cHAKQEAgLTU1LDYgKzU1LDExIEBAIFBhc3NPd25QdHI8SW5wdXRUeXBlPiBSYW5nZUlucHV0VHlw
ZTo6Y3JlYXRlKEhUTUxJbnB1dEVsZW1lbnQqIGVsZW1lbnQpCiAgICAgcmV0dXJuIGFkb3B0UHRy
KG5ldyBSYW5nZUlucHV0VHlwZShlbGVtZW50KSk7CiB9CiAKK2Jvb2wgUmFuZ2VJbnB1dFR5cGU6
OmlzUmFuZ2VDb250cm9sKCkgY29uc3QKK3sKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogY29uc3Qg
QXRvbWljU3RyaW5nJiBSYW5nZUlucHV0VHlwZTo6Zm9ybUNvbnRyb2xUeXBlKCkgY29uc3QKIHsK
ICAgICByZXR1cm4gSW5wdXRUeXBlTmFtZXM6OnJhbmdlKCk7CkBAIC0xNDMsNiArMTQ4LDggQEAg
Ym9vbCBSYW5nZUlucHV0VHlwZTo6aGFuZGxlS2V5ZG93bkV2ZW50KEtleWJvYXJkRXZlbnQqIGV2
ZW50KQogICAgICAgICBkb3VibGUgc3RlcCA9IChtYXggLSBtaW4pIC8gMTAwOwogICAgICAgICBk
b3VibGUgY3VycmVudCA9IHBhcnNlVG9Eb3VibGUoZWxlbWVudCgpLT52YWx1ZSgpLCBudW1lcmlj
X2xpbWl0czxkb3VibGU+OjpxdWlldF9OYU4oKSk7CiAgICAgICAgIEFTU0VSVChpc2Zpbml0ZShj
dXJyZW50KSk7CisgICAgICAgIC8vIE5vdCB1c2luZyBzdGVwVXBGcm9tUmVuZGVyZXIoKSBzaW5j
ZSBpdCBpcyBub3QgYW55IGtpbmQgb2Ygc3RlcFVwKCkKKyAgICAgICAgLy8gTm8gc3RlcFVwKCkg
Zm9yIHN0ZXA9ImFueSIKICAgICAgICAgZG91YmxlIG5ld1ZhbHVlOwogICAgICAgICBpZiAoa2V5
ID09ICJVcCIgfHwga2V5ID09ICJSaWdodCIpIHsKICAgICAgICAgICAgIG5ld1ZhbHVlID0gY3Vy
cmVudCArIHN0ZXA7CkBAIC0xNTksMTAgKzE2Niw4IEBAIGJvb2wgUmFuZ2VJbnB1dFR5cGU6Omhh
bmRsZUtleWRvd25FdmVudChLZXlib2FyZEV2ZW50KiBldmVudCkKICAgICAgICAgfQogICAgIH0g
ZWxzZSB7CiAgICAgICAgIGludCBzdGVwTWFnbmlmaWNhdGlvbiA9IChrZXkgPT0gIlVwIiB8fCBr
ZXkgPT0gIlJpZ2h0IikgPyAxIDogLTE7Ci0gICAgICAgIFN0cmluZyBsYXN0U3RyaW5nVmFsdWUg
PSBlbGVtZW50KCktPnZhbHVlKCk7Ci0gICAgICAgIGVsZW1lbnQoKS0+c3RlcFVwKHN0ZXBNYWdu
aWZpY2F0aW9uLCBlYyk7Ci0gICAgICAgIGlmIChsYXN0U3RyaW5nVmFsdWUgIT0gZWxlbWVudCgp
LT52YWx1ZSgpKQotICAgICAgICAgICAgZWxlbWVudCgpLT5kaXNwYXRjaEZvcm1Db250cm9sQ2hh
bmdlRXZlbnQoKTsKKyAgICAgICAgLy8gVXNpbmcgc3RlcFVwRnJvbVJlbmRlcmVyKCkgc2luY2Ug
aXQgaXMgYSBraW5kIG9mIHN0ZXBVcCgpIG9wZXJhdGlvbgorICAgICAgICBlbGVtZW50KCktPnN0
ZXBVcEZyb21SZW5kZXJlcihzdGVwTWFnbmlmaWNhdGlvbik7CiAgICAgfQogICAgIGV2ZW50LT5z
ZXREZWZhdWx0SGFuZGxlZCgpOwogICAgIHJldHVybiB0cnVlOwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9odG1sL1JhbmdlSW5wdXRUeXBlLmggYi9XZWJDb3JlL2h0bWwvUmFuZ2VJbnB1dFR5cGUuaApp
bmRleCBjMmJiYjBmYzFkMTMyYjBmNzliNWQ3MTRjZGI1MTVkZDljZTMxNWExLi4xNDI4MGU4NmVh
YmYzOWFlYTk5NDYxZmUzYjE0ZWExOTJiYTUwZmQ1IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwv
UmFuZ2VJbnB1dFR5cGUuaAorKysgYi9XZWJDb3JlL2h0bWwvUmFuZ2VJbnB1dFR5cGUuaApAQCAt
NDEsNiArNDEsNyBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAgICAgUmFuZ2VJbnB1dFR5cGUoSFRN
TElucHV0RWxlbWVudCogZWxlbWVudCkgOiBJbnB1dFR5cGUoZWxlbWVudCkgeyB9CisgICAgdmly
dHVhbCBib29sIGlzUmFuZ2VDb250cm9sKCkgY29uc3Q7CiAgICAgdmlydHVhbCBjb25zdCBBdG9t
aWNTdHJpbmcmIGZvcm1Db250cm9sVHlwZSgpIGNvbnN0OwogICAgIHZpcnR1YWwgZG91YmxlIHZh
bHVlQXNOdW1iZXIoKSBjb25zdDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0VmFsdWVBc051bWJlcihk
b3VibGUsIEV4Y2VwdGlvbkNvZGUmKSBjb25zdDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9U
aW1lSW5wdXRUeXBlLmNwcCBiL1dlYkNvcmUvaHRtbC9UaW1lSW5wdXRUeXBlLmNwcAppbmRleCAy
N2RjZTkwNTdkM2NiN2RjOTJhMWRlMDAwZDczYzcyN2Q2ZTM4YzNhLi5mZjZlNDIwNjFjMzU0ZWZj
MTIxY2FjMmI4Njk3ODhjMzZiOWExZTJmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvVGltZUlu
cHV0VHlwZS5jcHAKKysrIGIvV2ViQ29yZS9odG1sL1RpbWVJbnB1dFR5cGUuY3BwCkBAIC0zNCw2
ICszNCw3IEBACiAjaW5jbHVkZSAiRGF0ZUNvbXBvbmVudHMuaCIKICNpbmNsdWRlICJIVE1MSW5w
dXRFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCisjaW5jbHVkZSA8d3RmL0N1cnJl
bnRUaW1lLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNv
cmUgewpAQCAtNTMsNiArNTQsMjEgQEAgY29uc3QgQXRvbWljU3RyaW5nJiBUaW1lSW5wdXRUeXBl
Ojpmb3JtQ29udHJvbFR5cGUoKSBjb25zdAogICAgIHJldHVybiBJbnB1dFR5cGVOYW1lczo6dGlt
ZSgpOwogfQogCitkb3VibGUgVGltZUlucHV0VHlwZTo6ZGVmYXVsdFZhbHVlRm9yU3RlcFVwKCkg
Y29uc3QKK3sKKyAgICBkb3VibGUgY3VycmVudCA9IGN1cnJlbnRUaW1lTVMoKTsKKyAgICBkb3Vi
bGUgdXRjT2Zmc2V0ID0gY2FsY3VsYXRlVVRDT2Zmc2V0KCk7CisgICAgZG91YmxlIGRzdE9mZnNl
dCA9IGNhbGN1bGF0ZURTVE9mZnNldChjdXJyZW50LCB1dGNPZmZzZXQpOworICAgIGludCBvZmZz
ZXQgPSBzdGF0aWNfY2FzdDxpbnQ+KCh1dGNPZmZzZXQgKyBkc3RPZmZzZXQpIC8gbXNQZXJNaW51
dGUpOworICAgIGN1cnJlbnQgKz0gb2Zmc2V0ICogbXNQZXJNaW51dGU7CisKKyAgICBEYXRlQ29t
cG9uZW50cyBkYXRlOworICAgIGRhdGUuc2V0TWlsbGlzZWNvbmRzU2luY2VNaWRuaWdodChjdXJy
ZW50KTsKKyAgICBkb3VibGUgbWlsbGlzZWNvbmRzID0gZGF0ZS5taWxsaXNlY29uZHNTaW5jZUVw
b2NoKCk7CisgICAgQVNTRVJUKGlzZmluaXRlKG1pbGxpc2Vjb25kcykpOworICAgIHJldHVybiBt
aWxsaXNlY29uZHM7Cit9CisKIGRvdWJsZSBUaW1lSW5wdXRUeXBlOjptaW5pbXVtKCkgY29uc3QK
IHsKICAgICByZXR1cm4gcGFyc2VUb0RvdWJsZShlbGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUo
bWluQXR0ciksIERhdGVDb21wb25lbnRzOjptaW5pbXVtVGltZSgpKTsKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvaHRtbC9UaW1lSW5wdXRUeXBlLmggYi9XZWJDb3JlL2h0bWwvVGltZUlucHV0VHlwZS5o
CmluZGV4IDYwNzBmYTA3Mzg5YTlhZTcyOGU5ZmE2MjBhYTNlZTlhZjI2NzA3MjcuLmI1MGQ5ODcx
NDdhMDlkZTIyMTUyYTQwODRkZDkxOTQxY2M2ZTJmNGEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRt
bC9UaW1lSW5wdXRUeXBlLmgKKysrIGIvV2ViQ29yZS9odG1sL1RpbWVJbnB1dFR5cGUuaApAQCAt
NDIsNiArNDIsNyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIFRpbWVJbnB1dFR5cGUoSFRNTElu
cHV0RWxlbWVudCogZWxlbWVudCkgOiBCYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGUoZWxlbWVudCkg
eyB9CiAgICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcmIGZvcm1Db250cm9sVHlwZSgpIGNv
bnN0OworICAgIHZpcnR1YWwgZG91YmxlIGRlZmF1bHRWYWx1ZUZvclN0ZXBVcCgpIGNvbnN0Owog
ICAgIHZpcnR1YWwgZG91YmxlIG1pbmltdW0oKSBjb25zdDsKICAgICB2aXJ0dWFsIGRvdWJsZSBt
YXhpbXVtKCkgY29uc3Q7CiAgICAgdmlydHVhbCBkb3VibGUgZGVmYXVsdFN0ZXAoKSBjb25zdDsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvbWFudWFsLXRlc3RzL2lucHV0LXR5cGUtZGF0ZXRpbWUtZGVm
YXVsdC12YWx1ZS5odG1sIGIvV2ViQ29yZS9tYW51YWwtdGVzdHMvaW5wdXQtdHlwZS1kYXRldGlt
ZS1kZWZhdWx0LXZhbHVlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWM3YTgxNzUwZWI0NWRkYmNiYTNiNDkw
NTI0OWY4NzNkZWU0YTVkYwotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvbWFudWFsLXRlc3Rz
L2lucHV0LXR5cGUtZGF0ZXRpbWUtZGVmYXVsdC12YWx1ZS5odG1sCkBAIC0wLDAgKzEsMzcgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vVzNDLy9EVEQgSFRNTCA0LjAgVHJhbnNpdGlvbmFs
Ly9FTiI+Cis8aHRtbD4KKzxoZWFkPjx0aXRsZT5EZWZhdWx0IHZhbHVlcyBmb3IgZGF0ZS90aW1l
IGlucHV0ICh0eXBlPSBkYXRlLCBkYXRldGltZSwgZGF0ZXRpbWUtbG9jYWwsIG1vbnRoLCB0aW1l
LCB3ZWVrKTwvdGl0bGU+PC9oZWFkPgorCis8cD5FbnRlciBVcCBvciBEb3duLCBvciBjbGljayB0
aGUgc3BpbiBidXR0b25zIGZvciBlYWNoIGlucHV0IGZpZWxkLjwvcD4KKworCis8IS0tCisqKioq
CisgV2Ugc2hvdWxkIGFkZCB0ZXN0IGNhc2VzIHdpdGggZW1wdHkvaW52YWxpZCB2YWx1ZXMgYW5k
IGludmFsaWQvYW55IHN0ZXAuCisqKioKKy0tPgorCis8Zm9ybT4KKyAgPHVsPgorICAgIDxsaT5k
YXRlOiA8aW5wdXQgdHlwZT0iZGF0ZSIgc2l6ZT0iMzIiIHZhbHVlPSIiIC8+CisgICAgPGxpPmRh
dGV0aW1lOiA8aW5wdXQgdHlwZT0iZGF0ZXRpbWUiICBzaXplPSIzMiIgdmFsdWU9IiIgLz4KKyAg
ICA8bGk+ZGF0ZXRpbWUtbG9jYWw6IDxpbnB1dCB0eXBlPSJkYXRldGltZS1sb2NhbCIgc2l6ZT0i
MzIiIHZhbHVlPSIiIC8+CisgICAgPGxpPm1vbnRoOiA8aW5wdXQgdHlwZT0ibW9udGgiIHNpemU9
IjMyIiB2YWx1ZT0iIiAvPgorICAgIDxsaT50aW1lOiA8aW5wdXQgdHlwZT0idGltZSIgc2l6ZT0i
MzIiIHZhbHVlPSIiIC8+CisgICAgPGxpPndlZWsgPGlucHV0IHR5cGU9IndlZWsiIHNpemU9IjMy
IiB2YWx1ZT0iIiAvPgorICA8L3VsPgorPC9mb3JtPgorCis8cD5UaGUgaW5wdXQgZmllbGRzIHNo
b3VsZCBzaG93IHRoZSBjdXJyZW50IGRhdGUvdGltZSAod2l0aCArIG9yIC0gYSB1bml0IGRhdGUv
dGltZSBkZXNjcmliZWQgYmVsb3cpLjwvcD4KKworPHA+VW5pdCBkYXRlcy90aW1lczwvcD4KKzx1
bD4KKyAgPGxpPmRhdGU6IDEgZGF5CisgIDxsaT5kYXRldGltZTogMSBtaW51dGUKKyAgPGxpPmRh
dGV0aW1lLWxvY2FsOiAxIG1pbnV0ZQorICA8bGk+bW9udGg6IDEgbW9udGgKKyAgPGxpPnRpbWU6
IDEgbWludXRlCisgIDxsaT53ZWVrOiAxIHdlZWsKKzwvdWw+CisKKzwvYm9keT48L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>75003</attachid>
            <date>2010-11-29 02:00:09 -0800</date>
            <delta_ts>2010-11-29 02:17:26 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-45491-20101129190014.patch</filename>
            <type>text/plain</type>
            <size>58671</size>
            <attacher name="Dai Mikurube">dmikurube</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL0phdmFTY3JpcHRDb3JlL0No
YW5nZUxvZwppbmRleCA3NjQ0Y2Q3NjI5NGUxZmYzYTIwZWRmYzBjM2NlNDBkZjc4YmRjNmYyLi4z
MjA2YzRlYzViMDVkOTFiNTVjNzBjYjMzY2JjNTdjZWZmOGViOGUyIDEwMDY0NAotLS0gYS9KYXZh
U2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjYgQEAKKzIwMTAtMTEtMjQgIERhaSBNaWt1cnViZSAgPGRtaWt1cnViZUBnb29nbGUu
Y29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIHdo
ZW4gZW1wdHksIGNsaWNraW5nICJkb3duIiBvbiBvdXRlci1zcGluLWJ1dHRvbiByZXR1cm5zICJt
YXggdmFsdWUiCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD00NTQ5MQorCisgICAgICAgIEl0IGlzIHJlcXVpcmVkIHRvIGNhbGN1bGF0ZSBVVEMvRFNUIG9m
ZnNldHMgdG8gcmV0cmlldmUgdGhlIGN1cnJlbnQgbG9jYWwgbWlsbGlzZWNvbmRzIGZvcgorICAg
ICAgICBkYXRlL3RpbWUgdHlwZSBpbnB1dHMuIFdURjo6Y3VycmVudFRpbWVNUygpIHJldHVybnMg
YSBVVEMgdGltZSwgYW5kIFdURjo6Z2V0TG9jYWxUaW1lKCkKKyAgICAgICAgcmV0dXJucyBhIHN0
cnVjdCB0bSwgbm90IG1pbGxpc2Vjb25kcy4KKworICAgICAgICBDYWxjdWxhdGluZyBtaWxsaXNl
Y29uZHMgZnJvbSBhIHN0cnVjdCB0bSBpcyBub3Qgc2ltcGxlIHNpbmNlIHRpbWVnbSgpIGNhbm5v
dCBiZSB1c2VkIGluIGFsbAorICAgICAgICBlbnZpcm9ubWVudHMuIFRoaXMgY2FsY3VsYXRpb24g
aXMgYWxyZWFkeSBkb25lIGluIGNhbGN1bGF0ZVVUQ09mZnNldCgpLCBhbmQgY29tcGxpY2F0ZWQu
CisgICAgICAgIER1cGxpY2F0aW5nIHRoaXMgY29tcGxpY2F0ZWQgY2FsY3VsYXRpb24gaXMgdW5y
ZWFzb25hYmxlIGJlY2F1c2Ugb2YgbWFpbnRhaW5hYmlsaXR5LgorICAgICAgICBUbyBhY2hpZXZl
IHRoaXMgd2l0aG91dCBkdXBsaWNhdGlvbiwgd2UgbXVzdCBjYWxsIGNhbGN1bGF0ZXtVVEN8RFNU
fU9mZnNldCBpbiBzb21lIHdheS4KKworICAgICAgICAqIEphdmFTY3JpcHRDb3JlLmV4cDoKKyAg
ICAgICAgKiBKYXZhU2NyaXB0Q29yZS52Y3Byb2ovSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENv
cmUuZGVmOgorICAgICAgICAqIHd0Zi9EYXRlTWF0aC5jcHA6IENoYW5nZWQgY2FsY3VsYXRlVVRD
T2Zmc2V0KCkgYW5kIGNhbGN1bGF0ZURTVE9mZnNldCgpIHRvIGV4dGVybmFsIGZ1bmN0aW9ucy4K
KyAgICAgICAgKFdURjo6Y2FsY3VsYXRlVVRDT2Zmc2V0KToKKyAgICAgICAgKFdURjo6Y2FsY3Vs
YXRlRFNUT2Zmc2V0KToKKyAgICAgICAgKiB3dGYvRGF0ZU1hdGguaDoKKwogMjAxMC0xMS0xOCAg
R2F2aW4gQmFycmFjbG91Z2ggIDxiYXJyYWNsb3VnaEBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2
aWV3ZWQgYnkgT2xpdmVyIEh1bnQuCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9KYXZhU2Ny
aXB0Q29yZS5leHAgYi9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5leHAKaW5kZXggMzcx
NWE0MzgzN2RjOTEwZThkZTcwZTQzM2VkMjZmZWIxNTQxODBkMy4uMzliZjUyNzAyYjBiMDBiZGQz
OWI1YTQyY2I0ZDg4MDU1ZTZhYjJiOSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvSmF2YVNj
cmlwdENvcmUuZXhwCisrKyBiL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmV4cApAQCAt
NDA0LDYgKzQwNCw4IEBAIF9fWk4zV1RGMTdjaGFyYWN0ZXJzVG9GbG9hdEVQS3RtUGIKIF9fWk4z
V1RGMTdlcXVhbElnbm9yaW5nQ2FzZUVQS3RQS2NqCiBfX1pOM1dURjE3ZXF1YWxJZ25vcmluZ0Nh
c2VFUE5TXzEwU3RyaW5nSW1wbEVQS2MKIF9fWk4zV1RGMTdlcXVhbElnbm9yaW5nQ2FzZUVQTlNf
MTBTdHJpbmdJbXBsRVMxXworX19aTjNXVEYxOGNhbGN1bGF0ZURTVE9mZnNldEVkZAorX19aTjNX
VEYxOGNhbGN1bGF0ZVVUQ09mZnNldEV2CiBfX1pOM1dURjE4Y2hhcmFjdGVyc1RvRG91YmxlRVBL
dG1QYgogX19aTjNXVEYxOGRhdGVUb0RheXNGcm9tMTk3MEVpaWkKIF9fWk4zV1RGMThtb250aEZy
b21EYXlJblllYXJFaWIKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3Jl
LnZjcHJvai9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5kZWYgYi9KYXZhU2NyaXB0Q29y
ZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ovSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZGVm
CmluZGV4IDQ0OWMwYmI4NDE1NTRjYzI3ZWFjMmY1OWEyNDI1YWEzMGEyZGQwOGIuLjQyYWM3ZjEx
NjE4ZDE5MGI0ZjNhM2ZkOGVjYjE3NzcwZWNmNzA0ODggMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRD
b3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5k
ZWYKKysrIGIvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL0phdmFTY3JpcHRD
b3JlL0phdmFTY3JpcHRDb3JlLmRlZgpAQCAtNTksNiArNTksOCBAQCBFWFBPUlRTCiAgICAgP2Jy
b2FkY2FzdEBUaHJlYWRDb25kaXRpb25AV1RGQEBRQUVYWFoKICAgICA/YnVmZmVyTGVuZ3RoRm9y
U3RyaW5nRGVjaW1hbEBEZWNpbWFsTnVtYmVyQFdURkBAUUJFSVhaCiAgICAgP2NhbGN1bGF0ZWRG
dW5jdGlvbk5hbWVARGVidWdnZXJDYWxsRnJhbWVASlNDQEBRQkU/QVZVU3RyaW5nQDJAWFoKKyAg
ICA/Y2FsY3VsYXRlVVRDT2Zmc2V0QFdURkBAWUFIWFoKKyAgICA/Y2FsY3VsYXRlRFNUT2Zmc2V0
QFdURkBAWUFOTk5AWgogICAgID9jYWxsQEpTQ0BAWUE/QVZKU1ZhbHVlQDFAUEFWRXhlY1N0YXRl
QDFAVjIxQFc0Q2FsbFR5cGVAMUBBQlRDYWxsRGF0YUAxQDFBQlZBcmdMaXN0QDFAQFoKICAgICA/
Y2FsbE9uTWFpblRocmVhZEBXVEZAQFlBWFA2QVhQQVhAWjBAWgogICAgID9jYWxsT25NYWluVGhy
ZWFkQW5kV2FpdEBXVEZAQFlBWFA2QVhQQVhAWjBAWgpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENv
cmUvd3RmL0RhdGVNYXRoLmNwcCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9EYXRlTWF0aC5jcHAKaW5k
ZXggZjM2MjdlNmI5ODNlODJiOWFhM2E0MGFjNDlkYjZkNTBiZTVmMDgxNC4uNjc1ZjA5M2YwMWJi
NDVmODhiNzNjNDYwNjlkNTJjMGI4ZDA5ZWFiNCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUv
d3RmL0RhdGVNYXRoLmNwcAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvRGF0ZU1hdGguY3BwCkBA
IC0zNzksNyArMzc5LDcgQEAgaW50IGVxdWl2YWxlbnRZZWFyRm9yRFNUKGludCB5ZWFyKQogICAg
IHJldHVybiB5ZWFyOwogfQogCi1zdGF0aWMgaW50MzJfdCBjYWxjdWxhdGVVVENPZmZzZXQoKQor
aW50MzJfdCBjYWxjdWxhdGVVVENPZmZzZXQoKQogewogI2lmIFBMQVRGT1JNKEJSRVdNUCkKICAg
ICB0aW1lX3QgbG9jYWxUaW1lID0gc3RhdGljX2Nhc3Q8dGltZV90PihjdXJyZW50VGltZSgpKTsK
QEAgLTQ0OSw3ICs0NDksNyBAQCBzdGF0aWMgZG91YmxlIGNhbGN1bGF0ZURTVE9mZnNldFNpbXBs
ZShkb3VibGUgbG9jYWxUaW1lU2Vjb25kcywgZG91YmxlIHV0Y09mZnNldAogfQogCiAvLyBHZXQg
dGhlIERTVCBvZmZzZXQsIGdpdmVuIGEgdGltZSBpbiBVVEMKLXN0YXRpYyBkb3VibGUgY2FsY3Vs
YXRlRFNUT2Zmc2V0KGRvdWJsZSBtcywgZG91YmxlIHV0Y09mZnNldCkKK2RvdWJsZSBjYWxjdWxh
dGVEU1RPZmZzZXQoZG91YmxlIG1zLCBkb3VibGUgdXRjT2Zmc2V0KQogewogICAgIC8vIE9uIE1h
YyBPUyBYLCB0aGUgY2FsbCB0byBsb2NhbHRpbWUgKHNlZSBjYWxjdWxhdGVEU1RPZmZzZXRTaW1w
bGUpIHdpbGwgcmV0dXJuIGhpc3RvcmljYWxseSBhY2N1cmF0ZQogICAgIC8vIERTVCBpbmZvcm1h
dGlvbiAoZS5nLiBOZXcgWmVhbGFuZCBkaWQgbm90IGhhdmUgRFNUIGZyb20gMTk0NiB0byAxOTc0
KSBob3dldmVyIHRoZSBKYXZhU2NyaXB0CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYv
RGF0ZU1hdGguaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9EYXRlTWF0aC5oCmluZGV4IGJlNTE5NDdm
MmExYmQ5MWJhOTdhZjdlMmI5YjM2YTE1MTViOTUxM2YuLmNiODQ3MDgxMThmYTZhMTdiOWFhODg2
NjY1N2Q0ZmEwOTIzMTJiYjggMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9EYXRlTWF0
aC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9EYXRlTWF0aC5oCkBAIC04NCw2ICs4NCwxMCBA
QCBpbnQgZGF5SW5ZZWFyKGRvdWJsZSBtcywgaW50IHllYXIpOwogaW50IG1vbnRoRnJvbURheUlu
WWVhcihpbnQgZGF5SW5ZZWFyLCBib29sIGxlYXBZZWFyKTsKIGludCBkYXlJbk1vbnRoRnJvbURh
eUluWWVhcihpbnQgZGF5SW5ZZWFyLCBib29sIGxlYXBZZWFyKTsKIAorLy8gUmV0dXJucyBvZmZz
ZXQgbWlsbGlzZWNvbmRzIGZvciBVVEMgYW5kIERTVC4KK2ludDMyX3QgY2FsY3VsYXRlVVRDT2Zm
c2V0KCk7Citkb3VibGUgY2FsY3VsYXRlRFNUT2Zmc2V0KGRvdWJsZSBtcywgZG91YmxlIHV0Y09m
ZnNldCk7CisKIH0gLy8gbmFtZXNwYWNlIFdURgogCiB1c2luZyBXVEY6OmRhdGVUb0RheXNGcm9t
MTk3MDsKQEAgLTkyLDEwICs5NiwxMyBAQCB1c2luZyBXVEY6OmRheUluWWVhcjsKIHVzaW5nIFdU
Rjo6bWludXRlc1BlckhvdXI7CiB1c2luZyBXVEY6Om1vbnRoRnJvbURheUluWWVhcjsKIHVzaW5n
IFdURjo6bXNQZXJEYXk7Cit1c2luZyBXVEY6Om1zUGVyTWludXRlOwogdXNpbmcgV1RGOjptc1Bl
clNlY29uZDsKIHVzaW5nIFdURjo6bXNUb1llYXI7CiB1c2luZyBXVEY6OnNlY29uZHNQZXJNaW51
dGU7CiB1c2luZyBXVEY6OnBhcnNlRGF0ZUZyb21OdWxsVGVybWluYXRlZENoYXJhY3RlcnM7Cit1
c2luZyBXVEY6OmNhbGN1bGF0ZVVUQ09mZnNldDsKK3VzaW5nIFdURjo6Y2FsY3VsYXRlRFNUT2Zm
c2V0OwogCiAjaWYgVVNFKEpTQykKIG5hbWVzcGFjZSBKU0MgewpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGFlMzA0N2MyZDA1
Njc3NmQ1ODNjMDJlMTgwMGVkODVjZGI0NDU4Y2MuLmU2MGRmNWExYzhjMDQ0YjJlZmRlMWFiYzQw
NDMwMDlkMjdhMDcxOGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAxMC0xMS0yNCAgRGFpIE1p
a3VydWJlICA8ZG1pa3VydWJlQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgd2hlbiBlbXB0eSwgY2xpY2tpbmcgImRvd24iIG9uIG91
dGVyLXNwaW4tYnV0dG9uIHJldHVybnMgIm1heCB2YWx1ZSIKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ1NDkxCisKKyAgICAgICAgKiBmYXN0L2Zvcm1z
L2lucHV0LXN0ZXB1cC1zdGVwZG93bi1mcm9tLXJlbmRlcmVyLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZmFzdC9mb3Jtcy9pbnB1dC1zdGVwdXAtc3RlcGRvd24tZnJvbS1yZW5kZXJl
ci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9pbnB1dC1z
dGVwdXAtc3RlcGRvd24tZnJvbS1yZW5kZXJlci5qczogQWRkZWQuCisgICAgICAgICgpOgorICAg
ICAgICAoc2V0SW5wdXRBdHRyaWJ1dGVzKToKKyAgICAgICAgKHN0ZXBVcCk6CisgICAgICAgIChz
dGVwRG93bik6CisgICAgICAgIChzdGVwVXBFeHBsaWNpdEJvdW5kcyk6CisgICAgICAgIChzdGVw
RG93bkV4cGxpY2l0Qm91bmRzKToKKwogMjAxMC0xMS0xOCAgRGF2aWQgTGV2aW4gIDxsZXZpbkBj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgW2Nocm9taXVtXSBNaXNjIHRlc3QgdXBkYXRlcyAobW9z
dCBSdWJ5KS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW5wdXQtc3RlcHVw
LXN0ZXBkb3duLWZyb20tcmVuZGVyZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9pbnB1dC1zdGVwdXAtc3RlcGRvd24tZnJvbS1yZW5kZXJlci1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYmU1MTk0ZmRiODY5YTVjNjg3YmM4N2RjNmYyNmNhMWU2MjA1NWZhZAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW5wdXQtc3RlcHVwLXN0ZXBkb3du
LWZyb20tcmVuZGVyZXItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjU3IEBACitDaGVjayBzdGVw
cGluZy11cCBhbmQgLWRvd24gZm9yICBmcm9tIHJlbmRlcmVyLiBObyBjYXNlcyBvZiBlbXB0eSBp
bml0aWFsIHZhbHVlcyBmb3IgdHlwZT1kYXRlLCBkYXRldGltZSwgZGF0ZXRpbWUtbG9jYWwsIG1v
bnRoLCB0aW1lLCB3ZWVrLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworRGF0ZSB0
eXBlCitGdW5jdGlvbiBhcmd1bWVudHMgYXJlICh2YWx1ZSwgc3RlcCwge21pbiBvciBtYXh9LCBb
c3RlcENvdW50XSkuCitOb3JtYWwgY2FzZXMKK1BBU1Mgc3RlcFVwKCIyMDEwLTAyLTEwIiwgbnVs
bCwgbnVsbCkgaXMgIjIwMTAtMDItMTEiCitQQVNTIHN0ZXBEb3duKCIyMDEwLTAyLTEwIiwgbnVs
bCwgbnVsbCkgaXMgIjIwMTAtMDItMDkiCitQQVNTIHN0ZXBVcCgiMjAxMC0wMi0xMCIsIG51bGws
IG51bGwsIDEwKSBpcyAiMjAxMC0wMi0yMCIKK1BBU1Mgc3RlcERvd24oIjIwMTAtMDItMTAiLCBu
dWxsLCBudWxsLCAxMSkgaXMgIjIwMTAtMDEtMzAiCitQQVNTIHN0ZXBVcCgiMTk3MC0wMS0wMSIs
ICI0IiwgbnVsbCwgMikgaXMgIjE5NzAtMDEtMDkiCitQQVNTIHN0ZXBEb3duKCIxOTcwLTAxLTAx
IiwgIjQiLCBudWxsLCAzKSBpcyAiMTk2OS0xMi0yMCIKK1N0ZXA9YW55CitQQVNTIHN0ZXBVcCgi
MjAxMC0wMi0xMCIsICJhbnkiLCBudWxsKSBpcyAiMjAxMC0wMi0xMCIKK1BBU1Mgc3RlcERvd24o
IjIwMTAtMDItMTAiLCAiYW55IiwgbnVsbCkgaXMgIjIwMTAtMDItMTAiCitPdmVyZmxvdy91bmRl
cmZsb3cKK1BBU1Mgc3RlcFVwKCIyMDEwLTAyLTEwIiwgIjMuNDAyODIzNDZlKzM4IiwgbnVsbCkg
aXMgIjI3NTc2MC0wOS0xMyIKK1BBU1Mgc3RlcERvd24oIjIwMTAtMDItMTAiLCAiMy40MDI4MjM0
NmUrMzgiLCBudWxsKSBpcyAiMTk3MC0wMS0wMSIKK1BBU1Mgc3RlcFVwKCIyMDEwLTAyLTEwIiwg
IjEiLCAiMjAxMC0wMi0xMCIpIGlzICIyMDEwLTAyLTEwIgorUEFTUyBzdGVwRG93bigiMjAxMC0w
Mi0xMCIsICIxIiwgIjIwMTAtMDItMTAiKSBpcyAiMjAxMC0wMi0xMCIKK3N0ZXBEb3duKCkvc3Rl
cFVwKCkgZm9yIHN0ZXBNaXNtYXRjaCB2YWx1ZXMKK1BBU1Mgc3RlcERvd24oIjIwMTAtMDItMTAi
LCAiMyIsICIyMDEwLTAyLTA2IikgaXMgIjIwMTAtMDItMDkiCitQQVNTIHN0ZXBVcCgiMTk3MC0w
MS0wMiIsICIyIiwgIiIpIGlzICIxOTcwLTAxLTAzIgorCitEYXRldGltZSB0eXBlCitGdW5jdGlv
biBhcmd1bWVudHMgYXJlICh2YWx1ZSwgc3RlcCwge21pbiBvciBtYXh9LCBbc3RlcENvdW50XSku
CitOb3JtYWwgY2FzZXMKK1BBU1Mgc3RlcFVwKCIyMDEwLTAyLTEwVDIwOjEzWiIsIG51bGwsIG51
bGwpIGlzICIyMDEwLTAyLTEwVDIwOjE0WiIKK1BBU1Mgc3RlcERvd24oIjIwMTAtMDItMTBUMjA6
MTNaIiwgbnVsbCwgbnVsbCkgaXMgIjIwMTAtMDItMTBUMjA6MTJaIgorUEFTUyBzdGVwVXAoIjIw
MTAtMDItMTBUMjA6MTNaIiwgbnVsbCwgbnVsbCwgMTApIGlzICIyMDEwLTAyLTEwVDIwOjIzWiIK
K1BBU1Mgc3RlcERvd24oIjIwMTAtMDItMTBUMjA6MTNaIiwgbnVsbCwgbnVsbCwgMTEpIGlzICIy
MDEwLTAyLTEwVDIwOjAyWiIKK1BBU1Mgc3RlcFVwKCIxOTcwLTAxLTAxVDIwOjEzWiIsICI0Iiwg
bnVsbCwgMikgaXMgIjE5NzAtMDEtMDFUMjA6MTM6MDhaIgorUEFTUyBzdGVwRG93bigiMTk3MC0w
MS0wMVQyMDoxM1oiLCAiNCIsIG51bGwsIDMpIGlzICIxOTcwLTAxLTAxVDIwOjEyOjQ4WiIKK1N0
ZXA9YW55CitQQVNTIHN0ZXBVcCgiMjAxMC0wMi0xMFQyMDoxM1oiLCAiYW55IiwgbnVsbCkgaXMg
IjIwMTAtMDItMTBUMjA6MTNaIgorUEFTUyBzdGVwRG93bigiMjAxMC0wMi0xMFQyMDoxM1oiLCAi
YW55IiwgbnVsbCkgaXMgIjIwMTAtMDItMTBUMjA6MTNaIgorT3ZlcmZsb3cvdW5kZXJmbG93CitQ
QVNTIHN0ZXBVcCgiMjAxMC0wMi0xMFQyMDoxM1oiLCAiMy40MDI4MjM0NmUrMzgiLCBudWxsKSBp
cyAiMjc1NzYwLTA5LTEzVDAwOjAwOjAwLjAwMFoiCitQQVNTIHN0ZXBEb3duKCIyMDEwLTAyLTEw
VDIwOjEzWiIsICIzLjQwMjgyMzQ2ZSszOCIsIG51bGwpIGlzICIxOTcwLTAxLTAxVDAwOjAwOjAw
LjAwMFoiCitQQVNTIHN0ZXBVcCgiMjAxMC0wMi0xMFQyMDoxM1oiLCAiMSIsICIyMDEwLTAyLTEw
VDIwOjEzWiIpIGlzICIyMDEwLTAyLTEwVDIwOjEzWiIKK1BBU1Mgc3RlcERvd24oIjIwMTAtMDIt
MTBUMjA6MTNaIiwgIjEiLCAiMjAxMC0wMi0xMFQyMDoxM1oiKSBpcyAiMjAxMC0wMi0xMFQyMDox
M1oiCitzdGVwRG93bigpL3N0ZXBVcCgpIGZvciBzdGVwTWlzbWF0Y2ggdmFsdWVzCitQQVNTIHN0
ZXBEb3duKCIyMDEwLTAyLTEwVDIwOjEzWiIsICIzIiwgIjIwMTAtMDItMTBUMjA6MTI6NTZaIikg
aXMgIjIwMTAtMDItMTBUMjA6MTI6NTlaIgorUEFTUyBzdGVwVXAoIjE5NzAtMDEtMDFUMDA6MTNa
IiwgIjciLCAiIikgaXMgIjE5NzAtMDEtMDFUMDA6MTM6MDRaIgorCitEYXRldGltZS1sb2NhbCB0
eXBlCitGdW5jdGlvbiBhcmd1bWVudHMgYXJlICh2YWx1ZSwgc3RlcCwge21pbiBvciBtYXh9LCBb
c3RlcENvdW50XSkuCitOb3JtYWwgY2FzZXMKK1BBU1Mgc3RlcFVwKCIyMDEwLTAyLTEwVDIwOjEz
IiwgbnVsbCwgbnVsbCkgaXMgIjIwMTAtMDItMTBUMjA6MTQiCitQQVNTIHN0ZXBEb3duKCIyMDEw
LTAyLTEwVDIwOjEzIiwgbnVsbCwgbnVsbCkgaXMgIjIwMTAtMDItMTBUMjA6MTIiCitQQVNTIHN0
ZXBVcCgiMjAxMC0wMi0xMFQyMDoxMyIsIG51bGwsIG51bGwsIDEwKSBpcyAiMjAxMC0wMi0xMFQy
MDoyMyIKK1BBU1Mgc3RlcERvd24oIjIwMTAtMDItMTBUMjA6MTMiLCBudWxsLCBudWxsLCAxMSkg
aXMgIjIwMTAtMDItMTBUMjA6MDIiCitQQVNTIHN0ZXBVcCgiMTk3MC0wMS0wMVQyMDoxMyIsICI0
IiwgbnVsbCwgMikgaXMgIjE5NzAtMDEtMDFUMjA6MTM6MDgiCitQQVNTIHN0ZXBEb3duKCIxOTcw
LTAxLTAxVDIwOjEzIiwgIjQiLCBudWxsLCAzKSBpcyAiMTk3MC0wMS0wMVQyMDoxMjo0OCIKK1N0
ZXA9YW55CitQQVNTIHN0ZXBVcCgiMjAxMC0wMi0xMFQyMDoxMyIsICJhbnkiLCBudWxsKSBpcyAi
MjAxMC0wMi0xMFQyMDoxMyIKK1BBU1Mgc3RlcERvd24oIjIwMTAtMDItMTBUMjA6MTMiLCAiYW55
IiwgbnVsbCkgaXMgIjIwMTAtMDItMTBUMjA6MTMiCitPdmVyZmxvdy91bmRlcmZsb3cKK1BBU1Mg
c3RlcFVwKCIyMDEwLTAyLTEwVDIwOjEzIiwgIjMuNDAyODIzNDZlKzM4IiwgbnVsbCkgaXMgIjI3
NTc2MC0wOS0xM1QwMDowMDowMC4wMDAiCitQQVNTIHN0ZXBEb3duKCIyMDEwLTAyLTEwVDIwOjEz
IiwgIjMuNDAyODIzNDZlKzM4IiwgbnVsbCkgaXMgIjE5NzAtMDEtMDFUMDA6MDA6MDAuMDAwIgor
UEFTUyBzdGVwVXAoIjIwMTAtMDItMTBUMjA6MTMiLCAiMSIsICIyMDEwLTAyLTEwVDIwOjEzIikg
aXMgIjIwMTAtMDItMTBUMjA6MTMiCitQQVNTIHN0ZXBEb3duKCIyMDEwLTAyLTEwVDIwOjEzIiwg
IjEiLCAiMjAxMC0wMi0xMFQyMDoxMyIpIGlzICIyMDEwLTAyLTEwVDIwOjEzIgorc3RlcERvd24o
KS9zdGVwVXAoKSBmb3Igc3RlcE1pc21hdGNoIHZhbHVlcworUEFTUyBzdGVwRG93bigiMjAxMC0w
Mi0xMFQyMDoxMyIsICIzIiwgIjIwMTAtMDItMTBUMjA6MTI6NTYiKSBpcyAiMjAxMC0wMi0xMFQy
MDoxMjo1OSIKK1BBU1Mgc3RlcFVwKCIxOTcwLTAxLTAxVDAwOjEzIiwgIjciLCAiIikgaXMgIjE5
NzAtMDEtMDFUMDA6MTM6MDQiCisKK01vbnRoIHR5cGUKK0Z1bmN0aW9uIGFyZ3VtZW50cyBhcmUg
KHZhbHVlLCBzdGVwLCB7bWluIG9yIG1heH0sIFtzdGVwQ291bnRdKS4KK05vcm1hbCBjYXNlcwor
UEFTUyBzdGVwVXAoIjIwMTAtMDIiLCBudWxsLCBudWxsKSBpcyAiMjAxMC0wMyIKK1BBU1Mgc3Rl
cERvd24oIjIwMTAtMDIiLCBudWxsLCBudWxsKSBpcyAiMjAxMC0wMSIKK1BBU1Mgc3RlcFVwKCIy
MDEwLTAyIiwgbnVsbCwgbnVsbCwgMTApIGlzICIyMDEwLTEyIgorUEFTUyBzdGVwRG93bigiMjAx
MC0wMiIsIG51bGwsIG51bGwsIDExKSBpcyAiMjAwOS0wMyIKK1BBU1Mgc3RlcFVwKCIxOTcwLTAx
IiwgIjQiLCBudWxsLCAyKSBpcyAiMTk3MC0wOSIKK1BBU1Mgc3RlcERvd24oIjE5NzAtMDEiLCAi
NCIsIG51bGwsIDMpIGlzICIxOTY5LTAxIgorU3RlcD1hbnkKK1BBU1Mgc3RlcFVwKCIyMDEwLTAy
IiwgImFueSIsIG51bGwpIGlzICIyMDEwLTAyIgorUEFTUyBzdGVwRG93bigiMjAxMC0wMiIsICJh
bnkiLCBudWxsKSBpcyAiMjAxMC0wMiIKK092ZXJmbG93L3VuZGVyZmxvdworUEFTUyBzdGVwVXAo
IjIwMTAtMDIiLCAiMy40MDI4MjM0NmUrMzgiLCBudWxsKSBpcyAiMjc1NzYwLTA5IgorUEFTUyBz
dGVwRG93bigiMjAxMC0wMiIsICIzLjQwMjgyMzQ2ZSszOCIsIG51bGwpIGlzICIxOTcwLTAxIgor
UEFTUyBzdGVwVXAoIjIwMTAtMDIiLCAiMSIsICIyMDEwLTAyIikgaXMgIjIwMTAtMDIiCitQQVNT
IHN0ZXBEb3duKCIyMDEwLTAyIiwgIjEiLCAiMjAxMC0wMiIpIGlzICIyMDEwLTAyIgorc3RlcERv
d24oKS9zdGVwVXAoKSBmb3Igc3RlcE1pc21hdGNoIHZhbHVlcworUEFTUyBzdGVwRG93bigiMjAx
MC0wMiIsICIzIiwgIjIwMDktMTAiKSBpcyAiMjAxMC0wMSIKK1BBU1Mgc3RlcFVwKCIxOTcwLTAy
IiwgIjQiLCAiIikgaXMgIjE5NzAtMDUiCisKK051bWJlciB0eXBlCitGdW5jdGlvbiBhcmd1bWVu
dHMgYXJlICh2YWx1ZSwgc3RlcCwge21pbiBvciBtYXh9LCBbc3RlcENvdW50XSkuCitJbnZhbGlk
IHZhbHVlCitQQVNTIHN0ZXBVcCgiIiwgbnVsbCwgbnVsbCkgaXMgIjEiCitQQVNTIHN0ZXBEb3du
KCIiLCBudWxsLCBudWxsKSBpcyAiLTEiCitQQVNTIHN0ZXBVcCgiIiwgImFueSIsIG51bGwpIGlz
ICIwIgorUEFTUyBzdGVwRG93bigiIiwgImFueSIsIG51bGwpIGlzICIwIgorUEFTUyBzdGVwVXAo
IiIsICJmb28iLCBudWxsKSBpcyAiMSIKK1BBU1Mgc3RlcERvd24oIiIsICJmb28iLCBudWxsKSBp
cyAiLTEiCitQQVNTIHN0ZXBVcCgiZm9vIiwgbnVsbCwgbnVsbCkgaXMgIjEiCitQQVNTIHN0ZXBE
b3duKCJmb28iLCBudWxsLCBudWxsKSBpcyAiLTEiCitQQVNTIHN0ZXBVcCgiZm9vIiwgImFueSIs
IG51bGwpIGlzICIwIgorUEFTUyBzdGVwRG93bigiZm9vIiwgImFueSIsIG51bGwpIGlzICIwIgor
UEFTUyBzdGVwVXAoImZvbyIsICJmb28iLCBudWxsKSBpcyAiMSIKK1BBU1Mgc3RlcERvd24oImZv
byIsICJmb28iLCBudWxsKSBpcyAiLTEiCitOb3JtYWwgY2FzZXMKK1BBU1Mgc3RlcFVwKCIwIiwg
bnVsbCwgbnVsbCkgaXMgIjEiCitQQVNTIHN0ZXBVcCgiMSIsIG51bGwsIG51bGwsIDIpIGlzICIz
IgorUEFTUyBzdGVwVXAoIjMiLCBudWxsLCBudWxsLCAtMSkgaXMgIjIiCitQQVNTIHN0ZXBEb3du
KCIyIiwgbnVsbCwgbnVsbCkgaXMgIjEiCitQQVNTIHN0ZXBEb3duKCIxIiwgbnVsbCwgbnVsbCwg
MikgaXMgIi0xIgorUEFTUyBzdGVwRG93bigiLTEiLCBudWxsLCBudWxsLCAtMSkgaXMgIjAiCitJ
bnZhbGlkIHN0ZXAgdmFsdWUKK1BBU1Mgc3RlcFVwKCIwIiwgImZvbyIsIG51bGwpIGlzICIxIgor
UEFTUyBzdGVwVXAoIjEiLCAiMCIsIG51bGwpIGlzICIyIgorUEFTUyBzdGVwVXAoIjIiLCAiLTEi
LCBudWxsKSBpcyAiMyIKK1N0ZXA9YW55CitQQVNTIHN0ZXBVcCgiMCIsICJhbnkiLCBudWxsKSBp
cyAiMCIKK1BBU1Mgc3RlcERvd24oIjAiLCAiYW55IiwgbnVsbCkgaXMgIjAiCitPdmVyZmxvdy91
bmRlcmZsb3cKK1BBU1Mgc3RlcERvd24oIjEiLCAiMSIsICIwIikgaXMgIjAiCitQQVNTIHN0ZXBE
b3duKCIwIiwgIjEiLCAiMCIpIGlzICIwIgorUEFTUyBzdGVwRG93bigiMSIsICIxIiwgIjAiLCAy
KSBpcyAiMCIKK1BBU1Mgc3RlcERvd24oIjEiLCAiMy40MDI4MjM0NmUrMzgiLCAiIiwgMikgaXMg
Ii0zLjQwMjgyMzQ2ZSszOCIKK1BBU1Mgc3RlcFVwKCItMSIsICIxIiwgIjAiKSBpcyAiMCIKK1BB
U1Mgc3RlcFVwKCIwIiwgIjEiLCAiMCIpIGlzICIwIgorUEFTUyBzdGVwVXAoIi0xIiwgIjEiLCAi
MCIsIDIpIGlzICIwIgorUEFTUyBzdGVwVXAoIjEiLCAiMy40MDI4MjM0NmUrMzgiLCAiIiwgMikg
aXMgIjMuNDAyODIzNDZlKzM4Igorc3RlcERvd24oKS9zdGVwVXAoKSBmb3Igc3RlcE1pc21hdGNo
IHZhbHVlcworUEFTUyBzdGVwVXAoIjEiLCAiMiIsICIiKSBpcyAiMiIKK1BBU1MgaW5wdXQubWlu
ID0gIjAiOyBzdGVwVXAoIjkiLCAiMTAiLCAiIikgaXMgIjEwIgorUEFTUyBzdGVwRG93bigiMTki
LCAiMTAiLCAiMCIpIGlzICIxMCIKK1BBU1Mgc3RlcFVwKCI4OSIsICIxMCIsICI5OSIpIGlzICI5
MCIKK0h1Z2UgdmFsdWUgYW5kIHNtYWxsIHN0ZXAKK1BBU1MgaW5wdXQubWluID0gIiI7IHN0ZXBV
cCgiMWUrMzgiLCAiMSIsICIiLCA5OTkpIGlzICIxZSszOCIKK1BBU1MgaW5wdXQubWF4ID0gIiI7
IHN0ZXBEb3duKCIxZSszOCIsICIxIiwgIiIsIDk5OSkgaXMgIjFlKzM4IgorRnJhY3Rpb25hbCBu
dW1iZXJzCitQQVNTIGlucHV0Lm1pbiA9ICIiOyBzdGVwVXAoIjAiLCAiMC4zMzMzMzMzMzMzMzMz
MzMzMyIsICIiLCAzKSBpcyAiMSIKK1BBU1Mgc3RlcFVwKCIxIiwgIjAuMSIsICIiLCAxMCkgaXMg
IjIiCitQQVNTIGlucHV0Lm1pbiA9ICIwIjsgc3RlcFVwKCIwIiwgIjAuMDAzOTIxNTY4NjI3NDUw
OTgwIiwgIjEiLCAyNTUpIGlzICIxIgorUm91bmRpbmcKK1BBU1Mgc3RlcFVwKCI1LjAwNSIsICIw
LjAwNSIsICIiLCAyKSBpcyAiNS4wMTUiCitQQVNTIHN0ZXBVcCgiNS4wMDUiLCAiMC4wMDUiLCAi
IiwgMTEpIGlzICI1LjA2IgorUEFTUyBzdGVwVXAoIjUuMDA1IiwgIjAuMDA1IiwgIiIsIDEyKSBp
cyAiNS4wNjUiCitQQVNTIHN0ZXBVcEV4cGxpY2l0Qm91bmRzKCI0IiwgIjkiLCAiMC4wMDUiLCAi
NS4wMDUiLCAyKSBpcyAiNS4wMTUiCitQQVNTIHN0ZXBVcEV4cGxpY2l0Qm91bmRzKCI0IiwgIjki
LCAiMC4wMDUiLCAiNS4wMDUiLCAxMSkgaXMgIjUuMDYiCitQQVNTIHN0ZXBVcEV4cGxpY2l0Qm91
bmRzKCI0IiwgIjkiLCAiMC4wMDUiLCAiNS4wMDUiLCAxMikgaXMgIjUuMDY1IgorCitSYW5nZSB0
eXBlCitGdW5jdGlvbiBhcmd1bWVudHMgYXJlIChtaW4sIG1heCwgc3RlcCwgdmFsdWUsIFtzdGVw
Q291bnRdKS4KK1VzaW5nIHRoZSBkZWZhdWx0IHZhbHVlcworUEFTUyBzdGVwVXBFeHBsaWNpdEJv
dW5kcyhudWxsLCBudWxsLCBudWxsLCAiIikgaXMgIjUxIgorUEFTUyBzdGVwRG93bkV4cGxpY2l0
Qm91bmRzKG51bGwsIG51bGwsIG51bGwsICIiKSBpcyAiNDkiCitQQVNTIHN0ZXBVcEV4cGxpY2l0
Qm91bmRzKG51bGwsIG51bGwsICJhbnkiLCAiIikgaXMgIjUxIgorUEFTUyBzdGVwRG93bkV4cGxp
Y2l0Qm91bmRzKG51bGwsIG51bGwsICJhbnkiLCAiIikgaXMgIjQ5IgorUEFTUyBzdGVwVXBFeHBs
aWNpdEJvdW5kcyhudWxsLCBudWxsLCAiZm9vIiwgIiIpIGlzICI1MSIKK1BBU1Mgc3RlcERvd25F
eHBsaWNpdEJvdW5kcyhudWxsLCBudWxsLCAiZm9vIiwgIiIpIGlzICI0OSIKK1BBU1Mgc3RlcFVw
RXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwgbnVsbCwgImZvbyIpIGlzICI1MSIKK1BBU1Mgc3Rl
cERvd25FeHBsaWNpdEJvdW5kcyhudWxsLCBudWxsLCBudWxsLCAiZm9vIikgaXMgIjQ5IgorUEFT
UyBzdGVwVXBFeHBsaWNpdEJvdW5kcyhudWxsLCBudWxsLCAiYW55IiwgImZvbyIpIGlzICI1MSIK
K1BBU1Mgc3RlcERvd25FeHBsaWNpdEJvdW5kcyhudWxsLCBudWxsLCAiYW55IiwgImZvbyIpIGlz
ICI0OSIKK1BBU1Mgc3RlcFVwRXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwgImZvbyIsICJmb28i
KSBpcyAiNTEiCitQQVNTIHN0ZXBEb3duRXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwgImZvbyIs
ICJmb28iKSBpcyAiNDkiCitOb3JtYWwgY2FzZXMKK1BBU1Mgc3RlcFVwRXhwbGljaXRCb3VuZHMo
bnVsbCwgbnVsbCwgbnVsbCwgIjAiKSBpcyAiMSIKK1BBU1Mgc3RlcFVwRXhwbGljaXRCb3VuZHMo
bnVsbCwgbnVsbCwgbnVsbCwgIjEiLCAyKSBpcyAiMyIKK1BBU1Mgc3RlcFVwRXhwbGljaXRCb3Vu
ZHMobnVsbCwgbnVsbCwgbnVsbCwgIjMiLCAtMSkgaXMgIjIiCitQQVNTIHN0ZXBEb3duRXhwbGlj
aXRCb3VuZHMoIi0xMDAiLCBudWxsLCBudWxsLCAiMiIpIGlzICIxIgorUEFTUyBzdGVwRG93bkV4
cGxpY2l0Qm91bmRzKCItMTAwIiwgbnVsbCwgbnVsbCwgIjEiLCAyKSBpcyAiLTEiCitQQVNTIHN0
ZXBEb3duRXhwbGljaXRCb3VuZHMoIi0xMDAiLCBudWxsLCBudWxsLCAiLTEiLCAtMSkgaXMgIjAi
CitJbnZhbGlkIHN0ZXAgdmFsdWUKK1BBU1Mgc3RlcFVwRXhwbGljaXRCb3VuZHMobnVsbCwgbnVs
bCwgImZvbyIsICIwIikgaXMgIjEiCitQQVNTIHN0ZXBVcEV4cGxpY2l0Qm91bmRzKG51bGwsIG51
bGwsICIwIiwgIjEiKSBpcyAiMiIKK1BBU1Mgc3RlcFVwRXhwbGljaXRCb3VuZHMobnVsbCwgbnVs
bCwgIi0xIiwgIjIiKSBpcyAiMyIKK1BBU1Mgc3RlcERvd25FeHBsaWNpdEJvdW5kcyhudWxsLCBu
dWxsLCAiZm9vIiwgIjEiKSBpcyAiMCIKK1BBU1Mgc3RlcERvd25FeHBsaWNpdEJvdW5kcyhudWxs
LCBudWxsLCAiMCIsICIyIikgaXMgIjEiCitQQVNTIHN0ZXBEb3duRXhwbGljaXRCb3VuZHMobnVs
bCwgbnVsbCwgIi0xIiwgIjMiKSBpcyAiMiIKK1N0ZXA9YW55CitQQVNTIHN0ZXBVcEV4cGxpY2l0
Qm91bmRzKG51bGwsIG51bGwsICJhbnkiLCAiMSIpIGlzICIyIgorUEFTUyBzdGVwRG93bkV4cGxp
Y2l0Qm91bmRzKG51bGwsIG51bGwsICJhbnkiLCAiMSIpIGlzICIwIgorT3ZlcmZsb3cvdW5kZXJm
bG93CitQQVNTIHN0ZXBVcEV4cGxpY2l0Qm91bmRzKG51bGwsICIxMDAiLCAiMSIsICI5OSIpIGlz
ICIxMDAiCitQQVNTIHN0ZXBVcEV4cGxpY2l0Qm91bmRzKG51bGwsICIxMDAiLCAiMSIsICIxMDAi
KSBpcyAiMTAwIgorUEFTUyBzdGVwVXBFeHBsaWNpdEJvdW5kcyhudWxsLCAiMTAwIiwgIjEiLCAi
OTkiLCAyKSBpcyAiMTAwIgorUEFTUyBzdGVwRG93bkV4cGxpY2l0Qm91bmRzKCIwIiwgbnVsbCwg
IjEiLCAiMSIpIGlzICIwIgorUEFTUyBzdGVwRG93bkV4cGxpY2l0Qm91bmRzKCIwIiwgbnVsbCwg
IjEiLCAiMCIpIGlzICIwIgorUEFTUyBzdGVwRG93bkV4cGxpY2l0Qm91bmRzKCIwIiwgbnVsbCwg
IjEiLCAiMSIsIDIpIGlzICIwIgorUEFTUyBzdGVwRG93bkV4cGxpY2l0Qm91bmRzKG51bGwsIG51
bGwsICIzLjQwMjgyMzQ2ZSszOCIsICIxIiwgMikgaXMgIjAiCitQQVNTIHN0ZXBVcEV4cGxpY2l0
Qm91bmRzKC0xMDAsIDAsIDEsIC0xKSBpcyAiMCIKK1BBU1Mgc3RlcFVwRXhwbGljaXRCb3VuZHMo
bnVsbCwgMCwgMSwgMCkgaXMgIjAiCitQQVNTIHN0ZXBVcEV4cGxpY2l0Qm91bmRzKC0xMDAsIDAs
IDEsIC0xLCAyKSBpcyAiMCIKK1BBU1Mgc3RlcFVwRXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwg
IjMuNDAyODIzNDZlKzM4IiwgIjEiLCAyKSBpcyAiMCIKK3N0ZXBEb3duKCkvc3RlcFVwKCkgZm9y
IHN0ZXBNaXNtYXRjaCB2YWx1ZXMKK1BBU1Mgc3RlcFVwRXhwbGljaXRCb3VuZHMobnVsbCwgbnVs
bCwgMiwgMSkgaXMgIjQiCitQQVNTIHN0ZXBVcEV4cGxpY2l0Qm91bmRzKDAsIG51bGwsIDEwLCA5
LCA5KSBpcyAiMTAwIgorUEFTUyBzdGVwRG93bkV4cGxpY2l0Qm91bmRzKDAsIG51bGwsIDEwLCAx
OSkgaXMgIjEwIgordmFsdWUgKyBzdGVwIGlzIDw9IG1heCwgYnV0IHJvdW5kZWQgcmVzdWx0IHdv
dWxkIGJlID4gbWF4LgorUEFTUyBzdGVwVXBFeHBsaWNpdEJvdW5kcyhudWxsLCA5OSwgMTAsIDg5
KSBpcyAiOTAiCitIdWdlIHZhbHVlIGFuZCBzbWFsbCBzdGVwCitQQVNTIHN0ZXBVcEV4cGxpY2l0
Qm91bmRzKDAsIDFlMzgsIDEsIDFlMzgsIDk5OSkgaXMgIjFlKzM4IgorUEFTUyBzdGVwRG93bkV4
cGxpY2l0Qm91bmRzKDAsIDFlMzgsIDEsIDFlMzgsIDk5OSkgaXMgIjFlKzM4IgorRnJhY3Rpb25h
bCBudW1iZXJzCitQQVNTIHN0ZXBVcEV4cGxpY2l0Qm91bmRzKG51bGwsIG51bGwsIDAuMzMzMzMz
MzMzMzMzMzMzMzMsIDAsIDMpIGlzICIxIgorUEFTUyBzdGVwVXBFeHBsaWNpdEJvdW5kcyhudWxs
LCBudWxsLCAwLjEsIDEpIGlzICIxLjEiCitQQVNTIHN0ZXBVcEV4cGxpY2l0Qm91bmRzKG51bGws
IG51bGwsIDAuMSwgMSwgOCkgaXMgIjEuOCIKK1BBU1Mgc3RlcFVwRXhwbGljaXRCb3VuZHMobnVs
bCwgbnVsbCwgMC4xLCAxLCAxMCkgaXMgIjIiCitQQVNTIHN0ZXBVcEV4cGxpY2l0Qm91bmRzKDAs
IDEsIDAuMDAzOTIxNTY4NjI3NDUwOTgwLCAwLCAyNTUpIGlzICIxIgorUEFTUyBzdGVwRG93bkV4
cGxpY2l0Qm91bmRzKG51bGwsIG51bGwsIDAuMSwgMSwgOCkgaXMgIjAuMiIKK1BBU1Mgc3RlcERv
d25FeHBsaWNpdEJvdW5kcyhudWxsLCBudWxsLCAwLjEsIDEpIGlzICIwLjkiCisKK1RpbWUgdHlw
ZQorRnVuY3Rpb24gYXJndW1lbnRzIGFyZSAodmFsdWUsIHN0ZXAsIHttaW4gb3IgbWF4fSwgW3N0
ZXBDb3VudF0pLgorTm9ybWFsIGNhc2VzCitQQVNTIHN0ZXBVcCgiMjA6MTMiLCBudWxsLCBudWxs
KSBpcyAiMjA6MTQiCitQQVNTIHN0ZXBEb3duKCIyMDoxMyIsIG51bGwsIG51bGwpIGlzICIyMDox
MiIKK1BBU1Mgc3RlcFVwKCIyMDoxMyIsIG51bGwsIG51bGwsIDEwKSBpcyAiMjA6MjMiCitQQVNT
IHN0ZXBEb3duKCIyMDoxMyIsIG51bGwsIG51bGwsIDExKSBpcyAiMjA6MDIiCitQQVNTIHN0ZXBV
cCgiMjA6MTMiLCAiNCIsIG51bGwsIDIpIGlzICIyMDoxMzowOCIKK1BBU1Mgc3RlcERvd24oIjIw
OjEzIiwgIjQiLCBudWxsLCAzKSBpcyAiMjA6MTI6NDgiCitTdGVwPWFueQorUEFTUyBzdGVwVXAo
IjIwOjEzIiwgImFueSIsIG51bGwpIGlzICIyMDoxMyIKK1BBU1Mgc3RlcERvd24oIjIwOjEzIiwg
ImFueSIsIG51bGwpIGlzICIyMDoxMyIKK092ZXJmbG93L3VuZGVyZmxvdworUEFTUyBzdGVwVXAo
IjIwOjEzIiwgIjMuNDAyODIzNDZlKzM4IiwgbnVsbCkgaXMgIjIzOjU5OjU5Ljk5OSIKK1BBU1Mg
c3RlcERvd24oIjIwOjEzIiwgIjMuNDAyODIzNDZlKzM4IiwgbnVsbCkgaXMgIjAwOjAwOjAwLjAw
MCIKK1BBU1Mgc3RlcFVwKCIyMDoxMyIsICIxIiwgIjIwOjEzIikgaXMgIjIwOjEzIgorUEFTUyBz
dGVwRG93bigiMjA6MTMiLCAiMSIsICIyMDoxMyIpIGlzICIyMDoxMyIKK1BBU1Mgc3RlcFVwKCIy
Mzo1OSIsIG51bGwsIG51bGwpIGlzICIyMzo1OSIKK1BBU1Mgc3RlcERvd24oIjAwOjAwIiwgbnVs
bCwgbnVsbCkgaXMgIjAwOjAwIgorc3RlcERvd24oKS9zdGVwVXAoKSBmb3Igc3RlcE1pc21hdGNo
IHZhbHVlcworUEFTUyBzdGVwRG93bigiMjA6MTMiLCAiMyIsICIyMDoxMjo1NiIpIGlzICIyMDox
Mjo1OSIKK1BBU1Mgc3RlcFVwKCIwMDoxMyIsICI3IiwgIiIpIGlzICIwMDoxMzowNCIKKworV2Vl
ayB0eXBlCitGdW5jdGlvbiBhcmd1bWVudHMgYXJlICh2YWx1ZSwgc3RlcCwge21pbiBvciBtYXh9
LCBbc3RlcENvdW50XSkuCitOb3JtYWwgY2FzZXMKK1BBU1Mgc3RlcFVwKCIyMDEwLVcwMiIsIG51
bGwsIG51bGwpIGlzICIyMDEwLVcwMyIKK1BBU1Mgc3RlcERvd24oIjIwMTAtVzAyIiwgbnVsbCwg
bnVsbCkgaXMgIjIwMTAtVzAxIgorUEFTUyBzdGVwVXAoIjIwMTAtVzAyIiwgbnVsbCwgbnVsbCwg
MTApIGlzICIyMDEwLVcxMiIKK1BBU1Mgc3RlcERvd24oIjIwMTAtVzAyIiwgbnVsbCwgbnVsbCwg
MTEpIGlzICIyMDA5LVc0NCIKK1BBU1Mgc3RlcFVwKCIxOTcwLVcwMSIsICI0IiwgbnVsbCwgMikg
aXMgIjE5NzAtVzA5IgorUEFTUyBzdGVwRG93bigiMTk3MC1XMDEiLCAiNCIsIG51bGwsIDMpIGlz
ICIxOTY5LVc0MSIKK1N0ZXA9YW55CitQQVNTIHN0ZXBVcCgiMjAxMC1XMDIiLCAiYW55IiwgbnVs
bCkgaXMgIjIwMTAtVzAyIgorUEFTUyBzdGVwRG93bigiMjAxMC1XMDIiLCAiYW55IiwgbnVsbCkg
aXMgIjIwMTAtVzAyIgorT3ZlcmZsb3cvdW5kZXJmbG93CitQQVNTIHN0ZXBVcCgiMjAxMC1XMDIi
LCAiMy40MDI4MjM0NmUrMzgiLCBudWxsKSBpcyAiMjc1NzYwLVczNyIKK1BBU1Mgc3RlcERvd24o
IjIwMTAtVzAyIiwgIjMuNDAyODIzNDZlKzM4IiwgbnVsbCkgaXMgIjE5NzAtVzAxIgorUEFTUyBz
dGVwVXAoIjIwMTAtVzAyIiwgIjEiLCAiMjAxMC1XMDIiKSBpcyAiMjAxMC1XMDIiCitQQVNTIHN0
ZXBEb3duKCIyMDEwLVcwMiIsICIxIiwgIjIwMTAtVzAyIikgaXMgIjIwMTAtVzAyIgorc3RlcERv
d24oKS9zdGVwVXAoKSBmb3Igc3RlcE1pc21hdGNoIHZhbHVlcworUEFTUyBzdGVwRG93bigiMjAx
MC1XMDIiLCAiMiIsICIyMDA5LVc1MiIpIGlzICIyMDEwLVcwMSIKK1BBU1Mgc3RlcFVwKCIxOTcw
LVcwMiIsICI0IiwgIiIpIGlzICIxOTcwLVcwNSIKKworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvaW5wdXQtc3RlcHVwLXN0ZXBkb3duLWZyb20tcmVuZGVyZXIuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvaW5wdXQtc3RlcHVwLXN0ZXBkb3duLWZyb20tcmVuZGVyZXIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5hNGZmZmZkYzhlZTYwMDJkNTNkN2FiMjE5ZjkzMWU3MDg5ZDU0NDVkCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9pbnB1dC1zdGVwdXAtc3RlcGRv
d24tZnJvbS1yZW5kZXJlci5odG1sCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9
InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUu
Y3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL2lucHV0
LXN0ZXB1cC1zdGVwZG93bi1mcm9tLXJlbmRlcmVyLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQt
dGVzdHMvaW5wdXQtc3RlcHVwLXN0ZXBkb3duLWZyb20tcmVuZGVyZXIuanMgYi9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9pbnB1dC1zdGVwdXAtc3RlcGRvd24tZnJvbS1yZW5k
ZXJlci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi41NTZiZjJmNDFlMzgwYmZiMTU1YmIzOWRmZTdiMzhhMWU3YmEw
MDdmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVz
dHMvaW5wdXQtc3RlcHVwLXN0ZXBkb3duLWZyb20tcmVuZGVyZXIuanMKQEAgLTAsMCArMSwzNDQg
QEAKK2Rlc2NyaXB0aW9uKCdDaGVjayBzdGVwcGluZy11cCBhbmQgLWRvd24gZm9yIDxpbnB1dD4g
ZnJvbSByZW5kZXJlci4gTm8gY2FzZXMgb2YgZW1wdHkgaW5pdGlhbCB2YWx1ZXMgZm9yIHR5cGU9
ZGF0ZSwgZGF0ZXRpbWUsIGRhdGV0aW1lLWxvY2FsLCBtb250aCwgdGltZSwgd2Vlay4nKTsKKwor
dmFyIGlucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTsKK3ZhciBpbnZhbGlk
U3RhdGVFcnIgPSAnIkVycm9yOiBJTlZBTElEX1NUQVRFX0VSUjogRE9NIEV4Y2VwdGlvbiAxMSIn
OworCitmdW5jdGlvbiBzZW5kS2V5KGtleU5hbWUpIHsKKyAgICB2YXIgZXZlbnQgPSBkb2N1bWVu
dC5jcmVhdGVFdmVudCgnS2V5Ym9hcmRFdmVudCcpOworICAgIGV2ZW50LmluaXRLZXlib2FyZEV2
ZW50KCdrZXlkb3duJywgdHJ1ZSwgdHJ1ZSwgZG9jdW1lbnQuZGVmYXVsdFZpZXcsIGtleU5hbWUp
OworICAgIGlucHV0LmRpc3BhdGNoRXZlbnQoZXZlbnQpOworfQorCitmdW5jdGlvbiBzZXRJbnB1
dEF0dHJpYnV0ZXMobWluLCBtYXgsIHN0ZXAsIHZhbHVlKSB7CisgICAgaW5wdXQubWluID0gbWlu
OworICAgIGlucHV0Lm1heCA9IG1heDsKKyAgICBpbnB1dC5zdGVwID0gc3RlcDsKKyAgICBpbnB1
dC52YWx1ZSA9IHZhbHVlOworfQorCitmdW5jdGlvbiBzdGVwVXAodmFsdWUsIHN0ZXAsIG1heCwg
b3B0aW9uYWxTdGVwQ291bnQpIHsKKyAgICBzZXRJbnB1dEF0dHJpYnV0ZXMobnVsbCwgbWF4LCBz
dGVwLCB2YWx1ZSk7CisgICAgaWYgKHR5cGVvZiBvcHRpb25hbFN0ZXBDb3VudCAhPSAidW5kZWZp
bmVkIikKKyAgICAgICAgaWYgKG9wdGlvbmFsU3RlcENvdW50IDwgMCkKKyAgICAgICAgICAgIGZv
ciAodmFyIGkgPSAwOyBpIDwgLW9wdGlvbmFsU3RlcENvdW50OyBpKyspCisgICAgICAgICAgICAg
ICAgc2VuZEtleSgnRG93bicpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBmb3IgKHZhciBp
ID0gMDsgaSA8IG9wdGlvbmFsU3RlcENvdW50OyBpKyspCisgICAgICAgICAgICAgICAgc2VuZEtl
eSgnVXAnKTsKKyAgICBlbHNlCisgICAgICAgIHNlbmRLZXkoJ1VwJyk7CisgICAgcmV0dXJuIGlu
cHV0LnZhbHVlOworfQorCitmdW5jdGlvbiBzdGVwRG93bih2YWx1ZSwgc3RlcCwgbWluLCBvcHRp
b25hbFN0ZXBDb3VudCkgeworICAgIHNldElucHV0QXR0cmlidXRlcyhtaW4sIG51bGwsIHN0ZXAs
IHZhbHVlKTsKKyAgICBpZiAodHlwZW9mIG9wdGlvbmFsU3RlcENvdW50ICE9ICJ1bmRlZmluZWQi
KQorICAgICAgICBpZiAob3B0aW9uYWxTdGVwQ291bnQgPCAwKQorICAgICAgICAgICAgZm9yICh2
YXIgaSA9IDA7IGkgPCAtb3B0aW9uYWxTdGVwQ291bnQ7IGkrKykKKyAgICAgICAgICAgICAgICBz
ZW5kS2V5KCdVcCcpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsg
aSA8IG9wdGlvbmFsU3RlcENvdW50OyBpKyspCisgICAgICAgICAgICAgICAgc2VuZEtleSgnRG93
bicpOworICAgIGVsc2UKKyAgICAgICAgc2VuZEtleSgnRG93bicpOworICAgIHJldHVybiBpbnB1
dC52YWx1ZTsKK30KKworLy8gUmFuZ2UgdmFsdWUgZ2V0cyBhdXRvbWF0aWNhbGx5IHNoaWZ0ZWQg
YmFzZWQgb24gYm91bmRzLAorLy8gU28gYWx3YXlzIHNldCB0aGUgbWluIGFuZCBtYXggZmlyc3Qg
dG8gZ2V0IGV4cGVjdGVkIGJlaGF2aW9yCisKK2Z1bmN0aW9uIHN0ZXBVcEV4cGxpY2l0Qm91bmRz
KG1pbiwgbWF4LCBzdGVwLCB2YWx1ZSwgc3RlcENvdW50KSB7CisgICAgc2V0SW5wdXRBdHRyaWJ1
dGVzKG1pbiwgbWF4LCBzdGVwLCB2YWx1ZSk7CisgICAgaWYgKHR5cGVvZiBzdGVwQ291bnQgIT09
ICd1bmRlZmluZWQnKQorICAgICAgICBpZiAoc3RlcENvdW50IDwgMCkgeworICAgICAgICAgICAg
Zm9yICh2YXIgaSA9IDA7IGkgPCAtc3RlcENvdW50OyBpKyspCisgICAgICAgICAgICAgICAgc2Vu
ZEtleSgnRG93bicpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgZm9yICh2YXIgaSA9
IDA7IGkgPCBzdGVwQ291bnQ7IGkrKykKKyAgICAgICAgICAgICAgICBzZW5kS2V5KCdVcCcpOwor
ICAgICAgICB9CisgICAgZWxzZQorICAgICAgICBzZW5kS2V5KCdVcCcpOworICAgIHJldHVybiBp
bnB1dC52YWx1ZTsKK30KKworZnVuY3Rpb24gc3RlcERvd25FeHBsaWNpdEJvdW5kcyhtaW4sIG1h
eCwgc3RlcCwgdmFsdWUsIHN0ZXBDb3VudCkgeworICAgIHNldElucHV0QXR0cmlidXRlcyhtaW4s
IG1heCwgc3RlcCwgdmFsdWUpOworICAgIGlmICh0eXBlb2Ygc3RlcENvdW50ICE9PSAndW5kZWZp
bmVkJykKKyAgICAgICAgaWYgKHN0ZXBDb3VudCA8IDApIHsKKyAgICAgICAgICAgIGZvciAodmFy
IGkgPSAwOyBpIDwgLXN0ZXBDb3VudDsgaSsrKQorICAgICAgICAgICAgICAgIHNlbmRLZXkoJ1Vw
Jyk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHN0
ZXBDb3VudDsgaSsrKQorICAgICAgICAgICAgICAgIHNlbmRLZXkoJ0Rvd24nKTsKKyAgICAgICAg
fQorICAgIGVsc2UKKyAgICAgICAgc2VuZEtleSgnRG93bicpOworICAgIHJldHVybiBpbnB1dC52
YWx1ZTsKK30KKworZGVidWcoJ0RhdGUgdHlwZScpOworaW5wdXQudHlwZSA9ICdkYXRlJzsKK2Rl
YnVnKCdGdW5jdGlvbiBhcmd1bWVudHMgYXJlICh2YWx1ZSwgc3RlcCwge21pbiBvciBtYXh9LCBb
c3RlcENvdW50XSkuJyk7CitkZWJ1ZygnTm9ybWFsIGNhc2VzJyk7CitzaG91bGRCZSgnc3RlcFVw
KCIyMDEwLTAyLTEwIiwgbnVsbCwgbnVsbCknLCAnIjIwMTAtMDItMTEiJyk7CitzaG91bGRCZSgn
c3RlcERvd24oIjIwMTAtMDItMTAiLCBudWxsLCBudWxsKScsICciMjAxMC0wMi0wOSInKTsKK3No
b3VsZEJlKCdzdGVwVXAoIjIwMTAtMDItMTAiLCBudWxsLCBudWxsLCAxMCknLCAnIjIwMTAtMDIt
MjAiJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjIwMTAtMDItMTAiLCBudWxsLCBudWxsLCAxMSkn
LCAnIjIwMTAtMDEtMzAiJyk7CitzaG91bGRCZSgnc3RlcFVwKCIxOTcwLTAxLTAxIiwgIjQiLCBu
dWxsLCAyKScsICciMTk3MC0wMS0wOSInKTsKK3Nob3VsZEJlKCdzdGVwRG93bigiMTk3MC0wMS0w
MSIsICI0IiwgbnVsbCwgMyknLCAnIjE5NjktMTItMjAiJyk7CitkZWJ1ZygnU3RlcD1hbnknKTsK
K3Nob3VsZEJlKCdzdGVwVXAoIjIwMTAtMDItMTAiLCAiYW55IiwgbnVsbCknLCAnIjIwMTAtMDIt
MTAiJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjIwMTAtMDItMTAiLCAiYW55IiwgbnVsbCknLCAn
IjIwMTAtMDItMTAiJyk7CitkZWJ1ZygnT3ZlcmZsb3cvdW5kZXJmbG93Jyk7CitzaG91bGRCZSgn
c3RlcFVwKCIyMDEwLTAyLTEwIiwgIjMuNDAyODIzNDZlKzM4IiwgbnVsbCknLCciMjc1NzYwLTA5
LTEzIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIyMDEwLTAyLTEwIiwgIjMuNDAyODIzNDZlKzM4
IiwgbnVsbCknLCAnIjE5NzAtMDEtMDEiJyk7CitzaG91bGRCZSgnc3RlcFVwKCIyMDEwLTAyLTEw
IiwgIjEiLCAiMjAxMC0wMi0xMCIpJywgJyIyMDEwLTAyLTEwIicpOworc2hvdWxkQmUoJ3N0ZXBE
b3duKCIyMDEwLTAyLTEwIiwgIjEiLCAiMjAxMC0wMi0xMCIpJywgJyIyMDEwLTAyLTEwIicpOwor
ZGVidWcoJ3N0ZXBEb3duKCkvc3RlcFVwKCkgZm9yIHN0ZXBNaXNtYXRjaCB2YWx1ZXMnKTsKK3No
b3VsZEJlKCdzdGVwRG93bigiMjAxMC0wMi0xMCIsICIzIiwgIjIwMTAtMDItMDYiKScsICciMjAx
MC0wMi0wOSInKTsKK3Nob3VsZEJlKCdzdGVwVXAoIjE5NzAtMDEtMDIiLCAiMiIsICIiKScsICci
MTk3MC0wMS0wMyInKTsKKworZGVidWcoJycpOworZGVidWcoJ0RhdGV0aW1lIHR5cGUnKTsKK2lu
cHV0LnR5cGUgPSAnZGF0ZXRpbWUnOworZGVidWcoJ0Z1bmN0aW9uIGFyZ3VtZW50cyBhcmUgKHZh
bHVlLCBzdGVwLCB7bWluIG9yIG1heH0sIFtzdGVwQ291bnRdKS4nKTsKK2RlYnVnKCdOb3JtYWwg
Y2FzZXMnKTsKK3Nob3VsZEJlKCdzdGVwVXAoIjIwMTAtMDItMTBUMjA6MTNaIiwgbnVsbCwgbnVs
bCknLCAnIjIwMTAtMDItMTBUMjA6MTRaIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIyMDEwLTAy
LTEwVDIwOjEzWiIsIG51bGwsIG51bGwpJywgJyIyMDEwLTAyLTEwVDIwOjEyWiInKTsKK3Nob3Vs
ZEJlKCdzdGVwVXAoIjIwMTAtMDItMTBUMjA6MTNaIiwgbnVsbCwgbnVsbCwgMTApJywgJyIyMDEw
LTAyLTEwVDIwOjIzWiInKTsKK3Nob3VsZEJlKCdzdGVwRG93bigiMjAxMC0wMi0xMFQyMDoxM1oi
LCBudWxsLCBudWxsLCAxMSknLCAnIjIwMTAtMDItMTBUMjA6MDJaIicpOworc2hvdWxkQmUoJ3N0
ZXBVcCgiMTk3MC0wMS0wMVQyMDoxM1oiLCAiNCIsIG51bGwsIDIpJywgJyIxOTcwLTAxLTAxVDIw
OjEzOjA4WiInKTsKK3Nob3VsZEJlKCdzdGVwRG93bigiMTk3MC0wMS0wMVQyMDoxM1oiLCAiNCIs
IG51bGwsIDMpJywgJyIxOTcwLTAxLTAxVDIwOjEyOjQ4WiInKTsKK2RlYnVnKCdTdGVwPWFueScp
Oworc2hvdWxkQmUoJ3N0ZXBVcCgiMjAxMC0wMi0xMFQyMDoxM1oiLCAiYW55IiwgbnVsbCknLCAn
IjIwMTAtMDItMTBUMjA6MTNaIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIyMDEwLTAyLTEwVDIw
OjEzWiIsICJhbnkiLCBudWxsKScsICciMjAxMC0wMi0xMFQyMDoxM1oiJyk7CitkZWJ1ZygnT3Zl
cmZsb3cvdW5kZXJmbG93Jyk7CitzaG91bGRCZSgnc3RlcFVwKCIyMDEwLTAyLTEwVDIwOjEzWiIs
ICIzLjQwMjgyMzQ2ZSszOCIsIG51bGwpJywgJyIyNzU3NjAtMDktMTNUMDA6MDA6MDAuMDAwWiIn
KTsKK3Nob3VsZEJlKCdzdGVwRG93bigiMjAxMC0wMi0xMFQyMDoxM1oiLCAiMy40MDI4MjM0NmUr
MzgiLCBudWxsKScsICciMTk3MC0wMS0wMVQwMDowMDowMC4wMDBaIicpOworc2hvdWxkQmUoJ3N0
ZXBVcCgiMjAxMC0wMi0xMFQyMDoxM1oiLCAiMSIsICIyMDEwLTAyLTEwVDIwOjEzWiIpJywgJyIy
MDEwLTAyLTEwVDIwOjEzWiInKTsKK3Nob3VsZEJlKCdzdGVwRG93bigiMjAxMC0wMi0xMFQyMDox
M1oiLCAiMSIsICIyMDEwLTAyLTEwVDIwOjEzWiIpJywgJyIyMDEwLTAyLTEwVDIwOjEzWiInKTsK
K2RlYnVnKCdzdGVwRG93bigpL3N0ZXBVcCgpIGZvciBzdGVwTWlzbWF0Y2ggdmFsdWVzJyk7Citz
aG91bGRCZSgnc3RlcERvd24oIjIwMTAtMDItMTBUMjA6MTNaIiwgIjMiLCAiMjAxMC0wMi0xMFQy
MDoxMjo1NloiKScsICciMjAxMC0wMi0xMFQyMDoxMjo1OVoiJyk7CitzaG91bGRCZSgnc3RlcFVw
KCIxOTcwLTAxLTAxVDAwOjEzWiIsICI3IiwgIiIpJywgJyIxOTcwLTAxLTAxVDAwOjEzOjA0WiIn
KTsKKworZGVidWcoJycpOworZGVidWcoJ0RhdGV0aW1lLWxvY2FsIHR5cGUnKTsKK2lucHV0LnR5
cGUgPSAnZGF0ZXRpbWUtbG9jYWwnOworZGVidWcoJ0Z1bmN0aW9uIGFyZ3VtZW50cyBhcmUgKHZh
bHVlLCBzdGVwLCB7bWluIG9yIG1heH0sIFtzdGVwQ291bnRdKS4nKTsKK2RlYnVnKCdOb3JtYWwg
Y2FzZXMnKTsKK3Nob3VsZEJlKCdzdGVwVXAoIjIwMTAtMDItMTBUMjA6MTMiLCBudWxsLCBudWxs
KScsICciMjAxMC0wMi0xMFQyMDoxNCInKTsKK3Nob3VsZEJlKCdzdGVwRG93bigiMjAxMC0wMi0x
MFQyMDoxMyIsIG51bGwsIG51bGwpJywgJyIyMDEwLTAyLTEwVDIwOjEyIicpOworc2hvdWxkQmUo
J3N0ZXBVcCgiMjAxMC0wMi0xMFQyMDoxMyIsIG51bGwsIG51bGwsIDEwKScsICciMjAxMC0wMi0x
MFQyMDoyMyInKTsKK3Nob3VsZEJlKCdzdGVwRG93bigiMjAxMC0wMi0xMFQyMDoxMyIsIG51bGws
IG51bGwsIDExKScsICciMjAxMC0wMi0xMFQyMDowMiInKTsKK3Nob3VsZEJlKCdzdGVwVXAoIjE5
NzAtMDEtMDFUMjA6MTMiLCAiNCIsIG51bGwsIDIpJywgJyIxOTcwLTAxLTAxVDIwOjEzOjA4Iicp
Oworc2hvdWxkQmUoJ3N0ZXBEb3duKCIxOTcwLTAxLTAxVDIwOjEzIiwgIjQiLCBudWxsLCAzKScs
ICciMTk3MC0wMS0wMVQyMDoxMjo0OCInKTsKK2RlYnVnKCdTdGVwPWFueScpOworc2hvdWxkQmUo
J3N0ZXBVcCgiMjAxMC0wMi0xMFQyMDoxMyIsICJhbnkiLCBudWxsKScsICciMjAxMC0wMi0xMFQy
MDoxMyInKTsKK3Nob3VsZEJlKCdzdGVwRG93bigiMjAxMC0wMi0xMFQyMDoxMyIsICJhbnkiLCBu
dWxsKScsICciMjAxMC0wMi0xMFQyMDoxMyInKTsKK2RlYnVnKCdPdmVyZmxvdy91bmRlcmZsb3cn
KTsKK3Nob3VsZEJlKCdzdGVwVXAoIjIwMTAtMDItMTBUMjA6MTMiLCAiMy40MDI4MjM0NmUrMzgi
LCBudWxsKScsICciMjc1NzYwLTA5LTEzVDAwOjAwOjAwLjAwMCInKTsKK3Nob3VsZEJlKCdzdGVw
RG93bigiMjAxMC0wMi0xMFQyMDoxMyIsICIzLjQwMjgyMzQ2ZSszOCIsIG51bGwpJywgJyIxOTcw
LTAxLTAxVDAwOjAwOjAwLjAwMCInKTsKK3Nob3VsZEJlKCdzdGVwVXAoIjIwMTAtMDItMTBUMjA6
MTMiLCAiMSIsICIyMDEwLTAyLTEwVDIwOjEzIiknLCAnIjIwMTAtMDItMTBUMjA6MTMiJyk7Citz
aG91bGRCZSgnc3RlcERvd24oIjIwMTAtMDItMTBUMjA6MTMiLCAiMSIsICIyMDEwLTAyLTEwVDIw
OjEzIiknLCAnIjIwMTAtMDItMTBUMjA6MTMiJyk7CitkZWJ1Zygnc3RlcERvd24oKS9zdGVwVXAo
KSBmb3Igc3RlcE1pc21hdGNoIHZhbHVlcycpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIyMDEwLTAy
LTEwVDIwOjEzIiwgIjMiLCAiMjAxMC0wMi0xMFQyMDoxMjo1NiIpJywgJyIyMDEwLTAyLTEwVDIw
OjEyOjU5IicpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMTk3MC0wMS0wMVQwMDoxMyIsICI3IiwgIiIp
JywgJyIxOTcwLTAxLTAxVDAwOjEzOjA0IicpOworCitkZWJ1ZygnJyk7CitkZWJ1ZygnTW9udGgg
dHlwZScpOworaW5wdXQudHlwZSA9ICdtb250aCc7CitkZWJ1ZygnRnVuY3Rpb24gYXJndW1lbnRz
IGFyZSAodmFsdWUsIHN0ZXAsIHttaW4gb3IgbWF4fSwgW3N0ZXBDb3VudF0pLicpOworZGVidWco
J05vcm1hbCBjYXNlcycpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMjAxMC0wMiIsIG51bGwsIG51bGwp
JywgJyIyMDEwLTAzIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIyMDEwLTAyIiwgbnVsbCwgbnVs
bCknLCAnIjIwMTAtMDEiJyk7CitzaG91bGRCZSgnc3RlcFVwKCIyMDEwLTAyIiwgbnVsbCwgbnVs
bCwgMTApJywgJyIyMDEwLTEyIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIyMDEwLTAyIiwgbnVs
bCwgbnVsbCwgMTEpJywgJyIyMDA5LTAzIicpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMTk3MC0wMSIs
ICI0IiwgbnVsbCwgMiknLCAnIjE5NzAtMDkiJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjE5NzAt
MDEiLCAiNCIsIG51bGwsIDMpJywgJyIxOTY5LTAxIicpOworZGVidWcoJ1N0ZXA9YW55Jyk7Citz
aG91bGRCZSgnc3RlcFVwKCIyMDEwLTAyIiwgImFueSIsIG51bGwpJywgJyIyMDEwLTAyIicpOwor
c2hvdWxkQmUoJ3N0ZXBEb3duKCIyMDEwLTAyIiwgImFueSIsIG51bGwpJywgJyIyMDEwLTAyIicp
OworZGVidWcoJ092ZXJmbG93L3VuZGVyZmxvdycpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMjAxMC0w
MiIsICIzLjQwMjgyMzQ2ZSszOCIsIG51bGwpJywgJyIyNzU3NjAtMDkiJyk7CitzaG91bGRCZSgn
c3RlcERvd24oIjIwMTAtMDIiLCAiMy40MDI4MjM0NmUrMzgiLCBudWxsKScsICciMTk3MC0wMSIn
KTsKK3Nob3VsZEJlKCdzdGVwVXAoIjIwMTAtMDIiLCAiMSIsICIyMDEwLTAyIiknLCAnIjIwMTAt
MDIiJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjIwMTAtMDIiLCAiMSIsICIyMDEwLTAyIiknLCAn
IjIwMTAtMDIiJyk7CitkZWJ1Zygnc3RlcERvd24oKS9zdGVwVXAoKSBmb3Igc3RlcE1pc21hdGNo
IHZhbHVlcycpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIyMDEwLTAyIiwgIjMiLCAiMjAwOS0xMCIp
JywgJyIyMDEwLTAxIicpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMTk3MC0wMiIsICI0IiwgIiIpJywg
JyIxOTcwLTA1IicpOworCitkZWJ1ZygnJyk7CitkZWJ1ZygnTnVtYmVyIHR5cGUnKTsKK2lucHV0
LnR5cGUgPSAnbnVtYmVyJzsKK2RlYnVnKCdGdW5jdGlvbiBhcmd1bWVudHMgYXJlICh2YWx1ZSwg
c3RlcCwge21pbiBvciBtYXh9LCBbc3RlcENvdW50XSkuJyk7CitkZWJ1ZygnSW52YWxpZCB2YWx1
ZScpOworc2hvdWxkQmUoJ3N0ZXBVcCgiIiwgbnVsbCwgbnVsbCknLCAnIjEiJyk7CitzaG91bGRC
ZSgnc3RlcERvd24oIiIsIG51bGwsIG51bGwpJywgJyItMSInKTsKK3Nob3VsZEJlKCdzdGVwVXAo
IiIsICJhbnkiLCBudWxsKScsICciMCInKTsKK3Nob3VsZEJlKCdzdGVwRG93bigiIiwgImFueSIs
IG51bGwpJywgJyIwIicpOworc2hvdWxkQmUoJ3N0ZXBVcCgiIiwgImZvbyIsIG51bGwpJywgJyIx
IicpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIiLCAiZm9vIiwgbnVsbCknLCAnIi0xIicpOworc2hv
dWxkQmUoJ3N0ZXBVcCgiZm9vIiwgbnVsbCwgbnVsbCknLCAnIjEiJyk7CitzaG91bGRCZSgnc3Rl
cERvd24oImZvbyIsIG51bGwsIG51bGwpJywgJyItMSInKTsKK3Nob3VsZEJlKCdzdGVwVXAoImZv
byIsICJhbnkiLCBudWxsKScsICciMCInKTsKK3Nob3VsZEJlKCdzdGVwRG93bigiZm9vIiwgImFu
eSIsIG51bGwpJywgJyIwIicpOworc2hvdWxkQmUoJ3N0ZXBVcCgiZm9vIiwgImZvbyIsIG51bGwp
JywgJyIxIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCJmb28iLCAiZm9vIiwgbnVsbCknLCAnIi0x
IicpOworZGVidWcoJ05vcm1hbCBjYXNlcycpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMCIsIG51bGws
IG51bGwpJywgJyIxIicpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMSIsIG51bGwsIG51bGwsIDIpJywg
JyIzIicpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMyIsIG51bGwsIG51bGwsIC0xKScsICciMiInKTsK
K3Nob3VsZEJlKCdzdGVwRG93bigiMiIsIG51bGwsIG51bGwpJywgJyIxIicpOworc2hvdWxkQmUo
J3N0ZXBEb3duKCIxIiwgbnVsbCwgbnVsbCwgMiknLCAnIi0xIicpOworc2hvdWxkQmUoJ3N0ZXBE
b3duKCItMSIsIG51bGwsIG51bGwsIC0xKScsICciMCInKTsKK2RlYnVnKCdJbnZhbGlkIHN0ZXAg
dmFsdWUnKTsKK3Nob3VsZEJlKCdzdGVwVXAoIjAiLCAiZm9vIiwgbnVsbCknLCAnIjEiJyk7Citz
aG91bGRCZSgnc3RlcFVwKCIxIiwgIjAiLCBudWxsKScsICciMiInKTsKK3Nob3VsZEJlKCdzdGVw
VXAoIjIiLCAiLTEiLCBudWxsKScsICciMyInKTsKK2RlYnVnKCdTdGVwPWFueScpOworc2hvdWxk
QmUoJ3N0ZXBVcCgiMCIsICJhbnkiLCBudWxsKScsICciMCInKTsKK3Nob3VsZEJlKCdzdGVwRG93
bigiMCIsICJhbnkiLCBudWxsKScsICciMCInKTsKK2RlYnVnKCdPdmVyZmxvdy91bmRlcmZsb3cn
KTsKK3Nob3VsZEJlKCdzdGVwRG93bigiMSIsICIxIiwgIjAiKScsICciMCInKTsKK3Nob3VsZEJl
KCdzdGVwRG93bigiMCIsICIxIiwgIjAiKScsICciMCInKTsKK3Nob3VsZEJlKCdzdGVwRG93bigi
MSIsICIxIiwgIjAiLCAyKScsICciMCInKTsKK3Nob3VsZEJlKCdzdGVwRG93bigiMSIsICIzLjQw
MjgyMzQ2ZSszOCIsICIiLCAyKScsICciLTMuNDAyODIzNDZlKzM4IicpOworc2hvdWxkQmUoJ3N0
ZXBVcCgiLTEiLCAiMSIsICIwIiknLCAnIjAiJyk7CitzaG91bGRCZSgnc3RlcFVwKCIwIiwgIjEi
LCAiMCIpJywgJyIwIicpOworc2hvdWxkQmUoJ3N0ZXBVcCgiLTEiLCAiMSIsICIwIiwgMiknLCAn
IjAiJyk7CitzaG91bGRCZSgnc3RlcFVwKCIxIiwgIjMuNDAyODIzNDZlKzM4IiwgIiIsIDIpJywg
JyIzLjQwMjgyMzQ2ZSszOCInKTsKK2RlYnVnKCdzdGVwRG93bigpL3N0ZXBVcCgpIGZvciBzdGVw
TWlzbWF0Y2ggdmFsdWVzJyk7CitzaG91bGRCZSgnc3RlcFVwKCIxIiwgIjIiLCAiIiknLCAnIjIi
Jyk7CitzaG91bGRCZSgnaW5wdXQubWluID0gIjAiOyBzdGVwVXAoIjkiLCAiMTAiLCAiIiknLCAn
IjEwIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIxOSIsICIxMCIsICIwIiknLCAnIjEwIicpOwor
c2hvdWxkQmUoJ3N0ZXBVcCgiODkiLCAiMTAiLCAiOTkiKScsICciOTAiJyk7CitkZWJ1ZygnSHVn
ZSB2YWx1ZSBhbmQgc21hbGwgc3RlcCcpOworc2hvdWxkQmUoJ2lucHV0Lm1pbiA9ICIiOyBzdGVw
VXAoIjFlKzM4IiwgIjEiLCAiIiwgOTk5KScsICciMWUrMzgiJyk7CitzaG91bGRCZSgnaW5wdXQu
bWF4ID0gIiI7IHN0ZXBEb3duKCIxZSszOCIsICIxIiwgIiIsIDk5OSknLCAnIjFlKzM4IicpOwor
ZGVidWcoJ0ZyYWN0aW9uYWwgbnVtYmVycycpOworc2hvdWxkQmUoJ2lucHV0Lm1pbiA9ICIiOyBz
dGVwVXAoIjAiLCAiMC4zMzMzMzMzMzMzMzMzMzMzMyIsICIiLCAzKScsICciMSInKTsKK3Nob3Vs
ZEJlKCdzdGVwVXAoIjEiLCAiMC4xIiwgIiIsIDEwKScsICciMiInKTsKK3Nob3VsZEJlKCdpbnB1
dC5taW4gPSAiMCI7IHN0ZXBVcCgiMCIsICIwLjAwMzkyMTU2ODYyNzQ1MDk4MCIsICIxIiwgMjU1
KScsICciMSInKTsKK2RlYnVnKCdSb3VuZGluZycpOworc2hvdWxkQmUoJ3N0ZXBVcCgiNS4wMDUi
LCAiMC4wMDUiLCAiIiwgMiknLCAnIjUuMDE1IicpOworc2hvdWxkQmUoJ3N0ZXBVcCgiNS4wMDUi
LCAiMC4wMDUiLCAiIiwgMTEpJywgJyI1LjA2IicpOworc2hvdWxkQmUoJ3N0ZXBVcCgiNS4wMDUi
LCAiMC4wMDUiLCAiIiwgMTIpJywgJyI1LjA2NSInKTsKK3Nob3VsZEJlKCdzdGVwVXBFeHBsaWNp
dEJvdW5kcygiNCIsICI5IiwgIjAuMDA1IiwgIjUuMDA1IiwgMiknLCAnIjUuMDE1IicpOworc2hv
dWxkQmUoJ3N0ZXBVcEV4cGxpY2l0Qm91bmRzKCI0IiwgIjkiLCAiMC4wMDUiLCAiNS4wMDUiLCAx
MSknLCAnIjUuMDYiJyk7CitzaG91bGRCZSgnc3RlcFVwRXhwbGljaXRCb3VuZHMoIjQiLCAiOSIs
ICIwLjAwNSIsICI1LjAwNSIsIDEyKScsICciNS4wNjUiJyk7CisKK2RlYnVnKCcnKTsKK2RlYnVn
KCdSYW5nZSB0eXBlJyk7CitpbnB1dC50eXBlID0gJ3JhbmdlJzsKK2RlYnVnKCdGdW5jdGlvbiBh
cmd1bWVudHMgYXJlIChtaW4sIG1heCwgc3RlcCwgdmFsdWUsIFtzdGVwQ291bnRdKS4nKTsKK2Rl
YnVnKCdVc2luZyB0aGUgZGVmYXVsdCB2YWx1ZXMnKTsKK3Nob3VsZEJlKCdzdGVwVXBFeHBsaWNp
dEJvdW5kcyhudWxsLCBudWxsLCBudWxsLCAiIiknLCAnIjUxIicpOworc2hvdWxkQmUoJ3N0ZXBE
b3duRXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwgbnVsbCwgIiIpJywgJyI0OSInKTsKK3Nob3Vs
ZEJlKCdzdGVwVXBFeHBsaWNpdEJvdW5kcyhudWxsLCBudWxsLCAiYW55IiwgIiIpJywgJyI1MSIn
KTsKK3Nob3VsZEJlKCdzdGVwRG93bkV4cGxpY2l0Qm91bmRzKG51bGwsIG51bGwsICJhbnkiLCAi
IiknLCAnIjQ5IicpOworc2hvdWxkQmUoJ3N0ZXBVcEV4cGxpY2l0Qm91bmRzKG51bGwsIG51bGws
ICJmb28iLCAiIiknLCAnIjUxIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duRXhwbGljaXRCb3VuZHMo
bnVsbCwgbnVsbCwgImZvbyIsICIiKScsICciNDkiJyk7CitzaG91bGRCZSgnc3RlcFVwRXhwbGlj
aXRCb3VuZHMobnVsbCwgbnVsbCwgbnVsbCwgImZvbyIpJywgJyI1MSInKTsKK3Nob3VsZEJlKCdz
dGVwRG93bkV4cGxpY2l0Qm91bmRzKG51bGwsIG51bGwsIG51bGwsICJmb28iKScsICciNDkiJyk7
CitzaG91bGRCZSgnc3RlcFVwRXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwgImFueSIsICJmb28i
KScsICciNTEiJyk7CitzaG91bGRCZSgnc3RlcERvd25FeHBsaWNpdEJvdW5kcyhudWxsLCBudWxs
LCAiYW55IiwgImZvbyIpJywgJyI0OSInKTsKK3Nob3VsZEJlKCdzdGVwVXBFeHBsaWNpdEJvdW5k
cyhudWxsLCBudWxsLCAiZm9vIiwgImZvbyIpJywgJyI1MSInKTsKK3Nob3VsZEJlKCdzdGVwRG93
bkV4cGxpY2l0Qm91bmRzKG51bGwsIG51bGwsICJmb28iLCAiZm9vIiknLCAnIjQ5IicpOworZGVi
dWcoJ05vcm1hbCBjYXNlcycpOworc2hvdWxkQmUoJ3N0ZXBVcEV4cGxpY2l0Qm91bmRzKG51bGws
IG51bGwsIG51bGwsICIwIiknLCAnIjEiJyk7CitzaG91bGRCZSgnc3RlcFVwRXhwbGljaXRCb3Vu
ZHMobnVsbCwgbnVsbCwgbnVsbCwgIjEiLCAyKScsICciMyInKTsKK3Nob3VsZEJlKCdzdGVwVXBF
eHBsaWNpdEJvdW5kcyhudWxsLCBudWxsLCBudWxsLCAiMyIsIC0xKScsICciMiInKTsKK3Nob3Vs
ZEJlKCdzdGVwRG93bkV4cGxpY2l0Qm91bmRzKCItMTAwIiwgbnVsbCwgbnVsbCwgIjIiKScsICci
MSInKTsKK3Nob3VsZEJlKCdzdGVwRG93bkV4cGxpY2l0Qm91bmRzKCItMTAwIiwgbnVsbCwgbnVs
bCwgIjEiLCAyKScsICciLTEiJyk7CitzaG91bGRCZSgnc3RlcERvd25FeHBsaWNpdEJvdW5kcygi
LTEwMCIsIG51bGwsIG51bGwsICItMSIsIC0xKScsICciMCInKTsKK2RlYnVnKCdJbnZhbGlkIHN0
ZXAgdmFsdWUnKTsKK3Nob3VsZEJlKCdzdGVwVXBFeHBsaWNpdEJvdW5kcyhudWxsLCBudWxsLCAi
Zm9vIiwgIjAiKScsICciMSInKTsKK3Nob3VsZEJlKCdzdGVwVXBFeHBsaWNpdEJvdW5kcyhudWxs
LCBudWxsLCAiMCIsICIxIiknLCAnIjIiJyk7CitzaG91bGRCZSgnc3RlcFVwRXhwbGljaXRCb3Vu
ZHMobnVsbCwgbnVsbCwgIi0xIiwgIjIiKScsICciMyInKTsKK3Nob3VsZEJlKCdzdGVwRG93bkV4
cGxpY2l0Qm91bmRzKG51bGwsIG51bGwsICJmb28iLCAiMSIpJywgJyIwIicpOworc2hvdWxkQmUo
J3N0ZXBEb3duRXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwgIjAiLCAiMiIpJywgJyIxIicpOwor
c2hvdWxkQmUoJ3N0ZXBEb3duRXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwgIi0xIiwgIjMiKScs
ICciMiInKTsKK2RlYnVnKCdTdGVwPWFueScpOworc2hvdWxkQmUoJ3N0ZXBVcEV4cGxpY2l0Qm91
bmRzKG51bGwsIG51bGwsICJhbnkiLCAiMSIpJywgJyIyIicpOworc2hvdWxkQmUoJ3N0ZXBEb3du
RXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwgImFueSIsICIxIiknLCAnIjAiJyk7CitkZWJ1Zygn
T3ZlcmZsb3cvdW5kZXJmbG93Jyk7CitzaG91bGRCZSgnc3RlcFVwRXhwbGljaXRCb3VuZHMobnVs
bCwgIjEwMCIsICIxIiwgIjk5IiknLCAnIjEwMCInKTsKK3Nob3VsZEJlKCdzdGVwVXBFeHBsaWNp
dEJvdW5kcyhudWxsLCAiMTAwIiwgIjEiLCAiMTAwIiknLCAnIjEwMCInKTsKK3Nob3VsZEJlKCdz
dGVwVXBFeHBsaWNpdEJvdW5kcyhudWxsLCAiMTAwIiwgIjEiLCAiOTkiLCAyKScsICciMTAwIicp
Oworc2hvdWxkQmUoJ3N0ZXBEb3duRXhwbGljaXRCb3VuZHMoIjAiLCBudWxsLCAiMSIsICIxIikn
LCAnIjAiJyk7CitzaG91bGRCZSgnc3RlcERvd25FeHBsaWNpdEJvdW5kcygiMCIsIG51bGwsICIx
IiwgIjAiKScsICciMCInKTsKK3Nob3VsZEJlKCdzdGVwRG93bkV4cGxpY2l0Qm91bmRzKCIwIiwg
bnVsbCwgIjEiLCAiMSIsIDIpJywgJyIwIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duRXhwbGljaXRC
b3VuZHMobnVsbCwgbnVsbCwgIjMuNDAyODIzNDZlKzM4IiwgIjEiLCAyKScsICciMCInKTsKK3No
b3VsZEJlKCdzdGVwVXBFeHBsaWNpdEJvdW5kcygtMTAwLCAwLCAxLCAtMSknLCAnIjAiJyk7Citz
aG91bGRCZSgnc3RlcFVwRXhwbGljaXRCb3VuZHMobnVsbCwgMCwgMSwgMCknLCAnIjAiJyk7Citz
aG91bGRCZSgnc3RlcFVwRXhwbGljaXRCb3VuZHMoLTEwMCwgMCwgMSwgLTEsIDIpJywgJyIwIicp
Oworc2hvdWxkQmUoJ3N0ZXBVcEV4cGxpY2l0Qm91bmRzKG51bGwsIG51bGwsICIzLjQwMjgyMzQ2
ZSszOCIsICIxIiwgMiknLCAnIjAiJyk7CitkZWJ1Zygnc3RlcERvd24oKS9zdGVwVXAoKSBmb3Ig
c3RlcE1pc21hdGNoIHZhbHVlcycpOworc2hvdWxkQmUoJ3N0ZXBVcEV4cGxpY2l0Qm91bmRzKG51
bGwsIG51bGwsIDIsIDEpJywgJyI0IicpOworc2hvdWxkQmUoJ3N0ZXBVcEV4cGxpY2l0Qm91bmRz
KDAsIG51bGwsIDEwLCA5LCA5KScsICciMTAwIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duRXhwbGlj
aXRCb3VuZHMoMCwgbnVsbCwgMTAsIDE5KScsICciMTAiJyk7CitkZWJ1ZygndmFsdWUgKyBzdGVw
IGlzIDw9IG1heCwgYnV0IHJvdW5kZWQgcmVzdWx0IHdvdWxkIGJlID4gbWF4LicpOworc2hvdWxk
QmUoJ3N0ZXBVcEV4cGxpY2l0Qm91bmRzKG51bGwsIDk5LCAxMCwgODkpJywgJyI5MCInKTsKK2Rl
YnVnKCdIdWdlIHZhbHVlIGFuZCBzbWFsbCBzdGVwJyk7CitzaG91bGRCZSgnc3RlcFVwRXhwbGlj
aXRCb3VuZHMoMCwgMWUzOCwgMSwgMWUzOCwgOTk5KScsICciMWUrMzgiJyk7CitzaG91bGRCZSgn
c3RlcERvd25FeHBsaWNpdEJvdW5kcygwLCAxZTM4LCAxLCAxZTM4LCA5OTkpJywgJyIxZSszOCIn
KTsKK2RlYnVnKCdGcmFjdGlvbmFsIG51bWJlcnMnKTsKK3Nob3VsZEJlKCdzdGVwVXBFeHBsaWNp
dEJvdW5kcyhudWxsLCBudWxsLCAwLjMzMzMzMzMzMzMzMzMzMzMzLCAwLCAzKScsICciMSInKTsK
K3Nob3VsZEJlKCdzdGVwVXBFeHBsaWNpdEJvdW5kcyhudWxsLCBudWxsLCAwLjEsIDEpJywgJyIx
LjEiJyk7CitzaG91bGRCZSgnc3RlcFVwRXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwgMC4xLCAx
LCA4KScsICciMS44IicpOworc2hvdWxkQmUoJ3N0ZXBVcEV4cGxpY2l0Qm91bmRzKG51bGwsIG51
bGwsIDAuMSwgMSwgMTApJywgJyIyIicpOworc2hvdWxkQmUoJ3N0ZXBVcEV4cGxpY2l0Qm91bmRz
KDAsIDEsIDAuMDAzOTIxNTY4NjI3NDUwOTgwLCAwLCAyNTUpJywgJyIxIicpOworc2hvdWxkQmUo
J3N0ZXBEb3duRXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwgMC4xLCAxLCA4KScsICciMC4yIicp
Oworc2hvdWxkQmUoJ3N0ZXBEb3duRXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwgMC4xLCAxKScs
ICciMC45IicpOworCitkZWJ1ZygnJyk7CitkZWJ1ZygnVGltZSB0eXBlJyk7CitpbnB1dC50eXBl
ID0gJ3RpbWUnOworZGVidWcoJ0Z1bmN0aW9uIGFyZ3VtZW50cyBhcmUgKHZhbHVlLCBzdGVwLCB7
bWluIG9yIG1heH0sIFtzdGVwQ291bnRdKS4nKTsKK2RlYnVnKCdOb3JtYWwgY2FzZXMnKTsKK3No
b3VsZEJlKCdzdGVwVXAoIjIwOjEzIiwgbnVsbCwgbnVsbCknLCAnIjIwOjE0IicpOworc2hvdWxk
QmUoJ3N0ZXBEb3duKCIyMDoxMyIsIG51bGwsIG51bGwpJywgJyIyMDoxMiInKTsKK3Nob3VsZEJl
KCdzdGVwVXAoIjIwOjEzIiwgbnVsbCwgbnVsbCwgMTApJywgJyIyMDoyMyInKTsKK3Nob3VsZEJl
KCdzdGVwRG93bigiMjA6MTMiLCBudWxsLCBudWxsLCAxMSknLCAnIjIwOjAyIicpOworc2hvdWxk
QmUoJ3N0ZXBVcCgiMjA6MTMiLCAiNCIsIG51bGwsIDIpJywgJyIyMDoxMzowOCInKTsKK3Nob3Vs
ZEJlKCdzdGVwRG93bigiMjA6MTMiLCAiNCIsIG51bGwsIDMpJywgJyIyMDoxMjo0OCInKTsKK2Rl
YnVnKCdTdGVwPWFueScpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMjA6MTMiLCAiYW55IiwgbnVsbCkn
LCAnIjIwOjEzIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIyMDoxMyIsICJhbnkiLCBudWxsKScs
ICciMjA6MTMiJyk7CitkZWJ1ZygnT3ZlcmZsb3cvdW5kZXJmbG93Jyk7CitzaG91bGRCZSgnc3Rl
cFVwKCIyMDoxMyIsICIzLjQwMjgyMzQ2ZSszOCIsIG51bGwpJywgJyIyMzo1OTo1OS45OTkiJyk7
CitzaG91bGRCZSgnc3RlcERvd24oIjIwOjEzIiwgIjMuNDAyODIzNDZlKzM4IiwgbnVsbCknLCAn
IjAwOjAwOjAwLjAwMCInKTsKK3Nob3VsZEJlKCdzdGVwVXAoIjIwOjEzIiwgIjEiLCAiMjA6MTMi
KScsICciMjA6MTMiJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjIwOjEzIiwgIjEiLCAiMjA6MTMi
KScsICciMjA6MTMiJyk7CitzaG91bGRCZSgnc3RlcFVwKCIyMzo1OSIsIG51bGwsIG51bGwpJywg
JyIyMzo1OSInKTsKK3Nob3VsZEJlKCdzdGVwRG93bigiMDA6MDAiLCBudWxsLCBudWxsKScsICci
MDA6MDAiJyk7CitkZWJ1Zygnc3RlcERvd24oKS9zdGVwVXAoKSBmb3Igc3RlcE1pc21hdGNoIHZh
bHVlcycpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIyMDoxMyIsICIzIiwgIjIwOjEyOjU2IiknLCAn
IjIwOjEyOjU5IicpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMDA6MTMiLCAiNyIsICIiKScsICciMDA6
MTM6MDQiJyk7CisKK2RlYnVnKCcnKTsKK2RlYnVnKCdXZWVrIHR5cGUnKTsKK2lucHV0LnR5cGUg
PSAnd2Vlayc7CitkZWJ1ZygnRnVuY3Rpb24gYXJndW1lbnRzIGFyZSAodmFsdWUsIHN0ZXAsIHtt
aW4gb3IgbWF4fSwgW3N0ZXBDb3VudF0pLicpOworZGVidWcoJ05vcm1hbCBjYXNlcycpOworc2hv
dWxkQmUoJ3N0ZXBVcCgiMjAxMC1XMDIiLCBudWxsLCBudWxsKScsICciMjAxMC1XMDMiJyk7Citz
aG91bGRCZSgnc3RlcERvd24oIjIwMTAtVzAyIiwgbnVsbCwgbnVsbCknLCAnIjIwMTAtVzAxIicp
Oworc2hvdWxkQmUoJ3N0ZXBVcCgiMjAxMC1XMDIiLCBudWxsLCBudWxsLCAxMCknLCAnIjIwMTAt
VzEyIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIyMDEwLVcwMiIsIG51bGwsIG51bGwsIDExKScs
ICciMjAwOS1XNDQiJyk7CitzaG91bGRCZSgnc3RlcFVwKCIxOTcwLVcwMSIsICI0IiwgbnVsbCwg
MiknLCAnIjE5NzAtVzA5IicpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIxOTcwLVcwMSIsICI0Iiwg
bnVsbCwgMyknLCAnIjE5NjktVzQxIicpOworZGVidWcoJ1N0ZXA9YW55Jyk7CitzaG91bGRCZSgn
c3RlcFVwKCIyMDEwLVcwMiIsICJhbnkiLCBudWxsKScsICciMjAxMC1XMDIiJyk7CitzaG91bGRC
ZSgnc3RlcERvd24oIjIwMTAtVzAyIiwgImFueSIsIG51bGwpJywgJyIyMDEwLVcwMiInKTsKK2Rl
YnVnKCdPdmVyZmxvdy91bmRlcmZsb3cnKTsKK3Nob3VsZEJlKCdzdGVwVXAoIjIwMTAtVzAyIiwg
IjMuNDAyODIzNDZlKzM4IiwgbnVsbCknLCAnIjI3NTc2MC1XMzciJyk7CitzaG91bGRCZSgnc3Rl
cERvd24oIjIwMTAtVzAyIiwgIjMuNDAyODIzNDZlKzM4IiwgbnVsbCknLCAnIjE5NzAtVzAxIicp
Oworc2hvdWxkQmUoJ3N0ZXBVcCgiMjAxMC1XMDIiLCAiMSIsICIyMDEwLVcwMiIpJywgJyIyMDEw
LVcwMiInKTsKK3Nob3VsZEJlKCdzdGVwRG93bigiMjAxMC1XMDIiLCAiMSIsICIyMDEwLVcwMiIp
JywgJyIyMDEwLVcwMiInKTsKK2RlYnVnKCdzdGVwRG93bigpL3N0ZXBVcCgpIGZvciBzdGVwTWlz
bWF0Y2ggdmFsdWVzJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjIwMTAtVzAyIiwgIjIiLCAiMjAw
OS1XNTIiKScsICciMjAxMC1XMDEiJyk7CitzaG91bGRCZSgnc3RlcFVwKCIxOTcwLVcwMiIsICI0
IiwgIiIpJywgJyIxOTcwLVcwNSInKTsKKworZGVidWcoJycpOwordmFyIHN1Y2Nlc3NmdWxseVBh
cnNlZCA9IHRydWU7CmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hh
bmdlTG9nCmluZGV4IDVkMWMzYzM2MTU2ZTI3ZWYwNTBmZDUzOTlhOGMxYWQyN2IxMjVhYTUuLmZm
NDYyYTM0OWE4ZGQ5M2ZlZGYxNmQzYmQwOTQwMmU5NTdjMTNhNTYgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNjYgQEAKKzIw
MTAtMTEtMjQgIERhaSBNaWt1cnViZSAgPGRtaWt1cnViZUBnb29nbGUuY29tPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIHdoZW4gZW1wdHksIGNsaWNr
aW5nICJkb3duIiBvbiBvdXRlci1zcGluLWJ1dHRvbiByZXR1cm5zICJtYXggdmFsdWUiCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NTQ5MQorCisgICAg
ICAgIE1vZGlmaWVkIHN0ZXBwaW5nLXVwL2Rvd24gZnJvbSByZW5kZXJlcgorICAgICAgICAtIHRv
IGNsYW1wIHN0ZXBzLAorICAgICAgICAtIHRvIGhhbmRsZSBlbXB0eSB2YWx1ZXMgKGRlc2NyaWJl
ZCBiZWxvdyksIGFuZAorICAgICAgICAtIHRvIGFwcGx5IHRoZW0gZm9yIHJhbmdlIHR5cGUgaW5w
dXRzLgorCisgICAgICAgIFN0ZXBwaW5nLXVwL2Rvd24gZm9yIGVtcHR5IHZhbHVlcyBhcmUgaGFu
ZGxlZCAidGhlIGVtcHR5IGFzIDAuIgorICAgICAgICBGb3IgZXhhbXBsZSA6CisgICAgICAgICog
SWYgMCBpcyBpbi1yYW5nZSwgYW5kIG1hdGNoZXMgdG8gc3RlcCB2YWx1ZQorICAgICAgICAgICJk
b3duIiAtPiAtc3RlcAorICAgICAgICAgICJ1cCIgLT4gK3N0ZXAKKyAgICAgICAgICBJZiAtc3Rl
cCBvciArc3RlcCBpcyBvdXQgb2YgcmFuZ2UsIG5ldyB2YWx1ZSBzaG91bGQgYmUgMC4KKworICAg
ICAgICAqIElmIDAgaXMgc21hbGxlciB0aGFuIHRoZSBtaW5pbXVtIHZhbHVlCisgICAgICAgICAg
ImRvd24iIC0+IHRoZSBtaW5pbXVtIHZhbHVlCisgICAgICAgICAgInVwIiAtPiB0aGUgbWluaW11
bSB2YWx1ZQorCisgICAgICAgICogSWYgMCBpcyBsYXJnZXIgdGhhbiB0aGUgbWF4aW11bSB2YWx1
ZQorICAgICAgICAgICJkb3duIiAtPiB0aGUgbWF4aW11bSB2YWx1ZQorICAgICAgICAgICJ1cCIg
LT4gdGhlIG1heGltdW0gdmFsdWUKKworICAgICAgICAqIElmIDAgaXMgaW4tcmFuZ2UsIGJ1dCBu
b3QgbWF0Y2hlZCB0byBzdGVwIHZhbHVlCisgICAgICAgICAgImRvd24iIC0+IHNtYWxlciBtYXRj
aGVkIHZhbHVlIG5lYXJlc3QgdG8gMC4KKyAgICAgICAgICAgIGUuZy4gPGlucHV0IHR5cGU9bnVt
YmVyIG1pbj0tMTAwIHN0ZXA9Mz4gLT4gLTEKKyAgICAgICAgICAidXAiIC0+IGxhcmdlciBtYXRj
aGVkIHZhbHVlIG5lYXJlc3QgdG8gMC4KKyAgICAgICAgICAgIGUuZy4gPGlucHV0IHR5cGU9bnVt
YmVyIG1pbj0tMTAwIHN0ZXA9Mz4gLT4gMgorCisgICAgICAgIEFzIGZvciBkYXRlL2RhdGV0aW1l
L2RhdGV0aW1lLWxvY2FsL21vbnRoL3RpbWUvd2VlayB0eXBlcywgdGhlIGVtcHR5IGlzIGFzc3Vt
ZWQgYXMgImN1cnJlbnQgZGF0ZS90aW1lIi4KKworICAgICAgICBBcyBmb3IgcmFuZ2UgaW5wdXQg
dHlwZXMsIGNoYW5nZWQgc3RlcHBpbmcgZnJvbSByZW5kZXJlciB0byB1c2Ugc3RlcFVwRnJvbVJl
bmRlcmVyKCkuCisgICAgICAgIEl0IHdhcyBjYWxjdWxhdGVkIHdpdGggc3RlcFVwKCkgZnJvbSBS
YW5nZUlucHV0VHlwZTo6aGFuZGxlS2V5ZG93bkV2ZW50KCkuCisKKyAgICAgICAgVGVzdDogZmFz
dC9mb3Jtcy9pbnB1dC1zdGVwdXAtc3RlcGRvd24tZnJvbS1yZW5kZXJlci5odG1sCisKKyAgICAg
ICAgKiBodG1sL0Jhc2VEYXRlQW5kVGltZUlucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpCYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGU6OmRlZmF1bHRWYWx1ZUZvclN0ZXBVcCk6IEFkZGVk
IGRlZmF1bHRWYWx1ZUZvclN0ZXBVcCgpIHdoaWNoIHJldHVybnMgdGhlIGN1cnJlbnQgbG9jYWwg
dGltZQorICAgICAgICAqIGh0bWwvQmFzZURhdGVBbmRUaW1lSW5wdXRUeXBlLmg6CisgICAgICAg
ICogaHRtbC9EYXRlVGltZUlucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEYXRlVGlt
ZUlucHV0VHlwZTo6ZGVmYXVsdFZhbHVlRm9yU3RlcFVwKTogQWRkZWQgZGVmYXVsdFZhbHVlRm9y
U3RlcFVwKCkgd2hpY2ggcmV0dXJucyB0aGUgY3VycmVudCBVVEMgdGltZQorICAgICAgICAqIGh0
bWwvRGF0ZVRpbWVJbnB1dFR5cGUuaDoKKyAgICAgICAgKiBodG1sL0hUTUxJbnB1dEVsZW1lbnQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6c3RlcFVwRnJvbVJlbmRl
cmVyKTogTW9kaWZpZWQgaXQgdG8gY2xhbXAgc3RlcHMsIHN1cHBvcnQgZW1wdHkgdmFsdWVzIGFu
ZCBzdXBwb3J0IHJhbmdlIHR5cGUgaW5wdXRzCisgICAgICAgICogaHRtbC9IVE1MSW5wdXRFbGVt
ZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50Ojppc1JhbmdlQ29udHJv
bCk6CisgICAgICAgICogaHRtbC9JbnB1dFR5cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5w
dXRUeXBlOjpkZWZhdWx0VmFsdWVGb3JTdGVwVXApOiBBZGRlZCBkZWZhdWx0VmFsdWVGb3JTdGVw
VXAoKSB3aGljaCByZXR1cm5zIDAKKyAgICAgICAgKiBodG1sL0lucHV0VHlwZS5oOgorICAgICAg
ICAqIGh0bWwvTW9udGhJbnB1dFR5cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TW9udGhJbnB1
dFR5cGU6OmRlZmF1bHRWYWx1ZUZvclN0ZXBVcCk6IEFkZGVkIGRlZmF1bHRWYWx1ZUZvclN0ZXBV
cCgpIHdoaWNoIHJldHVybnMgdGhlIGN1cnJlbnQgbW9udGgKKyAgICAgICAgKiBodG1sL01vbnRo
SW5wdXRUeXBlLmg6CisgICAgICAgICogaHRtbC9SYW5nZUlucHV0VHlwZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSYW5nZUlucHV0VHlwZTo6aGFuZGxlS2V5ZG93bkV2ZW50KTogQWRkZWQgY29t
bWVudHMgYW5kIG1vZGlmaWVkIGl0IHRvIHVzZSBzdGVwVXBGcm9tUmVuZGVyZXIoKQorICAgICAg
ICAqIGh0bWwvVGltZUlucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUaW1lSW5wdXRU
eXBlOjpkZWZhdWx0VmFsdWVGb3JTdGVwVXApOiBBZGRlZCBkZWZhdWx0VmFsdWVGb3JTdGVwVXAo
KSB3aGljaCByZXR1cm5zIHRoZSBjdXJyZW50IHRpbWUKKyAgICAgICAgKiBodG1sL1RpbWVJbnB1
dFR5cGUuaDoKKyAgICAgICAgKiBtYW51YWwtdGVzdHMvaW5wdXQtdHlwZS1kYXRldGltZS1kZWZh
dWx0LXZhbHVlLmh0bWw6IEFkZGVkIG1hbnVhbCB0ZXN0cyBmb3IgZGVmYXVsdCB2YWx1ZXMgb2Yg
ZGF0ZS90aW1lIGlucHV0cyBzaW5jZSB0aGV5IGFyZSAidGhlIGN1cnJlbnQgdGltZSIsIHdoaWNo
IGNhbm5vdCBiZSB0ZXN0ZWQgYXV0b21hdGljYWxseS4KKwogMjAxMC0xMS0xOCAgR2F2aW4gQmFy
cmFjbG91Z2ggIDxiYXJyYWNsb3VnaEBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkg
T2xpdmVyIEh1bnQuCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvQmFzZURhdGVBbmRUaW1lSW5w
dXRUeXBlLmNwcCBiL1dlYkNvcmUvaHRtbC9CYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGUuY3BwCmlu
ZGV4IGU3ODBlZDZiYTI0ZDIwZmFmYmRiNjI5ZTI4MzY5ODVmMWE1YTkwY2MuLjcwMjQzZTU5YzRl
ZjE3ZGFkMTMwNzMwZTZlMzg2NGJmNzYwNjcwZDcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9C
YXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGUuY3BwCisrKyBiL1dlYkNvcmUvaHRtbC9CYXNlRGF0ZUFu
ZFRpbWVJbnB1dFR5cGUuY3BwCkBAIC0zNSw2ICszNSw4IEBACiAjaW5jbHVkZSAiSFRNTElucHV0
RWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1ZGUgPGxpbWl0cz4KKyNp
bmNsdWRlIDx3dGYvQ3VycmVudFRpbWUuaD4KKyNpbmNsdWRlIDx3dGYvRGF0ZU1hdGguaD4KICNp
bmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAj
aW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CkBAIC05MSw2ICs5MywxNSBAQCBib29sIEJh
c2VEYXRlQW5kVGltZUlucHV0VHlwZTo6cmFuZ2VPdmVyZmxvdyhjb25zdCBTdHJpbmcmIHZhbHVl
KSBjb25zdAogICAgIHJldHVybiBpc2Zpbml0ZShkb3VibGVWYWx1ZSkgJiYgZG91YmxlVmFsdWUg
PiBtYXhpbXVtKCk7CiB9CiAKK2RvdWJsZSBCYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGU6OmRlZmF1
bHRWYWx1ZUZvclN0ZXBVcCgpIGNvbnN0Cit7CisgICAgZG91YmxlIG1zID0gY3VycmVudFRpbWVN
UygpOworICAgIGRvdWJsZSB1dGNPZmZzZXQgPSBjYWxjdWxhdGVVVENPZmZzZXQoKTsKKyAgICBk
b3VibGUgZHN0T2Zmc2V0ID0gY2FsY3VsYXRlRFNUT2Zmc2V0KG1zLCB1dGNPZmZzZXQpOworICAg
IGludCBvZmZzZXQgPSBzdGF0aWNfY2FzdDxpbnQ+KCh1dGNPZmZzZXQgKyBkc3RPZmZzZXQpIC8g
bXNQZXJNaW51dGUpOworICAgIHJldHVybiBtcyArIChvZmZzZXQgKiBtc1Blck1pbnV0ZSk7Cit9
CisKIGJvb2wgQmFzZURhdGVBbmRUaW1lSW5wdXRUeXBlOjpzdGVwTWlzbWF0Y2goY29uc3QgU3Ry
aW5nJiB2YWx1ZSwgZG91YmxlIHN0ZXApIGNvbnN0CiB7CiAgICAgY29uc3QgZG91YmxlIG5hbiA9
IG51bWVyaWNfbGltaXRzPGRvdWJsZT46OnF1aWV0X05hTigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9odG1sL0Jhc2VEYXRlQW5kVGltZUlucHV0VHlwZS5oIGIvV2ViQ29yZS9odG1sL0Jhc2VEYXRl
QW5kVGltZUlucHV0VHlwZS5oCmluZGV4IDExYzYwYWZjYTY1OGM2YjcyMmZjMDI3ZGRlNTg0Y2Q2
NzU2MGQ0OWEuLmFkNzMwMmE5ZTFiYWRiY2VmY2ExOTM4ZWYwZWUyNGM3Nzk0NGVjZmMgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvaHRtbC9CYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGUuaAorKysgYi9XZWJD
b3JlL2h0bWwvQmFzZURhdGVBbmRUaW1lSW5wdXRUeXBlLmgKQEAgLTU1LDYgKzU1LDcgQEAgcHJp
dmF0ZToKICAgICB2aXJ0dWFsIGJvb2wgdHlwZU1pc21hdGNoKCkgY29uc3Q7CiAgICAgdmlydHVh
bCBib29sIHJhbmdlVW5kZXJmbG93KGNvbnN0IFN0cmluZyYpIGNvbnN0OwogICAgIHZpcnR1YWwg
Ym9vbCByYW5nZU92ZXJmbG93KGNvbnN0IFN0cmluZyYpIGNvbnN0OworICAgIHZpcnR1YWwgZG91
YmxlIGRlZmF1bHRWYWx1ZUZvclN0ZXBVcCgpIGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBzdGVw
TWlzbWF0Y2goY29uc3QgU3RyaW5nJiwgZG91YmxlKSBjb25zdDsKICAgICB2aXJ0dWFsIGRvdWJs
ZSBzdGVwQmFzZSgpIGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBoYW5kbGVLZXlkb3duRXZlbnQo
S2V5Ym9hcmRFdmVudCopOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0RhdGVUaW1lSW5wdXRU
eXBlLmNwcCBiL1dlYkNvcmUvaHRtbC9EYXRlVGltZUlucHV0VHlwZS5jcHAKaW5kZXggYzc4YTU0
MDU2YTE1ZTEwMjk2ZGVlODJkMDYzZTQ2MjI5YzA4MzZkNy4uNzg2NDFmODdkZjdiYjMxZWQ0MmJh
YTIxMzQxYzFjYjk3MzUxNzJiNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0RhdGVUaW1lSW5w
dXRUeXBlLmNwcAorKysgYi9XZWJDb3JlL2h0bWwvRGF0ZVRpbWVJbnB1dFR5cGUuY3BwCkBAIC0z
NCw2ICszNCw3IEBACiAjaW5jbHVkZSAiRGF0ZUNvbXBvbmVudHMuaCIKICNpbmNsdWRlICJIVE1M
SW5wdXRFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCisjaW5jbHVkZSA8d3RmL0N1
cnJlbnRUaW1lLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewpAQCAtNTMsNiArNTQsMTEgQEAgY29uc3QgQXRvbWljU3RyaW5nJiBEYXRlVGltZUlu
cHV0VHlwZTo6Zm9ybUNvbnRyb2xUeXBlKCkgY29uc3QKICAgICByZXR1cm4gSW5wdXRUeXBlTmFt
ZXM6OmRhdGV0aW1lKCk7CiB9CiAKK2RvdWJsZSBEYXRlVGltZUlucHV0VHlwZTo6ZGVmYXVsdFZh
bHVlRm9yU3RlcFVwKCkgY29uc3QKK3sKKyAgICByZXR1cm4gY3VycmVudFRpbWVNUygpOworfQor
CiBkb3VibGUgRGF0ZVRpbWVJbnB1dFR5cGU6Om1pbmltdW0oKSBjb25zdAogewogICAgIHJldHVy
biBwYXJzZVRvRG91YmxlKGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJpYnV0ZShtaW5BdHRyKSwgRGF0
ZUNvbXBvbmVudHM6Om1pbmltdW1EYXRlVGltZSgpKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRt
bC9EYXRlVGltZUlucHV0VHlwZS5oIGIvV2ViQ29yZS9odG1sL0RhdGVUaW1lSW5wdXRUeXBlLmgK
aW5kZXggMTQwOTc1YjE5NTE4NGFlMGI2ZDhmOGVhNGQ1NjM0ODVlMTYxYWMzZi4uOWEwZWZkMWYz
OTIxOTAwODM5ZTI3N2EzMjU1NGZlNWZhMjM3ZWQ4NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1s
L0RhdGVUaW1lSW5wdXRUeXBlLmgKKysrIGIvV2ViQ29yZS9odG1sL0RhdGVUaW1lSW5wdXRUeXBl
LmgKQEAgLTQyLDYgKzQyLDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBEYXRlVGltZUlucHV0
VHlwZShIVE1MSW5wdXRFbGVtZW50KiBlbGVtZW50KSA6IEJhc2VEYXRlQW5kVGltZUlucHV0VHlw
ZShlbGVtZW50KSB7IH0KICAgICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgZm9ybUNvbnRy
b2xUeXBlKCkgY29uc3Q7CisgICAgdmlydHVhbCBkb3VibGUgZGVmYXVsdFZhbHVlRm9yU3RlcFVw
KCkgY29uc3Q7CiAgICAgdmlydHVhbCBkb3VibGUgbWluaW11bSgpIGNvbnN0OwogICAgIHZpcnR1
YWwgZG91YmxlIG1heGltdW0oKSBjb25zdDsKICAgICB2aXJ0dWFsIGRvdWJsZSBkZWZhdWx0U3Rl
cCgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3Bw
IGIvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCmluZGV4IGFmNGU3ZDA1NDgyMTcx
MTBlMzk3YzNiYzRhMWZlY2Y3NzY3YjU4MDkuLmU2YzI3MzhmMjcxMTg2NzEyZjQ5ZDIxZTlkMWVh
ZjFjODNlOTQ3YjIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNw
cAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAKQEAgLTE4NDksMzcgKzE4
NDksMTEyIEBAIEhUTUxPcHRpb25FbGVtZW50KiBIVE1MSW5wdXRFbGVtZW50OjpzZWxlY3RlZE9w
dGlvbigpIGNvbnN0CiB2b2lkIEhUTUxJbnB1dEVsZW1lbnQ6OnN0ZXBVcEZyb21SZW5kZXJlcihp
bnQgbikKIHsKICAgICAvLyBUaGUgZGlmZmVyZW5jZXMgZnJvbSBzdGVwVXAoKS9zdGVwRG93bigp
OgotICAgIC8vIElmIHRoZSBjdXJyZW50IHZhbHVlIGlzIG5vdCBhIG51bWJlciwgdGhlIHZhbHVl
IHdpbGwgYmUKLSAgICAvLyAgLSBUaGUgdmFsdWUgc2hvdWxkIGJlIHRoZSBtaW5pbXVtIHZhbHVl
IGlmIG4gPiAwCi0gICAgLy8gIC0gVGhlIHZhbHVlIHNob3VsZCBiZSB0aGUgbWF4aW11bSB2YWx1
ZSBpZiBuIDwgMAorICAgIC8vCisgICAgLy8gRGlmZmVyZW5jZSAxOiB0aGUgY3VycmVudCB2YWx1
ZQorICAgIC8vIElmIHRoZSBjdXJyZW50IHZhbHVlIGlzIG5vdCBhIG51bWJlciwgaW5jbHVkaW5n
IGVtcHR5LCB0aGUgY3VycmVudCB2YWx1ZSBpcyBhc3N1bWVkIGFzIDAuCisgICAgLy8gICAqIElm
IDAgaXMgaW4tcmFuZ2UsIGFuZCBtYXRjaGVzIHRvIHN0ZXAgdmFsdWUKKyAgICAvLyAgICAgLSBU
aGUgdmFsdWUgc2hvdWxkIGJlIHRoZSArc3RlcCBpZiBuID4gMAorICAgIC8vICAgICAtIFRoZSB2
YWx1ZSBzaG91bGQgYmUgdGhlIC1zdGVwIGlmIG4gPCAwCisgICAgLy8gICAgIElmIC1zdGVwIG9y
ICtzdGVwIGlzIG91dCBvZiByYW5nZSwgbmV3IHZhbHVlIHNob3VsZCBiZSAwLgorICAgIC8vICAg
KiBJZiAwIGlzIHNtYWxsZXIgdGhhbiB0aGUgbWluaW11bSB2YWx1ZQorICAgIC8vICAgICAtIFRo
ZSB2YWx1ZSBzaG91bGQgYmUgdGhlIG1pbmltdW0gdmFsdWUgZm9yIGFueSBuCisgICAgLy8gICAq
IElmIDAgaXMgbGFyZ2VyIHRoYW4gdGhlIG1heGltdW0gdmFsdWUKKyAgICAvLyAgICAgLSBUaGUg
dmFsdWUgc2hvdWxkIGJlIHRoZSBtYXhpbXVtIHZhbHVlIGZvciBhbnkgbgorICAgIC8vICAgKiBJ
ZiAwIGlzIGluLXJhbmdlLCBidXQgbm90IG1hdGNoZWQgdG8gc3RlcCB2YWx1ZQorICAgIC8vICAg
ICAtIFRoZSB2YWx1ZSBzaG91bGQgYmUgdGhlIGxhcmdlciBtYXRjaGVkIHZhbHVlIG5lYXJlc3Qg
dG8gMCBpZiBuID4gMAorICAgIC8vICAgICAgIGUuZy4gPGlucHV0IHR5cGU9bnVtYmVyIG1pbj0t
MTAwIHN0ZXA9Mz4gLT4gMgorICAgIC8vICAgICAtIFRoZSB2YWx1ZSBzaG91bGQgYmUgdGhlIHNt
YWxlciBtYXRjaGVkIHZhbHVlIG5lYXJlc3QgdG8gMCBpZiBuIDwgMAorICAgIC8vICAgICAgIGUu
Zy4gPGlucHV0IHR5cGU9bnVtYmVyIG1pbj0tMTAwIHN0ZXA9Mz4gLT4gLTEKKyAgICAvLyAgIEFz
IGZvciBkYXRlL2RhdGV0aW1lL2RhdGV0aW1lLWxvY2FsL21vbnRoL3RpbWUvd2VlayB0eXBlcywg
dGhlIGN1cnJlbnQgdmFsdWUgaXMgYXNzdW1lZCBhcyAidGhlIGN1cnJlbnQgZGF0ZS90aW1lIi4K
ICAgICAvLyBJZiB0aGUgY3VycmVudCB2YWx1ZSBpcyBzbWFsbGVyIHRoYW4gdGhlIG1pbmltdW0g
dmFsdWU6CiAgICAgLy8gIC0gVGhlIHZhbHVlIHNob3VsZCBiZSB0aGUgbWluaW11bSB2YWx1ZSBp
ZiBuID4gMAogICAgIC8vICAtIE5vdGhpbmcgc2hvdWxkIGhhcHBlbiBpZiBuIDwgMAogICAgIC8v
IElmIHRoZSBjdXJyZW50IHZhbHVlIGlzIGxhcmdlciB0aGFuIHRoZSBtYXhpbXVtIHZhbHVlOgog
ICAgIC8vICAtIFRoZSB2YWx1ZSBzaG91bGQgYmUgdGhlIG1heGltdW0gdmFsdWUgaWYgbiA8IDAK
ICAgICAvLyAgLSBOb3RoaW5nIHNob3VsZCBoYXBwZW4gaWYgbiA+IDAKLQotICAgIEFTU0VSVCho
YXNTcGluQnV0dG9uKCkpOwotICAgIGlmICghaGFzU3BpbkJ1dHRvbigpKQorICAgIC8vCisgICAg
Ly8gRGlmZmVyZW5jZSAyOiBjbGFtcGluZyBzdGVwcworICAgIC8vIElmIHRoZSBjdXJyZW50IHZh
bHVlIGlzIG5vdCBtYXRjaGVkIHRvIHN0ZXAgdmFsdWU6CisgICAgLy8gLSBUaGUgdmFsdWUgc2hv
dWxkIGJlIHRoZSBsYXJnZXIgbWF0Y2hlZCB2YWx1ZSBuZWFyZXN0IHRvIDAgaWYgbiA+IDAKKyAg
ICAvLyAgIGUuZy4gPGlucHV0IHR5cGU9bnVtYmVyIHZhbHVlPTMgbWluPS0xMDAgc3RlcD0zPiAt
PiA1CisgICAgLy8gLSBUaGUgdmFsdWUgc2hvdWxkIGJlIHRoZSBzbWFsZXIgbWF0Y2hlZCB2YWx1
ZSBuZWFyZXN0IHRvIDAgaWYgbiA8IDAKKyAgICAvLyAgIGUuZy4gPGlucHV0IHR5cGU9bnVtYmVy
IHZhbHVlPTMgbWluPS0xMDAgc3RlcD0zPiAtPiAyCisgICAgLy8KKyAgICAvLyBuIGlzIGFzc3Vt
ZWQgYXMgLW4gaWYgc3RlcCA8IDAuCisKKyAgICBBU1NFUlQoaGFzU3BpbkJ1dHRvbigpIHx8IG1f
aW5wdXRUeXBlLT5pc1JhbmdlQ29udHJvbCgpKTsKKyAgICBpZiAoIWhhc1NwaW5CdXR0b24oKSAm
JiAhbV9pbnB1dFR5cGUtPmlzUmFuZ2VDb250cm9sKCkpCiAgICAgICAgIHJldHVybjsKICAgICBB
U1NFUlQobik7CiAgICAgaWYgKCFuKQogICAgICAgICByZXR1cm47CiAKKyAgICB1bnNpZ25lZCBz
dGVwRGVjaW1hbFBsYWNlcywgYmFzZURlY2ltYWxQbGFjZXM7CisgICAgZG91YmxlIHN0ZXAsIGJh
c2U7CisgICAgLy8gVGhlIHZhbHVlIHdpbGwgYmUgdGhlIGRlZmF1bHQgdmFsdWUgYWZ0ZXIgc3Rl
cHBpbmcgZm9yIDxpbnB1dCB2YWx1ZT0oZW1wdHkvaW52YWxpZCkgc3RlcD0iYW55IiAvPgorICAg
IC8vIEZJWE1FOiBOb3QgYW55IGNoYW5nZXMgYWZ0ZXIgc3RlcHBpbmcsIGV2ZW4gaWYgaXQgaXMg
YW4gaW52YWxpZCB2YWx1ZSwgbWF5IGJlIGJldHRlci4KKyAgICAvLyAoZS5nLiBTdGVwcGluZy11
cCBmb3IgPGlucHV0IHR5cGU9Im51bWJlciIgdmFsdWU9ImZvbyIgc3RlcD0iYW55IiAvPiA9PiAi
Zm9vIikKKyAgICBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UoZ2V0QXR0cmlidXRlKHN0ZXBBdHRyKSwg
ImFueSIpKQorICAgICAgICBzdGVwID0gMDsKKyAgICBlbHNlIGlmICghZ2V0QWxsb3dlZFZhbHVl
U3RlcFdpdGhEZWNpbWFsUGxhY2VzKCZzdGVwLCAmc3RlcERlY2ltYWxQbGFjZXMpKQorICAgICAg
ICByZXR1cm47CisgICAgYmFzZSA9IG1faW5wdXRUeXBlLT5zdGVwQmFzZVdpdGhEZWNpbWFsUGxh
Y2VzKCZiYXNlRGVjaW1hbFBsYWNlcyk7CisgICAgYmFzZURlY2ltYWxQbGFjZXMgPSBtaW4oYmFz
ZURlY2ltYWxQbGFjZXMsIDE2dSk7CisKKyAgICBpbnQgc2lnbjsKKyAgICBpZiAoc3RlcCA+IDAp
CisgICAgICAgIHNpZ24gPSBuOworICAgIGVsc2UgaWYgKHN0ZXAgPCAwKQorICAgICAgICBzaWdu
ID0gLW47CisgICAgZWxzZQorICAgICAgICBzaWduID0gMDsKKwogICAgIGNvbnN0IGRvdWJsZSBu
YW4gPSBudW1lcmljX2xpbWl0czxkb3VibGU+OjpxdWlldF9OYU4oKTsKICAgICBTdHJpbmcgY3Vy
cmVudFN0cmluZ1ZhbHVlID0gdmFsdWUoKTsKICAgICBkb3VibGUgY3VycmVudCA9IG1faW5wdXRU
eXBlLT5wYXJzZVRvRG91YmxlKGN1cnJlbnRTdHJpbmdWYWx1ZSwgbmFuKTsKLSAgICBpZiAoIWlz
ZmluaXRlKGN1cnJlbnQpIHx8IChuID4gMCAmJiBjdXJyZW50IDwgbV9pbnB1dFR5cGUtPm1pbmlt
dW0oKSkgfHwgKG4gPCAwICYmIGN1cnJlbnQgPiBtX2lucHV0VHlwZS0+bWF4aW11bSgpKSkKLSAg
ICAgICAgc2V0VmFsdWUobV9pbnB1dFR5cGUtPnNlcmlhbGl6ZShuID4gMCA/IG1faW5wdXRUeXBl
LT5taW5pbXVtKCkgOiBtX2lucHV0VHlwZS0+bWF4aW11bSgpKSk7CisgICAgaWYgKCFpc2Zpbml0
ZShjdXJyZW50KSkgeworICAgICAgICBFeGNlcHRpb25Db2RlIGVjOworICAgICAgICBjdXJyZW50
ID0gbV9pbnB1dFR5cGUtPmRlZmF1bHRWYWx1ZUZvclN0ZXBVcCgpOworICAgICAgICBzZXRWYWx1
ZUFzTnVtYmVyKGN1cnJlbnQsIGVjKTsKKyAgICB9CisgICAgaWYgKChzaWduID4gMCAmJiBjdXJy
ZW50IDwgbV9pbnB1dFR5cGUtPm1pbmltdW0oKSkgfHwgKHNpZ24gPCAwICYmIGN1cnJlbnQgPiBt
X2lucHV0VHlwZS0+bWF4aW11bSgpKSkKKyAgICAgICAgc2V0VmFsdWUobV9pbnB1dFR5cGUtPnNl
cmlhbGl6ZShzaWduID4gMCA/IG1faW5wdXRUeXBlLT5taW5pbXVtKCkgOiBtX2lucHV0VHlwZS0+
bWF4aW11bSgpKSk7CiAgICAgZWxzZSB7CiAgICAgICAgIEV4Y2VwdGlvbkNvZGUgZWM7Ci0gICAg
ICAgIHN0ZXBVcChuLCBlYyk7CisgICAgICAgIGlmIChzdGVwTWlzbWF0Y2goY3VycmVudFN0cmlu
Z1ZhbHVlKSkgeworICAgICAgICAgICAgQVNTRVJUKHN0ZXApOworICAgICAgICAgICAgZG91Ymxl
IG5ld1ZhbHVlOworICAgICAgICAgICAgZG91YmxlIHNjYWxlID0gcG93KDEwLjAsIHN0YXRpY19j
YXN0PGRvdWJsZT4obWF4KHN0ZXBEZWNpbWFsUGxhY2VzLCBiYXNlRGVjaW1hbFBsYWNlcykpKTsK
KworICAgICAgICAgICAgaWYgKHNpZ24gPCAwKQorICAgICAgICAgICAgICAgIG5ld1ZhbHVlID0g
cm91bmQoKGJhc2UgKyBmbG9vcigoY3VycmVudCAtIGJhc2UpIC8gc3RlcCkgKiBzdGVwKSAqIHNj
YWxlKSAvIHNjYWxlOworICAgICAgICAgICAgZWxzZSBpZiAoc2lnbiA+IDApCisgICAgICAgICAg
ICAgICAgbmV3VmFsdWUgPSByb3VuZCgoYmFzZSArIGNlaWwoKGN1cnJlbnQgLSBiYXNlKSAvIHN0
ZXApICogc3RlcCkgKiBzY2FsZSkgLyBzY2FsZTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAg
ICAgICAgICBuZXdWYWx1ZSA9IGN1cnJlbnQ7CisKKyAgICAgICAgICAgIGlmIChuZXdWYWx1ZSA8
IG1faW5wdXRUeXBlLT5taW5pbXVtKCkpCisgICAgICAgICAgICAgICAgbmV3VmFsdWUgPSBtX2lu
cHV0VHlwZS0+bWluaW11bSgpOworICAgICAgICAgICAgaWYgKG5ld1ZhbHVlID4gbV9pbnB1dFR5
cGUtPm1heGltdW0oKSkKKyAgICAgICAgICAgICAgICBuZXdWYWx1ZSA9IG1faW5wdXRUeXBlLT5t
YXhpbXVtKCk7CisKKyAgICAgICAgICAgIHNldFZhbHVlQXNOdW1iZXIobmV3VmFsdWUsIGVjKTsK
KyAgICAgICAgICAgIGN1cnJlbnQgPSBuZXdWYWx1ZTsKKyAgICAgICAgICAgIGlmIChuID4gMSkK
KyAgICAgICAgICAgICAgICBhcHBseVN0ZXAobiAtIDEsIGVjKTsKKyAgICAgICAgICAgIGVsc2Ug
aWYgKG4gPCAtMSkKKyAgICAgICAgICAgICAgICBhcHBseVN0ZXAobiArIDEsIGVjKTsKKyAgICAg
ICAgfSBlbHNlCisgICAgICAgICAgICBhcHBseVN0ZXAobiwgZWMpOwogICAgIH0KIAogICAgIGlm
IChjdXJyZW50U3RyaW5nVmFsdWUgIT0gdmFsdWUoKSkgewogICAgICAgICBpZiAocmVuZGVyZXIo
KSAmJiByZW5kZXJlcigpLT5pc1RleHRGaWVsZCgpKQogICAgICAgICAgICAgdG9SZW5kZXJUZXh0
Q29udHJvbChyZW5kZXJlcigpKS0+c2V0Q2hhbmdlZFNpbmNlTGFzdENoYW5nZUV2ZW50KHRydWUp
OwotICAgICAgICBkaXNwYXRjaEV2ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmlucHV0
RXZlbnQsIHRydWUsIGZhbHNlKSk7CisgICAgICAgIGlmIChtX2lucHV0VHlwZS0+aXNSYW5nZUNv
bnRyb2woKSkKKyAgICAgICAgICAgIGRpc3BhdGNoRm9ybUNvbnRyb2xDaGFuZ2VFdmVudCgpOwor
ICAgICAgICBlbHNlCisgICAgICAgICAgICBkaXNwYXRjaEV2ZW50KEV2ZW50OjpjcmVhdGUoZXZl
bnROYW1lcygpLmlucHV0RXZlbnQsIHRydWUsIGZhbHNlKSk7CiAgICAgfQogfQogCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oIGIvV2ViQ29yZS9odG1sL0hUTUxJ
bnB1dEVsZW1lbnQuaAppbmRleCA5ODg0MTE3YjgxMWNjYTE5ZWUwNzQ3YjA1ZDA1YjhmY2UwMjJi
NTFiLi42NzYxYjU3OGNmZGQ4NzhjOTc1OTE1YzczMjc4MjcwMjgyZmEwNDY3IDEwMDY0NAotLS0g
YS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1M
SW5wdXRFbGVtZW50LmgKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlICJIVE1MRm9ybUNvbnRy
b2xFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTEZvcm1FbGVtZW50LmgiCiAjaW5jbHVkZSAiSW5w
dXRFbGVtZW50LmgiCisjaW5jbHVkZSAiSW5wdXRUeXBlLmgiCiAjaW5jbHVkZSA8d3RmL093blB0
ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvSW5w
dXRUeXBlLmNwcCBiL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuY3BwCmluZGV4IDZkZDAwMmM0ZjJh
ZmQxNTFlZDQyYmI4ZTMzMGUxZjUyMjRkODMyYzIuLmJhOWU4NzcyMGI4Y2VmMTRiZThmMjg2ZTRh
NDE3MDQxYzM3NjhjZjAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuY3BwCisr
KyBiL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuY3BwCkBAIC0xMjUsNiArMTI1LDExIEBAIGJvb2wg
SW5wdXRUeXBlOjppc1RleHRUeXBlKCkgY29uc3QKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKK2Jv
b2wgSW5wdXRUeXBlOjppc1JhbmdlQ29udHJvbCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGZhbHNl
OworfQorCiBib29sIElucHV0VHlwZTo6c2F2ZUZvcm1Db250cm9sU3RhdGUoU3RyaW5nJiByZXN1
bHQpIGNvbnN0CiB7CiAgICAgU3RyaW5nIGN1cnJlbnRWYWx1ZSA9IGVsZW1lbnQoKS0+dmFsdWUo
KTsKQEAgLTIxMyw2ICsyMTgsMTEgQEAgYm9vbCBJbnB1dFR5cGU6OnJhbmdlT3ZlcmZsb3coY29u
c3QgU3RyaW5nJikgY29uc3QKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKK2RvdWJsZSBJbnB1dFR5
cGU6OmRlZmF1bHRWYWx1ZUZvclN0ZXBVcCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIDA7Cit9CisK
IGRvdWJsZSBJbnB1dFR5cGU6Om1pbmltdW0oKSBjb25zdAogewogICAgIEFTU0VSVF9OT1RfUkVB
Q0hFRCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5oIGIvV2ViQ29yZS9o
dG1sL0lucHV0VHlwZS5oCmluZGV4IGYxYTViNmRjYTBmN2ZhZTIzMDI5ZThjMjY5NDlkYWEyMjJk
NzNiMWEuLjRkY2ZmMDE5MzI3ZmZmMzNjNjcyMjVkMzhiZjQ1OWQyNTM3MTRjMGEgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuaAorKysgYi9XZWJDb3JlL2h0bWwvSW5wdXRUeXBl
LmgKQEAgLTYwLDYgKzYwLDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBib29sIGlzVGV4dEZp
ZWxkKCkgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIGlzVGV4dFR5cGUoKSBjb25zdDsKKyAgICB2
aXJ0dWFsIGJvb2wgaXNSYW5nZUNvbnRyb2woKSBjb25zdDsKICAgICB2aXJ0dWFsIGNvbnN0IEF0
b21pY1N0cmluZyYgZm9ybUNvbnRyb2xUeXBlKCkgY29uc3QgPSAwOwogCiAgICAgLy8gRm9ybSB2
YWx1ZSBmdW5jdGlvbnMKQEAgLTg5LDYgKzkwLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9v
bCBwYXR0ZXJuTWlzbWF0Y2goY29uc3QgU3RyaW5nJikgY29uc3Q7CiAgICAgdmlydHVhbCBib29s
IHJhbmdlVW5kZXJmbG93KGNvbnN0IFN0cmluZyYpIGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBy
YW5nZU92ZXJmbG93KGNvbnN0IFN0cmluZyYpIGNvbnN0OworICAgIHZpcnR1YWwgZG91YmxlIGRl
ZmF1bHRWYWx1ZUZvclN0ZXBVcCgpIGNvbnN0OwogICAgIHZpcnR1YWwgZG91YmxlIG1pbmltdW0o
KSBjb25zdDsKICAgICB2aXJ0dWFsIGRvdWJsZSBtYXhpbXVtKCkgY29uc3Q7CiAgICAgdmlydHVh
bCBib29sIHN0ZXBNaXNtYXRjaChjb25zdCBTdHJpbmcmLCBkb3VibGUpIGNvbnN0OwpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9odG1sL01vbnRoSW5wdXRUeXBlLmNwcCBiL1dlYkNvcmUvaHRtbC9Nb250
aElucHV0VHlwZS5jcHAKaW5kZXggY2JkZTVjYmFkMjk0MWQ0YzU4MWE4M2JhMTAxZTQ5YWRhYjIz
ZGQ1Ni4uMzhmOWQwMDIzM2I0ZmJmNjNlY2Y0NDA4OWExMTNhODNlNmVhNDc1OSAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9odG1sL01vbnRoSW5wdXRUeXBlLmNwcAorKysgYi9XZWJDb3JlL2h0bWwvTW9u
dGhJbnB1dFR5cGUuY3BwCkBAIC0zNCw2ICszNCw4IEBACiAjaW5jbHVkZSAiRGF0ZUNvbXBvbmVu
dHMuaCIKICNpbmNsdWRlICJIVE1MSW5wdXRFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVz
LmgiCisjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+CisjaW5jbHVkZSA8d3RmL0RhdGVNYXRo
Lmg+CiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0
ci5oPgogCkBAIC03NCw2ICs3NiwyMSBAQCB2b2lkIE1vbnRoSW5wdXRUeXBlOjpzZXRWYWx1ZUFz
RGF0ZShkb3VibGUgdmFsdWUsIEV4Y2VwdGlvbkNvZGUmKSBjb25zdAogICAgIGVsZW1lbnQoKS0+
c2V0VmFsdWUoZGF0ZS50b1N0cmluZygpKTsKIH0KIAorZG91YmxlIE1vbnRoSW5wdXRUeXBlOjpk
ZWZhdWx0VmFsdWVGb3JTdGVwVXAoKSBjb25zdAoreworICAgIGRvdWJsZSBjdXJyZW50ID0gY3Vy
cmVudFRpbWVNUygpOworICAgIGRvdWJsZSB1dGNPZmZzZXQgPSBjYWxjdWxhdGVVVENPZmZzZXQo
KTsKKyAgICBkb3VibGUgZHN0T2Zmc2V0ID0gY2FsY3VsYXRlRFNUT2Zmc2V0KGN1cnJlbnQsIHV0
Y09mZnNldCk7CisgICAgaW50IG9mZnNldCA9IHN0YXRpY19jYXN0PGludD4oKHV0Y09mZnNldCAr
IGRzdE9mZnNldCkgLyBtc1Blck1pbnV0ZSk7CisgICAgY3VycmVudCArPSBvZmZzZXQgKiBtc1Bl
ck1pbnV0ZTsKKworICAgIERhdGVDb21wb25lbnRzIGRhdGU7CisgICAgZGF0ZS5zZXRNaWxsaXNl
Y29uZHNTaW5jZUVwb2NoRm9yTW9udGgoY3VycmVudCk7CisgICAgZG91YmxlIG1vbnRocyA9IGRh
dGUubW9udGhzU2luY2VFcG9jaCgpOworICAgIEFTU0VSVChpc2Zpbml0ZShtb250aHMpKTsKKyAg
ICByZXR1cm4gbW9udGhzOworfQorCiBkb3VibGUgTW9udGhJbnB1dFR5cGU6Om1pbmltdW0oKSBj
b25zdAogewogICAgIHJldHVybiBwYXJzZVRvRG91YmxlKGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJp
YnV0ZShtaW5BdHRyKSwgRGF0ZUNvbXBvbmVudHM6Om1pbmltdW1Nb250aCgpKTsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvaHRtbC9Nb250aElucHV0VHlwZS5oIGIvV2ViQ29yZS9odG1sL01vbnRoSW5w
dXRUeXBlLmgKaW5kZXggNTBjZjdkNTBmOTRiZjUwNjgxNzJlN2I5OTU1ZTYzNDE1MDY0ZmQwYS4u
MjM1MzZlMmQ5NDI0YzM5ZTRjZjYxNjliMzA1OTFjNTNkNzJkNTI3MyAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9odG1sL01vbnRoSW5wdXRUeXBlLmgKKysrIGIvV2ViQ29yZS9odG1sL01vbnRoSW5wdXRU
eXBlLmgKQEAgLTQ1LDYgKzQ1LDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIGRvdWJsZSB2YWx1
ZUFzRGF0ZSgpIGNvbnN0OwogICAgIHZpcnR1YWwgdm9pZCBzZXRWYWx1ZUFzRGF0ZShkb3VibGUs
IEV4Y2VwdGlvbkNvZGUmKSBjb25zdDsKICAgICB2aXJ0dWFsIGRvdWJsZSBwYXJzZVRvRG91Ymxl
KGNvbnN0IFN0cmluZyYsIGRvdWJsZSkgY29uc3Q7CisgICAgdmlydHVhbCBkb3VibGUgZGVmYXVs
dFZhbHVlRm9yU3RlcFVwKCkgY29uc3Q7CiAgICAgdmlydHVhbCBkb3VibGUgbWluaW11bSgpIGNv
bnN0OwogICAgIHZpcnR1YWwgZG91YmxlIG1heGltdW0oKSBjb25zdDsKICAgICB2aXJ0dWFsIGRv
dWJsZSBkZWZhdWx0U3RlcCgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL1Jhbmdl
SW5wdXRUeXBlLmNwcCBiL1dlYkNvcmUvaHRtbC9SYW5nZUlucHV0VHlwZS5jcHAKaW5kZXggYWQ0
N2YxNGNiMTRhOWQ4ODkxMmZjZGE2MmM4Zjk3Zjg4YWQzYmMxYy4uNTA1MjBjZDFmYmEwYjRkZjky
NGQwZDY2YTJjMmNiMGY3OTE5YmU1MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL1JhbmdlSW5w
dXRUeXBlLmNwcAorKysgYi9XZWJDb3JlL2h0bWwvUmFuZ2VJbnB1dFR5cGUuY3BwCkBAIC01NSw2
ICs1NSwxMSBAQCBQYXNzT3duUHRyPElucHV0VHlwZT4gUmFuZ2VJbnB1dFR5cGU6OmNyZWF0ZShI
VE1MSW5wdXRFbGVtZW50KiBlbGVtZW50KQogICAgIHJldHVybiBhZG9wdFB0cihuZXcgUmFuZ2VJ
bnB1dFR5cGUoZWxlbWVudCkpOwogfQogCitib29sIFJhbmdlSW5wdXRUeXBlOjppc1JhbmdlQ29u
dHJvbCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHRydWU7Cit9CisKIGNvbnN0IEF0b21pY1N0cmlu
ZyYgUmFuZ2VJbnB1dFR5cGU6OmZvcm1Db250cm9sVHlwZSgpIGNvbnN0CiB7CiAgICAgcmV0dXJu
IElucHV0VHlwZU5hbWVzOjpyYW5nZSgpOwpAQCAtMTQzLDYgKzE0OCw5IEBAIGJvb2wgUmFuZ2VJ
bnB1dFR5cGU6OmhhbmRsZUtleWRvd25FdmVudChLZXlib2FyZEV2ZW50KiBldmVudCkKICAgICAg
ICAgZG91YmxlIHN0ZXAgPSAobWF4IC0gbWluKSAvIDEwMDsKICAgICAgICAgZG91YmxlIGN1cnJl
bnQgPSBwYXJzZVRvRG91YmxlKGVsZW1lbnQoKS0+dmFsdWUoKSwgbnVtZXJpY19saW1pdHM8ZG91
YmxlPjo6cXVpZXRfTmFOKCkpOwogICAgICAgICBBU1NFUlQoaXNmaW5pdGUoY3VycmVudCkpOwor
ICAgICAgICAvLyBTdGVwcGluZy11cCBhbmQgLWRvd24gZm9yIHN0ZXA9ImFueSIgYXJlIHNwZWNp
YWwgY2FzZXMgZm9yIHR5cGU9InJhbmdlIiBmcm9tIHJlbmRlcmVyIGZvciBjb252ZW5pZW50Lgor
ICAgICAgICAvLyBObyBzdGVwcGluZyBub3JtYWxseSBmb3Igc3RlcD0iYW55Ii4gVGhleSBjYW5u
b3QgYmUgaGFuZGxlZCBieSBzdGVwVXAoKS9zdGVwRG93bigpL3N0ZXBVcEZyb21SZW5kZXJlcigp
LgorICAgICAgICAvLyBTbyBjYWxjdWxhdGluZyB2YWx1ZXMgc3RlcHBlZC11cCBvciAtZG93biBo
ZXJlLgogICAgICAgICBkb3VibGUgbmV3VmFsdWU7CiAgICAgICAgIGlmIChrZXkgPT0gIlVwIiB8
fCBrZXkgPT0gIlJpZ2h0IikgewogICAgICAgICAgICAgbmV3VmFsdWUgPSBjdXJyZW50ICsgc3Rl
cDsKQEAgLTE1OSwxMCArMTY3LDggQEAgYm9vbCBSYW5nZUlucHV0VHlwZTo6aGFuZGxlS2V5ZG93
bkV2ZW50KEtleWJvYXJkRXZlbnQqIGV2ZW50KQogICAgICAgICB9CiAgICAgfSBlbHNlIHsKICAg
ICAgICAgaW50IHN0ZXBNYWduaWZpY2F0aW9uID0gKGtleSA9PSAiVXAiIHx8IGtleSA9PSAiUmln
aHQiKSA/IDEgOiAtMTsKLSAgICAgICAgU3RyaW5nIGxhc3RTdHJpbmdWYWx1ZSA9IGVsZW1lbnQo
KS0+dmFsdWUoKTsKLSAgICAgICAgZWxlbWVudCgpLT5zdGVwVXAoc3RlcE1hZ25pZmljYXRpb24s
IGVjKTsKLSAgICAgICAgaWYgKGxhc3RTdHJpbmdWYWx1ZSAhPSBlbGVtZW50KCktPnZhbHVlKCkp
Ci0gICAgICAgICAgICBlbGVtZW50KCktPmRpc3BhdGNoRm9ybUNvbnRyb2xDaGFuZ2VFdmVudCgp
OworICAgICAgICAvLyBSZWFzb25hYmxlIHN0ZXBwaW5nLXVwLy1kb3duIGJ5IHN0ZXBVcEZyb21S
ZW5kZXJlcigpIHVubGVzcyBzdGVwPSJhbnkiCisgICAgICAgIGVsZW1lbnQoKS0+c3RlcFVwRnJv
bVJlbmRlcmVyKHN0ZXBNYWduaWZpY2F0aW9uKTsKICAgICB9CiAgICAgZXZlbnQtPnNldERlZmF1
bHRIYW5kbGVkKCk7CiAgICAgcmV0dXJuIHRydWU7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwv
UmFuZ2VJbnB1dFR5cGUuaCBiL1dlYkNvcmUvaHRtbC9SYW5nZUlucHV0VHlwZS5oCmluZGV4IGMy
YmJiMGZjMWQxMzJiMGY3OWI1ZDcxNGNkYjUxNWRkOWNlMzE1YTEuLjE0MjgwZTg2ZWFiZjM5YWVh
OTk0NjFmZTNiMTRlYTE5MmJhNTBmZDUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9SYW5nZUlu
cHV0VHlwZS5oCisrKyBiL1dlYkNvcmUvaHRtbC9SYW5nZUlucHV0VHlwZS5oCkBAIC00MSw2ICs0
MSw3IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICBSYW5nZUlucHV0VHlwZShIVE1MSW5wdXRF
bGVtZW50KiBlbGVtZW50KSA6IElucHV0VHlwZShlbGVtZW50KSB7IH0KKyAgICB2aXJ0dWFsIGJv
b2wgaXNSYW5nZUNvbnRyb2woKSBjb25zdDsKICAgICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmlu
ZyYgZm9ybUNvbnRyb2xUeXBlKCkgY29uc3Q7CiAgICAgdmlydHVhbCBkb3VibGUgdmFsdWVBc051
bWJlcigpIGNvbnN0OwogICAgIHZpcnR1YWwgdm9pZCBzZXRWYWx1ZUFzTnVtYmVyKGRvdWJsZSwg
RXhjZXB0aW9uQ29kZSYpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL1RpbWVJbnB1
dFR5cGUuY3BwIGIvV2ViQ29yZS9odG1sL1RpbWVJbnB1dFR5cGUuY3BwCmluZGV4IDI3ZGNlOTA1
N2QzY2I3ZGM5MmExZGUwMDBkNzNjNzI3ZDZlMzhjM2EuLmY0MmYzNGNmM2ZkYTRjNmMxNzU1M2Fi
NDhiMzI0ZjFhZGVlNzZjMDAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9UaW1lSW5wdXRUeXBl
LmNwcAorKysgYi9XZWJDb3JlL2h0bWwvVGltZUlucHV0VHlwZS5jcHAKQEAgLTM0LDYgKzM0LDgg
QEAKICNpbmNsdWRlICJEYXRlQ29tcG9uZW50cy5oIgogI2luY2x1ZGUgIkhUTUxJbnB1dEVsZW1l
bnQuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKKyNpbmNsdWRlIDx3dGYvQ3VycmVudFRpbWUu
aD4KKyNpbmNsdWRlIDx3dGYvRGF0ZU1hdGguaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC01Myw2ICs1NSwyMSBAQCBjb25zdCBBdG9taWNT
dHJpbmcmIFRpbWVJbnB1dFR5cGU6OmZvcm1Db250cm9sVHlwZSgpIGNvbnN0CiAgICAgcmV0dXJu
IElucHV0VHlwZU5hbWVzOjp0aW1lKCk7CiB9CiAKK2RvdWJsZSBUaW1lSW5wdXRUeXBlOjpkZWZh
dWx0VmFsdWVGb3JTdGVwVXAoKSBjb25zdAoreworICAgIGRvdWJsZSBjdXJyZW50ID0gY3VycmVu
dFRpbWVNUygpOworICAgIGRvdWJsZSB1dGNPZmZzZXQgPSBjYWxjdWxhdGVVVENPZmZzZXQoKTsK
KyAgICBkb3VibGUgZHN0T2Zmc2V0ID0gY2FsY3VsYXRlRFNUT2Zmc2V0KGN1cnJlbnQsIHV0Y09m
ZnNldCk7CisgICAgaW50IG9mZnNldCA9IHN0YXRpY19jYXN0PGludD4oKHV0Y09mZnNldCArIGRz
dE9mZnNldCkgLyBtc1Blck1pbnV0ZSk7CisgICAgY3VycmVudCArPSBvZmZzZXQgKiBtc1Blck1p
bnV0ZTsKKworICAgIERhdGVDb21wb25lbnRzIGRhdGU7CisgICAgZGF0ZS5zZXRNaWxsaXNlY29u
ZHNTaW5jZU1pZG5pZ2h0KGN1cnJlbnQpOworICAgIGRvdWJsZSBtaWxsaXNlY29uZHMgPSBkYXRl
Lm1pbGxpc2Vjb25kc1NpbmNlRXBvY2goKTsKKyAgICBBU1NFUlQoaXNmaW5pdGUobWlsbGlzZWNv
bmRzKSk7CisgICAgcmV0dXJuIG1pbGxpc2Vjb25kczsKK30KKwogZG91YmxlIFRpbWVJbnB1dFR5
cGU6Om1pbmltdW0oKSBjb25zdAogewogICAgIHJldHVybiBwYXJzZVRvRG91YmxlKGVsZW1lbnQo
KS0+ZmFzdEdldEF0dHJpYnV0ZShtaW5BdHRyKSwgRGF0ZUNvbXBvbmVudHM6Om1pbmltdW1UaW1l
KCkpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL1RpbWVJbnB1dFR5cGUuaCBiL1dlYkNvcmUv
aHRtbC9UaW1lSW5wdXRUeXBlLmgKaW5kZXggNjA3MGZhMDczODlhOWFlNzI4ZTlmYTYyMGFhM2Vl
OWFmMjY3MDcyNy4uYjUwZDk4NzE0N2EwOWRlMjIxNTJhNDA4NGRkOTE5NDFjYzZlMmY0YSAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9odG1sL1RpbWVJbnB1dFR5cGUuaAorKysgYi9XZWJDb3JlL2h0bWwv
VGltZUlucHV0VHlwZS5oCkBAIC00Miw2ICs0Miw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAg
VGltZUlucHV0VHlwZShIVE1MSW5wdXRFbGVtZW50KiBlbGVtZW50KSA6IEJhc2VEYXRlQW5kVGlt
ZUlucHV0VHlwZShlbGVtZW50KSB7IH0KICAgICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmluZyYg
Zm9ybUNvbnRyb2xUeXBlKCkgY29uc3Q7CisgICAgdmlydHVhbCBkb3VibGUgZGVmYXVsdFZhbHVl
Rm9yU3RlcFVwKCkgY29uc3Q7CiAgICAgdmlydHVhbCBkb3VibGUgbWluaW11bSgpIGNvbnN0Owog
ICAgIHZpcnR1YWwgZG91YmxlIG1heGltdW0oKSBjb25zdDsKICAgICB2aXJ0dWFsIGRvdWJsZSBk
ZWZhdWx0U3RlcCgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9tYW51YWwtdGVzdHMvaW5w
dXQtdHlwZS1kYXRldGltZS1kZWZhdWx0LXZhbHVlLmh0bWwgYi9XZWJDb3JlL21hbnVhbC10ZXN0
cy9pbnB1dC10eXBlLWRhdGV0aW1lLWRlZmF1bHQtdmFsdWUuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xYzdh
ODE3NTBlYjQ1ZGRiY2JhM2I0OTA1MjQ5Zjg3M2RlZTRhNWRjCi0tLSAvZGV2L251bGwKKysrIGIv
V2ViQ29yZS9tYW51YWwtdGVzdHMvaW5wdXQtdHlwZS1kYXRldGltZS1kZWZhdWx0LXZhbHVlLmh0
bWwKQEAgLTAsMCArMSwzNyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBI
VE1MIDQuMCBUcmFuc2l0aW9uYWwvL0VOIj4KKzxodG1sPgorPGhlYWQ+PHRpdGxlPkRlZmF1bHQg
dmFsdWVzIGZvciBkYXRlL3RpbWUgaW5wdXQgKHR5cGU9IGRhdGUsIGRhdGV0aW1lLCBkYXRldGlt
ZS1sb2NhbCwgbW9udGgsIHRpbWUsIHdlZWspPC90aXRsZT48L2hlYWQ+CisKKzxwPkVudGVyIFVw
IG9yIERvd24sIG9yIGNsaWNrIHRoZSBzcGluIGJ1dHRvbnMgZm9yIGVhY2ggaW5wdXQgZmllbGQu
PC9wPgorCisKKzwhLS0KKyoqKioKKyBXZSBzaG91bGQgYWRkIHRlc3QgY2FzZXMgd2l0aCBlbXB0
eS9pbnZhbGlkIHZhbHVlcyBhbmQgaW52YWxpZC9hbnkgc3RlcC4KKyoqKgorLS0+CisKKzxmb3Jt
PgorICA8dWw+CisgICAgPGxpPmRhdGU6IDxpbnB1dCB0eXBlPSJkYXRlIiBzaXplPSIzMiIgdmFs
dWU9IiIgLz4KKyAgICA8bGk+ZGF0ZXRpbWU6IDxpbnB1dCB0eXBlPSJkYXRldGltZSIgIHNpemU9
IjMyIiB2YWx1ZT0iIiAvPgorICAgIDxsaT5kYXRldGltZS1sb2NhbDogPGlucHV0IHR5cGU9ImRh
dGV0aW1lLWxvY2FsIiBzaXplPSIzMiIgdmFsdWU9IiIgLz4KKyAgICA8bGk+bW9udGg6IDxpbnB1
dCB0eXBlPSJtb250aCIgc2l6ZT0iMzIiIHZhbHVlPSIiIC8+CisgICAgPGxpPnRpbWU6IDxpbnB1
dCB0eXBlPSJ0aW1lIiBzaXplPSIzMiIgdmFsdWU9IiIgLz4KKyAgICA8bGk+d2VlayA8aW5wdXQg
dHlwZT0id2VlayIgc2l6ZT0iMzIiIHZhbHVlPSIiIC8+CisgIDwvdWw+Cis8L2Zvcm0+CisKKzxw
PlRoZSBpbnB1dCBmaWVsZHMgc2hvdWxkIHNob3cgdGhlIGN1cnJlbnQgZGF0ZS90aW1lICh3aXRo
ICsgb3IgLSBhIHVuaXQgZGF0ZS90aW1lIGRlc2NyaWJlZCBiZWxvdykuPC9wPgorCis8cD5Vbml0
IGRhdGVzL3RpbWVzPC9wPgorPHVsPgorICA8bGk+ZGF0ZTogMSBkYXkKKyAgPGxpPmRhdGV0aW1l
OiAxIG1pbnV0ZQorICA8bGk+ZGF0ZXRpbWUtbG9jYWw6IDEgbWludXRlCisgIDxsaT5tb250aDog
MSBtb250aAorICA8bGk+dGltZTogMSBtaW51dGUKKyAgPGxpPndlZWs6IDEgd2VlaworPC91bD4K
KworPC9ib2R5PjwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>75004</attachid>
            <date>2010-11-29 02:17:32 -0800</date>
            <delta_ts>2010-11-29 18:53:57 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-45491-20101129191737.patch</filename>
            <type>text/plain</type>
            <size>61313</size>
            <attacher name="Dai Mikurube">dmikurube</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL0phdmFTY3JpcHRDb3JlL0No
YW5nZUxvZwppbmRleCA3NjQ0Y2Q3NjI5NGUxZmYzYTIwZWRmYzBjM2NlNDBkZjc4YmRjNmYyLi4z
MjA2YzRlYzViMDVkOTFiNTVjNzBjYjMzY2JjNTdjZWZmOGViOGUyIDEwMDY0NAotLS0gYS9KYXZh
U2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjYgQEAKKzIwMTAtMTEtMjQgIERhaSBNaWt1cnViZSAgPGRtaWt1cnViZUBnb29nbGUu
Y29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIHdo
ZW4gZW1wdHksIGNsaWNraW5nICJkb3duIiBvbiBvdXRlci1zcGluLWJ1dHRvbiByZXR1cm5zICJt
YXggdmFsdWUiCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD00NTQ5MQorCisgICAgICAgIEl0IGlzIHJlcXVpcmVkIHRvIGNhbGN1bGF0ZSBVVEMvRFNUIG9m
ZnNldHMgdG8gcmV0cmlldmUgdGhlIGN1cnJlbnQgbG9jYWwgbWlsbGlzZWNvbmRzIGZvcgorICAg
ICAgICBkYXRlL3RpbWUgdHlwZSBpbnB1dHMuIFdURjo6Y3VycmVudFRpbWVNUygpIHJldHVybnMg
YSBVVEMgdGltZSwgYW5kIFdURjo6Z2V0TG9jYWxUaW1lKCkKKyAgICAgICAgcmV0dXJucyBhIHN0
cnVjdCB0bSwgbm90IG1pbGxpc2Vjb25kcy4KKworICAgICAgICBDYWxjdWxhdGluZyBtaWxsaXNl
Y29uZHMgZnJvbSBhIHN0cnVjdCB0bSBpcyBub3Qgc2ltcGxlIHNpbmNlIHRpbWVnbSgpIGNhbm5v
dCBiZSB1c2VkIGluIGFsbAorICAgICAgICBlbnZpcm9ubWVudHMuIFRoaXMgY2FsY3VsYXRpb24g
aXMgYWxyZWFkeSBkb25lIGluIGNhbGN1bGF0ZVVUQ09mZnNldCgpLCBhbmQgY29tcGxpY2F0ZWQu
CisgICAgICAgIER1cGxpY2F0aW5nIHRoaXMgY29tcGxpY2F0ZWQgY2FsY3VsYXRpb24gaXMgdW5y
ZWFzb25hYmxlIGJlY2F1c2Ugb2YgbWFpbnRhaW5hYmlsaXR5LgorICAgICAgICBUbyBhY2hpZXZl
IHRoaXMgd2l0aG91dCBkdXBsaWNhdGlvbiwgd2UgbXVzdCBjYWxsIGNhbGN1bGF0ZXtVVEN8RFNU
fU9mZnNldCBpbiBzb21lIHdheS4KKworICAgICAgICAqIEphdmFTY3JpcHRDb3JlLmV4cDoKKyAg
ICAgICAgKiBKYXZhU2NyaXB0Q29yZS52Y3Byb2ovSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENv
cmUuZGVmOgorICAgICAgICAqIHd0Zi9EYXRlTWF0aC5jcHA6IENoYW5nZWQgY2FsY3VsYXRlVVRD
T2Zmc2V0KCkgYW5kIGNhbGN1bGF0ZURTVE9mZnNldCgpIHRvIGV4dGVybmFsIGZ1bmN0aW9ucy4K
KyAgICAgICAgKFdURjo6Y2FsY3VsYXRlVVRDT2Zmc2V0KToKKyAgICAgICAgKFdURjo6Y2FsY3Vs
YXRlRFNUT2Zmc2V0KToKKyAgICAgICAgKiB3dGYvRGF0ZU1hdGguaDoKKwogMjAxMC0xMS0xOCAg
R2F2aW4gQmFycmFjbG91Z2ggIDxiYXJyYWNsb3VnaEBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2
aWV3ZWQgYnkgT2xpdmVyIEh1bnQuCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9KYXZhU2Ny
aXB0Q29yZS5leHAgYi9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5leHAKaW5kZXggMzcx
NWE0MzgzN2RjOTEwZThkZTcwZTQzM2VkMjZmZWIxNTQxODBkMy4uMzliZjUyNzAyYjBiMDBiZGQz
OWI1YTQyY2I0ZDg4MDU1ZTZhYjJiOSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvSmF2YVNj
cmlwdENvcmUuZXhwCisrKyBiL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmV4cApAQCAt
NDA0LDYgKzQwNCw4IEBAIF9fWk4zV1RGMTdjaGFyYWN0ZXJzVG9GbG9hdEVQS3RtUGIKIF9fWk4z
V1RGMTdlcXVhbElnbm9yaW5nQ2FzZUVQS3RQS2NqCiBfX1pOM1dURjE3ZXF1YWxJZ25vcmluZ0Nh
c2VFUE5TXzEwU3RyaW5nSW1wbEVQS2MKIF9fWk4zV1RGMTdlcXVhbElnbm9yaW5nQ2FzZUVQTlNf
MTBTdHJpbmdJbXBsRVMxXworX19aTjNXVEYxOGNhbGN1bGF0ZURTVE9mZnNldEVkZAorX19aTjNX
VEYxOGNhbGN1bGF0ZVVUQ09mZnNldEV2CiBfX1pOM1dURjE4Y2hhcmFjdGVyc1RvRG91YmxlRVBL
dG1QYgogX19aTjNXVEYxOGRhdGVUb0RheXNGcm9tMTk3MEVpaWkKIF9fWk4zV1RGMThtb250aEZy
b21EYXlJblllYXJFaWIKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3Jl
LnZjcHJvai9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5kZWYgYi9KYXZhU2NyaXB0Q29y
ZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ovSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZGVm
CmluZGV4IDQ0OWMwYmI4NDE1NTRjYzI3ZWFjMmY1OWEyNDI1YWEzMGEyZGQwOGIuLjQyYWM3ZjEx
NjE4ZDE5MGI0ZjNhM2ZkOGVjYjE3NzcwZWNmNzA0ODggMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRD
b3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5k
ZWYKKysrIGIvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL0phdmFTY3JpcHRD
b3JlL0phdmFTY3JpcHRDb3JlLmRlZgpAQCAtNTksNiArNTksOCBAQCBFWFBPUlRTCiAgICAgP2Jy
b2FkY2FzdEBUaHJlYWRDb25kaXRpb25AV1RGQEBRQUVYWFoKICAgICA/YnVmZmVyTGVuZ3RoRm9y
U3RyaW5nRGVjaW1hbEBEZWNpbWFsTnVtYmVyQFdURkBAUUJFSVhaCiAgICAgP2NhbGN1bGF0ZWRG
dW5jdGlvbk5hbWVARGVidWdnZXJDYWxsRnJhbWVASlNDQEBRQkU/QVZVU3RyaW5nQDJAWFoKKyAg
ICA/Y2FsY3VsYXRlVVRDT2Zmc2V0QFdURkBAWUFIWFoKKyAgICA/Y2FsY3VsYXRlRFNUT2Zmc2V0
QFdURkBAWUFOTk5AWgogICAgID9jYWxsQEpTQ0BAWUE/QVZKU1ZhbHVlQDFAUEFWRXhlY1N0YXRl
QDFAVjIxQFc0Q2FsbFR5cGVAMUBBQlRDYWxsRGF0YUAxQDFBQlZBcmdMaXN0QDFAQFoKICAgICA/
Y2FsbE9uTWFpblRocmVhZEBXVEZAQFlBWFA2QVhQQVhAWjBAWgogICAgID9jYWxsT25NYWluVGhy
ZWFkQW5kV2FpdEBXVEZAQFlBWFA2QVhQQVhAWjBAWgpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENv
cmUvd3RmL0RhdGVNYXRoLmNwcCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9EYXRlTWF0aC5jcHAKaW5k
ZXggZjM2MjdlNmI5ODNlODJiOWFhM2E0MGFjNDlkYjZkNTBiZTVmMDgxNC4uNjc1ZjA5M2YwMWJi
NDVmODhiNzNjNDYwNjlkNTJjMGI4ZDA5ZWFiNCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUv
d3RmL0RhdGVNYXRoLmNwcAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvRGF0ZU1hdGguY3BwCkBA
IC0zNzksNyArMzc5LDcgQEAgaW50IGVxdWl2YWxlbnRZZWFyRm9yRFNUKGludCB5ZWFyKQogICAg
IHJldHVybiB5ZWFyOwogfQogCi1zdGF0aWMgaW50MzJfdCBjYWxjdWxhdGVVVENPZmZzZXQoKQor
aW50MzJfdCBjYWxjdWxhdGVVVENPZmZzZXQoKQogewogI2lmIFBMQVRGT1JNKEJSRVdNUCkKICAg
ICB0aW1lX3QgbG9jYWxUaW1lID0gc3RhdGljX2Nhc3Q8dGltZV90PihjdXJyZW50VGltZSgpKTsK
QEAgLTQ0OSw3ICs0NDksNyBAQCBzdGF0aWMgZG91YmxlIGNhbGN1bGF0ZURTVE9mZnNldFNpbXBs
ZShkb3VibGUgbG9jYWxUaW1lU2Vjb25kcywgZG91YmxlIHV0Y09mZnNldAogfQogCiAvLyBHZXQg
dGhlIERTVCBvZmZzZXQsIGdpdmVuIGEgdGltZSBpbiBVVEMKLXN0YXRpYyBkb3VibGUgY2FsY3Vs
YXRlRFNUT2Zmc2V0KGRvdWJsZSBtcywgZG91YmxlIHV0Y09mZnNldCkKK2RvdWJsZSBjYWxjdWxh
dGVEU1RPZmZzZXQoZG91YmxlIG1zLCBkb3VibGUgdXRjT2Zmc2V0KQogewogICAgIC8vIE9uIE1h
YyBPUyBYLCB0aGUgY2FsbCB0byBsb2NhbHRpbWUgKHNlZSBjYWxjdWxhdGVEU1RPZmZzZXRTaW1w
bGUpIHdpbGwgcmV0dXJuIGhpc3RvcmljYWxseSBhY2N1cmF0ZQogICAgIC8vIERTVCBpbmZvcm1h
dGlvbiAoZS5nLiBOZXcgWmVhbGFuZCBkaWQgbm90IGhhdmUgRFNUIGZyb20gMTk0NiB0byAxOTc0
KSBob3dldmVyIHRoZSBKYXZhU2NyaXB0CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYv
RGF0ZU1hdGguaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9EYXRlTWF0aC5oCmluZGV4IGJlNTE5NDdm
MmExYmQ5MWJhOTdhZjdlMmI5YjM2YTE1MTViOTUxM2YuLmNiODQ3MDgxMThmYTZhMTdiOWFhODg2
NjY1N2Q0ZmEwOTIzMTJiYjggMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9EYXRlTWF0
aC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9EYXRlTWF0aC5oCkBAIC04NCw2ICs4NCwxMCBA
QCBpbnQgZGF5SW5ZZWFyKGRvdWJsZSBtcywgaW50IHllYXIpOwogaW50IG1vbnRoRnJvbURheUlu
WWVhcihpbnQgZGF5SW5ZZWFyLCBib29sIGxlYXBZZWFyKTsKIGludCBkYXlJbk1vbnRoRnJvbURh
eUluWWVhcihpbnQgZGF5SW5ZZWFyLCBib29sIGxlYXBZZWFyKTsKIAorLy8gUmV0dXJucyBvZmZz
ZXQgbWlsbGlzZWNvbmRzIGZvciBVVEMgYW5kIERTVC4KK2ludDMyX3QgY2FsY3VsYXRlVVRDT2Zm
c2V0KCk7Citkb3VibGUgY2FsY3VsYXRlRFNUT2Zmc2V0KGRvdWJsZSBtcywgZG91YmxlIHV0Y09m
ZnNldCk7CisKIH0gLy8gbmFtZXNwYWNlIFdURgogCiB1c2luZyBXVEY6OmRhdGVUb0RheXNGcm9t
MTk3MDsKQEAgLTkyLDEwICs5NiwxMyBAQCB1c2luZyBXVEY6OmRheUluWWVhcjsKIHVzaW5nIFdU
Rjo6bWludXRlc1BlckhvdXI7CiB1c2luZyBXVEY6Om1vbnRoRnJvbURheUluWWVhcjsKIHVzaW5n
IFdURjo6bXNQZXJEYXk7Cit1c2luZyBXVEY6Om1zUGVyTWludXRlOwogdXNpbmcgV1RGOjptc1Bl
clNlY29uZDsKIHVzaW5nIFdURjo6bXNUb1llYXI7CiB1c2luZyBXVEY6OnNlY29uZHNQZXJNaW51
dGU7CiB1c2luZyBXVEY6OnBhcnNlRGF0ZUZyb21OdWxsVGVybWluYXRlZENoYXJhY3RlcnM7Cit1
c2luZyBXVEY6OmNhbGN1bGF0ZVVUQ09mZnNldDsKK3VzaW5nIFdURjo6Y2FsY3VsYXRlRFNUT2Zm
c2V0OwogCiAjaWYgVVNFKEpTQykKIG5hbWVzcGFjZSBKU0MgewpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGFlMzA0N2MyZDA1
Njc3NmQ1ODNjMDJlMTgwMGVkODVjZGI0NDU4Y2MuLmU2MGRmNWExYzhjMDQ0YjJlZmRlMWFiYzQw
NDMwMDlkMjdhMDcxOGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAxMC0xMS0yNCAgRGFpIE1p
a3VydWJlICA8ZG1pa3VydWJlQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgd2hlbiBlbXB0eSwgY2xpY2tpbmcgImRvd24iIG9uIG91
dGVyLXNwaW4tYnV0dG9uIHJldHVybnMgIm1heCB2YWx1ZSIKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ1NDkxCisKKyAgICAgICAgKiBmYXN0L2Zvcm1z
L2lucHV0LXN0ZXB1cC1zdGVwZG93bi1mcm9tLXJlbmRlcmVyLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZmFzdC9mb3Jtcy9pbnB1dC1zdGVwdXAtc3RlcGRvd24tZnJvbS1yZW5kZXJl
ci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9pbnB1dC1z
dGVwdXAtc3RlcGRvd24tZnJvbS1yZW5kZXJlci5qczogQWRkZWQuCisgICAgICAgICgpOgorICAg
ICAgICAoc2V0SW5wdXRBdHRyaWJ1dGVzKToKKyAgICAgICAgKHN0ZXBVcCk6CisgICAgICAgIChz
dGVwRG93bik6CisgICAgICAgIChzdGVwVXBFeHBsaWNpdEJvdW5kcyk6CisgICAgICAgIChzdGVw
RG93bkV4cGxpY2l0Qm91bmRzKToKKwogMjAxMC0xMS0xOCAgRGF2aWQgTGV2aW4gIDxsZXZpbkBj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgW2Nocm9taXVtXSBNaXNjIHRlc3QgdXBkYXRlcyAobW9z
dCBSdWJ5KS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW5wdXQtc3RlcHVw
LXN0ZXBkb3duLWZyb20tcmVuZGVyZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9pbnB1dC1zdGVwdXAtc3RlcGRvd24tZnJvbS1yZW5kZXJlci1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYmU1MTk0ZmRiODY5YTVjNjg3YmM4N2RjNmYyNmNhMWU2MjA1NWZhZAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW5wdXQtc3RlcHVwLXN0ZXBkb3du
LWZyb20tcmVuZGVyZXItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjU3IEBACitDaGVjayBzdGVw
cGluZy11cCBhbmQgLWRvd24gZm9yICBmcm9tIHJlbmRlcmVyLiBObyBjYXNlcyBvZiBlbXB0eSBp
bml0aWFsIHZhbHVlcyBmb3IgdHlwZT1kYXRlLCBkYXRldGltZSwgZGF0ZXRpbWUtbG9jYWwsIG1v
bnRoLCB0aW1lLCB3ZWVrLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworRGF0ZSB0
eXBlCitGdW5jdGlvbiBhcmd1bWVudHMgYXJlICh2YWx1ZSwgc3RlcCwge21pbiBvciBtYXh9LCBb
c3RlcENvdW50XSkuCitOb3JtYWwgY2FzZXMKK1BBU1Mgc3RlcFVwKCIyMDEwLTAyLTEwIiwgbnVs
bCwgbnVsbCkgaXMgIjIwMTAtMDItMTEiCitQQVNTIHN0ZXBEb3duKCIyMDEwLTAyLTEwIiwgbnVs
bCwgbnVsbCkgaXMgIjIwMTAtMDItMDkiCitQQVNTIHN0ZXBVcCgiMjAxMC0wMi0xMCIsIG51bGws
IG51bGwsIDEwKSBpcyAiMjAxMC0wMi0yMCIKK1BBU1Mgc3RlcERvd24oIjIwMTAtMDItMTAiLCBu
dWxsLCBudWxsLCAxMSkgaXMgIjIwMTAtMDEtMzAiCitQQVNTIHN0ZXBVcCgiMTk3MC0wMS0wMSIs
ICI0IiwgbnVsbCwgMikgaXMgIjE5NzAtMDEtMDkiCitQQVNTIHN0ZXBEb3duKCIxOTcwLTAxLTAx
IiwgIjQiLCBudWxsLCAzKSBpcyAiMTk2OS0xMi0yMCIKK1N0ZXA9YW55CitQQVNTIHN0ZXBVcCgi
MjAxMC0wMi0xMCIsICJhbnkiLCBudWxsKSBpcyAiMjAxMC0wMi0xMCIKK1BBU1Mgc3RlcERvd24o
IjIwMTAtMDItMTAiLCAiYW55IiwgbnVsbCkgaXMgIjIwMTAtMDItMTAiCitPdmVyZmxvdy91bmRl
cmZsb3cKK1BBU1Mgc3RlcFVwKCIyMDEwLTAyLTEwIiwgIjMuNDAyODIzNDZlKzM4IiwgbnVsbCkg
aXMgIjI3NTc2MC0wOS0xMyIKK1BBU1Mgc3RlcERvd24oIjIwMTAtMDItMTAiLCAiMy40MDI4MjM0
NmUrMzgiLCBudWxsKSBpcyAiMTk3MC0wMS0wMSIKK1BBU1Mgc3RlcFVwKCIyMDEwLTAyLTEwIiwg
IjEiLCAiMjAxMC0wMi0xMCIpIGlzICIyMDEwLTAyLTEwIgorUEFTUyBzdGVwRG93bigiMjAxMC0w
Mi0xMCIsICIxIiwgIjIwMTAtMDItMTAiKSBpcyAiMjAxMC0wMi0xMCIKK3N0ZXBEb3duKCkvc3Rl
cFVwKCkgZm9yIHN0ZXBNaXNtYXRjaCB2YWx1ZXMKK1BBU1Mgc3RlcERvd24oIjIwMTAtMDItMTAi
LCAiMyIsICIyMDEwLTAyLTA2IikgaXMgIjIwMTAtMDItMDkiCitQQVNTIHN0ZXBVcCgiMTk3MC0w
MS0wMiIsICIyIiwgIiIpIGlzICIxOTcwLTAxLTAzIgorCitEYXRldGltZSB0eXBlCitGdW5jdGlv
biBhcmd1bWVudHMgYXJlICh2YWx1ZSwgc3RlcCwge21pbiBvciBtYXh9LCBbc3RlcENvdW50XSku
CitOb3JtYWwgY2FzZXMKK1BBU1Mgc3RlcFVwKCIyMDEwLTAyLTEwVDIwOjEzWiIsIG51bGwsIG51
bGwpIGlzICIyMDEwLTAyLTEwVDIwOjE0WiIKK1BBU1Mgc3RlcERvd24oIjIwMTAtMDItMTBUMjA6
MTNaIiwgbnVsbCwgbnVsbCkgaXMgIjIwMTAtMDItMTBUMjA6MTJaIgorUEFTUyBzdGVwVXAoIjIw
MTAtMDItMTBUMjA6MTNaIiwgbnVsbCwgbnVsbCwgMTApIGlzICIyMDEwLTAyLTEwVDIwOjIzWiIK
K1BBU1Mgc3RlcERvd24oIjIwMTAtMDItMTBUMjA6MTNaIiwgbnVsbCwgbnVsbCwgMTEpIGlzICIy
MDEwLTAyLTEwVDIwOjAyWiIKK1BBU1Mgc3RlcFVwKCIxOTcwLTAxLTAxVDIwOjEzWiIsICI0Iiwg
bnVsbCwgMikgaXMgIjE5NzAtMDEtMDFUMjA6MTM6MDhaIgorUEFTUyBzdGVwRG93bigiMTk3MC0w
MS0wMVQyMDoxM1oiLCAiNCIsIG51bGwsIDMpIGlzICIxOTcwLTAxLTAxVDIwOjEyOjQ4WiIKK1N0
ZXA9YW55CitQQVNTIHN0ZXBVcCgiMjAxMC0wMi0xMFQyMDoxM1oiLCAiYW55IiwgbnVsbCkgaXMg
IjIwMTAtMDItMTBUMjA6MTNaIgorUEFTUyBzdGVwRG93bigiMjAxMC0wMi0xMFQyMDoxM1oiLCAi
YW55IiwgbnVsbCkgaXMgIjIwMTAtMDItMTBUMjA6MTNaIgorT3ZlcmZsb3cvdW5kZXJmbG93CitQ
QVNTIHN0ZXBVcCgiMjAxMC0wMi0xMFQyMDoxM1oiLCAiMy40MDI4MjM0NmUrMzgiLCBudWxsKSBp
cyAiMjc1NzYwLTA5LTEzVDAwOjAwOjAwLjAwMFoiCitQQVNTIHN0ZXBEb3duKCIyMDEwLTAyLTEw
VDIwOjEzWiIsICIzLjQwMjgyMzQ2ZSszOCIsIG51bGwpIGlzICIxOTcwLTAxLTAxVDAwOjAwOjAw
LjAwMFoiCitQQVNTIHN0ZXBVcCgiMjAxMC0wMi0xMFQyMDoxM1oiLCAiMSIsICIyMDEwLTAyLTEw
VDIwOjEzWiIpIGlzICIyMDEwLTAyLTEwVDIwOjEzWiIKK1BBU1Mgc3RlcERvd24oIjIwMTAtMDIt
MTBUMjA6MTNaIiwgIjEiLCAiMjAxMC0wMi0xMFQyMDoxM1oiKSBpcyAiMjAxMC0wMi0xMFQyMDox
M1oiCitzdGVwRG93bigpL3N0ZXBVcCgpIGZvciBzdGVwTWlzbWF0Y2ggdmFsdWVzCitQQVNTIHN0
ZXBEb3duKCIyMDEwLTAyLTEwVDIwOjEzWiIsICIzIiwgIjIwMTAtMDItMTBUMjA6MTI6NTZaIikg
aXMgIjIwMTAtMDItMTBUMjA6MTI6NTlaIgorUEFTUyBzdGVwVXAoIjE5NzAtMDEtMDFUMDA6MTNa
IiwgIjciLCAiIikgaXMgIjE5NzAtMDEtMDFUMDA6MTM6MDRaIgorCitEYXRldGltZS1sb2NhbCB0
eXBlCitGdW5jdGlvbiBhcmd1bWVudHMgYXJlICh2YWx1ZSwgc3RlcCwge21pbiBvciBtYXh9LCBb
c3RlcENvdW50XSkuCitOb3JtYWwgY2FzZXMKK1BBU1Mgc3RlcFVwKCIyMDEwLTAyLTEwVDIwOjEz
IiwgbnVsbCwgbnVsbCkgaXMgIjIwMTAtMDItMTBUMjA6MTQiCitQQVNTIHN0ZXBEb3duKCIyMDEw
LTAyLTEwVDIwOjEzIiwgbnVsbCwgbnVsbCkgaXMgIjIwMTAtMDItMTBUMjA6MTIiCitQQVNTIHN0
ZXBVcCgiMjAxMC0wMi0xMFQyMDoxMyIsIG51bGwsIG51bGwsIDEwKSBpcyAiMjAxMC0wMi0xMFQy
MDoyMyIKK1BBU1Mgc3RlcERvd24oIjIwMTAtMDItMTBUMjA6MTMiLCBudWxsLCBudWxsLCAxMSkg
aXMgIjIwMTAtMDItMTBUMjA6MDIiCitQQVNTIHN0ZXBVcCgiMTk3MC0wMS0wMVQyMDoxMyIsICI0
IiwgbnVsbCwgMikgaXMgIjE5NzAtMDEtMDFUMjA6MTM6MDgiCitQQVNTIHN0ZXBEb3duKCIxOTcw
LTAxLTAxVDIwOjEzIiwgIjQiLCBudWxsLCAzKSBpcyAiMTk3MC0wMS0wMVQyMDoxMjo0OCIKK1N0
ZXA9YW55CitQQVNTIHN0ZXBVcCgiMjAxMC0wMi0xMFQyMDoxMyIsICJhbnkiLCBudWxsKSBpcyAi
MjAxMC0wMi0xMFQyMDoxMyIKK1BBU1Mgc3RlcERvd24oIjIwMTAtMDItMTBUMjA6MTMiLCAiYW55
IiwgbnVsbCkgaXMgIjIwMTAtMDItMTBUMjA6MTMiCitPdmVyZmxvdy91bmRlcmZsb3cKK1BBU1Mg
c3RlcFVwKCIyMDEwLTAyLTEwVDIwOjEzIiwgIjMuNDAyODIzNDZlKzM4IiwgbnVsbCkgaXMgIjI3
NTc2MC0wOS0xM1QwMDowMDowMC4wMDAiCitQQVNTIHN0ZXBEb3duKCIyMDEwLTAyLTEwVDIwOjEz
IiwgIjMuNDAyODIzNDZlKzM4IiwgbnVsbCkgaXMgIjE5NzAtMDEtMDFUMDA6MDA6MDAuMDAwIgor
UEFTUyBzdGVwVXAoIjIwMTAtMDItMTBUMjA6MTMiLCAiMSIsICIyMDEwLTAyLTEwVDIwOjEzIikg
aXMgIjIwMTAtMDItMTBUMjA6MTMiCitQQVNTIHN0ZXBEb3duKCIyMDEwLTAyLTEwVDIwOjEzIiwg
IjEiLCAiMjAxMC0wMi0xMFQyMDoxMyIpIGlzICIyMDEwLTAyLTEwVDIwOjEzIgorc3RlcERvd24o
KS9zdGVwVXAoKSBmb3Igc3RlcE1pc21hdGNoIHZhbHVlcworUEFTUyBzdGVwRG93bigiMjAxMC0w
Mi0xMFQyMDoxMyIsICIzIiwgIjIwMTAtMDItMTBUMjA6MTI6NTYiKSBpcyAiMjAxMC0wMi0xMFQy
MDoxMjo1OSIKK1BBU1Mgc3RlcFVwKCIxOTcwLTAxLTAxVDAwOjEzIiwgIjciLCAiIikgaXMgIjE5
NzAtMDEtMDFUMDA6MTM6MDQiCisKK01vbnRoIHR5cGUKK0Z1bmN0aW9uIGFyZ3VtZW50cyBhcmUg
KHZhbHVlLCBzdGVwLCB7bWluIG9yIG1heH0sIFtzdGVwQ291bnRdKS4KK05vcm1hbCBjYXNlcwor
UEFTUyBzdGVwVXAoIjIwMTAtMDIiLCBudWxsLCBudWxsKSBpcyAiMjAxMC0wMyIKK1BBU1Mgc3Rl
cERvd24oIjIwMTAtMDIiLCBudWxsLCBudWxsKSBpcyAiMjAxMC0wMSIKK1BBU1Mgc3RlcFVwKCIy
MDEwLTAyIiwgbnVsbCwgbnVsbCwgMTApIGlzICIyMDEwLTEyIgorUEFTUyBzdGVwRG93bigiMjAx
MC0wMiIsIG51bGwsIG51bGwsIDExKSBpcyAiMjAwOS0wMyIKK1BBU1Mgc3RlcFVwKCIxOTcwLTAx
IiwgIjQiLCBudWxsLCAyKSBpcyAiMTk3MC0wOSIKK1BBU1Mgc3RlcERvd24oIjE5NzAtMDEiLCAi
NCIsIG51bGwsIDMpIGlzICIxOTY5LTAxIgorU3RlcD1hbnkKK1BBU1Mgc3RlcFVwKCIyMDEwLTAy
IiwgImFueSIsIG51bGwpIGlzICIyMDEwLTAyIgorUEFTUyBzdGVwRG93bigiMjAxMC0wMiIsICJh
bnkiLCBudWxsKSBpcyAiMjAxMC0wMiIKK092ZXJmbG93L3VuZGVyZmxvdworUEFTUyBzdGVwVXAo
IjIwMTAtMDIiLCAiMy40MDI4MjM0NmUrMzgiLCBudWxsKSBpcyAiMjc1NzYwLTA5IgorUEFTUyBz
dGVwRG93bigiMjAxMC0wMiIsICIzLjQwMjgyMzQ2ZSszOCIsIG51bGwpIGlzICIxOTcwLTAxIgor
UEFTUyBzdGVwVXAoIjIwMTAtMDIiLCAiMSIsICIyMDEwLTAyIikgaXMgIjIwMTAtMDIiCitQQVNT
IHN0ZXBEb3duKCIyMDEwLTAyIiwgIjEiLCAiMjAxMC0wMiIpIGlzICIyMDEwLTAyIgorc3RlcERv
d24oKS9zdGVwVXAoKSBmb3Igc3RlcE1pc21hdGNoIHZhbHVlcworUEFTUyBzdGVwRG93bigiMjAx
MC0wMiIsICIzIiwgIjIwMDktMTAiKSBpcyAiMjAxMC0wMSIKK1BBU1Mgc3RlcFVwKCIxOTcwLTAy
IiwgIjQiLCAiIikgaXMgIjE5NzAtMDUiCisKK051bWJlciB0eXBlCitGdW5jdGlvbiBhcmd1bWVu
dHMgYXJlICh2YWx1ZSwgc3RlcCwge21pbiBvciBtYXh9LCBbc3RlcENvdW50XSkuCitJbnZhbGlk
IHZhbHVlCitQQVNTIHN0ZXBVcCgiIiwgbnVsbCwgbnVsbCkgaXMgIjEiCitQQVNTIHN0ZXBEb3du
KCIiLCBudWxsLCBudWxsKSBpcyAiLTEiCitQQVNTIHN0ZXBVcCgiIiwgImFueSIsIG51bGwpIGlz
ICIwIgorUEFTUyBzdGVwRG93bigiIiwgImFueSIsIG51bGwpIGlzICIwIgorUEFTUyBzdGVwVXAo
IiIsICJmb28iLCBudWxsKSBpcyAiMSIKK1BBU1Mgc3RlcERvd24oIiIsICJmb28iLCBudWxsKSBp
cyAiLTEiCitQQVNTIHN0ZXBVcCgiZm9vIiwgbnVsbCwgbnVsbCkgaXMgIjEiCitQQVNTIHN0ZXBE
b3duKCJmb28iLCBudWxsLCBudWxsKSBpcyAiLTEiCitQQVNTIHN0ZXBVcCgiZm9vIiwgImFueSIs
IG51bGwpIGlzICIwIgorUEFTUyBzdGVwRG93bigiZm9vIiwgImFueSIsIG51bGwpIGlzICIwIgor
UEFTUyBzdGVwVXAoImZvbyIsICJmb28iLCBudWxsKSBpcyAiMSIKK1BBU1Mgc3RlcERvd24oImZv
byIsICJmb28iLCBudWxsKSBpcyAiLTEiCitOb3JtYWwgY2FzZXMKK1BBU1Mgc3RlcFVwKCIwIiwg
bnVsbCwgbnVsbCkgaXMgIjEiCitQQVNTIHN0ZXBVcCgiMSIsIG51bGwsIG51bGwsIDIpIGlzICIz
IgorUEFTUyBzdGVwVXAoIjMiLCBudWxsLCBudWxsLCAtMSkgaXMgIjIiCitQQVNTIHN0ZXBEb3du
KCIyIiwgbnVsbCwgbnVsbCkgaXMgIjEiCitQQVNTIHN0ZXBEb3duKCIxIiwgbnVsbCwgbnVsbCwg
MikgaXMgIi0xIgorUEFTUyBzdGVwRG93bigiLTEiLCBudWxsLCBudWxsLCAtMSkgaXMgIjAiCitJ
bnZhbGlkIHN0ZXAgdmFsdWUKK1BBU1Mgc3RlcFVwKCIwIiwgImZvbyIsIG51bGwpIGlzICIxIgor
UEFTUyBzdGVwVXAoIjEiLCAiMCIsIG51bGwpIGlzICIyIgorUEFTUyBzdGVwVXAoIjIiLCAiLTEi
LCBudWxsKSBpcyAiMyIKK1N0ZXA9YW55CitQQVNTIHN0ZXBVcCgiMCIsICJhbnkiLCBudWxsKSBp
cyAiMCIKK1BBU1Mgc3RlcERvd24oIjAiLCAiYW55IiwgbnVsbCkgaXMgIjAiCitPdmVyZmxvdy91
bmRlcmZsb3cKK1BBU1Mgc3RlcERvd24oIjEiLCAiMSIsICIwIikgaXMgIjAiCitQQVNTIHN0ZXBE
b3duKCIwIiwgIjEiLCAiMCIpIGlzICIwIgorUEFTUyBzdGVwRG93bigiMSIsICIxIiwgIjAiLCAy
KSBpcyAiMCIKK1BBU1Mgc3RlcERvd24oIjEiLCAiMy40MDI4MjM0NmUrMzgiLCAiIiwgMikgaXMg
Ii0zLjQwMjgyMzQ2ZSszOCIKK1BBU1Mgc3RlcFVwKCItMSIsICIxIiwgIjAiKSBpcyAiMCIKK1BB
U1Mgc3RlcFVwKCIwIiwgIjEiLCAiMCIpIGlzICIwIgorUEFTUyBzdGVwVXAoIi0xIiwgIjEiLCAi
MCIsIDIpIGlzICIwIgorUEFTUyBzdGVwVXAoIjEiLCAiMy40MDI4MjM0NmUrMzgiLCAiIiwgMikg
aXMgIjMuNDAyODIzNDZlKzM4Igorc3RlcERvd24oKS9zdGVwVXAoKSBmb3Igc3RlcE1pc21hdGNo
IHZhbHVlcworUEFTUyBzdGVwVXAoIjEiLCAiMiIsICIiKSBpcyAiMiIKK1BBU1MgaW5wdXQubWlu
ID0gIjAiOyBzdGVwVXAoIjkiLCAiMTAiLCAiIikgaXMgIjEwIgorUEFTUyBzdGVwRG93bigiMTki
LCAiMTAiLCAiMCIpIGlzICIxMCIKK1BBU1Mgc3RlcFVwKCI4OSIsICIxMCIsICI5OSIpIGlzICI5
MCIKK0h1Z2UgdmFsdWUgYW5kIHNtYWxsIHN0ZXAKK1BBU1MgaW5wdXQubWluID0gIiI7IHN0ZXBV
cCgiMWUrMzgiLCAiMSIsICIiLCA5OTkpIGlzICIxZSszOCIKK1BBU1MgaW5wdXQubWF4ID0gIiI7
IHN0ZXBEb3duKCIxZSszOCIsICIxIiwgIiIsIDk5OSkgaXMgIjFlKzM4IgorRnJhY3Rpb25hbCBu
dW1iZXJzCitQQVNTIGlucHV0Lm1pbiA9ICIiOyBzdGVwVXAoIjAiLCAiMC4zMzMzMzMzMzMzMzMz
MzMzMyIsICIiLCAzKSBpcyAiMSIKK1BBU1Mgc3RlcFVwKCIxIiwgIjAuMSIsICIiLCAxMCkgaXMg
IjIiCitQQVNTIGlucHV0Lm1pbiA9ICIwIjsgc3RlcFVwKCIwIiwgIjAuMDAzOTIxNTY4NjI3NDUw
OTgwIiwgIjEiLCAyNTUpIGlzICIxIgorUm91bmRpbmcKK1BBU1Mgc3RlcFVwKCI1LjAwNSIsICIw
LjAwNSIsICIiLCAyKSBpcyAiNS4wMTUiCitQQVNTIHN0ZXBVcCgiNS4wMDUiLCAiMC4wMDUiLCAi
IiwgMTEpIGlzICI1LjA2IgorUEFTUyBzdGVwVXAoIjUuMDA1IiwgIjAuMDA1IiwgIiIsIDEyKSBp
cyAiNS4wNjUiCitQQVNTIHN0ZXBVcEV4cGxpY2l0Qm91bmRzKCI0IiwgIjkiLCAiMC4wMDUiLCAi
NS4wMDUiLCAyKSBpcyAiNS4wMTUiCitQQVNTIHN0ZXBVcEV4cGxpY2l0Qm91bmRzKCI0IiwgIjki
LCAiMC4wMDUiLCAiNS4wMDUiLCAxMSkgaXMgIjUuMDYiCitQQVNTIHN0ZXBVcEV4cGxpY2l0Qm91
bmRzKCI0IiwgIjkiLCAiMC4wMDUiLCAiNS4wMDUiLCAxMikgaXMgIjUuMDY1IgorCitSYW5nZSB0
eXBlCitGdW5jdGlvbiBhcmd1bWVudHMgYXJlIChtaW4sIG1heCwgc3RlcCwgdmFsdWUsIFtzdGVw
Q291bnRdKS4KK1VzaW5nIHRoZSBkZWZhdWx0IHZhbHVlcworUEFTUyBzdGVwVXBFeHBsaWNpdEJv
dW5kcyhudWxsLCBudWxsLCBudWxsLCAiIikgaXMgIjUxIgorUEFTUyBzdGVwRG93bkV4cGxpY2l0
Qm91bmRzKG51bGwsIG51bGwsIG51bGwsICIiKSBpcyAiNDkiCitQQVNTIHN0ZXBVcEV4cGxpY2l0
Qm91bmRzKG51bGwsIG51bGwsICJhbnkiLCAiIikgaXMgIjUxIgorUEFTUyBzdGVwRG93bkV4cGxp
Y2l0Qm91bmRzKG51bGwsIG51bGwsICJhbnkiLCAiIikgaXMgIjQ5IgorUEFTUyBzdGVwVXBFeHBs
aWNpdEJvdW5kcyhudWxsLCBudWxsLCAiZm9vIiwgIiIpIGlzICI1MSIKK1BBU1Mgc3RlcERvd25F
eHBsaWNpdEJvdW5kcyhudWxsLCBudWxsLCAiZm9vIiwgIiIpIGlzICI0OSIKK1BBU1Mgc3RlcFVw
RXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwgbnVsbCwgImZvbyIpIGlzICI1MSIKK1BBU1Mgc3Rl
cERvd25FeHBsaWNpdEJvdW5kcyhudWxsLCBudWxsLCBudWxsLCAiZm9vIikgaXMgIjQ5IgorUEFT
UyBzdGVwVXBFeHBsaWNpdEJvdW5kcyhudWxsLCBudWxsLCAiYW55IiwgImZvbyIpIGlzICI1MSIK
K1BBU1Mgc3RlcERvd25FeHBsaWNpdEJvdW5kcyhudWxsLCBudWxsLCAiYW55IiwgImZvbyIpIGlz
ICI0OSIKK1BBU1Mgc3RlcFVwRXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwgImZvbyIsICJmb28i
KSBpcyAiNTEiCitQQVNTIHN0ZXBEb3duRXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwgImZvbyIs
ICJmb28iKSBpcyAiNDkiCitOb3JtYWwgY2FzZXMKK1BBU1Mgc3RlcFVwRXhwbGljaXRCb3VuZHMo
bnVsbCwgbnVsbCwgbnVsbCwgIjAiKSBpcyAiMSIKK1BBU1Mgc3RlcFVwRXhwbGljaXRCb3VuZHMo
bnVsbCwgbnVsbCwgbnVsbCwgIjEiLCAyKSBpcyAiMyIKK1BBU1Mgc3RlcFVwRXhwbGljaXRCb3Vu
ZHMobnVsbCwgbnVsbCwgbnVsbCwgIjMiLCAtMSkgaXMgIjIiCitQQVNTIHN0ZXBEb3duRXhwbGlj
aXRCb3VuZHMoIi0xMDAiLCBudWxsLCBudWxsLCAiMiIpIGlzICIxIgorUEFTUyBzdGVwRG93bkV4
cGxpY2l0Qm91bmRzKCItMTAwIiwgbnVsbCwgbnVsbCwgIjEiLCAyKSBpcyAiLTEiCitQQVNTIHN0
ZXBEb3duRXhwbGljaXRCb3VuZHMoIi0xMDAiLCBudWxsLCBudWxsLCAiLTEiLCAtMSkgaXMgIjAi
CitJbnZhbGlkIHN0ZXAgdmFsdWUKK1BBU1Mgc3RlcFVwRXhwbGljaXRCb3VuZHMobnVsbCwgbnVs
bCwgImZvbyIsICIwIikgaXMgIjEiCitQQVNTIHN0ZXBVcEV4cGxpY2l0Qm91bmRzKG51bGwsIG51
bGwsICIwIiwgIjEiKSBpcyAiMiIKK1BBU1Mgc3RlcFVwRXhwbGljaXRCb3VuZHMobnVsbCwgbnVs
bCwgIi0xIiwgIjIiKSBpcyAiMyIKK1BBU1Mgc3RlcERvd25FeHBsaWNpdEJvdW5kcyhudWxsLCBu
dWxsLCAiZm9vIiwgIjEiKSBpcyAiMCIKK1BBU1Mgc3RlcERvd25FeHBsaWNpdEJvdW5kcyhudWxs
LCBudWxsLCAiMCIsICIyIikgaXMgIjEiCitQQVNTIHN0ZXBEb3duRXhwbGljaXRCb3VuZHMobnVs
bCwgbnVsbCwgIi0xIiwgIjMiKSBpcyAiMiIKK1N0ZXA9YW55CitQQVNTIHN0ZXBVcEV4cGxpY2l0
Qm91bmRzKG51bGwsIG51bGwsICJhbnkiLCAiMSIpIGlzICIyIgorUEFTUyBzdGVwRG93bkV4cGxp
Y2l0Qm91bmRzKG51bGwsIG51bGwsICJhbnkiLCAiMSIpIGlzICIwIgorT3ZlcmZsb3cvdW5kZXJm
bG93CitQQVNTIHN0ZXBVcEV4cGxpY2l0Qm91bmRzKG51bGwsICIxMDAiLCAiMSIsICI5OSIpIGlz
ICIxMDAiCitQQVNTIHN0ZXBVcEV4cGxpY2l0Qm91bmRzKG51bGwsICIxMDAiLCAiMSIsICIxMDAi
KSBpcyAiMTAwIgorUEFTUyBzdGVwVXBFeHBsaWNpdEJvdW5kcyhudWxsLCAiMTAwIiwgIjEiLCAi
OTkiLCAyKSBpcyAiMTAwIgorUEFTUyBzdGVwRG93bkV4cGxpY2l0Qm91bmRzKCIwIiwgbnVsbCwg
IjEiLCAiMSIpIGlzICIwIgorUEFTUyBzdGVwRG93bkV4cGxpY2l0Qm91bmRzKCIwIiwgbnVsbCwg
IjEiLCAiMCIpIGlzICIwIgorUEFTUyBzdGVwRG93bkV4cGxpY2l0Qm91bmRzKCIwIiwgbnVsbCwg
IjEiLCAiMSIsIDIpIGlzICIwIgorUEFTUyBzdGVwRG93bkV4cGxpY2l0Qm91bmRzKG51bGwsIG51
bGwsICIzLjQwMjgyMzQ2ZSszOCIsICIxIiwgMikgaXMgIjAiCitQQVNTIHN0ZXBVcEV4cGxpY2l0
Qm91bmRzKC0xMDAsIDAsIDEsIC0xKSBpcyAiMCIKK1BBU1Mgc3RlcFVwRXhwbGljaXRCb3VuZHMo
bnVsbCwgMCwgMSwgMCkgaXMgIjAiCitQQVNTIHN0ZXBVcEV4cGxpY2l0Qm91bmRzKC0xMDAsIDAs
IDEsIC0xLCAyKSBpcyAiMCIKK1BBU1Mgc3RlcFVwRXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwg
IjMuNDAyODIzNDZlKzM4IiwgIjEiLCAyKSBpcyAiMCIKK3N0ZXBEb3duKCkvc3RlcFVwKCkgZm9y
IHN0ZXBNaXNtYXRjaCB2YWx1ZXMKK1BBU1Mgc3RlcFVwRXhwbGljaXRCb3VuZHMobnVsbCwgbnVs
bCwgMiwgMSkgaXMgIjQiCitQQVNTIHN0ZXBVcEV4cGxpY2l0Qm91bmRzKDAsIG51bGwsIDEwLCA5
LCA5KSBpcyAiMTAwIgorUEFTUyBzdGVwRG93bkV4cGxpY2l0Qm91bmRzKDAsIG51bGwsIDEwLCAx
OSkgaXMgIjEwIgordmFsdWUgKyBzdGVwIGlzIDw9IG1heCwgYnV0IHJvdW5kZWQgcmVzdWx0IHdv
dWxkIGJlID4gbWF4LgorUEFTUyBzdGVwVXBFeHBsaWNpdEJvdW5kcyhudWxsLCA5OSwgMTAsIDg5
KSBpcyAiOTAiCitIdWdlIHZhbHVlIGFuZCBzbWFsbCBzdGVwCitQQVNTIHN0ZXBVcEV4cGxpY2l0
Qm91bmRzKDAsIDFlMzgsIDEsIDFlMzgsIDk5OSkgaXMgIjFlKzM4IgorUEFTUyBzdGVwRG93bkV4
cGxpY2l0Qm91bmRzKDAsIDFlMzgsIDEsIDFlMzgsIDk5OSkgaXMgIjFlKzM4IgorRnJhY3Rpb25h
bCBudW1iZXJzCitQQVNTIHN0ZXBVcEV4cGxpY2l0Qm91bmRzKG51bGwsIG51bGwsIDAuMzMzMzMz
MzMzMzMzMzMzMzMsIDAsIDMpIGlzICIxIgorUEFTUyBzdGVwVXBFeHBsaWNpdEJvdW5kcyhudWxs
LCBudWxsLCAwLjEsIDEpIGlzICIxLjEiCitQQVNTIHN0ZXBVcEV4cGxpY2l0Qm91bmRzKG51bGws
IG51bGwsIDAuMSwgMSwgOCkgaXMgIjEuOCIKK1BBU1Mgc3RlcFVwRXhwbGljaXRCb3VuZHMobnVs
bCwgbnVsbCwgMC4xLCAxLCAxMCkgaXMgIjIiCitQQVNTIHN0ZXBVcEV4cGxpY2l0Qm91bmRzKDAs
IDEsIDAuMDAzOTIxNTY4NjI3NDUwOTgwLCAwLCAyNTUpIGlzICIxIgorUEFTUyBzdGVwRG93bkV4
cGxpY2l0Qm91bmRzKG51bGwsIG51bGwsIDAuMSwgMSwgOCkgaXMgIjAuMiIKK1BBU1Mgc3RlcERv
d25FeHBsaWNpdEJvdW5kcyhudWxsLCBudWxsLCAwLjEsIDEpIGlzICIwLjkiCisKK1RpbWUgdHlw
ZQorRnVuY3Rpb24gYXJndW1lbnRzIGFyZSAodmFsdWUsIHN0ZXAsIHttaW4gb3IgbWF4fSwgW3N0
ZXBDb3VudF0pLgorTm9ybWFsIGNhc2VzCitQQVNTIHN0ZXBVcCgiMjA6MTMiLCBudWxsLCBudWxs
KSBpcyAiMjA6MTQiCitQQVNTIHN0ZXBEb3duKCIyMDoxMyIsIG51bGwsIG51bGwpIGlzICIyMDox
MiIKK1BBU1Mgc3RlcFVwKCIyMDoxMyIsIG51bGwsIG51bGwsIDEwKSBpcyAiMjA6MjMiCitQQVNT
IHN0ZXBEb3duKCIyMDoxMyIsIG51bGwsIG51bGwsIDExKSBpcyAiMjA6MDIiCitQQVNTIHN0ZXBV
cCgiMjA6MTMiLCAiNCIsIG51bGwsIDIpIGlzICIyMDoxMzowOCIKK1BBU1Mgc3RlcERvd24oIjIw
OjEzIiwgIjQiLCBudWxsLCAzKSBpcyAiMjA6MTI6NDgiCitTdGVwPWFueQorUEFTUyBzdGVwVXAo
IjIwOjEzIiwgImFueSIsIG51bGwpIGlzICIyMDoxMyIKK1BBU1Mgc3RlcERvd24oIjIwOjEzIiwg
ImFueSIsIG51bGwpIGlzICIyMDoxMyIKK092ZXJmbG93L3VuZGVyZmxvdworUEFTUyBzdGVwVXAo
IjIwOjEzIiwgIjMuNDAyODIzNDZlKzM4IiwgbnVsbCkgaXMgIjIzOjU5OjU5Ljk5OSIKK1BBU1Mg
c3RlcERvd24oIjIwOjEzIiwgIjMuNDAyODIzNDZlKzM4IiwgbnVsbCkgaXMgIjAwOjAwOjAwLjAw
MCIKK1BBU1Mgc3RlcFVwKCIyMDoxMyIsICIxIiwgIjIwOjEzIikgaXMgIjIwOjEzIgorUEFTUyBz
dGVwRG93bigiMjA6MTMiLCAiMSIsICIyMDoxMyIpIGlzICIyMDoxMyIKK1BBU1Mgc3RlcFVwKCIy
Mzo1OSIsIG51bGwsIG51bGwpIGlzICIyMzo1OSIKK1BBU1Mgc3RlcERvd24oIjAwOjAwIiwgbnVs
bCwgbnVsbCkgaXMgIjAwOjAwIgorc3RlcERvd24oKS9zdGVwVXAoKSBmb3Igc3RlcE1pc21hdGNo
IHZhbHVlcworUEFTUyBzdGVwRG93bigiMjA6MTMiLCAiMyIsICIyMDoxMjo1NiIpIGlzICIyMDox
Mjo1OSIKK1BBU1Mgc3RlcFVwKCIwMDoxMyIsICI3IiwgIiIpIGlzICIwMDoxMzowNCIKKworV2Vl
ayB0eXBlCitGdW5jdGlvbiBhcmd1bWVudHMgYXJlICh2YWx1ZSwgc3RlcCwge21pbiBvciBtYXh9
LCBbc3RlcENvdW50XSkuCitOb3JtYWwgY2FzZXMKK1BBU1Mgc3RlcFVwKCIyMDEwLVcwMiIsIG51
bGwsIG51bGwpIGlzICIyMDEwLVcwMyIKK1BBU1Mgc3RlcERvd24oIjIwMTAtVzAyIiwgbnVsbCwg
bnVsbCkgaXMgIjIwMTAtVzAxIgorUEFTUyBzdGVwVXAoIjIwMTAtVzAyIiwgbnVsbCwgbnVsbCwg
MTApIGlzICIyMDEwLVcxMiIKK1BBU1Mgc3RlcERvd24oIjIwMTAtVzAyIiwgbnVsbCwgbnVsbCwg
MTEpIGlzICIyMDA5LVc0NCIKK1BBU1Mgc3RlcFVwKCIxOTcwLVcwMSIsICI0IiwgbnVsbCwgMikg
aXMgIjE5NzAtVzA5IgorUEFTUyBzdGVwRG93bigiMTk3MC1XMDEiLCAiNCIsIG51bGwsIDMpIGlz
ICIxOTY5LVc0MSIKK1N0ZXA9YW55CitQQVNTIHN0ZXBVcCgiMjAxMC1XMDIiLCAiYW55IiwgbnVs
bCkgaXMgIjIwMTAtVzAyIgorUEFTUyBzdGVwRG93bigiMjAxMC1XMDIiLCAiYW55IiwgbnVsbCkg
aXMgIjIwMTAtVzAyIgorT3ZlcmZsb3cvdW5kZXJmbG93CitQQVNTIHN0ZXBVcCgiMjAxMC1XMDIi
LCAiMy40MDI4MjM0NmUrMzgiLCBudWxsKSBpcyAiMjc1NzYwLVczNyIKK1BBU1Mgc3RlcERvd24o
IjIwMTAtVzAyIiwgIjMuNDAyODIzNDZlKzM4IiwgbnVsbCkgaXMgIjE5NzAtVzAxIgorUEFTUyBz
dGVwVXAoIjIwMTAtVzAyIiwgIjEiLCAiMjAxMC1XMDIiKSBpcyAiMjAxMC1XMDIiCitQQVNTIHN0
ZXBEb3duKCIyMDEwLVcwMiIsICIxIiwgIjIwMTAtVzAyIikgaXMgIjIwMTAtVzAyIgorc3RlcERv
d24oKS9zdGVwVXAoKSBmb3Igc3RlcE1pc21hdGNoIHZhbHVlcworUEFTUyBzdGVwRG93bigiMjAx
MC1XMDIiLCAiMiIsICIyMDA5LVc1MiIpIGlzICIyMDEwLVcwMSIKK1BBU1Mgc3RlcFVwKCIxOTcw
LVcwMiIsICI0IiwgIiIpIGlzICIxOTcwLVcwNSIKKworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvaW5wdXQtc3RlcHVwLXN0ZXBkb3duLWZyb20tcmVuZGVyZXIuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvaW5wdXQtc3RlcHVwLXN0ZXBkb3duLWZyb20tcmVuZGVyZXIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5hNGZmZmZkYzhlZTYwMDJkNTNkN2FiMjE5ZjkzMWU3MDg5ZDU0NDVkCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9pbnB1dC1zdGVwdXAtc3RlcGRv
d24tZnJvbS1yZW5kZXJlci5odG1sCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9
InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUu
Y3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL2lucHV0
LXN0ZXB1cC1zdGVwZG93bi1mcm9tLXJlbmRlcmVyLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQt
dGVzdHMvaW5wdXQtc3RlcHVwLXN0ZXBkb3duLWZyb20tcmVuZGVyZXIuanMgYi9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9pbnB1dC1zdGVwdXAtc3RlcGRvd24tZnJvbS1yZW5k
ZXJlci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi41NTZiZjJmNDFlMzgwYmZiMTU1YmIzOWRmZTdiMzhhMWU3YmEw
MDdmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVz
dHMvaW5wdXQtc3RlcHVwLXN0ZXBkb3duLWZyb20tcmVuZGVyZXIuanMKQEAgLTAsMCArMSwzNDQg
QEAKK2Rlc2NyaXB0aW9uKCdDaGVjayBzdGVwcGluZy11cCBhbmQgLWRvd24gZm9yIDxpbnB1dD4g
ZnJvbSByZW5kZXJlci4gTm8gY2FzZXMgb2YgZW1wdHkgaW5pdGlhbCB2YWx1ZXMgZm9yIHR5cGU9
ZGF0ZSwgZGF0ZXRpbWUsIGRhdGV0aW1lLWxvY2FsLCBtb250aCwgdGltZSwgd2Vlay4nKTsKKwor
dmFyIGlucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTsKK3ZhciBpbnZhbGlk
U3RhdGVFcnIgPSAnIkVycm9yOiBJTlZBTElEX1NUQVRFX0VSUjogRE9NIEV4Y2VwdGlvbiAxMSIn
OworCitmdW5jdGlvbiBzZW5kS2V5KGtleU5hbWUpIHsKKyAgICB2YXIgZXZlbnQgPSBkb2N1bWVu
dC5jcmVhdGVFdmVudCgnS2V5Ym9hcmRFdmVudCcpOworICAgIGV2ZW50LmluaXRLZXlib2FyZEV2
ZW50KCdrZXlkb3duJywgdHJ1ZSwgdHJ1ZSwgZG9jdW1lbnQuZGVmYXVsdFZpZXcsIGtleU5hbWUp
OworICAgIGlucHV0LmRpc3BhdGNoRXZlbnQoZXZlbnQpOworfQorCitmdW5jdGlvbiBzZXRJbnB1
dEF0dHJpYnV0ZXMobWluLCBtYXgsIHN0ZXAsIHZhbHVlKSB7CisgICAgaW5wdXQubWluID0gbWlu
OworICAgIGlucHV0Lm1heCA9IG1heDsKKyAgICBpbnB1dC5zdGVwID0gc3RlcDsKKyAgICBpbnB1
dC52YWx1ZSA9IHZhbHVlOworfQorCitmdW5jdGlvbiBzdGVwVXAodmFsdWUsIHN0ZXAsIG1heCwg
b3B0aW9uYWxTdGVwQ291bnQpIHsKKyAgICBzZXRJbnB1dEF0dHJpYnV0ZXMobnVsbCwgbWF4LCBz
dGVwLCB2YWx1ZSk7CisgICAgaWYgKHR5cGVvZiBvcHRpb25hbFN0ZXBDb3VudCAhPSAidW5kZWZp
bmVkIikKKyAgICAgICAgaWYgKG9wdGlvbmFsU3RlcENvdW50IDwgMCkKKyAgICAgICAgICAgIGZv
ciAodmFyIGkgPSAwOyBpIDwgLW9wdGlvbmFsU3RlcENvdW50OyBpKyspCisgICAgICAgICAgICAg
ICAgc2VuZEtleSgnRG93bicpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBmb3IgKHZhciBp
ID0gMDsgaSA8IG9wdGlvbmFsU3RlcENvdW50OyBpKyspCisgICAgICAgICAgICAgICAgc2VuZEtl
eSgnVXAnKTsKKyAgICBlbHNlCisgICAgICAgIHNlbmRLZXkoJ1VwJyk7CisgICAgcmV0dXJuIGlu
cHV0LnZhbHVlOworfQorCitmdW5jdGlvbiBzdGVwRG93bih2YWx1ZSwgc3RlcCwgbWluLCBvcHRp
b25hbFN0ZXBDb3VudCkgeworICAgIHNldElucHV0QXR0cmlidXRlcyhtaW4sIG51bGwsIHN0ZXAs
IHZhbHVlKTsKKyAgICBpZiAodHlwZW9mIG9wdGlvbmFsU3RlcENvdW50ICE9ICJ1bmRlZmluZWQi
KQorICAgICAgICBpZiAob3B0aW9uYWxTdGVwQ291bnQgPCAwKQorICAgICAgICAgICAgZm9yICh2
YXIgaSA9IDA7IGkgPCAtb3B0aW9uYWxTdGVwQ291bnQ7IGkrKykKKyAgICAgICAgICAgICAgICBz
ZW5kS2V5KCdVcCcpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsg
aSA8IG9wdGlvbmFsU3RlcENvdW50OyBpKyspCisgICAgICAgICAgICAgICAgc2VuZEtleSgnRG93
bicpOworICAgIGVsc2UKKyAgICAgICAgc2VuZEtleSgnRG93bicpOworICAgIHJldHVybiBpbnB1
dC52YWx1ZTsKK30KKworLy8gUmFuZ2UgdmFsdWUgZ2V0cyBhdXRvbWF0aWNhbGx5IHNoaWZ0ZWQg
YmFzZWQgb24gYm91bmRzLAorLy8gU28gYWx3YXlzIHNldCB0aGUgbWluIGFuZCBtYXggZmlyc3Qg
dG8gZ2V0IGV4cGVjdGVkIGJlaGF2aW9yCisKK2Z1bmN0aW9uIHN0ZXBVcEV4cGxpY2l0Qm91bmRz
KG1pbiwgbWF4LCBzdGVwLCB2YWx1ZSwgc3RlcENvdW50KSB7CisgICAgc2V0SW5wdXRBdHRyaWJ1
dGVzKG1pbiwgbWF4LCBzdGVwLCB2YWx1ZSk7CisgICAgaWYgKHR5cGVvZiBzdGVwQ291bnQgIT09
ICd1bmRlZmluZWQnKQorICAgICAgICBpZiAoc3RlcENvdW50IDwgMCkgeworICAgICAgICAgICAg
Zm9yICh2YXIgaSA9IDA7IGkgPCAtc3RlcENvdW50OyBpKyspCisgICAgICAgICAgICAgICAgc2Vu
ZEtleSgnRG93bicpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgZm9yICh2YXIgaSA9
IDA7IGkgPCBzdGVwQ291bnQ7IGkrKykKKyAgICAgICAgICAgICAgICBzZW5kS2V5KCdVcCcpOwor
ICAgICAgICB9CisgICAgZWxzZQorICAgICAgICBzZW5kS2V5KCdVcCcpOworICAgIHJldHVybiBp
bnB1dC52YWx1ZTsKK30KKworZnVuY3Rpb24gc3RlcERvd25FeHBsaWNpdEJvdW5kcyhtaW4sIG1h
eCwgc3RlcCwgdmFsdWUsIHN0ZXBDb3VudCkgeworICAgIHNldElucHV0QXR0cmlidXRlcyhtaW4s
IG1heCwgc3RlcCwgdmFsdWUpOworICAgIGlmICh0eXBlb2Ygc3RlcENvdW50ICE9PSAndW5kZWZp
bmVkJykKKyAgICAgICAgaWYgKHN0ZXBDb3VudCA8IDApIHsKKyAgICAgICAgICAgIGZvciAodmFy
IGkgPSAwOyBpIDwgLXN0ZXBDb3VudDsgaSsrKQorICAgICAgICAgICAgICAgIHNlbmRLZXkoJ1Vw
Jyk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHN0
ZXBDb3VudDsgaSsrKQorICAgICAgICAgICAgICAgIHNlbmRLZXkoJ0Rvd24nKTsKKyAgICAgICAg
fQorICAgIGVsc2UKKyAgICAgICAgc2VuZEtleSgnRG93bicpOworICAgIHJldHVybiBpbnB1dC52
YWx1ZTsKK30KKworZGVidWcoJ0RhdGUgdHlwZScpOworaW5wdXQudHlwZSA9ICdkYXRlJzsKK2Rl
YnVnKCdGdW5jdGlvbiBhcmd1bWVudHMgYXJlICh2YWx1ZSwgc3RlcCwge21pbiBvciBtYXh9LCBb
c3RlcENvdW50XSkuJyk7CitkZWJ1ZygnTm9ybWFsIGNhc2VzJyk7CitzaG91bGRCZSgnc3RlcFVw
KCIyMDEwLTAyLTEwIiwgbnVsbCwgbnVsbCknLCAnIjIwMTAtMDItMTEiJyk7CitzaG91bGRCZSgn
c3RlcERvd24oIjIwMTAtMDItMTAiLCBudWxsLCBudWxsKScsICciMjAxMC0wMi0wOSInKTsKK3No
b3VsZEJlKCdzdGVwVXAoIjIwMTAtMDItMTAiLCBudWxsLCBudWxsLCAxMCknLCAnIjIwMTAtMDIt
MjAiJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjIwMTAtMDItMTAiLCBudWxsLCBudWxsLCAxMSkn
LCAnIjIwMTAtMDEtMzAiJyk7CitzaG91bGRCZSgnc3RlcFVwKCIxOTcwLTAxLTAxIiwgIjQiLCBu
dWxsLCAyKScsICciMTk3MC0wMS0wOSInKTsKK3Nob3VsZEJlKCdzdGVwRG93bigiMTk3MC0wMS0w
MSIsICI0IiwgbnVsbCwgMyknLCAnIjE5NjktMTItMjAiJyk7CitkZWJ1ZygnU3RlcD1hbnknKTsK
K3Nob3VsZEJlKCdzdGVwVXAoIjIwMTAtMDItMTAiLCAiYW55IiwgbnVsbCknLCAnIjIwMTAtMDIt
MTAiJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjIwMTAtMDItMTAiLCAiYW55IiwgbnVsbCknLCAn
IjIwMTAtMDItMTAiJyk7CitkZWJ1ZygnT3ZlcmZsb3cvdW5kZXJmbG93Jyk7CitzaG91bGRCZSgn
c3RlcFVwKCIyMDEwLTAyLTEwIiwgIjMuNDAyODIzNDZlKzM4IiwgbnVsbCknLCciMjc1NzYwLTA5
LTEzIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIyMDEwLTAyLTEwIiwgIjMuNDAyODIzNDZlKzM4
IiwgbnVsbCknLCAnIjE5NzAtMDEtMDEiJyk7CitzaG91bGRCZSgnc3RlcFVwKCIyMDEwLTAyLTEw
IiwgIjEiLCAiMjAxMC0wMi0xMCIpJywgJyIyMDEwLTAyLTEwIicpOworc2hvdWxkQmUoJ3N0ZXBE
b3duKCIyMDEwLTAyLTEwIiwgIjEiLCAiMjAxMC0wMi0xMCIpJywgJyIyMDEwLTAyLTEwIicpOwor
ZGVidWcoJ3N0ZXBEb3duKCkvc3RlcFVwKCkgZm9yIHN0ZXBNaXNtYXRjaCB2YWx1ZXMnKTsKK3No
b3VsZEJlKCdzdGVwRG93bigiMjAxMC0wMi0xMCIsICIzIiwgIjIwMTAtMDItMDYiKScsICciMjAx
MC0wMi0wOSInKTsKK3Nob3VsZEJlKCdzdGVwVXAoIjE5NzAtMDEtMDIiLCAiMiIsICIiKScsICci
MTk3MC0wMS0wMyInKTsKKworZGVidWcoJycpOworZGVidWcoJ0RhdGV0aW1lIHR5cGUnKTsKK2lu
cHV0LnR5cGUgPSAnZGF0ZXRpbWUnOworZGVidWcoJ0Z1bmN0aW9uIGFyZ3VtZW50cyBhcmUgKHZh
bHVlLCBzdGVwLCB7bWluIG9yIG1heH0sIFtzdGVwQ291bnRdKS4nKTsKK2RlYnVnKCdOb3JtYWwg
Y2FzZXMnKTsKK3Nob3VsZEJlKCdzdGVwVXAoIjIwMTAtMDItMTBUMjA6MTNaIiwgbnVsbCwgbnVs
bCknLCAnIjIwMTAtMDItMTBUMjA6MTRaIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIyMDEwLTAy
LTEwVDIwOjEzWiIsIG51bGwsIG51bGwpJywgJyIyMDEwLTAyLTEwVDIwOjEyWiInKTsKK3Nob3Vs
ZEJlKCdzdGVwVXAoIjIwMTAtMDItMTBUMjA6MTNaIiwgbnVsbCwgbnVsbCwgMTApJywgJyIyMDEw
LTAyLTEwVDIwOjIzWiInKTsKK3Nob3VsZEJlKCdzdGVwRG93bigiMjAxMC0wMi0xMFQyMDoxM1oi
LCBudWxsLCBudWxsLCAxMSknLCAnIjIwMTAtMDItMTBUMjA6MDJaIicpOworc2hvdWxkQmUoJ3N0
ZXBVcCgiMTk3MC0wMS0wMVQyMDoxM1oiLCAiNCIsIG51bGwsIDIpJywgJyIxOTcwLTAxLTAxVDIw
OjEzOjA4WiInKTsKK3Nob3VsZEJlKCdzdGVwRG93bigiMTk3MC0wMS0wMVQyMDoxM1oiLCAiNCIs
IG51bGwsIDMpJywgJyIxOTcwLTAxLTAxVDIwOjEyOjQ4WiInKTsKK2RlYnVnKCdTdGVwPWFueScp
Oworc2hvdWxkQmUoJ3N0ZXBVcCgiMjAxMC0wMi0xMFQyMDoxM1oiLCAiYW55IiwgbnVsbCknLCAn
IjIwMTAtMDItMTBUMjA6MTNaIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIyMDEwLTAyLTEwVDIw
OjEzWiIsICJhbnkiLCBudWxsKScsICciMjAxMC0wMi0xMFQyMDoxM1oiJyk7CitkZWJ1ZygnT3Zl
cmZsb3cvdW5kZXJmbG93Jyk7CitzaG91bGRCZSgnc3RlcFVwKCIyMDEwLTAyLTEwVDIwOjEzWiIs
ICIzLjQwMjgyMzQ2ZSszOCIsIG51bGwpJywgJyIyNzU3NjAtMDktMTNUMDA6MDA6MDAuMDAwWiIn
KTsKK3Nob3VsZEJlKCdzdGVwRG93bigiMjAxMC0wMi0xMFQyMDoxM1oiLCAiMy40MDI4MjM0NmUr
MzgiLCBudWxsKScsICciMTk3MC0wMS0wMVQwMDowMDowMC4wMDBaIicpOworc2hvdWxkQmUoJ3N0
ZXBVcCgiMjAxMC0wMi0xMFQyMDoxM1oiLCAiMSIsICIyMDEwLTAyLTEwVDIwOjEzWiIpJywgJyIy
MDEwLTAyLTEwVDIwOjEzWiInKTsKK3Nob3VsZEJlKCdzdGVwRG93bigiMjAxMC0wMi0xMFQyMDox
M1oiLCAiMSIsICIyMDEwLTAyLTEwVDIwOjEzWiIpJywgJyIyMDEwLTAyLTEwVDIwOjEzWiInKTsK
K2RlYnVnKCdzdGVwRG93bigpL3N0ZXBVcCgpIGZvciBzdGVwTWlzbWF0Y2ggdmFsdWVzJyk7Citz
aG91bGRCZSgnc3RlcERvd24oIjIwMTAtMDItMTBUMjA6MTNaIiwgIjMiLCAiMjAxMC0wMi0xMFQy
MDoxMjo1NloiKScsICciMjAxMC0wMi0xMFQyMDoxMjo1OVoiJyk7CitzaG91bGRCZSgnc3RlcFVw
KCIxOTcwLTAxLTAxVDAwOjEzWiIsICI3IiwgIiIpJywgJyIxOTcwLTAxLTAxVDAwOjEzOjA0WiIn
KTsKKworZGVidWcoJycpOworZGVidWcoJ0RhdGV0aW1lLWxvY2FsIHR5cGUnKTsKK2lucHV0LnR5
cGUgPSAnZGF0ZXRpbWUtbG9jYWwnOworZGVidWcoJ0Z1bmN0aW9uIGFyZ3VtZW50cyBhcmUgKHZh
bHVlLCBzdGVwLCB7bWluIG9yIG1heH0sIFtzdGVwQ291bnRdKS4nKTsKK2RlYnVnKCdOb3JtYWwg
Y2FzZXMnKTsKK3Nob3VsZEJlKCdzdGVwVXAoIjIwMTAtMDItMTBUMjA6MTMiLCBudWxsLCBudWxs
KScsICciMjAxMC0wMi0xMFQyMDoxNCInKTsKK3Nob3VsZEJlKCdzdGVwRG93bigiMjAxMC0wMi0x
MFQyMDoxMyIsIG51bGwsIG51bGwpJywgJyIyMDEwLTAyLTEwVDIwOjEyIicpOworc2hvdWxkQmUo
J3N0ZXBVcCgiMjAxMC0wMi0xMFQyMDoxMyIsIG51bGwsIG51bGwsIDEwKScsICciMjAxMC0wMi0x
MFQyMDoyMyInKTsKK3Nob3VsZEJlKCdzdGVwRG93bigiMjAxMC0wMi0xMFQyMDoxMyIsIG51bGws
IG51bGwsIDExKScsICciMjAxMC0wMi0xMFQyMDowMiInKTsKK3Nob3VsZEJlKCdzdGVwVXAoIjE5
NzAtMDEtMDFUMjA6MTMiLCAiNCIsIG51bGwsIDIpJywgJyIxOTcwLTAxLTAxVDIwOjEzOjA4Iicp
Oworc2hvdWxkQmUoJ3N0ZXBEb3duKCIxOTcwLTAxLTAxVDIwOjEzIiwgIjQiLCBudWxsLCAzKScs
ICciMTk3MC0wMS0wMVQyMDoxMjo0OCInKTsKK2RlYnVnKCdTdGVwPWFueScpOworc2hvdWxkQmUo
J3N0ZXBVcCgiMjAxMC0wMi0xMFQyMDoxMyIsICJhbnkiLCBudWxsKScsICciMjAxMC0wMi0xMFQy
MDoxMyInKTsKK3Nob3VsZEJlKCdzdGVwRG93bigiMjAxMC0wMi0xMFQyMDoxMyIsICJhbnkiLCBu
dWxsKScsICciMjAxMC0wMi0xMFQyMDoxMyInKTsKK2RlYnVnKCdPdmVyZmxvdy91bmRlcmZsb3cn
KTsKK3Nob3VsZEJlKCdzdGVwVXAoIjIwMTAtMDItMTBUMjA6MTMiLCAiMy40MDI4MjM0NmUrMzgi
LCBudWxsKScsICciMjc1NzYwLTA5LTEzVDAwOjAwOjAwLjAwMCInKTsKK3Nob3VsZEJlKCdzdGVw
RG93bigiMjAxMC0wMi0xMFQyMDoxMyIsICIzLjQwMjgyMzQ2ZSszOCIsIG51bGwpJywgJyIxOTcw
LTAxLTAxVDAwOjAwOjAwLjAwMCInKTsKK3Nob3VsZEJlKCdzdGVwVXAoIjIwMTAtMDItMTBUMjA6
MTMiLCAiMSIsICIyMDEwLTAyLTEwVDIwOjEzIiknLCAnIjIwMTAtMDItMTBUMjA6MTMiJyk7Citz
aG91bGRCZSgnc3RlcERvd24oIjIwMTAtMDItMTBUMjA6MTMiLCAiMSIsICIyMDEwLTAyLTEwVDIw
OjEzIiknLCAnIjIwMTAtMDItMTBUMjA6MTMiJyk7CitkZWJ1Zygnc3RlcERvd24oKS9zdGVwVXAo
KSBmb3Igc3RlcE1pc21hdGNoIHZhbHVlcycpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIyMDEwLTAy
LTEwVDIwOjEzIiwgIjMiLCAiMjAxMC0wMi0xMFQyMDoxMjo1NiIpJywgJyIyMDEwLTAyLTEwVDIw
OjEyOjU5IicpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMTk3MC0wMS0wMVQwMDoxMyIsICI3IiwgIiIp
JywgJyIxOTcwLTAxLTAxVDAwOjEzOjA0IicpOworCitkZWJ1ZygnJyk7CitkZWJ1ZygnTW9udGgg
dHlwZScpOworaW5wdXQudHlwZSA9ICdtb250aCc7CitkZWJ1ZygnRnVuY3Rpb24gYXJndW1lbnRz
IGFyZSAodmFsdWUsIHN0ZXAsIHttaW4gb3IgbWF4fSwgW3N0ZXBDb3VudF0pLicpOworZGVidWco
J05vcm1hbCBjYXNlcycpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMjAxMC0wMiIsIG51bGwsIG51bGwp
JywgJyIyMDEwLTAzIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIyMDEwLTAyIiwgbnVsbCwgbnVs
bCknLCAnIjIwMTAtMDEiJyk7CitzaG91bGRCZSgnc3RlcFVwKCIyMDEwLTAyIiwgbnVsbCwgbnVs
bCwgMTApJywgJyIyMDEwLTEyIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIyMDEwLTAyIiwgbnVs
bCwgbnVsbCwgMTEpJywgJyIyMDA5LTAzIicpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMTk3MC0wMSIs
ICI0IiwgbnVsbCwgMiknLCAnIjE5NzAtMDkiJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjE5NzAt
MDEiLCAiNCIsIG51bGwsIDMpJywgJyIxOTY5LTAxIicpOworZGVidWcoJ1N0ZXA9YW55Jyk7Citz
aG91bGRCZSgnc3RlcFVwKCIyMDEwLTAyIiwgImFueSIsIG51bGwpJywgJyIyMDEwLTAyIicpOwor
c2hvdWxkQmUoJ3N0ZXBEb3duKCIyMDEwLTAyIiwgImFueSIsIG51bGwpJywgJyIyMDEwLTAyIicp
OworZGVidWcoJ092ZXJmbG93L3VuZGVyZmxvdycpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMjAxMC0w
MiIsICIzLjQwMjgyMzQ2ZSszOCIsIG51bGwpJywgJyIyNzU3NjAtMDkiJyk7CitzaG91bGRCZSgn
c3RlcERvd24oIjIwMTAtMDIiLCAiMy40MDI4MjM0NmUrMzgiLCBudWxsKScsICciMTk3MC0wMSIn
KTsKK3Nob3VsZEJlKCdzdGVwVXAoIjIwMTAtMDIiLCAiMSIsICIyMDEwLTAyIiknLCAnIjIwMTAt
MDIiJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjIwMTAtMDIiLCAiMSIsICIyMDEwLTAyIiknLCAn
IjIwMTAtMDIiJyk7CitkZWJ1Zygnc3RlcERvd24oKS9zdGVwVXAoKSBmb3Igc3RlcE1pc21hdGNo
IHZhbHVlcycpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIyMDEwLTAyIiwgIjMiLCAiMjAwOS0xMCIp
JywgJyIyMDEwLTAxIicpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMTk3MC0wMiIsICI0IiwgIiIpJywg
JyIxOTcwLTA1IicpOworCitkZWJ1ZygnJyk7CitkZWJ1ZygnTnVtYmVyIHR5cGUnKTsKK2lucHV0
LnR5cGUgPSAnbnVtYmVyJzsKK2RlYnVnKCdGdW5jdGlvbiBhcmd1bWVudHMgYXJlICh2YWx1ZSwg
c3RlcCwge21pbiBvciBtYXh9LCBbc3RlcENvdW50XSkuJyk7CitkZWJ1ZygnSW52YWxpZCB2YWx1
ZScpOworc2hvdWxkQmUoJ3N0ZXBVcCgiIiwgbnVsbCwgbnVsbCknLCAnIjEiJyk7CitzaG91bGRC
ZSgnc3RlcERvd24oIiIsIG51bGwsIG51bGwpJywgJyItMSInKTsKK3Nob3VsZEJlKCdzdGVwVXAo
IiIsICJhbnkiLCBudWxsKScsICciMCInKTsKK3Nob3VsZEJlKCdzdGVwRG93bigiIiwgImFueSIs
IG51bGwpJywgJyIwIicpOworc2hvdWxkQmUoJ3N0ZXBVcCgiIiwgImZvbyIsIG51bGwpJywgJyIx
IicpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIiLCAiZm9vIiwgbnVsbCknLCAnIi0xIicpOworc2hv
dWxkQmUoJ3N0ZXBVcCgiZm9vIiwgbnVsbCwgbnVsbCknLCAnIjEiJyk7CitzaG91bGRCZSgnc3Rl
cERvd24oImZvbyIsIG51bGwsIG51bGwpJywgJyItMSInKTsKK3Nob3VsZEJlKCdzdGVwVXAoImZv
byIsICJhbnkiLCBudWxsKScsICciMCInKTsKK3Nob3VsZEJlKCdzdGVwRG93bigiZm9vIiwgImFu
eSIsIG51bGwpJywgJyIwIicpOworc2hvdWxkQmUoJ3N0ZXBVcCgiZm9vIiwgImZvbyIsIG51bGwp
JywgJyIxIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCJmb28iLCAiZm9vIiwgbnVsbCknLCAnIi0x
IicpOworZGVidWcoJ05vcm1hbCBjYXNlcycpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMCIsIG51bGws
IG51bGwpJywgJyIxIicpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMSIsIG51bGwsIG51bGwsIDIpJywg
JyIzIicpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMyIsIG51bGwsIG51bGwsIC0xKScsICciMiInKTsK
K3Nob3VsZEJlKCdzdGVwRG93bigiMiIsIG51bGwsIG51bGwpJywgJyIxIicpOworc2hvdWxkQmUo
J3N0ZXBEb3duKCIxIiwgbnVsbCwgbnVsbCwgMiknLCAnIi0xIicpOworc2hvdWxkQmUoJ3N0ZXBE
b3duKCItMSIsIG51bGwsIG51bGwsIC0xKScsICciMCInKTsKK2RlYnVnKCdJbnZhbGlkIHN0ZXAg
dmFsdWUnKTsKK3Nob3VsZEJlKCdzdGVwVXAoIjAiLCAiZm9vIiwgbnVsbCknLCAnIjEiJyk7Citz
aG91bGRCZSgnc3RlcFVwKCIxIiwgIjAiLCBudWxsKScsICciMiInKTsKK3Nob3VsZEJlKCdzdGVw
VXAoIjIiLCAiLTEiLCBudWxsKScsICciMyInKTsKK2RlYnVnKCdTdGVwPWFueScpOworc2hvdWxk
QmUoJ3N0ZXBVcCgiMCIsICJhbnkiLCBudWxsKScsICciMCInKTsKK3Nob3VsZEJlKCdzdGVwRG93
bigiMCIsICJhbnkiLCBudWxsKScsICciMCInKTsKK2RlYnVnKCdPdmVyZmxvdy91bmRlcmZsb3cn
KTsKK3Nob3VsZEJlKCdzdGVwRG93bigiMSIsICIxIiwgIjAiKScsICciMCInKTsKK3Nob3VsZEJl
KCdzdGVwRG93bigiMCIsICIxIiwgIjAiKScsICciMCInKTsKK3Nob3VsZEJlKCdzdGVwRG93bigi
MSIsICIxIiwgIjAiLCAyKScsICciMCInKTsKK3Nob3VsZEJlKCdzdGVwRG93bigiMSIsICIzLjQw
MjgyMzQ2ZSszOCIsICIiLCAyKScsICciLTMuNDAyODIzNDZlKzM4IicpOworc2hvdWxkQmUoJ3N0
ZXBVcCgiLTEiLCAiMSIsICIwIiknLCAnIjAiJyk7CitzaG91bGRCZSgnc3RlcFVwKCIwIiwgIjEi
LCAiMCIpJywgJyIwIicpOworc2hvdWxkQmUoJ3N0ZXBVcCgiLTEiLCAiMSIsICIwIiwgMiknLCAn
IjAiJyk7CitzaG91bGRCZSgnc3RlcFVwKCIxIiwgIjMuNDAyODIzNDZlKzM4IiwgIiIsIDIpJywg
JyIzLjQwMjgyMzQ2ZSszOCInKTsKK2RlYnVnKCdzdGVwRG93bigpL3N0ZXBVcCgpIGZvciBzdGVw
TWlzbWF0Y2ggdmFsdWVzJyk7CitzaG91bGRCZSgnc3RlcFVwKCIxIiwgIjIiLCAiIiknLCAnIjIi
Jyk7CitzaG91bGRCZSgnaW5wdXQubWluID0gIjAiOyBzdGVwVXAoIjkiLCAiMTAiLCAiIiknLCAn
IjEwIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIxOSIsICIxMCIsICIwIiknLCAnIjEwIicpOwor
c2hvdWxkQmUoJ3N0ZXBVcCgiODkiLCAiMTAiLCAiOTkiKScsICciOTAiJyk7CitkZWJ1ZygnSHVn
ZSB2YWx1ZSBhbmQgc21hbGwgc3RlcCcpOworc2hvdWxkQmUoJ2lucHV0Lm1pbiA9ICIiOyBzdGVw
VXAoIjFlKzM4IiwgIjEiLCAiIiwgOTk5KScsICciMWUrMzgiJyk7CitzaG91bGRCZSgnaW5wdXQu
bWF4ID0gIiI7IHN0ZXBEb3duKCIxZSszOCIsICIxIiwgIiIsIDk5OSknLCAnIjFlKzM4IicpOwor
ZGVidWcoJ0ZyYWN0aW9uYWwgbnVtYmVycycpOworc2hvdWxkQmUoJ2lucHV0Lm1pbiA9ICIiOyBz
dGVwVXAoIjAiLCAiMC4zMzMzMzMzMzMzMzMzMzMzMyIsICIiLCAzKScsICciMSInKTsKK3Nob3Vs
ZEJlKCdzdGVwVXAoIjEiLCAiMC4xIiwgIiIsIDEwKScsICciMiInKTsKK3Nob3VsZEJlKCdpbnB1
dC5taW4gPSAiMCI7IHN0ZXBVcCgiMCIsICIwLjAwMzkyMTU2ODYyNzQ1MDk4MCIsICIxIiwgMjU1
KScsICciMSInKTsKK2RlYnVnKCdSb3VuZGluZycpOworc2hvdWxkQmUoJ3N0ZXBVcCgiNS4wMDUi
LCAiMC4wMDUiLCAiIiwgMiknLCAnIjUuMDE1IicpOworc2hvdWxkQmUoJ3N0ZXBVcCgiNS4wMDUi
LCAiMC4wMDUiLCAiIiwgMTEpJywgJyI1LjA2IicpOworc2hvdWxkQmUoJ3N0ZXBVcCgiNS4wMDUi
LCAiMC4wMDUiLCAiIiwgMTIpJywgJyI1LjA2NSInKTsKK3Nob3VsZEJlKCdzdGVwVXBFeHBsaWNp
dEJvdW5kcygiNCIsICI5IiwgIjAuMDA1IiwgIjUuMDA1IiwgMiknLCAnIjUuMDE1IicpOworc2hv
dWxkQmUoJ3N0ZXBVcEV4cGxpY2l0Qm91bmRzKCI0IiwgIjkiLCAiMC4wMDUiLCAiNS4wMDUiLCAx
MSknLCAnIjUuMDYiJyk7CitzaG91bGRCZSgnc3RlcFVwRXhwbGljaXRCb3VuZHMoIjQiLCAiOSIs
ICIwLjAwNSIsICI1LjAwNSIsIDEyKScsICciNS4wNjUiJyk7CisKK2RlYnVnKCcnKTsKK2RlYnVn
KCdSYW5nZSB0eXBlJyk7CitpbnB1dC50eXBlID0gJ3JhbmdlJzsKK2RlYnVnKCdGdW5jdGlvbiBh
cmd1bWVudHMgYXJlIChtaW4sIG1heCwgc3RlcCwgdmFsdWUsIFtzdGVwQ291bnRdKS4nKTsKK2Rl
YnVnKCdVc2luZyB0aGUgZGVmYXVsdCB2YWx1ZXMnKTsKK3Nob3VsZEJlKCdzdGVwVXBFeHBsaWNp
dEJvdW5kcyhudWxsLCBudWxsLCBudWxsLCAiIiknLCAnIjUxIicpOworc2hvdWxkQmUoJ3N0ZXBE
b3duRXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwgbnVsbCwgIiIpJywgJyI0OSInKTsKK3Nob3Vs
ZEJlKCdzdGVwVXBFeHBsaWNpdEJvdW5kcyhudWxsLCBudWxsLCAiYW55IiwgIiIpJywgJyI1MSIn
KTsKK3Nob3VsZEJlKCdzdGVwRG93bkV4cGxpY2l0Qm91bmRzKG51bGwsIG51bGwsICJhbnkiLCAi
IiknLCAnIjQ5IicpOworc2hvdWxkQmUoJ3N0ZXBVcEV4cGxpY2l0Qm91bmRzKG51bGwsIG51bGws
ICJmb28iLCAiIiknLCAnIjUxIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duRXhwbGljaXRCb3VuZHMo
bnVsbCwgbnVsbCwgImZvbyIsICIiKScsICciNDkiJyk7CitzaG91bGRCZSgnc3RlcFVwRXhwbGlj
aXRCb3VuZHMobnVsbCwgbnVsbCwgbnVsbCwgImZvbyIpJywgJyI1MSInKTsKK3Nob3VsZEJlKCdz
dGVwRG93bkV4cGxpY2l0Qm91bmRzKG51bGwsIG51bGwsIG51bGwsICJmb28iKScsICciNDkiJyk7
CitzaG91bGRCZSgnc3RlcFVwRXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwgImFueSIsICJmb28i
KScsICciNTEiJyk7CitzaG91bGRCZSgnc3RlcERvd25FeHBsaWNpdEJvdW5kcyhudWxsLCBudWxs
LCAiYW55IiwgImZvbyIpJywgJyI0OSInKTsKK3Nob3VsZEJlKCdzdGVwVXBFeHBsaWNpdEJvdW5k
cyhudWxsLCBudWxsLCAiZm9vIiwgImZvbyIpJywgJyI1MSInKTsKK3Nob3VsZEJlKCdzdGVwRG93
bkV4cGxpY2l0Qm91bmRzKG51bGwsIG51bGwsICJmb28iLCAiZm9vIiknLCAnIjQ5IicpOworZGVi
dWcoJ05vcm1hbCBjYXNlcycpOworc2hvdWxkQmUoJ3N0ZXBVcEV4cGxpY2l0Qm91bmRzKG51bGws
IG51bGwsIG51bGwsICIwIiknLCAnIjEiJyk7CitzaG91bGRCZSgnc3RlcFVwRXhwbGljaXRCb3Vu
ZHMobnVsbCwgbnVsbCwgbnVsbCwgIjEiLCAyKScsICciMyInKTsKK3Nob3VsZEJlKCdzdGVwVXBF
eHBsaWNpdEJvdW5kcyhudWxsLCBudWxsLCBudWxsLCAiMyIsIC0xKScsICciMiInKTsKK3Nob3Vs
ZEJlKCdzdGVwRG93bkV4cGxpY2l0Qm91bmRzKCItMTAwIiwgbnVsbCwgbnVsbCwgIjIiKScsICci
MSInKTsKK3Nob3VsZEJlKCdzdGVwRG93bkV4cGxpY2l0Qm91bmRzKCItMTAwIiwgbnVsbCwgbnVs
bCwgIjEiLCAyKScsICciLTEiJyk7CitzaG91bGRCZSgnc3RlcERvd25FeHBsaWNpdEJvdW5kcygi
LTEwMCIsIG51bGwsIG51bGwsICItMSIsIC0xKScsICciMCInKTsKK2RlYnVnKCdJbnZhbGlkIHN0
ZXAgdmFsdWUnKTsKK3Nob3VsZEJlKCdzdGVwVXBFeHBsaWNpdEJvdW5kcyhudWxsLCBudWxsLCAi
Zm9vIiwgIjAiKScsICciMSInKTsKK3Nob3VsZEJlKCdzdGVwVXBFeHBsaWNpdEJvdW5kcyhudWxs
LCBudWxsLCAiMCIsICIxIiknLCAnIjIiJyk7CitzaG91bGRCZSgnc3RlcFVwRXhwbGljaXRCb3Vu
ZHMobnVsbCwgbnVsbCwgIi0xIiwgIjIiKScsICciMyInKTsKK3Nob3VsZEJlKCdzdGVwRG93bkV4
cGxpY2l0Qm91bmRzKG51bGwsIG51bGwsICJmb28iLCAiMSIpJywgJyIwIicpOworc2hvdWxkQmUo
J3N0ZXBEb3duRXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwgIjAiLCAiMiIpJywgJyIxIicpOwor
c2hvdWxkQmUoJ3N0ZXBEb3duRXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwgIi0xIiwgIjMiKScs
ICciMiInKTsKK2RlYnVnKCdTdGVwPWFueScpOworc2hvdWxkQmUoJ3N0ZXBVcEV4cGxpY2l0Qm91
bmRzKG51bGwsIG51bGwsICJhbnkiLCAiMSIpJywgJyIyIicpOworc2hvdWxkQmUoJ3N0ZXBEb3du
RXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwgImFueSIsICIxIiknLCAnIjAiJyk7CitkZWJ1Zygn
T3ZlcmZsb3cvdW5kZXJmbG93Jyk7CitzaG91bGRCZSgnc3RlcFVwRXhwbGljaXRCb3VuZHMobnVs
bCwgIjEwMCIsICIxIiwgIjk5IiknLCAnIjEwMCInKTsKK3Nob3VsZEJlKCdzdGVwVXBFeHBsaWNp
dEJvdW5kcyhudWxsLCAiMTAwIiwgIjEiLCAiMTAwIiknLCAnIjEwMCInKTsKK3Nob3VsZEJlKCdz
dGVwVXBFeHBsaWNpdEJvdW5kcyhudWxsLCAiMTAwIiwgIjEiLCAiOTkiLCAyKScsICciMTAwIicp
Oworc2hvdWxkQmUoJ3N0ZXBEb3duRXhwbGljaXRCb3VuZHMoIjAiLCBudWxsLCAiMSIsICIxIikn
LCAnIjAiJyk7CitzaG91bGRCZSgnc3RlcERvd25FeHBsaWNpdEJvdW5kcygiMCIsIG51bGwsICIx
IiwgIjAiKScsICciMCInKTsKK3Nob3VsZEJlKCdzdGVwRG93bkV4cGxpY2l0Qm91bmRzKCIwIiwg
bnVsbCwgIjEiLCAiMSIsIDIpJywgJyIwIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duRXhwbGljaXRC
b3VuZHMobnVsbCwgbnVsbCwgIjMuNDAyODIzNDZlKzM4IiwgIjEiLCAyKScsICciMCInKTsKK3No
b3VsZEJlKCdzdGVwVXBFeHBsaWNpdEJvdW5kcygtMTAwLCAwLCAxLCAtMSknLCAnIjAiJyk7Citz
aG91bGRCZSgnc3RlcFVwRXhwbGljaXRCb3VuZHMobnVsbCwgMCwgMSwgMCknLCAnIjAiJyk7Citz
aG91bGRCZSgnc3RlcFVwRXhwbGljaXRCb3VuZHMoLTEwMCwgMCwgMSwgLTEsIDIpJywgJyIwIicp
Oworc2hvdWxkQmUoJ3N0ZXBVcEV4cGxpY2l0Qm91bmRzKG51bGwsIG51bGwsICIzLjQwMjgyMzQ2
ZSszOCIsICIxIiwgMiknLCAnIjAiJyk7CitkZWJ1Zygnc3RlcERvd24oKS9zdGVwVXAoKSBmb3Ig
c3RlcE1pc21hdGNoIHZhbHVlcycpOworc2hvdWxkQmUoJ3N0ZXBVcEV4cGxpY2l0Qm91bmRzKG51
bGwsIG51bGwsIDIsIDEpJywgJyI0IicpOworc2hvdWxkQmUoJ3N0ZXBVcEV4cGxpY2l0Qm91bmRz
KDAsIG51bGwsIDEwLCA5LCA5KScsICciMTAwIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duRXhwbGlj
aXRCb3VuZHMoMCwgbnVsbCwgMTAsIDE5KScsICciMTAiJyk7CitkZWJ1ZygndmFsdWUgKyBzdGVw
IGlzIDw9IG1heCwgYnV0IHJvdW5kZWQgcmVzdWx0IHdvdWxkIGJlID4gbWF4LicpOworc2hvdWxk
QmUoJ3N0ZXBVcEV4cGxpY2l0Qm91bmRzKG51bGwsIDk5LCAxMCwgODkpJywgJyI5MCInKTsKK2Rl
YnVnKCdIdWdlIHZhbHVlIGFuZCBzbWFsbCBzdGVwJyk7CitzaG91bGRCZSgnc3RlcFVwRXhwbGlj
aXRCb3VuZHMoMCwgMWUzOCwgMSwgMWUzOCwgOTk5KScsICciMWUrMzgiJyk7CitzaG91bGRCZSgn
c3RlcERvd25FeHBsaWNpdEJvdW5kcygwLCAxZTM4LCAxLCAxZTM4LCA5OTkpJywgJyIxZSszOCIn
KTsKK2RlYnVnKCdGcmFjdGlvbmFsIG51bWJlcnMnKTsKK3Nob3VsZEJlKCdzdGVwVXBFeHBsaWNp
dEJvdW5kcyhudWxsLCBudWxsLCAwLjMzMzMzMzMzMzMzMzMzMzMzLCAwLCAzKScsICciMSInKTsK
K3Nob3VsZEJlKCdzdGVwVXBFeHBsaWNpdEJvdW5kcyhudWxsLCBudWxsLCAwLjEsIDEpJywgJyIx
LjEiJyk7CitzaG91bGRCZSgnc3RlcFVwRXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwgMC4xLCAx
LCA4KScsICciMS44IicpOworc2hvdWxkQmUoJ3N0ZXBVcEV4cGxpY2l0Qm91bmRzKG51bGwsIG51
bGwsIDAuMSwgMSwgMTApJywgJyIyIicpOworc2hvdWxkQmUoJ3N0ZXBVcEV4cGxpY2l0Qm91bmRz
KDAsIDEsIDAuMDAzOTIxNTY4NjI3NDUwOTgwLCAwLCAyNTUpJywgJyIxIicpOworc2hvdWxkQmUo
J3N0ZXBEb3duRXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwgMC4xLCAxLCA4KScsICciMC4yIicp
Oworc2hvdWxkQmUoJ3N0ZXBEb3duRXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwgMC4xLCAxKScs
ICciMC45IicpOworCitkZWJ1ZygnJyk7CitkZWJ1ZygnVGltZSB0eXBlJyk7CitpbnB1dC50eXBl
ID0gJ3RpbWUnOworZGVidWcoJ0Z1bmN0aW9uIGFyZ3VtZW50cyBhcmUgKHZhbHVlLCBzdGVwLCB7
bWluIG9yIG1heH0sIFtzdGVwQ291bnRdKS4nKTsKK2RlYnVnKCdOb3JtYWwgY2FzZXMnKTsKK3No
b3VsZEJlKCdzdGVwVXAoIjIwOjEzIiwgbnVsbCwgbnVsbCknLCAnIjIwOjE0IicpOworc2hvdWxk
QmUoJ3N0ZXBEb3duKCIyMDoxMyIsIG51bGwsIG51bGwpJywgJyIyMDoxMiInKTsKK3Nob3VsZEJl
KCdzdGVwVXAoIjIwOjEzIiwgbnVsbCwgbnVsbCwgMTApJywgJyIyMDoyMyInKTsKK3Nob3VsZEJl
KCdzdGVwRG93bigiMjA6MTMiLCBudWxsLCBudWxsLCAxMSknLCAnIjIwOjAyIicpOworc2hvdWxk
QmUoJ3N0ZXBVcCgiMjA6MTMiLCAiNCIsIG51bGwsIDIpJywgJyIyMDoxMzowOCInKTsKK3Nob3Vs
ZEJlKCdzdGVwRG93bigiMjA6MTMiLCAiNCIsIG51bGwsIDMpJywgJyIyMDoxMjo0OCInKTsKK2Rl
YnVnKCdTdGVwPWFueScpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMjA6MTMiLCAiYW55IiwgbnVsbCkn
LCAnIjIwOjEzIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIyMDoxMyIsICJhbnkiLCBudWxsKScs
ICciMjA6MTMiJyk7CitkZWJ1ZygnT3ZlcmZsb3cvdW5kZXJmbG93Jyk7CitzaG91bGRCZSgnc3Rl
cFVwKCIyMDoxMyIsICIzLjQwMjgyMzQ2ZSszOCIsIG51bGwpJywgJyIyMzo1OTo1OS45OTkiJyk7
CitzaG91bGRCZSgnc3RlcERvd24oIjIwOjEzIiwgIjMuNDAyODIzNDZlKzM4IiwgbnVsbCknLCAn
IjAwOjAwOjAwLjAwMCInKTsKK3Nob3VsZEJlKCdzdGVwVXAoIjIwOjEzIiwgIjEiLCAiMjA6MTMi
KScsICciMjA6MTMiJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjIwOjEzIiwgIjEiLCAiMjA6MTMi
KScsICciMjA6MTMiJyk7CitzaG91bGRCZSgnc3RlcFVwKCIyMzo1OSIsIG51bGwsIG51bGwpJywg
JyIyMzo1OSInKTsKK3Nob3VsZEJlKCdzdGVwRG93bigiMDA6MDAiLCBudWxsLCBudWxsKScsICci
MDA6MDAiJyk7CitkZWJ1Zygnc3RlcERvd24oKS9zdGVwVXAoKSBmb3Igc3RlcE1pc21hdGNoIHZh
bHVlcycpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIyMDoxMyIsICIzIiwgIjIwOjEyOjU2IiknLCAn
IjIwOjEyOjU5IicpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMDA6MTMiLCAiNyIsICIiKScsICciMDA6
MTM6MDQiJyk7CisKK2RlYnVnKCcnKTsKK2RlYnVnKCdXZWVrIHR5cGUnKTsKK2lucHV0LnR5cGUg
PSAnd2Vlayc7CitkZWJ1ZygnRnVuY3Rpb24gYXJndW1lbnRzIGFyZSAodmFsdWUsIHN0ZXAsIHtt
aW4gb3IgbWF4fSwgW3N0ZXBDb3VudF0pLicpOworZGVidWcoJ05vcm1hbCBjYXNlcycpOworc2hv
dWxkQmUoJ3N0ZXBVcCgiMjAxMC1XMDIiLCBudWxsLCBudWxsKScsICciMjAxMC1XMDMiJyk7Citz
aG91bGRCZSgnc3RlcERvd24oIjIwMTAtVzAyIiwgbnVsbCwgbnVsbCknLCAnIjIwMTAtVzAxIicp
Oworc2hvdWxkQmUoJ3N0ZXBVcCgiMjAxMC1XMDIiLCBudWxsLCBudWxsLCAxMCknLCAnIjIwMTAt
VzEyIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIyMDEwLVcwMiIsIG51bGwsIG51bGwsIDExKScs
ICciMjAwOS1XNDQiJyk7CitzaG91bGRCZSgnc3RlcFVwKCIxOTcwLVcwMSIsICI0IiwgbnVsbCwg
MiknLCAnIjE5NzAtVzA5IicpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIxOTcwLVcwMSIsICI0Iiwg
bnVsbCwgMyknLCAnIjE5NjktVzQxIicpOworZGVidWcoJ1N0ZXA9YW55Jyk7CitzaG91bGRCZSgn
c3RlcFVwKCIyMDEwLVcwMiIsICJhbnkiLCBudWxsKScsICciMjAxMC1XMDIiJyk7CitzaG91bGRC
ZSgnc3RlcERvd24oIjIwMTAtVzAyIiwgImFueSIsIG51bGwpJywgJyIyMDEwLVcwMiInKTsKK2Rl
YnVnKCdPdmVyZmxvdy91bmRlcmZsb3cnKTsKK3Nob3VsZEJlKCdzdGVwVXAoIjIwMTAtVzAyIiwg
IjMuNDAyODIzNDZlKzM4IiwgbnVsbCknLCAnIjI3NTc2MC1XMzciJyk7CitzaG91bGRCZSgnc3Rl
cERvd24oIjIwMTAtVzAyIiwgIjMuNDAyODIzNDZlKzM4IiwgbnVsbCknLCAnIjE5NzAtVzAxIicp
Oworc2hvdWxkQmUoJ3N0ZXBVcCgiMjAxMC1XMDIiLCAiMSIsICIyMDEwLVcwMiIpJywgJyIyMDEw
LVcwMiInKTsKK3Nob3VsZEJlKCdzdGVwRG93bigiMjAxMC1XMDIiLCAiMSIsICIyMDEwLVcwMiIp
JywgJyIyMDEwLVcwMiInKTsKK2RlYnVnKCdzdGVwRG93bigpL3N0ZXBVcCgpIGZvciBzdGVwTWlz
bWF0Y2ggdmFsdWVzJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjIwMTAtVzAyIiwgIjIiLCAiMjAw
OS1XNTIiKScsICciMjAxMC1XMDEiJyk7CitzaG91bGRCZSgnc3RlcFVwKCIxOTcwLVcwMiIsICI0
IiwgIiIpJywgJyIxOTcwLVcwNSInKTsKKworZGVidWcoJycpOwordmFyIHN1Y2Nlc3NmdWxseVBh
cnNlZCA9IHRydWU7CmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hh
bmdlTG9nCmluZGV4IDVkMWMzYzM2MTU2ZTI3ZWYwNTBmZDUzOTlhOGMxYWQyN2IxMjVhYTUuLmZm
NDYyYTM0OWE4ZGQ5M2ZlZGYxNmQzYmQwOTQwMmU5NTdjMTNhNTYgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNjYgQEAKKzIw
MTAtMTEtMjQgIERhaSBNaWt1cnViZSAgPGRtaWt1cnViZUBnb29nbGUuY29tPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIHdoZW4gZW1wdHksIGNsaWNr
aW5nICJkb3duIiBvbiBvdXRlci1zcGluLWJ1dHRvbiByZXR1cm5zICJtYXggdmFsdWUiCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NTQ5MQorCisgICAg
ICAgIE1vZGlmaWVkIHN0ZXBwaW5nLXVwL2Rvd24gZnJvbSByZW5kZXJlcgorICAgICAgICAtIHRv
IGNsYW1wIHN0ZXBzLAorICAgICAgICAtIHRvIGhhbmRsZSBlbXB0eSB2YWx1ZXMgKGRlc2NyaWJl
ZCBiZWxvdyksIGFuZAorICAgICAgICAtIHRvIGFwcGx5IHRoZW0gZm9yIHJhbmdlIHR5cGUgaW5w
dXRzLgorCisgICAgICAgIFN0ZXBwaW5nLXVwL2Rvd24gZm9yIGVtcHR5IHZhbHVlcyBhcmUgaGFu
ZGxlZCAidGhlIGVtcHR5IGFzIDAuIgorICAgICAgICBGb3IgZXhhbXBsZSA6CisgICAgICAgICog
SWYgMCBpcyBpbi1yYW5nZSwgYW5kIG1hdGNoZXMgdG8gc3RlcCB2YWx1ZQorICAgICAgICAgICJk
b3duIiAtPiAtc3RlcAorICAgICAgICAgICJ1cCIgLT4gK3N0ZXAKKyAgICAgICAgICBJZiAtc3Rl
cCBvciArc3RlcCBpcyBvdXQgb2YgcmFuZ2UsIG5ldyB2YWx1ZSBzaG91bGQgYmUgMC4KKworICAg
ICAgICAqIElmIDAgaXMgc21hbGxlciB0aGFuIHRoZSBtaW5pbXVtIHZhbHVlCisgICAgICAgICAg
ImRvd24iIC0+IHRoZSBtaW5pbXVtIHZhbHVlCisgICAgICAgICAgInVwIiAtPiB0aGUgbWluaW11
bSB2YWx1ZQorCisgICAgICAgICogSWYgMCBpcyBsYXJnZXIgdGhhbiB0aGUgbWF4aW11bSB2YWx1
ZQorICAgICAgICAgICJkb3duIiAtPiB0aGUgbWF4aW11bSB2YWx1ZQorICAgICAgICAgICJ1cCIg
LT4gdGhlIG1heGltdW0gdmFsdWUKKworICAgICAgICAqIElmIDAgaXMgaW4tcmFuZ2UsIGJ1dCBu
b3QgbWF0Y2hlZCB0byBzdGVwIHZhbHVlCisgICAgICAgICAgImRvd24iIC0+IHNtYWxlciBtYXRj
aGVkIHZhbHVlIG5lYXJlc3QgdG8gMC4KKyAgICAgICAgICAgIGUuZy4gPGlucHV0IHR5cGU9bnVt
YmVyIG1pbj0tMTAwIHN0ZXA9Mz4gLT4gLTEKKyAgICAgICAgICAidXAiIC0+IGxhcmdlciBtYXRj
aGVkIHZhbHVlIG5lYXJlc3QgdG8gMC4KKyAgICAgICAgICAgIGUuZy4gPGlucHV0IHR5cGU9bnVt
YmVyIG1pbj0tMTAwIHN0ZXA9Mz4gLT4gMgorCisgICAgICAgIEFzIGZvciBkYXRlL2RhdGV0aW1l
L2RhdGV0aW1lLWxvY2FsL21vbnRoL3RpbWUvd2VlayB0eXBlcywgdGhlIGVtcHR5IGlzIGFzc3Vt
ZWQgYXMgImN1cnJlbnQgZGF0ZS90aW1lIi4KKworICAgICAgICBBcyBmb3IgcmFuZ2UgaW5wdXQg
dHlwZXMsIGNoYW5nZWQgc3RlcHBpbmcgZnJvbSByZW5kZXJlciB0byB1c2Ugc3RlcFVwRnJvbVJl
bmRlcmVyKCkuCisgICAgICAgIEl0IHdhcyBjYWxjdWxhdGVkIHdpdGggc3RlcFVwKCkgZnJvbSBS
YW5nZUlucHV0VHlwZTo6aGFuZGxlS2V5ZG93bkV2ZW50KCkuCisKKyAgICAgICAgVGVzdDogZmFz
dC9mb3Jtcy9pbnB1dC1zdGVwdXAtc3RlcGRvd24tZnJvbS1yZW5kZXJlci5odG1sCisKKyAgICAg
ICAgKiBodG1sL0Jhc2VEYXRlQW5kVGltZUlucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpCYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGU6OmRlZmF1bHRWYWx1ZUZvclN0ZXBVcCk6IEFkZGVk
IGRlZmF1bHRWYWx1ZUZvclN0ZXBVcCgpIHdoaWNoIHJldHVybnMgdGhlIGN1cnJlbnQgbG9jYWwg
dGltZQorICAgICAgICAqIGh0bWwvQmFzZURhdGVBbmRUaW1lSW5wdXRUeXBlLmg6CisgICAgICAg
ICogaHRtbC9EYXRlVGltZUlucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEYXRlVGlt
ZUlucHV0VHlwZTo6ZGVmYXVsdFZhbHVlRm9yU3RlcFVwKTogQWRkZWQgZGVmYXVsdFZhbHVlRm9y
U3RlcFVwKCkgd2hpY2ggcmV0dXJucyB0aGUgY3VycmVudCBVVEMgdGltZQorICAgICAgICAqIGh0
bWwvRGF0ZVRpbWVJbnB1dFR5cGUuaDoKKyAgICAgICAgKiBodG1sL0hUTUxJbnB1dEVsZW1lbnQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6c3RlcFVwRnJvbVJlbmRl
cmVyKTogTW9kaWZpZWQgaXQgdG8gY2xhbXAgc3RlcHMsIHN1cHBvcnQgZW1wdHkgdmFsdWVzIGFu
ZCBzdXBwb3J0IHJhbmdlIHR5cGUgaW5wdXRzCisgICAgICAgICogaHRtbC9IVE1MSW5wdXRFbGVt
ZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50Ojppc1JhbmdlQ29udHJv
bCk6CisgICAgICAgICogaHRtbC9JbnB1dFR5cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5w
dXRUeXBlOjpkZWZhdWx0VmFsdWVGb3JTdGVwVXApOiBBZGRlZCBkZWZhdWx0VmFsdWVGb3JTdGVw
VXAoKSB3aGljaCByZXR1cm5zIDAKKyAgICAgICAgKiBodG1sL0lucHV0VHlwZS5oOgorICAgICAg
ICAqIGh0bWwvTW9udGhJbnB1dFR5cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TW9udGhJbnB1
dFR5cGU6OmRlZmF1bHRWYWx1ZUZvclN0ZXBVcCk6IEFkZGVkIGRlZmF1bHRWYWx1ZUZvclN0ZXBV
cCgpIHdoaWNoIHJldHVybnMgdGhlIGN1cnJlbnQgbW9udGgKKyAgICAgICAgKiBodG1sL01vbnRo
SW5wdXRUeXBlLmg6CisgICAgICAgICogaHRtbC9SYW5nZUlucHV0VHlwZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSYW5nZUlucHV0VHlwZTo6aGFuZGxlS2V5ZG93bkV2ZW50KTogQWRkZWQgY29t
bWVudHMgYW5kIG1vZGlmaWVkIGl0IHRvIHVzZSBzdGVwVXBGcm9tUmVuZGVyZXIoKQorICAgICAg
ICAqIGh0bWwvVGltZUlucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUaW1lSW5wdXRU
eXBlOjpkZWZhdWx0VmFsdWVGb3JTdGVwVXApOiBBZGRlZCBkZWZhdWx0VmFsdWVGb3JTdGVwVXAo
KSB3aGljaCByZXR1cm5zIHRoZSBjdXJyZW50IHRpbWUKKyAgICAgICAgKiBodG1sL1RpbWVJbnB1
dFR5cGUuaDoKKyAgICAgICAgKiBtYW51YWwtdGVzdHMvaW5wdXQtdHlwZS1kYXRldGltZS1kZWZh
dWx0LXZhbHVlLmh0bWw6IEFkZGVkIG1hbnVhbCB0ZXN0cyBmb3IgZGVmYXVsdCB2YWx1ZXMgb2Yg
ZGF0ZS90aW1lIGlucHV0cyBzaW5jZSB0aGV5IGFyZSAidGhlIGN1cnJlbnQgdGltZSIsIHdoaWNo
IGNhbm5vdCBiZSB0ZXN0ZWQgYXV0b21hdGljYWxseS4KKwogMjAxMC0xMS0xOCAgR2F2aW4gQmFy
cmFjbG91Z2ggIDxiYXJyYWNsb3VnaEBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkg
T2xpdmVyIEh1bnQuCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvQmFzZURhdGVBbmRUaW1lSW5w
dXRUeXBlLmNwcCBiL1dlYkNvcmUvaHRtbC9CYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGUuY3BwCmlu
ZGV4IGU3ODBlZDZiYTI0ZDIwZmFmYmRiNjI5ZTI4MzY5ODVmMWE1YTkwY2MuLjcwMjQzZTU5YzRl
ZjE3ZGFkMTMwNzMwZTZlMzg2NGJmNzYwNjcwZDcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9C
YXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGUuY3BwCisrKyBiL1dlYkNvcmUvaHRtbC9CYXNlRGF0ZUFu
ZFRpbWVJbnB1dFR5cGUuY3BwCkBAIC0zNSw2ICszNSw4IEBACiAjaW5jbHVkZSAiSFRNTElucHV0
RWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1ZGUgPGxpbWl0cz4KKyNp
bmNsdWRlIDx3dGYvQ3VycmVudFRpbWUuaD4KKyNpbmNsdWRlIDx3dGYvRGF0ZU1hdGguaD4KICNp
bmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAj
aW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CkBAIC05MSw2ICs5MywxNSBAQCBib29sIEJh
c2VEYXRlQW5kVGltZUlucHV0VHlwZTo6cmFuZ2VPdmVyZmxvdyhjb25zdCBTdHJpbmcmIHZhbHVl
KSBjb25zdAogICAgIHJldHVybiBpc2Zpbml0ZShkb3VibGVWYWx1ZSkgJiYgZG91YmxlVmFsdWUg
PiBtYXhpbXVtKCk7CiB9CiAKK2RvdWJsZSBCYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGU6OmRlZmF1
bHRWYWx1ZUZvclN0ZXBVcCgpIGNvbnN0Cit7CisgICAgZG91YmxlIG1zID0gY3VycmVudFRpbWVN
UygpOworICAgIGRvdWJsZSB1dGNPZmZzZXQgPSBjYWxjdWxhdGVVVENPZmZzZXQoKTsKKyAgICBk
b3VibGUgZHN0T2Zmc2V0ID0gY2FsY3VsYXRlRFNUT2Zmc2V0KG1zLCB1dGNPZmZzZXQpOworICAg
IGludCBvZmZzZXQgPSBzdGF0aWNfY2FzdDxpbnQ+KCh1dGNPZmZzZXQgKyBkc3RPZmZzZXQpIC8g
bXNQZXJNaW51dGUpOworICAgIHJldHVybiBtcyArIChvZmZzZXQgKiBtc1Blck1pbnV0ZSk7Cit9
CisKIGJvb2wgQmFzZURhdGVBbmRUaW1lSW5wdXRUeXBlOjpzdGVwTWlzbWF0Y2goY29uc3QgU3Ry
aW5nJiB2YWx1ZSwgZG91YmxlIHN0ZXApIGNvbnN0CiB7CiAgICAgY29uc3QgZG91YmxlIG5hbiA9
IG51bWVyaWNfbGltaXRzPGRvdWJsZT46OnF1aWV0X05hTigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9odG1sL0Jhc2VEYXRlQW5kVGltZUlucHV0VHlwZS5oIGIvV2ViQ29yZS9odG1sL0Jhc2VEYXRl
QW5kVGltZUlucHV0VHlwZS5oCmluZGV4IDExYzYwYWZjYTY1OGM2YjcyMmZjMDI3ZGRlNTg0Y2Q2
NzU2MGQ0OWEuLmFkNzMwMmE5ZTFiYWRiY2VmY2ExOTM4ZWYwZWUyNGM3Nzk0NGVjZmMgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvaHRtbC9CYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGUuaAorKysgYi9XZWJD
b3JlL2h0bWwvQmFzZURhdGVBbmRUaW1lSW5wdXRUeXBlLmgKQEAgLTU1LDYgKzU1LDcgQEAgcHJp
dmF0ZToKICAgICB2aXJ0dWFsIGJvb2wgdHlwZU1pc21hdGNoKCkgY29uc3Q7CiAgICAgdmlydHVh
bCBib29sIHJhbmdlVW5kZXJmbG93KGNvbnN0IFN0cmluZyYpIGNvbnN0OwogICAgIHZpcnR1YWwg
Ym9vbCByYW5nZU92ZXJmbG93KGNvbnN0IFN0cmluZyYpIGNvbnN0OworICAgIHZpcnR1YWwgZG91
YmxlIGRlZmF1bHRWYWx1ZUZvclN0ZXBVcCgpIGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBzdGVw
TWlzbWF0Y2goY29uc3QgU3RyaW5nJiwgZG91YmxlKSBjb25zdDsKICAgICB2aXJ0dWFsIGRvdWJs
ZSBzdGVwQmFzZSgpIGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBoYW5kbGVLZXlkb3duRXZlbnQo
S2V5Ym9hcmRFdmVudCopOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0RhdGVUaW1lSW5wdXRU
eXBlLmNwcCBiL1dlYkNvcmUvaHRtbC9EYXRlVGltZUlucHV0VHlwZS5jcHAKaW5kZXggYzc4YTU0
MDU2YTE1ZTEwMjk2ZGVlODJkMDYzZTQ2MjI5YzA4MzZkNy4uNzg2NDFmODdkZjdiYjMxZWQ0MmJh
YTIxMzQxYzFjYjk3MzUxNzJiNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0RhdGVUaW1lSW5w
dXRUeXBlLmNwcAorKysgYi9XZWJDb3JlL2h0bWwvRGF0ZVRpbWVJbnB1dFR5cGUuY3BwCkBAIC0z
NCw2ICszNCw3IEBACiAjaW5jbHVkZSAiRGF0ZUNvbXBvbmVudHMuaCIKICNpbmNsdWRlICJIVE1M
SW5wdXRFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCisjaW5jbHVkZSA8d3RmL0N1
cnJlbnRUaW1lLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewpAQCAtNTMsNiArNTQsMTEgQEAgY29uc3QgQXRvbWljU3RyaW5nJiBEYXRlVGltZUlu
cHV0VHlwZTo6Zm9ybUNvbnRyb2xUeXBlKCkgY29uc3QKICAgICByZXR1cm4gSW5wdXRUeXBlTmFt
ZXM6OmRhdGV0aW1lKCk7CiB9CiAKK2RvdWJsZSBEYXRlVGltZUlucHV0VHlwZTo6ZGVmYXVsdFZh
bHVlRm9yU3RlcFVwKCkgY29uc3QKK3sKKyAgICByZXR1cm4gY3VycmVudFRpbWVNUygpOworfQor
CiBkb3VibGUgRGF0ZVRpbWVJbnB1dFR5cGU6Om1pbmltdW0oKSBjb25zdAogewogICAgIHJldHVy
biBwYXJzZVRvRG91YmxlKGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJpYnV0ZShtaW5BdHRyKSwgRGF0
ZUNvbXBvbmVudHM6Om1pbmltdW1EYXRlVGltZSgpKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRt
bC9EYXRlVGltZUlucHV0VHlwZS5oIGIvV2ViQ29yZS9odG1sL0RhdGVUaW1lSW5wdXRUeXBlLmgK
aW5kZXggMTQwOTc1YjE5NTE4NGFlMGI2ZDhmOGVhNGQ1NjM0ODVlMTYxYWMzZi4uOWEwZWZkMWYz
OTIxOTAwODM5ZTI3N2EzMjU1NGZlNWZhMjM3ZWQ4NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1s
L0RhdGVUaW1lSW5wdXRUeXBlLmgKKysrIGIvV2ViQ29yZS9odG1sL0RhdGVUaW1lSW5wdXRUeXBl
LmgKQEAgLTQyLDYgKzQyLDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBEYXRlVGltZUlucHV0
VHlwZShIVE1MSW5wdXRFbGVtZW50KiBlbGVtZW50KSA6IEJhc2VEYXRlQW5kVGltZUlucHV0VHlw
ZShlbGVtZW50KSB7IH0KICAgICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgZm9ybUNvbnRy
b2xUeXBlKCkgY29uc3Q7CisgICAgdmlydHVhbCBkb3VibGUgZGVmYXVsdFZhbHVlRm9yU3RlcFVw
KCkgY29uc3Q7CiAgICAgdmlydHVhbCBkb3VibGUgbWluaW11bSgpIGNvbnN0OwogICAgIHZpcnR1
YWwgZG91YmxlIG1heGltdW0oKSBjb25zdDsKICAgICB2aXJ0dWFsIGRvdWJsZSBkZWZhdWx0U3Rl
cCgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3Bw
IGIvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCmluZGV4IGFmNGU3ZDA1NDgyMTcx
MTBlMzk3YzNiYzRhMWZlY2Y3NzY3YjU4MDkuLmU2YzI3MzhmMjcxMTg2NzEyZjQ5ZDIxZTlkMWVh
ZjFjODNlOTQ3YjIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNw
cAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAKQEAgLTE4NDksMzcgKzE4
NDksMTEyIEBAIEhUTUxPcHRpb25FbGVtZW50KiBIVE1MSW5wdXRFbGVtZW50OjpzZWxlY3RlZE9w
dGlvbigpIGNvbnN0CiB2b2lkIEhUTUxJbnB1dEVsZW1lbnQ6OnN0ZXBVcEZyb21SZW5kZXJlcihp
bnQgbikKIHsKICAgICAvLyBUaGUgZGlmZmVyZW5jZXMgZnJvbSBzdGVwVXAoKS9zdGVwRG93bigp
OgotICAgIC8vIElmIHRoZSBjdXJyZW50IHZhbHVlIGlzIG5vdCBhIG51bWJlciwgdGhlIHZhbHVl
IHdpbGwgYmUKLSAgICAvLyAgLSBUaGUgdmFsdWUgc2hvdWxkIGJlIHRoZSBtaW5pbXVtIHZhbHVl
IGlmIG4gPiAwCi0gICAgLy8gIC0gVGhlIHZhbHVlIHNob3VsZCBiZSB0aGUgbWF4aW11bSB2YWx1
ZSBpZiBuIDwgMAorICAgIC8vCisgICAgLy8gRGlmZmVyZW5jZSAxOiB0aGUgY3VycmVudCB2YWx1
ZQorICAgIC8vIElmIHRoZSBjdXJyZW50IHZhbHVlIGlzIG5vdCBhIG51bWJlciwgaW5jbHVkaW5n
IGVtcHR5LCB0aGUgY3VycmVudCB2YWx1ZSBpcyBhc3N1bWVkIGFzIDAuCisgICAgLy8gICAqIElm
IDAgaXMgaW4tcmFuZ2UsIGFuZCBtYXRjaGVzIHRvIHN0ZXAgdmFsdWUKKyAgICAvLyAgICAgLSBU
aGUgdmFsdWUgc2hvdWxkIGJlIHRoZSArc3RlcCBpZiBuID4gMAorICAgIC8vICAgICAtIFRoZSB2
YWx1ZSBzaG91bGQgYmUgdGhlIC1zdGVwIGlmIG4gPCAwCisgICAgLy8gICAgIElmIC1zdGVwIG9y
ICtzdGVwIGlzIG91dCBvZiByYW5nZSwgbmV3IHZhbHVlIHNob3VsZCBiZSAwLgorICAgIC8vICAg
KiBJZiAwIGlzIHNtYWxsZXIgdGhhbiB0aGUgbWluaW11bSB2YWx1ZQorICAgIC8vICAgICAtIFRo
ZSB2YWx1ZSBzaG91bGQgYmUgdGhlIG1pbmltdW0gdmFsdWUgZm9yIGFueSBuCisgICAgLy8gICAq
IElmIDAgaXMgbGFyZ2VyIHRoYW4gdGhlIG1heGltdW0gdmFsdWUKKyAgICAvLyAgICAgLSBUaGUg
dmFsdWUgc2hvdWxkIGJlIHRoZSBtYXhpbXVtIHZhbHVlIGZvciBhbnkgbgorICAgIC8vICAgKiBJ
ZiAwIGlzIGluLXJhbmdlLCBidXQgbm90IG1hdGNoZWQgdG8gc3RlcCB2YWx1ZQorICAgIC8vICAg
ICAtIFRoZSB2YWx1ZSBzaG91bGQgYmUgdGhlIGxhcmdlciBtYXRjaGVkIHZhbHVlIG5lYXJlc3Qg
dG8gMCBpZiBuID4gMAorICAgIC8vICAgICAgIGUuZy4gPGlucHV0IHR5cGU9bnVtYmVyIG1pbj0t
MTAwIHN0ZXA9Mz4gLT4gMgorICAgIC8vICAgICAtIFRoZSB2YWx1ZSBzaG91bGQgYmUgdGhlIHNt
YWxlciBtYXRjaGVkIHZhbHVlIG5lYXJlc3QgdG8gMCBpZiBuIDwgMAorICAgIC8vICAgICAgIGUu
Zy4gPGlucHV0IHR5cGU9bnVtYmVyIG1pbj0tMTAwIHN0ZXA9Mz4gLT4gLTEKKyAgICAvLyAgIEFz
IGZvciBkYXRlL2RhdGV0aW1lL2RhdGV0aW1lLWxvY2FsL21vbnRoL3RpbWUvd2VlayB0eXBlcywg
dGhlIGN1cnJlbnQgdmFsdWUgaXMgYXNzdW1lZCBhcyAidGhlIGN1cnJlbnQgZGF0ZS90aW1lIi4K
ICAgICAvLyBJZiB0aGUgY3VycmVudCB2YWx1ZSBpcyBzbWFsbGVyIHRoYW4gdGhlIG1pbmltdW0g
dmFsdWU6CiAgICAgLy8gIC0gVGhlIHZhbHVlIHNob3VsZCBiZSB0aGUgbWluaW11bSB2YWx1ZSBp
ZiBuID4gMAogICAgIC8vICAtIE5vdGhpbmcgc2hvdWxkIGhhcHBlbiBpZiBuIDwgMAogICAgIC8v
IElmIHRoZSBjdXJyZW50IHZhbHVlIGlzIGxhcmdlciB0aGFuIHRoZSBtYXhpbXVtIHZhbHVlOgog
ICAgIC8vICAtIFRoZSB2YWx1ZSBzaG91bGQgYmUgdGhlIG1heGltdW0gdmFsdWUgaWYgbiA8IDAK
ICAgICAvLyAgLSBOb3RoaW5nIHNob3VsZCBoYXBwZW4gaWYgbiA+IDAKLQotICAgIEFTU0VSVCho
YXNTcGluQnV0dG9uKCkpOwotICAgIGlmICghaGFzU3BpbkJ1dHRvbigpKQorICAgIC8vCisgICAg
Ly8gRGlmZmVyZW5jZSAyOiBjbGFtcGluZyBzdGVwcworICAgIC8vIElmIHRoZSBjdXJyZW50IHZh
bHVlIGlzIG5vdCBtYXRjaGVkIHRvIHN0ZXAgdmFsdWU6CisgICAgLy8gLSBUaGUgdmFsdWUgc2hv
dWxkIGJlIHRoZSBsYXJnZXIgbWF0Y2hlZCB2YWx1ZSBuZWFyZXN0IHRvIDAgaWYgbiA+IDAKKyAg
ICAvLyAgIGUuZy4gPGlucHV0IHR5cGU9bnVtYmVyIHZhbHVlPTMgbWluPS0xMDAgc3RlcD0zPiAt
PiA1CisgICAgLy8gLSBUaGUgdmFsdWUgc2hvdWxkIGJlIHRoZSBzbWFsZXIgbWF0Y2hlZCB2YWx1
ZSBuZWFyZXN0IHRvIDAgaWYgbiA8IDAKKyAgICAvLyAgIGUuZy4gPGlucHV0IHR5cGU9bnVtYmVy
IHZhbHVlPTMgbWluPS0xMDAgc3RlcD0zPiAtPiAyCisgICAgLy8KKyAgICAvLyBuIGlzIGFzc3Vt
ZWQgYXMgLW4gaWYgc3RlcCA8IDAuCisKKyAgICBBU1NFUlQoaGFzU3BpbkJ1dHRvbigpIHx8IG1f
aW5wdXRUeXBlLT5pc1JhbmdlQ29udHJvbCgpKTsKKyAgICBpZiAoIWhhc1NwaW5CdXR0b24oKSAm
JiAhbV9pbnB1dFR5cGUtPmlzUmFuZ2VDb250cm9sKCkpCiAgICAgICAgIHJldHVybjsKICAgICBB
U1NFUlQobik7CiAgICAgaWYgKCFuKQogICAgICAgICByZXR1cm47CiAKKyAgICB1bnNpZ25lZCBz
dGVwRGVjaW1hbFBsYWNlcywgYmFzZURlY2ltYWxQbGFjZXM7CisgICAgZG91YmxlIHN0ZXAsIGJh
c2U7CisgICAgLy8gVGhlIHZhbHVlIHdpbGwgYmUgdGhlIGRlZmF1bHQgdmFsdWUgYWZ0ZXIgc3Rl
cHBpbmcgZm9yIDxpbnB1dCB2YWx1ZT0oZW1wdHkvaW52YWxpZCkgc3RlcD0iYW55IiAvPgorICAg
IC8vIEZJWE1FOiBOb3QgYW55IGNoYW5nZXMgYWZ0ZXIgc3RlcHBpbmcsIGV2ZW4gaWYgaXQgaXMg
YW4gaW52YWxpZCB2YWx1ZSwgbWF5IGJlIGJldHRlci4KKyAgICAvLyAoZS5nLiBTdGVwcGluZy11
cCBmb3IgPGlucHV0IHR5cGU9Im51bWJlciIgdmFsdWU9ImZvbyIgc3RlcD0iYW55IiAvPiA9PiAi
Zm9vIikKKyAgICBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UoZ2V0QXR0cmlidXRlKHN0ZXBBdHRyKSwg
ImFueSIpKQorICAgICAgICBzdGVwID0gMDsKKyAgICBlbHNlIGlmICghZ2V0QWxsb3dlZFZhbHVl
U3RlcFdpdGhEZWNpbWFsUGxhY2VzKCZzdGVwLCAmc3RlcERlY2ltYWxQbGFjZXMpKQorICAgICAg
ICByZXR1cm47CisgICAgYmFzZSA9IG1faW5wdXRUeXBlLT5zdGVwQmFzZVdpdGhEZWNpbWFsUGxh
Y2VzKCZiYXNlRGVjaW1hbFBsYWNlcyk7CisgICAgYmFzZURlY2ltYWxQbGFjZXMgPSBtaW4oYmFz
ZURlY2ltYWxQbGFjZXMsIDE2dSk7CisKKyAgICBpbnQgc2lnbjsKKyAgICBpZiAoc3RlcCA+IDAp
CisgICAgICAgIHNpZ24gPSBuOworICAgIGVsc2UgaWYgKHN0ZXAgPCAwKQorICAgICAgICBzaWdu
ID0gLW47CisgICAgZWxzZQorICAgICAgICBzaWduID0gMDsKKwogICAgIGNvbnN0IGRvdWJsZSBu
YW4gPSBudW1lcmljX2xpbWl0czxkb3VibGU+OjpxdWlldF9OYU4oKTsKICAgICBTdHJpbmcgY3Vy
cmVudFN0cmluZ1ZhbHVlID0gdmFsdWUoKTsKICAgICBkb3VibGUgY3VycmVudCA9IG1faW5wdXRU
eXBlLT5wYXJzZVRvRG91YmxlKGN1cnJlbnRTdHJpbmdWYWx1ZSwgbmFuKTsKLSAgICBpZiAoIWlz
ZmluaXRlKGN1cnJlbnQpIHx8IChuID4gMCAmJiBjdXJyZW50IDwgbV9pbnB1dFR5cGUtPm1pbmlt
dW0oKSkgfHwgKG4gPCAwICYmIGN1cnJlbnQgPiBtX2lucHV0VHlwZS0+bWF4aW11bSgpKSkKLSAg
ICAgICAgc2V0VmFsdWUobV9pbnB1dFR5cGUtPnNlcmlhbGl6ZShuID4gMCA/IG1faW5wdXRUeXBl
LT5taW5pbXVtKCkgOiBtX2lucHV0VHlwZS0+bWF4aW11bSgpKSk7CisgICAgaWYgKCFpc2Zpbml0
ZShjdXJyZW50KSkgeworICAgICAgICBFeGNlcHRpb25Db2RlIGVjOworICAgICAgICBjdXJyZW50
ID0gbV9pbnB1dFR5cGUtPmRlZmF1bHRWYWx1ZUZvclN0ZXBVcCgpOworICAgICAgICBzZXRWYWx1
ZUFzTnVtYmVyKGN1cnJlbnQsIGVjKTsKKyAgICB9CisgICAgaWYgKChzaWduID4gMCAmJiBjdXJy
ZW50IDwgbV9pbnB1dFR5cGUtPm1pbmltdW0oKSkgfHwgKHNpZ24gPCAwICYmIGN1cnJlbnQgPiBt
X2lucHV0VHlwZS0+bWF4aW11bSgpKSkKKyAgICAgICAgc2V0VmFsdWUobV9pbnB1dFR5cGUtPnNl
cmlhbGl6ZShzaWduID4gMCA/IG1faW5wdXRUeXBlLT5taW5pbXVtKCkgOiBtX2lucHV0VHlwZS0+
bWF4aW11bSgpKSk7CiAgICAgZWxzZSB7CiAgICAgICAgIEV4Y2VwdGlvbkNvZGUgZWM7Ci0gICAg
ICAgIHN0ZXBVcChuLCBlYyk7CisgICAgICAgIGlmIChzdGVwTWlzbWF0Y2goY3VycmVudFN0cmlu
Z1ZhbHVlKSkgeworICAgICAgICAgICAgQVNTRVJUKHN0ZXApOworICAgICAgICAgICAgZG91Ymxl
IG5ld1ZhbHVlOworICAgICAgICAgICAgZG91YmxlIHNjYWxlID0gcG93KDEwLjAsIHN0YXRpY19j
YXN0PGRvdWJsZT4obWF4KHN0ZXBEZWNpbWFsUGxhY2VzLCBiYXNlRGVjaW1hbFBsYWNlcykpKTsK
KworICAgICAgICAgICAgaWYgKHNpZ24gPCAwKQorICAgICAgICAgICAgICAgIG5ld1ZhbHVlID0g
cm91bmQoKGJhc2UgKyBmbG9vcigoY3VycmVudCAtIGJhc2UpIC8gc3RlcCkgKiBzdGVwKSAqIHNj
YWxlKSAvIHNjYWxlOworICAgICAgICAgICAgZWxzZSBpZiAoc2lnbiA+IDApCisgICAgICAgICAg
ICAgICAgbmV3VmFsdWUgPSByb3VuZCgoYmFzZSArIGNlaWwoKGN1cnJlbnQgLSBiYXNlKSAvIHN0
ZXApICogc3RlcCkgKiBzY2FsZSkgLyBzY2FsZTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAg
ICAgICAgICBuZXdWYWx1ZSA9IGN1cnJlbnQ7CisKKyAgICAgICAgICAgIGlmIChuZXdWYWx1ZSA8
IG1faW5wdXRUeXBlLT5taW5pbXVtKCkpCisgICAgICAgICAgICAgICAgbmV3VmFsdWUgPSBtX2lu
cHV0VHlwZS0+bWluaW11bSgpOworICAgICAgICAgICAgaWYgKG5ld1ZhbHVlID4gbV9pbnB1dFR5
cGUtPm1heGltdW0oKSkKKyAgICAgICAgICAgICAgICBuZXdWYWx1ZSA9IG1faW5wdXRUeXBlLT5t
YXhpbXVtKCk7CisKKyAgICAgICAgICAgIHNldFZhbHVlQXNOdW1iZXIobmV3VmFsdWUsIGVjKTsK
KyAgICAgICAgICAgIGN1cnJlbnQgPSBuZXdWYWx1ZTsKKyAgICAgICAgICAgIGlmIChuID4gMSkK
KyAgICAgICAgICAgICAgICBhcHBseVN0ZXAobiAtIDEsIGVjKTsKKyAgICAgICAgICAgIGVsc2Ug
aWYgKG4gPCAtMSkKKyAgICAgICAgICAgICAgICBhcHBseVN0ZXAobiArIDEsIGVjKTsKKyAgICAg
ICAgfSBlbHNlCisgICAgICAgICAgICBhcHBseVN0ZXAobiwgZWMpOwogICAgIH0KIAogICAgIGlm
IChjdXJyZW50U3RyaW5nVmFsdWUgIT0gdmFsdWUoKSkgewogICAgICAgICBpZiAocmVuZGVyZXIo
KSAmJiByZW5kZXJlcigpLT5pc1RleHRGaWVsZCgpKQogICAgICAgICAgICAgdG9SZW5kZXJUZXh0
Q29udHJvbChyZW5kZXJlcigpKS0+c2V0Q2hhbmdlZFNpbmNlTGFzdENoYW5nZUV2ZW50KHRydWUp
OwotICAgICAgICBkaXNwYXRjaEV2ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmlucHV0
RXZlbnQsIHRydWUsIGZhbHNlKSk7CisgICAgICAgIGlmIChtX2lucHV0VHlwZS0+aXNSYW5nZUNv
bnRyb2woKSkKKyAgICAgICAgICAgIGRpc3BhdGNoRm9ybUNvbnRyb2xDaGFuZ2VFdmVudCgpOwor
ICAgICAgICBlbHNlCisgICAgICAgICAgICBkaXNwYXRjaEV2ZW50KEV2ZW50OjpjcmVhdGUoZXZl
bnROYW1lcygpLmlucHV0RXZlbnQsIHRydWUsIGZhbHNlKSk7CiAgICAgfQogfQogCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oIGIvV2ViQ29yZS9odG1sL0hUTUxJ
bnB1dEVsZW1lbnQuaAppbmRleCA5ODg0MTE3YjgxMWNjYTE5ZWUwNzQ3YjA1ZDA1YjhmY2UwMjJi
NTFiLi42NzYxYjU3OGNmZGQ4NzhjOTc1OTE1YzczMjc4MjcwMjgyZmEwNDY3IDEwMDY0NAotLS0g
YS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1M
SW5wdXRFbGVtZW50LmgKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlICJIVE1MRm9ybUNvbnRy
b2xFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTEZvcm1FbGVtZW50LmgiCiAjaW5jbHVkZSAiSW5w
dXRFbGVtZW50LmgiCisjaW5jbHVkZSAiSW5wdXRUeXBlLmgiCiAjaW5jbHVkZSA8d3RmL093blB0
ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvSW5w
dXRUeXBlLmNwcCBiL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuY3BwCmluZGV4IDZkZDAwMmM0ZjJh
ZmQxNTFlZDQyYmI4ZTMzMGUxZjUyMjRkODMyYzIuLmJhOWU4NzcyMGI4Y2VmMTRiZThmMjg2ZTRh
NDE3MDQxYzM3NjhjZjAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuY3BwCisr
KyBiL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuY3BwCkBAIC0xMjUsNiArMTI1LDExIEBAIGJvb2wg
SW5wdXRUeXBlOjppc1RleHRUeXBlKCkgY29uc3QKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKK2Jv
b2wgSW5wdXRUeXBlOjppc1JhbmdlQ29udHJvbCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGZhbHNl
OworfQorCiBib29sIElucHV0VHlwZTo6c2F2ZUZvcm1Db250cm9sU3RhdGUoU3RyaW5nJiByZXN1
bHQpIGNvbnN0CiB7CiAgICAgU3RyaW5nIGN1cnJlbnRWYWx1ZSA9IGVsZW1lbnQoKS0+dmFsdWUo
KTsKQEAgLTIxMyw2ICsyMTgsMTEgQEAgYm9vbCBJbnB1dFR5cGU6OnJhbmdlT3ZlcmZsb3coY29u
c3QgU3RyaW5nJikgY29uc3QKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKK2RvdWJsZSBJbnB1dFR5
cGU6OmRlZmF1bHRWYWx1ZUZvclN0ZXBVcCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIDA7Cit9CisK
IGRvdWJsZSBJbnB1dFR5cGU6Om1pbmltdW0oKSBjb25zdAogewogICAgIEFTU0VSVF9OT1RfUkVB
Q0hFRCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5oIGIvV2ViQ29yZS9o
dG1sL0lucHV0VHlwZS5oCmluZGV4IGYxYTViNmRjYTBmN2ZhZTIzMDI5ZThjMjY5NDlkYWEyMjJk
NzNiMWEuLjRkY2ZmMDE5MzI3ZmZmMzNjNjcyMjVkMzhiZjQ1OWQyNTM3MTRjMGEgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuaAorKysgYi9XZWJDb3JlL2h0bWwvSW5wdXRUeXBl
LmgKQEAgLTYwLDYgKzYwLDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBib29sIGlzVGV4dEZp
ZWxkKCkgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIGlzVGV4dFR5cGUoKSBjb25zdDsKKyAgICB2
aXJ0dWFsIGJvb2wgaXNSYW5nZUNvbnRyb2woKSBjb25zdDsKICAgICB2aXJ0dWFsIGNvbnN0IEF0
b21pY1N0cmluZyYgZm9ybUNvbnRyb2xUeXBlKCkgY29uc3QgPSAwOwogCiAgICAgLy8gRm9ybSB2
YWx1ZSBmdW5jdGlvbnMKQEAgLTg5LDYgKzkwLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9v
bCBwYXR0ZXJuTWlzbWF0Y2goY29uc3QgU3RyaW5nJikgY29uc3Q7CiAgICAgdmlydHVhbCBib29s
IHJhbmdlVW5kZXJmbG93KGNvbnN0IFN0cmluZyYpIGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBy
YW5nZU92ZXJmbG93KGNvbnN0IFN0cmluZyYpIGNvbnN0OworICAgIHZpcnR1YWwgZG91YmxlIGRl
ZmF1bHRWYWx1ZUZvclN0ZXBVcCgpIGNvbnN0OwogICAgIHZpcnR1YWwgZG91YmxlIG1pbmltdW0o
KSBjb25zdDsKICAgICB2aXJ0dWFsIGRvdWJsZSBtYXhpbXVtKCkgY29uc3Q7CiAgICAgdmlydHVh
bCBib29sIHN0ZXBNaXNtYXRjaChjb25zdCBTdHJpbmcmLCBkb3VibGUpIGNvbnN0OwpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9odG1sL01vbnRoSW5wdXRUeXBlLmNwcCBiL1dlYkNvcmUvaHRtbC9Nb250
aElucHV0VHlwZS5jcHAKaW5kZXggY2JkZTVjYmFkMjk0MWQ0YzU4MWE4M2JhMTAxZTQ5YWRhYjIz
ZGQ1Ni4uMzhmOWQwMDIzM2I0ZmJmNjNlY2Y0NDA4OWExMTNhODNlNmVhNDc1OSAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9odG1sL01vbnRoSW5wdXRUeXBlLmNwcAorKysgYi9XZWJDb3JlL2h0bWwvTW9u
dGhJbnB1dFR5cGUuY3BwCkBAIC0zNCw2ICszNCw4IEBACiAjaW5jbHVkZSAiRGF0ZUNvbXBvbmVu
dHMuaCIKICNpbmNsdWRlICJIVE1MSW5wdXRFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVz
LmgiCisjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+CisjaW5jbHVkZSA8d3RmL0RhdGVNYXRo
Lmg+CiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0
ci5oPgogCkBAIC03NCw2ICs3NiwyMSBAQCB2b2lkIE1vbnRoSW5wdXRUeXBlOjpzZXRWYWx1ZUFz
RGF0ZShkb3VibGUgdmFsdWUsIEV4Y2VwdGlvbkNvZGUmKSBjb25zdAogICAgIGVsZW1lbnQoKS0+
c2V0VmFsdWUoZGF0ZS50b1N0cmluZygpKTsKIH0KIAorZG91YmxlIE1vbnRoSW5wdXRUeXBlOjpk
ZWZhdWx0VmFsdWVGb3JTdGVwVXAoKSBjb25zdAoreworICAgIGRvdWJsZSBjdXJyZW50ID0gY3Vy
cmVudFRpbWVNUygpOworICAgIGRvdWJsZSB1dGNPZmZzZXQgPSBjYWxjdWxhdGVVVENPZmZzZXQo
KTsKKyAgICBkb3VibGUgZHN0T2Zmc2V0ID0gY2FsY3VsYXRlRFNUT2Zmc2V0KGN1cnJlbnQsIHV0
Y09mZnNldCk7CisgICAgaW50IG9mZnNldCA9IHN0YXRpY19jYXN0PGludD4oKHV0Y09mZnNldCAr
IGRzdE9mZnNldCkgLyBtc1Blck1pbnV0ZSk7CisgICAgY3VycmVudCArPSBvZmZzZXQgKiBtc1Bl
ck1pbnV0ZTsKKworICAgIERhdGVDb21wb25lbnRzIGRhdGU7CisgICAgZGF0ZS5zZXRNaWxsaXNl
Y29uZHNTaW5jZUVwb2NoRm9yTW9udGgoY3VycmVudCk7CisgICAgZG91YmxlIG1vbnRocyA9IGRh
dGUubW9udGhzU2luY2VFcG9jaCgpOworICAgIEFTU0VSVChpc2Zpbml0ZShtb250aHMpKTsKKyAg
ICByZXR1cm4gbW9udGhzOworfQorCiBkb3VibGUgTW9udGhJbnB1dFR5cGU6Om1pbmltdW0oKSBj
b25zdAogewogICAgIHJldHVybiBwYXJzZVRvRG91YmxlKGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJp
YnV0ZShtaW5BdHRyKSwgRGF0ZUNvbXBvbmVudHM6Om1pbmltdW1Nb250aCgpKTsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvaHRtbC9Nb250aElucHV0VHlwZS5oIGIvV2ViQ29yZS9odG1sL01vbnRoSW5w
dXRUeXBlLmgKaW5kZXggNTBjZjdkNTBmOTRiZjUwNjgxNzJlN2I5OTU1ZTYzNDE1MDY0ZmQwYS4u
MjM1MzZlMmQ5NDI0YzM5ZTRjZjYxNjliMzA1OTFjNTNkNzJkNTI3MyAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9odG1sL01vbnRoSW5wdXRUeXBlLmgKKysrIGIvV2ViQ29yZS9odG1sL01vbnRoSW5wdXRU
eXBlLmgKQEAgLTQ1LDYgKzQ1LDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIGRvdWJsZSB2YWx1
ZUFzRGF0ZSgpIGNvbnN0OwogICAgIHZpcnR1YWwgdm9pZCBzZXRWYWx1ZUFzRGF0ZShkb3VibGUs
IEV4Y2VwdGlvbkNvZGUmKSBjb25zdDsKICAgICB2aXJ0dWFsIGRvdWJsZSBwYXJzZVRvRG91Ymxl
KGNvbnN0IFN0cmluZyYsIGRvdWJsZSkgY29uc3Q7CisgICAgdmlydHVhbCBkb3VibGUgZGVmYXVs
dFZhbHVlRm9yU3RlcFVwKCkgY29uc3Q7CiAgICAgdmlydHVhbCBkb3VibGUgbWluaW11bSgpIGNv
bnN0OwogICAgIHZpcnR1YWwgZG91YmxlIG1heGltdW0oKSBjb25zdDsKICAgICB2aXJ0dWFsIGRv
dWJsZSBkZWZhdWx0U3RlcCgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL1Jhbmdl
SW5wdXRUeXBlLmNwcCBiL1dlYkNvcmUvaHRtbC9SYW5nZUlucHV0VHlwZS5jcHAKaW5kZXggYWQ0
N2YxNGNiMTRhOWQ4ODkxMmZjZGE2MmM4Zjk3Zjg4YWQzYmMxYy4uNTA1MjBjZDFmYmEwYjRkZjky
NGQwZDY2YTJjMmNiMGY3OTE5YmU1MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL1JhbmdlSW5w
dXRUeXBlLmNwcAorKysgYi9XZWJDb3JlL2h0bWwvUmFuZ2VJbnB1dFR5cGUuY3BwCkBAIC01NSw2
ICs1NSwxMSBAQCBQYXNzT3duUHRyPElucHV0VHlwZT4gUmFuZ2VJbnB1dFR5cGU6OmNyZWF0ZShI
VE1MSW5wdXRFbGVtZW50KiBlbGVtZW50KQogICAgIHJldHVybiBhZG9wdFB0cihuZXcgUmFuZ2VJ
bnB1dFR5cGUoZWxlbWVudCkpOwogfQogCitib29sIFJhbmdlSW5wdXRUeXBlOjppc1JhbmdlQ29u
dHJvbCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHRydWU7Cit9CisKIGNvbnN0IEF0b21pY1N0cmlu
ZyYgUmFuZ2VJbnB1dFR5cGU6OmZvcm1Db250cm9sVHlwZSgpIGNvbnN0CiB7CiAgICAgcmV0dXJu
IElucHV0VHlwZU5hbWVzOjpyYW5nZSgpOwpAQCAtMTQzLDYgKzE0OCw5IEBAIGJvb2wgUmFuZ2VJ
bnB1dFR5cGU6OmhhbmRsZUtleWRvd25FdmVudChLZXlib2FyZEV2ZW50KiBldmVudCkKICAgICAg
ICAgZG91YmxlIHN0ZXAgPSAobWF4IC0gbWluKSAvIDEwMDsKICAgICAgICAgZG91YmxlIGN1cnJl
bnQgPSBwYXJzZVRvRG91YmxlKGVsZW1lbnQoKS0+dmFsdWUoKSwgbnVtZXJpY19saW1pdHM8ZG91
YmxlPjo6cXVpZXRfTmFOKCkpOwogICAgICAgICBBU1NFUlQoaXNmaW5pdGUoY3VycmVudCkpOwor
ICAgICAgICAvLyBTdGVwcGluZy11cCBhbmQgLWRvd24gZm9yIHN0ZXA9ImFueSIgYXJlIHNwZWNp
YWwgY2FzZXMgZm9yIHR5cGU9InJhbmdlIiBmcm9tIHJlbmRlcmVyIGZvciBjb252ZW5pZW50Lgor
ICAgICAgICAvLyBObyBzdGVwcGluZyBub3JtYWxseSBmb3Igc3RlcD0iYW55Ii4gVGhleSBjYW5u
b3QgYmUgaGFuZGxlZCBieSBzdGVwVXAoKS9zdGVwRG93bigpL3N0ZXBVcEZyb21SZW5kZXJlcigp
LgorICAgICAgICAvLyBTbyBjYWxjdWxhdGluZyB2YWx1ZXMgc3RlcHBlZC11cCBvciAtZG93biBo
ZXJlLgogICAgICAgICBkb3VibGUgbmV3VmFsdWU7CiAgICAgICAgIGlmIChrZXkgPT0gIlVwIiB8
fCBrZXkgPT0gIlJpZ2h0IikgewogICAgICAgICAgICAgbmV3VmFsdWUgPSBjdXJyZW50ICsgc3Rl
cDsKQEAgLTE1OSwxMCArMTY3LDggQEAgYm9vbCBSYW5nZUlucHV0VHlwZTo6aGFuZGxlS2V5ZG93
bkV2ZW50KEtleWJvYXJkRXZlbnQqIGV2ZW50KQogICAgICAgICB9CiAgICAgfSBlbHNlIHsKICAg
ICAgICAgaW50IHN0ZXBNYWduaWZpY2F0aW9uID0gKGtleSA9PSAiVXAiIHx8IGtleSA9PSAiUmln
aHQiKSA/IDEgOiAtMTsKLSAgICAgICAgU3RyaW5nIGxhc3RTdHJpbmdWYWx1ZSA9IGVsZW1lbnQo
KS0+dmFsdWUoKTsKLSAgICAgICAgZWxlbWVudCgpLT5zdGVwVXAoc3RlcE1hZ25pZmljYXRpb24s
IGVjKTsKLSAgICAgICAgaWYgKGxhc3RTdHJpbmdWYWx1ZSAhPSBlbGVtZW50KCktPnZhbHVlKCkp
Ci0gICAgICAgICAgICBlbGVtZW50KCktPmRpc3BhdGNoRm9ybUNvbnRyb2xDaGFuZ2VFdmVudCgp
OworICAgICAgICAvLyBSZWFzb25hYmxlIHN0ZXBwaW5nLXVwLy1kb3duIGJ5IHN0ZXBVcEZyb21S
ZW5kZXJlcigpIHVubGVzcyBzdGVwPSJhbnkiCisgICAgICAgIGVsZW1lbnQoKS0+c3RlcFVwRnJv
bVJlbmRlcmVyKHN0ZXBNYWduaWZpY2F0aW9uKTsKICAgICB9CiAgICAgZXZlbnQtPnNldERlZmF1
bHRIYW5kbGVkKCk7CiAgICAgcmV0dXJuIHRydWU7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwv
UmFuZ2VJbnB1dFR5cGUuaCBiL1dlYkNvcmUvaHRtbC9SYW5nZUlucHV0VHlwZS5oCmluZGV4IGMy
YmJiMGZjMWQxMzJiMGY3OWI1ZDcxNGNkYjUxNWRkOWNlMzE1YTEuLjE0MjgwZTg2ZWFiZjM5YWVh
OTk0NjFmZTNiMTRlYTE5MmJhNTBmZDUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9SYW5nZUlu
cHV0VHlwZS5oCisrKyBiL1dlYkNvcmUvaHRtbC9SYW5nZUlucHV0VHlwZS5oCkBAIC00MSw2ICs0
MSw3IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICBSYW5nZUlucHV0VHlwZShIVE1MSW5wdXRF
bGVtZW50KiBlbGVtZW50KSA6IElucHV0VHlwZShlbGVtZW50KSB7IH0KKyAgICB2aXJ0dWFsIGJv
b2wgaXNSYW5nZUNvbnRyb2woKSBjb25zdDsKICAgICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmlu
ZyYgZm9ybUNvbnRyb2xUeXBlKCkgY29uc3Q7CiAgICAgdmlydHVhbCBkb3VibGUgdmFsdWVBc051
bWJlcigpIGNvbnN0OwogICAgIHZpcnR1YWwgdm9pZCBzZXRWYWx1ZUFzTnVtYmVyKGRvdWJsZSwg
RXhjZXB0aW9uQ29kZSYpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL1RpbWVJbnB1
dFR5cGUuY3BwIGIvV2ViQ29yZS9odG1sL1RpbWVJbnB1dFR5cGUuY3BwCmluZGV4IDI3ZGNlOTA1
N2QzY2I3ZGM5MmExZGUwMDBkNzNjNzI3ZDZlMzhjM2EuLmY0MmYzNGNmM2ZkYTRjNmMxNzU1M2Fi
NDhiMzI0ZjFhZGVlNzZjMDAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9UaW1lSW5wdXRUeXBl
LmNwcAorKysgYi9XZWJDb3JlL2h0bWwvVGltZUlucHV0VHlwZS5jcHAKQEAgLTM0LDYgKzM0LDgg
QEAKICNpbmNsdWRlICJEYXRlQ29tcG9uZW50cy5oIgogI2luY2x1ZGUgIkhUTUxJbnB1dEVsZW1l
bnQuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKKyNpbmNsdWRlIDx3dGYvQ3VycmVudFRpbWUu
aD4KKyNpbmNsdWRlIDx3dGYvRGF0ZU1hdGguaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC01Myw2ICs1NSwyMSBAQCBjb25zdCBBdG9taWNT
dHJpbmcmIFRpbWVJbnB1dFR5cGU6OmZvcm1Db250cm9sVHlwZSgpIGNvbnN0CiAgICAgcmV0dXJu
IElucHV0VHlwZU5hbWVzOjp0aW1lKCk7CiB9CiAKK2RvdWJsZSBUaW1lSW5wdXRUeXBlOjpkZWZh
dWx0VmFsdWVGb3JTdGVwVXAoKSBjb25zdAoreworICAgIGRvdWJsZSBjdXJyZW50ID0gY3VycmVu
dFRpbWVNUygpOworICAgIGRvdWJsZSB1dGNPZmZzZXQgPSBjYWxjdWxhdGVVVENPZmZzZXQoKTsK
KyAgICBkb3VibGUgZHN0T2Zmc2V0ID0gY2FsY3VsYXRlRFNUT2Zmc2V0KGN1cnJlbnQsIHV0Y09m
ZnNldCk7CisgICAgaW50IG9mZnNldCA9IHN0YXRpY19jYXN0PGludD4oKHV0Y09mZnNldCArIGRz
dE9mZnNldCkgLyBtc1Blck1pbnV0ZSk7CisgICAgY3VycmVudCArPSBvZmZzZXQgKiBtc1Blck1p
bnV0ZTsKKworICAgIERhdGVDb21wb25lbnRzIGRhdGU7CisgICAgZGF0ZS5zZXRNaWxsaXNlY29u
ZHNTaW5jZU1pZG5pZ2h0KGN1cnJlbnQpOworICAgIGRvdWJsZSBtaWxsaXNlY29uZHMgPSBkYXRl
Lm1pbGxpc2Vjb25kc1NpbmNlRXBvY2goKTsKKyAgICBBU1NFUlQoaXNmaW5pdGUobWlsbGlzZWNv
bmRzKSk7CisgICAgcmV0dXJuIG1pbGxpc2Vjb25kczsKK30KKwogZG91YmxlIFRpbWVJbnB1dFR5
cGU6Om1pbmltdW0oKSBjb25zdAogewogICAgIHJldHVybiBwYXJzZVRvRG91YmxlKGVsZW1lbnQo
KS0+ZmFzdEdldEF0dHJpYnV0ZShtaW5BdHRyKSwgRGF0ZUNvbXBvbmVudHM6Om1pbmltdW1UaW1l
KCkpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL1RpbWVJbnB1dFR5cGUuaCBiL1dlYkNvcmUv
aHRtbC9UaW1lSW5wdXRUeXBlLmgKaW5kZXggNjA3MGZhMDczODlhOWFlNzI4ZTlmYTYyMGFhM2Vl
OWFmMjY3MDcyNy4uYjUwZDk4NzE0N2EwOWRlMjIxNTJhNDA4NGRkOTE5NDFjYzZlMmY0YSAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9odG1sL1RpbWVJbnB1dFR5cGUuaAorKysgYi9XZWJDb3JlL2h0bWwv
VGltZUlucHV0VHlwZS5oCkBAIC00Miw2ICs0Miw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAg
VGltZUlucHV0VHlwZShIVE1MSW5wdXRFbGVtZW50KiBlbGVtZW50KSA6IEJhc2VEYXRlQW5kVGlt
ZUlucHV0VHlwZShlbGVtZW50KSB7IH0KICAgICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmluZyYg
Zm9ybUNvbnRyb2xUeXBlKCkgY29uc3Q7CisgICAgdmlydHVhbCBkb3VibGUgZGVmYXVsdFZhbHVl
Rm9yU3RlcFVwKCkgY29uc3Q7CiAgICAgdmlydHVhbCBkb3VibGUgbWluaW11bSgpIGNvbnN0Owog
ICAgIHZpcnR1YWwgZG91YmxlIG1heGltdW0oKSBjb25zdDsKICAgICB2aXJ0dWFsIGRvdWJsZSBk
ZWZhdWx0U3RlcCgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9tYW51YWwtdGVzdHMvaW5w
dXQtdHlwZS1kYXRldGltZS1kZWZhdWx0LXZhbHVlLmh0bWwgYi9XZWJDb3JlL21hbnVhbC10ZXN0
cy9pbnB1dC10eXBlLWRhdGV0aW1lLWRlZmF1bHQtdmFsdWUuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wM2Yy
MmYwNGYzZTFiYjAzNmNiODg4NDk2NDZiZWZhNTRkMjI1YTEzCi0tLSAvZGV2L251bGwKKysrIGIv
V2ViQ29yZS9tYW51YWwtdGVzdHMvaW5wdXQtdHlwZS1kYXRldGltZS1kZWZhdWx0LXZhbHVlLmh0
bWwKQEAgLTAsMCArMSw4MCBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBI
VE1MIDQuMCBUcmFuc2l0aW9uYWwvL0VOIj4KKzxodG1sPgorPGhlYWQ+PHRpdGxlPkRlZmF1bHQg
dmFsdWVzIGZvciBkYXRlL3RpbWUgaW5wdXQgKHR5cGU9IGRhdGUsIGRhdGV0aW1lLCBkYXRldGlt
ZS1sb2NhbCwgbW9udGgsIHRpbWUsIHdlZWspPC90aXRsZT48L2hlYWQ+CisKKzxwPkVudGVyIFVw
IG9yIERvd24sIG9yIGNsaWNrIHRoZSBzcGluIGJ1dHRvbnMgZm9yIGVhY2ggaW5wdXQgZmllbGQu
PC9wPgorCis8Zm9ybT4KKyAgPHVsPgorICAgIDxsaT5FbXRweSB2YWx1ZXMsIG5vIHN0ZXBzCisg
ICAgICA8dWw+CisgICAgICAgIDxsaT5kYXRlOiA8aW5wdXQgdHlwZT0iZGF0ZSIgc2l6ZT0iMzIi
IHZhbHVlPSIiIC8+CisgICAgICAgIDxsaT5kYXRldGltZTogPGlucHV0IHR5cGU9ImRhdGV0aW1l
IiAgc2l6ZT0iMzIiIHZhbHVlPSIiIC8+CisgICAgICAgIDxsaT5kYXRldGltZS1sb2NhbDogPGlu
cHV0IHR5cGU9ImRhdGV0aW1lLWxvY2FsIiBzaXplPSIzMiIgdmFsdWU9IiIgLz4KKyAgICAgICAg
PGxpPm1vbnRoOiA8aW5wdXQgdHlwZT0ibW9udGgiIHNpemU9IjMyIiB2YWx1ZT0iIiAvPgorICAg
ICAgICA8bGk+dGltZTogPGlucHV0IHR5cGU9InRpbWUiIHNpemU9IjMyIiB2YWx1ZT0iIiAvPgor
ICAgICAgICA8bGk+d2VlayA8aW5wdXQgdHlwZT0id2VlayIgc2l6ZT0iMzIiIHZhbHVlPSIiIC8+
CisgICAgICA8L3VsPgorICAgIDxsaT5JbnZhbGlkIHZhbHVlcywgbm8gc3RlcHMKKyAgICAgIDx1
bD4KKyAgICAgICAgPGxpPmRhdGU6IDxpbnB1dCB0eXBlPSJkYXRlIiBzaXplPSIzMiIgdmFsdWU9
ImZvbyIgLz4KKyAgICAgICAgPGxpPmRhdGV0aW1lOiA8aW5wdXQgdHlwZT0iZGF0ZXRpbWUiICBz
aXplPSIzMiIgdmFsdWU9ImZvbyIgLz4KKyAgICAgICAgPGxpPmRhdGV0aW1lLWxvY2FsOiA8aW5w
dXQgdHlwZT0iZGF0ZXRpbWUtbG9jYWwiIHNpemU9IjMyIiB2YWx1ZT0iZm9vIiAvPgorICAgICAg
ICA8bGk+bW9udGg6IDxpbnB1dCB0eXBlPSJtb250aCIgc2l6ZT0iMzIiIHZhbHVlPSJmb28iIC8+
CisgICAgICAgIDxsaT50aW1lOiA8aW5wdXQgdHlwZT0idGltZSIgc2l6ZT0iMzIiIHZhbHVlPSJm
b28iIC8+CisgICAgICAgIDxsaT53ZWVrIDxpbnB1dCB0eXBlPSJ3ZWVrIiBzaXplPSIzMiIgdmFs
dWU9ImZvbyIgLz4KKyAgICAgIDwvdWw+CisgICAgPGxpPkVtdHB5IHZhbHVlcywgaW52YWxpZCBz
dGVwcworICAgICAgPHVsPgorICAgICAgICA8bGk+ZGF0ZTogPGlucHV0IHR5cGU9ImRhdGUiIHNp
emU9IjMyIiB2YWx1ZT0iIiBzdGVwPSJmb28iIC8+CisgICAgICAgIDxsaT5kYXRldGltZTogPGlu
cHV0IHR5cGU9ImRhdGV0aW1lIiAgc2l6ZT0iMzIiIHZhbHVlPSIiIHN0ZXA9ImZvbyIgLz4KKyAg
ICAgICAgPGxpPmRhdGV0aW1lLWxvY2FsOiA8aW5wdXQgdHlwZT0iZGF0ZXRpbWUtbG9jYWwiIHNp
emU9IjMyIiB2YWx1ZT0iIiBzdGVwPSJmb28iIC8+CisgICAgICAgIDxsaT5tb250aDogPGlucHV0
IHR5cGU9Im1vbnRoIiBzaXplPSIzMiIgdmFsdWU9IiIgc3RlcD0iZm9vIiAvPgorICAgICAgICA8
bGk+dGltZTogPGlucHV0IHR5cGU9InRpbWUiIHNpemU9IjMyIiB2YWx1ZT0iIiBzdGVwPSJmb28i
IC8+CisgICAgICAgIDxsaT53ZWVrIDxpbnB1dCB0eXBlPSJ3ZWVrIiBzaXplPSIzMiIgdmFsdWU9
IiIgc3RlcD0iZm9vIiAvPgorICAgICAgPC91bD4KKyAgICA8bGk+SW52YWxpZCB2YWx1ZXMsIGlu
dmFsaWQgc3RlcHMKKyAgICAgIDx1bD4KKyAgICAgICAgPGxpPmRhdGU6IDxpbnB1dCB0eXBlPSJk
YXRlIiBzaXplPSIzMiIgdmFsdWU9ImZvbyIgc3RlcD0iZm9vIiAvPgorICAgICAgICA8bGk+ZGF0
ZXRpbWU6IDxpbnB1dCB0eXBlPSJkYXRldGltZSIgIHNpemU9IjMyIiB2YWx1ZT0iZm9vIiBzdGVw
PSJmb28iIC8+CisgICAgICAgIDxsaT5kYXRldGltZS1sb2NhbDogPGlucHV0IHR5cGU9ImRhdGV0
aW1lLWxvY2FsIiBzaXplPSIzMiIgdmFsdWU9ImZvbyIgc3RlcD0iZm9vIiAvPgorICAgICAgICA8
bGk+bW9udGg6IDxpbnB1dCB0eXBlPSJtb250aCIgc2l6ZT0iMzIiIHZhbHVlPSJmb28iIHN0ZXA9
ImZvbyIgLz4KKyAgICAgICAgPGxpPnRpbWU6IDxpbnB1dCB0eXBlPSJ0aW1lIiBzaXplPSIzMiIg
dmFsdWU9ImZvbyIgc3RlcD0iZm9vIiAvPgorICAgICAgICA8bGk+d2VlayA8aW5wdXQgdHlwZT0i
d2VlayIgc2l6ZT0iMzIiIHZhbHVlPSJmb28iIHN0ZXA9ImZvbyIgLz4KKyAgICAgIDwvdWw+Cisg
ICAgPGxpPkVtdHB5IHZhbHVlcywgc3RlcD1hbnkKKyAgICAgIDx1bD5zCisgICAgICAgIDxsaT5k
YXRlOiA8aW5wdXQgdHlwZT0iZGF0ZSIgc2l6ZT0iMzIiIHZhbHVlPSIiIHN0ZXA9ImFueSIgLz4K
KyAgICAgICAgPGxpPmRhdGV0aW1lOiA8aW5wdXQgdHlwZT0iZGF0ZXRpbWUiICBzaXplPSIzMiIg
dmFsdWU9IiIgc3RlcD0iYW55IiAvPgorICAgICAgICA8bGk+ZGF0ZXRpbWUtbG9jYWw6IDxpbnB1
dCB0eXBlPSJkYXRldGltZS1sb2NhbCIgc2l6ZT0iMzIiIHZhbHVlPSIiIHN0ZXA9ImFueSIgLz4K
KyAgICAgICAgPGxpPm1vbnRoOiA8aW5wdXQgdHlwZT0ibW9udGgiIHNpemU9IjMyIiB2YWx1ZT0i
IiBzdGVwPSJhbnkiIC8+CisgICAgICAgIDxsaT50aW1lOiA8aW5wdXQgdHlwZT0idGltZSIgc2l6
ZT0iMzIiIHZhbHVlPSIiIHN0ZXA9ImFueSIgLz4KKyAgICAgICAgPGxpPndlZWsgPGlucHV0IHR5
cGU9IndlZWsiIHNpemU9IjMyIiB2YWx1ZT0iIiBzdGVwPSJhbnkiIC8+CisgICAgICA8L3VsPgor
ICAgIDxsaT5JbnZhbGlkIHZhbHVlcywgc3RlcD1hbnkKKyAgICAgIDx1bD4KKyAgICAgICAgPGxp
PmRhdGU6IDxpbnB1dCB0eXBlPSJkYXRlIiBzaXplPSIzMiIgdmFsdWU9ImZvbyIgc3RlcD0iYW55
IiAvPgorICAgICAgICA8bGk+ZGF0ZXRpbWU6IDxpbnB1dCB0eXBlPSJkYXRldGltZSIgIHNpemU9
IjMyIiB2YWx1ZT0iZm9vIiBzdGVwPSJhbnkiIC8+CisgICAgICAgIDxsaT5kYXRldGltZS1sb2Nh
bDogPGlucHV0IHR5cGU9ImRhdGV0aW1lLWxvY2FsIiBzaXplPSIzMiIgdmFsdWU9ImZvbyIgc3Rl
cD0iYW55IiAvPgorICAgICAgICA8bGk+bW9udGg6IDxpbnB1dCB0eXBlPSJtb250aCIgc2l6ZT0i
MzIiIHZhbHVlPSJmb28iIHN0ZXA9ImFueSIgLz4KKyAgICAgICAgPGxpPnRpbWU6IDxpbnB1dCB0
eXBlPSJ0aW1lIiBzaXplPSIzMiIgdmFsdWU9ImZvbyIgc3RlcD0iYW55IiAvPgorICAgICAgICA8
bGk+d2VlayA8aW5wdXQgdHlwZT0id2VlayIgc2l6ZT0iMzIiIHZhbHVlPSJmb28iIHN0ZXA9ImFu
eSIgLz4KKyAgICAgIDwvdWw+CisgIDwvdWw+Cis8L2Zvcm0+CisKKzxwPlRoZSBpbnB1dCBmaWVs
ZHMgc2hvdWxkIHNob3cgdGhlIGN1cnJlbnQgZGF0ZS90aW1lICh3aXRoICsgb3IgLSBhIHVuaXQg
ZGF0ZS90aW1lIGRlc2NyaWJlZCBiZWxvdyBleGNlcHQgZm9yIHN0ZXA9YW55KS48L3A+CisKKzxw
PlVuaXQgZGF0ZXMvdGltZXM8L3A+Cis8dWw+CisgIDxsaT5kYXRlOiAxIGRheQorICA8bGk+ZGF0
ZXRpbWU6IDEgbWludXRlCisgIDxsaT5kYXRldGltZS1sb2NhbDogMSBtaW51dGUKKyAgPGxpPm1v
bnRoOiAxIG1vbnRoCisgIDxsaT50aW1lOiAxIG1pbnV0ZQorICA8bGk+d2VlazogMSB3ZWVrCis8
L3VsPgorCis8cD5BcyBmb3Igc3RlcD1hbnksIHRoZSB2YWx1ZXMgZG9uJ3QgY2hhbmdlIGJ5IHN0
ZXBwaW5nLXVwLy1kb3duLjxwPgorCis8L2JvZHk+PC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>75099</attachid>
            <date>2010-11-29 18:54:03 -0800</date>
            <delta_ts>2010-11-29 22:11:25 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-45491-20101130115409.patch</filename>
            <type>text/plain</type>
            <size>61589</size>
            <attacher name="Dai Mikurube">dmikurube</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL0phdmFTY3JpcHRDb3JlL0No
YW5nZUxvZwppbmRleCA3NjQ0Y2Q3NjI5NGUxZmYzYTIwZWRmYzBjM2NlNDBkZjc4YmRjNmYyLi4z
MjA2YzRlYzViMDVkOTFiNTVjNzBjYjMzY2JjNTdjZWZmOGViOGUyIDEwMDY0NAotLS0gYS9KYXZh
U2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjYgQEAKKzIwMTAtMTEtMjQgIERhaSBNaWt1cnViZSAgPGRtaWt1cnViZUBnb29nbGUu
Y29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIHdo
ZW4gZW1wdHksIGNsaWNraW5nICJkb3duIiBvbiBvdXRlci1zcGluLWJ1dHRvbiByZXR1cm5zICJt
YXggdmFsdWUiCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD00NTQ5MQorCisgICAgICAgIEl0IGlzIHJlcXVpcmVkIHRvIGNhbGN1bGF0ZSBVVEMvRFNUIG9m
ZnNldHMgdG8gcmV0cmlldmUgdGhlIGN1cnJlbnQgbG9jYWwgbWlsbGlzZWNvbmRzIGZvcgorICAg
ICAgICBkYXRlL3RpbWUgdHlwZSBpbnB1dHMuIFdURjo6Y3VycmVudFRpbWVNUygpIHJldHVybnMg
YSBVVEMgdGltZSwgYW5kIFdURjo6Z2V0TG9jYWxUaW1lKCkKKyAgICAgICAgcmV0dXJucyBhIHN0
cnVjdCB0bSwgbm90IG1pbGxpc2Vjb25kcy4KKworICAgICAgICBDYWxjdWxhdGluZyBtaWxsaXNl
Y29uZHMgZnJvbSBhIHN0cnVjdCB0bSBpcyBub3Qgc2ltcGxlIHNpbmNlIHRpbWVnbSgpIGNhbm5v
dCBiZSB1c2VkIGluIGFsbAorICAgICAgICBlbnZpcm9ubWVudHMuIFRoaXMgY2FsY3VsYXRpb24g
aXMgYWxyZWFkeSBkb25lIGluIGNhbGN1bGF0ZVVUQ09mZnNldCgpLCBhbmQgY29tcGxpY2F0ZWQu
CisgICAgICAgIER1cGxpY2F0aW5nIHRoaXMgY29tcGxpY2F0ZWQgY2FsY3VsYXRpb24gaXMgdW5y
ZWFzb25hYmxlIGJlY2F1c2Ugb2YgbWFpbnRhaW5hYmlsaXR5LgorICAgICAgICBUbyBhY2hpZXZl
IHRoaXMgd2l0aG91dCBkdXBsaWNhdGlvbiwgd2UgbXVzdCBjYWxsIGNhbGN1bGF0ZXtVVEN8RFNU
fU9mZnNldCBpbiBzb21lIHdheS4KKworICAgICAgICAqIEphdmFTY3JpcHRDb3JlLmV4cDoKKyAg
ICAgICAgKiBKYXZhU2NyaXB0Q29yZS52Y3Byb2ovSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENv
cmUuZGVmOgorICAgICAgICAqIHd0Zi9EYXRlTWF0aC5jcHA6IENoYW5nZWQgY2FsY3VsYXRlVVRD
T2Zmc2V0KCkgYW5kIGNhbGN1bGF0ZURTVE9mZnNldCgpIHRvIGV4dGVybmFsIGZ1bmN0aW9ucy4K
KyAgICAgICAgKFdURjo6Y2FsY3VsYXRlVVRDT2Zmc2V0KToKKyAgICAgICAgKFdURjo6Y2FsY3Vs
YXRlRFNUT2Zmc2V0KToKKyAgICAgICAgKiB3dGYvRGF0ZU1hdGguaDoKKwogMjAxMC0xMS0xOCAg
R2F2aW4gQmFycmFjbG91Z2ggIDxiYXJyYWNsb3VnaEBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2
aWV3ZWQgYnkgT2xpdmVyIEh1bnQuCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9KYXZhU2Ny
aXB0Q29yZS5leHAgYi9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5leHAKaW5kZXggMzcx
NWE0MzgzN2RjOTEwZThkZTcwZTQzM2VkMjZmZWIxNTQxODBkMy4uMzliZjUyNzAyYjBiMDBiZGQz
OWI1YTQyY2I0ZDg4MDU1ZTZhYjJiOSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvSmF2YVNj
cmlwdENvcmUuZXhwCisrKyBiL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmV4cApAQCAt
NDA0LDYgKzQwNCw4IEBAIF9fWk4zV1RGMTdjaGFyYWN0ZXJzVG9GbG9hdEVQS3RtUGIKIF9fWk4z
V1RGMTdlcXVhbElnbm9yaW5nQ2FzZUVQS3RQS2NqCiBfX1pOM1dURjE3ZXF1YWxJZ25vcmluZ0Nh
c2VFUE5TXzEwU3RyaW5nSW1wbEVQS2MKIF9fWk4zV1RGMTdlcXVhbElnbm9yaW5nQ2FzZUVQTlNf
MTBTdHJpbmdJbXBsRVMxXworX19aTjNXVEYxOGNhbGN1bGF0ZURTVE9mZnNldEVkZAorX19aTjNX
VEYxOGNhbGN1bGF0ZVVUQ09mZnNldEV2CiBfX1pOM1dURjE4Y2hhcmFjdGVyc1RvRG91YmxlRVBL
dG1QYgogX19aTjNXVEYxOGRhdGVUb0RheXNGcm9tMTk3MEVpaWkKIF9fWk4zV1RGMThtb250aEZy
b21EYXlJblllYXJFaWIKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3Jl
LnZjcHJvai9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5kZWYgYi9KYXZhU2NyaXB0Q29y
ZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ovSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZGVm
CmluZGV4IDQ0OWMwYmI4NDE1NTRjYzI3ZWFjMmY1OWEyNDI1YWEzMGEyZGQwOGIuLjQyYWM3ZjEx
NjE4ZDE5MGI0ZjNhM2ZkOGVjYjE3NzcwZWNmNzA0ODggMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRD
b3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5k
ZWYKKysrIGIvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL0phdmFTY3JpcHRD
b3JlL0phdmFTY3JpcHRDb3JlLmRlZgpAQCAtNTksNiArNTksOCBAQCBFWFBPUlRTCiAgICAgP2Jy
b2FkY2FzdEBUaHJlYWRDb25kaXRpb25AV1RGQEBRQUVYWFoKICAgICA/YnVmZmVyTGVuZ3RoRm9y
U3RyaW5nRGVjaW1hbEBEZWNpbWFsTnVtYmVyQFdURkBAUUJFSVhaCiAgICAgP2NhbGN1bGF0ZWRG
dW5jdGlvbk5hbWVARGVidWdnZXJDYWxsRnJhbWVASlNDQEBRQkU/QVZVU3RyaW5nQDJAWFoKKyAg
ICA/Y2FsY3VsYXRlVVRDT2Zmc2V0QFdURkBAWUFIWFoKKyAgICA/Y2FsY3VsYXRlRFNUT2Zmc2V0
QFdURkBAWUFOTk5AWgogICAgID9jYWxsQEpTQ0BAWUE/QVZKU1ZhbHVlQDFAUEFWRXhlY1N0YXRl
QDFAVjIxQFc0Q2FsbFR5cGVAMUBBQlRDYWxsRGF0YUAxQDFBQlZBcmdMaXN0QDFAQFoKICAgICA/
Y2FsbE9uTWFpblRocmVhZEBXVEZAQFlBWFA2QVhQQVhAWjBAWgogICAgID9jYWxsT25NYWluVGhy
ZWFkQW5kV2FpdEBXVEZAQFlBWFA2QVhQQVhAWjBAWgpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENv
cmUvd3RmL0RhdGVNYXRoLmNwcCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9EYXRlTWF0aC5jcHAKaW5k
ZXggZjM2MjdlNmI5ODNlODJiOWFhM2E0MGFjNDlkYjZkNTBiZTVmMDgxNC4uNjc1ZjA5M2YwMWJi
NDVmODhiNzNjNDYwNjlkNTJjMGI4ZDA5ZWFiNCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUv
d3RmL0RhdGVNYXRoLmNwcAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvRGF0ZU1hdGguY3BwCkBA
IC0zNzksNyArMzc5LDcgQEAgaW50IGVxdWl2YWxlbnRZZWFyRm9yRFNUKGludCB5ZWFyKQogICAg
IHJldHVybiB5ZWFyOwogfQogCi1zdGF0aWMgaW50MzJfdCBjYWxjdWxhdGVVVENPZmZzZXQoKQor
aW50MzJfdCBjYWxjdWxhdGVVVENPZmZzZXQoKQogewogI2lmIFBMQVRGT1JNKEJSRVdNUCkKICAg
ICB0aW1lX3QgbG9jYWxUaW1lID0gc3RhdGljX2Nhc3Q8dGltZV90PihjdXJyZW50VGltZSgpKTsK
QEAgLTQ0OSw3ICs0NDksNyBAQCBzdGF0aWMgZG91YmxlIGNhbGN1bGF0ZURTVE9mZnNldFNpbXBs
ZShkb3VibGUgbG9jYWxUaW1lU2Vjb25kcywgZG91YmxlIHV0Y09mZnNldAogfQogCiAvLyBHZXQg
dGhlIERTVCBvZmZzZXQsIGdpdmVuIGEgdGltZSBpbiBVVEMKLXN0YXRpYyBkb3VibGUgY2FsY3Vs
YXRlRFNUT2Zmc2V0KGRvdWJsZSBtcywgZG91YmxlIHV0Y09mZnNldCkKK2RvdWJsZSBjYWxjdWxh
dGVEU1RPZmZzZXQoZG91YmxlIG1zLCBkb3VibGUgdXRjT2Zmc2V0KQogewogICAgIC8vIE9uIE1h
YyBPUyBYLCB0aGUgY2FsbCB0byBsb2NhbHRpbWUgKHNlZSBjYWxjdWxhdGVEU1RPZmZzZXRTaW1w
bGUpIHdpbGwgcmV0dXJuIGhpc3RvcmljYWxseSBhY2N1cmF0ZQogICAgIC8vIERTVCBpbmZvcm1h
dGlvbiAoZS5nLiBOZXcgWmVhbGFuZCBkaWQgbm90IGhhdmUgRFNUIGZyb20gMTk0NiB0byAxOTc0
KSBob3dldmVyIHRoZSBKYXZhU2NyaXB0CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYv
RGF0ZU1hdGguaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9EYXRlTWF0aC5oCmluZGV4IGJlNTE5NDdm
MmExYmQ5MWJhOTdhZjdlMmI5YjM2YTE1MTViOTUxM2YuLmNiODQ3MDgxMThmYTZhMTdiOWFhODg2
NjY1N2Q0ZmEwOTIzMTJiYjggMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9EYXRlTWF0
aC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9EYXRlTWF0aC5oCkBAIC04NCw2ICs4NCwxMCBA
QCBpbnQgZGF5SW5ZZWFyKGRvdWJsZSBtcywgaW50IHllYXIpOwogaW50IG1vbnRoRnJvbURheUlu
WWVhcihpbnQgZGF5SW5ZZWFyLCBib29sIGxlYXBZZWFyKTsKIGludCBkYXlJbk1vbnRoRnJvbURh
eUluWWVhcihpbnQgZGF5SW5ZZWFyLCBib29sIGxlYXBZZWFyKTsKIAorLy8gUmV0dXJucyBvZmZz
ZXQgbWlsbGlzZWNvbmRzIGZvciBVVEMgYW5kIERTVC4KK2ludDMyX3QgY2FsY3VsYXRlVVRDT2Zm
c2V0KCk7Citkb3VibGUgY2FsY3VsYXRlRFNUT2Zmc2V0KGRvdWJsZSBtcywgZG91YmxlIHV0Y09m
ZnNldCk7CisKIH0gLy8gbmFtZXNwYWNlIFdURgogCiB1c2luZyBXVEY6OmRhdGVUb0RheXNGcm9t
MTk3MDsKQEAgLTkyLDEwICs5NiwxMyBAQCB1c2luZyBXVEY6OmRheUluWWVhcjsKIHVzaW5nIFdU
Rjo6bWludXRlc1BlckhvdXI7CiB1c2luZyBXVEY6Om1vbnRoRnJvbURheUluWWVhcjsKIHVzaW5n
IFdURjo6bXNQZXJEYXk7Cit1c2luZyBXVEY6Om1zUGVyTWludXRlOwogdXNpbmcgV1RGOjptc1Bl
clNlY29uZDsKIHVzaW5nIFdURjo6bXNUb1llYXI7CiB1c2luZyBXVEY6OnNlY29uZHNQZXJNaW51
dGU7CiB1c2luZyBXVEY6OnBhcnNlRGF0ZUZyb21OdWxsVGVybWluYXRlZENoYXJhY3RlcnM7Cit1
c2luZyBXVEY6OmNhbGN1bGF0ZVVUQ09mZnNldDsKK3VzaW5nIFdURjo6Y2FsY3VsYXRlRFNUT2Zm
c2V0OwogCiAjaWYgVVNFKEpTQykKIG5hbWVzcGFjZSBKU0MgewpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGFlMzA0N2MyZDA1
Njc3NmQ1ODNjMDJlMTgwMGVkODVjZGI0NDU4Y2MuLmU2MGRmNWExYzhjMDQ0YjJlZmRlMWFiYzQw
NDMwMDlkMjdhMDcxOGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAxMC0xMS0yNCAgRGFpIE1p
a3VydWJlICA8ZG1pa3VydWJlQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgd2hlbiBlbXB0eSwgY2xpY2tpbmcgImRvd24iIG9uIG91
dGVyLXNwaW4tYnV0dG9uIHJldHVybnMgIm1heCB2YWx1ZSIKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ1NDkxCisKKyAgICAgICAgKiBmYXN0L2Zvcm1z
L2lucHV0LXN0ZXB1cC1zdGVwZG93bi1mcm9tLXJlbmRlcmVyLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZmFzdC9mb3Jtcy9pbnB1dC1zdGVwdXAtc3RlcGRvd24tZnJvbS1yZW5kZXJl
ci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9pbnB1dC1z
dGVwdXAtc3RlcGRvd24tZnJvbS1yZW5kZXJlci5qczogQWRkZWQuCisgICAgICAgICgpOgorICAg
ICAgICAoc2V0SW5wdXRBdHRyaWJ1dGVzKToKKyAgICAgICAgKHN0ZXBVcCk6CisgICAgICAgIChz
dGVwRG93bik6CisgICAgICAgIChzdGVwVXBFeHBsaWNpdEJvdW5kcyk6CisgICAgICAgIChzdGVw
RG93bkV4cGxpY2l0Qm91bmRzKToKKwogMjAxMC0xMS0xOCAgRGF2aWQgTGV2aW4gIDxsZXZpbkBj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgW2Nocm9taXVtXSBNaXNjIHRlc3QgdXBkYXRlcyAobW9z
dCBSdWJ5KS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW5wdXQtc3RlcHVw
LXN0ZXBkb3duLWZyb20tcmVuZGVyZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9pbnB1dC1zdGVwdXAtc3RlcGRvd24tZnJvbS1yZW5kZXJlci1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYmU1MTk0ZmRiODY5YTVjNjg3YmM4N2RjNmYyNmNhMWU2MjA1NWZhZAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW5wdXQtc3RlcHVwLXN0ZXBkb3du
LWZyb20tcmVuZGVyZXItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjU3IEBACitDaGVjayBzdGVw
cGluZy11cCBhbmQgLWRvd24gZm9yICBmcm9tIHJlbmRlcmVyLiBObyBjYXNlcyBvZiBlbXB0eSBp
bml0aWFsIHZhbHVlcyBmb3IgdHlwZT1kYXRlLCBkYXRldGltZSwgZGF0ZXRpbWUtbG9jYWwsIG1v
bnRoLCB0aW1lLCB3ZWVrLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworRGF0ZSB0
eXBlCitGdW5jdGlvbiBhcmd1bWVudHMgYXJlICh2YWx1ZSwgc3RlcCwge21pbiBvciBtYXh9LCBb
c3RlcENvdW50XSkuCitOb3JtYWwgY2FzZXMKK1BBU1Mgc3RlcFVwKCIyMDEwLTAyLTEwIiwgbnVs
bCwgbnVsbCkgaXMgIjIwMTAtMDItMTEiCitQQVNTIHN0ZXBEb3duKCIyMDEwLTAyLTEwIiwgbnVs
bCwgbnVsbCkgaXMgIjIwMTAtMDItMDkiCitQQVNTIHN0ZXBVcCgiMjAxMC0wMi0xMCIsIG51bGws
IG51bGwsIDEwKSBpcyAiMjAxMC0wMi0yMCIKK1BBU1Mgc3RlcERvd24oIjIwMTAtMDItMTAiLCBu
dWxsLCBudWxsLCAxMSkgaXMgIjIwMTAtMDEtMzAiCitQQVNTIHN0ZXBVcCgiMTk3MC0wMS0wMSIs
ICI0IiwgbnVsbCwgMikgaXMgIjE5NzAtMDEtMDkiCitQQVNTIHN0ZXBEb3duKCIxOTcwLTAxLTAx
IiwgIjQiLCBudWxsLCAzKSBpcyAiMTk2OS0xMi0yMCIKK1N0ZXA9YW55CitQQVNTIHN0ZXBVcCgi
MjAxMC0wMi0xMCIsICJhbnkiLCBudWxsKSBpcyAiMjAxMC0wMi0xMCIKK1BBU1Mgc3RlcERvd24o
IjIwMTAtMDItMTAiLCAiYW55IiwgbnVsbCkgaXMgIjIwMTAtMDItMTAiCitPdmVyZmxvdy91bmRl
cmZsb3cKK1BBU1Mgc3RlcFVwKCIyMDEwLTAyLTEwIiwgIjMuNDAyODIzNDZlKzM4IiwgbnVsbCkg
aXMgIjI3NTc2MC0wOS0xMyIKK1BBU1Mgc3RlcERvd24oIjIwMTAtMDItMTAiLCAiMy40MDI4MjM0
NmUrMzgiLCBudWxsKSBpcyAiMTk3MC0wMS0wMSIKK1BBU1Mgc3RlcFVwKCIyMDEwLTAyLTEwIiwg
IjEiLCAiMjAxMC0wMi0xMCIpIGlzICIyMDEwLTAyLTEwIgorUEFTUyBzdGVwRG93bigiMjAxMC0w
Mi0xMCIsICIxIiwgIjIwMTAtMDItMTAiKSBpcyAiMjAxMC0wMi0xMCIKK3N0ZXBEb3duKCkvc3Rl
cFVwKCkgZm9yIHN0ZXBNaXNtYXRjaCB2YWx1ZXMKK1BBU1Mgc3RlcERvd24oIjIwMTAtMDItMTAi
LCAiMyIsICIyMDEwLTAyLTA2IikgaXMgIjIwMTAtMDItMDkiCitQQVNTIHN0ZXBVcCgiMTk3MC0w
MS0wMiIsICIyIiwgIiIpIGlzICIxOTcwLTAxLTAzIgorCitEYXRldGltZSB0eXBlCitGdW5jdGlv
biBhcmd1bWVudHMgYXJlICh2YWx1ZSwgc3RlcCwge21pbiBvciBtYXh9LCBbc3RlcENvdW50XSku
CitOb3JtYWwgY2FzZXMKK1BBU1Mgc3RlcFVwKCIyMDEwLTAyLTEwVDIwOjEzWiIsIG51bGwsIG51
bGwpIGlzICIyMDEwLTAyLTEwVDIwOjE0WiIKK1BBU1Mgc3RlcERvd24oIjIwMTAtMDItMTBUMjA6
MTNaIiwgbnVsbCwgbnVsbCkgaXMgIjIwMTAtMDItMTBUMjA6MTJaIgorUEFTUyBzdGVwVXAoIjIw
MTAtMDItMTBUMjA6MTNaIiwgbnVsbCwgbnVsbCwgMTApIGlzICIyMDEwLTAyLTEwVDIwOjIzWiIK
K1BBU1Mgc3RlcERvd24oIjIwMTAtMDItMTBUMjA6MTNaIiwgbnVsbCwgbnVsbCwgMTEpIGlzICIy
MDEwLTAyLTEwVDIwOjAyWiIKK1BBU1Mgc3RlcFVwKCIxOTcwLTAxLTAxVDIwOjEzWiIsICI0Iiwg
bnVsbCwgMikgaXMgIjE5NzAtMDEtMDFUMjA6MTM6MDhaIgorUEFTUyBzdGVwRG93bigiMTk3MC0w
MS0wMVQyMDoxM1oiLCAiNCIsIG51bGwsIDMpIGlzICIxOTcwLTAxLTAxVDIwOjEyOjQ4WiIKK1N0
ZXA9YW55CitQQVNTIHN0ZXBVcCgiMjAxMC0wMi0xMFQyMDoxM1oiLCAiYW55IiwgbnVsbCkgaXMg
IjIwMTAtMDItMTBUMjA6MTNaIgorUEFTUyBzdGVwRG93bigiMjAxMC0wMi0xMFQyMDoxM1oiLCAi
YW55IiwgbnVsbCkgaXMgIjIwMTAtMDItMTBUMjA6MTNaIgorT3ZlcmZsb3cvdW5kZXJmbG93CitQ
QVNTIHN0ZXBVcCgiMjAxMC0wMi0xMFQyMDoxM1oiLCAiMy40MDI4MjM0NmUrMzgiLCBudWxsKSBp
cyAiMjc1NzYwLTA5LTEzVDAwOjAwOjAwLjAwMFoiCitQQVNTIHN0ZXBEb3duKCIyMDEwLTAyLTEw
VDIwOjEzWiIsICIzLjQwMjgyMzQ2ZSszOCIsIG51bGwpIGlzICIxOTcwLTAxLTAxVDAwOjAwOjAw
LjAwMFoiCitQQVNTIHN0ZXBVcCgiMjAxMC0wMi0xMFQyMDoxM1oiLCAiMSIsICIyMDEwLTAyLTEw
VDIwOjEzWiIpIGlzICIyMDEwLTAyLTEwVDIwOjEzWiIKK1BBU1Mgc3RlcERvd24oIjIwMTAtMDIt
MTBUMjA6MTNaIiwgIjEiLCAiMjAxMC0wMi0xMFQyMDoxM1oiKSBpcyAiMjAxMC0wMi0xMFQyMDox
M1oiCitzdGVwRG93bigpL3N0ZXBVcCgpIGZvciBzdGVwTWlzbWF0Y2ggdmFsdWVzCitQQVNTIHN0
ZXBEb3duKCIyMDEwLTAyLTEwVDIwOjEzWiIsICIzIiwgIjIwMTAtMDItMTBUMjA6MTI6NTZaIikg
aXMgIjIwMTAtMDItMTBUMjA6MTI6NTlaIgorUEFTUyBzdGVwVXAoIjE5NzAtMDEtMDFUMDA6MTNa
IiwgIjciLCAiIikgaXMgIjE5NzAtMDEtMDFUMDA6MTM6MDRaIgorCitEYXRldGltZS1sb2NhbCB0
eXBlCitGdW5jdGlvbiBhcmd1bWVudHMgYXJlICh2YWx1ZSwgc3RlcCwge21pbiBvciBtYXh9LCBb
c3RlcENvdW50XSkuCitOb3JtYWwgY2FzZXMKK1BBU1Mgc3RlcFVwKCIyMDEwLTAyLTEwVDIwOjEz
IiwgbnVsbCwgbnVsbCkgaXMgIjIwMTAtMDItMTBUMjA6MTQiCitQQVNTIHN0ZXBEb3duKCIyMDEw
LTAyLTEwVDIwOjEzIiwgbnVsbCwgbnVsbCkgaXMgIjIwMTAtMDItMTBUMjA6MTIiCitQQVNTIHN0
ZXBVcCgiMjAxMC0wMi0xMFQyMDoxMyIsIG51bGwsIG51bGwsIDEwKSBpcyAiMjAxMC0wMi0xMFQy
MDoyMyIKK1BBU1Mgc3RlcERvd24oIjIwMTAtMDItMTBUMjA6MTMiLCBudWxsLCBudWxsLCAxMSkg
aXMgIjIwMTAtMDItMTBUMjA6MDIiCitQQVNTIHN0ZXBVcCgiMTk3MC0wMS0wMVQyMDoxMyIsICI0
IiwgbnVsbCwgMikgaXMgIjE5NzAtMDEtMDFUMjA6MTM6MDgiCitQQVNTIHN0ZXBEb3duKCIxOTcw
LTAxLTAxVDIwOjEzIiwgIjQiLCBudWxsLCAzKSBpcyAiMTk3MC0wMS0wMVQyMDoxMjo0OCIKK1N0
ZXA9YW55CitQQVNTIHN0ZXBVcCgiMjAxMC0wMi0xMFQyMDoxMyIsICJhbnkiLCBudWxsKSBpcyAi
MjAxMC0wMi0xMFQyMDoxMyIKK1BBU1Mgc3RlcERvd24oIjIwMTAtMDItMTBUMjA6MTMiLCAiYW55
IiwgbnVsbCkgaXMgIjIwMTAtMDItMTBUMjA6MTMiCitPdmVyZmxvdy91bmRlcmZsb3cKK1BBU1Mg
c3RlcFVwKCIyMDEwLTAyLTEwVDIwOjEzIiwgIjMuNDAyODIzNDZlKzM4IiwgbnVsbCkgaXMgIjI3
NTc2MC0wOS0xM1QwMDowMDowMC4wMDAiCitQQVNTIHN0ZXBEb3duKCIyMDEwLTAyLTEwVDIwOjEz
IiwgIjMuNDAyODIzNDZlKzM4IiwgbnVsbCkgaXMgIjE5NzAtMDEtMDFUMDA6MDA6MDAuMDAwIgor
UEFTUyBzdGVwVXAoIjIwMTAtMDItMTBUMjA6MTMiLCAiMSIsICIyMDEwLTAyLTEwVDIwOjEzIikg
aXMgIjIwMTAtMDItMTBUMjA6MTMiCitQQVNTIHN0ZXBEb3duKCIyMDEwLTAyLTEwVDIwOjEzIiwg
IjEiLCAiMjAxMC0wMi0xMFQyMDoxMyIpIGlzICIyMDEwLTAyLTEwVDIwOjEzIgorc3RlcERvd24o
KS9zdGVwVXAoKSBmb3Igc3RlcE1pc21hdGNoIHZhbHVlcworUEFTUyBzdGVwRG93bigiMjAxMC0w
Mi0xMFQyMDoxMyIsICIzIiwgIjIwMTAtMDItMTBUMjA6MTI6NTYiKSBpcyAiMjAxMC0wMi0xMFQy
MDoxMjo1OSIKK1BBU1Mgc3RlcFVwKCIxOTcwLTAxLTAxVDAwOjEzIiwgIjciLCAiIikgaXMgIjE5
NzAtMDEtMDFUMDA6MTM6MDQiCisKK01vbnRoIHR5cGUKK0Z1bmN0aW9uIGFyZ3VtZW50cyBhcmUg
KHZhbHVlLCBzdGVwLCB7bWluIG9yIG1heH0sIFtzdGVwQ291bnRdKS4KK05vcm1hbCBjYXNlcwor
UEFTUyBzdGVwVXAoIjIwMTAtMDIiLCBudWxsLCBudWxsKSBpcyAiMjAxMC0wMyIKK1BBU1Mgc3Rl
cERvd24oIjIwMTAtMDIiLCBudWxsLCBudWxsKSBpcyAiMjAxMC0wMSIKK1BBU1Mgc3RlcFVwKCIy
MDEwLTAyIiwgbnVsbCwgbnVsbCwgMTApIGlzICIyMDEwLTEyIgorUEFTUyBzdGVwRG93bigiMjAx
MC0wMiIsIG51bGwsIG51bGwsIDExKSBpcyAiMjAwOS0wMyIKK1BBU1Mgc3RlcFVwKCIxOTcwLTAx
IiwgIjQiLCBudWxsLCAyKSBpcyAiMTk3MC0wOSIKK1BBU1Mgc3RlcERvd24oIjE5NzAtMDEiLCAi
NCIsIG51bGwsIDMpIGlzICIxOTY5LTAxIgorU3RlcD1hbnkKK1BBU1Mgc3RlcFVwKCIyMDEwLTAy
IiwgImFueSIsIG51bGwpIGlzICIyMDEwLTAyIgorUEFTUyBzdGVwRG93bigiMjAxMC0wMiIsICJh
bnkiLCBudWxsKSBpcyAiMjAxMC0wMiIKK092ZXJmbG93L3VuZGVyZmxvdworUEFTUyBzdGVwVXAo
IjIwMTAtMDIiLCAiMy40MDI4MjM0NmUrMzgiLCBudWxsKSBpcyAiMjc1NzYwLTA5IgorUEFTUyBz
dGVwRG93bigiMjAxMC0wMiIsICIzLjQwMjgyMzQ2ZSszOCIsIG51bGwpIGlzICIxOTcwLTAxIgor
UEFTUyBzdGVwVXAoIjIwMTAtMDIiLCAiMSIsICIyMDEwLTAyIikgaXMgIjIwMTAtMDIiCitQQVNT
IHN0ZXBEb3duKCIyMDEwLTAyIiwgIjEiLCAiMjAxMC0wMiIpIGlzICIyMDEwLTAyIgorc3RlcERv
d24oKS9zdGVwVXAoKSBmb3Igc3RlcE1pc21hdGNoIHZhbHVlcworUEFTUyBzdGVwRG93bigiMjAx
MC0wMiIsICIzIiwgIjIwMDktMTAiKSBpcyAiMjAxMC0wMSIKK1BBU1Mgc3RlcFVwKCIxOTcwLTAy
IiwgIjQiLCAiIikgaXMgIjE5NzAtMDUiCisKK051bWJlciB0eXBlCitGdW5jdGlvbiBhcmd1bWVu
dHMgYXJlICh2YWx1ZSwgc3RlcCwge21pbiBvciBtYXh9LCBbc3RlcENvdW50XSkuCitJbnZhbGlk
IHZhbHVlCitQQVNTIHN0ZXBVcCgiIiwgbnVsbCwgbnVsbCkgaXMgIjEiCitQQVNTIHN0ZXBEb3du
KCIiLCBudWxsLCBudWxsKSBpcyAiLTEiCitQQVNTIHN0ZXBVcCgiIiwgImFueSIsIG51bGwpIGlz
ICIwIgorUEFTUyBzdGVwRG93bigiIiwgImFueSIsIG51bGwpIGlzICIwIgorUEFTUyBzdGVwVXAo
IiIsICJmb28iLCBudWxsKSBpcyAiMSIKK1BBU1Mgc3RlcERvd24oIiIsICJmb28iLCBudWxsKSBp
cyAiLTEiCitQQVNTIHN0ZXBVcCgiZm9vIiwgbnVsbCwgbnVsbCkgaXMgIjEiCitQQVNTIHN0ZXBE
b3duKCJmb28iLCBudWxsLCBudWxsKSBpcyAiLTEiCitQQVNTIHN0ZXBVcCgiZm9vIiwgImFueSIs
IG51bGwpIGlzICIwIgorUEFTUyBzdGVwRG93bigiZm9vIiwgImFueSIsIG51bGwpIGlzICIwIgor
UEFTUyBzdGVwVXAoImZvbyIsICJmb28iLCBudWxsKSBpcyAiMSIKK1BBU1Mgc3RlcERvd24oImZv
byIsICJmb28iLCBudWxsKSBpcyAiLTEiCitOb3JtYWwgY2FzZXMKK1BBU1Mgc3RlcFVwKCIwIiwg
bnVsbCwgbnVsbCkgaXMgIjEiCitQQVNTIHN0ZXBVcCgiMSIsIG51bGwsIG51bGwsIDIpIGlzICIz
IgorUEFTUyBzdGVwVXAoIjMiLCBudWxsLCBudWxsLCAtMSkgaXMgIjIiCitQQVNTIHN0ZXBEb3du
KCIyIiwgbnVsbCwgbnVsbCkgaXMgIjEiCitQQVNTIHN0ZXBEb3duKCIxIiwgbnVsbCwgbnVsbCwg
MikgaXMgIi0xIgorUEFTUyBzdGVwRG93bigiLTEiLCBudWxsLCBudWxsLCAtMSkgaXMgIjAiCitJ
bnZhbGlkIHN0ZXAgdmFsdWUKK1BBU1Mgc3RlcFVwKCIwIiwgImZvbyIsIG51bGwpIGlzICIxIgor
UEFTUyBzdGVwVXAoIjEiLCAiMCIsIG51bGwpIGlzICIyIgorUEFTUyBzdGVwVXAoIjIiLCAiLTEi
LCBudWxsKSBpcyAiMyIKK1N0ZXA9YW55CitQQVNTIHN0ZXBVcCgiMCIsICJhbnkiLCBudWxsKSBp
cyAiMCIKK1BBU1Mgc3RlcERvd24oIjAiLCAiYW55IiwgbnVsbCkgaXMgIjAiCitPdmVyZmxvdy91
bmRlcmZsb3cKK1BBU1Mgc3RlcERvd24oIjEiLCAiMSIsICIwIikgaXMgIjAiCitQQVNTIHN0ZXBE
b3duKCIwIiwgIjEiLCAiMCIpIGlzICIwIgorUEFTUyBzdGVwRG93bigiMSIsICIxIiwgIjAiLCAy
KSBpcyAiMCIKK1BBU1Mgc3RlcERvd24oIjEiLCAiMy40MDI4MjM0NmUrMzgiLCAiIiwgMikgaXMg
Ii0zLjQwMjgyMzQ2ZSszOCIKK1BBU1Mgc3RlcFVwKCItMSIsICIxIiwgIjAiKSBpcyAiMCIKK1BB
U1Mgc3RlcFVwKCIwIiwgIjEiLCAiMCIpIGlzICIwIgorUEFTUyBzdGVwVXAoIi0xIiwgIjEiLCAi
MCIsIDIpIGlzICIwIgorUEFTUyBzdGVwVXAoIjEiLCAiMy40MDI4MjM0NmUrMzgiLCAiIiwgMikg
aXMgIjMuNDAyODIzNDZlKzM4Igorc3RlcERvd24oKS9zdGVwVXAoKSBmb3Igc3RlcE1pc21hdGNo
IHZhbHVlcworUEFTUyBzdGVwVXAoIjEiLCAiMiIsICIiKSBpcyAiMiIKK1BBU1MgaW5wdXQubWlu
ID0gIjAiOyBzdGVwVXAoIjkiLCAiMTAiLCAiIikgaXMgIjEwIgorUEFTUyBzdGVwRG93bigiMTki
LCAiMTAiLCAiMCIpIGlzICIxMCIKK1BBU1Mgc3RlcFVwKCI4OSIsICIxMCIsICI5OSIpIGlzICI5
MCIKK0h1Z2UgdmFsdWUgYW5kIHNtYWxsIHN0ZXAKK1BBU1MgaW5wdXQubWluID0gIiI7IHN0ZXBV
cCgiMWUrMzgiLCAiMSIsICIiLCA5OTkpIGlzICIxZSszOCIKK1BBU1MgaW5wdXQubWF4ID0gIiI7
IHN0ZXBEb3duKCIxZSszOCIsICIxIiwgIiIsIDk5OSkgaXMgIjFlKzM4IgorRnJhY3Rpb25hbCBu
dW1iZXJzCitQQVNTIGlucHV0Lm1pbiA9ICIiOyBzdGVwVXAoIjAiLCAiMC4zMzMzMzMzMzMzMzMz
MzMzMyIsICIiLCAzKSBpcyAiMSIKK1BBU1Mgc3RlcFVwKCIxIiwgIjAuMSIsICIiLCAxMCkgaXMg
IjIiCitQQVNTIGlucHV0Lm1pbiA9ICIwIjsgc3RlcFVwKCIwIiwgIjAuMDAzOTIxNTY4NjI3NDUw
OTgwIiwgIjEiLCAyNTUpIGlzICIxIgorUm91bmRpbmcKK1BBU1Mgc3RlcFVwKCI1LjAwNSIsICIw
LjAwNSIsICIiLCAyKSBpcyAiNS4wMTUiCitQQVNTIHN0ZXBVcCgiNS4wMDUiLCAiMC4wMDUiLCAi
IiwgMTEpIGlzICI1LjA2IgorUEFTUyBzdGVwVXAoIjUuMDA1IiwgIjAuMDA1IiwgIiIsIDEyKSBp
cyAiNS4wNjUiCitQQVNTIHN0ZXBVcEV4cGxpY2l0Qm91bmRzKCI0IiwgIjkiLCAiMC4wMDUiLCAi
NS4wMDUiLCAyKSBpcyAiNS4wMTUiCitQQVNTIHN0ZXBVcEV4cGxpY2l0Qm91bmRzKCI0IiwgIjki
LCAiMC4wMDUiLCAiNS4wMDUiLCAxMSkgaXMgIjUuMDYiCitQQVNTIHN0ZXBVcEV4cGxpY2l0Qm91
bmRzKCI0IiwgIjkiLCAiMC4wMDUiLCAiNS4wMDUiLCAxMikgaXMgIjUuMDY1IgorCitSYW5nZSB0
eXBlCitGdW5jdGlvbiBhcmd1bWVudHMgYXJlIChtaW4sIG1heCwgc3RlcCwgdmFsdWUsIFtzdGVw
Q291bnRdKS4KK1VzaW5nIHRoZSBkZWZhdWx0IHZhbHVlcworUEFTUyBzdGVwVXBFeHBsaWNpdEJv
dW5kcyhudWxsLCBudWxsLCBudWxsLCAiIikgaXMgIjUxIgorUEFTUyBzdGVwRG93bkV4cGxpY2l0
Qm91bmRzKG51bGwsIG51bGwsIG51bGwsICIiKSBpcyAiNDkiCitQQVNTIHN0ZXBVcEV4cGxpY2l0
Qm91bmRzKG51bGwsIG51bGwsICJhbnkiLCAiIikgaXMgIjUxIgorUEFTUyBzdGVwRG93bkV4cGxp
Y2l0Qm91bmRzKG51bGwsIG51bGwsICJhbnkiLCAiIikgaXMgIjQ5IgorUEFTUyBzdGVwVXBFeHBs
aWNpdEJvdW5kcyhudWxsLCBudWxsLCAiZm9vIiwgIiIpIGlzICI1MSIKK1BBU1Mgc3RlcERvd25F
eHBsaWNpdEJvdW5kcyhudWxsLCBudWxsLCAiZm9vIiwgIiIpIGlzICI0OSIKK1BBU1Mgc3RlcFVw
RXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwgbnVsbCwgImZvbyIpIGlzICI1MSIKK1BBU1Mgc3Rl
cERvd25FeHBsaWNpdEJvdW5kcyhudWxsLCBudWxsLCBudWxsLCAiZm9vIikgaXMgIjQ5IgorUEFT
UyBzdGVwVXBFeHBsaWNpdEJvdW5kcyhudWxsLCBudWxsLCAiYW55IiwgImZvbyIpIGlzICI1MSIK
K1BBU1Mgc3RlcERvd25FeHBsaWNpdEJvdW5kcyhudWxsLCBudWxsLCAiYW55IiwgImZvbyIpIGlz
ICI0OSIKK1BBU1Mgc3RlcFVwRXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwgImZvbyIsICJmb28i
KSBpcyAiNTEiCitQQVNTIHN0ZXBEb3duRXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwgImZvbyIs
ICJmb28iKSBpcyAiNDkiCitOb3JtYWwgY2FzZXMKK1BBU1Mgc3RlcFVwRXhwbGljaXRCb3VuZHMo
bnVsbCwgbnVsbCwgbnVsbCwgIjAiKSBpcyAiMSIKK1BBU1Mgc3RlcFVwRXhwbGljaXRCb3VuZHMo
bnVsbCwgbnVsbCwgbnVsbCwgIjEiLCAyKSBpcyAiMyIKK1BBU1Mgc3RlcFVwRXhwbGljaXRCb3Vu
ZHMobnVsbCwgbnVsbCwgbnVsbCwgIjMiLCAtMSkgaXMgIjIiCitQQVNTIHN0ZXBEb3duRXhwbGlj
aXRCb3VuZHMoIi0xMDAiLCBudWxsLCBudWxsLCAiMiIpIGlzICIxIgorUEFTUyBzdGVwRG93bkV4
cGxpY2l0Qm91bmRzKCItMTAwIiwgbnVsbCwgbnVsbCwgIjEiLCAyKSBpcyAiLTEiCitQQVNTIHN0
ZXBEb3duRXhwbGljaXRCb3VuZHMoIi0xMDAiLCBudWxsLCBudWxsLCAiLTEiLCAtMSkgaXMgIjAi
CitJbnZhbGlkIHN0ZXAgdmFsdWUKK1BBU1Mgc3RlcFVwRXhwbGljaXRCb3VuZHMobnVsbCwgbnVs
bCwgImZvbyIsICIwIikgaXMgIjEiCitQQVNTIHN0ZXBVcEV4cGxpY2l0Qm91bmRzKG51bGwsIG51
bGwsICIwIiwgIjEiKSBpcyAiMiIKK1BBU1Mgc3RlcFVwRXhwbGljaXRCb3VuZHMobnVsbCwgbnVs
bCwgIi0xIiwgIjIiKSBpcyAiMyIKK1BBU1Mgc3RlcERvd25FeHBsaWNpdEJvdW5kcyhudWxsLCBu
dWxsLCAiZm9vIiwgIjEiKSBpcyAiMCIKK1BBU1Mgc3RlcERvd25FeHBsaWNpdEJvdW5kcyhudWxs
LCBudWxsLCAiMCIsICIyIikgaXMgIjEiCitQQVNTIHN0ZXBEb3duRXhwbGljaXRCb3VuZHMobnVs
bCwgbnVsbCwgIi0xIiwgIjMiKSBpcyAiMiIKK1N0ZXA9YW55CitQQVNTIHN0ZXBVcEV4cGxpY2l0
Qm91bmRzKG51bGwsIG51bGwsICJhbnkiLCAiMSIpIGlzICIyIgorUEFTUyBzdGVwRG93bkV4cGxp
Y2l0Qm91bmRzKG51bGwsIG51bGwsICJhbnkiLCAiMSIpIGlzICIwIgorT3ZlcmZsb3cvdW5kZXJm
bG93CitQQVNTIHN0ZXBVcEV4cGxpY2l0Qm91bmRzKG51bGwsICIxMDAiLCAiMSIsICI5OSIpIGlz
ICIxMDAiCitQQVNTIHN0ZXBVcEV4cGxpY2l0Qm91bmRzKG51bGwsICIxMDAiLCAiMSIsICIxMDAi
KSBpcyAiMTAwIgorUEFTUyBzdGVwVXBFeHBsaWNpdEJvdW5kcyhudWxsLCAiMTAwIiwgIjEiLCAi
OTkiLCAyKSBpcyAiMTAwIgorUEFTUyBzdGVwRG93bkV4cGxpY2l0Qm91bmRzKCIwIiwgbnVsbCwg
IjEiLCAiMSIpIGlzICIwIgorUEFTUyBzdGVwRG93bkV4cGxpY2l0Qm91bmRzKCIwIiwgbnVsbCwg
IjEiLCAiMCIpIGlzICIwIgorUEFTUyBzdGVwRG93bkV4cGxpY2l0Qm91bmRzKCIwIiwgbnVsbCwg
IjEiLCAiMSIsIDIpIGlzICIwIgorUEFTUyBzdGVwRG93bkV4cGxpY2l0Qm91bmRzKG51bGwsIG51
bGwsICIzLjQwMjgyMzQ2ZSszOCIsICIxIiwgMikgaXMgIjAiCitQQVNTIHN0ZXBVcEV4cGxpY2l0
Qm91bmRzKC0xMDAsIDAsIDEsIC0xKSBpcyAiMCIKK1BBU1Mgc3RlcFVwRXhwbGljaXRCb3VuZHMo
bnVsbCwgMCwgMSwgMCkgaXMgIjAiCitQQVNTIHN0ZXBVcEV4cGxpY2l0Qm91bmRzKC0xMDAsIDAs
IDEsIC0xLCAyKSBpcyAiMCIKK1BBU1Mgc3RlcFVwRXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwg
IjMuNDAyODIzNDZlKzM4IiwgIjEiLCAyKSBpcyAiMCIKK3N0ZXBEb3duKCkvc3RlcFVwKCkgZm9y
IHN0ZXBNaXNtYXRjaCB2YWx1ZXMKK1BBU1Mgc3RlcFVwRXhwbGljaXRCb3VuZHMobnVsbCwgbnVs
bCwgMiwgMSkgaXMgIjQiCitQQVNTIHN0ZXBVcEV4cGxpY2l0Qm91bmRzKDAsIG51bGwsIDEwLCA5
LCA5KSBpcyAiMTAwIgorUEFTUyBzdGVwRG93bkV4cGxpY2l0Qm91bmRzKDAsIG51bGwsIDEwLCAx
OSkgaXMgIjEwIgordmFsdWUgKyBzdGVwIGlzIDw9IG1heCwgYnV0IHJvdW5kZWQgcmVzdWx0IHdv
dWxkIGJlID4gbWF4LgorUEFTUyBzdGVwVXBFeHBsaWNpdEJvdW5kcyhudWxsLCA5OSwgMTAsIDg5
KSBpcyAiOTAiCitIdWdlIHZhbHVlIGFuZCBzbWFsbCBzdGVwCitQQVNTIHN0ZXBVcEV4cGxpY2l0
Qm91bmRzKDAsIDFlMzgsIDEsIDFlMzgsIDk5OSkgaXMgIjFlKzM4IgorUEFTUyBzdGVwRG93bkV4
cGxpY2l0Qm91bmRzKDAsIDFlMzgsIDEsIDFlMzgsIDk5OSkgaXMgIjFlKzM4IgorRnJhY3Rpb25h
bCBudW1iZXJzCitQQVNTIHN0ZXBVcEV4cGxpY2l0Qm91bmRzKG51bGwsIG51bGwsIDAuMzMzMzMz
MzMzMzMzMzMzMzMsIDAsIDMpIGlzICIxIgorUEFTUyBzdGVwVXBFeHBsaWNpdEJvdW5kcyhudWxs
LCBudWxsLCAwLjEsIDEpIGlzICIxLjEiCitQQVNTIHN0ZXBVcEV4cGxpY2l0Qm91bmRzKG51bGws
IG51bGwsIDAuMSwgMSwgOCkgaXMgIjEuOCIKK1BBU1Mgc3RlcFVwRXhwbGljaXRCb3VuZHMobnVs
bCwgbnVsbCwgMC4xLCAxLCAxMCkgaXMgIjIiCitQQVNTIHN0ZXBVcEV4cGxpY2l0Qm91bmRzKDAs
IDEsIDAuMDAzOTIxNTY4NjI3NDUwOTgwLCAwLCAyNTUpIGlzICIxIgorUEFTUyBzdGVwRG93bkV4
cGxpY2l0Qm91bmRzKG51bGwsIG51bGwsIDAuMSwgMSwgOCkgaXMgIjAuMiIKK1BBU1Mgc3RlcERv
d25FeHBsaWNpdEJvdW5kcyhudWxsLCBudWxsLCAwLjEsIDEpIGlzICIwLjkiCisKK1RpbWUgdHlw
ZQorRnVuY3Rpb24gYXJndW1lbnRzIGFyZSAodmFsdWUsIHN0ZXAsIHttaW4gb3IgbWF4fSwgW3N0
ZXBDb3VudF0pLgorTm9ybWFsIGNhc2VzCitQQVNTIHN0ZXBVcCgiMjA6MTMiLCBudWxsLCBudWxs
KSBpcyAiMjA6MTQiCitQQVNTIHN0ZXBEb3duKCIyMDoxMyIsIG51bGwsIG51bGwpIGlzICIyMDox
MiIKK1BBU1Mgc3RlcFVwKCIyMDoxMyIsIG51bGwsIG51bGwsIDEwKSBpcyAiMjA6MjMiCitQQVNT
IHN0ZXBEb3duKCIyMDoxMyIsIG51bGwsIG51bGwsIDExKSBpcyAiMjA6MDIiCitQQVNTIHN0ZXBV
cCgiMjA6MTMiLCAiNCIsIG51bGwsIDIpIGlzICIyMDoxMzowOCIKK1BBU1Mgc3RlcERvd24oIjIw
OjEzIiwgIjQiLCBudWxsLCAzKSBpcyAiMjA6MTI6NDgiCitTdGVwPWFueQorUEFTUyBzdGVwVXAo
IjIwOjEzIiwgImFueSIsIG51bGwpIGlzICIyMDoxMyIKK1BBU1Mgc3RlcERvd24oIjIwOjEzIiwg
ImFueSIsIG51bGwpIGlzICIyMDoxMyIKK092ZXJmbG93L3VuZGVyZmxvdworUEFTUyBzdGVwVXAo
IjIwOjEzIiwgIjMuNDAyODIzNDZlKzM4IiwgbnVsbCkgaXMgIjIzOjU5OjU5Ljk5OSIKK1BBU1Mg
c3RlcERvd24oIjIwOjEzIiwgIjMuNDAyODIzNDZlKzM4IiwgbnVsbCkgaXMgIjAwOjAwOjAwLjAw
MCIKK1BBU1Mgc3RlcFVwKCIyMDoxMyIsICIxIiwgIjIwOjEzIikgaXMgIjIwOjEzIgorUEFTUyBz
dGVwRG93bigiMjA6MTMiLCAiMSIsICIyMDoxMyIpIGlzICIyMDoxMyIKK1BBU1Mgc3RlcFVwKCIy
Mzo1OSIsIG51bGwsIG51bGwpIGlzICIyMzo1OSIKK1BBU1Mgc3RlcERvd24oIjAwOjAwIiwgbnVs
bCwgbnVsbCkgaXMgIjAwOjAwIgorc3RlcERvd24oKS9zdGVwVXAoKSBmb3Igc3RlcE1pc21hdGNo
IHZhbHVlcworUEFTUyBzdGVwRG93bigiMjA6MTMiLCAiMyIsICIyMDoxMjo1NiIpIGlzICIyMDox
Mjo1OSIKK1BBU1Mgc3RlcFVwKCIwMDoxMyIsICI3IiwgIiIpIGlzICIwMDoxMzowNCIKKworV2Vl
ayB0eXBlCitGdW5jdGlvbiBhcmd1bWVudHMgYXJlICh2YWx1ZSwgc3RlcCwge21pbiBvciBtYXh9
LCBbc3RlcENvdW50XSkuCitOb3JtYWwgY2FzZXMKK1BBU1Mgc3RlcFVwKCIyMDEwLVcwMiIsIG51
bGwsIG51bGwpIGlzICIyMDEwLVcwMyIKK1BBU1Mgc3RlcERvd24oIjIwMTAtVzAyIiwgbnVsbCwg
bnVsbCkgaXMgIjIwMTAtVzAxIgorUEFTUyBzdGVwVXAoIjIwMTAtVzAyIiwgbnVsbCwgbnVsbCwg
MTApIGlzICIyMDEwLVcxMiIKK1BBU1Mgc3RlcERvd24oIjIwMTAtVzAyIiwgbnVsbCwgbnVsbCwg
MTEpIGlzICIyMDA5LVc0NCIKK1BBU1Mgc3RlcFVwKCIxOTcwLVcwMSIsICI0IiwgbnVsbCwgMikg
aXMgIjE5NzAtVzA5IgorUEFTUyBzdGVwRG93bigiMTk3MC1XMDEiLCAiNCIsIG51bGwsIDMpIGlz
ICIxOTY5LVc0MSIKK1N0ZXA9YW55CitQQVNTIHN0ZXBVcCgiMjAxMC1XMDIiLCAiYW55IiwgbnVs
bCkgaXMgIjIwMTAtVzAyIgorUEFTUyBzdGVwRG93bigiMjAxMC1XMDIiLCAiYW55IiwgbnVsbCkg
aXMgIjIwMTAtVzAyIgorT3ZlcmZsb3cvdW5kZXJmbG93CitQQVNTIHN0ZXBVcCgiMjAxMC1XMDIi
LCAiMy40MDI4MjM0NmUrMzgiLCBudWxsKSBpcyAiMjc1NzYwLVczNyIKK1BBU1Mgc3RlcERvd24o
IjIwMTAtVzAyIiwgIjMuNDAyODIzNDZlKzM4IiwgbnVsbCkgaXMgIjE5NzAtVzAxIgorUEFTUyBz
dGVwVXAoIjIwMTAtVzAyIiwgIjEiLCAiMjAxMC1XMDIiKSBpcyAiMjAxMC1XMDIiCitQQVNTIHN0
ZXBEb3duKCIyMDEwLVcwMiIsICIxIiwgIjIwMTAtVzAyIikgaXMgIjIwMTAtVzAyIgorc3RlcERv
d24oKS9zdGVwVXAoKSBmb3Igc3RlcE1pc21hdGNoIHZhbHVlcworUEFTUyBzdGVwRG93bigiMjAx
MC1XMDIiLCAiMiIsICIyMDA5LVc1MiIpIGlzICIyMDEwLVcwMSIKK1BBU1Mgc3RlcFVwKCIxOTcw
LVcwMiIsICI0IiwgIiIpIGlzICIxOTcwLVcwNSIKKworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvaW5wdXQtc3RlcHVwLXN0ZXBkb3duLWZyb20tcmVuZGVyZXIuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvaW5wdXQtc3RlcHVwLXN0ZXBkb3duLWZyb20tcmVuZGVyZXIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5hNGZmZmZkYzhlZTYwMDJkNTNkN2FiMjE5ZjkzMWU3MDg5ZDU0NDVkCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9pbnB1dC1zdGVwdXAtc3RlcGRv
d24tZnJvbS1yZW5kZXJlci5odG1sCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9
InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUu
Y3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL2lucHV0
LXN0ZXB1cC1zdGVwZG93bi1mcm9tLXJlbmRlcmVyLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQt
dGVzdHMvaW5wdXQtc3RlcHVwLXN0ZXBkb3duLWZyb20tcmVuZGVyZXIuanMgYi9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9pbnB1dC1zdGVwdXAtc3RlcGRvd24tZnJvbS1yZW5k
ZXJlci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi41NTZiZjJmNDFlMzgwYmZiMTU1YmIzOWRmZTdiMzhhMWU3YmEw
MDdmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVz
dHMvaW5wdXQtc3RlcHVwLXN0ZXBkb3duLWZyb20tcmVuZGVyZXIuanMKQEAgLTAsMCArMSwzNDQg
QEAKK2Rlc2NyaXB0aW9uKCdDaGVjayBzdGVwcGluZy11cCBhbmQgLWRvd24gZm9yIDxpbnB1dD4g
ZnJvbSByZW5kZXJlci4gTm8gY2FzZXMgb2YgZW1wdHkgaW5pdGlhbCB2YWx1ZXMgZm9yIHR5cGU9
ZGF0ZSwgZGF0ZXRpbWUsIGRhdGV0aW1lLWxvY2FsLCBtb250aCwgdGltZSwgd2Vlay4nKTsKKwor
dmFyIGlucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTsKK3ZhciBpbnZhbGlk
U3RhdGVFcnIgPSAnIkVycm9yOiBJTlZBTElEX1NUQVRFX0VSUjogRE9NIEV4Y2VwdGlvbiAxMSIn
OworCitmdW5jdGlvbiBzZW5kS2V5KGtleU5hbWUpIHsKKyAgICB2YXIgZXZlbnQgPSBkb2N1bWVu
dC5jcmVhdGVFdmVudCgnS2V5Ym9hcmRFdmVudCcpOworICAgIGV2ZW50LmluaXRLZXlib2FyZEV2
ZW50KCdrZXlkb3duJywgdHJ1ZSwgdHJ1ZSwgZG9jdW1lbnQuZGVmYXVsdFZpZXcsIGtleU5hbWUp
OworICAgIGlucHV0LmRpc3BhdGNoRXZlbnQoZXZlbnQpOworfQorCitmdW5jdGlvbiBzZXRJbnB1
dEF0dHJpYnV0ZXMobWluLCBtYXgsIHN0ZXAsIHZhbHVlKSB7CisgICAgaW5wdXQubWluID0gbWlu
OworICAgIGlucHV0Lm1heCA9IG1heDsKKyAgICBpbnB1dC5zdGVwID0gc3RlcDsKKyAgICBpbnB1
dC52YWx1ZSA9IHZhbHVlOworfQorCitmdW5jdGlvbiBzdGVwVXAodmFsdWUsIHN0ZXAsIG1heCwg
b3B0aW9uYWxTdGVwQ291bnQpIHsKKyAgICBzZXRJbnB1dEF0dHJpYnV0ZXMobnVsbCwgbWF4LCBz
dGVwLCB2YWx1ZSk7CisgICAgaWYgKHR5cGVvZiBvcHRpb25hbFN0ZXBDb3VudCAhPSAidW5kZWZp
bmVkIikKKyAgICAgICAgaWYgKG9wdGlvbmFsU3RlcENvdW50IDwgMCkKKyAgICAgICAgICAgIGZv
ciAodmFyIGkgPSAwOyBpIDwgLW9wdGlvbmFsU3RlcENvdW50OyBpKyspCisgICAgICAgICAgICAg
ICAgc2VuZEtleSgnRG93bicpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBmb3IgKHZhciBp
ID0gMDsgaSA8IG9wdGlvbmFsU3RlcENvdW50OyBpKyspCisgICAgICAgICAgICAgICAgc2VuZEtl
eSgnVXAnKTsKKyAgICBlbHNlCisgICAgICAgIHNlbmRLZXkoJ1VwJyk7CisgICAgcmV0dXJuIGlu
cHV0LnZhbHVlOworfQorCitmdW5jdGlvbiBzdGVwRG93bih2YWx1ZSwgc3RlcCwgbWluLCBvcHRp
b25hbFN0ZXBDb3VudCkgeworICAgIHNldElucHV0QXR0cmlidXRlcyhtaW4sIG51bGwsIHN0ZXAs
IHZhbHVlKTsKKyAgICBpZiAodHlwZW9mIG9wdGlvbmFsU3RlcENvdW50ICE9ICJ1bmRlZmluZWQi
KQorICAgICAgICBpZiAob3B0aW9uYWxTdGVwQ291bnQgPCAwKQorICAgICAgICAgICAgZm9yICh2
YXIgaSA9IDA7IGkgPCAtb3B0aW9uYWxTdGVwQ291bnQ7IGkrKykKKyAgICAgICAgICAgICAgICBz
ZW5kS2V5KCdVcCcpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsg
aSA8IG9wdGlvbmFsU3RlcENvdW50OyBpKyspCisgICAgICAgICAgICAgICAgc2VuZEtleSgnRG93
bicpOworICAgIGVsc2UKKyAgICAgICAgc2VuZEtleSgnRG93bicpOworICAgIHJldHVybiBpbnB1
dC52YWx1ZTsKK30KKworLy8gUmFuZ2UgdmFsdWUgZ2V0cyBhdXRvbWF0aWNhbGx5IHNoaWZ0ZWQg
YmFzZWQgb24gYm91bmRzLAorLy8gU28gYWx3YXlzIHNldCB0aGUgbWluIGFuZCBtYXggZmlyc3Qg
dG8gZ2V0IGV4cGVjdGVkIGJlaGF2aW9yCisKK2Z1bmN0aW9uIHN0ZXBVcEV4cGxpY2l0Qm91bmRz
KG1pbiwgbWF4LCBzdGVwLCB2YWx1ZSwgc3RlcENvdW50KSB7CisgICAgc2V0SW5wdXRBdHRyaWJ1
dGVzKG1pbiwgbWF4LCBzdGVwLCB2YWx1ZSk7CisgICAgaWYgKHR5cGVvZiBzdGVwQ291bnQgIT09
ICd1bmRlZmluZWQnKQorICAgICAgICBpZiAoc3RlcENvdW50IDwgMCkgeworICAgICAgICAgICAg
Zm9yICh2YXIgaSA9IDA7IGkgPCAtc3RlcENvdW50OyBpKyspCisgICAgICAgICAgICAgICAgc2Vu
ZEtleSgnRG93bicpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgZm9yICh2YXIgaSA9
IDA7IGkgPCBzdGVwQ291bnQ7IGkrKykKKyAgICAgICAgICAgICAgICBzZW5kS2V5KCdVcCcpOwor
ICAgICAgICB9CisgICAgZWxzZQorICAgICAgICBzZW5kS2V5KCdVcCcpOworICAgIHJldHVybiBp
bnB1dC52YWx1ZTsKK30KKworZnVuY3Rpb24gc3RlcERvd25FeHBsaWNpdEJvdW5kcyhtaW4sIG1h
eCwgc3RlcCwgdmFsdWUsIHN0ZXBDb3VudCkgeworICAgIHNldElucHV0QXR0cmlidXRlcyhtaW4s
IG1heCwgc3RlcCwgdmFsdWUpOworICAgIGlmICh0eXBlb2Ygc3RlcENvdW50ICE9PSAndW5kZWZp
bmVkJykKKyAgICAgICAgaWYgKHN0ZXBDb3VudCA8IDApIHsKKyAgICAgICAgICAgIGZvciAodmFy
IGkgPSAwOyBpIDwgLXN0ZXBDb3VudDsgaSsrKQorICAgICAgICAgICAgICAgIHNlbmRLZXkoJ1Vw
Jyk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHN0
ZXBDb3VudDsgaSsrKQorICAgICAgICAgICAgICAgIHNlbmRLZXkoJ0Rvd24nKTsKKyAgICAgICAg
fQorICAgIGVsc2UKKyAgICAgICAgc2VuZEtleSgnRG93bicpOworICAgIHJldHVybiBpbnB1dC52
YWx1ZTsKK30KKworZGVidWcoJ0RhdGUgdHlwZScpOworaW5wdXQudHlwZSA9ICdkYXRlJzsKK2Rl
YnVnKCdGdW5jdGlvbiBhcmd1bWVudHMgYXJlICh2YWx1ZSwgc3RlcCwge21pbiBvciBtYXh9LCBb
c3RlcENvdW50XSkuJyk7CitkZWJ1ZygnTm9ybWFsIGNhc2VzJyk7CitzaG91bGRCZSgnc3RlcFVw
KCIyMDEwLTAyLTEwIiwgbnVsbCwgbnVsbCknLCAnIjIwMTAtMDItMTEiJyk7CitzaG91bGRCZSgn
c3RlcERvd24oIjIwMTAtMDItMTAiLCBudWxsLCBudWxsKScsICciMjAxMC0wMi0wOSInKTsKK3No
b3VsZEJlKCdzdGVwVXAoIjIwMTAtMDItMTAiLCBudWxsLCBudWxsLCAxMCknLCAnIjIwMTAtMDIt
MjAiJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjIwMTAtMDItMTAiLCBudWxsLCBudWxsLCAxMSkn
LCAnIjIwMTAtMDEtMzAiJyk7CitzaG91bGRCZSgnc3RlcFVwKCIxOTcwLTAxLTAxIiwgIjQiLCBu
dWxsLCAyKScsICciMTk3MC0wMS0wOSInKTsKK3Nob3VsZEJlKCdzdGVwRG93bigiMTk3MC0wMS0w
MSIsICI0IiwgbnVsbCwgMyknLCAnIjE5NjktMTItMjAiJyk7CitkZWJ1ZygnU3RlcD1hbnknKTsK
K3Nob3VsZEJlKCdzdGVwVXAoIjIwMTAtMDItMTAiLCAiYW55IiwgbnVsbCknLCAnIjIwMTAtMDIt
MTAiJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjIwMTAtMDItMTAiLCAiYW55IiwgbnVsbCknLCAn
IjIwMTAtMDItMTAiJyk7CitkZWJ1ZygnT3ZlcmZsb3cvdW5kZXJmbG93Jyk7CitzaG91bGRCZSgn
c3RlcFVwKCIyMDEwLTAyLTEwIiwgIjMuNDAyODIzNDZlKzM4IiwgbnVsbCknLCciMjc1NzYwLTA5
LTEzIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIyMDEwLTAyLTEwIiwgIjMuNDAyODIzNDZlKzM4
IiwgbnVsbCknLCAnIjE5NzAtMDEtMDEiJyk7CitzaG91bGRCZSgnc3RlcFVwKCIyMDEwLTAyLTEw
IiwgIjEiLCAiMjAxMC0wMi0xMCIpJywgJyIyMDEwLTAyLTEwIicpOworc2hvdWxkQmUoJ3N0ZXBE
b3duKCIyMDEwLTAyLTEwIiwgIjEiLCAiMjAxMC0wMi0xMCIpJywgJyIyMDEwLTAyLTEwIicpOwor
ZGVidWcoJ3N0ZXBEb3duKCkvc3RlcFVwKCkgZm9yIHN0ZXBNaXNtYXRjaCB2YWx1ZXMnKTsKK3No
b3VsZEJlKCdzdGVwRG93bigiMjAxMC0wMi0xMCIsICIzIiwgIjIwMTAtMDItMDYiKScsICciMjAx
MC0wMi0wOSInKTsKK3Nob3VsZEJlKCdzdGVwVXAoIjE5NzAtMDEtMDIiLCAiMiIsICIiKScsICci
MTk3MC0wMS0wMyInKTsKKworZGVidWcoJycpOworZGVidWcoJ0RhdGV0aW1lIHR5cGUnKTsKK2lu
cHV0LnR5cGUgPSAnZGF0ZXRpbWUnOworZGVidWcoJ0Z1bmN0aW9uIGFyZ3VtZW50cyBhcmUgKHZh
bHVlLCBzdGVwLCB7bWluIG9yIG1heH0sIFtzdGVwQ291bnRdKS4nKTsKK2RlYnVnKCdOb3JtYWwg
Y2FzZXMnKTsKK3Nob3VsZEJlKCdzdGVwVXAoIjIwMTAtMDItMTBUMjA6MTNaIiwgbnVsbCwgbnVs
bCknLCAnIjIwMTAtMDItMTBUMjA6MTRaIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIyMDEwLTAy
LTEwVDIwOjEzWiIsIG51bGwsIG51bGwpJywgJyIyMDEwLTAyLTEwVDIwOjEyWiInKTsKK3Nob3Vs
ZEJlKCdzdGVwVXAoIjIwMTAtMDItMTBUMjA6MTNaIiwgbnVsbCwgbnVsbCwgMTApJywgJyIyMDEw
LTAyLTEwVDIwOjIzWiInKTsKK3Nob3VsZEJlKCdzdGVwRG93bigiMjAxMC0wMi0xMFQyMDoxM1oi
LCBudWxsLCBudWxsLCAxMSknLCAnIjIwMTAtMDItMTBUMjA6MDJaIicpOworc2hvdWxkQmUoJ3N0
ZXBVcCgiMTk3MC0wMS0wMVQyMDoxM1oiLCAiNCIsIG51bGwsIDIpJywgJyIxOTcwLTAxLTAxVDIw
OjEzOjA4WiInKTsKK3Nob3VsZEJlKCdzdGVwRG93bigiMTk3MC0wMS0wMVQyMDoxM1oiLCAiNCIs
IG51bGwsIDMpJywgJyIxOTcwLTAxLTAxVDIwOjEyOjQ4WiInKTsKK2RlYnVnKCdTdGVwPWFueScp
Oworc2hvdWxkQmUoJ3N0ZXBVcCgiMjAxMC0wMi0xMFQyMDoxM1oiLCAiYW55IiwgbnVsbCknLCAn
IjIwMTAtMDItMTBUMjA6MTNaIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIyMDEwLTAyLTEwVDIw
OjEzWiIsICJhbnkiLCBudWxsKScsICciMjAxMC0wMi0xMFQyMDoxM1oiJyk7CitkZWJ1ZygnT3Zl
cmZsb3cvdW5kZXJmbG93Jyk7CitzaG91bGRCZSgnc3RlcFVwKCIyMDEwLTAyLTEwVDIwOjEzWiIs
ICIzLjQwMjgyMzQ2ZSszOCIsIG51bGwpJywgJyIyNzU3NjAtMDktMTNUMDA6MDA6MDAuMDAwWiIn
KTsKK3Nob3VsZEJlKCdzdGVwRG93bigiMjAxMC0wMi0xMFQyMDoxM1oiLCAiMy40MDI4MjM0NmUr
MzgiLCBudWxsKScsICciMTk3MC0wMS0wMVQwMDowMDowMC4wMDBaIicpOworc2hvdWxkQmUoJ3N0
ZXBVcCgiMjAxMC0wMi0xMFQyMDoxM1oiLCAiMSIsICIyMDEwLTAyLTEwVDIwOjEzWiIpJywgJyIy
MDEwLTAyLTEwVDIwOjEzWiInKTsKK3Nob3VsZEJlKCdzdGVwRG93bigiMjAxMC0wMi0xMFQyMDox
M1oiLCAiMSIsICIyMDEwLTAyLTEwVDIwOjEzWiIpJywgJyIyMDEwLTAyLTEwVDIwOjEzWiInKTsK
K2RlYnVnKCdzdGVwRG93bigpL3N0ZXBVcCgpIGZvciBzdGVwTWlzbWF0Y2ggdmFsdWVzJyk7Citz
aG91bGRCZSgnc3RlcERvd24oIjIwMTAtMDItMTBUMjA6MTNaIiwgIjMiLCAiMjAxMC0wMi0xMFQy
MDoxMjo1NloiKScsICciMjAxMC0wMi0xMFQyMDoxMjo1OVoiJyk7CitzaG91bGRCZSgnc3RlcFVw
KCIxOTcwLTAxLTAxVDAwOjEzWiIsICI3IiwgIiIpJywgJyIxOTcwLTAxLTAxVDAwOjEzOjA0WiIn
KTsKKworZGVidWcoJycpOworZGVidWcoJ0RhdGV0aW1lLWxvY2FsIHR5cGUnKTsKK2lucHV0LnR5
cGUgPSAnZGF0ZXRpbWUtbG9jYWwnOworZGVidWcoJ0Z1bmN0aW9uIGFyZ3VtZW50cyBhcmUgKHZh
bHVlLCBzdGVwLCB7bWluIG9yIG1heH0sIFtzdGVwQ291bnRdKS4nKTsKK2RlYnVnKCdOb3JtYWwg
Y2FzZXMnKTsKK3Nob3VsZEJlKCdzdGVwVXAoIjIwMTAtMDItMTBUMjA6MTMiLCBudWxsLCBudWxs
KScsICciMjAxMC0wMi0xMFQyMDoxNCInKTsKK3Nob3VsZEJlKCdzdGVwRG93bigiMjAxMC0wMi0x
MFQyMDoxMyIsIG51bGwsIG51bGwpJywgJyIyMDEwLTAyLTEwVDIwOjEyIicpOworc2hvdWxkQmUo
J3N0ZXBVcCgiMjAxMC0wMi0xMFQyMDoxMyIsIG51bGwsIG51bGwsIDEwKScsICciMjAxMC0wMi0x
MFQyMDoyMyInKTsKK3Nob3VsZEJlKCdzdGVwRG93bigiMjAxMC0wMi0xMFQyMDoxMyIsIG51bGws
IG51bGwsIDExKScsICciMjAxMC0wMi0xMFQyMDowMiInKTsKK3Nob3VsZEJlKCdzdGVwVXAoIjE5
NzAtMDEtMDFUMjA6MTMiLCAiNCIsIG51bGwsIDIpJywgJyIxOTcwLTAxLTAxVDIwOjEzOjA4Iicp
Oworc2hvdWxkQmUoJ3N0ZXBEb3duKCIxOTcwLTAxLTAxVDIwOjEzIiwgIjQiLCBudWxsLCAzKScs
ICciMTk3MC0wMS0wMVQyMDoxMjo0OCInKTsKK2RlYnVnKCdTdGVwPWFueScpOworc2hvdWxkQmUo
J3N0ZXBVcCgiMjAxMC0wMi0xMFQyMDoxMyIsICJhbnkiLCBudWxsKScsICciMjAxMC0wMi0xMFQy
MDoxMyInKTsKK3Nob3VsZEJlKCdzdGVwRG93bigiMjAxMC0wMi0xMFQyMDoxMyIsICJhbnkiLCBu
dWxsKScsICciMjAxMC0wMi0xMFQyMDoxMyInKTsKK2RlYnVnKCdPdmVyZmxvdy91bmRlcmZsb3cn
KTsKK3Nob3VsZEJlKCdzdGVwVXAoIjIwMTAtMDItMTBUMjA6MTMiLCAiMy40MDI4MjM0NmUrMzgi
LCBudWxsKScsICciMjc1NzYwLTA5LTEzVDAwOjAwOjAwLjAwMCInKTsKK3Nob3VsZEJlKCdzdGVw
RG93bigiMjAxMC0wMi0xMFQyMDoxMyIsICIzLjQwMjgyMzQ2ZSszOCIsIG51bGwpJywgJyIxOTcw
LTAxLTAxVDAwOjAwOjAwLjAwMCInKTsKK3Nob3VsZEJlKCdzdGVwVXAoIjIwMTAtMDItMTBUMjA6
MTMiLCAiMSIsICIyMDEwLTAyLTEwVDIwOjEzIiknLCAnIjIwMTAtMDItMTBUMjA6MTMiJyk7Citz
aG91bGRCZSgnc3RlcERvd24oIjIwMTAtMDItMTBUMjA6MTMiLCAiMSIsICIyMDEwLTAyLTEwVDIw
OjEzIiknLCAnIjIwMTAtMDItMTBUMjA6MTMiJyk7CitkZWJ1Zygnc3RlcERvd24oKS9zdGVwVXAo
KSBmb3Igc3RlcE1pc21hdGNoIHZhbHVlcycpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIyMDEwLTAy
LTEwVDIwOjEzIiwgIjMiLCAiMjAxMC0wMi0xMFQyMDoxMjo1NiIpJywgJyIyMDEwLTAyLTEwVDIw
OjEyOjU5IicpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMTk3MC0wMS0wMVQwMDoxMyIsICI3IiwgIiIp
JywgJyIxOTcwLTAxLTAxVDAwOjEzOjA0IicpOworCitkZWJ1ZygnJyk7CitkZWJ1ZygnTW9udGgg
dHlwZScpOworaW5wdXQudHlwZSA9ICdtb250aCc7CitkZWJ1ZygnRnVuY3Rpb24gYXJndW1lbnRz
IGFyZSAodmFsdWUsIHN0ZXAsIHttaW4gb3IgbWF4fSwgW3N0ZXBDb3VudF0pLicpOworZGVidWco
J05vcm1hbCBjYXNlcycpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMjAxMC0wMiIsIG51bGwsIG51bGwp
JywgJyIyMDEwLTAzIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIyMDEwLTAyIiwgbnVsbCwgbnVs
bCknLCAnIjIwMTAtMDEiJyk7CitzaG91bGRCZSgnc3RlcFVwKCIyMDEwLTAyIiwgbnVsbCwgbnVs
bCwgMTApJywgJyIyMDEwLTEyIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIyMDEwLTAyIiwgbnVs
bCwgbnVsbCwgMTEpJywgJyIyMDA5LTAzIicpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMTk3MC0wMSIs
ICI0IiwgbnVsbCwgMiknLCAnIjE5NzAtMDkiJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjE5NzAt
MDEiLCAiNCIsIG51bGwsIDMpJywgJyIxOTY5LTAxIicpOworZGVidWcoJ1N0ZXA9YW55Jyk7Citz
aG91bGRCZSgnc3RlcFVwKCIyMDEwLTAyIiwgImFueSIsIG51bGwpJywgJyIyMDEwLTAyIicpOwor
c2hvdWxkQmUoJ3N0ZXBEb3duKCIyMDEwLTAyIiwgImFueSIsIG51bGwpJywgJyIyMDEwLTAyIicp
OworZGVidWcoJ092ZXJmbG93L3VuZGVyZmxvdycpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMjAxMC0w
MiIsICIzLjQwMjgyMzQ2ZSszOCIsIG51bGwpJywgJyIyNzU3NjAtMDkiJyk7CitzaG91bGRCZSgn
c3RlcERvd24oIjIwMTAtMDIiLCAiMy40MDI4MjM0NmUrMzgiLCBudWxsKScsICciMTk3MC0wMSIn
KTsKK3Nob3VsZEJlKCdzdGVwVXAoIjIwMTAtMDIiLCAiMSIsICIyMDEwLTAyIiknLCAnIjIwMTAt
MDIiJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjIwMTAtMDIiLCAiMSIsICIyMDEwLTAyIiknLCAn
IjIwMTAtMDIiJyk7CitkZWJ1Zygnc3RlcERvd24oKS9zdGVwVXAoKSBmb3Igc3RlcE1pc21hdGNo
IHZhbHVlcycpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIyMDEwLTAyIiwgIjMiLCAiMjAwOS0xMCIp
JywgJyIyMDEwLTAxIicpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMTk3MC0wMiIsICI0IiwgIiIpJywg
JyIxOTcwLTA1IicpOworCitkZWJ1ZygnJyk7CitkZWJ1ZygnTnVtYmVyIHR5cGUnKTsKK2lucHV0
LnR5cGUgPSAnbnVtYmVyJzsKK2RlYnVnKCdGdW5jdGlvbiBhcmd1bWVudHMgYXJlICh2YWx1ZSwg
c3RlcCwge21pbiBvciBtYXh9LCBbc3RlcENvdW50XSkuJyk7CitkZWJ1ZygnSW52YWxpZCB2YWx1
ZScpOworc2hvdWxkQmUoJ3N0ZXBVcCgiIiwgbnVsbCwgbnVsbCknLCAnIjEiJyk7CitzaG91bGRC
ZSgnc3RlcERvd24oIiIsIG51bGwsIG51bGwpJywgJyItMSInKTsKK3Nob3VsZEJlKCdzdGVwVXAo
IiIsICJhbnkiLCBudWxsKScsICciMCInKTsKK3Nob3VsZEJlKCdzdGVwRG93bigiIiwgImFueSIs
IG51bGwpJywgJyIwIicpOworc2hvdWxkQmUoJ3N0ZXBVcCgiIiwgImZvbyIsIG51bGwpJywgJyIx
IicpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIiLCAiZm9vIiwgbnVsbCknLCAnIi0xIicpOworc2hv
dWxkQmUoJ3N0ZXBVcCgiZm9vIiwgbnVsbCwgbnVsbCknLCAnIjEiJyk7CitzaG91bGRCZSgnc3Rl
cERvd24oImZvbyIsIG51bGwsIG51bGwpJywgJyItMSInKTsKK3Nob3VsZEJlKCdzdGVwVXAoImZv
byIsICJhbnkiLCBudWxsKScsICciMCInKTsKK3Nob3VsZEJlKCdzdGVwRG93bigiZm9vIiwgImFu
eSIsIG51bGwpJywgJyIwIicpOworc2hvdWxkQmUoJ3N0ZXBVcCgiZm9vIiwgImZvbyIsIG51bGwp
JywgJyIxIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCJmb28iLCAiZm9vIiwgbnVsbCknLCAnIi0x
IicpOworZGVidWcoJ05vcm1hbCBjYXNlcycpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMCIsIG51bGws
IG51bGwpJywgJyIxIicpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMSIsIG51bGwsIG51bGwsIDIpJywg
JyIzIicpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMyIsIG51bGwsIG51bGwsIC0xKScsICciMiInKTsK
K3Nob3VsZEJlKCdzdGVwRG93bigiMiIsIG51bGwsIG51bGwpJywgJyIxIicpOworc2hvdWxkQmUo
J3N0ZXBEb3duKCIxIiwgbnVsbCwgbnVsbCwgMiknLCAnIi0xIicpOworc2hvdWxkQmUoJ3N0ZXBE
b3duKCItMSIsIG51bGwsIG51bGwsIC0xKScsICciMCInKTsKK2RlYnVnKCdJbnZhbGlkIHN0ZXAg
dmFsdWUnKTsKK3Nob3VsZEJlKCdzdGVwVXAoIjAiLCAiZm9vIiwgbnVsbCknLCAnIjEiJyk7Citz
aG91bGRCZSgnc3RlcFVwKCIxIiwgIjAiLCBudWxsKScsICciMiInKTsKK3Nob3VsZEJlKCdzdGVw
VXAoIjIiLCAiLTEiLCBudWxsKScsICciMyInKTsKK2RlYnVnKCdTdGVwPWFueScpOworc2hvdWxk
QmUoJ3N0ZXBVcCgiMCIsICJhbnkiLCBudWxsKScsICciMCInKTsKK3Nob3VsZEJlKCdzdGVwRG93
bigiMCIsICJhbnkiLCBudWxsKScsICciMCInKTsKK2RlYnVnKCdPdmVyZmxvdy91bmRlcmZsb3cn
KTsKK3Nob3VsZEJlKCdzdGVwRG93bigiMSIsICIxIiwgIjAiKScsICciMCInKTsKK3Nob3VsZEJl
KCdzdGVwRG93bigiMCIsICIxIiwgIjAiKScsICciMCInKTsKK3Nob3VsZEJlKCdzdGVwRG93bigi
MSIsICIxIiwgIjAiLCAyKScsICciMCInKTsKK3Nob3VsZEJlKCdzdGVwRG93bigiMSIsICIzLjQw
MjgyMzQ2ZSszOCIsICIiLCAyKScsICciLTMuNDAyODIzNDZlKzM4IicpOworc2hvdWxkQmUoJ3N0
ZXBVcCgiLTEiLCAiMSIsICIwIiknLCAnIjAiJyk7CitzaG91bGRCZSgnc3RlcFVwKCIwIiwgIjEi
LCAiMCIpJywgJyIwIicpOworc2hvdWxkQmUoJ3N0ZXBVcCgiLTEiLCAiMSIsICIwIiwgMiknLCAn
IjAiJyk7CitzaG91bGRCZSgnc3RlcFVwKCIxIiwgIjMuNDAyODIzNDZlKzM4IiwgIiIsIDIpJywg
JyIzLjQwMjgyMzQ2ZSszOCInKTsKK2RlYnVnKCdzdGVwRG93bigpL3N0ZXBVcCgpIGZvciBzdGVw
TWlzbWF0Y2ggdmFsdWVzJyk7CitzaG91bGRCZSgnc3RlcFVwKCIxIiwgIjIiLCAiIiknLCAnIjIi
Jyk7CitzaG91bGRCZSgnaW5wdXQubWluID0gIjAiOyBzdGVwVXAoIjkiLCAiMTAiLCAiIiknLCAn
IjEwIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIxOSIsICIxMCIsICIwIiknLCAnIjEwIicpOwor
c2hvdWxkQmUoJ3N0ZXBVcCgiODkiLCAiMTAiLCAiOTkiKScsICciOTAiJyk7CitkZWJ1ZygnSHVn
ZSB2YWx1ZSBhbmQgc21hbGwgc3RlcCcpOworc2hvdWxkQmUoJ2lucHV0Lm1pbiA9ICIiOyBzdGVw
VXAoIjFlKzM4IiwgIjEiLCAiIiwgOTk5KScsICciMWUrMzgiJyk7CitzaG91bGRCZSgnaW5wdXQu
bWF4ID0gIiI7IHN0ZXBEb3duKCIxZSszOCIsICIxIiwgIiIsIDk5OSknLCAnIjFlKzM4IicpOwor
ZGVidWcoJ0ZyYWN0aW9uYWwgbnVtYmVycycpOworc2hvdWxkQmUoJ2lucHV0Lm1pbiA9ICIiOyBz
dGVwVXAoIjAiLCAiMC4zMzMzMzMzMzMzMzMzMzMzMyIsICIiLCAzKScsICciMSInKTsKK3Nob3Vs
ZEJlKCdzdGVwVXAoIjEiLCAiMC4xIiwgIiIsIDEwKScsICciMiInKTsKK3Nob3VsZEJlKCdpbnB1
dC5taW4gPSAiMCI7IHN0ZXBVcCgiMCIsICIwLjAwMzkyMTU2ODYyNzQ1MDk4MCIsICIxIiwgMjU1
KScsICciMSInKTsKK2RlYnVnKCdSb3VuZGluZycpOworc2hvdWxkQmUoJ3N0ZXBVcCgiNS4wMDUi
LCAiMC4wMDUiLCAiIiwgMiknLCAnIjUuMDE1IicpOworc2hvdWxkQmUoJ3N0ZXBVcCgiNS4wMDUi
LCAiMC4wMDUiLCAiIiwgMTEpJywgJyI1LjA2IicpOworc2hvdWxkQmUoJ3N0ZXBVcCgiNS4wMDUi
LCAiMC4wMDUiLCAiIiwgMTIpJywgJyI1LjA2NSInKTsKK3Nob3VsZEJlKCdzdGVwVXBFeHBsaWNp
dEJvdW5kcygiNCIsICI5IiwgIjAuMDA1IiwgIjUuMDA1IiwgMiknLCAnIjUuMDE1IicpOworc2hv
dWxkQmUoJ3N0ZXBVcEV4cGxpY2l0Qm91bmRzKCI0IiwgIjkiLCAiMC4wMDUiLCAiNS4wMDUiLCAx
MSknLCAnIjUuMDYiJyk7CitzaG91bGRCZSgnc3RlcFVwRXhwbGljaXRCb3VuZHMoIjQiLCAiOSIs
ICIwLjAwNSIsICI1LjAwNSIsIDEyKScsICciNS4wNjUiJyk7CisKK2RlYnVnKCcnKTsKK2RlYnVn
KCdSYW5nZSB0eXBlJyk7CitpbnB1dC50eXBlID0gJ3JhbmdlJzsKK2RlYnVnKCdGdW5jdGlvbiBh
cmd1bWVudHMgYXJlIChtaW4sIG1heCwgc3RlcCwgdmFsdWUsIFtzdGVwQ291bnRdKS4nKTsKK2Rl
YnVnKCdVc2luZyB0aGUgZGVmYXVsdCB2YWx1ZXMnKTsKK3Nob3VsZEJlKCdzdGVwVXBFeHBsaWNp
dEJvdW5kcyhudWxsLCBudWxsLCBudWxsLCAiIiknLCAnIjUxIicpOworc2hvdWxkQmUoJ3N0ZXBE
b3duRXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwgbnVsbCwgIiIpJywgJyI0OSInKTsKK3Nob3Vs
ZEJlKCdzdGVwVXBFeHBsaWNpdEJvdW5kcyhudWxsLCBudWxsLCAiYW55IiwgIiIpJywgJyI1MSIn
KTsKK3Nob3VsZEJlKCdzdGVwRG93bkV4cGxpY2l0Qm91bmRzKG51bGwsIG51bGwsICJhbnkiLCAi
IiknLCAnIjQ5IicpOworc2hvdWxkQmUoJ3N0ZXBVcEV4cGxpY2l0Qm91bmRzKG51bGwsIG51bGws
ICJmb28iLCAiIiknLCAnIjUxIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duRXhwbGljaXRCb3VuZHMo
bnVsbCwgbnVsbCwgImZvbyIsICIiKScsICciNDkiJyk7CitzaG91bGRCZSgnc3RlcFVwRXhwbGlj
aXRCb3VuZHMobnVsbCwgbnVsbCwgbnVsbCwgImZvbyIpJywgJyI1MSInKTsKK3Nob3VsZEJlKCdz
dGVwRG93bkV4cGxpY2l0Qm91bmRzKG51bGwsIG51bGwsIG51bGwsICJmb28iKScsICciNDkiJyk7
CitzaG91bGRCZSgnc3RlcFVwRXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwgImFueSIsICJmb28i
KScsICciNTEiJyk7CitzaG91bGRCZSgnc3RlcERvd25FeHBsaWNpdEJvdW5kcyhudWxsLCBudWxs
LCAiYW55IiwgImZvbyIpJywgJyI0OSInKTsKK3Nob3VsZEJlKCdzdGVwVXBFeHBsaWNpdEJvdW5k
cyhudWxsLCBudWxsLCAiZm9vIiwgImZvbyIpJywgJyI1MSInKTsKK3Nob3VsZEJlKCdzdGVwRG93
bkV4cGxpY2l0Qm91bmRzKG51bGwsIG51bGwsICJmb28iLCAiZm9vIiknLCAnIjQ5IicpOworZGVi
dWcoJ05vcm1hbCBjYXNlcycpOworc2hvdWxkQmUoJ3N0ZXBVcEV4cGxpY2l0Qm91bmRzKG51bGws
IG51bGwsIG51bGwsICIwIiknLCAnIjEiJyk7CitzaG91bGRCZSgnc3RlcFVwRXhwbGljaXRCb3Vu
ZHMobnVsbCwgbnVsbCwgbnVsbCwgIjEiLCAyKScsICciMyInKTsKK3Nob3VsZEJlKCdzdGVwVXBF
eHBsaWNpdEJvdW5kcyhudWxsLCBudWxsLCBudWxsLCAiMyIsIC0xKScsICciMiInKTsKK3Nob3Vs
ZEJlKCdzdGVwRG93bkV4cGxpY2l0Qm91bmRzKCItMTAwIiwgbnVsbCwgbnVsbCwgIjIiKScsICci
MSInKTsKK3Nob3VsZEJlKCdzdGVwRG93bkV4cGxpY2l0Qm91bmRzKCItMTAwIiwgbnVsbCwgbnVs
bCwgIjEiLCAyKScsICciLTEiJyk7CitzaG91bGRCZSgnc3RlcERvd25FeHBsaWNpdEJvdW5kcygi
LTEwMCIsIG51bGwsIG51bGwsICItMSIsIC0xKScsICciMCInKTsKK2RlYnVnKCdJbnZhbGlkIHN0
ZXAgdmFsdWUnKTsKK3Nob3VsZEJlKCdzdGVwVXBFeHBsaWNpdEJvdW5kcyhudWxsLCBudWxsLCAi
Zm9vIiwgIjAiKScsICciMSInKTsKK3Nob3VsZEJlKCdzdGVwVXBFeHBsaWNpdEJvdW5kcyhudWxs
LCBudWxsLCAiMCIsICIxIiknLCAnIjIiJyk7CitzaG91bGRCZSgnc3RlcFVwRXhwbGljaXRCb3Vu
ZHMobnVsbCwgbnVsbCwgIi0xIiwgIjIiKScsICciMyInKTsKK3Nob3VsZEJlKCdzdGVwRG93bkV4
cGxpY2l0Qm91bmRzKG51bGwsIG51bGwsICJmb28iLCAiMSIpJywgJyIwIicpOworc2hvdWxkQmUo
J3N0ZXBEb3duRXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwgIjAiLCAiMiIpJywgJyIxIicpOwor
c2hvdWxkQmUoJ3N0ZXBEb3duRXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwgIi0xIiwgIjMiKScs
ICciMiInKTsKK2RlYnVnKCdTdGVwPWFueScpOworc2hvdWxkQmUoJ3N0ZXBVcEV4cGxpY2l0Qm91
bmRzKG51bGwsIG51bGwsICJhbnkiLCAiMSIpJywgJyIyIicpOworc2hvdWxkQmUoJ3N0ZXBEb3du
RXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwgImFueSIsICIxIiknLCAnIjAiJyk7CitkZWJ1Zygn
T3ZlcmZsb3cvdW5kZXJmbG93Jyk7CitzaG91bGRCZSgnc3RlcFVwRXhwbGljaXRCb3VuZHMobnVs
bCwgIjEwMCIsICIxIiwgIjk5IiknLCAnIjEwMCInKTsKK3Nob3VsZEJlKCdzdGVwVXBFeHBsaWNp
dEJvdW5kcyhudWxsLCAiMTAwIiwgIjEiLCAiMTAwIiknLCAnIjEwMCInKTsKK3Nob3VsZEJlKCdz
dGVwVXBFeHBsaWNpdEJvdW5kcyhudWxsLCAiMTAwIiwgIjEiLCAiOTkiLCAyKScsICciMTAwIicp
Oworc2hvdWxkQmUoJ3N0ZXBEb3duRXhwbGljaXRCb3VuZHMoIjAiLCBudWxsLCAiMSIsICIxIikn
LCAnIjAiJyk7CitzaG91bGRCZSgnc3RlcERvd25FeHBsaWNpdEJvdW5kcygiMCIsIG51bGwsICIx
IiwgIjAiKScsICciMCInKTsKK3Nob3VsZEJlKCdzdGVwRG93bkV4cGxpY2l0Qm91bmRzKCIwIiwg
bnVsbCwgIjEiLCAiMSIsIDIpJywgJyIwIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duRXhwbGljaXRC
b3VuZHMobnVsbCwgbnVsbCwgIjMuNDAyODIzNDZlKzM4IiwgIjEiLCAyKScsICciMCInKTsKK3No
b3VsZEJlKCdzdGVwVXBFeHBsaWNpdEJvdW5kcygtMTAwLCAwLCAxLCAtMSknLCAnIjAiJyk7Citz
aG91bGRCZSgnc3RlcFVwRXhwbGljaXRCb3VuZHMobnVsbCwgMCwgMSwgMCknLCAnIjAiJyk7Citz
aG91bGRCZSgnc3RlcFVwRXhwbGljaXRCb3VuZHMoLTEwMCwgMCwgMSwgLTEsIDIpJywgJyIwIicp
Oworc2hvdWxkQmUoJ3N0ZXBVcEV4cGxpY2l0Qm91bmRzKG51bGwsIG51bGwsICIzLjQwMjgyMzQ2
ZSszOCIsICIxIiwgMiknLCAnIjAiJyk7CitkZWJ1Zygnc3RlcERvd24oKS9zdGVwVXAoKSBmb3Ig
c3RlcE1pc21hdGNoIHZhbHVlcycpOworc2hvdWxkQmUoJ3N0ZXBVcEV4cGxpY2l0Qm91bmRzKG51
bGwsIG51bGwsIDIsIDEpJywgJyI0IicpOworc2hvdWxkQmUoJ3N0ZXBVcEV4cGxpY2l0Qm91bmRz
KDAsIG51bGwsIDEwLCA5LCA5KScsICciMTAwIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duRXhwbGlj
aXRCb3VuZHMoMCwgbnVsbCwgMTAsIDE5KScsICciMTAiJyk7CitkZWJ1ZygndmFsdWUgKyBzdGVw
IGlzIDw9IG1heCwgYnV0IHJvdW5kZWQgcmVzdWx0IHdvdWxkIGJlID4gbWF4LicpOworc2hvdWxk
QmUoJ3N0ZXBVcEV4cGxpY2l0Qm91bmRzKG51bGwsIDk5LCAxMCwgODkpJywgJyI5MCInKTsKK2Rl
YnVnKCdIdWdlIHZhbHVlIGFuZCBzbWFsbCBzdGVwJyk7CitzaG91bGRCZSgnc3RlcFVwRXhwbGlj
aXRCb3VuZHMoMCwgMWUzOCwgMSwgMWUzOCwgOTk5KScsICciMWUrMzgiJyk7CitzaG91bGRCZSgn
c3RlcERvd25FeHBsaWNpdEJvdW5kcygwLCAxZTM4LCAxLCAxZTM4LCA5OTkpJywgJyIxZSszOCIn
KTsKK2RlYnVnKCdGcmFjdGlvbmFsIG51bWJlcnMnKTsKK3Nob3VsZEJlKCdzdGVwVXBFeHBsaWNp
dEJvdW5kcyhudWxsLCBudWxsLCAwLjMzMzMzMzMzMzMzMzMzMzMzLCAwLCAzKScsICciMSInKTsK
K3Nob3VsZEJlKCdzdGVwVXBFeHBsaWNpdEJvdW5kcyhudWxsLCBudWxsLCAwLjEsIDEpJywgJyIx
LjEiJyk7CitzaG91bGRCZSgnc3RlcFVwRXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwgMC4xLCAx
LCA4KScsICciMS44IicpOworc2hvdWxkQmUoJ3N0ZXBVcEV4cGxpY2l0Qm91bmRzKG51bGwsIG51
bGwsIDAuMSwgMSwgMTApJywgJyIyIicpOworc2hvdWxkQmUoJ3N0ZXBVcEV4cGxpY2l0Qm91bmRz
KDAsIDEsIDAuMDAzOTIxNTY4NjI3NDUwOTgwLCAwLCAyNTUpJywgJyIxIicpOworc2hvdWxkQmUo
J3N0ZXBEb3duRXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwgMC4xLCAxLCA4KScsICciMC4yIicp
Oworc2hvdWxkQmUoJ3N0ZXBEb3duRXhwbGljaXRCb3VuZHMobnVsbCwgbnVsbCwgMC4xLCAxKScs
ICciMC45IicpOworCitkZWJ1ZygnJyk7CitkZWJ1ZygnVGltZSB0eXBlJyk7CitpbnB1dC50eXBl
ID0gJ3RpbWUnOworZGVidWcoJ0Z1bmN0aW9uIGFyZ3VtZW50cyBhcmUgKHZhbHVlLCBzdGVwLCB7
bWluIG9yIG1heH0sIFtzdGVwQ291bnRdKS4nKTsKK2RlYnVnKCdOb3JtYWwgY2FzZXMnKTsKK3No
b3VsZEJlKCdzdGVwVXAoIjIwOjEzIiwgbnVsbCwgbnVsbCknLCAnIjIwOjE0IicpOworc2hvdWxk
QmUoJ3N0ZXBEb3duKCIyMDoxMyIsIG51bGwsIG51bGwpJywgJyIyMDoxMiInKTsKK3Nob3VsZEJl
KCdzdGVwVXAoIjIwOjEzIiwgbnVsbCwgbnVsbCwgMTApJywgJyIyMDoyMyInKTsKK3Nob3VsZEJl
KCdzdGVwRG93bigiMjA6MTMiLCBudWxsLCBudWxsLCAxMSknLCAnIjIwOjAyIicpOworc2hvdWxk
QmUoJ3N0ZXBVcCgiMjA6MTMiLCAiNCIsIG51bGwsIDIpJywgJyIyMDoxMzowOCInKTsKK3Nob3Vs
ZEJlKCdzdGVwRG93bigiMjA6MTMiLCAiNCIsIG51bGwsIDMpJywgJyIyMDoxMjo0OCInKTsKK2Rl
YnVnKCdTdGVwPWFueScpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMjA6MTMiLCAiYW55IiwgbnVsbCkn
LCAnIjIwOjEzIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIyMDoxMyIsICJhbnkiLCBudWxsKScs
ICciMjA6MTMiJyk7CitkZWJ1ZygnT3ZlcmZsb3cvdW5kZXJmbG93Jyk7CitzaG91bGRCZSgnc3Rl
cFVwKCIyMDoxMyIsICIzLjQwMjgyMzQ2ZSszOCIsIG51bGwpJywgJyIyMzo1OTo1OS45OTkiJyk7
CitzaG91bGRCZSgnc3RlcERvd24oIjIwOjEzIiwgIjMuNDAyODIzNDZlKzM4IiwgbnVsbCknLCAn
IjAwOjAwOjAwLjAwMCInKTsKK3Nob3VsZEJlKCdzdGVwVXAoIjIwOjEzIiwgIjEiLCAiMjA6MTMi
KScsICciMjA6MTMiJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjIwOjEzIiwgIjEiLCAiMjA6MTMi
KScsICciMjA6MTMiJyk7CitzaG91bGRCZSgnc3RlcFVwKCIyMzo1OSIsIG51bGwsIG51bGwpJywg
JyIyMzo1OSInKTsKK3Nob3VsZEJlKCdzdGVwRG93bigiMDA6MDAiLCBudWxsLCBudWxsKScsICci
MDA6MDAiJyk7CitkZWJ1Zygnc3RlcERvd24oKS9zdGVwVXAoKSBmb3Igc3RlcE1pc21hdGNoIHZh
bHVlcycpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIyMDoxMyIsICIzIiwgIjIwOjEyOjU2IiknLCAn
IjIwOjEyOjU5IicpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMDA6MTMiLCAiNyIsICIiKScsICciMDA6
MTM6MDQiJyk7CisKK2RlYnVnKCcnKTsKK2RlYnVnKCdXZWVrIHR5cGUnKTsKK2lucHV0LnR5cGUg
PSAnd2Vlayc7CitkZWJ1ZygnRnVuY3Rpb24gYXJndW1lbnRzIGFyZSAodmFsdWUsIHN0ZXAsIHtt
aW4gb3IgbWF4fSwgW3N0ZXBDb3VudF0pLicpOworZGVidWcoJ05vcm1hbCBjYXNlcycpOworc2hv
dWxkQmUoJ3N0ZXBVcCgiMjAxMC1XMDIiLCBudWxsLCBudWxsKScsICciMjAxMC1XMDMiJyk7Citz
aG91bGRCZSgnc3RlcERvd24oIjIwMTAtVzAyIiwgbnVsbCwgbnVsbCknLCAnIjIwMTAtVzAxIicp
Oworc2hvdWxkQmUoJ3N0ZXBVcCgiMjAxMC1XMDIiLCBudWxsLCBudWxsLCAxMCknLCAnIjIwMTAt
VzEyIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIyMDEwLVcwMiIsIG51bGwsIG51bGwsIDExKScs
ICciMjAwOS1XNDQiJyk7CitzaG91bGRCZSgnc3RlcFVwKCIxOTcwLVcwMSIsICI0IiwgbnVsbCwg
MiknLCAnIjE5NzAtVzA5IicpOworc2hvdWxkQmUoJ3N0ZXBEb3duKCIxOTcwLVcwMSIsICI0Iiwg
bnVsbCwgMyknLCAnIjE5NjktVzQxIicpOworZGVidWcoJ1N0ZXA9YW55Jyk7CitzaG91bGRCZSgn
c3RlcFVwKCIyMDEwLVcwMiIsICJhbnkiLCBudWxsKScsICciMjAxMC1XMDIiJyk7CitzaG91bGRC
ZSgnc3RlcERvd24oIjIwMTAtVzAyIiwgImFueSIsIG51bGwpJywgJyIyMDEwLVcwMiInKTsKK2Rl
YnVnKCdPdmVyZmxvdy91bmRlcmZsb3cnKTsKK3Nob3VsZEJlKCdzdGVwVXAoIjIwMTAtVzAyIiwg
IjMuNDAyODIzNDZlKzM4IiwgbnVsbCknLCAnIjI3NTc2MC1XMzciJyk7CitzaG91bGRCZSgnc3Rl
cERvd24oIjIwMTAtVzAyIiwgIjMuNDAyODIzNDZlKzM4IiwgbnVsbCknLCAnIjE5NzAtVzAxIicp
Oworc2hvdWxkQmUoJ3N0ZXBVcCgiMjAxMC1XMDIiLCAiMSIsICIyMDEwLVcwMiIpJywgJyIyMDEw
LVcwMiInKTsKK3Nob3VsZEJlKCdzdGVwRG93bigiMjAxMC1XMDIiLCAiMSIsICIyMDEwLVcwMiIp
JywgJyIyMDEwLVcwMiInKTsKK2RlYnVnKCdzdGVwRG93bigpL3N0ZXBVcCgpIGZvciBzdGVwTWlz
bWF0Y2ggdmFsdWVzJyk7CitzaG91bGRCZSgnc3RlcERvd24oIjIwMTAtVzAyIiwgIjIiLCAiMjAw
OS1XNTIiKScsICciMjAxMC1XMDEiJyk7CitzaG91bGRCZSgnc3RlcFVwKCIxOTcwLVcwMiIsICI0
IiwgIiIpJywgJyIxOTcwLVcwNSInKTsKKworZGVidWcoJycpOwordmFyIHN1Y2Nlc3NmdWxseVBh
cnNlZCA9IHRydWU7CmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hh
bmdlTG9nCmluZGV4IDVkMWMzYzM2MTU2ZTI3ZWYwNTBmZDUzOTlhOGMxYWQyN2IxMjVhYTUuLjJm
YjY5MTVkZmZhNmM5NGEzNTk4YjViZTk3ODE0YmI4MjgxMGE3MzAgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNjcgQEAKKzIw
MTAtMTEtMjQgIERhaSBNaWt1cnViZSAgPGRtaWt1cnViZUBnb29nbGUuY29tPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIHdoZW4gZW1wdHksIGNsaWNr
aW5nICJkb3duIiBvbiBvdXRlci1zcGluLWJ1dHRvbiByZXR1cm5zICJtYXggdmFsdWUiCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NTQ5MQorCisgICAg
ICAgIE1vZGlmaWVkIHN0ZXBwaW5nLXVwL2Rvd24gZnJvbSByZW5kZXJlcgorICAgICAgICAtIHRv
IGNsYW1wIHN0ZXBzLAorICAgICAgICAtIHRvIGhhbmRsZSBlbXB0eSB2YWx1ZXMgKGRlc2NyaWJl
ZCBiZWxvdyksIGFuZAorICAgICAgICAtIHRvIGFwcGx5IHRoZW0gZm9yIHJhbmdlIHR5cGUgaW5w
dXRzLgorCisgICAgICAgIFN0ZXBwaW5nLXVwL2Rvd24gZm9yIGVtcHR5IHZhbHVlcyBhcmUgaGFu
ZGxlZCAidGhlIGVtcHR5IGFzIDAuIgorICAgICAgICBGb3IgZXhhbXBsZSA6CisgICAgICAgICog
SWYgMCBpcyBpbi1yYW5nZSwgYW5kIG1hdGNoZXMgdG8gc3RlcCB2YWx1ZQorICAgICAgICAgICJk
b3duIiAtPiAtc3RlcAorICAgICAgICAgICJ1cCIgLT4gK3N0ZXAKKyAgICAgICAgICBJZiAtc3Rl
cCBvciArc3RlcCBpcyBvdXQgb2YgcmFuZ2UsIG5ldyB2YWx1ZSBzaG91bGQgYmUgMC4KKworICAg
ICAgICAqIElmIDAgaXMgc21hbGxlciB0aGFuIHRoZSBtaW5pbXVtIHZhbHVlCisgICAgICAgICAg
ImRvd24iIC0+IHRoZSBtaW5pbXVtIHZhbHVlCisgICAgICAgICAgInVwIiAtPiB0aGUgbWluaW11
bSB2YWx1ZQorCisgICAgICAgICogSWYgMCBpcyBsYXJnZXIgdGhhbiB0aGUgbWF4aW11bSB2YWx1
ZQorICAgICAgICAgICJkb3duIiAtPiB0aGUgbWF4aW11bSB2YWx1ZQorICAgICAgICAgICJ1cCIg
LT4gdGhlIG1heGltdW0gdmFsdWUKKworICAgICAgICAqIElmIDAgaXMgaW4tcmFuZ2UsIGJ1dCBu
b3QgbWF0Y2hlZCB0byBzdGVwIHZhbHVlCisgICAgICAgICAgImRvd24iIC0+IHNtYWxlciBtYXRj
aGVkIHZhbHVlIG5lYXJlc3QgdG8gMC4KKyAgICAgICAgICAgIGUuZy4gPGlucHV0IHR5cGU9bnVt
YmVyIG1pbj0tMTAwIHN0ZXA9Mz4gLT4gLTEKKyAgICAgICAgICAidXAiIC0+IGxhcmdlciBtYXRj
aGVkIHZhbHVlIG5lYXJlc3QgdG8gMC4KKyAgICAgICAgICAgIGUuZy4gPGlucHV0IHR5cGU9bnVt
YmVyIG1pbj0tMTAwIHN0ZXA9Mz4gLT4gMgorCisgICAgICAgIEFzIGZvciBkYXRlL2RhdGV0aW1l
LWxvY2FsL21vbnRoL3RpbWUvd2VlayB0eXBlcywgdGhlIGVtcHR5IGlzIGFzc3VtZWQgYXMgImN1
cnJlbnQgbG9jYWwgZGF0ZS90aW1lIi4KKyAgICAgICAgQXMgZm9yIGRhdGV0aW1lIHR5cGUsIHRo
ZSBlbXB0eSBpcyBhc3N1bWVkIGFzICJjdXJyZW50IGRhdGUvdGltZSBpbiBVVEMiLgorCisgICAg
ICAgIEFzIGZvciByYW5nZSBpbnB1dCB0eXBlcywgY2hhbmdlZCBzdGVwcGluZyBmcm9tIHJlbmRl
cmVyIHRvIHVzZSBzdGVwVXBGcm9tUmVuZGVyZXIoKS4KKyAgICAgICAgSXQgd2FzIGNhbGN1bGF0
ZWQgd2l0aCBzdGVwVXAoKSBmcm9tIFJhbmdlSW5wdXRUeXBlOjpoYW5kbGVLZXlkb3duRXZlbnQo
KS4KKworICAgICAgICBUZXN0OiBmYXN0L2Zvcm1zL2lucHV0LXN0ZXB1cC1zdGVwZG93bi1mcm9t
LXJlbmRlcmVyLmh0bWwKKworICAgICAgICAqIGh0bWwvQmFzZURhdGVBbmRUaW1lSW5wdXRUeXBl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkJhc2VEYXRlQW5kVGltZUlucHV0VHlwZTo6ZGVmYXVs
dFZhbHVlRm9yU3RlcFVwKTogQWRkZWQgZGVmYXVsdFZhbHVlRm9yU3RlcFVwKCkgd2hpY2ggcmV0
dXJucyB0aGUgY3VycmVudCBsb2NhbCB0aW1lCisgICAgICAgICogaHRtbC9CYXNlRGF0ZUFuZFRp
bWVJbnB1dFR5cGUuaDoKKyAgICAgICAgKiBodG1sL0RhdGVUaW1lSW5wdXRUeXBlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkRhdGVUaW1lSW5wdXRUeXBlOjpkZWZhdWx0VmFsdWVGb3JTdGVwVXAp
OiBBZGRlZCBkZWZhdWx0VmFsdWVGb3JTdGVwVXAoKSB3aGljaCByZXR1cm5zIHRoZSBjdXJyZW50
IFVUQyB0aW1lCisgICAgICAgICogaHRtbC9EYXRlVGltZUlucHV0VHlwZS5oOgorICAgICAgICAq
IGh0bWwvSFRNTElucHV0RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRF
bGVtZW50OjpzdGVwVXBGcm9tUmVuZGVyZXIpOiBNb2RpZmllZCBpdCB0byBjbGFtcCBzdGVwcywg
c3VwcG9ydCBlbXB0eSB2YWx1ZXMgYW5kIHN1cHBvcnQgcmFuZ2UgdHlwZSBpbnB1dHMKKyAgICAg
ICAgKiBodG1sL0hUTUxJbnB1dEVsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1
dEVsZW1lbnQ6OmlzUmFuZ2VDb250cm9sKToKKyAgICAgICAgKiBodG1sL0lucHV0VHlwZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpJbnB1dFR5cGU6OmRlZmF1bHRWYWx1ZUZvclN0ZXBVcCk6IEFk
ZGVkIGRlZmF1bHRWYWx1ZUZvclN0ZXBVcCgpIHdoaWNoIHJldHVybnMgMAorICAgICAgICAqIGh0
bWwvSW5wdXRUeXBlLmg6CisgICAgICAgICogaHRtbC9Nb250aElucHV0VHlwZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpNb250aElucHV0VHlwZTo6ZGVmYXVsdFZhbHVlRm9yU3RlcFVwKTogQWRk
ZWQgZGVmYXVsdFZhbHVlRm9yU3RlcFVwKCkgd2hpY2ggcmV0dXJucyB0aGUgY3VycmVudCBsb2Nh
bCBtb250aAorICAgICAgICAqIGh0bWwvTW9udGhJbnB1dFR5cGUuaDoKKyAgICAgICAgKiBodG1s
L1JhbmdlSW5wdXRUeXBlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJhbmdlSW5wdXRUeXBlOjpo
YW5kbGVLZXlkb3duRXZlbnQpOiBBZGRlZCBjb21tZW50cyBhbmQgbW9kaWZpZWQgaXQgdG8gdXNl
IHN0ZXBVcEZyb21SZW5kZXJlcigpCisgICAgICAgICogaHRtbC9UaW1lSW5wdXRUeXBlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlRpbWVJbnB1dFR5cGU6OmRlZmF1bHRWYWx1ZUZvclN0ZXBVcCk6
IEFkZGVkIGRlZmF1bHRWYWx1ZUZvclN0ZXBVcCgpIHdoaWNoIHJldHVybnMgdGhlIGN1cnJlbnQg
bG9jYWwgdGltZQorICAgICAgICAqIGh0bWwvVGltZUlucHV0VHlwZS5oOgorICAgICAgICAqIG1h
bnVhbC10ZXN0cy9pbnB1dC10eXBlLWRhdGV0aW1lLWRlZmF1bHQtdmFsdWUuaHRtbDogQWRkZWQg
bWFudWFsIHRlc3RzIGZvciBkZWZhdWx0IHZhbHVlcyBvZiBkYXRlL3RpbWUgaW5wdXRzIHNpbmNl
IHRoZXkgYXJlICJ0aGUgY3VycmVudCBsb2NhbC9VVEMgdGltZSIsIHdoaWNoIGNhbm5vdCBiZSB0
ZXN0ZWQgYXV0b21hdGljYWxseS4KKwogMjAxMC0xMS0xOCAgR2F2aW4gQmFycmFjbG91Z2ggIDxi
YXJyYWNsb3VnaEBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgT2xpdmVyIEh1bnQu
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvQmFzZURhdGVBbmRUaW1lSW5wdXRUeXBlLmNwcCBi
L1dlYkNvcmUvaHRtbC9CYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGUuY3BwCmluZGV4IGU3ODBlZDZi
YTI0ZDIwZmFmYmRiNjI5ZTI4MzY5ODVmMWE1YTkwY2MuLjcwMjQzZTU5YzRlZjE3ZGFkMTMwNzMw
ZTZlMzg2NGJmNzYwNjcwZDcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9CYXNlRGF0ZUFuZFRp
bWVJbnB1dFR5cGUuY3BwCisrKyBiL1dlYkNvcmUvaHRtbC9CYXNlRGF0ZUFuZFRpbWVJbnB1dFR5
cGUuY3BwCkBAIC0zNSw2ICszNSw4IEBACiAjaW5jbHVkZSAiSFRNTElucHV0RWxlbWVudC5oIgog
I2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1ZGUgPGxpbWl0cz4KKyNpbmNsdWRlIDx3dGYv
Q3VycmVudFRpbWUuaD4KKyNpbmNsdWRlIDx3dGYvRGF0ZU1hdGguaD4KICNpbmNsdWRlIDx3dGYv
TWF0aEV4dHJhcy5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3Rm
L3RleHQvV1RGU3RyaW5nLmg+CkBAIC05MSw2ICs5MywxNSBAQCBib29sIEJhc2VEYXRlQW5kVGlt
ZUlucHV0VHlwZTo6cmFuZ2VPdmVyZmxvdyhjb25zdCBTdHJpbmcmIHZhbHVlKSBjb25zdAogICAg
IHJldHVybiBpc2Zpbml0ZShkb3VibGVWYWx1ZSkgJiYgZG91YmxlVmFsdWUgPiBtYXhpbXVtKCk7
CiB9CiAKK2RvdWJsZSBCYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGU6OmRlZmF1bHRWYWx1ZUZvclN0
ZXBVcCgpIGNvbnN0Cit7CisgICAgZG91YmxlIG1zID0gY3VycmVudFRpbWVNUygpOworICAgIGRv
dWJsZSB1dGNPZmZzZXQgPSBjYWxjdWxhdGVVVENPZmZzZXQoKTsKKyAgICBkb3VibGUgZHN0T2Zm
c2V0ID0gY2FsY3VsYXRlRFNUT2Zmc2V0KG1zLCB1dGNPZmZzZXQpOworICAgIGludCBvZmZzZXQg
PSBzdGF0aWNfY2FzdDxpbnQ+KCh1dGNPZmZzZXQgKyBkc3RPZmZzZXQpIC8gbXNQZXJNaW51dGUp
OworICAgIHJldHVybiBtcyArIChvZmZzZXQgKiBtc1Blck1pbnV0ZSk7Cit9CisKIGJvb2wgQmFz
ZURhdGVBbmRUaW1lSW5wdXRUeXBlOjpzdGVwTWlzbWF0Y2goY29uc3QgU3RyaW5nJiB2YWx1ZSwg
ZG91YmxlIHN0ZXApIGNvbnN0CiB7CiAgICAgY29uc3QgZG91YmxlIG5hbiA9IG51bWVyaWNfbGlt
aXRzPGRvdWJsZT46OnF1aWV0X05hTigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0Jhc2VE
YXRlQW5kVGltZUlucHV0VHlwZS5oIGIvV2ViQ29yZS9odG1sL0Jhc2VEYXRlQW5kVGltZUlucHV0
VHlwZS5oCmluZGV4IDExYzYwYWZjYTY1OGM2YjcyMmZjMDI3ZGRlNTg0Y2Q2NzU2MGQ0OWEuLmFk
NzMwMmE5ZTFiYWRiY2VmY2ExOTM4ZWYwZWUyNGM3Nzk0NGVjZmMgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvaHRtbC9CYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGUuaAorKysgYi9XZWJDb3JlL2h0bWwvQmFz
ZURhdGVBbmRUaW1lSW5wdXRUeXBlLmgKQEAgLTU1LDYgKzU1LDcgQEAgcHJpdmF0ZToKICAgICB2
aXJ0dWFsIGJvb2wgdHlwZU1pc21hdGNoKCkgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIHJhbmdl
VW5kZXJmbG93KGNvbnN0IFN0cmluZyYpIGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCByYW5nZU92
ZXJmbG93KGNvbnN0IFN0cmluZyYpIGNvbnN0OworICAgIHZpcnR1YWwgZG91YmxlIGRlZmF1bHRW
YWx1ZUZvclN0ZXBVcCgpIGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBzdGVwTWlzbWF0Y2goY29u
c3QgU3RyaW5nJiwgZG91YmxlKSBjb25zdDsKICAgICB2aXJ0dWFsIGRvdWJsZSBzdGVwQmFzZSgp
IGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBoYW5kbGVLZXlkb3duRXZlbnQoS2V5Ym9hcmRFdmVu
dCopOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0RhdGVUaW1lSW5wdXRUeXBlLmNwcCBiL1dl
YkNvcmUvaHRtbC9EYXRlVGltZUlucHV0VHlwZS5jcHAKaW5kZXggYzc4YTU0MDU2YTE1ZTEwMjk2
ZGVlODJkMDYzZTQ2MjI5YzA4MzZkNy4uNzg2NDFmODdkZjdiYjMxZWQ0MmJhYTIxMzQxYzFjYjk3
MzUxNzJiNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0RhdGVUaW1lSW5wdXRUeXBlLmNwcAor
KysgYi9XZWJDb3JlL2h0bWwvRGF0ZVRpbWVJbnB1dFR5cGUuY3BwCkBAIC0zNCw2ICszNCw3IEBA
CiAjaW5jbHVkZSAiRGF0ZUNvbXBvbmVudHMuaCIKICNpbmNsdWRlICJIVE1MSW5wdXRFbGVtZW50
LmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCisjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+
CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAt
NTMsNiArNTQsMTEgQEAgY29uc3QgQXRvbWljU3RyaW5nJiBEYXRlVGltZUlucHV0VHlwZTo6Zm9y
bUNvbnRyb2xUeXBlKCkgY29uc3QKICAgICByZXR1cm4gSW5wdXRUeXBlTmFtZXM6OmRhdGV0aW1l
KCk7CiB9CiAKK2RvdWJsZSBEYXRlVGltZUlucHV0VHlwZTo6ZGVmYXVsdFZhbHVlRm9yU3RlcFVw
KCkgY29uc3QKK3sKKyAgICByZXR1cm4gY3VycmVudFRpbWVNUygpOworfQorCiBkb3VibGUgRGF0
ZVRpbWVJbnB1dFR5cGU6Om1pbmltdW0oKSBjb25zdAogewogICAgIHJldHVybiBwYXJzZVRvRG91
YmxlKGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJpYnV0ZShtaW5BdHRyKSwgRGF0ZUNvbXBvbmVudHM6
Om1pbmltdW1EYXRlVGltZSgpKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9EYXRlVGltZUlu
cHV0VHlwZS5oIGIvV2ViQ29yZS9odG1sL0RhdGVUaW1lSW5wdXRUeXBlLmgKaW5kZXggMTQwOTc1
YjE5NTE4NGFlMGI2ZDhmOGVhNGQ1NjM0ODVlMTYxYWMzZi4uOWEwZWZkMWYzOTIxOTAwODM5ZTI3
N2EzMjU1NGZlNWZhMjM3ZWQ4NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0RhdGVUaW1lSW5w
dXRUeXBlLmgKKysrIGIvV2ViQ29yZS9odG1sL0RhdGVUaW1lSW5wdXRUeXBlLmgKQEAgLTQyLDYg
KzQyLDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBEYXRlVGltZUlucHV0VHlwZShIVE1MSW5w
dXRFbGVtZW50KiBlbGVtZW50KSA6IEJhc2VEYXRlQW5kVGltZUlucHV0VHlwZShlbGVtZW50KSB7
IH0KICAgICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgZm9ybUNvbnRyb2xUeXBlKCkgY29u
c3Q7CisgICAgdmlydHVhbCBkb3VibGUgZGVmYXVsdFZhbHVlRm9yU3RlcFVwKCkgY29uc3Q7CiAg
ICAgdmlydHVhbCBkb3VibGUgbWluaW11bSgpIGNvbnN0OwogICAgIHZpcnR1YWwgZG91YmxlIG1h
eGltdW0oKSBjb25zdDsKICAgICB2aXJ0dWFsIGRvdWJsZSBkZWZhdWx0U3RlcCgpIGNvbnN0Owpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwIGIvV2ViQ29yZS9o
dG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCmluZGV4IGFmNGU3ZDA1NDgyMTcxMTBlMzk3YzNiYzRh
MWZlY2Y3NzY3YjU4MDkuLmM4MmMwMTM4OTczZGZlN2Y3NDgzYTYwMmJhYTZkZGVkOTRkZjFhNGUg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcAorKysgYi9XZWJD
b3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAKQEAgLTE4NDksMzcgKzE4NDksMTEzIEBAIEhU
TUxPcHRpb25FbGVtZW50KiBIVE1MSW5wdXRFbGVtZW50OjpzZWxlY3RlZE9wdGlvbigpIGNvbnN0
CiB2b2lkIEhUTUxJbnB1dEVsZW1lbnQ6OnN0ZXBVcEZyb21SZW5kZXJlcihpbnQgbikKIHsKICAg
ICAvLyBUaGUgZGlmZmVyZW5jZXMgZnJvbSBzdGVwVXAoKS9zdGVwRG93bigpOgotICAgIC8vIElm
IHRoZSBjdXJyZW50IHZhbHVlIGlzIG5vdCBhIG51bWJlciwgdGhlIHZhbHVlIHdpbGwgYmUKLSAg
ICAvLyAgLSBUaGUgdmFsdWUgc2hvdWxkIGJlIHRoZSBtaW5pbXVtIHZhbHVlIGlmIG4gPiAwCi0g
ICAgLy8gIC0gVGhlIHZhbHVlIHNob3VsZCBiZSB0aGUgbWF4aW11bSB2YWx1ZSBpZiBuIDwgMAor
ICAgIC8vCisgICAgLy8gRGlmZmVyZW5jZSAxOiB0aGUgY3VycmVudCB2YWx1ZQorICAgIC8vIElm
IHRoZSBjdXJyZW50IHZhbHVlIGlzIG5vdCBhIG51bWJlciwgaW5jbHVkaW5nIGVtcHR5LCB0aGUg
Y3VycmVudCB2YWx1ZSBpcyBhc3N1bWVkIGFzIDAuCisgICAgLy8gICAqIElmIDAgaXMgaW4tcmFu
Z2UsIGFuZCBtYXRjaGVzIHRvIHN0ZXAgdmFsdWUKKyAgICAvLyAgICAgLSBUaGUgdmFsdWUgc2hv
dWxkIGJlIHRoZSArc3RlcCBpZiBuID4gMAorICAgIC8vICAgICAtIFRoZSB2YWx1ZSBzaG91bGQg
YmUgdGhlIC1zdGVwIGlmIG4gPCAwCisgICAgLy8gICAgIElmIC1zdGVwIG9yICtzdGVwIGlzIG91
dCBvZiByYW5nZSwgbmV3IHZhbHVlIHNob3VsZCBiZSAwLgorICAgIC8vICAgKiBJZiAwIGlzIHNt
YWxsZXIgdGhhbiB0aGUgbWluaW11bSB2YWx1ZQorICAgIC8vICAgICAtIFRoZSB2YWx1ZSBzaG91
bGQgYmUgdGhlIG1pbmltdW0gdmFsdWUgZm9yIGFueSBuCisgICAgLy8gICAqIElmIDAgaXMgbGFy
Z2VyIHRoYW4gdGhlIG1heGltdW0gdmFsdWUKKyAgICAvLyAgICAgLSBUaGUgdmFsdWUgc2hvdWxk
IGJlIHRoZSBtYXhpbXVtIHZhbHVlIGZvciBhbnkgbgorICAgIC8vICAgKiBJZiAwIGlzIGluLXJh
bmdlLCBidXQgbm90IG1hdGNoZWQgdG8gc3RlcCB2YWx1ZQorICAgIC8vICAgICAtIFRoZSB2YWx1
ZSBzaG91bGQgYmUgdGhlIGxhcmdlciBtYXRjaGVkIHZhbHVlIG5lYXJlc3QgdG8gMCBpZiBuID4g
MAorICAgIC8vICAgICAgIGUuZy4gPGlucHV0IHR5cGU9bnVtYmVyIG1pbj0tMTAwIHN0ZXA9Mz4g
LT4gMgorICAgIC8vICAgICAtIFRoZSB2YWx1ZSBzaG91bGQgYmUgdGhlIHNtYWxlciBtYXRjaGVk
IHZhbHVlIG5lYXJlc3QgdG8gMCBpZiBuIDwgMAorICAgIC8vICAgICAgIGUuZy4gPGlucHV0IHR5
cGU9bnVtYmVyIG1pbj0tMTAwIHN0ZXA9Mz4gLT4gLTEKKyAgICAvLyAgIEFzIGZvciBkYXRlL2Rh
dGV0aW1lLWxvY2FsL21vbnRoL3RpbWUvd2VlayB0eXBlcywgdGhlIGN1cnJlbnQgdmFsdWUgaXMg
YXNzdW1lZCBhcyAidGhlIGN1cnJlbnQgbG9jYWwgZGF0ZS90aW1lIi4KKyAgICAvLyAgIEFzIGZv
ciBkYXRldGltZSB0eXBlLCB0aGUgY3VycmVudCB2YWx1ZSBpcyBhc3N1bWVkIGFzICJ0aGUgY3Vy
cmVudCBkYXRlL3RpbWUgaW4gVVRDIi4KICAgICAvLyBJZiB0aGUgY3VycmVudCB2YWx1ZSBpcyBz
bWFsbGVyIHRoYW4gdGhlIG1pbmltdW0gdmFsdWU6CiAgICAgLy8gIC0gVGhlIHZhbHVlIHNob3Vs
ZCBiZSB0aGUgbWluaW11bSB2YWx1ZSBpZiBuID4gMAogICAgIC8vICAtIE5vdGhpbmcgc2hvdWxk
IGhhcHBlbiBpZiBuIDwgMAogICAgIC8vIElmIHRoZSBjdXJyZW50IHZhbHVlIGlzIGxhcmdlciB0
aGFuIHRoZSBtYXhpbXVtIHZhbHVlOgogICAgIC8vICAtIFRoZSB2YWx1ZSBzaG91bGQgYmUgdGhl
IG1heGltdW0gdmFsdWUgaWYgbiA8IDAKICAgICAvLyAgLSBOb3RoaW5nIHNob3VsZCBoYXBwZW4g
aWYgbiA+IDAKLQotICAgIEFTU0VSVChoYXNTcGluQnV0dG9uKCkpOwotICAgIGlmICghaGFzU3Bp
bkJ1dHRvbigpKQorICAgIC8vCisgICAgLy8gRGlmZmVyZW5jZSAyOiBjbGFtcGluZyBzdGVwcwor
ICAgIC8vIElmIHRoZSBjdXJyZW50IHZhbHVlIGlzIG5vdCBtYXRjaGVkIHRvIHN0ZXAgdmFsdWU6
CisgICAgLy8gLSBUaGUgdmFsdWUgc2hvdWxkIGJlIHRoZSBsYXJnZXIgbWF0Y2hlZCB2YWx1ZSBu
ZWFyZXN0IHRvIDAgaWYgbiA+IDAKKyAgICAvLyAgIGUuZy4gPGlucHV0IHR5cGU9bnVtYmVyIHZh
bHVlPTMgbWluPS0xMDAgc3RlcD0zPiAtPiA1CisgICAgLy8gLSBUaGUgdmFsdWUgc2hvdWxkIGJl
IHRoZSBzbWFsZXIgbWF0Y2hlZCB2YWx1ZSBuZWFyZXN0IHRvIDAgaWYgbiA8IDAKKyAgICAvLyAg
IGUuZy4gPGlucHV0IHR5cGU9bnVtYmVyIHZhbHVlPTMgbWluPS0xMDAgc3RlcD0zPiAtPiAyCisg
ICAgLy8KKyAgICAvLyBuIGlzIGFzc3VtZWQgYXMgLW4gaWYgc3RlcCA8IDAuCisKKyAgICBBU1NF
UlQoaGFzU3BpbkJ1dHRvbigpIHx8IG1faW5wdXRUeXBlLT5pc1JhbmdlQ29udHJvbCgpKTsKKyAg
ICBpZiAoIWhhc1NwaW5CdXR0b24oKSAmJiAhbV9pbnB1dFR5cGUtPmlzUmFuZ2VDb250cm9sKCkp
CiAgICAgICAgIHJldHVybjsKICAgICBBU1NFUlQobik7CiAgICAgaWYgKCFuKQogICAgICAgICBy
ZXR1cm47CiAKKyAgICB1bnNpZ25lZCBzdGVwRGVjaW1hbFBsYWNlcywgYmFzZURlY2ltYWxQbGFj
ZXM7CisgICAgZG91YmxlIHN0ZXAsIGJhc2U7CisgICAgLy8gVGhlIHZhbHVlIHdpbGwgYmUgdGhl
IGRlZmF1bHQgdmFsdWUgYWZ0ZXIgc3RlcHBpbmcgZm9yIDxpbnB1dCB2YWx1ZT0oZW1wdHkvaW52
YWxpZCkgc3RlcD0iYW55IiAvPgorICAgIC8vIEZJWE1FOiBOb3QgYW55IGNoYW5nZXMgYWZ0ZXIg
c3RlcHBpbmcsIGV2ZW4gaWYgaXQgaXMgYW4gaW52YWxpZCB2YWx1ZSwgbWF5IGJlIGJldHRlci4K
KyAgICAvLyAoZS5nLiBTdGVwcGluZy11cCBmb3IgPGlucHV0IHR5cGU9Im51bWJlciIgdmFsdWU9
ImZvbyIgc3RlcD0iYW55IiAvPiA9PiAiZm9vIikKKyAgICBpZiAoZXF1YWxJZ25vcmluZ0Nhc2Uo
Z2V0QXR0cmlidXRlKHN0ZXBBdHRyKSwgImFueSIpKQorICAgICAgICBzdGVwID0gMDsKKyAgICBl
bHNlIGlmICghZ2V0QWxsb3dlZFZhbHVlU3RlcFdpdGhEZWNpbWFsUGxhY2VzKCZzdGVwLCAmc3Rl
cERlY2ltYWxQbGFjZXMpKQorICAgICAgICByZXR1cm47CisgICAgYmFzZSA9IG1faW5wdXRUeXBl
LT5zdGVwQmFzZVdpdGhEZWNpbWFsUGxhY2VzKCZiYXNlRGVjaW1hbFBsYWNlcyk7CisgICAgYmFz
ZURlY2ltYWxQbGFjZXMgPSBtaW4oYmFzZURlY2ltYWxQbGFjZXMsIDE2dSk7CisKKyAgICBpbnQg
c2lnbjsKKyAgICBpZiAoc3RlcCA+IDApCisgICAgICAgIHNpZ24gPSBuOworICAgIGVsc2UgaWYg
KHN0ZXAgPCAwKQorICAgICAgICBzaWduID0gLW47CisgICAgZWxzZQorICAgICAgICBzaWduID0g
MDsKKwogICAgIGNvbnN0IGRvdWJsZSBuYW4gPSBudW1lcmljX2xpbWl0czxkb3VibGU+OjpxdWll
dF9OYU4oKTsKICAgICBTdHJpbmcgY3VycmVudFN0cmluZ1ZhbHVlID0gdmFsdWUoKTsKICAgICBk
b3VibGUgY3VycmVudCA9IG1faW5wdXRUeXBlLT5wYXJzZVRvRG91YmxlKGN1cnJlbnRTdHJpbmdW
YWx1ZSwgbmFuKTsKLSAgICBpZiAoIWlzZmluaXRlKGN1cnJlbnQpIHx8IChuID4gMCAmJiBjdXJy
ZW50IDwgbV9pbnB1dFR5cGUtPm1pbmltdW0oKSkgfHwgKG4gPCAwICYmIGN1cnJlbnQgPiBtX2lu
cHV0VHlwZS0+bWF4aW11bSgpKSkKLSAgICAgICAgc2V0VmFsdWUobV9pbnB1dFR5cGUtPnNlcmlh
bGl6ZShuID4gMCA/IG1faW5wdXRUeXBlLT5taW5pbXVtKCkgOiBtX2lucHV0VHlwZS0+bWF4aW11
bSgpKSk7CisgICAgaWYgKCFpc2Zpbml0ZShjdXJyZW50KSkgeworICAgICAgICBFeGNlcHRpb25D
b2RlIGVjOworICAgICAgICBjdXJyZW50ID0gbV9pbnB1dFR5cGUtPmRlZmF1bHRWYWx1ZUZvclN0
ZXBVcCgpOworICAgICAgICBzZXRWYWx1ZUFzTnVtYmVyKGN1cnJlbnQsIGVjKTsKKyAgICB9Cisg
ICAgaWYgKChzaWduID4gMCAmJiBjdXJyZW50IDwgbV9pbnB1dFR5cGUtPm1pbmltdW0oKSkgfHwg
KHNpZ24gPCAwICYmIGN1cnJlbnQgPiBtX2lucHV0VHlwZS0+bWF4aW11bSgpKSkKKyAgICAgICAg
c2V0VmFsdWUobV9pbnB1dFR5cGUtPnNlcmlhbGl6ZShzaWduID4gMCA/IG1faW5wdXRUeXBlLT5t
aW5pbXVtKCkgOiBtX2lucHV0VHlwZS0+bWF4aW11bSgpKSk7CiAgICAgZWxzZSB7CiAgICAgICAg
IEV4Y2VwdGlvbkNvZGUgZWM7Ci0gICAgICAgIHN0ZXBVcChuLCBlYyk7CisgICAgICAgIGlmIChz
dGVwTWlzbWF0Y2goY3VycmVudFN0cmluZ1ZhbHVlKSkgeworICAgICAgICAgICAgQVNTRVJUKHN0
ZXApOworICAgICAgICAgICAgZG91YmxlIG5ld1ZhbHVlOworICAgICAgICAgICAgZG91YmxlIHNj
YWxlID0gcG93KDEwLjAsIHN0YXRpY19jYXN0PGRvdWJsZT4obWF4KHN0ZXBEZWNpbWFsUGxhY2Vz
LCBiYXNlRGVjaW1hbFBsYWNlcykpKTsKKworICAgICAgICAgICAgaWYgKHNpZ24gPCAwKQorICAg
ICAgICAgICAgICAgIG5ld1ZhbHVlID0gcm91bmQoKGJhc2UgKyBmbG9vcigoY3VycmVudCAtIGJh
c2UpIC8gc3RlcCkgKiBzdGVwKSAqIHNjYWxlKSAvIHNjYWxlOworICAgICAgICAgICAgZWxzZSBp
ZiAoc2lnbiA+IDApCisgICAgICAgICAgICAgICAgbmV3VmFsdWUgPSByb3VuZCgoYmFzZSArIGNl
aWwoKGN1cnJlbnQgLSBiYXNlKSAvIHN0ZXApICogc3RlcCkgKiBzY2FsZSkgLyBzY2FsZTsKKyAg
ICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBuZXdWYWx1ZSA9IGN1cnJlbnQ7CisKKyAg
ICAgICAgICAgIGlmIChuZXdWYWx1ZSA8IG1faW5wdXRUeXBlLT5taW5pbXVtKCkpCisgICAgICAg
ICAgICAgICAgbmV3VmFsdWUgPSBtX2lucHV0VHlwZS0+bWluaW11bSgpOworICAgICAgICAgICAg
aWYgKG5ld1ZhbHVlID4gbV9pbnB1dFR5cGUtPm1heGltdW0oKSkKKyAgICAgICAgICAgICAgICBu
ZXdWYWx1ZSA9IG1faW5wdXRUeXBlLT5tYXhpbXVtKCk7CisKKyAgICAgICAgICAgIHNldFZhbHVl
QXNOdW1iZXIobmV3VmFsdWUsIGVjKTsKKyAgICAgICAgICAgIGN1cnJlbnQgPSBuZXdWYWx1ZTsK
KyAgICAgICAgICAgIGlmIChuID4gMSkKKyAgICAgICAgICAgICAgICBhcHBseVN0ZXAobiAtIDEs
IGVjKTsKKyAgICAgICAgICAgIGVsc2UgaWYgKG4gPCAtMSkKKyAgICAgICAgICAgICAgICBhcHBs
eVN0ZXAobiArIDEsIGVjKTsKKyAgICAgICAgfSBlbHNlCisgICAgICAgICAgICBhcHBseVN0ZXAo
biwgZWMpOwogICAgIH0KIAogICAgIGlmIChjdXJyZW50U3RyaW5nVmFsdWUgIT0gdmFsdWUoKSkg
ewogICAgICAgICBpZiAocmVuZGVyZXIoKSAmJiByZW5kZXJlcigpLT5pc1RleHRGaWVsZCgpKQog
ICAgICAgICAgICAgdG9SZW5kZXJUZXh0Q29udHJvbChyZW5kZXJlcigpKS0+c2V0Q2hhbmdlZFNp
bmNlTGFzdENoYW5nZUV2ZW50KHRydWUpOwotICAgICAgICBkaXNwYXRjaEV2ZW50KEV2ZW50Ojpj
cmVhdGUoZXZlbnROYW1lcygpLmlucHV0RXZlbnQsIHRydWUsIGZhbHNlKSk7CisgICAgICAgIGlm
IChtX2lucHV0VHlwZS0+aXNSYW5nZUNvbnRyb2woKSkKKyAgICAgICAgICAgIGRpc3BhdGNoRm9y
bUNvbnRyb2xDaGFuZ2VFdmVudCgpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBkaXNwYXRj
aEV2ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmlucHV0RXZlbnQsIHRydWUsIGZhbHNl
KSk7CiAgICAgfQogfQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVu
dC5oIGIvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaAppbmRleCA5ODg0MTE3YjgxMWNj
YTE5ZWUwNzQ3YjA1ZDA1YjhmY2UwMjJiNTFiLi42NzYxYjU3OGNmZGQ4NzhjOTc1OTE1YzczMjc4
MjcwMjgyZmEwNDY3IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5o
CisrKyBiL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmgKQEAgLTI3LDYgKzI3LDcgQEAK
ICNpbmNsdWRlICJIVE1MRm9ybUNvbnRyb2xFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTEZvcm1F
bGVtZW50LmgiCiAjaW5jbHVkZSAiSW5wdXRFbGVtZW50LmgiCisjaW5jbHVkZSAiSW5wdXRUeXBl
LmgiCiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmNwcCBiL1dlYkNvcmUvaHRtbC9JbnB1dFR5
cGUuY3BwCmluZGV4IDZkZDAwMmM0ZjJhZmQxNTFlZDQyYmI4ZTMzMGUxZjUyMjRkODMyYzIuLmJh
OWU4NzcyMGI4Y2VmMTRiZThmMjg2ZTRhNDE3MDQxYzM3NjhjZjAgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvaHRtbC9JbnB1dFR5cGUuY3BwCisrKyBiL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuY3BwCkBA
IC0xMjUsNiArMTI1LDExIEBAIGJvb2wgSW5wdXRUeXBlOjppc1RleHRUeXBlKCkgY29uc3QKICAg
ICByZXR1cm4gZmFsc2U7CiB9CiAKK2Jvb2wgSW5wdXRUeXBlOjppc1JhbmdlQ29udHJvbCgpIGNv
bnN0Cit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCiBib29sIElucHV0VHlwZTo6c2F2ZUZvcm1D
b250cm9sU3RhdGUoU3RyaW5nJiByZXN1bHQpIGNvbnN0CiB7CiAgICAgU3RyaW5nIGN1cnJlbnRW
YWx1ZSA9IGVsZW1lbnQoKS0+dmFsdWUoKTsKQEAgLTIxMyw2ICsyMTgsMTEgQEAgYm9vbCBJbnB1
dFR5cGU6OnJhbmdlT3ZlcmZsb3coY29uc3QgU3RyaW5nJikgY29uc3QKICAgICByZXR1cm4gZmFs
c2U7CiB9CiAKK2RvdWJsZSBJbnB1dFR5cGU6OmRlZmF1bHRWYWx1ZUZvclN0ZXBVcCgpIGNvbnN0
Cit7CisgICAgcmV0dXJuIDA7Cit9CisKIGRvdWJsZSBJbnB1dFR5cGU6Om1pbmltdW0oKSBjb25z
dAogewogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1s
L0lucHV0VHlwZS5oIGIvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5oCmluZGV4IGYxYTViNmRjYTBm
N2ZhZTIzMDI5ZThjMjY5NDlkYWEyMjJkNzNiMWEuLjRkY2ZmMDE5MzI3ZmZmMzNjNjcyMjVkMzhi
ZjQ1OWQyNTM3MTRjMGEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuaAorKysg
Yi9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmgKQEAgLTYwLDYgKzYwLDcgQEAgcHVibGljOgogCiAg
ICAgdmlydHVhbCBib29sIGlzVGV4dEZpZWxkKCkgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIGlz
VGV4dFR5cGUoKSBjb25zdDsKKyAgICB2aXJ0dWFsIGJvb2wgaXNSYW5nZUNvbnRyb2woKSBjb25z
dDsKICAgICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgZm9ybUNvbnRyb2xUeXBlKCkgY29u
c3QgPSAwOwogCiAgICAgLy8gRm9ybSB2YWx1ZSBmdW5jdGlvbnMKQEAgLTg5LDYgKzkwLDcgQEAg
cHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBwYXR0ZXJuTWlzbWF0Y2goY29uc3QgU3RyaW5nJikg
Y29uc3Q7CiAgICAgdmlydHVhbCBib29sIHJhbmdlVW5kZXJmbG93KGNvbnN0IFN0cmluZyYpIGNv
bnN0OwogICAgIHZpcnR1YWwgYm9vbCByYW5nZU92ZXJmbG93KGNvbnN0IFN0cmluZyYpIGNvbnN0
OworICAgIHZpcnR1YWwgZG91YmxlIGRlZmF1bHRWYWx1ZUZvclN0ZXBVcCgpIGNvbnN0OwogICAg
IHZpcnR1YWwgZG91YmxlIG1pbmltdW0oKSBjb25zdDsKICAgICB2aXJ0dWFsIGRvdWJsZSBtYXhp
bXVtKCkgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIHN0ZXBNaXNtYXRjaChjb25zdCBTdHJpbmcm
LCBkb3VibGUpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL01vbnRoSW5wdXRUeXBl
LmNwcCBiL1dlYkNvcmUvaHRtbC9Nb250aElucHV0VHlwZS5jcHAKaW5kZXggY2JkZTVjYmFkMjk0
MWQ0YzU4MWE4M2JhMTAxZTQ5YWRhYjIzZGQ1Ni4uMzhmOWQwMDIzM2I0ZmJmNjNlY2Y0NDA4OWEx
MTNhODNlNmVhNDc1OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL01vbnRoSW5wdXRUeXBlLmNw
cAorKysgYi9XZWJDb3JlL2h0bWwvTW9udGhJbnB1dFR5cGUuY3BwCkBAIC0zNCw2ICszNCw4IEBA
CiAjaW5jbHVkZSAiRGF0ZUNvbXBvbmVudHMuaCIKICNpbmNsdWRlICJIVE1MSW5wdXRFbGVtZW50
LmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCisjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+
CisjaW5jbHVkZSA8d3RmL0RhdGVNYXRoLmg+CiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4K
ICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogCkBAIC03NCw2ICs3NiwyMSBAQCB2b2lkIE1v
bnRoSW5wdXRUeXBlOjpzZXRWYWx1ZUFzRGF0ZShkb3VibGUgdmFsdWUsIEV4Y2VwdGlvbkNvZGUm
KSBjb25zdAogICAgIGVsZW1lbnQoKS0+c2V0VmFsdWUoZGF0ZS50b1N0cmluZygpKTsKIH0KIAor
ZG91YmxlIE1vbnRoSW5wdXRUeXBlOjpkZWZhdWx0VmFsdWVGb3JTdGVwVXAoKSBjb25zdAorewor
ICAgIGRvdWJsZSBjdXJyZW50ID0gY3VycmVudFRpbWVNUygpOworICAgIGRvdWJsZSB1dGNPZmZz
ZXQgPSBjYWxjdWxhdGVVVENPZmZzZXQoKTsKKyAgICBkb3VibGUgZHN0T2Zmc2V0ID0gY2FsY3Vs
YXRlRFNUT2Zmc2V0KGN1cnJlbnQsIHV0Y09mZnNldCk7CisgICAgaW50IG9mZnNldCA9IHN0YXRp
Y19jYXN0PGludD4oKHV0Y09mZnNldCArIGRzdE9mZnNldCkgLyBtc1Blck1pbnV0ZSk7CisgICAg
Y3VycmVudCArPSBvZmZzZXQgKiBtc1Blck1pbnV0ZTsKKworICAgIERhdGVDb21wb25lbnRzIGRh
dGU7CisgICAgZGF0ZS5zZXRNaWxsaXNlY29uZHNTaW5jZUVwb2NoRm9yTW9udGgoY3VycmVudCk7
CisgICAgZG91YmxlIG1vbnRocyA9IGRhdGUubW9udGhzU2luY2VFcG9jaCgpOworICAgIEFTU0VS
VChpc2Zpbml0ZShtb250aHMpKTsKKyAgICByZXR1cm4gbW9udGhzOworfQorCiBkb3VibGUgTW9u
dGhJbnB1dFR5cGU6Om1pbmltdW0oKSBjb25zdAogewogICAgIHJldHVybiBwYXJzZVRvRG91Ymxl
KGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJpYnV0ZShtaW5BdHRyKSwgRGF0ZUNvbXBvbmVudHM6Om1p
bmltdW1Nb250aCgpKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9Nb250aElucHV0VHlwZS5o
IGIvV2ViQ29yZS9odG1sL01vbnRoSW5wdXRUeXBlLmgKaW5kZXggNTBjZjdkNTBmOTRiZjUwNjgx
NzJlN2I5OTU1ZTYzNDE1MDY0ZmQwYS4uMjM1MzZlMmQ5NDI0YzM5ZTRjZjYxNjliMzA1OTFjNTNk
NzJkNTI3MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL01vbnRoSW5wdXRUeXBlLmgKKysrIGIv
V2ViQ29yZS9odG1sL01vbnRoSW5wdXRUeXBlLmgKQEAgLTQ1LDYgKzQ1LDcgQEAgcHJpdmF0ZToK
ICAgICB2aXJ0dWFsIGRvdWJsZSB2YWx1ZUFzRGF0ZSgpIGNvbnN0OwogICAgIHZpcnR1YWwgdm9p
ZCBzZXRWYWx1ZUFzRGF0ZShkb3VibGUsIEV4Y2VwdGlvbkNvZGUmKSBjb25zdDsKICAgICB2aXJ0
dWFsIGRvdWJsZSBwYXJzZVRvRG91YmxlKGNvbnN0IFN0cmluZyYsIGRvdWJsZSkgY29uc3Q7Cisg
ICAgdmlydHVhbCBkb3VibGUgZGVmYXVsdFZhbHVlRm9yU3RlcFVwKCkgY29uc3Q7CiAgICAgdmly
dHVhbCBkb3VibGUgbWluaW11bSgpIGNvbnN0OwogICAgIHZpcnR1YWwgZG91YmxlIG1heGltdW0o
KSBjb25zdDsKICAgICB2aXJ0dWFsIGRvdWJsZSBkZWZhdWx0U3RlcCgpIGNvbnN0OwpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9odG1sL1JhbmdlSW5wdXRUeXBlLmNwcCBiL1dlYkNvcmUvaHRtbC9SYW5n
ZUlucHV0VHlwZS5jcHAKaW5kZXggYWQ0N2YxNGNiMTRhOWQ4ODkxMmZjZGE2MmM4Zjk3Zjg4YWQz
YmMxYy4uNTA1MjBjZDFmYmEwYjRkZjkyNGQwZDY2YTJjMmNiMGY3OTE5YmU1MiAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9odG1sL1JhbmdlSW5wdXRUeXBlLmNwcAorKysgYi9XZWJDb3JlL2h0bWwvUmFu
Z2VJbnB1dFR5cGUuY3BwCkBAIC01NSw2ICs1NSwxMSBAQCBQYXNzT3duUHRyPElucHV0VHlwZT4g
UmFuZ2VJbnB1dFR5cGU6OmNyZWF0ZShIVE1MSW5wdXRFbGVtZW50KiBlbGVtZW50KQogICAgIHJl
dHVybiBhZG9wdFB0cihuZXcgUmFuZ2VJbnB1dFR5cGUoZWxlbWVudCkpOwogfQogCitib29sIFJh
bmdlSW5wdXRUeXBlOjppc1JhbmdlQ29udHJvbCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHRydWU7
Cit9CisKIGNvbnN0IEF0b21pY1N0cmluZyYgUmFuZ2VJbnB1dFR5cGU6OmZvcm1Db250cm9sVHlw
ZSgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIElucHV0VHlwZU5hbWVzOjpyYW5nZSgpOwpAQCAtMTQz
LDYgKzE0OCw5IEBAIGJvb2wgUmFuZ2VJbnB1dFR5cGU6OmhhbmRsZUtleWRvd25FdmVudChLZXli
b2FyZEV2ZW50KiBldmVudCkKICAgICAgICAgZG91YmxlIHN0ZXAgPSAobWF4IC0gbWluKSAvIDEw
MDsKICAgICAgICAgZG91YmxlIGN1cnJlbnQgPSBwYXJzZVRvRG91YmxlKGVsZW1lbnQoKS0+dmFs
dWUoKSwgbnVtZXJpY19saW1pdHM8ZG91YmxlPjo6cXVpZXRfTmFOKCkpOwogICAgICAgICBBU1NF
UlQoaXNmaW5pdGUoY3VycmVudCkpOworICAgICAgICAvLyBTdGVwcGluZy11cCBhbmQgLWRvd24g
Zm9yIHN0ZXA9ImFueSIgYXJlIHNwZWNpYWwgY2FzZXMgZm9yIHR5cGU9InJhbmdlIiBmcm9tIHJl
bmRlcmVyIGZvciBjb252ZW5pZW50LgorICAgICAgICAvLyBObyBzdGVwcGluZyBub3JtYWxseSBm
b3Igc3RlcD0iYW55Ii4gVGhleSBjYW5ub3QgYmUgaGFuZGxlZCBieSBzdGVwVXAoKS9zdGVwRG93
bigpL3N0ZXBVcEZyb21SZW5kZXJlcigpLgorICAgICAgICAvLyBTbyBjYWxjdWxhdGluZyB2YWx1
ZXMgc3RlcHBlZC11cCBvciAtZG93biBoZXJlLgogICAgICAgICBkb3VibGUgbmV3VmFsdWU7CiAg
ICAgICAgIGlmIChrZXkgPT0gIlVwIiB8fCBrZXkgPT0gIlJpZ2h0IikgewogICAgICAgICAgICAg
bmV3VmFsdWUgPSBjdXJyZW50ICsgc3RlcDsKQEAgLTE1OSwxMCArMTY3LDggQEAgYm9vbCBSYW5n
ZUlucHV0VHlwZTo6aGFuZGxlS2V5ZG93bkV2ZW50KEtleWJvYXJkRXZlbnQqIGV2ZW50KQogICAg
ICAgICB9CiAgICAgfSBlbHNlIHsKICAgICAgICAgaW50IHN0ZXBNYWduaWZpY2F0aW9uID0gKGtl
eSA9PSAiVXAiIHx8IGtleSA9PSAiUmlnaHQiKSA/IDEgOiAtMTsKLSAgICAgICAgU3RyaW5nIGxh
c3RTdHJpbmdWYWx1ZSA9IGVsZW1lbnQoKS0+dmFsdWUoKTsKLSAgICAgICAgZWxlbWVudCgpLT5z
dGVwVXAoc3RlcE1hZ25pZmljYXRpb24sIGVjKTsKLSAgICAgICAgaWYgKGxhc3RTdHJpbmdWYWx1
ZSAhPSBlbGVtZW50KCktPnZhbHVlKCkpCi0gICAgICAgICAgICBlbGVtZW50KCktPmRpc3BhdGNo
Rm9ybUNvbnRyb2xDaGFuZ2VFdmVudCgpOworICAgICAgICAvLyBSZWFzb25hYmxlIHN0ZXBwaW5n
LXVwLy1kb3duIGJ5IHN0ZXBVcEZyb21SZW5kZXJlcigpIHVubGVzcyBzdGVwPSJhbnkiCisgICAg
ICAgIGVsZW1lbnQoKS0+c3RlcFVwRnJvbVJlbmRlcmVyKHN0ZXBNYWduaWZpY2F0aW9uKTsKICAg
ICB9CiAgICAgZXZlbnQtPnNldERlZmF1bHRIYW5kbGVkKCk7CiAgICAgcmV0dXJuIHRydWU7CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvUmFuZ2VJbnB1dFR5cGUuaCBiL1dlYkNvcmUvaHRtbC9S
YW5nZUlucHV0VHlwZS5oCmluZGV4IGMyYmJiMGZjMWQxMzJiMGY3OWI1ZDcxNGNkYjUxNWRkOWNl
MzE1YTEuLjE0MjgwZTg2ZWFiZjM5YWVhOTk0NjFmZTNiMTRlYTE5MmJhNTBmZDUgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvaHRtbC9SYW5nZUlucHV0VHlwZS5oCisrKyBiL1dlYkNvcmUvaHRtbC9SYW5n
ZUlucHV0VHlwZS5oCkBAIC00MSw2ICs0MSw3IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICBS
YW5nZUlucHV0VHlwZShIVE1MSW5wdXRFbGVtZW50KiBlbGVtZW50KSA6IElucHV0VHlwZShlbGVt
ZW50KSB7IH0KKyAgICB2aXJ0dWFsIGJvb2wgaXNSYW5nZUNvbnRyb2woKSBjb25zdDsKICAgICB2
aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgZm9ybUNvbnRyb2xUeXBlKCkgY29uc3Q7CiAgICAg
dmlydHVhbCBkb3VibGUgdmFsdWVBc051bWJlcigpIGNvbnN0OwogICAgIHZpcnR1YWwgdm9pZCBz
ZXRWYWx1ZUFzTnVtYmVyKGRvdWJsZSwgRXhjZXB0aW9uQ29kZSYpIGNvbnN0OwpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9odG1sL1RpbWVJbnB1dFR5cGUuY3BwIGIvV2ViQ29yZS9odG1sL1RpbWVJbnB1
dFR5cGUuY3BwCmluZGV4IDI3ZGNlOTA1N2QzY2I3ZGM5MmExZGUwMDBkNzNjNzI3ZDZlMzhjM2Eu
LmY0MmYzNGNmM2ZkYTRjNmMxNzU1M2FiNDhiMzI0ZjFhZGVlNzZjMDAgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvaHRtbC9UaW1lSW5wdXRUeXBlLmNwcAorKysgYi9XZWJDb3JlL2h0bWwvVGltZUlucHV0
VHlwZS5jcHAKQEAgLTM0LDYgKzM0LDggQEAKICNpbmNsdWRlICJEYXRlQ29tcG9uZW50cy5oIgog
I2luY2x1ZGUgIkhUTUxJbnB1dEVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKKyNp
bmNsdWRlIDx3dGYvQ3VycmVudFRpbWUuaD4KKyNpbmNsdWRlIDx3dGYvRGF0ZU1hdGguaD4KICNp
bmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC01Myw2
ICs1NSwyMSBAQCBjb25zdCBBdG9taWNTdHJpbmcmIFRpbWVJbnB1dFR5cGU6OmZvcm1Db250cm9s
VHlwZSgpIGNvbnN0CiAgICAgcmV0dXJuIElucHV0VHlwZU5hbWVzOjp0aW1lKCk7CiB9CiAKK2Rv
dWJsZSBUaW1lSW5wdXRUeXBlOjpkZWZhdWx0VmFsdWVGb3JTdGVwVXAoKSBjb25zdAoreworICAg
IGRvdWJsZSBjdXJyZW50ID0gY3VycmVudFRpbWVNUygpOworICAgIGRvdWJsZSB1dGNPZmZzZXQg
PSBjYWxjdWxhdGVVVENPZmZzZXQoKTsKKyAgICBkb3VibGUgZHN0T2Zmc2V0ID0gY2FsY3VsYXRl
RFNUT2Zmc2V0KGN1cnJlbnQsIHV0Y09mZnNldCk7CisgICAgaW50IG9mZnNldCA9IHN0YXRpY19j
YXN0PGludD4oKHV0Y09mZnNldCArIGRzdE9mZnNldCkgLyBtc1Blck1pbnV0ZSk7CisgICAgY3Vy
cmVudCArPSBvZmZzZXQgKiBtc1Blck1pbnV0ZTsKKworICAgIERhdGVDb21wb25lbnRzIGRhdGU7
CisgICAgZGF0ZS5zZXRNaWxsaXNlY29uZHNTaW5jZU1pZG5pZ2h0KGN1cnJlbnQpOworICAgIGRv
dWJsZSBtaWxsaXNlY29uZHMgPSBkYXRlLm1pbGxpc2Vjb25kc1NpbmNlRXBvY2goKTsKKyAgICBB
U1NFUlQoaXNmaW5pdGUobWlsbGlzZWNvbmRzKSk7CisgICAgcmV0dXJuIG1pbGxpc2Vjb25kczsK
K30KKwogZG91YmxlIFRpbWVJbnB1dFR5cGU6Om1pbmltdW0oKSBjb25zdAogewogICAgIHJldHVy
biBwYXJzZVRvRG91YmxlKGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJpYnV0ZShtaW5BdHRyKSwgRGF0
ZUNvbXBvbmVudHM6Om1pbmltdW1UaW1lKCkpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL1Rp
bWVJbnB1dFR5cGUuaCBiL1dlYkNvcmUvaHRtbC9UaW1lSW5wdXRUeXBlLmgKaW5kZXggNjA3MGZh
MDczODlhOWFlNzI4ZTlmYTYyMGFhM2VlOWFmMjY3MDcyNy4uYjUwZDk4NzE0N2EwOWRlMjIxNTJh
NDA4NGRkOTE5NDFjYzZlMmY0YSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL1RpbWVJbnB1dFR5
cGUuaAorKysgYi9XZWJDb3JlL2h0bWwvVGltZUlucHV0VHlwZS5oCkBAIC00Miw2ICs0Miw3IEBA
IHB1YmxpYzoKIHByaXZhdGU6CiAgICAgVGltZUlucHV0VHlwZShIVE1MSW5wdXRFbGVtZW50KiBl
bGVtZW50KSA6IEJhc2VEYXRlQW5kVGltZUlucHV0VHlwZShlbGVtZW50KSB7IH0KICAgICB2aXJ0
dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgZm9ybUNvbnRyb2xUeXBlKCkgY29uc3Q7CisgICAgdmly
dHVhbCBkb3VibGUgZGVmYXVsdFZhbHVlRm9yU3RlcFVwKCkgY29uc3Q7CiAgICAgdmlydHVhbCBk
b3VibGUgbWluaW11bSgpIGNvbnN0OwogICAgIHZpcnR1YWwgZG91YmxlIG1heGltdW0oKSBjb25z
dDsKICAgICB2aXJ0dWFsIGRvdWJsZSBkZWZhdWx0U3RlcCgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9tYW51YWwtdGVzdHMvaW5wdXQtdHlwZS1kYXRldGltZS1kZWZhdWx0LXZhbHVlLmh0
bWwgYi9XZWJDb3JlL21hbnVhbC10ZXN0cy9pbnB1dC10eXBlLWRhdGV0aW1lLWRlZmF1bHQtdmFs
dWUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44YmUxNWQ4MDYwOGRjZTQ5MzM2YTVlMGZlMzcyM2JhMmMyNWZh
Y2EyCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9tYW51YWwtdGVzdHMvaW5wdXQtdHlwZS1k
YXRldGltZS1kZWZhdWx0LXZhbHVlLmh0bWwKQEAgLTAsMCArMSw4MCBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+PHRpdGxlPkRlZmF1bHQgdmFsdWVzIGZvciBkYXRlL3RpbWUgaW5wdXQgKHR5cGU9
IGRhdGUsIGRhdGV0aW1lLCBkYXRldGltZS1sb2NhbCwgbW9udGgsIHRpbWUsIHdlZWspPC90aXRs
ZT48L2hlYWQ+CisKKzxwPkVudGVyIFVwIG9yIERvd24sIG9yIGNsaWNrIHRoZSBzcGluIGJ1dHRv
bnMgZm9yIGVhY2ggaW5wdXQgZmllbGQuPC9wPgorCis8Zm9ybT4KKyAgPHVsPgorICAgIDxsaT5F
bXRweSB2YWx1ZXMsIG5vIHN0ZXBzCisgICAgICA8dWw+CisgICAgICAgIDxsaT5kYXRlOiA8aW5w
dXQgdHlwZT0iZGF0ZSIgc2l6ZT0iMzIiIHZhbHVlPSIiIC8+CisgICAgICAgIDxsaT5kYXRldGlt
ZTogPGlucHV0IHR5cGU9ImRhdGV0aW1lIiAgc2l6ZT0iMzIiIHZhbHVlPSIiIC8+CisgICAgICAg
IDxsaT5kYXRldGltZS1sb2NhbDogPGlucHV0IHR5cGU9ImRhdGV0aW1lLWxvY2FsIiBzaXplPSIz
MiIgdmFsdWU9IiIgLz4KKyAgICAgICAgPGxpPm1vbnRoOiA8aW5wdXQgdHlwZT0ibW9udGgiIHNp
emU9IjMyIiB2YWx1ZT0iIiAvPgorICAgICAgICA8bGk+dGltZTogPGlucHV0IHR5cGU9InRpbWUi
IHNpemU9IjMyIiB2YWx1ZT0iIiAvPgorICAgICAgICA8bGk+d2VlayA8aW5wdXQgdHlwZT0id2Vl
ayIgc2l6ZT0iMzIiIHZhbHVlPSIiIC8+CisgICAgICA8L3VsPgorICAgIDxsaT5JbnZhbGlkIHZh
bHVlcywgbm8gc3RlcHMKKyAgICAgIDx1bD4KKyAgICAgICAgPGxpPmRhdGU6IDxpbnB1dCB0eXBl
PSJkYXRlIiBzaXplPSIzMiIgdmFsdWU9ImZvbyIgLz4KKyAgICAgICAgPGxpPmRhdGV0aW1lOiA8
aW5wdXQgdHlwZT0iZGF0ZXRpbWUiICBzaXplPSIzMiIgdmFsdWU9ImZvbyIgLz4KKyAgICAgICAg
PGxpPmRhdGV0aW1lLWxvY2FsOiA8aW5wdXQgdHlwZT0iZGF0ZXRpbWUtbG9jYWwiIHNpemU9IjMy
IiB2YWx1ZT0iZm9vIiAvPgorICAgICAgICA8bGk+bW9udGg6IDxpbnB1dCB0eXBlPSJtb250aCIg
c2l6ZT0iMzIiIHZhbHVlPSJmb28iIC8+CisgICAgICAgIDxsaT50aW1lOiA8aW5wdXQgdHlwZT0i
dGltZSIgc2l6ZT0iMzIiIHZhbHVlPSJmb28iIC8+CisgICAgICAgIDxsaT53ZWVrIDxpbnB1dCB0
eXBlPSJ3ZWVrIiBzaXplPSIzMiIgdmFsdWU9ImZvbyIgLz4KKyAgICAgIDwvdWw+CisgICAgPGxp
PkVtdHB5IHZhbHVlcywgaW52YWxpZCBzdGVwcworICAgICAgPHVsPgorICAgICAgICA8bGk+ZGF0
ZTogPGlucHV0IHR5cGU9ImRhdGUiIHNpemU9IjMyIiB2YWx1ZT0iIiBzdGVwPSJmb28iIC8+Cisg
ICAgICAgIDxsaT5kYXRldGltZTogPGlucHV0IHR5cGU9ImRhdGV0aW1lIiAgc2l6ZT0iMzIiIHZh
bHVlPSIiIHN0ZXA9ImZvbyIgLz4KKyAgICAgICAgPGxpPmRhdGV0aW1lLWxvY2FsOiA8aW5wdXQg
dHlwZT0iZGF0ZXRpbWUtbG9jYWwiIHNpemU9IjMyIiB2YWx1ZT0iIiBzdGVwPSJmb28iIC8+Cisg
ICAgICAgIDxsaT5tb250aDogPGlucHV0IHR5cGU9Im1vbnRoIiBzaXplPSIzMiIgdmFsdWU9IiIg
c3RlcD0iZm9vIiAvPgorICAgICAgICA8bGk+dGltZTogPGlucHV0IHR5cGU9InRpbWUiIHNpemU9
IjMyIiB2YWx1ZT0iIiBzdGVwPSJmb28iIC8+CisgICAgICAgIDxsaT53ZWVrIDxpbnB1dCB0eXBl
PSJ3ZWVrIiBzaXplPSIzMiIgdmFsdWU9IiIgc3RlcD0iZm9vIiAvPgorICAgICAgPC91bD4KKyAg
ICA8bGk+SW52YWxpZCB2YWx1ZXMsIGludmFsaWQgc3RlcHMKKyAgICAgIDx1bD4KKyAgICAgICAg
PGxpPmRhdGU6IDxpbnB1dCB0eXBlPSJkYXRlIiBzaXplPSIzMiIgdmFsdWU9ImZvbyIgc3RlcD0i
Zm9vIiAvPgorICAgICAgICA8bGk+ZGF0ZXRpbWU6IDxpbnB1dCB0eXBlPSJkYXRldGltZSIgIHNp
emU9IjMyIiB2YWx1ZT0iZm9vIiBzdGVwPSJmb28iIC8+CisgICAgICAgIDxsaT5kYXRldGltZS1s
b2NhbDogPGlucHV0IHR5cGU9ImRhdGV0aW1lLWxvY2FsIiBzaXplPSIzMiIgdmFsdWU9ImZvbyIg
c3RlcD0iZm9vIiAvPgorICAgICAgICA8bGk+bW9udGg6IDxpbnB1dCB0eXBlPSJtb250aCIgc2l6
ZT0iMzIiIHZhbHVlPSJmb28iIHN0ZXA9ImZvbyIgLz4KKyAgICAgICAgPGxpPnRpbWU6IDxpbnB1
dCB0eXBlPSJ0aW1lIiBzaXplPSIzMiIgdmFsdWU9ImZvbyIgc3RlcD0iZm9vIiAvPgorICAgICAg
ICA8bGk+d2VlayA8aW5wdXQgdHlwZT0id2VlayIgc2l6ZT0iMzIiIHZhbHVlPSJmb28iIHN0ZXA9
ImZvbyIgLz4KKyAgICAgIDwvdWw+CisgICAgPGxpPkVtdHB5IHZhbHVlcywgc3RlcD1hbnkKKyAg
ICAgIDx1bD5zCisgICAgICAgIDxsaT5kYXRlOiA8aW5wdXQgdHlwZT0iZGF0ZSIgc2l6ZT0iMzIi
IHZhbHVlPSIiIHN0ZXA9ImFueSIgLz4KKyAgICAgICAgPGxpPmRhdGV0aW1lOiA8aW5wdXQgdHlw
ZT0iZGF0ZXRpbWUiICBzaXplPSIzMiIgdmFsdWU9IiIgc3RlcD0iYW55IiAvPgorICAgICAgICA8
bGk+ZGF0ZXRpbWUtbG9jYWw6IDxpbnB1dCB0eXBlPSJkYXRldGltZS1sb2NhbCIgc2l6ZT0iMzIi
IHZhbHVlPSIiIHN0ZXA9ImFueSIgLz4KKyAgICAgICAgPGxpPm1vbnRoOiA8aW5wdXQgdHlwZT0i
bW9udGgiIHNpemU9IjMyIiB2YWx1ZT0iIiBzdGVwPSJhbnkiIC8+CisgICAgICAgIDxsaT50aW1l
OiA8aW5wdXQgdHlwZT0idGltZSIgc2l6ZT0iMzIiIHZhbHVlPSIiIHN0ZXA9ImFueSIgLz4KKyAg
ICAgICAgPGxpPndlZWsgPGlucHV0IHR5cGU9IndlZWsiIHNpemU9IjMyIiB2YWx1ZT0iIiBzdGVw
PSJhbnkiIC8+CisgICAgICA8L3VsPgorICAgIDxsaT5JbnZhbGlkIHZhbHVlcywgc3RlcD1hbnkK
KyAgICAgIDx1bD4KKyAgICAgICAgPGxpPmRhdGU6IDxpbnB1dCB0eXBlPSJkYXRlIiBzaXplPSIz
MiIgdmFsdWU9ImZvbyIgc3RlcD0iYW55IiAvPgorICAgICAgICA8bGk+ZGF0ZXRpbWU6IDxpbnB1
dCB0eXBlPSJkYXRldGltZSIgIHNpemU9IjMyIiB2YWx1ZT0iZm9vIiBzdGVwPSJhbnkiIC8+Cisg
ICAgICAgIDxsaT5kYXRldGltZS1sb2NhbDogPGlucHV0IHR5cGU9ImRhdGV0aW1lLWxvY2FsIiBz
aXplPSIzMiIgdmFsdWU9ImZvbyIgc3RlcD0iYW55IiAvPgorICAgICAgICA8bGk+bW9udGg6IDxp
bnB1dCB0eXBlPSJtb250aCIgc2l6ZT0iMzIiIHZhbHVlPSJmb28iIHN0ZXA9ImFueSIgLz4KKyAg
ICAgICAgPGxpPnRpbWU6IDxpbnB1dCB0eXBlPSJ0aW1lIiBzaXplPSIzMiIgdmFsdWU9ImZvbyIg
c3RlcD0iYW55IiAvPgorICAgICAgICA8bGk+d2VlayA8aW5wdXQgdHlwZT0id2VlayIgc2l6ZT0i
MzIiIHZhbHVlPSJmb28iIHN0ZXA9ImFueSIgLz4KKyAgICAgIDwvdWw+CisgIDwvdWw+Cis8L2Zv
cm0+CisKKzxwPlRoZSBpbnB1dCBmaWVsZHMgc2hvdWxkIHNob3cgdGhlIGN1cnJlbnQgbG9jYWwv
VVRDIGRhdGUvdGltZSAod2l0aCArIG9yIC0gYSB1bml0IGRhdGUvdGltZSBkZXNjcmliZWQgYmVs
b3cgZXhjZXB0IGZvciBzdGVwPWFueSkuPC9wPgorCis8cD5Vbml0IGRhdGVzL3RpbWVzPC9wPgor
PHVsPgorICA8bGk+ZGF0ZTogMSBkYXkgKGxvY2FsIHRpbWUpCisgIDxsaT5kYXRldGltZTogMSBt
aW51dGUgKFVUQykKKyAgPGxpPmRhdGV0aW1lLWxvY2FsOiAxIG1pbnV0ZSAobG9jYWwgdGltZSkK
KyAgPGxpPm1vbnRoOiAxIG1vbnRoIChsb2NhbCB0aW1lKQorICA8bGk+dGltZTogMSBtaW51dGUg
KGxvY2FsIHRpbWUpCisgIDxsaT53ZWVrOiAxIHdlZWsgKGxvY2FsIHRpbWUpCis8L3VsPgorCis8
cD5BcyBmb3Igc3RlcD1hbnksIHRoZSB2YWx1ZXMgZG9uJ3QgY2hhbmdlIGJ5IHN0ZXBwaW5nLXVw
Ly1kb3duLjxwPgorCis8L2JvZHk+PC9odG1sPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>