<?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>113005</bug_id>
          
          <creation_ts>2013-03-21 22:48:58 -0700</creation_ts>
          <short_desc>INPUT_MULTIPLE_FIELDS_UI: Incomplete datetime format should fallback to default</short_desc>
          <delta_ts>2013-03-22 03:06:46 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Forms</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Kunihiko Sakamoto">ksakamoto</reporter>
          <assigned_to name="Kunihiko Sakamoto">ksakamoto</assigned_to>
          <cc>esprehn+autocc</cc>
    
    <cc>mifenton</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>tkent</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>861113</commentid>
    <comment_count>0</comment_count>
    <who name="Kunihiko Sakamoto">ksakamoto</who>
    <bug_when>2013-03-21 22:48:58 -0700</bug_when>
    <thetext>Imported from https://code.google.com/p/chromium/issues/detail?id=182123

When system locale&apos;s datetime format is not complete (e.g. 12-hour without AM/PM field), user cannot enter valid value to datetime inputs.
In such cases, fallback format should be used.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>861143</commentid>
    <comment_count>1</comment_count>
      <attachid>194451</attachid>
    <who name="Kunihiko Sakamoto">ksakamoto</who>
    <bug_when>2013-03-21 23:33:24 -0700</bug_when>
    <thetext>Created attachment 194451
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>861166</commentid>
    <comment_count>2</comment_count>
      <attachid>194451</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2013-03-22 00:13:58 -0700</bug_when>
    <thetext>Comment on attachment 194451
Patch

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

r- because of some style errors.

&gt; Source/WebCore/html/BaseMultipleFieldsDateAndTimeInputType.cpp:57
&gt; +class FormatValidator : public DateTimeFormat::TokenHandler {

This class belongs to the large WebCore namespace. We had better name more specific class name; e.g. WebCore::DateTimeFormatValidator.

&gt; Source/WebCore/html/BaseMultipleFieldsDateAndTimeInputType.cpp:73
&gt; +    bool validateFormat(const String&amp; format, const BaseMultipleFieldsDateAndTimeInputType*);
&gt; +private:

Need a blank line before a scope label.

&gt; Source/WebCore/html/BaseMultipleFieldsDateAndTimeInputType.cpp:123
&gt; +bool FormatValidator::validateFormat(const String&amp; format, const BaseMultipleFieldsDateAndTimeInputType* inputType)

The second argument type should be &quot;const BaseMultipleFieldDateAndTimeInputType&amp;&quot;.

&gt; Source/WebCore/html/BaseMultipleFieldsDateAndTimeInputType.h:54
&gt;      , protected ClearButtonElement::ClearButtonOwner {
&gt; +public:
&gt; +    virtual bool isValidFormat(bool hasYear, bool hasMonth, bool hasWeek, bool hasDay, bool hasAMPM, bool hasHour, bool hasMinute, bool hasSecond) const = 0;
&gt;  protected:

Need a blank line before each of scope labels</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>861169</commentid>
    <comment_count>3</comment_count>
      <attachid>194459</attachid>
    <who name="Kunihiko Sakamoto">ksakamoto</who>
    <bug_when>2013-03-22 00:28:51 -0700</bug_when>
    <thetext>Created attachment 194459
Patch 2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>861171</commentid>
    <comment_count>4</comment_count>
      <attachid>194460</attachid>
    <who name="Kunihiko Sakamoto">ksakamoto</who>
    <bug_when>2013-03-22 00:33:58 -0700</bug_when>
    <thetext>Created attachment 194460
Patch 3, EWS build fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>861172</commentid>
    <comment_count>5</comment_count>
      <attachid>194451</attachid>
    <who name="Kunihiko Sakamoto">ksakamoto</who>
    <bug_when>2013-03-22 00:35:32 -0700</bug_when>
    <thetext>Comment on attachment 194451
Patch

Please take another look.


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

&gt;&gt; Source/WebCore/html/BaseMultipleFieldsDateAndTimeInputType.cpp:57
&gt;&gt; +class FormatValidator : public DateTimeFormat::TokenHandler {
&gt; 
&gt; This class belongs to the large WebCore namespace. We had better name more specific class name; e.g. WebCore::DateTimeFormatValidator.

Done.

&gt;&gt; Source/WebCore/html/BaseMultipleFieldsDateAndTimeInputType.cpp:73
&gt;&gt; +private:
&gt; 
&gt; Need a blank line before a scope label.

Done.

&gt;&gt; Source/WebCore/html/BaseMultipleFieldsDateAndTimeInputType.cpp:123
&gt;&gt; +bool FormatValidator::validateFormat(const String&amp; format, const BaseMultipleFieldsDateAndTimeInputType* inputType)
&gt; 
&gt; The second argument type should be &quot;const BaseMultipleFieldDateAndTimeInputType&amp;&quot;.

Done.

&gt;&gt; Source/WebCore/html/BaseMultipleFieldsDateAndTimeInputType.h:54
&gt;&gt;  protected:
&gt; 
&gt; Need a blank line before each of scope labels

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>861203</commentid>
    <comment_count>6</comment_count>
      <attachid>194460</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2013-03-22 01:10:00 -0700</bug_when>
    <thetext>Comment on attachment 194460
Patch 3, EWS build fix

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

FYI. I thought additional format parsing was not needed if we implement the check in DateTimeEditBuilder. However your design is simpler and we can avoid additional complexity of DateTimeEditBuilder.

&gt; Source/WebCore/ChangeLog:21
&gt; +        (FormatValidator): A helper class that parses datetime format and tests existence of fields.
&gt; +        (WebCore::FormatValidator::FormatValidator):
&gt; +        (WebCore::FormatValidator::visitField):
&gt; +        (WebCore::FormatValidator::validateFormat): Parses datetime format and validates by calling BaseMultipleFieldsDateAndTimeInputType::isValidFormat.

Need to update these lines</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>861255</commentid>
    <comment_count>7</comment_count>
      <attachid>194480</attachid>
    <who name="Kunihiko Sakamoto">ksakamoto</who>
    <bug_when>2013-03-22 02:19:12 -0700</bug_when>
    <thetext>Created attachment 194480
Patch 4</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>861259</commentid>
    <comment_count>8</comment_count>
    <who name="Kunihiko Sakamoto">ksakamoto</who>
    <bug_when>2013-03-22 02:23:23 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 194460 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=194460&amp;action=review
&gt; 
&gt; FYI. I thought additional format parsing was not needed if we implement the check in DateTimeEditBuilder. However your design is simpler and we can avoid additional complexity of DateTimeEditBuilder.

Yeah first I attempted to check it in DateTimeEditBuilder, but then realized that InputType knows best whether format is valid or not.

&gt; 
&gt; &gt; Source/WebCore/ChangeLog:21
&gt; &gt; +        (FormatValidator): A helper class that parses datetime format and tests existence of fields.
&gt; &gt; +        (WebCore::FormatValidator::FormatValidator):
&gt; &gt; +        (WebCore::FormatValidator::visitField):
&gt; &gt; +        (WebCore::FormatValidator::validateFormat): Parses datetime format and validates by calling BaseMultipleFieldsDateAndTimeInputType::isValidFormat.
&gt; 
&gt; Need to update these lines

Oops, done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>861274</commentid>
    <comment_count>9</comment_count>
      <attachid>194480</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2013-03-22 02:39:24 -0700</bug_when>
    <thetext>Comment on attachment 194480
Patch 4

ok</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>861295</commentid>
    <comment_count>10</comment_count>
      <attachid>194480</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-22 03:06:42 -0700</bug_when>
    <thetext>Comment on attachment 194480
Patch 4

Clearing flags on attachment: 194480

Committed r146584: &lt;http://trac.webkit.org/changeset/146584&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>861296</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-22 03:06:46 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>194451</attachid>
            <date>2013-03-21 23:33:24 -0700</date>
            <delta_ts>2013-03-22 00:35:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-113005-20130322152912.patch</filename>
            <type>text/plain</type>
            <size>34203</size>
            <attacher name="Kunihiko Sakamoto">ksakamoto</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ2NDkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODYxYTc4YjU0YzczNDQ1
ODRjMmNlMWQ3YTViZTVkMzY4ODQ1NDE5Yy4uMTkyODExMzg5NTBjNmE0NThhYWMyNTMzOGMyNGIz
MmI5NjQ2MGRjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUyIEBACisyMDEzLTAzLTIxICBLdW5p
aGlrbyBTYWthbW90byAgPGtzYWthbW90b0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSU5QVVRf
TVVMVElQTEVfRklFTERTX1VJOiBJbmNvbXBsZXRlIGRhdGV0aW1lIGZvcm1hdCBzaG91bGQgZmFs
bGJhY2sgdG8gZGVmYXVsdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTEzMDA1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgVXNlIGZhbGxiYWNrIGZvcm1hdCB3aGVuIGRhdGV0aW1lIGZvcm1hdCBmcm9tIGxv
Y2FsZSBpcyBub3QgY29tcGxldGUuCisKKyAgICAgICAgVGVzdHM6IGZhc3QvZm9ybXMvZGF0ZS1t
dWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtZmFsbGJhY2stZm9ybWF0Lmh0bWwK
KyAgICAgICAgICAgICAgIGZhc3QvZm9ybXMvZGF0ZXRpbWUtbXVsdGlwbGUtZmllbGRzL2RhdGV0
aW1lLW11bHRpcGxlLWZpZWxkcy1mYWxsYmFjay1mb3JtYXQuaHRtbAorICAgICAgICAgICAgICAg
ZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11
bHRpcGxlLWZpZWxkcy1mYWxsYmFjay1mb3JtYXQuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9m
b3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLWZhbGxiYWNr
LWZvcm1hdC5odG1sCisgICAgICAgICAgICAgICBmYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmll
bGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWZhbGxiYWNrLWZvcm1hdC5odG1sCisgICAgICAgICAg
ICAgICBmYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRz
LWZhbGxiYWNrLWZvcm1hdC5odG1sCisKKyAgICAgICAgKiBodG1sL0Jhc2VNdWx0aXBsZUZpZWxk
c0RhdGVBbmRUaW1lSW5wdXRUeXBlLmNwcDoKKyAgICAgICAgKEZvcm1hdFZhbGlkYXRvcik6IEEg
aGVscGVyIGNsYXNzIHRoYXQgcGFyc2VzIGRhdGV0aW1lIGZvcm1hdCBhbmQgdGVzdHMgZXhpc3Rl
bmNlIG9mIGZpZWxkcy4KKyAgICAgICAgKFdlYkNvcmU6OkZvcm1hdFZhbGlkYXRvcjo6Rm9ybWF0
VmFsaWRhdG9yKToKKyAgICAgICAgKFdlYkNvcmU6OkZvcm1hdFZhbGlkYXRvcjo6dmlzaXRGaWVs
ZCk6CisgICAgICAgIChXZWJDb3JlOjpGb3JtYXRWYWxpZGF0b3I6OnZhbGlkYXRlRm9ybWF0KTog
UGFyc2VzIGRhdGV0aW1lIGZvcm1hdCBhbmQgdmFsaWRhdGVzIGJ5IGNhbGxpbmcgQmFzZU11bHRp
cGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGU6OmlzVmFsaWRGb3JtYXQuCisgICAgICAgIChX
ZWJDb3JlOjpCYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZTo6dXBkYXRlSW5u
ZXJUZXh0VmFsdWUpOiBDaGVja3MgaWYgZGF0ZVRpbWVGb3JtYXQgaXMgdmFsaWQsIGFuZCB1c2Vz
IGZhbGxiYWNrIGZvcm1hdCBpZiBub3QuCisgICAgICAgICogaHRtbC9CYXNlTXVsdGlwbGVGaWVs
ZHNEYXRlQW5kVGltZUlucHV0VHlwZS5oOgorICAgICAgICAoQmFzZU11bHRpcGxlRmllbGRzRGF0
ZUFuZFRpbWVJbnB1dFR5cGUpOiBEZWNsYXJlIGlzVmFsaWRGb3JtYXQuCisgICAgICAgICogaHRt
bC9EYXRlSW5wdXRUeXBlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRhdGVJbnB1dFR5cGU6Omlz
VmFsaWRGb3JtYXQpOiBBZGRlZC4KKyAgICAgICAgKiBodG1sL0RhdGVJbnB1dFR5cGUuaDoKKyAg
ICAgICAgKERhdGVJbnB1dFR5cGUpOgorICAgICAgICAqIGh0bWwvRGF0ZVRpbWVJbnB1dFR5cGUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6RGF0ZVRpbWVJbnB1dFR5cGU6OmlzVmFsaWRGb3JtYXQp
OiBBZGRlZC4KKyAgICAgICAgKiBodG1sL0RhdGVUaW1lSW5wdXRUeXBlLmg6CisgICAgICAgIChE
YXRlVGltZUlucHV0VHlwZSk6CisgICAgICAgICogaHRtbC9EYXRlVGltZUxvY2FsSW5wdXRUeXBl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRhdGVUaW1lTG9jYWxJbnB1dFR5cGU6OmlzVmFsaWRG
b3JtYXQpOiBBZGRlZC4KKyAgICAgICAgKiBodG1sL0RhdGVUaW1lTG9jYWxJbnB1dFR5cGUuaDoK
KyAgICAgICAgKERhdGVUaW1lTG9jYWxJbnB1dFR5cGUpOgorICAgICAgICAqIGh0bWwvTW9udGhJ
bnB1dFR5cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TW9udGhJbnB1dFR5cGU6OmlzVmFsaWRG
b3JtYXQpOiBBZGRlZC4KKyAgICAgICAgKiBodG1sL01vbnRoSW5wdXRUeXBlLmg6CisgICAgICAg
IChNb250aElucHV0VHlwZSk6CisgICAgICAgICogaHRtbC9UaW1lSW5wdXRUeXBlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlRpbWVJbnB1dFR5cGU6OmlzVmFsaWRGb3JtYXQpOiBBZGRlZC4KKyAg
ICAgICAgKiBodG1sL1RpbWVJbnB1dFR5cGUuaDoKKyAgICAgICAgKFRpbWVJbnB1dFR5cGUpOgor
ICAgICAgICAqIGh0bWwvV2Vla0lucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWVr
SW5wdXRUeXBlOjppc1ZhbGlkRm9ybWF0KTogQWRkZWQuCisgICAgICAgICogaHRtbC9XZWVrSW5w
dXRUeXBlLmg6CisgICAgICAgIChXZWVrSW5wdXRUeXBlKToKKwogMjAxMy0wMy0yMSAgQW50b24g
TXVoaW4gIDxhbnRvbm1AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxp
bmcgb3V0IHIxNDY0ODMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VNdWx0
aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
QmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUuY3BwCmluZGV4IGYzMWFmMmQ1
ZTY2ODk5Y2U5OTg1OTU2M2E3NGE3ZDU0ZWUzNzI5MDMuLmFmNzlmOGE0YjMyMjAxYzdkNTcwMzUz
MDAxNjU2YzRkNmNkYWUyNjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvQmFzZU11
bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUuY3BwCkBAIC0zNSw2
ICszNSw3IEBACiAjaW5jbHVkZSAiQ1NTVmFsdWVLZXl3b3Jkcy5oIgogI2luY2x1ZGUgIkRhdGVD
b21wb25lbnRzLmgiCiAjaW5jbHVkZSAiRGF0ZVRpbWVGaWVsZHNTdGF0ZS5oIgorI2luY2x1ZGUg
IkRhdGVUaW1lRm9ybWF0LmgiCiAjaW5jbHVkZSAiRWxlbWVudFNoYWRvdy5oIgogI2luY2x1ZGUg
IkZvY3VzQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIkZvcm1Db250cm9sbGVyLmgiCkBAIC01Myw2
ICs1NCw3OSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIEZvcm1hdFZhbGlkYXRv
ciA6IHB1YmxpYyBEYXRlVGltZUZvcm1hdDo6VG9rZW5IYW5kbGVyIHsKK3B1YmxpYzoKKyAgICBG
b3JtYXRWYWxpZGF0b3IoKQorICAgICAgICA6IG1faGFzWWVhcihmYWxzZSkKKyAgICAgICAgLCBt
X2hhc01vbnRoKGZhbHNlKQorICAgICAgICAsIG1faGFzV2VlayhmYWxzZSkKKyAgICAgICAgLCBt
X2hhc0RheShmYWxzZSkKKyAgICAgICAgLCBtX2hhc0FNUE0oZmFsc2UpCisgICAgICAgICwgbV9o
YXNIb3VyKGZhbHNlKQorICAgICAgICAsIG1faGFzTWludXRlKGZhbHNlKQorICAgICAgICAsIG1f
aGFzU2Vjb25kKGZhbHNlKSB7IH0KKworICAgIHZpcnR1YWwgdm9pZCB2aXNpdEZpZWxkKERhdGVU
aW1lRm9ybWF0OjpGaWVsZFR5cGUsIGludCkgT1ZFUlJJREUgRklOQUw7CisgICAgdmlydHVhbCB2
b2lkIHZpc2l0TGl0ZXJhbChjb25zdCBTdHJpbmcmKSBPVkVSUklERSBGSU5BTCB7IH0KKworICAg
IGJvb2wgdmFsaWRhdGVGb3JtYXQoY29uc3QgU3RyaW5nJiBmb3JtYXQsIGNvbnN0IEJhc2VNdWx0
aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlKik7Citwcml2YXRlOgorICAgIGJvb2wgbV9o
YXNZZWFyOworICAgIGJvb2wgbV9oYXNNb250aDsKKyAgICBib29sIG1faGFzV2VlazsKKyAgICBi
b29sIG1faGFzRGF5OworICAgIGJvb2wgbV9oYXNBTVBNOworICAgIGJvb2wgbV9oYXNIb3VyOwor
ICAgIGJvb2wgbV9oYXNNaW51dGU7CisgICAgYm9vbCBtX2hhc1NlY29uZDsKK307CisKK3ZvaWQg
Rm9ybWF0VmFsaWRhdG9yOjp2aXNpdEZpZWxkKERhdGVUaW1lRm9ybWF0OjpGaWVsZFR5cGUgZmll
bGRUeXBlLCBpbnQpCit7CisgICAgc3dpdGNoIChmaWVsZFR5cGUpIHsKKyAgICBjYXNlIERhdGVU
aW1lRm9ybWF0OjpGaWVsZFR5cGVZZWFyOgorICAgICAgICBtX2hhc1llYXIgPSB0cnVlOworICAg
ICAgICBicmVhazsKKyAgICBjYXNlIERhdGVUaW1lRm9ybWF0OjpGaWVsZFR5cGVNb250aDogLy8g
RmFsbHRocm91Z2guCisgICAgY2FzZSBEYXRlVGltZUZvcm1hdDo6RmllbGRUeXBlTW9udGhTdGFu
ZEFsb25lOgorICAgICAgICBtX2hhc01vbnRoID0gdHJ1ZTsKKyAgICAgICAgYnJlYWs7CisgICAg
Y2FzZSBEYXRlVGltZUZvcm1hdDo6RmllbGRUeXBlV2Vla09mWWVhcjoKKyAgICAgICAgbV9oYXNX
ZWVrID0gdHJ1ZTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBEYXRlVGltZUZvcm1hdDo6Rmll
bGRUeXBlRGF5T2ZNb250aDoKKyAgICAgICAgbV9oYXNEYXkgPSB0cnVlOworICAgICAgICBicmVh
azsKKyAgICBjYXNlIERhdGVUaW1lRm9ybWF0OjpGaWVsZFR5cGVQZXJpb2Q6CisgICAgICAgIG1f
aGFzQU1QTSA9IHRydWU7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgRGF0ZVRpbWVGb3JtYXQ6
OkZpZWxkVHlwZUhvdXIxMTogLy8gRmFsbHRocm91Z2guCisgICAgY2FzZSBEYXRlVGltZUZvcm1h
dDo6RmllbGRUeXBlSG91cjEyOgorICAgICAgICBtX2hhc0hvdXIgPSB0cnVlOworICAgICAgICBi
cmVhazsKKyAgICBjYXNlIERhdGVUaW1lRm9ybWF0OjpGaWVsZFR5cGVIb3VyMjM6IC8vIEZhbGx0
aHJvdWdoLgorICAgIGNhc2UgRGF0ZVRpbWVGb3JtYXQ6OkZpZWxkVHlwZUhvdXIyNDoKKyAgICAg
ICAgbV9oYXNIb3VyID0gdHJ1ZTsKKyAgICAgICAgbV9oYXNBTVBNID0gdHJ1ZTsKKyAgICAgICAg
YnJlYWs7CisgICAgY2FzZSBEYXRlVGltZUZvcm1hdDo6RmllbGRUeXBlTWludXRlOgorICAgICAg
ICBtX2hhc01pbnV0ZSA9IHRydWU7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgRGF0ZVRpbWVG
b3JtYXQ6OkZpZWxkVHlwZVNlY29uZDoKKyAgICAgICAgbV9oYXNTZWNvbmQgPSB0cnVlOworICAg
ICAgICBicmVhazsKKyAgICBkZWZhdWx0OgorICAgICAgICBicmVhazsKKyAgICB9Cit9CisKK2Jv
b2wgRm9ybWF0VmFsaWRhdG9yOjp2YWxpZGF0ZUZvcm1hdChjb25zdCBTdHJpbmcmIGZvcm1hdCwg
Y29uc3QgQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUqIGlucHV0VHlwZSkK
K3sKKyAgICBpZiAoIURhdGVUaW1lRm9ybWF0OjpwYXJzZShmb3JtYXQsICp0aGlzKSkKKyAgICAg
ICAgcmV0dXJuIGZhbHNlOworICAgIHJldHVybiBpbnB1dFR5cGUtPmlzVmFsaWRGb3JtYXQobV9o
YXNZZWFyLCBtX2hhc01vbnRoLCBtX2hhc1dlZWssIG1faGFzRGF5LCBtX2hhc0FNUE0sIG1faGFz
SG91ciwgbV9oYXNNaW51dGUsIG1faGFzU2Vjb25kKTsKK30KKwogdm9pZCBCYXNlTXVsdGlwbGVG
aWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZTo6ZGlkQmx1ckZyb21Db250cm9sKCkKIHsKICAgICAv
LyBXZSBkb24ndCBuZWVkIHRvIGNhbGwgYmx1cigpLiBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCB3
aGVuIGNvbnRyb2wKQEAgLTQxMCw2ICs0ODQsOSBAQCB2b2lkIEJhc2VNdWx0aXBsZUZpZWxkc0Rh
dGVBbmRUaW1lSW5wdXRUeXBlOjp1cGRhdGVJbm5lclRleHRWYWx1ZSgpCiAgICAgaWYgKCFwYXR0
ZXJuLmlzRW1wdHkoKSkKICAgICAgICAgbGF5b3V0UGFyYW1ldGVycy5kYXRlVGltZUZvcm1hdCA9
IHBhdHRlcm47CiAKKyAgICBpZiAoIUZvcm1hdFZhbGlkYXRvcigpLnZhbGlkYXRlRm9ybWF0KGxh
eW91dFBhcmFtZXRlcnMuZGF0ZVRpbWVGb3JtYXQsIHRoaXMpKQorICAgICAgICBsYXlvdXRQYXJh
bWV0ZXJzLmRhdGVUaW1lRm9ybWF0ID0gbGF5b3V0UGFyYW1ldGVycy5mYWxsYmFja0RhdGVUaW1l
Rm9ybWF0OworCiAgICAgaWYgKGhhc1ZhbHVlKQogICAgICAgICBtX2RhdGVUaW1lRWRpdEVsZW1l
bnQtPnNldFZhbHVlQXNEYXRlKGxheW91dFBhcmFtZXRlcnMsIGRhdGUpOwogICAgIGVsc2UKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRp
bWVJbnB1dFR5cGUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvQmFzZU11bHRpcGxlRmllbGRzRGF0
ZUFuZFRpbWVJbnB1dFR5cGUuaAppbmRleCA4NDQ4M2FkODQ1ZDBlNjc1OTIwYzVkNWE4OWYyN2Yz
ZGI2MzRiZTE4Li5mNWI0OGY0N2QyMWNiMzlhMzE5ZjNiMzllZTNlZjc3N2QzOTM0ZmZmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1l
SW5wdXRUeXBlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9CYXNlTXVsdGlwbGVGaWVsZHNE
YXRlQW5kVGltZUlucHV0VHlwZS5oCkBAIC00OSw2ICs0OSw4IEBAIGNsYXNzIEJhc2VNdWx0aXBs
ZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlCiAgICAgLCBwcm90ZWN0ZWQgUGlja2VySW5kaWNh
dG9yRWxlbWVudDo6UGlja2VySW5kaWNhdG9yT3duZXIKICAgICAsIHByb3RlY3RlZCBTcGluQnV0
dG9uRWxlbWVudDo6U3BpbkJ1dHRvbk93bmVyCiAgICAgLCBwcm90ZWN0ZWQgQ2xlYXJCdXR0b25F
bGVtZW50OjpDbGVhckJ1dHRvbk93bmVyIHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIGJvb2wgaXNW
YWxpZEZvcm1hdChib29sIGhhc1llYXIsIGJvb2wgaGFzTW9udGgsIGJvb2wgaGFzV2VlaywgYm9v
bCBoYXNEYXksIGJvb2wgaGFzQU1QTSwgYm9vbCBoYXNIb3VyLCBib29sIGhhc01pbnV0ZSwgYm9v
bCBoYXNTZWNvbmQpIGNvbnN0ID0gMDsKIHByb3RlY3RlZDoKICAgICBCYXNlTXVsdGlwbGVGaWVs
ZHNEYXRlQW5kVGltZUlucHV0VHlwZShIVE1MSW5wdXRFbGVtZW50Kik7CiAgICAgdmlydHVhbCB+
QmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvRGF0ZUlucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0RhdGVJbnB1dFR5cGUuY3BwCmluZGV4IDhkN2E5MjhhNjY5ZDVmYzFmODczOTc5NDgzZDc4N2Nk
NDAwMTFhOWIuLjk4MTA2MjRiMTRmZDExOGU3YjE4YTExZGQ5MmNiYTY1MjRhODRjOTUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0ZUlucHV0VHlwZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9EYXRlSW5wdXRUeXBlLmNwcApAQCAtMTI2LDYgKzEyNiwxMSBAQCB2b2lk
IERhdGVJbnB1dFR5cGU6OnNldHVwTGF5b3V0UGFyYW1ldGVycyhEYXRlVGltZUVkaXRFbGVtZW50
OjpMYXlvdXRQYXJhbWV0ZXJzJgogICAgIGxheW91dFBhcmFtZXRlcnMucGxhY2Vob2xkZXJGb3JN
b250aCA9IHBsYWNlaG9sZGVyRm9yTW9udGhGaWVsZCgpOwogICAgIGxheW91dFBhcmFtZXRlcnMu
cGxhY2Vob2xkZXJGb3JZZWFyID0gcGxhY2Vob2xkZXJGb3JZZWFyRmllbGQoKTsKIH0KKworYm9v
bCBEYXRlSW5wdXRUeXBlOjppc1ZhbGlkRm9ybWF0KGJvb2wgaGFzWWVhciwgYm9vbCBoYXNNb250
aCwgYm9vbCBoYXNXZWVrLCBib29sIGhhc0RheSwgYm9vbCBoYXNBTVBNLCBib29sIGhhc0hvdXIs
IGJvb2wgaGFzTWludXRlLCBib29sIGhhc1NlY29uZCkgY29uc3QKK3sKKyAgICByZXR1cm4gaGFz
WWVhciAmJiBoYXNNb250aCAmJiBoYXNEYXk7Cit9CiAjZW5kaWYKIAogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9EYXRlSW5wdXRUeXBlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0RhdGVJbnB1dFR5cGUuaAppbmRleCBmZDc1ZjkxNWZkMjU3
ZTA1NmE4ZjhiMGVkYWJhMDg3OTQ5Y2ExOTM0Li5jZjgzNzIxMDVmOWM2MDgzM2E1ZDlhM2M1MDg2
ZWE5YTQ1NDg3NTJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0RhdGVJbnB1dFR5
cGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0RhdGVJbnB1dFR5cGUuaApAQCAtNjQsNiAr
NjQsNyBAQCBwcml2YXRlOgogICAgIC8vIEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5w
dXRUeXBlIGZ1bmN0aW9ucwogICAgIHZpcnR1YWwgU3RyaW5nIGZvcm1hdERhdGVUaW1lRmllbGRz
U3RhdGUoY29uc3QgRGF0ZVRpbWVGaWVsZHNTdGF0ZSYpIGNvbnN0IE9WRVJSSURFOwogICAgIHZp
cnR1YWwgdm9pZCBzZXR1cExheW91dFBhcmFtZXRlcnMoRGF0ZVRpbWVFZGl0RWxlbWVudDo6TGF5
b3V0UGFyYW1ldGVycyYsIGNvbnN0IERhdGVDb21wb25lbnRzJikgY29uc3QgT1ZFUlJJREU7Cisg
ICAgdmlydHVhbCBib29sIGlzVmFsaWRGb3JtYXQoYm9vbCBoYXNZZWFyLCBib29sIGhhc01vbnRo
LCBib29sIGhhc1dlZWssIGJvb2wgaGFzRGF5LCBib29sIGhhc0FNUE0sIGJvb2wgaGFzSG91ciwg
Ym9vbCBoYXNNaW51dGUsIGJvb2wgaGFzU2Vjb25kKSBjb25zdDsKICNlbmRpZgogfTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9EYXRlVGltZUlucHV0VHlwZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0RhdGVUaW1lSW5wdXRUeXBlLmNwcAppbmRleCBiMDhkOWQ2MWY5Mjc4
M2FjMWQ2OTdjMDEzYmUxNDUyOWE4ZDg1YjdkLi4xMzllOWZhMDNmYzhjZTJhOWFiODQ5OGM3Mjc2
NDAwZjdmNDUyMDhkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0RhdGVUaW1lSW5w
dXRUeXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0RhdGVUaW1lSW5wdXRUeXBlLmNw
cApAQCAtMTY0LDYgKzE2NCwxMSBAQCB2b2lkIERhdGVUaW1lSW5wdXRUeXBlOjpzZXR1cExheW91
dFBhcmFtZXRlcnMoRGF0ZVRpbWVFZGl0RWxlbWVudDo6TGF5b3V0UGFyYW1ldAogICAgIGxheW91
dFBhcmFtZXRlcnMucGxhY2Vob2xkZXJGb3JNb250aCA9IHBsYWNlaG9sZGVyRm9yTW9udGhGaWVs
ZCgpOwogICAgIGxheW91dFBhcmFtZXRlcnMucGxhY2Vob2xkZXJGb3JZZWFyID0gcGxhY2Vob2xk
ZXJGb3JZZWFyRmllbGQoKTsKIH0KKworYm9vbCBEYXRlVGltZUlucHV0VHlwZTo6aXNWYWxpZEZv
cm1hdChib29sIGhhc1llYXIsIGJvb2wgaGFzTW9udGgsIGJvb2wgaGFzV2VlaywgYm9vbCBoYXNE
YXksIGJvb2wgaGFzQU1QTSwgYm9vbCBoYXNIb3VyLCBib29sIGhhc01pbnV0ZSwgYm9vbCBoYXNT
ZWNvbmQpIGNvbnN0Cit7CisgICAgcmV0dXJuIGhhc1llYXIgJiYgaGFzTW9udGggJiYgaGFzRGF5
ICYmIGhhc0FNUE0gJiYgaGFzSG91ciAmJiBoYXNNaW51dGU7Cit9CiAjZW5kaWYKIAogU3RyaW5n
IERhdGVUaW1lSW5wdXRUeXBlOjpzYW5pdGl6ZVZhbHVlKGNvbnN0IFN0cmluZyYgcHJvcG9zZWRW
YWx1ZSkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0ZVRpbWVJbnB1
dFR5cGUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0ZVRpbWVJbnB1dFR5cGUuaAppbmRleCA5
ZDcyYmM4NWZhZDhiMmU3MjUyMWZmMzA0YjllNDE3ZDZhNDU3MmNjLi43MjlkNjBjYTM2NDljNTQw
ZDY1OGJjOGIxNzk0MmFhNjMwZThiODg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0RhdGVUaW1lSW5wdXRUeXBlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9EYXRlVGltZUlu
cHV0VHlwZS5oCkBAIC02NCw2ICs2NCw3IEBAIHByaXZhdGU6CiAgICAgLy8gQmFzZU11bHRpcGxl
RmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUgZnVuY3Rpb25zCiAgICAgdmlydHVhbCBTdHJpbmcg
Zm9ybWF0RGF0ZVRpbWVGaWVsZHNTdGF0ZShjb25zdCBEYXRlVGltZUZpZWxkc1N0YXRlJikgY29u
c3QgT1ZFUlJJREUgRklOQUw7CiAgICAgdmlydHVhbCB2b2lkIHNldHVwTGF5b3V0UGFyYW1ldGVy
cyhEYXRlVGltZUVkaXRFbGVtZW50OjpMYXlvdXRQYXJhbWV0ZXJzJiwgY29uc3QgRGF0ZUNvbXBv
bmVudHMmKSBjb25zdCBPVkVSUklERSBGSU5BTDsKKyAgICB2aXJ0dWFsIGJvb2wgaXNWYWxpZEZv
cm1hdChib29sIGhhc1llYXIsIGJvb2wgaGFzTW9udGgsIGJvb2wgaGFzV2VlaywgYm9vbCBoYXNE
YXksIGJvb2wgaGFzQU1QTSwgYm9vbCBoYXNIb3VyLCBib29sIGhhc01pbnV0ZSwgYm9vbCBoYXNT
ZWNvbmQpIGNvbnN0OwogI2VuZGlmCiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0RhdGVUaW1lTG9jYWxJbnB1dFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9EYXRl
VGltZUxvY2FsSW5wdXRUeXBlLmNwcAppbmRleCAyMWM1ZjQyNGRjOWY5ZTM1MjczZjZjZDQ3Yjgw
N2QwZjRlN2E5NWE4Li42ODdiZmZhZTEzOWQxYTgwNDAxYWM0YjlkNjA2YTQ2OTVmMGY1NDRlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0RhdGVUaW1lTG9jYWxJbnB1dFR5cGUuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0ZVRpbWVMb2NhbElucHV0VHlwZS5jcHAKQEAg
LTE3MCw2ICsxNzAsMTEgQEAgdm9pZCBEYXRlVGltZUxvY2FsSW5wdXRUeXBlOjpzZXR1cExheW91
dFBhcmFtZXRlcnMoRGF0ZVRpbWVFZGl0RWxlbWVudDo6TGF5b3V0UGEKICAgICBsYXlvdXRQYXJh
bWV0ZXJzLnBsYWNlaG9sZGVyRm9yTW9udGggPSBwbGFjZWhvbGRlckZvck1vbnRoRmllbGQoKTsK
ICAgICBsYXlvdXRQYXJhbWV0ZXJzLnBsYWNlaG9sZGVyRm9yWWVhciA9IHBsYWNlaG9sZGVyRm9y
WWVhckZpZWxkKCk7CiB9CisKK2Jvb2wgRGF0ZVRpbWVMb2NhbElucHV0VHlwZTo6aXNWYWxpZEZv
cm1hdChib29sIGhhc1llYXIsIGJvb2wgaGFzTW9udGgsIGJvb2wgaGFzV2VlaywgYm9vbCBoYXNE
YXksIGJvb2wgaGFzQU1QTSwgYm9vbCBoYXNIb3VyLCBib29sIGhhc01pbnV0ZSwgYm9vbCBoYXNT
ZWNvbmQpIGNvbnN0Cit7CisgICAgcmV0dXJuIGhhc1llYXIgJiYgaGFzTW9udGggJiYgaGFzRGF5
ICYmIGhhc0FNUE0gJiYgaGFzSG91ciAmJiBoYXNNaW51dGU7Cit9CiAjZW5kaWYKIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9EYXRlVGlt
ZUxvY2FsSW5wdXRUeXBlLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0RhdGVUaW1lTG9jYWxJbnB1
dFR5cGUuaAppbmRleCAzMWVlYTRkNWExODQzZTc2M2JjNjhiNzFmZDgzZjBkOWY4ZTU4YTc2Li5i
MTZhYmU4NDI3Mzg0ZDUwMGU5MDYyZWQzZGUxOTMzMWNiNGVmMmFiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0RhdGVUaW1lTG9jYWxJbnB1dFR5cGUuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0RhdGVUaW1lTG9jYWxJbnB1dFR5cGUuaApAQCAtNjMsNiArNjMsNyBAQCBwcml2
YXRlOgogICAgIC8vIEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlIGZ1bmN0
aW9ucwogICAgIHZpcnR1YWwgU3RyaW5nIGZvcm1hdERhdGVUaW1lRmllbGRzU3RhdGUoY29uc3Qg
RGF0ZVRpbWVGaWVsZHNTdGF0ZSYpIGNvbnN0IE9WRVJSSURFIEZJTkFMOwogICAgIHZpcnR1YWwg
dm9pZCBzZXR1cExheW91dFBhcmFtZXRlcnMoRGF0ZVRpbWVFZGl0RWxlbWVudDo6TGF5b3V0UGFy
YW1ldGVycyYsIGNvbnN0IERhdGVDb21wb25lbnRzJikgY29uc3QgT1ZFUlJJREUgRklOQUw7Cisg
ICAgdmlydHVhbCBib29sIGlzVmFsaWRGb3JtYXQoYm9vbCBoYXNZZWFyLCBib29sIGhhc01vbnRo
LCBib29sIGhhc1dlZWssIGJvb2wgaGFzRGF5LCBib29sIGhhc0FNUE0sIGJvb2wgaGFzSG91ciwg
Ym9vbCBoYXNNaW51dGUsIGJvb2wgaGFzU2Vjb25kKSBjb25zdDsKICNlbmRpZgogfTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9Nb250aElucHV0VHlwZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL01vbnRoSW5wdXRUeXBlLmNwcAppbmRleCAwM2ZlMTY3ZDdkNjkwNzY0NzEy
NDBjODI4YzI5ODk2NGRkY2E4NDU5Li40NTQ5NGUyZGY0MGFiMjliODllODdiZmViZmNmZjQ2YmI3
ZmQwNDM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01vbnRoSW5wdXRUeXBlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01vbnRoSW5wdXRUeXBlLmNwcApAQCAtMTY4LDYg
KzE2OCwxMSBAQCB2b2lkIE1vbnRoSW5wdXRUeXBlOjpzZXR1cExheW91dFBhcmFtZXRlcnMoRGF0
ZVRpbWVFZGl0RWxlbWVudDo6TGF5b3V0UGFyYW1ldGVycwogICAgIGxheW91dFBhcmFtZXRlcnMu
cGxhY2Vob2xkZXJGb3JZZWFyID0gIi0tLS0iOwogfQogI2VuZGlmCisKK2Jvb2wgTW9udGhJbnB1
dFR5cGU6OmlzVmFsaWRGb3JtYXQoYm9vbCBoYXNZZWFyLCBib29sIGhhc01vbnRoLCBib29sIGhh
c1dlZWssIGJvb2wgaGFzRGF5LCBib29sIGhhc0FNUE0sIGJvb2wgaGFzSG91ciwgYm9vbCBoYXNN
aW51dGUsIGJvb2wgaGFzU2Vjb25kKSBjb25zdAoreworICAgIHJldHVybiBoYXNZZWFyICYmIGhh
c01vbnRoOworfQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvTW9udGhJbnB1dFR5cGUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvTW9udGhJbnB1dFR5cGUuaAppbmRleCA3ZWQzMThiODRlYzUyNDU0M2E1MWFiZjJhNjlmNDUx
MmZlMWY5NWFmLi44ZmFlNWJiZTdiMDViN2VhNWRmY2I4YTQzNzQ1OTIyZDk2OWFhMGMwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01vbnRoSW5wdXRUeXBlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9Nb250aElucHV0VHlwZS5oCkBAIC02NSw2ICs2NSw3IEBAIHByaXZhdGU6
CiAgICAgLy8gQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUgZnVuY3Rpb25z
CiAgICAgdmlydHVhbCBTdHJpbmcgZm9ybWF0RGF0ZVRpbWVGaWVsZHNTdGF0ZShjb25zdCBEYXRl
VGltZUZpZWxkc1N0YXRlJikgY29uc3QgT1ZFUlJJREUgRklOQUw7CiAgICAgdmlydHVhbCB2b2lk
IHNldHVwTGF5b3V0UGFyYW1ldGVycyhEYXRlVGltZUVkaXRFbGVtZW50OjpMYXlvdXRQYXJhbWV0
ZXJzJiwgY29uc3QgRGF0ZUNvbXBvbmVudHMmKSBjb25zdCBPVkVSUklERSBGSU5BTDsKKyAgICB2
aXJ0dWFsIGJvb2wgaXNWYWxpZEZvcm1hdChib29sIGhhc1llYXIsIGJvb2wgaGFzTW9udGgsIGJv
b2wgaGFzV2VlaywgYm9vbCBoYXNEYXksIGJvb2wgaGFzQU1QTSwgYm9vbCBoYXNIb3VyLCBib29s
IGhhc01pbnV0ZSwgYm9vbCBoYXNTZWNvbmQpIGNvbnN0OwogI2VuZGlmCiB9OwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1RpbWVJbnB1dFR5cGUuY3BwIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9UaW1lSW5wdXRUeXBlLmNwcAppbmRleCBkNWI0YTdhNjFmYWM0YjIyZTM5NTlkZWFj
ZmJiOTI4YjcwYzA0YzQyLi4yYjZiYmMwN2NkY2Y3ZGVkMjk1ZWE1NzU0MjI3ZTdhN2YyYzE5NTIx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1RpbWVJbnB1dFR5cGUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvVGltZUlucHV0VHlwZS5jcHAKQEAgLTE3MCw2ICsxNzAsMTEg
QEAgdm9pZCBUaW1lSW5wdXRUeXBlOjpzZXR1cExheW91dFBhcmFtZXRlcnMoRGF0ZVRpbWVFZGl0
RWxlbWVudDo6TGF5b3V0UGFyYW1ldGVycyYKICAgICBpZiAoIXBhcnNlVG9EYXRlQ29tcG9uZW50
cyhlbGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUobWF4QXR0ciksICZsYXlvdXRQYXJhbWV0ZXJz
Lm1heGltdW0pKQogICAgICAgICBsYXlvdXRQYXJhbWV0ZXJzLm1heGltdW0gPSBEYXRlQ29tcG9u
ZW50cygpOwogfQorCitib29sIFRpbWVJbnB1dFR5cGU6OmlzVmFsaWRGb3JtYXQoYm9vbCBoYXNZ
ZWFyLCBib29sIGhhc01vbnRoLCBib29sIGhhc1dlZWssIGJvb2wgaGFzRGF5LCBib29sIGhhc0FN
UE0sIGJvb2wgaGFzSG91ciwgYm9vbCBoYXNNaW51dGUsIGJvb2wgaGFzU2Vjb25kKSBjb25zdAor
eworICAgIHJldHVybiBoYXNIb3VyICYmIGhhc01pbnV0ZSAmJiBoYXNBTVBNOworfQogI2VuZGlm
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvVGltZUlucHV0VHlwZS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9UaW1lSW5wdXRUeXBlLmgK
aW5kZXggMzJlYWI1ZTFjYjE1MWM4YWFmNjZhYTA5NTM3NGEzZjJkYzg1MTNjZC4uMTZmNTE5ZTdk
MzkzYzcyOTk1OGNjODQxNTcwNTJiZDVkYzkzZjIxYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9UaW1lSW5wdXRUeXBlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9UaW1lSW5w
dXRUeXBlLmgKQEAgLTYzLDYgKzYzLDcgQEAgcHJpdmF0ZToKICAgICAvLyBCYXNlTXVsdGlwbGVG
aWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZSBmdW5jdGlvbnMKICAgICB2aXJ0dWFsIFN0cmluZyBm
b3JtYXREYXRlVGltZUZpZWxkc1N0YXRlKGNvbnN0IERhdGVUaW1lRmllbGRzU3RhdGUmKSBjb25z
dCBPVkVSUklERSBGSU5BTDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0dXBMYXlvdXRQYXJhbWV0ZXJz
KERhdGVUaW1lRWRpdEVsZW1lbnQ6OkxheW91dFBhcmFtZXRlcnMmLCBjb25zdCBEYXRlQ29tcG9u
ZW50cyYpIGNvbnN0IE9WRVJSSURFIEZJTkFMOworICAgIHZpcnR1YWwgYm9vbCBpc1ZhbGlkRm9y
bWF0KGJvb2wgaGFzWWVhciwgYm9vbCBoYXNNb250aCwgYm9vbCBoYXNXZWVrLCBib29sIGhhc0Rh
eSwgYm9vbCBoYXNBTVBNLCBib29sIGhhc0hvdXIsIGJvb2wgaGFzTWludXRlLCBib29sIGhhc1Nl
Y29uZCkgY29uc3Q7CiAjZW5kaWYKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvV2Vla0lucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1dlZWtJbnB1dFR5cGUu
Y3BwCmluZGV4IDA2MGIxODEwZmM3YzE0ZjVhYjMyNWViMmUxMWM5NzM5OWQyYTY0MWMuLmFkOGI4
ZDUzZmI4ZmZlYjAwOGE5ZWZjMDM0MDA4MmU4NzdjMDc5ZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvV2Vla0lucHV0VHlwZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9X
ZWVrSW5wdXRUeXBlLmNwcApAQCAtMTIwLDYgKzEyMCwxMSBAQCB2b2lkIFdlZWtJbnB1dFR5cGU6
OnNldHVwTGF5b3V0UGFyYW1ldGVycyhEYXRlVGltZUVkaXRFbGVtZW50OjpMYXlvdXRQYXJhbWV0
ZXJzJgogICAgICAgICBsYXlvdXRQYXJhbWV0ZXJzLm1heGltdW0gPSBEYXRlQ29tcG9uZW50cygp
OwogICAgIGxheW91dFBhcmFtZXRlcnMucGxhY2Vob2xkZXJGb3JZZWFyID0gIi0tLS0iOwogfQor
Citib29sIFdlZWtJbnB1dFR5cGU6OmlzVmFsaWRGb3JtYXQoYm9vbCBoYXNZZWFyLCBib29sIGhh
c01vbnRoLCBib29sIGhhc1dlZWssIGJvb2wgaGFzRGF5LCBib29sIGhhc0FNUE0sIGJvb2wgaGFz
SG91ciwgYm9vbCBoYXNNaW51dGUsIGJvb2wgaGFzU2Vjb25kKSBjb25zdAoreworICAgIHJldHVy
biBoYXNZZWFyICYmIGhhc1dlZWs7Cit9CiAjZW5kaWYKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9XZWVrSW5wdXRUeXBlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL1dlZWtJbnB1dFR5cGUuaAppbmRleCAzODViZDZkOGQ3ZTk5ZTY3MzYz
OTcxMWZlZGE1MWViYmUxODFjYWVjLi44OWU3NDNkMjhmNjk3NzM4ZjgzMTFkMzc2NGJkMTRiOWU4
NTAzMTkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1dlZWtJbnB1dFR5cGUuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1dlZWtJbnB1dFR5cGUuaApAQCAtNjEsNiArNjEsNyBA
QCBwcml2YXRlOgogICAgIC8vIEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBl
IGZ1bmN0aW9ucwogICAgIHZpcnR1YWwgU3RyaW5nIGZvcm1hdERhdGVUaW1lRmllbGRzU3RhdGUo
Y29uc3QgRGF0ZVRpbWVGaWVsZHNTdGF0ZSYpIGNvbnN0IE9WRVJSSURFIEZJTkFMOwogICAgIHZp
cnR1YWwgdm9pZCBzZXR1cExheW91dFBhcmFtZXRlcnMoRGF0ZVRpbWVFZGl0RWxlbWVudDo6TGF5
b3V0UGFyYW1ldGVycyYsIGNvbnN0IERhdGVDb21wb25lbnRzJikgY29uc3QgT1ZFUlJJREUgRklO
QUw7CisgICAgdmlydHVhbCBib29sIGlzVmFsaWRGb3JtYXQoYm9vbCBoYXNZZWFyLCBib29sIGhh
c01vbnRoLCBib29sIGhhc1dlZWssIGJvb2wgaGFzRGF5LCBib29sIGhhc0FNUE0sIGJvb2wgaGFz
SG91ciwgYm9vbCBoYXNNaW51dGUsIGJvb2wgaGFzU2Vjb25kKSBjb25zdDsKICNlbmRpZgogfTsK
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCmluZGV4IDM1OTliZDg4ODBlYjJmZTk5MzIxNjYyOGFkM2NlMDc2OThlYWVkOTcuLmNiNzQ2
MTc3NzZjZmJiNTljMDA4MTJhNjUxMzNjZmFlMDJhOThkZjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBA
QAorMjAxMy0wMy0yMSAgS3VuaWhpa28gU2FrYW1vdG8gIDxrc2FrYW1vdG9AY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIElOUFVUX01VTFRJUExFX0ZJRUxEU19VSTogSW5jb21wbGV0ZSBkYXRldGlt
ZSBmb3JtYXQgc2hvdWxkIGZhbGxiYWNrIHRvIGRlZmF1bHQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMzAwNQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZp
ZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1mYWxsYmFjay1mb3JtYXQtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVs
dGlwbGUtZmllbGRzLWZhbGxiYWNrLWZvcm1hdC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0
L2Zvcm1zL2RhdGV0aW1lLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZS1tdWx0aXBsZS1maWVsZHMt
ZmFsbGJhY2stZm9ybWF0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jt
cy9kYXRldGltZS1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWUtbXVsdGlwbGUtZmllbGRzLWZhbGxi
YWNrLWZvcm1hdC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2RhdGV0aW1lbG9j
YWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLWZhbGxiYWNr
LWZvcm1hdC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvZGF0ZXRp
bWVsb2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtZmFs
bGJhY2stZm9ybWF0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvbW9udGgtbXVs
dGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy1mYWxsYmFjay1mb3JtYXQtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxk
cy9tb250aC1tdWx0aXBsZS1maWVsZHMtZmFsbGJhY2stZm9ybWF0Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGZhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVs
ZHMtZmFsbGJhY2stZm9ybWF0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9m
b3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1mYWxsYmFjay1m
b3JtYXQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZp
ZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy1mYWxsYmFjay1mb3JtYXQtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVs
dGlwbGUtZmllbGRzLWZhbGxiYWNrLWZvcm1hdC5odG1sOiBBZGRlZC4KKwogMjAxMy0wMy0yMSAg
Q2xhdWRpbyBTYWF2ZWRyYSAgPGNzYWF2ZWRyYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFVucmV2
aWV3ZWQgR1RLKyBnYXJkZW5pbmcuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLWZhbGxiYWNrLWZvcm1h
dC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmll
bGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLWZhbGxiYWNrLWZvcm1hdC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNTY2MzFmMTczOWQ2MTUwYTFiYmYzOTBkMzcwY2U2OWNjYmY4NzYyYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMv
ZGF0ZS1tdWx0aXBsZS1maWVsZHMtZmFsbGJhY2stZm9ybWF0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDE1IEBACitDaGVja3MgaW5jb21wbGV0ZSBkYXRldGltZSBmb3JtYXRzIGFyZSByZWplY3Rl
ZC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1ZhbGlkIGZvcm1hdAorUEFTUyBn
ZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29udGVudChpbnB1dCkgaXMgIjMxLTA3LTE5OTkiCitJbnZh
bGlkIGZvcm1hdCwgZmFsbGJhY2sgdG8geXl5eS1NTS1kZAorUEFTUyBnZXRVc2VyQWdlbnRTaGFk
b3dUZXh0Q29udGVudChpbnB1dCkgaXMgIjE5OTktMDctMzEiCitQQVNTIGdldFVzZXJBZ2VudFNo
YWRvd1RleHRDb250ZW50KGlucHV0KSBpcyAiMTk5OS0wNy0zMSIKK1BBU1MgZ2V0VXNlckFnZW50
U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpIGlzICIxOTk5LTA3LTMxIgorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMt
ZmFsbGJhY2stZm9ybWF0Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlw
bGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLWZhbGxiYWNrLWZvcm1hdC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmNkOWIyNjA0NjllMDk5NzY3NzZjZTIwNTdlOTM5ZDk3NjZkZGVmNzYKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2Rh
dGUtbXVsdGlwbGUtZmllbGRzLWZhbGxiYWNrLWZvcm1hdC5odG1sCkBAIC0wLDAgKzEsMzkgQEAK
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291
cmNlcy9jb21tb24uanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorZGVz
Y3JpcHRpb24oJ0NoZWNrcyBpbmNvbXBsZXRlIGRhdGV0aW1lIGZvcm1hdHMgYXJlIHJlamVjdGVk
LicpOworCit2YXIgaW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpOworaW5w
dXQudHlwZSA9ICdkYXRlJzsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaW5wdXQpOworCitm
dW5jdGlvbiBzZXREYXRlVGltZUZvcm1hdChwYXR0ZXJuKSB7CisgICAgdmFyIHZhbHVlID0gaW5w
dXQudmFsdWU7CisgICAgZ2V0RWxlbWVudEJ5UHNldWRvSWQoaW50ZXJuYWxzLnlvdW5nZXN0U2hh
ZG93Um9vdChpbnB1dCksICctd2Via2l0LWRhdGV0aW1lLWVkaXQnKS5zZXRBdHRyaWJ1dGUoJ3Bh
dHRlcm4nLCBwYXR0ZXJuKTsKKyAgICBpbnB1dC52YWx1ZSA9ICcnOyAvLyBVcGRhdGVzIHRoZSBl
bGVtZW50IGZvciBuZXcgZm9ybWF0CisgICAgaW5wdXQudmFsdWUgPSB2YWx1ZTsKK30KKworaW5w
dXQudmFsdWUgPSAnMTk5OS0wNy0zMSc7CisKK2RlYnVnKCdWYWxpZCBmb3JtYXQnKTsKK3NldERh
dGVUaW1lRm9ybWF0KCJkZC1NTS15eXl5Iik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2dldFVz
ZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0KScsICczMS0wNy0xOTk5Jyk7CisKK2RlYnVn
KCJJbnZhbGlkIGZvcm1hdCwgZmFsbGJhY2sgdG8geXl5eS1NTS1kZCIpOworc2V0RGF0ZVRpbWVG
b3JtYXQoJ3l5eXktTU0nKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZ2V0VXNlckFnZW50U2hh
ZG93VGV4dENvbnRlbnQoaW5wdXQpJywgJzE5OTktMDctMzEnKTsKK3NldERhdGVUaW1lRm9ybWF0
KCdNTS9kZCcpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdnZXRVc2VyQWdlbnRTaGFkb3dUZXh0
Q29udGVudChpbnB1dCknLCAnMTk5OS0wNy0zMScpOworc2V0RGF0ZVRpbWVGb3JtYXQoJ2RkLXl5
eXknKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRl
bnQoaW5wdXQpJywgJzE5OTktMDctMzEnKTsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lLW11bHRpcGxl
LWZpZWxkcy9kYXRldGltZS1tdWx0aXBsZS1maWVsZHMtZmFsbGJhY2stZm9ybWF0LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWUtbXVsdGlwbGUtZmllbGRzL2Rh
dGV0aW1lLW11bHRpcGxlLWZpZWxkcy1mYWxsYmFjay1mb3JtYXQtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmE3MmJiNzk1M2I1NGY4NzIzN2YxNzE1NTUyNjRiZTIwOTI2ZDUwNTkKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lLW11bHRpcGxlLWZpZWxk
cy9kYXRldGltZS1tdWx0aXBsZS1maWVsZHMtZmFsbGJhY2stZm9ybWF0LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDE1IEBACitDaGVja3MgaW5jb21wbGV0ZSBkYXRldGltZSBmb3JtYXRzIGFyZSBy
ZWplY3RlZC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1ZhbGlkIGZvcm1hdAor
UEFTUyBnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29udGVudChpbnB1dCkgaXMgIjE5OTktMDctMzEg
MTE6NTkgUE0iCitJbnZhbGlkIGZvcm1hdCwgZmFsbGJhY2sgdG8geXl5eS1NTS1kZCdUJ0hIOm1t
CitQQVNTIGdldFVzZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0KSBpcyAiMTk5OS0wNy0z
MVQyMzo1OSIKK1BBU1MgZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpIGlzICIx
OTk5LTA3LTMxVDIzOjU5IgorUEFTUyBnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29udGVudChpbnB1
dCkgaXMgIjE5OTktMDctMzFUMjM6NTkiCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9k
YXRldGltZS1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWUtbXVsdGlwbGUtZmllbGRzLWZhbGxiYWNr
LWZvcm1hdC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGltZS1tdWx0aXBsZS1m
aWVsZHMvZGF0ZXRpbWUtbXVsdGlwbGUtZmllbGRzLWZhbGxiYWNrLWZvcm1hdC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIwOWY2ODhhZDk2M2M4NWMwNzczZTM4NzZkZDVkZWFjYWJlZDJmYzEKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lLW11bHRpcGxlLWZpZWxk
cy9kYXRldGltZS1tdWx0aXBsZS1maWVsZHMtZmFsbGJhY2stZm9ybWF0Lmh0bWwKQEAgLTAsMCAr
MSwzOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL2NvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3Jp
cHQ+CitkZXNjcmlwdGlvbignQ2hlY2tzIGluY29tcGxldGUgZGF0ZXRpbWUgZm9ybWF0cyBhcmUg
cmVqZWN0ZWQuJyk7CisKK3ZhciBpbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0
Jyk7CitpbnB1dC50eXBlID0gJ2RhdGV0aW1lLWxvY2FsJzsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQoaW5wdXQpOworCitmdW5jdGlvbiBzZXREYXRlVGltZUZvcm1hdChwYXR0ZXJuKSB7Cisg
ICAgdmFyIHZhbHVlID0gaW5wdXQudmFsdWU7CisgICAgZ2V0RWxlbWVudEJ5UHNldWRvSWQoaW50
ZXJuYWxzLnlvdW5nZXN0U2hhZG93Um9vdChpbnB1dCksICctd2Via2l0LWRhdGV0aW1lLWVkaXQn
KS5zZXRBdHRyaWJ1dGUoJ3BhdHRlcm4nLCBwYXR0ZXJuKTsKKyAgICBpbnB1dC52YWx1ZSA9ICcn
OyAvLyBVcGRhdGVzIHRoZSBlbGVtZW50IGZvciBuZXcgZm9ybWF0CisgICAgaW5wdXQudmFsdWUg
PSB2YWx1ZTsKK30KKworaW5wdXQudmFsdWUgPSAnMTk5OS0wNy0zMVQyMzo1OSc7CisKK2RlYnVn
KCdWYWxpZCBmb3JtYXQnKTsKK3NldERhdGVUaW1lRm9ybWF0KCJ5eXl5LU1NLWRkIGhoOm1tIGEi
KTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQo
aW5wdXQpJywgJzE5OTktMDctMzEgMTE6NTkgUE0nKTsKKworZGVidWcoIkludmFsaWQgZm9ybWF0
LCBmYWxsYmFjayB0byB5eXl5LU1NLWRkJ1QnSEg6bW0iKTsKK3NldERhdGVUaW1lRm9ybWF0KCd5
eXl5LU1NLWRkJyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2dldFVzZXJBZ2VudFNoYWRvd1Rl
eHRDb250ZW50KGlucHV0KScsICcxOTk5LTA3LTMxVDIzOjU5Jyk7CitzZXREYXRlVGltZUZvcm1h
dCgnSEg6bW0nKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZ2V0VXNlckFnZW50U2hhZG93VGV4
dENvbnRlbnQoaW5wdXQpJywgJzE5OTktMDctMzFUMjM6NTknKTsKK3NldERhdGVUaW1lRm9ybWF0
KCJ5eXl5LU1NLWRkJ1QnaGg6bW0iKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZ2V0VXNlckFn
ZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpJywgJzE5OTktMDctMzFUMjM6NTknKTsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlw
bGUtZmllbGRzLWZhbGxiYWNrLWZvcm1hdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlw
bGUtZmllbGRzLWZhbGxiYWNrLWZvcm1hdC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTcyYmI3
OTUzYjU0Zjg3MjM3ZjE3MTU1NTI2NGJlMjA5MjZkNTA1OQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRp
bWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtZmFsbGJhY2stZm9ybWF0LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDE1IEBACitDaGVja3MgaW5jb21wbGV0ZSBkYXRldGltZSBmb3JtYXRzIGFyZSByZWpl
Y3RlZC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1ZhbGlkIGZvcm1hdAorUEFT
UyBnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29udGVudChpbnB1dCkgaXMgIjE5OTktMDctMzEgMTE6
NTkgUE0iCitJbnZhbGlkIGZvcm1hdCwgZmFsbGJhY2sgdG8geXl5eS1NTS1kZCdUJ0hIOm1tCitQ
QVNTIGdldFVzZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0KSBpcyAiMTk5OS0wNy0zMVQy
Mzo1OSIKK1BBU1MgZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpIGlzICIxOTk5
LTA3LTMxVDIzOjU5IgorUEFTUyBnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29udGVudChpbnB1dCkg
aXMgIjE5OTktMDctMzFUMjM6NTkiCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRl
dGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy1m
YWxsYmFjay1mb3JtYXQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWVsb2Nh
bC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtZmFsbGJhY2st
Zm9ybWF0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjA5ZjY4OGFkOTYzYzg1YzA3NzNlMzg3NmRkNWRlYWNh
YmVkMmZjMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRp
bWVsb2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtZmFs
bGJhY2stZm9ybWF0Lmh0bWwKQEAgLTAsMCArMSwzOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2NvbW1vbi5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbignQ2hlY2tzIGluY29t
cGxldGUgZGF0ZXRpbWUgZm9ybWF0cyBhcmUgcmVqZWN0ZWQuJyk7CisKK3ZhciBpbnB1dCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7CitpbnB1dC50eXBlID0gJ2RhdGV0aW1lLWxv
Y2FsJzsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaW5wdXQpOworCitmdW5jdGlvbiBzZXRE
YXRlVGltZUZvcm1hdChwYXR0ZXJuKSB7CisgICAgdmFyIHZhbHVlID0gaW5wdXQudmFsdWU7Cisg
ICAgZ2V0RWxlbWVudEJ5UHNldWRvSWQoaW50ZXJuYWxzLnlvdW5nZXN0U2hhZG93Um9vdChpbnB1
dCksICctd2Via2l0LWRhdGV0aW1lLWVkaXQnKS5zZXRBdHRyaWJ1dGUoJ3BhdHRlcm4nLCBwYXR0
ZXJuKTsKKyAgICBpbnB1dC52YWx1ZSA9ICcnOyAvLyBVcGRhdGVzIHRoZSBlbGVtZW50IGZvciBu
ZXcgZm9ybWF0CisgICAgaW5wdXQudmFsdWUgPSB2YWx1ZTsKK30KKworaW5wdXQudmFsdWUgPSAn
MTk5OS0wNy0zMVQyMzo1OSc7CisKK2RlYnVnKCdWYWxpZCBmb3JtYXQnKTsKK3NldERhdGVUaW1l
Rm9ybWF0KCJ5eXl5LU1NLWRkIGhoOm1tIGEiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZ2V0
VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpJywgJzE5OTktMDctMzEgMTE6NTkgUE0n
KTsKKworZGVidWcoIkludmFsaWQgZm9ybWF0LCBmYWxsYmFjayB0byB5eXl5LU1NLWRkJ1QnSEg6
bW0iKTsKK3NldERhdGVUaW1lRm9ybWF0KCd5eXl5LU1NLWRkJyk7CitzaG91bGRCZUVxdWFsVG9T
dHJpbmcoJ2dldFVzZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0KScsICcxOTk5LTA3LTMx
VDIzOjU5Jyk7CitzZXREYXRlVGltZUZvcm1hdCgnSEg6bW0nKTsKK3Nob3VsZEJlRXF1YWxUb1N0
cmluZygnZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpJywgJzE5OTktMDctMzFU
MjM6NTknKTsKK3NldERhdGVUaW1lRm9ybWF0KCJ5eXl5LU1NLWRkJ1QnaGg6bW0iKTsKK3Nob3Vs
ZEJlRXF1YWxUb1N0cmluZygnZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpJywg
JzE5OTktMDctMzFUMjM6NTknKTsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMv
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9t
b250aC1tdWx0aXBsZS1maWVsZHMtZmFsbGJhY2stZm9ybWF0LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2Zhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZp
ZWxkcy1mYWxsYmFjay1mb3JtYXQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmIzOGI5NmFhNTQ4
NDhiMDFkMDI5M2NiNDM1YzBjOTc2NjViNmY0MjAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0aXBsZS1maWVs
ZHMtZmFsbGJhY2stZm9ybWF0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE0IEBACitDaGVja3Mg
aW5jb21wbGV0ZSBkYXRldGltZSBmb3JtYXRzIGFyZSByZWplY3RlZC4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCisKK1ZhbGlkIGZvcm1hdAorUEFTUyBnZXRVc2VyQWdlbnRTaGFkb3dU
ZXh0Q29udGVudChpbnB1dCkgaXMgIjA3LTE5OTkiCitJbnZhbGlkIGZvcm1hdCwgZmFsbGJhY2sg
dG8geXl5eS1NTQorUEFTUyBnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29udGVudChpbnB1dCkgaXMg
IjE5OTktMDciCitQQVNTIGdldFVzZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0KSBpcyAi
MTk5OS0wNyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZp
ZWxkcy9tb250aC1tdWx0aXBsZS1maWVsZHMtZmFsbGJhY2stZm9ybWF0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0aXBsZS1maWVs
ZHMtZmFsbGJhY2stZm9ybWF0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjk1MTFhYjYyYzllOGY3MWVjYWU2
YmM5OTU1NTVhNTg1ZWFkMzZmZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy1mYWxsYmFj
ay1mb3JtYXQuaHRtbApAQCAtMCwwICsxLDM3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY29tbW9uLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCdDaGVja3MgaW5jb21wbGV0
ZSBkYXRldGltZSBmb3JtYXRzIGFyZSByZWplY3RlZC4nKTsKKwordmFyIGlucHV0ID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTsKK2lucHV0LnR5cGUgPSAnbW9udGgnOworZG9jdW1l
bnQuYm9keS5hcHBlbmRDaGlsZChpbnB1dCk7CisKK2Z1bmN0aW9uIHNldERhdGVUaW1lRm9ybWF0
KHBhdHRlcm4pIHsKKyAgICB2YXIgdmFsdWUgPSBpbnB1dC52YWx1ZTsKKyAgICBnZXRFbGVtZW50
QnlQc2V1ZG9JZChpbnRlcm5hbHMueW91bmdlc3RTaGFkb3dSb290KGlucHV0KSwgJy13ZWJraXQt
ZGF0ZXRpbWUtZWRpdCcpLnNldEF0dHJpYnV0ZSgncGF0dGVybicsIHBhdHRlcm4pOworICAgIGlu
cHV0LnZhbHVlID0gJyc7IC8vIFVwZGF0ZXMgdGhlIGVsZW1lbnQgZm9yIG5ldyBmb3JtYXQKKyAg
ICBpbnB1dC52YWx1ZSA9IHZhbHVlOworfQorCitpbnB1dC52YWx1ZSA9ICcxOTk5LTA3JzsKKwor
ZGVidWcoJ1ZhbGlkIGZvcm1hdCcpOworc2V0RGF0ZVRpbWVGb3JtYXQoJ01NLXl5eXknKTsKK3No
b3VsZEJlRXF1YWxUb1N0cmluZygnZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQp
JywgJzA3LTE5OTknKTsKKworZGVidWcoJ0ludmFsaWQgZm9ybWF0LCBmYWxsYmFjayB0byB5eXl5
LU1NJyk7CitzZXREYXRlVGltZUZvcm1hdCgnbW0teXl5eScpOworc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCdnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29udGVudChpbnB1dCknLCAnMTk5OS0wNycpOwor
c2V0RGF0ZVRpbWVGb3JtYXQoJ00nKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZ2V0VXNlckFn
ZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpJywgJzE5OTktMDcnKTsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3Rp
bWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWZhbGxiYWNrLWZvcm1hdC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRz
L3RpbWUtbXVsdGlwbGUtZmllbGRzLWZhbGxiYWNrLWZvcm1hdC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNDIxNzRkNDJlZjdhMDVjMzIyMmNjMTliZjE5MjMxZGJmZGRkMDcyMgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGlt
ZS1tdWx0aXBsZS1maWVsZHMtZmFsbGJhY2stZm9ybWF0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDE3IEBACitDaGVja3MgaW5jb21wbGV0ZSBkYXRldGltZSBmb3JtYXRzIGFyZSByZWplY3RlZC4K
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1ZhbGlkIGZvcm1hdAorUEFTUyBnZXRV
c2VyQWdlbnRTaGFkb3dUZXh0Q29udGVudChpbnB1dCkgaXMgIjAxLjIzNDo1OToxMSBQTSIKK1BB
U1MgZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpIGlzICIwMS4yMzQ6NTk6MjMi
CitQQVNTIGdldFVzZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0KSBpcyAiMDEuMjM0OjU5
OjIzIFBNIgorSW52YWxpZCBmb3JtYXQsIGZhbGxiYWNrIHRvIEhIOm1tOnNzCitQQVNTIGdldFVz
ZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0KSBpcyAiMjM6NTk6MDEuMjM0IgorUEFTUyBn
ZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29udGVudChpbnB1dCkgaXMgIjIzOjU5OjAxLjIzNCIKK1BB
U1MgZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpIGlzICIyMzo1OTowMS4yMzQi
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1l
LW11bHRpcGxlLWZpZWxkcy1mYWxsYmFjay1mb3JtYXQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtZmFsbGJhY2st
Zm9ybWF0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzY2ZTE2MTdmOTdlMWY3ODYzNDBhNTljYTY1NDkxZDg0
ZmExOTFkMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1t
dWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtZmFsbGJhY2stZm9ybWF0Lmh0bWwK
QEAgLTAsMCArMSw0MyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vcmVzb3VyY2VzL2NvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbignQ2hlY2tzIGluY29tcGxldGUgZGF0ZXRpbWUgZm9y
bWF0cyBhcmUgcmVqZWN0ZWQuJyk7CisKK3ZhciBpbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoJ2lucHV0Jyk7CitpbnB1dC50eXBlID0gJ3RpbWUnOworZG9jdW1lbnQuYm9keS5hcHBlbmRD
aGlsZChpbnB1dCk7CisKK2Z1bmN0aW9uIHNldERhdGVUaW1lRm9ybWF0KHBhdHRlcm4pIHsKKyAg
ICB2YXIgdmFsdWUgPSBpbnB1dC52YWx1ZTsKKyAgICBnZXRFbGVtZW50QnlQc2V1ZG9JZChpbnRl
cm5hbHMueW91bmdlc3RTaGFkb3dSb290KGlucHV0KSwgJy13ZWJraXQtZGF0ZXRpbWUtZWRpdCcp
LnNldEF0dHJpYnV0ZSgncGF0dGVybicsIHBhdHRlcm4pOworICAgIGlucHV0LnZhbHVlID0gJyc7
IC8vIFVwZGF0ZXMgdGhlIGVsZW1lbnQgZm9yIG5ldyBmb3JtYXQKKyAgICBpbnB1dC52YWx1ZSA9
IHZhbHVlOworfQorCitpbnB1dC52YWx1ZSA9ICcyMzo1OTowMS4yMzQnOworCitkZWJ1ZygnVmFs
aWQgZm9ybWF0Jyk7CitzZXREYXRlVGltZUZvcm1hdCgnc3M6bW06aGggYScpOworc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCdnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29udGVudChpbnB1dCknLCAnMDEu
MjM0OjU5OjExIFBNJyk7CitzZXREYXRlVGltZUZvcm1hdCgnc3M6bW06SEgnKTsKK3Nob3VsZEJl
RXF1YWxUb1N0cmluZygnZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpJywgJzAx
LjIzNDo1OToyMycpOworc2V0RGF0ZVRpbWVGb3JtYXQoJ3NzOm1tOkhIIGEnKTsKK3Nob3VsZEJl
RXF1YWxUb1N0cmluZygnZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpJywgJzAx
LjIzNDo1OToyMyBQTScpOworCitkZWJ1ZygnSW52YWxpZCBmb3JtYXQsIGZhbGxiYWNrIHRvIEhI
Om1tOnNzJyk7CitzZXREYXRlVGltZUZvcm1hdCgnSEgnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmlu
ZygnZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpJywgJzIzOjU5OjAxLjIzNCcp
Oworc2V0RGF0ZVRpbWVGb3JtYXQoJ21tOnNzJyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2dl
dFVzZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0KScsICcyMzo1OTowMS4yMzQnKTsKK3Nl
dERhdGVUaW1lRm9ybWF0KCdoaDptbTpzcycpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdnZXRV
c2VyQWdlbnRTaGFkb3dUZXh0Q29udGVudChpbnB1dCknLCAnMjM6NTk6MDEuMjM0Jyk7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy1mYWxsYmFj
ay1mb3JtYXQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVrLW11bHRp
cGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy1mYWxsYmFjay1mb3JtYXQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiMmNjYThlZDZhZWU2NWQwYjQzNTJiOTBhN2Q5MzExODNhMTcyMWYK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUt
ZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLWZhbGxiYWNrLWZvcm1hdC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxNCBAQAorQ2hlY2tzIGluY29tcGxldGUgZGF0ZXRpbWUgZm9ybWF0cyBhcmUg
cmVqZWN0ZWQuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitWYWxpZCBmb3JtYXQK
K1BBU1MgZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpIGlzICJXZWVrMDkgMTk5
OSIKK0ludmFsaWQgZm9ybWF0LCBmYWxsYmFjayB0byB5eXl5LSdXJ3d3CitQQVNTIGdldFVzZXJB
Z2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0KSBpcyAiMTk5OS1XMDkiCitQQVNTIGdldFVzZXJB
Z2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0KSBpcyAiMTk5OS1XMDkiCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxk
cy1mYWxsYmFjay1mb3JtYXQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvd2Vlay1tdWx0
aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMtZmFsbGJhY2stZm9ybWF0Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMjVmNDkyYmJkYjkxZTI1NGJmMGE1M2JlZDBjYWYxMDVmZjdmYmEwNwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1maWVsZHMv
d2Vlay1tdWx0aXBsZS1maWVsZHMtZmFsbGJhY2stZm9ybWF0Lmh0bWwKQEAgLTAsMCArMSwzNyBA
QAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pz
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVz
b3VyY2VzL2NvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+Citk
ZXNjcmlwdGlvbignQ2hlY2tzIGluY29tcGxldGUgZGF0ZXRpbWUgZm9ybWF0cyBhcmUgcmVqZWN0
ZWQuJyk7CisKK3ZhciBpbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7Citp
bnB1dC50eXBlID0gJ3dlZWsnOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpbnB1dCk7CisK
K2Z1bmN0aW9uIHNldERhdGVUaW1lRm9ybWF0KHBhdHRlcm4pIHsKKyAgICB2YXIgdmFsdWUgPSBp
bnB1dC52YWx1ZTsKKyAgICBnZXRFbGVtZW50QnlQc2V1ZG9JZChpbnRlcm5hbHMueW91bmdlc3RT
aGFkb3dSb290KGlucHV0KSwgJy13ZWJraXQtZGF0ZXRpbWUtZWRpdCcpLnNldEF0dHJpYnV0ZSgn
cGF0dGVybicsIHBhdHRlcm4pOworICAgIGlucHV0LnZhbHVlID0gJyc7IC8vIFVwZGF0ZXMgdGhl
IGVsZW1lbnQgZm9yIG5ldyBmb3JtYXQKKyAgICBpbnB1dC52YWx1ZSA9IHZhbHVlOworfQorCitp
bnB1dC52YWx1ZSA9ICcxOTk5LVcwOSc7CisKK2RlYnVnKCdWYWxpZCBmb3JtYXQnKTsKK3NldERh
dGVUaW1lRm9ybWF0KCInV2Vlayd3dyB5eXl5Iik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2dl
dFVzZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0KScsICdXZWVrMDkgMTk5OScpOworCitk
ZWJ1ZygiSW52YWxpZCBmb3JtYXQsIGZhbGxiYWNrIHRvIHl5eXktJ1cnd3ciKTsKK3NldERhdGVU
aW1lRm9ybWF0KCd3dycpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdnZXRVc2VyQWdlbnRTaGFk
b3dUZXh0Q29udGVudChpbnB1dCknLCAnMTk5OS1XMDknKTsKK3NldERhdGVUaW1lRm9ybWF0KCd5
eXl5Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2dldFVzZXJBZ2VudFNoYWRvd1RleHRDb250
ZW50KGlucHV0KScsICcxOTk5LVcwOScpOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>194459</attachid>
            <date>2013-03-22 00:28:51 -0700</date>
            <delta_ts>2013-03-22 00:33:55 -0700</delta_ts>
            <desc>Patch 2</desc>
            <filename>bug-113005-20130322162438.patch</filename>
            <type>text/plain</type>
            <size>34247</size>
            <attacher name="Kunihiko Sakamoto">ksakamoto</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ2NDkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODYxYTc4YjU0YzczNDQ1
ODRjMmNlMWQ3YTViZTVkMzY4ODQ1NDE5Yy4uMTkyODExMzg5NTBjNmE0NThhYWMyNTMzOGMyNGIz
MmI5NjQ2MGRjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUyIEBACisyMDEzLTAzLTIxICBLdW5p
aGlrbyBTYWthbW90byAgPGtzYWthbW90b0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSU5QVVRf
TVVMVElQTEVfRklFTERTX1VJOiBJbmNvbXBsZXRlIGRhdGV0aW1lIGZvcm1hdCBzaG91bGQgZmFs
bGJhY2sgdG8gZGVmYXVsdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTEzMDA1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgVXNlIGZhbGxiYWNrIGZvcm1hdCB3aGVuIGRhdGV0aW1lIGZvcm1hdCBmcm9tIGxv
Y2FsZSBpcyBub3QgY29tcGxldGUuCisKKyAgICAgICAgVGVzdHM6IGZhc3QvZm9ybXMvZGF0ZS1t
dWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtZmFsbGJhY2stZm9ybWF0Lmh0bWwK
KyAgICAgICAgICAgICAgIGZhc3QvZm9ybXMvZGF0ZXRpbWUtbXVsdGlwbGUtZmllbGRzL2RhdGV0
aW1lLW11bHRpcGxlLWZpZWxkcy1mYWxsYmFjay1mb3JtYXQuaHRtbAorICAgICAgICAgICAgICAg
ZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11
bHRpcGxlLWZpZWxkcy1mYWxsYmFjay1mb3JtYXQuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9m
b3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLWZhbGxiYWNr
LWZvcm1hdC5odG1sCisgICAgICAgICAgICAgICBmYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmll
bGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWZhbGxiYWNrLWZvcm1hdC5odG1sCisgICAgICAgICAg
ICAgICBmYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRz
LWZhbGxiYWNrLWZvcm1hdC5odG1sCisKKyAgICAgICAgKiBodG1sL0Jhc2VNdWx0aXBsZUZpZWxk
c0RhdGVBbmRUaW1lSW5wdXRUeXBlLmNwcDoKKyAgICAgICAgKEZvcm1hdFZhbGlkYXRvcik6IEEg
aGVscGVyIGNsYXNzIHRoYXQgcGFyc2VzIGRhdGV0aW1lIGZvcm1hdCBhbmQgdGVzdHMgZXhpc3Rl
bmNlIG9mIGZpZWxkcy4KKyAgICAgICAgKFdlYkNvcmU6OkZvcm1hdFZhbGlkYXRvcjo6Rm9ybWF0
VmFsaWRhdG9yKToKKyAgICAgICAgKFdlYkNvcmU6OkZvcm1hdFZhbGlkYXRvcjo6dmlzaXRGaWVs
ZCk6CisgICAgICAgIChXZWJDb3JlOjpGb3JtYXRWYWxpZGF0b3I6OnZhbGlkYXRlRm9ybWF0KTog
UGFyc2VzIGRhdGV0aW1lIGZvcm1hdCBhbmQgdmFsaWRhdGVzIGJ5IGNhbGxpbmcgQmFzZU11bHRp
cGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGU6OmlzVmFsaWRGb3JtYXQuCisgICAgICAgIChX
ZWJDb3JlOjpCYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZTo6dXBkYXRlSW5u
ZXJUZXh0VmFsdWUpOiBDaGVja3MgaWYgZGF0ZVRpbWVGb3JtYXQgaXMgdmFsaWQsIGFuZCB1c2Vz
IGZhbGxiYWNrIGZvcm1hdCBpZiBub3QuCisgICAgICAgICogaHRtbC9CYXNlTXVsdGlwbGVGaWVs
ZHNEYXRlQW5kVGltZUlucHV0VHlwZS5oOgorICAgICAgICAoQmFzZU11bHRpcGxlRmllbGRzRGF0
ZUFuZFRpbWVJbnB1dFR5cGUpOiBEZWNsYXJlIGlzVmFsaWRGb3JtYXQuCisgICAgICAgICogaHRt
bC9EYXRlSW5wdXRUeXBlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRhdGVJbnB1dFR5cGU6Omlz
VmFsaWRGb3JtYXQpOiBBZGRlZC4KKyAgICAgICAgKiBodG1sL0RhdGVJbnB1dFR5cGUuaDoKKyAg
ICAgICAgKERhdGVJbnB1dFR5cGUpOgorICAgICAgICAqIGh0bWwvRGF0ZVRpbWVJbnB1dFR5cGUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6RGF0ZVRpbWVJbnB1dFR5cGU6OmlzVmFsaWRGb3JtYXQp
OiBBZGRlZC4KKyAgICAgICAgKiBodG1sL0RhdGVUaW1lSW5wdXRUeXBlLmg6CisgICAgICAgIChE
YXRlVGltZUlucHV0VHlwZSk6CisgICAgICAgICogaHRtbC9EYXRlVGltZUxvY2FsSW5wdXRUeXBl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRhdGVUaW1lTG9jYWxJbnB1dFR5cGU6OmlzVmFsaWRG
b3JtYXQpOiBBZGRlZC4KKyAgICAgICAgKiBodG1sL0RhdGVUaW1lTG9jYWxJbnB1dFR5cGUuaDoK
KyAgICAgICAgKERhdGVUaW1lTG9jYWxJbnB1dFR5cGUpOgorICAgICAgICAqIGh0bWwvTW9udGhJ
bnB1dFR5cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TW9udGhJbnB1dFR5cGU6OmlzVmFsaWRG
b3JtYXQpOiBBZGRlZC4KKyAgICAgICAgKiBodG1sL01vbnRoSW5wdXRUeXBlLmg6CisgICAgICAg
IChNb250aElucHV0VHlwZSk6CisgICAgICAgICogaHRtbC9UaW1lSW5wdXRUeXBlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlRpbWVJbnB1dFR5cGU6OmlzVmFsaWRGb3JtYXQpOiBBZGRlZC4KKyAg
ICAgICAgKiBodG1sL1RpbWVJbnB1dFR5cGUuaDoKKyAgICAgICAgKFRpbWVJbnB1dFR5cGUpOgor
ICAgICAgICAqIGh0bWwvV2Vla0lucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWVr
SW5wdXRUeXBlOjppc1ZhbGlkRm9ybWF0KTogQWRkZWQuCisgICAgICAgICogaHRtbC9XZWVrSW5w
dXRUeXBlLmg6CisgICAgICAgIChXZWVrSW5wdXRUeXBlKToKKwogMjAxMy0wMy0yMSAgQW50b24g
TXVoaW4gIDxhbnRvbm1AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxp
bmcgb3V0IHIxNDY0ODMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VNdWx0
aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
QmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUuY3BwCmluZGV4IGYzMWFmMmQ1
ZTY2ODk5Y2U5OTg1OTU2M2E3NGE3ZDU0ZWUzNzI5MDMuLjI2NWY4ZDEyNDlhYzYxNGQxMDMyMDZi
MjI3YzU1NmEyNzRlY2EyNWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvQmFzZU11
bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUuY3BwCkBAIC0zNSw2
ICszNSw3IEBACiAjaW5jbHVkZSAiQ1NTVmFsdWVLZXl3b3Jkcy5oIgogI2luY2x1ZGUgIkRhdGVD
b21wb25lbnRzLmgiCiAjaW5jbHVkZSAiRGF0ZVRpbWVGaWVsZHNTdGF0ZS5oIgorI2luY2x1ZGUg
IkRhdGVUaW1lRm9ybWF0LmgiCiAjaW5jbHVkZSAiRWxlbWVudFNoYWRvdy5oIgogI2luY2x1ZGUg
IkZvY3VzQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIkZvcm1Db250cm9sbGVyLmgiCkBAIC01Myw2
ICs1NCw4MCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIERhdGVUaW1lRm9ybWF0
VmFsaWRhdG9yIDogcHVibGljIERhdGVUaW1lRm9ybWF0OjpUb2tlbkhhbmRsZXIgeworcHVibGlj
OgorICAgIERhdGVUaW1lRm9ybWF0VmFsaWRhdG9yKCkKKyAgICAgICAgOiBtX2hhc1llYXIoZmFs
c2UpCisgICAgICAgICwgbV9oYXNNb250aChmYWxzZSkKKyAgICAgICAgLCBtX2hhc1dlZWsoZmFs
c2UpCisgICAgICAgICwgbV9oYXNEYXkoZmFsc2UpCisgICAgICAgICwgbV9oYXNBTVBNKGZhbHNl
KQorICAgICAgICAsIG1faGFzSG91cihmYWxzZSkKKyAgICAgICAgLCBtX2hhc01pbnV0ZShmYWxz
ZSkKKyAgICAgICAgLCBtX2hhc1NlY29uZChmYWxzZSkgeyB9CisKKyAgICB2aXJ0dWFsIHZvaWQg
dmlzaXRGaWVsZChEYXRlVGltZUZvcm1hdDo6RmllbGRUeXBlLCBpbnQpIE9WRVJSSURFIEZJTkFM
OworICAgIHZpcnR1YWwgdm9pZCB2aXNpdExpdGVyYWwoY29uc3QgU3RyaW5nJikgT1ZFUlJJREUg
RklOQUwgeyB9CisKKyAgICBib29sIHZhbGlkYXRlRm9ybWF0KGNvbnN0IFN0cmluZyYgZm9ybWF0
LCBjb25zdCBCYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZSYpOworCitwcml2
YXRlOgorICAgIGJvb2wgbV9oYXNZZWFyOworICAgIGJvb2wgbV9oYXNNb250aDsKKyAgICBib29s
IG1faGFzV2VlazsKKyAgICBib29sIG1faGFzRGF5OworICAgIGJvb2wgbV9oYXNBTVBNOworICAg
IGJvb2wgbV9oYXNIb3VyOworICAgIGJvb2wgbV9oYXNNaW51dGU7CisgICAgYm9vbCBtX2hhc1Nl
Y29uZDsKK307CisKK3ZvaWQgRGF0ZVRpbWVGb3JtYXRWYWxpZGF0b3I6OnZpc2l0RmllbGQoRGF0
ZVRpbWVGb3JtYXQ6OkZpZWxkVHlwZSBmaWVsZFR5cGUsIGludCkKK3sKKyAgICBzd2l0Y2ggKGZp
ZWxkVHlwZSkgeworICAgIGNhc2UgRGF0ZVRpbWVGb3JtYXQ6OkZpZWxkVHlwZVllYXI6CisgICAg
ICAgIG1faGFzWWVhciA9IHRydWU7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgRGF0ZVRpbWVG
b3JtYXQ6OkZpZWxkVHlwZU1vbnRoOiAvLyBGYWxsdGhyb3VnaC4KKyAgICBjYXNlIERhdGVUaW1l
Rm9ybWF0OjpGaWVsZFR5cGVNb250aFN0YW5kQWxvbmU6CisgICAgICAgIG1faGFzTW9udGggPSB0
cnVlOworICAgICAgICBicmVhazsKKyAgICBjYXNlIERhdGVUaW1lRm9ybWF0OjpGaWVsZFR5cGVX
ZWVrT2ZZZWFyOgorICAgICAgICBtX2hhc1dlZWsgPSB0cnVlOworICAgICAgICBicmVhazsKKyAg
ICBjYXNlIERhdGVUaW1lRm9ybWF0OjpGaWVsZFR5cGVEYXlPZk1vbnRoOgorICAgICAgICBtX2hh
c0RheSA9IHRydWU7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgRGF0ZVRpbWVGb3JtYXQ6OkZp
ZWxkVHlwZVBlcmlvZDoKKyAgICAgICAgbV9oYXNBTVBNID0gdHJ1ZTsKKyAgICAgICAgYnJlYWs7
CisgICAgY2FzZSBEYXRlVGltZUZvcm1hdDo6RmllbGRUeXBlSG91cjExOiAvLyBGYWxsdGhyb3Vn
aC4KKyAgICBjYXNlIERhdGVUaW1lRm9ybWF0OjpGaWVsZFR5cGVIb3VyMTI6CisgICAgICAgIG1f
aGFzSG91ciA9IHRydWU7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgRGF0ZVRpbWVGb3JtYXQ6
OkZpZWxkVHlwZUhvdXIyMzogLy8gRmFsbHRocm91Z2guCisgICAgY2FzZSBEYXRlVGltZUZvcm1h
dDo6RmllbGRUeXBlSG91cjI0OgorICAgICAgICBtX2hhc0hvdXIgPSB0cnVlOworICAgICAgICBt
X2hhc0FNUE0gPSB0cnVlOworICAgICAgICBicmVhazsKKyAgICBjYXNlIERhdGVUaW1lRm9ybWF0
OjpGaWVsZFR5cGVNaW51dGU6CisgICAgICAgIG1faGFzTWludXRlID0gdHJ1ZTsKKyAgICAgICAg
YnJlYWs7CisgICAgY2FzZSBEYXRlVGltZUZvcm1hdDo6RmllbGRUeXBlU2Vjb25kOgorICAgICAg
ICBtX2hhc1NlY29uZCA9IHRydWU7CisgICAgICAgIGJyZWFrOworICAgIGRlZmF1bHQ6CisgICAg
ICAgIGJyZWFrOworICAgIH0KK30KKworYm9vbCBEYXRlVGltZUZvcm1hdFZhbGlkYXRvcjo6dmFs
aWRhdGVGb3JtYXQoY29uc3QgU3RyaW5nJiBmb3JtYXQsIGNvbnN0IEJhc2VNdWx0aXBsZUZpZWxk
c0RhdGVBbmRUaW1lSW5wdXRUeXBlJiBpbnB1dFR5cGUpCit7CisgICAgaWYgKCFEYXRlVGltZUZv
cm1hdDo6cGFyc2UoZm9ybWF0LCAqdGhpcykpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBy
ZXR1cm4gaW5wdXRUeXBlLmlzVmFsaWRGb3JtYXQobV9oYXNZZWFyLCBtX2hhc01vbnRoLCBtX2hh
c1dlZWssIG1faGFzRGF5LCBtX2hhc0FNUE0sIG1faGFzSG91ciwgbV9oYXNNaW51dGUsIG1faGFz
U2Vjb25kKTsKK30KKwogdm9pZCBCYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlw
ZTo6ZGlkQmx1ckZyb21Db250cm9sKCkKIHsKICAgICAvLyBXZSBkb24ndCBuZWVkIHRvIGNhbGwg
Ymx1cigpLiBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCB3aGVuIGNvbnRyb2wKQEAgLTQxMCw2ICs0
ODUsOSBAQCB2b2lkIEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlOjp1cGRh
dGVJbm5lclRleHRWYWx1ZSgpCiAgICAgaWYgKCFwYXR0ZXJuLmlzRW1wdHkoKSkKICAgICAgICAg
bGF5b3V0UGFyYW1ldGVycy5kYXRlVGltZUZvcm1hdCA9IHBhdHRlcm47CiAKKyAgICBpZiAoIURh
dGVUaW1lRm9ybWF0VmFsaWRhdG9yKCkudmFsaWRhdGVGb3JtYXQobGF5b3V0UGFyYW1ldGVycy5k
YXRlVGltZUZvcm1hdCwgKnRoaXMpKQorICAgICAgICBsYXlvdXRQYXJhbWV0ZXJzLmRhdGVUaW1l
Rm9ybWF0ID0gbGF5b3V0UGFyYW1ldGVycy5mYWxsYmFja0RhdGVUaW1lRm9ybWF0OworCiAgICAg
aWYgKGhhc1ZhbHVlKQogICAgICAgICBtX2RhdGVUaW1lRWRpdEVsZW1lbnQtPnNldFZhbHVlQXNE
YXRlKGxheW91dFBhcmFtZXRlcnMsIGRhdGUpOwogICAgIGVsc2UKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUuaCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5
cGUuaAppbmRleCA4NDQ4M2FkODQ1ZDBlNjc1OTIwYzVkNWE4OWYyN2YzZGI2MzRiZTE4Li4wOTZl
MzEyNmEyZGVhY2I3ZjM4ZDc3NmYzNzk4OWIzZDJkZjFlMjNkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0Jhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9CYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0
VHlwZS5oCkBAIC00OSw2ICs0OSw5IEBAIGNsYXNzIEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRU
aW1lSW5wdXRUeXBlCiAgICAgLCBwcm90ZWN0ZWQgUGlja2VySW5kaWNhdG9yRWxlbWVudDo6UGlj
a2VySW5kaWNhdG9yT3duZXIKICAgICAsIHByb3RlY3RlZCBTcGluQnV0dG9uRWxlbWVudDo6U3Bp
bkJ1dHRvbk93bmVyCiAgICAgLCBwcm90ZWN0ZWQgQ2xlYXJCdXR0b25FbGVtZW50OjpDbGVhckJ1
dHRvbk93bmVyIHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIGJvb2wgaXNWYWxpZEZvcm1hdChib29s
IGhhc1llYXIsIGJvb2wgaGFzTW9udGgsIGJvb2wgaGFzV2VlaywgYm9vbCBoYXNEYXksIGJvb2wg
aGFzQU1QTSwgYm9vbCBoYXNIb3VyLCBib29sIGhhc01pbnV0ZSwgYm9vbCBoYXNTZWNvbmQpIGNv
bnN0ID0gMDsKKwogcHJvdGVjdGVkOgogICAgIEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1l
SW5wdXRUeXBlKEhUTUxJbnB1dEVsZW1lbnQqKTsKICAgICB2aXJ0dWFsIH5CYXNlTXVsdGlwbGVG
aWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9EYXRlSW5wdXRUeXBlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0ZUlucHV0VHlw
ZS5jcHAKaW5kZXggOGQ3YTkyOGE2NjlkNWZjMWY4NzM5Nzk0ODNkNzg3Y2Q0MDAxMWE5Yi4uOTgx
MDYyNGIxNGZkMTE4ZTdiMThhMTFkZDkyY2JhNjUyNGE4NGM5NSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9EYXRlSW5wdXRUeXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0RhdGVJbnB1dFR5cGUuY3BwCkBAIC0xMjYsNiArMTI2LDExIEBAIHZvaWQgRGF0ZUlucHV0VHlw
ZTo6c2V0dXBMYXlvdXRQYXJhbWV0ZXJzKERhdGVUaW1lRWRpdEVsZW1lbnQ6OkxheW91dFBhcmFt
ZXRlcnMmCiAgICAgbGF5b3V0UGFyYW1ldGVycy5wbGFjZWhvbGRlckZvck1vbnRoID0gcGxhY2Vo
b2xkZXJGb3JNb250aEZpZWxkKCk7CiAgICAgbGF5b3V0UGFyYW1ldGVycy5wbGFjZWhvbGRlckZv
clllYXIgPSBwbGFjZWhvbGRlckZvclllYXJGaWVsZCgpOwogfQorCitib29sIERhdGVJbnB1dFR5
cGU6OmlzVmFsaWRGb3JtYXQoYm9vbCBoYXNZZWFyLCBib29sIGhhc01vbnRoLCBib29sIGhhc1dl
ZWssIGJvb2wgaGFzRGF5LCBib29sIGhhc0FNUE0sIGJvb2wgaGFzSG91ciwgYm9vbCBoYXNNaW51
dGUsIGJvb2wgaGFzU2Vjb25kKSBjb25zdAoreworICAgIHJldHVybiBoYXNZZWFyICYmIGhhc01v
bnRoICYmIGhhc0RheTsKK30KICNlbmRpZgogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0RhdGVJbnB1dFR5cGUuaCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvRGF0ZUlucHV0VHlwZS5oCmluZGV4IGZkNzVmOTE1ZmQyNTdlMDU2YThmOGIwZWRh
YmEwODc5NDljYTE5MzQuLmNmODM3MjEwNWY5YzYwODMzYTVkOWEzYzUwODZlYTlhNDU0ODc1MmUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0ZUlucHV0VHlwZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvRGF0ZUlucHV0VHlwZS5oCkBAIC02NCw2ICs2NCw3IEBAIHByaXZh
dGU6CiAgICAgLy8gQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUgZnVuY3Rp
b25zCiAgICAgdmlydHVhbCBTdHJpbmcgZm9ybWF0RGF0ZVRpbWVGaWVsZHNTdGF0ZShjb25zdCBE
YXRlVGltZUZpZWxkc1N0YXRlJikgY29uc3QgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIHNl
dHVwTGF5b3V0UGFyYW1ldGVycyhEYXRlVGltZUVkaXRFbGVtZW50OjpMYXlvdXRQYXJhbWV0ZXJz
JiwgY29uc3QgRGF0ZUNvbXBvbmVudHMmKSBjb25zdCBPVkVSUklERTsKKyAgICB2aXJ0dWFsIGJv
b2wgaXNWYWxpZEZvcm1hdChib29sIGhhc1llYXIsIGJvb2wgaGFzTW9udGgsIGJvb2wgaGFzV2Vl
aywgYm9vbCBoYXNEYXksIGJvb2wgaGFzQU1QTSwgYm9vbCBoYXNIb3VyLCBib29sIGhhc01pbnV0
ZSwgYm9vbCBoYXNTZWNvbmQpIGNvbnN0OwogI2VuZGlmCiB9OwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0RhdGVUaW1lSW5wdXRUeXBlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvRGF0ZVRpbWVJbnB1dFR5cGUuY3BwCmluZGV4IGIwOGQ5ZDYxZjkyNzgzYWMxZDY5N2MwMTNi
ZTE0NTI5YThkODViN2QuLjEzOWU5ZmEwM2ZjOGNlMmE5YWI4NDk4YzcyNzY0MDBmN2Y0NTIwOGQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0ZVRpbWVJbnB1dFR5cGUuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0ZVRpbWVJbnB1dFR5cGUuY3BwCkBAIC0xNjQsNiAr
MTY0LDExIEBAIHZvaWQgRGF0ZVRpbWVJbnB1dFR5cGU6OnNldHVwTGF5b3V0UGFyYW1ldGVycyhE
YXRlVGltZUVkaXRFbGVtZW50OjpMYXlvdXRQYXJhbWV0CiAgICAgbGF5b3V0UGFyYW1ldGVycy5w
bGFjZWhvbGRlckZvck1vbnRoID0gcGxhY2Vob2xkZXJGb3JNb250aEZpZWxkKCk7CiAgICAgbGF5
b3V0UGFyYW1ldGVycy5wbGFjZWhvbGRlckZvclllYXIgPSBwbGFjZWhvbGRlckZvclllYXJGaWVs
ZCgpOwogfQorCitib29sIERhdGVUaW1lSW5wdXRUeXBlOjppc1ZhbGlkRm9ybWF0KGJvb2wgaGFz
WWVhciwgYm9vbCBoYXNNb250aCwgYm9vbCBoYXNXZWVrLCBib29sIGhhc0RheSwgYm9vbCBoYXNB
TVBNLCBib29sIGhhc0hvdXIsIGJvb2wgaGFzTWludXRlLCBib29sIGhhc1NlY29uZCkgY29uc3QK
K3sKKyAgICByZXR1cm4gaGFzWWVhciAmJiBoYXNNb250aCAmJiBoYXNEYXkgJiYgaGFzQU1QTSAm
JiBoYXNIb3VyICYmIGhhc01pbnV0ZTsKK30KICNlbmRpZgogCiBTdHJpbmcgRGF0ZVRpbWVJbnB1
dFR5cGU6OnNhbml0aXplVmFsdWUoY29uc3QgU3RyaW5nJiBwcm9wb3NlZFZhbHVlKSBjb25zdApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9EYXRlVGltZUlucHV0VHlwZS5oIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9EYXRlVGltZUlucHV0VHlwZS5oCmluZGV4IDlkNzJiYzg1ZmFkOGIy
ZTcyNTIxZmYzMDRiOWU0MTdkNmE0NTcyY2MuLjcyOWQ2MGNhMzY0OWM1NDBkNjU4YmM4YjE3OTQy
YWE2MzBlOGI4ODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0ZVRpbWVJbnB1
dFR5cGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0RhdGVUaW1lSW5wdXRUeXBlLmgKQEAg
LTY0LDYgKzY0LDcgQEAgcHJpdmF0ZToKICAgICAvLyBCYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5k
VGltZUlucHV0VHlwZSBmdW5jdGlvbnMKICAgICB2aXJ0dWFsIFN0cmluZyBmb3JtYXREYXRlVGlt
ZUZpZWxkc1N0YXRlKGNvbnN0IERhdGVUaW1lRmllbGRzU3RhdGUmKSBjb25zdCBPVkVSUklERSBG
SU5BTDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0dXBMYXlvdXRQYXJhbWV0ZXJzKERhdGVUaW1lRWRp
dEVsZW1lbnQ6OkxheW91dFBhcmFtZXRlcnMmLCBjb25zdCBEYXRlQ29tcG9uZW50cyYpIGNvbnN0
IE9WRVJSSURFIEZJTkFMOworICAgIHZpcnR1YWwgYm9vbCBpc1ZhbGlkRm9ybWF0KGJvb2wgaGFz
WWVhciwgYm9vbCBoYXNNb250aCwgYm9vbCBoYXNXZWVrLCBib29sIGhhc0RheSwgYm9vbCBoYXNB
TVBNLCBib29sIGhhc0hvdXIsIGJvb2wgaGFzTWludXRlLCBib29sIGhhc1NlY29uZCkgY29uc3Q7
CiAjZW5kaWYKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0ZVRpbWVM
b2NhbElucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0RhdGVUaW1lTG9jYWxJbnB1
dFR5cGUuY3BwCmluZGV4IDIxYzVmNDI0ZGM5ZjllMzUyNzNmNmNkNDdiODA3ZDBmNGU3YTk1YTgu
LjY4N2JmZmFlMTM5ZDFhODA0MDFhYzRiOWQ2MDZhNDY5NWYwZjU0NGUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvRGF0ZVRpbWVMb2NhbElucHV0VHlwZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9EYXRlVGltZUxvY2FsSW5wdXRUeXBlLmNwcApAQCAtMTcwLDYgKzE3MCwx
MSBAQCB2b2lkIERhdGVUaW1lTG9jYWxJbnB1dFR5cGU6OnNldHVwTGF5b3V0UGFyYW1ldGVycyhE
YXRlVGltZUVkaXRFbGVtZW50OjpMYXlvdXRQYQogICAgIGxheW91dFBhcmFtZXRlcnMucGxhY2Vo
b2xkZXJGb3JNb250aCA9IHBsYWNlaG9sZGVyRm9yTW9udGhGaWVsZCgpOwogICAgIGxheW91dFBh
cmFtZXRlcnMucGxhY2Vob2xkZXJGb3JZZWFyID0gcGxhY2Vob2xkZXJGb3JZZWFyRmllbGQoKTsK
IH0KKworYm9vbCBEYXRlVGltZUxvY2FsSW5wdXRUeXBlOjppc1ZhbGlkRm9ybWF0KGJvb2wgaGFz
WWVhciwgYm9vbCBoYXNNb250aCwgYm9vbCBoYXNXZWVrLCBib29sIGhhc0RheSwgYm9vbCBoYXNB
TVBNLCBib29sIGhhc0hvdXIsIGJvb2wgaGFzTWludXRlLCBib29sIGhhc1NlY29uZCkgY29uc3QK
K3sKKyAgICByZXR1cm4gaGFzWWVhciAmJiBoYXNNb250aCAmJiBoYXNEYXkgJiYgaGFzQU1QTSAm
JiBoYXNIb3VyICYmIGhhc01pbnV0ZTsKK30KICNlbmRpZgogCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0RhdGVUaW1lTG9jYWxJbnB1dFR5
cGUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0ZVRpbWVMb2NhbElucHV0VHlwZS5oCmluZGV4
IDMxZWVhNGQ1YTE4NDNlNzYzYmM2OGI3MWZkODNmMGQ5ZjhlNThhNzYuLmIxNmFiZTg0MjczODRk
NTAwZTkwNjJlZDNkZTE5MzMxY2I0ZWYyYWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvRGF0ZVRpbWVMb2NhbElucHV0VHlwZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0
ZVRpbWVMb2NhbElucHV0VHlwZS5oCkBAIC02Myw2ICs2Myw3IEBAIHByaXZhdGU6CiAgICAgLy8g
QmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUgZnVuY3Rpb25zCiAgICAgdmly
dHVhbCBTdHJpbmcgZm9ybWF0RGF0ZVRpbWVGaWVsZHNTdGF0ZShjb25zdCBEYXRlVGltZUZpZWxk
c1N0YXRlJikgY29uc3QgT1ZFUlJJREUgRklOQUw7CiAgICAgdmlydHVhbCB2b2lkIHNldHVwTGF5
b3V0UGFyYW1ldGVycyhEYXRlVGltZUVkaXRFbGVtZW50OjpMYXlvdXRQYXJhbWV0ZXJzJiwgY29u
c3QgRGF0ZUNvbXBvbmVudHMmKSBjb25zdCBPVkVSUklERSBGSU5BTDsKKyAgICB2aXJ0dWFsIGJv
b2wgaXNWYWxpZEZvcm1hdChib29sIGhhc1llYXIsIGJvb2wgaGFzTW9udGgsIGJvb2wgaGFzV2Vl
aywgYm9vbCBoYXNEYXksIGJvb2wgaGFzQU1QTSwgYm9vbCBoYXNIb3VyLCBib29sIGhhc01pbnV0
ZSwgYm9vbCBoYXNTZWNvbmQpIGNvbnN0OwogI2VuZGlmCiB9OwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL01vbnRoSW5wdXRUeXBlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
TW9udGhJbnB1dFR5cGUuY3BwCmluZGV4IDAzZmUxNjdkN2Q2OTA3NjQ3MTI0MGM4MjhjMjk4OTY0
ZGRjYTg0NTkuLjQ1NDk0ZTJkZjQwYWIyOWI4OWU4N2JmZWJmY2ZmNDZiYjdmZDA0MzkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTW9udGhJbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvTW9udGhJbnB1dFR5cGUuY3BwCkBAIC0xNjgsNiArMTY4LDExIEBAIHZv
aWQgTW9udGhJbnB1dFR5cGU6OnNldHVwTGF5b3V0UGFyYW1ldGVycyhEYXRlVGltZUVkaXRFbGVt
ZW50OjpMYXlvdXRQYXJhbWV0ZXJzCiAgICAgbGF5b3V0UGFyYW1ldGVycy5wbGFjZWhvbGRlckZv
clllYXIgPSAiLS0tLSI7CiB9CiAjZW5kaWYKKworYm9vbCBNb250aElucHV0VHlwZTo6aXNWYWxp
ZEZvcm1hdChib29sIGhhc1llYXIsIGJvb2wgaGFzTW9udGgsIGJvb2wgaGFzV2VlaywgYm9vbCBo
YXNEYXksIGJvb2wgaGFzQU1QTSwgYm9vbCBoYXNIb3VyLCBib29sIGhhc01pbnV0ZSwgYm9vbCBo
YXNTZWNvbmQpIGNvbnN0Cit7CisgICAgcmV0dXJuIGhhc1llYXIgJiYgaGFzTW9udGg7Cit9CiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9Nb250aElucHV0VHlwZS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9Nb250aElucHV0
VHlwZS5oCmluZGV4IDdlZDMxOGI4NGVjNTI0NTQzYTUxYWJmMmE2OWY0NTEyZmUxZjk1YWYuLjhm
YWU1YmJlN2IwNWI3ZWE1ZGZjYjhhNDM3NDU5MjJkOTY5YWEwYzAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvTW9udGhJbnB1dFR5cGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L01vbnRoSW5wdXRUeXBlLmgKQEAgLTY1LDYgKzY1LDcgQEAgcHJpdmF0ZToKICAgICAvLyBCYXNl
TXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZSBmdW5jdGlvbnMKICAgICB2aXJ0dWFs
IFN0cmluZyBmb3JtYXREYXRlVGltZUZpZWxkc1N0YXRlKGNvbnN0IERhdGVUaW1lRmllbGRzU3Rh
dGUmKSBjb25zdCBPVkVSUklERSBGSU5BTDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0dXBMYXlvdXRQ
YXJhbWV0ZXJzKERhdGVUaW1lRWRpdEVsZW1lbnQ6OkxheW91dFBhcmFtZXRlcnMmLCBjb25zdCBE
YXRlQ29tcG9uZW50cyYpIGNvbnN0IE9WRVJSSURFIEZJTkFMOworICAgIHZpcnR1YWwgYm9vbCBp
c1ZhbGlkRm9ybWF0KGJvb2wgaGFzWWVhciwgYm9vbCBoYXNNb250aCwgYm9vbCBoYXNXZWVrLCBi
b29sIGhhc0RheSwgYm9vbCBoYXNBTVBNLCBib29sIGhhc0hvdXIsIGJvb2wgaGFzTWludXRlLCBi
b29sIGhhc1NlY29uZCkgY29uc3Q7CiAjZW5kaWYKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvVGltZUlucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1RpbWVJ
bnB1dFR5cGUuY3BwCmluZGV4IGQ1YjRhN2E2MWZhYzRiMjJlMzk1OWRlYWNmYmI5MjhiNzBjMDRj
NDIuLjJiNmJiYzA3Y2RjZjdkZWQyOTVlYTU3NTQyMjdlN2E3ZjJjMTk1MjEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvVGltZUlucHV0VHlwZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9UaW1lSW5wdXRUeXBlLmNwcApAQCAtMTcwLDYgKzE3MCwxMSBAQCB2b2lkIFRpbWVJ
bnB1dFR5cGU6OnNldHVwTGF5b3V0UGFyYW1ldGVycyhEYXRlVGltZUVkaXRFbGVtZW50OjpMYXlv
dXRQYXJhbWV0ZXJzJgogICAgIGlmICghcGFyc2VUb0RhdGVDb21wb25lbnRzKGVsZW1lbnQoKS0+
ZmFzdEdldEF0dHJpYnV0ZShtYXhBdHRyKSwgJmxheW91dFBhcmFtZXRlcnMubWF4aW11bSkpCiAg
ICAgICAgIGxheW91dFBhcmFtZXRlcnMubWF4aW11bSA9IERhdGVDb21wb25lbnRzKCk7CiB9CisK
K2Jvb2wgVGltZUlucHV0VHlwZTo6aXNWYWxpZEZvcm1hdChib29sIGhhc1llYXIsIGJvb2wgaGFz
TW9udGgsIGJvb2wgaGFzV2VlaywgYm9vbCBoYXNEYXksIGJvb2wgaGFzQU1QTSwgYm9vbCBoYXNI
b3VyLCBib29sIGhhc01pbnV0ZSwgYm9vbCBoYXNTZWNvbmQpIGNvbnN0Cit7CisgICAgcmV0dXJu
IGhhc0hvdXIgJiYgaGFzTWludXRlICYmIGhhc0FNUE07Cit9CiAjZW5kaWYKIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9UaW1lSW5wdXRU
eXBlLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1RpbWVJbnB1dFR5cGUuaAppbmRleCAzMmVhYjVl
MWNiMTUxYzhhYWY2NmFhMDk1Mzc0YTNmMmRjODUxM2NkLi4xNmY1MTllN2QzOTNjNzI5OTU4Y2M4
NDE1NzA1MmJkNWRjOTNmMjFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1RpbWVJ
bnB1dFR5cGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1RpbWVJbnB1dFR5cGUuaApAQCAt
NjMsNiArNjMsNyBAQCBwcml2YXRlOgogICAgIC8vIEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRU
aW1lSW5wdXRUeXBlIGZ1bmN0aW9ucwogICAgIHZpcnR1YWwgU3RyaW5nIGZvcm1hdERhdGVUaW1l
RmllbGRzU3RhdGUoY29uc3QgRGF0ZVRpbWVGaWVsZHNTdGF0ZSYpIGNvbnN0IE9WRVJSSURFIEZJ
TkFMOwogICAgIHZpcnR1YWwgdm9pZCBzZXR1cExheW91dFBhcmFtZXRlcnMoRGF0ZVRpbWVFZGl0
RWxlbWVudDo6TGF5b3V0UGFyYW1ldGVycyYsIGNvbnN0IERhdGVDb21wb25lbnRzJikgY29uc3Qg
T1ZFUlJJREUgRklOQUw7CisgICAgdmlydHVhbCBib29sIGlzVmFsaWRGb3JtYXQoYm9vbCBoYXNZ
ZWFyLCBib29sIGhhc01vbnRoLCBib29sIGhhc1dlZWssIGJvb2wgaGFzRGF5LCBib29sIGhhc0FN
UE0sIGJvb2wgaGFzSG91ciwgYm9vbCBoYXNNaW51dGUsIGJvb2wgaGFzU2Vjb25kKSBjb25zdDsK
ICNlbmRpZgogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9XZWVrSW5wdXRU
eXBlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvV2Vla0lucHV0VHlwZS5jcHAKaW5kZXggMDYw
YjE4MTBmYzdjMTRmNWFiMzI1ZWIyZTExYzk3Mzk5ZDJhNjQxYy4uYWQ4YjhkNTNmYjhmZmViMDA4
YTllZmMwMzQwMDgyZTg3N2MwNzlkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9X
ZWVrSW5wdXRUeXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1dlZWtJbnB1dFR5cGUu
Y3BwCkBAIC0xMjAsNiArMTIwLDExIEBAIHZvaWQgV2Vla0lucHV0VHlwZTo6c2V0dXBMYXlvdXRQ
YXJhbWV0ZXJzKERhdGVUaW1lRWRpdEVsZW1lbnQ6OkxheW91dFBhcmFtZXRlcnMmCiAgICAgICAg
IGxheW91dFBhcmFtZXRlcnMubWF4aW11bSA9IERhdGVDb21wb25lbnRzKCk7CiAgICAgbGF5b3V0
UGFyYW1ldGVycy5wbGFjZWhvbGRlckZvclllYXIgPSAiLS0tLSI7CiB9CisKK2Jvb2wgV2Vla0lu
cHV0VHlwZTo6aXNWYWxpZEZvcm1hdChib29sIGhhc1llYXIsIGJvb2wgaGFzTW9udGgsIGJvb2wg
aGFzV2VlaywgYm9vbCBoYXNEYXksIGJvb2wgaGFzQU1QTSwgYm9vbCBoYXNIb3VyLCBib29sIGhh
c01pbnV0ZSwgYm9vbCBoYXNTZWNvbmQpIGNvbnN0Cit7CisgICAgcmV0dXJuIGhhc1llYXIgJiYg
aGFzV2VlazsKK30KICNlbmRpZgogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL1dlZWtJbnB1dFR5cGUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvV2Vla0lucHV0VHlwZS5oCmluZGV4IDM4NWJkNmQ4ZDdlOTllNjczNjM5NzExZmVkYTUxZWJi
ZTE4MWNhZWMuLjg5ZTc0M2QyOGY2OTc3MzhmODMxMWQzNzY0YmQxNGI5ZTg1MDMxOTAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvV2Vla0lucHV0VHlwZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvV2Vla0lucHV0VHlwZS5oCkBAIC02MSw2ICs2MSw3IEBAIHByaXZhdGU6CiAg
ICAgLy8gQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUgZnVuY3Rpb25zCiAg
ICAgdmlydHVhbCBTdHJpbmcgZm9ybWF0RGF0ZVRpbWVGaWVsZHNTdGF0ZShjb25zdCBEYXRlVGlt
ZUZpZWxkc1N0YXRlJikgY29uc3QgT1ZFUlJJREUgRklOQUw7CiAgICAgdmlydHVhbCB2b2lkIHNl
dHVwTGF5b3V0UGFyYW1ldGVycyhEYXRlVGltZUVkaXRFbGVtZW50OjpMYXlvdXRQYXJhbWV0ZXJz
JiwgY29uc3QgRGF0ZUNvbXBvbmVudHMmKSBjb25zdCBPVkVSUklERSBGSU5BTDsKKyAgICB2aXJ0
dWFsIGJvb2wgaXNWYWxpZEZvcm1hdChib29sIGhhc1llYXIsIGJvb2wgaGFzTW9udGgsIGJvb2wg
aGFzV2VlaywgYm9vbCBoYXNEYXksIGJvb2wgaGFzQU1QTSwgYm9vbCBoYXNIb3VyLCBib29sIGhh
c01pbnV0ZSwgYm9vbCBoYXNTZWNvbmQpIGNvbnN0OwogI2VuZGlmCiB9OwogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMzU5
OWJkODg4MGViMmZlOTkzMjE2NjI4YWQzY2UwNzY5OGVhZWQ5Ny4uY2I3NDYxNzc3NmNmYmI1OWMw
MDgxMmE2NTEzM2NmYWUwMmE5OGRmMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEzLTAzLTIx
ICBLdW5paGlrbyBTYWthbW90byAgPGtzYWthbW90b0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAg
SU5QVVRfTVVMVElQTEVfRklFTERTX1VJOiBJbmNvbXBsZXRlIGRhdGV0aW1lIGZvcm1hdCBzaG91
bGQgZmFsbGJhY2sgdG8gZGVmYXVsdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTEzMDA1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBmYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVs
dGlwbGUtZmllbGRzLWZhbGxiYWNrLWZvcm1hdC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGZhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMt
ZmFsbGJhY2stZm9ybWF0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvZGF0ZXRp
bWUtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lLW11bHRpcGxlLWZpZWxkcy1mYWxsYmFjay1mb3Jt
YXQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2RhdGV0aW1lLW11
bHRpcGxlLWZpZWxkcy9kYXRldGltZS1tdWx0aXBsZS1maWVsZHMtZmFsbGJhY2stZm9ybWF0Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1m
aWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtZmFsbGJhY2stZm9ybWF0LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRp
cGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy1mYWxsYmFjay1mb3JtYXQu
aHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMv
bW9udGgtbXVsdGlwbGUtZmllbGRzLWZhbGxiYWNrLWZvcm1hdC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGZhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRp
cGxlLWZpZWxkcy1mYWxsYmFjay1mb3JtYXQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9m
b3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1mYWxsYmFjay1m
b3JtYXQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3RpbWUtbXVs
dGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWZhbGxiYWNrLWZvcm1hdC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVs
dGlwbGUtZmllbGRzLWZhbGxiYWNrLWZvcm1hdC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGZhc3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMt
ZmFsbGJhY2stZm9ybWF0Lmh0bWw6IEFkZGVkLgorCiAyMDEzLTAzLTIxICBDbGF1ZGlvIFNhYXZl
ZHJhICA8Y3NhYXZlZHJhQGlnYWxpYS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCBHVEsrIGdh
cmRlbmluZy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBs
ZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtZmFsbGJhY2stZm9ybWF0LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0
aXBsZS1maWVsZHMtZmFsbGJhY2stZm9ybWF0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NjYz
MWYxNzM5ZDYxNTBhMWJiZjM5MGQzNzBjZTY5Y2NiZjg3NjJiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxl
LWZpZWxkcy1mYWxsYmFjay1mb3JtYXQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTUgQEAKK0No
ZWNrcyBpbmNvbXBsZXRlIGRhdGV0aW1lIGZvcm1hdHMgYXJlIHJlamVjdGVkLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKKworVmFsaWQgZm9ybWF0CitQQVNTIGdldFVzZXJBZ2VudFNo
YWRvd1RleHRDb250ZW50KGlucHV0KSBpcyAiMzEtMDctMTk5OSIKK0ludmFsaWQgZm9ybWF0LCBm
YWxsYmFjayB0byB5eXl5LU1NLWRkCitQQVNTIGdldFVzZXJBZ2VudFNoYWRvd1RleHRDb250ZW50
KGlucHV0KSBpcyAiMTk5OS0wNy0zMSIKK1BBU1MgZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRl
bnQoaW5wdXQpIGlzICIxOTk5LTA3LTMxIgorUEFTUyBnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29u
dGVudChpbnB1dCkgaXMgIjE5OTktMDctMzEiCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1mYWxsYmFjay1mb3Jt
YXQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0
ZS1tdWx0aXBsZS1maWVsZHMtZmFsbGJhY2stZm9ybWF0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2Q5YjI2
MDQ2OWUwOTk3Njc3NmNlMjA1N2U5MzlkOTc2NmRkZWY3NgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1m
aWVsZHMtZmFsbGJhY2stZm9ybWF0Lmh0bWwKQEAgLTAsMCArMSwzOSBAQAorPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2NvbW1vbi5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbignQ2hl
Y2tzIGluY29tcGxldGUgZGF0ZXRpbWUgZm9ybWF0cyBhcmUgcmVqZWN0ZWQuJyk7CisKK3ZhciBp
bnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7CitpbnB1dC50eXBlID0gJ2Rh
dGUnOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpbnB1dCk7CisKK2Z1bmN0aW9uIHNldERh
dGVUaW1lRm9ybWF0KHBhdHRlcm4pIHsKKyAgICB2YXIgdmFsdWUgPSBpbnB1dC52YWx1ZTsKKyAg
ICBnZXRFbGVtZW50QnlQc2V1ZG9JZChpbnRlcm5hbHMueW91bmdlc3RTaGFkb3dSb290KGlucHV0
KSwgJy13ZWJraXQtZGF0ZXRpbWUtZWRpdCcpLnNldEF0dHJpYnV0ZSgncGF0dGVybicsIHBhdHRl
cm4pOworICAgIGlucHV0LnZhbHVlID0gJyc7IC8vIFVwZGF0ZXMgdGhlIGVsZW1lbnQgZm9yIG5l
dyBmb3JtYXQKKyAgICBpbnB1dC52YWx1ZSA9IHZhbHVlOworfQorCitpbnB1dC52YWx1ZSA9ICcx
OTk5LTA3LTMxJzsKKworZGVidWcoJ1ZhbGlkIGZvcm1hdCcpOworc2V0RGF0ZVRpbWVGb3JtYXQo
ImRkLU1NLXl5eXkiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZ2V0VXNlckFnZW50U2hhZG93
VGV4dENvbnRlbnQoaW5wdXQpJywgJzMxLTA3LTE5OTknKTsKKworZGVidWcoIkludmFsaWQgZm9y
bWF0LCBmYWxsYmFjayB0byB5eXl5LU1NLWRkIik7CitzZXREYXRlVGltZUZvcm1hdCgneXl5eS1N
TScpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29udGVu
dChpbnB1dCknLCAnMTk5OS0wNy0zMScpOworc2V0RGF0ZVRpbWVGb3JtYXQoJ01NL2RkJyk7Citz
aG91bGRCZUVxdWFsVG9TdHJpbmcoJ2dldFVzZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0
KScsICcxOTk5LTA3LTMxJyk7CitzZXREYXRlVGltZUZvcm1hdCgnZGQteXl5eScpOworc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCdnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29udGVudChpbnB1dCknLCAn
MTk5OS0wNy0zMScpOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWUtbXVsdGlwbGUtZmllbGRzL2RhdGV0
aW1lLW11bHRpcGxlLWZpZWxkcy1mYWxsYmFjay1mb3JtYXQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGltZS1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWUtbXVsdGlw
bGUtZmllbGRzLWZhbGxiYWNrLWZvcm1hdC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTcyYmI3
OTUzYjU0Zjg3MjM3ZjE3MTU1NTI2NGJlMjA5MjZkNTA1OQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWUtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lLW11
bHRpcGxlLWZpZWxkcy1mYWxsYmFjay1mb3JtYXQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTUg
QEAKK0NoZWNrcyBpbmNvbXBsZXRlIGRhdGV0aW1lIGZvcm1hdHMgYXJlIHJlamVjdGVkLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworVmFsaWQgZm9ybWF0CitQQVNTIGdldFVzZXJB
Z2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0KSBpcyAiMTk5OS0wNy0zMSAxMTo1OSBQTSIKK0lu
dmFsaWQgZm9ybWF0LCBmYWxsYmFjayB0byB5eXl5LU1NLWRkJ1QnSEg6bW0KK1BBU1MgZ2V0VXNl
ckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpIGlzICIxOTk5LTA3LTMxVDIzOjU5IgorUEFT
UyBnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29udGVudChpbnB1dCkgaXMgIjE5OTktMDctMzFUMjM6
NTkiCitQQVNTIGdldFVzZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0KSBpcyAiMTk5OS0w
Ny0zMVQyMzo1OSIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lLW11bHRp
cGxlLWZpZWxkcy9kYXRldGltZS1tdWx0aXBsZS1maWVsZHMtZmFsbGJhY2stZm9ybWF0Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lLW11bHRpcGxlLWZpZWxkcy9kYXRldGlt
ZS1tdWx0aXBsZS1maWVsZHMtZmFsbGJhY2stZm9ybWF0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjA5ZjY4
OGFkOTYzYzg1YzA3NzNlMzg3NmRkNWRlYWNhYmVkMmZjMQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWUtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lLW11
bHRpcGxlLWZpZWxkcy1mYWxsYmFjay1mb3JtYXQuaHRtbApAQCAtMCwwICsxLDM5IEBACis8IURP
Q1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMv
Y29tbW9uLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KK2Rlc2NyaXB0
aW9uKCdDaGVja3MgaW5jb21wbGV0ZSBkYXRldGltZSBmb3JtYXRzIGFyZSByZWplY3RlZC4nKTsK
KwordmFyIGlucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTsKK2lucHV0LnR5
cGUgPSAnZGF0ZXRpbWUtbG9jYWwnOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpbnB1dCk7
CisKK2Z1bmN0aW9uIHNldERhdGVUaW1lRm9ybWF0KHBhdHRlcm4pIHsKKyAgICB2YXIgdmFsdWUg
PSBpbnB1dC52YWx1ZTsKKyAgICBnZXRFbGVtZW50QnlQc2V1ZG9JZChpbnRlcm5hbHMueW91bmdl
c3RTaGFkb3dSb290KGlucHV0KSwgJy13ZWJraXQtZGF0ZXRpbWUtZWRpdCcpLnNldEF0dHJpYnV0
ZSgncGF0dGVybicsIHBhdHRlcm4pOworICAgIGlucHV0LnZhbHVlID0gJyc7IC8vIFVwZGF0ZXMg
dGhlIGVsZW1lbnQgZm9yIG5ldyBmb3JtYXQKKyAgICBpbnB1dC52YWx1ZSA9IHZhbHVlOworfQor
CitpbnB1dC52YWx1ZSA9ICcxOTk5LTA3LTMxVDIzOjU5JzsKKworZGVidWcoJ1ZhbGlkIGZvcm1h
dCcpOworc2V0RGF0ZVRpbWVGb3JtYXQoInl5eXktTU0tZGQgaGg6bW0gYSIpOworc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCdnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29udGVudChpbnB1dCknLCAnMTk5
OS0wNy0zMSAxMTo1OSBQTScpOworCitkZWJ1ZygiSW52YWxpZCBmb3JtYXQsIGZhbGxiYWNrIHRv
IHl5eXktTU0tZGQnVCdISDptbSIpOworc2V0RGF0ZVRpbWVGb3JtYXQoJ3l5eXktTU0tZGQnKTsK
K3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5w
dXQpJywgJzE5OTktMDctMzFUMjM6NTknKTsKK3NldERhdGVUaW1lRm9ybWF0KCdISDptbScpOwor
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29udGVudChpbnB1
dCknLCAnMTk5OS0wNy0zMVQyMzo1OScpOworc2V0RGF0ZVRpbWVGb3JtYXQoInl5eXktTU0tZGQn
VCdoaDptbSIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdnZXRVc2VyQWdlbnRTaGFkb3dUZXh0
Q29udGVudChpbnB1dCknLCAnMTk5OS0wNy0zMVQyMzo1OScpOworCis8L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRp
bWVsb2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtZmFs
bGJhY2stZm9ybWF0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRp
bWVsb2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtZmFs
bGJhY2stZm9ybWF0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hNzJiYjc5NTNiNTRmODcyMzdm
MTcxNTU1MjY0YmUyMDkyNmQ1MDU5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11bHRp
cGxlLWZpZWxkcy1mYWxsYmFjay1mb3JtYXQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTUgQEAK
K0NoZWNrcyBpbmNvbXBsZXRlIGRhdGV0aW1lIGZvcm1hdHMgYXJlIHJlamVjdGVkLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworVmFsaWQgZm9ybWF0CitQQVNTIGdldFVzZXJBZ2Vu
dFNoYWRvd1RleHRDb250ZW50KGlucHV0KSBpcyAiMTk5OS0wNy0zMSAxMTo1OSBQTSIKK0ludmFs
aWQgZm9ybWF0LCBmYWxsYmFjayB0byB5eXl5LU1NLWRkJ1QnSEg6bW0KK1BBU1MgZ2V0VXNlckFn
ZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpIGlzICIxOTk5LTA3LTMxVDIzOjU5IgorUEFTUyBn
ZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29udGVudChpbnB1dCkgaXMgIjE5OTktMDctMzFUMjM6NTki
CitQQVNTIGdldFVzZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0KSBpcyAiMTk5OS0wNy0z
MVQyMzo1OSIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVs
dGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLWZhbGxiYWNrLWZvcm1h
dC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZp
ZWxkcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy1mYWxsYmFjay1mb3JtYXQuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMDlmNjg4YWQ5NjNjODVjMDc3M2UzODc2ZGQ1ZGVhY2FiZWQyZmMxCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRp
cGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy1mYWxsYmFjay1mb3JtYXQu
aHRtbApAQCAtMCwwICsxLDM5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY29tbW9uLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCdDaGVja3MgaW5jb21wbGV0ZSBkYXRldGlt
ZSBmb3JtYXRzIGFyZSByZWplY3RlZC4nKTsKKwordmFyIGlucHV0ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgnaW5wdXQnKTsKK2lucHV0LnR5cGUgPSAnZGF0ZXRpbWUtbG9jYWwnOworZG9jdW1l
bnQuYm9keS5hcHBlbmRDaGlsZChpbnB1dCk7CisKK2Z1bmN0aW9uIHNldERhdGVUaW1lRm9ybWF0
KHBhdHRlcm4pIHsKKyAgICB2YXIgdmFsdWUgPSBpbnB1dC52YWx1ZTsKKyAgICBnZXRFbGVtZW50
QnlQc2V1ZG9JZChpbnRlcm5hbHMueW91bmdlc3RTaGFkb3dSb290KGlucHV0KSwgJy13ZWJraXQt
ZGF0ZXRpbWUtZWRpdCcpLnNldEF0dHJpYnV0ZSgncGF0dGVybicsIHBhdHRlcm4pOworICAgIGlu
cHV0LnZhbHVlID0gJyc7IC8vIFVwZGF0ZXMgdGhlIGVsZW1lbnQgZm9yIG5ldyBmb3JtYXQKKyAg
ICBpbnB1dC52YWx1ZSA9IHZhbHVlOworfQorCitpbnB1dC52YWx1ZSA9ICcxOTk5LTA3LTMxVDIz
OjU5JzsKKworZGVidWcoJ1ZhbGlkIGZvcm1hdCcpOworc2V0RGF0ZVRpbWVGb3JtYXQoInl5eXkt
TU0tZGQgaGg6bW0gYSIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdnZXRVc2VyQWdlbnRTaGFk
b3dUZXh0Q29udGVudChpbnB1dCknLCAnMTk5OS0wNy0zMSAxMTo1OSBQTScpOworCitkZWJ1Zygi
SW52YWxpZCBmb3JtYXQsIGZhbGxiYWNrIHRvIHl5eXktTU0tZGQnVCdISDptbSIpOworc2V0RGF0
ZVRpbWVGb3JtYXQoJ3l5eXktTU0tZGQnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZ2V0VXNl
ckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpJywgJzE5OTktMDctMzFUMjM6NTknKTsKK3Nl
dERhdGVUaW1lRm9ybWF0KCdISDptbScpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdnZXRVc2Vy
QWdlbnRTaGFkb3dUZXh0Q29udGVudChpbnB1dCknLCAnMTk5OS0wNy0zMVQyMzo1OScpOworc2V0
RGF0ZVRpbWVGb3JtYXQoInl5eXktTU0tZGQnVCdoaDptbSIpOworc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCdnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29udGVudChpbnB1dCknLCAnMTk5OS0wNy0zMVQy
Mzo1OScpOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxl
LWZpZWxkcy1mYWxsYmFjay1mb3JtYXQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLWZhbGxiYWNr
LWZvcm1hdC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjM4Yjk2YWE1NDg0OGIwMWQwMjkzY2I0
MzVjMGM5NzY2NWI2ZjQyMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy1mYWxsYmFjay1m
b3JtYXQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTQgQEAKK0NoZWNrcyBpbmNvbXBsZXRlIGRh
dGV0aW1lIGZvcm1hdHMgYXJlIHJlamVjdGVkLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKKworVmFsaWQgZm9ybWF0CitQQVNTIGdldFVzZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlu
cHV0KSBpcyAiMDctMTk5OSIKK0ludmFsaWQgZm9ybWF0LCBmYWxsYmFjayB0byB5eXl5LU1NCitQ
QVNTIGdldFVzZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0KSBpcyAiMTk5OS0wNyIKK1BB
U1MgZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpIGlzICIxOTk5LTA3IgorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11
bHRpcGxlLWZpZWxkcy1mYWxsYmFjay1mb3JtYXQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy1mYWxsYmFjay1m
b3JtYXQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yOTUxMWFiNjJjOWU4ZjcxZWNhZTZiYzk5NTU1NWE1ODVl
YWQzNmZlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250aC1t
dWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLWZhbGxiYWNrLWZvcm1hdC5odG1s
CkBAIC0wLDAgKzEsMzcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oJ0NoZWNrcyBpbmNvbXBsZXRlIGRhdGV0aW1lIGZv
cm1hdHMgYXJlIHJlamVjdGVkLicpOworCit2YXIgaW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCdpbnB1dCcpOworaW5wdXQudHlwZSA9ICdtb250aCc7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKGlucHV0KTsKKworZnVuY3Rpb24gc2V0RGF0ZVRpbWVGb3JtYXQocGF0dGVybikgewor
ICAgIHZhciB2YWx1ZSA9IGlucHV0LnZhbHVlOworICAgIGdldEVsZW1lbnRCeVBzZXVkb0lkKGlu
dGVybmFscy55b3VuZ2VzdFNoYWRvd1Jvb3QoaW5wdXQpLCAnLXdlYmtpdC1kYXRldGltZS1lZGl0
Jykuc2V0QXR0cmlidXRlKCdwYXR0ZXJuJywgcGF0dGVybik7CisgICAgaW5wdXQudmFsdWUgPSAn
JzsgLy8gVXBkYXRlcyB0aGUgZWxlbWVudCBmb3IgbmV3IGZvcm1hdAorICAgIGlucHV0LnZhbHVl
ID0gdmFsdWU7Cit9CisKK2lucHV0LnZhbHVlID0gJzE5OTktMDcnOworCitkZWJ1ZygnVmFsaWQg
Zm9ybWF0Jyk7CitzZXREYXRlVGltZUZvcm1hdCgnTU0teXl5eScpOworc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCdnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29udGVudChpbnB1dCknLCAnMDctMTk5OScp
OworCitkZWJ1ZygnSW52YWxpZCBmb3JtYXQsIGZhbGxiYWNrIHRvIHl5eXktTU0nKTsKK3NldERh
dGVUaW1lRm9ybWF0KCdtbS15eXl5Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2dldFVzZXJB
Z2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0KScsICcxOTk5LTA3Jyk7CitzZXREYXRlVGltZUZv
cm1hdCgnTScpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdnZXRVc2VyQWdlbnRTaGFkb3dUZXh0
Q29udGVudChpbnB1dCknLCAnMTk5OS0wNycpOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1m
aWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtZmFsbGJhY2stZm9ybWF0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBs
ZS1maWVsZHMtZmFsbGJhY2stZm9ybWF0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MjE3NGQ0
MmVmN2EwNWMzMjIyY2MxOWJmMTkyMzFkYmZkZGQwNzIyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZp
ZWxkcy1mYWxsYmFjay1mb3JtYXQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTcgQEAKK0NoZWNr
cyBpbmNvbXBsZXRlIGRhdGV0aW1lIGZvcm1hdHMgYXJlIHJlamVjdGVkLgorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKKworVmFsaWQgZm9ybWF0CitQQVNTIGdldFVzZXJBZ2VudFNoYWRv
d1RleHRDb250ZW50KGlucHV0KSBpcyAiMDEuMjM0OjU5OjExIFBNIgorUEFTUyBnZXRVc2VyQWdl
bnRTaGFkb3dUZXh0Q29udGVudChpbnB1dCkgaXMgIjAxLjIzNDo1OToyMyIKK1BBU1MgZ2V0VXNl
ckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpIGlzICIwMS4yMzQ6NTk6MjMgUE0iCitJbnZh
bGlkIGZvcm1hdCwgZmFsbGJhY2sgdG8gSEg6bW06c3MKK1BBU1MgZ2V0VXNlckFnZW50U2hhZG93
VGV4dENvbnRlbnQoaW5wdXQpIGlzICIyMzo1OTowMS4yMzQiCitQQVNTIGdldFVzZXJBZ2VudFNo
YWRvd1RleHRDb250ZW50KGlucHV0KSBpcyAiMjM6NTk6MDEuMjM0IgorUEFTUyBnZXRVc2VyQWdl
bnRTaGFkb3dUZXh0Q29udGVudChpbnB1dCkgaXMgIjIzOjU5OjAxLjIzNCIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmll
bGRzLWZhbGxiYWNrLWZvcm1hdC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11
bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1mYWxsYmFjay1mb3JtYXQuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43NjZlMTYxN2Y5N2UxZjc4NjM0MGE1OWNhNjU0OTFkODRmYTE5MWQxCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxk
cy90aW1lLW11bHRpcGxlLWZpZWxkcy1mYWxsYmFjay1mb3JtYXQuaHRtbApAQCAtMCwwICsxLDQz
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
anMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9y
ZXNvdXJjZXMvY29tbW9uLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4K
K2Rlc2NyaXB0aW9uKCdDaGVja3MgaW5jb21wbGV0ZSBkYXRldGltZSBmb3JtYXRzIGFyZSByZWpl
Y3RlZC4nKTsKKwordmFyIGlucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTsK
K2lucHV0LnR5cGUgPSAndGltZSc7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGlucHV0KTsK
KworZnVuY3Rpb24gc2V0RGF0ZVRpbWVGb3JtYXQocGF0dGVybikgeworICAgIHZhciB2YWx1ZSA9
IGlucHV0LnZhbHVlOworICAgIGdldEVsZW1lbnRCeVBzZXVkb0lkKGludGVybmFscy55b3VuZ2Vz
dFNoYWRvd1Jvb3QoaW5wdXQpLCAnLXdlYmtpdC1kYXRldGltZS1lZGl0Jykuc2V0QXR0cmlidXRl
KCdwYXR0ZXJuJywgcGF0dGVybik7CisgICAgaW5wdXQudmFsdWUgPSAnJzsgLy8gVXBkYXRlcyB0
aGUgZWxlbWVudCBmb3IgbmV3IGZvcm1hdAorICAgIGlucHV0LnZhbHVlID0gdmFsdWU7Cit9CisK
K2lucHV0LnZhbHVlID0gJzIzOjU5OjAxLjIzNCc7CisKK2RlYnVnKCdWYWxpZCBmb3JtYXQnKTsK
K3NldERhdGVUaW1lRm9ybWF0KCdzczptbTpoaCBhJyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmco
J2dldFVzZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0KScsICcwMS4yMzQ6NTk6MTEgUE0n
KTsKK3NldERhdGVUaW1lRm9ybWF0KCdzczptbTpISCcpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCdnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29udGVudChpbnB1dCknLCAnMDEuMjM0OjU5OjIzJyk7
CitzZXREYXRlVGltZUZvcm1hdCgnc3M6bW06SEggYScpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCdnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29udGVudChpbnB1dCknLCAnMDEuMjM0OjU5OjIzIFBN
Jyk7CisKK2RlYnVnKCdJbnZhbGlkIGZvcm1hdCwgZmFsbGJhY2sgdG8gSEg6bW06c3MnKTsKK3Nl
dERhdGVUaW1lRm9ybWF0KCdISCcpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdnZXRVc2VyQWdl
bnRTaGFkb3dUZXh0Q29udGVudChpbnB1dCknLCAnMjM6NTk6MDEuMjM0Jyk7CitzZXREYXRlVGlt
ZUZvcm1hdCgnbW06c3MnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZ2V0VXNlckFnZW50U2hh
ZG93VGV4dENvbnRlbnQoaW5wdXQpJywgJzIzOjU5OjAxLjIzNCcpOworc2V0RGF0ZVRpbWVGb3Jt
YXQoJ2hoOm1tOnNzJyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2dldFVzZXJBZ2VudFNoYWRv
d1RleHRDb250ZW50KGlucHV0KScsICcyMzo1OTowMS4yMzQnKTsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3dlZWst
bXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLWZhbGxiYWNrLWZvcm1hdC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dl
ZWstbXVsdGlwbGUtZmllbGRzLWZhbGxiYWNrLWZvcm1hdC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2IyY2NhOGVkNmFlZTY1ZDBiNDM1MmI5MGE3ZDkzMTE4M2ExNzIxZgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vlay1t
dWx0aXBsZS1maWVsZHMtZmFsbGJhY2stZm9ybWF0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE0
IEBACitDaGVja3MgaW5jb21wbGV0ZSBkYXRldGltZSBmb3JtYXRzIGFyZSByZWplY3RlZC4KKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1ZhbGlkIGZvcm1hdAorUEFTUyBnZXRVc2Vy
QWdlbnRTaGFkb3dUZXh0Q29udGVudChpbnB1dCkgaXMgIldlZWswOSAxOTk5IgorSW52YWxpZCBm
b3JtYXQsIGZhbGxiYWNrIHRvIHl5eXktJ1cnd3cKK1BBU1MgZ2V0VXNlckFnZW50U2hhZG93VGV4
dENvbnRlbnQoaW5wdXQpIGlzICIxOTk5LVcwOSIKK1BBU1MgZ2V0VXNlckFnZW50U2hhZG93VGV4
dENvbnRlbnQoaW5wdXQpIGlzICIxOTk5LVcwOSIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLWZhbGxiYWNrLWZv
cm1hdC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy93
ZWVrLW11bHRpcGxlLWZpZWxkcy1mYWxsYmFjay1mb3JtYXQuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yNWY0
OTJiYmRiOTFlMjU0YmYwYTUzYmVkMGNhZjEwNWZmN2ZiYTA3Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRpcGxl
LWZpZWxkcy1mYWxsYmFjay1mb3JtYXQuaHRtbApAQCAtMCwwICsxLDM3IEBACis8IURPQ1RZUEUg
aHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY29tbW9u
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCdD
aGVja3MgaW5jb21wbGV0ZSBkYXRldGltZSBmb3JtYXRzIGFyZSByZWplY3RlZC4nKTsKKwordmFy
IGlucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTsKK2lucHV0LnR5cGUgPSAn
d2Vlayc7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGlucHV0KTsKKworZnVuY3Rpb24gc2V0
RGF0ZVRpbWVGb3JtYXQocGF0dGVybikgeworICAgIHZhciB2YWx1ZSA9IGlucHV0LnZhbHVlOwor
ICAgIGdldEVsZW1lbnRCeVBzZXVkb0lkKGludGVybmFscy55b3VuZ2VzdFNoYWRvd1Jvb3QoaW5w
dXQpLCAnLXdlYmtpdC1kYXRldGltZS1lZGl0Jykuc2V0QXR0cmlidXRlKCdwYXR0ZXJuJywgcGF0
dGVybik7CisgICAgaW5wdXQudmFsdWUgPSAnJzsgLy8gVXBkYXRlcyB0aGUgZWxlbWVudCBmb3Ig
bmV3IGZvcm1hdAorICAgIGlucHV0LnZhbHVlID0gdmFsdWU7Cit9CisKK2lucHV0LnZhbHVlID0g
JzE5OTktVzA5JzsKKworZGVidWcoJ1ZhbGlkIGZvcm1hdCcpOworc2V0RGF0ZVRpbWVGb3JtYXQo
IidXZWVrJ3d3IHl5eXkiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZ2V0VXNlckFnZW50U2hh
ZG93VGV4dENvbnRlbnQoaW5wdXQpJywgJ1dlZWswOSAxOTk5Jyk7CisKK2RlYnVnKCJJbnZhbGlk
IGZvcm1hdCwgZmFsbGJhY2sgdG8geXl5eS0nVyd3dyIpOworc2V0RGF0ZVRpbWVGb3JtYXQoJ3d3
Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2dldFVzZXJBZ2VudFNoYWRvd1RleHRDb250ZW50
KGlucHV0KScsICcxOTk5LVcwOScpOworc2V0RGF0ZVRpbWVGb3JtYXQoJ3l5eXknKTsKK3Nob3Vs
ZEJlRXF1YWxUb1N0cmluZygnZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpJywg
JzE5OTktVzA5Jyk7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>194460</attachid>
            <date>2013-03-22 00:33:58 -0700</date>
            <delta_ts>2013-03-22 02:19:09 -0700</delta_ts>
            <desc>Patch 3, EWS build fix</desc>
            <filename>bug-113005-20130322162946.patch</filename>
            <type>text/plain</type>
            <size>34289</size>
            <attacher name="Kunihiko Sakamoto">ksakamoto</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ2NDkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODYxYTc4YjU0YzczNDQ1
ODRjMmNlMWQ3YTViZTVkMzY4ODQ1NDE5Yy4uMTkyODExMzg5NTBjNmE0NThhYWMyNTMzOGMyNGIz
MmI5NjQ2MGRjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUyIEBACisyMDEzLTAzLTIxICBLdW5p
aGlrbyBTYWthbW90byAgPGtzYWthbW90b0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSU5QVVRf
TVVMVElQTEVfRklFTERTX1VJOiBJbmNvbXBsZXRlIGRhdGV0aW1lIGZvcm1hdCBzaG91bGQgZmFs
bGJhY2sgdG8gZGVmYXVsdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTEzMDA1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgVXNlIGZhbGxiYWNrIGZvcm1hdCB3aGVuIGRhdGV0aW1lIGZvcm1hdCBmcm9tIGxv
Y2FsZSBpcyBub3QgY29tcGxldGUuCisKKyAgICAgICAgVGVzdHM6IGZhc3QvZm9ybXMvZGF0ZS1t
dWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtZmFsbGJhY2stZm9ybWF0Lmh0bWwK
KyAgICAgICAgICAgICAgIGZhc3QvZm9ybXMvZGF0ZXRpbWUtbXVsdGlwbGUtZmllbGRzL2RhdGV0
aW1lLW11bHRpcGxlLWZpZWxkcy1mYWxsYmFjay1mb3JtYXQuaHRtbAorICAgICAgICAgICAgICAg
ZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11
bHRpcGxlLWZpZWxkcy1mYWxsYmFjay1mb3JtYXQuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9m
b3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLWZhbGxiYWNr
LWZvcm1hdC5odG1sCisgICAgICAgICAgICAgICBmYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmll
bGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWZhbGxiYWNrLWZvcm1hdC5odG1sCisgICAgICAgICAg
ICAgICBmYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRz
LWZhbGxiYWNrLWZvcm1hdC5odG1sCisKKyAgICAgICAgKiBodG1sL0Jhc2VNdWx0aXBsZUZpZWxk
c0RhdGVBbmRUaW1lSW5wdXRUeXBlLmNwcDoKKyAgICAgICAgKEZvcm1hdFZhbGlkYXRvcik6IEEg
aGVscGVyIGNsYXNzIHRoYXQgcGFyc2VzIGRhdGV0aW1lIGZvcm1hdCBhbmQgdGVzdHMgZXhpc3Rl
bmNlIG9mIGZpZWxkcy4KKyAgICAgICAgKFdlYkNvcmU6OkZvcm1hdFZhbGlkYXRvcjo6Rm9ybWF0
VmFsaWRhdG9yKToKKyAgICAgICAgKFdlYkNvcmU6OkZvcm1hdFZhbGlkYXRvcjo6dmlzaXRGaWVs
ZCk6CisgICAgICAgIChXZWJDb3JlOjpGb3JtYXRWYWxpZGF0b3I6OnZhbGlkYXRlRm9ybWF0KTog
UGFyc2VzIGRhdGV0aW1lIGZvcm1hdCBhbmQgdmFsaWRhdGVzIGJ5IGNhbGxpbmcgQmFzZU11bHRp
cGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGU6OmlzVmFsaWRGb3JtYXQuCisgICAgICAgIChX
ZWJDb3JlOjpCYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZTo6dXBkYXRlSW5u
ZXJUZXh0VmFsdWUpOiBDaGVja3MgaWYgZGF0ZVRpbWVGb3JtYXQgaXMgdmFsaWQsIGFuZCB1c2Vz
IGZhbGxiYWNrIGZvcm1hdCBpZiBub3QuCisgICAgICAgICogaHRtbC9CYXNlTXVsdGlwbGVGaWVs
ZHNEYXRlQW5kVGltZUlucHV0VHlwZS5oOgorICAgICAgICAoQmFzZU11bHRpcGxlRmllbGRzRGF0
ZUFuZFRpbWVJbnB1dFR5cGUpOiBEZWNsYXJlIGlzVmFsaWRGb3JtYXQuCisgICAgICAgICogaHRt
bC9EYXRlSW5wdXRUeXBlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRhdGVJbnB1dFR5cGU6Omlz
VmFsaWRGb3JtYXQpOiBBZGRlZC4KKyAgICAgICAgKiBodG1sL0RhdGVJbnB1dFR5cGUuaDoKKyAg
ICAgICAgKERhdGVJbnB1dFR5cGUpOgorICAgICAgICAqIGh0bWwvRGF0ZVRpbWVJbnB1dFR5cGUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6RGF0ZVRpbWVJbnB1dFR5cGU6OmlzVmFsaWRGb3JtYXQp
OiBBZGRlZC4KKyAgICAgICAgKiBodG1sL0RhdGVUaW1lSW5wdXRUeXBlLmg6CisgICAgICAgIChE
YXRlVGltZUlucHV0VHlwZSk6CisgICAgICAgICogaHRtbC9EYXRlVGltZUxvY2FsSW5wdXRUeXBl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRhdGVUaW1lTG9jYWxJbnB1dFR5cGU6OmlzVmFsaWRG
b3JtYXQpOiBBZGRlZC4KKyAgICAgICAgKiBodG1sL0RhdGVUaW1lTG9jYWxJbnB1dFR5cGUuaDoK
KyAgICAgICAgKERhdGVUaW1lTG9jYWxJbnB1dFR5cGUpOgorICAgICAgICAqIGh0bWwvTW9udGhJ
bnB1dFR5cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TW9udGhJbnB1dFR5cGU6OmlzVmFsaWRG
b3JtYXQpOiBBZGRlZC4KKyAgICAgICAgKiBodG1sL01vbnRoSW5wdXRUeXBlLmg6CisgICAgICAg
IChNb250aElucHV0VHlwZSk6CisgICAgICAgICogaHRtbC9UaW1lSW5wdXRUeXBlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlRpbWVJbnB1dFR5cGU6OmlzVmFsaWRGb3JtYXQpOiBBZGRlZC4KKyAg
ICAgICAgKiBodG1sL1RpbWVJbnB1dFR5cGUuaDoKKyAgICAgICAgKFRpbWVJbnB1dFR5cGUpOgor
ICAgICAgICAqIGh0bWwvV2Vla0lucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWVr
SW5wdXRUeXBlOjppc1ZhbGlkRm9ybWF0KTogQWRkZWQuCisgICAgICAgICogaHRtbC9XZWVrSW5w
dXRUeXBlLmg6CisgICAgICAgIChXZWVrSW5wdXRUeXBlKToKKwogMjAxMy0wMy0yMSAgQW50b24g
TXVoaW4gIDxhbnRvbm1AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxp
bmcgb3V0IHIxNDY0ODMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VNdWx0
aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
QmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUuY3BwCmluZGV4IGYzMWFmMmQ1
ZTY2ODk5Y2U5OTg1OTU2M2E3NGE3ZDU0ZWUzNzI5MDMuLjI2NWY4ZDEyNDlhYzYxNGQxMDMyMDZi
MjI3YzU1NmEyNzRlY2EyNWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvQmFzZU11
bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUuY3BwCkBAIC0zNSw2
ICszNSw3IEBACiAjaW5jbHVkZSAiQ1NTVmFsdWVLZXl3b3Jkcy5oIgogI2luY2x1ZGUgIkRhdGVD
b21wb25lbnRzLmgiCiAjaW5jbHVkZSAiRGF0ZVRpbWVGaWVsZHNTdGF0ZS5oIgorI2luY2x1ZGUg
IkRhdGVUaW1lRm9ybWF0LmgiCiAjaW5jbHVkZSAiRWxlbWVudFNoYWRvdy5oIgogI2luY2x1ZGUg
IkZvY3VzQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIkZvcm1Db250cm9sbGVyLmgiCkBAIC01Myw2
ICs1NCw4MCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIERhdGVUaW1lRm9ybWF0
VmFsaWRhdG9yIDogcHVibGljIERhdGVUaW1lRm9ybWF0OjpUb2tlbkhhbmRsZXIgeworcHVibGlj
OgorICAgIERhdGVUaW1lRm9ybWF0VmFsaWRhdG9yKCkKKyAgICAgICAgOiBtX2hhc1llYXIoZmFs
c2UpCisgICAgICAgICwgbV9oYXNNb250aChmYWxzZSkKKyAgICAgICAgLCBtX2hhc1dlZWsoZmFs
c2UpCisgICAgICAgICwgbV9oYXNEYXkoZmFsc2UpCisgICAgICAgICwgbV9oYXNBTVBNKGZhbHNl
KQorICAgICAgICAsIG1faGFzSG91cihmYWxzZSkKKyAgICAgICAgLCBtX2hhc01pbnV0ZShmYWxz
ZSkKKyAgICAgICAgLCBtX2hhc1NlY29uZChmYWxzZSkgeyB9CisKKyAgICB2aXJ0dWFsIHZvaWQg
dmlzaXRGaWVsZChEYXRlVGltZUZvcm1hdDo6RmllbGRUeXBlLCBpbnQpIE9WRVJSSURFIEZJTkFM
OworICAgIHZpcnR1YWwgdm9pZCB2aXNpdExpdGVyYWwoY29uc3QgU3RyaW5nJikgT1ZFUlJJREUg
RklOQUwgeyB9CisKKyAgICBib29sIHZhbGlkYXRlRm9ybWF0KGNvbnN0IFN0cmluZyYgZm9ybWF0
LCBjb25zdCBCYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZSYpOworCitwcml2
YXRlOgorICAgIGJvb2wgbV9oYXNZZWFyOworICAgIGJvb2wgbV9oYXNNb250aDsKKyAgICBib29s
IG1faGFzV2VlazsKKyAgICBib29sIG1faGFzRGF5OworICAgIGJvb2wgbV9oYXNBTVBNOworICAg
IGJvb2wgbV9oYXNIb3VyOworICAgIGJvb2wgbV9oYXNNaW51dGU7CisgICAgYm9vbCBtX2hhc1Nl
Y29uZDsKK307CisKK3ZvaWQgRGF0ZVRpbWVGb3JtYXRWYWxpZGF0b3I6OnZpc2l0RmllbGQoRGF0
ZVRpbWVGb3JtYXQ6OkZpZWxkVHlwZSBmaWVsZFR5cGUsIGludCkKK3sKKyAgICBzd2l0Y2ggKGZp
ZWxkVHlwZSkgeworICAgIGNhc2UgRGF0ZVRpbWVGb3JtYXQ6OkZpZWxkVHlwZVllYXI6CisgICAg
ICAgIG1faGFzWWVhciA9IHRydWU7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgRGF0ZVRpbWVG
b3JtYXQ6OkZpZWxkVHlwZU1vbnRoOiAvLyBGYWxsdGhyb3VnaC4KKyAgICBjYXNlIERhdGVUaW1l
Rm9ybWF0OjpGaWVsZFR5cGVNb250aFN0YW5kQWxvbmU6CisgICAgICAgIG1faGFzTW9udGggPSB0
cnVlOworICAgICAgICBicmVhazsKKyAgICBjYXNlIERhdGVUaW1lRm9ybWF0OjpGaWVsZFR5cGVX
ZWVrT2ZZZWFyOgorICAgICAgICBtX2hhc1dlZWsgPSB0cnVlOworICAgICAgICBicmVhazsKKyAg
ICBjYXNlIERhdGVUaW1lRm9ybWF0OjpGaWVsZFR5cGVEYXlPZk1vbnRoOgorICAgICAgICBtX2hh
c0RheSA9IHRydWU7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgRGF0ZVRpbWVGb3JtYXQ6OkZp
ZWxkVHlwZVBlcmlvZDoKKyAgICAgICAgbV9oYXNBTVBNID0gdHJ1ZTsKKyAgICAgICAgYnJlYWs7
CisgICAgY2FzZSBEYXRlVGltZUZvcm1hdDo6RmllbGRUeXBlSG91cjExOiAvLyBGYWxsdGhyb3Vn
aC4KKyAgICBjYXNlIERhdGVUaW1lRm9ybWF0OjpGaWVsZFR5cGVIb3VyMTI6CisgICAgICAgIG1f
aGFzSG91ciA9IHRydWU7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgRGF0ZVRpbWVGb3JtYXQ6
OkZpZWxkVHlwZUhvdXIyMzogLy8gRmFsbHRocm91Z2guCisgICAgY2FzZSBEYXRlVGltZUZvcm1h
dDo6RmllbGRUeXBlSG91cjI0OgorICAgICAgICBtX2hhc0hvdXIgPSB0cnVlOworICAgICAgICBt
X2hhc0FNUE0gPSB0cnVlOworICAgICAgICBicmVhazsKKyAgICBjYXNlIERhdGVUaW1lRm9ybWF0
OjpGaWVsZFR5cGVNaW51dGU6CisgICAgICAgIG1faGFzTWludXRlID0gdHJ1ZTsKKyAgICAgICAg
YnJlYWs7CisgICAgY2FzZSBEYXRlVGltZUZvcm1hdDo6RmllbGRUeXBlU2Vjb25kOgorICAgICAg
ICBtX2hhc1NlY29uZCA9IHRydWU7CisgICAgICAgIGJyZWFrOworICAgIGRlZmF1bHQ6CisgICAg
ICAgIGJyZWFrOworICAgIH0KK30KKworYm9vbCBEYXRlVGltZUZvcm1hdFZhbGlkYXRvcjo6dmFs
aWRhdGVGb3JtYXQoY29uc3QgU3RyaW5nJiBmb3JtYXQsIGNvbnN0IEJhc2VNdWx0aXBsZUZpZWxk
c0RhdGVBbmRUaW1lSW5wdXRUeXBlJiBpbnB1dFR5cGUpCit7CisgICAgaWYgKCFEYXRlVGltZUZv
cm1hdDo6cGFyc2UoZm9ybWF0LCAqdGhpcykpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBy
ZXR1cm4gaW5wdXRUeXBlLmlzVmFsaWRGb3JtYXQobV9oYXNZZWFyLCBtX2hhc01vbnRoLCBtX2hh
c1dlZWssIG1faGFzRGF5LCBtX2hhc0FNUE0sIG1faGFzSG91ciwgbV9oYXNNaW51dGUsIG1faGFz
U2Vjb25kKTsKK30KKwogdm9pZCBCYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlw
ZTo6ZGlkQmx1ckZyb21Db250cm9sKCkKIHsKICAgICAvLyBXZSBkb24ndCBuZWVkIHRvIGNhbGwg
Ymx1cigpLiBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCB3aGVuIGNvbnRyb2wKQEAgLTQxMCw2ICs0
ODUsOSBAQCB2b2lkIEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlOjp1cGRh
dGVJbm5lclRleHRWYWx1ZSgpCiAgICAgaWYgKCFwYXR0ZXJuLmlzRW1wdHkoKSkKICAgICAgICAg
bGF5b3V0UGFyYW1ldGVycy5kYXRlVGltZUZvcm1hdCA9IHBhdHRlcm47CiAKKyAgICBpZiAoIURh
dGVUaW1lRm9ybWF0VmFsaWRhdG9yKCkudmFsaWRhdGVGb3JtYXQobGF5b3V0UGFyYW1ldGVycy5k
YXRlVGltZUZvcm1hdCwgKnRoaXMpKQorICAgICAgICBsYXlvdXRQYXJhbWV0ZXJzLmRhdGVUaW1l
Rm9ybWF0ID0gbGF5b3V0UGFyYW1ldGVycy5mYWxsYmFja0RhdGVUaW1lRm9ybWF0OworCiAgICAg
aWYgKGhhc1ZhbHVlKQogICAgICAgICBtX2RhdGVUaW1lRWRpdEVsZW1lbnQtPnNldFZhbHVlQXNE
YXRlKGxheW91dFBhcmFtZXRlcnMsIGRhdGUpOwogICAgIGVsc2UKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUuaCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5
cGUuaAppbmRleCA4NDQ4M2FkODQ1ZDBlNjc1OTIwYzVkNWE4OWYyN2YzZGI2MzRiZTE4Li4wOTZl
MzEyNmEyZGVhY2I3ZjM4ZDc3NmYzNzk4OWIzZDJkZjFlMjNkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0Jhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9CYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0
VHlwZS5oCkBAIC00OSw2ICs0OSw5IEBAIGNsYXNzIEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRU
aW1lSW5wdXRUeXBlCiAgICAgLCBwcm90ZWN0ZWQgUGlja2VySW5kaWNhdG9yRWxlbWVudDo6UGlj
a2VySW5kaWNhdG9yT3duZXIKICAgICAsIHByb3RlY3RlZCBTcGluQnV0dG9uRWxlbWVudDo6U3Bp
bkJ1dHRvbk93bmVyCiAgICAgLCBwcm90ZWN0ZWQgQ2xlYXJCdXR0b25FbGVtZW50OjpDbGVhckJ1
dHRvbk93bmVyIHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIGJvb2wgaXNWYWxpZEZvcm1hdChib29s
IGhhc1llYXIsIGJvb2wgaGFzTW9udGgsIGJvb2wgaGFzV2VlaywgYm9vbCBoYXNEYXksIGJvb2wg
aGFzQU1QTSwgYm9vbCBoYXNIb3VyLCBib29sIGhhc01pbnV0ZSwgYm9vbCBoYXNTZWNvbmQpIGNv
bnN0ID0gMDsKKwogcHJvdGVjdGVkOgogICAgIEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1l
SW5wdXRUeXBlKEhUTUxJbnB1dEVsZW1lbnQqKTsKICAgICB2aXJ0dWFsIH5CYXNlTXVsdGlwbGVG
aWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9EYXRlSW5wdXRUeXBlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0ZUlucHV0VHlw
ZS5jcHAKaW5kZXggOGQ3YTkyOGE2NjlkNWZjMWY4NzM5Nzk0ODNkNzg3Y2Q0MDAxMWE5Yi4uOTgx
MDYyNGIxNGZkMTE4ZTdiMThhMTFkZDkyY2JhNjUyNGE4NGM5NSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9EYXRlSW5wdXRUeXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0RhdGVJbnB1dFR5cGUuY3BwCkBAIC0xMjYsNiArMTI2LDExIEBAIHZvaWQgRGF0ZUlucHV0VHlw
ZTo6c2V0dXBMYXlvdXRQYXJhbWV0ZXJzKERhdGVUaW1lRWRpdEVsZW1lbnQ6OkxheW91dFBhcmFt
ZXRlcnMmCiAgICAgbGF5b3V0UGFyYW1ldGVycy5wbGFjZWhvbGRlckZvck1vbnRoID0gcGxhY2Vo
b2xkZXJGb3JNb250aEZpZWxkKCk7CiAgICAgbGF5b3V0UGFyYW1ldGVycy5wbGFjZWhvbGRlckZv
clllYXIgPSBwbGFjZWhvbGRlckZvclllYXJGaWVsZCgpOwogfQorCitib29sIERhdGVJbnB1dFR5
cGU6OmlzVmFsaWRGb3JtYXQoYm9vbCBoYXNZZWFyLCBib29sIGhhc01vbnRoLCBib29sIGhhc1dl
ZWssIGJvb2wgaGFzRGF5LCBib29sIGhhc0FNUE0sIGJvb2wgaGFzSG91ciwgYm9vbCBoYXNNaW51
dGUsIGJvb2wgaGFzU2Vjb25kKSBjb25zdAoreworICAgIHJldHVybiBoYXNZZWFyICYmIGhhc01v
bnRoICYmIGhhc0RheTsKK30KICNlbmRpZgogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0RhdGVJbnB1dFR5cGUuaCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvRGF0ZUlucHV0VHlwZS5oCmluZGV4IGZkNzVmOTE1ZmQyNTdlMDU2YThmOGIwZWRh
YmEwODc5NDljYTE5MzQuLmNmODM3MjEwNWY5YzYwODMzYTVkOWEzYzUwODZlYTlhNDU0ODc1MmUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0ZUlucHV0VHlwZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvRGF0ZUlucHV0VHlwZS5oCkBAIC02NCw2ICs2NCw3IEBAIHByaXZh
dGU6CiAgICAgLy8gQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUgZnVuY3Rp
b25zCiAgICAgdmlydHVhbCBTdHJpbmcgZm9ybWF0RGF0ZVRpbWVGaWVsZHNTdGF0ZShjb25zdCBE
YXRlVGltZUZpZWxkc1N0YXRlJikgY29uc3QgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIHNl
dHVwTGF5b3V0UGFyYW1ldGVycyhEYXRlVGltZUVkaXRFbGVtZW50OjpMYXlvdXRQYXJhbWV0ZXJz
JiwgY29uc3QgRGF0ZUNvbXBvbmVudHMmKSBjb25zdCBPVkVSUklERTsKKyAgICB2aXJ0dWFsIGJv
b2wgaXNWYWxpZEZvcm1hdChib29sIGhhc1llYXIsIGJvb2wgaGFzTW9udGgsIGJvb2wgaGFzV2Vl
aywgYm9vbCBoYXNEYXksIGJvb2wgaGFzQU1QTSwgYm9vbCBoYXNIb3VyLCBib29sIGhhc01pbnV0
ZSwgYm9vbCBoYXNTZWNvbmQpIGNvbnN0OwogI2VuZGlmCiB9OwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0RhdGVUaW1lSW5wdXRUeXBlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvRGF0ZVRpbWVJbnB1dFR5cGUuY3BwCmluZGV4IGIwOGQ5ZDYxZjkyNzgzYWMxZDY5N2MwMTNi
ZTE0NTI5YThkODViN2QuLjEzOWU5ZmEwM2ZjOGNlMmE5YWI4NDk4YzcyNzY0MDBmN2Y0NTIwOGQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0ZVRpbWVJbnB1dFR5cGUuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0ZVRpbWVJbnB1dFR5cGUuY3BwCkBAIC0xNjQsNiAr
MTY0LDExIEBAIHZvaWQgRGF0ZVRpbWVJbnB1dFR5cGU6OnNldHVwTGF5b3V0UGFyYW1ldGVycyhE
YXRlVGltZUVkaXRFbGVtZW50OjpMYXlvdXRQYXJhbWV0CiAgICAgbGF5b3V0UGFyYW1ldGVycy5w
bGFjZWhvbGRlckZvck1vbnRoID0gcGxhY2Vob2xkZXJGb3JNb250aEZpZWxkKCk7CiAgICAgbGF5
b3V0UGFyYW1ldGVycy5wbGFjZWhvbGRlckZvclllYXIgPSBwbGFjZWhvbGRlckZvclllYXJGaWVs
ZCgpOwogfQorCitib29sIERhdGVUaW1lSW5wdXRUeXBlOjppc1ZhbGlkRm9ybWF0KGJvb2wgaGFz
WWVhciwgYm9vbCBoYXNNb250aCwgYm9vbCBoYXNXZWVrLCBib29sIGhhc0RheSwgYm9vbCBoYXNB
TVBNLCBib29sIGhhc0hvdXIsIGJvb2wgaGFzTWludXRlLCBib29sIGhhc1NlY29uZCkgY29uc3QK
K3sKKyAgICByZXR1cm4gaGFzWWVhciAmJiBoYXNNb250aCAmJiBoYXNEYXkgJiYgaGFzQU1QTSAm
JiBoYXNIb3VyICYmIGhhc01pbnV0ZTsKK30KICNlbmRpZgogCiBTdHJpbmcgRGF0ZVRpbWVJbnB1
dFR5cGU6OnNhbml0aXplVmFsdWUoY29uc3QgU3RyaW5nJiBwcm9wb3NlZFZhbHVlKSBjb25zdApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9EYXRlVGltZUlucHV0VHlwZS5oIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9EYXRlVGltZUlucHV0VHlwZS5oCmluZGV4IDlkNzJiYzg1ZmFkOGIy
ZTcyNTIxZmYzMDRiOWU0MTdkNmE0NTcyY2MuLjcyOWQ2MGNhMzY0OWM1NDBkNjU4YmM4YjE3OTQy
YWE2MzBlOGI4ODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0ZVRpbWVJbnB1
dFR5cGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0RhdGVUaW1lSW5wdXRUeXBlLmgKQEAg
LTY0LDYgKzY0LDcgQEAgcHJpdmF0ZToKICAgICAvLyBCYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5k
VGltZUlucHV0VHlwZSBmdW5jdGlvbnMKICAgICB2aXJ0dWFsIFN0cmluZyBmb3JtYXREYXRlVGlt
ZUZpZWxkc1N0YXRlKGNvbnN0IERhdGVUaW1lRmllbGRzU3RhdGUmKSBjb25zdCBPVkVSUklERSBG
SU5BTDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0dXBMYXlvdXRQYXJhbWV0ZXJzKERhdGVUaW1lRWRp
dEVsZW1lbnQ6OkxheW91dFBhcmFtZXRlcnMmLCBjb25zdCBEYXRlQ29tcG9uZW50cyYpIGNvbnN0
IE9WRVJSSURFIEZJTkFMOworICAgIHZpcnR1YWwgYm9vbCBpc1ZhbGlkRm9ybWF0KGJvb2wgaGFz
WWVhciwgYm9vbCBoYXNNb250aCwgYm9vbCBoYXNXZWVrLCBib29sIGhhc0RheSwgYm9vbCBoYXNB
TVBNLCBib29sIGhhc0hvdXIsIGJvb2wgaGFzTWludXRlLCBib29sIGhhc1NlY29uZCkgY29uc3Q7
CiAjZW5kaWYKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0ZVRpbWVM
b2NhbElucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0RhdGVUaW1lTG9jYWxJbnB1
dFR5cGUuY3BwCmluZGV4IDIxYzVmNDI0ZGM5ZjllMzUyNzNmNmNkNDdiODA3ZDBmNGU3YTk1YTgu
LjY4N2JmZmFlMTM5ZDFhODA0MDFhYzRiOWQ2MDZhNDY5NWYwZjU0NGUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvRGF0ZVRpbWVMb2NhbElucHV0VHlwZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9EYXRlVGltZUxvY2FsSW5wdXRUeXBlLmNwcApAQCAtMTcwLDYgKzE3MCwx
MSBAQCB2b2lkIERhdGVUaW1lTG9jYWxJbnB1dFR5cGU6OnNldHVwTGF5b3V0UGFyYW1ldGVycyhE
YXRlVGltZUVkaXRFbGVtZW50OjpMYXlvdXRQYQogICAgIGxheW91dFBhcmFtZXRlcnMucGxhY2Vo
b2xkZXJGb3JNb250aCA9IHBsYWNlaG9sZGVyRm9yTW9udGhGaWVsZCgpOwogICAgIGxheW91dFBh
cmFtZXRlcnMucGxhY2Vob2xkZXJGb3JZZWFyID0gcGxhY2Vob2xkZXJGb3JZZWFyRmllbGQoKTsK
IH0KKworYm9vbCBEYXRlVGltZUxvY2FsSW5wdXRUeXBlOjppc1ZhbGlkRm9ybWF0KGJvb2wgaGFz
WWVhciwgYm9vbCBoYXNNb250aCwgYm9vbCBoYXNXZWVrLCBib29sIGhhc0RheSwgYm9vbCBoYXNB
TVBNLCBib29sIGhhc0hvdXIsIGJvb2wgaGFzTWludXRlLCBib29sIGhhc1NlY29uZCkgY29uc3QK
K3sKKyAgICByZXR1cm4gaGFzWWVhciAmJiBoYXNNb250aCAmJiBoYXNEYXkgJiYgaGFzQU1QTSAm
JiBoYXNIb3VyICYmIGhhc01pbnV0ZTsKK30KICNlbmRpZgogCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0RhdGVUaW1lTG9jYWxJbnB1dFR5
cGUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0ZVRpbWVMb2NhbElucHV0VHlwZS5oCmluZGV4
IDMxZWVhNGQ1YTE4NDNlNzYzYmM2OGI3MWZkODNmMGQ5ZjhlNThhNzYuLmIxNmFiZTg0MjczODRk
NTAwZTkwNjJlZDNkZTE5MzMxY2I0ZWYyYWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvRGF0ZVRpbWVMb2NhbElucHV0VHlwZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0
ZVRpbWVMb2NhbElucHV0VHlwZS5oCkBAIC02Myw2ICs2Myw3IEBAIHByaXZhdGU6CiAgICAgLy8g
QmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUgZnVuY3Rpb25zCiAgICAgdmly
dHVhbCBTdHJpbmcgZm9ybWF0RGF0ZVRpbWVGaWVsZHNTdGF0ZShjb25zdCBEYXRlVGltZUZpZWxk
c1N0YXRlJikgY29uc3QgT1ZFUlJJREUgRklOQUw7CiAgICAgdmlydHVhbCB2b2lkIHNldHVwTGF5
b3V0UGFyYW1ldGVycyhEYXRlVGltZUVkaXRFbGVtZW50OjpMYXlvdXRQYXJhbWV0ZXJzJiwgY29u
c3QgRGF0ZUNvbXBvbmVudHMmKSBjb25zdCBPVkVSUklERSBGSU5BTDsKKyAgICB2aXJ0dWFsIGJv
b2wgaXNWYWxpZEZvcm1hdChib29sIGhhc1llYXIsIGJvb2wgaGFzTW9udGgsIGJvb2wgaGFzV2Vl
aywgYm9vbCBoYXNEYXksIGJvb2wgaGFzQU1QTSwgYm9vbCBoYXNIb3VyLCBib29sIGhhc01pbnV0
ZSwgYm9vbCBoYXNTZWNvbmQpIGNvbnN0OwogI2VuZGlmCiB9OwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL01vbnRoSW5wdXRUeXBlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
TW9udGhJbnB1dFR5cGUuY3BwCmluZGV4IDAzZmUxNjdkN2Q2OTA3NjQ3MTI0MGM4MjhjMjk4OTY0
ZGRjYTg0NTkuLmRiODBjYmYzN2I3Y2MzMTRmN2VkNzU5N2FjOTIzMjAzMzlmYjE3ZmIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTW9udGhJbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvTW9udGhJbnB1dFR5cGUuY3BwCkBAIC0xNjcsNiArMTY3LDExIEBAIHZv
aWQgTW9udGhJbnB1dFR5cGU6OnNldHVwTGF5b3V0UGFyYW1ldGVycyhEYXRlVGltZUVkaXRFbGVt
ZW50OjpMYXlvdXRQYXJhbWV0ZXJzCiAgICAgbGF5b3V0UGFyYW1ldGVycy5wbGFjZWhvbGRlckZv
ck1vbnRoID0gIi0tIjsKICAgICBsYXlvdXRQYXJhbWV0ZXJzLnBsYWNlaG9sZGVyRm9yWWVhciA9
ICItLS0tIjsKIH0KKworYm9vbCBNb250aElucHV0VHlwZTo6aXNWYWxpZEZvcm1hdChib29sIGhh
c1llYXIsIGJvb2wgaGFzTW9udGgsIGJvb2wgaGFzV2VlaywgYm9vbCBoYXNEYXksIGJvb2wgaGFz
QU1QTSwgYm9vbCBoYXNIb3VyLCBib29sIGhhc01pbnV0ZSwgYm9vbCBoYXNTZWNvbmQpIGNvbnN0
Cit7CisgICAgcmV0dXJuIGhhc1llYXIgJiYgaGFzTW9udGg7Cit9CiAjZW5kaWYKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9Nb250aElu
cHV0VHlwZS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9Nb250aElucHV0VHlwZS5oCmluZGV4IDdl
ZDMxOGI4NGVjNTI0NTQzYTUxYWJmMmE2OWY0NTEyZmUxZjk1YWYuLjhmYWU1YmJlN2IwNWI3ZWE1
ZGZjYjhhNDM3NDU5MjJkOTY5YWEwYzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
TW9udGhJbnB1dFR5cGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01vbnRoSW5wdXRUeXBl
LmgKQEAgLTY1LDYgKzY1LDcgQEAgcHJpdmF0ZToKICAgICAvLyBCYXNlTXVsdGlwbGVGaWVsZHNE
YXRlQW5kVGltZUlucHV0VHlwZSBmdW5jdGlvbnMKICAgICB2aXJ0dWFsIFN0cmluZyBmb3JtYXRE
YXRlVGltZUZpZWxkc1N0YXRlKGNvbnN0IERhdGVUaW1lRmllbGRzU3RhdGUmKSBjb25zdCBPVkVS
UklERSBGSU5BTDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0dXBMYXlvdXRQYXJhbWV0ZXJzKERhdGVU
aW1lRWRpdEVsZW1lbnQ6OkxheW91dFBhcmFtZXRlcnMmLCBjb25zdCBEYXRlQ29tcG9uZW50cyYp
IGNvbnN0IE9WRVJSSURFIEZJTkFMOworICAgIHZpcnR1YWwgYm9vbCBpc1ZhbGlkRm9ybWF0KGJv
b2wgaGFzWWVhciwgYm9vbCBoYXNNb250aCwgYm9vbCBoYXNXZWVrLCBib29sIGhhc0RheSwgYm9v
bCBoYXNBTVBNLCBib29sIGhhc0hvdXIsIGJvb2wgaGFzTWludXRlLCBib29sIGhhc1NlY29uZCkg
Y29uc3Q7CiAjZW5kaWYKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvVGlt
ZUlucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1RpbWVJbnB1dFR5cGUuY3BwCmlu
ZGV4IGQ1YjRhN2E2MWZhYzRiMjJlMzk1OWRlYWNmYmI5MjhiNzBjMDRjNDIuLjJiNmJiYzA3Y2Rj
ZjdkZWQyOTVlYTU3NTQyMjdlN2E3ZjJjMTk1MjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvVGltZUlucHV0VHlwZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9UaW1lSW5w
dXRUeXBlLmNwcApAQCAtMTcwLDYgKzE3MCwxMSBAQCB2b2lkIFRpbWVJbnB1dFR5cGU6OnNldHVw
TGF5b3V0UGFyYW1ldGVycyhEYXRlVGltZUVkaXRFbGVtZW50OjpMYXlvdXRQYXJhbWV0ZXJzJgog
ICAgIGlmICghcGFyc2VUb0RhdGVDb21wb25lbnRzKGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJpYnV0
ZShtYXhBdHRyKSwgJmxheW91dFBhcmFtZXRlcnMubWF4aW11bSkpCiAgICAgICAgIGxheW91dFBh
cmFtZXRlcnMubWF4aW11bSA9IERhdGVDb21wb25lbnRzKCk7CiB9CisKK2Jvb2wgVGltZUlucHV0
VHlwZTo6aXNWYWxpZEZvcm1hdChib29sIGhhc1llYXIsIGJvb2wgaGFzTW9udGgsIGJvb2wgaGFz
V2VlaywgYm9vbCBoYXNEYXksIGJvb2wgaGFzQU1QTSwgYm9vbCBoYXNIb3VyLCBib29sIGhhc01p
bnV0ZSwgYm9vbCBoYXNTZWNvbmQpIGNvbnN0Cit7CisgICAgcmV0dXJuIGhhc0hvdXIgJiYgaGFz
TWludXRlICYmIGhhc0FNUE07Cit9CiAjZW5kaWYKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9UaW1lSW5wdXRUeXBlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL1RpbWVJbnB1dFR5cGUuaAppbmRleCAzMmVhYjVlMWNiMTUxYzhhYWY2NmFh
MDk1Mzc0YTNmMmRjODUxM2NkLi4xNmY1MTllN2QzOTNjNzI5OTU4Y2M4NDE1NzA1MmJkNWRjOTNm
MjFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1RpbWVJbnB1dFR5cGUuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL1RpbWVJbnB1dFR5cGUuaApAQCAtNjMsNiArNjMsNyBAQCBw
cml2YXRlOgogICAgIC8vIEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlIGZ1
bmN0aW9ucwogICAgIHZpcnR1YWwgU3RyaW5nIGZvcm1hdERhdGVUaW1lRmllbGRzU3RhdGUoY29u
c3QgRGF0ZVRpbWVGaWVsZHNTdGF0ZSYpIGNvbnN0IE9WRVJSSURFIEZJTkFMOwogICAgIHZpcnR1
YWwgdm9pZCBzZXR1cExheW91dFBhcmFtZXRlcnMoRGF0ZVRpbWVFZGl0RWxlbWVudDo6TGF5b3V0
UGFyYW1ldGVycyYsIGNvbnN0IERhdGVDb21wb25lbnRzJikgY29uc3QgT1ZFUlJJREUgRklOQUw7
CisgICAgdmlydHVhbCBib29sIGlzVmFsaWRGb3JtYXQoYm9vbCBoYXNZZWFyLCBib29sIGhhc01v
bnRoLCBib29sIGhhc1dlZWssIGJvb2wgaGFzRGF5LCBib29sIGhhc0FNUE0sIGJvb2wgaGFzSG91
ciwgYm9vbCBoYXNNaW51dGUsIGJvb2wgaGFzU2Vjb25kKSBjb25zdDsKICNlbmRpZgogfTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9XZWVrSW5wdXRUeXBlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvV2Vla0lucHV0VHlwZS5jcHAKaW5kZXggMDYwYjE4MTBmYzdjMTRmNWFi
MzI1ZWIyZTExYzk3Mzk5ZDJhNjQxYy4uYWQ4YjhkNTNmYjhmZmViMDA4YTllZmMwMzQwMDgyZTg3
N2MwNzlkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9XZWVrSW5wdXRUeXBlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1dlZWtJbnB1dFR5cGUuY3BwCkBAIC0xMjAsNiAr
MTIwLDExIEBAIHZvaWQgV2Vla0lucHV0VHlwZTo6c2V0dXBMYXlvdXRQYXJhbWV0ZXJzKERhdGVU
aW1lRWRpdEVsZW1lbnQ6OkxheW91dFBhcmFtZXRlcnMmCiAgICAgICAgIGxheW91dFBhcmFtZXRl
cnMubWF4aW11bSA9IERhdGVDb21wb25lbnRzKCk7CiAgICAgbGF5b3V0UGFyYW1ldGVycy5wbGFj
ZWhvbGRlckZvclllYXIgPSAiLS0tLSI7CiB9CisKK2Jvb2wgV2Vla0lucHV0VHlwZTo6aXNWYWxp
ZEZvcm1hdChib29sIGhhc1llYXIsIGJvb2wgaGFzTW9udGgsIGJvb2wgaGFzV2VlaywgYm9vbCBo
YXNEYXksIGJvb2wgaGFzQU1QTSwgYm9vbCBoYXNIb3VyLCBib29sIGhhc01pbnV0ZSwgYm9vbCBo
YXNTZWNvbmQpIGNvbnN0Cit7CisgICAgcmV0dXJuIGhhc1llYXIgJiYgaGFzV2VlazsKK30KICNl
bmRpZgogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL1dlZWtJbnB1dFR5cGUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvV2Vla0lucHV0VHlw
ZS5oCmluZGV4IDM4NWJkNmQ4ZDdlOTllNjczNjM5NzExZmVkYTUxZWJiZTE4MWNhZWMuLjg5ZTc0
M2QyOGY2OTc3MzhmODMxMWQzNzY0YmQxNGI5ZTg1MDMxOTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvV2Vla0lucHV0VHlwZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvV2Vl
a0lucHV0VHlwZS5oCkBAIC02MSw2ICs2MSw3IEBAIHByaXZhdGU6CiAgICAgLy8gQmFzZU11bHRp
cGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUgZnVuY3Rpb25zCiAgICAgdmlydHVhbCBTdHJp
bmcgZm9ybWF0RGF0ZVRpbWVGaWVsZHNTdGF0ZShjb25zdCBEYXRlVGltZUZpZWxkc1N0YXRlJikg
Y29uc3QgT1ZFUlJJREUgRklOQUw7CiAgICAgdmlydHVhbCB2b2lkIHNldHVwTGF5b3V0UGFyYW1l
dGVycyhEYXRlVGltZUVkaXRFbGVtZW50OjpMYXlvdXRQYXJhbWV0ZXJzJiwgY29uc3QgRGF0ZUNv
bXBvbmVudHMmKSBjb25zdCBPVkVSUklERSBGSU5BTDsKKyAgICB2aXJ0dWFsIGJvb2wgaXNWYWxp
ZEZvcm1hdChib29sIGhhc1llYXIsIGJvb2wgaGFzTW9udGgsIGJvb2wgaGFzV2VlaywgYm9vbCBo
YXNEYXksIGJvb2wgaGFzQU1QTSwgYm9vbCBoYXNIb3VyLCBib29sIGhhc01pbnV0ZSwgYm9vbCBo
YXNTZWNvbmQpIGNvbnN0OwogI2VuZGlmCiB9OwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMzU5OWJkODg4MGViMmZlOTkz
MjE2NjI4YWQzY2UwNzY5OGVhZWQ5Ny4uY2I3NDYxNzc3NmNmYmI1OWMwMDgxMmE2NTEzM2NmYWUw
MmE5OGRmMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEzLTAzLTIxICBLdW5paGlrbyBTYWth
bW90byAgPGtzYWthbW90b0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSU5QVVRfTVVMVElQTEVf
RklFTERTX1VJOiBJbmNvbXBsZXRlIGRhdGV0aW1lIGZvcm1hdCBzaG91bGQgZmFsbGJhY2sgdG8g
ZGVmYXVsdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTEzMDA1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBmYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLWZh
bGxiYWNrLWZvcm1hdC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMv
ZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtZmFsbGJhY2stZm9ybWF0
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvZGF0ZXRpbWUtbXVsdGlwbGUtZmll
bGRzL2RhdGV0aW1lLW11bHRpcGxlLWZpZWxkcy1mYWxsYmFjay1mb3JtYXQtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2RhdGV0aW1lLW11bHRpcGxlLWZpZWxkcy9k
YXRldGltZS1tdWx0aXBsZS1maWVsZHMtZmFsbGJhY2stZm9ybWF0Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGZhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVs
b2NhbC1tdWx0aXBsZS1maWVsZHMtZmFsbGJhY2stZm9ybWF0LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9kYXRl
dGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy1mYWxsYmFjay1mb3JtYXQuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUt
ZmllbGRzLWZhbGxiYWNrLWZvcm1hdC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZh
c3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy1mYWxs
YmFjay1mb3JtYXQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy90aW1lLW11bHRp
cGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1mYWxsYmFjay1mb3JtYXQtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3Rp
bWUtbXVsdGlwbGUtZmllbGRzLWZhbGxiYWNrLWZvcm1hdC5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBmYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLWZh
bGxiYWNrLWZvcm1hdC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMv
d2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMtZmFsbGJhY2stZm9ybWF0
Lmh0bWw6IEFkZGVkLgorCiAyMDEzLTAzLTIxICBDbGF1ZGlvIFNhYXZlZHJhICA8Y3NhYXZlZHJh
QGlnYWxpYS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCBHVEsrIGdhcmRlbmluZy4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1t
dWx0aXBsZS1maWVsZHMtZmFsbGJhY2stZm9ybWF0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtZmFs
bGJhY2stZm9ybWF0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NjYzMWYxNzM5ZDYxNTBhMWJi
ZjM5MGQzNzBjZTY5Y2NiZjg3NjJiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1mYWxsYmFj
ay1mb3JtYXQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTUgQEAKK0NoZWNrcyBpbmNvbXBsZXRl
IGRhdGV0aW1lIGZvcm1hdHMgYXJlIHJlamVjdGVkLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKKworVmFsaWQgZm9ybWF0CitQQVNTIGdldFVzZXJBZ2VudFNoYWRvd1RleHRDb250ZW50
KGlucHV0KSBpcyAiMzEtMDctMTk5OSIKK0ludmFsaWQgZm9ybWF0LCBmYWxsYmFjayB0byB5eXl5
LU1NLWRkCitQQVNTIGdldFVzZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0KSBpcyAiMTk5
OS0wNy0zMSIKK1BBU1MgZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpIGlzICIx
OTk5LTA3LTMxIgorUEFTUyBnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29udGVudChpbnB1dCkgaXMg
IjE5OTktMDctMzEiCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxl
LWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1mYWxsYmFjay1mb3JtYXQuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVs
ZHMtZmFsbGJhY2stZm9ybWF0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2Q5YjI2MDQ2OWUwOTk3Njc3NmNl
MjA1N2U5MzlkOTc2NmRkZWY3NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtZmFsbGJhY2st
Zm9ybWF0Lmh0bWwKQEAgLTAsMCArMSwzOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2NvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbignQ2hlY2tzIGluY29tcGxldGUg
ZGF0ZXRpbWUgZm9ybWF0cyBhcmUgcmVqZWN0ZWQuJyk7CisKK3ZhciBpbnB1dCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7CitpbnB1dC50eXBlID0gJ2RhdGUnOworZG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZChpbnB1dCk7CisKK2Z1bmN0aW9uIHNldERhdGVUaW1lRm9ybWF0KHBh
dHRlcm4pIHsKKyAgICB2YXIgdmFsdWUgPSBpbnB1dC52YWx1ZTsKKyAgICBnZXRFbGVtZW50QnlQ
c2V1ZG9JZChpbnRlcm5hbHMueW91bmdlc3RTaGFkb3dSb290KGlucHV0KSwgJy13ZWJraXQtZGF0
ZXRpbWUtZWRpdCcpLnNldEF0dHJpYnV0ZSgncGF0dGVybicsIHBhdHRlcm4pOworICAgIGlucHV0
LnZhbHVlID0gJyc7IC8vIFVwZGF0ZXMgdGhlIGVsZW1lbnQgZm9yIG5ldyBmb3JtYXQKKyAgICBp
bnB1dC52YWx1ZSA9IHZhbHVlOworfQorCitpbnB1dC52YWx1ZSA9ICcxOTk5LTA3LTMxJzsKKwor
ZGVidWcoJ1ZhbGlkIGZvcm1hdCcpOworc2V0RGF0ZVRpbWVGb3JtYXQoImRkLU1NLXl5eXkiKTsK
K3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5w
dXQpJywgJzMxLTA3LTE5OTknKTsKKworZGVidWcoIkludmFsaWQgZm9ybWF0LCBmYWxsYmFjayB0
byB5eXl5LU1NLWRkIik7CitzZXREYXRlVGltZUZvcm1hdCgneXl5eS1NTScpOworc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCdnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29udGVudChpbnB1dCknLCAnMTk5
OS0wNy0zMScpOworc2V0RGF0ZVRpbWVGb3JtYXQoJ01NL2RkJyk7CitzaG91bGRCZUVxdWFsVG9T
dHJpbmcoJ2dldFVzZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0KScsICcxOTk5LTA3LTMx
Jyk7CitzZXREYXRlVGltZUZvcm1hdCgnZGQteXl5eScpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCdnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29udGVudChpbnB1dCknLCAnMTk5OS0wNy0zMScpOwor
Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0
LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvZGF0ZXRpbWUtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lLW11bHRpcGxlLWZp
ZWxkcy1mYWxsYmFjay1mb3JtYXQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9kYXRldGltZS1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWUtbXVsdGlwbGUtZmllbGRzLWZhbGxi
YWNrLWZvcm1hdC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTcyYmI3OTUzYjU0Zjg3MjM3ZjE3
MTU1NTI2NGJlMjA5MjZkNTA1OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvZGF0ZXRpbWUtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lLW11bHRpcGxlLWZpZWxkcy1m
YWxsYmFjay1mb3JtYXQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTUgQEAKK0NoZWNrcyBpbmNv
bXBsZXRlIGRhdGV0aW1lIGZvcm1hdHMgYXJlIHJlamVjdGVkLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKKworVmFsaWQgZm9ybWF0CitQQVNTIGdldFVzZXJBZ2VudFNoYWRvd1RleHRD
b250ZW50KGlucHV0KSBpcyAiMTk5OS0wNy0zMSAxMTo1OSBQTSIKK0ludmFsaWQgZm9ybWF0LCBm
YWxsYmFjayB0byB5eXl5LU1NLWRkJ1QnSEg6bW0KK1BBU1MgZ2V0VXNlckFnZW50U2hhZG93VGV4
dENvbnRlbnQoaW5wdXQpIGlzICIxOTk5LTA3LTMxVDIzOjU5IgorUEFTUyBnZXRVc2VyQWdlbnRT
aGFkb3dUZXh0Q29udGVudChpbnB1dCkgaXMgIjE5OTktMDctMzFUMjM6NTkiCitQQVNTIGdldFVz
ZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0KSBpcyAiMTk5OS0wNy0zMVQyMzo1OSIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lLW11bHRpcGxlLWZpZWxkcy9kYXRl
dGltZS1tdWx0aXBsZS1maWVsZHMtZmFsbGJhY2stZm9ybWF0Lmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL2RhdGV0aW1lLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZS1tdWx0aXBsZS1maWVs
ZHMtZmFsbGJhY2stZm9ybWF0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjA5ZjY4OGFkOTYzYzg1YzA3NzNl
Mzg3NmRkNWRlYWNhYmVkMmZjMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvZGF0ZXRpbWUtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lLW11bHRpcGxlLWZpZWxkcy1m
YWxsYmFjay1mb3JtYXQuaHRtbApAQCAtMCwwICsxLDM5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY29tbW9uLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCdDaGVja3MgaW5j
b21wbGV0ZSBkYXRldGltZSBmb3JtYXRzIGFyZSByZWplY3RlZC4nKTsKKwordmFyIGlucHV0ID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTsKK2lucHV0LnR5cGUgPSAnZGF0ZXRpbWUt
bG9jYWwnOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpbnB1dCk7CisKK2Z1bmN0aW9uIHNl
dERhdGVUaW1lRm9ybWF0KHBhdHRlcm4pIHsKKyAgICB2YXIgdmFsdWUgPSBpbnB1dC52YWx1ZTsK
KyAgICBnZXRFbGVtZW50QnlQc2V1ZG9JZChpbnRlcm5hbHMueW91bmdlc3RTaGFkb3dSb290KGlu
cHV0KSwgJy13ZWJraXQtZGF0ZXRpbWUtZWRpdCcpLnNldEF0dHJpYnV0ZSgncGF0dGVybicsIHBh
dHRlcm4pOworICAgIGlucHV0LnZhbHVlID0gJyc7IC8vIFVwZGF0ZXMgdGhlIGVsZW1lbnQgZm9y
IG5ldyBmb3JtYXQKKyAgICBpbnB1dC52YWx1ZSA9IHZhbHVlOworfQorCitpbnB1dC52YWx1ZSA9
ICcxOTk5LTA3LTMxVDIzOjU5JzsKKworZGVidWcoJ1ZhbGlkIGZvcm1hdCcpOworc2V0RGF0ZVRp
bWVGb3JtYXQoInl5eXktTU0tZGQgaGg6bW0gYSIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdn
ZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29udGVudChpbnB1dCknLCAnMTk5OS0wNy0zMSAxMTo1OSBQ
TScpOworCitkZWJ1ZygiSW52YWxpZCBmb3JtYXQsIGZhbGxiYWNrIHRvIHl5eXktTU0tZGQnVCdI
SDptbSIpOworc2V0RGF0ZVRpbWVGb3JtYXQoJ3l5eXktTU0tZGQnKTsKK3Nob3VsZEJlRXF1YWxU
b1N0cmluZygnZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpJywgJzE5OTktMDct
MzFUMjM6NTknKTsKK3NldERhdGVUaW1lRm9ybWF0KCdISDptbScpOworc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCdnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29udGVudChpbnB1dCknLCAnMTk5OS0wNy0z
MVQyMzo1OScpOworc2V0RGF0ZVRpbWVGb3JtYXQoInl5eXktTU0tZGQnVCdoaDptbSIpOworc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCdnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29udGVudChpbnB1dCkn
LCAnMTk5OS0wNy0zMVQyMzo1OScpOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBs
ZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtZmFsbGJhY2stZm9ybWF0LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBs
ZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtZmFsbGJhY2stZm9ybWF0LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hNzJiYjc5NTNiNTRmODcyMzdmMTcxNTU1MjY0YmUyMDky
NmQ1MDU5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGlt
ZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy1mYWxs
YmFjay1mb3JtYXQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTUgQEAKK0NoZWNrcyBpbmNvbXBs
ZXRlIGRhdGV0aW1lIGZvcm1hdHMgYXJlIHJlamVjdGVkLgorCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKKworVmFsaWQgZm9ybWF0CitQQVNTIGdldFVzZXJBZ2VudFNoYWRvd1RleHRDb250
ZW50KGlucHV0KSBpcyAiMTk5OS0wNy0zMSAxMTo1OSBQTSIKK0ludmFsaWQgZm9ybWF0LCBmYWxs
YmFjayB0byB5eXl5LU1NLWRkJ1QnSEg6bW0KK1BBU1MgZ2V0VXNlckFnZW50U2hhZG93VGV4dENv
bnRlbnQoaW5wdXQpIGlzICIxOTk5LTA3LTMxVDIzOjU5IgorUEFTUyBnZXRVc2VyQWdlbnRTaGFk
b3dUZXh0Q29udGVudChpbnB1dCkgaXMgIjE5OTktMDctMzFUMjM6NTkiCitQQVNTIGdldFVzZXJB
Z2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0KSBpcyAiMTk5OS0wNy0zMVQyMzo1OSIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2Rh
dGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzLWZhbGxiYWNrLWZvcm1hdC5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxv
Y2FsLW11bHRpcGxlLWZpZWxkcy1mYWxsYmFjay1mb3JtYXQuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMDlm
Njg4YWQ5NjNjODVjMDc3M2UzODc2ZGQ1ZGVhY2FiZWQyZmMxCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9kYXRl
dGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy1mYWxsYmFjay1mb3JtYXQuaHRtbApAQCAtMCwwICsx
LDM5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li9yZXNvdXJjZXMvY29tbW9uLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlw
dD4KK2Rlc2NyaXB0aW9uKCdDaGVja3MgaW5jb21wbGV0ZSBkYXRldGltZSBmb3JtYXRzIGFyZSBy
ZWplY3RlZC4nKTsKKwordmFyIGlucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQn
KTsKK2lucHV0LnR5cGUgPSAnZGF0ZXRpbWUtbG9jYWwnOworZG9jdW1lbnQuYm9keS5hcHBlbmRD
aGlsZChpbnB1dCk7CisKK2Z1bmN0aW9uIHNldERhdGVUaW1lRm9ybWF0KHBhdHRlcm4pIHsKKyAg
ICB2YXIgdmFsdWUgPSBpbnB1dC52YWx1ZTsKKyAgICBnZXRFbGVtZW50QnlQc2V1ZG9JZChpbnRl
cm5hbHMueW91bmdlc3RTaGFkb3dSb290KGlucHV0KSwgJy13ZWJraXQtZGF0ZXRpbWUtZWRpdCcp
LnNldEF0dHJpYnV0ZSgncGF0dGVybicsIHBhdHRlcm4pOworICAgIGlucHV0LnZhbHVlID0gJyc7
IC8vIFVwZGF0ZXMgdGhlIGVsZW1lbnQgZm9yIG5ldyBmb3JtYXQKKyAgICBpbnB1dC52YWx1ZSA9
IHZhbHVlOworfQorCitpbnB1dC52YWx1ZSA9ICcxOTk5LTA3LTMxVDIzOjU5JzsKKworZGVidWco
J1ZhbGlkIGZvcm1hdCcpOworc2V0RGF0ZVRpbWVGb3JtYXQoInl5eXktTU0tZGQgaGg6bW0gYSIp
Oworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29udGVudChp
bnB1dCknLCAnMTk5OS0wNy0zMSAxMTo1OSBQTScpOworCitkZWJ1ZygiSW52YWxpZCBmb3JtYXQs
IGZhbGxiYWNrIHRvIHl5eXktTU0tZGQnVCdISDptbSIpOworc2V0RGF0ZVRpbWVGb3JtYXQoJ3l5
eXktTU0tZGQnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZ2V0VXNlckFnZW50U2hhZG93VGV4
dENvbnRlbnQoaW5wdXQpJywgJzE5OTktMDctMzFUMjM6NTknKTsKK3NldERhdGVUaW1lRm9ybWF0
KCdISDptbScpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdnZXRVc2VyQWdlbnRTaGFkb3dUZXh0
Q29udGVudChpbnB1dCknLCAnMTk5OS0wNy0zMVQyMzo1OScpOworc2V0RGF0ZVRpbWVGb3JtYXQo
Inl5eXktTU0tZGQnVCdoaDptbSIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdnZXRVc2VyQWdl
bnRTaGFkb3dUZXh0Q29udGVudChpbnB1dCknLCAnMTk5OS0wNy0zMVQyMzo1OScpOworCis8L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy1mYWxsYmFj
ay1mb3JtYXQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250aC1tdWx0
aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLWZhbGxiYWNrLWZvcm1hdC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYjM4Yjk2YWE1NDg0OGIwMWQwMjkzY2I0MzVjMGM5NzY2NWI2ZjQy
MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbW9udGgtbXVsdGlw
bGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy1mYWxsYmFjay1mb3JtYXQtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTQgQEAKK0NoZWNrcyBpbmNvbXBsZXRlIGRhdGV0aW1lIGZvcm1hdHMg
YXJlIHJlamVjdGVkLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworVmFsaWQgZm9y
bWF0CitQQVNTIGdldFVzZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0KSBpcyAiMDctMTk5
OSIKK0ludmFsaWQgZm9ybWF0LCBmYWxsYmFjayB0byB5eXl5LU1NCitQQVNTIGdldFVzZXJBZ2Vu
dFNoYWRvd1RleHRDb250ZW50KGlucHV0KSBpcyAiMTk5OS0wNyIKK1BBU1MgZ2V0VXNlckFnZW50
U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpIGlzICIxOTk5LTA3IgorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy1m
YWxsYmFjay1mb3JtYXQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbW9udGgtbXVsdGlw
bGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy1mYWxsYmFjay1mb3JtYXQuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yOTUxMWFiNjJjOWU4ZjcxZWNhZTZiYzk5NTU1NWE1ODVlYWQzNmZlCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMv
bW9udGgtbXVsdGlwbGUtZmllbGRzLWZhbGxiYWNrLWZvcm1hdC5odG1sCkBAIC0wLDAgKzEsMzcg
QEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jl
c291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0Pgor
ZGVzY3JpcHRpb24oJ0NoZWNrcyBpbmNvbXBsZXRlIGRhdGV0aW1lIGZvcm1hdHMgYXJlIHJlamVj
dGVkLicpOworCit2YXIgaW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpOwor
aW5wdXQudHlwZSA9ICdtb250aCc7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGlucHV0KTsK
KworZnVuY3Rpb24gc2V0RGF0ZVRpbWVGb3JtYXQocGF0dGVybikgeworICAgIHZhciB2YWx1ZSA9
IGlucHV0LnZhbHVlOworICAgIGdldEVsZW1lbnRCeVBzZXVkb0lkKGludGVybmFscy55b3VuZ2Vz
dFNoYWRvd1Jvb3QoaW5wdXQpLCAnLXdlYmtpdC1kYXRldGltZS1lZGl0Jykuc2V0QXR0cmlidXRl
KCdwYXR0ZXJuJywgcGF0dGVybik7CisgICAgaW5wdXQudmFsdWUgPSAnJzsgLy8gVXBkYXRlcyB0
aGUgZWxlbWVudCBmb3IgbmV3IGZvcm1hdAorICAgIGlucHV0LnZhbHVlID0gdmFsdWU7Cit9CisK
K2lucHV0LnZhbHVlID0gJzE5OTktMDcnOworCitkZWJ1ZygnVmFsaWQgZm9ybWF0Jyk7CitzZXRE
YXRlVGltZUZvcm1hdCgnTU0teXl5eScpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdnZXRVc2Vy
QWdlbnRTaGFkb3dUZXh0Q29udGVudChpbnB1dCknLCAnMDctMTk5OScpOworCitkZWJ1ZygnSW52
YWxpZCBmb3JtYXQsIGZhbGxiYWNrIHRvIHl5eXktTU0nKTsKK3NldERhdGVUaW1lRm9ybWF0KCdt
bS15eXl5Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2dldFVzZXJBZ2VudFNoYWRvd1RleHRD
b250ZW50KGlucHV0KScsICcxOTk5LTA3Jyk7CitzZXREYXRlVGltZUZvcm1hdCgnTScpOworc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCdnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29udGVudChpbnB1dCkn
LCAnMTk5OS0wNycpOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0
aXBsZS1maWVsZHMtZmFsbGJhY2stZm9ybWF0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtZmFsbGJh
Y2stZm9ybWF0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MjE3NGQ0MmVmN2EwNWMzMjIyY2Mx
OWJmMTkyMzFkYmZkZGQwNzIyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1mYWxsYmFjay1m
b3JtYXQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTcgQEAKK0NoZWNrcyBpbmNvbXBsZXRlIGRh
dGV0aW1lIGZvcm1hdHMgYXJlIHJlamVjdGVkLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKKworVmFsaWQgZm9ybWF0CitQQVNTIGdldFVzZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlu
cHV0KSBpcyAiMDEuMjM0OjU5OjExIFBNIgorUEFTUyBnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29u
dGVudChpbnB1dCkgaXMgIjAxLjIzNDo1OToyMyIKK1BBU1MgZ2V0VXNlckFnZW50U2hhZG93VGV4
dENvbnRlbnQoaW5wdXQpIGlzICIwMS4yMzQ6NTk6MjMgUE0iCitJbnZhbGlkIGZvcm1hdCwgZmFs
bGJhY2sgdG8gSEg6bW06c3MKK1BBU1MgZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5w
dXQpIGlzICIyMzo1OTowMS4yMzQiCitQQVNTIGdldFVzZXJBZ2VudFNoYWRvd1RleHRDb250ZW50
KGlucHV0KSBpcyAiMjM6NTk6MDEuMjM0IgorUEFTUyBnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29u
dGVudChpbnB1dCkgaXMgIjIzOjU5OjAxLjIzNCIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWZhbGxiYWNrLWZv
cm1hdC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90
aW1lLW11bHRpcGxlLWZpZWxkcy1mYWxsYmFjay1mb3JtYXQuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43NjZl
MTYxN2Y5N2UxZjc4NjM0MGE1OWNhNjU0OTFkODRmYTE5MWQxCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxl
LWZpZWxkcy1mYWxsYmFjay1mb3JtYXQuaHRtbApAQCAtMCwwICsxLDQzIEBACis8IURPQ1RZUEUg
aHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY29tbW9u
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCdD
aGVja3MgaW5jb21wbGV0ZSBkYXRldGltZSBmb3JtYXRzIGFyZSByZWplY3RlZC4nKTsKKwordmFy
IGlucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTsKK2lucHV0LnR5cGUgPSAn
dGltZSc7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGlucHV0KTsKKworZnVuY3Rpb24gc2V0
RGF0ZVRpbWVGb3JtYXQocGF0dGVybikgeworICAgIHZhciB2YWx1ZSA9IGlucHV0LnZhbHVlOwor
ICAgIGdldEVsZW1lbnRCeVBzZXVkb0lkKGludGVybmFscy55b3VuZ2VzdFNoYWRvd1Jvb3QoaW5w
dXQpLCAnLXdlYmtpdC1kYXRldGltZS1lZGl0Jykuc2V0QXR0cmlidXRlKCdwYXR0ZXJuJywgcGF0
dGVybik7CisgICAgaW5wdXQudmFsdWUgPSAnJzsgLy8gVXBkYXRlcyB0aGUgZWxlbWVudCBmb3Ig
bmV3IGZvcm1hdAorICAgIGlucHV0LnZhbHVlID0gdmFsdWU7Cit9CisKK2lucHV0LnZhbHVlID0g
JzIzOjU5OjAxLjIzNCc7CisKK2RlYnVnKCdWYWxpZCBmb3JtYXQnKTsKK3NldERhdGVUaW1lRm9y
bWF0KCdzczptbTpoaCBhJyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2dldFVzZXJBZ2VudFNo
YWRvd1RleHRDb250ZW50KGlucHV0KScsICcwMS4yMzQ6NTk6MTEgUE0nKTsKK3NldERhdGVUaW1l
Rm9ybWF0KCdzczptbTpISCcpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdnZXRVc2VyQWdlbnRT
aGFkb3dUZXh0Q29udGVudChpbnB1dCknLCAnMDEuMjM0OjU5OjIzJyk7CitzZXREYXRlVGltZUZv
cm1hdCgnc3M6bW06SEggYScpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdnZXRVc2VyQWdlbnRT
aGFkb3dUZXh0Q29udGVudChpbnB1dCknLCAnMDEuMjM0OjU5OjIzIFBNJyk7CisKK2RlYnVnKCdJ
bnZhbGlkIGZvcm1hdCwgZmFsbGJhY2sgdG8gSEg6bW06c3MnKTsKK3NldERhdGVUaW1lRm9ybWF0
KCdISCcpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29u
dGVudChpbnB1dCknLCAnMjM6NTk6MDEuMjM0Jyk7CitzZXREYXRlVGltZUZvcm1hdCgnbW06c3Mn
KTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQo
aW5wdXQpJywgJzIzOjU5OjAxLjIzNCcpOworc2V0RGF0ZVRpbWVGb3JtYXQoJ2hoOm1tOnNzJyk7
CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2dldFVzZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlu
cHV0KScsICcyMzo1OTowMS4yMzQnKTsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
anMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRz
L3dlZWstbXVsdGlwbGUtZmllbGRzLWZhbGxiYWNrLWZvcm1hdC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmll
bGRzLWZhbGxiYWNrLWZvcm1hdC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2IyY2NhOGVkNmFl
ZTY1ZDBiNDM1MmI5MGE3ZDkzMTE4M2ExNzIxZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvd2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMt
ZmFsbGJhY2stZm9ybWF0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE0IEBACitDaGVja3MgaW5j
b21wbGV0ZSBkYXRldGltZSBmb3JtYXRzIGFyZSByZWplY3RlZC4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCisKK1ZhbGlkIGZvcm1hdAorUEFTUyBnZXRVc2VyQWdlbnRTaGFkb3dUZXh0
Q29udGVudChpbnB1dCkgaXMgIldlZWswOSAxOTk5IgorSW52YWxpZCBmb3JtYXQsIGZhbGxiYWNr
IHRvIHl5eXktJ1cnd3cKK1BBU1MgZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQp
IGlzICIxOTk5LVcwOSIKK1BBU1MgZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQp
IGlzICIxOTk5LVcwOSIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3dlZWstbXVsdGlw
bGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLWZhbGxiYWNrLWZvcm1hdC5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZp
ZWxkcy1mYWxsYmFjay1mb3JtYXQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yNWY0OTJiYmRiOTFlMjU0YmYw
YTUzYmVkMGNhZjEwNWZmN2ZiYTA3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy1mYWxsYmFj
ay1mb3JtYXQuaHRtbApAQCAtMCwwICsxLDM3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY29tbW9uLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCdDaGVja3MgaW5jb21wbGV0
ZSBkYXRldGltZSBmb3JtYXRzIGFyZSByZWplY3RlZC4nKTsKKwordmFyIGlucHV0ID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTsKK2lucHV0LnR5cGUgPSAnd2Vlayc7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKGlucHV0KTsKKworZnVuY3Rpb24gc2V0RGF0ZVRpbWVGb3JtYXQo
cGF0dGVybikgeworICAgIHZhciB2YWx1ZSA9IGlucHV0LnZhbHVlOworICAgIGdldEVsZW1lbnRC
eVBzZXVkb0lkKGludGVybmFscy55b3VuZ2VzdFNoYWRvd1Jvb3QoaW5wdXQpLCAnLXdlYmtpdC1k
YXRldGltZS1lZGl0Jykuc2V0QXR0cmlidXRlKCdwYXR0ZXJuJywgcGF0dGVybik7CisgICAgaW5w
dXQudmFsdWUgPSAnJzsgLy8gVXBkYXRlcyB0aGUgZWxlbWVudCBmb3IgbmV3IGZvcm1hdAorICAg
IGlucHV0LnZhbHVlID0gdmFsdWU7Cit9CisKK2lucHV0LnZhbHVlID0gJzE5OTktVzA5JzsKKwor
ZGVidWcoJ1ZhbGlkIGZvcm1hdCcpOworc2V0RGF0ZVRpbWVGb3JtYXQoIidXZWVrJ3d3IHl5eXki
KTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQo
aW5wdXQpJywgJ1dlZWswOSAxOTk5Jyk7CisKK2RlYnVnKCJJbnZhbGlkIGZvcm1hdCwgZmFsbGJh
Y2sgdG8geXl5eS0nVyd3dyIpOworc2V0RGF0ZVRpbWVGb3JtYXQoJ3d3Jyk7CitzaG91bGRCZUVx
dWFsVG9TdHJpbmcoJ2dldFVzZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0KScsICcxOTk5
LVcwOScpOworc2V0RGF0ZVRpbWVGb3JtYXQoJ3l5eXknKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmlu
ZygnZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpJywgJzE5OTktVzA5Jyk7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>194480</attachid>
            <date>2013-03-22 02:19:12 -0700</date>
            <delta_ts>2013-03-22 03:06:42 -0700</delta_ts>
            <desc>Patch 4</desc>
            <filename>bug-113005-20130322181500.patch</filename>
            <type>text/plain</type>
            <size>34329</size>
            <attacher name="Kunihiko Sakamoto">ksakamoto</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ2NDkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODYxYTc4YjU0YzczNDQ1
ODRjMmNlMWQ3YTViZTVkMzY4ODQ1NDE5Yy4uYTEyZTZkYmM5NDU1NDU3Y2NiZGY0ZDc4ZjdkOTg5
M2U3ZWNlMzk4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUyIEBACisyMDEzLTAzLTIyICBLdW5p
aGlrbyBTYWthbW90byAgPGtzYWthbW90b0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSU5QVVRf
TVVMVElQTEVfRklFTERTX1VJOiBJbmNvbXBsZXRlIGRhdGV0aW1lIGZvcm1hdCBzaG91bGQgZmFs
bGJhY2sgdG8gZGVmYXVsdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTEzMDA1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgVXNlIGZhbGxiYWNrIGZvcm1hdCB3aGVuIGRhdGV0aW1lIGZvcm1hdCBmcm9tIGxv
Y2FsZSBpcyBub3QgY29tcGxldGUuCisKKyAgICAgICAgVGVzdHM6IGZhc3QvZm9ybXMvZGF0ZS1t
dWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtZmFsbGJhY2stZm9ybWF0Lmh0bWwK
KyAgICAgICAgICAgICAgIGZhc3QvZm9ybXMvZGF0ZXRpbWUtbXVsdGlwbGUtZmllbGRzL2RhdGV0
aW1lLW11bHRpcGxlLWZpZWxkcy1mYWxsYmFjay1mb3JtYXQuaHRtbAorICAgICAgICAgICAgICAg
ZmFzdC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11
bHRpcGxlLWZpZWxkcy1mYWxsYmFjay1mb3JtYXQuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9m
b3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLWZhbGxiYWNr
LWZvcm1hdC5odG1sCisgICAgICAgICAgICAgICBmYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmll
bGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWZhbGxiYWNrLWZvcm1hdC5odG1sCisgICAgICAgICAg
ICAgICBmYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRz
LWZhbGxiYWNrLWZvcm1hdC5odG1sCisKKyAgICAgICAgKiBodG1sL0Jhc2VNdWx0aXBsZUZpZWxk
c0RhdGVBbmRUaW1lSW5wdXRUeXBlLmNwcDoKKyAgICAgICAgKERhdGVUaW1lRm9ybWF0VmFsaWRh
dG9yKTogQSBoZWxwZXIgY2xhc3MgdGhhdCBwYXJzZXMgZGF0ZXRpbWUgZm9ybWF0IGFuZCB0ZXN0
cyBleGlzdGVuY2Ugb2YgZmllbGRzLgorICAgICAgICAoV2ViQ29yZTo6RGF0ZVRpbWVGb3JtYXRW
YWxpZGF0b3I6OkRhdGVUaW1lRm9ybWF0VmFsaWRhdG9yKToKKyAgICAgICAgKFdlYkNvcmU6OkRh
dGVUaW1lRm9ybWF0VmFsaWRhdG9yOjp2aXNpdEZpZWxkKToKKyAgICAgICAgKFdlYkNvcmU6OkRh
dGVUaW1lRm9ybWF0VmFsaWRhdG9yOjp2YWxpZGF0ZUZvcm1hdCk6IFBhcnNlcyBkYXRldGltZSBm
b3JtYXQgYW5kIHZhbGlkYXRlcyBieSBjYWxsaW5nIEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRU
aW1lSW5wdXRUeXBlOjppc1ZhbGlkRm9ybWF0LgorICAgICAgICAoV2ViQ29yZTo6QmFzZU11bHRp
cGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGU6OnVwZGF0ZUlubmVyVGV4dFZhbHVlKTogQ2hl
Y2tzIGlmIGRhdGVUaW1lRm9ybWF0IGlzIHZhbGlkLCBhbmQgdXNlcyBmYWxsYmFjayBmb3JtYXQg
aWYgbm90LgorICAgICAgICAqIGh0bWwvQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1
dFR5cGUuaDoKKyAgICAgICAgKEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBl
KTogRGVjbGFyZSBpc1ZhbGlkRm9ybWF0LgorICAgICAgICAqIGh0bWwvRGF0ZUlucHV0VHlwZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpEYXRlSW5wdXRUeXBlOjppc1ZhbGlkRm9ybWF0KTogQWRk
ZWQuCisgICAgICAgICogaHRtbC9EYXRlSW5wdXRUeXBlLmg6CisgICAgICAgIChEYXRlSW5wdXRU
eXBlKToKKyAgICAgICAgKiBodG1sL0RhdGVUaW1lSW5wdXRUeXBlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkRhdGVUaW1lSW5wdXRUeXBlOjppc1ZhbGlkRm9ybWF0KTogQWRkZWQuCisgICAgICAg
ICogaHRtbC9EYXRlVGltZUlucHV0VHlwZS5oOgorICAgICAgICAoRGF0ZVRpbWVJbnB1dFR5cGUp
OgorICAgICAgICAqIGh0bWwvRGF0ZVRpbWVMb2NhbElucHV0VHlwZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpEYXRlVGltZUxvY2FsSW5wdXRUeXBlOjppc1ZhbGlkRm9ybWF0KTogQWRkZWQuCisg
ICAgICAgICogaHRtbC9EYXRlVGltZUxvY2FsSW5wdXRUeXBlLmg6CisgICAgICAgIChEYXRlVGlt
ZUxvY2FsSW5wdXRUeXBlKToKKyAgICAgICAgKiBodG1sL01vbnRoSW5wdXRUeXBlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6Ok1vbnRoSW5wdXRUeXBlOjppc1ZhbGlkRm9ybWF0KTogQWRkZWQuCisg
ICAgICAgICogaHRtbC9Nb250aElucHV0VHlwZS5oOgorICAgICAgICAoTW9udGhJbnB1dFR5cGUp
OgorICAgICAgICAqIGh0bWwvVGltZUlucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpU
aW1lSW5wdXRUeXBlOjppc1ZhbGlkRm9ybWF0KTogQWRkZWQuCisgICAgICAgICogaHRtbC9UaW1l
SW5wdXRUeXBlLmg6CisgICAgICAgIChUaW1lSW5wdXRUeXBlKToKKyAgICAgICAgKiBodG1sL1dl
ZWtJbnB1dFR5cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2Vla0lucHV0VHlwZTo6aXNWYWxp
ZEZvcm1hdCk6IEFkZGVkLgorICAgICAgICAqIGh0bWwvV2Vla0lucHV0VHlwZS5oOgorICAgICAg
ICAoV2Vla0lucHV0VHlwZSk6CisKIDIwMTMtMDMtMjEgIEFudG9uIE11aGluICA8YW50b25tQGNo
cm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTQ2NDgzLgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9CYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5k
VGltZUlucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VNdWx0aXBsZUZpZWxk
c0RhdGVBbmRUaW1lSW5wdXRUeXBlLmNwcAppbmRleCBmMzFhZjJkNWU2Njg5OWNlOTk4NTk1NjNh
NzRhN2Q1NGVlMzcyOTAzLi4yNjVmOGQxMjQ5YWM2MTRkMTAzMjA2YjIyN2M1NTZhMjc0ZWNhMjVl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VNdWx0aXBsZUZpZWxkc0RhdGVB
bmRUaW1lSW5wdXRUeXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VNdWx0aXBs
ZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlLmNwcApAQCAtMzUsNiArMzUsNyBAQAogI2luY2x1
ZGUgIkNTU1ZhbHVlS2V5d29yZHMuaCIKICNpbmNsdWRlICJEYXRlQ29tcG9uZW50cy5oIgogI2lu
Y2x1ZGUgIkRhdGVUaW1lRmllbGRzU3RhdGUuaCIKKyNpbmNsdWRlICJEYXRlVGltZUZvcm1hdC5o
IgogI2luY2x1ZGUgIkVsZW1lbnRTaGFkb3cuaCIKICNpbmNsdWRlICJGb2N1c0NvbnRyb2xsZXIu
aCIKICNpbmNsdWRlICJGb3JtQ29udHJvbGxlci5oIgpAQCAtNTMsNiArNTQsODAgQEAKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCitjbGFzcyBEYXRlVGltZUZvcm1hdFZhbGlkYXRvciA6IHB1Ymxp
YyBEYXRlVGltZUZvcm1hdDo6VG9rZW5IYW5kbGVyIHsKK3B1YmxpYzoKKyAgICBEYXRlVGltZUZv
cm1hdFZhbGlkYXRvcigpCisgICAgICAgIDogbV9oYXNZZWFyKGZhbHNlKQorICAgICAgICAsIG1f
aGFzTW9udGgoZmFsc2UpCisgICAgICAgICwgbV9oYXNXZWVrKGZhbHNlKQorICAgICAgICAsIG1f
aGFzRGF5KGZhbHNlKQorICAgICAgICAsIG1faGFzQU1QTShmYWxzZSkKKyAgICAgICAgLCBtX2hh
c0hvdXIoZmFsc2UpCisgICAgICAgICwgbV9oYXNNaW51dGUoZmFsc2UpCisgICAgICAgICwgbV9o
YXNTZWNvbmQoZmFsc2UpIHsgfQorCisgICAgdmlydHVhbCB2b2lkIHZpc2l0RmllbGQoRGF0ZVRp
bWVGb3JtYXQ6OkZpZWxkVHlwZSwgaW50KSBPVkVSUklERSBGSU5BTDsKKyAgICB2aXJ0dWFsIHZv
aWQgdmlzaXRMaXRlcmFsKGNvbnN0IFN0cmluZyYpIE9WRVJSSURFIEZJTkFMIHsgfQorCisgICAg
Ym9vbCB2YWxpZGF0ZUZvcm1hdChjb25zdCBTdHJpbmcmIGZvcm1hdCwgY29uc3QgQmFzZU11bHRp
cGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUmKTsKKworcHJpdmF0ZToKKyAgICBib29sIG1f
aGFzWWVhcjsKKyAgICBib29sIG1faGFzTW9udGg7CisgICAgYm9vbCBtX2hhc1dlZWs7CisgICAg
Ym9vbCBtX2hhc0RheTsKKyAgICBib29sIG1faGFzQU1QTTsKKyAgICBib29sIG1faGFzSG91cjsK
KyAgICBib29sIG1faGFzTWludXRlOworICAgIGJvb2wgbV9oYXNTZWNvbmQ7Cit9OworCit2b2lk
IERhdGVUaW1lRm9ybWF0VmFsaWRhdG9yOjp2aXNpdEZpZWxkKERhdGVUaW1lRm9ybWF0OjpGaWVs
ZFR5cGUgZmllbGRUeXBlLCBpbnQpCit7CisgICAgc3dpdGNoIChmaWVsZFR5cGUpIHsKKyAgICBj
YXNlIERhdGVUaW1lRm9ybWF0OjpGaWVsZFR5cGVZZWFyOgorICAgICAgICBtX2hhc1llYXIgPSB0
cnVlOworICAgICAgICBicmVhazsKKyAgICBjYXNlIERhdGVUaW1lRm9ybWF0OjpGaWVsZFR5cGVN
b250aDogLy8gRmFsbHRocm91Z2guCisgICAgY2FzZSBEYXRlVGltZUZvcm1hdDo6RmllbGRUeXBl
TW9udGhTdGFuZEFsb25lOgorICAgICAgICBtX2hhc01vbnRoID0gdHJ1ZTsKKyAgICAgICAgYnJl
YWs7CisgICAgY2FzZSBEYXRlVGltZUZvcm1hdDo6RmllbGRUeXBlV2Vla09mWWVhcjoKKyAgICAg
ICAgbV9oYXNXZWVrID0gdHJ1ZTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBEYXRlVGltZUZv
cm1hdDo6RmllbGRUeXBlRGF5T2ZNb250aDoKKyAgICAgICAgbV9oYXNEYXkgPSB0cnVlOworICAg
ICAgICBicmVhazsKKyAgICBjYXNlIERhdGVUaW1lRm9ybWF0OjpGaWVsZFR5cGVQZXJpb2Q6Cisg
ICAgICAgIG1faGFzQU1QTSA9IHRydWU7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgRGF0ZVRp
bWVGb3JtYXQ6OkZpZWxkVHlwZUhvdXIxMTogLy8gRmFsbHRocm91Z2guCisgICAgY2FzZSBEYXRl
VGltZUZvcm1hdDo6RmllbGRUeXBlSG91cjEyOgorICAgICAgICBtX2hhc0hvdXIgPSB0cnVlOwor
ICAgICAgICBicmVhazsKKyAgICBjYXNlIERhdGVUaW1lRm9ybWF0OjpGaWVsZFR5cGVIb3VyMjM6
IC8vIEZhbGx0aHJvdWdoLgorICAgIGNhc2UgRGF0ZVRpbWVGb3JtYXQ6OkZpZWxkVHlwZUhvdXIy
NDoKKyAgICAgICAgbV9oYXNIb3VyID0gdHJ1ZTsKKyAgICAgICAgbV9oYXNBTVBNID0gdHJ1ZTsK
KyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBEYXRlVGltZUZvcm1hdDo6RmllbGRUeXBlTWludXRl
OgorICAgICAgICBtX2hhc01pbnV0ZSA9IHRydWU7CisgICAgICAgIGJyZWFrOworICAgIGNhc2Ug
RGF0ZVRpbWVGb3JtYXQ6OkZpZWxkVHlwZVNlY29uZDoKKyAgICAgICAgbV9oYXNTZWNvbmQgPSB0
cnVlOworICAgICAgICBicmVhazsKKyAgICBkZWZhdWx0OgorICAgICAgICBicmVhazsKKyAgICB9
Cit9CisKK2Jvb2wgRGF0ZVRpbWVGb3JtYXRWYWxpZGF0b3I6OnZhbGlkYXRlRm9ybWF0KGNvbnN0
IFN0cmluZyYgZm9ybWF0LCBjb25zdCBCYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0
VHlwZSYgaW5wdXRUeXBlKQoreworICAgIGlmICghRGF0ZVRpbWVGb3JtYXQ6OnBhcnNlKGZvcm1h
dCwgKnRoaXMpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgcmV0dXJuIGlucHV0VHlwZS5p
c1ZhbGlkRm9ybWF0KG1faGFzWWVhciwgbV9oYXNNb250aCwgbV9oYXNXZWVrLCBtX2hhc0RheSwg
bV9oYXNBTVBNLCBtX2hhc0hvdXIsIG1faGFzTWludXRlLCBtX2hhc1NlY29uZCk7Cit9CisKIHZv
aWQgQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGU6OmRpZEJsdXJGcm9tQ29u
dHJvbCgpCiB7CiAgICAgLy8gV2UgZG9uJ3QgbmVlZCB0byBjYWxsIGJsdXIoKS4gVGhpcyBmdW5j
dGlvbiBpcyBjYWxsZWQgd2hlbiBjb250cm9sCkBAIC00MTAsNiArNDg1LDkgQEAgdm9pZCBCYXNl
TXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZTo6dXBkYXRlSW5uZXJUZXh0VmFsdWUo
KQogICAgIGlmICghcGF0dGVybi5pc0VtcHR5KCkpCiAgICAgICAgIGxheW91dFBhcmFtZXRlcnMu
ZGF0ZVRpbWVGb3JtYXQgPSBwYXR0ZXJuOwogCisgICAgaWYgKCFEYXRlVGltZUZvcm1hdFZhbGlk
YXRvcigpLnZhbGlkYXRlRm9ybWF0KGxheW91dFBhcmFtZXRlcnMuZGF0ZVRpbWVGb3JtYXQsICp0
aGlzKSkKKyAgICAgICAgbGF5b3V0UGFyYW1ldGVycy5kYXRlVGltZUZvcm1hdCA9IGxheW91dFBh
cmFtZXRlcnMuZmFsbGJhY2tEYXRlVGltZUZvcm1hdDsKKwogICAgIGlmIChoYXNWYWx1ZSkKICAg
ICAgICAgbV9kYXRlVGltZUVkaXRFbGVtZW50LT5zZXRWYWx1ZUFzRGF0ZShsYXlvdXRQYXJhbWV0
ZXJzLCBkYXRlKTsKICAgICBlbHNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jh
c2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlLmggYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0Jhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlLmgKaW5kZXggODQ0ODNh
ZDg0NWQwZTY3NTkyMGM1ZDVhODlmMjdmM2RiNjM0YmUxOC4uMDk2ZTMxMjZhMmRlYWNiN2YzOGQ3
NzZmMzc5ODliM2QyZGYxZTIzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9CYXNl
TXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUuaApAQCAtNDksNiAr
NDksOSBAQCBjbGFzcyBCYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZQogICAg
ICwgcHJvdGVjdGVkIFBpY2tlckluZGljYXRvckVsZW1lbnQ6OlBpY2tlckluZGljYXRvck93bmVy
CiAgICAgLCBwcm90ZWN0ZWQgU3BpbkJ1dHRvbkVsZW1lbnQ6OlNwaW5CdXR0b25Pd25lcgogICAg
ICwgcHJvdGVjdGVkIENsZWFyQnV0dG9uRWxlbWVudDo6Q2xlYXJCdXR0b25Pd25lciB7CitwdWJs
aWM6CisgICAgdmlydHVhbCBib29sIGlzVmFsaWRGb3JtYXQoYm9vbCBoYXNZZWFyLCBib29sIGhh
c01vbnRoLCBib29sIGhhc1dlZWssIGJvb2wgaGFzRGF5LCBib29sIGhhc0FNUE0sIGJvb2wgaGFz
SG91ciwgYm9vbCBoYXNNaW51dGUsIGJvb2wgaGFzU2Vjb25kKSBjb25zdCA9IDA7CisKIHByb3Rl
Y3RlZDoKICAgICBCYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZShIVE1MSW5w
dXRFbGVtZW50Kik7CiAgICAgdmlydHVhbCB+QmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJ
bnB1dFR5cGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0ZUlucHV0VHlw
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0RhdGVJbnB1dFR5cGUuY3BwCmluZGV4IDhkN2E5
MjhhNjY5ZDVmYzFmODczOTc5NDgzZDc4N2NkNDAwMTFhOWIuLjk4MTA2MjRiMTRmZDExOGU3YjE4
YTExZGQ5MmNiYTY1MjRhODRjOTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0
ZUlucHV0VHlwZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9EYXRlSW5wdXRUeXBlLmNw
cApAQCAtMTI2LDYgKzEyNiwxMSBAQCB2b2lkIERhdGVJbnB1dFR5cGU6OnNldHVwTGF5b3V0UGFy
YW1ldGVycyhEYXRlVGltZUVkaXRFbGVtZW50OjpMYXlvdXRQYXJhbWV0ZXJzJgogICAgIGxheW91
dFBhcmFtZXRlcnMucGxhY2Vob2xkZXJGb3JNb250aCA9IHBsYWNlaG9sZGVyRm9yTW9udGhGaWVs
ZCgpOwogICAgIGxheW91dFBhcmFtZXRlcnMucGxhY2Vob2xkZXJGb3JZZWFyID0gcGxhY2Vob2xk
ZXJGb3JZZWFyRmllbGQoKTsKIH0KKworYm9vbCBEYXRlSW5wdXRUeXBlOjppc1ZhbGlkRm9ybWF0
KGJvb2wgaGFzWWVhciwgYm9vbCBoYXNNb250aCwgYm9vbCBoYXNXZWVrLCBib29sIGhhc0RheSwg
Ym9vbCBoYXNBTVBNLCBib29sIGhhc0hvdXIsIGJvb2wgaGFzTWludXRlLCBib29sIGhhc1NlY29u
ZCkgY29uc3QKK3sKKyAgICByZXR1cm4gaGFzWWVhciAmJiBoYXNNb250aCAmJiBoYXNEYXk7Cit9
CiAjZW5kaWYKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9EYXRlSW5wdXRUeXBlLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0RhdGVJbnB1
dFR5cGUuaAppbmRleCBmZDc1ZjkxNWZkMjU3ZTA1NmE4ZjhiMGVkYWJhMDg3OTQ5Y2ExOTM0Li5j
ZjgzNzIxMDVmOWM2MDgzM2E1ZDlhM2M1MDg2ZWE5YTQ1NDg3NTJlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0RhdGVJbnB1dFR5cGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0RhdGVJbnB1dFR5cGUuaApAQCAtNjQsNiArNjQsNyBAQCBwcml2YXRlOgogICAgIC8vIEJhc2VN
dWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlIGZ1bmN0aW9ucwogICAgIHZpcnR1YWwg
U3RyaW5nIGZvcm1hdERhdGVUaW1lRmllbGRzU3RhdGUoY29uc3QgRGF0ZVRpbWVGaWVsZHNTdGF0
ZSYpIGNvbnN0IE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBzZXR1cExheW91dFBhcmFtZXRl
cnMoRGF0ZVRpbWVFZGl0RWxlbWVudDo6TGF5b3V0UGFyYW1ldGVycyYsIGNvbnN0IERhdGVDb21w
b25lbnRzJikgY29uc3QgT1ZFUlJJREU7CisgICAgdmlydHVhbCBib29sIGlzVmFsaWRGb3JtYXQo
Ym9vbCBoYXNZZWFyLCBib29sIGhhc01vbnRoLCBib29sIGhhc1dlZWssIGJvb2wgaGFzRGF5LCBi
b29sIGhhc0FNUE0sIGJvb2wgaGFzSG91ciwgYm9vbCBoYXNNaW51dGUsIGJvb2wgaGFzU2Vjb25k
KSBjb25zdDsKICNlbmRpZgogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9E
YXRlVGltZUlucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0RhdGVUaW1lSW5wdXRU
eXBlLmNwcAppbmRleCBiMDhkOWQ2MWY5Mjc4M2FjMWQ2OTdjMDEzYmUxNDUyOWE4ZDg1YjdkLi4x
MzllOWZhMDNmYzhjZTJhOWFiODQ5OGM3Mjc2NDAwZjdmNDUyMDhkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0RhdGVUaW1lSW5wdXRUeXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0RhdGVUaW1lSW5wdXRUeXBlLmNwcApAQCAtMTY0LDYgKzE2NCwxMSBAQCB2b2lkIERh
dGVUaW1lSW5wdXRUeXBlOjpzZXR1cExheW91dFBhcmFtZXRlcnMoRGF0ZVRpbWVFZGl0RWxlbWVu
dDo6TGF5b3V0UGFyYW1ldAogICAgIGxheW91dFBhcmFtZXRlcnMucGxhY2Vob2xkZXJGb3JNb250
aCA9IHBsYWNlaG9sZGVyRm9yTW9udGhGaWVsZCgpOwogICAgIGxheW91dFBhcmFtZXRlcnMucGxh
Y2Vob2xkZXJGb3JZZWFyID0gcGxhY2Vob2xkZXJGb3JZZWFyRmllbGQoKTsKIH0KKworYm9vbCBE
YXRlVGltZUlucHV0VHlwZTo6aXNWYWxpZEZvcm1hdChib29sIGhhc1llYXIsIGJvb2wgaGFzTW9u
dGgsIGJvb2wgaGFzV2VlaywgYm9vbCBoYXNEYXksIGJvb2wgaGFzQU1QTSwgYm9vbCBoYXNIb3Vy
LCBib29sIGhhc01pbnV0ZSwgYm9vbCBoYXNTZWNvbmQpIGNvbnN0Cit7CisgICAgcmV0dXJuIGhh
c1llYXIgJiYgaGFzTW9udGggJiYgaGFzRGF5ICYmIGhhc0FNUE0gJiYgaGFzSG91ciAmJiBoYXNN
aW51dGU7Cit9CiAjZW5kaWYKIAogU3RyaW5nIERhdGVUaW1lSW5wdXRUeXBlOjpzYW5pdGl6ZVZh
bHVlKGNvbnN0IFN0cmluZyYgcHJvcG9zZWRWYWx1ZSkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvRGF0ZVRpbWVJbnB1dFR5cGUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
RGF0ZVRpbWVJbnB1dFR5cGUuaAppbmRleCA5ZDcyYmM4NWZhZDhiMmU3MjUyMWZmMzA0YjllNDE3
ZDZhNDU3MmNjLi43MjlkNjBjYTM2NDljNTQwZDY1OGJjOGIxNzk0MmFhNjMwZThiODg0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0RhdGVUaW1lSW5wdXRUeXBlLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9EYXRlVGltZUlucHV0VHlwZS5oCkBAIC02NCw2ICs2NCw3IEBAIHBy
aXZhdGU6CiAgICAgLy8gQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUgZnVu
Y3Rpb25zCiAgICAgdmlydHVhbCBTdHJpbmcgZm9ybWF0RGF0ZVRpbWVGaWVsZHNTdGF0ZShjb25z
dCBEYXRlVGltZUZpZWxkc1N0YXRlJikgY29uc3QgT1ZFUlJJREUgRklOQUw7CiAgICAgdmlydHVh
bCB2b2lkIHNldHVwTGF5b3V0UGFyYW1ldGVycyhEYXRlVGltZUVkaXRFbGVtZW50OjpMYXlvdXRQ
YXJhbWV0ZXJzJiwgY29uc3QgRGF0ZUNvbXBvbmVudHMmKSBjb25zdCBPVkVSUklERSBGSU5BTDsK
KyAgICB2aXJ0dWFsIGJvb2wgaXNWYWxpZEZvcm1hdChib29sIGhhc1llYXIsIGJvb2wgaGFzTW9u
dGgsIGJvb2wgaGFzV2VlaywgYm9vbCBoYXNEYXksIGJvb2wgaGFzQU1QTSwgYm9vbCBoYXNIb3Vy
LCBib29sIGhhc01pbnV0ZSwgYm9vbCBoYXNTZWNvbmQpIGNvbnN0OwogI2VuZGlmCiB9OwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0RhdGVUaW1lTG9jYWxJbnB1dFR5cGUuY3Bw
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9EYXRlVGltZUxvY2FsSW5wdXRUeXBlLmNwcAppbmRleCAy
MWM1ZjQyNGRjOWY5ZTM1MjczZjZjZDQ3YjgwN2QwZjRlN2E5NWE4Li42ODdiZmZhZTEzOWQxYTgw
NDAxYWM0YjlkNjA2YTQ2OTVmMGY1NDRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0RhdGVUaW1lTG9jYWxJbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0
ZVRpbWVMb2NhbElucHV0VHlwZS5jcHAKQEAgLTE3MCw2ICsxNzAsMTEgQEAgdm9pZCBEYXRlVGlt
ZUxvY2FsSW5wdXRUeXBlOjpzZXR1cExheW91dFBhcmFtZXRlcnMoRGF0ZVRpbWVFZGl0RWxlbWVu
dDo6TGF5b3V0UGEKICAgICBsYXlvdXRQYXJhbWV0ZXJzLnBsYWNlaG9sZGVyRm9yTW9udGggPSBw
bGFjZWhvbGRlckZvck1vbnRoRmllbGQoKTsKICAgICBsYXlvdXRQYXJhbWV0ZXJzLnBsYWNlaG9s
ZGVyRm9yWWVhciA9IHBsYWNlaG9sZGVyRm9yWWVhckZpZWxkKCk7CiB9CisKK2Jvb2wgRGF0ZVRp
bWVMb2NhbElucHV0VHlwZTo6aXNWYWxpZEZvcm1hdChib29sIGhhc1llYXIsIGJvb2wgaGFzTW9u
dGgsIGJvb2wgaGFzV2VlaywgYm9vbCBoYXNEYXksIGJvb2wgaGFzQU1QTSwgYm9vbCBoYXNIb3Vy
LCBib29sIGhhc01pbnV0ZSwgYm9vbCBoYXNTZWNvbmQpIGNvbnN0Cit7CisgICAgcmV0dXJuIGhh
c1llYXIgJiYgaGFzTW9udGggJiYgaGFzRGF5ICYmIGhhc0FNUE0gJiYgaGFzSG91ciAmJiBoYXNN
aW51dGU7Cit9CiAjZW5kaWYKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9EYXRlVGltZUxvY2FsSW5wdXRUeXBlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0RhdGVUaW1lTG9jYWxJbnB1dFR5cGUuaAppbmRleCAzMWVlYTRkNWExODQzZTc2
M2JjNjhiNzFmZDgzZjBkOWY4ZTU4YTc2Li5iMTZhYmU4NDI3Mzg0ZDUwMGU5MDYyZWQzZGUxOTMz
MWNiNGVmMmFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0RhdGVUaW1lTG9jYWxJ
bnB1dFR5cGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0RhdGVUaW1lTG9jYWxJbnB1dFR5
cGUuaApAQCAtNjMsNiArNjMsNyBAQCBwcml2YXRlOgogICAgIC8vIEJhc2VNdWx0aXBsZUZpZWxk
c0RhdGVBbmRUaW1lSW5wdXRUeXBlIGZ1bmN0aW9ucwogICAgIHZpcnR1YWwgU3RyaW5nIGZvcm1h
dERhdGVUaW1lRmllbGRzU3RhdGUoY29uc3QgRGF0ZVRpbWVGaWVsZHNTdGF0ZSYpIGNvbnN0IE9W
RVJSSURFIEZJTkFMOwogICAgIHZpcnR1YWwgdm9pZCBzZXR1cExheW91dFBhcmFtZXRlcnMoRGF0
ZVRpbWVFZGl0RWxlbWVudDo6TGF5b3V0UGFyYW1ldGVycyYsIGNvbnN0IERhdGVDb21wb25lbnRz
JikgY29uc3QgT1ZFUlJJREUgRklOQUw7CisgICAgdmlydHVhbCBib29sIGlzVmFsaWRGb3JtYXQo
Ym9vbCBoYXNZZWFyLCBib29sIGhhc01vbnRoLCBib29sIGhhc1dlZWssIGJvb2wgaGFzRGF5LCBi
b29sIGhhc0FNUE0sIGJvb2wgaGFzSG91ciwgYm9vbCBoYXNNaW51dGUsIGJvb2wgaGFzU2Vjb25k
KSBjb25zdDsKICNlbmRpZgogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9N
b250aElucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01vbnRoSW5wdXRUeXBlLmNw
cAppbmRleCAwM2ZlMTY3ZDdkNjkwNzY0NzEyNDBjODI4YzI5ODk2NGRkY2E4NDU5Li5kYjgwY2Jm
MzdiN2NjMzE0ZjdlZDc1OTdhYzkyMzIwMzM5ZmIxN2ZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL01vbnRoSW5wdXRUeXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01v
bnRoSW5wdXRUeXBlLmNwcApAQCAtMTY3LDYgKzE2NywxMSBAQCB2b2lkIE1vbnRoSW5wdXRUeXBl
OjpzZXR1cExheW91dFBhcmFtZXRlcnMoRGF0ZVRpbWVFZGl0RWxlbWVudDo6TGF5b3V0UGFyYW1l
dGVycwogICAgIGxheW91dFBhcmFtZXRlcnMucGxhY2Vob2xkZXJGb3JNb250aCA9ICItLSI7CiAg
ICAgbGF5b3V0UGFyYW1ldGVycy5wbGFjZWhvbGRlckZvclllYXIgPSAiLS0tLSI7CiB9CisKK2Jv
b2wgTW9udGhJbnB1dFR5cGU6OmlzVmFsaWRGb3JtYXQoYm9vbCBoYXNZZWFyLCBib29sIGhhc01v
bnRoLCBib29sIGhhc1dlZWssIGJvb2wgaGFzRGF5LCBib29sIGhhc0FNUE0sIGJvb2wgaGFzSG91
ciwgYm9vbCBoYXNNaW51dGUsIGJvb2wgaGFzU2Vjb25kKSBjb25zdAoreworICAgIHJldHVybiBo
YXNZZWFyICYmIGhhc01vbnRoOworfQogI2VuZGlmCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTW9udGhJbnB1dFR5cGUuaCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvTW9udGhJbnB1dFR5cGUuaAppbmRleCA3ZWQzMThiODRlYzUyNDU0M2E1
MWFiZjJhNjlmNDUxMmZlMWY5NWFmLi44ZmFlNWJiZTdiMDViN2VhNWRmY2I4YTQzNzQ1OTIyZDk2
OWFhMGMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01vbnRoSW5wdXRUeXBlLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9Nb250aElucHV0VHlwZS5oCkBAIC02NSw2ICs2NSw3
IEBAIHByaXZhdGU6CiAgICAgLy8gQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5
cGUgZnVuY3Rpb25zCiAgICAgdmlydHVhbCBTdHJpbmcgZm9ybWF0RGF0ZVRpbWVGaWVsZHNTdGF0
ZShjb25zdCBEYXRlVGltZUZpZWxkc1N0YXRlJikgY29uc3QgT1ZFUlJJREUgRklOQUw7CiAgICAg
dmlydHVhbCB2b2lkIHNldHVwTGF5b3V0UGFyYW1ldGVycyhEYXRlVGltZUVkaXRFbGVtZW50OjpM
YXlvdXRQYXJhbWV0ZXJzJiwgY29uc3QgRGF0ZUNvbXBvbmVudHMmKSBjb25zdCBPVkVSUklERSBG
SU5BTDsKKyAgICB2aXJ0dWFsIGJvb2wgaXNWYWxpZEZvcm1hdChib29sIGhhc1llYXIsIGJvb2wg
aGFzTW9udGgsIGJvb2wgaGFzV2VlaywgYm9vbCBoYXNEYXksIGJvb2wgaGFzQU1QTSwgYm9vbCBo
YXNIb3VyLCBib29sIGhhc01pbnV0ZSwgYm9vbCBoYXNTZWNvbmQpIGNvbnN0OwogI2VuZGlmCiB9
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1RpbWVJbnB1dFR5cGUuY3BwIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9UaW1lSW5wdXRUeXBlLmNwcAppbmRleCBkNWI0YTdhNjFmYWM0
YjIyZTM5NTlkZWFjZmJiOTI4YjcwYzA0YzQyLi4yYjZiYmMwN2NkY2Y3ZGVkMjk1ZWE1NzU0MjI3
ZTdhN2YyYzE5NTIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1RpbWVJbnB1dFR5
cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvVGltZUlucHV0VHlwZS5jcHAKQEAgLTE3
MCw2ICsxNzAsMTEgQEAgdm9pZCBUaW1lSW5wdXRUeXBlOjpzZXR1cExheW91dFBhcmFtZXRlcnMo
RGF0ZVRpbWVFZGl0RWxlbWVudDo6TGF5b3V0UGFyYW1ldGVycyYKICAgICBpZiAoIXBhcnNlVG9E
YXRlQ29tcG9uZW50cyhlbGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUobWF4QXR0ciksICZsYXlv
dXRQYXJhbWV0ZXJzLm1heGltdW0pKQogICAgICAgICBsYXlvdXRQYXJhbWV0ZXJzLm1heGltdW0g
PSBEYXRlQ29tcG9uZW50cygpOwogfQorCitib29sIFRpbWVJbnB1dFR5cGU6OmlzVmFsaWRGb3Jt
YXQoYm9vbCBoYXNZZWFyLCBib29sIGhhc01vbnRoLCBib29sIGhhc1dlZWssIGJvb2wgaGFzRGF5
LCBib29sIGhhc0FNUE0sIGJvb2wgaGFzSG91ciwgYm9vbCBoYXNNaW51dGUsIGJvb2wgaGFzU2Vj
b25kKSBjb25zdAoreworICAgIHJldHVybiBoYXNIb3VyICYmIGhhc01pbnV0ZSAmJiBoYXNBTVBN
OworfQogI2VuZGlmCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvVGltZUlucHV0VHlwZS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9UaW1l
SW5wdXRUeXBlLmgKaW5kZXggMzJlYWI1ZTFjYjE1MWM4YWFmNjZhYTA5NTM3NGEzZjJkYzg1MTNj
ZC4uMTZmNTE5ZTdkMzkzYzcyOTk1OGNjODQxNTcwNTJiZDVkYzkzZjIxYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9UaW1lSW5wdXRUeXBlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9UaW1lSW5wdXRUeXBlLmgKQEAgLTYzLDYgKzYzLDcgQEAgcHJpdmF0ZToKICAgICAvLyBC
YXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZSBmdW5jdGlvbnMKICAgICB2aXJ0
dWFsIFN0cmluZyBmb3JtYXREYXRlVGltZUZpZWxkc1N0YXRlKGNvbnN0IERhdGVUaW1lRmllbGRz
U3RhdGUmKSBjb25zdCBPVkVSUklERSBGSU5BTDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0dXBMYXlv
dXRQYXJhbWV0ZXJzKERhdGVUaW1lRWRpdEVsZW1lbnQ6OkxheW91dFBhcmFtZXRlcnMmLCBjb25z
dCBEYXRlQ29tcG9uZW50cyYpIGNvbnN0IE9WRVJSSURFIEZJTkFMOworICAgIHZpcnR1YWwgYm9v
bCBpc1ZhbGlkRm9ybWF0KGJvb2wgaGFzWWVhciwgYm9vbCBoYXNNb250aCwgYm9vbCBoYXNXZWVr
LCBib29sIGhhc0RheSwgYm9vbCBoYXNBTVBNLCBib29sIGhhc0hvdXIsIGJvb2wgaGFzTWludXRl
LCBib29sIGhhc1NlY29uZCkgY29uc3Q7CiAjZW5kaWYKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvV2Vla0lucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1dl
ZWtJbnB1dFR5cGUuY3BwCmluZGV4IDA2MGIxODEwZmM3YzE0ZjVhYjMyNWViMmUxMWM5NzM5OWQy
YTY0MWMuLmFkOGI4ZDUzZmI4ZmZlYjAwOGE5ZWZjMDM0MDA4MmU4NzdjMDc5ZGQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvV2Vla0lucHV0VHlwZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9XZWVrSW5wdXRUeXBlLmNwcApAQCAtMTIwLDYgKzEyMCwxMSBAQCB2b2lkIFdl
ZWtJbnB1dFR5cGU6OnNldHVwTGF5b3V0UGFyYW1ldGVycyhEYXRlVGltZUVkaXRFbGVtZW50OjpM
YXlvdXRQYXJhbWV0ZXJzJgogICAgICAgICBsYXlvdXRQYXJhbWV0ZXJzLm1heGltdW0gPSBEYXRl
Q29tcG9uZW50cygpOwogICAgIGxheW91dFBhcmFtZXRlcnMucGxhY2Vob2xkZXJGb3JZZWFyID0g
Ii0tLS0iOwogfQorCitib29sIFdlZWtJbnB1dFR5cGU6OmlzVmFsaWRGb3JtYXQoYm9vbCBoYXNZ
ZWFyLCBib29sIGhhc01vbnRoLCBib29sIGhhc1dlZWssIGJvb2wgaGFzRGF5LCBib29sIGhhc0FN
UE0sIGJvb2wgaGFzSG91ciwgYm9vbCBoYXNNaW51dGUsIGJvb2wgaGFzU2Vjb25kKSBjb25zdAor
eworICAgIHJldHVybiBoYXNZZWFyICYmIGhhc1dlZWs7Cit9CiAjZW5kaWYKIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9XZWVrSW5wdXRU
eXBlLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1dlZWtJbnB1dFR5cGUuaAppbmRleCAzODViZDZk
OGQ3ZTk5ZTY3MzYzOTcxMWZlZGE1MWViYmUxODFjYWVjLi44OWU3NDNkMjhmNjk3NzM4ZjgzMTFk
Mzc2NGJkMTRiOWU4NTAzMTkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1dlZWtJ
bnB1dFR5cGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1dlZWtJbnB1dFR5cGUuaApAQCAt
NjEsNiArNjEsNyBAQCBwcml2YXRlOgogICAgIC8vIEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRU
aW1lSW5wdXRUeXBlIGZ1bmN0aW9ucwogICAgIHZpcnR1YWwgU3RyaW5nIGZvcm1hdERhdGVUaW1l
RmllbGRzU3RhdGUoY29uc3QgRGF0ZVRpbWVGaWVsZHNTdGF0ZSYpIGNvbnN0IE9WRVJSSURFIEZJ
TkFMOwogICAgIHZpcnR1YWwgdm9pZCBzZXR1cExheW91dFBhcmFtZXRlcnMoRGF0ZVRpbWVFZGl0
RWxlbWVudDo6TGF5b3V0UGFyYW1ldGVycyYsIGNvbnN0IERhdGVDb21wb25lbnRzJikgY29uc3Qg
T1ZFUlJJREUgRklOQUw7CisgICAgdmlydHVhbCBib29sIGlzVmFsaWRGb3JtYXQoYm9vbCBoYXNZ
ZWFyLCBib29sIGhhc01vbnRoLCBib29sIGhhc1dlZWssIGJvb2wgaGFzRGF5LCBib29sIGhhc0FN
UE0sIGJvb2wgaGFzSG91ciwgYm9vbCBoYXNNaW51dGUsIGJvb2wgaGFzU2Vjb25kKSBjb25zdDsK
ICNlbmRpZgogfTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDM1OTliZDg4ODBlYjJmZTk5MzIxNjYyOGFkM2NlMDc2OThl
YWVkOTcuLjE4ZTUzZjYyZThmZWU4MTFkNWZkZmFhMmI1NzE2MDgxNjQ4Y2Q4ZmQgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwyMyBAQAorMjAxMy0wMy0yMiAgS3VuaWhpa28gU2FrYW1vdG8gIDxrc2FrYW1vdG9A
Y2hyb21pdW0ub3JnPgorCisgICAgICAgIElOUFVUX01VTFRJUExFX0ZJRUxEU19VSTogSW5jb21w
bGV0ZSBkYXRldGltZSBmb3JtYXQgc2hvdWxkIGZhbGxiYWNrIHRvIGRlZmF1bHQKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMzAwNQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9mb3Jtcy9kYXRl
LW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1mYWxsYmFjay1mb3JtYXQtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmll
bGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLWZhbGxiYWNrLWZvcm1hdC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L2Zvcm1zL2RhdGV0aW1lLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZS1tdWx0
aXBsZS1maWVsZHMtZmFsbGJhY2stZm9ybWF0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZmFzdC9mb3Jtcy9kYXRldGltZS1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWUtbXVsdGlwbGUt
ZmllbGRzLWZhbGxiYWNrLWZvcm1hdC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1z
L2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmll
bGRzLWZhbGxiYWNrLWZvcm1hdC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3Qv
Zm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBs
ZS1maWVsZHMtZmFsbGJhY2stZm9ybWF0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9y
bXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy1mYWxsYmFjay1m
b3JtYXQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL21vbnRoLW11
bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0aXBsZS1maWVsZHMtZmFsbGJhY2stZm9ybWF0Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1t
dWx0aXBsZS1maWVsZHMtZmFsbGJhY2stZm9ybWF0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxk
cy1mYWxsYmFjay1mb3JtYXQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy93ZWVr
LW11bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy1mYWxsYmFjay1mb3JtYXQtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3dlZWstbXVsdGlwbGUtZmll
bGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLWZhbGxiYWNrLWZvcm1hdC5odG1sOiBBZGRlZC4KKwog
MjAxMy0wMy0yMSAgQ2xhdWRpbyBTYWF2ZWRyYSAgPGNzYWF2ZWRyYUBpZ2FsaWEuY29tPgogCiAg
ICAgICAgIFVucmV2aWV3ZWQgR1RLKyBnYXJkZW5pbmcuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLWZh
bGxiYWNrLWZvcm1hdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUt
bXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLWZhbGxiYWNrLWZvcm1hdC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNTY2MzFmMTczOWQ2MTUwYTFiYmYzOTBkMzcwY2U2OWNjYmY4
NzYyYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0
aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtZmFsbGJhY2stZm9ybWF0LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDE1IEBACitDaGVja3MgaW5jb21wbGV0ZSBkYXRldGltZSBmb3JtYXRz
IGFyZSByZWplY3RlZC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1ZhbGlkIGZv
cm1hdAorUEFTUyBnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29udGVudChpbnB1dCkgaXMgIjMxLTA3
LTE5OTkiCitJbnZhbGlkIGZvcm1hdCwgZmFsbGJhY2sgdG8geXl5eS1NTS1kZAorUEFTUyBnZXRV
c2VyQWdlbnRTaGFkb3dUZXh0Q29udGVudChpbnB1dCkgaXMgIjE5OTktMDctMzEiCitQQVNTIGdl
dFVzZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0KSBpcyAiMTk5OS0wNy0zMSIKK1BBU1Mg
Z2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpIGlzICIxOTk5LTA3LTMxIgorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0
aXBsZS1maWVsZHMtZmFsbGJhY2stZm9ybWF0Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLWZhbGxiYWNrLWZvcm1h
dC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmNkOWIyNjA0NjllMDk5NzY3NzZjZTIwNTdlOTM5ZDk3NjZkZGVm
NzYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlw
bGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLWZhbGxiYWNrLWZvcm1hdC5odG1sCkBAIC0w
LDAgKzEsMzkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
c2NyaXB0PgorZGVzY3JpcHRpb24oJ0NoZWNrcyBpbmNvbXBsZXRlIGRhdGV0aW1lIGZvcm1hdHMg
YXJlIHJlamVjdGVkLicpOworCit2YXIgaW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdp
bnB1dCcpOworaW5wdXQudHlwZSA9ICdkYXRlJzsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
aW5wdXQpOworCitmdW5jdGlvbiBzZXREYXRlVGltZUZvcm1hdChwYXR0ZXJuKSB7CisgICAgdmFy
IHZhbHVlID0gaW5wdXQudmFsdWU7CisgICAgZ2V0RWxlbWVudEJ5UHNldWRvSWQoaW50ZXJuYWxz
LnlvdW5nZXN0U2hhZG93Um9vdChpbnB1dCksICctd2Via2l0LWRhdGV0aW1lLWVkaXQnKS5zZXRB
dHRyaWJ1dGUoJ3BhdHRlcm4nLCBwYXR0ZXJuKTsKKyAgICBpbnB1dC52YWx1ZSA9ICcnOyAvLyBV
cGRhdGVzIHRoZSBlbGVtZW50IGZvciBuZXcgZm9ybWF0CisgICAgaW5wdXQudmFsdWUgPSB2YWx1
ZTsKK30KKworaW5wdXQudmFsdWUgPSAnMTk5OS0wNy0zMSc7CisKK2RlYnVnKCdWYWxpZCBmb3Jt
YXQnKTsKK3NldERhdGVUaW1lRm9ybWF0KCJkZC1NTS15eXl5Iik7CitzaG91bGRCZUVxdWFsVG9T
dHJpbmcoJ2dldFVzZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0KScsICczMS0wNy0xOTk5
Jyk7CisKK2RlYnVnKCJJbnZhbGlkIGZvcm1hdCwgZmFsbGJhY2sgdG8geXl5eS1NTS1kZCIpOwor
c2V0RGF0ZVRpbWVGb3JtYXQoJ3l5eXktTU0nKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZ2V0
VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpJywgJzE5OTktMDctMzEnKTsKK3NldERh
dGVUaW1lRm9ybWF0KCdNTS9kZCcpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdnZXRVc2VyQWdl
bnRTaGFkb3dUZXh0Q29udGVudChpbnB1dCknLCAnMTk5OS0wNy0zMScpOworc2V0RGF0ZVRpbWVG
b3JtYXQoJ2RkLXl5eXknKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZ2V0VXNlckFnZW50U2hh
ZG93VGV4dENvbnRlbnQoaW5wdXQpJywgJzE5OTktMDctMzEnKTsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0
aW1lLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZS1tdWx0aXBsZS1maWVsZHMtZmFsbGJhY2stZm9y
bWF0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWUtbXVsdGlw
bGUtZmllbGRzL2RhdGV0aW1lLW11bHRpcGxlLWZpZWxkcy1mYWxsYmFjay1mb3JtYXQtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmE3MmJiNzk1M2I1NGY4NzIzN2YxNzE1NTUyNjRiZTIwOTI2ZDUw
NTkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lLW11
bHRpcGxlLWZpZWxkcy9kYXRldGltZS1tdWx0aXBsZS1maWVsZHMtZmFsbGJhY2stZm9ybWF0LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDE1IEBACitDaGVja3MgaW5jb21wbGV0ZSBkYXRldGltZSBm
b3JtYXRzIGFyZSByZWplY3RlZC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1Zh
bGlkIGZvcm1hdAorUEFTUyBnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29udGVudChpbnB1dCkgaXMg
IjE5OTktMDctMzEgMTE6NTkgUE0iCitJbnZhbGlkIGZvcm1hdCwgZmFsbGJhY2sgdG8geXl5eS1N
TS1kZCdUJ0hIOm1tCitQQVNTIGdldFVzZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0KSBp
cyAiMTk5OS0wNy0zMVQyMzo1OSIKK1BBU1MgZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQo
aW5wdXQpIGlzICIxOTk5LTA3LTMxVDIzOjU5IgorUEFTUyBnZXRVc2VyQWdlbnRTaGFkb3dUZXh0
Q29udGVudChpbnB1dCkgaXMgIjE5OTktMDctMzFUMjM6NTkiCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy9kYXRldGltZS1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWUtbXVsdGlwbGUtZmll
bGRzLWZhbGxiYWNrLWZvcm1hdC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRldGlt
ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWUtbXVsdGlwbGUtZmllbGRzLWZhbGxiYWNrLWZvcm1h
dC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIwOWY2ODhhZDk2M2M4NWMwNzczZTM4NzZkZDVkZWFjYWJlZDJm
YzEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lLW11
bHRpcGxlLWZpZWxkcy9kYXRldGltZS1tdWx0aXBsZS1maWVsZHMtZmFsbGJhY2stZm9ybWF0Lmh0
bWwKQEAgLTAsMCArMSwzOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2NvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbignQ2hlY2tzIGluY29tcGxldGUgZGF0ZXRpbWUg
Zm9ybWF0cyBhcmUgcmVqZWN0ZWQuJyk7CisKK3ZhciBpbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoJ2lucHV0Jyk7CitpbnB1dC50eXBlID0gJ2RhdGV0aW1lLWxvY2FsJzsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQoaW5wdXQpOworCitmdW5jdGlvbiBzZXREYXRlVGltZUZvcm1hdChw
YXR0ZXJuKSB7CisgICAgdmFyIHZhbHVlID0gaW5wdXQudmFsdWU7CisgICAgZ2V0RWxlbWVudEJ5
UHNldWRvSWQoaW50ZXJuYWxzLnlvdW5nZXN0U2hhZG93Um9vdChpbnB1dCksICctd2Via2l0LWRh
dGV0aW1lLWVkaXQnKS5zZXRBdHRyaWJ1dGUoJ3BhdHRlcm4nLCBwYXR0ZXJuKTsKKyAgICBpbnB1
dC52YWx1ZSA9ICcnOyAvLyBVcGRhdGVzIHRoZSBlbGVtZW50IGZvciBuZXcgZm9ybWF0CisgICAg
aW5wdXQudmFsdWUgPSB2YWx1ZTsKK30KKworaW5wdXQudmFsdWUgPSAnMTk5OS0wNy0zMVQyMzo1
OSc7CisKK2RlYnVnKCdWYWxpZCBmb3JtYXQnKTsKK3NldERhdGVUaW1lRm9ybWF0KCJ5eXl5LU1N
LWRkIGhoOm1tIGEiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZ2V0VXNlckFnZW50U2hhZG93
VGV4dENvbnRlbnQoaW5wdXQpJywgJzE5OTktMDctMzEgMTE6NTkgUE0nKTsKKworZGVidWcoIklu
dmFsaWQgZm9ybWF0LCBmYWxsYmFjayB0byB5eXl5LU1NLWRkJ1QnSEg6bW0iKTsKK3NldERhdGVU
aW1lRm9ybWF0KCd5eXl5LU1NLWRkJyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2dldFVzZXJB
Z2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0KScsICcxOTk5LTA3LTMxVDIzOjU5Jyk7CitzZXRE
YXRlVGltZUZvcm1hdCgnSEg6bW0nKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZ2V0VXNlckFn
ZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpJywgJzE5OTktMDctMzFUMjM6NTknKTsKK3NldERh
dGVUaW1lRm9ybWF0KCJ5eXl5LU1NLWRkJ1QnaGg6bW0iKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmlu
ZygnZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpJywgJzE5OTktMDctMzFUMjM6
NTknKTsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1l
bG9jYWwtbXVsdGlwbGUtZmllbGRzLWZhbGxiYWNrLWZvcm1hdC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGV0aW1lbG9jYWwtbXVsdGlwbGUtZmllbGRzL2RhdGV0aW1l
bG9jYWwtbXVsdGlwbGUtZmllbGRzLWZhbGxiYWNrLWZvcm1hdC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYTcyYmI3OTUzYjU0Zjg3MjM3ZjE3MTU1NTI2NGJlMjA5MjZkNTA1OQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1m
aWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMtZmFsbGJhY2stZm9ybWF0LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDE1IEBACitDaGVja3MgaW5jb21wbGV0ZSBkYXRldGltZSBmb3Jt
YXRzIGFyZSByZWplY3RlZC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1ZhbGlk
IGZvcm1hdAorUEFTUyBnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29udGVudChpbnB1dCkgaXMgIjE5
OTktMDctMzEgMTE6NTkgUE0iCitJbnZhbGlkIGZvcm1hdCwgZmFsbGJhY2sgdG8geXl5eS1NTS1k
ZCdUJ0hIOm1tCitQQVNTIGdldFVzZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0KSBpcyAi
MTk5OS0wNy0zMVQyMzo1OSIKK1BBU1MgZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5w
dXQpIGlzICIxOTk5LTA3LTMxVDIzOjU5IgorUEFTUyBnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29u
dGVudChpbnB1dCkgaXMgIjE5OTktMDctMzFUMjM6NTkiCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy9kYXRldGltZWxvY2FsLW11bHRpcGxlLWZpZWxkcy9kYXRldGltZWxvY2FsLW11bHRp
cGxlLWZpZWxkcy1mYWxsYmFjay1mb3JtYXQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
ZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVs
ZHMtZmFsbGJhY2stZm9ybWF0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjA5ZjY4OGFkOTYzYzg1YzA3NzNl
Mzg3NmRkNWRlYWNhYmVkMmZjMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBsZS1maWVsZHMvZGF0ZXRpbWVsb2NhbC1tdWx0aXBs
ZS1maWVsZHMtZmFsbGJhY2stZm9ybWF0Lmh0bWwKQEAgLTAsMCArMSwzOSBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2NvbW1v
bi5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbign
Q2hlY2tzIGluY29tcGxldGUgZGF0ZXRpbWUgZm9ybWF0cyBhcmUgcmVqZWN0ZWQuJyk7CisKK3Zh
ciBpbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7CitpbnB1dC50eXBlID0g
J2RhdGV0aW1lLWxvY2FsJzsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaW5wdXQpOworCitm
dW5jdGlvbiBzZXREYXRlVGltZUZvcm1hdChwYXR0ZXJuKSB7CisgICAgdmFyIHZhbHVlID0gaW5w
dXQudmFsdWU7CisgICAgZ2V0RWxlbWVudEJ5UHNldWRvSWQoaW50ZXJuYWxzLnlvdW5nZXN0U2hh
ZG93Um9vdChpbnB1dCksICctd2Via2l0LWRhdGV0aW1lLWVkaXQnKS5zZXRBdHRyaWJ1dGUoJ3Bh
dHRlcm4nLCBwYXR0ZXJuKTsKKyAgICBpbnB1dC52YWx1ZSA9ICcnOyAvLyBVcGRhdGVzIHRoZSBl
bGVtZW50IGZvciBuZXcgZm9ybWF0CisgICAgaW5wdXQudmFsdWUgPSB2YWx1ZTsKK30KKworaW5w
dXQudmFsdWUgPSAnMTk5OS0wNy0zMVQyMzo1OSc7CisKK2RlYnVnKCdWYWxpZCBmb3JtYXQnKTsK
K3NldERhdGVUaW1lRm9ybWF0KCJ5eXl5LU1NLWRkIGhoOm1tIGEiKTsKK3Nob3VsZEJlRXF1YWxU
b1N0cmluZygnZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpJywgJzE5OTktMDct
MzEgMTE6NTkgUE0nKTsKKworZGVidWcoIkludmFsaWQgZm9ybWF0LCBmYWxsYmFjayB0byB5eXl5
LU1NLWRkJ1QnSEg6bW0iKTsKK3NldERhdGVUaW1lRm9ybWF0KCd5eXl5LU1NLWRkJyk7CitzaG91
bGRCZUVxdWFsVG9TdHJpbmcoJ2dldFVzZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0KScs
ICcxOTk5LTA3LTMxVDIzOjU5Jyk7CitzZXREYXRlVGltZUZvcm1hdCgnSEg6bW0nKTsKK3Nob3Vs
ZEJlRXF1YWxUb1N0cmluZygnZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpJywg
JzE5OTktMDctMzFUMjM6NTknKTsKK3NldERhdGVUaW1lRm9ybWF0KCJ5eXl5LU1NLWRkJ1QnaGg6
bW0iKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRl
bnQoaW5wdXQpJywgJzE5OTktMDctMzFUMjM6NTknKTsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21vbnRoLW11bHRp
cGxlLWZpZWxkcy9tb250aC1tdWx0aXBsZS1maWVsZHMtZmFsbGJhY2stZm9ybWF0LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRo
LW11bHRpcGxlLWZpZWxkcy1mYWxsYmFjay1mb3JtYXQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmIzOGI5NmFhNTQ4NDhiMDFkMDI5M2NiNDM1YzBjOTc2NjViNmY0MjAKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1t
dWx0aXBsZS1maWVsZHMtZmFsbGJhY2stZm9ybWF0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE0
IEBACitDaGVja3MgaW5jb21wbGV0ZSBkYXRldGltZSBmb3JtYXRzIGFyZSByZWplY3RlZC4KKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1ZhbGlkIGZvcm1hdAorUEFTUyBnZXRVc2Vy
QWdlbnRTaGFkb3dUZXh0Q29udGVudChpbnB1dCkgaXMgIjA3LTE5OTkiCitJbnZhbGlkIGZvcm1h
dCwgZmFsbGJhY2sgdG8geXl5eS1NTQorUEFTUyBnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29udGVu
dChpbnB1dCkgaXMgIjE5OTktMDciCitQQVNTIGdldFVzZXJBZ2VudFNoYWRvd1RleHRDb250ZW50
KGlucHV0KSBpcyAiMTk5OS0wNyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21vbnRo
LW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0aXBsZS1maWVsZHMtZmFsbGJhY2stZm9ybWF0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1t
dWx0aXBsZS1maWVsZHMtZmFsbGJhY2stZm9ybWF0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjk1MTFhYjYy
YzllOGY3MWVjYWU2YmM5OTU1NTVhNTg1ZWFkMzZmZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZp
ZWxkcy1mYWxsYmFjay1mb3JtYXQuaHRtbApAQCAtMCwwICsxLDM3IEBACis8IURPQ1RZUEUgaHRt
bD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY29tbW9uLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCdDaGVj
a3MgaW5jb21wbGV0ZSBkYXRldGltZSBmb3JtYXRzIGFyZSByZWplY3RlZC4nKTsKKwordmFyIGlu
cHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTsKK2lucHV0LnR5cGUgPSAnbW9u
dGgnOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpbnB1dCk7CisKK2Z1bmN0aW9uIHNldERh
dGVUaW1lRm9ybWF0KHBhdHRlcm4pIHsKKyAgICB2YXIgdmFsdWUgPSBpbnB1dC52YWx1ZTsKKyAg
ICBnZXRFbGVtZW50QnlQc2V1ZG9JZChpbnRlcm5hbHMueW91bmdlc3RTaGFkb3dSb290KGlucHV0
KSwgJy13ZWJraXQtZGF0ZXRpbWUtZWRpdCcpLnNldEF0dHJpYnV0ZSgncGF0dGVybicsIHBhdHRl
cm4pOworICAgIGlucHV0LnZhbHVlID0gJyc7IC8vIFVwZGF0ZXMgdGhlIGVsZW1lbnQgZm9yIG5l
dyBmb3JtYXQKKyAgICBpbnB1dC52YWx1ZSA9IHZhbHVlOworfQorCitpbnB1dC52YWx1ZSA9ICcx
OTk5LTA3JzsKKworZGVidWcoJ1ZhbGlkIGZvcm1hdCcpOworc2V0RGF0ZVRpbWVGb3JtYXQoJ01N
LXl5eXknKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZ2V0VXNlckFnZW50U2hhZG93VGV4dENv
bnRlbnQoaW5wdXQpJywgJzA3LTE5OTknKTsKKworZGVidWcoJ0ludmFsaWQgZm9ybWF0LCBmYWxs
YmFjayB0byB5eXl5LU1NJyk7CitzZXREYXRlVGltZUZvcm1hdCgnbW0teXl5eScpOworc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCdnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29udGVudChpbnB1dCknLCAn
MTk5OS0wNycpOworc2V0RGF0ZVRpbWVGb3JtYXQoJ00nKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmlu
ZygnZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpJywgJzE5OTktMDcnKTsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWZhbGxi
YWNrLWZvcm1hdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVs
dGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWZhbGxiYWNrLWZvcm1hdC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNDIxNzRkNDJlZjdhMDVjMzIyMmNjMTliZjE5MjMxZGJmZGRkMDcy
MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBs
ZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtZmFsbGJhY2stZm9ybWF0LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDE3IEBACitDaGVja3MgaW5jb21wbGV0ZSBkYXRldGltZSBmb3JtYXRzIGFy
ZSByZWplY3RlZC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1ZhbGlkIGZvcm1h
dAorUEFTUyBnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29udGVudChpbnB1dCkgaXMgIjAxLjIzNDo1
OToxMSBQTSIKK1BBU1MgZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpIGlzICIw
MS4yMzQ6NTk6MjMiCitQQVNTIGdldFVzZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0KSBp
cyAiMDEuMjM0OjU5OjIzIFBNIgorSW52YWxpZCBmb3JtYXQsIGZhbGxiYWNrIHRvIEhIOm1tOnNz
CitQQVNTIGdldFVzZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0KSBpcyAiMjM6NTk6MDEu
MjM0IgorUEFTUyBnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29udGVudChpbnB1dCkgaXMgIjIzOjU5
OjAxLjIzNCIKK1BBU1MgZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpIGlzICIy
Mzo1OTowMS4yMzQiCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxl
LWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1mYWxsYmFjay1mb3JtYXQuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVs
ZHMtZmFsbGJhY2stZm9ybWF0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzY2ZTE2MTdmOTdlMWY3ODYzNDBh
NTljYTY1NDkxZDg0ZmExOTFkMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtZmFsbGJhY2st
Zm9ybWF0Lmh0bWwKQEAgLTAsMCArMSw0MyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2NvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbignQ2hlY2tzIGluY29tcGxldGUg
ZGF0ZXRpbWUgZm9ybWF0cyBhcmUgcmVqZWN0ZWQuJyk7CisKK3ZhciBpbnB1dCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7CitpbnB1dC50eXBlID0gJ3RpbWUnOworZG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZChpbnB1dCk7CisKK2Z1bmN0aW9uIHNldERhdGVUaW1lRm9ybWF0KHBh
dHRlcm4pIHsKKyAgICB2YXIgdmFsdWUgPSBpbnB1dC52YWx1ZTsKKyAgICBnZXRFbGVtZW50QnlQ
c2V1ZG9JZChpbnRlcm5hbHMueW91bmdlc3RTaGFkb3dSb290KGlucHV0KSwgJy13ZWJraXQtZGF0
ZXRpbWUtZWRpdCcpLnNldEF0dHJpYnV0ZSgncGF0dGVybicsIHBhdHRlcm4pOworICAgIGlucHV0
LnZhbHVlID0gJyc7IC8vIFVwZGF0ZXMgdGhlIGVsZW1lbnQgZm9yIG5ldyBmb3JtYXQKKyAgICBp
bnB1dC52YWx1ZSA9IHZhbHVlOworfQorCitpbnB1dC52YWx1ZSA9ICcyMzo1OTowMS4yMzQnOwor
CitkZWJ1ZygnVmFsaWQgZm9ybWF0Jyk7CitzZXREYXRlVGltZUZvcm1hdCgnc3M6bW06aGggYScp
Oworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29udGVudChp
bnB1dCknLCAnMDEuMjM0OjU5OjExIFBNJyk7CitzZXREYXRlVGltZUZvcm1hdCgnc3M6bW06SEgn
KTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQo
aW5wdXQpJywgJzAxLjIzNDo1OToyMycpOworc2V0RGF0ZVRpbWVGb3JtYXQoJ3NzOm1tOkhIIGEn
KTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQo
aW5wdXQpJywgJzAxLjIzNDo1OToyMyBQTScpOworCitkZWJ1ZygnSW52YWxpZCBmb3JtYXQsIGZh
bGxiYWNrIHRvIEhIOm1tOnNzJyk7CitzZXREYXRlVGltZUZvcm1hdCgnSEgnKTsKK3Nob3VsZEJl
RXF1YWxUb1N0cmluZygnZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpJywgJzIz
OjU5OjAxLjIzNCcpOworc2V0RGF0ZVRpbWVGb3JtYXQoJ21tOnNzJyk7CitzaG91bGRCZUVxdWFs
VG9TdHJpbmcoJ2dldFVzZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0KScsICcyMzo1OTow
MS4yMzQnKTsKK3NldERhdGVUaW1lRm9ybWF0KCdoaDptbTpzcycpOworc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCdnZXRVc2VyQWdlbnRTaGFkb3dUZXh0Q29udGVudChpbnB1dCknLCAnMjM6NTk6MDEu
MjM0Jyk7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZp
ZWxkcy1mYWxsYmFjay1mb3JtYXQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy93ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVrLW11bHRpcGxlLWZpZWxkcy1mYWxsYmFjay1mb3Jt
YXQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiMmNjYThlZDZhZWU2NWQwYjQzNTJiOTBhN2Q5
MzExODNhMTcyMWYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3dl
ZWstbXVsdGlwbGUtZmllbGRzL3dlZWstbXVsdGlwbGUtZmllbGRzLWZhbGxiYWNrLWZvcm1hdC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNCBAQAorQ2hlY2tzIGluY29tcGxldGUgZGF0ZXRpbWUg
Zm9ybWF0cyBhcmUgcmVqZWN0ZWQuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitW
YWxpZCBmb3JtYXQKK1BBU1MgZ2V0VXNlckFnZW50U2hhZG93VGV4dENvbnRlbnQoaW5wdXQpIGlz
ICJXZWVrMDkgMTk5OSIKK0ludmFsaWQgZm9ybWF0LCBmYWxsYmFjayB0byB5eXl5LSdXJ3d3CitQ
QVNTIGdldFVzZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0KSBpcyAiMTk5OS1XMDkiCitQ
QVNTIGdldFVzZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0KSBpcyAiMTk5OS1XMDkiCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93ZWVrLW11bHRpcGxlLWZpZWxkcy93ZWVrLW11
bHRpcGxlLWZpZWxkcy1mYWxsYmFjay1mb3JtYXQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvd2Vlay1tdWx0aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMtZmFsbGJhY2stZm9y
bWF0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjVmNDkyYmJkYjkxZTI1NGJmMGE1M2JlZDBjYWYxMDVmZjdm
YmEwNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvd2Vlay1tdWx0
aXBsZS1maWVsZHMvd2Vlay1tdWx0aXBsZS1maWVsZHMtZmFsbGJhY2stZm9ybWF0Lmh0bWwKQEAg
LTAsMCArMSwzNyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vcmVzb3VyY2VzL2NvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxzY3JpcHQ+CitkZXNjcmlwdGlvbignQ2hlY2tzIGluY29tcGxldGUgZGF0ZXRpbWUgZm9ybWF0
cyBhcmUgcmVqZWN0ZWQuJyk7CisKK3ZhciBpbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
J2lucHV0Jyk7CitpbnB1dC50eXBlID0gJ3dlZWsnOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZChpbnB1dCk7CisKK2Z1bmN0aW9uIHNldERhdGVUaW1lRm9ybWF0KHBhdHRlcm4pIHsKKyAgICB2
YXIgdmFsdWUgPSBpbnB1dC52YWx1ZTsKKyAgICBnZXRFbGVtZW50QnlQc2V1ZG9JZChpbnRlcm5h
bHMueW91bmdlc3RTaGFkb3dSb290KGlucHV0KSwgJy13ZWJraXQtZGF0ZXRpbWUtZWRpdCcpLnNl
dEF0dHJpYnV0ZSgncGF0dGVybicsIHBhdHRlcm4pOworICAgIGlucHV0LnZhbHVlID0gJyc7IC8v
IFVwZGF0ZXMgdGhlIGVsZW1lbnQgZm9yIG5ldyBmb3JtYXQKKyAgICBpbnB1dC52YWx1ZSA9IHZh
bHVlOworfQorCitpbnB1dC52YWx1ZSA9ICcxOTk5LVcwOSc7CisKK2RlYnVnKCdWYWxpZCBmb3Jt
YXQnKTsKK3NldERhdGVUaW1lRm9ybWF0KCInV2Vlayd3dyB5eXl5Iik7CitzaG91bGRCZUVxdWFs
VG9TdHJpbmcoJ2dldFVzZXJBZ2VudFNoYWRvd1RleHRDb250ZW50KGlucHV0KScsICdXZWVrMDkg
MTk5OScpOworCitkZWJ1ZygiSW52YWxpZCBmb3JtYXQsIGZhbGxiYWNrIHRvIHl5eXktJ1cnd3ci
KTsKK3NldERhdGVUaW1lRm9ybWF0KCd3dycpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdnZXRV
c2VyQWdlbnRTaGFkb3dUZXh0Q29udGVudChpbnB1dCknLCAnMTk5OS1XMDknKTsKK3NldERhdGVU
aW1lRm9ybWF0KCd5eXl5Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2dldFVzZXJBZ2VudFNo
YWRvd1RleHRDb250ZW50KGlucHV0KScsICcxOTk5LVcwOScpOworCis8L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>