<?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>177222</bug_id>
          
          <creation_ts>2017-09-20 01:40:22 -0700</creation_ts>
          <short_desc>[PAL] Move MediaTimeAVFoundation into PAL</short_desc>
          <delta_ts>2017-09-27 12:26:39 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Platform</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yoshiaki Jitsukawa">yoshiaki.jitsukawa</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>don.olmstead</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1350691</commentid>
    <comment_count>0</comment_count>
    <who name="Yoshiaki Jitsukawa">yoshiaki.jitsukawa</who>
    <bug_when>2017-09-20 01:40:22 -0700</bug_when>
    <thetext>Move MediaTimeAVFoundation into PAL. This is a blocker to move platform/Clock.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1350693</commentid>
    <comment_count>1</comment_count>
      <attachid>321302</attachid>
    <who name="Yoshiaki Jitsukawa">yoshiaki.jitsukawa</who>
    <bug_when>2017-09-20 01:51:48 -0700</bug_when>
    <thetext>Created attachment 321302
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1350880</commentid>
    <comment_count>2</comment_count>
      <attachid>321302</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2017-09-20 11:42:14 -0700</bug_when>
    <thetext>Comment on attachment 321302
Patch

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

&gt; Source/WebCore/Configurations/WebCore.unexp:72
&gt; +__ZNK3WTF9MediaTime9timeValueEv

Is this file actually used anymore?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1350881</commentid>
    <comment_count>3</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2017-09-20 11:42:35 -0700</bug_when>
    <thetext>r=me assuming you get EWS happy</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1351029</commentid>
    <comment_count>4</comment_count>
    <who name="Yoshiaki Jitsukawa">yoshiaki.jitsukawa</who>
    <bug_when>2017-09-20 15:37:56 -0700</bug_when>
    <thetext>(In reply to Myles C. Maxfield from comment #2)
&gt; Comment on attachment 321302 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=321302&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/Configurations/WebCore.unexp:72
&gt; &gt; +__ZNK3WTF9MediaTime9timeValueEv
&gt; 
&gt; Is this file actually used anymore?

Yes, without it I see the following errors:

ERROR: WebCore has a weak external symbol in it.
ERROR: A weak external symbol is generated when a symbol is defined in multiple compilation units and is also marked as being exported from the library.
ERROR: A common cause of weak external symbols is when an inline function is listed in the linker export file.
ERROR: symbol __ZNK3WTF9MediaTime14hasBeenRoundedEv
ERROR: symbol __ZNK3WTF9MediaTime14hasDoubleValueEv
ERROR: symbol __ZNK3WTF9MediaTime18isNegativeInfiniteEv
ERROR: symbol __ZNK3WTF9MediaTime18isPositiveInfiniteEv
ERROR: symbol __ZNK3WTF9MediaTime7isValidEv
ERROR: symbol __ZNK3WTF9MediaTime9timeScaleEv
ERROR: symbol __ZNK3WTF9MediaTime9timeValueEv</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1351140</commentid>
    <comment_count>5</comment_count>
      <attachid>321413</attachid>
    <who name="Yoshiaki Jitsukawa">yoshiaki.jitsukawa</who>
    <bug_when>2017-09-20 23:36:36 -0700</bug_when>
    <thetext>Created attachment 321413
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1351141</commentid>
    <comment_count>6</comment_count>
    <who name="Yoshiaki Jitsukawa">yoshiaki.jitsukawa</who>
    <bug_when>2017-09-20 23:42:49 -0700</bug_when>
    <thetext>The new PR also adds CoreMediaSoftLink for PAL, to provide &quot;_CMTimeMake&quot; and &quot;_CMTimeMakeWithSeconds&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1351247</commentid>
    <comment_count>7</comment_count>
      <attachid>321413</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-09-21 10:33:56 -0700</bug_when>
    <thetext>Comment on attachment 321413
Patch

Clearing flags on attachment: 321413

Committed r222326: &lt;http://trac.webkit.org/changeset/222326&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1351248</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-09-21 10:33:57 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1353384</commentid>
    <comment_count>9</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-09-27 12:26:39 -0700</bug_when>
    <thetext>&lt;rdar://problem/34693286&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>321302</attachid>
            <date>2017-09-20 01:51:48 -0700</date>
            <delta_ts>2017-09-20 23:36:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-177222-20170920175218.patch</filename>
            <type>text/plain</type>
            <size>79338</size>
            <attacher name="Yoshiaki Jitsukawa">yoshiaki.jitsukawa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIyMjM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWU3MTg4OWI1YTM3ZTE2
YzRhZWVmZDYwMTdmZDY2MTMzOGZhNDRiMy4uZjc0NDEzMjNkYTcxOGNhMDNhZDQxYWJmMGY3NTYy
MDUyMmMzODkwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDg1IEBACisyMDE3LTA5LTIwICBZb3No
aWFraSBKaXRzdWthd2EgIDxZb3NoaWFraS5KaXRzdWthd2FAc29ueS5jb20+CisKKyAgICAgICAg
W1BBTF0gTW92ZSBNZWRpYVRpbWVBVkZvdW5kYXRpb24gaW50byBQQUwKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NzIyMgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4gTm8gY2hhbmdl
IGluIGJlaGF2aW9yLgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvV2ViQ29yZS51bmV4cDoK
KyAgICAgICAgKiBQbGF0Zm9ybUFwcGxlV2luLmNtYWtlOgorICAgICAgICAqIFdlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9tYWMvQXVk
aW9TYW1wbGVEYXRhU291cmNlLm1tOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9TYW1wbGVEYXRh
U291cmNlOjpwdXNoU2FtcGxlcyk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3Vu
ZGF0aW9uL0F1ZGlvU291cmNlUHJvdmlkZXJBVkZPYmpDLm1tOgorICAgICAgICAoV2ViQ29yZTo6
QXVkaW9Tb3VyY2VQcm92aWRlckFWRk9iakM6OnByb2Nlc3MpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9JbmJhbmRUZXh0VHJhY2tQcml2YXRlQVZGLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkluYmFuZFRleHRUcmFja1ByaXZhdGVBVkY6OnJlYWROYXRpdmVTYW1w
bGVCdWZmZXIpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRp
YVNhbXBsZUFWRk9iakMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRp
b24vY2YvSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUFWQ0YuY3BwOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9jZi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25D
Ri5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25D
Rjo6cGxhdGZvcm1EdXJhdGlvbiBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXll
clByaXZhdGVBVkZvdW5kYXRpb25DRjo6Y3VycmVudE1lZGlhVGltZSBjb25zdCk6CisgICAgICAg
IChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25DRjo6cGxhdGZvcm1CdWZm
ZXJlZFRpbWVSYW5nZXMgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2
YXRlQVZGb3VuZGF0aW9uQ0Y6OnBsYXRmb3JtTWluVGltZVNlZWthYmxlIGNvbnN0KToKKyAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbkNGOjpwbGF0Zm9ybU1h
eFRpbWVTZWVrYWJsZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZh
dGVBVkZvdW5kYXRpb25DRjo6cGxhdGZvcm1NYXhUaW1lTG9hZGVkIGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6OkFWRldyYXBwZXI6OnNlZWtUb1RpbWUpOgorICAgICAgICAoV2ViQ29yZTo6QVZG
V3JhcHBlcjo6bGVnaWJsZU91dHB1dENhbGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OkFWRldy
YXBwZXI6OmNyZWF0ZUltYWdlRm9yVGltZUluUmVjdCk6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL29iamMvSW1hZ2VEZWNvZGVyQVZGT2JqQy5tbToKKyAgICAgICAg
KFdlYkNvcmU6OkltYWdlRGVjb2RlckFWRk9iakM6OnJlYWRTYW1wbGVNZXRhZGF0YSk6CisgICAg
ICAgIChXZWJDb3JlOjpJbWFnZURlY29kZXJBVkZPYmpDOjpzdG9yZVNhbXBsZUJ1ZmZlcik6Cisg
ICAgICAgIChXZWJDb3JlOjpJbWFnZURlY29kZXJBVkZPYmpDOjpjcmVhdGVGcmFtZUltYWdlQXRJ
bmRleCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVk
aWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbToKKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OnBsYXRmb3JtRHVyYXRpb24gY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6
Y3VycmVudE1lZGlhVGltZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclBy
aXZhdGVBVkZvdW5kYXRpb25PYmpDOjpzZWVrVG9UaW1lKToKKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OnBsYXRmb3JtQnVmZmVyZWRUaW1lUmFu
Z2VzIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRh
dGlvbk9iakM6OnBsYXRmb3JtTWluVGltZVNlZWthYmxlIGNvbnN0KToKKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OnBsYXRmb3JtTWF4VGltZVNl
ZWthYmxlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUFWRm91
bmRhdGlvbk9iakM6OnBsYXRmb3JtTWF4VGltZUxvYWRlZCBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjptZXRhZGF0YURpZEFycml2
ZSk6CisgICAgICAgICgtW1dlYkNvcmVBVkZNb3ZpZU9ic2VydmVyIG9ic2VydmVWYWx1ZUZvcktl
eVBhdGg6b2ZPYmplY3Q6Y2hhbmdlOmNvbnRleHQ6XSk6CisgICAgICAgICgtW1dlYkNvcmVBVkZN
b3ZpZU9ic2VydmVyIGxlZ2libGVPdXRwdXQ6ZGlkT3V0cHV0QXR0cmlidXRlZFN0cmluZ3M6bmF0
aXZlU2FtcGxlQnVmZmVyczpmb3JJdGVtVGltZTpdKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9i
akMubW06CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFW
Rk9iakM6Ok1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQyk6CisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OmN1cnJlbnRNZWRp
YVRpbWUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFT
b3VyY2VBVkZPYmpDOjpzZWVrSW50ZXJuYWwpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5
ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpkdXJhdGlvbkNoYW5nZWQpOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpzaXplV2lsbENo
YW5nZUF0VGltZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29i
amMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLm1tOgorICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDOjpjYWxjdWxhdGVUaW1l
bGluZU9mZnNldCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29i
amMvTWVkaWFTYW1wbGVBVkZPYmpDLm1tOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTYW1wbGVB
VkZPYmpDOjpwcmVzZW50YXRpb25UaW1lIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
U2FtcGxlQVZGT2JqQzo6b3V0cHV0UHJlc2VudGF0aW9uVGltZSBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYVNhbXBsZUFWRk9iakM6OmRlY29kZVRpbWUgY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFTYW1wbGVBVkZPYmpDOjpkdXJhdGlvbiBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYVNhbXBsZUFWRk9iakM6Om91dHB1dER1cmF0aW9uIGNvbnN0KToKKyAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhU2FtcGxlQVZGT2JqQzo6b2Zmc2V0VGltZXN0YW1wc0J5KToKKyAg
ICAgICAgKFdlYkNvcmU6Ok1lZGlhU2FtcGxlQVZGT2JqQzo6c2V0VGltZXN0YW1wcyk6CisgICAg
ICAgIChXZWJDb3JlOjpNZWRpYVNhbXBsZUFWRk9iakM6OmRpdmlkZSk6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9i
akMubW06CisgICAgICAgIChXZWJDb3JlOjpTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6ZGlk
UGFyc2VTdHJlYW1EYXRhQXNBc3NldCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY29j
b2EvV2ViQ29yZURlY29tcHJlc3Npb25TZXNzaW9uLm1tOgorICAgICAgICAoV2ViQ29yZTo6V2Vi
Q29yZURlY29tcHJlc3Npb25TZXNzaW9uOjpoYW5kbGVEZWNvbXByZXNzaW9uT3V0cHV0KToKKyAg
ICAgICAgKFdlYkNvcmU6OldlYkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lvbjo6YXV0b21hdGljRGVx
dWV1ZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb246OmVu
cXVldWVEZWNvZGVkU2FtcGxlKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkNvcmVEZWNvbXByZXNz
aW9uU2Vzc2lvbjo6aW1hZ2VGb3JUaW1lKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvUGxhdGZv
cm1DbG9ja0NNLm1tOgorICAgICAgICAoUGxhdGZvcm1DbG9ja0NNOjpzZXRDdXJyZW50TWVkaWFU
aW1lKToKKyAgICAgICAgKFBsYXRmb3JtQ2xvY2tDTTo6Y3VycmVudE1lZGlhVGltZSBjb25zdCk6
CisgICAgICAgICogcGxhdGZvcm0vbWFjL1BsYXliYWNrU2Vzc2lvbkludGVyZmFjZU1hYy5tbToK
KyAgICAgICAgKFdlYkNvcmU6OnRpbWVSYW5nZXNUb0FycmF5KToKKyAgICAgICAgKiBwbGF0Zm9y
bS9tYWMvVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlTWFjLm1tOgorICAgICAgICAqIHBsYXRmb3Jt
L21lZGlhc3RyZWFtL21hYy9Db3JlQXVkaW9DYXB0dXJlU291cmNlLmNwcDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvTW9ja1JlYWx0aW1lQXVkaW9Tb3VyY2VNYWMubW06Cisg
ICAgICAgIChXZWJDb3JlOjpNb2NrUmVhbHRpbWVBdWRpb1NvdXJjZU1hYzo6ZW1pdFNhbXBsZUJ1
ZmZlcnMpOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZUluY29t
aW5nQXVkaW9Tb3VyY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVJbmNvbWluZ0F1
ZGlvU291cmNlOjpPbkRhdGEpOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9X
ZWJBdWRpb1NvdXJjZVByb3ZpZGVyQVZGT2JqQy5tbToKKwogMjAxNy0wOS0xOSAgRXJpYyBDYXJs
c29uICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBRdWlldCBtZWRpYSBwbGF5
ZXIgcHJpdmF0ZSBsb2dnaW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCBmZjJhMmQ1OTBmZjgyNDJj
NmE1NWMyNGVhMDQ1NTA3YzYzYjg3YzAyLi5iNzljODM1OTNkNzFmMzlmNDE4Yjg1YTJmZDJmOGRi
Mjg4NjQzZTdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxNy0wOS0y
MCAgWW9zaGlha2kgSml0c3VrYXdhICA8WW9zaGlha2kuSml0c3VrYXdhQHNvbnkuY29tPgorCisg
ICAgICAgIFtQQUxdIE1vdmUgTWVkaWFUaW1lQVZGb3VuZGF0aW9uIGludG8gUEFMCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzcyMjIKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFBBTC54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGNvbmZpZy5oOiBJbmNsdWRlIFBBTEhlYWRlckRl
dGVjdGlvbi5oLiBEZWZpbmUgQVZGT1VOREFUSU9OLXJlbGV2YW50IGRlZmluaXRpb25zLgorICAg
ICAgICAqIHBhbC9DTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBwYWwvUGxhdGZvcm1BcHBsZVdp
bi5jbWFrZTogTGluayBDb3JlTWVkaWEubGliCisgICAgICAgICogcGFsL1BsYXRmb3JtV2luLmNt
YWtlOiBBZGQgUEFMIGRlcml2ZWQgc291cmNlcyBkaXJlY3RvcnkgdG8gaW5jbHVkZSBwYXRoLgor
ICAgICAgICAqIHBhbC9hdmZvdW5kYXRpb24vTWVkaWFUaW1lQVZGb3VuZGF0aW9uLmNwcDogUmVu
YW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9N
ZWRpYVRpbWVBVkZvdW5kYXRpb24uY3BwLgorICAgICAgICAqIHBhbC9hdmZvdW5kYXRpb24vTWVk
aWFUaW1lQVZGb3VuZGF0aW9uLmg6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFUaW1lQVZGb3VuZGF0aW9uLmguCisKIDIwMTct
MDktMTggIEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIFtNYWNdIFVw
c3RyZWFtIG1pc2NlbGxhbmVvdXMgV2ViS2l0U3lzdGVtSW50ZXJmYWNlIGZ1bmN0aW9ucwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvV2ViQ29yZS51bmV4cCBiL1Nv
dXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL1dlYkNvcmUudW5leHAKaW5kZXggZDEyMGViNzQx
YmI5M2M0ZTAzZThhNWZkMzI0ZGM0OTAwNDE3ZTQ4ZS4uMjM1NzU5N2Y3YTNhNGYyMGFjMmI3NzU2
YTZkY2EyZmY2ZDBlNGJiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlv
bnMvV2ViQ29yZS51bmV4cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9XZWJD
b3JlLnVuZXhwCkBAIC01OSwzICs1OSwxNCBAQCBfRERIaWdobGlnaHRQb2ludElzT25IaWdobGln
aHQKIF9fWlRWTjlJbnNwZWN0b3IxN1NjcmlwdERlYnVnU2VydmVyNFRhc2tFCiAjIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuaAog
X19aVFZOOUluc3BlY3RvcjIySW5zcGVjdG9yRGVidWdnZXJBZ2VudDhMaXN0ZW5lckUKKworIyBN
ZW1iZXIgZnVuY3Rpb25zIG9mIGFuIGV4cG9ydGVkIEMrKyBjbGFzcyBpbiBXVEYKKworIyBTb3Vy
Y2UvV1RGL3d0Zi9NZWRpYVRpbWUuaAorX19aTkszV1RGOU1lZGlhVGltZTE0aGFzQmVlblJvdW5k
ZWRFdgorX19aTkszV1RGOU1lZGlhVGltZTE0aGFzRG91YmxlVmFsdWVFdgorX19aTkszV1RGOU1l
ZGlhVGltZTE4aXNOZWdhdGl2ZUluZmluaXRlRXYKK19fWk5LM1dURjlNZWRpYVRpbWUxOGlzUG9z
aXRpdmVJbmZpbml0ZUV2CitfX1pOSzNXVEY5TWVkaWFUaW1lN2lzVmFsaWRFdgorX19aTkszV1RG
OU1lZGlhVGltZTl0aW1lU2NhbGVFdgorX19aTkszV1RGOU1lZGlhVGltZTl0aW1lVmFsdWVFdgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML1BBTC54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qIGIvU291cmNlL1dlYkNvcmUvUEFML1BBTC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmlu
ZGV4IGYzM2M4ZDE5NmYwYzZmZjJmZDViOTBhODExMzA0ZTA0YzkwZDFhMTMuLmMwNTg3NTg2NDUz
ZmZjMjY2OTIyZjdhZWNiMjBhZTQ0NDllNGZkYmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1BBTC9QQUwueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9Q
QUwvUEFMLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTIzLDYgKzIzLDggQEAKIC8qIEJl
Z2luIFBCWEJ1aWxkRmlsZSBzZWN0aW9uICovCiAJCTA3MDhBQzMzMUY0Qzg3NEIwMDFGNzg4RiAv
KiBMb2dnZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDA3MDhBQzMyMUY0Qzg3NEEwMDFGNzg4RiAvKiBMb2dnZXIuaCAqLzsgfTsKIAkJMDczNzdBREMx
RjU3NzdEOTAwMjdGMTZEIC8qIExvZ2dlckhlbHBlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDczNzdBREIxRjU3NzdENzAwMjdGMTZEIC8qIExvZ2dl
ckhlbHBlci5oICovOyB9OworCQkwQzAwQ0ZEMzFGNjhDRTQ2MDBBQUMyNkQgLyogTWVkaWFUaW1l
QVZGb3VuZGF0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDBDMDBDRkQxMUY2OENFNDYwMEFBQzI2RCAvKiBNZWRpYVRpbWVBVkZvdW5kYXRpb24u
Y3BwICovOyB9OworCQkwQzAwQ0ZENDFGNjhDRTQ2MDBBQUMyNkQgLyogTWVkaWFUaW1lQVZGb3Vu
ZGF0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAw
QzAwQ0ZEMjFGNjhDRTQ2MDBBQUMyNkQgLyogTWVkaWFUaW1lQVZGb3VuZGF0aW9uLmggKi87IH07
CiAJCTBDMkQ5RTczMUVFRjVBRjYwMERCQzMxNyAvKiBFeHBvcnRNYWNyb3MuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBDMkQ5RTcyMUVFRjVBRjYwMERC
QzMxNyAvKiBFeHBvcnRNYWNyb3MuaCAqLzsgfTsKIAkJMEMyREEwNkQxRjMzQ0E4NDAwREJDMzE3
IC8qIENGTG9jYWxlU1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAwQzJEQTA2NzFGMzNDQTg0MDBEQkMzMTcgLyogQ0ZMb2NhbGVTUEkuaCAqLzsgfTsK
IAkJMEMyREEwNkUxRjMzQ0E4NDAwREJDMzE3IC8qIENGTmV0d29ya0Nvbm5lY3Rpb25DYWNoZVNQ
SS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEMyREEw
NjgxRjMzQ0E4NDAwREJDMzE3IC8qIENGTmV0d29ya0Nvbm5lY3Rpb25DYWNoZVNQSS5oICovOyB9
OwpAQCAtMTQ1LDYgKzE0Nyw4IEBACiAvKiBCZWdpbiBQQlhGaWxlUmVmZXJlbmNlIHNlY3Rpb24g
Ki8KIAkJMDcwOEFDMzIxRjRDODc0QTAwMUY3ODhGIC8qIExvZ2dlci5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBMb2dnZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMDczNzdBREIxRjU3NzdENzAwMjdGMTZEIC8qIExvZ2dlckhlbHBlci5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBMb2dnZXJIZWxwZXIuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJMEMwMENGRDExRjY4Q0U0NjAwQUFDMjZEIC8qIE1lZGlhVGltZUFWRm91bmRh
dGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBNZWRpYVRpbWVB
VkZvdW5kYXRpb24uY3BwOyBwYXRoID0gYXZmb3VuZGF0aW9uL01lZGlhVGltZUFWRm91bmRhdGlv
bi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBDMDBDRkQyMUY2OENFNDYwMEFB
QzI2RCAvKiBNZWRpYVRpbWVBVkZvdW5kYXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBuYW1lID0gTWVkaWFUaW1lQVZGb3VuZGF0aW9uLmg7IHBhdGggPSBhdmZvdW5kYXRpb24vTWVk
aWFUaW1lQVZGb3VuZGF0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBDMkQ5
RTcyMUVFRjVBRjYwMERCQzMxNyAvKiBFeHBvcnRNYWNyb3MuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gRXhwb3J0TWFjcm9zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTBDMkRBMDY3MUYzM0NBODQwMERCQzMxNyAvKiBDRkxvY2FsZVNQSS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBDRkxvY2FsZVNQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkwQzJEQTA2ODFGMzNDQTg0MDBEQkMzMTcgLyogQ0ZOZXR3b3JrQ29ubmVjdGlv
bkNhY2hlU1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENGTmV0d29ya0Nv
bm5lY3Rpb25DYWNoZVNQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjcyLDYg
KzI3NiwxNSBAQAogLyogRW5kIFBCWEZyYW1ld29ya3NCdWlsZFBoYXNlIHNlY3Rpb24gKi8KIAog
LyogQmVnaW4gUEJYR3JvdXAgc2VjdGlvbiAqLworCQkwQzAwQ0ZDQzFGNjhDRTIzMDBBQUMyNkQg
LyogYXZmb3VuZGF0aW9uICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9
ICgKKwkJCQkwQzAwQ0ZEMTFGNjhDRTQ2MDBBQUMyNkQgLyogTWVkaWFUaW1lQVZGb3VuZGF0aW9u
LmNwcCAqLywKKwkJCQkwQzAwQ0ZEMjFGNjhDRTQ2MDBBQUMyNkQgLyogTWVkaWFUaW1lQVZGb3Vu
ZGF0aW9uLmggKi8sCisJCQkpOworCQkJbmFtZSA9IGF2Zm91bmRhdGlvbjsKKwkJCXNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7CisJCX07CiAJCTBDMkRBMDY1MUYzM0NBMzMwMERCQzMxNyAvKiBzcGkg
Ki8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKApAQCAtNDIxLDYgKzQz
NCw3IEBACiAJCTFDMDlEMDNGMUUzMUMzMjgwMDcyNUYxOCAvKiBwYWwgKi8gPSB7CiAJCQlpc2Eg
PSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTBDMDBDRkNDMUY2OENFMjMwMEFBQzI2
RCAvKiBhdmZvdW5kYXRpb24gKi8sCiAJCQkJMUMwOUQwNTExRTMxQzQxMjAwNzI1RjE4IC8qIGNy
eXB0byAqLywKIAkJCQkwQzJEQTA2NTFGMzNDQTMzMDBEQkMzMTcgLyogc3BpICovLAogCQkJCUEz
Nzg4RTlGMUYwNUI3Q0UwMDY3OTQyNSAvKiBzeXN0ZW0gKi8sCkBAIC01NjcsNiArNTgxLDcgQEAK
IAkJCQkwQzJEQTE0ODFGM0JFQjQ5MDBEQkMzMTcgLyogTWFjaFZNU1BJLmggaW4gSGVhZGVycyAq
LywKIAkJCQkwQzVBRjkxRDFGNDNBNEM3MDAyRUFDMDIgLyogTWVkaWFQbGF5ZXJTUEkuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTBDNzc4NThDMUY0NTEzMEYwMEY0RUJCNiAvKiBNZWRpYVJlbW90ZVNQ
SS5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEMwMENGRDQxRjY4Q0U0NjAwQUFDMjZEIC8qIE1lZGlh
VGltZUFWRm91bmRhdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTFGNTVEQ0YxRjU1MjhFQzAw
RURCNzVGIC8qIE1ldGFkYXRhU1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQkwQzVBRjkxRTFGNDNB
NEM3MDAyRUFDMDIgLyogTW9iaWxlR2VzdGFsdFNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEMy
REExNDkxRjNCRUI0OTAwREJDMzE3IC8qIE5FRmlsdGVyU291cmNlU1BJLmggaW4gSGVhZGVycyAq
LywKQEAgLTcxNyw2ICs3MzIsNyBAQAogCQkJCUExMTc1QjU4MUY2QjQ3MDUwMEM0QjlGMCAvKiBE
ZWZhdWx0U2VhcmNoUHJvdmlkZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTMwRDQxMjIxRjBE
RDBFQTAwQjcxOTU0IC8qIEtpbGxSaW5nLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUEzMEQ0MTI1
MUYwREQxMkQwMEI3MTk1NCAvKiBLaWxsUmluZ01hYy5tbSBpbiBTb3VyY2VzICovLAorCQkJCTBD
MDBDRkQzMUY2OENFNDYwMEFBQzI2RCAvKiBNZWRpYVRpbWVBVkZvdW5kYXRpb24uY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJQTExNzVCNEYxRjZCMzM3MzAwQzRCOUYwIC8qIFBvcHVwTWVudS5tbSBp
biBTb3VyY2VzICovLAogCQkJCUEzQzY2Q0RDMUY0NjJENkEwMDlFNkVFOSAvKiBTZXNzaW9uSUQu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTNBQjZFNTIxRjNEMURDNTAwOUMxNEIxIC8qIFNsZWVw
RGlzYWJsZXIuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvY29uZmlnLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvY29uZmlnLmgKaW5kZXggNWMzYmNjMzMw
ZGQ4OTc4ZjUxNGJlZTMwNDQ2YTM2ZGI3YWZkYTIyZi4uZTAxYWYyZmViMzk5YmZlZmUxYTVlMGZh
ZGE4MzBkYjUyMTk4ZjYwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML2NvbmZpZy5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9jb25maWcuaApAQCAtMjMsNiArMjMsMTIgQEAKICNp
bmNsdWRlICJjbWFrZWNvbmZpZy5oIgogI2VuZGlmCiAKKyNpbmNsdWRlIDx3dGYvUGxhdGZvcm0u
aD4KKworI2lmIFBMQVRGT1JNKFdJTikKKyNpbmNsdWRlIDxQQUxIZWFkZXJEZXRlY3Rpb24uaD4K
KyNlbmRpZgorCiAjaW5jbHVkZSA8cGFsL0V4cG9ydE1hY3Jvcy5oPgogCiAjaWZkZWYgX19jcGx1
c3BsdXMKQEAgLTM4LDMgKzQ0LDE1IEBACiAjZW5kaWYKIAogI2luY2x1ZGUgPHd0Zi9EaXNhbGxv
d0NUeXBlLmg+CisKKyNpZiBQTEFURk9STShXSU4pICYmIFVTRShDRykgJiYgSEFWRShBVkNGKQor
I2RlZmluZSBVU0VfQVZGT1VOREFUSU9OIDEKKworI2lmIEhBVkUoQVZDRl9MRUdJQkxFX09VVFBV
VCkKKyNkZWZpbmUgVVNFX0FWRk9VTkRBVElPTiAxCisjZGVmaW5lIEhBVkVfQVZGT1VOREFUSU9O
X01FRElBX1NFTEVDVElPTl9HUk9VUCAxCisjZGVmaW5lIEhBVkVfQVZGT1VOREFUSU9OX0xFR0lC
TEVfT1VUUFVUX1NVUFBPUlQgMQorI2RlZmluZSBIQVZFX01FRElBX0FDQ0VTU0lCSUxJVFlfRlJB
TUVXT1JLIDEKKyNlbmRpZgorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BB
TC9wYWwvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL0NNYWtlTGlzdHMu
dHh0CmluZGV4IDZmYTE2NDViODU1NjgzZTNiYTIyNzg4ZjA3YTk5ODY5YTA4NGNlYTcuLjFmMzdl
OTI4OGYyZTgxYWI4YjE3ODc1ZTYyYTFjODA5NmZlZTc5MzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1BBTC9wYWwvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3Bh
bC9DTWFrZUxpc3RzLnR4dApAQCAtMTcsNyArMTcsNyBAQCBzZXQoUEFMX1BSSVZBVEVfSU5DTFVE
RV9ESVJFQ1RPUklFUwogKQogCiBzZXQoUEFMX0xJQlJBUklFUwotICAgIFdURgorICAgIFBSSVZB
VEUgV1RGCiApCiAKIFdFQktJVF9GUkFNRVdPUktfREVDTEFSRShQQUwpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9QQUwvcGFsL1BsYXRmb3JtQXBwbGVXaW4uY21ha2UgYi9Tb3VyY2UvV2Vi
Q29yZS9QQUwvcGFsL1BsYXRmb3JtQXBwbGVXaW4uY21ha2UKaW5kZXggNTk1YjMzY2JjOWY5YjQ4
OWViMjMxMDZlNTg1ZWYwOGU0M2I3MzNlYi4uODkzZGE1ZjU2YzJiMzI2YmM4YzFkZjdmNzJiOGNk
NDg0Y2E0OWJjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9QbGF0Zm9ybUFw
cGxlV2luLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvUGxhdGZvcm1BcHBsZVdp
bi5jbWFrZQpAQCAtOCwzICs4LDExIEBAIGVsc2UgKCkKICAgICAgICAgc3BpL2NnCiAgICAgKQog
ZW5kaWYgKCkKKworbGlzdChBUFBFTkQgUEFMX1NPVVJDRVMKKyAgICBhdmZvdW5kYXRpb24vTWVk
aWFUaW1lQVZGb3VuZGF0aW9uLmNwcAorKQorCitsaXN0KEFQUEVORCBQQUxfTElCUkFSSUVTCisg
ICAgUFJJVkFURSBDb3JlTWVkaWEke0RFQlVHX1NVRkZJWH0KKykKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL1BBTC9wYWwvUGxhdGZvcm1XaW4uY21ha2UgYi9Tb3VyY2UvV2ViQ29yZS9QQUwv
cGFsL1BsYXRmb3JtV2luLmNtYWtlCmluZGV4IGU4YjFiYjYzM2U2NTBlMzU1ZTdlNDBhNjI5NTNi
ZmNiODcyODQzOWMuLjhmMWZmODg0YWI4YzIwYWVhYWQ3MWYwOTQ1NjgzM2FkZDE4ODhlYmEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvUGxhdGZvcm1XaW4uY21ha2UKKysrIGIv
U291cmNlL1dlYkNvcmUvUEFML3BhbC9QbGF0Zm9ybVdpbi5jbWFrZQpAQCAtOSw2ICs5LDcgQEAg
bGlzdChBUFBFTkQgUEFMX1NPVVJDRVMKIGxpc3QoQVBQRU5EIFBBTF9JTkNMVURFX0RJUkVDVE9S
SUVTCiAgICAgIiR7Q01BS0VfQklOQVJZX0RJUn0iCiAgICAgIiR7Q01BS0VfQklOQVJZX0RJUn0v
Li4vaW5jbHVkZS9wcml2YXRlIgorICAgICIke0RFUklWRURfU09VUkNFU19QQUxfRElSfSIKICkK
IAogbGlzdChBUFBFTkQgUEFMX0ZPUldBUkRJTkdfSEVBREVSU19ESVJFQ1RPUklFUyAuKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9hdmZvdW5kYXRpb24vTWVkaWFUaW1lQVZG
b3VuZGF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvYXZmb3VuZGF0aW9uL01lZGlh
VGltZUFWRm91bmRhdGlvbi5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjdhNGYxMmVkY2QxODI2ZWQ1OGVhYTk2
MzA2ODM2NDFhZmM4MDIyOAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9w
YWwvYXZmb3VuZGF0aW9uL01lZGlhVGltZUFWRm91bmRhdGlvbi5jcHAKQEAgLTAsMCArMSw3OCBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMy0yMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
CisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNp
bmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJNZWRpYVRpbWVBVkZvdW5kYXRpb24uaCIKKwor
I2lmIFVTRShBVkZPVU5EQVRJT04pCisKK25hbWVzcGFjZSBQQUwgeworCitzdGF0aWMgYm9vbCBD
TVRpbWVIYXNGbGFncyhjb25zdCBDTVRpbWUmIGNtVGltZSwgdWludDMyX3QgZmxhZ3MpCit7Cisg
ICAgcmV0dXJuIChjbVRpbWUuZmxhZ3MgJiBmbGFncykgPT0gZmxhZ3M7Cit9CisKK01lZGlhVGlt
ZSB0b01lZGlhVGltZShjb25zdCBDTVRpbWUmIGNtVGltZSkKK3sKKyAgICB1aW50MzJfdCBmbGFn
cyA9IDA7CisgICAgaWYgKENNVGltZUhhc0ZsYWdzKGNtVGltZSwga0NNVGltZUZsYWdzX1ZhbGlk
KSkKKyAgICAgICAgZmxhZ3MgfD0gTWVkaWFUaW1lOjpWYWxpZDsKKyAgICBpZiAoQ01UaW1lSGFz
RmxhZ3MoY21UaW1lLCBrQ01UaW1lRmxhZ3NfVmFsaWQgfCBrQ01UaW1lRmxhZ3NfSGFzQmVlblJv
dW5kZWQpKQorICAgICAgICBmbGFncyB8PSBNZWRpYVRpbWU6Okhhc0JlZW5Sb3VuZGVkOworICAg
IGlmIChDTVRpbWVIYXNGbGFncyhjbVRpbWUsIGtDTVRpbWVGbGFnc19WYWxpZCB8IGtDTVRpbWVG
bGFnc19Qb3NpdGl2ZUluZmluaXR5KSkKKyAgICAgICAgZmxhZ3MgfD0gTWVkaWFUaW1lOjpQb3Np
dGl2ZUluZmluaXRlOworICAgIGlmIChDTVRpbWVIYXNGbGFncyhjbVRpbWUsIGtDTVRpbWVGbGFn
c19WYWxpZCB8IGtDTVRpbWVGbGFnc19OZWdhdGl2ZUluZmluaXR5KSkKKyAgICAgICAgZmxhZ3Mg
fD0gTWVkaWFUaW1lOjpOZWdhdGl2ZUluZmluaXRlOworICAgIGlmIChDTVRpbWVIYXNGbGFncyhj
bVRpbWUsIGtDTVRpbWVGbGFnc19WYWxpZCB8IGtDTVRpbWVGbGFnc19JbmRlZmluaXRlKSkKKyAg
ICAgICAgZmxhZ3MgfD0gTWVkaWFUaW1lOjpJbmRlZmluaXRlOworCisgICAgcmV0dXJuIE1lZGlh
VGltZShjbVRpbWUudmFsdWUsIGNtVGltZS50aW1lc2NhbGUsIGZsYWdzKTsKK30KKworQ01UaW1l
IHRvQ01UaW1lKGNvbnN0IE1lZGlhVGltZSYgbWVkaWFUaW1lKQoreworICAgIENNVGltZSB0aW1l
OworCisgICAgaWYgKG1lZGlhVGltZS5oYXNEb3VibGVWYWx1ZSgpKQorICAgICAgICB0aW1lID0g
Q01UaW1lTWFrZVdpdGhTZWNvbmRzKG1lZGlhVGltZS50b0RvdWJsZSgpLCBtZWRpYVRpbWUudGlt
ZVNjYWxlKCkpOworICAgIGVsc2UKKyAgICAgICAgdGltZSA9IENNVGltZU1ha2UobWVkaWFUaW1l
LnRpbWVWYWx1ZSgpLCBtZWRpYVRpbWUudGltZVNjYWxlKCkpOworCisgICAgaWYgKG1lZGlhVGlt
ZS5pc1ZhbGlkKCkpCisgICAgICAgIHRpbWUuZmxhZ3MgfD0ga0NNVGltZUZsYWdzX1ZhbGlkOwor
ICAgIGlmIChtZWRpYVRpbWUuaGFzQmVlblJvdW5kZWQoKSkKKyAgICAgICAgdGltZS5mbGFncyB8
PSBrQ01UaW1lRmxhZ3NfSGFzQmVlblJvdW5kZWQ7CisgICAgaWYgKG1lZGlhVGltZS5pc1Bvc2l0
aXZlSW5maW5pdGUoKSkKKyAgICAgICAgdGltZS5mbGFncyB8PSBrQ01UaW1lRmxhZ3NfUG9zaXRp
dmVJbmZpbml0eTsKKyAgICBpZiAobWVkaWFUaW1lLmlzTmVnYXRpdmVJbmZpbml0ZSgpKQorICAg
ICAgICB0aW1lLmZsYWdzIHw9IGtDTVRpbWVGbGFnc19OZWdhdGl2ZUluZmluaXR5OworCisgICAg
cmV0dXJuIHRpbWU7Cit9CisKK30KKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9QQUwvcGFsL2F2Zm91bmRhdGlvbi9NZWRpYVRpbWVBVkZvdW5kYXRpb24uaCBiL1NvdXJjZS9X
ZWJDb3JlL1BBTC9wYWwvYXZmb3VuZGF0aW9uL01lZGlhVGltZUFWRm91bmRhdGlvbi5oCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmIzZGJlMTdhYTliYzEyNTFkY2UyZWM4YWRlZTdjYjg0OTQ3OWJmNzAKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2F2Zm91bmRhdGlvbi9NZWRpYVRpbWVB
VkZvdW5kYXRpb24uaApAQCAtMCwwICsxLDQwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEz
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuIAorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgVVNFKEFWRk9VTkRBVElP
TikKKworI2luY2x1ZGUgPENvcmVNZWRpYS9DTVRpbWUuaD4KKyNpbmNsdWRlIDx3dGYvTWVkaWFU
aW1lLmg+CisKK25hbWVzcGFjZSBQQUwgeworCitQQUxfRVhQT1JUIENNVGltZSB0b0NNVGltZShj
b25zdCBNZWRpYVRpbWUmKTsKK1BBTF9FWFBPUlQgTWVkaWFUaW1lIHRvTWVkaWFUaW1lKGNvbnN0
IENNVGltZSYpOworCit9CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUGxh
dGZvcm1BcHBsZVdpbi5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtQXBwbGVXaW4uY21h
a2UKaW5kZXggYjc5NTViODQwZjEwMjFkOTBjZTljOGI0MzRhZjUzY2ExODJkODNhMS4uNjZiY2Ix
Njk0MWM1ZTFkMmRiODNhZDlkMWUzNzlmMDA0YmIzNGIyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvUGxhdGZvcm1BcHBsZVdpbi5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9y
bUFwcGxlV2luLmNtYWtlCkBAIC0zNyw3ICszNyw2IEBAIGxpc3QoQVBQRU5EIFdlYkNvcmVfU09V
UkNFUwogICAgIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9JbmJhbmRNZXRhZGF0YVRl
eHRUcmFja1ByaXZhdGVBVkYuY3BwCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9u
L0luYmFuZFRleHRUcmFja1ByaXZhdGVBVkYuY3BwCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvYXZm
b3VuZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5jcHAKLSAgICBwbGF0Zm9y
bS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFUaW1lQVZGb3VuZGF0aW9uLmNwcAogICAgIHBs
YXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9XZWJNZWRpYVNlc3Npb25NYW5hZ2VyTWFjLmNw
cAogCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL2NmL0NETVNlc3Npb25BVkZv
dW5kYXRpb25DRi5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagppbmRleCAzMTFlNmNhYWUyMWRkOGUxMTc1MzI2OGJkMDkyNGM0YzY4NTEz
MDRiLi5hYzlhMzcxNGZhNjIwOTUyNTNkZWY0ZTNhYjg2MTRjNjE5MDgxZTBjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC02MzM2
LDggKzYzMzYsNiBAQAogCQlDRDYyRkI5NjFBRjAxOEU3MDAxMkVEN0QgLyogR2VuZXJpY1Rhc2tR
dWV1ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q2
MkZCOTQxQUYwMThFNzAwMTJFRDdEIC8qIEdlbmVyaWNUYXNrUXVldWUuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlDRDY0MUVCMzE4MThGNUVEMDBF
RTRDNDEgLyogTWVkaWFTb3VyY2VQcml2YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBDRDY0MUVCMTE4MThGNUVEMDBFRTRDNDEgLyogTWVkaWFTb3Vy
Y2VQcml2YXRlLmggKi87IH07CiAJCUNENjQxRUI0MTgxOEY1RUQwMEVFNEM0MSAvKiBTb3VyY2VC
dWZmZXJQcml2YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBDRDY0MUVCMjE4MThGNUVEMDBFRTRDNDEgLyogU291cmNlQnVmZmVyUHJpdmF0ZS5oICov
OyB9OwotCQlDRDY0MUVCRjE4MTlCMzYwMDBFRTRDNDEgLyogTWVkaWFUaW1lQVZGb3VuZGF0aW9u
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENENjQx
RUJEMTgxOUIzNTkwMEVFNEM0MSAvKiBNZWRpYVRpbWVBVkZvdW5kYXRpb24uY3BwICovOyB9Owot
CQlDRDY0MUVDMDE4MTlCMzYwMDBFRTRDNDEgLyogTWVkaWFUaW1lQVZGb3VuZGF0aW9uLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDY0MUVCRTE4MTlC
MzU5MDBFRTRDNDEgLyogTWVkaWFUaW1lQVZGb3VuZGF0aW9uLmggKi87IH07CiAJCUNENjY5RDY4
MUQyMzM2NEIwMDREMTg2NiAvKiBNZWRpYVNlc3Npb25NYW5hZ2VyQ29jb2EuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q2NjlENjYxRDIzMkRGRjAw
NEQxODY2IC8qIE1lZGlhU2Vzc2lvbk1hbmFnZXJDb2NvYS5jcHAgKi87IH07CiAJCUNEN0QzMzQz
MUM3QTEyM0YwMDA0MTI5MyAvKiBQaXhlbEJ1ZmZlckNvbmZvcm1lckNWLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEN0QzMzQxMUM3QTEyM0YwMDA0
MTI5MyAvKiBQaXhlbEJ1ZmZlckNvbmZvcm1lckNWLmNwcCAqLzsgfTsKIAkJQ0Q3RDMzNDQxQzdB
MTIzRjAwMDQxMjkzIC8qIFBpeGVsQnVmZmVyQ29uZm9ybWVyQ1YuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEN0QzMzQyMUM3QTEyM0YwMDA0MTI5MyAv
KiBQaXhlbEJ1ZmZlckNvbmZvcm1lckNWLmggKi87IH07CkBAIC0xNTA5Myw4ICsxNTA5MSw2IEBA
CiAJCUNENjJGQjk0MUFGMDE4RTcwMDEyRUQ3RCAvKiBHZW5lcmljVGFza1F1ZXVlLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdlbmVyaWNUYXNrUXVldWUuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0Q2NDFFQjExODE4RjVFRDAwRUU0QzQxIC8qIE1lZGlhU291
cmNlUHJpdmF0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYVNvdXJj
ZVByaXZhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0Q2NDFFQjIxODE4RjVF
RDAwRUU0QzQxIC8qIFNvdXJjZUJ1ZmZlclByaXZhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gU291cmNlQnVmZmVyUHJpdmF0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwotCQlDRDY0MUVCRDE4MTlCMzU5MDBFRTRDNDEgLyogTWVkaWFUaW1lQVZGb3VuZGF0aW9u
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1lZGlhVGltZUFWRm91bmRhdGlvbi5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUNENjQxRUJFMTgxOUIzNTkwMEVFNEM0MSAvKiBNZWRp
YVRpbWVBVkZvdW5kYXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVkaWFUaW1lQVZGb3VuZGF0aW9u
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNENjQxRUM3MTgxRUQ2MDEwMEVFNEM0
MSAvKiBNZWRpYVNhbXBsZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYVNhbXBsZS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlDRDY2OUQ2NjFEMjMyREZGMDA0RDE4NjYgLyogTWVkaWFT
ZXNzaW9uTWFuYWdlckNvY29hLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFt
ZSA9IE1lZGlhU2Vzc2lvbk1hbmFnZXJDb2NvYS5jcHA7IHBhdGggPSBjb2NvYS9NZWRpYVNlc3Np
b25NYW5hZ2VyQ29jb2EuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDRDY2OUQ2
NzFEMjMyRTEwMDA0RDE4NjYgLyogTWVkaWFTZXNzaW9uTWFuYWdlck1hYy5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYVNlc3Npb25NYW5hZ2VyTWFjLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNjY3NSw4ICsxNjY3MSw2IEBACiAJCQkJMDc2RjBEMEEx
MkI4MTkyNzAwQzI2QUE0IC8qIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5oICovLAog
CQkJCUNEQkVBRUFCMTlEOTJCNkMwMEJFQkE4OCAvKiBNZWRpYVNlbGVjdGlvbkdyb3VwQVZGT2Jq
Qy5oICovLAogCQkJCUNEQkVBRUFBMTlEOTJCNkMwMEJFQkE4OCAvKiBNZWRpYVNlbGVjdGlvbkdy
b3VwQVZGT2JqQy5tbSAqLywKLQkJCQlDRDY0MUVCRDE4MTlCMzU5MDBFRTRDNDEgLyogTWVkaWFU
aW1lQVZGb3VuZGF0aW9uLmNwcCAqLywKLQkJCQlDRDY0MUVCRTE4MTlCMzU5MDBFRTRDNDEgLyog
TWVkaWFUaW1lQVZGb3VuZGF0aW9uLmggKi8sCiAJCQkJQ0QzMzZGNjMxN0ZBMEE0RDAwREREQ0Qw
IC8qIFZpZGVvVHJhY2tQcml2YXRlQVZGLmggKi8sCiAJCQkJMDcwOUQ3OTAxQUU1NTU3RTAwNEU0
MkY4IC8qIFdlYk1lZGlhU2Vzc2lvbk1hbmFnZXJNYWMuY3BwICovLAogCQkJCTA3MDlENzkxMUFF
NTU1N0UwMDRFNDJGOCAvKiBXZWJNZWRpYVNlc3Npb25NYW5hZ2VyTWFjLmggKi8sCkBAIC0yOTM3
MSw3ICsyOTM2NSw2IEBACiAJCQkJMDc4RTA5MTgxN0QxNEQxQzAwNDIwQUExIC8qIE1lZGlhU3Ry
ZWFtVHJhY2suaCBpbiBIZWFkZXJzICovLAogCQkJCTA3OEUwOTE5MTdEMTREMUMwMDQyMEFBMSAv
KiBNZWRpYVN0cmVhbVRyYWNrRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTA3RkZERTY5MTgx
QUVENDIwMDcyRDQwOSAvKiBNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8s
Ci0JCQkJQ0Q2NDFFQzAxODE5QjM2MDAwRUU0QzQxIC8qIE1lZGlhVGltZUFWRm91bmRhdGlvbi5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQ0Q2MEMwQzcxOTNFODdDNzAwM0M2NTZCIC8qIE1lZGlhVGlt
ZVFUS2l0LmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzJDQzBCNzFERkZEMTU4MDA0QzBGOUYgLyog
TWVkaWFUcmFja0NvbnN0cmFpbnRzLmggaW4gSGVhZGVycyAqLywKIAkJCQkwN0MxQzBFMjFCRkI2
MDAxMDBCRDIyNTYgLyogTWVkaWFUcmFja1N1cHBvcnRlZENvbnN0cmFpbnRzLmggaW4gSGVhZGVy
cyAqLywKQEAgLTMzNDQxLDcgKzMzNDM0LDYgQEAKIAkJCQkwNzhFMDkwMjE3RDE0Q0VFMDA0MjBB
QTEgLyogTWVkaWFTdHJlYW1UcmFjay5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwNzhFMDkwMzE3
RDE0Q0VFMDA0MjBBQTEgLyogTWVkaWFTdHJlYW1UcmFja0V2ZW50LmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTA3RkZERTY4MTgxQUVENDIwMDcyRDQwOSAvKiBNZWRpYVN0cmVhbVRyYWNrUHJpdmF0
ZS5jcHAgaW4gU291cmNlcyAqLywKLQkJCQlDRDY0MUVCRjE4MTlCMzYwMDBFRTRDNDEgLyogTWVk
aWFUaW1lQVZGb3VuZGF0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUNENjBDMEM2MTkzRTg3
QzcwMDNDNjU2QiAvKiBNZWRpYVRpbWVRVEtpdC5tbSBpbiBTb3VyY2VzICovLAogCQkJCTkzMkND
MEY3MURGRkRBMUYwMDRDMEY5RiAvKiBNZWRpYVRyYWNrQ29uc3RyYWludHMuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJNTFFMUJBQzIxQkQ4MDY0RTAwNTVEODFGIC8qIE1lbW9yeUJhY2tpbmdTdG9y
ZVRyYW5zYWN0aW9uLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vYXVkaW8vbWFjL0F1ZGlvU2FtcGxlRGF0YVNvdXJjZS5tbSBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL21hYy9BdWRpb1NhbXBsZURhdGFTb3VyY2UubW0KaW5kZXgg
ZGQ2MmMwZTIwNDFhOWY0YjE5MTQxYTQ3MzY0ZTBjMmQxNGU5ZmIwZS4uOTBmMzZkY2E2NjZjNDc5
MzZjOWIzMTZkMTExYWNiNzJlZjA5ODk4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vYXVkaW8vbWFjL0F1ZGlvU2FtcGxlRGF0YVNvdXJjZS5tbQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9hdWRpby9tYWMvQXVkaW9TYW1wbGVEYXRhU291cmNlLm1tCkBAIC0zMSwx
MSArMzEsMTEgQEAKICNpbmNsdWRlICJDQUF1ZGlvU3RyZWFtRGVzY3JpcHRpb24uaCIKICNpbmNs
dWRlICJDQVJpbmdCdWZmZXIuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCi0jaW5jbHVkZSAiTWVk
aWFUaW1lQVZGb3VuZGF0aW9uLmgiCiAjaW5jbHVkZSA8QXVkaW9Ub29sYm94L0F1ZGlvQ29udmVy
dGVyLmg+CiAjaW5jbHVkZSA8bWFjaC9tYWNoLmg+CiAjaW5jbHVkZSA8bWFjaC9tYWNoX3RpbWUu
aD4KICNpbmNsdWRlIDxtdXRleD4KKyNpbmNsdWRlIDxwYWwvYXZmb3VuZGF0aW9uL01lZGlhVGlt
ZUFWRm91bmRhdGlvbi5oPgogI2luY2x1ZGUgPHN5c2xvZy5oPgogI2luY2x1ZGUgPHd0Zi9DdXJy
ZW50VGltZS5oPgogI2luY2x1ZGUgPHd0Zi9TdHJpbmdQcmludFN0cmVhbS5oPgpAQCAtMTkyLDcg
KzE5Miw3IEBAIHZvaWQgQXVkaW9TYW1wbGVEYXRhU291cmNlOjpwdXNoU2FtcGxlcyhjb25zdCBB
dWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24mIHNhbXBsCiAgICAgQVNTRVJUKG1fcmluZ0J1ZmZl
cik7CiAgICAgCiAgICAgV2ViQXVkaW9CdWZmZXJMaXN0IGxpc3QoKm1faW5wdXREZXNjcmlwdGlv
biwgc2FtcGxlQnVmZmVyKTsKLSAgICBwdXNoU2FtcGxlc0ludGVybmFsKGxpc3QsIHRvTWVkaWFU
aW1lKENNU2FtcGxlQnVmZmVyR2V0UHJlc2VudGF0aW9uVGltZVN0YW1wKHNhbXBsZUJ1ZmZlcikp
LCBDTVNhbXBsZUJ1ZmZlckdldE51bVNhbXBsZXMoc2FtcGxlQnVmZmVyKSk7CisgICAgcHVzaFNh
bXBsZXNJbnRlcm5hbChsaXN0LCBQQUw6OnRvTWVkaWFUaW1lKENNU2FtcGxlQnVmZmVyR2V0UHJl
c2VudGF0aW9uVGltZVN0YW1wKHNhbXBsZUJ1ZmZlcikpLCBDTVNhbXBsZUJ1ZmZlckdldE51bVNh
bXBsZXMoc2FtcGxlQnVmZmVyKSk7CiB9CiAKIHZvaWQgQXVkaW9TYW1wbGVEYXRhU291cmNlOjpw
dXNoU2FtcGxlcyhjb25zdCBNZWRpYVRpbWUmIHNhbXBsZVRpbWUsIGNvbnN0IFBsYXRmb3JtQXVk
aW9EYXRhJiBhdWRpb0RhdGEsIHNpemVfdCBzYW1wbGVDb3VudCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9BdWRpb1NvdXJjZVByb3Zp
ZGVyQVZGT2JqQy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRh
dGlvbi9BdWRpb1NvdXJjZVByb3ZpZGVyQVZGT2JqQy5tbQppbmRleCA4MWY3MjJmOTVhODg5MmM3
ZDMyNmQ2MTFiODVlZGY5NWY1YmQxZDE4Li42NDJjNzE2YTA0MWY4MTlmNmFhMjU4Nzg3YjhjOGZj
N2IzNjcxMWQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9h
dmZvdW5kYXRpb24vQXVkaW9Tb3VyY2VQcm92aWRlckFWRk9iakMubW0KKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL0F1ZGlvU291cmNlUHJvdmlkZXJB
VkZPYmpDLm1tCkBAIC0zMywxMyArMzMsMTMgQEAKICNpbXBvcnQgIkF1ZGlvU291cmNlUHJvdmlk
ZXJDbGllbnQuaCIKICNpbXBvcnQgIkNBUmluZ0J1ZmZlci5oIgogI2ltcG9ydCAiTG9nZ2luZy5o
IgotI2ltcG9ydCAiTWVkaWFUaW1lQVZGb3VuZGF0aW9uLmgiCiAjaW1wb3J0IDxBVkZvdW5kYXRp
b24vQVZBc3NldFRyYWNrLmg+CiAjaW1wb3J0IDxBVkZvdW5kYXRpb24vQVZBdWRpb01peC5oPgog
I2ltcG9ydCA8QVZGb3VuZGF0aW9uL0FWTWVkaWFGb3JtYXQuaD4KICNpbXBvcnQgPEFWRm91bmRh
dGlvbi9BVlBsYXllckl0ZW0uaD4KICNpbXBvcnQgPG11dGV4PgogI2ltcG9ydCA8b2JqYy9ydW50
aW1lLmg+CisjaW1wb3J0IDxwYWwvYXZmb3VuZGF0aW9uL01lZGlhVGltZUFWRm91bmRhdGlvbi5o
PgogI2ltcG9ydCA8d3RmL0xvY2suaD4KICNpbXBvcnQgPHd0Zi9NYWluVGhyZWFkLmg+CiAKQEAg
LTM2NywxMyArMzY3LDEzIEBAIHZvaWQgQXVkaW9Tb3VyY2VQcm92aWRlckFWRk9iakM6OnByb2Nl
c3MoTVRBdWRpb1Byb2Nlc3NpbmdUYXBSZWYgdGFwLCBDTUl0ZW1Db3VuCiAgICAgaWYgKHN0YXR1
cyAhPSBub0VyciB8fCAhaXRlbUNvdW50KQogICAgICAgICByZXR1cm47CiAKLSAgICBNZWRpYVRp
bWUgcmFuZ2VTdGFydCA9IHRvTWVkaWFUaW1lKHJhbmdlT3V0LnN0YXJ0KTsKLSAgICBNZWRpYVRp
bWUgcmFuZ2VEdXJhdGlvbiA9IHRvTWVkaWFUaW1lKHJhbmdlT3V0LmR1cmF0aW9uKTsKKyAgICBN
ZWRpYVRpbWUgcmFuZ2VTdGFydCA9IFBBTDo6dG9NZWRpYVRpbWUocmFuZ2VPdXQuc3RhcnQpOwor
ICAgIE1lZGlhVGltZSByYW5nZUR1cmF0aW9uID0gUEFMOjp0b01lZGlhVGltZShyYW5nZU91dC5k
dXJhdGlvbik7CiAKICAgICBpZiAocmFuZ2VTdGFydC5pc0ludmFsaWQoKSkKICAgICAgICAgcmV0
dXJuOwogCi0gICAgTWVkaWFUaW1lIGN1cnJlbnRUaW1lID0gdG9NZWRpYVRpbWUoQ01UaW1lYmFz
ZUdldFRpbWUoW21fYXZQbGF5ZXJJdGVtIHRpbWViYXNlXSkpOworICAgIE1lZGlhVGltZSBjdXJy
ZW50VGltZSA9IFBBTDo6dG9NZWRpYVRpbWUoQ01UaW1lYmFzZUdldFRpbWUoW21fYXZQbGF5ZXJJ
dGVtIHRpbWViYXNlXSkpOwogICAgIGlmIChjdXJyZW50VGltZS5pc0ludmFsaWQoKSkKICAgICAg
ICAgcmV0dXJuOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9hdmZvdW5kYXRpb24vSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUFWRi5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vSW5iYW5kVGV4dFRyYWNrUHJpdmF0
ZUFWRi5jcHAKaW5kZXggOGQ0NWQzNzFiNWVkZDA1ZTliMTUyY2U0YmJjYzQxNjZkNDgxOWMxYy4u
ZTM4ZDU5NTEzNTQ1YzQ3NThhNmRlYzY4NWY3MzkxNWFlOTI0MGRkZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL0luYmFuZFRleHRUcmFj
a1ByaXZhdGVBVkYuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2
Zm91bmRhdGlvbi9JbmJhbmRUZXh0VHJhY2tQcml2YXRlQVZGLmNwcApAQCAtMzIsMTcgKzMyLDE2
IEBACiAjaW5jbHVkZSAiSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUNsaWVudC5oIgogI2luY2x1ZGUg
IkxvZ2dpbmcuaCIKICNpbmNsdWRlICJNZWRpYVBsYXllci5oIgotI2luY2x1ZGUgIk1lZGlhVGlt
ZUFWRm91bmRhdGlvbi5oIgorI2luY2x1ZGUgPHBhbC9hdmZvdW5kYXRpb24vTWVkaWFUaW1lQVZG
b3VuZGF0aW9uLmg+CiAjaW5jbHVkZSA8cnVudGltZS9BcnJheUJ1ZmZlci5oPgogI2luY2x1ZGUg
PHJ1bnRpbWUvRGF0YVZpZXcuaD4KICNpbmNsdWRlIDxydW50aW1lL0ludDhBcnJheS5oPgogI2lu
Y2x1ZGUgPHd0Zi9NZWRpYVRpbWUuaD4KKyNpbmNsdWRlIDx3dGYvU3RyaW5nUHJpbnRTdHJlYW0u
aD4KICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3Ry
aW5nQnVpbGRlci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogI2luY2x1ZGUg
PHd0Zi91bmljb2RlL0NoYXJhY3Rlck5hbWVzLmg+Ci0jaW5jbHVkZSA8d3RmL1N0cmluZ1ByaW50
U3RyZWFtLmg+Ci0KICNpbmNsdWRlICJDb3JlTWVkaWFTb2Z0TGluay5oIgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CkBAIC01NTUsNyArNTU0LDcgQEAgYm9vbCBJbmJhbmRUZXh0VHJhY2tQcml2YXRl
QVZGOjpyZWFkTmF0aXZlU2FtcGxlQnVmZmVyKENGQXJyYXlSZWYgbmF0aXZlU2FtcGxlcywKICAg
ICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KIAotICAgIGR1cmF0aW9uID0gdG9NZWRpYVRpbWUo
dGltaW5nSW5mby5kdXJhdGlvbik7CisgICAgZHVyYXRpb24gPSBQQUw6OnRvTWVkaWFUaW1lKHRp
bWluZ0luZm8uZHVyYXRpb24pOwogCiAgICAgQ01CbG9ja0J1ZmZlclJlZiBibG9ja0J1ZmZlciA9
IENNU2FtcGxlQnVmZmVyR2V0RGF0YUJ1ZmZlcihzYW1wbGVCdWZmZXIpOwogICAgIHNpemVfdCBi
dWZmZXJMZW5ndGggPSBDTUJsb2NrQnVmZmVyR2V0RGF0YUxlbmd0aChibG9ja0J1ZmZlcik7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24v
TWVkaWFTYW1wbGVBVkZPYmpDLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9h
dmZvdW5kYXRpb24vTWVkaWFTYW1wbGVBVkZPYmpDLmgKaW5kZXggZTMzNGNhNDNlNmJmN2RlZmJl
MmRmYzFlZDMxOWJmYzUyMDBmNGNkZi4uNTQ4MDM0ZDgwNzVjZTk1OTRjOGY1NWQ4YmViMGExNTc3
OTFhNGE2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZm
b3VuZGF0aW9uL01lZGlhU2FtcGxlQVZGT2JqQy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVNhbXBsZUFWRk9iakMuaApAQCAtMjYsNyAr
MjYsNyBAQAogI3ByYWdtYSBvbmNlCiAKICNpbmNsdWRlICJNZWRpYVNhbXBsZS5oIgotI2luY2x1
ZGUgIk1lZGlhVGltZUFWRm91bmRhdGlvbi5oIgorI2luY2x1ZGUgPHBhbC9hdmZvdW5kYXRpb24v
TWVkaWFUaW1lQVZGb3VuZGF0aW9uLmg+CiAKICNpbmNsdWRlIDxydW50aW1lL1VpbnQ4Q2xhbXBl
ZEFycmF5Lmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVRpbWVBVkZvdW5kYXRp
b24uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01l
ZGlhVGltZUFWRm91bmRhdGlvbi5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ3
NzM2MjY4MmIwNzA5MWM5MDIzMWE2YjE0YmJhMzU5NzljOGYwZDYuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhVGltZUFWRm91bmRhdGlvbi5jcHAKKysrIC9kZXYvbnVs
bApAQCAtMSw4MCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEzLTIwMTUgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
Ci0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0g
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUK
LSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4gCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIk1lZGlhVGltZUFW
Rm91bmRhdGlvbi5oIgotCi0jaWYgVVNFKEFWRk9VTkRBVElPTikKLQotI2luY2x1ZGUgIkNvcmVN
ZWRpYVNvZnRMaW5rLmgiCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotc3RhdGljIGJvb2wgQ01U
aW1lSGFzRmxhZ3MoY29uc3QgQ01UaW1lJiBjbVRpbWUsIHVpbnQzMl90IGZsYWdzKQotewotICAg
IHJldHVybiAoY21UaW1lLmZsYWdzICYgZmxhZ3MpID09IGZsYWdzOwotfQotCi1NZWRpYVRpbWUg
dG9NZWRpYVRpbWUoY29uc3QgQ01UaW1lJiBjbVRpbWUpCi17Ci0gICAgdWludDMyX3QgZmxhZ3Mg
PSAwOwotICAgIGlmIChDTVRpbWVIYXNGbGFncyhjbVRpbWUsIGtDTVRpbWVGbGFnc19WYWxpZCkp
Ci0gICAgICAgIGZsYWdzIHw9IE1lZGlhVGltZTo6VmFsaWQ7Ci0gICAgaWYgKENNVGltZUhhc0Zs
YWdzKGNtVGltZSwga0NNVGltZUZsYWdzX1ZhbGlkIHwga0NNVGltZUZsYWdzX0hhc0JlZW5Sb3Vu
ZGVkKSkKLSAgICAgICAgZmxhZ3MgfD0gTWVkaWFUaW1lOjpIYXNCZWVuUm91bmRlZDsKLSAgICBp
ZiAoQ01UaW1lSGFzRmxhZ3MoY21UaW1lLCBrQ01UaW1lRmxhZ3NfVmFsaWQgfCBrQ01UaW1lRmxh
Z3NfUG9zaXRpdmVJbmZpbml0eSkpCi0gICAgICAgIGZsYWdzIHw9IE1lZGlhVGltZTo6UG9zaXRp
dmVJbmZpbml0ZTsKLSAgICBpZiAoQ01UaW1lSGFzRmxhZ3MoY21UaW1lLCBrQ01UaW1lRmxhZ3Nf
VmFsaWQgfCBrQ01UaW1lRmxhZ3NfTmVnYXRpdmVJbmZpbml0eSkpCi0gICAgICAgIGZsYWdzIHw9
IE1lZGlhVGltZTo6TmVnYXRpdmVJbmZpbml0ZTsKLSAgICBpZiAoQ01UaW1lSGFzRmxhZ3MoY21U
aW1lLCBrQ01UaW1lRmxhZ3NfVmFsaWQgfCBrQ01UaW1lRmxhZ3NfSW5kZWZpbml0ZSkpCi0gICAg
ICAgIGZsYWdzIHw9IE1lZGlhVGltZTo6SW5kZWZpbml0ZTsKLQotICAgIHJldHVybiBNZWRpYVRp
bWUoY21UaW1lLnZhbHVlLCBjbVRpbWUudGltZXNjYWxlLCBmbGFncyk7Ci19Ci0KLUNNVGltZSB0
b0NNVGltZShjb25zdCBNZWRpYVRpbWUmIG1lZGlhVGltZSkKLXsKLSAgICBDTVRpbWUgdGltZTsK
LQotICAgIGlmIChtZWRpYVRpbWUuaGFzRG91YmxlVmFsdWUoKSkKLSAgICAgICAgdGltZSA9IENN
VGltZU1ha2VXaXRoU2Vjb25kcyhtZWRpYVRpbWUudG9Eb3VibGUoKSwgbWVkaWFUaW1lLnRpbWVT
Y2FsZSgpKTsKLSAgICBlbHNlCi0gICAgICAgIHRpbWUgPSBDTVRpbWVNYWtlKG1lZGlhVGltZS50
aW1lVmFsdWUoKSwgbWVkaWFUaW1lLnRpbWVTY2FsZSgpKTsKLQotICAgIGlmIChtZWRpYVRpbWUu
aXNWYWxpZCgpKQotICAgICAgICB0aW1lLmZsYWdzIHw9IGtDTVRpbWVGbGFnc19WYWxpZDsKLSAg
ICBpZiAobWVkaWFUaW1lLmhhc0JlZW5Sb3VuZGVkKCkpCi0gICAgICAgIHRpbWUuZmxhZ3MgfD0g
a0NNVGltZUZsYWdzX0hhc0JlZW5Sb3VuZGVkOwotICAgIGlmIChtZWRpYVRpbWUuaXNQb3NpdGl2
ZUluZmluaXRlKCkpCi0gICAgICAgIHRpbWUuZmxhZ3MgfD0ga0NNVGltZUZsYWdzX1Bvc2l0aXZl
SW5maW5pdHk7Ci0gICAgaWYgKG1lZGlhVGltZS5pc05lZ2F0aXZlSW5maW5pdGUoKSkKLSAgICAg
ICAgdGltZS5mbGFncyB8PSBrQ01UaW1lRmxhZ3NfTmVnYXRpdmVJbmZpbml0eTsKLQotICAgIHJl
dHVybiB0aW1lOwotfQotCi19Ci0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhVGltZUFWRm91bmRhdGlvbi5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhVGltZUFW
Rm91bmRhdGlvbi5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1YjkxNGVmZjg5ZjMx
N2UzZmNmNTE4MWI0NWRiMWI0ZTVhZDQ2YTc4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9NZWRpYVRpbWVBVkZvdW5kYXRpb24uaAorKysgL2Rldi9udWxsCkBAIC0xLDQzICsw
LDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0g
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IK
LSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCi0gKi8KLQotI2lm
bmRlZiBNZWRpYVRpbWVBVkZvdW5kYXRpb25faAotI2RlZmluZSBNZWRpYVRpbWVBVkZvdW5kYXRp
b25faAotCi0jaWYgVVNFKEFWRk9VTkRBVElPTikKLQotI2luY2x1ZGUgPENvcmVNZWRpYS9DTVRp
bWUuaD4KLSNpbmNsdWRlIDx3dGYvTWVkaWFUaW1lLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsK
LQotQ01UaW1lIHRvQ01UaW1lKGNvbnN0IE1lZGlhVGltZSYpOwotTWVkaWFUaW1lIHRvTWVkaWFU
aW1lKGNvbnN0IENNVGltZSYpOwotCi19Ci0KLSNlbmRpZgotCi0jZW5kaWYKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9jZi9JbmJhbmRU
ZXh0VHJhY2tQcml2YXRlQVZDRi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9hdmZvdW5kYXRpb24vY2YvSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUFWQ0YuY3BwCmluZGV4IDAx
NjZkMjExYmQ4MWJkYTc5MGMwNGRlZDA0MzM1NzI2NjdlOTgxYzEuLmQ0ZmVjMGI1NmQzZWUyMjhm
YTIwZjUxOWMzMjRkY2NkNDFhY2IyMWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9jZi9JbmJhbmRUZXh0VHJhY2tQcml2YXRlQVZDRi5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL2Nm
L0luYmFuZFRleHRUcmFja1ByaXZhdGVBVkNGLmNwcApAQCAtMzQsOCArMzQsOCBAQAogI2luY2x1
ZGUgIkluYmFuZFRleHRUcmFja1ByaXZhdGUuaCIKICNpbmNsdWRlICJJbmJhbmRUZXh0VHJhY2tQ
cml2YXRlQVZGLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgotI2luY2x1ZGUgIk1lZGlhVGltZUFW
Rm91bmRhdGlvbi5oIgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0FycmF5QnVmZmVyLmg+Cisj
aW5jbHVkZSA8cGFsL2F2Zm91bmRhdGlvbi9NZWRpYVRpbWVBVkZvdW5kYXRpb24uaD4KICNpbmNs
dWRlIDx3dGYvU29mdExpbmtpbmcuaD4KIAogI2luY2x1ZGUgPEFWRm91bmRhdGlvbkNGL0FWQ0ZQ
bGF5ZXJJdGVtTGVnaWJsZU91dHB1dC5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL2NmL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRh
dGlvbkNGLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlv
bi9jZi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25DRi5jcHAKaW5kZXggOTAzNTI0NGFh
N2ExNDllMDYxNTdmMGNiOGY2NmI3NzU0YmY4NjU4Mi4uZTI0Y2FjNDI2ZjBkM2Y5MGI5OGNlNzM3
OWY0MTc2N2JhMTVjYjA0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL2NmL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbkNGLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vY2Yv
TWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uQ0YuY3BwCkBAIC00MSwxMyArNDEsMTMgQEAK
ICNlbHNlCiAjaW5jbHVkZSAiSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUxlZ2FjeUFWQ0YuaCIKICNl
bmRpZgotI2luY2x1ZGUgIk1lZGlhVGltZUFWRm91bmRhdGlvbi5oIgotI2luY2x1ZGUgIlVSTC5o
IgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJQbGF0Zm9ybUNBTGF5ZXJDbGllbnQu
aCIKICNpbmNsdWRlICJQbGF0Zm9ybUNBTGF5ZXJXaW4uaCIKICNpbmNsdWRlICJUaW1lUmFuZ2Vz
LmgiCisjaW5jbHVkZSAiVVJMLmgiCiAjaW5jbHVkZSAiV2ViQ29yZUFWQ0ZSZXNvdXJjZUxvYWRl
ci5oIgorI2luY2x1ZGUgPHBhbC9hdmZvdW5kYXRpb24vTWVkaWFUaW1lQVZGb3VuZGF0aW9uLmg+
CiAKICNpbmNsdWRlIDxBVkZvdW5kYXRpb25DRi9BVkNGUGxheWVySXRlbS5oPgogI2lmIEhBVkUo
QVZGT1VOREFUSU9OX0xFR0lCTEVfT1VUUFVUX1NVUFBPUlQpCkBAIC01OTIsNyArNTkyLDcgQEAg
TWVkaWFUaW1lIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbkNGOjpwbGF0Zm9ybUR1cmF0
aW9uKCkgY29uc3QKICAgICAgICAgY21EdXJhdGlvbiA9IEFWQ0ZBc3NldEdldER1cmF0aW9uKGF2
QXNzZXQobV9hdmZXcmFwcGVyKSk7CiAKICAgICBpZiAoQ01USU1FX0lTX05VTUVSSUMoY21EdXJh
dGlvbikpCi0gICAgICAgIHJldHVybiB0b01lZGlhVGltZShjbUR1cmF0aW9uKTsKKyAgICAgICAg
cmV0dXJuIFBBTDo6dG9NZWRpYVRpbWUoY21EdXJhdGlvbik7CiAKICAgICBpZiAoQ01USU1FX0lT
X0lOREVGSU5JVEUoY21EdXJhdGlvbikpCiAgICAgICAgIHJldHVybiBNZWRpYVRpbWU6OnBvc2l0
aXZlSW5maW5pdGVUaW1lKCk7CkBAIC02MDgsNyArNjA4LDcgQEAgTWVkaWFUaW1lIE1lZGlhUGxh
eWVyUHJpdmF0ZUFWRm91bmRhdGlvbkNGOjpjdXJyZW50TWVkaWFUaW1lKCkgY29uc3QKIAogICAg
IENNVGltZSBpdGVtVGltZSA9IEFWQ0ZQbGF5ZXJJdGVtR2V0Q3VycmVudFRpbWUoYXZQbGF5ZXJJ
dGVtKG1fYXZmV3JhcHBlcikpOwogICAgIGlmIChDTVRJTUVfSVNfTlVNRVJJQyhpdGVtVGltZSkp
Ci0gICAgICAgIHJldHVybiBtYXgodG9NZWRpYVRpbWUoaXRlbVRpbWUpLCBNZWRpYVRpbWU6Onpl
cm9UaW1lKCkpOworICAgICAgICByZXR1cm4gbWF4KFBBTDo6dG9NZWRpYVRpbWUoaXRlbVRpbWUp
LCBNZWRpYVRpbWU6Onplcm9UaW1lKCkpOwogCiAgICAgcmV0dXJuIE1lZGlhVGltZTo6emVyb1Rp
bWUoKTsKIH0KQEAgLTY5NCw4ICs2OTQsOCBAQCBzdGQ6OnVuaXF1ZV9wdHI8UGxhdGZvcm1UaW1l
UmFuZ2VzPiBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25DRjo6cGxhdGZvcm1CdQogICAg
ICAgICBDTVRpbWUgZHVyYXRpb24gPSBDTVRpbWVNYWtlRnJvbURpY3Rpb25hcnkoc3RhdGljX2Nh
c3Q8Q0ZEaWN0aW9uYXJ5UmVmPihDRkRpY3Rpb25hcnlHZXRWYWx1ZShyYW5nZSwgQ01UaW1lUmFu
Z2VEdXJhdGlvbktleSgpKSkpOwogICAgICAgICAKICAgICAgICAgaWYgKHRpbWVSYW5nZUlzVmFs
aWRBbmROb3RFbXB0eShzdGFydCwgZHVyYXRpb24pKSB7Ci0gICAgICAgICAgICBNZWRpYVRpbWUg
cmFuZ2VTdGFydCA9IHRvTWVkaWFUaW1lKHN0YXJ0KTsKLSAgICAgICAgICAgIE1lZGlhVGltZSBy
YW5nZUVuZCA9IHJhbmdlU3RhcnQgKyB0b01lZGlhVGltZShkdXJhdGlvbik7CisgICAgICAgICAg
ICBNZWRpYVRpbWUgcmFuZ2VTdGFydCA9IFBBTDo6dG9NZWRpYVRpbWUoc3RhcnQpOworICAgICAg
ICAgICAgTWVkaWFUaW1lIHJhbmdlRW5kID0gcmFuZ2VTdGFydCArIFBBTDo6dG9NZWRpYVRpbWUo
ZHVyYXRpb24pOwogICAgICAgICAgICAgdGltZVJhbmdlcy0+YWRkKHJhbmdlU3RhcnQsIHJhbmdl
RW5kKTsKICAgICAgICAgfQogICAgIH0KQEAgLTcyMCw3ICs3MjAsNyBAQCBNZWRpYVRpbWUgTWVk
aWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uQ0Y6OnBsYXRmb3JtTWluVGltZVNlZWthYmxlKCkg
Y29uc3QKICAgICAgICAgICAgIGNvbnRpbnVlOwogCiAgICAgICAgIGhhc1ZhbGlkUmFuZ2UgPSB0
cnVlOyAKLSAgICAgICAgTWVkaWFUaW1lIHN0YXJ0T2ZSYW5nZSA9IHRvTWVkaWFUaW1lKHN0YXJ0
KTsgCisgICAgICAgIE1lZGlhVGltZSBzdGFydE9mUmFuZ2UgPSBQQUw6OnRvTWVkaWFUaW1lKHN0
YXJ0KTsKICAgICAgICAgaWYgKG1pblRpbWVTZWVrYWJsZSA+IHN0YXJ0T2ZSYW5nZSkgCiAgICAg
ICAgICAgICBtaW5UaW1lU2Vla2FibGUgPSBzdGFydE9mUmFuZ2U7IAogICAgIH0gCkBAIC03NDUs
NyArNzQ1LDcgQEAgTWVkaWFUaW1lIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbkNGOjpw
bGF0Zm9ybU1heFRpbWVTZWVrYWJsZSgpIGNvbnN0CiAgICAgICAgIGlmICghdGltZVJhbmdlSXNW
YWxpZEFuZE5vdEVtcHR5KHN0YXJ0LCBkdXJhdGlvbikpCiAgICAgICAgICAgICBjb250aW51ZTsK
ICAgICAgICAgCi0gICAgICAgIE1lZGlhVGltZSBlbmRPZlJhbmdlID0gdG9NZWRpYVRpbWUoQ01U
aW1lQWRkKHN0YXJ0LCBkdXJhdGlvbikpOworICAgICAgICBNZWRpYVRpbWUgZW5kT2ZSYW5nZSA9
IFBBTDo6dG9NZWRpYVRpbWUoQ01UaW1lQWRkKHN0YXJ0LCBkdXJhdGlvbikpOwogICAgICAgICBp
ZiAobWF4VGltZVNlZWthYmxlIDwgZW5kT2ZSYW5nZSkKICAgICAgICAgICAgIG1heFRpbWVTZWVr
YWJsZSA9IGVuZE9mUmFuZ2U7CiAgICAgfQpAQCAtNzcxLDcgKzc3MSw3IEBAIE1lZGlhVGltZSBN
ZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25DRjo6cGxhdGZvcm1NYXhUaW1lTG9hZGVkKCkg
Y29uc3QKICAgICAgICAgaWYgKCF0aW1lUmFuZ2VJc1ZhbGlkQW5kTm90RW1wdHkoc3RhcnQsIGR1
cmF0aW9uKSkKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAKLSAgICAgICAgTWVkaWFU
aW1lIGVuZE9mUmFuZ2UgPSB0b01lZGlhVGltZShDTVRpbWVBZGQoc3RhcnQsIGR1cmF0aW9uKSk7
CisgICAgICAgIE1lZGlhVGltZSBlbmRPZlJhbmdlID0gUEFMOjp0b01lZGlhVGltZShDTVRpbWVB
ZGQoc3RhcnQsIGR1cmF0aW9uKSk7CiAgICAgICAgIGlmIChtYXhUaW1lTG9hZGVkIDwgZW5kT2ZS
YW5nZSkKICAgICAgICAgICAgIG1heFRpbWVMb2FkZWQgPSBlbmRPZlJhbmdlOwogICAgIH0KQEAg
LTE3OTUsOSArMTc5NSw5IEBAIHZvaWQgQVZGV3JhcHBlcjo6c2Vla0NvbXBsZXRlZENhbGxiYWNr
KEFWQ0ZQbGF5ZXJJdGVtUmVmLCBCb29sZWFuIGZpbmlzaGVkLCB2b2lkCiB2b2lkIEFWRldyYXBw
ZXI6OnNlZWtUb1RpbWUoY29uc3QgTWVkaWFUaW1lJiB0aW1lLCBjb25zdCBNZWRpYVRpbWUmIG5l
Z2F0aXZlVG9sZXJhbmNlLCBjb25zdCBNZWRpYVRpbWUmIHBvc2l0aXZlVG9sZXJhbmNlKQogewog
ICAgIEFTU0VSVChhdlBsYXllckl0ZW0oKSk7Ci0gICAgQ01UaW1lIGNtVGltZSA9IHRvQ01UaW1l
KHRpbWUpOwotICAgIENNVGltZSBjbUJlZm9yZSA9IHRvQ01UaW1lKG5lZ2F0aXZlVG9sZXJhbmNl
KTsKLSAgICBDTVRpbWUgY21BZnRlciA9IHRvQ01UaW1lKHBvc2l0aXZlVG9sZXJhbmNlKTsKKyAg
ICBDTVRpbWUgY21UaW1lID0gUEFMOjp0b0NNVGltZSh0aW1lKTsKKyAgICBDTVRpbWUgY21CZWZv
cmUgPSBQQUw6OnRvQ01UaW1lKG5lZ2F0aXZlVG9sZXJhbmNlKTsKKyAgICBDTVRpbWUgY21BZnRl
ciA9IFBBTDo6dG9DTVRpbWUocG9zaXRpdmVUb2xlcmFuY2UpOwogICAgIEFWQ0ZQbGF5ZXJJdGVt
U2Vla1RvVGltZVdpdGhUb2xlcmFuY2VBbmRDb21wbGV0aW9uQ2FsbGJhY2soYXZQbGF5ZXJJdGVt
KCksIGNtVGltZSwgY21CZWZvcmUsIGNtQWZ0ZXIsICZzZWVrQ29tcGxldGVkQ2FsbGJhY2ssIGNh
bGxiYWNrQ29udGV4dCgpKTsKIH0KIApAQCAtMTg1MSw3ICsxODUxLDcgQEAgdm9pZCBBVkZXcmFw
cGVyOjpsZWdpYmxlT3V0cHV0Q2FsbGJhY2sodm9pZCogY29udGV4dCwgQVZDRlBsYXllckl0ZW1M
ZWdpYmxlT3V0cHUKIAogICAgIEFTU0VSVChsZWdpYmxlT3V0cHV0ID09IHNlbGYtPm1fbGVnaWJs
ZU91dHB1dCk7CiAKLSAgICBhdXRvIGxlZ2libGVPdXRwdXREYXRhID0gc3RkOjptYWtlX3VuaXF1
ZTxMZWdpYmxlT3V0cHV0RGF0YT4oYXR0cmlidXRlZFN0cmluZ3MsIG5hdGl2ZVNhbXBsZUJ1ZmZl
cnMsIHRvTWVkaWFUaW1lKGl0ZW1UaW1lKSwgY29udGV4dCk7CisgICAgYXV0byBsZWdpYmxlT3V0
cHV0RGF0YSA9IHN0ZDo6bWFrZV91bmlxdWU8TGVnaWJsZU91dHB1dERhdGE+KGF0dHJpYnV0ZWRT
dHJpbmdzLCBuYXRpdmVTYW1wbGVCdWZmZXJzLCBQQUw6OnRvTWVkaWFUaW1lKGl0ZW1UaW1lKSwg
Y29udGV4dCk7CiAKICAgICBkaXNwYXRjaF9hc3luY19mKGRpc3BhdGNoX2dldF9tYWluX3F1ZXVl
KCksIGxlZ2libGVPdXRwdXREYXRhLnJlbGVhc2UoKSwgcHJvY2Vzc0N1ZSk7CiB9CkBAIC0yMDYz
LDcgKzIwNjMsNyBAQCBSZXRhaW5QdHI8Q0dJbWFnZVJlZj4gQVZGV3JhcHBlcjo6Y3JlYXRlSW1h
Z2VGb3JUaW1lSW5SZWN0KGNvbnN0IE1lZGlhVGltZSYgdGltZQogI2VuZGlmCiAKICAgICBBVkNG
QXNzZXRJbWFnZUdlbmVyYXRvclNldE1heGltdW1TaXplKG1faW1hZ2VHZW5lcmF0b3IuZ2V0KCks
IENHU2l6ZShyZWN0LnNpemUoKSkpOwotICAgIFJldGFpblB0cjxDR0ltYWdlUmVmPiByYXdpbWFn
ZSA9IGFkb3B0Q0YoQVZDRkFzc2V0SW1hZ2VHZW5lcmF0b3JDb3B5Q0dJbWFnZUF0VGltZShtX2lt
YWdlR2VuZXJhdG9yLmdldCgpLCB0b0NNVGltZSh0aW1lKSwgMCwgMCkpOworICAgIFJldGFpblB0
cjxDR0ltYWdlUmVmPiByYXdpbWFnZSA9IGFkb3B0Q0YoQVZDRkFzc2V0SW1hZ2VHZW5lcmF0b3JD
b3B5Q0dJbWFnZUF0VGltZShtX2ltYWdlR2VuZXJhdG9yLmdldCgpLCBQQUw6OnRvQ01UaW1lKHRp
bWUpLCAwLCAwKSk7CiAgICAgUmV0YWluUHRyPENHSW1hZ2VSZWY+IGltYWdlID0gYWRvcHRDRihD
R0ltYWdlQ3JlYXRlQ29weVdpdGhDb2xvclNwYWNlKHJhd2ltYWdlLmdldCgpLCBhZG9wdENGKENH
Q29sb3JTcGFjZUNyZWF0ZURldmljZVJHQigpKS5nZXQoKSkpOwogCiAjaWYgIUxPR19ESVNBQkxF
RApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL29iamMvSW1hZ2VEZWNvZGVyQVZGT2JqQy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL0ltYWdlRGVjb2RlckFWRk9iakMubW0KaW5kZXgg
MmM4MDIzYzExMTE1NjJkNGNlOTIyZjM3MWQxOTU1NWY2NzJmN2JhMS4uNWZkZGI4NTIxMmZiOGI3
ZWQwZjViYWUwOGQzMWMyYWVkZmM2YWJlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvSW1hZ2VEZWNvZGVyQVZGT2JqQy5tbQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9J
bWFnZURlY29kZXJBVkZPYmpDLm1tCkBAIC0zMyw3ICszMyw2IEBACiAjaW1wb3J0ICJGbG9hdFJl
Y3QuaCIKICNpbXBvcnQgIkZsb2F0U2l6ZS5oIgogI2ltcG9ydCAiTUlNRVR5cGVSZWdpc3RyeS5o
IgotI2ltcG9ydCAiTWVkaWFUaW1lQVZGb3VuZGF0aW9uLmgiCiAjaW1wb3J0ICJTaGFyZWRCdWZm
ZXIuaCIKICNpbXBvcnQgIlVUSVV0aWxpdGllcy5oIgogI2ltcG9ydCAiV2ViQ29yZURlY29tcHJl
c3Npb25TZXNzaW9uLmgiCkBAIC00NSw2ICs0NCw3IEBACiAjaW1wb3J0IDxBVkZvdW5kYXRpb24v
QVZUaW1lLmg+CiAjaW1wb3J0IDxWaWRlb1Rvb2xib3gvVlRVdGlsaXRpZXMuaD4KICNpbXBvcnQg
PG1hcD4KKyNpbXBvcnQgPHBhbC9hdmZvdW5kYXRpb24vTWVkaWFUaW1lQVZGb3VuZGF0aW9uLmg+
CiAjaW1wb3J0IDx3dGYvTWFpblRocmVhZC5oPgogI2ltcG9ydCA8d3RmL01lZGlhVGltZS5oPgog
I2ltcG9ydCA8d3RmL05ldmVyRGVzdHJveWVkLmg+CkBAIC0zMzgsOCArMzM4LDggQEAgdm9pZCBJ
bWFnZURlY29kZXJBVkZPYmpDOjpyZWFkU2FtcGxlTWV0YWRhdGEoKQogICAgIGZvciAoc2l6ZV90
IGluZGV4ID0gMDsgaW5kZXggPCBzdGF0aWNfY2FzdDxzaXplX3Q+KHNhbXBsZUNvdW50KTsgKytp
bmRleCkgewogICAgICAgICBhdXRvJiBzYW1wbGVEYXRhID0gbV9zYW1wbGVEYXRhW2luZGV4XTsK
ICAgICAgICAgc2FtcGxlRGF0YS5kdXJhdGlvbiA9IFNlY29uZHMoQ01UaW1lR2V0U2Vjb25kcyhb
Y3Vyc29yIGN1cnJlbnRTYW1wbGVEdXJhdGlvbl0pKTsKLSAgICAgICAgc2FtcGxlRGF0YS5kZWNv
ZGVUaW1lID0gdG9NZWRpYVRpbWUoW2N1cnNvciBkZWNvZGVUaW1lU3RhbXBdKTsKLSAgICAgICAg
c2FtcGxlRGF0YS5wcmVzZW50YXRpb25UaW1lID0gdG9NZWRpYVRpbWUoW2N1cnNvciBwcmVzZW50
YXRpb25UaW1lU3RhbXBdKTsKKyAgICAgICAgc2FtcGxlRGF0YS5kZWNvZGVUaW1lID0gUEFMOjp0
b01lZGlhVGltZShbY3Vyc29yIGRlY29kZVRpbWVTdGFtcF0pOworICAgICAgICBzYW1wbGVEYXRh
LnByZXNlbnRhdGlvblRpbWUgPSBQQUw6OnRvTWVkaWFUaW1lKFtjdXJzb3IgcHJlc2VudGF0aW9u
VGltZVN0YW1wXSk7CiAgICAgICAgIGF1dG8gcmVxdWVzdCA9IGFkb3B0TlMoW2FsbG9jQVZTYW1w
bGVCdWZmZXJSZXF1ZXN0SW5zdGFuY2UoKSBpbml0V2l0aFN0YXJ0Q3Vyc29yOmN1cnNvci5nZXQo
KV0pOwogICAgICAgICBzYW1wbGVEYXRhLnNhbXBsZSA9IGFkb3B0Q0YoW21fZ2VuZXJhdG9yIGNy
ZWF0ZVNhbXBsZUJ1ZmZlckZvclJlcXVlc3Q6cmVxdWVzdC5nZXQoKV0pOwogICAgICAgICBtX3By
ZXNlbnRhdGlvblRpbWVUb0luZGV4Lmluc2VydChzdGQ6Om1ha2VfcGFpcihzYW1wbGVEYXRhLnBy
ZXNlbnRhdGlvblRpbWUsIGluZGV4KSk7CkBAIC0zNjgsNyArMzY4LDcgQEAgYm9vbCBJbWFnZURl
Y29kZXJBVkZPYmpDOjpzdG9yZVNhbXBsZUJ1ZmZlcihDTVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGVC
dWZmZXIpCiAgICAgaWYgKCFwaXhlbEJ1ZmZlcikKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0g
ICAgYXV0byBwcmVzZW50YXRpb25UaW1lID0gdG9NZWRpYVRpbWUoQ01TYW1wbGVCdWZmZXJHZXRQ
cmVzZW50YXRpb25UaW1lU3RhbXAoc2FtcGxlQnVmZmVyKSk7CisgICAgYXV0byBwcmVzZW50YXRp
b25UaW1lID0gUEFMOjp0b01lZGlhVGltZShDTVNhbXBsZUJ1ZmZlckdldFByZXNlbnRhdGlvblRp
bWVTdGFtcChzYW1wbGVCdWZmZXIpKTsKICAgICBhdXRvIGluZGV4SXRlciA9IG1fcHJlc2VudGF0
aW9uVGltZVRvSW5kZXguZmluZChwcmVzZW50YXRpb25UaW1lKTsKIAogICAgIGlmIChtX3JvdGF0
aW9uICYmICFtX3JvdGF0aW9uLnZhbHVlKCkuaXNJZGVudGl0eSgpKSB7CkBAIC01NDcsNyArNTQ3
LDcgQEAgTmF0aXZlSW1hZ2VQdHIgSW1hZ2VEZWNvZGVyQVZGT2JqQzo6Y3JlYXRlRnJhbWVJbWFn
ZUF0SW5kZXgoc2l6ZV90IGluZGV4LCBTdWJzYW0KICAgICBpZiAoIW1fY3Vyc29yKQogICAgICAg
ICBtX2N1cnNvciA9IFttX3RyYWNrIG1ha2VTYW1wbGVDdXJzb3JBdEZpcnN0U2FtcGxlSW5EZWNv
ZGVPcmRlcl07CiAKLSAgICBhdXRvIGZyYW1lQ3Vyc29yID0gW21fdHJhY2sgbWFrZVNhbXBsZUN1
cnNvcldpdGhQcmVzZW50YXRpb25UaW1lU3RhbXA6dG9DTVRpbWUoc2FtcGxlRGF0YS5wcmVzZW50
YXRpb25UaW1lKV07CisgICAgYXV0byBmcmFtZUN1cnNvciA9IFttX3RyYWNrIG1ha2VTYW1wbGVD
dXJzb3JXaXRoUHJlc2VudGF0aW9uVGltZVN0YW1wOlBBTDo6dG9DTVRpbWUoc2FtcGxlRGF0YS5w
cmVzZW50YXRpb25UaW1lKV07CiAgICAgaWYgKFtmcmFtZUN1cnNvciBjb21wYXJlUG9zaXRpb25J
bkRlY29kZU9yZGVyV2l0aFBvc2l0aW9uT2ZDdXJzb3I6bV9jdXJzb3IuZ2V0KCldID09IE5TT3Jk
ZXJlZEFzY2VuZGluZykgIHsKICAgICAgICAgLy8gUmV3aW5kIGN1cnNvciB0byB0aGUgbGFzdCBz
eW5jIHNhbXBsZSB0byBiZWdpbiBkZWNvZGluZwogICAgICAgICBtX2N1cnNvciA9IFtmcmFtZUN1
cnNvciBjb3B5XTsKQEAgLTU2Niw3ICs1NjYsNyBAQCBOYXRpdmVJbWFnZVB0ciBJbWFnZURlY29k
ZXJBVkZPYmpDOjpjcmVhdGVGcmFtZUltYWdlQXRJbmRleChzaXplX3QgaW5kZXgsIFN1YnNhbQog
ICAgICAgICBpZiAoW2ZyYW1lQ3Vyc29yIGNvbXBhcmVQb3NpdGlvbkluRGVjb2RlT3JkZXJXaXRo
UG9zaXRpb25PZkN1cnNvcjptX2N1cnNvci5nZXQoKV0gPT0gTlNPcmRlcmVkQXNjZW5kaW5nKQog
ICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKLSAgICAgICAgYXV0byBwcmVzZW50YXRpb25U
aW1lID0gdG9NZWRpYVRpbWUobV9jdXJzb3IuZ2V0KCkucHJlc2VudGF0aW9uVGltZVN0YW1wKTsK
KyAgICAgICAgYXV0byBwcmVzZW50YXRpb25UaW1lID0gUEFMOjp0b01lZGlhVGltZShtX2N1cnNv
ci5nZXQoKS5wcmVzZW50YXRpb25UaW1lU3RhbXApOwogICAgICAgICBhdXRvIGluZGV4SXRlciA9
IG1fcHJlc2VudGF0aW9uVGltZVRvSW5kZXguZmluZChwcmVzZW50YXRpb25UaW1lKTsKICAgICAg
ICAgYWR2YW5jZUN1cnNvcigpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRp
b25PYmpDLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9u
L29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbQppbmRleCBkOTk0Mjdh
NmJlZmM2MzViM2FlNDhhOGQ1NTBhZTZjMThmNDA5ZGRjLi42YTNlZGExYTUwMWY1OTk1ZjFlNDRl
ZDIxNGQ1YjU2NTRmYmMxZDRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25P
YmpDLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlv
bi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0KQEAgLTQ4LDcgKzQ4
LDYgQEAKICNpbXBvcnQgIk1lZGlhUGxheWJhY2tUYXJnZXRNYWMuaCIKICNpbXBvcnQgIk1lZGlh
UGxheWJhY2tUYXJnZXRNb2NrLmgiCiAjaW1wb3J0ICJNZWRpYVNlbGVjdGlvbkdyb3VwQVZGT2Jq
Qy5oIgotI2ltcG9ydCAiTWVkaWFUaW1lQVZGb3VuZGF0aW9uLmgiCiAjaW1wb3J0ICJPdXRPZkJh
bmRUZXh0VHJhY2tQcml2YXRlQVZGLmgiCiAjaW1wb3J0ICJQaXhlbEJ1ZmZlckNvbmZvcm1lckNW
LmgiCiAjaW1wb3J0ICJQbGF0Zm9ybVRpbWVSYW5nZXMuaCIKQEAgLTY4LDYgKzY3LDcgQEAKICNp
bXBvcnQgPGZ1bmN0aW9uYWw+CiAjaW1wb3J0IDxtYXA+CiAjaW1wb3J0IDxvYmpjL3J1bnRpbWUu
aD4KKyNpbXBvcnQgPHBhbC9hdmZvdW5kYXRpb24vTWVkaWFUaW1lQVZGb3VuZGF0aW9uLmg+CiAj
aW1wb3J0IDxwYWwvc3BpL2NvY29hL1F1YXJ0ekNvcmVTUEkuaD4KICNpbXBvcnQgPHBhbC9zcGkv
bWFjL0FWRm91bmRhdGlvblNQSS5oPgogI2ltcG9ydCA8cnVudGltZS9EYXRhVmlldy5oPgpAQCAt
MTM2Niw3ICsxMzY2LDcgQEAgTWVkaWFUaW1lIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlv
bk9iakM6OnBsYXRmb3JtRHVyYXRpb24oKSBjb25zdAogICAgICAgICBjbUR1cmF0aW9uID0gW21f
YXZBc3NldC5nZXQoKSBkdXJhdGlvbl07CiAKICAgICBpZiAoQ01USU1FX0lTX05VTUVSSUMoY21E
dXJhdGlvbikpCi0gICAgICAgIHJldHVybiB0b01lZGlhVGltZShjbUR1cmF0aW9uKTsKKyAgICAg
ICAgcmV0dXJuIFBBTDo6dG9NZWRpYVRpbWUoY21EdXJhdGlvbik7CiAKICAgICBpZiAoQ01USU1F
X0lTX0lOREVGSU5JVEUoY21EdXJhdGlvbikpCiAgICAgICAgIHJldHVybiBNZWRpYVRpbWU6OnBv
c2l0aXZlSW5maW5pdGVUaW1lKCk7CkBAIC0xMzgyLDcgKzEzODIsNyBAQCBNZWRpYVRpbWUgTWVk
aWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6Y3VycmVudE1lZGlhVGltZSgpIGNvbnN0
CiAKICAgICBDTVRpbWUgaXRlbVRpbWUgPSBbbV9hdlBsYXllckl0ZW0uZ2V0KCkgY3VycmVudFRp
bWVdOwogICAgIGlmIChDTVRJTUVfSVNfTlVNRVJJQyhpdGVtVGltZSkpCi0gICAgICAgIHJldHVy
biBzdGQ6Om1heCh0b01lZGlhVGltZShpdGVtVGltZSksIE1lZGlhVGltZTo6emVyb1RpbWUoKSk7
CisgICAgICAgIHJldHVybiBzdGQ6Om1heChQQUw6OnRvTWVkaWFUaW1lKGl0ZW1UaW1lKSwgTWVk
aWFUaW1lOjp6ZXJvVGltZSgpKTsKIAogICAgIHJldHVybiBNZWRpYVRpbWU6Onplcm9UaW1lKCk7
CiB9CkBAIC0xMzk1LDkgKzEzOTUsOSBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRh
dGlvbk9iakM6OnNlZWtUb1RpbWUoY29uc3QgTWVkaWFUaW1lJiB0aW1lLCBjb25zdAogICAgIGlm
IChtX21ldGFkYXRhVHJhY2spCiAgICAgICAgIG1fbWV0YWRhdGFUcmFjay0+Zmx1c2hQYXJ0aWFs
Q3VlcygpOwogCi0gICAgQ01UaW1lIGNtVGltZSA9IHRvQ01UaW1lKHRpbWUpOwotICAgIENNVGlt
ZSBjbUJlZm9yZSA9IHRvQ01UaW1lKG5lZ2F0aXZlVG9sZXJhbmNlKTsKLSAgICBDTVRpbWUgY21B
ZnRlciA9IHRvQ01UaW1lKHBvc2l0aXZlVG9sZXJhbmNlKTsKKyAgICBDTVRpbWUgY21UaW1lID0g
UEFMOjp0b0NNVGltZSh0aW1lKTsKKyAgICBDTVRpbWUgY21CZWZvcmUgPSBQQUw6OnRvQ01UaW1l
KG5lZ2F0aXZlVG9sZXJhbmNlKTsKKyAgICBDTVRpbWUgY21BZnRlciA9IFBBTDo6dG9DTVRpbWUo
cG9zaXRpdmVUb2xlcmFuY2UpOwogCiAgICAgLy8gW0FWUGxheWVySXRlbSBzZWVrVG9UaW1lXSB3
aWxsIHRocm93IGFuIGV4Y2VwdGlvbiBpZiB0b2xlcmFuY2VCZWZvcmUgaXMgbmVnYXRpdmUuCiAg
ICAgaWYgKENNVGltZUNvbXBhcmUoY21CZWZvcmUsIGtDTVRpbWVaZXJvKSA8IDApCkBAIC0xNTA2
LDcgKzE1MDYsNyBAQCBzdGQ6OnVuaXF1ZV9wdHI8UGxhdGZvcm1UaW1lUmFuZ2VzPiBNZWRpYVBs
YXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpwbGF0Zm9ybQogICAgIGZvciAoTlNWYWx1ZSAq
dGhpc1JhbmdlVmFsdWUgaW4gbV9jYWNoZWRMb2FkZWRSYW5nZXMuZ2V0KCkpIHsKICAgICAgICAg
Q01UaW1lUmFuZ2UgdGltZVJhbmdlID0gW3RoaXNSYW5nZVZhbHVlIENNVGltZVJhbmdlVmFsdWVd
OwogICAgICAgICBpZiAoQ01USU1FUkFOR0VfSVNfVkFMSUQodGltZVJhbmdlKSAmJiAhQ01USU1F
UkFOR0VfSVNfRU1QVFkodGltZVJhbmdlKSkKLSAgICAgICAgICAgIHRpbWVSYW5nZXMtPmFkZCh0
b01lZGlhVGltZSh0aW1lUmFuZ2Uuc3RhcnQpLCB0b01lZGlhVGltZShDTVRpbWVSYW5nZUdldEVu
ZCh0aW1lUmFuZ2UpKSk7CisgICAgICAgICAgICB0aW1lUmFuZ2VzLT5hZGQoUEFMOjp0b01lZGlh
VGltZSh0aW1lUmFuZ2Uuc3RhcnQpLCBQQUw6OnRvTWVkaWFUaW1lKENNVGltZVJhbmdlR2V0RW5k
KHRpbWVSYW5nZSkpKTsKICAgICB9CiAgICAgcmV0dXJuIHRpbWVSYW5nZXM7CiB9CkBAIC0xNTI0
LDcgKzE1MjQsNyBAQCBNZWRpYVRpbWUgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2Jq
Qzo6cGxhdGZvcm1NaW5UaW1lU2Vla2FibGUoKSBjb25zdAogICAgICAgICAgICAgY29udGludWU7
CiAKICAgICAgICAgaGFzVmFsaWRSYW5nZSA9IHRydWU7Ci0gICAgICAgIE1lZGlhVGltZSBzdGFy
dE9mUmFuZ2UgPSB0b01lZGlhVGltZSh0aW1lUmFuZ2Uuc3RhcnQpOworICAgICAgICBNZWRpYVRp
bWUgc3RhcnRPZlJhbmdlID0gUEFMOjp0b01lZGlhVGltZSh0aW1lUmFuZ2Uuc3RhcnQpOwogICAg
ICAgICBpZiAobWluVGltZVNlZWthYmxlID4gc3RhcnRPZlJhbmdlKQogICAgICAgICAgICAgbWlu
VGltZVNlZWthYmxlID0gc3RhcnRPZlJhbmdlOwogICAgIH0KQEAgLTE1NDIsNyArMTU0Miw3IEBA
IE1lZGlhVGltZSBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpwbGF0Zm9ybU1h
eFRpbWVTZWVrYWJsZSgpIGNvbnN0CiAgICAgICAgIGlmICghQ01USU1FUkFOR0VfSVNfVkFMSUQo
dGltZVJhbmdlKSB8fCBDTVRJTUVSQU5HRV9JU19FTVBUWSh0aW1lUmFuZ2UpKQogICAgICAgICAg
ICAgY29udGludWU7CiAgICAgICAgIAotICAgICAgICBNZWRpYVRpbWUgZW5kT2ZSYW5nZSA9IHRv
TWVkaWFUaW1lKENNVGltZVJhbmdlR2V0RW5kKHRpbWVSYW5nZSkpOworICAgICAgICBNZWRpYVRp
bWUgZW5kT2ZSYW5nZSA9IFBBTDo6dG9NZWRpYVRpbWUoQ01UaW1lUmFuZ2VHZXRFbmQodGltZVJh
bmdlKSk7CiAgICAgICAgIGlmIChtYXhUaW1lU2Vla2FibGUgPCBlbmRPZlJhbmdlKQogICAgICAg
ICAgICAgbWF4VGltZVNlZWthYmxlID0gZW5kT2ZSYW5nZTsKICAgICB9CkBAIC0xNTYwLDcgKzE1
NjAsNyBAQCBNZWRpYVRpbWUgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6cGxh
dGZvcm1NYXhUaW1lTG9hZGVkKCkgY29uc3QKICAgICAgICAgaWYgKCFDTVRJTUVSQU5HRV9JU19W
QUxJRCh0aW1lUmFuZ2UpIHx8IENNVElNRVJBTkdFX0lTX0VNUFRZKHRpbWVSYW5nZSkpCiAgICAg
ICAgICAgICBjb250aW51ZTsKICAgICAgICAgCi0gICAgICAgIE1lZGlhVGltZSBlbmRPZlJhbmdl
ID0gdG9NZWRpYVRpbWUoQ01UaW1lUmFuZ2VHZXRFbmQodGltZVJhbmdlKSk7CisgICAgICAgIE1l
ZGlhVGltZSBlbmRPZlJhbmdlID0gUEFMOjp0b01lZGlhVGltZShDTVRpbWVSYW5nZUdldEVuZCh0
aW1lUmFuZ2UpKTsKICAgICAgICAgaWYgKG1heFRpbWVMb2FkZWQgPCBlbmRPZlJhbmdlKQogICAg
ICAgICAgICAgbWF4VGltZUxvYWRlZCA9IGVuZE9mUmFuZ2U7CiAgICAgfQpAQCAtMzE4MywxNyAr
MzE4MywxNyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6Om1ldGFk
YXRhRGlkQXJyaXZlKFJldGFpblB0cjxOU0FycmF5PiBtZQogICAgIC8vIFNldCB0aGUgZHVyYXRp
b24gb2YgYWxsIGluY29tcGxldGUgY3VlcyBiZWZvcmUgYWRkaW5nIG5ldyBvbmVzLgogICAgIE1l
ZGlhVGltZSBlYXJsaWVzdFN0YXJ0VGltZSA9IE1lZGlhVGltZTo6cG9zaXRpdmVJbmZpbml0ZVRp
bWUoKTsKICAgICBmb3IgKEFWTWV0YWRhdGFJdGVtVHlwZSAqaXRlbSBpbiBtX2N1cnJlbnRNZXRh
RGF0YS5nZXQoKSkgewotICAgICAgICBNZWRpYVRpbWUgc3RhcnQgPSBzdGQ6Om1heCh0b01lZGlh
VGltZShpdGVtLnRpbWUpLCBNZWRpYVRpbWU6Onplcm9UaW1lKCkpOworICAgICAgICBNZWRpYVRp
bWUgc3RhcnQgPSBzdGQ6Om1heChQQUw6OnRvTWVkaWFUaW1lKGl0ZW0udGltZSksIE1lZGlhVGlt
ZTo6emVyb1RpbWUoKSk7CiAgICAgICAgIGlmIChzdGFydCA8IGVhcmxpZXN0U3RhcnRUaW1lKQog
ICAgICAgICAgICAgZWFybGllc3RTdGFydFRpbWUgPSBzdGFydDsKICAgICB9CiAgICAgbV9tZXRh
ZGF0YVRyYWNrLT51cGRhdGVQZW5kaW5nQ3VlRW5kVGltZXMoZWFybGllc3RTdGFydFRpbWUpOwog
CiAgICAgZm9yIChBVk1ldGFkYXRhSXRlbVR5cGUgKml0ZW0gaW4gbV9jdXJyZW50TWV0YURhdGEu
Z2V0KCkpIHsKLSAgICAgICAgTWVkaWFUaW1lIHN0YXJ0ID0gc3RkOjptYXgodG9NZWRpYVRpbWUo
aXRlbS50aW1lKSwgTWVkaWFUaW1lOjp6ZXJvVGltZSgpKTsKKyAgICAgICAgTWVkaWFUaW1lIHN0
YXJ0ID0gc3RkOjptYXgoUEFMOjp0b01lZGlhVGltZShpdGVtLnRpbWUpLCBNZWRpYVRpbWU6Onpl
cm9UaW1lKCkpOwogICAgICAgICBNZWRpYVRpbWUgZW5kID0gTWVkaWFUaW1lOjpwb3NpdGl2ZUlu
ZmluaXRlVGltZSgpOwogICAgICAgICBpZiAoQ01USU1FX0lTX1ZBTElEKGl0ZW0uZHVyYXRpb24p
KQotICAgICAgICAgICAgZW5kID0gc3RhcnQgKyB0b01lZGlhVGltZShpdGVtLmR1cmF0aW9uKTsK
KyAgICAgICAgICAgIGVuZCA9IHN0YXJ0ICsgUEFMOjp0b01lZGlhVGltZShpdGVtLmR1cmF0aW9u
KTsKIAogICAgICAgICBBdG9taWNTdHJpbmcgdHlwZSA9IG51bGxBdG9tKCk7CiAgICAgICAgIGlm
IChpdGVtLmtleVNwYWNlKQpAQCAtMzQ1NiwxMiArMzQ1NiwxMiBAQCBOU0FycmF5KiBwbGF5ZXJL
Vk9Qcm9wZXJ0aWVzKCkKICAgICAgICAgZWxzZSBpZiAoW2tleVBhdGggaXNFcXVhbFRvU3RyaW5n
OkAicHJlc2VudGF0aW9uU2l6ZSJdKQogICAgICAgICAgICAgZnVuY3Rpb24gPSBzdGQ6OmJpbmQo
Jk1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OnByZXNlbnRhdGlvblNpemVEaWRD
aGFuZ2UsIG1fY2FsbGJhY2ssIEZsb2F0U2l6ZShbbmV3VmFsdWUgc2l6ZVZhbHVlXSkpOwogICAg
ICAgICBlbHNlIGlmIChba2V5UGF0aCBpc0VxdWFsVG9TdHJpbmc6QCJkdXJhdGlvbiJdKQotICAg
ICAgICAgICAgZnVuY3Rpb24gPSBzdGQ6OmJpbmQoJk1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRh
dGlvbk9iakM6OmR1cmF0aW9uRGlkQ2hhbmdlLCBtX2NhbGxiYWNrLCB0b01lZGlhVGltZShbbmV3
VmFsdWUgQ01UaW1lVmFsdWVdKSk7CisgICAgICAgICAgICBmdW5jdGlvbiA9IHN0ZDo6YmluZCgm
TWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6ZHVyYXRpb25EaWRDaGFuZ2UsIG1f
Y2FsbGJhY2ssIFBBTDo6dG9NZWRpYVRpbWUoW25ld1ZhbHVlIENNVGltZVZhbHVlXSkpOwogICAg
ICAgICBlbHNlIGlmIChba2V5UGF0aCBpc0VxdWFsVG9TdHJpbmc6QCJ0aW1lZE1ldGFkYXRhIl0g
JiYgbmV3VmFsdWUpIHsKICAgICAgICAgICAgIE1lZGlhVGltZSBub3c7CiAgICAgICAgICAgICBD
TVRpbWUgaXRlbVRpbWUgPSBbKEFWUGxheWVySXRlbVR5cGUgKilvYmplY3QgY3VycmVudFRpbWVd
OwogICAgICAgICAgICAgaWYgKENNVElNRV9JU19OVU1FUklDKGl0ZW1UaW1lKSkKLSAgICAgICAg
ICAgICAgICBub3cgPSBzdGQ6Om1heCh0b01lZGlhVGltZShpdGVtVGltZSksIE1lZGlhVGltZTo6
emVyb1RpbWUoKSk7CisgICAgICAgICAgICAgICAgbm93ID0gc3RkOjptYXgoUEFMOjp0b01lZGlh
VGltZShpdGVtVGltZSksIE1lZGlhVGltZTo6emVyb1RpbWUoKSk7CiAgICAgICAgICAgICBmdW5j
dGlvbiA9IHN0ZDo6YmluZCgmTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6bWV0
YWRhdGFEaWRBcnJpdmUsIG1fY2FsbGJhY2ssIFJldGFpblB0cjxOU0FycmF5PihuZXdWYWx1ZSks
IG5vdyk7CiAgICAgICAgICAgICBzaG91bGRMb2dWYWx1ZSA9IGZhbHNlOwogICAgICAgICB9IGVs
c2UgaWYgKFtrZXlQYXRoIGlzRXF1YWxUb1N0cmluZzpAImNhblBsYXlGYXN0UmV2ZXJzZSJdKQpA
QCAtMzQ5MCw3ICszNDkwLDcgQEAgTlNBcnJheSogcGxheWVyS1ZPUHJvcGVydGllcygpCiAKICAg
ICAgICAgaWYgKHNob3VsZExvZ1ZhbHVlKSB7CiAgICAgICAgICAgICBpZiAoW2tleVBhdGggaXNF
cXVhbFRvU3RyaW5nOkAiZHVyYXRpb24iXSkKLSAgICAgICAgICAgICAgICBtX2NhbGxiYWNrLT5s
b2dnZXIoKS5kZWJ1ZyhtX2NhbGxiYWNrLT5sb2dDaGFubmVsKCksIGlkZW50aWZpZXIsICJkaWQg
Y2hhbmdlICciLCBba2V5UGF0aCBVVEY4U3RyaW5nXSwgIicgdG8gIiwgdG9NZWRpYVRpbWUoW25l
d1ZhbHVlIENNVGltZVZhbHVlXSkpOworICAgICAgICAgICAgICAgIG1fY2FsbGJhY2stPmxvZ2dl
cigpLmRlYnVnKG1fY2FsbGJhY2stPmxvZ0NoYW5uZWwoKSwgaWRlbnRpZmllciwgImRpZCBjaGFu
Z2UgJyIsIFtrZXlQYXRoIFVURjhTdHJpbmddLCAiJyB0byAiLCBQQUw6OnRvTWVkaWFUaW1lKFtu
ZXdWYWx1ZSBDTVRpbWVWYWx1ZV0pKTsKICAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAg
ICAgIFJldGFpblB0cjxOU1N0cmluZz4gdmFsdWVTdHJpbmcgPSBhZG9wdE5TKFtbTlNTdHJpbmcg
YWxsb2NdIGluaXRXaXRoRm9ybWF0OkAiJUAiLCBuZXdWYWx1ZV0pOwogICAgICAgICAgICAgICAg
IG1fY2FsbGJhY2stPmxvZ2dlcigpLmRlYnVnKG1fY2FsbGJhY2stPmxvZ0NoYW5uZWwoKSwgaWRl
bnRpZmllciwgImRpZCBjaGFuZ2UgJyIsIFtrZXlQYXRoIFVURjhTdHJpbmddLCAiJyB0byAiLCBb
dmFsdWVTdHJpbmcuZ2V0KCkgVVRGOFN0cmluZ10pOwpAQCAtMzUzMCw3ICszNTMwLDcgQEAgTlNB
cnJheSogcGxheWVyS1ZPUHJvcGVydGllcygpCiAgICAgICAgIE1lZGlhUGxheWVyUHJpdmF0ZUFW
Rm91bmRhdGlvbk9iakMqIGNhbGxiYWNrID0gcHJvdGVjdGVkU2VsZi0+bV9jYWxsYmFjazsKICAg
ICAgICAgaWYgKCFjYWxsYmFjaykKICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgTWVkaWFU
aW1lIHRpbWUgPSBzdGQ6Om1heCh0b01lZGlhVGltZShpdGVtVGltZSksIE1lZGlhVGltZTo6emVy
b1RpbWUoKSk7CisgICAgICAgIE1lZGlhVGltZSB0aW1lID0gc3RkOjptYXgoUEFMOjp0b01lZGlh
VGltZShpdGVtVGltZSksIE1lZGlhVGltZTo6emVyb1RpbWUoKSk7CiAgICAgICAgIGNhbGxiYWNr
LT5wcm9jZXNzQ3VlKHByb3RlY3RlZFN0cmluZ3MuZ2V0KCksIHByb3RlY3RlZE5hdGl2ZVNhbXBs
ZXMuZ2V0KCksIHRpbWUpOwogICAgIH0pOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVk
aWFTb3VyY2VBVkZPYmpDLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZm
b3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1tCmlu
ZGV4IDZhMjA0YTEyMGUwZjZjNzdmNGQ1MTg1OTI1OTE4YjhkODI4YTExNTcuLjVjNjcxMTk3ZTJi
NzlkOTdlYWUyOWVhYmIyNzAwZTU3Y2Q1OWQyY2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1l
ZGlhU291cmNlQVZGT2JqQy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMu
bW0KQEAgLTM3LDcgKzM3LDYgQEAKICNpbXBvcnQgIkxvZ2dpbmcuaCIKICNpbXBvcnQgIk1lZGlh
U291cmNlUHJpdmF0ZUFWRk9iakMuaCIKICNpbXBvcnQgIk1lZGlhU291cmNlUHJpdmF0ZUNsaWVu
dC5oIgotI2ltcG9ydCAiTWVkaWFUaW1lQVZGb3VuZGF0aW9uLmgiCiAjaW1wb3J0ICJQaXhlbEJ1
ZmZlckNvbmZvcm1lckNWLmgiCiAjaW1wb3J0ICJQbGF0Zm9ybUNsb2NrQ00uaCIKICNpbXBvcnQg
IlRleHRUcmFja1JlcHJlc2VudGF0aW9uLmgiCkBAIC00OSw2ICs0OCw3IEBACiAjaW1wb3J0IDxB
VkZvdW5kYXRpb24vQVZUaW1lLmg+CiAjaW1wb3J0IDxRdWFydHpDb3JlL0NBTGF5ZXIuaD4KICNp
bXBvcnQgPG9iamNfcnVudGltZS5oPgorI2ltcG9ydCA8cGFsL2F2Zm91bmRhdGlvbi9NZWRpYVRp
bWVBVkZvdW5kYXRpb24uaD4KICNpbXBvcnQgPHBhbC9zcGkvbWFjL0FWRm91bmRhdGlvblNQSS5o
PgogI2ltcG9ydCA8d3RmL0RlcXVlLmg+CiAjaW1wb3J0IDx3dGYvTWFpblRocmVhZC5oPgpAQCAt
MTQ3LDcgKzE0Nyw3IEBAIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6TWVk
aWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDKE1lZGlhCiAgICAgLy8gYWRkUGVyaW9k
aWNUaW1lT2JzZXJ2ZXJGb3JJbnRlcnZhbDogdGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiB5b3UgcGFz
cyBhIG5vbi1udW1lcmljIENNVGltZSwgc28ganVzdCB1c2UKICAgICAvLyBhbiBhcmJpdHJhcmls
eSBsYXJnZSB0aW1lIHZhbHVlIG9mIG9uY2UgYW4gaG91cjoKICAgICBfX2Jsb2NrIGF1dG8gd2Vh
a1RoaXMgPSBjcmVhdGVXZWFrUHRyKCk7Ci0gICAgbV90aW1lSnVtcGVkT2JzZXJ2ZXIgPSBbbV9z
eW5jaHJvbml6ZXIgYWRkUGVyaW9kaWNUaW1lT2JzZXJ2ZXJGb3JJbnRlcnZhbDp0b0NNVGltZShN
ZWRpYVRpbWU6OmNyZWF0ZVdpdGhEb3VibGUoMzYwMCkpIHF1ZXVlOmRpc3BhdGNoX2dldF9tYWlu
X3F1ZXVlKCkgdXNpbmdCbG9jazpeKENNVGltZSB0aW1lKSB7CisgICAgbV90aW1lSnVtcGVkT2Jz
ZXJ2ZXIgPSBbbV9zeW5jaHJvbml6ZXIgYWRkUGVyaW9kaWNUaW1lT2JzZXJ2ZXJGb3JJbnRlcnZh
bDpQQUw6OnRvQ01UaW1lKE1lZGlhVGltZTo6Y3JlYXRlV2l0aERvdWJsZSgzNjAwKSkgcXVldWU6
ZGlzcGF0Y2hfZ2V0X21haW5fcXVldWUoKSB1c2luZ0Jsb2NrOl4oQ01UaW1lIHRpbWUpIHsKICNp
ZiBMT0dfRElTQUJMRUQKICAgICAgICAgVU5VU0VEX1BBUkFNKHRpbWUpOwogI2VuZGlmCkBAIC0x
NTYsNyArMTU2LDcgQEAgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpNZWRp
YVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMoTWVkaWEKICAgICAgICAgICAgIHJldHVy
bjsKIAogICAgICAgICBpZiAobV9zZWVraW5nICYmICFtX3BlbmRpbmdTZWVrKSB7Ci0gICAgICAg
ICAgICBMT0coTWVkaWFTb3VyY2UsICJNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9i
akM6Om1fdGltZUp1bXBlZE9ic2VydmVyKCVwKSAtIHRpbWUoJXMpIiwgd2Vha1RoaXMuZ2V0KCks
IHRvU3RyaW5nKHRvTWVkaWFUaW1lKHRpbWUpKS51dGY4KCkuZGF0YSgpKTsKKyAgICAgICAgICAg
IExPRyhNZWRpYVNvdXJjZSwgIk1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6
bV90aW1lSnVtcGVkT2JzZXJ2ZXIoJXApIC0gdGltZSglcykiLCB3ZWFrVGhpcy5nZXQoKSwgdG9T
dHJpbmcoUEFMOjp0b01lZGlhVGltZSh0aW1lKSkudXRmOCgpLmRhdGEoKSk7CiAgICAgICAgICAg
ICBtX3NlZWtpbmcgPSBmYWxzZTsKIAogICAgICAgICAgICAgaWYgKHNob3VsZEJlUGxheWluZygp
KQpAQCAtMzg4LDcgKzM4OCw3IEBAIE1lZGlhVGltZSBNZWRpYVBsYXllclByaXZhdGVNZWRpYVNv
dXJjZUFWRk9iakM6OmR1cmF0aW9uTWVkaWFUaW1lKCkgY29uc3QKIAogTWVkaWFUaW1lIE1lZGlh
UGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6Y3VycmVudE1lZGlhVGltZSgpIGNvbnN0
CiB7Ci0gICAgTWVkaWFUaW1lIHN5bmNocm9uaXplclRpbWUgPSB0b01lZGlhVGltZShDTVRpbWVi
YXNlR2V0VGltZShbbV9zeW5jaHJvbml6ZXIgdGltZWJhc2VdKSk7CisgICAgTWVkaWFUaW1lIHN5
bmNocm9uaXplclRpbWUgPSBQQUw6OnRvTWVkaWFUaW1lKENNVGltZWJhc2VHZXRUaW1lKFttX3N5
bmNocm9uaXplciB0aW1lYmFzZV0pKTsKICAgICBpZiAoc3luY2hyb25pemVyVGltZSA8IE1lZGlh
VGltZTo6emVyb1RpbWUoKSkKICAgICAgICAgcmV0dXJuIE1lZGlhVGltZTo6emVyb1RpbWUoKTsK
ICAgICBpZiAoc3luY2hyb25pemVyVGltZSA8IG1fbGFzdFNlZWtUaW1lKQpAQCAtNDM2LDExICs0
MzYsMTEgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OnNlZWtJ
bnRlcm5hbCgpCiAKICAgICBMT0coTWVkaWFTb3VyY2UsICJNZWRpYVBsYXllclByaXZhdGVNZWRp
YVNvdXJjZUFWRk9iakM6OnNlZWtJbnRlcm5hbCglcCkgLSBzZWVrVGltZSglcykiLCB0aGlzLCB0
b1N0cmluZyhtX2xhc3RTZWVrVGltZSkudXRmOCgpLmRhdGEoKSk7CiAKLSAgICBNZWRpYVRpbWUg
c3luY2hyb25pemVyVGltZSA9IHRvTWVkaWFUaW1lKENNVGltZWJhc2VHZXRUaW1lKFttX3N5bmNo
cm9uaXplciB0aW1lYmFzZV0pKTsKKyAgICBNZWRpYVRpbWUgc3luY2hyb25pemVyVGltZSA9IFBB
TDo6dG9NZWRpYVRpbWUoQ01UaW1lYmFzZUdldFRpbWUoW21fc3luY2hyb25pemVyIHRpbWViYXNl
XSkpOwogICAgIGJvb2wgZG9lc05vdFJlcXVpcmVTZWVrID0gc3luY2hyb25pemVyVGltZSA9PSBt
X2xhc3RTZWVrVGltZTsKIAogICAgIG1fbWVkaWFTb3VyY2VQcml2YXRlLT53aWxsU2VlaygpOwot
ICAgIFttX3N5bmNocm9uaXplciBzZXRSYXRlOjAgdGltZTp0b0NNVGltZShtX2xhc3RTZWVrVGlt
ZSldOworICAgIFttX3N5bmNocm9uaXplciBzZXRSYXRlOjAgdGltZTpQQUw6OnRvQ01UaW1lKG1f
bGFzdFNlZWtUaW1lKV07CiAgICAgbV9tZWRpYVNvdXJjZVByaXZhdGUtPnNlZWtUb1RpbWUobV9s
YXN0U2Vla1RpbWUpOwogCiAgICAgLy8gSW4gY2FzZXMgd2hlcmUgdGhlIGRlc3RpbmF0aW9uIHNl
ZWsgdGltZSBwcmVjaXNlbHkgbWF0Y2hlcyB0aGUgc3luY2hyb25pemVyJ3MgZXhpc3RpbmcgdGlt
ZQpAQCAtODU5LDcgKzg1OSw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VB
VkZPYmpDOjpkdXJhdGlvbkNoYW5nZWQoKQogCiAgICAgTWVkaWFUaW1lIGR1cmF0aW9uID0gbV9t
ZWRpYVNvdXJjZVByaXZhdGUtPmR1cmF0aW9uKCk7CiAgICAgYXV0byB3ZWFrVGhpcyA9IGNyZWF0
ZVdlYWtQdHIoKTsKLSAgICBOU0FycmF5KiB0aW1lcyA9IEBbW05TVmFsdWUgdmFsdWVXaXRoQ01U
aW1lOnRvQ01UaW1lKGR1cmF0aW9uKV1dOworICAgIE5TQXJyYXkqIHRpbWVzID0gQFtbTlNWYWx1
ZSB2YWx1ZVdpdGhDTVRpbWU6UEFMOjp0b0NNVGltZShkdXJhdGlvbildXTsKIAogICAgIExPRyhN
ZWRpYVNvdXJjZSwgIk1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6ZHVyYXRp
b25DaGFuZ2VkKCVwKSAtIGR1cmF0aW9uID0gJXMiLCB0aGlzLCB0b1N0cmluZyhkdXJhdGlvbiku
dXRmOCgpLmRhdGEoKSk7CiAKQEAgLTg3Myw3ICs4NzMsNyBAQCB2b2lkIE1lZGlhUGxheWVyUHJp
dmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6ZHVyYXRpb25DaGFuZ2VkKCkKICAgICAgICAgd2Vha1Ro
aXMtPnBhdXNlSW50ZXJuYWwoKTsKICAgICAgICAgaWYgKG5vdyA8IGR1cmF0aW9uKSB7CiAgICAg
ICAgICAgICBMT0coTWVkaWFTb3VyY2UsICIgICBFUlJPUjogYm91bmRhcnkgdGltZSBvYnNlcnZl
ciBjYWxsZWQgYmVmb3JlIGR1cmF0aW9uISIsIHdlYWtUaGlzLmdldCgpKTsKLSAgICAgICAgICAg
IFt3ZWFrVGhpcy0+bV9zeW5jaHJvbml6ZXIgc2V0UmF0ZTowIHRpbWU6dG9DTVRpbWUoZHVyYXRp
b24pXTsKKyAgICAgICAgICAgIFt3ZWFrVGhpcy0+bV9zeW5jaHJvbml6ZXIgc2V0UmF0ZTowIHRp
bWU6UEFMOjp0b0NNVGltZShkdXJhdGlvbildOwogICAgICAgICB9CiAgICAgICAgIHdlYWtUaGlz
LT5tX3BsYXllci0+dGltZUNoYW5nZWQoKTsKIApAQCAtODkxLDcgKzg5MSw3IEBAIHZvaWQgTWVk
aWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjplZmZlY3RpdmVSYXRlQ2hhbmdlZCgp
CiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6c2l6ZVdpbGxDaGFu
Z2VBdFRpbWUoY29uc3QgTWVkaWFUaW1lJiB0aW1lLCBjb25zdCBGbG9hdFNpemUmIHNpemUpCiB7
CiAgICAgYXV0byB3ZWFrVGhpcyA9IG1fc2l6ZUNoYW5nZU9ic2VydmVyV2Vha1B0ckZhY3Rvcnku
Y3JlYXRlV2Vha1B0cigpOwotICAgIE5TQXJyYXkqIHRpbWVzID0gQFtbTlNWYWx1ZSB2YWx1ZVdp
dGhDTVRpbWU6dG9DTVRpbWUodGltZSldXTsKKyAgICBOU0FycmF5KiB0aW1lcyA9IEBbW05TVmFs
dWUgdmFsdWVXaXRoQ01UaW1lOlBBTDo6dG9DTVRpbWUodGltZSldXTsKICAgICBSZXRhaW5QdHI8
aWQ+IG9ic2VydmVyID0gW21fc3luY2hyb25pemVyIGFkZEJvdW5kYXJ5VGltZU9ic2VydmVyRm9y
VGltZXM6dGltZXMgcXVldWU6ZGlzcGF0Y2hfZ2V0X21haW5fcXVldWUoKSB1c2luZ0Jsb2NrOlt0
aGlzLCB3ZWFrVGhpcywgc2l6ZV0gewogICAgICAgICBpZiAoIXdlYWtUaGlzKQogICAgICAgICAg
ICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
YXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLm1t
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVk
aWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLm1tCmluZGV4IGM0MmU0NjI2ZDY1MzZm
NTkzNjYxMjcyYjhmOGQyNGMyNjRmMTUyOWEuLjkwNTVkYmY5YmQ4YzAxMTViNjQ2ZDlhM2U4ZWM5
YThjNmE3ODVhMjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQy5t
bQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2Jq
Yy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMubW0KQEAgLTMzLDEzICszMywx
MyBAQAogI2ltcG9ydCAiR3JhcGhpY3NDb250ZXh0Q0cuaCIKICNpbXBvcnQgIkxvZ2dpbmcuaCIK
ICNpbXBvcnQgIk1lZGlhU3RyZWFtUHJpdmF0ZS5oIgotI2ltcG9ydCAiTWVkaWFUaW1lQVZGb3Vu
ZGF0aW9uLmgiCiAjaW1wb3J0ICJQaXhlbEJ1ZmZlckNvbmZvcm1lckNWLmgiCiAjaW1wb3J0ICJW
aWRlb1RyYWNrUHJpdmF0ZU1lZGlhU3RyZWFtLmgiCiAjaW1wb3J0IDxBVkZvdW5kYXRpb24vQVZT
YW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIuaD4KICNpbXBvcnQgPFF1YXJ0ekNvcmUvQ0FMYXllci5o
PgogI2ltcG9ydCA8UXVhcnR6Q29yZS9DQVRyYW5zYWN0aW9uLmg+CiAjaW1wb3J0IDxvYmpjX3J1
bnRpbWUuaD4KKyNpbXBvcnQgPHBhbC9hdmZvdW5kYXRpb24vTWVkaWFUaW1lQVZGb3VuZGF0aW9u
Lmg+CiAjaW1wb3J0IDxwYWwvc3BpL21hYy9BVkZvdW5kYXRpb25TUEkuaD4KICNpbXBvcnQgPHd0
Zi9GdW5jdGlvbi5oPgogI2ltcG9ydCA8d3RmL01haW5UaHJlYWQuaD4KQEAgLTMwNCw3ICszMDQs
NyBAQCBNZWRpYVRpbWUgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDOjpjYWxj
dWxhdGVUaW1lbGluZU9mZnNldChjb25zdCBNZQogICAgICAgICBzYW1wbGVUaW1lID0gc2FtcGxl
LnByZXNlbnRhdGlvblRpbWUoKTsKICAgICBNZWRpYVRpbWUgdGltZWxpbmVPZmZzZXQgPSBzdHJl
YW1UaW1lKCkgLSBzYW1wbGVUaW1lICsgTWVkaWFUaW1lOjpjcmVhdGVXaXRoRG91YmxlKGxhdGVu
Y3kpOwogICAgIGlmICh0aW1lbGluZU9mZnNldC50aW1lU2NhbGUoKSAhPSBzYW1wbGVUaW1lLnRp
bWVTY2FsZSgpKQotICAgICAgICB0aW1lbGluZU9mZnNldCA9IHRvTWVkaWFUaW1lKENNVGltZUNv
bnZlcnRTY2FsZSh0b0NNVGltZSh0aW1lbGluZU9mZnNldCksIHNhbXBsZVRpbWUudGltZVNjYWxl
KCksIGtDTVRpbWVSb3VuZGluZ01ldGhvZF9EZWZhdWx0KSk7CisgICAgICAgIHRpbWVsaW5lT2Zm
c2V0ID0gUEFMOjp0b01lZGlhVGltZShDTVRpbWVDb252ZXJ0U2NhbGUoUEFMOjp0b0NNVGltZSh0
aW1lbGluZU9mZnNldCksIHNhbXBsZVRpbWUudGltZVNjYWxlKCksIGtDTVRpbWVSb3VuZGluZ01l
dGhvZF9EZWZhdWx0KSk7CiAgICAgcmV0dXJuIHRpbWVsaW5lT2Zmc2V0OwogfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9N
ZWRpYVNhbXBsZUFWRk9iakMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9h
dmZvdW5kYXRpb24vb2JqYy9NZWRpYVNhbXBsZUFWRk9iakMubW0KaW5kZXggMGY4OTVhZTQzMzgx
OWVjMmFhMjNmMDcyNGMwOTcyYmYwMzAyM2IxZC4uMTA4OWE3OGEyYTc1YjNmNmQyYjBlN2QyYjE1
YzExYWNmYzhkNjAzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTYW1wbGVBVkZPYmpDLm1tCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhU2FtcGxlQVZG
T2JqQy5tbQpAQCAtNzQsMjcgKzc0LDI3IEBAIFJlZlB0cjxNZWRpYVNhbXBsZUFWRk9iakM+IE1l
ZGlhU2FtcGxlQVZGT2JqQzo6Y3JlYXRlSW1hZ2VTYW1wbGUoVmVjdG9yPHVpbnQ4X3Q+CiAKIE1l
ZGlhVGltZSBNZWRpYVNhbXBsZUFWRk9iakM6OnByZXNlbnRhdGlvblRpbWUoKSBjb25zdAogewot
ICAgIHJldHVybiB0b01lZGlhVGltZShDTVNhbXBsZUJ1ZmZlckdldFByZXNlbnRhdGlvblRpbWVT
dGFtcChtX3NhbXBsZS5nZXQoKSkpOworICAgIHJldHVybiBQQUw6OnRvTWVkaWFUaW1lKENNU2Ft
cGxlQnVmZmVyR2V0UHJlc2VudGF0aW9uVGltZVN0YW1wKG1fc2FtcGxlLmdldCgpKSk7CiB9CiAK
IE1lZGlhVGltZSBNZWRpYVNhbXBsZUFWRk9iakM6Om91dHB1dFByZXNlbnRhdGlvblRpbWUoKSBj
b25zdAogewotICAgIHJldHVybiB0b01lZGlhVGltZShDTVNhbXBsZUJ1ZmZlckdldE91dHB1dFBy
ZXNlbnRhdGlvblRpbWVTdGFtcChtX3NhbXBsZS5nZXQoKSkpOworICAgIHJldHVybiBQQUw6OnRv
TWVkaWFUaW1lKENNU2FtcGxlQnVmZmVyR2V0T3V0cHV0UHJlc2VudGF0aW9uVGltZVN0YW1wKG1f
c2FtcGxlLmdldCgpKSk7CiB9CiAKIE1lZGlhVGltZSBNZWRpYVNhbXBsZUFWRk9iakM6OmRlY29k
ZVRpbWUoKSBjb25zdAogewotICAgIHJldHVybiB0b01lZGlhVGltZShDTVNhbXBsZUJ1ZmZlckdl
dERlY29kZVRpbWVTdGFtcChtX3NhbXBsZS5nZXQoKSkpOworICAgIHJldHVybiBQQUw6OnRvTWVk
aWFUaW1lKENNU2FtcGxlQnVmZmVyR2V0RGVjb2RlVGltZVN0YW1wKG1fc2FtcGxlLmdldCgpKSk7
CiB9CiAKIE1lZGlhVGltZSBNZWRpYVNhbXBsZUFWRk9iakM6OmR1cmF0aW9uKCkgY29uc3QKIHsK
LSAgICByZXR1cm4gdG9NZWRpYVRpbWUoQ01TYW1wbGVCdWZmZXJHZXREdXJhdGlvbihtX3NhbXBs
ZS5nZXQoKSkpOworICAgIHJldHVybiBQQUw6OnRvTWVkaWFUaW1lKENNU2FtcGxlQnVmZmVyR2V0
RHVyYXRpb24obV9zYW1wbGUuZ2V0KCkpKTsKIH0KIAogTWVkaWFUaW1lIE1lZGlhU2FtcGxlQVZG
T2JqQzo6b3V0cHV0RHVyYXRpb24oKSBjb25zdAogewotICAgIHJldHVybiB0b01lZGlhVGltZShD
TVNhbXBsZUJ1ZmZlckdldE91dHB1dER1cmF0aW9uKG1fc2FtcGxlLmdldCgpKSk7CisgICAgcmV0
dXJuIFBBTDo6dG9NZWRpYVRpbWUoQ01TYW1wbGVCdWZmZXJHZXRPdXRwdXREdXJhdGlvbihtX3Nh
bXBsZS5nZXQoKSkpOwogfQogCiBzaXplX3QgTWVkaWFTYW1wbGVBVkZPYmpDOjpzaXplSW5CeXRl
cygpIGNvbnN0CkBAIC0xNzYsOCArMTc2LDggQEAgdm9pZCBNZWRpYVNhbXBsZUFWRk9iakM6Om9m
ZnNldFRpbWVzdGFtcHNCeShjb25zdCBNZWRpYVRpbWUmIG9mZnNldCkKICAgICAgICAgcmV0dXJu
OwogICAgIAogICAgIGZvciAoYXV0byYgdGltaW5nIDogdGltaW5nSW5mb0FycmF5KSB7Ci0gICAg
ICAgIHRpbWluZy5wcmVzZW50YXRpb25UaW1lU3RhbXAgPSB0b0NNVGltZSh0b01lZGlhVGltZSh0
aW1pbmcucHJlc2VudGF0aW9uVGltZVN0YW1wKSArIG9mZnNldCk7Ci0gICAgICAgIHRpbWluZy5k
ZWNvZGVUaW1lU3RhbXAgPSB0b0NNVGltZSh0b01lZGlhVGltZSh0aW1pbmcuZGVjb2RlVGltZVN0
YW1wKSArIG9mZnNldCk7CisgICAgICAgIHRpbWluZy5wcmVzZW50YXRpb25UaW1lU3RhbXAgPSBQ
QUw6OnRvQ01UaW1lKFBBTDo6dG9NZWRpYVRpbWUodGltaW5nLnByZXNlbnRhdGlvblRpbWVTdGFt
cCkgKyBvZmZzZXQpOworICAgICAgICB0aW1pbmcuZGVjb2RlVGltZVN0YW1wID0gUEFMOjp0b0NN
VGltZShQQUw6OnRvTWVkaWFUaW1lKHRpbWluZy5kZWNvZGVUaW1lU3RhbXApICsgb2Zmc2V0KTsK
ICAgICB9CiAgICAgCiAgICAgQ01TYW1wbGVCdWZmZXJSZWYgbmV3U2FtcGxlOwpAQCAtMTk5LDgg
KzE5OSw4IEBAIHZvaWQgTWVkaWFTYW1wbGVBVkZPYmpDOjpzZXRUaW1lc3RhbXBzKGNvbnN0IFdU
Rjo6TWVkaWFUaW1lICZwcmVzZW50YXRpb25UaW1lc3RhCiAgICAgICAgIHJldHVybjsKICAgICAK
ICAgICBmb3IgKGF1dG8mIHRpbWluZyA6IHRpbWluZ0luZm9BcnJheSkgewotICAgICAgICB0aW1p
bmcucHJlc2VudGF0aW9uVGltZVN0YW1wID0gdG9DTVRpbWUocHJlc2VudGF0aW9uVGltZXN0YW1w
KTsKLSAgICAgICAgdGltaW5nLmRlY29kZVRpbWVTdGFtcCA9IHRvQ01UaW1lKGRlY29kZVRpbWVz
dGFtcCk7CisgICAgICAgIHRpbWluZy5wcmVzZW50YXRpb25UaW1lU3RhbXAgPSBQQUw6OnRvQ01U
aW1lKHByZXNlbnRhdGlvblRpbWVzdGFtcCk7CisgICAgICAgIHRpbWluZy5kZWNvZGVUaW1lU3Rh
bXAgPSBQQUw6OnRvQ01UaW1lKGRlY29kZVRpbWVzdGFtcCk7CiAgICAgfQogICAgIAogICAgIENN
U2FtcGxlQnVmZmVyUmVmIG5ld1NhbXBsZTsKQEAgLTIyOSw3ICsyMjksNyBAQCBzdGQ6OnBhaXI8
UmVmUHRyPE1lZGlhU2FtcGxlPiwgUmVmUHRyPE1lZGlhU2FtcGxlPj4gTWVkaWFTYW1wbGVBVkZP
YmpDOjpkaXZpZGUoYwogICAgIENGSW5kZXggc2FtcGxlc0JlZm9yZVByZXNlbnRhdGlvblRpbWUg
PSAwOwogCiAgICAgQ01TYW1wbGVCdWZmZXJDYWxsQmxvY2tGb3JFYWNoU2FtcGxlKG1fc2FtcGxl
LmdldCgpLCBbJl0gKENNU2FtcGxlQnVmZmVyUmVmIHNhbXBsZUJ1ZmZlciwgQ01JdGVtQ291bnQp
IC0+IE9TU3RhdHVzIHsKLSAgICAgICAgaWYgKHRvTWVkaWFUaW1lKENNU2FtcGxlQnVmZmVyR2V0
UHJlc2VudGF0aW9uVGltZVN0YW1wKHNhbXBsZUJ1ZmZlcikpID49IHByZXNlbnRhdGlvblRpbWUp
CisgICAgICAgIGlmIChQQUw6OnRvTWVkaWFUaW1lKENNU2FtcGxlQnVmZmVyR2V0UHJlc2VudGF0
aW9uVGltZVN0YW1wKHNhbXBsZUJ1ZmZlcikpID49IHByZXNlbnRhdGlvblRpbWUpCiAgICAgICAg
ICAgICByZXR1cm4gMTsKICAgICAgICAgKytzYW1wbGVzQmVmb3JlUHJlc2VudGF0aW9uVGltZTsK
ICAgICAgICAgcmV0dXJuIG5vRXJyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMu
bW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9T
b3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQy5tbQppbmRleCBjOTAwZTdlMGUwMGU0NzAxZTg1NTVk
NTg5ZjQ4YTU0ZTczMDVmOGQzLi5jYjZiMzUyYTZkM2E1NWNkMWZhNzI1Y2E4MGYzMjM4NDljNmNi
OTlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5k
YXRpb24vb2JqYy9Tb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQy5tbQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9Tb3VyY2VCdWZmZXJQcml2
YXRlQVZGT2JqQy5tbQpAQCAtMzksNyArMzksNiBAQAogI2ltcG9ydCAiTWVkaWFTYW1wbGUuaCIK
ICNpbXBvcnQgIk1lZGlhU2FtcGxlQVZGT2JqQy5oIgogI2ltcG9ydCAiTWVkaWFTb3VyY2VQcml2
YXRlQVZGT2JqQy5oIgotI2ltcG9ydCAiTWVkaWFUaW1lQVZGb3VuZGF0aW9uLmgiCiAjaW1wb3J0
ICJOb3RJbXBsZW1lbnRlZC5oIgogI2ltcG9ydCAiU291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudC5o
IgogI2ltcG9ydCAiVGltZVJhbmdlcy5oIgpAQCAtNDksNiArNDgsNyBAQAogI2ltcG9ydCA8UXVh
cnR6Q29yZS9DQUxheWVyLmg+CiAjaW1wb3J0IDxtYXA+CiAjaW1wb3J0IDxvYmpjL3J1bnRpbWUu
aD4KKyNpbXBvcnQgPHBhbC9hdmZvdW5kYXRpb24vTWVkaWFUaW1lQVZGb3VuZGF0aW9uLmg+CiAj
aW1wb3J0IDxwYWwvc3BpL21hYy9BVkZvdW5kYXRpb25TUEkuaD4KICNpbXBvcnQgPHJ1bnRpbWUv
VHlwZWRBcnJheUlubGluZXMuaD4KICNpbXBvcnQgPHd0Zi9CbG9ja09iakNFeGNlcHRpb25zLmg+
CkBAIC01MjYsMTAgKzUyNiwxMCBAQCB2b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjpk
aWRQYXJzZVN0cmVhbURhdGFBc0Fzc2V0KEFWQXNzZXQqIGFzc2V0KQogICAgIFNvdXJjZUJ1ZmZl
clByaXZhdGVDbGllbnQ6OkluaXRpYWxpemF0aW9uU2VnbWVudCBzZWdtZW50OwogCiAgICAgaWYg
KFttX2Fzc2V0IHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3Iob3ZlcmFsbER1cmF0aW9uSGlu
dCldKQotICAgICAgICBzZWdtZW50LmR1cmF0aW9uID0gdG9NZWRpYVRpbWUoW21fYXNzZXQgb3Zl
cmFsbER1cmF0aW9uSGludF0pOworICAgICAgICBzZWdtZW50LmR1cmF0aW9uID0gUEFMOjp0b01l
ZGlhVGltZShbbV9hc3NldCBvdmVyYWxsRHVyYXRpb25IaW50XSk7CiAKICAgICBpZiAoc2VnbWVu
dC5kdXJhdGlvbi5pc0ludmFsaWQoKSB8fCBzZWdtZW50LmR1cmF0aW9uID09IE1lZGlhVGltZTo6
emVyb1RpbWUoKSkKLSAgICAgICAgc2VnbWVudC5kdXJhdGlvbiA9IHRvTWVkaWFUaW1lKFttX2Fz
c2V0IGR1cmF0aW9uXSk7CisgICAgICAgIHNlZ21lbnQuZHVyYXRpb24gPSBQQUw6OnRvTWVkaWFU
aW1lKFttX2Fzc2V0IGR1cmF0aW9uXSk7CiAKICAgICBmb3IgKEFWQXNzZXRUcmFjayogdHJhY2sg
aW4gW21fYXNzZXQgdHJhY2tzXSkgewogICAgICAgICBpZiAoW3RyYWNrIGhhc01lZGlhQ2hhcmFj
dGVyaXN0aWM6QVZNZWRpYUNoYXJhY3RlcmlzdGljTGVnaWJsZV0pIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkNvcmVEZWNvbXByZXNzaW9u
U2Vzc2lvbi5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkNv
cmVEZWNvbXByZXNzaW9uU2Vzc2lvbi5tbQppbmRleCBlOWNkYzU0NWVjNzg2YjUyODkwNzQ0ZDQ4
MzA2MjAxNWM4NTFjMWZhLi5lOThiODRlYjY1MmEzYmFmODg5NjNkNWQzNWYwNWE5NmY5ZTE4M2Vj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJD
b3JlRGVjb21wcmVzc2lvblNlc3Npb24ubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY29jb2EvV2ViQ29yZURlY29tcHJlc3Npb25TZXNzaW9uLm1tCkBAIC0yOSwxMCAr
MjksMTAgQEAKICNpZiBVU0UoVklERU9UT09MQk9YKQogCiAjaW1wb3J0ICJMb2dnaW5nLmgiCi0j
aW1wb3J0ICJNZWRpYVRpbWVBVkZvdW5kYXRpb24uaCIKICNpbXBvcnQgIlBpeGVsQnVmZmVyQ29u
Zm9ybWVyQ1YuaCIKICNpbXBvcnQgPENvcmVNZWRpYS9DTUJ1ZmZlclF1ZXVlLmg+CiAjaW1wb3J0
IDxDb3JlTWVkaWEvQ01Gb3JtYXREZXNjcmlwdGlvbi5oPgorI2ltcG9ydCA8cGFsL2F2Zm91bmRh
dGlvbi9NZWRpYVRpbWVBVkZvdW5kYXRpb24uaD4KICNpbXBvcnQgPHd0Zi9NYWluVGhyZWFkLmg+
CiAjaW1wb3J0IDx3dGYvTWVkaWFUaW1lLmg+CiAjaW1wb3J0IDx3dGYvU3RyaW5nUHJpbnRTdHJl
YW0uaD4KQEAgLTMwNiw3ICszMDYsNyBAQCB2b2lkIFdlYkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lv
bjo6aGFuZGxlRGVjb21wcmVzc2lvbk91dHB1dChib29sIGRpc3BsYXlpbmcsIE9TUwogICAgICAg
ICBhdXRvIGN1cnJlbnRUaW1lID0gQ01UaW1lYmFzZUdldFRpbWUobV90aW1lYmFzZS5nZXQoKSk7
CiAgICAgICAgIGF1dG8gY3VycmVudFJhdGUgPSBDTVRpbWViYXNlR2V0UmF0ZShtX3RpbWViYXNl
LmdldCgpKTsKICAgICAgICAgaWYgKGN1cnJlbnRSYXRlID4gMCAmJiBDTVRpbWVDb21wYXJlKHBy
ZXNlbnRhdGlvblRpbWVTdGFtcCwgY3VycmVudFRpbWUpIDwgMCkKLSAgICAgICAgICAgIG1fdG90
YWxGcmFtZURlbGF5ICs9IHRvTWVkaWFUaW1lKENNVGltZVN1YnRyYWN0KGN1cnJlbnRUaW1lLCBw
cmVzZW50YXRpb25UaW1lU3RhbXApKTsKKyAgICAgICAgICAgIG1fdG90YWxGcmFtZURlbGF5ICs9
IFBBTDo6dG9NZWRpYVRpbWUoQ01UaW1lU3VidHJhY3QoY3VycmVudFRpbWUsIHByZXNlbnRhdGlv
blRpbWVTdGFtcCkpOwogICAgIH0KIAogICAgIGRpc3BhdGNoX2FzeW5jKG1fZW5xdWVpbmdRdWV1
ZS5nZXQoKSwgW3Byb3RlY3RlZFRoaXMgPSBtYWtlUmVmUHRyKHRoaXMpLCBzdGF0dXMsIGltYWdl
U2FtcGxlQnVmZmVyID0gYWRvcHRDRihyYXdJbWFnZVNhbXBsZUJ1ZmZlciksIGluZm9GbGFncywg
ZGlzcGxheWluZ10gewpAQCAtMzM0LDE1ICszMzQsMTUgQEAgdm9pZCBXZWJDb3JlRGVjb21wcmVz
c2lvblNlc3Npb246OmF1dG9tYXRpY0RlcXVldWUoKQogICAgIGlmICghbV90aW1lYmFzZSkKICAg
ICAgICAgcmV0dXJuOwogCi0gICAgYXV0byB0aW1lID0gdG9NZWRpYVRpbWUoQ01UaW1lYmFzZUdl
dFRpbWUobV90aW1lYmFzZS5nZXQoKSkpOworICAgIGF1dG8gdGltZSA9IFBBTDo6dG9NZWRpYVRp
bWUoQ01UaW1lYmFzZUdldFRpbWUobV90aW1lYmFzZS5nZXQoKSkpOwogICAgIExPRyhNZWRpYSwg
IldlYkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lvbjo6YXV0b21hdGljRGVxdWV1ZSglcCkgLSBwdXJn
aW5nIGFsbCBzYW1wbGVzIGJlZm9yZSB0aW1lKCVzKSIsIHRoaXMsIHRvU3RyaW5nKHRpbWUpLnV0
ZjgoKS5kYXRhKCkpOwogCiAgICAgTWVkaWFUaW1lIG5leHRGaXJlVGltZSA9IE1lZGlhVGltZTo6
cG9zaXRpdmVJbmZpbml0ZVRpbWUoKTsKICAgICBib29sIHJlbGVhc2VkSW1hZ2VCdWZmZXJzID0g
ZmFsc2U7CiAKICAgICB3aGlsZSAoQ01TYW1wbGVCdWZmZXJSZWYgZmlyc3RTYW1wbGUgPSAoQ01T
YW1wbGVCdWZmZXJSZWYpQ01CdWZmZXJRdWV1ZUdldEhlYWQobV9wcm9kdWNlclF1ZXVlLmdldCgp
KSkgewotICAgICAgICBNZWRpYVRpbWUgcHJlc2VudGF0aW9uVGltZXN0YW1wID0gdG9NZWRpYVRp
bWUoQ01TYW1wbGVCdWZmZXJHZXRQcmVzZW50YXRpb25UaW1lU3RhbXAoZmlyc3RTYW1wbGUpKTsK
LSAgICAgICAgTWVkaWFUaW1lIGR1cmF0aW9uID0gdG9NZWRpYVRpbWUoQ01TYW1wbGVCdWZmZXJH
ZXREdXJhdGlvbihmaXJzdFNhbXBsZSkpOworICAgICAgICBNZWRpYVRpbWUgcHJlc2VudGF0aW9u
VGltZXN0YW1wID0gUEFMOjp0b01lZGlhVGltZShDTVNhbXBsZUJ1ZmZlckdldFByZXNlbnRhdGlv
blRpbWVTdGFtcChmaXJzdFNhbXBsZSkpOworICAgICAgICBNZWRpYVRpbWUgZHVyYXRpb24gPSBQ
QUw6OnRvTWVkaWFUaW1lKENNU2FtcGxlQnVmZmVyR2V0RHVyYXRpb24oZmlyc3RTYW1wbGUpKTsK
ICAgICAgICAgTWVkaWFUaW1lIHByZXNlbnRhdGlvbkVuZFRpbWVzdGFtcCA9IHByZXNlbnRhdGlv
blRpbWVzdGFtcCArIGR1cmF0aW9uOwogICAgICAgICBpZiAodGltZSA+IHByZXNlbnRhdGlvbkVu
ZFRpbWVzdGFtcCkgewogICAgICAgICAgICAgQ0ZSZWxlYXNlKENNQnVmZmVyUXVldWVEZXF1ZXVl
QW5kUmV0YWluKG1fcHJvZHVjZXJRdWV1ZS5nZXQoKSkpOwpAQCAtMzUxLDggKzM1MSw4IEBAIHZv
aWQgV2ViQ29yZURlY29tcHJlc3Npb25TZXNzaW9uOjphdXRvbWF0aWNEZXF1ZXVlKCkKICAgICAg
ICAgfQogCiAjaWYgIUxPR19ESVNBQkxFRAotICAgICAgICBhdXRvIGJlZ2luID0gdG9NZWRpYVRp
bWUoQ01CdWZmZXJRdWV1ZUdldEZpcnN0UHJlc2VudGF0aW9uVGltZVN0YW1wKG1fcHJvZHVjZXJR
dWV1ZS5nZXQoKSkpOwotICAgICAgICBhdXRvIGVuZCA9IHRvTWVkaWFUaW1lKENNQnVmZmVyUXVl
dWVHZXRFbmRQcmVzZW50YXRpb25UaW1lU3RhbXAobV9wcm9kdWNlclF1ZXVlLmdldCgpKSk7Cisg
ICAgICAgIGF1dG8gYmVnaW4gPSBQQUw6OnRvTWVkaWFUaW1lKENNQnVmZmVyUXVldWVHZXRGaXJz
dFByZXNlbnRhdGlvblRpbWVTdGFtcChtX3Byb2R1Y2VyUXVldWUuZ2V0KCkpKTsKKyAgICAgICAg
YXV0byBlbmQgPSBQQUw6OnRvTWVkaWFUaW1lKENNQnVmZmVyUXVldWVHZXRFbmRQcmVzZW50YXRp
b25UaW1lU3RhbXAobV9wcm9kdWNlclF1ZXVlLmdldCgpKSk7CiAgICAgICAgIExPRyhNZWRpYSwg
IldlYkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lvbjo6YXV0b21hdGljRGVxdWV1ZSglcCkgLSBxdWV1
ZSglcyAtPiAlcykiLCB0aGlzLCB0b1N0cmluZyhiZWdpbikudXRmOCgpLmRhdGEoKSwgdG9TdHJp
bmcoZW5kKS51dGY4KCkuZGF0YSgpKTsKICNlbmRpZgogCkBAIC0zNjQsNyArMzY0LDcgQEAgdm9p
ZCBXZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb246OmF1dG9tYXRpY0RlcXVldWUoKQogICAgICAg
ICBtYXliZUJlY29tZVJlYWR5Rm9yTW9yZU1lZGlhRGF0YSgpOwogCiAgICAgTE9HKE1lZGlhLCAi
V2ViQ29yZURlY29tcHJlc3Npb25TZXNzaW9uOjphdXRvbWF0aWNEZXF1ZXVlKCVwKSAtIHF1ZXVl
IGVtcHR5IiwgdGhpcywgdG9TdHJpbmcodGltZSkudXRmOCgpLmRhdGEoKSk7Ci0gICAgQ01UaW1l
YmFzZVNldFRpbWVyRGlzcGF0Y2hTb3VyY2VOZXh0RmlyZVRpbWUobV90aW1lYmFzZS5nZXQoKSwg
bV90aW1lclNvdXJjZS5nZXQoKSwgdG9DTVRpbWUobmV4dEZpcmVUaW1lKSwgMCk7CisgICAgQ01U
aW1lYmFzZVNldFRpbWVyRGlzcGF0Y2hTb3VyY2VOZXh0RmlyZVRpbWUobV90aW1lYmFzZS5nZXQo
KSwgbV90aW1lclNvdXJjZS5nZXQoKSwgUEFMOjp0b0NNVGltZShuZXh0RmlyZVRpbWUpLCAwKTsK
IH0KIAogdm9pZCBXZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb246OmVucXVldWVEZWNvZGVkU2Ft
cGxlKENNU2FtcGxlQnVmZmVyUmVmIHNhbXBsZSwgYm9vbCBkaXNwbGF5aW5nKQpAQCAtMzgyLDkg
KzM4Miw5IEBAIHZvaWQgV2ViQ29yZURlY29tcHJlc3Npb25TZXNzaW9uOjplbnF1ZXVlRGVjb2Rl
ZFNhbXBsZShDTVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGUsCiAgICAgQ01CdWZmZXJRdWV1ZUVucXVl
dWUobV9wcm9kdWNlclF1ZXVlLmdldCgpLCBzYW1wbGUpOwogCiAjaWYgIUxPR19ESVNBQkxFRAot
ICAgIGF1dG8gYmVnaW4gPSB0b01lZGlhVGltZShDTUJ1ZmZlclF1ZXVlR2V0Rmlyc3RQcmVzZW50
YXRpb25UaW1lU3RhbXAobV9wcm9kdWNlclF1ZXVlLmdldCgpKSk7Ci0gICAgYXV0byBlbmQgPSB0
b01lZGlhVGltZShDTUJ1ZmZlclF1ZXVlR2V0RW5kUHJlc2VudGF0aW9uVGltZVN0YW1wKG1fcHJv
ZHVjZXJRdWV1ZS5nZXQoKSkpOwotICAgIGF1dG8gcHJlc2VudGF0aW9uVGltZSA9IHRvTWVkaWFU
aW1lKENNU2FtcGxlQnVmZmVyR2V0UHJlc2VudGF0aW9uVGltZVN0YW1wKHNhbXBsZSkpOworICAg
IGF1dG8gYmVnaW4gPSBQQUw6OnRvTWVkaWFUaW1lKENNQnVmZmVyUXVldWVHZXRGaXJzdFByZXNl
bnRhdGlvblRpbWVTdGFtcChtX3Byb2R1Y2VyUXVldWUuZ2V0KCkpKTsKKyAgICBhdXRvIGVuZCA9
IFBBTDo6dG9NZWRpYVRpbWUoQ01CdWZmZXJRdWV1ZUdldEVuZFByZXNlbnRhdGlvblRpbWVTdGFt
cChtX3Byb2R1Y2VyUXVldWUuZ2V0KCkpKTsKKyAgICBhdXRvIHByZXNlbnRhdGlvblRpbWUgPSBQ
QUw6OnRvTWVkaWFUaW1lKENNU2FtcGxlQnVmZmVyR2V0UHJlc2VudGF0aW9uVGltZVN0YW1wKHNh
bXBsZSkpOwogICAgIExPRyhNZWRpYSwgIldlYkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lvbjo6ZW5x
dWV1ZURlY29kZWRTYW1wbGUoJXApIC0gcHJlc2VudGF0aW9uVGltZSglcyksIGZyYW1lc0JlaW5n
RGVjb2RlZCglZCksIHByb2R1Y2VyUXVldWUoJXMgLT4gJXMpIiwgdGhpcywgdG9TdHJpbmcocHJl
c2VudGF0aW9uVGltZSkudXRmOCgpLmRhdGEoKSwgbV9mcmFtZXNCZWluZ0RlY29kZWQsIHRvU3Ry
aW5nKGJlZ2luKS51dGY4KCkuZGF0YSgpLCB0b1N0cmluZyhlbmQpLnV0ZjgoKS5kYXRhKCkpOwog
I2VuZGlmCiAKQEAgLTM5NSw5ICszOTUsOSBAQCB2b2lkIFdlYkNvcmVEZWNvbXByZXNzaW9uU2Vz
c2lvbjo6ZW5xdWV1ZURlY29kZWRTYW1wbGUoQ01TYW1wbGVCdWZmZXJSZWYgc2FtcGxlLAogICAg
ICAgICByZXR1cm47CiAKICAgICBpZiAobV90aW1lYmFzZSkgewotICAgICAgICBhdXRvIGN1cnJl
bnRUaW1lID0gdG9NZWRpYVRpbWUoQ01UaW1lYmFzZUdldFRpbWUobV90aW1lYmFzZS5nZXQoKSkp
OwotICAgICAgICBhdXRvIHByZXNlbnRhdGlvblN0YXJ0VGltZSA9IHRvTWVkaWFUaW1lKENNU2Ft
cGxlQnVmZmVyR2V0UHJlc2VudGF0aW9uVGltZVN0YW1wKHNhbXBsZSkpOwotICAgICAgICBhdXRv
IHByZXNlbnRhdGlvbkVuZFRpbWUgPSBwcmVzZW50YXRpb25TdGFydFRpbWUgKyB0b01lZGlhVGlt
ZShDTVNhbXBsZUJ1ZmZlckdldER1cmF0aW9uKHNhbXBsZSkpOworICAgICAgICBhdXRvIGN1cnJl
bnRUaW1lID0gUEFMOjp0b01lZGlhVGltZShDTVRpbWViYXNlR2V0VGltZShtX3RpbWViYXNlLmdl
dCgpKSk7CisgICAgICAgIGF1dG8gcHJlc2VudGF0aW9uU3RhcnRUaW1lID0gUEFMOjp0b01lZGlh
VGltZShDTVNhbXBsZUJ1ZmZlckdldFByZXNlbnRhdGlvblRpbWVTdGFtcChzYW1wbGUpKTsKKyAg
ICAgICAgYXV0byBwcmVzZW50YXRpb25FbmRUaW1lID0gcHJlc2VudGF0aW9uU3RhcnRUaW1lICsg
UEFMOjp0b01lZGlhVGltZShDTVNhbXBsZUJ1ZmZlckdldER1cmF0aW9uKHNhbXBsZSkpOwogICAg
ICAgICBpZiAoY3VycmVudFRpbWUgPCBwcmVzZW50YXRpb25TdGFydFRpbWUgfHwgY3VycmVudFRp
bWUgPj0gcHJlc2VudGF0aW9uRW5kVGltZSkKICAgICAgICAgICAgIHJldHVybjsKICAgICB9CkBA
IC00NTQsOCArNDU0LDggQEAgUmV0YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+IFdlYkNvcmVEZWNv
bXByZXNzaW9uU2Vzc2lvbjo6aW1hZ2VGb3JUaW1lKGNvbnN0IE1lZGkKICAgICBib29sIGFsbG93
RWFybGllciA9IGZsYWdzID09IFdlYkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lvbjo6QWxsb3dFYXJs
aWVyOwogICAgIGJvb2wgYWxsb3dMYXRlciA9IGZsYWdzID09IFdlYkNvcmVEZWNvbXByZXNzaW9u
U2Vzc2lvbjo6QWxsb3dMYXRlcjsKIAotICAgIE1lZGlhVGltZSBzdGFydFRpbWUgPSB0b01lZGlh
VGltZShDTUJ1ZmZlclF1ZXVlR2V0Rmlyc3RQcmVzZW50YXRpb25UaW1lU3RhbXAobV9wcm9kdWNl
clF1ZXVlLmdldCgpKSk7Ci0gICAgTWVkaWFUaW1lIGVuZFRpbWUgPSB0b01lZGlhVGltZShDTUJ1
ZmZlclF1ZXVlR2V0RW5kUHJlc2VudGF0aW9uVGltZVN0YW1wKG1fcHJvZHVjZXJRdWV1ZS5nZXQo
KSkpOworICAgIE1lZGlhVGltZSBzdGFydFRpbWUgPSBQQUw6OnRvTWVkaWFUaW1lKENNQnVmZmVy
UXVldWVHZXRGaXJzdFByZXNlbnRhdGlvblRpbWVTdGFtcChtX3Byb2R1Y2VyUXVldWUuZ2V0KCkp
KTsKKyAgICBNZWRpYVRpbWUgZW5kVGltZSA9IFBBTDo6dG9NZWRpYVRpbWUoQ01CdWZmZXJRdWV1
ZUdldEVuZFByZXNlbnRhdGlvblRpbWVTdGFtcChtX3Byb2R1Y2VyUXVldWUuZ2V0KCkpKTsKICAg
ICBpZiAoIWFsbG93TGF0ZXIgJiYgdGltZSA8IHN0YXJ0VGltZSkgewogICAgICAgICBMT0coTWVk
aWEsICJXZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb246OmltYWdlRm9yVGltZSglcCkgLSB0aW1l
KCVzKSB0b28gZWFybHkgZm9yIHF1ZXVlKCVzIC0+ICVzKSIsIHRoaXMsIHRvU3RyaW5nKHRpbWUp
LnV0ZjgoKS5kYXRhKCksIHRvU3RyaW5nKHN0YXJ0VGltZSkudXRmOCgpLmRhdGEoKSwgdG9TdHJp
bmcoZW5kVGltZSkudXRmOCgpLmRhdGEoKSk7CiAgICAgICAgIHJldHVybiBudWxscHRyOwpAQCAt
NDY0LDggKzQ2NCw4IEBAIFJldGFpblB0cjxDVlBpeGVsQnVmZmVyUmVmPiBXZWJDb3JlRGVjb21w
cmVzc2lvblNlc3Npb246OmltYWdlRm9yVGltZShjb25zdCBNZWRpCiAgICAgYm9vbCByZWxlYXNl
ZEltYWdlQnVmZmVycyA9IGZhbHNlOwogCiAgICAgd2hpbGUgKENNU2FtcGxlQnVmZmVyUmVmIGZp
cnN0U2FtcGxlID0gKENNU2FtcGxlQnVmZmVyUmVmKUNNQnVmZmVyUXVldWVHZXRIZWFkKG1fcHJv
ZHVjZXJRdWV1ZS5nZXQoKSkpIHsKLSAgICAgICAgTWVkaWFUaW1lIHByZXNlbnRhdGlvblRpbWVz
dGFtcCA9IHRvTWVkaWFUaW1lKENNU2FtcGxlQnVmZmVyR2V0UHJlc2VudGF0aW9uVGltZVN0YW1w
KGZpcnN0U2FtcGxlKSk7Ci0gICAgICAgIE1lZGlhVGltZSBkdXJhdGlvbiA9IHRvTWVkaWFUaW1l
KENNU2FtcGxlQnVmZmVyR2V0RHVyYXRpb24oZmlyc3RTYW1wbGUpKTsKKyAgICAgICAgTWVkaWFU
aW1lIHByZXNlbnRhdGlvblRpbWVzdGFtcCA9IFBBTDo6dG9NZWRpYVRpbWUoQ01TYW1wbGVCdWZm
ZXJHZXRQcmVzZW50YXRpb25UaW1lU3RhbXAoZmlyc3RTYW1wbGUpKTsKKyAgICAgICAgTWVkaWFU
aW1lIGR1cmF0aW9uID0gUEFMOjp0b01lZGlhVGltZShDTVNhbXBsZUJ1ZmZlckdldER1cmF0aW9u
KGZpcnN0U2FtcGxlKSk7CiAgICAgICAgIE1lZGlhVGltZSBwcmVzZW50YXRpb25FbmRUaW1lc3Rh
bXAgPSBwcmVzZW50YXRpb25UaW1lc3RhbXAgKyBkdXJhdGlvbjsKICAgICAgICAgaWYgKCFhbGxv
d0xhdGVyICYmIHByZXNlbnRhdGlvblRpbWVzdGFtcCA+IHRpbWUpCiAgICAgICAgICAgICByZXR1
cm4gbnVsbHB0cjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9QbGF0
Zm9ybUNsb2NrQ00ubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUGxhdGZvcm1DbG9j
a0NNLm1tCmluZGV4IGY2MTIyOGMxNTk4MjE0MjFmM2QyNDA2ZTk1ZDgzMTU1NjlmOTUxZTkuLjY5
NDg1ZGE4ZDQxYmFjYjVkNzkwODlkZWJkZDNjMDFmMWEwNzJmMTAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9QbGF0Zm9ybUNsb2NrQ00ubW0KKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWFjL1BsYXRmb3JtQ2xvY2tDTS5tbQpAQCAtMjksNyArMjksNyBAQAog
CiAjaW1wb3J0ICJQbGF0Zm9ybUNsb2NrQ00uaCIKIAotI2ltcG9ydCAiTWVkaWFUaW1lQVZGb3Vu
ZGF0aW9uLmgiCisjaW1wb3J0IDxwYWwvYXZmb3VuZGF0aW9uL01lZGlhVGltZUFWRm91bmRhdGlv
bi5oPgogCiAjaW1wb3J0ICJDb3JlTWVkaWFTb2Z0TGluay5oIgogCkBAIC04MSwxMiArODEsMTIg
QEAgZG91YmxlIFBsYXRmb3JtQ2xvY2tDTTo6Y3VycmVudFRpbWUoKSBjb25zdAogCiB2b2lkIFBs
YXRmb3JtQ2xvY2tDTTo6c2V0Q3VycmVudE1lZGlhVGltZShjb25zdCBNZWRpYVRpbWUmIHRpbWUp
CiB7Ci0gICAgQ01UaW1lYmFzZVNldFRpbWUobV90aW1lYmFzZS5nZXQoKSwgdG9DTVRpbWUodGlt
ZSkpOworICAgIENNVGltZWJhc2VTZXRUaW1lKG1fdGltZWJhc2UuZ2V0KCksIFBBTDo6dG9DTVRp
bWUodGltZSkpOwogfQogCiBNZWRpYVRpbWUgUGxhdGZvcm1DbG9ja0NNOjpjdXJyZW50TWVkaWFU
aW1lKCkgY29uc3QKIHsKLSAgICByZXR1cm4gdG9NZWRpYVRpbWUoQ01UaW1lYmFzZUdldFRpbWUo
bV90aW1lYmFzZS5nZXQoKSkpOworICAgIHJldHVybiBQQUw6OnRvTWVkaWFUaW1lKENNVGltZWJh
c2VHZXRUaW1lKG1fdGltZWJhc2UuZ2V0KCkpKTsKIH0KIAogdm9pZCBQbGF0Zm9ybUNsb2NrQ006
OnNldFBsYXlSYXRlKGRvdWJsZSByYXRlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWFjL1BsYXliYWNrU2Vzc2lvbkludGVyZmFjZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21hYy9QbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VNYWMubW0KaW5kZXggMmU3MmFm
ZmViYzMyODYxM2EyN2Y1MTBhZWE4Y2RjODQ2ZjE5NmY0ZS4uMjBlNjBmZGUxMjU3Njg0OTFiMjll
MmQ3ZGNiMDFmNGQxZDZkODhlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWFjL1BsYXliYWNrU2Vzc2lvbkludGVyZmFjZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tYWMvUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlTWFjLm1tCkBAIC0zMCwxMSArMzAs
MTEgQEAKIAogI2ltcG9ydCAiSW50UmVjdC5oIgogI2ltcG9ydCAiTWVkaWFTZWxlY3Rpb25PcHRp
b24uaCIKLSNpbXBvcnQgIk1lZGlhVGltZUFWRm91bmRhdGlvbi5oIgogI2ltcG9ydCAiUGxheWJh
Y2tTZXNzaW9uTW9kZWwuaCIKICNpbXBvcnQgIlRpbWVSYW5nZXMuaCIKICNpbXBvcnQgIldlYlBs
YXliYWNrQ29udHJvbHNNYW5hZ2VyLmgiCiAjaW1wb3J0IDxBVkZvdW5kYXRpb24vQVZUaW1lLmg+
CisjaW1wb3J0IDxwYWwvYXZmb3VuZGF0aW9uL01lZGlhVGltZUFWRm91bmRhdGlvbi5oPgogI2lt
cG9ydCA8cGFsL3NwaS9jb2NvYS9BVktpdFNQSS5oPgogCiAjaW1wb3J0ICJDb3JlTWVkaWFTb2Z0
TGluay5oIgpAQCAtMTIyLDcgKzEyMiw3IEBAIHN0YXRpYyBSZXRhaW5QdHI8TlNNdXRhYmxlQXJy
YXk+IHRpbWVSYW5nZXNUb0FycmF5KGNvbnN0IFRpbWVSYW5nZXMmIHRpbWVSYW5nZXMpCiAKICAg
ICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgdGltZVJhbmdlcy5sZW5ndGgoKTsgaSsrKSB7CiAg
ICAgICAgIGNvbnN0IFBsYXRmb3JtVGltZVJhbmdlcyYgcmFuZ2VzID0gdGltZVJhbmdlcy5yYW5n
ZXMoKTsKLSAgICAgICAgQ01UaW1lUmFuZ2UgcmFuZ2UgPSBDTVRpbWVSYW5nZU1ha2UodG9DTVRp
bWUocmFuZ2VzLnN0YXJ0KGkpKSwgdG9DTVRpbWUocmFuZ2VzLmVuZChpKSkpOworICAgICAgICBD
TVRpbWVSYW5nZSByYW5nZSA9IENNVGltZVJhbmdlTWFrZShQQUw6OnRvQ01UaW1lKHJhbmdlcy5z
dGFydChpKSksIFBBTDo6dG9DTVRpbWUocmFuZ2VzLmVuZChpKSkpOwogICAgICAgICBbcmFuZ2VB
cnJheSBhZGRPYmplY3Q6W05TVmFsdWUgdmFsdWVXaXRoQ01UaW1lUmFuZ2U6cmFuZ2VdXTsKICAg
ICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9WaWRlb0Z1bGxz
Y3JlZW5JbnRlcmZhY2VNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvVmlkZW9G
dWxsc2NyZWVuSW50ZXJmYWNlTWFjLm1tCmluZGV4IGFiNDFiZTg5NTY1MTU2Yzc0NWU0ZDFjNTVl
ODZiOGQ1MDM0Y2ZhNGYuLmRkMGI0NjNhOTI0NzdiNTM1OTEyZmI0Zjg2MjJlNWMxYzEzNTFhZjEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9WaWRlb0Z1bGxzY3JlZW5J
bnRlcmZhY2VNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1ZpZGVvRnVs
bHNjcmVlbkludGVyZmFjZU1hYy5tbQpAQCAtMzAsMTMgKzMwLDEzIEBACiAKICNpbXBvcnQgIklu
dFJlY3QuaCIKICNpbXBvcnQgIkxvZ2dpbmcuaCIKLSNpbXBvcnQgIk1lZGlhVGltZUFWRm91bmRh
dGlvbi5oIgogI2ltcG9ydCAiUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlTWFjLmgiCiAjaW1wb3J0
ICJUaW1lUmFuZ2VzLmgiCiAjaW1wb3J0ICJWaWRlb0Z1bGxzY3JlZW5DaGFuZ2VPYnNlcnZlci5o
IgogI2ltcG9ydCAiVmlkZW9GdWxsc2NyZWVuTW9kZWwuaCIKICNpbXBvcnQgIldlYlBsYXliYWNr
Q29udHJvbHNNYW5hZ2VyLmgiCiAjaW1wb3J0IDxBVkZvdW5kYXRpb24vQVZUaW1lLmg+CisjaW1w
b3J0IDxwYWwvYXZmb3VuZGF0aW9uL01lZGlhVGltZUFWRm91bmRhdGlvbi5oPgogI2ltcG9ydCA8
cGFsL3NwaS9jb2NvYS9BVktpdFNQSS5oPgogI2ltcG9ydCA8cGFsL3NwaS9tYWMvUElQU1BJLmg+
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9D
b3JlQXVkaW9DYXB0dXJlU291cmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
c3RyZWFtL21hYy9Db3JlQXVkaW9DYXB0dXJlU291cmNlLmNwcAppbmRleCBjMzdlNDYzZjAyMTZk
ZmZmYTBmMTFmNzVhZTVjNmMyODI4NGY1OWJhLi4yNjk2MjQzZGU5OWM1MmI1NDlkZTJmNmE4M2U3
MDU1Y2Q3OTFiNmY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0
cmVhbS9tYWMvQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0NvcmVBdWRpb0NhcHR1cmVTb3VyY2UuY3BwCkBAIC0z
NywxMyArMzcsMTMgQEAKICNpbmNsdWRlICJDb3JlQXVkaW9DYXB0dXJlRGV2aWNlTWFuYWdlci5o
IgogI2luY2x1ZGUgIkNvcmVBdWRpb0NhcHR1cmVTb3VyY2VJT1MuaCIKICNpbmNsdWRlICJMb2dn
aW5nLmgiCi0jaW5jbHVkZSAiTWVkaWFUaW1lQVZGb3VuZGF0aW9uLmgiCiAjaW5jbHVkZSAiVGlt
ZXIuaCIKICNpbmNsdWRlICJXZWJBdWRpb1NvdXJjZVByb3ZpZGVyQVZGT2JqQy5oIgogI2luY2x1
ZGUgPEF1ZGlvVG9vbGJveC9BdWRpb0NvbnZlcnRlci5oPgogI2luY2x1ZGUgPEF1ZGlvVW5pdC9B
dWRpb1VuaXQuaD4KICNpbmNsdWRlIDxDb3JlTWVkaWEvQ01TeW5jLmg+CiAjaW5jbHVkZSA8bWFj
aC9tYWNoX3RpbWUuaD4KKyNpbmNsdWRlIDxwYWwvYXZmb3VuZGF0aW9uL01lZGlhVGltZUFWRm91
bmRhdGlvbi5oPgogI2luY2x1ZGUgPHBhbC9zcGkvY2YvQ29yZUF1ZGlvU1BJLmg+CiAjaW5jbHVk
ZSA8c3lzL3RpbWUuaD4KICNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL01vY2tSZWFsdGltZUF1ZGlv
U291cmNlTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL01v
Y2tSZWFsdGltZUF1ZGlvU291cmNlTWFjLm1tCmluZGV4IDBmMWM3MDgxYjFmN2Y1OGE5Zjg4ZDhk
YTllNWIwODhmOGM3M2E0YjguLmUxYjYzYTk3NjZkN2E3ZWNiYzBkMTg4YWViNGJiYTI1NGQ0NWUx
MzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9N
b2NrUmVhbHRpbWVBdWRpb1NvdXJjZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tZWRpYXN0cmVhbS9tYWMvTW9ja1JlYWx0aW1lQXVkaW9Tb3VyY2VNYWMubW0KQEAgLTEwNiw3
ICsxMDYsNyBAQCB2b2lkIE1vY2tSZWFsdGltZUF1ZGlvU291cmNlTWFjOjplbWl0U2FtcGxlQnVm
ZmVycyh1aW50MzJfdCBmcmFtZUNvdW50KQogICAgIENNVGltZSBzdGFydFRpbWUgPSBDTVRpbWVN
YWtlKG1fc2FtcGxlc0VtaXR0ZWQsIHNhbXBsZVJhdGUoKSk7CiAgICAgbV9zYW1wbGVzRW1pdHRl
ZCArPSBmcmFtZUNvdW50OwogCi0gICAgYXVkaW9TYW1wbGVzQXZhaWxhYmxlKHRvTWVkaWFUaW1l
KHN0YXJ0VGltZSksICptX2F1ZGlvQnVmZmVyTGlzdCwgQ0FBdWRpb1N0cmVhbURlc2NyaXB0aW9u
KG1fc3RyZWFtRm9ybWF0KSwgZnJhbWVDb3VudCk7CisgICAgYXVkaW9TYW1wbGVzQXZhaWxhYmxl
KFBBTDo6dG9NZWRpYVRpbWUoc3RhcnRUaW1lKSwgKm1fYXVkaW9CdWZmZXJMaXN0LCBDQUF1ZGlv
U3RyZWFtRGVzY3JpcHRpb24obV9zdHJlYW1Gb3JtYXQpLCBmcmFtZUNvdW50KTsKIH0KIAogdm9p
ZCBNb2NrUmVhbHRpbWVBdWRpb1NvdXJjZU1hYzo6cmVjb25maWd1cmUoKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lSW5jb21pbmdB
dWRpb1NvdXJjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMv
UmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlLmNwcAppbmRleCA5ZmRlMWEyMTVhMDAxNTczYWNj
NTE2Nzg2OTBjMjc0YmI1N2I5OWI5Li44NzUzOGNkMDU1YjRkY2E0OTkyMWIyZDUxZDgwZjA4MmVi
MjI2NzM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9t
YWMvUmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlLmNwcApA
QCAtMzYsOSArMzYsOSBAQAogI2luY2x1ZGUgIkF1ZGlvU3RyZWFtRGVzY3JpcHRpb24uaCIKICNp
bmNsdWRlICJDQUF1ZGlvU3RyZWFtRGVzY3JpcHRpb24uaCIKICNpbmNsdWRlICJMaWJXZWJSVENB
dWRpb0Zvcm1hdC5oIgotI2luY2x1ZGUgIk1lZGlhVGltZUFWRm91bmRhdGlvbi5oIgogI2luY2x1
ZGUgIldlYkF1ZGlvQnVmZmVyTGlzdC5oIgogI2luY2x1ZGUgIldlYkF1ZGlvU291cmNlUHJvdmlk
ZXJBVkZPYmpDLmgiCisjaW5jbHVkZSA8cGFsL2F2Zm91bmRhdGlvbi9NZWRpYVRpbWVBVkZvdW5k
YXRpb24uaD4KIAogI2luY2x1ZGUgIkNvcmVNZWRpYVNvZnRMaW5rLmgiCiAKQEAgLTgzLDcgKzgz
LDcgQEAgdm9pZCBSZWFsdGltZUluY29taW5nQXVkaW9Tb3VyY2U6Ok9uRGF0YShjb25zdCB2b2lk
KiBhdWRpb0RhdGEsIGludCBiaXRzUGVyU2FtcGwKICAgICBBU1NFUlQoc2FtcGxlUmF0ZSA9PSA0
ODAwMCk7CiAKICAgICBDTVRpbWUgc3RhcnRUaW1lID0gQ01UaW1lTWFrZShtX251bWJlck9mRnJh
bWVzLCBzYW1wbGVSYXRlKTsKLSAgICBhdXRvIG1lZGlhVGltZSA9IHRvTWVkaWFUaW1lKHN0YXJ0
VGltZSk7CisgICAgYXV0byBtZWRpYVRpbWUgPSBQQUw6OnRvTWVkaWFUaW1lKHN0YXJ0VGltZSk7
CiAgICAgbV9udW1iZXJPZkZyYW1lcyArPSBudW1iZXJPZkZyYW1lczsKIAogICAgIEF1ZGlvU3Ry
ZWFtQmFzaWNEZXNjcmlwdGlvbiBuZXdEZXNjcmlwdGlvbiA9IHN0cmVhbURlc2NyaXB0aW9uKHNh
bXBsZVJhdGUsIG51bWJlck9mQ2hhbm5lbHMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1dlYkF1ZGlvU291cmNlUHJvdmlkZXJBVkZPYmpDLm1t
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1dlYkF1ZGlvU291cmNl
UHJvdmlkZXJBVkZPYmpDLm1tCmluZGV4IDdlNTE2ZGY2MDY5MmRlNDdjMGJkNGFjNWZmNDYxZWZj
MzdiYjU1NmQuLmE2MTNhYWY3OGYzYWYwNzQ0YTBkYzA5ZDIyOTJhZjk5ZDQzMTkwOTMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9XZWJBdWRpb1Nv
dXJjZVByb3ZpZGVyQVZGT2JqQy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRp
YXN0cmVhbS9tYWMvV2ViQXVkaW9Tb3VyY2VQcm92aWRlckFWRk9iakMubW0KQEAgLTMzLDcgKzMz
LDYgQEAKICNpbXBvcnQgIkF1ZGlvU2FtcGxlRGF0YVNvdXJjZS5oIgogI2ltcG9ydCAiQXVkaW9T
b3VyY2VQcm92aWRlckNsaWVudC5oIgogI2ltcG9ydCAiTG9nZ2luZy5oIgotI2ltcG9ydCAiTWVk
aWFUaW1lQVZGb3VuZGF0aW9uLmgiCiAjaW1wb3J0ICJXZWJBdWRpb0J1ZmZlckxpc3QuaCIKICNp
bXBvcnQgPG9iamMvcnVudGltZS5oPgogI2ltcG9ydCA8d3RmL01haW5UaHJlYWQuaD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>321413</attachid>
            <date>2017-09-20 23:36:36 -0700</date>
            <delta_ts>2017-09-21 10:33:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-177222-20170921153710.patch</filename>
            <type>text/plain</type>
            <size>88206</size>
            <attacher name="Yoshiaki Jitsukawa">yoshiaki.jitsukawa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIyMzEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTg3YTY3MTdiY2I0MGQx
NTBhYjZiNGEwMTdkYzdmODdlMzYxOTg2Yi4uZmZhNDk3MDhhMmViOGE0MDE2OGRkYjJjNDEzMDky
OTBjZTQ3NzBiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDg1IEBACisyMDE3LTA5LTIwICBZb3No
aWFraSBKaXRzdWthd2EgIDxZb3NoaWFraS5KaXRzdWthd2FAc29ueS5jb20+CisKKyAgICAgICAg
W1BBTF0gTW92ZSBNZWRpYVRpbWVBVkZvdW5kYXRpb24gaW50byBQQUwKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NzIyMgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4gTm8gY2hhbmdl
IGluIGJlaGF2aW9yLi4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL1dlYkNvcmUudW5leHA6
CisgICAgICAgICogUGxhdGZvcm1BcHBsZVdpbi5jbWFrZToKKyAgICAgICAgKiBXZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vbWFjL0F1
ZGlvU2FtcGxlRGF0YVNvdXJjZS5tbToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvU2FtcGxlRGF0
YVNvdXJjZTo6cHVzaFNhbXBsZXMpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9BdWRpb1NvdXJjZVByb3ZpZGVyQVZGT2JqQy5tbToKKyAgICAgICAgKFdlYkNvcmU6
OkF1ZGlvU291cmNlUHJvdmlkZXJBVkZPYmpDOjpwcm9jZXNzKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9hdmZvdW5kYXRpb24vSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUFWRi5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpJbmJhbmRUZXh0VHJhY2tQcml2YXRlQVZGOjpyZWFkTmF0aXZlU2Ft
cGxlQnVmZmVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVk
aWFTYW1wbGVBVkZPYmpDLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL2NmL0luYmFuZFRleHRUcmFja1ByaXZhdGVBVkNGLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9hdmZvdW5kYXRpb24vY2YvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9u
Q0YuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9u
Q0Y6OnBsYXRmb3JtRHVyYXRpb24gY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5
ZXJQcml2YXRlQVZGb3VuZGF0aW9uQ0Y6OmN1cnJlbnRNZWRpYVRpbWUgY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uQ0Y6OnBsYXRmb3JtQnVm
ZmVyZWRUaW1lUmFuZ2VzIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJp
dmF0ZUFWRm91bmRhdGlvbkNGOjpwbGF0Zm9ybU1pblRpbWVTZWVrYWJsZSBjb25zdCk6CisgICAg
ICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25DRjo6cGxhdGZvcm1N
YXhUaW1lU2Vla2FibGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2
YXRlQVZGb3VuZGF0aW9uQ0Y6OnBsYXRmb3JtTWF4VGltZUxvYWRlZCBjb25zdCk6CisgICAgICAg
IChXZWJDb3JlOjpBVkZXcmFwcGVyOjpzZWVrVG9UaW1lKToKKyAgICAgICAgKFdlYkNvcmU6OkFW
RldyYXBwZXI6OmxlZ2libGVPdXRwdXRDYWxsYmFjayk6CisgICAgICAgIChXZWJDb3JlOjpBVkZX
cmFwcGVyOjpjcmVhdGVJbWFnZUZvclRpbWVJblJlY3QpOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL0ltYWdlRGVjb2RlckFWRk9iakMubW06CisgICAgICAg
IChXZWJDb3JlOjpJbWFnZURlY29kZXJBVkZPYmpDOjpyZWFkU2FtcGxlTWV0YWRhdGEpOgorICAg
ICAgICAoV2ViQ29yZTo6SW1hZ2VEZWNvZGVyQVZGT2JqQzo6c3RvcmVTYW1wbGVCdWZmZXIpOgor
ICAgICAgICAoV2ViQ29yZTo6SW1hZ2VEZWNvZGVyQVZGT2JqQzo6Y3JlYXRlRnJhbWVJbWFnZUF0
SW5kZXgpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01l
ZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW06CisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpwbGF0Zm9ybUR1cmF0aW9uIGNvbnN0
KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6
OmN1cnJlbnRNZWRpYVRpbWUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQ
cml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6c2Vla1RvVGltZSk6CisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpwbGF0Zm9ybUJ1ZmZlcmVkVGltZVJh
bmdlcyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVBVkZvdW5k
YXRpb25PYmpDOjpwbGF0Zm9ybU1pblRpbWVTZWVrYWJsZSBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpwbGF0Zm9ybU1heFRpbWVT
ZWVrYWJsZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVBVkZv
dW5kYXRpb25PYmpDOjpwbGF0Zm9ybU1heFRpbWVMb2FkZWQgY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6bWV0YWRhdGFEaWRBcnJp
dmUpOgorICAgICAgICAoLVtXZWJDb3JlQVZGTW92aWVPYnNlcnZlciBvYnNlcnZlVmFsdWVGb3JL
ZXlQYXRoOm9mT2JqZWN0OmNoYW5nZTpjb250ZXh0Ol0pOgorICAgICAgICAoLVtXZWJDb3JlQVZG
TW92aWVPYnNlcnZlciBsZWdpYmxlT3V0cHV0OmRpZE91dHB1dEF0dHJpYnV0ZWRTdHJpbmdzOm5h
dGl2ZVNhbXBsZUJ1ZmZlcnM6Zm9ySXRlbVRpbWU6XSk6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZP
YmpDLm1tOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VB
VkZPYmpDOjpNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMpOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpjdXJyZW50TWVk
aWFUaW1lIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZU1lZGlh
U291cmNlQVZGT2JqQzo6c2Vla0ludGVybmFsKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxh
eWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6ZHVyYXRpb25DaGFuZ2VkKToKKyAgICAgICAg
KFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6c2l6ZVdpbGxD
aGFuZ2VBdFRpbWUpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9v
YmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQy5tbToKKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQzo6Y2FsY3VsYXRlVGlt
ZWxpbmVPZmZzZXQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9v
YmpjL01lZGlhU2FtcGxlQVZGT2JqQy5tbToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU2FtcGxl
QVZGT2JqQzo6cHJlc2VudGF0aW9uVGltZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRp
YVNhbXBsZUFWRk9iakM6Om91dHB1dFByZXNlbnRhdGlvblRpbWUgY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFTYW1wbGVBVkZPYmpDOjpkZWNvZGVUaW1lIGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6Ok1lZGlhU2FtcGxlQVZGT2JqQzo6ZHVyYXRpb24gY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFTYW1wbGVBVkZPYmpDOjpvdXRwdXREdXJhdGlvbiBjb25zdCk6CisgICAg
ICAgIChXZWJDb3JlOjpNZWRpYVNhbXBsZUFWRk9iakM6Om9mZnNldFRpbWVzdGFtcHNCeSk6Cisg
ICAgICAgIChXZWJDb3JlOjpNZWRpYVNhbXBsZUFWRk9iakM6OnNldFRpbWVzdGFtcHMpOgorICAg
ICAgICAoV2ViQ29yZTo6TWVkaWFTYW1wbGVBVkZPYmpDOjpkaXZpZGUpOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL1NvdXJjZUJ1ZmZlclByaXZhdGVBVkZP
YmpDLm1tOgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakM6OmRp
ZFBhcnNlU3RyZWFtRGF0YUFzQXNzZXQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nv
Y29hL1dlYkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lvbi5tbToKKyAgICAgICAgKFdlYkNvcmU6Oldl
YkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lvbjo6aGFuZGxlRGVjb21wcmVzc2lvbk91dHB1dCk6Cisg
ICAgICAgIChXZWJDb3JlOjpXZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb246OmF1dG9tYXRpY0Rl
cXVldWUpOgorICAgICAgICAoV2ViQ29yZTo6V2ViQ29yZURlY29tcHJlc3Npb25TZXNzaW9uOjpl
bnF1ZXVlRGVjb2RlZFNhbXBsZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJDb3JlRGVjb21wcmVz
c2lvblNlc3Npb246OmltYWdlRm9yVGltZSk6CisgICAgICAgICogcGxhdGZvcm0vbWFjL1BsYXRm
b3JtQ2xvY2tDTS5tbToKKyAgICAgICAgKFBsYXRmb3JtQ2xvY2tDTTo6c2V0Q3VycmVudE1lZGlh
VGltZSk6CisgICAgICAgIChQbGF0Zm9ybUNsb2NrQ006OmN1cnJlbnRNZWRpYVRpbWUgY29uc3Qp
OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9QbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VNYWMubW06
CisgICAgICAgIChXZWJDb3JlOjp0aW1lUmFuZ2VzVG9BcnJheSk6CisgICAgICAgICogcGxhdGZv
cm0vbWFjL1ZpZGVvRnVsbHNjcmVlbkludGVyZmFjZU1hYy5tbToKKyAgICAgICAgKiBwbGF0Zm9y
bS9tZWRpYXN0cmVhbS9tYWMvQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZS5jcHA6CisgICAgICAgICog
cGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL01vY2tSZWFsdGltZUF1ZGlvU291cmNlTWFjLm1tOgor
ICAgICAgICAoV2ViQ29yZTo6TW9ja1JlYWx0aW1lQXVkaW9Tb3VyY2VNYWM6OmVtaXRTYW1wbGVC
dWZmZXJzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVJbmNv
bWluZ0F1ZGlvU291cmNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlYWx0aW1lSW5jb21pbmdB
dWRpb1NvdXJjZTo6T25EYXRhKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMv
V2ViQXVkaW9Tb3VyY2VQcm92aWRlckFWRk9iakMubW06CisKIDIwMTctMDktMjAgIFphbGFuIEJ1
anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW1vdmUgcmVkdW5kYW50IFNlbGVj
dGlvblN1YnRyZWVEYXRhIGZ1bmN0aW9ucy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BB
TC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCmluZGV4IGE4NDQ0YTBi
Yjc1MjcxODA3MjljYzZkNTVjMjE0NDk0MWNjZDdhZmQuLmJkMDMxN2VmMmNhNDQ4ZTRkNTgyNjRi
NzFmZDYxYzdiODdjYjQ4NjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisy
MDE3LTA5LTIwICBZb3NoaWFraSBKaXRzdWthd2EgIDxZb3NoaWFraS5KaXRzdWthd2FAc29ueS5j
b20+CisKKyAgICAgICAgW1BBTF0gTW92ZSBNZWRpYVRpbWVBVkZvdW5kYXRpb24gaW50byBQQUwK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NzIyMgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogY29uZmln
Lmg6CisgICAgICAgIEluY2x1ZGUgUEFMSGVhZGVyRGV0ZWN0aW9uLmguCisgICAgICAgIERlZmlu
ZSBBVkZPVU5EQVRJT04tcmVsZWF2YW50IGRlZmluaXRpb25zLgorCisgICAgICAgICogcGFsL1Bs
YXRmb3JtV2luLmNtYWtlOgorICAgICAgICBBZGQgUEFMIGRlcmVpdmVkIHNvdXJjZXMgZGlyZWN0
b3J5IHRvIGluY2x1ZGUgcGF0aHMuCisKKyAgICAgICAgKiBQQUwueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvajoKKyAgICAgICAgKiBwYWwvQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogcGFsL1Bs
YXRmb3JtQXBwbGVXaW4uY21ha2U6CisgICAgICAgICogcGFsL2F2Zm91bmRhdGlvbi9NZWRpYVRp
bWVBVkZvdW5kYXRpb24uY3BwOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhVGltZUFWRm91bmRhdGlvbi5jcHAuCisgICAgICAg
ICogcGFsL2F2Zm91bmRhdGlvbi9NZWRpYVRpbWVBVkZvdW5kYXRpb24uaDogUmVuYW1lZCBmcm9t
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVRpbWVB
VkZvdW5kYXRpb24uaC4KKyAgICAgICAgKiBwYWwvY2YvQ29yZU1lZGlhU29mdExpbmsuY3BwOiBB
ZGRlZC4KKyAgICAgICAgKiBwYWwvY2YvQ29yZU1lZGlhU29mdExpbmsuaDogQWRkZWQuCisKIDIw
MTctMDktMjAgIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAgICAgICAgIFJl
bW92ZSBET00gYW5kIHN0eWxpbmcgc3VwcG9ydCBmb3IgQ1NTIFJlZ2lvbnMKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL1dlYkNvcmUudW5leHAgYi9Tb3VyY2UvV2Vi
Q29yZS9Db25maWd1cmF0aW9ucy9XZWJDb3JlLnVuZXhwCmluZGV4IGQxMjBlYjc0MWJiOTNjNGUw
M2U4YTVmZDMyNGRjNDkwMDQxN2U0OGUuLjIzNTc1OTdmN2EzYTRmMjBhYzJiNzc1NmE2ZGNhMmZm
NmQwZTRiYmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL1dlYkNv
cmUudW5leHAKKysrIGIvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvV2ViQ29yZS51bmV4
cApAQCAtNTksMyArNTksMTQgQEAgX0RESGlnaGxpZ2h0UG9pbnRJc09uSGlnaGxpZ2h0CiBfX1pU
Vk45SW5zcGVjdG9yMTdTY3JpcHREZWJ1Z1NlcnZlcjRUYXNrRQogIyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmgKIF9fWlRWTjlJ
bnNwZWN0b3IyMkluc3BlY3RvckRlYnVnZ2VyQWdlbnQ4TGlzdGVuZXJFCisKKyMgTWVtYmVyIGZ1
bmN0aW9ucyBvZiBhbiBleHBvcnRlZCBDKysgY2xhc3MgaW4gV1RGCisKKyMgU291cmNlL1dURi93
dGYvTWVkaWFUaW1lLmgKK19fWk5LM1dURjlNZWRpYVRpbWUxNGhhc0JlZW5Sb3VuZGVkRXYKK19f
Wk5LM1dURjlNZWRpYVRpbWUxNGhhc0RvdWJsZVZhbHVlRXYKK19fWk5LM1dURjlNZWRpYVRpbWUx
OGlzTmVnYXRpdmVJbmZpbml0ZUV2CitfX1pOSzNXVEY5TWVkaWFUaW1lMThpc1Bvc2l0aXZlSW5m
aW5pdGVFdgorX19aTkszV1RGOU1lZGlhVGltZTdpc1ZhbGlkRXYKK19fWk5LM1dURjlNZWRpYVRp
bWU5dGltZVNjYWxlRXYKK19fWk5LM1dURjlNZWRpYVRpbWU5dGltZVZhbHVlRXYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9QQUwueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Nv
dXJjZS9XZWJDb3JlL1BBTC9QQUwueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBmMzNj
OGQxOTZmMGM2ZmYyZmQ1YjkwYTgxMTMwNGUwNGM5MGQxYTEzLi45MGQwYjkzNjUxM2NjMjczNDU1
ZWQ4NmZhZTAyNjZkODA2ZDk2NDRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvUEFM
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML1BBTC54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0yMyw2ICsyMyw3IEBACiAvKiBCZWdpbiBQQlhC
dWlsZEZpbGUgc2VjdGlvbiAqLwogCQkwNzA4QUMzMzFGNEM4NzRCMDAxRjc4OEYgLyogTG9nZ2Vy
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNzA4QUMz
MjFGNEM4NzRBMDAxRjc4OEYgLyogTG9nZ2VyLmggKi87IH07CiAJCTA3Mzc3QURDMUY1Nzc3RDkw
MDI3RjE2RCAvKiBMb2dnZXJIZWxwZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDA3Mzc3QURCMUY1Nzc3RDcwMDI3RjE2RCAvKiBMb2dnZXJIZWxwZXIu
aCAqLzsgfTsKKwkJMEMwMENGRDQxRjY4Q0U0NjAwQUFDMjZEIC8qIE1lZGlhVGltZUFWRm91bmRh
dGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEMw
MENGRDIxRjY4Q0U0NjAwQUFDMjZEIC8qIE1lZGlhVGltZUFWRm91bmRhdGlvbi5oICovOyB9Owog
CQkwQzJEOUU3MzFFRUY1QUY2MDBEQkMzMTcgLyogRXhwb3J0TWFjcm9zLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwQzJEOUU3MjFFRUY1QUY2MDBEQkMz
MTcgLyogRXhwb3J0TWFjcm9zLmggKi87IH07CiAJCTBDMkRBMDZEMUYzM0NBODQwMERCQzMxNyAv
KiBDRkxvY2FsZVNQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMEMyREEwNjcxRjMzQ0E4NDAwREJDMzE3IC8qIENGTG9jYWxlU1BJLmggKi87IH07CiAJ
CTBDMkRBMDZFMUYzM0NBODQwMERCQzMxNyAvKiBDRk5ldHdvcmtDb25uZWN0aW9uQ2FjaGVTUEku
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBDMkRBMDY4
MUYzM0NBODQwMERCQzMxNyAvKiBDRk5ldHdvcmtDb25uZWN0aW9uQ2FjaGVTUEkuaCAqLzsgfTsK
QEAgLTk1LDYgKzk2LDkgQEAKIAkJMEM3Nzg1OUYxRjQ1MTMwRjAwRjRFQkI2IC8qIFFUS2l0U1BJ
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwQzc3ODU4
NjFGNDUxMzBGMDBGNEVCQjYgLyogUVRLaXRTUEkuaCAqLzsgfTsKIAkJMEM3Nzg1QTAxRjQ1MTMw
RjAwRjRFQkI2IC8qIFF1aWNrTG9va01hY1NQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMEM3Nzg1ODcxRjQ1MTMwRjAwRjRFQkI2IC8qIFF1aWNrTG9v
a01hY1NQSS5oICovOyB9OwogCQkwQzc3ODVBMTFGNDUxMzBGMDBGNEVCQjYgLyogVFVDYWxsU1BJ
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwQzc3ODU4
ODFGNDUxMzBGMDBGNEVCQjYgLyogVFVDYWxsU1BJLmggKi87IH07CisJCTBDRjk5Q0E0MUY3MzYz
NzUwMDdFRTc5MyAvKiBNZWRpYVRpbWVBVkZvdW5kYXRpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEMwMENGRDExRjY4Q0U0NjAwQUFDMjZEIC8q
IE1lZGlhVGltZUFWRm91bmRhdGlvbi5jcHAgKi87IH07CisJCTBDRjk5Q0E4MUY3Mzg0MzcwMDdF
RTc5MyAvKiBDb3JlTWVkaWFTb2Z0TGluay5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAwQ0Y5OUNBNjFGNzM4NDM2MDA3RUU3OTMgLyogQ29yZU1lZGlh
U29mdExpbmsuY3BwICovOyB9OworCQkwQ0Y5OUNBOTFGNzM4NDM3MDA3RUU3OTMgLyogQ29yZU1l
ZGlhU29mdExpbmsuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDBDRjk5Q0E3MUY3Mzg0MzcwMDdFRTc5MyAvKiBDb3JlTWVkaWFTb2Z0TGluay5oICovOyB9
OwogCQkxQzA5RDA1MzFFMzFDNDQxMDA3MjVGMTggLyogQ3J5cHRvRGlnZXN0LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQzA5RDA1MjFFMzFDNDQxMDA3
MjVGMTggLyogQ3J5cHRvRGlnZXN0LmggKi87IH07CiAJCTFDMDlEMDU2MUUzMUM0NjUwMDcyNUYx
OCAvKiBDcnlwdG9EaWdlc3RDb21tb25DcnlwdG8uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUMwOUQwNTUxRTMxQzQ2NTAwNzI1RjE4IC8qIENyeXB0
b0RpZ2VzdENvbW1vbkNyeXB0by5jcHAgKi87IH07CiAJCTFDMDlEMDU4MUUzMUM1N0UwMDcyNUYx
OCAvKiBjb25maWcuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDFDMDlEMDU3MUUzMUM1N0UwMDcyNUYxOCAvKiBjb25maWcuaCAqLzsgfTsKQEAgLTE0NSw2
ICsxNDksOCBAQAogLyogQmVnaW4gUEJYRmlsZVJlZmVyZW5jZSBzZWN0aW9uICovCiAJCTA3MDhB
QzMyMUY0Qzg3NEEwMDFGNzg4RiAvKiBMb2dnZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gTG9nZ2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA3Mzc3QURC
MUY1Nzc3RDcwMDI3RjE2RCAvKiBMb2dnZXJIZWxwZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gTG9nZ2VySGVscGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTBDMDBDRkQxMUY2OENFNDYwMEFBQzI2RCAvKiBNZWRpYVRpbWVBVkZvdW5kYXRpb24uY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gTWVkaWFUaW1lQVZGb3VuZGF0aW9u
LmNwcDsgcGF0aCA9IGF2Zm91bmRhdGlvbi9NZWRpYVRpbWVBVkZvdW5kYXRpb24uY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwQzAwQ0ZEMjFGNjhDRTQ2MDBBQUMyNkQgLyogTWVk
aWFUaW1lQVZGb3VuZGF0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IE1l
ZGlhVGltZUFWRm91bmRhdGlvbi5oOyBwYXRoID0gYXZmb3VuZGF0aW9uL01lZGlhVGltZUFWRm91
bmRhdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwQzJEOUU3MjFFRUY1QUY2
MDBEQkMzMTcgLyogRXhwb3J0TWFjcm9zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEV4cG9ydE1hY3Jvcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwQzJEQTA2
NzFGMzNDQTg0MDBEQkMzMTcgLyogQ0ZMb2NhbGVTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gQ0ZMb2NhbGVTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
MEMyREEwNjgxRjMzQ0E4NDAwREJDMzE3IC8qIENGTmV0d29ya0Nvbm5lY3Rpb25DYWNoZVNQSS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDRk5ldHdvcmtDb25uZWN0aW9uQ2Fj
aGVTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIxNyw2ICsyMjMsOCBAQAog
CQkwQzc3ODU4NjFGNDUxMzBGMDBGNEVCQjYgLyogUVRLaXRTUEkuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gUVRLaXRTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMEM3Nzg1ODcxRjQ1MTMwRjAwRjRFQkI2IC8qIFF1aWNrTG9va01hY1NQSS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBRdWlja0xvb2tNYWNTUEkuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJMEM3Nzg1ODgxRjQ1MTMwRjAwRjRFQkI2IC8qIFRVQ2FsbFNQSS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBUVUNhbGxTUEkuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMENGOTlDQTYxRjczODQzNjAwN0VFNzkzIC8qIENvcmVNZWRp
YVNvZnRMaW5rLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IENvcmVN
ZWRpYVNvZnRMaW5rLmNwcDsgcGF0aCA9IHBhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5jcHA7IHNv
dXJjZVRyZWUgPSBTT1VSQ0VfUk9PVDsgfTsKKwkJMENGOTlDQTcxRjczODQzNzAwN0VFNzkzIC8q
IENvcmVNZWRpYVNvZnRMaW5rLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IENv
cmVNZWRpYVNvZnRMaW5rLmg7IHBhdGggPSBwYWwvY2YvQ29yZU1lZGlhU29mdExpbmsuaDsgc291
cmNlVHJlZSA9IFNPVVJDRV9ST09UOyB9OwogCQkxQzA5RDAzRDFFMzFDMzI4MDA3MjVGMTggLyog
bGliUEFMLmEgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZXhwbGljaXRGaWxlVHlwZSA9
IGFyY2hpdmUuYXI7IGluY2x1ZGVJbkluZGV4ID0gMDsgcGF0aCA9IGxpYlBBTC5hOyBzb3VyY2VU
cmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OwogCQkxQzA5RDA1MjFFMzFDNDQxMDA3MjVGMTgg
LyogQ3J5cHRvRGlnZXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENyeXB0
b0RpZ2VzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQzA5RDA1NTFFMzFDNDY1
MDA3MjVGMTggLyogQ3J5cHRvRGlnZXN0Q29tbW9uQ3J5cHRvLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgbmFtZSA9IENyeXB0b0RpZ2VzdENvbW1vbkNyeXB0by5jcHA7IHBhdGgg
PSBjb21tb25jcnlwdG8vQ3J5cHRvRGlnZXN0Q29tbW9uQ3J5cHRvLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKQEAgLTI3Miw2ICsyODAsMTUgQEAKIC8qIEVuZCBQQlhGcmFtZXdvcmtz
QnVpbGRQaGFzZSBzZWN0aW9uICovCiAKIC8qIEJlZ2luIFBCWEdyb3VwIHNlY3Rpb24gKi8KKwkJ
MEMwMENGQ0MxRjY4Q0UyMzAwQUFDMjZEIC8qIGF2Zm91bmRhdGlvbiAqLyA9IHsKKwkJCWlzYSA9
IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJMEMwMENGRDExRjY4Q0U0NjAwQUFDMjZE
IC8qIE1lZGlhVGltZUFWRm91bmRhdGlvbi5jcHAgKi8sCisJCQkJMEMwMENGRDIxRjY4Q0U0NjAw
QUFDMjZEIC8qIE1lZGlhVGltZUFWRm91bmRhdGlvbi5oICovLAorCQkJKTsKKwkJCW5hbWUgPSBh
dmZvdW5kYXRpb247CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OwogCQkwQzJEQTA2
NTFGMzNDQTMzMDBEQkMzMTcgLyogc3BpICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQlj
aGlsZHJlbiA9ICgKQEAgLTQwMCw2ICs0MTcsMTYgQEAKIAkJCXBhdGggPSBtYWM7CiAJCQlzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOwogCQl9OworCQkwQ0Y5OUNBNTFGNzM4NDFDMDA3RUU3OTMgLyog
Y2YgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCTBDRjk5
Q0E2MUY3Mzg0MzYwMDdFRTc5MyAvKiBDb3JlTWVkaWFTb2Z0TGluay5jcHAgKi8sCisJCQkJMENG
OTlDQTcxRjczODQzNzAwN0VFNzkzIC8qIENvcmVNZWRpYVNvZnRMaW5rLmggKi8sCisJCQkpOwor
CQkJbmFtZSA9IGNmOworCQkJcGF0aCA9ICJOZXcgR3JvdXAiOworCQkJc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsKKwkJfTsKIAkJMUMwOUQwMzQxRTMxQzMyODAwNzI1RjE4ID0gewogCQkJaXNhID0g
UEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKQEAgLTQyMSw2ICs0NDgsOCBAQAogCQkxQzA5RDAz
RjFFMzFDMzI4MDA3MjVGMTggLyogcGFsICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQlj
aGlsZHJlbiA9ICgKKwkJCQkwQzAwQ0ZDQzFGNjhDRTIzMDBBQUMyNkQgLyogYXZmb3VuZGF0aW9u
ICovLAorCQkJCTBDRjk5Q0E1MUY3Mzg0MUMwMDdFRTc5MyAvKiBjZiAqLywKIAkJCQkxQzA5RDA1
MTFFMzFDNDEyMDA3MjVGMTggLyogY3J5cHRvICovLAogCQkJCTBDMkRBMDY1MUYzM0NBMzMwMERC
QzMxNyAvKiBzcGkgKi8sCiAJCQkJQTM3ODhFOUYxRjA1QjdDRTAwNjc5NDI1IC8qIHN5c3RlbSAq
LywKQEAgLTUzOSw2ICs1NjgsNyBAQAogCQkJCTFDMDlEMDU4MUUzMUM1N0UwMDcyNUYxOCAvKiBj
b25maWcuaCBpbiBIZWFkZXJzICovLAogCQkJCTBDMkRBMDcxMUYzM0NBODQwMERCQzMxNyAvKiBD
b3JlQXVkaW9TUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCTBDMkRBMTFFMUYzQkU5RTAwMERCQzMx
NyAvKiBDb3JlR3JhcGhpY3NTUEkuaCBpbiBIZWFkZXJzICovLAorCQkJCTBDRjk5Q0E5MUY3Mzg0
MzcwMDdFRTc5MyAvKiBDb3JlTWVkaWFTb2Z0TGluay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEMy
REEwNzIxRjMzQ0E4NDAwREJDMzE3IC8qIENvcmVNZWRpYVNQSS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMEMyREExNDAxRjNCRUI0OTAwREJDMzE3IC8qIENvcmVUZXh0U1BJLmggaW4gSGVhZGVycyAq
LywKIAkJCQkwQzVBRjkxOTFGNDNBNEM3MDAyRUFDMDIgLyogQ29yZVVJU1BJLmggaW4gSGVhZGVy
cyAqLywKQEAgLTU2Nyw2ICs1OTcsNyBAQAogCQkJCTBDMkRBMTQ4MUYzQkVCNDkwMERCQzMxNyAv
KiBNYWNoVk1TUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCTBDNUFGOTFEMUY0M0E0QzcwMDJFQUMw
MiAvKiBNZWRpYVBsYXllclNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEM3Nzg1OEMxRjQ1MTMw
RjAwRjRFQkI2IC8qIE1lZGlhUmVtb3RlU1BJLmggaW4gSGVhZGVycyAqLywKKwkJCQkwQzAwQ0ZE
NDFGNjhDRTQ2MDBBQUMyNkQgLyogTWVkaWFUaW1lQVZGb3VuZGF0aW9uLmggaW4gSGVhZGVycyAq
LywKIAkJCQlBMUY1NURDRjFGNTUyOEVDMDBFREI3NUYgLyogTWV0YWRhdGFTUEkuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTBDNUFGOTFFMUY0M0E0QzcwMDJFQUMwMiAvKiBNb2JpbGVHZXN0YWx0U1BJ
LmggaW4gSGVhZGVycyAqLywKIAkJCQkwQzJEQTE0OTFGM0JFQjQ5MDBEQkMzMTcgLyogTkVGaWx0
ZXJTb3VyY2VTUEkuaCBpbiBIZWFkZXJzICovLApAQCAtNzEzLDEwICs3NDQsMTIgQEAKIAkJCWlz
YSA9IFBCWFNvdXJjZXNCdWlsZFBoYXNlOwogCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0
NzsKIAkJCWZpbGVzID0gKAorCQkJCTBDRjk5Q0E4MUY3Mzg0MzcwMDdFRTc5MyAvKiBDb3JlTWVk
aWFTb2Z0TGluay5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQzA5RDA1NjFFMzFDNDY1MDA3MjVG
MTggLyogQ3J5cHRvRGlnZXN0Q29tbW9uQ3J5cHRvLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUEx
MTc1QjU4MUY2QjQ3MDUwMEM0QjlGMCAvKiBEZWZhdWx0U2VhcmNoUHJvdmlkZXIuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJQTMwRDQxMjIxRjBERDBFQTAwQjcxOTU0IC8qIEtpbGxSaW5nLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCUEzMEQ0MTI1MUYwREQxMkQwMEI3MTk1NCAvKiBLaWxsUmluZ01h
Yy5tbSBpbiBTb3VyY2VzICovLAorCQkJCTBDRjk5Q0E0MUY3MzYzNzUwMDdFRTc5MyAvKiBNZWRp
YVRpbWVBVkZvdW5kYXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTExNzVCNEYxRjZCMzM3
MzAwQzRCOUYwIC8qIFBvcHVwTWVudS5tbSBpbiBTb3VyY2VzICovLAogCQkJCUEzQzY2Q0RDMUY0
NjJENkEwMDlFNkVFOSAvKiBTZXNzaW9uSUQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTNBQjZF
NTIxRjNEMURDNTAwOUMxNEIxIC8qIFNsZWVwRGlzYWJsZXIuY3BwIGluIFNvdXJjZXMgKi8sCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvY29uZmlnLmggYi9Tb3VyY2UvV2ViQ29yZS9Q
QUwvY29uZmlnLmgKaW5kZXggNWMzYmNjMzMwZGQ4OTc4ZjUxNGJlZTMwNDQ2YTM2ZGI3YWZkYTIy
Zi4uZTAxYWYyZmViMzk5YmZlZmUxYTVlMGZhZGE4MzBkYjUyMTk4ZjYwNiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvUEFML2NvbmZpZy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9jb25m
aWcuaApAQCAtMjMsNiArMjMsMTIgQEAKICNpbmNsdWRlICJjbWFrZWNvbmZpZy5oIgogI2VuZGlm
CiAKKyNpbmNsdWRlIDx3dGYvUGxhdGZvcm0uaD4KKworI2lmIFBMQVRGT1JNKFdJTikKKyNpbmNs
dWRlIDxQQUxIZWFkZXJEZXRlY3Rpb24uaD4KKyNlbmRpZgorCiAjaW5jbHVkZSA8cGFsL0V4cG9y
dE1hY3Jvcy5oPgogCiAjaWZkZWYgX19jcGx1c3BsdXMKQEAgLTM4LDMgKzQ0LDE1IEBACiAjZW5k
aWYKIAogI2luY2x1ZGUgPHd0Zi9EaXNhbGxvd0NUeXBlLmg+CisKKyNpZiBQTEFURk9STShXSU4p
ICYmIFVTRShDRykgJiYgSEFWRShBVkNGKQorI2RlZmluZSBVU0VfQVZGT1VOREFUSU9OIDEKKwor
I2lmIEhBVkUoQVZDRl9MRUdJQkxFX09VVFBVVCkKKyNkZWZpbmUgVVNFX0FWRk9VTkRBVElPTiAx
CisjZGVmaW5lIEhBVkVfQVZGT1VOREFUSU9OX01FRElBX1NFTEVDVElPTl9HUk9VUCAxCisjZGVm
aW5lIEhBVkVfQVZGT1VOREFUSU9OX0xFR0lCTEVfT1VUUFVUX1NVUFBPUlQgMQorI2RlZmluZSBI
QVZFX01FRElBX0FDQ0VTU0lCSUxJVFlfRlJBTUVXT1JLIDEKKyNlbmRpZgorCisjZW5kaWYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2Uv
V2ViQ29yZS9QQUwvcGFsL0NNYWtlTGlzdHMudHh0CmluZGV4IDZmYTE2NDViODU1NjgzZTNiYTIy
Nzg4ZjA3YTk5ODY5YTA4NGNlYTcuLjFmMzdlOTI4OGYyZTgxYWI4YjE3ODc1ZTYyYTFjODA5NmZl
ZTc5MzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvQ01ha2VMaXN0cy50eHQK
KysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9DTWFrZUxpc3RzLnR4dApAQCAtMTcsNyArMTcs
NyBAQCBzZXQoUEFMX1BSSVZBVEVfSU5DTFVERV9ESVJFQ1RPUklFUwogKQogCiBzZXQoUEFMX0xJ
QlJBUklFUwotICAgIFdURgorICAgIFBSSVZBVEUgV1RGCiApCiAKIFdFQktJVF9GUkFNRVdPUktf
REVDTEFSRShQQUwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL1BsYXRmb3Jt
QXBwbGVXaW4uY21ha2UgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL1BsYXRmb3JtQXBwbGVXaW4u
Y21ha2UKaW5kZXggNTk1YjMzY2JjOWY5YjQ4OWViMjMxMDZlNTg1ZWYwOGU0M2I3MzNlYi4uZDE2
ZTI1NmRkNzNlNzk2MGQ1MjU1MTVhNmUyYmE1NTI2ZDJkNGQxNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvUEFML3BhbC9QbGF0Zm9ybUFwcGxlV2luLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1BBTC9wYWwvUGxhdGZvcm1BcHBsZVdpbi5jbWFrZQpAQCAtOCwzICs4LDEzIEBAIGVsc2Ug
KCkKICAgICAgICAgc3BpL2NnCiAgICAgKQogZW5kaWYgKCkKKworbGlzdChBUFBFTkQgUEFMX1NP
VVJDRVMKKyAgICBhdmZvdW5kYXRpb24vTWVkaWFUaW1lQVZGb3VuZGF0aW9uLmNwcAorCisgICAg
Y2YvQ29yZU1lZGlhU29mdExpbmsuY3BwCispCisKK2xpc3QoQVBQRU5EIFBBTF9QUklWQVRFX0lO
Q0xVREVfRElSRUNUT1JJRVMKKyAgICAiJHtQQUxfRElSfS9wYWwvY2YiCispCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL1BsYXRmb3JtV2luLmNtYWtlIGIvU291cmNlL1dlYkNv
cmUvUEFML3BhbC9QbGF0Zm9ybVdpbi5jbWFrZQppbmRleCBlOGIxYmI2MzNlNjUwZTM1NWU3ZTQw
YTYyOTUzYmZjYjg3Mjg0MzljLi44ZjFmZjg4NGFiOGMyMGFlYWFkNzFmMDk0NTY4MzNhZGQxODg4
ZWJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL1BsYXRmb3JtV2luLmNtYWtl
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvUGxhdGZvcm1XaW4uY21ha2UKQEAgLTksNiAr
OSw3IEBAIGxpc3QoQVBQRU5EIFBBTF9TT1VSQ0VTCiBsaXN0KEFQUEVORCBQQUxfSU5DTFVERV9E
SVJFQ1RPUklFUwogICAgICIke0NNQUtFX0JJTkFSWV9ESVJ9IgogICAgICIke0NNQUtFX0JJTkFS
WV9ESVJ9Ly4uL2luY2x1ZGUvcHJpdmF0ZSIKKyAgICAiJHtERVJJVkVEX1NPVVJDRVNfUEFMX0RJ
Un0iCiApCiAKIGxpc3QoQVBQRU5EIFBBTF9GT1JXQVJESU5HX0hFQURFUlNfRElSRUNUT1JJRVMg
LikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvYXZmb3VuZGF0aW9uL01lZGlh
VGltZUFWRm91bmRhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2F2Zm91bmRhdGlv
bi9NZWRpYVRpbWVBVkZvdW5kYXRpb24uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA2NTk4NDA2ODllNGFiYjUy
MjBlNWJkZDgwNTIzZDc0MDJmNGFjZTIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9QQUwvcGFsL2F2Zm91bmRhdGlvbi9NZWRpYVRpbWVBVkZvdW5kYXRpb24uY3BwCkBAIC0wLDAg
KzEsODAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMtMjAxNSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAq
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAq
LworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiTWVkaWFUaW1lQVZGb3VuZGF0aW9u
LmgiCisKKyNpZiBVU0UoQVZGT1VOREFUSU9OKQorCisjaW5jbHVkZSAiQ29yZU1lZGlhU29mdExp
bmsuaCIKKworbmFtZXNwYWNlIFBBTCB7CisKK3N0YXRpYyBib29sIENNVGltZUhhc0ZsYWdzKGNv
bnN0IENNVGltZSYgY21UaW1lLCB1aW50MzJfdCBmbGFncykKK3sKKyAgICByZXR1cm4gKGNtVGlt
ZS5mbGFncyAmIGZsYWdzKSA9PSBmbGFnczsKK30KKworTWVkaWFUaW1lIHRvTWVkaWFUaW1lKGNv
bnN0IENNVGltZSYgY21UaW1lKQoreworICAgIHVpbnQzMl90IGZsYWdzID0gMDsKKyAgICBpZiAo
Q01UaW1lSGFzRmxhZ3MoY21UaW1lLCBrQ01UaW1lRmxhZ3NfVmFsaWQpKQorICAgICAgICBmbGFn
cyB8PSBNZWRpYVRpbWU6OlZhbGlkOworICAgIGlmIChDTVRpbWVIYXNGbGFncyhjbVRpbWUsIGtD
TVRpbWVGbGFnc19WYWxpZCB8IGtDTVRpbWVGbGFnc19IYXNCZWVuUm91bmRlZCkpCisgICAgICAg
IGZsYWdzIHw9IE1lZGlhVGltZTo6SGFzQmVlblJvdW5kZWQ7CisgICAgaWYgKENNVGltZUhhc0Zs
YWdzKGNtVGltZSwga0NNVGltZUZsYWdzX1ZhbGlkIHwga0NNVGltZUZsYWdzX1Bvc2l0aXZlSW5m
aW5pdHkpKQorICAgICAgICBmbGFncyB8PSBNZWRpYVRpbWU6OlBvc2l0aXZlSW5maW5pdGU7Cisg
ICAgaWYgKENNVGltZUhhc0ZsYWdzKGNtVGltZSwga0NNVGltZUZsYWdzX1ZhbGlkIHwga0NNVGlt
ZUZsYWdzX05lZ2F0aXZlSW5maW5pdHkpKQorICAgICAgICBmbGFncyB8PSBNZWRpYVRpbWU6Ok5l
Z2F0aXZlSW5maW5pdGU7CisgICAgaWYgKENNVGltZUhhc0ZsYWdzKGNtVGltZSwga0NNVGltZUZs
YWdzX1ZhbGlkIHwga0NNVGltZUZsYWdzX0luZGVmaW5pdGUpKQorICAgICAgICBmbGFncyB8PSBN
ZWRpYVRpbWU6OkluZGVmaW5pdGU7CisKKyAgICByZXR1cm4gTWVkaWFUaW1lKGNtVGltZS52YWx1
ZSwgY21UaW1lLnRpbWVzY2FsZSwgZmxhZ3MpOworfQorCitDTVRpbWUgdG9DTVRpbWUoY29uc3Qg
TWVkaWFUaW1lJiBtZWRpYVRpbWUpCit7CisgICAgQ01UaW1lIHRpbWU7CisKKyAgICBpZiAobWVk
aWFUaW1lLmhhc0RvdWJsZVZhbHVlKCkpCisgICAgICAgIHRpbWUgPSBDTVRpbWVNYWtlV2l0aFNl
Y29uZHMobWVkaWFUaW1lLnRvRG91YmxlKCksIG1lZGlhVGltZS50aW1lU2NhbGUoKSk7CisgICAg
ZWxzZQorICAgICAgICB0aW1lID0gQ01UaW1lTWFrZShtZWRpYVRpbWUudGltZVZhbHVlKCksIG1l
ZGlhVGltZS50aW1lU2NhbGUoKSk7CisKKyAgICBpZiAobWVkaWFUaW1lLmlzVmFsaWQoKSkKKyAg
ICAgICAgdGltZS5mbGFncyB8PSBrQ01UaW1lRmxhZ3NfVmFsaWQ7CisgICAgaWYgKG1lZGlhVGlt
ZS5oYXNCZWVuUm91bmRlZCgpKQorICAgICAgICB0aW1lLmZsYWdzIHw9IGtDTVRpbWVGbGFnc19I
YXNCZWVuUm91bmRlZDsKKyAgICBpZiAobWVkaWFUaW1lLmlzUG9zaXRpdmVJbmZpbml0ZSgpKQor
ICAgICAgICB0aW1lLmZsYWdzIHw9IGtDTVRpbWVGbGFnc19Qb3NpdGl2ZUluZmluaXR5OworICAg
IGlmIChtZWRpYVRpbWUuaXNOZWdhdGl2ZUluZmluaXRlKCkpCisgICAgICAgIHRpbWUuZmxhZ3Mg
fD0ga0NNVGltZUZsYWdzX05lZ2F0aXZlSW5maW5pdHk7CisKKyAgICByZXR1cm4gdGltZTsKK30K
KworfQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvYXZmb3Vu
ZGF0aW9uL01lZGlhVGltZUFWRm91bmRhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9h
dmZvdW5kYXRpb24vTWVkaWFUaW1lQVZGb3VuZGF0aW9uLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjNkYmUxN2Fh
OWJjMTI1MWRjZTJlYzhhZGVlN2NiODQ5NDc5YmY3MAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1BBTC9wYWwvYXZmb3VuZGF0aW9uL01lZGlhVGltZUFWRm91bmRhdGlvbi5oCkBA
IC0wLDAgKzEsNDAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisg
KiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisg
Ki8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBVU0UoQVZGT1VOREFUSU9OKQorCisjaW5jbHVkZSA8
Q29yZU1lZGlhL0NNVGltZS5oPgorI2luY2x1ZGUgPHd0Zi9NZWRpYVRpbWUuaD4KKworbmFtZXNw
YWNlIFBBTCB7CisKK1BBTF9FWFBPUlQgQ01UaW1lIHRvQ01UaW1lKGNvbnN0IE1lZGlhVGltZSYp
OworUEFMX0VYUE9SVCBNZWRpYVRpbWUgdG9NZWRpYVRpbWUoY29uc3QgQ01UaW1lJik7CisKK30K
KworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NmL0NvcmVNZWRp
YVNvZnRMaW5rLmNwcCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY2YvQ29yZU1lZGlhU29mdExp
bmsuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmJkZGQ2YmRjYzc4YzU1ZmU0N2ZmMDE3OTg3YjcxMGZhNzViZTI5
OGEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NmL0NvcmVNZWRp
YVNvZnRMaW5rLmNwcApAQCAtMCwwICsxLDM5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNyBT
b255IEludGVyYWN0aXZlIEVudGVydGFpbm1lbnQgSW5jLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KKyAqIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUworICogU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUg
ImNvbmZpZy5oIgorCisjaWYgVVNFKEFWRk9VTkRBVElPTikKKy8vIEZJWE1FOiBTaG91bGQgYmUg
VVNFKENPUkVNRURJQSksIGJ1dCB0aGlzIGlzbid0IGN1cnJlbnRseSBkZWZpbmVkIG9uIFdpbmRv
d3MuCisKKyNpbmNsdWRlIDxwYWwvc3BpL2NmL0NvcmVNZWRpYVNQSS5oPgorI2luY2x1ZGUgPHd0
Zi9Tb2Z0TGlua2luZy5oPgorCitTT0ZUX0xJTktfRlJBTUVXT1JLX0ZPUl9TT1VSQ0UoUEFMLCBD
b3JlTWVkaWEpCisKK1NPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFKFBBTCwgQ29yZU1lZGlh
LCBDTVRpbWVNYWtlLCBDTVRpbWUsIChpbnQ2NF90IHZhbHVlLCBpbnQzMl90IHRpbWVzY2FsZSks
ICh2YWx1ZSwgdGltZXNjYWxlKSkKK1NPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFKFBBTCwg
Q29yZU1lZGlhLCBDTVRpbWVNYWtlV2l0aFNlY29uZHMsIENNVGltZSwgKEZsb2F0NjQgc2Vjb25k
cywgaW50MzJfdCBwcmVmZXJyZWRUaW1lU2NhbGUpLCAoc2Vjb25kcywgcHJlZmVycmVkVGltZVNj
YWxlKSkKKworI2VuZGlmIC8vIFVTRShBVkZPVU5EQVRJT04pCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9QQUwvcGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmggYi9Tb3VyY2UvV2ViQ29yZS9Q
QUwvcGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODY2MTE4ZjZkZjBhNDgy
YWIwY2ZjNWJhMmZjODIyM2EzODZkY2JjMwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1BBTC9wYWwvY2YvQ29yZU1lZGlhU29mdExpbmsuaApAQCAtMCwwICsxLDQxIEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
IENvcHlyaWdodCAoQykgMjAxNyBTb255IEludGVyYWN0aXZlIEVudGVydGFpbm1lbnQgSW5jLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04KKyAqIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUworICog
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBVU0UoQVZGT1VOREFUSU9OKQorLy8gRklY
TUU6IFNob3VsZCBiZSBVU0UoQ09SRU1FRElBKSwgYnV0IHRoaXMgaXNuJ3QgY3VycmVudGx5IGRl
ZmluZWQgb24gV2luZG93cy4KKworI2luY2x1ZGUgPHBhbC9zcGkvY2YvQ29yZU1lZGlhU1BJLmg+
CisjaW5jbHVkZSA8d3RmL1NvZnRMaW5raW5nLmg+CisKK1NPRlRfTElOS19GUkFNRVdPUktfRk9S
X0hFQURFUihQQUwsIENvcmVNZWRpYSkKKworU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIo
UEFMLCBDb3JlTWVkaWEsIENNVGltZU1ha2UsIENNVGltZSwgKGludDY0X3QgdmFsdWUsIGludDMy
X3QgdGltZXNjYWxlKSwgKHZhbHVlLCB0aW1lc2NhbGUpKQorI2RlZmluZSBDTVRpbWVNYWtlIHNv
ZnRMaW5rX0NvcmVNZWRpYV9DTVRpbWVNYWtlCitTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURF
UihQQUwsIENvcmVNZWRpYSwgQ01UaW1lTWFrZVdpdGhTZWNvbmRzLCBDTVRpbWUsIChGbG9hdDY0
IHNlY29uZHMsIGludDMyX3QgcHJlZmVycmVkVGltZVNjYWxlKSwgKHNlY29uZHMsIHByZWZlcnJl
ZFRpbWVTY2FsZSkpCisjZGVmaW5lIENNVGltZU1ha2VXaXRoU2Vjb25kcyBzb2Z0TGlua19Db3Jl
TWVkaWFfQ01UaW1lTWFrZVdpdGhTZWNvbmRzCisKKyNlbmRpZiAvLyBVU0UoQVZGT1VOREFUSU9O
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1BcHBsZVdpbi5jbWFrZSBiL1Nv
dXJjZS9XZWJDb3JlL1BsYXRmb3JtQXBwbGVXaW4uY21ha2UKaW5kZXggYjc5NTViODQwZjEwMjFk
OTBjZTljOGI0MzRhZjUzY2ExODJkODNhMS4uNjZiY2IxNjk0MWM1ZTFkMmRiODNhZDlkMWUzNzlm
MDA0YmIzNGIyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1BcHBsZVdpbi5j
bWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybUFwcGxlV2luLmNtYWtlCkBAIC0zNyw3
ICszNyw2IEBAIGxpc3QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUwogICAgIHBsYXRmb3JtL2dyYXBo
aWNzL2F2Zm91bmRhdGlvbi9JbmJhbmRNZXRhZGF0YVRleHRUcmFja1ByaXZhdGVBVkYuY3BwCiAg
ICAgcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL0luYmFuZFRleHRUcmFja1ByaXZhdGVB
VkYuY3BwCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVyUHJp
dmF0ZUFWRm91bmRhdGlvbi5jcHAKLSAgICBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24v
TWVkaWFUaW1lQVZGb3VuZGF0aW9uLmNwcAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRh
dGlvbi9XZWJNZWRpYVNlc3Npb25NYW5hZ2VyTWFjLmNwcAogCiAgICAgcGxhdGZvcm0vZ3JhcGhp
Y3MvYXZmb3VuZGF0aW9uL2NmL0NETVNlc3Npb25BVkZvdW5kYXRpb25DRi5jcHAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCAyYTI5
NWUwNjNhNjVlZmMxMDk2OTdmYjEwZDhiZjVjMjc2ZWI1YzZhLi4zMTAxODcxMTdhY2Y3NmE5N2E4
OGU4MzU5OGJlOTQxOGIwOGU1MjRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC02MzIxLDggKzYzMjEsNiBAQAogCQlDRDYyRkI5
NjFBRjAxOEU3MDAxMkVEN0QgLyogR2VuZXJpY1Rhc2tRdWV1ZS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q2MkZCOTQxQUYwMThFNzAwMTJFRDdEIC8q
IEdlbmVyaWNUYXNrUXVldWUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQlDRDY0MUVCMzE4MThGNUVEMDBFRTRDNDEgLyogTWVkaWFTb3VyY2VQcml2
YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDY0
MUVCMTE4MThGNUVEMDBFRTRDNDEgLyogTWVkaWFTb3VyY2VQcml2YXRlLmggKi87IH07CiAJCUNE
NjQxRUI0MTgxOEY1RUQwMEVFNEM0MSAvKiBTb3VyY2VCdWZmZXJQcml2YXRlLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDY0MUVCMjE4MThGNUVEMDBF
RTRDNDEgLyogU291cmNlQnVmZmVyUHJpdmF0ZS5oICovOyB9OwotCQlDRDY0MUVCRjE4MTlCMzYw
MDBFRTRDNDEgLyogTWVkaWFUaW1lQVZGb3VuZGF0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENENjQxRUJEMTgxOUIzNTkwMEVFNEM0MSAvKiBN
ZWRpYVRpbWVBVkZvdW5kYXRpb24uY3BwICovOyB9OwotCQlDRDY0MUVDMDE4MTlCMzYwMDBFRTRD
NDEgLyogTWVkaWFUaW1lQVZGb3VuZGF0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBDRDY0MUVCRTE4MTlCMzU5MDBFRTRDNDEgLyogTWVkaWFUaW1l
QVZGb3VuZGF0aW9uLmggKi87IH07CiAJCUNENjY5RDY4MUQyMzM2NEIwMDREMTg2NiAvKiBNZWRp
YVNlc3Npb25NYW5hZ2VyQ29jb2EuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQ0Q2NjlENjYxRDIzMkRGRjAwNEQxODY2IC8qIE1lZGlhU2Vzc2lvbk1h
bmFnZXJDb2NvYS5jcHAgKi87IH07CiAJCUNEN0QzMzQzMUM3QTEyM0YwMDA0MTI5MyAvKiBQaXhl
bEJ1ZmZlckNvbmZvcm1lckNWLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IENEN0QzMzQxMUM3QTEyM0YwMDA0MTI5MyAvKiBQaXhlbEJ1ZmZlckNvbmZv
cm1lckNWLmNwcCAqLzsgfTsKIAkJQ0Q3RDMzNDQxQzdBMTIzRjAwMDQxMjkzIC8qIFBpeGVsQnVm
ZmVyQ29uZm9ybWVyQ1YuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IENEN0QzMzQyMUM3QTEyM0YwMDA0MTI5MyAvKiBQaXhlbEJ1ZmZlckNvbmZvcm1lckNW
LmggKi87IH07CkBAIC0xNTA2Miw4ICsxNTA2MCw2IEBACiAJCUNENjJGQjk0MUFGMDE4RTcwMDEy
RUQ3RCAvKiBHZW5lcmljVGFza1F1ZXVlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEdlbmVyaWNUYXNrUXVldWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0Q2
NDFFQjExODE4RjVFRDAwRUU0QzQxIC8qIE1lZGlhU291cmNlUHJpdmF0ZS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYVNvdXJjZVByaXZhdGUuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQ0Q2NDFFQjIxODE4RjVFRDAwRUU0QzQxIC8qIFNvdXJjZUJ1ZmZl
clByaXZhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU291cmNlQnVmZmVy
UHJpdmF0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlDRDY0MUVCRDE4MTlCMzU5
MDBFRTRDNDEgLyogTWVkaWFUaW1lQVZGb3VuZGF0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IE1lZGlhVGltZUFWRm91bmRhdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0J
CUNENjQxRUJFMTgxOUIzNTkwMEVFNEM0MSAvKiBNZWRpYVRpbWVBVkZvdW5kYXRpb24uaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gTWVkaWFUaW1lQVZGb3VuZGF0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUNENjQxRUM3MTgxRUQ2MDEwMEVFNEM0MSAvKiBNZWRpYVNhbXBsZS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBNZWRpYVNhbXBsZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlD
RDY2OUQ2NjFEMjMyREZGMDA0RDE4NjYgLyogTWVkaWFTZXNzaW9uTWFuYWdlckNvY29hLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IE1lZGlhU2Vzc2lvbk1hbmFnZXJD
b2NvYS5jcHA7IHBhdGggPSBjb2NvYS9NZWRpYVNlc3Npb25NYW5hZ2VyQ29jb2EuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDRDY2OUQ2NzFEMjMyRTEwMDA0RDE4NjYgLyogTWVk
aWFTZXNzaW9uTWFuYWdlck1hYy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBN
ZWRpYVNlc3Npb25NYW5hZ2VyTWFjLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0x
NjY0Myw4ICsxNjYzOSw2IEBACiAJCQkJMDc2RjBEMEExMkI4MTkyNzAwQzI2QUE0IC8qIE1lZGlh
UGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5oICovLAogCQkJCUNEQkVBRUFCMTlEOTJCNkMwMEJF
QkE4OCAvKiBNZWRpYVNlbGVjdGlvbkdyb3VwQVZGT2JqQy5oICovLAogCQkJCUNEQkVBRUFBMTlE
OTJCNkMwMEJFQkE4OCAvKiBNZWRpYVNlbGVjdGlvbkdyb3VwQVZGT2JqQy5tbSAqLywKLQkJCQlD
RDY0MUVCRDE4MTlCMzU5MDBFRTRDNDEgLyogTWVkaWFUaW1lQVZGb3VuZGF0aW9uLmNwcCAqLywK
LQkJCQlDRDY0MUVCRTE4MTlCMzU5MDBFRTRDNDEgLyogTWVkaWFUaW1lQVZGb3VuZGF0aW9uLmgg
Ki8sCiAJCQkJQ0QzMzZGNjMxN0ZBMEE0RDAwREREQ0QwIC8qIFZpZGVvVHJhY2tQcml2YXRlQVZG
LmggKi8sCiAJCQkJMDcwOUQ3OTAxQUU1NTU3RTAwNEU0MkY4IC8qIFdlYk1lZGlhU2Vzc2lvbk1h
bmFnZXJNYWMuY3BwICovLAogCQkJCTA3MDlENzkxMUFFNTU1N0UwMDRFNDJGOCAvKiBXZWJNZWRp
YVNlc3Npb25NYW5hZ2VyTWFjLmggKi8sCkBAIC0yOTMxNiw3ICsyOTMxMCw2IEBACiAJCQkJMDc4
RTA5MTgxN0QxNEQxQzAwNDIwQUExIC8qIE1lZGlhU3RyZWFtVHJhY2suaCBpbiBIZWFkZXJzICov
LAogCQkJCTA3OEUwOTE5MTdEMTREMUMwMDQyMEFBMSAvKiBNZWRpYVN0cmVhbVRyYWNrRXZlbnQu
aCBpbiBIZWFkZXJzICovLAogCQkJCTA3RkZERTY5MTgxQUVENDIwMDcyRDQwOSAvKiBNZWRpYVN0
cmVhbVRyYWNrUHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQ0Q2NDFFQzAxODE5QjM2MDAw
RUU0QzQxIC8qIE1lZGlhVGltZUFWRm91bmRhdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0Q2
MEMwQzcxOTNFODdDNzAwM0M2NTZCIC8qIE1lZGlhVGltZVFUS2l0LmggaW4gSGVhZGVycyAqLywK
IAkJCQk5MzJDQzBCNzFERkZEMTU4MDA0QzBGOUYgLyogTWVkaWFUcmFja0NvbnN0cmFpbnRzLmgg
aW4gSGVhZGVycyAqLywKIAkJCQkwN0MxQzBFMjFCRkI2MDAxMDBCRDIyNTYgLyogTWVkaWFUcmFj
a1N1cHBvcnRlZENvbnN0cmFpbnRzLmggaW4gSGVhZGVycyAqLywKQEAgLTMzMzc4LDcgKzMzMzcx
LDYgQEAKIAkJCQkwNzhFMDkwMjE3RDE0Q0VFMDA0MjBBQTEgLyogTWVkaWFTdHJlYW1UcmFjay5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQkwNzhFMDkwMzE3RDE0Q0VFMDA0MjBBQTEgLyogTWVkaWFT
dHJlYW1UcmFja0V2ZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTA3RkZERTY4MTgxQUVENDIw
MDcyRDQwOSAvKiBNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZS5jcHAgaW4gU291cmNlcyAqLywKLQkJ
CQlDRDY0MUVCRjE4MTlCMzYwMDBFRTRDNDEgLyogTWVkaWFUaW1lQVZGb3VuZGF0aW9uLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCUNENjBDMEM2MTkzRTg3QzcwMDNDNjU2QiAvKiBNZWRpYVRpbWVR
VEtpdC5tbSBpbiBTb3VyY2VzICovLAogCQkJCTkzMkNDMEY3MURGRkRBMUYwMDRDMEY5RiAvKiBN
ZWRpYVRyYWNrQ29uc3RyYWludHMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTFFMUJBQzIxQkQ4
MDY0RTAwNTVEODFGIC8qIE1lbW9yeUJhY2tpbmdTdG9yZVRyYW5zYWN0aW9uLmNwcCBpbiBTb3Vy
Y2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vbWFjL0F1
ZGlvU2FtcGxlRGF0YVNvdXJjZS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL21h
Yy9BdWRpb1NhbXBsZURhdGFTb3VyY2UubW0KaW5kZXggZGQ2MmMwZTIwNDFhOWY0YjE5MTQxYTQ3
MzY0ZTBjMmQxNGU5ZmIwZS4uOTBmMzZkY2E2NjZjNDc5MzZjOWIzMTZkMTExYWNiNzJlZjA5ODk4
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vbWFjL0F1ZGlvU2Ft
cGxlRGF0YVNvdXJjZS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9tYWMv
QXVkaW9TYW1wbGVEYXRhU291cmNlLm1tCkBAIC0zMSwxMSArMzEsMTEgQEAKICNpbmNsdWRlICJD
QUF1ZGlvU3RyZWFtRGVzY3JpcHRpb24uaCIKICNpbmNsdWRlICJDQVJpbmdCdWZmZXIuaCIKICNp
bmNsdWRlICJMb2dnaW5nLmgiCi0jaW5jbHVkZSAiTWVkaWFUaW1lQVZGb3VuZGF0aW9uLmgiCiAj
aW5jbHVkZSA8QXVkaW9Ub29sYm94L0F1ZGlvQ29udmVydGVyLmg+CiAjaW5jbHVkZSA8bWFjaC9t
YWNoLmg+CiAjaW5jbHVkZSA8bWFjaC9tYWNoX3RpbWUuaD4KICNpbmNsdWRlIDxtdXRleD4KKyNp
bmNsdWRlIDxwYWwvYXZmb3VuZGF0aW9uL01lZGlhVGltZUFWRm91bmRhdGlvbi5oPgogI2luY2x1
ZGUgPHN5c2xvZy5oPgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgogI2luY2x1ZGUgPHd0
Zi9TdHJpbmdQcmludFN0cmVhbS5oPgpAQCAtMTkyLDcgKzE5Miw3IEBAIHZvaWQgQXVkaW9TYW1w
bGVEYXRhU291cmNlOjpwdXNoU2FtcGxlcyhjb25zdCBBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRp
b24mIHNhbXBsCiAgICAgQVNTRVJUKG1fcmluZ0J1ZmZlcik7CiAgICAgCiAgICAgV2ViQXVkaW9C
dWZmZXJMaXN0IGxpc3QoKm1faW5wdXREZXNjcmlwdGlvbiwgc2FtcGxlQnVmZmVyKTsKLSAgICBw
dXNoU2FtcGxlc0ludGVybmFsKGxpc3QsIHRvTWVkaWFUaW1lKENNU2FtcGxlQnVmZmVyR2V0UHJl
c2VudGF0aW9uVGltZVN0YW1wKHNhbXBsZUJ1ZmZlcikpLCBDTVNhbXBsZUJ1ZmZlckdldE51bVNh
bXBsZXMoc2FtcGxlQnVmZmVyKSk7CisgICAgcHVzaFNhbXBsZXNJbnRlcm5hbChsaXN0LCBQQUw6
OnRvTWVkaWFUaW1lKENNU2FtcGxlQnVmZmVyR2V0UHJlc2VudGF0aW9uVGltZVN0YW1wKHNhbXBs
ZUJ1ZmZlcikpLCBDTVNhbXBsZUJ1ZmZlckdldE51bVNhbXBsZXMoc2FtcGxlQnVmZmVyKSk7CiB9
CiAKIHZvaWQgQXVkaW9TYW1wbGVEYXRhU291cmNlOjpwdXNoU2FtcGxlcyhjb25zdCBNZWRpYVRp
bWUmIHNhbXBsZVRpbWUsIGNvbnN0IFBsYXRmb3JtQXVkaW9EYXRhJiBhdWRpb0RhdGEsIHNpemVf
dCBzYW1wbGVDb3VudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2F2Zm91bmRhdGlvbi9BdWRpb1NvdXJjZVByb3ZpZGVyQVZGT2JqQy5tbSBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9BdWRpb1NvdXJjZVByb3ZpZGVy
QVZGT2JqQy5tbQppbmRleCA4MWY3MjJmOTVhODg5MmM3ZDMyNmQ2MTFiODVlZGY5NWY1YmQxZDE4
Li42NDJjNzE2YTA0MWY4MTlmNmFhMjU4Nzg3YjhjOGZjN2IzNjcxMWQ2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vQXVkaW9Tb3VyY2VQ
cm92aWRlckFWRk9iakMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
YXZmb3VuZGF0aW9uL0F1ZGlvU291cmNlUHJvdmlkZXJBVkZPYmpDLm1tCkBAIC0zMywxMyArMzMs
MTMgQEAKICNpbXBvcnQgIkF1ZGlvU291cmNlUHJvdmlkZXJDbGllbnQuaCIKICNpbXBvcnQgIkNB
UmluZ0J1ZmZlci5oIgogI2ltcG9ydCAiTG9nZ2luZy5oIgotI2ltcG9ydCAiTWVkaWFUaW1lQVZG
b3VuZGF0aW9uLmgiCiAjaW1wb3J0IDxBVkZvdW5kYXRpb24vQVZBc3NldFRyYWNrLmg+CiAjaW1w
b3J0IDxBVkZvdW5kYXRpb24vQVZBdWRpb01peC5oPgogI2ltcG9ydCA8QVZGb3VuZGF0aW9uL0FW
TWVkaWFGb3JtYXQuaD4KICNpbXBvcnQgPEFWRm91bmRhdGlvbi9BVlBsYXllckl0ZW0uaD4KICNp
bXBvcnQgPG11dGV4PgogI2ltcG9ydCA8b2JqYy9ydW50aW1lLmg+CisjaW1wb3J0IDxwYWwvYXZm
b3VuZGF0aW9uL01lZGlhVGltZUFWRm91bmRhdGlvbi5oPgogI2ltcG9ydCA8d3RmL0xvY2suaD4K
ICNpbXBvcnQgPHd0Zi9NYWluVGhyZWFkLmg+CiAKQEAgLTM2NywxMyArMzY3LDEzIEBAIHZvaWQg
QXVkaW9Tb3VyY2VQcm92aWRlckFWRk9iakM6OnByb2Nlc3MoTVRBdWRpb1Byb2Nlc3NpbmdUYXBS
ZWYgdGFwLCBDTUl0ZW1Db3VuCiAgICAgaWYgKHN0YXR1cyAhPSBub0VyciB8fCAhaXRlbUNvdW50
KQogICAgICAgICByZXR1cm47CiAKLSAgICBNZWRpYVRpbWUgcmFuZ2VTdGFydCA9IHRvTWVkaWFU
aW1lKHJhbmdlT3V0LnN0YXJ0KTsKLSAgICBNZWRpYVRpbWUgcmFuZ2VEdXJhdGlvbiA9IHRvTWVk
aWFUaW1lKHJhbmdlT3V0LmR1cmF0aW9uKTsKKyAgICBNZWRpYVRpbWUgcmFuZ2VTdGFydCA9IFBB
TDo6dG9NZWRpYVRpbWUocmFuZ2VPdXQuc3RhcnQpOworICAgIE1lZGlhVGltZSByYW5nZUR1cmF0
aW9uID0gUEFMOjp0b01lZGlhVGltZShyYW5nZU91dC5kdXJhdGlvbik7CiAKICAgICBpZiAocmFu
Z2VTdGFydC5pc0ludmFsaWQoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgTWVkaWFUaW1lIGN1
cnJlbnRUaW1lID0gdG9NZWRpYVRpbWUoQ01UaW1lYmFzZUdldFRpbWUoW21fYXZQbGF5ZXJJdGVt
IHRpbWViYXNlXSkpOworICAgIE1lZGlhVGltZSBjdXJyZW50VGltZSA9IFBBTDo6dG9NZWRpYVRp
bWUoQ01UaW1lYmFzZUdldFRpbWUoW21fYXZQbGF5ZXJJdGVtIHRpbWViYXNlXSkpOwogICAgIGlm
IChjdXJyZW50VGltZS5pc0ludmFsaWQoKSkKICAgICAgICAgcmV0dXJuOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vSW5iYW5kVGV4
dFRyYWNrUHJpdmF0ZUFWRi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9h
dmZvdW5kYXRpb24vSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUFWRi5jcHAKaW5kZXggOGQ0NWQzNzFi
NWVkZDA1ZTliMTUyY2U0YmJjYzQxNjZkNDgxOWMxYy4uZTM4ZDU5NTEzNTQ1YzQ3NThhNmRlYzY4
NWY3MzkxNWFlOTI0MGRkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL0luYmFuZFRleHRUcmFja1ByaXZhdGVBVkYuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9JbmJhbmRUZXh0VHJh
Y2tQcml2YXRlQVZGLmNwcApAQCAtMzIsMTcgKzMyLDE2IEBACiAjaW5jbHVkZSAiSW5iYW5kVGV4
dFRyYWNrUHJpdmF0ZUNsaWVudC5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJN
ZWRpYVBsYXllci5oIgotI2luY2x1ZGUgIk1lZGlhVGltZUFWRm91bmRhdGlvbi5oIgorI2luY2x1
ZGUgPHBhbC9hdmZvdW5kYXRpb24vTWVkaWFUaW1lQVZGb3VuZGF0aW9uLmg+CiAjaW5jbHVkZSA8
cnVudGltZS9BcnJheUJ1ZmZlci5oPgogI2luY2x1ZGUgPHJ1bnRpbWUvRGF0YVZpZXcuaD4KICNp
bmNsdWRlIDxydW50aW1lL0ludDhBcnJheS5oPgogI2luY2x1ZGUgPHd0Zi9NZWRpYVRpbWUuaD4K
KyNpbmNsdWRlIDx3dGYvU3RyaW5nUHJpbnRTdHJlYW0uaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9D
U3RyaW5nLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQnVpbGRlci5oPgogI2luY2x1ZGUg
PHd0Zi90ZXh0L1dURlN0cmluZy5oPgogI2luY2x1ZGUgPHd0Zi91bmljb2RlL0NoYXJhY3Rlck5h
bWVzLmg+Ci0jaW5jbHVkZSA8d3RmL1N0cmluZ1ByaW50U3RyZWFtLmg+Ci0KICNpbmNsdWRlICJD
b3JlTWVkaWFTb2Z0TGluay5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC01NTUsNyArNTU0
LDcgQEAgYm9vbCBJbmJhbmRUZXh0VHJhY2tQcml2YXRlQVZGOjpyZWFkTmF0aXZlU2FtcGxlQnVm
ZmVyKENGQXJyYXlSZWYgbmF0aXZlU2FtcGxlcywKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAg
IH0KIAotICAgIGR1cmF0aW9uID0gdG9NZWRpYVRpbWUodGltaW5nSW5mby5kdXJhdGlvbik7Cisg
ICAgZHVyYXRpb24gPSBQQUw6OnRvTWVkaWFUaW1lKHRpbWluZ0luZm8uZHVyYXRpb24pOwogCiAg
ICAgQ01CbG9ja0J1ZmZlclJlZiBibG9ja0J1ZmZlciA9IENNU2FtcGxlQnVmZmVyR2V0RGF0YUJ1
ZmZlcihzYW1wbGVCdWZmZXIpOwogICAgIHNpemVfdCBidWZmZXJMZW5ndGggPSBDTUJsb2NrQnVm
ZmVyR2V0RGF0YUxlbmd0aChibG9ja0J1ZmZlcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFTYW1wbGVBVkZPYmpDLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFTYW1wbGVB
VkZPYmpDLmgKaW5kZXggZTMzNGNhNDNlNmJmN2RlZmJlMmRmYzFlZDMxOWJmYzUyMDBmNGNkZi4u
NTQ4MDM0ZDgwNzVjZTk1OTRjOGY1NWQ4YmViMGExNTc3OTFhNGE2NyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhU2FtcGxlQVZG
T2JqQy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlv
bi9NZWRpYVNhbXBsZUFWRk9iakMuaApAQCAtMjYsNyArMjYsNyBAQAogI3ByYWdtYSBvbmNlCiAK
ICNpbmNsdWRlICJNZWRpYVNhbXBsZS5oIgotI2luY2x1ZGUgIk1lZGlhVGltZUFWRm91bmRhdGlv
bi5oIgorI2luY2x1ZGUgPHBhbC9hdmZvdW5kYXRpb24vTWVkaWFUaW1lQVZGb3VuZGF0aW9uLmg+
CiAKICNpbmNsdWRlIDxydW50aW1lL1VpbnQ4Q2xhbXBlZEFycmF5Lmg+CiAjaW5jbHVkZSA8d3Rm
L0ZvcndhcmQuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2F2Zm91bmRhdGlvbi9NZWRpYVRpbWVBVkZvdW5kYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhVGltZUFWRm91bmRhdGlvbi5jcHAK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ3NzM2MjY4MmIwNzA5MWM5MDIzMWE2YjE0
YmJhMzU5NzljOGYwZDYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlh
VGltZUFWRm91bmRhdGlvbi5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw4MCArMCwwIEBACi0vKgot
ICogQ29weXJpZ2h0IChDKSAyMDEzLTIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0g
KiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCi0gKi8KLQotI2luY2x1ZGUg
ImNvbmZpZy5oIgotI2luY2x1ZGUgIk1lZGlhVGltZUFWRm91bmRhdGlvbi5oIgotCi0jaWYgVVNF
KEFWRk9VTkRBVElPTikKLQotI2luY2x1ZGUgIkNvcmVNZWRpYVNvZnRMaW5rLmgiCi0KLW5hbWVz
cGFjZSBXZWJDb3JlIHsKLQotc3RhdGljIGJvb2wgQ01UaW1lSGFzRmxhZ3MoY29uc3QgQ01UaW1l
JiBjbVRpbWUsIHVpbnQzMl90IGZsYWdzKQotewotICAgIHJldHVybiAoY21UaW1lLmZsYWdzICYg
ZmxhZ3MpID09IGZsYWdzOwotfQotCi1NZWRpYVRpbWUgdG9NZWRpYVRpbWUoY29uc3QgQ01UaW1l
JiBjbVRpbWUpCi17Ci0gICAgdWludDMyX3QgZmxhZ3MgPSAwOwotICAgIGlmIChDTVRpbWVIYXNG
bGFncyhjbVRpbWUsIGtDTVRpbWVGbGFnc19WYWxpZCkpCi0gICAgICAgIGZsYWdzIHw9IE1lZGlh
VGltZTo6VmFsaWQ7Ci0gICAgaWYgKENNVGltZUhhc0ZsYWdzKGNtVGltZSwga0NNVGltZUZsYWdz
X1ZhbGlkIHwga0NNVGltZUZsYWdzX0hhc0JlZW5Sb3VuZGVkKSkKLSAgICAgICAgZmxhZ3MgfD0g
TWVkaWFUaW1lOjpIYXNCZWVuUm91bmRlZDsKLSAgICBpZiAoQ01UaW1lSGFzRmxhZ3MoY21UaW1l
LCBrQ01UaW1lRmxhZ3NfVmFsaWQgfCBrQ01UaW1lRmxhZ3NfUG9zaXRpdmVJbmZpbml0eSkpCi0g
ICAgICAgIGZsYWdzIHw9IE1lZGlhVGltZTo6UG9zaXRpdmVJbmZpbml0ZTsKLSAgICBpZiAoQ01U
aW1lSGFzRmxhZ3MoY21UaW1lLCBrQ01UaW1lRmxhZ3NfVmFsaWQgfCBrQ01UaW1lRmxhZ3NfTmVn
YXRpdmVJbmZpbml0eSkpCi0gICAgICAgIGZsYWdzIHw9IE1lZGlhVGltZTo6TmVnYXRpdmVJbmZp
bml0ZTsKLSAgICBpZiAoQ01UaW1lSGFzRmxhZ3MoY21UaW1lLCBrQ01UaW1lRmxhZ3NfVmFsaWQg
fCBrQ01UaW1lRmxhZ3NfSW5kZWZpbml0ZSkpCi0gICAgICAgIGZsYWdzIHw9IE1lZGlhVGltZTo6
SW5kZWZpbml0ZTsKLQotICAgIHJldHVybiBNZWRpYVRpbWUoY21UaW1lLnZhbHVlLCBjbVRpbWUu
dGltZXNjYWxlLCBmbGFncyk7Ci19Ci0KLUNNVGltZSB0b0NNVGltZShjb25zdCBNZWRpYVRpbWUm
IG1lZGlhVGltZSkKLXsKLSAgICBDTVRpbWUgdGltZTsKLQotICAgIGlmIChtZWRpYVRpbWUuaGFz
RG91YmxlVmFsdWUoKSkKLSAgICAgICAgdGltZSA9IENNVGltZU1ha2VXaXRoU2Vjb25kcyhtZWRp
YVRpbWUudG9Eb3VibGUoKSwgbWVkaWFUaW1lLnRpbWVTY2FsZSgpKTsKLSAgICBlbHNlCi0gICAg
ICAgIHRpbWUgPSBDTVRpbWVNYWtlKG1lZGlhVGltZS50aW1lVmFsdWUoKSwgbWVkaWFUaW1lLnRp
bWVTY2FsZSgpKTsKLQotICAgIGlmIChtZWRpYVRpbWUuaXNWYWxpZCgpKQotICAgICAgICB0aW1l
LmZsYWdzIHw9IGtDTVRpbWVGbGFnc19WYWxpZDsKLSAgICBpZiAobWVkaWFUaW1lLmhhc0JlZW5S
b3VuZGVkKCkpCi0gICAgICAgIHRpbWUuZmxhZ3MgfD0ga0NNVGltZUZsYWdzX0hhc0JlZW5Sb3Vu
ZGVkOwotICAgIGlmIChtZWRpYVRpbWUuaXNQb3NpdGl2ZUluZmluaXRlKCkpCi0gICAgICAgIHRp
bWUuZmxhZ3MgfD0ga0NNVGltZUZsYWdzX1Bvc2l0aXZlSW5maW5pdHk7Ci0gICAgaWYgKG1lZGlh
VGltZS5pc05lZ2F0aXZlSW5maW5pdGUoKSkKLSAgICAgICAgdGltZS5mbGFncyB8PSBrQ01UaW1l
RmxhZ3NfTmVnYXRpdmVJbmZpbml0eTsKLQotICAgIHJldHVybiB0aW1lOwotfQotCi19Ci0KLSNl
bmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3Vu
ZGF0aW9uL01lZGlhVGltZUFWRm91bmRhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhVGltZUFWRm91bmRhdGlvbi5oCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA1YjkxNGVmZjg5ZjMxN2UzZmNmNTE4MWI0NWRiMWI0ZTVhZDQ2
YTc4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVRpbWVBVkZvdW5k
YXRpb24uaAorKysgL2Rldi9udWxsCkBAIC0xLDQzICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQg
KEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFO
WQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4gCi0gKi8KLQotI2lmbmRlZiBNZWRpYVRpbWVBVkZvdW5kYXRp
b25faAotI2RlZmluZSBNZWRpYVRpbWVBVkZvdW5kYXRpb25faAotCi0jaWYgVVNFKEFWRk9VTkRB
VElPTikKLQotI2luY2x1ZGUgPENvcmVNZWRpYS9DTVRpbWUuaD4KLSNpbmNsdWRlIDx3dGYvTWVk
aWFUaW1lLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotQ01UaW1lIHRvQ01UaW1lKGNvbnN0
IE1lZGlhVGltZSYpOwotTWVkaWFUaW1lIHRvTWVkaWFUaW1lKGNvbnN0IENNVGltZSYpOwotCi19
Ci0KLSNlbmRpZgotCi0jZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9jZi9JbmJhbmRUZXh0VHJhY2tQcml2YXRlQVZDRi5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vY2YvSW5iYW5k
VGV4dFRyYWNrUHJpdmF0ZUFWQ0YuY3BwCmluZGV4IDAxNjZkMjExYmQ4MWJkYTc5MGMwNGRlZDA0
MzM1NzI2NjdlOTgxYzEuLmQ0ZmVjMGI1NmQzZWUyMjhmYTIwZjUxOWMzMjRkY2NkNDFhY2IyMWYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlv
bi9jZi9JbmJhbmRUZXh0VHJhY2tQcml2YXRlQVZDRi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL2NmL0luYmFuZFRleHRUcmFja1ByaXZhdGVB
VkNGLmNwcApAQCAtMzQsOCArMzQsOCBAQAogI2luY2x1ZGUgIkluYmFuZFRleHRUcmFja1ByaXZh
dGUuaCIKICNpbmNsdWRlICJJbmJhbmRUZXh0VHJhY2tQcml2YXRlQVZGLmgiCiAjaW5jbHVkZSAi
TG9nZ2luZy5oIgotI2luY2x1ZGUgIk1lZGlhVGltZUFWRm91bmRhdGlvbi5oIgogI2luY2x1ZGUg
PEphdmFTY3JpcHRDb3JlL0FycmF5QnVmZmVyLmg+CisjaW5jbHVkZSA8cGFsL2F2Zm91bmRhdGlv
bi9NZWRpYVRpbWVBVkZvdW5kYXRpb24uaD4KICNpbmNsdWRlIDx3dGYvU29mdExpbmtpbmcuaD4K
IAogI2luY2x1ZGUgPEFWRm91bmRhdGlvbkNGL0FWQ0ZQbGF5ZXJJdGVtTGVnaWJsZU91dHB1dC5o
PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL2NmL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbkNGLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9jZi9NZWRpYVBsYXllclByaXZhdGVB
VkZvdW5kYXRpb25DRi5jcHAKaW5kZXggOTAzNTI0NGFhN2ExNDllMDYxNTdmMGNiOGY2NmI3NzU0
YmY4NjU4Mi4uZTI0Y2FjNDI2ZjBkM2Y5MGI5OGNlNzM3OWY0MTc2N2JhMTVjYjA0MSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL2NmL01l
ZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbkNGLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vY2YvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3Vu
ZGF0aW9uQ0YuY3BwCkBAIC00MSwxMyArNDEsMTMgQEAKICNlbHNlCiAjaW5jbHVkZSAiSW5iYW5k
VGV4dFRyYWNrUHJpdmF0ZUxlZ2FjeUFWQ0YuaCIKICNlbmRpZgotI2luY2x1ZGUgIk1lZGlhVGlt
ZUFWRm91bmRhdGlvbi5oIgotI2luY2x1ZGUgIlVSTC5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIK
ICNpbmNsdWRlICJQbGF0Zm9ybUNBTGF5ZXJDbGllbnQuaCIKICNpbmNsdWRlICJQbGF0Zm9ybUNB
TGF5ZXJXaW4uaCIKICNpbmNsdWRlICJUaW1lUmFuZ2VzLmgiCisjaW5jbHVkZSAiVVJMLmgiCiAj
aW5jbHVkZSAiV2ViQ29yZUFWQ0ZSZXNvdXJjZUxvYWRlci5oIgorI2luY2x1ZGUgPHBhbC9hdmZv
dW5kYXRpb24vTWVkaWFUaW1lQVZGb3VuZGF0aW9uLmg+CiAKICNpbmNsdWRlIDxBVkZvdW5kYXRp
b25DRi9BVkNGUGxheWVySXRlbS5oPgogI2lmIEhBVkUoQVZGT1VOREFUSU9OX0xFR0lCTEVfT1VU
UFVUX1NVUFBPUlQpCkBAIC01OTIsNyArNTkyLDcgQEAgTWVkaWFUaW1lIE1lZGlhUGxheWVyUHJp
dmF0ZUFWRm91bmRhdGlvbkNGOjpwbGF0Zm9ybUR1cmF0aW9uKCkgY29uc3QKICAgICAgICAgY21E
dXJhdGlvbiA9IEFWQ0ZBc3NldEdldER1cmF0aW9uKGF2QXNzZXQobV9hdmZXcmFwcGVyKSk7CiAK
ICAgICBpZiAoQ01USU1FX0lTX05VTUVSSUMoY21EdXJhdGlvbikpCi0gICAgICAgIHJldHVybiB0
b01lZGlhVGltZShjbUR1cmF0aW9uKTsKKyAgICAgICAgcmV0dXJuIFBBTDo6dG9NZWRpYVRpbWUo
Y21EdXJhdGlvbik7CiAKICAgICBpZiAoQ01USU1FX0lTX0lOREVGSU5JVEUoY21EdXJhdGlvbikp
CiAgICAgICAgIHJldHVybiBNZWRpYVRpbWU6OnBvc2l0aXZlSW5maW5pdGVUaW1lKCk7CkBAIC02
MDgsNyArNjA4LDcgQEAgTWVkaWFUaW1lIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbkNG
OjpjdXJyZW50TWVkaWFUaW1lKCkgY29uc3QKIAogICAgIENNVGltZSBpdGVtVGltZSA9IEFWQ0ZQ
bGF5ZXJJdGVtR2V0Q3VycmVudFRpbWUoYXZQbGF5ZXJJdGVtKG1fYXZmV3JhcHBlcikpOwogICAg
IGlmIChDTVRJTUVfSVNfTlVNRVJJQyhpdGVtVGltZSkpCi0gICAgICAgIHJldHVybiBtYXgodG9N
ZWRpYVRpbWUoaXRlbVRpbWUpLCBNZWRpYVRpbWU6Onplcm9UaW1lKCkpOworICAgICAgICByZXR1
cm4gbWF4KFBBTDo6dG9NZWRpYVRpbWUoaXRlbVRpbWUpLCBNZWRpYVRpbWU6Onplcm9UaW1lKCkp
OwogCiAgICAgcmV0dXJuIE1lZGlhVGltZTo6emVyb1RpbWUoKTsKIH0KQEAgLTY5NCw4ICs2OTQs
OCBAQCBzdGQ6OnVuaXF1ZV9wdHI8UGxhdGZvcm1UaW1lUmFuZ2VzPiBNZWRpYVBsYXllclByaXZh
dGVBVkZvdW5kYXRpb25DRjo6cGxhdGZvcm1CdQogICAgICAgICBDTVRpbWUgZHVyYXRpb24gPSBD
TVRpbWVNYWtlRnJvbURpY3Rpb25hcnkoc3RhdGljX2Nhc3Q8Q0ZEaWN0aW9uYXJ5UmVmPihDRkRp
Y3Rpb25hcnlHZXRWYWx1ZShyYW5nZSwgQ01UaW1lUmFuZ2VEdXJhdGlvbktleSgpKSkpOwogICAg
ICAgICAKICAgICAgICAgaWYgKHRpbWVSYW5nZUlzVmFsaWRBbmROb3RFbXB0eShzdGFydCwgZHVy
YXRpb24pKSB7Ci0gICAgICAgICAgICBNZWRpYVRpbWUgcmFuZ2VTdGFydCA9IHRvTWVkaWFUaW1l
KHN0YXJ0KTsKLSAgICAgICAgICAgIE1lZGlhVGltZSByYW5nZUVuZCA9IHJhbmdlU3RhcnQgKyB0
b01lZGlhVGltZShkdXJhdGlvbik7CisgICAgICAgICAgICBNZWRpYVRpbWUgcmFuZ2VTdGFydCA9
IFBBTDo6dG9NZWRpYVRpbWUoc3RhcnQpOworICAgICAgICAgICAgTWVkaWFUaW1lIHJhbmdlRW5k
ID0gcmFuZ2VTdGFydCArIFBBTDo6dG9NZWRpYVRpbWUoZHVyYXRpb24pOwogICAgICAgICAgICAg
dGltZVJhbmdlcy0+YWRkKHJhbmdlU3RhcnQsIHJhbmdlRW5kKTsKICAgICAgICAgfQogICAgIH0K
QEAgLTcyMCw3ICs3MjAsNyBAQCBNZWRpYVRpbWUgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0
aW9uQ0Y6OnBsYXRmb3JtTWluVGltZVNlZWthYmxlKCkgY29uc3QKICAgICAgICAgICAgIGNvbnRp
bnVlOwogCiAgICAgICAgIGhhc1ZhbGlkUmFuZ2UgPSB0cnVlOyAKLSAgICAgICAgTWVkaWFUaW1l
IHN0YXJ0T2ZSYW5nZSA9IHRvTWVkaWFUaW1lKHN0YXJ0KTsgCisgICAgICAgIE1lZGlhVGltZSBz
dGFydE9mUmFuZ2UgPSBQQUw6OnRvTWVkaWFUaW1lKHN0YXJ0KTsKICAgICAgICAgaWYgKG1pblRp
bWVTZWVrYWJsZSA+IHN0YXJ0T2ZSYW5nZSkgCiAgICAgICAgICAgICBtaW5UaW1lU2Vla2FibGUg
PSBzdGFydE9mUmFuZ2U7IAogICAgIH0gCkBAIC03NDUsNyArNzQ1LDcgQEAgTWVkaWFUaW1lIE1l
ZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbkNGOjpwbGF0Zm9ybU1heFRpbWVTZWVrYWJsZSgp
IGNvbnN0CiAgICAgICAgIGlmICghdGltZVJhbmdlSXNWYWxpZEFuZE5vdEVtcHR5KHN0YXJ0LCBk
dXJhdGlvbikpCiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgCi0gICAgICAgIE1lZGlh
VGltZSBlbmRPZlJhbmdlID0gdG9NZWRpYVRpbWUoQ01UaW1lQWRkKHN0YXJ0LCBkdXJhdGlvbikp
OworICAgICAgICBNZWRpYVRpbWUgZW5kT2ZSYW5nZSA9IFBBTDo6dG9NZWRpYVRpbWUoQ01UaW1l
QWRkKHN0YXJ0LCBkdXJhdGlvbikpOwogICAgICAgICBpZiAobWF4VGltZVNlZWthYmxlIDwgZW5k
T2ZSYW5nZSkKICAgICAgICAgICAgIG1heFRpbWVTZWVrYWJsZSA9IGVuZE9mUmFuZ2U7CiAgICAg
fQpAQCAtNzcxLDcgKzc3MSw3IEBAIE1lZGlhVGltZSBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5k
YXRpb25DRjo6cGxhdGZvcm1NYXhUaW1lTG9hZGVkKCkgY29uc3QKICAgICAgICAgaWYgKCF0aW1l
UmFuZ2VJc1ZhbGlkQW5kTm90RW1wdHkoc3RhcnQsIGR1cmF0aW9uKSkKICAgICAgICAgICAgIGNv
bnRpbnVlOwogICAgICAgICAKLSAgICAgICAgTWVkaWFUaW1lIGVuZE9mUmFuZ2UgPSB0b01lZGlh
VGltZShDTVRpbWVBZGQoc3RhcnQsIGR1cmF0aW9uKSk7CisgICAgICAgIE1lZGlhVGltZSBlbmRP
ZlJhbmdlID0gUEFMOjp0b01lZGlhVGltZShDTVRpbWVBZGQoc3RhcnQsIGR1cmF0aW9uKSk7CiAg
ICAgICAgIGlmIChtYXhUaW1lTG9hZGVkIDwgZW5kT2ZSYW5nZSkKICAgICAgICAgICAgIG1heFRp
bWVMb2FkZWQgPSBlbmRPZlJhbmdlOwogICAgIH0KQEAgLTE3OTUsOSArMTc5NSw5IEBAIHZvaWQg
QVZGV3JhcHBlcjo6c2Vla0NvbXBsZXRlZENhbGxiYWNrKEFWQ0ZQbGF5ZXJJdGVtUmVmLCBCb29s
ZWFuIGZpbmlzaGVkLCB2b2lkCiB2b2lkIEFWRldyYXBwZXI6OnNlZWtUb1RpbWUoY29uc3QgTWVk
aWFUaW1lJiB0aW1lLCBjb25zdCBNZWRpYVRpbWUmIG5lZ2F0aXZlVG9sZXJhbmNlLCBjb25zdCBN
ZWRpYVRpbWUmIHBvc2l0aXZlVG9sZXJhbmNlKQogewogICAgIEFTU0VSVChhdlBsYXllckl0ZW0o
KSk7Ci0gICAgQ01UaW1lIGNtVGltZSA9IHRvQ01UaW1lKHRpbWUpOwotICAgIENNVGltZSBjbUJl
Zm9yZSA9IHRvQ01UaW1lKG5lZ2F0aXZlVG9sZXJhbmNlKTsKLSAgICBDTVRpbWUgY21BZnRlciA9
IHRvQ01UaW1lKHBvc2l0aXZlVG9sZXJhbmNlKTsKKyAgICBDTVRpbWUgY21UaW1lID0gUEFMOjp0
b0NNVGltZSh0aW1lKTsKKyAgICBDTVRpbWUgY21CZWZvcmUgPSBQQUw6OnRvQ01UaW1lKG5lZ2F0
aXZlVG9sZXJhbmNlKTsKKyAgICBDTVRpbWUgY21BZnRlciA9IFBBTDo6dG9DTVRpbWUocG9zaXRp
dmVUb2xlcmFuY2UpOwogICAgIEFWQ0ZQbGF5ZXJJdGVtU2Vla1RvVGltZVdpdGhUb2xlcmFuY2VB
bmRDb21wbGV0aW9uQ2FsbGJhY2soYXZQbGF5ZXJJdGVtKCksIGNtVGltZSwgY21CZWZvcmUsIGNt
QWZ0ZXIsICZzZWVrQ29tcGxldGVkQ2FsbGJhY2ssIGNhbGxiYWNrQ29udGV4dCgpKTsKIH0KIApA
QCAtMTg1MSw3ICsxODUxLDcgQEAgdm9pZCBBVkZXcmFwcGVyOjpsZWdpYmxlT3V0cHV0Q2FsbGJh
Y2sodm9pZCogY29udGV4dCwgQVZDRlBsYXllckl0ZW1MZWdpYmxlT3V0cHUKIAogICAgIEFTU0VS
VChsZWdpYmxlT3V0cHV0ID09IHNlbGYtPm1fbGVnaWJsZU91dHB1dCk7CiAKLSAgICBhdXRvIGxl
Z2libGVPdXRwdXREYXRhID0gc3RkOjptYWtlX3VuaXF1ZTxMZWdpYmxlT3V0cHV0RGF0YT4oYXR0
cmlidXRlZFN0cmluZ3MsIG5hdGl2ZVNhbXBsZUJ1ZmZlcnMsIHRvTWVkaWFUaW1lKGl0ZW1UaW1l
KSwgY29udGV4dCk7CisgICAgYXV0byBsZWdpYmxlT3V0cHV0RGF0YSA9IHN0ZDo6bWFrZV91bmlx
dWU8TGVnaWJsZU91dHB1dERhdGE+KGF0dHJpYnV0ZWRTdHJpbmdzLCBuYXRpdmVTYW1wbGVCdWZm
ZXJzLCBQQUw6OnRvTWVkaWFUaW1lKGl0ZW1UaW1lKSwgY29udGV4dCk7CiAKICAgICBkaXNwYXRj
aF9hc3luY19mKGRpc3BhdGNoX2dldF9tYWluX3F1ZXVlKCksIGxlZ2libGVPdXRwdXREYXRhLnJl
bGVhc2UoKSwgcHJvY2Vzc0N1ZSk7CiB9CkBAIC0yMDYzLDcgKzIwNjMsNyBAQCBSZXRhaW5QdHI8
Q0dJbWFnZVJlZj4gQVZGV3JhcHBlcjo6Y3JlYXRlSW1hZ2VGb3JUaW1lSW5SZWN0KGNvbnN0IE1l
ZGlhVGltZSYgdGltZQogI2VuZGlmCiAKICAgICBBVkNGQXNzZXRJbWFnZUdlbmVyYXRvclNldE1h
eGltdW1TaXplKG1faW1hZ2VHZW5lcmF0b3IuZ2V0KCksIENHU2l6ZShyZWN0LnNpemUoKSkpOwot
ICAgIFJldGFpblB0cjxDR0ltYWdlUmVmPiByYXdpbWFnZSA9IGFkb3B0Q0YoQVZDRkFzc2V0SW1h
Z2VHZW5lcmF0b3JDb3B5Q0dJbWFnZUF0VGltZShtX2ltYWdlR2VuZXJhdG9yLmdldCgpLCB0b0NN
VGltZSh0aW1lKSwgMCwgMCkpOworICAgIFJldGFpblB0cjxDR0ltYWdlUmVmPiByYXdpbWFnZSA9
IGFkb3B0Q0YoQVZDRkFzc2V0SW1hZ2VHZW5lcmF0b3JDb3B5Q0dJbWFnZUF0VGltZShtX2ltYWdl
R2VuZXJhdG9yLmdldCgpLCBQQUw6OnRvQ01UaW1lKHRpbWUpLCAwLCAwKSk7CiAgICAgUmV0YWlu
UHRyPENHSW1hZ2VSZWY+IGltYWdlID0gYWRvcHRDRihDR0ltYWdlQ3JlYXRlQ29weVdpdGhDb2xv
clNwYWNlKHJhd2ltYWdlLmdldCgpLCBhZG9wdENGKENHQ29sb3JTcGFjZUNyZWF0ZURldmljZVJH
QigpKS5nZXQoKSkpOwogCiAjaWYgIUxPR19ESVNBQkxFRApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvSW1hZ2VEZWNvZGVyQVZG
T2JqQy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9v
YmpjL0ltYWdlRGVjb2RlckFWRk9iakMubW0KaW5kZXggMmM4MDIzYzExMTE1NjJkNGNlOTIyZjM3
MWQxOTU1NWY2NzJmN2JhMS4uNWZkZGI4NTIxMmZiOGI3ZWQwZjViYWUwOGQzMWMyYWVkZmM2YWJl
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL29iamMvSW1hZ2VEZWNvZGVyQVZGT2JqQy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9JbWFnZURlY29kZXJBVkZPYmpDLm1tCkBA
IC0zMyw3ICszMyw2IEBACiAjaW1wb3J0ICJGbG9hdFJlY3QuaCIKICNpbXBvcnQgIkZsb2F0U2l6
ZS5oIgogI2ltcG9ydCAiTUlNRVR5cGVSZWdpc3RyeS5oIgotI2ltcG9ydCAiTWVkaWFUaW1lQVZG
b3VuZGF0aW9uLmgiCiAjaW1wb3J0ICJTaGFyZWRCdWZmZXIuaCIKICNpbXBvcnQgIlVUSVV0aWxp
dGllcy5oIgogI2ltcG9ydCAiV2ViQ29yZURlY29tcHJlc3Npb25TZXNzaW9uLmgiCkBAIC00NSw2
ICs0NCw3IEBACiAjaW1wb3J0IDxBVkZvdW5kYXRpb24vQVZUaW1lLmg+CiAjaW1wb3J0IDxWaWRl
b1Rvb2xib3gvVlRVdGlsaXRpZXMuaD4KICNpbXBvcnQgPG1hcD4KKyNpbXBvcnQgPHBhbC9hdmZv
dW5kYXRpb24vTWVkaWFUaW1lQVZGb3VuZGF0aW9uLmg+CiAjaW1wb3J0IDx3dGYvTWFpblRocmVh
ZC5oPgogI2ltcG9ydCA8d3RmL01lZGlhVGltZS5oPgogI2ltcG9ydCA8d3RmL05ldmVyRGVzdHJv
eWVkLmg+CkBAIC0zMzgsOCArMzM4LDggQEAgdm9pZCBJbWFnZURlY29kZXJBVkZPYmpDOjpyZWFk
U2FtcGxlTWV0YWRhdGEoKQogICAgIGZvciAoc2l6ZV90IGluZGV4ID0gMDsgaW5kZXggPCBzdGF0
aWNfY2FzdDxzaXplX3Q+KHNhbXBsZUNvdW50KTsgKytpbmRleCkgewogICAgICAgICBhdXRvJiBz
YW1wbGVEYXRhID0gbV9zYW1wbGVEYXRhW2luZGV4XTsKICAgICAgICAgc2FtcGxlRGF0YS5kdXJh
dGlvbiA9IFNlY29uZHMoQ01UaW1lR2V0U2Vjb25kcyhbY3Vyc29yIGN1cnJlbnRTYW1wbGVEdXJh
dGlvbl0pKTsKLSAgICAgICAgc2FtcGxlRGF0YS5kZWNvZGVUaW1lID0gdG9NZWRpYVRpbWUoW2N1
cnNvciBkZWNvZGVUaW1lU3RhbXBdKTsKLSAgICAgICAgc2FtcGxlRGF0YS5wcmVzZW50YXRpb25U
aW1lID0gdG9NZWRpYVRpbWUoW2N1cnNvciBwcmVzZW50YXRpb25UaW1lU3RhbXBdKTsKKyAgICAg
ICAgc2FtcGxlRGF0YS5kZWNvZGVUaW1lID0gUEFMOjp0b01lZGlhVGltZShbY3Vyc29yIGRlY29k
ZVRpbWVTdGFtcF0pOworICAgICAgICBzYW1wbGVEYXRhLnByZXNlbnRhdGlvblRpbWUgPSBQQUw6
OnRvTWVkaWFUaW1lKFtjdXJzb3IgcHJlc2VudGF0aW9uVGltZVN0YW1wXSk7CiAgICAgICAgIGF1
dG8gcmVxdWVzdCA9IGFkb3B0TlMoW2FsbG9jQVZTYW1wbGVCdWZmZXJSZXF1ZXN0SW5zdGFuY2Uo
KSBpbml0V2l0aFN0YXJ0Q3Vyc29yOmN1cnNvci5nZXQoKV0pOwogICAgICAgICBzYW1wbGVEYXRh
LnNhbXBsZSA9IGFkb3B0Q0YoW21fZ2VuZXJhdG9yIGNyZWF0ZVNhbXBsZUJ1ZmZlckZvclJlcXVl
c3Q6cmVxdWVzdC5nZXQoKV0pOwogICAgICAgICBtX3ByZXNlbnRhdGlvblRpbWVUb0luZGV4Lmlu
c2VydChzdGQ6Om1ha2VfcGFpcihzYW1wbGVEYXRhLnByZXNlbnRhdGlvblRpbWUsIGluZGV4KSk7
CkBAIC0zNjgsNyArMzY4LDcgQEAgYm9vbCBJbWFnZURlY29kZXJBVkZPYmpDOjpzdG9yZVNhbXBs
ZUJ1ZmZlcihDTVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGVCdWZmZXIpCiAgICAgaWYgKCFwaXhlbEJ1
ZmZlcikKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgYXV0byBwcmVzZW50YXRpb25UaW1l
ID0gdG9NZWRpYVRpbWUoQ01TYW1wbGVCdWZmZXJHZXRQcmVzZW50YXRpb25UaW1lU3RhbXAoc2Ft
cGxlQnVmZmVyKSk7CisgICAgYXV0byBwcmVzZW50YXRpb25UaW1lID0gUEFMOjp0b01lZGlhVGlt
ZShDTVNhbXBsZUJ1ZmZlckdldFByZXNlbnRhdGlvblRpbWVTdGFtcChzYW1wbGVCdWZmZXIpKTsK
ICAgICBhdXRvIGluZGV4SXRlciA9IG1fcHJlc2VudGF0aW9uVGltZVRvSW5kZXguZmluZChwcmVz
ZW50YXRpb25UaW1lKTsKIAogICAgIGlmIChtX3JvdGF0aW9uICYmICFtX3JvdGF0aW9uLnZhbHVl
KCkuaXNJZGVudGl0eSgpKSB7CkBAIC01NDcsNyArNTQ3LDcgQEAgTmF0aXZlSW1hZ2VQdHIgSW1h
Z2VEZWNvZGVyQVZGT2JqQzo6Y3JlYXRlRnJhbWVJbWFnZUF0SW5kZXgoc2l6ZV90IGluZGV4LCBT
dWJzYW0KICAgICBpZiAoIW1fY3Vyc29yKQogICAgICAgICBtX2N1cnNvciA9IFttX3RyYWNrIG1h
a2VTYW1wbGVDdXJzb3JBdEZpcnN0U2FtcGxlSW5EZWNvZGVPcmRlcl07CiAKLSAgICBhdXRvIGZy
YW1lQ3Vyc29yID0gW21fdHJhY2sgbWFrZVNhbXBsZUN1cnNvcldpdGhQcmVzZW50YXRpb25UaW1l
U3RhbXA6dG9DTVRpbWUoc2FtcGxlRGF0YS5wcmVzZW50YXRpb25UaW1lKV07CisgICAgYXV0byBm
cmFtZUN1cnNvciA9IFttX3RyYWNrIG1ha2VTYW1wbGVDdXJzb3JXaXRoUHJlc2VudGF0aW9uVGlt
ZVN0YW1wOlBBTDo6dG9DTVRpbWUoc2FtcGxlRGF0YS5wcmVzZW50YXRpb25UaW1lKV07CiAgICAg
aWYgKFtmcmFtZUN1cnNvciBjb21wYXJlUG9zaXRpb25JbkRlY29kZU9yZGVyV2l0aFBvc2l0aW9u
T2ZDdXJzb3I6bV9jdXJzb3IuZ2V0KCldID09IE5TT3JkZXJlZEFzY2VuZGluZykgIHsKICAgICAg
ICAgLy8gUmV3aW5kIGN1cnNvciB0byB0aGUgbGFzdCBzeW5jIHNhbXBsZSB0byBiZWdpbiBkZWNv
ZGluZwogICAgICAgICBtX2N1cnNvciA9IFtmcmFtZUN1cnNvciBjb3B5XTsKQEAgLTU2Niw3ICs1
NjYsNyBAQCBOYXRpdmVJbWFnZVB0ciBJbWFnZURlY29kZXJBVkZPYmpDOjpjcmVhdGVGcmFtZUlt
YWdlQXRJbmRleChzaXplX3QgaW5kZXgsIFN1YnNhbQogICAgICAgICBpZiAoW2ZyYW1lQ3Vyc29y
IGNvbXBhcmVQb3NpdGlvbkluRGVjb2RlT3JkZXJXaXRoUG9zaXRpb25PZkN1cnNvcjptX2N1cnNv
ci5nZXQoKV0gPT0gTlNPcmRlcmVkQXNjZW5kaW5nKQogICAgICAgICAgICAgcmV0dXJuIG51bGxw
dHI7CiAKLSAgICAgICAgYXV0byBwcmVzZW50YXRpb25UaW1lID0gdG9NZWRpYVRpbWUobV9jdXJz
b3IuZ2V0KCkucHJlc2VudGF0aW9uVGltZVN0YW1wKTsKKyAgICAgICAgYXV0byBwcmVzZW50YXRp
b25UaW1lID0gUEFMOjp0b01lZGlhVGltZShtX2N1cnNvci5nZXQoKS5wcmVzZW50YXRpb25UaW1l
U3RhbXApOwogICAgICAgICBhdXRvIGluZGV4SXRlciA9IG1fcHJlc2VudGF0aW9uVGltZVRvSW5k
ZXguZmluZChwcmVzZW50YXRpb25UaW1lKTsKICAgICAgICAgYWR2YW5jZUN1cnNvcigpOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24v
b2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLm1tIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRl
QVZGb3VuZGF0aW9uT2JqQy5tbQppbmRleCBkOTk0MjdhNmJlZmM2MzViM2FlNDhhOGQ1NTBhZTZj
MThmNDA5ZGRjLi42YTNlZGExYTUwMWY1OTk1ZjFlNDRlZDIxNGQ1YjU2NTRmYmMxZDRlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2Jq
Yy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLm1tCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0
ZUFWRm91bmRhdGlvbk9iakMubW0KQEAgLTQ4LDcgKzQ4LDYgQEAKICNpbXBvcnQgIk1lZGlhUGxh
eWJhY2tUYXJnZXRNYWMuaCIKICNpbXBvcnQgIk1lZGlhUGxheWJhY2tUYXJnZXRNb2NrLmgiCiAj
aW1wb3J0ICJNZWRpYVNlbGVjdGlvbkdyb3VwQVZGT2JqQy5oIgotI2ltcG9ydCAiTWVkaWFUaW1l
QVZGb3VuZGF0aW9uLmgiCiAjaW1wb3J0ICJPdXRPZkJhbmRUZXh0VHJhY2tQcml2YXRlQVZGLmgi
CiAjaW1wb3J0ICJQaXhlbEJ1ZmZlckNvbmZvcm1lckNWLmgiCiAjaW1wb3J0ICJQbGF0Zm9ybVRp
bWVSYW5nZXMuaCIKQEAgLTY4LDYgKzY3LDcgQEAKICNpbXBvcnQgPGZ1bmN0aW9uYWw+CiAjaW1w
b3J0IDxtYXA+CiAjaW1wb3J0IDxvYmpjL3J1bnRpbWUuaD4KKyNpbXBvcnQgPHBhbC9hdmZvdW5k
YXRpb24vTWVkaWFUaW1lQVZGb3VuZGF0aW9uLmg+CiAjaW1wb3J0IDxwYWwvc3BpL2NvY29hL1F1
YXJ0ekNvcmVTUEkuaD4KICNpbXBvcnQgPHBhbC9zcGkvbWFjL0FWRm91bmRhdGlvblNQSS5oPgog
I2ltcG9ydCA8cnVudGltZS9EYXRhVmlldy5oPgpAQCAtMTM2Niw3ICsxMzY2LDcgQEAgTWVkaWFU
aW1lIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OnBsYXRmb3JtRHVyYXRpb24o
KSBjb25zdAogICAgICAgICBjbUR1cmF0aW9uID0gW21fYXZBc3NldC5nZXQoKSBkdXJhdGlvbl07
CiAKICAgICBpZiAoQ01USU1FX0lTX05VTUVSSUMoY21EdXJhdGlvbikpCi0gICAgICAgIHJldHVy
biB0b01lZGlhVGltZShjbUR1cmF0aW9uKTsKKyAgICAgICAgcmV0dXJuIFBBTDo6dG9NZWRpYVRp
bWUoY21EdXJhdGlvbik7CiAKICAgICBpZiAoQ01USU1FX0lTX0lOREVGSU5JVEUoY21EdXJhdGlv
bikpCiAgICAgICAgIHJldHVybiBNZWRpYVRpbWU6OnBvc2l0aXZlSW5maW5pdGVUaW1lKCk7CkBA
IC0xMzgyLDcgKzEzODIsNyBAQCBNZWRpYVRpbWUgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0
aW9uT2JqQzo6Y3VycmVudE1lZGlhVGltZSgpIGNvbnN0CiAKICAgICBDTVRpbWUgaXRlbVRpbWUg
PSBbbV9hdlBsYXllckl0ZW0uZ2V0KCkgY3VycmVudFRpbWVdOwogICAgIGlmIChDTVRJTUVfSVNf
TlVNRVJJQyhpdGVtVGltZSkpCi0gICAgICAgIHJldHVybiBzdGQ6Om1heCh0b01lZGlhVGltZShp
dGVtVGltZSksIE1lZGlhVGltZTo6emVyb1RpbWUoKSk7CisgICAgICAgIHJldHVybiBzdGQ6Om1h
eChQQUw6OnRvTWVkaWFUaW1lKGl0ZW1UaW1lKSwgTWVkaWFUaW1lOjp6ZXJvVGltZSgpKTsKIAog
ICAgIHJldHVybiBNZWRpYVRpbWU6Onplcm9UaW1lKCk7CiB9CkBAIC0xMzk1LDkgKzEzOTUsOSBA
QCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OnNlZWtUb1RpbWUoY29u
c3QgTWVkaWFUaW1lJiB0aW1lLCBjb25zdAogICAgIGlmIChtX21ldGFkYXRhVHJhY2spCiAgICAg
ICAgIG1fbWV0YWRhdGFUcmFjay0+Zmx1c2hQYXJ0aWFsQ3VlcygpOwogCi0gICAgQ01UaW1lIGNt
VGltZSA9IHRvQ01UaW1lKHRpbWUpOwotICAgIENNVGltZSBjbUJlZm9yZSA9IHRvQ01UaW1lKG5l
Z2F0aXZlVG9sZXJhbmNlKTsKLSAgICBDTVRpbWUgY21BZnRlciA9IHRvQ01UaW1lKHBvc2l0aXZl
VG9sZXJhbmNlKTsKKyAgICBDTVRpbWUgY21UaW1lID0gUEFMOjp0b0NNVGltZSh0aW1lKTsKKyAg
ICBDTVRpbWUgY21CZWZvcmUgPSBQQUw6OnRvQ01UaW1lKG5lZ2F0aXZlVG9sZXJhbmNlKTsKKyAg
ICBDTVRpbWUgY21BZnRlciA9IFBBTDo6dG9DTVRpbWUocG9zaXRpdmVUb2xlcmFuY2UpOwogCiAg
ICAgLy8gW0FWUGxheWVySXRlbSBzZWVrVG9UaW1lXSB3aWxsIHRocm93IGFuIGV4Y2VwdGlvbiBp
ZiB0b2xlcmFuY2VCZWZvcmUgaXMgbmVnYXRpdmUuCiAgICAgaWYgKENNVGltZUNvbXBhcmUoY21C
ZWZvcmUsIGtDTVRpbWVaZXJvKSA8IDApCkBAIC0xNTA2LDcgKzE1MDYsNyBAQCBzdGQ6OnVuaXF1
ZV9wdHI8UGxhdGZvcm1UaW1lUmFuZ2VzPiBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25P
YmpDOjpwbGF0Zm9ybQogICAgIGZvciAoTlNWYWx1ZSAqdGhpc1JhbmdlVmFsdWUgaW4gbV9jYWNo
ZWRMb2FkZWRSYW5nZXMuZ2V0KCkpIHsKICAgICAgICAgQ01UaW1lUmFuZ2UgdGltZVJhbmdlID0g
W3RoaXNSYW5nZVZhbHVlIENNVGltZVJhbmdlVmFsdWVdOwogICAgICAgICBpZiAoQ01USU1FUkFO
R0VfSVNfVkFMSUQodGltZVJhbmdlKSAmJiAhQ01USU1FUkFOR0VfSVNfRU1QVFkodGltZVJhbmdl
KSkKLSAgICAgICAgICAgIHRpbWVSYW5nZXMtPmFkZCh0b01lZGlhVGltZSh0aW1lUmFuZ2Uuc3Rh
cnQpLCB0b01lZGlhVGltZShDTVRpbWVSYW5nZUdldEVuZCh0aW1lUmFuZ2UpKSk7CisgICAgICAg
ICAgICB0aW1lUmFuZ2VzLT5hZGQoUEFMOjp0b01lZGlhVGltZSh0aW1lUmFuZ2Uuc3RhcnQpLCBQ
QUw6OnRvTWVkaWFUaW1lKENNVGltZVJhbmdlR2V0RW5kKHRpbWVSYW5nZSkpKTsKICAgICB9CiAg
ICAgcmV0dXJuIHRpbWVSYW5nZXM7CiB9CkBAIC0xNTI0LDcgKzE1MjQsNyBAQCBNZWRpYVRpbWUg
TWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6cGxhdGZvcm1NaW5UaW1lU2Vla2Fi
bGUoKSBjb25zdAogICAgICAgICAgICAgY29udGludWU7CiAKICAgICAgICAgaGFzVmFsaWRSYW5n
ZSA9IHRydWU7Ci0gICAgICAgIE1lZGlhVGltZSBzdGFydE9mUmFuZ2UgPSB0b01lZGlhVGltZSh0
aW1lUmFuZ2Uuc3RhcnQpOworICAgICAgICBNZWRpYVRpbWUgc3RhcnRPZlJhbmdlID0gUEFMOjp0
b01lZGlhVGltZSh0aW1lUmFuZ2Uuc3RhcnQpOwogICAgICAgICBpZiAobWluVGltZVNlZWthYmxl
ID4gc3RhcnRPZlJhbmdlKQogICAgICAgICAgICAgbWluVGltZVNlZWthYmxlID0gc3RhcnRPZlJh
bmdlOwogICAgIH0KQEAgLTE1NDIsNyArMTU0Miw3IEBAIE1lZGlhVGltZSBNZWRpYVBsYXllclBy
aXZhdGVBVkZvdW5kYXRpb25PYmpDOjpwbGF0Zm9ybU1heFRpbWVTZWVrYWJsZSgpIGNvbnN0CiAg
ICAgICAgIGlmICghQ01USU1FUkFOR0VfSVNfVkFMSUQodGltZVJhbmdlKSB8fCBDTVRJTUVSQU5H
RV9JU19FTVBUWSh0aW1lUmFuZ2UpKQogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIAot
ICAgICAgICBNZWRpYVRpbWUgZW5kT2ZSYW5nZSA9IHRvTWVkaWFUaW1lKENNVGltZVJhbmdlR2V0
RW5kKHRpbWVSYW5nZSkpOworICAgICAgICBNZWRpYVRpbWUgZW5kT2ZSYW5nZSA9IFBBTDo6dG9N
ZWRpYVRpbWUoQ01UaW1lUmFuZ2VHZXRFbmQodGltZVJhbmdlKSk7CiAgICAgICAgIGlmIChtYXhU
aW1lU2Vla2FibGUgPCBlbmRPZlJhbmdlKQogICAgICAgICAgICAgbWF4VGltZVNlZWthYmxlID0g
ZW5kT2ZSYW5nZTsKICAgICB9CkBAIC0xNTYwLDcgKzE1NjAsNyBAQCBNZWRpYVRpbWUgTWVkaWFQ
bGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6cGxhdGZvcm1NYXhUaW1lTG9hZGVkKCkgY29u
c3QKICAgICAgICAgaWYgKCFDTVRJTUVSQU5HRV9JU19WQUxJRCh0aW1lUmFuZ2UpIHx8IENNVElN
RVJBTkdFX0lTX0VNUFRZKHRpbWVSYW5nZSkpCiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAg
ICAgCi0gICAgICAgIE1lZGlhVGltZSBlbmRPZlJhbmdlID0gdG9NZWRpYVRpbWUoQ01UaW1lUmFu
Z2VHZXRFbmQodGltZVJhbmdlKSk7CisgICAgICAgIE1lZGlhVGltZSBlbmRPZlJhbmdlID0gUEFM
Ojp0b01lZGlhVGltZShDTVRpbWVSYW5nZUdldEVuZCh0aW1lUmFuZ2UpKTsKICAgICAgICAgaWYg
KG1heFRpbWVMb2FkZWQgPCBlbmRPZlJhbmdlKQogICAgICAgICAgICAgbWF4VGltZUxvYWRlZCA9
IGVuZE9mUmFuZ2U7CiAgICAgfQpAQCAtMzE4MywxNyArMzE4MywxNyBAQCB2b2lkIE1lZGlhUGxh
eWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6Om1ldGFkYXRhRGlkQXJyaXZlKFJldGFpblB0cjxO
U0FycmF5PiBtZQogICAgIC8vIFNldCB0aGUgZHVyYXRpb24gb2YgYWxsIGluY29tcGxldGUgY3Vl
cyBiZWZvcmUgYWRkaW5nIG5ldyBvbmVzLgogICAgIE1lZGlhVGltZSBlYXJsaWVzdFN0YXJ0VGlt
ZSA9IE1lZGlhVGltZTo6cG9zaXRpdmVJbmZpbml0ZVRpbWUoKTsKICAgICBmb3IgKEFWTWV0YWRh
dGFJdGVtVHlwZSAqaXRlbSBpbiBtX2N1cnJlbnRNZXRhRGF0YS5nZXQoKSkgewotICAgICAgICBN
ZWRpYVRpbWUgc3RhcnQgPSBzdGQ6Om1heCh0b01lZGlhVGltZShpdGVtLnRpbWUpLCBNZWRpYVRp
bWU6Onplcm9UaW1lKCkpOworICAgICAgICBNZWRpYVRpbWUgc3RhcnQgPSBzdGQ6Om1heChQQUw6
OnRvTWVkaWFUaW1lKGl0ZW0udGltZSksIE1lZGlhVGltZTo6emVyb1RpbWUoKSk7CiAgICAgICAg
IGlmIChzdGFydCA8IGVhcmxpZXN0U3RhcnRUaW1lKQogICAgICAgICAgICAgZWFybGllc3RTdGFy
dFRpbWUgPSBzdGFydDsKICAgICB9CiAgICAgbV9tZXRhZGF0YVRyYWNrLT51cGRhdGVQZW5kaW5n
Q3VlRW5kVGltZXMoZWFybGllc3RTdGFydFRpbWUpOwogCiAgICAgZm9yIChBVk1ldGFkYXRhSXRl
bVR5cGUgKml0ZW0gaW4gbV9jdXJyZW50TWV0YURhdGEuZ2V0KCkpIHsKLSAgICAgICAgTWVkaWFU
aW1lIHN0YXJ0ID0gc3RkOjptYXgodG9NZWRpYVRpbWUoaXRlbS50aW1lKSwgTWVkaWFUaW1lOjp6
ZXJvVGltZSgpKTsKKyAgICAgICAgTWVkaWFUaW1lIHN0YXJ0ID0gc3RkOjptYXgoUEFMOjp0b01l
ZGlhVGltZShpdGVtLnRpbWUpLCBNZWRpYVRpbWU6Onplcm9UaW1lKCkpOwogICAgICAgICBNZWRp
YVRpbWUgZW5kID0gTWVkaWFUaW1lOjpwb3NpdGl2ZUluZmluaXRlVGltZSgpOwogICAgICAgICBp
ZiAoQ01USU1FX0lTX1ZBTElEKGl0ZW0uZHVyYXRpb24pKQotICAgICAgICAgICAgZW5kID0gc3Rh
cnQgKyB0b01lZGlhVGltZShpdGVtLmR1cmF0aW9uKTsKKyAgICAgICAgICAgIGVuZCA9IHN0YXJ0
ICsgUEFMOjp0b01lZGlhVGltZShpdGVtLmR1cmF0aW9uKTsKIAogICAgICAgICBBdG9taWNTdHJp
bmcgdHlwZSA9IG51bGxBdG9tKCk7CiAgICAgICAgIGlmIChpdGVtLmtleVNwYWNlKQpAQCAtMzQ1
NiwxMiArMzQ1NiwxMiBAQCBOU0FycmF5KiBwbGF5ZXJLVk9Qcm9wZXJ0aWVzKCkKICAgICAgICAg
ZWxzZSBpZiAoW2tleVBhdGggaXNFcXVhbFRvU3RyaW5nOkAicHJlc2VudGF0aW9uU2l6ZSJdKQog
ICAgICAgICAgICAgZnVuY3Rpb24gPSBzdGQ6OmJpbmQoJk1lZGlhUGxheWVyUHJpdmF0ZUFWRm91
bmRhdGlvbk9iakM6OnByZXNlbnRhdGlvblNpemVEaWRDaGFuZ2UsIG1fY2FsbGJhY2ssIEZsb2F0
U2l6ZShbbmV3VmFsdWUgc2l6ZVZhbHVlXSkpOwogICAgICAgICBlbHNlIGlmIChba2V5UGF0aCBp
c0VxdWFsVG9TdHJpbmc6QCJkdXJhdGlvbiJdKQotICAgICAgICAgICAgZnVuY3Rpb24gPSBzdGQ6
OmJpbmQoJk1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OmR1cmF0aW9uRGlkQ2hh
bmdlLCBtX2NhbGxiYWNrLCB0b01lZGlhVGltZShbbmV3VmFsdWUgQ01UaW1lVmFsdWVdKSk7Cisg
ICAgICAgICAgICBmdW5jdGlvbiA9IHN0ZDo6YmluZCgmTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3Vu
ZGF0aW9uT2JqQzo6ZHVyYXRpb25EaWRDaGFuZ2UsIG1fY2FsbGJhY2ssIFBBTDo6dG9NZWRpYVRp
bWUoW25ld1ZhbHVlIENNVGltZVZhbHVlXSkpOwogICAgICAgICBlbHNlIGlmIChba2V5UGF0aCBp
c0VxdWFsVG9TdHJpbmc6QCJ0aW1lZE1ldGFkYXRhIl0gJiYgbmV3VmFsdWUpIHsKICAgICAgICAg
ICAgIE1lZGlhVGltZSBub3c7CiAgICAgICAgICAgICBDTVRpbWUgaXRlbVRpbWUgPSBbKEFWUGxh
eWVySXRlbVR5cGUgKilvYmplY3QgY3VycmVudFRpbWVdOwogICAgICAgICAgICAgaWYgKENNVElN
RV9JU19OVU1FUklDKGl0ZW1UaW1lKSkKLSAgICAgICAgICAgICAgICBub3cgPSBzdGQ6Om1heCh0
b01lZGlhVGltZShpdGVtVGltZSksIE1lZGlhVGltZTo6emVyb1RpbWUoKSk7CisgICAgICAgICAg
ICAgICAgbm93ID0gc3RkOjptYXgoUEFMOjp0b01lZGlhVGltZShpdGVtVGltZSksIE1lZGlhVGlt
ZTo6emVyb1RpbWUoKSk7CiAgICAgICAgICAgICBmdW5jdGlvbiA9IHN0ZDo6YmluZCgmTWVkaWFQ
bGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6bWV0YWRhdGFEaWRBcnJpdmUsIG1fY2FsbGJh
Y2ssIFJldGFpblB0cjxOU0FycmF5PihuZXdWYWx1ZSksIG5vdyk7CiAgICAgICAgICAgICBzaG91
bGRMb2dWYWx1ZSA9IGZhbHNlOwogICAgICAgICB9IGVsc2UgaWYgKFtrZXlQYXRoIGlzRXF1YWxU
b1N0cmluZzpAImNhblBsYXlGYXN0UmV2ZXJzZSJdKQpAQCAtMzQ5MCw3ICszNDkwLDcgQEAgTlNB
cnJheSogcGxheWVyS1ZPUHJvcGVydGllcygpCiAKICAgICAgICAgaWYgKHNob3VsZExvZ1ZhbHVl
KSB7CiAgICAgICAgICAgICBpZiAoW2tleVBhdGggaXNFcXVhbFRvU3RyaW5nOkAiZHVyYXRpb24i
XSkKLSAgICAgICAgICAgICAgICBtX2NhbGxiYWNrLT5sb2dnZXIoKS5kZWJ1ZyhtX2NhbGxiYWNr
LT5sb2dDaGFubmVsKCksIGlkZW50aWZpZXIsICJkaWQgY2hhbmdlICciLCBba2V5UGF0aCBVVEY4
U3RyaW5nXSwgIicgdG8gIiwgdG9NZWRpYVRpbWUoW25ld1ZhbHVlIENNVGltZVZhbHVlXSkpOwor
ICAgICAgICAgICAgICAgIG1fY2FsbGJhY2stPmxvZ2dlcigpLmRlYnVnKG1fY2FsbGJhY2stPmxv
Z0NoYW5uZWwoKSwgaWRlbnRpZmllciwgImRpZCBjaGFuZ2UgJyIsIFtrZXlQYXRoIFVURjhTdHJp
bmddLCAiJyB0byAiLCBQQUw6OnRvTWVkaWFUaW1lKFtuZXdWYWx1ZSBDTVRpbWVWYWx1ZV0pKTsK
ICAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgIFJldGFpblB0cjxOU1N0cmluZz4g
dmFsdWVTdHJpbmcgPSBhZG9wdE5TKFtbTlNTdHJpbmcgYWxsb2NdIGluaXRXaXRoRm9ybWF0OkAi
JUAiLCBuZXdWYWx1ZV0pOwogICAgICAgICAgICAgICAgIG1fY2FsbGJhY2stPmxvZ2dlcigpLmRl
YnVnKG1fY2FsbGJhY2stPmxvZ0NoYW5uZWwoKSwgaWRlbnRpZmllciwgImRpZCBjaGFuZ2UgJyIs
IFtrZXlQYXRoIFVURjhTdHJpbmddLCAiJyB0byAiLCBbdmFsdWVTdHJpbmcuZ2V0KCkgVVRGOFN0
cmluZ10pOwpAQCAtMzUzMCw3ICszNTMwLDcgQEAgTlNBcnJheSogcGxheWVyS1ZPUHJvcGVydGll
cygpCiAgICAgICAgIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMqIGNhbGxiYWNr
ID0gcHJvdGVjdGVkU2VsZi0+bV9jYWxsYmFjazsKICAgICAgICAgaWYgKCFjYWxsYmFjaykKICAg
ICAgICAgICAgIHJldHVybjsKLSAgICAgICAgTWVkaWFUaW1lIHRpbWUgPSBzdGQ6Om1heCh0b01l
ZGlhVGltZShpdGVtVGltZSksIE1lZGlhVGltZTo6emVyb1RpbWUoKSk7CisgICAgICAgIE1lZGlh
VGltZSB0aW1lID0gc3RkOjptYXgoUEFMOjp0b01lZGlhVGltZShpdGVtVGltZSksIE1lZGlhVGlt
ZTo6emVyb1RpbWUoKSk7CiAgICAgICAgIGNhbGxiYWNrLT5wcm9jZXNzQ3VlKHByb3RlY3RlZFN0
cmluZ3MuZ2V0KCksIHByb3RlY3RlZE5hdGl2ZVNhbXBsZXMuZ2V0KCksIHRpbWUpOwogICAgIH0p
OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3Vu
ZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1tIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5
ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1tCmluZGV4IDZhMjA0YTEyMGUwZjZjNzdmNGQ1
MTg1OTI1OTE4YjhkODI4YTExNTcuLjVjNjcxMTk3ZTJiNzlkOTdlYWUyOWVhYmIyNzAwZTU3Y2Q1
OWQyY2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5tbQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRp
YVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMubW0KQEAgLTM3LDcgKzM3LDYgQEAKICNp
bXBvcnQgIkxvZ2dpbmcuaCIKICNpbXBvcnQgIk1lZGlhU291cmNlUHJpdmF0ZUFWRk9iakMuaCIK
ICNpbXBvcnQgIk1lZGlhU291cmNlUHJpdmF0ZUNsaWVudC5oIgotI2ltcG9ydCAiTWVkaWFUaW1l
QVZGb3VuZGF0aW9uLmgiCiAjaW1wb3J0ICJQaXhlbEJ1ZmZlckNvbmZvcm1lckNWLmgiCiAjaW1w
b3J0ICJQbGF0Zm9ybUNsb2NrQ00uaCIKICNpbXBvcnQgIlRleHRUcmFja1JlcHJlc2VudGF0aW9u
LmgiCkBAIC00OSw2ICs0OCw3IEBACiAjaW1wb3J0IDxBVkZvdW5kYXRpb24vQVZUaW1lLmg+CiAj
aW1wb3J0IDxRdWFydHpDb3JlL0NBTGF5ZXIuaD4KICNpbXBvcnQgPG9iamNfcnVudGltZS5oPgor
I2ltcG9ydCA8cGFsL2F2Zm91bmRhdGlvbi9NZWRpYVRpbWVBVkZvdW5kYXRpb24uaD4KICNpbXBv
cnQgPHBhbC9zcGkvbWFjL0FWRm91bmRhdGlvblNQSS5oPgogI2ltcG9ydCA8d3RmL0RlcXVlLmg+
CiAjaW1wb3J0IDx3dGYvTWFpblRocmVhZC5oPgpAQCAtMTQ3LDcgKzE0Nyw3IEBAIE1lZGlhUGxh
eWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3Vy
Y2VBVkZPYmpDKE1lZGlhCiAgICAgLy8gYWRkUGVyaW9kaWNUaW1lT2JzZXJ2ZXJGb3JJbnRlcnZh
bDogdGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiB5b3UgcGFzcyBhIG5vbi1udW1lcmljIENNVGltZSwg
c28ganVzdCB1c2UKICAgICAvLyBhbiBhcmJpdHJhcmlseSBsYXJnZSB0aW1lIHZhbHVlIG9mIG9u
Y2UgYW4gaG91cjoKICAgICBfX2Jsb2NrIGF1dG8gd2Vha1RoaXMgPSBjcmVhdGVXZWFrUHRyKCk7
Ci0gICAgbV90aW1lSnVtcGVkT2JzZXJ2ZXIgPSBbbV9zeW5jaHJvbml6ZXIgYWRkUGVyaW9kaWNU
aW1lT2JzZXJ2ZXJGb3JJbnRlcnZhbDp0b0NNVGltZShNZWRpYVRpbWU6OmNyZWF0ZVdpdGhEb3Vi
bGUoMzYwMCkpIHF1ZXVlOmRpc3BhdGNoX2dldF9tYWluX3F1ZXVlKCkgdXNpbmdCbG9jazpeKENN
VGltZSB0aW1lKSB7CisgICAgbV90aW1lSnVtcGVkT2JzZXJ2ZXIgPSBbbV9zeW5jaHJvbml6ZXIg
YWRkUGVyaW9kaWNUaW1lT2JzZXJ2ZXJGb3JJbnRlcnZhbDpQQUw6OnRvQ01UaW1lKE1lZGlhVGlt
ZTo6Y3JlYXRlV2l0aERvdWJsZSgzNjAwKSkgcXVldWU6ZGlzcGF0Y2hfZ2V0X21haW5fcXVldWUo
KSB1c2luZ0Jsb2NrOl4oQ01UaW1lIHRpbWUpIHsKICNpZiBMT0dfRElTQUJMRUQKICAgICAgICAg
VU5VU0VEX1BBUkFNKHRpbWUpOwogI2VuZGlmCkBAIC0xNTYsNyArMTU2LDcgQEAgTWVkaWFQbGF5
ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJj
ZUFWRk9iakMoTWVkaWEKICAgICAgICAgICAgIHJldHVybjsKIAogICAgICAgICBpZiAobV9zZWVr
aW5nICYmICFtX3BlbmRpbmdTZWVrKSB7Ci0gICAgICAgICAgICBMT0coTWVkaWFTb3VyY2UsICJN
ZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6Om1fdGltZUp1bXBlZE9ic2VydmVy
KCVwKSAtIHRpbWUoJXMpIiwgd2Vha1RoaXMuZ2V0KCksIHRvU3RyaW5nKHRvTWVkaWFUaW1lKHRp
bWUpKS51dGY4KCkuZGF0YSgpKTsKKyAgICAgICAgICAgIExPRyhNZWRpYVNvdXJjZSwgIk1lZGlh
UGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6bV90aW1lSnVtcGVkT2JzZXJ2ZXIoJXAp
IC0gdGltZSglcykiLCB3ZWFrVGhpcy5nZXQoKSwgdG9TdHJpbmcoUEFMOjp0b01lZGlhVGltZSh0
aW1lKSkudXRmOCgpLmRhdGEoKSk7CiAgICAgICAgICAgICBtX3NlZWtpbmcgPSBmYWxzZTsKIAog
ICAgICAgICAgICAgaWYgKHNob3VsZEJlUGxheWluZygpKQpAQCAtMzg4LDcgKzM4OCw3IEBAIE1l
ZGlhVGltZSBNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OmR1cmF0aW9uTWVk
aWFUaW1lKCkgY29uc3QKIAogTWVkaWFUaW1lIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNl
QVZGT2JqQzo6Y3VycmVudE1lZGlhVGltZSgpIGNvbnN0CiB7Ci0gICAgTWVkaWFUaW1lIHN5bmNo
cm9uaXplclRpbWUgPSB0b01lZGlhVGltZShDTVRpbWViYXNlR2V0VGltZShbbV9zeW5jaHJvbml6
ZXIgdGltZWJhc2VdKSk7CisgICAgTWVkaWFUaW1lIHN5bmNocm9uaXplclRpbWUgPSBQQUw6OnRv
TWVkaWFUaW1lKENNVGltZWJhc2VHZXRUaW1lKFttX3N5bmNocm9uaXplciB0aW1lYmFzZV0pKTsK
ICAgICBpZiAoc3luY2hyb25pemVyVGltZSA8IE1lZGlhVGltZTo6emVyb1RpbWUoKSkKICAgICAg
ICAgcmV0dXJuIE1lZGlhVGltZTo6emVyb1RpbWUoKTsKICAgICBpZiAoc3luY2hyb25pemVyVGlt
ZSA8IG1fbGFzdFNlZWtUaW1lKQpAQCAtNDM2LDExICs0MzYsMTEgQEAgdm9pZCBNZWRpYVBsYXll
clByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OnNlZWtJbnRlcm5hbCgpCiAKICAgICBMT0coTWVk
aWFTb3VyY2UsICJNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OnNlZWtJbnRl
cm5hbCglcCkgLSBzZWVrVGltZSglcykiLCB0aGlzLCB0b1N0cmluZyhtX2xhc3RTZWVrVGltZSku
dXRmOCgpLmRhdGEoKSk7CiAKLSAgICBNZWRpYVRpbWUgc3luY2hyb25pemVyVGltZSA9IHRvTWVk
aWFUaW1lKENNVGltZWJhc2VHZXRUaW1lKFttX3N5bmNocm9uaXplciB0aW1lYmFzZV0pKTsKKyAg
ICBNZWRpYVRpbWUgc3luY2hyb25pemVyVGltZSA9IFBBTDo6dG9NZWRpYVRpbWUoQ01UaW1lYmFz
ZUdldFRpbWUoW21fc3luY2hyb25pemVyIHRpbWViYXNlXSkpOwogICAgIGJvb2wgZG9lc05vdFJl
cXVpcmVTZWVrID0gc3luY2hyb25pemVyVGltZSA9PSBtX2xhc3RTZWVrVGltZTsKIAogICAgIG1f
bWVkaWFTb3VyY2VQcml2YXRlLT53aWxsU2VlaygpOwotICAgIFttX3N5bmNocm9uaXplciBzZXRS
YXRlOjAgdGltZTp0b0NNVGltZShtX2xhc3RTZWVrVGltZSldOworICAgIFttX3N5bmNocm9uaXpl
ciBzZXRSYXRlOjAgdGltZTpQQUw6OnRvQ01UaW1lKG1fbGFzdFNlZWtUaW1lKV07CiAgICAgbV9t
ZWRpYVNvdXJjZVByaXZhdGUtPnNlZWtUb1RpbWUobV9sYXN0U2Vla1RpbWUpOwogCiAgICAgLy8g
SW4gY2FzZXMgd2hlcmUgdGhlIGRlc3RpbmF0aW9uIHNlZWsgdGltZSBwcmVjaXNlbHkgbWF0Y2hl
cyB0aGUgc3luY2hyb25pemVyJ3MgZXhpc3RpbmcgdGltZQpAQCAtODU5LDcgKzg1OSw3IEBAIHZv
aWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpkdXJhdGlvbkNoYW5nZWQo
KQogCiAgICAgTWVkaWFUaW1lIGR1cmF0aW9uID0gbV9tZWRpYVNvdXJjZVByaXZhdGUtPmR1cmF0
aW9uKCk7CiAgICAgYXV0byB3ZWFrVGhpcyA9IGNyZWF0ZVdlYWtQdHIoKTsKLSAgICBOU0FycmF5
KiB0aW1lcyA9IEBbW05TVmFsdWUgdmFsdWVXaXRoQ01UaW1lOnRvQ01UaW1lKGR1cmF0aW9uKV1d
OworICAgIE5TQXJyYXkqIHRpbWVzID0gQFtbTlNWYWx1ZSB2YWx1ZVdpdGhDTVRpbWU6UEFMOjp0
b0NNVGltZShkdXJhdGlvbildXTsKIAogICAgIExPRyhNZWRpYVNvdXJjZSwgIk1lZGlhUGxheWVy
UHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6ZHVyYXRpb25DaGFuZ2VkKCVwKSAtIGR1cmF0aW9u
ID0gJXMiLCB0aGlzLCB0b1N0cmluZyhkdXJhdGlvbikudXRmOCgpLmRhdGEoKSk7CiAKQEAgLTg3
Myw3ICs4NzMsNyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6
ZHVyYXRpb25DaGFuZ2VkKCkKICAgICAgICAgd2Vha1RoaXMtPnBhdXNlSW50ZXJuYWwoKTsKICAg
ICAgICAgaWYgKG5vdyA8IGR1cmF0aW9uKSB7CiAgICAgICAgICAgICBMT0coTWVkaWFTb3VyY2Us
ICIgICBFUlJPUjogYm91bmRhcnkgdGltZSBvYnNlcnZlciBjYWxsZWQgYmVmb3JlIGR1cmF0aW9u
ISIsIHdlYWtUaGlzLmdldCgpKTsKLSAgICAgICAgICAgIFt3ZWFrVGhpcy0+bV9zeW5jaHJvbml6
ZXIgc2V0UmF0ZTowIHRpbWU6dG9DTVRpbWUoZHVyYXRpb24pXTsKKyAgICAgICAgICAgIFt3ZWFr
VGhpcy0+bV9zeW5jaHJvbml6ZXIgc2V0UmF0ZTowIHRpbWU6UEFMOjp0b0NNVGltZShkdXJhdGlv
bildOwogICAgICAgICB9CiAgICAgICAgIHdlYWtUaGlzLT5tX3BsYXllci0+dGltZUNoYW5nZWQo
KTsKIApAQCAtODkxLDcgKzg5MSw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3Vy
Y2VBVkZPYmpDOjplZmZlY3RpdmVSYXRlQ2hhbmdlZCgpCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0
ZU1lZGlhU291cmNlQVZGT2JqQzo6c2l6ZVdpbGxDaGFuZ2VBdFRpbWUoY29uc3QgTWVkaWFUaW1l
JiB0aW1lLCBjb25zdCBGbG9hdFNpemUmIHNpemUpCiB7CiAgICAgYXV0byB3ZWFrVGhpcyA9IG1f
c2l6ZUNoYW5nZU9ic2VydmVyV2Vha1B0ckZhY3RvcnkuY3JlYXRlV2Vha1B0cigpOwotICAgIE5T
QXJyYXkqIHRpbWVzID0gQFtbTlNWYWx1ZSB2YWx1ZVdpdGhDTVRpbWU6dG9DTVRpbWUodGltZSld
XTsKKyAgICBOU0FycmF5KiB0aW1lcyA9IEBbW05TVmFsdWUgdmFsdWVXaXRoQ01UaW1lOlBBTDo6
dG9DTVRpbWUodGltZSldXTsKICAgICBSZXRhaW5QdHI8aWQ+IG9ic2VydmVyID0gW21fc3luY2hy
b25pemVyIGFkZEJvdW5kYXJ5VGltZU9ic2VydmVyRm9yVGltZXM6dGltZXMgcXVldWU6ZGlzcGF0
Y2hfZ2V0X21haW5fcXVldWUoKSB1c2luZ0Jsb2NrOlt0aGlzLCB3ZWFrVGhpcywgc2l6ZV0gewog
ICAgICAgICBpZiAoIXdlYWtUaGlzKQogICAgICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQ
bGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJl
YW1BVkZPYmpDLm1tCmluZGV4IGM0MmU0NjI2ZDY1MzZmNTkzNjYxMjcyYjhmOGQyNGMyNjRmMTUy
OWEuLjkwNTVkYmY5YmQ4YzAxMTViNjQ2ZDlhM2U4ZWM5YThjNmE3ODVhMjYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlh
UGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRp
YVN0cmVhbUFWRk9iakMubW0KQEAgLTMzLDEzICszMywxMyBAQAogI2ltcG9ydCAiR3JhcGhpY3ND
b250ZXh0Q0cuaCIKICNpbXBvcnQgIkxvZ2dpbmcuaCIKICNpbXBvcnQgIk1lZGlhU3RyZWFtUHJp
dmF0ZS5oIgotI2ltcG9ydCAiTWVkaWFUaW1lQVZGb3VuZGF0aW9uLmgiCiAjaW1wb3J0ICJQaXhl
bEJ1ZmZlckNvbmZvcm1lckNWLmgiCiAjaW1wb3J0ICJWaWRlb1RyYWNrUHJpdmF0ZU1lZGlhU3Ry
ZWFtLmgiCiAjaW1wb3J0IDxBVkZvdW5kYXRpb24vQVZTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIu
aD4KICNpbXBvcnQgPFF1YXJ0ekNvcmUvQ0FMYXllci5oPgogI2ltcG9ydCA8UXVhcnR6Q29yZS9D
QVRyYW5zYWN0aW9uLmg+CiAjaW1wb3J0IDxvYmpjX3J1bnRpbWUuaD4KKyNpbXBvcnQgPHBhbC9h
dmZvdW5kYXRpb24vTWVkaWFUaW1lQVZGb3VuZGF0aW9uLmg+CiAjaW1wb3J0IDxwYWwvc3BpL21h
Yy9BVkZvdW5kYXRpb25TUEkuaD4KICNpbXBvcnQgPHd0Zi9GdW5jdGlvbi5oPgogI2ltcG9ydCA8
d3RmL01haW5UaHJlYWQuaD4KQEAgLTMwNCw3ICszMDQsNyBAQCBNZWRpYVRpbWUgTWVkaWFQbGF5
ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDOjpjYWxjdWxhdGVUaW1lbGluZU9mZnNldChjb25z
dCBNZQogICAgICAgICBzYW1wbGVUaW1lID0gc2FtcGxlLnByZXNlbnRhdGlvblRpbWUoKTsKICAg
ICBNZWRpYVRpbWUgdGltZWxpbmVPZmZzZXQgPSBzdHJlYW1UaW1lKCkgLSBzYW1wbGVUaW1lICsg
TWVkaWFUaW1lOjpjcmVhdGVXaXRoRG91YmxlKGxhdGVuY3kpOwogICAgIGlmICh0aW1lbGluZU9m
ZnNldC50aW1lU2NhbGUoKSAhPSBzYW1wbGVUaW1lLnRpbWVTY2FsZSgpKQotICAgICAgICB0aW1l
bGluZU9mZnNldCA9IHRvTWVkaWFUaW1lKENNVGltZUNvbnZlcnRTY2FsZSh0b0NNVGltZSh0aW1l
bGluZU9mZnNldCksIHNhbXBsZVRpbWUudGltZVNjYWxlKCksIGtDTVRpbWVSb3VuZGluZ01ldGhv
ZF9EZWZhdWx0KSk7CisgICAgICAgIHRpbWVsaW5lT2Zmc2V0ID0gUEFMOjp0b01lZGlhVGltZShD
TVRpbWVDb252ZXJ0U2NhbGUoUEFMOjp0b0NNVGltZSh0aW1lbGluZU9mZnNldCksIHNhbXBsZVRp
bWUudGltZVNjYWxlKCksIGtDTVRpbWVSb3VuZGluZ01ldGhvZF9EZWZhdWx0KSk7CiAgICAgcmV0
dXJuIHRpbWVsaW5lT2Zmc2V0OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNhbXBsZUFWRk9iakMubW0gYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNh
bXBsZUFWRk9iakMubW0KaW5kZXggMGY4OTVhZTQzMzgxOWVjMmFhMjNmMDcyNGMwOTcyYmYwMzAy
M2IxZC4uMTA4OWE3OGEyYTc1YjNmNmQyYjBlN2QyYjE1YzExYWNmYzhkNjAzNCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVk
aWFTYW1wbGVBVkZPYmpDLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhU2FtcGxlQVZGT2JqQy5tbQpAQCAtNzQsMjcgKzc0LDI3
IEBAIFJlZlB0cjxNZWRpYVNhbXBsZUFWRk9iakM+IE1lZGlhU2FtcGxlQVZGT2JqQzo6Y3JlYXRl
SW1hZ2VTYW1wbGUoVmVjdG9yPHVpbnQ4X3Q+CiAKIE1lZGlhVGltZSBNZWRpYVNhbXBsZUFWRk9i
akM6OnByZXNlbnRhdGlvblRpbWUoKSBjb25zdAogewotICAgIHJldHVybiB0b01lZGlhVGltZShD
TVNhbXBsZUJ1ZmZlckdldFByZXNlbnRhdGlvblRpbWVTdGFtcChtX3NhbXBsZS5nZXQoKSkpOwor
ICAgIHJldHVybiBQQUw6OnRvTWVkaWFUaW1lKENNU2FtcGxlQnVmZmVyR2V0UHJlc2VudGF0aW9u
VGltZVN0YW1wKG1fc2FtcGxlLmdldCgpKSk7CiB9CiAKIE1lZGlhVGltZSBNZWRpYVNhbXBsZUFW
Rk9iakM6Om91dHB1dFByZXNlbnRhdGlvblRpbWUoKSBjb25zdAogewotICAgIHJldHVybiB0b01l
ZGlhVGltZShDTVNhbXBsZUJ1ZmZlckdldE91dHB1dFByZXNlbnRhdGlvblRpbWVTdGFtcChtX3Nh
bXBsZS5nZXQoKSkpOworICAgIHJldHVybiBQQUw6OnRvTWVkaWFUaW1lKENNU2FtcGxlQnVmZmVy
R2V0T3V0cHV0UHJlc2VudGF0aW9uVGltZVN0YW1wKG1fc2FtcGxlLmdldCgpKSk7CiB9CiAKIE1l
ZGlhVGltZSBNZWRpYVNhbXBsZUFWRk9iakM6OmRlY29kZVRpbWUoKSBjb25zdAogewotICAgIHJl
dHVybiB0b01lZGlhVGltZShDTVNhbXBsZUJ1ZmZlckdldERlY29kZVRpbWVTdGFtcChtX3NhbXBs
ZS5nZXQoKSkpOworICAgIHJldHVybiBQQUw6OnRvTWVkaWFUaW1lKENNU2FtcGxlQnVmZmVyR2V0
RGVjb2RlVGltZVN0YW1wKG1fc2FtcGxlLmdldCgpKSk7CiB9CiAKIE1lZGlhVGltZSBNZWRpYVNh
bXBsZUFWRk9iakM6OmR1cmF0aW9uKCkgY29uc3QKIHsKLSAgICByZXR1cm4gdG9NZWRpYVRpbWUo
Q01TYW1wbGVCdWZmZXJHZXREdXJhdGlvbihtX3NhbXBsZS5nZXQoKSkpOworICAgIHJldHVybiBQ
QUw6OnRvTWVkaWFUaW1lKENNU2FtcGxlQnVmZmVyR2V0RHVyYXRpb24obV9zYW1wbGUuZ2V0KCkp
KTsKIH0KIAogTWVkaWFUaW1lIE1lZGlhU2FtcGxlQVZGT2JqQzo6b3V0cHV0RHVyYXRpb24oKSBj
b25zdAogewotICAgIHJldHVybiB0b01lZGlhVGltZShDTVNhbXBsZUJ1ZmZlckdldE91dHB1dER1
cmF0aW9uKG1fc2FtcGxlLmdldCgpKSk7CisgICAgcmV0dXJuIFBBTDo6dG9NZWRpYVRpbWUoQ01T
YW1wbGVCdWZmZXJHZXRPdXRwdXREdXJhdGlvbihtX3NhbXBsZS5nZXQoKSkpOwogfQogCiBzaXpl
X3QgTWVkaWFTYW1wbGVBVkZPYmpDOjpzaXplSW5CeXRlcygpIGNvbnN0CkBAIC0xNzYsOCArMTc2
LDggQEAgdm9pZCBNZWRpYVNhbXBsZUFWRk9iakM6Om9mZnNldFRpbWVzdGFtcHNCeShjb25zdCBN
ZWRpYVRpbWUmIG9mZnNldCkKICAgICAgICAgcmV0dXJuOwogICAgIAogICAgIGZvciAoYXV0byYg
dGltaW5nIDogdGltaW5nSW5mb0FycmF5KSB7Ci0gICAgICAgIHRpbWluZy5wcmVzZW50YXRpb25U
aW1lU3RhbXAgPSB0b0NNVGltZSh0b01lZGlhVGltZSh0aW1pbmcucHJlc2VudGF0aW9uVGltZVN0
YW1wKSArIG9mZnNldCk7Ci0gICAgICAgIHRpbWluZy5kZWNvZGVUaW1lU3RhbXAgPSB0b0NNVGlt
ZSh0b01lZGlhVGltZSh0aW1pbmcuZGVjb2RlVGltZVN0YW1wKSArIG9mZnNldCk7CisgICAgICAg
IHRpbWluZy5wcmVzZW50YXRpb25UaW1lU3RhbXAgPSBQQUw6OnRvQ01UaW1lKFBBTDo6dG9NZWRp
YVRpbWUodGltaW5nLnByZXNlbnRhdGlvblRpbWVTdGFtcCkgKyBvZmZzZXQpOworICAgICAgICB0
aW1pbmcuZGVjb2RlVGltZVN0YW1wID0gUEFMOjp0b0NNVGltZShQQUw6OnRvTWVkaWFUaW1lKHRp
bWluZy5kZWNvZGVUaW1lU3RhbXApICsgb2Zmc2V0KTsKICAgICB9CiAgICAgCiAgICAgQ01TYW1w
bGVCdWZmZXJSZWYgbmV3U2FtcGxlOwpAQCAtMTk5LDggKzE5OSw4IEBAIHZvaWQgTWVkaWFTYW1w
bGVBVkZPYmpDOjpzZXRUaW1lc3RhbXBzKGNvbnN0IFdURjo6TWVkaWFUaW1lICZwcmVzZW50YXRp
b25UaW1lc3RhCiAgICAgICAgIHJldHVybjsKICAgICAKICAgICBmb3IgKGF1dG8mIHRpbWluZyA6
IHRpbWluZ0luZm9BcnJheSkgewotICAgICAgICB0aW1pbmcucHJlc2VudGF0aW9uVGltZVN0YW1w
ID0gdG9DTVRpbWUocHJlc2VudGF0aW9uVGltZXN0YW1wKTsKLSAgICAgICAgdGltaW5nLmRlY29k
ZVRpbWVTdGFtcCA9IHRvQ01UaW1lKGRlY29kZVRpbWVzdGFtcCk7CisgICAgICAgIHRpbWluZy5w
cmVzZW50YXRpb25UaW1lU3RhbXAgPSBQQUw6OnRvQ01UaW1lKHByZXNlbnRhdGlvblRpbWVzdGFt
cCk7CisgICAgICAgIHRpbWluZy5kZWNvZGVUaW1lU3RhbXAgPSBQQUw6OnRvQ01UaW1lKGRlY29k
ZVRpbWVzdGFtcCk7CiAgICAgfQogICAgIAogICAgIENNU2FtcGxlQnVmZmVyUmVmIG5ld1NhbXBs
ZTsKQEAgLTIyOSw3ICsyMjksNyBAQCBzdGQ6OnBhaXI8UmVmUHRyPE1lZGlhU2FtcGxlPiwgUmVm
UHRyPE1lZGlhU2FtcGxlPj4gTWVkaWFTYW1wbGVBVkZPYmpDOjpkaXZpZGUoYwogICAgIENGSW5k
ZXggc2FtcGxlc0JlZm9yZVByZXNlbnRhdGlvblRpbWUgPSAwOwogCiAgICAgQ01TYW1wbGVCdWZm
ZXJDYWxsQmxvY2tGb3JFYWNoU2FtcGxlKG1fc2FtcGxlLmdldCgpLCBbJl0gKENNU2FtcGxlQnVm
ZmVyUmVmIHNhbXBsZUJ1ZmZlciwgQ01JdGVtQ291bnQpIC0+IE9TU3RhdHVzIHsKLSAgICAgICAg
aWYgKHRvTWVkaWFUaW1lKENNU2FtcGxlQnVmZmVyR2V0UHJlc2VudGF0aW9uVGltZVN0YW1wKHNh
bXBsZUJ1ZmZlcikpID49IHByZXNlbnRhdGlvblRpbWUpCisgICAgICAgIGlmIChQQUw6OnRvTWVk
aWFUaW1lKENNU2FtcGxlQnVmZmVyR2V0UHJlc2VudGF0aW9uVGltZVN0YW1wKHNhbXBsZUJ1ZmZl
cikpID49IHByZXNlbnRhdGlvblRpbWUpCiAgICAgICAgICAgICByZXR1cm4gMTsKICAgICAgICAg
KytzYW1wbGVzQmVmb3JlUHJlc2VudGF0aW9uVGltZTsKICAgICAgICAgcmV0dXJuIG5vRXJyOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9u
L29iamMvU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9Tb3VyY2VCdWZmZXJQcml2YXRlQVZGT2Jq
Qy5tbQppbmRleCBjOTAwZTdlMGUwMGU0NzAxZTg1NTVkNTg5ZjQ4YTU0ZTczMDVmOGQzLi5jYjZi
MzUyYTZkM2E1NWNkMWZhNzI1Y2E4MGYzMjM4NDljNmNiOTlmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9Tb3VyY2VCdWZmZXJQ
cml2YXRlQVZGT2JqQy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9h
dmZvdW5kYXRpb24vb2JqYy9Tb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQy5tbQpAQCAtMzksNyAr
MzksNiBAQAogI2ltcG9ydCAiTWVkaWFTYW1wbGUuaCIKICNpbXBvcnQgIk1lZGlhU2FtcGxlQVZG
T2JqQy5oIgogI2ltcG9ydCAiTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQy5oIgotI2ltcG9ydCAi
TWVkaWFUaW1lQVZGb3VuZGF0aW9uLmgiCiAjaW1wb3J0ICJOb3RJbXBsZW1lbnRlZC5oIgogI2lt
cG9ydCAiU291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudC5oIgogI2ltcG9ydCAiVGltZVJhbmdlcy5o
IgpAQCAtNDksNiArNDgsNyBAQAogI2ltcG9ydCA8UXVhcnR6Q29yZS9DQUxheWVyLmg+CiAjaW1w
b3J0IDxtYXA+CiAjaW1wb3J0IDxvYmpjL3J1bnRpbWUuaD4KKyNpbXBvcnQgPHBhbC9hdmZvdW5k
YXRpb24vTWVkaWFUaW1lQVZGb3VuZGF0aW9uLmg+CiAjaW1wb3J0IDxwYWwvc3BpL21hYy9BVkZv
dW5kYXRpb25TUEkuaD4KICNpbXBvcnQgPHJ1bnRpbWUvVHlwZWRBcnJheUlubGluZXMuaD4KICNp
bXBvcnQgPHd0Zi9CbG9ja09iakNFeGNlcHRpb25zLmg+CkBAIC01MjYsMTAgKzUyNiwxMCBAQCB2
b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjpkaWRQYXJzZVN0cmVhbURhdGFBc0Fzc2V0
KEFWQXNzZXQqIGFzc2V0KQogICAgIFNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQ6OkluaXRpYWxp
emF0aW9uU2VnbWVudCBzZWdtZW50OwogCiAgICAgaWYgKFttX2Fzc2V0IHJlc3BvbmRzVG9TZWxl
Y3RvcjpAc2VsZWN0b3Iob3ZlcmFsbER1cmF0aW9uSGludCldKQotICAgICAgICBzZWdtZW50LmR1
cmF0aW9uID0gdG9NZWRpYVRpbWUoW21fYXNzZXQgb3ZlcmFsbER1cmF0aW9uSGludF0pOworICAg
ICAgICBzZWdtZW50LmR1cmF0aW9uID0gUEFMOjp0b01lZGlhVGltZShbbV9hc3NldCBvdmVyYWxs
RHVyYXRpb25IaW50XSk7CiAKICAgICBpZiAoc2VnbWVudC5kdXJhdGlvbi5pc0ludmFsaWQoKSB8
fCBzZWdtZW50LmR1cmF0aW9uID09IE1lZGlhVGltZTo6emVyb1RpbWUoKSkKLSAgICAgICAgc2Vn
bWVudC5kdXJhdGlvbiA9IHRvTWVkaWFUaW1lKFttX2Fzc2V0IGR1cmF0aW9uXSk7CisgICAgICAg
IHNlZ21lbnQuZHVyYXRpb24gPSBQQUw6OnRvTWVkaWFUaW1lKFttX2Fzc2V0IGR1cmF0aW9uXSk7
CiAKICAgICBmb3IgKEFWQXNzZXRUcmFjayogdHJhY2sgaW4gW21fYXNzZXQgdHJhY2tzXSkgewog
ICAgICAgICBpZiAoW3RyYWNrIGhhc01lZGlhQ2hhcmFjdGVyaXN0aWM6QVZNZWRpYUNoYXJhY3Rl
cmlzdGljTGVnaWJsZV0pIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NvY29hL1dlYkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lvbi5tbSBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lvbi5t
bQppbmRleCBlOWNkYzU0NWVjNzg2YjUyODkwNzQ0ZDQ4MzA2MjAxNWM4NTFjMWZhLi5lOThiODRl
YjY1MmEzYmFmODg5NjNkNWQzNWYwNWE5NmY5ZTE4M2VjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb24u
bW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViQ29yZURl
Y29tcHJlc3Npb25TZXNzaW9uLm1tCkBAIC0yOSwxMCArMjksMTAgQEAKICNpZiBVU0UoVklERU9U
T09MQk9YKQogCiAjaW1wb3J0ICJMb2dnaW5nLmgiCi0jaW1wb3J0ICJNZWRpYVRpbWVBVkZvdW5k
YXRpb24uaCIKICNpbXBvcnQgIlBpeGVsQnVmZmVyQ29uZm9ybWVyQ1YuaCIKICNpbXBvcnQgPENv
cmVNZWRpYS9DTUJ1ZmZlclF1ZXVlLmg+CiAjaW1wb3J0IDxDb3JlTWVkaWEvQ01Gb3JtYXREZXNj
cmlwdGlvbi5oPgorI2ltcG9ydCA8cGFsL2F2Zm91bmRhdGlvbi9NZWRpYVRpbWVBVkZvdW5kYXRp
b24uaD4KICNpbXBvcnQgPHd0Zi9NYWluVGhyZWFkLmg+CiAjaW1wb3J0IDx3dGYvTWVkaWFUaW1l
Lmg+CiAjaW1wb3J0IDx3dGYvU3RyaW5nUHJpbnRTdHJlYW0uaD4KQEAgLTMwNiw3ICszMDYsNyBA
QCB2b2lkIFdlYkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lvbjo6aGFuZGxlRGVjb21wcmVzc2lvbk91
dHB1dChib29sIGRpc3BsYXlpbmcsIE9TUwogICAgICAgICBhdXRvIGN1cnJlbnRUaW1lID0gQ01U
aW1lYmFzZUdldFRpbWUobV90aW1lYmFzZS5nZXQoKSk7CiAgICAgICAgIGF1dG8gY3VycmVudFJh
dGUgPSBDTVRpbWViYXNlR2V0UmF0ZShtX3RpbWViYXNlLmdldCgpKTsKICAgICAgICAgaWYgKGN1
cnJlbnRSYXRlID4gMCAmJiBDTVRpbWVDb21wYXJlKHByZXNlbnRhdGlvblRpbWVTdGFtcCwgY3Vy
cmVudFRpbWUpIDwgMCkKLSAgICAgICAgICAgIG1fdG90YWxGcmFtZURlbGF5ICs9IHRvTWVkaWFU
aW1lKENNVGltZVN1YnRyYWN0KGN1cnJlbnRUaW1lLCBwcmVzZW50YXRpb25UaW1lU3RhbXApKTsK
KyAgICAgICAgICAgIG1fdG90YWxGcmFtZURlbGF5ICs9IFBBTDo6dG9NZWRpYVRpbWUoQ01UaW1l
U3VidHJhY3QoY3VycmVudFRpbWUsIHByZXNlbnRhdGlvblRpbWVTdGFtcCkpOwogICAgIH0KIAog
ICAgIGRpc3BhdGNoX2FzeW5jKG1fZW5xdWVpbmdRdWV1ZS5nZXQoKSwgW3Byb3RlY3RlZFRoaXMg
PSBtYWtlUmVmUHRyKHRoaXMpLCBzdGF0dXMsIGltYWdlU2FtcGxlQnVmZmVyID0gYWRvcHRDRihy
YXdJbWFnZVNhbXBsZUJ1ZmZlciksIGluZm9GbGFncywgZGlzcGxheWluZ10gewpAQCAtMzM0LDE1
ICszMzQsMTUgQEAgdm9pZCBXZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb246OmF1dG9tYXRpY0Rl
cXVldWUoKQogICAgIGlmICghbV90aW1lYmFzZSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgYXV0
byB0aW1lID0gdG9NZWRpYVRpbWUoQ01UaW1lYmFzZUdldFRpbWUobV90aW1lYmFzZS5nZXQoKSkp
OworICAgIGF1dG8gdGltZSA9IFBBTDo6dG9NZWRpYVRpbWUoQ01UaW1lYmFzZUdldFRpbWUobV90
aW1lYmFzZS5nZXQoKSkpOwogICAgIExPRyhNZWRpYSwgIldlYkNvcmVEZWNvbXByZXNzaW9uU2Vz
c2lvbjo6YXV0b21hdGljRGVxdWV1ZSglcCkgLSBwdXJnaW5nIGFsbCBzYW1wbGVzIGJlZm9yZSB0
aW1lKCVzKSIsIHRoaXMsIHRvU3RyaW5nKHRpbWUpLnV0ZjgoKS5kYXRhKCkpOwogCiAgICAgTWVk
aWFUaW1lIG5leHRGaXJlVGltZSA9IE1lZGlhVGltZTo6cG9zaXRpdmVJbmZpbml0ZVRpbWUoKTsK
ICAgICBib29sIHJlbGVhc2VkSW1hZ2VCdWZmZXJzID0gZmFsc2U7CiAKICAgICB3aGlsZSAoQ01T
YW1wbGVCdWZmZXJSZWYgZmlyc3RTYW1wbGUgPSAoQ01TYW1wbGVCdWZmZXJSZWYpQ01CdWZmZXJR
dWV1ZUdldEhlYWQobV9wcm9kdWNlclF1ZXVlLmdldCgpKSkgewotICAgICAgICBNZWRpYVRpbWUg
cHJlc2VudGF0aW9uVGltZXN0YW1wID0gdG9NZWRpYVRpbWUoQ01TYW1wbGVCdWZmZXJHZXRQcmVz
ZW50YXRpb25UaW1lU3RhbXAoZmlyc3RTYW1wbGUpKTsKLSAgICAgICAgTWVkaWFUaW1lIGR1cmF0
aW9uID0gdG9NZWRpYVRpbWUoQ01TYW1wbGVCdWZmZXJHZXREdXJhdGlvbihmaXJzdFNhbXBsZSkp
OworICAgICAgICBNZWRpYVRpbWUgcHJlc2VudGF0aW9uVGltZXN0YW1wID0gUEFMOjp0b01lZGlh
VGltZShDTVNhbXBsZUJ1ZmZlckdldFByZXNlbnRhdGlvblRpbWVTdGFtcChmaXJzdFNhbXBsZSkp
OworICAgICAgICBNZWRpYVRpbWUgZHVyYXRpb24gPSBQQUw6OnRvTWVkaWFUaW1lKENNU2FtcGxl
QnVmZmVyR2V0RHVyYXRpb24oZmlyc3RTYW1wbGUpKTsKICAgICAgICAgTWVkaWFUaW1lIHByZXNl
bnRhdGlvbkVuZFRpbWVzdGFtcCA9IHByZXNlbnRhdGlvblRpbWVzdGFtcCArIGR1cmF0aW9uOwog
ICAgICAgICBpZiAodGltZSA+IHByZXNlbnRhdGlvbkVuZFRpbWVzdGFtcCkgewogICAgICAgICAg
ICAgQ0ZSZWxlYXNlKENNQnVmZmVyUXVldWVEZXF1ZXVlQW5kUmV0YWluKG1fcHJvZHVjZXJRdWV1
ZS5nZXQoKSkpOwpAQCAtMzUxLDggKzM1MSw4IEBAIHZvaWQgV2ViQ29yZURlY29tcHJlc3Npb25T
ZXNzaW9uOjphdXRvbWF0aWNEZXF1ZXVlKCkKICAgICAgICAgfQogCiAjaWYgIUxPR19ESVNBQkxF
RAotICAgICAgICBhdXRvIGJlZ2luID0gdG9NZWRpYVRpbWUoQ01CdWZmZXJRdWV1ZUdldEZpcnN0
UHJlc2VudGF0aW9uVGltZVN0YW1wKG1fcHJvZHVjZXJRdWV1ZS5nZXQoKSkpOwotICAgICAgICBh
dXRvIGVuZCA9IHRvTWVkaWFUaW1lKENNQnVmZmVyUXVldWVHZXRFbmRQcmVzZW50YXRpb25UaW1l
U3RhbXAobV9wcm9kdWNlclF1ZXVlLmdldCgpKSk7CisgICAgICAgIGF1dG8gYmVnaW4gPSBQQUw6
OnRvTWVkaWFUaW1lKENNQnVmZmVyUXVldWVHZXRGaXJzdFByZXNlbnRhdGlvblRpbWVTdGFtcCht
X3Byb2R1Y2VyUXVldWUuZ2V0KCkpKTsKKyAgICAgICAgYXV0byBlbmQgPSBQQUw6OnRvTWVkaWFU
aW1lKENNQnVmZmVyUXVldWVHZXRFbmRQcmVzZW50YXRpb25UaW1lU3RhbXAobV9wcm9kdWNlclF1
ZXVlLmdldCgpKSk7CiAgICAgICAgIExPRyhNZWRpYSwgIldlYkNvcmVEZWNvbXByZXNzaW9uU2Vz
c2lvbjo6YXV0b21hdGljRGVxdWV1ZSglcCkgLSBxdWV1ZSglcyAtPiAlcykiLCB0aGlzLCB0b1N0
cmluZyhiZWdpbikudXRmOCgpLmRhdGEoKSwgdG9TdHJpbmcoZW5kKS51dGY4KCkuZGF0YSgpKTsK
ICNlbmRpZgogCkBAIC0zNjQsNyArMzY0LDcgQEAgdm9pZCBXZWJDb3JlRGVjb21wcmVzc2lvblNl
c3Npb246OmF1dG9tYXRpY0RlcXVldWUoKQogICAgICAgICBtYXliZUJlY29tZVJlYWR5Rm9yTW9y
ZU1lZGlhRGF0YSgpOwogCiAgICAgTE9HKE1lZGlhLCAiV2ViQ29yZURlY29tcHJlc3Npb25TZXNz
aW9uOjphdXRvbWF0aWNEZXF1ZXVlKCVwKSAtIHF1ZXVlIGVtcHR5IiwgdGhpcywgdG9TdHJpbmco
dGltZSkudXRmOCgpLmRhdGEoKSk7Ci0gICAgQ01UaW1lYmFzZVNldFRpbWVyRGlzcGF0Y2hTb3Vy
Y2VOZXh0RmlyZVRpbWUobV90aW1lYmFzZS5nZXQoKSwgbV90aW1lclNvdXJjZS5nZXQoKSwgdG9D
TVRpbWUobmV4dEZpcmVUaW1lKSwgMCk7CisgICAgQ01UaW1lYmFzZVNldFRpbWVyRGlzcGF0Y2hT
b3VyY2VOZXh0RmlyZVRpbWUobV90aW1lYmFzZS5nZXQoKSwgbV90aW1lclNvdXJjZS5nZXQoKSwg
UEFMOjp0b0NNVGltZShuZXh0RmlyZVRpbWUpLCAwKTsKIH0KIAogdm9pZCBXZWJDb3JlRGVjb21w
cmVzc2lvblNlc3Npb246OmVucXVldWVEZWNvZGVkU2FtcGxlKENNU2FtcGxlQnVmZmVyUmVmIHNh
bXBsZSwgYm9vbCBkaXNwbGF5aW5nKQpAQCAtMzgyLDkgKzM4Miw5IEBAIHZvaWQgV2ViQ29yZURl
Y29tcHJlc3Npb25TZXNzaW9uOjplbnF1ZXVlRGVjb2RlZFNhbXBsZShDTVNhbXBsZUJ1ZmZlclJl
ZiBzYW1wbGUsCiAgICAgQ01CdWZmZXJRdWV1ZUVucXVldWUobV9wcm9kdWNlclF1ZXVlLmdldCgp
LCBzYW1wbGUpOwogCiAjaWYgIUxPR19ESVNBQkxFRAotICAgIGF1dG8gYmVnaW4gPSB0b01lZGlh
VGltZShDTUJ1ZmZlclF1ZXVlR2V0Rmlyc3RQcmVzZW50YXRpb25UaW1lU3RhbXAobV9wcm9kdWNl
clF1ZXVlLmdldCgpKSk7Ci0gICAgYXV0byBlbmQgPSB0b01lZGlhVGltZShDTUJ1ZmZlclF1ZXVl
R2V0RW5kUHJlc2VudGF0aW9uVGltZVN0YW1wKG1fcHJvZHVjZXJRdWV1ZS5nZXQoKSkpOwotICAg
IGF1dG8gcHJlc2VudGF0aW9uVGltZSA9IHRvTWVkaWFUaW1lKENNU2FtcGxlQnVmZmVyR2V0UHJl
c2VudGF0aW9uVGltZVN0YW1wKHNhbXBsZSkpOworICAgIGF1dG8gYmVnaW4gPSBQQUw6OnRvTWVk
aWFUaW1lKENNQnVmZmVyUXVldWVHZXRGaXJzdFByZXNlbnRhdGlvblRpbWVTdGFtcChtX3Byb2R1
Y2VyUXVldWUuZ2V0KCkpKTsKKyAgICBhdXRvIGVuZCA9IFBBTDo6dG9NZWRpYVRpbWUoQ01CdWZm
ZXJRdWV1ZUdldEVuZFByZXNlbnRhdGlvblRpbWVTdGFtcChtX3Byb2R1Y2VyUXVldWUuZ2V0KCkp
KTsKKyAgICBhdXRvIHByZXNlbnRhdGlvblRpbWUgPSBQQUw6OnRvTWVkaWFUaW1lKENNU2FtcGxl
QnVmZmVyR2V0UHJlc2VudGF0aW9uVGltZVN0YW1wKHNhbXBsZSkpOwogICAgIExPRyhNZWRpYSwg
IldlYkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lvbjo6ZW5xdWV1ZURlY29kZWRTYW1wbGUoJXApIC0g
cHJlc2VudGF0aW9uVGltZSglcyksIGZyYW1lc0JlaW5nRGVjb2RlZCglZCksIHByb2R1Y2VyUXVl
dWUoJXMgLT4gJXMpIiwgdGhpcywgdG9TdHJpbmcocHJlc2VudGF0aW9uVGltZSkudXRmOCgpLmRh
dGEoKSwgbV9mcmFtZXNCZWluZ0RlY29kZWQsIHRvU3RyaW5nKGJlZ2luKS51dGY4KCkuZGF0YSgp
LCB0b1N0cmluZyhlbmQpLnV0ZjgoKS5kYXRhKCkpOwogI2VuZGlmCiAKQEAgLTM5NSw5ICszOTUs
OSBAQCB2b2lkIFdlYkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lvbjo6ZW5xdWV1ZURlY29kZWRTYW1w
bGUoQ01TYW1wbGVCdWZmZXJSZWYgc2FtcGxlLAogICAgICAgICByZXR1cm47CiAKICAgICBpZiAo
bV90aW1lYmFzZSkgewotICAgICAgICBhdXRvIGN1cnJlbnRUaW1lID0gdG9NZWRpYVRpbWUoQ01U
aW1lYmFzZUdldFRpbWUobV90aW1lYmFzZS5nZXQoKSkpOwotICAgICAgICBhdXRvIHByZXNlbnRh
dGlvblN0YXJ0VGltZSA9IHRvTWVkaWFUaW1lKENNU2FtcGxlQnVmZmVyR2V0UHJlc2VudGF0aW9u
VGltZVN0YW1wKHNhbXBsZSkpOwotICAgICAgICBhdXRvIHByZXNlbnRhdGlvbkVuZFRpbWUgPSBw
cmVzZW50YXRpb25TdGFydFRpbWUgKyB0b01lZGlhVGltZShDTVNhbXBsZUJ1ZmZlckdldER1cmF0
aW9uKHNhbXBsZSkpOworICAgICAgICBhdXRvIGN1cnJlbnRUaW1lID0gUEFMOjp0b01lZGlhVGlt
ZShDTVRpbWViYXNlR2V0VGltZShtX3RpbWViYXNlLmdldCgpKSk7CisgICAgICAgIGF1dG8gcHJl
c2VudGF0aW9uU3RhcnRUaW1lID0gUEFMOjp0b01lZGlhVGltZShDTVNhbXBsZUJ1ZmZlckdldFBy
ZXNlbnRhdGlvblRpbWVTdGFtcChzYW1wbGUpKTsKKyAgICAgICAgYXV0byBwcmVzZW50YXRpb25F
bmRUaW1lID0gcHJlc2VudGF0aW9uU3RhcnRUaW1lICsgUEFMOjp0b01lZGlhVGltZShDTVNhbXBs
ZUJ1ZmZlckdldER1cmF0aW9uKHNhbXBsZSkpOwogICAgICAgICBpZiAoY3VycmVudFRpbWUgPCBw
cmVzZW50YXRpb25TdGFydFRpbWUgfHwgY3VycmVudFRpbWUgPj0gcHJlc2VudGF0aW9uRW5kVGlt
ZSkKICAgICAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC00NTQsOCArNDU0LDggQEAgUmV0YWlu
UHRyPENWUGl4ZWxCdWZmZXJSZWY+IFdlYkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lvbjo6aW1hZ2VG
b3JUaW1lKGNvbnN0IE1lZGkKICAgICBib29sIGFsbG93RWFybGllciA9IGZsYWdzID09IFdlYkNv
cmVEZWNvbXByZXNzaW9uU2Vzc2lvbjo6QWxsb3dFYXJsaWVyOwogICAgIGJvb2wgYWxsb3dMYXRl
ciA9IGZsYWdzID09IFdlYkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lvbjo6QWxsb3dMYXRlcjsKIAot
ICAgIE1lZGlhVGltZSBzdGFydFRpbWUgPSB0b01lZGlhVGltZShDTUJ1ZmZlclF1ZXVlR2V0Rmly
c3RQcmVzZW50YXRpb25UaW1lU3RhbXAobV9wcm9kdWNlclF1ZXVlLmdldCgpKSk7Ci0gICAgTWVk
aWFUaW1lIGVuZFRpbWUgPSB0b01lZGlhVGltZShDTUJ1ZmZlclF1ZXVlR2V0RW5kUHJlc2VudGF0
aW9uVGltZVN0YW1wKG1fcHJvZHVjZXJRdWV1ZS5nZXQoKSkpOworICAgIE1lZGlhVGltZSBzdGFy
dFRpbWUgPSBQQUw6OnRvTWVkaWFUaW1lKENNQnVmZmVyUXVldWVHZXRGaXJzdFByZXNlbnRhdGlv
blRpbWVTdGFtcChtX3Byb2R1Y2VyUXVldWUuZ2V0KCkpKTsKKyAgICBNZWRpYVRpbWUgZW5kVGlt
ZSA9IFBBTDo6dG9NZWRpYVRpbWUoQ01CdWZmZXJRdWV1ZUdldEVuZFByZXNlbnRhdGlvblRpbWVT
dGFtcChtX3Byb2R1Y2VyUXVldWUuZ2V0KCkpKTsKICAgICBpZiAoIWFsbG93TGF0ZXIgJiYgdGlt
ZSA8IHN0YXJ0VGltZSkgewogICAgICAgICBMT0coTWVkaWEsICJXZWJDb3JlRGVjb21wcmVzc2lv
blNlc3Npb246OmltYWdlRm9yVGltZSglcCkgLSB0aW1lKCVzKSB0b28gZWFybHkgZm9yIHF1ZXVl
KCVzIC0+ICVzKSIsIHRoaXMsIHRvU3RyaW5nKHRpbWUpLnV0ZjgoKS5kYXRhKCksIHRvU3RyaW5n
KHN0YXJ0VGltZSkudXRmOCgpLmRhdGEoKSwgdG9TdHJpbmcoZW5kVGltZSkudXRmOCgpLmRhdGEo
KSk7CiAgICAgICAgIHJldHVybiBudWxscHRyOwpAQCAtNDY0LDggKzQ2NCw4IEBAIFJldGFpblB0
cjxDVlBpeGVsQnVmZmVyUmVmPiBXZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb246OmltYWdlRm9y
VGltZShjb25zdCBNZWRpCiAgICAgYm9vbCByZWxlYXNlZEltYWdlQnVmZmVycyA9IGZhbHNlOwog
CiAgICAgd2hpbGUgKENNU2FtcGxlQnVmZmVyUmVmIGZpcnN0U2FtcGxlID0gKENNU2FtcGxlQnVm
ZmVyUmVmKUNNQnVmZmVyUXVldWVHZXRIZWFkKG1fcHJvZHVjZXJRdWV1ZS5nZXQoKSkpIHsKLSAg
ICAgICAgTWVkaWFUaW1lIHByZXNlbnRhdGlvblRpbWVzdGFtcCA9IHRvTWVkaWFUaW1lKENNU2Ft
cGxlQnVmZmVyR2V0UHJlc2VudGF0aW9uVGltZVN0YW1wKGZpcnN0U2FtcGxlKSk7Ci0gICAgICAg
IE1lZGlhVGltZSBkdXJhdGlvbiA9IHRvTWVkaWFUaW1lKENNU2FtcGxlQnVmZmVyR2V0RHVyYXRp
b24oZmlyc3RTYW1wbGUpKTsKKyAgICAgICAgTWVkaWFUaW1lIHByZXNlbnRhdGlvblRpbWVzdGFt
cCA9IFBBTDo6dG9NZWRpYVRpbWUoQ01TYW1wbGVCdWZmZXJHZXRQcmVzZW50YXRpb25UaW1lU3Rh
bXAoZmlyc3RTYW1wbGUpKTsKKyAgICAgICAgTWVkaWFUaW1lIGR1cmF0aW9uID0gUEFMOjp0b01l
ZGlhVGltZShDTVNhbXBsZUJ1ZmZlckdldER1cmF0aW9uKGZpcnN0U2FtcGxlKSk7CiAgICAgICAg
IE1lZGlhVGltZSBwcmVzZW50YXRpb25FbmRUaW1lc3RhbXAgPSBwcmVzZW50YXRpb25UaW1lc3Rh
bXAgKyBkdXJhdGlvbjsKICAgICAgICAgaWYgKCFhbGxvd0xhdGVyICYmIHByZXNlbnRhdGlvblRp
bWVzdGFtcCA+IHRpbWUpCiAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9QbGF0Zm9ybUNsb2NrQ00ubW0gYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tYWMvUGxhdGZvcm1DbG9ja0NNLm1tCmluZGV4IGY2MTIyOGMxNTk4
MjE0MjFmM2QyNDA2ZTk1ZDgzMTU1NjlmOTUxZTkuLjY5NDg1ZGE4ZDQxYmFjYjVkNzkwODlkZWJk
ZDNjMDFmMWEwNzJmMTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9Q
bGF0Zm9ybUNsb2NrQ00ubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1BsYXRm
b3JtQ2xvY2tDTS5tbQpAQCAtMjksNyArMjksNyBAQAogCiAjaW1wb3J0ICJQbGF0Zm9ybUNsb2Nr
Q00uaCIKIAotI2ltcG9ydCAiTWVkaWFUaW1lQVZGb3VuZGF0aW9uLmgiCisjaW1wb3J0IDxwYWwv
YXZmb3VuZGF0aW9uL01lZGlhVGltZUFWRm91bmRhdGlvbi5oPgogCiAjaW1wb3J0ICJDb3JlTWVk
aWFTb2Z0TGluay5oIgogCkBAIC04MSwxMiArODEsMTIgQEAgZG91YmxlIFBsYXRmb3JtQ2xvY2tD
TTo6Y3VycmVudFRpbWUoKSBjb25zdAogCiB2b2lkIFBsYXRmb3JtQ2xvY2tDTTo6c2V0Q3VycmVu
dE1lZGlhVGltZShjb25zdCBNZWRpYVRpbWUmIHRpbWUpCiB7Ci0gICAgQ01UaW1lYmFzZVNldFRp
bWUobV90aW1lYmFzZS5nZXQoKSwgdG9DTVRpbWUodGltZSkpOworICAgIENNVGltZWJhc2VTZXRU
aW1lKG1fdGltZWJhc2UuZ2V0KCksIFBBTDo6dG9DTVRpbWUodGltZSkpOwogfQogCiBNZWRpYVRp
bWUgUGxhdGZvcm1DbG9ja0NNOjpjdXJyZW50TWVkaWFUaW1lKCkgY29uc3QKIHsKLSAgICByZXR1
cm4gdG9NZWRpYVRpbWUoQ01UaW1lYmFzZUdldFRpbWUobV90aW1lYmFzZS5nZXQoKSkpOworICAg
IHJldHVybiBQQUw6OnRvTWVkaWFUaW1lKENNVGltZWJhc2VHZXRUaW1lKG1fdGltZWJhc2UuZ2V0
KCkpKTsKIH0KIAogdm9pZCBQbGF0Zm9ybUNsb2NrQ006OnNldFBsYXlSYXRlKGRvdWJsZSByYXRl
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1BsYXliYWNrU2Vzc2lv
bkludGVyZmFjZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9QbGF5YmFja1Nl
c3Npb25JbnRlcmZhY2VNYWMubW0KaW5kZXggMmU3MmFmZmViYzMyODYxM2EyN2Y1MTBhZWE4Y2Rj
ODQ2ZjE5NmY0ZS4uMjBlNjBmZGUxMjU3Njg0OTFiMjllMmQ3ZGNiMDFmNGQxZDZkODhlZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1BsYXliYWNrU2Vzc2lvbkludGVy
ZmFjZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUGxheWJhY2tTZXNz
aW9uSW50ZXJmYWNlTWFjLm1tCkBAIC0zMCwxMSArMzAsMTEgQEAKIAogI2ltcG9ydCAiSW50UmVj
dC5oIgogI2ltcG9ydCAiTWVkaWFTZWxlY3Rpb25PcHRpb24uaCIKLSNpbXBvcnQgIk1lZGlhVGlt
ZUFWRm91bmRhdGlvbi5oIgogI2ltcG9ydCAiUGxheWJhY2tTZXNzaW9uTW9kZWwuaCIKICNpbXBv
cnQgIlRpbWVSYW5nZXMuaCIKICNpbXBvcnQgIldlYlBsYXliYWNrQ29udHJvbHNNYW5hZ2VyLmgi
CiAjaW1wb3J0IDxBVkZvdW5kYXRpb24vQVZUaW1lLmg+CisjaW1wb3J0IDxwYWwvYXZmb3VuZGF0
aW9uL01lZGlhVGltZUFWRm91bmRhdGlvbi5oPgogI2ltcG9ydCA8cGFsL3NwaS9jb2NvYS9BVktp
dFNQSS5oPgogCiAjaW1wb3J0ICJDb3JlTWVkaWFTb2Z0TGluay5oIgpAQCAtMTIyLDcgKzEyMiw3
IEBAIHN0YXRpYyBSZXRhaW5QdHI8TlNNdXRhYmxlQXJyYXk+IHRpbWVSYW5nZXNUb0FycmF5KGNv
bnN0IFRpbWVSYW5nZXMmIHRpbWVSYW5nZXMpCiAKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBp
IDwgdGltZVJhbmdlcy5sZW5ndGgoKTsgaSsrKSB7CiAgICAgICAgIGNvbnN0IFBsYXRmb3JtVGlt
ZVJhbmdlcyYgcmFuZ2VzID0gdGltZVJhbmdlcy5yYW5nZXMoKTsKLSAgICAgICAgQ01UaW1lUmFu
Z2UgcmFuZ2UgPSBDTVRpbWVSYW5nZU1ha2UodG9DTVRpbWUocmFuZ2VzLnN0YXJ0KGkpKSwgdG9D
TVRpbWUocmFuZ2VzLmVuZChpKSkpOworICAgICAgICBDTVRpbWVSYW5nZSByYW5nZSA9IENNVGlt
ZVJhbmdlTWFrZShQQUw6OnRvQ01UaW1lKHJhbmdlcy5zdGFydChpKSksIFBBTDo6dG9DTVRpbWUo
cmFuZ2VzLmVuZChpKSkpOwogICAgICAgICBbcmFuZ2VBcnJheSBhZGRPYmplY3Q6W05TVmFsdWUg
dmFsdWVXaXRoQ01UaW1lUmFuZ2U6cmFuZ2VdXTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9WaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VNYWMubW0gYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlTWFjLm1t
CmluZGV4IGFiNDFiZTg5NTY1MTU2Yzc0NWU0ZDFjNTVlODZiOGQ1MDM0Y2ZhNGYuLmRkMGI0NjNh
OTI0NzdiNTM1OTEyZmI0Zjg2MjJlNWMxYzEzNTFhZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21hYy9WaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VNYWMubW0KKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1ZpZGVvRnVsbHNjcmVlbkludGVyZmFjZU1hYy5tbQpA
QCAtMzAsMTMgKzMwLDEzIEBACiAKICNpbXBvcnQgIkludFJlY3QuaCIKICNpbXBvcnQgIkxvZ2dp
bmcuaCIKLSNpbXBvcnQgIk1lZGlhVGltZUFWRm91bmRhdGlvbi5oIgogI2ltcG9ydCAiUGxheWJh
Y2tTZXNzaW9uSW50ZXJmYWNlTWFjLmgiCiAjaW1wb3J0ICJUaW1lUmFuZ2VzLmgiCiAjaW1wb3J0
ICJWaWRlb0Z1bGxzY3JlZW5DaGFuZ2VPYnNlcnZlci5oIgogI2ltcG9ydCAiVmlkZW9GdWxsc2Ny
ZWVuTW9kZWwuaCIKICNpbXBvcnQgIldlYlBsYXliYWNrQ29udHJvbHNNYW5hZ2VyLmgiCiAjaW1w
b3J0IDxBVkZvdW5kYXRpb24vQVZUaW1lLmg+CisjaW1wb3J0IDxwYWwvYXZmb3VuZGF0aW9uL01l
ZGlhVGltZUFWRm91bmRhdGlvbi5oPgogI2ltcG9ydCA8cGFsL3NwaS9jb2NvYS9BVktpdFNQSS5o
PgogI2ltcG9ydCA8cGFsL3NwaS9tYWMvUElQU1BJLmg+CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9Db3JlQXVkaW9DYXB0dXJlU291cmNlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9Db3JlQXVkaW9DYXB0
dXJlU291cmNlLmNwcAppbmRleCBjMzdlNDYzZjAyMTZkZmZmYTBmMTFmNzVhZTVjNmMyODI4NGY1
OWJhLi4yNjk2MjQzZGU5OWM1MmI1NDlkZTJmNmE4M2U3MDU1Y2Q3OTFiNmY5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQ29yZUF1ZGlvQ2FwdHVy
ZVNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFj
L0NvcmVBdWRpb0NhcHR1cmVTb3VyY2UuY3BwCkBAIC0zNywxMyArMzcsMTMgQEAKICNpbmNsdWRl
ICJDb3JlQXVkaW9DYXB0dXJlRGV2aWNlTWFuYWdlci5oIgogI2luY2x1ZGUgIkNvcmVBdWRpb0Nh
cHR1cmVTb3VyY2VJT1MuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCi0jaW5jbHVkZSAiTWVkaWFU
aW1lQVZGb3VuZGF0aW9uLmgiCiAjaW5jbHVkZSAiVGltZXIuaCIKICNpbmNsdWRlICJXZWJBdWRp
b1NvdXJjZVByb3ZpZGVyQVZGT2JqQy5oIgogI2luY2x1ZGUgPEF1ZGlvVG9vbGJveC9BdWRpb0Nv
bnZlcnRlci5oPgogI2luY2x1ZGUgPEF1ZGlvVW5pdC9BdWRpb1VuaXQuaD4KICNpbmNsdWRlIDxD
b3JlTWVkaWEvQ01TeW5jLmg+CiAjaW5jbHVkZSA8bWFjaC9tYWNoX3RpbWUuaD4KKyNpbmNsdWRl
IDxwYWwvYXZmb3VuZGF0aW9uL01lZGlhVGltZUFWRm91bmRhdGlvbi5oPgogI2luY2x1ZGUgPHBh
bC9zcGkvY2YvQ29yZUF1ZGlvU1BJLmg+CiAjaW5jbHVkZSA8c3lzL3RpbWUuaD4KICNpbmNsdWRl
IDx3dGYvTWFpblRocmVhZC5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWVkaWFzdHJlYW0vbWFjL01vY2tSZWFsdGltZUF1ZGlvU291cmNlTWFjLm1tIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL01vY2tSZWFsdGltZUF1ZGlvU291cmNlTWFj
Lm1tCmluZGV4IDBmMWM3MDgxYjFmN2Y1OGE5Zjg4ZDhkYTllNWIwODhmOGM3M2E0YjguLmUxYjYz
YTk3NjZkN2E3ZWNiYzBkMTg4YWViNGJiYTI1NGQ0NWUxMzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9Nb2NrUmVhbHRpbWVBdWRpb1NvdXJjZU1h
Yy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvTW9ja1Jl
YWx0aW1lQXVkaW9Tb3VyY2VNYWMubW0KQEAgLTEwNiw3ICsxMDYsNyBAQCB2b2lkIE1vY2tSZWFs
dGltZUF1ZGlvU291cmNlTWFjOjplbWl0U2FtcGxlQnVmZmVycyh1aW50MzJfdCBmcmFtZUNvdW50
KQogICAgIENNVGltZSBzdGFydFRpbWUgPSBDTVRpbWVNYWtlKG1fc2FtcGxlc0VtaXR0ZWQsIHNh
bXBsZVJhdGUoKSk7CiAgICAgbV9zYW1wbGVzRW1pdHRlZCArPSBmcmFtZUNvdW50OwogCi0gICAg
YXVkaW9TYW1wbGVzQXZhaWxhYmxlKHRvTWVkaWFUaW1lKHN0YXJ0VGltZSksICptX2F1ZGlvQnVm
ZmVyTGlzdCwgQ0FBdWRpb1N0cmVhbURlc2NyaXB0aW9uKG1fc3RyZWFtRm9ybWF0KSwgZnJhbWVD
b3VudCk7CisgICAgYXVkaW9TYW1wbGVzQXZhaWxhYmxlKFBBTDo6dG9NZWRpYVRpbWUoc3RhcnRU
aW1lKSwgKm1fYXVkaW9CdWZmZXJMaXN0LCBDQUF1ZGlvU3RyZWFtRGVzY3JpcHRpb24obV9zdHJl
YW1Gb3JtYXQpLCBmcmFtZUNvdW50KTsKIH0KIAogdm9pZCBNb2NrUmVhbHRpbWVBdWRpb1NvdXJj
ZU1hYzo6cmVjb25maWd1cmUoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lSW5jb21pbmdBdWRpb1NvdXJjZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291
cmNlLmNwcAppbmRleCA5ZmRlMWEyMTVhMDAxNTczYWNjNTE2Nzg2OTBjMjc0YmI1N2I5OWI5Li44
NzUzOGNkMDU1YjRkY2E0OTkyMWIyZDUxZDgwZjA4MmViMjI2NzM3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVJbmNvbWluZ0F1ZGlv
U291cmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMv
UmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlLmNwcApAQCAtMzYsOSArMzYsOSBAQAogI2luY2x1
ZGUgIkF1ZGlvU3RyZWFtRGVzY3JpcHRpb24uaCIKICNpbmNsdWRlICJDQUF1ZGlvU3RyZWFtRGVz
Y3JpcHRpb24uaCIKICNpbmNsdWRlICJMaWJXZWJSVENBdWRpb0Zvcm1hdC5oIgotI2luY2x1ZGUg
Ik1lZGlhVGltZUFWRm91bmRhdGlvbi5oIgogI2luY2x1ZGUgIldlYkF1ZGlvQnVmZmVyTGlzdC5o
IgogI2luY2x1ZGUgIldlYkF1ZGlvU291cmNlUHJvdmlkZXJBVkZPYmpDLmgiCisjaW5jbHVkZSA8
cGFsL2F2Zm91bmRhdGlvbi9NZWRpYVRpbWVBVkZvdW5kYXRpb24uaD4KIAogI2luY2x1ZGUgIkNv
cmVNZWRpYVNvZnRMaW5rLmgiCiAKQEAgLTgzLDcgKzgzLDcgQEAgdm9pZCBSZWFsdGltZUluY29t
aW5nQXVkaW9Tb3VyY2U6Ok9uRGF0YShjb25zdCB2b2lkKiBhdWRpb0RhdGEsIGludCBiaXRzUGVy
U2FtcGwKICAgICBBU1NFUlQoc2FtcGxlUmF0ZSA9PSA0ODAwMCk7CiAKICAgICBDTVRpbWUgc3Rh
cnRUaW1lID0gQ01UaW1lTWFrZShtX251bWJlck9mRnJhbWVzLCBzYW1wbGVSYXRlKTsKLSAgICBh
dXRvIG1lZGlhVGltZSA9IHRvTWVkaWFUaW1lKHN0YXJ0VGltZSk7CisgICAgYXV0byBtZWRpYVRp
bWUgPSBQQUw6OnRvTWVkaWFUaW1lKHN0YXJ0VGltZSk7CiAgICAgbV9udW1iZXJPZkZyYW1lcyAr
PSBudW1iZXJPZkZyYW1lczsKIAogICAgIEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbiBuZXdE
ZXNjcmlwdGlvbiA9IHN0cmVhbURlc2NyaXB0aW9uKHNhbXBsZVJhdGUsIG51bWJlck9mQ2hhbm5l
bHMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFj
L1dlYkF1ZGlvU291cmNlUHJvdmlkZXJBVkZPYmpDLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWVkaWFzdHJlYW0vbWFjL1dlYkF1ZGlvU291cmNlUHJvdmlkZXJBVkZPYmpDLm1tCmluZGV4
IDdlNTE2ZGY2MDY5MmRlNDdjMGJkNGFjNWZmNDYxZWZjMzdiYjU1NmQuLmE2MTNhYWY3OGYzYWYw
NzQ0YTBkYzA5ZDIyOTJhZjk5ZDQzMTkwOTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21lZGlhc3RyZWFtL21hYy9XZWJBdWRpb1NvdXJjZVByb3ZpZGVyQVZGT2JqQy5tbQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvV2ViQXVkaW9Tb3Vy
Y2VQcm92aWRlckFWRk9iakMubW0KQEAgLTMzLDcgKzMzLDYgQEAKICNpbXBvcnQgIkF1ZGlvU2Ft
cGxlRGF0YVNvdXJjZS5oIgogI2ltcG9ydCAiQXVkaW9Tb3VyY2VQcm92aWRlckNsaWVudC5oIgog
I2ltcG9ydCAiTG9nZ2luZy5oIgotI2ltcG9ydCAiTWVkaWFUaW1lQVZGb3VuZGF0aW9uLmgiCiAj
aW1wb3J0ICJXZWJBdWRpb0J1ZmZlckxpc3QuaCIKICNpbXBvcnQgPG9iamMvcnVudGltZS5oPgog
I2ltcG9ydCA8d3RmL01haW5UaHJlYWQuaD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>