<?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>102861</bug_id>
          
          <creation_ts>2012-11-20 19:21:55 -0800</creation_ts>
          <short_desc>Implement ValidityState::badInput</short_desc>
          <delta_ts>2012-11-27 01:22:05 -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>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>WebExposed</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>103018</dependson>
    
    <dependson>103033</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Kent Tamura">tkent</reporter>
          <assigned_to name="Kent Tamura">tkent</assigned_to>
          <cc>abarth</cc>
    
    <cc>allan.jensen</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>haraken</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>michelangelo</cc>
    
    <cc>mifenton</cc>
    
    <cc>morrita</cc>
    
    <cc>ojan</cc>
    
    <cc>rakuco</cc>
    
    <cc>rwlbuis</cc>
    
    <cc>syoichi</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit-ews</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>772385</commentid>
    <comment_count>0</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-11-20 19:21:55 -0800</bug_when>
    <thetext>The WHATWG HTML specification has introduced ValidityState::badInput. We should implement it.

http://www.whatwg.org/specs/web-apps/current-work/multipage/association-of-controls-and-forms.html#dom-validitystate-badinput</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>775148</commentid>
    <comment_count>1</comment_count>
      <attachid>175923</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-11-25 22:18:48 -0800</bug_when>
    <thetext>Created attachment 175923
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>775150</commentid>
    <comment_count>2</comment_count>
      <attachid>175924</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-11-25 22:25:13 -0800</bug_when>
    <thetext>Created attachment 175924
Patch 2

Added a missing file</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>775162</commentid>
    <comment_count>3</comment_count>
      <attachid>175924</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-11-25 22:47:40 -0800</bug_when>
    <thetext>Comment on attachment 175924
Patch 2

Attachment 175924 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/15000148</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>775163</commentid>
    <comment_count>4</comment_count>
      <attachid>175924</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-11-25 22:49:04 -0800</bug_when>
    <thetext>Comment on attachment 175924
Patch 2

Attachment 175924 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/14989467</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>775172</commentid>
    <comment_count>5</comment_count>
      <attachid>175931</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-11-25 23:08:50 -0800</bug_when>
    <thetext>Created attachment 175931
Patch 3

Qt build fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>775177</commentid>
    <comment_count>6</comment_count>
      <attachid>175931</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2012-11-25 23:24:51 -0800</bug_when>
    <thetext>Comment on attachment 175931
Patch 3

Attachment 175931 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/14982537</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>775181</commentid>
    <comment_count>7</comment_count>
      <attachid>175933</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-11-25 23:33:44 -0800</bug_when>
    <thetext>Created attachment 175933
Patch 4

EFL build fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>775227</commentid>
    <comment_count>8</comment_count>
      <attachid>175933</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-11-26 01:05:02 -0800</bug_when>
    <thetext>Comment on attachment 175933
Patch 4

Attachment 175933 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/14986501

New failing tests:
fast/forms/ValidityState-001.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>775229</commentid>
    <comment_count>9</comment_count>
      <attachid>175933</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-11-26 01:08:08 -0800</bug_when>
    <thetext>Comment on attachment 175933
Patch 4

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

Looks good.

morrita-san: would you take another look?

&gt; LayoutTests/fast/forms/number/number-validity-badinput.html:13
&gt; +&lt;p id=&quot;description&quot;&gt;&lt;/p&gt;
&gt; +&lt;div id=&quot;console&quot;&gt;&lt;/div&gt;

Nit: Remove this.

&gt; LayoutTests/fast/forms/number/number-validity-badinput.html:29
&gt; +shouldBeTrue(&apos;colorOf(number) != invalidStyleColor&apos;);

Nit: Use !==, or ShouldNotBe(&apos;colorOf(number)&apos;, &apos;invalidStyleColor&apos;)

&gt; LayoutTests/fast/forms/number/number-validity-badinput.html:41
&gt; +shouldBeTrue(&apos;colorOf(number) != invalidStyleColor&apos;);

Ditto.

&gt; LayoutTests/fast/forms/resources/multiple-fields-validity-badinput.js:28
&gt; +    if (type == &apos;date&apos; || type== &apos;datetime&apos; || type == &apos;datetime-local&apos;) {

Nit: type == &apos;datetime&apos;. === would be better.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>775237</commentid>
    <comment_count>10</comment_count>
      <attachid>175940</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-11-26 01:15:17 -0800</bug_when>
    <thetext>Created attachment 175940
Patch 5

Addressed reviewer comments. Fix a test failure.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>775239</commentid>
    <comment_count>11</comment_count>
      <attachid>175933</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-11-26 01:16:59 -0800</bug_when>
    <thetext>Comment on attachment 175933
Patch 4

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

&gt;&gt; LayoutTests/fast/forms/number/number-validity-badinput.html:13
&gt;&gt; +&lt;div id=&quot;console&quot;&gt;&lt;/div&gt;
&gt; 
&gt; Nit: Remove this.

Fixed.
FYI: I wanted to minimize the difference from number-unacceptable-style.html.

&gt;&gt; LayoutTests/fast/forms/number/number-validity-badinput.html:29
&gt;&gt; +shouldBeTrue(&apos;colorOf(number) != invalidStyleColor&apos;);
&gt; 
&gt; Nit: Use !==, or ShouldNotBe(&apos;colorOf(number)&apos;, &apos;invalidStyleColor&apos;)

Fixed.

&gt;&gt; LayoutTests/fast/forms/number/number-validity-badinput.html:41
&gt;&gt; +shouldBeTrue(&apos;colorOf(number) != invalidStyleColor&apos;);
&gt; 
&gt; Ditto.

Fixed.

&gt;&gt; LayoutTests/fast/forms/resources/multiple-fields-validity-badinput.js:28
&gt;&gt; +    if (type == &apos;date&apos; || type== &apos;datetime&apos; || type == &apos;datetime-local&apos;) {
&gt; 
&gt; Nit: type == &apos;datetime&apos;. === would be better.

Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>776451</commentid>
    <comment_count>12</comment_count>
      <attachid>175940</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-11-27 00:55:14 -0800</bug_when>
    <thetext>Comment on attachment 175940
Patch 5

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

&gt; Source/WebCore/ChangeLog:17
&gt; +        interactive validation tells it.

Better to use consistent tense.

&gt; Source/WebCore/ChangeLog:27
&gt; +        will be added later.

The bug# might be worth being mentioned here.

&gt; Source/WebCore/html/FormAssociatedElement.h:79
&gt;      // stepMismatch, tooLong and valueMissing must call willValidate method.

Vaguely feel that it&apos;s time to fold these into one method which returns bit flags.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>776460</commentid>
    <comment_count>13</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-11-27 01:10:07 -0800</bug_when>
    <thetext>Committed r135836: &lt;http://trac.webkit.org/changeset/135836&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>776468</commentid>
    <comment_count>14</comment_count>
      <attachid>175940</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-11-27 01:21:24 -0800</bug_when>
    <thetext>Comment on attachment 175940
Patch 5

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

&gt;&gt; Source/WebCore/html/FormAssociatedElement.h:79
&gt;&gt;      // stepMismatch, tooLong and valueMissing must call willValidate method.
&gt; 
&gt; Vaguely feel that it&apos;s time to fold these into one method which returns bit flags.

MO, returning bit flags won&apos;t be nice.  When JS code gets input.validity.tooLong, we don&apos;t need to compute other validation states.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>776471</commentid>
    <comment_count>15</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-11-27 01:22:05 -0800</bug_when>
    <thetext>(In reply to comment #14)
&gt; MO, returning bit flags won&apos;t be nice.  When JS code gets input.validity.tooLong, we don&apos;t need to compute other validation states.

MO -&gt; IMO</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>175923</attachid>
            <date>2012-11-25 22:18:48 -0800</date>
            <delta_ts>2012-11-25 22:25:07 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-102861-20121126151627.patch</filename>
            <type>text/plain</type>
            <size>46565</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM1Njc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWM4NTc1MjIwZWQwNzc2
ZGMyZWIzNThkZjY2MWJlMGMzY2I2N2Q5MC4uMWMwZWQwMDk2Zjc2MzM5YzQ1MjI3Y2ZmYzg5YWM5
MmNmNGUyOGJmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEwOCBAQAorMjAxMi0xMS0yNiAgS2Vu
dCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IFZhbGlk
aXR5U3RhdGU6OmJhZElucHV0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMDI4NjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBBZGQgVmFsaWRpdHlTdGF0ZTo6YmFkSW5wdXQsIGFkZCBoYXNCYWRJbnB1dCwg
d2hpY2ggYWx3YXlzIHJldHVybnMKKyAgICAgICAgZmFsc2UsIHRvIEZvcm1Bc3NvY2lhdGVkRWxl
bWVudCwgSFRNTElucHV0RWxlbWVudCwgYW5kIElucHV0VHlwZS4KKworICAgICAgICBGb3IgTnVt
YmVySW5wdXRUeXBlLCB3ZSBoYWQgaGFzVW5hY2NlcHRhYmxlVmFsdWUsIHdoaWNoIHdhcyBhIGhh
Y2sgdG8KKyAgICAgICAgbWFrZSBhbiBpbnB1dCBlbGVtZW50IG1hdGNoIHRvIDppbnZhbGlkIGlm
IHRoZSBlbGVtZW50IGhhZCBub24tbnVtYmVyCisgICAgICAgIHN0cmluZ3MuIFdlIGRvbid0IG5l
ZWQgdGhlIGhhY2sgYW55IG1vcmUgYmVjYXVzZSBiYWRJbnB1dCBhZmZlY3RzIDppbnZhbGlkCisg
ICAgICAgIHN0eWxlLiBoYXNVbmFjY2VwdGFibGVWYWx1ZSBpcyByZS11c2VkIGZvciBoYXNCYWRJ
bnB1dCBpbXBsZW1lbnRhdGlvbi4KKyAgICAgICAgV2UgY2xlYXJlZCBpbnZhbGlkIG51bWJlcnMg
d2hlbiBlbGVtZW50cyBsb3N0IGZvY3VzIHRvIHRlbGwgdXNlcnMgdGhhdAorICAgICAgICB0aGUg
ZWxlbWVudCBoYWQgaW52YWxpZCBudW1iZXJzLiBXZSBkb24ndCBuZWVkIHRoaXMgYmVoYXZpb3Ig
YmVjYXVzZSB0aGUKKyAgICAgICAgaW50ZXJhY3RpdmUgdmFsaWRhdGlvbiB0ZWxscyBpdC4KKwor
ICAgICAgICBGb3IgZGF0ZS90aW1lIGlucHV0IHR5cGVzLCB3ZSBzaG91bGQgbWFrZSBhbiBpbnB1
dCBiYWRJbnB1dCB3aGVuIHRoZQorICAgICAgICBpbnB1dCBoYXMgZW1wdHkgdmFsdWUgYnV0IGl0
cyBzdWItZmllbGRzIGhhdmUgdmFsdWVzLiBJdCBjb3ZlcnMgYm90aCBvZgorICAgICAgICBwYXJ0
aWFsIGlucHV0IGNhc2VzIHN1Y2ggYXMgMTIvLS0vMjAxMiBhbmQgaW52YWxpZCBkYXRlcyBzdWNo
IGFzCisgICAgICAgIDAyLzMxLzIwMTIuCisKKyAgICAgICAgRm9yIG90aGVyIHR5cGVzLCBWYWxp
ZGl0eVN0YXRlOjpiYWRJbnB1dCBhbHdheXMgcmV0dXJucyBmYWxzZS4KKworICAgICAgICBUaGlz
IHBhdGNoIGRvZXNuJ3QgY29udGFpbiB0ZXN0cyBmb3IgYmFkSW5wdXQgdmFsaWRhdGlvbiBtZXNz
YWdlcy4gVGhleQorICAgICAgICB3aWxsIGJlIGFkZGVkIGxhdGVyLgorCisgICAgICAgIFRlc3Rz
OiBmYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLXZh
bGlkaXR5LWJhZGlucHV0Lmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvZm9ybXMvZGF0ZXRpbWUt
bXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1
dC5odG1sCisgICAgICAgICAgICAgICBmYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUt
ZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0Lmh0
bWwKKyAgICAgICAgICAgICAgIGZhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRo
LW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC5odG1sCisgICAgICAgICAgICAgICBm
YXN0L2Zvcm1zL251bWJlci9udW1iZXItdmFsaWRpdHktYmFkaW5wdXQuaHRtbAorICAgICAgICAg
ICAgICAgZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxk
cy12YWxpZGl0eS1iYWRpbnB1dC5odG1sCisgICAgICAgICAgICAgICBmYXN0L2Zvcm1zL3dlZWst
bXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0Lmh0
bWwKKworICAgICAgICAqIGh0bWwvVmFsaWRpdHlTdGF0ZS5pZGw6IEFkZCBiYWRJbnB1dCBJREwg
YXR0cmlidXRlLgorICAgICAgICAqIGh0bWwvVmFsaWRpdHlTdGF0ZS5oOgorICAgICAgICAoVmFs
aWRpdHlTdGF0ZSk6IEFkZCBiYWRJbnB1dC4KKyAgICAgICAgKiBodG1sL1ZhbGlkaXR5U3RhdGUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6VmFsaWRpdHlTdGF0ZTo6YmFkSW5wdXQpOgorICAgICAg
ICBBZGRlZC4gQ2FsbHMgRm9ybUFzc29jaWF0ZWRFbGVtZW50OjpoYXNCYWRJbnB1dC4KKworICAg
ICAgICAqIGh0bWwvRm9ybUFzc29jaWF0ZWRFbGVtZW50Lmg6CisgICAgICAgIChGb3JtQXNzb2Np
YXRlZEVsZW1lbnQpOiBBZGQgaGFzQmFkSW5wdXQuCisgICAgICAgICogaHRtbC9Gb3JtQXNzb2Np
YXRlZEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Rm9ybUFzc29jaWF0ZWRFbGVtZW50
OjpoYXNCYWRJbnB1dCk6CisgICAgICAgIEFkZGVkLiBJdCBhbHdheXMgcmV0dXJucyBmYWxzZS4K
KyAgICAgICAgKFdlYkNvcmU6OkZvcm1Bc3NvY2lhdGVkRWxlbWVudDo6dmFsaWQpOiBUYWtlcyBh
Y2NvdW50IG9mIGhhc0JhZElucHV0KCkuCisKKyAgICAgICAgKiBodG1sL0hUTUxJbnB1dEVsZW1l
bnQuaDoKKyAgICAgICAgKEhUTUxJbnB1dEVsZW1lbnQpOgorICAgICAgICBSZW1vdmUgaGFzVW5h
Y2NlcHRhYmxlVmFsdWUsIGFuZCBhZGQgaGFzQmFkSW5wdXQgb3ZlcnJpZGUuCisgICAgICAgICog
aHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVs
ZW1lbnQ6Omhhc0JhZElucHV0KToKKyAgICAgICAgQWRkZWQuIERlbGVnYXRlIHRvIElucHV0VHlw
ZTo6aGFzQmFkSW5wdXQuCisgICAgICAgIChXZWJDb3JlKTogUmVtb3ZlIGhhc1VuYWNjZXB0YWJs
ZVZhbHVlLgorCisgICAgICAgICogaHRtbC9JbnB1dFR5cGUuaDoKKyAgICAgICAgKElucHV0VHlw
ZSk6IEFkZCBoYXNCYWRJbnB1dCBhbmQgYmFkSW5wdXRUZXh0LCBhbmQgcmVtb3ZlCisgICAgICAg
IGhhc1VuYWNjZXB0YWJsZVZhbHVlLgorICAgICAgICAqIGh0bWwvSW5wdXRUeXBlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OklucHV0VHlwZTo6aGFzQmFkSW5wdXQpOiBBZGRlZC4gUmV0dXJucyBm
YWxzZS4KKyAgICAgICAgKFdlYkNvcmU6OklucHV0VHlwZTo6YmFkSW5wdXRUZXh0KToKKyAgICAg
ICAgQWRkZWQuIFRoaXMgZnVuY3Rpb24gc2hvdWxkIG5vdCBiZSBjYWxsZWQgYmVjYXVzZSBoYXNC
YWRJbnB1dCBhbHdheXMKKyAgICAgICAgcmV0dXJucyBmYWxzZS4KKyAgICAgICAgKFdlYkNvcmU6
OklucHV0VHlwZTo6dmFsaWRhdGlvbk1lc3NhZ2UpOgorICAgICAgICBTdXBwb3J0cyBiYWRJbnB1
dC4gVGhpcyByZXR1cm5zIGJhZElucHV0VGV4dCBpZiBoYXNCYWRJbnB1dCBpcyB0cnVlLgorCisg
ICAgICAgICogaHRtbC9OdW1iZXJJbnB1dFR5cGUuaDoKKyAgICAgICAgKE51bWJlcklucHV0VHlw
ZSk6IEFkZCBoYXNCYWRJbnB1dCBhbmQgYmFkSW5wdXRUZXN0LiBSZW1vdmUKKyAgICAgICAgaGFu
ZGxlQmx1ckV2ZW50IGFuZCBoYXNVbmFjY2VwdGFibGVWYWx1ZS4KKyAgICAgICAgKiBodG1sL051
bWJlcklucHV0VHlwZS5jcHA6CisgICAgICAgIFJlbW92ZSBoYW5kbGVCbHVyRXZlbnQsIHdoaWNo
IGNsZWFyZWQgaW52YWxpZCBudW1iZXIgc3RyaW5ncy4KKyAgICAgICAgKFdlYkNvcmU6Ok51bWJl
cklucHV0VHlwZTo6aGFzQmFkSW5wdXQpOgorICAgICAgICBBZGRlZC4gV2UgZG9uJ3QgbmVlZCB0
byBjaGVjayBleGlzdGVuY2Ugb2YgYSByZW5kZXJlci4gVGhlIHN0YW5kYXJkIGZvcm0KKyAgICAg
ICAgdmFsaWRhdGlvbiBmZWF0dXJlIGRvZXNuJ3QgY2FyZSBvZiBpdC4KKyAgICAgICAgKFdlYkNv
cmU6Ok51bWJlcklucHV0VHlwZTo6YmFkSW5wdXRUZXh0KTogUmV0dXJucworICAgICAgICB2YWxp
ZGF0aW9uTWVzc2FnZUJhZElucHV0Rm9yTnVtYmVyVGV4dCBkZWZpbmVkIGluIExvY2FsaXplZFN0
cmluZ3MuaC4KKyAgICAgICAgKiBjc3MvU2VsZWN0b3JDaGVja2VyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlNlbGVjdG9yQ2hlY2tlcjo6Y2hlY2tPbmVTZWxlY3Rvcik6CisgICAgICAgIFJlbW92
ZSBhIGhhY2sgZm9yIGhhc1VuYWNjZXB0YWJsZVZhbHVlLiBpc1ZhbGlkRm9ybUNvbnRyb2xFbGVt
ZW50IHRha2VzCisgICAgICAgIGFjY291bnQgb2YgYmFkSW5wdXQuCisgICAgICAgICogZG9tL0Vs
ZW1lbnQuaDogUmVtb3ZlIGhhc1VuYWNjZXB0YWJsZVZhbHVlLgorCisgICAgICAgICogaHRtbC9C
YXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZS5oOgorICAgICAgICAoQmFzZU11
bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUpOiBBZGQgaGFzQmFkSW5wdXQgYW5kIGJh
ZElucHV0VGV4dC4KKyAgICAgICAgKiBodG1sL0Jhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1l
SW5wdXRUeXBlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkJhc2VNdWx0aXBsZUZpZWxkc0RhdGVB
bmRUaW1lSW5wdXRUeXBlOjpiYWRJbnB1dFRleHQpOgorICAgICAgICBSZXR1cm5zIHZhbGlkYXRp
b25NZXNzYWdlQmFkSW5wdXRGb3JEYXRlVGltZVRleHQgZGVmaW5lZCBpbiBMb2NhbGl6ZWRTdHJp
bmdzLmguCisgICAgICAgIChXZWJDb3JlOjpCYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlu
cHV0VHlwZTo6aGFzQmFkSW5wdXQpOgorICAgICAgICBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OkJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlOjpzZXRWYWx1ZSk6CisgICAg
ICAgIEFkZCBzZXROZWVkc1ZhbGlkaXR5Q2hlY2sgY2FsbC4gSXQgaXMgbmVlZGVkIGJlY2F1c2UK
KyAgICAgICAgdXBkYXRlSW5uZXJUZXh0VmFsdWUgY2FuIG1vZGlmeSBzdWJmaWVsZHMgZW1wdHkg
c3RhdGUuCisKKyAgICAgICAgKiBodG1sL1RleHRGaWVsZElucHV0VHlwZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpUZXh0RmllbGRJbnB1dFR5cGU6OnN1YnRyZWVIYXNDaGFuZ2VkKTogVXBkYXRl
IGEgY29tbWVudC4KKyAgICAgICAgKiBwbGF0Zm9ybS9Mb2NhbGl6ZWRTdHJpbmdzLmg6CisgICAg
ICAgIChXZWJDb3JlKTogQWRkIHZhbGlkYXRpb25NZXNzYWdlQmFkSW5wdXRGb3JOdW1iZXJUZXh0
IGFuZAorICAgICAgICB2YWxpZGF0aW9uTWVzc2FnZUJhZElucHV0Rm9yRGF0ZVRpbWVUZXh0Lgor
ICAgICAgICAqIHBsYXRmb3JtL0xvY2FsaXplZFN0cmluZ3MuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6dmFsaWRhdGlvbk1lc3NhZ2VCYWRJbnB1dEZvck51bWJlclRleHQpOgorICAgICAgICBBZGRl
ZCBhIHBsYWNlaG9sZGVyIGltcGxlbWVudGF0aW9uLiBUaGlzIHNob3VsZCBiZSBmaXhlZCBsYXRl
ci4KKwogMjAxMi0xMS0yNSAgS2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgUmVmYWN0b3Jpbmc6IE1vdmUgdGhlIGNvbnRlbnQgb2YgSFRNTElucHV0RWxlbWVudDo6
c3VidHJlZUhhc0NoYW5nZWQgdG8gVGV4dEZpZWxkSW5wdXRUeXBlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hh
bmdlTG9nCmluZGV4IDI0YWJhZmIyNWJlNzU1MjYwZDBjNjllOTk1YzdkZDMxMTIxNGI5M2EuLmYz
ZWU3ZWZlYTg1ZmRlZTI3YTUyZWU2ZTY0YmNlYTkyNjEzNDkzZjAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMTEtMjUgIEtlbnQgVGFtdXJhICA8dGtl
bnRAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEltcGxlbWVudCBWYWxpZGl0eVN0YXRlOjpiYWRJ
bnB1dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAy
ODYxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBz
cmMvTG9jYWxpemVkU3RyaW5ncy5jcHA6CisgICAgICAgIEFkZCBwbGFjZWhvbGRlciBpbXBsZW1l
bnRhdGlvbnMgZm9yIG5ldyBsb2NhbGl6ZWQgc3RyaW5nIGZ1bmN0aW9ucy4KKyAgICAgICAgV2Un
bGwgdXBkYXRlIHRoZW0gaW4gYW5vdGhlciBwYXRjaC4KKyAgICAgICAgKFdlYkNvcmU6OnZhbGlk
YXRpb25NZXNzYWdlQmFkSW5wdXRGb3JOdW1iZXJUZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OnZh
bGlkYXRpb25NZXNzYWdlQmFkSW5wdXRGb3JEYXRlVGltZVRleHQpOgorCiAyMDEyLTExLTI0ICBT
aWx2aWEgUGZlaWZmZXIgIDxzaWx2aWFwZkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW2Nocm9t
aXVtXSBSZW1vdmUgdHJhY2VzIG9mIE1lZGlhQ29udHJvbFJvb3RFbGVtZW50CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9TZWxlY3RvckNoZWNrZXIuY3BwCmluZGV4IDM4ZDQxZjc4NDg4NjVkYzhhYzNjMTY0OTE5
MjYzODY0NjU5MWJkMzIuLjBlMWY2ZmQ3MDQ5NDJjYjkxOThlOTA3MzdiYWFiNWZiZDBjZjQzNmQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvckNoZWNrZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvckNoZWNrZXIuY3BwCkBAIC0xMDcyLDcgKzEwNzIs
NyBAQCBib29sIFNlbGVjdG9yQ2hlY2tlcjo6Y2hlY2tPbmVTZWxlY3Rvcihjb25zdCBTZWxlY3Rv
ckNoZWNraW5nQ29udGV4dCYgY29udGV4dCwgYwogICAgICAgICAgICAgaWYgKCFlbGVtZW50KQog
ICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgIGVsZW1lbnQtPmRvY3Vt
ZW50KCktPnNldENvbnRhaW5zVmFsaWRpdHlTdHlsZVJ1bGVzKCk7Ci0gICAgICAgICAgICByZXR1
cm4gKGVsZW1lbnQtPndpbGxWYWxpZGF0ZSgpICYmICFlbGVtZW50LT5pc1ZhbGlkRm9ybUNvbnRy
b2xFbGVtZW50KCkpIHx8IGVsZW1lbnQtPmhhc1VuYWNjZXB0YWJsZVZhbHVlKCk7CisgICAgICAg
ICAgICByZXR1cm4gZWxlbWVudC0+d2lsbFZhbGlkYXRlKCkgJiYgIWVsZW1lbnQtPmlzVmFsaWRG
b3JtQ29udHJvbEVsZW1lbnQoKTsKICAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvQ2hl
Y2tlZDoKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICBpZiAoIWVsZW1lbnQpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9t
L0VsZW1lbnQuaAppbmRleCA1ZjExZWM5MWU5Yzc0NjUwMTRmM2E2MjY3YWMzMjcxZjUxNTZjYTE0
Li5iMmZmYTk5MDIzMjIwY2ZkYTJiZjFjNTU3NDZjN2YwMjZhYzc2ZWNkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVt
ZW50LmgKQEAgLTM4MSw3ICszODEsNiBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIGlzRGVm
YXVsdEJ1dHRvbkZvckZvcm0oKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwg
Ym9vbCB3aWxsVmFsaWRhdGUoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwg
Ym9vbCBpc1ZhbGlkRm9ybUNvbnRyb2xFbGVtZW50KCkgeyByZXR1cm4gZmFsc2U7IH0KLSAgICB2
aXJ0dWFsIGJvb2wgaGFzVW5hY2NlcHRhYmxlVmFsdWUoKSBjb25zdCB7IHJldHVybiBmYWxzZTsg
fQogICAgIHZpcnR1YWwgYm9vbCBpc0luUmFuZ2UoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQog
ICAgIHZpcnR1YWwgYm9vbCBpc091dE9mUmFuZ2UoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQog
ICAgIHZpcnR1YWwgYm9vbCBpc0ZyYW1lRWxlbWVudEJhc2UoKSBjb25zdCB7IHJldHVybiBmYWxz
ZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9CYXNlTXVsdGlwbGVGaWVsZHNE
YXRlQW5kVGltZUlucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VNdWx0aXBs
ZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlLmNwcAppbmRleCA0YmQ3Y2RlMmM1NDAxY2QwOWQ0
N2QxNGE3NTA0ZjEzYzY1NGQyMjBjLi5iNTVlOWE1YTc3MTZjNDNmYmJkYTJkM2E3MjU3YTRlYjNi
YzBlMjk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VNdWx0aXBsZUZpZWxk
c0RhdGVBbmRUaW1lSW5wdXRUeXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VN
dWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlLmNwcApAQCAtNDEsNiArNDEsNyBAQAog
I2luY2x1ZGUgIkhUTUxJbnB1dEVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MT3B0aW9uRWxlbWVu
dC5oIgogI2luY2x1ZGUgIktleWJvYXJkRXZlbnQuaCIKKyNpbmNsdWRlICJMb2NhbGl6ZWRTdHJp
bmdzLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlBpY2tlckluZGljYXRvckVsZW1l
bnQuaCIKICNpbmNsdWRlICJQbGF0Zm9ybUxvY2FsZS5oIgpAQCAtMTY4LDYgKzE2OSwxMSBAQCBC
YXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZTo6fkJhc2VNdWx0aXBsZUZpZWxk
c0RhdGVBbmRUaW1lSW5wdXRUeXBlKAogICAgICAgICBtX3BpY2tlckluZGljYXRvckVsZW1lbnQt
PnJlbW92ZVBpY2tlckluZGljYXRvck93bmVyKCk7CiB9CiAKK1N0cmluZyBCYXNlTXVsdGlwbGVG
aWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZTo6YmFkSW5wdXRUZXh0KCkgY29uc3QKK3sKKyAgICBy
ZXR1cm4gdmFsaWRhdGlvbk1lc3NhZ2VCYWRJbnB1dEZvckRhdGVUaW1lVGV4dCgpOworfQorCiB2
b2lkIEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlOjpibHVyKCkKIHsKICAg
ICBpZiAobV9kYXRlVGltZUVkaXRFbGVtZW50KQpAQCAtMjczLDYgKzI3OSwxMSBAQCB2b2lkIEJh
c2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlOjpoYW5kbGVLZXlkb3duRXZlbnQo
S2V5Ym9hcmRFdmVudCogZQogICAgICAgICBmb3J3YXJkRXZlbnQoZXZlbnQpOwogfQogCitib29s
IEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlOjpoYXNCYWRJbnB1dCgpIGNv
bnN0Cit7CisgICAgcmV0dXJuIGVsZW1lbnQoKS0+dmFsdWUoKS5pc0VtcHR5KCkgJiYgbV9kYXRl
VGltZUVkaXRFbGVtZW50ICYmIG1fZGF0ZVRpbWVFZGl0RWxlbWVudC0+YW55RWRpdGFibGVGaWVs
ZHNIYXZlVmFsdWVzKCk7Cit9CisKIGJvb2wgQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJ
bnB1dFR5cGU6OmlzS2V5Ym9hcmRGb2N1c2FibGUoS2V5Ym9hcmRFdmVudCopIGNvbnN0CiB7CiAg
ICAgcmV0dXJuIGZhbHNlOwpAQCAtMzI1LDggKzMzNiwxMCBAQCBGb3JtQ29udHJvbFN0YXRlIEJh
c2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlOjpzYXZlRm9ybUNvbnRyb2xTdGF0
ZSgpCiB2b2lkIEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlOjpzZXRWYWx1
ZShjb25zdCBTdHJpbmcmIHNhbml0aXplZFZhbHVlLCBib29sIHZhbHVlQ2hhbmdlZCwgVGV4dEZp
ZWxkRXZlbnRCZWhhdmlvciBldmVudEJlaGF2aW9yKQogewogICAgIElucHV0VHlwZTo6c2V0VmFs
dWUoc2FuaXRpemVkVmFsdWUsIHZhbHVlQ2hhbmdlZCwgZXZlbnRCZWhhdmlvcik7Ci0gICAgaWYg
KHZhbHVlQ2hhbmdlZCB8fCAoc2FuaXRpemVkVmFsdWUuaXNFbXB0eSgpICYmIG1fZGF0ZVRpbWVF
ZGl0RWxlbWVudCAmJiBtX2RhdGVUaW1lRWRpdEVsZW1lbnQtPmFueUVkaXRhYmxlRmllbGRzSGF2
ZVZhbHVlcygpKSkKKyAgICBpZiAodmFsdWVDaGFuZ2VkIHx8IChzYW5pdGl6ZWRWYWx1ZS5pc0Vt
cHR5KCkgJiYgbV9kYXRlVGltZUVkaXRFbGVtZW50ICYmIG1fZGF0ZVRpbWVFZGl0RWxlbWVudC0+
YW55RWRpdGFibGVGaWVsZHNIYXZlVmFsdWVzKCkpKSB7CiAgICAgICAgIHVwZGF0ZUlubmVyVGV4
dFZhbHVlKCk7CisgICAgICAgIGVsZW1lbnQoKS0+c2V0TmVlZHNWYWxpZGl0eUNoZWNrKCk7Cisg
ICAgfQogfQogCiBib29sIEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlOjpz
aG91bGRVc2VJbnB1dE1ldGhvZCgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0Jhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0Jhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlLmgKaW5kZXgg
YjVhY2M5ZTZiOTMxZDQyODMxZjFjYTNlMmU5MDhiNjFhN2Q2NjJjOC4uYmQ0MWZmZmVmZjFiMjYz
NWI1YmY3ZDg0NjY5YmE4ODVkMjgyOGExMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9CYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUuaApAQCAt
NzMsNiArNzMsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgYm9vbCBzZXR1cERhdGVUaW1lQ2hv
b3NlclBhcmFtZXRlcnMoRGF0ZVRpbWVDaG9vc2VyUGFyYW1ldGVycyYpIE9WRVJSSURFIEZJTkFM
OwogCiAgICAgLy8gSW5wdXRUeXBlIGZ1bmN0aW9ucworICAgIHZpcnR1YWwgU3RyaW5nIGJhZElu
cHV0VGV4dCgpIGNvbnN0IE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBibHVyKCkgT1ZFUlJJ
REUgRklOQUw7CiAgICAgdmlydHVhbCBSZW5kZXJPYmplY3QqIGNyZWF0ZVJlbmRlcmVyKFJlbmRl
ckFyZW5hKiwgUmVuZGVyU3R5bGUqKSBjb25zdCBPVkVSUklERSBGSU5BTDsKICAgICB2aXJ0dWFs
IHZvaWQgY3JlYXRlU2hhZG93U3VidHJlZSgpIE9WRVJSSURFIEZJTkFMOwpAQCAtODEsNiArODIs
NyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBmb2N1cyhib29sIHJlc3RvcmVQcmV2aW91
c1NlbGVjdGlvbikgT1ZFUlJJREUgRklOQUw7CiAgICAgdmlydHVhbCB2b2lkIGZvcndhcmRFdmVu
dChFdmVudCopIE9WRVJSSURFIEZJTkFMOwogICAgIHZpcnR1YWwgdm9pZCBoYW5kbGVLZXlkb3du
RXZlbnQoS2V5Ym9hcmRFdmVudCopIE9WRVJSSURFIEZJTkFMOworICAgIHZpcnR1YWwgYm9vbCBo
YXNCYWRJbnB1dCgpIGNvbnN0IE9WRVJSSURFOwogICAgIHZpcnR1YWwgYm9vbCBoYXNDdXN0b21G
b2N1c0xvZ2ljKCkgY29uc3QgT1ZFUlJJREUgRklOQUw7CiAgICAgdmlydHVhbCBib29sIGlzS2V5
Ym9hcmRGb2N1c2FibGUoS2V5Ym9hcmRFdmVudCopIGNvbnN0IE9WRVJSSURFIEZJTkFMOwogICAg
IHZpcnR1YWwgYm9vbCBpc01vdXNlRm9jdXNhYmxlKCkgY29uc3QgT1ZFUlJJREUgRklOQUw7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0Zvcm1Bc3NvY2lhdGVkRWxlbWVudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0Zvcm1Bc3NvY2lhdGVkRWxlbWVudC5jcHAKaW5kZXggM2Q4
ODk3ODNlOWVkOWZjMGRkM2MwZDU0ZmQyZmYyZDY4M2Y1MjBhOS4uOGRmZGFlMDk2ZjI3MTNmMzVm
MTQ0NTI0MmQ5ZTA2YmJjYTc2NjFhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9G
b3JtQXNzb2NpYXRlZEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRm9ybUFz
c29jaWF0ZWRFbGVtZW50LmNwcApAQCAtMTg5LDYgKzE4OSwxMSBAQCBib29sIEZvcm1Bc3NvY2lh
dGVkRWxlbWVudDo6Y3VzdG9tRXJyb3IoKSBjb25zdAogICAgIHJldHVybiBlbGVtZW50LT53aWxs
VmFsaWRhdGUoKSAmJiAhbV9jdXN0b21WYWxpZGF0aW9uTWVzc2FnZS5pc0VtcHR5KCk7CiB9CiAK
K2Jvb2wgRm9ybUFzc29jaWF0ZWRFbGVtZW50OjpoYXNCYWRJbnB1dCgpIGNvbnN0Cit7CisgICAg
cmV0dXJuIGZhbHNlOworfQorCiBib29sIEZvcm1Bc3NvY2lhdGVkRWxlbWVudDo6cGF0dGVybk1p
c21hdGNoKCkgY29uc3QKIHsKICAgICByZXR1cm4gZmFsc2U7CkBAIC0yMjIsNyArMjI3LDcgQEAg
Ym9vbCBGb3JtQXNzb2NpYXRlZEVsZW1lbnQ6OnR5cGVNaXNtYXRjaCgpIGNvbnN0CiBib29sIEZv
cm1Bc3NvY2lhdGVkRWxlbWVudDo6dmFsaWQoKSBjb25zdAogewogICAgIGJvb2wgc29tZUVycm9y
ID0gdHlwZU1pc21hdGNoKCkgfHwgc3RlcE1pc21hdGNoKCkgfHwgcmFuZ2VVbmRlcmZsb3coKSB8
fCByYW5nZU92ZXJmbG93KCkKLSAgICAgICAgfHwgdG9vTG9uZygpIHx8IHBhdHRlcm5NaXNtYXRj
aCgpIHx8IHZhbHVlTWlzc2luZygpIHx8IGN1c3RvbUVycm9yKCk7CisgICAgICAgIHx8IHRvb0xv
bmcoKSB8fCBwYXR0ZXJuTWlzbWF0Y2goKSB8fCB2YWx1ZU1pc3NpbmcoKSB8fCBoYXNCYWRJbnB1
dCgpIHx8IGN1c3RvbUVycm9yKCk7CiAgICAgcmV0dXJuICFzb21lRXJyb3I7CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRm9ybUFzc29jaWF0ZWRFbGVtZW50LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0Zvcm1Bc3NvY2lhdGVkRWxlbWVudC5oCmluZGV4IDM5MGUwZWU3NWMz
Zjk5OGJjZmZkNjU0NWMwZjI5NGUxZDNiOWVkOWEuLmQxZGM5YTU5YzcxODRmZGM3OTgzMDIwNjQx
Njg1M2Q0ZjYyZTc0ZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRm9ybUFzc29j
aWF0ZWRFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9Gb3JtQXNzb2NpYXRlZEVs
ZW1lbnQuaApAQCAtNzcsNiArNzcsNyBAQCBwdWJsaWM6CiAKICAgICAvLyBPdmVycmlkZSBmdW5j
dGlvbnMgZm9yIHBhdHRlck1pc21hdGNoLCByYW5nZU92ZXJmbG93LCByYW5nZXJVbmRlcmZsb3cs
CiAgICAgLy8gc3RlcE1pc21hdGNoLCB0b29Mb25nIGFuZCB2YWx1ZU1pc3NpbmcgbXVzdCBjYWxs
IHdpbGxWYWxpZGF0ZSBtZXRob2QuCisgICAgdmlydHVhbCBib29sIGhhc0JhZElucHV0KCkgY29u
c3Q7CiAgICAgdmlydHVhbCBib29sIHBhdHRlcm5NaXNtYXRjaCgpIGNvbnN0OwogICAgIHZpcnR1
YWwgYm9vbCByYW5nZU92ZXJmbG93KCkgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIHJhbmdlVW5k
ZXJmbG93KCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1
dEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcApp
bmRleCA0Y2FlNzg2ZjFlZGE5YzE4NjQ5NWE3OThlMDczYzhiY2QyZWJmMzViLi41ZTRmNTBkN2E2
OTk0Zjc4MWQ5ODM0NGUyZDMwYWExZDg0NjMwMTczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TElucHV0RWxlbWVudC5jcHAKQEAgLTI2Niw2ICsyNjYsMTEgQEAgYm9vbCBIVE1MSW5wdXRFbGVt
ZW50Ojp2YWx1ZU1pc3NpbmcoKSBjb25zdAogICAgIHJldHVybiB3aWxsVmFsaWRhdGUoKSAmJiBt
X2lucHV0VHlwZS0+dmFsdWVNaXNzaW5nKHZhbHVlKCkpOwogfQogCitib29sIEhUTUxJbnB1dEVs
ZW1lbnQ6Omhhc0JhZElucHV0KCkgY29uc3QKK3sKKyAgICByZXR1cm4gd2lsbFZhbGlkYXRlKCkg
JiYgbV9pbnB1dFR5cGUtPmhhc0JhZElucHV0KCk7Cit9CisKIGJvb2wgSFRNTElucHV0RWxlbWVu
dDo6cGF0dGVybk1pc21hdGNoKCkgY29uc3QKIHsKICAgICByZXR1cm4gd2lsbFZhbGlkYXRlKCkg
JiYgbV9pbnB1dFR5cGUtPnBhdHRlcm5NaXNtYXRjaCh2YWx1ZSgpKTsKQEAgLTEzOTEsMTEgKzEz
OTYsNiBAQCBTdHJpbmcgSFRNTElucHV0RWxlbWVudDo6bG9jYWxpemVWYWx1ZShjb25zdCBTdHJp
bmcmIHByb3Bvc2VkVmFsdWUpIGNvbnN0CiAgICAgcmV0dXJuIG1faW5wdXRUeXBlLT5sb2NhbGl6
ZVZhbHVlKHByb3Bvc2VkVmFsdWUpOwogfQogCi1ib29sIEhUTUxJbnB1dEVsZW1lbnQ6Omhhc1Vu
YWNjZXB0YWJsZVZhbHVlKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9pbnB1dFR5cGUtPmhhc1Vu
YWNjZXB0YWJsZVZhbHVlKCk7Ci19Ci0KIGJvb2wgSFRNTElucHV0RWxlbWVudDo6aXNJblJhbmdl
KCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9pbnB1dFR5cGUtPmlzSW5SYW5nZSh2YWx1ZSgpKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmgKaW5kZXggYjBhYzZhZTk2OWY1YTAx
YWQ2ZTcwYjI1OTUxMTY3M2M1ZmFmMzg4Ni4uOTIyOTc0ODI5YzVlNGIzODliNDkyMGQ3OWQxM2Ux
MGU1OWM0ZjcxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVt
ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmgKQEAgLTU1
LDYgKzU1LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBzaG91bGRBdXRvY29tcGxldGUo
KSBjb25zdDsKIAogICAgIC8vIEZvciBWYWxpZGl0eVN0YXRlCisgICAgdmlydHVhbCBib29sIGhh
c0JhZElucHV0KCkgY29uc3QgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBib29sIHBhdHRlcm5NaXNt
YXRjaCgpIGNvbnN0IE9WRVJSSURFOwogICAgIHZpcnR1YWwgYm9vbCByYW5nZVVuZGVyZmxvdygp
IGNvbnN0IE9WRVJSSURFOwogICAgIHZpcnR1YWwgYm9vbCByYW5nZU92ZXJmbG93KCkgY29uc3Q7
CkBAIC0zNTUsOCArMzU2LDYgQEAgcHJpdmF0ZToKIAogICAgIHZpcnR1YWwgYm9vbCBpc1VSTEF0
dHJpYnV0ZShjb25zdCBBdHRyaWJ1dGUmKSBjb25zdCBPVkVSUklERTsKIAotICAgIHZpcnR1YWwg
Ym9vbCBoYXNVbmFjY2VwdGFibGVWYWx1ZSgpIGNvbnN0OwotCiAgICAgdmlydHVhbCBib29sIGlz
SW5SYW5nZSgpIGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBpc091dE9mUmFuZ2UoKSBjb25zdDsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuY3BwCmluZGV4IDRhNDM3ZTAyOTYxMWVkOTRlZmJlYWJh
Y2FmMTk2NmE5YjkxYjAxZTUuLjc5NmM1M2Q3NDlhNjRhMWM3ODdlNGEzN2UxY2I2MTdlMDJjMGUx
YzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5jcHAKQEAgLTI1OCw2ICsyNTgsMTEgQEAgYm9v
bCBJbnB1dFR5cGU6OnZhbHVlTWlzc2luZyhjb25zdCBTdHJpbmcmKSBjb25zdAogICAgIHJldHVy
biBmYWxzZTsKIH0KIAorYm9vbCBJbnB1dFR5cGU6Omhhc0JhZElucHV0KCkgY29uc3QKK3sKKyAg
ICByZXR1cm4gZmFsc2U7Cit9CisKIGJvb2wgSW5wdXRUeXBlOjpwYXR0ZXJuTWlzbWF0Y2goY29u
c3QgU3RyaW5nJikgY29uc3QKIHsKICAgICByZXR1cm4gZmFsc2U7CkBAIC0zNDYsNiArMzUxLDEy
IEBAIGJvb2wgSW5wdXRUeXBlOjpzdGVwTWlzbWF0Y2goY29uc3QgU3RyaW5nJiB2YWx1ZSkgY29u
c3QKICAgICByZXR1cm4gY3JlYXRlU3RlcFJhbmdlKFJlamVjdEFueSkuc3RlcE1pc21hdGNoKG51
bWVyaWNWYWx1ZSk7CiB9CiAKK1N0cmluZyBJbnB1dFR5cGU6OmJhZElucHV0VGV4dCgpIGNvbnN0
Cit7CisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIHZhbGlkYXRpb25NZXNz
YWdlVHlwZU1pc21hdGNoVGV4dCgpOworfQorCiBTdHJpbmcgSW5wdXRUeXBlOjp0eXBlTWlzbWF0
Y2hUZXh0KCkgY29uc3QKIHsKICAgICByZXR1cm4gdmFsaWRhdGlvbk1lc3NhZ2VUeXBlTWlzbWF0
Y2hUZXh0KCk7CkBAIC0zNjgsNiArMzc5LDkgQEAgU3RyaW5nIElucHV0VHlwZTo6dmFsaWRhdGlv
bk1lc3NhZ2UoKSBjb25zdAogICAgIGlmICh0eXBlTWlzbWF0Y2goKSkKICAgICAgICAgcmV0dXJu
IHR5cGVNaXNtYXRjaFRleHQoKTsKIAorICAgIGlmIChoYXNCYWRJbnB1dCgpKQorICAgICAgICBy
ZXR1cm4gYmFkSW5wdXRUZXh0KCk7CisKICAgICBpZiAocGF0dGVybk1pc21hdGNoKHZhbHVlKSkK
ICAgICAgICAgcmV0dXJuIHZhbGlkYXRpb25NZXNzYWdlUGF0dGVybk1pc21hdGNoVGV4dCgpOwog
CkBAIC02ODksMTEgKzcwMyw2IEBAIFN0cmluZyBJbnB1dFR5cGU6OnNhbml0aXplVmFsdWUoY29u
c3QgU3RyaW5nJiBwcm9wb3NlZFZhbHVlKSBjb25zdAogICAgIHJldHVybiBwcm9wb3NlZFZhbHVl
OwogfQogCi1ib29sIElucHV0VHlwZTo6aGFzVW5hY2NlcHRhYmxlVmFsdWUoKQotewotICAgIHJl
dHVybiBmYWxzZTsKLX0KLQogYm9vbCBJbnB1dFR5cGU6OnJlY2VpdmVEcm9wcGVkRmlsZXMoY29u
c3QgRHJhZ0RhdGEqKQogewogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW5w
dXRUeXBlLmgKaW5kZXggZmU0YTllNGQ5ZjRkYWFmZjQ4MmJiM2MwZWJlZDRmYmQ4NTAyMDJlNS4u
NDM3N2ZiMjczYTc4OTAwNjYwNzczYjcwNzEzZmQyZmMyMTA1Nzg3ZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0lu
cHV0VHlwZS5oCkBAIC0xNTYsNiArMTU2LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCB0
eXBlTWlzbWF0Y2goKSBjb25zdDsKICAgICB2aXJ0dWFsIGJvb2wgc3VwcG9ydHNSZXF1aXJlZCgp
IGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCB2YWx1ZU1pc3NpbmcoY29uc3QgU3RyaW5nJikgY29u
c3Q7CisgICAgdmlydHVhbCBib29sIGhhc0JhZElucHV0KCkgY29uc3Q7CiAgICAgdmlydHVhbCBi
b29sIHBhdHRlcm5NaXNtYXRjaChjb25zdCBTdHJpbmcmKSBjb25zdDsKICAgICBib29sIHJhbmdl
VW5kZXJmbG93KGNvbnN0IFN0cmluZyYpIGNvbnN0OwogICAgIGJvb2wgcmFuZ2VPdmVyZmxvdyhj
b25zdCBTdHJpbmcmKSBjb25zdDsKQEAgLTE3MCw2ICsxNzEsNyBAQCBwdWJsaWM6CiAgICAgdmly
dHVhbCBTdGVwUmFuZ2UgY3JlYXRlU3RlcFJhbmdlKEFueVN0ZXBIYW5kbGluZykgY29uc3Q7CiAg
ICAgdmlydHVhbCB2b2lkIHN0ZXBVcChpbnQsIEV4Y2VwdGlvbkNvZGUmKTsKICAgICB2aXJ0dWFs
IHZvaWQgc3RlcFVwRnJvbVJlbmRlcmVyKGludCk7CisgICAgdmlydHVhbCBTdHJpbmcgYmFkSW5w
dXRUZXh0KCkgY29uc3Q7CiAgICAgdmlydHVhbCBTdHJpbmcgdHlwZU1pc21hdGNoVGV4dCgpIGNv
bnN0OwogICAgIHZpcnR1YWwgU3RyaW5nIHZhbHVlTWlzc2luZ1RleHQoKSBjb25zdDsKICAgICB2
aXJ0dWFsIGJvb2wgY2FuU2V0U3RyaW5nVmFsdWUoKSBjb25zdDsKQEAgLTE3OCw3ICsxODAsNiBA
QCBwdWJsaWM6CiAgICAgLy8gUmV0dXJpbmcgdGhlIG51bGwgc3RyaW5nIG1lYW5zICJ1c2UgdGhl
IGRlZmF1bHQgdmFsdWUuIgogICAgIC8vIFRoaXMgZnVuY3Rpb24gbXVzdCBiZSBjYWxsZWQgb25s
eSBieSBIVE1MSW5wdXRFbGVtZW50OjpzYW5pdGl6ZVZhbHVlKCkuCiAgICAgdmlydHVhbCBTdHJp
bmcgc2FuaXRpemVWYWx1ZShjb25zdCBTdHJpbmcmKSBjb25zdDsKLSAgICB2aXJ0dWFsIGJvb2wg
aGFzVW5hY2NlcHRhYmxlVmFsdWUoKTsKIAogICAgIC8vIEV2ZW50IGhhbmRsZXJzCiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTnVtYmVySW5wdXRUeXBlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvTnVtYmVySW5wdXRUeXBlLmNwcAppbmRleCA3NDk4Y2M5OTEyMzgyMDliMWEz
MDUzNjZkNTFlOWZkN2E3OTNiODc3Li40NDBlZTdiOWJiNWM0MjU1OTI2Nzg0ZTViNjI5YjlhMTU5
OTI4NWQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL051bWJlcklucHV0VHlwZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9OdW1iZXJJbnB1dFR5cGUuY3BwCkBAIC0zOSw2
ICszOSw3IEBACiAjaW5jbHVkZSAiSFRNTFBhcnNlcklkaW9tcy5oIgogI2luY2x1ZGUgIklucHV0
VHlwZU5hbWVzLmgiCiAjaW5jbHVkZSAiS2V5Ym9hcmRFdmVudC5oIgorI2luY2x1ZGUgIkxvY2Fs
aXplZFN0cmluZ3MuaCIKICNpbmNsdWRlICJQbGF0Zm9ybUxvY2FsZS5oIgogI2luY2x1ZGUgIlJl
bmRlclRleHRDb250cm9sLmgiCiAjaW5jbHVkZSA8bGltaXRzPgpAQCAtMjEzLDE2ICsyMTQsNiBA
QCBTdHJpbmcgTnVtYmVySW5wdXRUeXBlOjpzZXJpYWxpemUoY29uc3QgRGVjaW1hbCYgdmFsdWUp
IGNvbnN0CiAgICAgcmV0dXJuIHNlcmlhbGl6ZUZvck51bWJlclR5cGUodmFsdWUpOwogfQogCi12
b2lkIE51bWJlcklucHV0VHlwZTo6aGFuZGxlQmx1ckV2ZW50KCkKLXsKLSAgICAvLyBSZXNldCB0
aGUgcmVuZGVyZXIgdmFsdWUsIHdoaWNoIG1pZ2h0IGJlIHVubWF0Y2hlZCB3aXRoIHRoZSBlbGVt
ZW50IHZhbHVlLgotICAgIGVsZW1lbnQoKS0+c2V0Rm9ybUNvbnRyb2xWYWx1ZU1hdGNoZXNSZW5k
ZXJlcihmYWxzZSk7Ci0KLSAgICAvLyBXZSBuZWVkIHRvIHJlc2V0IHRoZSByZW5kZXJlciB2YWx1
ZSBleHBsaWNpdGx5IGJlY2F1c2UgYW4gdW5hY2NlcHRhYmxlCi0gICAgLy8gcmVuZGVyZXIgdmFs
dWUgc2hvdWxkIGJlIHB1cmdlZCBiZWZvcmUgc3R5bGUgY2FsY3VsYXRpb24uCi0gICAgdXBkYXRl
SW5uZXJUZXh0VmFsdWUoKTsKLX0KLQogc3RhdGljIGJvb2wgaXNFKFVDaGFyIGNoKQogewogICAg
IHJldHVybiBjaCA9PSAnZScgfHwgY2ggPT0gJ0UnOwpAQCAtMjYwLDE0ICsyNTEsMTcgQEAgU3Ry
aW5nIE51bWJlcklucHV0VHlwZTo6c2FuaXRpemVWYWx1ZShjb25zdCBTdHJpbmcmIHByb3Bvc2Vk
VmFsdWUpIGNvbnN0CiAgICAgcmV0dXJuIGlzZmluaXRlKHBhcnNlVG9Eb3VibGVGb3JOdW1iZXJU
eXBlKHByb3Bvc2VkVmFsdWUpKSA/IHByb3Bvc2VkVmFsdWUgOiBlbXB0eVN0cmluZygpOwogfQog
Ci1ib29sIE51bWJlcklucHV0VHlwZTo6aGFzVW5hY2NlcHRhYmxlVmFsdWUoKQorYm9vbCBOdW1i
ZXJJbnB1dFR5cGU6Omhhc0JhZElucHV0KCkgY29uc3QKIHsKLSAgICBpZiAoIWVsZW1lbnQoKS0+
cmVuZGVyZXIoKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIFN0cmluZyBzdGFuZGFyZFZh
bHVlID0gY29udmVydEZyb21WaXNpYmxlVmFsdWUoZWxlbWVudCgpLT5pbm5lclRleHRWYWx1ZSgp
KTsKICAgICByZXR1cm4gIXN0YW5kYXJkVmFsdWUuaXNFbXB0eSgpICYmICFpc2Zpbml0ZShwYXJz
ZVRvRG91YmxlRm9yTnVtYmVyVHlwZShzdGFuZGFyZFZhbHVlKSk7CiB9CiAKK1N0cmluZyBOdW1i
ZXJJbnB1dFR5cGU6OmJhZElucHV0VGV4dCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHZhbGlkYXRp
b25NZXNzYWdlQmFkSW5wdXRGb3JOdW1iZXJUZXh0KCk7Cit9CisKIGJvb2wgTnVtYmVySW5wdXRU
eXBlOjpzaG91bGRSZXNwZWN0U3BlZWNoQXR0cmlidXRlKCkKIHsKICAgICByZXR1cm4gdHJ1ZTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTnVtYmVySW5wdXRUeXBlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL051bWJlcklucHV0VHlwZS5oCmluZGV4IDExY2NhNTU3YmViODIxMDJh
NjQ5OWIxMzQ2OWYxZjMwOTY1MzNmNDAuLmM3N2E5YTc4ZTRkMDQ5MDlmOGRhNjVkMmU5Mjg5ZThi
ODUyZDkxZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTnVtYmVySW5wdXRUeXBl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9OdW1iZXJJbnB1dFR5cGUuaApAQCAtNTMsMTIg
KzUzLDEyIEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIGhhbmRsZUtleWRvd25FdmVudChL
ZXlib2FyZEV2ZW50KikgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBEZWNpbWFsIHBhcnNlVG9OdW1i
ZXIoY29uc3QgU3RyaW5nJiwgY29uc3QgRGVjaW1hbCYpIGNvbnN0IE9WRVJSSURFOwogICAgIHZp
cnR1YWwgU3RyaW5nIHNlcmlhbGl6ZShjb25zdCBEZWNpbWFsJikgY29uc3QgT1ZFUlJJREU7Ci0g
ICAgdmlydHVhbCB2b2lkIGhhbmRsZUJsdXJFdmVudCgpIE9WRVJSSURFOwogICAgIHZpcnR1YWwg
U3RyaW5nIGxvY2FsaXplVmFsdWUoY29uc3QgU3RyaW5nJikgY29uc3QgT1ZFUlJJREU7CiAgICAg
dmlydHVhbCBTdHJpbmcgdmlzaWJsZVZhbHVlKCkgY29uc3QgT1ZFUlJJREU7CiAgICAgdmlydHVh
bCBTdHJpbmcgY29udmVydEZyb21WaXNpYmxlVmFsdWUoY29uc3QgU3RyaW5nJikgY29uc3QgT1ZF
UlJJREU7CiAgICAgdmlydHVhbCBTdHJpbmcgc2FuaXRpemVWYWx1ZShjb25zdCBTdHJpbmcmKSBj
b25zdCBPVkVSUklERTsKLSAgICB2aXJ0dWFsIGJvb2wgaGFzVW5hY2NlcHRhYmxlVmFsdWUoKSBP
VkVSUklERTsKKyAgICB2aXJ0dWFsIGJvb2wgaGFzQmFkSW5wdXQoKSBjb25zdCBPVkVSUklERTsK
KyAgICB2aXJ0dWFsIFN0cmluZyBiYWRJbnB1dFRleHQoKSBjb25zdCBPVkVSUklERTsKICAgICB2
aXJ0dWFsIGJvb2wgc2hvdWxkUmVzcGVjdFNwZWVjaEF0dHJpYnV0ZSgpIE9WRVJSSURFOwogICAg
IHZpcnR1YWwgYm9vbCBzdXBwb3J0c1BsYWNlaG9sZGVyKCkgY29uc3QgT1ZFUlJJREU7CiAgICAg
dmlydHVhbCBib29sIGlzTnVtYmVyRmllbGQoKSBjb25zdCBPVkVSUklERTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvVGV4dEZpZWxkSW5wdXRUeXBlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvVGV4dEZpZWxkSW5wdXRUeXBlLmNwcAppbmRleCBhNWVkY2IwYjMxZWViMmZhOTQw
OWIyNzIxMDMwMTEyNGQzNWNhZGEwLi4zOTJiY2ZhZTMxYjZhNGJjOGFkNTc3NzE5ODVlZmEyMDYz
ODVmZWUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1RleHRGaWVsZElucHV0VHlw
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9UZXh0RmllbGRJbnB1dFR5cGUuY3BwCkBA
IC00NTgsNyArNDU4LDcgQEAgdm9pZCBUZXh0RmllbGRJbnB1dFR5cGU6OnN1YnRyZWVIYXNDaGFu
Z2VkKCkKICAgICAvLyBzYW5pdGl6ZVZhbHVlKCkgaXMgbmVlZGVkIGJlY2F1c2UgSU1FIGlucHV0
IGRvZXNuJ3QgZGlzcGF0Y2ggQmVmb3JlVGV4dEluc2VydGVkRXZlbnQuCiAgICAgZWxlbWVudCgp
LT5zZXRWYWx1ZUZyb21SZW5kZXJlcihzYW5pdGl6ZVZhbHVlKGNvbnZlcnRGcm9tVmlzaWJsZVZh
bHVlKGVsZW1lbnQoKS0+aW5uZXJUZXh0VmFsdWUoKSkpKTsKICAgICBlbGVtZW50KCktPnVwZGF0
ZVBsYWNlaG9sZGVyVmlzaWJpbGl0eShmYWxzZSk7Ci0gICAgLy8gUmVjYWxjIGZvciA6aW52YWxp
ZCBhbmQgaGFzVW5hY2NlcHRhYmxlVmFsdWUoKSBjaGFuZ2UuCisgICAgLy8gUmVjYWxjIGZvciA6
aW52YWxpZCBjaGFuZ2UuCiAgICAgZWxlbWVudCgpLT5zZXROZWVkc1N0eWxlUmVjYWxjKCk7CiAK
ICAgICBkaWRTZXRWYWx1ZUJ5VXNlckVkaXQod2FzQ2hhbmdlZCA/IFZhbHVlQ2hhbmdlU3RhdGVD
aGFuZ2VkIDogVmFsdWVDaGFuZ2VTdGF0ZU5vbmUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9WYWxpZGl0eVN0YXRlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRpdHlT
dGF0ZS5jcHAKaW5kZXggNjQ5NzY1ZGY5MTQ2ODdkNTQ4ZjkwYmY1MzFkNDQ1N2RmNjY0YzZkMi4u
ZjA0ZWE3NmVmMmQxY2Y4NTI4MmM0NzJlNjI5Nzk0OGZkOTdiY2JkYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9WYWxpZGl0eVN0YXRlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL1ZhbGlkaXR5U3RhdGUuY3BwCkBAIC03Niw2ICs3NiwxMSBAQCBib29sIFZhbGlkaXR5U3Rh
dGU6OnN0ZXBNaXNtYXRjaCgpIGNvbnN0CiAgICAgcmV0dXJuIG1fY29udHJvbC0+c3RlcE1pc21h
dGNoKCk7CiB9CiAKK2Jvb2wgVmFsaWRpdHlTdGF0ZTo6YmFkSW5wdXQoKSBjb25zdAoreworICAg
IHJldHVybiBtX2NvbnRyb2wtPmhhc0JhZElucHV0KCk7Cit9CisKIGJvb2wgVmFsaWRpdHlTdGF0
ZTo6Y3VzdG9tRXJyb3IoKSBjb25zdAogewogICAgIHJldHVybiBtX2NvbnRyb2wtPmN1c3RvbUVy
cm9yKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1ZhbGlkaXR5U3RhdGUuaCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRpdHlTdGF0ZS5oCmluZGV4IDI4ZjllYzY0MDU1YzM0
MTdjZjg2NmNjMmQ0YmVkNmQ1MzA3ZGQwZmMuLjQ1MjczOWE3NzM3OGI5Mzg4ZThlNWJmYmJkZjY5
N2YwODZhN2ViNzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRpdHlTdGF0
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRpdHlTdGF0ZS5oCkBAIC01Miw2ICs1
Miw3IEBAIHB1YmxpYzoKICAgICBib29sIHJhbmdlVW5kZXJmbG93KCkgY29uc3Q7CiAgICAgYm9v
bCByYW5nZU92ZXJmbG93KCkgY29uc3Q7CiAgICAgYm9vbCBzdGVwTWlzbWF0Y2goKSBjb25zdDsK
KyAgICBib29sIGJhZElucHV0KCkgY29uc3Q7CiAgICAgYm9vbCBjdXN0b21FcnJvcigpIGNvbnN0
OwogICAgIGJvb2wgdmFsaWQoKSBjb25zdDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9WYWxpZGl0eVN0YXRlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRpdHlTdGF0
ZS5pZGwKaW5kZXggZGFlMzQzYjlhMTQ5NWJmZWUzNjgyYWI4YmJhMDVkZTJiODFjZDlmZS4uMTcw
YzQ1ZTY5ODU5MzljZTYwYThlNjZhZDE3ZTExOGNlOTUzOTMwOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9WYWxpZGl0eVN0YXRlLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L1ZhbGlkaXR5U3RhdGUuaWRsCkBAIC0zMCw2ICszMCw3IEBACiAgICAgcmVhZG9ubHkgYXR0cmli
dXRlIGJvb2xlYW4gICAgICAgICByYW5nZVVuZGVyZmxvdzsKICAgICByZWFkb25seSBhdHRyaWJ1
dGUgYm9vbGVhbiAgICAgICAgIHJhbmdlT3ZlcmZsb3c7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRl
IGJvb2xlYW4gICAgICAgICBzdGVwTWlzbWF0Y2g7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJv
b2xlYW4gICAgICAgICBiYWRJbnB1dDsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiAg
ICAgICAgIGN1c3RvbUVycm9yOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuICAgICAg
ICAgdmFsaWQ7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTG9jYWxp
emVkU3RyaW5ncy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Mb2NhbGl6ZWRTdHJpbmdz
LmNwcAppbmRleCAwMjc3MjIzNWZhODRmNTE5YmQ3MGVkNTk0YTdiMGVhMmIwMWZiODU2Li5kOWE0
MjMyNzFjNjEzZWY4MWQ1MzI3OGM2MGRmMDJiZTE4ODA5MjEyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9Mb2NhbGl6ZWRTdHJpbmdzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9Mb2NhbGl6ZWRTdHJpbmdzLmNwcApAQCAtOTkyLDQgKzk5MiwxMCBAQCBTdHJp
bmcgdmFsaWRhdGlvbk1lc3NhZ2VTdGVwTWlzbWF0Y2hUZXh0KGNvbnN0IFN0cmluZyYsIGNvbnN0
IFN0cmluZyYpCiAgICAgcmV0dXJuIFdFQl9VSV9TVFJJTkcoInN0ZXAgbWlzbWF0Y2giLCAiVmFs
aWRhdGlvbiBtZXNzYWdlIGZvciBpbnB1dCBmb3JtIGNvbnRyb2xzIHdpdGggdmFsdWUgbm90IHJl
c3BlY3RpbmcgdGhlIHN0ZXAgYXR0cmlidXRlIik7CiB9CiAKK1N0cmluZyB2YWxpZGF0aW9uTWVz
c2FnZUJhZElucHV0Rm9yTnVtYmVyVGV4dCgpCit7CisgICAgLy8gRklYTUU6IFByb3ZpZGUgaXRz
IG93biBtZXNzYWdlLgorICAgIHJldHVybiB2YWxpZGF0aW9uTWVzc2FnZVR5cGVNaXNtYXRjaFRl
eHQoKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vTG9jYWxpemVkU3RyaW5ncy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vTG9jYWxpemVkU3RyaW5ncy5oCmluZGV4IDY3MzI3NDhiMTIwODgyNjMzODI4YjVmZDI5ZmVi
NjBlOWZhOWIyZWQuLmJiNDkxNmU2ZDRmNDA5NWY1MzViZTIxZjMyNjk3ZTNlZDMwOGRlZDMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xvY2FsaXplZFN0cmluZ3MuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Mb2NhbGl6ZWRTdHJpbmdzLmgKQEAgLTI1Miw2ICsy
NTIsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIFN0cmluZyB2YWxpZGF0aW9uTWVzc2Fn
ZVJhbmdlVW5kZXJmbG93VGV4dChjb25zdCBTdHJpbmcmIG1pbmltdW0pOwogICAgIFN0cmluZyB2
YWxpZGF0aW9uTWVzc2FnZVJhbmdlT3ZlcmZsb3dUZXh0KGNvbnN0IFN0cmluZyYgbWF4aW11bSk7
CiAgICAgU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlU3RlcE1pc21hdGNoVGV4dChjb25zdCBTdHJp
bmcmIGJhc2UsIGNvbnN0IFN0cmluZyYgc3RlcCk7CisgICAgU3RyaW5nIHZhbGlkYXRpb25NZXNz
YWdlQmFkSW5wdXRGb3JOdW1iZXJUZXh0KCk7CisjaWYgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJ
RUxEU19VSSkKKyAgICBTdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2VCYWRJbnB1dEZvckRhdGVUaW1l
VGV4dCgpOworI2VuZGlmCiAjaWYgVVNFKFNPVVApCiAgICAgU3RyaW5nIHVuYWNjZXB0YWJsZVRM
U0NlcnRpZmljYXRlKCk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL0xvY2FsaXplZFN0cmluZ3MuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
TG9jYWxpemVkU3RyaW5ncy5jcHAKaW5kZXggYTVjMjAyNGZhNTdjOTVkMTUxZDA3OGRmNDUxYmRh
NTlkOGY0MjllYy4uMDdiZjgxNWUzZWY0ZTM1MDliY2E5NTk5NGQzYWQ5NGE2YzcwOTUwMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvTG9jYWxpemVkU3RyaW5ncy5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvTG9jYWxpemVkU3RyaW5ncy5jcHAKQEAg
LTUwNCw0ICs1MDQsMTggQEAgU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlU3RlcE1pc21hdGNoVGV4
dChjb25zdCBTdHJpbmcmIGJhc2UsIGNvbnN0IFN0cmluZyYgc3RlcCkKICAgICByZXR1cm4gcXVl
cnkoV2ViTG9jYWxpemVkU3RyaW5nOjpWYWxpZGF0aW9uU3RlcE1pc21hdGNoLCBiYXNlLCBzdGVw
KTsKIH0KIAorU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlQmFkSW5wdXRGb3JOdW1iZXJUZXh0KCkK
K3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIHJldHVybiBTdHJpbmcoIkJhZCBudW1iZXIi
KTsKK30KKworI2lmIEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCitTdHJpbmcgdmFs
aWRhdGlvbk1lc3NhZ2VCYWRJbnB1dEZvckRhdGVUaW1lVGV4dCgpCit7CisgICAgbm90SW1wbGVt
ZW50ZWQoKTsKKyAgICByZXR1cm4gU3RyaW5nKCJCYWQgZGF0ZSIpOworfQorI2VuZGlmCisKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA3NjQ2YTA3NTdlYTkxNjgzODhkZDhkMzYyZDhm
MWFiMWJiYjNjMTI3Li45ZTk1NDI1ZGY0NDIwYmVhNDJkM2Y3ODY0MzFhYzhhNmFiMjUwY2Q2IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMjYgQEAKKzIwMTItMTEtMjUgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hy
b21pdW0ub3JnPgorCisgICAgICAgIEltcGxlbWVudCBWYWxpZGl0eVN0YXRlOjpiYWRJbnB1dAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAyODYxCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2Zv
cm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJh
ZGlucHV0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9kYXRlLW11
bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2RhdGV0aW1lLW11bHRpcGxlLWZpZWxkcy9k
YXRldGltZS1tdWx0aXBsZS1maWVsZHMtdmFsaWRpdHktYmFkaW5wdXQtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2RhdGV0aW1lLW11bHRpcGxlLWZpZWxkcy9kYXRl
dGltZS1tdWx0aXBsZS1maWVsZHMtdmFsaWRpdHktYmFkaW5wdXQuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxv
Y2FsLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGZhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0
ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtdmFsaWRpdHktYmFkaW5wdXQuaHRtbDogQWRkZWQu
CisgICAgICAgICogZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlw
bGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRz
LXZhbGlkaXR5LWJhZGlucHV0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvbnVt
YmVyL251bWJlci11bmFjY2VwdGFibGUtc3R5bGUtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAg
ICAgICAqIGZhc3QvZm9ybXMvbnVtYmVyL251bWJlci12YWxpZGl0eS1iYWRpbnB1dC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvbnVtYmVyL251bWJlci12YWxpZGl0
eS1iYWRpbnB1dC5odG1sOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9udW1i
ZXIvbnVtYmVyLXVuYWNjZXB0YWJsZS1zdHlsZS5odG1sLgorICAgICAgICAqIGZhc3QvZm9ybXMv
dGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtdmFsaWRpdHktYmFkaW5w
dXQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3RpbWUtbXVsdGlw
bGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0
aXBsZS1maWVsZHMtdmFsaWRpdHktYmFkaW5wdXQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBmYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRz
LXZhbGlkaXR5LWJhZGlucHV0Lmh0bWw6IEFkZGVkLgorCiAyMDEyLTExLTI1ICBLdW5paGlrbyBT
YWthbW90byAgPGtzYWthbW90b0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW0Nocm9taXVtXSBB
ZGQgdGVzdHMgZm9yIGRhdGV0aW1lL2RhdGV0aW1lLWxvY2FsIHN1Z2dlc3Rpb24gcGlja2VyCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2Rh
dGUtbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVs
ZHMtdmFsaWRpdHktYmFkaW5wdXQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFmZTBhNmY2NDhk
OTA2MjMyMWI1MjI0OWI5MGJhNjVlNGVhMWM5OTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRz
LXZhbGlkaXR5LWJhZGlucHV0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIwIEBACitBIGRhdGUg
aW5wdXQgZmllbGRzIHdpdGggYSBiYWQgdXNlciBpbnB1dCBzaG91bGQgbWFrZSB2YWxpZGl0eS5i
YWRJbnB1dCB0cnVlIGFuZCBoYXZlIDppbnZhbGlkIHN0eWxlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKKworSW5pdGlhbCBzdGF0ZS4gVGhlIGVsbWVudCBoYXMgbm8gdmFsdWUuCitQ
QVNTIGNvbG9yT2YoaW5wdXQpIGlzIG5vdCBpbnZhbGlkU3R5bGVDb2xvcgorUEFTUyBpbnB1dC52
YWxpZGl0eS5iYWRJbnB1dCBpcyBmYWxzZQorU2V0IGEgdmFsdWUgdG8gdGhlIGZpcnN0IHN1Yi1m
aWVsZC4gVGhlIGVsZW1lbnQgYmVjb21lcyBiYWRJbnB1dC4KK1BBU1MgY29sb3JPZihpbnB1dCkg
aXMgaW52YWxpZFN0eWxlQ29sb3IKK1BBU1MgaW5wdXQudmFsaWRpdHkuYmFkSW5wdXQgaXMgdHJ1
ZQorU2V0IGFuIGludmFsaWQgZGF0ZSwgMjAxMi0wMi0zMS4KK1BBU1MgaW5wdXQudmFsaWRpdHku
YmFkSW5wdXQgaXMgZmFsc2UKK1BBU1MgaW5wdXQudmFsdWUgaXMgIiIKK1BBU1MgaW5wdXQudmFs
aWRpdHkuYmFkSW5wdXQgaXMgdHJ1ZQorUEFTUyBjb2xvck9mKGlucHV0KSBpcyBpbnZhbGlkU3R5
bGVDb2xvcgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVs
ZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtdmFsaWRpdHktYmFkaW5wdXQuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMt
dmFsaWRpdHktYmFkaW5wdXQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jMWE3ODllZWZmNGJjZTQwODkyOTYy
NzUyYjRhMThkMGYzOWNjYjUwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1i
YWRpbnB1dC5odG1sCkBAIC0wLDAgKzEsMTQgQEAKKzwhRE9DVFlQRSBodG1sPgorPHN0eWxlPgor
OmludmFsaWQgeworICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjAwMDA7Cit9Cis8L3N0eWxlPgor
PGJvZHk+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvbXVsdGlwbGUtZmllbGRzLXZhbGlk
aXR5LWJhZGlucHV0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+Cit0ZXN0QmFkSW5wdXQoJ2RhdGUn
KTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9kYXRldGltZS1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWUtbXVsdGlwbGUtZmllbGRzLXZh
bGlkaXR5LWJhZGlucHV0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0
ZXRpbWUtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1i
YWRpbnB1dC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2E0ZWU0NThlNWIyMjEzMjEyNTZkNmQz
Nzg4MjMxOWE4M2VkMjZiZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvZGF0ZXRpbWUtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lLW11bHRpcGxlLWZpZWxkcy12YWxp
ZGl0eS1iYWRpbnB1dC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyMCBAQAorQSBkYXRldGltZSBp
bnB1dCBmaWVsZHMgd2l0aCBhIGJhZCB1c2VyIGlucHV0IHNob3VsZCBtYWtlIHZhbGlkaXR5LmJh
ZElucHV0IHRydWUgYW5kIGhhdmUgOmludmFsaWQgc3R5bGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworCitJbml0aWFsIHN0YXRlLiBUaGUgZWxtZW50IGhhcyBubyB2YWx1ZS4KK1BB
U1MgY29sb3JPZihpbnB1dCkgaXMgbm90IGludmFsaWRTdHlsZUNvbG9yCitQQVNTIGlucHV0LnZh
bGlkaXR5LmJhZElucHV0IGlzIGZhbHNlCitTZXQgYSB2YWx1ZSB0byB0aGUgZmlyc3Qgc3ViLWZp
ZWxkLiBUaGUgZWxlbWVudCBiZWNvbWVzIGJhZElucHV0LgorUEFTUyBjb2xvck9mKGlucHV0KSBp
cyBpbnZhbGlkU3R5bGVDb2xvcgorUEFTUyBpbnB1dC52YWxpZGl0eS5iYWRJbnB1dCBpcyB0cnVl
CitTZXQgYW4gaW52YWxpZCBkYXRlLCAyMDEyLTAyLTMxLgorUEFTUyBpbnB1dC52YWxpZGl0eS5i
YWRJbnB1dCBpcyBmYWxzZQorUEFTUyBpbnB1dC52YWx1ZSBpcyAiIgorUEFTUyBpbnB1dC52YWxp
ZGl0eS5iYWRJbnB1dCBpcyB0cnVlCitQQVNTIGNvbG9yT2YoaW5wdXQpIGlzIGludmFsaWRTdHls
ZUNvbG9yCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGltZS1tdWx0aXBsZS1m
aWVsZHMvZGF0ZXRpbWUtbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0Lmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZS1t
dWx0aXBsZS1maWVsZHMtdmFsaWRpdHktYmFkaW5wdXQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44ODJhMGYx
MzcxZTg4NmEyODc5NDg3NmVhYmY2MDFhNDgxM2Y1ZTYxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGltZS1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWUtbXVs
dGlwbGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0Lmh0bWwKQEAgLTAsMCArMSwxNCBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8c3R5bGU+Cis6aW52YWxpZCB7CisgICAgYmFja2dyb3VuZC1jb2xvcjog
I2ZmMDAwMDsKK30KKzwvc3R5bGU+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNl
cy9tdWx0aXBsZS1maWVsZHMtdmFsaWRpdHktYmFkaW5wdXQuanMiPjwvc2NyaXB0PgorPHNjcmlw
dD4KK3Rlc3RCYWRJbnB1dCgnZGF0ZXRpbWUnKTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZp
ZWxkcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUt
ZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xNjVmYTQ4ODM0Mjg5NDRiMGE1Y2ExMDA0M2QyNTE3ZDRl
ZmZjMGE1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGlt
ZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy12YWxp
ZGl0eS1iYWRpbnB1dC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyMCBAQAorQSBkYXRldGltZS1s
b2NhbCBpbnB1dCBmaWVsZHMgd2l0aCBhIGJhZCB1c2VyIGlucHV0IHNob3VsZCBtYWtlIHZhbGlk
aXR5LmJhZElucHV0IHRydWUgYW5kIGhhdmUgOmludmFsaWQgc3R5bGUuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworCitJbml0aWFsIHN0YXRlLiBUaGUgZWxtZW50IGhhcyBubyB2YWx1
ZS4KK1BBU1MgY29sb3JPZihpbnB1dCkgaXMgbm90IGludmFsaWRTdHlsZUNvbG9yCitQQVNTIGlu
cHV0LnZhbGlkaXR5LmJhZElucHV0IGlzIGZhbHNlCitTZXQgYSB2YWx1ZSB0byB0aGUgZmlyc3Qg
c3ViLWZpZWxkLiBUaGUgZWxlbWVudCBiZWNvbWVzIGJhZElucHV0LgorUEFTUyBjb2xvck9mKGlu
cHV0KSBpcyBpbnZhbGlkU3R5bGVDb2xvcgorUEFTUyBpbnB1dC52YWxpZGl0eS5iYWRJbnB1dCBp
cyB0cnVlCitTZXQgYW4gaW52YWxpZCBkYXRlLCAyMDEyLTAyLTMxLgorUEFTUyBpbnB1dC52YWxp
ZGl0eS5iYWRJbnB1dCBpcyBmYWxzZQorUEFTUyBpbnB1dC52YWx1ZSBpcyAiIgorUEFTUyBpbnB1
dC52YWxpZGl0eS5iYWRJbnB1dCBpcyB0cnVlCitQQVNTIGNvbG9yT2YoaW5wdXQpIGlzIGludmFs
aWRTdHlsZUNvbG9yCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGltZWxvY2Fs
LW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1i
YWRpbnB1dC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRp
cGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1
dC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmNlNDFmZDM4YmU3NDY3MjY0ZTNjYWMyY2FjYzQxNjY5MzU1MjBh
NTcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9j
YWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5
LWJhZGlucHV0Lmh0bWwKQEAgLTAsMCArMSwxNCBAQAorPCFET0NUWVBFIGh0bWw+Cis8c3R5bGU+
Cis6aW52YWxpZCB7CisgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDAwMDsKK30KKzwvc3R5bGU+
Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9tdWx0aXBsZS1maWVsZHMtdmFs
aWRpdHktYmFkaW5wdXQuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK3Rlc3RCYWRJbnB1dCgnZGF0
ZXRpbWUtbG9jYWwnKTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmll
bGRzLXZhbGlkaXR5LWJhZGlucHV0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1i
YWRpbnB1dC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDgwYjUzOTUzZmE1YThiZDk1NTFmZmEw
NWY1OTk4YmQ5ZDA2MjJlMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1i
YWRpbnB1dC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNSBAQAorQSBtb250aCBpbnB1dCBmaWVs
ZHMgd2l0aCBhIGJhZCB1c2VyIGlucHV0IHNob3VsZCBtYWtlIHZhbGlkaXR5LmJhZElucHV0IHRy
dWUgYW5kIGhhdmUgOmludmFsaWQgc3R5bGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworCitJbml0aWFsIHN0YXRlLiBUaGUgZWxtZW50IGhhcyBubyB2YWx1ZS4KK1BBU1MgY29sb3JP
ZihpbnB1dCkgaXMgbm90IGludmFsaWRTdHlsZUNvbG9yCitQQVNTIGlucHV0LnZhbGlkaXR5LmJh
ZElucHV0IGlzIGZhbHNlCitTZXQgYSB2YWx1ZSB0byB0aGUgZmlyc3Qgc3ViLWZpZWxkLiBUaGUg
ZWxlbWVudCBiZWNvbWVzIGJhZElucHV0LgorUEFTUyBjb2xvck9mKGlucHV0KSBpcyBpbnZhbGlk
U3R5bGVDb2xvcgorUEFTUyBpbnB1dC52YWxpZGl0eS5iYWRJbnB1dCBpcyB0cnVlCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlw
bGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0aXBsZS1maWVsZHMtdmFsaWRpdHktYmFk
aW5wdXQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNTZlZWE1MjgxOTcyMTk1M2FjNjA4NWQyZDllZWExM2Q2
MjgxYjA2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250aC1t
dWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0Lmh0
bWwKQEAgLTAsMCArMSwxNCBAQAorPCFET0NUWVBFIGh0bWw+Cis8c3R5bGU+Cis6aW52YWxpZCB7
CisgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDAwMDsKK30KKzwvc3R5bGU+Cis8Ym9keT4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9tdWx0aXBsZS1maWVsZHMtdmFsaWRpdHktYmFkaW5w
dXQuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK3Rlc3RCYWRJbnB1dCgnbW9udGgnKTsKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9udW1i
ZXIvbnVtYmVyLXVuYWNjZXB0YWJsZS1zdHlsZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL251bWJlci9udW1iZXItdW5hY2NlcHRhYmxlLXN0eWxlLWV4cGVjdGVkLnR4dApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjdjN2RiMjk3YmY0Y2M0YzcyNGYxNmExZWI3
YzhkNDA2ODIwMTAzMC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL251bWJlci9udW1iZXItdW5hY2NlcHRhYmxlLXN0
eWxlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDI1ICswLDAgQEAKLUEgbnVtYmVy
IGlucHV0IGZpZWxkcyB3aXRoIGFuIHVuYWNjZXB0YWJsZSBzdHJpbmcgc2hvdWxkIGhhdmUgOmlu
dmFsaWQgc3R5bGUuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1Jbml0aWFsIHN0
YXRlLiBUaGUgZWxtZW50IGhhcyBubyB2YWx1ZS4KLVBBU1MgY29sb3JPZihudW1iZXIpICE9IGlu
dmFsaWRTdHlsZUNvbG9yIGlzIHRydWUKLVR5cGUgJy0nLiBUaGUgcmVuZGVyZXIgdmFsdWUgYmVj
b21lcyB1bmFjY2VwdGFibGUuCi1QQVNTIGNvbG9yT2YobnVtYmVyKSBpcyBpbnZhbGlkU3R5bGVD
b2xvcgotUEFTUyBudW1iZXIudmFsaWRpdHkudmFsaWQgaXMgdHJ1ZQotUEFTUyBudW1iZXIudmFs
dWUgaXMgIiIKLVR5cGUgJzEnIGFkZGl0aW9uYWxseS4gVGhlIHJlbmRlcmVyIHZhbHVlIGJlY29t
ZXMgYWNjZXB0YWJsZS4KLVBBU1MgY29sb3JPZihudW1iZXIpICE9IGludmFsaWRTdHlsZUNvbG9y
IGlzIHRydWUKLVBBU1MgbnVtYmVyLnZhbHVlIGlzICItMSIKLVR5cGUgJ2EnIGFkZGl0aW9uYWxs
eS4gVGhlIHJlbmRlcmVyIHZhbHVlIGJlY29tZXMgdW5hY2NlcHRhYmxlIGFnYWluLgotUEFTUyBj
b2xvck9mKG51bWJlcikgaXMgaW52YWxpZFN0eWxlQ29sb3IKLVBBU1MgbnVtYmVyLnZhbHVlIGlz
ICIiCi1UaGUgZWxlbWVudCBsb3N0cyBmb2N1cy4gVGhlIHVuYWNjZXB0YWJsZSB2YWx1ZSBzaG91
bGQgYmUgcHVyZ2VkIGFuZCB0aGUgc3R5bGUgc2hvdWxkIGJlIG5vcm1hbC4KLVBBU1MgY29sb3JP
ZihudW1iZXIpICE9IGludmFsaWRTdHlsZUNvbG9yIGlzIHRydWUKLVBBU1MgZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCkudG9TdHJpbmcoKSBpcyAiIgotUEFTUyBudW1iZXIudmFsdWUgaXMgIiIKLVBB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL251bWJlci9udW1iZXItdW5hY2NlcHRhYmxlLXN0
eWxlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL251bWJlci9udW1iZXItdW5hY2NlcHRh
YmxlLXN0eWxlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNiOTM3MjE5ZWEz
NTQ1ZmI0NjdiYTRmYzZhYzAzMWQxYzJjYmNiYWEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9udW1iZXIvbnVtYmVy
LXVuYWNjZXB0YWJsZS1zdHlsZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNjAgKzAsMCBAQAot
PCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zh
c3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxzdHlsZT4KLTppbnZh
bGlkIHsKLSAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDAwMDsKLX0KLTwvc3R5bGU+Ci08L2hlYWQ+
Ci08Ym9keT4KLTxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgotPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Ci08ZGl2IGlkPXBhcmVudD4KLTxpbnB1dCB0eXBlPW51bWJlciBpZD1udW1iZXI+Ci08aW5w
dXQgaWQ9YW5vdGhlcj4KLTwvZGl2PgotPHNjcmlwdD4KLWRlc2NyaXB0aW9uKCdBIG51bWJlciBp
bnB1dCBmaWVsZHMgd2l0aCBhbiB1bmFjY2VwdGFibGUgc3RyaW5nIHNob3VsZCBoYXZlIDppbnZh
bGlkIHN0eWxlLicpOwotCi1mdW5jdGlvbiBjb2xvck9mKGVsKSB7Ci0gICAgcmV0dXJuIGRvY3Vt
ZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUoZWwsIG51bGwpLmdldFByb3BlcnR5VmFs
dWUoJ2JhY2tncm91bmQtY29sb3InKTsKLX0KLXZhciBpbnZhbGlkU3R5bGVDb2xvciA9ICdyZ2Io
MjU1LCAwLCAwKSc7Ci0KLXZhciBudW1iZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbnVt
YmVyJyk7Ci1udW1iZXIuZm9jdXMoKTsKLWRlYnVnKCdJbml0aWFsIHN0YXRlLiBUaGUgZWxtZW50
IGhhcyBubyB2YWx1ZS4nKTsKLXNob3VsZEJlVHJ1ZSgnY29sb3JPZihudW1iZXIpICE9IGludmFs
aWRTdHlsZUNvbG9yJyk7Ci0KLWRlYnVnKCJUeXBlICctJy4gVGhlIHJlbmRlcmVyIHZhbHVlIGJl
Y29tZXMgdW5hY2NlcHRhYmxlLiIpOwotZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ0luc2VydFRleHQn
LCBmYWxzZSwgJy0nKTsKLXNob3VsZEJlKCdjb2xvck9mKG51bWJlciknLCAnaW52YWxpZFN0eWxl
Q29sb3InKTsKLXNob3VsZEJlVHJ1ZSgnbnVtYmVyLnZhbGlkaXR5LnZhbGlkJyk7Ci1zaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ251bWJlci52YWx1ZScsICcnKTsKLQotZGVidWcoIlR5cGUgJzEnIGFk
ZGl0aW9uYWxseS4gVGhlIHJlbmRlcmVyIHZhbHVlIGJlY29tZXMgYWNjZXB0YWJsZS4iKTsKLWRv
Y3VtZW50LmV4ZWNDb21tYW5kKCdJbnNlcnRUZXh0JywgZmFsc2UsICcxJyk7Ci1zaG91bGRCZVRy
dWUoJ2NvbG9yT2YobnVtYmVyKSAhPSBpbnZhbGlkU3R5bGVDb2xvcicpOwotc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCdudW1iZXIudmFsdWUnLCAnLTEnKTsKLQotZGVidWcoIlR5cGUgJ2EnIGFkZGl0
aW9uYWxseS4gVGhlIHJlbmRlcmVyIHZhbHVlIGJlY29tZXMgdW5hY2NlcHRhYmxlIGFnYWluLiIp
OwotZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ0luc2VydFRleHQnLCBmYWxzZSwgJ2EnKTsKLXNob3Vs
ZEJlKCdjb2xvck9mKG51bWJlciknLCAnaW52YWxpZFN0eWxlQ29sb3InKTsKLXNob3VsZEJlRXF1
YWxUb1N0cmluZygnbnVtYmVyLnZhbHVlJywgJycpOwotCi1kZWJ1ZygiVGhlIGVsZW1lbnQgbG9z
dHMgZm9jdXMuIFRoZSB1bmFjY2VwdGFibGUgdmFsdWUgc2hvdWxkIGJlIHB1cmdlZCBhbmQgdGhl
IHN0eWxlIHNob3VsZCBiZSBub3JtYWwuIik7Ci1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYW5v
dGhlcicpLmZvY3VzKCk7Ci1zaG91bGRCZVRydWUoJ2NvbG9yT2YobnVtYmVyKSAhPSBpbnZhbGlk
U3R5bGVDb2xvcicpOwotLy8gVmlzaWJsdWUgdmFsdWUgaXMgbm90ICctMWEnLgotbnVtYmVyLmZv
Y3VzKCk7Ci1kb2N1bWVudC5leGVjQ29tbWFuZCgnU2VsZWN0QWxsJyk7Ci1zaG91bGRCZUVxdWFs
VG9TdHJpbmcoJ2RvY3VtZW50LmdldFNlbGVjdGlvbigpLnRvU3RyaW5nKCknLCAnJyk7Ci1zaG91
bGRCZUVxdWFsVG9TdHJpbmcoJ251bWJlci52YWx1ZScsICcnKTsKLQotZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoJ3BhcmVudCcpLmlubmVySFRNTCA9ICcnOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
LTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbnVt
YmVyL251bWJlci12YWxpZGl0eS1iYWRpbnB1dC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL251bWJlci9udW1iZXItdmFsaWRpdHktYmFkaW5wdXQtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmY4Yzc2MzFlNDkwMDY2M2M3NDljZmZjMWViNDQ1MWI0OTIxYjg1OWUKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL251bWJlci9udW1iZXItdmFsaWRp
dHktYmFkaW5wdXQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzIgQEAKK0EgbnVtYmVyIGlucHV0
IGZpZWxkcyB3aXRoIGEgYmFkIGlucHV0IHN0cmluZyBzaG91bGQgbWFrZSB2YWxpZGl0eS5iYWRJ
bnB1dCB0cnVlIGFuZCBoYXZlIDppbnZhbGlkIHN0eWxlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKKworSW5pdGlhbCBzdGF0ZS4gVGhlIGVsbWVudCBoYXMgbm8gdmFsdWUuCitQQVNT
IGNvbG9yT2YobnVtYmVyKSAhPSBpbnZhbGlkU3R5bGVDb2xvciBpcyB0cnVlCitQQVNTIG51bWJl
ci52YWxpZGl0eS5iYWRJbnB1dCBpcyBmYWxzZQorVHlwZSAnLScuIFRoZSBlbGVtZW50IGJlY29t
ZXMgYmFkSW5wdXQuCitQQVNTIGNvbG9yT2YobnVtYmVyKSBpcyBpbnZhbGlkU3R5bGVDb2xvcgor
UEFTUyBudW1iZXIudmFsaWRpdHkudmFsaWQgaXMgZmFsc2UKK1BBU1MgbnVtYmVyLnZhbGlkaXR5
LmJhZElucHV0IGlzIHRydWUKK1BBU1MgbnVtYmVyLnZhbHVlIGlzICIiCitUeXBlICcxJyBhZGRp
dGlvbmFsbHkuIFRoZSBlbGVtZW50IGJlY29tZXMgdmFsaWQuCitQQVNTIGNvbG9yT2YobnVtYmVy
KSAhPSBpbnZhbGlkU3R5bGVDb2xvciBpcyB0cnVlCitQQVNTIG51bWJlci52YWxpZGl0eS5iYWRJ
bnB1dCBpcyBmYWxzZQorUEFTUyBudW1iZXIudmFsdWUgaXMgIi0xIgorVHlwZSAnYScgYWRkaXRp
b25hbGx5LiBUaGUgZWxlbWVudCBiZWNvbWVzIGJhZElucHV0IGFnYWluLgorUEFTUyBjb2xvck9m
KG51bWJlcikgaXMgaW52YWxpZFN0eWxlQ29sb3IKK1BBU1MgbnVtYmVyLnZhbGlkaXR5LmJhZElu
cHV0IGlzIHRydWUKK1BBU1MgbnVtYmVyLnZhbHVlIGlzICIiCitUaGUgZWxlbWVudCBsb3N0cyBm
b2N1cy4gVGhlIGVsZW1lbnQgc3RhdGUgc2hvdWxkIG5vdCBiZSBjaGFuZ2VkLgorUEFTUyBjb2xv
ck9mKG51bWJlcikgaXMgaW52YWxpZFN0eWxlQ29sb3IKK1BBU1MgbnVtYmVyLnZhbGlkaXR5LmJh
ZElucHV0IGlzIHRydWUKK1BBU1MgZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCkudG9TdHJpbmcoKSBp
cyAiLTFhIgorUEFTUyBudW1iZXIudmFsdWUgaXMgIiIKK1RoZSBlbGVtZW50IGxvc3RzIGEgcmVu
ZGVyZXIuIFRoZSBlbGVtZW50IHN0YXRlIHNob3VsZCBub3QgYmUgY2hhbmdlZC4KK1BBU1MgbnVt
YmVyLnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7IG51bWJlci52YWxpZGl0eS5iYWRJbnB1dCBpcyB0
cnVlCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9udW1iZXIvbnVtYmVyLXZhbGlkaXR5
LWJhZGlucHV0Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL251bWJlci9udW1iZXItdmFs
aWRpdHktYmFkaW5wdXQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wNmM2YzBhNGQ1Y2I5MjgwOTA2NGY3MGY0
NmE3NWU5OTM0NTA5N2RiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9udW1iZXIvbnVtYmVyLXZhbGlkaXR5LWJhZGlucHV0Lmh0bWwKQEAgLTAsMCArMSw2OCBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zh
c3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KKzppbnZh
bGlkIHsKKyAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDAwMDsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8ZGl2IGlkPXBhcmVudD4KKzxpbnB1dCB0eXBlPW51bWJlciBpZD1udW1iZXI+Cis8aW5w
dXQgaWQ9YW5vdGhlcj4KKzwvZGl2PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCdBIG51bWJlciBp
bnB1dCBmaWVsZHMgd2l0aCBhIGJhZCBpbnB1dCBzdHJpbmcgc2hvdWxkIG1ha2UgdmFsaWRpdHku
YmFkSW5wdXQgdHJ1ZSBhbmQgaGF2ZSA6aW52YWxpZCBzdHlsZS4nKTsKKworZnVuY3Rpb24gY29s
b3JPZihlbCkgeworICAgIHJldHVybiBkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0
eWxlKGVsLCBudWxsKS5nZXRQcm9wZXJ0eVZhbHVlKCdiYWNrZ3JvdW5kLWNvbG9yJyk7Cit9Cit2
YXIgaW52YWxpZFN0eWxlQ29sb3IgPSAncmdiKDI1NSwgMCwgMCknOworCit2YXIgbnVtYmVyID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ251bWJlcicpOworbnVtYmVyLmZvY3VzKCk7CitkZWJ1
ZygnSW5pdGlhbCBzdGF0ZS4gVGhlIGVsbWVudCBoYXMgbm8gdmFsdWUuJyk7CitzaG91bGRCZVRy
dWUoJ2NvbG9yT2YobnVtYmVyKSAhPSBpbnZhbGlkU3R5bGVDb2xvcicpOworc2hvdWxkQmVGYWxz
ZSgnbnVtYmVyLnZhbGlkaXR5LmJhZElucHV0Jyk7CisKK2RlYnVnKCJUeXBlICctJy4gVGhlIGVs
ZW1lbnQgYmVjb21lcyBiYWRJbnB1dC4iKTsKK2RvY3VtZW50LmV4ZWNDb21tYW5kKCdJbnNlcnRU
ZXh0JywgZmFsc2UsICctJyk7CitzaG91bGRCZSgnY29sb3JPZihudW1iZXIpJywgJ2ludmFsaWRT
dHlsZUNvbG9yJyk7CitzaG91bGRCZUZhbHNlKCdudW1iZXIudmFsaWRpdHkudmFsaWQnKTsKK3No
b3VsZEJlVHJ1ZSgnbnVtYmVyLnZhbGlkaXR5LmJhZElucHV0Jyk7CitzaG91bGRCZUVxdWFsVG9T
dHJpbmcoJ251bWJlci52YWx1ZScsICcnKTsKKworZGVidWcoIlR5cGUgJzEnIGFkZGl0aW9uYWxs
eS4gVGhlIGVsZW1lbnQgYmVjb21lcyB2YWxpZC4iKTsKK2RvY3VtZW50LmV4ZWNDb21tYW5kKCdJ
bnNlcnRUZXh0JywgZmFsc2UsICcxJyk7CitzaG91bGRCZVRydWUoJ2NvbG9yT2YobnVtYmVyKSAh
PSBpbnZhbGlkU3R5bGVDb2xvcicpOworc2hvdWxkQmVGYWxzZSgnbnVtYmVyLnZhbGlkaXR5LmJh
ZElucHV0Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ251bWJlci52YWx1ZScsICctMScpOwor
CitkZWJ1ZygiVHlwZSAnYScgYWRkaXRpb25hbGx5LiBUaGUgZWxlbWVudCBiZWNvbWVzIGJhZElu
cHV0IGFnYWluLiIpOworZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ0luc2VydFRleHQnLCBmYWxzZSwg
J2EnKTsKK3Nob3VsZEJlKCdjb2xvck9mKG51bWJlciknLCAnaW52YWxpZFN0eWxlQ29sb3InKTsK
K3Nob3VsZEJlVHJ1ZSgnbnVtYmVyLnZhbGlkaXR5LmJhZElucHV0Jyk7CitzaG91bGRCZUVxdWFs
VG9TdHJpbmcoJ251bWJlci52YWx1ZScsICcnKTsKKworZGVidWcoIlRoZSBlbGVtZW50IGxvc3Rz
IGZvY3VzLiBUaGUgZWxlbWVudCBzdGF0ZSBzaG91bGQgbm90IGJlIGNoYW5nZWQuIik7Citkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgnYW5vdGhlcicpLmZvY3VzKCk7CitzaG91bGRCZSgnY29sb3JP
ZihudW1iZXIpJywgJ2ludmFsaWRTdHlsZUNvbG9yJyk7CitzaG91bGRCZVRydWUoJ251bWJlci52
YWxpZGl0eS5iYWRJbnB1dCcpOworLy8gVmlzaWJsZSB2YWx1ZSBpcyAnLTFhJy4KK251bWJlci5m
b2N1cygpOworZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ1NlbGVjdEFsbCcpOworc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCdkb2N1bWVudC5nZXRTZWxlY3Rpb24oKS50b1N0cmluZygpJywgJy0xYScpOwor
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdudW1iZXIudmFsdWUnLCAnJyk7CisKK2RlYnVnKCJUaGUg
ZWxlbWVudCBsb3N0cyBhIHJlbmRlcmVyLiBUaGUgZWxlbWVudCBzdGF0ZSBzaG91bGQgbm90IGJl
IGNoYW5nZWQuIik7CitzaG91bGRCZVRydWUoJ251bWJlci5zdHlsZS5kaXNwbGF5ID0gIm5vbmUi
OyBudW1iZXIudmFsaWRpdHkuYmFkSW5wdXQnKTsKKworZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J3BhcmVudCcpLmlubmVySFRNTCA9ICcnOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
Li4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBs
ZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtdmFsaWRpdHktYmFkaW5wdXQtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11
bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NDgwZjU2MWYyMjZjNTlhNDQxN2NiYmUzZTY2OTE3ZTk4M2QwNDdlNgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0
aXBsZS1maWVsZHMtdmFsaWRpdHktYmFkaW5wdXQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTUg
QEAKK0EgdGltZSBpbnB1dCBmaWVsZHMgd2l0aCBhIGJhZCB1c2VyIGlucHV0IHNob3VsZCBtYWtl
IHZhbGlkaXR5LmJhZElucHV0IHRydWUgYW5kIGhhdmUgOmludmFsaWQgc3R5bGUuCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitJbml0aWFsIHN0YXRlLiBUaGUgZWxtZW50IGhhcyBu
byB2YWx1ZS4KK1BBU1MgY29sb3JPZihpbnB1dCkgaXMgbm90IGludmFsaWRTdHlsZUNvbG9yCitQ
QVNTIGlucHV0LnZhbGlkaXR5LmJhZElucHV0IGlzIGZhbHNlCitTZXQgYSB2YWx1ZSB0byB0aGUg
Zmlyc3Qgc3ViLWZpZWxkLiBUaGUgZWxlbWVudCBiZWNvbWVzIGJhZElucHV0LgorUEFTUyBjb2xv
ck9mKGlucHV0KSBpcyBpbnZhbGlkU3R5bGVDb2xvcgorUEFTUyBpbnB1dC52YWxpZGl0eS5iYWRJ
bnB1dCBpcyB0cnVlCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxl
LWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZp
ZWxkcy12YWxpZGl0eS1iYWRpbnB1dC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyODBmMGU4MTM3YmI3NGQ2
MGUyMDMyNmNlMjJiMTBjOTQ2YWIyNDIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLXZhbGlk
aXR5LWJhZGlucHV0Lmh0bWwKQEAgLTAsMCArMSwxNCBAQAorPCFET0NUWVBFIGh0bWw+Cis8c3R5
bGU+Cis6aW52YWxpZCB7CisgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDAwMDsKK30KKzwvc3R5
bGU+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9tdWx0aXBsZS1maWVsZHMt
dmFsaWRpdHktYmFkaW5wdXQuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK3Rlc3RCYWRJbnB1dCgn
dGltZScpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLXZhbGlk
aXR5LWJhZGlucHV0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvd2Vlay1t
dWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMtdmFsaWRpdHktYmFkaW5wdXQtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJkNjE4MjFmMjFiNjkzOGUzMzlhZGNlZjMwOWMzODU4YjU4
NGYxMzIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3dlZWstbXVs
dGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDE1IEBACitBIHdlZWsgaW5wdXQgZmllbGRzIHdpdGggYSBiYWQg
dXNlciBpbnB1dCBzaG91bGQgbWFrZSB2YWxpZGl0eS5iYWRJbnB1dCB0cnVlIGFuZCBoYXZlIDpp
bnZhbGlkIHN0eWxlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworSW5pdGlhbCBz
dGF0ZS4gVGhlIGVsbWVudCBoYXMgbm8gdmFsdWUuCitQQVNTIGNvbG9yT2YoaW5wdXQpIGlzIG5v
dCBpbnZhbGlkU3R5bGVDb2xvcgorUEFTUyBpbnB1dC52YWxpZGl0eS5iYWRJbnB1dCBpcyBmYWxz
ZQorU2V0IGEgdmFsdWUgdG8gdGhlIGZpcnN0IHN1Yi1maWVsZC4gVGhlIGVsZW1lbnQgYmVjb21l
cyBiYWRJbnB1dC4KK1BBU1MgY29sb3JPZihpbnB1dCkgaXMgaW52YWxpZFN0eWxlQ29sb3IKK1BB
U1MgaW5wdXQudmFsaWRpdHkuYmFkSW5wdXQgaXMgdHJ1ZQorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMtdmFsaWRp
dHktYmFkaW5wdXQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1m
aWVsZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMtdmFsaWRpdHktYmFkaW5wdXQuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44NDdhNmVlZDgwNmM1OTI2NjdhM2YwOWUyZWM2ODk1ZDc4NjM3NTcyCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVr
LW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC5odG1sCkBAIC0wLDAgKzEsMTQgQEAK
KzwhRE9DVFlQRSBodG1sPgorPHN0eWxlPgorOmludmFsaWQgeworICAgIGJhY2tncm91bmQtY29s
b3I6ICNmZjAwMDA7Cit9Cis8L3N0eWxlPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMv
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNv
dXJjZXMvbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0LmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQ+Cit0ZXN0QmFkSW5wdXQoJ3dlZWsnKTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>175924</attachid>
            <date>2012-11-25 22:25:13 -0800</date>
            <delta_ts>2012-11-25 23:08:44 -0800</delta_ts>
            <desc>Patch 2</desc>
            <filename>bug-102861-20121126152252.patch</filename>
            <type>text/plain</type>
            <size>48768</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM1Njc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWM4NTc1MjIwZWQwNzc2
ZGMyZWIzNThkZjY2MWJlMGMzY2I2N2Q5MC4uMWMwZWQwMDk2Zjc2MzM5YzQ1MjI3Y2ZmYzg5YWM5
MmNmNGUyOGJmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEwOCBAQAorMjAxMi0xMS0yNiAgS2Vu
dCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IFZhbGlk
aXR5U3RhdGU6OmJhZElucHV0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMDI4NjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBBZGQgVmFsaWRpdHlTdGF0ZTo6YmFkSW5wdXQsIGFkZCBoYXNCYWRJbnB1dCwg
d2hpY2ggYWx3YXlzIHJldHVybnMKKyAgICAgICAgZmFsc2UsIHRvIEZvcm1Bc3NvY2lhdGVkRWxl
bWVudCwgSFRNTElucHV0RWxlbWVudCwgYW5kIElucHV0VHlwZS4KKworICAgICAgICBGb3IgTnVt
YmVySW5wdXRUeXBlLCB3ZSBoYWQgaGFzVW5hY2NlcHRhYmxlVmFsdWUsIHdoaWNoIHdhcyBhIGhh
Y2sgdG8KKyAgICAgICAgbWFrZSBhbiBpbnB1dCBlbGVtZW50IG1hdGNoIHRvIDppbnZhbGlkIGlm
IHRoZSBlbGVtZW50IGhhZCBub24tbnVtYmVyCisgICAgICAgIHN0cmluZ3MuIFdlIGRvbid0IG5l
ZWQgdGhlIGhhY2sgYW55IG1vcmUgYmVjYXVzZSBiYWRJbnB1dCBhZmZlY3RzIDppbnZhbGlkCisg
ICAgICAgIHN0eWxlLiBoYXNVbmFjY2VwdGFibGVWYWx1ZSBpcyByZS11c2VkIGZvciBoYXNCYWRJ
bnB1dCBpbXBsZW1lbnRhdGlvbi4KKyAgICAgICAgV2UgY2xlYXJlZCBpbnZhbGlkIG51bWJlcnMg
d2hlbiBlbGVtZW50cyBsb3N0IGZvY3VzIHRvIHRlbGwgdXNlcnMgdGhhdAorICAgICAgICB0aGUg
ZWxlbWVudCBoYWQgaW52YWxpZCBudW1iZXJzLiBXZSBkb24ndCBuZWVkIHRoaXMgYmVoYXZpb3Ig
YmVjYXVzZSB0aGUKKyAgICAgICAgaW50ZXJhY3RpdmUgdmFsaWRhdGlvbiB0ZWxscyBpdC4KKwor
ICAgICAgICBGb3IgZGF0ZS90aW1lIGlucHV0IHR5cGVzLCB3ZSBzaG91bGQgbWFrZSBhbiBpbnB1
dCBiYWRJbnB1dCB3aGVuIHRoZQorICAgICAgICBpbnB1dCBoYXMgZW1wdHkgdmFsdWUgYnV0IGl0
cyBzdWItZmllbGRzIGhhdmUgdmFsdWVzLiBJdCBjb3ZlcnMgYm90aCBvZgorICAgICAgICBwYXJ0
aWFsIGlucHV0IGNhc2VzIHN1Y2ggYXMgMTIvLS0vMjAxMiBhbmQgaW52YWxpZCBkYXRlcyBzdWNo
IGFzCisgICAgICAgIDAyLzMxLzIwMTIuCisKKyAgICAgICAgRm9yIG90aGVyIHR5cGVzLCBWYWxp
ZGl0eVN0YXRlOjpiYWRJbnB1dCBhbHdheXMgcmV0dXJucyBmYWxzZS4KKworICAgICAgICBUaGlz
IHBhdGNoIGRvZXNuJ3QgY29udGFpbiB0ZXN0cyBmb3IgYmFkSW5wdXQgdmFsaWRhdGlvbiBtZXNz
YWdlcy4gVGhleQorICAgICAgICB3aWxsIGJlIGFkZGVkIGxhdGVyLgorCisgICAgICAgIFRlc3Rz
OiBmYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLXZh
bGlkaXR5LWJhZGlucHV0Lmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvZm9ybXMvZGF0ZXRpbWUt
bXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1
dC5odG1sCisgICAgICAgICAgICAgICBmYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUt
ZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0Lmh0
bWwKKyAgICAgICAgICAgICAgIGZhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRo
LW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC5odG1sCisgICAgICAgICAgICAgICBm
YXN0L2Zvcm1zL251bWJlci9udW1iZXItdmFsaWRpdHktYmFkaW5wdXQuaHRtbAorICAgICAgICAg
ICAgICAgZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxk
cy12YWxpZGl0eS1iYWRpbnB1dC5odG1sCisgICAgICAgICAgICAgICBmYXN0L2Zvcm1zL3dlZWst
bXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0Lmh0
bWwKKworICAgICAgICAqIGh0bWwvVmFsaWRpdHlTdGF0ZS5pZGw6IEFkZCBiYWRJbnB1dCBJREwg
YXR0cmlidXRlLgorICAgICAgICAqIGh0bWwvVmFsaWRpdHlTdGF0ZS5oOgorICAgICAgICAoVmFs
aWRpdHlTdGF0ZSk6IEFkZCBiYWRJbnB1dC4KKyAgICAgICAgKiBodG1sL1ZhbGlkaXR5U3RhdGUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6VmFsaWRpdHlTdGF0ZTo6YmFkSW5wdXQpOgorICAgICAg
ICBBZGRlZC4gQ2FsbHMgRm9ybUFzc29jaWF0ZWRFbGVtZW50OjpoYXNCYWRJbnB1dC4KKworICAg
ICAgICAqIGh0bWwvRm9ybUFzc29jaWF0ZWRFbGVtZW50Lmg6CisgICAgICAgIChGb3JtQXNzb2Np
YXRlZEVsZW1lbnQpOiBBZGQgaGFzQmFkSW5wdXQuCisgICAgICAgICogaHRtbC9Gb3JtQXNzb2Np
YXRlZEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Rm9ybUFzc29jaWF0ZWRFbGVtZW50
OjpoYXNCYWRJbnB1dCk6CisgICAgICAgIEFkZGVkLiBJdCBhbHdheXMgcmV0dXJucyBmYWxzZS4K
KyAgICAgICAgKFdlYkNvcmU6OkZvcm1Bc3NvY2lhdGVkRWxlbWVudDo6dmFsaWQpOiBUYWtlcyBh
Y2NvdW50IG9mIGhhc0JhZElucHV0KCkuCisKKyAgICAgICAgKiBodG1sL0hUTUxJbnB1dEVsZW1l
bnQuaDoKKyAgICAgICAgKEhUTUxJbnB1dEVsZW1lbnQpOgorICAgICAgICBSZW1vdmUgaGFzVW5h
Y2NlcHRhYmxlVmFsdWUsIGFuZCBhZGQgaGFzQmFkSW5wdXQgb3ZlcnJpZGUuCisgICAgICAgICog
aHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVs
ZW1lbnQ6Omhhc0JhZElucHV0KToKKyAgICAgICAgQWRkZWQuIERlbGVnYXRlIHRvIElucHV0VHlw
ZTo6aGFzQmFkSW5wdXQuCisgICAgICAgIChXZWJDb3JlKTogUmVtb3ZlIGhhc1VuYWNjZXB0YWJs
ZVZhbHVlLgorCisgICAgICAgICogaHRtbC9JbnB1dFR5cGUuaDoKKyAgICAgICAgKElucHV0VHlw
ZSk6IEFkZCBoYXNCYWRJbnB1dCBhbmQgYmFkSW5wdXRUZXh0LCBhbmQgcmVtb3ZlCisgICAgICAg
IGhhc1VuYWNjZXB0YWJsZVZhbHVlLgorICAgICAgICAqIGh0bWwvSW5wdXRUeXBlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OklucHV0VHlwZTo6aGFzQmFkSW5wdXQpOiBBZGRlZC4gUmV0dXJucyBm
YWxzZS4KKyAgICAgICAgKFdlYkNvcmU6OklucHV0VHlwZTo6YmFkSW5wdXRUZXh0KToKKyAgICAg
ICAgQWRkZWQuIFRoaXMgZnVuY3Rpb24gc2hvdWxkIG5vdCBiZSBjYWxsZWQgYmVjYXVzZSBoYXNC
YWRJbnB1dCBhbHdheXMKKyAgICAgICAgcmV0dXJucyBmYWxzZS4KKyAgICAgICAgKFdlYkNvcmU6
OklucHV0VHlwZTo6dmFsaWRhdGlvbk1lc3NhZ2UpOgorICAgICAgICBTdXBwb3J0cyBiYWRJbnB1
dC4gVGhpcyByZXR1cm5zIGJhZElucHV0VGV4dCBpZiBoYXNCYWRJbnB1dCBpcyB0cnVlLgorCisg
ICAgICAgICogaHRtbC9OdW1iZXJJbnB1dFR5cGUuaDoKKyAgICAgICAgKE51bWJlcklucHV0VHlw
ZSk6IEFkZCBoYXNCYWRJbnB1dCBhbmQgYmFkSW5wdXRUZXN0LiBSZW1vdmUKKyAgICAgICAgaGFu
ZGxlQmx1ckV2ZW50IGFuZCBoYXNVbmFjY2VwdGFibGVWYWx1ZS4KKyAgICAgICAgKiBodG1sL051
bWJlcklucHV0VHlwZS5jcHA6CisgICAgICAgIFJlbW92ZSBoYW5kbGVCbHVyRXZlbnQsIHdoaWNo
IGNsZWFyZWQgaW52YWxpZCBudW1iZXIgc3RyaW5ncy4KKyAgICAgICAgKFdlYkNvcmU6Ok51bWJl
cklucHV0VHlwZTo6aGFzQmFkSW5wdXQpOgorICAgICAgICBBZGRlZC4gV2UgZG9uJ3QgbmVlZCB0
byBjaGVjayBleGlzdGVuY2Ugb2YgYSByZW5kZXJlci4gVGhlIHN0YW5kYXJkIGZvcm0KKyAgICAg
ICAgdmFsaWRhdGlvbiBmZWF0dXJlIGRvZXNuJ3QgY2FyZSBvZiBpdC4KKyAgICAgICAgKFdlYkNv
cmU6Ok51bWJlcklucHV0VHlwZTo6YmFkSW5wdXRUZXh0KTogUmV0dXJucworICAgICAgICB2YWxp
ZGF0aW9uTWVzc2FnZUJhZElucHV0Rm9yTnVtYmVyVGV4dCBkZWZpbmVkIGluIExvY2FsaXplZFN0
cmluZ3MuaC4KKyAgICAgICAgKiBjc3MvU2VsZWN0b3JDaGVja2VyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlNlbGVjdG9yQ2hlY2tlcjo6Y2hlY2tPbmVTZWxlY3Rvcik6CisgICAgICAgIFJlbW92
ZSBhIGhhY2sgZm9yIGhhc1VuYWNjZXB0YWJsZVZhbHVlLiBpc1ZhbGlkRm9ybUNvbnRyb2xFbGVt
ZW50IHRha2VzCisgICAgICAgIGFjY291bnQgb2YgYmFkSW5wdXQuCisgICAgICAgICogZG9tL0Vs
ZW1lbnQuaDogUmVtb3ZlIGhhc1VuYWNjZXB0YWJsZVZhbHVlLgorCisgICAgICAgICogaHRtbC9C
YXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZS5oOgorICAgICAgICAoQmFzZU11
bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUpOiBBZGQgaGFzQmFkSW5wdXQgYW5kIGJh
ZElucHV0VGV4dC4KKyAgICAgICAgKiBodG1sL0Jhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1l
SW5wdXRUeXBlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkJhc2VNdWx0aXBsZUZpZWxkc0RhdGVB
bmRUaW1lSW5wdXRUeXBlOjpiYWRJbnB1dFRleHQpOgorICAgICAgICBSZXR1cm5zIHZhbGlkYXRp
b25NZXNzYWdlQmFkSW5wdXRGb3JEYXRlVGltZVRleHQgZGVmaW5lZCBpbiBMb2NhbGl6ZWRTdHJp
bmdzLmguCisgICAgICAgIChXZWJDb3JlOjpCYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlu
cHV0VHlwZTo6aGFzQmFkSW5wdXQpOgorICAgICAgICBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OkJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlOjpzZXRWYWx1ZSk6CisgICAg
ICAgIEFkZCBzZXROZWVkc1ZhbGlkaXR5Q2hlY2sgY2FsbC4gSXQgaXMgbmVlZGVkIGJlY2F1c2UK
KyAgICAgICAgdXBkYXRlSW5uZXJUZXh0VmFsdWUgY2FuIG1vZGlmeSBzdWJmaWVsZHMgZW1wdHkg
c3RhdGUuCisKKyAgICAgICAgKiBodG1sL1RleHRGaWVsZElucHV0VHlwZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpUZXh0RmllbGRJbnB1dFR5cGU6OnN1YnRyZWVIYXNDaGFuZ2VkKTogVXBkYXRl
IGEgY29tbWVudC4KKyAgICAgICAgKiBwbGF0Zm9ybS9Mb2NhbGl6ZWRTdHJpbmdzLmg6CisgICAg
ICAgIChXZWJDb3JlKTogQWRkIHZhbGlkYXRpb25NZXNzYWdlQmFkSW5wdXRGb3JOdW1iZXJUZXh0
IGFuZAorICAgICAgICB2YWxpZGF0aW9uTWVzc2FnZUJhZElucHV0Rm9yRGF0ZVRpbWVUZXh0Lgor
ICAgICAgICAqIHBsYXRmb3JtL0xvY2FsaXplZFN0cmluZ3MuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6dmFsaWRhdGlvbk1lc3NhZ2VCYWRJbnB1dEZvck51bWJlclRleHQpOgorICAgICAgICBBZGRl
ZCBhIHBsYWNlaG9sZGVyIGltcGxlbWVudGF0aW9uLiBUaGlzIHNob3VsZCBiZSBmaXhlZCBsYXRl
ci4KKwogMjAxMi0xMS0yNSAgS2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgUmVmYWN0b3Jpbmc6IE1vdmUgdGhlIGNvbnRlbnQgb2YgSFRNTElucHV0RWxlbWVudDo6
c3VidHJlZUhhc0NoYW5nZWQgdG8gVGV4dEZpZWxkSW5wdXRUeXBlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hh
bmdlTG9nCmluZGV4IDI0YWJhZmIyNWJlNzU1MjYwZDBjNjllOTk1YzdkZDMxMTIxNGI5M2EuLmYz
ZWU3ZWZlYTg1ZmRlZTI3YTUyZWU2ZTY0YmNlYTkyNjEzNDkzZjAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMTEtMjUgIEtlbnQgVGFtdXJhICA8dGtl
bnRAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEltcGxlbWVudCBWYWxpZGl0eVN0YXRlOjpiYWRJ
bnB1dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAy
ODYxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBz
cmMvTG9jYWxpemVkU3RyaW5ncy5jcHA6CisgICAgICAgIEFkZCBwbGFjZWhvbGRlciBpbXBsZW1l
bnRhdGlvbnMgZm9yIG5ldyBsb2NhbGl6ZWQgc3RyaW5nIGZ1bmN0aW9ucy4KKyAgICAgICAgV2Un
bGwgdXBkYXRlIHRoZW0gaW4gYW5vdGhlciBwYXRjaC4KKyAgICAgICAgKFdlYkNvcmU6OnZhbGlk
YXRpb25NZXNzYWdlQmFkSW5wdXRGb3JOdW1iZXJUZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OnZh
bGlkYXRpb25NZXNzYWdlQmFkSW5wdXRGb3JEYXRlVGltZVRleHQpOgorCiAyMDEyLTExLTI0ICBT
aWx2aWEgUGZlaWZmZXIgIDxzaWx2aWFwZkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW2Nocm9t
aXVtXSBSZW1vdmUgdHJhY2VzIG9mIE1lZGlhQ29udHJvbFJvb3RFbGVtZW50CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9TZWxlY3RvckNoZWNrZXIuY3BwCmluZGV4IDM4ZDQxZjc4NDg4NjVkYzhhYzNjMTY0OTE5
MjYzODY0NjU5MWJkMzIuLjBlMWY2ZmQ3MDQ5NDJjYjkxOThlOTA3MzdiYWFiNWZiZDBjZjQzNmQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvckNoZWNrZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvckNoZWNrZXIuY3BwCkBAIC0xMDcyLDcgKzEwNzIs
NyBAQCBib29sIFNlbGVjdG9yQ2hlY2tlcjo6Y2hlY2tPbmVTZWxlY3Rvcihjb25zdCBTZWxlY3Rv
ckNoZWNraW5nQ29udGV4dCYgY29udGV4dCwgYwogICAgICAgICAgICAgaWYgKCFlbGVtZW50KQog
ICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgIGVsZW1lbnQtPmRvY3Vt
ZW50KCktPnNldENvbnRhaW5zVmFsaWRpdHlTdHlsZVJ1bGVzKCk7Ci0gICAgICAgICAgICByZXR1
cm4gKGVsZW1lbnQtPndpbGxWYWxpZGF0ZSgpICYmICFlbGVtZW50LT5pc1ZhbGlkRm9ybUNvbnRy
b2xFbGVtZW50KCkpIHx8IGVsZW1lbnQtPmhhc1VuYWNjZXB0YWJsZVZhbHVlKCk7CisgICAgICAg
ICAgICByZXR1cm4gZWxlbWVudC0+d2lsbFZhbGlkYXRlKCkgJiYgIWVsZW1lbnQtPmlzVmFsaWRG
b3JtQ29udHJvbEVsZW1lbnQoKTsKICAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvQ2hl
Y2tlZDoKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICBpZiAoIWVsZW1lbnQpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9t
L0VsZW1lbnQuaAppbmRleCA1ZjExZWM5MWU5Yzc0NjUwMTRmM2E2MjY3YWMzMjcxZjUxNTZjYTE0
Li5iMmZmYTk5MDIzMjIwY2ZkYTJiZjFjNTU3NDZjN2YwMjZhYzc2ZWNkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVt
ZW50LmgKQEAgLTM4MSw3ICszODEsNiBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIGlzRGVm
YXVsdEJ1dHRvbkZvckZvcm0oKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwg
Ym9vbCB3aWxsVmFsaWRhdGUoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwg
Ym9vbCBpc1ZhbGlkRm9ybUNvbnRyb2xFbGVtZW50KCkgeyByZXR1cm4gZmFsc2U7IH0KLSAgICB2
aXJ0dWFsIGJvb2wgaGFzVW5hY2NlcHRhYmxlVmFsdWUoKSBjb25zdCB7IHJldHVybiBmYWxzZTsg
fQogICAgIHZpcnR1YWwgYm9vbCBpc0luUmFuZ2UoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQog
ICAgIHZpcnR1YWwgYm9vbCBpc091dE9mUmFuZ2UoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQog
ICAgIHZpcnR1YWwgYm9vbCBpc0ZyYW1lRWxlbWVudEJhc2UoKSBjb25zdCB7IHJldHVybiBmYWxz
ZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9CYXNlTXVsdGlwbGVGaWVsZHNE
YXRlQW5kVGltZUlucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VNdWx0aXBs
ZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlLmNwcAppbmRleCA0YmQ3Y2RlMmM1NDAxY2QwOWQ0
N2QxNGE3NTA0ZjEzYzY1NGQyMjBjLi5iNTVlOWE1YTc3MTZjNDNmYmJkYTJkM2E3MjU3YTRlYjNi
YzBlMjk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VNdWx0aXBsZUZpZWxk
c0RhdGVBbmRUaW1lSW5wdXRUeXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VN
dWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlLmNwcApAQCAtNDEsNiArNDEsNyBAQAog
I2luY2x1ZGUgIkhUTUxJbnB1dEVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MT3B0aW9uRWxlbWVu
dC5oIgogI2luY2x1ZGUgIktleWJvYXJkRXZlbnQuaCIKKyNpbmNsdWRlICJMb2NhbGl6ZWRTdHJp
bmdzLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlBpY2tlckluZGljYXRvckVsZW1l
bnQuaCIKICNpbmNsdWRlICJQbGF0Zm9ybUxvY2FsZS5oIgpAQCAtMTY4LDYgKzE2OSwxMSBAQCBC
YXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZTo6fkJhc2VNdWx0aXBsZUZpZWxk
c0RhdGVBbmRUaW1lSW5wdXRUeXBlKAogICAgICAgICBtX3BpY2tlckluZGljYXRvckVsZW1lbnQt
PnJlbW92ZVBpY2tlckluZGljYXRvck93bmVyKCk7CiB9CiAKK1N0cmluZyBCYXNlTXVsdGlwbGVG
aWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZTo6YmFkSW5wdXRUZXh0KCkgY29uc3QKK3sKKyAgICBy
ZXR1cm4gdmFsaWRhdGlvbk1lc3NhZ2VCYWRJbnB1dEZvckRhdGVUaW1lVGV4dCgpOworfQorCiB2
b2lkIEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlOjpibHVyKCkKIHsKICAg
ICBpZiAobV9kYXRlVGltZUVkaXRFbGVtZW50KQpAQCAtMjczLDYgKzI3OSwxMSBAQCB2b2lkIEJh
c2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlOjpoYW5kbGVLZXlkb3duRXZlbnQo
S2V5Ym9hcmRFdmVudCogZQogICAgICAgICBmb3J3YXJkRXZlbnQoZXZlbnQpOwogfQogCitib29s
IEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlOjpoYXNCYWRJbnB1dCgpIGNv
bnN0Cit7CisgICAgcmV0dXJuIGVsZW1lbnQoKS0+dmFsdWUoKS5pc0VtcHR5KCkgJiYgbV9kYXRl
VGltZUVkaXRFbGVtZW50ICYmIG1fZGF0ZVRpbWVFZGl0RWxlbWVudC0+YW55RWRpdGFibGVGaWVs
ZHNIYXZlVmFsdWVzKCk7Cit9CisKIGJvb2wgQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJ
bnB1dFR5cGU6OmlzS2V5Ym9hcmRGb2N1c2FibGUoS2V5Ym9hcmRFdmVudCopIGNvbnN0CiB7CiAg
ICAgcmV0dXJuIGZhbHNlOwpAQCAtMzI1LDggKzMzNiwxMCBAQCBGb3JtQ29udHJvbFN0YXRlIEJh
c2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlOjpzYXZlRm9ybUNvbnRyb2xTdGF0
ZSgpCiB2b2lkIEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlOjpzZXRWYWx1
ZShjb25zdCBTdHJpbmcmIHNhbml0aXplZFZhbHVlLCBib29sIHZhbHVlQ2hhbmdlZCwgVGV4dEZp
ZWxkRXZlbnRCZWhhdmlvciBldmVudEJlaGF2aW9yKQogewogICAgIElucHV0VHlwZTo6c2V0VmFs
dWUoc2FuaXRpemVkVmFsdWUsIHZhbHVlQ2hhbmdlZCwgZXZlbnRCZWhhdmlvcik7Ci0gICAgaWYg
KHZhbHVlQ2hhbmdlZCB8fCAoc2FuaXRpemVkVmFsdWUuaXNFbXB0eSgpICYmIG1fZGF0ZVRpbWVF
ZGl0RWxlbWVudCAmJiBtX2RhdGVUaW1lRWRpdEVsZW1lbnQtPmFueUVkaXRhYmxlRmllbGRzSGF2
ZVZhbHVlcygpKSkKKyAgICBpZiAodmFsdWVDaGFuZ2VkIHx8IChzYW5pdGl6ZWRWYWx1ZS5pc0Vt
cHR5KCkgJiYgbV9kYXRlVGltZUVkaXRFbGVtZW50ICYmIG1fZGF0ZVRpbWVFZGl0RWxlbWVudC0+
YW55RWRpdGFibGVGaWVsZHNIYXZlVmFsdWVzKCkpKSB7CiAgICAgICAgIHVwZGF0ZUlubmVyVGV4
dFZhbHVlKCk7CisgICAgICAgIGVsZW1lbnQoKS0+c2V0TmVlZHNWYWxpZGl0eUNoZWNrKCk7Cisg
ICAgfQogfQogCiBib29sIEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlOjpz
aG91bGRVc2VJbnB1dE1ldGhvZCgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0Jhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0Jhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlLmgKaW5kZXgg
YjVhY2M5ZTZiOTMxZDQyODMxZjFjYTNlMmU5MDhiNjFhN2Q2NjJjOC4uYmQ0MWZmZmVmZjFiMjYz
NWI1YmY3ZDg0NjY5YmE4ODVkMjgyOGExMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9CYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUuaApAQCAt
NzMsNiArNzMsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgYm9vbCBzZXR1cERhdGVUaW1lQ2hv
b3NlclBhcmFtZXRlcnMoRGF0ZVRpbWVDaG9vc2VyUGFyYW1ldGVycyYpIE9WRVJSSURFIEZJTkFM
OwogCiAgICAgLy8gSW5wdXRUeXBlIGZ1bmN0aW9ucworICAgIHZpcnR1YWwgU3RyaW5nIGJhZElu
cHV0VGV4dCgpIGNvbnN0IE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBibHVyKCkgT1ZFUlJJ
REUgRklOQUw7CiAgICAgdmlydHVhbCBSZW5kZXJPYmplY3QqIGNyZWF0ZVJlbmRlcmVyKFJlbmRl
ckFyZW5hKiwgUmVuZGVyU3R5bGUqKSBjb25zdCBPVkVSUklERSBGSU5BTDsKICAgICB2aXJ0dWFs
IHZvaWQgY3JlYXRlU2hhZG93U3VidHJlZSgpIE9WRVJSSURFIEZJTkFMOwpAQCAtODEsNiArODIs
NyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBmb2N1cyhib29sIHJlc3RvcmVQcmV2aW91
c1NlbGVjdGlvbikgT1ZFUlJJREUgRklOQUw7CiAgICAgdmlydHVhbCB2b2lkIGZvcndhcmRFdmVu
dChFdmVudCopIE9WRVJSSURFIEZJTkFMOwogICAgIHZpcnR1YWwgdm9pZCBoYW5kbGVLZXlkb3du
RXZlbnQoS2V5Ym9hcmRFdmVudCopIE9WRVJSSURFIEZJTkFMOworICAgIHZpcnR1YWwgYm9vbCBo
YXNCYWRJbnB1dCgpIGNvbnN0IE9WRVJSSURFOwogICAgIHZpcnR1YWwgYm9vbCBoYXNDdXN0b21G
b2N1c0xvZ2ljKCkgY29uc3QgT1ZFUlJJREUgRklOQUw7CiAgICAgdmlydHVhbCBib29sIGlzS2V5
Ym9hcmRGb2N1c2FibGUoS2V5Ym9hcmRFdmVudCopIGNvbnN0IE9WRVJSSURFIEZJTkFMOwogICAg
IHZpcnR1YWwgYm9vbCBpc01vdXNlRm9jdXNhYmxlKCkgY29uc3QgT1ZFUlJJREUgRklOQUw7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0Zvcm1Bc3NvY2lhdGVkRWxlbWVudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0Zvcm1Bc3NvY2lhdGVkRWxlbWVudC5jcHAKaW5kZXggM2Q4
ODk3ODNlOWVkOWZjMGRkM2MwZDU0ZmQyZmYyZDY4M2Y1MjBhOS4uOGRmZGFlMDk2ZjI3MTNmMzVm
MTQ0NTI0MmQ5ZTA2YmJjYTc2NjFhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9G
b3JtQXNzb2NpYXRlZEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRm9ybUFz
c29jaWF0ZWRFbGVtZW50LmNwcApAQCAtMTg5LDYgKzE4OSwxMSBAQCBib29sIEZvcm1Bc3NvY2lh
dGVkRWxlbWVudDo6Y3VzdG9tRXJyb3IoKSBjb25zdAogICAgIHJldHVybiBlbGVtZW50LT53aWxs
VmFsaWRhdGUoKSAmJiAhbV9jdXN0b21WYWxpZGF0aW9uTWVzc2FnZS5pc0VtcHR5KCk7CiB9CiAK
K2Jvb2wgRm9ybUFzc29jaWF0ZWRFbGVtZW50OjpoYXNCYWRJbnB1dCgpIGNvbnN0Cit7CisgICAg
cmV0dXJuIGZhbHNlOworfQorCiBib29sIEZvcm1Bc3NvY2lhdGVkRWxlbWVudDo6cGF0dGVybk1p
c21hdGNoKCkgY29uc3QKIHsKICAgICByZXR1cm4gZmFsc2U7CkBAIC0yMjIsNyArMjI3LDcgQEAg
Ym9vbCBGb3JtQXNzb2NpYXRlZEVsZW1lbnQ6OnR5cGVNaXNtYXRjaCgpIGNvbnN0CiBib29sIEZv
cm1Bc3NvY2lhdGVkRWxlbWVudDo6dmFsaWQoKSBjb25zdAogewogICAgIGJvb2wgc29tZUVycm9y
ID0gdHlwZU1pc21hdGNoKCkgfHwgc3RlcE1pc21hdGNoKCkgfHwgcmFuZ2VVbmRlcmZsb3coKSB8
fCByYW5nZU92ZXJmbG93KCkKLSAgICAgICAgfHwgdG9vTG9uZygpIHx8IHBhdHRlcm5NaXNtYXRj
aCgpIHx8IHZhbHVlTWlzc2luZygpIHx8IGN1c3RvbUVycm9yKCk7CisgICAgICAgIHx8IHRvb0xv
bmcoKSB8fCBwYXR0ZXJuTWlzbWF0Y2goKSB8fCB2YWx1ZU1pc3NpbmcoKSB8fCBoYXNCYWRJbnB1
dCgpIHx8IGN1c3RvbUVycm9yKCk7CiAgICAgcmV0dXJuICFzb21lRXJyb3I7CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRm9ybUFzc29jaWF0ZWRFbGVtZW50LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0Zvcm1Bc3NvY2lhdGVkRWxlbWVudC5oCmluZGV4IDM5MGUwZWU3NWMz
Zjk5OGJjZmZkNjU0NWMwZjI5NGUxZDNiOWVkOWEuLmQxZGM5YTU5YzcxODRmZGM3OTgzMDIwNjQx
Njg1M2Q0ZjYyZTc0ZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRm9ybUFzc29j
aWF0ZWRFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9Gb3JtQXNzb2NpYXRlZEVs
ZW1lbnQuaApAQCAtNzcsNiArNzcsNyBAQCBwdWJsaWM6CiAKICAgICAvLyBPdmVycmlkZSBmdW5j
dGlvbnMgZm9yIHBhdHRlck1pc21hdGNoLCByYW5nZU92ZXJmbG93LCByYW5nZXJVbmRlcmZsb3cs
CiAgICAgLy8gc3RlcE1pc21hdGNoLCB0b29Mb25nIGFuZCB2YWx1ZU1pc3NpbmcgbXVzdCBjYWxs
IHdpbGxWYWxpZGF0ZSBtZXRob2QuCisgICAgdmlydHVhbCBib29sIGhhc0JhZElucHV0KCkgY29u
c3Q7CiAgICAgdmlydHVhbCBib29sIHBhdHRlcm5NaXNtYXRjaCgpIGNvbnN0OwogICAgIHZpcnR1
YWwgYm9vbCByYW5nZU92ZXJmbG93KCkgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIHJhbmdlVW5k
ZXJmbG93KCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1
dEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcApp
bmRleCA0Y2FlNzg2ZjFlZGE5YzE4NjQ5NWE3OThlMDczYzhiY2QyZWJmMzViLi41ZTRmNTBkN2E2
OTk0Zjc4MWQ5ODM0NGUyZDMwYWExZDg0NjMwMTczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TElucHV0RWxlbWVudC5jcHAKQEAgLTI2Niw2ICsyNjYsMTEgQEAgYm9vbCBIVE1MSW5wdXRFbGVt
ZW50Ojp2YWx1ZU1pc3NpbmcoKSBjb25zdAogICAgIHJldHVybiB3aWxsVmFsaWRhdGUoKSAmJiBt
X2lucHV0VHlwZS0+dmFsdWVNaXNzaW5nKHZhbHVlKCkpOwogfQogCitib29sIEhUTUxJbnB1dEVs
ZW1lbnQ6Omhhc0JhZElucHV0KCkgY29uc3QKK3sKKyAgICByZXR1cm4gd2lsbFZhbGlkYXRlKCkg
JiYgbV9pbnB1dFR5cGUtPmhhc0JhZElucHV0KCk7Cit9CisKIGJvb2wgSFRNTElucHV0RWxlbWVu
dDo6cGF0dGVybk1pc21hdGNoKCkgY29uc3QKIHsKICAgICByZXR1cm4gd2lsbFZhbGlkYXRlKCkg
JiYgbV9pbnB1dFR5cGUtPnBhdHRlcm5NaXNtYXRjaCh2YWx1ZSgpKTsKQEAgLTEzOTEsMTEgKzEz
OTYsNiBAQCBTdHJpbmcgSFRNTElucHV0RWxlbWVudDo6bG9jYWxpemVWYWx1ZShjb25zdCBTdHJp
bmcmIHByb3Bvc2VkVmFsdWUpIGNvbnN0CiAgICAgcmV0dXJuIG1faW5wdXRUeXBlLT5sb2NhbGl6
ZVZhbHVlKHByb3Bvc2VkVmFsdWUpOwogfQogCi1ib29sIEhUTUxJbnB1dEVsZW1lbnQ6Omhhc1Vu
YWNjZXB0YWJsZVZhbHVlKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9pbnB1dFR5cGUtPmhhc1Vu
YWNjZXB0YWJsZVZhbHVlKCk7Ci19Ci0KIGJvb2wgSFRNTElucHV0RWxlbWVudDo6aXNJblJhbmdl
KCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9pbnB1dFR5cGUtPmlzSW5SYW5nZSh2YWx1ZSgpKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmgKaW5kZXggYjBhYzZhZTk2OWY1YTAx
YWQ2ZTcwYjI1OTUxMTY3M2M1ZmFmMzg4Ni4uOTIyOTc0ODI5YzVlNGIzODliNDkyMGQ3OWQxM2Ux
MGU1OWM0ZjcxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVt
ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmgKQEAgLTU1
LDYgKzU1LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBzaG91bGRBdXRvY29tcGxldGUo
KSBjb25zdDsKIAogICAgIC8vIEZvciBWYWxpZGl0eVN0YXRlCisgICAgdmlydHVhbCBib29sIGhh
c0JhZElucHV0KCkgY29uc3QgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBib29sIHBhdHRlcm5NaXNt
YXRjaCgpIGNvbnN0IE9WRVJSSURFOwogICAgIHZpcnR1YWwgYm9vbCByYW5nZVVuZGVyZmxvdygp
IGNvbnN0IE9WRVJSSURFOwogICAgIHZpcnR1YWwgYm9vbCByYW5nZU92ZXJmbG93KCkgY29uc3Q7
CkBAIC0zNTUsOCArMzU2LDYgQEAgcHJpdmF0ZToKIAogICAgIHZpcnR1YWwgYm9vbCBpc1VSTEF0
dHJpYnV0ZShjb25zdCBBdHRyaWJ1dGUmKSBjb25zdCBPVkVSUklERTsKIAotICAgIHZpcnR1YWwg
Ym9vbCBoYXNVbmFjY2VwdGFibGVWYWx1ZSgpIGNvbnN0OwotCiAgICAgdmlydHVhbCBib29sIGlz
SW5SYW5nZSgpIGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBpc091dE9mUmFuZ2UoKSBjb25zdDsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuY3BwCmluZGV4IDRhNDM3ZTAyOTYxMWVkOTRlZmJlYWJh
Y2FmMTk2NmE5YjkxYjAxZTUuLjc5NmM1M2Q3NDlhNjRhMWM3ODdlNGEzN2UxY2I2MTdlMDJjMGUx
YzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5jcHAKQEAgLTI1OCw2ICsyNTgsMTEgQEAgYm9v
bCBJbnB1dFR5cGU6OnZhbHVlTWlzc2luZyhjb25zdCBTdHJpbmcmKSBjb25zdAogICAgIHJldHVy
biBmYWxzZTsKIH0KIAorYm9vbCBJbnB1dFR5cGU6Omhhc0JhZElucHV0KCkgY29uc3QKK3sKKyAg
ICByZXR1cm4gZmFsc2U7Cit9CisKIGJvb2wgSW5wdXRUeXBlOjpwYXR0ZXJuTWlzbWF0Y2goY29u
c3QgU3RyaW5nJikgY29uc3QKIHsKICAgICByZXR1cm4gZmFsc2U7CkBAIC0zNDYsNiArMzUxLDEy
IEBAIGJvb2wgSW5wdXRUeXBlOjpzdGVwTWlzbWF0Y2goY29uc3QgU3RyaW5nJiB2YWx1ZSkgY29u
c3QKICAgICByZXR1cm4gY3JlYXRlU3RlcFJhbmdlKFJlamVjdEFueSkuc3RlcE1pc21hdGNoKG51
bWVyaWNWYWx1ZSk7CiB9CiAKK1N0cmluZyBJbnB1dFR5cGU6OmJhZElucHV0VGV4dCgpIGNvbnN0
Cit7CisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIHZhbGlkYXRpb25NZXNz
YWdlVHlwZU1pc21hdGNoVGV4dCgpOworfQorCiBTdHJpbmcgSW5wdXRUeXBlOjp0eXBlTWlzbWF0
Y2hUZXh0KCkgY29uc3QKIHsKICAgICByZXR1cm4gdmFsaWRhdGlvbk1lc3NhZ2VUeXBlTWlzbWF0
Y2hUZXh0KCk7CkBAIC0zNjgsNiArMzc5LDkgQEAgU3RyaW5nIElucHV0VHlwZTo6dmFsaWRhdGlv
bk1lc3NhZ2UoKSBjb25zdAogICAgIGlmICh0eXBlTWlzbWF0Y2goKSkKICAgICAgICAgcmV0dXJu
IHR5cGVNaXNtYXRjaFRleHQoKTsKIAorICAgIGlmIChoYXNCYWRJbnB1dCgpKQorICAgICAgICBy
ZXR1cm4gYmFkSW5wdXRUZXh0KCk7CisKICAgICBpZiAocGF0dGVybk1pc21hdGNoKHZhbHVlKSkK
ICAgICAgICAgcmV0dXJuIHZhbGlkYXRpb25NZXNzYWdlUGF0dGVybk1pc21hdGNoVGV4dCgpOwog
CkBAIC02ODksMTEgKzcwMyw2IEBAIFN0cmluZyBJbnB1dFR5cGU6OnNhbml0aXplVmFsdWUoY29u
c3QgU3RyaW5nJiBwcm9wb3NlZFZhbHVlKSBjb25zdAogICAgIHJldHVybiBwcm9wb3NlZFZhbHVl
OwogfQogCi1ib29sIElucHV0VHlwZTo6aGFzVW5hY2NlcHRhYmxlVmFsdWUoKQotewotICAgIHJl
dHVybiBmYWxzZTsKLX0KLQogYm9vbCBJbnB1dFR5cGU6OnJlY2VpdmVEcm9wcGVkRmlsZXMoY29u
c3QgRHJhZ0RhdGEqKQogewogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW5w
dXRUeXBlLmgKaW5kZXggZmU0YTllNGQ5ZjRkYWFmZjQ4MmJiM2MwZWJlZDRmYmQ4NTAyMDJlNS4u
NDM3N2ZiMjczYTc4OTAwNjYwNzczYjcwNzEzZmQyZmMyMTA1Nzg3ZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0lu
cHV0VHlwZS5oCkBAIC0xNTYsNiArMTU2LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCB0
eXBlTWlzbWF0Y2goKSBjb25zdDsKICAgICB2aXJ0dWFsIGJvb2wgc3VwcG9ydHNSZXF1aXJlZCgp
IGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCB2YWx1ZU1pc3NpbmcoY29uc3QgU3RyaW5nJikgY29u
c3Q7CisgICAgdmlydHVhbCBib29sIGhhc0JhZElucHV0KCkgY29uc3Q7CiAgICAgdmlydHVhbCBi
b29sIHBhdHRlcm5NaXNtYXRjaChjb25zdCBTdHJpbmcmKSBjb25zdDsKICAgICBib29sIHJhbmdl
VW5kZXJmbG93KGNvbnN0IFN0cmluZyYpIGNvbnN0OwogICAgIGJvb2wgcmFuZ2VPdmVyZmxvdyhj
b25zdCBTdHJpbmcmKSBjb25zdDsKQEAgLTE3MCw2ICsxNzEsNyBAQCBwdWJsaWM6CiAgICAgdmly
dHVhbCBTdGVwUmFuZ2UgY3JlYXRlU3RlcFJhbmdlKEFueVN0ZXBIYW5kbGluZykgY29uc3Q7CiAg
ICAgdmlydHVhbCB2b2lkIHN0ZXBVcChpbnQsIEV4Y2VwdGlvbkNvZGUmKTsKICAgICB2aXJ0dWFs
IHZvaWQgc3RlcFVwRnJvbVJlbmRlcmVyKGludCk7CisgICAgdmlydHVhbCBTdHJpbmcgYmFkSW5w
dXRUZXh0KCkgY29uc3Q7CiAgICAgdmlydHVhbCBTdHJpbmcgdHlwZU1pc21hdGNoVGV4dCgpIGNv
bnN0OwogICAgIHZpcnR1YWwgU3RyaW5nIHZhbHVlTWlzc2luZ1RleHQoKSBjb25zdDsKICAgICB2
aXJ0dWFsIGJvb2wgY2FuU2V0U3RyaW5nVmFsdWUoKSBjb25zdDsKQEAgLTE3OCw3ICsxODAsNiBA
QCBwdWJsaWM6CiAgICAgLy8gUmV0dXJpbmcgdGhlIG51bGwgc3RyaW5nIG1lYW5zICJ1c2UgdGhl
IGRlZmF1bHQgdmFsdWUuIgogICAgIC8vIFRoaXMgZnVuY3Rpb24gbXVzdCBiZSBjYWxsZWQgb25s
eSBieSBIVE1MSW5wdXRFbGVtZW50OjpzYW5pdGl6ZVZhbHVlKCkuCiAgICAgdmlydHVhbCBTdHJp
bmcgc2FuaXRpemVWYWx1ZShjb25zdCBTdHJpbmcmKSBjb25zdDsKLSAgICB2aXJ0dWFsIGJvb2wg
aGFzVW5hY2NlcHRhYmxlVmFsdWUoKTsKIAogICAgIC8vIEV2ZW50IGhhbmRsZXJzCiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTnVtYmVySW5wdXRUeXBlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvTnVtYmVySW5wdXRUeXBlLmNwcAppbmRleCA3NDk4Y2M5OTEyMzgyMDliMWEz
MDUzNjZkNTFlOWZkN2E3OTNiODc3Li40NDBlZTdiOWJiNWM0MjU1OTI2Nzg0ZTViNjI5YjlhMTU5
OTI4NWQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL051bWJlcklucHV0VHlwZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9OdW1iZXJJbnB1dFR5cGUuY3BwCkBAIC0zOSw2
ICszOSw3IEBACiAjaW5jbHVkZSAiSFRNTFBhcnNlcklkaW9tcy5oIgogI2luY2x1ZGUgIklucHV0
VHlwZU5hbWVzLmgiCiAjaW5jbHVkZSAiS2V5Ym9hcmRFdmVudC5oIgorI2luY2x1ZGUgIkxvY2Fs
aXplZFN0cmluZ3MuaCIKICNpbmNsdWRlICJQbGF0Zm9ybUxvY2FsZS5oIgogI2luY2x1ZGUgIlJl
bmRlclRleHRDb250cm9sLmgiCiAjaW5jbHVkZSA8bGltaXRzPgpAQCAtMjEzLDE2ICsyMTQsNiBA
QCBTdHJpbmcgTnVtYmVySW5wdXRUeXBlOjpzZXJpYWxpemUoY29uc3QgRGVjaW1hbCYgdmFsdWUp
IGNvbnN0CiAgICAgcmV0dXJuIHNlcmlhbGl6ZUZvck51bWJlclR5cGUodmFsdWUpOwogfQogCi12
b2lkIE51bWJlcklucHV0VHlwZTo6aGFuZGxlQmx1ckV2ZW50KCkKLXsKLSAgICAvLyBSZXNldCB0
aGUgcmVuZGVyZXIgdmFsdWUsIHdoaWNoIG1pZ2h0IGJlIHVubWF0Y2hlZCB3aXRoIHRoZSBlbGVt
ZW50IHZhbHVlLgotICAgIGVsZW1lbnQoKS0+c2V0Rm9ybUNvbnRyb2xWYWx1ZU1hdGNoZXNSZW5k
ZXJlcihmYWxzZSk7Ci0KLSAgICAvLyBXZSBuZWVkIHRvIHJlc2V0IHRoZSByZW5kZXJlciB2YWx1
ZSBleHBsaWNpdGx5IGJlY2F1c2UgYW4gdW5hY2NlcHRhYmxlCi0gICAgLy8gcmVuZGVyZXIgdmFs
dWUgc2hvdWxkIGJlIHB1cmdlZCBiZWZvcmUgc3R5bGUgY2FsY3VsYXRpb24uCi0gICAgdXBkYXRl
SW5uZXJUZXh0VmFsdWUoKTsKLX0KLQogc3RhdGljIGJvb2wgaXNFKFVDaGFyIGNoKQogewogICAg
IHJldHVybiBjaCA9PSAnZScgfHwgY2ggPT0gJ0UnOwpAQCAtMjYwLDE0ICsyNTEsMTcgQEAgU3Ry
aW5nIE51bWJlcklucHV0VHlwZTo6c2FuaXRpemVWYWx1ZShjb25zdCBTdHJpbmcmIHByb3Bvc2Vk
VmFsdWUpIGNvbnN0CiAgICAgcmV0dXJuIGlzZmluaXRlKHBhcnNlVG9Eb3VibGVGb3JOdW1iZXJU
eXBlKHByb3Bvc2VkVmFsdWUpKSA/IHByb3Bvc2VkVmFsdWUgOiBlbXB0eVN0cmluZygpOwogfQog
Ci1ib29sIE51bWJlcklucHV0VHlwZTo6aGFzVW5hY2NlcHRhYmxlVmFsdWUoKQorYm9vbCBOdW1i
ZXJJbnB1dFR5cGU6Omhhc0JhZElucHV0KCkgY29uc3QKIHsKLSAgICBpZiAoIWVsZW1lbnQoKS0+
cmVuZGVyZXIoKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIFN0cmluZyBzdGFuZGFyZFZh
bHVlID0gY29udmVydEZyb21WaXNpYmxlVmFsdWUoZWxlbWVudCgpLT5pbm5lclRleHRWYWx1ZSgp
KTsKICAgICByZXR1cm4gIXN0YW5kYXJkVmFsdWUuaXNFbXB0eSgpICYmICFpc2Zpbml0ZShwYXJz
ZVRvRG91YmxlRm9yTnVtYmVyVHlwZShzdGFuZGFyZFZhbHVlKSk7CiB9CiAKK1N0cmluZyBOdW1i
ZXJJbnB1dFR5cGU6OmJhZElucHV0VGV4dCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHZhbGlkYXRp
b25NZXNzYWdlQmFkSW5wdXRGb3JOdW1iZXJUZXh0KCk7Cit9CisKIGJvb2wgTnVtYmVySW5wdXRU
eXBlOjpzaG91bGRSZXNwZWN0U3BlZWNoQXR0cmlidXRlKCkKIHsKICAgICByZXR1cm4gdHJ1ZTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTnVtYmVySW5wdXRUeXBlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL051bWJlcklucHV0VHlwZS5oCmluZGV4IDExY2NhNTU3YmViODIxMDJh
NjQ5OWIxMzQ2OWYxZjMwOTY1MzNmNDAuLmM3N2E5YTc4ZTRkMDQ5MDlmOGRhNjVkMmU5Mjg5ZThi
ODUyZDkxZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTnVtYmVySW5wdXRUeXBl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9OdW1iZXJJbnB1dFR5cGUuaApAQCAtNTMsMTIg
KzUzLDEyIEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIGhhbmRsZUtleWRvd25FdmVudChL
ZXlib2FyZEV2ZW50KikgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBEZWNpbWFsIHBhcnNlVG9OdW1i
ZXIoY29uc3QgU3RyaW5nJiwgY29uc3QgRGVjaW1hbCYpIGNvbnN0IE9WRVJSSURFOwogICAgIHZp
cnR1YWwgU3RyaW5nIHNlcmlhbGl6ZShjb25zdCBEZWNpbWFsJikgY29uc3QgT1ZFUlJJREU7Ci0g
ICAgdmlydHVhbCB2b2lkIGhhbmRsZUJsdXJFdmVudCgpIE9WRVJSSURFOwogICAgIHZpcnR1YWwg
U3RyaW5nIGxvY2FsaXplVmFsdWUoY29uc3QgU3RyaW5nJikgY29uc3QgT1ZFUlJJREU7CiAgICAg
dmlydHVhbCBTdHJpbmcgdmlzaWJsZVZhbHVlKCkgY29uc3QgT1ZFUlJJREU7CiAgICAgdmlydHVh
bCBTdHJpbmcgY29udmVydEZyb21WaXNpYmxlVmFsdWUoY29uc3QgU3RyaW5nJikgY29uc3QgT1ZF
UlJJREU7CiAgICAgdmlydHVhbCBTdHJpbmcgc2FuaXRpemVWYWx1ZShjb25zdCBTdHJpbmcmKSBj
b25zdCBPVkVSUklERTsKLSAgICB2aXJ0dWFsIGJvb2wgaGFzVW5hY2NlcHRhYmxlVmFsdWUoKSBP
VkVSUklERTsKKyAgICB2aXJ0dWFsIGJvb2wgaGFzQmFkSW5wdXQoKSBjb25zdCBPVkVSUklERTsK
KyAgICB2aXJ0dWFsIFN0cmluZyBiYWRJbnB1dFRleHQoKSBjb25zdCBPVkVSUklERTsKICAgICB2
aXJ0dWFsIGJvb2wgc2hvdWxkUmVzcGVjdFNwZWVjaEF0dHJpYnV0ZSgpIE9WRVJSSURFOwogICAg
IHZpcnR1YWwgYm9vbCBzdXBwb3J0c1BsYWNlaG9sZGVyKCkgY29uc3QgT1ZFUlJJREU7CiAgICAg
dmlydHVhbCBib29sIGlzTnVtYmVyRmllbGQoKSBjb25zdCBPVkVSUklERTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvVGV4dEZpZWxkSW5wdXRUeXBlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvVGV4dEZpZWxkSW5wdXRUeXBlLmNwcAppbmRleCBhNWVkY2IwYjMxZWViMmZhOTQw
OWIyNzIxMDMwMTEyNGQzNWNhZGEwLi4zOTJiY2ZhZTMxYjZhNGJjOGFkNTc3NzE5ODVlZmEyMDYz
ODVmZWUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1RleHRGaWVsZElucHV0VHlw
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9UZXh0RmllbGRJbnB1dFR5cGUuY3BwCkBA
IC00NTgsNyArNDU4LDcgQEAgdm9pZCBUZXh0RmllbGRJbnB1dFR5cGU6OnN1YnRyZWVIYXNDaGFu
Z2VkKCkKICAgICAvLyBzYW5pdGl6ZVZhbHVlKCkgaXMgbmVlZGVkIGJlY2F1c2UgSU1FIGlucHV0
IGRvZXNuJ3QgZGlzcGF0Y2ggQmVmb3JlVGV4dEluc2VydGVkRXZlbnQuCiAgICAgZWxlbWVudCgp
LT5zZXRWYWx1ZUZyb21SZW5kZXJlcihzYW5pdGl6ZVZhbHVlKGNvbnZlcnRGcm9tVmlzaWJsZVZh
bHVlKGVsZW1lbnQoKS0+aW5uZXJUZXh0VmFsdWUoKSkpKTsKICAgICBlbGVtZW50KCktPnVwZGF0
ZVBsYWNlaG9sZGVyVmlzaWJpbGl0eShmYWxzZSk7Ci0gICAgLy8gUmVjYWxjIGZvciA6aW52YWxp
ZCBhbmQgaGFzVW5hY2NlcHRhYmxlVmFsdWUoKSBjaGFuZ2UuCisgICAgLy8gUmVjYWxjIGZvciA6
aW52YWxpZCBjaGFuZ2UuCiAgICAgZWxlbWVudCgpLT5zZXROZWVkc1N0eWxlUmVjYWxjKCk7CiAK
ICAgICBkaWRTZXRWYWx1ZUJ5VXNlckVkaXQod2FzQ2hhbmdlZCA/IFZhbHVlQ2hhbmdlU3RhdGVD
aGFuZ2VkIDogVmFsdWVDaGFuZ2VTdGF0ZU5vbmUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9WYWxpZGl0eVN0YXRlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRpdHlT
dGF0ZS5jcHAKaW5kZXggNjQ5NzY1ZGY5MTQ2ODdkNTQ4ZjkwYmY1MzFkNDQ1N2RmNjY0YzZkMi4u
ZjA0ZWE3NmVmMmQxY2Y4NTI4MmM0NzJlNjI5Nzk0OGZkOTdiY2JkYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9WYWxpZGl0eVN0YXRlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL1ZhbGlkaXR5U3RhdGUuY3BwCkBAIC03Niw2ICs3NiwxMSBAQCBib29sIFZhbGlkaXR5U3Rh
dGU6OnN0ZXBNaXNtYXRjaCgpIGNvbnN0CiAgICAgcmV0dXJuIG1fY29udHJvbC0+c3RlcE1pc21h
dGNoKCk7CiB9CiAKK2Jvb2wgVmFsaWRpdHlTdGF0ZTo6YmFkSW5wdXQoKSBjb25zdAoreworICAg
IHJldHVybiBtX2NvbnRyb2wtPmhhc0JhZElucHV0KCk7Cit9CisKIGJvb2wgVmFsaWRpdHlTdGF0
ZTo6Y3VzdG9tRXJyb3IoKSBjb25zdAogewogICAgIHJldHVybiBtX2NvbnRyb2wtPmN1c3RvbUVy
cm9yKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1ZhbGlkaXR5U3RhdGUuaCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRpdHlTdGF0ZS5oCmluZGV4IDI4ZjllYzY0MDU1YzM0
MTdjZjg2NmNjMmQ0YmVkNmQ1MzA3ZGQwZmMuLjQ1MjczOWE3NzM3OGI5Mzg4ZThlNWJmYmJkZjY5
N2YwODZhN2ViNzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRpdHlTdGF0
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRpdHlTdGF0ZS5oCkBAIC01Miw2ICs1
Miw3IEBAIHB1YmxpYzoKICAgICBib29sIHJhbmdlVW5kZXJmbG93KCkgY29uc3Q7CiAgICAgYm9v
bCByYW5nZU92ZXJmbG93KCkgY29uc3Q7CiAgICAgYm9vbCBzdGVwTWlzbWF0Y2goKSBjb25zdDsK
KyAgICBib29sIGJhZElucHV0KCkgY29uc3Q7CiAgICAgYm9vbCBjdXN0b21FcnJvcigpIGNvbnN0
OwogICAgIGJvb2wgdmFsaWQoKSBjb25zdDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9WYWxpZGl0eVN0YXRlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRpdHlTdGF0
ZS5pZGwKaW5kZXggZGFlMzQzYjlhMTQ5NWJmZWUzNjgyYWI4YmJhMDVkZTJiODFjZDlmZS4uMTcw
YzQ1ZTY5ODU5MzljZTYwYThlNjZhZDE3ZTExOGNlOTUzOTMwOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9WYWxpZGl0eVN0YXRlLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L1ZhbGlkaXR5U3RhdGUuaWRsCkBAIC0zMCw2ICszMCw3IEBACiAgICAgcmVhZG9ubHkgYXR0cmli
dXRlIGJvb2xlYW4gICAgICAgICByYW5nZVVuZGVyZmxvdzsKICAgICByZWFkb25seSBhdHRyaWJ1
dGUgYm9vbGVhbiAgICAgICAgIHJhbmdlT3ZlcmZsb3c7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRl
IGJvb2xlYW4gICAgICAgICBzdGVwTWlzbWF0Y2g7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJv
b2xlYW4gICAgICAgICBiYWRJbnB1dDsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiAg
ICAgICAgIGN1c3RvbUVycm9yOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuICAgICAg
ICAgdmFsaWQ7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTG9jYWxp
emVkU3RyaW5ncy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Mb2NhbGl6ZWRTdHJpbmdz
LmNwcAppbmRleCAwMjc3MjIzNWZhODRmNTE5YmQ3MGVkNTk0YTdiMGVhMmIwMWZiODU2Li5kOWE0
MjMyNzFjNjEzZWY4MWQ1MzI3OGM2MGRmMDJiZTE4ODA5MjEyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9Mb2NhbGl6ZWRTdHJpbmdzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9Mb2NhbGl6ZWRTdHJpbmdzLmNwcApAQCAtOTkyLDQgKzk5MiwxMCBAQCBTdHJp
bmcgdmFsaWRhdGlvbk1lc3NhZ2VTdGVwTWlzbWF0Y2hUZXh0KGNvbnN0IFN0cmluZyYsIGNvbnN0
IFN0cmluZyYpCiAgICAgcmV0dXJuIFdFQl9VSV9TVFJJTkcoInN0ZXAgbWlzbWF0Y2giLCAiVmFs
aWRhdGlvbiBtZXNzYWdlIGZvciBpbnB1dCBmb3JtIGNvbnRyb2xzIHdpdGggdmFsdWUgbm90IHJl
c3BlY3RpbmcgdGhlIHN0ZXAgYXR0cmlidXRlIik7CiB9CiAKK1N0cmluZyB2YWxpZGF0aW9uTWVz
c2FnZUJhZElucHV0Rm9yTnVtYmVyVGV4dCgpCit7CisgICAgLy8gRklYTUU6IFByb3ZpZGUgaXRz
IG93biBtZXNzYWdlLgorICAgIHJldHVybiB2YWxpZGF0aW9uTWVzc2FnZVR5cGVNaXNtYXRjaFRl
eHQoKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vTG9jYWxpemVkU3RyaW5ncy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vTG9jYWxpemVkU3RyaW5ncy5oCmluZGV4IDY3MzI3NDhiMTIwODgyNjMzODI4YjVmZDI5ZmVi
NjBlOWZhOWIyZWQuLmJiNDkxNmU2ZDRmNDA5NWY1MzViZTIxZjMyNjk3ZTNlZDMwOGRlZDMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xvY2FsaXplZFN0cmluZ3MuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Mb2NhbGl6ZWRTdHJpbmdzLmgKQEAgLTI1Miw2ICsy
NTIsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIFN0cmluZyB2YWxpZGF0aW9uTWVzc2Fn
ZVJhbmdlVW5kZXJmbG93VGV4dChjb25zdCBTdHJpbmcmIG1pbmltdW0pOwogICAgIFN0cmluZyB2
YWxpZGF0aW9uTWVzc2FnZVJhbmdlT3ZlcmZsb3dUZXh0KGNvbnN0IFN0cmluZyYgbWF4aW11bSk7
CiAgICAgU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlU3RlcE1pc21hdGNoVGV4dChjb25zdCBTdHJp
bmcmIGJhc2UsIGNvbnN0IFN0cmluZyYgc3RlcCk7CisgICAgU3RyaW5nIHZhbGlkYXRpb25NZXNz
YWdlQmFkSW5wdXRGb3JOdW1iZXJUZXh0KCk7CisjaWYgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJ
RUxEU19VSSkKKyAgICBTdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2VCYWRJbnB1dEZvckRhdGVUaW1l
VGV4dCgpOworI2VuZGlmCiAjaWYgVVNFKFNPVVApCiAgICAgU3RyaW5nIHVuYWNjZXB0YWJsZVRM
U0NlcnRpZmljYXRlKCk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL0xvY2FsaXplZFN0cmluZ3MuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
TG9jYWxpemVkU3RyaW5ncy5jcHAKaW5kZXggYTVjMjAyNGZhNTdjOTVkMTUxZDA3OGRmNDUxYmRh
NTlkOGY0MjllYy4uMDdiZjgxNWUzZWY0ZTM1MDliY2E5NTk5NGQzYWQ5NGE2YzcwOTUwMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvTG9jYWxpemVkU3RyaW5ncy5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvTG9jYWxpemVkU3RyaW5ncy5jcHAKQEAg
LTUwNCw0ICs1MDQsMTggQEAgU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlU3RlcE1pc21hdGNoVGV4
dChjb25zdCBTdHJpbmcmIGJhc2UsIGNvbnN0IFN0cmluZyYgc3RlcCkKICAgICByZXR1cm4gcXVl
cnkoV2ViTG9jYWxpemVkU3RyaW5nOjpWYWxpZGF0aW9uU3RlcE1pc21hdGNoLCBiYXNlLCBzdGVw
KTsKIH0KIAorU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlQmFkSW5wdXRGb3JOdW1iZXJUZXh0KCkK
K3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIHJldHVybiBTdHJpbmcoIkJhZCBudW1iZXIi
KTsKK30KKworI2lmIEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCitTdHJpbmcgdmFs
aWRhdGlvbk1lc3NhZ2VCYWRJbnB1dEZvckRhdGVUaW1lVGV4dCgpCit7CisgICAgbm90SW1wbGVt
ZW50ZWQoKTsKKyAgICByZXR1cm4gU3RyaW5nKCJCYWQgZGF0ZSIpOworfQorI2VuZGlmCisKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA3NjQ2YTA3NTdlYTkxNjgzODhkZDhkMzYyZDhm
MWFiMWJiYjNjMTI3Li41ZjkyOGJlZmJkZTg2NjRmMzZjYmRkMWY3NGE5ZDhkODY4NDBiYjAyIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIwMTItMTEtMjUgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hy
b21pdW0ub3JnPgorCisgICAgICAgIEltcGxlbWVudCBWYWxpZGl0eVN0YXRlOjpiYWRJbnB1dAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAyODYxCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2Zv
cm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJh
ZGlucHV0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9kYXRlLW11
bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2RhdGV0aW1lLW11bHRpcGxlLWZpZWxkcy9k
YXRldGltZS1tdWx0aXBsZS1maWVsZHMtdmFsaWRpdHktYmFkaW5wdXQtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2RhdGV0aW1lLW11bHRpcGxlLWZpZWxkcy9kYXRl
dGltZS1tdWx0aXBsZS1maWVsZHMtdmFsaWRpdHktYmFkaW5wdXQuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxv
Y2FsLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGZhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0
ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtdmFsaWRpdHktYmFkaW5wdXQuaHRtbDogQWRkZWQu
CisgICAgICAgICogZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlw
bGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRz
LXZhbGlkaXR5LWJhZGlucHV0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvbnVt
YmVyL251bWJlci11bmFjY2VwdGFibGUtc3R5bGUtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAg
ICAgICAqIGZhc3QvZm9ybXMvbnVtYmVyL251bWJlci12YWxpZGl0eS1iYWRpbnB1dC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvbnVtYmVyL251bWJlci12YWxpZGl0
eS1iYWRpbnB1dC5odG1sOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9udW1i
ZXIvbnVtYmVyLXVuYWNjZXB0YWJsZS1zdHlsZS5odG1sLgorICAgICAgICAqIGZhc3QvZm9ybXMv
cmVzb3VyY2VzL211bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC5qczogQWRkZWQuCisg
ICAgICAgICogZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZp
ZWxkcy12YWxpZGl0eS1iYWRpbnB1dC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZh
c3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtdmFsaWRp
dHktYmFkaW5wdXQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy93ZWVrLW11bHRp
cGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1maWVsZHMv
d2Vlay1tdWx0aXBsZS1maWVsZHMtdmFsaWRpdHktYmFkaW5wdXQuaHRtbDogQWRkZWQuCisKIDIw
MTItMTEtMjUgIEt1bmloaWtvIFNha2Ftb3RvICA8a3Nha2Ftb3RvQGNocm9taXVtLm9yZz4KIAog
ICAgICAgICBbQ2hyb21pdW1dIEFkZCB0ZXN0cyBmb3IgZGF0ZXRpbWUvZGF0ZXRpbWUtbG9jYWwg
c3VnZ2VzdGlvbiBwaWNrZXIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0
ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtdmFsaWRpdHktYmFkaW5wdXQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxk
cy9kYXRlLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMWZlMGE2ZjY0OGQ5MDYyMzIxYjUyMjQ5YjkwYmE2NWU0ZWExYzk5NAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMv
ZGF0ZS1tdWx0aXBsZS1maWVsZHMtdmFsaWRpdHktYmFkaW5wdXQtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMjAgQEAKK0EgZGF0ZSBpbnB1dCBmaWVsZHMgd2l0aCBhIGJhZCB1c2VyIGlucHV0IHNo
b3VsZCBtYWtlIHZhbGlkaXR5LmJhZElucHV0IHRydWUgYW5kIGhhdmUgOmludmFsaWQgc3R5bGUu
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitJbml0aWFsIHN0YXRlLiBUaGUgZWxt
ZW50IGhhcyBubyB2YWx1ZS4KK1BBU1MgY29sb3JPZihpbnB1dCkgaXMgbm90IGludmFsaWRTdHls
ZUNvbG9yCitQQVNTIGlucHV0LnZhbGlkaXR5LmJhZElucHV0IGlzIGZhbHNlCitTZXQgYSB2YWx1
ZSB0byB0aGUgZmlyc3Qgc3ViLWZpZWxkLiBUaGUgZWxlbWVudCBiZWNvbWVzIGJhZElucHV0Lgor
UEFTUyBjb2xvck9mKGlucHV0KSBpcyBpbnZhbGlkU3R5bGVDb2xvcgorUEFTUyBpbnB1dC52YWxp
ZGl0eS5iYWRJbnB1dCBpcyB0cnVlCitTZXQgYW4gaW52YWxpZCBkYXRlLCAyMDEyLTAyLTMxLgor
UEFTUyBpbnB1dC52YWxpZGl0eS5iYWRJbnB1dCBpcyBmYWxzZQorUEFTUyBpbnB1dC52YWx1ZSBp
cyAiIgorUEFTUyBpbnB1dC52YWxpZGl0eS5iYWRJbnB1dCBpcyB0cnVlCitQQVNTIGNvbG9yT2Yo
aW5wdXQpIGlzIGludmFsaWRTdHlsZUNvbG9yCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRp
bnB1dC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9k
YXRlLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMx
YTc4OWVlZmY0YmNlNDA4OTI5NjI3NTJiNGExOGQwZjM5Y2NiNTAKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlw
bGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0Lmh0bWwKQEAgLTAsMCArMSwxNCBAQAorPCFET0NU
WVBFIGh0bWw+Cis8c3R5bGU+Cis6aW52YWxpZCB7CisgICAgYmFja2dyb3VuZC1jb2xvcjogI2Zm
MDAwMDsKK30KKzwvc3R5bGU+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9t
dWx0aXBsZS1maWVsZHMtdmFsaWRpdHktYmFkaW5wdXQuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4K
K3Rlc3RCYWRJbnB1dCgnZGF0ZScpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMv
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lLW11bHRpcGxlLWZpZWxkcy9kYXRldGlt
ZS1tdWx0aXBsZS1maWVsZHMtdmFsaWRpdHktYmFkaW5wdXQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGltZS1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWUtbXVsdGlw
bGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zYTRl
ZTQ1OGU1YjIyMTMyMTI1NmQ2ZDM3ODgyMzE5YTgzZWQyNmJlCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGltZS1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWUt
bXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDIwIEBACitBIGRhdGV0aW1lIGlucHV0IGZpZWxkcyB3aXRoIGEgYmFkIHVzZXIgaW5wdXQgc2hv
dWxkIG1ha2UgdmFsaWRpdHkuYmFkSW5wdXQgdHJ1ZSBhbmQgaGF2ZSA6aW52YWxpZCBzdHlsZS4K
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK0luaXRpYWwgc3RhdGUuIFRoZSBlbG1l
bnQgaGFzIG5vIHZhbHVlLgorUEFTUyBjb2xvck9mKGlucHV0KSBpcyBub3QgaW52YWxpZFN0eWxl
Q29sb3IKK1BBU1MgaW5wdXQudmFsaWRpdHkuYmFkSW5wdXQgaXMgZmFsc2UKK1NldCBhIHZhbHVl
IHRvIHRoZSBmaXJzdCBzdWItZmllbGQuIFRoZSBlbGVtZW50IGJlY29tZXMgYmFkSW5wdXQuCitQ
QVNTIGNvbG9yT2YoaW5wdXQpIGlzIGludmFsaWRTdHlsZUNvbG9yCitQQVNTIGlucHV0LnZhbGlk
aXR5LmJhZElucHV0IGlzIHRydWUKK1NldCBhbiBpbnZhbGlkIGRhdGUsIDIwMTItMDItMzEuCitQ
QVNTIGlucHV0LnZhbGlkaXR5LmJhZElucHV0IGlzIGZhbHNlCitQQVNTIGlucHV0LnZhbHVlIGlz
ICIiCitQQVNTIGlucHV0LnZhbGlkaXR5LmJhZElucHV0IGlzIHRydWUKK1BBU1MgY29sb3JPZihp
bnB1dCkgaXMgaW52YWxpZFN0eWxlQ29sb3IKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L2RhdGV0aW1lLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZS1tdWx0aXBsZS1maWVsZHMtdmFsaWRp
dHktYmFkaW5wdXQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWUtbXVsdGlw
bGUtZmllbGRzL2RhdGV0aW1lLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjg4MmEwZjEzNzFlODg2YTI4Nzk0ODc2ZWFiZjYwMWE0ODEzZjVlNjEKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lLW11bHRpcGxl
LWZpZWxkcy9kYXRldGltZS1tdWx0aXBsZS1maWVsZHMtdmFsaWRpdHktYmFkaW5wdXQuaHRtbApA
QCAtMCwwICsxLDE0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxzdHlsZT4KKzppbnZhbGlkIHsKKyAg
ICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwMDAwOworfQorPC9zdHlsZT4KKzxib2R5PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vcmVzb3VyY2VzL211bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgordGVzdEJhZElucHV0KCdkYXRldGltZScpOworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0
aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLXZh
bGlkaXR5LWJhZGlucHV0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0
ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMt
dmFsaWRpdHktYmFkaW5wdXQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE2NWZhNDg4MzQyODk0
NGIwYTVjYTEwMDQzZDI1MTdkNGVmZmMwYTUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwt
bXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDIwIEBACitBIGRhdGV0aW1lLWxvY2FsIGlucHV0IGZpZWxkcyB3aXRoIGEgYmFkIHVzZXIgaW5w
dXQgc2hvdWxkIG1ha2UgdmFsaWRpdHkuYmFkSW5wdXQgdHJ1ZSBhbmQgaGF2ZSA6aW52YWxpZCBz
dHlsZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK0luaXRpYWwgc3RhdGUuIFRo
ZSBlbG1lbnQgaGFzIG5vIHZhbHVlLgorUEFTUyBjb2xvck9mKGlucHV0KSBpcyBub3QgaW52YWxp
ZFN0eWxlQ29sb3IKK1BBU1MgaW5wdXQudmFsaWRpdHkuYmFkSW5wdXQgaXMgZmFsc2UKK1NldCBh
IHZhbHVlIHRvIHRoZSBmaXJzdCBzdWItZmllbGQuIFRoZSBlbGVtZW50IGJlY29tZXMgYmFkSW5w
dXQuCitQQVNTIGNvbG9yT2YoaW5wdXQpIGlzIGludmFsaWRTdHlsZUNvbG9yCitQQVNTIGlucHV0
LnZhbGlkaXR5LmJhZElucHV0IGlzIHRydWUKK1NldCBhbiBpbnZhbGlkIGRhdGUsIDIwMTItMDIt
MzEuCitQQVNTIGlucHV0LnZhbGlkaXR5LmJhZElucHV0IGlzIGZhbHNlCitQQVNTIGlucHV0LnZh
bHVlIGlzICIiCitQQVNTIGlucHV0LnZhbGlkaXR5LmJhZElucHV0IGlzIHRydWUKK1BBU1MgY29s
b3JPZihpbnB1dCkgaXMgaW52YWxpZFN0eWxlQ29sb3IKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlw
bGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmll
bGRzLXZhbGlkaXR5LWJhZGlucHV0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2U0MWZkMzhiZTc0NjcyNjRl
M2NhYzJjYWNjNDE2NjkzNTUyMGE1NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0
aXBsZS1maWVsZHMtdmFsaWRpdHktYmFkaW5wdXQuaHRtbApAQCAtMCwwICsxLDE0IEBACis8IURP
Q1RZUEUgaHRtbD4KKzxzdHlsZT4KKzppbnZhbGlkIHsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiAj
ZmYwMDAwOworfQorPC9zdHlsZT4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2Vz
L211bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
PgordGVzdEJhZElucHV0KCdkYXRldGltZS1sb2NhbCcpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxk
cy9tb250aC1tdWx0aXBsZS1maWVsZHMtdmFsaWRpdHktYmFkaW5wdXQtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlw
bGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wODBi
NTM5NTNmYTVhOGJkOTU1MWZmYTA1ZjU5OThiZDlkMDYyMmUyCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlw
bGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE1IEBA
CitBIG1vbnRoIGlucHV0IGZpZWxkcyB3aXRoIGEgYmFkIHVzZXIgaW5wdXQgc2hvdWxkIG1ha2Ug
dmFsaWRpdHkuYmFkSW5wdXQgdHJ1ZSBhbmQgaGF2ZSA6aW52YWxpZCBzdHlsZS4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCisKK0luaXRpYWwgc3RhdGUuIFRoZSBlbG1lbnQgaGFzIG5v
IHZhbHVlLgorUEFTUyBjb2xvck9mKGlucHV0KSBpcyBub3QgaW52YWxpZFN0eWxlQ29sb3IKK1BB
U1MgaW5wdXQudmFsaWRpdHkuYmFkSW5wdXQgaXMgZmFsc2UKK1NldCBhIHZhbHVlIHRvIHRoZSBm
aXJzdCBzdWItZmllbGQuIFRoZSBlbGVtZW50IGJlY29tZXMgYmFkSW5wdXQuCitQQVNTIGNvbG9y
T2YoaW5wdXQpIGlzIGludmFsaWRTdHlsZUNvbG9yCitQQVNTIGlucHV0LnZhbGlkaXR5LmJhZElu
cHV0IGlzIHRydWUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxl
LWZpZWxkcy9tb250aC1tdWx0aXBsZS1maWVsZHMtdmFsaWRpdHktYmFkaW5wdXQuaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxl
LWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM1NmVlYTUyODE5NzIx
OTUzYWM2MDg1ZDJkOWVlYTEzZDYyODFiMDYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0aXBsZS1maWVsZHMt
dmFsaWRpdHktYmFkaW5wdXQuaHRtbApAQCAtMCwwICsxLDE0IEBACis8IURPQ1RZUEUgaHRtbD4K
KzxzdHlsZT4KKzppbnZhbGlkIHsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwMDAwOworfQor
PC9zdHlsZT4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL211bHRpcGxlLWZp
ZWxkcy12YWxpZGl0eS1iYWRpbnB1dC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgordGVzdEJhZElu
cHV0KCdtb250aCcpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL251bWJlci9udW1iZXItdW5hY2NlcHRhYmxlLXN0eWxlLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbnVtYmVyL251bWJlci11bmFjY2VwdGFibGUt
c3R5bGUtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiN2M3ZGIy
OTdiZjRjYzRjNzI0ZjE2YTFlYjdjOGQ0MDY4MjAxMDMwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbnVtYmVyL251
bWJlci11bmFjY2VwdGFibGUtc3R5bGUtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEs
MjUgKzAsMCBAQAotQSBudW1iZXIgaW5wdXQgZmllbGRzIHdpdGggYW4gdW5hY2NlcHRhYmxlIHN0
cmluZyBzaG91bGQgaGF2ZSA6aW52YWxpZCBzdHlsZS4KLQotT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgotCi0KLUluaXRpYWwgc3RhdGUuIFRoZSBlbG1lbnQgaGFzIG5vIHZhbHVlLgotUEFTUyBj
b2xvck9mKG51bWJlcikgIT0gaW52YWxpZFN0eWxlQ29sb3IgaXMgdHJ1ZQotVHlwZSAnLScuIFRo
ZSByZW5kZXJlciB2YWx1ZSBiZWNvbWVzIHVuYWNjZXB0YWJsZS4KLVBBU1MgY29sb3JPZihudW1i
ZXIpIGlzIGludmFsaWRTdHlsZUNvbG9yCi1QQVNTIG51bWJlci52YWxpZGl0eS52YWxpZCBpcyB0
cnVlCi1QQVNTIG51bWJlci52YWx1ZSBpcyAiIgotVHlwZSAnMScgYWRkaXRpb25hbGx5LiBUaGUg
cmVuZGVyZXIgdmFsdWUgYmVjb21lcyBhY2NlcHRhYmxlLgotUEFTUyBjb2xvck9mKG51bWJlcikg
IT0gaW52YWxpZFN0eWxlQ29sb3IgaXMgdHJ1ZQotUEFTUyBudW1iZXIudmFsdWUgaXMgIi0xIgot
VHlwZSAnYScgYWRkaXRpb25hbGx5LiBUaGUgcmVuZGVyZXIgdmFsdWUgYmVjb21lcyB1bmFjY2Vw
dGFibGUgYWdhaW4uCi1QQVNTIGNvbG9yT2YobnVtYmVyKSBpcyBpbnZhbGlkU3R5bGVDb2xvcgot
UEFTUyBudW1iZXIudmFsdWUgaXMgIiIKLVRoZSBlbGVtZW50IGxvc3RzIGZvY3VzLiBUaGUgdW5h
Y2NlcHRhYmxlIHZhbHVlIHNob3VsZCBiZSBwdXJnZWQgYW5kIHRoZSBzdHlsZSBzaG91bGQgYmUg
bm9ybWFsLgotUEFTUyBjb2xvck9mKG51bWJlcikgIT0gaW52YWxpZFN0eWxlQ29sb3IgaXMgdHJ1
ZQotUEFTUyBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKS50b1N0cmluZygpIGlzICIiCi1QQVNTIG51
bWJlci52YWx1ZSBpcyAiIgotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNU
IENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbnVtYmVyL251
bWJlci11bmFjY2VwdGFibGUtc3R5bGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbnVt
YmVyL251bWJlci11bmFjY2VwdGFibGUtc3R5bGUuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggM2I5MzcyMTllYTM1NDVmYjQ2N2JhNGZjNmFjMDMxZDFjMmNiY2JhYS4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL251bWJlci9udW1iZXItdW5hY2NlcHRhYmxlLXN0eWxlLmh0bWwKKysrIC9kZXYvbnVs
bApAQCAtMSw2MCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2Ny
aXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgotPHN0eWxlPgotOmludmFsaWQgewotICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwMDAwOwot
fQotPC9zdHlsZT4KLTwvaGVhZD4KLTxib2R5PgotPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Ci08
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxkaXYgaWQ9cGFyZW50PgotPGlucHV0IHR5cGU9bnVt
YmVyIGlkPW51bWJlcj4KLTxpbnB1dCBpZD1hbm90aGVyPgotPC9kaXY+Ci08c2NyaXB0PgotZGVz
Y3JpcHRpb24oJ0EgbnVtYmVyIGlucHV0IGZpZWxkcyB3aXRoIGFuIHVuYWNjZXB0YWJsZSBzdHJp
bmcgc2hvdWxkIGhhdmUgOmludmFsaWQgc3R5bGUuJyk7Ci0KLWZ1bmN0aW9uIGNvbG9yT2YoZWwp
IHsKLSAgICByZXR1cm4gZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZShlbCwg
bnVsbCkuZ2V0UHJvcGVydHlWYWx1ZSgnYmFja2dyb3VuZC1jb2xvcicpOwotfQotdmFyIGludmFs
aWRTdHlsZUNvbG9yID0gJ3JnYigyNTUsIDAsIDApJzsKLQotdmFyIG51bWJlciA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCdudW1iZXInKTsKLW51bWJlci5mb2N1cygpOwotZGVidWcoJ0luaXRp
YWwgc3RhdGUuIFRoZSBlbG1lbnQgaGFzIG5vIHZhbHVlLicpOwotc2hvdWxkQmVUcnVlKCdjb2xv
ck9mKG51bWJlcikgIT0gaW52YWxpZFN0eWxlQ29sb3InKTsKLQotZGVidWcoIlR5cGUgJy0nLiBU
aGUgcmVuZGVyZXIgdmFsdWUgYmVjb21lcyB1bmFjY2VwdGFibGUuIik7Ci1kb2N1bWVudC5leGVj
Q29tbWFuZCgnSW5zZXJ0VGV4dCcsIGZhbHNlLCAnLScpOwotc2hvdWxkQmUoJ2NvbG9yT2YobnVt
YmVyKScsICdpbnZhbGlkU3R5bGVDb2xvcicpOwotc2hvdWxkQmVUcnVlKCdudW1iZXIudmFsaWRp
dHkudmFsaWQnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnbnVtYmVyLnZhbHVlJywgJycpOwot
Ci1kZWJ1ZygiVHlwZSAnMScgYWRkaXRpb25hbGx5LiBUaGUgcmVuZGVyZXIgdmFsdWUgYmVjb21l
cyBhY2NlcHRhYmxlLiIpOwotZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ0luc2VydFRleHQnLCBmYWxz
ZSwgJzEnKTsKLXNob3VsZEJlVHJ1ZSgnY29sb3JPZihudW1iZXIpICE9IGludmFsaWRTdHlsZUNv
bG9yJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ251bWJlci52YWx1ZScsICctMScpOwotCi1k
ZWJ1ZygiVHlwZSAnYScgYWRkaXRpb25hbGx5LiBUaGUgcmVuZGVyZXIgdmFsdWUgYmVjb21lcyB1
bmFjY2VwdGFibGUgYWdhaW4uIik7Ci1kb2N1bWVudC5leGVjQ29tbWFuZCgnSW5zZXJ0VGV4dCcs
IGZhbHNlLCAnYScpOwotc2hvdWxkQmUoJ2NvbG9yT2YobnVtYmVyKScsICdpbnZhbGlkU3R5bGVD
b2xvcicpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdudW1iZXIudmFsdWUnLCAnJyk7Ci0KLWRl
YnVnKCJUaGUgZWxlbWVudCBsb3N0cyBmb2N1cy4gVGhlIHVuYWNjZXB0YWJsZSB2YWx1ZSBzaG91
bGQgYmUgcHVyZ2VkIGFuZCB0aGUgc3R5bGUgc2hvdWxkIGJlIG5vcm1hbC4iKTsKLWRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCdhbm90aGVyJykuZm9jdXMoKTsKLXNob3VsZEJlVHJ1ZSgnY29sb3JP
ZihudW1iZXIpICE9IGludmFsaWRTdHlsZUNvbG9yJyk7Ci0vLyBWaXNpYmx1ZSB2YWx1ZSBpcyBu
b3QgJy0xYScuCi1udW1iZXIuZm9jdXMoKTsKLWRvY3VtZW50LmV4ZWNDb21tYW5kKCdTZWxlY3RB
bGwnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCkudG9T
dHJpbmcoKScsICcnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnbnVtYmVyLnZhbHVlJywgJycp
OwotCi1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncGFyZW50JykuaW5uZXJIVE1MID0gJyc7Ci08
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9udW1iZXIvbnVtYmVyLXZhbGlkaXR5LWJhZGlucHV0LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbnVtYmVyL251bWJlci12YWxpZGl0eS1iYWRp
bnB1dC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjhjNzYzMWU0OTAwNjYzYzc0OWNmZmMxZWI0
NDUxYjQ5MjFiODU5ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
bnVtYmVyL251bWJlci12YWxpZGl0eS1iYWRpbnB1dC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
MiBAQAorQSBudW1iZXIgaW5wdXQgZmllbGRzIHdpdGggYSBiYWQgaW5wdXQgc3RyaW5nIHNob3Vs
ZCBtYWtlIHZhbGlkaXR5LmJhZElucHV0IHRydWUgYW5kIGhhdmUgOmludmFsaWQgc3R5bGUuCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitJbml0aWFsIHN0YXRlLiBUaGUgZWxtZW50
IGhhcyBubyB2YWx1ZS4KK1BBU1MgY29sb3JPZihudW1iZXIpICE9IGludmFsaWRTdHlsZUNvbG9y
IGlzIHRydWUKK1BBU1MgbnVtYmVyLnZhbGlkaXR5LmJhZElucHV0IGlzIGZhbHNlCitUeXBlICct
Jy4gVGhlIGVsZW1lbnQgYmVjb21lcyBiYWRJbnB1dC4KK1BBU1MgY29sb3JPZihudW1iZXIpIGlz
IGludmFsaWRTdHlsZUNvbG9yCitQQVNTIG51bWJlci52YWxpZGl0eS52YWxpZCBpcyBmYWxzZQor
UEFTUyBudW1iZXIudmFsaWRpdHkuYmFkSW5wdXQgaXMgdHJ1ZQorUEFTUyBudW1iZXIudmFsdWUg
aXMgIiIKK1R5cGUgJzEnIGFkZGl0aW9uYWxseS4gVGhlIGVsZW1lbnQgYmVjb21lcyB2YWxpZC4K
K1BBU1MgY29sb3JPZihudW1iZXIpICE9IGludmFsaWRTdHlsZUNvbG9yIGlzIHRydWUKK1BBU1Mg
bnVtYmVyLnZhbGlkaXR5LmJhZElucHV0IGlzIGZhbHNlCitQQVNTIG51bWJlci52YWx1ZSBpcyAi
LTEiCitUeXBlICdhJyBhZGRpdGlvbmFsbHkuIFRoZSBlbGVtZW50IGJlY29tZXMgYmFkSW5wdXQg
YWdhaW4uCitQQVNTIGNvbG9yT2YobnVtYmVyKSBpcyBpbnZhbGlkU3R5bGVDb2xvcgorUEFTUyBu
dW1iZXIudmFsaWRpdHkuYmFkSW5wdXQgaXMgdHJ1ZQorUEFTUyBudW1iZXIudmFsdWUgaXMgIiIK
K1RoZSBlbGVtZW50IGxvc3RzIGZvY3VzLiBUaGUgZWxlbWVudCBzdGF0ZSBzaG91bGQgbm90IGJl
IGNoYW5nZWQuCitQQVNTIGNvbG9yT2YobnVtYmVyKSBpcyBpbnZhbGlkU3R5bGVDb2xvcgorUEFT
UyBudW1iZXIudmFsaWRpdHkuYmFkSW5wdXQgaXMgdHJ1ZQorUEFTUyBkb2N1bWVudC5nZXRTZWxl
Y3Rpb24oKS50b1N0cmluZygpIGlzICItMWEiCitQQVNTIG51bWJlci52YWx1ZSBpcyAiIgorVGhl
IGVsZW1lbnQgbG9zdHMgYSByZW5kZXJlci4gVGhlIGVsZW1lbnQgc3RhdGUgc2hvdWxkIG5vdCBi
ZSBjaGFuZ2VkLgorUEFTUyBudW1iZXIuc3R5bGUuZGlzcGxheSA9ICJub25lIjsgbnVtYmVyLnZh
bGlkaXR5LmJhZElucHV0IGlzIHRydWUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL251
bWJlci9udW1iZXItdmFsaWRpdHktYmFkaW5wdXQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvbnVtYmVyL251bWJlci12YWxpZGl0eS1iYWRpbnB1dC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA2YzZj
MGE0ZDVjYjkyODA5MDY0ZjcwZjQ2YTc1ZTk5MzQ1MDk3ZGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL251bWJlci9udW1iZXItdmFsaWRpdHktYmFkaW5wdXQuaHRt
bApAQCAtMCwwICsxLDY4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorOmludmFsaWQgeworICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwMDAwOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxkaXYgaWQ9cGFyZW50PgorPGlucHV0IHR5cGU9bnVt
YmVyIGlkPW51bWJlcj4KKzxpbnB1dCBpZD1hbm90aGVyPgorPC9kaXY+Cis8c2NyaXB0PgorZGVz
Y3JpcHRpb24oJ0EgbnVtYmVyIGlucHV0IGZpZWxkcyB3aXRoIGEgYmFkIGlucHV0IHN0cmluZyBz
aG91bGQgbWFrZSB2YWxpZGl0eS5iYWRJbnB1dCB0cnVlIGFuZCBoYXZlIDppbnZhbGlkIHN0eWxl
LicpOworCitmdW5jdGlvbiBjb2xvck9mKGVsKSB7CisgICAgcmV0dXJuIGRvY3VtZW50LmRlZmF1
bHRWaWV3LmdldENvbXB1dGVkU3R5bGUoZWwsIG51bGwpLmdldFByb3BlcnR5VmFsdWUoJ2JhY2tn
cm91bmQtY29sb3InKTsKK30KK3ZhciBpbnZhbGlkU3R5bGVDb2xvciA9ICdyZ2IoMjU1LCAwLCAw
KSc7CisKK3ZhciBudW1iZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbnVtYmVyJyk7Citu
dW1iZXIuZm9jdXMoKTsKK2RlYnVnKCdJbml0aWFsIHN0YXRlLiBUaGUgZWxtZW50IGhhcyBubyB2
YWx1ZS4nKTsKK3Nob3VsZEJlVHJ1ZSgnY29sb3JPZihudW1iZXIpICE9IGludmFsaWRTdHlsZUNv
bG9yJyk7CitzaG91bGRCZUZhbHNlKCdudW1iZXIudmFsaWRpdHkuYmFkSW5wdXQnKTsKKworZGVi
dWcoIlR5cGUgJy0nLiBUaGUgZWxlbWVudCBiZWNvbWVzIGJhZElucHV0LiIpOworZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoJ0luc2VydFRleHQnLCBmYWxzZSwgJy0nKTsKK3Nob3VsZEJlKCdjb2xvck9m
KG51bWJlciknLCAnaW52YWxpZFN0eWxlQ29sb3InKTsKK3Nob3VsZEJlRmFsc2UoJ251bWJlci52
YWxpZGl0eS52YWxpZCcpOworc2hvdWxkQmVUcnVlKCdudW1iZXIudmFsaWRpdHkuYmFkSW5wdXQn
KTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnbnVtYmVyLnZhbHVlJywgJycpOworCitkZWJ1Zygi
VHlwZSAnMScgYWRkaXRpb25hbGx5LiBUaGUgZWxlbWVudCBiZWNvbWVzIHZhbGlkLiIpOworZG9j
dW1lbnQuZXhlY0NvbW1hbmQoJ0luc2VydFRleHQnLCBmYWxzZSwgJzEnKTsKK3Nob3VsZEJlVHJ1
ZSgnY29sb3JPZihudW1iZXIpICE9IGludmFsaWRTdHlsZUNvbG9yJyk7CitzaG91bGRCZUZhbHNl
KCdudW1iZXIudmFsaWRpdHkuYmFkSW5wdXQnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnbnVt
YmVyLnZhbHVlJywgJy0xJyk7CisKK2RlYnVnKCJUeXBlICdhJyBhZGRpdGlvbmFsbHkuIFRoZSBl
bGVtZW50IGJlY29tZXMgYmFkSW5wdXQgYWdhaW4uIik7Citkb2N1bWVudC5leGVjQ29tbWFuZCgn
SW5zZXJ0VGV4dCcsIGZhbHNlLCAnYScpOworc2hvdWxkQmUoJ2NvbG9yT2YobnVtYmVyKScsICdp
bnZhbGlkU3R5bGVDb2xvcicpOworc2hvdWxkQmVUcnVlKCdudW1iZXIudmFsaWRpdHkuYmFkSW5w
dXQnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnbnVtYmVyLnZhbHVlJywgJycpOworCitkZWJ1
ZygiVGhlIGVsZW1lbnQgbG9zdHMgZm9jdXMuIFRoZSBlbGVtZW50IHN0YXRlIHNob3VsZCBub3Qg
YmUgY2hhbmdlZC4iKTsKK2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhbm90aGVyJykuZm9jdXMo
KTsKK3Nob3VsZEJlKCdjb2xvck9mKG51bWJlciknLCAnaW52YWxpZFN0eWxlQ29sb3InKTsKK3No
b3VsZEJlVHJ1ZSgnbnVtYmVyLnZhbGlkaXR5LmJhZElucHV0Jyk7CisvLyBWaXNpYmxlIHZhbHVl
IGlzICctMWEnLgorbnVtYmVyLmZvY3VzKCk7Citkb2N1bWVudC5leGVjQ29tbWFuZCgnU2VsZWN0
QWxsJyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2RvY3VtZW50LmdldFNlbGVjdGlvbigpLnRv
U3RyaW5nKCknLCAnLTFhJyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ251bWJlci52YWx1ZScs
ICcnKTsKKworZGVidWcoIlRoZSBlbGVtZW50IGxvc3RzIGEgcmVuZGVyZXIuIFRoZSBlbGVtZW50
IHN0YXRlIHNob3VsZCBub3QgYmUgY2hhbmdlZC4iKTsKK3Nob3VsZEJlVHJ1ZSgnbnVtYmVyLnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7IG51bWJlci52YWxpZGl0eS5iYWRJbnB1dCcpOworCitkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgncGFyZW50JykuaW5uZXJIVE1MID0gJyc7Cis8L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy9yZXNvdXJjZXMvbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0LmpzIGIv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9yZXNvdXJjZXMvbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5
LWJhZGlucHV0LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA4MWVkNTlmZmFiYjkwYmRjMzg4MzEzNTc0ZTJmMWQ1
M2RkNGYyYzEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3Jlc291
cmNlcy9tdWx0aXBsZS1maWVsZHMtdmFsaWRpdHktYmFkaW5wdXQuanMKQEAgLTAsMCArMSw0NCBA
QAordmFyIGludmFsaWRTdHlsZUNvbG9yID0gJ3JnYigyNTUsIDAsIDApJzsKK3ZhciBpbnB1dDsK
K3ZhciBxdWlldCA9IHRydWU7CisKK2Z1bmN0aW9uIGNvbG9yT2YoZWwpIHsKKyAgICByZXR1cm4g
ZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZShlbCwgbnVsbCkuZ2V0UHJvcGVy
dHlWYWx1ZSgnYmFja2dyb3VuZC1jb2xvcicpOworfQorZnVuY3Rpb24gdGVzdEJhZElucHV0KHR5
cGUpIHsKKyAgICBpZiAoIXdpbmRvdy5ldmVudFNlbmRlcikgeworICAgICAgICBkZWJ1ZygnTmVl
ZHMgdG8gcnVuIHRoaXMgb24gRFJUL1dUUi4nKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAg
ICBkZXNjcmlwdGlvbignQSAnICsgdHlwZSArICcgaW5wdXQgZmllbGRzIHdpdGggYSBiYWQgdXNl
ciBpbnB1dCBzaG91bGQgbWFrZSB2YWxpZGl0eS5iYWRJbnB1dCB0cnVlIGFuZCBoYXZlIDppbnZh
bGlkIHN0eWxlLicpOworICAgIGlucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQn
KTsKKyAgICBpbnB1dC50eXBlID0gdHlwZTsKKyAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KGlucHV0KTsKKyAgICBpbnB1dC5mb2N1cygpOworCisgICAgZGVidWcoJ0luaXRpYWwgc3RhdGUu
IFRoZSBlbG1lbnQgaGFzIG5vIHZhbHVlLicpOworICAgIHNob3VsZE5vdEJlKCdjb2xvck9mKGlu
cHV0KScsICdpbnZhbGlkU3R5bGVDb2xvcicpOworICAgIHNob3VsZEJlRmFsc2UoJ2lucHV0LnZh
bGlkaXR5LmJhZElucHV0Jyk7CisKKyAgICBkZWJ1ZygnU2V0IGEgdmFsdWUgdG8gdGhlIGZpcnN0
IHN1Yi1maWVsZC4gVGhlIGVsZW1lbnQgYmVjb21lcyBiYWRJbnB1dC4nKTsKKyAgICBldmVudFNl
bmRlci5rZXlEb3duKCd1cEFycm93Jyk7CisgICAgc2hvdWxkQmUoJ2NvbG9yT2YoaW5wdXQpJywg
J2ludmFsaWRTdHlsZUNvbG9yJyk7CisgICAgc2hvdWxkQmVUcnVlKCdpbnB1dC52YWxpZGl0eS5i
YWRJbnB1dCcpOworCisgICAgaWYgKHR5cGUgPT0gJ2RhdGUnIHx8IHR5cGU9PSAnZGF0ZXRpbWUn
IHx8IHR5cGUgPT0gJ2RhdGV0aW1lLWxvY2FsJykgeworICAgICAgICBkZWJ1ZygnU2V0IGFuIGlu
dmFsaWQgZGF0ZSwgMjAxMi0wMi0zMS4nKTsKKyAgICAgICAgaWYgKHR5cGUgPT0gJ2RhdGUnKQor
ICAgICAgICAgICAgaW5wdXQudmFsdWUgPSAnMjAxMi0wMi0wMSc7CisgICAgICAgIGVsc2UgaWYg
KHR5cGUgPT0gJ2RhdGV0aW1lJykKKyAgICAgICAgICAgIGlucHV0LnZhbHVlID0gJzIwMTItMDIt
MDFUMDM6MDRaJzsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgaW5wdXQudmFsdWUgPSAnMjAx
Mi0wMi0wMVQwMzowNCc7CisgICAgICAgIHNob3VsZE5vdEJlKCdjb2xvck9mKGlucHV0KScsICdp
bnZhbGlkU3R5bGVDb2xvcicsIHF1aWV0KTsKKyAgICAgICAgc2hvdWxkQmVGYWxzZSgnaW5wdXQu
dmFsaWRpdHkuYmFkSW5wdXQnLCBxdWlldCk7CisgICAgICAgIGV2ZW50U2VuZGVyLmtleURvd24o
J3JpZ2h0QXJyb3cnKTsgLy8gLT4gMDIvWzAxXS8yMDEyIC4uLgorICAgICAgICBldmVudFNlbmRl
ci5rZXlEb3duKCdkb3duQXJyb3cnKTsgLy8gIC0+IDAyL1szMV0vMjAxMiAuLi4KKyAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcnKTsKKyAgICAgICAgc2hvdWxk
QmVUcnVlKCdpbnB1dC52YWxpZGl0eS5iYWRJbnB1dCcpOworICAgICAgICBzaG91bGRCZSgnY29s
b3JPZihpbnB1dCknLCAnaW52YWxpZFN0eWxlQ29sb3InKTsKKyAgICB9Cit9CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlw
bGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtdmFsaWRp
dHktYmFkaW5wdXQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ4MGY1NjFmMjI2YzU5YTQ0MTdj
YmJlM2U2NjkxN2U5ODNkMDQ3ZTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5
LWJhZGlucHV0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE1IEBACitBIHRpbWUgaW5wdXQgZmll
bGRzIHdpdGggYSBiYWQgdXNlciBpbnB1dCBzaG91bGQgbWFrZSB2YWxpZGl0eS5iYWRJbnB1dCB0
cnVlIGFuZCBoYXZlIDppbnZhbGlkIHN0eWxlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKKworSW5pdGlhbCBzdGF0ZS4gVGhlIGVsbWVudCBoYXMgbm8gdmFsdWUuCitQQVNTIGNvbG9y
T2YoaW5wdXQpIGlzIG5vdCBpbnZhbGlkU3R5bGVDb2xvcgorUEFTUyBpbnB1dC52YWxpZGl0eS5i
YWRJbnB1dCBpcyBmYWxzZQorU2V0IGEgdmFsdWUgdG8gdGhlIGZpcnN0IHN1Yi1maWVsZC4gVGhl
IGVsZW1lbnQgYmVjb21lcyBiYWRJbnB1dC4KK1BBU1MgY29sb3JPZihpbnB1dCkgaXMgaW52YWxp
ZFN0eWxlQ29sb3IKK1BBU1MgaW5wdXQudmFsaWRpdHkuYmFkSW5wdXQgaXMgdHJ1ZQorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBs
ZS1maWVsZHMtdmFsaWRpdHktYmFkaW5wdXQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
dGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtdmFsaWRpdHktYmFkaW5w
dXQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjgwZjBlODEzN2JiNzRkNjBlMjAzMjZjZTIyYjEwYzk0NmFi
MjQyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRp
cGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC5odG1sCkBA
IC0wLDAgKzEsMTQgQEAKKzwhRE9DVFlQRSBodG1sPgorPHN0eWxlPgorOmludmFsaWQgeworICAg
IGJhY2tncm91bmQtY29sb3I6ICNmZjAwMDA7Cit9Cis8L3N0eWxlPgorPGJvZHk+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi9yZXNvdXJjZXMvbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0Lmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQ+Cit0ZXN0QmFkSW5wdXQoJ3RpbWUnKTsKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVrLW11bHRp
cGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWst
bXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yZDYxODIxZjIxYjY5MzhlMzM5YWRjZWYzMDljMzg1OGI1ODRmMTMyCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVrLW11
bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
NSBAQAorQSB3ZWVrIGlucHV0IGZpZWxkcyB3aXRoIGEgYmFkIHVzZXIgaW5wdXQgc2hvdWxkIG1h
a2UgdmFsaWRpdHkuYmFkSW5wdXQgdHJ1ZSBhbmQgaGF2ZSA6aW52YWxpZCBzdHlsZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK0luaXRpYWwgc3RhdGUuIFRoZSBlbG1lbnQgaGFz
IG5vIHZhbHVlLgorUEFTUyBjb2xvck9mKGlucHV0KSBpcyBub3QgaW52YWxpZFN0eWxlQ29sb3IK
K1BBU1MgaW5wdXQudmFsaWRpdHkuYmFkSW5wdXQgaXMgZmFsc2UKK1NldCBhIHZhbHVlIHRvIHRo
ZSBmaXJzdCBzdWItZmllbGQuIFRoZSBlbGVtZW50IGJlY29tZXMgYmFkSW5wdXQuCitQQVNTIGNv
bG9yT2YoaW5wdXQpIGlzIGludmFsaWRTdHlsZUNvbG9yCitQQVNTIGlucHV0LnZhbGlkaXR5LmJh
ZElucHV0IGlzIHRydWUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3dlZWstbXVsdGlw
bGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0Lmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUt
ZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODQ3YTZlZWQ4MDZjNTky
NjY3YTNmMDllMmVjNjg5NWQ3ODYzNzU3MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMtdmFs
aWRpdHktYmFkaW5wdXQuaHRtbApAQCAtMCwwICsxLDE0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxz
dHlsZT4KKzppbnZhbGlkIHsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwMDAwOworfQorPC9z
dHlsZT4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL211bHRpcGxlLWZpZWxk
cy12YWxpZGl0eS1iYWRpbnB1dC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgordGVzdEJhZElucHV0
KCd3ZWVrJyk7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>175931</attachid>
            <date>2012-11-25 23:08:50 -0800</date>
            <delta_ts>2012-11-25 23:33:38 -0800</delta_ts>
            <desc>Patch 3</desc>
            <filename>bug-102861-20121126160628.patch</filename>
            <type>text/plain</type>
            <size>49528</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM1Njc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWM4NTc1MjIwZWQwNzc2
ZGMyZWIzNThkZjY2MWJlMGMzY2I2N2Q5MC4uZTU5ZWZiNDViNGYwNDQ2ZGIxMDAyNWRjOTU1OWE3
MWY1YWUzYWJkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDExMCBAQAorMjAxMi0xMS0yNiAgS2Vu
dCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IFZhbGlk
aXR5U3RhdGU6OmJhZElucHV0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMDI4NjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBBZGQgVmFsaWRpdHlTdGF0ZTo6YmFkSW5wdXQsIGFkZCBoYXNCYWRJbnB1dCwg
d2hpY2ggYWx3YXlzIHJldHVybnMKKyAgICAgICAgZmFsc2UsIHRvIEZvcm1Bc3NvY2lhdGVkRWxl
bWVudCwgSFRNTElucHV0RWxlbWVudCwgYW5kIElucHV0VHlwZS4KKworICAgICAgICBGb3IgTnVt
YmVySW5wdXRUeXBlLCB3ZSBoYWQgaGFzVW5hY2NlcHRhYmxlVmFsdWUsIHdoaWNoIHdhcyBhIGhh
Y2sgdG8KKyAgICAgICAgbWFrZSBhbiBpbnB1dCBlbGVtZW50IG1hdGNoIHRvIDppbnZhbGlkIGlm
IHRoZSBlbGVtZW50IGhhZCBub24tbnVtYmVyCisgICAgICAgIHN0cmluZ3MuIFdlIGRvbid0IG5l
ZWQgdGhlIGhhY2sgYW55IG1vcmUgYmVjYXVzZSBiYWRJbnB1dCBhZmZlY3RzIDppbnZhbGlkCisg
ICAgICAgIHN0eWxlLiBoYXNVbmFjY2VwdGFibGVWYWx1ZSBpcyByZS11c2VkIGZvciBoYXNCYWRJ
bnB1dCBpbXBsZW1lbnRhdGlvbi4KKyAgICAgICAgV2UgY2xlYXJlZCBpbnZhbGlkIG51bWJlcnMg
d2hlbiBlbGVtZW50cyBsb3N0IGZvY3VzIHRvIHRlbGwgdXNlcnMgdGhhdAorICAgICAgICB0aGUg
ZWxlbWVudCBoYWQgaW52YWxpZCBudW1iZXJzLiBXZSBkb24ndCBuZWVkIHRoaXMgYmVoYXZpb3Ig
YmVjYXVzZSB0aGUKKyAgICAgICAgaW50ZXJhY3RpdmUgdmFsaWRhdGlvbiB0ZWxscyBpdC4KKwor
ICAgICAgICBGb3IgZGF0ZS90aW1lIGlucHV0IHR5cGVzLCB3ZSBzaG91bGQgbWFrZSBhbiBpbnB1
dCBiYWRJbnB1dCB3aGVuIHRoZQorICAgICAgICBpbnB1dCBoYXMgZW1wdHkgdmFsdWUgYnV0IGl0
cyBzdWItZmllbGRzIGhhdmUgdmFsdWVzLiBJdCBjb3ZlcnMgYm90aCBvZgorICAgICAgICBwYXJ0
aWFsIGlucHV0IGNhc2VzIHN1Y2ggYXMgMTIvLS0vMjAxMiBhbmQgaW52YWxpZCBkYXRlcyBzdWNo
IGFzCisgICAgICAgIDAyLzMxLzIwMTIuCisKKyAgICAgICAgRm9yIG90aGVyIHR5cGVzLCBWYWxp
ZGl0eVN0YXRlOjpiYWRJbnB1dCBhbHdheXMgcmV0dXJucyBmYWxzZS4KKworICAgICAgICBUaGlz
IHBhdGNoIGRvZXNuJ3QgY29udGFpbiB0ZXN0cyBmb3IgYmFkSW5wdXQgdmFsaWRhdGlvbiBtZXNz
YWdlcy4gVGhleQorICAgICAgICB3aWxsIGJlIGFkZGVkIGxhdGVyLgorCisgICAgICAgIFRlc3Rz
OiBmYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLXZh
bGlkaXR5LWJhZGlucHV0Lmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvZm9ybXMvZGF0ZXRpbWUt
bXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1
dC5odG1sCisgICAgICAgICAgICAgICBmYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUt
ZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0Lmh0
bWwKKyAgICAgICAgICAgICAgIGZhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRo
LW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC5odG1sCisgICAgICAgICAgICAgICBm
YXN0L2Zvcm1zL251bWJlci9udW1iZXItdmFsaWRpdHktYmFkaW5wdXQuaHRtbAorICAgICAgICAg
ICAgICAgZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxk
cy12YWxpZGl0eS1iYWRpbnB1dC5odG1sCisgICAgICAgICAgICAgICBmYXN0L2Zvcm1zL3dlZWst
bXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0Lmh0
bWwKKworICAgICAgICAqIGh0bWwvVmFsaWRpdHlTdGF0ZS5pZGw6IEFkZCBiYWRJbnB1dCBJREwg
YXR0cmlidXRlLgorICAgICAgICAqIGh0bWwvVmFsaWRpdHlTdGF0ZS5oOgorICAgICAgICAoVmFs
aWRpdHlTdGF0ZSk6IEFkZCBiYWRJbnB1dC4KKyAgICAgICAgKiBodG1sL1ZhbGlkaXR5U3RhdGUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6VmFsaWRpdHlTdGF0ZTo6YmFkSW5wdXQpOgorICAgICAg
ICBBZGRlZC4gQ2FsbHMgRm9ybUFzc29jaWF0ZWRFbGVtZW50OjpoYXNCYWRJbnB1dC4KKworICAg
ICAgICAqIGh0bWwvRm9ybUFzc29jaWF0ZWRFbGVtZW50Lmg6CisgICAgICAgIChGb3JtQXNzb2Np
YXRlZEVsZW1lbnQpOiBBZGQgaGFzQmFkSW5wdXQuCisgICAgICAgICogaHRtbC9Gb3JtQXNzb2Np
YXRlZEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Rm9ybUFzc29jaWF0ZWRFbGVtZW50
OjpoYXNCYWRJbnB1dCk6CisgICAgICAgIEFkZGVkLiBJdCBhbHdheXMgcmV0dXJucyBmYWxzZS4K
KyAgICAgICAgKFdlYkNvcmU6OkZvcm1Bc3NvY2lhdGVkRWxlbWVudDo6dmFsaWQpOiBUYWtlcyBh
Y2NvdW50IG9mIGhhc0JhZElucHV0KCkuCisKKyAgICAgICAgKiBodG1sL0hUTUxJbnB1dEVsZW1l
bnQuaDoKKyAgICAgICAgKEhUTUxJbnB1dEVsZW1lbnQpOgorICAgICAgICBSZW1vdmUgaGFzVW5h
Y2NlcHRhYmxlVmFsdWUsIGFuZCBhZGQgaGFzQmFkSW5wdXQgb3ZlcnJpZGUuCisgICAgICAgICog
aHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVs
ZW1lbnQ6Omhhc0JhZElucHV0KToKKyAgICAgICAgQWRkZWQuIERlbGVnYXRlIHRvIElucHV0VHlw
ZTo6aGFzQmFkSW5wdXQuCisgICAgICAgIChXZWJDb3JlKTogUmVtb3ZlIGhhc1VuYWNjZXB0YWJs
ZVZhbHVlLgorCisgICAgICAgICogaHRtbC9JbnB1dFR5cGUuaDoKKyAgICAgICAgKElucHV0VHlw
ZSk6IEFkZCBoYXNCYWRJbnB1dCBhbmQgYmFkSW5wdXRUZXh0LCBhbmQgcmVtb3ZlCisgICAgICAg
IGhhc1VuYWNjZXB0YWJsZVZhbHVlLgorICAgICAgICAqIGh0bWwvSW5wdXRUeXBlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OklucHV0VHlwZTo6aGFzQmFkSW5wdXQpOiBBZGRlZC4gUmV0dXJucyBm
YWxzZS4KKyAgICAgICAgKFdlYkNvcmU6OklucHV0VHlwZTo6YmFkSW5wdXRUZXh0KToKKyAgICAg
ICAgQWRkZWQuIFRoaXMgZnVuY3Rpb24gc2hvdWxkIG5vdCBiZSBjYWxsZWQgYmVjYXVzZSBoYXNC
YWRJbnB1dCBhbHdheXMKKyAgICAgICAgcmV0dXJucyBmYWxzZS4KKyAgICAgICAgKFdlYkNvcmU6
OklucHV0VHlwZTo6dmFsaWRhdGlvbk1lc3NhZ2UpOgorICAgICAgICBTdXBwb3J0cyBiYWRJbnB1
dC4gVGhpcyByZXR1cm5zIGJhZElucHV0VGV4dCBpZiBoYXNCYWRJbnB1dCBpcyB0cnVlLgorCisg
ICAgICAgICogaHRtbC9OdW1iZXJJbnB1dFR5cGUuaDoKKyAgICAgICAgKE51bWJlcklucHV0VHlw
ZSk6IEFkZCBoYXNCYWRJbnB1dCBhbmQgYmFkSW5wdXRUZXN0LiBSZW1vdmUKKyAgICAgICAgaGFu
ZGxlQmx1ckV2ZW50IGFuZCBoYXNVbmFjY2VwdGFibGVWYWx1ZS4KKyAgICAgICAgKiBodG1sL051
bWJlcklucHV0VHlwZS5jcHA6CisgICAgICAgIFJlbW92ZSBoYW5kbGVCbHVyRXZlbnQsIHdoaWNo
IGNsZWFyZWQgaW52YWxpZCBudW1iZXIgc3RyaW5ncy4KKyAgICAgICAgKFdlYkNvcmU6Ok51bWJl
cklucHV0VHlwZTo6aGFzQmFkSW5wdXQpOgorICAgICAgICBBZGRlZC4gV2UgZG9uJ3QgbmVlZCB0
byBjaGVjayBleGlzdGVuY2Ugb2YgYSByZW5kZXJlci4gVGhlIHN0YW5kYXJkIGZvcm0KKyAgICAg
ICAgdmFsaWRhdGlvbiBmZWF0dXJlIGRvZXNuJ3QgY2FyZSBvZiBpdC4KKyAgICAgICAgKFdlYkNv
cmU6Ok51bWJlcklucHV0VHlwZTo6YmFkSW5wdXRUZXh0KTogUmV0dXJucworICAgICAgICB2YWxp
ZGF0aW9uTWVzc2FnZUJhZElucHV0Rm9yTnVtYmVyVGV4dCBkZWZpbmVkIGluIExvY2FsaXplZFN0
cmluZ3MuaC4KKyAgICAgICAgKiBjc3MvU2VsZWN0b3JDaGVja2VyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlNlbGVjdG9yQ2hlY2tlcjo6Y2hlY2tPbmVTZWxlY3Rvcik6CisgICAgICAgIFJlbW92
ZSBhIGhhY2sgZm9yIGhhc1VuYWNjZXB0YWJsZVZhbHVlLiBpc1ZhbGlkRm9ybUNvbnRyb2xFbGVt
ZW50IHRha2VzCisgICAgICAgIGFjY291bnQgb2YgYmFkSW5wdXQuCisgICAgICAgICogZG9tL0Vs
ZW1lbnQuaDogUmVtb3ZlIGhhc1VuYWNjZXB0YWJsZVZhbHVlLgorCisgICAgICAgICogaHRtbC9C
YXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZS5oOgorICAgICAgICAoQmFzZU11
bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUpOiBBZGQgaGFzQmFkSW5wdXQgYW5kIGJh
ZElucHV0VGV4dC4KKyAgICAgICAgKiBodG1sL0Jhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1l
SW5wdXRUeXBlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkJhc2VNdWx0aXBsZUZpZWxkc0RhdGVB
bmRUaW1lSW5wdXRUeXBlOjpiYWRJbnB1dFRleHQpOgorICAgICAgICBSZXR1cm5zIHZhbGlkYXRp
b25NZXNzYWdlQmFkSW5wdXRGb3JEYXRlVGltZVRleHQgZGVmaW5lZCBpbiBMb2NhbGl6ZWRTdHJp
bmdzLmguCisgICAgICAgIChXZWJDb3JlOjpCYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlu
cHV0VHlwZTo6aGFzQmFkSW5wdXQpOgorICAgICAgICBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OkJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlOjpzZXRWYWx1ZSk6CisgICAg
ICAgIEFkZCBzZXROZWVkc1ZhbGlkaXR5Q2hlY2sgY2FsbC4gSXQgaXMgbmVlZGVkIGJlY2F1c2UK
KyAgICAgICAgdXBkYXRlSW5uZXJUZXh0VmFsdWUgY2FuIG1vZGlmeSBzdWJmaWVsZHMgZW1wdHkg
c3RhdGUuCisKKyAgICAgICAgKiBodG1sL1RleHRGaWVsZElucHV0VHlwZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpUZXh0RmllbGRJbnB1dFR5cGU6OnN1YnRyZWVIYXNDaGFuZ2VkKTogVXBkYXRl
IGEgY29tbWVudC4KKyAgICAgICAgKiBwbGF0Zm9ybS9Mb2NhbGl6ZWRTdHJpbmdzLmg6CisgICAg
ICAgIChXZWJDb3JlKTogQWRkIHZhbGlkYXRpb25NZXNzYWdlQmFkSW5wdXRGb3JOdW1iZXJUZXh0
IGFuZAorICAgICAgICB2YWxpZGF0aW9uTWVzc2FnZUJhZElucHV0Rm9yRGF0ZVRpbWVUZXh0Lgor
ICAgICAgICAqIHBsYXRmb3JtL0xvY2FsaXplZFN0cmluZ3MuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6dmFsaWRhdGlvbk1lc3NhZ2VCYWRJbnB1dEZvck51bWJlclRleHQpOgorICAgICAgICBBZGRl
ZCBhIHBsYWNlaG9sZGVyIGltcGxlbWVudGF0aW9uLiBUaGlzIHNob3VsZCBiZSBmaXhlZCBsYXRl
ci4KKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9Mb2NhbGl6ZWRTdHJpbmdzUXQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6dmFsaWRhdGlvbk1lc3NhZ2VCYWRJbnB1dEZvck51bWJlclRleHQpOiBEaXR0
by4KKwogMjAxMi0xMS0yNSAgS2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgUmVmYWN0b3Jpbmc6IE1vdmUgdGhlIGNvbnRlbnQgb2YgSFRNTElucHV0RWxlbWVudDo6
c3VidHJlZUhhc0NoYW5nZWQgdG8gVGV4dEZpZWxkSW5wdXRUeXBlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hh
bmdlTG9nCmluZGV4IDI0YWJhZmIyNWJlNzU1MjYwZDBjNjllOTk1YzdkZDMxMTIxNGI5M2EuLmYz
ZWU3ZWZlYTg1ZmRlZTI3YTUyZWU2ZTY0YmNlYTkyNjEzNDkzZjAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMTEtMjUgIEtlbnQgVGFtdXJhICA8dGtl
bnRAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEltcGxlbWVudCBWYWxpZGl0eVN0YXRlOjpiYWRJ
bnB1dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAy
ODYxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBz
cmMvTG9jYWxpemVkU3RyaW5ncy5jcHA6CisgICAgICAgIEFkZCBwbGFjZWhvbGRlciBpbXBsZW1l
bnRhdGlvbnMgZm9yIG5ldyBsb2NhbGl6ZWQgc3RyaW5nIGZ1bmN0aW9ucy4KKyAgICAgICAgV2Un
bGwgdXBkYXRlIHRoZW0gaW4gYW5vdGhlciBwYXRjaC4KKyAgICAgICAgKFdlYkNvcmU6OnZhbGlk
YXRpb25NZXNzYWdlQmFkSW5wdXRGb3JOdW1iZXJUZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OnZh
bGlkYXRpb25NZXNzYWdlQmFkSW5wdXRGb3JEYXRlVGltZVRleHQpOgorCiAyMDEyLTExLTI0ICBT
aWx2aWEgUGZlaWZmZXIgIDxzaWx2aWFwZkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW2Nocm9t
aXVtXSBSZW1vdmUgdHJhY2VzIG9mIE1lZGlhQ29udHJvbFJvb3RFbGVtZW50CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9TZWxlY3RvckNoZWNrZXIuY3BwCmluZGV4IDM4ZDQxZjc4NDg4NjVkYzhhYzNjMTY0OTE5
MjYzODY0NjU5MWJkMzIuLjBlMWY2ZmQ3MDQ5NDJjYjkxOThlOTA3MzdiYWFiNWZiZDBjZjQzNmQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvckNoZWNrZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvckNoZWNrZXIuY3BwCkBAIC0xMDcyLDcgKzEwNzIs
NyBAQCBib29sIFNlbGVjdG9yQ2hlY2tlcjo6Y2hlY2tPbmVTZWxlY3Rvcihjb25zdCBTZWxlY3Rv
ckNoZWNraW5nQ29udGV4dCYgY29udGV4dCwgYwogICAgICAgICAgICAgaWYgKCFlbGVtZW50KQog
ICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgIGVsZW1lbnQtPmRvY3Vt
ZW50KCktPnNldENvbnRhaW5zVmFsaWRpdHlTdHlsZVJ1bGVzKCk7Ci0gICAgICAgICAgICByZXR1
cm4gKGVsZW1lbnQtPndpbGxWYWxpZGF0ZSgpICYmICFlbGVtZW50LT5pc1ZhbGlkRm9ybUNvbnRy
b2xFbGVtZW50KCkpIHx8IGVsZW1lbnQtPmhhc1VuYWNjZXB0YWJsZVZhbHVlKCk7CisgICAgICAg
ICAgICByZXR1cm4gZWxlbWVudC0+d2lsbFZhbGlkYXRlKCkgJiYgIWVsZW1lbnQtPmlzVmFsaWRG
b3JtQ29udHJvbEVsZW1lbnQoKTsKICAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvQ2hl
Y2tlZDoKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICBpZiAoIWVsZW1lbnQpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9t
L0VsZW1lbnQuaAppbmRleCA1ZjExZWM5MWU5Yzc0NjUwMTRmM2E2MjY3YWMzMjcxZjUxNTZjYTE0
Li5iMmZmYTk5MDIzMjIwY2ZkYTJiZjFjNTU3NDZjN2YwMjZhYzc2ZWNkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVt
ZW50LmgKQEAgLTM4MSw3ICszODEsNiBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIGlzRGVm
YXVsdEJ1dHRvbkZvckZvcm0oKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwg
Ym9vbCB3aWxsVmFsaWRhdGUoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwg
Ym9vbCBpc1ZhbGlkRm9ybUNvbnRyb2xFbGVtZW50KCkgeyByZXR1cm4gZmFsc2U7IH0KLSAgICB2
aXJ0dWFsIGJvb2wgaGFzVW5hY2NlcHRhYmxlVmFsdWUoKSBjb25zdCB7IHJldHVybiBmYWxzZTsg
fQogICAgIHZpcnR1YWwgYm9vbCBpc0luUmFuZ2UoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQog
ICAgIHZpcnR1YWwgYm9vbCBpc091dE9mUmFuZ2UoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQog
ICAgIHZpcnR1YWwgYm9vbCBpc0ZyYW1lRWxlbWVudEJhc2UoKSBjb25zdCB7IHJldHVybiBmYWxz
ZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9CYXNlTXVsdGlwbGVGaWVsZHNE
YXRlQW5kVGltZUlucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VNdWx0aXBs
ZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlLmNwcAppbmRleCA0YmQ3Y2RlMmM1NDAxY2QwOWQ0
N2QxNGE3NTA0ZjEzYzY1NGQyMjBjLi5iNTVlOWE1YTc3MTZjNDNmYmJkYTJkM2E3MjU3YTRlYjNi
YzBlMjk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VNdWx0aXBsZUZpZWxk
c0RhdGVBbmRUaW1lSW5wdXRUeXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VN
dWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlLmNwcApAQCAtNDEsNiArNDEsNyBAQAog
I2luY2x1ZGUgIkhUTUxJbnB1dEVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MT3B0aW9uRWxlbWVu
dC5oIgogI2luY2x1ZGUgIktleWJvYXJkRXZlbnQuaCIKKyNpbmNsdWRlICJMb2NhbGl6ZWRTdHJp
bmdzLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlBpY2tlckluZGljYXRvckVsZW1l
bnQuaCIKICNpbmNsdWRlICJQbGF0Zm9ybUxvY2FsZS5oIgpAQCAtMTY4LDYgKzE2OSwxMSBAQCBC
YXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZTo6fkJhc2VNdWx0aXBsZUZpZWxk
c0RhdGVBbmRUaW1lSW5wdXRUeXBlKAogICAgICAgICBtX3BpY2tlckluZGljYXRvckVsZW1lbnQt
PnJlbW92ZVBpY2tlckluZGljYXRvck93bmVyKCk7CiB9CiAKK1N0cmluZyBCYXNlTXVsdGlwbGVG
aWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZTo6YmFkSW5wdXRUZXh0KCkgY29uc3QKK3sKKyAgICBy
ZXR1cm4gdmFsaWRhdGlvbk1lc3NhZ2VCYWRJbnB1dEZvckRhdGVUaW1lVGV4dCgpOworfQorCiB2
b2lkIEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlOjpibHVyKCkKIHsKICAg
ICBpZiAobV9kYXRlVGltZUVkaXRFbGVtZW50KQpAQCAtMjczLDYgKzI3OSwxMSBAQCB2b2lkIEJh
c2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlOjpoYW5kbGVLZXlkb3duRXZlbnQo
S2V5Ym9hcmRFdmVudCogZQogICAgICAgICBmb3J3YXJkRXZlbnQoZXZlbnQpOwogfQogCitib29s
IEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlOjpoYXNCYWRJbnB1dCgpIGNv
bnN0Cit7CisgICAgcmV0dXJuIGVsZW1lbnQoKS0+dmFsdWUoKS5pc0VtcHR5KCkgJiYgbV9kYXRl
VGltZUVkaXRFbGVtZW50ICYmIG1fZGF0ZVRpbWVFZGl0RWxlbWVudC0+YW55RWRpdGFibGVGaWVs
ZHNIYXZlVmFsdWVzKCk7Cit9CisKIGJvb2wgQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJ
bnB1dFR5cGU6OmlzS2V5Ym9hcmRGb2N1c2FibGUoS2V5Ym9hcmRFdmVudCopIGNvbnN0CiB7CiAg
ICAgcmV0dXJuIGZhbHNlOwpAQCAtMzI1LDggKzMzNiwxMCBAQCBGb3JtQ29udHJvbFN0YXRlIEJh
c2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlOjpzYXZlRm9ybUNvbnRyb2xTdGF0
ZSgpCiB2b2lkIEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlOjpzZXRWYWx1
ZShjb25zdCBTdHJpbmcmIHNhbml0aXplZFZhbHVlLCBib29sIHZhbHVlQ2hhbmdlZCwgVGV4dEZp
ZWxkRXZlbnRCZWhhdmlvciBldmVudEJlaGF2aW9yKQogewogICAgIElucHV0VHlwZTo6c2V0VmFs
dWUoc2FuaXRpemVkVmFsdWUsIHZhbHVlQ2hhbmdlZCwgZXZlbnRCZWhhdmlvcik7Ci0gICAgaWYg
KHZhbHVlQ2hhbmdlZCB8fCAoc2FuaXRpemVkVmFsdWUuaXNFbXB0eSgpICYmIG1fZGF0ZVRpbWVF
ZGl0RWxlbWVudCAmJiBtX2RhdGVUaW1lRWRpdEVsZW1lbnQtPmFueUVkaXRhYmxlRmllbGRzSGF2
ZVZhbHVlcygpKSkKKyAgICBpZiAodmFsdWVDaGFuZ2VkIHx8IChzYW5pdGl6ZWRWYWx1ZS5pc0Vt
cHR5KCkgJiYgbV9kYXRlVGltZUVkaXRFbGVtZW50ICYmIG1fZGF0ZVRpbWVFZGl0RWxlbWVudC0+
YW55RWRpdGFibGVGaWVsZHNIYXZlVmFsdWVzKCkpKSB7CiAgICAgICAgIHVwZGF0ZUlubmVyVGV4
dFZhbHVlKCk7CisgICAgICAgIGVsZW1lbnQoKS0+c2V0TmVlZHNWYWxpZGl0eUNoZWNrKCk7Cisg
ICAgfQogfQogCiBib29sIEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlOjpz
aG91bGRVc2VJbnB1dE1ldGhvZCgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0Jhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0Jhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlLmgKaW5kZXgg
YjVhY2M5ZTZiOTMxZDQyODMxZjFjYTNlMmU5MDhiNjFhN2Q2NjJjOC4uYmQ0MWZmZmVmZjFiMjYz
NWI1YmY3ZDg0NjY5YmE4ODVkMjgyOGExMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9CYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUuaApAQCAt
NzMsNiArNzMsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgYm9vbCBzZXR1cERhdGVUaW1lQ2hv
b3NlclBhcmFtZXRlcnMoRGF0ZVRpbWVDaG9vc2VyUGFyYW1ldGVycyYpIE9WRVJSSURFIEZJTkFM
OwogCiAgICAgLy8gSW5wdXRUeXBlIGZ1bmN0aW9ucworICAgIHZpcnR1YWwgU3RyaW5nIGJhZElu
cHV0VGV4dCgpIGNvbnN0IE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBibHVyKCkgT1ZFUlJJ
REUgRklOQUw7CiAgICAgdmlydHVhbCBSZW5kZXJPYmplY3QqIGNyZWF0ZVJlbmRlcmVyKFJlbmRl
ckFyZW5hKiwgUmVuZGVyU3R5bGUqKSBjb25zdCBPVkVSUklERSBGSU5BTDsKICAgICB2aXJ0dWFs
IHZvaWQgY3JlYXRlU2hhZG93U3VidHJlZSgpIE9WRVJSSURFIEZJTkFMOwpAQCAtODEsNiArODIs
NyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBmb2N1cyhib29sIHJlc3RvcmVQcmV2aW91
c1NlbGVjdGlvbikgT1ZFUlJJREUgRklOQUw7CiAgICAgdmlydHVhbCB2b2lkIGZvcndhcmRFdmVu
dChFdmVudCopIE9WRVJSSURFIEZJTkFMOwogICAgIHZpcnR1YWwgdm9pZCBoYW5kbGVLZXlkb3du
RXZlbnQoS2V5Ym9hcmRFdmVudCopIE9WRVJSSURFIEZJTkFMOworICAgIHZpcnR1YWwgYm9vbCBo
YXNCYWRJbnB1dCgpIGNvbnN0IE9WRVJSSURFOwogICAgIHZpcnR1YWwgYm9vbCBoYXNDdXN0b21G
b2N1c0xvZ2ljKCkgY29uc3QgT1ZFUlJJREUgRklOQUw7CiAgICAgdmlydHVhbCBib29sIGlzS2V5
Ym9hcmRGb2N1c2FibGUoS2V5Ym9hcmRFdmVudCopIGNvbnN0IE9WRVJSSURFIEZJTkFMOwogICAg
IHZpcnR1YWwgYm9vbCBpc01vdXNlRm9jdXNhYmxlKCkgY29uc3QgT1ZFUlJJREUgRklOQUw7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0Zvcm1Bc3NvY2lhdGVkRWxlbWVudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0Zvcm1Bc3NvY2lhdGVkRWxlbWVudC5jcHAKaW5kZXggM2Q4
ODk3ODNlOWVkOWZjMGRkM2MwZDU0ZmQyZmYyZDY4M2Y1MjBhOS4uOGRmZGFlMDk2ZjI3MTNmMzVm
MTQ0NTI0MmQ5ZTA2YmJjYTc2NjFhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9G
b3JtQXNzb2NpYXRlZEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRm9ybUFz
c29jaWF0ZWRFbGVtZW50LmNwcApAQCAtMTg5LDYgKzE4OSwxMSBAQCBib29sIEZvcm1Bc3NvY2lh
dGVkRWxlbWVudDo6Y3VzdG9tRXJyb3IoKSBjb25zdAogICAgIHJldHVybiBlbGVtZW50LT53aWxs
VmFsaWRhdGUoKSAmJiAhbV9jdXN0b21WYWxpZGF0aW9uTWVzc2FnZS5pc0VtcHR5KCk7CiB9CiAK
K2Jvb2wgRm9ybUFzc29jaWF0ZWRFbGVtZW50OjpoYXNCYWRJbnB1dCgpIGNvbnN0Cit7CisgICAg
cmV0dXJuIGZhbHNlOworfQorCiBib29sIEZvcm1Bc3NvY2lhdGVkRWxlbWVudDo6cGF0dGVybk1p
c21hdGNoKCkgY29uc3QKIHsKICAgICByZXR1cm4gZmFsc2U7CkBAIC0yMjIsNyArMjI3LDcgQEAg
Ym9vbCBGb3JtQXNzb2NpYXRlZEVsZW1lbnQ6OnR5cGVNaXNtYXRjaCgpIGNvbnN0CiBib29sIEZv
cm1Bc3NvY2lhdGVkRWxlbWVudDo6dmFsaWQoKSBjb25zdAogewogICAgIGJvb2wgc29tZUVycm9y
ID0gdHlwZU1pc21hdGNoKCkgfHwgc3RlcE1pc21hdGNoKCkgfHwgcmFuZ2VVbmRlcmZsb3coKSB8
fCByYW5nZU92ZXJmbG93KCkKLSAgICAgICAgfHwgdG9vTG9uZygpIHx8IHBhdHRlcm5NaXNtYXRj
aCgpIHx8IHZhbHVlTWlzc2luZygpIHx8IGN1c3RvbUVycm9yKCk7CisgICAgICAgIHx8IHRvb0xv
bmcoKSB8fCBwYXR0ZXJuTWlzbWF0Y2goKSB8fCB2YWx1ZU1pc3NpbmcoKSB8fCBoYXNCYWRJbnB1
dCgpIHx8IGN1c3RvbUVycm9yKCk7CiAgICAgcmV0dXJuICFzb21lRXJyb3I7CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRm9ybUFzc29jaWF0ZWRFbGVtZW50LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0Zvcm1Bc3NvY2lhdGVkRWxlbWVudC5oCmluZGV4IDM5MGUwZWU3NWMz
Zjk5OGJjZmZkNjU0NWMwZjI5NGUxZDNiOWVkOWEuLmQxZGM5YTU5YzcxODRmZGM3OTgzMDIwNjQx
Njg1M2Q0ZjYyZTc0ZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRm9ybUFzc29j
aWF0ZWRFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9Gb3JtQXNzb2NpYXRlZEVs
ZW1lbnQuaApAQCAtNzcsNiArNzcsNyBAQCBwdWJsaWM6CiAKICAgICAvLyBPdmVycmlkZSBmdW5j
dGlvbnMgZm9yIHBhdHRlck1pc21hdGNoLCByYW5nZU92ZXJmbG93LCByYW5nZXJVbmRlcmZsb3cs
CiAgICAgLy8gc3RlcE1pc21hdGNoLCB0b29Mb25nIGFuZCB2YWx1ZU1pc3NpbmcgbXVzdCBjYWxs
IHdpbGxWYWxpZGF0ZSBtZXRob2QuCisgICAgdmlydHVhbCBib29sIGhhc0JhZElucHV0KCkgY29u
c3Q7CiAgICAgdmlydHVhbCBib29sIHBhdHRlcm5NaXNtYXRjaCgpIGNvbnN0OwogICAgIHZpcnR1
YWwgYm9vbCByYW5nZU92ZXJmbG93KCkgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIHJhbmdlVW5k
ZXJmbG93KCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1
dEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcApp
bmRleCA0Y2FlNzg2ZjFlZGE5YzE4NjQ5NWE3OThlMDczYzhiY2QyZWJmMzViLi41ZTRmNTBkN2E2
OTk0Zjc4MWQ5ODM0NGUyZDMwYWExZDg0NjMwMTczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TElucHV0RWxlbWVudC5jcHAKQEAgLTI2Niw2ICsyNjYsMTEgQEAgYm9vbCBIVE1MSW5wdXRFbGVt
ZW50Ojp2YWx1ZU1pc3NpbmcoKSBjb25zdAogICAgIHJldHVybiB3aWxsVmFsaWRhdGUoKSAmJiBt
X2lucHV0VHlwZS0+dmFsdWVNaXNzaW5nKHZhbHVlKCkpOwogfQogCitib29sIEhUTUxJbnB1dEVs
ZW1lbnQ6Omhhc0JhZElucHV0KCkgY29uc3QKK3sKKyAgICByZXR1cm4gd2lsbFZhbGlkYXRlKCkg
JiYgbV9pbnB1dFR5cGUtPmhhc0JhZElucHV0KCk7Cit9CisKIGJvb2wgSFRNTElucHV0RWxlbWVu
dDo6cGF0dGVybk1pc21hdGNoKCkgY29uc3QKIHsKICAgICByZXR1cm4gd2lsbFZhbGlkYXRlKCkg
JiYgbV9pbnB1dFR5cGUtPnBhdHRlcm5NaXNtYXRjaCh2YWx1ZSgpKTsKQEAgLTEzOTEsMTEgKzEz
OTYsNiBAQCBTdHJpbmcgSFRNTElucHV0RWxlbWVudDo6bG9jYWxpemVWYWx1ZShjb25zdCBTdHJp
bmcmIHByb3Bvc2VkVmFsdWUpIGNvbnN0CiAgICAgcmV0dXJuIG1faW5wdXRUeXBlLT5sb2NhbGl6
ZVZhbHVlKHByb3Bvc2VkVmFsdWUpOwogfQogCi1ib29sIEhUTUxJbnB1dEVsZW1lbnQ6Omhhc1Vu
YWNjZXB0YWJsZVZhbHVlKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9pbnB1dFR5cGUtPmhhc1Vu
YWNjZXB0YWJsZVZhbHVlKCk7Ci19Ci0KIGJvb2wgSFRNTElucHV0RWxlbWVudDo6aXNJblJhbmdl
KCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9pbnB1dFR5cGUtPmlzSW5SYW5nZSh2YWx1ZSgpKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmgKaW5kZXggYjBhYzZhZTk2OWY1YTAx
YWQ2ZTcwYjI1OTUxMTY3M2M1ZmFmMzg4Ni4uOTIyOTc0ODI5YzVlNGIzODliNDkyMGQ3OWQxM2Ux
MGU1OWM0ZjcxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVt
ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmgKQEAgLTU1
LDYgKzU1LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBzaG91bGRBdXRvY29tcGxldGUo
KSBjb25zdDsKIAogICAgIC8vIEZvciBWYWxpZGl0eVN0YXRlCisgICAgdmlydHVhbCBib29sIGhh
c0JhZElucHV0KCkgY29uc3QgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBib29sIHBhdHRlcm5NaXNt
YXRjaCgpIGNvbnN0IE9WRVJSSURFOwogICAgIHZpcnR1YWwgYm9vbCByYW5nZVVuZGVyZmxvdygp
IGNvbnN0IE9WRVJSSURFOwogICAgIHZpcnR1YWwgYm9vbCByYW5nZU92ZXJmbG93KCkgY29uc3Q7
CkBAIC0zNTUsOCArMzU2LDYgQEAgcHJpdmF0ZToKIAogICAgIHZpcnR1YWwgYm9vbCBpc1VSTEF0
dHJpYnV0ZShjb25zdCBBdHRyaWJ1dGUmKSBjb25zdCBPVkVSUklERTsKIAotICAgIHZpcnR1YWwg
Ym9vbCBoYXNVbmFjY2VwdGFibGVWYWx1ZSgpIGNvbnN0OwotCiAgICAgdmlydHVhbCBib29sIGlz
SW5SYW5nZSgpIGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBpc091dE9mUmFuZ2UoKSBjb25zdDsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuY3BwCmluZGV4IDRhNDM3ZTAyOTYxMWVkOTRlZmJlYWJh
Y2FmMTk2NmE5YjkxYjAxZTUuLjc5NmM1M2Q3NDlhNjRhMWM3ODdlNGEzN2UxY2I2MTdlMDJjMGUx
YzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5jcHAKQEAgLTI1OCw2ICsyNTgsMTEgQEAgYm9v
bCBJbnB1dFR5cGU6OnZhbHVlTWlzc2luZyhjb25zdCBTdHJpbmcmKSBjb25zdAogICAgIHJldHVy
biBmYWxzZTsKIH0KIAorYm9vbCBJbnB1dFR5cGU6Omhhc0JhZElucHV0KCkgY29uc3QKK3sKKyAg
ICByZXR1cm4gZmFsc2U7Cit9CisKIGJvb2wgSW5wdXRUeXBlOjpwYXR0ZXJuTWlzbWF0Y2goY29u
c3QgU3RyaW5nJikgY29uc3QKIHsKICAgICByZXR1cm4gZmFsc2U7CkBAIC0zNDYsNiArMzUxLDEy
IEBAIGJvb2wgSW5wdXRUeXBlOjpzdGVwTWlzbWF0Y2goY29uc3QgU3RyaW5nJiB2YWx1ZSkgY29u
c3QKICAgICByZXR1cm4gY3JlYXRlU3RlcFJhbmdlKFJlamVjdEFueSkuc3RlcE1pc21hdGNoKG51
bWVyaWNWYWx1ZSk7CiB9CiAKK1N0cmluZyBJbnB1dFR5cGU6OmJhZElucHV0VGV4dCgpIGNvbnN0
Cit7CisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIHZhbGlkYXRpb25NZXNz
YWdlVHlwZU1pc21hdGNoVGV4dCgpOworfQorCiBTdHJpbmcgSW5wdXRUeXBlOjp0eXBlTWlzbWF0
Y2hUZXh0KCkgY29uc3QKIHsKICAgICByZXR1cm4gdmFsaWRhdGlvbk1lc3NhZ2VUeXBlTWlzbWF0
Y2hUZXh0KCk7CkBAIC0zNjgsNiArMzc5LDkgQEAgU3RyaW5nIElucHV0VHlwZTo6dmFsaWRhdGlv
bk1lc3NhZ2UoKSBjb25zdAogICAgIGlmICh0eXBlTWlzbWF0Y2goKSkKICAgICAgICAgcmV0dXJu
IHR5cGVNaXNtYXRjaFRleHQoKTsKIAorICAgIGlmIChoYXNCYWRJbnB1dCgpKQorICAgICAgICBy
ZXR1cm4gYmFkSW5wdXRUZXh0KCk7CisKICAgICBpZiAocGF0dGVybk1pc21hdGNoKHZhbHVlKSkK
ICAgICAgICAgcmV0dXJuIHZhbGlkYXRpb25NZXNzYWdlUGF0dGVybk1pc21hdGNoVGV4dCgpOwog
CkBAIC02ODksMTEgKzcwMyw2IEBAIFN0cmluZyBJbnB1dFR5cGU6OnNhbml0aXplVmFsdWUoY29u
c3QgU3RyaW5nJiBwcm9wb3NlZFZhbHVlKSBjb25zdAogICAgIHJldHVybiBwcm9wb3NlZFZhbHVl
OwogfQogCi1ib29sIElucHV0VHlwZTo6aGFzVW5hY2NlcHRhYmxlVmFsdWUoKQotewotICAgIHJl
dHVybiBmYWxzZTsKLX0KLQogYm9vbCBJbnB1dFR5cGU6OnJlY2VpdmVEcm9wcGVkRmlsZXMoY29u
c3QgRHJhZ0RhdGEqKQogewogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW5w
dXRUeXBlLmgKaW5kZXggZmU0YTllNGQ5ZjRkYWFmZjQ4MmJiM2MwZWJlZDRmYmQ4NTAyMDJlNS4u
NDM3N2ZiMjczYTc4OTAwNjYwNzczYjcwNzEzZmQyZmMyMTA1Nzg3ZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0lu
cHV0VHlwZS5oCkBAIC0xNTYsNiArMTU2LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCB0
eXBlTWlzbWF0Y2goKSBjb25zdDsKICAgICB2aXJ0dWFsIGJvb2wgc3VwcG9ydHNSZXF1aXJlZCgp
IGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCB2YWx1ZU1pc3NpbmcoY29uc3QgU3RyaW5nJikgY29u
c3Q7CisgICAgdmlydHVhbCBib29sIGhhc0JhZElucHV0KCkgY29uc3Q7CiAgICAgdmlydHVhbCBi
b29sIHBhdHRlcm5NaXNtYXRjaChjb25zdCBTdHJpbmcmKSBjb25zdDsKICAgICBib29sIHJhbmdl
VW5kZXJmbG93KGNvbnN0IFN0cmluZyYpIGNvbnN0OwogICAgIGJvb2wgcmFuZ2VPdmVyZmxvdyhj
b25zdCBTdHJpbmcmKSBjb25zdDsKQEAgLTE3MCw2ICsxNzEsNyBAQCBwdWJsaWM6CiAgICAgdmly
dHVhbCBTdGVwUmFuZ2UgY3JlYXRlU3RlcFJhbmdlKEFueVN0ZXBIYW5kbGluZykgY29uc3Q7CiAg
ICAgdmlydHVhbCB2b2lkIHN0ZXBVcChpbnQsIEV4Y2VwdGlvbkNvZGUmKTsKICAgICB2aXJ0dWFs
IHZvaWQgc3RlcFVwRnJvbVJlbmRlcmVyKGludCk7CisgICAgdmlydHVhbCBTdHJpbmcgYmFkSW5w
dXRUZXh0KCkgY29uc3Q7CiAgICAgdmlydHVhbCBTdHJpbmcgdHlwZU1pc21hdGNoVGV4dCgpIGNv
bnN0OwogICAgIHZpcnR1YWwgU3RyaW5nIHZhbHVlTWlzc2luZ1RleHQoKSBjb25zdDsKICAgICB2
aXJ0dWFsIGJvb2wgY2FuU2V0U3RyaW5nVmFsdWUoKSBjb25zdDsKQEAgLTE3OCw3ICsxODAsNiBA
QCBwdWJsaWM6CiAgICAgLy8gUmV0dXJpbmcgdGhlIG51bGwgc3RyaW5nIG1lYW5zICJ1c2UgdGhl
IGRlZmF1bHQgdmFsdWUuIgogICAgIC8vIFRoaXMgZnVuY3Rpb24gbXVzdCBiZSBjYWxsZWQgb25s
eSBieSBIVE1MSW5wdXRFbGVtZW50OjpzYW5pdGl6ZVZhbHVlKCkuCiAgICAgdmlydHVhbCBTdHJp
bmcgc2FuaXRpemVWYWx1ZShjb25zdCBTdHJpbmcmKSBjb25zdDsKLSAgICB2aXJ0dWFsIGJvb2wg
aGFzVW5hY2NlcHRhYmxlVmFsdWUoKTsKIAogICAgIC8vIEV2ZW50IGhhbmRsZXJzCiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTnVtYmVySW5wdXRUeXBlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvTnVtYmVySW5wdXRUeXBlLmNwcAppbmRleCA3NDk4Y2M5OTEyMzgyMDliMWEz
MDUzNjZkNTFlOWZkN2E3OTNiODc3Li40NDBlZTdiOWJiNWM0MjU1OTI2Nzg0ZTViNjI5YjlhMTU5
OTI4NWQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL051bWJlcklucHV0VHlwZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9OdW1iZXJJbnB1dFR5cGUuY3BwCkBAIC0zOSw2
ICszOSw3IEBACiAjaW5jbHVkZSAiSFRNTFBhcnNlcklkaW9tcy5oIgogI2luY2x1ZGUgIklucHV0
VHlwZU5hbWVzLmgiCiAjaW5jbHVkZSAiS2V5Ym9hcmRFdmVudC5oIgorI2luY2x1ZGUgIkxvY2Fs
aXplZFN0cmluZ3MuaCIKICNpbmNsdWRlICJQbGF0Zm9ybUxvY2FsZS5oIgogI2luY2x1ZGUgIlJl
bmRlclRleHRDb250cm9sLmgiCiAjaW5jbHVkZSA8bGltaXRzPgpAQCAtMjEzLDE2ICsyMTQsNiBA
QCBTdHJpbmcgTnVtYmVySW5wdXRUeXBlOjpzZXJpYWxpemUoY29uc3QgRGVjaW1hbCYgdmFsdWUp
IGNvbnN0CiAgICAgcmV0dXJuIHNlcmlhbGl6ZUZvck51bWJlclR5cGUodmFsdWUpOwogfQogCi12
b2lkIE51bWJlcklucHV0VHlwZTo6aGFuZGxlQmx1ckV2ZW50KCkKLXsKLSAgICAvLyBSZXNldCB0
aGUgcmVuZGVyZXIgdmFsdWUsIHdoaWNoIG1pZ2h0IGJlIHVubWF0Y2hlZCB3aXRoIHRoZSBlbGVt
ZW50IHZhbHVlLgotICAgIGVsZW1lbnQoKS0+c2V0Rm9ybUNvbnRyb2xWYWx1ZU1hdGNoZXNSZW5k
ZXJlcihmYWxzZSk7Ci0KLSAgICAvLyBXZSBuZWVkIHRvIHJlc2V0IHRoZSByZW5kZXJlciB2YWx1
ZSBleHBsaWNpdGx5IGJlY2F1c2UgYW4gdW5hY2NlcHRhYmxlCi0gICAgLy8gcmVuZGVyZXIgdmFs
dWUgc2hvdWxkIGJlIHB1cmdlZCBiZWZvcmUgc3R5bGUgY2FsY3VsYXRpb24uCi0gICAgdXBkYXRl
SW5uZXJUZXh0VmFsdWUoKTsKLX0KLQogc3RhdGljIGJvb2wgaXNFKFVDaGFyIGNoKQogewogICAg
IHJldHVybiBjaCA9PSAnZScgfHwgY2ggPT0gJ0UnOwpAQCAtMjYwLDE0ICsyNTEsMTcgQEAgU3Ry
aW5nIE51bWJlcklucHV0VHlwZTo6c2FuaXRpemVWYWx1ZShjb25zdCBTdHJpbmcmIHByb3Bvc2Vk
VmFsdWUpIGNvbnN0CiAgICAgcmV0dXJuIGlzZmluaXRlKHBhcnNlVG9Eb3VibGVGb3JOdW1iZXJU
eXBlKHByb3Bvc2VkVmFsdWUpKSA/IHByb3Bvc2VkVmFsdWUgOiBlbXB0eVN0cmluZygpOwogfQog
Ci1ib29sIE51bWJlcklucHV0VHlwZTo6aGFzVW5hY2NlcHRhYmxlVmFsdWUoKQorYm9vbCBOdW1i
ZXJJbnB1dFR5cGU6Omhhc0JhZElucHV0KCkgY29uc3QKIHsKLSAgICBpZiAoIWVsZW1lbnQoKS0+
cmVuZGVyZXIoKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIFN0cmluZyBzdGFuZGFyZFZh
bHVlID0gY29udmVydEZyb21WaXNpYmxlVmFsdWUoZWxlbWVudCgpLT5pbm5lclRleHRWYWx1ZSgp
KTsKICAgICByZXR1cm4gIXN0YW5kYXJkVmFsdWUuaXNFbXB0eSgpICYmICFpc2Zpbml0ZShwYXJz
ZVRvRG91YmxlRm9yTnVtYmVyVHlwZShzdGFuZGFyZFZhbHVlKSk7CiB9CiAKK1N0cmluZyBOdW1i
ZXJJbnB1dFR5cGU6OmJhZElucHV0VGV4dCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHZhbGlkYXRp
b25NZXNzYWdlQmFkSW5wdXRGb3JOdW1iZXJUZXh0KCk7Cit9CisKIGJvb2wgTnVtYmVySW5wdXRU
eXBlOjpzaG91bGRSZXNwZWN0U3BlZWNoQXR0cmlidXRlKCkKIHsKICAgICByZXR1cm4gdHJ1ZTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTnVtYmVySW5wdXRUeXBlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL051bWJlcklucHV0VHlwZS5oCmluZGV4IDExY2NhNTU3YmViODIxMDJh
NjQ5OWIxMzQ2OWYxZjMwOTY1MzNmNDAuLmM3N2E5YTc4ZTRkMDQ5MDlmOGRhNjVkMmU5Mjg5ZThi
ODUyZDkxZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTnVtYmVySW5wdXRUeXBl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9OdW1iZXJJbnB1dFR5cGUuaApAQCAtNTMsMTIg
KzUzLDEyIEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIGhhbmRsZUtleWRvd25FdmVudChL
ZXlib2FyZEV2ZW50KikgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBEZWNpbWFsIHBhcnNlVG9OdW1i
ZXIoY29uc3QgU3RyaW5nJiwgY29uc3QgRGVjaW1hbCYpIGNvbnN0IE9WRVJSSURFOwogICAgIHZp
cnR1YWwgU3RyaW5nIHNlcmlhbGl6ZShjb25zdCBEZWNpbWFsJikgY29uc3QgT1ZFUlJJREU7Ci0g
ICAgdmlydHVhbCB2b2lkIGhhbmRsZUJsdXJFdmVudCgpIE9WRVJSSURFOwogICAgIHZpcnR1YWwg
U3RyaW5nIGxvY2FsaXplVmFsdWUoY29uc3QgU3RyaW5nJikgY29uc3QgT1ZFUlJJREU7CiAgICAg
dmlydHVhbCBTdHJpbmcgdmlzaWJsZVZhbHVlKCkgY29uc3QgT1ZFUlJJREU7CiAgICAgdmlydHVh
bCBTdHJpbmcgY29udmVydEZyb21WaXNpYmxlVmFsdWUoY29uc3QgU3RyaW5nJikgY29uc3QgT1ZF
UlJJREU7CiAgICAgdmlydHVhbCBTdHJpbmcgc2FuaXRpemVWYWx1ZShjb25zdCBTdHJpbmcmKSBj
b25zdCBPVkVSUklERTsKLSAgICB2aXJ0dWFsIGJvb2wgaGFzVW5hY2NlcHRhYmxlVmFsdWUoKSBP
VkVSUklERTsKKyAgICB2aXJ0dWFsIGJvb2wgaGFzQmFkSW5wdXQoKSBjb25zdCBPVkVSUklERTsK
KyAgICB2aXJ0dWFsIFN0cmluZyBiYWRJbnB1dFRleHQoKSBjb25zdCBPVkVSUklERTsKICAgICB2
aXJ0dWFsIGJvb2wgc2hvdWxkUmVzcGVjdFNwZWVjaEF0dHJpYnV0ZSgpIE9WRVJSSURFOwogICAg
IHZpcnR1YWwgYm9vbCBzdXBwb3J0c1BsYWNlaG9sZGVyKCkgY29uc3QgT1ZFUlJJREU7CiAgICAg
dmlydHVhbCBib29sIGlzTnVtYmVyRmllbGQoKSBjb25zdCBPVkVSUklERTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvVGV4dEZpZWxkSW5wdXRUeXBlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvVGV4dEZpZWxkSW5wdXRUeXBlLmNwcAppbmRleCBhNWVkY2IwYjMxZWViMmZhOTQw
OWIyNzIxMDMwMTEyNGQzNWNhZGEwLi4zOTJiY2ZhZTMxYjZhNGJjOGFkNTc3NzE5ODVlZmEyMDYz
ODVmZWUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1RleHRGaWVsZElucHV0VHlw
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9UZXh0RmllbGRJbnB1dFR5cGUuY3BwCkBA
IC00NTgsNyArNDU4LDcgQEAgdm9pZCBUZXh0RmllbGRJbnB1dFR5cGU6OnN1YnRyZWVIYXNDaGFu
Z2VkKCkKICAgICAvLyBzYW5pdGl6ZVZhbHVlKCkgaXMgbmVlZGVkIGJlY2F1c2UgSU1FIGlucHV0
IGRvZXNuJ3QgZGlzcGF0Y2ggQmVmb3JlVGV4dEluc2VydGVkRXZlbnQuCiAgICAgZWxlbWVudCgp
LT5zZXRWYWx1ZUZyb21SZW5kZXJlcihzYW5pdGl6ZVZhbHVlKGNvbnZlcnRGcm9tVmlzaWJsZVZh
bHVlKGVsZW1lbnQoKS0+aW5uZXJUZXh0VmFsdWUoKSkpKTsKICAgICBlbGVtZW50KCktPnVwZGF0
ZVBsYWNlaG9sZGVyVmlzaWJpbGl0eShmYWxzZSk7Ci0gICAgLy8gUmVjYWxjIGZvciA6aW52YWxp
ZCBhbmQgaGFzVW5hY2NlcHRhYmxlVmFsdWUoKSBjaGFuZ2UuCisgICAgLy8gUmVjYWxjIGZvciA6
aW52YWxpZCBjaGFuZ2UuCiAgICAgZWxlbWVudCgpLT5zZXROZWVkc1N0eWxlUmVjYWxjKCk7CiAK
ICAgICBkaWRTZXRWYWx1ZUJ5VXNlckVkaXQod2FzQ2hhbmdlZCA/IFZhbHVlQ2hhbmdlU3RhdGVD
aGFuZ2VkIDogVmFsdWVDaGFuZ2VTdGF0ZU5vbmUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9WYWxpZGl0eVN0YXRlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRpdHlT
dGF0ZS5jcHAKaW5kZXggNjQ5NzY1ZGY5MTQ2ODdkNTQ4ZjkwYmY1MzFkNDQ1N2RmNjY0YzZkMi4u
ZjA0ZWE3NmVmMmQxY2Y4NTI4MmM0NzJlNjI5Nzk0OGZkOTdiY2JkYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9WYWxpZGl0eVN0YXRlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL1ZhbGlkaXR5U3RhdGUuY3BwCkBAIC03Niw2ICs3NiwxMSBAQCBib29sIFZhbGlkaXR5U3Rh
dGU6OnN0ZXBNaXNtYXRjaCgpIGNvbnN0CiAgICAgcmV0dXJuIG1fY29udHJvbC0+c3RlcE1pc21h
dGNoKCk7CiB9CiAKK2Jvb2wgVmFsaWRpdHlTdGF0ZTo6YmFkSW5wdXQoKSBjb25zdAoreworICAg
IHJldHVybiBtX2NvbnRyb2wtPmhhc0JhZElucHV0KCk7Cit9CisKIGJvb2wgVmFsaWRpdHlTdGF0
ZTo6Y3VzdG9tRXJyb3IoKSBjb25zdAogewogICAgIHJldHVybiBtX2NvbnRyb2wtPmN1c3RvbUVy
cm9yKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1ZhbGlkaXR5U3RhdGUuaCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRpdHlTdGF0ZS5oCmluZGV4IDI4ZjllYzY0MDU1YzM0
MTdjZjg2NmNjMmQ0YmVkNmQ1MzA3ZGQwZmMuLjQ1MjczOWE3NzM3OGI5Mzg4ZThlNWJmYmJkZjY5
N2YwODZhN2ViNzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRpdHlTdGF0
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRpdHlTdGF0ZS5oCkBAIC01Miw2ICs1
Miw3IEBAIHB1YmxpYzoKICAgICBib29sIHJhbmdlVW5kZXJmbG93KCkgY29uc3Q7CiAgICAgYm9v
bCByYW5nZU92ZXJmbG93KCkgY29uc3Q7CiAgICAgYm9vbCBzdGVwTWlzbWF0Y2goKSBjb25zdDsK
KyAgICBib29sIGJhZElucHV0KCkgY29uc3Q7CiAgICAgYm9vbCBjdXN0b21FcnJvcigpIGNvbnN0
OwogICAgIGJvb2wgdmFsaWQoKSBjb25zdDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9WYWxpZGl0eVN0YXRlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRpdHlTdGF0
ZS5pZGwKaW5kZXggZGFlMzQzYjlhMTQ5NWJmZWUzNjgyYWI4YmJhMDVkZTJiODFjZDlmZS4uMTcw
YzQ1ZTY5ODU5MzljZTYwYThlNjZhZDE3ZTExOGNlOTUzOTMwOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9WYWxpZGl0eVN0YXRlLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L1ZhbGlkaXR5U3RhdGUuaWRsCkBAIC0zMCw2ICszMCw3IEBACiAgICAgcmVhZG9ubHkgYXR0cmli
dXRlIGJvb2xlYW4gICAgICAgICByYW5nZVVuZGVyZmxvdzsKICAgICByZWFkb25seSBhdHRyaWJ1
dGUgYm9vbGVhbiAgICAgICAgIHJhbmdlT3ZlcmZsb3c7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRl
IGJvb2xlYW4gICAgICAgICBzdGVwTWlzbWF0Y2g7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJv
b2xlYW4gICAgICAgICBiYWRJbnB1dDsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiAg
ICAgICAgIGN1c3RvbUVycm9yOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuICAgICAg
ICAgdmFsaWQ7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTG9jYWxp
emVkU3RyaW5ncy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Mb2NhbGl6ZWRTdHJpbmdz
LmNwcAppbmRleCAwMjc3MjIzNWZhODRmNTE5YmQ3MGVkNTk0YTdiMGVhMmIwMWZiODU2Li5kOWE0
MjMyNzFjNjEzZWY4MWQ1MzI3OGM2MGRmMDJiZTE4ODA5MjEyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9Mb2NhbGl6ZWRTdHJpbmdzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9Mb2NhbGl6ZWRTdHJpbmdzLmNwcApAQCAtOTkyLDQgKzk5MiwxMCBAQCBTdHJp
bmcgdmFsaWRhdGlvbk1lc3NhZ2VTdGVwTWlzbWF0Y2hUZXh0KGNvbnN0IFN0cmluZyYsIGNvbnN0
IFN0cmluZyYpCiAgICAgcmV0dXJuIFdFQl9VSV9TVFJJTkcoInN0ZXAgbWlzbWF0Y2giLCAiVmFs
aWRhdGlvbiBtZXNzYWdlIGZvciBpbnB1dCBmb3JtIGNvbnRyb2xzIHdpdGggdmFsdWUgbm90IHJl
c3BlY3RpbmcgdGhlIHN0ZXAgYXR0cmlidXRlIik7CiB9CiAKK1N0cmluZyB2YWxpZGF0aW9uTWVz
c2FnZUJhZElucHV0Rm9yTnVtYmVyVGV4dCgpCit7CisgICAgLy8gRklYTUU6IFByb3ZpZGUgaXRz
IG93biBtZXNzYWdlLgorICAgIHJldHVybiB2YWxpZGF0aW9uTWVzc2FnZVR5cGVNaXNtYXRjaFRl
eHQoKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vTG9jYWxpemVkU3RyaW5ncy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vTG9jYWxpemVkU3RyaW5ncy5oCmluZGV4IDY3MzI3NDhiMTIwODgyNjMzODI4YjVmZDI5ZmVi
NjBlOWZhOWIyZWQuLmJiNDkxNmU2ZDRmNDA5NWY1MzViZTIxZjMyNjk3ZTNlZDMwOGRlZDMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xvY2FsaXplZFN0cmluZ3MuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Mb2NhbGl6ZWRTdHJpbmdzLmgKQEAgLTI1Miw2ICsy
NTIsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIFN0cmluZyB2YWxpZGF0aW9uTWVzc2Fn
ZVJhbmdlVW5kZXJmbG93VGV4dChjb25zdCBTdHJpbmcmIG1pbmltdW0pOwogICAgIFN0cmluZyB2
YWxpZGF0aW9uTWVzc2FnZVJhbmdlT3ZlcmZsb3dUZXh0KGNvbnN0IFN0cmluZyYgbWF4aW11bSk7
CiAgICAgU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlU3RlcE1pc21hdGNoVGV4dChjb25zdCBTdHJp
bmcmIGJhc2UsIGNvbnN0IFN0cmluZyYgc3RlcCk7CisgICAgU3RyaW5nIHZhbGlkYXRpb25NZXNz
YWdlQmFkSW5wdXRGb3JOdW1iZXJUZXh0KCk7CisjaWYgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJ
RUxEU19VSSkKKyAgICBTdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2VCYWRJbnB1dEZvckRhdGVUaW1l
VGV4dCgpOworI2VuZGlmCiAjaWYgVVNFKFNPVVApCiAgICAgU3RyaW5nIHVuYWNjZXB0YWJsZVRM
U0NlcnRpZmljYXRlKCk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL3F0L0xvY2FsaXplZFN0cmluZ3NRdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9x
dC9Mb2NhbGl6ZWRTdHJpbmdzUXQuY3BwCmluZGV4IDdkZmZmMWZlOThmOGQ1OGY0Y2U2YjY4NzY3
MGFiZDczMWM2NWMxY2EuLjc3NjBjNTdkOWJiNTIzZWYxMmEyYmJjMDgzZWQ5MDlhOWUzMjgwZTgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3F0L0xvY2FsaXplZFN0cmluZ3NR
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vcXQvTG9jYWxpemVkU3RyaW5nc1F0
LmNwcApAQCAtNzExLDYgKzcxMSwxMiBAQCBTdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2VTdGVwTWlz
bWF0Y2hUZXh0KGNvbnN0IFN0cmluZyYgYmFzZSwgY29uc3QgU3RyaW5nJiBzdGVwKQogICAgIHJl
dHVybiBTdHJpbmcoKTsKIH0KIAorU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlQmFkSW5wdXRGb3JO
dW1iZXJUZXh0KCkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIHJldHVybiBTdHJpbmco
KTsKK30KKwogU3RyaW5nIGxvY2FsaXplZFN0cmluZyhjb25zdCBjaGFyKiBrZXkpCiB7CiAgICAg
cmV0dXJuIFN0cmluZzo6ZnJvbVVURjgoa2V5LCBzdHJsZW4oa2V5KSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Mb2NhbGl6ZWRTdHJpbmdzLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc3JjL0xvY2FsaXplZFN0cmluZ3MuY3BwCmluZGV4IGE1YzIwMjRmYTU3
Yzk1ZDE1MWQwNzhkZjQ1MWJkYTU5ZDhmNDI5ZWMuLjA3YmY4MTVlM2VmNGUzNTA5YmNhOTU5OTRk
M2FkOTRhNmM3MDk1MDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0xv
Y2FsaXplZFN0cmluZ3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0xvY2Fs
aXplZFN0cmluZ3MuY3BwCkBAIC01MDQsNCArNTA0LDE4IEBAIFN0cmluZyB2YWxpZGF0aW9uTWVz
c2FnZVN0ZXBNaXNtYXRjaFRleHQoY29uc3QgU3RyaW5nJiBiYXNlLCBjb25zdCBTdHJpbmcmIHN0
ZXApCiAgICAgcmV0dXJuIHF1ZXJ5KFdlYkxvY2FsaXplZFN0cmluZzo6VmFsaWRhdGlvblN0ZXBN
aXNtYXRjaCwgYmFzZSwgc3RlcCk7CiB9CiAKK1N0cmluZyB2YWxpZGF0aW9uTWVzc2FnZUJhZElu
cHV0Rm9yTnVtYmVyVGV4dCgpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4g
U3RyaW5nKCJCYWQgbnVtYmVyIik7Cit9CisKKyNpZiBFTkFCTEUoSU5QVVRfTVVMVElQTEVfRklF
TERTX1VJKQorU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlQmFkSW5wdXRGb3JEYXRlVGltZVRleHQo
KQoreworICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgcmV0dXJuIFN0cmluZygiQmFkIGRhdGUi
KTsKK30KKyNlbmRpZgorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNzY0NmEwNzU3
ZWE5MTY4Mzg4ZGQ4ZDM2MmQ4ZjFhYjFiYmIzYzEyNy4uNWY5MjhiZWZiZGU4NjY0ZjM2Y2JkZDFm
NzRhOWQ4ZDg2ODQwYmIwMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDEyLTExLTI1ICBLZW50
IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KKworICAgICAgICBJbXBsZW1lbnQgVmFsaWRp
dHlTdGF0ZTo6YmFkSW5wdXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEwMjg2MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxl
LWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtdmFs
aWRpdHktYmFkaW5wdXQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9kYXRldGlt
ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWUtbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJhZGlu
cHV0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9kYXRldGltZS1t
dWx0aXBsZS1maWVsZHMvZGF0ZXRpbWUtbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBs
ZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtdmFsaWRpdHktYmFkaW5wdXQt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwt
bXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJh
ZGlucHV0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUt
ZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21v
bnRoLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBmYXN0L2Zvcm1zL251bWJlci9udW1iZXItdW5hY2NlcHRhYmxlLXN0eWxlLWV4cGVjdGVk
LnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL251bWJlci9udW1iZXItdmFsaWRp
dHktYmFkaW5wdXQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL251
bWJlci9udW1iZXItdmFsaWRpdHktYmFkaW5wdXQuaHRtbDogUmVuYW1lZCBmcm9tIExheW91dFRl
c3RzL2Zhc3QvZm9ybXMvbnVtYmVyL251bWJlci11bmFjY2VwdGFibGUtc3R5bGUuaHRtbC4KKyAg
ICAgICAgKiBmYXN0L2Zvcm1zL3Jlc291cmNlcy9tdWx0aXBsZS1maWVsZHMtdmFsaWRpdHktYmFk
aW5wdXQuanM6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVs
ZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtdmFsaWRpdHktYmFkaW5wdXQtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVs
dGlwbGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZh
c3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMtdmFsaWRp
dHktYmFkaW5wdXQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3dl
ZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0
Lmh0bWw6IEFkZGVkLgorCiAyMDEyLTExLTI1ICBLdW5paGlrbyBTYWthbW90byAgPGtzYWthbW90
b0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW0Nocm9taXVtXSBBZGQgdGVzdHMgZm9yIGRhdGV0
aW1lL2RhdGV0aW1lLWxvY2FsIHN1Z2dlc3Rpb24gcGlja2VyCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRz
LXZhbGlkaXR5LWJhZGlucHV0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
ZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtdmFsaWRpdHktYmFkaW5w
dXQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFmZTBhNmY2NDhkOTA2MjMyMWI1MjI0OWI5MGJh
NjVlNGVhMWM5OTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2Rh
dGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIwIEBACitBIGRhdGUgaW5wdXQgZmllbGRzIHdpdGgg
YSBiYWQgdXNlciBpbnB1dCBzaG91bGQgbWFrZSB2YWxpZGl0eS5iYWRJbnB1dCB0cnVlIGFuZCBo
YXZlIDppbnZhbGlkIHN0eWxlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworSW5p
dGlhbCBzdGF0ZS4gVGhlIGVsbWVudCBoYXMgbm8gdmFsdWUuCitQQVNTIGNvbG9yT2YoaW5wdXQp
IGlzIG5vdCBpbnZhbGlkU3R5bGVDb2xvcgorUEFTUyBpbnB1dC52YWxpZGl0eS5iYWRJbnB1dCBp
cyBmYWxzZQorU2V0IGEgdmFsdWUgdG8gdGhlIGZpcnN0IHN1Yi1maWVsZC4gVGhlIGVsZW1lbnQg
YmVjb21lcyBiYWRJbnB1dC4KK1BBU1MgY29sb3JPZihpbnB1dCkgaXMgaW52YWxpZFN0eWxlQ29s
b3IKK1BBU1MgaW5wdXQudmFsaWRpdHkuYmFkSW5wdXQgaXMgdHJ1ZQorU2V0IGFuIGludmFsaWQg
ZGF0ZSwgMjAxMi0wMi0zMS4KK1BBU1MgaW5wdXQudmFsaWRpdHkuYmFkSW5wdXQgaXMgZmFsc2UK
K1BBU1MgaW5wdXQudmFsdWUgaXMgIiIKK1BBU1MgaW5wdXQudmFsaWRpdHkuYmFkSW5wdXQgaXMg
dHJ1ZQorUEFTUyBjb2xvck9mKGlucHV0KSBpcyBpbnZhbGlkU3R5bGVDb2xvcgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1m
aWVsZHMtdmFsaWRpdHktYmFkaW5wdXQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0
ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtdmFsaWRpdHktYmFkaW5wdXQu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5jMWE3ODllZWZmNGJjZTQwODkyOTYyNzUyYjRhMThkMGYzOWNjYjUw
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxl
LWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC5odG1sCkBAIC0w
LDAgKzEsMTQgQEAKKzwhRE9DVFlQRSBodG1sPgorPHN0eWxlPgorOmludmFsaWQgeworICAgIGJh
Y2tncm91bmQtY29sb3I6ICNmZjAwMDA7Cit9Cis8L3N0eWxlPgorPGJvZHk+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi9yZXNvdXJjZXMvbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0LmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQ+Cit0ZXN0QmFkSW5wdXQoJ2RhdGUnKTsKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGltZS1tdWx0
aXBsZS1maWVsZHMvZGF0ZXRpbWUtbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWUtbXVsdGlwbGUtZmll
bGRzL2RhdGV0aW1lLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uM2E0ZWU0NThlNWIyMjEzMjEyNTZkNmQzNzg4MjMxOWE4M2VkMjZiZQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWUtbXVsdGlw
bGUtZmllbGRzL2RhdGV0aW1lLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwyMCBAQAorQSBkYXRldGltZSBpbnB1dCBmaWVsZHMgd2l0aCBh
IGJhZCB1c2VyIGlucHV0IHNob3VsZCBtYWtlIHZhbGlkaXR5LmJhZElucHV0IHRydWUgYW5kIGhh
dmUgOmludmFsaWQgc3R5bGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitJbml0
aWFsIHN0YXRlLiBUaGUgZWxtZW50IGhhcyBubyB2YWx1ZS4KK1BBU1MgY29sb3JPZihpbnB1dCkg
aXMgbm90IGludmFsaWRTdHlsZUNvbG9yCitQQVNTIGlucHV0LnZhbGlkaXR5LmJhZElucHV0IGlz
IGZhbHNlCitTZXQgYSB2YWx1ZSB0byB0aGUgZmlyc3Qgc3ViLWZpZWxkLiBUaGUgZWxlbWVudCBi
ZWNvbWVzIGJhZElucHV0LgorUEFTUyBjb2xvck9mKGlucHV0KSBpcyBpbnZhbGlkU3R5bGVDb2xv
cgorUEFTUyBpbnB1dC52YWxpZGl0eS5iYWRJbnB1dCBpcyB0cnVlCitTZXQgYW4gaW52YWxpZCBk
YXRlLCAyMDEyLTAyLTMxLgorUEFTUyBpbnB1dC52YWxpZGl0eS5iYWRJbnB1dCBpcyBmYWxzZQor
UEFTUyBpbnB1dC52YWx1ZSBpcyAiIgorUEFTUyBpbnB1dC52YWxpZGl0eS5iYWRJbnB1dCBpcyB0
cnVlCitQQVNTIGNvbG9yT2YoaW5wdXQpIGlzIGludmFsaWRTdHlsZUNvbG9yCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGltZS1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWUtbXVs
dGlwbGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL2RhdGV0aW1lLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZS1tdWx0aXBsZS1maWVsZHMtdmFs
aWRpdHktYmFkaW5wdXQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44ODJhMGYxMzcxZTg4NmEyODc5NDg3NmVh
YmY2MDFhNDgxM2Y1ZTYxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9kYXRldGltZS1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWUtbXVsdGlwbGUtZmllbGRzLXZhbGlk
aXR5LWJhZGlucHV0Lmh0bWwKQEAgLTAsMCArMSwxNCBAQAorPCFET0NUWVBFIGh0bWw+Cis8c3R5
bGU+Cis6aW52YWxpZCB7CisgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDAwMDsKK30KKzwvc3R5
bGU+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9tdWx0aXBsZS1maWVsZHMt
dmFsaWRpdHktYmFkaW5wdXQuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK3Rlc3RCYWRJbnB1dCgn
ZGF0ZXRpbWUnKTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2Fs
LW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9j
YWwtbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4xNjVmYTQ4ODM0Mjg5NDRiMGE1Y2ExMDA0M2QyNTE3ZDRlZmZjMGE1Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZp
ZWxkcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwyMCBAQAorQSBkYXRldGltZS1sb2NhbCBpbnB1dCBmaWVsZHMg
d2l0aCBhIGJhZCB1c2VyIGlucHV0IHNob3VsZCBtYWtlIHZhbGlkaXR5LmJhZElucHV0IHRydWUg
YW5kIGhhdmUgOmludmFsaWQgc3R5bGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
CitJbml0aWFsIHN0YXRlLiBUaGUgZWxtZW50IGhhcyBubyB2YWx1ZS4KK1BBU1MgY29sb3JPZihp
bnB1dCkgaXMgbm90IGludmFsaWRTdHlsZUNvbG9yCitQQVNTIGlucHV0LnZhbGlkaXR5LmJhZElu
cHV0IGlzIGZhbHNlCitTZXQgYSB2YWx1ZSB0byB0aGUgZmlyc3Qgc3ViLWZpZWxkLiBUaGUgZWxl
bWVudCBiZWNvbWVzIGJhZElucHV0LgorUEFTUyBjb2xvck9mKGlucHV0KSBpcyBpbnZhbGlkU3R5
bGVDb2xvcgorUEFTUyBpbnB1dC52YWxpZGl0eS5iYWRJbnB1dCBpcyB0cnVlCitTZXQgYW4gaW52
YWxpZCBkYXRlLCAyMDEyLTAyLTMxLgorUEFTUyBpbnB1dC52YWxpZGl0eS5iYWRJbnB1dCBpcyBm
YWxzZQorUEFTUyBpbnB1dC52YWx1ZSBpcyAiIgorUEFTUyBpbnB1dC52YWxpZGl0eS5iYWRJbnB1
dCBpcyB0cnVlCitQQVNTIGNvbG9yT2YoaW5wdXQpIGlzIGludmFsaWRTdHlsZUNvbG9yCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9k
YXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9kYXRldGlt
ZWxvY2FsLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmNlNDFmZDM4YmU3NDY3MjY0ZTNjYWMyY2FjYzQxNjY5MzU1MjBhNTcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRz
L2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0Lmh0bWwKQEAg
LTAsMCArMSwxNCBAQAorPCFET0NUWVBFIGh0bWw+Cis8c3R5bGU+Cis6aW52YWxpZCB7CisgICAg
YmFja2dyb3VuZC1jb2xvcjogI2ZmMDAwMDsKK30KKzwvc3R5bGU+Cis8Ym9keT4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uL3Jlc291cmNlcy9tdWx0aXBsZS1maWVsZHMtdmFsaWRpdHktYmFkaW5wdXQuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdD4KK3Rlc3RCYWRJbnB1dCgnZGF0ZXRpbWUtbG9jYWwnKTsKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9t
b250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJhZGlu
cHV0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUt
ZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMDgwYjUzOTUzZmE1YThiZDk1NTFmZmEwNWY1OTk4YmQ5ZDA2MjJlMgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUt
ZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxNSBAQAorQSBtb250aCBpbnB1dCBmaWVsZHMgd2l0aCBhIGJhZCB1c2Vy
IGlucHV0IHNob3VsZCBtYWtlIHZhbGlkaXR5LmJhZElucHV0IHRydWUgYW5kIGhhdmUgOmludmFs
aWQgc3R5bGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitJbml0aWFsIHN0YXRl
LiBUaGUgZWxtZW50IGhhcyBubyB2YWx1ZS4KK1BBU1MgY29sb3JPZihpbnB1dCkgaXMgbm90IGlu
dmFsaWRTdHlsZUNvbG9yCitQQVNTIGlucHV0LnZhbGlkaXR5LmJhZElucHV0IGlzIGZhbHNlCitT
ZXQgYSB2YWx1ZSB0byB0aGUgZmlyc3Qgc3ViLWZpZWxkLiBUaGUgZWxlbWVudCBiZWNvbWVzIGJh
ZElucHV0LgorUEFTUyBjb2xvck9mKGlucHV0KSBpcyBpbnZhbGlkU3R5bGVDb2xvcgorUEFTUyBp
bnB1dC52YWxpZGl0eS5iYWRJbnB1dCBpcyB0cnVlCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5
LWJhZGlucHV0Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZp
ZWxkcy9tb250aC1tdWx0aXBsZS1maWVsZHMtdmFsaWRpdHktYmFkaW5wdXQuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4zNTZlZWE1MjgxOTcyMTk1M2FjNjA4NWQyZDllZWExM2Q2MjgxYjA2Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9u
dGgtbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0Lmh0bWwKQEAgLTAsMCArMSwxNCBA
QAorPCFET0NUWVBFIGh0bWw+Cis8c3R5bGU+Cis6aW52YWxpZCB7CisgICAgYmFja2dyb3VuZC1j
b2xvcjogI2ZmMDAwMDsKK30KKzwvc3R5bGU+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIuLi8uLi9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jl
c291cmNlcy9tdWx0aXBsZS1maWVsZHMtdmFsaWRpdHktYmFkaW5wdXQuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdD4KK3Rlc3RCYWRJbnB1dCgnbW9udGgnKTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9udW1iZXIvbnVtYmVyLXVuYWNjZXB0
YWJsZS1zdHlsZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL251bWJlci9u
dW1iZXItdW5hY2NlcHRhYmxlLXN0eWxlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggYjdjN2RiMjk3YmY0Y2M0YzcyNGYxNmExZWI3YzhkNDA2ODIwMTAzMC4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL251bWJlci9udW1iZXItdW5hY2NlcHRhYmxlLXN0eWxlLWV4cGVjdGVkLnR4dAor
KysgL2Rldi9udWxsCkBAIC0xLDI1ICswLDAgQEAKLUEgbnVtYmVyIGlucHV0IGZpZWxkcyB3aXRo
IGFuIHVuYWNjZXB0YWJsZSBzdHJpbmcgc2hvdWxkIGhhdmUgOmludmFsaWQgc3R5bGUuCi0KLU9u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1Jbml0aWFsIHN0YXRlLiBUaGUgZWxtZW50IGhh
cyBubyB2YWx1ZS4KLVBBU1MgY29sb3JPZihudW1iZXIpICE9IGludmFsaWRTdHlsZUNvbG9yIGlz
IHRydWUKLVR5cGUgJy0nLiBUaGUgcmVuZGVyZXIgdmFsdWUgYmVjb21lcyB1bmFjY2VwdGFibGUu
Ci1QQVNTIGNvbG9yT2YobnVtYmVyKSBpcyBpbnZhbGlkU3R5bGVDb2xvcgotUEFTUyBudW1iZXIu
dmFsaWRpdHkudmFsaWQgaXMgdHJ1ZQotUEFTUyBudW1iZXIudmFsdWUgaXMgIiIKLVR5cGUgJzEn
IGFkZGl0aW9uYWxseS4gVGhlIHJlbmRlcmVyIHZhbHVlIGJlY29tZXMgYWNjZXB0YWJsZS4KLVBB
U1MgY29sb3JPZihudW1iZXIpICE9IGludmFsaWRTdHlsZUNvbG9yIGlzIHRydWUKLVBBU1MgbnVt
YmVyLnZhbHVlIGlzICItMSIKLVR5cGUgJ2EnIGFkZGl0aW9uYWxseS4gVGhlIHJlbmRlcmVyIHZh
bHVlIGJlY29tZXMgdW5hY2NlcHRhYmxlIGFnYWluLgotUEFTUyBjb2xvck9mKG51bWJlcikgaXMg
aW52YWxpZFN0eWxlQ29sb3IKLVBBU1MgbnVtYmVyLnZhbHVlIGlzICIiCi1UaGUgZWxlbWVudCBs
b3N0cyBmb2N1cy4gVGhlIHVuYWNjZXB0YWJsZSB2YWx1ZSBzaG91bGQgYmUgcHVyZ2VkIGFuZCB0
aGUgc3R5bGUgc2hvdWxkIGJlIG5vcm1hbC4KLVBBU1MgY29sb3JPZihudW1iZXIpICE9IGludmFs
aWRTdHlsZUNvbG9yIGlzIHRydWUKLVBBU1MgZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCkudG9TdHJp
bmcoKSBpcyAiIgotUEFTUyBudW1iZXIudmFsdWUgaXMgIiIKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL251bWJlci9udW1iZXItdW5hY2NlcHRhYmxlLXN0eWxlLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL251bWJlci9udW1iZXItdW5hY2NlcHRhYmxlLXN0eWxlLmh0bWwKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNiOTM3MjE5ZWEzNTQ1ZmI0NjdiYTRmYzZhYzAz
MWQxYzJjYmNiYWEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9udW1iZXIvbnVtYmVyLXVuYWNjZXB0YWJsZS1zdHls
ZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNjAgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08
aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxzdHlsZT4KLTppbnZhbGlkIHsKLSAgYmFja2dyb3Vu
ZC1jb2xvcjogI2ZmMDAwMDsKLX0KLTwvc3R5bGU+Ci08L2hlYWQ+Ci08Ym9keT4KLTxwIGlkPSJk
ZXNjcmlwdGlvbiI+PC9wPgotPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci08ZGl2IGlkPXBhcmVu
dD4KLTxpbnB1dCB0eXBlPW51bWJlciBpZD1udW1iZXI+Ci08aW5wdXQgaWQ9YW5vdGhlcj4KLTwv
ZGl2PgotPHNjcmlwdD4KLWRlc2NyaXB0aW9uKCdBIG51bWJlciBpbnB1dCBmaWVsZHMgd2l0aCBh
biB1bmFjY2VwdGFibGUgc3RyaW5nIHNob3VsZCBoYXZlIDppbnZhbGlkIHN0eWxlLicpOwotCi1m
dW5jdGlvbiBjb2xvck9mKGVsKSB7Ci0gICAgcmV0dXJuIGRvY3VtZW50LmRlZmF1bHRWaWV3Lmdl
dENvbXB1dGVkU3R5bGUoZWwsIG51bGwpLmdldFByb3BlcnR5VmFsdWUoJ2JhY2tncm91bmQtY29s
b3InKTsKLX0KLXZhciBpbnZhbGlkU3R5bGVDb2xvciA9ICdyZ2IoMjU1LCAwLCAwKSc7Ci0KLXZh
ciBudW1iZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbnVtYmVyJyk7Ci1udW1iZXIuZm9j
dXMoKTsKLWRlYnVnKCdJbml0aWFsIHN0YXRlLiBUaGUgZWxtZW50IGhhcyBubyB2YWx1ZS4nKTsK
LXNob3VsZEJlVHJ1ZSgnY29sb3JPZihudW1iZXIpICE9IGludmFsaWRTdHlsZUNvbG9yJyk7Ci0K
LWRlYnVnKCJUeXBlICctJy4gVGhlIHJlbmRlcmVyIHZhbHVlIGJlY29tZXMgdW5hY2NlcHRhYmxl
LiIpOwotZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ0luc2VydFRleHQnLCBmYWxzZSwgJy0nKTsKLXNo
b3VsZEJlKCdjb2xvck9mKG51bWJlciknLCAnaW52YWxpZFN0eWxlQ29sb3InKTsKLXNob3VsZEJl
VHJ1ZSgnbnVtYmVyLnZhbGlkaXR5LnZhbGlkJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ251
bWJlci52YWx1ZScsICcnKTsKLQotZGVidWcoIlR5cGUgJzEnIGFkZGl0aW9uYWxseS4gVGhlIHJl
bmRlcmVyIHZhbHVlIGJlY29tZXMgYWNjZXB0YWJsZS4iKTsKLWRvY3VtZW50LmV4ZWNDb21tYW5k
KCdJbnNlcnRUZXh0JywgZmFsc2UsICcxJyk7Ci1zaG91bGRCZVRydWUoJ2NvbG9yT2YobnVtYmVy
KSAhPSBpbnZhbGlkU3R5bGVDb2xvcicpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdudW1iZXIu
dmFsdWUnLCAnLTEnKTsKLQotZGVidWcoIlR5cGUgJ2EnIGFkZGl0aW9uYWxseS4gVGhlIHJlbmRl
cmVyIHZhbHVlIGJlY29tZXMgdW5hY2NlcHRhYmxlIGFnYWluLiIpOwotZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoJ0luc2VydFRleHQnLCBmYWxzZSwgJ2EnKTsKLXNob3VsZEJlKCdjb2xvck9mKG51bWJl
ciknLCAnaW52YWxpZFN0eWxlQ29sb3InKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnbnVtYmVy
LnZhbHVlJywgJycpOwotCi1kZWJ1ZygiVGhlIGVsZW1lbnQgbG9zdHMgZm9jdXMuIFRoZSB1bmFj
Y2VwdGFibGUgdmFsdWUgc2hvdWxkIGJlIHB1cmdlZCBhbmQgdGhlIHN0eWxlIHNob3VsZCBiZSBu
b3JtYWwuIik7Ci1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYW5vdGhlcicpLmZvY3VzKCk7Ci1z
aG91bGRCZVRydWUoJ2NvbG9yT2YobnVtYmVyKSAhPSBpbnZhbGlkU3R5bGVDb2xvcicpOwotLy8g
VmlzaWJsdWUgdmFsdWUgaXMgbm90ICctMWEnLgotbnVtYmVyLmZvY3VzKCk7Ci1kb2N1bWVudC5l
eGVjQ29tbWFuZCgnU2VsZWN0QWxsJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2RvY3VtZW50
LmdldFNlbGVjdGlvbigpLnRvU3RyaW5nKCknLCAnJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmco
J251bWJlci52YWx1ZScsICcnKTsKLQotZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3BhcmVudCcp
LmlubmVySFRNTCA9ICcnOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbnVtYmVyL251bWJlci12YWxpZGl0
eS1iYWRpbnB1dC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL251bWJlci9u
dW1iZXItdmFsaWRpdHktYmFkaW5wdXQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY4Yzc2MzFl
NDkwMDY2M2M3NDljZmZjMWViNDQ1MWI0OTIxYjg1OWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL251bWJlci9udW1iZXItdmFsaWRpdHktYmFkaW5wdXQtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzIgQEAKK0EgbnVtYmVyIGlucHV0IGZpZWxkcyB3aXRoIGEgYmFk
IGlucHV0IHN0cmluZyBzaG91bGQgbWFrZSB2YWxpZGl0eS5iYWRJbnB1dCB0cnVlIGFuZCBoYXZl
IDppbnZhbGlkIHN0eWxlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworSW5pdGlh
bCBzdGF0ZS4gVGhlIGVsbWVudCBoYXMgbm8gdmFsdWUuCitQQVNTIGNvbG9yT2YobnVtYmVyKSAh
PSBpbnZhbGlkU3R5bGVDb2xvciBpcyB0cnVlCitQQVNTIG51bWJlci52YWxpZGl0eS5iYWRJbnB1
dCBpcyBmYWxzZQorVHlwZSAnLScuIFRoZSBlbGVtZW50IGJlY29tZXMgYmFkSW5wdXQuCitQQVNT
IGNvbG9yT2YobnVtYmVyKSBpcyBpbnZhbGlkU3R5bGVDb2xvcgorUEFTUyBudW1iZXIudmFsaWRp
dHkudmFsaWQgaXMgZmFsc2UKK1BBU1MgbnVtYmVyLnZhbGlkaXR5LmJhZElucHV0IGlzIHRydWUK
K1BBU1MgbnVtYmVyLnZhbHVlIGlzICIiCitUeXBlICcxJyBhZGRpdGlvbmFsbHkuIFRoZSBlbGVt
ZW50IGJlY29tZXMgdmFsaWQuCitQQVNTIGNvbG9yT2YobnVtYmVyKSAhPSBpbnZhbGlkU3R5bGVD
b2xvciBpcyB0cnVlCitQQVNTIG51bWJlci52YWxpZGl0eS5iYWRJbnB1dCBpcyBmYWxzZQorUEFT
UyBudW1iZXIudmFsdWUgaXMgIi0xIgorVHlwZSAnYScgYWRkaXRpb25hbGx5LiBUaGUgZWxlbWVu
dCBiZWNvbWVzIGJhZElucHV0IGFnYWluLgorUEFTUyBjb2xvck9mKG51bWJlcikgaXMgaW52YWxp
ZFN0eWxlQ29sb3IKK1BBU1MgbnVtYmVyLnZhbGlkaXR5LmJhZElucHV0IGlzIHRydWUKK1BBU1Mg
bnVtYmVyLnZhbHVlIGlzICIiCitUaGUgZWxlbWVudCBsb3N0cyBmb2N1cy4gVGhlIGVsZW1lbnQg
c3RhdGUgc2hvdWxkIG5vdCBiZSBjaGFuZ2VkLgorUEFTUyBjb2xvck9mKG51bWJlcikgaXMgaW52
YWxpZFN0eWxlQ29sb3IKK1BBU1MgbnVtYmVyLnZhbGlkaXR5LmJhZElucHV0IGlzIHRydWUKK1BB
U1MgZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCkudG9TdHJpbmcoKSBpcyAiLTFhIgorUEFTUyBudW1i
ZXIudmFsdWUgaXMgIiIKK1RoZSBlbGVtZW50IGxvc3RzIGEgcmVuZGVyZXIuIFRoZSBlbGVtZW50
IHN0YXRlIHNob3VsZCBub3QgYmUgY2hhbmdlZC4KK1BBU1MgbnVtYmVyLnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7IG51bWJlci52YWxpZGl0eS5iYWRJbnB1dCBpcyB0cnVlCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9udW1iZXIvbnVtYmVyLXZhbGlkaXR5LWJhZGlucHV0Lmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL251bWJlci9udW1iZXItdmFsaWRpdHktYmFkaW5wdXQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4wNmM2YzBhNGQ1Y2I5MjgwOTA2NGY3MGY0NmE3NWU5OTM0NTA5N2RiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9udW1iZXIvbnVtYmVyLXZh
bGlkaXR5LWJhZGlucHV0Lmh0bWwKQEAgLTAsMCArMSw2OCBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KKzppbnZhbGlkIHsKKyAgYmFja2dyb3Vu
ZC1jb2xvcjogI2ZmMDAwMDsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJk
ZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8ZGl2IGlkPXBhcmVu
dD4KKzxpbnB1dCB0eXBlPW51bWJlciBpZD1udW1iZXI+Cis8aW5wdXQgaWQ9YW5vdGhlcj4KKzwv
ZGl2PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCdBIG51bWJlciBpbnB1dCBmaWVsZHMgd2l0aCBh
IGJhZCBpbnB1dCBzdHJpbmcgc2hvdWxkIG1ha2UgdmFsaWRpdHkuYmFkSW5wdXQgdHJ1ZSBhbmQg
aGF2ZSA6aW52YWxpZCBzdHlsZS4nKTsKKworZnVuY3Rpb24gY29sb3JPZihlbCkgeworICAgIHJl
dHVybiBkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKGVsLCBudWxsKS5nZXRQ
cm9wZXJ0eVZhbHVlKCdiYWNrZ3JvdW5kLWNvbG9yJyk7Cit9Cit2YXIgaW52YWxpZFN0eWxlQ29s
b3IgPSAncmdiKDI1NSwgMCwgMCknOworCit2YXIgbnVtYmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ251bWJlcicpOworbnVtYmVyLmZvY3VzKCk7CitkZWJ1ZygnSW5pdGlhbCBzdGF0ZS4g
VGhlIGVsbWVudCBoYXMgbm8gdmFsdWUuJyk7CitzaG91bGRCZVRydWUoJ2NvbG9yT2YobnVtYmVy
KSAhPSBpbnZhbGlkU3R5bGVDb2xvcicpOworc2hvdWxkQmVGYWxzZSgnbnVtYmVyLnZhbGlkaXR5
LmJhZElucHV0Jyk7CisKK2RlYnVnKCJUeXBlICctJy4gVGhlIGVsZW1lbnQgYmVjb21lcyBiYWRJ
bnB1dC4iKTsKK2RvY3VtZW50LmV4ZWNDb21tYW5kKCdJbnNlcnRUZXh0JywgZmFsc2UsICctJyk7
CitzaG91bGRCZSgnY29sb3JPZihudW1iZXIpJywgJ2ludmFsaWRTdHlsZUNvbG9yJyk7CitzaG91
bGRCZUZhbHNlKCdudW1iZXIudmFsaWRpdHkudmFsaWQnKTsKK3Nob3VsZEJlVHJ1ZSgnbnVtYmVy
LnZhbGlkaXR5LmJhZElucHV0Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ251bWJlci52YWx1
ZScsICcnKTsKKworZGVidWcoIlR5cGUgJzEnIGFkZGl0aW9uYWxseS4gVGhlIGVsZW1lbnQgYmVj
b21lcyB2YWxpZC4iKTsKK2RvY3VtZW50LmV4ZWNDb21tYW5kKCdJbnNlcnRUZXh0JywgZmFsc2Us
ICcxJyk7CitzaG91bGRCZVRydWUoJ2NvbG9yT2YobnVtYmVyKSAhPSBpbnZhbGlkU3R5bGVDb2xv
cicpOworc2hvdWxkQmVGYWxzZSgnbnVtYmVyLnZhbGlkaXR5LmJhZElucHV0Jyk7CitzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ251bWJlci52YWx1ZScsICctMScpOworCitkZWJ1ZygiVHlwZSAnYScg
YWRkaXRpb25hbGx5LiBUaGUgZWxlbWVudCBiZWNvbWVzIGJhZElucHV0IGFnYWluLiIpOworZG9j
dW1lbnQuZXhlY0NvbW1hbmQoJ0luc2VydFRleHQnLCBmYWxzZSwgJ2EnKTsKK3Nob3VsZEJlKCdj
b2xvck9mKG51bWJlciknLCAnaW52YWxpZFN0eWxlQ29sb3InKTsKK3Nob3VsZEJlVHJ1ZSgnbnVt
YmVyLnZhbGlkaXR5LmJhZElucHV0Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ251bWJlci52
YWx1ZScsICcnKTsKKworZGVidWcoIlRoZSBlbGVtZW50IGxvc3RzIGZvY3VzLiBUaGUgZWxlbWVu
dCBzdGF0ZSBzaG91bGQgbm90IGJlIGNoYW5nZWQuIik7Citkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgnYW5vdGhlcicpLmZvY3VzKCk7CitzaG91bGRCZSgnY29sb3JPZihudW1iZXIpJywgJ2ludmFs
aWRTdHlsZUNvbG9yJyk7CitzaG91bGRCZVRydWUoJ251bWJlci52YWxpZGl0eS5iYWRJbnB1dCcp
OworLy8gVmlzaWJsZSB2YWx1ZSBpcyAnLTFhJy4KK251bWJlci5mb2N1cygpOworZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoJ1NlbGVjdEFsbCcpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdkb2N1bWVu
dC5nZXRTZWxlY3Rpb24oKS50b1N0cmluZygpJywgJy0xYScpOworc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCdudW1iZXIudmFsdWUnLCAnJyk7CisKK2RlYnVnKCJUaGUgZWxlbWVudCBsb3N0cyBhIHJl
bmRlcmVyLiBUaGUgZWxlbWVudCBzdGF0ZSBzaG91bGQgbm90IGJlIGNoYW5nZWQuIik7CitzaG91
bGRCZVRydWUoJ251bWJlci5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOyBudW1iZXIudmFsaWRpdHku
YmFkSW5wdXQnKTsKKworZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3BhcmVudCcpLmlubmVySFRN
TCA9ICcnOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvcmVzb3VyY2VzL211bHRpcGxlLWZpZWxkcy12YWxp
ZGl0eS1iYWRpbnB1dC5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvcmVzb3VyY2VzL211bHRp
cGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wODFlZDU5ZmZhYmI5
MGJkYzM4ODMxMzU3NGUyZjFkNTNkZDRmMmMxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9yZXNvdXJjZXMvbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0
LmpzCkBAIC0wLDAgKzEsNDQgQEAKK3ZhciBpbnZhbGlkU3R5bGVDb2xvciA9ICdyZ2IoMjU1LCAw
LCAwKSc7Cit2YXIgaW5wdXQ7Cit2YXIgcXVpZXQgPSB0cnVlOworCitmdW5jdGlvbiBjb2xvck9m
KGVsKSB7CisgICAgcmV0dXJuIGRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUo
ZWwsIG51bGwpLmdldFByb3BlcnR5VmFsdWUoJ2JhY2tncm91bmQtY29sb3InKTsKK30KK2Z1bmN0
aW9uIHRlc3RCYWRJbnB1dCh0eXBlKSB7CisgICAgaWYgKCF3aW5kb3cuZXZlbnRTZW5kZXIpIHsK
KyAgICAgICAgZGVidWcoJ05lZWRzIHRvIHJ1biB0aGlzIG9uIERSVC9XVFIuJyk7CisgICAgICAg
IHJldHVybjsKKyAgICB9CisgICAgZGVzY3JpcHRpb24oJ0EgJyArIHR5cGUgKyAnIGlucHV0IGZp
ZWxkcyB3aXRoIGEgYmFkIHVzZXIgaW5wdXQgc2hvdWxkIG1ha2UgdmFsaWRpdHkuYmFkSW5wdXQg
dHJ1ZSBhbmQgaGF2ZSA6aW52YWxpZCBzdHlsZS4nKTsKKyAgICBpbnB1dCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7CisgICAgaW5wdXQudHlwZSA9IHR5cGU7CisgICAgZG9jdW1l
bnQuYm9keS5hcHBlbmRDaGlsZChpbnB1dCk7CisgICAgaW5wdXQuZm9jdXMoKTsKKworICAgIGRl
YnVnKCdJbml0aWFsIHN0YXRlLiBUaGUgZWxtZW50IGhhcyBubyB2YWx1ZS4nKTsKKyAgICBzaG91
bGROb3RCZSgnY29sb3JPZihpbnB1dCknLCAnaW52YWxpZFN0eWxlQ29sb3InKTsKKyAgICBzaG91
bGRCZUZhbHNlKCdpbnB1dC52YWxpZGl0eS5iYWRJbnB1dCcpOworCisgICAgZGVidWcoJ1NldCBh
IHZhbHVlIHRvIHRoZSBmaXJzdCBzdWItZmllbGQuIFRoZSBlbGVtZW50IGJlY29tZXMgYmFkSW5w
dXQuJyk7CisgICAgZXZlbnRTZW5kZXIua2V5RG93bigndXBBcnJvdycpOworICAgIHNob3VsZEJl
KCdjb2xvck9mKGlucHV0KScsICdpbnZhbGlkU3R5bGVDb2xvcicpOworICAgIHNob3VsZEJlVHJ1
ZSgnaW5wdXQudmFsaWRpdHkuYmFkSW5wdXQnKTsKKworICAgIGlmICh0eXBlID09ICdkYXRlJyB8
fCB0eXBlPT0gJ2RhdGV0aW1lJyB8fCB0eXBlID09ICdkYXRldGltZS1sb2NhbCcpIHsKKyAgICAg
ICAgZGVidWcoJ1NldCBhbiBpbnZhbGlkIGRhdGUsIDIwMTItMDItMzEuJyk7CisgICAgICAgIGlm
ICh0eXBlID09ICdkYXRlJykKKyAgICAgICAgICAgIGlucHV0LnZhbHVlID0gJzIwMTItMDItMDEn
OworICAgICAgICBlbHNlIGlmICh0eXBlID09ICdkYXRldGltZScpCisgICAgICAgICAgICBpbnB1
dC52YWx1ZSA9ICcyMDEyLTAyLTAxVDAzOjA0Wic7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAg
IGlucHV0LnZhbHVlID0gJzIwMTItMDItMDFUMDM6MDQnOworICAgICAgICBzaG91bGROb3RCZSgn
Y29sb3JPZihpbnB1dCknLCAnaW52YWxpZFN0eWxlQ29sb3InLCBxdWlldCk7CisgICAgICAgIHNo
b3VsZEJlRmFsc2UoJ2lucHV0LnZhbGlkaXR5LmJhZElucHV0JywgcXVpZXQpOworICAgICAgICBl
dmVudFNlbmRlci5rZXlEb3duKCdyaWdodEFycm93Jyk7IC8vIC0+IDAyL1swMV0vMjAxMiAuLi4K
KyAgICAgICAgZXZlbnRTZW5kZXIua2V5RG93bignZG93bkFycm93Jyk7IC8vICAtPiAwMi9bMzFd
LzIwMTIgLi4uCisgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAn
Jyk7CisgICAgICAgIHNob3VsZEJlVHJ1ZSgnaW5wdXQudmFsaWRpdHkuYmFkSW5wdXQnKTsKKyAg
ICAgICAgc2hvdWxkQmUoJ2NvbG9yT2YoaW5wdXQpJywgJ2ludmFsaWRTdHlsZUNvbG9yJyk7Cisg
ICAgfQorfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxl
LWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVs
dGlwbGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40
ODBmNTYxZjIyNmM1OWE0NDE3Y2JiZTNlNjY5MTdlOTgzZDA0N2U2Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRp
cGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNSBA
QAorQSB0aW1lIGlucHV0IGZpZWxkcyB3aXRoIGEgYmFkIHVzZXIgaW5wdXQgc2hvdWxkIG1ha2Ug
dmFsaWRpdHkuYmFkSW5wdXQgdHJ1ZSBhbmQgaGF2ZSA6aW52YWxpZCBzdHlsZS4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCisKK0luaXRpYWwgc3RhdGUuIFRoZSBlbG1lbnQgaGFzIG5v
IHZhbHVlLgorUEFTUyBjb2xvck9mKGlucHV0KSBpcyBub3QgaW52YWxpZFN0eWxlQ29sb3IKK1BB
U1MgaW5wdXQudmFsaWRpdHkuYmFkSW5wdXQgaXMgZmFsc2UKK1NldCBhIHZhbHVlIHRvIHRoZSBm
aXJzdCBzdWItZmllbGQuIFRoZSBlbGVtZW50IGJlY29tZXMgYmFkSW5wdXQuCitQQVNTIGNvbG9y
T2YoaW5wdXQpIGlzIGludmFsaWRTdHlsZUNvbG9yCitQQVNTIGlucHV0LnZhbGlkaXR5LmJhZElu
cHV0IGlzIHRydWUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUt
ZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0Lmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmll
bGRzLXZhbGlkaXR5LWJhZGlucHV0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODI4MGYwZTgxMzdiYjc0ZDYw
ZTIwMzI2Y2UyMmIxMGM5NDZhYjI0MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtdmFsaWRp
dHktYmFkaW5wdXQuaHRtbApAQCAtMCwwICsxLDE0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxzdHls
ZT4KKzppbnZhbGlkIHsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwMDAwOworfQorPC9zdHls
ZT4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL211bHRpcGxlLWZpZWxkcy12
YWxpZGl0eS1iYWRpbnB1dC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgordGVzdEJhZElucHV0KCd0
aW1lJyk7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMtdmFsaWRp
dHktYmFkaW5wdXQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVrLW11
bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMmQ2MTgyMWYyMWI2OTM4ZTMzOWFkY2VmMzA5YzM4NThiNTg0
ZjEzMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvd2Vlay1tdWx0
aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMtdmFsaWRpdHktYmFkaW5wdXQtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTUgQEAKK0Egd2VlayBpbnB1dCBmaWVsZHMgd2l0aCBhIGJhZCB1
c2VyIGlucHV0IHNob3VsZCBtYWtlIHZhbGlkaXR5LmJhZElucHV0IHRydWUgYW5kIGhhdmUgOmlu
dmFsaWQgc3R5bGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitJbml0aWFsIHN0
YXRlLiBUaGUgZWxtZW50IGhhcyBubyB2YWx1ZS4KK1BBU1MgY29sb3JPZihpbnB1dCkgaXMgbm90
IGludmFsaWRTdHlsZUNvbG9yCitQQVNTIGlucHV0LnZhbGlkaXR5LmJhZElucHV0IGlzIGZhbHNl
CitTZXQgYSB2YWx1ZSB0byB0aGUgZmlyc3Qgc3ViLWZpZWxkLiBUaGUgZWxlbWVudCBiZWNvbWVz
IGJhZElucHV0LgorUEFTUyBjb2xvck9mKGlucHV0KSBpcyBpbnZhbGlkU3R5bGVDb2xvcgorUEFT
UyBpbnB1dC52YWxpZGl0eS5iYWRJbnB1dCBpcyB0cnVlCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0
eS1iYWRpbnB1dC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZp
ZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjg0N2E2ZWVkODA2YzU5MjY2N2EzZjA5ZTJlYzY4OTVkNzg2Mzc1NzIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWst
bXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0Lmh0bWwKQEAgLTAsMCArMSwxNCBAQAor
PCFET0NUWVBFIGh0bWw+Cis8c3R5bGU+Cis6aW52YWxpZCB7CisgICAgYmFja2dyb3VuZC1jb2xv
cjogI2ZmMDAwMDsKK30KKzwvc3R5bGU+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291
cmNlcy9tdWx0aXBsZS1maWVsZHMtdmFsaWRpdHktYmFkaW5wdXQuanMiPjwvc2NyaXB0PgorPHNj
cmlwdD4KK3Rlc3RCYWRJbnB1dCgnd2VlaycpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>175933</attachid>
            <date>2012-11-25 23:33:44 -0800</date>
            <delta_ts>2012-11-26 01:16:59 -0800</delta_ts>
            <desc>Patch 4</desc>
            <filename>bug-102861-20121126163122.patch</filename>
            <type>text/plain</type>
            <size>51177</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM1Njc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWM4NTc1MjIwZWQwNzc2
ZGMyZWIzNThkZjY2MWJlMGMzY2I2N2Q5MC4uOWQ2YTc0YzViZGY2MWEzZTUxZGIwNTA5NDVkZTZl
MjNiYjZiMjFhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDExNCBAQAorMjAxMi0xMS0yNiAgS2Vu
dCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IFZhbGlk
aXR5U3RhdGU6OmJhZElucHV0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMDI4NjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBBZGQgVmFsaWRpdHlTdGF0ZTo6YmFkSW5wdXQsIGFkZCBoYXNCYWRJbnB1dCwg
d2hpY2ggYWx3YXlzIHJldHVybnMKKyAgICAgICAgZmFsc2UsIHRvIEZvcm1Bc3NvY2lhdGVkRWxl
bWVudCwgSFRNTElucHV0RWxlbWVudCwgYW5kIElucHV0VHlwZS4KKworICAgICAgICBGb3IgTnVt
YmVySW5wdXRUeXBlLCB3ZSBoYWQgaGFzVW5hY2NlcHRhYmxlVmFsdWUsIHdoaWNoIHdhcyBhIGhh
Y2sgdG8KKyAgICAgICAgbWFrZSBhbiBpbnB1dCBlbGVtZW50IG1hdGNoIHRvIDppbnZhbGlkIGlm
IHRoZSBlbGVtZW50IGhhZCBub24tbnVtYmVyCisgICAgICAgIHN0cmluZ3MuIFdlIGRvbid0IG5l
ZWQgdGhlIGhhY2sgYW55IG1vcmUgYmVjYXVzZSBiYWRJbnB1dCBhZmZlY3RzIDppbnZhbGlkCisg
ICAgICAgIHN0eWxlLiBoYXNVbmFjY2VwdGFibGVWYWx1ZSBpcyByZS11c2VkIGZvciBoYXNCYWRJ
bnB1dCBpbXBsZW1lbnRhdGlvbi4KKyAgICAgICAgV2UgY2xlYXJlZCBpbnZhbGlkIG51bWJlcnMg
d2hlbiBlbGVtZW50cyBsb3N0IGZvY3VzIHRvIHRlbGwgdXNlcnMgdGhhdAorICAgICAgICB0aGUg
ZWxlbWVudCBoYWQgaW52YWxpZCBudW1iZXJzLiBXZSBkb24ndCBuZWVkIHRoaXMgYmVoYXZpb3Ig
YmVjYXVzZSB0aGUKKyAgICAgICAgaW50ZXJhY3RpdmUgdmFsaWRhdGlvbiB0ZWxscyBpdC4KKwor
ICAgICAgICBGb3IgZGF0ZS90aW1lIGlucHV0IHR5cGVzLCB3ZSBzaG91bGQgbWFrZSBhbiBpbnB1
dCBiYWRJbnB1dCB3aGVuIHRoZQorICAgICAgICBpbnB1dCBoYXMgZW1wdHkgdmFsdWUgYnV0IGl0
cyBzdWItZmllbGRzIGhhdmUgdmFsdWVzLiBJdCBjb3ZlcnMgYm90aCBvZgorICAgICAgICBwYXJ0
aWFsIGlucHV0IGNhc2VzIHN1Y2ggYXMgMTIvLS0vMjAxMiBhbmQgaW52YWxpZCBkYXRlcyBzdWNo
IGFzCisgICAgICAgIDAyLzMxLzIwMTIuCisKKyAgICAgICAgRm9yIG90aGVyIHR5cGVzLCBWYWxp
ZGl0eVN0YXRlOjpiYWRJbnB1dCBhbHdheXMgcmV0dXJucyBmYWxzZS4KKworICAgICAgICBUaGlz
IHBhdGNoIGRvZXNuJ3QgY29udGFpbiB0ZXN0cyBmb3IgYmFkSW5wdXQgdmFsaWRhdGlvbiBtZXNz
YWdlcy4gVGhleQorICAgICAgICB3aWxsIGJlIGFkZGVkIGxhdGVyLgorCisgICAgICAgIFRlc3Rz
OiBmYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLXZh
bGlkaXR5LWJhZGlucHV0Lmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvZm9ybXMvZGF0ZXRpbWUt
bXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1
dC5odG1sCisgICAgICAgICAgICAgICBmYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUt
ZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0Lmh0
bWwKKyAgICAgICAgICAgICAgIGZhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRo
LW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC5odG1sCisgICAgICAgICAgICAgICBm
YXN0L2Zvcm1zL251bWJlci9udW1iZXItdmFsaWRpdHktYmFkaW5wdXQuaHRtbAorICAgICAgICAg
ICAgICAgZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxk
cy12YWxpZGl0eS1iYWRpbnB1dC5odG1sCisgICAgICAgICAgICAgICBmYXN0L2Zvcm1zL3dlZWst
bXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0Lmh0
bWwKKworICAgICAgICAqIGh0bWwvVmFsaWRpdHlTdGF0ZS5pZGw6IEFkZCBiYWRJbnB1dCBJREwg
YXR0cmlidXRlLgorICAgICAgICAqIGh0bWwvVmFsaWRpdHlTdGF0ZS5oOgorICAgICAgICAoVmFs
aWRpdHlTdGF0ZSk6IEFkZCBiYWRJbnB1dC4KKyAgICAgICAgKiBodG1sL1ZhbGlkaXR5U3RhdGUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6VmFsaWRpdHlTdGF0ZTo6YmFkSW5wdXQpOgorICAgICAg
ICBBZGRlZC4gQ2FsbHMgRm9ybUFzc29jaWF0ZWRFbGVtZW50OjpoYXNCYWRJbnB1dC4KKworICAg
ICAgICAqIGh0bWwvRm9ybUFzc29jaWF0ZWRFbGVtZW50Lmg6CisgICAgICAgIChGb3JtQXNzb2Np
YXRlZEVsZW1lbnQpOiBBZGQgaGFzQmFkSW5wdXQuCisgICAgICAgICogaHRtbC9Gb3JtQXNzb2Np
YXRlZEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Rm9ybUFzc29jaWF0ZWRFbGVtZW50
OjpoYXNCYWRJbnB1dCk6CisgICAgICAgIEFkZGVkLiBJdCBhbHdheXMgcmV0dXJucyBmYWxzZS4K
KyAgICAgICAgKFdlYkNvcmU6OkZvcm1Bc3NvY2lhdGVkRWxlbWVudDo6dmFsaWQpOiBUYWtlcyBh
Y2NvdW50IG9mIGhhc0JhZElucHV0KCkuCisKKyAgICAgICAgKiBodG1sL0hUTUxJbnB1dEVsZW1l
bnQuaDoKKyAgICAgICAgKEhUTUxJbnB1dEVsZW1lbnQpOgorICAgICAgICBSZW1vdmUgaGFzVW5h
Y2NlcHRhYmxlVmFsdWUsIGFuZCBhZGQgaGFzQmFkSW5wdXQgb3ZlcnJpZGUuCisgICAgICAgICog
aHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVs
ZW1lbnQ6Omhhc0JhZElucHV0KToKKyAgICAgICAgQWRkZWQuIERlbGVnYXRlIHRvIElucHV0VHlw
ZTo6aGFzQmFkSW5wdXQuCisgICAgICAgIChXZWJDb3JlKTogUmVtb3ZlIGhhc1VuYWNjZXB0YWJs
ZVZhbHVlLgorCisgICAgICAgICogaHRtbC9JbnB1dFR5cGUuaDoKKyAgICAgICAgKElucHV0VHlw
ZSk6IEFkZCBoYXNCYWRJbnB1dCBhbmQgYmFkSW5wdXRUZXh0LCBhbmQgcmVtb3ZlCisgICAgICAg
IGhhc1VuYWNjZXB0YWJsZVZhbHVlLgorICAgICAgICAqIGh0bWwvSW5wdXRUeXBlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OklucHV0VHlwZTo6aGFzQmFkSW5wdXQpOiBBZGRlZC4gUmV0dXJucyBm
YWxzZS4KKyAgICAgICAgKFdlYkNvcmU6OklucHV0VHlwZTo6YmFkSW5wdXRUZXh0KToKKyAgICAg
ICAgQWRkZWQuIFRoaXMgZnVuY3Rpb24gc2hvdWxkIG5vdCBiZSBjYWxsZWQgYmVjYXVzZSBoYXNC
YWRJbnB1dCBhbHdheXMKKyAgICAgICAgcmV0dXJucyBmYWxzZS4KKyAgICAgICAgKFdlYkNvcmU6
OklucHV0VHlwZTo6dmFsaWRhdGlvbk1lc3NhZ2UpOgorICAgICAgICBTdXBwb3J0cyBiYWRJbnB1
dC4gVGhpcyByZXR1cm5zIGJhZElucHV0VGV4dCBpZiBoYXNCYWRJbnB1dCBpcyB0cnVlLgorCisg
ICAgICAgICogaHRtbC9OdW1iZXJJbnB1dFR5cGUuaDoKKyAgICAgICAgKE51bWJlcklucHV0VHlw
ZSk6IEFkZCBoYXNCYWRJbnB1dCBhbmQgYmFkSW5wdXRUZXN0LiBSZW1vdmUKKyAgICAgICAgaGFu
ZGxlQmx1ckV2ZW50IGFuZCBoYXNVbmFjY2VwdGFibGVWYWx1ZS4KKyAgICAgICAgKiBodG1sL051
bWJlcklucHV0VHlwZS5jcHA6CisgICAgICAgIFJlbW92ZSBoYW5kbGVCbHVyRXZlbnQsIHdoaWNo
IGNsZWFyZWQgaW52YWxpZCBudW1iZXIgc3RyaW5ncy4KKyAgICAgICAgKFdlYkNvcmU6Ok51bWJl
cklucHV0VHlwZTo6aGFzQmFkSW5wdXQpOgorICAgICAgICBBZGRlZC4gV2UgZG9uJ3QgbmVlZCB0
byBjaGVjayBleGlzdGVuY2Ugb2YgYSByZW5kZXJlci4gVGhlIHN0YW5kYXJkIGZvcm0KKyAgICAg
ICAgdmFsaWRhdGlvbiBmZWF0dXJlIGRvZXNuJ3QgY2FyZSBvZiBpdC4KKyAgICAgICAgKFdlYkNv
cmU6Ok51bWJlcklucHV0VHlwZTo6YmFkSW5wdXRUZXh0KTogUmV0dXJucworICAgICAgICB2YWxp
ZGF0aW9uTWVzc2FnZUJhZElucHV0Rm9yTnVtYmVyVGV4dCBkZWZpbmVkIGluIExvY2FsaXplZFN0
cmluZ3MuaC4KKyAgICAgICAgKiBjc3MvU2VsZWN0b3JDaGVja2VyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlNlbGVjdG9yQ2hlY2tlcjo6Y2hlY2tPbmVTZWxlY3Rvcik6CisgICAgICAgIFJlbW92
ZSBhIGhhY2sgZm9yIGhhc1VuYWNjZXB0YWJsZVZhbHVlLiBpc1ZhbGlkRm9ybUNvbnRyb2xFbGVt
ZW50IHRha2VzCisgICAgICAgIGFjY291bnQgb2YgYmFkSW5wdXQuCisgICAgICAgICogZG9tL0Vs
ZW1lbnQuaDogUmVtb3ZlIGhhc1VuYWNjZXB0YWJsZVZhbHVlLgorCisgICAgICAgICogaHRtbC9C
YXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZS5oOgorICAgICAgICAoQmFzZU11
bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUpOiBBZGQgaGFzQmFkSW5wdXQgYW5kIGJh
ZElucHV0VGV4dC4KKyAgICAgICAgKiBodG1sL0Jhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1l
SW5wdXRUeXBlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkJhc2VNdWx0aXBsZUZpZWxkc0RhdGVB
bmRUaW1lSW5wdXRUeXBlOjpiYWRJbnB1dFRleHQpOgorICAgICAgICBSZXR1cm5zIHZhbGlkYXRp
b25NZXNzYWdlQmFkSW5wdXRGb3JEYXRlVGltZVRleHQgZGVmaW5lZCBpbiBMb2NhbGl6ZWRTdHJp
bmdzLmguCisgICAgICAgIChXZWJDb3JlOjpCYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlu
cHV0VHlwZTo6aGFzQmFkSW5wdXQpOgorICAgICAgICBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OkJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlOjpzZXRWYWx1ZSk6CisgICAg
ICAgIEFkZCBzZXROZWVkc1ZhbGlkaXR5Q2hlY2sgY2FsbC4gSXQgaXMgbmVlZGVkIGJlY2F1c2UK
KyAgICAgICAgdXBkYXRlSW5uZXJUZXh0VmFsdWUgY2FuIG1vZGlmeSBzdWJmaWVsZHMgZW1wdHkg
c3RhdGUuCisKKyAgICAgICAgKiBodG1sL1RleHRGaWVsZElucHV0VHlwZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpUZXh0RmllbGRJbnB1dFR5cGU6OnN1YnRyZWVIYXNDaGFuZ2VkKTogVXBkYXRl
IGEgY29tbWVudC4KKyAgICAgICAgKiBwbGF0Zm9ybS9Mb2NhbGl6ZWRTdHJpbmdzLmg6CisgICAg
ICAgIChXZWJDb3JlKTogQWRkIHZhbGlkYXRpb25NZXNzYWdlQmFkSW5wdXRGb3JOdW1iZXJUZXh0
IGFuZAorICAgICAgICB2YWxpZGF0aW9uTWVzc2FnZUJhZElucHV0Rm9yRGF0ZVRpbWVUZXh0Lgor
ICAgICAgICAqIHBsYXRmb3JtL0xvY2FsaXplZFN0cmluZ3MuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6dmFsaWRhdGlvbk1lc3NhZ2VCYWRJbnB1dEZvck51bWJlclRleHQpOgorICAgICAgICBBZGRl
ZCBhIHBsYWNlaG9sZGVyIGltcGxlbWVudGF0aW9uLiBUaGlzIHNob3VsZCBiZSBmaXhlZCBsYXRl
ci4KKyAgICAgICAgKiBwbGF0Zm9ybS9ibGFja2JlcnJ5L0xvY2FsaXplZFN0cmluZ3NCbGFja0Jl
cnJ5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnZhbGlkYXRpb25NZXNzYWdlQmFkSW5wdXRGb3JO
dW1iZXJUZXh0KTogRGl0dG8uCisgICAgICAgICogcGxhdGZvcm0vZWZsL0xvY2FsaXplZFN0cmlu
Z3NFZmwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dmFsaWRhdGlvbk1lc3NhZ2VCYWRJbnB1dEZv
ck51bWJlclRleHQpOiBEaXR0by4KKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9Mb2NhbGl6ZWRTdHJp
bmdzUXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dmFsaWRhdGlvbk1lc3NhZ2VCYWRJbnB1dEZv
ck51bWJlclRleHQpOiBEaXR0by4KKwogMjAxMi0xMS0yNSAgS2VudCBUYW11cmEgIDx0a2VudEBj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmVmYWN0b3Jpbmc6IE1vdmUgdGhlIGNvbnRlbnQgb2Yg
SFRNTElucHV0RWxlbWVudDo6c3VidHJlZUhhc0NoYW5nZWQgdG8gVGV4dEZpZWxkSW5wdXRUeXBl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDI0YWJhZmIyNWJlNzU1MjYwZDBjNjllOTk1
YzdkZDMxMTIxNGI5M2EuLmYzZWU3ZWZlYTg1ZmRlZTI3YTUyZWU2ZTY0YmNlYTkyNjEzNDkzZjAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMTEtMjUg
IEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEltcGxlbWVudCBW
YWxpZGl0eVN0YXRlOjpiYWRJbnB1dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTAyODYxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBzcmMvTG9jYWxpemVkU3RyaW5ncy5jcHA6CisgICAgICAgIEFkZCBw
bGFjZWhvbGRlciBpbXBsZW1lbnRhdGlvbnMgZm9yIG5ldyBsb2NhbGl6ZWQgc3RyaW5nIGZ1bmN0
aW9ucy4KKyAgICAgICAgV2UnbGwgdXBkYXRlIHRoZW0gaW4gYW5vdGhlciBwYXRjaC4KKyAgICAg
ICAgKFdlYkNvcmU6OnZhbGlkYXRpb25NZXNzYWdlQmFkSW5wdXRGb3JOdW1iZXJUZXh0KToKKyAg
ICAgICAgKFdlYkNvcmU6OnZhbGlkYXRpb25NZXNzYWdlQmFkSW5wdXRGb3JEYXRlVGltZVRleHQp
OgorCiAyMDEyLTExLTI0ICBTaWx2aWEgUGZlaWZmZXIgIDxzaWx2aWFwZkBjaHJvbWl1bS5vcmc+
CiAKICAgICAgICAgW2Nocm9taXVtXSBSZW1vdmUgdHJhY2VzIG9mIE1lZGlhQ29udHJvbFJvb3RF
bGVtZW50CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvckNoZWNrZXIuY3BwCmluZGV4IDM4ZDQxZjc4
NDg4NjVkYzhhYzNjMTY0OTE5MjYzODY0NjU5MWJkMzIuLjBlMWY2ZmQ3MDQ5NDJjYjkxOThlOTA3
MzdiYWFiNWZiZDBjZjQzNmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3Rv
ckNoZWNrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvckNoZWNrZXIuY3Bw
CkBAIC0xMDcyLDcgKzEwNzIsNyBAQCBib29sIFNlbGVjdG9yQ2hlY2tlcjo6Y2hlY2tPbmVTZWxl
Y3Rvcihjb25zdCBTZWxlY3RvckNoZWNraW5nQ29udGV4dCYgY29udGV4dCwgYwogICAgICAgICAg
ICAgaWYgKCFlbGVtZW50KQogICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAg
ICAgIGVsZW1lbnQtPmRvY3VtZW50KCktPnNldENvbnRhaW5zVmFsaWRpdHlTdHlsZVJ1bGVzKCk7
Ci0gICAgICAgICAgICByZXR1cm4gKGVsZW1lbnQtPndpbGxWYWxpZGF0ZSgpICYmICFlbGVtZW50
LT5pc1ZhbGlkRm9ybUNvbnRyb2xFbGVtZW50KCkpIHx8IGVsZW1lbnQtPmhhc1VuYWNjZXB0YWJs
ZVZhbHVlKCk7CisgICAgICAgICAgICByZXR1cm4gZWxlbWVudC0+d2lsbFZhbGlkYXRlKCkgJiYg
IWVsZW1lbnQtPmlzVmFsaWRGb3JtQ29udHJvbEVsZW1lbnQoKTsKICAgICAgICAgY2FzZSBDU1NT
ZWxlY3Rvcjo6UHNldWRvQ2hlY2tlZDoKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICBp
ZiAoIWVsZW1lbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oIGIv
U291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaAppbmRleCA1ZjExZWM5MWU5Yzc0NjUwMTRmM2E2
MjY3YWMzMjcxZjUxNTZjYTE0Li5iMmZmYTk5MDIzMjIwY2ZkYTJiZjFjNTU3NDZjN2YwMjZhYzc2
ZWNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKQEAgLTM4MSw3ICszODEsNiBAQCBwdWJsaWM6CiAgICAg
dmlydHVhbCBib29sIGlzRGVmYXVsdEJ1dHRvbkZvckZvcm0oKSBjb25zdCB7IHJldHVybiBmYWxz
ZTsgfQogICAgIHZpcnR1YWwgYm9vbCB3aWxsVmFsaWRhdGUoKSBjb25zdCB7IHJldHVybiBmYWxz
ZTsgfQogICAgIHZpcnR1YWwgYm9vbCBpc1ZhbGlkRm9ybUNvbnRyb2xFbGVtZW50KCkgeyByZXR1
cm4gZmFsc2U7IH0KLSAgICB2aXJ0dWFsIGJvb2wgaGFzVW5hY2NlcHRhYmxlVmFsdWUoKSBjb25z
dCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgYm9vbCBpc0luUmFuZ2UoKSBjb25zdCB7
IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgYm9vbCBpc091dE9mUmFuZ2UoKSBjb25zdCB7
IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgYm9vbCBpc0ZyYW1lRWxlbWVudEJhc2UoKSBj
b25zdCB7IHJldHVybiBmYWxzZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9C
YXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0Jhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlLmNwcAppbmRleCA0
YmQ3Y2RlMmM1NDAxY2QwOWQ0N2QxNGE3NTA0ZjEzYzY1NGQyMjBjLi5iNTVlOWE1YTc3MTZjNDNm
YmJkYTJkM2E3MjU3YTRlYjNiYzBlMjk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0Jhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0Jhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlLmNwcApA
QCAtNDEsNiArNDEsNyBAQAogI2luY2x1ZGUgIkhUTUxJbnB1dEVsZW1lbnQuaCIKICNpbmNsdWRl
ICJIVE1MT3B0aW9uRWxlbWVudC5oIgogI2luY2x1ZGUgIktleWJvYXJkRXZlbnQuaCIKKyNpbmNs
dWRlICJMb2NhbGl6ZWRTdHJpbmdzLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlBp
Y2tlckluZGljYXRvckVsZW1lbnQuaCIKICNpbmNsdWRlICJQbGF0Zm9ybUxvY2FsZS5oIgpAQCAt
MTY4LDYgKzE2OSwxMSBAQCBCYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZTo6
fkJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlKAogICAgICAgICBtX3BpY2tl
ckluZGljYXRvckVsZW1lbnQtPnJlbW92ZVBpY2tlckluZGljYXRvck93bmVyKCk7CiB9CiAKK1N0
cmluZyBCYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZTo6YmFkSW5wdXRUZXh0
KCkgY29uc3QKK3sKKyAgICByZXR1cm4gdmFsaWRhdGlvbk1lc3NhZ2VCYWRJbnB1dEZvckRhdGVU
aW1lVGV4dCgpOworfQorCiB2b2lkIEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRU
eXBlOjpibHVyKCkKIHsKICAgICBpZiAobV9kYXRlVGltZUVkaXRFbGVtZW50KQpAQCAtMjczLDYg
KzI3OSwxMSBAQCB2b2lkIEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlOjpo
YW5kbGVLZXlkb3duRXZlbnQoS2V5Ym9hcmRFdmVudCogZQogICAgICAgICBmb3J3YXJkRXZlbnQo
ZXZlbnQpOwogfQogCitib29sIEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBl
OjpoYXNCYWRJbnB1dCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGVsZW1lbnQoKS0+dmFsdWUoKS5p
c0VtcHR5KCkgJiYgbV9kYXRlVGltZUVkaXRFbGVtZW50ICYmIG1fZGF0ZVRpbWVFZGl0RWxlbWVu
dC0+YW55RWRpdGFibGVGaWVsZHNIYXZlVmFsdWVzKCk7Cit9CisKIGJvb2wgQmFzZU11bHRpcGxl
RmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGU6OmlzS2V5Ym9hcmRGb2N1c2FibGUoS2V5Ym9hcmRF
dmVudCopIGNvbnN0CiB7CiAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMzI1LDggKzMzNiwxMCBAQCBG
b3JtQ29udHJvbFN0YXRlIEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlOjpz
YXZlRm9ybUNvbnRyb2xTdGF0ZSgpCiB2b2lkIEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1l
SW5wdXRUeXBlOjpzZXRWYWx1ZShjb25zdCBTdHJpbmcmIHNhbml0aXplZFZhbHVlLCBib29sIHZh
bHVlQ2hhbmdlZCwgVGV4dEZpZWxkRXZlbnRCZWhhdmlvciBldmVudEJlaGF2aW9yKQogewogICAg
IElucHV0VHlwZTo6c2V0VmFsdWUoc2FuaXRpemVkVmFsdWUsIHZhbHVlQ2hhbmdlZCwgZXZlbnRC
ZWhhdmlvcik7Ci0gICAgaWYgKHZhbHVlQ2hhbmdlZCB8fCAoc2FuaXRpemVkVmFsdWUuaXNFbXB0
eSgpICYmIG1fZGF0ZVRpbWVFZGl0RWxlbWVudCAmJiBtX2RhdGVUaW1lRWRpdEVsZW1lbnQtPmFu
eUVkaXRhYmxlRmllbGRzSGF2ZVZhbHVlcygpKSkKKyAgICBpZiAodmFsdWVDaGFuZ2VkIHx8IChz
YW5pdGl6ZWRWYWx1ZS5pc0VtcHR5KCkgJiYgbV9kYXRlVGltZUVkaXRFbGVtZW50ICYmIG1fZGF0
ZVRpbWVFZGl0RWxlbWVudC0+YW55RWRpdGFibGVGaWVsZHNIYXZlVmFsdWVzKCkpKSB7CiAgICAg
ICAgIHVwZGF0ZUlubmVyVGV4dFZhbHVlKCk7CisgICAgICAgIGVsZW1lbnQoKS0+c2V0TmVlZHNW
YWxpZGl0eUNoZWNrKCk7CisgICAgfQogfQogCiBib29sIEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVB
bmRUaW1lSW5wdXRUeXBlOjpzaG91bGRVc2VJbnB1dE1ldGhvZCgpIGNvbnN0CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRU
eXBlLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1l
SW5wdXRUeXBlLmgKaW5kZXggYjVhY2M5ZTZiOTMxZDQyODMxZjFjYTNlMmU5MDhiNjFhN2Q2NjJj
OC4uYmQ0MWZmZmVmZjFiMjYzNWI1YmY3ZDg0NjY5YmE4ODVkMjgyOGExMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9CYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlw
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRp
bWVJbnB1dFR5cGUuaApAQCAtNzMsNiArNzMsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgYm9v
bCBzZXR1cERhdGVUaW1lQ2hvb3NlclBhcmFtZXRlcnMoRGF0ZVRpbWVDaG9vc2VyUGFyYW1ldGVy
cyYpIE9WRVJSSURFIEZJTkFMOwogCiAgICAgLy8gSW5wdXRUeXBlIGZ1bmN0aW9ucworICAgIHZp
cnR1YWwgU3RyaW5nIGJhZElucHV0VGV4dCgpIGNvbnN0IE9WRVJSSURFOwogICAgIHZpcnR1YWwg
dm9pZCBibHVyKCkgT1ZFUlJJREUgRklOQUw7CiAgICAgdmlydHVhbCBSZW5kZXJPYmplY3QqIGNy
ZWF0ZVJlbmRlcmVyKFJlbmRlckFyZW5hKiwgUmVuZGVyU3R5bGUqKSBjb25zdCBPVkVSUklERSBG
SU5BTDsKICAgICB2aXJ0dWFsIHZvaWQgY3JlYXRlU2hhZG93U3VidHJlZSgpIE9WRVJSSURFIEZJ
TkFMOwpAQCAtODEsNiArODIsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBmb2N1cyhi
b29sIHJlc3RvcmVQcmV2aW91c1NlbGVjdGlvbikgT1ZFUlJJREUgRklOQUw7CiAgICAgdmlydHVh
bCB2b2lkIGZvcndhcmRFdmVudChFdmVudCopIE9WRVJSSURFIEZJTkFMOwogICAgIHZpcnR1YWwg
dm9pZCBoYW5kbGVLZXlkb3duRXZlbnQoS2V5Ym9hcmRFdmVudCopIE9WRVJSSURFIEZJTkFMOwor
ICAgIHZpcnR1YWwgYm9vbCBoYXNCYWRJbnB1dCgpIGNvbnN0IE9WRVJSSURFOwogICAgIHZpcnR1
YWwgYm9vbCBoYXNDdXN0b21Gb2N1c0xvZ2ljKCkgY29uc3QgT1ZFUlJJREUgRklOQUw7CiAgICAg
dmlydHVhbCBib29sIGlzS2V5Ym9hcmRGb2N1c2FibGUoS2V5Ym9hcmRFdmVudCopIGNvbnN0IE9W
RVJSSURFIEZJTkFMOwogICAgIHZpcnR1YWwgYm9vbCBpc01vdXNlRm9jdXNhYmxlKCkgY29uc3Qg
T1ZFUlJJREUgRklOQUw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0Zvcm1Bc3Nv
Y2lhdGVkRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0Zvcm1Bc3NvY2lhdGVkRWxl
bWVudC5jcHAKaW5kZXggM2Q4ODk3ODNlOWVkOWZjMGRkM2MwZDU0ZmQyZmYyZDY4M2Y1MjBhOS4u
OGRmZGFlMDk2ZjI3MTNmMzVmMTQ0NTI0MmQ5ZTA2YmJjYTc2NjFhZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9Gb3JtQXNzb2NpYXRlZEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvRm9ybUFzc29jaWF0ZWRFbGVtZW50LmNwcApAQCAtMTg5LDYgKzE4OSwxMSBA
QCBib29sIEZvcm1Bc3NvY2lhdGVkRWxlbWVudDo6Y3VzdG9tRXJyb3IoKSBjb25zdAogICAgIHJl
dHVybiBlbGVtZW50LT53aWxsVmFsaWRhdGUoKSAmJiAhbV9jdXN0b21WYWxpZGF0aW9uTWVzc2Fn
ZS5pc0VtcHR5KCk7CiB9CiAKK2Jvb2wgRm9ybUFzc29jaWF0ZWRFbGVtZW50OjpoYXNCYWRJbnB1
dCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCiBib29sIEZvcm1Bc3NvY2lhdGVk
RWxlbWVudDo6cGF0dGVybk1pc21hdGNoKCkgY29uc3QKIHsKICAgICByZXR1cm4gZmFsc2U7CkBA
IC0yMjIsNyArMjI3LDcgQEAgYm9vbCBGb3JtQXNzb2NpYXRlZEVsZW1lbnQ6OnR5cGVNaXNtYXRj
aCgpIGNvbnN0CiBib29sIEZvcm1Bc3NvY2lhdGVkRWxlbWVudDo6dmFsaWQoKSBjb25zdAogewog
ICAgIGJvb2wgc29tZUVycm9yID0gdHlwZU1pc21hdGNoKCkgfHwgc3RlcE1pc21hdGNoKCkgfHwg
cmFuZ2VVbmRlcmZsb3coKSB8fCByYW5nZU92ZXJmbG93KCkKLSAgICAgICAgfHwgdG9vTG9uZygp
IHx8IHBhdHRlcm5NaXNtYXRjaCgpIHx8IHZhbHVlTWlzc2luZygpIHx8IGN1c3RvbUVycm9yKCk7
CisgICAgICAgIHx8IHRvb0xvbmcoKSB8fCBwYXR0ZXJuTWlzbWF0Y2goKSB8fCB2YWx1ZU1pc3Np
bmcoKSB8fCBoYXNCYWRJbnB1dCgpIHx8IGN1c3RvbUVycm9yKCk7CiAgICAgcmV0dXJuICFzb21l
RXJyb3I7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRm9ybUFzc29jaWF0
ZWRFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0Zvcm1Bc3NvY2lhdGVkRWxlbWVudC5o
CmluZGV4IDM5MGUwZWU3NWMzZjk5OGJjZmZkNjU0NWMwZjI5NGUxZDNiOWVkOWEuLmQxZGM5YTU5
YzcxODRmZGM3OTgzMDIwNjQxNjg1M2Q0ZjYyZTc0ZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvRm9ybUFzc29jaWF0ZWRFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9Gb3JtQXNzb2NpYXRlZEVsZW1lbnQuaApAQCAtNzcsNiArNzcsNyBAQCBwdWJsaWM6CiAKICAg
ICAvLyBPdmVycmlkZSBmdW5jdGlvbnMgZm9yIHBhdHRlck1pc21hdGNoLCByYW5nZU92ZXJmbG93
LCByYW5nZXJVbmRlcmZsb3csCiAgICAgLy8gc3RlcE1pc21hdGNoLCB0b29Mb25nIGFuZCB2YWx1
ZU1pc3NpbmcgbXVzdCBjYWxsIHdpbGxWYWxpZGF0ZSBtZXRob2QuCisgICAgdmlydHVhbCBib29s
IGhhc0JhZElucHV0KCkgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIHBhdHRlcm5NaXNtYXRjaCgp
IGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCByYW5nZU92ZXJmbG93KCkgY29uc3Q7CiAgICAgdmly
dHVhbCBib29sIHJhbmdlVW5kZXJmbG93KCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
SW5wdXRFbGVtZW50LmNwcAppbmRleCA0Y2FlNzg2ZjFlZGE5YzE4NjQ5NWE3OThlMDczYzhiY2Qy
ZWJmMzViLi41ZTRmNTBkN2E2OTk0Zjc4MWQ5ODM0NGUyZDMwYWExZDg0NjMwMTczIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAKQEAgLTI2Niw2ICsyNjYsMTEgQEAg
Ym9vbCBIVE1MSW5wdXRFbGVtZW50Ojp2YWx1ZU1pc3NpbmcoKSBjb25zdAogICAgIHJldHVybiB3
aWxsVmFsaWRhdGUoKSAmJiBtX2lucHV0VHlwZS0+dmFsdWVNaXNzaW5nKHZhbHVlKCkpOwogfQog
Citib29sIEhUTUxJbnB1dEVsZW1lbnQ6Omhhc0JhZElucHV0KCkgY29uc3QKK3sKKyAgICByZXR1
cm4gd2lsbFZhbGlkYXRlKCkgJiYgbV9pbnB1dFR5cGUtPmhhc0JhZElucHV0KCk7Cit9CisKIGJv
b2wgSFRNTElucHV0RWxlbWVudDo6cGF0dGVybk1pc21hdGNoKCkgY29uc3QKIHsKICAgICByZXR1
cm4gd2lsbFZhbGlkYXRlKCkgJiYgbV9pbnB1dFR5cGUtPnBhdHRlcm5NaXNtYXRjaCh2YWx1ZSgp
KTsKQEAgLTEzOTEsMTEgKzEzOTYsNiBAQCBTdHJpbmcgSFRNTElucHV0RWxlbWVudDo6bG9jYWxp
emVWYWx1ZShjb25zdCBTdHJpbmcmIHByb3Bvc2VkVmFsdWUpIGNvbnN0CiAgICAgcmV0dXJuIG1f
aW5wdXRUeXBlLT5sb2NhbGl6ZVZhbHVlKHByb3Bvc2VkVmFsdWUpOwogfQogCi1ib29sIEhUTUxJ
bnB1dEVsZW1lbnQ6Omhhc1VuYWNjZXB0YWJsZVZhbHVlKCkgY29uc3QKLXsKLSAgICByZXR1cm4g
bV9pbnB1dFR5cGUtPmhhc1VuYWNjZXB0YWJsZVZhbHVlKCk7Ci19Ci0KIGJvb2wgSFRNTElucHV0
RWxlbWVudDo6aXNJblJhbmdlKCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9pbnB1dFR5cGUtPmlz
SW5SYW5nZSh2YWx1ZSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElu
cHV0RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmgKaW5k
ZXggYjBhYzZhZTk2OWY1YTAxYWQ2ZTcwYjI1OTUxMTY3M2M1ZmFmMzg4Ni4uOTIyOTc0ODI5YzVl
NGIzODliNDkyMGQ3OWQxM2UxMGU1OWM0ZjcxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MSW5wdXRFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5w
dXRFbGVtZW50LmgKQEAgLTU1LDYgKzU1LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBz
aG91bGRBdXRvY29tcGxldGUoKSBjb25zdDsKIAogICAgIC8vIEZvciBWYWxpZGl0eVN0YXRlCisg
ICAgdmlydHVhbCBib29sIGhhc0JhZElucHV0KCkgY29uc3QgT1ZFUlJJREU7CiAgICAgdmlydHVh
bCBib29sIHBhdHRlcm5NaXNtYXRjaCgpIGNvbnN0IE9WRVJSSURFOwogICAgIHZpcnR1YWwgYm9v
bCByYW5nZVVuZGVyZmxvdygpIGNvbnN0IE9WRVJSSURFOwogICAgIHZpcnR1YWwgYm9vbCByYW5n
ZU92ZXJmbG93KCkgY29uc3Q7CkBAIC0zNTUsOCArMzU2LDYgQEAgcHJpdmF0ZToKIAogICAgIHZp
cnR1YWwgYm9vbCBpc1VSTEF0dHJpYnV0ZShjb25zdCBBdHRyaWJ1dGUmKSBjb25zdCBPVkVSUklE
RTsKIAotICAgIHZpcnR1YWwgYm9vbCBoYXNVbmFjY2VwdGFibGVWYWx1ZSgpIGNvbnN0OwotCiAg
ICAgdmlydHVhbCBib29sIGlzSW5SYW5nZSgpIGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBpc091
dE9mUmFuZ2UoKSBjb25zdDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9JbnB1
dFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuY3BwCmluZGV4IDRhNDM3
ZTAyOTYxMWVkOTRlZmJlYWJhY2FmMTk2NmE5YjkxYjAxZTUuLjc5NmM1M2Q3NDlhNjRhMWM3ODdl
NGEzN2UxY2I2MTdlMDJjMGUxYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW5w
dXRUeXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5jcHAKQEAgLTI1
OCw2ICsyNTgsMTEgQEAgYm9vbCBJbnB1dFR5cGU6OnZhbHVlTWlzc2luZyhjb25zdCBTdHJpbmcm
KSBjb25zdAogICAgIHJldHVybiBmYWxzZTsKIH0KIAorYm9vbCBJbnB1dFR5cGU6Omhhc0JhZElu
cHV0KCkgY29uc3QKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKIGJvb2wgSW5wdXRUeXBlOjpw
YXR0ZXJuTWlzbWF0Y2goY29uc3QgU3RyaW5nJikgY29uc3QKIHsKICAgICByZXR1cm4gZmFsc2U7
CkBAIC0zNDYsNiArMzUxLDEyIEBAIGJvb2wgSW5wdXRUeXBlOjpzdGVwTWlzbWF0Y2goY29uc3Qg
U3RyaW5nJiB2YWx1ZSkgY29uc3QKICAgICByZXR1cm4gY3JlYXRlU3RlcFJhbmdlKFJlamVjdEFu
eSkuc3RlcE1pc21hdGNoKG51bWVyaWNWYWx1ZSk7CiB9CiAKK1N0cmluZyBJbnB1dFR5cGU6OmJh
ZElucHV0VGV4dCgpIGNvbnN0Cit7CisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0
dXJuIHZhbGlkYXRpb25NZXNzYWdlVHlwZU1pc21hdGNoVGV4dCgpOworfQorCiBTdHJpbmcgSW5w
dXRUeXBlOjp0eXBlTWlzbWF0Y2hUZXh0KCkgY29uc3QKIHsKICAgICByZXR1cm4gdmFsaWRhdGlv
bk1lc3NhZ2VUeXBlTWlzbWF0Y2hUZXh0KCk7CkBAIC0zNjgsNiArMzc5LDkgQEAgU3RyaW5nIElu
cHV0VHlwZTo6dmFsaWRhdGlvbk1lc3NhZ2UoKSBjb25zdAogICAgIGlmICh0eXBlTWlzbWF0Y2go
KSkKICAgICAgICAgcmV0dXJuIHR5cGVNaXNtYXRjaFRleHQoKTsKIAorICAgIGlmIChoYXNCYWRJ
bnB1dCgpKQorICAgICAgICByZXR1cm4gYmFkSW5wdXRUZXh0KCk7CisKICAgICBpZiAocGF0dGVy
bk1pc21hdGNoKHZhbHVlKSkKICAgICAgICAgcmV0dXJuIHZhbGlkYXRpb25NZXNzYWdlUGF0dGVy
bk1pc21hdGNoVGV4dCgpOwogCkBAIC02ODksMTEgKzcwMyw2IEBAIFN0cmluZyBJbnB1dFR5cGU6
OnNhbml0aXplVmFsdWUoY29uc3QgU3RyaW5nJiBwcm9wb3NlZFZhbHVlKSBjb25zdAogICAgIHJl
dHVybiBwcm9wb3NlZFZhbHVlOwogfQogCi1ib29sIElucHV0VHlwZTo6aGFzVW5hY2NlcHRhYmxl
VmFsdWUoKQotewotICAgIHJldHVybiBmYWxzZTsKLX0KLQogYm9vbCBJbnB1dFR5cGU6OnJlY2Vp
dmVEcm9wcGVkRmlsZXMoY29uc3QgRHJhZ0RhdGEqKQogewogICAgIEFTU0VSVF9OT1RfUkVBQ0hF
RCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuaCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmgKaW5kZXggZmU0YTllNGQ5ZjRkYWFmZjQ4MmJiM2Mw
ZWJlZDRmYmQ4NTAyMDJlNS4uNDM3N2ZiMjczYTc4OTAwNjYwNzczYjcwNzEzZmQyZmMyMTA1Nzg3
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5oCkBAIC0xNTYsNiArMTU2LDcgQEAgcHVibGljOgog
ICAgIHZpcnR1YWwgYm9vbCB0eXBlTWlzbWF0Y2goKSBjb25zdDsKICAgICB2aXJ0dWFsIGJvb2wg
c3VwcG9ydHNSZXF1aXJlZCgpIGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCB2YWx1ZU1pc3Npbmco
Y29uc3QgU3RyaW5nJikgY29uc3Q7CisgICAgdmlydHVhbCBib29sIGhhc0JhZElucHV0KCkgY29u
c3Q7CiAgICAgdmlydHVhbCBib29sIHBhdHRlcm5NaXNtYXRjaChjb25zdCBTdHJpbmcmKSBjb25z
dDsKICAgICBib29sIHJhbmdlVW5kZXJmbG93KGNvbnN0IFN0cmluZyYpIGNvbnN0OwogICAgIGJv
b2wgcmFuZ2VPdmVyZmxvdyhjb25zdCBTdHJpbmcmKSBjb25zdDsKQEAgLTE3MCw2ICsxNzEsNyBA
QCBwdWJsaWM6CiAgICAgdmlydHVhbCBTdGVwUmFuZ2UgY3JlYXRlU3RlcFJhbmdlKEFueVN0ZXBI
YW5kbGluZykgY29uc3Q7CiAgICAgdmlydHVhbCB2b2lkIHN0ZXBVcChpbnQsIEV4Y2VwdGlvbkNv
ZGUmKTsKICAgICB2aXJ0dWFsIHZvaWQgc3RlcFVwRnJvbVJlbmRlcmVyKGludCk7CisgICAgdmly
dHVhbCBTdHJpbmcgYmFkSW5wdXRUZXh0KCkgY29uc3Q7CiAgICAgdmlydHVhbCBTdHJpbmcgdHlw
ZU1pc21hdGNoVGV4dCgpIGNvbnN0OwogICAgIHZpcnR1YWwgU3RyaW5nIHZhbHVlTWlzc2luZ1Rl
eHQoKSBjb25zdDsKICAgICB2aXJ0dWFsIGJvb2wgY2FuU2V0U3RyaW5nVmFsdWUoKSBjb25zdDsK
QEAgLTE3OCw3ICsxODAsNiBAQCBwdWJsaWM6CiAgICAgLy8gUmV0dXJpbmcgdGhlIG51bGwgc3Ry
aW5nIG1lYW5zICJ1c2UgdGhlIGRlZmF1bHQgdmFsdWUuIgogICAgIC8vIFRoaXMgZnVuY3Rpb24g
bXVzdCBiZSBjYWxsZWQgb25seSBieSBIVE1MSW5wdXRFbGVtZW50OjpzYW5pdGl6ZVZhbHVlKCku
CiAgICAgdmlydHVhbCBTdHJpbmcgc2FuaXRpemVWYWx1ZShjb25zdCBTdHJpbmcmKSBjb25zdDsK
LSAgICB2aXJ0dWFsIGJvb2wgaGFzVW5hY2NlcHRhYmxlVmFsdWUoKTsKIAogICAgIC8vIEV2ZW50
IGhhbmRsZXJzCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTnVtYmVySW5wdXRU
eXBlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTnVtYmVySW5wdXRUeXBlLmNwcAppbmRleCA3
NDk4Y2M5OTEyMzgyMDliMWEzMDUzNjZkNTFlOWZkN2E3OTNiODc3Li40NDBlZTdiOWJiNWM0MjU1
OTI2Nzg0ZTViNjI5YjlhMTU5OTI4NWQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L051bWJlcklucHV0VHlwZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9OdW1iZXJJbnB1
dFR5cGUuY3BwCkBAIC0zOSw2ICszOSw3IEBACiAjaW5jbHVkZSAiSFRNTFBhcnNlcklkaW9tcy5o
IgogI2luY2x1ZGUgIklucHV0VHlwZU5hbWVzLmgiCiAjaW5jbHVkZSAiS2V5Ym9hcmRFdmVudC5o
IgorI2luY2x1ZGUgIkxvY2FsaXplZFN0cmluZ3MuaCIKICNpbmNsdWRlICJQbGF0Zm9ybUxvY2Fs
ZS5oIgogI2luY2x1ZGUgIlJlbmRlclRleHRDb250cm9sLmgiCiAjaW5jbHVkZSA8bGltaXRzPgpA
QCAtMjEzLDE2ICsyMTQsNiBAQCBTdHJpbmcgTnVtYmVySW5wdXRUeXBlOjpzZXJpYWxpemUoY29u
c3QgRGVjaW1hbCYgdmFsdWUpIGNvbnN0CiAgICAgcmV0dXJuIHNlcmlhbGl6ZUZvck51bWJlclR5
cGUodmFsdWUpOwogfQogCi12b2lkIE51bWJlcklucHV0VHlwZTo6aGFuZGxlQmx1ckV2ZW50KCkK
LXsKLSAgICAvLyBSZXNldCB0aGUgcmVuZGVyZXIgdmFsdWUsIHdoaWNoIG1pZ2h0IGJlIHVubWF0
Y2hlZCB3aXRoIHRoZSBlbGVtZW50IHZhbHVlLgotICAgIGVsZW1lbnQoKS0+c2V0Rm9ybUNvbnRy
b2xWYWx1ZU1hdGNoZXNSZW5kZXJlcihmYWxzZSk7Ci0KLSAgICAvLyBXZSBuZWVkIHRvIHJlc2V0
IHRoZSByZW5kZXJlciB2YWx1ZSBleHBsaWNpdGx5IGJlY2F1c2UgYW4gdW5hY2NlcHRhYmxlCi0g
ICAgLy8gcmVuZGVyZXIgdmFsdWUgc2hvdWxkIGJlIHB1cmdlZCBiZWZvcmUgc3R5bGUgY2FsY3Vs
YXRpb24uCi0gICAgdXBkYXRlSW5uZXJUZXh0VmFsdWUoKTsKLX0KLQogc3RhdGljIGJvb2wgaXNF
KFVDaGFyIGNoKQogewogICAgIHJldHVybiBjaCA9PSAnZScgfHwgY2ggPT0gJ0UnOwpAQCAtMjYw
LDE0ICsyNTEsMTcgQEAgU3RyaW5nIE51bWJlcklucHV0VHlwZTo6c2FuaXRpemVWYWx1ZShjb25z
dCBTdHJpbmcmIHByb3Bvc2VkVmFsdWUpIGNvbnN0CiAgICAgcmV0dXJuIGlzZmluaXRlKHBhcnNl
VG9Eb3VibGVGb3JOdW1iZXJUeXBlKHByb3Bvc2VkVmFsdWUpKSA/IHByb3Bvc2VkVmFsdWUgOiBl
bXB0eVN0cmluZygpOwogfQogCi1ib29sIE51bWJlcklucHV0VHlwZTo6aGFzVW5hY2NlcHRhYmxl
VmFsdWUoKQorYm9vbCBOdW1iZXJJbnB1dFR5cGU6Omhhc0JhZElucHV0KCkgY29uc3QKIHsKLSAg
ICBpZiAoIWVsZW1lbnQoKS0+cmVuZGVyZXIoKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwogICAg
IFN0cmluZyBzdGFuZGFyZFZhbHVlID0gY29udmVydEZyb21WaXNpYmxlVmFsdWUoZWxlbWVudCgp
LT5pbm5lclRleHRWYWx1ZSgpKTsKICAgICByZXR1cm4gIXN0YW5kYXJkVmFsdWUuaXNFbXB0eSgp
ICYmICFpc2Zpbml0ZShwYXJzZVRvRG91YmxlRm9yTnVtYmVyVHlwZShzdGFuZGFyZFZhbHVlKSk7
CiB9CiAKK1N0cmluZyBOdW1iZXJJbnB1dFR5cGU6OmJhZElucHV0VGV4dCgpIGNvbnN0Cit7Cisg
ICAgcmV0dXJuIHZhbGlkYXRpb25NZXNzYWdlQmFkSW5wdXRGb3JOdW1iZXJUZXh0KCk7Cit9CisK
IGJvb2wgTnVtYmVySW5wdXRUeXBlOjpzaG91bGRSZXNwZWN0U3BlZWNoQXR0cmlidXRlKCkKIHsK
ICAgICByZXR1cm4gdHJ1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTnVtYmVy
SW5wdXRUeXBlLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL051bWJlcklucHV0VHlwZS5oCmluZGV4
IDExY2NhNTU3YmViODIxMDJhNjQ5OWIxMzQ2OWYxZjMwOTY1MzNmNDAuLmM3N2E5YTc4ZTRkMDQ5
MDlmOGRhNjVkMmU5Mjg5ZThiODUyZDkxZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvTnVtYmVySW5wdXRUeXBlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9OdW1iZXJJbnB1
dFR5cGUuaApAQCAtNTMsMTIgKzUzLDEyIEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIGhh
bmRsZUtleWRvd25FdmVudChLZXlib2FyZEV2ZW50KikgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBE
ZWNpbWFsIHBhcnNlVG9OdW1iZXIoY29uc3QgU3RyaW5nJiwgY29uc3QgRGVjaW1hbCYpIGNvbnN0
IE9WRVJSSURFOwogICAgIHZpcnR1YWwgU3RyaW5nIHNlcmlhbGl6ZShjb25zdCBEZWNpbWFsJikg
Y29uc3QgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCB2b2lkIGhhbmRsZUJsdXJFdmVudCgpIE9WRVJS
SURFOwogICAgIHZpcnR1YWwgU3RyaW5nIGxvY2FsaXplVmFsdWUoY29uc3QgU3RyaW5nJikgY29u
c3QgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBTdHJpbmcgdmlzaWJsZVZhbHVlKCkgY29uc3QgT1ZF
UlJJREU7CiAgICAgdmlydHVhbCBTdHJpbmcgY29udmVydEZyb21WaXNpYmxlVmFsdWUoY29uc3Qg
U3RyaW5nJikgY29uc3QgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBTdHJpbmcgc2FuaXRpemVWYWx1
ZShjb25zdCBTdHJpbmcmKSBjb25zdCBPVkVSUklERTsKLSAgICB2aXJ0dWFsIGJvb2wgaGFzVW5h
Y2NlcHRhYmxlVmFsdWUoKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIGJvb2wgaGFzQmFkSW5wdXQo
KSBjb25zdCBPVkVSUklERTsKKyAgICB2aXJ0dWFsIFN0cmluZyBiYWRJbnB1dFRleHQoKSBjb25z
dCBPVkVSUklERTsKICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkUmVzcGVjdFNwZWVjaEF0dHJpYnV0
ZSgpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgYm9vbCBzdXBwb3J0c1BsYWNlaG9sZGVyKCkgY29u
c3QgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBib29sIGlzTnVtYmVyRmllbGQoKSBjb25zdCBPVkVS
UklERTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvVGV4dEZpZWxkSW5wdXRUeXBl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvVGV4dEZpZWxkSW5wdXRUeXBlLmNwcAppbmRleCBh
NWVkY2IwYjMxZWViMmZhOTQwOWIyNzIxMDMwMTEyNGQzNWNhZGEwLi4zOTJiY2ZhZTMxYjZhNGJj
OGFkNTc3NzE5ODVlZmEyMDYzODVmZWUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L1RleHRGaWVsZElucHV0VHlwZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9UZXh0Rmll
bGRJbnB1dFR5cGUuY3BwCkBAIC00NTgsNyArNDU4LDcgQEAgdm9pZCBUZXh0RmllbGRJbnB1dFR5
cGU6OnN1YnRyZWVIYXNDaGFuZ2VkKCkKICAgICAvLyBzYW5pdGl6ZVZhbHVlKCkgaXMgbmVlZGVk
IGJlY2F1c2UgSU1FIGlucHV0IGRvZXNuJ3QgZGlzcGF0Y2ggQmVmb3JlVGV4dEluc2VydGVkRXZl
bnQuCiAgICAgZWxlbWVudCgpLT5zZXRWYWx1ZUZyb21SZW5kZXJlcihzYW5pdGl6ZVZhbHVlKGNv
bnZlcnRGcm9tVmlzaWJsZVZhbHVlKGVsZW1lbnQoKS0+aW5uZXJUZXh0VmFsdWUoKSkpKTsKICAg
ICBlbGVtZW50KCktPnVwZGF0ZVBsYWNlaG9sZGVyVmlzaWJpbGl0eShmYWxzZSk7Ci0gICAgLy8g
UmVjYWxjIGZvciA6aW52YWxpZCBhbmQgaGFzVW5hY2NlcHRhYmxlVmFsdWUoKSBjaGFuZ2UuCisg
ICAgLy8gUmVjYWxjIGZvciA6aW52YWxpZCBjaGFuZ2UuCiAgICAgZWxlbWVudCgpLT5zZXROZWVk
c1N0eWxlUmVjYWxjKCk7CiAKICAgICBkaWRTZXRWYWx1ZUJ5VXNlckVkaXQod2FzQ2hhbmdlZCA/
IFZhbHVlQ2hhbmdlU3RhdGVDaGFuZ2VkIDogVmFsdWVDaGFuZ2VTdGF0ZU5vbmUpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9WYWxpZGl0eVN0YXRlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvVmFsaWRpdHlTdGF0ZS5jcHAKaW5kZXggNjQ5NzY1ZGY5MTQ2ODdkNTQ4ZjkwYmY1
MzFkNDQ1N2RmNjY0YzZkMi4uZjA0ZWE3NmVmMmQxY2Y4NTI4MmM0NzJlNjI5Nzk0OGZkOTdiY2Jk
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9WYWxpZGl0eVN0YXRlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL1ZhbGlkaXR5U3RhdGUuY3BwCkBAIC03Niw2ICs3NiwxMSBA
QCBib29sIFZhbGlkaXR5U3RhdGU6OnN0ZXBNaXNtYXRjaCgpIGNvbnN0CiAgICAgcmV0dXJuIG1f
Y29udHJvbC0+c3RlcE1pc21hdGNoKCk7CiB9CiAKK2Jvb2wgVmFsaWRpdHlTdGF0ZTo6YmFkSW5w
dXQoKSBjb25zdAoreworICAgIHJldHVybiBtX2NvbnRyb2wtPmhhc0JhZElucHV0KCk7Cit9CisK
IGJvb2wgVmFsaWRpdHlTdGF0ZTo6Y3VzdG9tRXJyb3IoKSBjb25zdAogewogICAgIHJldHVybiBt
X2NvbnRyb2wtPmN1c3RvbUVycm9yKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L1ZhbGlkaXR5U3RhdGUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRpdHlTdGF0ZS5oCmlu
ZGV4IDI4ZjllYzY0MDU1YzM0MTdjZjg2NmNjMmQ0YmVkNmQ1MzA3ZGQwZmMuLjQ1MjczOWE3NzM3
OGI5Mzg4ZThlNWJmYmJkZjY5N2YwODZhN2ViNzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvVmFsaWRpdHlTdGF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRpdHlT
dGF0ZS5oCkBAIC01Miw2ICs1Miw3IEBAIHB1YmxpYzoKICAgICBib29sIHJhbmdlVW5kZXJmbG93
KCkgY29uc3Q7CiAgICAgYm9vbCByYW5nZU92ZXJmbG93KCkgY29uc3Q7CiAgICAgYm9vbCBzdGVw
TWlzbWF0Y2goKSBjb25zdDsKKyAgICBib29sIGJhZElucHV0KCkgY29uc3Q7CiAgICAgYm9vbCBj
dXN0b21FcnJvcigpIGNvbnN0OwogICAgIGJvb2wgdmFsaWQoKSBjb25zdDsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9WYWxpZGl0eVN0YXRlLmlkbCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvVmFsaWRpdHlTdGF0ZS5pZGwKaW5kZXggZGFlMzQzYjlhMTQ5NWJmZWUzNjgyYWI4YmJh
MDVkZTJiODFjZDlmZS4uMTcwYzQ1ZTY5ODU5MzljZTYwYThlNjZhZDE3ZTExOGNlOTUzOTMwOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9WYWxpZGl0eVN0YXRlLmlkbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL1ZhbGlkaXR5U3RhdGUuaWRsCkBAIC0zMCw2ICszMCw3IEBACiAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gICAgICAgICByYW5nZVVuZGVyZmxvdzsKICAg
ICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiAgICAgICAgIHJhbmdlT3ZlcmZsb3c7CiAgICAg
cmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gICAgICAgICBzdGVwTWlzbWF0Y2g7CisgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gICAgICAgICBiYWRJbnB1dDsKICAgICByZWFkb25seSBh
dHRyaWJ1dGUgYm9vbGVhbiAgICAgICAgIGN1c3RvbUVycm9yOwogICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBib29sZWFuICAgICAgICAgdmFsaWQ7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vTG9jYWxpemVkU3RyaW5ncy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9Mb2NhbGl6ZWRTdHJpbmdzLmNwcAppbmRleCAwMjc3MjIzNWZhODRmNTE5YmQ3MGVkNTk0YTdi
MGVhMmIwMWZiODU2Li44ZTAwNWVmNGY0N2Q2MjU2YWFhZTJiOTdlODc0OTcwMWE0MzBiZjRjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Mb2NhbGl6ZWRTdHJpbmdzLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Mb2NhbGl6ZWRTdHJpbmdzLmNwcApAQCAtOTky
LDQgKzk5MiwxMCBAQCBTdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2VTdGVwTWlzbWF0Y2hUZXh0KGNv
bnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYpCiAgICAgcmV0dXJuIFdFQl9VSV9TVFJJTkcoInN0
ZXAgbWlzbWF0Y2giLCAiVmFsaWRhdGlvbiBtZXNzYWdlIGZvciBpbnB1dCBmb3JtIGNvbnRyb2xz
IHdpdGggdmFsdWUgbm90IHJlc3BlY3RpbmcgdGhlIHN0ZXAgYXR0cmlidXRlIik7CiB9CiAKK1N0
cmluZyB2YWxpZGF0aW9uTWVzc2FnZUJhZElucHV0Rm9yTnVtYmVyVGV4dCgpCit7CisgICAgbm90
SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4gdmFsaWRhdGlvbk1lc3NhZ2VUeXBlTWlzbWF0Y2hU
ZXh0KCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL0xvY2FsaXplZFN0cmluZ3MuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL0xvY2FsaXplZFN0cmluZ3MuaAppbmRleCA2NzMyNzQ4YjEyMDg4MjYzMzgyOGI1ZmQyOWZl
YjYwZTlmYTliMmVkLi5iYjQ5MTZlNmQ0ZjQwOTVmNTM1YmUyMWYzMjY5N2UzZWQzMDhkZWQzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Mb2NhbGl6ZWRTdHJpbmdzLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTG9jYWxpemVkU3RyaW5ncy5oCkBAIC0yNTIsNiAr
MjUyLDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBTdHJpbmcgdmFsaWRhdGlvbk1lc3Nh
Z2VSYW5nZVVuZGVyZmxvd1RleHQoY29uc3QgU3RyaW5nJiBtaW5pbXVtKTsKICAgICBTdHJpbmcg
dmFsaWRhdGlvbk1lc3NhZ2VSYW5nZU92ZXJmbG93VGV4dChjb25zdCBTdHJpbmcmIG1heGltdW0p
OwogICAgIFN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZVN0ZXBNaXNtYXRjaFRleHQoY29uc3QgU3Ry
aW5nJiBiYXNlLCBjb25zdCBTdHJpbmcmIHN0ZXApOworICAgIFN0cmluZyB2YWxpZGF0aW9uTWVz
c2FnZUJhZElucHV0Rm9yTnVtYmVyVGV4dCgpOworI2lmIEVOQUJMRShJTlBVVF9NVUxUSVBMRV9G
SUVMRFNfVUkpCisgICAgU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlQmFkSW5wdXRGb3JEYXRlVGlt
ZVRleHQoKTsKKyNlbmRpZgogI2lmIFVTRShTT1VQKQogICAgIFN0cmluZyB1bmFjY2VwdGFibGVU
TFNDZXJ0aWZpY2F0ZSgpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ibGFja2JlcnJ5L0xvY2FsaXplZFN0cmluZ3NCbGFja0JlcnJ5LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2JsYWNrYmVycnkvTG9jYWxpemVkU3RyaW5nc0JsYWNrQmVycnkuY3Bw
CmluZGV4IDdiZDcxYTVmZWQ1NDY5YWVkZDI2MzVkYWVkOWJkMDE2OGQxYjQ5NjEuLjE0ZGU4MjAy
Y2JiNGMwY2M5NjUyZTdmM2Q0MTc3NzZlNzZjZTE4YjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2JsYWNrYmVycnkvTG9jYWxpemVkU3RyaW5nc0JsYWNrQmVycnkuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2JsYWNrYmVycnkvTG9jYWxpemVkU3RyaW5nc0Js
YWNrQmVycnkuY3BwCkBAIC01MjQsNiArNTI0LDEyIEBAIFN0cmluZyB2YWxpZGF0aW9uTWVzc2Fn
ZVZhbHVlTWlzc2luZ0ZvclNlbGVjdFRleHQoKQogICAgIHJldHVybiB2YWxpZGF0aW9uTWVzc2Fn
ZVZhbHVlTWlzc2luZ1RleHQoKTsKIH0KIAorU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlQmFkSW5w
dXRGb3JOdW1iZXJUZXh0KCkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIHJldHVybiB2
YWxpZGF0aW9uTWVzc2FnZVR5cGVNaXNtYXRjaFRleHQoKTsKK30KKwogU3RyaW5nIGxvY2FsaXpl
ZE1lZGlhQ29udHJvbEVsZW1lbnRTdHJpbmcoY29uc3QgU3RyaW5nJikKIHsKICAgICBub3RJbXBs
ZW1lbnRlZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZWZsL0xvY2Fs
aXplZFN0cmluZ3NFZmwuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZWZsL0xvY2FsaXpl
ZFN0cmluZ3NFZmwuY3BwCmluZGV4IDVmZGQzYjI4MzcwYWZhYTRkZjAwZGQyMzFjZDVlMGUzYTRk
M2ZkMWMuLjg3Yjk1NmMzNzZmMzdmMjU3YzU3OGIwNWM1NzYxM2U1NDY2YTkwZmIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9Mb2NhbGl6ZWRTdHJpbmdzRWZsLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9lZmwvTG9jYWxpemVkU3RyaW5nc0VmbC5jcHAK
QEAgLTUzNSw2ICs1MzUsMTIgQEAgU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlVmFsdWVNaXNzaW5n
Rm9yU2VsZWN0VGV4dCgpCiAgICAgcmV0dXJuIHZhbGlkYXRpb25NZXNzYWdlVmFsdWVNaXNzaW5n
VGV4dCgpOwogfQogCitTdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2VCYWRJbnB1dEZvck51bWJlclRl
eHQoKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgcmV0dXJuIHZhbGlkYXRpb25NZXNz
YWdlVHlwZU1pc21hdGNoVGV4dCgpOworfQorCiBTdHJpbmcgbWlzc2luZ1BsdWdpblRleHQoKQog
ewogICAgIHJldHVybiBTdHJpbmc6OmZyb21VVEY4KCJtaXNzaW5nIHBsdWdpbiIpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vcXQvTG9jYWxpemVkU3RyaW5nc1F0LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3F0L0xvY2FsaXplZFN0cmluZ3NRdC5jcHAKaW5kZXgg
N2RmZmYxZmU5OGY4ZDU4ZjRjZTZiNjg3NjcwYWJkNzMxYzY1YzFjYS4uZDYyZTk4NWY4Mjk5YTNm
Yzg4ZjRiOTgxZjIyYWZiMWFjYzMzODZjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vcXQvTG9jYWxpemVkU3RyaW5nc1F0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9xdC9Mb2NhbGl6ZWRTdHJpbmdzUXQuY3BwCkBAIC03MTEsNiArNzExLDEyIEBAIFN0cmlu
ZyB2YWxpZGF0aW9uTWVzc2FnZVN0ZXBNaXNtYXRjaFRleHQoY29uc3QgU3RyaW5nJiBiYXNlLCBj
b25zdCBTdHJpbmcmIHN0ZXApCiAgICAgcmV0dXJuIFN0cmluZygpOwogfQogCitTdHJpbmcgdmFs
aWRhdGlvbk1lc3NhZ2VCYWRJbnB1dEZvck51bWJlclRleHQoKQoreworICAgIG5vdEltcGxlbWVu
dGVkKCk7CisgICAgcmV0dXJuIHZhbGlkYXRpb25NZXNzYWdlVHlwZU1pc21hdGNoVGV4dCgpOwor
fQorCiBTdHJpbmcgbG9jYWxpemVkU3RyaW5nKGNvbnN0IGNoYXIqIGtleSkKIHsKICAgICByZXR1
cm4gU3RyaW5nOjpmcm9tVVRGOChrZXksIHN0cmxlbihrZXkpKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL0xvY2FsaXplZFN0cmluZ3MuY3BwIGIvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvTG9jYWxpemVkU3RyaW5ncy5jcHAKaW5kZXggYTVjMjAyNGZhNTdjOTVk
MTUxZDA3OGRmNDUxYmRhNTlkOGY0MjllYy4uMDdiZjgxNWUzZWY0ZTM1MDliY2E5NTk5NGQzYWQ5
NGE2YzcwOTUwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvTG9jYWxp
emVkU3RyaW5ncy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvTG9jYWxpemVk
U3RyaW5ncy5jcHAKQEAgLTUwNCw0ICs1MDQsMTggQEAgU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdl
U3RlcE1pc21hdGNoVGV4dChjb25zdCBTdHJpbmcmIGJhc2UsIGNvbnN0IFN0cmluZyYgc3RlcCkK
ICAgICByZXR1cm4gcXVlcnkoV2ViTG9jYWxpemVkU3RyaW5nOjpWYWxpZGF0aW9uU3RlcE1pc21h
dGNoLCBiYXNlLCBzdGVwKTsKIH0KIAorU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlQmFkSW5wdXRG
b3JOdW1iZXJUZXh0KCkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIHJldHVybiBTdHJp
bmcoIkJhZCBudW1iZXIiKTsKK30KKworI2lmIEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNf
VUkpCitTdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2VCYWRJbnB1dEZvckRhdGVUaW1lVGV4dCgpCit7
CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4gU3RyaW5nKCJCYWQgZGF0ZSIpOwor
fQorI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA3NjQ2YTA3NTdlYTkx
NjgzODhkZDhkMzYyZDhmMWFiMWJiYjNjMTI3Li41ZjkyOGJlZmJkZTg2NjRmMzZjYmRkMWY3NGE5
ZDhkODY4NDBiYjAyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIwMTItMTEtMjUgIEtlbnQgVGFt
dXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEltcGxlbWVudCBWYWxpZGl0eVN0
YXRlOjpiYWRJbnB1dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTAyODYxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBmYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmll
bGRzLXZhbGlkaXR5LWJhZGlucHV0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFz
dC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0
eS1iYWRpbnB1dC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2RhdGV0aW1lLW11
bHRpcGxlLWZpZWxkcy9kYXRldGltZS1tdWx0aXBsZS1maWVsZHMtdmFsaWRpdHktYmFkaW5wdXQt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2RhdGV0aW1lLW11bHRp
cGxlLWZpZWxkcy9kYXRldGltZS1tdWx0aXBsZS1maWVsZHMtdmFsaWRpdHktYmFkaW5wdXQuaHRt
bDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZp
ZWxkcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0
aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtdmFsaWRpdHktYmFkaW5w
dXQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVs
ZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgt
bXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvZm9ybXMvbnVtYmVyL251bWJlci11bmFjY2VwdGFibGUtc3R5bGUtZXhwZWN0ZWQudHh0
OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvbnVtYmVyL251bWJlci12YWxpZGl0eS1i
YWRpbnB1dC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvbnVtYmVy
L251bWJlci12YWxpZGl0eS1iYWRpbnB1dC5odG1sOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy9udW1iZXIvbnVtYmVyLXVuYWNjZXB0YWJsZS1zdHlsZS5odG1sLgorICAgICAg
ICAqIGZhc3QvZm9ybXMvcmVzb3VyY2VzL211bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1
dC5qczogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90
aW1lLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGZhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBs
ZS1maWVsZHMtdmFsaWRpdHktYmFkaW5wdXQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9m
b3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1i
YWRpbnB1dC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvd2Vlay1t
dWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMtdmFsaWRpdHktYmFkaW5wdXQuaHRt
bDogQWRkZWQuCisKIDIwMTItMTEtMjUgIEt1bmloaWtvIFNha2Ftb3RvICA8a3Nha2Ftb3RvQGNo
cm9taXVtLm9yZz4KIAogICAgICAgICBbQ2hyb21pdW1dIEFkZCB0ZXN0cyBmb3IgZGF0ZXRpbWUv
ZGF0ZXRpbWUtbG9jYWwgc3VnZ2VzdGlvbiBwaWNrZXIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtdmFs
aWRpdHktYmFkaW5wdXQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRl
LW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWZlMGE2ZjY0OGQ5MDYyMzIxYjUyMjQ5YjkwYmE2NWU0
ZWExYzk5NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1t
dWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtdmFsaWRpdHktYmFkaW5wdXQtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjAgQEAKK0EgZGF0ZSBpbnB1dCBmaWVsZHMgd2l0aCBhIGJh
ZCB1c2VyIGlucHV0IHNob3VsZCBtYWtlIHZhbGlkaXR5LmJhZElucHV0IHRydWUgYW5kIGhhdmUg
OmludmFsaWQgc3R5bGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitJbml0aWFs
IHN0YXRlLiBUaGUgZWxtZW50IGhhcyBubyB2YWx1ZS4KK1BBU1MgY29sb3JPZihpbnB1dCkgaXMg
bm90IGludmFsaWRTdHlsZUNvbG9yCitQQVNTIGlucHV0LnZhbGlkaXR5LmJhZElucHV0IGlzIGZh
bHNlCitTZXQgYSB2YWx1ZSB0byB0aGUgZmlyc3Qgc3ViLWZpZWxkLiBUaGUgZWxlbWVudCBiZWNv
bWVzIGJhZElucHV0LgorUEFTUyBjb2xvck9mKGlucHV0KSBpcyBpbnZhbGlkU3R5bGVDb2xvcgor
UEFTUyBpbnB1dC52YWxpZGl0eS5iYWRJbnB1dCBpcyB0cnVlCitTZXQgYW4gaW52YWxpZCBkYXRl
LCAyMDEyLTAyLTMxLgorUEFTUyBpbnB1dC52YWxpZGl0eS5iYWRJbnB1dCBpcyBmYWxzZQorUEFT
UyBpbnB1dC52YWx1ZSBpcyAiIgorUEFTUyBpbnB1dC52YWxpZGl0eS5iYWRJbnB1dCBpcyB0cnVl
CitQQVNTIGNvbG9yT2YoaW5wdXQpIGlzIGludmFsaWRTdHlsZUNvbG9yCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxk
cy12YWxpZGl0eS1iYWRpbnB1dC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11
bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmMxYTc4OWVlZmY0YmNlNDA4OTI5NjI3NTJiNGExOGQwZjM5Y2NiNTAKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmll
bGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0Lmh0bWwKQEAgLTAsMCAr
MSwxNCBAQAorPCFET0NUWVBFIGh0bWw+Cis8c3R5bGU+Cis6aW52YWxpZCB7CisgICAgYmFja2dy
b3VuZC1jb2xvcjogI2ZmMDAwMDsKK30KKzwvc3R5bGU+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uL3Jlc291cmNlcy9tdWx0aXBsZS1maWVsZHMtdmFsaWRpdHktYmFkaW5wdXQuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdD4KK3Rlc3RCYWRJbnB1dCgnZGF0ZScpOworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lLW11bHRpcGxl
LWZpZWxkcy9kYXRldGltZS1tdWx0aXBsZS1maWVsZHMtdmFsaWRpdHktYmFkaW5wdXQtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGltZS1tdWx0aXBsZS1maWVsZHMv
ZGF0ZXRpbWUtbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4zYTRlZTQ1OGU1YjIyMTMyMTI1NmQ2ZDM3ODgyMzE5YTgzZWQyNmJlCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGltZS1tdWx0aXBsZS1m
aWVsZHMvZGF0ZXRpbWUtbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDIwIEBACitBIGRhdGV0aW1lIGlucHV0IGZpZWxkcyB3aXRoIGEgYmFk
IHVzZXIgaW5wdXQgc2hvdWxkIG1ha2UgdmFsaWRpdHkuYmFkSW5wdXQgdHJ1ZSBhbmQgaGF2ZSA6
aW52YWxpZCBzdHlsZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK0luaXRpYWwg
c3RhdGUuIFRoZSBlbG1lbnQgaGFzIG5vIHZhbHVlLgorUEFTUyBjb2xvck9mKGlucHV0KSBpcyBu
b3QgaW52YWxpZFN0eWxlQ29sb3IKK1BBU1MgaW5wdXQudmFsaWRpdHkuYmFkSW5wdXQgaXMgZmFs
c2UKK1NldCBhIHZhbHVlIHRvIHRoZSBmaXJzdCBzdWItZmllbGQuIFRoZSBlbGVtZW50IGJlY29t
ZXMgYmFkSW5wdXQuCitQQVNTIGNvbG9yT2YoaW5wdXQpIGlzIGludmFsaWRTdHlsZUNvbG9yCitQ
QVNTIGlucHV0LnZhbGlkaXR5LmJhZElucHV0IGlzIHRydWUKK1NldCBhbiBpbnZhbGlkIGRhdGUs
IDIwMTItMDItMzEuCitQQVNTIGlucHV0LnZhbGlkaXR5LmJhZElucHV0IGlzIGZhbHNlCitQQVNT
IGlucHV0LnZhbHVlIGlzICIiCitQQVNTIGlucHV0LnZhbGlkaXR5LmJhZElucHV0IGlzIHRydWUK
K1BBU1MgY29sb3JPZihpbnB1dCkgaXMgaW52YWxpZFN0eWxlQ29sb3IKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZS1tdWx0aXBs
ZS1maWVsZHMtdmFsaWRpdHktYmFkaW5wdXQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
ZGF0ZXRpbWUtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0
eS1iYWRpbnB1dC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg4MmEwZjEzNzFlODg2YTI4Nzk0ODc2ZWFiZjYw
MWE0ODEzZjVlNjEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2Rh
dGV0aW1lLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZS1tdWx0aXBsZS1maWVsZHMtdmFsaWRpdHkt
YmFkaW5wdXQuaHRtbApAQCAtMCwwICsxLDE0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxzdHlsZT4K
KzppbnZhbGlkIHsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwMDAwOworfQorPC9zdHlsZT4K
Kzxib2R5PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL211bHRpcGxlLWZpZWxkcy12YWxp
ZGl0eS1iYWRpbnB1dC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgordGVzdEJhZElucHV0KCdkYXRl
dGltZScpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVs
dGlwbGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1t
dWx0aXBsZS1maWVsZHMtdmFsaWRpdHktYmFkaW5wdXQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjE2NWZhNDg4MzQyODk0NGIwYTVjYTEwMDQzZDI1MTdkNGVmZmMwYTUKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRz
L2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDIwIEBACitBIGRhdGV0aW1lLWxvY2FsIGlucHV0IGZpZWxkcyB3aXRo
IGEgYmFkIHVzZXIgaW5wdXQgc2hvdWxkIG1ha2UgdmFsaWRpdHkuYmFkSW5wdXQgdHJ1ZSBhbmQg
aGF2ZSA6aW52YWxpZCBzdHlsZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK0lu
aXRpYWwgc3RhdGUuIFRoZSBlbG1lbnQgaGFzIG5vIHZhbHVlLgorUEFTUyBjb2xvck9mKGlucHV0
KSBpcyBub3QgaW52YWxpZFN0eWxlQ29sb3IKK1BBU1MgaW5wdXQudmFsaWRpdHkuYmFkSW5wdXQg
aXMgZmFsc2UKK1NldCBhIHZhbHVlIHRvIHRoZSBmaXJzdCBzdWItZmllbGQuIFRoZSBlbGVtZW50
IGJlY29tZXMgYmFkSW5wdXQuCitQQVNTIGNvbG9yT2YoaW5wdXQpIGlzIGludmFsaWRTdHlsZUNv
bG9yCitQQVNTIGlucHV0LnZhbGlkaXR5LmJhZElucHV0IGlzIHRydWUKK1NldCBhbiBpbnZhbGlk
IGRhdGUsIDIwMTItMDItMzEuCitQQVNTIGlucHV0LnZhbGlkaXR5LmJhZElucHV0IGlzIGZhbHNl
CitQQVNTIGlucHV0LnZhbHVlIGlzICIiCitQQVNTIGlucHV0LnZhbGlkaXR5LmJhZElucHV0IGlz
IHRydWUKK1BBU1MgY29sb3JPZihpbnB1dCkgaXMgaW52YWxpZFN0eWxlQ29sb3IKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0
aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9j
YWwtbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2U0
MWZkMzhiZTc0NjcyNjRlM2NhYzJjYWNjNDE2NjkzNTUyMGE1NwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0
ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtdmFsaWRpdHktYmFkaW5wdXQuaHRtbApAQCAtMCww
ICsxLDE0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxzdHlsZT4KKzppbnZhbGlkIHsKKyAgICBiYWNr
Z3JvdW5kLWNvbG9yOiAjZmYwMDAwOworfQorPC9zdHlsZT4KKzxib2R5PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vcmVzb3VyY2VzL211bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0PgordGVzdEJhZElucHV0KCdkYXRldGltZS1sb2NhbCcpOworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21vbnRo
LW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0aXBsZS1maWVsZHMtdmFsaWRpdHktYmFkaW5wdXQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVs
ZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4wODBiNTM5NTNmYTVhOGJkOTU1MWZmYTA1ZjU5OThiZDlkMDYyMmUyCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVs
ZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDE1IEBACitBIG1vbnRoIGlucHV0IGZpZWxkcyB3aXRoIGEgYmFkIHVzZXIgaW5w
dXQgc2hvdWxkIG1ha2UgdmFsaWRpdHkuYmFkSW5wdXQgdHJ1ZSBhbmQgaGF2ZSA6aW52YWxpZCBz
dHlsZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK0luaXRpYWwgc3RhdGUuIFRo
ZSBlbG1lbnQgaGFzIG5vIHZhbHVlLgorUEFTUyBjb2xvck9mKGlucHV0KSBpcyBub3QgaW52YWxp
ZFN0eWxlQ29sb3IKK1BBU1MgaW5wdXQudmFsaWRpdHkuYmFkSW5wdXQgaXMgZmFsc2UKK1NldCBh
IHZhbHVlIHRvIHRoZSBmaXJzdCBzdWItZmllbGQuIFRoZSBlbGVtZW50IGJlY29tZXMgYmFkSW5w
dXQuCitQQVNTIGNvbG9yT2YoaW5wdXQpIGlzIGludmFsaWRTdHlsZUNvbG9yCitQQVNTIGlucHV0
LnZhbGlkaXR5LmJhZElucHV0IGlzIHRydWUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0aXBsZS1maWVsZHMtdmFsaWRpdHktYmFk
aW5wdXQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRz
L21vbnRoLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjM1NmVlYTUyODE5NzIxOTUzYWM2MDg1ZDJkOWVlYTEzZDYyODFiMDYKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1t
dWx0aXBsZS1maWVsZHMtdmFsaWRpdHktYmFkaW5wdXQuaHRtbApAQCAtMCwwICsxLDE0IEBACis8
IURPQ1RZUEUgaHRtbD4KKzxzdHlsZT4KKzppbnZhbGlkIHsKKyAgICBiYWNrZ3JvdW5kLWNvbG9y
OiAjZmYwMDAwOworfQorPC9zdHlsZT4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3Vy
Y2VzL211bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0PgordGVzdEJhZElucHV0KCdtb250aCcpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL251bWJlci9udW1iZXItdW5hY2NlcHRhYmxl
LXN0eWxlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbnVtYmVyL251bWJl
ci11bmFjY2VwdGFibGUtc3R5bGUtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCBiN2M3ZGIyOTdiZjRjYzRjNzI0ZjE2YTFlYjdjOGQ0MDY4MjAxMDMwLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvbnVtYmVyL251bWJlci11bmFjY2VwdGFibGUtc3R5bGUtZXhwZWN0ZWQudHh0CisrKyAv
ZGV2L251bGwKQEAgLTEsMjUgKzAsMCBAQAotQSBudW1iZXIgaW5wdXQgZmllbGRzIHdpdGggYW4g
dW5hY2NlcHRhYmxlIHN0cmluZyBzaG91bGQgaGF2ZSA6aW52YWxpZCBzdHlsZS4KLQotT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLUluaXRpYWwgc3RhdGUuIFRoZSBlbG1lbnQgaGFzIG5v
IHZhbHVlLgotUEFTUyBjb2xvck9mKG51bWJlcikgIT0gaW52YWxpZFN0eWxlQ29sb3IgaXMgdHJ1
ZQotVHlwZSAnLScuIFRoZSByZW5kZXJlciB2YWx1ZSBiZWNvbWVzIHVuYWNjZXB0YWJsZS4KLVBB
U1MgY29sb3JPZihudW1iZXIpIGlzIGludmFsaWRTdHlsZUNvbG9yCi1QQVNTIG51bWJlci52YWxp
ZGl0eS52YWxpZCBpcyB0cnVlCi1QQVNTIG51bWJlci52YWx1ZSBpcyAiIgotVHlwZSAnMScgYWRk
aXRpb25hbGx5LiBUaGUgcmVuZGVyZXIgdmFsdWUgYmVjb21lcyBhY2NlcHRhYmxlLgotUEFTUyBj
b2xvck9mKG51bWJlcikgIT0gaW52YWxpZFN0eWxlQ29sb3IgaXMgdHJ1ZQotUEFTUyBudW1iZXIu
dmFsdWUgaXMgIi0xIgotVHlwZSAnYScgYWRkaXRpb25hbGx5LiBUaGUgcmVuZGVyZXIgdmFsdWUg
YmVjb21lcyB1bmFjY2VwdGFibGUgYWdhaW4uCi1QQVNTIGNvbG9yT2YobnVtYmVyKSBpcyBpbnZh
bGlkU3R5bGVDb2xvcgotUEFTUyBudW1iZXIudmFsdWUgaXMgIiIKLVRoZSBlbGVtZW50IGxvc3Rz
IGZvY3VzLiBUaGUgdW5hY2NlcHRhYmxlIHZhbHVlIHNob3VsZCBiZSBwdXJnZWQgYW5kIHRoZSBz
dHlsZSBzaG91bGQgYmUgbm9ybWFsLgotUEFTUyBjb2xvck9mKG51bWJlcikgIT0gaW52YWxpZFN0
eWxlQ29sb3IgaXMgdHJ1ZQotUEFTUyBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKS50b1N0cmluZygp
IGlzICIiCi1QQVNTIG51bWJlci52YWx1ZSBpcyAiIgotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvbnVtYmVyL251bWJlci11bmFjY2VwdGFibGUtc3R5bGUuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvbnVtYmVyL251bWJlci11bmFjY2VwdGFibGUtc3R5bGUuaHRtbApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2I5MzcyMTllYTM1NDVmYjQ2N2JhNGZjNmFjMDMxZDFj
MmNiY2JhYS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL251bWJlci9udW1iZXItdW5hY2NlcHRhYmxlLXN0eWxlLmh0
bWwKKysrIC9kZXYvbnVsbApAQCAtMSw2MCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1s
PgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgotPHN0eWxlPgotOmludmFsaWQgewotICBiYWNrZ3JvdW5kLWNv
bG9yOiAjZmYwMDAwOwotfQotPC9zdHlsZT4KLTwvaGVhZD4KLTxib2R5PgotPHAgaWQ9ImRlc2Ny
aXB0aW9uIj48L3A+Ci08ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxkaXYgaWQ9cGFyZW50Pgot
PGlucHV0IHR5cGU9bnVtYmVyIGlkPW51bWJlcj4KLTxpbnB1dCBpZD1hbm90aGVyPgotPC9kaXY+
Ci08c2NyaXB0PgotZGVzY3JpcHRpb24oJ0EgbnVtYmVyIGlucHV0IGZpZWxkcyB3aXRoIGFuIHVu
YWNjZXB0YWJsZSBzdHJpbmcgc2hvdWxkIGhhdmUgOmludmFsaWQgc3R5bGUuJyk7Ci0KLWZ1bmN0
aW9uIGNvbG9yT2YoZWwpIHsKLSAgICByZXR1cm4gZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29t
cHV0ZWRTdHlsZShlbCwgbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZSgnYmFja2dyb3VuZC1jb2xvcicp
OwotfQotdmFyIGludmFsaWRTdHlsZUNvbG9yID0gJ3JnYigyNTUsIDAsIDApJzsKLQotdmFyIG51
bWJlciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdudW1iZXInKTsKLW51bWJlci5mb2N1cygp
OwotZGVidWcoJ0luaXRpYWwgc3RhdGUuIFRoZSBlbG1lbnQgaGFzIG5vIHZhbHVlLicpOwotc2hv
dWxkQmVUcnVlKCdjb2xvck9mKG51bWJlcikgIT0gaW52YWxpZFN0eWxlQ29sb3InKTsKLQotZGVi
dWcoIlR5cGUgJy0nLiBUaGUgcmVuZGVyZXIgdmFsdWUgYmVjb21lcyB1bmFjY2VwdGFibGUuIik7
Ci1kb2N1bWVudC5leGVjQ29tbWFuZCgnSW5zZXJ0VGV4dCcsIGZhbHNlLCAnLScpOwotc2hvdWxk
QmUoJ2NvbG9yT2YobnVtYmVyKScsICdpbnZhbGlkU3R5bGVDb2xvcicpOwotc2hvdWxkQmVUcnVl
KCdudW1iZXIudmFsaWRpdHkudmFsaWQnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnbnVtYmVy
LnZhbHVlJywgJycpOwotCi1kZWJ1ZygiVHlwZSAnMScgYWRkaXRpb25hbGx5LiBUaGUgcmVuZGVy
ZXIgdmFsdWUgYmVjb21lcyBhY2NlcHRhYmxlLiIpOwotZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ0lu
c2VydFRleHQnLCBmYWxzZSwgJzEnKTsKLXNob3VsZEJlVHJ1ZSgnY29sb3JPZihudW1iZXIpICE9
IGludmFsaWRTdHlsZUNvbG9yJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ251bWJlci52YWx1
ZScsICctMScpOwotCi1kZWJ1ZygiVHlwZSAnYScgYWRkaXRpb25hbGx5LiBUaGUgcmVuZGVyZXIg
dmFsdWUgYmVjb21lcyB1bmFjY2VwdGFibGUgYWdhaW4uIik7Ci1kb2N1bWVudC5leGVjQ29tbWFu
ZCgnSW5zZXJ0VGV4dCcsIGZhbHNlLCAnYScpOwotc2hvdWxkQmUoJ2NvbG9yT2YobnVtYmVyKScs
ICdpbnZhbGlkU3R5bGVDb2xvcicpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdudW1iZXIudmFs
dWUnLCAnJyk7Ci0KLWRlYnVnKCJUaGUgZWxlbWVudCBsb3N0cyBmb2N1cy4gVGhlIHVuYWNjZXB0
YWJsZSB2YWx1ZSBzaG91bGQgYmUgcHVyZ2VkIGFuZCB0aGUgc3R5bGUgc2hvdWxkIGJlIG5vcm1h
bC4iKTsKLWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhbm90aGVyJykuZm9jdXMoKTsKLXNob3Vs
ZEJlVHJ1ZSgnY29sb3JPZihudW1iZXIpICE9IGludmFsaWRTdHlsZUNvbG9yJyk7Ci0vLyBWaXNp
Ymx1ZSB2YWx1ZSBpcyBub3QgJy0xYScuCi1udW1iZXIuZm9jdXMoKTsKLWRvY3VtZW50LmV4ZWND
b21tYW5kKCdTZWxlY3RBbGwnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCkudG9TdHJpbmcoKScsICcnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnbnVt
YmVyLnZhbHVlJywgJycpOwotCi1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncGFyZW50JykuaW5u
ZXJIVE1MID0gJyc7Ci08L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9udW1iZXIvbnVtYmVyLXZhbGlkaXR5LWJh
ZGlucHV0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbnVtYmVyL251bWJl
ci12YWxpZGl0eS1iYWRpbnB1dC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjhjNzYzMWU0OTAw
NjYzYzc0OWNmZmMxZWI0NDUxYjQ5MjFiODU5ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvbnVtYmVyL251bWJlci12YWxpZGl0eS1iYWRpbnB1dC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzMiBAQAorQSBudW1iZXIgaW5wdXQgZmllbGRzIHdpdGggYSBiYWQgaW5w
dXQgc3RyaW5nIHNob3VsZCBtYWtlIHZhbGlkaXR5LmJhZElucHV0IHRydWUgYW5kIGhhdmUgOmlu
dmFsaWQgc3R5bGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitJbml0aWFsIHN0
YXRlLiBUaGUgZWxtZW50IGhhcyBubyB2YWx1ZS4KK1BBU1MgY29sb3JPZihudW1iZXIpICE9IGlu
dmFsaWRTdHlsZUNvbG9yIGlzIHRydWUKK1BBU1MgbnVtYmVyLnZhbGlkaXR5LmJhZElucHV0IGlz
IGZhbHNlCitUeXBlICctJy4gVGhlIGVsZW1lbnQgYmVjb21lcyBiYWRJbnB1dC4KK1BBU1MgY29s
b3JPZihudW1iZXIpIGlzIGludmFsaWRTdHlsZUNvbG9yCitQQVNTIG51bWJlci52YWxpZGl0eS52
YWxpZCBpcyBmYWxzZQorUEFTUyBudW1iZXIudmFsaWRpdHkuYmFkSW5wdXQgaXMgdHJ1ZQorUEFT
UyBudW1iZXIudmFsdWUgaXMgIiIKK1R5cGUgJzEnIGFkZGl0aW9uYWxseS4gVGhlIGVsZW1lbnQg
YmVjb21lcyB2YWxpZC4KK1BBU1MgY29sb3JPZihudW1iZXIpICE9IGludmFsaWRTdHlsZUNvbG9y
IGlzIHRydWUKK1BBU1MgbnVtYmVyLnZhbGlkaXR5LmJhZElucHV0IGlzIGZhbHNlCitQQVNTIG51
bWJlci52YWx1ZSBpcyAiLTEiCitUeXBlICdhJyBhZGRpdGlvbmFsbHkuIFRoZSBlbGVtZW50IGJl
Y29tZXMgYmFkSW5wdXQgYWdhaW4uCitQQVNTIGNvbG9yT2YobnVtYmVyKSBpcyBpbnZhbGlkU3R5
bGVDb2xvcgorUEFTUyBudW1iZXIudmFsaWRpdHkuYmFkSW5wdXQgaXMgdHJ1ZQorUEFTUyBudW1i
ZXIudmFsdWUgaXMgIiIKK1RoZSBlbGVtZW50IGxvc3RzIGZvY3VzLiBUaGUgZWxlbWVudCBzdGF0
ZSBzaG91bGQgbm90IGJlIGNoYW5nZWQuCitQQVNTIGNvbG9yT2YobnVtYmVyKSBpcyBpbnZhbGlk
U3R5bGVDb2xvcgorUEFTUyBudW1iZXIudmFsaWRpdHkuYmFkSW5wdXQgaXMgdHJ1ZQorUEFTUyBk
b2N1bWVudC5nZXRTZWxlY3Rpb24oKS50b1N0cmluZygpIGlzICItMWEiCitQQVNTIG51bWJlci52
YWx1ZSBpcyAiIgorVGhlIGVsZW1lbnQgbG9zdHMgYSByZW5kZXJlci4gVGhlIGVsZW1lbnQgc3Rh
dGUgc2hvdWxkIG5vdCBiZSBjaGFuZ2VkLgorUEFTUyBudW1iZXIuc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsgbnVtYmVyLnZhbGlkaXR5LmJhZElucHV0IGlzIHRydWUKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL251bWJlci9udW1iZXItdmFsaWRpdHktYmFkaW5wdXQuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvZm9ybXMvbnVtYmVyL251bWJlci12YWxpZGl0eS1iYWRpbnB1dC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjA2YzZjMGE0ZDVjYjkyODA5MDY0ZjcwZjQ2YTc1ZTk5MzQ1MDk3ZGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL251bWJlci9udW1iZXItdmFsaWRp
dHktYmFkaW5wdXQuaHRtbApAQCAtMCwwICsxLDY4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorOmludmFsaWQgeworICBiYWNrZ3JvdW5kLWNv
bG9yOiAjZmYwMDAwOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxkaXYgaWQ9cGFyZW50Pgor
PGlucHV0IHR5cGU9bnVtYmVyIGlkPW51bWJlcj4KKzxpbnB1dCBpZD1hbm90aGVyPgorPC9kaXY+
Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oJ0EgbnVtYmVyIGlucHV0IGZpZWxkcyB3aXRoIGEgYmFk
IGlucHV0IHN0cmluZyBzaG91bGQgbWFrZSB2YWxpZGl0eS5iYWRJbnB1dCB0cnVlIGFuZCBoYXZl
IDppbnZhbGlkIHN0eWxlLicpOworCitmdW5jdGlvbiBjb2xvck9mKGVsKSB7CisgICAgcmV0dXJu
IGRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUoZWwsIG51bGwpLmdldFByb3Bl
cnR5VmFsdWUoJ2JhY2tncm91bmQtY29sb3InKTsKK30KK3ZhciBpbnZhbGlkU3R5bGVDb2xvciA9
ICdyZ2IoMjU1LCAwLCAwKSc7CisKK3ZhciBudW1iZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgnbnVtYmVyJyk7CitudW1iZXIuZm9jdXMoKTsKK2RlYnVnKCdJbml0aWFsIHN0YXRlLiBUaGUg
ZWxtZW50IGhhcyBubyB2YWx1ZS4nKTsKK3Nob3VsZEJlVHJ1ZSgnY29sb3JPZihudW1iZXIpICE9
IGludmFsaWRTdHlsZUNvbG9yJyk7CitzaG91bGRCZUZhbHNlKCdudW1iZXIudmFsaWRpdHkuYmFk
SW5wdXQnKTsKKworZGVidWcoIlR5cGUgJy0nLiBUaGUgZWxlbWVudCBiZWNvbWVzIGJhZElucHV0
LiIpOworZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ0luc2VydFRleHQnLCBmYWxzZSwgJy0nKTsKK3No
b3VsZEJlKCdjb2xvck9mKG51bWJlciknLCAnaW52YWxpZFN0eWxlQ29sb3InKTsKK3Nob3VsZEJl
RmFsc2UoJ251bWJlci52YWxpZGl0eS52YWxpZCcpOworc2hvdWxkQmVUcnVlKCdudW1iZXIudmFs
aWRpdHkuYmFkSW5wdXQnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnbnVtYmVyLnZhbHVlJywg
JycpOworCitkZWJ1ZygiVHlwZSAnMScgYWRkaXRpb25hbGx5LiBUaGUgZWxlbWVudCBiZWNvbWVz
IHZhbGlkLiIpOworZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ0luc2VydFRleHQnLCBmYWxzZSwgJzEn
KTsKK3Nob3VsZEJlVHJ1ZSgnY29sb3JPZihudW1iZXIpICE9IGludmFsaWRTdHlsZUNvbG9yJyk7
CitzaG91bGRCZUZhbHNlKCdudW1iZXIudmFsaWRpdHkuYmFkSW5wdXQnKTsKK3Nob3VsZEJlRXF1
YWxUb1N0cmluZygnbnVtYmVyLnZhbHVlJywgJy0xJyk7CisKK2RlYnVnKCJUeXBlICdhJyBhZGRp
dGlvbmFsbHkuIFRoZSBlbGVtZW50IGJlY29tZXMgYmFkSW5wdXQgYWdhaW4uIik7Citkb2N1bWVu
dC5leGVjQ29tbWFuZCgnSW5zZXJ0VGV4dCcsIGZhbHNlLCAnYScpOworc2hvdWxkQmUoJ2NvbG9y
T2YobnVtYmVyKScsICdpbnZhbGlkU3R5bGVDb2xvcicpOworc2hvdWxkQmVUcnVlKCdudW1iZXIu
dmFsaWRpdHkuYmFkSW5wdXQnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnbnVtYmVyLnZhbHVl
JywgJycpOworCitkZWJ1ZygiVGhlIGVsZW1lbnQgbG9zdHMgZm9jdXMuIFRoZSBlbGVtZW50IHN0
YXRlIHNob3VsZCBub3QgYmUgY2hhbmdlZC4iKTsKK2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdh
bm90aGVyJykuZm9jdXMoKTsKK3Nob3VsZEJlKCdjb2xvck9mKG51bWJlciknLCAnaW52YWxpZFN0
eWxlQ29sb3InKTsKK3Nob3VsZEJlVHJ1ZSgnbnVtYmVyLnZhbGlkaXR5LmJhZElucHV0Jyk7Cisv
LyBWaXNpYmxlIHZhbHVlIGlzICctMWEnLgorbnVtYmVyLmZvY3VzKCk7Citkb2N1bWVudC5leGVj
Q29tbWFuZCgnU2VsZWN0QWxsJyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2RvY3VtZW50Lmdl
dFNlbGVjdGlvbigpLnRvU3RyaW5nKCknLCAnLTFhJyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmco
J251bWJlci52YWx1ZScsICcnKTsKKworZGVidWcoIlRoZSBlbGVtZW50IGxvc3RzIGEgcmVuZGVy
ZXIuIFRoZSBlbGVtZW50IHN0YXRlIHNob3VsZCBub3QgYmUgY2hhbmdlZC4iKTsKK3Nob3VsZEJl
VHJ1ZSgnbnVtYmVyLnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7IG51bWJlci52YWxpZGl0eS5iYWRJ
bnB1dCcpOworCitkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncGFyZW50JykuaW5uZXJIVE1MID0g
Jyc7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9yZXNvdXJjZXMvbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5
LWJhZGlucHV0LmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9yZXNvdXJjZXMvbXVsdGlwbGUt
ZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA4MWVkNTlmZmFiYjkwYmRj
Mzg4MzEzNTc0ZTJmMWQ1M2RkNGYyYzEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL3Jlc291cmNlcy9tdWx0aXBsZS1maWVsZHMtdmFsaWRpdHktYmFkaW5wdXQuanMK
QEAgLTAsMCArMSw0NCBAQAordmFyIGludmFsaWRTdHlsZUNvbG9yID0gJ3JnYigyNTUsIDAsIDAp
JzsKK3ZhciBpbnB1dDsKK3ZhciBxdWlldCA9IHRydWU7CisKK2Z1bmN0aW9uIGNvbG9yT2YoZWwp
IHsKKyAgICByZXR1cm4gZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZShlbCwg
bnVsbCkuZ2V0UHJvcGVydHlWYWx1ZSgnYmFja2dyb3VuZC1jb2xvcicpOworfQorZnVuY3Rpb24g
dGVzdEJhZElucHV0KHR5cGUpIHsKKyAgICBpZiAoIXdpbmRvdy5ldmVudFNlbmRlcikgeworICAg
ICAgICBkZWJ1ZygnTmVlZHMgdG8gcnVuIHRoaXMgb24gRFJUL1dUUi4nKTsKKyAgICAgICAgcmV0
dXJuOworICAgIH0KKyAgICBkZXNjcmlwdGlvbignQSAnICsgdHlwZSArICcgaW5wdXQgZmllbGRz
IHdpdGggYSBiYWQgdXNlciBpbnB1dCBzaG91bGQgbWFrZSB2YWxpZGl0eS5iYWRJbnB1dCB0cnVl
IGFuZCBoYXZlIDppbnZhbGlkIHN0eWxlLicpOworICAgIGlucHV0ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgnaW5wdXQnKTsKKyAgICBpbnB1dC50eXBlID0gdHlwZTsKKyAgICBkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKGlucHV0KTsKKyAgICBpbnB1dC5mb2N1cygpOworCisgICAgZGVidWco
J0luaXRpYWwgc3RhdGUuIFRoZSBlbG1lbnQgaGFzIG5vIHZhbHVlLicpOworICAgIHNob3VsZE5v
dEJlKCdjb2xvck9mKGlucHV0KScsICdpbnZhbGlkU3R5bGVDb2xvcicpOworICAgIHNob3VsZEJl
RmFsc2UoJ2lucHV0LnZhbGlkaXR5LmJhZElucHV0Jyk7CisKKyAgICBkZWJ1ZygnU2V0IGEgdmFs
dWUgdG8gdGhlIGZpcnN0IHN1Yi1maWVsZC4gVGhlIGVsZW1lbnQgYmVjb21lcyBiYWRJbnB1dC4n
KTsKKyAgICBldmVudFNlbmRlci5rZXlEb3duKCd1cEFycm93Jyk7CisgICAgc2hvdWxkQmUoJ2Nv
bG9yT2YoaW5wdXQpJywgJ2ludmFsaWRTdHlsZUNvbG9yJyk7CisgICAgc2hvdWxkQmVUcnVlKCdp
bnB1dC52YWxpZGl0eS5iYWRJbnB1dCcpOworCisgICAgaWYgKHR5cGUgPT0gJ2RhdGUnIHx8IHR5
cGU9PSAnZGF0ZXRpbWUnIHx8IHR5cGUgPT0gJ2RhdGV0aW1lLWxvY2FsJykgeworICAgICAgICBk
ZWJ1ZygnU2V0IGFuIGludmFsaWQgZGF0ZSwgMjAxMi0wMi0zMS4nKTsKKyAgICAgICAgaWYgKHR5
cGUgPT0gJ2RhdGUnKQorICAgICAgICAgICAgaW5wdXQudmFsdWUgPSAnMjAxMi0wMi0wMSc7Cisg
ICAgICAgIGVsc2UgaWYgKHR5cGUgPT0gJ2RhdGV0aW1lJykKKyAgICAgICAgICAgIGlucHV0LnZh
bHVlID0gJzIwMTItMDItMDFUMDM6MDRaJzsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgaW5w
dXQudmFsdWUgPSAnMjAxMi0wMi0wMVQwMzowNCc7CisgICAgICAgIHNob3VsZE5vdEJlKCdjb2xv
ck9mKGlucHV0KScsICdpbnZhbGlkU3R5bGVDb2xvcicsIHF1aWV0KTsKKyAgICAgICAgc2hvdWxk
QmVGYWxzZSgnaW5wdXQudmFsaWRpdHkuYmFkSW5wdXQnLCBxdWlldCk7CisgICAgICAgIGV2ZW50
U2VuZGVyLmtleURvd24oJ3JpZ2h0QXJyb3cnKTsgLy8gLT4gMDIvWzAxXS8yMDEyIC4uLgorICAg
ICAgICBldmVudFNlbmRlci5rZXlEb3duKCdkb3duQXJyb3cnKTsgLy8gIC0+IDAyL1szMV0vMjAx
MiAuLi4KKyAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcnKTsK
KyAgICAgICAgc2hvdWxkQmVUcnVlKCdpbnB1dC52YWxpZGl0eS5iYWRJbnB1dCcpOworICAgICAg
ICBzaG91bGRCZSgnY29sb3JPZihpbnB1dCknLCAnaW52YWxpZFN0eWxlQ29sb3InKTsKKyAgICB9
Cit9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmll
bGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBs
ZS1maWVsZHMtdmFsaWRpdHktYmFkaW5wdXQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ4MGY1
NjFmMjI2YzU5YTQ0MTdjYmJlM2U2NjkxN2U5ODNkMDQ3ZTYKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUt
ZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE1IEBACitB
IHRpbWUgaW5wdXQgZmllbGRzIHdpdGggYSBiYWQgdXNlciBpbnB1dCBzaG91bGQgbWFrZSB2YWxp
ZGl0eS5iYWRJbnB1dCB0cnVlIGFuZCBoYXZlIDppbnZhbGlkIHN0eWxlLgorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKKworSW5pdGlhbCBzdGF0ZS4gVGhlIGVsbWVudCBoYXMgbm8gdmFs
dWUuCitQQVNTIGNvbG9yT2YoaW5wdXQpIGlzIG5vdCBpbnZhbGlkU3R5bGVDb2xvcgorUEFTUyBp
bnB1dC52YWxpZGl0eS5iYWRJbnB1dCBpcyBmYWxzZQorU2V0IGEgdmFsdWUgdG8gdGhlIGZpcnN0
IHN1Yi1maWVsZC4gVGhlIGVsZW1lbnQgYmVjb21lcyBiYWRJbnB1dC4KK1BBU1MgY29sb3JPZihp
bnB1dCkgaXMgaW52YWxpZFN0eWxlQ29sb3IKK1BBU1MgaW5wdXQudmFsaWRpdHkuYmFkSW5wdXQg
aXMgdHJ1ZQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVs
ZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtdmFsaWRpdHktYmFkaW5wdXQuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMt
dmFsaWRpdHktYmFkaW5wdXQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjgwZjBlODEzN2JiNzRkNjBlMjAz
MjZjZTIyYjEwYzk0NmFiMjQyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1i
YWRpbnB1dC5odG1sCkBAIC0wLDAgKzEsMTQgQEAKKzwhRE9DVFlQRSBodG1sPgorPHN0eWxlPgor
OmludmFsaWQgeworICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjAwMDA7Cit9Cis8L3N0eWxlPgor
PGJvZHk+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvbXVsdGlwbGUtZmllbGRzLXZhbGlk
aXR5LWJhZGlucHV0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+Cit0ZXN0QmFkSW5wdXQoJ3RpbWUn
KTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1i
YWRpbnB1dC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3dlZWstbXVsdGlw
bGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yZDYxODIxZjIxYjY5MzhlMzM5YWRjZWYzMDljMzg1OGI1ODRmMTMy
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxl
LWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxNSBAQAorQSB3ZWVrIGlucHV0IGZpZWxkcyB3aXRoIGEgYmFkIHVzZXIg
aW5wdXQgc2hvdWxkIG1ha2UgdmFsaWRpdHkuYmFkSW5wdXQgdHJ1ZSBhbmQgaGF2ZSA6aW52YWxp
ZCBzdHlsZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK0luaXRpYWwgc3RhdGUu
IFRoZSBlbG1lbnQgaGFzIG5vIHZhbHVlLgorUEFTUyBjb2xvck9mKGlucHV0KSBpcyBub3QgaW52
YWxpZFN0eWxlQ29sb3IKK1BBU1MgaW5wdXQudmFsaWRpdHkuYmFkSW5wdXQgaXMgZmFsc2UKK1Nl
dCBhIHZhbHVlIHRvIHRoZSBmaXJzdCBzdWItZmllbGQuIFRoZSBlbGVtZW50IGJlY29tZXMgYmFk
SW5wdXQuCitQQVNTIGNvbG9yT2YoaW5wdXQpIGlzIGludmFsaWRTdHlsZUNvbG9yCitQQVNTIGlu
cHV0LnZhbGlkaXR5LmJhZElucHV0IGlzIHRydWUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJh
ZGlucHV0Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRz
L3dlZWstbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODQ3YTZlZWQ4MDZjNTkyNjY3YTNmMDllMmVjNjg5NWQ3ODYzNzU3MgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0
aXBsZS1maWVsZHMtdmFsaWRpdHktYmFkaW5wdXQuaHRtbApAQCAtMCwwICsxLDE0IEBACis8IURP
Q1RZUEUgaHRtbD4KKzxzdHlsZT4KKzppbnZhbGlkIHsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiAj
ZmYwMDAwOworfQorPC9zdHlsZT4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2Vz
L211bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
PgordGVzdEJhZElucHV0KCd3ZWVrJyk7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>175940</attachid>
            <date>2012-11-26 01:15:17 -0800</date>
            <delta_ts>2012-11-27 01:21:24 -0800</delta_ts>
            <desc>Patch 5</desc>
            <filename>bug-102861-20121126181256.patch</filename>
            <type>text/plain</type>
            <size>51949</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM1Njc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWM4NTc1MjIwZWQwNzc2
ZGMyZWIzNThkZjY2MWJlMGMzY2I2N2Q5MC4uOWQ2YTc0YzViZGY2MWEzZTUxZGIwNTA5NDVkZTZl
MjNiYjZiMjFhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDExNCBAQAorMjAxMi0xMS0yNiAgS2Vu
dCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IFZhbGlk
aXR5U3RhdGU6OmJhZElucHV0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMDI4NjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBBZGQgVmFsaWRpdHlTdGF0ZTo6YmFkSW5wdXQsIGFkZCBoYXNCYWRJbnB1dCwg
d2hpY2ggYWx3YXlzIHJldHVybnMKKyAgICAgICAgZmFsc2UsIHRvIEZvcm1Bc3NvY2lhdGVkRWxl
bWVudCwgSFRNTElucHV0RWxlbWVudCwgYW5kIElucHV0VHlwZS4KKworICAgICAgICBGb3IgTnVt
YmVySW5wdXRUeXBlLCB3ZSBoYWQgaGFzVW5hY2NlcHRhYmxlVmFsdWUsIHdoaWNoIHdhcyBhIGhh
Y2sgdG8KKyAgICAgICAgbWFrZSBhbiBpbnB1dCBlbGVtZW50IG1hdGNoIHRvIDppbnZhbGlkIGlm
IHRoZSBlbGVtZW50IGhhZCBub24tbnVtYmVyCisgICAgICAgIHN0cmluZ3MuIFdlIGRvbid0IG5l
ZWQgdGhlIGhhY2sgYW55IG1vcmUgYmVjYXVzZSBiYWRJbnB1dCBhZmZlY3RzIDppbnZhbGlkCisg
ICAgICAgIHN0eWxlLiBoYXNVbmFjY2VwdGFibGVWYWx1ZSBpcyByZS11c2VkIGZvciBoYXNCYWRJ
bnB1dCBpbXBsZW1lbnRhdGlvbi4KKyAgICAgICAgV2UgY2xlYXJlZCBpbnZhbGlkIG51bWJlcnMg
d2hlbiBlbGVtZW50cyBsb3N0IGZvY3VzIHRvIHRlbGwgdXNlcnMgdGhhdAorICAgICAgICB0aGUg
ZWxlbWVudCBoYWQgaW52YWxpZCBudW1iZXJzLiBXZSBkb24ndCBuZWVkIHRoaXMgYmVoYXZpb3Ig
YmVjYXVzZSB0aGUKKyAgICAgICAgaW50ZXJhY3RpdmUgdmFsaWRhdGlvbiB0ZWxscyBpdC4KKwor
ICAgICAgICBGb3IgZGF0ZS90aW1lIGlucHV0IHR5cGVzLCB3ZSBzaG91bGQgbWFrZSBhbiBpbnB1
dCBiYWRJbnB1dCB3aGVuIHRoZQorICAgICAgICBpbnB1dCBoYXMgZW1wdHkgdmFsdWUgYnV0IGl0
cyBzdWItZmllbGRzIGhhdmUgdmFsdWVzLiBJdCBjb3ZlcnMgYm90aCBvZgorICAgICAgICBwYXJ0
aWFsIGlucHV0IGNhc2VzIHN1Y2ggYXMgMTIvLS0vMjAxMiBhbmQgaW52YWxpZCBkYXRlcyBzdWNo
IGFzCisgICAgICAgIDAyLzMxLzIwMTIuCisKKyAgICAgICAgRm9yIG90aGVyIHR5cGVzLCBWYWxp
ZGl0eVN0YXRlOjpiYWRJbnB1dCBhbHdheXMgcmV0dXJucyBmYWxzZS4KKworICAgICAgICBUaGlz
IHBhdGNoIGRvZXNuJ3QgY29udGFpbiB0ZXN0cyBmb3IgYmFkSW5wdXQgdmFsaWRhdGlvbiBtZXNz
YWdlcy4gVGhleQorICAgICAgICB3aWxsIGJlIGFkZGVkIGxhdGVyLgorCisgICAgICAgIFRlc3Rz
OiBmYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLXZh
bGlkaXR5LWJhZGlucHV0Lmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvZm9ybXMvZGF0ZXRpbWUt
bXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1
dC5odG1sCisgICAgICAgICAgICAgICBmYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUt
ZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0Lmh0
bWwKKyAgICAgICAgICAgICAgIGZhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRo
LW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC5odG1sCisgICAgICAgICAgICAgICBm
YXN0L2Zvcm1zL251bWJlci9udW1iZXItdmFsaWRpdHktYmFkaW5wdXQuaHRtbAorICAgICAgICAg
ICAgICAgZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxk
cy12YWxpZGl0eS1iYWRpbnB1dC5odG1sCisgICAgICAgICAgICAgICBmYXN0L2Zvcm1zL3dlZWst
bXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0Lmh0
bWwKKworICAgICAgICAqIGh0bWwvVmFsaWRpdHlTdGF0ZS5pZGw6IEFkZCBiYWRJbnB1dCBJREwg
YXR0cmlidXRlLgorICAgICAgICAqIGh0bWwvVmFsaWRpdHlTdGF0ZS5oOgorICAgICAgICAoVmFs
aWRpdHlTdGF0ZSk6IEFkZCBiYWRJbnB1dC4KKyAgICAgICAgKiBodG1sL1ZhbGlkaXR5U3RhdGUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6VmFsaWRpdHlTdGF0ZTo6YmFkSW5wdXQpOgorICAgICAg
ICBBZGRlZC4gQ2FsbHMgRm9ybUFzc29jaWF0ZWRFbGVtZW50OjpoYXNCYWRJbnB1dC4KKworICAg
ICAgICAqIGh0bWwvRm9ybUFzc29jaWF0ZWRFbGVtZW50Lmg6CisgICAgICAgIChGb3JtQXNzb2Np
YXRlZEVsZW1lbnQpOiBBZGQgaGFzQmFkSW5wdXQuCisgICAgICAgICogaHRtbC9Gb3JtQXNzb2Np
YXRlZEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Rm9ybUFzc29jaWF0ZWRFbGVtZW50
OjpoYXNCYWRJbnB1dCk6CisgICAgICAgIEFkZGVkLiBJdCBhbHdheXMgcmV0dXJucyBmYWxzZS4K
KyAgICAgICAgKFdlYkNvcmU6OkZvcm1Bc3NvY2lhdGVkRWxlbWVudDo6dmFsaWQpOiBUYWtlcyBh
Y2NvdW50IG9mIGhhc0JhZElucHV0KCkuCisKKyAgICAgICAgKiBodG1sL0hUTUxJbnB1dEVsZW1l
bnQuaDoKKyAgICAgICAgKEhUTUxJbnB1dEVsZW1lbnQpOgorICAgICAgICBSZW1vdmUgaGFzVW5h
Y2NlcHRhYmxlVmFsdWUsIGFuZCBhZGQgaGFzQmFkSW5wdXQgb3ZlcnJpZGUuCisgICAgICAgICog
aHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVs
ZW1lbnQ6Omhhc0JhZElucHV0KToKKyAgICAgICAgQWRkZWQuIERlbGVnYXRlIHRvIElucHV0VHlw
ZTo6aGFzQmFkSW5wdXQuCisgICAgICAgIChXZWJDb3JlKTogUmVtb3ZlIGhhc1VuYWNjZXB0YWJs
ZVZhbHVlLgorCisgICAgICAgICogaHRtbC9JbnB1dFR5cGUuaDoKKyAgICAgICAgKElucHV0VHlw
ZSk6IEFkZCBoYXNCYWRJbnB1dCBhbmQgYmFkSW5wdXRUZXh0LCBhbmQgcmVtb3ZlCisgICAgICAg
IGhhc1VuYWNjZXB0YWJsZVZhbHVlLgorICAgICAgICAqIGh0bWwvSW5wdXRUeXBlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OklucHV0VHlwZTo6aGFzQmFkSW5wdXQpOiBBZGRlZC4gUmV0dXJucyBm
YWxzZS4KKyAgICAgICAgKFdlYkNvcmU6OklucHV0VHlwZTo6YmFkSW5wdXRUZXh0KToKKyAgICAg
ICAgQWRkZWQuIFRoaXMgZnVuY3Rpb24gc2hvdWxkIG5vdCBiZSBjYWxsZWQgYmVjYXVzZSBoYXNC
YWRJbnB1dCBhbHdheXMKKyAgICAgICAgcmV0dXJucyBmYWxzZS4KKyAgICAgICAgKFdlYkNvcmU6
OklucHV0VHlwZTo6dmFsaWRhdGlvbk1lc3NhZ2UpOgorICAgICAgICBTdXBwb3J0cyBiYWRJbnB1
dC4gVGhpcyByZXR1cm5zIGJhZElucHV0VGV4dCBpZiBoYXNCYWRJbnB1dCBpcyB0cnVlLgorCisg
ICAgICAgICogaHRtbC9OdW1iZXJJbnB1dFR5cGUuaDoKKyAgICAgICAgKE51bWJlcklucHV0VHlw
ZSk6IEFkZCBoYXNCYWRJbnB1dCBhbmQgYmFkSW5wdXRUZXN0LiBSZW1vdmUKKyAgICAgICAgaGFu
ZGxlQmx1ckV2ZW50IGFuZCBoYXNVbmFjY2VwdGFibGVWYWx1ZS4KKyAgICAgICAgKiBodG1sL051
bWJlcklucHV0VHlwZS5jcHA6CisgICAgICAgIFJlbW92ZSBoYW5kbGVCbHVyRXZlbnQsIHdoaWNo
IGNsZWFyZWQgaW52YWxpZCBudW1iZXIgc3RyaW5ncy4KKyAgICAgICAgKFdlYkNvcmU6Ok51bWJl
cklucHV0VHlwZTo6aGFzQmFkSW5wdXQpOgorICAgICAgICBBZGRlZC4gV2UgZG9uJ3QgbmVlZCB0
byBjaGVjayBleGlzdGVuY2Ugb2YgYSByZW5kZXJlci4gVGhlIHN0YW5kYXJkIGZvcm0KKyAgICAg
ICAgdmFsaWRhdGlvbiBmZWF0dXJlIGRvZXNuJ3QgY2FyZSBvZiBpdC4KKyAgICAgICAgKFdlYkNv
cmU6Ok51bWJlcklucHV0VHlwZTo6YmFkSW5wdXRUZXh0KTogUmV0dXJucworICAgICAgICB2YWxp
ZGF0aW9uTWVzc2FnZUJhZElucHV0Rm9yTnVtYmVyVGV4dCBkZWZpbmVkIGluIExvY2FsaXplZFN0
cmluZ3MuaC4KKyAgICAgICAgKiBjc3MvU2VsZWN0b3JDaGVja2VyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlNlbGVjdG9yQ2hlY2tlcjo6Y2hlY2tPbmVTZWxlY3Rvcik6CisgICAgICAgIFJlbW92
ZSBhIGhhY2sgZm9yIGhhc1VuYWNjZXB0YWJsZVZhbHVlLiBpc1ZhbGlkRm9ybUNvbnRyb2xFbGVt
ZW50IHRha2VzCisgICAgICAgIGFjY291bnQgb2YgYmFkSW5wdXQuCisgICAgICAgICogZG9tL0Vs
ZW1lbnQuaDogUmVtb3ZlIGhhc1VuYWNjZXB0YWJsZVZhbHVlLgorCisgICAgICAgICogaHRtbC9C
YXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZS5oOgorICAgICAgICAoQmFzZU11
bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUpOiBBZGQgaGFzQmFkSW5wdXQgYW5kIGJh
ZElucHV0VGV4dC4KKyAgICAgICAgKiBodG1sL0Jhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1l
SW5wdXRUeXBlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkJhc2VNdWx0aXBsZUZpZWxkc0RhdGVB
bmRUaW1lSW5wdXRUeXBlOjpiYWRJbnB1dFRleHQpOgorICAgICAgICBSZXR1cm5zIHZhbGlkYXRp
b25NZXNzYWdlQmFkSW5wdXRGb3JEYXRlVGltZVRleHQgZGVmaW5lZCBpbiBMb2NhbGl6ZWRTdHJp
bmdzLmguCisgICAgICAgIChXZWJDb3JlOjpCYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlu
cHV0VHlwZTo6aGFzQmFkSW5wdXQpOgorICAgICAgICBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OkJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlOjpzZXRWYWx1ZSk6CisgICAg
ICAgIEFkZCBzZXROZWVkc1ZhbGlkaXR5Q2hlY2sgY2FsbC4gSXQgaXMgbmVlZGVkIGJlY2F1c2UK
KyAgICAgICAgdXBkYXRlSW5uZXJUZXh0VmFsdWUgY2FuIG1vZGlmeSBzdWJmaWVsZHMgZW1wdHkg
c3RhdGUuCisKKyAgICAgICAgKiBodG1sL1RleHRGaWVsZElucHV0VHlwZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpUZXh0RmllbGRJbnB1dFR5cGU6OnN1YnRyZWVIYXNDaGFuZ2VkKTogVXBkYXRl
IGEgY29tbWVudC4KKyAgICAgICAgKiBwbGF0Zm9ybS9Mb2NhbGl6ZWRTdHJpbmdzLmg6CisgICAg
ICAgIChXZWJDb3JlKTogQWRkIHZhbGlkYXRpb25NZXNzYWdlQmFkSW5wdXRGb3JOdW1iZXJUZXh0
IGFuZAorICAgICAgICB2YWxpZGF0aW9uTWVzc2FnZUJhZElucHV0Rm9yRGF0ZVRpbWVUZXh0Lgor
ICAgICAgICAqIHBsYXRmb3JtL0xvY2FsaXplZFN0cmluZ3MuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6dmFsaWRhdGlvbk1lc3NhZ2VCYWRJbnB1dEZvck51bWJlclRleHQpOgorICAgICAgICBBZGRl
ZCBhIHBsYWNlaG9sZGVyIGltcGxlbWVudGF0aW9uLiBUaGlzIHNob3VsZCBiZSBmaXhlZCBsYXRl
ci4KKyAgICAgICAgKiBwbGF0Zm9ybS9ibGFja2JlcnJ5L0xvY2FsaXplZFN0cmluZ3NCbGFja0Jl
cnJ5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnZhbGlkYXRpb25NZXNzYWdlQmFkSW5wdXRGb3JO
dW1iZXJUZXh0KTogRGl0dG8uCisgICAgICAgICogcGxhdGZvcm0vZWZsL0xvY2FsaXplZFN0cmlu
Z3NFZmwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dmFsaWRhdGlvbk1lc3NhZ2VCYWRJbnB1dEZv
ck51bWJlclRleHQpOiBEaXR0by4KKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9Mb2NhbGl6ZWRTdHJp
bmdzUXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dmFsaWRhdGlvbk1lc3NhZ2VCYWRJbnB1dEZv
ck51bWJlclRleHQpOiBEaXR0by4KKwogMjAxMi0xMS0yNSAgS2VudCBUYW11cmEgIDx0a2VudEBj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmVmYWN0b3Jpbmc6IE1vdmUgdGhlIGNvbnRlbnQgb2Yg
SFRNTElucHV0RWxlbWVudDo6c3VidHJlZUhhc0NoYW5nZWQgdG8gVGV4dEZpZWxkSW5wdXRUeXBl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDI0YWJhZmIyNWJlNzU1MjYwZDBjNjllOTk1
YzdkZDMxMTIxNGI5M2EuLmYzZWU3ZWZlYTg1ZmRlZTI3YTUyZWU2ZTY0YmNlYTkyNjEzNDkzZjAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMTEtMjUg
IEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEltcGxlbWVudCBW
YWxpZGl0eVN0YXRlOjpiYWRJbnB1dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTAyODYxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBzcmMvTG9jYWxpemVkU3RyaW5ncy5jcHA6CisgICAgICAgIEFkZCBw
bGFjZWhvbGRlciBpbXBsZW1lbnRhdGlvbnMgZm9yIG5ldyBsb2NhbGl6ZWQgc3RyaW5nIGZ1bmN0
aW9ucy4KKyAgICAgICAgV2UnbGwgdXBkYXRlIHRoZW0gaW4gYW5vdGhlciBwYXRjaC4KKyAgICAg
ICAgKFdlYkNvcmU6OnZhbGlkYXRpb25NZXNzYWdlQmFkSW5wdXRGb3JOdW1iZXJUZXh0KToKKyAg
ICAgICAgKFdlYkNvcmU6OnZhbGlkYXRpb25NZXNzYWdlQmFkSW5wdXRGb3JEYXRlVGltZVRleHQp
OgorCiAyMDEyLTExLTI0ICBTaWx2aWEgUGZlaWZmZXIgIDxzaWx2aWFwZkBjaHJvbWl1bS5vcmc+
CiAKICAgICAgICAgW2Nocm9taXVtXSBSZW1vdmUgdHJhY2VzIG9mIE1lZGlhQ29udHJvbFJvb3RF
bGVtZW50CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvckNoZWNrZXIuY3BwCmluZGV4IDM4ZDQxZjc4
NDg4NjVkYzhhYzNjMTY0OTE5MjYzODY0NjU5MWJkMzIuLjBlMWY2ZmQ3MDQ5NDJjYjkxOThlOTA3
MzdiYWFiNWZiZDBjZjQzNmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3Rv
ckNoZWNrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvckNoZWNrZXIuY3Bw
CkBAIC0xMDcyLDcgKzEwNzIsNyBAQCBib29sIFNlbGVjdG9yQ2hlY2tlcjo6Y2hlY2tPbmVTZWxl
Y3Rvcihjb25zdCBTZWxlY3RvckNoZWNraW5nQ29udGV4dCYgY29udGV4dCwgYwogICAgICAgICAg
ICAgaWYgKCFlbGVtZW50KQogICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAg
ICAgIGVsZW1lbnQtPmRvY3VtZW50KCktPnNldENvbnRhaW5zVmFsaWRpdHlTdHlsZVJ1bGVzKCk7
Ci0gICAgICAgICAgICByZXR1cm4gKGVsZW1lbnQtPndpbGxWYWxpZGF0ZSgpICYmICFlbGVtZW50
LT5pc1ZhbGlkRm9ybUNvbnRyb2xFbGVtZW50KCkpIHx8IGVsZW1lbnQtPmhhc1VuYWNjZXB0YWJs
ZVZhbHVlKCk7CisgICAgICAgICAgICByZXR1cm4gZWxlbWVudC0+d2lsbFZhbGlkYXRlKCkgJiYg
IWVsZW1lbnQtPmlzVmFsaWRGb3JtQ29udHJvbEVsZW1lbnQoKTsKICAgICAgICAgY2FzZSBDU1NT
ZWxlY3Rvcjo6UHNldWRvQ2hlY2tlZDoKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICBp
ZiAoIWVsZW1lbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oIGIv
U291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaAppbmRleCA1ZjExZWM5MWU5Yzc0NjUwMTRmM2E2
MjY3YWMzMjcxZjUxNTZjYTE0Li5iMmZmYTk5MDIzMjIwY2ZkYTJiZjFjNTU3NDZjN2YwMjZhYzc2
ZWNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKQEAgLTM4MSw3ICszODEsNiBAQCBwdWJsaWM6CiAgICAg
dmlydHVhbCBib29sIGlzRGVmYXVsdEJ1dHRvbkZvckZvcm0oKSBjb25zdCB7IHJldHVybiBmYWxz
ZTsgfQogICAgIHZpcnR1YWwgYm9vbCB3aWxsVmFsaWRhdGUoKSBjb25zdCB7IHJldHVybiBmYWxz
ZTsgfQogICAgIHZpcnR1YWwgYm9vbCBpc1ZhbGlkRm9ybUNvbnRyb2xFbGVtZW50KCkgeyByZXR1
cm4gZmFsc2U7IH0KLSAgICB2aXJ0dWFsIGJvb2wgaGFzVW5hY2NlcHRhYmxlVmFsdWUoKSBjb25z
dCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgYm9vbCBpc0luUmFuZ2UoKSBjb25zdCB7
IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgYm9vbCBpc091dE9mUmFuZ2UoKSBjb25zdCB7
IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgYm9vbCBpc0ZyYW1lRWxlbWVudEJhc2UoKSBj
b25zdCB7IHJldHVybiBmYWxzZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9C
YXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0Jhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlLmNwcAppbmRleCA0
YmQ3Y2RlMmM1NDAxY2QwOWQ0N2QxNGE3NTA0ZjEzYzY1NGQyMjBjLi5iNTVlOWE1YTc3MTZjNDNm
YmJkYTJkM2E3MjU3YTRlYjNiYzBlMjk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0Jhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0Jhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlLmNwcApA
QCAtNDEsNiArNDEsNyBAQAogI2luY2x1ZGUgIkhUTUxJbnB1dEVsZW1lbnQuaCIKICNpbmNsdWRl
ICJIVE1MT3B0aW9uRWxlbWVudC5oIgogI2luY2x1ZGUgIktleWJvYXJkRXZlbnQuaCIKKyNpbmNs
dWRlICJMb2NhbGl6ZWRTdHJpbmdzLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlBp
Y2tlckluZGljYXRvckVsZW1lbnQuaCIKICNpbmNsdWRlICJQbGF0Zm9ybUxvY2FsZS5oIgpAQCAt
MTY4LDYgKzE2OSwxMSBAQCBCYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZTo6
fkJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlKAogICAgICAgICBtX3BpY2tl
ckluZGljYXRvckVsZW1lbnQtPnJlbW92ZVBpY2tlckluZGljYXRvck93bmVyKCk7CiB9CiAKK1N0
cmluZyBCYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZTo6YmFkSW5wdXRUZXh0
KCkgY29uc3QKK3sKKyAgICByZXR1cm4gdmFsaWRhdGlvbk1lc3NhZ2VCYWRJbnB1dEZvckRhdGVU
aW1lVGV4dCgpOworfQorCiB2b2lkIEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRU
eXBlOjpibHVyKCkKIHsKICAgICBpZiAobV9kYXRlVGltZUVkaXRFbGVtZW50KQpAQCAtMjczLDYg
KzI3OSwxMSBAQCB2b2lkIEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlOjpo
YW5kbGVLZXlkb3duRXZlbnQoS2V5Ym9hcmRFdmVudCogZQogICAgICAgICBmb3J3YXJkRXZlbnQo
ZXZlbnQpOwogfQogCitib29sIEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBl
OjpoYXNCYWRJbnB1dCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGVsZW1lbnQoKS0+dmFsdWUoKS5p
c0VtcHR5KCkgJiYgbV9kYXRlVGltZUVkaXRFbGVtZW50ICYmIG1fZGF0ZVRpbWVFZGl0RWxlbWVu
dC0+YW55RWRpdGFibGVGaWVsZHNIYXZlVmFsdWVzKCk7Cit9CisKIGJvb2wgQmFzZU11bHRpcGxl
RmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGU6OmlzS2V5Ym9hcmRGb2N1c2FibGUoS2V5Ym9hcmRF
dmVudCopIGNvbnN0CiB7CiAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMzI1LDggKzMzNiwxMCBAQCBG
b3JtQ29udHJvbFN0YXRlIEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlOjpz
YXZlRm9ybUNvbnRyb2xTdGF0ZSgpCiB2b2lkIEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1l
SW5wdXRUeXBlOjpzZXRWYWx1ZShjb25zdCBTdHJpbmcmIHNhbml0aXplZFZhbHVlLCBib29sIHZh
bHVlQ2hhbmdlZCwgVGV4dEZpZWxkRXZlbnRCZWhhdmlvciBldmVudEJlaGF2aW9yKQogewogICAg
IElucHV0VHlwZTo6c2V0VmFsdWUoc2FuaXRpemVkVmFsdWUsIHZhbHVlQ2hhbmdlZCwgZXZlbnRC
ZWhhdmlvcik7Ci0gICAgaWYgKHZhbHVlQ2hhbmdlZCB8fCAoc2FuaXRpemVkVmFsdWUuaXNFbXB0
eSgpICYmIG1fZGF0ZVRpbWVFZGl0RWxlbWVudCAmJiBtX2RhdGVUaW1lRWRpdEVsZW1lbnQtPmFu
eUVkaXRhYmxlRmllbGRzSGF2ZVZhbHVlcygpKSkKKyAgICBpZiAodmFsdWVDaGFuZ2VkIHx8IChz
YW5pdGl6ZWRWYWx1ZS5pc0VtcHR5KCkgJiYgbV9kYXRlVGltZUVkaXRFbGVtZW50ICYmIG1fZGF0
ZVRpbWVFZGl0RWxlbWVudC0+YW55RWRpdGFibGVGaWVsZHNIYXZlVmFsdWVzKCkpKSB7CiAgICAg
ICAgIHVwZGF0ZUlubmVyVGV4dFZhbHVlKCk7CisgICAgICAgIGVsZW1lbnQoKS0+c2V0TmVlZHNW
YWxpZGl0eUNoZWNrKCk7CisgICAgfQogfQogCiBib29sIEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVB
bmRUaW1lSW5wdXRUeXBlOjpzaG91bGRVc2VJbnB1dE1ldGhvZCgpIGNvbnN0CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRU
eXBlLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1l
SW5wdXRUeXBlLmgKaW5kZXggYjVhY2M5ZTZiOTMxZDQyODMxZjFjYTNlMmU5MDhiNjFhN2Q2NjJj
OC4uYmQ0MWZmZmVmZjFiMjYzNWI1YmY3ZDg0NjY5YmE4ODVkMjgyOGExMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9CYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlw
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRp
bWVJbnB1dFR5cGUuaApAQCAtNzMsNiArNzMsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgYm9v
bCBzZXR1cERhdGVUaW1lQ2hvb3NlclBhcmFtZXRlcnMoRGF0ZVRpbWVDaG9vc2VyUGFyYW1ldGVy
cyYpIE9WRVJSSURFIEZJTkFMOwogCiAgICAgLy8gSW5wdXRUeXBlIGZ1bmN0aW9ucworICAgIHZp
cnR1YWwgU3RyaW5nIGJhZElucHV0VGV4dCgpIGNvbnN0IE9WRVJSSURFOwogICAgIHZpcnR1YWwg
dm9pZCBibHVyKCkgT1ZFUlJJREUgRklOQUw7CiAgICAgdmlydHVhbCBSZW5kZXJPYmplY3QqIGNy
ZWF0ZVJlbmRlcmVyKFJlbmRlckFyZW5hKiwgUmVuZGVyU3R5bGUqKSBjb25zdCBPVkVSUklERSBG
SU5BTDsKICAgICB2aXJ0dWFsIHZvaWQgY3JlYXRlU2hhZG93U3VidHJlZSgpIE9WRVJSSURFIEZJ
TkFMOwpAQCAtODEsNiArODIsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBmb2N1cyhi
b29sIHJlc3RvcmVQcmV2aW91c1NlbGVjdGlvbikgT1ZFUlJJREUgRklOQUw7CiAgICAgdmlydHVh
bCB2b2lkIGZvcndhcmRFdmVudChFdmVudCopIE9WRVJSSURFIEZJTkFMOwogICAgIHZpcnR1YWwg
dm9pZCBoYW5kbGVLZXlkb3duRXZlbnQoS2V5Ym9hcmRFdmVudCopIE9WRVJSSURFIEZJTkFMOwor
ICAgIHZpcnR1YWwgYm9vbCBoYXNCYWRJbnB1dCgpIGNvbnN0IE9WRVJSSURFOwogICAgIHZpcnR1
YWwgYm9vbCBoYXNDdXN0b21Gb2N1c0xvZ2ljKCkgY29uc3QgT1ZFUlJJREUgRklOQUw7CiAgICAg
dmlydHVhbCBib29sIGlzS2V5Ym9hcmRGb2N1c2FibGUoS2V5Ym9hcmRFdmVudCopIGNvbnN0IE9W
RVJSSURFIEZJTkFMOwogICAgIHZpcnR1YWwgYm9vbCBpc01vdXNlRm9jdXNhYmxlKCkgY29uc3Qg
T1ZFUlJJREUgRklOQUw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0Zvcm1Bc3Nv
Y2lhdGVkRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0Zvcm1Bc3NvY2lhdGVkRWxl
bWVudC5jcHAKaW5kZXggM2Q4ODk3ODNlOWVkOWZjMGRkM2MwZDU0ZmQyZmYyZDY4M2Y1MjBhOS4u
OGRmZGFlMDk2ZjI3MTNmMzVmMTQ0NTI0MmQ5ZTA2YmJjYTc2NjFhZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9Gb3JtQXNzb2NpYXRlZEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvRm9ybUFzc29jaWF0ZWRFbGVtZW50LmNwcApAQCAtMTg5LDYgKzE4OSwxMSBA
QCBib29sIEZvcm1Bc3NvY2lhdGVkRWxlbWVudDo6Y3VzdG9tRXJyb3IoKSBjb25zdAogICAgIHJl
dHVybiBlbGVtZW50LT53aWxsVmFsaWRhdGUoKSAmJiAhbV9jdXN0b21WYWxpZGF0aW9uTWVzc2Fn
ZS5pc0VtcHR5KCk7CiB9CiAKK2Jvb2wgRm9ybUFzc29jaWF0ZWRFbGVtZW50OjpoYXNCYWRJbnB1
dCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCiBib29sIEZvcm1Bc3NvY2lhdGVk
RWxlbWVudDo6cGF0dGVybk1pc21hdGNoKCkgY29uc3QKIHsKICAgICByZXR1cm4gZmFsc2U7CkBA
IC0yMjIsNyArMjI3LDcgQEAgYm9vbCBGb3JtQXNzb2NpYXRlZEVsZW1lbnQ6OnR5cGVNaXNtYXRj
aCgpIGNvbnN0CiBib29sIEZvcm1Bc3NvY2lhdGVkRWxlbWVudDo6dmFsaWQoKSBjb25zdAogewog
ICAgIGJvb2wgc29tZUVycm9yID0gdHlwZU1pc21hdGNoKCkgfHwgc3RlcE1pc21hdGNoKCkgfHwg
cmFuZ2VVbmRlcmZsb3coKSB8fCByYW5nZU92ZXJmbG93KCkKLSAgICAgICAgfHwgdG9vTG9uZygp
IHx8IHBhdHRlcm5NaXNtYXRjaCgpIHx8IHZhbHVlTWlzc2luZygpIHx8IGN1c3RvbUVycm9yKCk7
CisgICAgICAgIHx8IHRvb0xvbmcoKSB8fCBwYXR0ZXJuTWlzbWF0Y2goKSB8fCB2YWx1ZU1pc3Np
bmcoKSB8fCBoYXNCYWRJbnB1dCgpIHx8IGN1c3RvbUVycm9yKCk7CiAgICAgcmV0dXJuICFzb21l
RXJyb3I7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRm9ybUFzc29jaWF0
ZWRFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0Zvcm1Bc3NvY2lhdGVkRWxlbWVudC5o
CmluZGV4IDM5MGUwZWU3NWMzZjk5OGJjZmZkNjU0NWMwZjI5NGUxZDNiOWVkOWEuLmQxZGM5YTU5
YzcxODRmZGM3OTgzMDIwNjQxNjg1M2Q0ZjYyZTc0ZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvRm9ybUFzc29jaWF0ZWRFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9Gb3JtQXNzb2NpYXRlZEVsZW1lbnQuaApAQCAtNzcsNiArNzcsNyBAQCBwdWJsaWM6CiAKICAg
ICAvLyBPdmVycmlkZSBmdW5jdGlvbnMgZm9yIHBhdHRlck1pc21hdGNoLCByYW5nZU92ZXJmbG93
LCByYW5nZXJVbmRlcmZsb3csCiAgICAgLy8gc3RlcE1pc21hdGNoLCB0b29Mb25nIGFuZCB2YWx1
ZU1pc3NpbmcgbXVzdCBjYWxsIHdpbGxWYWxpZGF0ZSBtZXRob2QuCisgICAgdmlydHVhbCBib29s
IGhhc0JhZElucHV0KCkgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIHBhdHRlcm5NaXNtYXRjaCgp
IGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCByYW5nZU92ZXJmbG93KCkgY29uc3Q7CiAgICAgdmly
dHVhbCBib29sIHJhbmdlVW5kZXJmbG93KCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
SW5wdXRFbGVtZW50LmNwcAppbmRleCA0Y2FlNzg2ZjFlZGE5YzE4NjQ5NWE3OThlMDczYzhiY2Qy
ZWJmMzViLi41ZTRmNTBkN2E2OTk0Zjc4MWQ5ODM0NGUyZDMwYWExZDg0NjMwMTczIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAKQEAgLTI2Niw2ICsyNjYsMTEgQEAg
Ym9vbCBIVE1MSW5wdXRFbGVtZW50Ojp2YWx1ZU1pc3NpbmcoKSBjb25zdAogICAgIHJldHVybiB3
aWxsVmFsaWRhdGUoKSAmJiBtX2lucHV0VHlwZS0+dmFsdWVNaXNzaW5nKHZhbHVlKCkpOwogfQog
Citib29sIEhUTUxJbnB1dEVsZW1lbnQ6Omhhc0JhZElucHV0KCkgY29uc3QKK3sKKyAgICByZXR1
cm4gd2lsbFZhbGlkYXRlKCkgJiYgbV9pbnB1dFR5cGUtPmhhc0JhZElucHV0KCk7Cit9CisKIGJv
b2wgSFRNTElucHV0RWxlbWVudDo6cGF0dGVybk1pc21hdGNoKCkgY29uc3QKIHsKICAgICByZXR1
cm4gd2lsbFZhbGlkYXRlKCkgJiYgbV9pbnB1dFR5cGUtPnBhdHRlcm5NaXNtYXRjaCh2YWx1ZSgp
KTsKQEAgLTEzOTEsMTEgKzEzOTYsNiBAQCBTdHJpbmcgSFRNTElucHV0RWxlbWVudDo6bG9jYWxp
emVWYWx1ZShjb25zdCBTdHJpbmcmIHByb3Bvc2VkVmFsdWUpIGNvbnN0CiAgICAgcmV0dXJuIG1f
aW5wdXRUeXBlLT5sb2NhbGl6ZVZhbHVlKHByb3Bvc2VkVmFsdWUpOwogfQogCi1ib29sIEhUTUxJ
bnB1dEVsZW1lbnQ6Omhhc1VuYWNjZXB0YWJsZVZhbHVlKCkgY29uc3QKLXsKLSAgICByZXR1cm4g
bV9pbnB1dFR5cGUtPmhhc1VuYWNjZXB0YWJsZVZhbHVlKCk7Ci19Ci0KIGJvb2wgSFRNTElucHV0
RWxlbWVudDo6aXNJblJhbmdlKCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9pbnB1dFR5cGUtPmlz
SW5SYW5nZSh2YWx1ZSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElu
cHV0RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmgKaW5k
ZXggYjBhYzZhZTk2OWY1YTAxYWQ2ZTcwYjI1OTUxMTY3M2M1ZmFmMzg4Ni4uOTIyOTc0ODI5YzVl
NGIzODliNDkyMGQ3OWQxM2UxMGU1OWM0ZjcxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MSW5wdXRFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5w
dXRFbGVtZW50LmgKQEAgLTU1LDYgKzU1LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBz
aG91bGRBdXRvY29tcGxldGUoKSBjb25zdDsKIAogICAgIC8vIEZvciBWYWxpZGl0eVN0YXRlCisg
ICAgdmlydHVhbCBib29sIGhhc0JhZElucHV0KCkgY29uc3QgT1ZFUlJJREU7CiAgICAgdmlydHVh
bCBib29sIHBhdHRlcm5NaXNtYXRjaCgpIGNvbnN0IE9WRVJSSURFOwogICAgIHZpcnR1YWwgYm9v
bCByYW5nZVVuZGVyZmxvdygpIGNvbnN0IE9WRVJSSURFOwogICAgIHZpcnR1YWwgYm9vbCByYW5n
ZU92ZXJmbG93KCkgY29uc3Q7CkBAIC0zNTUsOCArMzU2LDYgQEAgcHJpdmF0ZToKIAogICAgIHZp
cnR1YWwgYm9vbCBpc1VSTEF0dHJpYnV0ZShjb25zdCBBdHRyaWJ1dGUmKSBjb25zdCBPVkVSUklE
RTsKIAotICAgIHZpcnR1YWwgYm9vbCBoYXNVbmFjY2VwdGFibGVWYWx1ZSgpIGNvbnN0OwotCiAg
ICAgdmlydHVhbCBib29sIGlzSW5SYW5nZSgpIGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBpc091
dE9mUmFuZ2UoKSBjb25zdDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9JbnB1
dFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuY3BwCmluZGV4IDRhNDM3
ZTAyOTYxMWVkOTRlZmJlYWJhY2FmMTk2NmE5YjkxYjAxZTUuLjc5NmM1M2Q3NDlhNjRhMWM3ODdl
NGEzN2UxY2I2MTdlMDJjMGUxYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW5w
dXRUeXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5jcHAKQEAgLTI1
OCw2ICsyNTgsMTEgQEAgYm9vbCBJbnB1dFR5cGU6OnZhbHVlTWlzc2luZyhjb25zdCBTdHJpbmcm
KSBjb25zdAogICAgIHJldHVybiBmYWxzZTsKIH0KIAorYm9vbCBJbnB1dFR5cGU6Omhhc0JhZElu
cHV0KCkgY29uc3QKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKIGJvb2wgSW5wdXRUeXBlOjpw
YXR0ZXJuTWlzbWF0Y2goY29uc3QgU3RyaW5nJikgY29uc3QKIHsKICAgICByZXR1cm4gZmFsc2U7
CkBAIC0zNDYsNiArMzUxLDEyIEBAIGJvb2wgSW5wdXRUeXBlOjpzdGVwTWlzbWF0Y2goY29uc3Qg
U3RyaW5nJiB2YWx1ZSkgY29uc3QKICAgICByZXR1cm4gY3JlYXRlU3RlcFJhbmdlKFJlamVjdEFu
eSkuc3RlcE1pc21hdGNoKG51bWVyaWNWYWx1ZSk7CiB9CiAKK1N0cmluZyBJbnB1dFR5cGU6OmJh
ZElucHV0VGV4dCgpIGNvbnN0Cit7CisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0
dXJuIHZhbGlkYXRpb25NZXNzYWdlVHlwZU1pc21hdGNoVGV4dCgpOworfQorCiBTdHJpbmcgSW5w
dXRUeXBlOjp0eXBlTWlzbWF0Y2hUZXh0KCkgY29uc3QKIHsKICAgICByZXR1cm4gdmFsaWRhdGlv
bk1lc3NhZ2VUeXBlTWlzbWF0Y2hUZXh0KCk7CkBAIC0zNjgsNiArMzc5LDkgQEAgU3RyaW5nIElu
cHV0VHlwZTo6dmFsaWRhdGlvbk1lc3NhZ2UoKSBjb25zdAogICAgIGlmICh0eXBlTWlzbWF0Y2go
KSkKICAgICAgICAgcmV0dXJuIHR5cGVNaXNtYXRjaFRleHQoKTsKIAorICAgIGlmIChoYXNCYWRJ
bnB1dCgpKQorICAgICAgICByZXR1cm4gYmFkSW5wdXRUZXh0KCk7CisKICAgICBpZiAocGF0dGVy
bk1pc21hdGNoKHZhbHVlKSkKICAgICAgICAgcmV0dXJuIHZhbGlkYXRpb25NZXNzYWdlUGF0dGVy
bk1pc21hdGNoVGV4dCgpOwogCkBAIC02ODksMTEgKzcwMyw2IEBAIFN0cmluZyBJbnB1dFR5cGU6
OnNhbml0aXplVmFsdWUoY29uc3QgU3RyaW5nJiBwcm9wb3NlZFZhbHVlKSBjb25zdAogICAgIHJl
dHVybiBwcm9wb3NlZFZhbHVlOwogfQogCi1ib29sIElucHV0VHlwZTo6aGFzVW5hY2NlcHRhYmxl
VmFsdWUoKQotewotICAgIHJldHVybiBmYWxzZTsKLX0KLQogYm9vbCBJbnB1dFR5cGU6OnJlY2Vp
dmVEcm9wcGVkRmlsZXMoY29uc3QgRHJhZ0RhdGEqKQogewogICAgIEFTU0VSVF9OT1RfUkVBQ0hF
RCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuaCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmgKaW5kZXggZmU0YTllNGQ5ZjRkYWFmZjQ4MmJiM2Mw
ZWJlZDRmYmQ4NTAyMDJlNS4uNDM3N2ZiMjczYTc4OTAwNjYwNzczYjcwNzEzZmQyZmMyMTA1Nzg3
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5oCkBAIC0xNTYsNiArMTU2LDcgQEAgcHVibGljOgog
ICAgIHZpcnR1YWwgYm9vbCB0eXBlTWlzbWF0Y2goKSBjb25zdDsKICAgICB2aXJ0dWFsIGJvb2wg
c3VwcG9ydHNSZXF1aXJlZCgpIGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCB2YWx1ZU1pc3Npbmco
Y29uc3QgU3RyaW5nJikgY29uc3Q7CisgICAgdmlydHVhbCBib29sIGhhc0JhZElucHV0KCkgY29u
c3Q7CiAgICAgdmlydHVhbCBib29sIHBhdHRlcm5NaXNtYXRjaChjb25zdCBTdHJpbmcmKSBjb25z
dDsKICAgICBib29sIHJhbmdlVW5kZXJmbG93KGNvbnN0IFN0cmluZyYpIGNvbnN0OwogICAgIGJv
b2wgcmFuZ2VPdmVyZmxvdyhjb25zdCBTdHJpbmcmKSBjb25zdDsKQEAgLTE3MCw2ICsxNzEsNyBA
QCBwdWJsaWM6CiAgICAgdmlydHVhbCBTdGVwUmFuZ2UgY3JlYXRlU3RlcFJhbmdlKEFueVN0ZXBI
YW5kbGluZykgY29uc3Q7CiAgICAgdmlydHVhbCB2b2lkIHN0ZXBVcChpbnQsIEV4Y2VwdGlvbkNv
ZGUmKTsKICAgICB2aXJ0dWFsIHZvaWQgc3RlcFVwRnJvbVJlbmRlcmVyKGludCk7CisgICAgdmly
dHVhbCBTdHJpbmcgYmFkSW5wdXRUZXh0KCkgY29uc3Q7CiAgICAgdmlydHVhbCBTdHJpbmcgdHlw
ZU1pc21hdGNoVGV4dCgpIGNvbnN0OwogICAgIHZpcnR1YWwgU3RyaW5nIHZhbHVlTWlzc2luZ1Rl
eHQoKSBjb25zdDsKICAgICB2aXJ0dWFsIGJvb2wgY2FuU2V0U3RyaW5nVmFsdWUoKSBjb25zdDsK
QEAgLTE3OCw3ICsxODAsNiBAQCBwdWJsaWM6CiAgICAgLy8gUmV0dXJpbmcgdGhlIG51bGwgc3Ry
aW5nIG1lYW5zICJ1c2UgdGhlIGRlZmF1bHQgdmFsdWUuIgogICAgIC8vIFRoaXMgZnVuY3Rpb24g
bXVzdCBiZSBjYWxsZWQgb25seSBieSBIVE1MSW5wdXRFbGVtZW50OjpzYW5pdGl6ZVZhbHVlKCku
CiAgICAgdmlydHVhbCBTdHJpbmcgc2FuaXRpemVWYWx1ZShjb25zdCBTdHJpbmcmKSBjb25zdDsK
LSAgICB2aXJ0dWFsIGJvb2wgaGFzVW5hY2NlcHRhYmxlVmFsdWUoKTsKIAogICAgIC8vIEV2ZW50
IGhhbmRsZXJzCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTnVtYmVySW5wdXRU
eXBlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTnVtYmVySW5wdXRUeXBlLmNwcAppbmRleCA3
NDk4Y2M5OTEyMzgyMDliMWEzMDUzNjZkNTFlOWZkN2E3OTNiODc3Li40NDBlZTdiOWJiNWM0MjU1
OTI2Nzg0ZTViNjI5YjlhMTU5OTI4NWQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L051bWJlcklucHV0VHlwZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9OdW1iZXJJbnB1
dFR5cGUuY3BwCkBAIC0zOSw2ICszOSw3IEBACiAjaW5jbHVkZSAiSFRNTFBhcnNlcklkaW9tcy5o
IgogI2luY2x1ZGUgIklucHV0VHlwZU5hbWVzLmgiCiAjaW5jbHVkZSAiS2V5Ym9hcmRFdmVudC5o
IgorI2luY2x1ZGUgIkxvY2FsaXplZFN0cmluZ3MuaCIKICNpbmNsdWRlICJQbGF0Zm9ybUxvY2Fs
ZS5oIgogI2luY2x1ZGUgIlJlbmRlclRleHRDb250cm9sLmgiCiAjaW5jbHVkZSA8bGltaXRzPgpA
QCAtMjEzLDE2ICsyMTQsNiBAQCBTdHJpbmcgTnVtYmVySW5wdXRUeXBlOjpzZXJpYWxpemUoY29u
c3QgRGVjaW1hbCYgdmFsdWUpIGNvbnN0CiAgICAgcmV0dXJuIHNlcmlhbGl6ZUZvck51bWJlclR5
cGUodmFsdWUpOwogfQogCi12b2lkIE51bWJlcklucHV0VHlwZTo6aGFuZGxlQmx1ckV2ZW50KCkK
LXsKLSAgICAvLyBSZXNldCB0aGUgcmVuZGVyZXIgdmFsdWUsIHdoaWNoIG1pZ2h0IGJlIHVubWF0
Y2hlZCB3aXRoIHRoZSBlbGVtZW50IHZhbHVlLgotICAgIGVsZW1lbnQoKS0+c2V0Rm9ybUNvbnRy
b2xWYWx1ZU1hdGNoZXNSZW5kZXJlcihmYWxzZSk7Ci0KLSAgICAvLyBXZSBuZWVkIHRvIHJlc2V0
IHRoZSByZW5kZXJlciB2YWx1ZSBleHBsaWNpdGx5IGJlY2F1c2UgYW4gdW5hY2NlcHRhYmxlCi0g
ICAgLy8gcmVuZGVyZXIgdmFsdWUgc2hvdWxkIGJlIHB1cmdlZCBiZWZvcmUgc3R5bGUgY2FsY3Vs
YXRpb24uCi0gICAgdXBkYXRlSW5uZXJUZXh0VmFsdWUoKTsKLX0KLQogc3RhdGljIGJvb2wgaXNF
KFVDaGFyIGNoKQogewogICAgIHJldHVybiBjaCA9PSAnZScgfHwgY2ggPT0gJ0UnOwpAQCAtMjYw
LDE0ICsyNTEsMTcgQEAgU3RyaW5nIE51bWJlcklucHV0VHlwZTo6c2FuaXRpemVWYWx1ZShjb25z
dCBTdHJpbmcmIHByb3Bvc2VkVmFsdWUpIGNvbnN0CiAgICAgcmV0dXJuIGlzZmluaXRlKHBhcnNl
VG9Eb3VibGVGb3JOdW1iZXJUeXBlKHByb3Bvc2VkVmFsdWUpKSA/IHByb3Bvc2VkVmFsdWUgOiBl
bXB0eVN0cmluZygpOwogfQogCi1ib29sIE51bWJlcklucHV0VHlwZTo6aGFzVW5hY2NlcHRhYmxl
VmFsdWUoKQorYm9vbCBOdW1iZXJJbnB1dFR5cGU6Omhhc0JhZElucHV0KCkgY29uc3QKIHsKLSAg
ICBpZiAoIWVsZW1lbnQoKS0+cmVuZGVyZXIoKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwogICAg
IFN0cmluZyBzdGFuZGFyZFZhbHVlID0gY29udmVydEZyb21WaXNpYmxlVmFsdWUoZWxlbWVudCgp
LT5pbm5lclRleHRWYWx1ZSgpKTsKICAgICByZXR1cm4gIXN0YW5kYXJkVmFsdWUuaXNFbXB0eSgp
ICYmICFpc2Zpbml0ZShwYXJzZVRvRG91YmxlRm9yTnVtYmVyVHlwZShzdGFuZGFyZFZhbHVlKSk7
CiB9CiAKK1N0cmluZyBOdW1iZXJJbnB1dFR5cGU6OmJhZElucHV0VGV4dCgpIGNvbnN0Cit7Cisg
ICAgcmV0dXJuIHZhbGlkYXRpb25NZXNzYWdlQmFkSW5wdXRGb3JOdW1iZXJUZXh0KCk7Cit9CisK
IGJvb2wgTnVtYmVySW5wdXRUeXBlOjpzaG91bGRSZXNwZWN0U3BlZWNoQXR0cmlidXRlKCkKIHsK
ICAgICByZXR1cm4gdHJ1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTnVtYmVy
SW5wdXRUeXBlLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL051bWJlcklucHV0VHlwZS5oCmluZGV4
IDExY2NhNTU3YmViODIxMDJhNjQ5OWIxMzQ2OWYxZjMwOTY1MzNmNDAuLmM3N2E5YTc4ZTRkMDQ5
MDlmOGRhNjVkMmU5Mjg5ZThiODUyZDkxZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvTnVtYmVySW5wdXRUeXBlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9OdW1iZXJJbnB1
dFR5cGUuaApAQCAtNTMsMTIgKzUzLDEyIEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIGhh
bmRsZUtleWRvd25FdmVudChLZXlib2FyZEV2ZW50KikgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBE
ZWNpbWFsIHBhcnNlVG9OdW1iZXIoY29uc3QgU3RyaW5nJiwgY29uc3QgRGVjaW1hbCYpIGNvbnN0
IE9WRVJSSURFOwogICAgIHZpcnR1YWwgU3RyaW5nIHNlcmlhbGl6ZShjb25zdCBEZWNpbWFsJikg
Y29uc3QgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCB2b2lkIGhhbmRsZUJsdXJFdmVudCgpIE9WRVJS
SURFOwogICAgIHZpcnR1YWwgU3RyaW5nIGxvY2FsaXplVmFsdWUoY29uc3QgU3RyaW5nJikgY29u
c3QgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBTdHJpbmcgdmlzaWJsZVZhbHVlKCkgY29uc3QgT1ZF
UlJJREU7CiAgICAgdmlydHVhbCBTdHJpbmcgY29udmVydEZyb21WaXNpYmxlVmFsdWUoY29uc3Qg
U3RyaW5nJikgY29uc3QgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBTdHJpbmcgc2FuaXRpemVWYWx1
ZShjb25zdCBTdHJpbmcmKSBjb25zdCBPVkVSUklERTsKLSAgICB2aXJ0dWFsIGJvb2wgaGFzVW5h
Y2NlcHRhYmxlVmFsdWUoKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIGJvb2wgaGFzQmFkSW5wdXQo
KSBjb25zdCBPVkVSUklERTsKKyAgICB2aXJ0dWFsIFN0cmluZyBiYWRJbnB1dFRleHQoKSBjb25z
dCBPVkVSUklERTsKICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkUmVzcGVjdFNwZWVjaEF0dHJpYnV0
ZSgpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgYm9vbCBzdXBwb3J0c1BsYWNlaG9sZGVyKCkgY29u
c3QgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBib29sIGlzTnVtYmVyRmllbGQoKSBjb25zdCBPVkVS
UklERTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvVGV4dEZpZWxkSW5wdXRUeXBl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvVGV4dEZpZWxkSW5wdXRUeXBlLmNwcAppbmRleCBh
NWVkY2IwYjMxZWViMmZhOTQwOWIyNzIxMDMwMTEyNGQzNWNhZGEwLi4zOTJiY2ZhZTMxYjZhNGJj
OGFkNTc3NzE5ODVlZmEyMDYzODVmZWUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L1RleHRGaWVsZElucHV0VHlwZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9UZXh0Rmll
bGRJbnB1dFR5cGUuY3BwCkBAIC00NTgsNyArNDU4LDcgQEAgdm9pZCBUZXh0RmllbGRJbnB1dFR5
cGU6OnN1YnRyZWVIYXNDaGFuZ2VkKCkKICAgICAvLyBzYW5pdGl6ZVZhbHVlKCkgaXMgbmVlZGVk
IGJlY2F1c2UgSU1FIGlucHV0IGRvZXNuJ3QgZGlzcGF0Y2ggQmVmb3JlVGV4dEluc2VydGVkRXZl
bnQuCiAgICAgZWxlbWVudCgpLT5zZXRWYWx1ZUZyb21SZW5kZXJlcihzYW5pdGl6ZVZhbHVlKGNv
bnZlcnRGcm9tVmlzaWJsZVZhbHVlKGVsZW1lbnQoKS0+aW5uZXJUZXh0VmFsdWUoKSkpKTsKICAg
ICBlbGVtZW50KCktPnVwZGF0ZVBsYWNlaG9sZGVyVmlzaWJpbGl0eShmYWxzZSk7Ci0gICAgLy8g
UmVjYWxjIGZvciA6aW52YWxpZCBhbmQgaGFzVW5hY2NlcHRhYmxlVmFsdWUoKSBjaGFuZ2UuCisg
ICAgLy8gUmVjYWxjIGZvciA6aW52YWxpZCBjaGFuZ2UuCiAgICAgZWxlbWVudCgpLT5zZXROZWVk
c1N0eWxlUmVjYWxjKCk7CiAKICAgICBkaWRTZXRWYWx1ZUJ5VXNlckVkaXQod2FzQ2hhbmdlZCA/
IFZhbHVlQ2hhbmdlU3RhdGVDaGFuZ2VkIDogVmFsdWVDaGFuZ2VTdGF0ZU5vbmUpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9WYWxpZGl0eVN0YXRlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvVmFsaWRpdHlTdGF0ZS5jcHAKaW5kZXggNjQ5NzY1ZGY5MTQ2ODdkNTQ4ZjkwYmY1
MzFkNDQ1N2RmNjY0YzZkMi4uZjA0ZWE3NmVmMmQxY2Y4NTI4MmM0NzJlNjI5Nzk0OGZkOTdiY2Jk
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9WYWxpZGl0eVN0YXRlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL1ZhbGlkaXR5U3RhdGUuY3BwCkBAIC03Niw2ICs3NiwxMSBA
QCBib29sIFZhbGlkaXR5U3RhdGU6OnN0ZXBNaXNtYXRjaCgpIGNvbnN0CiAgICAgcmV0dXJuIG1f
Y29udHJvbC0+c3RlcE1pc21hdGNoKCk7CiB9CiAKK2Jvb2wgVmFsaWRpdHlTdGF0ZTo6YmFkSW5w
dXQoKSBjb25zdAoreworICAgIHJldHVybiBtX2NvbnRyb2wtPmhhc0JhZElucHV0KCk7Cit9CisK
IGJvb2wgVmFsaWRpdHlTdGF0ZTo6Y3VzdG9tRXJyb3IoKSBjb25zdAogewogICAgIHJldHVybiBt
X2NvbnRyb2wtPmN1c3RvbUVycm9yKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L1ZhbGlkaXR5U3RhdGUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRpdHlTdGF0ZS5oCmlu
ZGV4IDI4ZjllYzY0MDU1YzM0MTdjZjg2NmNjMmQ0YmVkNmQ1MzA3ZGQwZmMuLjQ1MjczOWE3NzM3
OGI5Mzg4ZThlNWJmYmJkZjY5N2YwODZhN2ViNzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvVmFsaWRpdHlTdGF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRpdHlT
dGF0ZS5oCkBAIC01Miw2ICs1Miw3IEBAIHB1YmxpYzoKICAgICBib29sIHJhbmdlVW5kZXJmbG93
KCkgY29uc3Q7CiAgICAgYm9vbCByYW5nZU92ZXJmbG93KCkgY29uc3Q7CiAgICAgYm9vbCBzdGVw
TWlzbWF0Y2goKSBjb25zdDsKKyAgICBib29sIGJhZElucHV0KCkgY29uc3Q7CiAgICAgYm9vbCBj
dXN0b21FcnJvcigpIGNvbnN0OwogICAgIGJvb2wgdmFsaWQoKSBjb25zdDsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9WYWxpZGl0eVN0YXRlLmlkbCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvVmFsaWRpdHlTdGF0ZS5pZGwKaW5kZXggZGFlMzQzYjlhMTQ5NWJmZWUzNjgyYWI4YmJh
MDVkZTJiODFjZDlmZS4uMTcwYzQ1ZTY5ODU5MzljZTYwYThlNjZhZDE3ZTExOGNlOTUzOTMwOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9WYWxpZGl0eVN0YXRlLmlkbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL1ZhbGlkaXR5U3RhdGUuaWRsCkBAIC0zMCw2ICszMCw3IEBACiAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gICAgICAgICByYW5nZVVuZGVyZmxvdzsKICAg
ICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiAgICAgICAgIHJhbmdlT3ZlcmZsb3c7CiAgICAg
cmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gICAgICAgICBzdGVwTWlzbWF0Y2g7CisgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gICAgICAgICBiYWRJbnB1dDsKICAgICByZWFkb25seSBh
dHRyaWJ1dGUgYm9vbGVhbiAgICAgICAgIGN1c3RvbUVycm9yOwogICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBib29sZWFuICAgICAgICAgdmFsaWQ7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vTG9jYWxpemVkU3RyaW5ncy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9Mb2NhbGl6ZWRTdHJpbmdzLmNwcAppbmRleCAwMjc3MjIzNWZhODRmNTE5YmQ3MGVkNTk0YTdi
MGVhMmIwMWZiODU2Li44ZTAwNWVmNGY0N2Q2MjU2YWFhZTJiOTdlODc0OTcwMWE0MzBiZjRjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Mb2NhbGl6ZWRTdHJpbmdzLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Mb2NhbGl6ZWRTdHJpbmdzLmNwcApAQCAtOTky
LDQgKzk5MiwxMCBAQCBTdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2VTdGVwTWlzbWF0Y2hUZXh0KGNv
bnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYpCiAgICAgcmV0dXJuIFdFQl9VSV9TVFJJTkcoInN0
ZXAgbWlzbWF0Y2giLCAiVmFsaWRhdGlvbiBtZXNzYWdlIGZvciBpbnB1dCBmb3JtIGNvbnRyb2xz
IHdpdGggdmFsdWUgbm90IHJlc3BlY3RpbmcgdGhlIHN0ZXAgYXR0cmlidXRlIik7CiB9CiAKK1N0
cmluZyB2YWxpZGF0aW9uTWVzc2FnZUJhZElucHV0Rm9yTnVtYmVyVGV4dCgpCit7CisgICAgbm90
SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4gdmFsaWRhdGlvbk1lc3NhZ2VUeXBlTWlzbWF0Y2hU
ZXh0KCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL0xvY2FsaXplZFN0cmluZ3MuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL0xvY2FsaXplZFN0cmluZ3MuaAppbmRleCA2NzMyNzQ4YjEyMDg4MjYzMzgyOGI1ZmQyOWZl
YjYwZTlmYTliMmVkLi5iYjQ5MTZlNmQ0ZjQwOTVmNTM1YmUyMWYzMjY5N2UzZWQzMDhkZWQzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Mb2NhbGl6ZWRTdHJpbmdzLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTG9jYWxpemVkU3RyaW5ncy5oCkBAIC0yNTIsNiAr
MjUyLDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBTdHJpbmcgdmFsaWRhdGlvbk1lc3Nh
Z2VSYW5nZVVuZGVyZmxvd1RleHQoY29uc3QgU3RyaW5nJiBtaW5pbXVtKTsKICAgICBTdHJpbmcg
dmFsaWRhdGlvbk1lc3NhZ2VSYW5nZU92ZXJmbG93VGV4dChjb25zdCBTdHJpbmcmIG1heGltdW0p
OwogICAgIFN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZVN0ZXBNaXNtYXRjaFRleHQoY29uc3QgU3Ry
aW5nJiBiYXNlLCBjb25zdCBTdHJpbmcmIHN0ZXApOworICAgIFN0cmluZyB2YWxpZGF0aW9uTWVz
c2FnZUJhZElucHV0Rm9yTnVtYmVyVGV4dCgpOworI2lmIEVOQUJMRShJTlBVVF9NVUxUSVBMRV9G
SUVMRFNfVUkpCisgICAgU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlQmFkSW5wdXRGb3JEYXRlVGlt
ZVRleHQoKTsKKyNlbmRpZgogI2lmIFVTRShTT1VQKQogICAgIFN0cmluZyB1bmFjY2VwdGFibGVU
TFNDZXJ0aWZpY2F0ZSgpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ibGFja2JlcnJ5L0xvY2FsaXplZFN0cmluZ3NCbGFja0JlcnJ5LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2JsYWNrYmVycnkvTG9jYWxpemVkU3RyaW5nc0JsYWNrQmVycnkuY3Bw
CmluZGV4IDdiZDcxYTVmZWQ1NDY5YWVkZDI2MzVkYWVkOWJkMDE2OGQxYjQ5NjEuLjE0ZGU4MjAy
Y2JiNGMwY2M5NjUyZTdmM2Q0MTc3NzZlNzZjZTE4YjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2JsYWNrYmVycnkvTG9jYWxpemVkU3RyaW5nc0JsYWNrQmVycnkuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2JsYWNrYmVycnkvTG9jYWxpemVkU3RyaW5nc0Js
YWNrQmVycnkuY3BwCkBAIC01MjQsNiArNTI0LDEyIEBAIFN0cmluZyB2YWxpZGF0aW9uTWVzc2Fn
ZVZhbHVlTWlzc2luZ0ZvclNlbGVjdFRleHQoKQogICAgIHJldHVybiB2YWxpZGF0aW9uTWVzc2Fn
ZVZhbHVlTWlzc2luZ1RleHQoKTsKIH0KIAorU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlQmFkSW5w
dXRGb3JOdW1iZXJUZXh0KCkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIHJldHVybiB2
YWxpZGF0aW9uTWVzc2FnZVR5cGVNaXNtYXRjaFRleHQoKTsKK30KKwogU3RyaW5nIGxvY2FsaXpl
ZE1lZGlhQ29udHJvbEVsZW1lbnRTdHJpbmcoY29uc3QgU3RyaW5nJikKIHsKICAgICBub3RJbXBs
ZW1lbnRlZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZWZsL0xvY2Fs
aXplZFN0cmluZ3NFZmwuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZWZsL0xvY2FsaXpl
ZFN0cmluZ3NFZmwuY3BwCmluZGV4IDVmZGQzYjI4MzcwYWZhYTRkZjAwZGQyMzFjZDVlMGUzYTRk
M2ZkMWMuLjg3Yjk1NmMzNzZmMzdmMjU3YzU3OGIwNWM1NzYxM2U1NDY2YTkwZmIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9Mb2NhbGl6ZWRTdHJpbmdzRWZsLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9lZmwvTG9jYWxpemVkU3RyaW5nc0VmbC5jcHAK
QEAgLTUzNSw2ICs1MzUsMTIgQEAgU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlVmFsdWVNaXNzaW5n
Rm9yU2VsZWN0VGV4dCgpCiAgICAgcmV0dXJuIHZhbGlkYXRpb25NZXNzYWdlVmFsdWVNaXNzaW5n
VGV4dCgpOwogfQogCitTdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2VCYWRJbnB1dEZvck51bWJlclRl
eHQoKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgcmV0dXJuIHZhbGlkYXRpb25NZXNz
YWdlVHlwZU1pc21hdGNoVGV4dCgpOworfQorCiBTdHJpbmcgbWlzc2luZ1BsdWdpblRleHQoKQog
ewogICAgIHJldHVybiBTdHJpbmc6OmZyb21VVEY4KCJtaXNzaW5nIHBsdWdpbiIpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vcXQvTG9jYWxpemVkU3RyaW5nc1F0LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3F0L0xvY2FsaXplZFN0cmluZ3NRdC5jcHAKaW5kZXgg
N2RmZmYxZmU5OGY4ZDU4ZjRjZTZiNjg3NjcwYWJkNzMxYzY1YzFjYS4uZDYyZTk4NWY4Mjk5YTNm
Yzg4ZjRiOTgxZjIyYWZiMWFjYzMzODZjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vcXQvTG9jYWxpemVkU3RyaW5nc1F0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9xdC9Mb2NhbGl6ZWRTdHJpbmdzUXQuY3BwCkBAIC03MTEsNiArNzExLDEyIEBAIFN0cmlu
ZyB2YWxpZGF0aW9uTWVzc2FnZVN0ZXBNaXNtYXRjaFRleHQoY29uc3QgU3RyaW5nJiBiYXNlLCBj
b25zdCBTdHJpbmcmIHN0ZXApCiAgICAgcmV0dXJuIFN0cmluZygpOwogfQogCitTdHJpbmcgdmFs
aWRhdGlvbk1lc3NhZ2VCYWRJbnB1dEZvck51bWJlclRleHQoKQoreworICAgIG5vdEltcGxlbWVu
dGVkKCk7CisgICAgcmV0dXJuIHZhbGlkYXRpb25NZXNzYWdlVHlwZU1pc21hdGNoVGV4dCgpOwor
fQorCiBTdHJpbmcgbG9jYWxpemVkU3RyaW5nKGNvbnN0IGNoYXIqIGtleSkKIHsKICAgICByZXR1
cm4gU3RyaW5nOjpmcm9tVVRGOChrZXksIHN0cmxlbihrZXkpKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL0xvY2FsaXplZFN0cmluZ3MuY3BwIGIvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvTG9jYWxpemVkU3RyaW5ncy5jcHAKaW5kZXggYTVjMjAyNGZhNTdjOTVk
MTUxZDA3OGRmNDUxYmRhNTlkOGY0MjllYy4uMDdiZjgxNWUzZWY0ZTM1MDliY2E5NTk5NGQzYWQ5
NGE2YzcwOTUwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvTG9jYWxp
emVkU3RyaW5ncy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvTG9jYWxpemVk
U3RyaW5ncy5jcHAKQEAgLTUwNCw0ICs1MDQsMTggQEAgU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdl
U3RlcE1pc21hdGNoVGV4dChjb25zdCBTdHJpbmcmIGJhc2UsIGNvbnN0IFN0cmluZyYgc3RlcCkK
ICAgICByZXR1cm4gcXVlcnkoV2ViTG9jYWxpemVkU3RyaW5nOjpWYWxpZGF0aW9uU3RlcE1pc21h
dGNoLCBiYXNlLCBzdGVwKTsKIH0KIAorU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlQmFkSW5wdXRG
b3JOdW1iZXJUZXh0KCkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIHJldHVybiBTdHJp
bmcoIkJhZCBudW1iZXIiKTsKK30KKworI2lmIEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNf
VUkpCitTdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2VCYWRJbnB1dEZvckRhdGVUaW1lVGV4dCgpCit7
CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4gU3RyaW5nKCJCYWQgZGF0ZSIpOwor
fQorI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA3NjQ2YTA3NTdlYTkx
NjgzODhkZDhkMzYyZDhmMWFiMWJiYjNjMTI3Li42MTY4YzA3MzkyNzA0YzdmZTRkMjA1N2ZkM2U5
ODE3YTkxMzM3MWI1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkgQEAKKzIwMTItMTEtMjUgIEtlbnQgVGFt
dXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEltcGxlbWVudCBWYWxpZGl0eVN0
YXRlOjpiYWRJbnB1dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTAyODYxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBmYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtMDAxLmh0bWw6CisgICAgICAgIEluY3Jl
YXNlZCB0aGUgbnVtYmVyIG9mIHByb3BlcnRpZXMgYmVjYXVzZSBvZiB0aGUgYmFkSW5wdXQgYWRk
aXRpb24uCisgICAgICAgICogZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11
bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGZhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVs
ZHMtdmFsaWRpdHktYmFkaW5wdXQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9k
YXRldGltZS1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWUtbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5
LWJhZGlucHV0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9kYXRl
dGltZS1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWUtbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJh
ZGlucHV0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1t
dWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtdmFsaWRpdHktYmFk
aW5wdXQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2RhdGV0aW1l
bG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLXZhbGlk
aXR5LWJhZGlucHV0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvbW9udGgtbXVs
dGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmll
bGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBmYXN0L2Zvcm1zL251bWJlci9udW1iZXItdW5hY2NlcHRhYmxlLXN0eWxlLWV4
cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL251bWJlci9udW1iZXIt
dmFsaWRpdHktYmFkaW5wdXQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zv
cm1zL251bWJlci9udW1iZXItdmFsaWRpdHktYmFkaW5wdXQuaHRtbDogUmVuYW1lZCBmcm9tIExh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvbnVtYmVyL251bWJlci11bmFjY2VwdGFibGUtc3R5bGUuaHRt
bC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3Jlc291cmNlcy9tdWx0aXBsZS1maWVsZHMtdmFsaWRp
dHktYmFkaW5wdXQuanM6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvdGltZS1tdWx0aXBs
ZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtdmFsaWRpdHktYmFkaW5wdXQtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3Rp
bWUtbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGZhc3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMt
dmFsaWRpdHktYmFkaW5wdXQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zv
cm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJh
ZGlucHV0Lmh0bWw6IEFkZGVkLgorCiAyMDEyLTExLTI1ICBLdW5paGlrbyBTYWthbW90byAgPGtz
YWthbW90b0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW0Nocm9taXVtXSBBZGQgdGVzdHMgZm9y
IGRhdGV0aW1lL2RhdGV0aW1lLWxvY2FsIHN1Z2dlc3Rpb24gcGlja2VyCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtMDAxLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtMDAxLmh0bWwKaW5kZXggM2M1MjQ4ZWFlNmQ0Yjlk
MTQ2YzIzZTAwN2FhMGQ0ODE0MzI4ZWVmNy4uNTlhYWIxMzY1YzNiMzZjNDM1NGZmZWM3ZmY5OGU0
YmYwMTQ1MjM5ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0
YXRlLTAwMS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS0w
MDEuaHRtbApAQCAtMjIsNyArMjIsNyBAQAogICAgICAgICB2ID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dHNCeU5hbWUoInZpY3RpbSIpOwogCiAgICAgICAgIGZvciAoaSA9IDA7IGkgPCB2Lmxlbmd0aDsg
aSsrKQotICAgICAgICAgICAgbG9nKCdUZXN0IGZvciAnICsgdltpXS50YWdOYW1lICsgJzogJyAr
ICgodltpXS52YWxpZGl0eSAmJiBjb3VudEF0dHIodltpXS52YWxpZGl0eSkgPT0gOSkgPyAiU1VD
Q0VTUyIgOiAiRkFJTFVSRSIpKTsKKyAgICAgICAgICAgIGxvZygnVGVzdCBmb3IgJyArIHZbaV0u
dGFnTmFtZSArICc6ICcgKyAoKHZbaV0udmFsaWRpdHkgJiYgY291bnRBdHRyKHZbaV0udmFsaWRp
dHkpID09IDEwKSA/ICJTVUNDRVNTIiA6ICJGQUlMVVJFIikpOwogICAgIH0KIDwvc2NyaXB0Pgog
PC9oZWFkPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxl
LWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVs
dGlwbGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4x
ZmUwYTZmNjQ4ZDkwNjIzMjFiNTIyNDliOTBiYTY1ZTRlYTFjOTk0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRp
cGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyMCBA
QAorQSBkYXRlIGlucHV0IGZpZWxkcyB3aXRoIGEgYmFkIHVzZXIgaW5wdXQgc2hvdWxkIG1ha2Ug
dmFsaWRpdHkuYmFkSW5wdXQgdHJ1ZSBhbmQgaGF2ZSA6aW52YWxpZCBzdHlsZS4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCisKK0luaXRpYWwgc3RhdGUuIFRoZSBlbG1lbnQgaGFzIG5v
IHZhbHVlLgorUEFTUyBjb2xvck9mKGlucHV0KSBpcyBub3QgaW52YWxpZFN0eWxlQ29sb3IKK1BB
U1MgaW5wdXQudmFsaWRpdHkuYmFkSW5wdXQgaXMgZmFsc2UKK1NldCBhIHZhbHVlIHRvIHRoZSBm
aXJzdCBzdWItZmllbGQuIFRoZSBlbGVtZW50IGJlY29tZXMgYmFkSW5wdXQuCitQQVNTIGNvbG9y
T2YoaW5wdXQpIGlzIGludmFsaWRTdHlsZUNvbG9yCitQQVNTIGlucHV0LnZhbGlkaXR5LmJhZElu
cHV0IGlzIHRydWUKK1NldCBhbiBpbnZhbGlkIGRhdGUsIDIwMTItMDItMzEuCitQQVNTIGlucHV0
LnZhbGlkaXR5LmJhZElucHV0IGlzIGZhbHNlCitQQVNTIGlucHV0LnZhbHVlIGlzICIiCitQQVNT
IGlucHV0LnZhbGlkaXR5LmJhZElucHV0IGlzIHRydWUKK1BBU1MgY29sb3JPZihpbnB1dCkgaXMg
aW52YWxpZFN0eWxlQ29sb3IKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVs
dGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlw
bGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzFhNzg5ZWVmZjRi
Y2U0MDg5Mjk2Mjc1MmI0YTE4ZDBmMzljY2I1MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMt
dmFsaWRpdHktYmFkaW5wdXQuaHRtbApAQCAtMCwwICsxLDE0IEBACis8IURPQ1RZUEUgaHRtbD4K
KzxzdHlsZT4KKzppbnZhbGlkIHsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwMDAwOworfQor
PC9zdHlsZT4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL211bHRpcGxlLWZp
ZWxkcy12YWxpZGl0eS1iYWRpbnB1dC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgordGVzdEJhZElu
cHV0KCdkYXRlJyk7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWUtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lLW11bHRpcGxl
LWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL2RhdGV0aW1lLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZS1tdWx0aXBsZS1maWVsZHMt
dmFsaWRpdHktYmFkaW5wdXQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNhNGVlNDU4ZTViMjIx
MzIxMjU2ZDZkMzc4ODIzMTlhODNlZDI2YmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL2RhdGV0aW1lLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZS1tdWx0aXBsZS1m
aWVsZHMtdmFsaWRpdHktYmFkaW5wdXQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjAgQEAKK0Eg
ZGF0ZXRpbWUgaW5wdXQgZmllbGRzIHdpdGggYSBiYWQgdXNlciBpbnB1dCBzaG91bGQgbWFrZSB2
YWxpZGl0eS5iYWRJbnB1dCB0cnVlIGFuZCBoYXZlIDppbnZhbGlkIHN0eWxlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKKworSW5pdGlhbCBzdGF0ZS4gVGhlIGVsbWVudCBoYXMgbm8g
dmFsdWUuCitQQVNTIGNvbG9yT2YoaW5wdXQpIGlzIG5vdCBpbnZhbGlkU3R5bGVDb2xvcgorUEFT
UyBpbnB1dC52YWxpZGl0eS5iYWRJbnB1dCBpcyBmYWxzZQorU2V0IGEgdmFsdWUgdG8gdGhlIGZp
cnN0IHN1Yi1maWVsZC4gVGhlIGVsZW1lbnQgYmVjb21lcyBiYWRJbnB1dC4KK1BBU1MgY29sb3JP
ZihpbnB1dCkgaXMgaW52YWxpZFN0eWxlQ29sb3IKK1BBU1MgaW5wdXQudmFsaWRpdHkuYmFkSW5w
dXQgaXMgdHJ1ZQorU2V0IGFuIGludmFsaWQgZGF0ZSwgMjAxMi0wMi0zMS4KK1BBU1MgaW5wdXQu
dmFsaWRpdHkuYmFkSW5wdXQgaXMgZmFsc2UKK1BBU1MgaW5wdXQudmFsdWUgaXMgIiIKK1BBU1Mg
aW5wdXQudmFsaWRpdHkuYmFkSW5wdXQgaXMgdHJ1ZQorUEFTUyBjb2xvck9mKGlucHV0KSBpcyBp
bnZhbGlkU3R5bGVDb2xvcgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWUt
bXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1
dC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGltZS1tdWx0aXBsZS1maWVsZHMv
ZGF0ZXRpbWUtbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODgyYTBmMTM3MWU4ODZhMjg3OTQ4NzZlYWJmNjAxYTQ4MTNmNWU2MQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWUtbXVsdGlwbGUtZmllbGRzL2Rh
dGV0aW1lLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC5odG1sCkBAIC0wLDAgKzEs
MTQgQEAKKzwhRE9DVFlQRSBodG1sPgorPHN0eWxlPgorOmludmFsaWQgeworICAgIGJhY2tncm91
bmQtY29sb3I6ICNmZjAwMDA7Cit9Cis8L3N0eWxlPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li9yZXNvdXJjZXMvbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0LmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQ+Cit0ZXN0QmFkSW5wdXQoJ2RhdGV0aW1lJyk7Cis8L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwv
Ym9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1t
dWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtdmFsaWRpdHktYmFk
aW5wdXQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGltZWxvY2Fs
LW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1i
YWRpbnB1dC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTY1ZmE0ODgzNDI4OTQ0YjBhNWNhMTAw
NDNkMjUxN2Q0ZWZmYzBhNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1m
aWVsZHMtdmFsaWRpdHktYmFkaW5wdXQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjAgQEAKK0Eg
ZGF0ZXRpbWUtbG9jYWwgaW5wdXQgZmllbGRzIHdpdGggYSBiYWQgdXNlciBpbnB1dCBzaG91bGQg
bWFrZSB2YWxpZGl0eS5iYWRJbnB1dCB0cnVlIGFuZCBoYXZlIDppbnZhbGlkIHN0eWxlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworSW5pdGlhbCBzdGF0ZS4gVGhlIGVsbWVudCBo
YXMgbm8gdmFsdWUuCitQQVNTIGNvbG9yT2YoaW5wdXQpIGlzIG5vdCBpbnZhbGlkU3R5bGVDb2xv
cgorUEFTUyBpbnB1dC52YWxpZGl0eS5iYWRJbnB1dCBpcyBmYWxzZQorU2V0IGEgdmFsdWUgdG8g
dGhlIGZpcnN0IHN1Yi1maWVsZC4gVGhlIGVsZW1lbnQgYmVjb21lcyBiYWRJbnB1dC4KK1BBU1Mg
Y29sb3JPZihpbnB1dCkgaXMgaW52YWxpZFN0eWxlQ29sb3IKK1BBU1MgaW5wdXQudmFsaWRpdHku
YmFkSW5wdXQgaXMgdHJ1ZQorU2V0IGFuIGludmFsaWQgZGF0ZSwgMjAxMi0wMi0zMS4KK1BBU1Mg
aW5wdXQudmFsaWRpdHkuYmFkSW5wdXQgaXMgZmFsc2UKK1BBU1MgaW5wdXQudmFsdWUgaXMgIiIK
K1BBU1MgaW5wdXQudmFsaWRpdHkuYmFkSW5wdXQgaXMgdHJ1ZQorUEFTUyBjb2xvck9mKGlucHV0
KSBpcyBpbnZhbGlkU3R5bGVDb2xvcgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0
ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMt
dmFsaWRpdHktYmFkaW5wdXQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWVs
b2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtdmFsaWRp
dHktYmFkaW5wdXQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jZTQxZmQzOGJlNzQ2NzI2NGUzY2FjMmNhY2M0
MTY2OTM1NTIwYTU3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9k
YXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxk
cy12YWxpZGl0eS1iYWRpbnB1dC5odG1sCkBAIC0wLDAgKzEsMTQgQEAKKzwhRE9DVFlQRSBodG1s
PgorPHN0eWxlPgorOmludmFsaWQgeworICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjAwMDA7Cit9
Cis8L3N0eWxlPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvbXVsdGlwbGUt
ZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+Cit0ZXN0QmFk
SW5wdXQoJ2RhdGV0aW1lLWxvY2FsJyk7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11
bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0aXBsZS1maWVsZHMt
dmFsaWRpdHktYmFkaW5wdXQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA4MGI1Mzk1M2ZhNWE4
YmQ5NTUxZmZhMDVmNTk5OGJkOWQwNjIyZTIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0aXBsZS1maWVsZHMt
dmFsaWRpdHktYmFkaW5wdXQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTUgQEAKK0EgbW9udGgg
aW5wdXQgZmllbGRzIHdpdGggYSBiYWQgdXNlciBpbnB1dCBzaG91bGQgbWFrZSB2YWxpZGl0eS5i
YWRJbnB1dCB0cnVlIGFuZCBoYXZlIDppbnZhbGlkIHN0eWxlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKKworSW5pdGlhbCBzdGF0ZS4gVGhlIGVsbWVudCBoYXMgbm8gdmFsdWUuCitQ
QVNTIGNvbG9yT2YoaW5wdXQpIGlzIG5vdCBpbnZhbGlkU3R5bGVDb2xvcgorUEFTUyBpbnB1dC52
YWxpZGl0eS5iYWRJbnB1dCBpcyBmYWxzZQorU2V0IGEgdmFsdWUgdG8gdGhlIGZpcnN0IHN1Yi1m
aWVsZC4gVGhlIGVsZW1lbnQgYmVjb21lcyBiYWRJbnB1dC4KK1BBU1MgY29sb3JPZihpbnB1dCkg
aXMgaW52YWxpZFN0eWxlQ29sb3IKK1BBU1MgaW5wdXQudmFsaWRpdHkuYmFkSW5wdXQgaXMgdHJ1
ZQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21v
bnRoLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLXZh
bGlkaXR5LWJhZGlucHV0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzU2ZWVhNTI4MTk3MjE5NTNhYzYwODVk
MmQ5ZWVhMTNkNjI4MWIwNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1i
YWRpbnB1dC5odG1sCkBAIC0wLDAgKzEsMTQgQEAKKzwhRE9DVFlQRSBodG1sPgorPHN0eWxlPgor
OmludmFsaWQgeworICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjAwMDA7Cit9Cis8L3N0eWxlPgor
PGJvZHk+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvbXVsdGlwbGUtZmllbGRzLXZhbGlk
aXR5LWJhZGlucHV0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+Cit0ZXN0QmFkSW5wdXQoJ21vbnRo
Jyk7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvbnVtYmVyL251bWJlci11bmFjY2VwdGFibGUtc3R5bGUtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy9udW1iZXIvbnVtYmVyLXVuYWNjZXB0YWJsZS1zdHlsZS1leHBl
Y3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI3YzdkYjI5N2JmNGNjNGM3
MjRmMTZhMWViN2M4ZDQwNjgyMDEwMzAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9udW1iZXIvbnVtYmVyLXVuYWNj
ZXB0YWJsZS1zdHlsZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwyNSArMCwwIEBA
Ci1BIG51bWJlciBpbnB1dCBmaWVsZHMgd2l0aCBhbiB1bmFjY2VwdGFibGUgc3RyaW5nIHNob3Vs
ZCBoYXZlIDppbnZhbGlkIHN0eWxlLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQot
SW5pdGlhbCBzdGF0ZS4gVGhlIGVsbWVudCBoYXMgbm8gdmFsdWUuCi1QQVNTIGNvbG9yT2YobnVt
YmVyKSAhPSBpbnZhbGlkU3R5bGVDb2xvciBpcyB0cnVlCi1UeXBlICctJy4gVGhlIHJlbmRlcmVy
IHZhbHVlIGJlY29tZXMgdW5hY2NlcHRhYmxlLgotUEFTUyBjb2xvck9mKG51bWJlcikgaXMgaW52
YWxpZFN0eWxlQ29sb3IKLVBBU1MgbnVtYmVyLnZhbGlkaXR5LnZhbGlkIGlzIHRydWUKLVBBU1Mg
bnVtYmVyLnZhbHVlIGlzICIiCi1UeXBlICcxJyBhZGRpdGlvbmFsbHkuIFRoZSByZW5kZXJlciB2
YWx1ZSBiZWNvbWVzIGFjY2VwdGFibGUuCi1QQVNTIGNvbG9yT2YobnVtYmVyKSAhPSBpbnZhbGlk
U3R5bGVDb2xvciBpcyB0cnVlCi1QQVNTIG51bWJlci52YWx1ZSBpcyAiLTEiCi1UeXBlICdhJyBh
ZGRpdGlvbmFsbHkuIFRoZSByZW5kZXJlciB2YWx1ZSBiZWNvbWVzIHVuYWNjZXB0YWJsZSBhZ2Fp
bi4KLVBBU1MgY29sb3JPZihudW1iZXIpIGlzIGludmFsaWRTdHlsZUNvbG9yCi1QQVNTIG51bWJl
ci52YWx1ZSBpcyAiIgotVGhlIGVsZW1lbnQgbG9zdHMgZm9jdXMuIFRoZSB1bmFjY2VwdGFibGUg
dmFsdWUgc2hvdWxkIGJlIHB1cmdlZCBhbmQgdGhlIHN0eWxlIHNob3VsZCBiZSBub3JtYWwuCi1Q
QVNTIGNvbG9yT2YobnVtYmVyKSAhPSBpbnZhbGlkU3R5bGVDb2xvciBpcyB0cnVlCi1QQVNTIGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpLnRvU3RyaW5nKCkgaXMgIiIKLVBBU1MgbnVtYmVyLnZhbHVl
IGlzICIiCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUK
LQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9udW1iZXIvbnVtYmVyLXVuYWNj
ZXB0YWJsZS1zdHlsZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9udW1iZXIvbnVtYmVy
LXVuYWNjZXB0YWJsZS1zdHlsZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAz
YjkzNzIxOWVhMzU0NWZiNDY3YmE0ZmM2YWMwMzFkMWMyY2JjYmFhLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbnVt
YmVyL251bWJlci11bmFjY2VwdGFibGUtc3R5bGUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDYw
ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIu
Li8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c3R5
bGU+Ci06aW52YWxpZCB7Ci0gIGJhY2tncm91bmQtY29sb3I6ICNmZjAwMDA7Ci19Ci08L3N0eWxl
PgotPC9oZWFkPgotPGJvZHk+Ci08cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KLTxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgotPGRpdiBpZD1wYXJlbnQ+Ci08aW5wdXQgdHlwZT1udW1iZXIgaWQ9bnVt
YmVyPgotPGlucHV0IGlkPWFub3RoZXI+Ci08L2Rpdj4KLTxzY3JpcHQ+Ci1kZXNjcmlwdGlvbign
QSBudW1iZXIgaW5wdXQgZmllbGRzIHdpdGggYW4gdW5hY2NlcHRhYmxlIHN0cmluZyBzaG91bGQg
aGF2ZSA6aW52YWxpZCBzdHlsZS4nKTsKLQotZnVuY3Rpb24gY29sb3JPZihlbCkgewotICAgIHJl
dHVybiBkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKGVsLCBudWxsKS5nZXRQ
cm9wZXJ0eVZhbHVlKCdiYWNrZ3JvdW5kLWNvbG9yJyk7Ci19Ci12YXIgaW52YWxpZFN0eWxlQ29s
b3IgPSAncmdiKDI1NSwgMCwgMCknOwotCi12YXIgbnVtYmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ251bWJlcicpOwotbnVtYmVyLmZvY3VzKCk7Ci1kZWJ1ZygnSW5pdGlhbCBzdGF0ZS4g
VGhlIGVsbWVudCBoYXMgbm8gdmFsdWUuJyk7Ci1zaG91bGRCZVRydWUoJ2NvbG9yT2YobnVtYmVy
KSAhPSBpbnZhbGlkU3R5bGVDb2xvcicpOwotCi1kZWJ1ZygiVHlwZSAnLScuIFRoZSByZW5kZXJl
ciB2YWx1ZSBiZWNvbWVzIHVuYWNjZXB0YWJsZS4iKTsKLWRvY3VtZW50LmV4ZWNDb21tYW5kKCdJ
bnNlcnRUZXh0JywgZmFsc2UsICctJyk7Ci1zaG91bGRCZSgnY29sb3JPZihudW1iZXIpJywgJ2lu
dmFsaWRTdHlsZUNvbG9yJyk7Ci1zaG91bGRCZVRydWUoJ251bWJlci52YWxpZGl0eS52YWxpZCcp
Owotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdudW1iZXIudmFsdWUnLCAnJyk7Ci0KLWRlYnVnKCJU
eXBlICcxJyBhZGRpdGlvbmFsbHkuIFRoZSByZW5kZXJlciB2YWx1ZSBiZWNvbWVzIGFjY2VwdGFi
bGUuIik7Ci1kb2N1bWVudC5leGVjQ29tbWFuZCgnSW5zZXJ0VGV4dCcsIGZhbHNlLCAnMScpOwot
c2hvdWxkQmVUcnVlKCdjb2xvck9mKG51bWJlcikgIT0gaW52YWxpZFN0eWxlQ29sb3InKTsKLXNo
b3VsZEJlRXF1YWxUb1N0cmluZygnbnVtYmVyLnZhbHVlJywgJy0xJyk7Ci0KLWRlYnVnKCJUeXBl
ICdhJyBhZGRpdGlvbmFsbHkuIFRoZSByZW5kZXJlciB2YWx1ZSBiZWNvbWVzIHVuYWNjZXB0YWJs
ZSBhZ2Fpbi4iKTsKLWRvY3VtZW50LmV4ZWNDb21tYW5kKCdJbnNlcnRUZXh0JywgZmFsc2UsICdh
Jyk7Ci1zaG91bGRCZSgnY29sb3JPZihudW1iZXIpJywgJ2ludmFsaWRTdHlsZUNvbG9yJyk7Ci1z
aG91bGRCZUVxdWFsVG9TdHJpbmcoJ251bWJlci52YWx1ZScsICcnKTsKLQotZGVidWcoIlRoZSBl
bGVtZW50IGxvc3RzIGZvY3VzLiBUaGUgdW5hY2NlcHRhYmxlIHZhbHVlIHNob3VsZCBiZSBwdXJn
ZWQgYW5kIHRoZSBzdHlsZSBzaG91bGQgYmUgbm9ybWFsLiIpOwotZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ2Fub3RoZXInKS5mb2N1cygpOwotc2hvdWxkQmVUcnVlKCdjb2xvck9mKG51bWJlcikg
IT0gaW52YWxpZFN0eWxlQ29sb3InKTsKLS8vIFZpc2libHVlIHZhbHVlIGlzIG5vdCAnLTFhJy4K
LW51bWJlci5mb2N1cygpOwotZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ1NlbGVjdEFsbCcpOwotc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCdkb2N1bWVudC5nZXRTZWxlY3Rpb24oKS50b1N0cmluZygpJywg
JycpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdudW1iZXIudmFsdWUnLCAnJyk7Ci0KLWRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCdwYXJlbnQnKS5pbm5lckhUTUwgPSAnJzsKLTwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL251bWJlci9udW1iZXItdmFsaWRpdHktYmFkaW5wdXQtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy9udW1iZXIvbnVtYmVyLXZhbGlkaXR5LWJhZGlucHV0LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mZDA2MzY4Zjc2MDNjNWE2MTBhMWYzNWU1MWE3ZmYzZjVhMzhh
MWY2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9udW1iZXIvbnVt
YmVyLXZhbGlkaXR5LWJhZGlucHV0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMyIEBACitBIG51
bWJlciBpbnB1dCBmaWVsZHMgd2l0aCBhIGJhZCBpbnB1dCBzdHJpbmcgc2hvdWxkIG1ha2UgdmFs
aWRpdHkuYmFkSW5wdXQgdHJ1ZSBhbmQgaGF2ZSA6aW52YWxpZCBzdHlsZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCisKK0luaXRpYWwgc3RhdGUuIFRoZSBlbG1lbnQgaGFzIG5vIHZh
bHVlLgorUEFTUyBjb2xvck9mKG51bWJlcikgaXMgbm90IGludmFsaWRTdHlsZUNvbG9yCitQQVNT
IG51bWJlci52YWxpZGl0eS5iYWRJbnB1dCBpcyBmYWxzZQorVHlwZSAnLScuIFRoZSBlbGVtZW50
IGJlY29tZXMgYmFkSW5wdXQuCitQQVNTIGNvbG9yT2YobnVtYmVyKSBpcyBpbnZhbGlkU3R5bGVD
b2xvcgorUEFTUyBudW1iZXIudmFsaWRpdHkudmFsaWQgaXMgZmFsc2UKK1BBU1MgbnVtYmVyLnZh
bGlkaXR5LmJhZElucHV0IGlzIHRydWUKK1BBU1MgbnVtYmVyLnZhbHVlIGlzICIiCitUeXBlICcx
JyBhZGRpdGlvbmFsbHkuIFRoZSBlbGVtZW50IGJlY29tZXMgdmFsaWQuCitQQVNTIGNvbG9yT2Yo
bnVtYmVyKSBpcyBub3QgaW52YWxpZFN0eWxlQ29sb3IKK1BBU1MgbnVtYmVyLnZhbGlkaXR5LmJh
ZElucHV0IGlzIGZhbHNlCitQQVNTIG51bWJlci52YWx1ZSBpcyAiLTEiCitUeXBlICdhJyBhZGRp
dGlvbmFsbHkuIFRoZSBlbGVtZW50IGJlY29tZXMgYmFkSW5wdXQgYWdhaW4uCitQQVNTIGNvbG9y
T2YobnVtYmVyKSBpcyBpbnZhbGlkU3R5bGVDb2xvcgorUEFTUyBudW1iZXIudmFsaWRpdHkuYmFk
SW5wdXQgaXMgdHJ1ZQorUEFTUyBudW1iZXIudmFsdWUgaXMgIiIKK1RoZSBlbGVtZW50IGxvc3Rz
IGZvY3VzLiBUaGUgZWxlbWVudCBzdGF0ZSBzaG91bGQgbm90IGJlIGNoYW5nZWQuCitQQVNTIGNv
bG9yT2YobnVtYmVyKSBpcyBpbnZhbGlkU3R5bGVDb2xvcgorUEFTUyBudW1iZXIudmFsaWRpdHku
YmFkSW5wdXQgaXMgdHJ1ZQorUEFTUyBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKS50b1N0cmluZygp
IGlzICItMWEiCitQQVNTIG51bWJlci52YWx1ZSBpcyAiIgorVGhlIGVsZW1lbnQgbG9zdHMgYSBy
ZW5kZXJlci4gVGhlIGVsZW1lbnQgc3RhdGUgc2hvdWxkIG5vdCBiZSBjaGFuZ2VkLgorUEFTUyBu
dW1iZXIuc3R5bGUuZGlzcGxheSA9ICJub25lIjsgbnVtYmVyLnZhbGlkaXR5LmJhZElucHV0IGlz
IHRydWUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL251bWJlci9udW1iZXItdmFsaWRp
dHktYmFkaW5wdXQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbnVtYmVyL251bWJlci12
YWxpZGl0eS1iYWRpbnB1dC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI5NjYxMWU2M2M5YzYyOGQ5Y2ZhMmNk
YmEyZDdiZTBiMzM2MWY0OWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL251bWJlci9udW1iZXItdmFsaWRpdHktYmFkaW5wdXQuaHRtbApAQCAtMCwwICsxLDY2IEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4v
ZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorOmlu
dmFsaWQgeworICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwMDAwOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdiBpZD1wYXJlbnQ+Cis8aW5wdXQgdHlwZT1udW1iZXIgaWQ9bnVtYmVy
PgorPGlucHV0IGlkPWFub3RoZXI+Cis8L2Rpdj4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbignQSBu
dW1iZXIgaW5wdXQgZmllbGRzIHdpdGggYSBiYWQgaW5wdXQgc3RyaW5nIHNob3VsZCBtYWtlIHZh
bGlkaXR5LmJhZElucHV0IHRydWUgYW5kIGhhdmUgOmludmFsaWQgc3R5bGUuJyk7CisKK2Z1bmN0
aW9uIGNvbG9yT2YoZWwpIHsKKyAgICByZXR1cm4gZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29t
cHV0ZWRTdHlsZShlbCwgbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZSgnYmFja2dyb3VuZC1jb2xvcicp
OworfQordmFyIGludmFsaWRTdHlsZUNvbG9yID0gJ3JnYigyNTUsIDAsIDApJzsKKwordmFyIG51
bWJlciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdudW1iZXInKTsKK251bWJlci5mb2N1cygp
OworZGVidWcoJ0luaXRpYWwgc3RhdGUuIFRoZSBlbG1lbnQgaGFzIG5vIHZhbHVlLicpOworc2hv
dWxkTm90QmUoJ2NvbG9yT2YobnVtYmVyKScsICdpbnZhbGlkU3R5bGVDb2xvcicpOworc2hvdWxk
QmVGYWxzZSgnbnVtYmVyLnZhbGlkaXR5LmJhZElucHV0Jyk7CisKK2RlYnVnKCJUeXBlICctJy4g
VGhlIGVsZW1lbnQgYmVjb21lcyBiYWRJbnB1dC4iKTsKK2RvY3VtZW50LmV4ZWNDb21tYW5kKCdJ
bnNlcnRUZXh0JywgZmFsc2UsICctJyk7CitzaG91bGRCZSgnY29sb3JPZihudW1iZXIpJywgJ2lu
dmFsaWRTdHlsZUNvbG9yJyk7CitzaG91bGRCZUZhbHNlKCdudW1iZXIudmFsaWRpdHkudmFsaWQn
KTsKK3Nob3VsZEJlVHJ1ZSgnbnVtYmVyLnZhbGlkaXR5LmJhZElucHV0Jyk7CitzaG91bGRCZUVx
dWFsVG9TdHJpbmcoJ251bWJlci52YWx1ZScsICcnKTsKKworZGVidWcoIlR5cGUgJzEnIGFkZGl0
aW9uYWxseS4gVGhlIGVsZW1lbnQgYmVjb21lcyB2YWxpZC4iKTsKK2RvY3VtZW50LmV4ZWNDb21t
YW5kKCdJbnNlcnRUZXh0JywgZmFsc2UsICcxJyk7CitzaG91bGROb3RCZSgnY29sb3JPZihudW1i
ZXIpJywgJ2ludmFsaWRTdHlsZUNvbG9yJyk7CitzaG91bGRCZUZhbHNlKCdudW1iZXIudmFsaWRp
dHkuYmFkSW5wdXQnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnbnVtYmVyLnZhbHVlJywgJy0x
Jyk7CisKK2RlYnVnKCJUeXBlICdhJyBhZGRpdGlvbmFsbHkuIFRoZSBlbGVtZW50IGJlY29tZXMg
YmFkSW5wdXQgYWdhaW4uIik7Citkb2N1bWVudC5leGVjQ29tbWFuZCgnSW5zZXJ0VGV4dCcsIGZh
bHNlLCAnYScpOworc2hvdWxkQmUoJ2NvbG9yT2YobnVtYmVyKScsICdpbnZhbGlkU3R5bGVDb2xv
cicpOworc2hvdWxkQmVUcnVlKCdudW1iZXIudmFsaWRpdHkuYmFkSW5wdXQnKTsKK3Nob3VsZEJl
RXF1YWxUb1N0cmluZygnbnVtYmVyLnZhbHVlJywgJycpOworCitkZWJ1ZygiVGhlIGVsZW1lbnQg
bG9zdHMgZm9jdXMuIFRoZSBlbGVtZW50IHN0YXRlIHNob3VsZCBub3QgYmUgY2hhbmdlZC4iKTsK
K2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhbm90aGVyJykuZm9jdXMoKTsKK3Nob3VsZEJlKCdj
b2xvck9mKG51bWJlciknLCAnaW52YWxpZFN0eWxlQ29sb3InKTsKK3Nob3VsZEJlVHJ1ZSgnbnVt
YmVyLnZhbGlkaXR5LmJhZElucHV0Jyk7CisvLyBWaXNpYmxlIHZhbHVlIGlzICctMWEnLgorbnVt
YmVyLmZvY3VzKCk7Citkb2N1bWVudC5leGVjQ29tbWFuZCgnU2VsZWN0QWxsJyk7CitzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ2RvY3VtZW50LmdldFNlbGVjdGlvbigpLnRvU3RyaW5nKCknLCAnLTFh
Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ251bWJlci52YWx1ZScsICcnKTsKKworZGVidWco
IlRoZSBlbGVtZW50IGxvc3RzIGEgcmVuZGVyZXIuIFRoZSBlbGVtZW50IHN0YXRlIHNob3VsZCBu
b3QgYmUgY2hhbmdlZC4iKTsKK3Nob3VsZEJlVHJ1ZSgnbnVtYmVyLnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7IG51bWJlci52YWxpZGl0eS5iYWRJbnB1dCcpOworCitkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgncGFyZW50JykuaW5uZXJIVE1MID0gJyc7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9yZXNvdXJj
ZXMvbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0LmpzIGIvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy9yZXNvdXJjZXMvbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0LmpzCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdmN2EyZWE2YjI4ZTMyYmM5YjE4MDcxOWQ2M2M0MzA2N2NiMTI0ZmQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3Jlc291cmNlcy9tdWx0aXBsZS1m
aWVsZHMtdmFsaWRpdHktYmFkaW5wdXQuanMKQEAgLTAsMCArMSw0NCBAQAordmFyIGludmFsaWRT
dHlsZUNvbG9yID0gJ3JnYigyNTUsIDAsIDApJzsKK3ZhciBpbnB1dDsKK3ZhciBxdWlldCA9IHRy
dWU7CisKK2Z1bmN0aW9uIGNvbG9yT2YoZWwpIHsKKyAgICByZXR1cm4gZG9jdW1lbnQuZGVmYXVs
dFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZShlbCwgbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZSgnYmFja2dy
b3VuZC1jb2xvcicpOworfQorZnVuY3Rpb24gdGVzdEJhZElucHV0KHR5cGUpIHsKKyAgICBpZiAo
IXdpbmRvdy5ldmVudFNlbmRlcikgeworICAgICAgICBkZWJ1ZygnTmVlZHMgdG8gcnVuIHRoaXMg
b24gRFJUL1dUUi4nKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBkZXNjcmlwdGlvbign
QSAnICsgdHlwZSArICcgaW5wdXQgZmllbGRzIHdpdGggYSBiYWQgdXNlciBpbnB1dCBzaG91bGQg
bWFrZSB2YWxpZGl0eS5iYWRJbnB1dCB0cnVlIGFuZCBoYXZlIDppbnZhbGlkIHN0eWxlLicpOwor
ICAgIGlucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTsKKyAgICBpbnB1dC50
eXBlID0gdHlwZTsKKyAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGlucHV0KTsKKyAgICBp
bnB1dC5mb2N1cygpOworCisgICAgZGVidWcoJ0luaXRpYWwgc3RhdGUuIFRoZSBlbG1lbnQgaGFz
IG5vIHZhbHVlLicpOworICAgIHNob3VsZE5vdEJlKCdjb2xvck9mKGlucHV0KScsICdpbnZhbGlk
U3R5bGVDb2xvcicpOworICAgIHNob3VsZEJlRmFsc2UoJ2lucHV0LnZhbGlkaXR5LmJhZElucHV0
Jyk7CisKKyAgICBkZWJ1ZygnU2V0IGEgdmFsdWUgdG8gdGhlIGZpcnN0IHN1Yi1maWVsZC4gVGhl
IGVsZW1lbnQgYmVjb21lcyBiYWRJbnB1dC4nKTsKKyAgICBldmVudFNlbmRlci5rZXlEb3duKCd1
cEFycm93Jyk7CisgICAgc2hvdWxkQmUoJ2NvbG9yT2YoaW5wdXQpJywgJ2ludmFsaWRTdHlsZUNv
bG9yJyk7CisgICAgc2hvdWxkQmVUcnVlKCdpbnB1dC52YWxpZGl0eS5iYWRJbnB1dCcpOworCisg
ICAgaWYgKHR5cGUgPT09ICdkYXRlJyB8fCB0eXBlID09PSAnZGF0ZXRpbWUnIHx8IHR5cGUgPT09
ICdkYXRldGltZS1sb2NhbCcpIHsKKyAgICAgICAgZGVidWcoJ1NldCBhbiBpbnZhbGlkIGRhdGUs
IDIwMTItMDItMzEuJyk7CisgICAgICAgIGlmICh0eXBlID09ICdkYXRlJykKKyAgICAgICAgICAg
IGlucHV0LnZhbHVlID0gJzIwMTItMDItMDEnOworICAgICAgICBlbHNlIGlmICh0eXBlID09ICdk
YXRldGltZScpCisgICAgICAgICAgICBpbnB1dC52YWx1ZSA9ICcyMDEyLTAyLTAxVDAzOjA0Wic7
CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGlucHV0LnZhbHVlID0gJzIwMTItMDItMDFUMDM6
MDQnOworICAgICAgICBzaG91bGROb3RCZSgnY29sb3JPZihpbnB1dCknLCAnaW52YWxpZFN0eWxl
Q29sb3InLCBxdWlldCk7CisgICAgICAgIHNob3VsZEJlRmFsc2UoJ2lucHV0LnZhbGlkaXR5LmJh
ZElucHV0JywgcXVpZXQpOworICAgICAgICBldmVudFNlbmRlci5rZXlEb3duKCdyaWdodEFycm93
Jyk7IC8vIC0+IDAyL1swMV0vMjAxMiAuLi4KKyAgICAgICAgZXZlbnRTZW5kZXIua2V5RG93bign
ZG93bkFycm93Jyk7IC8vICAtPiAwMi9bMzFdLzIwMTIgLi4uCisgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnJyk7CisgICAgICAgIHNob3VsZEJlVHJ1ZSgnaW5w
dXQudmFsaWRpdHkuYmFkSW5wdXQnKTsKKyAgICAgICAgc2hvdWxkQmUoJ2NvbG9yT2YoaW5wdXQp
JywgJ2ludmFsaWRTdHlsZUNvbG9yJyk7CisgICAgfQorfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy12
YWxpZGl0eS1iYWRpbnB1dC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3Rp
bWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ODBmNTYxZjIyNmM1OWE0NDE3Y2JiZTNlNjY5MTdl
OTgzZDA0N2U2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1l
LW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNSBAQAorQSB0aW1lIGlucHV0IGZpZWxkcyB3aXRoIGEg
YmFkIHVzZXIgaW5wdXQgc2hvdWxkIG1ha2UgdmFsaWRpdHkuYmFkSW5wdXQgdHJ1ZSBhbmQgaGF2
ZSA6aW52YWxpZCBzdHlsZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK0luaXRp
YWwgc3RhdGUuIFRoZSBlbG1lbnQgaGFzIG5vIHZhbHVlLgorUEFTUyBjb2xvck9mKGlucHV0KSBp
cyBub3QgaW52YWxpZFN0eWxlQ29sb3IKK1BBU1MgaW5wdXQudmFsaWRpdHkuYmFkSW5wdXQgaXMg
ZmFsc2UKK1NldCBhIHZhbHVlIHRvIHRoZSBmaXJzdCBzdWItZmllbGQuIFRoZSBlbGVtZW50IGJl
Y29tZXMgYmFkSW5wdXQuCitQQVNTIGNvbG9yT2YoaW5wdXQpIGlzIGludmFsaWRTdHlsZUNvbG9y
CitQQVNTIGlucHV0LnZhbGlkaXR5LmJhZElucHV0IGlzIHRydWUKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLXZh
bGlkaXR5LWJhZGlucHV0Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlw
bGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJhZGlucHV0Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODI4MGYwZTgxMzdiYjc0ZDYwZTIwMzI2Y2UyMmIxMGM5NDZhYjI0MgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMv
dGltZS1tdWx0aXBsZS1maWVsZHMtdmFsaWRpdHktYmFkaW5wdXQuaHRtbApAQCAtMCwwICsxLDE0
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxzdHlsZT4KKzppbnZhbGlkIHsKKyAgICBiYWNrZ3JvdW5k
LWNvbG9yOiAjZmYwMDAwOworfQorPC9zdHlsZT4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
cmVzb3VyY2VzL211bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0PgordGVzdEJhZElucHV0KCd0aW1lJyk7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1maWVsZHMv
d2Vlay1tdWx0aXBsZS1maWVsZHMtdmFsaWRpdHktYmFkaW5wdXQtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZp
ZWxkcy12YWxpZGl0eS1iYWRpbnB1dC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmQ2MTgyMWYy
MWI2OTM4ZTMzOWFkY2VmMzA5YzM4NThiNTg0ZjEzMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVs
ZHMtdmFsaWRpdHktYmFkaW5wdXQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTUgQEAKK0Egd2Vl
ayBpbnB1dCBmaWVsZHMgd2l0aCBhIGJhZCB1c2VyIGlucHV0IHNob3VsZCBtYWtlIHZhbGlkaXR5
LmJhZElucHV0IHRydWUgYW5kIGhhdmUgOmludmFsaWQgc3R5bGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworCitJbml0aWFsIHN0YXRlLiBUaGUgZWxtZW50IGhhcyBubyB2YWx1ZS4K
K1BBU1MgY29sb3JPZihpbnB1dCkgaXMgbm90IGludmFsaWRTdHlsZUNvbG9yCitQQVNTIGlucHV0
LnZhbGlkaXR5LmJhZElucHV0IGlzIGZhbHNlCitTZXQgYSB2YWx1ZSB0byB0aGUgZmlyc3Qgc3Vi
LWZpZWxkLiBUaGUgZWxlbWVudCBiZWNvbWVzIGJhZElucHV0LgorUEFTUyBjb2xvck9mKGlucHV0
KSBpcyBpbnZhbGlkU3R5bGVDb2xvcgorUEFTUyBpbnB1dC52YWxpZGl0eS5iYWRJbnB1dCBpcyB0
cnVlCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy93
ZWVrLW11bHRpcGxlLWZpZWxkcy12YWxpZGl0eS1iYWRpbnB1dC5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy12YWxp
ZGl0eS1iYWRpbnB1dC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg0N2E2ZWVkODA2YzU5MjY2N2EzZjA5ZTJl
YzY4OTVkNzg2Mzc1NzIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLXZhbGlkaXR5LWJhZGlu
cHV0Lmh0bWwKQEAgLTAsMCArMSwxNCBAQAorPCFET0NUWVBFIGh0bWw+Cis8c3R5bGU+Cis6aW52
YWxpZCB7CisgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDAwMDsKK30KKzwvc3R5bGU+Cis8Ym9k
eT4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9tdWx0aXBsZS1maWVsZHMtdmFsaWRpdHkt
YmFkaW5wdXQuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK3Rlc3RCYWRJbnB1dCgnd2VlaycpOwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cg==
</data>
<flag name="review"
          id="191569"
          type_id="1"
          status="+"
          setter="morrita"
    />
          </attachment>
      

    </bug>

</bugzilla>