<?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>218681</bug_id>
          
          <creation_ts>2020-11-06 23:17:07 -0800</creation_ts>
          <short_desc>[JSC] Add TimeZone range cache over ICU TimeZone API</short_desc>
          <delta_ts>2020-12-17 15:47:27 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>219915</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>ross.kirsling</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1705522</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-11-06 23:17:07 -0800</bug_when>
    <thetext>[JSC] Add TimeZone range cache over ICU TimeZone API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1705523</commentid>
    <comment_count>1</comment_count>
      <attachid>413519</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-11-06 23:19:48 -0800</bug_when>
    <thetext>Created attachment 413519
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1705524</commentid>
    <comment_count>2</comment_count>
      <attachid>413520</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-11-06 23:21:29 -0800</bug_when>
    <thetext>Created attachment 413520
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1705573</commentid>
    <comment_count>3</comment_count>
      <attachid>413538</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-11-07 19:38:39 -0800</bug_when>
    <thetext>Created attachment 413538
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1705579</commentid>
    <comment_count>4</comment_count>
      <attachid>413540</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-11-07 20:42:01 -0800</bug_when>
    <thetext>Created attachment 413540
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1705645</commentid>
    <comment_count>5</comment_count>
      <attachid>413540</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2020-11-08 21:16:52 -0800</bug_when>
    <thetext>Comment on attachment 413540
Patch

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

r=me, looks good based on the code that existed prior to r269320.

&gt; Source/JavaScriptCore/runtime/JSDateMath.cpp:104
&gt; +    auto&amp; timeZoneCache = *bitwise_cast&lt;icu::TimeZone*&gt;(this-&gt;timeZoneCache());

Is the `this-&gt;` necessary?

&gt; Source/JavaScriptCore/runtime/JSDateMath.cpp:151
&gt; +        if (millisecondsFromEpoch &lt;= newEnd) {

nit: You could flip this to be an early out for less nesting if you wanted (ditto below).

&gt; Source/JavaScriptCore/runtime/JSDateMath.cpp:166
&gt; +                // the point in time where the DST offset change occurred. Updated

nit: Updated -&gt; Update (ditto below).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1705646</commentid>
    <comment_count>6</comment_count>
      <attachid>413540</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-11-08 21:25:12 -0800</bug_when>
    <thetext>Comment on attachment 413540
Patch

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

Thanks!

&gt;&gt; Source/JavaScriptCore/runtime/JSDateMath.cpp:104
&gt;&gt; +    auto&amp; timeZoneCache = *bitwise_cast&lt;icu::TimeZone*&gt;(this-&gt;timeZoneCache());
&gt; 
&gt; Is the `this-&gt;` necessary?

Yes, because `timeZoneCache` name is also used by the variable :)

&gt;&gt; Source/JavaScriptCore/runtime/JSDateMath.cpp:151
&gt;&gt; +        if (millisecondsFromEpoch &lt;= newEnd) {
&gt; 
&gt; nit: You could flip this to be an early out for less nesting if you wanted (ditto below).

Nice. Done

&gt;&gt; Source/JavaScriptCore/runtime/JSDateMath.cpp:166
&gt;&gt; +                // the point in time where the DST offset change occurred. Updated
&gt; 
&gt; nit: Updated -&gt; Update (ditto below).

Nice, fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1705647</commentid>
    <comment_count>7</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-11-08 21:31:40 -0800</bug_when>
    <thetext>Committed r269576: &lt;https://trac.webkit.org/changeset/269576&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1705648</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-11-08 21:32:21 -0800</bug_when>
    <thetext>&lt;rdar://problem/71176359&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1714892</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-12-15 13:20:22 -0800</bug_when>
    <thetext>Re-opened since this is blocked by bug 219915</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1715597</commentid>
    <comment_count>10</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-12-17 15:47:27 -0800</bug_when>
    <thetext>The reverted patch is once integrated since we workaround ICU missing API issue differently.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>413519</attachid>
            <date>2020-11-06 23:19:48 -0800</date>
            <delta_ts>2020-11-06 23:21:28 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218681-20201106231947.patch</filename>
            <type>text/plain</type>
            <size>15839</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY5NTU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA2
OTg4ZjgyOWQzYzRkODU0N2YyZWYzM2EyNDEyZWQ4YWY5MTk4NzY4Li5iNDllNGY2YWY5MzRiNjAy
ZmRiNWI3YzllOTVlODFiZjRkOTRkMTg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNCBAQAorMjAyMC0xMS0wNiAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIEFkZCBUaW1lWm9uZSByYW5nZSBjYWNoZSBvdmVyIElDVSBUaW1l
Wm9uZSBBUEkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIxODY4MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogcnVudGltZS9KU0RhdGVNYXRoLmNwcDoKKyAgICAgICAgKEpTQzo6RGF0ZUNhY2hlOjpjYWxj
dWxhdGVMb2NhbFRpbWVPZmZzZXQpOgorICAgICAgICAoSlNDOjpEYXRlQ2FjaGU6OmxvY2FsVGlt
ZU9mZnNldCk6CisgICAgICAgIChKU0M6OkRhdGVDYWNoZTo6Z3JlZ29yaWFuRGF0ZVRpbWVUb01T
KToKKyAgICAgICAgKEpTQzo6RGF0ZUNhY2hlOjptc1RvR3JlZ29yaWFuRGF0ZVRpbWUpOgorICAg
ICAgICAoSlNDOjpEYXRlQ2FjaGU6OnBhcnNlRGF0ZSk6CisgICAgICAgIChKU0M6OkRhdGVDYWNo
ZTo6cmVzZXQpOgorICAgICAgICAoSlNDOjpsb2NhbFRpbWVPZmZzZXQpOiBEZWxldGVkLgorICAg
ICAgICAqIHJ1bnRpbWUvSlNEYXRlTWF0aC5oOgorICAgICAgICAoSlNDOjpEYXRlQ2FjaGU6OnRp
bWVab25lQ2FjaGUpOgorICAgICAgICAqIHJ1bnRpbWUvVk0uaDoKKyAgICAgICAgKEpTQzo6TG9j
YWxUaW1lT2Zmc2V0Q2FjaGU6OkxvY2FsVGltZU9mZnNldENhY2hlKTogRGVsZXRlZC4KKyAgICAg
ICAgKEpTQzo6TG9jYWxUaW1lT2Zmc2V0Q2FjaGU6OnJlc2V0KTogRGVsZXRlZC4KKwogMjAyMC0x
MS0wNiAgRG1pdHJ5IEJlemhldHNrb3YgIDxkYmV6aGV0c2tvdkBpZ2FsaWEuY29tPgogCiAgICAg
ICAgIFtXQVNNLVJlZmVyZW5jZXNdIFJlbmFtZSBhbnlyZWYgdG8gZXh0ZXJucmVmCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDcw
YzdkNjAxNDAyNjQxYTA4MTkwZTczN2FiMWEwZWRlNTA4NzZmNTIuLjViOWM0ZmRlNjBjMjc5Y2Ew
MzY4Mjg5NmU2YjljZjUyOTQ3ZDYyMTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMjAtMTEtMDYg
IFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KKworICAgICAgICBbSlNDXSBBZGQg
VGltZVpvbmUgcmFuZ2UgY2FjaGUgb3ZlciBJQ1UgVGltZVpvbmUgQVBJCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTg2ODEKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBpY3U6OlRpbWVab25lIGlzIG1vcmUg
YWNjdXJhdGUgYW5kIGZhc3RlciB0aGFuIGxvY2FsdGltZV9yLiBCdXQgc3RpbGwsIGl0IGlzIHNs
b3dlciB0aGFuIHJldHVybmluZyBjYWNoZWQgZGF0YSEKKyAgICAgICAgV2Ugc2F3IDEwJSByZWdy
ZXNzaW9uIGluIEpldFN0cmVhbTIvZGF0ZS1mb3JtYXQteHBhcmItU1Agd2l0aCBpY3U6OlRpbWVa
b25lIHN3aXRjaGluZy4KKyAgICAgICAgSW4gdGhpcyBwYXRjaCwgd2UgcHV0IG9uZS1kZXB0aCB0
aW1lem9uZSBjYWNoZSBiYWNrIG92ZXIgaWN1OjpUaW1lWm9uZSBBUEksIGFuZCByZWNvdmVyIHRo
ZSBwZXJmb3JtYW5jZS4KKyAgICAgICAgSW4gYWRkaXRpb24sIG5ldyB2ZXJzaW9uIG9mIHRpbWV6
b25lIGNhY2hlIGluY2x1ZGVzICJzdGFydCIgc2lkZSBleHRlbnNpb24gKHdoaWxlIG9sZCBvbmUg
b25seSBleHRlbmRzICJlbmQiIG9mIHRoZSByYW5nZSkuCisgICAgICAgIFRoZSB0ZXN0IGNvdmVy
cyBhbGwgY2FzZXMgaW4gdGhlIGFkZGVkIGNhY2hlLgorCisgICAgICAgICogd3RmL0RhdGVNYXRo
Lmg6CisKIDIwMjAtMTEtMDYgIFNhbSBXZWluaWcgIDx3ZWluaWdAYXBwbGUuY29tPgogCiAgICAg
ICAgIEZ1cnRoZXIgcHJvZ3Jlc3MgdG93YXJkcyBtZXJnaW5nIFNldHRpbmdzLnlhbWwgaW50byBX
ZWJQcmVmZXJlbmNlcy55YW1sCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0RhdGVNYXRoLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRGF0
ZU1hdGguY3BwCmluZGV4IDY3NTgyNTE3ZjYyYTU5YmFlMDg0OTVkZjM0ZTZlOWRlNTBhYTE4MjYu
LmNjOTFkZTczNjcyNjcwNDk3ZmU3ODY3YWQ2NzQ2YmIxZjYwNjM4NWYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRGF0ZU1hdGguY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRGF0ZU1hdGguY3BwCkBAIC05OSw5ICs5OSw5IEBAIHZv
aWQgT3BhcXVlSUNVVGltZVpvbmVEZWxldGVyOjpvcGVyYXRvcigpKE9wYXF1ZUlDVVRpbWVab25l
KiB0aW1lWm9uZSkKIC8vIE5PVEU6IFRoZSBpbXBsZW1lbnRhdGlvbiByZWxpZXMgb24gdGhlIGZh
Y3QgdGhhdCBubyB0aW1lIHpvbmVzIGhhdmUKIC8vIG1vcmUgdGhhbiBvbmUgZGF5bGlnaHQgc2F2
aW5ncyBvZmZzZXQgY2hhbmdlIHBlciBtb250aC4KIC8vIElmIHRoaXMgZnVuY3Rpb24gaXMgY2Fs
bGVkIHdpdGggTmFOIGl0IHJldHVybnMgTmFOLgotc3RhdGljIExvY2FsVGltZU9mZnNldCBsb2Nh
bFRpbWVPZmZzZXQoRGF0ZUNhY2hlJiBkYXRlQ2FjaGUsIGRvdWJsZSBtaWxsaXNlY29uZHNGcm9t
RXBvY2gsIFdURjo6VGltZVR5cGUgaW5wdXRUaW1lVHlwZSA9IFdURjo6VVRDVGltZSkKK0xvY2Fs
VGltZU9mZnNldCBEYXRlQ2FjaGU6OmNhbGN1bGF0ZUxvY2FsVGltZU9mZnNldChkb3VibGUgbWls
bGlzZWNvbmRzRnJvbUVwb2NoLCBXVEY6OlRpbWVUeXBlIGlucHV0VGltZVR5cGUpCiB7Ci0gICAg
YXV0byYgdGltZVpvbmVDYWNoZSA9ICpiaXR3aXNlX2Nhc3Q8aWN1OjpUaW1lWm9uZSo+KGRhdGVD
YWNoZS50aW1lWm9uZUNhY2hlKCkpOworICAgIGF1dG8mIHRpbWVab25lQ2FjaGUgPSAqYml0d2lz
ZV9jYXN0PGljdTo6VGltZVpvbmUqPih0aGlzLT50aW1lWm9uZUNhY2hlKCkpOwogICAgIGludDMy
X3QgcmF3T2Zmc2V0ID0gMDsKICAgICBpbnQzMl90IGRzdE9mZnNldCA9IDA7CiAgICAgVUVycm9y
Q29kZSBzdGF0dXMgPSBVX1pFUk9fRVJST1I7CkBAIC0xMjAsNiArMTIwLDEwMyBAQCBzdGF0aWMg
TG9jYWxUaW1lT2Zmc2V0IGxvY2FsVGltZU9mZnNldChEYXRlQ2FjaGUmIGRhdGVDYWNoZSwgZG91
YmxlIG1pbGxpc2Vjb25kcwogICAgIHJldHVybiB7ICEhZHN0T2Zmc2V0LCByYXdPZmZzZXQgKyBk
c3RPZmZzZXQgfTsKIH0KIAorTG9jYWxUaW1lT2Zmc2V0IERhdGVDYWNoZTo6bG9jYWxUaW1lT2Zm
c2V0KGRvdWJsZSBtaWxsaXNlY29uZHNGcm9tRXBvY2gsIFdURjo6VGltZVR5cGUgaW5wdXRUaW1l
VHlwZSkKK3sKKyAgICBMb2NhbFRpbWVPZmZzZXRDYWNoZSYgY2FjaGUgPSBpbnB1dFRpbWVUeXBl
ID09IFdURjo6TG9jYWxUaW1lID8gbV9sb2NhbFRpbWVPZmZzZXRDYWNoZSA6IG1fdXRjVGltZU9m
ZnNldENhY2hlOworCisgICAgZG91YmxlIHN0YXJ0ID0gY2FjaGUuc3RhcnQ7CisgICAgZG91Ymxl
IGVuZCA9IGNhY2hlLmVuZDsKKworICAgIGF1dG8gcmVzZXRDYWNoZSA9IFsmXSgpIHsKKyAgICAg
ICAgLy8gQ29tcHV0ZSB0aGUgRFNUIG9mZnNldCBmb3IgdGhlIHRpbWUgYW5kIHNocmluayB0aGUg
Y2FjaGUgaW50ZXJ2YWwKKyAgICAgICAgLy8gdG8gb25seSBjb250YWluIHRoZSB0aW1lLiBUaGlz
IGFsbG93cyBmYXN0IHJlcGVhdGVkIERTVCBvZmZzZXQKKyAgICAgICAgLy8gY29tcHV0YXRpb25z
IGZvciB0aGUgc2FtZSB0aW1lLgorICAgICAgICBMb2NhbFRpbWVPZmZzZXQgb2Zmc2V0ID0gY2Fs
Y3VsYXRlTG9jYWxUaW1lT2Zmc2V0KG1pbGxpc2Vjb25kc0Zyb21FcG9jaCwgaW5wdXRUaW1lVHlw
ZSk7CisgICAgICAgIGNhY2hlLm9mZnNldCA9IG9mZnNldDsKKyAgICAgICAgY2FjaGUuc3RhcnQg
PSBtaWxsaXNlY29uZHNGcm9tRXBvY2g7CisgICAgICAgIGNhY2hlLmVuZCA9IG1pbGxpc2Vjb25k
c0Zyb21FcG9jaDsKKyAgICAgICAgY2FjaGUuaW5jcmVtZW50ID0gV1RGOjptc1Blck1vbnRoOwor
ICAgICAgICByZXR1cm4gb2Zmc2V0OworICAgIH07CisKKyAgICAvLyBJZiB0aGUgdGltZSBmaXRz
IGluIHRoZSBjYWNoZWQgaW50ZXJ2YWwsIHJldHVybiB0aGUgY2FjaGVkIG9mZnNldC4KKyAgICBp
ZiAoc3RhcnQgPD0gbWlsbGlzZWNvbmRzRnJvbUVwb2NoICYmIG1pbGxpc2Vjb25kc0Zyb21FcG9j
aCA8PSBlbmQpCisgICAgICAgIHJldHVybiBjYWNoZS5vZmZzZXQ7CisKKyAgICBpZiAoc3RhcnQg
PD0gbWlsbGlzZWNvbmRzRnJvbUVwb2NoKSB7CisgICAgICAgIC8vIENvbXB1dGUgYSBwb3NzaWJs
ZSBuZXcgaW50ZXJ2YWwgZW5kLgorICAgICAgICBkb3VibGUgbmV3RW5kID0gZW5kICsgY2FjaGUu
aW5jcmVtZW50OworCisgICAgICAgIGlmIChtaWxsaXNlY29uZHNGcm9tRXBvY2ggPD0gbmV3RW5k
KSB7CisgICAgICAgICAgICBMb2NhbFRpbWVPZmZzZXQgZW5kT2Zmc2V0ID0gY2FsY3VsYXRlTG9j
YWxUaW1lT2Zmc2V0KG5ld0VuZCwgaW5wdXRUaW1lVHlwZSk7CisgICAgICAgICAgICBpZiAoY2Fj
aGUub2Zmc2V0ID09IGVuZE9mZnNldCkgeworICAgICAgICAgICAgICAgIC8vIElmIHRoZSBvZmZz
ZXQgYXQgdGhlIGVuZCBvZiB0aGUgbmV3IGludGVydmFsIHN0aWxsIG1hdGNoZXMKKyAgICAgICAg
ICAgICAgICAvLyB0aGUgb2Zmc2V0IGluIHRoZSBjYWNoZSwgd2UgZ3JvdyB0aGUgY2FjaGVkIHRp
bWUgaW50ZXJ2YWwKKyAgICAgICAgICAgICAgICAvLyBhbmQgcmV0dXJuIHRoZSBvZmZzZXQuCisg
ICAgICAgICAgICAgICAgY2FjaGUuZW5kID0gbmV3RW5kOworICAgICAgICAgICAgICAgIGNhY2hl
LmluY3JlbWVudCA9IFdURjo6bXNQZXJNb250aDsKKyAgICAgICAgICAgICAgICByZXR1cm4gZW5k
T2Zmc2V0OworICAgICAgICAgICAgfQorICAgICAgICAgICAgTG9jYWxUaW1lT2Zmc2V0IG9mZnNl
dCA9IGNhbGN1bGF0ZUxvY2FsVGltZU9mZnNldChtaWxsaXNlY29uZHNGcm9tRXBvY2gsIGlucHV0
VGltZVR5cGUpOworICAgICAgICAgICAgaWYgKG9mZnNldCA9PSBlbmRPZmZzZXQpIHsKKyAgICAg
ICAgICAgICAgICAvLyBUaGUgb2Zmc2V0IGF0IHRoZSBnaXZlbiB0aW1lIGlzIGVxdWFsIHRvIHRo
ZSBvZmZzZXQgYXQgdGhlCisgICAgICAgICAgICAgICAgLy8gbmV3IGVuZCBvZiB0aGUgaW50ZXJ2
YWwsIHNvIHRoYXQgbWVhbnMgdGhhdCB3ZSd2ZSBqdXN0IHNraXBwZWQKKyAgICAgICAgICAgICAg
ICAvLyB0aGUgcG9pbnQgaW4gdGltZSB3aGVyZSB0aGUgRFNUIG9mZnNldCBjaGFuZ2Ugb2NjdXJy
ZWQuIFVwZGF0ZWQKKyAgICAgICAgICAgICAgICAvLyB0aGUgaW50ZXJ2YWwgdG8gcmVmbGVjdCB0
aGlzIGFuZCByZXNldCB0aGUgaW5jcmVtZW50LgorICAgICAgICAgICAgICAgIGNhY2hlLnN0YXJ0
ID0gbWlsbGlzZWNvbmRzRnJvbUVwb2NoOworICAgICAgICAgICAgICAgIGNhY2hlLmVuZCA9IG5l
d0VuZDsKKyAgICAgICAgICAgICAgICBjYWNoZS5pbmNyZW1lbnQgPSBXVEY6Om1zUGVyTW9udGg7
CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIC8vIFRoZSBpbnRlcnZhbCBj
b250YWlucyBhIERTVCBvZmZzZXQgY2hhbmdlIGFuZCB0aGUgZ2l2ZW4gdGltZSBpcworICAgICAg
ICAgICAgICAgIC8vIGJlZm9yZSBpdC4gQWRqdXN0IHRoZSBpbmNyZW1lbnQgdG8gYXZvaWQgYSBs
aW5lYXIgc2VhcmNoIGZvcgorICAgICAgICAgICAgICAgIC8vIHRoZSBvZmZzZXQgY2hhbmdlIHBv
aW50IGFuZCBjaGFuZ2UgdGhlIGVuZCBvZiB0aGUgaW50ZXJ2YWwuCisgICAgICAgICAgICAgICAg
Y2FjaGUuaW5jcmVtZW50IC89IDM7CisgICAgICAgICAgICAgICAgY2FjaGUuZW5kID0gbWlsbGlz
ZWNvbmRzRnJvbUVwb2NoOworICAgICAgICAgICAgfQorICAgICAgICAgICAgLy8gVXBkYXRlIHRo
ZSBvZmZzZXQgaW4gdGhlIGNhY2hlIGFuZCByZXR1cm4gaXQuCisgICAgICAgICAgICBjYWNoZS5v
ZmZzZXQgPSBvZmZzZXQ7CisgICAgICAgICAgICByZXR1cm4gb2Zmc2V0OworICAgICAgICB9CisK
KyAgICAgICAgcmV0dXJuIHJlc2V0Q2FjaGUoKTsKKyAgICB9CisKKyAgICAvLyBDb21wdXRlIGEg
cG9zc2libGUgbmV3IGludGVydmFsIHN0YXJ0LgorICAgIGRvdWJsZSBuZXdTdGFydCA9IHN0YXJ0
IC0gY2FjaGUuaW5jcmVtZW50OworICAgIGlmIChuZXdTdGFydCA8PSBtaWxsaXNlY29uZHNGcm9t
RXBvY2gpIHsKKyAgICAgICAgTG9jYWxUaW1lT2Zmc2V0IHN0YXJ0T2Zmc2V0ID0gY2FsY3VsYXRl
TG9jYWxUaW1lT2Zmc2V0KG5ld1N0YXJ0LCBpbnB1dFRpbWVUeXBlKTsKKyAgICAgICAgaWYgKGNh
Y2hlLm9mZnNldCA9PSBzdGFydE9mZnNldCkgeworICAgICAgICAgICAgLy8gSWYgdGhlIG9mZnNl
dCBhdCB0aGUgc3RhcnQgb2YgdGhlIG5ldyBpbnRlcnZhbCBzdGlsbCBtYXRjaGVzCisgICAgICAg
ICAgICAvLyB0aGUgb2Zmc2V0IGluIHRoZSBjYWNoZSwgd2UgZ3JvdyB0aGUgY2FjaGVkIHRpbWUg
aW50ZXJ2YWwKKyAgICAgICAgICAgIC8vIGFuZCByZXR1cm4gdGhlIG9mZnNldC4KKyAgICAgICAg
ICAgIGNhY2hlLnN0YXJ0ID0gbmV3U3RhcnQ7CisgICAgICAgICAgICBjYWNoZS5pbmNyZW1lbnQg
PSBXVEY6Om1zUGVyTW9udGg7CisgICAgICAgICAgICByZXR1cm4gc3RhcnRPZmZzZXQ7CisgICAg
ICAgIH0KKyAgICAgICAgTG9jYWxUaW1lT2Zmc2V0IG9mZnNldCA9IGNhbGN1bGF0ZUxvY2FsVGlt
ZU9mZnNldChtaWxsaXNlY29uZHNGcm9tRXBvY2gsIGlucHV0VGltZVR5cGUpOworICAgICAgICBp
ZiAob2Zmc2V0ID09IHN0YXJ0T2Zmc2V0KSB7CisgICAgICAgICAgICAvLyBUaGUgb2Zmc2V0IGF0
IHRoZSBnaXZlbiB0aW1lIGlzIGVxdWFsIHRvIHRoZSBvZmZzZXQgYXQgdGhlCisgICAgICAgICAg
ICAvLyBuZXcgc3RhcnQgb2YgdGhlIGludGVydmFsLCBzbyB0aGF0IG1lYW5zIHRoYXQgd2UndmUg
anVzdCBza2lwcGVkCisgICAgICAgICAgICAvLyB0aGUgcG9pbnQgaW4gdGltZSB3aGVyZSB0aGUg
RFNUIG9mZnNldCBjaGFuZ2Ugb2NjdXJyZWQuIFVwZGF0ZWQKKyAgICAgICAgICAgIC8vIHRoZSBp
bnRlcnZhbCB0byByZWZsZWN0IHRoaXMgYW5kIHJlc2V0IHRoZSBpbmNyZW1lbnQuCisgICAgICAg
ICAgICBjYWNoZS5zdGFydCA9IG5ld1N0YXJ0OworICAgICAgICAgICAgY2FjaGUuZW5kID0gbWls
bGlzZWNvbmRzRnJvbUVwb2NoOworICAgICAgICAgICAgY2FjaGUuaW5jcmVtZW50ID0gV1RGOjpt
c1Blck1vbnRoOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgLy8gVGhlIGludGVydmFs
IGNvbnRhaW5zIGEgRFNUIG9mZnNldCBjaGFuZ2UgYW5kIHRoZSBnaXZlbiB0aW1lIGlzCisgICAg
ICAgICAgICAvLyBiZWZvcmUgaXQuIEFkanVzdCB0aGUgaW5jcmVtZW50IHRvIGF2b2lkIGEgbGlu
ZWFyIHNlYXJjaCBmb3IKKyAgICAgICAgICAgIC8vIHRoZSBvZmZzZXQgY2hhbmdlIHBvaW50IGFu
ZCBjaGFuZ2UgdGhlIGVuZCBvZiB0aGUgaW50ZXJ2YWwuCisgICAgICAgICAgICBjYWNoZS5pbmNy
ZW1lbnQgLz0gMzsKKyAgICAgICAgICAgIGNhY2hlLnN0YXJ0ID0gbWlsbGlzZWNvbmRzRnJvbUVw
b2NoOworICAgICAgICB9CisgICAgICAgIC8vIFVwZGF0ZSB0aGUgb2Zmc2V0IGluIHRoZSBjYWNo
ZSBhbmQgcmV0dXJuIGl0LgorICAgICAgICBjYWNoZS5vZmZzZXQgPSBvZmZzZXQ7CisgICAgICAg
IHJldHVybiBvZmZzZXQ7CisgICAgfQorCisgICAgcmV0dXJuIHJlc2V0Q2FjaGUoKTsKK30KKwog
c3RhdGljIGlubGluZSBkb3VibGUgdGltZVRvTVMoZG91YmxlIGhvdXIsIGRvdWJsZSBtaW4sIGRv
dWJsZSBzZWMsIGRvdWJsZSBtcykKIHsKICAgICByZXR1cm4gKCgoaG91ciAqIFdURjo6bWludXRl
c1BlckhvdXIgKyBtaW4pICogV1RGOjpzZWNvbmRzUGVyTWludXRlICsgc2VjKSAqIFdURjo6bXNQ
ZXJTZWNvbmQgKyBtcyk7CkBAIC0xMzEsOCArMjI4LDcgQEAgZG91YmxlIERhdGVDYWNoZTo6Z3Jl
Z29yaWFuRGF0ZVRpbWVUb01TKGNvbnN0IEdyZWdvcmlhbkRhdGVUaW1lJiB0LCBkb3VibGUgbWls
bGkKICAgICBkb3VibGUgbXMgPSB0aW1lVG9NUyh0LmhvdXIoKSwgdC5taW51dGUoKSwgdC5zZWNv
bmQoKSwgbWlsbGlzZWNvbmRzKTsKICAgICBkb3VibGUgbG9jYWxUaW1lUmVzdWx0ID0gKGRheSAq
IFdURjo6bXNQZXJEYXkpICsgbXM7CiAKLSAgICBkb3VibGUgbG9jYWxUb1VUQ1RpbWVPZmZzZXQg
PSBpbnB1dFRpbWVUeXBlID09IFdURjo6TG9jYWxUaW1lCi0gICAgICAgID8gbG9jYWxUaW1lT2Zm
c2V0KCp0aGlzLCBsb2NhbFRpbWVSZXN1bHQsIGlucHV0VGltZVR5cGUpLm9mZnNldCA6IDA7Cisg
ICAgZG91YmxlIGxvY2FsVG9VVENUaW1lT2Zmc2V0ID0gaW5wdXRUaW1lVHlwZSA9PSBXVEY6Okxv
Y2FsVGltZSA/IGxvY2FsVGltZU9mZnNldChsb2NhbFRpbWVSZXN1bHQsIGlucHV0VGltZVR5cGUp
Lm9mZnNldCA6IDA7CiAKICAgICByZXR1cm4gbG9jYWxUaW1lUmVzdWx0IC0gbG9jYWxUb1VUQ1Rp
bWVPZmZzZXQ7CiB9CkBAIC0xNDIsNyArMjM4LDcgQEAgdm9pZCBEYXRlQ2FjaGU6Om1zVG9HcmVn
b3JpYW5EYXRlVGltZShkb3VibGUgbWlsbGlzZWNvbmRzRnJvbUVwb2NoLCBXVEY6OlRpbWVUeXAK
IHsKICAgICBMb2NhbFRpbWVPZmZzZXQgbG9jYWxUaW1lOwogICAgIGlmIChvdXRwdXRUaW1lVHlw
ZSA9PSBXVEY6OkxvY2FsVGltZSkgewotICAgICAgICBsb2NhbFRpbWUgPSBsb2NhbFRpbWVPZmZz
ZXQoKnRoaXMsIG1pbGxpc2Vjb25kc0Zyb21FcG9jaCk7CisgICAgICAgIGxvY2FsVGltZSA9IGxv
Y2FsVGltZU9mZnNldChtaWxsaXNlY29uZHNGcm9tRXBvY2gpOwogICAgICAgICBtaWxsaXNlY29u
ZHNGcm9tRXBvY2ggKz0gbG9jYWxUaW1lLm9mZnNldDsKICAgICB9CiAgICAgdG0gPSBHcmVnb3Jp
YW5EYXRlVGltZShtaWxsaXNlY29uZHNGcm9tRXBvY2gsIGxvY2FsVGltZSk7CkBAIC0xNzEsNyAr
MjY3LDcgQEAgZG91YmxlIERhdGVDYWNoZTo6cGFyc2VEYXRlKEpTR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QsIFZNJiB2bSwgY29uc3QgU3RyaW5nJgogICAgICAgICAgICAgdmFsdWUgPSBXVEY6
OnBhcnNlRGF0ZUZyb21OdWxsVGVybWluYXRlZENoYXJhY3RlcnMoZGF0ZVN0cmluZywgaXNMb2Nh
bFRpbWUpOwogCiAgICAgICAgIGlmIChpc0xvY2FsVGltZSkKLSAgICAgICAgICAgIHZhbHVlIC09
IGxvY2FsVGltZU9mZnNldCgqdGhpcywgdmFsdWUsIFdURjo6TG9jYWxUaW1lKS5vZmZzZXQ7Cisg
ICAgICAgICAgICB2YWx1ZSAtPSBsb2NhbFRpbWVPZmZzZXQodmFsdWUsIFdURjo6TG9jYWxUaW1l
KS5vZmZzZXQ7CiAKICAgICAgICAgcmV0dXJuIHZhbHVlOwogICAgIH07CkBAIC0yMjMsNiArMzE5
LDggQEAgdm9pZCBEYXRlQ2FjaGU6OnRpbWVab25lQ2FjaGVTbG93KCkKIHZvaWQgRGF0ZUNhY2hl
OjpyZXNldCgpCiB7CiAgICAgbV90aW1lWm9uZUNhY2hlLnJlc2V0KCk7CisgICAgbV91dGNUaW1l
T2Zmc2V0Q2FjaGUgPSBMb2NhbFRpbWVPZmZzZXRDYWNoZSgpOworICAgIG1fbG9jYWxUaW1lT2Zm
c2V0Q2FjaGUgPSBMb2NhbFRpbWVPZmZzZXRDYWNoZSgpOwogICAgIG1fY2FjaGVkRGF0ZVN0cmlu
ZyA9IFN0cmluZygpOwogICAgIG1fY2FjaGVkRGF0ZVN0cmluZ1ZhbHVlID0gc3RkOjpudW1lcmlj
X2xpbWl0czxkb3VibGU+OjpxdWlldF9OYU4oKTsKICAgICBtX2RhdGVJbnN0YW5jZUNhY2hlLnJl
c2V0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0RhdGVN
YXRoLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0RhdGVNYXRoLmgKaW5kZXgg
MGM5MmY4OWEwMzRlYzFjOTJiYmJmZGIzYjZmMWI2NmFkZmM0ODE1ZS4uMjllNmRlZjk3M2Y2ZGQ4
NzM3NzczMmQzMTQzNDQ4MjY2MDUxZThjMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNEYXRlTWF0aC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTRGF0ZU1hdGguaApAQCAtNTgsNiArNTgsMTUgQEAgc3RydWN0IE9wYXF1ZUlDVVRpbWVa
b25lRGVsZXRlciB7CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgdm9pZCBvcGVyYXRvcigpKE9wYXF1
ZUlDVVRpbWVab25lKik7CiB9OwogCitzdHJ1Y3QgTG9jYWxUaW1lT2Zmc2V0Q2FjaGUgeworICAg
IExvY2FsVGltZU9mZnNldENhY2hlKCkgPSBkZWZhdWx0OworCisgICAgTG9jYWxUaW1lT2Zmc2V0
IG9mZnNldDsKKyAgICBkb3VibGUgc3RhcnQgeyAwLjAgfTsKKyAgICBkb3VibGUgZW5kIHsgLTEu
MCB9OworICAgIGRvdWJsZSBpbmNyZW1lbnQgeyAwLjAgfTsKK307CisKIGNsYXNzIERhdGVDYWNo
ZSB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoRGF0ZUNhY2hlKTsKQEAgLTY5LDEzICs3OCw2IEBAIGNsYXNzIERhdGVDYWNoZSB7CiAKICAg
ICBTdHJpbmcgZGVmYXVsdFRpbWVab25lKCk7CiAKLSAgICBPcGFxdWVJQ1VUaW1lWm9uZSogdGlt
ZVpvbmVDYWNoZSgpCi0gICAgewotICAgICAgICBpZiAoIW1fdGltZVpvbmVDYWNoZSkKLSAgICAg
ICAgICAgIHRpbWVab25lQ2FjaGVTbG93KCk7Ci0gICAgICAgIHJldHVybiBtX3RpbWVab25lQ2Fj
aGUuZ2V0KCk7Ci0gICAgfQotCiAgICAgUmVmPERhdGVJbnN0YW5jZURhdGE+IGNhY2hlZERhdGVJ
bnN0YW5jZURhdGEoZG91YmxlIG1pbGxpc2Vjb25kc0Zyb21FcG9jaCk7CiAKICAgICB2b2lkIG1z
VG9HcmVnb3JpYW5EYXRlVGltZShkb3VibGUgbWlsbGlzZWNvbmRzRnJvbUVwb2NoLCBXVEY6OlRp
bWVUeXBlIG91dHB1dFRpbWVUeXBlLCBHcmVnb3JpYW5EYXRlVGltZSYpOwpAQCAtODQsOCArODYs
MTkgQEAgY2xhc3MgRGF0ZUNhY2hlIHsKIAogcHJpdmF0ZToKICAgICB2b2lkIHRpbWVab25lQ2Fj
aGVTbG93KCk7CisgICAgTG9jYWxUaW1lT2Zmc2V0IGxvY2FsVGltZU9mZnNldChkb3VibGUgbWls
bGlzZWNvbmRzRnJvbUVwb2NoLCBXVEY6OlRpbWVUeXBlIGlucHV0VGltZVR5cGUgPSBXVEY6OlVU
Q1RpbWUpOworICAgIExvY2FsVGltZU9mZnNldCBjYWxjdWxhdGVMb2NhbFRpbWVPZmZzZXQoZG91
YmxlIG1pbGxpc2Vjb25kc0Zyb21FcG9jaCwgV1RGOjpUaW1lVHlwZSBpbnB1dFRpbWVUeXBlKTsK
KworICAgIE9wYXF1ZUlDVVRpbWVab25lKiB0aW1lWm9uZUNhY2hlKCkKKyAgICB7CisgICAgICAg
IGlmICghbV90aW1lWm9uZUNhY2hlKQorICAgICAgICAgICAgdGltZVpvbmVDYWNoZVNsb3coKTsK
KyAgICAgICAgcmV0dXJuIG1fdGltZVpvbmVDYWNoZS5nZXQoKTsKKyAgICB9CiAKICAgICBzdGQ6
OnVuaXF1ZV9wdHI8T3BhcXVlSUNVVGltZVpvbmUsIE9wYXF1ZUlDVVRpbWVab25lRGVsZXRlcj4g
bV90aW1lWm9uZUNhY2hlOworICAgIExvY2FsVGltZU9mZnNldENhY2hlIG1fdXRjVGltZU9mZnNl
dENhY2hlOworICAgIExvY2FsVGltZU9mZnNldENhY2hlIG1fbG9jYWxUaW1lT2Zmc2V0Q2FjaGU7
CiAgICAgU3RyaW5nIG1fY2FjaGVkRGF0ZVN0cmluZzsKICAgICBkb3VibGUgbV9jYWNoZWREYXRl
U3RyaW5nVmFsdWU7CiAgICAgRGF0ZUluc3RhbmNlQ2FjaGUgbV9kYXRlSW5zdGFuY2VDYWNoZTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5oCmluZGV4IDU1MmQ1ODE5MGU4Yjc0MmJkYWU5Mzli
YmJjZGEzZGQwMDZjMmUzZjMuLjcxZmEyYTYwNjkyODZjNjFhMTE1Mjk4NjUyMjg5OTFmMDU3YzBm
YjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uaApAQCAtMjIxLDI4ICsyMjEsNiBAQCBz
dHJ1Y3QgSGFzaFRhYmxlOwogc3RydWN0IEluc3RydWN0aW9uOwogc3RydWN0IFZhbHVlUHJvZmls
ZTsKIAotc3RydWN0IExvY2FsVGltZU9mZnNldENhY2hlIHsKLSAgICBMb2NhbFRpbWVPZmZzZXRD
YWNoZSgpCi0gICAgICAgIDogc3RhcnQoMC4wKQotICAgICAgICAsIGVuZCgtMS4wKQotICAgICAg
ICAsIGluY3JlbWVudCgwLjApCi0gICAgewotICAgIH0KLQotICAgIHZvaWQgcmVzZXQoKQotICAg
IHsKLSAgICAgICAgb2Zmc2V0ID0gTG9jYWxUaW1lT2Zmc2V0KCk7Ci0gICAgICAgIHN0YXJ0ID0g
MC4wOwotICAgICAgICBlbmQgPSAtMS4wOwotICAgICAgICBpbmNyZW1lbnQgPSAwLjA7Ci0gICAg
fQotCi0gICAgTG9jYWxUaW1lT2Zmc2V0IG9mZnNldDsKLSAgICBkb3VibGUgc3RhcnQ7Ci0gICAg
ZG91YmxlIGVuZDsKLSAgICBkb3VibGUgaW5jcmVtZW50OwotfTsKLQogY2xhc3MgUXVldWVkVGFz
ayB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUXVldWVkVGFzayk7CiAgICAgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9EYXRlTWF0aC5oIGIv
U291cmNlL1dURi93dGYvRGF0ZU1hdGguaAppbmRleCAyNDZiYTY3Yzc2NGI2MjkwNDJhNzkyN2Qy
NGZlODliMDQ5ZDgyYTBiLi4xYWMyOTYxN2EwMTExZTM3YzAyMzk1MjRhZDg4NjA3MzRkZDM5MWZj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9EYXRlTWF0aC5oCisrKyBiL1NvdXJjZS9XVEYv
d3RmL0RhdGVNYXRoLmgKQEAgLTU5LDEyICs1OSw3IEBAIGVudW0gVGltZVR5cGUgewogc3RydWN0
IExvY2FsVGltZU9mZnNldCB7CiAgICAgV1RGX01BS0VfU1RSVUNUX0ZBU1RfQUxMT0NBVEVEOwog
Ci0gICAgTG9jYWxUaW1lT2Zmc2V0KCkKLSAgICAgICAgOiBpc0RTVChmYWxzZSkKLSAgICAgICAg
LCBvZmZzZXQoMCkKLSAgICB7Ci0gICAgfQotCisgICAgTG9jYWxUaW1lT2Zmc2V0KCkgPSBkZWZh
dWx0OwogICAgIExvY2FsVGltZU9mZnNldChib29sIGlzRFNULCBpbnQgb2Zmc2V0KQogICAgICAg
ICA6IGlzRFNUKGlzRFNUKQogICAgICAgICAsIG9mZnNldChvZmZzZXQpCkBAIC04MSw4ICs3Niw4
IEBAIHN0cnVjdCBMb2NhbFRpbWVPZmZzZXQgewogICAgICAgICByZXR1cm4gaXNEU1QgIT0gb3Ro
ZXIuaXNEU1QgfHwgb2Zmc2V0ICE9IG90aGVyLm9mZnNldDsKICAgICB9CiAKLSAgICBib29sIGlz
RFNUOwotICAgIGludCBvZmZzZXQ7CisgICAgYm9vbCBpc0RTVCB7IGZhbHNlIH07CisgICAgaW50
IG9mZnNldCB7IDAgfTsKIH07CiAKIHZvaWQgaW5pdGlhbGl6ZURhdGVzKCk7CmRpZmYgLS1naXQg
YS9KU1Rlc3RzL0NoYW5nZUxvZyBiL0pTVGVzdHMvQ2hhbmdlTG9nCmluZGV4IGI2NjlhNGU2NWU0
NGFmOWZmM2M5M2JjNWJhZTE0ODA4Y2M3ZjdhYTYuLjg5Y2I0MDcyNGM2MzIyZGMxZDg5N2Y5ZjVh
ZDhmMjFjNTg0OGRkZDggMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvQ2hhbmdlTG9nCisrKyBiL0pTVGVz
dHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjAtMTEtMDYgIFl1c3VrZSBTdXp1a2kg
IDx5c3V6dWtpQGFwcGxlLmNvbT4KKworICAgICAgICBbSlNDXSBBZGQgVGltZVpvbmUgcmFuZ2Ug
Y2FjaGUgb3ZlciBJQ1UgVGltZVpvbmUgQVBJCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMTg2ODEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIGNvbXBsZXgueWFtbDoKKyAgICAgICAgKiBjb21wbGV4L3Rp
bWV6b25lLXJhbmdlLWNhY2hlLXdpdGgtZHN0LmpzOiBBZGRlZC4KKyAgICAgICAgKHNob3VsZEJl
KToKKyAgICAgICAgKHRocm93Lm5ldy5FcnJvcik6CisKIDIwMjAtMTEtMDYgIERtaXRyeSBCZXpo
ZXRza292ICA8ZGJlemhldHNrb3ZAaWdhbGlhLmNvbT4KIAogICAgICAgICBbV0FTTS1SZWZlcmVu
Y2VzXSBSZW5hbWUgYW55cmVmIHRvIGV4dGVybnJlZgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9jb21w
bGV4LnlhbWwgYi9KU1Rlc3RzL2NvbXBsZXgueWFtbAppbmRleCA0ZTFjZmEzZjE3ZDM4MDA1NTJi
NTgwMDFkYjExOTM0YzNiMWIyZDViLi42YTE5YTU2MzZhOGUwZmE5N2E0MjhkMmI5MmU0MWMyYTQz
ODBkYWFjIDEwMDY0NAotLS0gYS9KU1Rlc3RzL2NvbXBsZXgueWFtbAorKysgYi9KU1Rlc3RzL2Nv
bXBsZXgueWFtbApAQCAtMzcsMyArMzcsNiBAQAogCiAtIHBhdGg6IGNvbXBsZXgvdGltZXpvbmUt
b2Zmc2V0LWFuZC1kc3QtaW4td2Fyc2F3LmpzCiAgIGNtZDogcnVuQ29tcGxleFRlc3QgW10sIFtd
LCAiVFo9RXVyb3BlL1dhcnNhdyIsICItLXVzZURvbGxhclZNPTEiCisKKy0gcGF0aDogY29tcGxl
eC90aW1lem9uZS1yYW5nZS1jYWNoZS13aXRoLWRzdC5qcworICBjbWQ6IHJ1bkNvbXBsZXhUZXN0
IFtdLCBbXSwgIlRaPUFtZXJpY2EvTG9zX0FuZ2VsZXMiLCAiLS11c2VEb2xsYXJWTT0xIgpkaWZm
IC0tZ2l0IGEvSlNUZXN0cy9jb21wbGV4L3RpbWV6b25lLXJhbmdlLWNhY2hlLXdpdGgtZHN0Lmpz
IGIvSlNUZXN0cy9jb21wbGV4L3RpbWV6b25lLXJhbmdlLWNhY2hlLXdpdGgtZHN0LmpzCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmY0MWZhYjVhOWEyOTZhMzI1NTgyYzNjYTQ2N2YxMWUzMmVhYjExMzcKLS0tIC9kZXYv
bnVsbAorKysgYi9KU1Rlc3RzL2NvbXBsZXgvdGltZXpvbmUtcmFuZ2UtY2FjaGUtd2l0aC1kc3Qu
anMKQEAgLTAsMCArMSwyNyBAQAorZnVuY3Rpb24gc2hvdWxkQmUoYWN0dWFsLCBleHBlY3RlZCkg
eworICAgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3Io
J2JhZCB2YWx1ZTogJyArIGFjdHVhbCk7Cit9CisKK3sKKyAgICBsZXQgZGF0ZTEgPSBuZXcgRGF0
ZSgyMDIwLCAxLCA4LCAwKTsKKyAgICBzaG91bGRCZShkYXRlMS5nZXRUaW1lKCksIDE1ODExNDg4
MDAwMDApOworICAgIGxldCBkYXRlMiA9IG5ldyBEYXRlKDIwMjAsIDIsIDIsIDApOworICAgIHNo
b3VsZEJlKGRhdGUyLmdldFRpbWUoKSwgMTU4MzEzNjAwMDAwMCk7CisgICAgbGV0IGRhdGUzID0g
bmV3IERhdGUoMjAyMCwgMiwgOCwgMyk7CisgICAgc2hvdWxkQmUoZGF0ZTMuZ2V0VGltZSgpLCAx
NTgzNjYxNjAwMDAwKTsKKyAgICBsZXQgZGF0ZTQgPSBuZXcgRGF0ZSgyMDIwLCAzLCA5LCAzKTsK
KyAgICBzaG91bGRCZShkYXRlNC5nZXRUaW1lKCksIDE1ODY0MjY0MDAwMDApOworfQoreworICAg
IGxldCBkYXRlMSA9IG5ldyBEYXRlKDIwMjAsIDExLCAxLCAwKTsKKyAgICBzaG91bGRCZShkYXRl
MS5nZXRUaW1lKCksIDE2MDY4MDk2MDAwMDApOworICAgIGxldCBkYXRlMiA9IG5ldyBEYXRlKDIw
MjAsIDEwLCAzLCAwKTsKKyAgICBzaG91bGRCZShkYXRlMi5nZXRUaW1lKCksIDE2MDQzOTA0MDAw
MDApOworICAgIGxldCBkYXRlMyA9IG5ldyBEYXRlKDIwMjAsIDEwLCAxLCAwKTsKKyAgICBzaG91
bGRCZShkYXRlMy5nZXRUaW1lKCksIDE2MDQyMTQwMDAwMDApOworICAgIGxldCBkYXRlNCA9IG5l
dyBEYXRlKDIwMjAsIDksIDEwLCAwKTsKKyAgICBzaG91bGRCZShkYXRlNC5nZXRUaW1lKCksIDE2
MDIzMTMyMDAwMDApOworICAgIGxldCBkYXRlNSA9IG5ldyBEYXRlKDIwMjAsIDYsIDEwLCAwKTsK
KyAgICBzaG91bGRCZShkYXRlNS5nZXRUaW1lKCksIDE1OTQzNjQ0MDAwMDApOworfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>413520</attachid>
            <date>2020-11-06 23:21:29 -0800</date>
            <delta_ts>2020-11-07 19:38:38 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218681-20201106232128.patch</filename>
            <type>text/plain</type>
            <size>15839</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY5NTU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA2
OTg4ZjgyOWQzYzRkODU0N2YyZWYzM2EyNDEyZWQ4YWY5MTk4NzY4Li5hYzFkODEyZmZhMjlkZTU5
YjdhOGMyM2E1OGJhNzY0YjRlZjAxNTVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzMCBAQAorMjAyMC0xMS0wNiAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIEFkZCBUaW1lWm9uZSByYW5nZSBjYWNoZSBvdmVyIElDVSBUaW1l
Wm9uZSBBUEkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIxODY4MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IGljdTo6VGltZVpvbmUgaXMgbW9yZSBhY2N1cmF0ZSBhbmQgZmFzdGVyIHRoYW4gbG9jYWx0aW1l
X3IuIEJ1dCBzdGlsbCwgaXQgaXMgc2xvd2VyIHRoYW4gcmV0dXJuaW5nIGNhY2hlZCBkYXRhIQor
ICAgICAgICBXZSBzYXcgMTAlIHJlZ3Jlc3Npb24gaW4gSmV0U3RyZWFtMi9kYXRlLWZvcm1hdC14
cGFyYi1TUCB3aXRoIGljdTo6VGltZVpvbmUgc3dpdGNoaW5nLgorICAgICAgICBJbiB0aGlzIHBh
dGNoLCB3ZSBwdXQgb25lLWRlcHRoIHRpbWV6b25lIGNhY2hlIGJhY2sgb3ZlciBpY3U6OlRpbWVa
b25lIEFQSSwgYW5kIHJlY292ZXIgdGhlIHBlcmZvcm1hbmNlLgorICAgICAgICBJbiBhZGRpdGlv
biwgbmV3IHZlcnNpb24gb2YgdGltZXpvbmUgY2FjaGUgaW5jbHVkZXMgInN0YXJ0IiBzaWRlIGV4
dGVuc2lvbiAod2hpbGUgb2xkIG9uZSBvbmx5IGV4dGVuZHMgImVuZCIgb2YgdGhlIHJhbmdlKS4K
KyAgICAgICAgVGhlIHRlc3QgY292ZXJzIGFsbCBjYXNlcyBpbiB0aGUgYWRkZWQgY2FjaGUuCisK
KyAgICAgICAgKiBydW50aW1lL0pTRGF0ZU1hdGguY3BwOgorICAgICAgICAoSlNDOjpEYXRlQ2Fj
aGU6OmNhbGN1bGF0ZUxvY2FsVGltZU9mZnNldCk6CisgICAgICAgIChKU0M6OkRhdGVDYWNoZTo6
bG9jYWxUaW1lT2Zmc2V0KToKKyAgICAgICAgKEpTQzo6RGF0ZUNhY2hlOjpncmVnb3JpYW5EYXRl
VGltZVRvTVMpOgorICAgICAgICAoSlNDOjpEYXRlQ2FjaGU6Om1zVG9HcmVnb3JpYW5EYXRlVGlt
ZSk6CisgICAgICAgIChKU0M6OkRhdGVDYWNoZTo6cGFyc2VEYXRlKToKKyAgICAgICAgKEpTQzo6
RGF0ZUNhY2hlOjpyZXNldCk6CisgICAgICAgIChKU0M6OmxvY2FsVGltZU9mZnNldCk6IERlbGV0
ZWQuCisgICAgICAgICogcnVudGltZS9KU0RhdGVNYXRoLmg6CisgICAgICAgIChKU0M6OkRhdGVD
YWNoZTo6dGltZVpvbmVDYWNoZSk6CisgICAgICAgICogcnVudGltZS9WTS5oOgorICAgICAgICAo
SlNDOjpMb2NhbFRpbWVPZmZzZXRDYWNoZTo6TG9jYWxUaW1lT2Zmc2V0Q2FjaGUpOiBEZWxldGVk
LgorICAgICAgICAoSlNDOjpMb2NhbFRpbWVPZmZzZXRDYWNoZTo6cmVzZXQpOiBEZWxldGVkLgor
CiAyMDIwLTExLTA2ICBEbWl0cnkgQmV6aGV0c2tvdiAgPGRiZXpoZXRza292QGlnYWxpYS5jb20+
CiAKICAgICAgICAgW1dBU00tUmVmZXJlbmNlc10gUmVuYW1lIGFueXJlZiB0byBleHRlcm5yZWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cK
aW5kZXggNzBjN2Q2MDE0MDI2NDFhMDgxOTBlNzM3YWIxYTBlZGU1MDg3NmY1Mi4uYWViODFiNjU3
Y2EzY2RlZWU0YjUxZTEzNzI4ODMzNjdlNTdhY2FjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAy
MC0xMS0wNiAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgorCisgICAgICAgIFtK
U0NdIEFkZCBUaW1lWm9uZSByYW5nZSBjYWNoZSBvdmVyIElDVSBUaW1lWm9uZSBBUEkKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxODY4MQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd3RmL0RhdGVNYXRo
Lmg6CisKIDIwMjAtMTEtMDYgIFNhbSBXZWluaWcgIDx3ZWluaWdAYXBwbGUuY29tPgogCiAgICAg
ICAgIEZ1cnRoZXIgcHJvZ3Jlc3MgdG93YXJkcyBtZXJnaW5nIFNldHRpbmdzLnlhbWwgaW50byBX
ZWJQcmVmZXJlbmNlcy55YW1sCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0RhdGVNYXRoLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRGF0
ZU1hdGguY3BwCmluZGV4IDY3NTgyNTE3ZjYyYTU5YmFlMDg0OTVkZjM0ZTZlOWRlNTBhYTE4MjYu
LmNjOTFkZTczNjcyNjcwNDk3ZmU3ODY3YWQ2NzQ2YmIxZjYwNjM4NWYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRGF0ZU1hdGguY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRGF0ZU1hdGguY3BwCkBAIC05OSw5ICs5OSw5IEBAIHZv
aWQgT3BhcXVlSUNVVGltZVpvbmVEZWxldGVyOjpvcGVyYXRvcigpKE9wYXF1ZUlDVVRpbWVab25l
KiB0aW1lWm9uZSkKIC8vIE5PVEU6IFRoZSBpbXBsZW1lbnRhdGlvbiByZWxpZXMgb24gdGhlIGZh
Y3QgdGhhdCBubyB0aW1lIHpvbmVzIGhhdmUKIC8vIG1vcmUgdGhhbiBvbmUgZGF5bGlnaHQgc2F2
aW5ncyBvZmZzZXQgY2hhbmdlIHBlciBtb250aC4KIC8vIElmIHRoaXMgZnVuY3Rpb24gaXMgY2Fs
bGVkIHdpdGggTmFOIGl0IHJldHVybnMgTmFOLgotc3RhdGljIExvY2FsVGltZU9mZnNldCBsb2Nh
bFRpbWVPZmZzZXQoRGF0ZUNhY2hlJiBkYXRlQ2FjaGUsIGRvdWJsZSBtaWxsaXNlY29uZHNGcm9t
RXBvY2gsIFdURjo6VGltZVR5cGUgaW5wdXRUaW1lVHlwZSA9IFdURjo6VVRDVGltZSkKK0xvY2Fs
VGltZU9mZnNldCBEYXRlQ2FjaGU6OmNhbGN1bGF0ZUxvY2FsVGltZU9mZnNldChkb3VibGUgbWls
bGlzZWNvbmRzRnJvbUVwb2NoLCBXVEY6OlRpbWVUeXBlIGlucHV0VGltZVR5cGUpCiB7Ci0gICAg
YXV0byYgdGltZVpvbmVDYWNoZSA9ICpiaXR3aXNlX2Nhc3Q8aWN1OjpUaW1lWm9uZSo+KGRhdGVD
YWNoZS50aW1lWm9uZUNhY2hlKCkpOworICAgIGF1dG8mIHRpbWVab25lQ2FjaGUgPSAqYml0d2lz
ZV9jYXN0PGljdTo6VGltZVpvbmUqPih0aGlzLT50aW1lWm9uZUNhY2hlKCkpOwogICAgIGludDMy
X3QgcmF3T2Zmc2V0ID0gMDsKICAgICBpbnQzMl90IGRzdE9mZnNldCA9IDA7CiAgICAgVUVycm9y
Q29kZSBzdGF0dXMgPSBVX1pFUk9fRVJST1I7CkBAIC0xMjAsNiArMTIwLDEwMyBAQCBzdGF0aWMg
TG9jYWxUaW1lT2Zmc2V0IGxvY2FsVGltZU9mZnNldChEYXRlQ2FjaGUmIGRhdGVDYWNoZSwgZG91
YmxlIG1pbGxpc2Vjb25kcwogICAgIHJldHVybiB7ICEhZHN0T2Zmc2V0LCByYXdPZmZzZXQgKyBk
c3RPZmZzZXQgfTsKIH0KIAorTG9jYWxUaW1lT2Zmc2V0IERhdGVDYWNoZTo6bG9jYWxUaW1lT2Zm
c2V0KGRvdWJsZSBtaWxsaXNlY29uZHNGcm9tRXBvY2gsIFdURjo6VGltZVR5cGUgaW5wdXRUaW1l
VHlwZSkKK3sKKyAgICBMb2NhbFRpbWVPZmZzZXRDYWNoZSYgY2FjaGUgPSBpbnB1dFRpbWVUeXBl
ID09IFdURjo6TG9jYWxUaW1lID8gbV9sb2NhbFRpbWVPZmZzZXRDYWNoZSA6IG1fdXRjVGltZU9m
ZnNldENhY2hlOworCisgICAgZG91YmxlIHN0YXJ0ID0gY2FjaGUuc3RhcnQ7CisgICAgZG91Ymxl
IGVuZCA9IGNhY2hlLmVuZDsKKworICAgIGF1dG8gcmVzZXRDYWNoZSA9IFsmXSgpIHsKKyAgICAg
ICAgLy8gQ29tcHV0ZSB0aGUgRFNUIG9mZnNldCBmb3IgdGhlIHRpbWUgYW5kIHNocmluayB0aGUg
Y2FjaGUgaW50ZXJ2YWwKKyAgICAgICAgLy8gdG8gb25seSBjb250YWluIHRoZSB0aW1lLiBUaGlz
IGFsbG93cyBmYXN0IHJlcGVhdGVkIERTVCBvZmZzZXQKKyAgICAgICAgLy8gY29tcHV0YXRpb25z
IGZvciB0aGUgc2FtZSB0aW1lLgorICAgICAgICBMb2NhbFRpbWVPZmZzZXQgb2Zmc2V0ID0gY2Fs
Y3VsYXRlTG9jYWxUaW1lT2Zmc2V0KG1pbGxpc2Vjb25kc0Zyb21FcG9jaCwgaW5wdXRUaW1lVHlw
ZSk7CisgICAgICAgIGNhY2hlLm9mZnNldCA9IG9mZnNldDsKKyAgICAgICAgY2FjaGUuc3RhcnQg
PSBtaWxsaXNlY29uZHNGcm9tRXBvY2g7CisgICAgICAgIGNhY2hlLmVuZCA9IG1pbGxpc2Vjb25k
c0Zyb21FcG9jaDsKKyAgICAgICAgY2FjaGUuaW5jcmVtZW50ID0gV1RGOjptc1Blck1vbnRoOwor
ICAgICAgICByZXR1cm4gb2Zmc2V0OworICAgIH07CisKKyAgICAvLyBJZiB0aGUgdGltZSBmaXRz
IGluIHRoZSBjYWNoZWQgaW50ZXJ2YWwsIHJldHVybiB0aGUgY2FjaGVkIG9mZnNldC4KKyAgICBp
ZiAoc3RhcnQgPD0gbWlsbGlzZWNvbmRzRnJvbUVwb2NoICYmIG1pbGxpc2Vjb25kc0Zyb21FcG9j
aCA8PSBlbmQpCisgICAgICAgIHJldHVybiBjYWNoZS5vZmZzZXQ7CisKKyAgICBpZiAoc3RhcnQg
PD0gbWlsbGlzZWNvbmRzRnJvbUVwb2NoKSB7CisgICAgICAgIC8vIENvbXB1dGUgYSBwb3NzaWJs
ZSBuZXcgaW50ZXJ2YWwgZW5kLgorICAgICAgICBkb3VibGUgbmV3RW5kID0gZW5kICsgY2FjaGUu
aW5jcmVtZW50OworCisgICAgICAgIGlmIChtaWxsaXNlY29uZHNGcm9tRXBvY2ggPD0gbmV3RW5k
KSB7CisgICAgICAgICAgICBMb2NhbFRpbWVPZmZzZXQgZW5kT2Zmc2V0ID0gY2FsY3VsYXRlTG9j
YWxUaW1lT2Zmc2V0KG5ld0VuZCwgaW5wdXRUaW1lVHlwZSk7CisgICAgICAgICAgICBpZiAoY2Fj
aGUub2Zmc2V0ID09IGVuZE9mZnNldCkgeworICAgICAgICAgICAgICAgIC8vIElmIHRoZSBvZmZz
ZXQgYXQgdGhlIGVuZCBvZiB0aGUgbmV3IGludGVydmFsIHN0aWxsIG1hdGNoZXMKKyAgICAgICAg
ICAgICAgICAvLyB0aGUgb2Zmc2V0IGluIHRoZSBjYWNoZSwgd2UgZ3JvdyB0aGUgY2FjaGVkIHRp
bWUgaW50ZXJ2YWwKKyAgICAgICAgICAgICAgICAvLyBhbmQgcmV0dXJuIHRoZSBvZmZzZXQuCisg
ICAgICAgICAgICAgICAgY2FjaGUuZW5kID0gbmV3RW5kOworICAgICAgICAgICAgICAgIGNhY2hl
LmluY3JlbWVudCA9IFdURjo6bXNQZXJNb250aDsKKyAgICAgICAgICAgICAgICByZXR1cm4gZW5k
T2Zmc2V0OworICAgICAgICAgICAgfQorICAgICAgICAgICAgTG9jYWxUaW1lT2Zmc2V0IG9mZnNl
dCA9IGNhbGN1bGF0ZUxvY2FsVGltZU9mZnNldChtaWxsaXNlY29uZHNGcm9tRXBvY2gsIGlucHV0
VGltZVR5cGUpOworICAgICAgICAgICAgaWYgKG9mZnNldCA9PSBlbmRPZmZzZXQpIHsKKyAgICAg
ICAgICAgICAgICAvLyBUaGUgb2Zmc2V0IGF0IHRoZSBnaXZlbiB0aW1lIGlzIGVxdWFsIHRvIHRo
ZSBvZmZzZXQgYXQgdGhlCisgICAgICAgICAgICAgICAgLy8gbmV3IGVuZCBvZiB0aGUgaW50ZXJ2
YWwsIHNvIHRoYXQgbWVhbnMgdGhhdCB3ZSd2ZSBqdXN0IHNraXBwZWQKKyAgICAgICAgICAgICAg
ICAvLyB0aGUgcG9pbnQgaW4gdGltZSB3aGVyZSB0aGUgRFNUIG9mZnNldCBjaGFuZ2Ugb2NjdXJy
ZWQuIFVwZGF0ZWQKKyAgICAgICAgICAgICAgICAvLyB0aGUgaW50ZXJ2YWwgdG8gcmVmbGVjdCB0
aGlzIGFuZCByZXNldCB0aGUgaW5jcmVtZW50LgorICAgICAgICAgICAgICAgIGNhY2hlLnN0YXJ0
ID0gbWlsbGlzZWNvbmRzRnJvbUVwb2NoOworICAgICAgICAgICAgICAgIGNhY2hlLmVuZCA9IG5l
d0VuZDsKKyAgICAgICAgICAgICAgICBjYWNoZS5pbmNyZW1lbnQgPSBXVEY6Om1zUGVyTW9udGg7
CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIC8vIFRoZSBpbnRlcnZhbCBj
b250YWlucyBhIERTVCBvZmZzZXQgY2hhbmdlIGFuZCB0aGUgZ2l2ZW4gdGltZSBpcworICAgICAg
ICAgICAgICAgIC8vIGJlZm9yZSBpdC4gQWRqdXN0IHRoZSBpbmNyZW1lbnQgdG8gYXZvaWQgYSBs
aW5lYXIgc2VhcmNoIGZvcgorICAgICAgICAgICAgICAgIC8vIHRoZSBvZmZzZXQgY2hhbmdlIHBv
aW50IGFuZCBjaGFuZ2UgdGhlIGVuZCBvZiB0aGUgaW50ZXJ2YWwuCisgICAgICAgICAgICAgICAg
Y2FjaGUuaW5jcmVtZW50IC89IDM7CisgICAgICAgICAgICAgICAgY2FjaGUuZW5kID0gbWlsbGlz
ZWNvbmRzRnJvbUVwb2NoOworICAgICAgICAgICAgfQorICAgICAgICAgICAgLy8gVXBkYXRlIHRo
ZSBvZmZzZXQgaW4gdGhlIGNhY2hlIGFuZCByZXR1cm4gaXQuCisgICAgICAgICAgICBjYWNoZS5v
ZmZzZXQgPSBvZmZzZXQ7CisgICAgICAgICAgICByZXR1cm4gb2Zmc2V0OworICAgICAgICB9CisK
KyAgICAgICAgcmV0dXJuIHJlc2V0Q2FjaGUoKTsKKyAgICB9CisKKyAgICAvLyBDb21wdXRlIGEg
cG9zc2libGUgbmV3IGludGVydmFsIHN0YXJ0LgorICAgIGRvdWJsZSBuZXdTdGFydCA9IHN0YXJ0
IC0gY2FjaGUuaW5jcmVtZW50OworICAgIGlmIChuZXdTdGFydCA8PSBtaWxsaXNlY29uZHNGcm9t
RXBvY2gpIHsKKyAgICAgICAgTG9jYWxUaW1lT2Zmc2V0IHN0YXJ0T2Zmc2V0ID0gY2FsY3VsYXRl
TG9jYWxUaW1lT2Zmc2V0KG5ld1N0YXJ0LCBpbnB1dFRpbWVUeXBlKTsKKyAgICAgICAgaWYgKGNh
Y2hlLm9mZnNldCA9PSBzdGFydE9mZnNldCkgeworICAgICAgICAgICAgLy8gSWYgdGhlIG9mZnNl
dCBhdCB0aGUgc3RhcnQgb2YgdGhlIG5ldyBpbnRlcnZhbCBzdGlsbCBtYXRjaGVzCisgICAgICAg
ICAgICAvLyB0aGUgb2Zmc2V0IGluIHRoZSBjYWNoZSwgd2UgZ3JvdyB0aGUgY2FjaGVkIHRpbWUg
aW50ZXJ2YWwKKyAgICAgICAgICAgIC8vIGFuZCByZXR1cm4gdGhlIG9mZnNldC4KKyAgICAgICAg
ICAgIGNhY2hlLnN0YXJ0ID0gbmV3U3RhcnQ7CisgICAgICAgICAgICBjYWNoZS5pbmNyZW1lbnQg
PSBXVEY6Om1zUGVyTW9udGg7CisgICAgICAgICAgICByZXR1cm4gc3RhcnRPZmZzZXQ7CisgICAg
ICAgIH0KKyAgICAgICAgTG9jYWxUaW1lT2Zmc2V0IG9mZnNldCA9IGNhbGN1bGF0ZUxvY2FsVGlt
ZU9mZnNldChtaWxsaXNlY29uZHNGcm9tRXBvY2gsIGlucHV0VGltZVR5cGUpOworICAgICAgICBp
ZiAob2Zmc2V0ID09IHN0YXJ0T2Zmc2V0KSB7CisgICAgICAgICAgICAvLyBUaGUgb2Zmc2V0IGF0
IHRoZSBnaXZlbiB0aW1lIGlzIGVxdWFsIHRvIHRoZSBvZmZzZXQgYXQgdGhlCisgICAgICAgICAg
ICAvLyBuZXcgc3RhcnQgb2YgdGhlIGludGVydmFsLCBzbyB0aGF0IG1lYW5zIHRoYXQgd2UndmUg
anVzdCBza2lwcGVkCisgICAgICAgICAgICAvLyB0aGUgcG9pbnQgaW4gdGltZSB3aGVyZSB0aGUg
RFNUIG9mZnNldCBjaGFuZ2Ugb2NjdXJyZWQuIFVwZGF0ZWQKKyAgICAgICAgICAgIC8vIHRoZSBp
bnRlcnZhbCB0byByZWZsZWN0IHRoaXMgYW5kIHJlc2V0IHRoZSBpbmNyZW1lbnQuCisgICAgICAg
ICAgICBjYWNoZS5zdGFydCA9IG5ld1N0YXJ0OworICAgICAgICAgICAgY2FjaGUuZW5kID0gbWls
bGlzZWNvbmRzRnJvbUVwb2NoOworICAgICAgICAgICAgY2FjaGUuaW5jcmVtZW50ID0gV1RGOjpt
c1Blck1vbnRoOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgLy8gVGhlIGludGVydmFs
IGNvbnRhaW5zIGEgRFNUIG9mZnNldCBjaGFuZ2UgYW5kIHRoZSBnaXZlbiB0aW1lIGlzCisgICAg
ICAgICAgICAvLyBiZWZvcmUgaXQuIEFkanVzdCB0aGUgaW5jcmVtZW50IHRvIGF2b2lkIGEgbGlu
ZWFyIHNlYXJjaCBmb3IKKyAgICAgICAgICAgIC8vIHRoZSBvZmZzZXQgY2hhbmdlIHBvaW50IGFu
ZCBjaGFuZ2UgdGhlIGVuZCBvZiB0aGUgaW50ZXJ2YWwuCisgICAgICAgICAgICBjYWNoZS5pbmNy
ZW1lbnQgLz0gMzsKKyAgICAgICAgICAgIGNhY2hlLnN0YXJ0ID0gbWlsbGlzZWNvbmRzRnJvbUVw
b2NoOworICAgICAgICB9CisgICAgICAgIC8vIFVwZGF0ZSB0aGUgb2Zmc2V0IGluIHRoZSBjYWNo
ZSBhbmQgcmV0dXJuIGl0LgorICAgICAgICBjYWNoZS5vZmZzZXQgPSBvZmZzZXQ7CisgICAgICAg
IHJldHVybiBvZmZzZXQ7CisgICAgfQorCisgICAgcmV0dXJuIHJlc2V0Q2FjaGUoKTsKK30KKwog
c3RhdGljIGlubGluZSBkb3VibGUgdGltZVRvTVMoZG91YmxlIGhvdXIsIGRvdWJsZSBtaW4sIGRv
dWJsZSBzZWMsIGRvdWJsZSBtcykKIHsKICAgICByZXR1cm4gKCgoaG91ciAqIFdURjo6bWludXRl
c1BlckhvdXIgKyBtaW4pICogV1RGOjpzZWNvbmRzUGVyTWludXRlICsgc2VjKSAqIFdURjo6bXNQ
ZXJTZWNvbmQgKyBtcyk7CkBAIC0xMzEsOCArMjI4LDcgQEAgZG91YmxlIERhdGVDYWNoZTo6Z3Jl
Z29yaWFuRGF0ZVRpbWVUb01TKGNvbnN0IEdyZWdvcmlhbkRhdGVUaW1lJiB0LCBkb3VibGUgbWls
bGkKICAgICBkb3VibGUgbXMgPSB0aW1lVG9NUyh0LmhvdXIoKSwgdC5taW51dGUoKSwgdC5zZWNv
bmQoKSwgbWlsbGlzZWNvbmRzKTsKICAgICBkb3VibGUgbG9jYWxUaW1lUmVzdWx0ID0gKGRheSAq
IFdURjo6bXNQZXJEYXkpICsgbXM7CiAKLSAgICBkb3VibGUgbG9jYWxUb1VUQ1RpbWVPZmZzZXQg
PSBpbnB1dFRpbWVUeXBlID09IFdURjo6TG9jYWxUaW1lCi0gICAgICAgID8gbG9jYWxUaW1lT2Zm
c2V0KCp0aGlzLCBsb2NhbFRpbWVSZXN1bHQsIGlucHV0VGltZVR5cGUpLm9mZnNldCA6IDA7Cisg
ICAgZG91YmxlIGxvY2FsVG9VVENUaW1lT2Zmc2V0ID0gaW5wdXRUaW1lVHlwZSA9PSBXVEY6Okxv
Y2FsVGltZSA/IGxvY2FsVGltZU9mZnNldChsb2NhbFRpbWVSZXN1bHQsIGlucHV0VGltZVR5cGUp
Lm9mZnNldCA6IDA7CiAKICAgICByZXR1cm4gbG9jYWxUaW1lUmVzdWx0IC0gbG9jYWxUb1VUQ1Rp
bWVPZmZzZXQ7CiB9CkBAIC0xNDIsNyArMjM4LDcgQEAgdm9pZCBEYXRlQ2FjaGU6Om1zVG9HcmVn
b3JpYW5EYXRlVGltZShkb3VibGUgbWlsbGlzZWNvbmRzRnJvbUVwb2NoLCBXVEY6OlRpbWVUeXAK
IHsKICAgICBMb2NhbFRpbWVPZmZzZXQgbG9jYWxUaW1lOwogICAgIGlmIChvdXRwdXRUaW1lVHlw
ZSA9PSBXVEY6OkxvY2FsVGltZSkgewotICAgICAgICBsb2NhbFRpbWUgPSBsb2NhbFRpbWVPZmZz
ZXQoKnRoaXMsIG1pbGxpc2Vjb25kc0Zyb21FcG9jaCk7CisgICAgICAgIGxvY2FsVGltZSA9IGxv
Y2FsVGltZU9mZnNldChtaWxsaXNlY29uZHNGcm9tRXBvY2gpOwogICAgICAgICBtaWxsaXNlY29u
ZHNGcm9tRXBvY2ggKz0gbG9jYWxUaW1lLm9mZnNldDsKICAgICB9CiAgICAgdG0gPSBHcmVnb3Jp
YW5EYXRlVGltZShtaWxsaXNlY29uZHNGcm9tRXBvY2gsIGxvY2FsVGltZSk7CkBAIC0xNzEsNyAr
MjY3LDcgQEAgZG91YmxlIERhdGVDYWNoZTo6cGFyc2VEYXRlKEpTR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QsIFZNJiB2bSwgY29uc3QgU3RyaW5nJgogICAgICAgICAgICAgdmFsdWUgPSBXVEY6
OnBhcnNlRGF0ZUZyb21OdWxsVGVybWluYXRlZENoYXJhY3RlcnMoZGF0ZVN0cmluZywgaXNMb2Nh
bFRpbWUpOwogCiAgICAgICAgIGlmIChpc0xvY2FsVGltZSkKLSAgICAgICAgICAgIHZhbHVlIC09
IGxvY2FsVGltZU9mZnNldCgqdGhpcywgdmFsdWUsIFdURjo6TG9jYWxUaW1lKS5vZmZzZXQ7Cisg
ICAgICAgICAgICB2YWx1ZSAtPSBsb2NhbFRpbWVPZmZzZXQodmFsdWUsIFdURjo6TG9jYWxUaW1l
KS5vZmZzZXQ7CiAKICAgICAgICAgcmV0dXJuIHZhbHVlOwogICAgIH07CkBAIC0yMjMsNiArMzE5
LDggQEAgdm9pZCBEYXRlQ2FjaGU6OnRpbWVab25lQ2FjaGVTbG93KCkKIHZvaWQgRGF0ZUNhY2hl
OjpyZXNldCgpCiB7CiAgICAgbV90aW1lWm9uZUNhY2hlLnJlc2V0KCk7CisgICAgbV91dGNUaW1l
T2Zmc2V0Q2FjaGUgPSBMb2NhbFRpbWVPZmZzZXRDYWNoZSgpOworICAgIG1fbG9jYWxUaW1lT2Zm
c2V0Q2FjaGUgPSBMb2NhbFRpbWVPZmZzZXRDYWNoZSgpOwogICAgIG1fY2FjaGVkRGF0ZVN0cmlu
ZyA9IFN0cmluZygpOwogICAgIG1fY2FjaGVkRGF0ZVN0cmluZ1ZhbHVlID0gc3RkOjpudW1lcmlj
X2xpbWl0czxkb3VibGU+OjpxdWlldF9OYU4oKTsKICAgICBtX2RhdGVJbnN0YW5jZUNhY2hlLnJl
c2V0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0RhdGVN
YXRoLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0RhdGVNYXRoLmgKaW5kZXgg
MGM5MmY4OWEwMzRlYzFjOTJiYmJmZGIzYjZmMWI2NmFkZmM0ODE1ZS4uMjllNmRlZjk3M2Y2ZGQ4
NzM3NzczMmQzMTQzNDQ4MjY2MDUxZThjMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNEYXRlTWF0aC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTRGF0ZU1hdGguaApAQCAtNTgsNiArNTgsMTUgQEAgc3RydWN0IE9wYXF1ZUlDVVRpbWVa
b25lRGVsZXRlciB7CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgdm9pZCBvcGVyYXRvcigpKE9wYXF1
ZUlDVVRpbWVab25lKik7CiB9OwogCitzdHJ1Y3QgTG9jYWxUaW1lT2Zmc2V0Q2FjaGUgeworICAg
IExvY2FsVGltZU9mZnNldENhY2hlKCkgPSBkZWZhdWx0OworCisgICAgTG9jYWxUaW1lT2Zmc2V0
IG9mZnNldDsKKyAgICBkb3VibGUgc3RhcnQgeyAwLjAgfTsKKyAgICBkb3VibGUgZW5kIHsgLTEu
MCB9OworICAgIGRvdWJsZSBpbmNyZW1lbnQgeyAwLjAgfTsKK307CisKIGNsYXNzIERhdGVDYWNo
ZSB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoRGF0ZUNhY2hlKTsKQEAgLTY5LDEzICs3OCw2IEBAIGNsYXNzIERhdGVDYWNoZSB7CiAKICAg
ICBTdHJpbmcgZGVmYXVsdFRpbWVab25lKCk7CiAKLSAgICBPcGFxdWVJQ1VUaW1lWm9uZSogdGlt
ZVpvbmVDYWNoZSgpCi0gICAgewotICAgICAgICBpZiAoIW1fdGltZVpvbmVDYWNoZSkKLSAgICAg
ICAgICAgIHRpbWVab25lQ2FjaGVTbG93KCk7Ci0gICAgICAgIHJldHVybiBtX3RpbWVab25lQ2Fj
aGUuZ2V0KCk7Ci0gICAgfQotCiAgICAgUmVmPERhdGVJbnN0YW5jZURhdGE+IGNhY2hlZERhdGVJ
bnN0YW5jZURhdGEoZG91YmxlIG1pbGxpc2Vjb25kc0Zyb21FcG9jaCk7CiAKICAgICB2b2lkIG1z
VG9HcmVnb3JpYW5EYXRlVGltZShkb3VibGUgbWlsbGlzZWNvbmRzRnJvbUVwb2NoLCBXVEY6OlRp
bWVUeXBlIG91dHB1dFRpbWVUeXBlLCBHcmVnb3JpYW5EYXRlVGltZSYpOwpAQCAtODQsOCArODYs
MTkgQEAgY2xhc3MgRGF0ZUNhY2hlIHsKIAogcHJpdmF0ZToKICAgICB2b2lkIHRpbWVab25lQ2Fj
aGVTbG93KCk7CisgICAgTG9jYWxUaW1lT2Zmc2V0IGxvY2FsVGltZU9mZnNldChkb3VibGUgbWls
bGlzZWNvbmRzRnJvbUVwb2NoLCBXVEY6OlRpbWVUeXBlIGlucHV0VGltZVR5cGUgPSBXVEY6OlVU
Q1RpbWUpOworICAgIExvY2FsVGltZU9mZnNldCBjYWxjdWxhdGVMb2NhbFRpbWVPZmZzZXQoZG91
YmxlIG1pbGxpc2Vjb25kc0Zyb21FcG9jaCwgV1RGOjpUaW1lVHlwZSBpbnB1dFRpbWVUeXBlKTsK
KworICAgIE9wYXF1ZUlDVVRpbWVab25lKiB0aW1lWm9uZUNhY2hlKCkKKyAgICB7CisgICAgICAg
IGlmICghbV90aW1lWm9uZUNhY2hlKQorICAgICAgICAgICAgdGltZVpvbmVDYWNoZVNsb3coKTsK
KyAgICAgICAgcmV0dXJuIG1fdGltZVpvbmVDYWNoZS5nZXQoKTsKKyAgICB9CiAKICAgICBzdGQ6
OnVuaXF1ZV9wdHI8T3BhcXVlSUNVVGltZVpvbmUsIE9wYXF1ZUlDVVRpbWVab25lRGVsZXRlcj4g
bV90aW1lWm9uZUNhY2hlOworICAgIExvY2FsVGltZU9mZnNldENhY2hlIG1fdXRjVGltZU9mZnNl
dENhY2hlOworICAgIExvY2FsVGltZU9mZnNldENhY2hlIG1fbG9jYWxUaW1lT2Zmc2V0Q2FjaGU7
CiAgICAgU3RyaW5nIG1fY2FjaGVkRGF0ZVN0cmluZzsKICAgICBkb3VibGUgbV9jYWNoZWREYXRl
U3RyaW5nVmFsdWU7CiAgICAgRGF0ZUluc3RhbmNlQ2FjaGUgbV9kYXRlSW5zdGFuY2VDYWNoZTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5oCmluZGV4IDU1MmQ1ODE5MGU4Yjc0MmJkYWU5Mzli
YmJjZGEzZGQwMDZjMmUzZjMuLjcxZmEyYTYwNjkyODZjNjFhMTE1Mjk4NjUyMjg5OTFmMDU3YzBm
YjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uaApAQCAtMjIxLDI4ICsyMjEsNiBAQCBz
dHJ1Y3QgSGFzaFRhYmxlOwogc3RydWN0IEluc3RydWN0aW9uOwogc3RydWN0IFZhbHVlUHJvZmls
ZTsKIAotc3RydWN0IExvY2FsVGltZU9mZnNldENhY2hlIHsKLSAgICBMb2NhbFRpbWVPZmZzZXRD
YWNoZSgpCi0gICAgICAgIDogc3RhcnQoMC4wKQotICAgICAgICAsIGVuZCgtMS4wKQotICAgICAg
ICAsIGluY3JlbWVudCgwLjApCi0gICAgewotICAgIH0KLQotICAgIHZvaWQgcmVzZXQoKQotICAg
IHsKLSAgICAgICAgb2Zmc2V0ID0gTG9jYWxUaW1lT2Zmc2V0KCk7Ci0gICAgICAgIHN0YXJ0ID0g
MC4wOwotICAgICAgICBlbmQgPSAtMS4wOwotICAgICAgICBpbmNyZW1lbnQgPSAwLjA7Ci0gICAg
fQotCi0gICAgTG9jYWxUaW1lT2Zmc2V0IG9mZnNldDsKLSAgICBkb3VibGUgc3RhcnQ7Ci0gICAg
ZG91YmxlIGVuZDsKLSAgICBkb3VibGUgaW5jcmVtZW50OwotfTsKLQogY2xhc3MgUXVldWVkVGFz
ayB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUXVldWVkVGFzayk7CiAgICAgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9EYXRlTWF0aC5oIGIv
U291cmNlL1dURi93dGYvRGF0ZU1hdGguaAppbmRleCAyNDZiYTY3Yzc2NGI2MjkwNDJhNzkyN2Qy
NGZlODliMDQ5ZDgyYTBiLi4xYWMyOTYxN2EwMTExZTM3YzAyMzk1MjRhZDg4NjA3MzRkZDM5MWZj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9EYXRlTWF0aC5oCisrKyBiL1NvdXJjZS9XVEYv
d3RmL0RhdGVNYXRoLmgKQEAgLTU5LDEyICs1OSw3IEBAIGVudW0gVGltZVR5cGUgewogc3RydWN0
IExvY2FsVGltZU9mZnNldCB7CiAgICAgV1RGX01BS0VfU1RSVUNUX0ZBU1RfQUxMT0NBVEVEOwog
Ci0gICAgTG9jYWxUaW1lT2Zmc2V0KCkKLSAgICAgICAgOiBpc0RTVChmYWxzZSkKLSAgICAgICAg
LCBvZmZzZXQoMCkKLSAgICB7Ci0gICAgfQotCisgICAgTG9jYWxUaW1lT2Zmc2V0KCkgPSBkZWZh
dWx0OwogICAgIExvY2FsVGltZU9mZnNldChib29sIGlzRFNULCBpbnQgb2Zmc2V0KQogICAgICAg
ICA6IGlzRFNUKGlzRFNUKQogICAgICAgICAsIG9mZnNldChvZmZzZXQpCkBAIC04MSw4ICs3Niw4
IEBAIHN0cnVjdCBMb2NhbFRpbWVPZmZzZXQgewogICAgICAgICByZXR1cm4gaXNEU1QgIT0gb3Ro
ZXIuaXNEU1QgfHwgb2Zmc2V0ICE9IG90aGVyLm9mZnNldDsKICAgICB9CiAKLSAgICBib29sIGlz
RFNUOwotICAgIGludCBvZmZzZXQ7CisgICAgYm9vbCBpc0RTVCB7IGZhbHNlIH07CisgICAgaW50
IG9mZnNldCB7IDAgfTsKIH07CiAKIHZvaWQgaW5pdGlhbGl6ZURhdGVzKCk7CmRpZmYgLS1naXQg
YS9KU1Rlc3RzL0NoYW5nZUxvZyBiL0pTVGVzdHMvQ2hhbmdlTG9nCmluZGV4IGI2NjlhNGU2NWU0
NGFmOWZmM2M5M2JjNWJhZTE0ODA4Y2M3ZjdhYTYuLjg5Y2I0MDcyNGM2MzIyZGMxZDg5N2Y5ZjVh
ZDhmMjFjNTg0OGRkZDggMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvQ2hhbmdlTG9nCisrKyBiL0pTVGVz
dHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjAtMTEtMDYgIFl1c3VrZSBTdXp1a2kg
IDx5c3V6dWtpQGFwcGxlLmNvbT4KKworICAgICAgICBbSlNDXSBBZGQgVGltZVpvbmUgcmFuZ2Ug
Y2FjaGUgb3ZlciBJQ1UgVGltZVpvbmUgQVBJCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMTg2ODEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIGNvbXBsZXgueWFtbDoKKyAgICAgICAgKiBjb21wbGV4L3Rp
bWV6b25lLXJhbmdlLWNhY2hlLXdpdGgtZHN0LmpzOiBBZGRlZC4KKyAgICAgICAgKHNob3VsZEJl
KToKKyAgICAgICAgKHRocm93Lm5ldy5FcnJvcik6CisKIDIwMjAtMTEtMDYgIERtaXRyeSBCZXpo
ZXRza292ICA8ZGJlemhldHNrb3ZAaWdhbGlhLmNvbT4KIAogICAgICAgICBbV0FTTS1SZWZlcmVu
Y2VzXSBSZW5hbWUgYW55cmVmIHRvIGV4dGVybnJlZgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9jb21w
bGV4LnlhbWwgYi9KU1Rlc3RzL2NvbXBsZXgueWFtbAppbmRleCA0ZTFjZmEzZjE3ZDM4MDA1NTJi
NTgwMDFkYjExOTM0YzNiMWIyZDViLi42YTE5YTU2MzZhOGUwZmE5N2E0MjhkMmI5MmU0MWMyYTQz
ODBkYWFjIDEwMDY0NAotLS0gYS9KU1Rlc3RzL2NvbXBsZXgueWFtbAorKysgYi9KU1Rlc3RzL2Nv
bXBsZXgueWFtbApAQCAtMzcsMyArMzcsNiBAQAogCiAtIHBhdGg6IGNvbXBsZXgvdGltZXpvbmUt
b2Zmc2V0LWFuZC1kc3QtaW4td2Fyc2F3LmpzCiAgIGNtZDogcnVuQ29tcGxleFRlc3QgW10sIFtd
LCAiVFo9RXVyb3BlL1dhcnNhdyIsICItLXVzZURvbGxhclZNPTEiCisKKy0gcGF0aDogY29tcGxl
eC90aW1lem9uZS1yYW5nZS1jYWNoZS13aXRoLWRzdC5qcworICBjbWQ6IHJ1bkNvbXBsZXhUZXN0
IFtdLCBbXSwgIlRaPUFtZXJpY2EvTG9zX0FuZ2VsZXMiLCAiLS11c2VEb2xsYXJWTT0xIgpkaWZm
IC0tZ2l0IGEvSlNUZXN0cy9jb21wbGV4L3RpbWV6b25lLXJhbmdlLWNhY2hlLXdpdGgtZHN0Lmpz
IGIvSlNUZXN0cy9jb21wbGV4L3RpbWV6b25lLXJhbmdlLWNhY2hlLXdpdGgtZHN0LmpzCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmY0MWZhYjVhOWEyOTZhMzI1NTgyYzNjYTQ2N2YxMWUzMmVhYjExMzcKLS0tIC9kZXYv
bnVsbAorKysgYi9KU1Rlc3RzL2NvbXBsZXgvdGltZXpvbmUtcmFuZ2UtY2FjaGUtd2l0aC1kc3Qu
anMKQEAgLTAsMCArMSwyNyBAQAorZnVuY3Rpb24gc2hvdWxkQmUoYWN0dWFsLCBleHBlY3RlZCkg
eworICAgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3Io
J2JhZCB2YWx1ZTogJyArIGFjdHVhbCk7Cit9CisKK3sKKyAgICBsZXQgZGF0ZTEgPSBuZXcgRGF0
ZSgyMDIwLCAxLCA4LCAwKTsKKyAgICBzaG91bGRCZShkYXRlMS5nZXRUaW1lKCksIDE1ODExNDg4
MDAwMDApOworICAgIGxldCBkYXRlMiA9IG5ldyBEYXRlKDIwMjAsIDIsIDIsIDApOworICAgIHNo
b3VsZEJlKGRhdGUyLmdldFRpbWUoKSwgMTU4MzEzNjAwMDAwMCk7CisgICAgbGV0IGRhdGUzID0g
bmV3IERhdGUoMjAyMCwgMiwgOCwgMyk7CisgICAgc2hvdWxkQmUoZGF0ZTMuZ2V0VGltZSgpLCAx
NTgzNjYxNjAwMDAwKTsKKyAgICBsZXQgZGF0ZTQgPSBuZXcgRGF0ZSgyMDIwLCAzLCA5LCAzKTsK
KyAgICBzaG91bGRCZShkYXRlNC5nZXRUaW1lKCksIDE1ODY0MjY0MDAwMDApOworfQoreworICAg
IGxldCBkYXRlMSA9IG5ldyBEYXRlKDIwMjAsIDExLCAxLCAwKTsKKyAgICBzaG91bGRCZShkYXRl
MS5nZXRUaW1lKCksIDE2MDY4MDk2MDAwMDApOworICAgIGxldCBkYXRlMiA9IG5ldyBEYXRlKDIw
MjAsIDEwLCAzLCAwKTsKKyAgICBzaG91bGRCZShkYXRlMi5nZXRUaW1lKCksIDE2MDQzOTA0MDAw
MDApOworICAgIGxldCBkYXRlMyA9IG5ldyBEYXRlKDIwMjAsIDEwLCAxLCAwKTsKKyAgICBzaG91
bGRCZShkYXRlMy5nZXRUaW1lKCksIDE2MDQyMTQwMDAwMDApOworICAgIGxldCBkYXRlNCA9IG5l
dyBEYXRlKDIwMjAsIDksIDEwLCAwKTsKKyAgICBzaG91bGRCZShkYXRlNC5nZXRUaW1lKCksIDE2
MDIzMTMyMDAwMDApOworICAgIGxldCBkYXRlNSA9IG5ldyBEYXRlKDIwMjAsIDYsIDEwLCAwKTsK
KyAgICBzaG91bGRCZShkYXRlNS5nZXRUaW1lKCksIDE1OTQzNjQ0MDAwMDApOworfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>413538</attachid>
            <date>2020-11-07 19:38:39 -0800</date>
            <delta_ts>2020-11-07 20:42:00 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218681-20201107193839.patch</filename>
            <type>text/plain</type>
            <size>16127</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY5NTU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA2
OTg4ZjgyOWQzYzRkODU0N2YyZWYzM2EyNDEyZWQ4YWY5MTk4NzY4Li43MzIxMTY1YmY0Nzc4NzI2
NDE2ZWY1NzY0ZjEzODBkOTZhZjk3YjEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzMCBAQAorMjAyMC0xMS0wNyAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIEFkZCBUaW1lWm9uZSByYW5nZSBjYWNoZSBvdmVyIElDVSBUaW1l
Wm9uZSBBUEkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIxODY4MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IGljdTo6VGltZVpvbmUgaXMgbW9yZSBhY2N1cmF0ZSBhbmQgZmFzdGVyIHRoYW4gbG9jYWx0aW1l
X3IuIEJ1dCBzdGlsbCwgaXQgaXMgc2xvd2VyIHRoYW4gcmV0dXJuaW5nIGNhY2hlZCBkYXRhIQor
ICAgICAgICBXZSBzYXcgMTAlIHJlZ3Jlc3Npb24gaW4gSmV0U3RyZWFtMi9kYXRlLWZvcm1hdC14
cGFyYi1TUCB3aXRoIGljdTo6VGltZVpvbmUgc3dpdGNoaW5nLgorICAgICAgICBJbiB0aGlzIHBh
dGNoLCB3ZSBwdXQgb25lLWRlcHRoIHRpbWV6b25lIGNhY2hlIGJhY2sgb3ZlciBpY3U6OlRpbWVa
b25lIEFQSSwgYW5kIHJlY292ZXIgdGhlIHBlcmZvcm1hbmNlLgorICAgICAgICBJbiBhZGRpdGlv
biwgbmV3IHZlcnNpb24gb2YgdGltZXpvbmUgY2FjaGUgaW5jbHVkZXMgInN0YXJ0IiBzaWRlIGV4
dGVuc2lvbiAod2hpbGUgb2xkIG9uZSBvbmx5IGV4dGVuZHMgImVuZCIgb2YgdGhlIHJhbmdlKS4K
KyAgICAgICAgVGhlIHRlc3QgY292ZXJzIGFsbCBjYXNlcyBpbiB0aGUgYWRkZWQgY2FjaGUuCisK
KyAgICAgICAgKiBydW50aW1lL0pTRGF0ZU1hdGguY3BwOgorICAgICAgICAoSlNDOjpEYXRlQ2Fj
aGU6OmNhbGN1bGF0ZUxvY2FsVGltZU9mZnNldCk6CisgICAgICAgIChKU0M6OkRhdGVDYWNoZTo6
bG9jYWxUaW1lT2Zmc2V0KToKKyAgICAgICAgKEpTQzo6RGF0ZUNhY2hlOjpncmVnb3JpYW5EYXRl
VGltZVRvTVMpOgorICAgICAgICAoSlNDOjpEYXRlQ2FjaGU6Om1zVG9HcmVnb3JpYW5EYXRlVGlt
ZSk6CisgICAgICAgIChKU0M6OkRhdGVDYWNoZTo6cGFyc2VEYXRlKToKKyAgICAgICAgKEpTQzo6
RGF0ZUNhY2hlOjpyZXNldCk6CisgICAgICAgIChKU0M6OmxvY2FsVGltZU9mZnNldCk6IERlbGV0
ZWQuCisgICAgICAgICogcnVudGltZS9KU0RhdGVNYXRoLmg6CisgICAgICAgIChKU0M6OkRhdGVD
YWNoZTo6dGltZVpvbmVDYWNoZSk6CisgICAgICAgICogcnVudGltZS9WTS5oOgorICAgICAgICAo
SlNDOjpMb2NhbFRpbWVPZmZzZXRDYWNoZTo6TG9jYWxUaW1lT2Zmc2V0Q2FjaGUpOiBEZWxldGVk
LgorICAgICAgICAoSlNDOjpMb2NhbFRpbWVPZmZzZXRDYWNoZTo6cmVzZXQpOiBEZWxldGVkLgor
CiAyMDIwLTExLTA2ICBEbWl0cnkgQmV6aGV0c2tvdiAgPGRiZXpoZXRza292QGlnYWxpYS5jb20+
CiAKICAgICAgICAgW1dBU00tUmVmZXJlbmNlc10gUmVuYW1lIGFueXJlZiB0byBleHRlcm5yZWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cK
aW5kZXggNzBjN2Q2MDE0MDI2NDFhMDgxOTBlNzM3YWIxYTBlZGU1MDg3NmY1Mi4uZGI1OGM5ZWZl
ZjQ5NTdkZDQ5YTNiZGRjZTgyYzhiMDUwZjc3NjQ5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAy
MC0xMS0wNyAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgorCisgICAgICAgIFtK
U0NdIEFkZCBUaW1lWm9uZSByYW5nZSBjYWNoZSBvdmVyIElDVSBUaW1lWm9uZSBBUEkKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxODY4MQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd3RmL0RhdGVNYXRo
Lmg6CisKIDIwMjAtMTEtMDYgIFNhbSBXZWluaWcgIDx3ZWluaWdAYXBwbGUuY29tPgogCiAgICAg
ICAgIEZ1cnRoZXIgcHJvZ3Jlc3MgdG93YXJkcyBtZXJnaW5nIFNldHRpbmdzLnlhbWwgaW50byBX
ZWJQcmVmZXJlbmNlcy55YW1sCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0RhdGVNYXRoLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRGF0
ZU1hdGguY3BwCmluZGV4IDY3NTgyNTE3ZjYyYTU5YmFlMDg0OTVkZjM0ZTZlOWRlNTBhYTE4MjYu
LmUzYzhmYzBiM2IxZmI0ZjEwNDIxN2I3OThkN2I4MmRiNDE5MjI5NTEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRGF0ZU1hdGguY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRGF0ZU1hdGguY3BwCkBAIC05OSw5ICs5OSw5IEBAIHZv
aWQgT3BhcXVlSUNVVGltZVpvbmVEZWxldGVyOjpvcGVyYXRvcigpKE9wYXF1ZUlDVVRpbWVab25l
KiB0aW1lWm9uZSkKIC8vIE5PVEU6IFRoZSBpbXBsZW1lbnRhdGlvbiByZWxpZXMgb24gdGhlIGZh
Y3QgdGhhdCBubyB0aW1lIHpvbmVzIGhhdmUKIC8vIG1vcmUgdGhhbiBvbmUgZGF5bGlnaHQgc2F2
aW5ncyBvZmZzZXQgY2hhbmdlIHBlciBtb250aC4KIC8vIElmIHRoaXMgZnVuY3Rpb24gaXMgY2Fs
bGVkIHdpdGggTmFOIGl0IHJldHVybnMgTmFOLgotc3RhdGljIExvY2FsVGltZU9mZnNldCBsb2Nh
bFRpbWVPZmZzZXQoRGF0ZUNhY2hlJiBkYXRlQ2FjaGUsIGRvdWJsZSBtaWxsaXNlY29uZHNGcm9t
RXBvY2gsIFdURjo6VGltZVR5cGUgaW5wdXRUaW1lVHlwZSA9IFdURjo6VVRDVGltZSkKK0xvY2Fs
VGltZU9mZnNldCBEYXRlQ2FjaGU6OmNhbGN1bGF0ZUxvY2FsVGltZU9mZnNldChkb3VibGUgbWls
bGlzZWNvbmRzRnJvbUVwb2NoLCBXVEY6OlRpbWVUeXBlIGlucHV0VGltZVR5cGUpCiB7Ci0gICAg
YXV0byYgdGltZVpvbmVDYWNoZSA9ICpiaXR3aXNlX2Nhc3Q8aWN1OjpUaW1lWm9uZSo+KGRhdGVD
YWNoZS50aW1lWm9uZUNhY2hlKCkpOworICAgIGF1dG8mIHRpbWVab25lQ2FjaGUgPSAqYml0d2lz
ZV9jYXN0PGljdTo6VGltZVpvbmUqPih0aGlzLT50aW1lWm9uZUNhY2hlKCkpOwogICAgIGludDMy
X3QgcmF3T2Zmc2V0ID0gMDsKICAgICBpbnQzMl90IGRzdE9mZnNldCA9IDA7CiAgICAgVUVycm9y
Q29kZSBzdGF0dXMgPSBVX1pFUk9fRVJST1I7CkBAIC0xMjAsNiArMTIwLDEwNyBAQCBzdGF0aWMg
TG9jYWxUaW1lT2Zmc2V0IGxvY2FsVGltZU9mZnNldChEYXRlQ2FjaGUmIGRhdGVDYWNoZSwgZG91
YmxlIG1pbGxpc2Vjb25kcwogICAgIHJldHVybiB7ICEhZHN0T2Zmc2V0LCByYXdPZmZzZXQgKyBk
c3RPZmZzZXQgfTsKIH0KIAorTG9jYWxUaW1lT2Zmc2V0IERhdGVDYWNoZTo6bG9jYWxUaW1lT2Zm
c2V0KGRvdWJsZSBtaWxsaXNlY29uZHNGcm9tRXBvY2gsIFdURjo6VGltZVR5cGUgaW5wdXRUaW1l
VHlwZSkKK3sKKyAgICBMb2NhbFRpbWVPZmZzZXRDYWNoZSYgY2FjaGUgPSBpbnB1dFRpbWVUeXBl
ID09IFdURjo6TG9jYWxUaW1lID8gbV9sb2NhbFRpbWVPZmZzZXRDYWNoZSA6IG1fdXRjVGltZU9m
ZnNldENhY2hlOworCisgICAgZG91YmxlIHN0YXJ0ID0gY2FjaGUuc3RhcnQ7CisgICAgZG91Ymxl
IGVuZCA9IGNhY2hlLmVuZDsKKworICAgIGF1dG8gcmVzZXRDYWNoZSA9IFsmXSgpIHsKKyAgICAg
ICAgLy8gQ29tcHV0ZSB0aGUgRFNUIG9mZnNldCBmb3IgdGhlIHRpbWUgYW5kIHNocmluayB0aGUg
Y2FjaGUgaW50ZXJ2YWwKKyAgICAgICAgLy8gdG8gb25seSBjb250YWluIHRoZSB0aW1lLiBUaGlz
IGFsbG93cyBmYXN0IHJlcGVhdGVkIERTVCBvZmZzZXQKKyAgICAgICAgLy8gY29tcHV0YXRpb25z
IGZvciB0aGUgc2FtZSB0aW1lLgorICAgICAgICBMb2NhbFRpbWVPZmZzZXQgb2Zmc2V0ID0gY2Fs
Y3VsYXRlTG9jYWxUaW1lT2Zmc2V0KG1pbGxpc2Vjb25kc0Zyb21FcG9jaCwgaW5wdXRUaW1lVHlw
ZSk7CisgICAgICAgIGNhY2hlLm9mZnNldCA9IG9mZnNldDsKKyAgICAgICAgY2FjaGUuc3RhcnQg
PSBtaWxsaXNlY29uZHNGcm9tRXBvY2g7CisgICAgICAgIGNhY2hlLmVuZCA9IG1pbGxpc2Vjb25k
c0Zyb21FcG9jaDsKKyAgICAgICAgY2FjaGUuaW5jcmVtZW50U3RhcnQgPSBXVEY6Om1zUGVyTW9u
dGg7CisgICAgICAgIGNhY2hlLmluY3JlbWVudEVuZCA9IFdURjo6bXNQZXJNb250aDsKKyAgICAg
ICAgcmV0dXJuIG9mZnNldDsKKyAgICB9OworCisgICAgLy8gSWYgdGhlIHRpbWUgZml0cyBpbiB0
aGUgY2FjaGVkIGludGVydmFsLCByZXR1cm4gdGhlIGNhY2hlZCBvZmZzZXQuCisgICAgaWYgKHN0
YXJ0IDw9IG1pbGxpc2Vjb25kc0Zyb21FcG9jaCAmJiBtaWxsaXNlY29uZHNGcm9tRXBvY2ggPD0g
ZW5kKQorICAgICAgICByZXR1cm4gY2FjaGUub2Zmc2V0OworCisgICAgaWYgKHN0YXJ0IDw9IG1p
bGxpc2Vjb25kc0Zyb21FcG9jaCkgeworICAgICAgICAvLyBDb21wdXRlIGEgcG9zc2libGUgbmV3
IGludGVydmFsIGVuZC4KKyAgICAgICAgZG91YmxlIG5ld0VuZCA9IGVuZCArIGNhY2hlLmluY3Jl
bWVudEVuZDsKKworICAgICAgICBpZiAobWlsbGlzZWNvbmRzRnJvbUVwb2NoIDw9IG5ld0VuZCkg
eworICAgICAgICAgICAgTG9jYWxUaW1lT2Zmc2V0IGVuZE9mZnNldCA9IGNhbGN1bGF0ZUxvY2Fs
VGltZU9mZnNldChuZXdFbmQsIGlucHV0VGltZVR5cGUpOworICAgICAgICAgICAgaWYgKGNhY2hl
Lm9mZnNldCA9PSBlbmRPZmZzZXQpIHsKKyAgICAgICAgICAgICAgICAvLyBJZiB0aGUgb2Zmc2V0
IGF0IHRoZSBlbmQgb2YgdGhlIG5ldyBpbnRlcnZhbCBzdGlsbCBtYXRjaGVzCisgICAgICAgICAg
ICAgICAgLy8gdGhlIG9mZnNldCBpbiB0aGUgY2FjaGUsIHdlIGdyb3cgdGhlIGNhY2hlZCB0aW1l
IGludGVydmFsCisgICAgICAgICAgICAgICAgLy8gYW5kIHJldHVybiB0aGUgb2Zmc2V0LgorICAg
ICAgICAgICAgICAgIGNhY2hlLmVuZCA9IG5ld0VuZDsKKyAgICAgICAgICAgICAgICBjYWNoZS5p
bmNyZW1lbnRTdGFydCA9IFdURjo6bXNQZXJNb250aDsKKyAgICAgICAgICAgICAgICBjYWNoZS5p
bmNyZW1lbnRFbmQgPSBXVEY6Om1zUGVyTW9udGg7CisgICAgICAgICAgICAgICAgcmV0dXJuIGVu
ZE9mZnNldDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIExvY2FsVGltZU9mZnNldCBvZmZz
ZXQgPSBjYWxjdWxhdGVMb2NhbFRpbWVPZmZzZXQobWlsbGlzZWNvbmRzRnJvbUVwb2NoLCBpbnB1
dFRpbWVUeXBlKTsKKyAgICAgICAgICAgIGlmIChvZmZzZXQgPT0gZW5kT2Zmc2V0KSB7CisgICAg
ICAgICAgICAgICAgLy8gVGhlIG9mZnNldCBhdCB0aGUgZ2l2ZW4gdGltZSBpcyBlcXVhbCB0byB0
aGUgb2Zmc2V0IGF0IHRoZQorICAgICAgICAgICAgICAgIC8vIG5ldyBlbmQgb2YgdGhlIGludGVy
dmFsLCBzbyB0aGF0IG1lYW5zIHRoYXQgd2UndmUganVzdCBza2lwcGVkCisgICAgICAgICAgICAg
ICAgLy8gdGhlIHBvaW50IGluIHRpbWUgd2hlcmUgdGhlIERTVCBvZmZzZXQgY2hhbmdlIG9jY3Vy
cmVkLiBVcGRhdGVkCisgICAgICAgICAgICAgICAgLy8gdGhlIGludGVydmFsIHRvIHJlZmxlY3Qg
dGhpcyBhbmQgcmVzZXQgdGhlIGluY3JlbWVudC4KKyAgICAgICAgICAgICAgICBjYWNoZS5zdGFy
dCA9IG1pbGxpc2Vjb25kc0Zyb21FcG9jaDsKKyAgICAgICAgICAgICAgICBjYWNoZS5lbmQgPSBu
ZXdFbmQ7CisgICAgICAgICAgICAgICAgY2FjaGUuaW5jcmVtZW50U3RhcnQgPSBXVEY6Om1zUGVy
TW9udGg7CisgICAgICAgICAgICAgICAgY2FjaGUuaW5jcmVtZW50RW5kID0gV1RGOjptc1Blck1v
bnRoOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAvLyBUaGUgaW50ZXJ2
YWwgY29udGFpbnMgYSBEU1Qgb2Zmc2V0IGNoYW5nZSBhbmQgdGhlIGdpdmVuIHRpbWUgaXMKKyAg
ICAgICAgICAgICAgICAvLyBiZWZvcmUgaXQuIEFkanVzdCB0aGUgaW5jcmVtZW50IHRvIGF2b2lk
IGEgbGluZWFyIHNlYXJjaCBmb3IKKyAgICAgICAgICAgICAgICAvLyB0aGUgb2Zmc2V0IGNoYW5n
ZSBwb2ludCBhbmQgY2hhbmdlIHRoZSBlbmQgb2YgdGhlIGludGVydmFsLgorICAgICAgICAgICAg
ICAgIGNhY2hlLmluY3JlbWVudEVuZCAvPSAzOworICAgICAgICAgICAgICAgIGNhY2hlLmVuZCA9
IG1pbGxpc2Vjb25kc0Zyb21FcG9jaDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIC8vIFVw
ZGF0ZSB0aGUgb2Zmc2V0IGluIHRoZSBjYWNoZSBhbmQgcmV0dXJuIGl0LgorICAgICAgICAgICAg
Y2FjaGUub2Zmc2V0ID0gb2Zmc2V0OworICAgICAgICAgICAgcmV0dXJuIG9mZnNldDsKKyAgICAg
ICAgfQorCisgICAgICAgIHJldHVybiByZXNldENhY2hlKCk7CisgICAgfQorCisgICAgLy8gQ29t
cHV0ZSBhIHBvc3NpYmxlIG5ldyBpbnRlcnZhbCBzdGFydC4KKyAgICBkb3VibGUgbmV3U3RhcnQg
PSBzdGFydCAtIGNhY2hlLmluY3JlbWVudFN0YXJ0OworICAgIGlmIChuZXdTdGFydCA8PSBtaWxs
aXNlY29uZHNGcm9tRXBvY2gpIHsKKyAgICAgICAgTG9jYWxUaW1lT2Zmc2V0IHN0YXJ0T2Zmc2V0
ID0gY2FsY3VsYXRlTG9jYWxUaW1lT2Zmc2V0KG5ld1N0YXJ0LCBpbnB1dFRpbWVUeXBlKTsKKyAg
ICAgICAgaWYgKGNhY2hlLm9mZnNldCA9PSBzdGFydE9mZnNldCkgeworICAgICAgICAgICAgLy8g
SWYgdGhlIG9mZnNldCBhdCB0aGUgc3RhcnQgb2YgdGhlIG5ldyBpbnRlcnZhbCBzdGlsbCBtYXRj
aGVzCisgICAgICAgICAgICAvLyB0aGUgb2Zmc2V0IGluIHRoZSBjYWNoZSwgd2UgZ3JvdyB0aGUg
Y2FjaGVkIHRpbWUgaW50ZXJ2YWwKKyAgICAgICAgICAgIC8vIGFuZCByZXR1cm4gdGhlIG9mZnNl
dC4KKyAgICAgICAgICAgIGNhY2hlLnN0YXJ0ID0gbmV3U3RhcnQ7CisgICAgICAgICAgICBjYWNo
ZS5pbmNyZW1lbnRTdGFydCA9IFdURjo6bXNQZXJNb250aDsKKyAgICAgICAgICAgIGNhY2hlLmlu
Y3JlbWVudEVuZCA9IFdURjo6bXNQZXJNb250aDsKKyAgICAgICAgICAgIHJldHVybiBzdGFydE9m
ZnNldDsKKyAgICAgICAgfQorICAgICAgICBMb2NhbFRpbWVPZmZzZXQgb2Zmc2V0ID0gY2FsY3Vs
YXRlTG9jYWxUaW1lT2Zmc2V0KG1pbGxpc2Vjb25kc0Zyb21FcG9jaCwgaW5wdXRUaW1lVHlwZSk7
CisgICAgICAgIGlmIChvZmZzZXQgPT0gc3RhcnRPZmZzZXQpIHsKKyAgICAgICAgICAgIC8vIFRo
ZSBvZmZzZXQgYXQgdGhlIGdpdmVuIHRpbWUgaXMgZXF1YWwgdG8gdGhlIG9mZnNldCBhdCB0aGUK
KyAgICAgICAgICAgIC8vIG5ldyBzdGFydCBvZiB0aGUgaW50ZXJ2YWwsIHNvIHRoYXQgbWVhbnMg
dGhhdCB3ZSd2ZSBqdXN0IHNraXBwZWQKKyAgICAgICAgICAgIC8vIHRoZSBwb2ludCBpbiB0aW1l
IHdoZXJlIHRoZSBEU1Qgb2Zmc2V0IGNoYW5nZSBvY2N1cnJlZC4gVXBkYXRlZAorICAgICAgICAg
ICAgLy8gdGhlIGludGVydmFsIHRvIHJlZmxlY3QgdGhpcyBhbmQgcmVzZXQgdGhlIGluY3JlbWVu
dC4KKyAgICAgICAgICAgIGNhY2hlLnN0YXJ0ID0gbmV3U3RhcnQ7CisgICAgICAgICAgICBjYWNo
ZS5lbmQgPSBtaWxsaXNlY29uZHNGcm9tRXBvY2g7CisgICAgICAgICAgICBjYWNoZS5pbmNyZW1l
bnRTdGFydCA9IFdURjo6bXNQZXJNb250aDsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAg
IC8vIFRoZSBpbnRlcnZhbCBjb250YWlucyBhIERTVCBvZmZzZXQgY2hhbmdlIGFuZCB0aGUgZ2l2
ZW4gdGltZSBpcworICAgICAgICAgICAgLy8gYmVmb3JlIGl0LiBBZGp1c3QgdGhlIGluY3JlbWVu
dCB0byBhdm9pZCBhIGxpbmVhciBzZWFyY2ggZm9yCisgICAgICAgICAgICAvLyB0aGUgb2Zmc2V0
IGNoYW5nZSBwb2ludCBhbmQgY2hhbmdlIHRoZSBlbmQgb2YgdGhlIGludGVydmFsLgorICAgICAg
ICAgICAgY2FjaGUuaW5jcmVtZW50U3RhcnQgLz0gMzsKKyAgICAgICAgICAgIGNhY2hlLnN0YXJ0
ID0gbWlsbGlzZWNvbmRzRnJvbUVwb2NoOworICAgICAgICB9CisgICAgICAgIC8vIFVwZGF0ZSB0
aGUgb2Zmc2V0IGluIHRoZSBjYWNoZSBhbmQgcmV0dXJuIGl0LgorICAgICAgICBjYWNoZS5vZmZz
ZXQgPSBvZmZzZXQ7CisgICAgICAgIHJldHVybiBvZmZzZXQ7CisgICAgfQorCisgICAgcmV0dXJu
IHJlc2V0Q2FjaGUoKTsKK30KKwogc3RhdGljIGlubGluZSBkb3VibGUgdGltZVRvTVMoZG91Ymxl
IGhvdXIsIGRvdWJsZSBtaW4sIGRvdWJsZSBzZWMsIGRvdWJsZSBtcykKIHsKICAgICByZXR1cm4g
KCgoaG91ciAqIFdURjo6bWludXRlc1BlckhvdXIgKyBtaW4pICogV1RGOjpzZWNvbmRzUGVyTWlu
dXRlICsgc2VjKSAqIFdURjo6bXNQZXJTZWNvbmQgKyBtcyk7CkBAIC0xMzEsOCArMjMyLDcgQEAg
ZG91YmxlIERhdGVDYWNoZTo6Z3JlZ29yaWFuRGF0ZVRpbWVUb01TKGNvbnN0IEdyZWdvcmlhbkRh
dGVUaW1lJiB0LCBkb3VibGUgbWlsbGkKICAgICBkb3VibGUgbXMgPSB0aW1lVG9NUyh0LmhvdXIo
KSwgdC5taW51dGUoKSwgdC5zZWNvbmQoKSwgbWlsbGlzZWNvbmRzKTsKICAgICBkb3VibGUgbG9j
YWxUaW1lUmVzdWx0ID0gKGRheSAqIFdURjo6bXNQZXJEYXkpICsgbXM7CiAKLSAgICBkb3VibGUg
bG9jYWxUb1VUQ1RpbWVPZmZzZXQgPSBpbnB1dFRpbWVUeXBlID09IFdURjo6TG9jYWxUaW1lCi0g
ICAgICAgID8gbG9jYWxUaW1lT2Zmc2V0KCp0aGlzLCBsb2NhbFRpbWVSZXN1bHQsIGlucHV0VGlt
ZVR5cGUpLm9mZnNldCA6IDA7CisgICAgZG91YmxlIGxvY2FsVG9VVENUaW1lT2Zmc2V0ID0gaW5w
dXRUaW1lVHlwZSA9PSBXVEY6OkxvY2FsVGltZSA/IGxvY2FsVGltZU9mZnNldChsb2NhbFRpbWVS
ZXN1bHQsIGlucHV0VGltZVR5cGUpLm9mZnNldCA6IDA7CiAKICAgICByZXR1cm4gbG9jYWxUaW1l
UmVzdWx0IC0gbG9jYWxUb1VUQ1RpbWVPZmZzZXQ7CiB9CkBAIC0xNDIsNyArMjQyLDcgQEAgdm9p
ZCBEYXRlQ2FjaGU6Om1zVG9HcmVnb3JpYW5EYXRlVGltZShkb3VibGUgbWlsbGlzZWNvbmRzRnJv
bUVwb2NoLCBXVEY6OlRpbWVUeXAKIHsKICAgICBMb2NhbFRpbWVPZmZzZXQgbG9jYWxUaW1lOwog
ICAgIGlmIChvdXRwdXRUaW1lVHlwZSA9PSBXVEY6OkxvY2FsVGltZSkgewotICAgICAgICBsb2Nh
bFRpbWUgPSBsb2NhbFRpbWVPZmZzZXQoKnRoaXMsIG1pbGxpc2Vjb25kc0Zyb21FcG9jaCk7Cisg
ICAgICAgIGxvY2FsVGltZSA9IGxvY2FsVGltZU9mZnNldChtaWxsaXNlY29uZHNGcm9tRXBvY2gp
OwogICAgICAgICBtaWxsaXNlY29uZHNGcm9tRXBvY2ggKz0gbG9jYWxUaW1lLm9mZnNldDsKICAg
ICB9CiAgICAgdG0gPSBHcmVnb3JpYW5EYXRlVGltZShtaWxsaXNlY29uZHNGcm9tRXBvY2gsIGxv
Y2FsVGltZSk7CkBAIC0xNzEsNyArMjcxLDcgQEAgZG91YmxlIERhdGVDYWNoZTo6cGFyc2VEYXRl
KEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFZNJiB2bSwgY29uc3QgU3RyaW5nJgogICAg
ICAgICAgICAgdmFsdWUgPSBXVEY6OnBhcnNlRGF0ZUZyb21OdWxsVGVybWluYXRlZENoYXJhY3Rl
cnMoZGF0ZVN0cmluZywgaXNMb2NhbFRpbWUpOwogCiAgICAgICAgIGlmIChpc0xvY2FsVGltZSkK
LSAgICAgICAgICAgIHZhbHVlIC09IGxvY2FsVGltZU9mZnNldCgqdGhpcywgdmFsdWUsIFdURjo6
TG9jYWxUaW1lKS5vZmZzZXQ7CisgICAgICAgICAgICB2YWx1ZSAtPSBsb2NhbFRpbWVPZmZzZXQo
dmFsdWUsIFdURjo6TG9jYWxUaW1lKS5vZmZzZXQ7CiAKICAgICAgICAgcmV0dXJuIHZhbHVlOwog
ICAgIH07CkBAIC0yMjMsNiArMzIzLDggQEAgdm9pZCBEYXRlQ2FjaGU6OnRpbWVab25lQ2FjaGVT
bG93KCkKIHZvaWQgRGF0ZUNhY2hlOjpyZXNldCgpCiB7CiAgICAgbV90aW1lWm9uZUNhY2hlLnJl
c2V0KCk7CisgICAgbV91dGNUaW1lT2Zmc2V0Q2FjaGUgPSBMb2NhbFRpbWVPZmZzZXRDYWNoZSgp
OworICAgIG1fbG9jYWxUaW1lT2Zmc2V0Q2FjaGUgPSBMb2NhbFRpbWVPZmZzZXRDYWNoZSgpOwog
ICAgIG1fY2FjaGVkRGF0ZVN0cmluZyA9IFN0cmluZygpOwogICAgIG1fY2FjaGVkRGF0ZVN0cmlu
Z1ZhbHVlID0gc3RkOjpudW1lcmljX2xpbWl0czxkb3VibGU+OjpxdWlldF9OYU4oKTsKICAgICBt
X2RhdGVJbnN0YW5jZUNhY2hlLnJlc2V0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0RhdGVNYXRoLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0RhdGVNYXRoLmgKaW5kZXggMGM5MmY4OWEwMzRlYzFjOTJiYmJmZGIzYjZmMWI2NmFkZmM0
ODE1ZS4uZTQ5NGU1ZTNiN2FlYWQ0ZmFkMWJkMjI3NTQxZDExZThmNTJiYmQwYSAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNEYXRlTWF0aC5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRGF0ZU1hdGguaApAQCAtNTgsNiArNTgsMTYgQEAg
c3RydWN0IE9wYXF1ZUlDVVRpbWVab25lRGVsZXRlciB7CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUg
dm9pZCBvcGVyYXRvcigpKE9wYXF1ZUlDVVRpbWVab25lKik7CiB9OwogCitzdHJ1Y3QgTG9jYWxU
aW1lT2Zmc2V0Q2FjaGUgeworICAgIExvY2FsVGltZU9mZnNldENhY2hlKCkgPSBkZWZhdWx0Owor
CisgICAgTG9jYWxUaW1lT2Zmc2V0IG9mZnNldDsKKyAgICBkb3VibGUgc3RhcnQgeyAwLjAgfTsK
KyAgICBkb3VibGUgZW5kIHsgLTEuMCB9OworICAgIGRvdWJsZSBpbmNyZW1lbnRTdGFydCB7IDAu
MCB9OworICAgIGRvdWJsZSBpbmNyZW1lbnRFbmQgeyAwLjAgfTsKK307CisKIGNsYXNzIERhdGVD
YWNoZSB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoRGF0ZUNhY2hlKTsKQEAgLTY5LDEzICs3OSw2IEBAIGNsYXNzIERhdGVDYWNoZSB7CiAK
ICAgICBTdHJpbmcgZGVmYXVsdFRpbWVab25lKCk7CiAKLSAgICBPcGFxdWVJQ1VUaW1lWm9uZSog
dGltZVpvbmVDYWNoZSgpCi0gICAgewotICAgICAgICBpZiAoIW1fdGltZVpvbmVDYWNoZSkKLSAg
ICAgICAgICAgIHRpbWVab25lQ2FjaGVTbG93KCk7Ci0gICAgICAgIHJldHVybiBtX3RpbWVab25l
Q2FjaGUuZ2V0KCk7Ci0gICAgfQotCiAgICAgUmVmPERhdGVJbnN0YW5jZURhdGE+IGNhY2hlZERh
dGVJbnN0YW5jZURhdGEoZG91YmxlIG1pbGxpc2Vjb25kc0Zyb21FcG9jaCk7CiAKICAgICB2b2lk
IG1zVG9HcmVnb3JpYW5EYXRlVGltZShkb3VibGUgbWlsbGlzZWNvbmRzRnJvbUVwb2NoLCBXVEY6
OlRpbWVUeXBlIG91dHB1dFRpbWVUeXBlLCBHcmVnb3JpYW5EYXRlVGltZSYpOwpAQCAtODQsOCAr
ODcsMTkgQEAgY2xhc3MgRGF0ZUNhY2hlIHsKIAogcHJpdmF0ZToKICAgICB2b2lkIHRpbWVab25l
Q2FjaGVTbG93KCk7CisgICAgTG9jYWxUaW1lT2Zmc2V0IGxvY2FsVGltZU9mZnNldChkb3VibGUg
bWlsbGlzZWNvbmRzRnJvbUVwb2NoLCBXVEY6OlRpbWVUeXBlIGlucHV0VGltZVR5cGUgPSBXVEY6
OlVUQ1RpbWUpOworICAgIExvY2FsVGltZU9mZnNldCBjYWxjdWxhdGVMb2NhbFRpbWVPZmZzZXQo
ZG91YmxlIG1pbGxpc2Vjb25kc0Zyb21FcG9jaCwgV1RGOjpUaW1lVHlwZSBpbnB1dFRpbWVUeXBl
KTsKKworICAgIE9wYXF1ZUlDVVRpbWVab25lKiB0aW1lWm9uZUNhY2hlKCkKKyAgICB7CisgICAg
ICAgIGlmICghbV90aW1lWm9uZUNhY2hlKQorICAgICAgICAgICAgdGltZVpvbmVDYWNoZVNsb3co
KTsKKyAgICAgICAgcmV0dXJuIG1fdGltZVpvbmVDYWNoZS5nZXQoKTsKKyAgICB9CiAKICAgICBz
dGQ6OnVuaXF1ZV9wdHI8T3BhcXVlSUNVVGltZVpvbmUsIE9wYXF1ZUlDVVRpbWVab25lRGVsZXRl
cj4gbV90aW1lWm9uZUNhY2hlOworICAgIExvY2FsVGltZU9mZnNldENhY2hlIG1fdXRjVGltZU9m
ZnNldENhY2hlOworICAgIExvY2FsVGltZU9mZnNldENhY2hlIG1fbG9jYWxUaW1lT2Zmc2V0Q2Fj
aGU7CiAgICAgU3RyaW5nIG1fY2FjaGVkRGF0ZVN0cmluZzsKICAgICBkb3VibGUgbV9jYWNoZWRE
YXRlU3RyaW5nVmFsdWU7CiAgICAgRGF0ZUluc3RhbmNlQ2FjaGUgbV9kYXRlSW5zdGFuY2VDYWNo
ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5oCmluZGV4IDU1MmQ1ODE5MGU4Yjc0MmJkYWU5
MzliYmJjZGEzZGQwMDZjMmUzZjMuLjcxZmEyYTYwNjkyODZjNjFhMTE1Mjk4NjUyMjg5OTFmMDU3
YzBmYjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uaApAQCAtMjIxLDI4ICsyMjEsNiBA
QCBzdHJ1Y3QgSGFzaFRhYmxlOwogc3RydWN0IEluc3RydWN0aW9uOwogc3RydWN0IFZhbHVlUHJv
ZmlsZTsKIAotc3RydWN0IExvY2FsVGltZU9mZnNldENhY2hlIHsKLSAgICBMb2NhbFRpbWVPZmZz
ZXRDYWNoZSgpCi0gICAgICAgIDogc3RhcnQoMC4wKQotICAgICAgICAsIGVuZCgtMS4wKQotICAg
ICAgICAsIGluY3JlbWVudCgwLjApCi0gICAgewotICAgIH0KLQotICAgIHZvaWQgcmVzZXQoKQot
ICAgIHsKLSAgICAgICAgb2Zmc2V0ID0gTG9jYWxUaW1lT2Zmc2V0KCk7Ci0gICAgICAgIHN0YXJ0
ID0gMC4wOwotICAgICAgICBlbmQgPSAtMS4wOwotICAgICAgICBpbmNyZW1lbnQgPSAwLjA7Ci0g
ICAgfQotCi0gICAgTG9jYWxUaW1lT2Zmc2V0IG9mZnNldDsKLSAgICBkb3VibGUgc3RhcnQ7Ci0g
ICAgZG91YmxlIGVuZDsKLSAgICBkb3VibGUgaW5jcmVtZW50OwotfTsKLQogY2xhc3MgUXVldWVk
VGFzayB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUXVldWVkVGFzayk7CiAgICAgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9EYXRlTWF0aC5o
IGIvU291cmNlL1dURi93dGYvRGF0ZU1hdGguaAppbmRleCAyNDZiYTY3Yzc2NGI2MjkwNDJhNzky
N2QyNGZlODliMDQ5ZDgyYTBiLi4xYWMyOTYxN2EwMTExZTM3YzAyMzk1MjRhZDg4NjA3MzRkZDM5
MWZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9EYXRlTWF0aC5oCisrKyBiL1NvdXJjZS9X
VEYvd3RmL0RhdGVNYXRoLmgKQEAgLTU5LDEyICs1OSw3IEBAIGVudW0gVGltZVR5cGUgewogc3Ry
dWN0IExvY2FsVGltZU9mZnNldCB7CiAgICAgV1RGX01BS0VfU1RSVUNUX0ZBU1RfQUxMT0NBVEVE
OwogCi0gICAgTG9jYWxUaW1lT2Zmc2V0KCkKLSAgICAgICAgOiBpc0RTVChmYWxzZSkKLSAgICAg
ICAgLCBvZmZzZXQoMCkKLSAgICB7Ci0gICAgfQotCisgICAgTG9jYWxUaW1lT2Zmc2V0KCkgPSBk
ZWZhdWx0OwogICAgIExvY2FsVGltZU9mZnNldChib29sIGlzRFNULCBpbnQgb2Zmc2V0KQogICAg
ICAgICA6IGlzRFNUKGlzRFNUKQogICAgICAgICAsIG9mZnNldChvZmZzZXQpCkBAIC04MSw4ICs3
Niw4IEBAIHN0cnVjdCBMb2NhbFRpbWVPZmZzZXQgewogICAgICAgICByZXR1cm4gaXNEU1QgIT0g
b3RoZXIuaXNEU1QgfHwgb2Zmc2V0ICE9IG90aGVyLm9mZnNldDsKICAgICB9CiAKLSAgICBib29s
IGlzRFNUOwotICAgIGludCBvZmZzZXQ7CisgICAgYm9vbCBpc0RTVCB7IGZhbHNlIH07CisgICAg
aW50IG9mZnNldCB7IDAgfTsKIH07CiAKIHZvaWQgaW5pdGlhbGl6ZURhdGVzKCk7CmRpZmYgLS1n
aXQgYS9KU1Rlc3RzL0NoYW5nZUxvZyBiL0pTVGVzdHMvQ2hhbmdlTG9nCmluZGV4IGI2NjlhNGU2
NWU0NGFmOWZmM2M5M2JjNWJhZTE0ODA4Y2M3ZjdhYTYuLmU3NTYxOGRhZjg0OWMyNTQ1ZWY1NDJj
OTEyNTQ0MTI4M2E2MzEwNzEgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvQ2hhbmdlTG9nCisrKyBiL0pT
VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjAtMTEtMDcgIFl1c3VrZSBTdXp1
a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KKworICAgICAgICBbSlNDXSBBZGQgVGltZVpvbmUgcmFu
Z2UgY2FjaGUgb3ZlciBJQ1UgVGltZVpvbmUgQVBJCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTg2ODEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIGNvbXBsZXgueWFtbDoKKyAgICAgICAgKiBjb21wbGV4
L3RpbWV6b25lLXJhbmdlLWNhY2hlLXdpdGgtZHN0LmpzOiBBZGRlZC4KKyAgICAgICAgKHNob3Vs
ZEJlKToKKyAgICAgICAgKHRocm93Lm5ldy5FcnJvcik6CisKIDIwMjAtMTEtMDYgIERtaXRyeSBC
ZXpoZXRza292ICA8ZGJlemhldHNrb3ZAaWdhbGlhLmNvbT4KIAogICAgICAgICBbV0FTTS1SZWZl
cmVuY2VzXSBSZW5hbWUgYW55cmVmIHRvIGV4dGVybnJlZgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9j
b21wbGV4LnlhbWwgYi9KU1Rlc3RzL2NvbXBsZXgueWFtbAppbmRleCA0ZTFjZmEzZjE3ZDM4MDA1
NTJiNTgwMDFkYjExOTM0YzNiMWIyZDViLi42YTE5YTU2MzZhOGUwZmE5N2E0MjhkMmI5MmU0MWMy
YTQzODBkYWFjIDEwMDY0NAotLS0gYS9KU1Rlc3RzL2NvbXBsZXgueWFtbAorKysgYi9KU1Rlc3Rz
L2NvbXBsZXgueWFtbApAQCAtMzcsMyArMzcsNiBAQAogCiAtIHBhdGg6IGNvbXBsZXgvdGltZXpv
bmUtb2Zmc2V0LWFuZC1kc3QtaW4td2Fyc2F3LmpzCiAgIGNtZDogcnVuQ29tcGxleFRlc3QgW10s
IFtdLCAiVFo9RXVyb3BlL1dhcnNhdyIsICItLXVzZURvbGxhclZNPTEiCisKKy0gcGF0aDogY29t
cGxleC90aW1lem9uZS1yYW5nZS1jYWNoZS13aXRoLWRzdC5qcworICBjbWQ6IHJ1bkNvbXBsZXhU
ZXN0IFtdLCBbXSwgIlRaPUFtZXJpY2EvTG9zX0FuZ2VsZXMiLCAiLS11c2VEb2xsYXJWTT0xIgpk
aWZmIC0tZ2l0IGEvSlNUZXN0cy9jb21wbGV4L3RpbWV6b25lLXJhbmdlLWNhY2hlLXdpdGgtZHN0
LmpzIGIvSlNUZXN0cy9jb21wbGV4L3RpbWV6b25lLXJhbmdlLWNhY2hlLXdpdGgtZHN0LmpzCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmY0MWZhYjVhOWEyOTZhMzI1NTgyYzNjYTQ2N2YxMWUzMmVhYjExMzcKLS0tIC9k
ZXYvbnVsbAorKysgYi9KU1Rlc3RzL2NvbXBsZXgvdGltZXpvbmUtcmFuZ2UtY2FjaGUtd2l0aC1k
c3QuanMKQEAgLTAsMCArMSwyNyBAQAorZnVuY3Rpb24gc2hvdWxkQmUoYWN0dWFsLCBleHBlY3Rl
ZCkgeworICAgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKQorICAgICAgICB0aHJvdyBuZXcgRXJy
b3IoJ2JhZCB2YWx1ZTogJyArIGFjdHVhbCk7Cit9CisKK3sKKyAgICBsZXQgZGF0ZTEgPSBuZXcg
RGF0ZSgyMDIwLCAxLCA4LCAwKTsKKyAgICBzaG91bGRCZShkYXRlMS5nZXRUaW1lKCksIDE1ODEx
NDg4MDAwMDApOworICAgIGxldCBkYXRlMiA9IG5ldyBEYXRlKDIwMjAsIDIsIDIsIDApOworICAg
IHNob3VsZEJlKGRhdGUyLmdldFRpbWUoKSwgMTU4MzEzNjAwMDAwMCk7CisgICAgbGV0IGRhdGUz
ID0gbmV3IERhdGUoMjAyMCwgMiwgOCwgMyk7CisgICAgc2hvdWxkQmUoZGF0ZTMuZ2V0VGltZSgp
LCAxNTgzNjYxNjAwMDAwKTsKKyAgICBsZXQgZGF0ZTQgPSBuZXcgRGF0ZSgyMDIwLCAzLCA5LCAz
KTsKKyAgICBzaG91bGRCZShkYXRlNC5nZXRUaW1lKCksIDE1ODY0MjY0MDAwMDApOworfQorewor
ICAgIGxldCBkYXRlMSA9IG5ldyBEYXRlKDIwMjAsIDExLCAxLCAwKTsKKyAgICBzaG91bGRCZShk
YXRlMS5nZXRUaW1lKCksIDE2MDY4MDk2MDAwMDApOworICAgIGxldCBkYXRlMiA9IG5ldyBEYXRl
KDIwMjAsIDEwLCAzLCAwKTsKKyAgICBzaG91bGRCZShkYXRlMi5nZXRUaW1lKCksIDE2MDQzOTA0
MDAwMDApOworICAgIGxldCBkYXRlMyA9IG5ldyBEYXRlKDIwMjAsIDEwLCAxLCAwKTsKKyAgICBz
aG91bGRCZShkYXRlMy5nZXRUaW1lKCksIDE2MDQyMTQwMDAwMDApOworICAgIGxldCBkYXRlNCA9
IG5ldyBEYXRlKDIwMjAsIDksIDEwLCAwKTsKKyAgICBzaG91bGRCZShkYXRlNC5nZXRUaW1lKCks
IDE2MDIzMTMyMDAwMDApOworICAgIGxldCBkYXRlNSA9IG5ldyBEYXRlKDIwMjAsIDYsIDEwLCAw
KTsKKyAgICBzaG91bGRCZShkYXRlNS5nZXRUaW1lKCksIDE1OTQzNjQ0MDAwMDApOworfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>413540</attachid>
            <date>2020-11-07 20:42:01 -0800</date>
            <delta_ts>2020-11-08 21:16:52 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218681-20201107204200.patch</filename>
            <type>text/plain</type>
            <size>16178</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY5NTU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA2
OTg4ZjgyOWQzYzRkODU0N2YyZWYzM2EyNDEyZWQ4YWY5MTk4NzY4Li43MzIxMTY1YmY0Nzc4NzI2
NDE2ZWY1NzY0ZjEzODBkOTZhZjk3YjEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzMCBAQAorMjAyMC0xMS0wNyAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIEFkZCBUaW1lWm9uZSByYW5nZSBjYWNoZSBvdmVyIElDVSBUaW1l
Wm9uZSBBUEkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIxODY4MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IGljdTo6VGltZVpvbmUgaXMgbW9yZSBhY2N1cmF0ZSBhbmQgZmFzdGVyIHRoYW4gbG9jYWx0aW1l
X3IuIEJ1dCBzdGlsbCwgaXQgaXMgc2xvd2VyIHRoYW4gcmV0dXJuaW5nIGNhY2hlZCBkYXRhIQor
ICAgICAgICBXZSBzYXcgMTAlIHJlZ3Jlc3Npb24gaW4gSmV0U3RyZWFtMi9kYXRlLWZvcm1hdC14
cGFyYi1TUCB3aXRoIGljdTo6VGltZVpvbmUgc3dpdGNoaW5nLgorICAgICAgICBJbiB0aGlzIHBh
dGNoLCB3ZSBwdXQgb25lLWRlcHRoIHRpbWV6b25lIGNhY2hlIGJhY2sgb3ZlciBpY3U6OlRpbWVa
b25lIEFQSSwgYW5kIHJlY292ZXIgdGhlIHBlcmZvcm1hbmNlLgorICAgICAgICBJbiBhZGRpdGlv
biwgbmV3IHZlcnNpb24gb2YgdGltZXpvbmUgY2FjaGUgaW5jbHVkZXMgInN0YXJ0IiBzaWRlIGV4
dGVuc2lvbiAod2hpbGUgb2xkIG9uZSBvbmx5IGV4dGVuZHMgImVuZCIgb2YgdGhlIHJhbmdlKS4K
KyAgICAgICAgVGhlIHRlc3QgY292ZXJzIGFsbCBjYXNlcyBpbiB0aGUgYWRkZWQgY2FjaGUuCisK
KyAgICAgICAgKiBydW50aW1lL0pTRGF0ZU1hdGguY3BwOgorICAgICAgICAoSlNDOjpEYXRlQ2Fj
aGU6OmNhbGN1bGF0ZUxvY2FsVGltZU9mZnNldCk6CisgICAgICAgIChKU0M6OkRhdGVDYWNoZTo6
bG9jYWxUaW1lT2Zmc2V0KToKKyAgICAgICAgKEpTQzo6RGF0ZUNhY2hlOjpncmVnb3JpYW5EYXRl
VGltZVRvTVMpOgorICAgICAgICAoSlNDOjpEYXRlQ2FjaGU6Om1zVG9HcmVnb3JpYW5EYXRlVGlt
ZSk6CisgICAgICAgIChKU0M6OkRhdGVDYWNoZTo6cGFyc2VEYXRlKToKKyAgICAgICAgKEpTQzo6
RGF0ZUNhY2hlOjpyZXNldCk6CisgICAgICAgIChKU0M6OmxvY2FsVGltZU9mZnNldCk6IERlbGV0
ZWQuCisgICAgICAgICogcnVudGltZS9KU0RhdGVNYXRoLmg6CisgICAgICAgIChKU0M6OkRhdGVD
YWNoZTo6dGltZVpvbmVDYWNoZSk6CisgICAgICAgICogcnVudGltZS9WTS5oOgorICAgICAgICAo
SlNDOjpMb2NhbFRpbWVPZmZzZXRDYWNoZTo6TG9jYWxUaW1lT2Zmc2V0Q2FjaGUpOiBEZWxldGVk
LgorICAgICAgICAoSlNDOjpMb2NhbFRpbWVPZmZzZXRDYWNoZTo6cmVzZXQpOiBEZWxldGVkLgor
CiAyMDIwLTExLTA2ICBEbWl0cnkgQmV6aGV0c2tvdiAgPGRiZXpoZXRza292QGlnYWxpYS5jb20+
CiAKICAgICAgICAgW1dBU00tUmVmZXJlbmNlc10gUmVuYW1lIGFueXJlZiB0byBleHRlcm5yZWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cK
aW5kZXggNzBjN2Q2MDE0MDI2NDFhMDgxOTBlNzM3YWIxYTBlZGU1MDg3NmY1Mi4uZGI1OGM5ZWZl
ZjQ5NTdkZDQ5YTNiZGRjZTgyYzhiMDUwZjc3NjQ5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAy
MC0xMS0wNyAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgorCisgICAgICAgIFtK
U0NdIEFkZCBUaW1lWm9uZSByYW5nZSBjYWNoZSBvdmVyIElDVSBUaW1lWm9uZSBBUEkKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxODY4MQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd3RmL0RhdGVNYXRo
Lmg6CisKIDIwMjAtMTEtMDYgIFNhbSBXZWluaWcgIDx3ZWluaWdAYXBwbGUuY29tPgogCiAgICAg
ICAgIEZ1cnRoZXIgcHJvZ3Jlc3MgdG93YXJkcyBtZXJnaW5nIFNldHRpbmdzLnlhbWwgaW50byBX
ZWJQcmVmZXJlbmNlcy55YW1sCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0RhdGVNYXRoLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRGF0
ZU1hdGguY3BwCmluZGV4IDY3NTgyNTE3ZjYyYTU5YmFlMDg0OTVkZjM0ZTZlOWRlNTBhYTE4MjYu
LjUzNzNkMmE0MTRmNDgwNDMzOTBjYjE1Mzg3YzIyZGI5MGRlMTY0NzYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRGF0ZU1hdGguY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRGF0ZU1hdGguY3BwCkBAIC05OSw5ICs5OSw5IEBAIHZv
aWQgT3BhcXVlSUNVVGltZVpvbmVEZWxldGVyOjpvcGVyYXRvcigpKE9wYXF1ZUlDVVRpbWVab25l
KiB0aW1lWm9uZSkKIC8vIE5PVEU6IFRoZSBpbXBsZW1lbnRhdGlvbiByZWxpZXMgb24gdGhlIGZh
Y3QgdGhhdCBubyB0aW1lIHpvbmVzIGhhdmUKIC8vIG1vcmUgdGhhbiBvbmUgZGF5bGlnaHQgc2F2
aW5ncyBvZmZzZXQgY2hhbmdlIHBlciBtb250aC4KIC8vIElmIHRoaXMgZnVuY3Rpb24gaXMgY2Fs
bGVkIHdpdGggTmFOIGl0IHJldHVybnMgTmFOLgotc3RhdGljIExvY2FsVGltZU9mZnNldCBsb2Nh
bFRpbWVPZmZzZXQoRGF0ZUNhY2hlJiBkYXRlQ2FjaGUsIGRvdWJsZSBtaWxsaXNlY29uZHNGcm9t
RXBvY2gsIFdURjo6VGltZVR5cGUgaW5wdXRUaW1lVHlwZSA9IFdURjo6VVRDVGltZSkKK0xvY2Fs
VGltZU9mZnNldCBEYXRlQ2FjaGU6OmNhbGN1bGF0ZUxvY2FsVGltZU9mZnNldChkb3VibGUgbWls
bGlzZWNvbmRzRnJvbUVwb2NoLCBXVEY6OlRpbWVUeXBlIGlucHV0VGltZVR5cGUpCiB7Ci0gICAg
YXV0byYgdGltZVpvbmVDYWNoZSA9ICpiaXR3aXNlX2Nhc3Q8aWN1OjpUaW1lWm9uZSo+KGRhdGVD
YWNoZS50aW1lWm9uZUNhY2hlKCkpOworICAgIGF1dG8mIHRpbWVab25lQ2FjaGUgPSAqYml0d2lz
ZV9jYXN0PGljdTo6VGltZVpvbmUqPih0aGlzLT50aW1lWm9uZUNhY2hlKCkpOwogICAgIGludDMy
X3QgcmF3T2Zmc2V0ID0gMDsKICAgICBpbnQzMl90IGRzdE9mZnNldCA9IDA7CiAgICAgVUVycm9y
Q29kZSBzdGF0dXMgPSBVX1pFUk9fRVJST1I7CkBAIC0xMjAsNiArMTIwLDEwOCBAQCBzdGF0aWMg
TG9jYWxUaW1lT2Zmc2V0IGxvY2FsVGltZU9mZnNldChEYXRlQ2FjaGUmIGRhdGVDYWNoZSwgZG91
YmxlIG1pbGxpc2Vjb25kcwogICAgIHJldHVybiB7ICEhZHN0T2Zmc2V0LCByYXdPZmZzZXQgKyBk
c3RPZmZzZXQgfTsKIH0KIAorTG9jYWxUaW1lT2Zmc2V0IERhdGVDYWNoZTo6bG9jYWxUaW1lT2Zm
c2V0KGRvdWJsZSBtaWxsaXNlY29uZHNGcm9tRXBvY2gsIFdURjo6VGltZVR5cGUgaW5wdXRUaW1l
VHlwZSkKK3sKKyAgICBMb2NhbFRpbWVPZmZzZXRDYWNoZSYgY2FjaGUgPSBpbnB1dFRpbWVUeXBl
ID09IFdURjo6TG9jYWxUaW1lID8gbV9sb2NhbFRpbWVPZmZzZXRDYWNoZSA6IG1fdXRjVGltZU9m
ZnNldENhY2hlOworCisgICAgZG91YmxlIHN0YXJ0ID0gY2FjaGUuc3RhcnQ7CisgICAgZG91Ymxl
IGVuZCA9IGNhY2hlLmVuZDsKKworICAgIGF1dG8gcmVzZXRDYWNoZSA9IFsmXSgpIHsKKyAgICAg
ICAgLy8gQ29tcHV0ZSB0aGUgRFNUIG9mZnNldCBmb3IgdGhlIHRpbWUgYW5kIHNocmluayB0aGUg
Y2FjaGUgaW50ZXJ2YWwKKyAgICAgICAgLy8gdG8gb25seSBjb250YWluIHRoZSB0aW1lLiBUaGlz
IGFsbG93cyBmYXN0IHJlcGVhdGVkIERTVCBvZmZzZXQKKyAgICAgICAgLy8gY29tcHV0YXRpb25z
IGZvciB0aGUgc2FtZSB0aW1lLgorICAgICAgICBMb2NhbFRpbWVPZmZzZXQgb2Zmc2V0ID0gY2Fs
Y3VsYXRlTG9jYWxUaW1lT2Zmc2V0KG1pbGxpc2Vjb25kc0Zyb21FcG9jaCwgaW5wdXRUaW1lVHlw
ZSk7CisgICAgICAgIGNhY2hlLm9mZnNldCA9IG9mZnNldDsKKyAgICAgICAgY2FjaGUuc3RhcnQg
PSBtaWxsaXNlY29uZHNGcm9tRXBvY2g7CisgICAgICAgIGNhY2hlLmVuZCA9IG1pbGxpc2Vjb25k
c0Zyb21FcG9jaDsKKyAgICAgICAgY2FjaGUuaW5jcmVtZW50U3RhcnQgPSBXVEY6Om1zUGVyTW9u
dGg7CisgICAgICAgIGNhY2hlLmluY3JlbWVudEVuZCA9IFdURjo6bXNQZXJNb250aDsKKyAgICAg
ICAgcmV0dXJuIG9mZnNldDsKKyAgICB9OworCisgICAgLy8gSWYgdGhlIHRpbWUgZml0cyBpbiB0
aGUgY2FjaGVkIGludGVydmFsLCByZXR1cm4gdGhlIGNhY2hlZCBvZmZzZXQuCisgICAgaWYgKHN0
YXJ0IDw9IG1pbGxpc2Vjb25kc0Zyb21FcG9jaCAmJiBtaWxsaXNlY29uZHNGcm9tRXBvY2ggPD0g
ZW5kKQorICAgICAgICByZXR1cm4gY2FjaGUub2Zmc2V0OworCisgICAgaWYgKHN0YXJ0IDw9IG1p
bGxpc2Vjb25kc0Zyb21FcG9jaCkgeworICAgICAgICAvLyBDb21wdXRlIGEgcG9zc2libGUgbmV3
IGludGVydmFsIGVuZC4KKyAgICAgICAgZG91YmxlIG5ld0VuZCA9IGVuZCArIGNhY2hlLmluY3Jl
bWVudEVuZDsKKworICAgICAgICBpZiAobWlsbGlzZWNvbmRzRnJvbUVwb2NoIDw9IG5ld0VuZCkg
eworICAgICAgICAgICAgTG9jYWxUaW1lT2Zmc2V0IGVuZE9mZnNldCA9IGNhbGN1bGF0ZUxvY2Fs
VGltZU9mZnNldChuZXdFbmQsIGlucHV0VGltZVR5cGUpOworICAgICAgICAgICAgaWYgKGNhY2hl
Lm9mZnNldCA9PSBlbmRPZmZzZXQpIHsKKyAgICAgICAgICAgICAgICAvLyBJZiB0aGUgb2Zmc2V0
IGF0IHRoZSBlbmQgb2YgdGhlIG5ldyBpbnRlcnZhbCBzdGlsbCBtYXRjaGVzCisgICAgICAgICAg
ICAgICAgLy8gdGhlIG9mZnNldCBpbiB0aGUgY2FjaGUsIHdlIGdyb3cgdGhlIGNhY2hlZCB0aW1l
IGludGVydmFsCisgICAgICAgICAgICAgICAgLy8gYW5kIHJldHVybiB0aGUgb2Zmc2V0LgorICAg
ICAgICAgICAgICAgIGNhY2hlLmVuZCA9IG5ld0VuZDsKKyAgICAgICAgICAgICAgICBjYWNoZS5p
bmNyZW1lbnRTdGFydCA9IFdURjo6bXNQZXJNb250aDsKKyAgICAgICAgICAgICAgICBjYWNoZS5p
bmNyZW1lbnRFbmQgPSBXVEY6Om1zUGVyTW9udGg7CisgICAgICAgICAgICAgICAgcmV0dXJuIGVu
ZE9mZnNldDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIExvY2FsVGltZU9mZnNldCBvZmZz
ZXQgPSBjYWxjdWxhdGVMb2NhbFRpbWVPZmZzZXQobWlsbGlzZWNvbmRzRnJvbUVwb2NoLCBpbnB1
dFRpbWVUeXBlKTsKKyAgICAgICAgICAgIGlmIChvZmZzZXQgPT0gZW5kT2Zmc2V0KSB7CisgICAg
ICAgICAgICAgICAgLy8gVGhlIG9mZnNldCBhdCB0aGUgZ2l2ZW4gdGltZSBpcyBlcXVhbCB0byB0
aGUgb2Zmc2V0IGF0IHRoZQorICAgICAgICAgICAgICAgIC8vIG5ldyBlbmQgb2YgdGhlIGludGVy
dmFsLCBzbyB0aGF0IG1lYW5zIHRoYXQgd2UndmUganVzdCBza2lwcGVkCisgICAgICAgICAgICAg
ICAgLy8gdGhlIHBvaW50IGluIHRpbWUgd2hlcmUgdGhlIERTVCBvZmZzZXQgY2hhbmdlIG9jY3Vy
cmVkLiBVcGRhdGVkCisgICAgICAgICAgICAgICAgLy8gdGhlIGludGVydmFsIHRvIHJlZmxlY3Qg
dGhpcyBhbmQgcmVzZXQgdGhlIGluY3JlbWVudC4KKyAgICAgICAgICAgICAgICBjYWNoZS5zdGFy
dCA9IG1pbGxpc2Vjb25kc0Zyb21FcG9jaDsKKyAgICAgICAgICAgICAgICBjYWNoZS5lbmQgPSBu
ZXdFbmQ7CisgICAgICAgICAgICAgICAgY2FjaGUuaW5jcmVtZW50U3RhcnQgPSBXVEY6Om1zUGVy
TW9udGg7CisgICAgICAgICAgICAgICAgY2FjaGUuaW5jcmVtZW50RW5kID0gV1RGOjptc1Blck1v
bnRoOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAvLyBUaGUgaW50ZXJ2
YWwgY29udGFpbnMgYSBEU1Qgb2Zmc2V0IGNoYW5nZSBhbmQgdGhlIGdpdmVuIHRpbWUgaXMKKyAg
ICAgICAgICAgICAgICAvLyBiZWZvcmUgaXQuIEFkanVzdCB0aGUgaW5jcmVtZW50IHRvIGF2b2lk
IGEgbGluZWFyIHNlYXJjaCBmb3IKKyAgICAgICAgICAgICAgICAvLyB0aGUgb2Zmc2V0IGNoYW5n
ZSBwb2ludCBhbmQgY2hhbmdlIHRoZSBlbmQgb2YgdGhlIGludGVydmFsLgorICAgICAgICAgICAg
ICAgIGNhY2hlLmluY3JlbWVudEVuZCAvPSAzOworICAgICAgICAgICAgICAgIGNhY2hlLmVuZCA9
IG1pbGxpc2Vjb25kc0Zyb21FcG9jaDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIC8vIFVw
ZGF0ZSB0aGUgb2Zmc2V0IGluIHRoZSBjYWNoZSBhbmQgcmV0dXJuIGl0LgorICAgICAgICAgICAg
Y2FjaGUub2Zmc2V0ID0gb2Zmc2V0OworICAgICAgICAgICAgcmV0dXJuIG9mZnNldDsKKyAgICAg
ICAgfQorCisgICAgICAgIHJldHVybiByZXNldENhY2hlKCk7CisgICAgfQorCisgICAgLy8gQ29t
cHV0ZSBhIHBvc3NpYmxlIG5ldyBpbnRlcnZhbCBzdGFydC4KKyAgICBkb3VibGUgbmV3U3RhcnQg
PSBzdGFydCAtIGNhY2hlLmluY3JlbWVudFN0YXJ0OworICAgIGlmIChuZXdTdGFydCA8PSBtaWxs
aXNlY29uZHNGcm9tRXBvY2gpIHsKKyAgICAgICAgTG9jYWxUaW1lT2Zmc2V0IHN0YXJ0T2Zmc2V0
ID0gY2FsY3VsYXRlTG9jYWxUaW1lT2Zmc2V0KG5ld1N0YXJ0LCBpbnB1dFRpbWVUeXBlKTsKKyAg
ICAgICAgaWYgKGNhY2hlLm9mZnNldCA9PSBzdGFydE9mZnNldCkgeworICAgICAgICAgICAgLy8g
SWYgdGhlIG9mZnNldCBhdCB0aGUgc3RhcnQgb2YgdGhlIG5ldyBpbnRlcnZhbCBzdGlsbCBtYXRj
aGVzCisgICAgICAgICAgICAvLyB0aGUgb2Zmc2V0IGluIHRoZSBjYWNoZSwgd2UgZ3JvdyB0aGUg
Y2FjaGVkIHRpbWUgaW50ZXJ2YWwKKyAgICAgICAgICAgIC8vIGFuZCByZXR1cm4gdGhlIG9mZnNl
dC4KKyAgICAgICAgICAgIGNhY2hlLnN0YXJ0ID0gbmV3U3RhcnQ7CisgICAgICAgICAgICBjYWNo
ZS5pbmNyZW1lbnRTdGFydCA9IFdURjo6bXNQZXJNb250aDsKKyAgICAgICAgICAgIGNhY2hlLmlu
Y3JlbWVudEVuZCA9IFdURjo6bXNQZXJNb250aDsKKyAgICAgICAgICAgIHJldHVybiBzdGFydE9m
ZnNldDsKKyAgICAgICAgfQorICAgICAgICBMb2NhbFRpbWVPZmZzZXQgb2Zmc2V0ID0gY2FsY3Vs
YXRlTG9jYWxUaW1lT2Zmc2V0KG1pbGxpc2Vjb25kc0Zyb21FcG9jaCwgaW5wdXRUaW1lVHlwZSk7
CisgICAgICAgIGlmIChvZmZzZXQgPT0gc3RhcnRPZmZzZXQpIHsKKyAgICAgICAgICAgIC8vIFRo
ZSBvZmZzZXQgYXQgdGhlIGdpdmVuIHRpbWUgaXMgZXF1YWwgdG8gdGhlIG9mZnNldCBhdCB0aGUK
KyAgICAgICAgICAgIC8vIG5ldyBzdGFydCBvZiB0aGUgaW50ZXJ2YWwsIHNvIHRoYXQgbWVhbnMg
dGhhdCB3ZSd2ZSBqdXN0IHNraXBwZWQKKyAgICAgICAgICAgIC8vIHRoZSBwb2ludCBpbiB0aW1l
IHdoZXJlIHRoZSBEU1Qgb2Zmc2V0IGNoYW5nZSBvY2N1cnJlZC4gVXBkYXRlZAorICAgICAgICAg
ICAgLy8gdGhlIGludGVydmFsIHRvIHJlZmxlY3QgdGhpcyBhbmQgcmVzZXQgdGhlIGluY3JlbWVu
dC4KKyAgICAgICAgICAgIGNhY2hlLnN0YXJ0ID0gbmV3U3RhcnQ7CisgICAgICAgICAgICBjYWNo
ZS5lbmQgPSBtaWxsaXNlY29uZHNGcm9tRXBvY2g7CisgICAgICAgICAgICBjYWNoZS5pbmNyZW1l
bnRTdGFydCA9IFdURjo6bXNQZXJNb250aDsKKyAgICAgICAgICAgIGNhY2hlLmluY3JlbWVudEVu
ZCA9IFdURjo6bXNQZXJNb250aDsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIC8vIFRo
ZSBpbnRlcnZhbCBjb250YWlucyBhIERTVCBvZmZzZXQgY2hhbmdlIGFuZCB0aGUgZ2l2ZW4gdGlt
ZSBpcworICAgICAgICAgICAgLy8gYmVmb3JlIGl0LiBBZGp1c3QgdGhlIGluY3JlbWVudCB0byBh
dm9pZCBhIGxpbmVhciBzZWFyY2ggZm9yCisgICAgICAgICAgICAvLyB0aGUgb2Zmc2V0IGNoYW5n
ZSBwb2ludCBhbmQgY2hhbmdlIHRoZSBlbmQgb2YgdGhlIGludGVydmFsLgorICAgICAgICAgICAg
Y2FjaGUuaW5jcmVtZW50U3RhcnQgLz0gMzsKKyAgICAgICAgICAgIGNhY2hlLnN0YXJ0ID0gbWls
bGlzZWNvbmRzRnJvbUVwb2NoOworICAgICAgICB9CisgICAgICAgIC8vIFVwZGF0ZSB0aGUgb2Zm
c2V0IGluIHRoZSBjYWNoZSBhbmQgcmV0dXJuIGl0LgorICAgICAgICBjYWNoZS5vZmZzZXQgPSBv
ZmZzZXQ7CisgICAgICAgIHJldHVybiBvZmZzZXQ7CisgICAgfQorCisgICAgcmV0dXJuIHJlc2V0
Q2FjaGUoKTsKK30KKwogc3RhdGljIGlubGluZSBkb3VibGUgdGltZVRvTVMoZG91YmxlIGhvdXIs
IGRvdWJsZSBtaW4sIGRvdWJsZSBzZWMsIGRvdWJsZSBtcykKIHsKICAgICByZXR1cm4gKCgoaG91
ciAqIFdURjo6bWludXRlc1BlckhvdXIgKyBtaW4pICogV1RGOjpzZWNvbmRzUGVyTWludXRlICsg
c2VjKSAqIFdURjo6bXNQZXJTZWNvbmQgKyBtcyk7CkBAIC0xMzEsOCArMjMzLDcgQEAgZG91Ymxl
IERhdGVDYWNoZTo6Z3JlZ29yaWFuRGF0ZVRpbWVUb01TKGNvbnN0IEdyZWdvcmlhbkRhdGVUaW1l
JiB0LCBkb3VibGUgbWlsbGkKICAgICBkb3VibGUgbXMgPSB0aW1lVG9NUyh0LmhvdXIoKSwgdC5t
aW51dGUoKSwgdC5zZWNvbmQoKSwgbWlsbGlzZWNvbmRzKTsKICAgICBkb3VibGUgbG9jYWxUaW1l
UmVzdWx0ID0gKGRheSAqIFdURjo6bXNQZXJEYXkpICsgbXM7CiAKLSAgICBkb3VibGUgbG9jYWxU
b1VUQ1RpbWVPZmZzZXQgPSBpbnB1dFRpbWVUeXBlID09IFdURjo6TG9jYWxUaW1lCi0gICAgICAg
ID8gbG9jYWxUaW1lT2Zmc2V0KCp0aGlzLCBsb2NhbFRpbWVSZXN1bHQsIGlucHV0VGltZVR5cGUp
Lm9mZnNldCA6IDA7CisgICAgZG91YmxlIGxvY2FsVG9VVENUaW1lT2Zmc2V0ID0gaW5wdXRUaW1l
VHlwZSA9PSBXVEY6OkxvY2FsVGltZSA/IGxvY2FsVGltZU9mZnNldChsb2NhbFRpbWVSZXN1bHQs
IGlucHV0VGltZVR5cGUpLm9mZnNldCA6IDA7CiAKICAgICByZXR1cm4gbG9jYWxUaW1lUmVzdWx0
IC0gbG9jYWxUb1VUQ1RpbWVPZmZzZXQ7CiB9CkBAIC0xNDIsNyArMjQzLDcgQEAgdm9pZCBEYXRl
Q2FjaGU6Om1zVG9HcmVnb3JpYW5EYXRlVGltZShkb3VibGUgbWlsbGlzZWNvbmRzRnJvbUVwb2No
LCBXVEY6OlRpbWVUeXAKIHsKICAgICBMb2NhbFRpbWVPZmZzZXQgbG9jYWxUaW1lOwogICAgIGlm
IChvdXRwdXRUaW1lVHlwZSA9PSBXVEY6OkxvY2FsVGltZSkgewotICAgICAgICBsb2NhbFRpbWUg
PSBsb2NhbFRpbWVPZmZzZXQoKnRoaXMsIG1pbGxpc2Vjb25kc0Zyb21FcG9jaCk7CisgICAgICAg
IGxvY2FsVGltZSA9IGxvY2FsVGltZU9mZnNldChtaWxsaXNlY29uZHNGcm9tRXBvY2gpOwogICAg
ICAgICBtaWxsaXNlY29uZHNGcm9tRXBvY2ggKz0gbG9jYWxUaW1lLm9mZnNldDsKICAgICB9CiAg
ICAgdG0gPSBHcmVnb3JpYW5EYXRlVGltZShtaWxsaXNlY29uZHNGcm9tRXBvY2gsIGxvY2FsVGlt
ZSk7CkBAIC0xNzEsNyArMjcyLDcgQEAgZG91YmxlIERhdGVDYWNoZTo6cGFyc2VEYXRlKEpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFZNJiB2bSwgY29uc3QgU3RyaW5nJgogICAgICAgICAg
ICAgdmFsdWUgPSBXVEY6OnBhcnNlRGF0ZUZyb21OdWxsVGVybWluYXRlZENoYXJhY3RlcnMoZGF0
ZVN0cmluZywgaXNMb2NhbFRpbWUpOwogCiAgICAgICAgIGlmIChpc0xvY2FsVGltZSkKLSAgICAg
ICAgICAgIHZhbHVlIC09IGxvY2FsVGltZU9mZnNldCgqdGhpcywgdmFsdWUsIFdURjo6TG9jYWxU
aW1lKS5vZmZzZXQ7CisgICAgICAgICAgICB2YWx1ZSAtPSBsb2NhbFRpbWVPZmZzZXQodmFsdWUs
IFdURjo6TG9jYWxUaW1lKS5vZmZzZXQ7CiAKICAgICAgICAgcmV0dXJuIHZhbHVlOwogICAgIH07
CkBAIC0yMjMsNiArMzI0LDggQEAgdm9pZCBEYXRlQ2FjaGU6OnRpbWVab25lQ2FjaGVTbG93KCkK
IHZvaWQgRGF0ZUNhY2hlOjpyZXNldCgpCiB7CiAgICAgbV90aW1lWm9uZUNhY2hlLnJlc2V0KCk7
CisgICAgbV91dGNUaW1lT2Zmc2V0Q2FjaGUgPSBMb2NhbFRpbWVPZmZzZXRDYWNoZSgpOworICAg
IG1fbG9jYWxUaW1lT2Zmc2V0Q2FjaGUgPSBMb2NhbFRpbWVPZmZzZXRDYWNoZSgpOwogICAgIG1f
Y2FjaGVkRGF0ZVN0cmluZyA9IFN0cmluZygpOwogICAgIG1fY2FjaGVkRGF0ZVN0cmluZ1ZhbHVl
ID0gc3RkOjpudW1lcmljX2xpbWl0czxkb3VibGU+OjpxdWlldF9OYU4oKTsKICAgICBtX2RhdGVJ
bnN0YW5jZUNhY2hlLnJlc2V0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0RhdGVNYXRoLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Rh
dGVNYXRoLmgKaW5kZXggMGM5MmY4OWEwMzRlYzFjOTJiYmJmZGIzYjZmMWI2NmFkZmM0ODE1ZS4u
ZTQ5NGU1ZTNiN2FlYWQ0ZmFkMWJkMjI3NTQxZDExZThmNTJiYmQwYSAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNEYXRlTWF0aC5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTRGF0ZU1hdGguaApAQCAtNTgsNiArNTgsMTYgQEAgc3RydWN0
IE9wYXF1ZUlDVVRpbWVab25lRGVsZXRlciB7CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgdm9pZCBv
cGVyYXRvcigpKE9wYXF1ZUlDVVRpbWVab25lKik7CiB9OwogCitzdHJ1Y3QgTG9jYWxUaW1lT2Zm
c2V0Q2FjaGUgeworICAgIExvY2FsVGltZU9mZnNldENhY2hlKCkgPSBkZWZhdWx0OworCisgICAg
TG9jYWxUaW1lT2Zmc2V0IG9mZnNldDsKKyAgICBkb3VibGUgc3RhcnQgeyAwLjAgfTsKKyAgICBk
b3VibGUgZW5kIHsgLTEuMCB9OworICAgIGRvdWJsZSBpbmNyZW1lbnRTdGFydCB7IDAuMCB9Owor
ICAgIGRvdWJsZSBpbmNyZW1lbnRFbmQgeyAwLjAgfTsKK307CisKIGNsYXNzIERhdGVDYWNoZSB7
CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
RGF0ZUNhY2hlKTsKQEAgLTY5LDEzICs3OSw2IEBAIGNsYXNzIERhdGVDYWNoZSB7CiAKICAgICBT
dHJpbmcgZGVmYXVsdFRpbWVab25lKCk7CiAKLSAgICBPcGFxdWVJQ1VUaW1lWm9uZSogdGltZVpv
bmVDYWNoZSgpCi0gICAgewotICAgICAgICBpZiAoIW1fdGltZVpvbmVDYWNoZSkKLSAgICAgICAg
ICAgIHRpbWVab25lQ2FjaGVTbG93KCk7Ci0gICAgICAgIHJldHVybiBtX3RpbWVab25lQ2FjaGUu
Z2V0KCk7Ci0gICAgfQotCiAgICAgUmVmPERhdGVJbnN0YW5jZURhdGE+IGNhY2hlZERhdGVJbnN0
YW5jZURhdGEoZG91YmxlIG1pbGxpc2Vjb25kc0Zyb21FcG9jaCk7CiAKICAgICB2b2lkIG1zVG9H
cmVnb3JpYW5EYXRlVGltZShkb3VibGUgbWlsbGlzZWNvbmRzRnJvbUVwb2NoLCBXVEY6OlRpbWVU
eXBlIG91dHB1dFRpbWVUeXBlLCBHcmVnb3JpYW5EYXRlVGltZSYpOwpAQCAtODQsOCArODcsMTkg
QEAgY2xhc3MgRGF0ZUNhY2hlIHsKIAogcHJpdmF0ZToKICAgICB2b2lkIHRpbWVab25lQ2FjaGVT
bG93KCk7CisgICAgTG9jYWxUaW1lT2Zmc2V0IGxvY2FsVGltZU9mZnNldChkb3VibGUgbWlsbGlz
ZWNvbmRzRnJvbUVwb2NoLCBXVEY6OlRpbWVUeXBlIGlucHV0VGltZVR5cGUgPSBXVEY6OlVUQ1Rp
bWUpOworICAgIExvY2FsVGltZU9mZnNldCBjYWxjdWxhdGVMb2NhbFRpbWVPZmZzZXQoZG91Ymxl
IG1pbGxpc2Vjb25kc0Zyb21FcG9jaCwgV1RGOjpUaW1lVHlwZSBpbnB1dFRpbWVUeXBlKTsKKwor
ICAgIE9wYXF1ZUlDVVRpbWVab25lKiB0aW1lWm9uZUNhY2hlKCkKKyAgICB7CisgICAgICAgIGlm
ICghbV90aW1lWm9uZUNhY2hlKQorICAgICAgICAgICAgdGltZVpvbmVDYWNoZVNsb3coKTsKKyAg
ICAgICAgcmV0dXJuIG1fdGltZVpvbmVDYWNoZS5nZXQoKTsKKyAgICB9CiAKICAgICBzdGQ6OnVu
aXF1ZV9wdHI8T3BhcXVlSUNVVGltZVpvbmUsIE9wYXF1ZUlDVVRpbWVab25lRGVsZXRlcj4gbV90
aW1lWm9uZUNhY2hlOworICAgIExvY2FsVGltZU9mZnNldENhY2hlIG1fdXRjVGltZU9mZnNldENh
Y2hlOworICAgIExvY2FsVGltZU9mZnNldENhY2hlIG1fbG9jYWxUaW1lT2Zmc2V0Q2FjaGU7CiAg
ICAgU3RyaW5nIG1fY2FjaGVkRGF0ZVN0cmluZzsKICAgICBkb3VibGUgbV9jYWNoZWREYXRlU3Ry
aW5nVmFsdWU7CiAgICAgRGF0ZUluc3RhbmNlQ2FjaGUgbV9kYXRlSW5zdGFuY2VDYWNoZTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9WTS5oCmluZGV4IDU1MmQ1ODE5MGU4Yjc0MmJkYWU5MzliYmJj
ZGEzZGQwMDZjMmUzZjMuLjcxZmEyYTYwNjkyODZjNjFhMTE1Mjk4NjUyMjg5OTFmMDU3YzBmYjUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uaApAQCAtMjIxLDI4ICsyMjEsNiBAQCBzdHJ1
Y3QgSGFzaFRhYmxlOwogc3RydWN0IEluc3RydWN0aW9uOwogc3RydWN0IFZhbHVlUHJvZmlsZTsK
IAotc3RydWN0IExvY2FsVGltZU9mZnNldENhY2hlIHsKLSAgICBMb2NhbFRpbWVPZmZzZXRDYWNo
ZSgpCi0gICAgICAgIDogc3RhcnQoMC4wKQotICAgICAgICAsIGVuZCgtMS4wKQotICAgICAgICAs
IGluY3JlbWVudCgwLjApCi0gICAgewotICAgIH0KLQotICAgIHZvaWQgcmVzZXQoKQotICAgIHsK
LSAgICAgICAgb2Zmc2V0ID0gTG9jYWxUaW1lT2Zmc2V0KCk7Ci0gICAgICAgIHN0YXJ0ID0gMC4w
OwotICAgICAgICBlbmQgPSAtMS4wOwotICAgICAgICBpbmNyZW1lbnQgPSAwLjA7Ci0gICAgfQot
Ci0gICAgTG9jYWxUaW1lT2Zmc2V0IG9mZnNldDsKLSAgICBkb3VibGUgc3RhcnQ7Ci0gICAgZG91
YmxlIGVuZDsKLSAgICBkb3VibGUgaW5jcmVtZW50OwotfTsKLQogY2xhc3MgUXVldWVkVGFzayB7
CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUXVldWVkVGFzayk7CiAgICAgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9EYXRlTWF0aC5oIGIvU291
cmNlL1dURi93dGYvRGF0ZU1hdGguaAppbmRleCAyNDZiYTY3Yzc2NGI2MjkwNDJhNzkyN2QyNGZl
ODliMDQ5ZDgyYTBiLi4xYWMyOTYxN2EwMTExZTM3YzAyMzk1MjRhZDg4NjA3MzRkZDM5MWZjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9EYXRlTWF0aC5oCisrKyBiL1NvdXJjZS9XVEYvd3Rm
L0RhdGVNYXRoLmgKQEAgLTU5LDEyICs1OSw3IEBAIGVudW0gVGltZVR5cGUgewogc3RydWN0IExv
Y2FsVGltZU9mZnNldCB7CiAgICAgV1RGX01BS0VfU1RSVUNUX0ZBU1RfQUxMT0NBVEVEOwogCi0g
ICAgTG9jYWxUaW1lT2Zmc2V0KCkKLSAgICAgICAgOiBpc0RTVChmYWxzZSkKLSAgICAgICAgLCBv
ZmZzZXQoMCkKLSAgICB7Ci0gICAgfQotCisgICAgTG9jYWxUaW1lT2Zmc2V0KCkgPSBkZWZhdWx0
OwogICAgIExvY2FsVGltZU9mZnNldChib29sIGlzRFNULCBpbnQgb2Zmc2V0KQogICAgICAgICA6
IGlzRFNUKGlzRFNUKQogICAgICAgICAsIG9mZnNldChvZmZzZXQpCkBAIC04MSw4ICs3Niw4IEBA
IHN0cnVjdCBMb2NhbFRpbWVPZmZzZXQgewogICAgICAgICByZXR1cm4gaXNEU1QgIT0gb3RoZXIu
aXNEU1QgfHwgb2Zmc2V0ICE9IG90aGVyLm9mZnNldDsKICAgICB9CiAKLSAgICBib29sIGlzRFNU
OwotICAgIGludCBvZmZzZXQ7CisgICAgYm9vbCBpc0RTVCB7IGZhbHNlIH07CisgICAgaW50IG9m
ZnNldCB7IDAgfTsKIH07CiAKIHZvaWQgaW5pdGlhbGl6ZURhdGVzKCk7CmRpZmYgLS1naXQgYS9K
U1Rlc3RzL0NoYW5nZUxvZyBiL0pTVGVzdHMvQ2hhbmdlTG9nCmluZGV4IGI2NjlhNGU2NWU0NGFm
OWZmM2M5M2JjNWJhZTE0ODA4Y2M3ZjdhYTYuLmU3NTYxOGRhZjg0OWMyNTQ1ZWY1NDJjOTEyNTQ0
MTI4M2E2MzEwNzEgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvQ2hhbmdlTG9nCisrKyBiL0pTVGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjAtMTEtMDcgIFl1c3VrZSBTdXp1a2kgIDx5
c3V6dWtpQGFwcGxlLmNvbT4KKworICAgICAgICBbSlNDXSBBZGQgVGltZVpvbmUgcmFuZ2UgY2Fj
aGUgb3ZlciBJQ1UgVGltZVpvbmUgQVBJCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMTg2ODEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIGNvbXBsZXgueWFtbDoKKyAgICAgICAgKiBjb21wbGV4L3RpbWV6
b25lLXJhbmdlLWNhY2hlLXdpdGgtZHN0LmpzOiBBZGRlZC4KKyAgICAgICAgKHNob3VsZEJlKToK
KyAgICAgICAgKHRocm93Lm5ldy5FcnJvcik6CisKIDIwMjAtMTEtMDYgIERtaXRyeSBCZXpoZXRz
a292ICA8ZGJlemhldHNrb3ZAaWdhbGlhLmNvbT4KIAogICAgICAgICBbV0FTTS1SZWZlcmVuY2Vz
XSBSZW5hbWUgYW55cmVmIHRvIGV4dGVybnJlZgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9jb21wbGV4
LnlhbWwgYi9KU1Rlc3RzL2NvbXBsZXgueWFtbAppbmRleCA0ZTFjZmEzZjE3ZDM4MDA1NTJiNTgw
MDFkYjExOTM0YzNiMWIyZDViLi42YTE5YTU2MzZhOGUwZmE5N2E0MjhkMmI5MmU0MWMyYTQzODBk
YWFjIDEwMDY0NAotLS0gYS9KU1Rlc3RzL2NvbXBsZXgueWFtbAorKysgYi9KU1Rlc3RzL2NvbXBs
ZXgueWFtbApAQCAtMzcsMyArMzcsNiBAQAogCiAtIHBhdGg6IGNvbXBsZXgvdGltZXpvbmUtb2Zm
c2V0LWFuZC1kc3QtaW4td2Fyc2F3LmpzCiAgIGNtZDogcnVuQ29tcGxleFRlc3QgW10sIFtdLCAi
VFo9RXVyb3BlL1dhcnNhdyIsICItLXVzZURvbGxhclZNPTEiCisKKy0gcGF0aDogY29tcGxleC90
aW1lem9uZS1yYW5nZS1jYWNoZS13aXRoLWRzdC5qcworICBjbWQ6IHJ1bkNvbXBsZXhUZXN0IFtd
LCBbXSwgIlRaPUFtZXJpY2EvTG9zX0FuZ2VsZXMiLCAiLS11c2VEb2xsYXJWTT0xIgpkaWZmIC0t
Z2l0IGEvSlNUZXN0cy9jb21wbGV4L3RpbWV6b25lLXJhbmdlLWNhY2hlLXdpdGgtZHN0LmpzIGIv
SlNUZXN0cy9jb21wbGV4L3RpbWV6b25lLXJhbmdlLWNhY2hlLXdpdGgtZHN0LmpzCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmY0MWZhYjVhOWEyOTZhMzI1NTgyYzNjYTQ2N2YxMWUzMmVhYjExMzcKLS0tIC9kZXYvbnVs
bAorKysgYi9KU1Rlc3RzL2NvbXBsZXgvdGltZXpvbmUtcmFuZ2UtY2FjaGUtd2l0aC1kc3QuanMK
QEAgLTAsMCArMSwyNyBAQAorZnVuY3Rpb24gc2hvdWxkQmUoYWN0dWFsLCBleHBlY3RlZCkgewor
ICAgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2Jh
ZCB2YWx1ZTogJyArIGFjdHVhbCk7Cit9CisKK3sKKyAgICBsZXQgZGF0ZTEgPSBuZXcgRGF0ZSgy
MDIwLCAxLCA4LCAwKTsKKyAgICBzaG91bGRCZShkYXRlMS5nZXRUaW1lKCksIDE1ODExNDg4MDAw
MDApOworICAgIGxldCBkYXRlMiA9IG5ldyBEYXRlKDIwMjAsIDIsIDIsIDApOworICAgIHNob3Vs
ZEJlKGRhdGUyLmdldFRpbWUoKSwgMTU4MzEzNjAwMDAwMCk7CisgICAgbGV0IGRhdGUzID0gbmV3
IERhdGUoMjAyMCwgMiwgOCwgMyk7CisgICAgc2hvdWxkQmUoZGF0ZTMuZ2V0VGltZSgpLCAxNTgz
NjYxNjAwMDAwKTsKKyAgICBsZXQgZGF0ZTQgPSBuZXcgRGF0ZSgyMDIwLCAzLCA5LCAzKTsKKyAg
ICBzaG91bGRCZShkYXRlNC5nZXRUaW1lKCksIDE1ODY0MjY0MDAwMDApOworfQoreworICAgIGxl
dCBkYXRlMSA9IG5ldyBEYXRlKDIwMjAsIDExLCAxLCAwKTsKKyAgICBzaG91bGRCZShkYXRlMS5n
ZXRUaW1lKCksIDE2MDY4MDk2MDAwMDApOworICAgIGxldCBkYXRlMiA9IG5ldyBEYXRlKDIwMjAs
IDEwLCAzLCAwKTsKKyAgICBzaG91bGRCZShkYXRlMi5nZXRUaW1lKCksIDE2MDQzOTA0MDAwMDAp
OworICAgIGxldCBkYXRlMyA9IG5ldyBEYXRlKDIwMjAsIDEwLCAxLCAwKTsKKyAgICBzaG91bGRC
ZShkYXRlMy5nZXRUaW1lKCksIDE2MDQyMTQwMDAwMDApOworICAgIGxldCBkYXRlNCA9IG5ldyBE
YXRlKDIwMjAsIDksIDEwLCAwKTsKKyAgICBzaG91bGRCZShkYXRlNC5nZXRUaW1lKCksIDE2MDIz
MTMyMDAwMDApOworICAgIGxldCBkYXRlNSA9IG5ldyBEYXRlKDIwMjAsIDYsIDEwLCAwKTsKKyAg
ICBzaG91bGRCZShkYXRlNS5nZXRUaW1lKCksIDE1OTQzNjQ0MDAwMDApOworfQo=
</data>
<flag name="review"
          id="430171"
          type_id="1"
          status="+"
          setter="ross.kirsling"
    />
          </attachment>
      

    </bug>

</bugzilla>