<?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>29004</bug_id>
          
          <creation_ts>2009-09-07 01:49:03 -0700</creation_ts>
          <short_desc>[HTML5][Forms] simple implementation of date&amp;time types of INPUT element</short_desc>
          <delta_ts>2009-11-14 07:23:49 -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>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#the-input-element</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>19264</blocked>
    
    <blocked>29070</blocked>
    
    <blocked>29359</blocked>
    
    <blocked>30847</blocked>
    
    <blocked>31342</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kent Tamura">tkent</reporter>
          <assigned_to name="Kent Tamura">tkent</assigned_to>
          <cc>adele</cc>
    
    <cc>darin</cc>
    
    <cc>eric</cc>
    
    <cc>hyatt</cc>
    
    <cc>levin</cc>
    
    <cc>michelangelo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>145118</commentid>
    <comment_count>0</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2009-09-07 01:49:03 -0700</bug_when>
    <thetext>Like bug#28966 for type=color, implement the following types as a text field and add support for type checking.
 - date
 - datetime
 - datetime-local
 - month
 - time
 - week</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>145119</commentid>
    <comment_count>1</comment_count>
      <attachid>39136</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2009-09-07 02:06:24 -0700</bug_when>
    <thetext>Created attachment 39136
Proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>145388</commentid>
    <comment_count>2</comment_count>
      <attachid>39136</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-08 09:32:52 -0700</bug_when>
    <thetext>Comment on attachment 39136
Proposed patch

This is a big patch to review. :(  Do you know about CaseInsentiveHash?  Might be the right thing to use instead of:
 336     else if (equalIgnoringCase(t, &quot;date&quot;))
 337         newType = DATE;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>145604</commentid>
    <comment_count>3</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2009-09-08 17:40:27 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; This is a big patch to review. :(  Do you know about CaseInsentiveHash?  Might
&gt; be the right thing to use instead of:

I haven&apos;t known it.  Thanks.
Maybe I should move DateTime class to separated .h and .cpp.  The class is going to have more methods in the near future.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>146152</commentid>
    <comment_count>4</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2009-09-10 03:25:16 -0700</bug_when>
    <thetext>(In reply to comment #2)
I&apos;ll split the patch into 3.
  Part 1: Implement date&amp;time types as text fields without type validation
  Part 2: ISO 8601 parser
  Part 3: ValidityState.typeCheck for date&amp;time types, and tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>146170</commentid>
    <comment_count>5</comment_count>
      <attachid>39342</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2009-09-10 05:14:58 -0700</bug_when>
    <thetext>Created attachment 39342
Patch part 1: recognize date&amp;time types as text fields</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>146171</commentid>
    <comment_count>6</comment_count>
      <attachid>39343</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2009-09-10 05:15:57 -0700</bug_when>
    <thetext>Created attachment 39343
Patch part2: ISO 8601 parser</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>146172</commentid>
    <comment_count>7</comment_count>
      <attachid>39344</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2009-09-10 05:16:59 -0700</bug_when>
    <thetext>Created attachment 39344
Patch part 3: support for ValidityState.typeMismatch and layout tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>147016</commentid>
    <comment_count>8</comment_count>
      <attachid>39532</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2009-09-13 18:50:34 -0700</bug_when>
    <thetext>Created attachment 39532
39344: Patch part 3: support for ValidityState.typeMismatch and layout tests (rev.2)

Resolved a patch conflict by r48318</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>148724</commentid>
    <comment_count>9</comment_count>
      <attachid>39857</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2009-09-21 09:53:50 -0700</bug_when>
    <thetext>Created attachment 39857
Patch part 3: ValidityState.typeMismatch and layout tests (rev.3)

resources/ -&gt; script-tests/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>148737</commentid>
    <comment_count>10</comment_count>
      <attachid>39342</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-21 10:50:30 -0700</bug_when>
    <thetext>Comment on attachment 39342
Patch part 1: recognize date&amp;time types as text fields

Explicit String construction isn&apos;t needed:
String(&quot;button&quot;)
the compiler will find String(char*) anyway.

Why two lookups?
 333     if (!t.isNull() &amp;&amp; typeMap-&gt;contains(t))  // contains() with a null string makes crash.
 334         newType = typeMap-&gt;get(t);
just do one get instead of two lookups.

Lets make a hash for these too:
@@ const AtomicString&amp; HTMLInputElement::formControlType() const

Then you don&apos;t have a zillion DEFINE_STATIC_LOCAL calls, because the Hash can be TYPE -&gt; AtomicString

(That doesn&apos;t have to be part of this patch, but if you&apos;re in there cleaning stuff up, you should consider it.  I think it will be much less code.  Heck, it could even be a Vector instead of a Hash if you like.)

Default is bad with switches over enums:
     default:
 1048         return false;
it&apos;s breaks the compiler&apos;s ability to tell you when you&apos;re missing cases.  In this function  1028 bool HTMLInputElement::isTextField() const it seems we don&apos;t even want a switch.  We just want a single if, or?  Or at least we want an explicit list of the false cases if you&apos;re going to use a switch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>148739</commentid>
    <comment_count>11</comment_count>
      <attachid>39343</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-21 10:52:39 -0700</bug_when>
    <thetext>Comment on attachment 39343
Patch part2: ISO 8601 parser

You wrote the parser by yourself I assume?  It&apos;s no code from any other license?

Also, we need tests for this parser.

I think we should consider splitting it off into its own file which DateMath can use.  ISO8601DateParser or some other nicer name?

r- for the lack of tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>148741</commentid>
    <comment_count>12</comment_count>
      <attachid>39857</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-21 10:54:26 -0700</bug_when>
    <thetext>Comment on attachment 39857
Patch part 3: ValidityState.typeMismatch and layout tests (rev.3)

OK, here are the tests.  or at least some tests.  So my r- above was perhaps premature.  I guess I&apos;ll still leave it r- awaiting your response to the other questions raised.  I&apos;ve not looked at your parser close enough to see if I had security or performance concerns, but I can look again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>149446</commentid>
    <comment_count>13</comment_count>
      <attachid>39857</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-23 10:46:52 -0700</bug_when>
    <thetext>Comment on attachment 39857
Patch part 3: ValidityState.typeMismatch and layout tests (rev.3)

I think I would have used two separate methods:
shoudlBeInvalid
shoudlBeValid

instead of check true/false.

But it looks fine as is.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>149632</commentid>
    <comment_count>14</comment_count>
      <attachid>40036</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2009-09-23 19:43:26 -0700</bug_when>
    <thetext>Created attachment 40036
Patch part 1: recognize date&amp;time types as text fields (rev.2)

&gt; Explicit String construction isn&apos;t needed:
&gt; String(&quot;button&quot;)

Fixed.

&gt; Why two lookups?

Fixed.

&gt; Lets make a hash for these too:
&gt; @@ const AtomicString&amp; HTMLInputElement::formControlType() const

Done.  I used Vector.


&gt; Default is bad with switches over enums:
&gt;     default:

Removed the default label and expanded the rest of types.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>149704</commentid>
    <comment_count>15</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2009-09-24 02:21:32 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; (From update of attachment 39343 [details])
&gt; You wrote the parser by yourself I assume?  It&apos;s no code from any other
&gt; license?

Yes, it&apos;s my code written for WebKit.

&gt; I think we should consider splitting it off into its own file which DateMath
&gt; can use.  ISO8601DateParser or some other nicer name?

Do you think the new file should be in JavaScriptCore/wtf/ ?
I assume so.  The parser might be used by JSON.parse(), not only html/HTMLInputElement.cpp</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>149840</commentid>
    <comment_count>16</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-24 14:11:04 -0700</bug_when>
    <thetext>(In reply to comment #15)
&gt; Do you think the new file should be in JavaScriptCore/wtf/ ?
&gt; I assume so.  The parser might be used by JSON.parse(), not only
&gt; html/HTMLInputElement.cpp

I&apos;m OK w/ either location.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>150442</commentid>
    <comment_count>17</comment_count>
      <attachid>40211</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2009-09-27 18:54:32 -0700</bug_when>
    <thetext>Created attachment 40211
Patch part 1: recognize date&amp;time types as text fields (rev.3)

Resolved a conflict with today&apos;s WebKit source.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>150464</commentid>
    <comment_count>18</comment_count>
      <attachid>40219</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2009-09-28 00:36:48 -0700</bug_when>
    <thetext>Created attachment 40219
Patch part 2: ISO 8601 parser (rev.2)

- Move ISO 8601 parser code to wtf/ISODateParser.{cpp.h}

This patch doesn&apos;t depend on Part 1.  Part 1 and Part2 can be committed independently.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>150471</commentid>
    <comment_count>19</comment_count>
      <attachid>40221</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2009-09-28 01:20:50 -0700</bug_when>
    <thetext>Created attachment 40221
Patch part 3: ValidityState.typeMismatch and layout tests (rev.4)

Update for the Part 2 change.

This patch depends on both of Part 1 and 2.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>150474</commentid>
    <comment_count>20</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2009-09-28 01:39:04 -0700</bug_when>
    <thetext>(In reply to comment #19)
&gt; Created an attachment (id=40221) [details]
&gt; Patch part 1: recognize date&amp;time types as text fields (rev.4)

The attachment title was wrong.  I corrected it to:
  Patch part 3: ValidityState.typeMismatch and layout tests (rev.4)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>151745</commentid>
    <comment_count>21</comment_count>
      <attachid>40488</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2009-10-01 18:18:02 -0700</bug_when>
    <thetext>Created attachment 40488
Patch part 1: recognize date&amp;time types as text fields (rev.4)

Resolved a build failure with new &quot;switch (inputType())&quot; introduced by r48959.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>154518</commentid>
    <comment_count>22</comment_count>
      <attachid>41146</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2009-10-13 19:34:35 -0700</bug_when>
    <thetext>Created attachment 41146
Patch part 2: ISO 8601 parser (rev.3)

- Resolved conflict with r49365 on project.pbxproj</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>154519</commentid>
    <comment_count>23</comment_count>
      <attachid>41147</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2009-10-13 19:38:08 -0700</bug_when>
    <thetext>Created attachment 41147
Patch part 3: ValidityState.typeMismatch and layout tests (rev.5)

- Resolved conflict with r49508.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>155924</commentid>
    <comment_count>24</comment_count>
      <attachid>40488</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-10-19 14:52:49 -0700</bug_when>
    <thetext>Comment on attachment 40488
Patch part 1: recognize date&amp;time types as text fields (rev.4)

 366     // get() with unregistered names returns HTMLInputElement::TEXT.
Wild.

// get() with a null string makes crash.
// get() with a null string causes a crash.
would be better.

I would probably have written:
75     if (!t.isNull())  // get() with a null string makes crash.
 376         newType = typeMap-&gt;get(t);
357377     else
358378         newType = TEXT;

as:

if (typeMap.contains(t))
    newType = typeMap.get();
else
    newType = TEXT;

Then you don&apos;t need any fancy emptyValue either.

You could do:
 448 static const Vector&lt;AtomicString&gt;* createFormControlTypes()

as just an accessor and use a static Vector&lt;AtomicString&gt; w/o a pointer if you like.  It&apos;s OK as is, but:
 452     (*types)[HTMLInputElement::BUTTON] = &quot;button&quot;;
is slightly harder to read wiht a pointer.  I think at this point, I wouldn&apos;t bother changing it though.

 43         TEXT = 0,  // TEXT must be 0 because it&apos;s the default type.
is not needed if you change the way the hash lookup works, no?


 68     static const int MAX_INPUT_TYPES = DATETIMELOCAL + 1;
Could be easier as a LAST_INPUT_TYPE a the end of the enum, no?

This looks great, but I think we shoudl go one more round.  Thanks again!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>155945</commentid>
    <comment_count>25</comment_count>
      <attachid>39857</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-10-19 15:15:54 -0700</bug_when>
    <thetext>Comment on attachment 39857
Patch part 3: ValidityState.typeMismatch and layout tests (rev.3)

Clearing r+ on this obsolete patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>156051</commentid>
    <comment_count>26</comment_count>
      <attachid>41478</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2009-10-19 21:13:34 -0700</bug_when>
    <thetext>Created attachment 41478
Patch part 1: recognize date&amp;time types as text fields (rev.5)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>156054</commentid>
    <comment_count>27</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2009-10-19 21:19:57 -0700</bug_when>
    <thetext>(In reply to comment #24)
&gt; // get() with a null string causes a crash.
&gt; would be better.

Done.

&gt; I would probably have written:
&gt; 75     if (!t.isNull())  // get() with a null string makes crash.
&gt;  376         newType = typeMap-&gt;get(t);
&gt; 357377     else
&gt; 358378         newType = TEXT;
&gt; 
&gt; as:
&gt; 
&gt; if (typeMap.contains(t))
&gt;     newType = typeMap.get();
&gt; else
&gt;     newType = TEXT;
&gt; 
&gt; Then you don&apos;t need any fancy emptyValue either.

Right. We don&apos;t need to assume TEXT=0 if we use contains().
I changed to contains(), but we still need t.isNull() because contains() with a null string also crashes.

&gt; You could do:
&gt;  448 static const Vector&lt;AtomicString&gt;* createFormControlTypes()

I changed the type to HashMap&lt;InputType, AtomicString&gt;.  As for Vector&lt;&gt;, we need to ensure the minimum value of InputType is 0, need to know the maximum value of InputType, InputType values must not have gaps.

&gt;  43         TEXT = 0,  // TEXT must be 0 because it&apos;s the default type.
&gt;  68     static const int MAX_INPUT_TYPES = DATETIMELOCAL + 1;

Removed them by the Vector -&gt; HashMap change above.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>161508</commentid>
    <comment_count>28</comment_count>
      <attachid>41146</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2009-11-08 22:42:58 -0800</bug_when>
    <thetext>Comment on attachment 41146
Patch part 2: ISO 8601 parser (rev.3)

Recent changes to DateMath.* critically broke this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>161526</commentid>
    <comment_count>29</comment_count>
      <attachid>42740</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2009-11-09 01:36:20 -0800</bug_when>
    <thetext>Created attachment 42740
Patch part 2: ISO 8601 parser (rev.4)

Move the code from JavaScritpCore/wtf to WebCore/html because GregorianDateTime became a JSC-specific class.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>161527</commentid>
    <comment_count>30</comment_count>
      <attachid>42741</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2009-11-09 01:38:03 -0800</bug_when>
    <thetext>Created attachment 42741
Patch part 3: ValidityState.typeMismatch and layout tests (rev.6)

Sync with the updated part 2.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>162088</commentid>
    <comment_count>31</comment_count>
      <attachid>41478</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-11-10 10:22:34 -0800</bug_when>
    <thetext>Comment on attachment 41478
Patch part 1: recognize date&amp;time types as text fields (rev.5)

It seems your test case only needs to test the casing once.  once it&apos;s confirmed that button and BUTTON both map to BUTTON, you don&apos;t really need to check CHECKBOX, COLOR, EMail, etc.  Just the lowercase versions should be enough and might make the test less confusing.

Cleanup of these mthods could have been done as a separate first patch, but this is OK too.

I suspect the dom spec says nothing about the implementation, but it does say that input.type has to be lowercase, right?  Would be more clear to say something like:
// input.type must return a lower case value according to DOM3.


I dont understand this comment:
  // We don&apos;t use formControlTypes-&gt;get(inputType()) because this function
 542     // tries to return a reference to a temporary AtomicString object in that
 543     // case.

This comment isn&apos;t clear:
 509     // Needs to be lowercase according to DOM spec

Excellent cleanup!
 794     if (inputType() == HIDDEN)
 795         return false;
 796     return HTMLFormControlElementWithState::rendererIsNeeded(style);

This patch looks fine.  The comments could/should be adjusted before landing.

I&apos;m torn.  I would like to r+ this, but I would also like to understand the formControlTypes-&gt;get(inputType())  issue before I do.  I guess we should go one more round.  Ping me as soon as you post a new patch or respond to the formControlTypes-&gt;get(inputType())  issue and I&apos;ll be happy to r+ this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>162089</commentid>
    <comment_count>32</comment_count>
      <attachid>42740</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-11-10 10:25:12 -0800</bug_when>
    <thetext>Comment on attachment 42740
Patch part 2: ISO 8601 parser (rev.4)

This patch desperately needs c++ unit test support.  So sad that we don&apos;t have any in WebKit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>162325</commentid>
    <comment_count>33</comment_count>
      <attachid>42918</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2009-11-10 19:54:43 -0800</bug_when>
    <thetext>Created attachment 42918
Patch part 1: recognize date&amp;time types as text fields (rev.6)

(In reply to comment #31)
&gt; It seems your test case only needs to test the casing once.  once it&apos;s
&gt; confirmed that button and BUTTON both map to BUTTON, you don&apos;t really need to
&gt; check CHECKBOX, COLOR, EMail, etc.  Just the lowercase versions should be
&gt; enough and might make the test less confusing.

Done.

&gt; I suspect the dom spec says nothing about the implementation, but it does say
&gt; that input.type has to be lowercase, right?  Would be more clear to say
&gt; something like:
&gt; // input.type must return a lower case value according to DOM3.

Done.

&gt; I dont understand this comment:
&gt;   // We don&apos;t use formControlTypes-&gt;get(inputType()) because this function
&gt;  542     // tries to return a reference to a temporary AtomicString object in
&gt; that
&gt;  543     // case.

I updated that comment.  I hope it get clearer.
If we write &quot;return formControlTypes-&gt;get(inputType());&quot;, gcc in Xcode warns it:
WebKit/WebCore/html/HTMLInputElement.cpp:547: warning: returning reference to temporary


&gt; This comment isn&apos;t clear:
&gt;  509     // Needs to be lowercase according to DOM spec

Improved.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>162410</commentid>
    <comment_count>34</comment_count>
      <attachid>42942</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2009-11-11 02:10:59 -0800</bug_when>
    <thetext>Created attachment 42942
Recognize date&amp;time types as text fields (rev.7)

* Sort case labels as per levin&apos;s advice</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>162420</commentid>
    <comment_count>35</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2009-11-11 02:51:43 -0800</bug_when>
    <thetext>Part 2 and 3 patches were moved to Bug#31340 and Bug#31342.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>162767</commentid>
    <comment_count>36</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2009-11-11 19:33:50 -0800</bug_when>
    <thetext>I&apos;m working on reviewing this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>162769</commentid>
    <comment_count>37</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2009-11-11 19:35:14 -0800</bug_when>
    <thetext>Whoops.I&apos;m not reviewing this patch at present. The changelog of the issue I&apos;m reviewing mentions the wrong bug :( (I&apos;ll add that to my comments.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>163348</commentid>
    <comment_count>38</comment_count>
      <attachid>42942</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-11-13 09:39:27 -0800</bug_when>
    <thetext>Comment on attachment 42942
Recognize date&amp;time types as text fields (rev.7)

&gt; +    // get() or contains() with a null string causes a crash.
&gt; +    if (!t.isNull() &amp;&amp; typeMap-&gt;contains(t))
&gt; +        newType = typeMap-&gt;get(t);
&gt;      else
&gt;          newType = TEXT;

It&apos;s not a good idiom for performance to do a contains followed by a separate get. Those are two completely separate hash table lookups. There are two alternatives:

    1) Just call get without first checking contains. The result will be the default value, 0, which is TEXT.
    2) Use find instead of contains/get.

I think &quot;causes a crash&quot; is also not the perfect way to explain the issue. Callers are not allowed to call get or contains with a null string. It&apos;s not guaranteed to cause a crash, though!

I also think the comment is a little strange because there are tons of call sites for this and I don&apos;t think we want to add a comment like this at every one.

&gt; +    // The values in the map must be lowercased because they will be the
&gt; +    // return values of input.type and it must be lowercase according to DOM Level 2.
&gt; +    types-&gt;add(HTMLInputElement::BUTTON, &quot;button&quot;);
&gt; +    types-&gt;add(HTMLInputElement::CHECKBOX, &quot;checkbox&quot;);
&gt; +    types-&gt;add(HTMLInputElement::COLOR, &quot;color&quot;);
&gt; +    types-&gt;add(HTMLInputElement::DATE, &quot;date&quot;);
&gt; +    types-&gt;add(HTMLInputElement::DATETIME, &quot;datetime&quot;);
&gt; +    types-&gt;add(HTMLInputElement::DATETIMELOCAL, &quot;datetime-local&quot;);
&gt; +    types-&gt;add(HTMLInputElement::EMAIL, &quot;email&quot;);
&gt; +    types-&gt;add(HTMLInputElement::FILE, &quot;file&quot;);
&gt; +    types-&gt;add(HTMLInputElement::HIDDEN, &quot;hidden&quot;);
&gt; +    types-&gt;add(HTMLInputElement::IMAGE, &quot;image&quot;);
&gt; +    types-&gt;add(HTMLInputElement::ISINDEX, emptyAtom);
&gt; +    types-&gt;add(HTMLInputElement::MONTH, &quot;month&quot;);
&gt; +    types-&gt;add(HTMLInputElement::NUMBER, &quot;number&quot;);
&gt; +    types-&gt;add(HTMLInputElement::PASSWORD, &quot;password&quot;);
&gt; +    types-&gt;add(HTMLInputElement::RADIO, &quot;radio&quot;);
&gt; +    types-&gt;add(HTMLInputElement::RANGE, &quot;range&quot;);
&gt; +    types-&gt;add(HTMLInputElement::RESET, &quot;reset&quot;);
&gt; +    types-&gt;add(HTMLInputElement::SEARCH, &quot;search&quot;);
&gt; +    types-&gt;add(HTMLInputElement::SUBMIT, &quot;submit&quot;);
&gt; +    types-&gt;add(HTMLInputElement::TELEPHONE, &quot;tel&quot;);
&gt; +    types-&gt;add(HTMLInputElement::TEXT, &quot;text&quot;);
&gt; +    types-&gt;add(HTMLInputElement::TIME, &quot;time&quot;);
&gt; +    types-&gt;add(HTMLInputElement::URL, &quot;url&quot;);
&gt; +    types-&gt;add(HTMLInputElement::WEEK, &quot;week&quot;);

These values are enum values, consecutive integers. This should be done with an array, not a HashMap.

&gt; +    static const FormControlMap* formControlTypes = createFormControlTypes();
&gt; +    ASSERT(formControlTypes-&gt;contains(inputType()));
&gt; +    // Don&apos;t do &quot;return formControlTypes-&gt;get(inputType())&quot; here.
&gt; +    // In that case, compilers generate code like:
&gt; +    //   AtomicString str = formControlTypes-&gt;get(inputType());
&gt; +    //   return &amp;str;
&gt; +    return formControlTypes-&gt;find(inputType())-&gt;second;

I don’t really like the comment above but it will be gone if you switch to an array anyway.

&gt;  bool HTMLInputElement::rendererIsNeeded(RenderStyle *style)
&gt;  {
&gt; -    switch (inputType()) {
&gt; -        case BUTTON:
&gt; -        case CHECKBOX:
&gt; -        case COLOR:
&gt; -        case EMAIL:
&gt; -        case FILE:
&gt; -        case IMAGE:
&gt; -        case ISINDEX:
&gt; -        case NUMBER:
&gt; -        case PASSWORD:
&gt; -        case RADIO:
&gt; -        case RANGE:
&gt; -        case RESET:
&gt; -        case SEARCH:
&gt; -        case SUBMIT:
&gt; -        case TELEPHONE:
&gt; -        case TEXT:
&gt; -        case URL:
&gt; -            return HTMLFormControlElementWithState::rendererIsNeeded(style);
&gt; -        case HIDDEN:
&gt; -            return false;
&gt; -    }
&gt; -    ASSERT(false);
&gt; -    return false;
&gt; +    if (inputType() == HIDDEN)
&gt; +        return false;
&gt; +    return HTMLFormControlElementWithState::rendererIsNeeded(style);

This change is fine assuming that no future type will be like &quot;hidden&quot;. I guess that&apos;s a reasonable assumption.

The patch otherwise seems OK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>163607</commentid>
    <comment_count>39</comment_count>
      <attachid>43216</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2009-11-13 17:30:04 -0800</bug_when>
    <thetext>Created attachment 43216
Recognize date&amp;time types as text fields (rev.8)

Thank you for reviewing!

(In reply to comment #38)
&gt; &gt; +    if (!t.isNull() &amp;&amp; typeMap-&gt;contains(t))
&gt; &gt; +        newType = typeMap-&gt;get(t);
&gt; &gt;      else
&gt; &gt;          newType = TEXT;
&gt; 
&gt; It&apos;s not a good idiom for performance to do a contains followed by a separate
&gt; get. Those are two completely separate hash table lookups. There are two
&gt; alternatives:
&gt; 
&gt;     1) Just call get without first checking contains. The result will be the
&gt; default value, 0, which is TEXT

Done.

&gt; I also think the comment is a little strange because there are tons of call
&gt; sites for this and I don&apos;t think we want to add a comment like this at every
&gt; one.

Removed the comment.

&gt; &gt; +    types-&gt;add(HTMLInputElement::URL, &quot;url&quot;);
&gt; &gt; +    types-&gt;add(HTMLInputElement::WEEK, &quot;week&quot;);
&gt; 
&gt; These values are enum values, consecutive integers. This should be done with an
&gt; array, not a HashMap.

Changed it to AtomicString[].</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>163624</commentid>
    <comment_count>40</comment_count>
      <attachid>43216</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-11-13 18:13:47 -0800</bug_when>
    <thetext>Comment on attachment 43216
Recognize date&amp;time types as text fields (rev.8)

Rejecting patch 43216 from commit-queue.

Failed to run &quot;[&apos;WebKitTools/Scripts/run-webkit-tests&apos;, &apos;--no-launch-safari&apos;, &apos;--quiet&apos;, &apos;--exit-after-n-failures=1&apos;]&quot; exit_code: 1
Running build-dumprendertree
Running tests from /Users/eseidel/Projects/CommitQueue/LayoutTests
Testing 11624 test cases.
http/tests/xmlhttprequest/abort-crash.html -&gt; crashed

Exiting early after 1 failures. 9148 tests run.
346.71s total testing time

9147 test cases (99%) succeeded
1 test case (&lt;1%) crashed
5 test cases (&lt;1%) had stderr output</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>163628</commentid>
    <comment_count>41</comment_count>
      <attachid>43216</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-11-13 18:20:31 -0800</bug_when>
    <thetext>Comment on attachment 43216
Recognize date&amp;time types as text fields (rev.8)

I may just need to turn off the commit-queue until bug 31461 is solved. :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>163638</commentid>
    <comment_count>42</comment_count>
      <attachid>43216</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2009-11-13 20:16:17 -0800</bug_when>
    <thetext>Comment on attachment 43216
Recognize date&amp;time types as text fields (rev.8)

Rejecting patch 43216 from commit-queue.

Failed to run &quot;[&apos;/Users/tkent/WebKit/WebKitTools/Scripts/svn-apply&apos;, &apos;--reviewer&apos;, &apos;Darin Adler&apos;]&quot; exit_code: 255
Last 500 characters of output:
++++---------
 WebCore/html/HTMLInputElement.h                    |   16 +-
 7 files changed, 403 insertions(+), 184 deletions(-)
 create mode 100644 LayoutTests/fast/forms/input-type-change3-expected.txt
 create mode 100644 LayoutTests/fast/forms/input-type-change3.html
 create mode 100644 LayoutTests/fast/forms/script-tests/input-type-change3.js


-------------------------------------------------------------------
Died at /Users/tkent/WebKit/WebKitTools/Scripts/svn-apply line 339, &lt;&gt; line 953.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>163643</commentid>
    <comment_count>43</comment_count>
      <attachid>43216</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2009-11-13 21:13:25 -0800</bug_when>
    <thetext>Comment on attachment 43216
Recognize date&amp;time types as text fields (rev.8)

Rejecting patch 43216 from commit-queue.

Failed to run &quot;[&apos;/Users/tkent/WebKit/WebKitTools/Scripts/svn-apply&apos;, &apos;--reviewer&apos;, &apos;Darin Adler&apos;]&quot; exit_code: 255
Last 500 characters of output:
++++---------
 WebCore/html/HTMLInputElement.h                    |   16 +-
 7 files changed, 403 insertions(+), 184 deletions(-)
 create mode 100644 LayoutTests/fast/forms/input-type-change3-expected.txt
 create mode 100644 LayoutTests/fast/forms/input-type-change3.html
 create mode 100644 LayoutTests/fast/forms/script-tests/input-type-change3.js


-------------------------------------------------------------------
Died at /Users/tkent/WebKit/WebKitTools/Scripts/svn-apply line 339, &lt;&gt; line 953.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>163665</commentid>
    <comment_count>44</comment_count>
      <attachid>43216</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2009-11-14 07:22:57 -0800</bug_when>
    <thetext>Comment on attachment 43216
Recognize date&amp;time types as text fields (rev.8)

Manually committed as r50996.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>39136</attachid>
            <date>2009-09-07 02:06:24 -0700</date>
            <delta_ts>2009-09-10 05:14:58 -0700</delta_ts>
            <desc>Proposed patch</desc>
            <filename>typemismatch-datetime-1.diff</filename>
            <type>text/plain</type>
            <size>61437</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA2MDlhYzVmLi5jMWM5YWViIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzAgQEAKKzIwMDktMDkt
MDcgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3RzIGZvciB0aGUgZm9sbG93aW5nIHR5
cGVzIG9mIElOUFVUIGVsZW1lbnQ6CisgICAgICAgICAgICBkYXRlLCBkYXRldGltZSwgZGF0ZXRp
bWUtbG9jYWwsIG1vbnRoLCB0aW1lIGFuZCB3ZWVrCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yOTAwNAorCisgICAgICAgICogZmFzdC9mb3Jtcy9WYWxp
ZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1kYXRlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1kYXRlLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGZhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtZGF0ZXRp
bWUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL1ZhbGlkaXR5U3Rh
dGUtdHlwZU1pc21hdGNoLWRhdGV0aW1lLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9y
bXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtZGF0ZXRpbWVsb2NhbC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gt
ZGF0ZXRpbWVsb2NhbC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL1ZhbGlkaXR5
U3RhdGUtdHlwZU1pc21hdGNoLW1vbnRoLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1tb250aC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBmYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLXRpbWUtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlw
ZU1pc21hdGNoLXRpbWUuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9WYWxpZGl0
eVN0YXRlLXR5cGVNaXNtYXRjaC13ZWVrLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC13ZWVrLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGZhc3QvZm9ybXMvcmVzb3VyY2VzL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNo
LWRhdGUuanM6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvcmVzb3VyY2VzL1ZhbGlkaXR5
U3RhdGUtdHlwZU1pc21hdGNoLWRhdGV0aW1lLmpzOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zv
cm1zL3Jlc291cmNlcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1kYXRldGltZWxvY2FsLmpz
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3Jlc291cmNlcy9WYWxpZGl0eVN0YXRlLXR5
cGVNaXNtYXRjaC1tb250aC5qczogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9yZXNvdXJj
ZXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtdGltZS5qczogQWRkZWQuCisgICAgICAgICog
ZmFzdC9mb3Jtcy9yZXNvdXJjZXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtd2Vlay5qczog
QWRkZWQuCisKIDIwMDktMDktMDQgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1kYXRlLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtZGF0
ZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGFhMmMx
ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0
ZS10eXBlTWlzbWF0Y2gtZGF0ZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw2MSBAQAorVGhpcyB0
ZXN0IGFpbXMgdG8gY2hlY2sgZm9yIHR5cGVNaXNtYXRjaCBmbGFnIHdpdGggdHlwZT1kYXRlIGlu
cHV0IGZpZWxkcworCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyAiIiBpcyBh
IGNvcnJlY3QgdmFsaWQgZGF0ZSBzdHJpbmcuCitQQVNTICIyMDA5LTA5LTA3IiBpcyBhIGNvcnJl
Y3QgdmFsaWQgZGF0ZSBzdHJpbmcuCitQQVNTICI5OTk5LTEyLTMxIiBpcyBhIGNvcnJlY3QgdmFs
aWQgZGF0ZSBzdHJpbmcuCitQQVNTICIyMTQ3NDgzNjQ3LTEyLTMxIiBpcyBhIGNvcnJlY3QgdmFs
aWQgZGF0ZSBzdHJpbmcuCitQQVNTICIxNTgyLTEwLTE1IiBpcyBhIGNvcnJlY3QgdmFsaWQgZGF0
ZSBzdHJpbmcuCitQQVNTICIyMDA5LTAxLTMxIiBpcyBhIGNvcnJlY3QgdmFsaWQgZGF0ZSBzdHJp
bmcuCitQQVNTICIyMDA5LTAyLTI4IiBpcyBhIGNvcnJlY3QgdmFsaWQgZGF0ZSBzdHJpbmcuCitQ
QVNTICIyMDA5LTAzLTMxIiBpcyBhIGNvcnJlY3QgdmFsaWQgZGF0ZSBzdHJpbmcuCitQQVNTICIy
MDA5LTA0LTMwIiBpcyBhIGNvcnJlY3QgdmFsaWQgZGF0ZSBzdHJpbmcuCitQQVNTICIyMDA5LTA1
LTMxIiBpcyBhIGNvcnJlY3QgdmFsaWQgZGF0ZSBzdHJpbmcuCitQQVNTICIyMDA5LTA2LTMwIiBp
cyBhIGNvcnJlY3QgdmFsaWQgZGF0ZSBzdHJpbmcuCitQQVNTICIyMDA5LTA3LTMxIiBpcyBhIGNv
cnJlY3QgdmFsaWQgZGF0ZSBzdHJpbmcuCitQQVNTICIyMDA5LTA4LTMxIiBpcyBhIGNvcnJlY3Qg
dmFsaWQgZGF0ZSBzdHJpbmcuCitQQVNTICIyMDA5LTA5LTMwIiBpcyBhIGNvcnJlY3QgdmFsaWQg
ZGF0ZSBzdHJpbmcuCitQQVNTICIyMDA5LTEwLTMxIiBpcyBhIGNvcnJlY3QgdmFsaWQgZGF0ZSBz
dHJpbmcuCitQQVNTICIyMDA5LTExLTMwIiBpcyBhIGNvcnJlY3QgdmFsaWQgZGF0ZSBzdHJpbmcu
CitQQVNTICIyMDA5LTEyLTMxIiBpcyBhIGNvcnJlY3QgdmFsaWQgZGF0ZSBzdHJpbmcuCitQQVNT
ICIyMDA4LTAyLTI5IiBpcyBhIGNvcnJlY3QgdmFsaWQgZGF0ZSBzdHJpbmcuCitQQVNTICIyMDAw
LTAyLTI5IiBpcyBhIGNvcnJlY3QgdmFsaWQgZGF0ZSBzdHJpbmcuCitQQVNTICIgMjAwOS0wOS0w
NyAiIGlzIGEgY29ycmVjdCBpbnZhbGlkIGRhdGUgc3RyaW5nLgorUEFTUyAiYSIgaXMgYSBjb3Jy
ZWN0IGludmFsaWQgZGF0ZSBzdHJpbmcuCitQQVNTICItMS0wOS0wNyIgaXMgYSBjb3JyZWN0IGlu
dmFsaWQgZGF0ZSBzdHJpbmcuCitQQVNTICIxNTgxLTA5LTA3IiBpcyBhIGNvcnJlY3QgaW52YWxp
ZCBkYXRlIHN0cmluZy4KK1BBU1MgIjE1ODItMTAtMTQiIGlzIGEgY29ycmVjdCBpbnZhbGlkIGRh
dGUgc3RyaW5nLgorUEFTUyAiMjE0NzQ4MzY0OC0xMi0zMSIgaXMgYSBjb3JyZWN0IGludmFsaWQg
ZGF0ZSBzdHJpbmcuCitQQVNTICIyMDA5LzA5LzA3IiBpcyBhIGNvcnJlY3QgaW52YWxpZCBkYXRl
IHN0cmluZy4KK1BBU1MgIjIwMDkwOTA3IiBpcyBhIGNvcnJlY3QgaW52YWxpZCBkYXRlIHN0cmlu
Zy4KK1BBU1MgIjIwMDktLTItMDciIGlzIGEgY29ycmVjdCBpbnZhbGlkIGRhdGUgc3RyaW5nLgor
UEFTUyAiMjAwOS0wMC0wNyIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZSBzdHJpbmcuCitQQVNT
ICIyMDA5LTEzLTA3IiBpcyBhIGNvcnJlY3QgaW52YWxpZCBkYXRlIHN0cmluZy4KK1BBU1MgIjE1
ODItMDktMzAiIGlzIGEgY29ycmVjdCBpbnZhbGlkIGRhdGUgc3RyaW5nLgorUEFTUyAiMjAwOS14
eC0zMCIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZSBzdHJpbmcuCitQQVNTICIyMDA5LTAxLTMy
IiBpcyBhIGNvcnJlY3QgaW52YWxpZCBkYXRlIHN0cmluZy4KK1BBU1MgIjIwMDktMDItMjkiIGlz
IGEgY29ycmVjdCBpbnZhbGlkIGRhdGUgc3RyaW5nLgorUEFTUyAiMjAwOS0wMy0zMiIgaXMgYSBj
b3JyZWN0IGludmFsaWQgZGF0ZSBzdHJpbmcuCitQQVNTICIyMDA5LTA0LTMxIiBpcyBhIGNvcnJl
Y3QgaW52YWxpZCBkYXRlIHN0cmluZy4KK1BBU1MgIjIwMDktMDUtMzIiIGlzIGEgY29ycmVjdCBp
bnZhbGlkIGRhdGUgc3RyaW5nLgorUEFTUyAiMjAwOS0wNi0zMSIgaXMgYSBjb3JyZWN0IGludmFs
aWQgZGF0ZSBzdHJpbmcuCitQQVNTICIyMDA5LTA3LTMyIiBpcyBhIGNvcnJlY3QgaW52YWxpZCBk
YXRlIHN0cmluZy4KK1BBU1MgIjIwMDktMDgtMzIiIGlzIGEgY29ycmVjdCBpbnZhbGlkIGRhdGUg
c3RyaW5nLgorUEFTUyAiMjAwOS0wOS0zMSIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZSBzdHJp
bmcuCitQQVNTICIyMDA5LTEwLTMyIiBpcyBhIGNvcnJlY3QgaW52YWxpZCBkYXRlIHN0cmluZy4K
K1BBU1MgIjIwMDktMTEtMzEiIGlzIGEgY29ycmVjdCBpbnZhbGlkIGRhdGUgc3RyaW5nLgorUEFT
UyAiMjAwOS0xMi0zMiIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZSBzdHJpbmcuCitQQVNTICIy
MTAwLTAyLTI5IiBpcyBhIGNvcnJlY3QgaW52YWxpZCBkYXRlIHN0cmluZy4KK1BBU1MgIjIwMDkt
MDktMDAiIGlzIGEgY29ycmVjdCBpbnZhbGlkIGRhdGUgc3RyaW5nLgorUEFTUyAiMjAwOS0wOS0i
IGlzIGEgY29ycmVjdCBpbnZhbGlkIGRhdGUgc3RyaW5nLgorUEFTUyAiMjAwOS0wOS03IiBpcyBh
IGNvcnJlY3QgaW52YWxpZCBkYXRlIHN0cmluZy4KK1BBU1MgIjIwMDktMDktMDAxIiBpcyBhIGNv
cnJlY3QgaW52YWxpZCBkYXRlIHN0cmluZy4KK1BBU1MgIjIwMDktMDkteHgiIGlzIGEgY29ycmVj
dCBpbnZhbGlkIGRhdGUgc3RyaW5nLgorUEFTUyAiMjAwOS0wOSIgaXMgYSBjb3JyZWN0IGludmFs
aWQgZGF0ZSBzdHJpbmcuCitQQVNTICIyMDA5IiBpcyBhIGNvcnJlY3QgaW52YWxpZCBkYXRlIHN0
cmluZy4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1p
c21hdGNoLWRhdGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10
eXBlTWlzbWF0Y2gtZGF0ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu
LmFkOGUyNzAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlk
aXR5U3RhdGUtdHlwZU1pc21hdGNoLWRhdGUuaHRtbApAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZ
UEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgor
PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10
ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InJlc291cmNl
cy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1kYXRlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxp
ZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1kYXRldGltZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLWRhdGV0aW1lLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YzU3Y2UxCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNt
YXRjaC1kYXRldGltZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzOSBAQAorVGhpcyB0ZXN0IGFp
bXMgdG8gY2hlY2sgZm9yIHR5cGVNaXNtYXRjaCBmbGFnIHdpdGggdHlwZT1kYXRldGltZSBpbnB1
dCBmaWVsZHMKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgIiIgaXMgYSBj
b3JyZWN0IHZhbGlkIGRhdGV0aW1lIHN0cmluZy4KK1BBU1MgIjIwMDktMDktMDdUMTY6NDlaIiBp
cyBhIGNvcnJlY3QgdmFsaWQgZGF0ZXRpbWUgc3RyaW5nLgorUEFTUyAiMjAwOS0wOS0wN1QxNjo0
OTozMVoiIGlzIGEgY29ycmVjdCB2YWxpZCBkYXRldGltZSBzdHJpbmcuCitQQVNTICIyMDA5LTA5
LTA3VDE2OjQ5OjMxLjFaIiBpcyBhIGNvcnJlY3QgdmFsaWQgZGF0ZXRpbWUgc3RyaW5nLgorUEFT
UyAiMjAwOS0wOS0wN1QxNjo0OTozMS4xMloiIGlzIGEgY29ycmVjdCB2YWxpZCBkYXRldGltZSBz
dHJpbmcuCitQQVNTICIyMDA5LTA5LTA3VDE2OjQ5OjMxLjEyM1oiIGlzIGEgY29ycmVjdCB2YWxp
ZCBkYXRldGltZSBzdHJpbmcuCitQQVNTICIyMDA5LTA5LTA3VDE2OjQ5OjMxLjEyMzQ1Njc4OTBa
IiBpcyBhIGNvcnJlY3QgdmFsaWQgZGF0ZXRpbWUgc3RyaW5nLgorUEFTUyAiMjE0NzQ4MzY0Ny0x
Mi0zMVQyMzo1OTo1OS45OTlaIiBpcyBhIGNvcnJlY3QgdmFsaWQgZGF0ZXRpbWUgc3RyaW5nLgor
UEFTUyAiMTU4Mi0xMC0xNVQwMDowMDowMC4wMDBaIiBpcyBhIGNvcnJlY3QgdmFsaWQgZGF0ZXRp
bWUgc3RyaW5nLgorUEFTUyAiMTU4Mi0xMC0xNVQwMDowMDowMC4wMDArMDA6MDAiIGlzIGEgY29y
cmVjdCB2YWxpZCBkYXRldGltZSBzdHJpbmcuCitQQVNTICIxNTgyLTEwLTE1VDAxOjMwKzAxOjMw
IiBpcyBhIGNvcnJlY3QgdmFsaWQgZGF0ZXRpbWUgc3RyaW5nLgorUEFTUyAiMTU4Mi0xMC0xNVQw
MDowMCswMTowMCIgaXMgYSBjb3JyZWN0IHZhbGlkIGRhdGV0aW1lIHN0cmluZy4KK1BBU1MgIiAy
MDA5LTA5LTA3VDE2OjQ5WiAiIGlzIGEgY29ycmVjdCBpbnZhbGlkIGRhdGV0aW1lIHN0cmluZy4K
K1BBU1MgIjIwMDktMDktMDdUMTY6NDl6IiBpcyBhIGNvcnJlY3QgaW52YWxpZCBkYXRldGltZSBz
dHJpbmcuCitQQVNTICIyMDA5LTA5LTA3dDE2OjQ5WiIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0
ZXRpbWUgc3RyaW5nLgorUEFTUyAiMjAwOS0wOS0wN1QxNjo0OSIgaXMgYSBjb3JyZWN0IGludmFs
aWQgZGF0ZXRpbWUgc3RyaW5nLgorUEFTUyAiMjAwOS8wOS8wN1QxNjo0OVoiIGlzIGEgY29ycmVj
dCBpbnZhbGlkIGRhdGV0aW1lIHN0cmluZy4KK1BBU1MgImEiIGlzIGEgY29ycmVjdCBpbnZhbGlk
IGRhdGV0aW1lIHN0cmluZy4KK1BBU1MgIi0xLTA5LTA3VDE2OjQ5WiIgaXMgYSBjb3JyZWN0IGlu
dmFsaWQgZGF0ZXRpbWUgc3RyaW5nLgorUEFTUyAiMjAwOS0wOS0wN1QxNjo0OSsyMyIgaXMgYSBj
b3JyZWN0IGludmFsaWQgZGF0ZXRpbWUgc3RyaW5nLgorUEFTUyAiMjAwOS0wOS0wN1QxNjo0OSsy
MzoiIGlzIGEgY29ycmVjdCBpbnZhbGlkIGRhdGV0aW1lIHN0cmluZy4KK1BBU1MgIjIwMDktMDkt
MDdUMTY6NDkrMjQ6MDAiIGlzIGEgY29ycmVjdCBpbnZhbGlkIGRhdGV0aW1lIHN0cmluZy4KK1BB
U1MgIjIwMDktMDktMDdUMTY6NDkrMjM6NjAiIGlzIGEgY29ycmVjdCBpbnZhbGlkIGRhdGV0aW1l
IHN0cmluZy4KK1BBU1MgIjIwMDktMDktMDdUMTY6NDktMjMiIGlzIGEgY29ycmVjdCBpbnZhbGlk
IGRhdGV0aW1lIHN0cmluZy4KK1BBU1MgIjIwMDktMDktMDdUMTY6NDktMjM6IiBpcyBhIGNvcnJl
Y3QgaW52YWxpZCBkYXRldGltZSBzdHJpbmcuCitQQVNTICIyMDA5LTA5LTA3VDE2OjQ5LTI0OjAw
IiBpcyBhIGNvcnJlY3QgaW52YWxpZCBkYXRldGltZSBzdHJpbmcuCitQQVNTICIyMDA5LTA5LTA3
VDE2OjQ5LTIzOjYwIiBpcyBhIGNvcnJlY3QgaW52YWxpZCBkYXRldGltZSBzdHJpbmcuCitQQVNT
ICIxNTgyLTEwLTE0VDIzOjU5OjU5WiIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZXRpbWUgc3Ry
aW5nLgorUEFTUyAiMjE0NzQ4MzY0Ny0xMi0zMVQyMzo1OS0wMDowMSIgaXMgYSBjb3JyZWN0IGlu
dmFsaWQgZGF0ZXRpbWUgc3RyaW5nLgorUEFTUyAiMjE0NzQ4MzY0OC0wMS0wMVQwMDowMDowMFoi
IGlzIGEgY29ycmVjdCBpbnZhbGlkIGRhdGV0aW1lIHN0cmluZy4KK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLWRhdGV0aW1lLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLWRhdGV0aW1l
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjY2MjM4ZQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlz
bWF0Y2gtZGF0ZXRpbWUuaHRtbApAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJM
SUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJz
dHlsZXNoZWV0IiBocmVmPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNz
cyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9WYWxpZGl0eVN0
YXRlLXR5cGVNaXNtYXRjaC1kYXRldGltZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0
ZS10eXBlTWlzbWF0Y2gtZGF0ZXRpbWVsb2NhbC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLWRhdGV0aW1lbG9jYWwtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk4OTdkMDYKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1p
c21hdGNoLWRhdGV0aW1lbG9jYWwtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjYgQEAKK1RoaXMg
dGVzdCBhaW1zIHRvIGNoZWNrIGZvciB0eXBlTWlzbWF0Y2ggZmxhZyB3aXRoIHR5cGU9ZGF0ZXRp
bWUtbG9jYWwgaW5wdXQgZmllbGRzCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQ
QVNTICIiIGlzIGEgY29ycmVjdCB2YWxpZCBkYXRldGltZS1sb2NhbCBzdHJpbmcuCitQQVNTICIy
MDA5LTA5LTA3VDE2OjQ5IiBpcyBhIGNvcnJlY3QgdmFsaWQgZGF0ZXRpbWUtbG9jYWwgc3RyaW5n
LgorUEFTUyAiMjAwOS0wOS0wN1QxNjo0OTozMSIgaXMgYSBjb3JyZWN0IHZhbGlkIGRhdGV0aW1l
LWxvY2FsIHN0cmluZy4KK1BBU1MgIjIwMDktMDktMDdUMTY6NDk6MzEuMSIgaXMgYSBjb3JyZWN0
IHZhbGlkIGRhdGV0aW1lLWxvY2FsIHN0cmluZy4KK1BBU1MgIjIwMDktMDktMDdUMTY6NDk6MzEu
MTIiIGlzIGEgY29ycmVjdCB2YWxpZCBkYXRldGltZS1sb2NhbCBzdHJpbmcuCitQQVNTICIyMDA5
LTA5LTA3VDE2OjQ5OjMxLjEyMyIgaXMgYSBjb3JyZWN0IHZhbGlkIGRhdGV0aW1lLWxvY2FsIHN0
cmluZy4KK1BBU1MgIjIwMDktMDktMDdUMTY6NDk6MzEuMTIzNDU2Nzg5MCIgaXMgYSBjb3JyZWN0
IHZhbGlkIGRhdGV0aW1lLWxvY2FsIHN0cmluZy4KK1BBU1MgIjIxNDc0ODM2NDctMTItMzFUMjM6
NTk6NTkuOTk5IiBpcyBhIGNvcnJlY3QgdmFsaWQgZGF0ZXRpbWUtbG9jYWwgc3RyaW5nLgorUEFT
UyAiMTU4Mi0xMC0xNVQwMDowMDowMC4wMDAiIGlzIGEgY29ycmVjdCB2YWxpZCBkYXRldGltZS1s
b2NhbCBzdHJpbmcuCitQQVNTICIgMjAwOS0wOS0wN1QxNjo0OSAiIGlzIGEgY29ycmVjdCBpbnZh
bGlkIGRhdGV0aW1lLWxvY2FsIHN0cmluZy4KK1BBU1MgIjIwMDktMDktMDd0MTY6NDkiIGlzIGEg
Y29ycmVjdCBpbnZhbGlkIGRhdGV0aW1lLWxvY2FsIHN0cmluZy4KK1BBU1MgIjIwMDktMDktMDcg
MTY6NDkiIGlzIGEgY29ycmVjdCBpbnZhbGlkIGRhdGV0aW1lLWxvY2FsIHN0cmluZy4KK1BBU1Mg
IjIwMDkvMDkvMDdUMTY6NDkiIGlzIGEgY29ycmVjdCBpbnZhbGlkIGRhdGV0aW1lLWxvY2FsIHN0
cmluZy4KK1BBU1MgImEiIGlzIGEgY29ycmVjdCBpbnZhbGlkIGRhdGV0aW1lLWxvY2FsIHN0cmlu
Zy4KK1BBU1MgIi0xLTA5LTA3VDE2OjQ5IiBpcyBhIGNvcnJlY3QgaW52YWxpZCBkYXRldGltZS1s
b2NhbCBzdHJpbmcuCitQQVNTICIxNTgyLTEwLTE0VDIzOjU5OjU5IiBpcyBhIGNvcnJlY3QgaW52
YWxpZCBkYXRldGltZS1sb2NhbCBzdHJpbmcuCitQQVNTICIyMTQ3NDgzNjQ4LTAxLTAxVDAwOjAw
OjAwIiBpcyBhIGNvcnJlY3QgaW52YWxpZCBkYXRldGltZS1sb2NhbCBzdHJpbmcuCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1kYXRldGlt
ZWxvY2FsLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1p
c21hdGNoLWRhdGV0aW1lbG9jYWwuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwLi5mNWRjMDFjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9W
YWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1kYXRldGltZWxvY2FsLmh0bWwKQEAgLTAsMCArMSwx
MyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vZmFzdC9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMv
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQg
c3JjPSJyZXNvdXJjZXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtZGF0ZXRpbWVsb2NhbC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtbW9udGgtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRj
aC1tb250aC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u
NGFiOGU0ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRp
dHlTdGF0ZS10eXBlTWlzbWF0Y2gtbW9udGgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNDEgQEAK
K1RoaXMgdGVzdCBhaW1zIHRvIGNoZWNrIGZvciB0eXBlTWlzbWF0Y2ggZmxhZyB3aXRoIHR5cGU9
bW9udGggaW5wdXQgZmllbGRzCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNT
ICIiIGlzIGEgY29ycmVjdCB2YWxpZCBtb250aCBzdHJpbmcuCitQQVNTICIxNTgyLTEwIiBpcyBh
IGNvcnJlY3QgdmFsaWQgbW9udGggc3RyaW5nLgorUEFTUyAiOTk5OS0xMiIgaXMgYSBjb3JyZWN0
IHZhbGlkIG1vbnRoIHN0cmluZy4KK1BBU1MgIjIxNDc0ODM2NDctMTIiIGlzIGEgY29ycmVjdCB2
YWxpZCBtb250aCBzdHJpbmcuCitQQVNTICIyMDA5LTAxIiBpcyBhIGNvcnJlY3QgdmFsaWQgbW9u
dGggc3RyaW5nLgorUEFTUyAiMjAwOS0wMiIgaXMgYSBjb3JyZWN0IHZhbGlkIG1vbnRoIHN0cmlu
Zy4KK1BBU1MgIjIwMDktMDMiIGlzIGEgY29ycmVjdCB2YWxpZCBtb250aCBzdHJpbmcuCitQQVNT
ICIyMDA5LTA0IiBpcyBhIGNvcnJlY3QgdmFsaWQgbW9udGggc3RyaW5nLgorUEFTUyAiMjAwOS0w
NSIgaXMgYSBjb3JyZWN0IHZhbGlkIG1vbnRoIHN0cmluZy4KK1BBU1MgIjIwMDktMDYiIGlzIGEg
Y29ycmVjdCB2YWxpZCBtb250aCBzdHJpbmcuCitQQVNTICIyMDA5LTA3IiBpcyBhIGNvcnJlY3Qg
dmFsaWQgbW9udGggc3RyaW5nLgorUEFTUyAiMjAwOS0wOCIgaXMgYSBjb3JyZWN0IHZhbGlkIG1v
bnRoIHN0cmluZy4KK1BBU1MgIjIwMDktMDkiIGlzIGEgY29ycmVjdCB2YWxpZCBtb250aCBzdHJp
bmcuCitQQVNTICIyMDA5LTEwIiBpcyBhIGNvcnJlY3QgdmFsaWQgbW9udGggc3RyaW5nLgorUEFT
UyAiMjAwOS0xMSIgaXMgYSBjb3JyZWN0IHZhbGlkIG1vbnRoIHN0cmluZy4KK1BBU1MgIjIwMDkt
MTIiIGlzIGEgY29ycmVjdCB2YWxpZCBtb250aCBzdHJpbmcuCitQQVNTICIgMjAwOS0wOSAiIGlz
IGEgY29ycmVjdCBpbnZhbGlkIG1vbnRoIHN0cmluZy4KK1BBU1MgImEiIGlzIGEgY29ycmVjdCBp
bnZhbGlkIG1vbnRoIHN0cmluZy4KK1BBU1MgIi0xLTA5IiBpcyBhIGNvcnJlY3QgaW52YWxpZCBt
b250aCBzdHJpbmcuCitQQVNTICIxNTgxLTEwIiBpcyBhIGNvcnJlY3QgaW52YWxpZCBtb250aCBz
dHJpbmcuCitQQVNTICIxNTgyLTA5IiBpcyBhIGNvcnJlY3QgaW52YWxpZCBtb250aCBzdHJpbmcu
CitQQVNTICIyMTQ3NDgzNjQ4LTEyIiBpcyBhIGNvcnJlY3QgaW52YWxpZCBtb250aCBzdHJpbmcu
CitQQVNTICIyMDA5LzA5IiBpcyBhIGNvcnJlY3QgaW52YWxpZCBtb250aCBzdHJpbmcuCitQQVNT
ICIyMDA5MDkiIGlzIGEgY29ycmVjdCBpbnZhbGlkIG1vbnRoIHN0cmluZy4KK1BBU1MgIjIwMDkt
LTIiIGlzIGEgY29ycmVjdCBpbnZhbGlkIG1vbnRoIHN0cmluZy4KK1BBU1MgIjIwMDktMDAiIGlz
IGEgY29ycmVjdCBpbnZhbGlkIG1vbnRoIHN0cmluZy4KK1BBU1MgIjIwMDktMTMiIGlzIGEgY29y
cmVjdCBpbnZhbGlkIG1vbnRoIHN0cmluZy4KK1BBU1MgIjIwMDktIiBpcyBhIGNvcnJlY3QgaW52
YWxpZCBtb250aCBzdHJpbmcuCitQQVNTICIyMDA5LTkiIGlzIGEgY29ycmVjdCBpbnZhbGlkIG1v
bnRoIHN0cmluZy4KK1BBU1MgIjIwMDktMDA5IiBpcyBhIGNvcnJlY3QgaW52YWxpZCBtb250aCBz
dHJpbmcuCitQQVNTICIyMDA5LXh4IiBpcyBhIGNvcnJlY3QgaW52YWxpZCBtb250aCBzdHJpbmcu
CitQQVNTICIyMDA5IiBpcyBhIGNvcnJlY3QgaW52YWxpZCBtb250aCBzdHJpbmcuCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1tb250aC5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1t
b250aC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjljMWVkOWMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlw
ZU1pc21hdGNoLW1vbnRoLmh0bWwKQEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0i
c3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5j
c3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvVmFsaWRpdHlT
dGF0ZS10eXBlTWlzbWF0Y2gtbW9udGguanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUt
dHlwZU1pc21hdGNoLXRpbWUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9W
YWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC10aW1lLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZjBhMDY5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC10aW1lLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM5IEBACitUaGlzIHRlc3QgYWltcyB0byBjaGVjayBmb3IgdHlwZU1p
c21hdGNoIGZsYWcgd2l0aCB0eXBlPXRpbWUgaW5wdXQgZmllbGRzCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworCitQQVNTICIiIGlzIGEgY29ycmVjdCB2YWxpZCB0aW1lIHN0cmluZy4K
K1BBU1MgIjAwOjAwIiBpcyBhIGNvcnJlY3QgdmFsaWQgdGltZSBzdHJpbmcuCitQQVNTICIyMzo1
OSIgaXMgYSBjb3JyZWN0IHZhbGlkIHRpbWUgc3RyaW5nLgorUEFTUyAiMjM6NTk6NTkiIGlzIGEg
Y29ycmVjdCB2YWxpZCB0aW1lIHN0cmluZy4KK1BBU1MgIjIzOjU5OjU5LjEiIGlzIGEgY29ycmVj
dCB2YWxpZCB0aW1lIHN0cmluZy4KK1BBU1MgIjIzOjU5OjU5LjEyIiBpcyBhIGNvcnJlY3QgdmFs
aWQgdGltZSBzdHJpbmcuCitQQVNTICIyMzo1OTo1OS4xMjMiIGlzIGEgY29ycmVjdCB2YWxpZCB0
aW1lIHN0cmluZy4KK1BBU1MgIjIzOjU5OjU5LjEyMzQ1Njc4OTAiIGlzIGEgY29ycmVjdCB2YWxp
ZCB0aW1lIHN0cmluZy4KK1BBU1MgIjAwOjAwOjAwLjAwMDAwMDAwMDAiIGlzIGEgY29ycmVjdCB2
YWxpZCB0aW1lIHN0cmluZy4KK1BBU1MgIiAwMDowMCAiIGlzIGEgY29ycmVjdCBpbnZhbGlkIHRp
bWUgc3RyaW5nLgorUEFTUyAiMToyMyIgaXMgYSBjb3JyZWN0IGludmFsaWQgdGltZSBzdHJpbmcu
CitQQVNTICIwMTE6MTEiIGlzIGEgY29ycmVjdCBpbnZhbGlkIHRpbWUgc3RyaW5nLgorUEFTUyAi
YWI6MTEiIGlzIGEgY29ycmVjdCBpbnZhbGlkIHRpbWUgc3RyaW5nLgorUEFTUyAiLTE6MTEiIGlz
IGEgY29ycmVjdCBpbnZhbGlkIHRpbWUgc3RyaW5nLgorUEFTUyAiMjQ6MTEiIGlzIGEgY29ycmVj
dCBpbnZhbGlkIHRpbWUgc3RyaW5nLgorUEFTUyAiMTEiIGlzIGEgY29ycmVjdCBpbnZhbGlkIHRp
bWUgc3RyaW5nLgorUEFTUyAiMTEtIiBpcyBhIGNvcnJlY3QgaW52YWxpZCB0aW1lIHN0cmluZy4K
K1BBU1MgIjExOi0yIiBpcyBhIGNvcnJlY3QgaW52YWxpZCB0aW1lIHN0cmluZy4KK1BBU1MgIjEx
OjYwIiBpcyBhIGNvcnJlY3QgaW52YWxpZCB0aW1lIHN0cmluZy4KK1BBU1MgIjExOjJiIiBpcyBh
IGNvcnJlY3QgaW52YWxpZCB0aW1lIHN0cmluZy4KK1BBU1MgIjExOmFiIiBpcyBhIGNvcnJlY3Qg
aW52YWxpZCB0aW1lIHN0cmluZy4KK1BBU1MgIjExOjAzNCIgaXMgYSBjb3JyZWN0IGludmFsaWQg
dGltZSBzdHJpbmcuCitQQVNTICIyMzo0NToiIGlzIGEgY29ycmVjdCBpbnZhbGlkIHRpbWUgc3Ry
aW5nLgorUEFTUyAiMjM6NDU6NiIgaXMgYSBjb3JyZWN0IGludmFsaWQgdGltZSBzdHJpbmcuCitQ
QVNTICIyMzo0NTotMSIgaXMgYSBjb3JyZWN0IGludmFsaWQgdGltZSBzdHJpbmcuCitQQVNTICIy
Mzo0NTo3MCIgaXMgYSBjb3JyZWN0IGludmFsaWQgdGltZSBzdHJpbmcuCitQQVNTICIyMzo0NTp6
eiIgaXMgYSBjb3JyZWN0IGludmFsaWQgdGltZSBzdHJpbmcuCitGQUlMICIyMzo0NTowNi4iIGlz
IGFuIGluY29ycmVjdCB2YWxpZCB0aW1lIHN0cmluZy4KK1BBU1MgIjIzOjQ1OjA2LmFiYyIgaXMg
YSBjb3JyZWN0IGludmFsaWQgdGltZSBzdHJpbmcuCitQQVNTICIyMzo0NTowNi43ODlhYmMiIGlz
IGEgY29ycmVjdCBpbnZhbGlkIHRpbWUgc3RyaW5nLgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtdGltZS5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC10aW1lLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmU4YTZmMQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtdGltZS5odG1s
CkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4u
Ly4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLXRp
bWUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLXdlZWstZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNt
YXRjaC13ZWVrLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
Li5kZjlhMjZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxp
ZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC13ZWVrLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM1IEBA
CitUaGlzIHRlc3QgYWltcyB0byBjaGVjayBmb3IgdHlwZU1pc21hdGNoIGZsYWcgd2l0aCB0eXBl
PXdlZWsgaW5wdXQgZmllbGRzCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNT
ICIiIGlzIGEgY29ycmVjdCB2YWxpZCB3ZWVrIHN0cmluZy4KK1BBU1MgIjE1ODMtVzAxIiBpcyBh
IGNvcnJlY3QgdmFsaWQgd2VlayBzdHJpbmcuCitQQVNTICI5OTk5LVc1MiIgaXMgYSBjb3JyZWN0
IHZhbGlkIHdlZWsgc3RyaW5nLgorUEFTUyAiMjE0NzQ4MzY0Ny1XNTIiIGlzIGEgY29ycmVjdCB2
YWxpZCB3ZWVrIHN0cmluZy4KK1BBU1MgIjIwMDktVzAxIiBpcyBhIGNvcnJlY3QgdmFsaWQgd2Vl
ayBzdHJpbmcuCitQQVNTICIyMDA0LVc1MyIgaXMgYSBjb3JyZWN0IHZhbGlkIHdlZWsgc3RyaW5n
LgorUEFTUyAiMjAwMy1XNTIiIGlzIGEgY29ycmVjdCB2YWxpZCB3ZWVrIHN0cmluZy4KK1BBU1Mg
IjE5OTItVzUzIiBpcyBhIGNvcnJlY3QgdmFsaWQgd2VlayBzdHJpbmcuCitQQVNTICIgMjAwOS1X
MDEgIiBpcyBhIGNvcnJlY3QgaW52YWxpZCB3ZWVrIHN0cmluZy4KK1BBU1MgIjIwMDlXMDEiIGlz
IGEgY29ycmVjdCBpbnZhbGlkIHdlZWsgc3RyaW5nLgorUEFTUyAiMjAwOS13MDEiIGlzIGEgY29y
cmVjdCBpbnZhbGlkIHdlZWsgc3RyaW5nLgorUEFTUyAiMjAwOS1XMSIgaXMgYSBjb3JyZWN0IGlu
dmFsaWQgd2VlayBzdHJpbmcuCitQQVNTICIyMDA5LVcwMDEiIGlzIGEgY29ycmVjdCBpbnZhbGlk
IHdlZWsgc3RyaW5nLgorUEFTUyAiYSIgaXMgYSBjb3JyZWN0IGludmFsaWQgd2VlayBzdHJpbmcu
CitQQVNTICItMS1XMDkiIGlzIGEgY29ycmVjdCBpbnZhbGlkIHdlZWsgc3RyaW5nLgorUEFTUyAi
MTU4Mi1XNTIiIGlzIGEgY29ycmVjdCBpbnZhbGlkIHdlZWsgc3RyaW5nLgorUEFTUyAiMjE0NzQ4
MzY0OC1XMDEiIGlzIGEgY29ycmVjdCBpbnZhbGlkIHdlZWsgc3RyaW5nLgorUEFTUyAiMjAwOS1X
MDAiIGlzIGEgY29ycmVjdCBpbnZhbGlkIHdlZWsgc3RyaW5nLgorUEFTUyAiMjAwOS1XLTEiIGlz
IGEgY29ycmVjdCBpbnZhbGlkIHdlZWsgc3RyaW5nLgorUEFTUyAiMjAwNC1XNTQiIGlzIGEgY29y
cmVjdCBpbnZhbGlkIHdlZWsgc3RyaW5nLgorUEFTUyAiMjAwMy1XNTMiIGlzIGEgY29ycmVjdCBp
bnZhbGlkIHdlZWsgc3RyaW5nLgorUEFTUyAiMTk5Mi1XNTQiIGlzIGEgY29ycmVjdCBpbnZhbGlk
IHdlZWsgc3RyaW5nLgorUEFTUyAiMjAwOS8wOSIgaXMgYSBjb3JyZWN0IGludmFsaWQgd2VlayBz
dHJpbmcuCitQQVNTICIyMDA5MDkiIGlzIGEgY29ycmVjdCBpbnZhbGlkIHdlZWsgc3RyaW5nLgor
UEFTUyAiMjAwOS1XeHgiIGlzIGEgY29ycmVjdCBpbnZhbGlkIHdlZWsgc3RyaW5nLgorUEFTUyAi
MjAwOSIgaXMgYSBjb3JyZWN0IGludmFsaWQgd2VlayBzdHJpbmcuCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC13ZWVrLmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLXdlZWsuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNDBjNmY3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC13
ZWVrLmh0bWwKQEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIg
aHJlZj0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlz
bWF0Y2gtd2Vlay5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvcmVzb3VyY2VzL1ZhbGlkaXR5U3RhdGUtdHlw
ZU1pc21hdGNoLWRhdGUuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3Jlc291cmNlcy9WYWxp
ZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1kYXRlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAuLmZiN2FjZGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL3Jlc291cmNlcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1kYXRlLmpzCkBAIC0wLDAg
KzEsNzMgQEAKK2Rlc2NyaXB0aW9uKCdUaGlzIHRlc3QgYWltcyB0byBjaGVjayBmb3IgdHlwZU1p
c21hdGNoIGZsYWcgd2l0aCB0eXBlPWRhdGUgaW5wdXQgZmllbGRzJyk7Cit2YXIgaSA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7CitpLnR5cGUgPSAnZGF0ZSc7CisKK2Z1bmN0aW9u
IGNoZWNrKHZhbHVlLCBtaXNtYXRjaEV4cGVjdGVkKQoreworICAgIGkudmFsdWUgPSB2YWx1ZTsK
KyAgICB2YXIgYWN0dWFsID0gaS52YWxpZGl0eS50eXBlTWlzbWF0Y2g7CisgICAgdmFyIGRpZFBh
c3MgPSBhY3R1YWwgPT0gbWlzbWF0Y2hFeHBlY3RlZDsKKyAgICB2YXIgcmVzdWx0VGV4dCA9ICci
JyArIHZhbHVlICsgJyIgaXMgJyArIChkaWRQYXNzID8gJ2EgY29ycmVjdCAnIDogJ2FuIGluY29y
cmVjdCAnKSArIChhY3R1YWwgPyAnaW52YWxpZCcgOiAndmFsaWQnKSArICcgZGF0ZSBzdHJpbmcu
JzsKKyAgICBpZiAoZGlkUGFzcykKKyAgICAgICAgdGVzdFBhc3NlZChyZXN1bHRUZXh0KTsKKyAg
ICBlbHNlCisgICAgICAgIHRlc3RGYWlsZWQocmVzdWx0VGV4dCk7Cit9CisKKy8vIFZhbGlkIHZh
bHVlcworY2hlY2soJycsIGZhbHNlKTsKK2NoZWNrKCcyMDA5LTA5LTA3JywgZmFsc2UpOworY2hl
Y2soJzk5OTktMTItMzEnLCBmYWxzZSk7CitjaGVjaygnMjE0NzQ4MzY0Ny0xMi0zMScsIGZhbHNl
KTsKK2NoZWNrKCcxNTgyLTEwLTE1JywgZmFsc2UpOworY2hlY2soJzIwMDktMDEtMzEnLCBmYWxz
ZSk7CitjaGVjaygnMjAwOS0wMi0yOCcsIGZhbHNlKTsKK2NoZWNrKCcyMDA5LTAzLTMxJywgZmFs
c2UpOworY2hlY2soJzIwMDktMDQtMzAnLCBmYWxzZSk7CitjaGVjaygnMjAwOS0wNS0zMScsIGZh
bHNlKTsKK2NoZWNrKCcyMDA5LTA2LTMwJywgZmFsc2UpOworY2hlY2soJzIwMDktMDctMzEnLCBm
YWxzZSk7CitjaGVjaygnMjAwOS0wOC0zMScsIGZhbHNlKTsKK2NoZWNrKCcyMDA5LTA5LTMwJywg
ZmFsc2UpOworY2hlY2soJzIwMDktMTAtMzEnLCBmYWxzZSk7CitjaGVjaygnMjAwOS0xMS0zMCcs
IGZhbHNlKTsKK2NoZWNrKCcyMDA5LTEyLTMxJywgZmFsc2UpOworY2hlY2soJzIwMDgtMDItMjkn
LCBmYWxzZSk7CitjaGVjaygnMjAwMC0wMi0yOScsIGZhbHNlKTsKKworLy8gSW52YWxpZCB2YWx1
ZXMKK2NoZWNrKCcgMjAwOS0wOS0wNyAnLCB0cnVlKTsKK2NoZWNrKCdhJywgdHJ1ZSk7CitjaGVj
aygnLTEtMDktMDcnLCB0cnVlKTsKK2NoZWNrKCcxNTgxLTA5LTA3JywgdHJ1ZSk7CitjaGVjaygn
MTU4Mi0xMC0xNCcsIHRydWUpOworY2hlY2soJzIxNDc0ODM2NDgtMTItMzEnLCB0cnVlKTsKK2No
ZWNrKCcyMDA5LzA5LzA3JywgdHJ1ZSk7CitjaGVjaygnMjAwOTA5MDcnLCB0cnVlKTsKK2NoZWNr
KCcyMDA5LS0yLTA3JywgdHJ1ZSk7CitjaGVjaygnMjAwOS0wMC0wNycsIHRydWUpOworY2hlY2so
JzIwMDktMTMtMDcnLCB0cnVlKTsKK2NoZWNrKCcxNTgyLTA5LTMwJywgdHJ1ZSk7CitjaGVjaygn
MjAwOS14eC0zMCcsIHRydWUpOworY2hlY2soJzIwMDktMDEtMzInLCB0cnVlKTsKK2NoZWNrKCcy
MDA5LTAyLTI5JywgdHJ1ZSk7CitjaGVjaygnMjAwOS0wMy0zMicsIHRydWUpOworY2hlY2soJzIw
MDktMDQtMzEnLCB0cnVlKTsKK2NoZWNrKCcyMDA5LTA1LTMyJywgdHJ1ZSk7CitjaGVjaygnMjAw
OS0wNi0zMScsIHRydWUpOworY2hlY2soJzIwMDktMDctMzInLCB0cnVlKTsKK2NoZWNrKCcyMDA5
LTA4LTMyJywgdHJ1ZSk7CitjaGVjaygnMjAwOS0wOS0zMScsIHRydWUpOworY2hlY2soJzIwMDkt
MTAtMzInLCB0cnVlKTsKK2NoZWNrKCcyMDA5LTExLTMxJywgdHJ1ZSk7CitjaGVjaygnMjAwOS0x
Mi0zMicsIHRydWUpOworY2hlY2soJzIxMDAtMDItMjknLCB0cnVlKTsKK2NoZWNrKCcyMDA5LTA5
LTAwJywgdHJ1ZSk7CitjaGVjaygnMjAwOS0wOS0nLCB0cnVlKTsKK2NoZWNrKCcyMDA5LTA5LTcn
LCB0cnVlKTsKK2NoZWNrKCcyMDA5LTA5LTAwMScsIHRydWUpOworY2hlY2soJzIwMDktMDkteHgn
LCB0cnVlKTsKK2NoZWNrKCcyMDA5LTA5JywgdHJ1ZSk7CitjaGVjaygnMjAwOScsIHRydWUpOwor
Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvcmVzb3VyY2VzL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLWRhdGV0aW1l
LmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9yZXNvdXJjZXMvVmFsaWRpdHlTdGF0ZS10eXBl
TWlzbWF0Y2gtZGF0ZXRpbWUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u
NWVkMjM5NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvcmVzb3Vy
Y2VzL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLWRhdGV0aW1lLmpzCkBAIC0wLDAgKzEsNTEg
QEAKK2Rlc2NyaXB0aW9uKCdUaGlzIHRlc3QgYWltcyB0byBjaGVjayBmb3IgdHlwZU1pc21hdGNo
IGZsYWcgd2l0aCB0eXBlPWRhdGV0aW1lIGlucHV0IGZpZWxkcycpOwordmFyIGkgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpOworaS50eXBlID0gJ2RhdGV0aW1lJzsKKworZnVuY3Rp
b24gY2hlY2sodmFsdWUsIG1pc21hdGNoRXhwZWN0ZWQpCit7CisgICAgaS52YWx1ZSA9IHZhbHVl
OworICAgIHZhciBhY3R1YWwgPSBpLnZhbGlkaXR5LnR5cGVNaXNtYXRjaDsKKyAgICB2YXIgZGlk
UGFzcyA9IGFjdHVhbCA9PSBtaXNtYXRjaEV4cGVjdGVkOworICAgIHZhciByZXN1bHRUZXh0ID0g
JyInICsgdmFsdWUgKyAnIiBpcyAnICsgKGRpZFBhc3MgPyAnYSBjb3JyZWN0ICcgOiAnYW4gaW5j
b3JyZWN0ICcpICsgKGFjdHVhbCA/ICdpbnZhbGlkJyA6ICd2YWxpZCcpICsgJyBkYXRldGltZSBz
dHJpbmcuJzsKKyAgICBpZiAoZGlkUGFzcykKKyAgICAgICAgdGVzdFBhc3NlZChyZXN1bHRUZXh0
KTsKKyAgICBlbHNlCisgICAgICAgIHRlc3RGYWlsZWQocmVzdWx0VGV4dCk7Cit9CisKKy8vIFZh
bGlkIHZhbHVlcworY2hlY2soJycsIGZhbHNlKTsKK2NoZWNrKCcyMDA5LTA5LTA3VDE2OjQ5Wics
IGZhbHNlKTsKK2NoZWNrKCcyMDA5LTA5LTA3VDE2OjQ5OjMxWicsIGZhbHNlKTsKK2NoZWNrKCcy
MDA5LTA5LTA3VDE2OjQ5OjMxLjFaJywgZmFsc2UpOworY2hlY2soJzIwMDktMDktMDdUMTY6NDk6
MzEuMTJaJywgZmFsc2UpOworY2hlY2soJzIwMDktMDktMDdUMTY6NDk6MzEuMTIzWicsIGZhbHNl
KTsKK2NoZWNrKCcyMDA5LTA5LTA3VDE2OjQ5OjMxLjEyMzQ1Njc4OTBaJywgZmFsc2UpOworY2hl
Y2soJzIxNDc0ODM2NDctMTItMzFUMjM6NTk6NTkuOTk5WicsIGZhbHNlKTsKK2NoZWNrKCcxNTgy
LTEwLTE1VDAwOjAwOjAwLjAwMFonLCBmYWxzZSk7CitjaGVjaygnMTU4Mi0xMC0xNVQwMDowMDow
MC4wMDArMDA6MDAnLCBmYWxzZSk7CitjaGVjaygnMTU4Mi0xMC0xNVQwMTozMCswMTozMCcsIGZh
bHNlKTsKK2NoZWNrKCcxNTgyLTEwLTE1VDAwOjAwKzAxOjAwJywgZmFsc2UpOworCisvLyBJbnZh
bGlkIHZhbHVlcworY2hlY2soJyAyMDA5LTA5LTA3VDE2OjQ5WiAnLCB0cnVlKTsKK2NoZWNrKCcy
MDA5LTA5LTA3VDE2OjQ5eicsIHRydWUpOworY2hlY2soJzIwMDktMDktMDd0MTY6NDlaJywgdHJ1
ZSk7CitjaGVjaygnMjAwOS0wOS0wN1QxNjo0OScsIHRydWUpOworY2hlY2soJzIwMDkvMDkvMDdU
MTY6NDlaJywgdHJ1ZSk7CitjaGVjaygnYScsIHRydWUpOworY2hlY2soJy0xLTA5LTA3VDE2OjQ5
WicsIHRydWUpOworY2hlY2soJzIwMDktMDktMDdUMTY6NDkrMjMnLCB0cnVlKTsKK2NoZWNrKCcy
MDA5LTA5LTA3VDE2OjQ5KzIzOicsIHRydWUpOworY2hlY2soJzIwMDktMDktMDdUMTY6NDkrMjQ6
MDAnLCB0cnVlKTsKK2NoZWNrKCcyMDA5LTA5LTA3VDE2OjQ5KzIzOjYwJywgdHJ1ZSk7CitjaGVj
aygnMjAwOS0wOS0wN1QxNjo0OS0yMycsIHRydWUpOworY2hlY2soJzIwMDktMDktMDdUMTY6NDkt
MjM6JywgdHJ1ZSk7CitjaGVjaygnMjAwOS0wOS0wN1QxNjo0OS0yNDowMCcsIHRydWUpOworY2hl
Y2soJzIwMDktMDktMDdUMTY6NDktMjM6NjAnLCB0cnVlKTsKK2NoZWNrKCcxNTgyLTEwLTE0VDIz
OjU5OjU5WicsIHRydWUpOworY2hlY2soJzIxNDc0ODM2NDctMTItMzFUMjM6NTktMDA6MDEnLCB0
cnVlKTsKK2NoZWNrKCcyMTQ3NDgzNjQ4LTAxLTAxVDAwOjAwOjAwWicsIHRydWUpOworCit2YXIg
c3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvcmVzb3VyY2VzL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLWRhdGV0aW1lbG9jYWwu
anMgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3Jlc291cmNlcy9WYWxpZGl0eVN0YXRlLXR5cGVN
aXNtYXRjaC1kYXRldGltZWxvY2FsLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAuLjY3MmEwZWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3Jl
c291cmNlcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1kYXRldGltZWxvY2FsLmpzCkBAIC0w
LDAgKzEsMzggQEAKK2Rlc2NyaXB0aW9uKCdUaGlzIHRlc3QgYWltcyB0byBjaGVjayBmb3IgdHlw
ZU1pc21hdGNoIGZsYWcgd2l0aCB0eXBlPWRhdGV0aW1lLWxvY2FsIGlucHV0IGZpZWxkcycpOwor
dmFyIGkgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpOworaS50eXBlID0gJ2RhdGV0
aW1lLWxvY2FsJzsKKworZnVuY3Rpb24gY2hlY2sodmFsdWUsIG1pc21hdGNoRXhwZWN0ZWQpCit7
CisgICAgaS52YWx1ZSA9IHZhbHVlOworICAgIHZhciBhY3R1YWwgPSBpLnZhbGlkaXR5LnR5cGVN
aXNtYXRjaDsKKyAgICB2YXIgZGlkUGFzcyA9IGFjdHVhbCA9PSBtaXNtYXRjaEV4cGVjdGVkOwor
ICAgIHZhciByZXN1bHRUZXh0ID0gJyInICsgdmFsdWUgKyAnIiBpcyAnICsgKGRpZFBhc3MgPyAn
YSBjb3JyZWN0ICcgOiAnYW4gaW5jb3JyZWN0ICcpICsgKGFjdHVhbCA/ICdpbnZhbGlkJyA6ICd2
YWxpZCcpICsgJyBkYXRldGltZS1sb2NhbCBzdHJpbmcuJzsKKyAgICBpZiAoZGlkUGFzcykKKyAg
ICAgICAgdGVzdFBhc3NlZChyZXN1bHRUZXh0KTsKKyAgICBlbHNlCisgICAgICAgIHRlc3RGYWls
ZWQocmVzdWx0VGV4dCk7Cit9CisKKy8vIFZhbGlkIHZhbHVlcworY2hlY2soJycsIGZhbHNlKTsK
K2NoZWNrKCcyMDA5LTA5LTA3VDE2OjQ5JywgZmFsc2UpOworY2hlY2soJzIwMDktMDktMDdUMTY6
NDk6MzEnLCBmYWxzZSk7CitjaGVjaygnMjAwOS0wOS0wN1QxNjo0OTozMS4xJywgZmFsc2UpOwor
Y2hlY2soJzIwMDktMDktMDdUMTY6NDk6MzEuMTInLCBmYWxzZSk7CitjaGVjaygnMjAwOS0wOS0w
N1QxNjo0OTozMS4xMjMnLCBmYWxzZSk7CitjaGVjaygnMjAwOS0wOS0wN1QxNjo0OTozMS4xMjM0
NTY3ODkwJywgZmFsc2UpOworY2hlY2soJzIxNDc0ODM2NDctMTItMzFUMjM6NTk6NTkuOTk5Jywg
ZmFsc2UpOworY2hlY2soJzE1ODItMTAtMTVUMDA6MDA6MDAuMDAwJywgZmFsc2UpOworCisvLyBJ
bnZhbGlkIHZhbHVlcworY2hlY2soJyAyMDA5LTA5LTA3VDE2OjQ5ICcsIHRydWUpOworY2hlY2so
JzIwMDktMDktMDd0MTY6NDknLCB0cnVlKTsKK2NoZWNrKCcyMDA5LTA5LTA3IDE2OjQ5JywgdHJ1
ZSk7CitjaGVjaygnMjAwOS8wOS8wN1QxNjo0OScsIHRydWUpOworY2hlY2soJ2EnLCB0cnVlKTsK
K2NoZWNrKCctMS0wOS0wN1QxNjo0OScsIHRydWUpOworY2hlY2soJzE1ODItMTAtMTRUMjM6NTk6
NTknLCB0cnVlKTsKK2NoZWNrKCcyMTQ3NDgzNjQ4LTAxLTAxVDAwOjAwOjAwJywgdHJ1ZSk7CisK
K3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy9yZXNvdXJjZXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtbW9udGguanMg
Yi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3Jlc291cmNlcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNt
YXRjaC1tb250aC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMjUzY2Zi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9yZXNvdXJjZXMvVmFs
aWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtbW9udGguanMKQEAgLTAsMCArMSw1MyBAQAorZGVzY3Jp
cHRpb24oJ1RoaXMgdGVzdCBhaW1zIHRvIGNoZWNrIGZvciB0eXBlTWlzbWF0Y2ggZmxhZyB3aXRo
IHR5cGU9bW9udGggaW5wdXQgZmllbGRzJyk7Cit2YXIgaSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoJ2lucHV0Jyk7CitpLnR5cGUgPSAnbW9udGgnOworCitmdW5jdGlvbiBjaGVjayh2YWx1ZSwg
bWlzbWF0Y2hFeHBlY3RlZCkKK3sKKyAgICBpLnZhbHVlID0gdmFsdWU7CisgICAgdmFyIGFjdHVh
bCA9IGkudmFsaWRpdHkudHlwZU1pc21hdGNoOworICAgIHZhciBkaWRQYXNzID0gYWN0dWFsID09
IG1pc21hdGNoRXhwZWN0ZWQ7CisgICAgdmFyIHJlc3VsdFRleHQgPSAnIicgKyB2YWx1ZSArICci
IGlzICcgKyAoZGlkUGFzcyA/ICdhIGNvcnJlY3QgJyA6ICdhbiBpbmNvcnJlY3QgJykgKyAoYWN0
dWFsID8gJ2ludmFsaWQnIDogJ3ZhbGlkJykgKyAnIG1vbnRoIHN0cmluZy4nOworICAgIGlmIChk
aWRQYXNzKQorICAgICAgICB0ZXN0UGFzc2VkKHJlc3VsdFRleHQpOworICAgIGVsc2UKKyAgICAg
ICAgdGVzdEZhaWxlZChyZXN1bHRUZXh0KTsKK30KKworLy8gVmFsaWQgdmFsdWVzCitjaGVjaygn
JywgZmFsc2UpOworY2hlY2soJzE1ODItMTAnLCBmYWxzZSk7CitjaGVjaygnOTk5OS0xMicsIGZh
bHNlKTsKK2NoZWNrKCcyMTQ3NDgzNjQ3LTEyJywgZmFsc2UpOworY2hlY2soJzIwMDktMDEnLCBm
YWxzZSk7CitjaGVjaygnMjAwOS0wMicsIGZhbHNlKTsKK2NoZWNrKCcyMDA5LTAzJywgZmFsc2Up
OworY2hlY2soJzIwMDktMDQnLCBmYWxzZSk7CitjaGVjaygnMjAwOS0wNScsIGZhbHNlKTsKK2No
ZWNrKCcyMDA5LTA2JywgZmFsc2UpOworY2hlY2soJzIwMDktMDcnLCBmYWxzZSk7CitjaGVjaygn
MjAwOS0wOCcsIGZhbHNlKTsKK2NoZWNrKCcyMDA5LTA5JywgZmFsc2UpOworY2hlY2soJzIwMDkt
MTAnLCBmYWxzZSk7CitjaGVjaygnMjAwOS0xMScsIGZhbHNlKTsKK2NoZWNrKCcyMDA5LTEyJywg
ZmFsc2UpOworCisvLyBJbnZhbGlkIHZhbHVlcworY2hlY2soJyAyMDA5LTA5ICcsIHRydWUpOwor
Y2hlY2soJ2EnLCB0cnVlKTsKK2NoZWNrKCctMS0wOScsIHRydWUpOworY2hlY2soJzE1ODEtMTAn
LCB0cnVlKTsKK2NoZWNrKCcxNTgyLTA5JywgdHJ1ZSk7CitjaGVjaygnMjE0NzQ4MzY0OC0xMics
IHRydWUpOworY2hlY2soJzIwMDkvMDknLCB0cnVlKTsKK2NoZWNrKCcyMDA5MDknLCB0cnVlKTsK
K2NoZWNrKCcyMDA5LS0yJywgdHJ1ZSk7CitjaGVjaygnMjAwOS0wMCcsIHRydWUpOworY2hlY2so
JzIwMDktMTMnLCB0cnVlKTsKK2NoZWNrKCcyMDA5LScsIHRydWUpOworY2hlY2soJzIwMDktOScs
IHRydWUpOworY2hlY2soJzIwMDktMDA5JywgdHJ1ZSk7CitjaGVjaygnMjAwOS14eCcsIHRydWUp
OworY2hlY2soJzIwMDknLCB0cnVlKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3Jlc291cmNlcy9WYWxpZGl0eVN0
YXRlLXR5cGVNaXNtYXRjaC10aW1lLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9yZXNvdXJj
ZXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtdGltZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwLi5jYzJkZGU3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy9yZXNvdXJjZXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtdGltZS5qcwpA
QCAtMCwwICsxLDUxIEBACitkZXNjcmlwdGlvbignVGhpcyB0ZXN0IGFpbXMgdG8gY2hlY2sgZm9y
IHR5cGVNaXNtYXRjaCBmbGFnIHdpdGggdHlwZT10aW1lIGlucHV0IGZpZWxkcycpOwordmFyIGkg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpOworaS50eXBlID0gJ3RpbWUnOworCitm
dW5jdGlvbiBjaGVjayh2YWx1ZSwgbWlzbWF0Y2hFeHBlY3RlZCkKK3sKKyAgICBpLnZhbHVlID0g
dmFsdWU7CisgICAgdmFyIGFjdHVhbCA9IGkudmFsaWRpdHkudHlwZU1pc21hdGNoOworICAgIHZh
ciBkaWRQYXNzID0gYWN0dWFsID09IG1pc21hdGNoRXhwZWN0ZWQ7CisgICAgdmFyIHJlc3VsdFRl
eHQgPSAnIicgKyB2YWx1ZSArICciIGlzICcgKyAoZGlkUGFzcyA/ICdhIGNvcnJlY3QgJyA6ICdh
biBpbmNvcnJlY3QgJykgKyAoYWN0dWFsID8gJ2ludmFsaWQnIDogJ3ZhbGlkJykgKyAnIHRpbWUg
c3RyaW5nLic7CisgICAgaWYgKGRpZFBhc3MpCisgICAgICAgIHRlc3RQYXNzZWQocmVzdWx0VGV4
dCk7CisgICAgZWxzZQorICAgICAgICB0ZXN0RmFpbGVkKHJlc3VsdFRleHQpOworfQorCisvLyBW
YWxpZCB2YWx1ZXMKK2NoZWNrKCcnLCBmYWxzZSk7CitjaGVjaygnMDA6MDAnLCBmYWxzZSk7Citj
aGVjaygnMjM6NTknLCBmYWxzZSk7CitjaGVjaygnMjM6NTk6NTknLCBmYWxzZSk7CitjaGVjaygn
MjM6NTk6NTkuMScsIGZhbHNlKTsKK2NoZWNrKCcyMzo1OTo1OS4xMicsIGZhbHNlKTsKK2NoZWNr
KCcyMzo1OTo1OS4xMjMnLCBmYWxzZSk7CitjaGVjaygnMjM6NTk6NTkuMTIzNDU2Nzg5MCcsIGZh
bHNlKTsKK2NoZWNrKCcwMDowMDowMC4wMDAwMDAwMDAwJywgZmFsc2UpOworCisvLyBJbnZhbGlk
IHZhbHVlcworY2hlY2soJyAwMDowMCAnLCB0cnVlKTsKK2NoZWNrKCcxOjIzJywgdHJ1ZSk7Citj
aGVjaygnMDExOjExJywgdHJ1ZSk7CitjaGVjaygnYWI6MTEnLCB0cnVlKTsKK2NoZWNrKCctMTox
MScsIHRydWUpOworY2hlY2soJzI0OjExJywgdHJ1ZSk7CitjaGVjaygnMTEnLCB0cnVlKTsKK2No
ZWNrKCcxMS0nLCB0cnVlKTsKK2NoZWNrKCcxMTotMicsIHRydWUpOworY2hlY2soJzExOjYwJywg
dHJ1ZSk7CitjaGVjaygnMTE6MmInLCB0cnVlKTsKK2NoZWNrKCcxMTphYicsIHRydWUpOworY2hl
Y2soJzExOjAzNCcsIHRydWUpOworY2hlY2soJzIzOjQ1OicsIHRydWUpOworY2hlY2soJzIzOjQ1
OjYnLCB0cnVlKTsKK2NoZWNrKCcyMzo0NTotMScsIHRydWUpOworY2hlY2soJzIzOjQ1OjcwJywg
dHJ1ZSk7CitjaGVjaygnMjM6NDU6enonLCB0cnVlKTsKK2NoZWNrKCcyMzo0NTowNi4nLCB0cnVl
KTsKK2NoZWNrKCcyMzo0NTowNi5hYmMnLCB0cnVlKTsKK2NoZWNrKCcyMzo0NTowNi43ODlhYmMn
LCB0cnVlKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3Jlc291cmNlcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRj
aC13ZWVrLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9yZXNvdXJjZXMvVmFsaWRpdHlTdGF0
ZS10eXBlTWlzbWF0Y2gtd2Vlay5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
Li43OWVmZTA2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9yZXNv
dXJjZXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtd2Vlay5qcwpAQCAtMCwwICsxLDQ3IEBA
CitkZXNjcmlwdGlvbignVGhpcyB0ZXN0IGFpbXMgdG8gY2hlY2sgZm9yIHR5cGVNaXNtYXRjaCBm
bGFnIHdpdGggdHlwZT13ZWVrIGlucHV0IGZpZWxkcycpOwordmFyIGkgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCdpbnB1dCcpOworaS50eXBlID0gJ3dlZWsnOworCitmdW5jdGlvbiBjaGVjayh2
YWx1ZSwgbWlzbWF0Y2hFeHBlY3RlZCkKK3sKKyAgICBpLnZhbHVlID0gdmFsdWU7CisgICAgdmFy
IGFjdHVhbCA9IGkudmFsaWRpdHkudHlwZU1pc21hdGNoOworICAgIHZhciBkaWRQYXNzID0gYWN0
dWFsID09IG1pc21hdGNoRXhwZWN0ZWQ7CisgICAgdmFyIHJlc3VsdFRleHQgPSAnIicgKyB2YWx1
ZSArICciIGlzICcgKyAoZGlkUGFzcyA/ICdhIGNvcnJlY3QgJyA6ICdhbiBpbmNvcnJlY3QgJykg
KyAoYWN0dWFsID8gJ2ludmFsaWQnIDogJ3ZhbGlkJykgKyAnIHdlZWsgc3RyaW5nLic7CisgICAg
aWYgKGRpZFBhc3MpCisgICAgICAgIHRlc3RQYXNzZWQocmVzdWx0VGV4dCk7CisgICAgZWxzZQor
ICAgICAgICB0ZXN0RmFpbGVkKHJlc3VsdFRleHQpOworfQorCisvLyBWYWxpZCB2YWx1ZXMKK2No
ZWNrKCcnLCBmYWxzZSk7CitjaGVjaygnMTU4My1XMDEnLCBmYWxzZSk7CitjaGVjaygnOTk5OS1X
NTInLCBmYWxzZSk7CitjaGVjaygnMjE0NzQ4MzY0Ny1XNTInLCBmYWxzZSk7CitjaGVjaygnMjAw
OS1XMDEnLCBmYWxzZSk7CitjaGVjaygnMjAwNC1XNTMnLCBmYWxzZSk7ICAvLyAyMDA0IHN0YXJ0
ZWQgb24gVGh1cnNkYXkuCitjaGVjaygnMjAwMy1XNTInLCBmYWxzZSk7ICAvLyAyMDAzIHN0YXJ0
ZWQgb24gV2VkbmVzZGF5LCBidXQgd2Fzbid0IGEgbGVhcCB5ZWFyLgorY2hlY2soJzE5OTItVzUz
JywgZmFsc2UpOyAgLy8gMTk5MiBzdGFydGVkIG9uIFdlZG5lc2RheSwgYW5kIHdhcyBhIGxlYXAg
eWVhci4KKworLy8gSW52YWxpZCB2YWx1ZXMKK2NoZWNrKCcgMjAwOS1XMDEgJywgdHJ1ZSk7Citj
aGVjaygnMjAwOVcwMScsIHRydWUpOworY2hlY2soJzIwMDktdzAxJywgdHJ1ZSk7CitjaGVjaygn
MjAwOS1XMScsIHRydWUpOworY2hlY2soJzIwMDktVzAwMScsIHRydWUpOworY2hlY2soJ2EnLCB0
cnVlKTsKK2NoZWNrKCctMS1XMDknLCB0cnVlKTsKK2NoZWNrKCcxNTgyLVc1MicsIHRydWUpOwor
Y2hlY2soJzIxNDc0ODM2NDgtVzAxJywgdHJ1ZSk7CitjaGVjaygnMjAwOS1XMDAnLCB0cnVlKTsK
K2NoZWNrKCcyMDA5LVctMScsIHRydWUpOworY2hlY2soJzIwMDQtVzU0JywgdHJ1ZSk7ICAvLyAy
MDA0IHN0YXJ0ZWQgb24gVGh1cnNkYXkuCitjaGVjaygnMjAwMy1XNTMnLCB0cnVlKTsgIC8vIDIw
MDMgc3RhcnRlZCBvbiBXZWRuZXNkYXksIGJ1dCB3YXNuJ3QgYSBsZWFwIHllYXIuCitjaGVjaygn
MTk5Mi1XNTQnLCB0cnVlKTsgIC8vIDE5OTIgc3RhcnRlZCBvbiBXZWRuZXNkYXksIGFuZCB3YXMg
YSBsZWFwIHllYXIuCitjaGVjaygnMjAwOS8wOScsIHRydWUpOworY2hlY2soJzIwMDkwOScsIHRy
dWUpOworY2hlY2soJzIwMDktV3h4JywgdHJ1ZSk7CitjaGVjaygnMjAwOScsIHRydWUpOworCit2
YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdl
TG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDU1YWIxZi4uNTVmMmJmNiAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw1
OSBAQAorMjAwOS0wOS0wNyAgS2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgLSBJbXBsZW1lbnQg
dGhlIGZvbGxvd2luZyB0eXBlcyBvZiBJTlBVVCBlbGVtZW50IGFzIGEgdGV4dCBmaWVsZC4KKyAg
ICAgICAgICAgIGRhdGUsIGRhdGV0aW1lLCBkYXRldGltZS1sb2NhbCwgbW9udGgsIHRpbWUgYW5k
IHdlZWsKKyAgICAgICAgLSBWYWxpZGl0eVN0YXRlOjp0eXBlTWlzbWF0Y2ggc3VwcG9ydHMgZm9y
IHRoZSB0eXBlcy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTI5MDA0CisKKyAgICAgICAgVGVzdHM6IGZhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBl
TWlzbWF0Y2gtZGF0ZS5odG1sCisgICAgICAgICAgICAgICBmYXN0L2Zvcm1zL1ZhbGlkaXR5U3Rh
dGUtdHlwZU1pc21hdGNoLWRhdGV0aW1lLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvZm9ybXMv
VmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtZGF0ZXRpbWVsb2NhbC5odG1sCisgICAgICAgICAg
ICAgICBmYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLW1vbnRoLmh0bWwKKyAg
ICAgICAgICAgICAgIGZhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtdGltZS5o
dG1sCisgICAgICAgICAgICAgICBmYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNo
LXdlZWsuaHRtbAorCisgICAgICAgICogaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQ6OnZhbHVlTWlzc2luZyk6CisgICAgICAgIChX
ZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50OjpwYXR0ZXJuTWlzbWF0Y2gpOgorICAgICAgICAoV2Vi
Q29yZTo6SFRNTElucHV0RWxlbWVudDo6c2V0SW5wdXRUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6
OkhUTUxJbnB1dEVsZW1lbnQ6OmZvcm1Db250cm9sVHlwZSk6CisgICAgICAgIChXZWJDb3JlOjpI
VE1MSW5wdXRFbGVtZW50OjpzYXZlRm9ybUNvbnRyb2xTdGF0ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpIVE1MSW5wdXRFbGVtZW50OjpyZXN0b3JlRm9ybUNvbnRyb2xTdGF0ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50OjphY2Nlc3NLZXlBY3Rpb24pOgorICAgICAgICAoV2Vi
Q29yZTo6SFRNTElucHV0RWxlbWVudDo6cmVuZGVyZXJJc05lZWRlZCk6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MSW5wdXRFbGVtZW50OjpjcmVhdGVSZW5kZXJlcik6CisgICAgICAgIChXZWJDb3Jl
OjpIVE1MSW5wdXRFbGVtZW50OjphcHBlbmRGb3JtRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpI
VE1MSW5wdXRFbGVtZW50Ojppc1RleHRGaWVsZCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW5w
dXRFbGVtZW50Ojp2YWx1ZVdpdGhEZWZhdWx0KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1
dEVsZW1lbnQ6OnN0b3Jlc1ZhbHVlU2VwYXJhdGVGcm9tQXR0cmlidXRlKToKKyAgICAgICAgKFdl
YkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQ6OmRlZmF1bHRFdmVudEhhbmRsZXIpOgorICAgICAgICAo
V2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6aXNSZXF1aXJlZEZvcm1Db250cm9sKToKKyAgICAg
ICAgKFdlYkNvcmU6OkRhdGVUaW1lOjpEYXRlVGltZSk6CisgICAgICAgIChXZWJDb3JlOjpEYXRl
VGltZTo6bWF4RGF5T2ZNb250aCk6CisgICAgICAgIChXZWJDb3JlOjpEYXRlVGltZTo6bWF4V2Vl
ayk6CisgICAgICAgIChXZWJDb3JlOjpEYXRlVGltZTo6aXNMZWFwWWVhcik6CisgICAgICAgIChX
ZWJDb3JlOjpEYXRlVGltZTo6dG9JbnQpOgorICAgICAgICAoV2ViQ29yZTo6RGF0ZVRpbWU6Oik6
CisgICAgICAgIChXZWJDb3JlOjopOgorICAgICAgICAoV2ViQ29yZTo6RGF0ZVRpbWU6OmRheU9m
V2Vlayk6CisgICAgICAgIChXZWJDb3JlOjpEYXRlVGltZTo6Y291bnREaWdpdHMpOgorICAgICAg
ICAoV2ViQ29yZTo6RGF0ZVRpbWU6OnBhcnNlWWVhcik6CisgICAgICAgIChXZWJDb3JlOjpEYXRl
VGltZTo6cGFyc2VNb250aCk6CisgICAgICAgIChXZWJDb3JlOjpEYXRlVGltZTo6cGFyc2VEYXRl
KToKKyAgICAgICAgKFdlYkNvcmU6OkRhdGVUaW1lOjpwYXJzZVdlZWspOgorICAgICAgICAoV2Vi
Q29yZTo6RGF0ZVRpbWU6OnBhcnNlVGltZSk6CisgICAgICAgIChXZWJDb3JlOjpEYXRlVGltZTo6
cGFyc2VUaW1lWm9uZSk6CisgICAgICAgIChXZWJDb3JlOjpEYXRlVGltZTo6YWRkTWludXRlKToK
KyAgICAgICAgKFdlYkNvcmU6OkRhdGVUaW1lOjphZGREYXkpOgorICAgICAgICAoV2ViQ29yZTo6
SFRNTElucHV0RWxlbWVudDo6Zm9ybVN0cmluZ1RvRGF0ZVRpbWUpOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTElucHV0RWxlbWVudDo6ZGF0YUxpc3QpOgorICAgICAgICAqIGh0bWwvSFRNTElucHV0
RWxlbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6KToKKyAgICAg
ICAgKiBodG1sL1ZhbGlkaXR5U3RhdGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VmFsaWRpdHlT
dGF0ZTo6dHlwZU1pc21hdGNoKToKKwogMjAwOS0wOS0wNCAgVG9ueSBDaGFuZyAgPHRvbnlAY2hy
b21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLgpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwIGIvV2ViQ29yZS9odG1sL0hUTUxJ
bnB1dEVsZW1lbnQuY3BwCmluZGV4IGEyMTUyMGYuLjAzMmIyM2MgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTElucHV0
RWxlbWVudC5jcHAKQEAgLTEzMiw2ICsxMzIsMTIgQEAgYm9vbCBIVE1MSW5wdXRFbGVtZW50Ojp2
YWx1ZU1pc3NpbmcoKSBjb25zdAogICAgICAgICBjYXNlIFBBU1NXT1JEOgogICAgICAgICBjYXNl
IE5VTUJFUjoKICAgICAgICAgY2FzZSBGSUxFOgorICAgICAgICBjYXNlIERBVEVUSU1FOgorICAg
ICAgICBjYXNlIERBVEU6CisgICAgICAgIGNhc2UgTU9OVEg6CisgICAgICAgIGNhc2UgV0VFSzoK
KyAgICAgICAgY2FzZSBUSU1FOgorICAgICAgICBjYXNlIERBVEVUSU1FTE9DQUw6CiAgICAgICAg
ICAgICByZXR1cm4gdmFsdWUoKS5pc0VtcHR5KCk7CiAgICAgICAgIGNhc2UgQ0hFQ0tCT1g6CiAg
ICAgICAgICAgICByZXR1cm4gIWNoZWNrZWQoKTsKQEAgLTE2OCw2ICsxNzQsMTIgQEAgYm9vbCBI
VE1MSW5wdXRFbGVtZW50OjpwYXR0ZXJuTWlzbWF0Y2goKSBjb25zdAogICAgICAgICBjYXNlIFJB
TkdFOgogICAgICAgICBjYXNlIE5VTUJFUjoKICAgICAgICAgY2FzZSBDT0xPUjoKKyAgICAgICAg
Y2FzZSBEQVRFVElNRToKKyAgICAgICAgY2FzZSBEQVRFOgorICAgICAgICBjYXNlIE1PTlRIOgor
ICAgICAgICBjYXNlIFdFRUs6CisgICAgICAgIGNhc2UgVElNRToKKyAgICAgICAgY2FzZSBEQVRF
VElNRUxPQ0FMOgogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICBjYXNlIFRFWFQ6
CiAgICAgICAgIGNhc2UgU0VBUkNIOgpAQCAtMzE5LDYgKzMzMSwxOCBAQCB2b2lkIEhUTUxJbnB1
dEVsZW1lbnQ6OnNldElucHV0VHlwZShjb25zdCBTdHJpbmcmIHQpCiAgICAgICAgIG5ld1R5cGUg
PSBVUkw7CiAgICAgZWxzZSBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UodCwgImNvbG9yIikpCiAgICAg
ICAgIG5ld1R5cGUgPSBDT0xPUjsKKyAgICBlbHNlIGlmIChlcXVhbElnbm9yaW5nQ2FzZSh0LCAi
ZGF0ZXRpbWUiKSkKKyAgICAgICAgbmV3VHlwZSA9IERBVEVUSU1FOworICAgIGVsc2UgaWYgKGVx
dWFsSWdub3JpbmdDYXNlKHQsICJkYXRlIikpCisgICAgICAgIG5ld1R5cGUgPSBEQVRFOworICAg
IGVsc2UgaWYgKGVxdWFsSWdub3JpbmdDYXNlKHQsICJtb250aCIpKQorICAgICAgICBuZXdUeXBl
ID0gTU9OVEg7CisgICAgZWxzZSBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UodCwgIndlZWsiKSkKKyAg
ICAgICAgbmV3VHlwZSA9IFdFRUs7CisgICAgZWxzZSBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UodCwg
InRpbWUiKSkKKyAgICAgICAgbmV3VHlwZSA9IFRJTUU7CisgICAgZWxzZSBpZiAoZXF1YWxJZ25v
cmluZ0Nhc2UodCwgImRhdGV0aW1lLWxvY2FsIikpCisgICAgICAgIG5ld1R5cGUgPSBEQVRFVElN
RUxPQ0FMOwogICAgIGVsc2UKICAgICAgICAgbmV3VHlwZSA9IFRFWFQ7CiAKQEAgLTQwNiw2ICs0
MzAsMTggQEAgY29uc3QgQXRvbWljU3RyaW5nJiBIVE1MSW5wdXRFbGVtZW50Ojpmb3JtQ29udHJv
bFR5cGUoKSBjb25zdAogICAgICAgICAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBBdG9t
aWNTdHJpbmcsIGNvbG9yLCAoImNvbG9yIikpOwogICAgICAgICAgICAgcmV0dXJuIGNvbG9yOwog
ICAgICAgICB9CisgICAgICAgIGNhc2UgREFURTogeworICAgICAgICAgICAgREVGSU5FX1NUQVRJ
Q19MT0NBTChjb25zdCBBdG9taWNTdHJpbmcsIGRhdGUsICgiZGF0ZSIpKTsKKyAgICAgICAgICAg
IHJldHVybiBkYXRlOworICAgICAgICB9CisgICAgICAgIGNhc2UgREFURVRJTUU6IHsKKyAgICAg
ICAgICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgQXRvbWljU3RyaW5nLCBkYXRlVGltZSwg
KCJkYXRldGltZSIpKTsKKyAgICAgICAgICAgIHJldHVybiBkYXRlVGltZTsKKyAgICAgICAgfQor
ICAgICAgICBjYXNlIERBVEVUSU1FTE9DQUw6IHsKKyAgICAgICAgICAgIERFRklORV9TVEFUSUNf
TE9DQUwoY29uc3QgQXRvbWljU3RyaW5nLCBkYXRldGltZUxvY2FsLCAoImRhdGV0aW1lLWxvY2Fs
IikpOworICAgICAgICAgICAgcmV0dXJuIGRhdGV0aW1lTG9jYWw7CisgICAgICAgIH0KICAgICAg
ICAgY2FzZSBFTUFJTDogewogICAgICAgICAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBB
dG9taWNTdHJpbmcsIGVtYWlsLCAoImVtYWlsIikpOwogICAgICAgICAgICAgcmV0dXJuIGVtYWls
OwpAQCAtNDI0LDYgKzQ2MCwxMCBAQCBjb25zdCBBdG9taWNTdHJpbmcmIEhUTUxJbnB1dEVsZW1l
bnQ6OmZvcm1Db250cm9sVHlwZSgpIGNvbnN0CiAgICAgICAgIH0KICAgICAgICAgY2FzZSBJU0lO
REVYOgogICAgICAgICAgICAgcmV0dXJuIGVtcHR5QXRvbTsKKyAgICAgICAgY2FzZSBNT05USDog
eworICAgICAgICAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBBdG9taWNTdHJpbmcsIG1v
bnRoLCAoIm1vbnRoIikpOworICAgICAgICAgICAgcmV0dXJuIG1vbnRoOworICAgICAgICB9CiAg
ICAgICAgIGNhc2UgTlVNQkVSOiB7CiAgICAgICAgICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKGNv
bnN0IEF0b21pY1N0cmluZywgbnVtYmVyLCAoIm51bWJlciIpKTsKICAgICAgICAgICAgIHJldHVy
biBudW1iZXI7CkBAIC00NjAsMTAgKzUwMCwxOCBAQCBjb25zdCBBdG9taWNTdHJpbmcmIEhUTUxJ
bnB1dEVsZW1lbnQ6OmZvcm1Db250cm9sVHlwZSgpIGNvbnN0CiAgICAgICAgICAgICBERUZJTkVf
U1RBVElDX0xPQ0FMKGNvbnN0IEF0b21pY1N0cmluZywgdGV4dCwgKCJ0ZXh0IikpOwogICAgICAg
ICAgICAgcmV0dXJuIHRleHQ7CiAgICAgICAgIH0KKyAgICAgICAgY2FzZSBUSU1FOiB7CisgICAg
ICAgICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0IEF0b21pY1N0cmluZywgdGltZSwgKCJ0
aW1lIikpOworICAgICAgICAgICAgcmV0dXJuIHRpbWU7CisgICAgICAgIH0KICAgICAgICAgY2Fz
ZSBVUkw6IHsKICAgICAgICAgICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgQXRvbWljU3Ry
aW5nLCB1cmwsICgidXJsIikpOwogICAgICAgICAgICAgcmV0dXJuIHVybDsKICAgICAgICAgfQor
ICAgICAgICBjYXNlIFdFRUs6IHsKKyAgICAgICAgICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29u
c3QgQXRvbWljU3RyaW5nLCB3ZWVrLCAoIndlZWsiKSk7CisgICAgICAgICAgICByZXR1cm4gd2Vl
azsKKyAgICAgICAgfQogICAgIH0KICAgICByZXR1cm4gZW1wdHlBdG9tOwogfQpAQCAtNDc2LDEx
ICs1MjQsMTUgQEAgYm9vbCBIVE1MSW5wdXRFbGVtZW50OjpzYXZlRm9ybUNvbnRyb2xTdGF0ZShT
dHJpbmcmIHJlc3VsdCkgY29uc3QKICAgICBzd2l0Y2ggKGlucHV0VHlwZSgpKSB7CiAgICAgICAg
IGNhc2UgQlVUVE9OOgogICAgICAgICBjYXNlIENPTE9SOgorICAgICAgICBjYXNlIERBVEU6Cisg
ICAgICAgIGNhc2UgREFURVRJTUU6CisgICAgICAgIGNhc2UgREFURVRJTUVMT0NBTDoKICAgICAg
ICAgY2FzZSBFTUFJTDoKICAgICAgICAgY2FzZSBGSUxFOgogICAgICAgICBjYXNlIEhJRERFTjoK
ICAgICAgICAgY2FzZSBJTUFHRToKICAgICAgICAgY2FzZSBJU0lOREVYOgorICAgICAgICBjYXNl
IE1PTlRIOgogICAgICAgICBjYXNlIE5VTUJFUjoKICAgICAgICAgY2FzZSBSQU5HRToKICAgICAg
ICAgY2FzZSBSRVNFVDoKQEAgLTQ4OCw3ICs1NDAsOSBAQCBib29sIEhUTUxJbnB1dEVsZW1lbnQ6
OnNhdmVGb3JtQ29udHJvbFN0YXRlKFN0cmluZyYgcmVzdWx0KSBjb25zdAogICAgICAgICBjYXNl
IFNVQk1JVDoKICAgICAgICAgY2FzZSBURUxFUEhPTkU6CiAgICAgICAgIGNhc2UgVEVYVDoKKyAg
ICAgICAgY2FzZSBUSU1FOgogICAgICAgICBjYXNlIFVSTDoKKyAgICAgICAgY2FzZSBXRUVLOgog
ICAgICAgICAgICAgcmVzdWx0ID0gdmFsdWUoKTsKICAgICAgICAgICAgIHJldHVybiB0cnVlOwog
ICAgICAgICBjYXNlIENIRUNLQk9YOgpAQCAtNTA4LDExICs1NjIsMTUgQEAgdm9pZCBIVE1MSW5w
dXRFbGVtZW50OjpyZXN0b3JlRm9ybUNvbnRyb2xTdGF0ZShjb25zdCBTdHJpbmcmIHN0YXRlKQog
ICAgIHN3aXRjaCAoaW5wdXRUeXBlKCkpIHsKICAgICAgICAgY2FzZSBCVVRUT046CiAgICAgICAg
IGNhc2UgQ09MT1I6CisgICAgICAgIGNhc2UgREFURToKKyAgICAgICAgY2FzZSBEQVRFVElNRToK
KyAgICAgICAgY2FzZSBEQVRFVElNRUxPQ0FMOgogICAgICAgICBjYXNlIEVNQUlMOgogICAgICAg
ICBjYXNlIEZJTEU6CiAgICAgICAgIGNhc2UgSElEREVOOgogICAgICAgICBjYXNlIElNQUdFOgog
ICAgICAgICBjYXNlIElTSU5ERVg6CisgICAgICAgIGNhc2UgTU9OVEg6CiAgICAgICAgIGNhc2Ug
TlVNQkVSOgogICAgICAgICBjYXNlIFJBTkdFOgogICAgICAgICBjYXNlIFJFU0VUOgpAQCAtNTIw
LDcgKzU3OCw5IEBAIHZvaWQgSFRNTElucHV0RWxlbWVudDo6cmVzdG9yZUZvcm1Db250cm9sU3Rh
dGUoY29uc3QgU3RyaW5nJiBzdGF0ZSkKICAgICAgICAgY2FzZSBTVUJNSVQ6CiAgICAgICAgIGNh
c2UgVEVMRVBIT05FOgogICAgICAgICBjYXNlIFRFWFQ6CisgICAgICAgIGNhc2UgVElNRToKICAg
ICAgICAgY2FzZSBVUkw6CisgICAgICAgIGNhc2UgV0VFSzoKICAgICAgICAgICAgIHNldFZhbHVl
KHN0YXRlKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIENIRUNLQk9YOgpAQCAt
NjIwLDE0ICs2ODAsMjAgQEAgdm9pZCBIVE1MSW5wdXRFbGVtZW50OjphY2Nlc3NLZXlBY3Rpb24o
Ym9vbCBzZW5kVG9BbnlFbGVtZW50KQogICAgICAgICAgICAgLy8gYSBuby1vcCBmb3IgdGhpcyB0
eXBlCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBDT0xPUjoKKyAgICAgICAgY2Fz
ZSBEQVRFOgorICAgICAgICBjYXNlIERBVEVUSU1FOgorICAgICAgICBjYXNlIERBVEVUSU1FTE9D
QUw6CiAgICAgICAgIGNhc2UgRU1BSUw6CiAgICAgICAgIGNhc2UgSVNJTkRFWDoKKyAgICAgICAg
Y2FzZSBNT05USDoKICAgICAgICAgY2FzZSBOVU1CRVI6CiAgICAgICAgIGNhc2UgUEFTU1dPUkQ6
CiAgICAgICAgIGNhc2UgU0VBUkNIOgogICAgICAgICBjYXNlIFRFTEVQSE9ORToKICAgICAgICAg
Y2FzZSBURVhUOgorICAgICAgICBjYXNlIFRJTUU6CiAgICAgICAgIGNhc2UgVVJMOgorICAgICAg
ICBjYXNlIFdFRUs6CiAgICAgICAgICAgICAvLyBzaG91bGQgbmV2ZXIgcmVzdG9yZSBwcmV2aW91
cyBzZWxlY3Rpb24gaGVyZQogICAgICAgICAgICAgZm9jdXMoZmFsc2UpOwogICAgICAgICAgICAg
YnJlYWs7CkBAIC03NjAsMzAgKzgyNiw5IEBAIHZvaWQgSFRNTElucHV0RWxlbWVudDo6cGFyc2VN
YXBwZWRBdHRyaWJ1dGUoTWFwcGVkQXR0cmlidXRlICphdHRyKQogCiBib29sIEhUTUxJbnB1dEVs
ZW1lbnQ6OnJlbmRlcmVySXNOZWVkZWQoUmVuZGVyU3R5bGUgKnN0eWxlKQogewotICAgIHN3aXRj
aCAoaW5wdXRUeXBlKCkpIHsKLSAgICAgICAgY2FzZSBCVVRUT046Ci0gICAgICAgIGNhc2UgQ0hF
Q0tCT1g6Ci0gICAgICAgIGNhc2UgQ09MT1I6Ci0gICAgICAgIGNhc2UgRU1BSUw6Ci0gICAgICAg
IGNhc2UgRklMRToKLSAgICAgICAgY2FzZSBJTUFHRToKLSAgICAgICAgY2FzZSBJU0lOREVYOgot
ICAgICAgICBjYXNlIE5VTUJFUjoKLSAgICAgICAgY2FzZSBQQVNTV09SRDoKLSAgICAgICAgY2Fz
ZSBSQURJTzoKLSAgICAgICAgY2FzZSBSQU5HRToKLSAgICAgICAgY2FzZSBSRVNFVDoKLSAgICAg
ICAgY2FzZSBTRUFSQ0g6Ci0gICAgICAgIGNhc2UgU1VCTUlUOgotICAgICAgICBjYXNlIFRFTEVQ
SE9ORToKLSAgICAgICAgY2FzZSBURVhUOgotICAgICAgICBjYXNlIFVSTDoKLSAgICAgICAgICAg
IHJldHVybiBIVE1MRm9ybUNvbnRyb2xFbGVtZW50V2l0aFN0YXRlOjpyZW5kZXJlcklzTmVlZGVk
KHN0eWxlKTsKLSAgICAgICAgY2FzZSBISURERU46Ci0gICAgICAgICAgICByZXR1cm4gZmFsc2U7
Ci0gICAgfQotICAgIEFTU0VSVChmYWxzZSk7Ci0gICAgcmV0dXJuIGZhbHNlOworICAgIGlmIChp
bnB1dFR5cGUoKSA9PSBISURERU4pCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICByZXR1cm4g
SFRNTEZvcm1Db250cm9sRWxlbWVudFdpdGhTdGF0ZTo6cmVuZGVyZXJJc05lZWRlZChzdHlsZSk7
CiB9CiAKIFJlbmRlck9iamVjdCAqSFRNTElucHV0RWxlbWVudDo6Y3JlYXRlUmVuZGVyZXIoUmVu
ZGVyQXJlbmEgKmFyZW5hLCBSZW5kZXJTdHlsZSAqc3R5bGUpCkBAIC04MDUsMTQgKzg1MCwyMCBA
QCBSZW5kZXJPYmplY3QgKkhUTUxJbnB1dEVsZW1lbnQ6OmNyZWF0ZVJlbmRlcmVyKFJlbmRlckFy
ZW5hICphcmVuYSwgUmVuZGVyU3R5bGUgKgogICAgICAgICBjYXNlIFJBTkdFOgogICAgICAgICAg
ICAgcmV0dXJuIG5ldyAoYXJlbmEpIFJlbmRlclNsaWRlcih0aGlzKTsKICAgICAgICAgY2FzZSBD
T0xPUjoKKyAgICAgICAgY2FzZSBEQVRFOgorICAgICAgICBjYXNlIERBVEVUSU1FOgorICAgICAg
ICBjYXNlIERBVEVUSU1FTE9DQUw6CiAgICAgICAgIGNhc2UgRU1BSUw6CiAgICAgICAgIGNhc2Ug
SVNJTkRFWDoKKyAgICAgICAgY2FzZSBNT05USDoKICAgICAgICAgY2FzZSBOVU1CRVI6CiAgICAg
ICAgIGNhc2UgUEFTU1dPUkQ6CiAgICAgICAgIGNhc2UgU0VBUkNIOgogICAgICAgICBjYXNlIFRF
TEVQSE9ORToKICAgICAgICAgY2FzZSBURVhUOgorICAgICAgICBjYXNlIFRJTUU6CiAgICAgICAg
IGNhc2UgVVJMOgorICAgICAgICBjYXNlIFdFRUs6CiAgICAgICAgICAgICByZXR1cm4gbmV3IChh
cmVuYSkgUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lKHRoaXMpOwogICAgIH0KICAgICBBU1NF
UlQoZmFsc2UpOwpAQCAtODkyLDE2ICs5NDMsMjIgQEAgYm9vbCBIVE1MSW5wdXRFbGVtZW50Ojph
cHBlbmRGb3JtRGF0YShGb3JtRGF0YUxpc3QmIGVuY29kaW5nLCBib29sIG11bHRpcGFydCkKIAog
ICAgIHN3aXRjaCAoaW5wdXRUeXBlKCkpIHsKICAgICAgICAgY2FzZSBDT0xPUjoKKyAgICAgICAg
Y2FzZSBEQVRFOgorICAgICAgICBjYXNlIERBVEVUSU1FOgorICAgICAgICBjYXNlIERBVEVUSU1F
TE9DQUw6CiAgICAgICAgIGNhc2UgRU1BSUw6CiAgICAgICAgIGNhc2UgSElEREVOOgogICAgICAg
ICBjYXNlIElTSU5ERVg6CisgICAgICAgIGNhc2UgTU9OVEg6CiAgICAgICAgIGNhc2UgTlVNQkVS
OgogICAgICAgICBjYXNlIFBBU1NXT1JEOgogICAgICAgICBjYXNlIFJBTkdFOgogICAgICAgICBj
YXNlIFNFQVJDSDoKICAgICAgICAgY2FzZSBURUxFUEhPTkU6CiAgICAgICAgIGNhc2UgVEVYVDoK
KyAgICAgICAgY2FzZSBUSU1FOgogICAgICAgICBjYXNlIFVSTDoKKyAgICAgICAgY2FzZSBXRUVL
OgogICAgICAgICAgICAgLy8gYWx3YXlzIHN1Y2Nlc3NmdWwKICAgICAgICAgICAgIGVuY29kaW5n
LmFwcGVuZERhdGEobmFtZSgpLCB2YWx1ZSgpKTsKICAgICAgICAgICAgIHJldHVybiB0cnVlOwpA
QCAtOTc5LDYgKzEwMzYsMzAgQEAgdm9pZCBIVE1MSW5wdXRFbGVtZW50OjpyZXNldCgpCiAgICAg
bV91c2VEZWZhdWx0Q2hlY2tlZCA9IHRydWU7CiB9CiAKK2Jvb2wgSFRNTElucHV0RWxlbWVudDo6
aXNUZXh0RmllbGQoKSBjb25zdAoreworICAgIHN3aXRjaCAoaW5wdXRUeXBlKCkpIHsKKyAgICBj
YXNlIENPTE9SOgorICAgIGNhc2UgREFURToKKyAgICBjYXNlIERBVEVUSU1FOgorICAgIGNhc2Ug
REFURVRJTUVMT0NBTDoKKyAgICBjYXNlIEVNQUlMOgorICAgIGNhc2UgSVNJTkRFWDoKKyAgICBj
YXNlIE1PTlRIOgorICAgIGNhc2UgTlVNQkVSOgorICAgIGNhc2UgUEFTU1dPUkQ6CisgICAgY2Fz
ZSBTRUFSQ0g6CisgICAgY2FzZSBURUxFUEhPTkU6CisgICAgY2FzZSBURVhUOgorICAgIGNhc2Ug
VElNRToKKyAgICBjYXNlIFVSTDoKKyAgICBjYXNlIFdFRUs6CisgICAgICAgIHJldHVybiB0cnVl
OworICAgIGRlZmF1bHQ6CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9Cit9CisKIHZvaWQg
SFRNTElucHV0RWxlbWVudDo6c2V0Q2hlY2tlZChib29sIG5vd0NoZWNrZWQsIGJvb2wgc2VuZENo
YW5nZUV2ZW50KQogewogICAgIGlmIChjaGVja2VkKCkgPT0gbm93Q2hlY2tlZCkKQEAgLTEwNzAs
MTEgKzExNTEsMTUgQEAgU3RyaW5nIEhUTUxJbnB1dEVsZW1lbnQ6OnZhbHVlV2l0aERlZmF1bHQo
KSBjb25zdAogICAgICAgICAgICAgY2FzZSBCVVRUT046CiAgICAgICAgICAgICBjYXNlIENIRUNL
Qk9YOgogICAgICAgICAgICAgY2FzZSBDT0xPUjoKKyAgICAgICAgICAgIGNhc2UgREFURToKKyAg
ICAgICAgICAgIGNhc2UgREFURVRJTUU6CisgICAgICAgICAgICBjYXNlIERBVEVUSU1FTE9DQUw6
CiAgICAgICAgICAgICBjYXNlIEVNQUlMOgogICAgICAgICAgICAgY2FzZSBGSUxFOgogICAgICAg
ICAgICAgY2FzZSBISURERU46CiAgICAgICAgICAgICBjYXNlIElNQUdFOgogICAgICAgICAgICAg
Y2FzZSBJU0lOREVYOgorICAgICAgICAgICAgY2FzZSBNT05USDoKICAgICAgICAgICAgIGNhc2Ug
TlVNQkVSOgogICAgICAgICAgICAgY2FzZSBQQVNTV09SRDoKICAgICAgICAgICAgIGNhc2UgUkFE
SU86CkBAIC0xMDgyLDcgKzExNjcsOSBAQCBTdHJpbmcgSFRNTElucHV0RWxlbWVudDo6dmFsdWVX
aXRoRGVmYXVsdCgpIGNvbnN0CiAgICAgICAgICAgICBjYXNlIFNFQVJDSDoKICAgICAgICAgICAg
IGNhc2UgVEVMRVBIT05FOgogICAgICAgICAgICAgY2FzZSBURVhUOgorICAgICAgICAgICAgY2Fz
ZSBUSU1FOgogICAgICAgICAgICAgY2FzZSBVUkw6CisgICAgICAgICAgICBjYXNlIFdFRUs6CiAg
ICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICBjYXNlIFJFU0VUOgogICAgICAgICAg
ICAgICAgIHYgPSByZXNldEJ1dHRvbkRlZmF1bHRMYWJlbCgpOwpAQCAtMTE3NiwxNiArMTI2Mywy
MiBAQCBib29sIEhUTUxJbnB1dEVsZW1lbnQ6OnN0b3Jlc1ZhbHVlU2VwYXJhdGVGcm9tQXR0cmli
dXRlKCkgY29uc3QKICAgICAgICAgY2FzZSBTVUJNSVQ6CiAgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CiAgICAgICAgIGNhc2UgQ09MT1I6CisgICAgICAgIGNhc2UgREFURToKKyAgICAgICAgY2Fz
ZSBEQVRFVElNRToKKyAgICAgICAgY2FzZSBEQVRFVElNRUxPQ0FMOgogICAgICAgICBjYXNlIEVN
QUlMOgogICAgICAgICBjYXNlIEZJTEU6CiAgICAgICAgIGNhc2UgSVNJTkRFWDoKKyAgICAgICAg
Y2FzZSBNT05USDoKICAgICAgICAgY2FzZSBOVU1CRVI6CiAgICAgICAgIGNhc2UgUEFTU1dPUkQ6
CiAgICAgICAgIGNhc2UgUkFOR0U6CiAgICAgICAgIGNhc2UgU0VBUkNIOgogICAgICAgICBjYXNl
IFRFTEVQSE9ORToKICAgICAgICAgY2FzZSBURVhUOgorICAgICAgICBjYXNlIFRJTUU6CiAgICAg
ICAgIGNhc2UgVVJMOgorICAgICAgICBjYXNlIFdFRUs6CiAgICAgICAgICAgICByZXR1cm4gdHJ1
ZTsKICAgICB9CiAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMTM1MiwxNiArMTQ0NSwyMiBAQCB2b2lk
IEhUTUxJbnB1dEVsZW1lbnQ6OmRlZmF1bHRFdmVudEhhbmRsZXIoRXZlbnQqIGV2dCkKICAgICAg
ICAgICAgIHN3aXRjaCAoaW5wdXRUeXBlKCkpIHsKICAgICAgICAgICAgICAgICBjYXNlIENIRUNL
Qk9YOgogICAgICAgICAgICAgICAgIGNhc2UgQ09MT1I6CisgICAgICAgICAgICAgICAgY2FzZSBE
QVRFOgorICAgICAgICAgICAgICAgIGNhc2UgREFURVRJTUU6CisgICAgICAgICAgICAgICAgY2Fz
ZSBEQVRFVElNRUxPQ0FMOgogICAgICAgICAgICAgICAgIGNhc2UgRU1BSUw6CiAgICAgICAgICAg
ICAgICAgY2FzZSBISURERU46CiAgICAgICAgICAgICAgICAgY2FzZSBJU0lOREVYOgorICAgICAg
ICAgICAgICAgIGNhc2UgTU9OVEg6CiAgICAgICAgICAgICAgICAgY2FzZSBOVU1CRVI6CiAgICAg
ICAgICAgICAgICAgY2FzZSBQQVNTV09SRDoKICAgICAgICAgICAgICAgICBjYXNlIFJBTkdFOgog
ICAgICAgICAgICAgICAgIGNhc2UgU0VBUkNIOgogICAgICAgICAgICAgICAgIGNhc2UgVEVMRVBI
T05FOgogICAgICAgICAgICAgICAgIGNhc2UgVEVYVDoKKyAgICAgICAgICAgICAgICBjYXNlIFRJ
TUU6CiAgICAgICAgICAgICAgICAgY2FzZSBVUkw6CisgICAgICAgICAgICAgICAgY2FzZSBXRUVL
OgogICAgICAgICAgICAgICAgICAgICAvLyBTaW11bGF0ZSBtb3VzZSBjbGljayBvbiB0aGUgZGVm
YXVsdCBmb3JtIGJ1dHRvbiBmb3IgZW50ZXIgZm9yIHRoZXNlIHR5cGVzIG9mIGVsZW1lbnRzLgog
ICAgICAgICAgICAgICAgICAgICBjbGlja0RlZmF1bHRGb3JtQnV0dG9uID0gdHJ1ZTsKICAgICAg
ICAgICAgICAgICAgICAgYnJlYWs7CkBAIC0xNDgwLDE2ICsxNTc5LDIyIEBAIHZvaWQgSFRNTElu
cHV0RWxlbWVudDo6ZGVmYXVsdEV2ZW50SGFuZGxlcihFdmVudCogZXZ0KQogICAgICAgICAgICAg
ICAgICAgICAgICAgY2xpY2tFbGVtZW50ID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICAgYnJl
YWs7CiAgICAgICAgICAgICAgICAgY2FzZSBDT0xPUjoKKyAgICAgICAgICAgICAgICBjYXNlIERB
VEU6CisgICAgICAgICAgICAgICAgY2FzZSBEQVRFVElNRToKKyAgICAgICAgICAgICAgICBjYXNl
IERBVEVUSU1FTE9DQUw6CiAgICAgICAgICAgICAgICAgY2FzZSBFTUFJTDoKICAgICAgICAgICAg
ICAgICBjYXNlIEhJRERFTjoKICAgICAgICAgICAgICAgICBjYXNlIElTSU5ERVg6CisgICAgICAg
ICAgICAgICAgY2FzZSBNT05USDoKICAgICAgICAgICAgICAgICBjYXNlIE5VTUJFUjoKICAgICAg
ICAgICAgICAgICBjYXNlIFBBU1NXT1JEOgogICAgICAgICAgICAgICAgIGNhc2UgUkFOR0U6CiAg
ICAgICAgICAgICAgICAgY2FzZSBTRUFSQ0g6CiAgICAgICAgICAgICAgICAgY2FzZSBURUxFUEhP
TkU6CiAgICAgICAgICAgICAgICAgY2FzZSBURVhUOgorICAgICAgICAgICAgICAgIGNhc2UgVElN
RToKICAgICAgICAgICAgICAgICBjYXNlIFVSTDoKKyAgICAgICAgICAgICAgICBjYXNlIFdFRUs6
CiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgfQogICAgICAgICB9CkBA
IC0xNzA1LDYgKzE4MTAsMTIgQEAgYm9vbCBIVE1MSW5wdXRFbGVtZW50Ojppc1JlcXVpcmVkRm9y
bUNvbnRyb2woKSBjb25zdAogICAgICAgICBjYXNlIENIRUNLQk9YOgogICAgICAgICBjYXNlIFJB
RElPOgogICAgICAgICBjYXNlIEZJTEU6CisgICAgICAgIGNhc2UgREFURVRJTUU6CisgICAgICAg
IGNhc2UgREFURToKKyAgICAgICAgY2FzZSBNT05USDoKKyAgICAgICAgY2FzZSBXRUVLOgorICAg
ICAgICBjYXNlIFRJTUU6CisgICAgICAgIGNhc2UgREFURVRJTUVMT0NBTDoKICAgICAgICAgICAg
IHJldHVybiB0cnVlOwogICAgICAgICBjYXNlIEhJRERFTjoKICAgICAgICAgY2FzZSBSQU5HRToK
QEAgLTE3OTIsNiArMTkwMyw0NDUgQEAgYm9vbCBIVE1MSW5wdXRFbGVtZW50OjpwbGFjZWhvbGRl
clNob3VsZEJlVmlzaWJsZSgpIGNvbnN0CiAgICAgcmV0dXJuIElucHV0RWxlbWVudDo6cGxhY2Vo
b2xkZXJTaG91bGRCZVZpc2libGUodGhpcywgdGhpcyk7CiB9CiAKKy8vIC0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy8vICAg
RGF0ZSBhbmQgVGltZSB0eXBlcworCisvLyBXZSBkb24ndCB1c2UgV1RGOjpHcmVnb3JpYW5EYXRl
VGltZSBiZWNhdXNlIG9mIG1fd2VlayBhbmQgbV9taWxsaXNlY29uZC4KK2NsYXNzIERhdGVUaW1l
IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgY29uc3QgaW50IFVOU1BFQ0lGSUVEID0gLTE7CisgICAg
RGF0ZVRpbWUoKQorICAgICAgICA6IG1feWVhcihVTlNQRUNJRklFRCkKKyAgICAgICAgLCBtX21v
bnRoKFVOU1BFQ0lGSUVEKQorICAgICAgICAsIG1fd2VlayhVTlNQRUNJRklFRCkKKyAgICAgICAg
LCBtX2RheShVTlNQRUNJRklFRCkKKyAgICAgICAgLCBtX2hvdXIoVU5TUEVDSUZJRUQpCisgICAg
ICAgICwgbV9taW51dGUoVU5TUEVDSUZJRUQpCisgICAgICAgICwgbV9zZWNvbmQoVU5TUEVDSUZJ
RUQpCisgICAgICAgICwgbV9taWxsaXNlY29uZChVTlNQRUNJRklFRCkKKyAgICB7CisgICAgfQor
CisgICAgLy8gU2V0cyBtX3llYXIgYW5kIG1fbW9udGguCisgICAgYm9vbCBwYXJzZU1vbnRoKGNv
bnN0IFN0cmluZyYsIHVuc2lnbmVkLCB1bnNpZ25lZCopOworICAgIC8vIFNldHMgbV95ZWFyLCBt
X21vbnRoIGFuZCBtX2RheS4KKyAgICBib29sIHBhcnNlRGF0ZShjb25zdCBTdHJpbmcmLCB1bnNp
Z25lZCwgdW5zaWduZWQqKTsKKyAgICAvLyBTZXRzIG1feWVhciBhbmQgbV93ZWVrLgorICAgIGJv
b2wgcGFyc2VXZWVrKGNvbnN0IFN0cmluZyYsIHVuc2lnbmVkLCB1bnNpZ25lZCopOworICAgIC8v
IFNldHMgbV9ob3VyLCBtX21pbnV0ZSwgbV9zZWNvbmQgYW5kIG1fbWlsbGlzZWNvbmQuCisgICAg
Ym9vbCBwYXJzZVRpbWUoY29uc3QgU3RyaW5nJiwgdW5zaWduZWQsIHVuc2lnbmVkKik7CisgICAg
Ly8gQWxsIGZpZWxkcyBvdGhlciB0aGFuIG1fd2VlayBtdXN0IGJlIHNldCBiZWZvcmUgY2FsbGlu
ZyB0aGlzLgorICAgIGJvb2wgcGFyc2VUaW1lWm9uZShjb25zdCBTdHJpbmcmLCB1bnNpZ25lZCwg
dW5zaWduZWQqKTsKKworICAgIGludCBtYXhEYXlPZk1vbnRoKCkgY29uc3QKKyAgICB7CisgICAg
ICAgIEFTU0VSVChtX3llYXIgIT0gVU5TUEVDSUZJRUQpOworICAgICAgICBBU1NFUlQobV9tb250
aCAhPSBVTlNQRUNJRklFRCk7CisgICAgICAgIHJldHVybiBtYXhEYXlPZk1vbnRoKG1feWVhciwg
bV9tb250aCk7CisgICAgfQorCisgICAgaW50IG1heFdlZWsoKSBjb25zdAorICAgIHsKKyAgICAg
ICAgQVNTRVJUKG1feWVhciAhPSBVTlNQRUNJRklFRCk7CisgICAgICAgIGludCBkYXkgPSBkYXlP
ZldlZWsobV95ZWFyLCAxLCAxKTsKKyAgICAgICAgcmV0dXJuIGRheSA9PSBUSFVSU0RBWSB8fCBk
YXkgPT0gV0VETkVTREFZICYmIGlzTGVhcFllYXIobV95ZWFyKSA/IDUzIDogNTI7CisgICAgfQor
CisgICAgYm9vbCBhZGRNaW51dGUoaW50KTsKKyAgICBib29sIGFkZERheShpbnQpOworCitwcml2
YXRlOgorICAgIGludCBtX3llYXI7ICAvLyBVTlNQRUNJRklFRCwgb3IgMTU4Mi1JTlRfTUFYCisg
ICAgaW50IG1fbW9udGg7ICAvLyBVTlNQRUNJRklFRCwgb3IgMS0xMiB1bmxpa2Ugc3RydWN0IHRt
LgorICAgIGludCBtX3dlZWs7ICAvLyBVTlNQRUNJRklFRCwgb3IgMS01MworICAgIGludCBtX2Rh
eTsgIC8vIFVOU1BFQ0lGSUVELCBvciAxLTMxCisgICAgaW50IG1faG91cjsgIC8vIFVOU1BFQ0lG
SUVELCBvciAwLTIzCisgICAgaW50IG1fbWludXRlOyAgLy8gVU5TUEVDSUZJRUQsIG9yIDAtNTkK
KyAgICBpbnQgbV9zZWNvbmQ7ICAvLyBVTlNQRUNJRklFRCwgb3IgMC01OQorICAgIGludCBtX21p
bGxpc2Vjb25kOyAgLy8gVU5TUEVDSUZJRUQsIG9yIDAtOTk5CisKKyAgICAvLyBTZXRzIG1feWVh
ci4KKyAgICBib29sIHBhcnNlWWVhcihjb25zdCBTdHJpbmcmLCB1bnNpZ25lZCwgdW5zaWduZWQq
KTsKKworICAgIHN0YXRpYyB1bnNpZ25lZCBjb3VudERpZ2l0cyhjb25zdCBTdHJpbmcmLCB1bnNp
Z25lZCk7CisgICAgc3RhdGljIGJvb2wgaXNMZWFwWWVhcihpbnQgeWVhcikgeyByZXR1cm4gISh5
ZWFyICUgNDAwKSB8fCAoISh5ZWFyICUgNCkgJiYgKHllYXIgJSAxMDApKTsgfQorICAgIHN0YXRp
YyBpbnQgbWF4RGF5T2ZNb250aChpbnQgLyogeWVhciAqLywgaW50IC8qIG1vbnRoICovKTsKKwor
ICAgIHN0YXRpYyBpbmxpbmUgYm9vbCB0b0ludChjb25zdCBTdHJpbmcmIHNyYywgdW5zaWduZWQg
c3RhcnQsIHVuc2lnbmVkIGxlbiwgaW50KiBvdXQpCisgICAgeworICAgICAgICBib29sIG9rOwor
ICAgICAgICAqb3V0ID0gY2hhcmFjdGVyc1RvSW50U3RyaWN0KHNyYy5jaGFyYWN0ZXJzKCkgKyBz
dGFydCwgbGVuLCAmb2ssIDEwKTsKKyAgICAgICAgcmV0dXJuIG9rOworICAgIH0KKworICAgIC8v
IFJldHVybiB2YWx1ZSBvZiBkYXlPZldlZWsoKS4KKyAgICBlbnVtIHsKKyAgICAgICAgU0FUVVJE
QVkgPSAwLAorICAgICAgICBTVU5EQVksCisgICAgICAgIE1PTkRBWSwKKyAgICAgICAgVFVFU0RB
WSwKKyAgICAgICAgV0VETkVTREFZLAorICAgICAgICBUSFVSU0RBWSwKKyAgICAgICAgRlJJREFZ
CisgICAgfTsKKyAgICBzdGF0aWMgaW50IGRheU9mV2VlayhpbnQgLyogeWVhciAqLywgaW50IC8q
IG1vbnRoICovLCBpbnQgLyogZGF5ICovKTsKKworICAgIC8vIFRoZSBvbGRlc3QgZGF5IG9mIEdy
ZWdvcmlhbiBDYWxlbmRhciBpcyAxNTgyLTEwLTE1LiAgV2UgZG9uJ3Qgc3VwcG9ydCBkYXRlcyBv
bGRlciB0aGFuIGl0LgorICAgIHN0YXRpYyBjb25zdCBpbnQgZ3JlZ29yaWFuU3RhcnRZZWFyID0g
MTU4MjsKKyAgICBzdGF0aWMgY29uc3QgaW50IGdyZWdvcmlhblN0YXJ0TW9udGggPSAxMDsKKyAg
ICBzdGF0aWMgY29uc3QgaW50IGdyZWdvcmlhblN0YXJ0RGF5ID0gMTU7CisgICAgc3RhdGljIGlu
dCBtYXhEYXlPZk1vbnRoc1sxMl07Cit9OworCitpbnQgRGF0ZVRpbWU6Om1heERheU9mTW9udGhz
W10gPSB7MzEsIDI4LCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMxLCAzMCwgMzEsIDMwLCAzMX07CisK
K2ludCBEYXRlVGltZTo6bWF4RGF5T2ZNb250aChpbnQgeWVhciwgaW50IG1vbnRoKQoreworICAg
IGlmIChtb250aCAhPSAyKQorICAgICAgICByZXR1cm4gbWF4RGF5T2ZNb250aHNbbW9udGggLSAx
XTsKKyAgICByZXR1cm4gaXNMZWFwWWVhcih5ZWFyKSA/IDI5IDogMjg7Cit9CisKK2ludCBEYXRl
VGltZTo6ZGF5T2ZXZWVrKGludCB5ZWFyLCBpbnQgbW9udGgsIGludCBkYXkpCit7CisgICAgLy8g
WmVsbGVyJ3MgY29uZ3J1ZW5jZQorICAgIGlmIChtb250aCA8PSAyKSB7CisgICAgICAgIG1vbnRo
ICs9IDEyOworICAgICAgICB5ZWFyLS07CisgICAgfQorICAgIGludCBqID0geWVhciAvIDEwMDsK
KyAgICBpbnQgayA9IHllYXIgJSAxMDA7CisgICAgaW50IHJlc3VsdCA9IChkYXkgKyAxMyAqICht
b250aCArIDEpIC8gNSArIGsgKyBrIC8gNCArIGogLyA0IC0gMiAqIGopICUgNzsKKyAgICBpZiAo
cmVzdWx0IDwgMCkKKyAgICAgICAgcmVzdWx0ICs9IDc7CisgICAgcmV0dXJuIHJlc3VsdDsKK30K
KwordW5zaWduZWQgRGF0ZVRpbWU6OmNvdW50RGlnaXRzKGNvbnN0IFN0cmluZyYgc3JjLCB1bnNp
Z25lZCBzdGFydCkKK3sKKyAgICB1bnNpZ25lZCBjb3VudCA9IDA7CisgICAgZm9yICh1bnNpZ25l
ZCBsZW5ndGggPSBzcmMubGVuZ3RoKCk7IHN0YXJ0IDwgbGVuZ3RoOyArK3N0YXJ0LCArK2NvdW50
KSB7CisgICAgICAgIGlmICghaXNBU0NJSURpZ2l0KHNyY1tzdGFydF0pKQorICAgICAgICAgICAg
YnJlYWs7CisgICAgfQorICAgIHJldHVybiBjb3VudDsKK30KKworYm9vbCBEYXRlVGltZTo6cGFy
c2VZZWFyKGNvbnN0IFN0cmluZyYgc3JjLCB1bnNpZ25lZCBzdGFydCwgdW5zaWduZWQqIGVuZCkK
K3sKKyAgICB1bnNpZ25lZCBkaWdpdHNMZW5ndGggPSBjb3VudERpZ2l0cyhzcmMsIHN0YXJ0KTsK
KyAgICAvLyBOZWVkcyBhdCBsZWFzdCA0IGRpZ2l0cyBhY2NvcmRpbmcgdG8gdGhlIHN0YW5kYXJk
LgorICAgIGlmIChkaWdpdHNMZW5ndGggPCA0KQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAg
aW50IHllYXI7CisgICAgaWYgKCF0b0ludChzcmMsIHN0YXJ0LCBkaWdpdHNMZW5ndGgsICZ5ZWFy
KSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIC8vIE5vIHN1cHBvcnQgZm9yIHllYXJzIGJl
Zm9yZSBHcmVnb3JpYW4gY2FsZW5kYXIuCisgICAgaWYgKHllYXIgPCBncmVnb3JpYW5TdGFydFll
YXIpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBtX3llYXIgPSB5ZWFyOworICAgICplbmQg
PSBzdGFydCArIGRpZ2l0c0xlbmd0aDsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworYm9vbCBEYXRl
VGltZTo6cGFyc2VNb250aChjb25zdCBTdHJpbmcmIHNyYywgdW5zaWduZWQgc3RhcnQsIHVuc2ln
bmVkKiBlbmQpCit7CisgICAgdW5zaWduZWQgaTsKKyAgICBpZiAoIXBhcnNlWWVhcihzcmMsIHN0
YXJ0LCAmaSkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoaSA+PSBzcmMubGVuZ3Ro
KCkgfHwgc3JjW2krK10gIT0gJy0nKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaW50IG1v
bnRoOworICAgIGlmICghdG9JbnQoc3JjLCBpLCAyLCAmbW9udGgpIHx8IG1vbnRoIDwgMSB8fCBt
b250aCA+IDEyKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgLy8gTm8gc3VwcG9ydCBmb3Ig
bW9udGhzIGJlZm9yZSBHcmVnb3JpYW4gY2FsZW5kYXIuCisgICAgaWYgKG1feWVhciA9PSBncmVn
b3JpYW5TdGFydFllYXIgJiYgbW9udGggPCBncmVnb3JpYW5TdGFydE1vbnRoKQorICAgICAgICBy
ZXR1cm4gZmFsc2U7CisgICAgbV9tb250aCA9IG1vbnRoOworICAgICplbmQgPSBpICsgMjsKKyAg
ICByZXR1cm4gdHJ1ZTsKK30KKworYm9vbCBEYXRlVGltZTo6cGFyc2VEYXRlKGNvbnN0IFN0cmlu
ZyYgc3JjLCB1bnNpZ25lZCBzdGFydCwgdW5zaWduZWQqIGVuZCkKK3sKKyAgICB1bnNpZ25lZCBp
OworICAgIGlmICghcGFyc2VNb250aChzcmMsIHN0YXJ0LCAmaSkpCisgICAgICAgIHJldHVybiBm
YWxzZTsKKyAgICAvLyAnLScgYW5kIDItZGlnaXRzIGFyZSBuZWVkZWQuCisgICAgaWYgKGkgKyAy
ID49IHNyYy5sZW5ndGgoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmIChzcmNbaSsr
XSAhPSAnLScpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpbnQgZGF5OworICAgIGlmICgh
dG9JbnQoc3JjLCBpLCAyLCAmZGF5KSB8fCBkYXkgPCAxIHx8IGRheSA+IG1heERheU9mTW9udGgo
KSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIC8vIE5vIHN1cHBvcnQgZm9yIGRhdGVzIGJl
Zm9yZSBHcmVnb3JpYW4gY2FsZW5kYXIuCisgICAgaWYgKG1feWVhciA9PSBncmVnb3JpYW5TdGFy
dFllYXIgJiYgbV9tb250aCA9PSBncmVnb3JpYW5TdGFydE1vbnRoICYmIGRheSA8IGdyZWdvcmlh
blN0YXJ0RGF5KQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgbV9kYXkgPSBkYXk7CisgICAg
KmVuZCA9IGkgKyAyOworICAgIHJldHVybiB0cnVlOworfQorCitib29sIERhdGVUaW1lOjpwYXJz
ZVdlZWsoY29uc3QgU3RyaW5nJiBzcmMsIHVuc2lnbmVkIHN0YXJ0LCB1bnNpZ25lZCogZW5kKQor
eworICAgIHVuc2lnbmVkIGk7CisgICAgaWYgKCFwYXJzZVllYXIoc3JjLCBzdGFydCwgJmkpKQor
ICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgLy8gNCBjaGFyYWN0ZXJzICgnLScgJ1cnIGRpZ2l0
IGRpZ2l0KSBhcmUgbmVlZGVkLgorICAgIGlmIChpICsgMyA+PSBzcmMubGVuZ3RoKCkpCisgICAg
ICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoc3JjW2krK10gIT0gJy0nKQorICAgICAgICByZXR1
cm4gZmFsc2U7CisgICAgaWYgKHNyY1tpKytdICE9ICdXJykKKyAgICAgICAgcmV0dXJuIGZhbHNl
OworICAgIGludCB3ZWVrOworICAgIGlmICghdG9JbnQoc3JjLCBpLCAyLCAmd2VlaykgfHwgd2Vl
ayA8IDEgfHwgd2VlayA+IG1heFdlZWsoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIC8v
IE5vIHN1cHBvcnQgZm9yIHllYXJzIG9sZGVyIHRoYW4gb3IgZXF1YWxzIHRvIEdyZWdvcmlhbiBj
YWxlbmRhciBzdGFydCB5ZWFyLgorICAgIGlmIChtX3llYXIgPD0gZ3JlZ29yaWFuU3RhcnRZZWFy
KQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgbV93ZWVrID0gd2VlazsKKyAgICAqZW5kID0g
aSArIDI7CisgICAgcmV0dXJuIHRydWU7Cit9CisKK2Jvb2wgRGF0ZVRpbWU6OnBhcnNlVGltZShj
b25zdCBTdHJpbmcmIHNyYywgdW5zaWduZWQgc3RhcnQsIHVuc2lnbmVkKiBlbmQpCit7CisgICAg
aW50IGhvdXI7CisgICAgaWYgKCF0b0ludChzcmMsIHN0YXJ0LCAyLCAmaG91cikgfHwgaG91ciA8
IDAgfHwgaG91ciA+IDIzKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgdW5zaWduZWQgaSA9
IHN0YXJ0ICsgMjsKKyAgICBpZiAoaSA+PSBzcmMubGVuZ3RoKCkpCisgICAgICAgIHJldHVybiBm
YWxzZTsKKyAgICBpZiAoc3JjW2krK10gIT0gJzonKQorICAgICAgICByZXR1cm4gZmFsc2U7Cisg
ICAgaW50IG1pbnV0ZTsKKyAgICBpZiAoIXRvSW50KHNyYywgaSwgMiwgJm1pbnV0ZSkgfHwgbWlu
dXRlIDwgMCB8fCBtaW51dGUgPiA1OSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGkgKz0g
MjsKKyAgICBtX2hvdXIgPSBob3VyOworICAgIG1fbWludXRlID0gbWludXRlOworICAgIG1fc2Vj
b25kID0gMDsKKyAgICBtX21pbGxpc2Vjb25kID0gMDsKKworICAgIC8vIE9wdGlvbmFsIHNlY29u
ZCBwYXJ0CisgICAgaWYgKGkgKyAyIDwgc3JjLmxlbmd0aCgpICYmIHNyY1tpXSA9PSAnOicpIHsK
KyAgICAgICAgaW50IHNlY29uZDsKKyAgICAgICAgaWYgKHRvSW50KHNyYywgaSArIDEsIDIsICZz
ZWNvbmQpICYmIHNlY29uZCA+PSAwICYmIHNlY29uZCA8PSA1OSkgeworICAgICAgICAgICAgbV9z
ZWNvbmQgPSBzZWNvbmQ7CisgICAgICAgICAgICBpICs9IDM7CisKKyAgICAgICAgICAgIC8vIE9w
dGlvbmFsIGZyYWN0aW9uYWwgc2Vjb25kIHBhcnQKKyAgICAgICAgICAgIGlmIChpIDwgc3JjLmxl
bmd0aCgpICYmIHNyY1tpXSA9PSAnLicpIHsKKyAgICAgICAgICAgICAgICB1bnNpZ25lZCBkaWdp
dHNMZW5ndGggPSBjb3VudERpZ2l0cyhzcmMsICsraSk7CisgICAgICAgICAgICAgICAgaWYgKGRp
Z2l0c0xlbmd0aCA+IDApIHsKKyAgICAgICAgICAgICAgICAgICAgYm9vbCBvazsKKyAgICAgICAg
ICAgICAgICAgICAgaW50IG1pbGxpOworICAgICAgICAgICAgICAgICAgICBpZiAoZGlnaXRzTGVu
Z3RoID09IDEpCisgICAgICAgICAgICAgICAgICAgICAgICBtaWxsaSA9IGNoYXJhY3RlcnNUb0lu
dFN0cmljdChzcmMuY2hhcmFjdGVycygpICsgaSwgMSwgJm9rLCAxMCkgKiAxMDA7CisgICAgICAg
ICAgICAgICAgICAgIGVsc2UgaWYgKGRpZ2l0c0xlbmd0aCA9PSAyKQorICAgICAgICAgICAgICAg
ICAgICAgICAgbWlsbGkgPSBjaGFyYWN0ZXJzVG9JbnRTdHJpY3Qoc3JjLmNoYXJhY3RlcnMoKSAr
IGksIDIsICZvaywgMTApICogMTA7CisgICAgICAgICAgICAgICAgICAgIGVsc2UgLy8gZGlnaXRz
TGVuZ3RoID49IDMKKyAgICAgICAgICAgICAgICAgICAgICAgIG1pbGxpID0gY2hhcmFjdGVyc1Rv
SW50U3RyaWN0KHNyYy5jaGFyYWN0ZXJzKCkgKyBpLCAzLCAmb2ssIDEwKTsKKyAgICAgICAgICAg
ICAgICAgICAgaWYgKG9rKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBtX21pbGxpc2Vjb25k
ID0gbWlsbGk7CisgICAgICAgICAgICAgICAgICAgICAgICBpICs9IGRpZ2l0c0xlbmd0aDsKKyAg
ICAgICAgICAgICAgICAgICAgfSBlbHNlCisgICAgICAgICAgICAgICAgICAgICAgICAtLWk7Cisg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorICAgICpl
bmQgPSBpOworICAgIHJldHVybiB0cnVlOworfQorCitib29sIERhdGVUaW1lOjpwYXJzZVRpbWVa
b25lKGNvbnN0IFN0cmluZyYgc3JjLCB1bnNpZ25lZCBzdGFydCwgdW5zaWduZWQqIGVuZCkKK3sK
KyAgICBpZiAoc3RhcnQgPj0gc3JjLmxlbmd0aCgpKQorICAgICAgICByZXR1cm4gZmFsc2U7Cisg
ICAgdW5zaWduZWQgaSA9IHN0YXJ0OworICAgIGludCBob3VyOworICAgIGludCBtaW51dGU7Cisg
ICAgaWYgKHNyY1tpXSA9PSAnWicpIHsKKyAgICAgICAgKytpOworICAgICAgICBob3VyID0gMDsK
KyAgICAgICAgbWludXRlID0gMDsKKyAgICB9IGVsc2UgeworICAgICAgICBib29sIG1pbnVzOwor
ICAgICAgICBpZiAoc3JjW2ldID09ICcrJykKKyAgICAgICAgICAgIG1pbnVzID0gZmFsc2U7Cisg
ICAgICAgIGVsc2UgaWYgKHNyY1tpXSA9PSAnLScpCisgICAgICAgICAgICBtaW51cyA9IHRydWU7
CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgKytpOwor
ICAgICAgICBpZiAoIXRvSW50KHNyYywgaSwgMiwgJmhvdXIpIHx8IGhvdXIgPCAwIHx8IGhvdXIg
PiAyMykKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgaSArPSAyOworICAgICAg
ICBpZiAoaSA+PSBzcmMubGVuZ3RoKCkgfHwgc3JjW2krK10gIT0gJzonKQorICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOworICAgICAgICBpZiAoIXRvSW50KHNyYywgaSwgMiwgJm1pbnV0ZSkgfHwg
bWludXRlIDwgMCB8fCBtaW51dGUgPiA1OSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAg
ICAgICAgaWYgKG1pbnVzKSB7CisgICAgICAgICAgICBob3VyID0gLWhvdXI7CisgICAgICAgICAg
ICBtaW51dGUgPSAtbWludXRlOworICAgICAgICB9CisgICAgICAgIGkgKz0gMjsKKyAgICB9CisK
KyAgICAvLyBTdWJ0cmFjdCB0aGUgdGltZXpvbmUgb2Zmc2V0IGZyb20gKm91dC4KKyAgICBpZiAo
IWFkZE1pbnV0ZSggLShob3VyICogNjAgKyBtaW51dGUpKSkKKyAgICAgICAgcmV0dXJuIGZhbHNl
OworICAgICplbmQgPSBpOworICAgIHJldHVybiB0cnVlOworfQorCitib29sIERhdGVUaW1lOjph
ZGRNaW51dGUoaW50IG1pbnV0ZSkKK3sKKyAgICBBU1NFUlQobV9taW51dGUgIT0gVU5TUEVDSUZJ
RUQpOworICAgIEFTU0VSVChtX2hvdXIgIT0gVU5TUEVDSUZJRUQpOworCisgICAgaW50IGNhcnJ5
OworICAgIC8vIG1pbnV0ZSBjYW4gYmUgbmVnYXRpdmUgb3IgZ3JlYXRlciB0aGFuIDU5CisgICAg
bWludXRlID0gbV9taW51dGUgKyBtaW51dGU7CisgICAgaWYgKG1pbnV0ZSA+IDU5KSB7CisgICAg
ICAgIGNhcnJ5ID0gbWludXRlIC8gNjA7CisgICAgICAgIG1pbnV0ZSA9IG1pbnV0ZSAlIDYwOwor
ICAgIH0gZWxzZSBpZiAobWludXRlIDwgMCkgeworICAgICAgICBjYXJyeSA9ICg1OSAtIG1pbnV0
ZSkgLyA2MDsKKyAgICAgICAgbWludXRlID0gbWludXRlICsgY2FycnkgKiA2MDsKKyAgICAgICAg
Y2FycnkgPSAtY2Fycnk7CisgICAgICAgIEFTU0VSVChtX21pbnV0ZSA+PSAwICYmIG1fbWludXRl
IDw9IDU5KTsKKyAgICB9IGVsc2UgeworICAgICAgICBtX21pbnV0ZSA9IG1pbnV0ZTsKKyAgICAg
ICAgcmV0dXJuIHRydWU7CisgICAgfQorCisgICAgaW50IGhvdXIgPSBtX2hvdXIgKyBjYXJyeTsK
KyAgICBpZiAoaG91ciA+IDIzKSB7CisgICAgICAgIGNhcnJ5ID0gaG91ciAvIDI0OworICAgICAg
ICBob3VyID0gaG91ciAlIDI0OworICAgIH0gZWxzZSBpZiAoaG91ciA8IDApIHsKKyAgICAgICAg
Y2FycnkgPSAoMjMgLSBob3VyKSAvIDI0OworICAgICAgICBob3VyID0gaG91ciArIGNhcnJ5ICog
MjQ7CisgICAgICAgIGNhcnJ5ID0gLWNhcnJ5OworICAgICAgICBBU1NFUlQobV9ob3VyID49IDAg
JiYgbV9ob3VyIDw9IDIzKTsKKyAgICB9IGVsc2UgeworICAgICAgICBtX21pbnV0ZSA9IG1pbnV0
ZTsKKyAgICAgICAgbV9ob3VyID0gaG91cjsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQor
ICAgIGlmICghYWRkRGF5KGNhcnJ5KSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIG1fbWlu
dXRlID0gbWludXRlOworICAgIG1faG91ciA9IGhvdXI7CisgICAgcmV0dXJuIHRydWU7Cit9CisK
K2Jvb2wgRGF0ZVRpbWU6OmFkZERheShpbnQgZGF5RGlmZikKK3sKKyAgICBBU1NFUlQobV9kYXkg
IT0gVU5TUEVDSUZJRUQpOworICAgIEFTU0VSVChtX21vbnRoICE9IFVOU1BFQ0lGSUVEKTsKKyAg
ICBBU1NFUlQobV95ZWFyICE9IFVOU1BFQ0lGSUVEKTsKKworICAgIGludCBkYXkgPSBtX2RheSAr
IGRheURpZmY7CisgICAgaWYgKGRheSA+IG1heERheU9mTW9udGgoKSkgeworICAgICAgICBkYXkg
PSBtX2RheTsKKyAgICAgICAgZm9yICg7IGRheURpZmYgPiAwOyAtLWRheURpZmYpIHsKKyAgICAg
ICAgICAgICsrZGF5OworICAgICAgICAgICAgaWYgKGRheSA+IG1heERheU9mTW9udGgoKSkgewor
ICAgICAgICAgICAgICAgIGRheSA9IDE7CisgICAgICAgICAgICAgICAgKyttX21vbnRoOworICAg
ICAgICAgICAgICAgIGlmIChtX21vbnRoID4gMTIpIHsKKyAgICAgICAgICAgICAgICAgICAgbV9t
b250aCA9IDE7CisgICAgICAgICAgICAgICAgICAgICsrbV95ZWFyOworICAgICAgICAgICAgICAg
ICAgICBpZiAobV95ZWFyIDwgMCkgIC8vIE92ZXJmbG93LgorICAgICAgICAgICAgICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAg
ICAgfQorICAgIH0gZWxzZSBpZiAoZGF5IDwgMSkgeworICAgICAgICBpbnQgbW9udGggPSBtX21v
bnRoOworICAgICAgICBpbnQgeWVhciA9IG1feWVhcjsKKyAgICAgICAgZGF5ID0gbV9kYXk7Cisg
ICAgICAgIGZvciAoOyBkYXlEaWZmIDwgMDsgKytkYXlEaWZmKSB7CisgICAgICAgICAgICAtLWRh
eTsKKyAgICAgICAgICAgIGlmIChkYXkgPCAxKSB7CisgICAgICAgICAgICAgICAgLS1tb250aDsK
KyAgICAgICAgICAgICAgICBpZiAobW9udGggPCAxKSB7CisgICAgICAgICAgICAgICAgICAgIG1v
bnRoID0gMTI7CisgICAgICAgICAgICAgICAgICAgIC0teWVhcjsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICAgICAgZGF5ID0gbWF4RGF5T2ZNb250aCh5ZWFyLCBtb250aCk7CisgICAg
ICAgICAgICB9CisgICAgICAgICAgICBpZiAoeWVhciA8IGdyZWdvcmlhblN0YXJ0WWVhcgorICAg
ICAgICAgICAgICAgICAgICB8fCB5ZWFyID09IGdyZWdvcmlhblN0YXJ0WWVhciAmJiBtb250aCA8
IGdyZWdvcmlhblN0YXJ0TW9udGgKKyAgICAgICAgICAgICAgICAgICAgfHwgeWVhciA9PSBncmVn
b3JpYW5TdGFydFllYXIgJiYgbW9udGggPT0gZ3JlZ29yaWFuU3RhcnRNb250aCAmJiBkYXkgPCBn
cmVnb3JpYW5TdGFydERheSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAg
IH0KKyAgICAgICAgbV95ZWFyID0geWVhcjsKKyAgICAgICAgbV9tb250aCA9IG1vbnRoOworICAg
IH0KKyAgICBtX2RheSA9IGRheTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworYm9vbCBIVE1MSW5w
dXRFbGVtZW50Ojpmb3JtU3RyaW5nVG9EYXRlVGltZShJbnB1dFR5cGUgdHlwZSwgY29uc3QgU3Ry
aW5nJiBzcmMsIERhdGVUaW1lKiBvdXQpCit7CisgICAgRGF0ZVRpbWUgcmVzdWx0OworICAgIGlm
ICghb3V0KQorICAgICAgICBvdXQgPSAmcmVzdWx0OworICAgIHVuc2lnbmVkIGVuZDsKKworICAg
IHN3aXRjaCAodHlwZSkgeworICAgIGNhc2UgREFURVRJTUU6CisgICAgICAgIGlmICghb3V0LT5w
YXJzZURhdGUoc3JjLCAwLCAmZW5kKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAg
ICAgaWYgKGVuZCA+PSBzcmMubGVuZ3RoKCkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7Cisg
ICAgICAgIGlmIChzcmNbZW5kKytdICE9ICdUJykKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsK
KyAgICAgICAgaWYgKCFvdXQtPnBhcnNlVGltZShzcmMsIGVuZCwgJmVuZCkpCisgICAgICAgICAg
ICByZXR1cm4gZmFsc2U7CisgICAgICAgIGlmICghb3V0LT5wYXJzZVRpbWVab25lKHNyYywgZW5k
LCAmZW5kKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgcmV0dXJuIGVuZCA9
PSBzcmMubGVuZ3RoKCk7CisgICAgY2FzZSBEQVRFVElNRUxPQ0FMOgorICAgICAgICBpZiAoIW91
dC0+cGFyc2VEYXRlKHNyYywgMCwgJmVuZCkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7Cisg
ICAgICAgIGlmIChlbmQgPj0gc3JjLmxlbmd0aCgpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNl
OworICAgICAgICBpZiAoc3JjW2VuZCsrXSAhPSAnVCcpCisgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CisgICAgICAgIGlmICghb3V0LT5wYXJzZVRpbWUoc3JjLCBlbmQsICZlbmQpKQorICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICByZXR1cm4gZW5kID09IHNyYy5sZW5ndGgoKTsK
KyAgICBjYXNlIERBVEU6CisgICAgICAgIGlmICghb3V0LT5wYXJzZURhdGUoc3JjLCAwLCAmZW5k
KSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgcmV0dXJuIGVuZCA9PSBzcmMu
bGVuZ3RoKCk7CisgICAgY2FzZSBNT05USDoKKyAgICAgICAgaWYgKCFvdXQtPnBhcnNlTW9udGgo
c3JjLCAwLCAmZW5kKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgcmV0dXJu
IGVuZCA9PSBzcmMubGVuZ3RoKCk7CisgICAgY2FzZSBXRUVLOgorICAgICAgICBpZiAoIW91dC0+
cGFyc2VXZWVrKHNyYywgMCwgJmVuZCkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAg
ICAgIHJldHVybiBlbmQgPT0gc3JjLmxlbmd0aCgpOworICAgIGNhc2UgVElNRToKKyAgICAgICAg
aWYgKCFvdXQtPnBhcnNlVGltZShzcmMsIDAsICZlbmQpKQorICAgICAgICAgICAgcmV0dXJuIGZh
bHNlOworICAgICAgICByZXR1cm4gZW5kID09IHNyYy5sZW5ndGgoKTsKKyAgICBkZWZhdWx0Ogor
ICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICB9CisgICAgcmV0dXJuIGZhbHNlOwor
fQorCisvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCisKICNpZiBFTkFCTEUoREFUQUxJU1QpCiBIVE1MRWxlbWVudCogSFRN
TElucHV0RWxlbWVudDo6bGlzdCgpIGNvbnN0CiB7CkBAIC0xODExLDcgKzIzNjEsMTMgQEAgSFRN
TERhdGFMaXN0RWxlbWVudCogSFRNTElucHV0RWxlbWVudDo6ZGF0YUxpc3QoKSBjb25zdAogICAg
IGNhc2UgRU1BSUw6CiAgICAgY2FzZSBOVU1CRVI6CiAgICAgY2FzZSBSQU5HRToKLSAgICBjYXNl
IENPTE9SOiB7CisgICAgY2FzZSBDT0xPUjoKKyAgICBjYXNlIERBVEVUSU1FOgorICAgIGNhc2Ug
REFURToKKyAgICBjYXNlIE1PTlRIOgorICAgIGNhc2UgV0VFSzoKKyAgICBjYXNlIFRJTUU6Cisg
ICAgY2FzZSBEQVRFVElNRUxPQ0FMOiB7CiAgICAgICAgIEVsZW1lbnQqIGVsZW1lbnQgPSBkb2N1
bWVudCgpLT5nZXRFbGVtZW50QnlJZChnZXRBdHRyaWJ1dGUobGlzdEF0dHIpKTsKICAgICAgICAg
aWYgKGVsZW1lbnQgJiYgZWxlbWVudC0+aGFzVGFnTmFtZShkYXRhbGlzdFRhZykpCiAgICAgICAg
ICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8SFRNTERhdGFMaXN0RWxlbWVudCo+KGVsZW1lbnQpOwpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaCBiL1dlYkNvcmUvaHRt
bC9IVE1MSW5wdXRFbGVtZW50LmgKaW5kZXggN2Y2M2QxYy4uMTNhYWRjMiAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTElu
cHV0RWxlbWVudC5oCkBAIC0zMCw2ICszMCw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAor
Y2xhc3MgRGF0ZVRpbWU7CiBjbGFzcyBGaWxlTGlzdDsKIGNsYXNzIEhUTUxEYXRhTGlzdEVsZW1l
bnQ7CiBjbGFzcyBIVE1MSW1hZ2VMb2FkZXI7CkBAIC01Nyw3ICs1OCwxMyBAQCBwdWJsaWM6CiAg
ICAgICAgIE5VTUJFUiwKICAgICAgICAgVEVMRVBIT05FLAogICAgICAgICBVUkwsCi0gICAgICAg
IENPTE9SCisgICAgICAgIENPTE9SLAorICAgICAgICBEQVRFVElNRSwKKyAgICAgICAgREFURSwK
KyAgICAgICAgTU9OVEgsCisgICAgICAgIFdFRUssCisgICAgICAgIFRJTUUsCisgICAgICAgIERB
VEVUSU1FTE9DQUwKICAgICB9OwogICAgIAogICAgIGVudW0gQXV0b0NvbXBsZXRlU2V0dGluZyB7
CkBAIC05OCw3ICsxMDUsNyBAQCBwdWJsaWM6CiAKICAgICBib29sIGlzVGV4dEJ1dHRvbigpIGNv
bnN0IHsgcmV0dXJuIG1fdHlwZSA9PSBTVUJNSVQgfHwgbV90eXBlID09IFJFU0VUIHx8IG1fdHlw
ZSA9PSBCVVRUT047IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNSYWRpb0J1dHRvbigpIGNvbnN0IHsg
cmV0dXJuIG1fdHlwZSA9PSBSQURJTzsgfQotICAgIHZpcnR1YWwgYm9vbCBpc1RleHRGaWVsZCgp
IGNvbnN0IHsgcmV0dXJuIG1fdHlwZSA9PSBURVhUIHx8IG1fdHlwZSA9PSBQQVNTV09SRCB8fCBt
X3R5cGUgPT0gU0VBUkNIIHx8IG1fdHlwZSA9PSBJU0lOREVYIHx8IG1fdHlwZSA9PSBFTUFJTCB8
fCBtX3R5cGUgPT0gTlVNQkVSIHx8IG1fdHlwZSA9PSBURUxFUEhPTkUgfHwgbV90eXBlID09IFVS
TCB8fCBtX3R5cGUgPT0gQ09MT1I7IH0KKyAgICB2aXJ0dWFsIGJvb2wgaXNUZXh0RmllbGQoKSBj
b25zdDsKICAgICB2aXJ0dWFsIGJvb2wgaXNTZWFyY2hGaWVsZCgpIGNvbnN0IHsgcmV0dXJuIG1f
dHlwZSA9PSBTRUFSQ0g7IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNJbnB1dFR5cGVIaWRkZW4oKSBj
b25zdCB7IHJldHVybiBtX3R5cGUgPT0gSElEREVOOyB9CiAgICAgdmlydHVhbCBib29sIGlzUGFz
c3dvcmRGaWVsZCgpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZSA9PSBQQVNTV09SRDsgfQpAQCAtMjMx
LDYgKzIzOCwxMiBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIHdpbGxWYWxpZGF0ZSgpIGNv
bnN0OwogCiAgICAgdmlydHVhbCBib29sIHBsYWNlaG9sZGVyU2hvdWxkQmVWaXNpYmxlKCkgY29u
c3Q7CisKKyAgICAvLyBQYXJzZXMgdGhlIHNwZWNpZmllZCBzdHJpbmcgYXMgdGhlIElucHV0VHlw
ZSwgYW5kIHJldHVybnMgdHJ1ZQorICAgIC8vIGlmIGl0IGlzIHN1Y2Nlc3NmdWxseSBwYXJzZWQu
ICBBbiBpbnN0YW5jZSBwb2ludGVkIGJ5IHRoZQorICAgIC8vIERhdGVUaW1lKiBwYXJhbWV0ZXIg
d2lsbCBoYXZlIHBhcnNlZCB2YWx1ZXMgYW5kIGJlIG1vZGlmaWVkCisgICAgLy8gZXZlbiBpZiB0
aGUgcGFyc2luZyBmYWlscy4gIFRoZSBEYXRhVGltZSogcGFyYW1ldGVyIG1heSBiZSAwLgorICAg
IHN0YXRpYyBib29sIGZvcm1TdHJpbmdUb0RhdGVUaW1lKElucHV0VHlwZSwgY29uc3QgU3RyaW5n
JiwgRGF0ZVRpbWUqKTsKICAgICAKIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIHZvaWQgd2lsbE1v
dmVUb05ld093bmVyRG9jdW1lbnQoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9WYWxpZGl0
eVN0YXRlLmNwcCBiL1dlYkNvcmUvaHRtbC9WYWxpZGl0eVN0YXRlLmNwcAppbmRleCBhMmI2ZDhl
Li5hZjdkZGJmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvVmFsaWRpdHlTdGF0ZS5jcHAKKysr
IGIvV2ViQ29yZS9odG1sL1ZhbGlkaXR5U3RhdGUuY3BwCkBAIC00Nyw5ICs0NywxOSBAQCBib29s
IFZhbGlkaXR5U3RhdGU6OnR5cGVNaXNtYXRjaCgpCiAgICAgaWYgKHZhbHVlLmlzRW1wdHkoKSkK
ICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgaWYgKGlucHV0LT5pbnB1dFR5cGUoKSAhPSBI
VE1MSW5wdXRFbGVtZW50OjpDT0xPUikKKyAgICBzd2l0Y2ggKGlucHV0LT5pbnB1dFR5cGUoKSkg
eworICAgIGNhc2UgSFRNTElucHV0RWxlbWVudDo6Q09MT1I6CisgICAgICAgIHJldHVybiAhaXNW
YWxpZENvbG9yU3RyaW5nKHZhbHVlKTsKKyAgICBjYXNlIEhUTUxJbnB1dEVsZW1lbnQ6OkRBVEU6
CisgICAgY2FzZSBIVE1MSW5wdXRFbGVtZW50OjpEQVRFVElNRToKKyAgICBjYXNlIEhUTUxJbnB1
dEVsZW1lbnQ6OkRBVEVUSU1FTE9DQUw6CisgICAgY2FzZSBIVE1MSW5wdXRFbGVtZW50OjpNT05U
SDoKKyAgICBjYXNlIEhUTUxJbnB1dEVsZW1lbnQ6OlRJTUU6CisgICAgY2FzZSBIVE1MSW5wdXRF
bGVtZW50OjpXRUVLOgorICAgICAgICByZXR1cm4gIUhUTUxJbnB1dEVsZW1lbnQ6OmZvcm1TdHJp
bmdUb0RhdGVUaW1lKGlucHV0LT5pbnB1dFR5cGUoKSwgdmFsdWUsIDApOworICAgIGRlZmF1bHQ6
CiAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICByZXR1cm4gIWlzVmFsaWRDb2xvclN0cmluZyh2
YWx1ZSk7CisgICAgfQogfQogCiBib29sIFZhbGlkaXR5U3RhdGU6OnZhbGlkKCkK
</data>
<flag name="review"
          id="20186"
          type_id="1"
          status="-"
          setter="tkent"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>39342</attachid>
            <date>2009-09-10 05:14:58 -0700</date>
            <delta_ts>2009-09-23 19:43:26 -0700</delta_ts>
            <desc>Patch part 1: recognize date&amp;time types as text fields</desc>
            <filename>datetime-types-1.diff</filename>
            <type>text/plain</type>
            <size>17300</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MmU1YTE5ZS4uOGJlZjI4YSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMSBAQAorMjAwOS0wOS0wMSAgS2VudCBUYW11cmEg
IDx0a2VudEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgUmVjb2duaXplcyBkYXRlL2RhdGV0aW1lL2RhdGV0aW1lLWxvY2FsL21v
bnRoL3RpbWUvd2VlayB0eXBlcyBvZiBJTlBVVCBlbGVtZW50LgorICAgICAgICBUaGV5IGhhdmUg
bm8gZGVkaWNhdGVkIFVJIGFuZCBubyB0eXBlIHZhbGlkYXRpb24gZm9yIG5vdy4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI5MDA0CisKKyAgICAgICAg
KiBodG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0
RWxlbWVudDo6dmFsdWVNaXNzaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1l
bnQ6OnBhdHRlcm5NaXNtYXRjaCk6CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVUeXBlTWFwKToK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQ6OnNldElucHV0VHlwZSk6CisgICAg
ICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50Ojpmb3JtQ29udHJvbFR5cGUpOgorICAgICAg
ICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6c2F2ZUZvcm1Db250cm9sU3RhdGUpOgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6cmVzdG9yZUZvcm1Db250cm9sU3RhdGUp
OgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6YWNjZXNzS2V5QWN0aW9uKToK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQ6OnJlbmRlcmVySXNOZWVkZWQpOgor
ICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6Y3JlYXRlUmVuZGVyZXIpOgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6YXBwZW5kRm9ybURhdGEpOgorICAgICAg
ICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6aXNUZXh0RmllbGQpOgorICAgICAgICAoV2Vi
Q29yZTo6SFRNTElucHV0RWxlbWVudDo6dmFsdWVXaXRoRGVmYXVsdCk6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MSW5wdXRFbGVtZW50OjpzdG9yZXNWYWx1ZVNlcGFyYXRlRnJvbUF0dHJpYnV0ZSk6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50OjpkZWZhdWx0RXZlbnRIYW5kbGVy
KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQ6OmlzUmVxdWlyZWRGb3JtQ29u
dHJvbCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50OjpkYXRhTGlzdCk6Cisg
ICAgICAgICogaHRtbC9IVE1MSW5wdXRFbGVtZW50Lmg6CisKIDIwMDktMDktMDggIEFkYW0gQmFy
dGggIDxhYmFydGhAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBFcmljIFNlaWRl
bC4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcCBiL1dlYkNv
cmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcAppbmRleCA0YWUyZWM5Li5jNjU4ZGM1IDEwMDY0
NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAKKysrIGIvV2ViQ29yZS9o
dG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCkBAIC01OCw3ICs1OCw5IEBACiAjaW5jbHVkZSAiUmVu
ZGVyVGV4dC5oIgogI2luY2x1ZGUgIlJlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5oIgogI2lu
Y2x1ZGUgIlJlbmRlclRoZW1lLmgiCisjaW5jbHVkZSAiU3RyaW5nSGFzaC5oIgogI2luY2x1ZGUg
IlRleHRFdmVudC5oIgorI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL01h
dGhFeHRyYXMuaD4KICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAKQEAgLTEzMyw2ICsx
MzUsMTIgQEAgYm9vbCBIVE1MSW5wdXRFbGVtZW50Ojp2YWx1ZU1pc3NpbmcoKSBjb25zdAogICAg
ICAgICBjYXNlIFBBU1NXT1JEOgogICAgICAgICBjYXNlIE5VTUJFUjoKICAgICAgICAgY2FzZSBG
SUxFOgorICAgICAgICBjYXNlIERBVEVUSU1FOgorICAgICAgICBjYXNlIERBVEU6CisgICAgICAg
IGNhc2UgTU9OVEg6CisgICAgICAgIGNhc2UgV0VFSzoKKyAgICAgICAgY2FzZSBUSU1FOgorICAg
ICAgICBjYXNlIERBVEVUSU1FTE9DQUw6CiAgICAgICAgICAgICByZXR1cm4gdmFsdWUoKS5pc0Vt
cHR5KCk7CiAgICAgICAgIGNhc2UgQ0hFQ0tCT1g6CiAgICAgICAgICAgICByZXR1cm4gIWNoZWNr
ZWQoKTsKQEAgLTE2OSw2ICsxNzcsMTIgQEAgYm9vbCBIVE1MSW5wdXRFbGVtZW50OjpwYXR0ZXJu
TWlzbWF0Y2goKSBjb25zdAogICAgICAgICBjYXNlIFJBTkdFOgogICAgICAgICBjYXNlIE5VTUJF
UjoKICAgICAgICAgY2FzZSBDT0xPUjoKKyAgICAgICAgY2FzZSBEQVRFVElNRToKKyAgICAgICAg
Y2FzZSBEQVRFOgorICAgICAgICBjYXNlIE1PTlRIOgorICAgICAgICBjYXNlIFdFRUs6CisgICAg
ICAgIGNhc2UgVElNRToKKyAgICAgICAgY2FzZSBEQVRFVElNRUxPQ0FMOgogICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOwogICAgICAgICBjYXNlIFRFWFQ6CiAgICAgICAgIGNhc2UgU0VBUkNIOgpA
QCAtMjgyLDQ0ICsyOTYsNDIgQEAgdm9pZCBIVE1MSW5wdXRFbGVtZW50OjpzZXRUeXBlKGNvbnN0
IFN0cmluZyYgdCkKICAgICAgICAgc2V0QXR0cmlidXRlKHR5cGVBdHRyLCB0KTsKIH0KIAordHlw
ZWRlZiBIYXNoTWFwPFN0cmluZywgSFRNTElucHV0RWxlbWVudDo6SW5wdXRUeXBlLCBDYXNlRm9s
ZGluZ0hhc2g+IElucHV0VHlwZU1hcDsKK3N0YXRpYyBjb25zdCBJbnB1dFR5cGVNYXAqIGNyZWF0
ZVR5cGVNYXAoKQoreworICAgIElucHV0VHlwZU1hcCogbWFwID0gbmV3IElucHV0VHlwZU1hcDsK
KyAgICBtYXAtPmFkZChTdHJpbmcoImJ1dHRvbiIpLCBIVE1MSW5wdXRFbGVtZW50OjpCVVRUT04p
OworICAgIG1hcC0+YWRkKFN0cmluZygiY2hlY2tib3giKSwgSFRNTElucHV0RWxlbWVudDo6Q0hF
Q0tCT1gpOworICAgIG1hcC0+YWRkKFN0cmluZygiY29sb3IiKSwgSFRNTElucHV0RWxlbWVudDo6
Q09MT1IpOworICAgIG1hcC0+YWRkKFN0cmluZygiZGF0ZSIpLCBIVE1MSW5wdXRFbGVtZW50OjpE
QVRFKTsKKyAgICBtYXAtPmFkZChTdHJpbmcoImRhdGV0aW1lIiksIEhUTUxJbnB1dEVsZW1lbnQ6
OkRBVEVUSU1FKTsKKyAgICBtYXAtPmFkZChTdHJpbmcoImRhdGV0aW1lLWxvY2FsIiksIEhUTUxJ
bnB1dEVsZW1lbnQ6OkRBVEVUSU1FTE9DQUwpOworICAgIG1hcC0+YWRkKFN0cmluZygiZW1haWwi
KSwgSFRNTElucHV0RWxlbWVudDo6RU1BSUwpOworICAgIG1hcC0+YWRkKFN0cmluZygiZmlsZSIp
LCBIVE1MSW5wdXRFbGVtZW50OjpGSUxFKTsKKyAgICBtYXAtPmFkZChTdHJpbmcoImhpZGRlbiIp
LCBIVE1MSW5wdXRFbGVtZW50OjpISURERU4pOworICAgIG1hcC0+YWRkKFN0cmluZygiaW1hZ2Ui
KSwgSFRNTElucHV0RWxlbWVudDo6SU1BR0UpOworICAgIG1hcC0+YWRkKFN0cmluZygia2h0bWxf
aXNpbmRleCIpLCBIVE1MSW5wdXRFbGVtZW50OjpJU0lOREVYKTsKKyAgICBtYXAtPmFkZChTdHJp
bmcoIm1vbnRoIiksIEhUTUxJbnB1dEVsZW1lbnQ6Ok1PTlRIKTsKKyAgICBtYXAtPmFkZChTdHJp
bmcoIm51bWJlciIpLCBIVE1MSW5wdXRFbGVtZW50OjpOVU1CRVIpOworICAgIG1hcC0+YWRkKFN0
cmluZygicGFzc3dvcmQiKSwgSFRNTElucHV0RWxlbWVudDo6UEFTU1dPUkQpOworICAgIG1hcC0+
YWRkKFN0cmluZygicmFkaW8iKSwgSFRNTElucHV0RWxlbWVudDo6UkFESU8pOworICAgIG1hcC0+
YWRkKFN0cmluZygicmFuZ2UiKSwgSFRNTElucHV0RWxlbWVudDo6UkFOR0UpOworICAgIG1hcC0+
YWRkKFN0cmluZygicmVzZXQiKSwgSFRNTElucHV0RWxlbWVudDo6UkVTRVQpOworICAgIG1hcC0+
YWRkKFN0cmluZygic2VhcmNoIiksIEhUTUxJbnB1dEVsZW1lbnQ6OlNFQVJDSCk7CisgICAgbWFw
LT5hZGQoU3RyaW5nKCJzdWJtaXQiKSwgSFRNTElucHV0RWxlbWVudDo6U1VCTUlUKTsKKyAgICBt
YXAtPmFkZChTdHJpbmcoInRlbCIpLCBIVE1MSW5wdXRFbGVtZW50OjpURUxFUEhPTkUpOworICAg
IG1hcC0+YWRkKFN0cmluZygidGltZSIpLCBIVE1MSW5wdXRFbGVtZW50OjpUSU1FKTsKKyAgICBt
YXAtPmFkZChTdHJpbmcoInVybCIpLCBIVE1MSW5wdXRFbGVtZW50OjpVUkwpOworICAgIG1hcC0+
YWRkKFN0cmluZygid2VlayIpLCBIVE1MSW5wdXRFbGVtZW50OjpXRUVLKTsKKyAgICByZXR1cm4g
bWFwOworfQorCiB2b2lkIEhUTUxJbnB1dEVsZW1lbnQ6OnNldElucHV0VHlwZShjb25zdCBTdHJp
bmcmIHQpCiB7CisgICAgc3RhdGljIGNvbnN0IElucHV0VHlwZU1hcCogdHlwZU1hcCA9IGNyZWF0
ZVR5cGVNYXAoKTsKICAgICBJbnB1dFR5cGUgbmV3VHlwZTsKLSAgICAKLSAgICBpZiAoZXF1YWxJ
Z25vcmluZ0Nhc2UodCwgInBhc3N3b3JkIikpCi0gICAgICAgIG5ld1R5cGUgPSBQQVNTV09SRDsK
LSAgICBlbHNlIGlmIChlcXVhbElnbm9yaW5nQ2FzZSh0LCAiY2hlY2tib3giKSkKLSAgICAgICAg
bmV3VHlwZSA9IENIRUNLQk9YOwotICAgIGVsc2UgaWYgKGVxdWFsSWdub3JpbmdDYXNlKHQsICJy
YWRpbyIpKQotICAgICAgICBuZXdUeXBlID0gUkFESU87Ci0gICAgZWxzZSBpZiAoZXF1YWxJZ25v
cmluZ0Nhc2UodCwgInN1Ym1pdCIpKQotICAgICAgICBuZXdUeXBlID0gU1VCTUlUOwotICAgIGVs
c2UgaWYgKGVxdWFsSWdub3JpbmdDYXNlKHQsICJyZXNldCIpKQotICAgICAgICBuZXdUeXBlID0g
UkVTRVQ7Ci0gICAgZWxzZSBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UodCwgImZpbGUiKSkKLSAgICAg
ICAgbmV3VHlwZSA9IEZJTEU7Ci0gICAgZWxzZSBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UodCwgImhp
ZGRlbiIpKQotICAgICAgICBuZXdUeXBlID0gSElEREVOOwotICAgIGVsc2UgaWYgKGVxdWFsSWdu
b3JpbmdDYXNlKHQsICJpbWFnZSIpKQotICAgICAgICBuZXdUeXBlID0gSU1BR0U7Ci0gICAgZWxz
ZSBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UodCwgImJ1dHRvbiIpKQotICAgICAgICBuZXdUeXBlID0g
QlVUVE9OOwotICAgIGVsc2UgaWYgKGVxdWFsSWdub3JpbmdDYXNlKHQsICJraHRtbF9pc2luZGV4
IikpCi0gICAgICAgIG5ld1R5cGUgPSBJU0lOREVYOwotICAgIGVsc2UgaWYgKGVxdWFsSWdub3Jp
bmdDYXNlKHQsICJzZWFyY2giKSkKLSAgICAgICAgbmV3VHlwZSA9IFNFQVJDSDsKLSAgICBlbHNl
IGlmIChlcXVhbElnbm9yaW5nQ2FzZSh0LCAicmFuZ2UiKSkKLSAgICAgICAgbmV3VHlwZSA9IFJB
TkdFOwotICAgIGVsc2UgaWYgKGVxdWFsSWdub3JpbmdDYXNlKHQsICJlbWFpbCIpKQotICAgICAg
ICBuZXdUeXBlID0gRU1BSUw7Ci0gICAgZWxzZSBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UodCwgIm51
bWJlciIpKQotICAgICAgICBuZXdUeXBlID0gTlVNQkVSOwotICAgIGVsc2UgaWYgKGVxdWFsSWdu
b3JpbmdDYXNlKHQsICJ0ZWwiKSkKLSAgICAgICAgbmV3VHlwZSA9IFRFTEVQSE9ORTsKLSAgICBl
bHNlIGlmIChlcXVhbElnbm9yaW5nQ2FzZSh0LCAidXJsIikpCi0gICAgICAgIG5ld1R5cGUgPSBV
Ukw7Ci0gICAgZWxzZSBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UodCwgImNvbG9yIikpCi0gICAgICAg
IG5ld1R5cGUgPSBDT0xPUjsKKyAgICBpZiAoIXQuaXNOdWxsKCkgJiYgdHlwZU1hcC0+Y29udGFp
bnModCkpICAvLyBjb250YWlucygpIHdpdGggYSBudWxsIHN0cmluZyBtYWtlcyBjcmFzaC4KKyAg
ICAgICAgbmV3VHlwZSA9IHR5cGVNYXAtPmdldCh0KTsKICAgICBlbHNlCiAgICAgICAgIG5ld1R5
cGUgPSBURVhUOwogCkBAIC00MDcsNiArNDE5LDE4IEBAIGNvbnN0IEF0b21pY1N0cmluZyYgSFRN
TElucHV0RWxlbWVudDo6Zm9ybUNvbnRyb2xUeXBlKCkgY29uc3QKICAgICAgICAgICAgIERFRklO
RV9TVEFUSUNfTE9DQUwoY29uc3QgQXRvbWljU3RyaW5nLCBjb2xvciwgKCJjb2xvciIpKTsKICAg
ICAgICAgICAgIHJldHVybiBjb2xvcjsKICAgICAgICAgfQorICAgICAgICBjYXNlIERBVEU6IHsK
KyAgICAgICAgICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgQXRvbWljU3RyaW5nLCBkYXRl
LCAoImRhdGUiKSk7CisgICAgICAgICAgICByZXR1cm4gZGF0ZTsKKyAgICAgICAgfQorICAgICAg
ICBjYXNlIERBVEVUSU1FOiB7CisgICAgICAgICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0
IEF0b21pY1N0cmluZywgZGF0ZVRpbWUsICgiZGF0ZXRpbWUiKSk7CisgICAgICAgICAgICByZXR1
cm4gZGF0ZVRpbWU7CisgICAgICAgIH0KKyAgICAgICAgY2FzZSBEQVRFVElNRUxPQ0FMOiB7Cisg
ICAgICAgICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0IEF0b21pY1N0cmluZywgZGF0ZXRp
bWVMb2NhbCwgKCJkYXRldGltZS1sb2NhbCIpKTsKKyAgICAgICAgICAgIHJldHVybiBkYXRldGlt
ZUxvY2FsOworICAgICAgICB9CiAgICAgICAgIGNhc2UgRU1BSUw6IHsKICAgICAgICAgICAgIERF
RklORV9TVEFUSUNfTE9DQUwoY29uc3QgQXRvbWljU3RyaW5nLCBlbWFpbCwgKCJlbWFpbCIpKTsK
ICAgICAgICAgICAgIHJldHVybiBlbWFpbDsKQEAgLTQyNSw2ICs0NDksMTAgQEAgY29uc3QgQXRv
bWljU3RyaW5nJiBIVE1MSW5wdXRFbGVtZW50Ojpmb3JtQ29udHJvbFR5cGUoKSBjb25zdAogICAg
ICAgICB9CiAgICAgICAgIGNhc2UgSVNJTkRFWDoKICAgICAgICAgICAgIHJldHVybiBlbXB0eUF0
b207CisgICAgICAgIGNhc2UgTU9OVEg6IHsKKyAgICAgICAgICAgIERFRklORV9TVEFUSUNfTE9D
QUwoY29uc3QgQXRvbWljU3RyaW5nLCBtb250aCwgKCJtb250aCIpKTsKKyAgICAgICAgICAgIHJl
dHVybiBtb250aDsKKyAgICAgICAgfQogICAgICAgICBjYXNlIE5VTUJFUjogewogICAgICAgICAg
ICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBBdG9taWNTdHJpbmcsIG51bWJlciwgKCJudW1i
ZXIiKSk7CiAgICAgICAgICAgICByZXR1cm4gbnVtYmVyOwpAQCAtNDYxLDEwICs0ODksMTggQEAg
Y29uc3QgQXRvbWljU3RyaW5nJiBIVE1MSW5wdXRFbGVtZW50Ojpmb3JtQ29udHJvbFR5cGUoKSBj
b25zdAogICAgICAgICAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBBdG9taWNTdHJpbmcs
IHRleHQsICgidGV4dCIpKTsKICAgICAgICAgICAgIHJldHVybiB0ZXh0OwogICAgICAgICB9Cisg
ICAgICAgIGNhc2UgVElNRTogeworICAgICAgICAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25z
dCBBdG9taWNTdHJpbmcsIHRpbWUsICgidGltZSIpKTsKKyAgICAgICAgICAgIHJldHVybiB0aW1l
OworICAgICAgICB9CiAgICAgICAgIGNhc2UgVVJMOiB7CiAgICAgICAgICAgICBERUZJTkVfU1RB
VElDX0xPQ0FMKGNvbnN0IEF0b21pY1N0cmluZywgdXJsLCAoInVybCIpKTsKICAgICAgICAgICAg
IHJldHVybiB1cmw7CiAgICAgICAgIH0KKyAgICAgICAgY2FzZSBXRUVLOiB7CisgICAgICAgICAg
ICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0IEF0b21pY1N0cmluZywgd2VlaywgKCJ3ZWVrIikp
OworICAgICAgICAgICAgcmV0dXJuIHdlZWs7CisgICAgICAgIH0KICAgICB9CiAgICAgcmV0dXJu
IGVtcHR5QXRvbTsKIH0KQEAgLTQ3NywxMSArNTEzLDE1IEBAIGJvb2wgSFRNTElucHV0RWxlbWVu
dDo6c2F2ZUZvcm1Db250cm9sU3RhdGUoU3RyaW5nJiByZXN1bHQpIGNvbnN0CiAgICAgc3dpdGNo
IChpbnB1dFR5cGUoKSkgewogICAgICAgICBjYXNlIEJVVFRPTjoKICAgICAgICAgY2FzZSBDT0xP
UjoKKyAgICAgICAgY2FzZSBEQVRFOgorICAgICAgICBjYXNlIERBVEVUSU1FOgorICAgICAgICBj
YXNlIERBVEVUSU1FTE9DQUw6CiAgICAgICAgIGNhc2UgRU1BSUw6CiAgICAgICAgIGNhc2UgRklM
RToKICAgICAgICAgY2FzZSBISURERU46CiAgICAgICAgIGNhc2UgSU1BR0U6CiAgICAgICAgIGNh
c2UgSVNJTkRFWDoKKyAgICAgICAgY2FzZSBNT05USDoKICAgICAgICAgY2FzZSBOVU1CRVI6CiAg
ICAgICAgIGNhc2UgUkFOR0U6CiAgICAgICAgIGNhc2UgUkVTRVQ6CkBAIC00ODksNyArNTI5LDkg
QEAgYm9vbCBIVE1MSW5wdXRFbGVtZW50OjpzYXZlRm9ybUNvbnRyb2xTdGF0ZShTdHJpbmcmIHJl
c3VsdCkgY29uc3QKICAgICAgICAgY2FzZSBTVUJNSVQ6CiAgICAgICAgIGNhc2UgVEVMRVBIT05F
OgogICAgICAgICBjYXNlIFRFWFQ6CisgICAgICAgIGNhc2UgVElNRToKICAgICAgICAgY2FzZSBV
Ukw6CisgICAgICAgIGNhc2UgV0VFSzoKICAgICAgICAgICAgIHJlc3VsdCA9IHZhbHVlKCk7CiAg
ICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgY2FzZSBDSEVDS0JPWDoKQEAgLTUwOSwx
MSArNTUxLDE1IEBAIHZvaWQgSFRNTElucHV0RWxlbWVudDo6cmVzdG9yZUZvcm1Db250cm9sU3Rh
dGUoY29uc3QgU3RyaW5nJiBzdGF0ZSkKICAgICBzd2l0Y2ggKGlucHV0VHlwZSgpKSB7CiAgICAg
ICAgIGNhc2UgQlVUVE9OOgogICAgICAgICBjYXNlIENPTE9SOgorICAgICAgICBjYXNlIERBVEU6
CisgICAgICAgIGNhc2UgREFURVRJTUU6CisgICAgICAgIGNhc2UgREFURVRJTUVMT0NBTDoKICAg
ICAgICAgY2FzZSBFTUFJTDoKICAgICAgICAgY2FzZSBGSUxFOgogICAgICAgICBjYXNlIEhJRERF
TjoKICAgICAgICAgY2FzZSBJTUFHRToKICAgICAgICAgY2FzZSBJU0lOREVYOgorICAgICAgICBj
YXNlIE1PTlRIOgogICAgICAgICBjYXNlIE5VTUJFUjoKICAgICAgICAgY2FzZSBSQU5HRToKICAg
ICAgICAgY2FzZSBSRVNFVDoKQEAgLTUyMSw3ICs1NjcsOSBAQCB2b2lkIEhUTUxJbnB1dEVsZW1l
bnQ6OnJlc3RvcmVGb3JtQ29udHJvbFN0YXRlKGNvbnN0IFN0cmluZyYgc3RhdGUpCiAgICAgICAg
IGNhc2UgU1VCTUlUOgogICAgICAgICBjYXNlIFRFTEVQSE9ORToKICAgICAgICAgY2FzZSBURVhU
OgorICAgICAgICBjYXNlIFRJTUU6CiAgICAgICAgIGNhc2UgVVJMOgorICAgICAgICBjYXNlIFdF
RUs6CiAgICAgICAgICAgICBzZXRWYWx1ZShzdGF0ZSk7CiAgICAgICAgICAgICBicmVhazsKICAg
ICAgICAgY2FzZSBDSEVDS0JPWDoKQEAgLTYyMSwxNCArNjY5LDIwIEBAIHZvaWQgSFRNTElucHV0
RWxlbWVudDo6YWNjZXNzS2V5QWN0aW9uKGJvb2wgc2VuZFRvQW55RWxlbWVudCkKICAgICAgICAg
ICAgIC8vIGEgbm8tb3AgZm9yIHRoaXMgdHlwZQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg
IGNhc2UgQ09MT1I6CisgICAgICAgIGNhc2UgREFURToKKyAgICAgICAgY2FzZSBEQVRFVElNRToK
KyAgICAgICAgY2FzZSBEQVRFVElNRUxPQ0FMOgogICAgICAgICBjYXNlIEVNQUlMOgogICAgICAg
ICBjYXNlIElTSU5ERVg6CisgICAgICAgIGNhc2UgTU9OVEg6CiAgICAgICAgIGNhc2UgTlVNQkVS
OgogICAgICAgICBjYXNlIFBBU1NXT1JEOgogICAgICAgICBjYXNlIFNFQVJDSDoKICAgICAgICAg
Y2FzZSBURUxFUEhPTkU6CiAgICAgICAgIGNhc2UgVEVYVDoKKyAgICAgICAgY2FzZSBUSU1FOgog
ICAgICAgICBjYXNlIFVSTDoKKyAgICAgICAgY2FzZSBXRUVLOgogICAgICAgICAgICAgLy8gc2hv
dWxkIG5ldmVyIHJlc3RvcmUgcHJldmlvdXMgc2VsZWN0aW9uIGhlcmUKICAgICAgICAgICAgIGZv
Y3VzKGZhbHNlKTsKICAgICAgICAgICAgIGJyZWFrOwpAQCAtNzYxLDMwICs4MTUsOSBAQCB2b2lk
IEhUTUxJbnB1dEVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKE1hcHBlZEF0dHJpYnV0ZSAq
YXR0cikKIAogYm9vbCBIVE1MSW5wdXRFbGVtZW50OjpyZW5kZXJlcklzTmVlZGVkKFJlbmRlclN0
eWxlICpzdHlsZSkKIHsKLSAgICBzd2l0Y2ggKGlucHV0VHlwZSgpKSB7Ci0gICAgICAgIGNhc2Ug
QlVUVE9OOgotICAgICAgICBjYXNlIENIRUNLQk9YOgotICAgICAgICBjYXNlIENPTE9SOgotICAg
ICAgICBjYXNlIEVNQUlMOgotICAgICAgICBjYXNlIEZJTEU6Ci0gICAgICAgIGNhc2UgSU1BR0U6
Ci0gICAgICAgIGNhc2UgSVNJTkRFWDoKLSAgICAgICAgY2FzZSBOVU1CRVI6Ci0gICAgICAgIGNh
c2UgUEFTU1dPUkQ6Ci0gICAgICAgIGNhc2UgUkFESU86Ci0gICAgICAgIGNhc2UgUkFOR0U6Ci0g
ICAgICAgIGNhc2UgUkVTRVQ6Ci0gICAgICAgIGNhc2UgU0VBUkNIOgotICAgICAgICBjYXNlIFNV
Qk1JVDoKLSAgICAgICAgY2FzZSBURUxFUEhPTkU6Ci0gICAgICAgIGNhc2UgVEVYVDoKLSAgICAg
ICAgY2FzZSBVUkw6Ci0gICAgICAgICAgICByZXR1cm4gSFRNTEZvcm1Db250cm9sRWxlbWVudFdp
dGhTdGF0ZTo6cmVuZGVyZXJJc05lZWRlZChzdHlsZSk7Ci0gICAgICAgIGNhc2UgSElEREVOOgot
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLSAgICBBU1NFUlQoZmFsc2UpOwotICAg
IHJldHVybiBmYWxzZTsKKyAgICBpZiAoaW5wdXRUeXBlKCkgPT0gSElEREVOKQorICAgICAgICBy
ZXR1cm4gZmFsc2U7CisgICAgcmV0dXJuIEhUTUxGb3JtQ29udHJvbEVsZW1lbnRXaXRoU3RhdGU6
OnJlbmRlcmVySXNOZWVkZWQoc3R5bGUpOwogfQogCiBSZW5kZXJPYmplY3QgKkhUTUxJbnB1dEVs
ZW1lbnQ6OmNyZWF0ZVJlbmRlcmVyKFJlbmRlckFyZW5hICphcmVuYSwgUmVuZGVyU3R5bGUgKnN0
eWxlKQpAQCAtODA2LDE0ICs4MzksMjAgQEAgUmVuZGVyT2JqZWN0ICpIVE1MSW5wdXRFbGVtZW50
OjpjcmVhdGVSZW5kZXJlcihSZW5kZXJBcmVuYSAqYXJlbmEsIFJlbmRlclN0eWxlICoKICAgICAg
ICAgY2FzZSBSQU5HRToKICAgICAgICAgICAgIHJldHVybiBuZXcgKGFyZW5hKSBSZW5kZXJTbGlk
ZXIodGhpcyk7CiAgICAgICAgIGNhc2UgQ09MT1I6CisgICAgICAgIGNhc2UgREFURToKKyAgICAg
ICAgY2FzZSBEQVRFVElNRToKKyAgICAgICAgY2FzZSBEQVRFVElNRUxPQ0FMOgogICAgICAgICBj
YXNlIEVNQUlMOgogICAgICAgICBjYXNlIElTSU5ERVg6CisgICAgICAgIGNhc2UgTU9OVEg6CiAg
ICAgICAgIGNhc2UgTlVNQkVSOgogICAgICAgICBjYXNlIFBBU1NXT1JEOgogICAgICAgICBjYXNl
IFNFQVJDSDoKICAgICAgICAgY2FzZSBURUxFUEhPTkU6CiAgICAgICAgIGNhc2UgVEVYVDoKKyAg
ICAgICAgY2FzZSBUSU1FOgogICAgICAgICBjYXNlIFVSTDoKKyAgICAgICAgY2FzZSBXRUVLOgog
ICAgICAgICAgICAgcmV0dXJuIG5ldyAoYXJlbmEpIFJlbmRlclRleHRDb250cm9sU2luZ2xlTGlu
ZSh0aGlzKTsKICAgICB9CiAgICAgQVNTRVJUKGZhbHNlKTsKQEAgLTg5MywxNiArOTMyLDIyIEBA
IGJvb2wgSFRNTElucHV0RWxlbWVudDo6YXBwZW5kRm9ybURhdGEoRm9ybURhdGFMaXN0JiBlbmNv
ZGluZywgYm9vbCBtdWx0aXBhcnQpCiAKICAgICBzd2l0Y2ggKGlucHV0VHlwZSgpKSB7CiAgICAg
ICAgIGNhc2UgQ09MT1I6CisgICAgICAgIGNhc2UgREFURToKKyAgICAgICAgY2FzZSBEQVRFVElN
RToKKyAgICAgICAgY2FzZSBEQVRFVElNRUxPQ0FMOgogICAgICAgICBjYXNlIEVNQUlMOgogICAg
ICAgICBjYXNlIEhJRERFTjoKICAgICAgICAgY2FzZSBJU0lOREVYOgorICAgICAgICBjYXNlIE1P
TlRIOgogICAgICAgICBjYXNlIE5VTUJFUjoKICAgICAgICAgY2FzZSBQQVNTV09SRDoKICAgICAg
ICAgY2FzZSBSQU5HRToKICAgICAgICAgY2FzZSBTRUFSQ0g6CiAgICAgICAgIGNhc2UgVEVMRVBI
T05FOgogICAgICAgICBjYXNlIFRFWFQ6CisgICAgICAgIGNhc2UgVElNRToKICAgICAgICAgY2Fz
ZSBVUkw6CisgICAgICAgIGNhc2UgV0VFSzoKICAgICAgICAgICAgIC8vIGFsd2F5cyBzdWNjZXNz
ZnVsCiAgICAgICAgICAgICBlbmNvZGluZy5hcHBlbmREYXRhKG5hbWUoKSwgdmFsdWUoKSk7CiAg
ICAgICAgICAgICByZXR1cm4gdHJ1ZTsKQEAgLTk4MCw2ICsxMDI1LDMwIEBAIHZvaWQgSFRNTElu
cHV0RWxlbWVudDo6cmVzZXQoKQogICAgIG1fdXNlRGVmYXVsdENoZWNrZWQgPSB0cnVlOwogfQog
Citib29sIEhUTUxJbnB1dEVsZW1lbnQ6OmlzVGV4dEZpZWxkKCkgY29uc3QKK3sKKyAgICBzd2l0
Y2ggKGlucHV0VHlwZSgpKSB7CisgICAgY2FzZSBDT0xPUjoKKyAgICBjYXNlIERBVEU6CisgICAg
Y2FzZSBEQVRFVElNRToKKyAgICBjYXNlIERBVEVUSU1FTE9DQUw6CisgICAgY2FzZSBFTUFJTDoK
KyAgICBjYXNlIElTSU5ERVg6CisgICAgY2FzZSBNT05USDoKKyAgICBjYXNlIE5VTUJFUjoKKyAg
ICBjYXNlIFBBU1NXT1JEOgorICAgIGNhc2UgU0VBUkNIOgorICAgIGNhc2UgVEVMRVBIT05FOgor
ICAgIGNhc2UgVEVYVDoKKyAgICBjYXNlIFRJTUU6CisgICAgY2FzZSBVUkw6CisgICAgY2FzZSBX
RUVLOgorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICBkZWZhdWx0OgorICAgICAgICByZXR1cm4g
ZmFsc2U7CisgICAgfQorfQorCiB2b2lkIEhUTUxJbnB1dEVsZW1lbnQ6OnNldENoZWNrZWQoYm9v
bCBub3dDaGVja2VkLCBib29sIHNlbmRDaGFuZ2VFdmVudCkKIHsKICAgICBpZiAoY2hlY2tlZCgp
ID09IG5vd0NoZWNrZWQpCkBAIC0xMDcxLDExICsxMTQwLDE1IEBAIFN0cmluZyBIVE1MSW5wdXRF
bGVtZW50Ojp2YWx1ZVdpdGhEZWZhdWx0KCkgY29uc3QKICAgICAgICAgICAgIGNhc2UgQlVUVE9O
OgogICAgICAgICAgICAgY2FzZSBDSEVDS0JPWDoKICAgICAgICAgICAgIGNhc2UgQ09MT1I6Cisg
ICAgICAgICAgICBjYXNlIERBVEU6CisgICAgICAgICAgICBjYXNlIERBVEVUSU1FOgorICAgICAg
ICAgICAgY2FzZSBEQVRFVElNRUxPQ0FMOgogICAgICAgICAgICAgY2FzZSBFTUFJTDoKICAgICAg
ICAgICAgIGNhc2UgRklMRToKICAgICAgICAgICAgIGNhc2UgSElEREVOOgogICAgICAgICAgICAg
Y2FzZSBJTUFHRToKICAgICAgICAgICAgIGNhc2UgSVNJTkRFWDoKKyAgICAgICAgICAgIGNhc2Ug
TU9OVEg6CiAgICAgICAgICAgICBjYXNlIE5VTUJFUjoKICAgICAgICAgICAgIGNhc2UgUEFTU1dP
UkQ6CiAgICAgICAgICAgICBjYXNlIFJBRElPOgpAQCAtMTA4Myw3ICsxMTU2LDkgQEAgU3RyaW5n
IEhUTUxJbnB1dEVsZW1lbnQ6OnZhbHVlV2l0aERlZmF1bHQoKSBjb25zdAogICAgICAgICAgICAg
Y2FzZSBTRUFSQ0g6CiAgICAgICAgICAgICBjYXNlIFRFTEVQSE9ORToKICAgICAgICAgICAgIGNh
c2UgVEVYVDoKKyAgICAgICAgICAgIGNhc2UgVElNRToKICAgICAgICAgICAgIGNhc2UgVVJMOgor
ICAgICAgICAgICAgY2FzZSBXRUVLOgogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAg
ICAgY2FzZSBSRVNFVDoKICAgICAgICAgICAgICAgICB2ID0gcmVzZXRCdXR0b25EZWZhdWx0TGFi
ZWwoKTsKQEAgLTExNzcsMTYgKzEyNTIsMjIgQEAgYm9vbCBIVE1MSW5wdXRFbGVtZW50OjpzdG9y
ZXNWYWx1ZVNlcGFyYXRlRnJvbUF0dHJpYnV0ZSgpIGNvbnN0CiAgICAgICAgIGNhc2UgU1VCTUlU
OgogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICBjYXNlIENPTE9SOgorICAgICAg
ICBjYXNlIERBVEU6CisgICAgICAgIGNhc2UgREFURVRJTUU6CisgICAgICAgIGNhc2UgREFURVRJ
TUVMT0NBTDoKICAgICAgICAgY2FzZSBFTUFJTDoKICAgICAgICAgY2FzZSBGSUxFOgogICAgICAg
ICBjYXNlIElTSU5ERVg6CisgICAgICAgIGNhc2UgTU9OVEg6CiAgICAgICAgIGNhc2UgTlVNQkVS
OgogICAgICAgICBjYXNlIFBBU1NXT1JEOgogICAgICAgICBjYXNlIFJBTkdFOgogICAgICAgICBj
YXNlIFNFQVJDSDoKICAgICAgICAgY2FzZSBURUxFUEhPTkU6CiAgICAgICAgIGNhc2UgVEVYVDoK
KyAgICAgICAgY2FzZSBUSU1FOgogICAgICAgICBjYXNlIFVSTDoKKyAgICAgICAgY2FzZSBXRUVL
OgogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogICAgIHJldHVybiBmYWxzZTsKQEAg
LTEzNTMsMTYgKzE0MzQsMjIgQEAgdm9pZCBIVE1MSW5wdXRFbGVtZW50OjpkZWZhdWx0RXZlbnRI
YW5kbGVyKEV2ZW50KiBldnQpCiAgICAgICAgICAgICBzd2l0Y2ggKGlucHV0VHlwZSgpKSB7CiAg
ICAgICAgICAgICAgICAgY2FzZSBDSEVDS0JPWDoKICAgICAgICAgICAgICAgICBjYXNlIENPTE9S
OgorICAgICAgICAgICAgICAgIGNhc2UgREFURToKKyAgICAgICAgICAgICAgICBjYXNlIERBVEVU
SU1FOgorICAgICAgICAgICAgICAgIGNhc2UgREFURVRJTUVMT0NBTDoKICAgICAgICAgICAgICAg
ICBjYXNlIEVNQUlMOgogICAgICAgICAgICAgICAgIGNhc2UgSElEREVOOgogICAgICAgICAgICAg
ICAgIGNhc2UgSVNJTkRFWDoKKyAgICAgICAgICAgICAgICBjYXNlIE1PTlRIOgogICAgICAgICAg
ICAgICAgIGNhc2UgTlVNQkVSOgogICAgICAgICAgICAgICAgIGNhc2UgUEFTU1dPUkQ6CiAgICAg
ICAgICAgICAgICAgY2FzZSBSQU5HRToKICAgICAgICAgICAgICAgICBjYXNlIFNFQVJDSDoKICAg
ICAgICAgICAgICAgICBjYXNlIFRFTEVQSE9ORToKICAgICAgICAgICAgICAgICBjYXNlIFRFWFQ6
CisgICAgICAgICAgICAgICAgY2FzZSBUSU1FOgogICAgICAgICAgICAgICAgIGNhc2UgVVJMOgor
ICAgICAgICAgICAgICAgIGNhc2UgV0VFSzoKICAgICAgICAgICAgICAgICAgICAgLy8gU2ltdWxh
dGUgbW91c2UgY2xpY2sgb24gdGhlIGRlZmF1bHQgZm9ybSBidXR0b24gZm9yIGVudGVyIGZvciB0
aGVzZSB0eXBlcyBvZiBlbGVtZW50cy4KICAgICAgICAgICAgICAgICAgICAgY2xpY2tEZWZhdWx0
Rm9ybUJ1dHRvbiA9IHRydWU7CiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwpAQCAtMTQ4MSwx
NiArMTU2OCwyMiBAQCB2b2lkIEhUTUxJbnB1dEVsZW1lbnQ6OmRlZmF1bHRFdmVudEhhbmRsZXIo
RXZlbnQqIGV2dCkKICAgICAgICAgICAgICAgICAgICAgICAgIGNsaWNrRWxlbWVudCA9IHRydWU7
CiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgIGNhc2UgQ09MT1I6
CisgICAgICAgICAgICAgICAgY2FzZSBEQVRFOgorICAgICAgICAgICAgICAgIGNhc2UgREFURVRJ
TUU6CisgICAgICAgICAgICAgICAgY2FzZSBEQVRFVElNRUxPQ0FMOgogICAgICAgICAgICAgICAg
IGNhc2UgRU1BSUw6CiAgICAgICAgICAgICAgICAgY2FzZSBISURERU46CiAgICAgICAgICAgICAg
ICAgY2FzZSBJU0lOREVYOgorICAgICAgICAgICAgICAgIGNhc2UgTU9OVEg6CiAgICAgICAgICAg
ICAgICAgY2FzZSBOVU1CRVI6CiAgICAgICAgICAgICAgICAgY2FzZSBQQVNTV09SRDoKICAgICAg
ICAgICAgICAgICBjYXNlIFJBTkdFOgogICAgICAgICAgICAgICAgIGNhc2UgU0VBUkNIOgogICAg
ICAgICAgICAgICAgIGNhc2UgVEVMRVBIT05FOgogICAgICAgICAgICAgICAgIGNhc2UgVEVYVDoK
KyAgICAgICAgICAgICAgICBjYXNlIFRJTUU6CiAgICAgICAgICAgICAgICAgY2FzZSBVUkw6Cisg
ICAgICAgICAgICAgICAgY2FzZSBXRUVLOgogICAgICAgICAgICAgICAgICAgICBicmVhazsKICAg
ICAgICAgICAgIH0KICAgICAgICAgfQpAQCAtMTcwNiw2ICsxNzk5LDEyIEBAIGJvb2wgSFRNTElu
cHV0RWxlbWVudDo6aXNSZXF1aXJlZEZvcm1Db250cm9sKCkgY29uc3QKICAgICAgICAgY2FzZSBD
SEVDS0JPWDoKICAgICAgICAgY2FzZSBSQURJTzoKICAgICAgICAgY2FzZSBGSUxFOgorICAgICAg
ICBjYXNlIERBVEVUSU1FOgorICAgICAgICBjYXNlIERBVEU6CisgICAgICAgIGNhc2UgTU9OVEg6
CisgICAgICAgIGNhc2UgV0VFSzoKKyAgICAgICAgY2FzZSBUSU1FOgorICAgICAgICBjYXNlIERB
VEVUSU1FTE9DQUw6CiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgY2FzZSBISURE
RU46CiAgICAgICAgIGNhc2UgUkFOR0U6CkBAIC0xODM1LDcgKzE5MzQsMTMgQEAgSFRNTERhdGFM
aXN0RWxlbWVudCogSFRNTElucHV0RWxlbWVudDo6ZGF0YUxpc3QoKSBjb25zdAogICAgIGNhc2Ug
RU1BSUw6CiAgICAgY2FzZSBOVU1CRVI6CiAgICAgY2FzZSBSQU5HRToKLSAgICBjYXNlIENPTE9S
OiB7CisgICAgY2FzZSBDT0xPUjoKKyAgICBjYXNlIERBVEVUSU1FOgorICAgIGNhc2UgREFURToK
KyAgICBjYXNlIE1PTlRIOgorICAgIGNhc2UgV0VFSzoKKyAgICBjYXNlIFRJTUU6CisgICAgY2Fz
ZSBEQVRFVElNRUxPQ0FMOiB7CiAgICAgICAgIEVsZW1lbnQqIGVsZW1lbnQgPSBkb2N1bWVudCgp
LT5nZXRFbGVtZW50QnlJZChnZXRBdHRyaWJ1dGUobGlzdEF0dHIpKTsKICAgICAgICAgaWYgKGVs
ZW1lbnQgJiYgZWxlbWVudC0+aGFzVGFnTmFtZShkYXRhbGlzdFRhZykpCiAgICAgICAgICAgICBy
ZXR1cm4gc3RhdGljX2Nhc3Q8SFRNTERhdGFMaXN0RWxlbWVudCo+KGVsZW1lbnQpOwpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaCBiL1dlYkNvcmUvaHRtbC9IVE1M
SW5wdXRFbGVtZW50LmgKaW5kZXggYmEzZTVhNC4uMTk0OWZkMyAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxl
bWVudC5oCkBAIC01Nyw3ICs1NywxMyBAQCBwdWJsaWM6CiAgICAgICAgIE5VTUJFUiwKICAgICAg
ICAgVEVMRVBIT05FLAogICAgICAgICBVUkwsCi0gICAgICAgIENPTE9SCisgICAgICAgIENPTE9S
LAorICAgICAgICBEQVRFVElNRSwKKyAgICAgICAgREFURSwKKyAgICAgICAgTU9OVEgsCisgICAg
ICAgIFdFRUssCisgICAgICAgIFRJTUUsCisgICAgICAgIERBVEVUSU1FTE9DQUwKICAgICB9Owog
ICAgIAogICAgIGVudW0gQXV0b0NvbXBsZXRlU2V0dGluZyB7CkBAIC05OCw3ICsxMDQsNyBAQCBw
dWJsaWM6CiAKICAgICBib29sIGlzVGV4dEJ1dHRvbigpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZSA9
PSBTVUJNSVQgfHwgbV90eXBlID09IFJFU0VUIHx8IG1fdHlwZSA9PSBCVVRUT047IH0KICAgICB2
aXJ0dWFsIGJvb2wgaXNSYWRpb0J1dHRvbigpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZSA9PSBSQURJ
TzsgfQotICAgIHZpcnR1YWwgYm9vbCBpc1RleHRGaWVsZCgpIGNvbnN0IHsgcmV0dXJuIG1fdHlw
ZSA9PSBURVhUIHx8IG1fdHlwZSA9PSBQQVNTV09SRCB8fCBtX3R5cGUgPT0gU0VBUkNIIHx8IG1f
dHlwZSA9PSBJU0lOREVYIHx8IG1fdHlwZSA9PSBFTUFJTCB8fCBtX3R5cGUgPT0gTlVNQkVSIHx8
IG1fdHlwZSA9PSBURUxFUEhPTkUgfHwgbV90eXBlID09IFVSTCB8fCBtX3R5cGUgPT0gQ09MT1I7
IH0KKyAgICB2aXJ0dWFsIGJvb2wgaXNUZXh0RmllbGQoKSBjb25zdDsKICAgICB2aXJ0dWFsIGJv
b2wgaXNTZWFyY2hGaWVsZCgpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZSA9PSBTRUFSQ0g7IH0KICAg
ICB2aXJ0dWFsIGJvb2wgaXNJbnB1dFR5cGVIaWRkZW4oKSBjb25zdCB7IHJldHVybiBtX3R5cGUg
PT0gSElEREVOOyB9CiAgICAgdmlydHVhbCBib29sIGlzUGFzc3dvcmRGaWVsZCgpIGNvbnN0IHsg
cmV0dXJuIG1fdHlwZSA9PSBQQVNTV09SRDsgfQo=
</data>
<flag name="review"
          id="20426"
          type_id="1"
          status="-"
          setter="eric"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>39343</attachid>
            <date>2009-09-10 05:15:57 -0700</date>
            <delta_ts>2009-09-28 00:36:48 -0700</delta_ts>
            <desc>Patch part2: ISO 8601 parser</desc>
            <filename>datetime-parser-1.diff</filename>
            <type>text/plain</type>
            <size>20700</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL0phdmFTY3JpcHRDb3JlL0No
YW5nZUxvZwppbmRleCA4MjQ1YTdjLi5iMjg0YjI4IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDAg
QEAKKzIwMDktMDktMDggIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcGxlbWVudCBzb21l
IHBhcnNlcnMgZm9yIElTTyA4NjAxLiAgVGhleSB3aWxsIGJlIHVzZWQgZm9yIEhUTUw1IElOUFVU
IHR5cGVzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjkwMDQKKworICAgICAgICAqIEphdmFTY3JpcHRDb3JlLmV4cDoKKyAgICAgICAgKiBKYXZhU2Ny
aXB0Q29yZS52Y3Byb2ovSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZGVmOgorICAgICAg
ICAqIEphdmFTY3JpcHRDb3JlLnZjcHJvai9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZV9k
ZWJ1Zy5kZWY6CisgICAgICAgICogd3RmL0RhdGVNYXRoLmNwcDoKKyAgICAgICAgKFdURjo6Z3Jl
Z29yaWFuRGF0ZVRpbWVUb01TKToKKyAgICAgICAgKFdURjo6bXNUb0dyZWdvcmlhbkRhdGVUaW1l
KToKKyAgICAgICAgKFdURjo6cGFyc2VEYXRlRnJvbU51bGxUZXJtaW5hdGVkQ2hhcmFjdGVycyk6
CisgICAgICAgIChXVEY6OkdyZWdvcmlhbkRhdGVUaW1lOjptYXhEYXlPZk1vbnRoKToKKyAgICAg
ICAgKFdURjo6R3JlZ29yaWFuRGF0ZVRpbWU6OmRheU9mV2Vlayk6CisgICAgICAgIChXVEY6Okdy
ZWdvcmlhbkRhdGVUaW1lOjptYXhXZWVrKToKKyAgICAgICAgKFdURjo6Y291bnREaWdpdHMpOgor
ICAgICAgICAoV1RGOjp0b0ludCk6CisgICAgICAgIChXVEY6OkdyZWdvcmlhbkRhdGVUaW1lOjpw
YXJzZUlTT1llYXIpOgorICAgICAgICAoV1RGOjpHcmVnb3JpYW5EYXRlVGltZTo6cGFyc2VJU09N
b250aCk6CisgICAgICAgIChXVEY6OkdyZWdvcmlhbkRhdGVUaW1lOjpwYXJzZUlTT0RhdGUpOgor
ICAgICAgICAoV1RGOjpHcmVnb3JpYW5EYXRlVGltZTo6cGFyc2VJU09XZWVrKToKKyAgICAgICAg
KFdURjo6R3JlZ29yaWFuRGF0ZVRpbWU6OnBhcnNlSVNPVGltZSk6CisgICAgICAgIChXVEY6Okdy
ZWdvcmlhbkRhdGVUaW1lOjpwYXJzZUlTT0RhdGVUaW1lTG9jYWwpOgorICAgICAgICAoV1RGOjpH
cmVnb3JpYW5EYXRlVGltZTo6cGFyc2VJU09EYXRlVGltZSk6CisgICAgICAgIChXVEY6OkdyZWdv
cmlhbkRhdGVUaW1lOjpwYXJzZUlTT1RpbWVab25lKToKKyAgICAgICAgKFdURjo6R3JlZ29yaWFu
RGF0ZVRpbWU6OmFkZE1pbnV0ZSk6CisgICAgICAgIChXVEY6OkdyZWdvcmlhbkRhdGVUaW1lOjph
ZGREYXkpOgorICAgICAgICAqIHd0Zi9EYXRlTWF0aC5oOgorICAgICAgICAoV1RGOjpHcmVnb3Jp
YW5EYXRlVGltZTo6R3JlZ29yaWFuRGF0ZVRpbWUpOgorICAgICAgICAoV1RGOjpHcmVnb3JpYW5E
YXRlVGltZTo6b3BlcmF0b3IgdG0pOgorICAgICAgICAoV1RGOjpHcmVnb3JpYW5EYXRlVGltZTo6
Y29weUZyb20pOgorICAgICAgICAoV1RGOjpHcmVnb3JpYW5EYXRlVGltZTo6ZnVsbFllYXIpOgor
ICAgICAgICAoV1RGOjpHcmVnb3JpYW5EYXRlVGltZTo6c2V0RnVsbFllYXIpOgorICAgICAgICAo
V1RGOjpHcmVnb3JpYW5EYXRlVGltZTo6bWF4RGF5T2ZNb250aCk6CisKIDIwMDktMDktMDkgIExh
c3psbyBHb21ib3MgIDxsYXN6bG8uMS5nb21ib3NAbm9raWEuY29tPgogCiAgICAgICAgIFJldmll
d2VkIGJ5IERhcmluIEFkbGVyLgpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlw
dENvcmUuZXhwIGIvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZXhwCmluZGV4IGEwMjk3
MjQuLmJhZTIwNTUgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmV4
cAorKysgYi9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5leHAKQEAgLTMwNCw2ICszMDQs
MTIgQEAgX19aTjNXVEYxNVRocmVhZENvbmRpdGlvbkMxRXYKIF9fWk4zV1RGMTVUaHJlYWRDb25k
aXRpb25EMUV2CiBfX1pOM1dURjE2Y2FsbE9uTWFpblRocmVhZEVQRnZQdkVTMF8KIF9fWk4zV1RG
MTZmYXN0WmVyb2VkTWFsbG9jRW0KK19fWk4zV1RGMTdHcmVnb3JpYW5EYXRlVGltZTEycGFyc2VJ
U09EYXRlRVBLdGpqUGoKK19fWk4zV1RGMTdHcmVnb3JpYW5EYXRlVGltZTEycGFyc2VJU09UaW1l
RVBLdGpqUGoKK19fWk4zV1RGMTdHcmVnb3JpYW5EYXRlVGltZTEycGFyc2VJU09XZWVrRVBLdGpq
UGoKK19fWk4zV1RGMTdHcmVnb3JpYW5EYXRlVGltZTEzcGFyc2VJU09Nb250aEVQS3RqalBqCitf
X1pOM1dURjE3R3JlZ29yaWFuRGF0ZVRpbWUxNnBhcnNlSVNPRGF0ZVRpbWVFUEt0ampQagorX19a
TjNXVEYxN0dyZWdvcmlhbkRhdGVUaW1lMjFwYXJzZUlTT0RhdGVUaW1lTG9jYWxFUEt0ampQagog
X19aTjNXVEYxOWluaXRpYWxpemVUaHJlYWRpbmdFdgogX19aTjNXVEYyMGZhc3RNYWxsb2NTdGF0
aXN0aWNzRXYKIF9fWk4zV1RGMjFSZWZDb3VudGVkTGVha0NvdW50ZXIxNnN1cHByZXNzTWVzc2Fn
ZXNFUEtjCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ov
SmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZGVmIGIvSmF2YVNjcmlwdENvcmUvSmF2YVNj
cmlwdENvcmUudmNwcm9qL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmRlZgppbmRleCA3
MDA1OWM4Li5hOTY4NjI3IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29y
ZS52Y3Byb2ovSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZGVmCisrKyBiL0phdmFTY3Jp
cHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29y
ZS5kZWYKQEAgLTE4Niw2ICsxODYsMTIgQEAgRVhQT1JUUwogICAgID9vYmplY3RQcm90b0Z1bmNU
b1N0cmluZ0BKU0NAQFlJP0FWSlNWYWx1ZUAxQFBBVkV4ZWNTdGF0ZUAxQFBBVkpTT2JqZWN0QDFA
VjIxQEFCVkFyZ0xpc3RAMUBAWgogICAgID9wYXJzZUBQYXJzZXJASlNDQEBBQUVYUEFWSlNHbG9i
YWxEYXRhQDJAUEFIUEFWVVN0cmluZ0AyQEBaCiAgICAgP3BhcnNlRGF0ZUZyb21OdWxsVGVybWlu
YXRlZENoYXJhY3RlcnNAV1RGQEBZQU5QQkRAWgorICAgID9wYXJzZUlTT0RhdGVAR3JlZ29yaWFu
RGF0ZVRpbWVAV1RGQEBRQUVfTlBCX1dJSVBBSUBaCisgICAgP3BhcnNlSVNPRGF0ZVRpbWVAR3Jl
Z29yaWFuRGF0ZVRpbWVAV1RGQEBRQUVfTlBCX1dJSVBBSUBaCisgICAgP3BhcnNlSVNPRGF0ZVRp
bWVMb2NhbEBHcmVnb3JpYW5EYXRlVGltZUBXVEZAQFFBRV9OUEJfV0lJUEFJQFoKKyAgICA/cGFy
c2VJU09Nb250aEBHcmVnb3JpYW5EYXRlVGltZUBXVEZAQFFBRV9OUEJfV0lJUEFJQFoKKyAgICA/
cGFyc2VJU09UaW1lQEdyZWdvcmlhbkRhdGVUaW1lQFdURkBAUUFFX05QQl9XSUlQQUlAWgorICAg
ID9wYXJzZUlTT1dlZWtAR3JlZ29yaWFuRGF0ZVRpbWVAV1RGQEBRQUVfTlBCX1dJSVBBSUBaCiAg
ICAgP3ByaW1hcnlIZWFwQmVnaW5ASGVhcEBKU0NAQFFBRT9BVj8kQ29sbGVjdG9ySGVhcEl0ZXJh
dG9yQCQwQUBAMkBYWgogICAgID9wcmltYXJ5SGVhcEVuZEBIZWFwQEpTQ0BAUUFFP0FWPyRDb2xs
ZWN0b3JIZWFwSXRlcmF0b3JAJDBBQEAyQFhaCiAgICAgP3Byb2ZpbGVyQFByb2ZpbGVyQEpTQ0BA
U0FQQVYxMkBYWgpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNw
cm9qL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlX2RlYnVnLmRlZiBiL0phdmFTY3JpcHRD
b3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZV9k
ZWJ1Zy5kZWYKaW5kZXggODE2NTYyZi4uMTkyODBlMiAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENv
cmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlX2Rl
YnVnLmRlZgorKysgYi9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ovSmF2YVNj
cmlwdENvcmUvSmF2YVNjcmlwdENvcmVfZGVidWcuZGVmCkBAIC0xODYsNiArMTg2LDEyIEBAIEVY
UE9SVFMKICAgICA/b2JqZWN0UHJvdG9GdW5jVG9TdHJpbmdASlNDQEBZST9BVkpTVmFsdWVAMUBQ
QVZFeGVjU3RhdGVAMUBQQVZKU09iamVjdEAxQFYyMUBBQlZBcmdMaXN0QDFAQFoKICAgICA/cGFy
c2VAUGFyc2VyQEpTQ0BAQUFFWFBBVkpTR2xvYmFsRGF0YUAyQFBBSFBBVlVTdHJpbmdAMkBAWgog
ICAgID9wYXJzZURhdGVGcm9tTnVsbFRlcm1pbmF0ZWRDaGFyYWN0ZXJzQFdURkBAWUFOUEJEQFoK
KyAgICA/cGFyc2VJU09EYXRlQEdyZWdvcmlhbkRhdGVUaW1lQFdURkBAUUFFX05QQl9XSUlQQUlA
WgorICAgID9wYXJzZUlTT0RhdGVUaW1lQEdyZWdvcmlhbkRhdGVUaW1lQFdURkBAUUFFX05QQl9X
SUlQQUlAWgorICAgID9wYXJzZUlTT0RhdGVUaW1lTG9jYWxAR3JlZ29yaWFuRGF0ZVRpbWVAV1RG
QEBRQUVfTlBCX1dJSVBBSUBaCisgICAgP3BhcnNlSVNPTW9udGhAR3JlZ29yaWFuRGF0ZVRpbWVA
V1RGQEBRQUVfTlBCX1dJSVBBSUBaCisgICAgP3BhcnNlSVNPVGltZUBHcmVnb3JpYW5EYXRlVGlt
ZUBXVEZAQFFBRV9OUEJfV0lJUEFJQFoKKyAgICA/cGFyc2VJU09XZWVrQEdyZWdvcmlhbkRhdGVU
aW1lQFdURkBAUUFFX05QQl9XSUlQQUlAWgogICAgID9wcmltYXJ5SGVhcEJlZ2luQEhlYXBASlND
QEBRQUU/QVY/JENvbGxlY3RvckhlYXBJdGVyYXRvckAkMEFAQDJAWFoKICAgICA/cHJpbWFyeUhl
YXBFbmRASGVhcEBKU0NAQFFBRT9BVj8kQ29sbGVjdG9ySGVhcEl0ZXJhdG9yQCQwQUBAMkBYWgog
ICAgID9wcm9maWxlckBQcm9maWxlckBKU0NAQFNBUEFWMTJAWFoKZGlmZiAtLWdpdCBhL0phdmFT
Y3JpcHRDb3JlL3d0Zi9EYXRlTWF0aC5jcHAgYi9KYXZhU2NyaXB0Q29yZS93dGYvRGF0ZU1hdGgu
Y3BwCmluZGV4IDZhNWIyMmYuLjI4MDlhMDIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0
Zi9EYXRlTWF0aC5jcHAKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL0RhdGVNYXRoLmNwcApAQCAt
NDg4LDcgKzQ4OCw3IEBAIHN0YXRpYyBkb3VibGUgZ2V0RFNUT2Zmc2V0KGRvdWJsZSBtcywgZG91
YmxlIHV0Y09mZnNldCkKIAogZG91YmxlIGdyZWdvcmlhbkRhdGVUaW1lVG9NUyhjb25zdCBHcmVn
b3JpYW5EYXRlVGltZSYgdCwgZG91YmxlIG1pbGxpU2Vjb25kcywgYm9vbCBpbnB1dElzVVRDKQog
ewotICAgIGludCBkYXkgPSBkYXRlVG9EYXlJblllYXIodC55ZWFyICsgMTkwMCwgdC5tb250aCwg
dC5tb250aERheSk7CisgICAgaW50IGRheSA9IGRhdGVUb0RheUluWWVhcih0LmZ1bGxZZWFyKCks
IHQubW9udGgsIHQubW9udGhEYXkpOwogICAgIGRvdWJsZSBtcyA9IHRpbWVUb01TKHQuaG91ciwg
dC5taW51dGUsIHQuc2Vjb25kLCBtaWxsaVNlY29uZHMpOwogICAgIGRvdWJsZSByZXN1bHQgPSAo
ZGF5ICogbXNQZXJEYXkpICsgbXM7CiAKQEAgLTUxMyw2ICs1MTMsNyBAQCB2b2lkIG1zVG9HcmVn
b3JpYW5EYXRlVGltZShkb3VibGUgbXMsIGJvb2wgb3V0cHV0SXNVVEMsIEdyZWdvcmlhbkRhdGVU
aW1lJiB0bSkKICAgICB9CiAKICAgICBjb25zdCBpbnQgeWVhciA9IG1zVG9ZZWFyKG1zKTsKKyAg
ICB0bS5taWxsaXNlY29uZCA9IHN0YXRpY19jYXN0PGludD4oZm1vZChtcywgMTAwMCkpOwogICAg
IHRtLnNlY29uZCAgID0gIG1zVG9TZWNvbmRzKG1zKTsKICAgICB0bS5taW51dGUgICA9ICBtc1Rv
TWludXRlcyhtcyk7CiAgICAgdG0uaG91ciAgICAgPSAgbXNUb0hvdXJzKG1zKTsKQEAgLTUyMCwx
MSArNTIxLDEyIEBAIHZvaWQgbXNUb0dyZWdvcmlhbkRhdGVUaW1lKGRvdWJsZSBtcywgYm9vbCBv
dXRwdXRJc1VUQywgR3JlZ29yaWFuRGF0ZVRpbWUmIHRtKQogICAgIHRtLnllYXJEYXkgID0gIGRh
eUluWWVhcihtcywgeWVhcik7CiAgICAgdG0ubW9udGhEYXkgPSAgZGF5SW5Nb250aEZyb21EYXlJ
blllYXIodG0ueWVhckRheSwgaXNMZWFwWWVhcih5ZWFyKSk7CiAgICAgdG0ubW9udGggICAgPSAg
bW9udGhGcm9tRGF5SW5ZZWFyKHRtLnllYXJEYXksIGlzTGVhcFllYXIoeWVhcikpOwotICAgIHRt
LnllYXIgICAgID0gIHllYXIgLSAxOTAwOworICAgIHRtLnNldEZ1bGxZZWFyKHllYXIpOwogICAg
IHRtLmlzRFNUICAgID0gIGRzdE9mZiAhPSAwLjA7CiAKICAgICB0bS51dGNPZmZzZXQgPSBvdXRw
dXRJc1VUQyA/IDAgOiBzdGF0aWNfY2FzdDxsb25nPigoZHN0T2ZmICsgdXRjT2ZmKSAvIG1zUGVy
U2Vjb25kKTsKICAgICB0bS50aW1lWm9uZSA9IE5VTEw7CisgICAgdG0ud2VlayA9IDA7CiB9CiAK
IHZvaWQgaW5pdGlhbGl6ZURhdGVzKCkKQEAgLTg5Niw3ICs4OTgsNyBAQCBkb3VibGUgcGFyc2VE
YXRlRnJvbU51bGxUZXJtaW5hdGVkQ2hhcmFjdGVycyhjb25zdCBjaGFyKiBkYXRlU3RyaW5nKQog
ICAgICAgICBHcmVnb3JpYW5EYXRlVGltZSB0OwogICAgICAgICB0Lm1vbnRoRGF5ID0gZGF5Owog
ICAgICAgICB0Lm1vbnRoID0gbW9udGg7Ci0gICAgICAgIHQueWVhciA9IHllYXIgLSAxOTAwOwor
ICAgICAgICB0LnNldEZ1bGxZZWFyKHllYXIpOwogICAgICAgICB0LmlzRFNUID0gLTE7CiAgICAg
ICAgIHQuc2Vjb25kID0gc2Vjb25kOwogICAgICAgICB0Lm1pbnV0ZSA9IG1pbnV0ZTsKQEAgLTkx
OCw1ICs5MjAsMzU5IEBAIGRvdWJsZSB0aW1lQ2xpcChkb3VibGUgdCkKICAgICByZXR1cm4gdHJ1
bmModCk7CiB9CiAKKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIElTTyA4NjAx
IHBhcnNlciBmdW5jdGlvbnMKKworY29uc3QgaW50IEdyZWdvcmlhbkRhdGVUaW1lOjptYXhEYXlP
Zk1vbnRoc1tdID0gezMxLCAyOCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMSwgMzAsIDMxLCAzMCwg
MzF9OworCitpbnQgR3JlZ29yaWFuRGF0ZVRpbWU6Om1heERheU9mTW9udGgoaW50IHllYXIsIGlu
dCBtb250aCkKK3sKKyAgICBpZiAobW9udGggIT0gMSkKKyAgICAgICAgcmV0dXJuIG1heERheU9m
TW9udGhzW21vbnRoXTsKKyAgICByZXR1cm4gaXNMZWFwWWVhcih5ZWFyKSA/IDI5IDogMjg7Cit9
CisKK2ludCBHcmVnb3JpYW5EYXRlVGltZTo6ZGF5T2ZXZWVrKGludCB5ZWFyLCBpbnQgbW9udGgs
IGludCBkYXkpCit7CisgICAgKyttb250aDsKKworICAgIC8vIFplbGxlcidzIGNvbmdydWVuY2UK
KyAgICBpZiAobW9udGggPD0gMikgeworICAgICAgICBtb250aCArPSAxMjsKKyAgICAgICAgeWVh
ci0tOworICAgIH0KKyAgICBpbnQgaiA9IHllYXIgLyAxMDA7CisgICAgaW50IGsgPSB5ZWFyICUg
MTAwOworICAgIGludCByZXN1bHQgPSAoZGF5ICsgMTMgKiAobW9udGggKyAxKSAvIDUgKyBrICsg
ayAvIDQgKyBqIC8gNCAtIDIgKiBqIC0gMSkgJSA3OworICAgIGlmIChyZXN1bHQgPCAwKQorICAg
ICAgICByZXN1bHQgKz0gNzsKKyAgICByZXR1cm4gcmVzdWx0OyAgIC8vIFN1bmRheSBvcmlnaW4K
K30KKworaW50IEdyZWdvcmlhbkRhdGVUaW1lOjptYXhXZWVrKCkgY29uc3QKK3sKKyAgICBpbnQg
eSA9IGZ1bGxZZWFyKCk7CisgICAgaW50IGRheSA9IGRheU9mV2Vlayh5LCAwLCAxKTsKKyAgICBy
ZXR1cm4gZGF5ID09IFRIVVJTREFZIHx8IGRheSA9PSBXRURORVNEQVkgJiYgaXNMZWFwWWVhcih5
KSA/IDUzIDogNTI7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBjb3VudERpZ2l0cyhjb25zdCBVQ2hh
ciogc3JjLCB1bnNpZ25lZCBsZW5ndGgsIHVuc2lnbmVkIHN0YXJ0KQoreworICAgIHVuc2lnbmVk
IGNvdW50ID0gc3RhcnQ7CisgICAgZm9yICg7IGNvdW50IDwgbGVuZ3RoOyArK2NvdW50KSB7Cisg
ICAgICAgIGlmICghaXNBU0NJSURpZ2l0KHNyY1tjb3VudF0pKQorICAgICAgICAgICAgYnJlYWs7
CisgICAgfQorICAgIHJldHVybiBjb3VudCAtIHN0YXJ0OworfQorCisvLyBWZXJ5IHN0cmljdCBp
bnRlZ2VyIHBhcnNlci4gIE5vdCBhbGxvdyBsZWFkaW5nIHdoaXRlc3BhY2VzIHVubGlrZSBjaGFy
YWN0ZXJzVG9JbnRTdHJpY3QoKS4KK3N0YXRpYyBib29sIHRvSW50KGNvbnN0IFVDaGFyKiBzcmMs
IHVuc2lnbmVkIGxlbmd0aCwgdW5zaWduZWQgcGFyc2VTdGFydCwgdW5zaWduZWQgcGFyc2VMZW5n
dGgsIGludCogb3V0KQoreworICAgIGlmIChwYXJzZVN0YXJ0ICsgcGFyc2VMZW5ndGggPiBsZW5n
dGggfHwgcGFyc2VMZW5ndGggPD0gMCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGludCB2
YWx1ZSA9IDA7CisgICAgY29uc3QgVUNoYXIqIHAgPSBzcmMgKyBwYXJzZVN0YXJ0OworICAgIGNv
bnN0IFVDaGFyKiBlbmQgPSBwICsgcGFyc2VMZW5ndGg7CisKKyAgICAvLyBXZSBkb24ndCBuZWVk
IHRvIGhhbmRsZSBuZWdhdGl2ZSBudW1iZXJzIGZvciBJU08gODYwMS4KKyAgICBmb3IgKDsgcCA8
IGVuZDsgKytwKSB7CisgICAgICAgIGlmICghaXNBU0NJSURpZ2l0KCpwKSkKKyAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKKyAgICAgICAgaW50IGQgPSAqcCAtICcwJzsKKyAgICAgICAgaWYgKHZh
bHVlID4gKElOVF9NQVggLSBkKSAvIDEwKSAgLy8gb3ZlcmZsb3cKKyAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKKyAgICAgICAgdmFsdWUgPSB2YWx1ZSAqIDEwICsgZDsKKyAgICB9CisgICAgKm91
dCA9IHZhbHVlOworICAgIHJldHVybiB0cnVlOworfQorCitib29sIEdyZWdvcmlhbkRhdGVUaW1l
OjpwYXJzZUlTT1llYXIoY29uc3QgVUNoYXIqIHNyYywgdW5zaWduZWQgbGVuZ3RoLCB1bnNpZ25l
ZCBzdGFydCwgdW5zaWduZWQqIGVuZCkKK3sKKyAgICB1bnNpZ25lZCBkaWdpdHNMZW5ndGggPSBj
b3VudERpZ2l0cyhzcmMsIGxlbmd0aCwgc3RhcnQpOworICAgIC8vIE5lZWRzIGF0IGxlYXN0IDQg
ZGlnaXRzIGFjY29yZGluZyB0byB0aGUgc3RhbmRhcmQuCisgICAgaWYgKGRpZ2l0c0xlbmd0aCA8
IDQpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpbnQgeTsKKyAgICBpZiAoIXRvSW50KHNy
YywgbGVuZ3RoLCBzdGFydCwgZGlnaXRzTGVuZ3RoLCAmeSkpCisgICAgICAgIHJldHVybiBmYWxz
ZTsKKyAgICAvLyBObyBzdXBwb3J0IGZvciB5ZWFycyBiZWZvcmUgR3JlZ29yaWFuIGNhbGVuZGFy
LgorICAgIGlmICh5IDwgZ3JlZ29yaWFuU3RhcnRZZWFyKQorICAgICAgICByZXR1cm4gZmFsc2U7
CisgICAgc2V0RnVsbFllYXIoeSk7CisgICAgKmVuZCA9IHN0YXJ0ICsgZGlnaXRzTGVuZ3RoOwor
ICAgIHJldHVybiB0cnVlOworfQorCitib29sIEdyZWdvcmlhbkRhdGVUaW1lOjpwYXJzZUlTT01v
bnRoKGNvbnN0IFVDaGFyKiBzcmMsIHVuc2lnbmVkIGxlbmd0aCwgdW5zaWduZWQgc3RhcnQsIHVu
c2lnbmVkKiBlbmQpCit7CisgICAgdW5zaWduZWQgaTsKKyAgICBpZiAoIXBhcnNlSVNPWWVhcihz
cmMsIGxlbmd0aCwgc3RhcnQsICZpKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmIChp
ID49IGxlbmd0aCB8fCBzcmNbaSsrXSAhPSAnLScpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAg
ICBpbnQgbTsKKyAgICBpZiAoIXRvSW50KHNyYywgbGVuZ3RoLCBpLCAyLCAmbSkgfHwgbSA8IDEg
fHwgbSA+IDEyKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgLy8gTm8gc3VwcG9ydCBmb3Ig
bW9udGhzIGJlZm9yZSBHcmVnb3JpYW4gY2FsZW5kYXIuCisgICAgaWYgKGZ1bGxZZWFyKCkgPT0g
Z3JlZ29yaWFuU3RhcnRZZWFyICYmIG0gPCBncmVnb3JpYW5TdGFydE1vbnRoKQorICAgICAgICBy
ZXR1cm4gZmFsc2U7CisgICAgbW9udGggPSBtIC0gMTsKKyAgICAqZW5kID0gaSArIDI7CisgICAg
cmV0dXJuIHRydWU7Cit9CisKK2Jvb2wgR3JlZ29yaWFuRGF0ZVRpbWU6OnBhcnNlSVNPRGF0ZShj
b25zdCBVQ2hhciogc3JjLCB1bnNpZ25lZCBsZW5ndGgsIHVuc2lnbmVkIHN0YXJ0LCB1bnNpZ25l
ZCogZW5kKQoreworICAgIHVuc2lnbmVkIGk7CisgICAgaWYgKCFwYXJzZUlTT01vbnRoKHNyYywg
bGVuZ3RoLCBzdGFydCwgJmkpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgLy8gJy0nIGFu
ZCAyLWRpZ2l0cyBhcmUgbmVlZGVkLgorICAgIGlmIChpICsgMiA+PSBsZW5ndGgpCisgICAgICAg
IHJldHVybiBmYWxzZTsKKyAgICBpZiAoc3JjW2krK10gIT0gJy0nKQorICAgICAgICByZXR1cm4g
ZmFsc2U7CisgICAgaW50IGRheTsKKyAgICBpZiAoIXRvSW50KHNyYywgbGVuZ3RoLCBpLCAyLCAm
ZGF5KSB8fCBkYXkgPCAxIHx8IGRheSA+IG1heERheU9mTW9udGgoKSkKKyAgICAgICAgcmV0dXJu
IGZhbHNlOworICAgIC8vIE5vIHN1cHBvcnQgZm9yIGRhdGVzIGJlZm9yZSBHcmVnb3JpYW4gY2Fs
ZW5kYXIuCisgICAgaWYgKGZ1bGxZZWFyKCkgPT0gZ3JlZ29yaWFuU3RhcnRZZWFyICYmIG1vbnRo
ICsgMSA9PSBncmVnb3JpYW5TdGFydE1vbnRoICYmIGRheSA8IGdyZWdvcmlhblN0YXJ0RGF5KQor
ICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgbW9udGhEYXkgPSBkYXk7CisgICAgKmVuZCA9IGkg
KyAyOworICAgIHJldHVybiB0cnVlOworfQorCitib29sIEdyZWdvcmlhbkRhdGVUaW1lOjpwYXJz
ZUlTT1dlZWsoY29uc3QgVUNoYXIqIHNyYywgdW5zaWduZWQgbGVuZ3RoLCB1bnNpZ25lZCBzdGFy
dCwgdW5zaWduZWQqIGVuZCkKK3sKKyAgICB1bnNpZ25lZCBpOworICAgIGlmICghcGFyc2VJU09Z
ZWFyKHNyYywgbGVuZ3RoLCBzdGFydCwgJmkpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAg
Ly8gNCBjaGFyYWN0ZXJzICgnLScgJ1cnIGRpZ2l0IGRpZ2l0KSBhcmUgbmVlZGVkLgorICAgIGlm
IChpICsgMyA+PSBsZW5ndGgpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoc3JjW2kr
K10gIT0gJy0nKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKHNyY1tpKytdICE9ICdX
JykKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGludCB3OworICAgIGlmICghdG9JbnQoc3Jj
LCBsZW5ndGgsIGksIDIsICZ3KSB8fCB3IDwgMSB8fCB3ID4gbWF4V2VlaygpKQorICAgICAgICBy
ZXR1cm4gZmFsc2U7CisgICAgLy8gTm8gc3VwcG9ydCBmb3IgeWVhcnMgb2xkZXIgdGhhbiBvciBl
cXVhbHMgdG8gR3JlZ29yaWFuIGNhbGVuZGFyIHN0YXJ0IHllYXIuCisgICAgaWYgKGZ1bGxZZWFy
KCkgPD0gZ3JlZ29yaWFuU3RhcnRZZWFyKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgd2Vl
ayA9IHc7CisgICAgKmVuZCA9IGkgKyAyOworICAgIHJldHVybiB0cnVlOworfQorCitib29sIEdy
ZWdvcmlhbkRhdGVUaW1lOjpwYXJzZUlTT1RpbWUoY29uc3QgVUNoYXIqIHNyYywgdW5zaWduZWQg
bGVuZ3RoLCB1bnNpZ25lZCBzdGFydCwgdW5zaWduZWQqIGVuZCkKK3sKKyAgICBpbnQgaDsKKyAg
ICBpZiAoIXRvSW50KHNyYywgbGVuZ3RoLCBzdGFydCwgMiwgJmgpIHx8IGggPCAwIHx8IGggPiAy
MykKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIHVuc2lnbmVkIGkgPSBzdGFydCArIDI7Cisg
ICAgaWYgKGkgPj0gbGVuZ3RoKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKHNyY1tp
KytdICE9ICc6JykKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGludCBtOworICAgIGlmICgh
dG9JbnQoc3JjLCBsZW5ndGgsIGksIDIsICZtKSB8fCBtIDwgMCB8fCBtID4gNTkpCisgICAgICAg
IHJldHVybiBmYWxzZTsKKyAgICBpICs9IDI7CisgICAgaG91ciA9IGg7CisgICAgbWludXRlID0g
bTsKKyAgICBzZWNvbmQgPSAwOworICAgIG1pbGxpc2Vjb25kID0gMDsKKworICAgIC8vIE9wdGlv
bmFsIHNlY29uZCBwYXJ0CisgICAgaWYgKGkgKyAyIDwgbGVuZ3RoICYmIHNyY1tpXSA9PSAnOicp
IHsKKyAgICAgICAgaW50IHNlYzsKKyAgICAgICAgaWYgKHRvSW50KHNyYywgbGVuZ3RoLCBpICsg
MSwgMiwgJnNlYykgJiYgc2VjID49IDAgJiYgc2VjIDw9IDU5KSB7CisgICAgICAgICAgICBzZWNv
bmQgPSBzZWM7CisgICAgICAgICAgICBpICs9IDM7CisKKyAgICAgICAgICAgIC8vIE9wdGlvbmFs
IGZyYWN0aW9uYWwgc2Vjb25kIHBhcnQKKyAgICAgICAgICAgIGlmIChpIDwgbGVuZ3RoICYmIHNy
Y1tpXSA9PSAnLicpIHsKKyAgICAgICAgICAgICAgICB1bnNpZ25lZCBkaWdpdHNMZW5ndGggPSBj
b3VudERpZ2l0cyhzcmMsIGxlbmd0aCwgKytpKTsKKyAgICAgICAgICAgICAgICBpZiAoZGlnaXRz
TGVuZ3RoID4gMCkgeworICAgICAgICAgICAgICAgICAgICBib29sIG9rOworICAgICAgICAgICAg
ICAgICAgICBpbnQgbWlsbGk7CisgICAgICAgICAgICAgICAgICAgIGlmIChkaWdpdHNMZW5ndGgg
PT0gMSkgeworICAgICAgICAgICAgICAgICAgICAgICAgb2sgPSB0b0ludChzcmMsIGxlbmd0aCwg
aSwgMSwgJm1pbGxpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIG1pbGxpICo9IDEwMDsKKyAg
ICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChkaWdpdHNMZW5ndGggPT0gMikgeworICAgICAg
ICAgICAgICAgICAgICAgICAgb2sgPSB0b0ludChzcmMsIGxlbmd0aCwgaSwgMiwgJm1pbGxpKTsK
KyAgICAgICAgICAgICAgICAgICAgICAgIG1pbGxpICo9IDEwOworICAgICAgICAgICAgICAgICAg
ICB9IGVsc2UgLy8gZGlnaXRzTGVuZ3RoID49IDMKKyAgICAgICAgICAgICAgICAgICAgICAgIG9r
ID0gdG9JbnQoc3JjLCBsZW5ndGgsIGksIDMsICZtaWxsaSk7CisgICAgICAgICAgICAgICAgICAg
IGlmIChvaykgeworICAgICAgICAgICAgICAgICAgICAgICAgbWlsbGlzZWNvbmQgPSBtaWxsaTsK
KyAgICAgICAgICAgICAgICAgICAgICAgIGkgKz0gZGlnaXRzTGVuZ3RoOworICAgICAgICAgICAg
ICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgICAgICAgICAgICAgIC0taTsKKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9CisgICAgKmVuZCA9IGk7Cisg
ICAgcmV0dXJuIHRydWU7Cit9CisKK2Jvb2wgR3JlZ29yaWFuRGF0ZVRpbWU6OnBhcnNlSVNPRGF0
ZVRpbWVMb2NhbChjb25zdCBVQ2hhciogc3JjLCB1bnNpZ25lZCBsZW5ndGgsIHVuc2lnbmVkIHN0
YXJ0LCB1bnNpZ25lZCogZW5kKQoreworICAgIHVuc2lnbmVkIGk7CisgICAgaWYgKCFwYXJzZUlT
T0RhdGUoc3JjLCBsZW5ndGgsIHN0YXJ0LCAmaSkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAg
ICBpZiAoaSA+PSBsZW5ndGgpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoc3JjW2kr
K10gIT0gJ1QnKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgcmV0dXJuIHBhcnNlSVNPVGlt
ZShzcmMsIGxlbmd0aCwgaSwgZW5kKTsKK30KKworYm9vbCBHcmVnb3JpYW5EYXRlVGltZTo6cGFy
c2VJU09EYXRlVGltZShjb25zdCBVQ2hhciogc3JjLCB1bnNpZ25lZCBsZW5ndGgsIHVuc2lnbmVk
IHN0YXJ0LCB1bnNpZ25lZCogZW5kKQoreworICAgIHVuc2lnbmVkIGk7CisgICAgaWYgKCFwYXJz
ZUlTT0RhdGUoc3JjLCBsZW5ndGgsIHN0YXJ0LCAmaSkpCisgICAgICAgIHJldHVybiBmYWxzZTsK
KyAgICBpZiAoaSA+PSBsZW5ndGgpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoc3Jj
W2krK10gIT0gJ1QnKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKCFwYXJzZUlTT1Rp
bWUoc3JjLCBsZW5ndGgsIGksICZpKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIHJldHVy
biBwYXJzZUlTT1RpbWVab25lKHNyYywgbGVuZ3RoLCBpLCBlbmQpOworfQorCitib29sIEdyZWdv
cmlhbkRhdGVUaW1lOjpwYXJzZUlTT1RpbWVab25lKGNvbnN0IFVDaGFyKiBzcmMsIHVuc2lnbmVk
IGxlbmd0aCwgdW5zaWduZWQgc3RhcnQsIHVuc2lnbmVkKiBlbmQpCit7CisgICAgaWYgKHN0YXJ0
ID49IGxlbmd0aCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIHVuc2lnbmVkIGkgPSBzdGFy
dDsKKyAgICBpbnQgaDsKKyAgICBpbnQgbTsKKyAgICBpZiAoc3JjW2ldID09ICdaJykgeworICAg
ICAgICArK2k7CisgICAgICAgIGggPSAwOworICAgICAgICBtID0gMDsKKyAgICB9IGVsc2Ugewor
ICAgICAgICBib29sIG1pbnVzOworICAgICAgICBpZiAoc3JjW2ldID09ICcrJykKKyAgICAgICAg
ICAgIG1pbnVzID0gZmFsc2U7CisgICAgICAgIGVsc2UgaWYgKHNyY1tpXSA9PSAnLScpCisgICAg
ICAgICAgICBtaW51cyA9IHRydWU7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHJldHVybiBm
YWxzZTsKKyAgICAgICAgKytpOworICAgICAgICBpZiAoIXRvSW50KHNyYywgbGVuZ3RoLCBpLCAy
LCAmaCkgfHwgaCA8IDAgfHwgaCA+IDIzKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAg
ICAgICBpICs9IDI7CisgICAgICAgIGlmIChpID49IGxlbmd0aCB8fCBzcmNbaSsrXSAhPSAnOicp
CisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIGlmICghdG9JbnQoc3JjLCBsZW5n
dGgsIGksIDIsICZtKSB8fCBtIDwgMCB8fCBtID4gNTkpCisgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CisgICAgICAgIGlmIChtaW51cykgeworICAgICAgICAgICAgaCA9IC1oOworICAgICAgICAg
ICAgbSA9IC1tOworICAgICAgICB9CisgICAgICAgIGkgKz0gMjsKKyAgICB9CisKKyAgICAvLyBT
dWJ0cmFjdCB0aGUgdGltZXpvbmUgb2Zmc2V0LgorICAgIGlmICghYWRkTWludXRlKCAtKGggKiA2
MCArIG0pKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICplbmQgPSBpOworICAgIHJldHVy
biB0cnVlOworfQorCitib29sIEdyZWdvcmlhbkRhdGVUaW1lOjphZGRNaW51dGUoaW50IG1pbikK
K3sKKyAgICBpbnQgY2Fycnk7CisgICAgLy8gbWluIGNhbiBiZSBuZWdhdGl2ZSBvciBncmVhdGVy
IHRoYW4gNTkKKyAgICBtaW4gPSBtaW51dGUgKyBtaW47CisgICAgaWYgKG1pbiA+IDU5KSB7Cisg
ICAgICAgIGNhcnJ5ID0gbWluIC8gNjA7CisgICAgICAgIG1pbiA9IG1pbiAlIDYwOworICAgIH0g
ZWxzZSBpZiAobWludXRlIDwgMCkgeworICAgICAgICBjYXJyeSA9ICg1OSAtIG1pbnV0ZSkgLyA2
MDsKKyAgICAgICAgbWluID0gbWluICsgY2FycnkgKiA2MDsKKyAgICAgICAgY2FycnkgPSAtY2Fy
cnk7CisgICAgICAgIEFTU0VSVChtaW4gPj0gMCAmJiBtaW4gPD0gNTkpOworICAgIH0gZWxzZSB7
CisgICAgICAgIG1pbnV0ZSA9IG1pbjsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCisg
ICAgaW50IGggPSBob3VyICsgY2Fycnk7CisgICAgaWYgKGggPiAyMykgeworICAgICAgICBjYXJy
eSA9IGggLyAyNDsKKyAgICAgICAgaCA9IGggJSAyNDsKKyAgICB9IGVsc2UgaWYgKGggPCAwKSB7
CisgICAgICAgIGNhcnJ5ID0gKDIzIC0gaCkgLyAyNDsKKyAgICAgICAgaCA9IGggKyBjYXJyeSAq
IDI0OworICAgICAgICBjYXJyeSA9IC1jYXJyeTsKKyAgICAgICAgQVNTRVJUKGggPj0gMCAmJiBo
IDw9IDIzKTsKKyAgICB9IGVsc2UgeworICAgICAgICBtaW51dGUgPSBtaW47CisgICAgICAgIGhv
dXIgPSBoOworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisgICAgaWYgKCFhZGREYXkoY2Fy
cnkpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgbWludXRlID0gbWluOworICAgIGhvdXIg
PSBoOworICAgIHJldHVybiB0cnVlOworfQorCitib29sIEdyZWdvcmlhbkRhdGVUaW1lOjphZGRE
YXkoaW50IGRheURpZmYpCit7CisgICAgQVNTRVJUKG1vbnRoRGF5KTsKKworICAgIGludCBkID0g
bW9udGhEYXkgKyBkYXlEaWZmOworICAgIGlmIChkID4gbWF4RGF5T2ZNb250aCgpKSB7CisgICAg
ICAgIGQgPSBtb250aERheTsKKyAgICAgICAgaW50IG0gPSBtb250aDsKKyAgICAgICAgaW50IHkg
PSBmdWxsWWVhcigpOworICAgICAgICBmb3IgKDsgZGF5RGlmZiA+IDA7IC0tZGF5RGlmZikgewor
ICAgICAgICAgICAgKytkOworICAgICAgICAgICAgaWYgKGQgPiBtYXhEYXlPZk1vbnRoKHksIG0p
KSB7CisgICAgICAgICAgICAgICAgZCA9IDE7CisgICAgICAgICAgICAgICAgKyttOworICAgICAg
ICAgICAgICAgIGlmIChtID49IDEyKSB7ICAvLyBtb250aCBpcyAwLW9yaWdpbi4KKyAgICAgICAg
ICAgICAgICAgICAgbSA9IDA7CisgICAgICAgICAgICAgICAgICAgICsreTsKKyAgICAgICAgICAg
ICAgICAgICAgaWYgKHkgPCAwKSAgLy8gT3ZlcmZsb3cuCisgICAgICAgICAgICAgICAgICAgICAg
ICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAg
ICB9CisgICAgICAgIHNldEZ1bGxZZWFyKHkpOworICAgICAgICBtb250aCA9IG07CisgICAgfSBl
bHNlIGlmIChkIDwgMSkgeworICAgICAgICBpbnQgbSA9IG1vbnRoOworICAgICAgICBpbnQgeSA9
IGZ1bGxZZWFyKCk7CisgICAgICAgIGQgPSBtb250aERheTsKKyAgICAgICAgZm9yICg7IGRheURp
ZmYgPCAwOyArK2RheURpZmYpIHsKKyAgICAgICAgICAgIC0tZDsKKyAgICAgICAgICAgIGlmIChk
IDwgMSkgeworICAgICAgICAgICAgICAgIC0tbTsKKyAgICAgICAgICAgICAgICBpZiAobSA8IDAp
IHsKKyAgICAgICAgICAgICAgICAgICAgbSA9IDExOworICAgICAgICAgICAgICAgICAgICAtLXk7
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGQgPSBtYXhEYXlPZk1vbnRoKHks
IG0pOworICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKHkgPCBncmVnb3JpYW5TdGFydFll
YXIKKyAgICAgICAgICAgICAgICAgICAgfHwgeSA9PSBncmVnb3JpYW5TdGFydFllYXIgJiYgbSAr
IDEgPCBncmVnb3JpYW5TdGFydE1vbnRoCisgICAgICAgICAgICAgICAgICAgIHx8IHkgPT0gZ3Jl
Z29yaWFuU3RhcnRZZWFyICYmIG0gKyAxID09IGdyZWdvcmlhblN0YXJ0TW9udGggJiYgZCA8IGdy
ZWdvcmlhblN0YXJ0RGF5KQorICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAg
fQorICAgICAgICBzZXRGdWxsWWVhcih5KTsKKyAgICAgICAgbW9udGggPSBtOworICAgIH0KKyAg
ICBtb250aERheSA9IGQ7CisgICAgcmV0dXJuIHRydWU7Cit9CiAKIH0gLy8gbmFtZXNwYWNlIFdU
RgpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL0RhdGVNYXRoLmggYi9KYXZhU2NyaXB0
Q29yZS93dGYvRGF0ZU1hdGguaAppbmRleCA2MTEwZjc2Li4xMjQyNDM5IDEwMDY0NAotLS0gYS9K
YXZhU2NyaXB0Q29yZS93dGYvRGF0ZU1hdGguaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvRGF0
ZU1hdGguaApAQCAtNDUsNiArNDUsNyBAQAogI2luY2x1ZGUgPHRpbWUuaD4KICNpbmNsdWRlIDxz
dHJpbmcuaD4KICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KKyNpbmNsdWRlIDx3dGYvdW5p
Y29kZS9Vbmljb2RlLmg+CiAKIG5hbWVzcGFjZSBXVEYgewogCkBAIC05MCw2ICs5MSw4IEBAIHN0
cnVjdCBHcmVnb3JpYW5EYXRlVGltZSA6IE5vbmNvcHlhYmxlIHsKICAgICAgICAgLCBpc0RTVCgw
KQogICAgICAgICAsIHV0Y09mZnNldCgwKQogICAgICAgICAsIHRpbWVab25lKDApCisgICAgICAg
ICwgd2VlaygwKQorICAgICAgICAsIG1pbGxpc2Vjb25kKDApCiAgICAgewogICAgIH0KIApAQCAt
MTA4LDYgKzExMSw4IEBAIHN0cnVjdCBHcmVnb3JpYW5EYXRlVGltZSA6IE5vbmNvcHlhYmxlIHsK
ICAgICAgICAgLCBtb250aChpblRtLnRtX21vbikKICAgICAgICAgLCB5ZWFyKGluVG0udG1feWVh
cikKICAgICAgICAgLCBpc0RTVChpblRtLnRtX2lzZHN0KQorICAgICAgICAsIHdlZWsoMCkKKyAg
ICAgICAgLCBtaWxsaXNlY29uZCgwKQogICAgIHsKICNpZiBIQVZFKFRNX0dNVE9GRikKICAgICAg
ICAgdXRjT2Zmc2V0ID0gc3RhdGljX2Nhc3Q8aW50PihpblRtLnRtX2dtdG9mZik7CkBAIC0xMjYs
NiArMTMxLDggQEAgc3RydWN0IEdyZWdvcmlhbkRhdGVUaW1lIDogTm9uY29weWFibGUgewogCiAg
ICAgb3BlcmF0b3IgdG0oKSBjb25zdAogICAgIHsKKyAgICAgICAgQVNTRVJUKCF3ZWVrKTsKKwog
ICAgICAgICB0bSByZXQ7CiAgICAgICAgIG1lbXNldCgmcmV0LCAwLCBzaXplb2YocmV0KSk7CiAK
QEAgLTE2NywxOSArMTc0LDcyIEBAIHN0cnVjdCBHcmVnb3JpYW5EYXRlVGltZSA6IE5vbmNvcHlh
YmxlIHsKICAgICAgICAgICAgIHN0cm5jcHkodGltZVpvbmUsIHJocy50aW1lWm9uZSwgaW5ab25l
U2l6ZSk7CiAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgdGltZVpvbmUgPSAwOworICAgICAg
ICB3ZWVrID0gcmhzLndlZWs7CisgICAgICAgIG1pbGxpc2Vjb25kID0gcmhzLm1pbGxpc2Vjb25k
OwogICAgIH0KIAorICAgIC8vIFNldHMgeWVhciBhbmQgbW9udGguCisgICAgYm9vbCBwYXJzZUlT
T01vbnRoKGNvbnN0IFVDaGFyKiwgdW5zaWduZWQgLyogaW5wdXQtbGVuZ3RoICovLCB1bnNpZ25l
ZCAvKiBwYXJzZS1zdGFydCAqLywgdW5zaWduZWQqIC8qIHBhcnNlLWVuZCArIDEgKi8pOworICAg
IC8vIFNldHMgeWVhciwgbW9udGggYW5kIG1vbnRoRGF5LgorICAgIGJvb2wgcGFyc2VJU09EYXRl
KGNvbnN0IFVDaGFyKiwgdW5zaWduZWQsIHVuc2lnbmVkLCB1bnNpZ25lZCopOworICAgIC8vIFNl
dHMgeWVhciBhbmQgd2Vlay4KKyAgICBib29sIHBhcnNlSVNPV2Vlayhjb25zdCBVQ2hhciosIHVu
c2lnbmVkLCB1bnNpZ25lZCwgdW5zaWduZWQqKTsKKyAgICAvLyBTZXRzIGhvdXIsIG1pbnV0ZSwg
c2Vjb25kIGFuZCBtaWxsaXNlY29uZC4KKyAgICBib29sIHBhcnNlSVNPVGltZShjb25zdCBVQ2hh
ciosIHVuc2lnbmVkLCB1bnNpZ25lZCwgdW5zaWduZWQqKTsKKyAgICAvLyBTZXRzIHllYXIsIG1v
bnRoLCBtb250aERheSwgaG91ciwgbWludXRlLCBzZWNvbmQgYW5kIG1pbGxpc2Vjb25kLgorICAg
IGJvb2wgcGFyc2VJU09EYXRlVGltZUxvY2FsKGNvbnN0IFVDaGFyKiwgdW5zaWduZWQsIHVuc2ln
bmVkLCB1bnNpZ25lZCopOworICAgIC8vIFNldHMgeWVhciwgbW9udGgsIG1vbnRoRGF5LCBob3Vy
LCBtaW51dGUsIHNlY29uZCBhbmQgbWlsbGlzZWNvbmQsIGFuZCBhZGp1c3RzIHRpbWV6b25lLgor
ICAgIGJvb2wgcGFyc2VJU09EYXRlVGltZShjb25zdCBVQ2hhciosIHVuc2lnbmVkLCB1bnNpZ25l
ZCwgdW5zaWduZWQqKTsKKworICAgIGludCBmdWxsWWVhcigpIGNvbnN0IHsgcmV0dXJuIHllYXIg
KyAxOTAwOyB9CisgICAgdm9pZCBzZXRGdWxsWWVhcihpbnQgeSkgeyB5ZWFyID0geSAtIDE5MDA7
IH0KKworICAgIC8vIHdlZWtEYXkgdmFsdWVzCisgICAgZW51bSB7CisgICAgICAgIFNVTkRBWSA9
IDAsCisgICAgICAgIE1PTkRBWSwKKyAgICAgICAgVFVFU0RBWSwKKyAgICAgICAgV0VETkVTREFZ
LAorICAgICAgICBUSFVSU0RBWSwKKyAgICAgICAgRlJJREFZLAorICAgICAgICBTQVRVUkRBWSwK
KyAgICB9OworCiAgICAgaW50IHNlY29uZDsKICAgICBpbnQgbWludXRlOwogICAgIGludCBob3Vy
OwotICAgIGludCB3ZWVrRGF5OwotICAgIGludCBtb250aERheTsKKyAgICBpbnQgd2Vla0RheTsg
IC8vIDA6U3VuZGF5CisgICAgaW50IG1vbnRoRGF5OyAgLy8gMSAtIDMxCiAgICAgaW50IHllYXJE
YXk7Ci0gICAgaW50IG1vbnRoOwotICAgIGludCB5ZWFyOworICAgIGludCBtb250aDsgIC8vIDA6
SmFudWFyeQorICAgIGludCB5ZWFyOyAgLy8geWVhciAtIDE5MDAKICAgICBpbnQgaXNEU1Q7CiAg
ICAgaW50IHV0Y09mZnNldDsKICAgICBjaGFyKiB0aW1lWm9uZTsKKworICAgIGludCB3ZWVrOyAg
Ly8gMSAtIDUzLiAgMCBpcyBpbnZhbGlkLiAgVGhpcyBmaWVsZCBoYXMgYSB2YWxpZCB2YWx1ZSBv
bmx5IGlmIHBhcnNlSVNPV2VlaygpIGlzIGNhbGxlZC4KKyAgICBpbnQgbWlsbGlzZWNvbmQ7ICAv
LyAwIC0gOTk5CisKK3ByaXZhdGU6CisgICAgLy8gU2V0cyB5ZWFyLgorICAgIGJvb2wgcGFyc2VJ
U09ZZWFyKGNvbnN0IFVDaGFyKiwgdW5zaWduZWQsIHVuc2lnbmVkLCB1bnNpZ25lZCopOworICAg
IC8vIFBhcnNlcyBhIHRpbWV6b25lIHBhcnQsIGFuZCBhZGp1c3QgeWVhciwgbW9udGgsIG1vbnRo
RGF5LCBob3VyLCBtaW51dGUsIHNlY29uZCwgbWlsbGVzZWNvbmQuCisgICAgLy8gTm90ZTogVGhp
cyBkb2Vzbid0IHVwZGF0ZSB1dGZPZmZzZXQsIGlzRFNULCB0aW1lWm9uZSwgd2Vla0RheSwgYW5k
IHllYXJEYXkuCisgICAgYm9vbCBwYXJzZUlTT1RpbWVab25lKGNvbnN0IFVDaGFyKiwgdW5zaWdu
ZWQsIHVuc2lnbmVkLCB1bnNpZ25lZCopOworCisgICAgaW50IG1heERheU9mTW9udGgoKSBjb25z
dCB7IHJldHVybiBtYXhEYXlPZk1vbnRoKGZ1bGxZZWFyKCksIG1vbnRoKTsgfQorICAgIGludCBt
YXhXZWVrKCkgY29uc3Q7CisKKyAgICBib29sIGFkZE1pbnV0ZShpbnQpOworICAgIGJvb2wgYWRk
RGF5KGludCk7CisKKyAgICBzdGF0aWMgaW50IG1heERheU9mTW9udGgoaW50IC8qIGZ1bGwteWVh
ciAqLywgaW50IC8qIDAtYmFzZS1tb250aCAqLyk7CisgICAgc3RhdGljIGludCBkYXlPZldlZWso
aW50IC8qIGZ1bGwteWVhciAqLywgaW50IC8qIDAtYmFzZS1tb250aCAqLywgaW50IC8qIGRheSAq
Lyk7CisgICAgLy8gVGhlIG9sZGVzdCBkYXkgb2YgR3JlZ29yaWFuIENhbGVuZGFyIGlzIDE1ODIt
MTAtMTUuICBXZSBkb24ndCBzdXBwb3J0IGRhdGVzIG9sZGVyIHRoYW4gaXQuCisgICAgc3RhdGlj
IGNvbnN0IGludCBncmVnb3JpYW5TdGFydFllYXIgPSAxNTgyOworICAgIHN0YXRpYyBjb25zdCBp
bnQgZ3JlZ29yaWFuU3RhcnRNb250aCA9IDEwOworICAgIHN0YXRpYyBjb25zdCBpbnQgZ3JlZ29y
aWFuU3RhcnREYXkgPSAxNTsKKyAgICBzdGF0aWMgY29uc3QgaW50IG1heERheU9mTW9udGhzWzEy
XTsKIH07CiAKIHN0YXRpYyBpbmxpbmUgaW50IGdtdG9mZnNldChjb25zdCBHcmVnb3JpYW5EYXRl
VGltZSYgdCkK
</data>
<flag name="review"
          id="20427"
          type_id="1"
          status="-"
          setter="eric"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>39344</attachid>
            <date>2009-09-10 05:16:59 -0700</date>
            <delta_ts>2009-09-13 18:50:34 -0700</delta_ts>
            <desc>Patch part 3: support for ValidityState.typeMismatch and layout tests</desc>
            <filename>datetime-typemismatch-1.diff</filename>
            <type>text/plain</type>
            <size>35524</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBhNWRhYmE3Li5iMmY3ZjZkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzAgQEAKKzIwMDktMDkt
MTAgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3RzIGZvciBWYWxpZGl0eVN0YXRlLnR5
cGVNaXNtYXRjaCBmb3IgdGhlIGZvbGxvd2luZyB0eXBlcyBvZiBJTlBVVCBlbGVtZW50OgorICAg
ICAgICAgICAgZGF0ZSwgZGF0ZXRpbWUsIGRhdGV0aW1lLWxvY2FsLCBtb250aCwgdGltZSBhbmQg
d2VlaworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mjkw
MDQKKworICAgICAgICAqIGZhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtZGF0
ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvVmFsaWRpdHlTdGF0
ZS10eXBlTWlzbWF0Y2gtZGF0ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL1Zh
bGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLWRhdGV0aW1lLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1kYXRldGltZS5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21h
dGNoLWRhdGV0aW1lbG9jYWwtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zv
cm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLWRhdGV0aW1lbG9jYWwuaHRtbDogQWRkZWQu
CisgICAgICAgICogZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1tb250aC1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10
eXBlTWlzbWF0Y2gtbW9udGguaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9WYWxp
ZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC10aW1lLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC10aW1lLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGZhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtd2Vlay1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10
eXBlTWlzbWF0Y2gtd2Vlay5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3Jlc291
cmNlcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1kYXRlLmpzOiBBZGRlZC4KKyAgICAgICAg
KiBmYXN0L2Zvcm1zL3Jlc291cmNlcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1kYXRldGlt
ZS5qczogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9yZXNvdXJjZXMvVmFsaWRpdHlTdGF0
ZS10eXBlTWlzbWF0Y2gtZGF0ZXRpbWVsb2NhbC5qczogQWRkZWQuCisgICAgICAgICogZmFzdC9m
b3Jtcy9yZXNvdXJjZXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtbW9udGguanM6IEFkZGVk
LgorICAgICAgICAqIGZhc3QvZm9ybXMvcmVzb3VyY2VzL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21h
dGNoLXRpbWUuanM6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvcmVzb3VyY2VzL1ZhbGlk
aXR5U3RhdGUtdHlwZU1pc21hdGNoLXdlZWsuanM6IEFkZGVkLgorCiAyMDA5LTA5LTA4ICBBZGFt
IEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBT
ZWlkZWwuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUt
dHlwZU1pc21hdGNoLWRhdGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9W
YWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1kYXRlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYWEyYzFlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1kYXRlLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDYxIEBACitUaGlzIHRlc3QgYWltcyB0byBjaGVjayBmb3IgdHlwZU1p
c21hdGNoIGZsYWcgd2l0aCB0eXBlPWRhdGUgaW5wdXQgZmllbGRzCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworCitQQVNTICIiIGlzIGEgY29ycmVjdCB2YWxpZCBkYXRlIHN0cmluZy4K
K1BBU1MgIjIwMDktMDktMDciIGlzIGEgY29ycmVjdCB2YWxpZCBkYXRlIHN0cmluZy4KK1BBU1Mg
Ijk5OTktMTItMzEiIGlzIGEgY29ycmVjdCB2YWxpZCBkYXRlIHN0cmluZy4KK1BBU1MgIjIxNDc0
ODM2NDctMTItMzEiIGlzIGEgY29ycmVjdCB2YWxpZCBkYXRlIHN0cmluZy4KK1BBU1MgIjE1ODIt
MTAtMTUiIGlzIGEgY29ycmVjdCB2YWxpZCBkYXRlIHN0cmluZy4KK1BBU1MgIjIwMDktMDEtMzEi
IGlzIGEgY29ycmVjdCB2YWxpZCBkYXRlIHN0cmluZy4KK1BBU1MgIjIwMDktMDItMjgiIGlzIGEg
Y29ycmVjdCB2YWxpZCBkYXRlIHN0cmluZy4KK1BBU1MgIjIwMDktMDMtMzEiIGlzIGEgY29ycmVj
dCB2YWxpZCBkYXRlIHN0cmluZy4KK1BBU1MgIjIwMDktMDQtMzAiIGlzIGEgY29ycmVjdCB2YWxp
ZCBkYXRlIHN0cmluZy4KK1BBU1MgIjIwMDktMDUtMzEiIGlzIGEgY29ycmVjdCB2YWxpZCBkYXRl
IHN0cmluZy4KK1BBU1MgIjIwMDktMDYtMzAiIGlzIGEgY29ycmVjdCB2YWxpZCBkYXRlIHN0cmlu
Zy4KK1BBU1MgIjIwMDktMDctMzEiIGlzIGEgY29ycmVjdCB2YWxpZCBkYXRlIHN0cmluZy4KK1BB
U1MgIjIwMDktMDgtMzEiIGlzIGEgY29ycmVjdCB2YWxpZCBkYXRlIHN0cmluZy4KK1BBU1MgIjIw
MDktMDktMzAiIGlzIGEgY29ycmVjdCB2YWxpZCBkYXRlIHN0cmluZy4KK1BBU1MgIjIwMDktMTAt
MzEiIGlzIGEgY29ycmVjdCB2YWxpZCBkYXRlIHN0cmluZy4KK1BBU1MgIjIwMDktMTEtMzAiIGlz
IGEgY29ycmVjdCB2YWxpZCBkYXRlIHN0cmluZy4KK1BBU1MgIjIwMDktMTItMzEiIGlzIGEgY29y
cmVjdCB2YWxpZCBkYXRlIHN0cmluZy4KK1BBU1MgIjIwMDgtMDItMjkiIGlzIGEgY29ycmVjdCB2
YWxpZCBkYXRlIHN0cmluZy4KK1BBU1MgIjIwMDAtMDItMjkiIGlzIGEgY29ycmVjdCB2YWxpZCBk
YXRlIHN0cmluZy4KK1BBU1MgIiAyMDA5LTA5LTA3ICIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0
ZSBzdHJpbmcuCitQQVNTICJhIiBpcyBhIGNvcnJlY3QgaW52YWxpZCBkYXRlIHN0cmluZy4KK1BB
U1MgIi0xLTA5LTA3IiBpcyBhIGNvcnJlY3QgaW52YWxpZCBkYXRlIHN0cmluZy4KK1BBU1MgIjE1
ODEtMDktMDciIGlzIGEgY29ycmVjdCBpbnZhbGlkIGRhdGUgc3RyaW5nLgorUEFTUyAiMTU4Mi0x
MC0xNCIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZSBzdHJpbmcuCitQQVNTICIyMTQ3NDgzNjQ4
LTEyLTMxIiBpcyBhIGNvcnJlY3QgaW52YWxpZCBkYXRlIHN0cmluZy4KK1BBU1MgIjIwMDkvMDkv
MDciIGlzIGEgY29ycmVjdCBpbnZhbGlkIGRhdGUgc3RyaW5nLgorUEFTUyAiMjAwOTA5MDciIGlz
IGEgY29ycmVjdCBpbnZhbGlkIGRhdGUgc3RyaW5nLgorUEFTUyAiMjAwOS0tMi0wNyIgaXMgYSBj
b3JyZWN0IGludmFsaWQgZGF0ZSBzdHJpbmcuCitQQVNTICIyMDA5LTAwLTA3IiBpcyBhIGNvcnJl
Y3QgaW52YWxpZCBkYXRlIHN0cmluZy4KK1BBU1MgIjIwMDktMTMtMDciIGlzIGEgY29ycmVjdCBp
bnZhbGlkIGRhdGUgc3RyaW5nLgorUEFTUyAiMTU4Mi0wOS0zMCIgaXMgYSBjb3JyZWN0IGludmFs
aWQgZGF0ZSBzdHJpbmcuCitQQVNTICIyMDA5LXh4LTMwIiBpcyBhIGNvcnJlY3QgaW52YWxpZCBk
YXRlIHN0cmluZy4KK1BBU1MgIjIwMDktMDEtMzIiIGlzIGEgY29ycmVjdCBpbnZhbGlkIGRhdGUg
c3RyaW5nLgorUEFTUyAiMjAwOS0wMi0yOSIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZSBzdHJp
bmcuCitQQVNTICIyMDA5LTAzLTMyIiBpcyBhIGNvcnJlY3QgaW52YWxpZCBkYXRlIHN0cmluZy4K
K1BBU1MgIjIwMDktMDQtMzEiIGlzIGEgY29ycmVjdCBpbnZhbGlkIGRhdGUgc3RyaW5nLgorUEFT
UyAiMjAwOS0wNS0zMiIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZSBzdHJpbmcuCitQQVNTICIy
MDA5LTA2LTMxIiBpcyBhIGNvcnJlY3QgaW52YWxpZCBkYXRlIHN0cmluZy4KK1BBU1MgIjIwMDkt
MDctMzIiIGlzIGEgY29ycmVjdCBpbnZhbGlkIGRhdGUgc3RyaW5nLgorUEFTUyAiMjAwOS0wOC0z
MiIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZSBzdHJpbmcuCitQQVNTICIyMDA5LTA5LTMxIiBp
cyBhIGNvcnJlY3QgaW52YWxpZCBkYXRlIHN0cmluZy4KK1BBU1MgIjIwMDktMTAtMzIiIGlzIGEg
Y29ycmVjdCBpbnZhbGlkIGRhdGUgc3RyaW5nLgorUEFTUyAiMjAwOS0xMS0zMSIgaXMgYSBjb3Jy
ZWN0IGludmFsaWQgZGF0ZSBzdHJpbmcuCitQQVNTICIyMDA5LTEyLTMyIiBpcyBhIGNvcnJlY3Qg
aW52YWxpZCBkYXRlIHN0cmluZy4KK1BBU1MgIjIxMDAtMDItMjkiIGlzIGEgY29ycmVjdCBpbnZh
bGlkIGRhdGUgc3RyaW5nLgorUEFTUyAiMjAwOS0wOS0wMCIgaXMgYSBjb3JyZWN0IGludmFsaWQg
ZGF0ZSBzdHJpbmcuCitQQVNTICIyMDA5LTA5LSIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZSBz
dHJpbmcuCitQQVNTICIyMDA5LTA5LTciIGlzIGEgY29ycmVjdCBpbnZhbGlkIGRhdGUgc3RyaW5n
LgorUEFTUyAiMjAwOS0wOS0wMDEiIGlzIGEgY29ycmVjdCBpbnZhbGlkIGRhdGUgc3RyaW5nLgor
UEFTUyAiMjAwOS0wOS14eCIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZSBzdHJpbmcuCitQQVNT
ICIyMDA5LTA5IiBpcyBhIGNvcnJlY3QgaW52YWxpZCBkYXRlIHN0cmluZy4KK1BBU1MgIjIwMDki
IGlzIGEgY29ycmVjdCBpbnZhbGlkIGRhdGUgc3RyaW5nLgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtZGF0ZS5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1kYXRlLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWQ4ZTI3MAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtZGF0ZS5o
dG1sCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9
Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNo
LWRhdGUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLWRhdGV0
aW1lLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10
eXBlTWlzbWF0Y2gtZGF0ZXRpbWUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAuLjljNTdjZTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLWRhdGV0aW1lLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM5IEBACitUaGlzIHRlc3QgYWltcyB0byBjaGVjayBmb3IgdHlwZU1pc21hdGNo
IGZsYWcgd2l0aCB0eXBlPWRhdGV0aW1lIGlucHV0IGZpZWxkcworCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKKworUEFTUyAiIiBpcyBhIGNvcnJlY3QgdmFsaWQgZGF0ZXRpbWUgc3RyaW5n
LgorUEFTUyAiMjAwOS0wOS0wN1QxNjo0OVoiIGlzIGEgY29ycmVjdCB2YWxpZCBkYXRldGltZSBz
dHJpbmcuCitQQVNTICIyMDA5LTA5LTA3VDE2OjQ5OjMxWiIgaXMgYSBjb3JyZWN0IHZhbGlkIGRh
dGV0aW1lIHN0cmluZy4KK1BBU1MgIjIwMDktMDktMDdUMTY6NDk6MzEuMVoiIGlzIGEgY29ycmVj
dCB2YWxpZCBkYXRldGltZSBzdHJpbmcuCitQQVNTICIyMDA5LTA5LTA3VDE2OjQ5OjMxLjEyWiIg
aXMgYSBjb3JyZWN0IHZhbGlkIGRhdGV0aW1lIHN0cmluZy4KK1BBU1MgIjIwMDktMDktMDdUMTY6
NDk6MzEuMTIzWiIgaXMgYSBjb3JyZWN0IHZhbGlkIGRhdGV0aW1lIHN0cmluZy4KK1BBU1MgIjIw
MDktMDktMDdUMTY6NDk6MzEuMTIzNDU2Nzg5MFoiIGlzIGEgY29ycmVjdCB2YWxpZCBkYXRldGlt
ZSBzdHJpbmcuCitQQVNTICIyMTQ3NDgzNjQ3LTEyLTMxVDIzOjU5OjU5Ljk5OVoiIGlzIGEgY29y
cmVjdCB2YWxpZCBkYXRldGltZSBzdHJpbmcuCitQQVNTICIxNTgyLTEwLTE1VDAwOjAwOjAwLjAw
MFoiIGlzIGEgY29ycmVjdCB2YWxpZCBkYXRldGltZSBzdHJpbmcuCitQQVNTICIxNTgyLTEwLTE1
VDAwOjAwOjAwLjAwMCswMDowMCIgaXMgYSBjb3JyZWN0IHZhbGlkIGRhdGV0aW1lIHN0cmluZy4K
K1BBU1MgIjE1ODItMTAtMTVUMDE6MzArMDE6MzAiIGlzIGEgY29ycmVjdCB2YWxpZCBkYXRldGlt
ZSBzdHJpbmcuCitQQVNTICIxNTgyLTEwLTE1VDAwOjAwKzAxOjAwIiBpcyBhIGNvcnJlY3QgdmFs
aWQgZGF0ZXRpbWUgc3RyaW5nLgorUEFTUyAiIDIwMDktMDktMDdUMTY6NDlaICIgaXMgYSBjb3Jy
ZWN0IGludmFsaWQgZGF0ZXRpbWUgc3RyaW5nLgorUEFTUyAiMjAwOS0wOS0wN1QxNjo0OXoiIGlz
IGEgY29ycmVjdCBpbnZhbGlkIGRhdGV0aW1lIHN0cmluZy4KK1BBU1MgIjIwMDktMDktMDd0MTY6
NDlaIiBpcyBhIGNvcnJlY3QgaW52YWxpZCBkYXRldGltZSBzdHJpbmcuCitQQVNTICIyMDA5LTA5
LTA3VDE2OjQ5IiBpcyBhIGNvcnJlY3QgaW52YWxpZCBkYXRldGltZSBzdHJpbmcuCitQQVNTICIy
MDA5LzA5LzA3VDE2OjQ5WiIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZXRpbWUgc3RyaW5nLgor
UEFTUyAiYSIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZXRpbWUgc3RyaW5nLgorUEFTUyAiLTEt
MDktMDdUMTY6NDlaIiBpcyBhIGNvcnJlY3QgaW52YWxpZCBkYXRldGltZSBzdHJpbmcuCitQQVNT
ICIyMDA5LTA5LTA3VDE2OjQ5KzIzIiBpcyBhIGNvcnJlY3QgaW52YWxpZCBkYXRldGltZSBzdHJp
bmcuCitQQVNTICIyMDA5LTA5LTA3VDE2OjQ5KzIzOiIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0
ZXRpbWUgc3RyaW5nLgorUEFTUyAiMjAwOS0wOS0wN1QxNjo0OSsyNDowMCIgaXMgYSBjb3JyZWN0
IGludmFsaWQgZGF0ZXRpbWUgc3RyaW5nLgorUEFTUyAiMjAwOS0wOS0wN1QxNjo0OSsyMzo2MCIg
aXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZXRpbWUgc3RyaW5nLgorUEFTUyAiMjAwOS0wOS0wN1Qx
Njo0OS0yMyIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZXRpbWUgc3RyaW5nLgorUEFTUyAiMjAw
OS0wOS0wN1QxNjo0OS0yMzoiIGlzIGEgY29ycmVjdCBpbnZhbGlkIGRhdGV0aW1lIHN0cmluZy4K
K1BBU1MgIjIwMDktMDktMDdUMTY6NDktMjQ6MDAiIGlzIGEgY29ycmVjdCBpbnZhbGlkIGRhdGV0
aW1lIHN0cmluZy4KK1BBU1MgIjIwMDktMDktMDdUMTY6NDktMjM6NjAiIGlzIGEgY29ycmVjdCBp
bnZhbGlkIGRhdGV0aW1lIHN0cmluZy4KK1BBU1MgIjE1ODItMTAtMTRUMjM6NTk6NTlaIiBpcyBh
IGNvcnJlY3QgaW52YWxpZCBkYXRldGltZSBzdHJpbmcuCitQQVNTICIyMTQ3NDgzNjQ3LTEyLTMx
VDIzOjU5LTAwOjAxIiBpcyBhIGNvcnJlY3QgaW52YWxpZCBkYXRldGltZSBzdHJpbmcuCitQQVNT
ICIyMTQ3NDgzNjQ4LTAxLTAxVDAwOjAwOjAwWiIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZXRp
bWUgc3RyaW5nLgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10
eXBlTWlzbWF0Y2gtZGF0ZXRpbWUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRp
dHlTdGF0ZS10eXBlTWlzbWF0Y2gtZGF0ZXRpbWUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwLi42NjYyMzhlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1kYXRldGltZS5odG1sCkBAIC0wLDAg
KzEsMTMgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2Zhc3Qv
anMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0IHNyYz0icmVzb3VyY2VzL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLWRhdGV0aW1lLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1kYXRldGltZWxvY2Fs
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBl
TWlzbWF0Y2gtZGF0ZXRpbWVsb2NhbC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMC4uOTg5N2QwNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtZGF0ZXRpbWVsb2NhbC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwyNiBAQAorVGhpcyB0ZXN0IGFpbXMgdG8gY2hlY2sgZm9yIHR5cGVN
aXNtYXRjaCBmbGFnIHdpdGggdHlwZT1kYXRldGltZS1sb2NhbCBpbnB1dCBmaWVsZHMKKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgIiIgaXMgYSBjb3JyZWN0IHZhbGlkIGRh
dGV0aW1lLWxvY2FsIHN0cmluZy4KK1BBU1MgIjIwMDktMDktMDdUMTY6NDkiIGlzIGEgY29ycmVj
dCB2YWxpZCBkYXRldGltZS1sb2NhbCBzdHJpbmcuCitQQVNTICIyMDA5LTA5LTA3VDE2OjQ5OjMx
IiBpcyBhIGNvcnJlY3QgdmFsaWQgZGF0ZXRpbWUtbG9jYWwgc3RyaW5nLgorUEFTUyAiMjAwOS0w
OS0wN1QxNjo0OTozMS4xIiBpcyBhIGNvcnJlY3QgdmFsaWQgZGF0ZXRpbWUtbG9jYWwgc3RyaW5n
LgorUEFTUyAiMjAwOS0wOS0wN1QxNjo0OTozMS4xMiIgaXMgYSBjb3JyZWN0IHZhbGlkIGRhdGV0
aW1lLWxvY2FsIHN0cmluZy4KK1BBU1MgIjIwMDktMDktMDdUMTY6NDk6MzEuMTIzIiBpcyBhIGNv
cnJlY3QgdmFsaWQgZGF0ZXRpbWUtbG9jYWwgc3RyaW5nLgorUEFTUyAiMjAwOS0wOS0wN1QxNjo0
OTozMS4xMjM0NTY3ODkwIiBpcyBhIGNvcnJlY3QgdmFsaWQgZGF0ZXRpbWUtbG9jYWwgc3RyaW5n
LgorUEFTUyAiMjE0NzQ4MzY0Ny0xMi0zMVQyMzo1OTo1OS45OTkiIGlzIGEgY29ycmVjdCB2YWxp
ZCBkYXRldGltZS1sb2NhbCBzdHJpbmcuCitQQVNTICIxNTgyLTEwLTE1VDAwOjAwOjAwLjAwMCIg
aXMgYSBjb3JyZWN0IHZhbGlkIGRhdGV0aW1lLWxvY2FsIHN0cmluZy4KK1BBU1MgIiAyMDA5LTA5
LTA3VDE2OjQ5ICIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZXRpbWUtbG9jYWwgc3RyaW5nLgor
UEFTUyAiMjAwOS0wOS0wN3QxNjo0OSIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZXRpbWUtbG9j
YWwgc3RyaW5nLgorUEFTUyAiMjAwOS0wOS0wNyAxNjo0OSIgaXMgYSBjb3JyZWN0IGludmFsaWQg
ZGF0ZXRpbWUtbG9jYWwgc3RyaW5nLgorUEFTUyAiMjAwOS8wOS8wN1QxNjo0OSIgaXMgYSBjb3Jy
ZWN0IGludmFsaWQgZGF0ZXRpbWUtbG9jYWwgc3RyaW5nLgorUEFTUyAiYSIgaXMgYSBjb3JyZWN0
IGludmFsaWQgZGF0ZXRpbWUtbG9jYWwgc3RyaW5nLgorUEFTUyAiLTEtMDktMDdUMTY6NDkiIGlz
IGEgY29ycmVjdCBpbnZhbGlkIGRhdGV0aW1lLWxvY2FsIHN0cmluZy4KK1BBU1MgIjE1ODItMTAt
MTRUMjM6NTk6NTkiIGlzIGEgY29ycmVjdCBpbnZhbGlkIGRhdGV0aW1lLWxvY2FsIHN0cmluZy4K
K1BBU1MgIjIxNDc0ODM2NDgtMDEtMDFUMDA6MDA6MDAiIGlzIGEgY29ycmVjdCBpbnZhbGlkIGRh
dGV0aW1lLWxvY2FsIHN0cmluZy4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlk
aXR5U3RhdGUtdHlwZU1pc21hdGNoLWRhdGV0aW1lbG9jYWwuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtZGF0ZXRpbWVsb2NhbC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY1ZGMwMWMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLWRh
dGV0aW1lbG9jYWwuaHRtbApAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMg
Ii0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHls
ZXNoZWV0IiBocmVmPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9WYWxpZGl0eVN0YXRl
LXR5cGVNaXNtYXRjaC1kYXRldGltZWxvY2FsLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0
YXRlLXR5cGVNaXNtYXRjaC1tb250aC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLW1vbnRoLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YWI4ZTRmCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1tb250aC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSw0MSBAQAorVGhpcyB0ZXN0IGFpbXMgdG8gY2hlY2sgZm9y
IHR5cGVNaXNtYXRjaCBmbGFnIHdpdGggdHlwZT1tb250aCBpbnB1dCBmaWVsZHMKKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgIiIgaXMgYSBjb3JyZWN0IHZhbGlkIG1vbnRo
IHN0cmluZy4KK1BBU1MgIjE1ODItMTAiIGlzIGEgY29ycmVjdCB2YWxpZCBtb250aCBzdHJpbmcu
CitQQVNTICI5OTk5LTEyIiBpcyBhIGNvcnJlY3QgdmFsaWQgbW9udGggc3RyaW5nLgorUEFTUyAi
MjE0NzQ4MzY0Ny0xMiIgaXMgYSBjb3JyZWN0IHZhbGlkIG1vbnRoIHN0cmluZy4KK1BBU1MgIjIw
MDktMDEiIGlzIGEgY29ycmVjdCB2YWxpZCBtb250aCBzdHJpbmcuCitQQVNTICIyMDA5LTAyIiBp
cyBhIGNvcnJlY3QgdmFsaWQgbW9udGggc3RyaW5nLgorUEFTUyAiMjAwOS0wMyIgaXMgYSBjb3Jy
ZWN0IHZhbGlkIG1vbnRoIHN0cmluZy4KK1BBU1MgIjIwMDktMDQiIGlzIGEgY29ycmVjdCB2YWxp
ZCBtb250aCBzdHJpbmcuCitQQVNTICIyMDA5LTA1IiBpcyBhIGNvcnJlY3QgdmFsaWQgbW9udGgg
c3RyaW5nLgorUEFTUyAiMjAwOS0wNiIgaXMgYSBjb3JyZWN0IHZhbGlkIG1vbnRoIHN0cmluZy4K
K1BBU1MgIjIwMDktMDciIGlzIGEgY29ycmVjdCB2YWxpZCBtb250aCBzdHJpbmcuCitQQVNTICIy
MDA5LTA4IiBpcyBhIGNvcnJlY3QgdmFsaWQgbW9udGggc3RyaW5nLgorUEFTUyAiMjAwOS0wOSIg
aXMgYSBjb3JyZWN0IHZhbGlkIG1vbnRoIHN0cmluZy4KK1BBU1MgIjIwMDktMTAiIGlzIGEgY29y
cmVjdCB2YWxpZCBtb250aCBzdHJpbmcuCitQQVNTICIyMDA5LTExIiBpcyBhIGNvcnJlY3QgdmFs
aWQgbW9udGggc3RyaW5nLgorUEFTUyAiMjAwOS0xMiIgaXMgYSBjb3JyZWN0IHZhbGlkIG1vbnRo
IHN0cmluZy4KK1BBU1MgIiAyMDA5LTA5ICIgaXMgYSBjb3JyZWN0IGludmFsaWQgbW9udGggc3Ry
aW5nLgorUEFTUyAiYSIgaXMgYSBjb3JyZWN0IGludmFsaWQgbW9udGggc3RyaW5nLgorUEFTUyAi
LTEtMDkiIGlzIGEgY29ycmVjdCBpbnZhbGlkIG1vbnRoIHN0cmluZy4KK1BBU1MgIjE1ODEtMTAi
IGlzIGEgY29ycmVjdCBpbnZhbGlkIG1vbnRoIHN0cmluZy4KK1BBU1MgIjE1ODItMDkiIGlzIGEg
Y29ycmVjdCBpbnZhbGlkIG1vbnRoIHN0cmluZy4KK1BBU1MgIjIxNDc0ODM2NDgtMTIiIGlzIGEg
Y29ycmVjdCBpbnZhbGlkIG1vbnRoIHN0cmluZy4KK1BBU1MgIjIwMDkvMDkiIGlzIGEgY29ycmVj
dCBpbnZhbGlkIG1vbnRoIHN0cmluZy4KK1BBU1MgIjIwMDkwOSIgaXMgYSBjb3JyZWN0IGludmFs
aWQgbW9udGggc3RyaW5nLgorUEFTUyAiMjAwOS0tMiIgaXMgYSBjb3JyZWN0IGludmFsaWQgbW9u
dGggc3RyaW5nLgorUEFTUyAiMjAwOS0wMCIgaXMgYSBjb3JyZWN0IGludmFsaWQgbW9udGggc3Ry
aW5nLgorUEFTUyAiMjAwOS0xMyIgaXMgYSBjb3JyZWN0IGludmFsaWQgbW9udGggc3RyaW5nLgor
UEFTUyAiMjAwOS0iIGlzIGEgY29ycmVjdCBpbnZhbGlkIG1vbnRoIHN0cmluZy4KK1BBU1MgIjIw
MDktOSIgaXMgYSBjb3JyZWN0IGludmFsaWQgbW9udGggc3RyaW5nLgorUEFTUyAiMjAwOS0wMDki
IGlzIGEgY29ycmVjdCBpbnZhbGlkIG1vbnRoIHN0cmluZy4KK1BBU1MgIjIwMDkteHgiIGlzIGEg
Y29ycmVjdCBpbnZhbGlkIG1vbnRoIHN0cmluZy4KK1BBU1MgIjIwMDkiIGlzIGEgY29ycmVjdCBp
bnZhbGlkIG1vbnRoIHN0cmluZy4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlk
aXR5U3RhdGUtdHlwZU1pc21hdGNoLW1vbnRoLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLW1vbnRoLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMC4uOWMxZWQ5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtbW9udGguaHRtbApAQCAtMCww
ICsxLDEzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+
Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9mYXN0
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFz
dC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdCBzcmM9InJlc291cmNlcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1tb250aC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtdGltZS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLXRp
bWUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJmMGEw
NjkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3Rh
dGUtdHlwZU1pc21hdGNoLXRpbWUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzkgQEAKK1RoaXMg
dGVzdCBhaW1zIHRvIGNoZWNrIGZvciB0eXBlTWlzbWF0Y2ggZmxhZyB3aXRoIHR5cGU9dGltZSBp
bnB1dCBmaWVsZHMKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgIiIgaXMg
YSBjb3JyZWN0IHZhbGlkIHRpbWUgc3RyaW5nLgorUEFTUyAiMDA6MDAiIGlzIGEgY29ycmVjdCB2
YWxpZCB0aW1lIHN0cmluZy4KK1BBU1MgIjIzOjU5IiBpcyBhIGNvcnJlY3QgdmFsaWQgdGltZSBz
dHJpbmcuCitQQVNTICIyMzo1OTo1OSIgaXMgYSBjb3JyZWN0IHZhbGlkIHRpbWUgc3RyaW5nLgor
UEFTUyAiMjM6NTk6NTkuMSIgaXMgYSBjb3JyZWN0IHZhbGlkIHRpbWUgc3RyaW5nLgorUEFTUyAi
MjM6NTk6NTkuMTIiIGlzIGEgY29ycmVjdCB2YWxpZCB0aW1lIHN0cmluZy4KK1BBU1MgIjIzOjU5
OjU5LjEyMyIgaXMgYSBjb3JyZWN0IHZhbGlkIHRpbWUgc3RyaW5nLgorUEFTUyAiMjM6NTk6NTku
MTIzNDU2Nzg5MCIgaXMgYSBjb3JyZWN0IHZhbGlkIHRpbWUgc3RyaW5nLgorUEFTUyAiMDA6MDA6
MDAuMDAwMDAwMDAwMCIgaXMgYSBjb3JyZWN0IHZhbGlkIHRpbWUgc3RyaW5nLgorUEFTUyAiIDAw
OjAwICIgaXMgYSBjb3JyZWN0IGludmFsaWQgdGltZSBzdHJpbmcuCitQQVNTICIxOjIzIiBpcyBh
IGNvcnJlY3QgaW52YWxpZCB0aW1lIHN0cmluZy4KK1BBU1MgIjAxMToxMSIgaXMgYSBjb3JyZWN0
IGludmFsaWQgdGltZSBzdHJpbmcuCitQQVNTICJhYjoxMSIgaXMgYSBjb3JyZWN0IGludmFsaWQg
dGltZSBzdHJpbmcuCitQQVNTICItMToxMSIgaXMgYSBjb3JyZWN0IGludmFsaWQgdGltZSBzdHJp
bmcuCitQQVNTICIyNDoxMSIgaXMgYSBjb3JyZWN0IGludmFsaWQgdGltZSBzdHJpbmcuCitQQVNT
ICIxMSIgaXMgYSBjb3JyZWN0IGludmFsaWQgdGltZSBzdHJpbmcuCitQQVNTICIxMS0iIGlzIGEg
Y29ycmVjdCBpbnZhbGlkIHRpbWUgc3RyaW5nLgorUEFTUyAiMTE6LTIiIGlzIGEgY29ycmVjdCBp
bnZhbGlkIHRpbWUgc3RyaW5nLgorUEFTUyAiMTE6NjAiIGlzIGEgY29ycmVjdCBpbnZhbGlkIHRp
bWUgc3RyaW5nLgorUEFTUyAiMTE6MmIiIGlzIGEgY29ycmVjdCBpbnZhbGlkIHRpbWUgc3RyaW5n
LgorUEFTUyAiMTE6YWIiIGlzIGEgY29ycmVjdCBpbnZhbGlkIHRpbWUgc3RyaW5nLgorUEFTUyAi
MTE6MDM0IiBpcyBhIGNvcnJlY3QgaW52YWxpZCB0aW1lIHN0cmluZy4KK1BBU1MgIjIzOjQ1OiIg
aXMgYSBjb3JyZWN0IGludmFsaWQgdGltZSBzdHJpbmcuCitQQVNTICIyMzo0NTo2IiBpcyBhIGNv
cnJlY3QgaW52YWxpZCB0aW1lIHN0cmluZy4KK1BBU1MgIjIzOjQ1Oi0xIiBpcyBhIGNvcnJlY3Qg
aW52YWxpZCB0aW1lIHN0cmluZy4KK1BBU1MgIjIzOjQ1OjcwIiBpcyBhIGNvcnJlY3QgaW52YWxp
ZCB0aW1lIHN0cmluZy4KK1BBU1MgIjIzOjQ1Onp6IiBpcyBhIGNvcnJlY3QgaW52YWxpZCB0aW1l
IHN0cmluZy4KK0ZBSUwgIjIzOjQ1OjA2LiIgaXMgYW4gaW5jb3JyZWN0IHZhbGlkIHRpbWUgc3Ry
aW5nLgorUEFTUyAiMjM6NDU6MDYuYWJjIiBpcyBhIGNvcnJlY3QgaW52YWxpZCB0aW1lIHN0cmlu
Zy4KK1BBU1MgIjIzOjQ1OjA2Ljc4OWFiYyIgaXMgYSBjb3JyZWN0IGludmFsaWQgdGltZSBzdHJp
bmcuCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNt
YXRjaC10aW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlw
ZU1pc21hdGNoLXRpbWUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4y
ZThhNmYxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0
eVN0YXRlLXR5cGVNaXNtYXRjaC10aW1lLmh0bWwKQEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxs
aW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVz
dC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMv
VmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtdGltZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRp
dHlTdGF0ZS10eXBlTWlzbWF0Y2gtd2Vlay1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLXdlZWstZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRmOWEyNmIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLXdlZWst
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzUgQEAKK1RoaXMgdGVzdCBhaW1zIHRvIGNoZWNrIGZv
ciB0eXBlTWlzbWF0Y2ggZmxhZyB3aXRoIHR5cGU9d2VlayBpbnB1dCBmaWVsZHMKKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgIiIgaXMgYSBjb3JyZWN0IHZhbGlkIHdlZWsg
c3RyaW5nLgorUEFTUyAiMTU4My1XMDEiIGlzIGEgY29ycmVjdCB2YWxpZCB3ZWVrIHN0cmluZy4K
K1BBU1MgIjk5OTktVzUyIiBpcyBhIGNvcnJlY3QgdmFsaWQgd2VlayBzdHJpbmcuCitQQVNTICIy
MTQ3NDgzNjQ3LVc1MiIgaXMgYSBjb3JyZWN0IHZhbGlkIHdlZWsgc3RyaW5nLgorUEFTUyAiMjAw
OS1XMDEiIGlzIGEgY29ycmVjdCB2YWxpZCB3ZWVrIHN0cmluZy4KK1BBU1MgIjIwMDQtVzUzIiBp
cyBhIGNvcnJlY3QgdmFsaWQgd2VlayBzdHJpbmcuCitQQVNTICIyMDAzLVc1MiIgaXMgYSBjb3Jy
ZWN0IHZhbGlkIHdlZWsgc3RyaW5nLgorUEFTUyAiMTk5Mi1XNTMiIGlzIGEgY29ycmVjdCB2YWxp
ZCB3ZWVrIHN0cmluZy4KK1BBU1MgIiAyMDA5LVcwMSAiIGlzIGEgY29ycmVjdCBpbnZhbGlkIHdl
ZWsgc3RyaW5nLgorUEFTUyAiMjAwOVcwMSIgaXMgYSBjb3JyZWN0IGludmFsaWQgd2VlayBzdHJp
bmcuCitQQVNTICIyMDA5LXcwMSIgaXMgYSBjb3JyZWN0IGludmFsaWQgd2VlayBzdHJpbmcuCitQ
QVNTICIyMDA5LVcxIiBpcyBhIGNvcnJlY3QgaW52YWxpZCB3ZWVrIHN0cmluZy4KK1BBU1MgIjIw
MDktVzAwMSIgaXMgYSBjb3JyZWN0IGludmFsaWQgd2VlayBzdHJpbmcuCitQQVNTICJhIiBpcyBh
IGNvcnJlY3QgaW52YWxpZCB3ZWVrIHN0cmluZy4KK1BBU1MgIi0xLVcwOSIgaXMgYSBjb3JyZWN0
IGludmFsaWQgd2VlayBzdHJpbmcuCitQQVNTICIxNTgyLVc1MiIgaXMgYSBjb3JyZWN0IGludmFs
aWQgd2VlayBzdHJpbmcuCitQQVNTICIyMTQ3NDgzNjQ4LVcwMSIgaXMgYSBjb3JyZWN0IGludmFs
aWQgd2VlayBzdHJpbmcuCitQQVNTICIyMDA5LVcwMCIgaXMgYSBjb3JyZWN0IGludmFsaWQgd2Vl
ayBzdHJpbmcuCitQQVNTICIyMDA5LVctMSIgaXMgYSBjb3JyZWN0IGludmFsaWQgd2VlayBzdHJp
bmcuCitQQVNTICIyMDA0LVc1NCIgaXMgYSBjb3JyZWN0IGludmFsaWQgd2VlayBzdHJpbmcuCitQ
QVNTICIyMDAzLVc1MyIgaXMgYSBjb3JyZWN0IGludmFsaWQgd2VlayBzdHJpbmcuCitQQVNTICIx
OTkyLVc1NCIgaXMgYSBjb3JyZWN0IGludmFsaWQgd2VlayBzdHJpbmcuCitQQVNTICIyMDA5LzA5
IiBpcyBhIGNvcnJlY3QgaW52YWxpZCB3ZWVrIHN0cmluZy4KK1BBU1MgIjIwMDkwOSIgaXMgYSBj
b3JyZWN0IGludmFsaWQgd2VlayBzdHJpbmcuCitQQVNTICIyMDA5LVd4eCIgaXMgYSBjb3JyZWN0
IGludmFsaWQgd2VlayBzdHJpbmcuCitQQVNTICIyMDA5IiBpcyBhIGNvcnJlY3QgaW52YWxpZCB3
ZWVrIHN0cmluZy4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUt
dHlwZU1pc21hdGNoLXdlZWsuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlT
dGF0ZS10eXBlTWlzbWF0Y2gtd2Vlay5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAuLmQ0MGM2ZjcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLXdlZWsuaHRtbApAQCAtMCwwICsxLDEzIEBACis8
IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxo
ZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNl
cy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InJl
c291cmNlcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC13ZWVrLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9yZXNvdXJjZXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtZGF0ZS5qcyBiL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvcmVzb3VyY2VzL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLWRhdGUu
anMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmI3YWNkYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvcmVzb3VyY2VzL1ZhbGlkaXR5U3RhdGUt
dHlwZU1pc21hdGNoLWRhdGUuanMKQEAgLTAsMCArMSw3MyBAQAorZGVzY3JpcHRpb24oJ1RoaXMg
dGVzdCBhaW1zIHRvIGNoZWNrIGZvciB0eXBlTWlzbWF0Y2ggZmxhZyB3aXRoIHR5cGU9ZGF0ZSBp
bnB1dCBmaWVsZHMnKTsKK3ZhciBpID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTsK
K2kudHlwZSA9ICdkYXRlJzsKKworZnVuY3Rpb24gY2hlY2sodmFsdWUsIG1pc21hdGNoRXhwZWN0
ZWQpCit7CisgICAgaS52YWx1ZSA9IHZhbHVlOworICAgIHZhciBhY3R1YWwgPSBpLnZhbGlkaXR5
LnR5cGVNaXNtYXRjaDsKKyAgICB2YXIgZGlkUGFzcyA9IGFjdHVhbCA9PSBtaXNtYXRjaEV4cGVj
dGVkOworICAgIHZhciByZXN1bHRUZXh0ID0gJyInICsgdmFsdWUgKyAnIiBpcyAnICsgKGRpZFBh
c3MgPyAnYSBjb3JyZWN0ICcgOiAnYW4gaW5jb3JyZWN0ICcpICsgKGFjdHVhbCA/ICdpbnZhbGlk
JyA6ICd2YWxpZCcpICsgJyBkYXRlIHN0cmluZy4nOworICAgIGlmIChkaWRQYXNzKQorICAgICAg
ICB0ZXN0UGFzc2VkKHJlc3VsdFRleHQpOworICAgIGVsc2UKKyAgICAgICAgdGVzdEZhaWxlZChy
ZXN1bHRUZXh0KTsKK30KKworLy8gVmFsaWQgdmFsdWVzCitjaGVjaygnJywgZmFsc2UpOworY2hl
Y2soJzIwMDktMDktMDcnLCBmYWxzZSk7CitjaGVjaygnOTk5OS0xMi0zMScsIGZhbHNlKTsKK2No
ZWNrKCcyMTQ3NDgzNjQ3LTEyLTMxJywgZmFsc2UpOworY2hlY2soJzE1ODItMTAtMTUnLCBmYWxz
ZSk7CitjaGVjaygnMjAwOS0wMS0zMScsIGZhbHNlKTsKK2NoZWNrKCcyMDA5LTAyLTI4JywgZmFs
c2UpOworY2hlY2soJzIwMDktMDMtMzEnLCBmYWxzZSk7CitjaGVjaygnMjAwOS0wNC0zMCcsIGZh
bHNlKTsKK2NoZWNrKCcyMDA5LTA1LTMxJywgZmFsc2UpOworY2hlY2soJzIwMDktMDYtMzAnLCBm
YWxzZSk7CitjaGVjaygnMjAwOS0wNy0zMScsIGZhbHNlKTsKK2NoZWNrKCcyMDA5LTA4LTMxJywg
ZmFsc2UpOworY2hlY2soJzIwMDktMDktMzAnLCBmYWxzZSk7CitjaGVjaygnMjAwOS0xMC0zMScs
IGZhbHNlKTsKK2NoZWNrKCcyMDA5LTExLTMwJywgZmFsc2UpOworY2hlY2soJzIwMDktMTItMzEn
LCBmYWxzZSk7CitjaGVjaygnMjAwOC0wMi0yOScsIGZhbHNlKTsKK2NoZWNrKCcyMDAwLTAyLTI5
JywgZmFsc2UpOworCisvLyBJbnZhbGlkIHZhbHVlcworY2hlY2soJyAyMDA5LTA5LTA3ICcsIHRy
dWUpOworY2hlY2soJ2EnLCB0cnVlKTsKK2NoZWNrKCctMS0wOS0wNycsIHRydWUpOworY2hlY2so
JzE1ODEtMDktMDcnLCB0cnVlKTsKK2NoZWNrKCcxNTgyLTEwLTE0JywgdHJ1ZSk7CitjaGVjaygn
MjE0NzQ4MzY0OC0xMi0zMScsIHRydWUpOworY2hlY2soJzIwMDkvMDkvMDcnLCB0cnVlKTsKK2No
ZWNrKCcyMDA5MDkwNycsIHRydWUpOworY2hlY2soJzIwMDktLTItMDcnLCB0cnVlKTsKK2NoZWNr
KCcyMDA5LTAwLTA3JywgdHJ1ZSk7CitjaGVjaygnMjAwOS0xMy0wNycsIHRydWUpOworY2hlY2so
JzE1ODItMDktMzAnLCB0cnVlKTsKK2NoZWNrKCcyMDA5LXh4LTMwJywgdHJ1ZSk7CitjaGVjaygn
MjAwOS0wMS0zMicsIHRydWUpOworY2hlY2soJzIwMDktMDItMjknLCB0cnVlKTsKK2NoZWNrKCcy
MDA5LTAzLTMyJywgdHJ1ZSk7CitjaGVjaygnMjAwOS0wNC0zMScsIHRydWUpOworY2hlY2soJzIw
MDktMDUtMzInLCB0cnVlKTsKK2NoZWNrKCcyMDA5LTA2LTMxJywgdHJ1ZSk7CitjaGVjaygnMjAw
OS0wNy0zMicsIHRydWUpOworY2hlY2soJzIwMDktMDgtMzInLCB0cnVlKTsKK2NoZWNrKCcyMDA5
LTA5LTMxJywgdHJ1ZSk7CitjaGVjaygnMjAwOS0xMC0zMicsIHRydWUpOworY2hlY2soJzIwMDkt
MTEtMzEnLCB0cnVlKTsKK2NoZWNrKCcyMDA5LTEyLTMyJywgdHJ1ZSk7CitjaGVjaygnMjEwMC0w
Mi0yOScsIHRydWUpOworY2hlY2soJzIwMDktMDktMDAnLCB0cnVlKTsKK2NoZWNrKCcyMDA5LTA5
LScsIHRydWUpOworY2hlY2soJzIwMDktMDktNycsIHRydWUpOworY2hlY2soJzIwMDktMDktMDAx
JywgdHJ1ZSk7CitjaGVjaygnMjAwOS0wOS14eCcsIHRydWUpOworY2hlY2soJzIwMDktMDknLCB0
cnVlKTsKK2NoZWNrKCcyMDA5JywgdHJ1ZSk7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0
cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9yZXNvdXJjZXMvVmFsaWRp
dHlTdGF0ZS10eXBlTWlzbWF0Y2gtZGF0ZXRpbWUuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L3Jlc291cmNlcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1kYXRldGltZS5qcwpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZWQyMzk3Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9yZXNvdXJjZXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0
Y2gtZGF0ZXRpbWUuanMKQEAgLTAsMCArMSw1MSBAQAorZGVzY3JpcHRpb24oJ1RoaXMgdGVzdCBh
aW1zIHRvIGNoZWNrIGZvciB0eXBlTWlzbWF0Y2ggZmxhZyB3aXRoIHR5cGU9ZGF0ZXRpbWUgaW5w
dXQgZmllbGRzJyk7Cit2YXIgaSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7Citp
LnR5cGUgPSAnZGF0ZXRpbWUnOworCitmdW5jdGlvbiBjaGVjayh2YWx1ZSwgbWlzbWF0Y2hFeHBl
Y3RlZCkKK3sKKyAgICBpLnZhbHVlID0gdmFsdWU7CisgICAgdmFyIGFjdHVhbCA9IGkudmFsaWRp
dHkudHlwZU1pc21hdGNoOworICAgIHZhciBkaWRQYXNzID0gYWN0dWFsID09IG1pc21hdGNoRXhw
ZWN0ZWQ7CisgICAgdmFyIHJlc3VsdFRleHQgPSAnIicgKyB2YWx1ZSArICciIGlzICcgKyAoZGlk
UGFzcyA/ICdhIGNvcnJlY3QgJyA6ICdhbiBpbmNvcnJlY3QgJykgKyAoYWN0dWFsID8gJ2ludmFs
aWQnIDogJ3ZhbGlkJykgKyAnIGRhdGV0aW1lIHN0cmluZy4nOworICAgIGlmIChkaWRQYXNzKQor
ICAgICAgICB0ZXN0UGFzc2VkKHJlc3VsdFRleHQpOworICAgIGVsc2UKKyAgICAgICAgdGVzdEZh
aWxlZChyZXN1bHRUZXh0KTsKK30KKworLy8gVmFsaWQgdmFsdWVzCitjaGVjaygnJywgZmFsc2Up
OworY2hlY2soJzIwMDktMDktMDdUMTY6NDlaJywgZmFsc2UpOworY2hlY2soJzIwMDktMDktMDdU
MTY6NDk6MzFaJywgZmFsc2UpOworY2hlY2soJzIwMDktMDktMDdUMTY6NDk6MzEuMVonLCBmYWxz
ZSk7CitjaGVjaygnMjAwOS0wOS0wN1QxNjo0OTozMS4xMlonLCBmYWxzZSk7CitjaGVjaygnMjAw
OS0wOS0wN1QxNjo0OTozMS4xMjNaJywgZmFsc2UpOworY2hlY2soJzIwMDktMDktMDdUMTY6NDk6
MzEuMTIzNDU2Nzg5MFonLCBmYWxzZSk7CitjaGVjaygnMjE0NzQ4MzY0Ny0xMi0zMVQyMzo1OTo1
OS45OTlaJywgZmFsc2UpOworY2hlY2soJzE1ODItMTAtMTVUMDA6MDA6MDAuMDAwWicsIGZhbHNl
KTsKK2NoZWNrKCcxNTgyLTEwLTE1VDAwOjAwOjAwLjAwMCswMDowMCcsIGZhbHNlKTsKK2NoZWNr
KCcxNTgyLTEwLTE1VDAxOjMwKzAxOjMwJywgZmFsc2UpOworY2hlY2soJzE1ODItMTAtMTVUMDA6
MDArMDE6MDAnLCBmYWxzZSk7CisKKy8vIEludmFsaWQgdmFsdWVzCitjaGVjaygnIDIwMDktMDkt
MDdUMTY6NDlaICcsIHRydWUpOworY2hlY2soJzIwMDktMDktMDdUMTY6NDl6JywgdHJ1ZSk7Citj
aGVjaygnMjAwOS0wOS0wN3QxNjo0OVonLCB0cnVlKTsKK2NoZWNrKCcyMDA5LTA5LTA3VDE2OjQ5
JywgdHJ1ZSk7CitjaGVjaygnMjAwOS8wOS8wN1QxNjo0OVonLCB0cnVlKTsKK2NoZWNrKCdhJywg
dHJ1ZSk7CitjaGVjaygnLTEtMDktMDdUMTY6NDlaJywgdHJ1ZSk7CitjaGVjaygnMjAwOS0wOS0w
N1QxNjo0OSsyMycsIHRydWUpOworY2hlY2soJzIwMDktMDktMDdUMTY6NDkrMjM6JywgdHJ1ZSk7
CitjaGVjaygnMjAwOS0wOS0wN1QxNjo0OSsyNDowMCcsIHRydWUpOworY2hlY2soJzIwMDktMDkt
MDdUMTY6NDkrMjM6NjAnLCB0cnVlKTsKK2NoZWNrKCcyMDA5LTA5LTA3VDE2OjQ5LTIzJywgdHJ1
ZSk7CitjaGVjaygnMjAwOS0wOS0wN1QxNjo0OS0yMzonLCB0cnVlKTsKK2NoZWNrKCcyMDA5LTA5
LTA3VDE2OjQ5LTI0OjAwJywgdHJ1ZSk7CitjaGVjaygnMjAwOS0wOS0wN1QxNjo0OS0yMzo2MCcs
IHRydWUpOworY2hlY2soJzE1ODItMTAtMTRUMjM6NTk6NTlaJywgdHJ1ZSk7CitjaGVjaygnMjE0
NzQ4MzY0Ny0xMi0zMVQyMzo1OS0wMDowMScsIHRydWUpOworY2hlY2soJzIxNDc0ODM2NDgtMDEt
MDFUMDA6MDA6MDBaJywgdHJ1ZSk7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9yZXNvdXJjZXMvVmFsaWRpdHlTdGF0
ZS10eXBlTWlzbWF0Y2gtZGF0ZXRpbWVsb2NhbC5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
cmVzb3VyY2VzL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLWRhdGV0aW1lbG9jYWwuanMKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjcyYTBlYQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvcmVzb3VyY2VzL1ZhbGlkaXR5U3RhdGUtdHlwZU1p
c21hdGNoLWRhdGV0aW1lbG9jYWwuanMKQEAgLTAsMCArMSwzOCBAQAorZGVzY3JpcHRpb24oJ1Ro
aXMgdGVzdCBhaW1zIHRvIGNoZWNrIGZvciB0eXBlTWlzbWF0Y2ggZmxhZyB3aXRoIHR5cGU9ZGF0
ZXRpbWUtbG9jYWwgaW5wdXQgZmllbGRzJyk7Cit2YXIgaSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoJ2lucHV0Jyk7CitpLnR5cGUgPSAnZGF0ZXRpbWUtbG9jYWwnOworCitmdW5jdGlvbiBjaGVj
ayh2YWx1ZSwgbWlzbWF0Y2hFeHBlY3RlZCkKK3sKKyAgICBpLnZhbHVlID0gdmFsdWU7CisgICAg
dmFyIGFjdHVhbCA9IGkudmFsaWRpdHkudHlwZU1pc21hdGNoOworICAgIHZhciBkaWRQYXNzID0g
YWN0dWFsID09IG1pc21hdGNoRXhwZWN0ZWQ7CisgICAgdmFyIHJlc3VsdFRleHQgPSAnIicgKyB2
YWx1ZSArICciIGlzICcgKyAoZGlkUGFzcyA/ICdhIGNvcnJlY3QgJyA6ICdhbiBpbmNvcnJlY3Qg
JykgKyAoYWN0dWFsID8gJ2ludmFsaWQnIDogJ3ZhbGlkJykgKyAnIGRhdGV0aW1lLWxvY2FsIHN0
cmluZy4nOworICAgIGlmIChkaWRQYXNzKQorICAgICAgICB0ZXN0UGFzc2VkKHJlc3VsdFRleHQp
OworICAgIGVsc2UKKyAgICAgICAgdGVzdEZhaWxlZChyZXN1bHRUZXh0KTsKK30KKworLy8gVmFs
aWQgdmFsdWVzCitjaGVjaygnJywgZmFsc2UpOworY2hlY2soJzIwMDktMDktMDdUMTY6NDknLCBm
YWxzZSk7CitjaGVjaygnMjAwOS0wOS0wN1QxNjo0OTozMScsIGZhbHNlKTsKK2NoZWNrKCcyMDA5
LTA5LTA3VDE2OjQ5OjMxLjEnLCBmYWxzZSk7CitjaGVjaygnMjAwOS0wOS0wN1QxNjo0OTozMS4x
MicsIGZhbHNlKTsKK2NoZWNrKCcyMDA5LTA5LTA3VDE2OjQ5OjMxLjEyMycsIGZhbHNlKTsKK2No
ZWNrKCcyMDA5LTA5LTA3VDE2OjQ5OjMxLjEyMzQ1Njc4OTAnLCBmYWxzZSk7CitjaGVjaygnMjE0
NzQ4MzY0Ny0xMi0zMVQyMzo1OTo1OS45OTknLCBmYWxzZSk7CitjaGVjaygnMTU4Mi0xMC0xNVQw
MDowMDowMC4wMDAnLCBmYWxzZSk7CisKKy8vIEludmFsaWQgdmFsdWVzCitjaGVjaygnIDIwMDkt
MDktMDdUMTY6NDkgJywgdHJ1ZSk7CitjaGVjaygnMjAwOS0wOS0wN3QxNjo0OScsIHRydWUpOwor
Y2hlY2soJzIwMDktMDktMDcgMTY6NDknLCB0cnVlKTsKK2NoZWNrKCcyMDA5LzA5LzA3VDE2OjQ5
JywgdHJ1ZSk7CitjaGVjaygnYScsIHRydWUpOworY2hlY2soJy0xLTA5LTA3VDE2OjQ5JywgdHJ1
ZSk7CitjaGVjaygnMTU4Mi0xMC0xNFQyMzo1OTo1OScsIHRydWUpOworY2hlY2soJzIxNDc0ODM2
NDgtMDEtMDFUMDA6MDA6MDAnLCB0cnVlKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRy
dWU7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3Jlc291cmNlcy9WYWxpZGl0
eVN0YXRlLXR5cGVNaXNtYXRjaC1tb250aC5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvcmVz
b3VyY2VzL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLW1vbnRoLmpzCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIyNTNjZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL3Jlc291cmNlcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1tb250
aC5qcwpAQCAtMCwwICsxLDUzIEBACitkZXNjcmlwdGlvbignVGhpcyB0ZXN0IGFpbXMgdG8gY2hl
Y2sgZm9yIHR5cGVNaXNtYXRjaCBmbGFnIHdpdGggdHlwZT1tb250aCBpbnB1dCBmaWVsZHMnKTsK
K3ZhciBpID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTsKK2kudHlwZSA9ICdtb250
aCc7CisKK2Z1bmN0aW9uIGNoZWNrKHZhbHVlLCBtaXNtYXRjaEV4cGVjdGVkKQoreworICAgIGku
dmFsdWUgPSB2YWx1ZTsKKyAgICB2YXIgYWN0dWFsID0gaS52YWxpZGl0eS50eXBlTWlzbWF0Y2g7
CisgICAgdmFyIGRpZFBhc3MgPSBhY3R1YWwgPT0gbWlzbWF0Y2hFeHBlY3RlZDsKKyAgICB2YXIg
cmVzdWx0VGV4dCA9ICciJyArIHZhbHVlICsgJyIgaXMgJyArIChkaWRQYXNzID8gJ2EgY29ycmVj
dCAnIDogJ2FuIGluY29ycmVjdCAnKSArIChhY3R1YWwgPyAnaW52YWxpZCcgOiAndmFsaWQnKSAr
ICcgbW9udGggc3RyaW5nLic7CisgICAgaWYgKGRpZFBhc3MpCisgICAgICAgIHRlc3RQYXNzZWQo
cmVzdWx0VGV4dCk7CisgICAgZWxzZQorICAgICAgICB0ZXN0RmFpbGVkKHJlc3VsdFRleHQpOwor
fQorCisvLyBWYWxpZCB2YWx1ZXMKK2NoZWNrKCcnLCBmYWxzZSk7CitjaGVjaygnMTU4Mi0xMCcs
IGZhbHNlKTsKK2NoZWNrKCc5OTk5LTEyJywgZmFsc2UpOworY2hlY2soJzIxNDc0ODM2NDctMTIn
LCBmYWxzZSk7CitjaGVjaygnMjAwOS0wMScsIGZhbHNlKTsKK2NoZWNrKCcyMDA5LTAyJywgZmFs
c2UpOworY2hlY2soJzIwMDktMDMnLCBmYWxzZSk7CitjaGVjaygnMjAwOS0wNCcsIGZhbHNlKTsK
K2NoZWNrKCcyMDA5LTA1JywgZmFsc2UpOworY2hlY2soJzIwMDktMDYnLCBmYWxzZSk7CitjaGVj
aygnMjAwOS0wNycsIGZhbHNlKTsKK2NoZWNrKCcyMDA5LTA4JywgZmFsc2UpOworY2hlY2soJzIw
MDktMDknLCBmYWxzZSk7CitjaGVjaygnMjAwOS0xMCcsIGZhbHNlKTsKK2NoZWNrKCcyMDA5LTEx
JywgZmFsc2UpOworY2hlY2soJzIwMDktMTInLCBmYWxzZSk7CisKKy8vIEludmFsaWQgdmFsdWVz
CitjaGVjaygnIDIwMDktMDkgJywgdHJ1ZSk7CitjaGVjaygnYScsIHRydWUpOworY2hlY2soJy0x
LTA5JywgdHJ1ZSk7CitjaGVjaygnMTU4MS0xMCcsIHRydWUpOworY2hlY2soJzE1ODItMDknLCB0
cnVlKTsKK2NoZWNrKCcyMTQ3NDgzNjQ4LTEyJywgdHJ1ZSk7CitjaGVjaygnMjAwOS8wOScsIHRy
dWUpOworY2hlY2soJzIwMDkwOScsIHRydWUpOworY2hlY2soJzIwMDktLTInLCB0cnVlKTsKK2No
ZWNrKCcyMDA5LTAwJywgdHJ1ZSk7CitjaGVjaygnMjAwOS0xMycsIHRydWUpOworY2hlY2soJzIw
MDktJywgdHJ1ZSk7CitjaGVjaygnMjAwOS05JywgdHJ1ZSk7CitjaGVjaygnMjAwOS0wMDknLCB0
cnVlKTsKK2NoZWNrKCcyMDA5LXh4JywgdHJ1ZSk7CitjaGVjaygnMjAwOScsIHRydWUpOworCit2
YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvcmVzb3VyY2VzL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLXRpbWUuanMgYi9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3Jlc291cmNlcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRj
aC10aW1lLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNjMmRkZTcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3Jlc291cmNlcy9WYWxpZGl0
eVN0YXRlLXR5cGVNaXNtYXRjaC10aW1lLmpzCkBAIC0wLDAgKzEsNTEgQEAKK2Rlc2NyaXB0aW9u
KCdUaGlzIHRlc3QgYWltcyB0byBjaGVjayBmb3IgdHlwZU1pc21hdGNoIGZsYWcgd2l0aCB0eXBl
PXRpbWUgaW5wdXQgZmllbGRzJyk7Cit2YXIgaSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lu
cHV0Jyk7CitpLnR5cGUgPSAndGltZSc7CisKK2Z1bmN0aW9uIGNoZWNrKHZhbHVlLCBtaXNtYXRj
aEV4cGVjdGVkKQoreworICAgIGkudmFsdWUgPSB2YWx1ZTsKKyAgICB2YXIgYWN0dWFsID0gaS52
YWxpZGl0eS50eXBlTWlzbWF0Y2g7CisgICAgdmFyIGRpZFBhc3MgPSBhY3R1YWwgPT0gbWlzbWF0
Y2hFeHBlY3RlZDsKKyAgICB2YXIgcmVzdWx0VGV4dCA9ICciJyArIHZhbHVlICsgJyIgaXMgJyAr
IChkaWRQYXNzID8gJ2EgY29ycmVjdCAnIDogJ2FuIGluY29ycmVjdCAnKSArIChhY3R1YWwgPyAn
aW52YWxpZCcgOiAndmFsaWQnKSArICcgdGltZSBzdHJpbmcuJzsKKyAgICBpZiAoZGlkUGFzcykK
KyAgICAgICAgdGVzdFBhc3NlZChyZXN1bHRUZXh0KTsKKyAgICBlbHNlCisgICAgICAgIHRlc3RG
YWlsZWQocmVzdWx0VGV4dCk7Cit9CisKKy8vIFZhbGlkIHZhbHVlcworY2hlY2soJycsIGZhbHNl
KTsKK2NoZWNrKCcwMDowMCcsIGZhbHNlKTsKK2NoZWNrKCcyMzo1OScsIGZhbHNlKTsKK2NoZWNr
KCcyMzo1OTo1OScsIGZhbHNlKTsKK2NoZWNrKCcyMzo1OTo1OS4xJywgZmFsc2UpOworY2hlY2so
JzIzOjU5OjU5LjEyJywgZmFsc2UpOworY2hlY2soJzIzOjU5OjU5LjEyMycsIGZhbHNlKTsKK2No
ZWNrKCcyMzo1OTo1OS4xMjM0NTY3ODkwJywgZmFsc2UpOworY2hlY2soJzAwOjAwOjAwLjAwMDAw
MDAwMDAnLCBmYWxzZSk7CisKKy8vIEludmFsaWQgdmFsdWVzCitjaGVjaygnIDAwOjAwICcsIHRy
dWUpOworY2hlY2soJzE6MjMnLCB0cnVlKTsKK2NoZWNrKCcwMTE6MTEnLCB0cnVlKTsKK2NoZWNr
KCdhYjoxMScsIHRydWUpOworY2hlY2soJy0xOjExJywgdHJ1ZSk7CitjaGVjaygnMjQ6MTEnLCB0
cnVlKTsKK2NoZWNrKCcxMScsIHRydWUpOworY2hlY2soJzExLScsIHRydWUpOworY2hlY2soJzEx
Oi0yJywgdHJ1ZSk7CitjaGVjaygnMTE6NjAnLCB0cnVlKTsKK2NoZWNrKCcxMToyYicsIHRydWUp
OworY2hlY2soJzExOmFiJywgdHJ1ZSk7CitjaGVjaygnMTE6MDM0JywgdHJ1ZSk7CitjaGVjaygn
MjM6NDU6JywgdHJ1ZSk7CitjaGVjaygnMjM6NDU6NicsIHRydWUpOworY2hlY2soJzIzOjQ1Oi0x
JywgdHJ1ZSk7CitjaGVjaygnMjM6NDU6NzAnLCB0cnVlKTsKK2NoZWNrKCcyMzo0NTp6eicsIHRy
dWUpOworY2hlY2soJzIzOjQ1OjA2LicsIHRydWUpOworY2hlY2soJzIzOjQ1OjA2LmFiYycsIHRy
dWUpOworY2hlY2soJzIzOjQ1OjA2Ljc4OWFiYycsIHRydWUpOworCit2YXIgc3VjY2Vzc2Z1bGx5
UGFyc2VkID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvcmVzb3Vy
Y2VzL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLXdlZWsuanMgYi9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL3Jlc291cmNlcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC13ZWVrLmpzCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc5ZWZlMDYKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3Jlc291cmNlcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNt
YXRjaC13ZWVrLmpzCkBAIC0wLDAgKzEsNDcgQEAKK2Rlc2NyaXB0aW9uKCdUaGlzIHRlc3QgYWlt
cyB0byBjaGVjayBmb3IgdHlwZU1pc21hdGNoIGZsYWcgd2l0aCB0eXBlPXdlZWsgaW5wdXQgZmll
bGRzJyk7Cit2YXIgaSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7CitpLnR5cGUg
PSAnd2Vlayc7CisKK2Z1bmN0aW9uIGNoZWNrKHZhbHVlLCBtaXNtYXRjaEV4cGVjdGVkKQorewor
ICAgIGkudmFsdWUgPSB2YWx1ZTsKKyAgICB2YXIgYWN0dWFsID0gaS52YWxpZGl0eS50eXBlTWlz
bWF0Y2g7CisgICAgdmFyIGRpZFBhc3MgPSBhY3R1YWwgPT0gbWlzbWF0Y2hFeHBlY3RlZDsKKyAg
ICB2YXIgcmVzdWx0VGV4dCA9ICciJyArIHZhbHVlICsgJyIgaXMgJyArIChkaWRQYXNzID8gJ2Eg
Y29ycmVjdCAnIDogJ2FuIGluY29ycmVjdCAnKSArIChhY3R1YWwgPyAnaW52YWxpZCcgOiAndmFs
aWQnKSArICcgd2VlayBzdHJpbmcuJzsKKyAgICBpZiAoZGlkUGFzcykKKyAgICAgICAgdGVzdFBh
c3NlZChyZXN1bHRUZXh0KTsKKyAgICBlbHNlCisgICAgICAgIHRlc3RGYWlsZWQocmVzdWx0VGV4
dCk7Cit9CisKKy8vIFZhbGlkIHZhbHVlcworY2hlY2soJycsIGZhbHNlKTsKK2NoZWNrKCcxNTgz
LVcwMScsIGZhbHNlKTsKK2NoZWNrKCc5OTk5LVc1MicsIGZhbHNlKTsKK2NoZWNrKCcyMTQ3NDgz
NjQ3LVc1MicsIGZhbHNlKTsKK2NoZWNrKCcyMDA5LVcwMScsIGZhbHNlKTsKK2NoZWNrKCcyMDA0
LVc1MycsIGZhbHNlKTsgIC8vIDIwMDQgc3RhcnRlZCBvbiBUaHVyc2RheS4KK2NoZWNrKCcyMDAz
LVc1MicsIGZhbHNlKTsgIC8vIDIwMDMgc3RhcnRlZCBvbiBXZWRuZXNkYXksIGJ1dCB3YXNuJ3Qg
YSBsZWFwIHllYXIuCitjaGVjaygnMTk5Mi1XNTMnLCBmYWxzZSk7ICAvLyAxOTkyIHN0YXJ0ZWQg
b24gV2VkbmVzZGF5LCBhbmQgd2FzIGEgbGVhcCB5ZWFyLgorCisvLyBJbnZhbGlkIHZhbHVlcwor
Y2hlY2soJyAyMDA5LVcwMSAnLCB0cnVlKTsKK2NoZWNrKCcyMDA5VzAxJywgdHJ1ZSk7CitjaGVj
aygnMjAwOS13MDEnLCB0cnVlKTsKK2NoZWNrKCcyMDA5LVcxJywgdHJ1ZSk7CitjaGVjaygnMjAw
OS1XMDAxJywgdHJ1ZSk7CitjaGVjaygnYScsIHRydWUpOworY2hlY2soJy0xLVcwOScsIHRydWUp
OworY2hlY2soJzE1ODItVzUyJywgdHJ1ZSk7CitjaGVjaygnMjE0NzQ4MzY0OC1XMDEnLCB0cnVl
KTsKK2NoZWNrKCcyMDA5LVcwMCcsIHRydWUpOworY2hlY2soJzIwMDktVy0xJywgdHJ1ZSk7Citj
aGVjaygnMjAwNC1XNTQnLCB0cnVlKTsgIC8vIDIwMDQgc3RhcnRlZCBvbiBUaHVyc2RheS4KK2No
ZWNrKCcyMDAzLVc1MycsIHRydWUpOyAgLy8gMjAwMyBzdGFydGVkIG9uIFdlZG5lc2RheSwgYnV0
IHdhc24ndCBhIGxlYXAgeWVhci4KK2NoZWNrKCcxOTkyLVc1NCcsIHRydWUpOyAgLy8gMTk5MiBz
dGFydGVkIG9uIFdlZG5lc2RheSwgYW5kIHdhcyBhIGxlYXAgeWVhci4KK2NoZWNrKCcyMDA5LzA5
JywgdHJ1ZSk7CitjaGVjaygnMjAwOTA5JywgdHJ1ZSk7CitjaGVjaygnMjAwOS1XeHgnLCB0cnVl
KTsKK2NoZWNrKCcyMDA5JywgdHJ1ZSk7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVl
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRl
eCA4YmVmMjhhLi40MmRjNDU0IDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9X
ZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDA5LTA5LTEwICBLZW50IFRhbXVy
YSAgPHRrZW50QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3IgVmFsaWRpdHlTdGF0ZS50eXBlTWlzbWF0
Y2ggZm9yIGRhdGUvZGF0ZXRpbWUvCisgICAgICAgIGRhdGV0aW1lLWxvY2FsL21vbnRoL3RpbWUv
d2VlayB0eXBlcyBvZiBJTlBVVCBlbGVtZW50LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjkwMDQKKworICAgICAgICBOZWVkIGEgc2hvcnQgZGVzY3Jp
cHRpb24gYW5kIGJ1ZyBVUkwgKE9PUFMhKQorCisgICAgICAgIFRlc3RzOiBmYXN0L2Zvcm1zL1Zh
bGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLWRhdGUuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9m
b3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1kYXRldGltZS5odG1sCisgICAgICAgICAg
ICAgICBmYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLWRhdGV0aW1lbG9jYWwu
aHRtbAorICAgICAgICAgICAgICAgZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRj
aC1tb250aC5odG1sCisgICAgICAgICAgICAgICBmYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlw
ZU1pc21hdGNoLXRpbWUuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9mb3Jtcy9WYWxpZGl0eVN0
YXRlLXR5cGVNaXNtYXRjaC13ZWVrLmh0bWwKKworICAgICAgICAqIGh0bWwvSFRNTElucHV0RWxl
bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50Ojpmb3JtU3RyaW5n
VG9EYXRlVGltZSk6CisgICAgICAgICogaHRtbC9IVE1MSW5wdXRFbGVtZW50Lmg6CisgICAgICAg
ICogaHRtbC9WYWxpZGl0eVN0YXRlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlZhbGlkaXR5U3Rh
dGU6OnR5cGVNaXNtYXRjaCk6CisKIDIwMDktMDktMDEgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hy
b21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwIGIvV2ViQ29yZS9odG1sL0hU
TUxJbnB1dEVsZW1lbnQuY3BwCmluZGV4IGM2NThkYzUuLjNiMzMyM2EgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTElu
cHV0RWxlbWVudC5jcHAKQEAgLTYwLDYgKzYwLDcgQEAKICNpbmNsdWRlICJSZW5kZXJUaGVtZS5o
IgogI2luY2x1ZGUgIlN0cmluZ0hhc2guaCIKICNpbmNsdWRlICJUZXh0RXZlbnQuaCIKKyNpbmNs
dWRlIDx3dGYvRGF0ZU1hdGguaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUg
PHd0Zi9NYXRoRXh0cmFzLmg+CiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgpAQCAtMTkx
NSw2ICsxOTE2LDM0IEBAIGJvb2wgSFRNTElucHV0RWxlbWVudDo6Zm9ybVN0cmluZ1RvRG91Ymxl
KGNvbnN0IFN0cmluZyYgc3JjLCBkb3VibGUqIG91dCkKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAor
Ym9vbCBIVE1MSW5wdXRFbGVtZW50Ojpmb3JtU3RyaW5nVG9EYXRlVGltZShJbnB1dFR5cGUgdHlw
ZSwgY29uc3QgU3RyaW5nJiBzcmMsIFdURjo6R3JlZ29yaWFuRGF0ZVRpbWUqIG91dCkKK3sKKyAg
ICBXVEY6OkdyZWdvcmlhbkRhdGVUaW1lIHJlc3VsdDsKKyAgICBpZiAoIW91dCkKKyAgICAgICAg
b3V0ID0gJnJlc3VsdDsKKyAgICBjb25zdCBVQ2hhciogdWNoYXJzID0gc3JjLmNoYXJhY3RlcnMo
KTsKKyAgICB1bnNpZ25lZCBsZW5ndGggPSBzcmMubGVuZ3RoKCk7CisgICAgdW5zaWduZWQgZW5k
OworCisgICAgc3dpdGNoICh0eXBlKSB7CisgICAgY2FzZSBEQVRFOgorICAgICAgICByZXR1cm4g
b3V0LT5wYXJzZUlTT0RhdGUodWNoYXJzLCBsZW5ndGgsIDAsICZlbmQpICYmIGVuZCA9PSBsZW5n
dGg7CisgICAgY2FzZSBEQVRFVElNRToKKyAgICAgICAgcmV0dXJuIG91dC0+cGFyc2VJU09EYXRl
VGltZSh1Y2hhcnMsIGxlbmd0aCwgMCwgJmVuZCkgJiYgZW5kID09IGxlbmd0aDsKKyAgICBjYXNl
IERBVEVUSU1FTE9DQUw6CisgICAgICAgIHJldHVybiBvdXQtPnBhcnNlSVNPRGF0ZVRpbWVMb2Nh
bCh1Y2hhcnMsIGxlbmd0aCwgMCwgJmVuZCkgJiYgZW5kID09IGxlbmd0aDsKKyAgICBjYXNlIE1P
TlRIOgorICAgICAgICByZXR1cm4gb3V0LT5wYXJzZUlTT01vbnRoKHVjaGFycywgbGVuZ3RoLCAw
LCAmZW5kKSAmJiBlbmQgPT0gbGVuZ3RoOworICAgIGNhc2UgV0VFSzoKKyAgICAgICAgcmV0dXJu
IG91dC0+cGFyc2VJU09XZWVrKHVjaGFycywgbGVuZ3RoLCAwLCAmZW5kKSAmJiBlbmQgPT0gbGVu
Z3RoOworICAgIGNhc2UgVElNRToKKyAgICAgICAgcmV0dXJuIG91dC0+cGFyc2VJU09UaW1lKHVj
aGFycywgbGVuZ3RoLCAwLCAmZW5kKSAmJiBlbmQgPT0gbGVuZ3RoOworICAgIGRlZmF1bHQ6Cisg
ICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIH0KKyAgICByZXR1cm4gZmFsc2U7Cit9
CisKICNpZiBFTkFCTEUoREFUQUxJU1QpCiBIVE1MRWxlbWVudCogSFRNTElucHV0RWxlbWVudDo6
bGlzdCgpIGNvbnN0CiB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVu
dC5oIGIvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaAppbmRleCAxOTQ5ZmQzLi5lM2Uz
ZjlkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oCisrKyBiL1dl
YkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmgKQEAgLTI4LDYgKzI4LDEwIEBACiAjaW5jbHVk
ZSAiSW5wdXRFbGVtZW50LmgiCiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogCituYW1lc3BhY2Ug
V1RGIHsKKyAgICBzdHJ1Y3QgR3JlZ29yaWFuRGF0ZVRpbWU7Cit9CisKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogY2xhc3MgRmlsZUxpc3Q7CkBAIC0yNDIsNiArMjQ2LDExIEBAIHB1YmxpYzoKICAg
ICAvLyBJZiB0aGUgY29udmVyc2lvbiBmYWlscywgdGhlIHJldHVybiB2YWx1ZSBpcyBmYWxzZS4g
VGFrZSBjYXJlIHRoYXQgbGVhZGluZyBvciB0cmFpbGluZyB1bm5lY2Vzc2FyeSBjaGFyYWN0ZXJz
IG1ha2UgZmFpbHVyZXMuICBUaGlzIHJldHVybnMgZmFsc2UgZm9yIGFuIGVtcHR5IHN0cmluZyBp
bnB1dC4KICAgICAvLyBUaGUgZG91YmxlKiBwYXJhbWV0ZXIgbWF5IGJlIDAuCiAgICAgc3RhdGlj
IGJvb2wgZm9ybVN0cmluZ1RvRG91YmxlKGNvbnN0IFN0cmluZyYsIGRvdWJsZSopOworICAgIC8v
IFBhcnNlcyB0aGUgc3BlY2lmaWVkIHN0cmluZyBhcyB0aGUgSW5wdXRUeXBlLCBhbmQgcmV0dXJu
cyB0cnVlCisgICAgLy8gaWYgaXQgaXMgc3VjY2Vzc2Z1bGx5IHBhcnNlZC4gIEFuIGluc3RhbmNl
IHBvaW50ZWQgYnkgdGhlCisgICAgLy8gRGF0ZVRpbWUqIHBhcmFtZXRlciB3aWxsIGhhdmUgcGFy
c2VkIHZhbHVlcyBhbmQgYmUgbW9kaWZpZWQKKyAgICAvLyBldmVuIGlmIHRoZSBwYXJzaW5nIGZh
aWxzLiAgVGhlIERhdGFUaW1lKiBwYXJhbWV0ZXIgbWF5IGJlIDAuCisgICAgc3RhdGljIGJvb2wg
Zm9ybVN0cmluZ1RvRGF0ZVRpbWUoSW5wdXRUeXBlLCBjb25zdCBTdHJpbmcmLCBXVEY6OkdyZWdv
cmlhbkRhdGVUaW1lKik7CiAgICAgCiBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB2b2lkIHdpbGxN
b3ZlVG9OZXdPd25lckRvY3VtZW50KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvVmFsaWRp
dHlTdGF0ZS5jcHAgYi9XZWJDb3JlL2h0bWwvVmFsaWRpdHlTdGF0ZS5jcHAKaW5kZXggOTk5Mjg1
MS4uMmI5MmQ5YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL1ZhbGlkaXR5U3RhdGUuY3BwCisr
KyBiL1dlYkNvcmUvaHRtbC9WYWxpZGl0eVN0YXRlLmNwcApAQCAtNTIsNiArNTIsMTMgQEAgYm9v
bCBWYWxpZGl0eVN0YXRlOjp0eXBlTWlzbWF0Y2goKQogICAgICAgICByZXR1cm4gIWlzVmFsaWRD
b2xvclN0cmluZyh2YWx1ZSk7CiAgICAgY2FzZSBIVE1MSW5wdXRFbGVtZW50OjpOVU1CRVI6CiAg
ICAgICAgIHJldHVybiAhSFRNTElucHV0RWxlbWVudDo6Zm9ybVN0cmluZ1RvRG91YmxlKHZhbHVl
LCAwKTsKKyAgICBjYXNlIEhUTUxJbnB1dEVsZW1lbnQ6OkRBVEU6CisgICAgY2FzZSBIVE1MSW5w
dXRFbGVtZW50OjpEQVRFVElNRToKKyAgICBjYXNlIEhUTUxJbnB1dEVsZW1lbnQ6OkRBVEVUSU1F
TE9DQUw6CisgICAgY2FzZSBIVE1MSW5wdXRFbGVtZW50OjpNT05USDoKKyAgICBjYXNlIEhUTUxJ
bnB1dEVsZW1lbnQ6OlRJTUU6CisgICAgY2FzZSBIVE1MSW5wdXRFbGVtZW50OjpXRUVLOgorICAg
ICAgICByZXR1cm4gIUhUTUxJbnB1dEVsZW1lbnQ6OmZvcm1TdHJpbmdUb0RhdGVUaW1lKGlucHV0
LT5pbnB1dFR5cGUoKSwgdmFsdWUsIDApOwogICAgIGRlZmF1bHQ6CiAgICAgICAgIHJldHVybiBm
YWxzZTsKICAgICB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>39532</attachid>
            <date>2009-09-13 18:50:34 -0700</date>
            <delta_ts>2009-09-21 09:53:50 -0700</delta_ts>
            <desc>39344: Patch part 3: support for ValidityState.typeMismatch and layout tests (rev.2)</desc>
            <filename>datetime-typemismatch-2.diff</filename>
            <type>text/plain</type>
            <size>35540</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBlMTk4YzgwLi43ZDEyYTkxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzAgQEAKKzIwMDktMDkt
MTAgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3RzIGZvciBWYWxpZGl0eVN0YXRlLnR5
cGVNaXNtYXRjaCBmb3IgdGhlIGZvbGxvd2luZyB0eXBlcyBvZiBJTlBVVCBlbGVtZW50OgorICAg
ICAgICAgICAgZGF0ZSwgZGF0ZXRpbWUsIGRhdGV0aW1lLWxvY2FsLCBtb250aCwgdGltZSBhbmQg
d2VlaworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mjkw
MDQKKworICAgICAgICAqIGZhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtZGF0
ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvVmFsaWRpdHlTdGF0
ZS10eXBlTWlzbWF0Y2gtZGF0ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL1Zh
bGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLWRhdGV0aW1lLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1kYXRldGltZS5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21h
dGNoLWRhdGV0aW1lbG9jYWwtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zv
cm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLWRhdGV0aW1lbG9jYWwuaHRtbDogQWRkZWQu
CisgICAgICAgICogZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1tb250aC1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10
eXBlTWlzbWF0Y2gtbW9udGguaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9WYWxp
ZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC10aW1lLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC10aW1lLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGZhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtd2Vlay1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10
eXBlTWlzbWF0Y2gtd2Vlay5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3Jlc291
cmNlcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1kYXRlLmpzOiBBZGRlZC4KKyAgICAgICAg
KiBmYXN0L2Zvcm1zL3Jlc291cmNlcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1kYXRldGlt
ZS5qczogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9yZXNvdXJjZXMvVmFsaWRpdHlTdGF0
ZS10eXBlTWlzbWF0Y2gtZGF0ZXRpbWVsb2NhbC5qczogQWRkZWQuCisgICAgICAgICogZmFzdC9m
b3Jtcy9yZXNvdXJjZXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtbW9udGguanM6IEFkZGVk
LgorICAgICAgICAqIGZhc3QvZm9ybXMvcmVzb3VyY2VzL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21h
dGNoLXRpbWUuanM6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvcmVzb3VyY2VzL1ZhbGlk
aXR5U3RhdGUtdHlwZU1pc21hdGNoLXdlZWsuanM6IEFkZGVkLgorCiAyMDA5LTA5LTEyICBPbGl2
ZXIgSHVudCAgPG9saXZlckBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTWFjaWVq
IFN0YWNob3dpYWsuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5
U3RhdGUtdHlwZU1pc21hdGNoLWRhdGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1kYXRlLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYWEyYzFlCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1kYXRlLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDYxIEBACitUaGlzIHRlc3QgYWltcyB0byBjaGVjayBmb3Ig
dHlwZU1pc21hdGNoIGZsYWcgd2l0aCB0eXBlPWRhdGUgaW5wdXQgZmllbGRzCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTICIiIGlzIGEgY29ycmVjdCB2YWxpZCBkYXRlIHN0
cmluZy4KK1BBU1MgIjIwMDktMDktMDciIGlzIGEgY29ycmVjdCB2YWxpZCBkYXRlIHN0cmluZy4K
K1BBU1MgIjk5OTktMTItMzEiIGlzIGEgY29ycmVjdCB2YWxpZCBkYXRlIHN0cmluZy4KK1BBU1Mg
IjIxNDc0ODM2NDctMTItMzEiIGlzIGEgY29ycmVjdCB2YWxpZCBkYXRlIHN0cmluZy4KK1BBU1Mg
IjE1ODItMTAtMTUiIGlzIGEgY29ycmVjdCB2YWxpZCBkYXRlIHN0cmluZy4KK1BBU1MgIjIwMDkt
MDEtMzEiIGlzIGEgY29ycmVjdCB2YWxpZCBkYXRlIHN0cmluZy4KK1BBU1MgIjIwMDktMDItMjgi
IGlzIGEgY29ycmVjdCB2YWxpZCBkYXRlIHN0cmluZy4KK1BBU1MgIjIwMDktMDMtMzEiIGlzIGEg
Y29ycmVjdCB2YWxpZCBkYXRlIHN0cmluZy4KK1BBU1MgIjIwMDktMDQtMzAiIGlzIGEgY29ycmVj
dCB2YWxpZCBkYXRlIHN0cmluZy4KK1BBU1MgIjIwMDktMDUtMzEiIGlzIGEgY29ycmVjdCB2YWxp
ZCBkYXRlIHN0cmluZy4KK1BBU1MgIjIwMDktMDYtMzAiIGlzIGEgY29ycmVjdCB2YWxpZCBkYXRl
IHN0cmluZy4KK1BBU1MgIjIwMDktMDctMzEiIGlzIGEgY29ycmVjdCB2YWxpZCBkYXRlIHN0cmlu
Zy4KK1BBU1MgIjIwMDktMDgtMzEiIGlzIGEgY29ycmVjdCB2YWxpZCBkYXRlIHN0cmluZy4KK1BB
U1MgIjIwMDktMDktMzAiIGlzIGEgY29ycmVjdCB2YWxpZCBkYXRlIHN0cmluZy4KK1BBU1MgIjIw
MDktMTAtMzEiIGlzIGEgY29ycmVjdCB2YWxpZCBkYXRlIHN0cmluZy4KK1BBU1MgIjIwMDktMTEt
MzAiIGlzIGEgY29ycmVjdCB2YWxpZCBkYXRlIHN0cmluZy4KK1BBU1MgIjIwMDktMTItMzEiIGlz
IGEgY29ycmVjdCB2YWxpZCBkYXRlIHN0cmluZy4KK1BBU1MgIjIwMDgtMDItMjkiIGlzIGEgY29y
cmVjdCB2YWxpZCBkYXRlIHN0cmluZy4KK1BBU1MgIjIwMDAtMDItMjkiIGlzIGEgY29ycmVjdCB2
YWxpZCBkYXRlIHN0cmluZy4KK1BBU1MgIiAyMDA5LTA5LTA3ICIgaXMgYSBjb3JyZWN0IGludmFs
aWQgZGF0ZSBzdHJpbmcuCitQQVNTICJhIiBpcyBhIGNvcnJlY3QgaW52YWxpZCBkYXRlIHN0cmlu
Zy4KK1BBU1MgIi0xLTA5LTA3IiBpcyBhIGNvcnJlY3QgaW52YWxpZCBkYXRlIHN0cmluZy4KK1BB
U1MgIjE1ODEtMDktMDciIGlzIGEgY29ycmVjdCBpbnZhbGlkIGRhdGUgc3RyaW5nLgorUEFTUyAi
MTU4Mi0xMC0xNCIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZSBzdHJpbmcuCitQQVNTICIyMTQ3
NDgzNjQ4LTEyLTMxIiBpcyBhIGNvcnJlY3QgaW52YWxpZCBkYXRlIHN0cmluZy4KK1BBU1MgIjIw
MDkvMDkvMDciIGlzIGEgY29ycmVjdCBpbnZhbGlkIGRhdGUgc3RyaW5nLgorUEFTUyAiMjAwOTA5
MDciIGlzIGEgY29ycmVjdCBpbnZhbGlkIGRhdGUgc3RyaW5nLgorUEFTUyAiMjAwOS0tMi0wNyIg
aXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZSBzdHJpbmcuCitQQVNTICIyMDA5LTAwLTA3IiBpcyBh
IGNvcnJlY3QgaW52YWxpZCBkYXRlIHN0cmluZy4KK1BBU1MgIjIwMDktMTMtMDciIGlzIGEgY29y
cmVjdCBpbnZhbGlkIGRhdGUgc3RyaW5nLgorUEFTUyAiMTU4Mi0wOS0zMCIgaXMgYSBjb3JyZWN0
IGludmFsaWQgZGF0ZSBzdHJpbmcuCitQQVNTICIyMDA5LXh4LTMwIiBpcyBhIGNvcnJlY3QgaW52
YWxpZCBkYXRlIHN0cmluZy4KK1BBU1MgIjIwMDktMDEtMzIiIGlzIGEgY29ycmVjdCBpbnZhbGlk
IGRhdGUgc3RyaW5nLgorUEFTUyAiMjAwOS0wMi0yOSIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0
ZSBzdHJpbmcuCitQQVNTICIyMDA5LTAzLTMyIiBpcyBhIGNvcnJlY3QgaW52YWxpZCBkYXRlIHN0
cmluZy4KK1BBU1MgIjIwMDktMDQtMzEiIGlzIGEgY29ycmVjdCBpbnZhbGlkIGRhdGUgc3RyaW5n
LgorUEFTUyAiMjAwOS0wNS0zMiIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZSBzdHJpbmcuCitQ
QVNTICIyMDA5LTA2LTMxIiBpcyBhIGNvcnJlY3QgaW52YWxpZCBkYXRlIHN0cmluZy4KK1BBU1Mg
IjIwMDktMDctMzIiIGlzIGEgY29ycmVjdCBpbnZhbGlkIGRhdGUgc3RyaW5nLgorUEFTUyAiMjAw
OS0wOC0zMiIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZSBzdHJpbmcuCitQQVNTICIyMDA5LTA5
LTMxIiBpcyBhIGNvcnJlY3QgaW52YWxpZCBkYXRlIHN0cmluZy4KK1BBU1MgIjIwMDktMTAtMzIi
IGlzIGEgY29ycmVjdCBpbnZhbGlkIGRhdGUgc3RyaW5nLgorUEFTUyAiMjAwOS0xMS0zMSIgaXMg
YSBjb3JyZWN0IGludmFsaWQgZGF0ZSBzdHJpbmcuCitQQVNTICIyMDA5LTEyLTMyIiBpcyBhIGNv
cnJlY3QgaW52YWxpZCBkYXRlIHN0cmluZy4KK1BBU1MgIjIxMDAtMDItMjkiIGlzIGEgY29ycmVj
dCBpbnZhbGlkIGRhdGUgc3RyaW5nLgorUEFTUyAiMjAwOS0wOS0wMCIgaXMgYSBjb3JyZWN0IGlu
dmFsaWQgZGF0ZSBzdHJpbmcuCitQQVNTICIyMDA5LTA5LSIgaXMgYSBjb3JyZWN0IGludmFsaWQg
ZGF0ZSBzdHJpbmcuCitQQVNTICIyMDA5LTA5LTciIGlzIGEgY29ycmVjdCBpbnZhbGlkIGRhdGUg
c3RyaW5nLgorUEFTUyAiMjAwOS0wOS0wMDEiIGlzIGEgY29ycmVjdCBpbnZhbGlkIGRhdGUgc3Ry
aW5nLgorUEFTUyAiMjAwOS0wOS14eCIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZSBzdHJpbmcu
CitQQVNTICIyMDA5LTA5IiBpcyBhIGNvcnJlY3QgaW52YWxpZCBkYXRlIHN0cmluZy4KK1BBU1Mg
IjIwMDkiIGlzIGEgY29ycmVjdCBpbnZhbGlkIGRhdGUgc3RyaW5nLgorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtZGF0ZS5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1kYXRlLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWQ4ZTI3MAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gt
ZGF0ZS5odG1sCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQi
IGhyZWY9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL1ZhbGlkaXR5U3RhdGUtdHlwZU1p
c21hdGNoLWRhdGUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNo
LWRhdGV0aW1lLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlT
dGF0ZS10eXBlTWlzbWF0Y2gtZGF0ZXRpbWUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAuLjljNTdjZTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLWRhdGV0aW1lLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM5IEBACitUaGlzIHRlc3QgYWltcyB0byBjaGVjayBmb3IgdHlwZU1p
c21hdGNoIGZsYWcgd2l0aCB0eXBlPWRhdGV0aW1lIGlucHV0IGZpZWxkcworCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKKworUEFTUyAiIiBpcyBhIGNvcnJlY3QgdmFsaWQgZGF0ZXRpbWUg
c3RyaW5nLgorUEFTUyAiMjAwOS0wOS0wN1QxNjo0OVoiIGlzIGEgY29ycmVjdCB2YWxpZCBkYXRl
dGltZSBzdHJpbmcuCitQQVNTICIyMDA5LTA5LTA3VDE2OjQ5OjMxWiIgaXMgYSBjb3JyZWN0IHZh
bGlkIGRhdGV0aW1lIHN0cmluZy4KK1BBU1MgIjIwMDktMDktMDdUMTY6NDk6MzEuMVoiIGlzIGEg
Y29ycmVjdCB2YWxpZCBkYXRldGltZSBzdHJpbmcuCitQQVNTICIyMDA5LTA5LTA3VDE2OjQ5OjMx
LjEyWiIgaXMgYSBjb3JyZWN0IHZhbGlkIGRhdGV0aW1lIHN0cmluZy4KK1BBU1MgIjIwMDktMDkt
MDdUMTY6NDk6MzEuMTIzWiIgaXMgYSBjb3JyZWN0IHZhbGlkIGRhdGV0aW1lIHN0cmluZy4KK1BB
U1MgIjIwMDktMDktMDdUMTY6NDk6MzEuMTIzNDU2Nzg5MFoiIGlzIGEgY29ycmVjdCB2YWxpZCBk
YXRldGltZSBzdHJpbmcuCitQQVNTICIyMTQ3NDgzNjQ3LTEyLTMxVDIzOjU5OjU5Ljk5OVoiIGlz
IGEgY29ycmVjdCB2YWxpZCBkYXRldGltZSBzdHJpbmcuCitQQVNTICIxNTgyLTEwLTE1VDAwOjAw
OjAwLjAwMFoiIGlzIGEgY29ycmVjdCB2YWxpZCBkYXRldGltZSBzdHJpbmcuCitQQVNTICIxNTgy
LTEwLTE1VDAwOjAwOjAwLjAwMCswMDowMCIgaXMgYSBjb3JyZWN0IHZhbGlkIGRhdGV0aW1lIHN0
cmluZy4KK1BBU1MgIjE1ODItMTAtMTVUMDE6MzArMDE6MzAiIGlzIGEgY29ycmVjdCB2YWxpZCBk
YXRldGltZSBzdHJpbmcuCitQQVNTICIxNTgyLTEwLTE1VDAwOjAwKzAxOjAwIiBpcyBhIGNvcnJl
Y3QgdmFsaWQgZGF0ZXRpbWUgc3RyaW5nLgorUEFTUyAiIDIwMDktMDktMDdUMTY6NDlaICIgaXMg
YSBjb3JyZWN0IGludmFsaWQgZGF0ZXRpbWUgc3RyaW5nLgorUEFTUyAiMjAwOS0wOS0wN1QxNjo0
OXoiIGlzIGEgY29ycmVjdCBpbnZhbGlkIGRhdGV0aW1lIHN0cmluZy4KK1BBU1MgIjIwMDktMDkt
MDd0MTY6NDlaIiBpcyBhIGNvcnJlY3QgaW52YWxpZCBkYXRldGltZSBzdHJpbmcuCitQQVNTICIy
MDA5LTA5LTA3VDE2OjQ5IiBpcyBhIGNvcnJlY3QgaW52YWxpZCBkYXRldGltZSBzdHJpbmcuCitQ
QVNTICIyMDA5LzA5LzA3VDE2OjQ5WiIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZXRpbWUgc3Ry
aW5nLgorUEFTUyAiYSIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZXRpbWUgc3RyaW5nLgorUEFT
UyAiLTEtMDktMDdUMTY6NDlaIiBpcyBhIGNvcnJlY3QgaW52YWxpZCBkYXRldGltZSBzdHJpbmcu
CitQQVNTICIyMDA5LTA5LTA3VDE2OjQ5KzIzIiBpcyBhIGNvcnJlY3QgaW52YWxpZCBkYXRldGlt
ZSBzdHJpbmcuCitQQVNTICIyMDA5LTA5LTA3VDE2OjQ5KzIzOiIgaXMgYSBjb3JyZWN0IGludmFs
aWQgZGF0ZXRpbWUgc3RyaW5nLgorUEFTUyAiMjAwOS0wOS0wN1QxNjo0OSsyNDowMCIgaXMgYSBj
b3JyZWN0IGludmFsaWQgZGF0ZXRpbWUgc3RyaW5nLgorUEFTUyAiMjAwOS0wOS0wN1QxNjo0OSsy
Mzo2MCIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZXRpbWUgc3RyaW5nLgorUEFTUyAiMjAwOS0w
OS0wN1QxNjo0OS0yMyIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZXRpbWUgc3RyaW5nLgorUEFT
UyAiMjAwOS0wOS0wN1QxNjo0OS0yMzoiIGlzIGEgY29ycmVjdCBpbnZhbGlkIGRhdGV0aW1lIHN0
cmluZy4KK1BBU1MgIjIwMDktMDktMDdUMTY6NDktMjQ6MDAiIGlzIGEgY29ycmVjdCBpbnZhbGlk
IGRhdGV0aW1lIHN0cmluZy4KK1BBU1MgIjIwMDktMDktMDdUMTY6NDktMjM6NjAiIGlzIGEgY29y
cmVjdCBpbnZhbGlkIGRhdGV0aW1lIHN0cmluZy4KK1BBU1MgIjE1ODItMTAtMTRUMjM6NTk6NTla
IiBpcyBhIGNvcnJlY3QgaW52YWxpZCBkYXRldGltZSBzdHJpbmcuCitQQVNTICIyMTQ3NDgzNjQ3
LTEyLTMxVDIzOjU5LTAwOjAxIiBpcyBhIGNvcnJlY3QgaW52YWxpZCBkYXRldGltZSBzdHJpbmcu
CitQQVNTICIyMTQ3NDgzNjQ4LTAxLTAxVDAwOjAwOjAwWiIgaXMgYSBjb3JyZWN0IGludmFsaWQg
ZGF0ZXRpbWUgc3RyaW5nLgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlT
dGF0ZS10eXBlTWlzbWF0Y2gtZGF0ZXRpbWUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
VmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtZGF0ZXRpbWUuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwLi42NjYyMzhlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1kYXRldGltZS5odG1sCkBA
IC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4u
L2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLWRhdGV0
aW1lLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1kYXRldGlt
ZWxvY2FsLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0
ZS10eXBlTWlzbWF0Y2gtZGF0ZXRpbWVsb2NhbC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMC4uOTg5N2QwNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtZGF0ZXRpbWVsb2NhbC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwyNiBAQAorVGhpcyB0ZXN0IGFpbXMgdG8gY2hlY2sgZm9y
IHR5cGVNaXNtYXRjaCBmbGFnIHdpdGggdHlwZT1kYXRldGltZS1sb2NhbCBpbnB1dCBmaWVsZHMK
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgIiIgaXMgYSBjb3JyZWN0IHZh
bGlkIGRhdGV0aW1lLWxvY2FsIHN0cmluZy4KK1BBU1MgIjIwMDktMDktMDdUMTY6NDkiIGlzIGEg
Y29ycmVjdCB2YWxpZCBkYXRldGltZS1sb2NhbCBzdHJpbmcuCitQQVNTICIyMDA5LTA5LTA3VDE2
OjQ5OjMxIiBpcyBhIGNvcnJlY3QgdmFsaWQgZGF0ZXRpbWUtbG9jYWwgc3RyaW5nLgorUEFTUyAi
MjAwOS0wOS0wN1QxNjo0OTozMS4xIiBpcyBhIGNvcnJlY3QgdmFsaWQgZGF0ZXRpbWUtbG9jYWwg
c3RyaW5nLgorUEFTUyAiMjAwOS0wOS0wN1QxNjo0OTozMS4xMiIgaXMgYSBjb3JyZWN0IHZhbGlk
IGRhdGV0aW1lLWxvY2FsIHN0cmluZy4KK1BBU1MgIjIwMDktMDktMDdUMTY6NDk6MzEuMTIzIiBp
cyBhIGNvcnJlY3QgdmFsaWQgZGF0ZXRpbWUtbG9jYWwgc3RyaW5nLgorUEFTUyAiMjAwOS0wOS0w
N1QxNjo0OTozMS4xMjM0NTY3ODkwIiBpcyBhIGNvcnJlY3QgdmFsaWQgZGF0ZXRpbWUtbG9jYWwg
c3RyaW5nLgorUEFTUyAiMjE0NzQ4MzY0Ny0xMi0zMVQyMzo1OTo1OS45OTkiIGlzIGEgY29ycmVj
dCB2YWxpZCBkYXRldGltZS1sb2NhbCBzdHJpbmcuCitQQVNTICIxNTgyLTEwLTE1VDAwOjAwOjAw
LjAwMCIgaXMgYSBjb3JyZWN0IHZhbGlkIGRhdGV0aW1lLWxvY2FsIHN0cmluZy4KK1BBU1MgIiAy
MDA5LTA5LTA3VDE2OjQ5ICIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZXRpbWUtbG9jYWwgc3Ry
aW5nLgorUEFTUyAiMjAwOS0wOS0wN3QxNjo0OSIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZXRp
bWUtbG9jYWwgc3RyaW5nLgorUEFTUyAiMjAwOS0wOS0wNyAxNjo0OSIgaXMgYSBjb3JyZWN0IGlu
dmFsaWQgZGF0ZXRpbWUtbG9jYWwgc3RyaW5nLgorUEFTUyAiMjAwOS8wOS8wN1QxNjo0OSIgaXMg
YSBjb3JyZWN0IGludmFsaWQgZGF0ZXRpbWUtbG9jYWwgc3RyaW5nLgorUEFTUyAiYSIgaXMgYSBj
b3JyZWN0IGludmFsaWQgZGF0ZXRpbWUtbG9jYWwgc3RyaW5nLgorUEFTUyAiLTEtMDktMDdUMTY6
NDkiIGlzIGEgY29ycmVjdCBpbnZhbGlkIGRhdGV0aW1lLWxvY2FsIHN0cmluZy4KK1BBU1MgIjE1
ODItMTAtMTRUMjM6NTk6NTkiIGlzIGEgY29ycmVjdCBpbnZhbGlkIGRhdGV0aW1lLWxvY2FsIHN0
cmluZy4KK1BBU1MgIjIxNDc0ODM2NDgtMDEtMDFUMDA6MDA6MDAiIGlzIGEgY29ycmVjdCBpbnZh
bGlkIGRhdGV0aW1lLWxvY2FsIHN0cmluZy4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLWRhdGV0aW1lbG9jYWwuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtZGF0ZXRpbWVsb2NhbC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY1ZGMwMWMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21h
dGNoLWRhdGV0aW1lbG9jYWwuaHRtbApAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgSFRNTCBQ
VUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVs
PSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxl
LmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9WYWxpZGl0
eVN0YXRlLXR5cGVNaXNtYXRjaC1kYXRldGltZWxvY2FsLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxp
ZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1tb250aC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLW1vbnRoLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YWI4ZTRmCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1t
b250aC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0MSBAQAorVGhpcyB0ZXN0IGFpbXMgdG8gY2hl
Y2sgZm9yIHR5cGVNaXNtYXRjaCBmbGFnIHdpdGggdHlwZT1tb250aCBpbnB1dCBmaWVsZHMKKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgIiIgaXMgYSBjb3JyZWN0IHZhbGlk
IG1vbnRoIHN0cmluZy4KK1BBU1MgIjE1ODItMTAiIGlzIGEgY29ycmVjdCB2YWxpZCBtb250aCBz
dHJpbmcuCitQQVNTICI5OTk5LTEyIiBpcyBhIGNvcnJlY3QgdmFsaWQgbW9udGggc3RyaW5nLgor
UEFTUyAiMjE0NzQ4MzY0Ny0xMiIgaXMgYSBjb3JyZWN0IHZhbGlkIG1vbnRoIHN0cmluZy4KK1BB
U1MgIjIwMDktMDEiIGlzIGEgY29ycmVjdCB2YWxpZCBtb250aCBzdHJpbmcuCitQQVNTICIyMDA5
LTAyIiBpcyBhIGNvcnJlY3QgdmFsaWQgbW9udGggc3RyaW5nLgorUEFTUyAiMjAwOS0wMyIgaXMg
YSBjb3JyZWN0IHZhbGlkIG1vbnRoIHN0cmluZy4KK1BBU1MgIjIwMDktMDQiIGlzIGEgY29ycmVj
dCB2YWxpZCBtb250aCBzdHJpbmcuCitQQVNTICIyMDA5LTA1IiBpcyBhIGNvcnJlY3QgdmFsaWQg
bW9udGggc3RyaW5nLgorUEFTUyAiMjAwOS0wNiIgaXMgYSBjb3JyZWN0IHZhbGlkIG1vbnRoIHN0
cmluZy4KK1BBU1MgIjIwMDktMDciIGlzIGEgY29ycmVjdCB2YWxpZCBtb250aCBzdHJpbmcuCitQ
QVNTICIyMDA5LTA4IiBpcyBhIGNvcnJlY3QgdmFsaWQgbW9udGggc3RyaW5nLgorUEFTUyAiMjAw
OS0wOSIgaXMgYSBjb3JyZWN0IHZhbGlkIG1vbnRoIHN0cmluZy4KK1BBU1MgIjIwMDktMTAiIGlz
IGEgY29ycmVjdCB2YWxpZCBtb250aCBzdHJpbmcuCitQQVNTICIyMDA5LTExIiBpcyBhIGNvcnJl
Y3QgdmFsaWQgbW9udGggc3RyaW5nLgorUEFTUyAiMjAwOS0xMiIgaXMgYSBjb3JyZWN0IHZhbGlk
IG1vbnRoIHN0cmluZy4KK1BBU1MgIiAyMDA5LTA5ICIgaXMgYSBjb3JyZWN0IGludmFsaWQgbW9u
dGggc3RyaW5nLgorUEFTUyAiYSIgaXMgYSBjb3JyZWN0IGludmFsaWQgbW9udGggc3RyaW5nLgor
UEFTUyAiLTEtMDkiIGlzIGEgY29ycmVjdCBpbnZhbGlkIG1vbnRoIHN0cmluZy4KK1BBU1MgIjE1
ODEtMTAiIGlzIGEgY29ycmVjdCBpbnZhbGlkIG1vbnRoIHN0cmluZy4KK1BBU1MgIjE1ODItMDki
IGlzIGEgY29ycmVjdCBpbnZhbGlkIG1vbnRoIHN0cmluZy4KK1BBU1MgIjIxNDc0ODM2NDgtMTIi
IGlzIGEgY29ycmVjdCBpbnZhbGlkIG1vbnRoIHN0cmluZy4KK1BBU1MgIjIwMDkvMDkiIGlzIGEg
Y29ycmVjdCBpbnZhbGlkIG1vbnRoIHN0cmluZy4KK1BBU1MgIjIwMDkwOSIgaXMgYSBjb3JyZWN0
IGludmFsaWQgbW9udGggc3RyaW5nLgorUEFTUyAiMjAwOS0tMiIgaXMgYSBjb3JyZWN0IGludmFs
aWQgbW9udGggc3RyaW5nLgorUEFTUyAiMjAwOS0wMCIgaXMgYSBjb3JyZWN0IGludmFsaWQgbW9u
dGggc3RyaW5nLgorUEFTUyAiMjAwOS0xMyIgaXMgYSBjb3JyZWN0IGludmFsaWQgbW9udGggc3Ry
aW5nLgorUEFTUyAiMjAwOS0iIGlzIGEgY29ycmVjdCBpbnZhbGlkIG1vbnRoIHN0cmluZy4KK1BB
U1MgIjIwMDktOSIgaXMgYSBjb3JyZWN0IGludmFsaWQgbW9udGggc3RyaW5nLgorUEFTUyAiMjAw
OS0wMDkiIGlzIGEgY29ycmVjdCBpbnZhbGlkIG1vbnRoIHN0cmluZy4KK1BBU1MgIjIwMDkteHgi
IGlzIGEgY29ycmVjdCBpbnZhbGlkIG1vbnRoIHN0cmluZy4KK1BBU1MgIjIwMDkiIGlzIGEgY29y
cmVjdCBpbnZhbGlkIG1vbnRoIHN0cmluZy4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLW1vbnRoLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLW1vbnRoLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWMxZWQ5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtbW9udGguaHRtbApA
QCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1M
Ly9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8u
Li9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1tb250
aC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtdGltZS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21h
dGNoLXRpbWUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu
LjJmMGEwNjkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlk
aXR5U3RhdGUtdHlwZU1pc21hdGNoLXRpbWUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzkgQEAK
K1RoaXMgdGVzdCBhaW1zIHRvIGNoZWNrIGZvciB0eXBlTWlzbWF0Y2ggZmxhZyB3aXRoIHR5cGU9
dGltZSBpbnB1dCBmaWVsZHMKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1Mg
IiIgaXMgYSBjb3JyZWN0IHZhbGlkIHRpbWUgc3RyaW5nLgorUEFTUyAiMDA6MDAiIGlzIGEgY29y
cmVjdCB2YWxpZCB0aW1lIHN0cmluZy4KK1BBU1MgIjIzOjU5IiBpcyBhIGNvcnJlY3QgdmFsaWQg
dGltZSBzdHJpbmcuCitQQVNTICIyMzo1OTo1OSIgaXMgYSBjb3JyZWN0IHZhbGlkIHRpbWUgc3Ry
aW5nLgorUEFTUyAiMjM6NTk6NTkuMSIgaXMgYSBjb3JyZWN0IHZhbGlkIHRpbWUgc3RyaW5nLgor
UEFTUyAiMjM6NTk6NTkuMTIiIGlzIGEgY29ycmVjdCB2YWxpZCB0aW1lIHN0cmluZy4KK1BBU1Mg
IjIzOjU5OjU5LjEyMyIgaXMgYSBjb3JyZWN0IHZhbGlkIHRpbWUgc3RyaW5nLgorUEFTUyAiMjM6
NTk6NTkuMTIzNDU2Nzg5MCIgaXMgYSBjb3JyZWN0IHZhbGlkIHRpbWUgc3RyaW5nLgorUEFTUyAi
MDA6MDA6MDAuMDAwMDAwMDAwMCIgaXMgYSBjb3JyZWN0IHZhbGlkIHRpbWUgc3RyaW5nLgorUEFT
UyAiIDAwOjAwICIgaXMgYSBjb3JyZWN0IGludmFsaWQgdGltZSBzdHJpbmcuCitQQVNTICIxOjIz
IiBpcyBhIGNvcnJlY3QgaW52YWxpZCB0aW1lIHN0cmluZy4KK1BBU1MgIjAxMToxMSIgaXMgYSBj
b3JyZWN0IGludmFsaWQgdGltZSBzdHJpbmcuCitQQVNTICJhYjoxMSIgaXMgYSBjb3JyZWN0IGlu
dmFsaWQgdGltZSBzdHJpbmcuCitQQVNTICItMToxMSIgaXMgYSBjb3JyZWN0IGludmFsaWQgdGlt
ZSBzdHJpbmcuCitQQVNTICIyNDoxMSIgaXMgYSBjb3JyZWN0IGludmFsaWQgdGltZSBzdHJpbmcu
CitQQVNTICIxMSIgaXMgYSBjb3JyZWN0IGludmFsaWQgdGltZSBzdHJpbmcuCitQQVNTICIxMS0i
IGlzIGEgY29ycmVjdCBpbnZhbGlkIHRpbWUgc3RyaW5nLgorUEFTUyAiMTE6LTIiIGlzIGEgY29y
cmVjdCBpbnZhbGlkIHRpbWUgc3RyaW5nLgorUEFTUyAiMTE6NjAiIGlzIGEgY29ycmVjdCBpbnZh
bGlkIHRpbWUgc3RyaW5nLgorUEFTUyAiMTE6MmIiIGlzIGEgY29ycmVjdCBpbnZhbGlkIHRpbWUg
c3RyaW5nLgorUEFTUyAiMTE6YWIiIGlzIGEgY29ycmVjdCBpbnZhbGlkIHRpbWUgc3RyaW5nLgor
UEFTUyAiMTE6MDM0IiBpcyBhIGNvcnJlY3QgaW52YWxpZCB0aW1lIHN0cmluZy4KK1BBU1MgIjIz
OjQ1OiIgaXMgYSBjb3JyZWN0IGludmFsaWQgdGltZSBzdHJpbmcuCitQQVNTICIyMzo0NTo2IiBp
cyBhIGNvcnJlY3QgaW52YWxpZCB0aW1lIHN0cmluZy4KK1BBU1MgIjIzOjQ1Oi0xIiBpcyBhIGNv
cnJlY3QgaW52YWxpZCB0aW1lIHN0cmluZy4KK1BBU1MgIjIzOjQ1OjcwIiBpcyBhIGNvcnJlY3Qg
aW52YWxpZCB0aW1lIHN0cmluZy4KK1BBU1MgIjIzOjQ1Onp6IiBpcyBhIGNvcnJlY3QgaW52YWxp
ZCB0aW1lIHN0cmluZy4KK0ZBSUwgIjIzOjQ1OjA2LiIgaXMgYW4gaW5jb3JyZWN0IHZhbGlkIHRp
bWUgc3RyaW5nLgorUEFTUyAiMjM6NDU6MDYuYWJjIiBpcyBhIGNvcnJlY3QgaW52YWxpZCB0aW1l
IHN0cmluZy4KK1BBU1MgIjIzOjQ1OjA2Ljc4OWFiYyIgaXMgYSBjb3JyZWN0IGludmFsaWQgdGlt
ZSBzdHJpbmcuCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5
cGVNaXNtYXRjaC10aW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3Rh
dGUtdHlwZU1pc21hdGNoLXRpbWUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwLi4yZThhNmYxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9W
YWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC10aW1lLmh0bWwKQEAgLTAsMCArMSwxMyBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMv
anMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgc3JjPSJyZXNv
dXJjZXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtdGltZS5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
VmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtd2Vlay1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLXdlZWstZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRmOWEyNmIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNo
LXdlZWstZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzUgQEAKK1RoaXMgdGVzdCBhaW1zIHRvIGNo
ZWNrIGZvciB0eXBlTWlzbWF0Y2ggZmxhZyB3aXRoIHR5cGU9d2VlayBpbnB1dCBmaWVsZHMKKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgIiIgaXMgYSBjb3JyZWN0IHZhbGlk
IHdlZWsgc3RyaW5nLgorUEFTUyAiMTU4My1XMDEiIGlzIGEgY29ycmVjdCB2YWxpZCB3ZWVrIHN0
cmluZy4KK1BBU1MgIjk5OTktVzUyIiBpcyBhIGNvcnJlY3QgdmFsaWQgd2VlayBzdHJpbmcuCitQ
QVNTICIyMTQ3NDgzNjQ3LVc1MiIgaXMgYSBjb3JyZWN0IHZhbGlkIHdlZWsgc3RyaW5nLgorUEFT
UyAiMjAwOS1XMDEiIGlzIGEgY29ycmVjdCB2YWxpZCB3ZWVrIHN0cmluZy4KK1BBU1MgIjIwMDQt
VzUzIiBpcyBhIGNvcnJlY3QgdmFsaWQgd2VlayBzdHJpbmcuCitQQVNTICIyMDAzLVc1MiIgaXMg
YSBjb3JyZWN0IHZhbGlkIHdlZWsgc3RyaW5nLgorUEFTUyAiMTk5Mi1XNTMiIGlzIGEgY29ycmVj
dCB2YWxpZCB3ZWVrIHN0cmluZy4KK1BBU1MgIiAyMDA5LVcwMSAiIGlzIGEgY29ycmVjdCBpbnZh
bGlkIHdlZWsgc3RyaW5nLgorUEFTUyAiMjAwOVcwMSIgaXMgYSBjb3JyZWN0IGludmFsaWQgd2Vl
ayBzdHJpbmcuCitQQVNTICIyMDA5LXcwMSIgaXMgYSBjb3JyZWN0IGludmFsaWQgd2VlayBzdHJp
bmcuCitQQVNTICIyMDA5LVcxIiBpcyBhIGNvcnJlY3QgaW52YWxpZCB3ZWVrIHN0cmluZy4KK1BB
U1MgIjIwMDktVzAwMSIgaXMgYSBjb3JyZWN0IGludmFsaWQgd2VlayBzdHJpbmcuCitQQVNTICJh
IiBpcyBhIGNvcnJlY3QgaW52YWxpZCB3ZWVrIHN0cmluZy4KK1BBU1MgIi0xLVcwOSIgaXMgYSBj
b3JyZWN0IGludmFsaWQgd2VlayBzdHJpbmcuCitQQVNTICIxNTgyLVc1MiIgaXMgYSBjb3JyZWN0
IGludmFsaWQgd2VlayBzdHJpbmcuCitQQVNTICIyMTQ3NDgzNjQ4LVcwMSIgaXMgYSBjb3JyZWN0
IGludmFsaWQgd2VlayBzdHJpbmcuCitQQVNTICIyMDA5LVcwMCIgaXMgYSBjb3JyZWN0IGludmFs
aWQgd2VlayBzdHJpbmcuCitQQVNTICIyMDA5LVctMSIgaXMgYSBjb3JyZWN0IGludmFsaWQgd2Vl
ayBzdHJpbmcuCitQQVNTICIyMDA0LVc1NCIgaXMgYSBjb3JyZWN0IGludmFsaWQgd2VlayBzdHJp
bmcuCitQQVNTICIyMDAzLVc1MyIgaXMgYSBjb3JyZWN0IGludmFsaWQgd2VlayBzdHJpbmcuCitQ
QVNTICIxOTkyLVc1NCIgaXMgYSBjb3JyZWN0IGludmFsaWQgd2VlayBzdHJpbmcuCitQQVNTICIy
MDA5LzA5IiBpcyBhIGNvcnJlY3QgaW52YWxpZCB3ZWVrIHN0cmluZy4KK1BBU1MgIjIwMDkwOSIg
aXMgYSBjb3JyZWN0IGludmFsaWQgd2VlayBzdHJpbmcuCitQQVNTICIyMDA5LVd4eCIgaXMgYSBj
b3JyZWN0IGludmFsaWQgd2VlayBzdHJpbmcuCitQQVNTICIyMDA5IiBpcyBhIGNvcnJlY3QgaW52
YWxpZCB3ZWVrIHN0cmluZy4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5
U3RhdGUtdHlwZU1pc21hdGNoLXdlZWsuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFs
aWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtd2Vlay5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAuLmQ0MGM2ZjcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLXdlZWsuaHRtbApAQCAtMCwwICsxLDEz
IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRt
bD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9mYXN0L2pzL3Jl
c291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBz
cmM9InJlc291cmNlcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC13ZWVrLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy9yZXNvdXJjZXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtZGF0ZS5qcyBiL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvcmVzb3VyY2VzL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNo
LWRhdGUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmI3YWNkYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvcmVzb3VyY2VzL1ZhbGlkaXR5
U3RhdGUtdHlwZU1pc21hdGNoLWRhdGUuanMKQEAgLTAsMCArMSw3MyBAQAorZGVzY3JpcHRpb24o
J1RoaXMgdGVzdCBhaW1zIHRvIGNoZWNrIGZvciB0eXBlTWlzbWF0Y2ggZmxhZyB3aXRoIHR5cGU9
ZGF0ZSBpbnB1dCBmaWVsZHMnKTsKK3ZhciBpID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5w
dXQnKTsKK2kudHlwZSA9ICdkYXRlJzsKKworZnVuY3Rpb24gY2hlY2sodmFsdWUsIG1pc21hdGNo
RXhwZWN0ZWQpCit7CisgICAgaS52YWx1ZSA9IHZhbHVlOworICAgIHZhciBhY3R1YWwgPSBpLnZh
bGlkaXR5LnR5cGVNaXNtYXRjaDsKKyAgICB2YXIgZGlkUGFzcyA9IGFjdHVhbCA9PSBtaXNtYXRj
aEV4cGVjdGVkOworICAgIHZhciByZXN1bHRUZXh0ID0gJyInICsgdmFsdWUgKyAnIiBpcyAnICsg
KGRpZFBhc3MgPyAnYSBjb3JyZWN0ICcgOiAnYW4gaW5jb3JyZWN0ICcpICsgKGFjdHVhbCA/ICdp
bnZhbGlkJyA6ICd2YWxpZCcpICsgJyBkYXRlIHN0cmluZy4nOworICAgIGlmIChkaWRQYXNzKQor
ICAgICAgICB0ZXN0UGFzc2VkKHJlc3VsdFRleHQpOworICAgIGVsc2UKKyAgICAgICAgdGVzdEZh
aWxlZChyZXN1bHRUZXh0KTsKK30KKworLy8gVmFsaWQgdmFsdWVzCitjaGVjaygnJywgZmFsc2Up
OworY2hlY2soJzIwMDktMDktMDcnLCBmYWxzZSk7CitjaGVjaygnOTk5OS0xMi0zMScsIGZhbHNl
KTsKK2NoZWNrKCcyMTQ3NDgzNjQ3LTEyLTMxJywgZmFsc2UpOworY2hlY2soJzE1ODItMTAtMTUn
LCBmYWxzZSk7CitjaGVjaygnMjAwOS0wMS0zMScsIGZhbHNlKTsKK2NoZWNrKCcyMDA5LTAyLTI4
JywgZmFsc2UpOworY2hlY2soJzIwMDktMDMtMzEnLCBmYWxzZSk7CitjaGVjaygnMjAwOS0wNC0z
MCcsIGZhbHNlKTsKK2NoZWNrKCcyMDA5LTA1LTMxJywgZmFsc2UpOworY2hlY2soJzIwMDktMDYt
MzAnLCBmYWxzZSk7CitjaGVjaygnMjAwOS0wNy0zMScsIGZhbHNlKTsKK2NoZWNrKCcyMDA5LTA4
LTMxJywgZmFsc2UpOworY2hlY2soJzIwMDktMDktMzAnLCBmYWxzZSk7CitjaGVjaygnMjAwOS0x
MC0zMScsIGZhbHNlKTsKK2NoZWNrKCcyMDA5LTExLTMwJywgZmFsc2UpOworY2hlY2soJzIwMDkt
MTItMzEnLCBmYWxzZSk7CitjaGVjaygnMjAwOC0wMi0yOScsIGZhbHNlKTsKK2NoZWNrKCcyMDAw
LTAyLTI5JywgZmFsc2UpOworCisvLyBJbnZhbGlkIHZhbHVlcworY2hlY2soJyAyMDA5LTA5LTA3
ICcsIHRydWUpOworY2hlY2soJ2EnLCB0cnVlKTsKK2NoZWNrKCctMS0wOS0wNycsIHRydWUpOwor
Y2hlY2soJzE1ODEtMDktMDcnLCB0cnVlKTsKK2NoZWNrKCcxNTgyLTEwLTE0JywgdHJ1ZSk7Citj
aGVjaygnMjE0NzQ4MzY0OC0xMi0zMScsIHRydWUpOworY2hlY2soJzIwMDkvMDkvMDcnLCB0cnVl
KTsKK2NoZWNrKCcyMDA5MDkwNycsIHRydWUpOworY2hlY2soJzIwMDktLTItMDcnLCB0cnVlKTsK
K2NoZWNrKCcyMDA5LTAwLTA3JywgdHJ1ZSk7CitjaGVjaygnMjAwOS0xMy0wNycsIHRydWUpOwor
Y2hlY2soJzE1ODItMDktMzAnLCB0cnVlKTsKK2NoZWNrKCcyMDA5LXh4LTMwJywgdHJ1ZSk7Citj
aGVjaygnMjAwOS0wMS0zMicsIHRydWUpOworY2hlY2soJzIwMDktMDItMjknLCB0cnVlKTsKK2No
ZWNrKCcyMDA5LTAzLTMyJywgdHJ1ZSk7CitjaGVjaygnMjAwOS0wNC0zMScsIHRydWUpOworY2hl
Y2soJzIwMDktMDUtMzInLCB0cnVlKTsKK2NoZWNrKCcyMDA5LTA2LTMxJywgdHJ1ZSk7CitjaGVj
aygnMjAwOS0wNy0zMicsIHRydWUpOworY2hlY2soJzIwMDktMDgtMzInLCB0cnVlKTsKK2NoZWNr
KCcyMDA5LTA5LTMxJywgdHJ1ZSk7CitjaGVjaygnMjAwOS0xMC0zMicsIHRydWUpOworY2hlY2so
JzIwMDktMTEtMzEnLCB0cnVlKTsKK2NoZWNrKCcyMDA5LTEyLTMyJywgdHJ1ZSk7CitjaGVjaygn
MjEwMC0wMi0yOScsIHRydWUpOworY2hlY2soJzIwMDktMDktMDAnLCB0cnVlKTsKK2NoZWNrKCcy
MDA5LTA5LScsIHRydWUpOworY2hlY2soJzIwMDktMDktNycsIHRydWUpOworY2hlY2soJzIwMDkt
MDktMDAxJywgdHJ1ZSk7CitjaGVjaygnMjAwOS0wOS14eCcsIHRydWUpOworY2hlY2soJzIwMDkt
MDknLCB0cnVlKTsKK2NoZWNrKCcyMDA5JywgdHJ1ZSk7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJz
ZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9yZXNvdXJjZXMv
VmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtZGF0ZXRpbWUuanMgYi9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL3Jlc291cmNlcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1kYXRldGltZS5qcwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZWQyMzk3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9yZXNvdXJjZXMvVmFsaWRpdHlTdGF0ZS10eXBl
TWlzbWF0Y2gtZGF0ZXRpbWUuanMKQEAgLTAsMCArMSw1MSBAQAorZGVzY3JpcHRpb24oJ1RoaXMg
dGVzdCBhaW1zIHRvIGNoZWNrIGZvciB0eXBlTWlzbWF0Y2ggZmxhZyB3aXRoIHR5cGU9ZGF0ZXRp
bWUgaW5wdXQgZmllbGRzJyk7Cit2YXIgaSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0
Jyk7CitpLnR5cGUgPSAnZGF0ZXRpbWUnOworCitmdW5jdGlvbiBjaGVjayh2YWx1ZSwgbWlzbWF0
Y2hFeHBlY3RlZCkKK3sKKyAgICBpLnZhbHVlID0gdmFsdWU7CisgICAgdmFyIGFjdHVhbCA9IGku
dmFsaWRpdHkudHlwZU1pc21hdGNoOworICAgIHZhciBkaWRQYXNzID0gYWN0dWFsID09IG1pc21h
dGNoRXhwZWN0ZWQ7CisgICAgdmFyIHJlc3VsdFRleHQgPSAnIicgKyB2YWx1ZSArICciIGlzICcg
KyAoZGlkUGFzcyA/ICdhIGNvcnJlY3QgJyA6ICdhbiBpbmNvcnJlY3QgJykgKyAoYWN0dWFsID8g
J2ludmFsaWQnIDogJ3ZhbGlkJykgKyAnIGRhdGV0aW1lIHN0cmluZy4nOworICAgIGlmIChkaWRQ
YXNzKQorICAgICAgICB0ZXN0UGFzc2VkKHJlc3VsdFRleHQpOworICAgIGVsc2UKKyAgICAgICAg
dGVzdEZhaWxlZChyZXN1bHRUZXh0KTsKK30KKworLy8gVmFsaWQgdmFsdWVzCitjaGVjaygnJywg
ZmFsc2UpOworY2hlY2soJzIwMDktMDktMDdUMTY6NDlaJywgZmFsc2UpOworY2hlY2soJzIwMDkt
MDktMDdUMTY6NDk6MzFaJywgZmFsc2UpOworY2hlY2soJzIwMDktMDktMDdUMTY6NDk6MzEuMVon
LCBmYWxzZSk7CitjaGVjaygnMjAwOS0wOS0wN1QxNjo0OTozMS4xMlonLCBmYWxzZSk7CitjaGVj
aygnMjAwOS0wOS0wN1QxNjo0OTozMS4xMjNaJywgZmFsc2UpOworY2hlY2soJzIwMDktMDktMDdU
MTY6NDk6MzEuMTIzNDU2Nzg5MFonLCBmYWxzZSk7CitjaGVjaygnMjE0NzQ4MzY0Ny0xMi0zMVQy
Mzo1OTo1OS45OTlaJywgZmFsc2UpOworY2hlY2soJzE1ODItMTAtMTVUMDA6MDA6MDAuMDAwWics
IGZhbHNlKTsKK2NoZWNrKCcxNTgyLTEwLTE1VDAwOjAwOjAwLjAwMCswMDowMCcsIGZhbHNlKTsK
K2NoZWNrKCcxNTgyLTEwLTE1VDAxOjMwKzAxOjMwJywgZmFsc2UpOworY2hlY2soJzE1ODItMTAt
MTVUMDA6MDArMDE6MDAnLCBmYWxzZSk7CisKKy8vIEludmFsaWQgdmFsdWVzCitjaGVjaygnIDIw
MDktMDktMDdUMTY6NDlaICcsIHRydWUpOworY2hlY2soJzIwMDktMDktMDdUMTY6NDl6JywgdHJ1
ZSk7CitjaGVjaygnMjAwOS0wOS0wN3QxNjo0OVonLCB0cnVlKTsKK2NoZWNrKCcyMDA5LTA5LTA3
VDE2OjQ5JywgdHJ1ZSk7CitjaGVjaygnMjAwOS8wOS8wN1QxNjo0OVonLCB0cnVlKTsKK2NoZWNr
KCdhJywgdHJ1ZSk7CitjaGVjaygnLTEtMDktMDdUMTY6NDlaJywgdHJ1ZSk7CitjaGVjaygnMjAw
OS0wOS0wN1QxNjo0OSsyMycsIHRydWUpOworY2hlY2soJzIwMDktMDktMDdUMTY6NDkrMjM6Jywg
dHJ1ZSk7CitjaGVjaygnMjAwOS0wOS0wN1QxNjo0OSsyNDowMCcsIHRydWUpOworY2hlY2soJzIw
MDktMDktMDdUMTY6NDkrMjM6NjAnLCB0cnVlKTsKK2NoZWNrKCcyMDA5LTA5LTA3VDE2OjQ5LTIz
JywgdHJ1ZSk7CitjaGVjaygnMjAwOS0wOS0wN1QxNjo0OS0yMzonLCB0cnVlKTsKK2NoZWNrKCcy
MDA5LTA5LTA3VDE2OjQ5LTI0OjAwJywgdHJ1ZSk7CitjaGVjaygnMjAwOS0wOS0wN1QxNjo0OS0y
Mzo2MCcsIHRydWUpOworY2hlY2soJzE1ODItMTAtMTRUMjM6NTk6NTlaJywgdHJ1ZSk7CitjaGVj
aygnMjE0NzQ4MzY0Ny0xMi0zMVQyMzo1OS0wMDowMScsIHRydWUpOworY2hlY2soJzIxNDc0ODM2
NDgtMDEtMDFUMDA6MDA6MDBaJywgdHJ1ZSk7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0
cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9yZXNvdXJjZXMvVmFsaWRp
dHlTdGF0ZS10eXBlTWlzbWF0Y2gtZGF0ZXRpbWVsb2NhbC5qcyBiL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvcmVzb3VyY2VzL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLWRhdGV0aW1lbG9jYWwu
anMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjcyYTBlYQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvcmVzb3VyY2VzL1ZhbGlkaXR5U3RhdGUt
dHlwZU1pc21hdGNoLWRhdGV0aW1lbG9jYWwuanMKQEAgLTAsMCArMSwzOCBAQAorZGVzY3JpcHRp
b24oJ1RoaXMgdGVzdCBhaW1zIHRvIGNoZWNrIGZvciB0eXBlTWlzbWF0Y2ggZmxhZyB3aXRoIHR5
cGU9ZGF0ZXRpbWUtbG9jYWwgaW5wdXQgZmllbGRzJyk7Cit2YXIgaSA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoJ2lucHV0Jyk7CitpLnR5cGUgPSAnZGF0ZXRpbWUtbG9jYWwnOworCitmdW5jdGlv
biBjaGVjayh2YWx1ZSwgbWlzbWF0Y2hFeHBlY3RlZCkKK3sKKyAgICBpLnZhbHVlID0gdmFsdWU7
CisgICAgdmFyIGFjdHVhbCA9IGkudmFsaWRpdHkudHlwZU1pc21hdGNoOworICAgIHZhciBkaWRQ
YXNzID0gYWN0dWFsID09IG1pc21hdGNoRXhwZWN0ZWQ7CisgICAgdmFyIHJlc3VsdFRleHQgPSAn
IicgKyB2YWx1ZSArICciIGlzICcgKyAoZGlkUGFzcyA/ICdhIGNvcnJlY3QgJyA6ICdhbiBpbmNv
cnJlY3QgJykgKyAoYWN0dWFsID8gJ2ludmFsaWQnIDogJ3ZhbGlkJykgKyAnIGRhdGV0aW1lLWxv
Y2FsIHN0cmluZy4nOworICAgIGlmIChkaWRQYXNzKQorICAgICAgICB0ZXN0UGFzc2VkKHJlc3Vs
dFRleHQpOworICAgIGVsc2UKKyAgICAgICAgdGVzdEZhaWxlZChyZXN1bHRUZXh0KTsKK30KKwor
Ly8gVmFsaWQgdmFsdWVzCitjaGVjaygnJywgZmFsc2UpOworY2hlY2soJzIwMDktMDktMDdUMTY6
NDknLCBmYWxzZSk7CitjaGVjaygnMjAwOS0wOS0wN1QxNjo0OTozMScsIGZhbHNlKTsKK2NoZWNr
KCcyMDA5LTA5LTA3VDE2OjQ5OjMxLjEnLCBmYWxzZSk7CitjaGVjaygnMjAwOS0wOS0wN1QxNjo0
OTozMS4xMicsIGZhbHNlKTsKK2NoZWNrKCcyMDA5LTA5LTA3VDE2OjQ5OjMxLjEyMycsIGZhbHNl
KTsKK2NoZWNrKCcyMDA5LTA5LTA3VDE2OjQ5OjMxLjEyMzQ1Njc4OTAnLCBmYWxzZSk7CitjaGVj
aygnMjE0NzQ4MzY0Ny0xMi0zMVQyMzo1OTo1OS45OTknLCBmYWxzZSk7CitjaGVjaygnMTU4Mi0x
MC0xNVQwMDowMDowMC4wMDAnLCBmYWxzZSk7CisKKy8vIEludmFsaWQgdmFsdWVzCitjaGVjaygn
IDIwMDktMDktMDdUMTY6NDkgJywgdHJ1ZSk7CitjaGVjaygnMjAwOS0wOS0wN3QxNjo0OScsIHRy
dWUpOworY2hlY2soJzIwMDktMDktMDcgMTY6NDknLCB0cnVlKTsKK2NoZWNrKCcyMDA5LzA5LzA3
VDE2OjQ5JywgdHJ1ZSk7CitjaGVjaygnYScsIHRydWUpOworY2hlY2soJy0xLTA5LTA3VDE2OjQ5
JywgdHJ1ZSk7CitjaGVjaygnMTU4Mi0xMC0xNFQyMzo1OTo1OScsIHRydWUpOworY2hlY2soJzIx
NDc0ODM2NDgtMDEtMDFUMDA6MDA6MDAnLCB0cnVlKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNl
ZCA9IHRydWU7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3Jlc291cmNlcy9W
YWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1tb250aC5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvcmVzb3VyY2VzL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLW1vbnRoLmpzCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIyNTNjZmIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3Jlc291cmNlcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRj
aC1tb250aC5qcwpAQCAtMCwwICsxLDUzIEBACitkZXNjcmlwdGlvbignVGhpcyB0ZXN0IGFpbXMg
dG8gY2hlY2sgZm9yIHR5cGVNaXNtYXRjaCBmbGFnIHdpdGggdHlwZT1tb250aCBpbnB1dCBmaWVs
ZHMnKTsKK3ZhciBpID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTsKK2kudHlwZSA9
ICdtb250aCc7CisKK2Z1bmN0aW9uIGNoZWNrKHZhbHVlLCBtaXNtYXRjaEV4cGVjdGVkKQorewor
ICAgIGkudmFsdWUgPSB2YWx1ZTsKKyAgICB2YXIgYWN0dWFsID0gaS52YWxpZGl0eS50eXBlTWlz
bWF0Y2g7CisgICAgdmFyIGRpZFBhc3MgPSBhY3R1YWwgPT0gbWlzbWF0Y2hFeHBlY3RlZDsKKyAg
ICB2YXIgcmVzdWx0VGV4dCA9ICciJyArIHZhbHVlICsgJyIgaXMgJyArIChkaWRQYXNzID8gJ2Eg
Y29ycmVjdCAnIDogJ2FuIGluY29ycmVjdCAnKSArIChhY3R1YWwgPyAnaW52YWxpZCcgOiAndmFs
aWQnKSArICcgbW9udGggc3RyaW5nLic7CisgICAgaWYgKGRpZFBhc3MpCisgICAgICAgIHRlc3RQ
YXNzZWQocmVzdWx0VGV4dCk7CisgICAgZWxzZQorICAgICAgICB0ZXN0RmFpbGVkKHJlc3VsdFRl
eHQpOworfQorCisvLyBWYWxpZCB2YWx1ZXMKK2NoZWNrKCcnLCBmYWxzZSk7CitjaGVjaygnMTU4
Mi0xMCcsIGZhbHNlKTsKK2NoZWNrKCc5OTk5LTEyJywgZmFsc2UpOworY2hlY2soJzIxNDc0ODM2
NDctMTInLCBmYWxzZSk7CitjaGVjaygnMjAwOS0wMScsIGZhbHNlKTsKK2NoZWNrKCcyMDA5LTAy
JywgZmFsc2UpOworY2hlY2soJzIwMDktMDMnLCBmYWxzZSk7CitjaGVjaygnMjAwOS0wNCcsIGZh
bHNlKTsKK2NoZWNrKCcyMDA5LTA1JywgZmFsc2UpOworY2hlY2soJzIwMDktMDYnLCBmYWxzZSk7
CitjaGVjaygnMjAwOS0wNycsIGZhbHNlKTsKK2NoZWNrKCcyMDA5LTA4JywgZmFsc2UpOworY2hl
Y2soJzIwMDktMDknLCBmYWxzZSk7CitjaGVjaygnMjAwOS0xMCcsIGZhbHNlKTsKK2NoZWNrKCcy
MDA5LTExJywgZmFsc2UpOworY2hlY2soJzIwMDktMTInLCBmYWxzZSk7CisKKy8vIEludmFsaWQg
dmFsdWVzCitjaGVjaygnIDIwMDktMDkgJywgdHJ1ZSk7CitjaGVjaygnYScsIHRydWUpOworY2hl
Y2soJy0xLTA5JywgdHJ1ZSk7CitjaGVjaygnMTU4MS0xMCcsIHRydWUpOworY2hlY2soJzE1ODIt
MDknLCB0cnVlKTsKK2NoZWNrKCcyMTQ3NDgzNjQ4LTEyJywgdHJ1ZSk7CitjaGVjaygnMjAwOS8w
OScsIHRydWUpOworY2hlY2soJzIwMDkwOScsIHRydWUpOworY2hlY2soJzIwMDktLTInLCB0cnVl
KTsKK2NoZWNrKCcyMDA5LTAwJywgdHJ1ZSk7CitjaGVjaygnMjAwOS0xMycsIHRydWUpOworY2hl
Y2soJzIwMDktJywgdHJ1ZSk7CitjaGVjaygnMjAwOS05JywgdHJ1ZSk7CitjaGVjaygnMjAwOS0w
MDknLCB0cnVlKTsKK2NoZWNrKCcyMDA5LXh4JywgdHJ1ZSk7CitjaGVjaygnMjAwOScsIHRydWUp
OworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvcmVzb3VyY2VzL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLXRpbWUu
anMgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3Jlc291cmNlcy9WYWxpZGl0eVN0YXRlLXR5cGVN
aXNtYXRjaC10aW1lLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNjMmRk
ZTcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3Jlc291cmNlcy9W
YWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC10aW1lLmpzCkBAIC0wLDAgKzEsNTEgQEAKK2Rlc2Ny
aXB0aW9uKCdUaGlzIHRlc3QgYWltcyB0byBjaGVjayBmb3IgdHlwZU1pc21hdGNoIGZsYWcgd2l0
aCB0eXBlPXRpbWUgaW5wdXQgZmllbGRzJyk7Cit2YXIgaSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoJ2lucHV0Jyk7CitpLnR5cGUgPSAndGltZSc7CisKK2Z1bmN0aW9uIGNoZWNrKHZhbHVlLCBt
aXNtYXRjaEV4cGVjdGVkKQoreworICAgIGkudmFsdWUgPSB2YWx1ZTsKKyAgICB2YXIgYWN0dWFs
ID0gaS52YWxpZGl0eS50eXBlTWlzbWF0Y2g7CisgICAgdmFyIGRpZFBhc3MgPSBhY3R1YWwgPT0g
bWlzbWF0Y2hFeHBlY3RlZDsKKyAgICB2YXIgcmVzdWx0VGV4dCA9ICciJyArIHZhbHVlICsgJyIg
aXMgJyArIChkaWRQYXNzID8gJ2EgY29ycmVjdCAnIDogJ2FuIGluY29ycmVjdCAnKSArIChhY3R1
YWwgPyAnaW52YWxpZCcgOiAndmFsaWQnKSArICcgdGltZSBzdHJpbmcuJzsKKyAgICBpZiAoZGlk
UGFzcykKKyAgICAgICAgdGVzdFBhc3NlZChyZXN1bHRUZXh0KTsKKyAgICBlbHNlCisgICAgICAg
IHRlc3RGYWlsZWQocmVzdWx0VGV4dCk7Cit9CisKKy8vIFZhbGlkIHZhbHVlcworY2hlY2soJycs
IGZhbHNlKTsKK2NoZWNrKCcwMDowMCcsIGZhbHNlKTsKK2NoZWNrKCcyMzo1OScsIGZhbHNlKTsK
K2NoZWNrKCcyMzo1OTo1OScsIGZhbHNlKTsKK2NoZWNrKCcyMzo1OTo1OS4xJywgZmFsc2UpOwor
Y2hlY2soJzIzOjU5OjU5LjEyJywgZmFsc2UpOworY2hlY2soJzIzOjU5OjU5LjEyMycsIGZhbHNl
KTsKK2NoZWNrKCcyMzo1OTo1OS4xMjM0NTY3ODkwJywgZmFsc2UpOworY2hlY2soJzAwOjAwOjAw
LjAwMDAwMDAwMDAnLCBmYWxzZSk7CisKKy8vIEludmFsaWQgdmFsdWVzCitjaGVjaygnIDAwOjAw
ICcsIHRydWUpOworY2hlY2soJzE6MjMnLCB0cnVlKTsKK2NoZWNrKCcwMTE6MTEnLCB0cnVlKTsK
K2NoZWNrKCdhYjoxMScsIHRydWUpOworY2hlY2soJy0xOjExJywgdHJ1ZSk7CitjaGVjaygnMjQ6
MTEnLCB0cnVlKTsKK2NoZWNrKCcxMScsIHRydWUpOworY2hlY2soJzExLScsIHRydWUpOworY2hl
Y2soJzExOi0yJywgdHJ1ZSk7CitjaGVjaygnMTE6NjAnLCB0cnVlKTsKK2NoZWNrKCcxMToyYics
IHRydWUpOworY2hlY2soJzExOmFiJywgdHJ1ZSk7CitjaGVjaygnMTE6MDM0JywgdHJ1ZSk7Citj
aGVjaygnMjM6NDU6JywgdHJ1ZSk7CitjaGVjaygnMjM6NDU6NicsIHRydWUpOworY2hlY2soJzIz
OjQ1Oi0xJywgdHJ1ZSk7CitjaGVjaygnMjM6NDU6NzAnLCB0cnVlKTsKK2NoZWNrKCcyMzo0NTp6
eicsIHRydWUpOworY2hlY2soJzIzOjQ1OjA2LicsIHRydWUpOworY2hlY2soJzIzOjQ1OjA2LmFi
YycsIHRydWUpOworY2hlY2soJzIzOjQ1OjA2Ljc4OWFiYycsIHRydWUpOworCit2YXIgc3VjY2Vz
c2Z1bGx5UGFyc2VkID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
cmVzb3VyY2VzL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLXdlZWsuanMgYi9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL3Jlc291cmNlcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC13ZWVrLmpz
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc5ZWZlMDYKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3Jlc291cmNlcy9WYWxpZGl0eVN0YXRlLXR5
cGVNaXNtYXRjaC13ZWVrLmpzCkBAIC0wLDAgKzEsNDcgQEAKK2Rlc2NyaXB0aW9uKCdUaGlzIHRl
c3QgYWltcyB0byBjaGVjayBmb3IgdHlwZU1pc21hdGNoIGZsYWcgd2l0aCB0eXBlPXdlZWsgaW5w
dXQgZmllbGRzJyk7Cit2YXIgaSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7Citp
LnR5cGUgPSAnd2Vlayc7CisKK2Z1bmN0aW9uIGNoZWNrKHZhbHVlLCBtaXNtYXRjaEV4cGVjdGVk
KQoreworICAgIGkudmFsdWUgPSB2YWx1ZTsKKyAgICB2YXIgYWN0dWFsID0gaS52YWxpZGl0eS50
eXBlTWlzbWF0Y2g7CisgICAgdmFyIGRpZFBhc3MgPSBhY3R1YWwgPT0gbWlzbWF0Y2hFeHBlY3Rl
ZDsKKyAgICB2YXIgcmVzdWx0VGV4dCA9ICciJyArIHZhbHVlICsgJyIgaXMgJyArIChkaWRQYXNz
ID8gJ2EgY29ycmVjdCAnIDogJ2FuIGluY29ycmVjdCAnKSArIChhY3R1YWwgPyAnaW52YWxpZCcg
OiAndmFsaWQnKSArICcgd2VlayBzdHJpbmcuJzsKKyAgICBpZiAoZGlkUGFzcykKKyAgICAgICAg
dGVzdFBhc3NlZChyZXN1bHRUZXh0KTsKKyAgICBlbHNlCisgICAgICAgIHRlc3RGYWlsZWQocmVz
dWx0VGV4dCk7Cit9CisKKy8vIFZhbGlkIHZhbHVlcworY2hlY2soJycsIGZhbHNlKTsKK2NoZWNr
KCcxNTgzLVcwMScsIGZhbHNlKTsKK2NoZWNrKCc5OTk5LVc1MicsIGZhbHNlKTsKK2NoZWNrKCcy
MTQ3NDgzNjQ3LVc1MicsIGZhbHNlKTsKK2NoZWNrKCcyMDA5LVcwMScsIGZhbHNlKTsKK2NoZWNr
KCcyMDA0LVc1MycsIGZhbHNlKTsgIC8vIDIwMDQgc3RhcnRlZCBvbiBUaHVyc2RheS4KK2NoZWNr
KCcyMDAzLVc1MicsIGZhbHNlKTsgIC8vIDIwMDMgc3RhcnRlZCBvbiBXZWRuZXNkYXksIGJ1dCB3
YXNuJ3QgYSBsZWFwIHllYXIuCitjaGVjaygnMTk5Mi1XNTMnLCBmYWxzZSk7ICAvLyAxOTkyIHN0
YXJ0ZWQgb24gV2VkbmVzZGF5LCBhbmQgd2FzIGEgbGVhcCB5ZWFyLgorCisvLyBJbnZhbGlkIHZh
bHVlcworY2hlY2soJyAyMDA5LVcwMSAnLCB0cnVlKTsKK2NoZWNrKCcyMDA5VzAxJywgdHJ1ZSk7
CitjaGVjaygnMjAwOS13MDEnLCB0cnVlKTsKK2NoZWNrKCcyMDA5LVcxJywgdHJ1ZSk7CitjaGVj
aygnMjAwOS1XMDAxJywgdHJ1ZSk7CitjaGVjaygnYScsIHRydWUpOworY2hlY2soJy0xLVcwOScs
IHRydWUpOworY2hlY2soJzE1ODItVzUyJywgdHJ1ZSk7CitjaGVjaygnMjE0NzQ4MzY0OC1XMDEn
LCB0cnVlKTsKK2NoZWNrKCcyMDA5LVcwMCcsIHRydWUpOworY2hlY2soJzIwMDktVy0xJywgdHJ1
ZSk7CitjaGVjaygnMjAwNC1XNTQnLCB0cnVlKTsgIC8vIDIwMDQgc3RhcnRlZCBvbiBUaHVyc2Rh
eS4KK2NoZWNrKCcyMDAzLVc1MycsIHRydWUpOyAgLy8gMjAwMyBzdGFydGVkIG9uIFdlZG5lc2Rh
eSwgYnV0IHdhc24ndCBhIGxlYXAgeWVhci4KK2NoZWNrKCcxOTkyLVc1NCcsIHRydWUpOyAgLy8g
MTk5MiBzdGFydGVkIG9uIFdlZG5lc2RheSwgYW5kIHdhcyBhIGxlYXAgeWVhci4KK2NoZWNrKCcy
MDA5LzA5JywgdHJ1ZSk7CitjaGVjaygnMjAwOTA5JywgdHJ1ZSk7CitjaGVjaygnMjAwOS1XeHgn
LCB0cnVlKTsKK2NoZWNrKCcyMDA5JywgdHJ1ZSk7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQg
PSB0cnVlOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxv
ZwppbmRleCAwM2JmNWNhLi5hNDVmODE2IDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZwor
KysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDA5LTA5LTEwICBLZW50
IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3IgVmFsaWRpdHlTdGF0ZS50eXBl
TWlzbWF0Y2ggZm9yIGRhdGUvZGF0ZXRpbWUvCisgICAgICAgIGRhdGV0aW1lLWxvY2FsL21vbnRo
L3RpbWUvd2VlayB0eXBlcyBvZiBJTlBVVCBlbGVtZW50LgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjkwMDQKKworICAgICAgICBOZWVkIGEgc2hvcnQg
ZGVzY3JpcHRpb24gYW5kIGJ1ZyBVUkwgKE9PUFMhKQorCisgICAgICAgIFRlc3RzOiBmYXN0L2Zv
cm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLWRhdGUuaHRtbAorICAgICAgICAgICAgICAg
ZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1kYXRldGltZS5odG1sCisgICAg
ICAgICAgICAgICBmYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLWRhdGV0aW1l
bG9jYWwuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVN
aXNtYXRjaC1tb250aC5odG1sCisgICAgICAgICAgICAgICBmYXN0L2Zvcm1zL1ZhbGlkaXR5U3Rh
dGUtdHlwZU1pc21hdGNoLXRpbWUuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9mb3Jtcy9WYWxp
ZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC13ZWVrLmh0bWwKKworICAgICAgICAqIGh0bWwvSFRNTElu
cHV0RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50Ojpmb3Jt
U3RyaW5nVG9EYXRlVGltZSk6CisgICAgICAgICogaHRtbC9IVE1MSW5wdXRFbGVtZW50Lmg6Cisg
ICAgICAgICogaHRtbC9WYWxpZGl0eVN0YXRlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlZhbGlk
aXR5U3RhdGU6OnR5cGVNaXNtYXRjaCk6CisKIDIwMDktMDktMDEgIEtlbnQgVGFtdXJhICA8dGtl
bnRAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwIGIvV2ViQ29yZS9o
dG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCmluZGV4IDc3YzgwN2EuLjIwNWM4MWUgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcAorKysgYi9XZWJDb3JlL2h0bWwv
SFRNTElucHV0RWxlbWVudC5jcHAKQEAgLTYwLDYgKzYwLDcgQEAKICNpbmNsdWRlICJSZW5kZXJU
aGVtZS5oIgogI2luY2x1ZGUgIlN0cmluZ0hhc2guaCIKICNpbmNsdWRlICJUZXh0RXZlbnQuaCIK
KyNpbmNsdWRlIDx3dGYvRGF0ZU1hdGguaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2lu
Y2x1ZGUgPHd0Zi9NYXRoRXh0cmFzLmg+CiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgpA
QCAtMTkxNSw2ICsxOTE2LDM0IEBAIGJvb2wgSFRNTElucHV0RWxlbWVudDo6Zm9ybVN0cmluZ1Rv
RG91YmxlKGNvbnN0IFN0cmluZyYgc3JjLCBkb3VibGUqIG91dCkKICAgICByZXR1cm4gdHJ1ZTsK
IH0KIAorYm9vbCBIVE1MSW5wdXRFbGVtZW50Ojpmb3JtU3RyaW5nVG9EYXRlVGltZShJbnB1dFR5
cGUgdHlwZSwgY29uc3QgU3RyaW5nJiBzcmMsIFdURjo6R3JlZ29yaWFuRGF0ZVRpbWUqIG91dCkK
K3sKKyAgICBXVEY6OkdyZWdvcmlhbkRhdGVUaW1lIHJlc3VsdDsKKyAgICBpZiAoIW91dCkKKyAg
ICAgICAgb3V0ID0gJnJlc3VsdDsKKyAgICBjb25zdCBVQ2hhciogdWNoYXJzID0gc3JjLmNoYXJh
Y3RlcnMoKTsKKyAgICB1bnNpZ25lZCBsZW5ndGggPSBzcmMubGVuZ3RoKCk7CisgICAgdW5zaWdu
ZWQgZW5kOworCisgICAgc3dpdGNoICh0eXBlKSB7CisgICAgY2FzZSBEQVRFOgorICAgICAgICBy
ZXR1cm4gb3V0LT5wYXJzZUlTT0RhdGUodWNoYXJzLCBsZW5ndGgsIDAsICZlbmQpICYmIGVuZCA9
PSBsZW5ndGg7CisgICAgY2FzZSBEQVRFVElNRToKKyAgICAgICAgcmV0dXJuIG91dC0+cGFyc2VJ
U09EYXRlVGltZSh1Y2hhcnMsIGxlbmd0aCwgMCwgJmVuZCkgJiYgZW5kID09IGxlbmd0aDsKKyAg
ICBjYXNlIERBVEVUSU1FTE9DQUw6CisgICAgICAgIHJldHVybiBvdXQtPnBhcnNlSVNPRGF0ZVRp
bWVMb2NhbCh1Y2hhcnMsIGxlbmd0aCwgMCwgJmVuZCkgJiYgZW5kID09IGxlbmd0aDsKKyAgICBj
YXNlIE1PTlRIOgorICAgICAgICByZXR1cm4gb3V0LT5wYXJzZUlTT01vbnRoKHVjaGFycywgbGVu
Z3RoLCAwLCAmZW5kKSAmJiBlbmQgPT0gbGVuZ3RoOworICAgIGNhc2UgV0VFSzoKKyAgICAgICAg
cmV0dXJuIG91dC0+cGFyc2VJU09XZWVrKHVjaGFycywgbGVuZ3RoLCAwLCAmZW5kKSAmJiBlbmQg
PT0gbGVuZ3RoOworICAgIGNhc2UgVElNRToKKyAgICAgICAgcmV0dXJuIG91dC0+cGFyc2VJU09U
aW1lKHVjaGFycywgbGVuZ3RoLCAwLCAmZW5kKSAmJiBlbmQgPT0gbGVuZ3RoOworICAgIGRlZmF1
bHQ6CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIH0KKyAgICByZXR1cm4gZmFs
c2U7Cit9CisKICNpZiBFTkFCTEUoREFUQUxJU1QpCiBIVE1MRWxlbWVudCogSFRNTElucHV0RWxl
bWVudDo6bGlzdCgpIGNvbnN0CiB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvSFRNTElucHV0
RWxlbWVudC5oIGIvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaAppbmRleCAxOTQ5ZmQz
Li41ZTkyYzY2IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oCisr
KyBiL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmgKQEAgLTI4LDYgKzI4LDEwIEBACiAj
aW5jbHVkZSAiSW5wdXRFbGVtZW50LmgiCiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogCituYW1l
c3BhY2UgV1RGIHsKKyAgICBzdHJ1Y3QgR3JlZ29yaWFuRGF0ZVRpbWU7Cit9CisKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogY2xhc3MgRmlsZUxpc3Q7CkBAIC0yNDIsNiArMjQ2LDEwIEBAIHB1Ymxp
YzoKICAgICAvLyBJZiB0aGUgY29udmVyc2lvbiBmYWlscywgdGhlIHJldHVybiB2YWx1ZSBpcyBm
YWxzZS4gVGFrZSBjYXJlIHRoYXQgbGVhZGluZyBvciB0cmFpbGluZyB1bm5lY2Vzc2FyeSBjaGFy
YWN0ZXJzIG1ha2UgZmFpbHVyZXMuICBUaGlzIHJldHVybnMgZmFsc2UgZm9yIGFuIGVtcHR5IHN0
cmluZyBpbnB1dC4KICAgICAvLyBUaGUgZG91YmxlKiBwYXJhbWV0ZXIgbWF5IGJlIDAuCiAgICAg
c3RhdGljIGJvb2wgZm9ybVN0cmluZ1RvRG91YmxlKGNvbnN0IFN0cmluZyYsIGRvdWJsZSopOwor
ICAgIC8vIFBhcnNlcyB0aGUgc3BlY2lmaWVkIHN0cmluZyBhcyB0aGUgSW5wdXRUeXBlLCBhbmQg
cmV0dXJucyB0cnVlIGlmIGl0IGlzIHN1Y2Nlc3NmdWxseSBwYXJzZWQuCisgICAgLy8gQW4gaW5z
dGFuY2UgcG9pbnRlZCBieSB0aGUgR3JlZ29yaWFuRGF0ZVRpbWUqIHBhcmFtZXRlciB3aWxsIGhh
dmUgcGFyc2VkIHZhbHVlcyBhbmQgYmUKKyAgICAvLyBtb2RpZmllZCBldmVuIGlmIHRoZSBwYXJz
aW5nIGZhaWxzLiAgVGhlIEdyZWdvcmlhbkRhdGVUaW1lKiBwYXJhbWV0ZXIgbWF5IGJlIDAuCisg
ICAgc3RhdGljIGJvb2wgZm9ybVN0cmluZ1RvRGF0ZVRpbWUoSW5wdXRUeXBlLCBjb25zdCBTdHJp
bmcmLCBXVEY6OkdyZWdvcmlhbkRhdGVUaW1lKik7CiAgICAgCiBwcm90ZWN0ZWQ6CiAgICAgdmly
dHVhbCB2b2lkIHdpbGxNb3ZlVG9OZXdPd25lckRvY3VtZW50KCk7CmRpZmYgLS1naXQgYS9XZWJD
b3JlL2h0bWwvVmFsaWRpdHlTdGF0ZS5jcHAgYi9XZWJDb3JlL2h0bWwvVmFsaWRpdHlTdGF0ZS5j
cHAKaW5kZXggZGY4OTMzZC4uMTVhZDc5YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL1ZhbGlk
aXR5U3RhdGUuY3BwCisrKyBiL1dlYkNvcmUvaHRtbC9WYWxpZGl0eVN0YXRlLmNwcApAQCAtNTUs
NiArNTUsMTMgQEAgYm9vbCBWYWxpZGl0eVN0YXRlOjp0eXBlTWlzbWF0Y2goKQogICAgICAgICBy
ZXR1cm4gIUhUTUxJbnB1dEVsZW1lbnQ6OmZvcm1TdHJpbmdUb0RvdWJsZSh2YWx1ZSwgMCk7CiAg
ICAgY2FzZSBIVE1MSW5wdXRFbGVtZW50OjpVUkw6CiAgICAgICAgIHJldHVybiAhS1VSTChLVVJM
KCksIHZhbHVlKS5pc1ZhbGlkKCk7CisgICAgY2FzZSBIVE1MSW5wdXRFbGVtZW50OjpEQVRFOgor
ICAgIGNhc2UgSFRNTElucHV0RWxlbWVudDo6REFURVRJTUU6CisgICAgY2FzZSBIVE1MSW5wdXRF
bGVtZW50OjpEQVRFVElNRUxPQ0FMOgorICAgIGNhc2UgSFRNTElucHV0RWxlbWVudDo6TU9OVEg6
CisgICAgY2FzZSBIVE1MSW5wdXRFbGVtZW50OjpUSU1FOgorICAgIGNhc2UgSFRNTElucHV0RWxl
bWVudDo6V0VFSzoKKyAgICAgICAgcmV0dXJuICFIVE1MSW5wdXRFbGVtZW50Ojpmb3JtU3RyaW5n
VG9EYXRlVGltZShpbnB1dC0+aW5wdXRUeXBlKCksIHZhbHVlLCAwKTsKICAgICBkZWZhdWx0Ogog
ICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>39857</attachid>
            <date>2009-09-21 09:53:50 -0700</date>
            <delta_ts>2009-10-19 15:15:54 -0700</delta_ts>
            <desc>Patch part 3: ValidityState.typeMismatch and layout tests (rev.3)</desc>
            <filename>0001-typeMiscmatch.patch</filename>
            <type>text/plain</type>
            <size>39056</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">RnJvbSBkZjczYjkxODY4NzM4ODczNWE1NWFjN2NhOTI2MWQxNjQwMWJmYWE2IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBLZW50IFRhbXVyYSA8dGtlbnRAY2hyb21pdW0ub3JnPgpEYXRl
OiBUdWUsIDIyIFNlcCAyMDA5IDAxOjUxOjEwICswOTAwClN1YmplY3Q6IFtQQVRDSF0gdHlwZU1p
c2NtYXRjaAoKLS0tCiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB8ICAgMjcgKysrKysrKwogLi4uL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLWRh
dGUtZXhwZWN0ZWQudHh0ICAgfCAgIDYxICsrKysrKysrKysrKysrKysKIC4uLi9mb3Jtcy9WYWxp
ZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1kYXRlLmh0bWwgICAgIHwgICAxMyArKysrCiAuLi5hbGlk
aXR5U3RhdGUtdHlwZU1pc21hdGNoLWRhdGV0aW1lLWV4cGVjdGVkLnR4dCB8ICAgMzkgKysrKysr
KysrKysKIC4uLi9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1kYXRldGltZS5odG1s
IHwgICAxMyArKysrCiAuLi50eVN0YXRlLXR5cGVNaXNtYXRjaC1kYXRldGltZWxvY2FsLWV4cGVj
dGVkLnR4dCB8ICAgMjYgKysrKysrKwogLi4uL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLWRh
dGV0aW1lbG9jYWwuaHRtbCAgfCAgIDEzICsrKysKIC4uLi9WYWxpZGl0eVN0YXRlLXR5cGVNaXNt
YXRjaC1tb250aC1leHBlY3RlZC50eHQgIHwgICA0MSArKysrKysrKysrKwogLi4uL2Zvcm1zL1Zh
bGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLW1vbnRoLmh0bWwgICAgfCAgIDEzICsrKysKIC4uLi9W
YWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC10aW1lLWV4cGVjdGVkLnR4dCAgIHwgICAzOSArKysr
KysrKysrKwogLi4uL2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLXRpbWUuaHRtbCAg
ICAgfCAgIDEzICsrKysKIC4uLi9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC13ZWVrLWV4cGVj
dGVkLnR4dCAgIHwgICAzNSArKysrKysrKysKIC4uLi9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVN
aXNtYXRjaC13ZWVrLmh0bWwgICAgIHwgICAxMyArKysrCiAuLi4vVmFsaWRpdHlTdGF0ZS10eXBl
TWlzbWF0Y2gtZGF0ZS5qcyAgICAgICAgICAgICB8ICAgNzMgKysrKysrKysrKysrKysrKysrKysK
IC4uLi9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1kYXRldGltZS5qcyAgICAgICAgIHwgICA1
MSArKysrKysrKysrKysrKwogLi4uL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLWRhdGV0aW1l
bG9jYWwuanMgICAgfCAgIDM4ICsrKysrKysrKysKIC4uLi9WYWxpZGl0eVN0YXRlLXR5cGVNaXNt
YXRjaC1tb250aC5qcyAgICAgICAgICAgIHwgICA1MyArKysrKysrKysrKysrKwogLi4uL1ZhbGlk
aXR5U3RhdGUtdHlwZU1pc21hdGNoLXRpbWUuanMgICAgICAgICAgICAgfCAgIDUxICsrKysrKysr
KysrKysrCiAuLi4vVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtd2Vlay5qcyAgICAgICAgICAg
ICB8ICAgNDcgKysrKysrKysrKysrKwogV2ViQ29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgfCAgIDIzICsrKysrKwogV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVs
ZW1lbnQuY3BwICAgICAgICAgICAgICAgICAgfCAgIDI5ICsrKysrKysrCiBXZWJDb3JlL2h0bWwv
SFRNTElucHV0RWxlbWVudC5oICAgICAgICAgICAgICAgICAgICB8ICAgIDggKysKIFdlYkNvcmUv
aHRtbC9WYWxpZGl0eVN0YXRlLmNwcCAgICAgICAgICAgICAgICAgICAgIHwgICAgNyArKwogMjMg
ZmlsZXMgY2hhbmdlZCwgNzI2IGluc2VydGlvbnMoKyksIDAgZGVsZXRpb25zKC0pCiBjcmVhdGUg
bW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNt
YXRjaC1kYXRlLWV4cGVjdGVkLnR4dAogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2Zh
c3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtZGF0ZS5odG1sCiBjcmVhdGUgbW9k
ZSAxMDA2NDQgTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRj
aC1kYXRldGltZS1leHBlY3RlZC50eHQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLWRhdGV0aW1lLmh0bWwKIGNyZWF0
ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1p
c21hdGNoLWRhdGV0aW1lbG9jYWwtZXhwZWN0ZWQudHh0CiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1kYXRldGltZWxv
Y2FsLmh0bWwKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlk
aXR5U3RhdGUtdHlwZU1pc21hdGNoLW1vbnRoLWV4cGVjdGVkLnR4dAogY3JlYXRlIG1vZGUgMTAw
NjQ0IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtbW9u
dGguaHRtbAogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRp
dHlTdGF0ZS10eXBlTWlzbWF0Y2gtdGltZS1leHBlY3RlZC50eHQKIGNyZWF0ZSBtb2RlIDEwMDY0
NCBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLXRpbWUu
aHRtbAogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlT
dGF0ZS10eXBlTWlzbWF0Y2gtd2Vlay1leHBlY3RlZC50eHQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBM
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLXdlZWsuaHRt
bAogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3Rz
L1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLWRhdGUuanMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBM
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNt
YXRjaC1kYXRldGltZS5qcwogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2Zhc3QvZm9y
bXMvc2NyaXB0LXRlc3RzL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLWRhdGV0aW1lbG9jYWwu
anMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0
cy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1tb250aC5qcwogY3JlYXRlIG1vZGUgMTAwNjQ0
IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL1ZhbGlkaXR5U3RhdGUtdHlwZU1p
c21hdGNoLXRpbWUuanMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L3NjcmlwdC10ZXN0cy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC13ZWVrLmpzCgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4
IDEwN2YwMGIuLmQyN2FiNjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMCBAQAorMjAwOS0wOS0yMSAgS2Vu
dCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdHMgZm9yIFZhbGlkaXR5U3RhdGUudHlwZU1pc21h
dGNoIGZvciB0aGUgZm9sbG93aW5nIHR5cGVzIG9mIElOUFVUIGVsZW1lbnQ6CisgICAgICAgICAg
ICBkYXRlLCBkYXRldGltZSwgZGF0ZXRpbWUtbG9jYWwsIG1vbnRoLCB0aW1lIGFuZCB3ZWVrCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yOTAwNAorCisg
ICAgICAgICogZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1kYXRlLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVN
aXNtYXRjaC1kYXRlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvVmFsaWRpdHlT
dGF0ZS10eXBlTWlzbWF0Y2gtZGF0ZXRpbWUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBmYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLWRhdGV0aW1lLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtZGF0
ZXRpbWVsb2NhbC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvVmFs
aWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtZGF0ZXRpbWVsb2NhbC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBmYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLW1vbnRoLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNt
YXRjaC1tb250aC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL1ZhbGlkaXR5U3Rh
dGUtdHlwZU1pc21hdGNoLXRpbWUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0
L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLXRpbWUuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC13ZWVrLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNt
YXRjaC13ZWVrLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvc2NyaXB0LXRlc3Rz
L1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLWRhdGUuanM6IEFkZGVkLgorICAgICAgICAqIGZh
c3QvZm9ybXMvc2NyaXB0LXRlc3RzL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLWRhdGV0aW1l
LmpzOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9WYWxpZGl0eVN0
YXRlLXR5cGVNaXNtYXRjaC1kYXRldGltZWxvY2FsLmpzOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0
L2Zvcm1zL3NjcmlwdC10ZXN0cy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1tb250aC5qczog
QWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvVmFsaWRpdHlTdGF0ZS10
eXBlTWlzbWF0Y2gtdGltZS5qczogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9zY3JpcHQt
dGVzdHMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtd2Vlay5qczogQWRkZWQuCisKIDIwMDkt
MDktMjAgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBNYWNpZWogU3RhY2hvd2lhay4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtZGF0ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLWRhdGUtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBhYTJjMWUKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21h
dGNoLWRhdGUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNjEgQEAKK1RoaXMgdGVzdCBhaW1zIHRv
IGNoZWNrIGZvciB0eXBlTWlzbWF0Y2ggZmxhZyB3aXRoIHR5cGU9ZGF0ZSBpbnB1dCBmaWVsZHMK
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgIiIgaXMgYSBjb3JyZWN0IHZh
bGlkIGRhdGUgc3RyaW5nLgorUEFTUyAiMjAwOS0wOS0wNyIgaXMgYSBjb3JyZWN0IHZhbGlkIGRh
dGUgc3RyaW5nLgorUEFTUyAiOTk5OS0xMi0zMSIgaXMgYSBjb3JyZWN0IHZhbGlkIGRhdGUgc3Ry
aW5nLgorUEFTUyAiMjE0NzQ4MzY0Ny0xMi0zMSIgaXMgYSBjb3JyZWN0IHZhbGlkIGRhdGUgc3Ry
aW5nLgorUEFTUyAiMTU4Mi0xMC0xNSIgaXMgYSBjb3JyZWN0IHZhbGlkIGRhdGUgc3RyaW5nLgor
UEFTUyAiMjAwOS0wMS0zMSIgaXMgYSBjb3JyZWN0IHZhbGlkIGRhdGUgc3RyaW5nLgorUEFTUyAi
MjAwOS0wMi0yOCIgaXMgYSBjb3JyZWN0IHZhbGlkIGRhdGUgc3RyaW5nLgorUEFTUyAiMjAwOS0w
My0zMSIgaXMgYSBjb3JyZWN0IHZhbGlkIGRhdGUgc3RyaW5nLgorUEFTUyAiMjAwOS0wNC0zMCIg
aXMgYSBjb3JyZWN0IHZhbGlkIGRhdGUgc3RyaW5nLgorUEFTUyAiMjAwOS0wNS0zMSIgaXMgYSBj
b3JyZWN0IHZhbGlkIGRhdGUgc3RyaW5nLgorUEFTUyAiMjAwOS0wNi0zMCIgaXMgYSBjb3JyZWN0
IHZhbGlkIGRhdGUgc3RyaW5nLgorUEFTUyAiMjAwOS0wNy0zMSIgaXMgYSBjb3JyZWN0IHZhbGlk
IGRhdGUgc3RyaW5nLgorUEFTUyAiMjAwOS0wOC0zMSIgaXMgYSBjb3JyZWN0IHZhbGlkIGRhdGUg
c3RyaW5nLgorUEFTUyAiMjAwOS0wOS0zMCIgaXMgYSBjb3JyZWN0IHZhbGlkIGRhdGUgc3RyaW5n
LgorUEFTUyAiMjAwOS0xMC0zMSIgaXMgYSBjb3JyZWN0IHZhbGlkIGRhdGUgc3RyaW5nLgorUEFT
UyAiMjAwOS0xMS0zMCIgaXMgYSBjb3JyZWN0IHZhbGlkIGRhdGUgc3RyaW5nLgorUEFTUyAiMjAw
OS0xMi0zMSIgaXMgYSBjb3JyZWN0IHZhbGlkIGRhdGUgc3RyaW5nLgorUEFTUyAiMjAwOC0wMi0y
OSIgaXMgYSBjb3JyZWN0IHZhbGlkIGRhdGUgc3RyaW5nLgorUEFTUyAiMjAwMC0wMi0yOSIgaXMg
YSBjb3JyZWN0IHZhbGlkIGRhdGUgc3RyaW5nLgorUEFTUyAiIDIwMDktMDktMDcgIiBpcyBhIGNv
cnJlY3QgaW52YWxpZCBkYXRlIHN0cmluZy4KK1BBU1MgImEiIGlzIGEgY29ycmVjdCBpbnZhbGlk
IGRhdGUgc3RyaW5nLgorUEFTUyAiLTEtMDktMDciIGlzIGEgY29ycmVjdCBpbnZhbGlkIGRhdGUg
c3RyaW5nLgorUEFTUyAiMTU4MS0wOS0wNyIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZSBzdHJp
bmcuCitQQVNTICIxNTgyLTEwLTE0IiBpcyBhIGNvcnJlY3QgaW52YWxpZCBkYXRlIHN0cmluZy4K
K1BBU1MgIjIxNDc0ODM2NDgtMTItMzEiIGlzIGEgY29ycmVjdCBpbnZhbGlkIGRhdGUgc3RyaW5n
LgorUEFTUyAiMjAwOS8wOS8wNyIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZSBzdHJpbmcuCitQ
QVNTICIyMDA5MDkwNyIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZSBzdHJpbmcuCitQQVNTICIy
MDA5LS0yLTA3IiBpcyBhIGNvcnJlY3QgaW52YWxpZCBkYXRlIHN0cmluZy4KK1BBU1MgIjIwMDkt
MDAtMDciIGlzIGEgY29ycmVjdCBpbnZhbGlkIGRhdGUgc3RyaW5nLgorUEFTUyAiMjAwOS0xMy0w
NyIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZSBzdHJpbmcuCitQQVNTICIxNTgyLTA5LTMwIiBp
cyBhIGNvcnJlY3QgaW52YWxpZCBkYXRlIHN0cmluZy4KK1BBU1MgIjIwMDkteHgtMzAiIGlzIGEg
Y29ycmVjdCBpbnZhbGlkIGRhdGUgc3RyaW5nLgorUEFTUyAiMjAwOS0wMS0zMiIgaXMgYSBjb3Jy
ZWN0IGludmFsaWQgZGF0ZSBzdHJpbmcuCitQQVNTICIyMDA5LTAyLTI5IiBpcyBhIGNvcnJlY3Qg
aW52YWxpZCBkYXRlIHN0cmluZy4KK1BBU1MgIjIwMDktMDMtMzIiIGlzIGEgY29ycmVjdCBpbnZh
bGlkIGRhdGUgc3RyaW5nLgorUEFTUyAiMjAwOS0wNC0zMSIgaXMgYSBjb3JyZWN0IGludmFsaWQg
ZGF0ZSBzdHJpbmcuCitQQVNTICIyMDA5LTA1LTMyIiBpcyBhIGNvcnJlY3QgaW52YWxpZCBkYXRl
IHN0cmluZy4KK1BBU1MgIjIwMDktMDYtMzEiIGlzIGEgY29ycmVjdCBpbnZhbGlkIGRhdGUgc3Ry
aW5nLgorUEFTUyAiMjAwOS0wNy0zMiIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZSBzdHJpbmcu
CitQQVNTICIyMDA5LTA4LTMyIiBpcyBhIGNvcnJlY3QgaW52YWxpZCBkYXRlIHN0cmluZy4KK1BB
U1MgIjIwMDktMDktMzEiIGlzIGEgY29ycmVjdCBpbnZhbGlkIGRhdGUgc3RyaW5nLgorUEFTUyAi
MjAwOS0xMC0zMiIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZSBzdHJpbmcuCitQQVNTICIyMDA5
LTExLTMxIiBpcyBhIGNvcnJlY3QgaW52YWxpZCBkYXRlIHN0cmluZy4KK1BBU1MgIjIwMDktMTIt
MzIiIGlzIGEgY29ycmVjdCBpbnZhbGlkIGRhdGUgc3RyaW5nLgorUEFTUyAiMjEwMC0wMi0yOSIg
aXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZSBzdHJpbmcuCitQQVNTICIyMDA5LTA5LTAwIiBpcyBh
IGNvcnJlY3QgaW52YWxpZCBkYXRlIHN0cmluZy4KK1BBU1MgIjIwMDktMDktIiBpcyBhIGNvcnJl
Y3QgaW52YWxpZCBkYXRlIHN0cmluZy4KK1BBU1MgIjIwMDktMDktNyIgaXMgYSBjb3JyZWN0IGlu
dmFsaWQgZGF0ZSBzdHJpbmcuCitQQVNTICIyMDA5LTA5LTAwMSIgaXMgYSBjb3JyZWN0IGludmFs
aWQgZGF0ZSBzdHJpbmcuCitQQVNTICIyMDA5LTA5LXh4IiBpcyBhIGNvcnJlY3QgaW52YWxpZCBk
YXRlIHN0cmluZy4KK1BBU1MgIjIwMDktMDkiIGlzIGEgY29ycmVjdCBpbnZhbGlkIGRhdGUgc3Ry
aW5nLgorUEFTUyAiMjAwOSIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZSBzdHJpbmcuCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1kYXRl
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNo
LWRhdGUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42Njg2YWUxCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5
cGVNaXNtYXRjaC1kYXRlLmh0bWwKQEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0i
c3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5j
c3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvVmFsaWRp
dHlTdGF0ZS10eXBlTWlzbWF0Y2gtZGF0ZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0
ZS10eXBlTWlzbWF0Y2gtZGF0ZXRpbWUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1kYXRldGltZS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWM1N2NlMQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtZGF0
ZXRpbWUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzkgQEAKK1RoaXMgdGVzdCBhaW1zIHRvIGNo
ZWNrIGZvciB0eXBlTWlzbWF0Y2ggZmxhZyB3aXRoIHR5cGU9ZGF0ZXRpbWUgaW5wdXQgZmllbGRz
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTICIiIGlzIGEgY29ycmVjdCB2
YWxpZCBkYXRldGltZSBzdHJpbmcuCitQQVNTICIyMDA5LTA5LTA3VDE2OjQ5WiIgaXMgYSBjb3Jy
ZWN0IHZhbGlkIGRhdGV0aW1lIHN0cmluZy4KK1BBU1MgIjIwMDktMDktMDdUMTY6NDk6MzFaIiBp
cyBhIGNvcnJlY3QgdmFsaWQgZGF0ZXRpbWUgc3RyaW5nLgorUEFTUyAiMjAwOS0wOS0wN1QxNjo0
OTozMS4xWiIgaXMgYSBjb3JyZWN0IHZhbGlkIGRhdGV0aW1lIHN0cmluZy4KK1BBU1MgIjIwMDkt
MDktMDdUMTY6NDk6MzEuMTJaIiBpcyBhIGNvcnJlY3QgdmFsaWQgZGF0ZXRpbWUgc3RyaW5nLgor
UEFTUyAiMjAwOS0wOS0wN1QxNjo0OTozMS4xMjNaIiBpcyBhIGNvcnJlY3QgdmFsaWQgZGF0ZXRp
bWUgc3RyaW5nLgorUEFTUyAiMjAwOS0wOS0wN1QxNjo0OTozMS4xMjM0NTY3ODkwWiIgaXMgYSBj
b3JyZWN0IHZhbGlkIGRhdGV0aW1lIHN0cmluZy4KK1BBU1MgIjIxNDc0ODM2NDctMTItMzFUMjM6
NTk6NTkuOTk5WiIgaXMgYSBjb3JyZWN0IHZhbGlkIGRhdGV0aW1lIHN0cmluZy4KK1BBU1MgIjE1
ODItMTAtMTVUMDA6MDA6MDAuMDAwWiIgaXMgYSBjb3JyZWN0IHZhbGlkIGRhdGV0aW1lIHN0cmlu
Zy4KK1BBU1MgIjE1ODItMTAtMTVUMDA6MDA6MDAuMDAwKzAwOjAwIiBpcyBhIGNvcnJlY3QgdmFs
aWQgZGF0ZXRpbWUgc3RyaW5nLgorUEFTUyAiMTU4Mi0xMC0xNVQwMTozMCswMTozMCIgaXMgYSBj
b3JyZWN0IHZhbGlkIGRhdGV0aW1lIHN0cmluZy4KK1BBU1MgIjE1ODItMTAtMTVUMDA6MDArMDE6
MDAiIGlzIGEgY29ycmVjdCB2YWxpZCBkYXRldGltZSBzdHJpbmcuCitQQVNTICIgMjAwOS0wOS0w
N1QxNjo0OVogIiBpcyBhIGNvcnJlY3QgaW52YWxpZCBkYXRldGltZSBzdHJpbmcuCitQQVNTICIy
MDA5LTA5LTA3VDE2OjQ5eiIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZXRpbWUgc3RyaW5nLgor
UEFTUyAiMjAwOS0wOS0wN3QxNjo0OVoiIGlzIGEgY29ycmVjdCBpbnZhbGlkIGRhdGV0aW1lIHN0
cmluZy4KK1BBU1MgIjIwMDktMDktMDdUMTY6NDkiIGlzIGEgY29ycmVjdCBpbnZhbGlkIGRhdGV0
aW1lIHN0cmluZy4KK1BBU1MgIjIwMDkvMDkvMDdUMTY6NDlaIiBpcyBhIGNvcnJlY3QgaW52YWxp
ZCBkYXRldGltZSBzdHJpbmcuCitQQVNTICJhIiBpcyBhIGNvcnJlY3QgaW52YWxpZCBkYXRldGlt
ZSBzdHJpbmcuCitQQVNTICItMS0wOS0wN1QxNjo0OVoiIGlzIGEgY29ycmVjdCBpbnZhbGlkIGRh
dGV0aW1lIHN0cmluZy4KK1BBU1MgIjIwMDktMDktMDdUMTY6NDkrMjMiIGlzIGEgY29ycmVjdCBp
bnZhbGlkIGRhdGV0aW1lIHN0cmluZy4KK1BBU1MgIjIwMDktMDktMDdUMTY6NDkrMjM6IiBpcyBh
IGNvcnJlY3QgaW52YWxpZCBkYXRldGltZSBzdHJpbmcuCitQQVNTICIyMDA5LTA5LTA3VDE2OjQ5
KzI0OjAwIiBpcyBhIGNvcnJlY3QgaW52YWxpZCBkYXRldGltZSBzdHJpbmcuCitQQVNTICIyMDA5
LTA5LTA3VDE2OjQ5KzIzOjYwIiBpcyBhIGNvcnJlY3QgaW52YWxpZCBkYXRldGltZSBzdHJpbmcu
CitQQVNTICIyMDA5LTA5LTA3VDE2OjQ5LTIzIiBpcyBhIGNvcnJlY3QgaW52YWxpZCBkYXRldGlt
ZSBzdHJpbmcuCitQQVNTICIyMDA5LTA5LTA3VDE2OjQ5LTIzOiIgaXMgYSBjb3JyZWN0IGludmFs
aWQgZGF0ZXRpbWUgc3RyaW5nLgorUEFTUyAiMjAwOS0wOS0wN1QxNjo0OS0yNDowMCIgaXMgYSBj
b3JyZWN0IGludmFsaWQgZGF0ZXRpbWUgc3RyaW5nLgorUEFTUyAiMjAwOS0wOS0wN1QxNjo0OS0y
Mzo2MCIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZXRpbWUgc3RyaW5nLgorUEFTUyAiMTU4Mi0x
MC0xNFQyMzo1OTo1OVoiIGlzIGEgY29ycmVjdCBpbnZhbGlkIGRhdGV0aW1lIHN0cmluZy4KK1BB
U1MgIjIxNDc0ODM2NDctMTItMzFUMjM6NTktMDA6MDEiIGlzIGEgY29ycmVjdCBpbnZhbGlkIGRh
dGV0aW1lIHN0cmluZy4KK1BBU1MgIjIxNDc0ODM2NDgtMDEtMDFUMDA6MDA6MDBaIiBpcyBhIGNv
cnJlY3QgaW52YWxpZCBkYXRldGltZSBzdHJpbmcuCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1kYXRldGltZS5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1kYXRldGltZS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkwNjNlN2MKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLWRh
dGV0aW1lLmh0bWwKQEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVl
dCIgaHJlZj0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvVmFsaWRpdHlTdGF0ZS10
eXBlTWlzbWF0Y2gtZGF0ZXRpbWUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zh
c3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlw
ZU1pc21hdGNoLWRhdGV0aW1lbG9jYWwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1kYXRldGltZWxvY2FsLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ODk3ZDA2Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRj
aC1kYXRldGltZWxvY2FsLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDI2IEBACitUaGlzIHRlc3Qg
YWltcyB0byBjaGVjayBmb3IgdHlwZU1pc21hdGNoIGZsYWcgd2l0aCB0eXBlPWRhdGV0aW1lLWxv
Y2FsIGlucHV0IGZpZWxkcworCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyAi
IiBpcyBhIGNvcnJlY3QgdmFsaWQgZGF0ZXRpbWUtbG9jYWwgc3RyaW5nLgorUEFTUyAiMjAwOS0w
OS0wN1QxNjo0OSIgaXMgYSBjb3JyZWN0IHZhbGlkIGRhdGV0aW1lLWxvY2FsIHN0cmluZy4KK1BB
U1MgIjIwMDktMDktMDdUMTY6NDk6MzEiIGlzIGEgY29ycmVjdCB2YWxpZCBkYXRldGltZS1sb2Nh
bCBzdHJpbmcuCitQQVNTICIyMDA5LTA5LTA3VDE2OjQ5OjMxLjEiIGlzIGEgY29ycmVjdCB2YWxp
ZCBkYXRldGltZS1sb2NhbCBzdHJpbmcuCitQQVNTICIyMDA5LTA5LTA3VDE2OjQ5OjMxLjEyIiBp
cyBhIGNvcnJlY3QgdmFsaWQgZGF0ZXRpbWUtbG9jYWwgc3RyaW5nLgorUEFTUyAiMjAwOS0wOS0w
N1QxNjo0OTozMS4xMjMiIGlzIGEgY29ycmVjdCB2YWxpZCBkYXRldGltZS1sb2NhbCBzdHJpbmcu
CitQQVNTICIyMDA5LTA5LTA3VDE2OjQ5OjMxLjEyMzQ1Njc4OTAiIGlzIGEgY29ycmVjdCB2YWxp
ZCBkYXRldGltZS1sb2NhbCBzdHJpbmcuCitQQVNTICIyMTQ3NDgzNjQ3LTEyLTMxVDIzOjU5OjU5
Ljk5OSIgaXMgYSBjb3JyZWN0IHZhbGlkIGRhdGV0aW1lLWxvY2FsIHN0cmluZy4KK1BBU1MgIjE1
ODItMTAtMTVUMDA6MDA6MDAuMDAwIiBpcyBhIGNvcnJlY3QgdmFsaWQgZGF0ZXRpbWUtbG9jYWwg
c3RyaW5nLgorUEFTUyAiIDIwMDktMDktMDdUMTY6NDkgIiBpcyBhIGNvcnJlY3QgaW52YWxpZCBk
YXRldGltZS1sb2NhbCBzdHJpbmcuCitQQVNTICIyMDA5LTA5LTA3dDE2OjQ5IiBpcyBhIGNvcnJl
Y3QgaW52YWxpZCBkYXRldGltZS1sb2NhbCBzdHJpbmcuCitQQVNTICIyMDA5LTA5LTA3IDE2OjQ5
IiBpcyBhIGNvcnJlY3QgaW52YWxpZCBkYXRldGltZS1sb2NhbCBzdHJpbmcuCitQQVNTICIyMDA5
LzA5LzA3VDE2OjQ5IiBpcyBhIGNvcnJlY3QgaW52YWxpZCBkYXRldGltZS1sb2NhbCBzdHJpbmcu
CitQQVNTICJhIiBpcyBhIGNvcnJlY3QgaW52YWxpZCBkYXRldGltZS1sb2NhbCBzdHJpbmcuCitQ
QVNTICItMS0wOS0wN1QxNjo0OSIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZXRpbWUtbG9jYWwg
c3RyaW5nLgorUEFTUyAiMTU4Mi0xMC0xNFQyMzo1OTo1OSIgaXMgYSBjb3JyZWN0IGludmFsaWQg
ZGF0ZXRpbWUtbG9jYWwgc3RyaW5nLgorUEFTUyAiMjE0NzQ4MzY0OC0wMS0wMVQwMDowMDowMCIg
aXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZXRpbWUtbG9jYWwgc3RyaW5nLgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtZGF0ZXRpbWVsb2Nh
bC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRj
aC1kYXRldGltZWxvY2FsLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u
NjI1YWJjYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRp
dHlTdGF0ZS10eXBlTWlzbWF0Y2gtZGF0ZXRpbWVsb2NhbC5odG1sCkBAIC0wLDAgKzEsMTMgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2Zhc3QvanMvcmVzb3Vy
Y2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJk
ZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0i
c2NyaXB0LXRlc3RzL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLWRhdGV0aW1lbG9jYWwuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLW1vbnRoLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gt
bW9udGgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRh
YjhlNGYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5
U3RhdGUtdHlwZU1pc21hdGNoLW1vbnRoLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQxIEBACitU
aGlzIHRlc3QgYWltcyB0byBjaGVjayBmb3IgdHlwZU1pc21hdGNoIGZsYWcgd2l0aCB0eXBlPW1v
bnRoIGlucHV0IGZpZWxkcworCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyAi
IiBpcyBhIGNvcnJlY3QgdmFsaWQgbW9udGggc3RyaW5nLgorUEFTUyAiMTU4Mi0xMCIgaXMgYSBj
b3JyZWN0IHZhbGlkIG1vbnRoIHN0cmluZy4KK1BBU1MgIjk5OTktMTIiIGlzIGEgY29ycmVjdCB2
YWxpZCBtb250aCBzdHJpbmcuCitQQVNTICIyMTQ3NDgzNjQ3LTEyIiBpcyBhIGNvcnJlY3QgdmFs
aWQgbW9udGggc3RyaW5nLgorUEFTUyAiMjAwOS0wMSIgaXMgYSBjb3JyZWN0IHZhbGlkIG1vbnRo
IHN0cmluZy4KK1BBU1MgIjIwMDktMDIiIGlzIGEgY29ycmVjdCB2YWxpZCBtb250aCBzdHJpbmcu
CitQQVNTICIyMDA5LTAzIiBpcyBhIGNvcnJlY3QgdmFsaWQgbW9udGggc3RyaW5nLgorUEFTUyAi
MjAwOS0wNCIgaXMgYSBjb3JyZWN0IHZhbGlkIG1vbnRoIHN0cmluZy4KK1BBU1MgIjIwMDktMDUi
IGlzIGEgY29ycmVjdCB2YWxpZCBtb250aCBzdHJpbmcuCitQQVNTICIyMDA5LTA2IiBpcyBhIGNv
cnJlY3QgdmFsaWQgbW9udGggc3RyaW5nLgorUEFTUyAiMjAwOS0wNyIgaXMgYSBjb3JyZWN0IHZh
bGlkIG1vbnRoIHN0cmluZy4KK1BBU1MgIjIwMDktMDgiIGlzIGEgY29ycmVjdCB2YWxpZCBtb250
aCBzdHJpbmcuCitQQVNTICIyMDA5LTA5IiBpcyBhIGNvcnJlY3QgdmFsaWQgbW9udGggc3RyaW5n
LgorUEFTUyAiMjAwOS0xMCIgaXMgYSBjb3JyZWN0IHZhbGlkIG1vbnRoIHN0cmluZy4KK1BBU1Mg
IjIwMDktMTEiIGlzIGEgY29ycmVjdCB2YWxpZCBtb250aCBzdHJpbmcuCitQQVNTICIyMDA5LTEy
IiBpcyBhIGNvcnJlY3QgdmFsaWQgbW9udGggc3RyaW5nLgorUEFTUyAiIDIwMDktMDkgIiBpcyBh
IGNvcnJlY3QgaW52YWxpZCBtb250aCBzdHJpbmcuCitQQVNTICJhIiBpcyBhIGNvcnJlY3QgaW52
YWxpZCBtb250aCBzdHJpbmcuCitQQVNTICItMS0wOSIgaXMgYSBjb3JyZWN0IGludmFsaWQgbW9u
dGggc3RyaW5nLgorUEFTUyAiMTU4MS0xMCIgaXMgYSBjb3JyZWN0IGludmFsaWQgbW9udGggc3Ry
aW5nLgorUEFTUyAiMTU4Mi0wOSIgaXMgYSBjb3JyZWN0IGludmFsaWQgbW9udGggc3RyaW5nLgor
UEFTUyAiMjE0NzQ4MzY0OC0xMiIgaXMgYSBjb3JyZWN0IGludmFsaWQgbW9udGggc3RyaW5nLgor
UEFTUyAiMjAwOS8wOSIgaXMgYSBjb3JyZWN0IGludmFsaWQgbW9udGggc3RyaW5nLgorUEFTUyAi
MjAwOTA5IiBpcyBhIGNvcnJlY3QgaW52YWxpZCBtb250aCBzdHJpbmcuCitQQVNTICIyMDA5LS0y
IiBpcyBhIGNvcnJlY3QgaW52YWxpZCBtb250aCBzdHJpbmcuCitQQVNTICIyMDA5LTAwIiBpcyBh
IGNvcnJlY3QgaW52YWxpZCBtb250aCBzdHJpbmcuCitQQVNTICIyMDA5LTEzIiBpcyBhIGNvcnJl
Y3QgaW52YWxpZCBtb250aCBzdHJpbmcuCitQQVNTICIyMDA5LSIgaXMgYSBjb3JyZWN0IGludmFs
aWQgbW9udGggc3RyaW5nLgorUEFTUyAiMjAwOS05IiBpcyBhIGNvcnJlY3QgaW52YWxpZCBtb250
aCBzdHJpbmcuCitQQVNTICIyMDA5LTAwOSIgaXMgYSBjb3JyZWN0IGludmFsaWQgbW9udGggc3Ry
aW5nLgorUEFTUyAiMjAwOS14eCIgaXMgYSBjb3JyZWN0IGludmFsaWQgbW9udGggc3RyaW5nLgor
UEFTUyAiMjAwOSIgaXMgYSBjb3JyZWN0IGludmFsaWQgbW9udGggc3RyaW5nLgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtbW9udGguaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtbW9u
dGguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMjY5ZDM5Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVN
aXNtYXRjaC1tb250aC5odG1sCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0
eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3Nz
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL1ZhbGlkaXR5
U3RhdGUtdHlwZU1pc21hdGNoLW1vbnRoLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRl
LXR5cGVNaXNtYXRjaC10aW1lLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
VmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtdGltZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmYwYTA2OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtdGltZS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzOSBAQAorVGhpcyB0ZXN0IGFpbXMgdG8gY2hlY2sgZm9yIHR5cGVN
aXNtYXRjaCBmbGFnIHdpdGggdHlwZT10aW1lIGlucHV0IGZpZWxkcworCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKKworUEFTUyAiIiBpcyBhIGNvcnJlY3QgdmFsaWQgdGltZSBzdHJpbmcu
CitQQVNTICIwMDowMCIgaXMgYSBjb3JyZWN0IHZhbGlkIHRpbWUgc3RyaW5nLgorUEFTUyAiMjM6
NTkiIGlzIGEgY29ycmVjdCB2YWxpZCB0aW1lIHN0cmluZy4KK1BBU1MgIjIzOjU5OjU5IiBpcyBh
IGNvcnJlY3QgdmFsaWQgdGltZSBzdHJpbmcuCitQQVNTICIyMzo1OTo1OS4xIiBpcyBhIGNvcnJl
Y3QgdmFsaWQgdGltZSBzdHJpbmcuCitQQVNTICIyMzo1OTo1OS4xMiIgaXMgYSBjb3JyZWN0IHZh
bGlkIHRpbWUgc3RyaW5nLgorUEFTUyAiMjM6NTk6NTkuMTIzIiBpcyBhIGNvcnJlY3QgdmFsaWQg
dGltZSBzdHJpbmcuCitQQVNTICIyMzo1OTo1OS4xMjM0NTY3ODkwIiBpcyBhIGNvcnJlY3QgdmFs
aWQgdGltZSBzdHJpbmcuCitQQVNTICIwMDowMDowMC4wMDAwMDAwMDAwIiBpcyBhIGNvcnJlY3Qg
dmFsaWQgdGltZSBzdHJpbmcuCitQQVNTICIgMDA6MDAgIiBpcyBhIGNvcnJlY3QgaW52YWxpZCB0
aW1lIHN0cmluZy4KK1BBU1MgIjE6MjMiIGlzIGEgY29ycmVjdCBpbnZhbGlkIHRpbWUgc3RyaW5n
LgorUEFTUyAiMDExOjExIiBpcyBhIGNvcnJlY3QgaW52YWxpZCB0aW1lIHN0cmluZy4KK1BBU1Mg
ImFiOjExIiBpcyBhIGNvcnJlY3QgaW52YWxpZCB0aW1lIHN0cmluZy4KK1BBU1MgIi0xOjExIiBp
cyBhIGNvcnJlY3QgaW52YWxpZCB0aW1lIHN0cmluZy4KK1BBU1MgIjI0OjExIiBpcyBhIGNvcnJl
Y3QgaW52YWxpZCB0aW1lIHN0cmluZy4KK1BBU1MgIjExIiBpcyBhIGNvcnJlY3QgaW52YWxpZCB0
aW1lIHN0cmluZy4KK1BBU1MgIjExLSIgaXMgYSBjb3JyZWN0IGludmFsaWQgdGltZSBzdHJpbmcu
CitQQVNTICIxMTotMiIgaXMgYSBjb3JyZWN0IGludmFsaWQgdGltZSBzdHJpbmcuCitQQVNTICIx
MTo2MCIgaXMgYSBjb3JyZWN0IGludmFsaWQgdGltZSBzdHJpbmcuCitQQVNTICIxMToyYiIgaXMg
YSBjb3JyZWN0IGludmFsaWQgdGltZSBzdHJpbmcuCitQQVNTICIxMTphYiIgaXMgYSBjb3JyZWN0
IGludmFsaWQgdGltZSBzdHJpbmcuCitQQVNTICIxMTowMzQiIGlzIGEgY29ycmVjdCBpbnZhbGlk
IHRpbWUgc3RyaW5nLgorUEFTUyAiMjM6NDU6IiBpcyBhIGNvcnJlY3QgaW52YWxpZCB0aW1lIHN0
cmluZy4KK1BBU1MgIjIzOjQ1OjYiIGlzIGEgY29ycmVjdCBpbnZhbGlkIHRpbWUgc3RyaW5nLgor
UEFTUyAiMjM6NDU6LTEiIGlzIGEgY29ycmVjdCBpbnZhbGlkIHRpbWUgc3RyaW5nLgorUEFTUyAi
MjM6NDU6NzAiIGlzIGEgY29ycmVjdCBpbnZhbGlkIHRpbWUgc3RyaW5nLgorUEFTUyAiMjM6NDU6
enoiIGlzIGEgY29ycmVjdCBpbnZhbGlkIHRpbWUgc3RyaW5nLgorRkFJTCAiMjM6NDU6MDYuIiBp
cyBhbiBpbmNvcnJlY3QgdmFsaWQgdGltZSBzdHJpbmcuCitQQVNTICIyMzo0NTowNi5hYmMiIGlz
IGEgY29ycmVjdCBpbnZhbGlkIHRpbWUgc3RyaW5nLgorUEFTUyAiMjM6NDU6MDYuNzg5YWJjIiBp
cyBhIGNvcnJlY3QgaW52YWxpZCB0aW1lIHN0cmluZy4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLXRpbWUuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtdGltZS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc2NDEyOWEKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLXRpbWUuaHRt
bApAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBI
VE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIu
Li8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRj
aC10aW1lLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC13ZWVr
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBl
TWlzbWF0Y2gtd2Vlay1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMC4uZGY5YTI2YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
VmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtd2Vlay1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
NSBAQAorVGhpcyB0ZXN0IGFpbXMgdG8gY2hlY2sgZm9yIHR5cGVNaXNtYXRjaCBmbGFnIHdpdGgg
dHlwZT13ZWVrIGlucHV0IGZpZWxkcworCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKwor
UEFTUyAiIiBpcyBhIGNvcnJlY3QgdmFsaWQgd2VlayBzdHJpbmcuCitQQVNTICIxNTgzLVcwMSIg
aXMgYSBjb3JyZWN0IHZhbGlkIHdlZWsgc3RyaW5nLgorUEFTUyAiOTk5OS1XNTIiIGlzIGEgY29y
cmVjdCB2YWxpZCB3ZWVrIHN0cmluZy4KK1BBU1MgIjIxNDc0ODM2NDctVzUyIiBpcyBhIGNvcnJl
Y3QgdmFsaWQgd2VlayBzdHJpbmcuCitQQVNTICIyMDA5LVcwMSIgaXMgYSBjb3JyZWN0IHZhbGlk
IHdlZWsgc3RyaW5nLgorUEFTUyAiMjAwNC1XNTMiIGlzIGEgY29ycmVjdCB2YWxpZCB3ZWVrIHN0
cmluZy4KK1BBU1MgIjIwMDMtVzUyIiBpcyBhIGNvcnJlY3QgdmFsaWQgd2VlayBzdHJpbmcuCitQ
QVNTICIxOTkyLVc1MyIgaXMgYSBjb3JyZWN0IHZhbGlkIHdlZWsgc3RyaW5nLgorUEFTUyAiIDIw
MDktVzAxICIgaXMgYSBjb3JyZWN0IGludmFsaWQgd2VlayBzdHJpbmcuCitQQVNTICIyMDA5VzAx
IiBpcyBhIGNvcnJlY3QgaW52YWxpZCB3ZWVrIHN0cmluZy4KK1BBU1MgIjIwMDktdzAxIiBpcyBh
IGNvcnJlY3QgaW52YWxpZCB3ZWVrIHN0cmluZy4KK1BBU1MgIjIwMDktVzEiIGlzIGEgY29ycmVj
dCBpbnZhbGlkIHdlZWsgc3RyaW5nLgorUEFTUyAiMjAwOS1XMDAxIiBpcyBhIGNvcnJlY3QgaW52
YWxpZCB3ZWVrIHN0cmluZy4KK1BBU1MgImEiIGlzIGEgY29ycmVjdCBpbnZhbGlkIHdlZWsgc3Ry
aW5nLgorUEFTUyAiLTEtVzA5IiBpcyBhIGNvcnJlY3QgaW52YWxpZCB3ZWVrIHN0cmluZy4KK1BB
U1MgIjE1ODItVzUyIiBpcyBhIGNvcnJlY3QgaW52YWxpZCB3ZWVrIHN0cmluZy4KK1BBU1MgIjIx
NDc0ODM2NDgtVzAxIiBpcyBhIGNvcnJlY3QgaW52YWxpZCB3ZWVrIHN0cmluZy4KK1BBU1MgIjIw
MDktVzAwIiBpcyBhIGNvcnJlY3QgaW52YWxpZCB3ZWVrIHN0cmluZy4KK1BBU1MgIjIwMDktVy0x
IiBpcyBhIGNvcnJlY3QgaW52YWxpZCB3ZWVrIHN0cmluZy4KK1BBU1MgIjIwMDQtVzU0IiBpcyBh
IGNvcnJlY3QgaW52YWxpZCB3ZWVrIHN0cmluZy4KK1BBU1MgIjIwMDMtVzUzIiBpcyBhIGNvcnJl
Y3QgaW52YWxpZCB3ZWVrIHN0cmluZy4KK1BBU1MgIjE5OTItVzU0IiBpcyBhIGNvcnJlY3QgaW52
YWxpZCB3ZWVrIHN0cmluZy4KK1BBU1MgIjIwMDkvMDkiIGlzIGEgY29ycmVjdCBpbnZhbGlkIHdl
ZWsgc3RyaW5nLgorUEFTUyAiMjAwOTA5IiBpcyBhIGNvcnJlY3QgaW52YWxpZCB3ZWVrIHN0cmlu
Zy4KK1BBU1MgIjIwMDktV3h4IiBpcyBhIGNvcnJlY3QgaW52YWxpZCB3ZWVrIHN0cmluZy4KK1BB
U1MgIjIwMDkiIGlzIGEgY29ycmVjdCBpbnZhbGlkIHdlZWsgc3RyaW5nLgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtd2Vlay5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC13ZWVrLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTU4OTdhMgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0
Y2gtd2Vlay5odG1sCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hl
ZXQiIGhyZWY9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL1ZhbGlkaXR5U3RhdGUt
dHlwZU1pc21hdGNoLXdlZWsuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3Qv
anMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9WYWxpZGl0
eVN0YXRlLXR5cGVNaXNtYXRjaC1kYXRlLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3Jp
cHQtdGVzdHMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtZGF0ZS5qcwpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYjdhY2RiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gt
ZGF0ZS5qcwpAQCAtMCwwICsxLDczIEBACitkZXNjcmlwdGlvbignVGhpcyB0ZXN0IGFpbXMgdG8g
Y2hlY2sgZm9yIHR5cGVNaXNtYXRjaCBmbGFnIHdpdGggdHlwZT1kYXRlIGlucHV0IGZpZWxkcycp
OwordmFyIGkgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpOworaS50eXBlID0gJ2Rh
dGUnOworCitmdW5jdGlvbiBjaGVjayh2YWx1ZSwgbWlzbWF0Y2hFeHBlY3RlZCkKK3sKKyAgICBp
LnZhbHVlID0gdmFsdWU7CisgICAgdmFyIGFjdHVhbCA9IGkudmFsaWRpdHkudHlwZU1pc21hdGNo
OworICAgIHZhciBkaWRQYXNzID0gYWN0dWFsID09IG1pc21hdGNoRXhwZWN0ZWQ7CisgICAgdmFy
IHJlc3VsdFRleHQgPSAnIicgKyB2YWx1ZSArICciIGlzICcgKyAoZGlkUGFzcyA/ICdhIGNvcnJl
Y3QgJyA6ICdhbiBpbmNvcnJlY3QgJykgKyAoYWN0dWFsID8gJ2ludmFsaWQnIDogJ3ZhbGlkJykg
KyAnIGRhdGUgc3RyaW5nLic7CisgICAgaWYgKGRpZFBhc3MpCisgICAgICAgIHRlc3RQYXNzZWQo
cmVzdWx0VGV4dCk7CisgICAgZWxzZQorICAgICAgICB0ZXN0RmFpbGVkKHJlc3VsdFRleHQpOwor
fQorCisvLyBWYWxpZCB2YWx1ZXMKK2NoZWNrKCcnLCBmYWxzZSk7CitjaGVjaygnMjAwOS0wOS0w
NycsIGZhbHNlKTsKK2NoZWNrKCc5OTk5LTEyLTMxJywgZmFsc2UpOworY2hlY2soJzIxNDc0ODM2
NDctMTItMzEnLCBmYWxzZSk7CitjaGVjaygnMTU4Mi0xMC0xNScsIGZhbHNlKTsKK2NoZWNrKCcy
MDA5LTAxLTMxJywgZmFsc2UpOworY2hlY2soJzIwMDktMDItMjgnLCBmYWxzZSk7CitjaGVjaygn
MjAwOS0wMy0zMScsIGZhbHNlKTsKK2NoZWNrKCcyMDA5LTA0LTMwJywgZmFsc2UpOworY2hlY2so
JzIwMDktMDUtMzEnLCBmYWxzZSk7CitjaGVjaygnMjAwOS0wNi0zMCcsIGZhbHNlKTsKK2NoZWNr
KCcyMDA5LTA3LTMxJywgZmFsc2UpOworY2hlY2soJzIwMDktMDgtMzEnLCBmYWxzZSk7CitjaGVj
aygnMjAwOS0wOS0zMCcsIGZhbHNlKTsKK2NoZWNrKCcyMDA5LTEwLTMxJywgZmFsc2UpOworY2hl
Y2soJzIwMDktMTEtMzAnLCBmYWxzZSk7CitjaGVjaygnMjAwOS0xMi0zMScsIGZhbHNlKTsKK2No
ZWNrKCcyMDA4LTAyLTI5JywgZmFsc2UpOworY2hlY2soJzIwMDAtMDItMjknLCBmYWxzZSk7CisK
Ky8vIEludmFsaWQgdmFsdWVzCitjaGVjaygnIDIwMDktMDktMDcgJywgdHJ1ZSk7CitjaGVjaygn
YScsIHRydWUpOworY2hlY2soJy0xLTA5LTA3JywgdHJ1ZSk7CitjaGVjaygnMTU4MS0wOS0wNycs
IHRydWUpOworY2hlY2soJzE1ODItMTAtMTQnLCB0cnVlKTsKK2NoZWNrKCcyMTQ3NDgzNjQ4LTEy
LTMxJywgdHJ1ZSk7CitjaGVjaygnMjAwOS8wOS8wNycsIHRydWUpOworY2hlY2soJzIwMDkwOTA3
JywgdHJ1ZSk7CitjaGVjaygnMjAwOS0tMi0wNycsIHRydWUpOworY2hlY2soJzIwMDktMDAtMDcn
LCB0cnVlKTsKK2NoZWNrKCcyMDA5LTEzLTA3JywgdHJ1ZSk7CitjaGVjaygnMTU4Mi0wOS0zMCcs
IHRydWUpOworY2hlY2soJzIwMDkteHgtMzAnLCB0cnVlKTsKK2NoZWNrKCcyMDA5LTAxLTMyJywg
dHJ1ZSk7CitjaGVjaygnMjAwOS0wMi0yOScsIHRydWUpOworY2hlY2soJzIwMDktMDMtMzInLCB0
cnVlKTsKK2NoZWNrKCcyMDA5LTA0LTMxJywgdHJ1ZSk7CitjaGVjaygnMjAwOS0wNS0zMicsIHRy
dWUpOworY2hlY2soJzIwMDktMDYtMzEnLCB0cnVlKTsKK2NoZWNrKCcyMDA5LTA3LTMyJywgdHJ1
ZSk7CitjaGVjaygnMjAwOS0wOC0zMicsIHRydWUpOworY2hlY2soJzIwMDktMDktMzEnLCB0cnVl
KTsKK2NoZWNrKCcyMDA5LTEwLTMyJywgdHJ1ZSk7CitjaGVjaygnMjAwOS0xMS0zMScsIHRydWUp
OworY2hlY2soJzIwMDktMTItMzInLCB0cnVlKTsKK2NoZWNrKCcyMTAwLTAyLTI5JywgdHJ1ZSk7
CitjaGVjaygnMjAwOS0wOS0wMCcsIHRydWUpOworY2hlY2soJzIwMDktMDktJywgdHJ1ZSk7Citj
aGVjaygnMjAwOS0wOS03JywgdHJ1ZSk7CitjaGVjaygnMjAwOS0wOS0wMDEnLCB0cnVlKTsKK2No
ZWNrKCcyMDA5LTA5LXh4JywgdHJ1ZSk7CitjaGVjaygnMjAwOS0wOScsIHRydWUpOworY2hlY2so
JzIwMDknLCB0cnVlKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9WYWxpZGl0eVN0YXRlLXR5
cGVNaXNtYXRjaC1kYXRldGltZS5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRl
c3RzL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLWRhdGV0aW1lLmpzCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVlZDIzOTcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1k
YXRldGltZS5qcwpAQCAtMCwwICsxLDUxIEBACitkZXNjcmlwdGlvbignVGhpcyB0ZXN0IGFpbXMg
dG8gY2hlY2sgZm9yIHR5cGVNaXNtYXRjaCBmbGFnIHdpdGggdHlwZT1kYXRldGltZSBpbnB1dCBm
aWVsZHMnKTsKK3ZhciBpID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTsKK2kudHlw
ZSA9ICdkYXRldGltZSc7CisKK2Z1bmN0aW9uIGNoZWNrKHZhbHVlLCBtaXNtYXRjaEV4cGVjdGVk
KQoreworICAgIGkudmFsdWUgPSB2YWx1ZTsKKyAgICB2YXIgYWN0dWFsID0gaS52YWxpZGl0eS50
eXBlTWlzbWF0Y2g7CisgICAgdmFyIGRpZFBhc3MgPSBhY3R1YWwgPT0gbWlzbWF0Y2hFeHBlY3Rl
ZDsKKyAgICB2YXIgcmVzdWx0VGV4dCA9ICciJyArIHZhbHVlICsgJyIgaXMgJyArIChkaWRQYXNz
ID8gJ2EgY29ycmVjdCAnIDogJ2FuIGluY29ycmVjdCAnKSArIChhY3R1YWwgPyAnaW52YWxpZCcg
OiAndmFsaWQnKSArICcgZGF0ZXRpbWUgc3RyaW5nLic7CisgICAgaWYgKGRpZFBhc3MpCisgICAg
ICAgIHRlc3RQYXNzZWQocmVzdWx0VGV4dCk7CisgICAgZWxzZQorICAgICAgICB0ZXN0RmFpbGVk
KHJlc3VsdFRleHQpOworfQorCisvLyBWYWxpZCB2YWx1ZXMKK2NoZWNrKCcnLCBmYWxzZSk7Citj
aGVjaygnMjAwOS0wOS0wN1QxNjo0OVonLCBmYWxzZSk7CitjaGVjaygnMjAwOS0wOS0wN1QxNjo0
OTozMVonLCBmYWxzZSk7CitjaGVjaygnMjAwOS0wOS0wN1QxNjo0OTozMS4xWicsIGZhbHNlKTsK
K2NoZWNrKCcyMDA5LTA5LTA3VDE2OjQ5OjMxLjEyWicsIGZhbHNlKTsKK2NoZWNrKCcyMDA5LTA5
LTA3VDE2OjQ5OjMxLjEyM1onLCBmYWxzZSk7CitjaGVjaygnMjAwOS0wOS0wN1QxNjo0OTozMS4x
MjM0NTY3ODkwWicsIGZhbHNlKTsKK2NoZWNrKCcyMTQ3NDgzNjQ3LTEyLTMxVDIzOjU5OjU5Ljk5
OVonLCBmYWxzZSk7CitjaGVjaygnMTU4Mi0xMC0xNVQwMDowMDowMC4wMDBaJywgZmFsc2UpOwor
Y2hlY2soJzE1ODItMTAtMTVUMDA6MDA6MDAuMDAwKzAwOjAwJywgZmFsc2UpOworY2hlY2soJzE1
ODItMTAtMTVUMDE6MzArMDE6MzAnLCBmYWxzZSk7CitjaGVjaygnMTU4Mi0xMC0xNVQwMDowMCsw
MTowMCcsIGZhbHNlKTsKKworLy8gSW52YWxpZCB2YWx1ZXMKK2NoZWNrKCcgMjAwOS0wOS0wN1Qx
Njo0OVogJywgdHJ1ZSk7CitjaGVjaygnMjAwOS0wOS0wN1QxNjo0OXonLCB0cnVlKTsKK2NoZWNr
KCcyMDA5LTA5LTA3dDE2OjQ5WicsIHRydWUpOworY2hlY2soJzIwMDktMDktMDdUMTY6NDknLCB0
cnVlKTsKK2NoZWNrKCcyMDA5LzA5LzA3VDE2OjQ5WicsIHRydWUpOworY2hlY2soJ2EnLCB0cnVl
KTsKK2NoZWNrKCctMS0wOS0wN1QxNjo0OVonLCB0cnVlKTsKK2NoZWNrKCcyMDA5LTA5LTA3VDE2
OjQ5KzIzJywgdHJ1ZSk7CitjaGVjaygnMjAwOS0wOS0wN1QxNjo0OSsyMzonLCB0cnVlKTsKK2No
ZWNrKCcyMDA5LTA5LTA3VDE2OjQ5KzI0OjAwJywgdHJ1ZSk7CitjaGVjaygnMjAwOS0wOS0wN1Qx
Njo0OSsyMzo2MCcsIHRydWUpOworY2hlY2soJzIwMDktMDktMDdUMTY6NDktMjMnLCB0cnVlKTsK
K2NoZWNrKCcyMDA5LTA5LTA3VDE2OjQ5LTIzOicsIHRydWUpOworY2hlY2soJzIwMDktMDktMDdU
MTY6NDktMjQ6MDAnLCB0cnVlKTsKK2NoZWNrKCcyMDA5LTA5LTA3VDE2OjQ5LTIzOjYwJywgdHJ1
ZSk7CitjaGVjaygnMTU4Mi0xMC0xNFQyMzo1OTo1OVonLCB0cnVlKTsKK2NoZWNrKCcyMTQ3NDgz
NjQ3LTEyLTMxVDIzOjU5LTAwOjAxJywgdHJ1ZSk7CitjaGVjaygnMjE0NzQ4MzY0OC0wMS0wMVQw
MDowMDowMFonLCB0cnVlKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9WYWxpZGl0eVN0YXRl
LXR5cGVNaXNtYXRjaC1kYXRldGltZWxvY2FsLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9z
Y3JpcHQtdGVzdHMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtZGF0ZXRpbWVsb2NhbC5qcwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NzJhMGVhCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvVmFsaWRpdHlTdGF0ZS10
eXBlTWlzbWF0Y2gtZGF0ZXRpbWVsb2NhbC5qcwpAQCAtMCwwICsxLDM4IEBACitkZXNjcmlwdGlv
bignVGhpcyB0ZXN0IGFpbXMgdG8gY2hlY2sgZm9yIHR5cGVNaXNtYXRjaCBmbGFnIHdpdGggdHlw
ZT1kYXRldGltZS1sb2NhbCBpbnB1dCBmaWVsZHMnKTsKK3ZhciBpID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgnaW5wdXQnKTsKK2kudHlwZSA9ICdkYXRldGltZS1sb2NhbCc7CisKK2Z1bmN0aW9u
IGNoZWNrKHZhbHVlLCBtaXNtYXRjaEV4cGVjdGVkKQoreworICAgIGkudmFsdWUgPSB2YWx1ZTsK
KyAgICB2YXIgYWN0dWFsID0gaS52YWxpZGl0eS50eXBlTWlzbWF0Y2g7CisgICAgdmFyIGRpZFBh
c3MgPSBhY3R1YWwgPT0gbWlzbWF0Y2hFeHBlY3RlZDsKKyAgICB2YXIgcmVzdWx0VGV4dCA9ICci
JyArIHZhbHVlICsgJyIgaXMgJyArIChkaWRQYXNzID8gJ2EgY29ycmVjdCAnIDogJ2FuIGluY29y
cmVjdCAnKSArIChhY3R1YWwgPyAnaW52YWxpZCcgOiAndmFsaWQnKSArICcgZGF0ZXRpbWUtbG9j
YWwgc3RyaW5nLic7CisgICAgaWYgKGRpZFBhc3MpCisgICAgICAgIHRlc3RQYXNzZWQocmVzdWx0
VGV4dCk7CisgICAgZWxzZQorICAgICAgICB0ZXN0RmFpbGVkKHJlc3VsdFRleHQpOworfQorCisv
LyBWYWxpZCB2YWx1ZXMKK2NoZWNrKCcnLCBmYWxzZSk7CitjaGVjaygnMjAwOS0wOS0wN1QxNjo0
OScsIGZhbHNlKTsKK2NoZWNrKCcyMDA5LTA5LTA3VDE2OjQ5OjMxJywgZmFsc2UpOworY2hlY2so
JzIwMDktMDktMDdUMTY6NDk6MzEuMScsIGZhbHNlKTsKK2NoZWNrKCcyMDA5LTA5LTA3VDE2OjQ5
OjMxLjEyJywgZmFsc2UpOworY2hlY2soJzIwMDktMDktMDdUMTY6NDk6MzEuMTIzJywgZmFsc2Up
OworY2hlY2soJzIwMDktMDktMDdUMTY6NDk6MzEuMTIzNDU2Nzg5MCcsIGZhbHNlKTsKK2NoZWNr
KCcyMTQ3NDgzNjQ3LTEyLTMxVDIzOjU5OjU5Ljk5OScsIGZhbHNlKTsKK2NoZWNrKCcxNTgyLTEw
LTE1VDAwOjAwOjAwLjAwMCcsIGZhbHNlKTsKKworLy8gSW52YWxpZCB2YWx1ZXMKK2NoZWNrKCcg
MjAwOS0wOS0wN1QxNjo0OSAnLCB0cnVlKTsKK2NoZWNrKCcyMDA5LTA5LTA3dDE2OjQ5JywgdHJ1
ZSk7CitjaGVjaygnMjAwOS0wOS0wNyAxNjo0OScsIHRydWUpOworY2hlY2soJzIwMDkvMDkvMDdU
MTY6NDknLCB0cnVlKTsKK2NoZWNrKCdhJywgdHJ1ZSk7CitjaGVjaygnLTEtMDktMDdUMTY6NDkn
LCB0cnVlKTsKK2NoZWNrKCcxNTgyLTEwLTE0VDIzOjU5OjU5JywgdHJ1ZSk7CitjaGVjaygnMjE0
NzQ4MzY0OC0wMS0wMVQwMDowMDowMCcsIHRydWUpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2Vk
ID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3Rz
L1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLW1vbnRoLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9zY3JpcHQtdGVzdHMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtbW9udGguanMKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjI1M2NmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL1ZhbGlkaXR5U3RhdGUtdHlw
ZU1pc21hdGNoLW1vbnRoLmpzCkBAIC0wLDAgKzEsNTMgQEAKK2Rlc2NyaXB0aW9uKCdUaGlzIHRl
c3QgYWltcyB0byBjaGVjayBmb3IgdHlwZU1pc21hdGNoIGZsYWcgd2l0aCB0eXBlPW1vbnRoIGlu
cHV0IGZpZWxkcycpOwordmFyIGkgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpOwor
aS50eXBlID0gJ21vbnRoJzsKKworZnVuY3Rpb24gY2hlY2sodmFsdWUsIG1pc21hdGNoRXhwZWN0
ZWQpCit7CisgICAgaS52YWx1ZSA9IHZhbHVlOworICAgIHZhciBhY3R1YWwgPSBpLnZhbGlkaXR5
LnR5cGVNaXNtYXRjaDsKKyAgICB2YXIgZGlkUGFzcyA9IGFjdHVhbCA9PSBtaXNtYXRjaEV4cGVj
dGVkOworICAgIHZhciByZXN1bHRUZXh0ID0gJyInICsgdmFsdWUgKyAnIiBpcyAnICsgKGRpZFBh
c3MgPyAnYSBjb3JyZWN0ICcgOiAnYW4gaW5jb3JyZWN0ICcpICsgKGFjdHVhbCA/ICdpbnZhbGlk
JyA6ICd2YWxpZCcpICsgJyBtb250aCBzdHJpbmcuJzsKKyAgICBpZiAoZGlkUGFzcykKKyAgICAg
ICAgdGVzdFBhc3NlZChyZXN1bHRUZXh0KTsKKyAgICBlbHNlCisgICAgICAgIHRlc3RGYWlsZWQo
cmVzdWx0VGV4dCk7Cit9CisKKy8vIFZhbGlkIHZhbHVlcworY2hlY2soJycsIGZhbHNlKTsKK2No
ZWNrKCcxNTgyLTEwJywgZmFsc2UpOworY2hlY2soJzk5OTktMTInLCBmYWxzZSk7CitjaGVjaygn
MjE0NzQ4MzY0Ny0xMicsIGZhbHNlKTsKK2NoZWNrKCcyMDA5LTAxJywgZmFsc2UpOworY2hlY2so
JzIwMDktMDInLCBmYWxzZSk7CitjaGVjaygnMjAwOS0wMycsIGZhbHNlKTsKK2NoZWNrKCcyMDA5
LTA0JywgZmFsc2UpOworY2hlY2soJzIwMDktMDUnLCBmYWxzZSk7CitjaGVjaygnMjAwOS0wNics
IGZhbHNlKTsKK2NoZWNrKCcyMDA5LTA3JywgZmFsc2UpOworY2hlY2soJzIwMDktMDgnLCBmYWxz
ZSk7CitjaGVjaygnMjAwOS0wOScsIGZhbHNlKTsKK2NoZWNrKCcyMDA5LTEwJywgZmFsc2UpOwor
Y2hlY2soJzIwMDktMTEnLCBmYWxzZSk7CitjaGVjaygnMjAwOS0xMicsIGZhbHNlKTsKKworLy8g
SW52YWxpZCB2YWx1ZXMKK2NoZWNrKCcgMjAwOS0wOSAnLCB0cnVlKTsKK2NoZWNrKCdhJywgdHJ1
ZSk7CitjaGVjaygnLTEtMDknLCB0cnVlKTsKK2NoZWNrKCcxNTgxLTEwJywgdHJ1ZSk7CitjaGVj
aygnMTU4Mi0wOScsIHRydWUpOworY2hlY2soJzIxNDc0ODM2NDgtMTInLCB0cnVlKTsKK2NoZWNr
KCcyMDA5LzA5JywgdHJ1ZSk7CitjaGVjaygnMjAwOTA5JywgdHJ1ZSk7CitjaGVjaygnMjAwOS0t
MicsIHRydWUpOworY2hlY2soJzIwMDktMDAnLCB0cnVlKTsKK2NoZWNrKCcyMDA5LTEzJywgdHJ1
ZSk7CitjaGVjaygnMjAwOS0nLCB0cnVlKTsKK2NoZWNrKCcyMDA5LTknLCB0cnVlKTsKK2NoZWNr
KCcyMDA5LTAwOScsIHRydWUpOworY2hlY2soJzIwMDkteHgnLCB0cnVlKTsKK2NoZWNrKCcyMDA5
JywgdHJ1ZSk7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvVmFsaWRpdHlTdGF0ZS10eXBlTWlz
bWF0Y2gtdGltZS5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL1ZhbGlk
aXR5U3RhdGUtdHlwZU1pc21hdGNoLXRpbWUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMC4uY2MyZGRlNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvc2NyaXB0LXRlc3RzL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLXRpbWUuanMKQEAgLTAs
MCArMSw1MSBAQAorZGVzY3JpcHRpb24oJ1RoaXMgdGVzdCBhaW1zIHRvIGNoZWNrIGZvciB0eXBl
TWlzbWF0Y2ggZmxhZyB3aXRoIHR5cGU9dGltZSBpbnB1dCBmaWVsZHMnKTsKK3ZhciBpID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTsKK2kudHlwZSA9ICd0aW1lJzsKKworZnVuY3Rp
b24gY2hlY2sodmFsdWUsIG1pc21hdGNoRXhwZWN0ZWQpCit7CisgICAgaS52YWx1ZSA9IHZhbHVl
OworICAgIHZhciBhY3R1YWwgPSBpLnZhbGlkaXR5LnR5cGVNaXNtYXRjaDsKKyAgICB2YXIgZGlk
UGFzcyA9IGFjdHVhbCA9PSBtaXNtYXRjaEV4cGVjdGVkOworICAgIHZhciByZXN1bHRUZXh0ID0g
JyInICsgdmFsdWUgKyAnIiBpcyAnICsgKGRpZFBhc3MgPyAnYSBjb3JyZWN0ICcgOiAnYW4gaW5j
b3JyZWN0ICcpICsgKGFjdHVhbCA/ICdpbnZhbGlkJyA6ICd2YWxpZCcpICsgJyB0aW1lIHN0cmlu
Zy4nOworICAgIGlmIChkaWRQYXNzKQorICAgICAgICB0ZXN0UGFzc2VkKHJlc3VsdFRleHQpOwor
ICAgIGVsc2UKKyAgICAgICAgdGVzdEZhaWxlZChyZXN1bHRUZXh0KTsKK30KKworLy8gVmFsaWQg
dmFsdWVzCitjaGVjaygnJywgZmFsc2UpOworY2hlY2soJzAwOjAwJywgZmFsc2UpOworY2hlY2so
JzIzOjU5JywgZmFsc2UpOworY2hlY2soJzIzOjU5OjU5JywgZmFsc2UpOworY2hlY2soJzIzOjU5
OjU5LjEnLCBmYWxzZSk7CitjaGVjaygnMjM6NTk6NTkuMTInLCBmYWxzZSk7CitjaGVjaygnMjM6
NTk6NTkuMTIzJywgZmFsc2UpOworY2hlY2soJzIzOjU5OjU5LjEyMzQ1Njc4OTAnLCBmYWxzZSk7
CitjaGVjaygnMDA6MDA6MDAuMDAwMDAwMDAwMCcsIGZhbHNlKTsKKworLy8gSW52YWxpZCB2YWx1
ZXMKK2NoZWNrKCcgMDA6MDAgJywgdHJ1ZSk7CitjaGVjaygnMToyMycsIHRydWUpOworY2hlY2so
JzAxMToxMScsIHRydWUpOworY2hlY2soJ2FiOjExJywgdHJ1ZSk7CitjaGVjaygnLTE6MTEnLCB0
cnVlKTsKK2NoZWNrKCcyNDoxMScsIHRydWUpOworY2hlY2soJzExJywgdHJ1ZSk7CitjaGVjaygn
MTEtJywgdHJ1ZSk7CitjaGVjaygnMTE6LTInLCB0cnVlKTsKK2NoZWNrKCcxMTo2MCcsIHRydWUp
OworY2hlY2soJzExOjJiJywgdHJ1ZSk7CitjaGVjaygnMTE6YWInLCB0cnVlKTsKK2NoZWNrKCcx
MTowMzQnLCB0cnVlKTsKK2NoZWNrKCcyMzo0NTonLCB0cnVlKTsKK2NoZWNrKCcyMzo0NTo2Jywg
dHJ1ZSk7CitjaGVjaygnMjM6NDU6LTEnLCB0cnVlKTsKK2NoZWNrKCcyMzo0NTo3MCcsIHRydWUp
OworY2hlY2soJzIzOjQ1Onp6JywgdHJ1ZSk7CitjaGVjaygnMjM6NDU6MDYuJywgdHJ1ZSk7Citj
aGVjaygnMjM6NDU6MDYuYWJjJywgdHJ1ZSk7CitjaGVjaygnMjM6NDU6MDYuNzg5YWJjJywgdHJ1
ZSk7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gt
d2Vlay5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL1ZhbGlkaXR5U3Rh
dGUtdHlwZU1pc21hdGNoLXdlZWsuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MC4uNzllZmUwNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2Ny
aXB0LXRlc3RzL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLXdlZWsuanMKQEAgLTAsMCArMSw0
NyBAQAorZGVzY3JpcHRpb24oJ1RoaXMgdGVzdCBhaW1zIHRvIGNoZWNrIGZvciB0eXBlTWlzbWF0
Y2ggZmxhZyB3aXRoIHR5cGU9d2VlayBpbnB1dCBmaWVsZHMnKTsKK3ZhciBpID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgnaW5wdXQnKTsKK2kudHlwZSA9ICd3ZWVrJzsKKworZnVuY3Rpb24gY2hl
Y2sodmFsdWUsIG1pc21hdGNoRXhwZWN0ZWQpCit7CisgICAgaS52YWx1ZSA9IHZhbHVlOworICAg
IHZhciBhY3R1YWwgPSBpLnZhbGlkaXR5LnR5cGVNaXNtYXRjaDsKKyAgICB2YXIgZGlkUGFzcyA9
IGFjdHVhbCA9PSBtaXNtYXRjaEV4cGVjdGVkOworICAgIHZhciByZXN1bHRUZXh0ID0gJyInICsg
dmFsdWUgKyAnIiBpcyAnICsgKGRpZFBhc3MgPyAnYSBjb3JyZWN0ICcgOiAnYW4gaW5jb3JyZWN0
ICcpICsgKGFjdHVhbCA/ICdpbnZhbGlkJyA6ICd2YWxpZCcpICsgJyB3ZWVrIHN0cmluZy4nOwor
ICAgIGlmIChkaWRQYXNzKQorICAgICAgICB0ZXN0UGFzc2VkKHJlc3VsdFRleHQpOworICAgIGVs
c2UKKyAgICAgICAgdGVzdEZhaWxlZChyZXN1bHRUZXh0KTsKK30KKworLy8gVmFsaWQgdmFsdWVz
CitjaGVjaygnJywgZmFsc2UpOworY2hlY2soJzE1ODMtVzAxJywgZmFsc2UpOworY2hlY2soJzk5
OTktVzUyJywgZmFsc2UpOworY2hlY2soJzIxNDc0ODM2NDctVzUyJywgZmFsc2UpOworY2hlY2so
JzIwMDktVzAxJywgZmFsc2UpOworY2hlY2soJzIwMDQtVzUzJywgZmFsc2UpOyAgLy8gMjAwNCBz
dGFydGVkIG9uIFRodXJzZGF5LgorY2hlY2soJzIwMDMtVzUyJywgZmFsc2UpOyAgLy8gMjAwMyBz
dGFydGVkIG9uIFdlZG5lc2RheSwgYnV0IHdhc24ndCBhIGxlYXAgeWVhci4KK2NoZWNrKCcxOTky
LVc1MycsIGZhbHNlKTsgIC8vIDE5OTIgc3RhcnRlZCBvbiBXZWRuZXNkYXksIGFuZCB3YXMgYSBs
ZWFwIHllYXIuCisKKy8vIEludmFsaWQgdmFsdWVzCitjaGVjaygnIDIwMDktVzAxICcsIHRydWUp
OworY2hlY2soJzIwMDlXMDEnLCB0cnVlKTsKK2NoZWNrKCcyMDA5LXcwMScsIHRydWUpOworY2hl
Y2soJzIwMDktVzEnLCB0cnVlKTsKK2NoZWNrKCcyMDA5LVcwMDEnLCB0cnVlKTsKK2NoZWNrKCdh
JywgdHJ1ZSk7CitjaGVjaygnLTEtVzA5JywgdHJ1ZSk7CitjaGVjaygnMTU4Mi1XNTInLCB0cnVl
KTsKK2NoZWNrKCcyMTQ3NDgzNjQ4LVcwMScsIHRydWUpOworY2hlY2soJzIwMDktVzAwJywgdHJ1
ZSk7CitjaGVjaygnMjAwOS1XLTEnLCB0cnVlKTsKK2NoZWNrKCcyMDA0LVc1NCcsIHRydWUpOyAg
Ly8gMjAwNCBzdGFydGVkIG9uIFRodXJzZGF5LgorY2hlY2soJzIwMDMtVzUzJywgdHJ1ZSk7ICAv
LyAyMDAzIHN0YXJ0ZWQgb24gV2VkbmVzZGF5LCBidXQgd2Fzbid0IGEgbGVhcCB5ZWFyLgorY2hl
Y2soJzE5OTItVzU0JywgdHJ1ZSk7ICAvLyAxOTkyIHN0YXJ0ZWQgb24gV2VkbmVzZGF5LCBhbmQg
d2FzIGEgbGVhcCB5ZWFyLgorY2hlY2soJzIwMDkvMDknLCB0cnVlKTsKK2NoZWNrKCcyMDA5MDkn
LCB0cnVlKTsKK2NoZWNrKCcyMDA5LVd4eCcsIHRydWUpOworY2hlY2soJzIwMDknLCB0cnVlKTsK
KwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CmRpZmYgLS1naXQgYS9XZWJDb3JlL0No
YW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGI4M2IzNTUuLjY4MTExOGUgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMjYgQEAKKzIwMDktMDktMjIgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBzdXBw
b3J0IGZvciBWYWxpZGl0eVN0YXRlLnR5cGVNaXNtYXRjaCBmb3IgZGF0ZS9kYXRldGltZS8KKyAg
ICAgICAgZGF0ZXRpbWUtbG9jYWwvbW9udGgvdGltZS93ZWVrIHR5cGVzIG9mIElOUFVUIGVsZW1l
bnQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yOTAw
NAorCisgICAgICAgIE5lZWQgYSBzaG9ydCBkZXNjcmlwdGlvbiBhbmQgYnVnIFVSTCAoT09QUyEp
CisKKyAgICAgICAgVGVzdHM6IGZhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gt
ZGF0ZS5odG1sCisgICAgICAgICAgICAgICBmYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1p
c21hdGNoLWRhdGV0aW1lLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvZm9ybXMvVmFsaWRpdHlT
dGF0ZS10eXBlTWlzbWF0Y2gtZGF0ZXRpbWVsb2NhbC5odG1sCisgICAgICAgICAgICAgICBmYXN0
L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLW1vbnRoLmh0bWwKKyAgICAgICAgICAg
ICAgIGZhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtdGltZS5odG1sCisgICAg
ICAgICAgICAgICBmYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLXdlZWsuaHRt
bAorCisgICAgICAgICogaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkhUTUxJbnB1dEVsZW1lbnQ6OmZvcm1TdHJpbmdUb0RhdGVUaW1lKToKKyAgICAgICAgKiBo
dG1sL0hUTUxJbnB1dEVsZW1lbnQuaDoKKyAgICAgICAgKiBodG1sL1ZhbGlkaXR5U3RhdGUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6VmFsaWRpdHlTdGF0ZTo6dHlwZU1pc21hdGNoKToKKwogMjAw
OS0wOS0yMSAgS2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvSFRNTElu
cHV0RWxlbWVudC5jcHAgYi9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAKaW5kZXgg
MTMyODI2Yi4uYTY1NDgyMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1l
bnQuY3BwCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcApAQCAtNjAsNiAr
NjAsNyBAQAogI2luY2x1ZGUgIlJlbmRlclRoZW1lLmgiCiAjaW5jbHVkZSAiU3RyaW5nSGFzaC5o
IgogI2luY2x1ZGUgIlRleHRFdmVudC5oIgorI2luY2x1ZGUgPHd0Zi9EYXRlTWF0aC5oPgogI2lu
Y2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KICNpbmNs
dWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CkBAIC0xOTE3LDYgKzE5MTgsMzQgQEAgYm9vbCBIVE1M
SW5wdXRFbGVtZW50Ojpmb3JtU3RyaW5nVG9Eb3VibGUoY29uc3QgU3RyaW5nJiBzcmMsIGRvdWJs
ZSogb3V0KQogICAgIHJldHVybiB0cnVlOwogfQogCitib29sIEhUTUxJbnB1dEVsZW1lbnQ6OmZv
cm1TdHJpbmdUb0RhdGVUaW1lKElucHV0VHlwZSB0eXBlLCBjb25zdCBTdHJpbmcmIHNyYywgV1RG
OjpHcmVnb3JpYW5EYXRlVGltZSogb3V0KQoreworICAgIFdURjo6R3JlZ29yaWFuRGF0ZVRpbWUg
cmVzdWx0OworICAgIGlmICghb3V0KQorICAgICAgICBvdXQgPSAmcmVzdWx0OworICAgIGNvbnN0
IFVDaGFyKiB1Y2hhcnMgPSBzcmMuY2hhcmFjdGVycygpOworICAgIHVuc2lnbmVkIGxlbmd0aCA9
IHNyYy5sZW5ndGgoKTsKKyAgICB1bnNpZ25lZCBlbmQ7CisKKyAgICBzd2l0Y2ggKHR5cGUpIHsK
KyAgICBjYXNlIERBVEU6CisgICAgICAgIHJldHVybiBvdXQtPnBhcnNlSVNPRGF0ZSh1Y2hhcnMs
IGxlbmd0aCwgMCwgJmVuZCkgJiYgZW5kID09IGxlbmd0aDsKKyAgICBjYXNlIERBVEVUSU1FOgor
ICAgICAgICByZXR1cm4gb3V0LT5wYXJzZUlTT0RhdGVUaW1lKHVjaGFycywgbGVuZ3RoLCAwLCAm
ZW5kKSAmJiBlbmQgPT0gbGVuZ3RoOworICAgIGNhc2UgREFURVRJTUVMT0NBTDoKKyAgICAgICAg
cmV0dXJuIG91dC0+cGFyc2VJU09EYXRlVGltZUxvY2FsKHVjaGFycywgbGVuZ3RoLCAwLCAmZW5k
KSAmJiBlbmQgPT0gbGVuZ3RoOworICAgIGNhc2UgTU9OVEg6CisgICAgICAgIHJldHVybiBvdXQt
PnBhcnNlSVNPTW9udGgodWNoYXJzLCBsZW5ndGgsIDAsICZlbmQpICYmIGVuZCA9PSBsZW5ndGg7
CisgICAgY2FzZSBXRUVLOgorICAgICAgICByZXR1cm4gb3V0LT5wYXJzZUlTT1dlZWsodWNoYXJz
LCBsZW5ndGgsIDAsICZlbmQpICYmIGVuZCA9PSBsZW5ndGg7CisgICAgY2FzZSBUSU1FOgorICAg
ICAgICByZXR1cm4gb3V0LT5wYXJzZUlTT1RpbWUodWNoYXJzLCBsZW5ndGgsIDAsICZlbmQpICYm
IGVuZCA9PSBsZW5ndGg7CisgICAgZGVmYXVsdDoKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7CisgICAgfQorICAgIHJldHVybiBmYWxzZTsKK30KKwogI2lmIEVOQUJMRShEQVRBTElTVCkK
IEhUTUxFbGVtZW50KiBIVE1MSW5wdXRFbGVtZW50OjpsaXN0KCkgY29uc3QKIHsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmggYi9XZWJDb3JlL2h0bWwvSFRNTElu
cHV0RWxlbWVudC5oCmluZGV4IDI5MzgwMzkuLmUzNmMyMzMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
aHRtbC9IVE1MSW5wdXRFbGVtZW50LmgKKysrIGIvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1l
bnQuaApAQCAtMjgsNiArMjgsMTAgQEAKICNpbmNsdWRlICJJbnB1dEVsZW1lbnQuaCIKICNpbmNs
dWRlIDx3dGYvT3duUHRyLmg+CiAKK25hbWVzcGFjZSBXVEYgeworICAgIHN0cnVjdCBHcmVnb3Jp
YW5EYXRlVGltZTsKK30KKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBGaWxlTGlzdDsK
QEAgLTI0Miw2ICsyNDYsMTAgQEAgcHVibGljOgogICAgIC8vIElmIHRoZSBjb252ZXJzaW9uIGZh
aWxzLCB0aGUgcmV0dXJuIHZhbHVlIGlzIGZhbHNlLiBUYWtlIGNhcmUgdGhhdCBsZWFkaW5nIG9y
IHRyYWlsaW5nIHVubmVjZXNzYXJ5IGNoYXJhY3RlcnMgbWFrZSBmYWlsdXJlcy4gIFRoaXMgcmV0
dXJucyBmYWxzZSBmb3IgYW4gZW1wdHkgc3RyaW5nIGlucHV0LgogICAgIC8vIFRoZSBkb3VibGUq
IHBhcmFtZXRlciBtYXkgYmUgMC4KICAgICBzdGF0aWMgYm9vbCBmb3JtU3RyaW5nVG9Eb3VibGUo
Y29uc3QgU3RyaW5nJiwgZG91YmxlKik7CisgICAgLy8gUGFyc2VzIHRoZSBzcGVjaWZpZWQgc3Ry
aW5nIGFzIHRoZSBJbnB1dFR5cGUsIGFuZCByZXR1cm5zIHRydWUgaWYgaXQgaXMgc3VjY2Vzc2Z1
bGx5IHBhcnNlZC4KKyAgICAvLyBBbiBpbnN0YW5jZSBwb2ludGVkIGJ5IHRoZSBHcmVnb3JpYW5E
YXRlVGltZSogcGFyYW1ldGVyIHdpbGwgaGF2ZSBwYXJzZWQgdmFsdWVzIGFuZCBiZQorICAgIC8v
IG1vZGlmaWVkIGV2ZW4gaWYgdGhlIHBhcnNpbmcgZmFpbHMuICBUaGUgR3JlZ29yaWFuRGF0ZVRp
bWUqIHBhcmFtZXRlciBtYXkgYmUgMC4KKyAgICBzdGF0aWMgYm9vbCBmb3JtU3RyaW5nVG9EYXRl
VGltZShJbnB1dFR5cGUsIGNvbnN0IFN0cmluZyYsIFdURjo6R3JlZ29yaWFuRGF0ZVRpbWUqKTsK
ICAgICAKIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIHZvaWQgd2lsbE1vdmVUb05ld093bmVyRG9j
dW1lbnQoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9WYWxpZGl0eVN0YXRlLmNwcCBiL1dl
YkNvcmUvaHRtbC9WYWxpZGl0eVN0YXRlLmNwcAppbmRleCBkZjg5MzNkLi4xNWFkNzljIDEwMDY0
NAotLS0gYS9XZWJDb3JlL2h0bWwvVmFsaWRpdHlTdGF0ZS5jcHAKKysrIGIvV2ViQ29yZS9odG1s
L1ZhbGlkaXR5U3RhdGUuY3BwCkBAIC01NSw2ICs1NSwxMyBAQCBib29sIFZhbGlkaXR5U3RhdGU6
OnR5cGVNaXNtYXRjaCgpCiAgICAgICAgIHJldHVybiAhSFRNTElucHV0RWxlbWVudDo6Zm9ybVN0
cmluZ1RvRG91YmxlKHZhbHVlLCAwKTsKICAgICBjYXNlIEhUTUxJbnB1dEVsZW1lbnQ6OlVSTDoK
ICAgICAgICAgcmV0dXJuICFLVVJMKEtVUkwoKSwgdmFsdWUpLmlzVmFsaWQoKTsKKyAgICBjYXNl
IEhUTUxJbnB1dEVsZW1lbnQ6OkRBVEU6CisgICAgY2FzZSBIVE1MSW5wdXRFbGVtZW50OjpEQVRF
VElNRToKKyAgICBjYXNlIEhUTUxJbnB1dEVsZW1lbnQ6OkRBVEVUSU1FTE9DQUw6CisgICAgY2Fz
ZSBIVE1MSW5wdXRFbGVtZW50OjpNT05USDoKKyAgICBjYXNlIEhUTUxJbnB1dEVsZW1lbnQ6OlRJ
TUU6CisgICAgY2FzZSBIVE1MSW5wdXRFbGVtZW50OjpXRUVLOgorICAgICAgICByZXR1cm4gIUhU
TUxJbnB1dEVsZW1lbnQ6OmZvcm1TdHJpbmdUb0RhdGVUaW1lKGlucHV0LT5pbnB1dFR5cGUoKSwg
dmFsdWUsIDApOwogICAgIGRlZmF1bHQ6CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9Ci0t
IAoxLjYuMy4zCgo=
</data>
<flag name="commit-queue"
          id="21401"
          type_id="3"
          status="-"
          setter="tkent"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>40036</attachid>
            <date>2009-09-23 19:43:26 -0700</date>
            <delta_ts>2009-09-27 22:02:48 -0700</delta_ts>
            <desc>Patch part 1: recognize date&amp;time types as text fields (rev.2)</desc>
            <filename>0001-Add-date-time-types.patch</filename>
            <type>text/plain</type>
            <size>28794</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">RnJvbSA5YzE5MTgzZGFlZDBlNzZjY2EzNjgwNWNjNzlhZmI0NmNiMWE5NzY1IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBLZW50IFRhbXVyYSA8dGtlbnRAY2hyb21pdW0ub3JnPgpEYXRl
OiBUaHUsIDEwIFNlcCAyMDA5IDIwOjMyOjMzICswOTAwClN1YmplY3Q6IFtQQVRDSF0gQWRkIGRh
dGUmdGltZSB0eXBlcwoKLS0tCiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB8ICAgMTEgKwogLi4uL2Zhc3QvZm9ybXMvaW5wdXQtdHlwZS1jaGFuZ2Uz
LWV4cGVjdGVkLnR4dCAgICAgfCAgIDY3ICsrKysKIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW5w
dXQtdHlwZS1jaGFuZ2UzLmh0bWwgICAgIHwgICAxMyArCiAuLi4vZmFzdC9mb3Jtcy9zY3JpcHQt
dGVzdHMvaW5wdXQtdHlwZS1jaGFuZ2UzLmpzICB8ICAgNzcgKysrKysKIFdlYkNvcmUvQ2hhbmdl
TG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAzMyArKwogV2ViQ29yZS9o
dG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwICAgICAgICAgICAgICAgICAgfCAgMzIwICsrKysrKysr
KysrKy0tLS0tLS0tCiBXZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oICAgICAgICAgICAg
ICAgICAgICB8ICAgMTMgKy0KIDcgZmlsZXMgY2hhbmdlZCwgMzk4IGluc2VydGlvbnMoKyksIDEz
NiBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L2lucHV0LXR5cGUtY2hhbmdlMy1leHBlY3RlZC50eHQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL2lucHV0LXR5cGUtY2hhbmdlMy5odG1sCiBjcmVhdGUgbW9kZSAx
MDA2NDQgTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvaW5wdXQtdHlwZS1jaGFu
Z2UzLmpzCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCmluZGV4IDI1ODc5YzAuLjg5YzBjZDQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAor
MjAwOS0wOS0yMyAgS2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHRlc3RzIGZvciByZWFk
aW5nL3dyaXRpbmcgLnR5cGUgcHJvcGVydHkgb2YgSFRNTElucHV0RWxlbWVudC4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI5MDA0CisKKyAgICAgICAg
KiBmYXN0L2Zvcm1zL2lucHV0LXR5cGUtY2hhbmdlMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGZhc3QvZm9ybXMvaW5wdXQtdHlwZS1jaGFuZ2UzLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGZhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2lucHV0LXR5cGUtY2hhbmdlMy5qczogQWRkZWQu
CisKIDIwMDktMDktMjMgIERhbmllbCBCYXRlcyAgPGRiYXRlc0B3ZWJraXQub3JnPgogCiAgICAg
ICAgIFJldmlld2VkIGJ5IEFkYW0gQmFydGguCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL2lucHV0LXR5cGUtY2hhbmdlMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL2lucHV0LXR5cGUtY2hhbmdlMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMC4uOGY2NzBhNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvaW5wdXQtdHlwZS1jaGFuZ2UzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDY3
IEBACitUZXN0cyBmb3Igd3JpdGluZyBhbmQgcmVhZGluZyAudHlwZSBwcm9wZXJ0eSBvZiBIVE1M
SW5wdXRFbGVtZW50LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBpbnB1
dC50eXBlIGlzICJ0ZXh0IgorUEFTUyBpbnB1dC50eXBlIGZvciAiRklMRSIgaXMgY29ycmVjdGx5
ICJmaWxlIi4KK1BBU1MgaW5wdXQudHlwZSBmb3IgInRleHQiIGlzIGNvcnJlY3RseSAidGV4dCIu
CitQQVNTIGlucHV0LnR5cGUgZm9yICJURVhUIiBpcyBjb3JyZWN0bHkgInRleHQiLgorUEFTUyBp
bnB1dC50eXBlIGZvciAiIHRleHQgIiBpcyBjb3JyZWN0bHkgInRleHQiLgorUEFTUyBpbnB1dC50
eXBlIGZvciAiYnV0dG9uIiBpcyBjb3JyZWN0bHkgImJ1dHRvbiIuCitQQVNTIGlucHV0LnR5cGUg
Zm9yICJCVVRUT04iIGlzIGNvcnJlY3RseSAiYnV0dG9uIi4KK1BBU1MgaW5wdXQudHlwZSBmb3Ig
IiBidXR0b24gIiBpcyBjb3JyZWN0bHkgInRleHQiLgorUEFTUyBpbnB1dC50eXBlIGZvciAiY2hl
Y2tib3giIGlzIGNvcnJlY3RseSAiY2hlY2tib3giLgorUEFTUyBpbnB1dC50eXBlIGZvciAiQ0hF
Q0tCT1giIGlzIGNvcnJlY3RseSAiY2hlY2tib3giLgorUEFTUyBpbnB1dC50eXBlIGZvciAiY29s
b3IiIGlzIGNvcnJlY3RseSAiY29sb3IiLgorUEFTUyBpbnB1dC50eXBlIGZvciAiQ09MT1IiIGlz
IGNvcnJlY3RseSAiY29sb3IiLgorUEFTUyBpbnB1dC50eXBlIGZvciAiZGF0ZSIgaXMgY29ycmVj
dGx5ICJkYXRlIi4KK1BBU1MgaW5wdXQudHlwZSBmb3IgIkRBVEUiIGlzIGNvcnJlY3RseSAiZGF0
ZSIuCitQQVNTIGlucHV0LnR5cGUgZm9yICJkYXRldGltZSIgaXMgY29ycmVjdGx5ICJkYXRldGlt
ZSIuCitQQVNTIGlucHV0LnR5cGUgZm9yICJEYXRlVGltZSIgaXMgY29ycmVjdGx5ICJkYXRldGlt
ZSIuCitQQVNTIGlucHV0LnR5cGUgZm9yICJkYXRldGltZS1sb2NhbCIgaXMgY29ycmVjdGx5ICJk
YXRldGltZS1sb2NhbCIuCitQQVNTIGlucHV0LnR5cGUgZm9yICJkYXRldGltZWxvY2FsIiBpcyBj
b3JyZWN0bHkgInRleHQiLgorUEFTUyBpbnB1dC50eXBlIGZvciAiZGF0ZXRpbWVfbG9jYWwiIGlz
IGNvcnJlY3RseSAidGV4dCIuCitQQVNTIGlucHV0LnR5cGUgZm9yICJEYXRlVGltZS1Mb2NhbCIg
aXMgY29ycmVjdGx5ICJkYXRldGltZS1sb2NhbCIuCitQQVNTIGlucHV0LnR5cGUgZm9yICJlbWFp
bCIgaXMgY29ycmVjdGx5ICJlbWFpbCIuCitQQVNTIGlucHV0LnR5cGUgZm9yICJFTWFpbCIgaXMg
Y29ycmVjdGx5ICJlbWFpbCIuCitQQVNTIGlucHV0LnR5cGUgZm9yICJmaWxlIiBpcyBjb3JyZWN0
bHkgImVtYWlsIi4KK1BBU1MgaW5wdXQudHlwZSBmb3IgIkZJTEUiIGlzIGNvcnJlY3RseSAiZW1h
aWwiLgorUEFTUyBpbnB1dC50eXBlIGZvciAiaGlkZGVuIiBpcyBjb3JyZWN0bHkgImhpZGRlbiIu
CitQQVNTIGlucHV0LnR5cGUgZm9yICJISURERU4iIGlzIGNvcnJlY3RseSAiaGlkZGVuIi4KK1BB
U1MgaW5wdXQudHlwZSBmb3IgImltYWdlIiBpcyBjb3JyZWN0bHkgImltYWdlIi4KK1BBU1MgaW5w
dXQudHlwZSBmb3IgIklNQUdFIiBpcyBjb3JyZWN0bHkgImltYWdlIi4KK1BBU1MgaW5wdXQudHlw
ZSBmb3IgImlzaW5kZXgiIGlzIGNvcnJlY3RseSAidGV4dCIuCitQQVNTIGlucHV0LnR5cGUgZm9y
ICJraHRtbF9pc2luZGV4IiBpcyBjb3JyZWN0bHkgIiIuCitQQVNTIGlucHV0LnR5cGUgZm9yICJL
SFRNTF9JU0lOREVYIiBpcyBjb3JyZWN0bHkgIiIuCitQQVNTIGlucHV0LnR5cGUgZm9yICJtb250
aCIgaXMgY29ycmVjdGx5ICJtb250aCIuCitQQVNTIGlucHV0LnR5cGUgZm9yICJNT05USCIgaXMg
Y29ycmVjdGx5ICJtb250aCIuCitQQVNTIGlucHV0LnR5cGUgZm9yICJudW1iZXIiIGlzIGNvcnJl
Y3RseSAibnVtYmVyIi4KK1BBU1MgaW5wdXQudHlwZSBmb3IgIk5VTUJFUiIgaXMgY29ycmVjdGx5
ICJudW1iZXIiLgorUEFTUyBpbnB1dC50eXBlIGZvciAicGFzc3dvcmQiIGlzIGNvcnJlY3RseSAi
cGFzc3dvcmQiLgorUEFTUyBpbnB1dC50eXBlIGZvciAiUEFTU1dPUkQiIGlzIGNvcnJlY3RseSAi
cGFzc3dvcmQiLgorUEFTUyBpbnB1dC50eXBlIGZvciAicGFzc3dkIiBpcyBjb3JyZWN0bHkgInRl
eHQiLgorUEFTUyBpbnB1dC50eXBlIGZvciAicmFkaW8iIGlzIGNvcnJlY3RseSAicmFkaW8iLgor
UEFTUyBpbnB1dC50eXBlIGZvciAiUkFESU8iIGlzIGNvcnJlY3RseSAicmFkaW8iLgorUEFTUyBp
bnB1dC50eXBlIGZvciAicmFuZ2UiIGlzIGNvcnJlY3RseSAicmFuZ2UiLgorUEFTUyBpbnB1dC50
eXBlIGZvciAiUkFOR0UiIGlzIGNvcnJlY3RseSAicmFuZ2UiLgorUEFTUyBpbnB1dC50eXBlIGZv
ciAicmVzZXQiIGlzIGNvcnJlY3RseSAicmVzZXQiLgorUEFTUyBpbnB1dC50eXBlIGZvciAiUkVT
RVQiIGlzIGNvcnJlY3RseSAicmVzZXQiLgorUEFTUyBpbnB1dC50eXBlIGZvciAic2VhcmNoIiBp
cyBjb3JyZWN0bHkgInNlYXJjaCIuCitQQVNTIGlucHV0LnR5cGUgZm9yICJTRUFSQ0giIGlzIGNv
cnJlY3RseSAic2VhcmNoIi4KK1BBU1MgaW5wdXQudHlwZSBmb3IgInN1Ym1pdCIgaXMgY29ycmVj
dGx5ICJzdWJtaXQiLgorUEFTUyBpbnB1dC50eXBlIGZvciAiU1VCTUlUIiBpcyBjb3JyZWN0bHkg
InN1Ym1pdCIuCitQQVNTIGlucHV0LnR5cGUgZm9yICJ0ZWwiIGlzIGNvcnJlY3RseSAidGVsIi4K
K1BBU1MgaW5wdXQudHlwZSBmb3IgIlRFTCIgaXMgY29ycmVjdGx5ICJ0ZWwiLgorUEFTUyBpbnB1
dC50eXBlIGZvciAidGVsZXBob25lIiBpcyBjb3JyZWN0bHkgInRleHQiLgorUEFTUyBpbnB1dC50
eXBlIGZvciAidGltZSIgaXMgY29ycmVjdGx5ICJ0aW1lIi4KK1BBU1MgaW5wdXQudHlwZSBmb3Ig
IlRJTUUiIGlzIGNvcnJlY3RseSAidGltZSIuCitQQVNTIGlucHV0LnR5cGUgZm9yICJ1cmwiIGlz
IGNvcnJlY3RseSAidXJsIi4KK1BBU1MgaW5wdXQudHlwZSBmb3IgIlVSTCIgaXMgY29ycmVjdGx5
ICJ1cmwiLgorUEFTUyBpbnB1dC50eXBlIGZvciAidXJpIiBpcyBjb3JyZWN0bHkgInRleHQiLgor
UEFTUyBpbnB1dC50eXBlIGZvciAid2VlayIgaXMgY29ycmVjdGx5ICJ3ZWVrIi4KK1BBU1MgaW5w
dXQudHlwZSBmb3IgIldFRUsiIGlzIGNvcnJlY3RseSAid2VlayIuCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9pbnB1dC10eXBlLWNoYW5nZTMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvaW5wdXQtdHlwZS1jaGFuZ2UzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMC4uZjE5ODIwZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvaW5wdXQtdHlwZS1jaGFuZ2UzLmh0bWwKQEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5r
IHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1z
dHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48
L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMv
aW5wdXQtdHlwZS1jaGFuZ2UzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvaW5wdXQt
dHlwZS1jaGFuZ2UzLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvaW5w
dXQtdHlwZS1jaGFuZ2UzLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRk
ZmFhMDAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10
ZXN0cy9pbnB1dC10eXBlLWNoYW5nZTMuanMKQEAgLTAsMCArMSw3NyBAQAorZGVzY3JpcHRpb24o
J1Rlc3RzIGZvciB3cml0aW5nIGFuZCByZWFkaW5nIC50eXBlIHByb3BlcnR5IG9mIEhUTUxJbnB1
dEVsZW1lbnQuJyk7CisKK3ZhciBpbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0
Jyk7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGlucHV0KTsKKworc2hvdWxkQmUoJ2lucHV0
LnR5cGUnLCAnInRleHQiJyk7CisKK2Z1bmN0aW9uIGNoZWNrKHZhbHVlLCBleHBlY3RlZCkKK3sK
KyAgICBpbnB1dC50eXBlID0gdmFsdWU7CisgICAgaWYgKGlucHV0LnR5cGUgPT0gZXhwZWN0ZWQp
CisgICAgICAgIHRlc3RQYXNzZWQoJ2lucHV0LnR5cGUgZm9yICInICsgdmFsdWUgKyAnIiBpcyBj
b3JyZWN0bHkgIicgKyBpbnB1dC50eXBlICsgJyIuJyk7CisgICAgZWxzZQorICAgICAgICB0ZXN0
RmFpbGVkKCdpbnB1dC50eXBlIGZvciAiJyArIHZhbHVlICsgJyIgaXMgaW5jb3JyZWN0bHkgIicg
KyBpbnB1dC50eXBlICsgJyIsIHNob3VsZCBiZSAiJyArIGV4cGVjdGVkICsgJyIuJyk7Cit9CisK
K2NoZWNrKCJGSUxFIiwgImZpbGUiKTsKKworY2hlY2soInRleHQiLCAidGV4dCIpOworY2hlY2so
IlRFWFQiLCAidGV4dCIpOworY2hlY2soIiB0ZXh0ICIsICJ0ZXh0Iik7CitjaGVjaygiYnV0dG9u
IiwgImJ1dHRvbiIpOworY2hlY2soIkJVVFRPTiIsICJidXR0b24iKTsKK2NoZWNrKCIgYnV0dG9u
ICIsICJ0ZXh0Iik7CitjaGVjaygiY2hlY2tib3giLCAiY2hlY2tib3giKTsKK2NoZWNrKCJDSEVD
S0JPWCIsICJjaGVja2JveCIpOworY2hlY2soImNvbG9yIiwgImNvbG9yIik7CitjaGVjaygiQ09M
T1IiLCAiY29sb3IiKTsKK2NoZWNrKCJkYXRlIiwgImRhdGUiKTsKK2NoZWNrKCJEQVRFIiwgImRh
dGUiKTsKK2NoZWNrKCJkYXRldGltZSIsICJkYXRldGltZSIpOworY2hlY2soIkRhdGVUaW1lIiwg
ImRhdGV0aW1lIik7CitjaGVjaygiZGF0ZXRpbWUtbG9jYWwiLCAiZGF0ZXRpbWUtbG9jYWwiKTsK
K2NoZWNrKCJkYXRldGltZWxvY2FsIiwgInRleHQiKTsKK2NoZWNrKCJkYXRldGltZV9sb2NhbCIs
ICJ0ZXh0Iik7CitjaGVjaygiRGF0ZVRpbWUtTG9jYWwiLCAiZGF0ZXRpbWUtbG9jYWwiKTsKK2No
ZWNrKCJlbWFpbCIsICJlbWFpbCIpOworY2hlY2soIkVNYWlsIiwgImVtYWlsIik7CitjaGVjaygi
ZmlsZSIsICJlbWFpbCIpOyAvLyBXZSBjYW4ndCBjaGFuZ2UgYSBjb25jcmV0ZSB0eXBlIHRvIGZp
bGUgZm9yIGEgc2VjdXJpdHkgcmVhc29uLgorY2hlY2soIkZJTEUiLCAiZW1haWwiKTsKK2NoZWNr
KCJoaWRkZW4iLCAiaGlkZGVuIik7CitjaGVjaygiSElEREVOIiwgImhpZGRlbiIpOworY2hlY2so
ImltYWdlIiwgImltYWdlIik7CitjaGVjaygiSU1BR0UiLCAiaW1hZ2UiKTsKK2NoZWNrKCJpc2lu
ZGV4IiwgInRleHQiKTsKK2NoZWNrKCJraHRtbF9pc2luZGV4IiwgIiIpOworY2hlY2soIktIVE1M
X0lTSU5ERVgiLCAiIik7CitjaGVjaygibW9udGgiLCAibW9udGgiKTsKK2NoZWNrKCJNT05USCIs
ICJtb250aCIpOworY2hlY2soIm51bWJlciIsICJudW1iZXIiKTsKK2NoZWNrKCJOVU1CRVIiLCAi
bnVtYmVyIik7CitjaGVjaygicGFzc3dvcmQiLCAicGFzc3dvcmQiKTsKK2NoZWNrKCJQQVNTV09S
RCIsICJwYXNzd29yZCIpOworY2hlY2soInBhc3N3ZCIsICJ0ZXh0Iik7CitjaGVjaygicmFkaW8i
LCAicmFkaW8iKTsKK2NoZWNrKCJSQURJTyIsICJyYWRpbyIpOworY2hlY2soInJhbmdlIiwgInJh
bmdlIik7CitjaGVjaygiUkFOR0UiLCAicmFuZ2UiKTsKK2NoZWNrKCJyZXNldCIsICJyZXNldCIp
OworY2hlY2soIlJFU0VUIiwgInJlc2V0Iik7CitjaGVjaygic2VhcmNoIiwgInNlYXJjaCIpOwor
Y2hlY2soIlNFQVJDSCIsICJzZWFyY2giKTsKK2NoZWNrKCJzdWJtaXQiLCAic3VibWl0Iik7Citj
aGVjaygiU1VCTUlUIiwgInN1Ym1pdCIpOworY2hlY2soInRlbCIsICJ0ZWwiKTsKK2NoZWNrKCJU
RUwiLCAidGVsIik7CitjaGVjaygidGVsZXBob25lIiwgInRleHQiKTsKK2NoZWNrKCJ0aW1lIiwg
InRpbWUiKTsKK2NoZWNrKCJUSU1FIiwgInRpbWUiKTsKK2NoZWNrKCJ1cmwiLCAidXJsIik7Citj
aGVjaygiVVJMIiwgInVybCIpOworY2hlY2soInVyaSIsICJ0ZXh0Iik7CitjaGVjaygid2VlayIs
ICJ3ZWVrIik7CitjaGVjaygiV0VFSyIsICJ3ZWVrIik7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJz
ZWQgPSB0cnVlOworCmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hh
bmdlTG9nCmluZGV4IGY2N2I4MWUuLjJkMjZjOTkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdl
TG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzYgQEAKKzIwMDktMDktMDEg
IEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIC0gUmVjb2duaXplcyBkYXRlL2RhdGV0aW1lL2Rh
dGV0aW1lLWxvY2FsL21vbnRoL3RpbWUvd2VlayB0eXBlcyBvZiBJTlBVVCBlbGVtZW50LgorICAg
ICAgICAgIFRoZXkgaGF2ZSBubyBkZWRpY2F0ZWQgVUkgYW5kIG5vIHR5cGUgdmFsaWRhdGlvbiBm
b3Igbm93LgorICAgICAgICAtIENsZWFuIHVwIHNldElucHV0VHlwZSgpIGFuZCBmb3JtQ29udHJv
bFR5cGUoKSBvZiBIVE1MSW5wdXRFbGVtZW50LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjkwMDQKKworICAgICAgICBUZXN0OiBmYXN0L2Zvcm1zL2lu
cHV0LXR5cGUtY2hhbmdlMy5odG1sCisKKyAgICAgICAgKiBodG1sL0hUTUxJbnB1dEVsZW1lbnQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6dmFsdWVNaXNzaW5nKToK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQ6OnBhdHRlcm5NaXNtYXRjaCk6Cisg
ICAgICAgIChXZWJDb3JlOjpjcmVhdGVUeXBlTWFwKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJ
bnB1dEVsZW1lbnQ6OnNldElucHV0VHlwZSk6CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVGb3Jt
Q29udHJvbFR5cGVzKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQ6OmZvcm1D
b250cm9sVHlwZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50OjpzYXZlRm9y
bUNvbnRyb2xTdGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50OjpyZXN0
b3JlRm9ybUNvbnRyb2xTdGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50
OjphY2Nlc3NLZXlBY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6
cmVuZGVyZXJJc05lZWRlZCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50Ojpj
cmVhdGVSZW5kZXJlcik6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50OjphcHBl
bmRGb3JtRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50Ojppc1RleHRG
aWVsZCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50Ojp2YWx1ZVdpdGhEZWZh
dWx0KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQ6OnN0b3Jlc1ZhbHVlU2Vw
YXJhdGVGcm9tQXR0cmlidXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQ6
OmRlZmF1bHRFdmVudEhhbmRsZXIpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVu
dDo6aXNSZXF1aXJlZEZvcm1Db250cm9sKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVs
ZW1lbnQ6OmRhdGFMaXN0KToKKyAgICAgICAgKiBodG1sL0hUTUxJbnB1dEVsZW1lbnQuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQ6Oik6CisKIDIwMDktMDktMjMgIFBldGVy
IEthc3RpbmcgIDxwa2FzdGluZ0Bnb29nbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERp
bWl0cmkgR2xhemtvdi4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50
LmNwcCBiL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcAppbmRleCA4Yjg4NGNmLi45
ZmQ0ZDU4IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAKKysr
IGIvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCkBAIC01OCw3ICs1OCw5IEBACiAj
aW5jbHVkZSAiUmVuZGVyVGV4dC5oIgogI2luY2x1ZGUgIlJlbmRlclRleHRDb250cm9sU2luZ2xl
TGluZS5oIgogI2luY2x1ZGUgIlJlbmRlclRoZW1lLmgiCisjaW5jbHVkZSAiU3RyaW5nSGFzaC5o
IgogI2luY2x1ZGUgIlRleHRFdmVudC5oIgorI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5j
bHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAK
QEAgLTEzMyw2ICsxMzUsMTIgQEAgYm9vbCBIVE1MSW5wdXRFbGVtZW50Ojp2YWx1ZU1pc3Npbmco
KSBjb25zdAogICAgICAgICBjYXNlIFBBU1NXT1JEOgogICAgICAgICBjYXNlIE5VTUJFUjoKICAg
ICAgICAgY2FzZSBGSUxFOgorICAgICAgICBjYXNlIERBVEVUSU1FOgorICAgICAgICBjYXNlIERB
VEU6CisgICAgICAgIGNhc2UgTU9OVEg6CisgICAgICAgIGNhc2UgV0VFSzoKKyAgICAgICAgY2Fz
ZSBUSU1FOgorICAgICAgICBjYXNlIERBVEVUSU1FTE9DQUw6CiAgICAgICAgICAgICByZXR1cm4g
dmFsdWUoKS5pc0VtcHR5KCk7CiAgICAgICAgIGNhc2UgQ0hFQ0tCT1g6CiAgICAgICAgICAgICBy
ZXR1cm4gIWNoZWNrZWQoKTsKQEAgLTE2OSw2ICsxNzcsMTIgQEAgYm9vbCBIVE1MSW5wdXRFbGVt
ZW50OjpwYXR0ZXJuTWlzbWF0Y2goKSBjb25zdAogICAgICAgICBjYXNlIFJBTkdFOgogICAgICAg
ICBjYXNlIE5VTUJFUjoKICAgICAgICAgY2FzZSBDT0xPUjoKKyAgICAgICAgY2FzZSBEQVRFVElN
RToKKyAgICAgICAgY2FzZSBEQVRFOgorICAgICAgICBjYXNlIE1PTlRIOgorICAgICAgICBjYXNl
IFdFRUs6CisgICAgICAgIGNhc2UgVElNRToKKyAgICAgICAgY2FzZSBEQVRFVElNRUxPQ0FMOgog
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICBjYXNlIFRFWFQ6CiAgICAgICAgIGNh
c2UgU0VBUkNIOgpAQCAtMjgyLDQ0ICsyOTYsNDQgQEAgdm9pZCBIVE1MSW5wdXRFbGVtZW50Ojpz
ZXRUeXBlKGNvbnN0IFN0cmluZyYgdCkKICAgICAgICAgc2V0QXR0cmlidXRlKHR5cGVBdHRyLCB0
KTsKIH0KIAordHlwZWRlZiBIYXNoTWFwPFN0cmluZywgSFRNTElucHV0RWxlbWVudDo6SW5wdXRU
eXBlLCBDYXNlRm9sZGluZ0hhc2g+IElucHV0VHlwZU1hcDsKK3N0YXRpYyBjb25zdCBJbnB1dFR5
cGVNYXAqIGNyZWF0ZVR5cGVNYXAoKQoreworICAgIElucHV0VHlwZU1hcCogbWFwID0gbmV3IElu
cHV0VHlwZU1hcDsKKyAgICBtYXAtPmFkZCgiYnV0dG9uIiwgSFRNTElucHV0RWxlbWVudDo6QlVU
VE9OKTsKKyAgICBtYXAtPmFkZCgiY2hlY2tib3giLCBIVE1MSW5wdXRFbGVtZW50OjpDSEVDS0JP
WCk7CisgICAgbWFwLT5hZGQoImNvbG9yIiwgSFRNTElucHV0RWxlbWVudDo6Q09MT1IpOworICAg
IG1hcC0+YWRkKCJkYXRlIiwgSFRNTElucHV0RWxlbWVudDo6REFURSk7CisgICAgbWFwLT5hZGQo
ImRhdGV0aW1lIiwgSFRNTElucHV0RWxlbWVudDo6REFURVRJTUUpOworICAgIG1hcC0+YWRkKCJk
YXRldGltZS1sb2NhbCIsIEhUTUxJbnB1dEVsZW1lbnQ6OkRBVEVUSU1FTE9DQUwpOworICAgIG1h
cC0+YWRkKCJlbWFpbCIsIEhUTUxJbnB1dEVsZW1lbnQ6OkVNQUlMKTsKKyAgICBtYXAtPmFkZCgi
ZmlsZSIsIEhUTUxJbnB1dEVsZW1lbnQ6OkZJTEUpOworICAgIG1hcC0+YWRkKCJoaWRkZW4iLCBI
VE1MSW5wdXRFbGVtZW50OjpISURERU4pOworICAgIG1hcC0+YWRkKCJpbWFnZSIsIEhUTUxJbnB1
dEVsZW1lbnQ6OklNQUdFKTsKKyAgICBtYXAtPmFkZCgia2h0bWxfaXNpbmRleCIsIEhUTUxJbnB1
dEVsZW1lbnQ6OklTSU5ERVgpOworICAgIG1hcC0+YWRkKCJtb250aCIsIEhUTUxJbnB1dEVsZW1l
bnQ6Ok1PTlRIKTsKKyAgICBtYXAtPmFkZCgibnVtYmVyIiwgSFRNTElucHV0RWxlbWVudDo6TlVN
QkVSKTsKKyAgICBtYXAtPmFkZCgicGFzc3dvcmQiLCBIVE1MSW5wdXRFbGVtZW50OjpQQVNTV09S
RCk7CisgICAgbWFwLT5hZGQoInJhZGlvIiwgSFRNTElucHV0RWxlbWVudDo6UkFESU8pOworICAg
IG1hcC0+YWRkKCJyYW5nZSIsIEhUTUxJbnB1dEVsZW1lbnQ6OlJBTkdFKTsKKyAgICBtYXAtPmFk
ZCgicmVzZXQiLCBIVE1MSW5wdXRFbGVtZW50OjpSRVNFVCk7CisgICAgbWFwLT5hZGQoInNlYXJj
aCIsIEhUTUxJbnB1dEVsZW1lbnQ6OlNFQVJDSCk7CisgICAgbWFwLT5hZGQoInN1Ym1pdCIsIEhU
TUxJbnB1dEVsZW1lbnQ6OlNVQk1JVCk7CisgICAgbWFwLT5hZGQoInRlbCIsIEhUTUxJbnB1dEVs
ZW1lbnQ6OlRFTEVQSE9ORSk7CisgICAgbWFwLT5hZGQoInRpbWUiLCBIVE1MSW5wdXRFbGVtZW50
OjpUSU1FKTsKKyAgICBtYXAtPmFkZCgidXJsIiwgSFRNTElucHV0RWxlbWVudDo6VVJMKTsKKyAg
ICBtYXAtPmFkZCgid2VlayIsIEhUTUxJbnB1dEVsZW1lbnQ6OldFRUspOworICAgIC8vIGdldCgp
IHdpdGggdW5yZWdpc3RlcmVkIG5hbWVzIHJldHVybnMgSFRNTElucHV0RWxlbWVudDo6VEVYVC4K
KyAgICBBU1NFUlQoSGFzaFRyYWl0czxIVE1MSW5wdXRFbGVtZW50OjpJbnB1dFR5cGU+OjplbXB0
eVZhbHVlKCkgPT0gSFRNTElucHV0RWxlbWVudDo6VEVYVCk7CisgICAgcmV0dXJuIG1hcDsKK30K
Kwogdm9pZCBIVE1MSW5wdXRFbGVtZW50OjpzZXRJbnB1dFR5cGUoY29uc3QgU3RyaW5nJiB0KQog
eworICAgIHN0YXRpYyBjb25zdCBJbnB1dFR5cGVNYXAqIHR5cGVNYXAgPSBjcmVhdGVUeXBlTWFw
KCk7CiAgICAgSW5wdXRUeXBlIG5ld1R5cGU7Ci0gICAgCi0gICAgaWYgKGVxdWFsSWdub3JpbmdD
YXNlKHQsICJwYXNzd29yZCIpKQotICAgICAgICBuZXdUeXBlID0gUEFTU1dPUkQ7Ci0gICAgZWxz
ZSBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UodCwgImNoZWNrYm94IikpCi0gICAgICAgIG5ld1R5cGUg
PSBDSEVDS0JPWDsKLSAgICBlbHNlIGlmIChlcXVhbElnbm9yaW5nQ2FzZSh0LCAicmFkaW8iKSkK
LSAgICAgICAgbmV3VHlwZSA9IFJBRElPOwotICAgIGVsc2UgaWYgKGVxdWFsSWdub3JpbmdDYXNl
KHQsICJzdWJtaXQiKSkKLSAgICAgICAgbmV3VHlwZSA9IFNVQk1JVDsKLSAgICBlbHNlIGlmIChl
cXVhbElnbm9yaW5nQ2FzZSh0LCAicmVzZXQiKSkKLSAgICAgICAgbmV3VHlwZSA9IFJFU0VUOwot
ICAgIGVsc2UgaWYgKGVxdWFsSWdub3JpbmdDYXNlKHQsICJmaWxlIikpCi0gICAgICAgIG5ld1R5
cGUgPSBGSUxFOwotICAgIGVsc2UgaWYgKGVxdWFsSWdub3JpbmdDYXNlKHQsICJoaWRkZW4iKSkK
LSAgICAgICAgbmV3VHlwZSA9IEhJRERFTjsKLSAgICBlbHNlIGlmIChlcXVhbElnbm9yaW5nQ2Fz
ZSh0LCAiaW1hZ2UiKSkKLSAgICAgICAgbmV3VHlwZSA9IElNQUdFOwotICAgIGVsc2UgaWYgKGVx
dWFsSWdub3JpbmdDYXNlKHQsICJidXR0b24iKSkKLSAgICAgICAgbmV3VHlwZSA9IEJVVFRPTjsK
LSAgICBlbHNlIGlmIChlcXVhbElnbm9yaW5nQ2FzZSh0LCAia2h0bWxfaXNpbmRleCIpKQotICAg
ICAgICBuZXdUeXBlID0gSVNJTkRFWDsKLSAgICBlbHNlIGlmIChlcXVhbElnbm9yaW5nQ2FzZSh0
LCAic2VhcmNoIikpCi0gICAgICAgIG5ld1R5cGUgPSBTRUFSQ0g7Ci0gICAgZWxzZSBpZiAoZXF1
YWxJZ25vcmluZ0Nhc2UodCwgInJhbmdlIikpCi0gICAgICAgIG5ld1R5cGUgPSBSQU5HRTsKLSAg
ICBlbHNlIGlmIChlcXVhbElnbm9yaW5nQ2FzZSh0LCAiZW1haWwiKSkKLSAgICAgICAgbmV3VHlw
ZSA9IEVNQUlMOwotICAgIGVsc2UgaWYgKGVxdWFsSWdub3JpbmdDYXNlKHQsICJudW1iZXIiKSkK
LSAgICAgICAgbmV3VHlwZSA9IE5VTUJFUjsKLSAgICBlbHNlIGlmIChlcXVhbElnbm9yaW5nQ2Fz
ZSh0LCAidGVsIikpCi0gICAgICAgIG5ld1R5cGUgPSBURUxFUEhPTkU7Ci0gICAgZWxzZSBpZiAo
ZXF1YWxJZ25vcmluZ0Nhc2UodCwgInVybCIpKQotICAgICAgICBuZXdUeXBlID0gVVJMOwotICAg
IGVsc2UgaWYgKGVxdWFsSWdub3JpbmdDYXNlKHQsICJjb2xvciIpKQotICAgICAgICBuZXdUeXBl
ID0gQ09MT1I7CisgICAgaWYgKCF0LmlzTnVsbCgpKSAgLy8gZ2V0KCkgd2l0aCBhIG51bGwgc3Ry
aW5nIG1ha2VzIGNyYXNoLgorICAgICAgICBuZXdUeXBlID0gdHlwZU1hcC0+Z2V0KHQpOwogICAg
IGVsc2UKICAgICAgICAgbmV3VHlwZSA9IFRFWFQ7CiAKQEAgLTM5MSw4MSArNDA1LDQyIEBAIHZv
aWQgSFRNTElucHV0RWxlbWVudDo6c2V0SW5wdXRUeXBlKGNvbnN0IFN0cmluZyYgdCkKICAgICAg
ICAgbV9pbWFnZUxvYWRlci5jbGVhcigpOwogfQogCi1jb25zdCBBdG9taWNTdHJpbmcmIEhUTUxJ
bnB1dEVsZW1lbnQ6OmZvcm1Db250cm9sVHlwZSgpIGNvbnN0CitzdGF0aWMgY29uc3QgVmVjdG9y
PEF0b21pY1N0cmluZz4qIGNyZWF0ZUZvcm1Db250cm9sVHlwZXMoKQogeworICAgIFZlY3RvcjxB
dG9taWNTdHJpbmc+KiB0eXBlcyA9IG5ldyBWZWN0b3I8QXRvbWljU3RyaW5nPihIVE1MSW5wdXRF
bGVtZW50OjpNQVhfSU5QVVRfVFlQRVMpOwogICAgIC8vIG5lZWRzIHRvIGJlIGxvd2VyY2FzZSBh
Y2NvcmRpbmcgdG8gRE9NIHNwZWMKLSAgICBzd2l0Y2ggKGlucHV0VHlwZSgpKSB7Ci0gICAgICAg
IGNhc2UgQlVUVE9OOiB7Ci0gICAgICAgICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0IEF0
b21pY1N0cmluZywgYnV0dG9uLCAoImJ1dHRvbiIpKTsKLSAgICAgICAgICAgIHJldHVybiBidXR0
b247Ci0gICAgICAgIH0KLSAgICAgICAgY2FzZSBDSEVDS0JPWDogewotICAgICAgICAgICAgREVG
SU5FX1NUQVRJQ19MT0NBTChjb25zdCBBdG9taWNTdHJpbmcsIGNoZWNrYm94LCAoImNoZWNrYm94
IikpOwotICAgICAgICAgICAgcmV0dXJuIGNoZWNrYm94OwotICAgICAgICB9Ci0gICAgICAgIGNh
c2UgQ09MT1I6IHsKLSAgICAgICAgICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgQXRvbWlj
U3RyaW5nLCBjb2xvciwgKCJjb2xvciIpKTsKLSAgICAgICAgICAgIHJldHVybiBjb2xvcjsKLSAg
ICAgICAgfQotICAgICAgICBjYXNlIEVNQUlMOiB7Ci0gICAgICAgICAgICBERUZJTkVfU1RBVElD
X0xPQ0FMKGNvbnN0IEF0b21pY1N0cmluZywgZW1haWwsICgiZW1haWwiKSk7Ci0gICAgICAgICAg
ICByZXR1cm4gZW1haWw7Ci0gICAgICAgIH0KLSAgICAgICAgY2FzZSBGSUxFOiB7Ci0gICAgICAg
ICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0IEF0b21pY1N0cmluZywgZmlsZSwgKCJmaWxl
IikpOwotICAgICAgICAgICAgcmV0dXJuIGZpbGU7Ci0gICAgICAgIH0KLSAgICAgICAgY2FzZSBI
SURERU46IHsKLSAgICAgICAgICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgQXRvbWljU3Ry
aW5nLCBoaWRkZW4sICgiaGlkZGVuIikpOwotICAgICAgICAgICAgcmV0dXJuIGhpZGRlbjsKLSAg
ICAgICAgfQotICAgICAgICBjYXNlIElNQUdFOiB7Ci0gICAgICAgICAgICBERUZJTkVfU1RBVElD
X0xPQ0FMKGNvbnN0IEF0b21pY1N0cmluZywgaW1hZ2UsICgiaW1hZ2UiKSk7Ci0gICAgICAgICAg
ICByZXR1cm4gaW1hZ2U7Ci0gICAgICAgIH0KLSAgICAgICAgY2FzZSBJU0lOREVYOgotICAgICAg
ICAgICAgcmV0dXJuIGVtcHR5QXRvbTsKLSAgICAgICAgY2FzZSBOVU1CRVI6IHsKLSAgICAgICAg
ICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgQXRvbWljU3RyaW5nLCBudW1iZXIsICgibnVt
YmVyIikpOwotICAgICAgICAgICAgcmV0dXJuIG51bWJlcjsKLSAgICAgICAgfQotICAgICAgICBj
YXNlIFBBU1NXT1JEOiB7Ci0gICAgICAgICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0IEF0
b21pY1N0cmluZywgcGFzc3dvcmQsICgicGFzc3dvcmQiKSk7Ci0gICAgICAgICAgICByZXR1cm4g
cGFzc3dvcmQ7Ci0gICAgICAgIH0KLSAgICAgICAgY2FzZSBSQURJTzogewotICAgICAgICAgICAg
REVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBBdG9taWNTdHJpbmcsIHJhZGlvLCAoInJhZGlvIikp
OwotICAgICAgICAgICAgcmV0dXJuIHJhZGlvOwotICAgICAgICB9Ci0gICAgICAgIGNhc2UgUkFO
R0U6IHsKLSAgICAgICAgICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgQXRvbWljU3RyaW5n
LCByYW5nZSwgKCJyYW5nZSIpKTsKLSAgICAgICAgICAgIHJldHVybiByYW5nZTsKLSAgICAgICAg
fQotICAgICAgICBjYXNlIFJFU0VUOiB7Ci0gICAgICAgICAgICBERUZJTkVfU1RBVElDX0xPQ0FM
KGNvbnN0IEF0b21pY1N0cmluZywgcmVzZXQsICgicmVzZXQiKSk7Ci0gICAgICAgICAgICByZXR1
cm4gcmVzZXQ7Ci0gICAgICAgIH0KLSAgICAgICAgY2FzZSBTRUFSQ0g6IHsKLSAgICAgICAgICAg
IERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgQXRvbWljU3RyaW5nLCBzZWFyY2gsICgic2VhcmNo
IikpOwotICAgICAgICAgICAgcmV0dXJuIHNlYXJjaDsKLSAgICAgICAgfQotICAgICAgICBjYXNl
IFNVQk1JVDogewotICAgICAgICAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBBdG9taWNT
dHJpbmcsIHN1Ym1pdCwgKCJzdWJtaXQiKSk7Ci0gICAgICAgICAgICByZXR1cm4gc3VibWl0Owot
ICAgICAgICB9Ci0gICAgICAgIGNhc2UgVEVMRVBIT05FOiB7Ci0gICAgICAgICAgICBERUZJTkVf
U1RBVElDX0xPQ0FMKGNvbnN0IEF0b21pY1N0cmluZywgdGVsZXBob25lLCAoInRlbCIpKTsKLSAg
ICAgICAgICAgIHJldHVybiB0ZWxlcGhvbmU7Ci0gICAgICAgIH0KLSAgICAgICAgY2FzZSBURVhU
OiB7Ci0gICAgICAgICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0IEF0b21pY1N0cmluZywg
dGV4dCwgKCJ0ZXh0IikpOwotICAgICAgICAgICAgcmV0dXJuIHRleHQ7Ci0gICAgICAgIH0KLSAg
ICAgICAgY2FzZSBVUkw6IHsKLSAgICAgICAgICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3Qg
QXRvbWljU3RyaW5nLCB1cmwsICgidXJsIikpOwotICAgICAgICAgICAgcmV0dXJuIHVybDsKLSAg
ICAgICAgfQotICAgIH0KKyAgICAoKnR5cGVzKVtIVE1MSW5wdXRFbGVtZW50OjpCVVRUT05dID0g
ImJ1dHRvbiI7CisgICAgKCp0eXBlcylbSFRNTElucHV0RWxlbWVudDo6Q0hFQ0tCT1hdID0gImNo
ZWNrYm94IjsKKyAgICAoKnR5cGVzKVtIVE1MSW5wdXRFbGVtZW50OjpDT0xPUl0gPSAiY29sb3Ii
OworICAgICgqdHlwZXMpW0hUTUxJbnB1dEVsZW1lbnQ6OkRBVEVdID0gImRhdGUiOworICAgICgq
dHlwZXMpW0hUTUxJbnB1dEVsZW1lbnQ6OkRBVEVUSU1FXSA9ICJkYXRldGltZSI7CisgICAgKCp0
eXBlcylbSFRNTElucHV0RWxlbWVudDo6REFURVRJTUVMT0NBTF0gPSAiZGF0ZXRpbWUtbG9jYWwi
OworICAgICgqdHlwZXMpW0hUTUxJbnB1dEVsZW1lbnQ6OkVNQUlMXSA9ICJlbWFpbCI7CisgICAg
KCp0eXBlcylbSFRNTElucHV0RWxlbWVudDo6RklMRV0gPSAiZmlsZSI7CisgICAgKCp0eXBlcylb
SFRNTElucHV0RWxlbWVudDo6SElEREVOXSA9ICJoaWRkZW4iOworICAgICgqdHlwZXMpW0hUTUxJ
bnB1dEVsZW1lbnQ6OklNQUdFXSA9ICJpbWFnZSI7CisgICAgKCp0eXBlcylbSFRNTElucHV0RWxl
bWVudDo6SVNJTkRFWF0gPSBlbXB0eUF0b207CisgICAgKCp0eXBlcylbSFRNTElucHV0RWxlbWVu
dDo6TU9OVEhdID0gIm1vbnRoIjsKKyAgICAoKnR5cGVzKVtIVE1MSW5wdXRFbGVtZW50OjpOVU1C
RVJdID0gIm51bWJlciI7CisgICAgKCp0eXBlcylbSFRNTElucHV0RWxlbWVudDo6UEFTU1dPUkRd
ID0gInBhc3N3b3JkIjsKKyAgICAoKnR5cGVzKVtIVE1MSW5wdXRFbGVtZW50OjpSQURJT10gPSAi
cmFkaW8iOworICAgICgqdHlwZXMpW0hUTUxJbnB1dEVsZW1lbnQ6OlJBTkdFXSA9ICJyYW5nZSI7
CisgICAgKCp0eXBlcylbSFRNTElucHV0RWxlbWVudDo6UkVTRVRdID0gInJlc2V0IjsKKyAgICAo
KnR5cGVzKVtIVE1MSW5wdXRFbGVtZW50OjpTRUFSQ0hdID0gInNlYXJjaCI7CisgICAgKCp0eXBl
cylbSFRNTElucHV0RWxlbWVudDo6U1VCTUlUXSA9ICJzdWJtaXQiOworICAgICgqdHlwZXMpW0hU
TUxJbnB1dEVsZW1lbnQ6OlRFTEVQSE9ORV0gPSAidGVsIjsKKyAgICAoKnR5cGVzKVtIVE1MSW5w
dXRFbGVtZW50OjpURVhUXSA9ICJ0ZXh0IjsKKyAgICAoKnR5cGVzKVtIVE1MSW5wdXRFbGVtZW50
OjpUSU1FXSA9ICJ0aW1lIjsKKyAgICAoKnR5cGVzKVtIVE1MSW5wdXRFbGVtZW50OjpVUkxdID0g
InVybCI7CisgICAgKCp0eXBlcylbSFRNTElucHV0RWxlbWVudDo6V0VFS10gPSAid2VlayI7Cisg
ICAgcmV0dXJuIHR5cGVzOworfQorCitjb25zdCBBdG9taWNTdHJpbmcmIEhUTUxJbnB1dEVsZW1l
bnQ6OmZvcm1Db250cm9sVHlwZSgpIGNvbnN0Cit7CisgICAgc3RhdGljIGNvbnN0IFZlY3RvcjxB
dG9taWNTdHJpbmc+KiBmb3JtQ29udHJvbFR5cGVzID0gY3JlYXRlRm9ybUNvbnRyb2xUeXBlcygp
OworICAgIGlmIChzdGF0aWNfY2FzdDxzaXplX3Q+KGlucHV0VHlwZSgpKSA8IGZvcm1Db250cm9s
VHlwZXMtPnNpemUoKSkKKyAgICAgICAgcmV0dXJuICgqZm9ybUNvbnRyb2xUeXBlcylbaW5wdXRU
eXBlKCldOwogICAgIHJldHVybiBlbXB0eUF0b207CiB9CiAKQEAgLTQ3NywxMSArNDUyLDE1IEBA
IGJvb2wgSFRNTElucHV0RWxlbWVudDo6c2F2ZUZvcm1Db250cm9sU3RhdGUoU3RyaW5nJiByZXN1
bHQpIGNvbnN0CiAgICAgc3dpdGNoIChpbnB1dFR5cGUoKSkgewogICAgICAgICBjYXNlIEJVVFRP
TjoKICAgICAgICAgY2FzZSBDT0xPUjoKKyAgICAgICAgY2FzZSBEQVRFOgorICAgICAgICBjYXNl
IERBVEVUSU1FOgorICAgICAgICBjYXNlIERBVEVUSU1FTE9DQUw6CiAgICAgICAgIGNhc2UgRU1B
SUw6CiAgICAgICAgIGNhc2UgRklMRToKICAgICAgICAgY2FzZSBISURERU46CiAgICAgICAgIGNh
c2UgSU1BR0U6CiAgICAgICAgIGNhc2UgSVNJTkRFWDoKKyAgICAgICAgY2FzZSBNT05USDoKICAg
ICAgICAgY2FzZSBOVU1CRVI6CiAgICAgICAgIGNhc2UgUkFOR0U6CiAgICAgICAgIGNhc2UgUkVT
RVQ6CkBAIC00ODksNyArNDY4LDkgQEAgYm9vbCBIVE1MSW5wdXRFbGVtZW50OjpzYXZlRm9ybUNv
bnRyb2xTdGF0ZShTdHJpbmcmIHJlc3VsdCkgY29uc3QKICAgICAgICAgY2FzZSBTVUJNSVQ6CiAg
ICAgICAgIGNhc2UgVEVMRVBIT05FOgogICAgICAgICBjYXNlIFRFWFQ6CisgICAgICAgIGNhc2Ug
VElNRToKICAgICAgICAgY2FzZSBVUkw6CisgICAgICAgIGNhc2UgV0VFSzoKICAgICAgICAgICAg
IHJlc3VsdCA9IHZhbHVlKCk7CiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgY2Fz
ZSBDSEVDS0JPWDoKQEAgLTUwOSwxMSArNDkwLDE1IEBAIHZvaWQgSFRNTElucHV0RWxlbWVudDo6
cmVzdG9yZUZvcm1Db250cm9sU3RhdGUoY29uc3QgU3RyaW5nJiBzdGF0ZSkKICAgICBzd2l0Y2gg
KGlucHV0VHlwZSgpKSB7CiAgICAgICAgIGNhc2UgQlVUVE9OOgogICAgICAgICBjYXNlIENPTE9S
OgorICAgICAgICBjYXNlIERBVEU6CisgICAgICAgIGNhc2UgREFURVRJTUU6CisgICAgICAgIGNh
c2UgREFURVRJTUVMT0NBTDoKICAgICAgICAgY2FzZSBFTUFJTDoKICAgICAgICAgY2FzZSBGSUxF
OgogICAgICAgICBjYXNlIEhJRERFTjoKICAgICAgICAgY2FzZSBJTUFHRToKICAgICAgICAgY2Fz
ZSBJU0lOREVYOgorICAgICAgICBjYXNlIE1PTlRIOgogICAgICAgICBjYXNlIE5VTUJFUjoKICAg
ICAgICAgY2FzZSBSQU5HRToKICAgICAgICAgY2FzZSBSRVNFVDoKQEAgLTUyMSw3ICs1MDYsOSBA
QCB2b2lkIEhUTUxJbnB1dEVsZW1lbnQ6OnJlc3RvcmVGb3JtQ29udHJvbFN0YXRlKGNvbnN0IFN0
cmluZyYgc3RhdGUpCiAgICAgICAgIGNhc2UgU1VCTUlUOgogICAgICAgICBjYXNlIFRFTEVQSE9O
RToKICAgICAgICAgY2FzZSBURVhUOgorICAgICAgICBjYXNlIFRJTUU6CiAgICAgICAgIGNhc2Ug
VVJMOgorICAgICAgICBjYXNlIFdFRUs6CiAgICAgICAgICAgICBzZXRWYWx1ZShzdGF0ZSk7CiAg
ICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBDSEVDS0JPWDoKQEAgLTYyMSwxNCArNjA4
LDIwIEBAIHZvaWQgSFRNTElucHV0RWxlbWVudDo6YWNjZXNzS2V5QWN0aW9uKGJvb2wgc2VuZFRv
QW55RWxlbWVudCkKICAgICAgICAgICAgIC8vIGEgbm8tb3AgZm9yIHRoaXMgdHlwZQogICAgICAg
ICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgQ09MT1I6CisgICAgICAgIGNhc2UgREFURToKKyAg
ICAgICAgY2FzZSBEQVRFVElNRToKKyAgICAgICAgY2FzZSBEQVRFVElNRUxPQ0FMOgogICAgICAg
ICBjYXNlIEVNQUlMOgogICAgICAgICBjYXNlIElTSU5ERVg6CisgICAgICAgIGNhc2UgTU9OVEg6
CiAgICAgICAgIGNhc2UgTlVNQkVSOgogICAgICAgICBjYXNlIFBBU1NXT1JEOgogICAgICAgICBj
YXNlIFNFQVJDSDoKICAgICAgICAgY2FzZSBURUxFUEhPTkU6CiAgICAgICAgIGNhc2UgVEVYVDoK
KyAgICAgICAgY2FzZSBUSU1FOgogICAgICAgICBjYXNlIFVSTDoKKyAgICAgICAgY2FzZSBXRUVL
OgogICAgICAgICAgICAgLy8gc2hvdWxkIG5ldmVyIHJlc3RvcmUgcHJldmlvdXMgc2VsZWN0aW9u
IGhlcmUKICAgICAgICAgICAgIGZvY3VzKGZhbHNlKTsKICAgICAgICAgICAgIGJyZWFrOwpAQCAt
NzYxLDMwICs3NTQsOSBAQCB2b2lkIEhUTUxJbnB1dEVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmli
dXRlKE1hcHBlZEF0dHJpYnV0ZSAqYXR0cikKIAogYm9vbCBIVE1MSW5wdXRFbGVtZW50OjpyZW5k
ZXJlcklzTmVlZGVkKFJlbmRlclN0eWxlICpzdHlsZSkKIHsKLSAgICBzd2l0Y2ggKGlucHV0VHlw
ZSgpKSB7Ci0gICAgICAgIGNhc2UgQlVUVE9OOgotICAgICAgICBjYXNlIENIRUNLQk9YOgotICAg
ICAgICBjYXNlIENPTE9SOgotICAgICAgICBjYXNlIEVNQUlMOgotICAgICAgICBjYXNlIEZJTEU6
Ci0gICAgICAgIGNhc2UgSU1BR0U6Ci0gICAgICAgIGNhc2UgSVNJTkRFWDoKLSAgICAgICAgY2Fz
ZSBOVU1CRVI6Ci0gICAgICAgIGNhc2UgUEFTU1dPUkQ6Ci0gICAgICAgIGNhc2UgUkFESU86Ci0g
ICAgICAgIGNhc2UgUkFOR0U6Ci0gICAgICAgIGNhc2UgUkVTRVQ6Ci0gICAgICAgIGNhc2UgU0VB
UkNIOgotICAgICAgICBjYXNlIFNVQk1JVDoKLSAgICAgICAgY2FzZSBURUxFUEhPTkU6Ci0gICAg
ICAgIGNhc2UgVEVYVDoKLSAgICAgICAgY2FzZSBVUkw6Ci0gICAgICAgICAgICByZXR1cm4gSFRN
TEZvcm1Db250cm9sRWxlbWVudFdpdGhTdGF0ZTo6cmVuZGVyZXJJc05lZWRlZChzdHlsZSk7Ci0g
ICAgICAgIGNhc2UgSElEREVOOgotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLSAg
ICBBU1NFUlQoZmFsc2UpOwotICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoaW5wdXRUeXBlKCkg
PT0gSElEREVOKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgcmV0dXJuIEhUTUxGb3JtQ29u
dHJvbEVsZW1lbnRXaXRoU3RhdGU6OnJlbmRlcmVySXNOZWVkZWQoc3R5bGUpOwogfQogCiBSZW5k
ZXJPYmplY3QgKkhUTUxJbnB1dEVsZW1lbnQ6OmNyZWF0ZVJlbmRlcmVyKFJlbmRlckFyZW5hICph
cmVuYSwgUmVuZGVyU3R5bGUgKnN0eWxlKQpAQCAtODA2LDE0ICs3NzgsMjAgQEAgUmVuZGVyT2Jq
ZWN0ICpIVE1MSW5wdXRFbGVtZW50OjpjcmVhdGVSZW5kZXJlcihSZW5kZXJBcmVuYSAqYXJlbmEs
IFJlbmRlclN0eWxlICoKICAgICAgICAgY2FzZSBSQU5HRToKICAgICAgICAgICAgIHJldHVybiBu
ZXcgKGFyZW5hKSBSZW5kZXJTbGlkZXIodGhpcyk7CiAgICAgICAgIGNhc2UgQ09MT1I6CisgICAg
ICAgIGNhc2UgREFURToKKyAgICAgICAgY2FzZSBEQVRFVElNRToKKyAgICAgICAgY2FzZSBEQVRF
VElNRUxPQ0FMOgogICAgICAgICBjYXNlIEVNQUlMOgogICAgICAgICBjYXNlIElTSU5ERVg6Cisg
ICAgICAgIGNhc2UgTU9OVEg6CiAgICAgICAgIGNhc2UgTlVNQkVSOgogICAgICAgICBjYXNlIFBB
U1NXT1JEOgogICAgICAgICBjYXNlIFNFQVJDSDoKICAgICAgICAgY2FzZSBURUxFUEhPTkU6CiAg
ICAgICAgIGNhc2UgVEVYVDoKKyAgICAgICAgY2FzZSBUSU1FOgogICAgICAgICBjYXNlIFVSTDoK
KyAgICAgICAgY2FzZSBXRUVLOgogICAgICAgICAgICAgcmV0dXJuIG5ldyAoYXJlbmEpIFJlbmRl
clRleHRDb250cm9sU2luZ2xlTGluZSh0aGlzKTsKICAgICB9CiAgICAgQVNTRVJUKGZhbHNlKTsK
QEAgLTg5MywxNiArODcxLDIyIEBAIGJvb2wgSFRNTElucHV0RWxlbWVudDo6YXBwZW5kRm9ybURh
dGEoRm9ybURhdGFMaXN0JiBlbmNvZGluZywgYm9vbCBtdWx0aXBhcnQpCiAKICAgICBzd2l0Y2gg
KGlucHV0VHlwZSgpKSB7CiAgICAgICAgIGNhc2UgQ09MT1I6CisgICAgICAgIGNhc2UgREFURToK
KyAgICAgICAgY2FzZSBEQVRFVElNRToKKyAgICAgICAgY2FzZSBEQVRFVElNRUxPQ0FMOgogICAg
ICAgICBjYXNlIEVNQUlMOgogICAgICAgICBjYXNlIEhJRERFTjoKICAgICAgICAgY2FzZSBJU0lO
REVYOgorICAgICAgICBjYXNlIE1PTlRIOgogICAgICAgICBjYXNlIE5VTUJFUjoKICAgICAgICAg
Y2FzZSBQQVNTV09SRDoKICAgICAgICAgY2FzZSBSQU5HRToKICAgICAgICAgY2FzZSBTRUFSQ0g6
CiAgICAgICAgIGNhc2UgVEVMRVBIT05FOgogICAgICAgICBjYXNlIFRFWFQ6CisgICAgICAgIGNh
c2UgVElNRToKICAgICAgICAgY2FzZSBVUkw6CisgICAgICAgIGNhc2UgV0VFSzoKICAgICAgICAg
ICAgIC8vIGFsd2F5cyBzdWNjZXNzZnVsCiAgICAgICAgICAgICBlbmNvZGluZy5hcHBlbmREYXRh
KG5hbWUoKSwgdmFsdWUoKSk7CiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKQEAgLTk4MCw2ICs5
NjQsNDAgQEAgdm9pZCBIVE1MSW5wdXRFbGVtZW50OjpyZXNldCgpCiAgICAgbV91c2VEZWZhdWx0
Q2hlY2tlZCA9IHRydWU7CiB9CiAKK2Jvb2wgSFRNTElucHV0RWxlbWVudDo6aXNUZXh0RmllbGQo
KSBjb25zdAoreworICAgIHN3aXRjaCAoaW5wdXRUeXBlKCkpIHsKKyAgICBjYXNlIENPTE9SOgor
ICAgIGNhc2UgREFURToKKyAgICBjYXNlIERBVEVUSU1FOgorICAgIGNhc2UgREFURVRJTUVMT0NB
TDoKKyAgICBjYXNlIEVNQUlMOgorICAgIGNhc2UgSVNJTkRFWDoKKyAgICBjYXNlIE1PTlRIOgor
ICAgIGNhc2UgTlVNQkVSOgorICAgIGNhc2UgUEFTU1dPUkQ6CisgICAgY2FzZSBTRUFSQ0g6Cisg
ICAgY2FzZSBURUxFUEhPTkU6CisgICAgY2FzZSBURVhUOgorICAgIGNhc2UgVElNRToKKyAgICBj
YXNlIFVSTDoKKyAgICBjYXNlIFdFRUs6CisgICAgICAgIHJldHVybiB0cnVlOworICAgIGNhc2Ug
QlVUVE9OOgorICAgIGNhc2UgQ0hFQ0tCT1g6CisgICAgY2FzZSBGSUxFOgorICAgIGNhc2UgSElE
REVOOgorICAgIGNhc2UgSU1BR0U6CisgICAgY2FzZSBSQURJTzoKKyAgICBjYXNlIFJBTkdFOgor
ICAgIGNhc2UgUkVTRVQ6CisgICAgY2FzZSBTVUJNSVQ6CisgICAgICAgIHJldHVybiBmYWxzZTsK
KyAgICB9CisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIGZhbHNlOworfQor
CiB2b2lkIEhUTUxJbnB1dEVsZW1lbnQ6OnNldENoZWNrZWQoYm9vbCBub3dDaGVja2VkLCBib29s
IHNlbmRDaGFuZ2VFdmVudCkKIHsKICAgICBpZiAoY2hlY2tlZCgpID09IG5vd0NoZWNrZWQpCkBA
IC0xMDcxLDExICsxMDg5LDE1IEBAIFN0cmluZyBIVE1MSW5wdXRFbGVtZW50Ojp2YWx1ZVdpdGhE
ZWZhdWx0KCkgY29uc3QKICAgICAgICAgICAgIGNhc2UgQlVUVE9OOgogICAgICAgICAgICAgY2Fz
ZSBDSEVDS0JPWDoKICAgICAgICAgICAgIGNhc2UgQ09MT1I6CisgICAgICAgICAgICBjYXNlIERB
VEU6CisgICAgICAgICAgICBjYXNlIERBVEVUSU1FOgorICAgICAgICAgICAgY2FzZSBEQVRFVElN
RUxPQ0FMOgogICAgICAgICAgICAgY2FzZSBFTUFJTDoKICAgICAgICAgICAgIGNhc2UgRklMRToK
ICAgICAgICAgICAgIGNhc2UgSElEREVOOgogICAgICAgICAgICAgY2FzZSBJTUFHRToKICAgICAg
ICAgICAgIGNhc2UgSVNJTkRFWDoKKyAgICAgICAgICAgIGNhc2UgTU9OVEg6CiAgICAgICAgICAg
ICBjYXNlIE5VTUJFUjoKICAgICAgICAgICAgIGNhc2UgUEFTU1dPUkQ6CiAgICAgICAgICAgICBj
YXNlIFJBRElPOgpAQCAtMTA4Myw3ICsxMTA1LDkgQEAgU3RyaW5nIEhUTUxJbnB1dEVsZW1lbnQ6
OnZhbHVlV2l0aERlZmF1bHQoKSBjb25zdAogICAgICAgICAgICAgY2FzZSBTRUFSQ0g6CiAgICAg
ICAgICAgICBjYXNlIFRFTEVQSE9ORToKICAgICAgICAgICAgIGNhc2UgVEVYVDoKKyAgICAgICAg
ICAgIGNhc2UgVElNRToKICAgICAgICAgICAgIGNhc2UgVVJMOgorICAgICAgICAgICAgY2FzZSBX
RUVLOgogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgY2FzZSBSRVNFVDoKICAg
ICAgICAgICAgICAgICB2ID0gcmVzZXRCdXR0b25EZWZhdWx0TGFiZWwoKTsKQEAgLTExNzcsMTYg
KzEyMDEsMjIgQEAgYm9vbCBIVE1MSW5wdXRFbGVtZW50OjpzdG9yZXNWYWx1ZVNlcGFyYXRlRnJv
bUF0dHJpYnV0ZSgpIGNvbnN0CiAgICAgICAgIGNhc2UgU1VCTUlUOgogICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOwogICAgICAgICBjYXNlIENPTE9SOgorICAgICAgICBjYXNlIERBVEU6CisgICAg
ICAgIGNhc2UgREFURVRJTUU6CisgICAgICAgIGNhc2UgREFURVRJTUVMT0NBTDoKICAgICAgICAg
Y2FzZSBFTUFJTDoKICAgICAgICAgY2FzZSBGSUxFOgogICAgICAgICBjYXNlIElTSU5ERVg6Cisg
ICAgICAgIGNhc2UgTU9OVEg6CiAgICAgICAgIGNhc2UgTlVNQkVSOgogICAgICAgICBjYXNlIFBB
U1NXT1JEOgogICAgICAgICBjYXNlIFJBTkdFOgogICAgICAgICBjYXNlIFNFQVJDSDoKICAgICAg
ICAgY2FzZSBURUxFUEhPTkU6CiAgICAgICAgIGNhc2UgVEVYVDoKKyAgICAgICAgY2FzZSBUSU1F
OgogICAgICAgICBjYXNlIFVSTDoKKyAgICAgICAgY2FzZSBXRUVLOgogICAgICAgICAgICAgcmV0
dXJuIHRydWU7CiAgICAgfQogICAgIHJldHVybiBmYWxzZTsKQEAgLTEzNTMsMTYgKzEzODMsMjIg
QEAgdm9pZCBIVE1MSW5wdXRFbGVtZW50OjpkZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50KiBldnQp
CiAgICAgICAgICAgICBzd2l0Y2ggKGlucHV0VHlwZSgpKSB7CiAgICAgICAgICAgICAgICAgY2Fz
ZSBDSEVDS0JPWDoKICAgICAgICAgICAgICAgICBjYXNlIENPTE9SOgorICAgICAgICAgICAgICAg
IGNhc2UgREFURToKKyAgICAgICAgICAgICAgICBjYXNlIERBVEVUSU1FOgorICAgICAgICAgICAg
ICAgIGNhc2UgREFURVRJTUVMT0NBTDoKICAgICAgICAgICAgICAgICBjYXNlIEVNQUlMOgogICAg
ICAgICAgICAgICAgIGNhc2UgSElEREVOOgogICAgICAgICAgICAgICAgIGNhc2UgSVNJTkRFWDoK
KyAgICAgICAgICAgICAgICBjYXNlIE1PTlRIOgogICAgICAgICAgICAgICAgIGNhc2UgTlVNQkVS
OgogICAgICAgICAgICAgICAgIGNhc2UgUEFTU1dPUkQ6CiAgICAgICAgICAgICAgICAgY2FzZSBS
QU5HRToKICAgICAgICAgICAgICAgICBjYXNlIFNFQVJDSDoKICAgICAgICAgICAgICAgICBjYXNl
IFRFTEVQSE9ORToKICAgICAgICAgICAgICAgICBjYXNlIFRFWFQ6CisgICAgICAgICAgICAgICAg
Y2FzZSBUSU1FOgogICAgICAgICAgICAgICAgIGNhc2UgVVJMOgorICAgICAgICAgICAgICAgIGNh
c2UgV0VFSzoKICAgICAgICAgICAgICAgICAgICAgLy8gU2ltdWxhdGUgbW91c2UgY2xpY2sgb24g
dGhlIGRlZmF1bHQgZm9ybSBidXR0b24gZm9yIGVudGVyIGZvciB0aGVzZSB0eXBlcyBvZiBlbGVt
ZW50cy4KICAgICAgICAgICAgICAgICAgICAgY2xpY2tEZWZhdWx0Rm9ybUJ1dHRvbiA9IHRydWU7
CiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwpAQCAtMTQ4MSwxNiArMTUxNywyMiBAQCB2b2lk
IEhUTUxJbnB1dEVsZW1lbnQ6OmRlZmF1bHRFdmVudEhhbmRsZXIoRXZlbnQqIGV2dCkKICAgICAg
ICAgICAgICAgICAgICAgICAgIGNsaWNrRWxlbWVudCA9IHRydWU7CiAgICAgICAgICAgICAgICAg
ICAgIGJyZWFrOwogICAgICAgICAgICAgICAgIGNhc2UgQ09MT1I6CisgICAgICAgICAgICAgICAg
Y2FzZSBEQVRFOgorICAgICAgICAgICAgICAgIGNhc2UgREFURVRJTUU6CisgICAgICAgICAgICAg
ICAgY2FzZSBEQVRFVElNRUxPQ0FMOgogICAgICAgICAgICAgICAgIGNhc2UgRU1BSUw6CiAgICAg
ICAgICAgICAgICAgY2FzZSBISURERU46CiAgICAgICAgICAgICAgICAgY2FzZSBJU0lOREVYOgor
ICAgICAgICAgICAgICAgIGNhc2UgTU9OVEg6CiAgICAgICAgICAgICAgICAgY2FzZSBOVU1CRVI6
CiAgICAgICAgICAgICAgICAgY2FzZSBQQVNTV09SRDoKICAgICAgICAgICAgICAgICBjYXNlIFJB
TkdFOgogICAgICAgICAgICAgICAgIGNhc2UgU0VBUkNIOgogICAgICAgICAgICAgICAgIGNhc2Ug
VEVMRVBIT05FOgogICAgICAgICAgICAgICAgIGNhc2UgVEVYVDoKKyAgICAgICAgICAgICAgICBj
YXNlIFRJTUU6CiAgICAgICAgICAgICAgICAgY2FzZSBVUkw6CisgICAgICAgICAgICAgICAgY2Fz
ZSBXRUVLOgogICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIH0KICAgICAg
ICAgfQpAQCAtMTcwOCw2ICsxNzUwLDEyIEBAIGJvb2wgSFRNTElucHV0RWxlbWVudDo6aXNSZXF1
aXJlZEZvcm1Db250cm9sKCkgY29uc3QKICAgICAgICAgY2FzZSBDSEVDS0JPWDoKICAgICAgICAg
Y2FzZSBSQURJTzoKICAgICAgICAgY2FzZSBGSUxFOgorICAgICAgICBjYXNlIERBVEVUSU1FOgor
ICAgICAgICBjYXNlIERBVEU6CisgICAgICAgIGNhc2UgTU9OVEg6CisgICAgICAgIGNhc2UgV0VF
SzoKKyAgICAgICAgY2FzZSBUSU1FOgorICAgICAgICBjYXNlIERBVEVUSU1FTE9DQUw6CiAgICAg
ICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgY2FzZSBISURERU46CiAgICAgICAgIGNhc2Ug
UkFOR0U6CkBAIC0xODM3LDcgKzE4ODUsMTMgQEAgSFRNTERhdGFMaXN0RWxlbWVudCogSFRNTElu
cHV0RWxlbWVudDo6ZGF0YUxpc3QoKSBjb25zdAogICAgIGNhc2UgRU1BSUw6CiAgICAgY2FzZSBO
VU1CRVI6CiAgICAgY2FzZSBSQU5HRToKLSAgICBjYXNlIENPTE9SOiB7CisgICAgY2FzZSBDT0xP
UjoKKyAgICBjYXNlIERBVEVUSU1FOgorICAgIGNhc2UgREFURToKKyAgICBjYXNlIE1PTlRIOgor
ICAgIGNhc2UgV0VFSzoKKyAgICBjYXNlIFRJTUU6CisgICAgY2FzZSBEQVRFVElNRUxPQ0FMOiB7
CiAgICAgICAgIEVsZW1lbnQqIGVsZW1lbnQgPSBkb2N1bWVudCgpLT5nZXRFbGVtZW50QnlJZChn
ZXRBdHRyaWJ1dGUobGlzdEF0dHIpKTsKICAgICAgICAgaWYgKGVsZW1lbnQgJiYgZWxlbWVudC0+
aGFzVGFnTmFtZShkYXRhbGlzdFRhZykpCiAgICAgICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8
SFRNTERhdGFMaXN0RWxlbWVudCo+KGVsZW1lbnQpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1s
L0hUTUxJbnB1dEVsZW1lbnQuaCBiL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmgKaW5k
ZXggOGYyNzNjYi4uOTU4NTc5MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVs
ZW1lbnQuaAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oCkBAIC00MCw3ICs0
MCw3IEBAIGNsYXNzIFZpc2libGVTZWxlY3Rpb247CiBjbGFzcyBIVE1MSW5wdXRFbGVtZW50IDog
cHVibGljIEhUTUxGb3JtQ29udHJvbEVsZW1lbnRXaXRoU3RhdGUsIHB1YmxpYyBJbnB1dEVsZW1l
bnQgewogcHVibGljOgogICAgIGVudW0gSW5wdXRUeXBlIHsKLSAgICAgICAgVEVYVCwKKyAgICAg
ICAgVEVYVCA9IDAsICAvLyBURVhUIG11c3QgYmUgMCBiZWNhdXNlIGl0J3MgdGhlIGRlZmF1bHQg
dHlwZS4KICAgICAgICAgUEFTU1dPUkQsCiAgICAgICAgIElTSU5ERVgsCiAgICAgICAgIENIRUNL
Qk9YLApAQCAtNTcsOCArNTcsMTUgQEAgcHVibGljOgogICAgICAgICBOVU1CRVIsCiAgICAgICAg
IFRFTEVQSE9ORSwKICAgICAgICAgVVJMLAotICAgICAgICBDT0xPUgorICAgICAgICBDT0xPUiwK
KyAgICAgICAgREFURVRJTUUsCisgICAgICAgIERBVEUsCisgICAgICAgIE1PTlRILAorICAgICAg
ICBXRUVLLAorICAgICAgICBUSU1FLAorICAgICAgICBEQVRFVElNRUxPQ0FMCiAgICAgfTsKKyAg
ICBzdGF0aWMgY29uc3QgaW50IE1BWF9JTlBVVF9UWVBFUyA9IERBVEVUSU1FTE9DQUwgKyAxOwog
ICAgIAogICAgIGVudW0gQXV0b0NvbXBsZXRlU2V0dGluZyB7CiAgICAgICAgIFVuaW5pdGlhbGl6
ZWQsCkBAIC05OCw3ICsxMDUsNyBAQCBwdWJsaWM6CiAKICAgICBib29sIGlzVGV4dEJ1dHRvbigp
IGNvbnN0IHsgcmV0dXJuIG1fdHlwZSA9PSBTVUJNSVQgfHwgbV90eXBlID09IFJFU0VUIHx8IG1f
dHlwZSA9PSBCVVRUT047IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNSYWRpb0J1dHRvbigpIGNvbnN0
IHsgcmV0dXJuIG1fdHlwZSA9PSBSQURJTzsgfQotICAgIHZpcnR1YWwgYm9vbCBpc1RleHRGaWVs
ZCgpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZSA9PSBURVhUIHx8IG1fdHlwZSA9PSBQQVNTV09SRCB8
fCBtX3R5cGUgPT0gU0VBUkNIIHx8IG1fdHlwZSA9PSBJU0lOREVYIHx8IG1fdHlwZSA9PSBFTUFJ
TCB8fCBtX3R5cGUgPT0gTlVNQkVSIHx8IG1fdHlwZSA9PSBURUxFUEhPTkUgfHwgbV90eXBlID09
IFVSTCB8fCBtX3R5cGUgPT0gQ09MT1I7IH0KKyAgICB2aXJ0dWFsIGJvb2wgaXNUZXh0RmllbGQo
KSBjb25zdDsKICAgICB2aXJ0dWFsIGJvb2wgaXNTZWFyY2hGaWVsZCgpIGNvbnN0IHsgcmV0dXJu
IG1fdHlwZSA9PSBTRUFSQ0g7IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNJbnB1dFR5cGVIaWRkZW4o
KSBjb25zdCB7IHJldHVybiBtX3R5cGUgPT0gSElEREVOOyB9CiAgICAgdmlydHVhbCBib29sIGlz
UGFzc3dvcmRGaWVsZCgpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZSA9PSBQQVNTV09SRDsgfQotLSAK
MS42LjMuMwoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>40211</attachid>
            <date>2009-09-27 18:54:32 -0700</date>
            <delta_ts>2009-10-01 18:18:02 -0700</delta_ts>
            <desc>Patch part 1: recognize date&amp;time types as text fields (rev.3)</desc>
            <filename>0001-Add-date-time-types.patch</filename>
            <type>text/plain</type>
            <size>28807</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">RnJvbSA4OTNiOTg4OGMzZmIyNjlkYjIxMGM0YjhkNzBlZWYzNDFkNjE5ZjQ2IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBLZW50IFRhbXVyYSA8dGtlbnRAY2hyb21pdW0ub3JnPgpEYXRl
OiBUaHUsIDEwIFNlcCAyMDA5IDIwOjMyOjMzICswOTAwClN1YmplY3Q6IFtQQVRDSF0gQWRkIGRh
dGUmdGltZSB0eXBlcwoKLS0tCiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB8ICAgMTEgKwogLi4uL2Zhc3QvZm9ybXMvaW5wdXQtdHlwZS1jaGFuZ2Uz
LWV4cGVjdGVkLnR4dCAgICAgfCAgIDY3ICsrKysKIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW5w
dXQtdHlwZS1jaGFuZ2UzLmh0bWwgICAgIHwgICAxMyArCiAuLi4vZmFzdC9mb3Jtcy9zY3JpcHQt
dGVzdHMvaW5wdXQtdHlwZS1jaGFuZ2UzLmpzICB8ICAgNzcgKysrKysKIFdlYkNvcmUvQ2hhbmdl
TG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAzMyArKwogV2ViQ29yZS9o
dG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwICAgICAgICAgICAgICAgICAgfCAgMzIwICsrKysrKysr
KysrKy0tLS0tLS0tCiBXZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oICAgICAgICAgICAg
ICAgICAgICB8ICAgMTMgKy0KIDcgZmlsZXMgY2hhbmdlZCwgMzk4IGluc2VydGlvbnMoKyksIDEz
NiBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L2lucHV0LXR5cGUtY2hhbmdlMy1leHBlY3RlZC50eHQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL2lucHV0LXR5cGUtY2hhbmdlMy5odG1sCiBjcmVhdGUgbW9kZSAx
MDA2NDQgTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvaW5wdXQtdHlwZS1jaGFu
Z2UzLmpzCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCmluZGV4IDYzNTZlZTAuLjc0Njg4NzQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAor
MjAwOS0wOS0yMyAgS2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHRlc3RzIGZvciByZWFk
aW5nL3dyaXRpbmcgLnR5cGUgcHJvcGVydHkgb2YgSFRNTElucHV0RWxlbWVudC4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI5MDA0CisKKyAgICAgICAg
KiBmYXN0L2Zvcm1zL2lucHV0LXR5cGUtY2hhbmdlMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGZhc3QvZm9ybXMvaW5wdXQtdHlwZS1jaGFuZ2UzLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGZhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2lucHV0LXR5cGUtY2hhbmdlMy5qczogQWRkZWQu
CisKIDIwMDktMDktMjcgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4KIAogICAgICAgICBS
ZXZpZXdlZCBieSBEYW4gQmVybnN0ZWluLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9pbnB1dC10eXBlLWNoYW5nZTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9pbnB1dC10eXBlLWNoYW5nZTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAuLjhmNjcwYTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL2lucHV0LXR5cGUtY2hhbmdlMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw2NyBA
QAorVGVzdHMgZm9yIHdyaXRpbmcgYW5kIHJlYWRpbmcgLnR5cGUgcHJvcGVydHkgb2YgSFRNTElu
cHV0RWxlbWVudC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgaW5wdXQu
dHlwZSBpcyAidGV4dCIKK1BBU1MgaW5wdXQudHlwZSBmb3IgIkZJTEUiIGlzIGNvcnJlY3RseSAi
ZmlsZSIuCitQQVNTIGlucHV0LnR5cGUgZm9yICJ0ZXh0IiBpcyBjb3JyZWN0bHkgInRleHQiLgor
UEFTUyBpbnB1dC50eXBlIGZvciAiVEVYVCIgaXMgY29ycmVjdGx5ICJ0ZXh0Ii4KK1BBU1MgaW5w
dXQudHlwZSBmb3IgIiB0ZXh0ICIgaXMgY29ycmVjdGx5ICJ0ZXh0Ii4KK1BBU1MgaW5wdXQudHlw
ZSBmb3IgImJ1dHRvbiIgaXMgY29ycmVjdGx5ICJidXR0b24iLgorUEFTUyBpbnB1dC50eXBlIGZv
ciAiQlVUVE9OIiBpcyBjb3JyZWN0bHkgImJ1dHRvbiIuCitQQVNTIGlucHV0LnR5cGUgZm9yICIg
YnV0dG9uICIgaXMgY29ycmVjdGx5ICJ0ZXh0Ii4KK1BBU1MgaW5wdXQudHlwZSBmb3IgImNoZWNr
Ym94IiBpcyBjb3JyZWN0bHkgImNoZWNrYm94Ii4KK1BBU1MgaW5wdXQudHlwZSBmb3IgIkNIRUNL
Qk9YIiBpcyBjb3JyZWN0bHkgImNoZWNrYm94Ii4KK1BBU1MgaW5wdXQudHlwZSBmb3IgImNvbG9y
IiBpcyBjb3JyZWN0bHkgImNvbG9yIi4KK1BBU1MgaW5wdXQudHlwZSBmb3IgIkNPTE9SIiBpcyBj
b3JyZWN0bHkgImNvbG9yIi4KK1BBU1MgaW5wdXQudHlwZSBmb3IgImRhdGUiIGlzIGNvcnJlY3Rs
eSAiZGF0ZSIuCitQQVNTIGlucHV0LnR5cGUgZm9yICJEQVRFIiBpcyBjb3JyZWN0bHkgImRhdGUi
LgorUEFTUyBpbnB1dC50eXBlIGZvciAiZGF0ZXRpbWUiIGlzIGNvcnJlY3RseSAiZGF0ZXRpbWUi
LgorUEFTUyBpbnB1dC50eXBlIGZvciAiRGF0ZVRpbWUiIGlzIGNvcnJlY3RseSAiZGF0ZXRpbWUi
LgorUEFTUyBpbnB1dC50eXBlIGZvciAiZGF0ZXRpbWUtbG9jYWwiIGlzIGNvcnJlY3RseSAiZGF0
ZXRpbWUtbG9jYWwiLgorUEFTUyBpbnB1dC50eXBlIGZvciAiZGF0ZXRpbWVsb2NhbCIgaXMgY29y
cmVjdGx5ICJ0ZXh0Ii4KK1BBU1MgaW5wdXQudHlwZSBmb3IgImRhdGV0aW1lX2xvY2FsIiBpcyBj
b3JyZWN0bHkgInRleHQiLgorUEFTUyBpbnB1dC50eXBlIGZvciAiRGF0ZVRpbWUtTG9jYWwiIGlz
IGNvcnJlY3RseSAiZGF0ZXRpbWUtbG9jYWwiLgorUEFTUyBpbnB1dC50eXBlIGZvciAiZW1haWwi
IGlzIGNvcnJlY3RseSAiZW1haWwiLgorUEFTUyBpbnB1dC50eXBlIGZvciAiRU1haWwiIGlzIGNv
cnJlY3RseSAiZW1haWwiLgorUEFTUyBpbnB1dC50eXBlIGZvciAiZmlsZSIgaXMgY29ycmVjdGx5
ICJlbWFpbCIuCitQQVNTIGlucHV0LnR5cGUgZm9yICJGSUxFIiBpcyBjb3JyZWN0bHkgImVtYWls
Ii4KK1BBU1MgaW5wdXQudHlwZSBmb3IgImhpZGRlbiIgaXMgY29ycmVjdGx5ICJoaWRkZW4iLgor
UEFTUyBpbnB1dC50eXBlIGZvciAiSElEREVOIiBpcyBjb3JyZWN0bHkgImhpZGRlbiIuCitQQVNT
IGlucHV0LnR5cGUgZm9yICJpbWFnZSIgaXMgY29ycmVjdGx5ICJpbWFnZSIuCitQQVNTIGlucHV0
LnR5cGUgZm9yICJJTUFHRSIgaXMgY29ycmVjdGx5ICJpbWFnZSIuCitQQVNTIGlucHV0LnR5cGUg
Zm9yICJpc2luZGV4IiBpcyBjb3JyZWN0bHkgInRleHQiLgorUEFTUyBpbnB1dC50eXBlIGZvciAi
a2h0bWxfaXNpbmRleCIgaXMgY29ycmVjdGx5ICIiLgorUEFTUyBpbnB1dC50eXBlIGZvciAiS0hU
TUxfSVNJTkRFWCIgaXMgY29ycmVjdGx5ICIiLgorUEFTUyBpbnB1dC50eXBlIGZvciAibW9udGgi
IGlzIGNvcnJlY3RseSAibW9udGgiLgorUEFTUyBpbnB1dC50eXBlIGZvciAiTU9OVEgiIGlzIGNv
cnJlY3RseSAibW9udGgiLgorUEFTUyBpbnB1dC50eXBlIGZvciAibnVtYmVyIiBpcyBjb3JyZWN0
bHkgIm51bWJlciIuCitQQVNTIGlucHV0LnR5cGUgZm9yICJOVU1CRVIiIGlzIGNvcnJlY3RseSAi
bnVtYmVyIi4KK1BBU1MgaW5wdXQudHlwZSBmb3IgInBhc3N3b3JkIiBpcyBjb3JyZWN0bHkgInBh
c3N3b3JkIi4KK1BBU1MgaW5wdXQudHlwZSBmb3IgIlBBU1NXT1JEIiBpcyBjb3JyZWN0bHkgInBh
c3N3b3JkIi4KK1BBU1MgaW5wdXQudHlwZSBmb3IgInBhc3N3ZCIgaXMgY29ycmVjdGx5ICJ0ZXh0
Ii4KK1BBU1MgaW5wdXQudHlwZSBmb3IgInJhZGlvIiBpcyBjb3JyZWN0bHkgInJhZGlvIi4KK1BB
U1MgaW5wdXQudHlwZSBmb3IgIlJBRElPIiBpcyBjb3JyZWN0bHkgInJhZGlvIi4KK1BBU1MgaW5w
dXQudHlwZSBmb3IgInJhbmdlIiBpcyBjb3JyZWN0bHkgInJhbmdlIi4KK1BBU1MgaW5wdXQudHlw
ZSBmb3IgIlJBTkdFIiBpcyBjb3JyZWN0bHkgInJhbmdlIi4KK1BBU1MgaW5wdXQudHlwZSBmb3Ig
InJlc2V0IiBpcyBjb3JyZWN0bHkgInJlc2V0Ii4KK1BBU1MgaW5wdXQudHlwZSBmb3IgIlJFU0VU
IiBpcyBjb3JyZWN0bHkgInJlc2V0Ii4KK1BBU1MgaW5wdXQudHlwZSBmb3IgInNlYXJjaCIgaXMg
Y29ycmVjdGx5ICJzZWFyY2giLgorUEFTUyBpbnB1dC50eXBlIGZvciAiU0VBUkNIIiBpcyBjb3Jy
ZWN0bHkgInNlYXJjaCIuCitQQVNTIGlucHV0LnR5cGUgZm9yICJzdWJtaXQiIGlzIGNvcnJlY3Rs
eSAic3VibWl0Ii4KK1BBU1MgaW5wdXQudHlwZSBmb3IgIlNVQk1JVCIgaXMgY29ycmVjdGx5ICJz
dWJtaXQiLgorUEFTUyBpbnB1dC50eXBlIGZvciAidGVsIiBpcyBjb3JyZWN0bHkgInRlbCIuCitQ
QVNTIGlucHV0LnR5cGUgZm9yICJURUwiIGlzIGNvcnJlY3RseSAidGVsIi4KK1BBU1MgaW5wdXQu
dHlwZSBmb3IgInRlbGVwaG9uZSIgaXMgY29ycmVjdGx5ICJ0ZXh0Ii4KK1BBU1MgaW5wdXQudHlw
ZSBmb3IgInRpbWUiIGlzIGNvcnJlY3RseSAidGltZSIuCitQQVNTIGlucHV0LnR5cGUgZm9yICJU
SU1FIiBpcyBjb3JyZWN0bHkgInRpbWUiLgorUEFTUyBpbnB1dC50eXBlIGZvciAidXJsIiBpcyBj
b3JyZWN0bHkgInVybCIuCitQQVNTIGlucHV0LnR5cGUgZm9yICJVUkwiIGlzIGNvcnJlY3RseSAi
dXJsIi4KK1BBU1MgaW5wdXQudHlwZSBmb3IgInVyaSIgaXMgY29ycmVjdGx5ICJ0ZXh0Ii4KK1BB
U1MgaW5wdXQudHlwZSBmb3IgIndlZWsiIGlzIGNvcnJlY3RseSAid2VlayIuCitQQVNTIGlucHV0
LnR5cGUgZm9yICJXRUVLIiBpcyBjb3JyZWN0bHkgIndlZWsiLgorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvaW5wdXQtdHlwZS1jaGFuZ2UzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL2lucHV0LXR5cGUtY2hhbmdlMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAuLmYxOTgyMGYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L2lucHV0LXR5cGUtY2hhbmdlMy5odG1sCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayBy
ZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5
bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL2lu
cHV0LXR5cGUtY2hhbmdlMy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2lucHV0LXR5
cGUtY2hhbmdlMy5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2lucHV0
LXR5cGUtY2hhbmdlMy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZGZh
YTAwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVz
dHMvaW5wdXQtdHlwZS1jaGFuZ2UzLmpzCkBAIC0wLDAgKzEsNzcgQEAKK2Rlc2NyaXB0aW9uKCdU
ZXN0cyBmb3Igd3JpdGluZyBhbmQgcmVhZGluZyAudHlwZSBwcm9wZXJ0eSBvZiBIVE1MSW5wdXRF
bGVtZW50LicpOworCit2YXIgaW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcp
OworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpbnB1dCk7CisKK3Nob3VsZEJlKCdpbnB1dC50
eXBlJywgJyJ0ZXh0IicpOworCitmdW5jdGlvbiBjaGVjayh2YWx1ZSwgZXhwZWN0ZWQpCit7Cisg
ICAgaW5wdXQudHlwZSA9IHZhbHVlOworICAgIGlmIChpbnB1dC50eXBlID09IGV4cGVjdGVkKQor
ICAgICAgICB0ZXN0UGFzc2VkKCdpbnB1dC50eXBlIGZvciAiJyArIHZhbHVlICsgJyIgaXMgY29y
cmVjdGx5ICInICsgaW5wdXQudHlwZSArICciLicpOworICAgIGVsc2UKKyAgICAgICAgdGVzdEZh
aWxlZCgnaW5wdXQudHlwZSBmb3IgIicgKyB2YWx1ZSArICciIGlzIGluY29ycmVjdGx5ICInICsg
aW5wdXQudHlwZSArICciLCBzaG91bGQgYmUgIicgKyBleHBlY3RlZCArICciLicpOworfQorCitj
aGVjaygiRklMRSIsICJmaWxlIik7CisKK2NoZWNrKCJ0ZXh0IiwgInRleHQiKTsKK2NoZWNrKCJU
RVhUIiwgInRleHQiKTsKK2NoZWNrKCIgdGV4dCAiLCAidGV4dCIpOworY2hlY2soImJ1dHRvbiIs
ICJidXR0b24iKTsKK2NoZWNrKCJCVVRUT04iLCAiYnV0dG9uIik7CitjaGVjaygiIGJ1dHRvbiAi
LCAidGV4dCIpOworY2hlY2soImNoZWNrYm94IiwgImNoZWNrYm94Iik7CitjaGVjaygiQ0hFQ0tC
T1giLCAiY2hlY2tib3giKTsKK2NoZWNrKCJjb2xvciIsICJjb2xvciIpOworY2hlY2soIkNPTE9S
IiwgImNvbG9yIik7CitjaGVjaygiZGF0ZSIsICJkYXRlIik7CitjaGVjaygiREFURSIsICJkYXRl
Iik7CitjaGVjaygiZGF0ZXRpbWUiLCAiZGF0ZXRpbWUiKTsKK2NoZWNrKCJEYXRlVGltZSIsICJk
YXRldGltZSIpOworY2hlY2soImRhdGV0aW1lLWxvY2FsIiwgImRhdGV0aW1lLWxvY2FsIik7Citj
aGVjaygiZGF0ZXRpbWVsb2NhbCIsICJ0ZXh0Iik7CitjaGVjaygiZGF0ZXRpbWVfbG9jYWwiLCAi
dGV4dCIpOworY2hlY2soIkRhdGVUaW1lLUxvY2FsIiwgImRhdGV0aW1lLWxvY2FsIik7CitjaGVj
aygiZW1haWwiLCAiZW1haWwiKTsKK2NoZWNrKCJFTWFpbCIsICJlbWFpbCIpOworY2hlY2soImZp
bGUiLCAiZW1haWwiKTsgLy8gV2UgY2FuJ3QgY2hhbmdlIGEgY29uY3JldGUgdHlwZSB0byBmaWxl
IGZvciBhIHNlY3VyaXR5IHJlYXNvbi4KK2NoZWNrKCJGSUxFIiwgImVtYWlsIik7CitjaGVjaygi
aGlkZGVuIiwgImhpZGRlbiIpOworY2hlY2soIkhJRERFTiIsICJoaWRkZW4iKTsKK2NoZWNrKCJp
bWFnZSIsICJpbWFnZSIpOworY2hlY2soIklNQUdFIiwgImltYWdlIik7CitjaGVjaygiaXNpbmRl
eCIsICJ0ZXh0Iik7CitjaGVjaygia2h0bWxfaXNpbmRleCIsICIiKTsKK2NoZWNrKCJLSFRNTF9J
U0lOREVYIiwgIiIpOworY2hlY2soIm1vbnRoIiwgIm1vbnRoIik7CitjaGVjaygiTU9OVEgiLCAi
bW9udGgiKTsKK2NoZWNrKCJudW1iZXIiLCAibnVtYmVyIik7CitjaGVjaygiTlVNQkVSIiwgIm51
bWJlciIpOworY2hlY2soInBhc3N3b3JkIiwgInBhc3N3b3JkIik7CitjaGVjaygiUEFTU1dPUkQi
LCAicGFzc3dvcmQiKTsKK2NoZWNrKCJwYXNzd2QiLCAidGV4dCIpOworY2hlY2soInJhZGlvIiwg
InJhZGlvIik7CitjaGVjaygiUkFESU8iLCAicmFkaW8iKTsKK2NoZWNrKCJyYW5nZSIsICJyYW5n
ZSIpOworY2hlY2soIlJBTkdFIiwgInJhbmdlIik7CitjaGVjaygicmVzZXQiLCAicmVzZXQiKTsK
K2NoZWNrKCJSRVNFVCIsICJyZXNldCIpOworY2hlY2soInNlYXJjaCIsICJzZWFyY2giKTsKK2No
ZWNrKCJTRUFSQ0giLCAic2VhcmNoIik7CitjaGVjaygic3VibWl0IiwgInN1Ym1pdCIpOworY2hl
Y2soIlNVQk1JVCIsICJzdWJtaXQiKTsKK2NoZWNrKCJ0ZWwiLCAidGVsIik7CitjaGVjaygiVEVM
IiwgInRlbCIpOworY2hlY2soInRlbGVwaG9uZSIsICJ0ZXh0Iik7CitjaGVjaygidGltZSIsICJ0
aW1lIik7CitjaGVjaygiVElNRSIsICJ0aW1lIik7CitjaGVjaygidXJsIiwgInVybCIpOworY2hl
Y2soIlVSTCIsICJ1cmwiKTsKK2NoZWNrKCJ1cmkiLCAidGV4dCIpOworY2hlY2soIndlZWsiLCAi
d2VlayIpOworY2hlY2soIldFRUsiLCAid2VlayIpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2Vk
ID0gdHJ1ZTsKKwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5n
ZUxvZwppbmRleCAwMzZmYjVlLi5jMGY5OTQ1IDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxv
ZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDA5LTA5LTAxICBL
ZW50IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAtIFJlY29nbml6ZXMgZGF0ZS9kYXRldGltZS9kYXRl
dGltZS1sb2NhbC9tb250aC90aW1lL3dlZWsgdHlwZXMgb2YgSU5QVVQgZWxlbWVudC4KKyAgICAg
ICAgICBUaGV5IGhhdmUgbm8gZGVkaWNhdGVkIFVJIGFuZCBubyB0eXBlIHZhbGlkYXRpb24gZm9y
IG5vdy4KKyAgICAgICAgLSBDbGVhbiB1cCBzZXRJbnB1dFR5cGUoKSBhbmQgZm9ybUNvbnRyb2xU
eXBlKCkgb2YgSFRNTElucHV0RWxlbWVudC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTI5MDA0CisKKyAgICAgICAgVGVzdDogZmFzdC9mb3Jtcy9pbnB1
dC10eXBlLWNoYW5nZTMuaHRtbAorCisgICAgICAgICogaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQ6OnZhbHVlTWlzc2luZyk6Cisg
ICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50OjpwYXR0ZXJuTWlzbWF0Y2gpOgorICAg
ICAgICAoV2ViQ29yZTo6Y3JlYXRlVHlwZU1hcCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW5w
dXRFbGVtZW50OjpzZXRJbnB1dFR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlRm9ybUNv
bnRyb2xUeXBlcyk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50Ojpmb3JtQ29u
dHJvbFR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6c2F2ZUZvcm1D
b250cm9sU3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6cmVzdG9y
ZUZvcm1Db250cm9sU3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6
YWNjZXNzS2V5QWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQ6OnJl
bmRlcmVySXNOZWVkZWQpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6Y3Jl
YXRlUmVuZGVyZXIpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6YXBwZW5k
Rm9ybURhdGEpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6aXNUZXh0Rmll
bGQpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6dmFsdWVXaXRoRGVmYXVs
dCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50OjpzdG9yZXNWYWx1ZVNlcGFy
YXRlRnJvbUF0dHJpYnV0ZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50Ojpk
ZWZhdWx0RXZlbnRIYW5kbGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQ6
OmlzUmVxdWlyZWRGb3JtQ29udHJvbCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVt
ZW50OjpkYXRhTGlzdCk6CisgICAgICAgICogaHRtbC9IVE1MSW5wdXRFbGVtZW50Lmg6CisgICAg
ICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50OjopOgorCiAyMDA5LTA5LTI3ICBTYW0gV2Vp
bmlnICA8c2FtQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFuIEJlcm5zdGVp
bi4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcCBiL1dlYkNv
cmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcAppbmRleCAwYWVmZTdmLi5lYzViYmZkIDEwMDY0
NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAKKysrIGIvV2ViQ29yZS9o
dG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCkBAIC01OCw3ICs1OCw5IEBACiAjaW5jbHVkZSAiUmVu
ZGVyVGV4dC5oIgogI2luY2x1ZGUgIlJlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5oIgogI2lu
Y2x1ZGUgIlJlbmRlclRoZW1lLmgiCisjaW5jbHVkZSAiU3RyaW5nSGFzaC5oIgogI2luY2x1ZGUg
IlRleHRFdmVudC5oIgorI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL01h
dGhFeHRyYXMuaD4KICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAKQEAgLTEzMyw2ICsx
MzUsMTIgQEAgYm9vbCBIVE1MSW5wdXRFbGVtZW50Ojp2YWx1ZU1pc3NpbmcoKSBjb25zdAogICAg
ICAgICBjYXNlIFBBU1NXT1JEOgogICAgICAgICBjYXNlIE5VTUJFUjoKICAgICAgICAgY2FzZSBG
SUxFOgorICAgICAgICBjYXNlIERBVEVUSU1FOgorICAgICAgICBjYXNlIERBVEU6CisgICAgICAg
IGNhc2UgTU9OVEg6CisgICAgICAgIGNhc2UgV0VFSzoKKyAgICAgICAgY2FzZSBUSU1FOgorICAg
ICAgICBjYXNlIERBVEVUSU1FTE9DQUw6CiAgICAgICAgICAgICByZXR1cm4gdmFsdWUoKS5pc0Vt
cHR5KCk7CiAgICAgICAgIGNhc2UgQ0hFQ0tCT1g6CiAgICAgICAgICAgICByZXR1cm4gIWNoZWNr
ZWQoKTsKQEAgLTE2OSw2ICsxNzcsMTIgQEAgYm9vbCBIVE1MSW5wdXRFbGVtZW50OjpwYXR0ZXJu
TWlzbWF0Y2goKSBjb25zdAogICAgICAgICBjYXNlIFJBTkdFOgogICAgICAgICBjYXNlIE5VTUJF
UjoKICAgICAgICAgY2FzZSBDT0xPUjoKKyAgICAgICAgY2FzZSBEQVRFVElNRToKKyAgICAgICAg
Y2FzZSBEQVRFOgorICAgICAgICBjYXNlIE1PTlRIOgorICAgICAgICBjYXNlIFdFRUs6CisgICAg
ICAgIGNhc2UgVElNRToKKyAgICAgICAgY2FzZSBEQVRFVElNRUxPQ0FMOgogICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOwogICAgICAgICBjYXNlIFRFWFQ6CiAgICAgICAgIGNhc2UgU0VBUkNIOgpA
QCAtMjc5LDQ0ICsyOTMsNDQgQEAgdm9pZCBIVE1MSW5wdXRFbGVtZW50OjpzZXRUeXBlKGNvbnN0
IFN0cmluZyYgdCkKICAgICAgICAgc2V0QXR0cmlidXRlKHR5cGVBdHRyLCB0KTsKIH0KIAordHlw
ZWRlZiBIYXNoTWFwPFN0cmluZywgSFRNTElucHV0RWxlbWVudDo6SW5wdXRUeXBlLCBDYXNlRm9s
ZGluZ0hhc2g+IElucHV0VHlwZU1hcDsKK3N0YXRpYyBjb25zdCBJbnB1dFR5cGVNYXAqIGNyZWF0
ZVR5cGVNYXAoKQoreworICAgIElucHV0VHlwZU1hcCogbWFwID0gbmV3IElucHV0VHlwZU1hcDsK
KyAgICBtYXAtPmFkZCgiYnV0dG9uIiwgSFRNTElucHV0RWxlbWVudDo6QlVUVE9OKTsKKyAgICBt
YXAtPmFkZCgiY2hlY2tib3giLCBIVE1MSW5wdXRFbGVtZW50OjpDSEVDS0JPWCk7CisgICAgbWFw
LT5hZGQoImNvbG9yIiwgSFRNTElucHV0RWxlbWVudDo6Q09MT1IpOworICAgIG1hcC0+YWRkKCJk
YXRlIiwgSFRNTElucHV0RWxlbWVudDo6REFURSk7CisgICAgbWFwLT5hZGQoImRhdGV0aW1lIiwg
SFRNTElucHV0RWxlbWVudDo6REFURVRJTUUpOworICAgIG1hcC0+YWRkKCJkYXRldGltZS1sb2Nh
bCIsIEhUTUxJbnB1dEVsZW1lbnQ6OkRBVEVUSU1FTE9DQUwpOworICAgIG1hcC0+YWRkKCJlbWFp
bCIsIEhUTUxJbnB1dEVsZW1lbnQ6OkVNQUlMKTsKKyAgICBtYXAtPmFkZCgiZmlsZSIsIEhUTUxJ
bnB1dEVsZW1lbnQ6OkZJTEUpOworICAgIG1hcC0+YWRkKCJoaWRkZW4iLCBIVE1MSW5wdXRFbGVt
ZW50OjpISURERU4pOworICAgIG1hcC0+YWRkKCJpbWFnZSIsIEhUTUxJbnB1dEVsZW1lbnQ6OklN
QUdFKTsKKyAgICBtYXAtPmFkZCgia2h0bWxfaXNpbmRleCIsIEhUTUxJbnB1dEVsZW1lbnQ6OklT
SU5ERVgpOworICAgIG1hcC0+YWRkKCJtb250aCIsIEhUTUxJbnB1dEVsZW1lbnQ6Ok1PTlRIKTsK
KyAgICBtYXAtPmFkZCgibnVtYmVyIiwgSFRNTElucHV0RWxlbWVudDo6TlVNQkVSKTsKKyAgICBt
YXAtPmFkZCgicGFzc3dvcmQiLCBIVE1MSW5wdXRFbGVtZW50OjpQQVNTV09SRCk7CisgICAgbWFw
LT5hZGQoInJhZGlvIiwgSFRNTElucHV0RWxlbWVudDo6UkFESU8pOworICAgIG1hcC0+YWRkKCJy
YW5nZSIsIEhUTUxJbnB1dEVsZW1lbnQ6OlJBTkdFKTsKKyAgICBtYXAtPmFkZCgicmVzZXQiLCBI
VE1MSW5wdXRFbGVtZW50OjpSRVNFVCk7CisgICAgbWFwLT5hZGQoInNlYXJjaCIsIEhUTUxJbnB1
dEVsZW1lbnQ6OlNFQVJDSCk7CisgICAgbWFwLT5hZGQoInN1Ym1pdCIsIEhUTUxJbnB1dEVsZW1l
bnQ6OlNVQk1JVCk7CisgICAgbWFwLT5hZGQoInRlbCIsIEhUTUxJbnB1dEVsZW1lbnQ6OlRFTEVQ
SE9ORSk7CisgICAgbWFwLT5hZGQoInRpbWUiLCBIVE1MSW5wdXRFbGVtZW50OjpUSU1FKTsKKyAg
ICBtYXAtPmFkZCgidXJsIiwgSFRNTElucHV0RWxlbWVudDo6VVJMKTsKKyAgICBtYXAtPmFkZCgi
d2VlayIsIEhUTUxJbnB1dEVsZW1lbnQ6OldFRUspOworICAgIC8vIGdldCgpIHdpdGggdW5yZWdp
c3RlcmVkIG5hbWVzIHJldHVybnMgSFRNTElucHV0RWxlbWVudDo6VEVYVC4KKyAgICBBU1NFUlQo
SGFzaFRyYWl0czxIVE1MSW5wdXRFbGVtZW50OjpJbnB1dFR5cGU+OjplbXB0eVZhbHVlKCkgPT0g
SFRNTElucHV0RWxlbWVudDo6VEVYVCk7CisgICAgcmV0dXJuIG1hcDsKK30KKwogdm9pZCBIVE1M
SW5wdXRFbGVtZW50OjpzZXRJbnB1dFR5cGUoY29uc3QgU3RyaW5nJiB0KQogeworICAgIHN0YXRp
YyBjb25zdCBJbnB1dFR5cGVNYXAqIHR5cGVNYXAgPSBjcmVhdGVUeXBlTWFwKCk7CiAgICAgSW5w
dXRUeXBlIG5ld1R5cGU7Ci0gICAgCi0gICAgaWYgKGVxdWFsSWdub3JpbmdDYXNlKHQsICJwYXNz
d29yZCIpKQotICAgICAgICBuZXdUeXBlID0gUEFTU1dPUkQ7Ci0gICAgZWxzZSBpZiAoZXF1YWxJ
Z25vcmluZ0Nhc2UodCwgImNoZWNrYm94IikpCi0gICAgICAgIG5ld1R5cGUgPSBDSEVDS0JPWDsK
LSAgICBlbHNlIGlmIChlcXVhbElnbm9yaW5nQ2FzZSh0LCAicmFkaW8iKSkKLSAgICAgICAgbmV3
VHlwZSA9IFJBRElPOwotICAgIGVsc2UgaWYgKGVxdWFsSWdub3JpbmdDYXNlKHQsICJzdWJtaXQi
KSkKLSAgICAgICAgbmV3VHlwZSA9IFNVQk1JVDsKLSAgICBlbHNlIGlmIChlcXVhbElnbm9yaW5n
Q2FzZSh0LCAicmVzZXQiKSkKLSAgICAgICAgbmV3VHlwZSA9IFJFU0VUOwotICAgIGVsc2UgaWYg
KGVxdWFsSWdub3JpbmdDYXNlKHQsICJmaWxlIikpCi0gICAgICAgIG5ld1R5cGUgPSBGSUxFOwot
ICAgIGVsc2UgaWYgKGVxdWFsSWdub3JpbmdDYXNlKHQsICJoaWRkZW4iKSkKLSAgICAgICAgbmV3
VHlwZSA9IEhJRERFTjsKLSAgICBlbHNlIGlmIChlcXVhbElnbm9yaW5nQ2FzZSh0LCAiaW1hZ2Ui
KSkKLSAgICAgICAgbmV3VHlwZSA9IElNQUdFOwotICAgIGVsc2UgaWYgKGVxdWFsSWdub3JpbmdD
YXNlKHQsICJidXR0b24iKSkKLSAgICAgICAgbmV3VHlwZSA9IEJVVFRPTjsKLSAgICBlbHNlIGlm
IChlcXVhbElnbm9yaW5nQ2FzZSh0LCAia2h0bWxfaXNpbmRleCIpKQotICAgICAgICBuZXdUeXBl
ID0gSVNJTkRFWDsKLSAgICBlbHNlIGlmIChlcXVhbElnbm9yaW5nQ2FzZSh0LCAic2VhcmNoIikp
Ci0gICAgICAgIG5ld1R5cGUgPSBTRUFSQ0g7Ci0gICAgZWxzZSBpZiAoZXF1YWxJZ25vcmluZ0Nh
c2UodCwgInJhbmdlIikpCi0gICAgICAgIG5ld1R5cGUgPSBSQU5HRTsKLSAgICBlbHNlIGlmIChl
cXVhbElnbm9yaW5nQ2FzZSh0LCAiZW1haWwiKSkKLSAgICAgICAgbmV3VHlwZSA9IEVNQUlMOwot
ICAgIGVsc2UgaWYgKGVxdWFsSWdub3JpbmdDYXNlKHQsICJudW1iZXIiKSkKLSAgICAgICAgbmV3
VHlwZSA9IE5VTUJFUjsKLSAgICBlbHNlIGlmIChlcXVhbElnbm9yaW5nQ2FzZSh0LCAidGVsIikp
Ci0gICAgICAgIG5ld1R5cGUgPSBURUxFUEhPTkU7Ci0gICAgZWxzZSBpZiAoZXF1YWxJZ25vcmlu
Z0Nhc2UodCwgInVybCIpKQotICAgICAgICBuZXdUeXBlID0gVVJMOwotICAgIGVsc2UgaWYgKGVx
dWFsSWdub3JpbmdDYXNlKHQsICJjb2xvciIpKQotICAgICAgICBuZXdUeXBlID0gQ09MT1I7Cisg
ICAgaWYgKCF0LmlzTnVsbCgpKSAgLy8gZ2V0KCkgd2l0aCBhIG51bGwgc3RyaW5nIG1ha2VzIGNy
YXNoLgorICAgICAgICBuZXdUeXBlID0gdHlwZU1hcC0+Z2V0KHQpOwogICAgIGVsc2UKICAgICAg
ICAgbmV3VHlwZSA9IFRFWFQ7CiAKQEAgLTM4OCw4MSArNDAyLDQyIEBAIHZvaWQgSFRNTElucHV0
RWxlbWVudDo6c2V0SW5wdXRUeXBlKGNvbnN0IFN0cmluZyYgdCkKICAgICAgICAgbV9pbWFnZUxv
YWRlci5jbGVhcigpOwogfQogCi1jb25zdCBBdG9taWNTdHJpbmcmIEhUTUxJbnB1dEVsZW1lbnQ6
OmZvcm1Db250cm9sVHlwZSgpIGNvbnN0CitzdGF0aWMgY29uc3QgVmVjdG9yPEF0b21pY1N0cmlu
Zz4qIGNyZWF0ZUZvcm1Db250cm9sVHlwZXMoKQogeworICAgIFZlY3RvcjxBdG9taWNTdHJpbmc+
KiB0eXBlcyA9IG5ldyBWZWN0b3I8QXRvbWljU3RyaW5nPihIVE1MSW5wdXRFbGVtZW50OjpNQVhf
SU5QVVRfVFlQRVMpOwogICAgIC8vIG5lZWRzIHRvIGJlIGxvd2VyY2FzZSBhY2NvcmRpbmcgdG8g
RE9NIHNwZWMKLSAgICBzd2l0Y2ggKGlucHV0VHlwZSgpKSB7Ci0gICAgICAgIGNhc2UgQlVUVE9O
OiB7Ci0gICAgICAgICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0IEF0b21pY1N0cmluZywg
YnV0dG9uLCAoImJ1dHRvbiIpKTsKLSAgICAgICAgICAgIHJldHVybiBidXR0b247Ci0gICAgICAg
IH0KLSAgICAgICAgY2FzZSBDSEVDS0JPWDogewotICAgICAgICAgICAgREVGSU5FX1NUQVRJQ19M
T0NBTChjb25zdCBBdG9taWNTdHJpbmcsIGNoZWNrYm94LCAoImNoZWNrYm94IikpOwotICAgICAg
ICAgICAgcmV0dXJuIGNoZWNrYm94OwotICAgICAgICB9Ci0gICAgICAgIGNhc2UgQ09MT1I6IHsK
LSAgICAgICAgICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgQXRvbWljU3RyaW5nLCBjb2xv
ciwgKCJjb2xvciIpKTsKLSAgICAgICAgICAgIHJldHVybiBjb2xvcjsKLSAgICAgICAgfQotICAg
ICAgICBjYXNlIEVNQUlMOiB7Ci0gICAgICAgICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0
IEF0b21pY1N0cmluZywgZW1haWwsICgiZW1haWwiKSk7Ci0gICAgICAgICAgICByZXR1cm4gZW1h
aWw7Ci0gICAgICAgIH0KLSAgICAgICAgY2FzZSBGSUxFOiB7Ci0gICAgICAgICAgICBERUZJTkVf
U1RBVElDX0xPQ0FMKGNvbnN0IEF0b21pY1N0cmluZywgZmlsZSwgKCJmaWxlIikpOwotICAgICAg
ICAgICAgcmV0dXJuIGZpbGU7Ci0gICAgICAgIH0KLSAgICAgICAgY2FzZSBISURERU46IHsKLSAg
ICAgICAgICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgQXRvbWljU3RyaW5nLCBoaWRkZW4s
ICgiaGlkZGVuIikpOwotICAgICAgICAgICAgcmV0dXJuIGhpZGRlbjsKLSAgICAgICAgfQotICAg
ICAgICBjYXNlIElNQUdFOiB7Ci0gICAgICAgICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0
IEF0b21pY1N0cmluZywgaW1hZ2UsICgiaW1hZ2UiKSk7Ci0gICAgICAgICAgICByZXR1cm4gaW1h
Z2U7Ci0gICAgICAgIH0KLSAgICAgICAgY2FzZSBJU0lOREVYOgotICAgICAgICAgICAgcmV0dXJu
IGVtcHR5QXRvbTsKLSAgICAgICAgY2FzZSBOVU1CRVI6IHsKLSAgICAgICAgICAgIERFRklORV9T
VEFUSUNfTE9DQUwoY29uc3QgQXRvbWljU3RyaW5nLCBudW1iZXIsICgibnVtYmVyIikpOwotICAg
ICAgICAgICAgcmV0dXJuIG51bWJlcjsKLSAgICAgICAgfQotICAgICAgICBjYXNlIFBBU1NXT1JE
OiB7Ci0gICAgICAgICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0IEF0b21pY1N0cmluZywg
cGFzc3dvcmQsICgicGFzc3dvcmQiKSk7Ci0gICAgICAgICAgICByZXR1cm4gcGFzc3dvcmQ7Ci0g
ICAgICAgIH0KLSAgICAgICAgY2FzZSBSQURJTzogewotICAgICAgICAgICAgREVGSU5FX1NUQVRJ
Q19MT0NBTChjb25zdCBBdG9taWNTdHJpbmcsIHJhZGlvLCAoInJhZGlvIikpOwotICAgICAgICAg
ICAgcmV0dXJuIHJhZGlvOwotICAgICAgICB9Ci0gICAgICAgIGNhc2UgUkFOR0U6IHsKLSAgICAg
ICAgICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgQXRvbWljU3RyaW5nLCByYW5nZSwgKCJy
YW5nZSIpKTsKLSAgICAgICAgICAgIHJldHVybiByYW5nZTsKLSAgICAgICAgfQotICAgICAgICBj
YXNlIFJFU0VUOiB7Ci0gICAgICAgICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0IEF0b21p
Y1N0cmluZywgcmVzZXQsICgicmVzZXQiKSk7Ci0gICAgICAgICAgICByZXR1cm4gcmVzZXQ7Ci0g
ICAgICAgIH0KLSAgICAgICAgY2FzZSBTRUFSQ0g6IHsKLSAgICAgICAgICAgIERFRklORV9TVEFU
SUNfTE9DQUwoY29uc3QgQXRvbWljU3RyaW5nLCBzZWFyY2gsICgic2VhcmNoIikpOwotICAgICAg
ICAgICAgcmV0dXJuIHNlYXJjaDsKLSAgICAgICAgfQotICAgICAgICBjYXNlIFNVQk1JVDogewot
ICAgICAgICAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBBdG9taWNTdHJpbmcsIHN1Ym1p
dCwgKCJzdWJtaXQiKSk7Ci0gICAgICAgICAgICByZXR1cm4gc3VibWl0OwotICAgICAgICB9Ci0g
ICAgICAgIGNhc2UgVEVMRVBIT05FOiB7Ci0gICAgICAgICAgICBERUZJTkVfU1RBVElDX0xPQ0FM
KGNvbnN0IEF0b21pY1N0cmluZywgdGVsZXBob25lLCAoInRlbCIpKTsKLSAgICAgICAgICAgIHJl
dHVybiB0ZWxlcGhvbmU7Ci0gICAgICAgIH0KLSAgICAgICAgY2FzZSBURVhUOiB7Ci0gICAgICAg
ICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0IEF0b21pY1N0cmluZywgdGV4dCwgKCJ0ZXh0
IikpOwotICAgICAgICAgICAgcmV0dXJuIHRleHQ7Ci0gICAgICAgIH0KLSAgICAgICAgY2FzZSBV
Ukw6IHsKLSAgICAgICAgICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgQXRvbWljU3RyaW5n
LCB1cmwsICgidXJsIikpOwotICAgICAgICAgICAgcmV0dXJuIHVybDsKLSAgICAgICAgfQotICAg
IH0KKyAgICAoKnR5cGVzKVtIVE1MSW5wdXRFbGVtZW50OjpCVVRUT05dID0gImJ1dHRvbiI7Cisg
ICAgKCp0eXBlcylbSFRNTElucHV0RWxlbWVudDo6Q0hFQ0tCT1hdID0gImNoZWNrYm94IjsKKyAg
ICAoKnR5cGVzKVtIVE1MSW5wdXRFbGVtZW50OjpDT0xPUl0gPSAiY29sb3IiOworICAgICgqdHlw
ZXMpW0hUTUxJbnB1dEVsZW1lbnQ6OkRBVEVdID0gImRhdGUiOworICAgICgqdHlwZXMpW0hUTUxJ
bnB1dEVsZW1lbnQ6OkRBVEVUSU1FXSA9ICJkYXRldGltZSI7CisgICAgKCp0eXBlcylbSFRNTElu
cHV0RWxlbWVudDo6REFURVRJTUVMT0NBTF0gPSAiZGF0ZXRpbWUtbG9jYWwiOworICAgICgqdHlw
ZXMpW0hUTUxJbnB1dEVsZW1lbnQ6OkVNQUlMXSA9ICJlbWFpbCI7CisgICAgKCp0eXBlcylbSFRN
TElucHV0RWxlbWVudDo6RklMRV0gPSAiZmlsZSI7CisgICAgKCp0eXBlcylbSFRNTElucHV0RWxl
bWVudDo6SElEREVOXSA9ICJoaWRkZW4iOworICAgICgqdHlwZXMpW0hUTUxJbnB1dEVsZW1lbnQ6
OklNQUdFXSA9ICJpbWFnZSI7CisgICAgKCp0eXBlcylbSFRNTElucHV0RWxlbWVudDo6SVNJTkRF
WF0gPSBlbXB0eUF0b207CisgICAgKCp0eXBlcylbSFRNTElucHV0RWxlbWVudDo6TU9OVEhdID0g
Im1vbnRoIjsKKyAgICAoKnR5cGVzKVtIVE1MSW5wdXRFbGVtZW50OjpOVU1CRVJdID0gIm51bWJl
ciI7CisgICAgKCp0eXBlcylbSFRNTElucHV0RWxlbWVudDo6UEFTU1dPUkRdID0gInBhc3N3b3Jk
IjsKKyAgICAoKnR5cGVzKVtIVE1MSW5wdXRFbGVtZW50OjpSQURJT10gPSAicmFkaW8iOworICAg
ICgqdHlwZXMpW0hUTUxJbnB1dEVsZW1lbnQ6OlJBTkdFXSA9ICJyYW5nZSI7CisgICAgKCp0eXBl
cylbSFRNTElucHV0RWxlbWVudDo6UkVTRVRdID0gInJlc2V0IjsKKyAgICAoKnR5cGVzKVtIVE1M
SW5wdXRFbGVtZW50OjpTRUFSQ0hdID0gInNlYXJjaCI7CisgICAgKCp0eXBlcylbSFRNTElucHV0
RWxlbWVudDo6U1VCTUlUXSA9ICJzdWJtaXQiOworICAgICgqdHlwZXMpW0hUTUxJbnB1dEVsZW1l
bnQ6OlRFTEVQSE9ORV0gPSAidGVsIjsKKyAgICAoKnR5cGVzKVtIVE1MSW5wdXRFbGVtZW50OjpU
RVhUXSA9ICJ0ZXh0IjsKKyAgICAoKnR5cGVzKVtIVE1MSW5wdXRFbGVtZW50OjpUSU1FXSA9ICJ0
aW1lIjsKKyAgICAoKnR5cGVzKVtIVE1MSW5wdXRFbGVtZW50OjpVUkxdID0gInVybCI7CisgICAg
KCp0eXBlcylbSFRNTElucHV0RWxlbWVudDo6V0VFS10gPSAid2VlayI7CisgICAgcmV0dXJuIHR5
cGVzOworfQorCitjb25zdCBBdG9taWNTdHJpbmcmIEhUTUxJbnB1dEVsZW1lbnQ6OmZvcm1Db250
cm9sVHlwZSgpIGNvbnN0Cit7CisgICAgc3RhdGljIGNvbnN0IFZlY3RvcjxBdG9taWNTdHJpbmc+
KiBmb3JtQ29udHJvbFR5cGVzID0gY3JlYXRlRm9ybUNvbnRyb2xUeXBlcygpOworICAgIGlmIChz
dGF0aWNfY2FzdDxzaXplX3Q+KGlucHV0VHlwZSgpKSA8IGZvcm1Db250cm9sVHlwZXMtPnNpemUo
KSkKKyAgICAgICAgcmV0dXJuICgqZm9ybUNvbnRyb2xUeXBlcylbaW5wdXRUeXBlKCldOwogICAg
IHJldHVybiBlbXB0eUF0b207CiB9CiAKQEAgLTQ3NCwxMSArNDQ5LDE1IEBAIGJvb2wgSFRNTElu
cHV0RWxlbWVudDo6c2F2ZUZvcm1Db250cm9sU3RhdGUoU3RyaW5nJiByZXN1bHQpIGNvbnN0CiAg
ICAgc3dpdGNoIChpbnB1dFR5cGUoKSkgewogICAgICAgICBjYXNlIEJVVFRPTjoKICAgICAgICAg
Y2FzZSBDT0xPUjoKKyAgICAgICAgY2FzZSBEQVRFOgorICAgICAgICBjYXNlIERBVEVUSU1FOgor
ICAgICAgICBjYXNlIERBVEVUSU1FTE9DQUw6CiAgICAgICAgIGNhc2UgRU1BSUw6CiAgICAgICAg
IGNhc2UgRklMRToKICAgICAgICAgY2FzZSBISURERU46CiAgICAgICAgIGNhc2UgSU1BR0U6CiAg
ICAgICAgIGNhc2UgSVNJTkRFWDoKKyAgICAgICAgY2FzZSBNT05USDoKICAgICAgICAgY2FzZSBO
VU1CRVI6CiAgICAgICAgIGNhc2UgUkFOR0U6CiAgICAgICAgIGNhc2UgUkVTRVQ6CkBAIC00ODYs
NyArNDY1LDkgQEAgYm9vbCBIVE1MSW5wdXRFbGVtZW50OjpzYXZlRm9ybUNvbnRyb2xTdGF0ZShT
dHJpbmcmIHJlc3VsdCkgY29uc3QKICAgICAgICAgY2FzZSBTVUJNSVQ6CiAgICAgICAgIGNhc2Ug
VEVMRVBIT05FOgogICAgICAgICBjYXNlIFRFWFQ6CisgICAgICAgIGNhc2UgVElNRToKICAgICAg
ICAgY2FzZSBVUkw6CisgICAgICAgIGNhc2UgV0VFSzoKICAgICAgICAgICAgIHJlc3VsdCA9IHZh
bHVlKCk7CiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgY2FzZSBDSEVDS0JPWDoK
QEAgLTUwNiwxMSArNDg3LDE1IEBAIHZvaWQgSFRNTElucHV0RWxlbWVudDo6cmVzdG9yZUZvcm1D
b250cm9sU3RhdGUoY29uc3QgU3RyaW5nJiBzdGF0ZSkKICAgICBzd2l0Y2ggKGlucHV0VHlwZSgp
KSB7CiAgICAgICAgIGNhc2UgQlVUVE9OOgogICAgICAgICBjYXNlIENPTE9SOgorICAgICAgICBj
YXNlIERBVEU6CisgICAgICAgIGNhc2UgREFURVRJTUU6CisgICAgICAgIGNhc2UgREFURVRJTUVM
T0NBTDoKICAgICAgICAgY2FzZSBFTUFJTDoKICAgICAgICAgY2FzZSBGSUxFOgogICAgICAgICBj
YXNlIEhJRERFTjoKICAgICAgICAgY2FzZSBJTUFHRToKICAgICAgICAgY2FzZSBJU0lOREVYOgor
ICAgICAgICBjYXNlIE1PTlRIOgogICAgICAgICBjYXNlIE5VTUJFUjoKICAgICAgICAgY2FzZSBS
QU5HRToKICAgICAgICAgY2FzZSBSRVNFVDoKQEAgLTUxOCw3ICs1MDMsOSBAQCB2b2lkIEhUTUxJ
bnB1dEVsZW1lbnQ6OnJlc3RvcmVGb3JtQ29udHJvbFN0YXRlKGNvbnN0IFN0cmluZyYgc3RhdGUp
CiAgICAgICAgIGNhc2UgU1VCTUlUOgogICAgICAgICBjYXNlIFRFTEVQSE9ORToKICAgICAgICAg
Y2FzZSBURVhUOgorICAgICAgICBjYXNlIFRJTUU6CiAgICAgICAgIGNhc2UgVVJMOgorICAgICAg
ICBjYXNlIFdFRUs6CiAgICAgICAgICAgICBzZXRWYWx1ZShzdGF0ZSk7CiAgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgY2FzZSBDSEVDS0JPWDoKQEAgLTYxOCwxNCArNjA1LDIwIEBAIHZvaWQg
SFRNTElucHV0RWxlbWVudDo6YWNjZXNzS2V5QWN0aW9uKGJvb2wgc2VuZFRvQW55RWxlbWVudCkK
ICAgICAgICAgICAgIC8vIGEgbm8tb3AgZm9yIHRoaXMgdHlwZQogICAgICAgICAgICAgYnJlYWs7
CiAgICAgICAgIGNhc2UgQ09MT1I6CisgICAgICAgIGNhc2UgREFURToKKyAgICAgICAgY2FzZSBE
QVRFVElNRToKKyAgICAgICAgY2FzZSBEQVRFVElNRUxPQ0FMOgogICAgICAgICBjYXNlIEVNQUlM
OgogICAgICAgICBjYXNlIElTSU5ERVg6CisgICAgICAgIGNhc2UgTU9OVEg6CiAgICAgICAgIGNh
c2UgTlVNQkVSOgogICAgICAgICBjYXNlIFBBU1NXT1JEOgogICAgICAgICBjYXNlIFNFQVJDSDoK
ICAgICAgICAgY2FzZSBURUxFUEhPTkU6CiAgICAgICAgIGNhc2UgVEVYVDoKKyAgICAgICAgY2Fz
ZSBUSU1FOgogICAgICAgICBjYXNlIFVSTDoKKyAgICAgICAgY2FzZSBXRUVLOgogICAgICAgICAg
ICAgLy8gc2hvdWxkIG5ldmVyIHJlc3RvcmUgcHJldmlvdXMgc2VsZWN0aW9uIGhlcmUKICAgICAg
ICAgICAgIGZvY3VzKGZhbHNlKTsKICAgICAgICAgICAgIGJyZWFrOwpAQCAtNzU3LDMwICs3NTAs
OSBAQCB2b2lkIEhUTUxJbnB1dEVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKE1hcHBlZEF0
dHJpYnV0ZSAqYXR0cikKIAogYm9vbCBIVE1MSW5wdXRFbGVtZW50OjpyZW5kZXJlcklzTmVlZGVk
KFJlbmRlclN0eWxlICpzdHlsZSkKIHsKLSAgICBzd2l0Y2ggKGlucHV0VHlwZSgpKSB7Ci0gICAg
ICAgIGNhc2UgQlVUVE9OOgotICAgICAgICBjYXNlIENIRUNLQk9YOgotICAgICAgICBjYXNlIENP
TE9SOgotICAgICAgICBjYXNlIEVNQUlMOgotICAgICAgICBjYXNlIEZJTEU6Ci0gICAgICAgIGNh
c2UgSU1BR0U6Ci0gICAgICAgIGNhc2UgSVNJTkRFWDoKLSAgICAgICAgY2FzZSBOVU1CRVI6Ci0g
ICAgICAgIGNhc2UgUEFTU1dPUkQ6Ci0gICAgICAgIGNhc2UgUkFESU86Ci0gICAgICAgIGNhc2Ug
UkFOR0U6Ci0gICAgICAgIGNhc2UgUkVTRVQ6Ci0gICAgICAgIGNhc2UgU0VBUkNIOgotICAgICAg
ICBjYXNlIFNVQk1JVDoKLSAgICAgICAgY2FzZSBURUxFUEhPTkU6Ci0gICAgICAgIGNhc2UgVEVY
VDoKLSAgICAgICAgY2FzZSBVUkw6Ci0gICAgICAgICAgICByZXR1cm4gSFRNTEZvcm1Db250cm9s
RWxlbWVudFdpdGhTdGF0ZTo6cmVuZGVyZXJJc05lZWRlZChzdHlsZSk7Ci0gICAgICAgIGNhc2Ug
SElEREVOOgotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLSAgICBBU1NFUlQoZmFs
c2UpOwotICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoaW5wdXRUeXBlKCkgPT0gSElEREVOKQor
ICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgcmV0dXJuIEhUTUxGb3JtQ29udHJvbEVsZW1lbnRX
aXRoU3RhdGU6OnJlbmRlcmVySXNOZWVkZWQoc3R5bGUpOwogfQogCiBSZW5kZXJPYmplY3QgKkhU
TUxJbnB1dEVsZW1lbnQ6OmNyZWF0ZVJlbmRlcmVyKFJlbmRlckFyZW5hICphcmVuYSwgUmVuZGVy
U3R5bGUgKnN0eWxlKQpAQCAtODAyLDE0ICs3NzQsMjAgQEAgUmVuZGVyT2JqZWN0ICpIVE1MSW5w
dXRFbGVtZW50OjpjcmVhdGVSZW5kZXJlcihSZW5kZXJBcmVuYSAqYXJlbmEsIFJlbmRlclN0eWxl
ICoKICAgICAgICAgY2FzZSBSQU5HRToKICAgICAgICAgICAgIHJldHVybiBuZXcgKGFyZW5hKSBS
ZW5kZXJTbGlkZXIodGhpcyk7CiAgICAgICAgIGNhc2UgQ09MT1I6CisgICAgICAgIGNhc2UgREFU
RToKKyAgICAgICAgY2FzZSBEQVRFVElNRToKKyAgICAgICAgY2FzZSBEQVRFVElNRUxPQ0FMOgog
ICAgICAgICBjYXNlIEVNQUlMOgogICAgICAgICBjYXNlIElTSU5ERVg6CisgICAgICAgIGNhc2Ug
TU9OVEg6CiAgICAgICAgIGNhc2UgTlVNQkVSOgogICAgICAgICBjYXNlIFBBU1NXT1JEOgogICAg
ICAgICBjYXNlIFNFQVJDSDoKICAgICAgICAgY2FzZSBURUxFUEhPTkU6CiAgICAgICAgIGNhc2Ug
VEVYVDoKKyAgICAgICAgY2FzZSBUSU1FOgogICAgICAgICBjYXNlIFVSTDoKKyAgICAgICAgY2Fz
ZSBXRUVLOgogICAgICAgICAgICAgcmV0dXJuIG5ldyAoYXJlbmEpIFJlbmRlclRleHRDb250cm9s
U2luZ2xlTGluZSh0aGlzLCBwbGFjZWhvbGRlclNob3VsZEJlVmlzaWJsZSgpKTsKICAgICB9CiAg
ICAgQVNTRVJUKGZhbHNlKTsKQEAgLTg4OSwxNiArODY3LDIyIEBAIGJvb2wgSFRNTElucHV0RWxl
bWVudDo6YXBwZW5kRm9ybURhdGEoRm9ybURhdGFMaXN0JiBlbmNvZGluZywgYm9vbCBtdWx0aXBh
cnQpCiAKICAgICBzd2l0Y2ggKGlucHV0VHlwZSgpKSB7CiAgICAgICAgIGNhc2UgQ09MT1I6Cisg
ICAgICAgIGNhc2UgREFURToKKyAgICAgICAgY2FzZSBEQVRFVElNRToKKyAgICAgICAgY2FzZSBE
QVRFVElNRUxPQ0FMOgogICAgICAgICBjYXNlIEVNQUlMOgogICAgICAgICBjYXNlIEhJRERFTjoK
ICAgICAgICAgY2FzZSBJU0lOREVYOgorICAgICAgICBjYXNlIE1PTlRIOgogICAgICAgICBjYXNl
IE5VTUJFUjoKICAgICAgICAgY2FzZSBQQVNTV09SRDoKICAgICAgICAgY2FzZSBSQU5HRToKICAg
ICAgICAgY2FzZSBTRUFSQ0g6CiAgICAgICAgIGNhc2UgVEVMRVBIT05FOgogICAgICAgICBjYXNl
IFRFWFQ6CisgICAgICAgIGNhc2UgVElNRToKICAgICAgICAgY2FzZSBVUkw6CisgICAgICAgIGNh
c2UgV0VFSzoKICAgICAgICAgICAgIC8vIGFsd2F5cyBzdWNjZXNzZnVsCiAgICAgICAgICAgICBl
bmNvZGluZy5hcHBlbmREYXRhKG5hbWUoKSwgdmFsdWUoKSk7CiAgICAgICAgICAgICByZXR1cm4g
dHJ1ZTsKQEAgLTk3Niw2ICs5NjAsNDAgQEAgdm9pZCBIVE1MSW5wdXRFbGVtZW50OjpyZXNldCgp
CiAgICAgbV91c2VEZWZhdWx0Q2hlY2tlZCA9IHRydWU7CiB9CiAKK2Jvb2wgSFRNTElucHV0RWxl
bWVudDo6aXNUZXh0RmllbGQoKSBjb25zdAoreworICAgIHN3aXRjaCAoaW5wdXRUeXBlKCkpIHsK
KyAgICBjYXNlIENPTE9SOgorICAgIGNhc2UgREFURToKKyAgICBjYXNlIERBVEVUSU1FOgorICAg
IGNhc2UgREFURVRJTUVMT0NBTDoKKyAgICBjYXNlIEVNQUlMOgorICAgIGNhc2UgSVNJTkRFWDoK
KyAgICBjYXNlIE1PTlRIOgorICAgIGNhc2UgTlVNQkVSOgorICAgIGNhc2UgUEFTU1dPUkQ6Cisg
ICAgY2FzZSBTRUFSQ0g6CisgICAgY2FzZSBURUxFUEhPTkU6CisgICAgY2FzZSBURVhUOgorICAg
IGNhc2UgVElNRToKKyAgICBjYXNlIFVSTDoKKyAgICBjYXNlIFdFRUs6CisgICAgICAgIHJldHVy
biB0cnVlOworICAgIGNhc2UgQlVUVE9OOgorICAgIGNhc2UgQ0hFQ0tCT1g6CisgICAgY2FzZSBG
SUxFOgorICAgIGNhc2UgSElEREVOOgorICAgIGNhc2UgSU1BR0U6CisgICAgY2FzZSBSQURJTzoK
KyAgICBjYXNlIFJBTkdFOgorICAgIGNhc2UgUkVTRVQ6CisgICAgY2FzZSBTVUJNSVQ6CisgICAg
ICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAg
cmV0dXJuIGZhbHNlOworfQorCiB2b2lkIEhUTUxJbnB1dEVsZW1lbnQ6OnNldENoZWNrZWQoYm9v
bCBub3dDaGVja2VkLCBib29sIHNlbmRDaGFuZ2VFdmVudCkKIHsKICAgICBpZiAoY2hlY2tlZCgp
ID09IG5vd0NoZWNrZWQpCkBAIC0xMDY3LDExICsxMDg1LDE1IEBAIFN0cmluZyBIVE1MSW5wdXRF
bGVtZW50Ojp2YWx1ZVdpdGhEZWZhdWx0KCkgY29uc3QKICAgICAgICAgICAgIGNhc2UgQlVUVE9O
OgogICAgICAgICAgICAgY2FzZSBDSEVDS0JPWDoKICAgICAgICAgICAgIGNhc2UgQ09MT1I6Cisg
ICAgICAgICAgICBjYXNlIERBVEU6CisgICAgICAgICAgICBjYXNlIERBVEVUSU1FOgorICAgICAg
ICAgICAgY2FzZSBEQVRFVElNRUxPQ0FMOgogICAgICAgICAgICAgY2FzZSBFTUFJTDoKICAgICAg
ICAgICAgIGNhc2UgRklMRToKICAgICAgICAgICAgIGNhc2UgSElEREVOOgogICAgICAgICAgICAg
Y2FzZSBJTUFHRToKICAgICAgICAgICAgIGNhc2UgSVNJTkRFWDoKKyAgICAgICAgICAgIGNhc2Ug
TU9OVEg6CiAgICAgICAgICAgICBjYXNlIE5VTUJFUjoKICAgICAgICAgICAgIGNhc2UgUEFTU1dP
UkQ6CiAgICAgICAgICAgICBjYXNlIFJBRElPOgpAQCAtMTA3OSw3ICsxMTAxLDkgQEAgU3RyaW5n
IEhUTUxJbnB1dEVsZW1lbnQ6OnZhbHVlV2l0aERlZmF1bHQoKSBjb25zdAogICAgICAgICAgICAg
Y2FzZSBTRUFSQ0g6CiAgICAgICAgICAgICBjYXNlIFRFTEVQSE9ORToKICAgICAgICAgICAgIGNh
c2UgVEVYVDoKKyAgICAgICAgICAgIGNhc2UgVElNRToKICAgICAgICAgICAgIGNhc2UgVVJMOgor
ICAgICAgICAgICAgY2FzZSBXRUVLOgogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAg
ICAgY2FzZSBSRVNFVDoKICAgICAgICAgICAgICAgICB2ID0gcmVzZXRCdXR0b25EZWZhdWx0TGFi
ZWwoKTsKQEAgLTExNzQsMTYgKzExOTgsMjIgQEAgYm9vbCBIVE1MSW5wdXRFbGVtZW50OjpzdG9y
ZXNWYWx1ZVNlcGFyYXRlRnJvbUF0dHJpYnV0ZSgpIGNvbnN0CiAgICAgICAgIGNhc2UgU1VCTUlU
OgogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICBjYXNlIENPTE9SOgorICAgICAg
ICBjYXNlIERBVEU6CisgICAgICAgIGNhc2UgREFURVRJTUU6CisgICAgICAgIGNhc2UgREFURVRJ
TUVMT0NBTDoKICAgICAgICAgY2FzZSBFTUFJTDoKICAgICAgICAgY2FzZSBGSUxFOgogICAgICAg
ICBjYXNlIElTSU5ERVg6CisgICAgICAgIGNhc2UgTU9OVEg6CiAgICAgICAgIGNhc2UgTlVNQkVS
OgogICAgICAgICBjYXNlIFBBU1NXT1JEOgogICAgICAgICBjYXNlIFJBTkdFOgogICAgICAgICBj
YXNlIFNFQVJDSDoKICAgICAgICAgY2FzZSBURUxFUEhPTkU6CiAgICAgICAgIGNhc2UgVEVYVDoK
KyAgICAgICAgY2FzZSBUSU1FOgogICAgICAgICBjYXNlIFVSTDoKKyAgICAgICAgY2FzZSBXRUVL
OgogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogICAgIHJldHVybiBmYWxzZTsKQEAg
LTEzNTAsMTYgKzEzODAsMjIgQEAgdm9pZCBIVE1MSW5wdXRFbGVtZW50OjpkZWZhdWx0RXZlbnRI
YW5kbGVyKEV2ZW50KiBldnQpCiAgICAgICAgICAgICBzd2l0Y2ggKGlucHV0VHlwZSgpKSB7CiAg
ICAgICAgICAgICAgICAgY2FzZSBDSEVDS0JPWDoKICAgICAgICAgICAgICAgICBjYXNlIENPTE9S
OgorICAgICAgICAgICAgICAgIGNhc2UgREFURToKKyAgICAgICAgICAgICAgICBjYXNlIERBVEVU
SU1FOgorICAgICAgICAgICAgICAgIGNhc2UgREFURVRJTUVMT0NBTDoKICAgICAgICAgICAgICAg
ICBjYXNlIEVNQUlMOgogICAgICAgICAgICAgICAgIGNhc2UgSElEREVOOgogICAgICAgICAgICAg
ICAgIGNhc2UgSVNJTkRFWDoKKyAgICAgICAgICAgICAgICBjYXNlIE1PTlRIOgogICAgICAgICAg
ICAgICAgIGNhc2UgTlVNQkVSOgogICAgICAgICAgICAgICAgIGNhc2UgUEFTU1dPUkQ6CiAgICAg
ICAgICAgICAgICAgY2FzZSBSQU5HRToKICAgICAgICAgICAgICAgICBjYXNlIFNFQVJDSDoKICAg
ICAgICAgICAgICAgICBjYXNlIFRFTEVQSE9ORToKICAgICAgICAgICAgICAgICBjYXNlIFRFWFQ6
CisgICAgICAgICAgICAgICAgY2FzZSBUSU1FOgogICAgICAgICAgICAgICAgIGNhc2UgVVJMOgor
ICAgICAgICAgICAgICAgIGNhc2UgV0VFSzoKICAgICAgICAgICAgICAgICAgICAgLy8gU2ltdWxh
dGUgbW91c2UgY2xpY2sgb24gdGhlIGRlZmF1bHQgZm9ybSBidXR0b24gZm9yIGVudGVyIGZvciB0
aGVzZSB0eXBlcyBvZiBlbGVtZW50cy4KICAgICAgICAgICAgICAgICAgICAgY2xpY2tEZWZhdWx0
Rm9ybUJ1dHRvbiA9IHRydWU7CiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwpAQCAtMTQ3OCwx
NiArMTUxNCwyMiBAQCB2b2lkIEhUTUxJbnB1dEVsZW1lbnQ6OmRlZmF1bHRFdmVudEhhbmRsZXIo
RXZlbnQqIGV2dCkKICAgICAgICAgICAgICAgICAgICAgICAgIGNsaWNrRWxlbWVudCA9IHRydWU7
CiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgIGNhc2UgQ09MT1I6
CisgICAgICAgICAgICAgICAgY2FzZSBEQVRFOgorICAgICAgICAgICAgICAgIGNhc2UgREFURVRJ
TUU6CisgICAgICAgICAgICAgICAgY2FzZSBEQVRFVElNRUxPQ0FMOgogICAgICAgICAgICAgICAg
IGNhc2UgRU1BSUw6CiAgICAgICAgICAgICAgICAgY2FzZSBISURERU46CiAgICAgICAgICAgICAg
ICAgY2FzZSBJU0lOREVYOgorICAgICAgICAgICAgICAgIGNhc2UgTU9OVEg6CiAgICAgICAgICAg
ICAgICAgY2FzZSBOVU1CRVI6CiAgICAgICAgICAgICAgICAgY2FzZSBQQVNTV09SRDoKICAgICAg
ICAgICAgICAgICBjYXNlIFJBTkdFOgogICAgICAgICAgICAgICAgIGNhc2UgU0VBUkNIOgogICAg
ICAgICAgICAgICAgIGNhc2UgVEVMRVBIT05FOgogICAgICAgICAgICAgICAgIGNhc2UgVEVYVDoK
KyAgICAgICAgICAgICAgICBjYXNlIFRJTUU6CiAgICAgICAgICAgICAgICAgY2FzZSBVUkw6Cisg
ICAgICAgICAgICAgICAgY2FzZSBXRUVLOgogICAgICAgICAgICAgICAgICAgICBicmVhazsKICAg
ICAgICAgICAgIH0KICAgICAgICAgfQpAQCAtMTcwNSw2ICsxNzQ3LDEyIEBAIGJvb2wgSFRNTElu
cHV0RWxlbWVudDo6aXNSZXF1aXJlZEZvcm1Db250cm9sKCkgY29uc3QKICAgICAgICAgY2FzZSBD
SEVDS0JPWDoKICAgICAgICAgY2FzZSBSQURJTzoKICAgICAgICAgY2FzZSBGSUxFOgorICAgICAg
ICBjYXNlIERBVEVUSU1FOgorICAgICAgICBjYXNlIERBVEU6CisgICAgICAgIGNhc2UgTU9OVEg6
CisgICAgICAgIGNhc2UgV0VFSzoKKyAgICAgICAgY2FzZSBUSU1FOgorICAgICAgICBjYXNlIERB
VEVUSU1FTE9DQUw6CiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgY2FzZSBISURE
RU46CiAgICAgICAgIGNhc2UgUkFOR0U6CkBAIC0xODI5LDcgKzE4NzcsMTMgQEAgSFRNTERhdGFM
aXN0RWxlbWVudCogSFRNTElucHV0RWxlbWVudDo6ZGF0YUxpc3QoKSBjb25zdAogICAgIGNhc2Ug
RU1BSUw6CiAgICAgY2FzZSBOVU1CRVI6CiAgICAgY2FzZSBSQU5HRToKLSAgICBjYXNlIENPTE9S
OiB7CisgICAgY2FzZSBDT0xPUjoKKyAgICBjYXNlIERBVEVUSU1FOgorICAgIGNhc2UgREFURToK
KyAgICBjYXNlIE1PTlRIOgorICAgIGNhc2UgV0VFSzoKKyAgICBjYXNlIFRJTUU6CisgICAgY2Fz
ZSBEQVRFVElNRUxPQ0FMOiB7CiAgICAgICAgIEVsZW1lbnQqIGVsZW1lbnQgPSBkb2N1bWVudCgp
LT5nZXRFbGVtZW50QnlJZChnZXRBdHRyaWJ1dGUobGlzdEF0dHIpKTsKICAgICAgICAgaWYgKGVs
ZW1lbnQgJiYgZWxlbWVudC0+aGFzVGFnTmFtZShkYXRhbGlzdFRhZykpCiAgICAgICAgICAgICBy
ZXR1cm4gc3RhdGljX2Nhc3Q8SFRNTERhdGFMaXN0RWxlbWVudCo+KGVsZW1lbnQpOwpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaCBiL1dlYkNvcmUvaHRtbC9IVE1M
SW5wdXRFbGVtZW50LmgKaW5kZXggNjNkMTYzNC4uZDhmOWQ0YSAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxl
bWVudC5oCkBAIC00MCw3ICs0MCw3IEBAIGNsYXNzIFZpc2libGVTZWxlY3Rpb247CiBjbGFzcyBI
VE1MSW5wdXRFbGVtZW50IDogcHVibGljIEhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50LCBwdWJs
aWMgSW5wdXRFbGVtZW50IHsKIHB1YmxpYzoKICAgICBlbnVtIElucHV0VHlwZSB7Ci0gICAgICAg
IFRFWFQsCisgICAgICAgIFRFWFQgPSAwLCAgLy8gVEVYVCBtdXN0IGJlIDAgYmVjYXVzZSBpdCdz
IHRoZSBkZWZhdWx0IHR5cGUuCiAgICAgICAgIFBBU1NXT1JELAogICAgICAgICBJU0lOREVYLAog
ICAgICAgICBDSEVDS0JPWCwKQEAgLTU3LDggKzU3LDE1IEBAIHB1YmxpYzoKICAgICAgICAgTlVN
QkVSLAogICAgICAgICBURUxFUEhPTkUsCiAgICAgICAgIFVSTCwKLSAgICAgICAgQ09MT1IKKyAg
ICAgICAgQ09MT1IsCisgICAgICAgIERBVEVUSU1FLAorICAgICAgICBEQVRFLAorICAgICAgICBN
T05USCwKKyAgICAgICAgV0VFSywKKyAgICAgICAgVElNRSwKKyAgICAgICAgREFURVRJTUVMT0NB
TAogICAgIH07CisgICAgc3RhdGljIGNvbnN0IGludCBNQVhfSU5QVVRfVFlQRVMgPSBEQVRFVElN
RUxPQ0FMICsgMTsKICAgICAKICAgICBlbnVtIEF1dG9Db21wbGV0ZVNldHRpbmcgewogICAgICAg
ICBVbmluaXRpYWxpemVkLApAQCAtOTYsNyArMTAzLDcgQEAgcHVibGljOgogCiAgICAgYm9vbCBp
c1RleHRCdXR0b24oKSBjb25zdCB7IHJldHVybiBtX3R5cGUgPT0gU1VCTUlUIHx8IG1fdHlwZSA9
PSBSRVNFVCB8fCBtX3R5cGUgPT0gQlVUVE9OOyB9CiAgICAgdmlydHVhbCBib29sIGlzUmFkaW9C
dXR0b24oKSBjb25zdCB7IHJldHVybiBtX3R5cGUgPT0gUkFESU87IH0KLSAgICB2aXJ0dWFsIGJv
b2wgaXNUZXh0RmllbGQoKSBjb25zdCB7IHJldHVybiBtX3R5cGUgPT0gVEVYVCB8fCBtX3R5cGUg
PT0gUEFTU1dPUkQgfHwgbV90eXBlID09IFNFQVJDSCB8fCBtX3R5cGUgPT0gSVNJTkRFWCB8fCBt
X3R5cGUgPT0gRU1BSUwgfHwgbV90eXBlID09IE5VTUJFUiB8fCBtX3R5cGUgPT0gVEVMRVBIT05F
IHx8IG1fdHlwZSA9PSBVUkwgfHwgbV90eXBlID09IENPTE9SOyB9CisgICAgdmlydHVhbCBib29s
IGlzVGV4dEZpZWxkKCkgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIGlzU2VhcmNoRmllbGQoKSBj
b25zdCB7IHJldHVybiBtX3R5cGUgPT0gU0VBUkNIOyB9CiAgICAgdmlydHVhbCBib29sIGlzSW5w
dXRUeXBlSGlkZGVuKCkgY29uc3QgeyByZXR1cm4gbV90eXBlID09IEhJRERFTjsgfQogICAgIHZp
cnR1YWwgYm9vbCBpc1Bhc3N3b3JkRmllbGQoKSBjb25zdCB7IHJldHVybiBtX3R5cGUgPT0gUEFT
U1dPUkQ7IH0KLS0gCjEuNi4zLjMKCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>40219</attachid>
            <date>2009-09-28 00:36:48 -0700</date>
            <delta_ts>2009-10-13 19:34:35 -0700</delta_ts>
            <desc>Patch part 2: ISO 8601 parser (rev.2)</desc>
            <filename>0004-iso8601-parser-2.patch</filename>
            <type>text/plain</type>
            <size>35341</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">RnJvbSAzYTQ2ZGRhZjVkZTU2NGYyYjAyM2ZlNjBiZTZjNmE0YzMzZWUyZTQ2IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBLZW50IFRhbXVyYSA8dGtlbnRAY2hyb21pdW0ub3JnPgpEYXRl
OiBUaHUsIDEwIFNlcCAyMDA5IDIwOjQ5OjQzICswOTAwClN1YmplY3Q6IFtQQVRDSCA0LzRdIGlz
bzg2MDEtcGFyc2VyLTIKCi0tLQogSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nICAgICAgICAgICAg
ICAgICAgICAgICAgICAgfCAgIDQ4ICsrKwogSmF2YVNjcmlwdENvcmUvR05VbWFrZWZpbGUuYW0g
ICAgICAgICAgICAgICAgICAgICAgfCAgICAyICsKIEphdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRD
b3JlLmV4cCAgICAgICAgICAgICAgICAgIHwgICAgNiArCiBKYXZhU2NyaXB0Q29yZS9KYXZhU2Ny
aXB0Q29yZS5neXBpICAgICAgICAgICAgICAgICB8ICAgIDIgKwogSmF2YVNjcmlwdENvcmUvSmF2
YVNjcmlwdENvcmUucHJpICAgICAgICAgICAgICAgICAgfCAgICAxICsKIC4uLi9KYXZhU2NyaXB0
Q29yZS9KYXZhU2NyaXB0Q29yZS5kZWYgICAgICAgICAgICAgIHwgICAgNiArCiAuLi4vSmF2YVNj
cmlwdENvcmUvSmF2YVNjcmlwdENvcmVfZGVidWcuZGVmICAgICAgICB8ICAgIDYgKwogLi4uL0ph
dmFTY3JpcHRDb3JlLnZjcHJvai9XVEYvV1RGLnZjcHJvaiAgICAgICAgICAgfCAgICA4ICsKIC4u
Li9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qICAgICAgIHwgICAgOCAr
CiBKYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZVNvdXJjZXMuYmtsICAgICAgICAgICB8ICAg
IDEgKwogSmF2YVNjcmlwdENvcmUvd3RmL0RhdGVNYXRoLmNwcCAgICAgICAgICAgICAgICAgICAg
fCAgIDIwICstCiBKYXZhU2NyaXB0Q29yZS93dGYvRGF0ZU1hdGguaCAgICAgICAgICAgICAgICAg
ICAgICB8ICAgNDQgKystCiBKYXZhU2NyaXB0Q29yZS93dGYvSVNPRGF0ZVBhcnNlci5jcHAgICAg
ICAgICAgICAgICB8ICA0MjAgKysrKysrKysrKysrKysrKysrKysKIEphdmFTY3JpcHRDb3JlL3d0
Zi9JU09EYXRlUGFyc2VyLmggICAgICAgICAgICAgICAgIHwgICA2MyArKysKIDE0IGZpbGVzIGNo
YW5nZWQsIDYxNiBpbnNlcnRpb25zKCspLCAxOSBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEw
MDY0NCBKYXZhU2NyaXB0Q29yZS93dGYvSVNPRGF0ZVBhcnNlci5jcHAKIGNyZWF0ZSBtb2RlIDEw
MDY0NCBKYXZhU2NyaXB0Q29yZS93dGYvSVNPRGF0ZVBhcnNlci5oCgpkaWZmIC0tZ2l0IGEvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGJj
NTJkMDIuLjVhYmVlYzYgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZworKysg
Yi9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw1MSBAQAorMjAwOS0wOS0wOCAg
S2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wbGVtZW50IHNvbWUgcGFyc2VycyBmb3IgSVNP
IDg2MDEuICBUaGV5J3JlIGdvaW5nIHRvIGJlIHVzZWQgZm9yIEhUTUw1IElOUFVUIHR5cGVzLgor
ICAgICAgICBUaGlzIGNoYW5nZSBoYXMgbm8gdGVzdHMgYmVjYXVzZSB0aGUgSVNPIDg2MDEgcGFy
c2VycyBhcmUgbm90IHVzZWQgeWV0LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjkwMDQKKworICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOiBBZGQgbmV3
IGZpbGVzLgorICAgICAgICAqIEphdmFTY3JpcHRDb3JlLmV4cDogRXhwb3J0IG5ldyBmdW5jdGlv
bnMgb2YgSVNPRGF0ZVBhcnNlci4KKyAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS5neXBpOiBBZGQg
bmV3IGZpbGVzLgorICAgICAgICAqIEphdmFTY3JpcHRDb3JlLnByaTogQWRkIG5ldyBmaWxlcy4K
KyAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS52Y3Byb2ovSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlw
dENvcmUuZGVmOiBFeHBvcnQgbmV3IGZ1bmN0aW9ucyBvZiBJU09EYXRlUGFyc2VyLgorICAgICAg
ICAqIEphdmFTY3JpcHRDb3JlLnZjcHJvai9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZV9k
ZWJ1Zy5kZWY6IEV4cG9ydCBuZXcgZnVuY3Rpb25zIG9mIElTT0RhdGVQYXJzZXIuCisgICAgICAg
ICogSmF2YVNjcmlwdENvcmUudmNwcm9qL1dURi9XVEYudmNwcm9qOiBBZGQgbmV3IGZpbGVzLgor
ICAgICAgICAqIEphdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6IEFkZCBu
ZXcgZmllbHMuCisgICAgICAgICogSmF2YVNjcmlwdENvcmVTb3VyY2VzLmJrbDogQWRkIG5ldyBm
aWxlcy4KKyAgICAgICAgKiB3dGYvRGF0ZU1hdGguY3BwOgorICAgICAgICAoV1RGOjpncmVnb3Jp
YW5EYXRlVGltZVRvTVMpOgorICAgICAgICAoV1RGOjptc1RvR3JlZ29yaWFuRGF0ZVRpbWUpOgor
ICAgICAgICAoV1RGOjpwYXJzZURhdGVGcm9tTnVsbFRlcm1pbmF0ZWRDaGFyYWN0ZXJzKToKKyAg
ICAgICAgKiB3dGYvRGF0ZU1hdGguaDogQWQgd2VlayBhbmQgbWlsbGlzZWNvbmQgZmllbGRzLCB1
c2UgZnVsbFllYXIoKSBhbmQgc2V0RnVsbFllYXIoKS4KKyAgICAgICAgKFdURjo6R3JlZ29yaWFu
RGF0ZVRpbWU6OkdyZWdvcmlhbkRhdGVUaW1lKToKKyAgICAgICAgKFdURjo6R3JlZ29yaWFuRGF0
ZVRpbWU6Om9wZXJhdG9yIHRtKToKKyAgICAgICAgKFdURjo6R3JlZ29yaWFuRGF0ZVRpbWU6OmNv
cHlGcm9tKToKKyAgICAgICAgKFdURjo6R3JlZ29yaWFuRGF0ZVRpbWU6OmZ1bGxZZWFyKToKKyAg
ICAgICAgKFdURjo6R3JlZ29yaWFuRGF0ZVRpbWU6OnNldEZ1bGxZZWFyKToKKyAgICAgICAgKFdU
Rjo6R3JlZ29yaWFuRGF0ZVRpbWU6Oik6CisgICAgICAgIChXVEY6OmlzTGVhcFllYXIpOiBNb3Zl
ZCBmcm9tIERhdGVNYXRoLmNwcC4KKyAgICAgICAgKiB3dGYvSVNPRGF0ZVBhcnNlci5jcHA6IEFk
ZGVkLgorICAgICAgICAoV1RGOjopOgorICAgICAgICAoV1RGOjptYXhEYXlPZk1vbnRoKToKKyAg
ICAgICAgKFdURjo6ZGF5T2ZXZWVrKToKKyAgICAgICAgKFdURjo6bWF4V2Vlayk6CisgICAgICAg
IChXVEY6OmNvdW50RGlnaXRzKToKKyAgICAgICAgKFdURjo6dG9JbnQpOgorICAgICAgICAoV1RG
OjpwYXJzZUlTT1llYXIpOgorICAgICAgICAoV1RGOjphZGREYXkpOgorICAgICAgICAoV1RGOjph
ZGRNaW51dGUpOgorICAgICAgICAoV1RGOjpwYXJzZUlTT1RpbWVab25lKToKKyAgICAgICAgKFdU
Rjo6cGFyc2VJU09Nb250aCk6CisgICAgICAgIChXVEY6OnBhcnNlSVNPRGF0ZSk6CisgICAgICAg
IChXVEY6OnBhcnNlSVNPV2Vlayk6CisgICAgICAgIChXVEY6OnBhcnNlSVNPVGltZSk6CisgICAg
ICAgIChXVEY6OnBhcnNlSVNPRGF0ZVRpbWVMb2NhbCk6CisgICAgICAgIChXVEY6OnBhcnNlSVNP
RGF0ZVRpbWUpOgorICAgICAgICAqIHd0Zi9JU09EYXRlUGFyc2VyLmg6IEFkZGVkLgorCiAyMDA5
LTA5LTI2ICBZb25nanVuIFpoYW5nICA8eW9uZ2p1bi56aGFuZ0Bub2tpYS5jb20+CiAKICAgICAg
ICAgUmV2aWV3ZWQgYnkgU2ltb24gSGF1c21hbm4uCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29y
ZS9HTlVtYWtlZmlsZS5hbSBiL0phdmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxlLmFtCmluZGV4IDMy
ZTI2NDIuLjFjMjhjMzMgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxlLmFt
CisrKyBiL0phdmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxlLmFtCkBAIC0yNDEsNiArMjQxLDggQEAg
amF2YXNjcmlwdGNvcmVfc291cmNlcyArPSBcCiAJSmF2YVNjcmlwdENvcmUvd3RmL0hhc2hUYWJs
ZS5jcHAgXAogCUphdmFTY3JpcHRDb3JlL3d0Zi9IYXNoVGFibGUuaCBcCiAJSmF2YVNjcmlwdENv
cmUvd3RmL0hhc2hUcmFpdHMuaCBcCisJSmF2YVNjcmlwdENvcmUvd3RmL0lTT0RhdGVQYXJzZXIu
Y3BwIFwKKwlKYXZhU2NyaXB0Q29yZS93dGYvSVNPRGF0ZVBhcnNlci5oIFwKIAlKYXZhU2NyaXB0
Q29yZS93dGYvTGlzdEhhc2hTZXQuaCBcCiAJSmF2YVNjcmlwdENvcmUvd3RmL0xpc3RSZWZQdHIu
aCBcCiAJSmF2YVNjcmlwdENvcmUvd3RmL0xvY2tlci5oIFwKZGlmZiAtLWdpdCBhL0phdmFTY3Jp
cHRDb3JlL0phdmFTY3JpcHRDb3JlLmV4cCBiL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3Jl
LmV4cAppbmRleCA2ZmJkMzkzLi5hMmM4ZjhiIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9K
YXZhU2NyaXB0Q29yZS5leHAKKysrIGIvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZXhw
CkBAIC0yOTgsOCArMjk4LDEyIEBAIF9fWk4zV1RGMTJjcmVhdGVUaHJlYWRFUEZQdlMwX0VTMF8K
IF9fWk4zV1RGMTJjcmVhdGVUaHJlYWRFUEZQdlMwX0VTMF9QS2MKIF9fWk4zV1RGMTJkZXRhY2hU
aHJlYWRFagogX19aTjNXVEYxMmlzTWFpblRocmVhZEV2CitfX1pOM1dURjEycGFyc2VJU09EYXRl
RVBLdGpqUGpQTlNfMTdHcmVnb3JpYW5EYXRlVGltZUUKK19fWk4zV1RGMTJwYXJzZUlTT1RpbWVF
UEt0ampQalBOU18xN0dyZWdvcmlhbkRhdGVUaW1lRQorX19aTjNXVEYxMnBhcnNlSVNPV2Vla0VQ
S3RqalBqUE5TXzE3R3JlZ29yaWFuRGF0ZVRpbWVFCiBfX1pOM1dURjEycmFuZG9tTnVtYmVyRXYK
IF9fWk4zV1RGMTNjdXJyZW50VGhyZWFkRXYKK19fWk4zV1RGMTNwYXJzZUlTT01vbnRoRVBLdGpq
UGpQTlNfMTdHcmVnb3JpYW5EYXRlVGltZUUKIF9fWk4zV1RGMTN0cnlGYXN0Q2FsbG9jRW1tCiBf
X1pOM1dURjEzdHJ5RmFzdE1hbGxvY0VtCiBfX1pOM1dURjE1VGhyZWFkQ29uZGl0aW9uNHdhaXRF
Uk5TXzVNdXRleEUKQEAgLTMxMCw2ICszMTQsNyBAQCBfX1pOM1dURjE1VGhyZWFkQ29uZGl0aW9u
QzFFdgogX19aTjNXVEYxNVRocmVhZENvbmRpdGlvbkQxRXYKIF9fWk4zV1RGMTZjYWxsT25NYWlu
VGhyZWFkRVBGdlB2RVMwXwogX19aTjNXVEYxNmZhc3RaZXJvZWRNYWxsb2NFbQorX19aTjNXVEYx
NnBhcnNlSVNPRGF0ZVRpbWVFUEt0ampQalBOU18xN0dyZWdvcmlhbkRhdGVUaW1lRQogX19aTjNX
VEYxOWluaXRpYWxpemVUaHJlYWRpbmdFdgogX19aTjNXVEYyMGZhc3RNYWxsb2NTdGF0aXN0aWNz
RXYKIF9fWk4zV1RGMjFSZWZDb3VudGVkTGVha0NvdW50ZXIxNnN1cHByZXNzTWVzc2FnZXNFUEtj
CkBAIC0zMTgsNiArMzIzLDcgQEAgX19aTjNXVEYyMVJlZkNvdW50ZWRMZWFrQ291bnRlcjlkZWNy
ZW1lbnRFdgogX19aTjNXVEYyMVJlZkNvdW50ZWRMZWFrQ291bnRlcjlpbmNyZW1lbnRFdgogX19a
TjNXVEYyMVJlZkNvdW50ZWRMZWFrQ291bnRlckMxRVBLYwogX19aTjNXVEYyMVJlZkNvdW50ZWRM
ZWFrQ291bnRlckQxRXYKK19fWk4zV1RGMjFwYXJzZUlTT0RhdGVUaW1lTG9jYWxFUEt0ampQalBO
U18xN0dyZWdvcmlhbkRhdGVUaW1lRQogX19aTjNXVEYyM3dhaXRGb3JUaHJlYWRDb21wbGV0aW9u
RWpQUHYKIF9fWk4zV1RGMjdyZWxlYXNlRmFzdE1hbGxvY0ZyZWVNZW1vcnlFdgogX19aTjNXVEYy
OHNldE1haW5UaHJlYWRDYWxsYmFja3NQYXVzZWRFYgpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENv
cmUvSmF2YVNjcmlwdENvcmUuZ3lwaSBiL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmd5
cGkKaW5kZXggMTVhMGMwZi4uZjcwZTYyZiAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvSmF2
YVNjcmlwdENvcmUuZ3lwaQorKysgYi9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5neXBp
CkBAIC0zODAsNiArMzgwLDggQEAKICAgICAgICAgICAgICd3dGYvSGFzaFRhYmxlLmNwcCcsCiAg
ICAgICAgICAgICAnd3RmL0hhc2hUYWJsZS5oJywKICAgICAgICAgICAgICd3dGYvSGFzaFRyYWl0
cy5oJywKKyAgICAgICAgICAgICd3dGYvSVNPRGF0ZVBhcnNlci5jcHAnLAorICAgICAgICAgICAg
J3d0Zi9JU09EYXRlUGFyc2VyLmgnLAogICAgICAgICAgICAgJ3d0Zi9MaXN0SGFzaFNldC5oJywK
ICAgICAgICAgICAgICd3dGYvTGlzdFJlZlB0ci5oJywKICAgICAgICAgICAgICd3dGYvTG9ja2Vy
LmgnLApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUucHJpIGIvSmF2
YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUucHJpCmluZGV4IDczNzkxZTAuLjI3OWU2OGMgMTAw
NjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnByaQorKysgYi9KYXZhU2Ny
aXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5wcmkKQEAgLTIyNyw2ICsyMjcsNyBAQCBTT1VSQ0VTICs9
IFwKICAgICBwcm9maWxlci9UcmVlUHJvZmlsZS5jcHAgXAogICAgIHd0Zi9EYXRlTWF0aC5jcHAg
XAogICAgIHd0Zi9GYXN0TWFsbG9jLmNwcCBcCisgICAgd3RmL0lTT0RhdGVQYXJzZXIuY3BwIFwK
ICAgICB3dGYvVGhyZWFkaW5nLmNwcCBcCiAgICAgd3RmL3F0L01haW5UaHJlYWRRdC5jcHAKIApk
aWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL0phdmFTY3Jp
cHRDb3JlL0phdmFTY3JpcHRDb3JlLmRlZiBiL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3Jl
LnZjcHJvai9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5kZWYKaW5kZXggNDFmZTI2YS4u
OTlhMTM3YSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9q
L0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmRlZgorKysgYi9KYXZhU2NyaXB0Q29yZS9K
YXZhU2NyaXB0Q29yZS52Y3Byb2ovSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZGVmCkBA
IC0xOTQsNiArMTk0LDEyIEBAIEVYUE9SVFMKICAgICA/b2JqZWN0UHJvdG9GdW5jVG9TdHJpbmdA
SlNDQEBZST9BVkpTVmFsdWVAMUBQQVZFeGVjU3RhdGVAMUBQQVZKU09iamVjdEAxQFYyMUBBQlZB
cmdMaXN0QDFAQFoKICAgICA/cGFyc2VAUGFyc2VyQEpTQ0BAQUFFWFBBVkpTR2xvYmFsRGF0YUAy
QFBBSFBBVlVTdHJpbmdAMkBAWgogICAgID9wYXJzZURhdGVGcm9tTnVsbFRlcm1pbmF0ZWRDaGFy
YWN0ZXJzQFdURkBAWUFOUEJEQFoKKyAgICA/cGFyc2VJU09EYXRlQFdURkBAWUFfTlBCX1dJSVBB
SVBBVUdyZWdvcmlhbkRhdGVUaW1lQDFAQFoKKyAgICA/cGFyc2VJU09EYXRlVGltZUBXVEZAQFlB
X05QQl9XSUlQQUlQQVVHcmVnb3JpYW5EYXRlVGltZUAxQEBaCisgICAgP3BhcnNlSVNPRGF0ZVRp
bWVMb2NhbEBXVEZAQFlBX05QQl9XSUlQQUlQQVVHcmVnb3JpYW5EYXRlVGltZUAxQEBaCisgICAg
P3BhcnNlSVNPTW9udGhAV1RGQEBZQV9OUEJfV0lJUEFJUEFVR3JlZ29yaWFuRGF0ZVRpbWVAMUBA
WgorICAgID9wYXJzZUlTT1RpbWVAV1RGQEBZQV9OUEJfV0lJUEFJUEFVR3JlZ29yaWFuRGF0ZVRp
bWVAMUBAWgorICAgID9wYXJzZUlTT1dlZWtAV1RGQEBZQV9OUEJfV0lJUEFJUEFVR3JlZ29yaWFu
RGF0ZVRpbWVAMUBAWgogICAgID9wcmltYXJ5SGVhcEJlZ2luQEhlYXBASlNDQEBRQUU/QVY/JENv
bGxlY3RvckhlYXBJdGVyYXRvckAkMEFAQDJAWFoKICAgICA/cHJpbWFyeUhlYXBFbmRASGVhcEBK
U0NAQFFBRT9BVj8kQ29sbGVjdG9ySGVhcEl0ZXJhdG9yQCQwQUBAMkBYWgogICAgID9wcm9maWxl
ckBQcm9maWxlckBKU0NAQFNBUEFWMTJAWFoKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0ph
dmFTY3JpcHRDb3JlLnZjcHJvai9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZV9kZWJ1Zy5k
ZWYgYi9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ovSmF2YVNjcmlwdENvcmUv
SmF2YVNjcmlwdENvcmVfZGVidWcuZGVmCmluZGV4IGM2MDlmNjMuLjJjOTI1YjUgMTAwNjQ0Ci0t
LSBhL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9KYXZhU2NyaXB0Q29yZS9K
YXZhU2NyaXB0Q29yZV9kZWJ1Zy5kZWYKKysrIGIvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENv
cmUudmNwcm9qL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlX2RlYnVnLmRlZgpAQCAtMTk0
LDYgKzE5NCwxMiBAQCBFWFBPUlRTCiAgICAgP29iamVjdFByb3RvRnVuY1RvU3RyaW5nQEpTQ0BA
WUk/QVZKU1ZhbHVlQDFAUEFWRXhlY1N0YXRlQDFAUEFWSlNPYmplY3RAMUBWMjFAQUJWQXJnTGlz
dEAxQEBaCiAgICAgP3BhcnNlQFBhcnNlckBKU0NAQEFBRVhQQVZKU0dsb2JhbERhdGFAMkBQQUhQ
QVZVU3RyaW5nQDJAQFoKICAgICA/cGFyc2VEYXRlRnJvbU51bGxUZXJtaW5hdGVkQ2hhcmFjdGVy
c0BXVEZAQFlBTlBCREBaCisgICAgP3BhcnNlSVNPRGF0ZUBXVEZAQFlBX05QQl9XSUlQQUlQQVVH
cmVnb3JpYW5EYXRlVGltZUAxQEBaCisgICAgP3BhcnNlSVNPRGF0ZVRpbWVAV1RGQEBZQV9OUEJf
V0lJUEFJUEFVR3JlZ29yaWFuRGF0ZVRpbWVAMUBAWgorICAgID9wYXJzZUlTT0RhdGVUaW1lTG9j
YWxAV1RGQEBZQV9OUEJfV0lJUEFJUEFVR3JlZ29yaWFuRGF0ZVRpbWVAMUBAWgorICAgID9wYXJz
ZUlTT01vbnRoQFdURkBAWUFfTlBCX1dJSVBBSVBBVUdyZWdvcmlhbkRhdGVUaW1lQDFAQFoKKyAg
ICA/cGFyc2VJU09UaW1lQFdURkBAWUFfTlBCX1dJSVBBSVBBVUdyZWdvcmlhbkRhdGVUaW1lQDFA
QFoKKyAgICA/cGFyc2VJU09XZWVrQFdURkBAWUFfTlBCX1dJSVBBSVBBVUdyZWdvcmlhbkRhdGVU
aW1lQDFAQFoKICAgICA/cHJpbWFyeUhlYXBCZWdpbkBIZWFwQEpTQ0BAUUFFP0FWPyRDb2xsZWN0
b3JIZWFwSXRlcmF0b3JAJDBBQEAyQFhaCiAgICAgP3ByaW1hcnlIZWFwRW5kQEhlYXBASlNDQEBR
QUU/QVY/JENvbGxlY3RvckhlYXBJdGVyYXRvckAkMEFAQDJAWFoKICAgICA/cHJvZmlsZXJAUHJv
ZmlsZXJASlNDQEBTQVBBVjEyQFhaCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9KYXZhU2Ny
aXB0Q29yZS52Y3Byb2ovV1RGL1dURi52Y3Byb2ogYi9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0
Q29yZS52Y3Byb2ovV1RGL1dURi52Y3Byb2oKaW5kZXggNmVkODllNS4uZTk0ZjQ1MSAxMDA2NDQK
LS0tIGEvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL1dURi9XVEYudmNwcm9q
CisrKyBiL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9XVEYvV1RGLnZjcHJv
agpAQCAtMzEzLDYgKzMxMywxNCBAQAogCQkJPg0KIAkJPC9GaWxlPg0KIAkJPEZpbGUNCisJCQlS
ZWxhdGl2ZVBhdGg9Ii4uXC4uXHd0ZlxJU09EYXRlUGFyc2VyLmNwcCINCisJCQk+DQorCQk8L0Zp
bGU+DQorCQk8RmlsZQ0KKwkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cd3RmXElTT0RhdGVQYXJzZXIu
aCINCisJCQk+DQorCQk8L0ZpbGU+DQorCQk8RmlsZQ0KIAkJCVJlbGF0aXZlUGF0aD0iLi5cLi5c
d3RmXExpc3RIYXNoU2V0LmgiDQogCQkJPg0KIAkJPC9GaWxlPg0KZGlmZiAtLWdpdCBhL0phdmFT
Y3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9KYXZh
U2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4
IDVlMzQzZDguLjIxMGI2ODMgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvSmF2YVNjcmlwdENvcmUvSmF2YVNj
cmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMzkzLDYgKzM5Myw4IEBACiAJ
CUUxRUU3OTNEMEQ2QzlCOTIwMEZFQTNCQSAvKiBUaHJlYWRpbmdQdGhyZWFkcy5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMUVFNzkzQzBENkM5Qjky
MDBGRUEzQkEgLyogVGhyZWFkaW5nUHRocmVhZHMuY3BwICovOyB9OwogCQlFMUVGNzlBQTBDRTk3
QkE2MDA4OEQ1MDAgLyogVVRGOC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBFMUVGNzlBODBDRTk3QkE2MDA4OEQ1MDAgLyogVVRGOC5jcHAgKi87IH07
CiAJCUU0OEUwRjJEMEY4MjE1MTcwMEE4Q0EzNyAvKiBGYXN0QWxsb2NCYXNlLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNDhFMEYyQzBGODIxNTE3MDBB
OENBMzcgLyogRmFzdEFsbG9jQmFzZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CisJCUY1RDNBNTdDMTA2QjgzQjMwMDU0NTI5NyAvKiBJU09EYXRlUGFy
c2VyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY1
RDNBNTdBMTA2QjgzQjMwMDU0NTI5NyAvKiBJU09EYXRlUGFyc2VyLmNwcCAqLzsgfTsKKwkJRjVE
M0E1N0QxMDZCODNCMzAwNTQ1Mjk3IC8qIElTT0RhdGVQYXJzZXIuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY1RDNBNTdCMTA2QjgzQjMwMDU0NTI5NyAv
KiBJU09EYXRlUGFyc2VyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJRkUxQjQ0N0EwRUNDRDczQjAwNEY0REQxIC8qIFN0ZExpYkV4dHJhcy5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkUxQjQ0NzkwRUND
RDczQjAwNEY0REQxIC8qIFN0ZExpYkV4dHJhcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAvKiBFbmQgUEJYQnVpbGRGaWxlIHNlY3Rpb24gKi8KIApA
QCAtODk0LDYgKzg5Niw4IEBACiAJCUU0OEUwRjJDMEY4MjE1MTcwMEE4Q0EzNyAvKiBGYXN0QWxs
b2NCYXNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEZhc3RBbGxvY0Jhc2Uu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjVCQjJCQzUwMzBGNzcyMTAxRkNGRTFE
IC8qIENvbXBsZXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSAzMDsgaW5kZW50V2lkdGggPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gQ29tcGxldGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0
aCA9IDg7IH07CiAJCUY1QzI5MEU2MDI4NEY5OEUwMTg2MzVDQSAvKiBKYXZhU2NyaXB0Q29yZVBy
ZWZpeC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBp
bmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBKYXZhU2NyaXB0Q29yZVByZWZpeC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0
aCA9IDg7IH07CisJCUY1RDNBNTdBMTA2QjgzQjMwMDU0NTI5NyAvKiBJU09EYXRlUGFyc2VyLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IElTT0RhdGVQYXJzZXIuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGNUQzQTU3QjEwNkI4M0IzMDA1NDUyOTcg
LyogSVNPRGF0ZVBhcnNlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJU09E
YXRlUGFyc2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY2OEVCQjhDMDI1NUQ0
QzYwMUZGNjBGNyAvKiBjb25maWcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSAzMDsgaW5kZW50V2lkdGggPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gY29uZmlnLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHRhYldp
ZHRoID0gODsgfTsKIAkJRjY5MkE4NEQwMjU1NTk3RDAxRkY2MEY3IC8qIEFycmF5UHJvdG90eXBl
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgaW5k
ZW50V2lkdGggPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IEFycmF5UHJvdG90eXBlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGgg
PSA4OyB9OwogCQlGNjkyQTg0RTAyNTU1OTdEMDFGRjYwRjcgLyogQXJyYXlQcm90b3R5cGUuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgaW5kZW50V2lk
dGggPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQXJyYXlQ
cm90b3R5cGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB9OwpAQCAt
MTIzNiw2ICsxMjQwLDggQEAKIAkJCQk2NURGQzkyRDA4RUExNzNBMDBGNzMwMEIgLyogSGFzaFRh
YmxlLmNwcCAqLywKIAkJCQk2NURGQzkyRTA4RUExNzNBMDBGNzMwMEIgLyogSGFzaFRhYmxlLmgg
Ki8sCiAJCQkJNjVERkM5MkYwOEVBMTczQTAwRjczMDBCIC8qIEhhc2hUcmFpdHMuaCAqLywKKwkJ
CQlGNUQzQTU3QTEwNkI4M0IzMDA1NDUyOTcgLyogSVNPRGF0ZVBhcnNlci5jcHAgKi8sCisJCQkJ
RjVEM0E1N0IxMDZCODNCMzAwNTQ1Mjk3IC8qIElTT0RhdGVQYXJzZXIuaCAqLywKIAkJCQk2NTdF
Qjc0NTBCNzA4RjU0MDA2MzQ2MUIgLyogTGlzdEhhc2hTZXQuaCAqLywKIAkJCQkxNDhBMTYyNjA5
NUQxNkJCMDA2NjZEMEQgLyogTGlzdFJlZlB0ci5oICovLAogCQkJCUUxRUU3OTI3MEQ2Qzk2NDUw
MEZFQTNCQSAvKiBMb2NrZXIuaCAqLywKQEAgLTE3NDEsNiArMTc0Nyw3IEBACiAJCQkJQkMxOEM0
MEMwRTE2RjVDRDAwQjM0NDYwIC8qIEhhc2hTZXQuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMThD
NDBEMEUxNkY1Q0QwMEIzNDQ2MCAvKiBIYXNoVGFibGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUJD
MThDNDBFMEUxNkY1Q0QwMEIzNDQ2MCAvKiBIYXNoVHJhaXRzLmggaW4gSGVhZGVycyAqLywKKwkJ
CQlGNUQzQTU3RDEwNkI4M0IzMDA1NDUyOTcgLyogSVNPRGF0ZVBhcnNlci5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQkMxOEM0MEYwRTE2RjVDRDAwQjM0NDYwIC8qIElkZW50aWZpZXIuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUJDMThDNDEwMEUxNkY1Q0QwMEIzNDQ2MCAvKiBJbml0aWFsaXplVGhyZWFk
aW5nLmggaW4gSGVhZGVycyAqLywKIAkJCQk5NjlBMDc5OTBFRDFEM0FFMDBGMUY2ODEgLyogSW5z
dHJ1Y3Rpb24uaCBpbiBIZWFkZXJzICovLApAQCAtMjIyNyw2ICsyMjM0LDcgQEAKIAkJCQk4NkRC
NjQ2NDBGOTVDNkZDMDBEN0Q5MjEgLyogRXhlY3V0YWJsZUFsbG9jYXRvckZpeGVkVk1Qb29sLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCUE3ODJGMUE1MEVFQzlGQTIwMDM2MjczRiAvKiBFeGVjdXRh
YmxlQWxsb2NhdG9yUG9zaXguY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNjVERkM5MzMwOEVBMTcz
QTAwRjczMDBCIC8qIEhhc2hUYWJsZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlGNUQzQTU3QzEw
NkI4M0IzMDA1NDUyOTcgLyogSVNPRGF0ZVBhcnNlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlF
MTc4NjM2RDBEOUJFRUMzMDBENzRFNzUgLyogSW5pdGlhbGl6ZVRocmVhZGluZy5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQkxNDI5RDdENDBFRDIxMjgyMDBCODk2MTkgLyogSW50ZXJwcmV0ZXIuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJMTQyOUQ5MkYwRUQyMkQ3MDAwQjg5NjE5IC8qIEpJVC5jcHAg
aW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3Jl
U291cmNlcy5ia2wgYi9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZVNvdXJjZXMuYmtsCmlu
ZGV4IDE4NTJkMTIuLjM4MjNlYTIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL0phdmFTY3Jp
cHRDb3JlU291cmNlcy5ia2wKKysrIGIvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmVTb3Vy
Y2VzLmJrbApAQCAtMTc2LDYgKzE3Niw3IEBAIFNvdXJjZSBmaWxlcyBmb3IgSlNDb3JlLgogICAg
ICAgICB3dGYvRGF0ZU1hdGguY3BwCiAgICAgICAgIHd0Zi9GYXN0TWFsbG9jLmNwcAogICAgICAg
ICB3dGYvSGFzaFRhYmxlLmNwcAorICAgICAgICB3dGYvSVNPRGF0ZVBhcnNlci5jcHAKICAgICAg
ICAgd3RmL01haW5UaHJlYWQuY3BwCiAgICAgICAgIHd0Zi9SYW5kb21OdW1iZXIuY3BwCiAgICAg
ICAgIHd0Zi9SZWZDb3VudGVkTGVha0NvdW50ZXIuY3BwCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0
Q29yZS93dGYvRGF0ZU1hdGguY3BwIGIvSmF2YVNjcmlwdENvcmUvd3RmL0RhdGVNYXRoLmNwcApp
bmRleCAwMzg2NDk0Li40MWU5ZWQ0IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvRGF0
ZU1hdGguY3BwCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9EYXRlTWF0aC5jcHAKQEAgLTk5LDE3
ICs5OSw2IEBAIHN0YXRpYyBjb25zdCBpbnQgZmlyc3REYXlPZk1vbnRoWzJdWzEyXSA9IHsKICAg
ICB7MCwgMzEsIDYwLCA5MSwgMTIxLCAxNTIsIDE4MiwgMjEzLCAyNDQsIDI3NCwgMzA1LCAzMzV9
CiB9OwogCi1zdGF0aWMgaW5saW5lIGJvb2wgaXNMZWFwWWVhcihpbnQgeWVhcikKLXsKLSAgICBp
ZiAoeWVhciAlIDQgIT0gMCkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIGlmICh5ZWFyICUg
NDAwID09IDApCi0gICAgICAgIHJldHVybiB0cnVlOwotICAgIGlmICh5ZWFyICUgMTAwID09IDAp
Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQogc3RhdGljIGlu
bGluZSBpbnQgZGF5c0luWWVhcihpbnQgeWVhcikKIHsKICAgICByZXR1cm4gMzY1ICsgaXNMZWFw
WWVhcih5ZWFyKTsKQEAgLTQ4OCw3ICs0NzcsNyBAQCBzdGF0aWMgZG91YmxlIGdldERTVE9mZnNl
dChkb3VibGUgbXMsIGRvdWJsZSB1dGNPZmZzZXQpCiAKIGRvdWJsZSBncmVnb3JpYW5EYXRlVGlt
ZVRvTVMoY29uc3QgR3JlZ29yaWFuRGF0ZVRpbWUmIHQsIGRvdWJsZSBtaWxsaVNlY29uZHMsIGJv
b2wgaW5wdXRJc1VUQykKIHsKLSAgICBpbnQgZGF5ID0gZGF0ZVRvRGF5SW5ZZWFyKHQueWVhciAr
IDE5MDAsIHQubW9udGgsIHQubW9udGhEYXkpOworICAgIGludCBkYXkgPSBkYXRlVG9EYXlJblll
YXIodC5mdWxsWWVhcigpLCB0Lm1vbnRoLCB0Lm1vbnRoRGF5KTsKICAgICBkb3VibGUgbXMgPSB0
aW1lVG9NUyh0LmhvdXIsIHQubWludXRlLCB0LnNlY29uZCwgbWlsbGlTZWNvbmRzKTsKICAgICBk
b3VibGUgcmVzdWx0ID0gKGRheSAqIG1zUGVyRGF5KSArIG1zOwogCkBAIC01MTMsNiArNTAyLDcg
QEAgdm9pZCBtc1RvR3JlZ29yaWFuRGF0ZVRpbWUoZG91YmxlIG1zLCBib29sIG91dHB1dElzVVRD
LCBHcmVnb3JpYW5EYXRlVGltZSYgdG0pCiAgICAgfQogCiAgICAgY29uc3QgaW50IHllYXIgPSBt
c1RvWWVhcihtcyk7CisgICAgdG0ubWlsbGlzZWNvbmQgPSBzdGF0aWNfY2FzdDxpbnQ+KGZtb2Qo
bXMsIDEwMDApKTsKICAgICB0bS5zZWNvbmQgICA9ICBtc1RvU2Vjb25kcyhtcyk7CiAgICAgdG0u
bWludXRlICAgPSAgbXNUb01pbnV0ZXMobXMpOwogICAgIHRtLmhvdXIgICAgID0gIG1zVG9Ib3Vy
cyhtcyk7CkBAIC01MjAsMTEgKzUxMCwxMiBAQCB2b2lkIG1zVG9HcmVnb3JpYW5EYXRlVGltZShk
b3VibGUgbXMsIGJvb2wgb3V0cHV0SXNVVEMsIEdyZWdvcmlhbkRhdGVUaW1lJiB0bSkKICAgICB0
bS55ZWFyRGF5ICA9ICBkYXlJblllYXIobXMsIHllYXIpOwogICAgIHRtLm1vbnRoRGF5ID0gIGRh
eUluTW9udGhGcm9tRGF5SW5ZZWFyKHRtLnllYXJEYXksIGlzTGVhcFllYXIoeWVhcikpOwogICAg
IHRtLm1vbnRoICAgID0gIG1vbnRoRnJvbURheUluWWVhcih0bS55ZWFyRGF5LCBpc0xlYXBZZWFy
KHllYXIpKTsKLSAgICB0bS55ZWFyICAgICA9ICB5ZWFyIC0gMTkwMDsKKyAgICB0bS5zZXRGdWxs
WWVhcih5ZWFyKTsKICAgICB0bS5pc0RTVCAgICA9ICBkc3RPZmYgIT0gMC4wOwogCiAgICAgdG0u
dXRjT2Zmc2V0ID0gb3V0cHV0SXNVVEMgPyAwIDogc3RhdGljX2Nhc3Q8bG9uZz4oKGRzdE9mZiAr
IHV0Y09mZikgLyBtc1BlclNlY29uZCk7CiAgICAgdG0udGltZVpvbmUgPSBOVUxMOworICAgIHRt
LndlZWsgPSAwOwogfQogCiB2b2lkIGluaXRpYWxpemVEYXRlcygpCkBAIC04OTYsNyArODg3LDcg
QEAgZG91YmxlIHBhcnNlRGF0ZUZyb21OdWxsVGVybWluYXRlZENoYXJhY3RlcnMoY29uc3QgY2hh
ciogZGF0ZVN0cmluZykKICAgICAgICAgR3JlZ29yaWFuRGF0ZVRpbWUgdDsKICAgICAgICAgdC5t
b250aERheSA9IGRheTsKICAgICAgICAgdC5tb250aCA9IG1vbnRoOwotICAgICAgICB0LnllYXIg
PSB5ZWFyIC0gMTkwMDsKKyAgICAgICAgdC5zZXRGdWxsWWVhcih5ZWFyKTsKICAgICAgICAgdC5p
c0RTVCA9IC0xOwogICAgICAgICB0LnNlY29uZCA9IHNlY29uZDsKICAgICAgICAgdC5taW51dGUg
PSBtaW51dGU7CkBAIC05MTgsNSArOTA5LDQgQEAgZG91YmxlIHRpbWVDbGlwKGRvdWJsZSB0KQog
ICAgIHJldHVybiB0cnVuYyh0KTsKIH0KIAotCiB9IC8vIG5hbWVzcGFjZSBXVEYKZGlmZiAtLWdp
dCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9EYXRlTWF0aC5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL0Rh
dGVNYXRoLmgKaW5kZXggNjExMGY3Ni4uOGM2YTc1NCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENv
cmUvd3RmL0RhdGVNYXRoLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL0RhdGVNYXRoLmgKQEAg
LTkwLDYgKzkwLDggQEAgc3RydWN0IEdyZWdvcmlhbkRhdGVUaW1lIDogTm9uY29weWFibGUgewog
ICAgICAgICAsIGlzRFNUKDApCiAgICAgICAgICwgdXRjT2Zmc2V0KDApCiAgICAgICAgICwgdGlt
ZVpvbmUoMCkKKyAgICAgICAgLCB3ZWVrKDApCisgICAgICAgICwgbWlsbGlzZWNvbmQoMCkKICAg
ICB7CiAgICAgfQogCkBAIC0xMDgsNiArMTEwLDggQEAgc3RydWN0IEdyZWdvcmlhbkRhdGVUaW1l
IDogTm9uY29weWFibGUgewogICAgICAgICAsIG1vbnRoKGluVG0udG1fbW9uKQogICAgICAgICAs
IHllYXIoaW5UbS50bV95ZWFyKQogICAgICAgICAsIGlzRFNUKGluVG0udG1faXNkc3QpCisgICAg
ICAgICwgd2VlaygwKQorICAgICAgICAsIG1pbGxpc2Vjb25kKDApCiAgICAgewogI2lmIEhBVkUo
VE1fR01UT0ZGKQogICAgICAgICB1dGNPZmZzZXQgPSBzdGF0aWNfY2FzdDxpbnQ+KGluVG0udG1f
Z210b2ZmKTsKQEAgLTEyNiw2ICsxMzAsOCBAQCBzdHJ1Y3QgR3JlZ29yaWFuRGF0ZVRpbWUgOiBO
b25jb3B5YWJsZSB7CiAKICAgICBvcGVyYXRvciB0bSgpIGNvbnN0CiAgICAgeworICAgICAgICBB
U1NFUlQoIXdlZWspOworCiAgICAgICAgIHRtIHJldDsKICAgICAgICAgbWVtc2V0KCZyZXQsIDAs
IHNpemVvZihyZXQpKTsKIApAQCAtMTY3LDE5ICsxNzMsMzggQEAgc3RydWN0IEdyZWdvcmlhbkRh
dGVUaW1lIDogTm9uY29weWFibGUgewogICAgICAgICAgICAgc3RybmNweSh0aW1lWm9uZSwgcmhz
LnRpbWVab25lLCBpblpvbmVTaXplKTsKICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICB0aW1l
Wm9uZSA9IDA7CisgICAgICAgIHdlZWsgPSByaHMud2VlazsKKyAgICAgICAgbWlsbGlzZWNvbmQg
PSByaHMubWlsbGlzZWNvbmQ7CiAgICAgfQogCisgICAgaW50IGZ1bGxZZWFyKCkgY29uc3QgeyBy
ZXR1cm4geWVhciArIDE5MDA7IH0KKyAgICB2b2lkIHNldEZ1bGxZZWFyKGludCB5KSB7IHllYXIg
PSB5IC0gMTkwMDsgfQorCisgICAgLy8gd2Vla0RheSB2YWx1ZXMKKyAgICBlbnVtIHsKKyAgICAg
ICAgU1VOREFZID0gMCwKKyAgICAgICAgTU9OREFZLAorICAgICAgICBUVUVTREFZLAorICAgICAg
ICBXRURORVNEQVksCisgICAgICAgIFRIVVJTREFZLAorICAgICAgICBGUklEQVksCisgICAgICAg
IFNBVFVSREFZLAorICAgIH07CisKICAgICBpbnQgc2Vjb25kOwogICAgIGludCBtaW51dGU7CiAg
ICAgaW50IGhvdXI7Ci0gICAgaW50IHdlZWtEYXk7Ci0gICAgaW50IG1vbnRoRGF5OworICAgIGlu
dCB3ZWVrRGF5OyAgLy8gMDpTdW5kYXkKKyAgICBpbnQgbW9udGhEYXk7ICAvLyAxIC0gMzEKICAg
ICBpbnQgeWVhckRheTsKLSAgICBpbnQgbW9udGg7Ci0gICAgaW50IHllYXI7CisgICAgaW50IG1v
bnRoOyAgLy8gMDpKYW51YXJ5CisgICAgaW50IHllYXI7ICAvLyB5ZWFyIC0gMTkwMAogICAgIGlu
dCBpc0RTVDsKICAgICBpbnQgdXRjT2Zmc2V0OwogICAgIGNoYXIqIHRpbWVab25lOworCisgICAg
aW50IHdlZWs7ICAvLyAxIC0gNTMuICAwIGlzIGludmFsaWQuICBUaGlzIGZpZWxkIGhhcyBhIHZh
bGlkIHZhbHVlIG9ubHkgaWYgcGFyc2VJU09XZWVrKCkgaXMgY2FsbGVkLgorICAgIGludCBtaWxs
aXNlY29uZDsgIC8vIDAgLSA5OTkKIH07CiAKIHN0YXRpYyBpbmxpbmUgaW50IGdtdG9mZnNldChj
b25zdCBHcmVnb3JpYW5EYXRlVGltZSYgdCkKQEAgLTE4Nyw2ICsyMTIsMTcgQEAgc3RhdGljIGlu
bGluZSBpbnQgZ210b2Zmc2V0KGNvbnN0IEdyZWdvcmlhbkRhdGVUaW1lJiB0KQogICAgIHJldHVy
biB0LnV0Y09mZnNldDsKIH0KIAorc3RhdGljIGlubGluZSBib29sIGlzTGVhcFllYXIoaW50IHll
YXIpCit7CisgICAgaWYgKHllYXIgJSA0KQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYg
KCEoeWVhciAlIDQwMCkpCisgICAgICAgIHJldHVybiB0cnVlOworICAgIGlmICghKHllYXIgJSAx
MDApKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgcmV0dXJuIHRydWU7Cit9CisKIH0gLy8g
bmFtZXNwYWNlIFdURgogCiAjZW5kaWYgLy8gRGF0ZU1hdGhfaApkaWZmIC0tZ2l0IGEvSmF2YVNj
cmlwdENvcmUvd3RmL0lTT0RhdGVQYXJzZXIuY3BwIGIvSmF2YVNjcmlwdENvcmUvd3RmL0lTT0Rh
dGVQYXJzZXIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEyMDQ4OWUK
LS0tIC9kZXYvbnVsbAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvSVNPRGF0ZVBhcnNlci5jcHAK
QEAgLTAsMCArMSw0MjAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMDksIEdvb2dsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
CisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhl
IG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9t
CisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAq
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIklTT0RhdGVQ
YXJzZXIuaCIKKworI2luY2x1ZGUgIkFTQ0lJQ1R5cGUuaCIKKworbmFtZXNwYWNlIFdURiB7CisK
Ky8vIFRoZSBvbGRlc3QgZGF5IG9mIEdyZWdvcmlhbiBDYWxlbmRhciBpcyAxNTgyLTEwLTE1LiAg
V2UgZG9uJ3Qgc3VwcG9ydCBkYXRlcyBvbGRlciB0aGFuIGl0Lgorc3RhdGljIGNvbnN0IGludCBn
cmVnb3JpYW5TdGFydFllYXIgPSAxNTgyOworc3RhdGljIGNvbnN0IGludCBncmVnb3JpYW5TdGFy
dE1vbnRoID0gMTA7CitzdGF0aWMgY29uc3QgaW50IGdyZWdvcmlhblN0YXJ0RGF5ID0gMTU7CisK
K3N0YXRpYyBjb25zdCBpbnQgbWF4RGF5T2ZNb250aHNbMTJdID0gezMxLCAyOCwgMzEsIDMwLCAz
MSwgMzAsIDMxLCAzMSwgMzAsIDMxLCAzMCwgMzF9OworCitzdGF0aWMgaW50IG1heERheU9mTW9u
dGgoaW50IHllYXIsIGludCBtb250aCkKK3sKKyAgICBpZiAobW9udGggIT0gMSkgLy8gRmVicnVh
cnk/CisgICAgICAgIHJldHVybiBtYXhEYXlPZk1vbnRoc1ttb250aF07CisgICAgcmV0dXJuIGlz
TGVhcFllYXIoeWVhcikgPyAyOSA6IDI4OworfQorCitzdGF0aWMgaW50IG1heERheU9mTW9udGgo
Y29uc3QgR3JlZ29yaWFuRGF0ZVRpbWUqIGRhdGUpCit7CisgICAgcmV0dXJuIG1heERheU9mTW9u
dGgoZGF0ZS0+ZnVsbFllYXIoKSwgZGF0ZS0+bW9udGgpOworfQorCitzdGF0aWMgaW50IGRheU9m
V2VlayhpbnQgeWVhciwgaW50IG1vbnRoLCBpbnQgZGF5KQoreworICAgICsrbW9udGg7CisKKyAg
ICAvLyBaZWxsZXIncyBjb25ncnVlbmNlCisgICAgaWYgKG1vbnRoIDw9IDIpIHsKKyAgICAgICAg
bW9udGggKz0gMTI7CisgICAgICAgIHllYXItLTsKKyAgICB9CisgICAgaW50IGogPSB5ZWFyIC8g
MTAwOworICAgIGludCBrID0geWVhciAlIDEwMDsKKyAgICBpbnQgcmVzdWx0ID0gKGRheSArIDEz
ICogKG1vbnRoICsgMSkgLyA1ICsgayArIGsgLyA0ICsgaiAvIDQgLSAyICogaiAtIDEpICUgNzsK
KyAgICBpZiAocmVzdWx0IDwgMCkKKyAgICAgICAgcmVzdWx0ICs9IDc7CisgICAgcmV0dXJuIHJl
c3VsdDsgICAvLyBTdW5kYXkgb3JpZ2luCit9CisKK3N0YXRpYyBpbnQgbWF4V2VlayhpbnQgeWVh
cikKK3sKKyAgICBpbnQgZGF5ID0gZGF5T2ZXZWVrKHllYXIsIDAsIDEpOworICAgIHJldHVybiBk
YXkgPT0gR3JlZ29yaWFuRGF0ZVRpbWU6OlRIVVJTREFZIHx8IGRheSA9PSBHcmVnb3JpYW5EYXRl
VGltZTo6V0VETkVTREFZICYmIGlzTGVhcFllYXIoeWVhcikgPyA1MyA6IDUyOworfQorCitzdGF0
aWMgdW5zaWduZWQgY291bnREaWdpdHMoY29uc3QgVUNoYXIqIHNyYywgdW5zaWduZWQgbGVuZ3Ro
LCB1bnNpZ25lZCBzdGFydCkKK3sKKyAgICB1bnNpZ25lZCBjb3VudCA9IHN0YXJ0OworICAgIGZv
ciAoOyBjb3VudCA8IGxlbmd0aDsgKytjb3VudCkgeworICAgICAgICBpZiAoIWlzQVNDSUlEaWdp
dChzcmNbY291bnRdKSkKKyAgICAgICAgICAgIGJyZWFrOworICAgIH0KKyAgICByZXR1cm4gY291
bnQgLSBzdGFydDsKK30KKworLy8gVmVyeSBzdHJpY3QgaW50ZWdlciBwYXJzZXIuICBOb3QgYWxs
b3cgbGVhZGluZyB3aGl0ZXNwYWNlcyB1bmxpa2UgY2hhcmFjdGVyc1RvSW50U3RyaWN0KCkuCitz
dGF0aWMgYm9vbCB0b0ludChjb25zdCBVQ2hhciogc3JjLCB1bnNpZ25lZCBsZW5ndGgsIHVuc2ln
bmVkIHBhcnNlU3RhcnQsIHVuc2lnbmVkIHBhcnNlTGVuZ3RoLCBpbnQqIG91dCkKK3sKKyAgICBp
ZiAocGFyc2VTdGFydCArIHBhcnNlTGVuZ3RoID4gbGVuZ3RoIHx8IHBhcnNlTGVuZ3RoIDw9IDAp
CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpbnQgdmFsdWUgPSAwOworICAgIGNvbnN0IFVD
aGFyKiBwID0gc3JjICsgcGFyc2VTdGFydDsKKyAgICBjb25zdCBVQ2hhciogZW5kID0gcCArIHBh
cnNlTGVuZ3RoOworCisgICAgLy8gV2UgZG9uJ3QgbmVlZCB0byBoYW5kbGUgbmVnYXRpdmUgbnVt
YmVycyBmb3IgSVNPIDg2MDEuCisgICAgZm9yICg7IHAgPCBlbmQ7ICsrcCkgeworICAgICAgICBp
ZiAoIWlzQVNDSUlEaWdpdCgqcCkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAg
IGludCBkID0gKnAgLSAnMCc7CisgICAgICAgIGlmICh2YWx1ZSA+IChJTlRfTUFYIC0gZCkgLyAx
MCkgIC8vIG92ZXJmbG93CisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIHZhbHVl
ID0gdmFsdWUgKiAxMCArIGQ7CisgICAgfQorICAgICpvdXQgPSB2YWx1ZTsKKyAgICByZXR1cm4g
dHJ1ZTsKK30KKworc3RhdGljIGJvb2wgcGFyc2VJU09ZZWFyKGNvbnN0IFVDaGFyKiBzcmMsIHVu
c2lnbmVkIGxlbmd0aCwgdW5zaWduZWQgc3RhcnQsIHVuc2lnbmVkKiBlbmQsIEdyZWdvcmlhbkRh
dGVUaW1lKiBkYXRlKQoreworICAgIHVuc2lnbmVkIGRpZ2l0c0xlbmd0aCA9IGNvdW50RGlnaXRz
KHNyYywgbGVuZ3RoLCBzdGFydCk7CisgICAgLy8gTmVlZHMgYXQgbGVhc3QgNCBkaWdpdHMgYWNj
b3JkaW5nIHRvIHRoZSBzdGFuZGFyZC4KKyAgICBpZiAoZGlnaXRzTGVuZ3RoIDwgNCkKKyAgICAg
ICAgcmV0dXJuIGZhbHNlOworICAgIGludCB5OworICAgIGlmICghdG9JbnQoc3JjLCBsZW5ndGgs
IHN0YXJ0LCBkaWdpdHNMZW5ndGgsICZ5KSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIC8v
IE5vIHN1cHBvcnQgZm9yIHllYXJzIGJlZm9yZSBHcmVnb3JpYW4gY2FsZW5kYXIuCisgICAgaWYg
KHkgPCBncmVnb3JpYW5TdGFydFllYXIpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBkYXRl
LT5zZXRGdWxsWWVhcih5KTsKKyAgICAqZW5kID0gc3RhcnQgKyBkaWdpdHNMZW5ndGg7CisgICAg
cmV0dXJuIHRydWU7Cit9CisKK3N0YXRpYyBib29sIGFkZERheShpbnQgZGF5RGlmZiwgR3JlZ29y
aWFuRGF0ZVRpbWUqIGRhdGUpCit7CisgICAgQVNTRVJUKGRhdGUtPm1vbnRoRGF5KTsKKworICAg
IGludCBkID0gZGF0ZS0+bW9udGhEYXkgKyBkYXlEaWZmOworICAgIGlmIChkID4gbWF4RGF5T2ZN
b250aChkYXRlKSkgeworICAgICAgICBkID0gZGF0ZS0+bW9udGhEYXk7CisgICAgICAgIGludCBt
ID0gZGF0ZS0+bW9udGg7CisgICAgICAgIGludCB5ID0gZGF0ZS0+ZnVsbFllYXIoKTsKKyAgICAg
ICAgZm9yICg7IGRheURpZmYgPiAwOyAtLWRheURpZmYpIHsKKyAgICAgICAgICAgICsrZDsKKyAg
ICAgICAgICAgIGlmIChkID4gbWF4RGF5T2ZNb250aCh5LCBtKSkgeworICAgICAgICAgICAgICAg
IGQgPSAxOworICAgICAgICAgICAgICAgICsrbTsKKyAgICAgICAgICAgICAgICBpZiAobSA+PSAx
MikgeyAgLy8gbW9udGggaXMgMC1vcmlnaW4uCisgICAgICAgICAgICAgICAgICAgIG0gPSAwOwor
ICAgICAgICAgICAgICAgICAgICArK3k7CisgICAgICAgICAgICAgICAgICAgIGlmICh5IDwgMCkg
IC8vIE92ZXJmbG93LgorICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBkYXRlLT5z
ZXRGdWxsWWVhcih5KTsKKyAgICAgICAgZGF0ZS0+bW9udGggPSBtOworICAgIH0gZWxzZSBpZiAo
ZCA8IDEpIHsKKyAgICAgICAgaW50IG0gPSBkYXRlLT5tb250aDsKKyAgICAgICAgaW50IHkgPSBk
YXRlLT5mdWxsWWVhcigpOworICAgICAgICBkID0gZGF0ZS0+bW9udGhEYXk7CisgICAgICAgIGZv
ciAoOyBkYXlEaWZmIDwgMDsgKytkYXlEaWZmKSB7CisgICAgICAgICAgICAtLWQ7CisgICAgICAg
ICAgICBpZiAoZCA8IDEpIHsKKyAgICAgICAgICAgICAgICAtLW07CisgICAgICAgICAgICAgICAg
aWYgKG0gPCAwKSB7CisgICAgICAgICAgICAgICAgICAgIG0gPSAxMTsKKyAgICAgICAgICAgICAg
ICAgICAgLS15OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBkID0gbWF4RGF5
T2ZNb250aCh5LCBtKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmICh5IDwgZ3JlZ29y
aWFuU3RhcnRZZWFyCisgICAgICAgICAgICAgICAgICAgIHx8IHkgPT0gZ3JlZ29yaWFuU3RhcnRZ
ZWFyICYmIG0gKyAxIDwgZ3JlZ29yaWFuU3RhcnRNb250aAorICAgICAgICAgICAgICAgICAgICB8
fCB5ID09IGdyZWdvcmlhblN0YXJ0WWVhciAmJiBtICsgMSA9PSBncmVnb3JpYW5TdGFydE1vbnRo
ICYmIGQgPCBncmVnb3JpYW5TdGFydERheSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7
CisgICAgICAgIH0KKyAgICAgICAgZGF0ZS0+c2V0RnVsbFllYXIoeSk7CisgICAgICAgIGRhdGUt
Pm1vbnRoID0gbTsKKyAgICB9CisgICAgZGF0ZS0+bW9udGhEYXkgPSBkOworICAgIHJldHVybiB0
cnVlOworfQorCitzdGF0aWMgYm9vbCBhZGRNaW51dGUoaW50IG1pbiwgR3JlZ29yaWFuRGF0ZVRp
bWUqIGRhdGUpCit7CisgICAgaW50IGNhcnJ5OworICAgIC8vIG1pbiBjYW4gYmUgbmVnYXRpdmUg
b3IgZ3JlYXRlciB0aGFuIDU5CisgICAgbWluID0gZGF0ZS0+bWludXRlICsgbWluOworICAgIGlm
IChtaW4gPiA1OSkgeworICAgICAgICBjYXJyeSA9IG1pbiAvIDYwOworICAgICAgICBtaW4gPSBt
aW4gJSA2MDsKKyAgICB9IGVsc2UgaWYgKGRhdGUtPm1pbnV0ZSA8IDApIHsKKyAgICAgICAgY2Fy
cnkgPSAoNTkgLSBkYXRlLT5taW51dGUpIC8gNjA7CisgICAgICAgIG1pbiA9IG1pbiArIGNhcnJ5
ICogNjA7CisgICAgICAgIGNhcnJ5ID0gLWNhcnJ5OworICAgICAgICBBU1NFUlQobWluID49IDAg
JiYgbWluIDw9IDU5KTsKKyAgICB9IGVsc2UgeworICAgICAgICBkYXRlLT5taW51dGUgPSBtaW47
CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKworICAgIGludCBoID0gZGF0ZS0+aG91ciAr
IGNhcnJ5OworICAgIGlmIChoID4gMjMpIHsKKyAgICAgICAgY2FycnkgPSBoIC8gMjQ7CisgICAg
ICAgIGggPSBoICUgMjQ7CisgICAgfSBlbHNlIGlmIChoIDwgMCkgeworICAgICAgICBjYXJyeSA9
ICgyMyAtIGgpIC8gMjQ7CisgICAgICAgIGggPSBoICsgY2FycnkgKiAyNDsKKyAgICAgICAgY2Fy
cnkgPSAtY2Fycnk7CisgICAgICAgIEFTU0VSVChoID49IDAgJiYgaCA8PSAyMyk7CisgICAgfSBl
bHNlIHsKKyAgICAgICAgZGF0ZS0+bWludXRlID0gbWluOworICAgICAgICBkYXRlLT5ob3VyID0g
aDsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorICAgIGlmICghYWRkRGF5KGNhcnJ5LCBk
YXRlKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGRhdGUtPm1pbnV0ZSA9IG1pbjsKKyAg
ICBkYXRlLT5ob3VyID0gaDsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworLy8gUGFyc2VzIGEgdGlt
ZXpvbmUgcGFydCwgYW5kIGFkanVzdCB5ZWFyLCBtb250aCwgbW9udGhEYXksIGhvdXIsIG1pbnV0
ZSwgc2Vjb25kLCBtaWxsZXNlY29uZC4KKy8vIE5vdGU6IFRoaXMgZG9lc24ndCB1cGRhdGUgdXRm
T2Zmc2V0LCBpc0RTVCwgdGltZVpvbmUsIHdlZWtEYXksIGFuZCB5ZWFyRGF5Lgorc3RhdGljIGJv
b2wgcGFyc2VJU09UaW1lWm9uZShjb25zdCBVQ2hhciogc3JjLCB1bnNpZ25lZCBsZW5ndGgsIHVu
c2lnbmVkIHN0YXJ0LCB1bnNpZ25lZCogZW5kLCBHcmVnb3JpYW5EYXRlVGltZSogZGF0ZSkKK3sK
KyAgICBpZiAoc3RhcnQgPj0gbGVuZ3RoKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgdW5z
aWduZWQgaSA9IHN0YXJ0OworICAgIGludCBoOworICAgIGludCBtOworICAgIGlmIChzcmNbaV0g
PT0gJ1onKSB7CisgICAgICAgICsraTsKKyAgICAgICAgaCA9IDA7CisgICAgICAgIG0gPSAwOwor
ICAgIH0gZWxzZSB7CisgICAgICAgIGJvb2wgbWludXM7CisgICAgICAgIGlmIChzcmNbaV0gPT0g
JysnKQorICAgICAgICAgICAgbWludXMgPSBmYWxzZTsKKyAgICAgICAgZWxzZSBpZiAoc3JjW2ld
ID09ICctJykKKyAgICAgICAgICAgIG1pbnVzID0gdHJ1ZTsKKyAgICAgICAgZWxzZQorICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICArK2k7CisgICAgICAgIGlmICghdG9JbnQoc3Jj
LCBsZW5ndGgsIGksIDIsICZoKSB8fCBoIDwgMCB8fCBoID4gMjMpCisgICAgICAgICAgICByZXR1
cm4gZmFsc2U7CisgICAgICAgIGkgKz0gMjsKKyAgICAgICAgaWYgKGkgPj0gbGVuZ3RoIHx8IHNy
Y1tpKytdICE9ICc6JykKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgaWYgKCF0
b0ludChzcmMsIGxlbmd0aCwgaSwgMiwgJm0pIHx8IG0gPCAwIHx8IG0gPiA1OSkKKyAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgaWYgKG1pbnVzKSB7CisgICAgICAgICAgICBoID0g
LWg7CisgICAgICAgICAgICBtID0gLW07CisgICAgICAgIH0KKyAgICAgICAgaSArPSAyOworICAg
IH0KKworICAgIC8vIFN1YnRyYWN0IHRoZSB0aW1lem9uZSBvZmZzZXQuCisgICAgaWYgKCFhZGRN
aW51dGUoIC0oaCAqIDYwICsgbSksIGRhdGUpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAg
KmVuZCA9IGk7CisgICAgcmV0dXJuIHRydWU7Cit9CisKK2Jvb2wgcGFyc2VJU09Nb250aChjb25z
dCBVQ2hhciogc3JjLCB1bnNpZ25lZCBsZW5ndGgsIHVuc2lnbmVkIHN0YXJ0LCB1bnNpZ25lZCog
ZW5kLCBHcmVnb3JpYW5EYXRlVGltZSogZGF0ZSkKK3sKKyAgICBBU1NFUlQoc3JjKTsKKyAgICBB
U1NFUlQoZW5kKTsKKyAgICBBU1NFUlQoZGF0ZSk7CisgICAgdW5zaWduZWQgaTsKKyAgICBpZiAo
IXBhcnNlSVNPWWVhcihzcmMsIGxlbmd0aCwgc3RhcnQsICZpLCBkYXRlKSkKKyAgICAgICAgcmV0
dXJuIGZhbHNlOworICAgIGlmIChpID49IGxlbmd0aCB8fCBzcmNbaSsrXSAhPSAnLScpCisgICAg
ICAgIHJldHVybiBmYWxzZTsKKyAgICBpbnQgbTsKKyAgICBpZiAoIXRvSW50KHNyYywgbGVuZ3Ro
LCBpLCAyLCAmbSkgfHwgbSA8IDEgfHwgbSA+IDEyKQorICAgICAgICByZXR1cm4gZmFsc2U7Cisg
ICAgLy8gTm8gc3VwcG9ydCBmb3IgbW9udGhzIGJlZm9yZSBHcmVnb3JpYW4gY2FsZW5kYXIuCisg
ICAgaWYgKGRhdGUtPmZ1bGxZZWFyKCkgPT0gZ3JlZ29yaWFuU3RhcnRZZWFyICYmIG0gPCBncmVn
b3JpYW5TdGFydE1vbnRoKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgZGF0ZS0+bW9udGgg
PSBtIC0gMTsKKyAgICAqZW5kID0gaSArIDI7CisgICAgcmV0dXJuIHRydWU7Cit9CisKK2Jvb2wg
cGFyc2VJU09EYXRlKGNvbnN0IFVDaGFyKiBzcmMsIHVuc2lnbmVkIGxlbmd0aCwgdW5zaWduZWQg
c3RhcnQsIHVuc2lnbmVkKiBlbmQsIEdyZWdvcmlhbkRhdGVUaW1lKiBkYXRlKQoreworICAgIEFT
U0VSVChzcmMpOworICAgIEFTU0VSVChlbmQpOworICAgIEFTU0VSVChkYXRlKTsKKyAgICB1bnNp
Z25lZCBpOworICAgIGlmICghcGFyc2VJU09Nb250aChzcmMsIGxlbmd0aCwgc3RhcnQsICZpLCBk
YXRlKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIC8vICctJyBhbmQgMi1kaWdpdHMgYXJl
IG5lZWRlZC4KKyAgICBpZiAoaSArIDIgPj0gbGVuZ3RoKQorICAgICAgICByZXR1cm4gZmFsc2U7
CisgICAgaWYgKHNyY1tpKytdICE9ICctJykKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlu
dCBkYXk7CisgICAgaWYgKCF0b0ludChzcmMsIGxlbmd0aCwgaSwgMiwgJmRheSkgfHwgZGF5IDwg
MSB8fCBkYXkgPiBtYXhEYXlPZk1vbnRoKGRhdGUpKQorICAgICAgICByZXR1cm4gZmFsc2U7Cisg
ICAgLy8gTm8gc3VwcG9ydCBmb3IgZGF0ZXMgYmVmb3JlIEdyZWdvcmlhbiBjYWxlbmRhci4KKyAg
ICBpZiAoZGF0ZS0+ZnVsbFllYXIoKSA9PSBncmVnb3JpYW5TdGFydFllYXIgJiYgZGF0ZS0+bW9u
dGggKyAxID09IGdyZWdvcmlhblN0YXJ0TW9udGggJiYgZGF5IDwgZ3JlZ29yaWFuU3RhcnREYXkp
CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBkYXRlLT5tb250aERheSA9IGRheTsKKyAgICAq
ZW5kID0gaSArIDI7CisgICAgcmV0dXJuIHRydWU7Cit9CisKK2Jvb2wgcGFyc2VJU09XZWVrKGNv
bnN0IFVDaGFyKiBzcmMsIHVuc2lnbmVkIGxlbmd0aCwgdW5zaWduZWQgc3RhcnQsIHVuc2lnbmVk
KiBlbmQsIEdyZWdvcmlhbkRhdGVUaW1lKiBkYXRlKQoreworICAgIEFTU0VSVChzcmMpOworICAg
IEFTU0VSVChlbmQpOworICAgIEFTU0VSVChkYXRlKTsKKyAgICB1bnNpZ25lZCBpOworICAgIGlm
ICghcGFyc2VJU09ZZWFyKHNyYywgbGVuZ3RoLCBzdGFydCwgJmksIGRhdGUpKQorICAgICAgICBy
ZXR1cm4gZmFsc2U7CisgICAgLy8gNCBjaGFyYWN0ZXJzICgnLScgJ1cnIGRpZ2l0IGRpZ2l0KSBh
cmUgbmVlZGVkLgorICAgIGlmIChpICsgMyA+PSBsZW5ndGgpCisgICAgICAgIHJldHVybiBmYWxz
ZTsKKyAgICBpZiAoc3JjW2krK10gIT0gJy0nKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAg
aWYgKHNyY1tpKytdICE9ICdXJykKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGludCB3Owor
ICAgIGlmICghdG9JbnQoc3JjLCBsZW5ndGgsIGksIDIsICZ3KSB8fCB3IDwgMSB8fCB3ID4gbWF4
V2VlayhkYXRlLT5mdWxsWWVhcigpKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIC8vIE5v
IHN1cHBvcnQgZm9yIHllYXJzIG9sZGVyIHRoYW4gb3IgZXF1YWxzIHRvIEdyZWdvcmlhbiBjYWxl
bmRhciBzdGFydCB5ZWFyLgorICAgIGlmIChkYXRlLT5mdWxsWWVhcigpIDw9IGdyZWdvcmlhblN0
YXJ0WWVhcikKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGRhdGUtPndlZWsgPSB3OworICAg
ICplbmQgPSBpICsgMjsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworYm9vbCBwYXJzZUlTT1RpbWUo
Y29uc3QgVUNoYXIqIHNyYywgdW5zaWduZWQgbGVuZ3RoLCB1bnNpZ25lZCBzdGFydCwgdW5zaWdu
ZWQqIGVuZCwgR3JlZ29yaWFuRGF0ZVRpbWUqIGRhdGUpCit7CisgICAgQVNTRVJUKHNyYyk7Cisg
ICAgQVNTRVJUKGVuZCk7CisgICAgQVNTRVJUKGRhdGUpOworICAgIGludCBoOworICAgIGlmICgh
dG9JbnQoc3JjLCBsZW5ndGgsIHN0YXJ0LCAyLCAmaCkgfHwgaCA8IDAgfHwgaCA+IDIzKQorICAg
ICAgICByZXR1cm4gZmFsc2U7CisgICAgdW5zaWduZWQgaSA9IHN0YXJ0ICsgMjsKKyAgICBpZiAo
aSA+PSBsZW5ndGgpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoc3JjW2krK10gIT0g
JzonKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaW50IG07CisgICAgaWYgKCF0b0ludChz
cmMsIGxlbmd0aCwgaSwgMiwgJm0pIHx8IG0gPCAwIHx8IG0gPiA1OSkKKyAgICAgICAgcmV0dXJu
IGZhbHNlOworICAgIGkgKz0gMjsKKyAgICBkYXRlLT5ob3VyID0gaDsKKyAgICBkYXRlLT5taW51
dGUgPSBtOworICAgIGRhdGUtPnNlY29uZCA9IDA7CisgICAgZGF0ZS0+bWlsbGlzZWNvbmQgPSAw
OworCisgICAgLy8gT3B0aW9uYWwgc2Vjb25kIHBhcnQKKyAgICBpZiAoaSArIDIgPCBsZW5ndGgg
JiYgc3JjW2ldID09ICc6JykgeworICAgICAgICBpbnQgc2VjOworICAgICAgICBpZiAodG9JbnQo
c3JjLCBsZW5ndGgsIGkgKyAxLCAyLCAmc2VjKSAmJiBzZWMgPj0gMCAmJiBzZWMgPD0gNTkpIHsK
KyAgICAgICAgICAgIGRhdGUtPnNlY29uZCA9IHNlYzsKKyAgICAgICAgICAgIGkgKz0gMzsKKwor
ICAgICAgICAgICAgLy8gT3B0aW9uYWwgZnJhY3Rpb25hbCBzZWNvbmQgcGFydAorICAgICAgICAg
ICAgaWYgKGkgPCBsZW5ndGggJiYgc3JjW2ldID09ICcuJykgeworICAgICAgICAgICAgICAgIHVu
c2lnbmVkIGRpZ2l0c0xlbmd0aCA9IGNvdW50RGlnaXRzKHNyYywgbGVuZ3RoLCArK2kpOworICAg
ICAgICAgICAgICAgIGlmIChkaWdpdHNMZW5ndGggPiAwKSB7CisgICAgICAgICAgICAgICAgICAg
IGJvb2wgb2s7CisgICAgICAgICAgICAgICAgICAgIGludCBtaWxsaTsKKyAgICAgICAgICAgICAg
ICAgICAgaWYgKGRpZ2l0c0xlbmd0aCA9PSAxKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBv
ayA9IHRvSW50KHNyYywgbGVuZ3RoLCBpLCAxLCAmbWlsbGkpOworICAgICAgICAgICAgICAgICAg
ICAgICAgbWlsbGkgKj0gMTAwOworICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGRpZ2l0
c0xlbmd0aCA9PSAyKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBvayA9IHRvSW50KHNyYywg
bGVuZ3RoLCBpLCAyLCAmbWlsbGkpOworICAgICAgICAgICAgICAgICAgICAgICAgbWlsbGkgKj0g
MTA7CisgICAgICAgICAgICAgICAgICAgIH0gZWxzZSAvLyBkaWdpdHNMZW5ndGggPj0gMworICAg
ICAgICAgICAgICAgICAgICAgICAgb2sgPSB0b0ludChzcmMsIGxlbmd0aCwgaSwgMywgJm1pbGxp
KTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKG9rKSB7CisgICAgICAgICAgICAgICAgICAgICAg
ICBkYXRlLT5taWxsaXNlY29uZCA9IG1pbGxpOworICAgICAgICAgICAgICAgICAgICAgICAgaSAr
PSBkaWdpdHNMZW5ndGg7CisgICAgICAgICAgICAgICAgICAgIH0gZWxzZQorICAgICAgICAgICAg
ICAgICAgICAgICAgLS1pOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAg
ICAgfQorICAgIH0KKyAgICAqZW5kID0gaTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworYm9vbCBw
YXJzZUlTT0RhdGVUaW1lTG9jYWwoY29uc3QgVUNoYXIqIHNyYywgdW5zaWduZWQgbGVuZ3RoLCB1
bnNpZ25lZCBzdGFydCwgdW5zaWduZWQqIGVuZCwgR3JlZ29yaWFuRGF0ZVRpbWUqIGRhdGUpCit7
CisgICAgQVNTRVJUKHNyYyk7CisgICAgQVNTRVJUKGVuZCk7CisgICAgQVNTRVJUKGRhdGUpOwor
ICAgIHVuc2lnbmVkIGk7CisgICAgaWYgKCFwYXJzZUlTT0RhdGUoc3JjLCBsZW5ndGgsIHN0YXJ0
LCAmaSwgZGF0ZSkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoaSA+PSBsZW5ndGgp
CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoc3JjW2krK10gIT0gJ1QnKQorICAgICAg
ICByZXR1cm4gZmFsc2U7CisgICAgcmV0dXJuIHBhcnNlSVNPVGltZShzcmMsIGxlbmd0aCwgaSwg
ZW5kLCBkYXRlKTsKK30KKworYm9vbCBwYXJzZUlTT0RhdGVUaW1lKGNvbnN0IFVDaGFyKiBzcmMs
IHVuc2lnbmVkIGxlbmd0aCwgdW5zaWduZWQgc3RhcnQsIHVuc2lnbmVkKiBlbmQsIEdyZWdvcmlh
bkRhdGVUaW1lKiBkYXRlKQoreworICAgIEFTU0VSVChzcmMpOworICAgIEFTU0VSVChlbmQpOwor
ICAgIEFTU0VSVChkYXRlKTsKKyAgICB1bnNpZ25lZCBpOworICAgIGlmICghcGFyc2VJU09EYXRl
KHNyYywgbGVuZ3RoLCBzdGFydCwgJmksIGRhdGUpKQorICAgICAgICByZXR1cm4gZmFsc2U7Cisg
ICAgaWYgKGkgPj0gbGVuZ3RoKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKHNyY1tp
KytdICE9ICdUJykKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmICghcGFyc2VJU09UaW1l
KHNyYywgbGVuZ3RoLCBpLCAmaSwgZGF0ZSkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBy
ZXR1cm4gcGFyc2VJU09UaW1lWm9uZShzcmMsIGxlbmd0aCwgaSwgZW5kLCBkYXRlKTsKK30KKwor
fSAvLyBuYW1lc3BhY2UgV1RGCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvSVNPRGF0
ZVBhcnNlci5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL0lTT0RhdGVQYXJzZXIuaApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMzViYTg1Ci0tLSAvZGV2L251bGwKKysrIGIvSmF2
YVNjcmlwdENvcmUvd3RmL0lTT0RhdGVQYXJzZXIuaApAQCAtMCwwICsxLDYzIEBACisvKgorICog
Q29weXJpZ2h0IChjKSAyMDA5LCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0
cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0
aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisg
KiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1Ig
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYg
SVNPRGF0ZVBhcnNlcl9oCisjZGVmaW5lIElTT0RhdGVQYXJzZXJfaAorCisjaW5jbHVkZSA8d3Rm
L0RhdGVNYXRoLmg+CisjaW5jbHVkZSA8d3RmL3VuaWNvZGUvVW5pY29kZS5oPgorCituYW1lc3Bh
Y2UgV1RGIHsKKworLy8gVGhlIGZvbGxvd2luZyBzaXggZnVuY3Rpb25zIHBhcnNlIHRoZSBpbnB1
dCBgc3JjJyBvZiB3aGljaCBsZW5ndGggaXMKKy8vIGBsZW5ndGgnLCBhbmQgc2V0cyBzb21lIGZp
ZWxkcyBvZiBgZGF0ZScuIFRoZSBwYXJzaW5nIHN0YXJ0cyBhdCBzcmNbc3RhcnRdCisvLyBhbmQg
ZXhhbWluZXMgY2hhcmFjdGVycyBiZWZvcmUgc3JjW2xlbmd0aF0uCisvLyBgc3JjJywgYGVuZCcg
YW5kIGBkYXRlJyBtdXN0IGJlIG5vbi1udWxsLiBUaGUgYHNyYycgc3RyaW5nIGRvZXNuJ3QgbmVl
ZHMgdG8KKy8vICBiZSBudWxsLXRlcm1pbmF0ZWQuCisvLyBUaGUgZnVuY3Rpb25zIHJldHVybiB0
cnVlIGlmIHRoZSBwYXJzaW5nIHN1Y2NlZWRzLCBhbmQgc2V0cyB0aGUgbmV4dCBpbmRleAorLy8g
b2YgdGhlIGxhc3QgY29uc3VtZWQgY2hhcmFjdGVyIHRvIGAqZW5kJy4gVGhlIGxlYWRpbmcgZXh0
cmEgY2hhcmFjdGVycyBjYXVzZQorLy8gcGFyc2UgZmFpbHVyZXMsIGFuZCB0aGUgdHJhaWxpbmcg
ZXh0cmEgY2hhcmFjdGVycyBkb24ndCBjYXVzZSBwYXJzZSBmYWlsdXJlcy4KKworLy8gU2V0cyB5
ZWFyIGFuZCBtb250aC4KK2Jvb2wgcGFyc2VJU09Nb250aChjb25zdCBVQ2hhciogc3JjLCB1bnNp
Z25lZCBsZW5ndGgsIHVuc2lnbmVkIHN0YXJ0LCB1bnNpZ25lZCogZW5kLCBHcmVnb3JpYW5EYXRl
VGltZSogZGF0ZSk7CisvLyBTZXRzIHllYXIsIG1vbnRoIGFuZCBtb250aERheS4KK2Jvb2wgcGFy
c2VJU09EYXRlKGNvbnN0IFVDaGFyKiBzcmMsIHVuc2lnbmVkIGxlbmd0aCwgdW5zaWduZWQgc3Rh
cnQsIHVuc2lnbmVkKiBlbmQsIEdyZWdvcmlhbkRhdGVUaW1lKiBkYXRlKTsKKy8vIFNldHMgeWVh
ciBhbmQgd2Vlay4KK2Jvb2wgcGFyc2VJU09XZWVrKGNvbnN0IFVDaGFyKiBzcmMsIHVuc2lnbmVk
IGxlbmd0aCwgdW5zaWduZWQgc3RhcnQsIHVuc2lnbmVkKiBlbmQsIEdyZWdvcmlhbkRhdGVUaW1l
KiBkYXRlKTsKKy8vIFNldHMgaG91ciwgbWludXRlLCBzZWNvbmQgYW5kIG1pbGxpc2Vjb25kLgor
Ym9vbCBwYXJzZUlTT1RpbWUoY29uc3QgVUNoYXIqIHNyYywgdW5zaWduZWQgbGVuZ3RoLCB1bnNp
Z25lZCBzdGFydCwgdW5zaWduZWQqIGVuZCwgR3JlZ29yaWFuRGF0ZVRpbWUqIGRhdGUpOworLy8g
U2V0cyB5ZWFyLCBtb250aCwgbW9udGhEYXksIGhvdXIsIG1pbnV0ZSwgc2Vjb25kIGFuZCBtaWxs
aXNlY29uZC4KK2Jvb2wgcGFyc2VJU09EYXRlVGltZUxvY2FsKGNvbnN0IFVDaGFyKiBzcmMsIHVu
c2lnbmVkIGxlbmd0aCwgdW5zaWduZWQgc3RhcnQsIHVuc2lnbmVkKiBlbmQsIEdyZWdvcmlhbkRh
dGVUaW1lKiBkYXRlKTsKKy8vIFNldHMgeWVhciwgbW9udGgsIG1vbnRoRGF5LCBob3VyLCBtaW51
dGUsIHNlY29uZCBhbmQgbWlsbGlzZWNvbmQsIGFuZCBhZGp1c3RzIHRpbWV6b25lLgorYm9vbCBw
YXJzZUlTT0RhdGVUaW1lKGNvbnN0IFVDaGFyKiBzcmMsIHVuc2lnbmVkIGxlbmd0aCwgdW5zaWdu
ZWQgc3RhcnQsIHVuc2lnbmVkKiBlbmQsIEdyZWdvcmlhbkRhdGVUaW1lKiBkYXRlKTsKKworfSAv
LyBuYW1lc3BhY2UgV1RGCisKKyNlbmRpZiAvLyBJU09EYXRlUGFyc2VyX2gKLS0gCjEuNi4zLjMK
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>40221</attachid>
            <date>2009-09-28 01:20:50 -0700</date>
            <delta_ts>2009-10-13 19:38:08 -0700</delta_ts>
            <desc>Patch part 3: ValidityState.typeMismatch and layout tests (rev.4)</desc>
            <filename>0001-Implement-validity-check-4.patch</filename>
            <type>text/plain</type>
            <size>40869</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">RnJvbSBkMmQwZmY3NDdhODMxOTU4Mzg1MzM1NjY3YzdlY2EwZjA0NTk5MWI3IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBLZW50IFRhbXVyYSA8dGtlbnRAY2hyb21pdW0ub3JnPgpEYXRl
OiBUaHUsIDEwIFNlcCAyMDA5IDIwOjUyOjI4ICswOTAwClN1YmplY3Q6IFtQQVRDSF0gSW1wbGVt
ZW50IHZhbGlkaXR5IGNoZWNrIDQKCi0tLQogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgfCAgIDI3ICsrKysrKysKIC4uLi9WYWxpZGl0eVN0YXRlLXR5
cGVNaXNtYXRjaC1kYXRlLWV4cGVjdGVkLnR4dCAgIHwgICA2MSArKysrKysrKysrKysrKwogLi4u
L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLWRhdGUuaHRtbCAgICAgfCAgIDEzICsr
KwogLi4uYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1kYXRldGltZS1leHBlY3RlZC50eHQgfCAg
IDM5ICsrKysrKysrKwogLi4uL2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLWRhdGV0
aW1lLmh0bWwgfCAgIDEzICsrKwogLi4udHlTdGF0ZS10eXBlTWlzbWF0Y2gtZGF0ZXRpbWVsb2Nh
bC1leHBlY3RlZC50eHQgfCAgIDI2ICsrKysrKwogLi4uL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21h
dGNoLWRhdGV0aW1lbG9jYWwuaHRtbCAgfCAgIDEzICsrKwogLi4uL1ZhbGlkaXR5U3RhdGUtdHlw
ZU1pc21hdGNoLW1vbnRoLWV4cGVjdGVkLnR4dCAgfCAgIDQxICsrKysrKysrKysKIC4uLi9mb3Jt
cy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1tb250aC5odG1sICAgIHwgICAxMyArKysKIC4u
Li9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC10aW1lLWV4cGVjdGVkLnR4dCAgIHwgICAzOSAr
KysrKysrKysKIC4uLi9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC10aW1lLmh0bWwg
ICAgIHwgICAxMyArKysKIC4uLi9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC13ZWVrLWV4cGVj
dGVkLnR4dCAgIHwgICAzNSArKysrKysrKwogLi4uL2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1p
c21hdGNoLXdlZWsuaHRtbCAgICAgfCAgIDEzICsrKwogLi4uL1ZhbGlkaXR5U3RhdGUtdHlwZU1p
c21hdGNoLWRhdGUuanMgICAgICAgICAgICAgfCAgIDgzICsrKysrKysrKysrKysrKysrKysrCiAu
Li4vVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtZGF0ZXRpbWUuanMgICAgICAgICB8ICAgNjEg
KysrKysrKysrKysrKysKIC4uLi9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1kYXRldGltZWxv
Y2FsLmpzICAgIHwgICA0OCArKysrKysrKysrKwogLi4uL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21h
dGNoLW1vbnRoLmpzICAgICAgICAgICAgfCAgIDYzICsrKysrKysrKysrKysrKwogLi4uL1ZhbGlk
aXR5U3RhdGUtdHlwZU1pc21hdGNoLXRpbWUuanMgICAgICAgICAgICAgfCAgIDYxICsrKysrKysr
KysrKysrCiAuLi4vVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtd2Vlay5qcyAgICAgICAgICAg
ICB8ICAgNTcgKysrKysrKysrKysrKwogV2ViQ29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgfCAgIDIyICsrKysrCiBXZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJz
L3d0Zi9JU09EYXRlUGFyc2VyLmggICAgICB8ICAgIDQgKwogV2ViQ29yZS9odG1sL0hUTUxJbnB1
dEVsZW1lbnQuY3BwICAgICAgICAgICAgICAgICAgfCAgIDI5ICsrKysrKysKIFdlYkNvcmUvaHRt
bC9IVE1MSW5wdXRFbGVtZW50LmggICAgICAgICAgICAgICAgICAgIHwgICAgOCArKwogV2ViQ29y
ZS9odG1sL1ZhbGlkaXR5U3RhdGUuY3BwICAgICAgICAgICAgICAgICAgICAgfCAgICA3ICsrCiAy
NCBmaWxlcyBjaGFuZ2VkLCA3ODkgaW5zZXJ0aW9ucygrKSwgMCBkZWxldGlvbnMoLSkKIGNyZWF0
ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1p
c21hdGNoLWRhdGUtZXhwZWN0ZWQudHh0CiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1kYXRlLmh0bWwKIGNyZWF0ZSBt
b2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21h
dGNoLWRhdGV0aW1lLWV4cGVjdGVkLnR4dAogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtZGF0ZXRpbWUuaHRtbAogY3Jl
YXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBl
TWlzbWF0Y2gtZGF0ZXRpbWVsb2NhbC1leHBlY3RlZC50eHQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBM
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLWRhdGV0aW1l
bG9jYWwuaHRtbAogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFs
aWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtbW9udGgtZXhwZWN0ZWQudHh0CiBjcmVhdGUgbW9kZSAx
MDA2NDQgTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1t
b250aC5odG1sCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxp
ZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC10aW1lLWV4cGVjdGVkLnR4dAogY3JlYXRlIG1vZGUgMTAw
NjQ0IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtdGlt
ZS5odG1sCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0
eVN0YXRlLXR5cGVNaXNtYXRjaC13ZWVrLWV4cGVjdGVkLnR4dAogY3JlYXRlIG1vZGUgMTAwNjQ0
IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtd2Vlay5o
dG1sCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVz
dHMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtZGF0ZS5qcwogY3JlYXRlIG1vZGUgMTAwNjQ0
IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL1ZhbGlkaXR5U3RhdGUtdHlwZU1p
c21hdGNoLWRhdGV0aW1lLmpzCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9zY3JpcHQtdGVzdHMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtZGF0ZXRpbWVsb2Nh
bC5qcwogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRl
c3RzL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLW1vbnRoLmpzCiBjcmVhdGUgbW9kZSAxMDA2
NDQgTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvVmFsaWRpdHlTdGF0ZS10eXBl
TWlzbWF0Y2gtdGltZS5qcwogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2Zhc3QvZm9y
bXMvc2NyaXB0LXRlc3RzL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLXdlZWsuanMKIGNyZWF0
ZSBtb2RlIDEwMDY0NCBXZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9JU09EYXRlUGFyc2Vy
LmgKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKaW5kZXggYTkyYzZmYy4uNTNhZTk2MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDA5
LTA5LTEwICBLZW50IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0cyBmb3IgVmFsaWRpdHlTdGF0
ZS50eXBlTWlzbWF0Y2ggZm9yIHRoZSBmb2xsb3dpbmcgdHlwZXMgb2YgSU5QVVQgZWxlbWVudDoK
KyAgICAgICAgICAgIGRhdGUsIGRhdGV0aW1lLCBkYXRldGltZS1sb2NhbCwgbW9udGgsIHRpbWUg
YW5kIHdlZWsKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTI5MDA0CisKKyAgICAgICAgKiBmYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNo
LWRhdGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL1ZhbGlkaXR5
U3RhdGUtdHlwZU1pc21hdGNoLWRhdGUuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jt
cy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1kYXRldGltZS1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGZhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtZGF0ZXRp
bWUuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVN
aXNtYXRjaC1kYXRldGltZWxvY2FsLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFz
dC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1kYXRldGltZWxvY2FsLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtbW9u
dGgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL1ZhbGlkaXR5U3Rh
dGUtdHlwZU1pc21hdGNoLW1vbnRoLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMv
VmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtdGltZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGZhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtdGltZS5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLXdl
ZWstZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL1ZhbGlkaXR5U3Rh
dGUtdHlwZU1pc21hdGNoLXdlZWsuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9z
Y3JpcHQtdGVzdHMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtZGF0ZS5qczogQWRkZWQuCisg
ICAgICAgICogZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0
Y2gtZGF0ZXRpbWUuanM6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvc2NyaXB0LXRlc3Rz
L1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLWRhdGV0aW1lbG9jYWwuanM6IEFkZGVkLgorICAg
ICAgICAqIGZhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNo
LW1vbnRoLmpzOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9WYWxp
ZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC10aW1lLmpzOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zv
cm1zL3NjcmlwdC10ZXN0cy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC13ZWVrLmpzOiBBZGRl
ZC4KKwogMjAwOS0wOS0yMyAgS2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLWRhdGUtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1kYXRl
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYWEyYzFl
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRl
LXR5cGVNaXNtYXRjaC1kYXRlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDYxIEBACitUaGlzIHRl
c3QgYWltcyB0byBjaGVjayBmb3IgdHlwZU1pc21hdGNoIGZsYWcgd2l0aCB0eXBlPWRhdGUgaW5w
dXQgZmllbGRzCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTICIiIGlzIGEg
Y29ycmVjdCB2YWxpZCBkYXRlIHN0cmluZy4KK1BBU1MgIjIwMDktMDktMDciIGlzIGEgY29ycmVj
dCB2YWxpZCBkYXRlIHN0cmluZy4KK1BBU1MgIjk5OTktMTItMzEiIGlzIGEgY29ycmVjdCB2YWxp
ZCBkYXRlIHN0cmluZy4KK1BBU1MgIjIxNDc0ODM2NDctMTItMzEiIGlzIGEgY29ycmVjdCB2YWxp
ZCBkYXRlIHN0cmluZy4KK1BBU1MgIjE1ODItMTAtMTUiIGlzIGEgY29ycmVjdCB2YWxpZCBkYXRl
IHN0cmluZy4KK1BBU1MgIjIwMDktMDEtMzEiIGlzIGEgY29ycmVjdCB2YWxpZCBkYXRlIHN0cmlu
Zy4KK1BBU1MgIjIwMDktMDItMjgiIGlzIGEgY29ycmVjdCB2YWxpZCBkYXRlIHN0cmluZy4KK1BB
U1MgIjIwMDktMDMtMzEiIGlzIGEgY29ycmVjdCB2YWxpZCBkYXRlIHN0cmluZy4KK1BBU1MgIjIw
MDktMDQtMzAiIGlzIGEgY29ycmVjdCB2YWxpZCBkYXRlIHN0cmluZy4KK1BBU1MgIjIwMDktMDUt
MzEiIGlzIGEgY29ycmVjdCB2YWxpZCBkYXRlIHN0cmluZy4KK1BBU1MgIjIwMDktMDYtMzAiIGlz
IGEgY29ycmVjdCB2YWxpZCBkYXRlIHN0cmluZy4KK1BBU1MgIjIwMDktMDctMzEiIGlzIGEgY29y
cmVjdCB2YWxpZCBkYXRlIHN0cmluZy4KK1BBU1MgIjIwMDktMDgtMzEiIGlzIGEgY29ycmVjdCB2
YWxpZCBkYXRlIHN0cmluZy4KK1BBU1MgIjIwMDktMDktMzAiIGlzIGEgY29ycmVjdCB2YWxpZCBk
YXRlIHN0cmluZy4KK1BBU1MgIjIwMDktMTAtMzEiIGlzIGEgY29ycmVjdCB2YWxpZCBkYXRlIHN0
cmluZy4KK1BBU1MgIjIwMDktMTEtMzAiIGlzIGEgY29ycmVjdCB2YWxpZCBkYXRlIHN0cmluZy4K
K1BBU1MgIjIwMDktMTItMzEiIGlzIGEgY29ycmVjdCB2YWxpZCBkYXRlIHN0cmluZy4KK1BBU1Mg
IjIwMDgtMDItMjkiIGlzIGEgY29ycmVjdCB2YWxpZCBkYXRlIHN0cmluZy4KK1BBU1MgIjIwMDAt
MDItMjkiIGlzIGEgY29ycmVjdCB2YWxpZCBkYXRlIHN0cmluZy4KK1BBU1MgIiAyMDA5LTA5LTA3
ICIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZSBzdHJpbmcuCitQQVNTICJhIiBpcyBhIGNvcnJl
Y3QgaW52YWxpZCBkYXRlIHN0cmluZy4KK1BBU1MgIi0xLTA5LTA3IiBpcyBhIGNvcnJlY3QgaW52
YWxpZCBkYXRlIHN0cmluZy4KK1BBU1MgIjE1ODEtMDktMDciIGlzIGEgY29ycmVjdCBpbnZhbGlk
IGRhdGUgc3RyaW5nLgorUEFTUyAiMTU4Mi0xMC0xNCIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0
ZSBzdHJpbmcuCitQQVNTICIyMTQ3NDgzNjQ4LTEyLTMxIiBpcyBhIGNvcnJlY3QgaW52YWxpZCBk
YXRlIHN0cmluZy4KK1BBU1MgIjIwMDkvMDkvMDciIGlzIGEgY29ycmVjdCBpbnZhbGlkIGRhdGUg
c3RyaW5nLgorUEFTUyAiMjAwOTA5MDciIGlzIGEgY29ycmVjdCBpbnZhbGlkIGRhdGUgc3RyaW5n
LgorUEFTUyAiMjAwOS0tMi0wNyIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZSBzdHJpbmcuCitQ
QVNTICIyMDA5LTAwLTA3IiBpcyBhIGNvcnJlY3QgaW52YWxpZCBkYXRlIHN0cmluZy4KK1BBU1Mg
IjIwMDktMTMtMDciIGlzIGEgY29ycmVjdCBpbnZhbGlkIGRhdGUgc3RyaW5nLgorUEFTUyAiMTU4
Mi0wOS0zMCIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZSBzdHJpbmcuCitQQVNTICIyMDA5LXh4
LTMwIiBpcyBhIGNvcnJlY3QgaW52YWxpZCBkYXRlIHN0cmluZy4KK1BBU1MgIjIwMDktMDEtMzIi
IGlzIGEgY29ycmVjdCBpbnZhbGlkIGRhdGUgc3RyaW5nLgorUEFTUyAiMjAwOS0wMi0yOSIgaXMg
YSBjb3JyZWN0IGludmFsaWQgZGF0ZSBzdHJpbmcuCitQQVNTICIyMDA5LTAzLTMyIiBpcyBhIGNv
cnJlY3QgaW52YWxpZCBkYXRlIHN0cmluZy4KK1BBU1MgIjIwMDktMDQtMzEiIGlzIGEgY29ycmVj
dCBpbnZhbGlkIGRhdGUgc3RyaW5nLgorUEFTUyAiMjAwOS0wNS0zMiIgaXMgYSBjb3JyZWN0IGlu
dmFsaWQgZGF0ZSBzdHJpbmcuCitQQVNTICIyMDA5LTA2LTMxIiBpcyBhIGNvcnJlY3QgaW52YWxp
ZCBkYXRlIHN0cmluZy4KK1BBU1MgIjIwMDktMDctMzIiIGlzIGEgY29ycmVjdCBpbnZhbGlkIGRh
dGUgc3RyaW5nLgorUEFTUyAiMjAwOS0wOC0zMiIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZSBz
dHJpbmcuCitQQVNTICIyMDA5LTA5LTMxIiBpcyBhIGNvcnJlY3QgaW52YWxpZCBkYXRlIHN0cmlu
Zy4KK1BBU1MgIjIwMDktMTAtMzIiIGlzIGEgY29ycmVjdCBpbnZhbGlkIGRhdGUgc3RyaW5nLgor
UEFTUyAiMjAwOS0xMS0zMSIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZSBzdHJpbmcuCitQQVNT
ICIyMDA5LTEyLTMyIiBpcyBhIGNvcnJlY3QgaW52YWxpZCBkYXRlIHN0cmluZy4KK1BBU1MgIjIx
MDAtMDItMjkiIGlzIGEgY29ycmVjdCBpbnZhbGlkIGRhdGUgc3RyaW5nLgorUEFTUyAiMjAwOS0w
OS0wMCIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZSBzdHJpbmcuCitQQVNTICIyMDA5LTA5LSIg
aXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZSBzdHJpbmcuCitQQVNTICIyMDA5LTA5LTciIGlzIGEg
Y29ycmVjdCBpbnZhbGlkIGRhdGUgc3RyaW5nLgorUEFTUyAiMjAwOS0wOS0wMDEiIGlzIGEgY29y
cmVjdCBpbnZhbGlkIGRhdGUgc3RyaW5nLgorUEFTUyAiMjAwOS0wOS14eCIgaXMgYSBjb3JyZWN0
IGludmFsaWQgZGF0ZSBzdHJpbmcuCitQQVNTICIyMDA5LTA5IiBpcyBhIGNvcnJlY3QgaW52YWxp
ZCBkYXRlIHN0cmluZy4KK1BBU1MgIjIwMDkiIGlzIGEgY29ycmVjdCBpbnZhbGlkIGRhdGUgc3Ry
aW5nLgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlz
bWF0Y2gtZGF0ZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5
cGVNaXNtYXRjaC1kYXRlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u
NjY4NmFlMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRp
dHlTdGF0ZS10eXBlTWlzbWF0Y2gtZGF0ZS5odG1sCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRl
c3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlv
biI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRl
c3RzL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLWRhdGUuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1Zh
bGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLWRhdGV0aW1lLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtZGF0ZXRpbWUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjljNTdjZTEKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1p
c21hdGNoLWRhdGV0aW1lLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM5IEBACitUaGlzIHRlc3Qg
YWltcyB0byBjaGVjayBmb3IgdHlwZU1pc21hdGNoIGZsYWcgd2l0aCB0eXBlPWRhdGV0aW1lIGlu
cHV0IGZpZWxkcworCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyAiIiBpcyBh
IGNvcnJlY3QgdmFsaWQgZGF0ZXRpbWUgc3RyaW5nLgorUEFTUyAiMjAwOS0wOS0wN1QxNjo0OVoi
IGlzIGEgY29ycmVjdCB2YWxpZCBkYXRldGltZSBzdHJpbmcuCitQQVNTICIyMDA5LTA5LTA3VDE2
OjQ5OjMxWiIgaXMgYSBjb3JyZWN0IHZhbGlkIGRhdGV0aW1lIHN0cmluZy4KK1BBU1MgIjIwMDkt
MDktMDdUMTY6NDk6MzEuMVoiIGlzIGEgY29ycmVjdCB2YWxpZCBkYXRldGltZSBzdHJpbmcuCitQ
QVNTICIyMDA5LTA5LTA3VDE2OjQ5OjMxLjEyWiIgaXMgYSBjb3JyZWN0IHZhbGlkIGRhdGV0aW1l
IHN0cmluZy4KK1BBU1MgIjIwMDktMDktMDdUMTY6NDk6MzEuMTIzWiIgaXMgYSBjb3JyZWN0IHZh
bGlkIGRhdGV0aW1lIHN0cmluZy4KK1BBU1MgIjIwMDktMDktMDdUMTY6NDk6MzEuMTIzNDU2Nzg5
MFoiIGlzIGEgY29ycmVjdCB2YWxpZCBkYXRldGltZSBzdHJpbmcuCitQQVNTICIyMTQ3NDgzNjQ3
LTEyLTMxVDIzOjU5OjU5Ljk5OVoiIGlzIGEgY29ycmVjdCB2YWxpZCBkYXRldGltZSBzdHJpbmcu
CitQQVNTICIxNTgyLTEwLTE1VDAwOjAwOjAwLjAwMFoiIGlzIGEgY29ycmVjdCB2YWxpZCBkYXRl
dGltZSBzdHJpbmcuCitQQVNTICIxNTgyLTEwLTE1VDAwOjAwOjAwLjAwMCswMDowMCIgaXMgYSBj
b3JyZWN0IHZhbGlkIGRhdGV0aW1lIHN0cmluZy4KK1BBU1MgIjE1ODItMTAtMTVUMDE6MzArMDE6
MzAiIGlzIGEgY29ycmVjdCB2YWxpZCBkYXRldGltZSBzdHJpbmcuCitQQVNTICIxNTgyLTEwLTE1
VDAwOjAwKzAxOjAwIiBpcyBhIGNvcnJlY3QgdmFsaWQgZGF0ZXRpbWUgc3RyaW5nLgorUEFTUyAi
IDIwMDktMDktMDdUMTY6NDlaICIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZXRpbWUgc3RyaW5n
LgorUEFTUyAiMjAwOS0wOS0wN1QxNjo0OXoiIGlzIGEgY29ycmVjdCBpbnZhbGlkIGRhdGV0aW1l
IHN0cmluZy4KK1BBU1MgIjIwMDktMDktMDd0MTY6NDlaIiBpcyBhIGNvcnJlY3QgaW52YWxpZCBk
YXRldGltZSBzdHJpbmcuCitQQVNTICIyMDA5LTA5LTA3VDE2OjQ5IiBpcyBhIGNvcnJlY3QgaW52
YWxpZCBkYXRldGltZSBzdHJpbmcuCitQQVNTICIyMDA5LzA5LzA3VDE2OjQ5WiIgaXMgYSBjb3Jy
ZWN0IGludmFsaWQgZGF0ZXRpbWUgc3RyaW5nLgorUEFTUyAiYSIgaXMgYSBjb3JyZWN0IGludmFs
aWQgZGF0ZXRpbWUgc3RyaW5nLgorUEFTUyAiLTEtMDktMDdUMTY6NDlaIiBpcyBhIGNvcnJlY3Qg
aW52YWxpZCBkYXRldGltZSBzdHJpbmcuCitQQVNTICIyMDA5LTA5LTA3VDE2OjQ5KzIzIiBpcyBh
IGNvcnJlY3QgaW52YWxpZCBkYXRldGltZSBzdHJpbmcuCitQQVNTICIyMDA5LTA5LTA3VDE2OjQ5
KzIzOiIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZXRpbWUgc3RyaW5nLgorUEFTUyAiMjAwOS0w
OS0wN1QxNjo0OSsyNDowMCIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZXRpbWUgc3RyaW5nLgor
UEFTUyAiMjAwOS0wOS0wN1QxNjo0OSsyMzo2MCIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZXRp
bWUgc3RyaW5nLgorUEFTUyAiMjAwOS0wOS0wN1QxNjo0OS0yMyIgaXMgYSBjb3JyZWN0IGludmFs
aWQgZGF0ZXRpbWUgc3RyaW5nLgorUEFTUyAiMjAwOS0wOS0wN1QxNjo0OS0yMzoiIGlzIGEgY29y
cmVjdCBpbnZhbGlkIGRhdGV0aW1lIHN0cmluZy4KK1BBU1MgIjIwMDktMDktMDdUMTY6NDktMjQ6
MDAiIGlzIGEgY29ycmVjdCBpbnZhbGlkIGRhdGV0aW1lIHN0cmluZy4KK1BBU1MgIjIwMDktMDkt
MDdUMTY6NDktMjM6NjAiIGlzIGEgY29ycmVjdCBpbnZhbGlkIGRhdGV0aW1lIHN0cmluZy4KK1BB
U1MgIjE1ODItMTAtMTRUMjM6NTk6NTlaIiBpcyBhIGNvcnJlY3QgaW52YWxpZCBkYXRldGltZSBz
dHJpbmcuCitQQVNTICIyMTQ3NDgzNjQ3LTEyLTMxVDIzOjU5LTAwOjAxIiBpcyBhIGNvcnJlY3Qg
aW52YWxpZCBkYXRldGltZSBzdHJpbmcuCitQQVNTICIyMTQ3NDgzNjQ4LTAxLTAxVDAwOjAwOjAw
WiIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZXRpbWUgc3RyaW5nLgorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtZGF0ZXRpbWUuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtZGF0ZXRp
bWUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MDYzZTdjCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVN
aXNtYXRjaC1kYXRldGltZS5odG1sCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9
InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUu
Y3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL1ZhbGlk
aXR5U3RhdGUtdHlwZU1pc21hdGNoLWRhdGV0aW1lLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0
eVN0YXRlLXR5cGVNaXNtYXRjaC1kYXRldGltZWxvY2FsLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtZGF0ZXRpbWVsb2NhbC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTg5N2QwNgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10
eXBlTWlzbWF0Y2gtZGF0ZXRpbWVsb2NhbC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyNiBAQAor
VGhpcyB0ZXN0IGFpbXMgdG8gY2hlY2sgZm9yIHR5cGVNaXNtYXRjaCBmbGFnIHdpdGggdHlwZT1k
YXRldGltZS1sb2NhbCBpbnB1dCBmaWVsZHMKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CisKK1BBU1MgIiIgaXMgYSBjb3JyZWN0IHZhbGlkIGRhdGV0aW1lLWxvY2FsIHN0cmluZy4KK1BB
U1MgIjIwMDktMDktMDdUMTY6NDkiIGlzIGEgY29ycmVjdCB2YWxpZCBkYXRldGltZS1sb2NhbCBz
dHJpbmcuCitQQVNTICIyMDA5LTA5LTA3VDE2OjQ5OjMxIiBpcyBhIGNvcnJlY3QgdmFsaWQgZGF0
ZXRpbWUtbG9jYWwgc3RyaW5nLgorUEFTUyAiMjAwOS0wOS0wN1QxNjo0OTozMS4xIiBpcyBhIGNv
cnJlY3QgdmFsaWQgZGF0ZXRpbWUtbG9jYWwgc3RyaW5nLgorUEFTUyAiMjAwOS0wOS0wN1QxNjo0
OTozMS4xMiIgaXMgYSBjb3JyZWN0IHZhbGlkIGRhdGV0aW1lLWxvY2FsIHN0cmluZy4KK1BBU1Mg
IjIwMDktMDktMDdUMTY6NDk6MzEuMTIzIiBpcyBhIGNvcnJlY3QgdmFsaWQgZGF0ZXRpbWUtbG9j
YWwgc3RyaW5nLgorUEFTUyAiMjAwOS0wOS0wN1QxNjo0OTozMS4xMjM0NTY3ODkwIiBpcyBhIGNv
cnJlY3QgdmFsaWQgZGF0ZXRpbWUtbG9jYWwgc3RyaW5nLgorUEFTUyAiMjE0NzQ4MzY0Ny0xMi0z
MVQyMzo1OTo1OS45OTkiIGlzIGEgY29ycmVjdCB2YWxpZCBkYXRldGltZS1sb2NhbCBzdHJpbmcu
CitQQVNTICIxNTgyLTEwLTE1VDAwOjAwOjAwLjAwMCIgaXMgYSBjb3JyZWN0IHZhbGlkIGRhdGV0
aW1lLWxvY2FsIHN0cmluZy4KK1BBU1MgIiAyMDA5LTA5LTA3VDE2OjQ5ICIgaXMgYSBjb3JyZWN0
IGludmFsaWQgZGF0ZXRpbWUtbG9jYWwgc3RyaW5nLgorUEFTUyAiMjAwOS0wOS0wN3QxNjo0OSIg
aXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZXRpbWUtbG9jYWwgc3RyaW5nLgorUEFTUyAiMjAwOS0w
OS0wNyAxNjo0OSIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZXRpbWUtbG9jYWwgc3RyaW5nLgor
UEFTUyAiMjAwOS8wOS8wN1QxNjo0OSIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZXRpbWUtbG9j
YWwgc3RyaW5nLgorUEFTUyAiYSIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZXRpbWUtbG9jYWwg
c3RyaW5nLgorUEFTUyAiLTEtMDktMDdUMTY6NDkiIGlzIGEgY29ycmVjdCBpbnZhbGlkIGRhdGV0
aW1lLWxvY2FsIHN0cmluZy4KK1BBU1MgIjE1ODItMTAtMTRUMjM6NTk6NTkiIGlzIGEgY29ycmVj
dCBpbnZhbGlkIGRhdGV0aW1lLWxvY2FsIHN0cmluZy4KK1BBU1MgIjIxNDc0ODM2NDgtMDEtMDFU
MDA6MDA6MDAiIGlzIGEgY29ycmVjdCBpbnZhbGlkIGRhdGV0aW1lLWxvY2FsIHN0cmluZy4KK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLWRh
dGV0aW1lbG9jYWwuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10
eXBlTWlzbWF0Y2gtZGF0ZXRpbWVsb2NhbC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAuLjYyNWFiY2EKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLWRhdGV0aW1lbG9jYWwuaHRtbApAQCAtMCww
ICsxLDEzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+
Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9mYXN0
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFz
dC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdCBzcmM9InNjcmlwdC10ZXN0cy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1kYXRldGlt
ZWxvY2FsLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1tb250
aC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlw
ZU1pc21hdGNoLW1vbnRoLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwLi40YWI4ZTRmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1tb250aC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSw0MSBAQAorVGhpcyB0ZXN0IGFpbXMgdG8gY2hlY2sgZm9yIHR5cGVNaXNtYXRjaCBmbGFnIHdp
dGggdHlwZT1tb250aCBpbnB1dCBmaWVsZHMKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CisKK1BBU1MgIiIgaXMgYSBjb3JyZWN0IHZhbGlkIG1vbnRoIHN0cmluZy4KK1BBU1MgIjE1ODIt
MTAiIGlzIGEgY29ycmVjdCB2YWxpZCBtb250aCBzdHJpbmcuCitQQVNTICI5OTk5LTEyIiBpcyBh
IGNvcnJlY3QgdmFsaWQgbW9udGggc3RyaW5nLgorUEFTUyAiMjE0NzQ4MzY0Ny0xMiIgaXMgYSBj
b3JyZWN0IHZhbGlkIG1vbnRoIHN0cmluZy4KK1BBU1MgIjIwMDktMDEiIGlzIGEgY29ycmVjdCB2
YWxpZCBtb250aCBzdHJpbmcuCitQQVNTICIyMDA5LTAyIiBpcyBhIGNvcnJlY3QgdmFsaWQgbW9u
dGggc3RyaW5nLgorUEFTUyAiMjAwOS0wMyIgaXMgYSBjb3JyZWN0IHZhbGlkIG1vbnRoIHN0cmlu
Zy4KK1BBU1MgIjIwMDktMDQiIGlzIGEgY29ycmVjdCB2YWxpZCBtb250aCBzdHJpbmcuCitQQVNT
ICIyMDA5LTA1IiBpcyBhIGNvcnJlY3QgdmFsaWQgbW9udGggc3RyaW5nLgorUEFTUyAiMjAwOS0w
NiIgaXMgYSBjb3JyZWN0IHZhbGlkIG1vbnRoIHN0cmluZy4KK1BBU1MgIjIwMDktMDciIGlzIGEg
Y29ycmVjdCB2YWxpZCBtb250aCBzdHJpbmcuCitQQVNTICIyMDA5LTA4IiBpcyBhIGNvcnJlY3Qg
dmFsaWQgbW9udGggc3RyaW5nLgorUEFTUyAiMjAwOS0wOSIgaXMgYSBjb3JyZWN0IHZhbGlkIG1v
bnRoIHN0cmluZy4KK1BBU1MgIjIwMDktMTAiIGlzIGEgY29ycmVjdCB2YWxpZCBtb250aCBzdHJp
bmcuCitQQVNTICIyMDA5LTExIiBpcyBhIGNvcnJlY3QgdmFsaWQgbW9udGggc3RyaW5nLgorUEFT
UyAiMjAwOS0xMiIgaXMgYSBjb3JyZWN0IHZhbGlkIG1vbnRoIHN0cmluZy4KK1BBU1MgIiAyMDA5
LTA5ICIgaXMgYSBjb3JyZWN0IGludmFsaWQgbW9udGggc3RyaW5nLgorUEFTUyAiYSIgaXMgYSBj
b3JyZWN0IGludmFsaWQgbW9udGggc3RyaW5nLgorUEFTUyAiLTEtMDkiIGlzIGEgY29ycmVjdCBp
bnZhbGlkIG1vbnRoIHN0cmluZy4KK1BBU1MgIjE1ODEtMTAiIGlzIGEgY29ycmVjdCBpbnZhbGlk
IG1vbnRoIHN0cmluZy4KK1BBU1MgIjE1ODItMDkiIGlzIGEgY29ycmVjdCBpbnZhbGlkIG1vbnRo
IHN0cmluZy4KK1BBU1MgIjIxNDc0ODM2NDgtMTIiIGlzIGEgY29ycmVjdCBpbnZhbGlkIG1vbnRo
IHN0cmluZy4KK1BBU1MgIjIwMDkvMDkiIGlzIGEgY29ycmVjdCBpbnZhbGlkIG1vbnRoIHN0cmlu
Zy4KK1BBU1MgIjIwMDkwOSIgaXMgYSBjb3JyZWN0IGludmFsaWQgbW9udGggc3RyaW5nLgorUEFT
UyAiMjAwOS0tMiIgaXMgYSBjb3JyZWN0IGludmFsaWQgbW9udGggc3RyaW5nLgorUEFTUyAiMjAw
OS0wMCIgaXMgYSBjb3JyZWN0IGludmFsaWQgbW9udGggc3RyaW5nLgorUEFTUyAiMjAwOS0xMyIg
aXMgYSBjb3JyZWN0IGludmFsaWQgbW9udGggc3RyaW5nLgorUEFTUyAiMjAwOS0iIGlzIGEgY29y
cmVjdCBpbnZhbGlkIG1vbnRoIHN0cmluZy4KK1BBU1MgIjIwMDktOSIgaXMgYSBjb3JyZWN0IGlu
dmFsaWQgbW9udGggc3RyaW5nLgorUEFTUyAiMjAwOS0wMDkiIGlzIGEgY29ycmVjdCBpbnZhbGlk
IG1vbnRoIHN0cmluZy4KK1BBU1MgIjIwMDkteHgiIGlzIGEgY29ycmVjdCBpbnZhbGlkIG1vbnRo
IHN0cmluZy4KK1BBU1MgIjIwMDkiIGlzIGEgY29ycmVjdCBpbnZhbGlkIG1vbnRoIHN0cmluZy4K
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNo
LW1vbnRoLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1p
c21hdGNoLW1vbnRoLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTI2
OWQzOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlT
dGF0ZS10eXBlTWlzbWF0Y2gtbW9udGguaHRtbApAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUg
SFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxp
bmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0
LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0
cy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1tb250aC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFs
aWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtdGltZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLXRpbWUtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJmMGEwNjkKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLXRp
bWUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzkgQEAKK1RoaXMgdGVzdCBhaW1zIHRvIGNoZWNr
IGZvciB0eXBlTWlzbWF0Y2ggZmxhZyB3aXRoIHR5cGU9dGltZSBpbnB1dCBmaWVsZHMKKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgIiIgaXMgYSBjb3JyZWN0IHZhbGlkIHRp
bWUgc3RyaW5nLgorUEFTUyAiMDA6MDAiIGlzIGEgY29ycmVjdCB2YWxpZCB0aW1lIHN0cmluZy4K
K1BBU1MgIjIzOjU5IiBpcyBhIGNvcnJlY3QgdmFsaWQgdGltZSBzdHJpbmcuCitQQVNTICIyMzo1
OTo1OSIgaXMgYSBjb3JyZWN0IHZhbGlkIHRpbWUgc3RyaW5nLgorUEFTUyAiMjM6NTk6NTkuMSIg
aXMgYSBjb3JyZWN0IHZhbGlkIHRpbWUgc3RyaW5nLgorUEFTUyAiMjM6NTk6NTkuMTIiIGlzIGEg
Y29ycmVjdCB2YWxpZCB0aW1lIHN0cmluZy4KK1BBU1MgIjIzOjU5OjU5LjEyMyIgaXMgYSBjb3Jy
ZWN0IHZhbGlkIHRpbWUgc3RyaW5nLgorUEFTUyAiMjM6NTk6NTkuMTIzNDU2Nzg5MCIgaXMgYSBj
b3JyZWN0IHZhbGlkIHRpbWUgc3RyaW5nLgorUEFTUyAiMDA6MDA6MDAuMDAwMDAwMDAwMCIgaXMg
YSBjb3JyZWN0IHZhbGlkIHRpbWUgc3RyaW5nLgorUEFTUyAiIDAwOjAwICIgaXMgYSBjb3JyZWN0
IGludmFsaWQgdGltZSBzdHJpbmcuCitQQVNTICIxOjIzIiBpcyBhIGNvcnJlY3QgaW52YWxpZCB0
aW1lIHN0cmluZy4KK1BBU1MgIjAxMToxMSIgaXMgYSBjb3JyZWN0IGludmFsaWQgdGltZSBzdHJp
bmcuCitQQVNTICJhYjoxMSIgaXMgYSBjb3JyZWN0IGludmFsaWQgdGltZSBzdHJpbmcuCitQQVNT
ICItMToxMSIgaXMgYSBjb3JyZWN0IGludmFsaWQgdGltZSBzdHJpbmcuCitQQVNTICIyNDoxMSIg
aXMgYSBjb3JyZWN0IGludmFsaWQgdGltZSBzdHJpbmcuCitQQVNTICIxMSIgaXMgYSBjb3JyZWN0
IGludmFsaWQgdGltZSBzdHJpbmcuCitQQVNTICIxMS0iIGlzIGEgY29ycmVjdCBpbnZhbGlkIHRp
bWUgc3RyaW5nLgorUEFTUyAiMTE6LTIiIGlzIGEgY29ycmVjdCBpbnZhbGlkIHRpbWUgc3RyaW5n
LgorUEFTUyAiMTE6NjAiIGlzIGEgY29ycmVjdCBpbnZhbGlkIHRpbWUgc3RyaW5nLgorUEFTUyAi
MTE6MmIiIGlzIGEgY29ycmVjdCBpbnZhbGlkIHRpbWUgc3RyaW5nLgorUEFTUyAiMTE6YWIiIGlz
IGEgY29ycmVjdCBpbnZhbGlkIHRpbWUgc3RyaW5nLgorUEFTUyAiMTE6MDM0IiBpcyBhIGNvcnJl
Y3QgaW52YWxpZCB0aW1lIHN0cmluZy4KK1BBU1MgIjIzOjQ1OiIgaXMgYSBjb3JyZWN0IGludmFs
aWQgdGltZSBzdHJpbmcuCitQQVNTICIyMzo0NTo2IiBpcyBhIGNvcnJlY3QgaW52YWxpZCB0aW1l
IHN0cmluZy4KK1BBU1MgIjIzOjQ1Oi0xIiBpcyBhIGNvcnJlY3QgaW52YWxpZCB0aW1lIHN0cmlu
Zy4KK1BBU1MgIjIzOjQ1OjcwIiBpcyBhIGNvcnJlY3QgaW52YWxpZCB0aW1lIHN0cmluZy4KK1BB
U1MgIjIzOjQ1Onp6IiBpcyBhIGNvcnJlY3QgaW52YWxpZCB0aW1lIHN0cmluZy4KK0ZBSUwgIjIz
OjQ1OjA2LiIgaXMgYW4gaW5jb3JyZWN0IHZhbGlkIHRpbWUgc3RyaW5nLgorUEFTUyAiMjM6NDU6
MDYuYWJjIiBpcyBhIGNvcnJlY3QgaW52YWxpZCB0aW1lIHN0cmluZy4KK1BBU1MgIjIzOjQ1OjA2
Ljc4OWFiYyIgaXMgYSBjb3JyZWN0IGludmFsaWQgdGltZSBzdHJpbmcuCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC10aW1lLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLXRpbWUuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NjQxMjlhCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRj
aC10aW1lLmh0bWwKQEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVl
dCIgaHJlZj0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvVmFsaWRpdHlTdGF0ZS10
eXBlTWlzbWF0Y2gtdGltZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlz
bWF0Y2gtd2Vlay1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5
U3RhdGUtdHlwZU1pc21hdGNoLXdlZWstZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAuLmRmOWEyNmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLXdlZWstZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzUgQEAKK1RoaXMgdGVzdCBhaW1zIHRvIGNoZWNrIGZvciB0eXBlTWlzbWF0Y2gg
ZmxhZyB3aXRoIHR5cGU9d2VlayBpbnB1dCBmaWVsZHMKKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCisKK1BBU1MgIiIgaXMgYSBjb3JyZWN0IHZhbGlkIHdlZWsgc3RyaW5nLgorUEFTUyAi
MTU4My1XMDEiIGlzIGEgY29ycmVjdCB2YWxpZCB3ZWVrIHN0cmluZy4KK1BBU1MgIjk5OTktVzUy
IiBpcyBhIGNvcnJlY3QgdmFsaWQgd2VlayBzdHJpbmcuCitQQVNTICIyMTQ3NDgzNjQ3LVc1MiIg
aXMgYSBjb3JyZWN0IHZhbGlkIHdlZWsgc3RyaW5nLgorUEFTUyAiMjAwOS1XMDEiIGlzIGEgY29y
cmVjdCB2YWxpZCB3ZWVrIHN0cmluZy4KK1BBU1MgIjIwMDQtVzUzIiBpcyBhIGNvcnJlY3QgdmFs
aWQgd2VlayBzdHJpbmcuCitQQVNTICIyMDAzLVc1MiIgaXMgYSBjb3JyZWN0IHZhbGlkIHdlZWsg
c3RyaW5nLgorUEFTUyAiMTk5Mi1XNTMiIGlzIGEgY29ycmVjdCB2YWxpZCB3ZWVrIHN0cmluZy4K
K1BBU1MgIiAyMDA5LVcwMSAiIGlzIGEgY29ycmVjdCBpbnZhbGlkIHdlZWsgc3RyaW5nLgorUEFT
UyAiMjAwOVcwMSIgaXMgYSBjb3JyZWN0IGludmFsaWQgd2VlayBzdHJpbmcuCitQQVNTICIyMDA5
LXcwMSIgaXMgYSBjb3JyZWN0IGludmFsaWQgd2VlayBzdHJpbmcuCitQQVNTICIyMDA5LVcxIiBp
cyBhIGNvcnJlY3QgaW52YWxpZCB3ZWVrIHN0cmluZy4KK1BBU1MgIjIwMDktVzAwMSIgaXMgYSBj
b3JyZWN0IGludmFsaWQgd2VlayBzdHJpbmcuCitQQVNTICJhIiBpcyBhIGNvcnJlY3QgaW52YWxp
ZCB3ZWVrIHN0cmluZy4KK1BBU1MgIi0xLVcwOSIgaXMgYSBjb3JyZWN0IGludmFsaWQgd2VlayBz
dHJpbmcuCitQQVNTICIxNTgyLVc1MiIgaXMgYSBjb3JyZWN0IGludmFsaWQgd2VlayBzdHJpbmcu
CitQQVNTICIyMTQ3NDgzNjQ4LVcwMSIgaXMgYSBjb3JyZWN0IGludmFsaWQgd2VlayBzdHJpbmcu
CitQQVNTICIyMDA5LVcwMCIgaXMgYSBjb3JyZWN0IGludmFsaWQgd2VlayBzdHJpbmcuCitQQVNT
ICIyMDA5LVctMSIgaXMgYSBjb3JyZWN0IGludmFsaWQgd2VlayBzdHJpbmcuCitQQVNTICIyMDA0
LVc1NCIgaXMgYSBjb3JyZWN0IGludmFsaWQgd2VlayBzdHJpbmcuCitQQVNTICIyMDAzLVc1MyIg
aXMgYSBjb3JyZWN0IGludmFsaWQgd2VlayBzdHJpbmcuCitQQVNTICIxOTkyLVc1NCIgaXMgYSBj
b3JyZWN0IGludmFsaWQgd2VlayBzdHJpbmcuCitQQVNTICIyMDA5LzA5IiBpcyBhIGNvcnJlY3Qg
aW52YWxpZCB3ZWVrIHN0cmluZy4KK1BBU1MgIjIwMDkwOSIgaXMgYSBjb3JyZWN0IGludmFsaWQg
d2VlayBzdHJpbmcuCitQQVNTICIyMDA5LVd4eCIgaXMgYSBjb3JyZWN0IGludmFsaWQgd2VlayBz
dHJpbmcuCitQQVNTICIyMDA5IiBpcyBhIGNvcnJlY3QgaW52YWxpZCB3ZWVrIHN0cmluZy4KK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLXdl
ZWsuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0
Y2gtd2Vlay5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk1ODk3YTIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUt
dHlwZU1pc21hdGNoLXdlZWsuaHRtbApAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgSFRNTCBQ
VUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVs
PSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxl
LmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9WYWxp
ZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC13ZWVrLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVz
dHMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtZGF0ZS5qcyBiL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvc2NyaXB0LXRlc3RzL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLWRhdGUuanMKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDk3MjgwMAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL1ZhbGlkaXR5U3RhdGUtdHlw
ZU1pc21hdGNoLWRhdGUuanMKQEAgLTAsMCArMSw4MyBAQAorZGVzY3JpcHRpb24oJ1RoaXMgdGVz
dCBhaW1zIHRvIGNoZWNrIGZvciB0eXBlTWlzbWF0Y2ggZmxhZyB3aXRoIHR5cGU9ZGF0ZSBpbnB1
dCBmaWVsZHMnKTsKK3ZhciBpID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTsKK2ku
dHlwZSA9ICdkYXRlJzsKKworZnVuY3Rpb24gY2hlY2sodmFsdWUsIG1pc21hdGNoRXhwZWN0ZWQp
Cit7CisgICAgaS52YWx1ZSA9IHZhbHVlOworICAgIHZhciBhY3R1YWwgPSBpLnZhbGlkaXR5LnR5
cGVNaXNtYXRjaDsKKyAgICB2YXIgZGlkUGFzcyA9IGFjdHVhbCA9PSBtaXNtYXRjaEV4cGVjdGVk
OworICAgIHZhciByZXN1bHRUZXh0ID0gJyInICsgdmFsdWUgKyAnIiBpcyAnICsgKGRpZFBhc3Mg
PyAnYSBjb3JyZWN0ICcgOiAnYW4gaW5jb3JyZWN0ICcpICsgKGFjdHVhbCA/ICdpbnZhbGlkJyA6
ICd2YWxpZCcpICsgJyBkYXRlIHN0cmluZy4nOworICAgIGlmIChkaWRQYXNzKQorICAgICAgICB0
ZXN0UGFzc2VkKHJlc3VsdFRleHQpOworICAgIGVsc2UKKyAgICAgICAgdGVzdEZhaWxlZChyZXN1
bHRUZXh0KTsKK30KKworZnVuY3Rpb24gc2hvdWxkQmVWYWxpZCh2YWx1ZSkKK3sKKyAgICBjaGVj
ayh2YWx1ZSwgZmFsc2UpOworfQorCitmdW5jdGlvbiBzaG91bGRCZUludmFsaWQodmFsdWUpCit7
CisgICAgY2hlY2sodmFsdWUsIHRydWUpOworfQorCisvLyBWYWxpZCB2YWx1ZXMKK3Nob3VsZEJl
VmFsaWQoJycpOworc2hvdWxkQmVWYWxpZCgnMjAwOS0wOS0wNycpOworc2hvdWxkQmVWYWxpZCgn
OTk5OS0xMi0zMScpOworc2hvdWxkQmVWYWxpZCgnMjE0NzQ4MzY0Ny0xMi0zMScpOworc2hvdWxk
QmVWYWxpZCgnMTU4Mi0xMC0xNScpOworc2hvdWxkQmVWYWxpZCgnMjAwOS0wMS0zMScpOworc2hv
dWxkQmVWYWxpZCgnMjAwOS0wMi0yOCcpOworc2hvdWxkQmVWYWxpZCgnMjAwOS0wMy0zMScpOwor
c2hvdWxkQmVWYWxpZCgnMjAwOS0wNC0zMCcpOworc2hvdWxkQmVWYWxpZCgnMjAwOS0wNS0zMScp
Oworc2hvdWxkQmVWYWxpZCgnMjAwOS0wNi0zMCcpOworc2hvdWxkQmVWYWxpZCgnMjAwOS0wNy0z
MScpOworc2hvdWxkQmVWYWxpZCgnMjAwOS0wOC0zMScpOworc2hvdWxkQmVWYWxpZCgnMjAwOS0w
OS0zMCcpOworc2hvdWxkQmVWYWxpZCgnMjAwOS0xMC0zMScpOworc2hvdWxkQmVWYWxpZCgnMjAw
OS0xMS0zMCcpOworc2hvdWxkQmVWYWxpZCgnMjAwOS0xMi0zMScpOworc2hvdWxkQmVWYWxpZCgn
MjAwOC0wMi0yOScpOworc2hvdWxkQmVWYWxpZCgnMjAwMC0wMi0yOScpOworCisvLyBJbnZhbGlk
IHZhbHVlcworc2hvdWxkQmVJbnZhbGlkKCcgMjAwOS0wOS0wNyAnKTsKK3Nob3VsZEJlSW52YWxp
ZCgnYScpOworc2hvdWxkQmVJbnZhbGlkKCctMS0wOS0wNycpOworc2hvdWxkQmVJbnZhbGlkKCcx
NTgxLTA5LTA3Jyk7CitzaG91bGRCZUludmFsaWQoJzE1ODItMTAtMTQnKTsKK3Nob3VsZEJlSW52
YWxpZCgnMjE0NzQ4MzY0OC0xMi0zMScpOworc2hvdWxkQmVJbnZhbGlkKCcyMDA5LzA5LzA3Jyk7
CitzaG91bGRCZUludmFsaWQoJzIwMDkwOTA3Jyk7CitzaG91bGRCZUludmFsaWQoJzIwMDktLTIt
MDcnKTsKK3Nob3VsZEJlSW52YWxpZCgnMjAwOS0wMC0wNycpOworc2hvdWxkQmVJbnZhbGlkKCcy
MDA5LTEzLTA3Jyk7CitzaG91bGRCZUludmFsaWQoJzE1ODItMDktMzAnKTsKK3Nob3VsZEJlSW52
YWxpZCgnMjAwOS14eC0zMCcpOworc2hvdWxkQmVJbnZhbGlkKCcyMDA5LTAxLTMyJyk7CitzaG91
bGRCZUludmFsaWQoJzIwMDktMDItMjknKTsKK3Nob3VsZEJlSW52YWxpZCgnMjAwOS0wMy0zMicp
Oworc2hvdWxkQmVJbnZhbGlkKCcyMDA5LTA0LTMxJyk7CitzaG91bGRCZUludmFsaWQoJzIwMDkt
MDUtMzInKTsKK3Nob3VsZEJlSW52YWxpZCgnMjAwOS0wNi0zMScpOworc2hvdWxkQmVJbnZhbGlk
KCcyMDA5LTA3LTMyJyk7CitzaG91bGRCZUludmFsaWQoJzIwMDktMDgtMzInKTsKK3Nob3VsZEJl
SW52YWxpZCgnMjAwOS0wOS0zMScpOworc2hvdWxkQmVJbnZhbGlkKCcyMDA5LTEwLTMyJyk7Citz
aG91bGRCZUludmFsaWQoJzIwMDktMTEtMzEnKTsKK3Nob3VsZEJlSW52YWxpZCgnMjAwOS0xMi0z
MicpOworc2hvdWxkQmVJbnZhbGlkKCcyMTAwLTAyLTI5Jyk7CitzaG91bGRCZUludmFsaWQoJzIw
MDktMDktMDAnKTsKK3Nob3VsZEJlSW52YWxpZCgnMjAwOS0wOS0nKTsKK3Nob3VsZEJlSW52YWxp
ZCgnMjAwOS0wOS03Jyk7CitzaG91bGRCZUludmFsaWQoJzIwMDktMDktMDAxJyk7CitzaG91bGRC
ZUludmFsaWQoJzIwMDktMDkteHgnKTsKK3Nob3VsZEJlSW52YWxpZCgnMjAwOS0wOScpOworc2hv
dWxkQmVJbnZhbGlkKCcyMDA5Jyk7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvVmFsaWRpdHlT
dGF0ZS10eXBlTWlzbWF0Y2gtZGF0ZXRpbWUuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3Nj
cmlwdC10ZXN0cy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1kYXRldGltZS5qcwpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lOGY1ZGRkCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvVmFsaWRpdHlTdGF0ZS10eXBlTWlz
bWF0Y2gtZGF0ZXRpbWUuanMKQEAgLTAsMCArMSw2MSBAQAorZGVzY3JpcHRpb24oJ1RoaXMgdGVz
dCBhaW1zIHRvIGNoZWNrIGZvciB0eXBlTWlzbWF0Y2ggZmxhZyB3aXRoIHR5cGU9ZGF0ZXRpbWUg
aW5wdXQgZmllbGRzJyk7Cit2YXIgaSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7
CitpLnR5cGUgPSAnZGF0ZXRpbWUnOworCitmdW5jdGlvbiBjaGVjayh2YWx1ZSwgbWlzbWF0Y2hF
eHBlY3RlZCkKK3sKKyAgICBpLnZhbHVlID0gdmFsdWU7CisgICAgdmFyIGFjdHVhbCA9IGkudmFs
aWRpdHkudHlwZU1pc21hdGNoOworICAgIHZhciBkaWRQYXNzID0gYWN0dWFsID09IG1pc21hdGNo
RXhwZWN0ZWQ7CisgICAgdmFyIHJlc3VsdFRleHQgPSAnIicgKyB2YWx1ZSArICciIGlzICcgKyAo
ZGlkUGFzcyA/ICdhIGNvcnJlY3QgJyA6ICdhbiBpbmNvcnJlY3QgJykgKyAoYWN0dWFsID8gJ2lu
dmFsaWQnIDogJ3ZhbGlkJykgKyAnIGRhdGV0aW1lIHN0cmluZy4nOworICAgIGlmIChkaWRQYXNz
KQorICAgICAgICB0ZXN0UGFzc2VkKHJlc3VsdFRleHQpOworICAgIGVsc2UKKyAgICAgICAgdGVz
dEZhaWxlZChyZXN1bHRUZXh0KTsKK30KKworZnVuY3Rpb24gc2hvdWxkQmVWYWxpZCh2YWx1ZSkK
K3sKKyAgICBjaGVjayh2YWx1ZSwgZmFsc2UpOworfQorCitmdW5jdGlvbiBzaG91bGRCZUludmFs
aWQodmFsdWUpCit7CisgICAgY2hlY2sodmFsdWUsIHRydWUpOworfQorCisvLyBWYWxpZCB2YWx1
ZXMKK3Nob3VsZEJlVmFsaWQoJycpOworc2hvdWxkQmVWYWxpZCgnMjAwOS0wOS0wN1QxNjo0OVon
KTsKK3Nob3VsZEJlVmFsaWQoJzIwMDktMDktMDdUMTY6NDk6MzFaJyk7CitzaG91bGRCZVZhbGlk
KCcyMDA5LTA5LTA3VDE2OjQ5OjMxLjFaJyk7CitzaG91bGRCZVZhbGlkKCcyMDA5LTA5LTA3VDE2
OjQ5OjMxLjEyWicpOworc2hvdWxkQmVWYWxpZCgnMjAwOS0wOS0wN1QxNjo0OTozMS4xMjNaJyk7
CitzaG91bGRCZVZhbGlkKCcyMDA5LTA5LTA3VDE2OjQ5OjMxLjEyMzQ1Njc4OTBaJyk7CitzaG91
bGRCZVZhbGlkKCcyMTQ3NDgzNjQ3LTEyLTMxVDIzOjU5OjU5Ljk5OVonKTsKK3Nob3VsZEJlVmFs
aWQoJzE1ODItMTAtMTVUMDA6MDA6MDAuMDAwWicpOworc2hvdWxkQmVWYWxpZCgnMTU4Mi0xMC0x
NVQwMDowMDowMC4wMDArMDA6MDAnKTsKK3Nob3VsZEJlVmFsaWQoJzE1ODItMTAtMTVUMDE6MzAr
MDE6MzAnKTsKK3Nob3VsZEJlVmFsaWQoJzE1ODItMTAtMTVUMDA6MDArMDE6MDAnKTsKKworLy8g
SW52YWxpZCB2YWx1ZXMKK3Nob3VsZEJlSW52YWxpZCgnIDIwMDktMDktMDdUMTY6NDlaICcpOwor
c2hvdWxkQmVJbnZhbGlkKCcyMDA5LTA5LTA3VDE2OjQ5eicpOworc2hvdWxkQmVJbnZhbGlkKCcy
MDA5LTA5LTA3dDE2OjQ5WicpOworc2hvdWxkQmVJbnZhbGlkKCcyMDA5LTA5LTA3VDE2OjQ5Jyk7
CitzaG91bGRCZUludmFsaWQoJzIwMDkvMDkvMDdUMTY6NDlaJyk7CitzaG91bGRCZUludmFsaWQo
J2EnKTsKK3Nob3VsZEJlSW52YWxpZCgnLTEtMDktMDdUMTY6NDlaJyk7CitzaG91bGRCZUludmFs
aWQoJzIwMDktMDktMDdUMTY6NDkrMjMnKTsKK3Nob3VsZEJlSW52YWxpZCgnMjAwOS0wOS0wN1Qx
Njo0OSsyMzonKTsKK3Nob3VsZEJlSW52YWxpZCgnMjAwOS0wOS0wN1QxNjo0OSsyNDowMCcpOwor
c2hvdWxkQmVJbnZhbGlkKCcyMDA5LTA5LTA3VDE2OjQ5KzIzOjYwJyk7CitzaG91bGRCZUludmFs
aWQoJzIwMDktMDktMDdUMTY6NDktMjMnKTsKK3Nob3VsZEJlSW52YWxpZCgnMjAwOS0wOS0wN1Qx
Njo0OS0yMzonKTsKK3Nob3VsZEJlSW52YWxpZCgnMjAwOS0wOS0wN1QxNjo0OS0yNDowMCcpOwor
c2hvdWxkQmVJbnZhbGlkKCcyMDA5LTA5LTA3VDE2OjQ5LTIzOjYwJyk7CitzaG91bGRCZUludmFs
aWQoJzE1ODItMTAtMTRUMjM6NTk6NTlaJyk7CitzaG91bGRCZUludmFsaWQoJzIxNDc0ODM2NDct
MTItMzFUMjM6NTktMDA6MDEnKTsKK3Nob3VsZEJlSW52YWxpZCgnMjE0NzQ4MzY0OC0wMS0wMVQw
MDowMDowMFonKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9WYWxpZGl0eVN0YXRlLXR5cGVN
aXNtYXRjaC1kYXRldGltZWxvY2FsLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQt
dGVzdHMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtZGF0ZXRpbWVsb2NhbC5qcwpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNDA2ZTEyCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvVmFsaWRpdHlTdGF0ZS10eXBlTWlz
bWF0Y2gtZGF0ZXRpbWVsb2NhbC5qcwpAQCAtMCwwICsxLDQ4IEBACitkZXNjcmlwdGlvbignVGhp
cyB0ZXN0IGFpbXMgdG8gY2hlY2sgZm9yIHR5cGVNaXNtYXRjaCBmbGFnIHdpdGggdHlwZT1kYXRl
dGltZS1sb2NhbCBpbnB1dCBmaWVsZHMnKTsKK3ZhciBpID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgnaW5wdXQnKTsKK2kudHlwZSA9ICdkYXRldGltZS1sb2NhbCc7CisKK2Z1bmN0aW9uIGNoZWNr
KHZhbHVlLCBtaXNtYXRjaEV4cGVjdGVkKQoreworICAgIGkudmFsdWUgPSB2YWx1ZTsKKyAgICB2
YXIgYWN0dWFsID0gaS52YWxpZGl0eS50eXBlTWlzbWF0Y2g7CisgICAgdmFyIGRpZFBhc3MgPSBh
Y3R1YWwgPT0gbWlzbWF0Y2hFeHBlY3RlZDsKKyAgICB2YXIgcmVzdWx0VGV4dCA9ICciJyArIHZh
bHVlICsgJyIgaXMgJyArIChkaWRQYXNzID8gJ2EgY29ycmVjdCAnIDogJ2FuIGluY29ycmVjdCAn
KSArIChhY3R1YWwgPyAnaW52YWxpZCcgOiAndmFsaWQnKSArICcgZGF0ZXRpbWUtbG9jYWwgc3Ry
aW5nLic7CisgICAgaWYgKGRpZFBhc3MpCisgICAgICAgIHRlc3RQYXNzZWQocmVzdWx0VGV4dCk7
CisgICAgZWxzZQorICAgICAgICB0ZXN0RmFpbGVkKHJlc3VsdFRleHQpOworfQorCitmdW5jdGlv
biBzaG91bGRCZVZhbGlkKHZhbHVlKQoreworICAgIGNoZWNrKHZhbHVlLCBmYWxzZSk7Cit9CisK
K2Z1bmN0aW9uIHNob3VsZEJlSW52YWxpZCh2YWx1ZSkKK3sKKyAgICBjaGVjayh2YWx1ZSwgdHJ1
ZSk7Cit9CisKKy8vIFZhbGlkIHZhbHVlcworc2hvdWxkQmVWYWxpZCgnJyk7CitzaG91bGRCZVZh
bGlkKCcyMDA5LTA5LTA3VDE2OjQ5Jyk7CitzaG91bGRCZVZhbGlkKCcyMDA5LTA5LTA3VDE2OjQ5
OjMxJyk7CitzaG91bGRCZVZhbGlkKCcyMDA5LTA5LTA3VDE2OjQ5OjMxLjEnKTsKK3Nob3VsZEJl
VmFsaWQoJzIwMDktMDktMDdUMTY6NDk6MzEuMTInKTsKK3Nob3VsZEJlVmFsaWQoJzIwMDktMDkt
MDdUMTY6NDk6MzEuMTIzJyk7CitzaG91bGRCZVZhbGlkKCcyMDA5LTA5LTA3VDE2OjQ5OjMxLjEy
MzQ1Njc4OTAnKTsKK3Nob3VsZEJlVmFsaWQoJzIxNDc0ODM2NDctMTItMzFUMjM6NTk6NTkuOTk5
Jyk7CitzaG91bGRCZVZhbGlkKCcxNTgyLTEwLTE1VDAwOjAwOjAwLjAwMCcpOworCisvLyBJbnZh
bGlkIHZhbHVlcworc2hvdWxkQmVJbnZhbGlkKCcgMjAwOS0wOS0wN1QxNjo0OSAnKTsKK3Nob3Vs
ZEJlSW52YWxpZCgnMjAwOS0wOS0wN3QxNjo0OScpOworc2hvdWxkQmVJbnZhbGlkKCcyMDA5LTA5
LTA3IDE2OjQ5Jyk7CitzaG91bGRCZUludmFsaWQoJzIwMDkvMDkvMDdUMTY6NDknKTsKK3Nob3Vs
ZEJlSW52YWxpZCgnYScpOworc2hvdWxkQmVJbnZhbGlkKCctMS0wOS0wN1QxNjo0OScpOworc2hv
dWxkQmVJbnZhbGlkKCcxNTgyLTEwLTE0VDIzOjU5OjU5Jyk7CitzaG91bGRCZUludmFsaWQoJzIx
NDc0ODM2NDgtMDEtMDFUMDA6MDA6MDAnKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRy
dWU7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9WYWxp
ZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1tb250aC5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
c2NyaXB0LXRlc3RzL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLW1vbnRoLmpzCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEyNzYyMDQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNt
YXRjaC1tb250aC5qcwpAQCAtMCwwICsxLDYzIEBACitkZXNjcmlwdGlvbignVGhpcyB0ZXN0IGFp
bXMgdG8gY2hlY2sgZm9yIHR5cGVNaXNtYXRjaCBmbGFnIHdpdGggdHlwZT1tb250aCBpbnB1dCBm
aWVsZHMnKTsKK3ZhciBpID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTsKK2kudHlw
ZSA9ICdtb250aCc7CisKK2Z1bmN0aW9uIGNoZWNrKHZhbHVlLCBtaXNtYXRjaEV4cGVjdGVkKQor
eworICAgIGkudmFsdWUgPSB2YWx1ZTsKKyAgICB2YXIgYWN0dWFsID0gaS52YWxpZGl0eS50eXBl
TWlzbWF0Y2g7CisgICAgdmFyIGRpZFBhc3MgPSBhY3R1YWwgPT0gbWlzbWF0Y2hFeHBlY3RlZDsK
KyAgICB2YXIgcmVzdWx0VGV4dCA9ICciJyArIHZhbHVlICsgJyIgaXMgJyArIChkaWRQYXNzID8g
J2EgY29ycmVjdCAnIDogJ2FuIGluY29ycmVjdCAnKSArIChhY3R1YWwgPyAnaW52YWxpZCcgOiAn
dmFsaWQnKSArICcgbW9udGggc3RyaW5nLic7CisgICAgaWYgKGRpZFBhc3MpCisgICAgICAgIHRl
c3RQYXNzZWQocmVzdWx0VGV4dCk7CisgICAgZWxzZQorICAgICAgICB0ZXN0RmFpbGVkKHJlc3Vs
dFRleHQpOworfQorCitmdW5jdGlvbiBzaG91bGRCZVZhbGlkKHZhbHVlKQoreworICAgIGNoZWNr
KHZhbHVlLCBmYWxzZSk7Cit9CisKK2Z1bmN0aW9uIHNob3VsZEJlSW52YWxpZCh2YWx1ZSkKK3sK
KyAgICBjaGVjayh2YWx1ZSwgdHJ1ZSk7Cit9CisKKy8vIFZhbGlkIHZhbHVlcworc2hvdWxkQmVW
YWxpZCgnJyk7CitzaG91bGRCZVZhbGlkKCcxNTgyLTEwJyk7CitzaG91bGRCZVZhbGlkKCc5OTk5
LTEyJyk7CitzaG91bGRCZVZhbGlkKCcyMTQ3NDgzNjQ3LTEyJyk7CitzaG91bGRCZVZhbGlkKCcy
MDA5LTAxJyk7CitzaG91bGRCZVZhbGlkKCcyMDA5LTAyJyk7CitzaG91bGRCZVZhbGlkKCcyMDA5
LTAzJyk7CitzaG91bGRCZVZhbGlkKCcyMDA5LTA0Jyk7CitzaG91bGRCZVZhbGlkKCcyMDA5LTA1
Jyk7CitzaG91bGRCZVZhbGlkKCcyMDA5LTA2Jyk7CitzaG91bGRCZVZhbGlkKCcyMDA5LTA3Jyk7
CitzaG91bGRCZVZhbGlkKCcyMDA5LTA4Jyk7CitzaG91bGRCZVZhbGlkKCcyMDA5LTA5Jyk7Citz
aG91bGRCZVZhbGlkKCcyMDA5LTEwJyk7CitzaG91bGRCZVZhbGlkKCcyMDA5LTExJyk7CitzaG91
bGRCZVZhbGlkKCcyMDA5LTEyJyk7CisKKy8vIEludmFsaWQgdmFsdWVzCitzaG91bGRCZUludmFs
aWQoJyAyMDA5LTA5ICcpOworc2hvdWxkQmVJbnZhbGlkKCdhJyk7CitzaG91bGRCZUludmFsaWQo
Jy0xLTA5Jyk7CitzaG91bGRCZUludmFsaWQoJzE1ODEtMTAnKTsKK3Nob3VsZEJlSW52YWxpZCgn
MTU4Mi0wOScpOworc2hvdWxkQmVJbnZhbGlkKCcyMTQ3NDgzNjQ4LTEyJyk7CitzaG91bGRCZUlu
dmFsaWQoJzIwMDkvMDknKTsKK3Nob3VsZEJlSW52YWxpZCgnMjAwOTA5Jyk7CitzaG91bGRCZUlu
dmFsaWQoJzIwMDktLTInKTsKK3Nob3VsZEJlSW52YWxpZCgnMjAwOS0wMCcpOworc2hvdWxkQmVJ
bnZhbGlkKCcyMDA5LTEzJyk7CitzaG91bGRCZUludmFsaWQoJzIwMDktJyk7CitzaG91bGRCZUlu
dmFsaWQoJzIwMDktOScpOworc2hvdWxkQmVJbnZhbGlkKCcyMDA5LTAwOScpOworc2hvdWxkQmVJ
bnZhbGlkKCcyMDA5LXh4Jyk7CitzaG91bGRCZUludmFsaWQoJzIwMDknKTsKKwordmFyIHN1Y2Nl
c3NmdWxseVBhcnNlZCA9IHRydWU7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L3NjcmlwdC10ZXN0cy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC10aW1lLmpzIGIvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gt
dGltZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YWFkZWQ0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvVmFsaWRp
dHlTdGF0ZS10eXBlTWlzbWF0Y2gtdGltZS5qcwpAQCAtMCwwICsxLDYxIEBACitkZXNjcmlwdGlv
bignVGhpcyB0ZXN0IGFpbXMgdG8gY2hlY2sgZm9yIHR5cGVNaXNtYXRjaCBmbGFnIHdpdGggdHlw
ZT10aW1lIGlucHV0IGZpZWxkcycpOwordmFyIGkgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdp
bnB1dCcpOworaS50eXBlID0gJ3RpbWUnOworCitmdW5jdGlvbiBjaGVjayh2YWx1ZSwgbWlzbWF0
Y2hFeHBlY3RlZCkKK3sKKyAgICBpLnZhbHVlID0gdmFsdWU7CisgICAgdmFyIGFjdHVhbCA9IGku
dmFsaWRpdHkudHlwZU1pc21hdGNoOworICAgIHZhciBkaWRQYXNzID0gYWN0dWFsID09IG1pc21h
dGNoRXhwZWN0ZWQ7CisgICAgdmFyIHJlc3VsdFRleHQgPSAnIicgKyB2YWx1ZSArICciIGlzICcg
KyAoZGlkUGFzcyA/ICdhIGNvcnJlY3QgJyA6ICdhbiBpbmNvcnJlY3QgJykgKyAoYWN0dWFsID8g
J2ludmFsaWQnIDogJ3ZhbGlkJykgKyAnIHRpbWUgc3RyaW5nLic7CisgICAgaWYgKGRpZFBhc3Mp
CisgICAgICAgIHRlc3RQYXNzZWQocmVzdWx0VGV4dCk7CisgICAgZWxzZQorICAgICAgICB0ZXN0
RmFpbGVkKHJlc3VsdFRleHQpOworfQorCitmdW5jdGlvbiBzaG91bGRCZVZhbGlkKHZhbHVlKQor
eworICAgIGNoZWNrKHZhbHVlLCBmYWxzZSk7Cit9CisKK2Z1bmN0aW9uIHNob3VsZEJlSW52YWxp
ZCh2YWx1ZSkKK3sKKyAgICBjaGVjayh2YWx1ZSwgdHJ1ZSk7Cit9CisKKy8vIFZhbGlkIHZhbHVl
cworc2hvdWxkQmVWYWxpZCgnJyk7CitzaG91bGRCZVZhbGlkKCcwMDowMCcpOworc2hvdWxkQmVW
YWxpZCgnMjM6NTknKTsKK3Nob3VsZEJlVmFsaWQoJzIzOjU5OjU5Jyk7CitzaG91bGRCZVZhbGlk
KCcyMzo1OTo1OS4xJyk7CitzaG91bGRCZVZhbGlkKCcyMzo1OTo1OS4xMicpOworc2hvdWxkQmVW
YWxpZCgnMjM6NTk6NTkuMTIzJyk7CitzaG91bGRCZVZhbGlkKCcyMzo1OTo1OS4xMjM0NTY3ODkw
Jyk7CitzaG91bGRCZVZhbGlkKCcwMDowMDowMC4wMDAwMDAwMDAwJyk7CisKKy8vIEludmFsaWQg
dmFsdWVzCitzaG91bGRCZUludmFsaWQoJyAwMDowMCAnKTsKK3Nob3VsZEJlSW52YWxpZCgnMToy
MycpOworc2hvdWxkQmVJbnZhbGlkKCcwMTE6MTEnKTsKK3Nob3VsZEJlSW52YWxpZCgnYWI6MTEn
KTsKK3Nob3VsZEJlSW52YWxpZCgnLTE6MTEnKTsKK3Nob3VsZEJlSW52YWxpZCgnMjQ6MTEnKTsK
K3Nob3VsZEJlSW52YWxpZCgnMTEnKTsKK3Nob3VsZEJlSW52YWxpZCgnMTEtJyk7CitzaG91bGRC
ZUludmFsaWQoJzExOi0yJyk7CitzaG91bGRCZUludmFsaWQoJzExOjYwJyk7CitzaG91bGRCZUlu
dmFsaWQoJzExOjJiJyk7CitzaG91bGRCZUludmFsaWQoJzExOmFiJyk7CitzaG91bGRCZUludmFs
aWQoJzExOjAzNCcpOworc2hvdWxkQmVJbnZhbGlkKCcyMzo0NTonKTsKK3Nob3VsZEJlSW52YWxp
ZCgnMjM6NDU6NicpOworc2hvdWxkQmVJbnZhbGlkKCcyMzo0NTotMScpOworc2hvdWxkQmVJbnZh
bGlkKCcyMzo0NTo3MCcpOworc2hvdWxkQmVJbnZhbGlkKCcyMzo0NTp6eicpOworc2hvdWxkQmVJ
bnZhbGlkKCcyMzo0NTowNi4nKTsKK3Nob3VsZEJlSW52YWxpZCgnMjM6NDU6MDYuYWJjJyk7Citz
aG91bGRCZUludmFsaWQoJzIzOjQ1OjA2Ljc4OWFiYycpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFy
c2VkID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRl
c3RzL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLXdlZWsuanMgYi9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL3NjcmlwdC10ZXN0cy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC13ZWVrLmpzCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZiMWQ5ZGQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9WYWxpZGl0eVN0YXRlLXR5
cGVNaXNtYXRjaC13ZWVrLmpzCkBAIC0wLDAgKzEsNTcgQEAKK2Rlc2NyaXB0aW9uKCdUaGlzIHRl
c3QgYWltcyB0byBjaGVjayBmb3IgdHlwZU1pc21hdGNoIGZsYWcgd2l0aCB0eXBlPXdlZWsgaW5w
dXQgZmllbGRzJyk7Cit2YXIgaSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7Citp
LnR5cGUgPSAnd2Vlayc7CisKK2Z1bmN0aW9uIGNoZWNrKHZhbHVlLCBtaXNtYXRjaEV4cGVjdGVk
KQoreworICAgIGkudmFsdWUgPSB2YWx1ZTsKKyAgICB2YXIgYWN0dWFsID0gaS52YWxpZGl0eS50
eXBlTWlzbWF0Y2g7CisgICAgdmFyIGRpZFBhc3MgPSBhY3R1YWwgPT0gbWlzbWF0Y2hFeHBlY3Rl
ZDsKKyAgICB2YXIgcmVzdWx0VGV4dCA9ICciJyArIHZhbHVlICsgJyIgaXMgJyArIChkaWRQYXNz
ID8gJ2EgY29ycmVjdCAnIDogJ2FuIGluY29ycmVjdCAnKSArIChhY3R1YWwgPyAnaW52YWxpZCcg
OiAndmFsaWQnKSArICcgd2VlayBzdHJpbmcuJzsKKyAgICBpZiAoZGlkUGFzcykKKyAgICAgICAg
dGVzdFBhc3NlZChyZXN1bHRUZXh0KTsKKyAgICBlbHNlCisgICAgICAgIHRlc3RGYWlsZWQocmVz
dWx0VGV4dCk7Cit9CisKK2Z1bmN0aW9uIHNob3VsZEJlVmFsaWQodmFsdWUpCit7CisgICAgY2hl
Y2sodmFsdWUsIGZhbHNlKTsKK30KKworZnVuY3Rpb24gc2hvdWxkQmVJbnZhbGlkKHZhbHVlKQor
eworICAgIGNoZWNrKHZhbHVlLCB0cnVlKTsKK30KKworLy8gVmFsaWQgdmFsdWVzCitzaG91bGRC
ZVZhbGlkKCcnKTsKK3Nob3VsZEJlVmFsaWQoJzE1ODMtVzAxJyk7CitzaG91bGRCZVZhbGlkKCc5
OTk5LVc1MicpOworc2hvdWxkQmVWYWxpZCgnMjE0NzQ4MzY0Ny1XNTInKTsKK3Nob3VsZEJlVmFs
aWQoJzIwMDktVzAxJyk7CitzaG91bGRCZVZhbGlkKCcyMDA0LVc1MycpOyAgLy8gMjAwNCBzdGFy
dGVkIG9uIFRodXJzZGF5Lgorc2hvdWxkQmVWYWxpZCgnMjAwMy1XNTInKTsgIC8vIDIwMDMgc3Rh
cnRlZCBvbiBXZWRuZXNkYXksIGJ1dCB3YXNuJ3QgYSBsZWFwIHllYXIuCitzaG91bGRCZVZhbGlk
KCcxOTkyLVc1MycpOyAgLy8gMTk5MiBzdGFydGVkIG9uIFdlZG5lc2RheSwgYW5kIHdhcyBhIGxl
YXAgeWVhci4KKworLy8gSW52YWxpZCB2YWx1ZXMKK3Nob3VsZEJlSW52YWxpZCgnIDIwMDktVzAx
ICcpOworc2hvdWxkQmVJbnZhbGlkKCcyMDA5VzAxJyk7CitzaG91bGRCZUludmFsaWQoJzIwMDkt
dzAxJyk7CitzaG91bGRCZUludmFsaWQoJzIwMDktVzEnKTsKK3Nob3VsZEJlSW52YWxpZCgnMjAw
OS1XMDAxJyk7CitzaG91bGRCZUludmFsaWQoJ2EnKTsKK3Nob3VsZEJlSW52YWxpZCgnLTEtVzA5
Jyk7CitzaG91bGRCZUludmFsaWQoJzE1ODItVzUyJyk7CitzaG91bGRCZUludmFsaWQoJzIxNDc0
ODM2NDgtVzAxJyk7CitzaG91bGRCZUludmFsaWQoJzIwMDktVzAwJyk7CitzaG91bGRCZUludmFs
aWQoJzIwMDktVy0xJyk7CitzaG91bGRCZUludmFsaWQoJzIwMDQtVzU0Jyk7ICAvLyAyMDA0IHN0
YXJ0ZWQgb24gVGh1cnNkYXkuCitzaG91bGRCZUludmFsaWQoJzIwMDMtVzUzJyk7ICAvLyAyMDAz
IHN0YXJ0ZWQgb24gV2VkbmVzZGF5LCBidXQgd2Fzbid0IGEgbGVhcCB5ZWFyLgorc2hvdWxkQmVJ
bnZhbGlkKCcxOTkyLVc1NCcpOyAgLy8gMTk5MiBzdGFydGVkIG9uIFdlZG5lc2RheSwgYW5kIHdh
cyBhIGxlYXAgeWVhci4KK3Nob3VsZEJlSW52YWxpZCgnMjAwOS8wOScpOworc2hvdWxkQmVJbnZh
bGlkKCcyMDA5MDknKTsKK3Nob3VsZEJlSW52YWxpZCgnMjAwOS1XeHgnKTsKK3Nob3VsZEJlSW52
YWxpZCgnMjAwOScpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDY0ZTI5ZC4u
ZTNkNWJjNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwyNSBAQAorMjAwOS0wOS0yOCAgS2VudCBUYW11cmEgIDx0a2VudEBj
aHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQWRkIHN1cHBvcnQgZm9yIFZhbGlkaXR5U3RhdGUudHlwZU1pc21hdGNoIGZvciB0aGUg
Zm9sbG93aW5nIElOUFVUIHR5cGVzOgorICAgICAgICAgIGRhdGUgZGF0ZXRpbWUgZGF0ZXRpbWUt
bG9jYWwgbW9udGggdGltZSB3ZWVrCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yOTAwNAorCisgICAgICAgIFRlc3RzOiBmYXN0L2Zvcm1zL1ZhbGlkaXR5
U3RhdGUtdHlwZU1pc21hdGNoLWRhdGUuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9mb3Jtcy9W
YWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1kYXRldGltZS5odG1sCisgICAgICAgICAgICAgICBm
YXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLWRhdGV0aW1lbG9jYWwuaHRtbAor
ICAgICAgICAgICAgICAgZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1tb250
aC5odG1sCisgICAgICAgICAgICAgICBmYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21h
dGNoLXRpbWUuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5
cGVNaXNtYXRjaC13ZWVrLmh0bWwKKworICAgICAgICAqIEZvcndhcmRpbmdIZWFkZXJzL3d0Zi9J
U09EYXRlUGFyc2VyLmg6IEFkZGVkLgorICAgICAgICAqIGh0bWwvSFRNTElucHV0RWxlbWVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50Ojpmb3JtU3RyaW5nVG9EYXRl
VGltZSk6CisgICAgICAgICogaHRtbC9IVE1MSW5wdXRFbGVtZW50Lmg6CisgICAgICAgICogaHRt
bC9WYWxpZGl0eVN0YXRlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlZhbGlkaXR5U3RhdGU6OnR5
cGVNaXNtYXRjaCk6CisKIDIwMDktMDktMDEgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVycy93dGYvSVNPRGF0ZVBhcnNlci5oIGIvV2ViQ29yZS9G
b3J3YXJkaW5nSGVhZGVycy93dGYvSVNPRGF0ZVBhcnNlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAuLjJjN2EzYTMKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL0Zvcndh
cmRpbmdIZWFkZXJzL3d0Zi9JU09EYXRlUGFyc2VyLmgKQEAgLTAsMCArMSw0IEBACisjaWZuZGVm
IFdlYkNvcmVfRldEX0lTT0RhdGVQYXJzZXJfaAorI2RlZmluZSBXZWJDb3JlX0ZXRF9JU09EYXRl
UGFyc2VyX2gKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9JU09EYXRlUGFyc2VyLmg+CisjZW5k
aWYKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcCBiL1dlYkNv
cmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcAppbmRleCBlYzViYmZkLi5jMjY2YzhiIDEwMDY0
NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAKKysrIGIvV2ViQ29yZS9o
dG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCkBAIC02MSw2ICs2MSw3IEBACiAjaW5jbHVkZSAiU3Ry
aW5nSGFzaC5oIgogI2luY2x1ZGUgIlRleHRFdmVudC5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFw
Lmg+CisjaW5jbHVkZSA8d3RmL0lTT0RhdGVQYXJzZXIuaD4KICNpbmNsdWRlIDx3dGYvTWF0aEV4
dHJhcy5oPgogI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KIApAQCAtMTg1OCw2ICsxODU5
LDM0IEBAIGJvb2wgSFRNTElucHV0RWxlbWVudDo6Zm9ybVN0cmluZ1RvRG91YmxlKGNvbnN0IFN0
cmluZyYgc3JjLCBkb3VibGUqIG91dCkKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorYm9vbCBIVE1M
SW5wdXRFbGVtZW50Ojpmb3JtU3RyaW5nVG9EYXRlVGltZShJbnB1dFR5cGUgdHlwZSwgY29uc3Qg
U3RyaW5nJiBzcmMsIFdURjo6R3JlZ29yaWFuRGF0ZVRpbWUqIG91dCkKK3sKKyAgICBXVEY6Okdy
ZWdvcmlhbkRhdGVUaW1lIHJlc3VsdDsKKyAgICBpZiAoIW91dCkKKyAgICAgICAgb3V0ID0gJnJl
c3VsdDsKKyAgICBjb25zdCBVQ2hhciogdWNoYXJzID0gc3JjLmNoYXJhY3RlcnMoKTsKKyAgICB1
bnNpZ25lZCBsZW5ndGggPSBzcmMubGVuZ3RoKCk7CisgICAgdW5zaWduZWQgZW5kOworCisgICAg
c3dpdGNoICh0eXBlKSB7CisgICAgY2FzZSBEQVRFOgorICAgICAgICByZXR1cm4gV1RGOjpwYXJz
ZUlTT0RhdGUodWNoYXJzLCBsZW5ndGgsIDAsICZlbmQsIG91dCkgJiYgZW5kID09IGxlbmd0aDsK
KyAgICBjYXNlIERBVEVUSU1FOgorICAgICAgICByZXR1cm4gV1RGOjpwYXJzZUlTT0RhdGVUaW1l
KHVjaGFycywgbGVuZ3RoLCAwLCAmZW5kLCBvdXQpICYmIGVuZCA9PSBsZW5ndGg7CisgICAgY2Fz
ZSBEQVRFVElNRUxPQ0FMOgorICAgICAgICByZXR1cm4gV1RGOjpwYXJzZUlTT0RhdGVUaW1lTG9j
YWwodWNoYXJzLCBsZW5ndGgsIDAsICZlbmQsIG91dCkgJiYgZW5kID09IGxlbmd0aDsKKyAgICBj
YXNlIE1PTlRIOgorICAgICAgICByZXR1cm4gV1RGOjpwYXJzZUlTT01vbnRoKHVjaGFycywgbGVu
Z3RoLCAwLCAmZW5kLCBvdXQpICYmIGVuZCA9PSBsZW5ndGg7CisgICAgY2FzZSBXRUVLOgorICAg
ICAgICByZXR1cm4gV1RGOjpwYXJzZUlTT1dlZWsodWNoYXJzLCBsZW5ndGgsIDAsICZlbmQsIG91
dCkgJiYgZW5kID09IGxlbmd0aDsKKyAgICBjYXNlIFRJTUU6CisgICAgICAgIHJldHVybiBXVEY6
OnBhcnNlSVNPVGltZSh1Y2hhcnMsIGxlbmd0aCwgMCwgJmVuZCwgb3V0KSAmJiBlbmQgPT0gbGVu
Z3RoOworICAgIGRlZmF1bHQ6CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIH0K
KyAgICByZXR1cm4gZmFsc2U7Cit9CisKICNpZiBFTkFCTEUoREFUQUxJU1QpCiBIVE1MRWxlbWVu
dCogSFRNTElucHV0RWxlbWVudDo6bGlzdCgpIGNvbnN0CiB7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2h0bWwvSFRNTElucHV0RWxlbWVudC5oIGIvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQu
aAppbmRleCBkOGY5ZDRhLi5jMmQzZjViIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRNTElu
cHV0RWxlbWVudC5oCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmgKQEAgLTI4
LDYgKzI4LDEwIEBACiAjaW5jbHVkZSAiSW5wdXRFbGVtZW50LmgiCiAjaW5jbHVkZSA8d3RmL093
blB0ci5oPgogCituYW1lc3BhY2UgV1RGIHsKKyAgICBzdHJ1Y3QgR3JlZ29yaWFuRGF0ZVRpbWU7
Cit9CisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRmlsZUxpc3Q7CkBAIC0yMzksNiAr
MjQzLDEwIEBAIHB1YmxpYzoKICAgICAvLyBJZiB0aGUgY29udmVyc2lvbiBmYWlscywgdGhlIHJl
dHVybiB2YWx1ZSBpcyBmYWxzZS4gVGFrZSBjYXJlIHRoYXQgbGVhZGluZyBvciB0cmFpbGluZyB1
bm5lY2Vzc2FyeSBjaGFyYWN0ZXJzIG1ha2UgZmFpbHVyZXMuICBUaGlzIHJldHVybnMgZmFsc2Ug
Zm9yIGFuIGVtcHR5IHN0cmluZyBpbnB1dC4KICAgICAvLyBUaGUgZG91YmxlKiBwYXJhbWV0ZXIg
bWF5IGJlIDAuCiAgICAgc3RhdGljIGJvb2wgZm9ybVN0cmluZ1RvRG91YmxlKGNvbnN0IFN0cmlu
ZyYsIGRvdWJsZSopOworICAgIC8vIFBhcnNlcyB0aGUgc3BlY2lmaWVkIHN0cmluZyBhcyB0aGUg
SW5wdXRUeXBlLCBhbmQgcmV0dXJucyB0cnVlIGlmIGl0IGlzIHN1Y2Nlc3NmdWxseSBwYXJzZWQu
CisgICAgLy8gQW4gaW5zdGFuY2UgcG9pbnRlZCBieSB0aGUgR3JlZ29yaWFuRGF0ZVRpbWUqIHBh
cmFtZXRlciB3aWxsIGhhdmUgcGFyc2VkIHZhbHVlcyBhbmQgYmUKKyAgICAvLyBtb2RpZmllZCBl
dmVuIGlmIHRoZSBwYXJzaW5nIGZhaWxzLiAgVGhlIEdyZWdvcmlhbkRhdGVUaW1lKiBwYXJhbWV0
ZXIgbWF5IGJlIDAuCisgICAgc3RhdGljIGJvb2wgZm9ybVN0cmluZ1RvRGF0ZVRpbWUoSW5wdXRU
eXBlLCBjb25zdCBTdHJpbmcmLCBXVEY6OkdyZWdvcmlhbkRhdGVUaW1lKik7CiAgICAgCiBwcm90
ZWN0ZWQ6CiAgICAgdmlydHVhbCB2b2lkIHdpbGxNb3ZlVG9OZXdPd25lckRvY3VtZW50KCk7CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvVmFsaWRpdHlTdGF0ZS5jcHAgYi9XZWJDb3JlL2h0bWwv
VmFsaWRpdHlTdGF0ZS5jcHAKaW5kZXggZGY4OTMzZC4uMTVhZDc5YyAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9odG1sL1ZhbGlkaXR5U3RhdGUuY3BwCisrKyBiL1dlYkNvcmUvaHRtbC9WYWxpZGl0eVN0
YXRlLmNwcApAQCAtNTUsNiArNTUsMTMgQEAgYm9vbCBWYWxpZGl0eVN0YXRlOjp0eXBlTWlzbWF0
Y2goKQogICAgICAgICByZXR1cm4gIUhUTUxJbnB1dEVsZW1lbnQ6OmZvcm1TdHJpbmdUb0RvdWJs
ZSh2YWx1ZSwgMCk7CiAgICAgY2FzZSBIVE1MSW5wdXRFbGVtZW50OjpVUkw6CiAgICAgICAgIHJl
dHVybiAhS1VSTChLVVJMKCksIHZhbHVlKS5pc1ZhbGlkKCk7CisgICAgY2FzZSBIVE1MSW5wdXRF
bGVtZW50OjpEQVRFOgorICAgIGNhc2UgSFRNTElucHV0RWxlbWVudDo6REFURVRJTUU6CisgICAg
Y2FzZSBIVE1MSW5wdXRFbGVtZW50OjpEQVRFVElNRUxPQ0FMOgorICAgIGNhc2UgSFRNTElucHV0
RWxlbWVudDo6TU9OVEg6CisgICAgY2FzZSBIVE1MSW5wdXRFbGVtZW50OjpUSU1FOgorICAgIGNh
c2UgSFRNTElucHV0RWxlbWVudDo6V0VFSzoKKyAgICAgICAgcmV0dXJuICFIVE1MSW5wdXRFbGVt
ZW50Ojpmb3JtU3RyaW5nVG9EYXRlVGltZShpbnB1dC0+aW5wdXRUeXBlKCksIHZhbHVlLCAwKTsK
ICAgICBkZWZhdWx0OgogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQotLSAKMS42LjMuMwoK
</data>
<flag name="commit-queue"
          id="21407"
          type_id="3"
          status="-"
          setter="tkent"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>40488</attachid>
            <date>2009-10-01 18:18:02 -0700</date>
            <delta_ts>2009-10-19 21:13:34 -0700</delta_ts>
            <desc>Patch part 1: recognize date&amp;time types as text fields (rev.4)</desc>
            <filename>0001-add-datetime-types-4.patch</filename>
            <type>text/plain</type>
            <size>29303</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">RnJvbSBiNzhjMzM1YTBlNjA1N2FhZmVmMDQzZmMwOWMwYTM4OTUyMDI1NDJjIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBLZW50IFRhbXVyYSA8dGtlbnRAY2hyb21pdW0ub3JnPgpEYXRl
OiBUaHUsIDEwIFNlcCAyMDA5IDIwOjMyOjMzICswOTAwClN1YmplY3Q6IFtQQVRDSF0gYWRkLWRh
dGV0aW1lLXR5cGVzLTQKCi0tLQogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgfCAgIDExICsKIC4uLi9mYXN0L2Zvcm1zL2lucHV0LXR5cGUtY2hhbmdl
My1leHBlY3RlZC50eHQgICAgIHwgICA2NyArKysrCiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lu
cHV0LXR5cGUtY2hhbmdlMy5odG1sICAgICB8ICAgMTMgKwogLi4uL2Zhc3QvZm9ybXMvc2NyaXB0
LXRlc3RzL2lucHV0LXR5cGUtY2hhbmdlMy5qcyAgfCAgIDc3ICsrKysrCiBXZWJDb3JlL0NoYW5n
ZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMzQgKysKIFdlYkNvcmUv
aHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcCAgICAgICAgICAgICAgICAgIHwgIDMyNiArKysrKysr
KysrKystLS0tLS0tLQogV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaCAgICAgICAgICAg
ICAgICAgICAgfCAgIDEzICstCiA3IGZpbGVzIGNoYW5nZWQsIDQwNSBpbnNlcnRpb25zKCspLCAx
MzYgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9pbnB1dC10eXBlLWNoYW5nZTMtZXhwZWN0ZWQudHh0CiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy9pbnB1dC10eXBlLWNoYW5nZTMuaHRtbAogY3JlYXRlIG1vZGUg
MTAwNjQ0IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2lucHV0LXR5cGUtY2hh
bmdlMy5qcwoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwppbmRleCA2YjJmYjgyLi45NWMwN2FkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAK
KzIwMDktMDktMjMgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCB0ZXN0cyBmb3IgcmVh
ZGluZy93cml0aW5nIC50eXBlIHByb3BlcnR5IG9mIEhUTUxJbnB1dEVsZW1lbnQuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yOTAwNAorCisgICAgICAg
ICogZmFzdC9mb3Jtcy9pbnB1dC10eXBlLWNoYW5nZTMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L2Zvcm1zL2lucHV0LXR5cGUtY2hhbmdlMy5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBmYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9pbnB1dC10eXBlLWNoYW5nZTMuanM6IEFkZGVk
LgorCiAyMDA5LTEwLTAxICBDaHJpcyBNYXJyaW4gIDxjbWFycmluQGFwcGxlLmNvbT4KIAogICAg
ICAgICBSZXZpZXdlZCBieSBPbGl2ZXIgSHVudC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvaW5wdXQtdHlwZS1jaGFuZ2UzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvaW5wdXQtdHlwZS1jaGFuZ2UzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwLi44ZjY3MGE0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9pbnB1dC10eXBlLWNoYW5nZTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
NjcgQEAKK1Rlc3RzIGZvciB3cml0aW5nIGFuZCByZWFkaW5nIC50eXBlIHByb3BlcnR5IG9mIEhU
TUxJbnB1dEVsZW1lbnQuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIGlu
cHV0LnR5cGUgaXMgInRleHQiCitQQVNTIGlucHV0LnR5cGUgZm9yICJGSUxFIiBpcyBjb3JyZWN0
bHkgImZpbGUiLgorUEFTUyBpbnB1dC50eXBlIGZvciAidGV4dCIgaXMgY29ycmVjdGx5ICJ0ZXh0
Ii4KK1BBU1MgaW5wdXQudHlwZSBmb3IgIlRFWFQiIGlzIGNvcnJlY3RseSAidGV4dCIuCitQQVNT
IGlucHV0LnR5cGUgZm9yICIgdGV4dCAiIGlzIGNvcnJlY3RseSAidGV4dCIuCitQQVNTIGlucHV0
LnR5cGUgZm9yICJidXR0b24iIGlzIGNvcnJlY3RseSAiYnV0dG9uIi4KK1BBU1MgaW5wdXQudHlw
ZSBmb3IgIkJVVFRPTiIgaXMgY29ycmVjdGx5ICJidXR0b24iLgorUEFTUyBpbnB1dC50eXBlIGZv
ciAiIGJ1dHRvbiAiIGlzIGNvcnJlY3RseSAidGV4dCIuCitQQVNTIGlucHV0LnR5cGUgZm9yICJj
aGVja2JveCIgaXMgY29ycmVjdGx5ICJjaGVja2JveCIuCitQQVNTIGlucHV0LnR5cGUgZm9yICJD
SEVDS0JPWCIgaXMgY29ycmVjdGx5ICJjaGVja2JveCIuCitQQVNTIGlucHV0LnR5cGUgZm9yICJj
b2xvciIgaXMgY29ycmVjdGx5ICJjb2xvciIuCitQQVNTIGlucHV0LnR5cGUgZm9yICJDT0xPUiIg
aXMgY29ycmVjdGx5ICJjb2xvciIuCitQQVNTIGlucHV0LnR5cGUgZm9yICJkYXRlIiBpcyBjb3Jy
ZWN0bHkgImRhdGUiLgorUEFTUyBpbnB1dC50eXBlIGZvciAiREFURSIgaXMgY29ycmVjdGx5ICJk
YXRlIi4KK1BBU1MgaW5wdXQudHlwZSBmb3IgImRhdGV0aW1lIiBpcyBjb3JyZWN0bHkgImRhdGV0
aW1lIi4KK1BBU1MgaW5wdXQudHlwZSBmb3IgIkRhdGVUaW1lIiBpcyBjb3JyZWN0bHkgImRhdGV0
aW1lIi4KK1BBU1MgaW5wdXQudHlwZSBmb3IgImRhdGV0aW1lLWxvY2FsIiBpcyBjb3JyZWN0bHkg
ImRhdGV0aW1lLWxvY2FsIi4KK1BBU1MgaW5wdXQudHlwZSBmb3IgImRhdGV0aW1lbG9jYWwiIGlz
IGNvcnJlY3RseSAidGV4dCIuCitQQVNTIGlucHV0LnR5cGUgZm9yICJkYXRldGltZV9sb2NhbCIg
aXMgY29ycmVjdGx5ICJ0ZXh0Ii4KK1BBU1MgaW5wdXQudHlwZSBmb3IgIkRhdGVUaW1lLUxvY2Fs
IiBpcyBjb3JyZWN0bHkgImRhdGV0aW1lLWxvY2FsIi4KK1BBU1MgaW5wdXQudHlwZSBmb3IgImVt
YWlsIiBpcyBjb3JyZWN0bHkgImVtYWlsIi4KK1BBU1MgaW5wdXQudHlwZSBmb3IgIkVNYWlsIiBp
cyBjb3JyZWN0bHkgImVtYWlsIi4KK1BBU1MgaW5wdXQudHlwZSBmb3IgImZpbGUiIGlzIGNvcnJl
Y3RseSAiZW1haWwiLgorUEFTUyBpbnB1dC50eXBlIGZvciAiRklMRSIgaXMgY29ycmVjdGx5ICJl
bWFpbCIuCitQQVNTIGlucHV0LnR5cGUgZm9yICJoaWRkZW4iIGlzIGNvcnJlY3RseSAiaGlkZGVu
Ii4KK1BBU1MgaW5wdXQudHlwZSBmb3IgIkhJRERFTiIgaXMgY29ycmVjdGx5ICJoaWRkZW4iLgor
UEFTUyBpbnB1dC50eXBlIGZvciAiaW1hZ2UiIGlzIGNvcnJlY3RseSAiaW1hZ2UiLgorUEFTUyBp
bnB1dC50eXBlIGZvciAiSU1BR0UiIGlzIGNvcnJlY3RseSAiaW1hZ2UiLgorUEFTUyBpbnB1dC50
eXBlIGZvciAiaXNpbmRleCIgaXMgY29ycmVjdGx5ICJ0ZXh0Ii4KK1BBU1MgaW5wdXQudHlwZSBm
b3IgImtodG1sX2lzaW5kZXgiIGlzIGNvcnJlY3RseSAiIi4KK1BBU1MgaW5wdXQudHlwZSBmb3Ig
IktIVE1MX0lTSU5ERVgiIGlzIGNvcnJlY3RseSAiIi4KK1BBU1MgaW5wdXQudHlwZSBmb3IgIm1v
bnRoIiBpcyBjb3JyZWN0bHkgIm1vbnRoIi4KK1BBU1MgaW5wdXQudHlwZSBmb3IgIk1PTlRIIiBp
cyBjb3JyZWN0bHkgIm1vbnRoIi4KK1BBU1MgaW5wdXQudHlwZSBmb3IgIm51bWJlciIgaXMgY29y
cmVjdGx5ICJudW1iZXIiLgorUEFTUyBpbnB1dC50eXBlIGZvciAiTlVNQkVSIiBpcyBjb3JyZWN0
bHkgIm51bWJlciIuCitQQVNTIGlucHV0LnR5cGUgZm9yICJwYXNzd29yZCIgaXMgY29ycmVjdGx5
ICJwYXNzd29yZCIuCitQQVNTIGlucHV0LnR5cGUgZm9yICJQQVNTV09SRCIgaXMgY29ycmVjdGx5
ICJwYXNzd29yZCIuCitQQVNTIGlucHV0LnR5cGUgZm9yICJwYXNzd2QiIGlzIGNvcnJlY3RseSAi
dGV4dCIuCitQQVNTIGlucHV0LnR5cGUgZm9yICJyYWRpbyIgaXMgY29ycmVjdGx5ICJyYWRpbyIu
CitQQVNTIGlucHV0LnR5cGUgZm9yICJSQURJTyIgaXMgY29ycmVjdGx5ICJyYWRpbyIuCitQQVNT
IGlucHV0LnR5cGUgZm9yICJyYW5nZSIgaXMgY29ycmVjdGx5ICJyYW5nZSIuCitQQVNTIGlucHV0
LnR5cGUgZm9yICJSQU5HRSIgaXMgY29ycmVjdGx5ICJyYW5nZSIuCitQQVNTIGlucHV0LnR5cGUg
Zm9yICJyZXNldCIgaXMgY29ycmVjdGx5ICJyZXNldCIuCitQQVNTIGlucHV0LnR5cGUgZm9yICJS
RVNFVCIgaXMgY29ycmVjdGx5ICJyZXNldCIuCitQQVNTIGlucHV0LnR5cGUgZm9yICJzZWFyY2gi
IGlzIGNvcnJlY3RseSAic2VhcmNoIi4KK1BBU1MgaW5wdXQudHlwZSBmb3IgIlNFQVJDSCIgaXMg
Y29ycmVjdGx5ICJzZWFyY2giLgorUEFTUyBpbnB1dC50eXBlIGZvciAic3VibWl0IiBpcyBjb3Jy
ZWN0bHkgInN1Ym1pdCIuCitQQVNTIGlucHV0LnR5cGUgZm9yICJTVUJNSVQiIGlzIGNvcnJlY3Rs
eSAic3VibWl0Ii4KK1BBU1MgaW5wdXQudHlwZSBmb3IgInRlbCIgaXMgY29ycmVjdGx5ICJ0ZWwi
LgorUEFTUyBpbnB1dC50eXBlIGZvciAiVEVMIiBpcyBjb3JyZWN0bHkgInRlbCIuCitQQVNTIGlu
cHV0LnR5cGUgZm9yICJ0ZWxlcGhvbmUiIGlzIGNvcnJlY3RseSAidGV4dCIuCitQQVNTIGlucHV0
LnR5cGUgZm9yICJ0aW1lIiBpcyBjb3JyZWN0bHkgInRpbWUiLgorUEFTUyBpbnB1dC50eXBlIGZv
ciAiVElNRSIgaXMgY29ycmVjdGx5ICJ0aW1lIi4KK1BBU1MgaW5wdXQudHlwZSBmb3IgInVybCIg
aXMgY29ycmVjdGx5ICJ1cmwiLgorUEFTUyBpbnB1dC50eXBlIGZvciAiVVJMIiBpcyBjb3JyZWN0
bHkgInVybCIuCitQQVNTIGlucHV0LnR5cGUgZm9yICJ1cmkiIGlzIGNvcnJlY3RseSAidGV4dCIu
CitQQVNTIGlucHV0LnR5cGUgZm9yICJ3ZWVrIiBpcyBjb3JyZWN0bHkgIndlZWsiLgorUEFTUyBp
bnB1dC50eXBlIGZvciAiV0VFSyIgaXMgY29ycmVjdGx5ICJ3ZWVrIi4KK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL2lucHV0LXR5cGUtY2hhbmdlMy5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy9pbnB1dC10eXBlLWNoYW5nZTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwLi5mMTk4MjBmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9pbnB1dC10eXBlLWNoYW5nZTMuaHRtbApAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUg
SFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxp
bmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0
LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0
cy9pbnB1dC10eXBlLWNoYW5nZTMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zh
c3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9pbnB1
dC10eXBlLWNoYW5nZTMuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9p
bnB1dC10eXBlLWNoYW5nZTMuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u
ZGRmYWEwMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0
LXRlc3RzL2lucHV0LXR5cGUtY2hhbmdlMy5qcwpAQCAtMCwwICsxLDc3IEBACitkZXNjcmlwdGlv
bignVGVzdHMgZm9yIHdyaXRpbmcgYW5kIHJlYWRpbmcgLnR5cGUgcHJvcGVydHkgb2YgSFRNTElu
cHV0RWxlbWVudC4nKTsKKwordmFyIGlucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5w
dXQnKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaW5wdXQpOworCitzaG91bGRCZSgnaW5w
dXQudHlwZScsICcidGV4dCInKTsKKworZnVuY3Rpb24gY2hlY2sodmFsdWUsIGV4cGVjdGVkKQor
eworICAgIGlucHV0LnR5cGUgPSB2YWx1ZTsKKyAgICBpZiAoaW5wdXQudHlwZSA9PSBleHBlY3Rl
ZCkKKyAgICAgICAgdGVzdFBhc3NlZCgnaW5wdXQudHlwZSBmb3IgIicgKyB2YWx1ZSArICciIGlz
IGNvcnJlY3RseSAiJyArIGlucHV0LnR5cGUgKyAnIi4nKTsKKyAgICBlbHNlCisgICAgICAgIHRl
c3RGYWlsZWQoJ2lucHV0LnR5cGUgZm9yICInICsgdmFsdWUgKyAnIiBpcyBpbmNvcnJlY3RseSAi
JyArIGlucHV0LnR5cGUgKyAnIiwgc2hvdWxkIGJlICInICsgZXhwZWN0ZWQgKyAnIi4nKTsKK30K
KworY2hlY2soIkZJTEUiLCAiZmlsZSIpOworCitjaGVjaygidGV4dCIsICJ0ZXh0Iik7CitjaGVj
aygiVEVYVCIsICJ0ZXh0Iik7CitjaGVjaygiIHRleHQgIiwgInRleHQiKTsKK2NoZWNrKCJidXR0
b24iLCAiYnV0dG9uIik7CitjaGVjaygiQlVUVE9OIiwgImJ1dHRvbiIpOworY2hlY2soIiBidXR0
b24gIiwgInRleHQiKTsKK2NoZWNrKCJjaGVja2JveCIsICJjaGVja2JveCIpOworY2hlY2soIkNI
RUNLQk9YIiwgImNoZWNrYm94Iik7CitjaGVjaygiY29sb3IiLCAiY29sb3IiKTsKK2NoZWNrKCJD
T0xPUiIsICJjb2xvciIpOworY2hlY2soImRhdGUiLCAiZGF0ZSIpOworY2hlY2soIkRBVEUiLCAi
ZGF0ZSIpOworY2hlY2soImRhdGV0aW1lIiwgImRhdGV0aW1lIik7CitjaGVjaygiRGF0ZVRpbWUi
LCAiZGF0ZXRpbWUiKTsKK2NoZWNrKCJkYXRldGltZS1sb2NhbCIsICJkYXRldGltZS1sb2NhbCIp
OworY2hlY2soImRhdGV0aW1lbG9jYWwiLCAidGV4dCIpOworY2hlY2soImRhdGV0aW1lX2xvY2Fs
IiwgInRleHQiKTsKK2NoZWNrKCJEYXRlVGltZS1Mb2NhbCIsICJkYXRldGltZS1sb2NhbCIpOwor
Y2hlY2soImVtYWlsIiwgImVtYWlsIik7CitjaGVjaygiRU1haWwiLCAiZW1haWwiKTsKK2NoZWNr
KCJmaWxlIiwgImVtYWlsIik7IC8vIFdlIGNhbid0IGNoYW5nZSBhIGNvbmNyZXRlIHR5cGUgdG8g
ZmlsZSBmb3IgYSBzZWN1cml0eSByZWFzb24uCitjaGVjaygiRklMRSIsICJlbWFpbCIpOworY2hl
Y2soImhpZGRlbiIsICJoaWRkZW4iKTsKK2NoZWNrKCJISURERU4iLCAiaGlkZGVuIik7CitjaGVj
aygiaW1hZ2UiLCAiaW1hZ2UiKTsKK2NoZWNrKCJJTUFHRSIsICJpbWFnZSIpOworY2hlY2soImlz
aW5kZXgiLCAidGV4dCIpOworY2hlY2soImtodG1sX2lzaW5kZXgiLCAiIik7CitjaGVjaygiS0hU
TUxfSVNJTkRFWCIsICIiKTsKK2NoZWNrKCJtb250aCIsICJtb250aCIpOworY2hlY2soIk1PTlRI
IiwgIm1vbnRoIik7CitjaGVjaygibnVtYmVyIiwgIm51bWJlciIpOworY2hlY2soIk5VTUJFUiIs
ICJudW1iZXIiKTsKK2NoZWNrKCJwYXNzd29yZCIsICJwYXNzd29yZCIpOworY2hlY2soIlBBU1NX
T1JEIiwgInBhc3N3b3JkIik7CitjaGVjaygicGFzc3dkIiwgInRleHQiKTsKK2NoZWNrKCJyYWRp
byIsICJyYWRpbyIpOworY2hlY2soIlJBRElPIiwgInJhZGlvIik7CitjaGVjaygicmFuZ2UiLCAi
cmFuZ2UiKTsKK2NoZWNrKCJSQU5HRSIsICJyYW5nZSIpOworY2hlY2soInJlc2V0IiwgInJlc2V0
Iik7CitjaGVjaygiUkVTRVQiLCAicmVzZXQiKTsKK2NoZWNrKCJzZWFyY2giLCAic2VhcmNoIik7
CitjaGVjaygiU0VBUkNIIiwgInNlYXJjaCIpOworY2hlY2soInN1Ym1pdCIsICJzdWJtaXQiKTsK
K2NoZWNrKCJTVUJNSVQiLCAic3VibWl0Iik7CitjaGVjaygidGVsIiwgInRlbCIpOworY2hlY2so
IlRFTCIsICJ0ZWwiKTsKK2NoZWNrKCJ0ZWxlcGhvbmUiLCAidGV4dCIpOworY2hlY2soInRpbWUi
LCAidGltZSIpOworY2hlY2soIlRJTUUiLCAidGltZSIpOworY2hlY2soInVybCIsICJ1cmwiKTsK
K2NoZWNrKCJVUkwiLCAidXJsIik7CitjaGVjaygidXJpIiwgInRleHQiKTsKK2NoZWNrKCJ3ZWVr
IiwgIndlZWsiKTsKK2NoZWNrKCJXRUVLIiwgIndlZWsiKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBh
cnNlZCA9IHRydWU7CisKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9D
aGFuZ2VMb2cKaW5kZXggNDRiOGQwMC4uYTFiNTYzNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFu
Z2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNyBAQAorMjAwOS0wOS0w
MSAgS2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgLSBSZWNvZ25pemVzIGRhdGUvZGF0ZXRpbWUv
ZGF0ZXRpbWUtbG9jYWwvbW9udGgvdGltZS93ZWVrIHR5cGVzIG9mIElOUFVUIGVsZW1lbnQuCisg
ICAgICAgICAgVGhleSBoYXZlIG5vIGRlZGljYXRlZCBVSSBhbmQgbm8gdHlwZSB2YWxpZGF0aW9u
IGZvciBub3cuCisgICAgICAgIC0gQ2xlYW4gdXAgc2V0SW5wdXRUeXBlKCkgYW5kIGZvcm1Db250
cm9sVHlwZSgpIG9mIEhUTUxJbnB1dEVsZW1lbnQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yOTAwNAorCisgICAgICAgIFRlc3Q6IGZhc3QvZm9ybXMv
aW5wdXQtdHlwZS1jaGFuZ2UzLmh0bWwKKworICAgICAgICAqIGh0bWwvSFRNTElucHV0RWxlbWVu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50Ojp2YWx1ZU1pc3Npbmcp
OgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6cGF0dGVybk1pc21hdGNoKToK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQ6OnRvb0xvbmcpOgorICAgICAgICAo
V2ViQ29yZTo6Y3JlYXRlVHlwZU1hcCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVt
ZW50OjpzZXRJbnB1dFR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlRm9ybUNvbnRyb2xU
eXBlcyk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50Ojpmb3JtQ29udHJvbFR5
cGUpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6c2F2ZUZvcm1Db250cm9s
U3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6cmVzdG9yZUZvcm1D
b250cm9sU3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6YWNjZXNz
S2V5QWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQ6OnJlbmRlcmVy
SXNOZWVkZWQpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6Y3JlYXRlUmVu
ZGVyZXIpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6YXBwZW5kRm9ybURh
dGEpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6aXNUZXh0RmllbGQpOgor
ICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6dmFsdWVXaXRoRGVmYXVsdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50OjpzdG9yZXNWYWx1ZVNlcGFyYXRlRnJv
bUF0dHJpYnV0ZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50OjpkZWZhdWx0
RXZlbnRIYW5kbGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQ6OmlzUmVx
dWlyZWRGb3JtQ29udHJvbCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50Ojpk
YXRhTGlzdCk6CisgICAgICAgICogaHRtbC9IVE1MSW5wdXRFbGVtZW50Lmg6CisgICAgICAgIChX
ZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50OjopOgorCiAyMDA5LTEwLTAxICBDaHJpcyBNYXJyaW4g
IDxjbWFycmluQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBPbGl2ZXIgSHVudC4K
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcCBiL1dlYkNvcmUv
aHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcAppbmRleCA3Y2M1NTY1Li5hY2RkZDUxIDEwMDY0NAot
LS0gYS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAKKysrIGIvV2ViQ29yZS9odG1s
L0hUTUxJbnB1dEVsZW1lbnQuY3BwCkBAIC01OSw3ICs1OSw5IEBACiAjaW5jbHVkZSAiUmVuZGVy
VGV4dC5oIgogI2luY2x1ZGUgIlJlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5oIgogI2luY2x1
ZGUgIlJlbmRlclRoZW1lLmgiCisjaW5jbHVkZSAiU3RyaW5nSGFzaC5oIgogI2luY2x1ZGUgIlRl
eHRFdmVudC5oIgorI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL01hdGhF
eHRyYXMuaD4KICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAKQEAgLTEzNCw2ICsxMzYs
MTIgQEAgYm9vbCBIVE1MSW5wdXRFbGVtZW50Ojp2YWx1ZU1pc3NpbmcoKSBjb25zdAogICAgICAg
ICBjYXNlIFBBU1NXT1JEOgogICAgICAgICBjYXNlIE5VTUJFUjoKICAgICAgICAgY2FzZSBGSUxF
OgorICAgICAgICBjYXNlIERBVEVUSU1FOgorICAgICAgICBjYXNlIERBVEU6CisgICAgICAgIGNh
c2UgTU9OVEg6CisgICAgICAgIGNhc2UgV0VFSzoKKyAgICAgICAgY2FzZSBUSU1FOgorICAgICAg
ICBjYXNlIERBVEVUSU1FTE9DQUw6CiAgICAgICAgICAgICByZXR1cm4gdmFsdWUoKS5pc0VtcHR5
KCk7CiAgICAgICAgIGNhc2UgQ0hFQ0tCT1g6CiAgICAgICAgICAgICByZXR1cm4gIWNoZWNrZWQo
KTsKQEAgLTE3MCw2ICsxNzgsMTIgQEAgYm9vbCBIVE1MSW5wdXRFbGVtZW50OjpwYXR0ZXJuTWlz
bWF0Y2goKSBjb25zdAogICAgICAgICBjYXNlIFJBTkdFOgogICAgICAgICBjYXNlIE5VTUJFUjoK
ICAgICAgICAgY2FzZSBDT0xPUjoKKyAgICAgICAgY2FzZSBEQVRFVElNRToKKyAgICAgICAgY2Fz
ZSBEQVRFOgorICAgICAgICBjYXNlIE1PTlRIOgorICAgICAgICBjYXNlIFdFRUs6CisgICAgICAg
IGNhc2UgVElNRToKKyAgICAgICAgY2FzZSBEQVRFVElNRUxPQ0FMOgogICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOwogICAgICAgICBjYXNlIFRFWFQ6CiAgICAgICAgIGNhc2UgU0VBUkNIOgpAQCAt
MjE3LDE1ICsyMzEsMjEgQEAgYm9vbCBIVE1MSW5wdXRFbGVtZW50Ojp0b29Mb25nKCkgY29uc3QK
ICAgICBjYXNlIEJVVFRPTjoKICAgICBjYXNlIENIRUNLQk9YOgogICAgIGNhc2UgQ09MT1I6Cisg
ICAgY2FzZSBEQVRFOgorICAgIGNhc2UgREFURVRJTUU6CisgICAgY2FzZSBEQVRFVElNRUxPQ0FM
OgogICAgIGNhc2UgRklMRToKICAgICBjYXNlIEhJRERFTjoKICAgICBjYXNlIElNQUdFOgogICAg
IGNhc2UgSVNJTkRFWDoKKyAgICBjYXNlIE1PTlRIOgogICAgIGNhc2UgTlVNQkVSOgogICAgIGNh
c2UgUkFESU86CiAgICAgY2FzZSBSQU5HRToKICAgICBjYXNlIFJFU0VUOgogICAgIGNhc2UgU1VC
TUlUOgorICAgIGNhc2UgVElNRToKKyAgICBjYXNlIFdFRUs6CiAgICAgICAgIHJldHVybiBmYWxz
ZTsKICAgICB9CiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CkBAIC0zMTYsNDQgKzMzNiw0NCBA
QCB2b2lkIEhUTUxJbnB1dEVsZW1lbnQ6OnNldFR5cGUoY29uc3QgU3RyaW5nJiB0KQogICAgICAg
ICBzZXRBdHRyaWJ1dGUodHlwZUF0dHIsIHQpOwogfQogCit0eXBlZGVmIEhhc2hNYXA8U3RyaW5n
LCBIVE1MSW5wdXRFbGVtZW50OjpJbnB1dFR5cGUsIENhc2VGb2xkaW5nSGFzaD4gSW5wdXRUeXBl
TWFwOworc3RhdGljIGNvbnN0IElucHV0VHlwZU1hcCogY3JlYXRlVHlwZU1hcCgpCit7CisgICAg
SW5wdXRUeXBlTWFwKiBtYXAgPSBuZXcgSW5wdXRUeXBlTWFwOworICAgIG1hcC0+YWRkKCJidXR0
b24iLCBIVE1MSW5wdXRFbGVtZW50OjpCVVRUT04pOworICAgIG1hcC0+YWRkKCJjaGVja2JveCIs
IEhUTUxJbnB1dEVsZW1lbnQ6OkNIRUNLQk9YKTsKKyAgICBtYXAtPmFkZCgiY29sb3IiLCBIVE1M
SW5wdXRFbGVtZW50OjpDT0xPUik7CisgICAgbWFwLT5hZGQoImRhdGUiLCBIVE1MSW5wdXRFbGVt
ZW50OjpEQVRFKTsKKyAgICBtYXAtPmFkZCgiZGF0ZXRpbWUiLCBIVE1MSW5wdXRFbGVtZW50OjpE
QVRFVElNRSk7CisgICAgbWFwLT5hZGQoImRhdGV0aW1lLWxvY2FsIiwgSFRNTElucHV0RWxlbWVu
dDo6REFURVRJTUVMT0NBTCk7CisgICAgbWFwLT5hZGQoImVtYWlsIiwgSFRNTElucHV0RWxlbWVu
dDo6RU1BSUwpOworICAgIG1hcC0+YWRkKCJmaWxlIiwgSFRNTElucHV0RWxlbWVudDo6RklMRSk7
CisgICAgbWFwLT5hZGQoImhpZGRlbiIsIEhUTUxJbnB1dEVsZW1lbnQ6OkhJRERFTik7CisgICAg
bWFwLT5hZGQoImltYWdlIiwgSFRNTElucHV0RWxlbWVudDo6SU1BR0UpOworICAgIG1hcC0+YWRk
KCJraHRtbF9pc2luZGV4IiwgSFRNTElucHV0RWxlbWVudDo6SVNJTkRFWCk7CisgICAgbWFwLT5h
ZGQoIm1vbnRoIiwgSFRNTElucHV0RWxlbWVudDo6TU9OVEgpOworICAgIG1hcC0+YWRkKCJudW1i
ZXIiLCBIVE1MSW5wdXRFbGVtZW50OjpOVU1CRVIpOworICAgIG1hcC0+YWRkKCJwYXNzd29yZCIs
IEhUTUxJbnB1dEVsZW1lbnQ6OlBBU1NXT1JEKTsKKyAgICBtYXAtPmFkZCgicmFkaW8iLCBIVE1M
SW5wdXRFbGVtZW50OjpSQURJTyk7CisgICAgbWFwLT5hZGQoInJhbmdlIiwgSFRNTElucHV0RWxl
bWVudDo6UkFOR0UpOworICAgIG1hcC0+YWRkKCJyZXNldCIsIEhUTUxJbnB1dEVsZW1lbnQ6OlJF
U0VUKTsKKyAgICBtYXAtPmFkZCgic2VhcmNoIiwgSFRNTElucHV0RWxlbWVudDo6U0VBUkNIKTsK
KyAgICBtYXAtPmFkZCgic3VibWl0IiwgSFRNTElucHV0RWxlbWVudDo6U1VCTUlUKTsKKyAgICBt
YXAtPmFkZCgidGVsIiwgSFRNTElucHV0RWxlbWVudDo6VEVMRVBIT05FKTsKKyAgICBtYXAtPmFk
ZCgidGltZSIsIEhUTUxJbnB1dEVsZW1lbnQ6OlRJTUUpOworICAgIG1hcC0+YWRkKCJ1cmwiLCBI
VE1MSW5wdXRFbGVtZW50OjpVUkwpOworICAgIG1hcC0+YWRkKCJ3ZWVrIiwgSFRNTElucHV0RWxl
bWVudDo6V0VFSyk7CisgICAgLy8gZ2V0KCkgd2l0aCB1bnJlZ2lzdGVyZWQgbmFtZXMgcmV0dXJu
cyBIVE1MSW5wdXRFbGVtZW50OjpURVhULgorICAgIEFTU0VSVChIYXNoVHJhaXRzPEhUTUxJbnB1
dEVsZW1lbnQ6OklucHV0VHlwZT46OmVtcHR5VmFsdWUoKSA9PSBIVE1MSW5wdXRFbGVtZW50OjpU
RVhUKTsKKyAgICByZXR1cm4gbWFwOworfQorCiB2b2lkIEhUTUxJbnB1dEVsZW1lbnQ6OnNldElu
cHV0VHlwZShjb25zdCBTdHJpbmcmIHQpCiB7CisgICAgc3RhdGljIGNvbnN0IElucHV0VHlwZU1h
cCogdHlwZU1hcCA9IGNyZWF0ZVR5cGVNYXAoKTsKICAgICBJbnB1dFR5cGUgbmV3VHlwZTsKLSAg
ICAKLSAgICBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UodCwgInBhc3N3b3JkIikpCi0gICAgICAgIG5l
d1R5cGUgPSBQQVNTV09SRDsKLSAgICBlbHNlIGlmIChlcXVhbElnbm9yaW5nQ2FzZSh0LCAiY2hl
Y2tib3giKSkKLSAgICAgICAgbmV3VHlwZSA9IENIRUNLQk9YOwotICAgIGVsc2UgaWYgKGVxdWFs
SWdub3JpbmdDYXNlKHQsICJyYWRpbyIpKQotICAgICAgICBuZXdUeXBlID0gUkFESU87Ci0gICAg
ZWxzZSBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UodCwgInN1Ym1pdCIpKQotICAgICAgICBuZXdUeXBl
ID0gU1VCTUlUOwotICAgIGVsc2UgaWYgKGVxdWFsSWdub3JpbmdDYXNlKHQsICJyZXNldCIpKQot
ICAgICAgICBuZXdUeXBlID0gUkVTRVQ7Ci0gICAgZWxzZSBpZiAoZXF1YWxJZ25vcmluZ0Nhc2Uo
dCwgImZpbGUiKSkKLSAgICAgICAgbmV3VHlwZSA9IEZJTEU7Ci0gICAgZWxzZSBpZiAoZXF1YWxJ
Z25vcmluZ0Nhc2UodCwgImhpZGRlbiIpKQotICAgICAgICBuZXdUeXBlID0gSElEREVOOwotICAg
IGVsc2UgaWYgKGVxdWFsSWdub3JpbmdDYXNlKHQsICJpbWFnZSIpKQotICAgICAgICBuZXdUeXBl
ID0gSU1BR0U7Ci0gICAgZWxzZSBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UodCwgImJ1dHRvbiIpKQot
ICAgICAgICBuZXdUeXBlID0gQlVUVE9OOwotICAgIGVsc2UgaWYgKGVxdWFsSWdub3JpbmdDYXNl
KHQsICJraHRtbF9pc2luZGV4IikpCi0gICAgICAgIG5ld1R5cGUgPSBJU0lOREVYOwotICAgIGVs
c2UgaWYgKGVxdWFsSWdub3JpbmdDYXNlKHQsICJzZWFyY2giKSkKLSAgICAgICAgbmV3VHlwZSA9
IFNFQVJDSDsKLSAgICBlbHNlIGlmIChlcXVhbElnbm9yaW5nQ2FzZSh0LCAicmFuZ2UiKSkKLSAg
ICAgICAgbmV3VHlwZSA9IFJBTkdFOwotICAgIGVsc2UgaWYgKGVxdWFsSWdub3JpbmdDYXNlKHQs
ICJlbWFpbCIpKQotICAgICAgICBuZXdUeXBlID0gRU1BSUw7Ci0gICAgZWxzZSBpZiAoZXF1YWxJ
Z25vcmluZ0Nhc2UodCwgIm51bWJlciIpKQotICAgICAgICBuZXdUeXBlID0gTlVNQkVSOwotICAg
IGVsc2UgaWYgKGVxdWFsSWdub3JpbmdDYXNlKHQsICJ0ZWwiKSkKLSAgICAgICAgbmV3VHlwZSA9
IFRFTEVQSE9ORTsKLSAgICBlbHNlIGlmIChlcXVhbElnbm9yaW5nQ2FzZSh0LCAidXJsIikpCi0g
ICAgICAgIG5ld1R5cGUgPSBVUkw7Ci0gICAgZWxzZSBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UodCwg
ImNvbG9yIikpCi0gICAgICAgIG5ld1R5cGUgPSBDT0xPUjsKKyAgICBpZiAoIXQuaXNOdWxsKCkp
ICAvLyBnZXQoKSB3aXRoIGEgbnVsbCBzdHJpbmcgbWFrZXMgY3Jhc2guCisgICAgICAgIG5ld1R5
cGUgPSB0eXBlTWFwLT5nZXQodCk7CiAgICAgZWxzZQogICAgICAgICBuZXdUeXBlID0gVEVYVDsK
IApAQCAtNDI1LDgxICs0NDUsNDIgQEAgdm9pZCBIVE1MSW5wdXRFbGVtZW50OjpzZXRJbnB1dFR5
cGUoY29uc3QgU3RyaW5nJiB0KQogICAgICAgICBtX2ltYWdlTG9hZGVyLmNsZWFyKCk7CiB9CiAK
LWNvbnN0IEF0b21pY1N0cmluZyYgSFRNTElucHV0RWxlbWVudDo6Zm9ybUNvbnRyb2xUeXBlKCkg
Y29uc3QKK3N0YXRpYyBjb25zdCBWZWN0b3I8QXRvbWljU3RyaW5nPiogY3JlYXRlRm9ybUNvbnRy
b2xUeXBlcygpCiB7CisgICAgVmVjdG9yPEF0b21pY1N0cmluZz4qIHR5cGVzID0gbmV3IFZlY3Rv
cjxBdG9taWNTdHJpbmc+KEhUTUxJbnB1dEVsZW1lbnQ6Ok1BWF9JTlBVVF9UWVBFUyk7CiAgICAg
Ly8gbmVlZHMgdG8gYmUgbG93ZXJjYXNlIGFjY29yZGluZyB0byBET00gc3BlYwotICAgIHN3aXRj
aCAoaW5wdXRUeXBlKCkpIHsKLSAgICAgICAgY2FzZSBCVVRUT046IHsKLSAgICAgICAgICAgIERF
RklORV9TVEFUSUNfTE9DQUwoY29uc3QgQXRvbWljU3RyaW5nLCBidXR0b24sICgiYnV0dG9uIikp
OwotICAgICAgICAgICAgcmV0dXJuIGJ1dHRvbjsKLSAgICAgICAgfQotICAgICAgICBjYXNlIENI
RUNLQk9YOiB7Ci0gICAgICAgICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0IEF0b21pY1N0
cmluZywgY2hlY2tib3gsICgiY2hlY2tib3giKSk7Ci0gICAgICAgICAgICByZXR1cm4gY2hlY2ti
b3g7Ci0gICAgICAgIH0KLSAgICAgICAgY2FzZSBDT0xPUjogewotICAgICAgICAgICAgREVGSU5F
X1NUQVRJQ19MT0NBTChjb25zdCBBdG9taWNTdHJpbmcsIGNvbG9yLCAoImNvbG9yIikpOwotICAg
ICAgICAgICAgcmV0dXJuIGNvbG9yOwotICAgICAgICB9Ci0gICAgICAgIGNhc2UgRU1BSUw6IHsK
LSAgICAgICAgICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgQXRvbWljU3RyaW5nLCBlbWFp
bCwgKCJlbWFpbCIpKTsKLSAgICAgICAgICAgIHJldHVybiBlbWFpbDsKLSAgICAgICAgfQotICAg
ICAgICBjYXNlIEZJTEU6IHsKLSAgICAgICAgICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3Qg
QXRvbWljU3RyaW5nLCBmaWxlLCAoImZpbGUiKSk7Ci0gICAgICAgICAgICByZXR1cm4gZmlsZTsK
LSAgICAgICAgfQotICAgICAgICBjYXNlIEhJRERFTjogewotICAgICAgICAgICAgREVGSU5FX1NU
QVRJQ19MT0NBTChjb25zdCBBdG9taWNTdHJpbmcsIGhpZGRlbiwgKCJoaWRkZW4iKSk7Ci0gICAg
ICAgICAgICByZXR1cm4gaGlkZGVuOwotICAgICAgICB9Ci0gICAgICAgIGNhc2UgSU1BR0U6IHsK
LSAgICAgICAgICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgQXRvbWljU3RyaW5nLCBpbWFn
ZSwgKCJpbWFnZSIpKTsKLSAgICAgICAgICAgIHJldHVybiBpbWFnZTsKLSAgICAgICAgfQotICAg
ICAgICBjYXNlIElTSU5ERVg6Ci0gICAgICAgICAgICByZXR1cm4gZW1wdHlBdG9tOwotICAgICAg
ICBjYXNlIE5VTUJFUjogewotICAgICAgICAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBB
dG9taWNTdHJpbmcsIG51bWJlciwgKCJudW1iZXIiKSk7Ci0gICAgICAgICAgICByZXR1cm4gbnVt
YmVyOwotICAgICAgICB9Ci0gICAgICAgIGNhc2UgUEFTU1dPUkQ6IHsKLSAgICAgICAgICAgIERF
RklORV9TVEFUSUNfTE9DQUwoY29uc3QgQXRvbWljU3RyaW5nLCBwYXNzd29yZCwgKCJwYXNzd29y
ZCIpKTsKLSAgICAgICAgICAgIHJldHVybiBwYXNzd29yZDsKLSAgICAgICAgfQotICAgICAgICBj
YXNlIFJBRElPOiB7Ci0gICAgICAgICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0IEF0b21p
Y1N0cmluZywgcmFkaW8sICgicmFkaW8iKSk7Ci0gICAgICAgICAgICByZXR1cm4gcmFkaW87Ci0g
ICAgICAgIH0KLSAgICAgICAgY2FzZSBSQU5HRTogewotICAgICAgICAgICAgREVGSU5FX1NUQVRJ
Q19MT0NBTChjb25zdCBBdG9taWNTdHJpbmcsIHJhbmdlLCAoInJhbmdlIikpOwotICAgICAgICAg
ICAgcmV0dXJuIHJhbmdlOwotICAgICAgICB9Ci0gICAgICAgIGNhc2UgUkVTRVQ6IHsKLSAgICAg
ICAgICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgQXRvbWljU3RyaW5nLCByZXNldCwgKCJy
ZXNldCIpKTsKLSAgICAgICAgICAgIHJldHVybiByZXNldDsKLSAgICAgICAgfQotICAgICAgICBj
YXNlIFNFQVJDSDogewotICAgICAgICAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBBdG9t
aWNTdHJpbmcsIHNlYXJjaCwgKCJzZWFyY2giKSk7Ci0gICAgICAgICAgICByZXR1cm4gc2VhcmNo
OwotICAgICAgICB9Ci0gICAgICAgIGNhc2UgU1VCTUlUOiB7Ci0gICAgICAgICAgICBERUZJTkVf
U1RBVElDX0xPQ0FMKGNvbnN0IEF0b21pY1N0cmluZywgc3VibWl0LCAoInN1Ym1pdCIpKTsKLSAg
ICAgICAgICAgIHJldHVybiBzdWJtaXQ7Ci0gICAgICAgIH0KLSAgICAgICAgY2FzZSBURUxFUEhP
TkU6IHsKLSAgICAgICAgICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgQXRvbWljU3RyaW5n
LCB0ZWxlcGhvbmUsICgidGVsIikpOwotICAgICAgICAgICAgcmV0dXJuIHRlbGVwaG9uZTsKLSAg
ICAgICAgfQotICAgICAgICBjYXNlIFRFWFQ6IHsKLSAgICAgICAgICAgIERFRklORV9TVEFUSUNf
TE9DQUwoY29uc3QgQXRvbWljU3RyaW5nLCB0ZXh0LCAoInRleHQiKSk7Ci0gICAgICAgICAgICBy
ZXR1cm4gdGV4dDsKLSAgICAgICAgfQotICAgICAgICBjYXNlIFVSTDogewotICAgICAgICAgICAg
REVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBBdG9taWNTdHJpbmcsIHVybCwgKCJ1cmwiKSk7Ci0g
ICAgICAgICAgICByZXR1cm4gdXJsOwotICAgICAgICB9Ci0gICAgfQorICAgICgqdHlwZXMpW0hU
TUxJbnB1dEVsZW1lbnQ6OkJVVFRPTl0gPSAiYnV0dG9uIjsKKyAgICAoKnR5cGVzKVtIVE1MSW5w
dXRFbGVtZW50OjpDSEVDS0JPWF0gPSAiY2hlY2tib3giOworICAgICgqdHlwZXMpW0hUTUxJbnB1
dEVsZW1lbnQ6OkNPTE9SXSA9ICJjb2xvciI7CisgICAgKCp0eXBlcylbSFRNTElucHV0RWxlbWVu
dDo6REFURV0gPSAiZGF0ZSI7CisgICAgKCp0eXBlcylbSFRNTElucHV0RWxlbWVudDo6REFURVRJ
TUVdID0gImRhdGV0aW1lIjsKKyAgICAoKnR5cGVzKVtIVE1MSW5wdXRFbGVtZW50OjpEQVRFVElN
RUxPQ0FMXSA9ICJkYXRldGltZS1sb2NhbCI7CisgICAgKCp0eXBlcylbSFRNTElucHV0RWxlbWVu
dDo6RU1BSUxdID0gImVtYWlsIjsKKyAgICAoKnR5cGVzKVtIVE1MSW5wdXRFbGVtZW50OjpGSUxF
XSA9ICJmaWxlIjsKKyAgICAoKnR5cGVzKVtIVE1MSW5wdXRFbGVtZW50OjpISURERU5dID0gImhp
ZGRlbiI7CisgICAgKCp0eXBlcylbSFRNTElucHV0RWxlbWVudDo6SU1BR0VdID0gImltYWdlIjsK
KyAgICAoKnR5cGVzKVtIVE1MSW5wdXRFbGVtZW50OjpJU0lOREVYXSA9IGVtcHR5QXRvbTsKKyAg
ICAoKnR5cGVzKVtIVE1MSW5wdXRFbGVtZW50OjpNT05USF0gPSAibW9udGgiOworICAgICgqdHlw
ZXMpW0hUTUxJbnB1dEVsZW1lbnQ6Ok5VTUJFUl0gPSAibnVtYmVyIjsKKyAgICAoKnR5cGVzKVtI
VE1MSW5wdXRFbGVtZW50OjpQQVNTV09SRF0gPSAicGFzc3dvcmQiOworICAgICgqdHlwZXMpW0hU
TUxJbnB1dEVsZW1lbnQ6OlJBRElPXSA9ICJyYWRpbyI7CisgICAgKCp0eXBlcylbSFRNTElucHV0
RWxlbWVudDo6UkFOR0VdID0gInJhbmdlIjsKKyAgICAoKnR5cGVzKVtIVE1MSW5wdXRFbGVtZW50
OjpSRVNFVF0gPSAicmVzZXQiOworICAgICgqdHlwZXMpW0hUTUxJbnB1dEVsZW1lbnQ6OlNFQVJD
SF0gPSAic2VhcmNoIjsKKyAgICAoKnR5cGVzKVtIVE1MSW5wdXRFbGVtZW50OjpTVUJNSVRdID0g
InN1Ym1pdCI7CisgICAgKCp0eXBlcylbSFRNTElucHV0RWxlbWVudDo6VEVMRVBIT05FXSA9ICJ0
ZWwiOworICAgICgqdHlwZXMpW0hUTUxJbnB1dEVsZW1lbnQ6OlRFWFRdID0gInRleHQiOworICAg
ICgqdHlwZXMpW0hUTUxJbnB1dEVsZW1lbnQ6OlRJTUVdID0gInRpbWUiOworICAgICgqdHlwZXMp
W0hUTUxJbnB1dEVsZW1lbnQ6OlVSTF0gPSAidXJsIjsKKyAgICAoKnR5cGVzKVtIVE1MSW5wdXRF
bGVtZW50OjpXRUVLXSA9ICJ3ZWVrIjsKKyAgICByZXR1cm4gdHlwZXM7Cit9CisKK2NvbnN0IEF0
b21pY1N0cmluZyYgSFRNTElucHV0RWxlbWVudDo6Zm9ybUNvbnRyb2xUeXBlKCkgY29uc3QKK3sK
KyAgICBzdGF0aWMgY29uc3QgVmVjdG9yPEF0b21pY1N0cmluZz4qIGZvcm1Db250cm9sVHlwZXMg
PSBjcmVhdGVGb3JtQ29udHJvbFR5cGVzKCk7CisgICAgaWYgKHN0YXRpY19jYXN0PHNpemVfdD4o
aW5wdXRUeXBlKCkpIDwgZm9ybUNvbnRyb2xUeXBlcy0+c2l6ZSgpKQorICAgICAgICByZXR1cm4g
KCpmb3JtQ29udHJvbFR5cGVzKVtpbnB1dFR5cGUoKV07CiAgICAgcmV0dXJuIGVtcHR5QXRvbTsK
IH0KIApAQCAtNTExLDExICs0OTIsMTUgQEAgYm9vbCBIVE1MSW5wdXRFbGVtZW50OjpzYXZlRm9y
bUNvbnRyb2xTdGF0ZShTdHJpbmcmIHJlc3VsdCkgY29uc3QKICAgICBzd2l0Y2ggKGlucHV0VHlw
ZSgpKSB7CiAgICAgICAgIGNhc2UgQlVUVE9OOgogICAgICAgICBjYXNlIENPTE9SOgorICAgICAg
ICBjYXNlIERBVEU6CisgICAgICAgIGNhc2UgREFURVRJTUU6CisgICAgICAgIGNhc2UgREFURVRJ
TUVMT0NBTDoKICAgICAgICAgY2FzZSBFTUFJTDoKICAgICAgICAgY2FzZSBGSUxFOgogICAgICAg
ICBjYXNlIEhJRERFTjoKICAgICAgICAgY2FzZSBJTUFHRToKICAgICAgICAgY2FzZSBJU0lOREVY
OgorICAgICAgICBjYXNlIE1PTlRIOgogICAgICAgICBjYXNlIE5VTUJFUjoKICAgICAgICAgY2Fz
ZSBSQU5HRToKICAgICAgICAgY2FzZSBSRVNFVDoKQEAgLTUyMyw3ICs1MDgsOSBAQCBib29sIEhU
TUxJbnB1dEVsZW1lbnQ6OnNhdmVGb3JtQ29udHJvbFN0YXRlKFN0cmluZyYgcmVzdWx0KSBjb25z
dAogICAgICAgICBjYXNlIFNVQk1JVDoKICAgICAgICAgY2FzZSBURUxFUEhPTkU6CiAgICAgICAg
IGNhc2UgVEVYVDoKKyAgICAgICAgY2FzZSBUSU1FOgogICAgICAgICBjYXNlIFVSTDoKKyAgICAg
ICAgY2FzZSBXRUVLOgogICAgICAgICAgICAgcmVzdWx0ID0gdmFsdWUoKTsKICAgICAgICAgICAg
IHJldHVybiB0cnVlOwogICAgICAgICBjYXNlIENIRUNLQk9YOgpAQCAtNTQzLDExICs1MzAsMTUg
QEAgdm9pZCBIVE1MSW5wdXRFbGVtZW50OjpyZXN0b3JlRm9ybUNvbnRyb2xTdGF0ZShjb25zdCBT
dHJpbmcmIHN0YXRlKQogICAgIHN3aXRjaCAoaW5wdXRUeXBlKCkpIHsKICAgICAgICAgY2FzZSBC
VVRUT046CiAgICAgICAgIGNhc2UgQ09MT1I6CisgICAgICAgIGNhc2UgREFURToKKyAgICAgICAg
Y2FzZSBEQVRFVElNRToKKyAgICAgICAgY2FzZSBEQVRFVElNRUxPQ0FMOgogICAgICAgICBjYXNl
IEVNQUlMOgogICAgICAgICBjYXNlIEZJTEU6CiAgICAgICAgIGNhc2UgSElEREVOOgogICAgICAg
ICBjYXNlIElNQUdFOgogICAgICAgICBjYXNlIElTSU5ERVg6CisgICAgICAgIGNhc2UgTU9OVEg6
CiAgICAgICAgIGNhc2UgTlVNQkVSOgogICAgICAgICBjYXNlIFJBTkdFOgogICAgICAgICBjYXNl
IFJFU0VUOgpAQCAtNTU1LDcgKzU0Niw5IEBAIHZvaWQgSFRNTElucHV0RWxlbWVudDo6cmVzdG9y
ZUZvcm1Db250cm9sU3RhdGUoY29uc3QgU3RyaW5nJiBzdGF0ZSkKICAgICAgICAgY2FzZSBTVUJN
SVQ6CiAgICAgICAgIGNhc2UgVEVMRVBIT05FOgogICAgICAgICBjYXNlIFRFWFQ6CisgICAgICAg
IGNhc2UgVElNRToKICAgICAgICAgY2FzZSBVUkw6CisgICAgICAgIGNhc2UgV0VFSzoKICAgICAg
ICAgICAgIHNldFZhbHVlKHN0YXRlKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNl
IENIRUNLQk9YOgpAQCAtNjU1LDE0ICs2NDgsMjAgQEAgdm9pZCBIVE1MSW5wdXRFbGVtZW50Ojph
Y2Nlc3NLZXlBY3Rpb24oYm9vbCBzZW5kVG9BbnlFbGVtZW50KQogICAgICAgICAgICAgLy8gYSBu
by1vcCBmb3IgdGhpcyB0eXBlCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBDT0xP
UjoKKyAgICAgICAgY2FzZSBEQVRFOgorICAgICAgICBjYXNlIERBVEVUSU1FOgorICAgICAgICBj
YXNlIERBVEVUSU1FTE9DQUw6CiAgICAgICAgIGNhc2UgRU1BSUw6CiAgICAgICAgIGNhc2UgSVNJ
TkRFWDoKKyAgICAgICAgY2FzZSBNT05USDoKICAgICAgICAgY2FzZSBOVU1CRVI6CiAgICAgICAg
IGNhc2UgUEFTU1dPUkQ6CiAgICAgICAgIGNhc2UgU0VBUkNIOgogICAgICAgICBjYXNlIFRFTEVQ
SE9ORToKICAgICAgICAgY2FzZSBURVhUOgorICAgICAgICBjYXNlIFRJTUU6CiAgICAgICAgIGNh
c2UgVVJMOgorICAgICAgICBjYXNlIFdFRUs6CiAgICAgICAgICAgICAvLyBzaG91bGQgbmV2ZXIg
cmVzdG9yZSBwcmV2aW91cyBzZWxlY3Rpb24gaGVyZQogICAgICAgICAgICAgZm9jdXMoZmFsc2Up
OwogICAgICAgICAgICAgYnJlYWs7CkBAIC03OTQsMzAgKzc5Myw5IEBAIHZvaWQgSFRNTElucHV0
RWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoTWFwcGVkQXR0cmlidXRlICphdHRyKQogCiBi
b29sIEhUTUxJbnB1dEVsZW1lbnQ6OnJlbmRlcmVySXNOZWVkZWQoUmVuZGVyU3R5bGUgKnN0eWxl
KQogewotICAgIHN3aXRjaCAoaW5wdXRUeXBlKCkpIHsKLSAgICAgICAgY2FzZSBCVVRUT046Ci0g
ICAgICAgIGNhc2UgQ0hFQ0tCT1g6Ci0gICAgICAgIGNhc2UgQ09MT1I6Ci0gICAgICAgIGNhc2Ug
RU1BSUw6Ci0gICAgICAgIGNhc2UgRklMRToKLSAgICAgICAgY2FzZSBJTUFHRToKLSAgICAgICAg
Y2FzZSBJU0lOREVYOgotICAgICAgICBjYXNlIE5VTUJFUjoKLSAgICAgICAgY2FzZSBQQVNTV09S
RDoKLSAgICAgICAgY2FzZSBSQURJTzoKLSAgICAgICAgY2FzZSBSQU5HRToKLSAgICAgICAgY2Fz
ZSBSRVNFVDoKLSAgICAgICAgY2FzZSBTRUFSQ0g6Ci0gICAgICAgIGNhc2UgU1VCTUlUOgotICAg
ICAgICBjYXNlIFRFTEVQSE9ORToKLSAgICAgICAgY2FzZSBURVhUOgotICAgICAgICBjYXNlIFVS
TDoKLSAgICAgICAgICAgIHJldHVybiBIVE1MRm9ybUNvbnRyb2xFbGVtZW50V2l0aFN0YXRlOjpy
ZW5kZXJlcklzTmVlZGVkKHN0eWxlKTsKLSAgICAgICAgY2FzZSBISURERU46Ci0gICAgICAgICAg
ICByZXR1cm4gZmFsc2U7Ci0gICAgfQotICAgIEFTU0VSVChmYWxzZSk7Ci0gICAgcmV0dXJuIGZh
bHNlOworICAgIGlmIChpbnB1dFR5cGUoKSA9PSBISURERU4pCisgICAgICAgIHJldHVybiBmYWxz
ZTsKKyAgICByZXR1cm4gSFRNTEZvcm1Db250cm9sRWxlbWVudFdpdGhTdGF0ZTo6cmVuZGVyZXJJ
c05lZWRlZChzdHlsZSk7CiB9CiAKIFJlbmRlck9iamVjdCAqSFRNTElucHV0RWxlbWVudDo6Y3Jl
YXRlUmVuZGVyZXIoUmVuZGVyQXJlbmEgKmFyZW5hLCBSZW5kZXJTdHlsZSAqc3R5bGUpCkBAIC04
MzksMTQgKzgxNywyMCBAQCBSZW5kZXJPYmplY3QgKkhUTUxJbnB1dEVsZW1lbnQ6OmNyZWF0ZVJl
bmRlcmVyKFJlbmRlckFyZW5hICphcmVuYSwgUmVuZGVyU3R5bGUgKgogICAgICAgICBjYXNlIFJB
TkdFOgogICAgICAgICAgICAgcmV0dXJuIG5ldyAoYXJlbmEpIFJlbmRlclNsaWRlcih0aGlzKTsK
ICAgICAgICAgY2FzZSBDT0xPUjoKKyAgICAgICAgY2FzZSBEQVRFOgorICAgICAgICBjYXNlIERB
VEVUSU1FOgorICAgICAgICBjYXNlIERBVEVUSU1FTE9DQUw6CiAgICAgICAgIGNhc2UgRU1BSUw6
CiAgICAgICAgIGNhc2UgSVNJTkRFWDoKKyAgICAgICAgY2FzZSBNT05USDoKICAgICAgICAgY2Fz
ZSBOVU1CRVI6CiAgICAgICAgIGNhc2UgUEFTU1dPUkQ6CiAgICAgICAgIGNhc2UgU0VBUkNIOgog
ICAgICAgICBjYXNlIFRFTEVQSE9ORToKICAgICAgICAgY2FzZSBURVhUOgorICAgICAgICBjYXNl
IFRJTUU6CiAgICAgICAgIGNhc2UgVVJMOgorICAgICAgICBjYXNlIFdFRUs6CiAgICAgICAgICAg
ICByZXR1cm4gbmV3IChhcmVuYSkgUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lKHRoaXMsIHBs
YWNlaG9sZGVyU2hvdWxkQmVWaXNpYmxlKCkpOwogICAgIH0KICAgICBBU1NFUlQoZmFsc2UpOwpA
QCAtOTI2LDE2ICs5MTAsMjIgQEAgYm9vbCBIVE1MSW5wdXRFbGVtZW50OjphcHBlbmRGb3JtRGF0
YShGb3JtRGF0YUxpc3QmIGVuY29kaW5nLCBib29sIG11bHRpcGFydCkKIAogICAgIHN3aXRjaCAo
aW5wdXRUeXBlKCkpIHsKICAgICAgICAgY2FzZSBDT0xPUjoKKyAgICAgICAgY2FzZSBEQVRFOgor
ICAgICAgICBjYXNlIERBVEVUSU1FOgorICAgICAgICBjYXNlIERBVEVUSU1FTE9DQUw6CiAgICAg
ICAgIGNhc2UgRU1BSUw6CiAgICAgICAgIGNhc2UgSElEREVOOgogICAgICAgICBjYXNlIElTSU5E
RVg6CisgICAgICAgIGNhc2UgTU9OVEg6CiAgICAgICAgIGNhc2UgTlVNQkVSOgogICAgICAgICBj
YXNlIFBBU1NXT1JEOgogICAgICAgICBjYXNlIFJBTkdFOgogICAgICAgICBjYXNlIFNFQVJDSDoK
ICAgICAgICAgY2FzZSBURUxFUEhPTkU6CiAgICAgICAgIGNhc2UgVEVYVDoKKyAgICAgICAgY2Fz
ZSBUSU1FOgogICAgICAgICBjYXNlIFVSTDoKKyAgICAgICAgY2FzZSBXRUVLOgogICAgICAgICAg
ICAgLy8gYWx3YXlzIHN1Y2Nlc3NmdWwKICAgICAgICAgICAgIGVuY29kaW5nLmFwcGVuZERhdGEo
bmFtZSgpLCB2YWx1ZSgpKTsKICAgICAgICAgICAgIHJldHVybiB0cnVlOwpAQCAtMTAxMyw2ICsx
MDAzLDQwIEBAIHZvaWQgSFRNTElucHV0RWxlbWVudDo6cmVzZXQoKQogICAgIG1fdXNlRGVmYXVs
dENoZWNrZWQgPSB0cnVlOwogfQogCitib29sIEhUTUxJbnB1dEVsZW1lbnQ6OmlzVGV4dEZpZWxk
KCkgY29uc3QKK3sKKyAgICBzd2l0Y2ggKGlucHV0VHlwZSgpKSB7CisgICAgY2FzZSBDT0xPUjoK
KyAgICBjYXNlIERBVEU6CisgICAgY2FzZSBEQVRFVElNRToKKyAgICBjYXNlIERBVEVUSU1FTE9D
QUw6CisgICAgY2FzZSBFTUFJTDoKKyAgICBjYXNlIElTSU5ERVg6CisgICAgY2FzZSBNT05USDoK
KyAgICBjYXNlIE5VTUJFUjoKKyAgICBjYXNlIFBBU1NXT1JEOgorICAgIGNhc2UgU0VBUkNIOgor
ICAgIGNhc2UgVEVMRVBIT05FOgorICAgIGNhc2UgVEVYVDoKKyAgICBjYXNlIFRJTUU6CisgICAg
Y2FzZSBVUkw6CisgICAgY2FzZSBXRUVLOgorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICBjYXNl
IEJVVFRPTjoKKyAgICBjYXNlIENIRUNLQk9YOgorICAgIGNhc2UgRklMRToKKyAgICBjYXNlIEhJ
RERFTjoKKyAgICBjYXNlIElNQUdFOgorICAgIGNhc2UgUkFESU86CisgICAgY2FzZSBSQU5HRToK
KyAgICBjYXNlIFJFU0VUOgorICAgIGNhc2UgU1VCTUlUOgorICAgICAgICByZXR1cm4gZmFsc2U7
CisgICAgfQorICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiBmYWxzZTsKK30K
Kwogdm9pZCBIVE1MSW5wdXRFbGVtZW50OjpzZXRDaGVja2VkKGJvb2wgbm93Q2hlY2tlZCwgYm9v
bCBzZW5kQ2hhbmdlRXZlbnQpCiB7CiAgICAgaWYgKGNoZWNrZWQoKSA9PSBub3dDaGVja2VkKQpA
QCAtMTEwNCwxMSArMTEyOCwxNSBAQCBTdHJpbmcgSFRNTElucHV0RWxlbWVudDo6dmFsdWVXaXRo
RGVmYXVsdCgpIGNvbnN0CiAgICAgICAgICAgICBjYXNlIEJVVFRPTjoKICAgICAgICAgICAgIGNh
c2UgQ0hFQ0tCT1g6CiAgICAgICAgICAgICBjYXNlIENPTE9SOgorICAgICAgICAgICAgY2FzZSBE
QVRFOgorICAgICAgICAgICAgY2FzZSBEQVRFVElNRToKKyAgICAgICAgICAgIGNhc2UgREFURVRJ
TUVMT0NBTDoKICAgICAgICAgICAgIGNhc2UgRU1BSUw6CiAgICAgICAgICAgICBjYXNlIEZJTEU6
CiAgICAgICAgICAgICBjYXNlIEhJRERFTjoKICAgICAgICAgICAgIGNhc2UgSU1BR0U6CiAgICAg
ICAgICAgICBjYXNlIElTSU5ERVg6CisgICAgICAgICAgICBjYXNlIE1PTlRIOgogICAgICAgICAg
ICAgY2FzZSBOVU1CRVI6CiAgICAgICAgICAgICBjYXNlIFBBU1NXT1JEOgogICAgICAgICAgICAg
Y2FzZSBSQURJTzoKQEAgLTExMTYsNyArMTE0NCw5IEBAIFN0cmluZyBIVE1MSW5wdXRFbGVtZW50
Ojp2YWx1ZVdpdGhEZWZhdWx0KCkgY29uc3QKICAgICAgICAgICAgIGNhc2UgU0VBUkNIOgogICAg
ICAgICAgICAgY2FzZSBURUxFUEhPTkU6CiAgICAgICAgICAgICBjYXNlIFRFWFQ6CisgICAgICAg
ICAgICBjYXNlIFRJTUU6CiAgICAgICAgICAgICBjYXNlIFVSTDoKKyAgICAgICAgICAgIGNhc2Ug
V0VFSzoKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIGNhc2UgUkVTRVQ6CiAg
ICAgICAgICAgICAgICAgdiA9IHJlc2V0QnV0dG9uRGVmYXVsdExhYmVsKCk7CkBAIC0xMjExLDE2
ICsxMjQxLDIyIEBAIGJvb2wgSFRNTElucHV0RWxlbWVudDo6c3RvcmVzVmFsdWVTZXBhcmF0ZUZy
b21BdHRyaWJ1dGUoKSBjb25zdAogICAgICAgICBjYXNlIFNVQk1JVDoKICAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsKICAgICAgICAgY2FzZSBDT0xPUjoKKyAgICAgICAgY2FzZSBEQVRFOgorICAg
ICAgICBjYXNlIERBVEVUSU1FOgorICAgICAgICBjYXNlIERBVEVUSU1FTE9DQUw6CiAgICAgICAg
IGNhc2UgRU1BSUw6CiAgICAgICAgIGNhc2UgRklMRToKICAgICAgICAgY2FzZSBJU0lOREVYOgor
ICAgICAgICBjYXNlIE1PTlRIOgogICAgICAgICBjYXNlIE5VTUJFUjoKICAgICAgICAgY2FzZSBQ
QVNTV09SRDoKICAgICAgICAgY2FzZSBSQU5HRToKICAgICAgICAgY2FzZSBTRUFSQ0g6CiAgICAg
ICAgIGNhc2UgVEVMRVBIT05FOgogICAgICAgICBjYXNlIFRFWFQ6CisgICAgICAgIGNhc2UgVElN
RToKICAgICAgICAgY2FzZSBVUkw6CisgICAgICAgIGNhc2UgV0VFSzoKICAgICAgICAgICAgIHJl
dHVybiB0cnVlOwogICAgIH0KICAgICByZXR1cm4gZmFsc2U7CkBAIC0xMzg3LDE2ICsxNDIzLDIy
IEBAIHZvaWQgSFRNTElucHV0RWxlbWVudDo6ZGVmYXVsdEV2ZW50SGFuZGxlcihFdmVudCogZXZ0
KQogICAgICAgICAgICAgc3dpdGNoIChpbnB1dFR5cGUoKSkgewogICAgICAgICAgICAgICAgIGNh
c2UgQ0hFQ0tCT1g6CiAgICAgICAgICAgICAgICAgY2FzZSBDT0xPUjoKKyAgICAgICAgICAgICAg
ICBjYXNlIERBVEU6CisgICAgICAgICAgICAgICAgY2FzZSBEQVRFVElNRToKKyAgICAgICAgICAg
ICAgICBjYXNlIERBVEVUSU1FTE9DQUw6CiAgICAgICAgICAgICAgICAgY2FzZSBFTUFJTDoKICAg
ICAgICAgICAgICAgICBjYXNlIEhJRERFTjoKICAgICAgICAgICAgICAgICBjYXNlIElTSU5ERVg6
CisgICAgICAgICAgICAgICAgY2FzZSBNT05USDoKICAgICAgICAgICAgICAgICBjYXNlIE5VTUJF
UjoKICAgICAgICAgICAgICAgICBjYXNlIFBBU1NXT1JEOgogICAgICAgICAgICAgICAgIGNhc2Ug
UkFOR0U6CiAgICAgICAgICAgICAgICAgY2FzZSBTRUFSQ0g6CiAgICAgICAgICAgICAgICAgY2Fz
ZSBURUxFUEhPTkU6CiAgICAgICAgICAgICAgICAgY2FzZSBURVhUOgorICAgICAgICAgICAgICAg
IGNhc2UgVElNRToKICAgICAgICAgICAgICAgICBjYXNlIFVSTDoKKyAgICAgICAgICAgICAgICBj
YXNlIFdFRUs6CiAgICAgICAgICAgICAgICAgICAgIC8vIFNpbXVsYXRlIG1vdXNlIGNsaWNrIG9u
IHRoZSBkZWZhdWx0IGZvcm0gYnV0dG9uIGZvciBlbnRlciBmb3IgdGhlc2UgdHlwZXMgb2YgZWxl
bWVudHMuCiAgICAgICAgICAgICAgICAgICAgIGNsaWNrRGVmYXVsdEZvcm1CdXR0b24gPSB0cnVl
OwogICAgICAgICAgICAgICAgICAgICBicmVhazsKQEAgLTE1MTUsMTYgKzE1NTcsMjIgQEAgdm9p
ZCBIVE1MSW5wdXRFbGVtZW50OjpkZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50KiBldnQpCiAgICAg
ICAgICAgICAgICAgICAgICAgICBjbGlja0VsZW1lbnQgPSB0cnVlOwogICAgICAgICAgICAgICAg
ICAgICBicmVhazsKICAgICAgICAgICAgICAgICBjYXNlIENPTE9SOgorICAgICAgICAgICAgICAg
IGNhc2UgREFURToKKyAgICAgICAgICAgICAgICBjYXNlIERBVEVUSU1FOgorICAgICAgICAgICAg
ICAgIGNhc2UgREFURVRJTUVMT0NBTDoKICAgICAgICAgICAgICAgICBjYXNlIEVNQUlMOgogICAg
ICAgICAgICAgICAgIGNhc2UgSElEREVOOgogICAgICAgICAgICAgICAgIGNhc2UgSVNJTkRFWDoK
KyAgICAgICAgICAgICAgICBjYXNlIE1PTlRIOgogICAgICAgICAgICAgICAgIGNhc2UgTlVNQkVS
OgogICAgICAgICAgICAgICAgIGNhc2UgUEFTU1dPUkQ6CiAgICAgICAgICAgICAgICAgY2FzZSBS
QU5HRToKICAgICAgICAgICAgICAgICBjYXNlIFNFQVJDSDoKICAgICAgICAgICAgICAgICBjYXNl
IFRFTEVQSE9ORToKICAgICAgICAgICAgICAgICBjYXNlIFRFWFQ6CisgICAgICAgICAgICAgICAg
Y2FzZSBUSU1FOgogICAgICAgICAgICAgICAgIGNhc2UgVVJMOgorICAgICAgICAgICAgICAgIGNh
c2UgV0VFSzoKICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9CiAgICAg
ICAgIH0KQEAgLTE3NDUsNiArMTc5MywxMiBAQCBib29sIEhUTUxJbnB1dEVsZW1lbnQ6OmlzUmVx
dWlyZWRGb3JtQ29udHJvbCgpIGNvbnN0CiAgICAgICAgIGNhc2UgQ0hFQ0tCT1g6CiAgICAgICAg
IGNhc2UgUkFESU86CiAgICAgICAgIGNhc2UgRklMRToKKyAgICAgICAgY2FzZSBEQVRFVElNRToK
KyAgICAgICAgY2FzZSBEQVRFOgorICAgICAgICBjYXNlIE1PTlRIOgorICAgICAgICBjYXNlIFdF
RUs6CisgICAgICAgIGNhc2UgVElNRToKKyAgICAgICAgY2FzZSBEQVRFVElNRUxPQ0FMOgogICAg
ICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgIGNhc2UgSElEREVOOgogICAgICAgICBjYXNl
IFJBTkdFOgpAQCAtMTg2OSw3ICsxOTIzLDEzIEBAIEhUTUxEYXRhTGlzdEVsZW1lbnQqIEhUTUxJ
bnB1dEVsZW1lbnQ6OmRhdGFMaXN0KCkgY29uc3QKICAgICBjYXNlIEVNQUlMOgogICAgIGNhc2Ug
TlVNQkVSOgogICAgIGNhc2UgUkFOR0U6Ci0gICAgY2FzZSBDT0xPUjogeworICAgIGNhc2UgQ09M
T1I6CisgICAgY2FzZSBEQVRFVElNRToKKyAgICBjYXNlIERBVEU6CisgICAgY2FzZSBNT05USDoK
KyAgICBjYXNlIFdFRUs6CisgICAgY2FzZSBUSU1FOgorICAgIGNhc2UgREFURVRJTUVMT0NBTDog
ewogICAgICAgICBFbGVtZW50KiBlbGVtZW50ID0gZG9jdW1lbnQoKS0+Z2V0RWxlbWVudEJ5SWQo
Z2V0QXR0cmlidXRlKGxpc3RBdHRyKSk7CiAgICAgICAgIGlmIChlbGVtZW50ICYmIGVsZW1lbnQt
Pmhhc1RhZ05hbWUoZGF0YWxpc3RUYWcpKQogICAgICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0
PEhUTUxEYXRhTGlzdEVsZW1lbnQqPihlbGVtZW50KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRt
bC9IVE1MSW5wdXRFbGVtZW50LmggYi9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oCmlu
ZGV4IDBlN2RmNzMuLmIwNGIwNzQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRF
bGVtZW50LmgKKysrIGIvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaApAQCAtNDAsNyAr
NDAsNyBAQCBjbGFzcyBWaXNpYmxlU2VsZWN0aW9uOwogY2xhc3MgSFRNTElucHV0RWxlbWVudCA6
IHB1YmxpYyBIVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudCwgcHVibGljIElucHV0RWxlbWVudCB7
CiBwdWJsaWM6CiAgICAgZW51bSBJbnB1dFR5cGUgewotICAgICAgICBURVhULAorICAgICAgICBU
RVhUID0gMCwgIC8vIFRFWFQgbXVzdCBiZSAwIGJlY2F1c2UgaXQncyB0aGUgZGVmYXVsdCB0eXBl
LgogICAgICAgICBQQVNTV09SRCwKICAgICAgICAgSVNJTkRFWCwKICAgICAgICAgQ0hFQ0tCT1gs
CkBAIC01Nyw4ICs1NywxNSBAQCBwdWJsaWM6CiAgICAgICAgIE5VTUJFUiwKICAgICAgICAgVEVM
RVBIT05FLAogICAgICAgICBVUkwsCi0gICAgICAgIENPTE9SCisgICAgICAgIENPTE9SLAorICAg
ICAgICBEQVRFVElNRSwKKyAgICAgICAgREFURSwKKyAgICAgICAgTU9OVEgsCisgICAgICAgIFdF
RUssCisgICAgICAgIFRJTUUsCisgICAgICAgIERBVEVUSU1FTE9DQUwKICAgICB9OworICAgIHN0
YXRpYyBjb25zdCBpbnQgTUFYX0lOUFVUX1RZUEVTID0gREFURVRJTUVMT0NBTCArIDE7CiAgICAg
CiAgICAgZW51bSBBdXRvQ29tcGxldGVTZXR0aW5nIHsKICAgICAgICAgVW5pbml0aWFsaXplZCwK
QEAgLTk3LDcgKzEwNCw3IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgaXNUZXh0QnV0dG9uKCkgY29u
c3QgeyByZXR1cm4gbV90eXBlID09IFNVQk1JVCB8fCBtX3R5cGUgPT0gUkVTRVQgfHwgbV90eXBl
ID09IEJVVFRPTjsgfQogICAgIHZpcnR1YWwgYm9vbCBpc1JhZGlvQnV0dG9uKCkgY29uc3QgeyBy
ZXR1cm4gbV90eXBlID09IFJBRElPOyB9Ci0gICAgdmlydHVhbCBib29sIGlzVGV4dEZpZWxkKCkg
Y29uc3QgeyByZXR1cm4gbV90eXBlID09IFRFWFQgfHwgbV90eXBlID09IFBBU1NXT1JEIHx8IG1f
dHlwZSA9PSBTRUFSQ0ggfHwgbV90eXBlID09IElTSU5ERVggfHwgbV90eXBlID09IEVNQUlMIHx8
IG1fdHlwZSA9PSBOVU1CRVIgfHwgbV90eXBlID09IFRFTEVQSE9ORSB8fCBtX3R5cGUgPT0gVVJM
IHx8IG1fdHlwZSA9PSBDT0xPUjsgfQorICAgIHZpcnR1YWwgYm9vbCBpc1RleHRGaWVsZCgpIGNv
bnN0OwogICAgIHZpcnR1YWwgYm9vbCBpc1NlYXJjaEZpZWxkKCkgY29uc3QgeyByZXR1cm4gbV90
eXBlID09IFNFQVJDSDsgfQogICAgIHZpcnR1YWwgYm9vbCBpc0lucHV0VHlwZUhpZGRlbigpIGNv
bnN0IHsgcmV0dXJuIG1fdHlwZSA9PSBISURERU47IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNQYXNz
d29yZEZpZWxkKCkgY29uc3QgeyByZXR1cm4gbV90eXBlID09IFBBU1NXT1JEOyB9Ci0tIAoxLjYu
My4zCgo=
</data>
<flag name="review"
          id="21721"
          type_id="1"
          status="-"
          setter="eric"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>41146</attachid>
            <date>2009-10-13 19:34:35 -0700</date>
            <delta_ts>2009-11-09 01:36:20 -0800</delta_ts>
            <desc>Patch part 2: ISO 8601 parser (rev.3)</desc>
            <filename>0001-iso8601-parser-2.patch</filename>
            <type>text/plain</type>
            <size>35322</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">RnJvbSBmNDY2MTE0OTVlNGZiMDQwMmU3OTNmMmIyMTUwM2MwMjI4ZWJlM2YzIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBLZW50IFRhbXVyYSA8dGtlbnRAY2hyb21pdW0ub3JnPgpEYXRl
OiBUaHUsIDEwIFNlcCAyMDA5IDIwOjQ5OjQzICswOTAwClN1YmplY3Q6IFtQQVRDSF0gaXNvODYw
MS1wYXJzZXItMgoKLS0tCiBKYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAg
ICAgICAgICAgICB8ICAgNDggKysrCiBKYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5hbSAgICAg
ICAgICAgICAgICAgICAgICB8ICAgIDIgKwogSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUu
ZXhwICAgICAgICAgICAgICAgICAgfCAgICA2ICsKIEphdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRD
b3JlLmd5cGkgICAgICAgICAgICAgICAgIHwgICAgMiArCiBKYXZhU2NyaXB0Q29yZS9KYXZhU2Ny
aXB0Q29yZS5wcmkgICAgICAgICAgICAgICAgICB8ICAgIDEgKwogLi4uL0phdmFTY3JpcHRDb3Jl
L0phdmFTY3JpcHRDb3JlLmRlZiAgICAgICAgICAgICAgfCAgICA2ICsKIC4uLi9KYXZhU2NyaXB0
Q29yZS9KYXZhU2NyaXB0Q29yZV9kZWJ1Zy5kZWYgICAgICAgIHwgICAgNiArCiAuLi4vSmF2YVNj
cmlwdENvcmUudmNwcm9qL1dURi9XVEYudmNwcm9qICAgICAgICAgICB8ICAgIDggKwogLi4uL0ph
dmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogICAgICAgfCAgICA4ICsKIEph
dmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlU291cmNlcy5ia2wgICAgICAgICAgIHwgICAgMSAr
CiBKYXZhU2NyaXB0Q29yZS93dGYvRGF0ZU1hdGguY3BwICAgICAgICAgICAgICAgICAgICB8ICAg
MjAgKy0KIEphdmFTY3JpcHRDb3JlL3d0Zi9EYXRlTWF0aC5oICAgICAgICAgICAgICAgICAgICAg
IHwgICA0NCArKy0KIEphdmFTY3JpcHRDb3JlL3d0Zi9JU09EYXRlUGFyc2VyLmNwcCAgICAgICAg
ICAgICAgIHwgIDQyMCArKysrKysrKysrKysrKysrKysrKwogSmF2YVNjcmlwdENvcmUvd3RmL0lT
T0RhdGVQYXJzZXIuaCAgICAgICAgICAgICAgICAgfCAgIDYzICsrKwogMTQgZmlsZXMgY2hhbmdl
ZCwgNjE2IGluc2VydGlvbnMoKyksIDE5IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0
IEphdmFTY3JpcHRDb3JlL3d0Zi9JU09EYXRlUGFyc2VyLmNwcAogY3JlYXRlIG1vZGUgMTAwNjQ0
IEphdmFTY3JpcHRDb3JlL3d0Zi9JU09EYXRlUGFyc2VyLmgKCmRpZmYgLS1naXQgYS9KYXZhU2Ny
aXB0Q29yZS9DaGFuZ2VMb2cgYi9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKaW5kZXggNmI3MGQx
MC4uOTdkZDg3ZCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCisrKyBiL0ph
dmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUxIEBACisyMDA5LTA5LTA4ICBLZW50
IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBJbXBsZW1lbnQgc29tZSBwYXJzZXJzIGZvciBJU08gODYw
MS4gIFRoZXkncmUgZ29pbmcgdG8gYmUgdXNlZCBmb3IgSFRNTDUgSU5QVVQgdHlwZXMuCisgICAg
ICAgIFRoaXMgY2hhbmdlIGhhcyBubyB0ZXN0cyBiZWNhdXNlIHRoZSBJU08gODYwMSBwYXJzZXJz
IGFyZSBub3QgdXNlZCB5ZXQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yOTAwNAorCisgICAgICAgICogR05VbWFrZWZpbGUuYW06IEFkZCBuZXcgZmls
ZXMuCisgICAgICAgICogSmF2YVNjcmlwdENvcmUuZXhwOiBFeHBvcnQgbmV3IGZ1bmN0aW9ucyBv
ZiBJU09EYXRlUGFyc2VyLgorICAgICAgICAqIEphdmFTY3JpcHRDb3JlLmd5cGk6IEFkZCBuZXcg
ZmlsZXMuCisgICAgICAgICogSmF2YVNjcmlwdENvcmUucHJpOiBBZGQgbmV3IGZpbGVzLgorICAg
ICAgICAqIEphdmFTY3JpcHRDb3JlLnZjcHJvai9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29y
ZS5kZWY6IEV4cG9ydCBuZXcgZnVuY3Rpb25zIG9mIElTT0RhdGVQYXJzZXIuCisgICAgICAgICog
SmF2YVNjcmlwdENvcmUudmNwcm9qL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlX2RlYnVn
LmRlZjogRXhwb3J0IG5ldyBmdW5jdGlvbnMgb2YgSVNPRGF0ZVBhcnNlci4KKyAgICAgICAgKiBK
YXZhU2NyaXB0Q29yZS52Y3Byb2ovV1RGL1dURi52Y3Byb2o6IEFkZCBuZXcgZmlsZXMuCisgICAg
ICAgICogSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajogQWRkIG5ldyBm
aWVscy4KKyAgICAgICAgKiBKYXZhU2NyaXB0Q29yZVNvdXJjZXMuYmtsOiBBZGQgbmV3IGZpbGVz
LgorICAgICAgICAqIHd0Zi9EYXRlTWF0aC5jcHA6CisgICAgICAgIChXVEY6OmdyZWdvcmlhbkRh
dGVUaW1lVG9NUyk6CisgICAgICAgIChXVEY6Om1zVG9HcmVnb3JpYW5EYXRlVGltZSk6CisgICAg
ICAgIChXVEY6OnBhcnNlRGF0ZUZyb21OdWxsVGVybWluYXRlZENoYXJhY3RlcnMpOgorICAgICAg
ICAqIHd0Zi9EYXRlTWF0aC5oOiBBZCB3ZWVrIGFuZCBtaWxsaXNlY29uZCBmaWVsZHMsIHVzZSBm
dWxsWWVhcigpIGFuZCBzZXRGdWxsWWVhcigpLgorICAgICAgICAoV1RGOjpHcmVnb3JpYW5EYXRl
VGltZTo6R3JlZ29yaWFuRGF0ZVRpbWUpOgorICAgICAgICAoV1RGOjpHcmVnb3JpYW5EYXRlVGlt
ZTo6b3BlcmF0b3IgdG0pOgorICAgICAgICAoV1RGOjpHcmVnb3JpYW5EYXRlVGltZTo6Y29weUZy
b20pOgorICAgICAgICAoV1RGOjpHcmVnb3JpYW5EYXRlVGltZTo6ZnVsbFllYXIpOgorICAgICAg
ICAoV1RGOjpHcmVnb3JpYW5EYXRlVGltZTo6c2V0RnVsbFllYXIpOgorICAgICAgICAoV1RGOjpH
cmVnb3JpYW5EYXRlVGltZTo6KToKKyAgICAgICAgKFdURjo6aXNMZWFwWWVhcik6IE1vdmVkIGZy
b20gRGF0ZU1hdGguY3BwLgorICAgICAgICAqIHd0Zi9JU09EYXRlUGFyc2VyLmNwcDogQWRkZWQu
CisgICAgICAgIChXVEY6Oik6CisgICAgICAgIChXVEY6Om1heERheU9mTW9udGgpOgorICAgICAg
ICAoV1RGOjpkYXlPZldlZWspOgorICAgICAgICAoV1RGOjptYXhXZWVrKToKKyAgICAgICAgKFdU
Rjo6Y291bnREaWdpdHMpOgorICAgICAgICAoV1RGOjp0b0ludCk6CisgICAgICAgIChXVEY6OnBh
cnNlSVNPWWVhcik6CisgICAgICAgIChXVEY6OmFkZERheSk6CisgICAgICAgIChXVEY6OmFkZE1p
bnV0ZSk6CisgICAgICAgIChXVEY6OnBhcnNlSVNPVGltZVpvbmUpOgorICAgICAgICAoV1RGOjpw
YXJzZUlTT01vbnRoKToKKyAgICAgICAgKFdURjo6cGFyc2VJU09EYXRlKToKKyAgICAgICAgKFdU
Rjo6cGFyc2VJU09XZWVrKToKKyAgICAgICAgKFdURjo6cGFyc2VJU09UaW1lKToKKyAgICAgICAg
KFdURjo6cGFyc2VJU09EYXRlVGltZUxvY2FsKToKKyAgICAgICAgKFdURjo6cGFyc2VJU09EYXRl
VGltZSk6CisgICAgICAgICogd3RmL0lTT0RhdGVQYXJzZXIuaDogQWRkZWQuCisKIDIwMDktMTAt
MTMgIExhc3psbyBHb21ib3MgIDxsYXN6bG8uMS5nb21ib3NAbm9raWEuY29tPgogCiAgICAgICAg
IFJldmlld2VkIGJ5IFNpbW9uIEhhdXNtYW5uLgpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUv
R05VbWFrZWZpbGUuYW0gYi9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5hbQppbmRleCBlZmY5
Mjc0Li43MDA0MTBiIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5hbQor
KysgYi9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5hbQpAQCAtMjQ2LDYgKzI0Niw4IEBAIGph
dmFzY3JpcHRjb3JlX3NvdXJjZXMgKz0gXAogCUphdmFTY3JpcHRDb3JlL3d0Zi9IYXNoVGFibGUu
Y3BwIFwKIAlKYXZhU2NyaXB0Q29yZS93dGYvSGFzaFRhYmxlLmggXAogCUphdmFTY3JpcHRDb3Jl
L3d0Zi9IYXNoVHJhaXRzLmggXAorCUphdmFTY3JpcHRDb3JlL3d0Zi9JU09EYXRlUGFyc2VyLmNw
cCBcCisJSmF2YVNjcmlwdENvcmUvd3RmL0lTT0RhdGVQYXJzZXIuaCBcCiAJSmF2YVNjcmlwdENv
cmUvd3RmL0xpc3RIYXNoU2V0LmggXAogCUphdmFTY3JpcHRDb3JlL3d0Zi9MaXN0UmVmUHRyLmgg
XAogCUphdmFTY3JpcHRDb3JlL3d0Zi9Mb2NrZXIuaCBcCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0
Q29yZS9KYXZhU2NyaXB0Q29yZS5leHAgYi9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5l
eHAKaW5kZXggZmQ0YmViMS4uMmEyNWMxOCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvSmF2
YVNjcmlwdENvcmUuZXhwCisrKyBiL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmV4cApA
QCAtMzA1LDggKzMwNSwxMiBAQCBfX1pOM1dURjEyY3JlYXRlVGhyZWFkRVBGUHZTMF9FUzBfCiBf
X1pOM1dURjEyY3JlYXRlVGhyZWFkRVBGUHZTMF9FUzBfUEtjCiBfX1pOM1dURjEyZGV0YWNoVGhy
ZWFkRWoKIF9fWk4zV1RGMTJpc01haW5UaHJlYWRFdgorX19aTjNXVEYxMnBhcnNlSVNPRGF0ZUVQ
S3RqalBqUE5TXzE3R3JlZ29yaWFuRGF0ZVRpbWVFCitfX1pOM1dURjEycGFyc2VJU09UaW1lRVBL
dGpqUGpQTlNfMTdHcmVnb3JpYW5EYXRlVGltZUUKK19fWk4zV1RGMTJwYXJzZUlTT1dlZWtFUEt0
ampQalBOU18xN0dyZWdvcmlhbkRhdGVUaW1lRQogX19aTjNXVEYxMnJhbmRvbU51bWJlckV2CiBf
X1pOM1dURjEzY3VycmVudFRocmVhZEV2CitfX1pOM1dURjEzcGFyc2VJU09Nb250aEVQS3RqalBq
UE5TXzE3R3JlZ29yaWFuRGF0ZVRpbWVFCiBfX1pOM1dURjEzdHJ5RmFzdENhbGxvY0VtbQogX19a
TjNXVEYxM3RyeUZhc3RNYWxsb2NFbQogX19aTjNXVEYxNVRocmVhZENvbmRpdGlvbjR3YWl0RVJO
U181TXV0ZXhFCkBAIC0zMTcsNiArMzIxLDcgQEAgX19aTjNXVEYxNVRocmVhZENvbmRpdGlvbkMx
RXYKIF9fWk4zV1RGMTVUaHJlYWRDb25kaXRpb25EMUV2CiBfX1pOM1dURjE2Y2FsbE9uTWFpblRo
cmVhZEVQRnZQdkVTMF8KIF9fWk4zV1RGMTZmYXN0WmVyb2VkTWFsbG9jRW0KK19fWk4zV1RGMTZw
YXJzZUlTT0RhdGVUaW1lRVBLdGpqUGpQTlNfMTdHcmVnb3JpYW5EYXRlVGltZUUKIF9fWk4zV1RG
MTlpbml0aWFsaXplVGhyZWFkaW5nRXYKIF9fWk4zV1RGMjBmYXN0TWFsbG9jU3RhdGlzdGljc0V2
CiBfX1pOM1dURjIxUmVmQ291bnRlZExlYWtDb3VudGVyMTZzdXBwcmVzc01lc3NhZ2VzRVBLYwpA
QCAtMzI1LDYgKzMzMCw3IEBAIF9fWk4zV1RGMjFSZWZDb3VudGVkTGVha0NvdW50ZXI5ZGVjcmVt
ZW50RXYKIF9fWk4zV1RGMjFSZWZDb3VudGVkTGVha0NvdW50ZXI5aW5jcmVtZW50RXYKIF9fWk4z
V1RGMjFSZWZDb3VudGVkTGVha0NvdW50ZXJDMUVQS2MKIF9fWk4zV1RGMjFSZWZDb3VudGVkTGVh
a0NvdW50ZXJEMUV2CitfX1pOM1dURjIxcGFyc2VJU09EYXRlVGltZUxvY2FsRVBLdGpqUGpQTlNf
MTdHcmVnb3JpYW5EYXRlVGltZUUKIF9fWk4zV1RGMjN3YWl0Rm9yVGhyZWFkQ29tcGxldGlvbkVq
UFB2CiBfX1pOM1dURjI3cmVsZWFzZUZhc3RNYWxsb2NGcmVlTWVtb3J5RXYKIF9fWk4zV1RGMjhz
ZXRNYWluVGhyZWFkQ2FsbGJhY2tzUGF1c2VkRWIKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3Jl
L0phdmFTY3JpcHRDb3JlLmd5cGkgYi9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5neXBp
CmluZGV4IDQ5MDJiMjguLmEyNzI0NzEgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL0phdmFT
Y3JpcHRDb3JlLmd5cGkKKysrIGIvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZ3lwaQpA
QCAtMzc5LDYgKzM3OSw4IEBACiAgICAgICAgICAgICAnd3RmL0hhc2hUYWJsZS5jcHAnLAogICAg
ICAgICAgICAgJ3d0Zi9IYXNoVGFibGUuaCcsCiAgICAgICAgICAgICAnd3RmL0hhc2hUcmFpdHMu
aCcsCisgICAgICAgICAgICAnd3RmL0lTT0RhdGVQYXJzZXIuY3BwJywKKyAgICAgICAgICAgICd3
dGYvSVNPRGF0ZVBhcnNlci5oJywKICAgICAgICAgICAgICd3dGYvTGlzdEhhc2hTZXQuaCcsCiAg
ICAgICAgICAgICAnd3RmL0xpc3RSZWZQdHIuaCcsCiAgICAgICAgICAgICAnd3RmL0xvY2tlci5o
JywKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnByaSBiL0phdmFT
Y3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnByaQppbmRleCBkNjliY2NiLi41N2E1MjY2IDEwMDY0
NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5wcmkKKysrIGIvSmF2YVNjcmlw
dENvcmUvSmF2YVNjcmlwdENvcmUucHJpCkBAIC0yMzksNiArMjM5LDcgQEAgU09VUkNFUyArPSBc
CiAgICAgcHJvZmlsZXIvVHJlZVByb2ZpbGUuY3BwIFwKICAgICB3dGYvRGF0ZU1hdGguY3BwIFwK
ICAgICB3dGYvRmFzdE1hbGxvYy5jcHAgXAorICAgIHd0Zi9JU09EYXRlUGFyc2VyLmNwcCBcCiAg
ICAgd3RmL1RocmVhZGluZy5jcHAgXAogICAgIHd0Zi9xdC9NYWluVGhyZWFkUXQuY3BwCiAKZGlm
ZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9KYXZhU2NyaXB0
Q29yZS9KYXZhU2NyaXB0Q29yZS5kZWYgYi9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52
Y3Byb2ovSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZGVmCmluZGV4IDMyMGFmODEuLmI0
NzEwYjkgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9K
YXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5kZWYKKysrIGIvSmF2YVNjcmlwdENvcmUvSmF2
YVNjcmlwdENvcmUudmNwcm9qL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmRlZgpAQCAt
MjAyLDYgKzIwMiwxMiBAQCBFWFBPUlRTCiAgICAgP29iamVjdFByb3RvRnVuY1RvU3RyaW5nQEpT
Q0BAWUk/QVZKU1ZhbHVlQDFAUEFWRXhlY1N0YXRlQDFAUEFWSlNPYmplY3RAMUBWMjFAQUJWQXJn
TGlzdEAxQEBaCiAgICAgP3BhcnNlQFBhcnNlckBKU0NAQEFBRVhQQVZKU0dsb2JhbERhdGFAMkBQ
QUhQQVZVU3RyaW5nQDJAQFoKICAgICA/cGFyc2VEYXRlRnJvbU51bGxUZXJtaW5hdGVkQ2hhcmFj
dGVyc0BXVEZAQFlBTlBCREBaCisgICAgP3BhcnNlSVNPRGF0ZUBXVEZAQFlBX05QQl9XSUlQQUlQ
QVVHcmVnb3JpYW5EYXRlVGltZUAxQEBaCisgICAgP3BhcnNlSVNPRGF0ZVRpbWVAV1RGQEBZQV9O
UEJfV0lJUEFJUEFVR3JlZ29yaWFuRGF0ZVRpbWVAMUBAWgorICAgID9wYXJzZUlTT0RhdGVUaW1l
TG9jYWxAV1RGQEBZQV9OUEJfV0lJUEFJUEFVR3JlZ29yaWFuRGF0ZVRpbWVAMUBAWgorICAgID9w
YXJzZUlTT01vbnRoQFdURkBAWUFfTlBCX1dJSVBBSVBBVUdyZWdvcmlhbkRhdGVUaW1lQDFAQFoK
KyAgICA/cGFyc2VJU09UaW1lQFdURkBAWUFfTlBCX1dJSVBBSVBBVUdyZWdvcmlhbkRhdGVUaW1l
QDFAQFoKKyAgICA/cGFyc2VJU09XZWVrQFdURkBAWUFfTlBCX1dJSVBBSVBBVUdyZWdvcmlhbkRh
dGVUaW1lQDFAQFoKICAgICA/cHJpbWFyeUhlYXBCZWdpbkBIZWFwQEpTQ0BAUUFFP0FWPyRDb2xs
ZWN0b3JIZWFwSXRlcmF0b3JAJDBBQEAyQFhaCiAgICAgP3ByaW1hcnlIZWFwRW5kQEhlYXBASlND
QEBRQUU/QVY/JENvbGxlY3RvckhlYXBJdGVyYXRvckAkMEFAQDJAWFoKICAgICA/cHJvZmlsZXJA
UHJvZmlsZXJASlNDQEBTQVBBVjEyQFhaCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9KYXZh
U2NyaXB0Q29yZS52Y3Byb2ovSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmVfZGVidWcuZGVm
IGIvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL0phdmFTY3JpcHRDb3JlL0ph
dmFTY3JpcHRDb3JlX2RlYnVnLmRlZgppbmRleCA2Nzc5ZWFmLi43ODM3ZjIzIDEwMDY0NAotLS0g
YS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ovSmF2YVNjcmlwdENvcmUvSmF2
YVNjcmlwdENvcmVfZGVidWcuZGVmCisrKyBiL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3Jl
LnZjcHJvai9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZV9kZWJ1Zy5kZWYKQEAgLTIwMiw2
ICsyMDIsMTIgQEAgRVhQT1JUUwogICAgID9vYmplY3RQcm90b0Z1bmNUb1N0cmluZ0BKU0NAQFlJ
P0FWSlNWYWx1ZUAxQFBBVkV4ZWNTdGF0ZUAxQFBBVkpTT2JqZWN0QDFAVjIxQEFCVkFyZ0xpc3RA
MUBAWgogICAgID9wYXJzZUBQYXJzZXJASlNDQEBBQUVYUEFWSlNHbG9iYWxEYXRhQDJAUEFIUEFW
VVN0cmluZ0AyQEBaCiAgICAgP3BhcnNlRGF0ZUZyb21OdWxsVGVybWluYXRlZENoYXJhY3RlcnNA
V1RGQEBZQU5QQkRAWgorICAgID9wYXJzZUlTT0RhdGVAV1RGQEBZQV9OUEJfV0lJUEFJUEFVR3Jl
Z29yaWFuRGF0ZVRpbWVAMUBAWgorICAgID9wYXJzZUlTT0RhdGVUaW1lQFdURkBAWUFfTlBCX1dJ
SVBBSVBBVUdyZWdvcmlhbkRhdGVUaW1lQDFAQFoKKyAgICA/cGFyc2VJU09EYXRlVGltZUxvY2Fs
QFdURkBAWUFfTlBCX1dJSVBBSVBBVUdyZWdvcmlhbkRhdGVUaW1lQDFAQFoKKyAgICA/cGFyc2VJ
U09Nb250aEBXVEZAQFlBX05QQl9XSUlQQUlQQVVHcmVnb3JpYW5EYXRlVGltZUAxQEBaCisgICAg
P3BhcnNlSVNPVGltZUBXVEZAQFlBX05QQl9XSUlQQUlQQVVHcmVnb3JpYW5EYXRlVGltZUAxQEBa
CisgICAgP3BhcnNlSVNPV2Vla0BXVEZAQFlBX05QQl9XSUlQQUlQQVVHcmVnb3JpYW5EYXRlVGlt
ZUAxQEBaCiAgICAgP3ByaW1hcnlIZWFwQmVnaW5ASGVhcEBKU0NAQFFBRT9BVj8kQ29sbGVjdG9y
SGVhcEl0ZXJhdG9yQCQwQUBAMkBYWgogICAgID9wcmltYXJ5SGVhcEVuZEBIZWFwQEpTQ0BAUUFF
P0FWPyRDb2xsZWN0b3JIZWFwSXRlcmF0b3JAJDBBQEAyQFhaCiAgICAgP3Byb2ZpbGVyQFByb2Zp
bGVyQEpTQ0BAU0FQQVYxMkBYWgpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlw
dENvcmUudmNwcm9qL1dURi9XVEYudmNwcm9qIGIvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENv
cmUudmNwcm9qL1dURi9XVEYudmNwcm9qCmluZGV4IDZlZDg5ZTUuLmU5NGY0NTEgMTAwNjQ0Ci0t
LSBhL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9XVEYvV1RGLnZjcHJvagor
KysgYi9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ovV1RGL1dURi52Y3Byb2oK
QEAgLTMxMyw2ICszMTMsMTQgQEAKIAkJCT4NCiAJCTwvRmlsZT4NCiAJCTxGaWxlDQorCQkJUmVs
YXRpdmVQYXRoPSIuLlwuLlx3dGZcSVNPRGF0ZVBhcnNlci5jcHAiDQorCQkJPg0KKwkJPC9GaWxl
Pg0KKwkJPEZpbGUNCisJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXHd0ZlxJU09EYXRlUGFyc2VyLmgi
DQorCQkJPg0KKwkJPC9GaWxlPg0KKwkJPEZpbGUNCiAJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXHd0
ZlxMaXN0SGFzaFNldC5oIg0KIAkJCT4NCiAJCTwvRmlsZT4NCmRpZmYgLS1naXQgYS9KYXZhU2Ny
aXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvSmF2YVNj
cmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA3
NTIxMmM2Li4wNDYyOGY0IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL0phdmFTY3JpcHRDb3JlL0phdmFTY3Jp
cHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTQ2Niw2ICs0NjYsOCBAQAogCQlF
MUVFNzkzRDBENkM5QjkyMDBGRUEzQkEgLyogVGhyZWFkaW5nUHRocmVhZHMuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTFFRTc5M0MwRDZDOUI5MjAw
RkVBM0JBIC8qIFRocmVhZGluZ1B0aHJlYWRzLmNwcCAqLzsgfTsKIAkJRTFFRjc5QUEwQ0U5N0JB
NjAwODhENTAwIC8qIFVURjguY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gRTFFRjc5QTgwQ0U5N0JBNjAwODhENTAwIC8qIFVURjguY3BwICovOyB9Owog
CQlFNDhFMEYyRDBGODIxNTE3MDBBOENBMzcgLyogRmFzdEFsbG9jQmFzZS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTQ4RTBGMkMwRjgyMTUxNzAwQThD
QTM3IC8qIEZhc3RBbGxvY0Jhc2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OworCQlGNUQzQTU3QzEwNkI4M0IzMDA1NDUyOTcgLyogSVNPRGF0ZVBhcnNl
ci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNUQz
QTU3QTEwNkI4M0IzMDA1NDUyOTcgLyogSVNPRGF0ZVBhcnNlci5jcHAgKi87IH07CisJCUY1RDNB
NTdEMTA2QjgzQjMwMDU0NTI5NyAvKiBJU09EYXRlUGFyc2VyLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNUQzQTU3QjEwNkI4M0IzMDA1NDUyOTcgLyog
SVNPRGF0ZVBhcnNlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CiAJCUZFMUI0NDdBMEVDQ0Q3M0IwMDRGNEREMSAvKiBTdGRMaWJFeHRyYXMuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZFMUI0NDc5MEVDQ0Q3
M0IwMDRGNEREMSAvKiBTdGRMaWJFeHRyYXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwogLyogRW5kIFBCWEJ1aWxkRmlsZSBzZWN0aW9uICovCiAKQEAg
LTk2Niw2ICs5NjgsOCBAQAogCQlFNDhFMEYyQzBGODIxNTE3MDBBOENBMzcgLyogRmFzdEFsbG9j
QmFzZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBGYXN0QWxsb2NCYXNlLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY1QkIyQkM1MDMwRjc3MjEwMUZDRkUxRCAv
KiBDb21wbGV0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gMzA7IGluZGVudFdpZHRoID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IENvbXBsZXRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGgg
PSA4OyB9OwogCQlGNUMyOTBFNjAyODRGOThFMDE4NjM1Q0EgLyogSmF2YVNjcmlwdENvcmVQcmVm
aXguaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgaW5k
ZW50V2lkdGggPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
SmF2YVNjcmlwdENvcmVQcmVmaXguaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGgg
PSA4OyB9OworCQlGNUQzQTU3QTEwNkI4M0IzMDA1NDUyOTcgLyogSVNPRGF0ZVBhcnNlci5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJU09EYXRlUGFyc2VyLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRjVEM0E1N0IxMDZCODNCMzAwNTQ1Mjk3IC8q
IElTT0RhdGVQYXJzZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSVNPRGF0
ZVBhcnNlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNjhFQkI4QzAyNTVENEM2
MDFGRjYwRjcgLyogY29uZmlnLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gMzA7IGluZGVudFdpZHRoID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IGNvbmZpZy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0
aCA9IDg7IH07CiAJCUY2OTJBODREMDI1NTU5N0QwMUZGNjBGNyAvKiBBcnJheVByb3RvdHlwZS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGluZGVu
dFdpZHRoID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBBcnJheVByb3RvdHlwZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHRhYldpZHRoID0g
ODsgfTsKIAkJRjY5MkE4NEUwMjU1NTk3RDAxRkY2MEY3IC8qIEFycmF5UHJvdG90eXBlLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGluZGVudFdpZHRo
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFycmF5UHJv
dG90eXBlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsgfTsKQEAgLTEz
MDcsNiArMTMxMSw4IEBACiAJCQkJNjVERkM5MkQwOEVBMTczQTAwRjczMDBCIC8qIEhhc2hUYWJs
ZS5jcHAgKi8sCiAJCQkJNjVERkM5MkUwOEVBMTczQTAwRjczMDBCIC8qIEhhc2hUYWJsZS5oICov
LAogCQkJCTY1REZDOTJGMDhFQTE3M0EwMEY3MzAwQiAvKiBIYXNoVHJhaXRzLmggKi8sCisJCQkJ
RjVEM0E1N0ExMDZCODNCMzAwNTQ1Mjk3IC8qIElTT0RhdGVQYXJzZXIuY3BwICovLAorCQkJCUY1
RDNBNTdCMTA2QjgzQjMwMDU0NTI5NyAvKiBJU09EYXRlUGFyc2VyLmggKi8sCiAJCQkJNjU3RUI3
NDUwQjcwOEY1NDAwNjM0NjFCIC8qIExpc3RIYXNoU2V0LmggKi8sCiAJCQkJMTQ4QTE2MjYwOTVE
MTZCQjAwNjY2RDBEIC8qIExpc3RSZWZQdHIuaCAqLywKIAkJCQlFMUVFNzkyNzBENkM5NjQ1MDBG
RUEzQkEgLyogTG9ja2VyLmggKi8sCkBAIC0xODEyLDYgKzE4MTgsNyBAQAogCQkJCUJDMThDNDBD
MEUxNkY1Q0QwMEIzNDQ2MCAvKiBIYXNoU2V0LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzE4QzQw
RDBFMTZGNUNEMDBCMzQ0NjAgLyogSGFzaFRhYmxlLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzE4
QzQwRTBFMTZGNUNEMDBCMzQ0NjAgLyogSGFzaFRyYWl0cy5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
RjVEM0E1N0QxMDZCODNCMzAwNTQ1Mjk3IC8qIElTT0RhdGVQYXJzZXIuaCBpbiBIZWFkZXJzICov
LAogCQkJCUJDMThDNDBGMEUxNkY1Q0QwMEIzNDQ2MCAvKiBJZGVudGlmaWVyLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlCQzE4QzQxMDBFMTZGNUNEMDBCMzQ0NjAgLyogSW5pdGlhbGl6ZVRocmVhZGlu
Zy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTY5QTA3OTkwRUQxRDNBRTAwRjFGNjgxIC8qIEluc3Ry
dWN0aW9uLmggaW4gSGVhZGVycyAqLywKQEAgLTIzMjgsNiArMjMzNSw3IEBACiAJCQkJMTQ3RjM5
Q0QxMDdFQzM3NjAwNDI3QTQ4IC8qIEdsb2JhbEV2YWxGdW5jdGlvbi5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQkxNDhGMjFBMzEwN0VDNTMxMDA0MkVDMkMgLyogR3JhbW1hci5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQk2NURGQzkzMzA4RUExNzNBMDBGNzMwMEIgLyogSGFzaFRhYmxlLmNwcCBpbiBT
b3VyY2VzICovLAorCQkJCUY1RDNBNTdDMTA2QjgzQjMwMDU0NTI5NyAvKiBJU09EYXRlUGFyc2Vy
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTE0N0YzOUNFMTA3RUMzNzYwMDQyN0E0OCAvKiBJZGVu
dGlmaWVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUUxNzg2MzZEMEQ5QkVFQzMwMEQ3NEU3NSAv
KiBJbml0aWFsaXplVGhyZWFkaW5nLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTE0N0YzOUNGMTA3
RUMzNzYwMDQyN0E0OCAvKiBJbnRlcm5hbEZ1bmN0aW9uLmNwcCBpbiBTb3VyY2VzICovLApkaWZm
IC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmVTb3VyY2VzLmJrbCBiL0phdmFT
Y3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlU291cmNlcy5ia2wKaW5kZXggMTg1MmQxMi4uMzgyM2Vh
MiAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmVTb3VyY2VzLmJrbAor
KysgYi9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZVNvdXJjZXMuYmtsCkBAIC0xNzYsNiAr
MTc2LDcgQEAgU291cmNlIGZpbGVzIGZvciBKU0NvcmUuCiAgICAgICAgIHd0Zi9EYXRlTWF0aC5j
cHAKICAgICAgICAgd3RmL0Zhc3RNYWxsb2MuY3BwCiAgICAgICAgIHd0Zi9IYXNoVGFibGUuY3Bw
CisgICAgICAgIHd0Zi9JU09EYXRlUGFyc2VyLmNwcAogICAgICAgICB3dGYvTWFpblRocmVhZC5j
cHAKICAgICAgICAgd3RmL1JhbmRvbU51bWJlci5jcHAKICAgICAgICAgd3RmL1JlZkNvdW50ZWRM
ZWFrQ291bnRlci5jcHAKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9EYXRlTWF0aC5j
cHAgYi9KYXZhU2NyaXB0Q29yZS93dGYvRGF0ZU1hdGguY3BwCmluZGV4IDAzODY0OTQuLjQxZTll
ZDQgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9EYXRlTWF0aC5jcHAKKysrIGIvSmF2
YVNjcmlwdENvcmUvd3RmL0RhdGVNYXRoLmNwcApAQCAtOTksMTcgKzk5LDYgQEAgc3RhdGljIGNv
bnN0IGludCBmaXJzdERheU9mTW9udGhbMl1bMTJdID0gewogICAgIHswLCAzMSwgNjAsIDkxLCAx
MjEsIDE1MiwgMTgyLCAyMTMsIDI0NCwgMjc0LCAzMDUsIDMzNX0KIH07CiAKLXN0YXRpYyBpbmxp
bmUgYm9vbCBpc0xlYXBZZWFyKGludCB5ZWFyKQotewotICAgIGlmICh5ZWFyICUgNCAhPSAwKQot
ICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgaWYgKHllYXIgJSA0MDAgPT0gMCkKLSAgICAgICAg
cmV0dXJuIHRydWU7Ci0gICAgaWYgKHllYXIgJSAxMDAgPT0gMCkKLSAgICAgICAgcmV0dXJuIGZh
bHNlOwotICAgIHJldHVybiB0cnVlOwotfQotCiBzdGF0aWMgaW5saW5lIGludCBkYXlzSW5ZZWFy
KGludCB5ZWFyKQogewogICAgIHJldHVybiAzNjUgKyBpc0xlYXBZZWFyKHllYXIpOwpAQCAtNDg4
LDcgKzQ3Nyw3IEBAIHN0YXRpYyBkb3VibGUgZ2V0RFNUT2Zmc2V0KGRvdWJsZSBtcywgZG91Ymxl
IHV0Y09mZnNldCkKIAogZG91YmxlIGdyZWdvcmlhbkRhdGVUaW1lVG9NUyhjb25zdCBHcmVnb3Jp
YW5EYXRlVGltZSYgdCwgZG91YmxlIG1pbGxpU2Vjb25kcywgYm9vbCBpbnB1dElzVVRDKQogewot
ICAgIGludCBkYXkgPSBkYXRlVG9EYXlJblllYXIodC55ZWFyICsgMTkwMCwgdC5tb250aCwgdC5t
b250aERheSk7CisgICAgaW50IGRheSA9IGRhdGVUb0RheUluWWVhcih0LmZ1bGxZZWFyKCksIHQu
bW9udGgsIHQubW9udGhEYXkpOwogICAgIGRvdWJsZSBtcyA9IHRpbWVUb01TKHQuaG91ciwgdC5t
aW51dGUsIHQuc2Vjb25kLCBtaWxsaVNlY29uZHMpOwogICAgIGRvdWJsZSByZXN1bHQgPSAoZGF5
ICogbXNQZXJEYXkpICsgbXM7CiAKQEAgLTUxMyw2ICs1MDIsNyBAQCB2b2lkIG1zVG9HcmVnb3Jp
YW5EYXRlVGltZShkb3VibGUgbXMsIGJvb2wgb3V0cHV0SXNVVEMsIEdyZWdvcmlhbkRhdGVUaW1l
JiB0bSkKICAgICB9CiAKICAgICBjb25zdCBpbnQgeWVhciA9IG1zVG9ZZWFyKG1zKTsKKyAgICB0
bS5taWxsaXNlY29uZCA9IHN0YXRpY19jYXN0PGludD4oZm1vZChtcywgMTAwMCkpOwogICAgIHRt
LnNlY29uZCAgID0gIG1zVG9TZWNvbmRzKG1zKTsKICAgICB0bS5taW51dGUgICA9ICBtc1RvTWlu
dXRlcyhtcyk7CiAgICAgdG0uaG91ciAgICAgPSAgbXNUb0hvdXJzKG1zKTsKQEAgLTUyMCwxMSAr
NTEwLDEyIEBAIHZvaWQgbXNUb0dyZWdvcmlhbkRhdGVUaW1lKGRvdWJsZSBtcywgYm9vbCBvdXRw
dXRJc1VUQywgR3JlZ29yaWFuRGF0ZVRpbWUmIHRtKQogICAgIHRtLnllYXJEYXkgID0gIGRheUlu
WWVhcihtcywgeWVhcik7CiAgICAgdG0ubW9udGhEYXkgPSAgZGF5SW5Nb250aEZyb21EYXlJblll
YXIodG0ueWVhckRheSwgaXNMZWFwWWVhcih5ZWFyKSk7CiAgICAgdG0ubW9udGggICAgPSAgbW9u
dGhGcm9tRGF5SW5ZZWFyKHRtLnllYXJEYXksIGlzTGVhcFllYXIoeWVhcikpOwotICAgIHRtLnll
YXIgICAgID0gIHllYXIgLSAxOTAwOworICAgIHRtLnNldEZ1bGxZZWFyKHllYXIpOwogICAgIHRt
LmlzRFNUICAgID0gIGRzdE9mZiAhPSAwLjA7CiAKICAgICB0bS51dGNPZmZzZXQgPSBvdXRwdXRJ
c1VUQyA/IDAgOiBzdGF0aWNfY2FzdDxsb25nPigoZHN0T2ZmICsgdXRjT2ZmKSAvIG1zUGVyU2Vj
b25kKTsKICAgICB0bS50aW1lWm9uZSA9IE5VTEw7CisgICAgdG0ud2VlayA9IDA7CiB9CiAKIHZv
aWQgaW5pdGlhbGl6ZURhdGVzKCkKQEAgLTg5Niw3ICs4ODcsNyBAQCBkb3VibGUgcGFyc2VEYXRl
RnJvbU51bGxUZXJtaW5hdGVkQ2hhcmFjdGVycyhjb25zdCBjaGFyKiBkYXRlU3RyaW5nKQogICAg
ICAgICBHcmVnb3JpYW5EYXRlVGltZSB0OwogICAgICAgICB0Lm1vbnRoRGF5ID0gZGF5OwogICAg
ICAgICB0Lm1vbnRoID0gbW9udGg7Ci0gICAgICAgIHQueWVhciA9IHllYXIgLSAxOTAwOworICAg
ICAgICB0LnNldEZ1bGxZZWFyKHllYXIpOwogICAgICAgICB0LmlzRFNUID0gLTE7CiAgICAgICAg
IHQuc2Vjb25kID0gc2Vjb25kOwogICAgICAgICB0Lm1pbnV0ZSA9IG1pbnV0ZTsKQEAgLTkxOCw1
ICs5MDksNCBAQCBkb3VibGUgdGltZUNsaXAoZG91YmxlIHQpCiAgICAgcmV0dXJuIHRydW5jKHQp
OwogfQogCi0KIH0gLy8gbmFtZXNwYWNlIFdURgpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUv
d3RmL0RhdGVNYXRoLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvRGF0ZU1hdGguaAppbmRleCA2MTEw
Zjc2Li44YzZhNzU0IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvRGF0ZU1hdGguaAor
KysgYi9KYXZhU2NyaXB0Q29yZS93dGYvRGF0ZU1hdGguaApAQCAtOTAsNiArOTAsOCBAQCBzdHJ1
Y3QgR3JlZ29yaWFuRGF0ZVRpbWUgOiBOb25jb3B5YWJsZSB7CiAgICAgICAgICwgaXNEU1QoMCkK
ICAgICAgICAgLCB1dGNPZmZzZXQoMCkKICAgICAgICAgLCB0aW1lWm9uZSgwKQorICAgICAgICAs
IHdlZWsoMCkKKyAgICAgICAgLCBtaWxsaXNlY29uZCgwKQogICAgIHsKICAgICB9CiAKQEAgLTEw
OCw2ICsxMTAsOCBAQCBzdHJ1Y3QgR3JlZ29yaWFuRGF0ZVRpbWUgOiBOb25jb3B5YWJsZSB7CiAg
ICAgICAgICwgbW9udGgoaW5UbS50bV9tb24pCiAgICAgICAgICwgeWVhcihpblRtLnRtX3llYXIp
CiAgICAgICAgICwgaXNEU1QoaW5UbS50bV9pc2RzdCkKKyAgICAgICAgLCB3ZWVrKDApCisgICAg
ICAgICwgbWlsbGlzZWNvbmQoMCkKICAgICB7CiAjaWYgSEFWRShUTV9HTVRPRkYpCiAgICAgICAg
IHV0Y09mZnNldCA9IHN0YXRpY19jYXN0PGludD4oaW5UbS50bV9nbXRvZmYpOwpAQCAtMTI2LDYg
KzEzMCw4IEBAIHN0cnVjdCBHcmVnb3JpYW5EYXRlVGltZSA6IE5vbmNvcHlhYmxlIHsKIAogICAg
IG9wZXJhdG9yIHRtKCkgY29uc3QKICAgICB7CisgICAgICAgIEFTU0VSVCghd2Vlayk7CisKICAg
ICAgICAgdG0gcmV0OwogICAgICAgICBtZW1zZXQoJnJldCwgMCwgc2l6ZW9mKHJldCkpOwogCkBA
IC0xNjcsMTkgKzE3MywzOCBAQCBzdHJ1Y3QgR3JlZ29yaWFuRGF0ZVRpbWUgOiBOb25jb3B5YWJs
ZSB7CiAgICAgICAgICAgICBzdHJuY3B5KHRpbWVab25lLCByaHMudGltZVpvbmUsIGluWm9uZVNp
emUpOwogICAgICAgICB9IGVsc2UKICAgICAgICAgICAgIHRpbWVab25lID0gMDsKKyAgICAgICAg
d2VlayA9IHJocy53ZWVrOworICAgICAgICBtaWxsaXNlY29uZCA9IHJocy5taWxsaXNlY29uZDsK
ICAgICB9CiAKKyAgICBpbnQgZnVsbFllYXIoKSBjb25zdCB7IHJldHVybiB5ZWFyICsgMTkwMDsg
fQorICAgIHZvaWQgc2V0RnVsbFllYXIoaW50IHkpIHsgeWVhciA9IHkgLSAxOTAwOyB9CisKKyAg
ICAvLyB3ZWVrRGF5IHZhbHVlcworICAgIGVudW0geworICAgICAgICBTVU5EQVkgPSAwLAorICAg
ICAgICBNT05EQVksCisgICAgICAgIFRVRVNEQVksCisgICAgICAgIFdFRE5FU0RBWSwKKyAgICAg
ICAgVEhVUlNEQVksCisgICAgICAgIEZSSURBWSwKKyAgICAgICAgU0FUVVJEQVksCisgICAgfTsK
KwogICAgIGludCBzZWNvbmQ7CiAgICAgaW50IG1pbnV0ZTsKICAgICBpbnQgaG91cjsKLSAgICBp
bnQgd2Vla0RheTsKLSAgICBpbnQgbW9udGhEYXk7CisgICAgaW50IHdlZWtEYXk7ICAvLyAwOlN1
bmRheQorICAgIGludCBtb250aERheTsgIC8vIDEgLSAzMQogICAgIGludCB5ZWFyRGF5OwotICAg
IGludCBtb250aDsKLSAgICBpbnQgeWVhcjsKKyAgICBpbnQgbW9udGg7ICAvLyAwOkphbnVhcnkK
KyAgICBpbnQgeWVhcjsgIC8vIHllYXIgLSAxOTAwCiAgICAgaW50IGlzRFNUOwogICAgIGludCB1
dGNPZmZzZXQ7CiAgICAgY2hhciogdGltZVpvbmU7CisKKyAgICBpbnQgd2VlazsgIC8vIDEgLSA1
My4gIDAgaXMgaW52YWxpZC4gIFRoaXMgZmllbGQgaGFzIGEgdmFsaWQgdmFsdWUgb25seSBpZiBw
YXJzZUlTT1dlZWsoKSBpcyBjYWxsZWQuCisgICAgaW50IG1pbGxpc2Vjb25kOyAgLy8gMCAtIDk5
OQogfTsKIAogc3RhdGljIGlubGluZSBpbnQgZ210b2Zmc2V0KGNvbnN0IEdyZWdvcmlhbkRhdGVU
aW1lJiB0KQpAQCAtMTg3LDYgKzIxMiwxNyBAQCBzdGF0aWMgaW5saW5lIGludCBnbXRvZmZzZXQo
Y29uc3QgR3JlZ29yaWFuRGF0ZVRpbWUmIHQpCiAgICAgcmV0dXJuIHQudXRjT2Zmc2V0OwogfQog
CitzdGF0aWMgaW5saW5lIGJvb2wgaXNMZWFwWWVhcihpbnQgeWVhcikKK3sKKyAgICBpZiAoeWVh
ciAlIDQpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoISh5ZWFyICUgNDAwKSkKKyAg
ICAgICAgcmV0dXJuIHRydWU7CisgICAgaWYgKCEoeWVhciAlIDEwMCkpCisgICAgICAgIHJldHVy
biBmYWxzZTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV1RGCiAKICNl
bmRpZiAvLyBEYXRlTWF0aF9oCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvSVNPRGF0
ZVBhcnNlci5jcHAgYi9KYXZhU2NyaXB0Q29yZS93dGYvSVNPRGF0ZVBhcnNlci5jcHAKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTIwNDg5ZQotLS0gL2Rldi9udWxsCisrKyBi
L0phdmFTY3JpcHRDb3JlL3d0Zi9JU09EYXRlUGFyc2VyLmNwcApAQCAtMCwwICsxLDQyMCBAQAor
LyoKKyAqIENvcHlyaWdodCAoYykgMjAwOSwgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAg
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQor
ICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5j
LiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkK
KyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiSVNPRGF0ZVBhcnNlci5oIgorCisjaW5jbHVk
ZSAiQVNDSUlDVHlwZS5oIgorCituYW1lc3BhY2UgV1RGIHsKKworLy8gVGhlIG9sZGVzdCBkYXkg
b2YgR3JlZ29yaWFuIENhbGVuZGFyIGlzIDE1ODItMTAtMTUuICBXZSBkb24ndCBzdXBwb3J0IGRh
dGVzIG9sZGVyIHRoYW4gaXQuCitzdGF0aWMgY29uc3QgaW50IGdyZWdvcmlhblN0YXJ0WWVhciA9
IDE1ODI7CitzdGF0aWMgY29uc3QgaW50IGdyZWdvcmlhblN0YXJ0TW9udGggPSAxMDsKK3N0YXRp
YyBjb25zdCBpbnQgZ3JlZ29yaWFuU3RhcnREYXkgPSAxNTsKKworc3RhdGljIGNvbnN0IGludCBt
YXhEYXlPZk1vbnRoc1sxMl0gPSB7MzEsIDI4LCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMxLCAzMCwg
MzEsIDMwLCAzMX07CisKK3N0YXRpYyBpbnQgbWF4RGF5T2ZNb250aChpbnQgeWVhciwgaW50IG1v
bnRoKQoreworICAgIGlmIChtb250aCAhPSAxKSAvLyBGZWJydWFyeT8KKyAgICAgICAgcmV0dXJu
IG1heERheU9mTW9udGhzW21vbnRoXTsKKyAgICByZXR1cm4gaXNMZWFwWWVhcih5ZWFyKSA/IDI5
IDogMjg7Cit9CisKK3N0YXRpYyBpbnQgbWF4RGF5T2ZNb250aChjb25zdCBHcmVnb3JpYW5EYXRl
VGltZSogZGF0ZSkKK3sKKyAgICByZXR1cm4gbWF4RGF5T2ZNb250aChkYXRlLT5mdWxsWWVhcigp
LCBkYXRlLT5tb250aCk7Cit9CisKK3N0YXRpYyBpbnQgZGF5T2ZXZWVrKGludCB5ZWFyLCBpbnQg
bW9udGgsIGludCBkYXkpCit7CisgICAgKyttb250aDsKKworICAgIC8vIFplbGxlcidzIGNvbmdy
dWVuY2UKKyAgICBpZiAobW9udGggPD0gMikgeworICAgICAgICBtb250aCArPSAxMjsKKyAgICAg
ICAgeWVhci0tOworICAgIH0KKyAgICBpbnQgaiA9IHllYXIgLyAxMDA7CisgICAgaW50IGsgPSB5
ZWFyICUgMTAwOworICAgIGludCByZXN1bHQgPSAoZGF5ICsgMTMgKiAobW9udGggKyAxKSAvIDUg
KyBrICsgayAvIDQgKyBqIC8gNCAtIDIgKiBqIC0gMSkgJSA3OworICAgIGlmIChyZXN1bHQgPCAw
KQorICAgICAgICByZXN1bHQgKz0gNzsKKyAgICByZXR1cm4gcmVzdWx0OyAgIC8vIFN1bmRheSBv
cmlnaW4KK30KKworc3RhdGljIGludCBtYXhXZWVrKGludCB5ZWFyKQoreworICAgIGludCBkYXkg
PSBkYXlPZldlZWsoeWVhciwgMCwgMSk7CisgICAgcmV0dXJuIGRheSA9PSBHcmVnb3JpYW5EYXRl
VGltZTo6VEhVUlNEQVkgfHwgZGF5ID09IEdyZWdvcmlhbkRhdGVUaW1lOjpXRURORVNEQVkgJiYg
aXNMZWFwWWVhcih5ZWFyKSA/IDUzIDogNTI7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBjb3VudERp
Z2l0cyhjb25zdCBVQ2hhciogc3JjLCB1bnNpZ25lZCBsZW5ndGgsIHVuc2lnbmVkIHN0YXJ0KQor
eworICAgIHVuc2lnbmVkIGNvdW50ID0gc3RhcnQ7CisgICAgZm9yICg7IGNvdW50IDwgbGVuZ3Ro
OyArK2NvdW50KSB7CisgICAgICAgIGlmICghaXNBU0NJSURpZ2l0KHNyY1tjb3VudF0pKQorICAg
ICAgICAgICAgYnJlYWs7CisgICAgfQorICAgIHJldHVybiBjb3VudCAtIHN0YXJ0OworfQorCisv
LyBWZXJ5IHN0cmljdCBpbnRlZ2VyIHBhcnNlci4gIE5vdCBhbGxvdyBsZWFkaW5nIHdoaXRlc3Bh
Y2VzIHVubGlrZSBjaGFyYWN0ZXJzVG9JbnRTdHJpY3QoKS4KK3N0YXRpYyBib29sIHRvSW50KGNv
bnN0IFVDaGFyKiBzcmMsIHVuc2lnbmVkIGxlbmd0aCwgdW5zaWduZWQgcGFyc2VTdGFydCwgdW5z
aWduZWQgcGFyc2VMZW5ndGgsIGludCogb3V0KQoreworICAgIGlmIChwYXJzZVN0YXJ0ICsgcGFy
c2VMZW5ndGggPiBsZW5ndGggfHwgcGFyc2VMZW5ndGggPD0gMCkKKyAgICAgICAgcmV0dXJuIGZh
bHNlOworICAgIGludCB2YWx1ZSA9IDA7CisgICAgY29uc3QgVUNoYXIqIHAgPSBzcmMgKyBwYXJz
ZVN0YXJ0OworICAgIGNvbnN0IFVDaGFyKiBlbmQgPSBwICsgcGFyc2VMZW5ndGg7CisKKyAgICAv
LyBXZSBkb24ndCBuZWVkIHRvIGhhbmRsZSBuZWdhdGl2ZSBudW1iZXJzIGZvciBJU08gODYwMS4K
KyAgICBmb3IgKDsgcCA8IGVuZDsgKytwKSB7CisgICAgICAgIGlmICghaXNBU0NJSURpZ2l0KCpw
KSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgaW50IGQgPSAqcCAtICcwJzsK
KyAgICAgICAgaWYgKHZhbHVlID4gKElOVF9NQVggLSBkKSAvIDEwKSAgLy8gb3ZlcmZsb3cKKyAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgdmFsdWUgPSB2YWx1ZSAqIDEwICsgZDsK
KyAgICB9CisgICAgKm91dCA9IHZhbHVlOworICAgIHJldHVybiB0cnVlOworfQorCitzdGF0aWMg
Ym9vbCBwYXJzZUlTT1llYXIoY29uc3QgVUNoYXIqIHNyYywgdW5zaWduZWQgbGVuZ3RoLCB1bnNp
Z25lZCBzdGFydCwgdW5zaWduZWQqIGVuZCwgR3JlZ29yaWFuRGF0ZVRpbWUqIGRhdGUpCit7Cisg
ICAgdW5zaWduZWQgZGlnaXRzTGVuZ3RoID0gY291bnREaWdpdHMoc3JjLCBsZW5ndGgsIHN0YXJ0
KTsKKyAgICAvLyBOZWVkcyBhdCBsZWFzdCA0IGRpZ2l0cyBhY2NvcmRpbmcgdG8gdGhlIHN0YW5k
YXJkLgorICAgIGlmIChkaWdpdHNMZW5ndGggPCA0KQorICAgICAgICByZXR1cm4gZmFsc2U7Cisg
ICAgaW50IHk7CisgICAgaWYgKCF0b0ludChzcmMsIGxlbmd0aCwgc3RhcnQsIGRpZ2l0c0xlbmd0
aCwgJnkpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgLy8gTm8gc3VwcG9ydCBmb3IgeWVh
cnMgYmVmb3JlIEdyZWdvcmlhbiBjYWxlbmRhci4KKyAgICBpZiAoeSA8IGdyZWdvcmlhblN0YXJ0
WWVhcikKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGRhdGUtPnNldEZ1bGxZZWFyKHkpOwor
ICAgICplbmQgPSBzdGFydCArIGRpZ2l0c0xlbmd0aDsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwor
c3RhdGljIGJvb2wgYWRkRGF5KGludCBkYXlEaWZmLCBHcmVnb3JpYW5EYXRlVGltZSogZGF0ZSkK
K3sKKyAgICBBU1NFUlQoZGF0ZS0+bW9udGhEYXkpOworCisgICAgaW50IGQgPSBkYXRlLT5tb250
aERheSArIGRheURpZmY7CisgICAgaWYgKGQgPiBtYXhEYXlPZk1vbnRoKGRhdGUpKSB7CisgICAg
ICAgIGQgPSBkYXRlLT5tb250aERheTsKKyAgICAgICAgaW50IG0gPSBkYXRlLT5tb250aDsKKyAg
ICAgICAgaW50IHkgPSBkYXRlLT5mdWxsWWVhcigpOworICAgICAgICBmb3IgKDsgZGF5RGlmZiA+
IDA7IC0tZGF5RGlmZikgeworICAgICAgICAgICAgKytkOworICAgICAgICAgICAgaWYgKGQgPiBt
YXhEYXlPZk1vbnRoKHksIG0pKSB7CisgICAgICAgICAgICAgICAgZCA9IDE7CisgICAgICAgICAg
ICAgICAgKyttOworICAgICAgICAgICAgICAgIGlmIChtID49IDEyKSB7ICAvLyBtb250aCBpcyAw
LW9yaWdpbi4KKyAgICAgICAgICAgICAgICAgICAgbSA9IDA7CisgICAgICAgICAgICAgICAgICAg
ICsreTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHkgPCAwKSAgLy8gT3ZlcmZsb3cuCisgICAg
ICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIGRhdGUtPnNldEZ1bGxZZWFyKHkpOworICAg
ICAgICBkYXRlLT5tb250aCA9IG07CisgICAgfSBlbHNlIGlmIChkIDwgMSkgeworICAgICAgICBp
bnQgbSA9IGRhdGUtPm1vbnRoOworICAgICAgICBpbnQgeSA9IGRhdGUtPmZ1bGxZZWFyKCk7Cisg
ICAgICAgIGQgPSBkYXRlLT5tb250aERheTsKKyAgICAgICAgZm9yICg7IGRheURpZmYgPCAwOyAr
K2RheURpZmYpIHsKKyAgICAgICAgICAgIC0tZDsKKyAgICAgICAgICAgIGlmIChkIDwgMSkgewor
ICAgICAgICAgICAgICAgIC0tbTsKKyAgICAgICAgICAgICAgICBpZiAobSA8IDApIHsKKyAgICAg
ICAgICAgICAgICAgICAgbSA9IDExOworICAgICAgICAgICAgICAgICAgICAtLXk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgICAgIGQgPSBtYXhEYXlPZk1vbnRoKHksIG0pOworICAg
ICAgICAgICAgfQorICAgICAgICAgICAgaWYgKHkgPCBncmVnb3JpYW5TdGFydFllYXIKKyAgICAg
ICAgICAgICAgICAgICAgfHwgeSA9PSBncmVnb3JpYW5TdGFydFllYXIgJiYgbSArIDEgPCBncmVn
b3JpYW5TdGFydE1vbnRoCisgICAgICAgICAgICAgICAgICAgIHx8IHkgPT0gZ3JlZ29yaWFuU3Rh
cnRZZWFyICYmIG0gKyAxID09IGdyZWdvcmlhblN0YXJ0TW9udGggJiYgZCA8IGdyZWdvcmlhblN0
YXJ0RGF5KQorICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgfQorICAgICAg
ICBkYXRlLT5zZXRGdWxsWWVhcih5KTsKKyAgICAgICAgZGF0ZS0+bW9udGggPSBtOworICAgIH0K
KyAgICBkYXRlLT5tb250aERheSA9IGQ7CisgICAgcmV0dXJuIHRydWU7Cit9CisKK3N0YXRpYyBi
b29sIGFkZE1pbnV0ZShpbnQgbWluLCBHcmVnb3JpYW5EYXRlVGltZSogZGF0ZSkKK3sKKyAgICBp
bnQgY2Fycnk7CisgICAgLy8gbWluIGNhbiBiZSBuZWdhdGl2ZSBvciBncmVhdGVyIHRoYW4gNTkK
KyAgICBtaW4gPSBkYXRlLT5taW51dGUgKyBtaW47CisgICAgaWYgKG1pbiA+IDU5KSB7CisgICAg
ICAgIGNhcnJ5ID0gbWluIC8gNjA7CisgICAgICAgIG1pbiA9IG1pbiAlIDYwOworICAgIH0gZWxz
ZSBpZiAoZGF0ZS0+bWludXRlIDwgMCkgeworICAgICAgICBjYXJyeSA9ICg1OSAtIGRhdGUtPm1p
bnV0ZSkgLyA2MDsKKyAgICAgICAgbWluID0gbWluICsgY2FycnkgKiA2MDsKKyAgICAgICAgY2Fy
cnkgPSAtY2Fycnk7CisgICAgICAgIEFTU0VSVChtaW4gPj0gMCAmJiBtaW4gPD0gNTkpOworICAg
IH0gZWxzZSB7CisgICAgICAgIGRhdGUtPm1pbnV0ZSA9IG1pbjsKKyAgICAgICAgcmV0dXJuIHRy
dWU7CisgICAgfQorCisgICAgaW50IGggPSBkYXRlLT5ob3VyICsgY2Fycnk7CisgICAgaWYgKGgg
PiAyMykgeworICAgICAgICBjYXJyeSA9IGggLyAyNDsKKyAgICAgICAgaCA9IGggJSAyNDsKKyAg
ICB9IGVsc2UgaWYgKGggPCAwKSB7CisgICAgICAgIGNhcnJ5ID0gKDIzIC0gaCkgLyAyNDsKKyAg
ICAgICAgaCA9IGggKyBjYXJyeSAqIDI0OworICAgICAgICBjYXJyeSA9IC1jYXJyeTsKKyAgICAg
ICAgQVNTRVJUKGggPj0gMCAmJiBoIDw9IDIzKTsKKyAgICB9IGVsc2UgeworICAgICAgICBkYXRl
LT5taW51dGUgPSBtaW47CisgICAgICAgIGRhdGUtPmhvdXIgPSBoOworICAgICAgICByZXR1cm4g
dHJ1ZTsKKyAgICB9CisgICAgaWYgKCFhZGREYXkoY2FycnksIGRhdGUpKQorICAgICAgICByZXR1
cm4gZmFsc2U7CisgICAgZGF0ZS0+bWludXRlID0gbWluOworICAgIGRhdGUtPmhvdXIgPSBoOwor
ICAgIHJldHVybiB0cnVlOworfQorCisvLyBQYXJzZXMgYSB0aW1lem9uZSBwYXJ0LCBhbmQgYWRq
dXN0IHllYXIsIG1vbnRoLCBtb250aERheSwgaG91ciwgbWludXRlLCBzZWNvbmQsIG1pbGxlc2Vj
b25kLgorLy8gTm90ZTogVGhpcyBkb2Vzbid0IHVwZGF0ZSB1dGZPZmZzZXQsIGlzRFNULCB0aW1l
Wm9uZSwgd2Vla0RheSwgYW5kIHllYXJEYXkuCitzdGF0aWMgYm9vbCBwYXJzZUlTT1RpbWVab25l
KGNvbnN0IFVDaGFyKiBzcmMsIHVuc2lnbmVkIGxlbmd0aCwgdW5zaWduZWQgc3RhcnQsIHVuc2ln
bmVkKiBlbmQsIEdyZWdvcmlhbkRhdGVUaW1lKiBkYXRlKQoreworICAgIGlmIChzdGFydCA+PSBs
ZW5ndGgpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB1bnNpZ25lZCBpID0gc3RhcnQ7Cisg
ICAgaW50IGg7CisgICAgaW50IG07CisgICAgaWYgKHNyY1tpXSA9PSAnWicpIHsKKyAgICAgICAg
KytpOworICAgICAgICBoID0gMDsKKyAgICAgICAgbSA9IDA7CisgICAgfSBlbHNlIHsKKyAgICAg
ICAgYm9vbCBtaW51czsKKyAgICAgICAgaWYgKHNyY1tpXSA9PSAnKycpCisgICAgICAgICAgICBt
aW51cyA9IGZhbHNlOworICAgICAgICBlbHNlIGlmIChzcmNbaV0gPT0gJy0nKQorICAgICAgICAg
ICAgbWludXMgPSB0cnVlOworICAgICAgICBlbHNlCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7
CisgICAgICAgICsraTsKKyAgICAgICAgaWYgKCF0b0ludChzcmMsIGxlbmd0aCwgaSwgMiwgJmgp
IHx8IGggPCAwIHx8IGggPiAyMykKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAg
aSArPSAyOworICAgICAgICBpZiAoaSA+PSBsZW5ndGggfHwgc3JjW2krK10gIT0gJzonKQorICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICBpZiAoIXRvSW50KHNyYywgbGVuZ3RoLCBp
LCAyLCAmbSkgfHwgbSA8IDAgfHwgbSA+IDU5KQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwor
ICAgICAgICBpZiAobWludXMpIHsKKyAgICAgICAgICAgIGggPSAtaDsKKyAgICAgICAgICAgIG0g
PSAtbTsKKyAgICAgICAgfQorICAgICAgICBpICs9IDI7CisgICAgfQorCisgICAgLy8gU3VidHJh
Y3QgdGhlIHRpbWV6b25lIG9mZnNldC4KKyAgICBpZiAoIWFkZE1pbnV0ZSggLShoICogNjAgKyBt
KSwgZGF0ZSkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAqZW5kID0gaTsKKyAgICByZXR1
cm4gdHJ1ZTsKK30KKworYm9vbCBwYXJzZUlTT01vbnRoKGNvbnN0IFVDaGFyKiBzcmMsIHVuc2ln
bmVkIGxlbmd0aCwgdW5zaWduZWQgc3RhcnQsIHVuc2lnbmVkKiBlbmQsIEdyZWdvcmlhbkRhdGVU
aW1lKiBkYXRlKQoreworICAgIEFTU0VSVChzcmMpOworICAgIEFTU0VSVChlbmQpOworICAgIEFT
U0VSVChkYXRlKTsKKyAgICB1bnNpZ25lZCBpOworICAgIGlmICghcGFyc2VJU09ZZWFyKHNyYywg
bGVuZ3RoLCBzdGFydCwgJmksIGRhdGUpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYg
KGkgPj0gbGVuZ3RoIHx8IHNyY1tpKytdICE9ICctJykKKyAgICAgICAgcmV0dXJuIGZhbHNlOwor
ICAgIGludCBtOworICAgIGlmICghdG9JbnQoc3JjLCBsZW5ndGgsIGksIDIsICZtKSB8fCBtIDwg
MSB8fCBtID4gMTIpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAvLyBObyBzdXBwb3J0IGZv
ciBtb250aHMgYmVmb3JlIEdyZWdvcmlhbiBjYWxlbmRhci4KKyAgICBpZiAoZGF0ZS0+ZnVsbFll
YXIoKSA9PSBncmVnb3JpYW5TdGFydFllYXIgJiYgbSA8IGdyZWdvcmlhblN0YXJ0TW9udGgpCisg
ICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBkYXRlLT5tb250aCA9IG0gLSAxOworICAgICplbmQg
PSBpICsgMjsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworYm9vbCBwYXJzZUlTT0RhdGUoY29uc3Qg
VUNoYXIqIHNyYywgdW5zaWduZWQgbGVuZ3RoLCB1bnNpZ25lZCBzdGFydCwgdW5zaWduZWQqIGVu
ZCwgR3JlZ29yaWFuRGF0ZVRpbWUqIGRhdGUpCit7CisgICAgQVNTRVJUKHNyYyk7CisgICAgQVNT
RVJUKGVuZCk7CisgICAgQVNTRVJUKGRhdGUpOworICAgIHVuc2lnbmVkIGk7CisgICAgaWYgKCFw
YXJzZUlTT01vbnRoKHNyYywgbGVuZ3RoLCBzdGFydCwgJmksIGRhdGUpKQorICAgICAgICByZXR1
cm4gZmFsc2U7CisgICAgLy8gJy0nIGFuZCAyLWRpZ2l0cyBhcmUgbmVlZGVkLgorICAgIGlmIChp
ICsgMiA+PSBsZW5ndGgpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoc3JjW2krK10g
IT0gJy0nKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaW50IGRheTsKKyAgICBpZiAoIXRv
SW50KHNyYywgbGVuZ3RoLCBpLCAyLCAmZGF5KSB8fCBkYXkgPCAxIHx8IGRheSA+IG1heERheU9m
TW9udGgoZGF0ZSkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAvLyBObyBzdXBwb3J0IGZv
ciBkYXRlcyBiZWZvcmUgR3JlZ29yaWFuIGNhbGVuZGFyLgorICAgIGlmIChkYXRlLT5mdWxsWWVh
cigpID09IGdyZWdvcmlhblN0YXJ0WWVhciAmJiBkYXRlLT5tb250aCArIDEgPT0gZ3JlZ29yaWFu
U3RhcnRNb250aCAmJiBkYXkgPCBncmVnb3JpYW5TdGFydERheSkKKyAgICAgICAgcmV0dXJuIGZh
bHNlOworICAgIGRhdGUtPm1vbnRoRGF5ID0gZGF5OworICAgICplbmQgPSBpICsgMjsKKyAgICBy
ZXR1cm4gdHJ1ZTsKK30KKworYm9vbCBwYXJzZUlTT1dlZWsoY29uc3QgVUNoYXIqIHNyYywgdW5z
aWduZWQgbGVuZ3RoLCB1bnNpZ25lZCBzdGFydCwgdW5zaWduZWQqIGVuZCwgR3JlZ29yaWFuRGF0
ZVRpbWUqIGRhdGUpCit7CisgICAgQVNTRVJUKHNyYyk7CisgICAgQVNTRVJUKGVuZCk7CisgICAg
QVNTRVJUKGRhdGUpOworICAgIHVuc2lnbmVkIGk7CisgICAgaWYgKCFwYXJzZUlTT1llYXIoc3Jj
LCBsZW5ndGgsIHN0YXJ0LCAmaSwgZGF0ZSkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAv
LyA0IGNoYXJhY3RlcnMgKCctJyAnVycgZGlnaXQgZGlnaXQpIGFyZSBuZWVkZWQuCisgICAgaWYg
KGkgKyAzID49IGxlbmd0aCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmIChzcmNbaSsr
XSAhPSAnLScpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoc3JjW2krK10gIT0gJ1cn
KQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaW50IHc7CisgICAgaWYgKCF0b0ludChzcmMs
IGxlbmd0aCwgaSwgMiwgJncpIHx8IHcgPCAxIHx8IHcgPiBtYXhXZWVrKGRhdGUtPmZ1bGxZZWFy
KCkpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgLy8gTm8gc3VwcG9ydCBmb3IgeWVhcnMg
b2xkZXIgdGhhbiBvciBlcXVhbHMgdG8gR3JlZ29yaWFuIGNhbGVuZGFyIHN0YXJ0IHllYXIuCisg
ICAgaWYgKGRhdGUtPmZ1bGxZZWFyKCkgPD0gZ3JlZ29yaWFuU3RhcnRZZWFyKQorICAgICAgICBy
ZXR1cm4gZmFsc2U7CisgICAgZGF0ZS0+d2VlayA9IHc7CisgICAgKmVuZCA9IGkgKyAyOworICAg
IHJldHVybiB0cnVlOworfQorCitib29sIHBhcnNlSVNPVGltZShjb25zdCBVQ2hhciogc3JjLCB1
bnNpZ25lZCBsZW5ndGgsIHVuc2lnbmVkIHN0YXJ0LCB1bnNpZ25lZCogZW5kLCBHcmVnb3JpYW5E
YXRlVGltZSogZGF0ZSkKK3sKKyAgICBBU1NFUlQoc3JjKTsKKyAgICBBU1NFUlQoZW5kKTsKKyAg
ICBBU1NFUlQoZGF0ZSk7CisgICAgaW50IGg7CisgICAgaWYgKCF0b0ludChzcmMsIGxlbmd0aCwg
c3RhcnQsIDIsICZoKSB8fCBoIDwgMCB8fCBoID4gMjMpCisgICAgICAgIHJldHVybiBmYWxzZTsK
KyAgICB1bnNpZ25lZCBpID0gc3RhcnQgKyAyOworICAgIGlmIChpID49IGxlbmd0aCkKKyAgICAg
ICAgcmV0dXJuIGZhbHNlOworICAgIGlmIChzcmNbaSsrXSAhPSAnOicpCisgICAgICAgIHJldHVy
biBmYWxzZTsKKyAgICBpbnQgbTsKKyAgICBpZiAoIXRvSW50KHNyYywgbGVuZ3RoLCBpLCAyLCAm
bSkgfHwgbSA8IDAgfHwgbSA+IDU5KQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaSArPSAy
OworICAgIGRhdGUtPmhvdXIgPSBoOworICAgIGRhdGUtPm1pbnV0ZSA9IG07CisgICAgZGF0ZS0+
c2Vjb25kID0gMDsKKyAgICBkYXRlLT5taWxsaXNlY29uZCA9IDA7CisKKyAgICAvLyBPcHRpb25h
bCBzZWNvbmQgcGFydAorICAgIGlmIChpICsgMiA8IGxlbmd0aCAmJiBzcmNbaV0gPT0gJzonKSB7
CisgICAgICAgIGludCBzZWM7CisgICAgICAgIGlmICh0b0ludChzcmMsIGxlbmd0aCwgaSArIDEs
IDIsICZzZWMpICYmIHNlYyA+PSAwICYmIHNlYyA8PSA1OSkgeworICAgICAgICAgICAgZGF0ZS0+
c2Vjb25kID0gc2VjOworICAgICAgICAgICAgaSArPSAzOworCisgICAgICAgICAgICAvLyBPcHRp
b25hbCBmcmFjdGlvbmFsIHNlY29uZCBwYXJ0CisgICAgICAgICAgICBpZiAoaSA8IGxlbmd0aCAm
JiBzcmNbaV0gPT0gJy4nKSB7CisgICAgICAgICAgICAgICAgdW5zaWduZWQgZGlnaXRzTGVuZ3Ro
ID0gY291bnREaWdpdHMoc3JjLCBsZW5ndGgsICsraSk7CisgICAgICAgICAgICAgICAgaWYgKGRp
Z2l0c0xlbmd0aCA+IDApIHsKKyAgICAgICAgICAgICAgICAgICAgYm9vbCBvazsKKyAgICAgICAg
ICAgICAgICAgICAgaW50IG1pbGxpOworICAgICAgICAgICAgICAgICAgICBpZiAoZGlnaXRzTGVu
Z3RoID09IDEpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIG9rID0gdG9JbnQoc3JjLCBsZW5n
dGgsIGksIDEsICZtaWxsaSk7CisgICAgICAgICAgICAgICAgICAgICAgICBtaWxsaSAqPSAxMDA7
CisgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoZGlnaXRzTGVuZ3RoID09IDIpIHsKKyAg
ICAgICAgICAgICAgICAgICAgICAgIG9rID0gdG9JbnQoc3JjLCBsZW5ndGgsIGksIDIsICZtaWxs
aSk7CisgICAgICAgICAgICAgICAgICAgICAgICBtaWxsaSAqPSAxMDsKKyAgICAgICAgICAgICAg
ICAgICAgfSBlbHNlIC8vIGRpZ2l0c0xlbmd0aCA+PSAzCisgICAgICAgICAgICAgICAgICAgICAg
ICBvayA9IHRvSW50KHNyYywgbGVuZ3RoLCBpLCAzLCAmbWlsbGkpOworICAgICAgICAgICAgICAg
ICAgICBpZiAob2spIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGRhdGUtPm1pbGxpc2Vjb25k
ID0gbWlsbGk7CisgICAgICAgICAgICAgICAgICAgICAgICBpICs9IGRpZ2l0c0xlbmd0aDsKKyAg
ICAgICAgICAgICAgICAgICAgfSBlbHNlCisgICAgICAgICAgICAgICAgICAgICAgICAtLWk7Cisg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorICAgICpl
bmQgPSBpOworICAgIHJldHVybiB0cnVlOworfQorCitib29sIHBhcnNlSVNPRGF0ZVRpbWVMb2Nh
bChjb25zdCBVQ2hhciogc3JjLCB1bnNpZ25lZCBsZW5ndGgsIHVuc2lnbmVkIHN0YXJ0LCB1bnNp
Z25lZCogZW5kLCBHcmVnb3JpYW5EYXRlVGltZSogZGF0ZSkKK3sKKyAgICBBU1NFUlQoc3JjKTsK
KyAgICBBU1NFUlQoZW5kKTsKKyAgICBBU1NFUlQoZGF0ZSk7CisgICAgdW5zaWduZWQgaTsKKyAg
ICBpZiAoIXBhcnNlSVNPRGF0ZShzcmMsIGxlbmd0aCwgc3RhcnQsICZpLCBkYXRlKSkKKyAgICAg
ICAgcmV0dXJuIGZhbHNlOworICAgIGlmIChpID49IGxlbmd0aCkKKyAgICAgICAgcmV0dXJuIGZh
bHNlOworICAgIGlmIChzcmNbaSsrXSAhPSAnVCcpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAg
ICByZXR1cm4gcGFyc2VJU09UaW1lKHNyYywgbGVuZ3RoLCBpLCBlbmQsIGRhdGUpOworfQorCiti
b29sIHBhcnNlSVNPRGF0ZVRpbWUoY29uc3QgVUNoYXIqIHNyYywgdW5zaWduZWQgbGVuZ3RoLCB1
bnNpZ25lZCBzdGFydCwgdW5zaWduZWQqIGVuZCwgR3JlZ29yaWFuRGF0ZVRpbWUqIGRhdGUpCit7
CisgICAgQVNTRVJUKHNyYyk7CisgICAgQVNTRVJUKGVuZCk7CisgICAgQVNTRVJUKGRhdGUpOwor
ICAgIHVuc2lnbmVkIGk7CisgICAgaWYgKCFwYXJzZUlTT0RhdGUoc3JjLCBsZW5ndGgsIHN0YXJ0
LCAmaSwgZGF0ZSkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoaSA+PSBsZW5ndGgp
CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoc3JjW2krK10gIT0gJ1QnKQorICAgICAg
ICByZXR1cm4gZmFsc2U7CisgICAgaWYgKCFwYXJzZUlTT1RpbWUoc3JjLCBsZW5ndGgsIGksICZp
LCBkYXRlKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIHJldHVybiBwYXJzZUlTT1RpbWVa
b25lKHNyYywgbGVuZ3RoLCBpLCBlbmQsIGRhdGUpOworfQorCit9IC8vIG5hbWVzcGFjZSBXVEYK
ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9JU09EYXRlUGFyc2VyLmggYi9KYXZhU2Ny
aXB0Q29yZS93dGYvSVNPRGF0ZVBhcnNlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAuLjMzNWJhODUKLS0tIC9kZXYvbnVsbAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvSVNP
RGF0ZVBhcnNlci5oCkBAIC0wLDAgKzEsNjMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMDks
IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAq
IE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAq
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMg
ZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAq
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBJU09EYXRlUGFyc2VyX2gKKyNk
ZWZpbmUgSVNPRGF0ZVBhcnNlcl9oCisKKyNpbmNsdWRlIDx3dGYvRGF0ZU1hdGguaD4KKyNpbmNs
dWRlIDx3dGYvdW5pY29kZS9Vbmljb2RlLmg+CisKK25hbWVzcGFjZSBXVEYgeworCisvLyBUaGUg
Zm9sbG93aW5nIHNpeCBmdW5jdGlvbnMgcGFyc2UgdGhlIGlucHV0IGBzcmMnIG9mIHdoaWNoIGxl
bmd0aCBpcworLy8gYGxlbmd0aCcsIGFuZCBzZXRzIHNvbWUgZmllbGRzIG9mIGBkYXRlJy4gVGhl
IHBhcnNpbmcgc3RhcnRzIGF0IHNyY1tzdGFydF0KKy8vIGFuZCBleGFtaW5lcyBjaGFyYWN0ZXJz
IGJlZm9yZSBzcmNbbGVuZ3RoXS4KKy8vIGBzcmMnLCBgZW5kJyBhbmQgYGRhdGUnIG11c3QgYmUg
bm9uLW51bGwuIFRoZSBgc3JjJyBzdHJpbmcgZG9lc24ndCBuZWVkcyB0bworLy8gIGJlIG51bGwt
dGVybWluYXRlZC4KKy8vIFRoZSBmdW5jdGlvbnMgcmV0dXJuIHRydWUgaWYgdGhlIHBhcnNpbmcg
c3VjY2VlZHMsIGFuZCBzZXRzIHRoZSBuZXh0IGluZGV4CisvLyBvZiB0aGUgbGFzdCBjb25zdW1l
ZCBjaGFyYWN0ZXIgdG8gYCplbmQnLiBUaGUgbGVhZGluZyBleHRyYSBjaGFyYWN0ZXJzIGNhdXNl
CisvLyBwYXJzZSBmYWlsdXJlcywgYW5kIHRoZSB0cmFpbGluZyBleHRyYSBjaGFyYWN0ZXJzIGRv
bid0IGNhdXNlIHBhcnNlIGZhaWx1cmVzLgorCisvLyBTZXRzIHllYXIgYW5kIG1vbnRoLgorYm9v
bCBwYXJzZUlTT01vbnRoKGNvbnN0IFVDaGFyKiBzcmMsIHVuc2lnbmVkIGxlbmd0aCwgdW5zaWdu
ZWQgc3RhcnQsIHVuc2lnbmVkKiBlbmQsIEdyZWdvcmlhbkRhdGVUaW1lKiBkYXRlKTsKKy8vIFNl
dHMgeWVhciwgbW9udGggYW5kIG1vbnRoRGF5LgorYm9vbCBwYXJzZUlTT0RhdGUoY29uc3QgVUNo
YXIqIHNyYywgdW5zaWduZWQgbGVuZ3RoLCB1bnNpZ25lZCBzdGFydCwgdW5zaWduZWQqIGVuZCwg
R3JlZ29yaWFuRGF0ZVRpbWUqIGRhdGUpOworLy8gU2V0cyB5ZWFyIGFuZCB3ZWVrLgorYm9vbCBw
YXJzZUlTT1dlZWsoY29uc3QgVUNoYXIqIHNyYywgdW5zaWduZWQgbGVuZ3RoLCB1bnNpZ25lZCBz
dGFydCwgdW5zaWduZWQqIGVuZCwgR3JlZ29yaWFuRGF0ZVRpbWUqIGRhdGUpOworLy8gU2V0cyBo
b3VyLCBtaW51dGUsIHNlY29uZCBhbmQgbWlsbGlzZWNvbmQuCitib29sIHBhcnNlSVNPVGltZShj
b25zdCBVQ2hhciogc3JjLCB1bnNpZ25lZCBsZW5ndGgsIHVuc2lnbmVkIHN0YXJ0LCB1bnNpZ25l
ZCogZW5kLCBHcmVnb3JpYW5EYXRlVGltZSogZGF0ZSk7CisvLyBTZXRzIHllYXIsIG1vbnRoLCBt
b250aERheSwgaG91ciwgbWludXRlLCBzZWNvbmQgYW5kIG1pbGxpc2Vjb25kLgorYm9vbCBwYXJz
ZUlTT0RhdGVUaW1lTG9jYWwoY29uc3QgVUNoYXIqIHNyYywgdW5zaWduZWQgbGVuZ3RoLCB1bnNp
Z25lZCBzdGFydCwgdW5zaWduZWQqIGVuZCwgR3JlZ29yaWFuRGF0ZVRpbWUqIGRhdGUpOworLy8g
U2V0cyB5ZWFyLCBtb250aCwgbW9udGhEYXksIGhvdXIsIG1pbnV0ZSwgc2Vjb25kIGFuZCBtaWxs
aXNlY29uZCwgYW5kIGFkanVzdHMgdGltZXpvbmUuCitib29sIHBhcnNlSVNPRGF0ZVRpbWUoY29u
c3QgVUNoYXIqIHNyYywgdW5zaWduZWQgbGVuZ3RoLCB1bnNpZ25lZCBzdGFydCwgdW5zaWduZWQq
IGVuZCwgR3JlZ29yaWFuRGF0ZVRpbWUqIGRhdGUpOworCit9IC8vIG5hbWVzcGFjZSBXVEYKKwor
I2VuZGlmIC8vIElTT0RhdGVQYXJzZXJfaAotLSAKMS42LjMuMwoK
</data>
<flag name="review"
          id="22482"
          type_id="1"
          status="-"
          setter="tkent"
    />
    <flag name="commit-queue"
          id="22483"
          type_id="3"
          status="-"
          setter="tkent"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>41147</attachid>
            <date>2009-10-13 19:38:08 -0700</date>
            <delta_ts>2009-11-09 17:31:07 -0800</delta_ts>
            <desc>Patch part 3: ValidityState.typeMismatch and layout tests (rev.5)</desc>
            <filename>0001-Implement-validity-check-4.patch</filename>
            <type>text/plain</type>
            <size>40755</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">RnJvbSAyNjRkOGMyNDhhMDI0YzBmOGI3OTRjNWU0ZTlhZjU4NDJiNGM5ZGFjIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBLZW50IFRhbXVyYSA8dGtlbnRAY2hyb21pdW0ub3JnPgpEYXRl
OiBUaHUsIDEwIFNlcCAyMDA5IDIwOjUyOjI4ICswOTAwClN1YmplY3Q6IFtQQVRDSF0gSW1wbGVt
ZW50IHZhbGlkaXR5IGNoZWNrIDQKCi0tLQogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgfCAgIDI3ICsrKysrKysKIC4uLi9WYWxpZGl0eVN0YXRlLXR5
cGVNaXNtYXRjaC1kYXRlLWV4cGVjdGVkLnR4dCAgIHwgICA2MSArKysrKysrKysrKysrKwogLi4u
L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLWRhdGUuaHRtbCAgICAgfCAgIDEzICsr
KwogLi4uYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1kYXRldGltZS1leHBlY3RlZC50eHQgfCAg
IDM5ICsrKysrKysrKwogLi4uL2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLWRhdGV0
aW1lLmh0bWwgfCAgIDEzICsrKwogLi4udHlTdGF0ZS10eXBlTWlzbWF0Y2gtZGF0ZXRpbWVsb2Nh
bC1leHBlY3RlZC50eHQgfCAgIDI2ICsrKysrKwogLi4uL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21h
dGNoLWRhdGV0aW1lbG9jYWwuaHRtbCAgfCAgIDEzICsrKwogLi4uL1ZhbGlkaXR5U3RhdGUtdHlw
ZU1pc21hdGNoLW1vbnRoLWV4cGVjdGVkLnR4dCAgfCAgIDQxICsrKysrKysrKysKIC4uLi9mb3Jt
cy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1tb250aC5odG1sICAgIHwgICAxMyArKysKIC4u
Li9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC10aW1lLWV4cGVjdGVkLnR4dCAgIHwgICAzOSAr
KysrKysrKysKIC4uLi9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC10aW1lLmh0bWwg
ICAgIHwgICAxMyArKysKIC4uLi9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC13ZWVrLWV4cGVj
dGVkLnR4dCAgIHwgICAzNSArKysrKysrKwogLi4uL2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1p
c21hdGNoLXdlZWsuaHRtbCAgICAgfCAgIDEzICsrKwogLi4uL1ZhbGlkaXR5U3RhdGUtdHlwZU1p
c21hdGNoLWRhdGUuanMgICAgICAgICAgICAgfCAgIDgzICsrKysrKysrKysrKysrKysrKysrCiAu
Li4vVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtZGF0ZXRpbWUuanMgICAgICAgICB8ICAgNjEg
KysrKysrKysrKysrKysKIC4uLi9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1kYXRldGltZWxv
Y2FsLmpzICAgIHwgICA0OCArKysrKysrKysrKwogLi4uL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21h
dGNoLW1vbnRoLmpzICAgICAgICAgICAgfCAgIDYzICsrKysrKysrKysrKysrKwogLi4uL1ZhbGlk
aXR5U3RhdGUtdHlwZU1pc21hdGNoLXRpbWUuanMgICAgICAgICAgICAgfCAgIDYxICsrKysrKysr
KysrKysrCiAuLi4vVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtd2Vlay5qcyAgICAgICAgICAg
ICB8ICAgNTcgKysrKysrKysrKysrKwogV2ViQ29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgfCAgIDIyICsrKysrCiBXZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJz
L3d0Zi9JU09EYXRlUGFyc2VyLmggICAgICB8ICAgIDQgKwogV2ViQ29yZS9odG1sL0hUTUxJbnB1
dEVsZW1lbnQuY3BwICAgICAgICAgICAgICAgICAgfCAgIDI5ICsrKysrKysKIFdlYkNvcmUvaHRt
bC9IVE1MSW5wdXRFbGVtZW50LmggICAgICAgICAgICAgICAgICAgIHwgICAgOCArKwogV2ViQ29y
ZS9odG1sL1ZhbGlkaXR5U3RhdGUuY3BwICAgICAgICAgICAgICAgICAgICAgfCAgICA3ICsrCiAy
NCBmaWxlcyBjaGFuZ2VkLCA3ODkgaW5zZXJ0aW9ucygrKSwgMCBkZWxldGlvbnMoLSkKIGNyZWF0
ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1p
c21hdGNoLWRhdGUtZXhwZWN0ZWQudHh0CiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1kYXRlLmh0bWwKIGNyZWF0ZSBt
b2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21h
dGNoLWRhdGV0aW1lLWV4cGVjdGVkLnR4dAogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtZGF0ZXRpbWUuaHRtbAogY3Jl
YXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBl
TWlzbWF0Y2gtZGF0ZXRpbWVsb2NhbC1leHBlY3RlZC50eHQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBM
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLWRhdGV0aW1l
bG9jYWwuaHRtbAogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFs
aWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtbW9udGgtZXhwZWN0ZWQudHh0CiBjcmVhdGUgbW9kZSAx
MDA2NDQgTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1t
b250aC5odG1sCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxp
ZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC10aW1lLWV4cGVjdGVkLnR4dAogY3JlYXRlIG1vZGUgMTAw
NjQ0IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtdGlt
ZS5odG1sCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0
eVN0YXRlLXR5cGVNaXNtYXRjaC13ZWVrLWV4cGVjdGVkLnR4dAogY3JlYXRlIG1vZGUgMTAwNjQ0
IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtd2Vlay5o
dG1sCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVz
dHMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtZGF0ZS5qcwogY3JlYXRlIG1vZGUgMTAwNjQ0
IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL1ZhbGlkaXR5U3RhdGUtdHlwZU1p
c21hdGNoLWRhdGV0aW1lLmpzCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9zY3JpcHQtdGVzdHMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtZGF0ZXRpbWVsb2Nh
bC5qcwogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRl
c3RzL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLW1vbnRoLmpzCiBjcmVhdGUgbW9kZSAxMDA2
NDQgTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvVmFsaWRpdHlTdGF0ZS10eXBl
TWlzbWF0Y2gtdGltZS5qcwogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2Zhc3QvZm9y
bXMvc2NyaXB0LXRlc3RzL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLXdlZWsuanMKIGNyZWF0
ZSBtb2RlIDEwMDY0NCBXZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9JU09EYXRlUGFyc2Vy
LmgKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKaW5kZXggNWQyZjFhOS4uMjI2ZjJmYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDA5
LTA5LTEwICBLZW50IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0cyBmb3IgVmFsaWRpdHlTdGF0
ZS50eXBlTWlzbWF0Y2ggZm9yIHRoZSBmb2xsb3dpbmcgdHlwZXMgb2YgSU5QVVQgZWxlbWVudDoK
KyAgICAgICAgICAgIGRhdGUsIGRhdGV0aW1lLCBkYXRldGltZS1sb2NhbCwgbW9udGgsIHRpbWUg
YW5kIHdlZWsKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTI5MDA0CisKKyAgICAgICAgKiBmYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNo
LWRhdGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL1ZhbGlkaXR5
U3RhdGUtdHlwZU1pc21hdGNoLWRhdGUuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jt
cy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1kYXRldGltZS1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGZhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtZGF0ZXRp
bWUuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVN
aXNtYXRjaC1kYXRldGltZWxvY2FsLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFz
dC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1kYXRldGltZWxvY2FsLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtbW9u
dGgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL1ZhbGlkaXR5U3Rh
dGUtdHlwZU1pc21hdGNoLW1vbnRoLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMv
VmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtdGltZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGZhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtdGltZS5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLXdl
ZWstZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL1ZhbGlkaXR5U3Rh
dGUtdHlwZU1pc21hdGNoLXdlZWsuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9z
Y3JpcHQtdGVzdHMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtZGF0ZS5qczogQWRkZWQuCisg
ICAgICAgICogZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0
Y2gtZGF0ZXRpbWUuanM6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvc2NyaXB0LXRlc3Rz
L1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLWRhdGV0aW1lbG9jYWwuanM6IEFkZGVkLgorICAg
ICAgICAqIGZhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNo
LW1vbnRoLmpzOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9WYWxp
ZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC10aW1lLmpzOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zv
cm1zL3NjcmlwdC10ZXN0cy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC13ZWVrLmpzOiBBZGRl
ZC4KKwogMjAwOS0wOS0yMyAgS2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLWRhdGUtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1kYXRl
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYWEyYzFl
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRl
LXR5cGVNaXNtYXRjaC1kYXRlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDYxIEBACitUaGlzIHRl
c3QgYWltcyB0byBjaGVjayBmb3IgdHlwZU1pc21hdGNoIGZsYWcgd2l0aCB0eXBlPWRhdGUgaW5w
dXQgZmllbGRzCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTICIiIGlzIGEg
Y29ycmVjdCB2YWxpZCBkYXRlIHN0cmluZy4KK1BBU1MgIjIwMDktMDktMDciIGlzIGEgY29ycmVj
dCB2YWxpZCBkYXRlIHN0cmluZy4KK1BBU1MgIjk5OTktMTItMzEiIGlzIGEgY29ycmVjdCB2YWxp
ZCBkYXRlIHN0cmluZy4KK1BBU1MgIjIxNDc0ODM2NDctMTItMzEiIGlzIGEgY29ycmVjdCB2YWxp
ZCBkYXRlIHN0cmluZy4KK1BBU1MgIjE1ODItMTAtMTUiIGlzIGEgY29ycmVjdCB2YWxpZCBkYXRl
IHN0cmluZy4KK1BBU1MgIjIwMDktMDEtMzEiIGlzIGEgY29ycmVjdCB2YWxpZCBkYXRlIHN0cmlu
Zy4KK1BBU1MgIjIwMDktMDItMjgiIGlzIGEgY29ycmVjdCB2YWxpZCBkYXRlIHN0cmluZy4KK1BB
U1MgIjIwMDktMDMtMzEiIGlzIGEgY29ycmVjdCB2YWxpZCBkYXRlIHN0cmluZy4KK1BBU1MgIjIw
MDktMDQtMzAiIGlzIGEgY29ycmVjdCB2YWxpZCBkYXRlIHN0cmluZy4KK1BBU1MgIjIwMDktMDUt
MzEiIGlzIGEgY29ycmVjdCB2YWxpZCBkYXRlIHN0cmluZy4KK1BBU1MgIjIwMDktMDYtMzAiIGlz
IGEgY29ycmVjdCB2YWxpZCBkYXRlIHN0cmluZy4KK1BBU1MgIjIwMDktMDctMzEiIGlzIGEgY29y
cmVjdCB2YWxpZCBkYXRlIHN0cmluZy4KK1BBU1MgIjIwMDktMDgtMzEiIGlzIGEgY29ycmVjdCB2
YWxpZCBkYXRlIHN0cmluZy4KK1BBU1MgIjIwMDktMDktMzAiIGlzIGEgY29ycmVjdCB2YWxpZCBk
YXRlIHN0cmluZy4KK1BBU1MgIjIwMDktMTAtMzEiIGlzIGEgY29ycmVjdCB2YWxpZCBkYXRlIHN0
cmluZy4KK1BBU1MgIjIwMDktMTEtMzAiIGlzIGEgY29ycmVjdCB2YWxpZCBkYXRlIHN0cmluZy4K
K1BBU1MgIjIwMDktMTItMzEiIGlzIGEgY29ycmVjdCB2YWxpZCBkYXRlIHN0cmluZy4KK1BBU1Mg
IjIwMDgtMDItMjkiIGlzIGEgY29ycmVjdCB2YWxpZCBkYXRlIHN0cmluZy4KK1BBU1MgIjIwMDAt
MDItMjkiIGlzIGEgY29ycmVjdCB2YWxpZCBkYXRlIHN0cmluZy4KK1BBU1MgIiAyMDA5LTA5LTA3
ICIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZSBzdHJpbmcuCitQQVNTICJhIiBpcyBhIGNvcnJl
Y3QgaW52YWxpZCBkYXRlIHN0cmluZy4KK1BBU1MgIi0xLTA5LTA3IiBpcyBhIGNvcnJlY3QgaW52
YWxpZCBkYXRlIHN0cmluZy4KK1BBU1MgIjE1ODEtMDktMDciIGlzIGEgY29ycmVjdCBpbnZhbGlk
IGRhdGUgc3RyaW5nLgorUEFTUyAiMTU4Mi0xMC0xNCIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0
ZSBzdHJpbmcuCitQQVNTICIyMTQ3NDgzNjQ4LTEyLTMxIiBpcyBhIGNvcnJlY3QgaW52YWxpZCBk
YXRlIHN0cmluZy4KK1BBU1MgIjIwMDkvMDkvMDciIGlzIGEgY29ycmVjdCBpbnZhbGlkIGRhdGUg
c3RyaW5nLgorUEFTUyAiMjAwOTA5MDciIGlzIGEgY29ycmVjdCBpbnZhbGlkIGRhdGUgc3RyaW5n
LgorUEFTUyAiMjAwOS0tMi0wNyIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZSBzdHJpbmcuCitQ
QVNTICIyMDA5LTAwLTA3IiBpcyBhIGNvcnJlY3QgaW52YWxpZCBkYXRlIHN0cmluZy4KK1BBU1Mg
IjIwMDktMTMtMDciIGlzIGEgY29ycmVjdCBpbnZhbGlkIGRhdGUgc3RyaW5nLgorUEFTUyAiMTU4
Mi0wOS0zMCIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZSBzdHJpbmcuCitQQVNTICIyMDA5LXh4
LTMwIiBpcyBhIGNvcnJlY3QgaW52YWxpZCBkYXRlIHN0cmluZy4KK1BBU1MgIjIwMDktMDEtMzIi
IGlzIGEgY29ycmVjdCBpbnZhbGlkIGRhdGUgc3RyaW5nLgorUEFTUyAiMjAwOS0wMi0yOSIgaXMg
YSBjb3JyZWN0IGludmFsaWQgZGF0ZSBzdHJpbmcuCitQQVNTICIyMDA5LTAzLTMyIiBpcyBhIGNv
cnJlY3QgaW52YWxpZCBkYXRlIHN0cmluZy4KK1BBU1MgIjIwMDktMDQtMzEiIGlzIGEgY29ycmVj
dCBpbnZhbGlkIGRhdGUgc3RyaW5nLgorUEFTUyAiMjAwOS0wNS0zMiIgaXMgYSBjb3JyZWN0IGlu
dmFsaWQgZGF0ZSBzdHJpbmcuCitQQVNTICIyMDA5LTA2LTMxIiBpcyBhIGNvcnJlY3QgaW52YWxp
ZCBkYXRlIHN0cmluZy4KK1BBU1MgIjIwMDktMDctMzIiIGlzIGEgY29ycmVjdCBpbnZhbGlkIGRh
dGUgc3RyaW5nLgorUEFTUyAiMjAwOS0wOC0zMiIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZSBz
dHJpbmcuCitQQVNTICIyMDA5LTA5LTMxIiBpcyBhIGNvcnJlY3QgaW52YWxpZCBkYXRlIHN0cmlu
Zy4KK1BBU1MgIjIwMDktMTAtMzIiIGlzIGEgY29ycmVjdCBpbnZhbGlkIGRhdGUgc3RyaW5nLgor
UEFTUyAiMjAwOS0xMS0zMSIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZSBzdHJpbmcuCitQQVNT
ICIyMDA5LTEyLTMyIiBpcyBhIGNvcnJlY3QgaW52YWxpZCBkYXRlIHN0cmluZy4KK1BBU1MgIjIx
MDAtMDItMjkiIGlzIGEgY29ycmVjdCBpbnZhbGlkIGRhdGUgc3RyaW5nLgorUEFTUyAiMjAwOS0w
OS0wMCIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZSBzdHJpbmcuCitQQVNTICIyMDA5LTA5LSIg
aXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZSBzdHJpbmcuCitQQVNTICIyMDA5LTA5LTciIGlzIGEg
Y29ycmVjdCBpbnZhbGlkIGRhdGUgc3RyaW5nLgorUEFTUyAiMjAwOS0wOS0wMDEiIGlzIGEgY29y
cmVjdCBpbnZhbGlkIGRhdGUgc3RyaW5nLgorUEFTUyAiMjAwOS0wOS14eCIgaXMgYSBjb3JyZWN0
IGludmFsaWQgZGF0ZSBzdHJpbmcuCitQQVNTICIyMDA5LTA5IiBpcyBhIGNvcnJlY3QgaW52YWxp
ZCBkYXRlIHN0cmluZy4KK1BBU1MgIjIwMDkiIGlzIGEgY29ycmVjdCBpbnZhbGlkIGRhdGUgc3Ry
aW5nLgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlz
bWF0Y2gtZGF0ZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5
cGVNaXNtYXRjaC1kYXRlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u
NjY4NmFlMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRp
dHlTdGF0ZS10eXBlTWlzbWF0Y2gtZGF0ZS5odG1sCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRl
c3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlv
biI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRl
c3RzL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLWRhdGUuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1Zh
bGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLWRhdGV0aW1lLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtZGF0ZXRpbWUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjljNTdjZTEKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1p
c21hdGNoLWRhdGV0aW1lLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM5IEBACitUaGlzIHRlc3Qg
YWltcyB0byBjaGVjayBmb3IgdHlwZU1pc21hdGNoIGZsYWcgd2l0aCB0eXBlPWRhdGV0aW1lIGlu
cHV0IGZpZWxkcworCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyAiIiBpcyBh
IGNvcnJlY3QgdmFsaWQgZGF0ZXRpbWUgc3RyaW5nLgorUEFTUyAiMjAwOS0wOS0wN1QxNjo0OVoi
IGlzIGEgY29ycmVjdCB2YWxpZCBkYXRldGltZSBzdHJpbmcuCitQQVNTICIyMDA5LTA5LTA3VDE2
OjQ5OjMxWiIgaXMgYSBjb3JyZWN0IHZhbGlkIGRhdGV0aW1lIHN0cmluZy4KK1BBU1MgIjIwMDkt
MDktMDdUMTY6NDk6MzEuMVoiIGlzIGEgY29ycmVjdCB2YWxpZCBkYXRldGltZSBzdHJpbmcuCitQ
QVNTICIyMDA5LTA5LTA3VDE2OjQ5OjMxLjEyWiIgaXMgYSBjb3JyZWN0IHZhbGlkIGRhdGV0aW1l
IHN0cmluZy4KK1BBU1MgIjIwMDktMDktMDdUMTY6NDk6MzEuMTIzWiIgaXMgYSBjb3JyZWN0IHZh
bGlkIGRhdGV0aW1lIHN0cmluZy4KK1BBU1MgIjIwMDktMDktMDdUMTY6NDk6MzEuMTIzNDU2Nzg5
MFoiIGlzIGEgY29ycmVjdCB2YWxpZCBkYXRldGltZSBzdHJpbmcuCitQQVNTICIyMTQ3NDgzNjQ3
LTEyLTMxVDIzOjU5OjU5Ljk5OVoiIGlzIGEgY29ycmVjdCB2YWxpZCBkYXRldGltZSBzdHJpbmcu
CitQQVNTICIxNTgyLTEwLTE1VDAwOjAwOjAwLjAwMFoiIGlzIGEgY29ycmVjdCB2YWxpZCBkYXRl
dGltZSBzdHJpbmcuCitQQVNTICIxNTgyLTEwLTE1VDAwOjAwOjAwLjAwMCswMDowMCIgaXMgYSBj
b3JyZWN0IHZhbGlkIGRhdGV0aW1lIHN0cmluZy4KK1BBU1MgIjE1ODItMTAtMTVUMDE6MzArMDE6
MzAiIGlzIGEgY29ycmVjdCB2YWxpZCBkYXRldGltZSBzdHJpbmcuCitQQVNTICIxNTgyLTEwLTE1
VDAwOjAwKzAxOjAwIiBpcyBhIGNvcnJlY3QgdmFsaWQgZGF0ZXRpbWUgc3RyaW5nLgorUEFTUyAi
IDIwMDktMDktMDdUMTY6NDlaICIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZXRpbWUgc3RyaW5n
LgorUEFTUyAiMjAwOS0wOS0wN1QxNjo0OXoiIGlzIGEgY29ycmVjdCBpbnZhbGlkIGRhdGV0aW1l
IHN0cmluZy4KK1BBU1MgIjIwMDktMDktMDd0MTY6NDlaIiBpcyBhIGNvcnJlY3QgaW52YWxpZCBk
YXRldGltZSBzdHJpbmcuCitQQVNTICIyMDA5LTA5LTA3VDE2OjQ5IiBpcyBhIGNvcnJlY3QgaW52
YWxpZCBkYXRldGltZSBzdHJpbmcuCitQQVNTICIyMDA5LzA5LzA3VDE2OjQ5WiIgaXMgYSBjb3Jy
ZWN0IGludmFsaWQgZGF0ZXRpbWUgc3RyaW5nLgorUEFTUyAiYSIgaXMgYSBjb3JyZWN0IGludmFs
aWQgZGF0ZXRpbWUgc3RyaW5nLgorUEFTUyAiLTEtMDktMDdUMTY6NDlaIiBpcyBhIGNvcnJlY3Qg
aW52YWxpZCBkYXRldGltZSBzdHJpbmcuCitQQVNTICIyMDA5LTA5LTA3VDE2OjQ5KzIzIiBpcyBh
IGNvcnJlY3QgaW52YWxpZCBkYXRldGltZSBzdHJpbmcuCitQQVNTICIyMDA5LTA5LTA3VDE2OjQ5
KzIzOiIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZXRpbWUgc3RyaW5nLgorUEFTUyAiMjAwOS0w
OS0wN1QxNjo0OSsyNDowMCIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZXRpbWUgc3RyaW5nLgor
UEFTUyAiMjAwOS0wOS0wN1QxNjo0OSsyMzo2MCIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZXRp
bWUgc3RyaW5nLgorUEFTUyAiMjAwOS0wOS0wN1QxNjo0OS0yMyIgaXMgYSBjb3JyZWN0IGludmFs
aWQgZGF0ZXRpbWUgc3RyaW5nLgorUEFTUyAiMjAwOS0wOS0wN1QxNjo0OS0yMzoiIGlzIGEgY29y
cmVjdCBpbnZhbGlkIGRhdGV0aW1lIHN0cmluZy4KK1BBU1MgIjIwMDktMDktMDdUMTY6NDktMjQ6
MDAiIGlzIGEgY29ycmVjdCBpbnZhbGlkIGRhdGV0aW1lIHN0cmluZy4KK1BBU1MgIjIwMDktMDkt
MDdUMTY6NDktMjM6NjAiIGlzIGEgY29ycmVjdCBpbnZhbGlkIGRhdGV0aW1lIHN0cmluZy4KK1BB
U1MgIjE1ODItMTAtMTRUMjM6NTk6NTlaIiBpcyBhIGNvcnJlY3QgaW52YWxpZCBkYXRldGltZSBz
dHJpbmcuCitQQVNTICIyMTQ3NDgzNjQ3LTEyLTMxVDIzOjU5LTAwOjAxIiBpcyBhIGNvcnJlY3Qg
aW52YWxpZCBkYXRldGltZSBzdHJpbmcuCitQQVNTICIyMTQ3NDgzNjQ4LTAxLTAxVDAwOjAwOjAw
WiIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZXRpbWUgc3RyaW5nLgorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtZGF0ZXRpbWUuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtZGF0ZXRp
bWUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MDYzZTdjCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVN
aXNtYXRjaC1kYXRldGltZS5odG1sCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9
InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUu
Y3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL1ZhbGlk
aXR5U3RhdGUtdHlwZU1pc21hdGNoLWRhdGV0aW1lLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0
eVN0YXRlLXR5cGVNaXNtYXRjaC1kYXRldGltZWxvY2FsLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtZGF0ZXRpbWVsb2NhbC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTg5N2QwNgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10
eXBlTWlzbWF0Y2gtZGF0ZXRpbWVsb2NhbC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyNiBAQAor
VGhpcyB0ZXN0IGFpbXMgdG8gY2hlY2sgZm9yIHR5cGVNaXNtYXRjaCBmbGFnIHdpdGggdHlwZT1k
YXRldGltZS1sb2NhbCBpbnB1dCBmaWVsZHMKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CisKK1BBU1MgIiIgaXMgYSBjb3JyZWN0IHZhbGlkIGRhdGV0aW1lLWxvY2FsIHN0cmluZy4KK1BB
U1MgIjIwMDktMDktMDdUMTY6NDkiIGlzIGEgY29ycmVjdCB2YWxpZCBkYXRldGltZS1sb2NhbCBz
dHJpbmcuCitQQVNTICIyMDA5LTA5LTA3VDE2OjQ5OjMxIiBpcyBhIGNvcnJlY3QgdmFsaWQgZGF0
ZXRpbWUtbG9jYWwgc3RyaW5nLgorUEFTUyAiMjAwOS0wOS0wN1QxNjo0OTozMS4xIiBpcyBhIGNv
cnJlY3QgdmFsaWQgZGF0ZXRpbWUtbG9jYWwgc3RyaW5nLgorUEFTUyAiMjAwOS0wOS0wN1QxNjo0
OTozMS4xMiIgaXMgYSBjb3JyZWN0IHZhbGlkIGRhdGV0aW1lLWxvY2FsIHN0cmluZy4KK1BBU1Mg
IjIwMDktMDktMDdUMTY6NDk6MzEuMTIzIiBpcyBhIGNvcnJlY3QgdmFsaWQgZGF0ZXRpbWUtbG9j
YWwgc3RyaW5nLgorUEFTUyAiMjAwOS0wOS0wN1QxNjo0OTozMS4xMjM0NTY3ODkwIiBpcyBhIGNv
cnJlY3QgdmFsaWQgZGF0ZXRpbWUtbG9jYWwgc3RyaW5nLgorUEFTUyAiMjE0NzQ4MzY0Ny0xMi0z
MVQyMzo1OTo1OS45OTkiIGlzIGEgY29ycmVjdCB2YWxpZCBkYXRldGltZS1sb2NhbCBzdHJpbmcu
CitQQVNTICIxNTgyLTEwLTE1VDAwOjAwOjAwLjAwMCIgaXMgYSBjb3JyZWN0IHZhbGlkIGRhdGV0
aW1lLWxvY2FsIHN0cmluZy4KK1BBU1MgIiAyMDA5LTA5LTA3VDE2OjQ5ICIgaXMgYSBjb3JyZWN0
IGludmFsaWQgZGF0ZXRpbWUtbG9jYWwgc3RyaW5nLgorUEFTUyAiMjAwOS0wOS0wN3QxNjo0OSIg
aXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZXRpbWUtbG9jYWwgc3RyaW5nLgorUEFTUyAiMjAwOS0w
OS0wNyAxNjo0OSIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZXRpbWUtbG9jYWwgc3RyaW5nLgor
UEFTUyAiMjAwOS8wOS8wN1QxNjo0OSIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZXRpbWUtbG9j
YWwgc3RyaW5nLgorUEFTUyAiYSIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZXRpbWUtbG9jYWwg
c3RyaW5nLgorUEFTUyAiLTEtMDktMDdUMTY6NDkiIGlzIGEgY29ycmVjdCBpbnZhbGlkIGRhdGV0
aW1lLWxvY2FsIHN0cmluZy4KK1BBU1MgIjE1ODItMTAtMTRUMjM6NTk6NTkiIGlzIGEgY29ycmVj
dCBpbnZhbGlkIGRhdGV0aW1lLWxvY2FsIHN0cmluZy4KK1BBU1MgIjIxNDc0ODM2NDgtMDEtMDFU
MDA6MDA6MDAiIGlzIGEgY29ycmVjdCBpbnZhbGlkIGRhdGV0aW1lLWxvY2FsIHN0cmluZy4KK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLWRh
dGV0aW1lbG9jYWwuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10
eXBlTWlzbWF0Y2gtZGF0ZXRpbWVsb2NhbC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAuLjYyNWFiY2EKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLWRhdGV0aW1lbG9jYWwuaHRtbApAQCAtMCww
ICsxLDEzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+
Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9mYXN0
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFz
dC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdCBzcmM9InNjcmlwdC10ZXN0cy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1kYXRldGlt
ZWxvY2FsLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1tb250
aC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlw
ZU1pc21hdGNoLW1vbnRoLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwLi40YWI4ZTRmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1tb250aC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSw0MSBAQAorVGhpcyB0ZXN0IGFpbXMgdG8gY2hlY2sgZm9yIHR5cGVNaXNtYXRjaCBmbGFnIHdp
dGggdHlwZT1tb250aCBpbnB1dCBmaWVsZHMKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CisKK1BBU1MgIiIgaXMgYSBjb3JyZWN0IHZhbGlkIG1vbnRoIHN0cmluZy4KK1BBU1MgIjE1ODIt
MTAiIGlzIGEgY29ycmVjdCB2YWxpZCBtb250aCBzdHJpbmcuCitQQVNTICI5OTk5LTEyIiBpcyBh
IGNvcnJlY3QgdmFsaWQgbW9udGggc3RyaW5nLgorUEFTUyAiMjE0NzQ4MzY0Ny0xMiIgaXMgYSBj
b3JyZWN0IHZhbGlkIG1vbnRoIHN0cmluZy4KK1BBU1MgIjIwMDktMDEiIGlzIGEgY29ycmVjdCB2
YWxpZCBtb250aCBzdHJpbmcuCitQQVNTICIyMDA5LTAyIiBpcyBhIGNvcnJlY3QgdmFsaWQgbW9u
dGggc3RyaW5nLgorUEFTUyAiMjAwOS0wMyIgaXMgYSBjb3JyZWN0IHZhbGlkIG1vbnRoIHN0cmlu
Zy4KK1BBU1MgIjIwMDktMDQiIGlzIGEgY29ycmVjdCB2YWxpZCBtb250aCBzdHJpbmcuCitQQVNT
ICIyMDA5LTA1IiBpcyBhIGNvcnJlY3QgdmFsaWQgbW9udGggc3RyaW5nLgorUEFTUyAiMjAwOS0w
NiIgaXMgYSBjb3JyZWN0IHZhbGlkIG1vbnRoIHN0cmluZy4KK1BBU1MgIjIwMDktMDciIGlzIGEg
Y29ycmVjdCB2YWxpZCBtb250aCBzdHJpbmcuCitQQVNTICIyMDA5LTA4IiBpcyBhIGNvcnJlY3Qg
dmFsaWQgbW9udGggc3RyaW5nLgorUEFTUyAiMjAwOS0wOSIgaXMgYSBjb3JyZWN0IHZhbGlkIG1v
bnRoIHN0cmluZy4KK1BBU1MgIjIwMDktMTAiIGlzIGEgY29ycmVjdCB2YWxpZCBtb250aCBzdHJp
bmcuCitQQVNTICIyMDA5LTExIiBpcyBhIGNvcnJlY3QgdmFsaWQgbW9udGggc3RyaW5nLgorUEFT
UyAiMjAwOS0xMiIgaXMgYSBjb3JyZWN0IHZhbGlkIG1vbnRoIHN0cmluZy4KK1BBU1MgIiAyMDA5
LTA5ICIgaXMgYSBjb3JyZWN0IGludmFsaWQgbW9udGggc3RyaW5nLgorUEFTUyAiYSIgaXMgYSBj
b3JyZWN0IGludmFsaWQgbW9udGggc3RyaW5nLgorUEFTUyAiLTEtMDkiIGlzIGEgY29ycmVjdCBp
bnZhbGlkIG1vbnRoIHN0cmluZy4KK1BBU1MgIjE1ODEtMTAiIGlzIGEgY29ycmVjdCBpbnZhbGlk
IG1vbnRoIHN0cmluZy4KK1BBU1MgIjE1ODItMDkiIGlzIGEgY29ycmVjdCBpbnZhbGlkIG1vbnRo
IHN0cmluZy4KK1BBU1MgIjIxNDc0ODM2NDgtMTIiIGlzIGEgY29ycmVjdCBpbnZhbGlkIG1vbnRo
IHN0cmluZy4KK1BBU1MgIjIwMDkvMDkiIGlzIGEgY29ycmVjdCBpbnZhbGlkIG1vbnRoIHN0cmlu
Zy4KK1BBU1MgIjIwMDkwOSIgaXMgYSBjb3JyZWN0IGludmFsaWQgbW9udGggc3RyaW5nLgorUEFT
UyAiMjAwOS0tMiIgaXMgYSBjb3JyZWN0IGludmFsaWQgbW9udGggc3RyaW5nLgorUEFTUyAiMjAw
OS0wMCIgaXMgYSBjb3JyZWN0IGludmFsaWQgbW9udGggc3RyaW5nLgorUEFTUyAiMjAwOS0xMyIg
aXMgYSBjb3JyZWN0IGludmFsaWQgbW9udGggc3RyaW5nLgorUEFTUyAiMjAwOS0iIGlzIGEgY29y
cmVjdCBpbnZhbGlkIG1vbnRoIHN0cmluZy4KK1BBU1MgIjIwMDktOSIgaXMgYSBjb3JyZWN0IGlu
dmFsaWQgbW9udGggc3RyaW5nLgorUEFTUyAiMjAwOS0wMDkiIGlzIGEgY29ycmVjdCBpbnZhbGlk
IG1vbnRoIHN0cmluZy4KK1BBU1MgIjIwMDkteHgiIGlzIGEgY29ycmVjdCBpbnZhbGlkIG1vbnRo
IHN0cmluZy4KK1BBU1MgIjIwMDkiIGlzIGEgY29ycmVjdCBpbnZhbGlkIG1vbnRoIHN0cmluZy4K
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNo
LW1vbnRoLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1p
c21hdGNoLW1vbnRoLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTI2
OWQzOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlT
dGF0ZS10eXBlTWlzbWF0Y2gtbW9udGguaHRtbApAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUg
SFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxp
bmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0
LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0
cy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1tb250aC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFs
aWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtdGltZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLXRpbWUtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJmMGEwNjkKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLXRp
bWUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzkgQEAKK1RoaXMgdGVzdCBhaW1zIHRvIGNoZWNr
IGZvciB0eXBlTWlzbWF0Y2ggZmxhZyB3aXRoIHR5cGU9dGltZSBpbnB1dCBmaWVsZHMKKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgIiIgaXMgYSBjb3JyZWN0IHZhbGlkIHRp
bWUgc3RyaW5nLgorUEFTUyAiMDA6MDAiIGlzIGEgY29ycmVjdCB2YWxpZCB0aW1lIHN0cmluZy4K
K1BBU1MgIjIzOjU5IiBpcyBhIGNvcnJlY3QgdmFsaWQgdGltZSBzdHJpbmcuCitQQVNTICIyMzo1
OTo1OSIgaXMgYSBjb3JyZWN0IHZhbGlkIHRpbWUgc3RyaW5nLgorUEFTUyAiMjM6NTk6NTkuMSIg
aXMgYSBjb3JyZWN0IHZhbGlkIHRpbWUgc3RyaW5nLgorUEFTUyAiMjM6NTk6NTkuMTIiIGlzIGEg
Y29ycmVjdCB2YWxpZCB0aW1lIHN0cmluZy4KK1BBU1MgIjIzOjU5OjU5LjEyMyIgaXMgYSBjb3Jy
ZWN0IHZhbGlkIHRpbWUgc3RyaW5nLgorUEFTUyAiMjM6NTk6NTkuMTIzNDU2Nzg5MCIgaXMgYSBj
b3JyZWN0IHZhbGlkIHRpbWUgc3RyaW5nLgorUEFTUyAiMDA6MDA6MDAuMDAwMDAwMDAwMCIgaXMg
YSBjb3JyZWN0IHZhbGlkIHRpbWUgc3RyaW5nLgorUEFTUyAiIDAwOjAwICIgaXMgYSBjb3JyZWN0
IGludmFsaWQgdGltZSBzdHJpbmcuCitQQVNTICIxOjIzIiBpcyBhIGNvcnJlY3QgaW52YWxpZCB0
aW1lIHN0cmluZy4KK1BBU1MgIjAxMToxMSIgaXMgYSBjb3JyZWN0IGludmFsaWQgdGltZSBzdHJp
bmcuCitQQVNTICJhYjoxMSIgaXMgYSBjb3JyZWN0IGludmFsaWQgdGltZSBzdHJpbmcuCitQQVNT
ICItMToxMSIgaXMgYSBjb3JyZWN0IGludmFsaWQgdGltZSBzdHJpbmcuCitQQVNTICIyNDoxMSIg
aXMgYSBjb3JyZWN0IGludmFsaWQgdGltZSBzdHJpbmcuCitQQVNTICIxMSIgaXMgYSBjb3JyZWN0
IGludmFsaWQgdGltZSBzdHJpbmcuCitQQVNTICIxMS0iIGlzIGEgY29ycmVjdCBpbnZhbGlkIHRp
bWUgc3RyaW5nLgorUEFTUyAiMTE6LTIiIGlzIGEgY29ycmVjdCBpbnZhbGlkIHRpbWUgc3RyaW5n
LgorUEFTUyAiMTE6NjAiIGlzIGEgY29ycmVjdCBpbnZhbGlkIHRpbWUgc3RyaW5nLgorUEFTUyAi
MTE6MmIiIGlzIGEgY29ycmVjdCBpbnZhbGlkIHRpbWUgc3RyaW5nLgorUEFTUyAiMTE6YWIiIGlz
IGEgY29ycmVjdCBpbnZhbGlkIHRpbWUgc3RyaW5nLgorUEFTUyAiMTE6MDM0IiBpcyBhIGNvcnJl
Y3QgaW52YWxpZCB0aW1lIHN0cmluZy4KK1BBU1MgIjIzOjQ1OiIgaXMgYSBjb3JyZWN0IGludmFs
aWQgdGltZSBzdHJpbmcuCitQQVNTICIyMzo0NTo2IiBpcyBhIGNvcnJlY3QgaW52YWxpZCB0aW1l
IHN0cmluZy4KK1BBU1MgIjIzOjQ1Oi0xIiBpcyBhIGNvcnJlY3QgaW52YWxpZCB0aW1lIHN0cmlu
Zy4KK1BBU1MgIjIzOjQ1OjcwIiBpcyBhIGNvcnJlY3QgaW52YWxpZCB0aW1lIHN0cmluZy4KK1BB
U1MgIjIzOjQ1Onp6IiBpcyBhIGNvcnJlY3QgaW52YWxpZCB0aW1lIHN0cmluZy4KK0ZBSUwgIjIz
OjQ1OjA2LiIgaXMgYW4gaW5jb3JyZWN0IHZhbGlkIHRpbWUgc3RyaW5nLgorUEFTUyAiMjM6NDU6
MDYuYWJjIiBpcyBhIGNvcnJlY3QgaW52YWxpZCB0aW1lIHN0cmluZy4KK1BBU1MgIjIzOjQ1OjA2
Ljc4OWFiYyIgaXMgYSBjb3JyZWN0IGludmFsaWQgdGltZSBzdHJpbmcuCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC10aW1lLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLXRpbWUuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NjQxMjlhCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRj
aC10aW1lLmh0bWwKQEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVl
dCIgaHJlZj0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvVmFsaWRpdHlTdGF0ZS10
eXBlTWlzbWF0Y2gtdGltZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlz
bWF0Y2gtd2Vlay1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5
U3RhdGUtdHlwZU1pc21hdGNoLXdlZWstZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAuLmRmOWEyNmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLXdlZWstZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzUgQEAKK1RoaXMgdGVzdCBhaW1zIHRvIGNoZWNrIGZvciB0eXBlTWlzbWF0Y2gg
ZmxhZyB3aXRoIHR5cGU9d2VlayBpbnB1dCBmaWVsZHMKKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCisKK1BBU1MgIiIgaXMgYSBjb3JyZWN0IHZhbGlkIHdlZWsgc3RyaW5nLgorUEFTUyAi
MTU4My1XMDEiIGlzIGEgY29ycmVjdCB2YWxpZCB3ZWVrIHN0cmluZy4KK1BBU1MgIjk5OTktVzUy
IiBpcyBhIGNvcnJlY3QgdmFsaWQgd2VlayBzdHJpbmcuCitQQVNTICIyMTQ3NDgzNjQ3LVc1MiIg
aXMgYSBjb3JyZWN0IHZhbGlkIHdlZWsgc3RyaW5nLgorUEFTUyAiMjAwOS1XMDEiIGlzIGEgY29y
cmVjdCB2YWxpZCB3ZWVrIHN0cmluZy4KK1BBU1MgIjIwMDQtVzUzIiBpcyBhIGNvcnJlY3QgdmFs
aWQgd2VlayBzdHJpbmcuCitQQVNTICIyMDAzLVc1MiIgaXMgYSBjb3JyZWN0IHZhbGlkIHdlZWsg
c3RyaW5nLgorUEFTUyAiMTk5Mi1XNTMiIGlzIGEgY29ycmVjdCB2YWxpZCB3ZWVrIHN0cmluZy4K
K1BBU1MgIiAyMDA5LVcwMSAiIGlzIGEgY29ycmVjdCBpbnZhbGlkIHdlZWsgc3RyaW5nLgorUEFT
UyAiMjAwOVcwMSIgaXMgYSBjb3JyZWN0IGludmFsaWQgd2VlayBzdHJpbmcuCitQQVNTICIyMDA5
LXcwMSIgaXMgYSBjb3JyZWN0IGludmFsaWQgd2VlayBzdHJpbmcuCitQQVNTICIyMDA5LVcxIiBp
cyBhIGNvcnJlY3QgaW52YWxpZCB3ZWVrIHN0cmluZy4KK1BBU1MgIjIwMDktVzAwMSIgaXMgYSBj
b3JyZWN0IGludmFsaWQgd2VlayBzdHJpbmcuCitQQVNTICJhIiBpcyBhIGNvcnJlY3QgaW52YWxp
ZCB3ZWVrIHN0cmluZy4KK1BBU1MgIi0xLVcwOSIgaXMgYSBjb3JyZWN0IGludmFsaWQgd2VlayBz
dHJpbmcuCitQQVNTICIxNTgyLVc1MiIgaXMgYSBjb3JyZWN0IGludmFsaWQgd2VlayBzdHJpbmcu
CitQQVNTICIyMTQ3NDgzNjQ4LVcwMSIgaXMgYSBjb3JyZWN0IGludmFsaWQgd2VlayBzdHJpbmcu
CitQQVNTICIyMDA5LVcwMCIgaXMgYSBjb3JyZWN0IGludmFsaWQgd2VlayBzdHJpbmcuCitQQVNT
ICIyMDA5LVctMSIgaXMgYSBjb3JyZWN0IGludmFsaWQgd2VlayBzdHJpbmcuCitQQVNTICIyMDA0
LVc1NCIgaXMgYSBjb3JyZWN0IGludmFsaWQgd2VlayBzdHJpbmcuCitQQVNTICIyMDAzLVc1MyIg
aXMgYSBjb3JyZWN0IGludmFsaWQgd2VlayBzdHJpbmcuCitQQVNTICIxOTkyLVc1NCIgaXMgYSBj
b3JyZWN0IGludmFsaWQgd2VlayBzdHJpbmcuCitQQVNTICIyMDA5LzA5IiBpcyBhIGNvcnJlY3Qg
aW52YWxpZCB3ZWVrIHN0cmluZy4KK1BBU1MgIjIwMDkwOSIgaXMgYSBjb3JyZWN0IGludmFsaWQg
d2VlayBzdHJpbmcuCitQQVNTICIyMDA5LVd4eCIgaXMgYSBjb3JyZWN0IGludmFsaWQgd2VlayBz
dHJpbmcuCitQQVNTICIyMDA5IiBpcyBhIGNvcnJlY3QgaW52YWxpZCB3ZWVrIHN0cmluZy4KK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLXdl
ZWsuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0
Y2gtd2Vlay5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk1ODk3YTIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUt
dHlwZU1pc21hdGNoLXdlZWsuaHRtbApAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgSFRNTCBQ
VUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVs
PSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxl
LmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9WYWxp
ZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC13ZWVrLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVz
dHMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtZGF0ZS5qcyBiL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvc2NyaXB0LXRlc3RzL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLWRhdGUuanMKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDk3MjgwMAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL1ZhbGlkaXR5U3RhdGUtdHlw
ZU1pc21hdGNoLWRhdGUuanMKQEAgLTAsMCArMSw4MyBAQAorZGVzY3JpcHRpb24oJ1RoaXMgdGVz
dCBhaW1zIHRvIGNoZWNrIGZvciB0eXBlTWlzbWF0Y2ggZmxhZyB3aXRoIHR5cGU9ZGF0ZSBpbnB1
dCBmaWVsZHMnKTsKK3ZhciBpID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTsKK2ku
dHlwZSA9ICdkYXRlJzsKKworZnVuY3Rpb24gY2hlY2sodmFsdWUsIG1pc21hdGNoRXhwZWN0ZWQp
Cit7CisgICAgaS52YWx1ZSA9IHZhbHVlOworICAgIHZhciBhY3R1YWwgPSBpLnZhbGlkaXR5LnR5
cGVNaXNtYXRjaDsKKyAgICB2YXIgZGlkUGFzcyA9IGFjdHVhbCA9PSBtaXNtYXRjaEV4cGVjdGVk
OworICAgIHZhciByZXN1bHRUZXh0ID0gJyInICsgdmFsdWUgKyAnIiBpcyAnICsgKGRpZFBhc3Mg
PyAnYSBjb3JyZWN0ICcgOiAnYW4gaW5jb3JyZWN0ICcpICsgKGFjdHVhbCA/ICdpbnZhbGlkJyA6
ICd2YWxpZCcpICsgJyBkYXRlIHN0cmluZy4nOworICAgIGlmIChkaWRQYXNzKQorICAgICAgICB0
ZXN0UGFzc2VkKHJlc3VsdFRleHQpOworICAgIGVsc2UKKyAgICAgICAgdGVzdEZhaWxlZChyZXN1
bHRUZXh0KTsKK30KKworZnVuY3Rpb24gc2hvdWxkQmVWYWxpZCh2YWx1ZSkKK3sKKyAgICBjaGVj
ayh2YWx1ZSwgZmFsc2UpOworfQorCitmdW5jdGlvbiBzaG91bGRCZUludmFsaWQodmFsdWUpCit7
CisgICAgY2hlY2sodmFsdWUsIHRydWUpOworfQorCisvLyBWYWxpZCB2YWx1ZXMKK3Nob3VsZEJl
VmFsaWQoJycpOworc2hvdWxkQmVWYWxpZCgnMjAwOS0wOS0wNycpOworc2hvdWxkQmVWYWxpZCgn
OTk5OS0xMi0zMScpOworc2hvdWxkQmVWYWxpZCgnMjE0NzQ4MzY0Ny0xMi0zMScpOworc2hvdWxk
QmVWYWxpZCgnMTU4Mi0xMC0xNScpOworc2hvdWxkQmVWYWxpZCgnMjAwOS0wMS0zMScpOworc2hv
dWxkQmVWYWxpZCgnMjAwOS0wMi0yOCcpOworc2hvdWxkQmVWYWxpZCgnMjAwOS0wMy0zMScpOwor
c2hvdWxkQmVWYWxpZCgnMjAwOS0wNC0zMCcpOworc2hvdWxkQmVWYWxpZCgnMjAwOS0wNS0zMScp
Oworc2hvdWxkQmVWYWxpZCgnMjAwOS0wNi0zMCcpOworc2hvdWxkQmVWYWxpZCgnMjAwOS0wNy0z
MScpOworc2hvdWxkQmVWYWxpZCgnMjAwOS0wOC0zMScpOworc2hvdWxkQmVWYWxpZCgnMjAwOS0w
OS0zMCcpOworc2hvdWxkQmVWYWxpZCgnMjAwOS0xMC0zMScpOworc2hvdWxkQmVWYWxpZCgnMjAw
OS0xMS0zMCcpOworc2hvdWxkQmVWYWxpZCgnMjAwOS0xMi0zMScpOworc2hvdWxkQmVWYWxpZCgn
MjAwOC0wMi0yOScpOworc2hvdWxkQmVWYWxpZCgnMjAwMC0wMi0yOScpOworCisvLyBJbnZhbGlk
IHZhbHVlcworc2hvdWxkQmVJbnZhbGlkKCcgMjAwOS0wOS0wNyAnKTsKK3Nob3VsZEJlSW52YWxp
ZCgnYScpOworc2hvdWxkQmVJbnZhbGlkKCctMS0wOS0wNycpOworc2hvdWxkQmVJbnZhbGlkKCcx
NTgxLTA5LTA3Jyk7CitzaG91bGRCZUludmFsaWQoJzE1ODItMTAtMTQnKTsKK3Nob3VsZEJlSW52
YWxpZCgnMjE0NzQ4MzY0OC0xMi0zMScpOworc2hvdWxkQmVJbnZhbGlkKCcyMDA5LzA5LzA3Jyk7
CitzaG91bGRCZUludmFsaWQoJzIwMDkwOTA3Jyk7CitzaG91bGRCZUludmFsaWQoJzIwMDktLTIt
MDcnKTsKK3Nob3VsZEJlSW52YWxpZCgnMjAwOS0wMC0wNycpOworc2hvdWxkQmVJbnZhbGlkKCcy
MDA5LTEzLTA3Jyk7CitzaG91bGRCZUludmFsaWQoJzE1ODItMDktMzAnKTsKK3Nob3VsZEJlSW52
YWxpZCgnMjAwOS14eC0zMCcpOworc2hvdWxkQmVJbnZhbGlkKCcyMDA5LTAxLTMyJyk7CitzaG91
bGRCZUludmFsaWQoJzIwMDktMDItMjknKTsKK3Nob3VsZEJlSW52YWxpZCgnMjAwOS0wMy0zMicp
Oworc2hvdWxkQmVJbnZhbGlkKCcyMDA5LTA0LTMxJyk7CitzaG91bGRCZUludmFsaWQoJzIwMDkt
MDUtMzInKTsKK3Nob3VsZEJlSW52YWxpZCgnMjAwOS0wNi0zMScpOworc2hvdWxkQmVJbnZhbGlk
KCcyMDA5LTA3LTMyJyk7CitzaG91bGRCZUludmFsaWQoJzIwMDktMDgtMzInKTsKK3Nob3VsZEJl
SW52YWxpZCgnMjAwOS0wOS0zMScpOworc2hvdWxkQmVJbnZhbGlkKCcyMDA5LTEwLTMyJyk7Citz
aG91bGRCZUludmFsaWQoJzIwMDktMTEtMzEnKTsKK3Nob3VsZEJlSW52YWxpZCgnMjAwOS0xMi0z
MicpOworc2hvdWxkQmVJbnZhbGlkKCcyMTAwLTAyLTI5Jyk7CitzaG91bGRCZUludmFsaWQoJzIw
MDktMDktMDAnKTsKK3Nob3VsZEJlSW52YWxpZCgnMjAwOS0wOS0nKTsKK3Nob3VsZEJlSW52YWxp
ZCgnMjAwOS0wOS03Jyk7CitzaG91bGRCZUludmFsaWQoJzIwMDktMDktMDAxJyk7CitzaG91bGRC
ZUludmFsaWQoJzIwMDktMDkteHgnKTsKK3Nob3VsZEJlSW52YWxpZCgnMjAwOS0wOScpOworc2hv
dWxkQmVJbnZhbGlkKCcyMDA5Jyk7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvVmFsaWRpdHlT
dGF0ZS10eXBlTWlzbWF0Y2gtZGF0ZXRpbWUuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3Nj
cmlwdC10ZXN0cy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1kYXRldGltZS5qcwpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lOGY1ZGRkCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvVmFsaWRpdHlTdGF0ZS10eXBlTWlz
bWF0Y2gtZGF0ZXRpbWUuanMKQEAgLTAsMCArMSw2MSBAQAorZGVzY3JpcHRpb24oJ1RoaXMgdGVz
dCBhaW1zIHRvIGNoZWNrIGZvciB0eXBlTWlzbWF0Y2ggZmxhZyB3aXRoIHR5cGU9ZGF0ZXRpbWUg
aW5wdXQgZmllbGRzJyk7Cit2YXIgaSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7
CitpLnR5cGUgPSAnZGF0ZXRpbWUnOworCitmdW5jdGlvbiBjaGVjayh2YWx1ZSwgbWlzbWF0Y2hF
eHBlY3RlZCkKK3sKKyAgICBpLnZhbHVlID0gdmFsdWU7CisgICAgdmFyIGFjdHVhbCA9IGkudmFs
aWRpdHkudHlwZU1pc21hdGNoOworICAgIHZhciBkaWRQYXNzID0gYWN0dWFsID09IG1pc21hdGNo
RXhwZWN0ZWQ7CisgICAgdmFyIHJlc3VsdFRleHQgPSAnIicgKyB2YWx1ZSArICciIGlzICcgKyAo
ZGlkUGFzcyA/ICdhIGNvcnJlY3QgJyA6ICdhbiBpbmNvcnJlY3QgJykgKyAoYWN0dWFsID8gJ2lu
dmFsaWQnIDogJ3ZhbGlkJykgKyAnIGRhdGV0aW1lIHN0cmluZy4nOworICAgIGlmIChkaWRQYXNz
KQorICAgICAgICB0ZXN0UGFzc2VkKHJlc3VsdFRleHQpOworICAgIGVsc2UKKyAgICAgICAgdGVz
dEZhaWxlZChyZXN1bHRUZXh0KTsKK30KKworZnVuY3Rpb24gc2hvdWxkQmVWYWxpZCh2YWx1ZSkK
K3sKKyAgICBjaGVjayh2YWx1ZSwgZmFsc2UpOworfQorCitmdW5jdGlvbiBzaG91bGRCZUludmFs
aWQodmFsdWUpCit7CisgICAgY2hlY2sodmFsdWUsIHRydWUpOworfQorCisvLyBWYWxpZCB2YWx1
ZXMKK3Nob3VsZEJlVmFsaWQoJycpOworc2hvdWxkQmVWYWxpZCgnMjAwOS0wOS0wN1QxNjo0OVon
KTsKK3Nob3VsZEJlVmFsaWQoJzIwMDktMDktMDdUMTY6NDk6MzFaJyk7CitzaG91bGRCZVZhbGlk
KCcyMDA5LTA5LTA3VDE2OjQ5OjMxLjFaJyk7CitzaG91bGRCZVZhbGlkKCcyMDA5LTA5LTA3VDE2
OjQ5OjMxLjEyWicpOworc2hvdWxkQmVWYWxpZCgnMjAwOS0wOS0wN1QxNjo0OTozMS4xMjNaJyk7
CitzaG91bGRCZVZhbGlkKCcyMDA5LTA5LTA3VDE2OjQ5OjMxLjEyMzQ1Njc4OTBaJyk7CitzaG91
bGRCZVZhbGlkKCcyMTQ3NDgzNjQ3LTEyLTMxVDIzOjU5OjU5Ljk5OVonKTsKK3Nob3VsZEJlVmFs
aWQoJzE1ODItMTAtMTVUMDA6MDA6MDAuMDAwWicpOworc2hvdWxkQmVWYWxpZCgnMTU4Mi0xMC0x
NVQwMDowMDowMC4wMDArMDA6MDAnKTsKK3Nob3VsZEJlVmFsaWQoJzE1ODItMTAtMTVUMDE6MzAr
MDE6MzAnKTsKK3Nob3VsZEJlVmFsaWQoJzE1ODItMTAtMTVUMDA6MDArMDE6MDAnKTsKKworLy8g
SW52YWxpZCB2YWx1ZXMKK3Nob3VsZEJlSW52YWxpZCgnIDIwMDktMDktMDdUMTY6NDlaICcpOwor
c2hvdWxkQmVJbnZhbGlkKCcyMDA5LTA5LTA3VDE2OjQ5eicpOworc2hvdWxkQmVJbnZhbGlkKCcy
MDA5LTA5LTA3dDE2OjQ5WicpOworc2hvdWxkQmVJbnZhbGlkKCcyMDA5LTA5LTA3VDE2OjQ5Jyk7
CitzaG91bGRCZUludmFsaWQoJzIwMDkvMDkvMDdUMTY6NDlaJyk7CitzaG91bGRCZUludmFsaWQo
J2EnKTsKK3Nob3VsZEJlSW52YWxpZCgnLTEtMDktMDdUMTY6NDlaJyk7CitzaG91bGRCZUludmFs
aWQoJzIwMDktMDktMDdUMTY6NDkrMjMnKTsKK3Nob3VsZEJlSW52YWxpZCgnMjAwOS0wOS0wN1Qx
Njo0OSsyMzonKTsKK3Nob3VsZEJlSW52YWxpZCgnMjAwOS0wOS0wN1QxNjo0OSsyNDowMCcpOwor
c2hvdWxkQmVJbnZhbGlkKCcyMDA5LTA5LTA3VDE2OjQ5KzIzOjYwJyk7CitzaG91bGRCZUludmFs
aWQoJzIwMDktMDktMDdUMTY6NDktMjMnKTsKK3Nob3VsZEJlSW52YWxpZCgnMjAwOS0wOS0wN1Qx
Njo0OS0yMzonKTsKK3Nob3VsZEJlSW52YWxpZCgnMjAwOS0wOS0wN1QxNjo0OS0yNDowMCcpOwor
c2hvdWxkQmVJbnZhbGlkKCcyMDA5LTA5LTA3VDE2OjQ5LTIzOjYwJyk7CitzaG91bGRCZUludmFs
aWQoJzE1ODItMTAtMTRUMjM6NTk6NTlaJyk7CitzaG91bGRCZUludmFsaWQoJzIxNDc0ODM2NDct
MTItMzFUMjM6NTktMDA6MDEnKTsKK3Nob3VsZEJlSW52YWxpZCgnMjE0NzQ4MzY0OC0wMS0wMVQw
MDowMDowMFonKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9WYWxpZGl0eVN0YXRlLXR5cGVN
aXNtYXRjaC1kYXRldGltZWxvY2FsLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQt
dGVzdHMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtZGF0ZXRpbWVsb2NhbC5qcwpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNDA2ZTEyCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvVmFsaWRpdHlTdGF0ZS10eXBlTWlz
bWF0Y2gtZGF0ZXRpbWVsb2NhbC5qcwpAQCAtMCwwICsxLDQ4IEBACitkZXNjcmlwdGlvbignVGhp
cyB0ZXN0IGFpbXMgdG8gY2hlY2sgZm9yIHR5cGVNaXNtYXRjaCBmbGFnIHdpdGggdHlwZT1kYXRl
dGltZS1sb2NhbCBpbnB1dCBmaWVsZHMnKTsKK3ZhciBpID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgnaW5wdXQnKTsKK2kudHlwZSA9ICdkYXRldGltZS1sb2NhbCc7CisKK2Z1bmN0aW9uIGNoZWNr
KHZhbHVlLCBtaXNtYXRjaEV4cGVjdGVkKQoreworICAgIGkudmFsdWUgPSB2YWx1ZTsKKyAgICB2
YXIgYWN0dWFsID0gaS52YWxpZGl0eS50eXBlTWlzbWF0Y2g7CisgICAgdmFyIGRpZFBhc3MgPSBh
Y3R1YWwgPT0gbWlzbWF0Y2hFeHBlY3RlZDsKKyAgICB2YXIgcmVzdWx0VGV4dCA9ICciJyArIHZh
bHVlICsgJyIgaXMgJyArIChkaWRQYXNzID8gJ2EgY29ycmVjdCAnIDogJ2FuIGluY29ycmVjdCAn
KSArIChhY3R1YWwgPyAnaW52YWxpZCcgOiAndmFsaWQnKSArICcgZGF0ZXRpbWUtbG9jYWwgc3Ry
aW5nLic7CisgICAgaWYgKGRpZFBhc3MpCisgICAgICAgIHRlc3RQYXNzZWQocmVzdWx0VGV4dCk7
CisgICAgZWxzZQorICAgICAgICB0ZXN0RmFpbGVkKHJlc3VsdFRleHQpOworfQorCitmdW5jdGlv
biBzaG91bGRCZVZhbGlkKHZhbHVlKQoreworICAgIGNoZWNrKHZhbHVlLCBmYWxzZSk7Cit9CisK
K2Z1bmN0aW9uIHNob3VsZEJlSW52YWxpZCh2YWx1ZSkKK3sKKyAgICBjaGVjayh2YWx1ZSwgdHJ1
ZSk7Cit9CisKKy8vIFZhbGlkIHZhbHVlcworc2hvdWxkQmVWYWxpZCgnJyk7CitzaG91bGRCZVZh
bGlkKCcyMDA5LTA5LTA3VDE2OjQ5Jyk7CitzaG91bGRCZVZhbGlkKCcyMDA5LTA5LTA3VDE2OjQ5
OjMxJyk7CitzaG91bGRCZVZhbGlkKCcyMDA5LTA5LTA3VDE2OjQ5OjMxLjEnKTsKK3Nob3VsZEJl
VmFsaWQoJzIwMDktMDktMDdUMTY6NDk6MzEuMTInKTsKK3Nob3VsZEJlVmFsaWQoJzIwMDktMDkt
MDdUMTY6NDk6MzEuMTIzJyk7CitzaG91bGRCZVZhbGlkKCcyMDA5LTA5LTA3VDE2OjQ5OjMxLjEy
MzQ1Njc4OTAnKTsKK3Nob3VsZEJlVmFsaWQoJzIxNDc0ODM2NDctMTItMzFUMjM6NTk6NTkuOTk5
Jyk7CitzaG91bGRCZVZhbGlkKCcxNTgyLTEwLTE1VDAwOjAwOjAwLjAwMCcpOworCisvLyBJbnZh
bGlkIHZhbHVlcworc2hvdWxkQmVJbnZhbGlkKCcgMjAwOS0wOS0wN1QxNjo0OSAnKTsKK3Nob3Vs
ZEJlSW52YWxpZCgnMjAwOS0wOS0wN3QxNjo0OScpOworc2hvdWxkQmVJbnZhbGlkKCcyMDA5LTA5
LTA3IDE2OjQ5Jyk7CitzaG91bGRCZUludmFsaWQoJzIwMDkvMDkvMDdUMTY6NDknKTsKK3Nob3Vs
ZEJlSW52YWxpZCgnYScpOworc2hvdWxkQmVJbnZhbGlkKCctMS0wOS0wN1QxNjo0OScpOworc2hv
dWxkQmVJbnZhbGlkKCcxNTgyLTEwLTE0VDIzOjU5OjU5Jyk7CitzaG91bGRCZUludmFsaWQoJzIx
NDc0ODM2NDgtMDEtMDFUMDA6MDA6MDAnKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRy
dWU7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9WYWxp
ZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1tb250aC5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
c2NyaXB0LXRlc3RzL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLW1vbnRoLmpzCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEyNzYyMDQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNt
YXRjaC1tb250aC5qcwpAQCAtMCwwICsxLDYzIEBACitkZXNjcmlwdGlvbignVGhpcyB0ZXN0IGFp
bXMgdG8gY2hlY2sgZm9yIHR5cGVNaXNtYXRjaCBmbGFnIHdpdGggdHlwZT1tb250aCBpbnB1dCBm
aWVsZHMnKTsKK3ZhciBpID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTsKK2kudHlw
ZSA9ICdtb250aCc7CisKK2Z1bmN0aW9uIGNoZWNrKHZhbHVlLCBtaXNtYXRjaEV4cGVjdGVkKQor
eworICAgIGkudmFsdWUgPSB2YWx1ZTsKKyAgICB2YXIgYWN0dWFsID0gaS52YWxpZGl0eS50eXBl
TWlzbWF0Y2g7CisgICAgdmFyIGRpZFBhc3MgPSBhY3R1YWwgPT0gbWlzbWF0Y2hFeHBlY3RlZDsK
KyAgICB2YXIgcmVzdWx0VGV4dCA9ICciJyArIHZhbHVlICsgJyIgaXMgJyArIChkaWRQYXNzID8g
J2EgY29ycmVjdCAnIDogJ2FuIGluY29ycmVjdCAnKSArIChhY3R1YWwgPyAnaW52YWxpZCcgOiAn
dmFsaWQnKSArICcgbW9udGggc3RyaW5nLic7CisgICAgaWYgKGRpZFBhc3MpCisgICAgICAgIHRl
c3RQYXNzZWQocmVzdWx0VGV4dCk7CisgICAgZWxzZQorICAgICAgICB0ZXN0RmFpbGVkKHJlc3Vs
dFRleHQpOworfQorCitmdW5jdGlvbiBzaG91bGRCZVZhbGlkKHZhbHVlKQoreworICAgIGNoZWNr
KHZhbHVlLCBmYWxzZSk7Cit9CisKK2Z1bmN0aW9uIHNob3VsZEJlSW52YWxpZCh2YWx1ZSkKK3sK
KyAgICBjaGVjayh2YWx1ZSwgdHJ1ZSk7Cit9CisKKy8vIFZhbGlkIHZhbHVlcworc2hvdWxkQmVW
YWxpZCgnJyk7CitzaG91bGRCZVZhbGlkKCcxNTgyLTEwJyk7CitzaG91bGRCZVZhbGlkKCc5OTk5
LTEyJyk7CitzaG91bGRCZVZhbGlkKCcyMTQ3NDgzNjQ3LTEyJyk7CitzaG91bGRCZVZhbGlkKCcy
MDA5LTAxJyk7CitzaG91bGRCZVZhbGlkKCcyMDA5LTAyJyk7CitzaG91bGRCZVZhbGlkKCcyMDA5
LTAzJyk7CitzaG91bGRCZVZhbGlkKCcyMDA5LTA0Jyk7CitzaG91bGRCZVZhbGlkKCcyMDA5LTA1
Jyk7CitzaG91bGRCZVZhbGlkKCcyMDA5LTA2Jyk7CitzaG91bGRCZVZhbGlkKCcyMDA5LTA3Jyk7
CitzaG91bGRCZVZhbGlkKCcyMDA5LTA4Jyk7CitzaG91bGRCZVZhbGlkKCcyMDA5LTA5Jyk7Citz
aG91bGRCZVZhbGlkKCcyMDA5LTEwJyk7CitzaG91bGRCZVZhbGlkKCcyMDA5LTExJyk7CitzaG91
bGRCZVZhbGlkKCcyMDA5LTEyJyk7CisKKy8vIEludmFsaWQgdmFsdWVzCitzaG91bGRCZUludmFs
aWQoJyAyMDA5LTA5ICcpOworc2hvdWxkQmVJbnZhbGlkKCdhJyk7CitzaG91bGRCZUludmFsaWQo
Jy0xLTA5Jyk7CitzaG91bGRCZUludmFsaWQoJzE1ODEtMTAnKTsKK3Nob3VsZEJlSW52YWxpZCgn
MTU4Mi0wOScpOworc2hvdWxkQmVJbnZhbGlkKCcyMTQ3NDgzNjQ4LTEyJyk7CitzaG91bGRCZUlu
dmFsaWQoJzIwMDkvMDknKTsKK3Nob3VsZEJlSW52YWxpZCgnMjAwOTA5Jyk7CitzaG91bGRCZUlu
dmFsaWQoJzIwMDktLTInKTsKK3Nob3VsZEJlSW52YWxpZCgnMjAwOS0wMCcpOworc2hvdWxkQmVJ
bnZhbGlkKCcyMDA5LTEzJyk7CitzaG91bGRCZUludmFsaWQoJzIwMDktJyk7CitzaG91bGRCZUlu
dmFsaWQoJzIwMDktOScpOworc2hvdWxkQmVJbnZhbGlkKCcyMDA5LTAwOScpOworc2hvdWxkQmVJ
bnZhbGlkKCcyMDA5LXh4Jyk7CitzaG91bGRCZUludmFsaWQoJzIwMDknKTsKKwordmFyIHN1Y2Nl
c3NmdWxseVBhcnNlZCA9IHRydWU7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L3NjcmlwdC10ZXN0cy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC10aW1lLmpzIGIvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gt
dGltZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YWFkZWQ0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvVmFsaWRp
dHlTdGF0ZS10eXBlTWlzbWF0Y2gtdGltZS5qcwpAQCAtMCwwICsxLDYxIEBACitkZXNjcmlwdGlv
bignVGhpcyB0ZXN0IGFpbXMgdG8gY2hlY2sgZm9yIHR5cGVNaXNtYXRjaCBmbGFnIHdpdGggdHlw
ZT10aW1lIGlucHV0IGZpZWxkcycpOwordmFyIGkgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdp
bnB1dCcpOworaS50eXBlID0gJ3RpbWUnOworCitmdW5jdGlvbiBjaGVjayh2YWx1ZSwgbWlzbWF0
Y2hFeHBlY3RlZCkKK3sKKyAgICBpLnZhbHVlID0gdmFsdWU7CisgICAgdmFyIGFjdHVhbCA9IGku
dmFsaWRpdHkudHlwZU1pc21hdGNoOworICAgIHZhciBkaWRQYXNzID0gYWN0dWFsID09IG1pc21h
dGNoRXhwZWN0ZWQ7CisgICAgdmFyIHJlc3VsdFRleHQgPSAnIicgKyB2YWx1ZSArICciIGlzICcg
KyAoZGlkUGFzcyA/ICdhIGNvcnJlY3QgJyA6ICdhbiBpbmNvcnJlY3QgJykgKyAoYWN0dWFsID8g
J2ludmFsaWQnIDogJ3ZhbGlkJykgKyAnIHRpbWUgc3RyaW5nLic7CisgICAgaWYgKGRpZFBhc3Mp
CisgICAgICAgIHRlc3RQYXNzZWQocmVzdWx0VGV4dCk7CisgICAgZWxzZQorICAgICAgICB0ZXN0
RmFpbGVkKHJlc3VsdFRleHQpOworfQorCitmdW5jdGlvbiBzaG91bGRCZVZhbGlkKHZhbHVlKQor
eworICAgIGNoZWNrKHZhbHVlLCBmYWxzZSk7Cit9CisKK2Z1bmN0aW9uIHNob3VsZEJlSW52YWxp
ZCh2YWx1ZSkKK3sKKyAgICBjaGVjayh2YWx1ZSwgdHJ1ZSk7Cit9CisKKy8vIFZhbGlkIHZhbHVl
cworc2hvdWxkQmVWYWxpZCgnJyk7CitzaG91bGRCZVZhbGlkKCcwMDowMCcpOworc2hvdWxkQmVW
YWxpZCgnMjM6NTknKTsKK3Nob3VsZEJlVmFsaWQoJzIzOjU5OjU5Jyk7CitzaG91bGRCZVZhbGlk
KCcyMzo1OTo1OS4xJyk7CitzaG91bGRCZVZhbGlkKCcyMzo1OTo1OS4xMicpOworc2hvdWxkQmVW
YWxpZCgnMjM6NTk6NTkuMTIzJyk7CitzaG91bGRCZVZhbGlkKCcyMzo1OTo1OS4xMjM0NTY3ODkw
Jyk7CitzaG91bGRCZVZhbGlkKCcwMDowMDowMC4wMDAwMDAwMDAwJyk7CisKKy8vIEludmFsaWQg
dmFsdWVzCitzaG91bGRCZUludmFsaWQoJyAwMDowMCAnKTsKK3Nob3VsZEJlSW52YWxpZCgnMToy
MycpOworc2hvdWxkQmVJbnZhbGlkKCcwMTE6MTEnKTsKK3Nob3VsZEJlSW52YWxpZCgnYWI6MTEn
KTsKK3Nob3VsZEJlSW52YWxpZCgnLTE6MTEnKTsKK3Nob3VsZEJlSW52YWxpZCgnMjQ6MTEnKTsK
K3Nob3VsZEJlSW52YWxpZCgnMTEnKTsKK3Nob3VsZEJlSW52YWxpZCgnMTEtJyk7CitzaG91bGRC
ZUludmFsaWQoJzExOi0yJyk7CitzaG91bGRCZUludmFsaWQoJzExOjYwJyk7CitzaG91bGRCZUlu
dmFsaWQoJzExOjJiJyk7CitzaG91bGRCZUludmFsaWQoJzExOmFiJyk7CitzaG91bGRCZUludmFs
aWQoJzExOjAzNCcpOworc2hvdWxkQmVJbnZhbGlkKCcyMzo0NTonKTsKK3Nob3VsZEJlSW52YWxp
ZCgnMjM6NDU6NicpOworc2hvdWxkQmVJbnZhbGlkKCcyMzo0NTotMScpOworc2hvdWxkQmVJbnZh
bGlkKCcyMzo0NTo3MCcpOworc2hvdWxkQmVJbnZhbGlkKCcyMzo0NTp6eicpOworc2hvdWxkQmVJ
bnZhbGlkKCcyMzo0NTowNi4nKTsKK3Nob3VsZEJlSW52YWxpZCgnMjM6NDU6MDYuYWJjJyk7Citz
aG91bGRCZUludmFsaWQoJzIzOjQ1OjA2Ljc4OWFiYycpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFy
c2VkID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRl
c3RzL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLXdlZWsuanMgYi9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL3NjcmlwdC10ZXN0cy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC13ZWVrLmpzCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZiMWQ5ZGQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9WYWxpZGl0eVN0YXRlLXR5
cGVNaXNtYXRjaC13ZWVrLmpzCkBAIC0wLDAgKzEsNTcgQEAKK2Rlc2NyaXB0aW9uKCdUaGlzIHRl
c3QgYWltcyB0byBjaGVjayBmb3IgdHlwZU1pc21hdGNoIGZsYWcgd2l0aCB0eXBlPXdlZWsgaW5w
dXQgZmllbGRzJyk7Cit2YXIgaSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7Citp
LnR5cGUgPSAnd2Vlayc7CisKK2Z1bmN0aW9uIGNoZWNrKHZhbHVlLCBtaXNtYXRjaEV4cGVjdGVk
KQoreworICAgIGkudmFsdWUgPSB2YWx1ZTsKKyAgICB2YXIgYWN0dWFsID0gaS52YWxpZGl0eS50
eXBlTWlzbWF0Y2g7CisgICAgdmFyIGRpZFBhc3MgPSBhY3R1YWwgPT0gbWlzbWF0Y2hFeHBlY3Rl
ZDsKKyAgICB2YXIgcmVzdWx0VGV4dCA9ICciJyArIHZhbHVlICsgJyIgaXMgJyArIChkaWRQYXNz
ID8gJ2EgY29ycmVjdCAnIDogJ2FuIGluY29ycmVjdCAnKSArIChhY3R1YWwgPyAnaW52YWxpZCcg
OiAndmFsaWQnKSArICcgd2VlayBzdHJpbmcuJzsKKyAgICBpZiAoZGlkUGFzcykKKyAgICAgICAg
dGVzdFBhc3NlZChyZXN1bHRUZXh0KTsKKyAgICBlbHNlCisgICAgICAgIHRlc3RGYWlsZWQocmVz
dWx0VGV4dCk7Cit9CisKK2Z1bmN0aW9uIHNob3VsZEJlVmFsaWQodmFsdWUpCit7CisgICAgY2hl
Y2sodmFsdWUsIGZhbHNlKTsKK30KKworZnVuY3Rpb24gc2hvdWxkQmVJbnZhbGlkKHZhbHVlKQor
eworICAgIGNoZWNrKHZhbHVlLCB0cnVlKTsKK30KKworLy8gVmFsaWQgdmFsdWVzCitzaG91bGRC
ZVZhbGlkKCcnKTsKK3Nob3VsZEJlVmFsaWQoJzE1ODMtVzAxJyk7CitzaG91bGRCZVZhbGlkKCc5
OTk5LVc1MicpOworc2hvdWxkQmVWYWxpZCgnMjE0NzQ4MzY0Ny1XNTInKTsKK3Nob3VsZEJlVmFs
aWQoJzIwMDktVzAxJyk7CitzaG91bGRCZVZhbGlkKCcyMDA0LVc1MycpOyAgLy8gMjAwNCBzdGFy
dGVkIG9uIFRodXJzZGF5Lgorc2hvdWxkQmVWYWxpZCgnMjAwMy1XNTInKTsgIC8vIDIwMDMgc3Rh
cnRlZCBvbiBXZWRuZXNkYXksIGJ1dCB3YXNuJ3QgYSBsZWFwIHllYXIuCitzaG91bGRCZVZhbGlk
KCcxOTkyLVc1MycpOyAgLy8gMTk5MiBzdGFydGVkIG9uIFdlZG5lc2RheSwgYW5kIHdhcyBhIGxl
YXAgeWVhci4KKworLy8gSW52YWxpZCB2YWx1ZXMKK3Nob3VsZEJlSW52YWxpZCgnIDIwMDktVzAx
ICcpOworc2hvdWxkQmVJbnZhbGlkKCcyMDA5VzAxJyk7CitzaG91bGRCZUludmFsaWQoJzIwMDkt
dzAxJyk7CitzaG91bGRCZUludmFsaWQoJzIwMDktVzEnKTsKK3Nob3VsZEJlSW52YWxpZCgnMjAw
OS1XMDAxJyk7CitzaG91bGRCZUludmFsaWQoJ2EnKTsKK3Nob3VsZEJlSW52YWxpZCgnLTEtVzA5
Jyk7CitzaG91bGRCZUludmFsaWQoJzE1ODItVzUyJyk7CitzaG91bGRCZUludmFsaWQoJzIxNDc0
ODM2NDgtVzAxJyk7CitzaG91bGRCZUludmFsaWQoJzIwMDktVzAwJyk7CitzaG91bGRCZUludmFs
aWQoJzIwMDktVy0xJyk7CitzaG91bGRCZUludmFsaWQoJzIwMDQtVzU0Jyk7ICAvLyAyMDA0IHN0
YXJ0ZWQgb24gVGh1cnNkYXkuCitzaG91bGRCZUludmFsaWQoJzIwMDMtVzUzJyk7ICAvLyAyMDAz
IHN0YXJ0ZWQgb24gV2VkbmVzZGF5LCBidXQgd2Fzbid0IGEgbGVhcCB5ZWFyLgorc2hvdWxkQmVJ
bnZhbGlkKCcxOTkyLVc1NCcpOyAgLy8gMTk5MiBzdGFydGVkIG9uIFdlZG5lc2RheSwgYW5kIHdh
cyBhIGxlYXAgeWVhci4KK3Nob3VsZEJlSW52YWxpZCgnMjAwOS8wOScpOworc2hvdWxkQmVJbnZh
bGlkKCcyMDA5MDknKTsKK3Nob3VsZEJlSW52YWxpZCgnMjAwOS1XeHgnKTsKK3Nob3VsZEJlSW52
YWxpZCgnMjAwOScpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTM5MjMzYy4u
NDgzOTJkMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwyNSBAQAorMjAwOS0wOS0yOCAgS2VudCBUYW11cmEgIDx0a2VudEBj
aHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQWRkIHN1cHBvcnQgZm9yIFZhbGlkaXR5U3RhdGUudHlwZU1pc21hdGNoIGZvciB0aGUg
Zm9sbG93aW5nIElOUFVUIHR5cGVzOgorICAgICAgICAgIGRhdGUgZGF0ZXRpbWUgZGF0ZXRpbWUt
bG9jYWwgbW9udGggdGltZSB3ZWVrCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yOTAwNAorCisgICAgICAgIFRlc3RzOiBmYXN0L2Zvcm1zL1ZhbGlkaXR5
U3RhdGUtdHlwZU1pc21hdGNoLWRhdGUuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9mb3Jtcy9W
YWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1kYXRldGltZS5odG1sCisgICAgICAgICAgICAgICBm
YXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLWRhdGV0aW1lbG9jYWwuaHRtbAor
ICAgICAgICAgICAgICAgZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1tb250
aC5odG1sCisgICAgICAgICAgICAgICBmYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21h
dGNoLXRpbWUuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5
cGVNaXNtYXRjaC13ZWVrLmh0bWwKKworICAgICAgICAqIEZvcndhcmRpbmdIZWFkZXJzL3d0Zi9J
U09EYXRlUGFyc2VyLmg6IEFkZGVkLgorICAgICAgICAqIGh0bWwvSFRNTElucHV0RWxlbWVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50Ojpmb3JtU3RyaW5nVG9EYXRl
VGltZSk6CisgICAgICAgICogaHRtbC9IVE1MSW5wdXRFbGVtZW50Lmg6CisgICAgICAgICogaHRt
bC9WYWxpZGl0eVN0YXRlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlZhbGlkaXR5U3RhdGU6OnR5
cGVNaXNtYXRjaCk6CisKIDIwMDktMDktMDEgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVycy93dGYvSVNPRGF0ZVBhcnNlci5oIGIvV2ViQ29yZS9G
b3J3YXJkaW5nSGVhZGVycy93dGYvSVNPRGF0ZVBhcnNlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAuLjJjN2EzYTMKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL0Zvcndh
cmRpbmdIZWFkZXJzL3d0Zi9JU09EYXRlUGFyc2VyLmgKQEAgLTAsMCArMSw0IEBACisjaWZuZGVm
IFdlYkNvcmVfRldEX0lTT0RhdGVQYXJzZXJfaAorI2RlZmluZSBXZWJDb3JlX0ZXRF9JU09EYXRl
UGFyc2VyX2gKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9JU09EYXRlUGFyc2VyLmg+CisjZW5k
aWYKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcCBiL1dlYkNv
cmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcAppbmRleCA4MTM5N2I1Li5lZDI1NGNhIDEwMDY0
NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAKKysrIGIvV2ViQ29yZS9o
dG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCkBAIC02Miw2ICs2Miw3IEBACiAjaW5jbHVkZSAiU3Ry
aW5nSGFzaC5oIgogI2luY2x1ZGUgIlRleHRFdmVudC5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFw
Lmg+CisjaW5jbHVkZSA8d3RmL0lTT0RhdGVQYXJzZXIuaD4KICNpbmNsdWRlIDx3dGYvTWF0aEV4
dHJhcy5oPgogI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KIApAQCAtMTg5NSw2ICsxODk2
LDM0IEBAIGJvb2wgSFRNTElucHV0RWxlbWVudDo6Zm9ybVN0cmluZ1RvRG91YmxlKGNvbnN0IFN0
cmluZyYgc3JjLCBkb3VibGUqIG91dCkKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorYm9vbCBIVE1M
SW5wdXRFbGVtZW50Ojpmb3JtU3RyaW5nVG9EYXRlVGltZShJbnB1dFR5cGUgdHlwZSwgY29uc3Qg
U3RyaW5nJiBzcmMsIFdURjo6R3JlZ29yaWFuRGF0ZVRpbWUqIG91dCkKK3sKKyAgICBXVEY6Okdy
ZWdvcmlhbkRhdGVUaW1lIHJlc3VsdDsKKyAgICBpZiAoIW91dCkKKyAgICAgICAgb3V0ID0gJnJl
c3VsdDsKKyAgICBjb25zdCBVQ2hhciogdWNoYXJzID0gc3JjLmNoYXJhY3RlcnMoKTsKKyAgICB1
bnNpZ25lZCBsZW5ndGggPSBzcmMubGVuZ3RoKCk7CisgICAgdW5zaWduZWQgZW5kOworCisgICAg
c3dpdGNoICh0eXBlKSB7CisgICAgY2FzZSBEQVRFOgorICAgICAgICByZXR1cm4gV1RGOjpwYXJz
ZUlTT0RhdGUodWNoYXJzLCBsZW5ndGgsIDAsICZlbmQsIG91dCkgJiYgZW5kID09IGxlbmd0aDsK
KyAgICBjYXNlIERBVEVUSU1FOgorICAgICAgICByZXR1cm4gV1RGOjpwYXJzZUlTT0RhdGVUaW1l
KHVjaGFycywgbGVuZ3RoLCAwLCAmZW5kLCBvdXQpICYmIGVuZCA9PSBsZW5ndGg7CisgICAgY2Fz
ZSBEQVRFVElNRUxPQ0FMOgorICAgICAgICByZXR1cm4gV1RGOjpwYXJzZUlTT0RhdGVUaW1lTG9j
YWwodWNoYXJzLCBsZW5ndGgsIDAsICZlbmQsIG91dCkgJiYgZW5kID09IGxlbmd0aDsKKyAgICBj
YXNlIE1PTlRIOgorICAgICAgICByZXR1cm4gV1RGOjpwYXJzZUlTT01vbnRoKHVjaGFycywgbGVu
Z3RoLCAwLCAmZW5kLCBvdXQpICYmIGVuZCA9PSBsZW5ndGg7CisgICAgY2FzZSBXRUVLOgorICAg
ICAgICByZXR1cm4gV1RGOjpwYXJzZUlTT1dlZWsodWNoYXJzLCBsZW5ndGgsIDAsICZlbmQsIG91
dCkgJiYgZW5kID09IGxlbmd0aDsKKyAgICBjYXNlIFRJTUU6CisgICAgICAgIHJldHVybiBXVEY6
OnBhcnNlSVNPVGltZSh1Y2hhcnMsIGxlbmd0aCwgMCwgJmVuZCwgb3V0KSAmJiBlbmQgPT0gbGVu
Z3RoOworICAgIGRlZmF1bHQ6CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIH0K
KyAgICByZXR1cm4gZmFsc2U7Cit9CisKICNpZiBFTkFCTEUoREFUQUxJU1QpCiBIVE1MRWxlbWVu
dCogSFRNTElucHV0RWxlbWVudDo6bGlzdCgpIGNvbnN0CiB7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2h0bWwvSFRNTElucHV0RWxlbWVudC5oIGIvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQu
aAppbmRleCA2MjA3ZTM3Li5jNzk1NjAyIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRNTElu
cHV0RWxlbWVudC5oCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmgKQEAgLTI4
LDYgKzI4LDEwIEBACiAjaW5jbHVkZSAiSW5wdXRFbGVtZW50LmgiCiAjaW5jbHVkZSA8d3RmL093
blB0ci5oPgogCituYW1lc3BhY2UgV1RGIHsKKyAgICBzdHJ1Y3QgR3JlZ29yaWFuRGF0ZVRpbWU7
Cit9CisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRmlsZUxpc3Q7CkBAIC0yNDEsNiAr
MjQ1LDEwIEBAIHB1YmxpYzoKICAgICAvLyBJZiB0aGUgY29udmVyc2lvbiBmYWlscywgdGhlIHJl
dHVybiB2YWx1ZSBpcyBmYWxzZS4gVGFrZSBjYXJlIHRoYXQgbGVhZGluZyBvciB0cmFpbGluZyB1
bm5lY2Vzc2FyeSBjaGFyYWN0ZXJzIG1ha2UgZmFpbHVyZXMuICBUaGlzIHJldHVybnMgZmFsc2Ug
Zm9yIGFuIGVtcHR5IHN0cmluZyBpbnB1dC4KICAgICAvLyBUaGUgZG91YmxlKiBwYXJhbWV0ZXIg
bWF5IGJlIDAuCiAgICAgc3RhdGljIGJvb2wgZm9ybVN0cmluZ1RvRG91YmxlKGNvbnN0IFN0cmlu
ZyYsIGRvdWJsZSopOworICAgIC8vIFBhcnNlcyB0aGUgc3BlY2lmaWVkIHN0cmluZyBhcyB0aGUg
SW5wdXRUeXBlLCBhbmQgcmV0dXJucyB0cnVlIGlmIGl0IGlzIHN1Y2Nlc3NmdWxseSBwYXJzZWQu
CisgICAgLy8gQW4gaW5zdGFuY2UgcG9pbnRlZCBieSB0aGUgR3JlZ29yaWFuRGF0ZVRpbWUqIHBh
cmFtZXRlciB3aWxsIGhhdmUgcGFyc2VkIHZhbHVlcyBhbmQgYmUKKyAgICAvLyBtb2RpZmllZCBl
dmVuIGlmIHRoZSBwYXJzaW5nIGZhaWxzLiAgVGhlIEdyZWdvcmlhbkRhdGVUaW1lKiBwYXJhbWV0
ZXIgbWF5IGJlIDAuCisgICAgc3RhdGljIGJvb2wgZm9ybVN0cmluZ1RvRGF0ZVRpbWUoSW5wdXRU
eXBlLCBjb25zdCBTdHJpbmcmLCBXVEY6OkdyZWdvcmlhbkRhdGVUaW1lKik7CiAgICAgCiBwcm90
ZWN0ZWQ6CiAgICAgdmlydHVhbCB2b2lkIHdpbGxNb3ZlVG9OZXdPd25lckRvY3VtZW50KCk7CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvVmFsaWRpdHlTdGF0ZS5jcHAgYi9XZWJDb3JlL2h0bWwv
VmFsaWRpdHlTdGF0ZS5jcHAKaW5kZXggNmIwYTBiNC4uMWQxNGRjZiAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9odG1sL1ZhbGlkaXR5U3RhdGUuY3BwCisrKyBiL1dlYkNvcmUvaHRtbC9WYWxpZGl0eVN0
YXRlLmNwcApAQCAtNzQsNiArNzQsMTMgQEAgYm9vbCBWYWxpZGl0eVN0YXRlOjp0eXBlTWlzbWF0
Y2goKQogCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CisgICAgY2FzZSBIVE1MSW5wdXRF
bGVtZW50OjpEQVRFOgorICAgIGNhc2UgSFRNTElucHV0RWxlbWVudDo6REFURVRJTUU6CisgICAg
Y2FzZSBIVE1MSW5wdXRFbGVtZW50OjpEQVRFVElNRUxPQ0FMOgorICAgIGNhc2UgSFRNTElucHV0
RWxlbWVudDo6TU9OVEg6CisgICAgY2FzZSBIVE1MSW5wdXRFbGVtZW50OjpUSU1FOgorICAgIGNh
c2UgSFRNTElucHV0RWxlbWVudDo6V0VFSzoKKyAgICAgICAgcmV0dXJuICFIVE1MSW5wdXRFbGVt
ZW50Ojpmb3JtU3RyaW5nVG9EYXRlVGltZShpbnB1dC0+aW5wdXRUeXBlKCksIHZhbHVlLCAwKTsK
ICAgICBkZWZhdWx0OgogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQotLSAKMS42LjMuMwoK
</data>
<flag name="review"
          id="22484"
          type_id="1"
          status="-"
          setter="tkent"
    />
    <flag name="commit-queue"
          id="22485"
          type_id="3"
          status="-"
          setter="tkent"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>41478</attachid>
            <date>2009-10-19 21:13:34 -0700</date>
            <delta_ts>2009-11-10 19:54:43 -0800</delta_ts>
            <desc>Patch part 1: recognize date&amp;time types as text fields (rev.5)</desc>
            <filename>0001-add-datetime-types-5.patch</filename>
            <type>text/plain</type>
            <size>29209</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">RnJvbSAzNzk2MTAwMDIwM2FjNDU5NDNmOWI5ZTE2YWYxN2M5ZTE5NmY3NzFkIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBLZW50IFRhbXVyYSA8dGtlbnRAY2hyb21pdW0ub3JnPgpEYXRl
OiBUdWUsIDIwIE9jdCAyMDA5IDEzOjA4OjQ4ICswOTAwClN1YmplY3Q6IFtQQVRDSF0gYWRkLWRh
dGV0aW1lLXR5cGVzLTUKCi0tLQogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgfCAgIDExICsKIC4uLi9mYXN0L2Zvcm1zL2lucHV0LXR5cGUtY2hhbmdl
My1leHBlY3RlZC50eHQgICAgIHwgICA2NyArKysrCiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lu
cHV0LXR5cGUtY2hhbmdlMy5odG1sICAgICB8ICAgMTMgKwogLi4uL2Zhc3QvZm9ybXMvc2NyaXB0
LXRlc3RzL2lucHV0LXR5cGUtY2hhbmdlMy5qcyAgfCAgIDc3ICsrKysrCiBXZWJDb3JlL0NoYW5n
ZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMzQgKysKIFdlYkNvcmUv
aHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcCAgICAgICAgICAgICAgICAgIHwgIDMzMSArKysrKysr
KysrKystLS0tLS0tLQogV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaCAgICAgICAgICAg
ICAgICAgICAgfCAgIDEwICstCiA3IGZpbGVzIGNoYW5nZWQsIDQwNyBpbnNlcnRpb25zKCspLCAx
MzYgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9pbnB1dC10eXBlLWNoYW5nZTMtZXhwZWN0ZWQudHh0CiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy9pbnB1dC10eXBlLWNoYW5nZTMuaHRtbAogY3JlYXRlIG1vZGUg
MTAwNjQ0IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2lucHV0LXR5cGUtY2hh
bmdlMy5qcwoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwppbmRleCBmZDU3NTU2Li42Y2YwMTM5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAK
KzIwMDktMDktMjMgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCB0ZXN0cyBmb3IgcmVh
ZGluZy93cml0aW5nIC50eXBlIHByb3BlcnR5IG9mIEhUTUxJbnB1dEVsZW1lbnQuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yOTAwNAorCisgICAgICAg
ICogZmFzdC9mb3Jtcy9pbnB1dC10eXBlLWNoYW5nZTMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L2Zvcm1zL2lucHV0LXR5cGUtY2hhbmdlMy5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBmYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9pbnB1dC10eXBlLWNoYW5nZTMuanM6IEFkZGVk
LgorCiAyMDA5LTEwLTE5ICBKZXJlbXkgT3Jsb3cgIDxqb3Jsb3dAY2hyb21pdW0ub3JnPgogCiAg
ICAgICAgIFJldmlld2VkIGJ5IERtaXRyaSBUaXRvdi4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvaW5wdXQtdHlwZS1jaGFuZ2UzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvaW5wdXQtdHlwZS1jaGFuZ2UzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZjY3MGE0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9pbnB1dC10eXBlLWNoYW5nZTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsNjcgQEAKK1Rlc3RzIGZvciB3cml0aW5nIGFuZCByZWFkaW5nIC50eXBlIHByb3BlcnR5IG9m
IEhUTUxJbnB1dEVsZW1lbnQuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNT
IGlucHV0LnR5cGUgaXMgInRleHQiCitQQVNTIGlucHV0LnR5cGUgZm9yICJGSUxFIiBpcyBjb3Jy
ZWN0bHkgImZpbGUiLgorUEFTUyBpbnB1dC50eXBlIGZvciAidGV4dCIgaXMgY29ycmVjdGx5ICJ0
ZXh0Ii4KK1BBU1MgaW5wdXQudHlwZSBmb3IgIlRFWFQiIGlzIGNvcnJlY3RseSAidGV4dCIuCitQ
QVNTIGlucHV0LnR5cGUgZm9yICIgdGV4dCAiIGlzIGNvcnJlY3RseSAidGV4dCIuCitQQVNTIGlu
cHV0LnR5cGUgZm9yICJidXR0b24iIGlzIGNvcnJlY3RseSAiYnV0dG9uIi4KK1BBU1MgaW5wdXQu
dHlwZSBmb3IgIkJVVFRPTiIgaXMgY29ycmVjdGx5ICJidXR0b24iLgorUEFTUyBpbnB1dC50eXBl
IGZvciAiIGJ1dHRvbiAiIGlzIGNvcnJlY3RseSAidGV4dCIuCitQQVNTIGlucHV0LnR5cGUgZm9y
ICJjaGVja2JveCIgaXMgY29ycmVjdGx5ICJjaGVja2JveCIuCitQQVNTIGlucHV0LnR5cGUgZm9y
ICJDSEVDS0JPWCIgaXMgY29ycmVjdGx5ICJjaGVja2JveCIuCitQQVNTIGlucHV0LnR5cGUgZm9y
ICJjb2xvciIgaXMgY29ycmVjdGx5ICJjb2xvciIuCitQQVNTIGlucHV0LnR5cGUgZm9yICJDT0xP
UiIgaXMgY29ycmVjdGx5ICJjb2xvciIuCitQQVNTIGlucHV0LnR5cGUgZm9yICJkYXRlIiBpcyBj
b3JyZWN0bHkgImRhdGUiLgorUEFTUyBpbnB1dC50eXBlIGZvciAiREFURSIgaXMgY29ycmVjdGx5
ICJkYXRlIi4KK1BBU1MgaW5wdXQudHlwZSBmb3IgImRhdGV0aW1lIiBpcyBjb3JyZWN0bHkgImRh
dGV0aW1lIi4KK1BBU1MgaW5wdXQudHlwZSBmb3IgIkRhdGVUaW1lIiBpcyBjb3JyZWN0bHkgImRh
dGV0aW1lIi4KK1BBU1MgaW5wdXQudHlwZSBmb3IgImRhdGV0aW1lLWxvY2FsIiBpcyBjb3JyZWN0
bHkgImRhdGV0aW1lLWxvY2FsIi4KK1BBU1MgaW5wdXQudHlwZSBmb3IgImRhdGV0aW1lbG9jYWwi
IGlzIGNvcnJlY3RseSAidGV4dCIuCitQQVNTIGlucHV0LnR5cGUgZm9yICJkYXRldGltZV9sb2Nh
bCIgaXMgY29ycmVjdGx5ICJ0ZXh0Ii4KK1BBU1MgaW5wdXQudHlwZSBmb3IgIkRhdGVUaW1lLUxv
Y2FsIiBpcyBjb3JyZWN0bHkgImRhdGV0aW1lLWxvY2FsIi4KK1BBU1MgaW5wdXQudHlwZSBmb3Ig
ImVtYWlsIiBpcyBjb3JyZWN0bHkgImVtYWlsIi4KK1BBU1MgaW5wdXQudHlwZSBmb3IgIkVNYWls
IiBpcyBjb3JyZWN0bHkgImVtYWlsIi4KK1BBU1MgaW5wdXQudHlwZSBmb3IgImZpbGUiIGlzIGNv
cnJlY3RseSAiZW1haWwiLgorUEFTUyBpbnB1dC50eXBlIGZvciAiRklMRSIgaXMgY29ycmVjdGx5
ICJlbWFpbCIuCitQQVNTIGlucHV0LnR5cGUgZm9yICJoaWRkZW4iIGlzIGNvcnJlY3RseSAiaGlk
ZGVuIi4KK1BBU1MgaW5wdXQudHlwZSBmb3IgIkhJRERFTiIgaXMgY29ycmVjdGx5ICJoaWRkZW4i
LgorUEFTUyBpbnB1dC50eXBlIGZvciAiaW1hZ2UiIGlzIGNvcnJlY3RseSAiaW1hZ2UiLgorUEFT
UyBpbnB1dC50eXBlIGZvciAiSU1BR0UiIGlzIGNvcnJlY3RseSAiaW1hZ2UiLgorUEFTUyBpbnB1
dC50eXBlIGZvciAiaXNpbmRleCIgaXMgY29ycmVjdGx5ICJ0ZXh0Ii4KK1BBU1MgaW5wdXQudHlw
ZSBmb3IgImtodG1sX2lzaW5kZXgiIGlzIGNvcnJlY3RseSAiIi4KK1BBU1MgaW5wdXQudHlwZSBm
b3IgIktIVE1MX0lTSU5ERVgiIGlzIGNvcnJlY3RseSAiIi4KK1BBU1MgaW5wdXQudHlwZSBmb3Ig
Im1vbnRoIiBpcyBjb3JyZWN0bHkgIm1vbnRoIi4KK1BBU1MgaW5wdXQudHlwZSBmb3IgIk1PTlRI
IiBpcyBjb3JyZWN0bHkgIm1vbnRoIi4KK1BBU1MgaW5wdXQudHlwZSBmb3IgIm51bWJlciIgaXMg
Y29ycmVjdGx5ICJudW1iZXIiLgorUEFTUyBpbnB1dC50eXBlIGZvciAiTlVNQkVSIiBpcyBjb3Jy
ZWN0bHkgIm51bWJlciIuCitQQVNTIGlucHV0LnR5cGUgZm9yICJwYXNzd29yZCIgaXMgY29ycmVj
dGx5ICJwYXNzd29yZCIuCitQQVNTIGlucHV0LnR5cGUgZm9yICJQQVNTV09SRCIgaXMgY29ycmVj
dGx5ICJwYXNzd29yZCIuCitQQVNTIGlucHV0LnR5cGUgZm9yICJwYXNzd2QiIGlzIGNvcnJlY3Rs
eSAidGV4dCIuCitQQVNTIGlucHV0LnR5cGUgZm9yICJyYWRpbyIgaXMgY29ycmVjdGx5ICJyYWRp
byIuCitQQVNTIGlucHV0LnR5cGUgZm9yICJSQURJTyIgaXMgY29ycmVjdGx5ICJyYWRpbyIuCitQ
QVNTIGlucHV0LnR5cGUgZm9yICJyYW5nZSIgaXMgY29ycmVjdGx5ICJyYW5nZSIuCitQQVNTIGlu
cHV0LnR5cGUgZm9yICJSQU5HRSIgaXMgY29ycmVjdGx5ICJyYW5nZSIuCitQQVNTIGlucHV0LnR5
cGUgZm9yICJyZXNldCIgaXMgY29ycmVjdGx5ICJyZXNldCIuCitQQVNTIGlucHV0LnR5cGUgZm9y
ICJSRVNFVCIgaXMgY29ycmVjdGx5ICJyZXNldCIuCitQQVNTIGlucHV0LnR5cGUgZm9yICJzZWFy
Y2giIGlzIGNvcnJlY3RseSAic2VhcmNoIi4KK1BBU1MgaW5wdXQudHlwZSBmb3IgIlNFQVJDSCIg
aXMgY29ycmVjdGx5ICJzZWFyY2giLgorUEFTUyBpbnB1dC50eXBlIGZvciAic3VibWl0IiBpcyBj
b3JyZWN0bHkgInN1Ym1pdCIuCitQQVNTIGlucHV0LnR5cGUgZm9yICJTVUJNSVQiIGlzIGNvcnJl
Y3RseSAic3VibWl0Ii4KK1BBU1MgaW5wdXQudHlwZSBmb3IgInRlbCIgaXMgY29ycmVjdGx5ICJ0
ZWwiLgorUEFTUyBpbnB1dC50eXBlIGZvciAiVEVMIiBpcyBjb3JyZWN0bHkgInRlbCIuCitQQVNT
IGlucHV0LnR5cGUgZm9yICJ0ZWxlcGhvbmUiIGlzIGNvcnJlY3RseSAidGV4dCIuCitQQVNTIGlu
cHV0LnR5cGUgZm9yICJ0aW1lIiBpcyBjb3JyZWN0bHkgInRpbWUiLgorUEFTUyBpbnB1dC50eXBl
IGZvciAiVElNRSIgaXMgY29ycmVjdGx5ICJ0aW1lIi4KK1BBU1MgaW5wdXQudHlwZSBmb3IgInVy
bCIgaXMgY29ycmVjdGx5ICJ1cmwiLgorUEFTUyBpbnB1dC50eXBlIGZvciAiVVJMIiBpcyBjb3Jy
ZWN0bHkgInVybCIuCitQQVNTIGlucHV0LnR5cGUgZm9yICJ1cmkiIGlzIGNvcnJlY3RseSAidGV4
dCIuCitQQVNTIGlucHV0LnR5cGUgZm9yICJ3ZWVrIiBpcyBjb3JyZWN0bHkgIndlZWsiLgorUEFT
UyBpbnB1dC50eXBlIGZvciAiV0VFSyIgaXMgY29ycmVjdGx5ICJ3ZWVrIi4KK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL2lucHV0LXR5cGUtY2hhbmdlMy5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy9pbnB1dC10eXBlLWNoYW5nZTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwLi5mMTk4MjBmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy9pbnB1dC10eXBlLWNoYW5nZTMuaHRtbApAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZ
UEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgor
PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10
ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InNjcmlwdC10
ZXN0cy9pbnB1dC10eXBlLWNoYW5nZTMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9p
bnB1dC10eXBlLWNoYW5nZTMuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0
cy9pbnB1dC10eXBlLWNoYW5nZTMuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MC4uZGRmYWEwMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2Ny
aXB0LXRlc3RzL2lucHV0LXR5cGUtY2hhbmdlMy5qcwpAQCAtMCwwICsxLDc3IEBACitkZXNjcmlw
dGlvbignVGVzdHMgZm9yIHdyaXRpbmcgYW5kIHJlYWRpbmcgLnR5cGUgcHJvcGVydHkgb2YgSFRN
TElucHV0RWxlbWVudC4nKTsKKwordmFyIGlucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgn
aW5wdXQnKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaW5wdXQpOworCitzaG91bGRCZSgn
aW5wdXQudHlwZScsICcidGV4dCInKTsKKworZnVuY3Rpb24gY2hlY2sodmFsdWUsIGV4cGVjdGVk
KQoreworICAgIGlucHV0LnR5cGUgPSB2YWx1ZTsKKyAgICBpZiAoaW5wdXQudHlwZSA9PSBleHBl
Y3RlZCkKKyAgICAgICAgdGVzdFBhc3NlZCgnaW5wdXQudHlwZSBmb3IgIicgKyB2YWx1ZSArICci
IGlzIGNvcnJlY3RseSAiJyArIGlucHV0LnR5cGUgKyAnIi4nKTsKKyAgICBlbHNlCisgICAgICAg
IHRlc3RGYWlsZWQoJ2lucHV0LnR5cGUgZm9yICInICsgdmFsdWUgKyAnIiBpcyBpbmNvcnJlY3Rs
eSAiJyArIGlucHV0LnR5cGUgKyAnIiwgc2hvdWxkIGJlICInICsgZXhwZWN0ZWQgKyAnIi4nKTsK
K30KKworY2hlY2soIkZJTEUiLCAiZmlsZSIpOworCitjaGVjaygidGV4dCIsICJ0ZXh0Iik7Citj
aGVjaygiVEVYVCIsICJ0ZXh0Iik7CitjaGVjaygiIHRleHQgIiwgInRleHQiKTsKK2NoZWNrKCJi
dXR0b24iLCAiYnV0dG9uIik7CitjaGVjaygiQlVUVE9OIiwgImJ1dHRvbiIpOworY2hlY2soIiBi
dXR0b24gIiwgInRleHQiKTsKK2NoZWNrKCJjaGVja2JveCIsICJjaGVja2JveCIpOworY2hlY2so
IkNIRUNLQk9YIiwgImNoZWNrYm94Iik7CitjaGVjaygiY29sb3IiLCAiY29sb3IiKTsKK2NoZWNr
KCJDT0xPUiIsICJjb2xvciIpOworY2hlY2soImRhdGUiLCAiZGF0ZSIpOworY2hlY2soIkRBVEUi
LCAiZGF0ZSIpOworY2hlY2soImRhdGV0aW1lIiwgImRhdGV0aW1lIik7CitjaGVjaygiRGF0ZVRp
bWUiLCAiZGF0ZXRpbWUiKTsKK2NoZWNrKCJkYXRldGltZS1sb2NhbCIsICJkYXRldGltZS1sb2Nh
bCIpOworY2hlY2soImRhdGV0aW1lbG9jYWwiLCAidGV4dCIpOworY2hlY2soImRhdGV0aW1lX2xv
Y2FsIiwgInRleHQiKTsKK2NoZWNrKCJEYXRlVGltZS1Mb2NhbCIsICJkYXRldGltZS1sb2NhbCIp
OworY2hlY2soImVtYWlsIiwgImVtYWlsIik7CitjaGVjaygiRU1haWwiLCAiZW1haWwiKTsKK2No
ZWNrKCJmaWxlIiwgImVtYWlsIik7IC8vIFdlIGNhbid0IGNoYW5nZSBhIGNvbmNyZXRlIHR5cGUg
dG8gZmlsZSBmb3IgYSBzZWN1cml0eSByZWFzb24uCitjaGVjaygiRklMRSIsICJlbWFpbCIpOwor
Y2hlY2soImhpZGRlbiIsICJoaWRkZW4iKTsKK2NoZWNrKCJISURERU4iLCAiaGlkZGVuIik7Citj
aGVjaygiaW1hZ2UiLCAiaW1hZ2UiKTsKK2NoZWNrKCJJTUFHRSIsICJpbWFnZSIpOworY2hlY2so
ImlzaW5kZXgiLCAidGV4dCIpOworY2hlY2soImtodG1sX2lzaW5kZXgiLCAiIik7CitjaGVjaygi
S0hUTUxfSVNJTkRFWCIsICIiKTsKK2NoZWNrKCJtb250aCIsICJtb250aCIpOworY2hlY2soIk1P
TlRIIiwgIm1vbnRoIik7CitjaGVjaygibnVtYmVyIiwgIm51bWJlciIpOworY2hlY2soIk5VTUJF
UiIsICJudW1iZXIiKTsKK2NoZWNrKCJwYXNzd29yZCIsICJwYXNzd29yZCIpOworY2hlY2soIlBB
U1NXT1JEIiwgInBhc3N3b3JkIik7CitjaGVjaygicGFzc3dkIiwgInRleHQiKTsKK2NoZWNrKCJy
YWRpbyIsICJyYWRpbyIpOworY2hlY2soIlJBRElPIiwgInJhZGlvIik7CitjaGVjaygicmFuZ2Ui
LCAicmFuZ2UiKTsKK2NoZWNrKCJSQU5HRSIsICJyYW5nZSIpOworY2hlY2soInJlc2V0IiwgInJl
c2V0Iik7CitjaGVjaygiUkVTRVQiLCAicmVzZXQiKTsKK2NoZWNrKCJzZWFyY2giLCAic2VhcmNo
Iik7CitjaGVjaygiU0VBUkNIIiwgInNlYXJjaCIpOworY2hlY2soInN1Ym1pdCIsICJzdWJtaXQi
KTsKK2NoZWNrKCJTVUJNSVQiLCAic3VibWl0Iik7CitjaGVjaygidGVsIiwgInRlbCIpOworY2hl
Y2soIlRFTCIsICJ0ZWwiKTsKK2NoZWNrKCJ0ZWxlcGhvbmUiLCAidGV4dCIpOworY2hlY2soInRp
bWUiLCAidGltZSIpOworY2hlY2soIlRJTUUiLCAidGltZSIpOworY2hlY2soInVybCIsICJ1cmwi
KTsKK2NoZWNrKCJVUkwiLCAidXJsIik7CitjaGVjaygidXJpIiwgInRleHQiKTsKK2NoZWNrKCJ3
ZWVrIiwgIndlZWsiKTsKK2NoZWNrKCJXRUVLIiwgIndlZWsiKTsKKwordmFyIHN1Y2Nlc3NmdWxs
eVBhcnNlZCA9IHRydWU7CisKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29y
ZS9DaGFuZ2VMb2cKaW5kZXggN2M4NGI4OC4uMjZkZmQxMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9D
aGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNyBAQAorMjAwOS0w
OS0wMSAgS2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgLSBSZWNvZ25pemVzIGRhdGUvZGF0ZXRp
bWUvZGF0ZXRpbWUtbG9jYWwvbW9udGgvdGltZS93ZWVrIHR5cGVzIG9mIElOUFVUIGVsZW1lbnQu
CisgICAgICAgICAgVGhleSBoYXZlIG5vIGRlZGljYXRlZCBVSSBhbmQgbm8gdHlwZSB2YWxpZGF0
aW9uIGZvciBub3cuCisgICAgICAgIC0gQ2xlYW4gdXAgc2V0SW5wdXRUeXBlKCkgYW5kIGZvcm1D
b250cm9sVHlwZSgpIG9mIEhUTUxJbnB1dEVsZW1lbnQuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yOTAwNAorCisgICAgICAgIFRlc3Q6IGZhc3QvZm9y
bXMvaW5wdXQtdHlwZS1jaGFuZ2UzLmh0bWwKKworICAgICAgICAqIGh0bWwvSFRNTElucHV0RWxl
bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50Ojp2YWx1ZU1pc3Np
bmcpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6cGF0dGVybk1pc21hdGNo
KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQ6OnRvb0xvbmcpOgorICAgICAg
ICAoV2ViQ29yZTo6Y3JlYXRlVHlwZU1hcCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRF
bGVtZW50OjpzZXRJbnB1dFR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlRm9ybUNvbnRy
b2xUeXBlcyk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50Ojpmb3JtQ29udHJv
bFR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6c2F2ZUZvcm1Db250
cm9sU3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6cmVzdG9yZUZv
cm1Db250cm9sU3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6YWNj
ZXNzS2V5QWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQ6OnJlbmRl
cmVySXNOZWVkZWQpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6Y3JlYXRl
UmVuZGVyZXIpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6YXBwZW5kRm9y
bURhdGEpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6aXNUZXh0RmllbGQp
OgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6dmFsdWVXaXRoRGVmYXVsdCk6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50OjpzdG9yZXNWYWx1ZVNlcGFyYXRl
RnJvbUF0dHJpYnV0ZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50OjpkZWZh
dWx0RXZlbnRIYW5kbGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQ6Omlz
UmVxdWlyZWRGb3JtQ29udHJvbCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50
OjpkYXRhTGlzdCk6CisgICAgICAgICogaHRtbC9IVE1MSW5wdXRFbGVtZW50Lmg6CisgICAgICAg
IChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50OjopOgorCiAyMDA5LTEwLTE5ICBKZXJlbXkgT3Js
b3cgIDxqb3Jsb3dAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERtaXRyaSBU
aXRvdi4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcCBiL1dl
YkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcAppbmRleCBlZDM0MDVhLi43YWNkNjliIDEw
MDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAKKysrIGIvV2ViQ29y
ZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCkBAIC01OSw3ICs1OSw5IEBACiAjaW5jbHVkZSAi
UmVuZGVyVGV4dC5oIgogI2luY2x1ZGUgIlJlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5oIgog
I2luY2x1ZGUgIlJlbmRlclRoZW1lLmgiCisjaW5jbHVkZSAiU3RyaW5nSGFzaC5oIgogI2luY2x1
ZGUgIlRleHRFdmVudC5oIgorI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3Rm
L01hdGhFeHRyYXMuaD4KICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAKQEAgLTEzNCw2
ICsxMzYsMTIgQEAgYm9vbCBIVE1MSW5wdXRFbGVtZW50Ojp2YWx1ZU1pc3NpbmcoKSBjb25zdAog
ICAgICAgICBjYXNlIFBBU1NXT1JEOgogICAgICAgICBjYXNlIE5VTUJFUjoKICAgICAgICAgY2Fz
ZSBGSUxFOgorICAgICAgICBjYXNlIERBVEVUSU1FOgorICAgICAgICBjYXNlIERBVEU6CisgICAg
ICAgIGNhc2UgTU9OVEg6CisgICAgICAgIGNhc2UgV0VFSzoKKyAgICAgICAgY2FzZSBUSU1FOgor
ICAgICAgICBjYXNlIERBVEVUSU1FTE9DQUw6CiAgICAgICAgICAgICByZXR1cm4gdmFsdWUoKS5p
c0VtcHR5KCk7CiAgICAgICAgIGNhc2UgQ0hFQ0tCT1g6CiAgICAgICAgICAgICByZXR1cm4gIWNo
ZWNrZWQoKTsKQEAgLTE3MCw2ICsxNzgsMTIgQEAgYm9vbCBIVE1MSW5wdXRFbGVtZW50OjpwYXR0
ZXJuTWlzbWF0Y2goKSBjb25zdAogICAgICAgICBjYXNlIFJBTkdFOgogICAgICAgICBjYXNlIE5V
TUJFUjoKICAgICAgICAgY2FzZSBDT0xPUjoKKyAgICAgICAgY2FzZSBEQVRFVElNRToKKyAgICAg
ICAgY2FzZSBEQVRFOgorICAgICAgICBjYXNlIE1PTlRIOgorICAgICAgICBjYXNlIFdFRUs6Cisg
ICAgICAgIGNhc2UgVElNRToKKyAgICAgICAgY2FzZSBEQVRFVElNRUxPQ0FMOgogICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogICAgICAgICBjYXNlIFRFWFQ6CiAgICAgICAgIGNhc2UgU0VBUkNI
OgpAQCAtMjE3LDE1ICsyMzEsMjEgQEAgYm9vbCBIVE1MSW5wdXRFbGVtZW50Ojp0b29Mb25nKCkg
Y29uc3QKICAgICBjYXNlIEJVVFRPTjoKICAgICBjYXNlIENIRUNLQk9YOgogICAgIGNhc2UgQ09M
T1I6CisgICAgY2FzZSBEQVRFOgorICAgIGNhc2UgREFURVRJTUU6CisgICAgY2FzZSBEQVRFVElN
RUxPQ0FMOgogICAgIGNhc2UgRklMRToKICAgICBjYXNlIEhJRERFTjoKICAgICBjYXNlIElNQUdF
OgogICAgIGNhc2UgSVNJTkRFWDoKKyAgICBjYXNlIE1PTlRIOgogICAgIGNhc2UgTlVNQkVSOgog
ICAgIGNhc2UgUkFESU86CiAgICAgY2FzZSBSQU5HRToKICAgICBjYXNlIFJFU0VUOgogICAgIGNh
c2UgU1VCTUlUOgorICAgIGNhc2UgVElNRToKKyAgICBjYXNlIFdFRUs6CiAgICAgICAgIHJldHVy
biBmYWxzZTsKICAgICB9CiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CkBAIC0zNzIsNDQgKzM5
Miw0NCBAQCB2b2lkIEhUTUxJbnB1dEVsZW1lbnQ6OnNldFR5cGUoY29uc3QgU3RyaW5nJiB0KQog
ICAgICAgICBzZXRBdHRyaWJ1dGUodHlwZUF0dHIsIHQpOwogfQogCit0eXBlZGVmIEhhc2hNYXA8
U3RyaW5nLCBIVE1MSW5wdXRFbGVtZW50OjpJbnB1dFR5cGUsIENhc2VGb2xkaW5nSGFzaD4gSW5w
dXRUeXBlTWFwOworc3RhdGljIGNvbnN0IElucHV0VHlwZU1hcCogY3JlYXRlVHlwZU1hcCgpCit7
CisgICAgSW5wdXRUeXBlTWFwKiBtYXAgPSBuZXcgSW5wdXRUeXBlTWFwOworICAgIG1hcC0+YWRk
KCJidXR0b24iLCBIVE1MSW5wdXRFbGVtZW50OjpCVVRUT04pOworICAgIG1hcC0+YWRkKCJjaGVj
a2JveCIsIEhUTUxJbnB1dEVsZW1lbnQ6OkNIRUNLQk9YKTsKKyAgICBtYXAtPmFkZCgiY29sb3Ii
LCBIVE1MSW5wdXRFbGVtZW50OjpDT0xPUik7CisgICAgbWFwLT5hZGQoImRhdGUiLCBIVE1MSW5w
dXRFbGVtZW50OjpEQVRFKTsKKyAgICBtYXAtPmFkZCgiZGF0ZXRpbWUiLCBIVE1MSW5wdXRFbGVt
ZW50OjpEQVRFVElNRSk7CisgICAgbWFwLT5hZGQoImRhdGV0aW1lLWxvY2FsIiwgSFRNTElucHV0
RWxlbWVudDo6REFURVRJTUVMT0NBTCk7CisgICAgbWFwLT5hZGQoImVtYWlsIiwgSFRNTElucHV0
RWxlbWVudDo6RU1BSUwpOworICAgIG1hcC0+YWRkKCJmaWxlIiwgSFRNTElucHV0RWxlbWVudDo6
RklMRSk7CisgICAgbWFwLT5hZGQoImhpZGRlbiIsIEhUTUxJbnB1dEVsZW1lbnQ6OkhJRERFTik7
CisgICAgbWFwLT5hZGQoImltYWdlIiwgSFRNTElucHV0RWxlbWVudDo6SU1BR0UpOworICAgIG1h
cC0+YWRkKCJraHRtbF9pc2luZGV4IiwgSFRNTElucHV0RWxlbWVudDo6SVNJTkRFWCk7CisgICAg
bWFwLT5hZGQoIm1vbnRoIiwgSFRNTElucHV0RWxlbWVudDo6TU9OVEgpOworICAgIG1hcC0+YWRk
KCJudW1iZXIiLCBIVE1MSW5wdXRFbGVtZW50OjpOVU1CRVIpOworICAgIG1hcC0+YWRkKCJwYXNz
d29yZCIsIEhUTUxJbnB1dEVsZW1lbnQ6OlBBU1NXT1JEKTsKKyAgICBtYXAtPmFkZCgicmFkaW8i
LCBIVE1MSW5wdXRFbGVtZW50OjpSQURJTyk7CisgICAgbWFwLT5hZGQoInJhbmdlIiwgSFRNTElu
cHV0RWxlbWVudDo6UkFOR0UpOworICAgIG1hcC0+YWRkKCJyZXNldCIsIEhUTUxJbnB1dEVsZW1l
bnQ6OlJFU0VUKTsKKyAgICBtYXAtPmFkZCgic2VhcmNoIiwgSFRNTElucHV0RWxlbWVudDo6U0VB
UkNIKTsKKyAgICBtYXAtPmFkZCgic3VibWl0IiwgSFRNTElucHV0RWxlbWVudDo6U1VCTUlUKTsK
KyAgICBtYXAtPmFkZCgidGVsIiwgSFRNTElucHV0RWxlbWVudDo6VEVMRVBIT05FKTsKKyAgICBt
YXAtPmFkZCgidGltZSIsIEhUTUxJbnB1dEVsZW1lbnQ6OlRJTUUpOworICAgIG1hcC0+YWRkKCJ1
cmwiLCBIVE1MSW5wdXRFbGVtZW50OjpVUkwpOworICAgIG1hcC0+YWRkKCJ3ZWVrIiwgSFRNTElu
cHV0RWxlbWVudDo6V0VFSyk7CisgICAgLy8gTm8gbmVlZCB0byByZWdpc3RlciAidGV4dCIgYmVj
YXVzZSBpdCBpcyB0aGUgZGVmYXVsdCB0eXBlLgorICAgIHJldHVybiBtYXA7Cit9CisKIHZvaWQg
SFRNTElucHV0RWxlbWVudDo6c2V0SW5wdXRUeXBlKGNvbnN0IFN0cmluZyYgdCkKIHsKKyAgICBz
dGF0aWMgY29uc3QgSW5wdXRUeXBlTWFwKiB0eXBlTWFwID0gY3JlYXRlVHlwZU1hcCgpOwogICAg
IElucHV0VHlwZSBuZXdUeXBlOwotICAgIAotICAgIGlmIChlcXVhbElnbm9yaW5nQ2FzZSh0LCAi
cGFzc3dvcmQiKSkKLSAgICAgICAgbmV3VHlwZSA9IFBBU1NXT1JEOwotICAgIGVsc2UgaWYgKGVx
dWFsSWdub3JpbmdDYXNlKHQsICJjaGVja2JveCIpKQotICAgICAgICBuZXdUeXBlID0gQ0hFQ0tC
T1g7Ci0gICAgZWxzZSBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UodCwgInJhZGlvIikpCi0gICAgICAg
IG5ld1R5cGUgPSBSQURJTzsKLSAgICBlbHNlIGlmIChlcXVhbElnbm9yaW5nQ2FzZSh0LCAic3Vi
bWl0IikpCi0gICAgICAgIG5ld1R5cGUgPSBTVUJNSVQ7Ci0gICAgZWxzZSBpZiAoZXF1YWxJZ25v
cmluZ0Nhc2UodCwgInJlc2V0IikpCi0gICAgICAgIG5ld1R5cGUgPSBSRVNFVDsKLSAgICBlbHNl
IGlmIChlcXVhbElnbm9yaW5nQ2FzZSh0LCAiZmlsZSIpKQotICAgICAgICBuZXdUeXBlID0gRklM
RTsKLSAgICBlbHNlIGlmIChlcXVhbElnbm9yaW5nQ2FzZSh0LCAiaGlkZGVuIikpCi0gICAgICAg
IG5ld1R5cGUgPSBISURERU47Ci0gICAgZWxzZSBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UodCwgImlt
YWdlIikpCi0gICAgICAgIG5ld1R5cGUgPSBJTUFHRTsKLSAgICBlbHNlIGlmIChlcXVhbElnbm9y
aW5nQ2FzZSh0LCAiYnV0dG9uIikpCi0gICAgICAgIG5ld1R5cGUgPSBCVVRUT047Ci0gICAgZWxz
ZSBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UodCwgImtodG1sX2lzaW5kZXgiKSkKLSAgICAgICAgbmV3
VHlwZSA9IElTSU5ERVg7Ci0gICAgZWxzZSBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UodCwgInNlYXJj
aCIpKQotICAgICAgICBuZXdUeXBlID0gU0VBUkNIOwotICAgIGVsc2UgaWYgKGVxdWFsSWdub3Jp
bmdDYXNlKHQsICJyYW5nZSIpKQotICAgICAgICBuZXdUeXBlID0gUkFOR0U7Ci0gICAgZWxzZSBp
ZiAoZXF1YWxJZ25vcmluZ0Nhc2UodCwgImVtYWlsIikpCi0gICAgICAgIG5ld1R5cGUgPSBFTUFJ
TDsKLSAgICBlbHNlIGlmIChlcXVhbElnbm9yaW5nQ2FzZSh0LCAibnVtYmVyIikpCi0gICAgICAg
IG5ld1R5cGUgPSBOVU1CRVI7Ci0gICAgZWxzZSBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UodCwgInRl
bCIpKQotICAgICAgICBuZXdUeXBlID0gVEVMRVBIT05FOwotICAgIGVsc2UgaWYgKGVxdWFsSWdu
b3JpbmdDYXNlKHQsICJ1cmwiKSkKLSAgICAgICAgbmV3VHlwZSA9IFVSTDsKLSAgICBlbHNlIGlm
IChlcXVhbElnbm9yaW5nQ2FzZSh0LCAiY29sb3IiKSkKLSAgICAgICAgbmV3VHlwZSA9IENPTE9S
OworICAgIC8vIGdldCgpIG9yIGNvbnRhaW5zKCkgd2l0aCBhIG51bGwgc3RyaW5nIGNhdXNlcyBh
IGNyYXNoLgorICAgIGlmICghdC5pc051bGwoKSAmJiB0eXBlTWFwLT5jb250YWlucyh0KSkKKyAg
ICAgICAgbmV3VHlwZSA9IHR5cGVNYXAtPmdldCh0KTsKICAgICBlbHNlCiAgICAgICAgIG5ld1R5
cGUgPSBURVhUOwogCkBAIC00ODIsODIgKzUwMiw0NiBAQCB2b2lkIEhUTUxJbnB1dEVsZW1lbnQ6
OnNldElucHV0VHlwZShjb25zdCBTdHJpbmcmIHQpCiAgICAgICAgIG1faW1hZ2VMb2FkZXIuY2xl
YXIoKTsKIH0KIAordHlwZWRlZiBIYXNoTWFwPEhUTUxJbnB1dEVsZW1lbnQ6OklucHV0VHlwZSwg
QXRvbWljU3RyaW5nLCBXVEY6OkludEhhc2g8dW5zaWduZWQ+LCBXVEY6OlVuc2lnbmVkV2l0aFpl
cm9LZXlIYXNoVHJhaXRzPHVuc2lnbmVkPiA+IEZvcm1Db250cm9sTWFwOworc3RhdGljIGNvbnN0
IEZvcm1Db250cm9sTWFwKiBjcmVhdGVGb3JtQ29udHJvbFR5cGVzKCkKK3sKKyAgICBGb3JtQ29u
dHJvbE1hcCogdHlwZXMgPSBuZXcgRm9ybUNvbnRyb2xNYXA7CisgICAgLy8gTmVlZHMgdG8gYmUg
bG93ZXJjYXNlIGFjY29yZGluZyB0byBET00gc3BlYworICAgIHR5cGVzLT5hZGQoSFRNTElucHV0
RWxlbWVudDo6QlVUVE9OLCAiYnV0dG9uIik7CisgICAgdHlwZXMtPmFkZChIVE1MSW5wdXRFbGVt
ZW50OjpDSEVDS0JPWCwgImNoZWNrYm94Iik7CisgICAgdHlwZXMtPmFkZChIVE1MSW5wdXRFbGVt
ZW50OjpDT0xPUiwgImNvbG9yIik7CisgICAgdHlwZXMtPmFkZChIVE1MSW5wdXRFbGVtZW50OjpE
QVRFLCAiZGF0ZSIpOworICAgIHR5cGVzLT5hZGQoSFRNTElucHV0RWxlbWVudDo6REFURVRJTUUs
ICJkYXRldGltZSIpOworICAgIHR5cGVzLT5hZGQoSFRNTElucHV0RWxlbWVudDo6REFURVRJTUVM
T0NBTCwgImRhdGV0aW1lLWxvY2FsIik7CisgICAgdHlwZXMtPmFkZChIVE1MSW5wdXRFbGVtZW50
OjpFTUFJTCwgImVtYWlsIik7CisgICAgdHlwZXMtPmFkZChIVE1MSW5wdXRFbGVtZW50OjpGSUxF
LCAiZmlsZSIpOworICAgIHR5cGVzLT5hZGQoSFRNTElucHV0RWxlbWVudDo6SElEREVOLCAiaGlk
ZGVuIik7CisgICAgdHlwZXMtPmFkZChIVE1MSW5wdXRFbGVtZW50OjpJTUFHRSwgImltYWdlIik7
CisgICAgdHlwZXMtPmFkZChIVE1MSW5wdXRFbGVtZW50OjpJU0lOREVYLCBlbXB0eUF0b20pOwor
ICAgIHR5cGVzLT5hZGQoSFRNTElucHV0RWxlbWVudDo6TU9OVEgsICJtb250aCIpOworICAgIHR5
cGVzLT5hZGQoSFRNTElucHV0RWxlbWVudDo6TlVNQkVSLCAibnVtYmVyIik7CisgICAgdHlwZXMt
PmFkZChIVE1MSW5wdXRFbGVtZW50OjpQQVNTV09SRCwgInBhc3N3b3JkIik7CisgICAgdHlwZXMt
PmFkZChIVE1MSW5wdXRFbGVtZW50OjpSQURJTywgInJhZGlvIik7CisgICAgdHlwZXMtPmFkZChI
VE1MSW5wdXRFbGVtZW50OjpSQU5HRSwgInJhbmdlIik7CisgICAgdHlwZXMtPmFkZChIVE1MSW5w
dXRFbGVtZW50OjpSRVNFVCwgInJlc2V0Iik7CisgICAgdHlwZXMtPmFkZChIVE1MSW5wdXRFbGVt
ZW50OjpTRUFSQ0gsICJzZWFyY2giKTsKKyAgICB0eXBlcy0+YWRkKEhUTUxJbnB1dEVsZW1lbnQ6
OlNVQk1JVCwgInN1Ym1pdCIpOworICAgIHR5cGVzLT5hZGQoSFRNTElucHV0RWxlbWVudDo6VEVM
RVBIT05FLCAidGVsIik7CisgICAgdHlwZXMtPmFkZChIVE1MSW5wdXRFbGVtZW50OjpURVhULCAi
dGV4dCIpOworICAgIHR5cGVzLT5hZGQoSFRNTElucHV0RWxlbWVudDo6VElNRSwgInRpbWUiKTsK
KyAgICB0eXBlcy0+YWRkKEhUTUxJbnB1dEVsZW1lbnQ6OlVSTCwgInVybCIpOworICAgIHR5cGVz
LT5hZGQoSFRNTElucHV0RWxlbWVudDo6V0VFSywgIndlZWsiKTsKKyAgICByZXR1cm4gdHlwZXM7
Cit9CisKIGNvbnN0IEF0b21pY1N0cmluZyYgSFRNTElucHV0RWxlbWVudDo6Zm9ybUNvbnRyb2xU
eXBlKCkgY29uc3QKIHsKLSAgICAvLyBuZWVkcyB0byBiZSBsb3dlcmNhc2UgYWNjb3JkaW5nIHRv
IERPTSBzcGVjCi0gICAgc3dpdGNoIChpbnB1dFR5cGUoKSkgewotICAgICAgICBjYXNlIEJVVFRP
TjogewotICAgICAgICAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBBdG9taWNTdHJpbmcs
IGJ1dHRvbiwgKCJidXR0b24iKSk7Ci0gICAgICAgICAgICByZXR1cm4gYnV0dG9uOwotICAgICAg
ICB9Ci0gICAgICAgIGNhc2UgQ0hFQ0tCT1g6IHsKLSAgICAgICAgICAgIERFRklORV9TVEFUSUNf
TE9DQUwoY29uc3QgQXRvbWljU3RyaW5nLCBjaGVja2JveCwgKCJjaGVja2JveCIpKTsKLSAgICAg
ICAgICAgIHJldHVybiBjaGVja2JveDsKLSAgICAgICAgfQotICAgICAgICBjYXNlIENPTE9SOiB7
Ci0gICAgICAgICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0IEF0b21pY1N0cmluZywgY29s
b3IsICgiY29sb3IiKSk7Ci0gICAgICAgICAgICByZXR1cm4gY29sb3I7Ci0gICAgICAgIH0KLSAg
ICAgICAgY2FzZSBFTUFJTDogewotICAgICAgICAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25z
dCBBdG9taWNTdHJpbmcsIGVtYWlsLCAoImVtYWlsIikpOwotICAgICAgICAgICAgcmV0dXJuIGVt
YWlsOwotICAgICAgICB9Ci0gICAgICAgIGNhc2UgRklMRTogewotICAgICAgICAgICAgREVGSU5F
X1NUQVRJQ19MT0NBTChjb25zdCBBdG9taWNTdHJpbmcsIGZpbGUsICgiZmlsZSIpKTsKLSAgICAg
ICAgICAgIHJldHVybiBmaWxlOwotICAgICAgICB9Ci0gICAgICAgIGNhc2UgSElEREVOOiB7Ci0g
ICAgICAgICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0IEF0b21pY1N0cmluZywgaGlkZGVu
LCAoImhpZGRlbiIpKTsKLSAgICAgICAgICAgIHJldHVybiBoaWRkZW47Ci0gICAgICAgIH0KLSAg
ICAgICAgY2FzZSBJTUFHRTogewotICAgICAgICAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25z
dCBBdG9taWNTdHJpbmcsIGltYWdlLCAoImltYWdlIikpOwotICAgICAgICAgICAgcmV0dXJuIGlt
YWdlOwotICAgICAgICB9Ci0gICAgICAgIGNhc2UgSVNJTkRFWDoKLSAgICAgICAgICAgIHJldHVy
biBlbXB0eUF0b207Ci0gICAgICAgIGNhc2UgTlVNQkVSOiB7Ci0gICAgICAgICAgICBERUZJTkVf
U1RBVElDX0xPQ0FMKGNvbnN0IEF0b21pY1N0cmluZywgbnVtYmVyLCAoIm51bWJlciIpKTsKLSAg
ICAgICAgICAgIHJldHVybiBudW1iZXI7Ci0gICAgICAgIH0KLSAgICAgICAgY2FzZSBQQVNTV09S
RDogewotICAgICAgICAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBBdG9taWNTdHJpbmcs
IHBhc3N3b3JkLCAoInBhc3N3b3JkIikpOwotICAgICAgICAgICAgcmV0dXJuIHBhc3N3b3JkOwot
ICAgICAgICB9Ci0gICAgICAgIGNhc2UgUkFESU86IHsKLSAgICAgICAgICAgIERFRklORV9TVEFU
SUNfTE9DQUwoY29uc3QgQXRvbWljU3RyaW5nLCByYWRpbywgKCJyYWRpbyIpKTsKLSAgICAgICAg
ICAgIHJldHVybiByYWRpbzsKLSAgICAgICAgfQotICAgICAgICBjYXNlIFJBTkdFOiB7Ci0gICAg
ICAgICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0IEF0b21pY1N0cmluZywgcmFuZ2UsICgi
cmFuZ2UiKSk7Ci0gICAgICAgICAgICByZXR1cm4gcmFuZ2U7Ci0gICAgICAgIH0KLSAgICAgICAg
Y2FzZSBSRVNFVDogewotICAgICAgICAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBBdG9t
aWNTdHJpbmcsIHJlc2V0LCAoInJlc2V0IikpOwotICAgICAgICAgICAgcmV0dXJuIHJlc2V0Owot
ICAgICAgICB9Ci0gICAgICAgIGNhc2UgU0VBUkNIOiB7Ci0gICAgICAgICAgICBERUZJTkVfU1RB
VElDX0xPQ0FMKGNvbnN0IEF0b21pY1N0cmluZywgc2VhcmNoLCAoInNlYXJjaCIpKTsKLSAgICAg
ICAgICAgIHJldHVybiBzZWFyY2g7Ci0gICAgICAgIH0KLSAgICAgICAgY2FzZSBTVUJNSVQ6IHsK
LSAgICAgICAgICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgQXRvbWljU3RyaW5nLCBzdWJt
aXQsICgic3VibWl0IikpOwotICAgICAgICAgICAgcmV0dXJuIHN1Ym1pdDsKLSAgICAgICAgfQot
ICAgICAgICBjYXNlIFRFTEVQSE9ORTogewotICAgICAgICAgICAgREVGSU5FX1NUQVRJQ19MT0NB
TChjb25zdCBBdG9taWNTdHJpbmcsIHRlbGVwaG9uZSwgKCJ0ZWwiKSk7Ci0gICAgICAgICAgICBy
ZXR1cm4gdGVsZXBob25lOwotICAgICAgICB9Ci0gICAgICAgIGNhc2UgVEVYVDogewotICAgICAg
ICAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBBdG9taWNTdHJpbmcsIHRleHQsICgidGV4
dCIpKTsKLSAgICAgICAgICAgIHJldHVybiB0ZXh0OwotICAgICAgICB9Ci0gICAgICAgIGNhc2Ug
VVJMOiB7Ci0gICAgICAgICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0IEF0b21pY1N0cmlu
ZywgdXJsLCAoInVybCIpKTsKLSAgICAgICAgICAgIHJldHVybiB1cmw7Ci0gICAgICAgIH0KLSAg
ICB9Ci0gICAgcmV0dXJuIGVtcHR5QXRvbTsKKyAgICBzdGF0aWMgY29uc3QgRm9ybUNvbnRyb2xN
YXAqIGZvcm1Db250cm9sVHlwZXMgPSBjcmVhdGVGb3JtQ29udHJvbFR5cGVzKCk7CisgICAgQVNT
RVJUKGZvcm1Db250cm9sVHlwZXMtPmNvbnRhaW5zKGlucHV0VHlwZSgpKSk7CisgICAgLy8gV2Ug
ZG9uJ3QgdXNlIGZvcm1Db250cm9sVHlwZXMtPmdldChpbnB1dFR5cGUoKSkgYmVjYXVzZSB0aGlz
IGZ1bmN0aW9uCisgICAgLy8gdHJpZXMgdG8gcmV0dXJuIGEgcmVmZXJlbmNlIHRvIGEgdGVtcG9y
YXJ5IEF0b21pY1N0cmluZyBvYmplY3QgaW4gdGhhdAorICAgIC8vIGNhc2UuCisgICAgcmV0dXJu
IGZvcm1Db250cm9sVHlwZXMtPmZpbmQoaW5wdXRUeXBlKCkpLT5zZWNvbmQ7CiB9CiAKIGJvb2wg
SFRNTElucHV0RWxlbWVudDo6c2F2ZUZvcm1Db250cm9sU3RhdGUoU3RyaW5nJiByZXN1bHQpIGNv
bnN0CkBAIC01NjgsMTEgKzU1MiwxNSBAQCBib29sIEhUTUxJbnB1dEVsZW1lbnQ6OnNhdmVGb3Jt
Q29udHJvbFN0YXRlKFN0cmluZyYgcmVzdWx0KSBjb25zdAogICAgIHN3aXRjaCAoaW5wdXRUeXBl
KCkpIHsKICAgICAgICAgY2FzZSBCVVRUT046CiAgICAgICAgIGNhc2UgQ09MT1I6CisgICAgICAg
IGNhc2UgREFURToKKyAgICAgICAgY2FzZSBEQVRFVElNRToKKyAgICAgICAgY2FzZSBEQVRFVElN
RUxPQ0FMOgogICAgICAgICBjYXNlIEVNQUlMOgogICAgICAgICBjYXNlIEZJTEU6CiAgICAgICAg
IGNhc2UgSElEREVOOgogICAgICAgICBjYXNlIElNQUdFOgogICAgICAgICBjYXNlIElTSU5ERVg6
CisgICAgICAgIGNhc2UgTU9OVEg6CiAgICAgICAgIGNhc2UgTlVNQkVSOgogICAgICAgICBjYXNl
IFJBTkdFOgogICAgICAgICBjYXNlIFJFU0VUOgpAQCAtNTgwLDcgKzU2OCw5IEBAIGJvb2wgSFRN
TElucHV0RWxlbWVudDo6c2F2ZUZvcm1Db250cm9sU3RhdGUoU3RyaW5nJiByZXN1bHQpIGNvbnN0
CiAgICAgICAgIGNhc2UgU1VCTUlUOgogICAgICAgICBjYXNlIFRFTEVQSE9ORToKICAgICAgICAg
Y2FzZSBURVhUOgorICAgICAgICBjYXNlIFRJTUU6CiAgICAgICAgIGNhc2UgVVJMOgorICAgICAg
ICBjYXNlIFdFRUs6CiAgICAgICAgICAgICByZXN1bHQgPSB2YWx1ZSgpOwogICAgICAgICAgICAg
cmV0dXJuIHRydWU7CiAgICAgICAgIGNhc2UgQ0hFQ0tCT1g6CkBAIC02MDAsMTEgKzU5MCwxNSBA
QCB2b2lkIEhUTUxJbnB1dEVsZW1lbnQ6OnJlc3RvcmVGb3JtQ29udHJvbFN0YXRlKGNvbnN0IFN0
cmluZyYgc3RhdGUpCiAgICAgc3dpdGNoIChpbnB1dFR5cGUoKSkgewogICAgICAgICBjYXNlIEJV
VFRPTjoKICAgICAgICAgY2FzZSBDT0xPUjoKKyAgICAgICAgY2FzZSBEQVRFOgorICAgICAgICBj
YXNlIERBVEVUSU1FOgorICAgICAgICBjYXNlIERBVEVUSU1FTE9DQUw6CiAgICAgICAgIGNhc2Ug
RU1BSUw6CiAgICAgICAgIGNhc2UgRklMRToKICAgICAgICAgY2FzZSBISURERU46CiAgICAgICAg
IGNhc2UgSU1BR0U6CiAgICAgICAgIGNhc2UgSVNJTkRFWDoKKyAgICAgICAgY2FzZSBNT05USDoK
ICAgICAgICAgY2FzZSBOVU1CRVI6CiAgICAgICAgIGNhc2UgUkFOR0U6CiAgICAgICAgIGNhc2Ug
UkVTRVQ6CkBAIC02MTIsNyArNjA2LDkgQEAgdm9pZCBIVE1MSW5wdXRFbGVtZW50OjpyZXN0b3Jl
Rm9ybUNvbnRyb2xTdGF0ZShjb25zdCBTdHJpbmcmIHN0YXRlKQogICAgICAgICBjYXNlIFNVQk1J
VDoKICAgICAgICAgY2FzZSBURUxFUEhPTkU6CiAgICAgICAgIGNhc2UgVEVYVDoKKyAgICAgICAg
Y2FzZSBUSU1FOgogICAgICAgICBjYXNlIFVSTDoKKyAgICAgICAgY2FzZSBXRUVLOgogICAgICAg
ICAgICAgc2V0VmFsdWUoc3RhdGUpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2Ug
Q0hFQ0tCT1g6CkBAIC02NTUsMTQgKzY1MSwyMCBAQCB2b2lkIEhUTUxJbnB1dEVsZW1lbnQ6OmFj
Y2Vzc0tleUFjdGlvbihib29sIHNlbmRUb0FueUVsZW1lbnQpCiAgICAgICAgICAgICAvLyBhIG5v
LW9wIGZvciB0aGlzIHR5cGUKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIENPTE9S
OgorICAgICAgICBjYXNlIERBVEU6CisgICAgICAgIGNhc2UgREFURVRJTUU6CisgICAgICAgIGNh
c2UgREFURVRJTUVMT0NBTDoKICAgICAgICAgY2FzZSBFTUFJTDoKICAgICAgICAgY2FzZSBJU0lO
REVYOgorICAgICAgICBjYXNlIE1PTlRIOgogICAgICAgICBjYXNlIE5VTUJFUjoKICAgICAgICAg
Y2FzZSBQQVNTV09SRDoKICAgICAgICAgY2FzZSBTRUFSQ0g6CiAgICAgICAgIGNhc2UgVEVMRVBI
T05FOgogICAgICAgICBjYXNlIFRFWFQ6CisgICAgICAgIGNhc2UgVElNRToKICAgICAgICAgY2Fz
ZSBVUkw6CisgICAgICAgIGNhc2UgV0VFSzoKICAgICAgICAgICAgIC8vIHNob3VsZCBuZXZlciBy
ZXN0b3JlIHByZXZpb3VzIHNlbGVjdGlvbiBoZXJlCiAgICAgICAgICAgICBmb2N1cyhmYWxzZSk7
CiAgICAgICAgICAgICBicmVhazsKQEAgLTc4OSwzMCArNzkxLDkgQEAgdm9pZCBIVE1MSW5wdXRF
bGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShNYXBwZWRBdHRyaWJ1dGUgKmF0dHIpCiAKIGJv
b2wgSFRNTElucHV0RWxlbWVudDo6cmVuZGVyZXJJc05lZWRlZChSZW5kZXJTdHlsZSAqc3R5bGUp
CiB7Ci0gICAgc3dpdGNoIChpbnB1dFR5cGUoKSkgewotICAgICAgICBjYXNlIEJVVFRPTjoKLSAg
ICAgICAgY2FzZSBDSEVDS0JPWDoKLSAgICAgICAgY2FzZSBDT0xPUjoKLSAgICAgICAgY2FzZSBF
TUFJTDoKLSAgICAgICAgY2FzZSBGSUxFOgotICAgICAgICBjYXNlIElNQUdFOgotICAgICAgICBj
YXNlIElTSU5ERVg6Ci0gICAgICAgIGNhc2UgTlVNQkVSOgotICAgICAgICBjYXNlIFBBU1NXT1JE
OgotICAgICAgICBjYXNlIFJBRElPOgotICAgICAgICBjYXNlIFJBTkdFOgotICAgICAgICBjYXNl
IFJFU0VUOgotICAgICAgICBjYXNlIFNFQVJDSDoKLSAgICAgICAgY2FzZSBTVUJNSVQ6Ci0gICAg
ICAgIGNhc2UgVEVMRVBIT05FOgotICAgICAgICBjYXNlIFRFWFQ6Ci0gICAgICAgIGNhc2UgVVJM
OgotICAgICAgICAgICAgcmV0dXJuIEhUTUxGb3JtQ29udHJvbEVsZW1lbnRXaXRoU3RhdGU6OnJl
bmRlcmVySXNOZWVkZWQoc3R5bGUpOwotICAgICAgICBjYXNlIEhJRERFTjoKLSAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKLSAgICB9Ci0gICAgQVNTRVJUKGZhbHNlKTsKLSAgICByZXR1cm4gZmFs
c2U7CisgICAgaWYgKGlucHV0VHlwZSgpID09IEhJRERFTikKKyAgICAgICAgcmV0dXJuIGZhbHNl
OworICAgIHJldHVybiBIVE1MRm9ybUNvbnRyb2xFbGVtZW50V2l0aFN0YXRlOjpyZW5kZXJlcklz
TmVlZGVkKHN0eWxlKTsKIH0KIAogUmVuZGVyT2JqZWN0ICpIVE1MSW5wdXRFbGVtZW50OjpjcmVh
dGVSZW5kZXJlcihSZW5kZXJBcmVuYSAqYXJlbmEsIFJlbmRlclN0eWxlICpzdHlsZSkKQEAgLTgz
NCwxNCArODE1LDIwIEBAIFJlbmRlck9iamVjdCAqSFRNTElucHV0RWxlbWVudDo6Y3JlYXRlUmVu
ZGVyZXIoUmVuZGVyQXJlbmEgKmFyZW5hLCBSZW5kZXJTdHlsZSAqCiAgICAgICAgIGNhc2UgUkFO
R0U6CiAgICAgICAgICAgICByZXR1cm4gbmV3IChhcmVuYSkgUmVuZGVyU2xpZGVyKHRoaXMpOwog
ICAgICAgICBjYXNlIENPTE9SOgorICAgICAgICBjYXNlIERBVEU6CisgICAgICAgIGNhc2UgREFU
RVRJTUU6CisgICAgICAgIGNhc2UgREFURVRJTUVMT0NBTDoKICAgICAgICAgY2FzZSBFTUFJTDoK
ICAgICAgICAgY2FzZSBJU0lOREVYOgorICAgICAgICBjYXNlIE1PTlRIOgogICAgICAgICBjYXNl
IE5VTUJFUjoKICAgICAgICAgY2FzZSBQQVNTV09SRDoKICAgICAgICAgY2FzZSBTRUFSQ0g6CiAg
ICAgICAgIGNhc2UgVEVMRVBIT05FOgogICAgICAgICBjYXNlIFRFWFQ6CisgICAgICAgIGNhc2Ug
VElNRToKICAgICAgICAgY2FzZSBVUkw6CisgICAgICAgIGNhc2UgV0VFSzoKICAgICAgICAgICAg
IHJldHVybiBuZXcgKGFyZW5hKSBSZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUodGhpcywgcGxh
Y2Vob2xkZXJTaG91bGRCZVZpc2libGUoKSk7CiAgICAgfQogICAgIEFTU0VSVChmYWxzZSk7CkBA
IC05MjEsMTYgKzkwOCwyMiBAQCBib29sIEhUTUxJbnB1dEVsZW1lbnQ6OmFwcGVuZEZvcm1EYXRh
KEZvcm1EYXRhTGlzdCYgZW5jb2RpbmcsIGJvb2wgbXVsdGlwYXJ0KQogCiAgICAgc3dpdGNoIChp
bnB1dFR5cGUoKSkgewogICAgICAgICBjYXNlIENPTE9SOgorICAgICAgICBjYXNlIERBVEU6Cisg
ICAgICAgIGNhc2UgREFURVRJTUU6CisgICAgICAgIGNhc2UgREFURVRJTUVMT0NBTDoKICAgICAg
ICAgY2FzZSBFTUFJTDoKICAgICAgICAgY2FzZSBISURERU46CiAgICAgICAgIGNhc2UgSVNJTkRF
WDoKKyAgICAgICAgY2FzZSBNT05USDoKICAgICAgICAgY2FzZSBOVU1CRVI6CiAgICAgICAgIGNh
c2UgUEFTU1dPUkQ6CiAgICAgICAgIGNhc2UgUkFOR0U6CiAgICAgICAgIGNhc2UgU0VBUkNIOgog
ICAgICAgICBjYXNlIFRFTEVQSE9ORToKICAgICAgICAgY2FzZSBURVhUOgorICAgICAgICBjYXNl
IFRJTUU6CiAgICAgICAgIGNhc2UgVVJMOgorICAgICAgICBjYXNlIFdFRUs6CiAgICAgICAgICAg
ICAvLyBhbHdheXMgc3VjY2Vzc2Z1bAogICAgICAgICAgICAgZW5jb2RpbmcuYXBwZW5kRGF0YShu
YW1lKCksIHZhbHVlKCkpOwogICAgICAgICAgICAgcmV0dXJuIHRydWU7CkBAIC0xMDA4LDYgKzEw
MDEsNDAgQEAgdm9pZCBIVE1MSW5wdXRFbGVtZW50OjpyZXNldCgpCiAgICAgbV91c2VEZWZhdWx0
Q2hlY2tlZCA9IHRydWU7CiB9CiAKK2Jvb2wgSFRNTElucHV0RWxlbWVudDo6aXNUZXh0RmllbGQo
KSBjb25zdAoreworICAgIHN3aXRjaCAoaW5wdXRUeXBlKCkpIHsKKyAgICBjYXNlIENPTE9SOgor
ICAgIGNhc2UgREFURToKKyAgICBjYXNlIERBVEVUSU1FOgorICAgIGNhc2UgREFURVRJTUVMT0NB
TDoKKyAgICBjYXNlIEVNQUlMOgorICAgIGNhc2UgSVNJTkRFWDoKKyAgICBjYXNlIE1PTlRIOgor
ICAgIGNhc2UgTlVNQkVSOgorICAgIGNhc2UgUEFTU1dPUkQ6CisgICAgY2FzZSBTRUFSQ0g6Cisg
ICAgY2FzZSBURUxFUEhPTkU6CisgICAgY2FzZSBURVhUOgorICAgIGNhc2UgVElNRToKKyAgICBj
YXNlIFVSTDoKKyAgICBjYXNlIFdFRUs6CisgICAgICAgIHJldHVybiB0cnVlOworICAgIGNhc2Ug
QlVUVE9OOgorICAgIGNhc2UgQ0hFQ0tCT1g6CisgICAgY2FzZSBGSUxFOgorICAgIGNhc2UgSElE
REVOOgorICAgIGNhc2UgSU1BR0U6CisgICAgY2FzZSBSQURJTzoKKyAgICBjYXNlIFJBTkdFOgor
ICAgIGNhc2UgUkVTRVQ6CisgICAgY2FzZSBTVUJNSVQ6CisgICAgICAgIHJldHVybiBmYWxzZTsK
KyAgICB9CisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIGZhbHNlOworfQor
CiB2b2lkIEhUTUxJbnB1dEVsZW1lbnQ6OnNldENoZWNrZWQoYm9vbCBub3dDaGVja2VkLCBib29s
IHNlbmRDaGFuZ2VFdmVudCkKIHsKICAgICBpZiAoY2hlY2tlZCgpID09IG5vd0NoZWNrZWQpCkBA
IC0xMDk5LDExICsxMTI2LDE1IEBAIFN0cmluZyBIVE1MSW5wdXRFbGVtZW50Ojp2YWx1ZVdpdGhE
ZWZhdWx0KCkgY29uc3QKICAgICAgICAgICAgIGNhc2UgQlVUVE9OOgogICAgICAgICAgICAgY2Fz
ZSBDSEVDS0JPWDoKICAgICAgICAgICAgIGNhc2UgQ09MT1I6CisgICAgICAgICAgICBjYXNlIERB
VEU6CisgICAgICAgICAgICBjYXNlIERBVEVUSU1FOgorICAgICAgICAgICAgY2FzZSBEQVRFVElN
RUxPQ0FMOgogICAgICAgICAgICAgY2FzZSBFTUFJTDoKICAgICAgICAgICAgIGNhc2UgRklMRToK
ICAgICAgICAgICAgIGNhc2UgSElEREVOOgogICAgICAgICAgICAgY2FzZSBJTUFHRToKICAgICAg
ICAgICAgIGNhc2UgSVNJTkRFWDoKKyAgICAgICAgICAgIGNhc2UgTU9OVEg6CiAgICAgICAgICAg
ICBjYXNlIE5VTUJFUjoKICAgICAgICAgICAgIGNhc2UgUEFTU1dPUkQ6CiAgICAgICAgICAgICBj
YXNlIFJBRElPOgpAQCAtMTExMSw3ICsxMTQyLDkgQEAgU3RyaW5nIEhUTUxJbnB1dEVsZW1lbnQ6
OnZhbHVlV2l0aERlZmF1bHQoKSBjb25zdAogICAgICAgICAgICAgY2FzZSBTRUFSQ0g6CiAgICAg
ICAgICAgICBjYXNlIFRFTEVQSE9ORToKICAgICAgICAgICAgIGNhc2UgVEVYVDoKKyAgICAgICAg
ICAgIGNhc2UgVElNRToKICAgICAgICAgICAgIGNhc2UgVVJMOgorICAgICAgICAgICAgY2FzZSBX
RUVLOgogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgY2FzZSBSRVNFVDoKICAg
ICAgICAgICAgICAgICB2ID0gcmVzZXRCdXR0b25EZWZhdWx0TGFiZWwoKTsKQEAgLTEyMDksMTYg
KzEyNDIsMjIgQEAgYm9vbCBIVE1MSW5wdXRFbGVtZW50OjpzdG9yZXNWYWx1ZVNlcGFyYXRlRnJv
bUF0dHJpYnV0ZSgpIGNvbnN0CiAgICAgICAgIGNhc2UgU1VCTUlUOgogICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOwogICAgICAgICBjYXNlIENPTE9SOgorICAgICAgICBjYXNlIERBVEU6CisgICAg
ICAgIGNhc2UgREFURVRJTUU6CisgICAgICAgIGNhc2UgREFURVRJTUVMT0NBTDoKICAgICAgICAg
Y2FzZSBFTUFJTDoKICAgICAgICAgY2FzZSBGSUxFOgogICAgICAgICBjYXNlIElTSU5ERVg6Cisg
ICAgICAgIGNhc2UgTU9OVEg6CiAgICAgICAgIGNhc2UgTlVNQkVSOgogICAgICAgICBjYXNlIFBB
U1NXT1JEOgogICAgICAgICBjYXNlIFJBTkdFOgogICAgICAgICBjYXNlIFNFQVJDSDoKICAgICAg
ICAgY2FzZSBURUxFUEhPTkU6CiAgICAgICAgIGNhc2UgVEVYVDoKKyAgICAgICAgY2FzZSBUSU1F
OgogICAgICAgICBjYXNlIFVSTDoKKyAgICAgICAgY2FzZSBXRUVLOgogICAgICAgICAgICAgcmV0
dXJuIHRydWU7CiAgICAgfQogICAgIHJldHVybiBmYWxzZTsKQEAgLTEzODUsMTYgKzE0MjQsMjIg
QEAgdm9pZCBIVE1MSW5wdXRFbGVtZW50OjpkZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50KiBldnQp
CiAgICAgICAgICAgICBzd2l0Y2ggKGlucHV0VHlwZSgpKSB7CiAgICAgICAgICAgICAgICAgY2Fz
ZSBDSEVDS0JPWDoKICAgICAgICAgICAgICAgICBjYXNlIENPTE9SOgorICAgICAgICAgICAgICAg
IGNhc2UgREFURToKKyAgICAgICAgICAgICAgICBjYXNlIERBVEVUSU1FOgorICAgICAgICAgICAg
ICAgIGNhc2UgREFURVRJTUVMT0NBTDoKICAgICAgICAgICAgICAgICBjYXNlIEVNQUlMOgogICAg
ICAgICAgICAgICAgIGNhc2UgSElEREVOOgogICAgICAgICAgICAgICAgIGNhc2UgSVNJTkRFWDoK
KyAgICAgICAgICAgICAgICBjYXNlIE1PTlRIOgogICAgICAgICAgICAgICAgIGNhc2UgTlVNQkVS
OgogICAgICAgICAgICAgICAgIGNhc2UgUEFTU1dPUkQ6CiAgICAgICAgICAgICAgICAgY2FzZSBS
QU5HRToKICAgICAgICAgICAgICAgICBjYXNlIFNFQVJDSDoKICAgICAgICAgICAgICAgICBjYXNl
IFRFTEVQSE9ORToKICAgICAgICAgICAgICAgICBjYXNlIFRFWFQ6CisgICAgICAgICAgICAgICAg
Y2FzZSBUSU1FOgogICAgICAgICAgICAgICAgIGNhc2UgVVJMOgorICAgICAgICAgICAgICAgIGNh
c2UgV0VFSzoKICAgICAgICAgICAgICAgICAgICAgLy8gU2ltdWxhdGUgbW91c2UgY2xpY2sgb24g
dGhlIGRlZmF1bHQgZm9ybSBidXR0b24gZm9yIGVudGVyIGZvciB0aGVzZSB0eXBlcyBvZiBlbGVt
ZW50cy4KICAgICAgICAgICAgICAgICAgICAgY2xpY2tEZWZhdWx0Rm9ybUJ1dHRvbiA9IHRydWU7
CiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwpAQCAtMTUxMywxNiArMTU1OCwyMiBAQCB2b2lk
IEhUTUxJbnB1dEVsZW1lbnQ6OmRlZmF1bHRFdmVudEhhbmRsZXIoRXZlbnQqIGV2dCkKICAgICAg
ICAgICAgICAgICAgICAgICAgIGNsaWNrRWxlbWVudCA9IHRydWU7CiAgICAgICAgICAgICAgICAg
ICAgIGJyZWFrOwogICAgICAgICAgICAgICAgIGNhc2UgQ09MT1I6CisgICAgICAgICAgICAgICAg
Y2FzZSBEQVRFOgorICAgICAgICAgICAgICAgIGNhc2UgREFURVRJTUU6CisgICAgICAgICAgICAg
ICAgY2FzZSBEQVRFVElNRUxPQ0FMOgogICAgICAgICAgICAgICAgIGNhc2UgRU1BSUw6CiAgICAg
ICAgICAgICAgICAgY2FzZSBISURERU46CiAgICAgICAgICAgICAgICAgY2FzZSBJU0lOREVYOgor
ICAgICAgICAgICAgICAgIGNhc2UgTU9OVEg6CiAgICAgICAgICAgICAgICAgY2FzZSBOVU1CRVI6
CiAgICAgICAgICAgICAgICAgY2FzZSBQQVNTV09SRDoKICAgICAgICAgICAgICAgICBjYXNlIFJB
TkdFOgogICAgICAgICAgICAgICAgIGNhc2UgU0VBUkNIOgogICAgICAgICAgICAgICAgIGNhc2Ug
VEVMRVBIT05FOgogICAgICAgICAgICAgICAgIGNhc2UgVEVYVDoKKyAgICAgICAgICAgICAgICBj
YXNlIFRJTUU6CiAgICAgICAgICAgICAgICAgY2FzZSBVUkw6CisgICAgICAgICAgICAgICAgY2Fz
ZSBXRUVLOgogICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIH0KICAgICAg
ICAgfQpAQCAtMTc0Myw2ICsxNzk0LDEyIEBAIGJvb2wgSFRNTElucHV0RWxlbWVudDo6aXNSZXF1
aXJlZEZvcm1Db250cm9sKCkgY29uc3QKICAgICAgICAgY2FzZSBDSEVDS0JPWDoKICAgICAgICAg
Y2FzZSBSQURJTzoKICAgICAgICAgY2FzZSBGSUxFOgorICAgICAgICBjYXNlIERBVEVUSU1FOgor
ICAgICAgICBjYXNlIERBVEU6CisgICAgICAgIGNhc2UgTU9OVEg6CisgICAgICAgIGNhc2UgV0VF
SzoKKyAgICAgICAgY2FzZSBUSU1FOgorICAgICAgICBjYXNlIERBVEVUSU1FTE9DQUw6CiAgICAg
ICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgY2FzZSBISURERU46CiAgICAgICAgIGNhc2Ug
UkFOR0U6CkBAIC0xODYwLDcgKzE5MTcsMTMgQEAgSFRNTERhdGFMaXN0RWxlbWVudCogSFRNTElu
cHV0RWxlbWVudDo6ZGF0YUxpc3QoKSBjb25zdAogICAgIGNhc2UgRU1BSUw6CiAgICAgY2FzZSBO
VU1CRVI6CiAgICAgY2FzZSBSQU5HRToKLSAgICBjYXNlIENPTE9SOiB7CisgICAgY2FzZSBDT0xP
UjoKKyAgICBjYXNlIERBVEVUSU1FOgorICAgIGNhc2UgREFURToKKyAgICBjYXNlIE1PTlRIOgor
ICAgIGNhc2UgV0VFSzoKKyAgICBjYXNlIFRJTUU6CisgICAgY2FzZSBEQVRFVElNRUxPQ0FMOiB7
CiAgICAgICAgIEVsZW1lbnQqIGVsZW1lbnQgPSBkb2N1bWVudCgpLT5nZXRFbGVtZW50QnlJZChn
ZXRBdHRyaWJ1dGUobGlzdEF0dHIpKTsKICAgICAgICAgaWYgKGVsZW1lbnQgJiYgZWxlbWVudC0+
aGFzVGFnTmFtZShkYXRhbGlzdFRhZykpCiAgICAgICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8
SFRNTERhdGFMaXN0RWxlbWVudCo+KGVsZW1lbnQpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1s
L0hUTUxJbnB1dEVsZW1lbnQuaCBiL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmgKaW5k
ZXggNzk5ZDkyYy4uNjI0MjU4YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVs
ZW1lbnQuaAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oCkBAIC01Nyw3ICs1
NywxMyBAQCBwdWJsaWM6CiAgICAgICAgIE5VTUJFUiwKICAgICAgICAgVEVMRVBIT05FLAogICAg
ICAgICBVUkwsCi0gICAgICAgIENPTE9SCisgICAgICAgIENPTE9SLAorICAgICAgICBEQVRFVElN
RSwKKyAgICAgICAgREFURSwKKyAgICAgICAgTU9OVEgsCisgICAgICAgIFdFRUssCisgICAgICAg
IFRJTUUsCisgICAgICAgIERBVEVUSU1FTE9DQUwKICAgICB9OwogICAgIAogICAgIGVudW0gQXV0
b0NvbXBsZXRlU2V0dGluZyB7CkBAIC0xMDUsNyArMTExLDcgQEAgcHVibGljOgogCiAgICAgYm9v
bCBpc1RleHRCdXR0b24oKSBjb25zdCB7IHJldHVybiBtX3R5cGUgPT0gU1VCTUlUIHx8IG1fdHlw
ZSA9PSBSRVNFVCB8fCBtX3R5cGUgPT0gQlVUVE9OOyB9CiAgICAgdmlydHVhbCBib29sIGlzUmFk
aW9CdXR0b24oKSBjb25zdCB7IHJldHVybiBtX3R5cGUgPT0gUkFESU87IH0KLSAgICB2aXJ0dWFs
IGJvb2wgaXNUZXh0RmllbGQoKSBjb25zdCB7IHJldHVybiBtX3R5cGUgPT0gVEVYVCB8fCBtX3R5
cGUgPT0gUEFTU1dPUkQgfHwgbV90eXBlID09IFNFQVJDSCB8fCBtX3R5cGUgPT0gSVNJTkRFWCB8
fCBtX3R5cGUgPT0gRU1BSUwgfHwgbV90eXBlID09IE5VTUJFUiB8fCBtX3R5cGUgPT0gVEVMRVBI
T05FIHx8IG1fdHlwZSA9PSBVUkwgfHwgbV90eXBlID09IENPTE9SOyB9CisgICAgdmlydHVhbCBi
b29sIGlzVGV4dEZpZWxkKCkgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIGlzU2VhcmNoRmllbGQo
KSBjb25zdCB7IHJldHVybiBtX3R5cGUgPT0gU0VBUkNIOyB9CiAgICAgdmlydHVhbCBib29sIGlz
SW5wdXRUeXBlSGlkZGVuKCkgY29uc3QgeyByZXR1cm4gbV90eXBlID09IEhJRERFTjsgfQogICAg
IHZpcnR1YWwgYm9vbCBpc1Bhc3N3b3JkRmllbGQoKSBjb25zdCB7IHJldHVybiBtX3R5cGUgPT0g
UEFTU1dPUkQ7IH0KLS0gCjEuNi4zLjMKCg==
</data>
<flag name="review"
          id="22884"
          type_id="1"
          status="-"
          setter="eric"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>42740</attachid>
            <date>2009-11-09 01:36:20 -0800</date>
            <delta_ts>2009-11-11 02:10:59 -0800</delta_ts>
            <desc>Patch part 2: ISO 8601 parser (rev.4)</desc>
            <filename>0001-iso8601-parser-4.patch</filename>
            <type>text/plain</type>
            <size>27629</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">RnJvbSBkMTk0YWVlMGE2MzczYWZmM2MzMzg2MDFhN2M0MDliYmViNThlOGQyIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBLZW50IFRhbXVyYSA8dGtlbnRAY2hyb21pdW0ub3JnPgpEYXRl
OiBNb24sIDkgTm92IDIwMDkgMTg6MDA6MjcgKzA5MDAKU3ViamVjdDogW1BBVENIXSBpc284NjAx
LXBhcnNlci00CgotLS0KIFdlYkNvcmUvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAg
IHwgICA0NyArKysrCiBXZWJDb3JlL0dOVW1ha2VmaWxlLmFtICAgICAgICAgICAgICAgICAgICB8
ICAgIDIgKwogV2ViQ29yZS9XZWJDb3JlLmd5cGkgICAgICAgICAgICAgICAgICAgICAgfCAgICAy
ICsKIFdlYkNvcmUvV2ViQ29yZS5wcm8gICAgICAgICAgICAgICAgICAgICAgIHwgICAgMiArCiBX
ZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qICAgICB8ICAgIDggKwogV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogfCAgICA4ICsKIFdlYkNvcmUvV2Vi
Q29yZVNvdXJjZXMuYmtsICAgICAgICAgICAgICAgIHwgICAgMSArCiBXZWJDb3JlL2h0bWwvSVNP
RGF0ZVRpbWUuY3BwICAgICAgICAgICAgICB8ICA0MTkgKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysKIFdlYkNvcmUvaHRtbC9JU09EYXRlVGltZS5oICAgICAgICAgICAgICAgIHwgIDEyMCAr
KysrKysrKwogOSBmaWxlcyBjaGFuZ2VkLCA2MDkgaW5zZXJ0aW9ucygrKSwgMCBkZWxldGlvbnMo
LSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBXZWJDb3JlL2h0bWwvSVNPRGF0ZVRpbWUuY3BwCiBjcmVh
dGUgbW9kZSAxMDA2NDQgV2ViQ29yZS9odG1sL0lTT0RhdGVUaW1lLmgKCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDNlOWU2NTUuLmU4OTU1
NWUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsNTAgQEAKKzIwMDktMDktMDggIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21p
dW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEludHJvZHVjZSBXZWJDb3JlOjpJU09EYXRlVGltZSBjbGFzcy4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI5MDA0CisKKyAgICAgICAgVGhpcyBjbGFz
cyByZXByZXNlbnRzIGRhdGUvdGltZSB0eXBlcyBvZiB0aGUgSFRNTDUgSU5QVVQgZWxlbWVudCwK
KyAgICAgICAgYW5kIGhhcyBzb21lIHBhcnNpbmcgbWV0aG9kcyBmb3IgSVNPIDg2MDEuCisgICAg
ICAgIFRoaXMgY2hhbmdlIGhhcyBubyB0ZXN0cyBiZWNhdXNlIHRoZSBjbGFzcyBpcyBub3QgdXNl
ZCB5ZXQuCisKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAgKiBXZWJDb3JlLmd5
cGk6CisgICAgICAgICogV2ViQ29yZS5wcm86CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2Vi
Q29yZS52Y3Byb2o6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
OgorICAgICAgICAqIFdlYkNvcmVTb3VyY2VzLmJrbDoKKyAgICAgICAgKiBodG1sL0lTT0RhdGVU
aW1lLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjopOgorICAgICAgICAoV2ViQ29yZTo6
aXNMZWFwWWVhcik6CisgICAgICAgIChXZWJDb3JlOjptYXhEYXlPZk1vbnRoKToKKyAgICAgICAg
KFdlYkNvcmU6OmRheU9mV2Vlayk6CisgICAgICAgIChXZWJDb3JlOjpJU09EYXRlVGltZTo6bWF4
V2Vlayk6CisgICAgICAgIChXZWJDb3JlOjpjb3VudERpZ2l0cyk6CisgICAgICAgIChXZWJDb3Jl
Ojp0b0ludCk6CisgICAgICAgIChXZWJDb3JlOjpJU09EYXRlVGltZTo6cGFyc2VZZWFyKToKKyAg
ICAgICAgKFdlYkNvcmU6OklTT0RhdGVUaW1lOjphZGREYXkpOgorICAgICAgICAoV2ViQ29yZTo6
SVNPRGF0ZVRpbWU6OmFkZE1pbnV0ZSk6CisgICAgICAgIChXZWJDb3JlOjpJU09EYXRlVGltZTo6
cGFyc2VUaW1lWm9uZSk6CisgICAgICAgIChXZWJDb3JlOjpJU09EYXRlVGltZTo6cGFyc2VNb250
aCk6CisgICAgICAgIChXZWJDb3JlOjpJU09EYXRlVGltZTo6cGFyc2VEYXRlKToKKyAgICAgICAg
KFdlYkNvcmU6OklTT0RhdGVUaW1lOjpwYXJzZVdlZWspOgorICAgICAgICAoV2ViQ29yZTo6SVNP
RGF0ZVRpbWU6OnBhcnNlVGltZSk6CisgICAgICAgIChXZWJDb3JlOjpJU09EYXRlVGltZTo6cGFy
c2VEYXRlVGltZUxvY2FsKToKKyAgICAgICAgKFdlYkNvcmU6OklTT0RhdGVUaW1lOjpwYXJzZURh
dGVUaW1lKToKKyAgICAgICAgKiBodG1sL0lTT0RhdGVUaW1lLmg6IEFkZGVkLgorICAgICAgICAo
V2ViQ29yZTo6SVNPRGF0ZVRpbWU6OklTT0RhdGVUaW1lKToKKyAgICAgICAgKFdlYkNvcmU6OklT
T0RhdGVUaW1lOjptaWxsaXNlY29uZCk6CisgICAgICAgIChXZWJDb3JlOjpJU09EYXRlVGltZTo6
c2Vjb25kKToKKyAgICAgICAgKFdlYkNvcmU6OklTT0RhdGVUaW1lOjptaW51dGUpOgorICAgICAg
ICAoV2ViQ29yZTo6SVNPRGF0ZVRpbWU6OmhvdXIpOgorICAgICAgICAoV2ViQ29yZTo6SVNPRGF0
ZVRpbWU6Om1vbnRoRGF5KToKKyAgICAgICAgKFdlYkNvcmU6OklTT0RhdGVUaW1lOjptb250aCk6
CisgICAgICAgIChXZWJDb3JlOjpJU09EYXRlVGltZTo6ZnVsbFllYXIpOgorICAgICAgICAoV2Vi
Q29yZTo6SVNPRGF0ZVRpbWU6OndlZWspOgorICAgICAgICAoV2ViQ29yZTo6SVNPRGF0ZVRpbWU6
Oik6CisKIDIwMDktMDktMDEgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgogCiAg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9H
TlVtYWtlZmlsZS5hbSBiL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KaW5kZXggY2IxYzM3ZS4uYzY5
NjNmMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQorKysgYi9XZWJDb3JlL0dO
VW1ha2VmaWxlLmFtCkBAIC0xMTI2LDYgKzExMjYsOCBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAog
CVdlYkNvcmUvaHRtbC9IVE1MVUxpc3RFbGVtZW50LmggXAogCVdlYkNvcmUvaHRtbC9IVE1MVmll
d1NvdXJjZURvY3VtZW50LmNwcCBcCiAJV2ViQ29yZS9odG1sL0hUTUxWaWV3U291cmNlRG9jdW1l
bnQuaCBcCisJV2ViQ29yZS9odG1sL0lTT0RhdGVUaW1lLmNwcCBcCisJV2ViQ29yZS9odG1sL0lT
T0RhdGVUaW1lLmggXAogCVdlYkNvcmUvaHRtbC9JbWFnZURhdGEuY3BwIFwKIAlXZWJDb3JlL2h0
bWwvSW1hZ2VEYXRhLmggXAogCVdlYkNvcmUvaHRtbC9NZWRpYUVycm9yLmggXApkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCA2Mzky
ZjA5Li4zY2VkNjRhIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9XZWJD
b3JlL1dlYkNvcmUuZ3lwaQpAQCAtMTQ5OSw2ICsxNDk5LDggQEAKICAgICAgICAgICAgICdodG1s
L0hUTUxWaWRlb0VsZW1lbnQuaCcsCiAgICAgICAgICAgICAnaHRtbC9IVE1MVmlld1NvdXJjZURv
Y3VtZW50LmNwcCcsCiAgICAgICAgICAgICAnaHRtbC9IVE1MVmlld1NvdXJjZURvY3VtZW50Lmgn
LAorICAgICAgICAgICAgJ2h0bWwvSVNPRGF0ZVRpbWUuY3BwJywKKyAgICAgICAgICAgICdodG1s
L0lTT0RhdGVUaW1lLmgnLAogICAgICAgICAgICAgJ2h0bWwvSW1hZ2VEYXRhLmNwcCcsCiAgICAg
ICAgICAgICAnaHRtbC9JbWFnZURhdGEuaCcsCiAgICAgICAgICAgICAnaHRtbC9NZWRpYUVycm9y
LmgnLApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnBybyBiL1dlYkNvcmUvV2ViQ29yZS5w
cm8KaW5kZXggY2I0MTg0MS4uZTNmYWQ3NyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnBy
bworKysgYi9XZWJDb3JlL1dlYkNvcmUucHJvCkBAIC0xMDcwLDYgKzEwNzAsNyBAQCBTT1VSQ0VT
ICs9IFwKICAgICBodG1sL0hUTUxUb2tlbml6ZXIuY3BwIFwKICAgICBodG1sL0hUTUxVTGlzdEVs
ZW1lbnQuY3BwIFwKICAgICBodG1sL0hUTUxWaWV3U291cmNlRG9jdW1lbnQuY3BwIFwKKyAgICBo
dG1sL0lTT0RhdGVUaW1lLmNwcCBcCiAgICAgaHRtbC9JbWFnZURhdGEuY3BwIFwKICAgICBodG1s
L1ByZWxvYWRTY2FubmVyLmNwcCBcCiAgICAgaHRtbC9WYWxpZGl0eVN0YXRlLmNwcCBcCkBAIC0x
NzUwLDYgKzE3NTEsNyBAQCBIRUFERVJTICs9IFwKICAgICBodG1sL0hUTUxVTGlzdEVsZW1lbnQu
aCBcCiAgICAgaHRtbC9IVE1MVmlkZW9FbGVtZW50LmggXAogICAgIGh0bWwvSFRNTFZpZXdTb3Vy
Y2VEb2N1bWVudC5oIFwKKyAgICBodG1sL0lTT0RhdGVUaW1lLmggXAogICAgIGh0bWwvSW1hZ2VE
YXRhLmggXAogICAgIGh0bWwvUHJlbG9hZFNjYW5uZXIuaCBcCiAgICAgaHRtbC9UaW1lUmFuZ2Vz
LmggXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvaiBi
L1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggYmZmNzczYi4uYjQx
YTgwOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagor
KysgYi9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC0zMzcxNSw2ICsz
MzcxNSwxNCBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQ
YXRoPSIuLlxodG1sXElTT0RhdGVQYXJzZXIuY3BwIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJ
CTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5caHRtbFxJU09EYXRlUGFyc2VyLmgiDQorCQkJ
CT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxodG1sXElt
YWdlRGF0YS5jcHAiDQogCQkJCT4NCiAJCQk8L0ZpbGU+DQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA2N2JkOGQ5Li5iMjQ5NmM2IDEwMDY0NAotLS0gYS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNDczMiw2ICs0NzMyLDggQEAKIAkJ
RjVDMDQxRTUwRkZDQTk2RDAwODM5RDRBIC8qIERPTUhUTUxEYXRhTGlzdEVsZW1lbnRJbnRlcm5h
bC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjVDMDQx
RTAwRkZDQTk2RDAwODM5RDRBIC8qIERPTUhUTUxEYXRhTGlzdEVsZW1lbnRJbnRlcm5hbC5oICov
OyB9OwogCQlGNUMwNDFFNjBGRkNBOTZEMDA4MzlENEEgLyogSlNIVE1MRGF0YUxpc3RFbGVtZW50
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY1QzA0
MUUxMEZGQ0E5NkQwMDgzOUQ0QSAvKiBKU0hUTUxEYXRhTGlzdEVsZW1lbnQuY3BwICovOyB9Owog
CQlGNUMwNDFFNzBGRkNBOTZEMDA4MzlENEEgLyogSlNIVE1MRGF0YUxpc3RFbGVtZW50LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNUMwNDFFMjBGRkNB
OTZEMDA4MzlENEEgLyogSlNIVE1MRGF0YUxpc3RFbGVtZW50LmggKi87IH07CisJCUY1RDNBNTdD
MTA2QjgzQjMwMDU0NTI5NyAvKiBJU09EYXRlVGltZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNUQzQTU3QTEwNkI4M0IzMDA1NDUyOTcgLyogSVNP
RGF0ZVRpbWUuY3BwICovOyB9OworCQlGNUQzQTU3RDEwNkI4M0IzMDA1NDUyOTcgLyogSVNPRGF0
ZVRpbWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY1
RDNBNTdCMTA2QjgzQjMwMDU0NTI5NyAvKiBJU09EYXRlVGltZS5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUY5MTZDNDhEMERCNTEwRjgwMDc2Q0Q4
MyAvKiBKU1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGOTE2QzQ4QjBEQjUxMEY4MDA3NkNEODMgLyog
SlNYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQuY3BwICovOyB9OwogCQlGOTE2QzQ4RTBEQjUx
MEY4MDA3NkNEODMgLyogSlNYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY5MTZDNDhDMERCNTEwRjgwMDc2
Q0Q4MyAvKiBKU1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudC5oICovOyB9OwogCQlGOUYwRUQ3
QTBEQjUwQ0EyMDBEMTZEQjkgLyogWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGOUYwRUQ3NzBEQjUwQ0Ey
MDBEMTZEQjkgLyogWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50LmggKi87IH07CkBAIC05OTM0
LDYgKzk5MzYsOCBAQAogCQlGNUMyODY5MzAyODQ2RENEMDE4NjM1Q0EgLyogQXBwbGljYXRpb25T
ZXJ2aWNlcy5mcmFtZXdvcmsgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSB3cmFwcGVyLmZyYW1ld29yazsgbmFtZSA9IEFwcGxpY2F0aW9uU2VydmljZXMu
ZnJhbWV3b3JrOyBwYXRoID0gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwbGljYXRpb25T
ZXJ2aWNlcy5mcmFtZXdvcms7IHNvdXJjZVRyZWUgPSAiPGFic29sdXRlPiI7IH07CiAJCUY1QzI4
Njk0MDI4NDZEQ0QwMTg2MzVDQSAvKiBDYXJib24uZnJhbWV3b3JrICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gd3JhcHBlci5mcmFtZXdvcms7IG5hbWUg
PSBDYXJib24uZnJhbWV3b3JrOyBwYXRoID0gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ2Fy
Ym9uLmZyYW1ld29yazsgc291cmNlVHJlZSA9ICI8YWJzb2x1dGU+IjsgfTsKIAkJRjVDMjg2OTUw
Mjg0NkRDRDAxODYzNUNBIC8qIENvY29hLmZyYW1ld29yayAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHdyYXBwZXIuZnJhbWV3b3JrOyBuYW1lID0gQ29j
b2EuZnJhbWV3b3JrOyBwYXRoID0gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ29jb2EuZnJh
bWV3b3JrOyBzb3VyY2VUcmVlID0gIjxhYnNvbHV0ZT4iOyB9OworCQlGNUQzQTU3QTEwNkI4M0Iz
MDA1NDUyOTcgLyogSVNPRGF0ZVRpbWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gSVNPRGF0ZVRpbWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlG
NUQzQTU3QjEwNkI4M0IzMDA1NDUyOTcgLyogSVNPRGF0ZVRpbWUuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gSVNPRGF0ZVRpbWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJRjgyMTYyOTkwMjlGNEZCNTAxMDAwMTMxIC8qIEphdmFTY3JpcHRDb3JlLmZyYW1ld29y
ayAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHdyYXBw
ZXIuZnJhbWV3b3JrOyBwYXRoID0gSmF2YVNjcmlwdENvcmUuZnJhbWV3b3JrOyBzb3VyY2VUcmVl
ID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OwogCQlGOTE2QzQ4QjBEQjUxMEY4MDA3NkNEODMgLyog
SlNYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEpTWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50LmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjkxNkM0OEMwREI1MTBGODAwNzZDRDgzIC8qIEpTWE1M
SHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBKU1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwpAQCAtMTI3MjAsNiArMTI3MjQsOCBAQAogCQkJCUU0NDYxMzlBMENENjMzMTAwMEZB
REE3NSAvKiBIVE1MVmlkZW9FbGVtZW50LmlkbCAqLywKIAkJCQlCQ0NENzRFNDBBNEM4RERGMDA1
RkRBNkQgLyogSFRNTFZpZXdTb3VyY2VEb2N1bWVudC5jcHAgKi8sCiAJCQkJQkNDRDc0REIwQTRD
OEQzNTAwNUZEQTZEIC8qIEhUTUxWaWV3U291cmNlRG9jdW1lbnQuaCAqLywKKwkJCQlGNUQzQTU3
QTEwNkI4M0IzMDA1NDUyOTcgLyogSVNPRGF0ZVRpbWUuY3BwICovLAorCQkJCUY1RDNBNTdCMTA2
QjgzQjMwMDU0NTI5NyAvKiBJU09EYXRlVGltZS5oICovLAogCQkJCUE3Nzk3OTEzMEQ2QjlEMEMw
MDM4NTFCOSAvKiBJbWFnZURhdGEuY3BwICovLAogCQkJCUE3Nzk3OTE0MEQ2QjlEMEMwMDM4NTFC
OSAvKiBJbWFnZURhdGEuaCAqLywKIAkJCQlBNzc5NzkxNTBENkI5RDBDMDAzODUxQjkgLyogSW1h
Z2VEYXRhLmlkbCAqLywKQEAgLTE2ODc2LDYgKzE2ODgyLDcgQEAKIAkJCQlCQ0NENzREQzBBNEM4
RDM1MDA1RkRBNkQgLyogSFRNTFZpZXdTb3VyY2VEb2N1bWVudC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJNTE0Qzc2NzEwQ0U5MjNBMTAwN0VGM0NEIC8qIEhUVFBIZWFkZXJNYXAuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTUxNEM3NjczMENFOTIzQTEwMDdFRjNDRCAvKiBIVFRQUGFyc2Vycy5oIGluIEhl
YWRlcnMgKi8sCisJCQkJRjVEM0E1N0QxMDZCODNCMzAwNTQ1Mjk3IC8qIElTT0RhdGVUaW1lLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlCMjc1MzU2RTBCMDUzODE0MDAyQ0U2NEYgLyogSWNvbi5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNTEyNkU2QkMwQTJFM0IxMjAwNUMyOUZBIC8qIEljb25EYXRhYmFz
ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTFFMUVDQkUwQzkxQzkwNDAwREMyNTVCIC8qIEljb25E
YXRhYmFzZUNsaWVudC5oIGluIEhlYWRlcnMgKi8sCkBAIC0xOTAxNiw2ICsxOTAyMyw3IEBACiAJ
CQkJQkNDRDc0RTUwQTRDOERERjAwNUZEQTZEIC8qIEhUTUxWaWV3U291cmNlRG9jdW1lbnQuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJMEI4QzU2RDQwRjI4NjI3RjAwMDUwMkUxIC8qIEhUVFBIZWFk
ZXJNYXAuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTE0Qzc2NzIwQ0U5MjNBMTAwN0VGM0NEIC8q
IEhUVFBQYXJzZXJzLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUY1RDNBNTdDMTA2QjgzQjMwMDU0
NTI5NyAvKiBJU09EYXRlVGltZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MTI2RTZCQjBBMkUz
QjEyMDA1QzI5RkEgLyogSWNvbkRhdGFiYXNlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQ0NUM4
REI3MTAwMTVGQzkwMDMxNTMxQSAvKiBJY29uRGF0YWJhc2VOb25lLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTFBMkQ3NTNFMERFNDdGQUIwMEYwQTY0OCAvKiBJY29uRmV0Y2hlci5jcHAgaW4gU291
cmNlcyAqLywKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZVNvdXJjZXMuYmtsIGIvV2ViQ29y
ZS9XZWJDb3JlU291cmNlcy5ia2wKaW5kZXggYzU3OTA4NC4uMWI3M2U1NiAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9XZWJDb3JlU291cmNlcy5ia2wKKysrIGIvV2ViQ29yZS9XZWJDb3JlU291cmNlcy5i
a2wKQEAgLTY3Miw2ICs2NzIsNyBAQCBUaGlzIGZpbGUgY29udGFpbnMgdGhlIGxpc3Qgb2YgZmls
ZXMgbmVlZGVkIHRvIGJ1aWxkIFdlYkNvcmUuCiAgICAgICAgIGh0bWwvSFRNTFRva2VuaXplci5j
cHAKICAgICAgICAgaHRtbC9IVE1MVUxpc3RFbGVtZW50LmNwcAogICAgICAgICBodG1sL0hUTUxW
aWV3U291cmNlRG9jdW1lbnQuY3BwCisgICAgICAgIGh0bWwvSVNPRGF0ZVRpbWUuY3BwCiAgICAg
ICAgIGh0bWwvSW1hZ2VEYXRhLmNwcAogICAgICAgICBodG1sL1ByZWxvYWRTY2FubmVyLmNwcAog
ICAgICAgICBodG1sL1ZhbGlkaXR5U3RhdGUuY3BwCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwv
SVNPRGF0ZVRpbWUuY3BwIGIvV2ViQ29yZS9odG1sL0lTT0RhdGVUaW1lLmNwcApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMTMxOWViCi0tLSAvZGV2L251bGwKKysrIGIvV2Vi
Q29yZS9odG1sL0lTT0RhdGVUaW1lLmNwcApAQCAtMCwwICsxLDQxOSBAQAorLyoKKyAqIENvcHly
aWdodCAoYykgMjAwOSwgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0
aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5h
bWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAor
ICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29u
ZmlnLmgiCisjaW5jbHVkZSAiSVNPRGF0ZVRpbWUuaCIKKworI2luY2x1ZGUgPHd0Zi9BU0NJSUNU
eXBlLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworLy8gVGhlIG9sZGVzdCBkYXkgb2YgR3Jl
Z29yaWFuIENhbGVuZGFyIGlzIDE1ODItMTAtMTUuICBXZSBkb24ndCBzdXBwb3J0IGRhdGVzIG9s
ZGVyIHRoYW4gaXQuCitzdGF0aWMgY29uc3QgaW50IGdyZWdvcmlhblN0YXJ0WWVhciA9IDE1ODI7
CitzdGF0aWMgY29uc3QgaW50IGdyZWdvcmlhblN0YXJ0TW9udGggPSAxMDsKK3N0YXRpYyBjb25z
dCBpbnQgZ3JlZ29yaWFuU3RhcnREYXkgPSAxNTsKKworc3RhdGljIGNvbnN0IGludCBtYXhEYXlP
Zk1vbnRoc1sxMl0gPSB7MzEsIDI4LCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMxLCAzMCwgMzEsIDMw
LCAzMX07CisKK3N0YXRpYyBib29sIGlzTGVhcFllYXIoaW50IHllYXIpCit7CisgICAgaWYgKHll
YXIgJSA0KQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKCEoeWVhciAlIDQwMCkpCisg
ICAgICAgIHJldHVybiB0cnVlOworICAgIGlmICghKHllYXIgJSAxMDApKQorICAgICAgICByZXR1
cm4gZmFsc2U7CisgICAgcmV0dXJuIHRydWU7Cit9CisKK3N0YXRpYyBpbnQgbWF4RGF5T2ZNb250
aChpbnQgeWVhciwgaW50IG1vbnRoKQoreworICAgIGlmIChtb250aCAhPSAxKSAvLyBGZWJydWFy
eT8KKyAgICAgICAgcmV0dXJuIG1heERheU9mTW9udGhzW21vbnRoXTsKKyAgICByZXR1cm4gaXNM
ZWFwWWVhcih5ZWFyKSA/IDI5IDogMjg7Cit9CisKK3N0YXRpYyBpbnQgZGF5T2ZXZWVrKGludCB5
ZWFyLCBpbnQgbW9udGgsIGludCBkYXkpCit7CisgICAgKyttb250aDsKKworICAgIC8vIFplbGxl
cidzIGNvbmdydWVuY2UKKyAgICBpZiAobW9udGggPD0gMikgeworICAgICAgICBtb250aCArPSAx
MjsKKyAgICAgICAgeWVhci0tOworICAgIH0KKyAgICBpbnQgaiA9IHllYXIgLyAxMDA7CisgICAg
aW50IGsgPSB5ZWFyICUgMTAwOworICAgIGludCByZXN1bHQgPSAoZGF5ICsgMTMgKiAobW9udGgg
KyAxKSAvIDUgKyBrICsgayAvIDQgKyBqIC8gNCAtIDIgKiBqIC0gMSkgJSA3OworICAgIGlmIChy
ZXN1bHQgPCAwKQorICAgICAgICByZXN1bHQgKz0gNzsKKyAgICByZXR1cm4gcmVzdWx0OyAgIC8v
IFN1bmRheSBvcmlnaW4KK30KKworaW50IElTT0RhdGVUaW1lOjptYXhXZWVrKCkgY29uc3QKK3sK
KyAgICBpbnQgZGF5ID0gZGF5T2ZXZWVrKG1feWVhciwgMCwgMSk7CisgICAgcmV0dXJuIGRheSA9
PSBUSFVSU0RBWSB8fCBkYXkgPT0gV0VETkVTREFZICYmIGlzTGVhcFllYXIobV95ZWFyKSA/IDUz
IDogNTI7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBjb3VudERpZ2l0cyhjb25zdCBVQ2hhciogc3Jj
LCB1bnNpZ25lZCBsZW5ndGgsIHVuc2lnbmVkIHN0YXJ0KQoreworICAgIHVuc2lnbmVkIGNvdW50
ID0gc3RhcnQ7CisgICAgZm9yICg7IGNvdW50IDwgbGVuZ3RoOyArK2NvdW50KSB7CisgICAgICAg
IGlmICghaXNBU0NJSURpZ2l0KHNyY1tjb3VudF0pKQorICAgICAgICAgICAgYnJlYWs7CisgICAg
fQorICAgIHJldHVybiBjb3VudCAtIHN0YXJ0OworfQorCisvLyBWZXJ5IHN0cmljdCBpbnRlZ2Vy
IHBhcnNlci4gIE5vdCBhbGxvdyBsZWFkaW5nIHdoaXRlc3BhY2VzIHVubGlrZSBjaGFyYWN0ZXJz
VG9JbnRTdHJpY3QoKS4KK3N0YXRpYyBib29sIHRvSW50KGNvbnN0IFVDaGFyKiBzcmMsIHVuc2ln
bmVkIGxlbmd0aCwgdW5zaWduZWQgcGFyc2VTdGFydCwgdW5zaWduZWQgcGFyc2VMZW5ndGgsIGlu
dCogb3V0KQoreworICAgIGlmIChwYXJzZVN0YXJ0ICsgcGFyc2VMZW5ndGggPiBsZW5ndGggfHwg
cGFyc2VMZW5ndGggPD0gMCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGludCB2YWx1ZSA9
IDA7CisgICAgY29uc3QgVUNoYXIqIHAgPSBzcmMgKyBwYXJzZVN0YXJ0OworICAgIGNvbnN0IFVD
aGFyKiBlbmQgPSBwICsgcGFyc2VMZW5ndGg7CisKKyAgICAvLyBXZSBkb24ndCBuZWVkIHRvIGhh
bmRsZSBuZWdhdGl2ZSBudW1iZXJzIGZvciBJU08gODYwMS4KKyAgICBmb3IgKDsgcCA8IGVuZDsg
KytwKSB7CisgICAgICAgIGlmICghaXNBU0NJSURpZ2l0KCpwKSkKKyAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKKyAgICAgICAgaW50IGQgPSAqcCAtICcwJzsKKyAgICAgICAgaWYgKHZhbHVlID4g
KElOVF9NQVggLSBkKSAvIDEwKSAgLy8gb3ZlcmZsb3cKKyAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKKyAgICAgICAgdmFsdWUgPSB2YWx1ZSAqIDEwICsgZDsKKyAgICB9CisgICAgKm91dCA9IHZh
bHVlOworICAgIHJldHVybiB0cnVlOworfQorCitib29sIElTT0RhdGVUaW1lOjpwYXJzZVllYXIo
Y29uc3QgVUNoYXIqIHNyYywgdW5zaWduZWQgbGVuZ3RoLCB1bnNpZ25lZCBzdGFydCwgdW5zaWdu
ZWQqIGVuZCkKK3sKKyAgICB1bnNpZ25lZCBkaWdpdHNMZW5ndGggPSBjb3VudERpZ2l0cyhzcmMs
IGxlbmd0aCwgc3RhcnQpOworICAgIC8vIE5lZWRzIGF0IGxlYXN0IDQgZGlnaXRzIGFjY29yZGlu
ZyB0byB0aGUgc3RhbmRhcmQuCisgICAgaWYgKGRpZ2l0c0xlbmd0aCA8IDQpCisgICAgICAgIHJl
dHVybiBmYWxzZTsKKyAgICBpbnQgeTsKKyAgICBpZiAoIXRvSW50KHNyYywgbGVuZ3RoLCBzdGFy
dCwgZGlnaXRzTGVuZ3RoLCAmeSkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAvLyBObyBz
dXBwb3J0IGZvciB5ZWFycyBiZWZvcmUgR3JlZ29yaWFuIGNhbGVuZGFyLgorICAgIGlmICh5IDwg
Z3JlZ29yaWFuU3RhcnRZZWFyKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgbV95ZWFyID0g
eTsKKyAgICAqZW5kID0gc3RhcnQgKyBkaWdpdHNMZW5ndGg7CisgICAgcmV0dXJuIHRydWU7Cit9
CisKK2Jvb2wgSVNPRGF0ZVRpbWU6OmFkZERheShpbnQgZGF5RGlmZikKK3sKKyAgICBBU1NFUlQo
bV9tb250aERheSk7CisKKyAgICBpbnQgZCA9IG1fbW9udGhEYXkgKyBkYXlEaWZmOworICAgIGlm
IChkID4gbWF4RGF5T2ZNb250aChtX3llYXIsIG1fbW9udGgpKSB7CisgICAgICAgIGQgPSBtX21v
bnRoRGF5OworICAgICAgICBpbnQgbSA9IG1fbW9udGg7CisgICAgICAgIGludCB5ID0gbV95ZWFy
OworICAgICAgICBmb3IgKDsgZGF5RGlmZiA+IDA7IC0tZGF5RGlmZikgeworICAgICAgICAgICAg
KytkOworICAgICAgICAgICAgaWYgKGQgPiBtYXhEYXlPZk1vbnRoKHksIG0pKSB7CisgICAgICAg
ICAgICAgICAgZCA9IDE7CisgICAgICAgICAgICAgICAgKyttOworICAgICAgICAgICAgICAgIGlm
IChtID49IDEyKSB7ICAvLyBtb250aCBpcyAwLW9yaWdpbi4KKyAgICAgICAgICAgICAgICAgICAg
bSA9IDA7CisgICAgICAgICAgICAgICAgICAgICsreTsKKyAgICAgICAgICAgICAgICAgICAgaWYg
KHkgPCAwKSAgLy8gT3ZlcmZsb3cuCisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAg
IG1feWVhciA9IHk7CisgICAgICAgIG1fbW9udGggPSBtOworICAgIH0gZWxzZSBpZiAoZCA8IDEp
IHsKKyAgICAgICAgaW50IG0gPSBtX21vbnRoOworICAgICAgICBpbnQgeSA9IG1feWVhcjsKKyAg
ICAgICAgZCA9IG1fbW9udGhEYXk7CisgICAgICAgIGZvciAoOyBkYXlEaWZmIDwgMDsgKytkYXlE
aWZmKSB7CisgICAgICAgICAgICAtLWQ7CisgICAgICAgICAgICBpZiAoZCA8IDEpIHsKKyAgICAg
ICAgICAgICAgICAtLW07CisgICAgICAgICAgICAgICAgaWYgKG0gPCAwKSB7CisgICAgICAgICAg
ICAgICAgICAgIG0gPSAxMTsKKyAgICAgICAgICAgICAgICAgICAgLS15OworICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgICAgICBkID0gbWF4RGF5T2ZNb250aCh5LCBtKTsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIGlmICh5IDwgZ3JlZ29yaWFuU3RhcnRZZWFyCisgICAgICAgICAg
ICAgICAgICAgIHx8IHkgPT0gZ3JlZ29yaWFuU3RhcnRZZWFyICYmIG0gKyAxIDwgZ3JlZ29yaWFu
U3RhcnRNb250aAorICAgICAgICAgICAgICAgICAgICB8fCB5ID09IGdyZWdvcmlhblN0YXJ0WWVh
ciAmJiBtICsgMSA9PSBncmVnb3JpYW5TdGFydE1vbnRoICYmIGQgPCBncmVnb3JpYW5TdGFydERh
eSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0KKyAgICAgICAgbV95
ZWFyID0geTsKKyAgICAgICAgbV9tb250aCA9IG07CisgICAgfQorICAgIG1fbW9udGhEYXkgPSBk
OworICAgIHJldHVybiB0cnVlOworfQorCitib29sIElTT0RhdGVUaW1lOjphZGRNaW51dGUoaW50
IG1pbikKK3sKKyAgICBpbnQgY2Fycnk7CisgICAgLy8gbWluIGNhbiBiZSBuZWdhdGl2ZSBvciBn
cmVhdGVyIHRoYW4gNTkKKyAgICBtaW4gPSBtX21pbnV0ZSArIG1pbjsKKyAgICBpZiAobWluID4g
NTkpIHsKKyAgICAgICAgY2FycnkgPSBtaW4gLyA2MDsKKyAgICAgICAgbWluID0gbWluICUgNjA7
CisgICAgfSBlbHNlIGlmIChtX21pbnV0ZSA8IDApIHsKKyAgICAgICAgY2FycnkgPSAoNTkgLSBt
X21pbnV0ZSkgLyA2MDsKKyAgICAgICAgbWluID0gbWluICsgY2FycnkgKiA2MDsKKyAgICAgICAg
Y2FycnkgPSAtY2Fycnk7CisgICAgICAgIEFTU0VSVChtaW4gPj0gMCAmJiBtaW4gPD0gNTkpOwor
ICAgIH0gZWxzZSB7CisgICAgICAgIG1fbWludXRlID0gbWluOworICAgICAgICByZXR1cm4gdHJ1
ZTsKKyAgICB9CisKKyAgICBpbnQgaCA9IG1faG91ciArIGNhcnJ5OworICAgIGlmIChoID4gMjMp
IHsKKyAgICAgICAgY2FycnkgPSBoIC8gMjQ7CisgICAgICAgIGggPSBoICUgMjQ7CisgICAgfSBl
bHNlIGlmIChoIDwgMCkgeworICAgICAgICBjYXJyeSA9ICgyMyAtIGgpIC8gMjQ7CisgICAgICAg
IGggPSBoICsgY2FycnkgKiAyNDsKKyAgICAgICAgY2FycnkgPSAtY2Fycnk7CisgICAgICAgIEFT
U0VSVChoID49IDAgJiYgaCA8PSAyMyk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgbV9taW51dGUg
PSBtaW47CisgICAgICAgIG1faG91ciA9IGg7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0K
KyAgICBpZiAoIWFkZERheShjYXJyeSkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBtX21p
bnV0ZSA9IG1pbjsKKyAgICBtX2hvdXIgPSBoOworICAgIHJldHVybiB0cnVlOworfQorCisvLyBQ
YXJzZXMgYSB0aW1lem9uZSBwYXJ0LCBhbmQgYWRqdXN0IHllYXIsIG1vbnRoLCBtb250aERheSwg
aG91ciwgbWludXRlLCBzZWNvbmQsIG1pbGxlc2Vjb25kLgorYm9vbCBJU09EYXRlVGltZTo6cGFy
c2VUaW1lWm9uZShjb25zdCBVQ2hhciogc3JjLCB1bnNpZ25lZCBsZW5ndGgsIHVuc2lnbmVkIHN0
YXJ0LCB1bnNpZ25lZCogZW5kKQoreworICAgIGlmIChzdGFydCA+PSBsZW5ndGgpCisgICAgICAg
IHJldHVybiBmYWxzZTsKKyAgICB1bnNpZ25lZCBpID0gc3RhcnQ7CisgICAgaW50IGg7CisgICAg
aW50IG07CisgICAgaWYgKHNyY1tpXSA9PSAnWicpIHsKKyAgICAgICAgKytpOworICAgICAgICBo
ID0gMDsKKyAgICAgICAgbSA9IDA7CisgICAgfSBlbHNlIHsKKyAgICAgICAgYm9vbCBtaW51czsK
KyAgICAgICAgaWYgKHNyY1tpXSA9PSAnKycpCisgICAgICAgICAgICBtaW51cyA9IGZhbHNlOwor
ICAgICAgICBlbHNlIGlmIChzcmNbaV0gPT0gJy0nKQorICAgICAgICAgICAgbWludXMgPSB0cnVl
OworICAgICAgICBlbHNlCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICsraTsK
KyAgICAgICAgaWYgKCF0b0ludChzcmMsIGxlbmd0aCwgaSwgMiwgJmgpIHx8IGggPCAwIHx8IGgg
PiAyMykKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgaSArPSAyOworICAgICAg
ICBpZiAoaSA+PSBsZW5ndGggfHwgc3JjW2krK10gIT0gJzonKQorICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOworICAgICAgICBpZiAoIXRvSW50KHNyYywgbGVuZ3RoLCBpLCAyLCAmbSkgfHwgbSA8
IDAgfHwgbSA+IDU5KQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICBpZiAobWlu
dXMpIHsKKyAgICAgICAgICAgIGggPSAtaDsKKyAgICAgICAgICAgIG0gPSAtbTsKKyAgICAgICAg
fQorICAgICAgICBpICs9IDI7CisgICAgfQorCisgICAgLy8gU3VidHJhY3QgdGhlIHRpbWV6b25l
IG9mZnNldC4KKyAgICBpZiAoIWFkZE1pbnV0ZSggLShoICogNjAgKyBtKSkpCisgICAgICAgIHJl
dHVybiBmYWxzZTsKKyAgICAqZW5kID0gaTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworYm9vbCBJ
U09EYXRlVGltZTo6cGFyc2VNb250aChjb25zdCBVQ2hhciogc3JjLCB1bnNpZ25lZCBsZW5ndGgs
IHVuc2lnbmVkIHN0YXJ0LCB1bnNpZ25lZCogZW5kKQoreworICAgIEFTU0VSVChzcmMpOworICAg
IEFTU0VSVChlbmQpOworICAgIHVuc2lnbmVkIGk7CisgICAgaWYgKCFwYXJzZVllYXIoc3JjLCBs
ZW5ndGgsIHN0YXJ0LCAmaSkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoaSA+PSBs
ZW5ndGggfHwgc3JjW2krK10gIT0gJy0nKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaW50
IG07CisgICAgaWYgKCF0b0ludChzcmMsIGxlbmd0aCwgaSwgMiwgJm0pIHx8IG0gPCAxIHx8IG0g
PiAxMikKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIC8vIE5vIHN1cHBvcnQgZm9yIG1vbnRo
cyBiZWZvcmUgR3JlZ29yaWFuIGNhbGVuZGFyLgorICAgIGlmIChtX3llYXIgPT0gZ3JlZ29yaWFu
U3RhcnRZZWFyICYmIG0gPCBncmVnb3JpYW5TdGFydE1vbnRoKQorICAgICAgICByZXR1cm4gZmFs
c2U7CisgICAgbV9tb250aCA9IG0gLSAxOworICAgICplbmQgPSBpICsgMjsKKyAgICByZXR1cm4g
dHJ1ZTsKK30KKworYm9vbCBJU09EYXRlVGltZTo6cGFyc2VEYXRlKGNvbnN0IFVDaGFyKiBzcmMs
IHVuc2lnbmVkIGxlbmd0aCwgdW5zaWduZWQgc3RhcnQsIHVuc2lnbmVkKiBlbmQpCit7CisgICAg
QVNTRVJUKHNyYyk7CisgICAgQVNTRVJUKGVuZCk7CisgICAgdW5zaWduZWQgaTsKKyAgICBpZiAo
IXBhcnNlTW9udGgoc3JjLCBsZW5ndGgsIHN0YXJ0LCAmaSkpCisgICAgICAgIHJldHVybiBmYWxz
ZTsKKyAgICAvLyAnLScgYW5kIDItZGlnaXRzIGFyZSBuZWVkZWQuCisgICAgaWYgKGkgKyAyID49
IGxlbmd0aCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmIChzcmNbaSsrXSAhPSAnLScp
CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpbnQgZGF5OworICAgIGlmICghdG9JbnQoc3Jj
LCBsZW5ndGgsIGksIDIsICZkYXkpIHx8IGRheSA8IDEgfHwgZGF5ID4gbWF4RGF5T2ZNb250aCht
X3llYXIsIG1fbW9udGgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgLy8gTm8gc3VwcG9y
dCBmb3IgZGF0ZXMgYmVmb3JlIEdyZWdvcmlhbiBjYWxlbmRhci4KKyAgICBpZiAobV95ZWFyID09
IGdyZWdvcmlhblN0YXJ0WWVhciAmJiBtX21vbnRoICsgMSA9PSBncmVnb3JpYW5TdGFydE1vbnRo
ICYmIGRheSA8IGdyZWdvcmlhblN0YXJ0RGF5KQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAg
bV9tb250aERheSA9IGRheTsKKyAgICAqZW5kID0gaSArIDI7CisgICAgcmV0dXJuIHRydWU7Cit9
CisKK2Jvb2wgSVNPRGF0ZVRpbWU6OnBhcnNlV2Vlayhjb25zdCBVQ2hhciogc3JjLCB1bnNpZ25l
ZCBsZW5ndGgsIHVuc2lnbmVkIHN0YXJ0LCB1bnNpZ25lZCogZW5kKQoreworICAgIEFTU0VSVChz
cmMpOworICAgIEFTU0VSVChlbmQpOworICAgIHVuc2lnbmVkIGk7CisgICAgaWYgKCFwYXJzZVll
YXIoc3JjLCBsZW5ndGgsIHN0YXJ0LCAmaSkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAv
LyA0IGNoYXJhY3RlcnMgKCctJyAnVycgZGlnaXQgZGlnaXQpIGFyZSBuZWVkZWQuCisgICAgaWYg
KGkgKyAzID49IGxlbmd0aCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmIChzcmNbaSsr
XSAhPSAnLScpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoc3JjW2krK10gIT0gJ1cn
KQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaW50IHc7CisgICAgaWYgKCF0b0ludChzcmMs
IGxlbmd0aCwgaSwgMiwgJncpIHx8IHcgPCAxIHx8IHcgPiBtYXhXZWVrKCkpCisgICAgICAgIHJl
dHVybiBmYWxzZTsKKyAgICAvLyBObyBzdXBwb3J0IGZvciB5ZWFycyBvbGRlciB0aGFuIG9yIGVx
dWFscyB0byBHcmVnb3JpYW4gY2FsZW5kYXIgc3RhcnQgeWVhci4KKyAgICBpZiAobV95ZWFyIDw9
IGdyZWdvcmlhblN0YXJ0WWVhcikKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIG1fd2VlayA9
IHc7CisgICAgKmVuZCA9IGkgKyAyOworICAgIHJldHVybiB0cnVlOworfQorCitib29sIElTT0Rh
dGVUaW1lOjpwYXJzZVRpbWUoY29uc3QgVUNoYXIqIHNyYywgdW5zaWduZWQgbGVuZ3RoLCB1bnNp
Z25lZCBzdGFydCwgdW5zaWduZWQqIGVuZCkKK3sKKyAgICBBU1NFUlQoc3JjKTsKKyAgICBBU1NF
UlQoZW5kKTsKKyAgICBpbnQgaDsKKyAgICBpZiAoIXRvSW50KHNyYywgbGVuZ3RoLCBzdGFydCwg
MiwgJmgpIHx8IGggPCAwIHx8IGggPiAyMykKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIHVu
c2lnbmVkIGkgPSBzdGFydCArIDI7CisgICAgaWYgKGkgPj0gbGVuZ3RoKQorICAgICAgICByZXR1
cm4gZmFsc2U7CisgICAgaWYgKHNyY1tpKytdICE9ICc6JykKKyAgICAgICAgcmV0dXJuIGZhbHNl
OworICAgIGludCBtOworICAgIGlmICghdG9JbnQoc3JjLCBsZW5ndGgsIGksIDIsICZtKSB8fCBt
IDwgMCB8fCBtID4gNTkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpICs9IDI7CisgICAg
bV9ob3VyID0gaDsKKyAgICBtX21pbnV0ZSA9IG07CisgICAgbV9zZWNvbmQgPSAwOworICAgIG1f
bWlsbGlzZWNvbmQgPSAwOworCisgICAgLy8gT3B0aW9uYWwgc2Vjb25kIHBhcnQKKyAgICBpZiAo
aSArIDIgPCBsZW5ndGggJiYgc3JjW2ldID09ICc6JykgeworICAgICAgICBpbnQgc2VjOworICAg
ICAgICBpZiAodG9JbnQoc3JjLCBsZW5ndGgsIGkgKyAxLCAyLCAmc2VjKSAmJiBzZWMgPj0gMCAm
JiBzZWMgPD0gNTkpIHsKKyAgICAgICAgICAgIG1fc2Vjb25kID0gc2VjOworICAgICAgICAgICAg
aSArPSAzOworCisgICAgICAgICAgICAvLyBPcHRpb25hbCBmcmFjdGlvbmFsIHNlY29uZCBwYXJ0
CisgICAgICAgICAgICBpZiAoaSA8IGxlbmd0aCAmJiBzcmNbaV0gPT0gJy4nKSB7CisgICAgICAg
ICAgICAgICAgdW5zaWduZWQgZGlnaXRzTGVuZ3RoID0gY291bnREaWdpdHMoc3JjLCBsZW5ndGgs
ICsraSk7CisgICAgICAgICAgICAgICAgaWYgKGRpZ2l0c0xlbmd0aCA+IDApIHsKKyAgICAgICAg
ICAgICAgICAgICAgYm9vbCBvazsKKyAgICAgICAgICAgICAgICAgICAgaW50IG1pbGxpOworICAg
ICAgICAgICAgICAgICAgICBpZiAoZGlnaXRzTGVuZ3RoID09IDEpIHsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIG9rID0gdG9JbnQoc3JjLCBsZW5ndGgsIGksIDEsICZtaWxsaSk7CisgICAgICAg
ICAgICAgICAgICAgICAgICBtaWxsaSAqPSAxMDA7CisgICAgICAgICAgICAgICAgICAgIH0gZWxz
ZSBpZiAoZGlnaXRzTGVuZ3RoID09IDIpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIG9rID0g
dG9JbnQoc3JjLCBsZW5ndGgsIGksIDIsICZtaWxsaSk7CisgICAgICAgICAgICAgICAgICAgICAg
ICBtaWxsaSAqPSAxMDsKKyAgICAgICAgICAgICAgICAgICAgfSBlbHNlIC8vIGRpZ2l0c0xlbmd0
aCA+PSAzCisgICAgICAgICAgICAgICAgICAgICAgICBvayA9IHRvSW50KHNyYywgbGVuZ3RoLCBp
LCAzLCAmbWlsbGkpOworICAgICAgICAgICAgICAgICAgICBpZiAob2spIHsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIG1fbWlsbGlzZWNvbmQgPSBtaWxsaTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGkgKz0gZGlnaXRzTGVuZ3RoOworICAgICAgICAgICAgICAgICAgICB9IGVsc2UKKyAgICAg
ICAgICAgICAgICAgICAgICAgIC0taTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
CisgICAgICAgIH0KKyAgICB9CisgICAgKmVuZCA9IGk7CisgICAgcmV0dXJuIHRydWU7Cit9CisK
K2Jvb2wgSVNPRGF0ZVRpbWU6OnBhcnNlRGF0ZVRpbWVMb2NhbChjb25zdCBVQ2hhciogc3JjLCB1
bnNpZ25lZCBsZW5ndGgsIHVuc2lnbmVkIHN0YXJ0LCB1bnNpZ25lZCogZW5kKQoreworICAgIEFT
U0VSVChzcmMpOworICAgIEFTU0VSVChlbmQpOworICAgIHVuc2lnbmVkIGk7CisgICAgaWYgKCFw
YXJzZURhdGUoc3JjLCBsZW5ndGgsIHN0YXJ0LCAmaSkpCisgICAgICAgIHJldHVybiBmYWxzZTsK
KyAgICBpZiAoaSA+PSBsZW5ndGgpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoc3Jj
W2krK10gIT0gJ1QnKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgcmV0dXJuIHBhcnNlVGlt
ZShzcmMsIGxlbmd0aCwgaSwgZW5kKTsKK30KKworYm9vbCBJU09EYXRlVGltZTo6cGFyc2VEYXRl
VGltZShjb25zdCBVQ2hhciogc3JjLCB1bnNpZ25lZCBsZW5ndGgsIHVuc2lnbmVkIHN0YXJ0LCB1
bnNpZ25lZCogZW5kKQoreworICAgIEFTU0VSVChzcmMpOworICAgIEFTU0VSVChlbmQpOworICAg
IHVuc2lnbmVkIGk7CisgICAgaWYgKCFwYXJzZURhdGUoc3JjLCBsZW5ndGgsIHN0YXJ0LCAmaSkp
CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoaSA+PSBsZW5ndGgpCisgICAgICAgIHJl
dHVybiBmYWxzZTsKKyAgICBpZiAoc3JjW2krK10gIT0gJ1QnKQorICAgICAgICByZXR1cm4gZmFs
c2U7CisgICAgaWYgKCFwYXJzZVRpbWUoc3JjLCBsZW5ndGgsIGksICZpKSkKKyAgICAgICAgcmV0
dXJuIGZhbHNlOworICAgIHJldHVybiBwYXJzZVRpbWVab25lKHNyYywgbGVuZ3RoLCBpLCBlbmQp
OworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwv
SVNPRGF0ZVRpbWUuaCBiL1dlYkNvcmUvaHRtbC9JU09EYXRlVGltZS5oCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVjMDRhMTkKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3Jl
L2h0bWwvSVNPRGF0ZVRpbWUuaApAQCAtMCwwICsxLDEyMCBAQAorLyoKKyAqIENvcHlyaWdodCAo
YykgMjAwOSwgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgor
ICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9m
IGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIElTT0RhdGVUaW1l
X2gKKyNkZWZpbmUgSVNPRGF0ZVRpbWVfaAorCisjaW5jbHVkZSA8d3RmL3VuaWNvZGUvVW5pY29k
ZS5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKKy8vIEFuIElTT0RhdGVUaW1lIGluc3RhbmNl
IHJlcHJlc2VudHMgb25lIG9mIHRoZSBmb2xsb3dpbmcgZGF0ZSBhbmQgdGltZSBjb21iaW5hdGlv
bnM6CisvLyAqIHllYXItbW9udGgKKy8vICogeWVhci1tb250aC1kYXkKKy8vICogeWVhci13ZWVr
CisvLyAqIGhvdXItbWludXRlLXNlY29uZC1taWxsaXNlY29uZAorLy8gKiB5ZWFyLW1vbnRoLWRh
eSBob3VyLW1pbnV0ZS1zZWNvbmQtbWlsbGlzZWNvbmQKK2NsYXNzIElTT0RhdGVUaW1lIHsKK3B1
YmxpYzoKKyAgICBJU09EYXRlVGltZSgpCisgICAgICAgIDogbV9taWxsaXNlY29uZCgwKQorICAg
ICAgICAsIG1fc2Vjb25kKDApCisgICAgICAgICwgbV9taW51dGUoMCkKKyAgICAgICAgLCBtX2hv
dXIoMCkKKyAgICAgICAgLCBtX21vbnRoRGF5KDApCisgICAgICAgICwgbV9tb250aCgwKQorICAg
ICAgICAsIG1feWVhcigwKQorICAgICAgICAsIG1fd2VlaygwKQorICAgIHsKKyAgICB9CisKKyAg
ICBpbnQgbWlsbGlzZWNvbmQoKSBjb25zdCB7IHJldHVybiBtX21pbGxpc2Vjb25kOyB9CisgICAg
aW50IHNlY29uZCgpIGNvbnN0IHsgcmV0dXJuIG1fc2Vjb25kOyB9CisgICAgaW50IG1pbnV0ZSgp
IGNvbnN0IHsgcmV0dXJuIG1fbWludXRlOyB9CisgICAgaW50IGhvdXIoKSBjb25zdCB7IHJldHVy
biBtX2hvdXI7IH0KKyAgICBpbnQgbW9udGhEYXkoKSBjb25zdCB7IHJldHVybiBtX21vbnRoRGF5
OyB9CisgICAgaW50IG1vbnRoKCkgY29uc3QgeyByZXR1cm4gbV9tb250aDsgfQorICAgIGludCBm
dWxsWWVhcigpIGNvbnN0IHsgcmV0dXJuIG1feWVhcjsgfQorICAgIGludCB3ZWVrKCkgY29uc3Qg
eyByZXR1cm4gbV93ZWVrOyB9CisKKyAgICAvLyBUaGUgZm9sbG93aW5nIHNpeCBmdW5jdGlvbnMg
cGFyc2UgdGhlIGlucHV0IGBzcmMnIG9mIHdoaWNoIGxlbmd0aCBpcworICAgIC8vIGBsZW5ndGgn
LCBhbmQgdXBkYXRlcyBzb21lIGZpZWxkcyBvZiB0aGlzIGluc3RhbmNlLiBUaGUgcGFyc2luZyBz
dGFydHMgYXQKKyAgICAvLyBzcmNbc3RhcnRdIGFuZCBleGFtaW5lcyBjaGFyYWN0ZXJzIGJlZm9y
ZSBzcmNbbGVuZ3RoXS4KKyAgICAvLyBgc3JjJywgYGVuZCcgYW5kIGBkYXRlJyBtdXN0IGJlIG5v
bi1udWxsLiBUaGUgYHNyYycgc3RyaW5nIGRvZXNuJ3QgbmVlZHMgdG8KKyAgICAvLyBiZSBudWxs
LXRlcm1pbmF0ZWQuCisgICAgLy8gVGhlIGZ1bmN0aW9ucyByZXR1cm4gdHJ1ZSBpZiB0aGUgcGFy
c2luZyBzdWNjZWVkcywgYW5kIHNldHMgdGhlIG5leHQgaW5kZXgKKyAgICAvLyBvZiB0aGUgbGFz
dCBjb25zdW1lZCBjaGFyYWN0ZXIgdG8gYCplbmQnLiBUaGUgbGVhZGluZyBleHRyYSBjaGFyYWN0
ZXJzIGNhdXNlCisgICAgLy8gcGFyc2UgZmFpbHVyZXMsIGFuZCB0aGUgdHJhaWxpbmcgZXh0cmEg
Y2hhcmFjdGVycyBkb24ndCBjYXVzZSBwYXJzZSBmYWlsdXJlcy4KKworICAgIC8vIFNldHMgeWVh
ciBhbmQgbW9udGguCisgICAgYm9vbCBwYXJzZU1vbnRoKGNvbnN0IFVDaGFyKiBzcmMsIHVuc2ln
bmVkIGxlbmd0aCwgdW5zaWduZWQgc3RhcnQsIHVuc2lnbmVkKiBlbmQpOworICAgIC8vIFNldHMg
eWVhciwgbW9udGggYW5kIG1vbnRoRGF5LgorICAgIGJvb2wgcGFyc2VEYXRlKGNvbnN0IFVDaGFy
KiBzcmMsIHVuc2lnbmVkIGxlbmd0aCwgdW5zaWduZWQgc3RhcnQsIHVuc2lnbmVkKiBlbmQpOwor
ICAgIC8vIFNldHMgeWVhciBhbmQgd2Vlay4KKyAgICBib29sIHBhcnNlV2Vlayhjb25zdCBVQ2hh
ciogc3JjLCB1bnNpZ25lZCBsZW5ndGgsIHVuc2lnbmVkIHN0YXJ0LCB1bnNpZ25lZCogZW5kKTsK
KyAgICAvLyBTZXRzIGhvdXIsIG1pbnV0ZSwgc2Vjb25kIGFuZCBtaWxsaXNlY29uZC4KKyAgICBi
b29sIHBhcnNlVGltZShjb25zdCBVQ2hhciogc3JjLCB1bnNpZ25lZCBsZW5ndGgsIHVuc2lnbmVk
IHN0YXJ0LCB1bnNpZ25lZCogZW5kKTsKKyAgICAvLyBTZXRzIHllYXIsIG1vbnRoLCBtb250aERh
eSwgaG91ciwgbWludXRlLCBzZWNvbmQgYW5kIG1pbGxpc2Vjb25kLgorICAgIGJvb2wgcGFyc2VE
YXRlVGltZUxvY2FsKGNvbnN0IFVDaGFyKiBzcmMsIHVuc2lnbmVkIGxlbmd0aCwgdW5zaWduZWQg
c3RhcnQsIHVuc2lnbmVkKiBlbmQpOworICAgIC8vIFNldHMgeWVhciwgbW9udGgsIG1vbnRoRGF5
LCBob3VyLCBtaW51dGUsIHNlY29uZCBhbmQgbWlsbGlzZWNvbmQsIGFuZCBhZGp1c3RzIHRpbWV6
b25lLgorICAgIGJvb2wgcGFyc2VEYXRlVGltZShjb25zdCBVQ2hhciogc3JjLCB1bnNpZ25lZCBs
ZW5ndGgsIHVuc2lnbmVkIHN0YXJ0LCB1bnNpZ25lZCogZW5kKTsKKworcHJpdmF0ZToKKyAgICBp
bnQgbWF4V2VlaygpIGNvbnN0OworICAgIGJvb2wgcGFyc2VZZWFyKGNvbnN0IFVDaGFyKiBzcmMs
IHVuc2lnbmVkIGxlbmd0aCwgdW5zaWduZWQgc3RhcnQsIHVuc2lnbmVkKiBlbmQpOworICAgIGJv
b2wgYWRkRGF5KGludCk7CisgICAgYm9vbCBhZGRNaW51dGUoaW50KTsKKyAgICBib29sIHBhcnNl
VGltZVpvbmUoY29uc3QgVUNoYXIqIHNyYywgdW5zaWduZWQgbGVuZ3RoLCB1bnNpZ25lZCBzdGFy
dCwgdW5zaWduZWQqIGVuZCk7CisKKyAgICAvLyBtX3dlZWtEYXkgdmFsdWVzCisgICAgZW51bSB7
CisgICAgICAgIFNVTkRBWSA9IDAsCisgICAgICAgIE1PTkRBWSwKKyAgICAgICAgVFVFU0RBWSwK
KyAgICAgICAgV0VETkVTREFZLAorICAgICAgICBUSFVSU0RBWSwKKyAgICAgICAgRlJJREFZLAor
ICAgICAgICBTQVRVUkRBWSwKKyAgICB9OworCisgICAgaW50IG1fbWlsbGlzZWNvbmQ7ICAvLyAw
IC0gOTk5CisgICAgaW50IG1fc2Vjb25kOworICAgIGludCBtX21pbnV0ZTsKKyAgICBpbnQgbV9o
b3VyOworICAgIGludCBtX21vbnRoRGF5OyAgLy8gMSAtIDMxCisgICAgaW50IG1fbW9udGg7ICAv
LyAwOkphbnVhcnkgLSAxMTpEZWNlbWJlcgorICAgIGludCBtX3llYXI7ICAvLyAgMTU4MiAtCisg
ICAgaW50IG1fd2VlazsgIC8vIDEgLSA1MworfTsKKworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CisKKyNlbmRpZiAvLyBJU09EYXRlVGltZV9oCi0tIAoxLjYuMy4zCgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>42741</attachid>
            <date>2009-11-09 01:38:03 -0800</date>
            <delta_ts>2009-11-11 02:10:59 -0800</delta_ts>
            <desc>Patch part 3: ValidityState.typeMismatch and layout tests (rev.6)</desc>
            <filename>0001-validation-and-tests-6.patch</filename>
            <type>text/plain</type>
            <size>40219</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">RnJvbSBjNjdmMTBlNjI5YzNkMDZlOGZjMDdmOTMzYmNlZWQwYzU3YWJkN2UwIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBLZW50IFRhbXVyYSA8dGtlbnRAY2hyb21pdW0ub3JnPgpEYXRl
OiBNb24sIDkgTm92IDIwMDkgMTg6Mjg6MTggKzA5MDAKU3ViamVjdDogW1BBVENIXSB2YWxpZGF0
aW9uLWFuZC10ZXN0cy02CgotLS0KIExheW91dFRlc3RzL0NoYW5nZUxvZyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHwgICAyNyArKysrKysrCiAuLi4vVmFsaWRpdHlTdGF0ZS10eXBlTWlz
bWF0Y2gtZGF0ZS1leHBlY3RlZC50eHQgICB8ICAgNjEgKysrKysrKysrKysrKysKIC4uLi9mb3Jt
cy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1kYXRlLmh0bWwgICAgIHwgICAxMyArKysKIC4u
LmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtZGF0ZXRpbWUtZXhwZWN0ZWQudHh0IHwgICAzOSAr
KysrKysrKysKIC4uLi9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1kYXRldGltZS5o
dG1sIHwgICAxMyArKysKIC4uLnR5U3RhdGUtdHlwZU1pc21hdGNoLWRhdGV0aW1lbG9jYWwtZXhw
ZWN0ZWQudHh0IHwgICAyNiArKysrKysKIC4uLi9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1k
YXRldGltZWxvY2FsLmh0bWwgIHwgICAxMyArKysKIC4uLi9WYWxpZGl0eVN0YXRlLXR5cGVNaXNt
YXRjaC1tb250aC1leHBlY3RlZC50eHQgIHwgICA0MSArKysrKysrKysrCiAuLi4vZm9ybXMvVmFs
aWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtbW9udGguaHRtbCAgICB8ICAgMTMgKysrCiAuLi4vVmFs
aWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtdGltZS1leHBlY3RlZC50eHQgICB8ICAgMzkgKysrKysr
KysrCiAuLi4vZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtdGltZS5odG1sICAgICB8
ICAgMTMgKysrCiAuLi4vVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtd2Vlay1leHBlY3RlZC50
eHQgICB8ICAgMzUgKysrKysrKysKIC4uLi9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRj
aC13ZWVrLmh0bWwgICAgIHwgICAxMyArKysKIC4uLi9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRj
aC1kYXRlLmpzICAgICAgICAgICAgIHwgICA4MyArKysrKysrKysrKysrKysrKysrKwogLi4uL1Zh
bGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLWRhdGV0aW1lLmpzICAgICAgICAgfCAgIDYxICsrKysr
KysrKysrKysrCiAuLi4vVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtZGF0ZXRpbWVsb2NhbC5q
cyAgICB8ICAgNDggKysrKysrKysrKysKIC4uLi9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1t
b250aC5qcyAgICAgICAgICAgIHwgICA2MyArKysrKysrKysrKysrKysKIC4uLi9WYWxpZGl0eVN0
YXRlLXR5cGVNaXNtYXRjaC10aW1lLmpzICAgICAgICAgICAgIHwgICA2MSArKysrKysrKysrKysr
KwogLi4uL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLXdlZWsuanMgICAgICAgICAgICAgfCAg
IDU3ICsrKysrKysrKysrKysKIFdlYkNvcmUvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHwgICAyMiArKysrKwogV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQu
Y3BwICAgICAgICAgICAgICAgICAgfCAgIDI5ICsrKysrKysKIFdlYkNvcmUvaHRtbC9IVE1MSW5w
dXRFbGVtZW50LmggICAgICAgICAgICAgICAgICAgIHwgICAgNSArCiBXZWJDb3JlL2h0bWwvVmFs
aWRpdHlTdGF0ZS5jcHAgICAgICAgICAgICAgICAgICAgICB8ICAgIDcgKysKIDIzIGZpbGVzIGNo
YW5nZWQsIDc4MiBpbnNlcnRpb25zKCspLCAwIGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAw
NjQ0IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtZGF0
ZS1leHBlY3RlZC50eHQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLWRhdGUuaHRtbAogY3JlYXRlIG1vZGUgMTAwNjQ0
IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtZGF0ZXRp
bWUtZXhwZWN0ZWQudHh0CiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1kYXRldGltZS5odG1sCiBjcmVhdGUgbW9kZSAx
MDA2NDQgTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1k
YXRldGltZWxvY2FsLWV4cGVjdGVkLnR4dAogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtZGF0ZXRpbWVsb2NhbC5odG1s
CiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRl
LXR5cGVNaXNtYXRjaC1tb250aC1leHBlY3RlZC50eHQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLW1vbnRoLmh0bWwK
IGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUt
dHlwZU1pc21hdGNoLXRpbWUtZXhwZWN0ZWQudHh0CiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC10aW1lLmh0bWwKIGNy
ZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlw
ZU1pc21hdGNoLXdlZWstZXhwZWN0ZWQudHh0CiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC13ZWVrLmh0bWwKIGNyZWF0
ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9WYWxpZGl0
eVN0YXRlLXR5cGVNaXNtYXRjaC1kYXRlLmpzCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtZGF0
ZXRpbWUuanMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3Njcmlw
dC10ZXN0cy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1kYXRldGltZWxvY2FsLmpzCiBjcmVh
dGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvVmFsaWRp
dHlTdGF0ZS10eXBlTWlzbWF0Y2gtbW9udGguanMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC10
aW1lLmpzCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQt
dGVzdHMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtd2Vlay5qcwoKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA2MGI0YjE4
Li5jODQ2M2UzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzAgQEAKKzIwMDktMDktMTAgIEtlbnQgVGFtdXJh
ICA8dGtlbnRAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFRlc3RzIGZvciBWYWxpZGl0eVN0YXRlLnR5cGVNaXNtYXRjaCBmb3Ig
dGhlIGZvbGxvd2luZyB0eXBlcyBvZiBJTlBVVCBlbGVtZW50OgorICAgICAgICAgICAgZGF0ZSwg
ZGF0ZXRpbWUsIGRhdGV0aW1lLWxvY2FsLCBtb250aCwgdGltZSBhbmQgd2VlaworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjkwMDQKKworICAgICAgICAq
IGZhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtZGF0ZS1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gt
ZGF0ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlw
ZU1pc21hdGNoLWRhdGV0aW1lLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9m
b3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1kYXRldGltZS5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLWRhdGV0aW1lbG9j
YWwtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL1ZhbGlkaXR5U3Rh
dGUtdHlwZU1pc21hdGNoLWRhdGV0aW1lbG9jYWwuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFz
dC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1tb250aC1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtbW9u
dGguaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVN
aXNtYXRjaC10aW1lLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9W
YWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC10aW1lLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZh
c3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtd2Vlay1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtd2Vl
ay5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9WYWxpZGl0
eVN0YXRlLXR5cGVNaXNtYXRjaC1kYXRlLmpzOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1z
L3NjcmlwdC10ZXN0cy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1kYXRldGltZS5qczogQWRk
ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvVmFsaWRpdHlTdGF0ZS10eXBl
TWlzbWF0Y2gtZGF0ZXRpbWVsb2NhbC5qczogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9z
Y3JpcHQtdGVzdHMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtbW9udGguanM6IEFkZGVkLgor
ICAgICAgICAqIGZhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21h
dGNoLXRpbWUuanM6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL1Zh
bGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLXdlZWsuanM6IEFkZGVkLgorCiAyMDA5LTA5LTIzICBL
ZW50IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRp
dHlTdGF0ZS10eXBlTWlzbWF0Y2gtZGF0ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLWRhdGUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBhYTJjMWUKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLWRhdGUt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNjEgQEAKK1RoaXMgdGVzdCBhaW1zIHRvIGNoZWNrIGZv
ciB0eXBlTWlzbWF0Y2ggZmxhZyB3aXRoIHR5cGU9ZGF0ZSBpbnB1dCBmaWVsZHMKKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgIiIgaXMgYSBjb3JyZWN0IHZhbGlkIGRhdGUg
c3RyaW5nLgorUEFTUyAiMjAwOS0wOS0wNyIgaXMgYSBjb3JyZWN0IHZhbGlkIGRhdGUgc3RyaW5n
LgorUEFTUyAiOTk5OS0xMi0zMSIgaXMgYSBjb3JyZWN0IHZhbGlkIGRhdGUgc3RyaW5nLgorUEFT
UyAiMjE0NzQ4MzY0Ny0xMi0zMSIgaXMgYSBjb3JyZWN0IHZhbGlkIGRhdGUgc3RyaW5nLgorUEFT
UyAiMTU4Mi0xMC0xNSIgaXMgYSBjb3JyZWN0IHZhbGlkIGRhdGUgc3RyaW5nLgorUEFTUyAiMjAw
OS0wMS0zMSIgaXMgYSBjb3JyZWN0IHZhbGlkIGRhdGUgc3RyaW5nLgorUEFTUyAiMjAwOS0wMi0y
OCIgaXMgYSBjb3JyZWN0IHZhbGlkIGRhdGUgc3RyaW5nLgorUEFTUyAiMjAwOS0wMy0zMSIgaXMg
YSBjb3JyZWN0IHZhbGlkIGRhdGUgc3RyaW5nLgorUEFTUyAiMjAwOS0wNC0zMCIgaXMgYSBjb3Jy
ZWN0IHZhbGlkIGRhdGUgc3RyaW5nLgorUEFTUyAiMjAwOS0wNS0zMSIgaXMgYSBjb3JyZWN0IHZh
bGlkIGRhdGUgc3RyaW5nLgorUEFTUyAiMjAwOS0wNi0zMCIgaXMgYSBjb3JyZWN0IHZhbGlkIGRh
dGUgc3RyaW5nLgorUEFTUyAiMjAwOS0wNy0zMSIgaXMgYSBjb3JyZWN0IHZhbGlkIGRhdGUgc3Ry
aW5nLgorUEFTUyAiMjAwOS0wOC0zMSIgaXMgYSBjb3JyZWN0IHZhbGlkIGRhdGUgc3RyaW5nLgor
UEFTUyAiMjAwOS0wOS0zMCIgaXMgYSBjb3JyZWN0IHZhbGlkIGRhdGUgc3RyaW5nLgorUEFTUyAi
MjAwOS0xMC0zMSIgaXMgYSBjb3JyZWN0IHZhbGlkIGRhdGUgc3RyaW5nLgorUEFTUyAiMjAwOS0x
MS0zMCIgaXMgYSBjb3JyZWN0IHZhbGlkIGRhdGUgc3RyaW5nLgorUEFTUyAiMjAwOS0xMi0zMSIg
aXMgYSBjb3JyZWN0IHZhbGlkIGRhdGUgc3RyaW5nLgorUEFTUyAiMjAwOC0wMi0yOSIgaXMgYSBj
b3JyZWN0IHZhbGlkIGRhdGUgc3RyaW5nLgorUEFTUyAiMjAwMC0wMi0yOSIgaXMgYSBjb3JyZWN0
IHZhbGlkIGRhdGUgc3RyaW5nLgorUEFTUyAiIDIwMDktMDktMDcgIiBpcyBhIGNvcnJlY3QgaW52
YWxpZCBkYXRlIHN0cmluZy4KK1BBU1MgImEiIGlzIGEgY29ycmVjdCBpbnZhbGlkIGRhdGUgc3Ry
aW5nLgorUEFTUyAiLTEtMDktMDciIGlzIGEgY29ycmVjdCBpbnZhbGlkIGRhdGUgc3RyaW5nLgor
UEFTUyAiMTU4MS0wOS0wNyIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZSBzdHJpbmcuCitQQVNT
ICIxNTgyLTEwLTE0IiBpcyBhIGNvcnJlY3QgaW52YWxpZCBkYXRlIHN0cmluZy4KK1BBU1MgIjIx
NDc0ODM2NDgtMTItMzEiIGlzIGEgY29ycmVjdCBpbnZhbGlkIGRhdGUgc3RyaW5nLgorUEFTUyAi
MjAwOS8wOS8wNyIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZSBzdHJpbmcuCitQQVNTICIyMDA5
MDkwNyIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZSBzdHJpbmcuCitQQVNTICIyMDA5LS0yLTA3
IiBpcyBhIGNvcnJlY3QgaW52YWxpZCBkYXRlIHN0cmluZy4KK1BBU1MgIjIwMDktMDAtMDciIGlz
IGEgY29ycmVjdCBpbnZhbGlkIGRhdGUgc3RyaW5nLgorUEFTUyAiMjAwOS0xMy0wNyIgaXMgYSBj
b3JyZWN0IGludmFsaWQgZGF0ZSBzdHJpbmcuCitQQVNTICIxNTgyLTA5LTMwIiBpcyBhIGNvcnJl
Y3QgaW52YWxpZCBkYXRlIHN0cmluZy4KK1BBU1MgIjIwMDkteHgtMzAiIGlzIGEgY29ycmVjdCBp
bnZhbGlkIGRhdGUgc3RyaW5nLgorUEFTUyAiMjAwOS0wMS0zMiIgaXMgYSBjb3JyZWN0IGludmFs
aWQgZGF0ZSBzdHJpbmcuCitQQVNTICIyMDA5LTAyLTI5IiBpcyBhIGNvcnJlY3QgaW52YWxpZCBk
YXRlIHN0cmluZy4KK1BBU1MgIjIwMDktMDMtMzIiIGlzIGEgY29ycmVjdCBpbnZhbGlkIGRhdGUg
c3RyaW5nLgorUEFTUyAiMjAwOS0wNC0zMSIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZSBzdHJp
bmcuCitQQVNTICIyMDA5LTA1LTMyIiBpcyBhIGNvcnJlY3QgaW52YWxpZCBkYXRlIHN0cmluZy4K
K1BBU1MgIjIwMDktMDYtMzEiIGlzIGEgY29ycmVjdCBpbnZhbGlkIGRhdGUgc3RyaW5nLgorUEFT
UyAiMjAwOS0wNy0zMiIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZSBzdHJpbmcuCitQQVNTICIy
MDA5LTA4LTMyIiBpcyBhIGNvcnJlY3QgaW52YWxpZCBkYXRlIHN0cmluZy4KK1BBU1MgIjIwMDkt
MDktMzEiIGlzIGEgY29ycmVjdCBpbnZhbGlkIGRhdGUgc3RyaW5nLgorUEFTUyAiMjAwOS0xMC0z
MiIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZSBzdHJpbmcuCitQQVNTICIyMDA5LTExLTMxIiBp
cyBhIGNvcnJlY3QgaW52YWxpZCBkYXRlIHN0cmluZy4KK1BBU1MgIjIwMDktMTItMzIiIGlzIGEg
Y29ycmVjdCBpbnZhbGlkIGRhdGUgc3RyaW5nLgorUEFTUyAiMjEwMC0wMi0yOSIgaXMgYSBjb3Jy
ZWN0IGludmFsaWQgZGF0ZSBzdHJpbmcuCitQQVNTICIyMDA5LTA5LTAwIiBpcyBhIGNvcnJlY3Qg
aW52YWxpZCBkYXRlIHN0cmluZy4KK1BBU1MgIjIwMDktMDktIiBpcyBhIGNvcnJlY3QgaW52YWxp
ZCBkYXRlIHN0cmluZy4KK1BBU1MgIjIwMDktMDktNyIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0
ZSBzdHJpbmcuCitQQVNTICIyMDA5LTA5LTAwMSIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZSBz
dHJpbmcuCitQQVNTICIyMDA5LTA5LXh4IiBpcyBhIGNvcnJlY3QgaW52YWxpZCBkYXRlIHN0cmlu
Zy4KK1BBU1MgIjIwMDktMDkiIGlzIGEgY29ycmVjdCBpbnZhbGlkIGRhdGUgc3RyaW5nLgorUEFT
UyAiMjAwOSIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZSBzdHJpbmcuCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1kYXRlLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLWRhdGUuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42Njg2YWUxCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRj
aC1kYXRlLmh0bWwKQEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVl
dCIgaHJlZj0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvVmFsaWRpdHlTdGF0ZS10
eXBlTWlzbWF0Y2gtZGF0ZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlz
bWF0Y2gtZGF0ZXRpbWUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxp
ZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1kYXRldGltZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWM1N2NlMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtZGF0ZXRpbWUtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzkgQEAKK1RoaXMgdGVzdCBhaW1zIHRvIGNoZWNrIGZvciB0
eXBlTWlzbWF0Y2ggZmxhZyB3aXRoIHR5cGU9ZGF0ZXRpbWUgaW5wdXQgZmllbGRzCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTICIiIGlzIGEgY29ycmVjdCB2YWxpZCBkYXRl
dGltZSBzdHJpbmcuCitQQVNTICIyMDA5LTA5LTA3VDE2OjQ5WiIgaXMgYSBjb3JyZWN0IHZhbGlk
IGRhdGV0aW1lIHN0cmluZy4KK1BBU1MgIjIwMDktMDktMDdUMTY6NDk6MzFaIiBpcyBhIGNvcnJl
Y3QgdmFsaWQgZGF0ZXRpbWUgc3RyaW5nLgorUEFTUyAiMjAwOS0wOS0wN1QxNjo0OTozMS4xWiIg
aXMgYSBjb3JyZWN0IHZhbGlkIGRhdGV0aW1lIHN0cmluZy4KK1BBU1MgIjIwMDktMDktMDdUMTY6
NDk6MzEuMTJaIiBpcyBhIGNvcnJlY3QgdmFsaWQgZGF0ZXRpbWUgc3RyaW5nLgorUEFTUyAiMjAw
OS0wOS0wN1QxNjo0OTozMS4xMjNaIiBpcyBhIGNvcnJlY3QgdmFsaWQgZGF0ZXRpbWUgc3RyaW5n
LgorUEFTUyAiMjAwOS0wOS0wN1QxNjo0OTozMS4xMjM0NTY3ODkwWiIgaXMgYSBjb3JyZWN0IHZh
bGlkIGRhdGV0aW1lIHN0cmluZy4KK1BBU1MgIjIxNDc0ODM2NDctMTItMzFUMjM6NTk6NTkuOTk5
WiIgaXMgYSBjb3JyZWN0IHZhbGlkIGRhdGV0aW1lIHN0cmluZy4KK1BBU1MgIjE1ODItMTAtMTVU
MDA6MDA6MDAuMDAwWiIgaXMgYSBjb3JyZWN0IHZhbGlkIGRhdGV0aW1lIHN0cmluZy4KK1BBU1Mg
IjE1ODItMTAtMTVUMDA6MDA6MDAuMDAwKzAwOjAwIiBpcyBhIGNvcnJlY3QgdmFsaWQgZGF0ZXRp
bWUgc3RyaW5nLgorUEFTUyAiMTU4Mi0xMC0xNVQwMTozMCswMTozMCIgaXMgYSBjb3JyZWN0IHZh
bGlkIGRhdGV0aW1lIHN0cmluZy4KK1BBU1MgIjE1ODItMTAtMTVUMDA6MDArMDE6MDAiIGlzIGEg
Y29ycmVjdCB2YWxpZCBkYXRldGltZSBzdHJpbmcuCitQQVNTICIgMjAwOS0wOS0wN1QxNjo0OVog
IiBpcyBhIGNvcnJlY3QgaW52YWxpZCBkYXRldGltZSBzdHJpbmcuCitQQVNTICIyMDA5LTA5LTA3
VDE2OjQ5eiIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZXRpbWUgc3RyaW5nLgorUEFTUyAiMjAw
OS0wOS0wN3QxNjo0OVoiIGlzIGEgY29ycmVjdCBpbnZhbGlkIGRhdGV0aW1lIHN0cmluZy4KK1BB
U1MgIjIwMDktMDktMDdUMTY6NDkiIGlzIGEgY29ycmVjdCBpbnZhbGlkIGRhdGV0aW1lIHN0cmlu
Zy4KK1BBU1MgIjIwMDkvMDkvMDdUMTY6NDlaIiBpcyBhIGNvcnJlY3QgaW52YWxpZCBkYXRldGlt
ZSBzdHJpbmcuCitQQVNTICJhIiBpcyBhIGNvcnJlY3QgaW52YWxpZCBkYXRldGltZSBzdHJpbmcu
CitQQVNTICItMS0wOS0wN1QxNjo0OVoiIGlzIGEgY29ycmVjdCBpbnZhbGlkIGRhdGV0aW1lIHN0
cmluZy4KK1BBU1MgIjIwMDktMDktMDdUMTY6NDkrMjMiIGlzIGEgY29ycmVjdCBpbnZhbGlkIGRh
dGV0aW1lIHN0cmluZy4KK1BBU1MgIjIwMDktMDktMDdUMTY6NDkrMjM6IiBpcyBhIGNvcnJlY3Qg
aW52YWxpZCBkYXRldGltZSBzdHJpbmcuCitQQVNTICIyMDA5LTA5LTA3VDE2OjQ5KzI0OjAwIiBp
cyBhIGNvcnJlY3QgaW52YWxpZCBkYXRldGltZSBzdHJpbmcuCitQQVNTICIyMDA5LTA5LTA3VDE2
OjQ5KzIzOjYwIiBpcyBhIGNvcnJlY3QgaW52YWxpZCBkYXRldGltZSBzdHJpbmcuCitQQVNTICIy
MDA5LTA5LTA3VDE2OjQ5LTIzIiBpcyBhIGNvcnJlY3QgaW52YWxpZCBkYXRldGltZSBzdHJpbmcu
CitQQVNTICIyMDA5LTA5LTA3VDE2OjQ5LTIzOiIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZXRp
bWUgc3RyaW5nLgorUEFTUyAiMjAwOS0wOS0wN1QxNjo0OS0yNDowMCIgaXMgYSBjb3JyZWN0IGlu
dmFsaWQgZGF0ZXRpbWUgc3RyaW5nLgorUEFTUyAiMjAwOS0wOS0wN1QxNjo0OS0yMzo2MCIgaXMg
YSBjb3JyZWN0IGludmFsaWQgZGF0ZXRpbWUgc3RyaW5nLgorUEFTUyAiMTU4Mi0xMC0xNFQyMzo1
OTo1OVoiIGlzIGEgY29ycmVjdCBpbnZhbGlkIGRhdGV0aW1lIHN0cmluZy4KK1BBU1MgIjIxNDc0
ODM2NDctMTItMzFUMjM6NTktMDA6MDEiIGlzIGEgY29ycmVjdCBpbnZhbGlkIGRhdGV0aW1lIHN0
cmluZy4KK1BBU1MgIjIxNDc0ODM2NDgtMDEtMDFUMDA6MDA6MDBaIiBpcyBhIGNvcnJlY3QgaW52
YWxpZCBkYXRldGltZSBzdHJpbmcuCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxp
ZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1kYXRldGltZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1kYXRldGltZS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkwNjNlN2MKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLWRhdGV0aW1lLmh0
bWwKQEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0i
Li4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0
Y2gtZGF0ZXRpbWUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNo
LWRhdGV0aW1lbG9jYWwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxp
ZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1kYXRldGltZWxvY2FsLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ODk3ZDA2Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1kYXRldGlt
ZWxvY2FsLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDI2IEBACitUaGlzIHRlc3QgYWltcyB0byBj
aGVjayBmb3IgdHlwZU1pc21hdGNoIGZsYWcgd2l0aCB0eXBlPWRhdGV0aW1lLWxvY2FsIGlucHV0
IGZpZWxkcworCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyAiIiBpcyBhIGNv
cnJlY3QgdmFsaWQgZGF0ZXRpbWUtbG9jYWwgc3RyaW5nLgorUEFTUyAiMjAwOS0wOS0wN1QxNjo0
OSIgaXMgYSBjb3JyZWN0IHZhbGlkIGRhdGV0aW1lLWxvY2FsIHN0cmluZy4KK1BBU1MgIjIwMDkt
MDktMDdUMTY6NDk6MzEiIGlzIGEgY29ycmVjdCB2YWxpZCBkYXRldGltZS1sb2NhbCBzdHJpbmcu
CitQQVNTICIyMDA5LTA5LTA3VDE2OjQ5OjMxLjEiIGlzIGEgY29ycmVjdCB2YWxpZCBkYXRldGlt
ZS1sb2NhbCBzdHJpbmcuCitQQVNTICIyMDA5LTA5LTA3VDE2OjQ5OjMxLjEyIiBpcyBhIGNvcnJl
Y3QgdmFsaWQgZGF0ZXRpbWUtbG9jYWwgc3RyaW5nLgorUEFTUyAiMjAwOS0wOS0wN1QxNjo0OToz
MS4xMjMiIGlzIGEgY29ycmVjdCB2YWxpZCBkYXRldGltZS1sb2NhbCBzdHJpbmcuCitQQVNTICIy
MDA5LTA5LTA3VDE2OjQ5OjMxLjEyMzQ1Njc4OTAiIGlzIGEgY29ycmVjdCB2YWxpZCBkYXRldGlt
ZS1sb2NhbCBzdHJpbmcuCitQQVNTICIyMTQ3NDgzNjQ3LTEyLTMxVDIzOjU5OjU5Ljk5OSIgaXMg
YSBjb3JyZWN0IHZhbGlkIGRhdGV0aW1lLWxvY2FsIHN0cmluZy4KK1BBU1MgIjE1ODItMTAtMTVU
MDA6MDA6MDAuMDAwIiBpcyBhIGNvcnJlY3QgdmFsaWQgZGF0ZXRpbWUtbG9jYWwgc3RyaW5nLgor
UEFTUyAiIDIwMDktMDktMDdUMTY6NDkgIiBpcyBhIGNvcnJlY3QgaW52YWxpZCBkYXRldGltZS1s
b2NhbCBzdHJpbmcuCitQQVNTICIyMDA5LTA5LTA3dDE2OjQ5IiBpcyBhIGNvcnJlY3QgaW52YWxp
ZCBkYXRldGltZS1sb2NhbCBzdHJpbmcuCitQQVNTICIyMDA5LTA5LTA3IDE2OjQ5IiBpcyBhIGNv
cnJlY3QgaW52YWxpZCBkYXRldGltZS1sb2NhbCBzdHJpbmcuCitQQVNTICIyMDA5LzA5LzA3VDE2
OjQ5IiBpcyBhIGNvcnJlY3QgaW52YWxpZCBkYXRldGltZS1sb2NhbCBzdHJpbmcuCitQQVNTICJh
IiBpcyBhIGNvcnJlY3QgaW52YWxpZCBkYXRldGltZS1sb2NhbCBzdHJpbmcuCitQQVNTICItMS0w
OS0wN1QxNjo0OSIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZXRpbWUtbG9jYWwgc3RyaW5nLgor
UEFTUyAiMTU4Mi0xMC0xNFQyMzo1OTo1OSIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZXRpbWUt
bG9jYWwgc3RyaW5nLgorUEFTUyAiMjE0NzQ4MzY0OC0wMS0wMVQwMDowMDowMCIgaXMgYSBjb3Jy
ZWN0IGludmFsaWQgZGF0ZXRpbWUtbG9jYWwgc3RyaW5nLgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtZGF0ZXRpbWVsb2NhbC5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1kYXRldGlt
ZWxvY2FsLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjI1YWJjYQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10
eXBlTWlzbWF0Y2gtZGF0ZXRpbWVsb2NhbC5odG1sCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRl
c3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlv
biI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRl
c3RzL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLWRhdGV0aW1lbG9jYWwuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLW1vbnRoLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtbW9udGgtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRhYjhlNGYKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlw
ZU1pc21hdGNoLW1vbnRoLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQxIEBACitUaGlzIHRlc3Qg
YWltcyB0byBjaGVjayBmb3IgdHlwZU1pc21hdGNoIGZsYWcgd2l0aCB0eXBlPW1vbnRoIGlucHV0
IGZpZWxkcworCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyAiIiBpcyBhIGNv
cnJlY3QgdmFsaWQgbW9udGggc3RyaW5nLgorUEFTUyAiMTU4Mi0xMCIgaXMgYSBjb3JyZWN0IHZh
bGlkIG1vbnRoIHN0cmluZy4KK1BBU1MgIjk5OTktMTIiIGlzIGEgY29ycmVjdCB2YWxpZCBtb250
aCBzdHJpbmcuCitQQVNTICIyMTQ3NDgzNjQ3LTEyIiBpcyBhIGNvcnJlY3QgdmFsaWQgbW9udGgg
c3RyaW5nLgorUEFTUyAiMjAwOS0wMSIgaXMgYSBjb3JyZWN0IHZhbGlkIG1vbnRoIHN0cmluZy4K
K1BBU1MgIjIwMDktMDIiIGlzIGEgY29ycmVjdCB2YWxpZCBtb250aCBzdHJpbmcuCitQQVNTICIy
MDA5LTAzIiBpcyBhIGNvcnJlY3QgdmFsaWQgbW9udGggc3RyaW5nLgorUEFTUyAiMjAwOS0wNCIg
aXMgYSBjb3JyZWN0IHZhbGlkIG1vbnRoIHN0cmluZy4KK1BBU1MgIjIwMDktMDUiIGlzIGEgY29y
cmVjdCB2YWxpZCBtb250aCBzdHJpbmcuCitQQVNTICIyMDA5LTA2IiBpcyBhIGNvcnJlY3QgdmFs
aWQgbW9udGggc3RyaW5nLgorUEFTUyAiMjAwOS0wNyIgaXMgYSBjb3JyZWN0IHZhbGlkIG1vbnRo
IHN0cmluZy4KK1BBU1MgIjIwMDktMDgiIGlzIGEgY29ycmVjdCB2YWxpZCBtb250aCBzdHJpbmcu
CitQQVNTICIyMDA5LTA5IiBpcyBhIGNvcnJlY3QgdmFsaWQgbW9udGggc3RyaW5nLgorUEFTUyAi
MjAwOS0xMCIgaXMgYSBjb3JyZWN0IHZhbGlkIG1vbnRoIHN0cmluZy4KK1BBU1MgIjIwMDktMTEi
IGlzIGEgY29ycmVjdCB2YWxpZCBtb250aCBzdHJpbmcuCitQQVNTICIyMDA5LTEyIiBpcyBhIGNv
cnJlY3QgdmFsaWQgbW9udGggc3RyaW5nLgorUEFTUyAiIDIwMDktMDkgIiBpcyBhIGNvcnJlY3Qg
aW52YWxpZCBtb250aCBzdHJpbmcuCitQQVNTICJhIiBpcyBhIGNvcnJlY3QgaW52YWxpZCBtb250
aCBzdHJpbmcuCitQQVNTICItMS0wOSIgaXMgYSBjb3JyZWN0IGludmFsaWQgbW9udGggc3RyaW5n
LgorUEFTUyAiMTU4MS0xMCIgaXMgYSBjb3JyZWN0IGludmFsaWQgbW9udGggc3RyaW5nLgorUEFT
UyAiMTU4Mi0wOSIgaXMgYSBjb3JyZWN0IGludmFsaWQgbW9udGggc3RyaW5nLgorUEFTUyAiMjE0
NzQ4MzY0OC0xMiIgaXMgYSBjb3JyZWN0IGludmFsaWQgbW9udGggc3RyaW5nLgorUEFTUyAiMjAw
OS8wOSIgaXMgYSBjb3JyZWN0IGludmFsaWQgbW9udGggc3RyaW5nLgorUEFTUyAiMjAwOTA5IiBp
cyBhIGNvcnJlY3QgaW52YWxpZCBtb250aCBzdHJpbmcuCitQQVNTICIyMDA5LS0yIiBpcyBhIGNv
cnJlY3QgaW52YWxpZCBtb250aCBzdHJpbmcuCitQQVNTICIyMDA5LTAwIiBpcyBhIGNvcnJlY3Qg
aW52YWxpZCBtb250aCBzdHJpbmcuCitQQVNTICIyMDA5LTEzIiBpcyBhIGNvcnJlY3QgaW52YWxp
ZCBtb250aCBzdHJpbmcuCitQQVNTICIyMDA5LSIgaXMgYSBjb3JyZWN0IGludmFsaWQgbW9udGgg
c3RyaW5nLgorUEFTUyAiMjAwOS05IiBpcyBhIGNvcnJlY3QgaW52YWxpZCBtb250aCBzdHJpbmcu
CitQQVNTICIyMDA5LTAwOSIgaXMgYSBjb3JyZWN0IGludmFsaWQgbW9udGggc3RyaW5nLgorUEFT
UyAiMjAwOS14eCIgaXMgYSBjb3JyZWN0IGludmFsaWQgbW9udGggc3RyaW5nLgorUEFTUyAiMjAw
OSIgaXMgYSBjb3JyZWN0IGludmFsaWQgbW9udGggc3RyaW5nLgorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtbW9udGguaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtbW9udGguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMjY5ZDM5Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1t
b250aC5odG1sCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQi
IGhyZWY9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL1ZhbGlkaXR5U3RhdGUtdHlw
ZU1pc21hdGNoLW1vbnRoLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pz
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNt
YXRjaC10aW1lLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlT
dGF0ZS10eXBlTWlzbWF0Y2gtdGltZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMC4uMmYwYTA2OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtdGltZS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzOSBAQAorVGhpcyB0ZXN0IGFpbXMgdG8gY2hlY2sgZm9yIHR5cGVNaXNtYXRjaCBm
bGFnIHdpdGggdHlwZT10aW1lIGlucHV0IGZpZWxkcworCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKKworUEFTUyAiIiBpcyBhIGNvcnJlY3QgdmFsaWQgdGltZSBzdHJpbmcuCitQQVNTICIw
MDowMCIgaXMgYSBjb3JyZWN0IHZhbGlkIHRpbWUgc3RyaW5nLgorUEFTUyAiMjM6NTkiIGlzIGEg
Y29ycmVjdCB2YWxpZCB0aW1lIHN0cmluZy4KK1BBU1MgIjIzOjU5OjU5IiBpcyBhIGNvcnJlY3Qg
dmFsaWQgdGltZSBzdHJpbmcuCitQQVNTICIyMzo1OTo1OS4xIiBpcyBhIGNvcnJlY3QgdmFsaWQg
dGltZSBzdHJpbmcuCitQQVNTICIyMzo1OTo1OS4xMiIgaXMgYSBjb3JyZWN0IHZhbGlkIHRpbWUg
c3RyaW5nLgorUEFTUyAiMjM6NTk6NTkuMTIzIiBpcyBhIGNvcnJlY3QgdmFsaWQgdGltZSBzdHJp
bmcuCitQQVNTICIyMzo1OTo1OS4xMjM0NTY3ODkwIiBpcyBhIGNvcnJlY3QgdmFsaWQgdGltZSBz
dHJpbmcuCitQQVNTICIwMDowMDowMC4wMDAwMDAwMDAwIiBpcyBhIGNvcnJlY3QgdmFsaWQgdGlt
ZSBzdHJpbmcuCitQQVNTICIgMDA6MDAgIiBpcyBhIGNvcnJlY3QgaW52YWxpZCB0aW1lIHN0cmlu
Zy4KK1BBU1MgIjE6MjMiIGlzIGEgY29ycmVjdCBpbnZhbGlkIHRpbWUgc3RyaW5nLgorUEFTUyAi
MDExOjExIiBpcyBhIGNvcnJlY3QgaW52YWxpZCB0aW1lIHN0cmluZy4KK1BBU1MgImFiOjExIiBp
cyBhIGNvcnJlY3QgaW52YWxpZCB0aW1lIHN0cmluZy4KK1BBU1MgIi0xOjExIiBpcyBhIGNvcnJl
Y3QgaW52YWxpZCB0aW1lIHN0cmluZy4KK1BBU1MgIjI0OjExIiBpcyBhIGNvcnJlY3QgaW52YWxp
ZCB0aW1lIHN0cmluZy4KK1BBU1MgIjExIiBpcyBhIGNvcnJlY3QgaW52YWxpZCB0aW1lIHN0cmlu
Zy4KK1BBU1MgIjExLSIgaXMgYSBjb3JyZWN0IGludmFsaWQgdGltZSBzdHJpbmcuCitQQVNTICIx
MTotMiIgaXMgYSBjb3JyZWN0IGludmFsaWQgdGltZSBzdHJpbmcuCitQQVNTICIxMTo2MCIgaXMg
YSBjb3JyZWN0IGludmFsaWQgdGltZSBzdHJpbmcuCitQQVNTICIxMToyYiIgaXMgYSBjb3JyZWN0
IGludmFsaWQgdGltZSBzdHJpbmcuCitQQVNTICIxMTphYiIgaXMgYSBjb3JyZWN0IGludmFsaWQg
dGltZSBzdHJpbmcuCitQQVNTICIxMTowMzQiIGlzIGEgY29ycmVjdCBpbnZhbGlkIHRpbWUgc3Ry
aW5nLgorUEFTUyAiMjM6NDU6IiBpcyBhIGNvcnJlY3QgaW52YWxpZCB0aW1lIHN0cmluZy4KK1BB
U1MgIjIzOjQ1OjYiIGlzIGEgY29ycmVjdCBpbnZhbGlkIHRpbWUgc3RyaW5nLgorUEFTUyAiMjM6
NDU6LTEiIGlzIGEgY29ycmVjdCBpbnZhbGlkIHRpbWUgc3RyaW5nLgorUEFTUyAiMjM6NDU6NzAi
IGlzIGEgY29ycmVjdCBpbnZhbGlkIHRpbWUgc3RyaW5nLgorUEFTUyAiMjM6NDU6enoiIGlzIGEg
Y29ycmVjdCBpbnZhbGlkIHRpbWUgc3RyaW5nLgorRkFJTCAiMjM6NDU6MDYuIiBpcyBhbiBpbmNv
cnJlY3QgdmFsaWQgdGltZSBzdHJpbmcuCitQQVNTICIyMzo0NTowNi5hYmMiIGlzIGEgY29ycmVj
dCBpbnZhbGlkIHRpbWUgc3RyaW5nLgorUEFTUyAiMjM6NDU6MDYuNzg5YWJjIiBpcyBhIGNvcnJl
Y3QgaW52YWxpZCB0aW1lIHN0cmluZy4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1Zh
bGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLXRpbWUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtdGltZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAuLjc2NDEyOWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLXRpbWUuaHRtbApAQCAtMCww
ICsxLDEzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+
Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9mYXN0
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFz
dC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdCBzcmM9InNjcmlwdC10ZXN0cy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC10aW1lLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC13ZWVrLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gt
d2Vlay1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGY5
YTI2YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlT
dGF0ZS10eXBlTWlzbWF0Y2gtd2Vlay1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNSBAQAorVGhp
cyB0ZXN0IGFpbXMgdG8gY2hlY2sgZm9yIHR5cGVNaXNtYXRjaCBmbGFnIHdpdGggdHlwZT13ZWVr
IGlucHV0IGZpZWxkcworCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyAiIiBp
cyBhIGNvcnJlY3QgdmFsaWQgd2VlayBzdHJpbmcuCitQQVNTICIxNTgzLVcwMSIgaXMgYSBjb3Jy
ZWN0IHZhbGlkIHdlZWsgc3RyaW5nLgorUEFTUyAiOTk5OS1XNTIiIGlzIGEgY29ycmVjdCB2YWxp
ZCB3ZWVrIHN0cmluZy4KK1BBU1MgIjIxNDc0ODM2NDctVzUyIiBpcyBhIGNvcnJlY3QgdmFsaWQg
d2VlayBzdHJpbmcuCitQQVNTICIyMDA5LVcwMSIgaXMgYSBjb3JyZWN0IHZhbGlkIHdlZWsgc3Ry
aW5nLgorUEFTUyAiMjAwNC1XNTMiIGlzIGEgY29ycmVjdCB2YWxpZCB3ZWVrIHN0cmluZy4KK1BB
U1MgIjIwMDMtVzUyIiBpcyBhIGNvcnJlY3QgdmFsaWQgd2VlayBzdHJpbmcuCitQQVNTICIxOTky
LVc1MyIgaXMgYSBjb3JyZWN0IHZhbGlkIHdlZWsgc3RyaW5nLgorUEFTUyAiIDIwMDktVzAxICIg
aXMgYSBjb3JyZWN0IGludmFsaWQgd2VlayBzdHJpbmcuCitQQVNTICIyMDA5VzAxIiBpcyBhIGNv
cnJlY3QgaW52YWxpZCB3ZWVrIHN0cmluZy4KK1BBU1MgIjIwMDktdzAxIiBpcyBhIGNvcnJlY3Qg
aW52YWxpZCB3ZWVrIHN0cmluZy4KK1BBU1MgIjIwMDktVzEiIGlzIGEgY29ycmVjdCBpbnZhbGlk
IHdlZWsgc3RyaW5nLgorUEFTUyAiMjAwOS1XMDAxIiBpcyBhIGNvcnJlY3QgaW52YWxpZCB3ZWVr
IHN0cmluZy4KK1BBU1MgImEiIGlzIGEgY29ycmVjdCBpbnZhbGlkIHdlZWsgc3RyaW5nLgorUEFT
UyAiLTEtVzA5IiBpcyBhIGNvcnJlY3QgaW52YWxpZCB3ZWVrIHN0cmluZy4KK1BBU1MgIjE1ODIt
VzUyIiBpcyBhIGNvcnJlY3QgaW52YWxpZCB3ZWVrIHN0cmluZy4KK1BBU1MgIjIxNDc0ODM2NDgt
VzAxIiBpcyBhIGNvcnJlY3QgaW52YWxpZCB3ZWVrIHN0cmluZy4KK1BBU1MgIjIwMDktVzAwIiBp
cyBhIGNvcnJlY3QgaW52YWxpZCB3ZWVrIHN0cmluZy4KK1BBU1MgIjIwMDktVy0xIiBpcyBhIGNv
cnJlY3QgaW52YWxpZCB3ZWVrIHN0cmluZy4KK1BBU1MgIjIwMDQtVzU0IiBpcyBhIGNvcnJlY3Qg
aW52YWxpZCB3ZWVrIHN0cmluZy4KK1BBU1MgIjIwMDMtVzUzIiBpcyBhIGNvcnJlY3QgaW52YWxp
ZCB3ZWVrIHN0cmluZy4KK1BBU1MgIjE5OTItVzU0IiBpcyBhIGNvcnJlY3QgaW52YWxpZCB3ZWVr
IHN0cmluZy4KK1BBU1MgIjIwMDkvMDkiIGlzIGEgY29ycmVjdCBpbnZhbGlkIHdlZWsgc3RyaW5n
LgorUEFTUyAiMjAwOTA5IiBpcyBhIGNvcnJlY3QgaW52YWxpZCB3ZWVrIHN0cmluZy4KK1BBU1Mg
IjIwMDktV3h4IiBpcyBhIGNvcnJlY3QgaW52YWxpZCB3ZWVrIHN0cmluZy4KK1BBU1MgIjIwMDki
IGlzIGEgY29ycmVjdCBpbnZhbGlkIHdlZWsgc3RyaW5nLgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtd2Vlay5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC13ZWVrLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTU4OTdhMgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtd2Vlay5o
dG1sCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9
Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21h
dGNoLXdlZWsuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9WYWxpZGl0eVN0YXRlLXR5
cGVNaXNtYXRjaC1kYXRlLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMv
VmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtZGF0ZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwLi40OTcyODAwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy9zY3JpcHQtdGVzdHMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtZGF0ZS5qcwpA
QCAtMCwwICsxLDgzIEBACitkZXNjcmlwdGlvbignVGhpcyB0ZXN0IGFpbXMgdG8gY2hlY2sgZm9y
IHR5cGVNaXNtYXRjaCBmbGFnIHdpdGggdHlwZT1kYXRlIGlucHV0IGZpZWxkcycpOwordmFyIGkg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpOworaS50eXBlID0gJ2RhdGUnOworCitm
dW5jdGlvbiBjaGVjayh2YWx1ZSwgbWlzbWF0Y2hFeHBlY3RlZCkKK3sKKyAgICBpLnZhbHVlID0g
dmFsdWU7CisgICAgdmFyIGFjdHVhbCA9IGkudmFsaWRpdHkudHlwZU1pc21hdGNoOworICAgIHZh
ciBkaWRQYXNzID0gYWN0dWFsID09IG1pc21hdGNoRXhwZWN0ZWQ7CisgICAgdmFyIHJlc3VsdFRl
eHQgPSAnIicgKyB2YWx1ZSArICciIGlzICcgKyAoZGlkUGFzcyA/ICdhIGNvcnJlY3QgJyA6ICdh
biBpbmNvcnJlY3QgJykgKyAoYWN0dWFsID8gJ2ludmFsaWQnIDogJ3ZhbGlkJykgKyAnIGRhdGUg
c3RyaW5nLic7CisgICAgaWYgKGRpZFBhc3MpCisgICAgICAgIHRlc3RQYXNzZWQocmVzdWx0VGV4
dCk7CisgICAgZWxzZQorICAgICAgICB0ZXN0RmFpbGVkKHJlc3VsdFRleHQpOworfQorCitmdW5j
dGlvbiBzaG91bGRCZVZhbGlkKHZhbHVlKQoreworICAgIGNoZWNrKHZhbHVlLCBmYWxzZSk7Cit9
CisKK2Z1bmN0aW9uIHNob3VsZEJlSW52YWxpZCh2YWx1ZSkKK3sKKyAgICBjaGVjayh2YWx1ZSwg
dHJ1ZSk7Cit9CisKKy8vIFZhbGlkIHZhbHVlcworc2hvdWxkQmVWYWxpZCgnJyk7CitzaG91bGRC
ZVZhbGlkKCcyMDA5LTA5LTA3Jyk7CitzaG91bGRCZVZhbGlkKCc5OTk5LTEyLTMxJyk7CitzaG91
bGRCZVZhbGlkKCcyMTQ3NDgzNjQ3LTEyLTMxJyk7CitzaG91bGRCZVZhbGlkKCcxNTgyLTEwLTE1
Jyk7CitzaG91bGRCZVZhbGlkKCcyMDA5LTAxLTMxJyk7CitzaG91bGRCZVZhbGlkKCcyMDA5LTAy
LTI4Jyk7CitzaG91bGRCZVZhbGlkKCcyMDA5LTAzLTMxJyk7CitzaG91bGRCZVZhbGlkKCcyMDA5
LTA0LTMwJyk7CitzaG91bGRCZVZhbGlkKCcyMDA5LTA1LTMxJyk7CitzaG91bGRCZVZhbGlkKCcy
MDA5LTA2LTMwJyk7CitzaG91bGRCZVZhbGlkKCcyMDA5LTA3LTMxJyk7CitzaG91bGRCZVZhbGlk
KCcyMDA5LTA4LTMxJyk7CitzaG91bGRCZVZhbGlkKCcyMDA5LTA5LTMwJyk7CitzaG91bGRCZVZh
bGlkKCcyMDA5LTEwLTMxJyk7CitzaG91bGRCZVZhbGlkKCcyMDA5LTExLTMwJyk7CitzaG91bGRC
ZVZhbGlkKCcyMDA5LTEyLTMxJyk7CitzaG91bGRCZVZhbGlkKCcyMDA4LTAyLTI5Jyk7CitzaG91
bGRCZVZhbGlkKCcyMDAwLTAyLTI5Jyk7CisKKy8vIEludmFsaWQgdmFsdWVzCitzaG91bGRCZUlu
dmFsaWQoJyAyMDA5LTA5LTA3ICcpOworc2hvdWxkQmVJbnZhbGlkKCdhJyk7CitzaG91bGRCZUlu
dmFsaWQoJy0xLTA5LTA3Jyk7CitzaG91bGRCZUludmFsaWQoJzE1ODEtMDktMDcnKTsKK3Nob3Vs
ZEJlSW52YWxpZCgnMTU4Mi0xMC0xNCcpOworc2hvdWxkQmVJbnZhbGlkKCcyMTQ3NDgzNjQ4LTEy
LTMxJyk7CitzaG91bGRCZUludmFsaWQoJzIwMDkvMDkvMDcnKTsKK3Nob3VsZEJlSW52YWxpZCgn
MjAwOTA5MDcnKTsKK3Nob3VsZEJlSW52YWxpZCgnMjAwOS0tMi0wNycpOworc2hvdWxkQmVJbnZh
bGlkKCcyMDA5LTAwLTA3Jyk7CitzaG91bGRCZUludmFsaWQoJzIwMDktMTMtMDcnKTsKK3Nob3Vs
ZEJlSW52YWxpZCgnMTU4Mi0wOS0zMCcpOworc2hvdWxkQmVJbnZhbGlkKCcyMDA5LXh4LTMwJyk7
CitzaG91bGRCZUludmFsaWQoJzIwMDktMDEtMzInKTsKK3Nob3VsZEJlSW52YWxpZCgnMjAwOS0w
Mi0yOScpOworc2hvdWxkQmVJbnZhbGlkKCcyMDA5LTAzLTMyJyk7CitzaG91bGRCZUludmFsaWQo
JzIwMDktMDQtMzEnKTsKK3Nob3VsZEJlSW52YWxpZCgnMjAwOS0wNS0zMicpOworc2hvdWxkQmVJ
bnZhbGlkKCcyMDA5LTA2LTMxJyk7CitzaG91bGRCZUludmFsaWQoJzIwMDktMDctMzInKTsKK3No
b3VsZEJlSW52YWxpZCgnMjAwOS0wOC0zMicpOworc2hvdWxkQmVJbnZhbGlkKCcyMDA5LTA5LTMx
Jyk7CitzaG91bGRCZUludmFsaWQoJzIwMDktMTAtMzInKTsKK3Nob3VsZEJlSW52YWxpZCgnMjAw
OS0xMS0zMScpOworc2hvdWxkQmVJbnZhbGlkKCcyMDA5LTEyLTMyJyk7CitzaG91bGRCZUludmFs
aWQoJzIxMDAtMDItMjknKTsKK3Nob3VsZEJlSW52YWxpZCgnMjAwOS0wOS0wMCcpOworc2hvdWxk
QmVJbnZhbGlkKCcyMDA5LTA5LScpOworc2hvdWxkQmVJbnZhbGlkKCcyMDA5LTA5LTcnKTsKK3No
b3VsZEJlSW52YWxpZCgnMjAwOS0wOS0wMDEnKTsKK3Nob3VsZEJlSW52YWxpZCgnMjAwOS0wOS14
eCcpOworc2hvdWxkQmVJbnZhbGlkKCcyMDA5LTA5Jyk7CitzaG91bGRCZUludmFsaWQoJzIwMDkn
KTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1k
YXRldGltZS5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL1ZhbGlkaXR5
U3RhdGUtdHlwZU1pc21hdGNoLWRhdGV0aW1lLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAuLmU4ZjVkZGQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL3NjcmlwdC10ZXN0cy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1kYXRldGltZS5qcwpA
QCAtMCwwICsxLDYxIEBACitkZXNjcmlwdGlvbignVGhpcyB0ZXN0IGFpbXMgdG8gY2hlY2sgZm9y
IHR5cGVNaXNtYXRjaCBmbGFnIHdpdGggdHlwZT1kYXRldGltZSBpbnB1dCBmaWVsZHMnKTsKK3Zh
ciBpID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTsKK2kudHlwZSA9ICdkYXRldGlt
ZSc7CisKK2Z1bmN0aW9uIGNoZWNrKHZhbHVlLCBtaXNtYXRjaEV4cGVjdGVkKQoreworICAgIGku
dmFsdWUgPSB2YWx1ZTsKKyAgICB2YXIgYWN0dWFsID0gaS52YWxpZGl0eS50eXBlTWlzbWF0Y2g7
CisgICAgdmFyIGRpZFBhc3MgPSBhY3R1YWwgPT0gbWlzbWF0Y2hFeHBlY3RlZDsKKyAgICB2YXIg
cmVzdWx0VGV4dCA9ICciJyArIHZhbHVlICsgJyIgaXMgJyArIChkaWRQYXNzID8gJ2EgY29ycmVj
dCAnIDogJ2FuIGluY29ycmVjdCAnKSArIChhY3R1YWwgPyAnaW52YWxpZCcgOiAndmFsaWQnKSAr
ICcgZGF0ZXRpbWUgc3RyaW5nLic7CisgICAgaWYgKGRpZFBhc3MpCisgICAgICAgIHRlc3RQYXNz
ZWQocmVzdWx0VGV4dCk7CisgICAgZWxzZQorICAgICAgICB0ZXN0RmFpbGVkKHJlc3VsdFRleHQp
OworfQorCitmdW5jdGlvbiBzaG91bGRCZVZhbGlkKHZhbHVlKQoreworICAgIGNoZWNrKHZhbHVl
LCBmYWxzZSk7Cit9CisKK2Z1bmN0aW9uIHNob3VsZEJlSW52YWxpZCh2YWx1ZSkKK3sKKyAgICBj
aGVjayh2YWx1ZSwgdHJ1ZSk7Cit9CisKKy8vIFZhbGlkIHZhbHVlcworc2hvdWxkQmVWYWxpZCgn
Jyk7CitzaG91bGRCZVZhbGlkKCcyMDA5LTA5LTA3VDE2OjQ5WicpOworc2hvdWxkQmVWYWxpZCgn
MjAwOS0wOS0wN1QxNjo0OTozMVonKTsKK3Nob3VsZEJlVmFsaWQoJzIwMDktMDktMDdUMTY6NDk6
MzEuMVonKTsKK3Nob3VsZEJlVmFsaWQoJzIwMDktMDktMDdUMTY6NDk6MzEuMTJaJyk7CitzaG91
bGRCZVZhbGlkKCcyMDA5LTA5LTA3VDE2OjQ5OjMxLjEyM1onKTsKK3Nob3VsZEJlVmFsaWQoJzIw
MDktMDktMDdUMTY6NDk6MzEuMTIzNDU2Nzg5MFonKTsKK3Nob3VsZEJlVmFsaWQoJzIxNDc0ODM2
NDctMTItMzFUMjM6NTk6NTkuOTk5WicpOworc2hvdWxkQmVWYWxpZCgnMTU4Mi0xMC0xNVQwMDow
MDowMC4wMDBaJyk7CitzaG91bGRCZVZhbGlkKCcxNTgyLTEwLTE1VDAwOjAwOjAwLjAwMCswMDow
MCcpOworc2hvdWxkQmVWYWxpZCgnMTU4Mi0xMC0xNVQwMTozMCswMTozMCcpOworc2hvdWxkQmVW
YWxpZCgnMTU4Mi0xMC0xNVQwMDowMCswMTowMCcpOworCisvLyBJbnZhbGlkIHZhbHVlcworc2hv
dWxkQmVJbnZhbGlkKCcgMjAwOS0wOS0wN1QxNjo0OVogJyk7CitzaG91bGRCZUludmFsaWQoJzIw
MDktMDktMDdUMTY6NDl6Jyk7CitzaG91bGRCZUludmFsaWQoJzIwMDktMDktMDd0MTY6NDlaJyk7
CitzaG91bGRCZUludmFsaWQoJzIwMDktMDktMDdUMTY6NDknKTsKK3Nob3VsZEJlSW52YWxpZCgn
MjAwOS8wOS8wN1QxNjo0OVonKTsKK3Nob3VsZEJlSW52YWxpZCgnYScpOworc2hvdWxkQmVJbnZh
bGlkKCctMS0wOS0wN1QxNjo0OVonKTsKK3Nob3VsZEJlSW52YWxpZCgnMjAwOS0wOS0wN1QxNjo0
OSsyMycpOworc2hvdWxkQmVJbnZhbGlkKCcyMDA5LTA5LTA3VDE2OjQ5KzIzOicpOworc2hvdWxk
QmVJbnZhbGlkKCcyMDA5LTA5LTA3VDE2OjQ5KzI0OjAwJyk7CitzaG91bGRCZUludmFsaWQoJzIw
MDktMDktMDdUMTY6NDkrMjM6NjAnKTsKK3Nob3VsZEJlSW52YWxpZCgnMjAwOS0wOS0wN1QxNjo0
OS0yMycpOworc2hvdWxkQmVJbnZhbGlkKCcyMDA5LTA5LTA3VDE2OjQ5LTIzOicpOworc2hvdWxk
QmVJbnZhbGlkKCcyMDA5LTA5LTA3VDE2OjQ5LTI0OjAwJyk7CitzaG91bGRCZUludmFsaWQoJzIw
MDktMDktMDdUMTY6NDktMjM6NjAnKTsKK3Nob3VsZEJlSW52YWxpZCgnMTU4Mi0xMC0xNFQyMzo1
OTo1OVonKTsKK3Nob3VsZEJlSW52YWxpZCgnMjE0NzQ4MzY0Ny0xMi0zMVQyMzo1OS0wMDowMScp
Oworc2hvdWxkQmVJbnZhbGlkKCcyMTQ3NDgzNjQ4LTAxLTAxVDAwOjAwOjAwWicpOworCit2YXIg
c3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvc2NyaXB0LXRlc3RzL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLWRhdGV0aW1lbG9j
YWwuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9WYWxpZGl0eVN0YXRl
LXR5cGVNaXNtYXRjaC1kYXRldGltZWxvY2FsLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAuLmM0MDZlMTIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL3NjcmlwdC10ZXN0cy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1kYXRldGltZWxvY2Fs
LmpzCkBAIC0wLDAgKzEsNDggQEAKK2Rlc2NyaXB0aW9uKCdUaGlzIHRlc3QgYWltcyB0byBjaGVj
ayBmb3IgdHlwZU1pc21hdGNoIGZsYWcgd2l0aCB0eXBlPWRhdGV0aW1lLWxvY2FsIGlucHV0IGZp
ZWxkcycpOwordmFyIGkgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpOworaS50eXBl
ID0gJ2RhdGV0aW1lLWxvY2FsJzsKKworZnVuY3Rpb24gY2hlY2sodmFsdWUsIG1pc21hdGNoRXhw
ZWN0ZWQpCit7CisgICAgaS52YWx1ZSA9IHZhbHVlOworICAgIHZhciBhY3R1YWwgPSBpLnZhbGlk
aXR5LnR5cGVNaXNtYXRjaDsKKyAgICB2YXIgZGlkUGFzcyA9IGFjdHVhbCA9PSBtaXNtYXRjaEV4
cGVjdGVkOworICAgIHZhciByZXN1bHRUZXh0ID0gJyInICsgdmFsdWUgKyAnIiBpcyAnICsgKGRp
ZFBhc3MgPyAnYSBjb3JyZWN0ICcgOiAnYW4gaW5jb3JyZWN0ICcpICsgKGFjdHVhbCA/ICdpbnZh
bGlkJyA6ICd2YWxpZCcpICsgJyBkYXRldGltZS1sb2NhbCBzdHJpbmcuJzsKKyAgICBpZiAoZGlk
UGFzcykKKyAgICAgICAgdGVzdFBhc3NlZChyZXN1bHRUZXh0KTsKKyAgICBlbHNlCisgICAgICAg
IHRlc3RGYWlsZWQocmVzdWx0VGV4dCk7Cit9CisKK2Z1bmN0aW9uIHNob3VsZEJlVmFsaWQodmFs
dWUpCit7CisgICAgY2hlY2sodmFsdWUsIGZhbHNlKTsKK30KKworZnVuY3Rpb24gc2hvdWxkQmVJ
bnZhbGlkKHZhbHVlKQoreworICAgIGNoZWNrKHZhbHVlLCB0cnVlKTsKK30KKworLy8gVmFsaWQg
dmFsdWVzCitzaG91bGRCZVZhbGlkKCcnKTsKK3Nob3VsZEJlVmFsaWQoJzIwMDktMDktMDdUMTY6
NDknKTsKK3Nob3VsZEJlVmFsaWQoJzIwMDktMDktMDdUMTY6NDk6MzEnKTsKK3Nob3VsZEJlVmFs
aWQoJzIwMDktMDktMDdUMTY6NDk6MzEuMScpOworc2hvdWxkQmVWYWxpZCgnMjAwOS0wOS0wN1Qx
Njo0OTozMS4xMicpOworc2hvdWxkQmVWYWxpZCgnMjAwOS0wOS0wN1QxNjo0OTozMS4xMjMnKTsK
K3Nob3VsZEJlVmFsaWQoJzIwMDktMDktMDdUMTY6NDk6MzEuMTIzNDU2Nzg5MCcpOworc2hvdWxk
QmVWYWxpZCgnMjE0NzQ4MzY0Ny0xMi0zMVQyMzo1OTo1OS45OTknKTsKK3Nob3VsZEJlVmFsaWQo
JzE1ODItMTAtMTVUMDA6MDA6MDAuMDAwJyk7CisKKy8vIEludmFsaWQgdmFsdWVzCitzaG91bGRC
ZUludmFsaWQoJyAyMDA5LTA5LTA3VDE2OjQ5ICcpOworc2hvdWxkQmVJbnZhbGlkKCcyMDA5LTA5
LTA3dDE2OjQ5Jyk7CitzaG91bGRCZUludmFsaWQoJzIwMDktMDktMDcgMTY6NDknKTsKK3Nob3Vs
ZEJlSW52YWxpZCgnMjAwOS8wOS8wN1QxNjo0OScpOworc2hvdWxkQmVJbnZhbGlkKCdhJyk7Citz
aG91bGRCZUludmFsaWQoJy0xLTA5LTA3VDE2OjQ5Jyk7CitzaG91bGRCZUludmFsaWQoJzE1ODIt
MTAtMTRUMjM6NTk6NTknKTsKK3Nob3VsZEJlSW52YWxpZCgnMjE0NzQ4MzY0OC0wMS0wMVQwMDow
MDowMCcpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21h
dGNoLW1vbnRoLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvVmFsaWRp
dHlTdGF0ZS10eXBlTWlzbWF0Y2gtbW9udGguanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMC4uMTI3NjIwNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvc2NyaXB0LXRlc3RzL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLW1vbnRoLmpzCkBAIC0w
LDAgKzEsNjMgQEAKK2Rlc2NyaXB0aW9uKCdUaGlzIHRlc3QgYWltcyB0byBjaGVjayBmb3IgdHlw
ZU1pc21hdGNoIGZsYWcgd2l0aCB0eXBlPW1vbnRoIGlucHV0IGZpZWxkcycpOwordmFyIGkgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpOworaS50eXBlID0gJ21vbnRoJzsKKworZnVu
Y3Rpb24gY2hlY2sodmFsdWUsIG1pc21hdGNoRXhwZWN0ZWQpCit7CisgICAgaS52YWx1ZSA9IHZh
bHVlOworICAgIHZhciBhY3R1YWwgPSBpLnZhbGlkaXR5LnR5cGVNaXNtYXRjaDsKKyAgICB2YXIg
ZGlkUGFzcyA9IGFjdHVhbCA9PSBtaXNtYXRjaEV4cGVjdGVkOworICAgIHZhciByZXN1bHRUZXh0
ID0gJyInICsgdmFsdWUgKyAnIiBpcyAnICsgKGRpZFBhc3MgPyAnYSBjb3JyZWN0ICcgOiAnYW4g
aW5jb3JyZWN0ICcpICsgKGFjdHVhbCA/ICdpbnZhbGlkJyA6ICd2YWxpZCcpICsgJyBtb250aCBz
dHJpbmcuJzsKKyAgICBpZiAoZGlkUGFzcykKKyAgICAgICAgdGVzdFBhc3NlZChyZXN1bHRUZXh0
KTsKKyAgICBlbHNlCisgICAgICAgIHRlc3RGYWlsZWQocmVzdWx0VGV4dCk7Cit9CisKK2Z1bmN0
aW9uIHNob3VsZEJlVmFsaWQodmFsdWUpCit7CisgICAgY2hlY2sodmFsdWUsIGZhbHNlKTsKK30K
KworZnVuY3Rpb24gc2hvdWxkQmVJbnZhbGlkKHZhbHVlKQoreworICAgIGNoZWNrKHZhbHVlLCB0
cnVlKTsKK30KKworLy8gVmFsaWQgdmFsdWVzCitzaG91bGRCZVZhbGlkKCcnKTsKK3Nob3VsZEJl
VmFsaWQoJzE1ODItMTAnKTsKK3Nob3VsZEJlVmFsaWQoJzk5OTktMTInKTsKK3Nob3VsZEJlVmFs
aWQoJzIxNDc0ODM2NDctMTInKTsKK3Nob3VsZEJlVmFsaWQoJzIwMDktMDEnKTsKK3Nob3VsZEJl
VmFsaWQoJzIwMDktMDInKTsKK3Nob3VsZEJlVmFsaWQoJzIwMDktMDMnKTsKK3Nob3VsZEJlVmFs
aWQoJzIwMDktMDQnKTsKK3Nob3VsZEJlVmFsaWQoJzIwMDktMDUnKTsKK3Nob3VsZEJlVmFsaWQo
JzIwMDktMDYnKTsKK3Nob3VsZEJlVmFsaWQoJzIwMDktMDcnKTsKK3Nob3VsZEJlVmFsaWQoJzIw
MDktMDgnKTsKK3Nob3VsZEJlVmFsaWQoJzIwMDktMDknKTsKK3Nob3VsZEJlVmFsaWQoJzIwMDkt
MTAnKTsKK3Nob3VsZEJlVmFsaWQoJzIwMDktMTEnKTsKK3Nob3VsZEJlVmFsaWQoJzIwMDktMTIn
KTsKKworLy8gSW52YWxpZCB2YWx1ZXMKK3Nob3VsZEJlSW52YWxpZCgnIDIwMDktMDkgJyk7Citz
aG91bGRCZUludmFsaWQoJ2EnKTsKK3Nob3VsZEJlSW52YWxpZCgnLTEtMDknKTsKK3Nob3VsZEJl
SW52YWxpZCgnMTU4MS0xMCcpOworc2hvdWxkQmVJbnZhbGlkKCcxNTgyLTA5Jyk7CitzaG91bGRC
ZUludmFsaWQoJzIxNDc0ODM2NDgtMTInKTsKK3Nob3VsZEJlSW52YWxpZCgnMjAwOS8wOScpOwor
c2hvdWxkQmVJbnZhbGlkKCcyMDA5MDknKTsKK3Nob3VsZEJlSW52YWxpZCgnMjAwOS0tMicpOwor
c2hvdWxkQmVJbnZhbGlkKCcyMDA5LTAwJyk7CitzaG91bGRCZUludmFsaWQoJzIwMDktMTMnKTsK
K3Nob3VsZEJlSW52YWxpZCgnMjAwOS0nKTsKK3Nob3VsZEJlSW52YWxpZCgnMjAwOS05Jyk7Citz
aG91bGRCZUludmFsaWQoJzIwMDktMDA5Jyk7CitzaG91bGRCZUludmFsaWQoJzIwMDkteHgnKTsK
K3Nob3VsZEJlSW52YWxpZCgnMjAwOScpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1
ZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL1ZhbGlk
aXR5U3RhdGUtdHlwZU1pc21hdGNoLXRpbWUuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3Nj
cmlwdC10ZXN0cy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC10aW1lLmpzCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRhYWRlZDQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRj
aC10aW1lLmpzCkBAIC0wLDAgKzEsNjEgQEAKK2Rlc2NyaXB0aW9uKCdUaGlzIHRlc3QgYWltcyB0
byBjaGVjayBmb3IgdHlwZU1pc21hdGNoIGZsYWcgd2l0aCB0eXBlPXRpbWUgaW5wdXQgZmllbGRz
Jyk7Cit2YXIgaSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7CitpLnR5cGUgPSAn
dGltZSc7CisKK2Z1bmN0aW9uIGNoZWNrKHZhbHVlLCBtaXNtYXRjaEV4cGVjdGVkKQoreworICAg
IGkudmFsdWUgPSB2YWx1ZTsKKyAgICB2YXIgYWN0dWFsID0gaS52YWxpZGl0eS50eXBlTWlzbWF0
Y2g7CisgICAgdmFyIGRpZFBhc3MgPSBhY3R1YWwgPT0gbWlzbWF0Y2hFeHBlY3RlZDsKKyAgICB2
YXIgcmVzdWx0VGV4dCA9ICciJyArIHZhbHVlICsgJyIgaXMgJyArIChkaWRQYXNzID8gJ2EgY29y
cmVjdCAnIDogJ2FuIGluY29ycmVjdCAnKSArIChhY3R1YWwgPyAnaW52YWxpZCcgOiAndmFsaWQn
KSArICcgdGltZSBzdHJpbmcuJzsKKyAgICBpZiAoZGlkUGFzcykKKyAgICAgICAgdGVzdFBhc3Nl
ZChyZXN1bHRUZXh0KTsKKyAgICBlbHNlCisgICAgICAgIHRlc3RGYWlsZWQocmVzdWx0VGV4dCk7
Cit9CisKK2Z1bmN0aW9uIHNob3VsZEJlVmFsaWQodmFsdWUpCit7CisgICAgY2hlY2sodmFsdWUs
IGZhbHNlKTsKK30KKworZnVuY3Rpb24gc2hvdWxkQmVJbnZhbGlkKHZhbHVlKQoreworICAgIGNo
ZWNrKHZhbHVlLCB0cnVlKTsKK30KKworLy8gVmFsaWQgdmFsdWVzCitzaG91bGRCZVZhbGlkKCcn
KTsKK3Nob3VsZEJlVmFsaWQoJzAwOjAwJyk7CitzaG91bGRCZVZhbGlkKCcyMzo1OScpOworc2hv
dWxkQmVWYWxpZCgnMjM6NTk6NTknKTsKK3Nob3VsZEJlVmFsaWQoJzIzOjU5OjU5LjEnKTsKK3No
b3VsZEJlVmFsaWQoJzIzOjU5OjU5LjEyJyk7CitzaG91bGRCZVZhbGlkKCcyMzo1OTo1OS4xMjMn
KTsKK3Nob3VsZEJlVmFsaWQoJzIzOjU5OjU5LjEyMzQ1Njc4OTAnKTsKK3Nob3VsZEJlVmFsaWQo
JzAwOjAwOjAwLjAwMDAwMDAwMDAnKTsKKworLy8gSW52YWxpZCB2YWx1ZXMKK3Nob3VsZEJlSW52
YWxpZCgnIDAwOjAwICcpOworc2hvdWxkQmVJbnZhbGlkKCcxOjIzJyk7CitzaG91bGRCZUludmFs
aWQoJzAxMToxMScpOworc2hvdWxkQmVJbnZhbGlkKCdhYjoxMScpOworc2hvdWxkQmVJbnZhbGlk
KCctMToxMScpOworc2hvdWxkQmVJbnZhbGlkKCcyNDoxMScpOworc2hvdWxkQmVJbnZhbGlkKCcx
MScpOworc2hvdWxkQmVJbnZhbGlkKCcxMS0nKTsKK3Nob3VsZEJlSW52YWxpZCgnMTE6LTInKTsK
K3Nob3VsZEJlSW52YWxpZCgnMTE6NjAnKTsKK3Nob3VsZEJlSW52YWxpZCgnMTE6MmInKTsKK3No
b3VsZEJlSW52YWxpZCgnMTE6YWInKTsKK3Nob3VsZEJlSW52YWxpZCgnMTE6MDM0Jyk7CitzaG91
bGRCZUludmFsaWQoJzIzOjQ1OicpOworc2hvdWxkQmVJbnZhbGlkKCcyMzo0NTo2Jyk7CitzaG91
bGRCZUludmFsaWQoJzIzOjQ1Oi0xJyk7CitzaG91bGRCZUludmFsaWQoJzIzOjQ1OjcwJyk7Citz
aG91bGRCZUludmFsaWQoJzIzOjQ1Onp6Jyk7CitzaG91bGRCZUludmFsaWQoJzIzOjQ1OjA2Licp
Oworc2hvdWxkQmVJbnZhbGlkKCcyMzo0NTowNi5hYmMnKTsKK3Nob3VsZEJlSW52YWxpZCgnMjM6
NDU6MDYuNzg5YWJjJyk7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvVmFsaWRpdHlTdGF0ZS10
eXBlTWlzbWF0Y2gtd2Vlay5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3Rz
L1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLXdlZWsuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMC4uNmIxZDlkZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvc2NyaXB0LXRlc3RzL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLXdlZWsuanMK
QEAgLTAsMCArMSw1NyBAQAorZGVzY3JpcHRpb24oJ1RoaXMgdGVzdCBhaW1zIHRvIGNoZWNrIGZv
ciB0eXBlTWlzbWF0Y2ggZmxhZyB3aXRoIHR5cGU9d2VlayBpbnB1dCBmaWVsZHMnKTsKK3ZhciBp
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTsKK2kudHlwZSA9ICd3ZWVrJzsKKwor
ZnVuY3Rpb24gY2hlY2sodmFsdWUsIG1pc21hdGNoRXhwZWN0ZWQpCit7CisgICAgaS52YWx1ZSA9
IHZhbHVlOworICAgIHZhciBhY3R1YWwgPSBpLnZhbGlkaXR5LnR5cGVNaXNtYXRjaDsKKyAgICB2
YXIgZGlkUGFzcyA9IGFjdHVhbCA9PSBtaXNtYXRjaEV4cGVjdGVkOworICAgIHZhciByZXN1bHRU
ZXh0ID0gJyInICsgdmFsdWUgKyAnIiBpcyAnICsgKGRpZFBhc3MgPyAnYSBjb3JyZWN0ICcgOiAn
YW4gaW5jb3JyZWN0ICcpICsgKGFjdHVhbCA/ICdpbnZhbGlkJyA6ICd2YWxpZCcpICsgJyB3ZWVr
IHN0cmluZy4nOworICAgIGlmIChkaWRQYXNzKQorICAgICAgICB0ZXN0UGFzc2VkKHJlc3VsdFRl
eHQpOworICAgIGVsc2UKKyAgICAgICAgdGVzdEZhaWxlZChyZXN1bHRUZXh0KTsKK30KKworZnVu
Y3Rpb24gc2hvdWxkQmVWYWxpZCh2YWx1ZSkKK3sKKyAgICBjaGVjayh2YWx1ZSwgZmFsc2UpOwor
fQorCitmdW5jdGlvbiBzaG91bGRCZUludmFsaWQodmFsdWUpCit7CisgICAgY2hlY2sodmFsdWUs
IHRydWUpOworfQorCisvLyBWYWxpZCB2YWx1ZXMKK3Nob3VsZEJlVmFsaWQoJycpOworc2hvdWxk
QmVWYWxpZCgnMTU4My1XMDEnKTsKK3Nob3VsZEJlVmFsaWQoJzk5OTktVzUyJyk7CitzaG91bGRC
ZVZhbGlkKCcyMTQ3NDgzNjQ3LVc1MicpOworc2hvdWxkQmVWYWxpZCgnMjAwOS1XMDEnKTsKK3No
b3VsZEJlVmFsaWQoJzIwMDQtVzUzJyk7ICAvLyAyMDA0IHN0YXJ0ZWQgb24gVGh1cnNkYXkuCitz
aG91bGRCZVZhbGlkKCcyMDAzLVc1MicpOyAgLy8gMjAwMyBzdGFydGVkIG9uIFdlZG5lc2RheSwg
YnV0IHdhc24ndCBhIGxlYXAgeWVhci4KK3Nob3VsZEJlVmFsaWQoJzE5OTItVzUzJyk7ICAvLyAx
OTkyIHN0YXJ0ZWQgb24gV2VkbmVzZGF5LCBhbmQgd2FzIGEgbGVhcCB5ZWFyLgorCisvLyBJbnZh
bGlkIHZhbHVlcworc2hvdWxkQmVJbnZhbGlkKCcgMjAwOS1XMDEgJyk7CitzaG91bGRCZUludmFs
aWQoJzIwMDlXMDEnKTsKK3Nob3VsZEJlSW52YWxpZCgnMjAwOS13MDEnKTsKK3Nob3VsZEJlSW52
YWxpZCgnMjAwOS1XMScpOworc2hvdWxkQmVJbnZhbGlkKCcyMDA5LVcwMDEnKTsKK3Nob3VsZEJl
SW52YWxpZCgnYScpOworc2hvdWxkQmVJbnZhbGlkKCctMS1XMDknKTsKK3Nob3VsZEJlSW52YWxp
ZCgnMTU4Mi1XNTInKTsKK3Nob3VsZEJlSW52YWxpZCgnMjE0NzQ4MzY0OC1XMDEnKTsKK3Nob3Vs
ZEJlSW52YWxpZCgnMjAwOS1XMDAnKTsKK3Nob3VsZEJlSW52YWxpZCgnMjAwOS1XLTEnKTsKK3No
b3VsZEJlSW52YWxpZCgnMjAwNC1XNTQnKTsgIC8vIDIwMDQgc3RhcnRlZCBvbiBUaHVyc2RheS4K
K3Nob3VsZEJlSW52YWxpZCgnMjAwMy1XNTMnKTsgIC8vIDIwMDMgc3RhcnRlZCBvbiBXZWRuZXNk
YXksIGJ1dCB3YXNuJ3QgYSBsZWFwIHllYXIuCitzaG91bGRCZUludmFsaWQoJzE5OTItVzU0Jyk7
ICAvLyAxOTkyIHN0YXJ0ZWQgb24gV2VkbmVzZGF5LCBhbmQgd2FzIGEgbGVhcCB5ZWFyLgorc2hv
dWxkQmVJbnZhbGlkKCcyMDA5LzA5Jyk7CitzaG91bGRCZUludmFsaWQoJzIwMDkwOScpOworc2hv
dWxkQmVJbnZhbGlkKCcyMDA5LVd4eCcpOworc2hvdWxkQmVJbnZhbGlkKCcyMDA5Jyk7CisKK3Zh
ciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VM
b2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAzZTllNjU1Li5kYWQxZDJkIDEwMDY0NAotLS0g
YS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1
IEBACisyMDA5LTA5LTI4ICBLZW50IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgc3VwcG9ydCBm
b3IgVmFsaWRpdHlTdGF0ZS50eXBlTWlzbWF0Y2ggZm9yIHRoZSBmb2xsb3dpbmcgSU5QVVQgdHlw
ZXM6CisgICAgICAgICAgZGF0ZSBkYXRldGltZSBkYXRldGltZS1sb2NhbCBtb250aCB0aW1lIHdl
ZWsKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI5MDA0
CisKKyAgICAgICAgVGVzdHM6IGZhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gt
ZGF0ZS5odG1sCisgICAgICAgICAgICAgICBmYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1p
c21hdGNoLWRhdGV0aW1lLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvZm9ybXMvVmFsaWRpdHlT
dGF0ZS10eXBlTWlzbWF0Y2gtZGF0ZXRpbWVsb2NhbC5odG1sCisgICAgICAgICAgICAgICBmYXN0
L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLW1vbnRoLmh0bWwKKyAgICAgICAgICAg
ICAgIGZhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtdGltZS5odG1sCisgICAg
ICAgICAgICAgICBmYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLXdlZWsuaHRt
bAorCisgICAgICAgICogRm9yd2FyZGluZ0hlYWRlcnMvd3RmL0lTT0RhdGVQYXJzZXIuaDogQWRk
ZWQuCisgICAgICAgICogaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkhUTUxJbnB1dEVsZW1lbnQ6OmZvcm1TdHJpbmdUb0RhdGVUaW1lKToKKyAgICAgICAgKiBo
dG1sL0hUTUxJbnB1dEVsZW1lbnQuaDoKKyAgICAgICAgKiBodG1sL1ZhbGlkaXR5U3RhdGUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6VmFsaWRpdHlTdGF0ZTo6dHlwZU1pc21hdGNoKToKKwogMjAw
OS0wOS0wMSAgS2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvSFRNTElu
cHV0RWxlbWVudC5jcHAgYi9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAKaW5kZXgg
ZDdjMDc3MC4uNmU2NDhhOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1l
bnQuY3BwCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcApAQCAtNDUsNiAr
NDUsNyBAQAogI2luY2x1ZGUgIkhUTUxJbWFnZUxvYWRlci5oIgogI2luY2x1ZGUgIkhUTUxOYW1l
cy5oIgogI2luY2x1ZGUgIkhUTUxPcHRpb25FbGVtZW50LmgiCisjaW5jbHVkZSAiSVNPRGF0ZVRp
bWUuaCIKICNpbmNsdWRlICJTY3JpcHRFdmVudExpc3RlbmVyLmgiCiAjaW5jbHVkZSAiS2V5Ym9h
cmRFdmVudC5oIgogI2luY2x1ZGUgIkxvY2FsaXplZFN0cmluZ3MuaCIKQEAgLTE5MTgsNiArMTkx
OSwzNCBAQCBib29sIEhUTUxJbnB1dEVsZW1lbnQ6OmZvcm1TdHJpbmdUb0RvdWJsZShjb25zdCBT
dHJpbmcmIHNyYywgZG91YmxlKiBvdXQpCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK2Jvb2wgSFRN
TElucHV0RWxlbWVudDo6ZGF0ZVRpbWVGcm9tRm9ybVN0cmluZyhJbnB1dFR5cGUgdHlwZSwgY29u
c3QgU3RyaW5nJiBzcmMsIElTT0RhdGVUaW1lKiBvdXQpCit7CisgICAgSVNPRGF0ZVRpbWUgcmVz
dWx0OworICAgIGlmICghb3V0KQorICAgICAgICBvdXQgPSAmcmVzdWx0OworICAgIGNvbnN0IFVD
aGFyKiB1Y2hhcnMgPSBzcmMuY2hhcmFjdGVycygpOworICAgIHVuc2lnbmVkIGxlbmd0aCA9IHNy
Yy5sZW5ndGgoKTsKKyAgICB1bnNpZ25lZCBlbmQ7CisKKyAgICBzd2l0Y2ggKHR5cGUpIHsKKyAg
ICBjYXNlIERBVEU6CisgICAgICAgIHJldHVybiBvdXQtPnBhcnNlRGF0ZSh1Y2hhcnMsIGxlbmd0
aCwgMCwgJmVuZCkgJiYgZW5kID09IGxlbmd0aDsKKyAgICBjYXNlIERBVEVUSU1FOgorICAgICAg
ICByZXR1cm4gb3V0LT5wYXJzZURhdGVUaW1lKHVjaGFycywgbGVuZ3RoLCAwLCAmZW5kKSAmJiBl
bmQgPT0gbGVuZ3RoOworICAgIGNhc2UgREFURVRJTUVMT0NBTDoKKyAgICAgICAgcmV0dXJuIG91
dC0+cGFyc2VEYXRlVGltZUxvY2FsKHVjaGFycywgbGVuZ3RoLCAwLCAmZW5kKSAmJiBlbmQgPT0g
bGVuZ3RoOworICAgIGNhc2UgTU9OVEg6CisgICAgICAgIHJldHVybiBvdXQtPnBhcnNlTW9udGgo
dWNoYXJzLCBsZW5ndGgsIDAsICZlbmQpICYmIGVuZCA9PSBsZW5ndGg7CisgICAgY2FzZSBXRUVL
OgorICAgICAgICByZXR1cm4gb3V0LT5wYXJzZVdlZWsodWNoYXJzLCBsZW5ndGgsIDAsICZlbmQp
ICYmIGVuZCA9PSBsZW5ndGg7CisgICAgY2FzZSBUSU1FOgorICAgICAgICByZXR1cm4gb3V0LT5w
YXJzZVRpbWUodWNoYXJzLCBsZW5ndGgsIDAsICZlbmQpICYmIGVuZCA9PSBsZW5ndGg7CisgICAg
ZGVmYXVsdDoKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgfQorICAgIHJldHVy
biBmYWxzZTsKK30KKwogI2lmIEVOQUJMRShEQVRBTElTVCkKIEhUTUxFbGVtZW50KiBIVE1MSW5w
dXRFbGVtZW50OjpsaXN0KCkgY29uc3QKIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9IVE1M
SW5wdXRFbGVtZW50LmggYi9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oCmluZGV4IDM4
YWQ2NGEuLjA4ZGZlMzIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50
LmgKKysrIGIvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaApAQCAtMzQsNiArMzQsNyBA
QCBjbGFzcyBGaWxlTGlzdDsKIGNsYXNzIEhUTUxEYXRhTGlzdEVsZW1lbnQ7CiBjbGFzcyBIVE1M
SW1hZ2VMb2FkZXI7CiBjbGFzcyBIVE1MT3B0aW9uRWxlbWVudDsKK2NsYXNzIElTT0RhdGVUaW1l
OwogY2xhc3MgS1VSTDsKIGNsYXNzIFZpc2libGVTZWxlY3Rpb247CiAKQEAgLTI0MCw2ICsyNDEs
MTAgQEAgcHVibGljOgogICAgIC8vIElmIHRoZSBjb252ZXJzaW9uIGZhaWxzLCB0aGUgcmV0dXJu
IHZhbHVlIGlzIGZhbHNlLiBUYWtlIGNhcmUgdGhhdCBsZWFkaW5nIG9yIHRyYWlsaW5nIHVubmVj
ZXNzYXJ5IGNoYXJhY3RlcnMgbWFrZSBmYWlsdXJlcy4gIFRoaXMgcmV0dXJucyBmYWxzZSBmb3Ig
YW4gZW1wdHkgc3RyaW5nIGlucHV0LgogICAgIC8vIFRoZSBkb3VibGUqIHBhcmFtZXRlciBtYXkg
YmUgMC4KICAgICBzdGF0aWMgYm9vbCBmb3JtU3RyaW5nVG9Eb3VibGUoY29uc3QgU3RyaW5nJiwg
ZG91YmxlKik7CisgICAgLy8gUGFyc2VzIHRoZSBzcGVjaWZpZWQgc3RyaW5nIGFzIHRoZSBJbnB1
dFR5cGUsIGFuZCByZXR1cm5zIHRydWUgaWYgaXQgaXMgc3VjY2Vzc2Z1bGx5IHBhcnNlZC4KKyAg
ICAvLyBBbiBpbnN0YW5jZSBwb2ludGVkIGJ5IHRoZSBJU09EYXRlVGltZSogcGFyYW1ldGVyIHdp
bGwgaGF2ZSBwYXJzZWQgdmFsdWVzIGFuZCBiZQorICAgIC8vIG1vZGlmaWVkIGV2ZW4gaWYgdGhl
IHBhcnNpbmcgZmFpbHMuICBUaGUgSVNPRGF0ZVRpbWUqIHBhcmFtZXRlciBtYXkgYmUgMC4KKyAg
ICBzdGF0aWMgYm9vbCBkYXRlVGltZUZyb21Gb3JtU3RyaW5nKElucHV0VHlwZSwgY29uc3QgU3Ry
aW5nJiwgSVNPRGF0ZVRpbWUqKTsKICAgICAKIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIHZvaWQg
d2lsbE1vdmVUb05ld093bmVyRG9jdW1lbnQoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9W
YWxpZGl0eVN0YXRlLmNwcCBiL1dlYkNvcmUvaHRtbC9WYWxpZGl0eVN0YXRlLmNwcAppbmRleCA2
YjBhMGI0Li41YzllMzU5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvVmFsaWRpdHlTdGF0ZS5j
cHAKKysrIGIvV2ViQ29yZS9odG1sL1ZhbGlkaXR5U3RhdGUuY3BwCkBAIC03NCw2ICs3NCwxMyBA
QCBib29sIFZhbGlkaXR5U3RhdGU6OnR5cGVNaXNtYXRjaCgpCiAKICAgICAgICAgcmV0dXJuIGZh
bHNlOwogICAgIH0KKyAgICBjYXNlIEhUTUxJbnB1dEVsZW1lbnQ6OkRBVEU6CisgICAgY2FzZSBI
VE1MSW5wdXRFbGVtZW50OjpEQVRFVElNRToKKyAgICBjYXNlIEhUTUxJbnB1dEVsZW1lbnQ6OkRB
VEVUSU1FTE9DQUw6CisgICAgY2FzZSBIVE1MSW5wdXRFbGVtZW50OjpNT05USDoKKyAgICBjYXNl
IEhUTUxJbnB1dEVsZW1lbnQ6OlRJTUU6CisgICAgY2FzZSBIVE1MSW5wdXRFbGVtZW50OjpXRUVL
OgorICAgICAgICByZXR1cm4gIUhUTUxJbnB1dEVsZW1lbnQ6OmRhdGVUaW1lRnJvbUZvcm1TdHJp
bmcoaW5wdXQtPmlucHV0VHlwZSgpLCB2YWx1ZSwgMCk7CiAgICAgZGVmYXVsdDoKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogICAgIH0KLS0gCjEuNi4zLjMKCg==
</data>
<flag name="commit-queue"
          id="24308"
          type_id="3"
          status="-"
          setter="tkent"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>42918</attachid>
            <date>2009-11-10 19:54:43 -0800</date>
            <delta_ts>2009-11-11 02:10:59 -0800</delta_ts>
            <desc>Patch part 1: recognize date&amp;time types as text fields (rev.6)</desc>
            <filename>0001-add-datetime-types-6.patch</filename>
            <type>text/plain</type>
            <size>27702</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">RnJvbSBiMzFkNzIzZGI5YWZiY2FlMDJkYzg0MTk5Y2NjZWEyMDcyZjNmOGJmIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBLZW50IFRhbXVyYSA8dGtlbnRAY2hyb21pdW0ub3JnPgpEYXRl
OiBUdWUsIDIwIE9jdCAyMDA5IDEzOjA4OjQ4ICswOTAwClN1YmplY3Q6IFtQQVRDSF0gYWRkLWRh
dGV0aW1lLXR5cGVzLTYKCi0tLQogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgfCAgIDExICsKIC4uLi9mYXN0L2Zvcm1zL2lucHV0LXR5cGUtY2hhbmdl
My1leHBlY3RlZC50eHQgICAgIHwgICA0NCArKysKIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW5w
dXQtdHlwZS1jaGFuZ2UzLmh0bWwgICAgIHwgICAxMyArCiAuLi4vZmFzdC9mb3Jtcy9zY3JpcHQt
dGVzdHMvaW5wdXQtdHlwZS1jaGFuZ2UzLmpzICB8ICAgNTYgKysrKwogV2ViQ29yZS9DaGFuZ2VM
b2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDM0ICsrCiBXZWJDb3JlL2h0
bWwvSFRNTElucHV0RWxlbWVudC5jcHAgICAgICAgICAgICAgICAgICB8ICAzMzMgKysrKysrKysr
KysrLS0tLS0tLS0KIFdlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmggICAgICAgICAgICAg
ICAgICAgIHwgICAxMCArLQogNyBmaWxlcyBjaGFuZ2VkLCAzNjUgaW5zZXJ0aW9ucygrKSwgMTM2
IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2Zhc3QvZm9ybXMv
aW5wdXQtdHlwZS1jaGFuZ2UzLWV4cGVjdGVkLnR4dAogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91
dFRlc3RzL2Zhc3QvZm9ybXMvaW5wdXQtdHlwZS1jaGFuZ2UzLmh0bWwKIGNyZWF0ZSBtb2RlIDEw
MDY0NCBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9pbnB1dC10eXBlLWNoYW5n
ZTMuanMKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKaW5kZXggNDhjNGI3Mi4uNTRiM2I5YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisy
MDA5LTA5LTAxICBLZW50IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgdGVzdHMgZm9yIHJlYWRp
bmcvd3JpdGluZyAudHlwZSBwcm9wZXJ0eSBvZiBIVE1MSW5wdXRFbGVtZW50LgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjkwMDQKKworICAgICAgICAq
IGZhc3QvZm9ybXMvaW5wdXQtdHlwZS1jaGFuZ2UzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZmFzdC9mb3Jtcy9pbnB1dC10eXBlLWNoYW5nZTMuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvaW5wdXQtdHlwZS1jaGFuZ2UzLmpzOiBBZGRlZC4K
KwogMjAwOS0xMS0xMCAgVml0YWx5IFJlcGVzaGtvICA8dml0YWx5ckBjaHJvbWl1bS5vcmc+CiAK
ICAgICAgICAgUmV2aWV3ZWQgYnkgRGltaXRyaSBHbGF6a292LgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9pbnB1dC10eXBlLWNoYW5nZTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9pbnB1dC10eXBlLWNoYW5nZTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIzYjU3NTUKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lucHV0LXR5cGUtY2hhbmdlMy1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSw0NCBAQAorVGVzdHMgZm9yIHdyaXRpbmcgYW5kIHJlYWRpbmcgLnR5cGUgcHJvcGVy
dHkgb2YgSFRNTElucHV0RWxlbWVudC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisK
K1BBU1MgaW5wdXQudHlwZSBpcyAidGV4dCIKK1BBU1MgaW5wdXQudHlwZSBmb3IgImZpbGUiIGlz
IGNvcnJlY3RseSAiZmlsZSIuCitQQVNTIGlucHV0LnR5cGUgZm9yICJ0ZXh0IiBpcyBjb3JyZWN0
bHkgInRleHQiLgorUEFTUyBpbnB1dC50eXBlIGZvciAiVEVYVCIgaXMgY29ycmVjdGx5ICJ0ZXh0
Ii4KK1BBU1MgaW5wdXQudHlwZSBmb3IgIiB0ZXh0ICIgaXMgY29ycmVjdGx5ICJ0ZXh0Ii4KK1BB
U1MgaW5wdXQudHlwZSBmb3IgImJ1dHRvbiIgaXMgY29ycmVjdGx5ICJidXR0b24iLgorUEFTUyBp
bnB1dC50eXBlIGZvciAiIGJ1dHRvbiAiIGlzIGNvcnJlY3RseSAidGV4dCIuCitQQVNTIGlucHV0
LnR5cGUgZm9yICJjaGVja2JveCIgaXMgY29ycmVjdGx5ICJjaGVja2JveCIuCitQQVNTIGlucHV0
LnR5cGUgZm9yICJjb2xvciIgaXMgY29ycmVjdGx5ICJjb2xvciIuCitQQVNTIGlucHV0LnR5cGUg
Zm9yICJkYXRlIiBpcyBjb3JyZWN0bHkgImRhdGUiLgorUEFTUyBpbnB1dC50eXBlIGZvciAiZGF0
ZXRpbWUiIGlzIGNvcnJlY3RseSAiZGF0ZXRpbWUiLgorUEFTUyBpbnB1dC50eXBlIGZvciAiZGF0
ZXRpbWUtbG9jYWwiIGlzIGNvcnJlY3RseSAiZGF0ZXRpbWUtbG9jYWwiLgorUEFTUyBpbnB1dC50
eXBlIGZvciAiZGF0ZXRpbWVsb2NhbCIgaXMgY29ycmVjdGx5ICJ0ZXh0Ii4KK1BBU1MgaW5wdXQu
dHlwZSBmb3IgImRhdGV0aW1lX2xvY2FsIiBpcyBjb3JyZWN0bHkgInRleHQiLgorUEFTUyBpbnB1
dC50eXBlIGZvciAiZW1haWwiIGlzIGNvcnJlY3RseSAiZW1haWwiLgorUEFTUyBpbnB1dC50eXBl
IGZvciAiZmlsZSIgaXMgY29ycmVjdGx5ICJlbWFpbCIuCitQQVNTIGlucHV0LnR5cGUgZm9yICJo
aWRkZW4iIGlzIGNvcnJlY3RseSAiaGlkZGVuIi4KK1BBU1MgaW5wdXQudHlwZSBmb3IgImltYWdl
IiBpcyBjb3JyZWN0bHkgImltYWdlIi4KK1BBU1MgaW5wdXQudHlwZSBmb3IgImlzaW5kZXgiIGlz
IGNvcnJlY3RseSAidGV4dCIuCitQQVNTIGlucHV0LnR5cGUgZm9yICJraHRtbF9pc2luZGV4IiBp
cyBjb3JyZWN0bHkgIiIuCitQQVNTIGlucHV0LnR5cGUgZm9yICJtb250aCIgaXMgY29ycmVjdGx5
ICJtb250aCIuCitQQVNTIGlucHV0LnR5cGUgZm9yICJudW1iZXIiIGlzIGNvcnJlY3RseSAibnVt
YmVyIi4KK1BBU1MgaW5wdXQudHlwZSBmb3IgInBhc3N3b3JkIiBpcyBjb3JyZWN0bHkgInBhc3N3
b3JkIi4KK1BBU1MgaW5wdXQudHlwZSBmb3IgInBhc3N3ZCIgaXMgY29ycmVjdGx5ICJ0ZXh0Ii4K
K1BBU1MgaW5wdXQudHlwZSBmb3IgInJhZGlvIiBpcyBjb3JyZWN0bHkgInJhZGlvIi4KK1BBU1Mg
aW5wdXQudHlwZSBmb3IgInJhbmdlIiBpcyBjb3JyZWN0bHkgInJhbmdlIi4KK1BBU1MgaW5wdXQu
dHlwZSBmb3IgInJlc2V0IiBpcyBjb3JyZWN0bHkgInJlc2V0Ii4KK1BBU1MgaW5wdXQudHlwZSBm
b3IgInNlYXJjaCIgaXMgY29ycmVjdGx5ICJzZWFyY2giLgorUEFTUyBpbnB1dC50eXBlIGZvciAi
c3VibWl0IiBpcyBjb3JyZWN0bHkgInN1Ym1pdCIuCitQQVNTIGlucHV0LnR5cGUgZm9yICJ0ZWwi
IGlzIGNvcnJlY3RseSAidGVsIi4KK1BBU1MgaW5wdXQudHlwZSBmb3IgInRlbGVwaG9uZSIgaXMg
Y29ycmVjdGx5ICJ0ZXh0Ii4KK1BBU1MgaW5wdXQudHlwZSBmb3IgInRpbWUiIGlzIGNvcnJlY3Rs
eSAidGltZSIuCitQQVNTIGlucHV0LnR5cGUgZm9yICJ1cmwiIGlzIGNvcnJlY3RseSAidXJsIi4K
K1BBU1MgaW5wdXQudHlwZSBmb3IgInVyaSIgaXMgY29ycmVjdGx5ICJ0ZXh0Ii4KK1BBU1MgaW5w
dXQudHlwZSBmb3IgIndlZWsiIGlzIGNvcnJlY3RseSAid2VlayIuCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9pbnB1dC10eXBlLWNoYW5nZTMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvaW5wdXQtdHlwZS1jaGFuZ2UzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMC4uZjE5ODIwZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvaW5wdXQtdHlwZS1jaGFuZ2UzLmh0bWwKQEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5r
IHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1z
dHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48
L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMv
aW5wdXQtdHlwZS1jaGFuZ2UzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvaW5wdXQt
dHlwZS1jaGFuZ2UzLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvaW5w
dXQtdHlwZS1jaGFuZ2UzLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZj
Y2U3ZmEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10
ZXN0cy9pbnB1dC10eXBlLWNoYW5nZTMuanMKQEAgLTAsMCArMSw1NiBAQAorZGVzY3JpcHRpb24o
J1Rlc3RzIGZvciB3cml0aW5nIGFuZCByZWFkaW5nIC50eXBlIHByb3BlcnR5IG9mIEhUTUxJbnB1
dEVsZW1lbnQuJyk7CisKK3ZhciBpbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0
Jyk7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGlucHV0KTsKKworLy8gVGhlIGRlZmF1bHQg
dHlwZSBpcyAidGV4dCIuCitzaG91bGRCZSgnaW5wdXQudHlwZScsICcidGV4dCInKTsKKworZnVu
Y3Rpb24gY2hlY2sodmFsdWUsIGV4cGVjdGVkKQoreworICAgIGlucHV0LnR5cGUgPSB2YWx1ZTsK
KyAgICBpZiAoaW5wdXQudHlwZSA9PSBleHBlY3RlZCkKKyAgICAgICAgdGVzdFBhc3NlZCgnaW5w
dXQudHlwZSBmb3IgIicgKyB2YWx1ZSArICciIGlzIGNvcnJlY3RseSAiJyArIGlucHV0LnR5cGUg
KyAnIi4nKTsKKyAgICBlbHNlCisgICAgICAgIHRlc3RGYWlsZWQoJ2lucHV0LnR5cGUgZm9yICIn
ICsgdmFsdWUgKyAnIiBpcyBpbmNvcnJlY3RseSAiJyArIGlucHV0LnR5cGUgKyAnIiwgc2hvdWxk
IGJlICInICsgZXhwZWN0ZWQgKyAnIi4nKTsKK30KKworLy8gVGhlIHR5cGUgaXMgbm90IHNwZWNp
ZmllZCBleHBsaWNpdGx5LiAgV2UgY2FuIGNoYW5nZSBpdCB0byAiZmlsZSIuCitjaGVjaygiZmls
ZSIsICJmaWxlIik7CisKK2NoZWNrKCJ0ZXh0IiwgInRleHQiKTsKK2NoZWNrKCJURVhUIiwgInRl
eHQiKTsgIC8vIGlucHV0LnR5cGUgbXVzdCByZXR1cm4gYSBsb3dlciBjYXNlIHZhbHVlIGFjY29y
ZGluZyB0byBET00gTGV2ZWwgMi4KK2NoZWNrKCIgdGV4dCAiLCAidGV4dCIpOworY2hlY2soImJ1
dHRvbiIsICJidXR0b24iKTsKK2NoZWNrKCIgYnV0dG9uICIsICJ0ZXh0Iik7CitjaGVjaygiY2hl
Y2tib3giLCAiY2hlY2tib3giKTsKK2NoZWNrKCJjb2xvciIsICJjb2xvciIpOworY2hlY2soImRh
dGUiLCAiZGF0ZSIpOworY2hlY2soImRhdGV0aW1lIiwgImRhdGV0aW1lIik7CitjaGVjaygiZGF0
ZXRpbWUtbG9jYWwiLCAiZGF0ZXRpbWUtbG9jYWwiKTsKK2NoZWNrKCJkYXRldGltZWxvY2FsIiwg
InRleHQiKTsKK2NoZWNrKCJkYXRldGltZV9sb2NhbCIsICJ0ZXh0Iik7CitjaGVjaygiZW1haWwi
LCAiZW1haWwiKTsKK2NoZWNrKCJmaWxlIiwgImVtYWlsIik7IC8vIFdlIGNhbid0IGNoYW5nZSBh
IGNvbmNyZXRlIHR5cGUgdG8gZmlsZSBmb3IgYSBzZWN1cml0eSByZWFzb24uCitjaGVjaygiaGlk
ZGVuIiwgImhpZGRlbiIpOworY2hlY2soImltYWdlIiwgImltYWdlIik7CitjaGVjaygiaXNpbmRl
eCIsICJ0ZXh0Iik7CitjaGVjaygia2h0bWxfaXNpbmRleCIsICIiKTsKK2NoZWNrKCJtb250aCIs
ICJtb250aCIpOworY2hlY2soIm51bWJlciIsICJudW1iZXIiKTsKK2NoZWNrKCJwYXNzd29yZCIs
ICJwYXNzd29yZCIpOworY2hlY2soInBhc3N3ZCIsICJ0ZXh0Iik7CitjaGVjaygicmFkaW8iLCAi
cmFkaW8iKTsKK2NoZWNrKCJyYW5nZSIsICJyYW5nZSIpOworY2hlY2soInJlc2V0IiwgInJlc2V0
Iik7CitjaGVjaygic2VhcmNoIiwgInNlYXJjaCIpOworY2hlY2soInN1Ym1pdCIsICJzdWJtaXQi
KTsKK2NoZWNrKCJ0ZWwiLCAidGVsIik7CitjaGVjaygidGVsZXBob25lIiwgInRleHQiKTsKK2No
ZWNrKCJ0aW1lIiwgInRpbWUiKTsKK2NoZWNrKCJ1cmwiLCAidXJsIik7CitjaGVjaygidXJpIiwg
InRleHQiKTsKK2NoZWNrKCJ3ZWVrIiwgIndlZWsiKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNl
ZCA9IHRydWU7CisKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFu
Z2VMb2cKaW5kZXggODI0NjZiZS4uNmNlZTlhNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VM
b2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNyBAQAorMjAwOS0wOS0wMSAg
S2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgLSBSZWNvZ25pemVzIGRhdGUvZGF0ZXRpbWUvZGF0
ZXRpbWUtbG9jYWwvbW9udGgvdGltZS93ZWVrIHR5cGVzIG9mIElOUFVUIGVsZW1lbnQuCisgICAg
ICAgICAgVGhleSBoYXZlIG5vIGRlZGljYXRlZCBVSSBhbmQgbm8gdHlwZSB2YWxpZGF0aW9uIGZv
ciBub3cuCisgICAgICAgIC0gQ2xlYW4gdXAgc2V0SW5wdXRUeXBlKCkgYW5kIGZvcm1Db250cm9s
VHlwZSgpIG9mIEhUTUxJbnB1dEVsZW1lbnQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yOTAwNAorCisgICAgICAgIFRlc3Q6IGZhc3QvZm9ybXMvaW5w
dXQtdHlwZS1jaGFuZ2UzLmh0bWwKKworICAgICAgICAqIGh0bWwvSFRNTElucHV0RWxlbWVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50Ojp2YWx1ZU1pc3NpbmcpOgor
ICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6cGF0dGVybk1pc21hdGNoKToKKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQ6OnRvb0xvbmcpOgorICAgICAgICAoV2Vi
Q29yZTo6Y3JlYXRlVHlwZU1hcCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50
OjpzZXRJbnB1dFR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlRm9ybUNvbnRyb2xUeXBl
cyk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50Ojpmb3JtQ29udHJvbFR5cGUp
OgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6c2F2ZUZvcm1Db250cm9sU3Rh
dGUpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6cmVzdG9yZUZvcm1Db250
cm9sU3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6YWNjZXNzS2V5
QWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQ6OnJlbmRlcmVySXNO
ZWVkZWQpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6Y3JlYXRlUmVuZGVy
ZXIpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6YXBwZW5kRm9ybURhdGEp
OgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6aXNUZXh0RmllbGQpOgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6dmFsdWVXaXRoRGVmYXVsdCk6CisgICAg
ICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50OjpzdG9yZXNWYWx1ZVNlcGFyYXRlRnJvbUF0
dHJpYnV0ZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50OjpkZWZhdWx0RXZl
bnRIYW5kbGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQ6OmlzUmVxdWly
ZWRGb3JtQ29udHJvbCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50OjpkYXRh
TGlzdCk6CisgICAgICAgICogaHRtbC9IVE1MSW5wdXRFbGVtZW50Lmg6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MSW5wdXRFbGVtZW50OjopOgorCiAyMDA5LTExLTEwICBWaXRhbHkgUmVwZXNoa28g
IDx2aXRhbHlyQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEaW1pdHJpIEds
YXprb3YuCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAgYi9X
ZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAKaW5kZXggZjI1YzkwOC4uMzQ0NGJlOSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCisrKyBiL1dlYkNv
cmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcApAQCAtNTksNyArNTksOSBAQAogI2luY2x1ZGUg
IlJlbmRlclRleHQuaCIKICNpbmNsdWRlICJSZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuaCIK
ICNpbmNsdWRlICJSZW5kZXJUaGVtZS5oIgorI2luY2x1ZGUgIlN0cmluZ0hhc2guaCIKICNpbmNs
dWRlICJUZXh0RXZlbnQuaCIKKyNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0
Zi9NYXRoRXh0cmFzLmg+CiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogCkBAIC0xMzQs
NiArMTM2LDEyIEBAIGJvb2wgSFRNTElucHV0RWxlbWVudDo6dmFsdWVNaXNzaW5nKCkgY29uc3QK
ICAgICAgICAgY2FzZSBQQVNTV09SRDoKICAgICAgICAgY2FzZSBOVU1CRVI6CiAgICAgICAgIGNh
c2UgRklMRToKKyAgICAgICAgY2FzZSBEQVRFVElNRToKKyAgICAgICAgY2FzZSBEQVRFOgorICAg
ICAgICBjYXNlIE1PTlRIOgorICAgICAgICBjYXNlIFdFRUs6CisgICAgICAgIGNhc2UgVElNRToK
KyAgICAgICAgY2FzZSBEQVRFVElNRUxPQ0FMOgogICAgICAgICAgICAgcmV0dXJuIHZhbHVlKCku
aXNFbXB0eSgpOwogICAgICAgICBjYXNlIENIRUNLQk9YOgogICAgICAgICAgICAgcmV0dXJuICFj
aGVja2VkKCk7CkBAIC0xNzAsNiArMTc4LDEyIEBAIGJvb2wgSFRNTElucHV0RWxlbWVudDo6cGF0
dGVybk1pc21hdGNoKCkgY29uc3QKICAgICAgICAgY2FzZSBSQU5HRToKICAgICAgICAgY2FzZSBO
VU1CRVI6CiAgICAgICAgIGNhc2UgQ09MT1I6CisgICAgICAgIGNhc2UgREFURVRJTUU6CisgICAg
ICAgIGNhc2UgREFURToKKyAgICAgICAgY2FzZSBNT05USDoKKyAgICAgICAgY2FzZSBXRUVLOgor
ICAgICAgICBjYXNlIFRJTUU6CisgICAgICAgIGNhc2UgREFURVRJTUVMT0NBTDoKICAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgY2FzZSBURVhUOgogICAgICAgICBjYXNlIFNFQVJD
SDoKQEAgLTIxNywxNSArMjMxLDIxIEBAIGJvb2wgSFRNTElucHV0RWxlbWVudDo6dG9vTG9uZygp
IGNvbnN0CiAgICAgY2FzZSBCVVRUT046CiAgICAgY2FzZSBDSEVDS0JPWDoKICAgICBjYXNlIENP
TE9SOgorICAgIGNhc2UgREFURToKKyAgICBjYXNlIERBVEVUSU1FOgorICAgIGNhc2UgREFURVRJ
TUVMT0NBTDoKICAgICBjYXNlIEZJTEU6CiAgICAgY2FzZSBISURERU46CiAgICAgY2FzZSBJTUFH
RToKICAgICBjYXNlIElTSU5ERVg6CisgICAgY2FzZSBNT05USDoKICAgICBjYXNlIE5VTUJFUjoK
ICAgICBjYXNlIFJBRElPOgogICAgIGNhc2UgUkFOR0U6CiAgICAgY2FzZSBSRVNFVDoKICAgICBj
YXNlIFNVQk1JVDoKKyAgICBjYXNlIFRJTUU6CisgICAgY2FzZSBXRUVLOgogICAgICAgICByZXR1
cm4gZmFsc2U7CiAgICAgfQogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwpAQCAtMzcyLDQ0ICsz
OTIsNDQgQEAgdm9pZCBIVE1MSW5wdXRFbGVtZW50OjpzZXRUeXBlKGNvbnN0IFN0cmluZyYgdCkK
ICAgICAgICAgc2V0QXR0cmlidXRlKHR5cGVBdHRyLCB0KTsKIH0KIAordHlwZWRlZiBIYXNoTWFw
PFN0cmluZywgSFRNTElucHV0RWxlbWVudDo6SW5wdXRUeXBlLCBDYXNlRm9sZGluZ0hhc2g+IElu
cHV0VHlwZU1hcDsKK3N0YXRpYyBjb25zdCBJbnB1dFR5cGVNYXAqIGNyZWF0ZVR5cGVNYXAoKQor
eworICAgIElucHV0VHlwZU1hcCogbWFwID0gbmV3IElucHV0VHlwZU1hcDsKKyAgICBtYXAtPmFk
ZCgiYnV0dG9uIiwgSFRNTElucHV0RWxlbWVudDo6QlVUVE9OKTsKKyAgICBtYXAtPmFkZCgiY2hl
Y2tib3giLCBIVE1MSW5wdXRFbGVtZW50OjpDSEVDS0JPWCk7CisgICAgbWFwLT5hZGQoImNvbG9y
IiwgSFRNTElucHV0RWxlbWVudDo6Q09MT1IpOworICAgIG1hcC0+YWRkKCJkYXRlIiwgSFRNTElu
cHV0RWxlbWVudDo6REFURSk7CisgICAgbWFwLT5hZGQoImRhdGV0aW1lIiwgSFRNTElucHV0RWxl
bWVudDo6REFURVRJTUUpOworICAgIG1hcC0+YWRkKCJkYXRldGltZS1sb2NhbCIsIEhUTUxJbnB1
dEVsZW1lbnQ6OkRBVEVUSU1FTE9DQUwpOworICAgIG1hcC0+YWRkKCJlbWFpbCIsIEhUTUxJbnB1
dEVsZW1lbnQ6OkVNQUlMKTsKKyAgICBtYXAtPmFkZCgiZmlsZSIsIEhUTUxJbnB1dEVsZW1lbnQ6
OkZJTEUpOworICAgIG1hcC0+YWRkKCJoaWRkZW4iLCBIVE1MSW5wdXRFbGVtZW50OjpISURERU4p
OworICAgIG1hcC0+YWRkKCJpbWFnZSIsIEhUTUxJbnB1dEVsZW1lbnQ6OklNQUdFKTsKKyAgICBt
YXAtPmFkZCgia2h0bWxfaXNpbmRleCIsIEhUTUxJbnB1dEVsZW1lbnQ6OklTSU5ERVgpOworICAg
IG1hcC0+YWRkKCJtb250aCIsIEhUTUxJbnB1dEVsZW1lbnQ6Ok1PTlRIKTsKKyAgICBtYXAtPmFk
ZCgibnVtYmVyIiwgSFRNTElucHV0RWxlbWVudDo6TlVNQkVSKTsKKyAgICBtYXAtPmFkZCgicGFz
c3dvcmQiLCBIVE1MSW5wdXRFbGVtZW50OjpQQVNTV09SRCk7CisgICAgbWFwLT5hZGQoInJhZGlv
IiwgSFRNTElucHV0RWxlbWVudDo6UkFESU8pOworICAgIG1hcC0+YWRkKCJyYW5nZSIsIEhUTUxJ
bnB1dEVsZW1lbnQ6OlJBTkdFKTsKKyAgICBtYXAtPmFkZCgicmVzZXQiLCBIVE1MSW5wdXRFbGVt
ZW50OjpSRVNFVCk7CisgICAgbWFwLT5hZGQoInNlYXJjaCIsIEhUTUxJbnB1dEVsZW1lbnQ6OlNF
QVJDSCk7CisgICAgbWFwLT5hZGQoInN1Ym1pdCIsIEhUTUxJbnB1dEVsZW1lbnQ6OlNVQk1JVCk7
CisgICAgbWFwLT5hZGQoInRlbCIsIEhUTUxJbnB1dEVsZW1lbnQ6OlRFTEVQSE9ORSk7CisgICAg
bWFwLT5hZGQoInRpbWUiLCBIVE1MSW5wdXRFbGVtZW50OjpUSU1FKTsKKyAgICBtYXAtPmFkZCgi
dXJsIiwgSFRNTElucHV0RWxlbWVudDo6VVJMKTsKKyAgICBtYXAtPmFkZCgid2VlayIsIEhUTUxJ
bnB1dEVsZW1lbnQ6OldFRUspOworICAgIC8vIE5vIG5lZWQgdG8gcmVnaXN0ZXIgInRleHQiIGJl
Y2F1c2UgaXQgaXMgdGhlIGRlZmF1bHQgdHlwZS4KKyAgICByZXR1cm4gbWFwOworfQorCiB2b2lk
IEhUTUxJbnB1dEVsZW1lbnQ6OnNldElucHV0VHlwZShjb25zdCBTdHJpbmcmIHQpCiB7CisgICAg
c3RhdGljIGNvbnN0IElucHV0VHlwZU1hcCogdHlwZU1hcCA9IGNyZWF0ZVR5cGVNYXAoKTsKICAg
ICBJbnB1dFR5cGUgbmV3VHlwZTsKLSAgICAKLSAgICBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UodCwg
InBhc3N3b3JkIikpCi0gICAgICAgIG5ld1R5cGUgPSBQQVNTV09SRDsKLSAgICBlbHNlIGlmIChl
cXVhbElnbm9yaW5nQ2FzZSh0LCAiY2hlY2tib3giKSkKLSAgICAgICAgbmV3VHlwZSA9IENIRUNL
Qk9YOwotICAgIGVsc2UgaWYgKGVxdWFsSWdub3JpbmdDYXNlKHQsICJyYWRpbyIpKQotICAgICAg
ICBuZXdUeXBlID0gUkFESU87Ci0gICAgZWxzZSBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UodCwgInN1
Ym1pdCIpKQotICAgICAgICBuZXdUeXBlID0gU1VCTUlUOwotICAgIGVsc2UgaWYgKGVxdWFsSWdu
b3JpbmdDYXNlKHQsICJyZXNldCIpKQotICAgICAgICBuZXdUeXBlID0gUkVTRVQ7Ci0gICAgZWxz
ZSBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UodCwgImZpbGUiKSkKLSAgICAgICAgbmV3VHlwZSA9IEZJ
TEU7Ci0gICAgZWxzZSBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UodCwgImhpZGRlbiIpKQotICAgICAg
ICBuZXdUeXBlID0gSElEREVOOwotICAgIGVsc2UgaWYgKGVxdWFsSWdub3JpbmdDYXNlKHQsICJp
bWFnZSIpKQotICAgICAgICBuZXdUeXBlID0gSU1BR0U7Ci0gICAgZWxzZSBpZiAoZXF1YWxJZ25v
cmluZ0Nhc2UodCwgImJ1dHRvbiIpKQotICAgICAgICBuZXdUeXBlID0gQlVUVE9OOwotICAgIGVs
c2UgaWYgKGVxdWFsSWdub3JpbmdDYXNlKHQsICJraHRtbF9pc2luZGV4IikpCi0gICAgICAgIG5l
d1R5cGUgPSBJU0lOREVYOwotICAgIGVsc2UgaWYgKGVxdWFsSWdub3JpbmdDYXNlKHQsICJzZWFy
Y2giKSkKLSAgICAgICAgbmV3VHlwZSA9IFNFQVJDSDsKLSAgICBlbHNlIGlmIChlcXVhbElnbm9y
aW5nQ2FzZSh0LCAicmFuZ2UiKSkKLSAgICAgICAgbmV3VHlwZSA9IFJBTkdFOwotICAgIGVsc2Ug
aWYgKGVxdWFsSWdub3JpbmdDYXNlKHQsICJlbWFpbCIpKQotICAgICAgICBuZXdUeXBlID0gRU1B
SUw7Ci0gICAgZWxzZSBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UodCwgIm51bWJlciIpKQotICAgICAg
ICBuZXdUeXBlID0gTlVNQkVSOwotICAgIGVsc2UgaWYgKGVxdWFsSWdub3JpbmdDYXNlKHQsICJ0
ZWwiKSkKLSAgICAgICAgbmV3VHlwZSA9IFRFTEVQSE9ORTsKLSAgICBlbHNlIGlmIChlcXVhbEln
bm9yaW5nQ2FzZSh0LCAidXJsIikpCi0gICAgICAgIG5ld1R5cGUgPSBVUkw7Ci0gICAgZWxzZSBp
ZiAoZXF1YWxJZ25vcmluZ0Nhc2UodCwgImNvbG9yIikpCi0gICAgICAgIG5ld1R5cGUgPSBDT0xP
UjsKKyAgICAvLyBnZXQoKSBvciBjb250YWlucygpIHdpdGggYSBudWxsIHN0cmluZyBjYXVzZXMg
YSBjcmFzaC4KKyAgICBpZiAoIXQuaXNOdWxsKCkgJiYgdHlwZU1hcC0+Y29udGFpbnModCkpCisg
ICAgICAgIG5ld1R5cGUgPSB0eXBlTWFwLT5nZXQodCk7CiAgICAgZWxzZQogICAgICAgICBuZXdU
eXBlID0gVEVYVDsKIApAQCAtNDgyLDgyICs1MDIsNDggQEAgdm9pZCBIVE1MSW5wdXRFbGVtZW50
OjpzZXRJbnB1dFR5cGUoY29uc3QgU3RyaW5nJiB0KQogICAgICAgICBtX2ltYWdlTG9hZGVyLmNs
ZWFyKCk7CiB9CiAKK3R5cGVkZWYgSGFzaE1hcDxIVE1MSW5wdXRFbGVtZW50OjpJbnB1dFR5cGUs
IEF0b21pY1N0cmluZywgV1RGOjpJbnRIYXNoPHVuc2lnbmVkPiwgV1RGOjpVbnNpZ25lZFdpdGha
ZXJvS2V5SGFzaFRyYWl0czx1bnNpZ25lZD4gPiBGb3JtQ29udHJvbE1hcDsKK3N0YXRpYyBjb25z
dCBGb3JtQ29udHJvbE1hcCogY3JlYXRlRm9ybUNvbnRyb2xUeXBlcygpCit7CisgICAgRm9ybUNv
bnRyb2xNYXAqIHR5cGVzID0gbmV3IEZvcm1Db250cm9sTWFwOworICAgIC8vIFRoZSB2YWx1ZXMg
aW4gdGhlIG1hcCBtdXN0IGJlIGxvd2VyY2FzZWQgYmVjYXVzZSB0aGV5IHdpbGwgYmUgdGhlCisg
ICAgLy8gcmV0dXJuIHZhbHVlcyBvZiBpbnB1dC50eXBlIGFuZCBpdCBtdXN0IGJlIGxvd2VyY2Fz
ZSBhY2NvcmRpbmcgdG8gRE9NIExldmVsIDIuCisgICAgdHlwZXMtPmFkZChIVE1MSW5wdXRFbGVt
ZW50OjpCVVRUT04sICJidXR0b24iKTsKKyAgICB0eXBlcy0+YWRkKEhUTUxJbnB1dEVsZW1lbnQ6
OkNIRUNLQk9YLCAiY2hlY2tib3giKTsKKyAgICB0eXBlcy0+YWRkKEhUTUxJbnB1dEVsZW1lbnQ6
OkNPTE9SLCAiY29sb3IiKTsKKyAgICB0eXBlcy0+YWRkKEhUTUxJbnB1dEVsZW1lbnQ6OkRBVEUs
ICJkYXRlIik7CisgICAgdHlwZXMtPmFkZChIVE1MSW5wdXRFbGVtZW50OjpEQVRFVElNRSwgImRh
dGV0aW1lIik7CisgICAgdHlwZXMtPmFkZChIVE1MSW5wdXRFbGVtZW50OjpEQVRFVElNRUxPQ0FM
LCAiZGF0ZXRpbWUtbG9jYWwiKTsKKyAgICB0eXBlcy0+YWRkKEhUTUxJbnB1dEVsZW1lbnQ6OkVN
QUlMLCAiZW1haWwiKTsKKyAgICB0eXBlcy0+YWRkKEhUTUxJbnB1dEVsZW1lbnQ6OkZJTEUsICJm
aWxlIik7CisgICAgdHlwZXMtPmFkZChIVE1MSW5wdXRFbGVtZW50OjpISURERU4sICJoaWRkZW4i
KTsKKyAgICB0eXBlcy0+YWRkKEhUTUxJbnB1dEVsZW1lbnQ6OklNQUdFLCAiaW1hZ2UiKTsKKyAg
ICB0eXBlcy0+YWRkKEhUTUxJbnB1dEVsZW1lbnQ6OklTSU5ERVgsIGVtcHR5QXRvbSk7CisgICAg
dHlwZXMtPmFkZChIVE1MSW5wdXRFbGVtZW50OjpNT05USCwgIm1vbnRoIik7CisgICAgdHlwZXMt
PmFkZChIVE1MSW5wdXRFbGVtZW50OjpOVU1CRVIsICJudW1iZXIiKTsKKyAgICB0eXBlcy0+YWRk
KEhUTUxJbnB1dEVsZW1lbnQ6OlBBU1NXT1JELCAicGFzc3dvcmQiKTsKKyAgICB0eXBlcy0+YWRk
KEhUTUxJbnB1dEVsZW1lbnQ6OlJBRElPLCAicmFkaW8iKTsKKyAgICB0eXBlcy0+YWRkKEhUTUxJ
bnB1dEVsZW1lbnQ6OlJBTkdFLCAicmFuZ2UiKTsKKyAgICB0eXBlcy0+YWRkKEhUTUxJbnB1dEVs
ZW1lbnQ6OlJFU0VULCAicmVzZXQiKTsKKyAgICB0eXBlcy0+YWRkKEhUTUxJbnB1dEVsZW1lbnQ6
OlNFQVJDSCwgInNlYXJjaCIpOworICAgIHR5cGVzLT5hZGQoSFRNTElucHV0RWxlbWVudDo6U1VC
TUlULCAic3VibWl0Iik7CisgICAgdHlwZXMtPmFkZChIVE1MSW5wdXRFbGVtZW50OjpURUxFUEhP
TkUsICJ0ZWwiKTsKKyAgICB0eXBlcy0+YWRkKEhUTUxJbnB1dEVsZW1lbnQ6OlRFWFQsICJ0ZXh0
Iik7CisgICAgdHlwZXMtPmFkZChIVE1MSW5wdXRFbGVtZW50OjpUSU1FLCAidGltZSIpOworICAg
IHR5cGVzLT5hZGQoSFRNTElucHV0RWxlbWVudDo6VVJMLCAidXJsIik7CisgICAgdHlwZXMtPmFk
ZChIVE1MSW5wdXRFbGVtZW50OjpXRUVLLCAid2VlayIpOworICAgIHJldHVybiB0eXBlczsKK30K
KwogY29uc3QgQXRvbWljU3RyaW5nJiBIVE1MSW5wdXRFbGVtZW50Ojpmb3JtQ29udHJvbFR5cGUo
KSBjb25zdAogewotICAgIC8vIG5lZWRzIHRvIGJlIGxvd2VyY2FzZSBhY2NvcmRpbmcgdG8gRE9N
IHNwZWMKLSAgICBzd2l0Y2ggKGlucHV0VHlwZSgpKSB7Ci0gICAgICAgIGNhc2UgQlVUVE9OOiB7
Ci0gICAgICAgICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0IEF0b21pY1N0cmluZywgYnV0
dG9uLCAoImJ1dHRvbiIpKTsKLSAgICAgICAgICAgIHJldHVybiBidXR0b247Ci0gICAgICAgIH0K
LSAgICAgICAgY2FzZSBDSEVDS0JPWDogewotICAgICAgICAgICAgREVGSU5FX1NUQVRJQ19MT0NB
TChjb25zdCBBdG9taWNTdHJpbmcsIGNoZWNrYm94LCAoImNoZWNrYm94IikpOwotICAgICAgICAg
ICAgcmV0dXJuIGNoZWNrYm94OwotICAgICAgICB9Ci0gICAgICAgIGNhc2UgQ09MT1I6IHsKLSAg
ICAgICAgICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgQXRvbWljU3RyaW5nLCBjb2xvciwg
KCJjb2xvciIpKTsKLSAgICAgICAgICAgIHJldHVybiBjb2xvcjsKLSAgICAgICAgfQotICAgICAg
ICBjYXNlIEVNQUlMOiB7Ci0gICAgICAgICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0IEF0
b21pY1N0cmluZywgZW1haWwsICgiZW1haWwiKSk7Ci0gICAgICAgICAgICByZXR1cm4gZW1haWw7
Ci0gICAgICAgIH0KLSAgICAgICAgY2FzZSBGSUxFOiB7Ci0gICAgICAgICAgICBERUZJTkVfU1RB
VElDX0xPQ0FMKGNvbnN0IEF0b21pY1N0cmluZywgZmlsZSwgKCJmaWxlIikpOwotICAgICAgICAg
ICAgcmV0dXJuIGZpbGU7Ci0gICAgICAgIH0KLSAgICAgICAgY2FzZSBISURERU46IHsKLSAgICAg
ICAgICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgQXRvbWljU3RyaW5nLCBoaWRkZW4sICgi
aGlkZGVuIikpOwotICAgICAgICAgICAgcmV0dXJuIGhpZGRlbjsKLSAgICAgICAgfQotICAgICAg
ICBjYXNlIElNQUdFOiB7Ci0gICAgICAgICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0IEF0
b21pY1N0cmluZywgaW1hZ2UsICgiaW1hZ2UiKSk7Ci0gICAgICAgICAgICByZXR1cm4gaW1hZ2U7
Ci0gICAgICAgIH0KLSAgICAgICAgY2FzZSBJU0lOREVYOgotICAgICAgICAgICAgcmV0dXJuIGVt
cHR5QXRvbTsKLSAgICAgICAgY2FzZSBOVU1CRVI6IHsKLSAgICAgICAgICAgIERFRklORV9TVEFU
SUNfTE9DQUwoY29uc3QgQXRvbWljU3RyaW5nLCBudW1iZXIsICgibnVtYmVyIikpOwotICAgICAg
ICAgICAgcmV0dXJuIG51bWJlcjsKLSAgICAgICAgfQotICAgICAgICBjYXNlIFBBU1NXT1JEOiB7
Ci0gICAgICAgICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0IEF0b21pY1N0cmluZywgcGFz
c3dvcmQsICgicGFzc3dvcmQiKSk7Ci0gICAgICAgICAgICByZXR1cm4gcGFzc3dvcmQ7Ci0gICAg
ICAgIH0KLSAgICAgICAgY2FzZSBSQURJTzogewotICAgICAgICAgICAgREVGSU5FX1NUQVRJQ19M
T0NBTChjb25zdCBBdG9taWNTdHJpbmcsIHJhZGlvLCAoInJhZGlvIikpOwotICAgICAgICAgICAg
cmV0dXJuIHJhZGlvOwotICAgICAgICB9Ci0gICAgICAgIGNhc2UgUkFOR0U6IHsKLSAgICAgICAg
ICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgQXRvbWljU3RyaW5nLCByYW5nZSwgKCJyYW5n
ZSIpKTsKLSAgICAgICAgICAgIHJldHVybiByYW5nZTsKLSAgICAgICAgfQotICAgICAgICBjYXNl
IFJFU0VUOiB7Ci0gICAgICAgICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0IEF0b21pY1N0
cmluZywgcmVzZXQsICgicmVzZXQiKSk7Ci0gICAgICAgICAgICByZXR1cm4gcmVzZXQ7Ci0gICAg
ICAgIH0KLSAgICAgICAgY2FzZSBTRUFSQ0g6IHsKLSAgICAgICAgICAgIERFRklORV9TVEFUSUNf
TE9DQUwoY29uc3QgQXRvbWljU3RyaW5nLCBzZWFyY2gsICgic2VhcmNoIikpOwotICAgICAgICAg
ICAgcmV0dXJuIHNlYXJjaDsKLSAgICAgICAgfQotICAgICAgICBjYXNlIFNVQk1JVDogewotICAg
ICAgICAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBBdG9taWNTdHJpbmcsIHN1Ym1pdCwg
KCJzdWJtaXQiKSk7Ci0gICAgICAgICAgICByZXR1cm4gc3VibWl0OwotICAgICAgICB9Ci0gICAg
ICAgIGNhc2UgVEVMRVBIT05FOiB7Ci0gICAgICAgICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKGNv
bnN0IEF0b21pY1N0cmluZywgdGVsZXBob25lLCAoInRlbCIpKTsKLSAgICAgICAgICAgIHJldHVy
biB0ZWxlcGhvbmU7Ci0gICAgICAgIH0KLSAgICAgICAgY2FzZSBURVhUOiB7Ci0gICAgICAgICAg
ICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0IEF0b21pY1N0cmluZywgdGV4dCwgKCJ0ZXh0Iikp
OwotICAgICAgICAgICAgcmV0dXJuIHRleHQ7Ci0gICAgICAgIH0KLSAgICAgICAgY2FzZSBVUkw6
IHsKLSAgICAgICAgICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgQXRvbWljU3RyaW5nLCB1
cmwsICgidXJsIikpOwotICAgICAgICAgICAgcmV0dXJuIHVybDsKLSAgICAgICAgfQotICAgIH0K
LSAgICByZXR1cm4gZW1wdHlBdG9tOworICAgIHN0YXRpYyBjb25zdCBGb3JtQ29udHJvbE1hcCog
Zm9ybUNvbnRyb2xUeXBlcyA9IGNyZWF0ZUZvcm1Db250cm9sVHlwZXMoKTsKKyAgICBBU1NFUlQo
Zm9ybUNvbnRyb2xUeXBlcy0+Y29udGFpbnMoaW5wdXRUeXBlKCkpKTsKKyAgICAvLyBEb24ndCBk
byAicmV0dXJuIGZvcm1Db250cm9sVHlwZXMtPmdldChpbnB1dFR5cGUoKSkiIGhlcmUuCisgICAg
Ly8gSW4gdGhhdCBjYXNlLCBjb21waWxlcnMgZ2VuZXJhdGUgY29kZSBsaWtlOgorICAgIC8vICAg
QXRvbWljU3RyaW5nIHN0ciA9IGZvcm1Db250cm9sVHlwZXMtPmdldChpbnB1dFR5cGUoKSk7Cisg
ICAgLy8gICByZXR1cm4gJnN0cjsKKyAgICByZXR1cm4gZm9ybUNvbnRyb2xUeXBlcy0+ZmluZChp
bnB1dFR5cGUoKSktPnNlY29uZDsKIH0KIAogYm9vbCBIVE1MSW5wdXRFbGVtZW50OjpzYXZlRm9y
bUNvbnRyb2xTdGF0ZShTdHJpbmcmIHJlc3VsdCkgY29uc3QKQEAgLTU2OCwxMSArNTU0LDE1IEBA
IGJvb2wgSFRNTElucHV0RWxlbWVudDo6c2F2ZUZvcm1Db250cm9sU3RhdGUoU3RyaW5nJiByZXN1
bHQpIGNvbnN0CiAgICAgc3dpdGNoIChpbnB1dFR5cGUoKSkgewogICAgICAgICBjYXNlIEJVVFRP
TjoKICAgICAgICAgY2FzZSBDT0xPUjoKKyAgICAgICAgY2FzZSBEQVRFOgorICAgICAgICBjYXNl
IERBVEVUSU1FOgorICAgICAgICBjYXNlIERBVEVUSU1FTE9DQUw6CiAgICAgICAgIGNhc2UgRU1B
SUw6CiAgICAgICAgIGNhc2UgRklMRToKICAgICAgICAgY2FzZSBISURERU46CiAgICAgICAgIGNh
c2UgSU1BR0U6CiAgICAgICAgIGNhc2UgSVNJTkRFWDoKKyAgICAgICAgY2FzZSBNT05USDoKICAg
ICAgICAgY2FzZSBOVU1CRVI6CiAgICAgICAgIGNhc2UgUkFOR0U6CiAgICAgICAgIGNhc2UgUkVT
RVQ6CkBAIC01ODAsNyArNTcwLDkgQEAgYm9vbCBIVE1MSW5wdXRFbGVtZW50OjpzYXZlRm9ybUNv
bnRyb2xTdGF0ZShTdHJpbmcmIHJlc3VsdCkgY29uc3QKICAgICAgICAgY2FzZSBTVUJNSVQ6CiAg
ICAgICAgIGNhc2UgVEVMRVBIT05FOgogICAgICAgICBjYXNlIFRFWFQ6CisgICAgICAgIGNhc2Ug
VElNRToKICAgICAgICAgY2FzZSBVUkw6CisgICAgICAgIGNhc2UgV0VFSzoKICAgICAgICAgICAg
IHJlc3VsdCA9IHZhbHVlKCk7CiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgY2Fz
ZSBDSEVDS0JPWDoKQEAgLTYwMCwxMSArNTkyLDE1IEBAIHZvaWQgSFRNTElucHV0RWxlbWVudDo6
cmVzdG9yZUZvcm1Db250cm9sU3RhdGUoY29uc3QgU3RyaW5nJiBzdGF0ZSkKICAgICBzd2l0Y2gg
KGlucHV0VHlwZSgpKSB7CiAgICAgICAgIGNhc2UgQlVUVE9OOgogICAgICAgICBjYXNlIENPTE9S
OgorICAgICAgICBjYXNlIERBVEU6CisgICAgICAgIGNhc2UgREFURVRJTUU6CisgICAgICAgIGNh
c2UgREFURVRJTUVMT0NBTDoKICAgICAgICAgY2FzZSBFTUFJTDoKICAgICAgICAgY2FzZSBGSUxF
OgogICAgICAgICBjYXNlIEhJRERFTjoKICAgICAgICAgY2FzZSBJTUFHRToKICAgICAgICAgY2Fz
ZSBJU0lOREVYOgorICAgICAgICBjYXNlIE1PTlRIOgogICAgICAgICBjYXNlIE5VTUJFUjoKICAg
ICAgICAgY2FzZSBSQU5HRToKICAgICAgICAgY2FzZSBSRVNFVDoKQEAgLTYxMiw3ICs2MDgsOSBA
QCB2b2lkIEhUTUxJbnB1dEVsZW1lbnQ6OnJlc3RvcmVGb3JtQ29udHJvbFN0YXRlKGNvbnN0IFN0
cmluZyYgc3RhdGUpCiAgICAgICAgIGNhc2UgU1VCTUlUOgogICAgICAgICBjYXNlIFRFTEVQSE9O
RToKICAgICAgICAgY2FzZSBURVhUOgorICAgICAgICBjYXNlIFRJTUU6CiAgICAgICAgIGNhc2Ug
VVJMOgorICAgICAgICBjYXNlIFdFRUs6CiAgICAgICAgICAgICBzZXRWYWx1ZShzdGF0ZSk7CiAg
ICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBDSEVDS0JPWDoKQEAgLTY1NSwxNCArNjUz
LDIwIEBAIHZvaWQgSFRNTElucHV0RWxlbWVudDo6YWNjZXNzS2V5QWN0aW9uKGJvb2wgc2VuZFRv
QW55RWxlbWVudCkKICAgICAgICAgICAgIC8vIGEgbm8tb3AgZm9yIHRoaXMgdHlwZQogICAgICAg
ICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgQ09MT1I6CisgICAgICAgIGNhc2UgREFURToKKyAg
ICAgICAgY2FzZSBEQVRFVElNRToKKyAgICAgICAgY2FzZSBEQVRFVElNRUxPQ0FMOgogICAgICAg
ICBjYXNlIEVNQUlMOgogICAgICAgICBjYXNlIElTSU5ERVg6CisgICAgICAgIGNhc2UgTU9OVEg6
CiAgICAgICAgIGNhc2UgTlVNQkVSOgogICAgICAgICBjYXNlIFBBU1NXT1JEOgogICAgICAgICBj
YXNlIFNFQVJDSDoKICAgICAgICAgY2FzZSBURUxFUEhPTkU6CiAgICAgICAgIGNhc2UgVEVYVDoK
KyAgICAgICAgY2FzZSBUSU1FOgogICAgICAgICBjYXNlIFVSTDoKKyAgICAgICAgY2FzZSBXRUVL
OgogICAgICAgICAgICAgLy8gc2hvdWxkIG5ldmVyIHJlc3RvcmUgcHJldmlvdXMgc2VsZWN0aW9u
IGhlcmUKICAgICAgICAgICAgIGZvY3VzKGZhbHNlKTsKICAgICAgICAgICAgIGJyZWFrOwpAQCAt
Nzg5LDMwICs3OTMsOSBAQCB2b2lkIEhUTUxJbnB1dEVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmli
dXRlKE1hcHBlZEF0dHJpYnV0ZSAqYXR0cikKIAogYm9vbCBIVE1MSW5wdXRFbGVtZW50OjpyZW5k
ZXJlcklzTmVlZGVkKFJlbmRlclN0eWxlICpzdHlsZSkKIHsKLSAgICBzd2l0Y2ggKGlucHV0VHlw
ZSgpKSB7Ci0gICAgICAgIGNhc2UgQlVUVE9OOgotICAgICAgICBjYXNlIENIRUNLQk9YOgotICAg
ICAgICBjYXNlIENPTE9SOgotICAgICAgICBjYXNlIEVNQUlMOgotICAgICAgICBjYXNlIEZJTEU6
Ci0gICAgICAgIGNhc2UgSU1BR0U6Ci0gICAgICAgIGNhc2UgSVNJTkRFWDoKLSAgICAgICAgY2Fz
ZSBOVU1CRVI6Ci0gICAgICAgIGNhc2UgUEFTU1dPUkQ6Ci0gICAgICAgIGNhc2UgUkFESU86Ci0g
ICAgICAgIGNhc2UgUkFOR0U6Ci0gICAgICAgIGNhc2UgUkVTRVQ6Ci0gICAgICAgIGNhc2UgU0VB
UkNIOgotICAgICAgICBjYXNlIFNVQk1JVDoKLSAgICAgICAgY2FzZSBURUxFUEhPTkU6Ci0gICAg
ICAgIGNhc2UgVEVYVDoKLSAgICAgICAgY2FzZSBVUkw6Ci0gICAgICAgICAgICByZXR1cm4gSFRN
TEZvcm1Db250cm9sRWxlbWVudFdpdGhTdGF0ZTo6cmVuZGVyZXJJc05lZWRlZChzdHlsZSk7Ci0g
ICAgICAgIGNhc2UgSElEREVOOgotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLSAg
ICBBU1NFUlQoZmFsc2UpOwotICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoaW5wdXRUeXBlKCkg
PT0gSElEREVOKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgcmV0dXJuIEhUTUxGb3JtQ29u
dHJvbEVsZW1lbnRXaXRoU3RhdGU6OnJlbmRlcmVySXNOZWVkZWQoc3R5bGUpOwogfQogCiBSZW5k
ZXJPYmplY3QgKkhUTUxJbnB1dEVsZW1lbnQ6OmNyZWF0ZVJlbmRlcmVyKFJlbmRlckFyZW5hICph
cmVuYSwgUmVuZGVyU3R5bGUgKnN0eWxlKQpAQCAtODM0LDE0ICs4MTcsMjAgQEAgUmVuZGVyT2Jq
ZWN0ICpIVE1MSW5wdXRFbGVtZW50OjpjcmVhdGVSZW5kZXJlcihSZW5kZXJBcmVuYSAqYXJlbmEs
IFJlbmRlclN0eWxlICoKICAgICAgICAgY2FzZSBSQU5HRToKICAgICAgICAgICAgIHJldHVybiBu
ZXcgKGFyZW5hKSBSZW5kZXJTbGlkZXIodGhpcyk7CiAgICAgICAgIGNhc2UgQ09MT1I6CisgICAg
ICAgIGNhc2UgREFURToKKyAgICAgICAgY2FzZSBEQVRFVElNRToKKyAgICAgICAgY2FzZSBEQVRF
VElNRUxPQ0FMOgogICAgICAgICBjYXNlIEVNQUlMOgogICAgICAgICBjYXNlIElTSU5ERVg6Cisg
ICAgICAgIGNhc2UgTU9OVEg6CiAgICAgICAgIGNhc2UgTlVNQkVSOgogICAgICAgICBjYXNlIFBB
U1NXT1JEOgogICAgICAgICBjYXNlIFNFQVJDSDoKICAgICAgICAgY2FzZSBURUxFUEhPTkU6CiAg
ICAgICAgIGNhc2UgVEVYVDoKKyAgICAgICAgY2FzZSBUSU1FOgogICAgICAgICBjYXNlIFVSTDoK
KyAgICAgICAgY2FzZSBXRUVLOgogICAgICAgICAgICAgcmV0dXJuIG5ldyAoYXJlbmEpIFJlbmRl
clRleHRDb250cm9sU2luZ2xlTGluZSh0aGlzLCBwbGFjZWhvbGRlclNob3VsZEJlVmlzaWJsZSgp
KTsKICAgICB9CiAgICAgQVNTRVJUKGZhbHNlKTsKQEAgLTkyMSwxNiArOTEwLDIyIEBAIGJvb2wg
SFRNTElucHV0RWxlbWVudDo6YXBwZW5kRm9ybURhdGEoRm9ybURhdGFMaXN0JiBlbmNvZGluZywg
Ym9vbCBtdWx0aXBhcnQpCiAKICAgICBzd2l0Y2ggKGlucHV0VHlwZSgpKSB7CiAgICAgICAgIGNh
c2UgQ09MT1I6CisgICAgICAgIGNhc2UgREFURToKKyAgICAgICAgY2FzZSBEQVRFVElNRToKKyAg
ICAgICAgY2FzZSBEQVRFVElNRUxPQ0FMOgogICAgICAgICBjYXNlIEVNQUlMOgogICAgICAgICBj
YXNlIEhJRERFTjoKICAgICAgICAgY2FzZSBJU0lOREVYOgorICAgICAgICBjYXNlIE1PTlRIOgog
ICAgICAgICBjYXNlIE5VTUJFUjoKICAgICAgICAgY2FzZSBQQVNTV09SRDoKICAgICAgICAgY2Fz
ZSBSQU5HRToKICAgICAgICAgY2FzZSBTRUFSQ0g6CiAgICAgICAgIGNhc2UgVEVMRVBIT05FOgog
ICAgICAgICBjYXNlIFRFWFQ6CisgICAgICAgIGNhc2UgVElNRToKICAgICAgICAgY2FzZSBVUkw6
CisgICAgICAgIGNhc2UgV0VFSzoKICAgICAgICAgICAgIC8vIGFsd2F5cyBzdWNjZXNzZnVsCiAg
ICAgICAgICAgICBlbmNvZGluZy5hcHBlbmREYXRhKG5hbWUoKSwgdmFsdWUoKSk7CiAgICAgICAg
ICAgICByZXR1cm4gdHJ1ZTsKQEAgLTEwMDgsNiArMTAwMyw0MCBAQCB2b2lkIEhUTUxJbnB1dEVs
ZW1lbnQ6OnJlc2V0KCkKICAgICBtX3VzZURlZmF1bHRDaGVja2VkID0gdHJ1ZTsKIH0KIAorYm9v
bCBIVE1MSW5wdXRFbGVtZW50Ojppc1RleHRGaWVsZCgpIGNvbnN0Cit7CisgICAgc3dpdGNoIChp
bnB1dFR5cGUoKSkgeworICAgIGNhc2UgQ09MT1I6CisgICAgY2FzZSBEQVRFOgorICAgIGNhc2Ug
REFURVRJTUU6CisgICAgY2FzZSBEQVRFVElNRUxPQ0FMOgorICAgIGNhc2UgRU1BSUw6CisgICAg
Y2FzZSBJU0lOREVYOgorICAgIGNhc2UgTU9OVEg6CisgICAgY2FzZSBOVU1CRVI6CisgICAgY2Fz
ZSBQQVNTV09SRDoKKyAgICBjYXNlIFNFQVJDSDoKKyAgICBjYXNlIFRFTEVQSE9ORToKKyAgICBj
YXNlIFRFWFQ6CisgICAgY2FzZSBUSU1FOgorICAgIGNhc2UgVVJMOgorICAgIGNhc2UgV0VFSzoK
KyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgY2FzZSBCVVRUT046CisgICAgY2FzZSBDSEVDS0JP
WDoKKyAgICBjYXNlIEZJTEU6CisgICAgY2FzZSBISURERU46CisgICAgY2FzZSBJTUFHRToKKyAg
ICBjYXNlIFJBRElPOgorICAgIGNhc2UgUkFOR0U6CisgICAgY2FzZSBSRVNFVDoKKyAgICBjYXNl
IFNVQk1JVDoKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKyAgICBBU1NFUlRfTk9UX1JF
QUNIRUQoKTsKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKIHZvaWQgSFRNTElucHV0RWxlbWVudDo6
c2V0Q2hlY2tlZChib29sIG5vd0NoZWNrZWQsIGJvb2wgc2VuZENoYW5nZUV2ZW50KQogewogICAg
IGlmIChjaGVja2VkKCkgPT0gbm93Q2hlY2tlZCkKQEAgLTEwOTksMTEgKzExMjgsMTUgQEAgU3Ry
aW5nIEhUTUxJbnB1dEVsZW1lbnQ6OnZhbHVlV2l0aERlZmF1bHQoKSBjb25zdAogICAgICAgICAg
ICAgY2FzZSBCVVRUT046CiAgICAgICAgICAgICBjYXNlIENIRUNLQk9YOgogICAgICAgICAgICAg
Y2FzZSBDT0xPUjoKKyAgICAgICAgICAgIGNhc2UgREFURToKKyAgICAgICAgICAgIGNhc2UgREFU
RVRJTUU6CisgICAgICAgICAgICBjYXNlIERBVEVUSU1FTE9DQUw6CiAgICAgICAgICAgICBjYXNl
IEVNQUlMOgogICAgICAgICAgICAgY2FzZSBGSUxFOgogICAgICAgICAgICAgY2FzZSBISURERU46
CiAgICAgICAgICAgICBjYXNlIElNQUdFOgogICAgICAgICAgICAgY2FzZSBJU0lOREVYOgorICAg
ICAgICAgICAgY2FzZSBNT05USDoKICAgICAgICAgICAgIGNhc2UgTlVNQkVSOgogICAgICAgICAg
ICAgY2FzZSBQQVNTV09SRDoKICAgICAgICAgICAgIGNhc2UgUkFESU86CkBAIC0xMTExLDcgKzEx
NDQsOSBAQCBTdHJpbmcgSFRNTElucHV0RWxlbWVudDo6dmFsdWVXaXRoRGVmYXVsdCgpIGNvbnN0
CiAgICAgICAgICAgICBjYXNlIFNFQVJDSDoKICAgICAgICAgICAgIGNhc2UgVEVMRVBIT05FOgog
ICAgICAgICAgICAgY2FzZSBURVhUOgorICAgICAgICAgICAgY2FzZSBUSU1FOgogICAgICAgICAg
ICAgY2FzZSBVUkw6CisgICAgICAgICAgICBjYXNlIFdFRUs6CiAgICAgICAgICAgICAgICAgYnJl
YWs7CiAgICAgICAgICAgICBjYXNlIFJFU0VUOgogICAgICAgICAgICAgICAgIHYgPSByZXNldEJ1
dHRvbkRlZmF1bHRMYWJlbCgpOwpAQCAtMTIwOSwxNiArMTI0NCwyMiBAQCBib29sIEhUTUxJbnB1
dEVsZW1lbnQ6OnN0b3Jlc1ZhbHVlU2VwYXJhdGVGcm9tQXR0cmlidXRlKCkgY29uc3QKICAgICAg
ICAgY2FzZSBTVUJNSVQ6CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIGNhc2Ug
Q09MT1I6CisgICAgICAgIGNhc2UgREFURToKKyAgICAgICAgY2FzZSBEQVRFVElNRToKKyAgICAg
ICAgY2FzZSBEQVRFVElNRUxPQ0FMOgogICAgICAgICBjYXNlIEVNQUlMOgogICAgICAgICBjYXNl
IEZJTEU6CiAgICAgICAgIGNhc2UgSVNJTkRFWDoKKyAgICAgICAgY2FzZSBNT05USDoKICAgICAg
ICAgY2FzZSBOVU1CRVI6CiAgICAgICAgIGNhc2UgUEFTU1dPUkQ6CiAgICAgICAgIGNhc2UgUkFO
R0U6CiAgICAgICAgIGNhc2UgU0VBUkNIOgogICAgICAgICBjYXNlIFRFTEVQSE9ORToKICAgICAg
ICAgY2FzZSBURVhUOgorICAgICAgICBjYXNlIFRJTUU6CiAgICAgICAgIGNhc2UgVVJMOgorICAg
ICAgICBjYXNlIFdFRUs6CiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAgICAgcmV0
dXJuIGZhbHNlOwpAQCAtMTM4NSwxNiArMTQyNiwyMiBAQCB2b2lkIEhUTUxJbnB1dEVsZW1lbnQ6
OmRlZmF1bHRFdmVudEhhbmRsZXIoRXZlbnQqIGV2dCkKICAgICAgICAgICAgIHN3aXRjaCAoaW5w
dXRUeXBlKCkpIHsKICAgICAgICAgICAgICAgICBjYXNlIENIRUNLQk9YOgogICAgICAgICAgICAg
ICAgIGNhc2UgQ09MT1I6CisgICAgICAgICAgICAgICAgY2FzZSBEQVRFOgorICAgICAgICAgICAg
ICAgIGNhc2UgREFURVRJTUU6CisgICAgICAgICAgICAgICAgY2FzZSBEQVRFVElNRUxPQ0FMOgog
ICAgICAgICAgICAgICAgIGNhc2UgRU1BSUw6CiAgICAgICAgICAgICAgICAgY2FzZSBISURERU46
CiAgICAgICAgICAgICAgICAgY2FzZSBJU0lOREVYOgorICAgICAgICAgICAgICAgIGNhc2UgTU9O
VEg6CiAgICAgICAgICAgICAgICAgY2FzZSBOVU1CRVI6CiAgICAgICAgICAgICAgICAgY2FzZSBQ
QVNTV09SRDoKICAgICAgICAgICAgICAgICBjYXNlIFJBTkdFOgogICAgICAgICAgICAgICAgIGNh
c2UgU0VBUkNIOgogICAgICAgICAgICAgICAgIGNhc2UgVEVMRVBIT05FOgogICAgICAgICAgICAg
ICAgIGNhc2UgVEVYVDoKKyAgICAgICAgICAgICAgICBjYXNlIFRJTUU6CiAgICAgICAgICAgICAg
ICAgY2FzZSBVUkw6CisgICAgICAgICAgICAgICAgY2FzZSBXRUVLOgogICAgICAgICAgICAgICAg
ICAgICAvLyBTaW11bGF0ZSBtb3VzZSBjbGljayBvbiB0aGUgZGVmYXVsdCBmb3JtIGJ1dHRvbiBm
b3IgZW50ZXIgZm9yIHRoZXNlIHR5cGVzIG9mIGVsZW1lbnRzLgogICAgICAgICAgICAgICAgICAg
ICBjbGlja0RlZmF1bHRGb3JtQnV0dG9uID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICAgYnJl
YWs7CkBAIC0xNTEzLDE2ICsxNTYwLDIyIEBAIHZvaWQgSFRNTElucHV0RWxlbWVudDo6ZGVmYXVs
dEV2ZW50SGFuZGxlcihFdmVudCogZXZ0KQogICAgICAgICAgICAgICAgICAgICAgICAgY2xpY2tF
bGVtZW50ID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAg
ICAgY2FzZSBDT0xPUjoKKyAgICAgICAgICAgICAgICBjYXNlIERBVEU6CisgICAgICAgICAgICAg
ICAgY2FzZSBEQVRFVElNRToKKyAgICAgICAgICAgICAgICBjYXNlIERBVEVUSU1FTE9DQUw6CiAg
ICAgICAgICAgICAgICAgY2FzZSBFTUFJTDoKICAgICAgICAgICAgICAgICBjYXNlIEhJRERFTjoK
ICAgICAgICAgICAgICAgICBjYXNlIElTSU5ERVg6CisgICAgICAgICAgICAgICAgY2FzZSBNT05U
SDoKICAgICAgICAgICAgICAgICBjYXNlIE5VTUJFUjoKICAgICAgICAgICAgICAgICBjYXNlIFBB
U1NXT1JEOgogICAgICAgICAgICAgICAgIGNhc2UgUkFOR0U6CiAgICAgICAgICAgICAgICAgY2Fz
ZSBTRUFSQ0g6CiAgICAgICAgICAgICAgICAgY2FzZSBURUxFUEhPTkU6CiAgICAgICAgICAgICAg
ICAgY2FzZSBURVhUOgorICAgICAgICAgICAgICAgIGNhc2UgVElNRToKICAgICAgICAgICAgICAg
ICBjYXNlIFVSTDoKKyAgICAgICAgICAgICAgICBjYXNlIFdFRUs6CiAgICAgICAgICAgICAgICAg
ICAgIGJyZWFrOwogICAgICAgICAgICAgfQogICAgICAgICB9CkBAIC0xNzYzLDYgKzE4MTYsMTIg
QEAgYm9vbCBIVE1MSW5wdXRFbGVtZW50Ojppc1JlcXVpcmVkRm9ybUNvbnRyb2woKSBjb25zdAog
ICAgICAgICBjYXNlIENIRUNLQk9YOgogICAgICAgICBjYXNlIFJBRElPOgogICAgICAgICBjYXNl
IEZJTEU6CisgICAgICAgIGNhc2UgREFURVRJTUU6CisgICAgICAgIGNhc2UgREFURToKKyAgICAg
ICAgY2FzZSBNT05USDoKKyAgICAgICAgY2FzZSBXRUVLOgorICAgICAgICBjYXNlIFRJTUU6Cisg
ICAgICAgIGNhc2UgREFURVRJTUVMT0NBTDoKICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAg
ICAgICBjYXNlIEhJRERFTjoKICAgICAgICAgY2FzZSBSQU5HRToKQEAgLTE4ODAsNyArMTkzOSwx
MyBAQCBIVE1MRGF0YUxpc3RFbGVtZW50KiBIVE1MSW5wdXRFbGVtZW50OjpkYXRhTGlzdCgpIGNv
bnN0CiAgICAgY2FzZSBFTUFJTDoKICAgICBjYXNlIE5VTUJFUjoKICAgICBjYXNlIFJBTkdFOgot
ICAgIGNhc2UgQ09MT1I6IHsKKyAgICBjYXNlIENPTE9SOgorICAgIGNhc2UgREFURVRJTUU6Cisg
ICAgY2FzZSBEQVRFOgorICAgIGNhc2UgTU9OVEg6CisgICAgY2FzZSBXRUVLOgorICAgIGNhc2Ug
VElNRToKKyAgICBjYXNlIERBVEVUSU1FTE9DQUw6IHsKICAgICAgICAgRWxlbWVudCogZWxlbWVu
dCA9IGRvY3VtZW50KCktPmdldEVsZW1lbnRCeUlkKGdldEF0dHJpYnV0ZShsaXN0QXR0cikpOwog
ICAgICAgICBpZiAoZWxlbWVudCAmJiBlbGVtZW50LT5oYXNUYWdOYW1lKGRhdGFsaXN0VGFnKSkK
ICAgICAgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxIVE1MRGF0YUxpc3RFbGVtZW50Kj4oZWxl
bWVudCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oIGIvV2Vi
Q29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaAppbmRleCAwZTJkYTMyLi4zOGFkNjRhIDEwMDY0
NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oCisrKyBiL1dlYkNvcmUvaHRt
bC9IVE1MSW5wdXRFbGVtZW50LmgKQEAgLTU3LDcgKzU3LDEzIEBAIHB1YmxpYzoKICAgICAgICAg
TlVNQkVSLAogICAgICAgICBURUxFUEhPTkUsCiAgICAgICAgIFVSTCwKLSAgICAgICAgQ09MT1IK
KyAgICAgICAgQ09MT1IsCisgICAgICAgIERBVEVUSU1FLAorICAgICAgICBEQVRFLAorICAgICAg
ICBNT05USCwKKyAgICAgICAgV0VFSywKKyAgICAgICAgVElNRSwKKyAgICAgICAgREFURVRJTUVM
T0NBTAogICAgIH07CiAgICAgCiAgICAgZW51bSBBdXRvQ29tcGxldGVTZXR0aW5nIHsKQEAgLTEw
NSw3ICsxMTEsNyBAQCBwdWJsaWM6CiAKICAgICBib29sIGlzVGV4dEJ1dHRvbigpIGNvbnN0IHsg
cmV0dXJuIG1fdHlwZSA9PSBTVUJNSVQgfHwgbV90eXBlID09IFJFU0VUIHx8IG1fdHlwZSA9PSBC
VVRUT047IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNSYWRpb0J1dHRvbigpIGNvbnN0IHsgcmV0dXJu
IG1fdHlwZSA9PSBSQURJTzsgfQotICAgIHZpcnR1YWwgYm9vbCBpc1RleHRGaWVsZCgpIGNvbnN0
IHsgcmV0dXJuIG1fdHlwZSA9PSBURVhUIHx8IG1fdHlwZSA9PSBQQVNTV09SRCB8fCBtX3R5cGUg
PT0gU0VBUkNIIHx8IG1fdHlwZSA9PSBJU0lOREVYIHx8IG1fdHlwZSA9PSBFTUFJTCB8fCBtX3R5
cGUgPT0gTlVNQkVSIHx8IG1fdHlwZSA9PSBURUxFUEhPTkUgfHwgbV90eXBlID09IFVSTCB8fCBt
X3R5cGUgPT0gQ09MT1I7IH0KKyAgICB2aXJ0dWFsIGJvb2wgaXNUZXh0RmllbGQoKSBjb25zdDsK
ICAgICB2aXJ0dWFsIGJvb2wgaXNTZWFyY2hGaWVsZCgpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZSA9
PSBTRUFSQ0g7IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNJbnB1dFR5cGVIaWRkZW4oKSBjb25zdCB7
IHJldHVybiBtX3R5cGUgPT0gSElEREVOOyB9CiAgICAgdmlydHVhbCBib29sIGlzUGFzc3dvcmRG
aWVsZCgpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZSA9PSBQQVNTV09SRDsgfQotLSAKMS42LjMuMwoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>42942</attachid>
            <date>2009-11-11 02:10:59 -0800</date>
            <delta_ts>2009-11-13 17:30:04 -0800</delta_ts>
            <desc>Recognize date&amp;time types as text fields (rev.7)</desc>
            <filename>0001-add-datetime-types-7.patch</filename>
            <type>text/plain</type>
            <size>30347</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">RnJvbSAxZTlkY2YxM2QzNDM2NjRmNTQxZDJmODNhZTRmMjNjZGE1MDI1ZGEwIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBLZW50IFRhbXVyYSA8dGtlbnRAY2hyb21pdW0ub3JnPgpEYXRl
OiBUdWUsIDIwIE9jdCAyMDA5IDEzOjA4OjQ4ICswOTAwClN1YmplY3Q6IFtQQVRDSF0gYWRkLWRh
dGV0aW1lLXR5cGVzLTcKCi0tLQogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgfCAgIDExICsKIC4uLi9mYXN0L2Zvcm1zL2lucHV0LXR5cGUtY2hhbmdl
My1leHBlY3RlZC50eHQgICAgIHwgICA0NCArKwogTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9pbnB1
dC10eXBlLWNoYW5nZTMuaHRtbCAgICAgfCAgIDEzICsKIC4uLi9mYXN0L2Zvcm1zL3NjcmlwdC10
ZXN0cy9pbnB1dC10eXBlLWNoYW5nZTMuanMgIHwgICA1NiArKysKIFdlYkNvcmUvQ2hhbmdlTG9n
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAzNCArKwogV2ViQ29yZS9odG1s
L0hUTUxJbnB1dEVsZW1lbnQuY3BwICAgICAgICAgICAgICAgICAgfCAgNDE5ICsrKysrKysrKysr
LS0tLS0tLS0tCiBXZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oICAgICAgICAgICAgICAg
ICAgICB8ICAgMTAgKy0KIDcgZmlsZXMgY2hhbmdlZCwgNDA4IGluc2VydGlvbnMoKyksIDE3OSBk
ZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lu
cHV0LXR5cGUtY2hhbmdlMy1leHBlY3RlZC50eHQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL2lucHV0LXR5cGUtY2hhbmdlMy5odG1sCiBjcmVhdGUgbW9kZSAxMDA2
NDQgTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvaW5wdXQtdHlwZS1jaGFuZ2Uz
LmpzCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCmluZGV4IDQ4YzRiNzIuLjU0YjNiOWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0No
YW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAw
OS0wOS0wMSAgS2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHRlc3RzIGZvciByZWFkaW5n
L3dyaXRpbmcgLnR5cGUgcHJvcGVydHkgb2YgSFRNTElucHV0RWxlbWVudC4KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI5MDA0CisKKyAgICAgICAgKiBm
YXN0L2Zvcm1zL2lucHV0LXR5cGUtY2hhbmdlMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGZhc3QvZm9ybXMvaW5wdXQtdHlwZS1jaGFuZ2UzLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2lucHV0LXR5cGUtY2hhbmdlMy5qczogQWRkZWQuCisK
IDIwMDktMTEtMTAgIFZpdGFseSBSZXBlc2hrbyAgPHZpdGFseXJAY2hyb21pdW0ub3JnPgogCiAg
ICAgICAgIFJldmlld2VkIGJ5IERpbWl0cmkgR2xhemtvdi4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvaW5wdXQtdHlwZS1jaGFuZ2UzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvaW5wdXQtdHlwZS1jaGFuZ2UzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iM2I1NzU1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy9pbnB1dC10eXBlLWNoYW5nZTMtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsNDQgQEAKK1Rlc3RzIGZvciB3cml0aW5nIGFuZCByZWFkaW5nIC50eXBlIHByb3BlcnR5
IG9mIEhUTUxJbnB1dEVsZW1lbnQuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQ
QVNTIGlucHV0LnR5cGUgaXMgInRleHQiCitQQVNTIGlucHV0LnR5cGUgZm9yICJmaWxlIiBpcyBj
b3JyZWN0bHkgImZpbGUiLgorUEFTUyBpbnB1dC50eXBlIGZvciAidGV4dCIgaXMgY29ycmVjdGx5
ICJ0ZXh0Ii4KK1BBU1MgaW5wdXQudHlwZSBmb3IgIlRFWFQiIGlzIGNvcnJlY3RseSAidGV4dCIu
CitQQVNTIGlucHV0LnR5cGUgZm9yICIgdGV4dCAiIGlzIGNvcnJlY3RseSAidGV4dCIuCitQQVNT
IGlucHV0LnR5cGUgZm9yICJidXR0b24iIGlzIGNvcnJlY3RseSAiYnV0dG9uIi4KK1BBU1MgaW5w
dXQudHlwZSBmb3IgIiBidXR0b24gIiBpcyBjb3JyZWN0bHkgInRleHQiLgorUEFTUyBpbnB1dC50
eXBlIGZvciAiY2hlY2tib3giIGlzIGNvcnJlY3RseSAiY2hlY2tib3giLgorUEFTUyBpbnB1dC50
eXBlIGZvciAiY29sb3IiIGlzIGNvcnJlY3RseSAiY29sb3IiLgorUEFTUyBpbnB1dC50eXBlIGZv
ciAiZGF0ZSIgaXMgY29ycmVjdGx5ICJkYXRlIi4KK1BBU1MgaW5wdXQudHlwZSBmb3IgImRhdGV0
aW1lIiBpcyBjb3JyZWN0bHkgImRhdGV0aW1lIi4KK1BBU1MgaW5wdXQudHlwZSBmb3IgImRhdGV0
aW1lLWxvY2FsIiBpcyBjb3JyZWN0bHkgImRhdGV0aW1lLWxvY2FsIi4KK1BBU1MgaW5wdXQudHlw
ZSBmb3IgImRhdGV0aW1lbG9jYWwiIGlzIGNvcnJlY3RseSAidGV4dCIuCitQQVNTIGlucHV0LnR5
cGUgZm9yICJkYXRldGltZV9sb2NhbCIgaXMgY29ycmVjdGx5ICJ0ZXh0Ii4KK1BBU1MgaW5wdXQu
dHlwZSBmb3IgImVtYWlsIiBpcyBjb3JyZWN0bHkgImVtYWlsIi4KK1BBU1MgaW5wdXQudHlwZSBm
b3IgImZpbGUiIGlzIGNvcnJlY3RseSAiZW1haWwiLgorUEFTUyBpbnB1dC50eXBlIGZvciAiaGlk
ZGVuIiBpcyBjb3JyZWN0bHkgImhpZGRlbiIuCitQQVNTIGlucHV0LnR5cGUgZm9yICJpbWFnZSIg
aXMgY29ycmVjdGx5ICJpbWFnZSIuCitQQVNTIGlucHV0LnR5cGUgZm9yICJpc2luZGV4IiBpcyBj
b3JyZWN0bHkgInRleHQiLgorUEFTUyBpbnB1dC50eXBlIGZvciAia2h0bWxfaXNpbmRleCIgaXMg
Y29ycmVjdGx5ICIiLgorUEFTUyBpbnB1dC50eXBlIGZvciAibW9udGgiIGlzIGNvcnJlY3RseSAi
bW9udGgiLgorUEFTUyBpbnB1dC50eXBlIGZvciAibnVtYmVyIiBpcyBjb3JyZWN0bHkgIm51bWJl
ciIuCitQQVNTIGlucHV0LnR5cGUgZm9yICJwYXNzd29yZCIgaXMgY29ycmVjdGx5ICJwYXNzd29y
ZCIuCitQQVNTIGlucHV0LnR5cGUgZm9yICJwYXNzd2QiIGlzIGNvcnJlY3RseSAidGV4dCIuCitQ
QVNTIGlucHV0LnR5cGUgZm9yICJyYWRpbyIgaXMgY29ycmVjdGx5ICJyYWRpbyIuCitQQVNTIGlu
cHV0LnR5cGUgZm9yICJyYW5nZSIgaXMgY29ycmVjdGx5ICJyYW5nZSIuCitQQVNTIGlucHV0LnR5
cGUgZm9yICJyZXNldCIgaXMgY29ycmVjdGx5ICJyZXNldCIuCitQQVNTIGlucHV0LnR5cGUgZm9y
ICJzZWFyY2giIGlzIGNvcnJlY3RseSAic2VhcmNoIi4KK1BBU1MgaW5wdXQudHlwZSBmb3IgInN1
Ym1pdCIgaXMgY29ycmVjdGx5ICJzdWJtaXQiLgorUEFTUyBpbnB1dC50eXBlIGZvciAidGVsIiBp
cyBjb3JyZWN0bHkgInRlbCIuCitQQVNTIGlucHV0LnR5cGUgZm9yICJ0ZWxlcGhvbmUiIGlzIGNv
cnJlY3RseSAidGV4dCIuCitQQVNTIGlucHV0LnR5cGUgZm9yICJ0aW1lIiBpcyBjb3JyZWN0bHkg
InRpbWUiLgorUEFTUyBpbnB1dC50eXBlIGZvciAidXJsIiBpcyBjb3JyZWN0bHkgInVybCIuCitQ
QVNTIGlucHV0LnR5cGUgZm9yICJ1cmkiIGlzIGNvcnJlY3RseSAidGV4dCIuCitQQVNTIGlucHV0
LnR5cGUgZm9yICJ3ZWVrIiBpcyBjb3JyZWN0bHkgIndlZWsiLgorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvaW5wdXQtdHlwZS1jaGFuZ2UzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL2lucHV0LXR5cGUtY2hhbmdlMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAuLmYxOTgyMGYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L2lucHV0LXR5cGUtY2hhbmdlMy5odG1sCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayBy
ZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5
bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL2lu
cHV0LXR5cGUtY2hhbmdlMy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2lucHV0LXR5
cGUtY2hhbmdlMy5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2lucHV0
LXR5cGUtY2hhbmdlMy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mY2Nl
N2ZhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVz
dHMvaW5wdXQtdHlwZS1jaGFuZ2UzLmpzCkBAIC0wLDAgKzEsNTYgQEAKK2Rlc2NyaXB0aW9uKCdU
ZXN0cyBmb3Igd3JpdGluZyBhbmQgcmVhZGluZyAudHlwZSBwcm9wZXJ0eSBvZiBIVE1MSW5wdXRF
bGVtZW50LicpOworCit2YXIgaW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcp
OworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpbnB1dCk7CisKKy8vIFRoZSBkZWZhdWx0IHR5
cGUgaXMgInRleHQiLgorc2hvdWxkQmUoJ2lucHV0LnR5cGUnLCAnInRleHQiJyk7CisKK2Z1bmN0
aW9uIGNoZWNrKHZhbHVlLCBleHBlY3RlZCkKK3sKKyAgICBpbnB1dC50eXBlID0gdmFsdWU7Cisg
ICAgaWYgKGlucHV0LnR5cGUgPT0gZXhwZWN0ZWQpCisgICAgICAgIHRlc3RQYXNzZWQoJ2lucHV0
LnR5cGUgZm9yICInICsgdmFsdWUgKyAnIiBpcyBjb3JyZWN0bHkgIicgKyBpbnB1dC50eXBlICsg
JyIuJyk7CisgICAgZWxzZQorICAgICAgICB0ZXN0RmFpbGVkKCdpbnB1dC50eXBlIGZvciAiJyAr
IHZhbHVlICsgJyIgaXMgaW5jb3JyZWN0bHkgIicgKyBpbnB1dC50eXBlICsgJyIsIHNob3VsZCBi
ZSAiJyArIGV4cGVjdGVkICsgJyIuJyk7Cit9CisKKy8vIFRoZSB0eXBlIGlzIG5vdCBzcGVjaWZp
ZWQgZXhwbGljaXRseS4gIFdlIGNhbiBjaGFuZ2UgaXQgdG8gImZpbGUiLgorY2hlY2soImZpbGUi
LCAiZmlsZSIpOworCitjaGVjaygidGV4dCIsICJ0ZXh0Iik7CitjaGVjaygiVEVYVCIsICJ0ZXh0
Iik7ICAvLyBpbnB1dC50eXBlIG11c3QgcmV0dXJuIGEgbG93ZXIgY2FzZSB2YWx1ZSBhY2NvcmRp
bmcgdG8gRE9NIExldmVsIDIuCitjaGVjaygiIHRleHQgIiwgInRleHQiKTsKK2NoZWNrKCJidXR0
b24iLCAiYnV0dG9uIik7CitjaGVjaygiIGJ1dHRvbiAiLCAidGV4dCIpOworY2hlY2soImNoZWNr
Ym94IiwgImNoZWNrYm94Iik7CitjaGVjaygiY29sb3IiLCAiY29sb3IiKTsKK2NoZWNrKCJkYXRl
IiwgImRhdGUiKTsKK2NoZWNrKCJkYXRldGltZSIsICJkYXRldGltZSIpOworY2hlY2soImRhdGV0
aW1lLWxvY2FsIiwgImRhdGV0aW1lLWxvY2FsIik7CitjaGVjaygiZGF0ZXRpbWVsb2NhbCIsICJ0
ZXh0Iik7CitjaGVjaygiZGF0ZXRpbWVfbG9jYWwiLCAidGV4dCIpOworY2hlY2soImVtYWlsIiwg
ImVtYWlsIik7CitjaGVjaygiZmlsZSIsICJlbWFpbCIpOyAvLyBXZSBjYW4ndCBjaGFuZ2UgYSBj
b25jcmV0ZSB0eXBlIHRvIGZpbGUgZm9yIGEgc2VjdXJpdHkgcmVhc29uLgorY2hlY2soImhpZGRl
biIsICJoaWRkZW4iKTsKK2NoZWNrKCJpbWFnZSIsICJpbWFnZSIpOworY2hlY2soImlzaW5kZXgi
LCAidGV4dCIpOworY2hlY2soImtodG1sX2lzaW5kZXgiLCAiIik7CitjaGVjaygibW9udGgiLCAi
bW9udGgiKTsKK2NoZWNrKCJudW1iZXIiLCAibnVtYmVyIik7CitjaGVjaygicGFzc3dvcmQiLCAi
cGFzc3dvcmQiKTsKK2NoZWNrKCJwYXNzd2QiLCAidGV4dCIpOworY2hlY2soInJhZGlvIiwgInJh
ZGlvIik7CitjaGVjaygicmFuZ2UiLCAicmFuZ2UiKTsKK2NoZWNrKCJyZXNldCIsICJyZXNldCIp
OworY2hlY2soInNlYXJjaCIsICJzZWFyY2giKTsKK2NoZWNrKCJzdWJtaXQiLCAic3VibWl0Iik7
CitjaGVjaygidGVsIiwgInRlbCIpOworY2hlY2soInRlbGVwaG9uZSIsICJ0ZXh0Iik7CitjaGVj
aygidGltZSIsICJ0aW1lIik7CitjaGVjaygidXJsIiwgInVybCIpOworY2hlY2soInVyaSIsICJ0
ZXh0Iik7CitjaGVjaygid2VlayIsICJ3ZWVrIik7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQg
PSB0cnVlOworCmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdl
TG9nCmluZGV4IDgyNDY2YmUuLjZjZWU5YTcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9n
CisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzcgQEAKKzIwMDktMDktMDEgIEtl
bnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIC0gUmVjb2duaXplcyBkYXRlL2RhdGV0aW1lL2RhdGV0
aW1lLWxvY2FsL21vbnRoL3RpbWUvd2VlayB0eXBlcyBvZiBJTlBVVCBlbGVtZW50LgorICAgICAg
ICAgIFRoZXkgaGF2ZSBubyBkZWRpY2F0ZWQgVUkgYW5kIG5vIHR5cGUgdmFsaWRhdGlvbiBmb3Ig
bm93LgorICAgICAgICAtIENsZWFuIHVwIHNldElucHV0VHlwZSgpIGFuZCBmb3JtQ29udHJvbFR5
cGUoKSBvZiBIVE1MSW5wdXRFbGVtZW50LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjkwMDQKKworICAgICAgICBUZXN0OiBmYXN0L2Zvcm1zL2lucHV0
LXR5cGUtY2hhbmdlMy5odG1sCisKKyAgICAgICAgKiBodG1sL0hUTUxJbnB1dEVsZW1lbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6dmFsdWVNaXNzaW5nKToKKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQ6OnBhdHRlcm5NaXNtYXRjaCk6CisgICAg
ICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50Ojp0b29Mb25nKToKKyAgICAgICAgKFdlYkNv
cmU6OmNyZWF0ZVR5cGVNYXApOgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6
c2V0SW5wdXRUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZUZvcm1Db250cm9sVHlwZXMp
OgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6Zm9ybUNvbnRyb2xUeXBlKToK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQ6OnNhdmVGb3JtQ29udHJvbFN0YXRl
KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQ6OnJlc3RvcmVGb3JtQ29udHJv
bFN0YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQ6OmFjY2Vzc0tleUFj
dGlvbik6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50OjpyZW5kZXJlcklzTmVl
ZGVkKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQ6OmNyZWF0ZVJlbmRlcmVy
KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQ6OmFwcGVuZEZvcm1EYXRhKToK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQ6OmlzVGV4dEZpZWxkKToKKyAgICAg
ICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQ6OnZhbHVlV2l0aERlZmF1bHQpOgorICAgICAg
ICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6c3RvcmVzVmFsdWVTZXBhcmF0ZUZyb21BdHRy
aWJ1dGUpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6ZGVmYXVsdEV2ZW50
SGFuZGxlcik6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50Ojppc1JlcXVpcmVk
Rm9ybUNvbnRyb2wpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6ZGF0YUxp
c3QpOgorICAgICAgICAqIGh0bWwvSFRNTElucHV0RWxlbWVudC5oOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTElucHV0RWxlbWVudDo6KToKKwogMjAwOS0xMS0xMCAgVml0YWx5IFJlcGVzaGtvICA8
dml0YWx5ckBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGltaXRyaSBHbGF6
a292LgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwIGIvV2Vi
Q29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCmluZGV4IGYyNWM5MDguLjVhZTVlN2YgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcAorKysgYi9XZWJDb3Jl
L2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAKQEAgLTU5LDcgKzU5LDkgQEAKICNpbmNsdWRlICJS
ZW5kZXJUZXh0LmgiCiAjaW5jbHVkZSAiUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmgiCiAj
aW5jbHVkZSAiUmVuZGVyVGhlbWUuaCIKKyNpbmNsdWRlICJTdHJpbmdIYXNoLmgiCiAjaW5jbHVk
ZSAiVGV4dEV2ZW50LmgiCisjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYv
TWF0aEV4dHJhcy5oPgogI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KIApAQCAtMTI2LDE0
ICsxMjgsMjAgQEAgYm9vbCBIVE1MSW5wdXRFbGVtZW50Ojp2YWx1ZU1pc3NpbmcoKSBjb25zdAog
ICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBzd2l0Y2ggKGlucHV0VHlwZSgpKSB7Ci0gICAg
ICAgIGNhc2UgVEVYVDoKLSAgICAgICAgY2FzZSBTRUFSQ0g6Ci0gICAgICAgIGNhc2UgVVJMOgot
ICAgICAgICBjYXNlIFRFTEVQSE9ORToKKyAgICAgICAgY2FzZSBEQVRFOgorICAgICAgICBjYXNl
IERBVEVUSU1FOgorICAgICAgICBjYXNlIERBVEVUSU1FTE9DQUw6CiAgICAgICAgIGNhc2UgRU1B
SUw6Ci0gICAgICAgIGNhc2UgUEFTU1dPUkQ6Ci0gICAgICAgIGNhc2UgTlVNQkVSOgogICAgICAg
ICBjYXNlIEZJTEU6CisgICAgICAgIGNhc2UgTU9OVEg6CisgICAgICAgIGNhc2UgTlVNQkVSOgor
ICAgICAgICBjYXNlIFBBU1NXT1JEOgorICAgICAgICBjYXNlIFNFQVJDSDoKKyAgICAgICAgY2Fz
ZSBURUxFUEhPTkU6CisgICAgICAgIGNhc2UgVEVYVDoKKyAgICAgICAgY2FzZSBUSU1FOgorICAg
ICAgICBjYXNlIFVSTDoKKyAgICAgICAgY2FzZSBXRUVLOgogICAgICAgICAgICAgcmV0dXJuIHZh
bHVlKCkuaXNFbXB0eSgpOwogICAgICAgICBjYXNlIENIRUNLQk9YOgogICAgICAgICAgICAgcmV0
dXJuICFjaGVja2VkKCk7CkBAIC0xNDEsMTMgKzE0OSwxMyBAQCBib29sIEhUTUxJbnB1dEVsZW1l
bnQ6OnZhbHVlTWlzc2luZygpIGNvbnN0CiAgICAgICAgICAgICByZXR1cm4gIWRvY3VtZW50KCkt
PmNoZWNrZWRSYWRpb0J1dHRvbnMoKS5jaGVja2VkQnV0dG9uRm9yR3JvdXAobmFtZSgpKTsKICAg
ICAgICAgY2FzZSBDT0xPUjoKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgY2Fz
ZSBCVVRUT046CiAgICAgICAgIGNhc2UgSElEREVOOgotICAgICAgICBjYXNlIFJBTkdFOgotICAg
ICAgICBjYXNlIFNVQk1JVDoKICAgICAgICAgY2FzZSBJTUFHRToKLSAgICAgICAgY2FzZSBSRVNF
VDoKLSAgICAgICAgY2FzZSBCVVRUT046CiAgICAgICAgIGNhc2UgSVNJTkRFWDoKKyAgICAgICAg
Y2FzZSBSQU5HRToKKyAgICAgICAgY2FzZSBSRVNFVDoKKyAgICAgICAgY2FzZSBTVUJNSVQ6CiAg
ICAgICAgICAgICBicmVhazsKICAgICB9CiAKQEAgLTE1OCwyNSArMTY2LDMxIEBAIGJvb2wgSFRN
TElucHV0RWxlbWVudDo6dmFsdWVNaXNzaW5nKCkgY29uc3QKIGJvb2wgSFRNTElucHV0RWxlbWVu
dDo6cGF0dGVybk1pc21hdGNoKCkgY29uc3QKIHsKICAgICBzd2l0Y2ggKGlucHV0VHlwZSgpKSB7
Ci0gICAgICAgIGNhc2UgSVNJTkRFWDoKKyAgICAgICAgY2FzZSBCVVRUT046CiAgICAgICAgIGNh
c2UgQ0hFQ0tCT1g6Ci0gICAgICAgIGNhc2UgUkFESU86Ci0gICAgICAgIGNhc2UgU1VCTUlUOgot
ICAgICAgICBjYXNlIFJFU0VUOgorICAgICAgICBjYXNlIENPTE9SOgorICAgICAgICBjYXNlIERB
VEU6CisgICAgICAgIGNhc2UgREFURVRJTUU6CisgICAgICAgIGNhc2UgREFURVRJTUVMT0NBTDoK
ICAgICAgICAgY2FzZSBGSUxFOgogICAgICAgICBjYXNlIEhJRERFTjoKICAgICAgICAgY2FzZSBJ
TUFHRToKLSAgICAgICAgY2FzZSBCVVRUT046Ci0gICAgICAgIGNhc2UgUkFOR0U6CisgICAgICAg
IGNhc2UgSVNJTkRFWDoKKyAgICAgICAgY2FzZSBNT05USDoKICAgICAgICAgY2FzZSBOVU1CRVI6
Ci0gICAgICAgIGNhc2UgQ09MT1I6CisgICAgICAgIGNhc2UgUkFESU86CisgICAgICAgIGNhc2Ug
UkFOR0U6CisgICAgICAgIGNhc2UgUkVTRVQ6CisgICAgICAgIGNhc2UgU1VCTUlUOgorICAgICAg
ICBjYXNlIFRJTUU6CisgICAgICAgIGNhc2UgV0VFSzoKICAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKLSAgICAgICAgY2FzZSBURVhUOgotICAgICAgICBjYXNlIFNFQVJDSDoKLSAgICAgICAgY2Fz
ZSBVUkw6Ci0gICAgICAgIGNhc2UgVEVMRVBIT05FOgogICAgICAgICBjYXNlIEVNQUlMOgogICAg
ICAgICBjYXNlIFBBU1NXT1JEOgorICAgICAgICBjYXNlIFNFQVJDSDoKKyAgICAgICAgY2FzZSBU
RUxFUEhPTkU6CisgICAgICAgIGNhc2UgVEVYVDoKKyAgICAgICAgY2FzZSBVUkw6CiAgICAgICAg
ICAgICBjb25zdCBBdG9taWNTdHJpbmcmIHBhdHRlcm4gPSBnZXRBdHRyaWJ1dGUocGF0dGVybkF0
dHIpOwogICAgICAgICAgICAgU3RyaW5nIHZhbHVlID0gdGhpcy0+dmFsdWUoKTsKIApAQCAtMjE3
LDE1ICsyMzEsMjEgQEAgYm9vbCBIVE1MSW5wdXRFbGVtZW50Ojp0b29Mb25nKCkgY29uc3QKICAg
ICBjYXNlIEJVVFRPTjoKICAgICBjYXNlIENIRUNLQk9YOgogICAgIGNhc2UgQ09MT1I6CisgICAg
Y2FzZSBEQVRFOgorICAgIGNhc2UgREFURVRJTUU6CisgICAgY2FzZSBEQVRFVElNRUxPQ0FMOgog
ICAgIGNhc2UgRklMRToKICAgICBjYXNlIEhJRERFTjoKICAgICBjYXNlIElNQUdFOgogICAgIGNh
c2UgSVNJTkRFWDoKKyAgICBjYXNlIE1PTlRIOgogICAgIGNhc2UgTlVNQkVSOgogICAgIGNhc2Ug
UkFESU86CiAgICAgY2FzZSBSQU5HRToKICAgICBjYXNlIFJFU0VUOgogICAgIGNhc2UgU1VCTUlU
OgorICAgIGNhc2UgVElNRToKKyAgICBjYXNlIFdFRUs6CiAgICAgICAgIHJldHVybiBmYWxzZTsK
ICAgICB9CiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CkBAIC0zNzIsNDQgKzM5Miw0NCBAQCB2
b2lkIEhUTUxJbnB1dEVsZW1lbnQ6OnNldFR5cGUoY29uc3QgU3RyaW5nJiB0KQogICAgICAgICBz
ZXRBdHRyaWJ1dGUodHlwZUF0dHIsIHQpOwogfQogCit0eXBlZGVmIEhhc2hNYXA8U3RyaW5nLCBI
VE1MSW5wdXRFbGVtZW50OjpJbnB1dFR5cGUsIENhc2VGb2xkaW5nSGFzaD4gSW5wdXRUeXBlTWFw
Oworc3RhdGljIGNvbnN0IElucHV0VHlwZU1hcCogY3JlYXRlVHlwZU1hcCgpCit7CisgICAgSW5w
dXRUeXBlTWFwKiBtYXAgPSBuZXcgSW5wdXRUeXBlTWFwOworICAgIG1hcC0+YWRkKCJidXR0b24i
LCBIVE1MSW5wdXRFbGVtZW50OjpCVVRUT04pOworICAgIG1hcC0+YWRkKCJjaGVja2JveCIsIEhU
TUxJbnB1dEVsZW1lbnQ6OkNIRUNLQk9YKTsKKyAgICBtYXAtPmFkZCgiY29sb3IiLCBIVE1MSW5w
dXRFbGVtZW50OjpDT0xPUik7CisgICAgbWFwLT5hZGQoImRhdGUiLCBIVE1MSW5wdXRFbGVtZW50
OjpEQVRFKTsKKyAgICBtYXAtPmFkZCgiZGF0ZXRpbWUiLCBIVE1MSW5wdXRFbGVtZW50OjpEQVRF
VElNRSk7CisgICAgbWFwLT5hZGQoImRhdGV0aW1lLWxvY2FsIiwgSFRNTElucHV0RWxlbWVudDo6
REFURVRJTUVMT0NBTCk7CisgICAgbWFwLT5hZGQoImVtYWlsIiwgSFRNTElucHV0RWxlbWVudDo6
RU1BSUwpOworICAgIG1hcC0+YWRkKCJmaWxlIiwgSFRNTElucHV0RWxlbWVudDo6RklMRSk7Cisg
ICAgbWFwLT5hZGQoImhpZGRlbiIsIEhUTUxJbnB1dEVsZW1lbnQ6OkhJRERFTik7CisgICAgbWFw
LT5hZGQoImltYWdlIiwgSFRNTElucHV0RWxlbWVudDo6SU1BR0UpOworICAgIG1hcC0+YWRkKCJr
aHRtbF9pc2luZGV4IiwgSFRNTElucHV0RWxlbWVudDo6SVNJTkRFWCk7CisgICAgbWFwLT5hZGQo
Im1vbnRoIiwgSFRNTElucHV0RWxlbWVudDo6TU9OVEgpOworICAgIG1hcC0+YWRkKCJudW1iZXIi
LCBIVE1MSW5wdXRFbGVtZW50OjpOVU1CRVIpOworICAgIG1hcC0+YWRkKCJwYXNzd29yZCIsIEhU
TUxJbnB1dEVsZW1lbnQ6OlBBU1NXT1JEKTsKKyAgICBtYXAtPmFkZCgicmFkaW8iLCBIVE1MSW5w
dXRFbGVtZW50OjpSQURJTyk7CisgICAgbWFwLT5hZGQoInJhbmdlIiwgSFRNTElucHV0RWxlbWVu
dDo6UkFOR0UpOworICAgIG1hcC0+YWRkKCJyZXNldCIsIEhUTUxJbnB1dEVsZW1lbnQ6OlJFU0VU
KTsKKyAgICBtYXAtPmFkZCgic2VhcmNoIiwgSFRNTElucHV0RWxlbWVudDo6U0VBUkNIKTsKKyAg
ICBtYXAtPmFkZCgic3VibWl0IiwgSFRNTElucHV0RWxlbWVudDo6U1VCTUlUKTsKKyAgICBtYXAt
PmFkZCgidGVsIiwgSFRNTElucHV0RWxlbWVudDo6VEVMRVBIT05FKTsKKyAgICBtYXAtPmFkZCgi
dGltZSIsIEhUTUxJbnB1dEVsZW1lbnQ6OlRJTUUpOworICAgIG1hcC0+YWRkKCJ1cmwiLCBIVE1M
SW5wdXRFbGVtZW50OjpVUkwpOworICAgIG1hcC0+YWRkKCJ3ZWVrIiwgSFRNTElucHV0RWxlbWVu
dDo6V0VFSyk7CisgICAgLy8gTm8gbmVlZCB0byByZWdpc3RlciAidGV4dCIgYmVjYXVzZSBpdCBp
cyB0aGUgZGVmYXVsdCB0eXBlLgorICAgIHJldHVybiBtYXA7Cit9CisKIHZvaWQgSFRNTElucHV0
RWxlbWVudDo6c2V0SW5wdXRUeXBlKGNvbnN0IFN0cmluZyYgdCkKIHsKKyAgICBzdGF0aWMgY29u
c3QgSW5wdXRUeXBlTWFwKiB0eXBlTWFwID0gY3JlYXRlVHlwZU1hcCgpOwogICAgIElucHV0VHlw
ZSBuZXdUeXBlOwotICAgIAotICAgIGlmIChlcXVhbElnbm9yaW5nQ2FzZSh0LCAicGFzc3dvcmQi
KSkKLSAgICAgICAgbmV3VHlwZSA9IFBBU1NXT1JEOwotICAgIGVsc2UgaWYgKGVxdWFsSWdub3Jp
bmdDYXNlKHQsICJjaGVja2JveCIpKQotICAgICAgICBuZXdUeXBlID0gQ0hFQ0tCT1g7Ci0gICAg
ZWxzZSBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UodCwgInJhZGlvIikpCi0gICAgICAgIG5ld1R5cGUg
PSBSQURJTzsKLSAgICBlbHNlIGlmIChlcXVhbElnbm9yaW5nQ2FzZSh0LCAic3VibWl0IikpCi0g
ICAgICAgIG5ld1R5cGUgPSBTVUJNSVQ7Ci0gICAgZWxzZSBpZiAoZXF1YWxJZ25vcmluZ0Nhc2Uo
dCwgInJlc2V0IikpCi0gICAgICAgIG5ld1R5cGUgPSBSRVNFVDsKLSAgICBlbHNlIGlmIChlcXVh
bElnbm9yaW5nQ2FzZSh0LCAiZmlsZSIpKQotICAgICAgICBuZXdUeXBlID0gRklMRTsKLSAgICBl
bHNlIGlmIChlcXVhbElnbm9yaW5nQ2FzZSh0LCAiaGlkZGVuIikpCi0gICAgICAgIG5ld1R5cGUg
PSBISURERU47Ci0gICAgZWxzZSBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UodCwgImltYWdlIikpCi0g
ICAgICAgIG5ld1R5cGUgPSBJTUFHRTsKLSAgICBlbHNlIGlmIChlcXVhbElnbm9yaW5nQ2FzZSh0
LCAiYnV0dG9uIikpCi0gICAgICAgIG5ld1R5cGUgPSBCVVRUT047Ci0gICAgZWxzZSBpZiAoZXF1
YWxJZ25vcmluZ0Nhc2UodCwgImtodG1sX2lzaW5kZXgiKSkKLSAgICAgICAgbmV3VHlwZSA9IElT
SU5ERVg7Ci0gICAgZWxzZSBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UodCwgInNlYXJjaCIpKQotICAg
ICAgICBuZXdUeXBlID0gU0VBUkNIOwotICAgIGVsc2UgaWYgKGVxdWFsSWdub3JpbmdDYXNlKHQs
ICJyYW5nZSIpKQotICAgICAgICBuZXdUeXBlID0gUkFOR0U7Ci0gICAgZWxzZSBpZiAoZXF1YWxJ
Z25vcmluZ0Nhc2UodCwgImVtYWlsIikpCi0gICAgICAgIG5ld1R5cGUgPSBFTUFJTDsKLSAgICBl
bHNlIGlmIChlcXVhbElnbm9yaW5nQ2FzZSh0LCAibnVtYmVyIikpCi0gICAgICAgIG5ld1R5cGUg
PSBOVU1CRVI7Ci0gICAgZWxzZSBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UodCwgInRlbCIpKQotICAg
ICAgICBuZXdUeXBlID0gVEVMRVBIT05FOwotICAgIGVsc2UgaWYgKGVxdWFsSWdub3JpbmdDYXNl
KHQsICJ1cmwiKSkKLSAgICAgICAgbmV3VHlwZSA9IFVSTDsKLSAgICBlbHNlIGlmIChlcXVhbEln
bm9yaW5nQ2FzZSh0LCAiY29sb3IiKSkKLSAgICAgICAgbmV3VHlwZSA9IENPTE9SOworICAgIC8v
IGdldCgpIG9yIGNvbnRhaW5zKCkgd2l0aCBhIG51bGwgc3RyaW5nIGNhdXNlcyBhIGNyYXNoLgor
ICAgIGlmICghdC5pc051bGwoKSAmJiB0eXBlTWFwLT5jb250YWlucyh0KSkKKyAgICAgICAgbmV3
VHlwZSA9IHR5cGVNYXAtPmdldCh0KTsKICAgICBlbHNlCiAgICAgICAgIG5ld1R5cGUgPSBURVhU
OwogCkBAIC00ODIsODIgKzUwMiw0OCBAQCB2b2lkIEhUTUxJbnB1dEVsZW1lbnQ6OnNldElucHV0
VHlwZShjb25zdCBTdHJpbmcmIHQpCiAgICAgICAgIG1faW1hZ2VMb2FkZXIuY2xlYXIoKTsKIH0K
IAordHlwZWRlZiBIYXNoTWFwPEhUTUxJbnB1dEVsZW1lbnQ6OklucHV0VHlwZSwgQXRvbWljU3Ry
aW5nLCBXVEY6OkludEhhc2g8dW5zaWduZWQ+LCBXVEY6OlVuc2lnbmVkV2l0aFplcm9LZXlIYXNo
VHJhaXRzPHVuc2lnbmVkPiA+IEZvcm1Db250cm9sTWFwOworc3RhdGljIGNvbnN0IEZvcm1Db250
cm9sTWFwKiBjcmVhdGVGb3JtQ29udHJvbFR5cGVzKCkKK3sKKyAgICBGb3JtQ29udHJvbE1hcCog
dHlwZXMgPSBuZXcgRm9ybUNvbnRyb2xNYXA7CisgICAgLy8gVGhlIHZhbHVlcyBpbiB0aGUgbWFw
IG11c3QgYmUgbG93ZXJjYXNlZCBiZWNhdXNlIHRoZXkgd2lsbCBiZSB0aGUKKyAgICAvLyByZXR1
cm4gdmFsdWVzIG9mIGlucHV0LnR5cGUgYW5kIGl0IG11c3QgYmUgbG93ZXJjYXNlIGFjY29yZGlu
ZyB0byBET00gTGV2ZWwgMi4KKyAgICB0eXBlcy0+YWRkKEhUTUxJbnB1dEVsZW1lbnQ6OkJVVFRP
TiwgImJ1dHRvbiIpOworICAgIHR5cGVzLT5hZGQoSFRNTElucHV0RWxlbWVudDo6Q0hFQ0tCT1gs
ICJjaGVja2JveCIpOworICAgIHR5cGVzLT5hZGQoSFRNTElucHV0RWxlbWVudDo6Q09MT1IsICJj
b2xvciIpOworICAgIHR5cGVzLT5hZGQoSFRNTElucHV0RWxlbWVudDo6REFURSwgImRhdGUiKTsK
KyAgICB0eXBlcy0+YWRkKEhUTUxJbnB1dEVsZW1lbnQ6OkRBVEVUSU1FLCAiZGF0ZXRpbWUiKTsK
KyAgICB0eXBlcy0+YWRkKEhUTUxJbnB1dEVsZW1lbnQ6OkRBVEVUSU1FTE9DQUwsICJkYXRldGlt
ZS1sb2NhbCIpOworICAgIHR5cGVzLT5hZGQoSFRNTElucHV0RWxlbWVudDo6RU1BSUwsICJlbWFp
bCIpOworICAgIHR5cGVzLT5hZGQoSFRNTElucHV0RWxlbWVudDo6RklMRSwgImZpbGUiKTsKKyAg
ICB0eXBlcy0+YWRkKEhUTUxJbnB1dEVsZW1lbnQ6OkhJRERFTiwgImhpZGRlbiIpOworICAgIHR5
cGVzLT5hZGQoSFRNTElucHV0RWxlbWVudDo6SU1BR0UsICJpbWFnZSIpOworICAgIHR5cGVzLT5h
ZGQoSFRNTElucHV0RWxlbWVudDo6SVNJTkRFWCwgZW1wdHlBdG9tKTsKKyAgICB0eXBlcy0+YWRk
KEhUTUxJbnB1dEVsZW1lbnQ6Ok1PTlRILCAibW9udGgiKTsKKyAgICB0eXBlcy0+YWRkKEhUTUxJ
bnB1dEVsZW1lbnQ6Ok5VTUJFUiwgIm51bWJlciIpOworICAgIHR5cGVzLT5hZGQoSFRNTElucHV0
RWxlbWVudDo6UEFTU1dPUkQsICJwYXNzd29yZCIpOworICAgIHR5cGVzLT5hZGQoSFRNTElucHV0
RWxlbWVudDo6UkFESU8sICJyYWRpbyIpOworICAgIHR5cGVzLT5hZGQoSFRNTElucHV0RWxlbWVu
dDo6UkFOR0UsICJyYW5nZSIpOworICAgIHR5cGVzLT5hZGQoSFRNTElucHV0RWxlbWVudDo6UkVT
RVQsICJyZXNldCIpOworICAgIHR5cGVzLT5hZGQoSFRNTElucHV0RWxlbWVudDo6U0VBUkNILCAi
c2VhcmNoIik7CisgICAgdHlwZXMtPmFkZChIVE1MSW5wdXRFbGVtZW50OjpTVUJNSVQsICJzdWJt
aXQiKTsKKyAgICB0eXBlcy0+YWRkKEhUTUxJbnB1dEVsZW1lbnQ6OlRFTEVQSE9ORSwgInRlbCIp
OworICAgIHR5cGVzLT5hZGQoSFRNTElucHV0RWxlbWVudDo6VEVYVCwgInRleHQiKTsKKyAgICB0
eXBlcy0+YWRkKEhUTUxJbnB1dEVsZW1lbnQ6OlRJTUUsICJ0aW1lIik7CisgICAgdHlwZXMtPmFk
ZChIVE1MSW5wdXRFbGVtZW50OjpVUkwsICJ1cmwiKTsKKyAgICB0eXBlcy0+YWRkKEhUTUxJbnB1
dEVsZW1lbnQ6OldFRUssICJ3ZWVrIik7CisgICAgcmV0dXJuIHR5cGVzOworfQorCiBjb25zdCBB
dG9taWNTdHJpbmcmIEhUTUxJbnB1dEVsZW1lbnQ6OmZvcm1Db250cm9sVHlwZSgpIGNvbnN0CiB7
Ci0gICAgLy8gbmVlZHMgdG8gYmUgbG93ZXJjYXNlIGFjY29yZGluZyB0byBET00gc3BlYwotICAg
IHN3aXRjaCAoaW5wdXRUeXBlKCkpIHsKLSAgICAgICAgY2FzZSBCVVRUT046IHsKLSAgICAgICAg
ICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgQXRvbWljU3RyaW5nLCBidXR0b24sICgiYnV0
dG9uIikpOwotICAgICAgICAgICAgcmV0dXJuIGJ1dHRvbjsKLSAgICAgICAgfQotICAgICAgICBj
YXNlIENIRUNLQk9YOiB7Ci0gICAgICAgICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0IEF0
b21pY1N0cmluZywgY2hlY2tib3gsICgiY2hlY2tib3giKSk7Ci0gICAgICAgICAgICByZXR1cm4g
Y2hlY2tib3g7Ci0gICAgICAgIH0KLSAgICAgICAgY2FzZSBDT0xPUjogewotICAgICAgICAgICAg
REVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBBdG9taWNTdHJpbmcsIGNvbG9yLCAoImNvbG9yIikp
OwotICAgICAgICAgICAgcmV0dXJuIGNvbG9yOwotICAgICAgICB9Ci0gICAgICAgIGNhc2UgRU1B
SUw6IHsKLSAgICAgICAgICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgQXRvbWljU3RyaW5n
LCBlbWFpbCwgKCJlbWFpbCIpKTsKLSAgICAgICAgICAgIHJldHVybiBlbWFpbDsKLSAgICAgICAg
fQotICAgICAgICBjYXNlIEZJTEU6IHsKLSAgICAgICAgICAgIERFRklORV9TVEFUSUNfTE9DQUwo
Y29uc3QgQXRvbWljU3RyaW5nLCBmaWxlLCAoImZpbGUiKSk7Ci0gICAgICAgICAgICByZXR1cm4g
ZmlsZTsKLSAgICAgICAgfQotICAgICAgICBjYXNlIEhJRERFTjogewotICAgICAgICAgICAgREVG
SU5FX1NUQVRJQ19MT0NBTChjb25zdCBBdG9taWNTdHJpbmcsIGhpZGRlbiwgKCJoaWRkZW4iKSk7
Ci0gICAgICAgICAgICByZXR1cm4gaGlkZGVuOwotICAgICAgICB9Ci0gICAgICAgIGNhc2UgSU1B
R0U6IHsKLSAgICAgICAgICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgQXRvbWljU3RyaW5n
LCBpbWFnZSwgKCJpbWFnZSIpKTsKLSAgICAgICAgICAgIHJldHVybiBpbWFnZTsKLSAgICAgICAg
fQotICAgICAgICBjYXNlIElTSU5ERVg6Ci0gICAgICAgICAgICByZXR1cm4gZW1wdHlBdG9tOwot
ICAgICAgICBjYXNlIE5VTUJFUjogewotICAgICAgICAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChj
b25zdCBBdG9taWNTdHJpbmcsIG51bWJlciwgKCJudW1iZXIiKSk7Ci0gICAgICAgICAgICByZXR1
cm4gbnVtYmVyOwotICAgICAgICB9Ci0gICAgICAgIGNhc2UgUEFTU1dPUkQ6IHsKLSAgICAgICAg
ICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgQXRvbWljU3RyaW5nLCBwYXNzd29yZCwgKCJw
YXNzd29yZCIpKTsKLSAgICAgICAgICAgIHJldHVybiBwYXNzd29yZDsKLSAgICAgICAgfQotICAg
ICAgICBjYXNlIFJBRElPOiB7Ci0gICAgICAgICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0
IEF0b21pY1N0cmluZywgcmFkaW8sICgicmFkaW8iKSk7Ci0gICAgICAgICAgICByZXR1cm4gcmFk
aW87Ci0gICAgICAgIH0KLSAgICAgICAgY2FzZSBSQU5HRTogewotICAgICAgICAgICAgREVGSU5F
X1NUQVRJQ19MT0NBTChjb25zdCBBdG9taWNTdHJpbmcsIHJhbmdlLCAoInJhbmdlIikpOwotICAg
ICAgICAgICAgcmV0dXJuIHJhbmdlOwotICAgICAgICB9Ci0gICAgICAgIGNhc2UgUkVTRVQ6IHsK
LSAgICAgICAgICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgQXRvbWljU3RyaW5nLCByZXNl
dCwgKCJyZXNldCIpKTsKLSAgICAgICAgICAgIHJldHVybiByZXNldDsKLSAgICAgICAgfQotICAg
ICAgICBjYXNlIFNFQVJDSDogewotICAgICAgICAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25z
dCBBdG9taWNTdHJpbmcsIHNlYXJjaCwgKCJzZWFyY2giKSk7Ci0gICAgICAgICAgICByZXR1cm4g
c2VhcmNoOwotICAgICAgICB9Ci0gICAgICAgIGNhc2UgU1VCTUlUOiB7Ci0gICAgICAgICAgICBE
RUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0IEF0b21pY1N0cmluZywgc3VibWl0LCAoInN1Ym1pdCIp
KTsKLSAgICAgICAgICAgIHJldHVybiBzdWJtaXQ7Ci0gICAgICAgIH0KLSAgICAgICAgY2FzZSBU
RUxFUEhPTkU6IHsKLSAgICAgICAgICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgQXRvbWlj
U3RyaW5nLCB0ZWxlcGhvbmUsICgidGVsIikpOwotICAgICAgICAgICAgcmV0dXJuIHRlbGVwaG9u
ZTsKLSAgICAgICAgfQotICAgICAgICBjYXNlIFRFWFQ6IHsKLSAgICAgICAgICAgIERFRklORV9T
VEFUSUNfTE9DQUwoY29uc3QgQXRvbWljU3RyaW5nLCB0ZXh0LCAoInRleHQiKSk7Ci0gICAgICAg
ICAgICByZXR1cm4gdGV4dDsKLSAgICAgICAgfQotICAgICAgICBjYXNlIFVSTDogewotICAgICAg
ICAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBBdG9taWNTdHJpbmcsIHVybCwgKCJ1cmwi
KSk7Ci0gICAgICAgICAgICByZXR1cm4gdXJsOwotICAgICAgICB9Ci0gICAgfQotICAgIHJldHVy
biBlbXB0eUF0b207CisgICAgc3RhdGljIGNvbnN0IEZvcm1Db250cm9sTWFwKiBmb3JtQ29udHJv
bFR5cGVzID0gY3JlYXRlRm9ybUNvbnRyb2xUeXBlcygpOworICAgIEFTU0VSVChmb3JtQ29udHJv
bFR5cGVzLT5jb250YWlucyhpbnB1dFR5cGUoKSkpOworICAgIC8vIERvbid0IGRvICJyZXR1cm4g
Zm9ybUNvbnRyb2xUeXBlcy0+Z2V0KGlucHV0VHlwZSgpKSIgaGVyZS4KKyAgICAvLyBJbiB0aGF0
IGNhc2UsIGNvbXBpbGVycyBnZW5lcmF0ZSBjb2RlIGxpa2U6CisgICAgLy8gICBBdG9taWNTdHJp
bmcgc3RyID0gZm9ybUNvbnRyb2xUeXBlcy0+Z2V0KGlucHV0VHlwZSgpKTsKKyAgICAvLyAgIHJl
dHVybiAmc3RyOworICAgIHJldHVybiBmb3JtQ29udHJvbFR5cGVzLT5maW5kKGlucHV0VHlwZSgp
KS0+c2Vjb25kOwogfQogCiBib29sIEhUTUxJbnB1dEVsZW1lbnQ6OnNhdmVGb3JtQ29udHJvbFN0
YXRlKFN0cmluZyYgcmVzdWx0KSBjb25zdApAQCAtNTY4LDExICs1NTQsMTUgQEAgYm9vbCBIVE1M
SW5wdXRFbGVtZW50OjpzYXZlRm9ybUNvbnRyb2xTdGF0ZShTdHJpbmcmIHJlc3VsdCkgY29uc3QK
ICAgICBzd2l0Y2ggKGlucHV0VHlwZSgpKSB7CiAgICAgICAgIGNhc2UgQlVUVE9OOgogICAgICAg
ICBjYXNlIENPTE9SOgorICAgICAgICBjYXNlIERBVEU6CisgICAgICAgIGNhc2UgREFURVRJTUU6
CisgICAgICAgIGNhc2UgREFURVRJTUVMT0NBTDoKICAgICAgICAgY2FzZSBFTUFJTDoKICAgICAg
ICAgY2FzZSBGSUxFOgogICAgICAgICBjYXNlIEhJRERFTjoKICAgICAgICAgY2FzZSBJTUFHRToK
ICAgICAgICAgY2FzZSBJU0lOREVYOgorICAgICAgICBjYXNlIE1PTlRIOgogICAgICAgICBjYXNl
IE5VTUJFUjoKICAgICAgICAgY2FzZSBSQU5HRToKICAgICAgICAgY2FzZSBSRVNFVDoKQEAgLTU4
MCw3ICs1NzAsOSBAQCBib29sIEhUTUxJbnB1dEVsZW1lbnQ6OnNhdmVGb3JtQ29udHJvbFN0YXRl
KFN0cmluZyYgcmVzdWx0KSBjb25zdAogICAgICAgICBjYXNlIFNVQk1JVDoKICAgICAgICAgY2Fz
ZSBURUxFUEhPTkU6CiAgICAgICAgIGNhc2UgVEVYVDoKKyAgICAgICAgY2FzZSBUSU1FOgogICAg
ICAgICBjYXNlIFVSTDoKKyAgICAgICAgY2FzZSBXRUVLOgogICAgICAgICAgICAgcmVzdWx0ID0g
dmFsdWUoKTsKICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICBjYXNlIENIRUNLQk9Y
OgpAQCAtNjAwLDExICs1OTIsMTUgQEAgdm9pZCBIVE1MSW5wdXRFbGVtZW50OjpyZXN0b3JlRm9y
bUNvbnRyb2xTdGF0ZShjb25zdCBTdHJpbmcmIHN0YXRlKQogICAgIHN3aXRjaCAoaW5wdXRUeXBl
KCkpIHsKICAgICAgICAgY2FzZSBCVVRUT046CiAgICAgICAgIGNhc2UgQ09MT1I6CisgICAgICAg
IGNhc2UgREFURToKKyAgICAgICAgY2FzZSBEQVRFVElNRToKKyAgICAgICAgY2FzZSBEQVRFVElN
RUxPQ0FMOgogICAgICAgICBjYXNlIEVNQUlMOgogICAgICAgICBjYXNlIEZJTEU6CiAgICAgICAg
IGNhc2UgSElEREVOOgogICAgICAgICBjYXNlIElNQUdFOgogICAgICAgICBjYXNlIElTSU5ERVg6
CisgICAgICAgIGNhc2UgTU9OVEg6CiAgICAgICAgIGNhc2UgTlVNQkVSOgogICAgICAgICBjYXNl
IFJBTkdFOgogICAgICAgICBjYXNlIFJFU0VUOgpAQCAtNjEyLDcgKzYwOCw5IEBAIHZvaWQgSFRN
TElucHV0RWxlbWVudDo6cmVzdG9yZUZvcm1Db250cm9sU3RhdGUoY29uc3QgU3RyaW5nJiBzdGF0
ZSkKICAgICAgICAgY2FzZSBTVUJNSVQ6CiAgICAgICAgIGNhc2UgVEVMRVBIT05FOgogICAgICAg
ICBjYXNlIFRFWFQ6CisgICAgICAgIGNhc2UgVElNRToKICAgICAgICAgY2FzZSBVUkw6CisgICAg
ICAgIGNhc2UgV0VFSzoKICAgICAgICAgICAgIHNldFZhbHVlKHN0YXRlKTsKICAgICAgICAgICAg
IGJyZWFrOwogICAgICAgICBjYXNlIENIRUNLQk9YOgpAQCAtNjU1LDE0ICs2NTMsMjAgQEAgdm9p
ZCBIVE1MSW5wdXRFbGVtZW50OjphY2Nlc3NLZXlBY3Rpb24oYm9vbCBzZW5kVG9BbnlFbGVtZW50
KQogICAgICAgICAgICAgLy8gYSBuby1vcCBmb3IgdGhpcyB0eXBlCiAgICAgICAgICAgICBicmVh
azsKICAgICAgICAgY2FzZSBDT0xPUjoKKyAgICAgICAgY2FzZSBEQVRFOgorICAgICAgICBjYXNl
IERBVEVUSU1FOgorICAgICAgICBjYXNlIERBVEVUSU1FTE9DQUw6CiAgICAgICAgIGNhc2UgRU1B
SUw6CiAgICAgICAgIGNhc2UgSVNJTkRFWDoKKyAgICAgICAgY2FzZSBNT05USDoKICAgICAgICAg
Y2FzZSBOVU1CRVI6CiAgICAgICAgIGNhc2UgUEFTU1dPUkQ6CiAgICAgICAgIGNhc2UgU0VBUkNI
OgogICAgICAgICBjYXNlIFRFTEVQSE9ORToKICAgICAgICAgY2FzZSBURVhUOgorICAgICAgICBj
YXNlIFRJTUU6CiAgICAgICAgIGNhc2UgVVJMOgorICAgICAgICBjYXNlIFdFRUs6CiAgICAgICAg
ICAgICAvLyBzaG91bGQgbmV2ZXIgcmVzdG9yZSBwcmV2aW91cyBzZWxlY3Rpb24gaGVyZQogICAg
ICAgICAgICAgZm9jdXMoZmFsc2UpOwogICAgICAgICAgICAgYnJlYWs7CkBAIC03ODksMzAgKzc5
Myw5IEBAIHZvaWQgSFRNTElucHV0RWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoTWFwcGVk
QXR0cmlidXRlICphdHRyKQogCiBib29sIEhUTUxJbnB1dEVsZW1lbnQ6OnJlbmRlcmVySXNOZWVk
ZWQoUmVuZGVyU3R5bGUgKnN0eWxlKQogewotICAgIHN3aXRjaCAoaW5wdXRUeXBlKCkpIHsKLSAg
ICAgICAgY2FzZSBCVVRUT046Ci0gICAgICAgIGNhc2UgQ0hFQ0tCT1g6Ci0gICAgICAgIGNhc2Ug
Q09MT1I6Ci0gICAgICAgIGNhc2UgRU1BSUw6Ci0gICAgICAgIGNhc2UgRklMRToKLSAgICAgICAg
Y2FzZSBJTUFHRToKLSAgICAgICAgY2FzZSBJU0lOREVYOgotICAgICAgICBjYXNlIE5VTUJFUjoK
LSAgICAgICAgY2FzZSBQQVNTV09SRDoKLSAgICAgICAgY2FzZSBSQURJTzoKLSAgICAgICAgY2Fz
ZSBSQU5HRToKLSAgICAgICAgY2FzZSBSRVNFVDoKLSAgICAgICAgY2FzZSBTRUFSQ0g6Ci0gICAg
ICAgIGNhc2UgU1VCTUlUOgotICAgICAgICBjYXNlIFRFTEVQSE9ORToKLSAgICAgICAgY2FzZSBU
RVhUOgotICAgICAgICBjYXNlIFVSTDoKLSAgICAgICAgICAgIHJldHVybiBIVE1MRm9ybUNvbnRy
b2xFbGVtZW50V2l0aFN0YXRlOjpyZW5kZXJlcklzTmVlZGVkKHN0eWxlKTsKLSAgICAgICAgY2Fz
ZSBISURERU46Ci0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQotICAgIEFTU0VSVChm
YWxzZSk7Ci0gICAgcmV0dXJuIGZhbHNlOworICAgIGlmIChpbnB1dFR5cGUoKSA9PSBISURERU4p
CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICByZXR1cm4gSFRNTEZvcm1Db250cm9sRWxlbWVu
dFdpdGhTdGF0ZTo6cmVuZGVyZXJJc05lZWRlZChzdHlsZSk7CiB9CiAKIFJlbmRlck9iamVjdCAq
SFRNTElucHV0RWxlbWVudDo6Y3JlYXRlUmVuZGVyZXIoUmVuZGVyQXJlbmEgKmFyZW5hLCBSZW5k
ZXJTdHlsZSAqc3R5bGUpCkBAIC04MzQsMTQgKzgxNywyMCBAQCBSZW5kZXJPYmplY3QgKkhUTUxJ
bnB1dEVsZW1lbnQ6OmNyZWF0ZVJlbmRlcmVyKFJlbmRlckFyZW5hICphcmVuYSwgUmVuZGVyU3R5
bGUgKgogICAgICAgICBjYXNlIFJBTkdFOgogICAgICAgICAgICAgcmV0dXJuIG5ldyAoYXJlbmEp
IFJlbmRlclNsaWRlcih0aGlzKTsKICAgICAgICAgY2FzZSBDT0xPUjoKKyAgICAgICAgY2FzZSBE
QVRFOgorICAgICAgICBjYXNlIERBVEVUSU1FOgorICAgICAgICBjYXNlIERBVEVUSU1FTE9DQUw6
CiAgICAgICAgIGNhc2UgRU1BSUw6CiAgICAgICAgIGNhc2UgSVNJTkRFWDoKKyAgICAgICAgY2Fz
ZSBNT05USDoKICAgICAgICAgY2FzZSBOVU1CRVI6CiAgICAgICAgIGNhc2UgUEFTU1dPUkQ6CiAg
ICAgICAgIGNhc2UgU0VBUkNIOgogICAgICAgICBjYXNlIFRFTEVQSE9ORToKICAgICAgICAgY2Fz
ZSBURVhUOgorICAgICAgICBjYXNlIFRJTUU6CiAgICAgICAgIGNhc2UgVVJMOgorICAgICAgICBj
YXNlIFdFRUs6CiAgICAgICAgICAgICByZXR1cm4gbmV3IChhcmVuYSkgUmVuZGVyVGV4dENvbnRy
b2xTaW5nbGVMaW5lKHRoaXMsIHBsYWNlaG9sZGVyU2hvdWxkQmVWaXNpYmxlKCkpOwogICAgIH0K
ICAgICBBU1NFUlQoZmFsc2UpOwpAQCAtOTIxLDE2ICs5MTAsMjIgQEAgYm9vbCBIVE1MSW5wdXRF
bGVtZW50OjphcHBlbmRGb3JtRGF0YShGb3JtRGF0YUxpc3QmIGVuY29kaW5nLCBib29sIG11bHRp
cGFydCkKIAogICAgIHN3aXRjaCAoaW5wdXRUeXBlKCkpIHsKICAgICAgICAgY2FzZSBDT0xPUjoK
KyAgICAgICAgY2FzZSBEQVRFOgorICAgICAgICBjYXNlIERBVEVUSU1FOgorICAgICAgICBjYXNl
IERBVEVUSU1FTE9DQUw6CiAgICAgICAgIGNhc2UgRU1BSUw6CiAgICAgICAgIGNhc2UgSElEREVO
OgogICAgICAgICBjYXNlIElTSU5ERVg6CisgICAgICAgIGNhc2UgTU9OVEg6CiAgICAgICAgIGNh
c2UgTlVNQkVSOgogICAgICAgICBjYXNlIFBBU1NXT1JEOgogICAgICAgICBjYXNlIFJBTkdFOgog
ICAgICAgICBjYXNlIFNFQVJDSDoKICAgICAgICAgY2FzZSBURUxFUEhPTkU6CiAgICAgICAgIGNh
c2UgVEVYVDoKKyAgICAgICAgY2FzZSBUSU1FOgogICAgICAgICBjYXNlIFVSTDoKKyAgICAgICAg
Y2FzZSBXRUVLOgogICAgICAgICAgICAgLy8gYWx3YXlzIHN1Y2Nlc3NmdWwKICAgICAgICAgICAg
IGVuY29kaW5nLmFwcGVuZERhdGEobmFtZSgpLCB2YWx1ZSgpKTsKICAgICAgICAgICAgIHJldHVy
biB0cnVlOwpAQCAtMTAwOCw2ICsxMDAzLDQwIEBAIHZvaWQgSFRNTElucHV0RWxlbWVudDo6cmVz
ZXQoKQogICAgIG1fdXNlRGVmYXVsdENoZWNrZWQgPSB0cnVlOwogfQogCitib29sIEhUTUxJbnB1
dEVsZW1lbnQ6OmlzVGV4dEZpZWxkKCkgY29uc3QKK3sKKyAgICBzd2l0Y2ggKGlucHV0VHlwZSgp
KSB7CisgICAgY2FzZSBDT0xPUjoKKyAgICBjYXNlIERBVEU6CisgICAgY2FzZSBEQVRFVElNRToK
KyAgICBjYXNlIERBVEVUSU1FTE9DQUw6CisgICAgY2FzZSBFTUFJTDoKKyAgICBjYXNlIElTSU5E
RVg6CisgICAgY2FzZSBNT05USDoKKyAgICBjYXNlIE5VTUJFUjoKKyAgICBjYXNlIFBBU1NXT1JE
OgorICAgIGNhc2UgU0VBUkNIOgorICAgIGNhc2UgVEVMRVBIT05FOgorICAgIGNhc2UgVEVYVDoK
KyAgICBjYXNlIFRJTUU6CisgICAgY2FzZSBVUkw6CisgICAgY2FzZSBXRUVLOgorICAgICAgICBy
ZXR1cm4gdHJ1ZTsKKyAgICBjYXNlIEJVVFRPTjoKKyAgICBjYXNlIENIRUNLQk9YOgorICAgIGNh
c2UgRklMRToKKyAgICBjYXNlIEhJRERFTjoKKyAgICBjYXNlIElNQUdFOgorICAgIGNhc2UgUkFE
SU86CisgICAgY2FzZSBSQU5HRToKKyAgICBjYXNlIFJFU0VUOgorICAgIGNhc2UgU1VCTUlUOgor
ICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwor
ICAgIHJldHVybiBmYWxzZTsKK30KKwogdm9pZCBIVE1MSW5wdXRFbGVtZW50OjpzZXRDaGVja2Vk
KGJvb2wgbm93Q2hlY2tlZCwgYm9vbCBzZW5kQ2hhbmdlRXZlbnQpCiB7CiAgICAgaWYgKGNoZWNr
ZWQoKSA9PSBub3dDaGVja2VkKQpAQCAtMTA5OSwxMSArMTEyOCwxNSBAQCBTdHJpbmcgSFRNTElu
cHV0RWxlbWVudDo6dmFsdWVXaXRoRGVmYXVsdCgpIGNvbnN0CiAgICAgICAgICAgICBjYXNlIEJV
VFRPTjoKICAgICAgICAgICAgIGNhc2UgQ0hFQ0tCT1g6CiAgICAgICAgICAgICBjYXNlIENPTE9S
OgorICAgICAgICAgICAgY2FzZSBEQVRFOgorICAgICAgICAgICAgY2FzZSBEQVRFVElNRToKKyAg
ICAgICAgICAgIGNhc2UgREFURVRJTUVMT0NBTDoKICAgICAgICAgICAgIGNhc2UgRU1BSUw6CiAg
ICAgICAgICAgICBjYXNlIEZJTEU6CiAgICAgICAgICAgICBjYXNlIEhJRERFTjoKICAgICAgICAg
ICAgIGNhc2UgSU1BR0U6CiAgICAgICAgICAgICBjYXNlIElTSU5ERVg6CisgICAgICAgICAgICBj
YXNlIE1PTlRIOgogICAgICAgICAgICAgY2FzZSBOVU1CRVI6CiAgICAgICAgICAgICBjYXNlIFBB
U1NXT1JEOgogICAgICAgICAgICAgY2FzZSBSQURJTzoKQEAgLTExMTEsNyArMTE0NCw5IEBAIFN0
cmluZyBIVE1MSW5wdXRFbGVtZW50Ojp2YWx1ZVdpdGhEZWZhdWx0KCkgY29uc3QKICAgICAgICAg
ICAgIGNhc2UgU0VBUkNIOgogICAgICAgICAgICAgY2FzZSBURUxFUEhPTkU6CiAgICAgICAgICAg
ICBjYXNlIFRFWFQ6CisgICAgICAgICAgICBjYXNlIFRJTUU6CiAgICAgICAgICAgICBjYXNlIFVS
TDoKKyAgICAgICAgICAgIGNhc2UgV0VFSzoKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAg
ICAgICAgIGNhc2UgUkVTRVQ6CiAgICAgICAgICAgICAgICAgdiA9IHJlc2V0QnV0dG9uRGVmYXVs
dExhYmVsKCk7CkBAIC0xMjA5LDE2ICsxMjQ0LDIyIEBAIGJvb2wgSFRNTElucHV0RWxlbWVudDo6
c3RvcmVzVmFsdWVTZXBhcmF0ZUZyb21BdHRyaWJ1dGUoKSBjb25zdAogICAgICAgICBjYXNlIFNV
Qk1JVDoKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgY2FzZSBDT0xPUjoKKyAg
ICAgICAgY2FzZSBEQVRFOgorICAgICAgICBjYXNlIERBVEVUSU1FOgorICAgICAgICBjYXNlIERB
VEVUSU1FTE9DQUw6CiAgICAgICAgIGNhc2UgRU1BSUw6CiAgICAgICAgIGNhc2UgRklMRToKICAg
ICAgICAgY2FzZSBJU0lOREVYOgorICAgICAgICBjYXNlIE1PTlRIOgogICAgICAgICBjYXNlIE5V
TUJFUjoKICAgICAgICAgY2FzZSBQQVNTV09SRDoKICAgICAgICAgY2FzZSBSQU5HRToKICAgICAg
ICAgY2FzZSBTRUFSQ0g6CiAgICAgICAgIGNhc2UgVEVMRVBIT05FOgogICAgICAgICBjYXNlIFRF
WFQ6CisgICAgICAgIGNhc2UgVElNRToKICAgICAgICAgY2FzZSBVUkw6CisgICAgICAgIGNhc2Ug
V0VFSzoKICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KICAgICByZXR1cm4gZmFsc2U7
CkBAIC0xMzg1LDE2ICsxNDI2LDIyIEBAIHZvaWQgSFRNTElucHV0RWxlbWVudDo6ZGVmYXVsdEV2
ZW50SGFuZGxlcihFdmVudCogZXZ0KQogICAgICAgICAgICAgc3dpdGNoIChpbnB1dFR5cGUoKSkg
ewogICAgICAgICAgICAgICAgIGNhc2UgQ0hFQ0tCT1g6CiAgICAgICAgICAgICAgICAgY2FzZSBD
T0xPUjoKKyAgICAgICAgICAgICAgICBjYXNlIERBVEU6CisgICAgICAgICAgICAgICAgY2FzZSBE
QVRFVElNRToKKyAgICAgICAgICAgICAgICBjYXNlIERBVEVUSU1FTE9DQUw6CiAgICAgICAgICAg
ICAgICAgY2FzZSBFTUFJTDoKICAgICAgICAgICAgICAgICBjYXNlIEhJRERFTjoKICAgICAgICAg
ICAgICAgICBjYXNlIElTSU5ERVg6CisgICAgICAgICAgICAgICAgY2FzZSBNT05USDoKICAgICAg
ICAgICAgICAgICBjYXNlIE5VTUJFUjoKICAgICAgICAgICAgICAgICBjYXNlIFBBU1NXT1JEOgog
ICAgICAgICAgICAgICAgIGNhc2UgUkFOR0U6CiAgICAgICAgICAgICAgICAgY2FzZSBTRUFSQ0g6
CiAgICAgICAgICAgICAgICAgY2FzZSBURUxFUEhPTkU6CiAgICAgICAgICAgICAgICAgY2FzZSBU
RVhUOgorICAgICAgICAgICAgICAgIGNhc2UgVElNRToKICAgICAgICAgICAgICAgICBjYXNlIFVS
TDoKKyAgICAgICAgICAgICAgICBjYXNlIFdFRUs6CiAgICAgICAgICAgICAgICAgICAgIC8vIFNp
bXVsYXRlIG1vdXNlIGNsaWNrIG9uIHRoZSBkZWZhdWx0IGZvcm0gYnV0dG9uIGZvciBlbnRlciBm
b3IgdGhlc2UgdHlwZXMgb2YgZWxlbWVudHMuCiAgICAgICAgICAgICAgICAgICAgIGNsaWNrRGVm
YXVsdEZvcm1CdXR0b24gPSB0cnVlOwogICAgICAgICAgICAgICAgICAgICBicmVhazsKQEAgLTE1
MTMsMTYgKzE1NjAsMjIgQEAgdm9pZCBIVE1MSW5wdXRFbGVtZW50OjpkZWZhdWx0RXZlbnRIYW5k
bGVyKEV2ZW50KiBldnQpCiAgICAgICAgICAgICAgICAgICAgICAgICBjbGlja0VsZW1lbnQgPSB0
cnVlOwogICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICBjYXNlIENP
TE9SOgorICAgICAgICAgICAgICAgIGNhc2UgREFURToKKyAgICAgICAgICAgICAgICBjYXNlIERB
VEVUSU1FOgorICAgICAgICAgICAgICAgIGNhc2UgREFURVRJTUVMT0NBTDoKICAgICAgICAgICAg
ICAgICBjYXNlIEVNQUlMOgogICAgICAgICAgICAgICAgIGNhc2UgSElEREVOOgogICAgICAgICAg
ICAgICAgIGNhc2UgSVNJTkRFWDoKKyAgICAgICAgICAgICAgICBjYXNlIE1PTlRIOgogICAgICAg
ICAgICAgICAgIGNhc2UgTlVNQkVSOgogICAgICAgICAgICAgICAgIGNhc2UgUEFTU1dPUkQ6CiAg
ICAgICAgICAgICAgICAgY2FzZSBSQU5HRToKICAgICAgICAgICAgICAgICBjYXNlIFNFQVJDSDoK
ICAgICAgICAgICAgICAgICBjYXNlIFRFTEVQSE9ORToKICAgICAgICAgICAgICAgICBjYXNlIFRF
WFQ6CisgICAgICAgICAgICAgICAgY2FzZSBUSU1FOgogICAgICAgICAgICAgICAgIGNhc2UgVVJM
OgorICAgICAgICAgICAgICAgIGNhc2UgV0VFSzoKICAgICAgICAgICAgICAgICAgICAgYnJlYWs7
CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KQEAgLTE3NTMsMjUgKzE4MDYsMzEgQEAgYm9vbCBI
VE1MSW5wdXRFbGVtZW50Ojppc1JlcXVpcmVkRm9ybUNvbnRyb2woKSBjb25zdAogICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAKICAgICBzd2l0Y2ggKGlucHV0VHlwZSgpKSB7Ci0gICAgICAgIGNhc2Ug
VEVYVDoKLSAgICAgICAgY2FzZSBTRUFSQ0g6Ci0gICAgICAgIGNhc2UgVVJMOgotICAgICAgICBj
YXNlIFRFTEVQSE9ORToKKyAgICAgICAgY2FzZSBDSEVDS0JPWDoKKyAgICAgICAgY2FzZSBEQVRF
OgorICAgICAgICBjYXNlIERBVEVUSU1FOgorICAgICAgICBjYXNlIERBVEVUSU1FTE9DQUw6CiAg
ICAgICAgIGNhc2UgRU1BSUw6Ci0gICAgICAgIGNhc2UgUEFTU1dPUkQ6CisgICAgICAgIGNhc2Ug
RklMRToKKyAgICAgICAgY2FzZSBNT05USDoKICAgICAgICAgY2FzZSBOVU1CRVI6Ci0gICAgICAg
IGNhc2UgQ0hFQ0tCT1g6CisgICAgICAgIGNhc2UgUEFTU1dPUkQ6CiAgICAgICAgIGNhc2UgUkFE
SU86Ci0gICAgICAgIGNhc2UgRklMRToKKyAgICAgICAgY2FzZSBTRUFSQ0g6CisgICAgICAgIGNh
c2UgVEVMRVBIT05FOgorICAgICAgICBjYXNlIFRFWFQ6CisgICAgICAgIGNhc2UgVElNRToKKyAg
ICAgICAgY2FzZSBVUkw6CisgICAgICAgIGNhc2UgV0VFSzoKICAgICAgICAgICAgIHJldHVybiB0
cnVlOwotICAgICAgICBjYXNlIEhJRERFTjoKLSAgICAgICAgY2FzZSBSQU5HRToKLSAgICAgICAg
Y2FzZSBTVUJNSVQ6Ci0gICAgICAgIGNhc2UgSU1BR0U6Ci0gICAgICAgIGNhc2UgUkVTRVQ6CiAg
ICAgICAgIGNhc2UgQlVUVE9OOgogICAgICAgICBjYXNlIENPTE9SOgorICAgICAgICBjYXNlIEhJ
RERFTjoKKyAgICAgICAgY2FzZSBJTUFHRToKICAgICAgICAgY2FzZSBJU0lOREVYOgorICAgICAg
ICBjYXNlIFJBTkdFOgorICAgICAgICBjYXNlIFJFU0VUOgorICAgICAgICBjYXNlIFNVQk1JVDoK
ICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAKQEAgLTE4NzMsMjkgKzE5MzIsMzUg
QEAgSFRNTERhdGFMaXN0RWxlbWVudCogSFRNTElucHV0RWxlbWVudDo6ZGF0YUxpc3QoKSBjb25z
dAogICAgICAgICByZXR1cm4gMDsKIAogICAgIHN3aXRjaCAoaW5wdXRUeXBlKCkpIHsKLSAgICBj
YXNlIFRFWFQ6Ci0gICAgY2FzZSBTRUFSQ0g6Ci0gICAgY2FzZSBVUkw6Ci0gICAgY2FzZSBURUxF
UEhPTkU6CisgICAgY2FzZSBDT0xPUjoKKyAgICBjYXNlIERBVEU6CisgICAgY2FzZSBEQVRFVElN
RToKKyAgICBjYXNlIERBVEVUSU1FTE9DQUw6CiAgICAgY2FzZSBFTUFJTDoKKyAgICBjYXNlIE1P
TlRIOgogICAgIGNhc2UgTlVNQkVSOgogICAgIGNhc2UgUkFOR0U6Ci0gICAgY2FzZSBDT0xPUjog
eworICAgIGNhc2UgU0VBUkNIOgorICAgIGNhc2UgVEVMRVBIT05FOgorICAgIGNhc2UgVEVYVDoK
KyAgICBjYXNlIFRJTUU6CisgICAgY2FzZSBVUkw6CisgICAgY2FzZSBXRUVLOiB7CiAgICAgICAg
IEVsZW1lbnQqIGVsZW1lbnQgPSBkb2N1bWVudCgpLT5nZXRFbGVtZW50QnlJZChnZXRBdHRyaWJ1
dGUobGlzdEF0dHIpKTsKICAgICAgICAgaWYgKGVsZW1lbnQgJiYgZWxlbWVudC0+aGFzVGFnTmFt
ZShkYXRhbGlzdFRhZykpCiAgICAgICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8SFRNTERhdGFM
aXN0RWxlbWVudCo+KGVsZW1lbnQpOwogICAgICAgICBicmVhazsKICAgICB9Ci0gICAgY2FzZSBI
SURERU46Ci0gICAgY2FzZSBQQVNTV09SRDoKKyAgICBjYXNlIEJVVFRPTjoKICAgICBjYXNlIENI
RUNLQk9YOgotICAgIGNhc2UgUkFESU86CiAgICAgY2FzZSBGSUxFOgotICAgIGNhc2UgU1VCTUlU
OgorICAgIGNhc2UgSElEREVOOgogICAgIGNhc2UgSU1BR0U6Ci0gICAgY2FzZSBSRVNFVDoKLSAg
ICBjYXNlIEJVVFRPTjoKICAgICBjYXNlIElTSU5ERVg6CisgICAgY2FzZSBQQVNTV09SRDoKKyAg
ICBjYXNlIFJBRElPOgorICAgIGNhc2UgUkVTRVQ6CisgICAgY2FzZSBTVUJNSVQ6CiAgICAgICAg
IGJyZWFrOwogICAgIH0KICAgICByZXR1cm4gMDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9I
VE1MSW5wdXRFbGVtZW50LmggYi9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oCmluZGV4
IDBlMmRhMzIuLjM4YWQ2NGEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVt
ZW50LmgKKysrIGIvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaApAQCAtNTcsNyArNTcs
MTMgQEAgcHVibGljOgogICAgICAgICBOVU1CRVIsCiAgICAgICAgIFRFTEVQSE9ORSwKICAgICAg
ICAgVVJMLAotICAgICAgICBDT0xPUgorICAgICAgICBDT0xPUiwKKyAgICAgICAgREFURVRJTUUs
CisgICAgICAgIERBVEUsCisgICAgICAgIE1PTlRILAorICAgICAgICBXRUVLLAorICAgICAgICBU
SU1FLAorICAgICAgICBEQVRFVElNRUxPQ0FMCiAgICAgfTsKICAgICAKICAgICBlbnVtIEF1dG9D
b21wbGV0ZVNldHRpbmcgewpAQCAtMTA1LDcgKzExMSw3IEBAIHB1YmxpYzoKIAogICAgIGJvb2wg
aXNUZXh0QnV0dG9uKCkgY29uc3QgeyByZXR1cm4gbV90eXBlID09IFNVQk1JVCB8fCBtX3R5cGUg
PT0gUkVTRVQgfHwgbV90eXBlID09IEJVVFRPTjsgfQogICAgIHZpcnR1YWwgYm9vbCBpc1JhZGlv
QnV0dG9uKCkgY29uc3QgeyByZXR1cm4gbV90eXBlID09IFJBRElPOyB9Ci0gICAgdmlydHVhbCBi
b29sIGlzVGV4dEZpZWxkKCkgY29uc3QgeyByZXR1cm4gbV90eXBlID09IFRFWFQgfHwgbV90eXBl
ID09IFBBU1NXT1JEIHx8IG1fdHlwZSA9PSBTRUFSQ0ggfHwgbV90eXBlID09IElTSU5ERVggfHwg
bV90eXBlID09IEVNQUlMIHx8IG1fdHlwZSA9PSBOVU1CRVIgfHwgbV90eXBlID09IFRFTEVQSE9O
RSB8fCBtX3R5cGUgPT0gVVJMIHx8IG1fdHlwZSA9PSBDT0xPUjsgfQorICAgIHZpcnR1YWwgYm9v
bCBpc1RleHRGaWVsZCgpIGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBpc1NlYXJjaEZpZWxkKCkg
Y29uc3QgeyByZXR1cm4gbV90eXBlID09IFNFQVJDSDsgfQogICAgIHZpcnR1YWwgYm9vbCBpc0lu
cHV0VHlwZUhpZGRlbigpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZSA9PSBISURERU47IH0KICAgICB2
aXJ0dWFsIGJvb2wgaXNQYXNzd29yZEZpZWxkKCkgY29uc3QgeyByZXR1cm4gbV90eXBlID09IFBB
U1NXT1JEOyB9Ci0tIAoxLjYuMy4zCgo=
</data>
<flag name="review"
          id="24573"
          type_id="1"
          status="-"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>43216</attachid>
            <date>2009-11-13 17:30:04 -0800</date>
            <delta_ts>2009-11-14 07:22:56 -0800</delta_ts>
            <desc>Recognize date&amp;time types as text fields (rev.8)</desc>
            <filename>0001-add-datetime-types-8.patch</filename>
            <type>text/plain</type>
            <size>30486</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">RnJvbSBhOTY4OTU4MzdlM2VmOGVkYzNiY2ViZDUyY2FmM2E4ZTg1OGIzZjc0IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBLZW50IFRhbXVyYSA8dGtlbnRAY2hyb21pdW0ub3JnPgpEYXRl
OiBTYXQsIDE0IE5vdiAyMDA5IDEwOjIzOjUwICswOTAwClN1YmplY3Q6IFtQQVRDSF0gYWRkLWRh
dGV0aW1lLXR5cGVzLTgKCi0tLQogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgfCAgIDExICsKIC4uLi9mYXN0L2Zvcm1zL2lucHV0LXR5cGUtY2hhbmdl
My1leHBlY3RlZC50eHQgICAgIHwgICA0NCArKwogTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9pbnB1
dC10eXBlLWNoYW5nZTMuaHRtbCAgICAgfCAgIDEzICsKIC4uLi9mYXN0L2Zvcm1zL3NjcmlwdC10
ZXN0cy9pbnB1dC10eXBlLWNoYW5nZTMuanMgIHwgICA1NiArKysKIFdlYkNvcmUvQ2hhbmdlTG9n
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAzMyArKwogV2ViQ29yZS9odG1s
L0hUTUxJbnB1dEVsZW1lbnQuY3BwICAgICAgICAgICAgICAgICAgfCAgNDE0ICsrKysrKysrKysr
LS0tLS0tLS0tCiBXZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oICAgICAgICAgICAgICAg
ICAgICB8ICAgMTYgKy0KIDcgZmlsZXMgY2hhbmdlZCwgNDAzIGluc2VydGlvbnMoKyksIDE4NCBk
ZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lu
cHV0LXR5cGUtY2hhbmdlMy1leHBlY3RlZC50eHQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL2lucHV0LXR5cGUtY2hhbmdlMy5odG1sCiBjcmVhdGUgbW9kZSAxMDA2
NDQgTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvaW5wdXQtdHlwZS1jaGFuZ2Uz
LmpzCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCmluZGV4IDVmMWEyOGUuLmFjMWMzYWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0No
YW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAw
OS0wOS0wMSAgS2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHRlc3RzIGZvciByZWFkaW5n
L3dyaXRpbmcgLnR5cGUgcHJvcGVydHkgb2YgSFRNTElucHV0RWxlbWVudC4KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI5MDA0CisKKyAgICAgICAgKiBm
YXN0L2Zvcm1zL2lucHV0LXR5cGUtY2hhbmdlMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGZhc3QvZm9ybXMvaW5wdXQtdHlwZS1jaGFuZ2UzLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2lucHV0LXR5cGUtY2hhbmdlMy5qczogQWRkZWQuCisK
IDIwMDktMTEtMTMgIFNoaW5pY2hpcm8gSGFtYWppICA8aGFtYWppQGNocm9taXVtLm9yZz4KIAog
ICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvaW5wdXQtdHlwZS1jaGFuZ2UzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvaW5wdXQtdHlwZS1jaGFuZ2UzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwLi5iM2I1NzU1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9pbnB1dC10eXBlLWNoYW5nZTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsNDQgQEAKK1Rlc3RzIGZvciB3cml0aW5nIGFuZCByZWFkaW5nIC50eXBlIHByb3BlcnR5IG9m
IEhUTUxJbnB1dEVsZW1lbnQuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNT
IGlucHV0LnR5cGUgaXMgInRleHQiCitQQVNTIGlucHV0LnR5cGUgZm9yICJmaWxlIiBpcyBjb3Jy
ZWN0bHkgImZpbGUiLgorUEFTUyBpbnB1dC50eXBlIGZvciAidGV4dCIgaXMgY29ycmVjdGx5ICJ0
ZXh0Ii4KK1BBU1MgaW5wdXQudHlwZSBmb3IgIlRFWFQiIGlzIGNvcnJlY3RseSAidGV4dCIuCitQ
QVNTIGlucHV0LnR5cGUgZm9yICIgdGV4dCAiIGlzIGNvcnJlY3RseSAidGV4dCIuCitQQVNTIGlu
cHV0LnR5cGUgZm9yICJidXR0b24iIGlzIGNvcnJlY3RseSAiYnV0dG9uIi4KK1BBU1MgaW5wdXQu
dHlwZSBmb3IgIiBidXR0b24gIiBpcyBjb3JyZWN0bHkgInRleHQiLgorUEFTUyBpbnB1dC50eXBl
IGZvciAiY2hlY2tib3giIGlzIGNvcnJlY3RseSAiY2hlY2tib3giLgorUEFTUyBpbnB1dC50eXBl
IGZvciAiY29sb3IiIGlzIGNvcnJlY3RseSAiY29sb3IiLgorUEFTUyBpbnB1dC50eXBlIGZvciAi
ZGF0ZSIgaXMgY29ycmVjdGx5ICJkYXRlIi4KK1BBU1MgaW5wdXQudHlwZSBmb3IgImRhdGV0aW1l
IiBpcyBjb3JyZWN0bHkgImRhdGV0aW1lIi4KK1BBU1MgaW5wdXQudHlwZSBmb3IgImRhdGV0aW1l
LWxvY2FsIiBpcyBjb3JyZWN0bHkgImRhdGV0aW1lLWxvY2FsIi4KK1BBU1MgaW5wdXQudHlwZSBm
b3IgImRhdGV0aW1lbG9jYWwiIGlzIGNvcnJlY3RseSAidGV4dCIuCitQQVNTIGlucHV0LnR5cGUg
Zm9yICJkYXRldGltZV9sb2NhbCIgaXMgY29ycmVjdGx5ICJ0ZXh0Ii4KK1BBU1MgaW5wdXQudHlw
ZSBmb3IgImVtYWlsIiBpcyBjb3JyZWN0bHkgImVtYWlsIi4KK1BBU1MgaW5wdXQudHlwZSBmb3Ig
ImZpbGUiIGlzIGNvcnJlY3RseSAiZW1haWwiLgorUEFTUyBpbnB1dC50eXBlIGZvciAiaGlkZGVu
IiBpcyBjb3JyZWN0bHkgImhpZGRlbiIuCitQQVNTIGlucHV0LnR5cGUgZm9yICJpbWFnZSIgaXMg
Y29ycmVjdGx5ICJpbWFnZSIuCitQQVNTIGlucHV0LnR5cGUgZm9yICJpc2luZGV4IiBpcyBjb3Jy
ZWN0bHkgInRleHQiLgorUEFTUyBpbnB1dC50eXBlIGZvciAia2h0bWxfaXNpbmRleCIgaXMgY29y
cmVjdGx5ICIiLgorUEFTUyBpbnB1dC50eXBlIGZvciAibW9udGgiIGlzIGNvcnJlY3RseSAibW9u
dGgiLgorUEFTUyBpbnB1dC50eXBlIGZvciAibnVtYmVyIiBpcyBjb3JyZWN0bHkgIm51bWJlciIu
CitQQVNTIGlucHV0LnR5cGUgZm9yICJwYXNzd29yZCIgaXMgY29ycmVjdGx5ICJwYXNzd29yZCIu
CitQQVNTIGlucHV0LnR5cGUgZm9yICJwYXNzd2QiIGlzIGNvcnJlY3RseSAidGV4dCIuCitQQVNT
IGlucHV0LnR5cGUgZm9yICJyYWRpbyIgaXMgY29ycmVjdGx5ICJyYWRpbyIuCitQQVNTIGlucHV0
LnR5cGUgZm9yICJyYW5nZSIgaXMgY29ycmVjdGx5ICJyYW5nZSIuCitQQVNTIGlucHV0LnR5cGUg
Zm9yICJyZXNldCIgaXMgY29ycmVjdGx5ICJyZXNldCIuCitQQVNTIGlucHV0LnR5cGUgZm9yICJz
ZWFyY2giIGlzIGNvcnJlY3RseSAic2VhcmNoIi4KK1BBU1MgaW5wdXQudHlwZSBmb3IgInN1Ym1p
dCIgaXMgY29ycmVjdGx5ICJzdWJtaXQiLgorUEFTUyBpbnB1dC50eXBlIGZvciAidGVsIiBpcyBj
b3JyZWN0bHkgInRlbCIuCitQQVNTIGlucHV0LnR5cGUgZm9yICJ0ZWxlcGhvbmUiIGlzIGNvcnJl
Y3RseSAidGV4dCIuCitQQVNTIGlucHV0LnR5cGUgZm9yICJ0aW1lIiBpcyBjb3JyZWN0bHkgInRp
bWUiLgorUEFTUyBpbnB1dC50eXBlIGZvciAidXJsIiBpcyBjb3JyZWN0bHkgInVybCIuCitQQVNT
IGlucHV0LnR5cGUgZm9yICJ1cmkiIGlzIGNvcnJlY3RseSAidGV4dCIuCitQQVNTIGlucHV0LnR5
cGUgZm9yICJ3ZWVrIiBpcyBjb3JyZWN0bHkgIndlZWsiLgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvaW5wdXQtdHlwZS1jaGFuZ2UzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L2lucHV0LXR5cGUtY2hhbmdlMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAuLmYxOTgyMGYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lu
cHV0LXR5cGUtY2hhbmdlMy5odG1sCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9
InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUu
Y3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL2lucHV0
LXR5cGUtY2hhbmdlMy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2lucHV0LXR5cGUt
Y2hhbmdlMy5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2lucHV0LXR5
cGUtY2hhbmdlMy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mY2NlN2Zh
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMv
aW5wdXQtdHlwZS1jaGFuZ2UzLmpzCkBAIC0wLDAgKzEsNTYgQEAKK2Rlc2NyaXB0aW9uKCdUZXN0
cyBmb3Igd3JpdGluZyBhbmQgcmVhZGluZyAudHlwZSBwcm9wZXJ0eSBvZiBIVE1MSW5wdXRFbGVt
ZW50LicpOworCit2YXIgaW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpOwor
ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpbnB1dCk7CisKKy8vIFRoZSBkZWZhdWx0IHR5cGUg
aXMgInRleHQiLgorc2hvdWxkQmUoJ2lucHV0LnR5cGUnLCAnInRleHQiJyk7CisKK2Z1bmN0aW9u
IGNoZWNrKHZhbHVlLCBleHBlY3RlZCkKK3sKKyAgICBpbnB1dC50eXBlID0gdmFsdWU7CisgICAg
aWYgKGlucHV0LnR5cGUgPT0gZXhwZWN0ZWQpCisgICAgICAgIHRlc3RQYXNzZWQoJ2lucHV0LnR5
cGUgZm9yICInICsgdmFsdWUgKyAnIiBpcyBjb3JyZWN0bHkgIicgKyBpbnB1dC50eXBlICsgJyIu
Jyk7CisgICAgZWxzZQorICAgICAgICB0ZXN0RmFpbGVkKCdpbnB1dC50eXBlIGZvciAiJyArIHZh
bHVlICsgJyIgaXMgaW5jb3JyZWN0bHkgIicgKyBpbnB1dC50eXBlICsgJyIsIHNob3VsZCBiZSAi
JyArIGV4cGVjdGVkICsgJyIuJyk7Cit9CisKKy8vIFRoZSB0eXBlIGlzIG5vdCBzcGVjaWZpZWQg
ZXhwbGljaXRseS4gIFdlIGNhbiBjaGFuZ2UgaXQgdG8gImZpbGUiLgorY2hlY2soImZpbGUiLCAi
ZmlsZSIpOworCitjaGVjaygidGV4dCIsICJ0ZXh0Iik7CitjaGVjaygiVEVYVCIsICJ0ZXh0Iik7
ICAvLyBpbnB1dC50eXBlIG11c3QgcmV0dXJuIGEgbG93ZXIgY2FzZSB2YWx1ZSBhY2NvcmRpbmcg
dG8gRE9NIExldmVsIDIuCitjaGVjaygiIHRleHQgIiwgInRleHQiKTsKK2NoZWNrKCJidXR0b24i
LCAiYnV0dG9uIik7CitjaGVjaygiIGJ1dHRvbiAiLCAidGV4dCIpOworY2hlY2soImNoZWNrYm94
IiwgImNoZWNrYm94Iik7CitjaGVjaygiY29sb3IiLCAiY29sb3IiKTsKK2NoZWNrKCJkYXRlIiwg
ImRhdGUiKTsKK2NoZWNrKCJkYXRldGltZSIsICJkYXRldGltZSIpOworY2hlY2soImRhdGV0aW1l
LWxvY2FsIiwgImRhdGV0aW1lLWxvY2FsIik7CitjaGVjaygiZGF0ZXRpbWVsb2NhbCIsICJ0ZXh0
Iik7CitjaGVjaygiZGF0ZXRpbWVfbG9jYWwiLCAidGV4dCIpOworY2hlY2soImVtYWlsIiwgImVt
YWlsIik7CitjaGVjaygiZmlsZSIsICJlbWFpbCIpOyAvLyBXZSBjYW4ndCBjaGFuZ2UgYSBjb25j
cmV0ZSB0eXBlIHRvIGZpbGUgZm9yIGEgc2VjdXJpdHkgcmVhc29uLgorY2hlY2soImhpZGRlbiIs
ICJoaWRkZW4iKTsKK2NoZWNrKCJpbWFnZSIsICJpbWFnZSIpOworY2hlY2soImlzaW5kZXgiLCAi
dGV4dCIpOworY2hlY2soImtodG1sX2lzaW5kZXgiLCAiIik7CitjaGVjaygibW9udGgiLCAibW9u
dGgiKTsKK2NoZWNrKCJudW1iZXIiLCAibnVtYmVyIik7CitjaGVjaygicGFzc3dvcmQiLCAicGFz
c3dvcmQiKTsKK2NoZWNrKCJwYXNzd2QiLCAidGV4dCIpOworY2hlY2soInJhZGlvIiwgInJhZGlv
Iik7CitjaGVjaygicmFuZ2UiLCAicmFuZ2UiKTsKK2NoZWNrKCJyZXNldCIsICJyZXNldCIpOwor
Y2hlY2soInNlYXJjaCIsICJzZWFyY2giKTsKK2NoZWNrKCJzdWJtaXQiLCAic3VibWl0Iik7Citj
aGVjaygidGVsIiwgInRlbCIpOworY2hlY2soInRlbGVwaG9uZSIsICJ0ZXh0Iik7CitjaGVjaygi
dGltZSIsICJ0aW1lIik7CitjaGVjaygidXJsIiwgInVybCIpOworY2hlY2soInVyaSIsICJ0ZXh0
Iik7CitjaGVjaygid2VlayIsICJ3ZWVrIik7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0
cnVlOworCmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9n
CmluZGV4IGNjY2YzOGQuLjZlMzk3ZjYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisr
KyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzYgQEAKKzIwMDktMDktMDEgIEtlbnQg
VGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIC0gUmVjb2duaXplcyBkYXRlL2RhdGV0aW1lL2RhdGV0aW1l
LWxvY2FsL21vbnRoL3RpbWUvd2VlayB0eXBlcyBvZiBJTlBVVCBlbGVtZW50LgorICAgICAgICAg
IFRoZXkgaGF2ZSBubyBkZWRpY2F0ZWQgVUkgYW5kIG5vIHR5cGUgdmFsaWRhdGlvbiBmb3Igbm93
LgorICAgICAgICAtIENsZWFuIHVwIHNldElucHV0VHlwZSgpIGFuZCBmb3JtQ29udHJvbFR5cGUo
KSBvZiBIVE1MSW5wdXRFbGVtZW50LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjkwMDQKKworICAgICAgICBUZXN0OiBmYXN0L2Zvcm1zL2lucHV0LXR5
cGUtY2hhbmdlMy5odG1sCisKKyAgICAgICAgKiBodG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6dmFsdWVNaXNzaW5nKToKKyAgICAg
ICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQ6OnBhdHRlcm5NaXNtYXRjaCk6CisgICAgICAg
IChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50Ojp0b29Mb25nKToKKyAgICAgICAgKFdlYkNvcmU6
OmNyZWF0ZVR5cGVNYXApOiBJbml0aWFsaXplciBmb3IgYSBzdGF0aWMgbG9jYWwgdmFyaWFibGUu
CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50OjpzZXRJbnB1dFR5cGUpOgorICAg
ICAgICAoV2ViQ29yZTo6Y3JlYXRlRm9ybUNvbnRyb2xUeXBlcyk6IEluaXRpYWxpemVyIGZvciBh
IHN0YXRpYyBsb2NhbCB2YXJpYWJsZS4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1l
bnQ6OmZvcm1Db250cm9sVHlwZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50
OjpzYXZlRm9ybUNvbnRyb2xTdGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVt
ZW50OjpyZXN0b3JlRm9ybUNvbnRyb2xTdGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW5w
dXRFbGVtZW50OjphY2Nlc3NLZXlBY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0
RWxlbWVudDo6cmVuZGVyZXJJc05lZWRlZCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRF
bGVtZW50OjpjcmVhdGVSZW5kZXJlcik6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVt
ZW50OjphcHBlbmRGb3JtRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50
Ojppc1RleHRGaWVsZCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50Ojp2YWx1
ZVdpdGhEZWZhdWx0KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQ6OnN0b3Jl
c1ZhbHVlU2VwYXJhdGVGcm9tQXR0cmlidXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1
dEVsZW1lbnQ6OmRlZmF1bHRFdmVudEhhbmRsZXIpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTElu
cHV0RWxlbWVudDo6aXNSZXF1aXJlZEZvcm1Db250cm9sKToKKyAgICAgICAgKFdlYkNvcmU6OkhU
TUxJbnB1dEVsZW1lbnQ6OmRhdGFMaXN0KToKKyAgICAgICAgKiBodG1sL0hUTUxJbnB1dEVsZW1l
bnQuaDogQWRkIG5ldyB2YWx1ZXMgdG8gSW5wdXRUeXBlIGVudW0sIGFuZCBkZWZpbmUgbnVtYmVy
T2ZUeXBlcy4KKwogMjAwOS0xMS0xMyAgRG9taW5payBSw7Z0dHNjaGVzICA8ZG9taW5pay5yb2V0
dHNjaGVzQGFjY2Vzcy1jb21wYW55LmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBFcmljIFNl
aWRlbC4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcCBiL1dl
YkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcAppbmRleCBmMjVjOTA4Li5lMzQxZDBlIDEw
MDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAKKysrIGIvV2ViQ29y
ZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCkBAIC01OSw3ICs1OSw5IEBACiAjaW5jbHVkZSAi
UmVuZGVyVGV4dC5oIgogI2luY2x1ZGUgIlJlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5oIgog
I2luY2x1ZGUgIlJlbmRlclRoZW1lLmgiCisjaW5jbHVkZSAiU3RyaW5nSGFzaC5oIgogI2luY2x1
ZGUgIlRleHRFdmVudC5oIgorI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3Rm
L01hdGhFeHRyYXMuaD4KICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAKQEAgLTEyNiwx
NCArMTI4LDIwIEBAIGJvb2wgSFRNTElucHV0RWxlbWVudDo6dmFsdWVNaXNzaW5nKCkgY29uc3QK
ICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgc3dpdGNoIChpbnB1dFR5cGUoKSkgewotICAg
ICAgICBjYXNlIFRFWFQ6Ci0gICAgICAgIGNhc2UgU0VBUkNIOgotICAgICAgICBjYXNlIFVSTDoK
LSAgICAgICAgY2FzZSBURUxFUEhPTkU6CisgICAgICAgIGNhc2UgREFURToKKyAgICAgICAgY2Fz
ZSBEQVRFVElNRToKKyAgICAgICAgY2FzZSBEQVRFVElNRUxPQ0FMOgogICAgICAgICBjYXNlIEVN
QUlMOgotICAgICAgICBjYXNlIFBBU1NXT1JEOgotICAgICAgICBjYXNlIE5VTUJFUjoKICAgICAg
ICAgY2FzZSBGSUxFOgorICAgICAgICBjYXNlIE1PTlRIOgorICAgICAgICBjYXNlIE5VTUJFUjoK
KyAgICAgICAgY2FzZSBQQVNTV09SRDoKKyAgICAgICAgY2FzZSBTRUFSQ0g6CisgICAgICAgIGNh
c2UgVEVMRVBIT05FOgorICAgICAgICBjYXNlIFRFWFQ6CisgICAgICAgIGNhc2UgVElNRToKKyAg
ICAgICAgY2FzZSBVUkw6CisgICAgICAgIGNhc2UgV0VFSzoKICAgICAgICAgICAgIHJldHVybiB2
YWx1ZSgpLmlzRW1wdHkoKTsKICAgICAgICAgY2FzZSBDSEVDS0JPWDoKICAgICAgICAgICAgIHJl
dHVybiAhY2hlY2tlZCgpOwpAQCAtMTQxLDEzICsxNDksMTMgQEAgYm9vbCBIVE1MSW5wdXRFbGVt
ZW50Ojp2YWx1ZU1pc3NpbmcoKSBjb25zdAogICAgICAgICAgICAgcmV0dXJuICFkb2N1bWVudCgp
LT5jaGVja2VkUmFkaW9CdXR0b25zKCkuY2hlY2tlZEJ1dHRvbkZvckdyb3VwKG5hbWUoKSk7CiAg
ICAgICAgIGNhc2UgQ09MT1I6CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIGNh
c2UgQlVUVE9OOgogICAgICAgICBjYXNlIEhJRERFTjoKLSAgICAgICAgY2FzZSBSQU5HRToKLSAg
ICAgICAgY2FzZSBTVUJNSVQ6CiAgICAgICAgIGNhc2UgSU1BR0U6Ci0gICAgICAgIGNhc2UgUkVT
RVQ6Ci0gICAgICAgIGNhc2UgQlVUVE9OOgogICAgICAgICBjYXNlIElTSU5ERVg6CisgICAgICAg
IGNhc2UgUkFOR0U6CisgICAgICAgIGNhc2UgUkVTRVQ6CisgICAgICAgIGNhc2UgU1VCTUlUOgog
ICAgICAgICAgICAgYnJlYWs7CiAgICAgfQogCkBAIC0xNTgsMjUgKzE2NiwzMSBAQCBib29sIEhU
TUxJbnB1dEVsZW1lbnQ6OnZhbHVlTWlzc2luZygpIGNvbnN0CiBib29sIEhUTUxJbnB1dEVsZW1l
bnQ6OnBhdHRlcm5NaXNtYXRjaCgpIGNvbnN0CiB7CiAgICAgc3dpdGNoIChpbnB1dFR5cGUoKSkg
ewotICAgICAgICBjYXNlIElTSU5ERVg6CisgICAgICAgIGNhc2UgQlVUVE9OOgogICAgICAgICBj
YXNlIENIRUNLQk9YOgotICAgICAgICBjYXNlIFJBRElPOgotICAgICAgICBjYXNlIFNVQk1JVDoK
LSAgICAgICAgY2FzZSBSRVNFVDoKKyAgICAgICAgY2FzZSBDT0xPUjoKKyAgICAgICAgY2FzZSBE
QVRFOgorICAgICAgICBjYXNlIERBVEVUSU1FOgorICAgICAgICBjYXNlIERBVEVUSU1FTE9DQUw6
CiAgICAgICAgIGNhc2UgRklMRToKICAgICAgICAgY2FzZSBISURERU46CiAgICAgICAgIGNhc2Ug
SU1BR0U6Ci0gICAgICAgIGNhc2UgQlVUVE9OOgotICAgICAgICBjYXNlIFJBTkdFOgorICAgICAg
ICBjYXNlIElTSU5ERVg6CisgICAgICAgIGNhc2UgTU9OVEg6CiAgICAgICAgIGNhc2UgTlVNQkVS
OgotICAgICAgICBjYXNlIENPTE9SOgorICAgICAgICBjYXNlIFJBRElPOgorICAgICAgICBjYXNl
IFJBTkdFOgorICAgICAgICBjYXNlIFJFU0VUOgorICAgICAgICBjYXNlIFNVQk1JVDoKKyAgICAg
ICAgY2FzZSBUSU1FOgorICAgICAgICBjYXNlIFdFRUs6CiAgICAgICAgICAgICByZXR1cm4gZmFs
c2U7Ci0gICAgICAgIGNhc2UgVEVYVDoKLSAgICAgICAgY2FzZSBTRUFSQ0g6Ci0gICAgICAgIGNh
c2UgVVJMOgotICAgICAgICBjYXNlIFRFTEVQSE9ORToKICAgICAgICAgY2FzZSBFTUFJTDoKICAg
ICAgICAgY2FzZSBQQVNTV09SRDoKKyAgICAgICAgY2FzZSBTRUFSQ0g6CisgICAgICAgIGNhc2Ug
VEVMRVBIT05FOgorICAgICAgICBjYXNlIFRFWFQ6CisgICAgICAgIGNhc2UgVVJMOgogICAgICAg
ICAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBwYXR0ZXJuID0gZ2V0QXR0cmlidXRlKHBhdHRlcm5B
dHRyKTsKICAgICAgICAgICAgIFN0cmluZyB2YWx1ZSA9IHRoaXMtPnZhbHVlKCk7CiAKQEAgLTIx
NywxNSArMjMxLDIxIEBAIGJvb2wgSFRNTElucHV0RWxlbWVudDo6dG9vTG9uZygpIGNvbnN0CiAg
ICAgY2FzZSBCVVRUT046CiAgICAgY2FzZSBDSEVDS0JPWDoKICAgICBjYXNlIENPTE9SOgorICAg
IGNhc2UgREFURToKKyAgICBjYXNlIERBVEVUSU1FOgorICAgIGNhc2UgREFURVRJTUVMT0NBTDoK
ICAgICBjYXNlIEZJTEU6CiAgICAgY2FzZSBISURERU46CiAgICAgY2FzZSBJTUFHRToKICAgICBj
YXNlIElTSU5ERVg6CisgICAgY2FzZSBNT05USDoKICAgICBjYXNlIE5VTUJFUjoKICAgICBjYXNl
IFJBRElPOgogICAgIGNhc2UgUkFOR0U6CiAgICAgY2FzZSBSRVNFVDoKICAgICBjYXNlIFNVQk1J
VDoKKyAgICBjYXNlIFRJTUU6CisgICAgY2FzZSBXRUVLOgogICAgICAgICByZXR1cm4gZmFsc2U7
CiAgICAgfQogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwpAQCAtMzcyLDQ2ICszOTIsNDEgQEAg
dm9pZCBIVE1MSW5wdXRFbGVtZW50OjpzZXRUeXBlKGNvbnN0IFN0cmluZyYgdCkKICAgICAgICAg
c2V0QXR0cmlidXRlKHR5cGVBdHRyLCB0KTsKIH0KIAordHlwZWRlZiBIYXNoTWFwPFN0cmluZywg
SFRNTElucHV0RWxlbWVudDo6SW5wdXRUeXBlLCBDYXNlRm9sZGluZ0hhc2g+IElucHV0VHlwZU1h
cDsKK3N0YXRpYyBjb25zdCBJbnB1dFR5cGVNYXAqIGNyZWF0ZVR5cGVNYXAoKQoreworICAgIElu
cHV0VHlwZU1hcCogbWFwID0gbmV3IElucHV0VHlwZU1hcDsKKyAgICBtYXAtPmFkZCgiYnV0dG9u
IiwgSFRNTElucHV0RWxlbWVudDo6QlVUVE9OKTsKKyAgICBtYXAtPmFkZCgiY2hlY2tib3giLCBI
VE1MSW5wdXRFbGVtZW50OjpDSEVDS0JPWCk7CisgICAgbWFwLT5hZGQoImNvbG9yIiwgSFRNTElu
cHV0RWxlbWVudDo6Q09MT1IpOworICAgIG1hcC0+YWRkKCJkYXRlIiwgSFRNTElucHV0RWxlbWVu
dDo6REFURSk7CisgICAgbWFwLT5hZGQoImRhdGV0aW1lIiwgSFRNTElucHV0RWxlbWVudDo6REFU
RVRJTUUpOworICAgIG1hcC0+YWRkKCJkYXRldGltZS1sb2NhbCIsIEhUTUxJbnB1dEVsZW1lbnQ6
OkRBVEVUSU1FTE9DQUwpOworICAgIG1hcC0+YWRkKCJlbWFpbCIsIEhUTUxJbnB1dEVsZW1lbnQ6
OkVNQUlMKTsKKyAgICBtYXAtPmFkZCgiZmlsZSIsIEhUTUxJbnB1dEVsZW1lbnQ6OkZJTEUpOwor
ICAgIG1hcC0+YWRkKCJoaWRkZW4iLCBIVE1MSW5wdXRFbGVtZW50OjpISURERU4pOworICAgIG1h
cC0+YWRkKCJpbWFnZSIsIEhUTUxJbnB1dEVsZW1lbnQ6OklNQUdFKTsKKyAgICBtYXAtPmFkZCgi
a2h0bWxfaXNpbmRleCIsIEhUTUxJbnB1dEVsZW1lbnQ6OklTSU5ERVgpOworICAgIG1hcC0+YWRk
KCJtb250aCIsIEhUTUxJbnB1dEVsZW1lbnQ6Ok1PTlRIKTsKKyAgICBtYXAtPmFkZCgibnVtYmVy
IiwgSFRNTElucHV0RWxlbWVudDo6TlVNQkVSKTsKKyAgICBtYXAtPmFkZCgicGFzc3dvcmQiLCBI
VE1MSW5wdXRFbGVtZW50OjpQQVNTV09SRCk7CisgICAgbWFwLT5hZGQoInJhZGlvIiwgSFRNTElu
cHV0RWxlbWVudDo6UkFESU8pOworICAgIG1hcC0+YWRkKCJyYW5nZSIsIEhUTUxJbnB1dEVsZW1l
bnQ6OlJBTkdFKTsKKyAgICBtYXAtPmFkZCgicmVzZXQiLCBIVE1MSW5wdXRFbGVtZW50OjpSRVNF
VCk7CisgICAgbWFwLT5hZGQoInNlYXJjaCIsIEhUTUxJbnB1dEVsZW1lbnQ6OlNFQVJDSCk7Cisg
ICAgbWFwLT5hZGQoInN1Ym1pdCIsIEhUTUxJbnB1dEVsZW1lbnQ6OlNVQk1JVCk7CisgICAgbWFw
LT5hZGQoInRlbCIsIEhUTUxJbnB1dEVsZW1lbnQ6OlRFTEVQSE9ORSk7CisgICAgbWFwLT5hZGQo
InRpbWUiLCBIVE1MSW5wdXRFbGVtZW50OjpUSU1FKTsKKyAgICBtYXAtPmFkZCgidXJsIiwgSFRN
TElucHV0RWxlbWVudDo6VVJMKTsKKyAgICBtYXAtPmFkZCgid2VlayIsIEhUTUxJbnB1dEVsZW1l
bnQ6OldFRUspOworICAgIC8vIE5vIG5lZWQgdG8gcmVnaXN0ZXIgInRleHQiIGJlY2F1c2UgaXQg
aXMgdGhlIGRlZmF1bHQgdHlwZS4KKyAgICByZXR1cm4gbWFwOworfQorCiB2b2lkIEhUTUxJbnB1
dEVsZW1lbnQ6OnNldElucHV0VHlwZShjb25zdCBTdHJpbmcmIHQpCiB7Ci0gICAgSW5wdXRUeXBl
IG5ld1R5cGU7Ci0gICAgCi0gICAgaWYgKGVxdWFsSWdub3JpbmdDYXNlKHQsICJwYXNzd29yZCIp
KQotICAgICAgICBuZXdUeXBlID0gUEFTU1dPUkQ7Ci0gICAgZWxzZSBpZiAoZXF1YWxJZ25vcmlu
Z0Nhc2UodCwgImNoZWNrYm94IikpCi0gICAgICAgIG5ld1R5cGUgPSBDSEVDS0JPWDsKLSAgICBl
bHNlIGlmIChlcXVhbElnbm9yaW5nQ2FzZSh0LCAicmFkaW8iKSkKLSAgICAgICAgbmV3VHlwZSA9
IFJBRElPOwotICAgIGVsc2UgaWYgKGVxdWFsSWdub3JpbmdDYXNlKHQsICJzdWJtaXQiKSkKLSAg
ICAgICAgbmV3VHlwZSA9IFNVQk1JVDsKLSAgICBlbHNlIGlmIChlcXVhbElnbm9yaW5nQ2FzZSh0
LCAicmVzZXQiKSkKLSAgICAgICAgbmV3VHlwZSA9IFJFU0VUOwotICAgIGVsc2UgaWYgKGVxdWFs
SWdub3JpbmdDYXNlKHQsICJmaWxlIikpCi0gICAgICAgIG5ld1R5cGUgPSBGSUxFOwotICAgIGVs
c2UgaWYgKGVxdWFsSWdub3JpbmdDYXNlKHQsICJoaWRkZW4iKSkKLSAgICAgICAgbmV3VHlwZSA9
IEhJRERFTjsKLSAgICBlbHNlIGlmIChlcXVhbElnbm9yaW5nQ2FzZSh0LCAiaW1hZ2UiKSkKLSAg
ICAgICAgbmV3VHlwZSA9IElNQUdFOwotICAgIGVsc2UgaWYgKGVxdWFsSWdub3JpbmdDYXNlKHQs
ICJidXR0b24iKSkKLSAgICAgICAgbmV3VHlwZSA9IEJVVFRPTjsKLSAgICBlbHNlIGlmIChlcXVh
bElnbm9yaW5nQ2FzZSh0LCAia2h0bWxfaXNpbmRleCIpKQotICAgICAgICBuZXdUeXBlID0gSVNJ
TkRFWDsKLSAgICBlbHNlIGlmIChlcXVhbElnbm9yaW5nQ2FzZSh0LCAic2VhcmNoIikpCi0gICAg
ICAgIG5ld1R5cGUgPSBTRUFSQ0g7Ci0gICAgZWxzZSBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UodCwg
InJhbmdlIikpCi0gICAgICAgIG5ld1R5cGUgPSBSQU5HRTsKLSAgICBlbHNlIGlmIChlcXVhbEln
bm9yaW5nQ2FzZSh0LCAiZW1haWwiKSkKLSAgICAgICAgbmV3VHlwZSA9IEVNQUlMOwotICAgIGVs
c2UgaWYgKGVxdWFsSWdub3JpbmdDYXNlKHQsICJudW1iZXIiKSkKLSAgICAgICAgbmV3VHlwZSA9
IE5VTUJFUjsKLSAgICBlbHNlIGlmIChlcXVhbElnbm9yaW5nQ2FzZSh0LCAidGVsIikpCi0gICAg
ICAgIG5ld1R5cGUgPSBURUxFUEhPTkU7Ci0gICAgZWxzZSBpZiAoZXF1YWxJZ25vcmluZ0Nhc2Uo
dCwgInVybCIpKQotICAgICAgICBuZXdUeXBlID0gVVJMOwotICAgIGVsc2UgaWYgKGVxdWFsSWdu
b3JpbmdDYXNlKHQsICJjb2xvciIpKQotICAgICAgICBuZXdUeXBlID0gQ09MT1I7Ci0gICAgZWxz
ZQotICAgICAgICBuZXdUeXBlID0gVEVYVDsKKyAgICBzdGF0aWMgY29uc3QgSW5wdXRUeXBlTWFw
KiB0eXBlTWFwID0gY3JlYXRlVHlwZU1hcCgpOworICAgIElucHV0VHlwZSBuZXdUeXBlID0gdC5p
c051bGwoKSA/IFRFWFQgOiB0eXBlTWFwLT5nZXQodCk7CiAKICAgICAvLyBJTVBPUlRBTlQ6IERv
bid0IGFsbG93IHRoZSB0eXBlIHRvIGJlIGNoYW5nZWQgdG8gRklMRSBhZnRlciB0aGUgZmlyc3QK
ICAgICAvLyB0eXBlIGNoYW5nZSwgb3RoZXJ3aXNlIGEgSmF2YVNjcmlwdCBwcm9ncmFtbWVyIHdv
dWxkIGJlIGFibGUgdG8gc2V0IGEgdGV4dApAQCAtNDgyLDgyICs0OTcsNDIgQEAgdm9pZCBIVE1M
SW5wdXRFbGVtZW50OjpzZXRJbnB1dFR5cGUoY29uc3QgU3RyaW5nJiB0KQogICAgICAgICBtX2lt
YWdlTG9hZGVyLmNsZWFyKCk7CiB9CiAKK3N0YXRpYyBjb25zdCBBdG9taWNTdHJpbmcqIGNyZWF0
ZUZvcm1Db250cm9sVHlwZXMoKQoreworICAgIEF0b21pY1N0cmluZyogdHlwZXMgPSBuZXcgQXRv
bWljU3RyaW5nW0hUTUxJbnB1dEVsZW1lbnQ6Om51bWJlck9mVHlwZXNdOworICAgIC8vIFRoZSB2
YWx1ZXMgbXVzdCBiZSBsb3dlcmNhc2VkIGJlY2F1c2UgdGhleSB3aWxsIGJlIHRoZSByZXR1cm4g
dmFsdWVzIG9mCisgICAgLy8gIGlucHV0LnR5cGUgYW5kIGl0IG11c3QgYmUgbG93ZXJjYXNlIGFj
Y29yZGluZyB0byBET00gTGV2ZWwgMi4KKyAgICB0eXBlc1tIVE1MSW5wdXRFbGVtZW50OjpCVVRU
T05dID0gImJ1dHRvbiI7CisgICAgdHlwZXNbSFRNTElucHV0RWxlbWVudDo6Q0hFQ0tCT1hdID0g
ImNoZWNrYm94IjsKKyAgICB0eXBlc1tIVE1MSW5wdXRFbGVtZW50OjpDT0xPUl0gPSAiY29sb3Ii
OworICAgIHR5cGVzW0hUTUxJbnB1dEVsZW1lbnQ6OkRBVEVdID0gImRhdGUiOworICAgIHR5cGVz
W0hUTUxJbnB1dEVsZW1lbnQ6OkRBVEVUSU1FXSA9ICJkYXRldGltZSI7CisgICAgdHlwZXNbSFRN
TElucHV0RWxlbWVudDo6REFURVRJTUVMT0NBTF0gPSAiZGF0ZXRpbWUtbG9jYWwiOworICAgIHR5
cGVzW0hUTUxJbnB1dEVsZW1lbnQ6OkVNQUlMXSA9ICJlbWFpbCI7CisgICAgdHlwZXNbSFRNTElu
cHV0RWxlbWVudDo6RklMRV0gPSAiZmlsZSI7CisgICAgdHlwZXNbSFRNTElucHV0RWxlbWVudDo6
SElEREVOXSA9ICJoaWRkZW4iOworICAgIHR5cGVzW0hUTUxJbnB1dEVsZW1lbnQ6OklNQUdFXSA9
ICJpbWFnZSI7CisgICAgdHlwZXNbSFRNTElucHV0RWxlbWVudDo6SVNJTkRFWF0gPSBlbXB0eUF0
b207CisgICAgdHlwZXNbSFRNTElucHV0RWxlbWVudDo6TU9OVEhdID0gIm1vbnRoIjsKKyAgICB0
eXBlc1tIVE1MSW5wdXRFbGVtZW50OjpOVU1CRVJdID0gIm51bWJlciI7CisgICAgdHlwZXNbSFRN
TElucHV0RWxlbWVudDo6UEFTU1dPUkRdID0gInBhc3N3b3JkIjsKKyAgICB0eXBlc1tIVE1MSW5w
dXRFbGVtZW50OjpSQURJT10gPSAicmFkaW8iOworICAgIHR5cGVzW0hUTUxJbnB1dEVsZW1lbnQ6
OlJBTkdFXSA9ICJyYW5nZSI7CisgICAgdHlwZXNbSFRNTElucHV0RWxlbWVudDo6UkVTRVRdID0g
InJlc2V0IjsKKyAgICB0eXBlc1tIVE1MSW5wdXRFbGVtZW50OjpTRUFSQ0hdID0gInNlYXJjaCI7
CisgICAgdHlwZXNbSFRNTElucHV0RWxlbWVudDo6U1VCTUlUXSA9ICJzdWJtaXQiOworICAgIHR5
cGVzW0hUTUxJbnB1dEVsZW1lbnQ6OlRFTEVQSE9ORV0gPSAidGVsIjsKKyAgICB0eXBlc1tIVE1M
SW5wdXRFbGVtZW50OjpURVhUXSA9ICJ0ZXh0IjsKKyAgICB0eXBlc1tIVE1MSW5wdXRFbGVtZW50
OjpUSU1FXSA9ICJ0aW1lIjsKKyAgICB0eXBlc1tIVE1MSW5wdXRFbGVtZW50OjpVUkxdID0gInVy
bCI7CisgICAgdHlwZXNbSFRNTElucHV0RWxlbWVudDo6V0VFS10gPSAid2VlayI7CisgICAgcmV0
dXJuIHR5cGVzOworfQorCiBjb25zdCBBdG9taWNTdHJpbmcmIEhUTUxJbnB1dEVsZW1lbnQ6OmZv
cm1Db250cm9sVHlwZSgpIGNvbnN0CiB7Ci0gICAgLy8gbmVlZHMgdG8gYmUgbG93ZXJjYXNlIGFj
Y29yZGluZyB0byBET00gc3BlYwotICAgIHN3aXRjaCAoaW5wdXRUeXBlKCkpIHsKLSAgICAgICAg
Y2FzZSBCVVRUT046IHsKLSAgICAgICAgICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgQXRv
bWljU3RyaW5nLCBidXR0b24sICgiYnV0dG9uIikpOwotICAgICAgICAgICAgcmV0dXJuIGJ1dHRv
bjsKLSAgICAgICAgfQotICAgICAgICBjYXNlIENIRUNLQk9YOiB7Ci0gICAgICAgICAgICBERUZJ
TkVfU1RBVElDX0xPQ0FMKGNvbnN0IEF0b21pY1N0cmluZywgY2hlY2tib3gsICgiY2hlY2tib3gi
KSk7Ci0gICAgICAgICAgICByZXR1cm4gY2hlY2tib3g7Ci0gICAgICAgIH0KLSAgICAgICAgY2Fz
ZSBDT0xPUjogewotICAgICAgICAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBBdG9taWNT
dHJpbmcsIGNvbG9yLCAoImNvbG9yIikpOwotICAgICAgICAgICAgcmV0dXJuIGNvbG9yOwotICAg
ICAgICB9Ci0gICAgICAgIGNhc2UgRU1BSUw6IHsKLSAgICAgICAgICAgIERFRklORV9TVEFUSUNf
TE9DQUwoY29uc3QgQXRvbWljU3RyaW5nLCBlbWFpbCwgKCJlbWFpbCIpKTsKLSAgICAgICAgICAg
IHJldHVybiBlbWFpbDsKLSAgICAgICAgfQotICAgICAgICBjYXNlIEZJTEU6IHsKLSAgICAgICAg
ICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgQXRvbWljU3RyaW5nLCBmaWxlLCAoImZpbGUi
KSk7Ci0gICAgICAgICAgICByZXR1cm4gZmlsZTsKLSAgICAgICAgfQotICAgICAgICBjYXNlIEhJ
RERFTjogewotICAgICAgICAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBBdG9taWNTdHJp
bmcsIGhpZGRlbiwgKCJoaWRkZW4iKSk7Ci0gICAgICAgICAgICByZXR1cm4gaGlkZGVuOwotICAg
ICAgICB9Ci0gICAgICAgIGNhc2UgSU1BR0U6IHsKLSAgICAgICAgICAgIERFRklORV9TVEFUSUNf
TE9DQUwoY29uc3QgQXRvbWljU3RyaW5nLCBpbWFnZSwgKCJpbWFnZSIpKTsKLSAgICAgICAgICAg
IHJldHVybiBpbWFnZTsKLSAgICAgICAgfQotICAgICAgICBjYXNlIElTSU5ERVg6Ci0gICAgICAg
ICAgICByZXR1cm4gZW1wdHlBdG9tOwotICAgICAgICBjYXNlIE5VTUJFUjogewotICAgICAgICAg
ICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBBdG9taWNTdHJpbmcsIG51bWJlciwgKCJudW1i
ZXIiKSk7Ci0gICAgICAgICAgICByZXR1cm4gbnVtYmVyOwotICAgICAgICB9Ci0gICAgICAgIGNh
c2UgUEFTU1dPUkQ6IHsKLSAgICAgICAgICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgQXRv
bWljU3RyaW5nLCBwYXNzd29yZCwgKCJwYXNzd29yZCIpKTsKLSAgICAgICAgICAgIHJldHVybiBw
YXNzd29yZDsKLSAgICAgICAgfQotICAgICAgICBjYXNlIFJBRElPOiB7Ci0gICAgICAgICAgICBE
RUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0IEF0b21pY1N0cmluZywgcmFkaW8sICgicmFkaW8iKSk7
Ci0gICAgICAgICAgICByZXR1cm4gcmFkaW87Ci0gICAgICAgIH0KLSAgICAgICAgY2FzZSBSQU5H
RTogewotICAgICAgICAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBBdG9taWNTdHJpbmcs
IHJhbmdlLCAoInJhbmdlIikpOwotICAgICAgICAgICAgcmV0dXJuIHJhbmdlOwotICAgICAgICB9
Ci0gICAgICAgIGNhc2UgUkVTRVQ6IHsKLSAgICAgICAgICAgIERFRklORV9TVEFUSUNfTE9DQUwo
Y29uc3QgQXRvbWljU3RyaW5nLCByZXNldCwgKCJyZXNldCIpKTsKLSAgICAgICAgICAgIHJldHVy
biByZXNldDsKLSAgICAgICAgfQotICAgICAgICBjYXNlIFNFQVJDSDogewotICAgICAgICAgICAg
REVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBBdG9taWNTdHJpbmcsIHNlYXJjaCwgKCJzZWFyY2gi
KSk7Ci0gICAgICAgICAgICByZXR1cm4gc2VhcmNoOwotICAgICAgICB9Ci0gICAgICAgIGNhc2Ug
U1VCTUlUOiB7Ci0gICAgICAgICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0IEF0b21pY1N0
cmluZywgc3VibWl0LCAoInN1Ym1pdCIpKTsKLSAgICAgICAgICAgIHJldHVybiBzdWJtaXQ7Ci0g
ICAgICAgIH0KLSAgICAgICAgY2FzZSBURUxFUEhPTkU6IHsKLSAgICAgICAgICAgIERFRklORV9T
VEFUSUNfTE9DQUwoY29uc3QgQXRvbWljU3RyaW5nLCB0ZWxlcGhvbmUsICgidGVsIikpOwotICAg
ICAgICAgICAgcmV0dXJuIHRlbGVwaG9uZTsKLSAgICAgICAgfQotICAgICAgICBjYXNlIFRFWFQ6
IHsKLSAgICAgICAgICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgQXRvbWljU3RyaW5nLCB0
ZXh0LCAoInRleHQiKSk7Ci0gICAgICAgICAgICByZXR1cm4gdGV4dDsKLSAgICAgICAgfQotICAg
ICAgICBjYXNlIFVSTDogewotICAgICAgICAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBB
dG9taWNTdHJpbmcsIHVybCwgKCJ1cmwiKSk7Ci0gICAgICAgICAgICByZXR1cm4gdXJsOwotICAg
ICAgICB9Ci0gICAgfQotICAgIHJldHVybiBlbXB0eUF0b207CisgICAgc3RhdGljIGNvbnN0IEF0
b21pY1N0cmluZyogZm9ybUNvbnRyb2xUeXBlcyA9IGNyZWF0ZUZvcm1Db250cm9sVHlwZXMoKTsK
KyAgICByZXR1cm4gZm9ybUNvbnRyb2xUeXBlc1tpbnB1dFR5cGUoKV07CiB9CiAKIGJvb2wgSFRN
TElucHV0RWxlbWVudDo6c2F2ZUZvcm1Db250cm9sU3RhdGUoU3RyaW5nJiByZXN1bHQpIGNvbnN0
CkBAIC01NjgsMTEgKzU0MywxNSBAQCBib29sIEhUTUxJbnB1dEVsZW1lbnQ6OnNhdmVGb3JtQ29u
dHJvbFN0YXRlKFN0cmluZyYgcmVzdWx0KSBjb25zdAogICAgIHN3aXRjaCAoaW5wdXRUeXBlKCkp
IHsKICAgICAgICAgY2FzZSBCVVRUT046CiAgICAgICAgIGNhc2UgQ09MT1I6CisgICAgICAgIGNh
c2UgREFURToKKyAgICAgICAgY2FzZSBEQVRFVElNRToKKyAgICAgICAgY2FzZSBEQVRFVElNRUxP
Q0FMOgogICAgICAgICBjYXNlIEVNQUlMOgogICAgICAgICBjYXNlIEZJTEU6CiAgICAgICAgIGNh
c2UgSElEREVOOgogICAgICAgICBjYXNlIElNQUdFOgogICAgICAgICBjYXNlIElTSU5ERVg6Cisg
ICAgICAgIGNhc2UgTU9OVEg6CiAgICAgICAgIGNhc2UgTlVNQkVSOgogICAgICAgICBjYXNlIFJB
TkdFOgogICAgICAgICBjYXNlIFJFU0VUOgpAQCAtNTgwLDcgKzU1OSw5IEBAIGJvb2wgSFRNTElu
cHV0RWxlbWVudDo6c2F2ZUZvcm1Db250cm9sU3RhdGUoU3RyaW5nJiByZXN1bHQpIGNvbnN0CiAg
ICAgICAgIGNhc2UgU1VCTUlUOgogICAgICAgICBjYXNlIFRFTEVQSE9ORToKICAgICAgICAgY2Fz
ZSBURVhUOgorICAgICAgICBjYXNlIFRJTUU6CiAgICAgICAgIGNhc2UgVVJMOgorICAgICAgICBj
YXNlIFdFRUs6CiAgICAgICAgICAgICByZXN1bHQgPSB2YWx1ZSgpOwogICAgICAgICAgICAgcmV0
dXJuIHRydWU7CiAgICAgICAgIGNhc2UgQ0hFQ0tCT1g6CkBAIC02MDAsMTEgKzU4MSwxNSBAQCB2
b2lkIEhUTUxJbnB1dEVsZW1lbnQ6OnJlc3RvcmVGb3JtQ29udHJvbFN0YXRlKGNvbnN0IFN0cmlu
ZyYgc3RhdGUpCiAgICAgc3dpdGNoIChpbnB1dFR5cGUoKSkgewogICAgICAgICBjYXNlIEJVVFRP
TjoKICAgICAgICAgY2FzZSBDT0xPUjoKKyAgICAgICAgY2FzZSBEQVRFOgorICAgICAgICBjYXNl
IERBVEVUSU1FOgorICAgICAgICBjYXNlIERBVEVUSU1FTE9DQUw6CiAgICAgICAgIGNhc2UgRU1B
SUw6CiAgICAgICAgIGNhc2UgRklMRToKICAgICAgICAgY2FzZSBISURERU46CiAgICAgICAgIGNh
c2UgSU1BR0U6CiAgICAgICAgIGNhc2UgSVNJTkRFWDoKKyAgICAgICAgY2FzZSBNT05USDoKICAg
ICAgICAgY2FzZSBOVU1CRVI6CiAgICAgICAgIGNhc2UgUkFOR0U6CiAgICAgICAgIGNhc2UgUkVT
RVQ6CkBAIC02MTIsNyArNTk3LDkgQEAgdm9pZCBIVE1MSW5wdXRFbGVtZW50OjpyZXN0b3JlRm9y
bUNvbnRyb2xTdGF0ZShjb25zdCBTdHJpbmcmIHN0YXRlKQogICAgICAgICBjYXNlIFNVQk1JVDoK
ICAgICAgICAgY2FzZSBURUxFUEhPTkU6CiAgICAgICAgIGNhc2UgVEVYVDoKKyAgICAgICAgY2Fz
ZSBUSU1FOgogICAgICAgICBjYXNlIFVSTDoKKyAgICAgICAgY2FzZSBXRUVLOgogICAgICAgICAg
ICAgc2V0VmFsdWUoc3RhdGUpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgQ0hF
Q0tCT1g6CkBAIC02NTUsMTQgKzY0MiwyMCBAQCB2b2lkIEhUTUxJbnB1dEVsZW1lbnQ6OmFjY2Vz
c0tleUFjdGlvbihib29sIHNlbmRUb0FueUVsZW1lbnQpCiAgICAgICAgICAgICAvLyBhIG5vLW9w
IGZvciB0aGlzIHR5cGUKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIENPTE9SOgor
ICAgICAgICBjYXNlIERBVEU6CisgICAgICAgIGNhc2UgREFURVRJTUU6CisgICAgICAgIGNhc2Ug
REFURVRJTUVMT0NBTDoKICAgICAgICAgY2FzZSBFTUFJTDoKICAgICAgICAgY2FzZSBJU0lOREVY
OgorICAgICAgICBjYXNlIE1PTlRIOgogICAgICAgICBjYXNlIE5VTUJFUjoKICAgICAgICAgY2Fz
ZSBQQVNTV09SRDoKICAgICAgICAgY2FzZSBTRUFSQ0g6CiAgICAgICAgIGNhc2UgVEVMRVBIT05F
OgogICAgICAgICBjYXNlIFRFWFQ6CisgICAgICAgIGNhc2UgVElNRToKICAgICAgICAgY2FzZSBV
Ukw6CisgICAgICAgIGNhc2UgV0VFSzoKICAgICAgICAgICAgIC8vIHNob3VsZCBuZXZlciByZXN0
b3JlIHByZXZpb3VzIHNlbGVjdGlvbiBoZXJlCiAgICAgICAgICAgICBmb2N1cyhmYWxzZSk7CiAg
ICAgICAgICAgICBicmVhazsKQEAgLTc4OSwzMCArNzgyLDkgQEAgdm9pZCBIVE1MSW5wdXRFbGVt
ZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShNYXBwZWRBdHRyaWJ1dGUgKmF0dHIpCiAKIGJvb2wg
SFRNTElucHV0RWxlbWVudDo6cmVuZGVyZXJJc05lZWRlZChSZW5kZXJTdHlsZSAqc3R5bGUpCiB7
Ci0gICAgc3dpdGNoIChpbnB1dFR5cGUoKSkgewotICAgICAgICBjYXNlIEJVVFRPTjoKLSAgICAg
ICAgY2FzZSBDSEVDS0JPWDoKLSAgICAgICAgY2FzZSBDT0xPUjoKLSAgICAgICAgY2FzZSBFTUFJ
TDoKLSAgICAgICAgY2FzZSBGSUxFOgotICAgICAgICBjYXNlIElNQUdFOgotICAgICAgICBjYXNl
IElTSU5ERVg6Ci0gICAgICAgIGNhc2UgTlVNQkVSOgotICAgICAgICBjYXNlIFBBU1NXT1JEOgot
ICAgICAgICBjYXNlIFJBRElPOgotICAgICAgICBjYXNlIFJBTkdFOgotICAgICAgICBjYXNlIFJF
U0VUOgotICAgICAgICBjYXNlIFNFQVJDSDoKLSAgICAgICAgY2FzZSBTVUJNSVQ6Ci0gICAgICAg
IGNhc2UgVEVMRVBIT05FOgotICAgICAgICBjYXNlIFRFWFQ6Ci0gICAgICAgIGNhc2UgVVJMOgot
ICAgICAgICAgICAgcmV0dXJuIEhUTUxGb3JtQ29udHJvbEVsZW1lbnRXaXRoU3RhdGU6OnJlbmRl
cmVySXNOZWVkZWQoc3R5bGUpOwotICAgICAgICBjYXNlIEhJRERFTjoKLSAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsKLSAgICB9Ci0gICAgQVNTRVJUKGZhbHNlKTsKLSAgICByZXR1cm4gZmFsc2U7
CisgICAgaWYgKGlucHV0VHlwZSgpID09IEhJRERFTikKKyAgICAgICAgcmV0dXJuIGZhbHNlOwor
ICAgIHJldHVybiBIVE1MRm9ybUNvbnRyb2xFbGVtZW50V2l0aFN0YXRlOjpyZW5kZXJlcklzTmVl
ZGVkKHN0eWxlKTsKIH0KIAogUmVuZGVyT2JqZWN0ICpIVE1MSW5wdXRFbGVtZW50OjpjcmVhdGVS
ZW5kZXJlcihSZW5kZXJBcmVuYSAqYXJlbmEsIFJlbmRlclN0eWxlICpzdHlsZSkKQEAgLTgzNCwx
NCArODA2LDIwIEBAIFJlbmRlck9iamVjdCAqSFRNTElucHV0RWxlbWVudDo6Y3JlYXRlUmVuZGVy
ZXIoUmVuZGVyQXJlbmEgKmFyZW5hLCBSZW5kZXJTdHlsZSAqCiAgICAgICAgIGNhc2UgUkFOR0U6
CiAgICAgICAgICAgICByZXR1cm4gbmV3IChhcmVuYSkgUmVuZGVyU2xpZGVyKHRoaXMpOwogICAg
ICAgICBjYXNlIENPTE9SOgorICAgICAgICBjYXNlIERBVEU6CisgICAgICAgIGNhc2UgREFURVRJ
TUU6CisgICAgICAgIGNhc2UgREFURVRJTUVMT0NBTDoKICAgICAgICAgY2FzZSBFTUFJTDoKICAg
ICAgICAgY2FzZSBJU0lOREVYOgorICAgICAgICBjYXNlIE1PTlRIOgogICAgICAgICBjYXNlIE5V
TUJFUjoKICAgICAgICAgY2FzZSBQQVNTV09SRDoKICAgICAgICAgY2FzZSBTRUFSQ0g6CiAgICAg
ICAgIGNhc2UgVEVMRVBIT05FOgogICAgICAgICBjYXNlIFRFWFQ6CisgICAgICAgIGNhc2UgVElN
RToKICAgICAgICAgY2FzZSBVUkw6CisgICAgICAgIGNhc2UgV0VFSzoKICAgICAgICAgICAgIHJl
dHVybiBuZXcgKGFyZW5hKSBSZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUodGhpcywgcGxhY2Vo
b2xkZXJTaG91bGRCZVZpc2libGUoKSk7CiAgICAgfQogICAgIEFTU0VSVChmYWxzZSk7CkBAIC05
MjEsMTYgKzg5OSwyMiBAQCBib29sIEhUTUxJbnB1dEVsZW1lbnQ6OmFwcGVuZEZvcm1EYXRhKEZv
cm1EYXRhTGlzdCYgZW5jb2RpbmcsIGJvb2wgbXVsdGlwYXJ0KQogCiAgICAgc3dpdGNoIChpbnB1
dFR5cGUoKSkgewogICAgICAgICBjYXNlIENPTE9SOgorICAgICAgICBjYXNlIERBVEU6CisgICAg
ICAgIGNhc2UgREFURVRJTUU6CisgICAgICAgIGNhc2UgREFURVRJTUVMT0NBTDoKICAgICAgICAg
Y2FzZSBFTUFJTDoKICAgICAgICAgY2FzZSBISURERU46CiAgICAgICAgIGNhc2UgSVNJTkRFWDoK
KyAgICAgICAgY2FzZSBNT05USDoKICAgICAgICAgY2FzZSBOVU1CRVI6CiAgICAgICAgIGNhc2Ug
UEFTU1dPUkQ6CiAgICAgICAgIGNhc2UgUkFOR0U6CiAgICAgICAgIGNhc2UgU0VBUkNIOgogICAg
ICAgICBjYXNlIFRFTEVQSE9ORToKICAgICAgICAgY2FzZSBURVhUOgorICAgICAgICBjYXNlIFRJ
TUU6CiAgICAgICAgIGNhc2UgVVJMOgorICAgICAgICBjYXNlIFdFRUs6CiAgICAgICAgICAgICAv
LyBhbHdheXMgc3VjY2Vzc2Z1bAogICAgICAgICAgICAgZW5jb2RpbmcuYXBwZW5kRGF0YShuYW1l
KCksIHZhbHVlKCkpOwogICAgICAgICAgICAgcmV0dXJuIHRydWU7CkBAIC0xMDA4LDYgKzk5Miw0
MCBAQCB2b2lkIEhUTUxJbnB1dEVsZW1lbnQ6OnJlc2V0KCkKICAgICBtX3VzZURlZmF1bHRDaGVj
a2VkID0gdHJ1ZTsKIH0KIAorYm9vbCBIVE1MSW5wdXRFbGVtZW50Ojppc1RleHRGaWVsZCgpIGNv
bnN0Cit7CisgICAgc3dpdGNoIChpbnB1dFR5cGUoKSkgeworICAgIGNhc2UgQ09MT1I6CisgICAg
Y2FzZSBEQVRFOgorICAgIGNhc2UgREFURVRJTUU6CisgICAgY2FzZSBEQVRFVElNRUxPQ0FMOgor
ICAgIGNhc2UgRU1BSUw6CisgICAgY2FzZSBJU0lOREVYOgorICAgIGNhc2UgTU9OVEg6CisgICAg
Y2FzZSBOVU1CRVI6CisgICAgY2FzZSBQQVNTV09SRDoKKyAgICBjYXNlIFNFQVJDSDoKKyAgICBj
YXNlIFRFTEVQSE9ORToKKyAgICBjYXNlIFRFWFQ6CisgICAgY2FzZSBUSU1FOgorICAgIGNhc2Ug
VVJMOgorICAgIGNhc2UgV0VFSzoKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgY2FzZSBCVVRU
T046CisgICAgY2FzZSBDSEVDS0JPWDoKKyAgICBjYXNlIEZJTEU6CisgICAgY2FzZSBISURERU46
CisgICAgY2FzZSBJTUFHRToKKyAgICBjYXNlIFJBRElPOgorICAgIGNhc2UgUkFOR0U6CisgICAg
Y2FzZSBSRVNFVDoKKyAgICBjYXNlIFNVQk1JVDoKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAg
IH0KKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKIHZv
aWQgSFRNTElucHV0RWxlbWVudDo6c2V0Q2hlY2tlZChib29sIG5vd0NoZWNrZWQsIGJvb2wgc2Vu
ZENoYW5nZUV2ZW50KQogewogICAgIGlmIChjaGVja2VkKCkgPT0gbm93Q2hlY2tlZCkKQEAgLTEw
OTksMTEgKzExMTcsMTUgQEAgU3RyaW5nIEhUTUxJbnB1dEVsZW1lbnQ6OnZhbHVlV2l0aERlZmF1
bHQoKSBjb25zdAogICAgICAgICAgICAgY2FzZSBCVVRUT046CiAgICAgICAgICAgICBjYXNlIENI
RUNLQk9YOgogICAgICAgICAgICAgY2FzZSBDT0xPUjoKKyAgICAgICAgICAgIGNhc2UgREFURToK
KyAgICAgICAgICAgIGNhc2UgREFURVRJTUU6CisgICAgICAgICAgICBjYXNlIERBVEVUSU1FTE9D
QUw6CiAgICAgICAgICAgICBjYXNlIEVNQUlMOgogICAgICAgICAgICAgY2FzZSBGSUxFOgogICAg
ICAgICAgICAgY2FzZSBISURERU46CiAgICAgICAgICAgICBjYXNlIElNQUdFOgogICAgICAgICAg
ICAgY2FzZSBJU0lOREVYOgorICAgICAgICAgICAgY2FzZSBNT05USDoKICAgICAgICAgICAgIGNh
c2UgTlVNQkVSOgogICAgICAgICAgICAgY2FzZSBQQVNTV09SRDoKICAgICAgICAgICAgIGNhc2Ug
UkFESU86CkBAIC0xMTExLDcgKzExMzMsOSBAQCBTdHJpbmcgSFRNTElucHV0RWxlbWVudDo6dmFs
dWVXaXRoRGVmYXVsdCgpIGNvbnN0CiAgICAgICAgICAgICBjYXNlIFNFQVJDSDoKICAgICAgICAg
ICAgIGNhc2UgVEVMRVBIT05FOgogICAgICAgICAgICAgY2FzZSBURVhUOgorICAgICAgICAgICAg
Y2FzZSBUSU1FOgogICAgICAgICAgICAgY2FzZSBVUkw6CisgICAgICAgICAgICBjYXNlIFdFRUs6
CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICBjYXNlIFJFU0VUOgogICAgICAg
ICAgICAgICAgIHYgPSByZXNldEJ1dHRvbkRlZmF1bHRMYWJlbCgpOwpAQCAtMTIwOSwxNiArMTIz
MywyMiBAQCBib29sIEhUTUxJbnB1dEVsZW1lbnQ6OnN0b3Jlc1ZhbHVlU2VwYXJhdGVGcm9tQXR0
cmlidXRlKCkgY29uc3QKICAgICAgICAgY2FzZSBTVUJNSVQ6CiAgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7CiAgICAgICAgIGNhc2UgQ09MT1I6CisgICAgICAgIGNhc2UgREFURToKKyAgICAgICAg
Y2FzZSBEQVRFVElNRToKKyAgICAgICAgY2FzZSBEQVRFVElNRUxPQ0FMOgogICAgICAgICBjYXNl
IEVNQUlMOgogICAgICAgICBjYXNlIEZJTEU6CiAgICAgICAgIGNhc2UgSVNJTkRFWDoKKyAgICAg
ICAgY2FzZSBNT05USDoKICAgICAgICAgY2FzZSBOVU1CRVI6CiAgICAgICAgIGNhc2UgUEFTU1dP
UkQ6CiAgICAgICAgIGNhc2UgUkFOR0U6CiAgICAgICAgIGNhc2UgU0VBUkNIOgogICAgICAgICBj
YXNlIFRFTEVQSE9ORToKICAgICAgICAgY2FzZSBURVhUOgorICAgICAgICBjYXNlIFRJTUU6CiAg
ICAgICAgIGNhc2UgVVJMOgorICAgICAgICBjYXNlIFdFRUs6CiAgICAgICAgICAgICByZXR1cm4g
dHJ1ZTsKICAgICB9CiAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMTM4NSwxNiArMTQxNSwyMiBAQCB2
b2lkIEhUTUxJbnB1dEVsZW1lbnQ6OmRlZmF1bHRFdmVudEhhbmRsZXIoRXZlbnQqIGV2dCkKICAg
ICAgICAgICAgIHN3aXRjaCAoaW5wdXRUeXBlKCkpIHsKICAgICAgICAgICAgICAgICBjYXNlIENI
RUNLQk9YOgogICAgICAgICAgICAgICAgIGNhc2UgQ09MT1I6CisgICAgICAgICAgICAgICAgY2Fz
ZSBEQVRFOgorICAgICAgICAgICAgICAgIGNhc2UgREFURVRJTUU6CisgICAgICAgICAgICAgICAg
Y2FzZSBEQVRFVElNRUxPQ0FMOgogICAgICAgICAgICAgICAgIGNhc2UgRU1BSUw6CiAgICAgICAg
ICAgICAgICAgY2FzZSBISURERU46CiAgICAgICAgICAgICAgICAgY2FzZSBJU0lOREVYOgorICAg
ICAgICAgICAgICAgIGNhc2UgTU9OVEg6CiAgICAgICAgICAgICAgICAgY2FzZSBOVU1CRVI6CiAg
ICAgICAgICAgICAgICAgY2FzZSBQQVNTV09SRDoKICAgICAgICAgICAgICAgICBjYXNlIFJBTkdF
OgogICAgICAgICAgICAgICAgIGNhc2UgU0VBUkNIOgogICAgICAgICAgICAgICAgIGNhc2UgVEVM
RVBIT05FOgogICAgICAgICAgICAgICAgIGNhc2UgVEVYVDoKKyAgICAgICAgICAgICAgICBjYXNl
IFRJTUU6CiAgICAgICAgICAgICAgICAgY2FzZSBVUkw6CisgICAgICAgICAgICAgICAgY2FzZSBX
RUVLOgogICAgICAgICAgICAgICAgICAgICAvLyBTaW11bGF0ZSBtb3VzZSBjbGljayBvbiB0aGUg
ZGVmYXVsdCBmb3JtIGJ1dHRvbiBmb3IgZW50ZXIgZm9yIHRoZXNlIHR5cGVzIG9mIGVsZW1lbnRz
LgogICAgICAgICAgICAgICAgICAgICBjbGlja0RlZmF1bHRGb3JtQnV0dG9uID0gdHJ1ZTsKICAg
ICAgICAgICAgICAgICAgICAgYnJlYWs7CkBAIC0xNTEzLDE2ICsxNTQ5LDIyIEBAIHZvaWQgSFRN
TElucHV0RWxlbWVudDo6ZGVmYXVsdEV2ZW50SGFuZGxlcihFdmVudCogZXZ0KQogICAgICAgICAg
ICAgICAgICAgICAgICAgY2xpY2tFbGVtZW50ID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICAg
YnJlYWs7CiAgICAgICAgICAgICAgICAgY2FzZSBDT0xPUjoKKyAgICAgICAgICAgICAgICBjYXNl
IERBVEU6CisgICAgICAgICAgICAgICAgY2FzZSBEQVRFVElNRToKKyAgICAgICAgICAgICAgICBj
YXNlIERBVEVUSU1FTE9DQUw6CiAgICAgICAgICAgICAgICAgY2FzZSBFTUFJTDoKICAgICAgICAg
ICAgICAgICBjYXNlIEhJRERFTjoKICAgICAgICAgICAgICAgICBjYXNlIElTSU5ERVg6CisgICAg
ICAgICAgICAgICAgY2FzZSBNT05USDoKICAgICAgICAgICAgICAgICBjYXNlIE5VTUJFUjoKICAg
ICAgICAgICAgICAgICBjYXNlIFBBU1NXT1JEOgogICAgICAgICAgICAgICAgIGNhc2UgUkFOR0U6
CiAgICAgICAgICAgICAgICAgY2FzZSBTRUFSQ0g6CiAgICAgICAgICAgICAgICAgY2FzZSBURUxF
UEhPTkU6CiAgICAgICAgICAgICAgICAgY2FzZSBURVhUOgorICAgICAgICAgICAgICAgIGNhc2Ug
VElNRToKICAgICAgICAgICAgICAgICBjYXNlIFVSTDoKKyAgICAgICAgICAgICAgICBjYXNlIFdF
RUs6CiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgfQogICAgICAgICB9
CkBAIC0xNzUzLDI1ICsxNzk1LDMxIEBAIGJvb2wgSFRNTElucHV0RWxlbWVudDo6aXNSZXF1aXJl
ZEZvcm1Db250cm9sKCkgY29uc3QKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgc3dpdGNo
IChpbnB1dFR5cGUoKSkgewotICAgICAgICBjYXNlIFRFWFQ6Ci0gICAgICAgIGNhc2UgU0VBUkNI
OgotICAgICAgICBjYXNlIFVSTDoKLSAgICAgICAgY2FzZSBURUxFUEhPTkU6CisgICAgICAgIGNh
c2UgQ0hFQ0tCT1g6CisgICAgICAgIGNhc2UgREFURToKKyAgICAgICAgY2FzZSBEQVRFVElNRToK
KyAgICAgICAgY2FzZSBEQVRFVElNRUxPQ0FMOgogICAgICAgICBjYXNlIEVNQUlMOgotICAgICAg
ICBjYXNlIFBBU1NXT1JEOgorICAgICAgICBjYXNlIEZJTEU6CisgICAgICAgIGNhc2UgTU9OVEg6
CiAgICAgICAgIGNhc2UgTlVNQkVSOgotICAgICAgICBjYXNlIENIRUNLQk9YOgorICAgICAgICBj
YXNlIFBBU1NXT1JEOgogICAgICAgICBjYXNlIFJBRElPOgotICAgICAgICBjYXNlIEZJTEU6Cisg
ICAgICAgIGNhc2UgU0VBUkNIOgorICAgICAgICBjYXNlIFRFTEVQSE9ORToKKyAgICAgICAgY2Fz
ZSBURVhUOgorICAgICAgICBjYXNlIFRJTUU6CisgICAgICAgIGNhc2UgVVJMOgorICAgICAgICBj
YXNlIFdFRUs6CiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgY2FzZSBISURERU46
Ci0gICAgICAgIGNhc2UgUkFOR0U6Ci0gICAgICAgIGNhc2UgU1VCTUlUOgotICAgICAgICBjYXNl
IElNQUdFOgotICAgICAgICBjYXNlIFJFU0VUOgogICAgICAgICBjYXNlIEJVVFRPTjoKICAgICAg
ICAgY2FzZSBDT0xPUjoKKyAgICAgICAgY2FzZSBISURERU46CisgICAgICAgIGNhc2UgSU1BR0U6
CiAgICAgICAgIGNhc2UgSVNJTkRFWDoKKyAgICAgICAgY2FzZSBSQU5HRToKKyAgICAgICAgY2Fz
ZSBSRVNFVDoKKyAgICAgICAgY2FzZSBTVUJNSVQ6CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7
CiAgICAgfQogCkBAIC0xODczLDI5ICsxOTIxLDM1IEBAIEhUTUxEYXRhTGlzdEVsZW1lbnQqIEhU
TUxJbnB1dEVsZW1lbnQ6OmRhdGFMaXN0KCkgY29uc3QKICAgICAgICAgcmV0dXJuIDA7CiAKICAg
ICBzd2l0Y2ggKGlucHV0VHlwZSgpKSB7Ci0gICAgY2FzZSBURVhUOgotICAgIGNhc2UgU0VBUkNI
OgotICAgIGNhc2UgVVJMOgotICAgIGNhc2UgVEVMRVBIT05FOgorICAgIGNhc2UgQ09MT1I6Cisg
ICAgY2FzZSBEQVRFOgorICAgIGNhc2UgREFURVRJTUU6CisgICAgY2FzZSBEQVRFVElNRUxPQ0FM
OgogICAgIGNhc2UgRU1BSUw6CisgICAgY2FzZSBNT05USDoKICAgICBjYXNlIE5VTUJFUjoKICAg
ICBjYXNlIFJBTkdFOgotICAgIGNhc2UgQ09MT1I6IHsKKyAgICBjYXNlIFNFQVJDSDoKKyAgICBj
YXNlIFRFTEVQSE9ORToKKyAgICBjYXNlIFRFWFQ6CisgICAgY2FzZSBUSU1FOgorICAgIGNhc2Ug
VVJMOgorICAgIGNhc2UgV0VFSzogewogICAgICAgICBFbGVtZW50KiBlbGVtZW50ID0gZG9jdW1l
bnQoKS0+Z2V0RWxlbWVudEJ5SWQoZ2V0QXR0cmlidXRlKGxpc3RBdHRyKSk7CiAgICAgICAgIGlm
IChlbGVtZW50ICYmIGVsZW1lbnQtPmhhc1RhZ05hbWUoZGF0YWxpc3RUYWcpKQogICAgICAgICAg
ICAgcmV0dXJuIHN0YXRpY19jYXN0PEhUTUxEYXRhTGlzdEVsZW1lbnQqPihlbGVtZW50KTsKICAg
ICAgICAgYnJlYWs7CiAgICAgfQotICAgIGNhc2UgSElEREVOOgotICAgIGNhc2UgUEFTU1dPUkQ6
CisgICAgY2FzZSBCVVRUT046CiAgICAgY2FzZSBDSEVDS0JPWDoKLSAgICBjYXNlIFJBRElPOgog
ICAgIGNhc2UgRklMRToKLSAgICBjYXNlIFNVQk1JVDoKKyAgICBjYXNlIEhJRERFTjoKICAgICBj
YXNlIElNQUdFOgotICAgIGNhc2UgUkVTRVQ6Ci0gICAgY2FzZSBCVVRUT046CiAgICAgY2FzZSBJ
U0lOREVYOgorICAgIGNhc2UgUEFTU1dPUkQ6CisgICAgY2FzZSBSQURJTzoKKyAgICBjYXNlIFJF
U0VUOgorICAgIGNhc2UgU1VCTUlUOgogICAgICAgICBicmVhazsKICAgICB9CiAgICAgcmV0dXJu
IDA7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oIGIvV2ViQ29y
ZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaAppbmRleCAwZTJkYTMyLi43MWQyMWQ2IDEwMDY0NAot
LS0gYS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oCisrKyBiL1dlYkNvcmUvaHRtbC9I
VE1MSW5wdXRFbGVtZW50LmgKQEAgLTQwLDcgKzQwLDcgQEAgY2xhc3MgVmlzaWJsZVNlbGVjdGlv
bjsKIGNsYXNzIEhUTUxJbnB1dEVsZW1lbnQgOiBwdWJsaWMgSFRNTFRleHRGb3JtQ29udHJvbEVs
ZW1lbnQsIHB1YmxpYyBJbnB1dEVsZW1lbnQgewogcHVibGljOgogICAgIGVudW0gSW5wdXRUeXBl
IHsKLSAgICAgICAgVEVYVCwKKyAgICAgICAgVEVYVCA9IDAsIC8vIFRFWFQgbXVzdCBiZSAwLgog
ICAgICAgICBQQVNTV09SRCwKICAgICAgICAgSVNJTkRFWCwKICAgICAgICAgQ0hFQ0tCT1gsCkBA
IC01Nyw5ICs1NywxNyBAQCBwdWJsaWM6CiAgICAgICAgIE5VTUJFUiwKICAgICAgICAgVEVMRVBI
T05FLAogICAgICAgICBVUkwsCi0gICAgICAgIENPTE9SCisgICAgICAgIENPTE9SLAorICAgICAg
ICBEQVRFLAorICAgICAgICBEQVRFVElNRSwKKyAgICAgICAgREFURVRJTUVMT0NBTCwKKyAgICAg
ICAgTU9OVEgsCisgICAgICAgIFRJTUUsCisgICAgICAgIFdFRUssCisgICAgICAgIC8vIElmIHlv
dSBhZGQgbmV3IHR5cGVzIG9yIGNoYW5nZSB0aGUgb3JkZXIgb2YgZW51bSB2YWx1ZXMsIHVwZGF0
ZSBudW1iZXJPZlR5cGVzIGJlbG93LgogICAgIH07Ci0gICAgCisgICAgc3RhdGljIGNvbnN0IGlu
dCBudW1iZXJPZlR5cGVzID0gV0VFSyArIDE7CisKICAgICBlbnVtIEF1dG9Db21wbGV0ZVNldHRp
bmcgewogICAgICAgICBVbmluaXRpYWxpemVkLAogICAgICAgICBPbiwKQEAgLTEwNSw3ICsxMTMs
NyBAQCBwdWJsaWM6CiAKICAgICBib29sIGlzVGV4dEJ1dHRvbigpIGNvbnN0IHsgcmV0dXJuIG1f
dHlwZSA9PSBTVUJNSVQgfHwgbV90eXBlID09IFJFU0VUIHx8IG1fdHlwZSA9PSBCVVRUT047IH0K
ICAgICB2aXJ0dWFsIGJvb2wgaXNSYWRpb0J1dHRvbigpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZSA9
PSBSQURJTzsgfQotICAgIHZpcnR1YWwgYm9vbCBpc1RleHRGaWVsZCgpIGNvbnN0IHsgcmV0dXJu
IG1fdHlwZSA9PSBURVhUIHx8IG1fdHlwZSA9PSBQQVNTV09SRCB8fCBtX3R5cGUgPT0gU0VBUkNI
IHx8IG1fdHlwZSA9PSBJU0lOREVYIHx8IG1fdHlwZSA9PSBFTUFJTCB8fCBtX3R5cGUgPT0gTlVN
QkVSIHx8IG1fdHlwZSA9PSBURUxFUEhPTkUgfHwgbV90eXBlID09IFVSTCB8fCBtX3R5cGUgPT0g
Q09MT1I7IH0KKyAgICB2aXJ0dWFsIGJvb2wgaXNUZXh0RmllbGQoKSBjb25zdDsKICAgICB2aXJ0
dWFsIGJvb2wgaXNTZWFyY2hGaWVsZCgpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZSA9PSBTRUFSQ0g7
IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNJbnB1dFR5cGVIaWRkZW4oKSBjb25zdCB7IHJldHVybiBt
X3R5cGUgPT0gSElEREVOOyB9CiAgICAgdmlydHVhbCBib29sIGlzUGFzc3dvcmRGaWVsZCgpIGNv
bnN0IHsgcmV0dXJuIG1fdHlwZSA9PSBQQVNTV09SRDsgfQotLSAKMS42LjMuMwoK
</data>

          </attachment>
      

    </bug>

</bugzilla>