<?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>225396</bug_id>
          
          <creation_ts>2021-05-05 10:07:30 -0700</creation_ts>
          <short_desc>[GPUP] Reduce MediaPlayer polling frequency when possible</short_desc>
          <delta_ts>2023-03-24 02:09:06 -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>Media</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=254256</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=254399</see_also>
          <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="Eric Carlson">eric.carlson</reporter>
          <assigned_to name="Eric Carlson">eric.carlson</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>jer.noble</cc>
    
    <cc>peng.liu6</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1756972</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2021-05-05 10:07:30 -0700</bug_when>
    <thetext>When `currentMediaTimeDidChange` is supported by the media player, use it push currentTime updates instead of polling at a fixed frequency.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1756973</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-05-05 10:07:39 -0700</bug_when>
    <thetext>&lt;rdar://problem/77562643&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1756986</commentid>
    <comment_count>2</comment_count>
      <attachid>427778</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2021-05-05 10:31:44 -0700</bug_when>
    <thetext>Created attachment 427778
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1757008</commentid>
    <comment_count>3</comment_count>
      <attachid>427778</attachid>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2021-05-05 11:39:54 -0700</bug_when>
    <thetext>Comment on attachment 427778
Patch

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

&gt; Source/WebCore/platform/graphics/MediaPlayerPrivate.h:109
&gt; +    virtual bool setCurrentTimeDidChangeCallback(MediaPlayer::CurrentTimeDidChangeCallback&amp;&amp;) { return false; }

Nit. The return value indicates whether the player supports time change callback, right?
It works, but looks a little strange. Maybe adding an interface like &quot;supportsTimeChangeCallback()&quot; is better? I am not sure.

&gt; Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.messages.in:42
&gt; +    CurrentTimeChanged(MediaTime mediaTime, MonotonicTime wallTime)

Nit. `wallTime` is interesting here. :-)
Maybe `queryTime` is better?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1757065</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-05-05 13:10:45 -0700</bug_when>
    <thetext>Found 30 new test failures: compositing/geometry/fixed-position-composited-page-scale-smaller-than-viewport.html, compositing/iframes/border-uneven-radius-composited-frame.html, compositing/video/video-reflection.html, fast/canvas/webgl/texImage2D-video-flipY-true.html, http/tests/media/media-play-stream-chunked-icy.html, http/tests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-live-broadcast.html, http/tests/media/modern-media-controls/pip-support/pip-support-live-broadcast.html, http/tests/media/modern-media-controls/skip-back-support/skip-back-support-button-click.html, http/tests/media/modern-media-controls/skip-back-support/skip-back-support-live-broadcast.html, http/tests/media/modern-media-controls/status-support/status-support-live-broadcast.html ...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1757122</commentid>
    <comment_count>5</comment_count>
      <attachid>427812</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2021-05-05 15:12:01 -0700</bug_when>
    <thetext>Created attachment 427812
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1757518</commentid>
    <comment_count>6</comment_count>
      <attachid>427908</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2021-05-06 11:18:06 -0700</bug_when>
    <thetext>Created attachment 427908
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1757622</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-05-06 13:49:37 -0700</bug_when>
    <thetext>Committed r277116 (237414@main): &lt;https://commits.webkit.org/237414@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 427908.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>427778</attachid>
            <date>2021-05-05 10:31:44 -0700</date>
            <delta_ts>2021-05-05 15:12:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-225396-20210505103143.patch</filename>
            <type>text/plain</type>
            <size>24017</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2OTczCjIwMjEtMDUtMDVUMTA6MzE6MjgsODUxOiBbMHgx
MGRmMTBlMDBdIHdoaWxlIGNvbXB1dGluZyBzb2NrbmFtZTogZmFpbGVkIHRvIGNyZWF0ZSAvdXNy
L2xvY2FsL3Zhci9ydW4vd2F0Y2htYW4vZXJpYy1zdGF0ZTogTm8gc3VjaCBmaWxlIG9yIGRpcmVj
dG9yeQpXYXRjaG1hbjogY29tbWFuZCByZXR1cm5lZCBubyBvdXRwdXQuCkZhbGxpbmcgYmFjayB0
byBzY2FubmluZy4uLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGQ4NDFlNDNlOWU5NTljZTI4YjY3NTJhYTFlODIz
MDM1ZWU0ZGNkYTUuLmIxZjg3ZGY0YzZhN2UzM2ViMjgzOWU0NmY2MGFjZWYyYjZkYTlhNmQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwyNCBAQAorMjAyMS0wNS0wNSAgRXJpYyBDYXJsc29uICA8ZXJp
Yy5jYXJsc29uQGFwcGxlLmNvbT4KKworICAgICAgICBbR1BVUF0gUmVkdWNlIE1lZGlhUGxheWVy
IHBvbGxpbmcgZnJlcXVlbmN5IHdoZW4gcG9zc2libGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNTM5NgorICAgICAgICA8cmRhcjovL3Byb2JsZW0v
Nzc1NjI2NDM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgQWRkIGEgY3VycmVudFRpbWUgY2hhbmdlZCBjYWxsYmFjayB0byBNZWRpYVBsYXllclByaXZh
dGVJbnRlcmZhY2Ugc28gYSBjbGllbnQKKyAgICAgICAgZG9lbnMndCBoYXZlIHRvIHBvbGwgZm9y
IHRpbWUgY2hhbmdlcy4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyOjpzZXRDdXJyZW50VGltZURpZENo
YW5nZUNhbGxiYWNrKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5o
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oOgorICAg
ICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlOjpzZXRDdXJyZW50VGlt
ZURpZENoYW5nZUNhbGxiYWNrKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5k
YXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLmg6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRl
QVZGb3VuZGF0aW9uT2JqQy5tbToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0
ZUFWRm91bmRhdGlvbk9iakM6OnNldEN1cnJlbnRUaW1lRGlkQ2hhbmdlQ2FsbGJhY2spOgorICAg
ICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6Y3VycmVu
dE1lZGlhVGltZURpZENoYW5nZSBjb25zdCk6CisKIDIwMjEtMDUtMDQgIFNlcmdpbyBWaWxsYXIg
U2VuaW4gIDxzdmlsbGFyQGlnYWxpYS5jb20+CiAKICAgICAgICAgQVNTRVJUSU9OIEZBSUxFRDog
Y29udGVudFNpemUgPj0gMCBpbiBXZWJDb3JlOjpSZW5kZXJGbGV4aWJsZUJveDo6YWRqdXN0Q2hp
bGRTaXplRm9yTWluQW5kTWF4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGVhMWIzMDNjOTE5YjNkMmI4MDMzNjllMjQy
ZmRhOTJhNDRkNTlmYzQuLjcxZjViNDRhOTA2YWYxNzZlNDQwMTkyZDViODgzZjNiMmYxYzA4Y2Ig
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsNTUgQEAKKzIwMjEtMDUtMDUgIEVyaWMgQ2FybHNvbiAgPGVy
aWMuY2FybHNvbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0dQVVBdIFJlZHVjZSBNZWRpYVBsYXll
ciBwb2xsaW5nIGZyZXF1ZW5jeSB3aGVuIHBvc3NpYmxlCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjUzOTYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
Lzc3NTYyNjQzPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFdoZW4gdGhlIE1lZGlhUGxheWVyUHJpdmF0ZSBzdXBwb3J0cyB0aGUgbmV3ICJjdXJyZW50
IHRpbWUgY2hhbmdlZCIgY2FsbGJhY2ssIHVzZSBpdAorICAgICAgICBrbm93IHdoZW4gY3VycmVu
dFRpbWUgY2hhbmdlcyBpbnN0ZWFkIG9mIHBvbGxpbmcgYXQgYSBmaXhlZCBmcmVxdWVuY3kuIEN1
cnJlbnQgdGltZQorICAgICAgICBjaGFuZ2VzIG11Y2ggbW9yZSBmcmVxdWVudGx5IHRoYW4gdGhl
IG90aGVyIHN0YXRlIHRoYXQgbmVlZHMgdG8gYmUgcHVzaGVkIHRvIHRoZQorICAgICAgICB3ZWIg
cHJvY2VzcyBwZXJpb2RpY2FsbHkgc28gc3BsaXQgY3VycmVudCB0aW1lIG91dCBvZiB0aGUgImNh
Y2hlZCBzdGF0ZSIgc3RydWN0CisgICAgICAgIGFuZCBwdXNoIGl0IHNlcGFyYXRlbHkgd2hlbiBp
dCBjaGFuZ2VzLCB3aGljaCBhbHNvIGFsbG93IHVzIHRvIHJlZHVjZSB0aGUgcG9sbGluZworICAg
ICAgICBmcmVxdWVuY3kgc2lnbmlmaWNhbnRseS4KKworICAgICAgICBTb21lIG9mIHRoZSBzdGF0
ZSB3ZSB3ZXJlIHVwZGF0aW5nIGV2ZXJ5IHRpbWUgdGhlIGNhY2hlZCBzdGF0ZSB0aW1lciBmaXJl
ZCBvbmx5CisgICAgICAgIGNoYW5nZXMgYXQga25vd24gdGltZXMsIHNvIHJlZHVjZSB0aGUgbnVt
YmVyIG9mIHRoaW5ncyB1cGRhdGVkIGV2ZXJ5IHRpbWUgc3RhdGUgCisgICAgICAgIGlzIHB1c2hl
ZC4KKworICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5j
cHA6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhUGxheWVyUHJveHk6OmdldENvbmZpZ3Vy
YXRpb24pOiBTZXQgdGhlIHRpbWVDaGFuZ2VkIGNhbGxiYWNrLgorICAgICAgICAoV2ViS2l0OjpS
ZW1vdGVNZWRpYVBsYXllclByb3h5OjptZWRpYVBsYXllck5ldHdvcmtTdGF0ZUNoYW5nZWQpOiBV
cGRhdGUgY2FjaGVkIAorICAgICAgICByZWFkeVN0YXRlIGFuZCBuZXR3b3JrU3RhdGUgc2luY2Ug
dGhleSBhcmVuJ3QgdXBkYXRlZCBieSB1cGRhdGVDYWNoZWRTdGF0ZS4KKyAgICAgICAgKFdlYktp
dDo6UmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6bWVkaWFQbGF5ZXJSZWFkeVN0YXRlQ2hhbmdlZCk6
IERpdHRvLgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVBsYXllclByb3h5OjptZWRpYVBs
YXllckR1cmF0aW9uQ2hhbmdlZCk6IFVwZGF0ZSBjYWNoZWQgZHVyYXRpb24uCisgICAgICAgIChX
ZWJLaXQ6OlJlbW90ZU1lZGlhUGxheWVyUHJveHk6Om1lZGlhUGxheWVyQ2hhcmFjdGVyaXN0aWND
aGFuZ2VkKTogVXBkYXRlIGhhc0F1ZGlvCisgICAgICAgIGFuZCBoYXNWaWRlby4KKyAgICAgICAg
KFdlYktpdDo6UmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6c3RhcnRVcGRhdGVDYWNoZWRTdGF0ZU1l
c3NhZ2VUaW1lcik6IERlY3JlYXNlIHRoZQorICAgICAgICB0aW1lIGZyZXF1ZW5jeSB0byAyMDBt
cyB3aGVuIHRoZSBwbGF5ZXIgc3VwcG9ydHMgdGhlIHRpbWUgY2hhbmdlIGNhbGxiYWNrLiBEZWNy
ZWFzZQorICAgICAgICBpdCB0byAyNTBtcyBldmVuIHdoZW4gaXQgZG9lc24ndCBiZWNhdXNlIHdl
IGludGVycG9sYXRlIHRpbWUgaW4gdGhlIFdQIGFueXdheS4KKyAgICAgICAgKFdlYktpdDo6UmVt
b3RlTWVkaWFQbGF5ZXJQcm94eTo6Y3VycmVudFRpbWVDaGFuZ2VkKTogU2VuZCB0aGUgdGltZSBj
aGFuZ2UuCisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhUGxheWVyUHJveHk6OnVwZGF0ZUNh
Y2hlZFN0YXRlKTogU2VuZCBDdXJyZW50VGltZUNoYW5nZWQgaWYKKyAgICAgICAgdGhlIHBsYXll
ciBkb2Vzbid0IHN1cHBvcnQgdGhlIG5ldyBjYWxsYmFjay4gRG9uJ3QgdXBkYXRlIHByb3BlcnRp
ZXMgdGhhdCBjaGFuZ2UKKyAgICAgICAgYXQgcHJlZGljdGFibGUgdGltZXMuCisgICAgICAgICog
R1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5Lmg6CisKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnBhdXNlKTogVXNlIG1fY2FjaGVk
TWVkaWFUaW1lIGFuZCBtX2NhY2hlZE1lZGlhVGltZVF1ZXJ5VGltZQorICAgICAgICBpbnN0ZWFk
IG9mIG1fY2FjaGVkU3RhdGUuY3VycmVudFRpbWUgYW5kIG1fY2FjaGVkU3RhdGUudGltZXN0YW1w
LgorICAgICAgICAoV2ViS2l0OjpNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OmN1cnJlbnRNZWRp
YVRpbWUgY29uc3QpOiBEaXR0by4KKyAgICAgICAgKFdlYktpdDo6TWVkaWFQbGF5ZXJQcml2YXRl
UmVtb3RlOjpwbGF5YmFja1N0YXRlQ2hhbmdlZCk6IERpdHRvLgorICAgICAgICAoV2ViS2l0OjpN
ZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OmN1cnJlbnRUaW1lQ2hhbmdlZCk6IFVwZGF0ZSB0aW1l
IGluc3RhbmNlIHZhcmlhYmxlcy4KKyAgICAgICAgKFdlYktpdDo6TWVkaWFQbGF5ZXJQcml2YXRl
UmVtb3RlOjp1cGRhdGVDYWNoZWRTdGF0ZSk6CisgICAgICAgIChXZWJLaXQ6Ok1lZGlhUGxheWVy
UHJpdmF0ZVJlbW90ZTo6cGVyZm9ybVRhc2tBdE1lZGlhVGltZSk6IFVzZSBtX2NhY2hlZE1lZGlh
VGltZSAKKyAgICAgICAgYW5kIG1fY2FjaGVkTWVkaWFUaW1lUXVlcnlUaW1lIGluc3RlYWQgb2Yg
bV9jYWNoZWRTdGF0ZS5jdXJyZW50VGltZSBhbmQgbV9jYWNoZWRTdGF0ZS50aW1lc3RhbXAuCisg
ICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmg6
CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3Rl
Lm1lc3NhZ2VzLmluOgorCisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlTWVk
aWFQbGF5ZXJTdGF0ZS5oOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVBsYXllclN0YXRl
OjplbmNvZGUgY29uc3QpOiBSZW1vdmUgY3VycmVudFRpbWUgYW5kIHRpbWVzdGFtcC4KKyAgICAg
ICAgKFdlYktpdDo6UmVtb3RlTWVkaWFQbGF5ZXJTdGF0ZTo6ZGVjb2RlKTogRGl0dG8uCisKIDIw
MjEtMDUtMDQgIEVyaWMgQ2FybHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CiAKICAgICAg
ICAgW0dQVVBdIFVzZSBNb25vdG9uaWNUaW1lIGZvciBlbGFwc2VkIHRpbWUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcAppbmRleCAyMzA2ZGY2
YzU1ZjFmZWVlN2U1NGU0Mjk4YmU1Zjk1MDA0MzBjZDliLi4xZDBiZTgzNDZmZmIyNGFjNzNhYzRl
OTJjMWFhMWMzNGU1Y2U2NDg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9NZWRpYVBsYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvTWVkaWFQbGF5ZXIuY3BwCkBAIC03MTMsNiArNzEzLDExIEBAIE1lZGlhVGltZSBNZWRp
YVBsYXllcjo6Y3VycmVudFRpbWUoKSBjb25zdAogICAgIHJldHVybiBtX3ByaXZhdGUtPmN1cnJl
bnRNZWRpYVRpbWUoKTsKIH0KIAorYm9vbCBNZWRpYVBsYXllcjo6c2V0Q3VycmVudFRpbWVEaWRD
aGFuZ2VDYWxsYmFjayhDdXJyZW50VGltZURpZENoYW5nZUNhbGxiYWNrJiYgY2FsbGJhY2spCit7
CisgICAgcmV0dXJuIG1fcHJpdmF0ZS0+c2V0Q3VycmVudFRpbWVEaWRDaGFuZ2VDYWxsYmFjayhX
VEZNb3ZlKGNhbGxiYWNrKSk7Cit9CisKIE1lZGlhVGltZSBNZWRpYVBsYXllcjo6Z2V0U3RhcnRE
YXRlKCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9wcml2YXRlLT5nZXRTdGFydERhdGUoKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oCmluZGV4IDEw
ODY5MjgxMjg0Y2QyYzBkMDAyYzY0YWQ1MmNmNjgxYzE3MDg3NzguLjhmOTZmYjQ1NWRmY2JjZDA4
MjVjNzljMzhhZDk2NTkzZTc1MTAwNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvTWVkaWFQbGF5ZXIuaApAQCAtMzk2LDYgKzM5Niw5IEBAIHB1YmxpYzoKICAgICB2
b2lkIHNlZWtXaGVuUG9zc2libGUoY29uc3QgTWVkaWFUaW1lJik7CiAgICAgdm9pZCBzZWVrV2l0
aFRvbGVyYW5jZShjb25zdCBNZWRpYVRpbWUmLCBjb25zdCBNZWRpYVRpbWUmIG5lZ2F0aXZlVG9s
ZXJhbmNlLCBjb25zdCBNZWRpYVRpbWUmIHBvc2l0aXZlVG9sZXJhbmNlKTsKIAorICAgIHVzaW5n
IEN1cnJlbnRUaW1lRGlkQ2hhbmdlQ2FsbGJhY2sgPSBzdGQ6OmZ1bmN0aW9uPHZvaWQoY29uc3Qg
TWVkaWFUaW1lJik+OworICAgIGJvb2wgc2V0Q3VycmVudFRpbWVEaWRDaGFuZ2VDYWxsYmFjayhD
dXJyZW50VGltZURpZENoYW5nZUNhbGxiYWNrJiYpOworCiAgICAgTWVkaWFUaW1lIHN0YXJ0VGlt
ZSgpIGNvbnN0OwogICAgIE1lZGlhVGltZSBpbml0aWFsVGltZSgpIGNvbnN0OwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZhdGUu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5o
CmluZGV4IGFmM2FiY2ZmMWE2Y2ZiNGFhZjUwZDhhYTI0NzY3NzA2NjE1NDQ0NGIuLjljZmNiMGQ0
YTRlODZiZDU1MDFhMjg0ZThmYjBmZTNiYjYwMjBhZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oCkBAIC0xMDYsNiAr
MTA2LDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgZG91YmxlIGN1cnJlbnRUaW1lRG91YmxlKCkg
Y29uc3QgeyByZXR1cm4gY3VycmVudFRpbWUoKTsgfQogICAgIHZpcnR1YWwgTWVkaWFUaW1lIGN1
cnJlbnRNZWRpYVRpbWUoKSBjb25zdCB7IHJldHVybiBNZWRpYVRpbWU6OmNyZWF0ZVdpdGhEb3Vi
bGUoY3VycmVudFRpbWVEb3VibGUoKSk7IH0KIAorICAgIHZpcnR1YWwgYm9vbCBzZXRDdXJyZW50
VGltZURpZENoYW5nZUNhbGxiYWNrKE1lZGlhUGxheWVyOjpDdXJyZW50VGltZURpZENoYW5nZUNh
bGxiYWNrJiYpIHsgcmV0dXJuIGZhbHNlOyB9CisKICAgICB2aXJ0dWFsIE1lZGlhVGltZSBnZXRT
dGFydERhdGUoKSBjb25zdCB7IHJldHVybiBNZWRpYVRpbWU6OmNyZWF0ZVdpdGhEb3VibGUoc3Rk
OjpudW1lcmljX2xpbWl0czxkb3VibGU+OjpxdWlldF9OYU4oKSk7IH0KIAogICAgIHZpcnR1YWwg
dm9pZCBzZWVrKGZsb2F0KSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlv
bk9iakMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9v
YmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMuaAppbmRleCBlYzJiYTBkZmI4
MjU5ZGU3NWY0NTljNGRlYzBiOWExMTI4MzBlZWVkLi45MTlkNzhiNWFmMjdjMTEzOGI5ZTMxNjgz
NmMyMzhhNzYxZjM3MTk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpD
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29i
amMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5oCkBAIC0zMjIsNiArMzIyLDcg
QEAgcHJpdmF0ZToKICAgICB2b2lkIGF1ZGlvT3V0cHV0RGV2aWNlQ2hhbmdlZCgpIGZpbmFsOwog
CiAgICAgdm9pZCBjdXJyZW50TWVkaWFUaW1lRGlkQ2hhbmdlKE1lZGlhVGltZSYmKSBjb25zdDsK
KyAgICBib29sIHNldEN1cnJlbnRUaW1lRGlkQ2hhbmdlQ2FsbGJhY2soTWVkaWFQbGF5ZXI6OkN1
cnJlbnRUaW1lRGlkQ2hhbmdlQ2FsbGJhY2smJikgZmluYWw7CiAKICAgICBSZXRhaW5QdHI8QVZV
UkxBc3NldD4gbV9hdkFzc2V0OwogICAgIFJldGFpblB0cjxBVlBsYXllcj4gbV9hdlBsYXllcjsK
QEAgLTM5NCw2ICszOTUsNyBAQCBwcml2YXRlOgogICAgIFJldGFpblB0cjxOU0FycmF5PiBtX2N1
cnJlbnRNZXRhRGF0YTsKICAgICBGbG9hdFNpemUgbV9jYWNoZWRQcmVzZW50YXRpb25TaXplOwog
ICAgIE1lZGlhVGltZSBtX2NhY2hlZER1cmF0aW9uOworICAgIG11dGFibGUgTWVkaWFQbGF5ZXI6
OkN1cnJlbnRUaW1lRGlkQ2hhbmdlQ2FsbGJhY2sgbV9jdXJyZW50VGltZURpZENoYW5nZUNhbGxi
YWNrOwogICAgIG11dGFibGUgTWVkaWFUaW1lIG1fY2FjaGVkQ3VycmVudE1lZGlhVGltZTsKICAg
ICBtdXRhYmxlIE9wdGlvbmFsPFdhbGxUaW1lPiBtX3dhbGxDbG9ja0F0Q2FjaGVkQ3VycmVudFRp
bWU7CiAgICAgbXV0YWJsZSBpbnQgbV90aW1lQ29udHJvbFN0YXR1c0F0Q2FjaGVkQ3VycmVudFRp
bWUgeyAwIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9h
dmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLm1tIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQ
bGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbQppbmRleCA5ZmE0ODRhMjQwMGYxOWUxMWY2
ZGMyMTljYzdmN2I5MDNhZGJiZDIxLi44ZWU1YTkwNjE5NGNmYjQ3NjkyMmIxNDQxMDFhZmJjM2Vi
ODk4Mzc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZv
dW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLm1tCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlh
UGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0KQEAgLTE0NTMsMTIgKzE0NTMsMjEgQEAg
TWVkaWFUaW1lIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OmN1cnJlbnRNZWRp
YVRpbWUoKSBjb25zdAogICAgIHJldHVybiBzdGQ6Om1pbihzdGQ6Om1heChpdGVtVGltZSwgTWVk
aWFUaW1lOjp6ZXJvVGltZSgpKSwgbV9jYWNoZWREdXJhdGlvbik7CiB9CiAKLXZvaWQgTWVkaWFQ
bGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6Y3VycmVudE1lZGlhVGltZURpZENoYW5nZShX
VEY6Ok1lZGlhVGltZSYmIHRpbWUpIGNvbnN0Citib29sIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91
bmRhdGlvbk9iakM6OnNldEN1cnJlbnRUaW1lRGlkQ2hhbmdlQ2FsbGJhY2soTWVkaWFQbGF5ZXI6
OkN1cnJlbnRUaW1lRGlkQ2hhbmdlQ2FsbGJhY2smJiBjYWxsYmFjaykKIHsKLSAgICBtX2NhY2hl
ZEN1cnJlbnRNZWRpYVRpbWUgPSB0aW1lOworICAgIG1fY3VycmVudFRpbWVEaWRDaGFuZ2VDYWxs
YmFjayA9IFdURk1vdmUoY2FsbGJhY2spOworICAgIHJldHVybiB0cnVlOworfQorCit2b2lkIE1l
ZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OmN1cnJlbnRNZWRpYVRpbWVEaWRDaGFu
Z2UoTWVkaWFUaW1lJiYgdGltZSkgY29uc3QKK3sKKyAgICBtX2NhY2hlZEN1cnJlbnRNZWRpYVRp
bWUgPSBXVEZNb3ZlKHRpbWUpOwogICAgIG1fd2FsbENsb2NrQXRDYWNoZWRDdXJyZW50VGltZSA9
IFdhbGxUaW1lOjpub3coKTsKICAgICBtX3RpbWVDb250cm9sU3RhdHVzQXRDYWNoZWRDdXJyZW50
VGltZSA9IG1fY2FjaGVkVGltZUNvbnRyb2xTdGF0dXM7CiAgICAgbV9yZXF1ZXN0ZWRSYXRlQXRD
YWNoZWRDdXJyZW50VGltZSA9IG1fcmVxdWVzdGVkUmF0ZTsKKworICAgIGlmIChtX2N1cnJlbnRU
aW1lRGlkQ2hhbmdlQ2FsbGJhY2spCisgICAgICAgIG1fY3VycmVudFRpbWVEaWRDaGFuZ2VDYWxs
YmFjayh0aW1lLmlzRmluaXRlKCkgPyBtX2NhY2hlZEN1cnJlbnRNZWRpYVRpbWUgOiBNZWRpYVRp
bWU6Onplcm9UaW1lKCkpOwogfQogCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlv
bk9iakM6OnNlZWtUb1RpbWUoY29uc3QgTWVkaWFUaW1lJiB0aW1lLCBjb25zdCBNZWRpYVRpbWUm
IG5lZ2F0aXZlVG9sZXJhbmNlLCBjb25zdCBNZWRpYVRpbWUmIHBvc2l0aXZlVG9sZXJhbmNlKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxh
eWVyUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlh
UGxheWVyUHJveHkuY3BwCmluZGV4IGM1MDI5M2E0MDczMTgzYjVlNTcxNmU2Njc5M2U0MWVkNzE3
ZWI0MDQuLmFmMDVhZTIxYzllMDQxMjIzYzMzYmM4OWY5NDgwOGI5Y2U4YTRmOGUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5
ZXJQcm94eS5jcHAKQEAgLTM4LDcgKzM4LDYgQEAKICNpbmNsdWRlICJSZW1vdGVMZWdhY3lDRE1T
ZXNzaW9uUHJveHkuaCIKICNpbmNsdWRlICJSZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eS5o
IgogI2luY2x1ZGUgIlJlbW90ZU1lZGlhUGxheWVyUHJveHlDb25maWd1cmF0aW9uLmgiCi0jaW5j
bHVkZSAiUmVtb3RlTWVkaWFQbGF5ZXJTdGF0ZS5oIgogI2luY2x1ZGUgIlJlbW90ZU1lZGlhUmVz
b3VyY2UuaCIKICNpbmNsdWRlICJSZW1vdGVNZWRpYVJlc291cmNlSWRlbnRpZmllci5oIgogI2lu
Y2x1ZGUgIlJlbW90ZU1lZGlhUmVzb3VyY2VMb2FkZXIuaCIKQEAgLTExOSw2ICsxMTgsMTMgQEAg
dm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5OjpnZXRDb25maWd1cmF0aW9uKFJlbW90ZU1lZGlh
UGxheWVyQ29uZmlndXJhdGlvbiYgY28KICAgICBjb25maWd1cmF0aW9uLmNhblBsYXlUb1dpcmVs
ZXNzUGxheWJhY2tUYXJnZXQgPSBtX3BsYXllci0+Y2FuUGxheVRvV2lyZWxlc3NQbGF5YmFja1Rh
cmdldCgpOwogI2VuZGlmCiAgICAgY29uZmlndXJhdGlvbi5zaG91bGRJZ25vcmVJbnRyaW5zaWNT
aXplID0gbV9wbGF5ZXItPnNob3VsZElnbm9yZUludHJpbnNpY1NpemUoKTsKKworICAgIG1fb2Jz
ZXJ2aW5nVGltZUNoYW5nZXMgPSBtX3BsYXllci0+c2V0Q3VycmVudFRpbWVEaWRDaGFuZ2VDYWxs
YmFjayhbdGhpcywgd2Vha1RoaXMgPSBtYWtlV2Vha1B0cih0aGlzKV0gKGF1dG8gY3VycmVudFRp
bWUpIG11dGFibGUgeworICAgICAgICBpZiAoIXdlYWtUaGlzKQorICAgICAgICAgICAgcmV0dXJu
OworCisgICAgICAgIGN1cnJlbnRUaW1lQ2hhbmdlZChjdXJyZW50VGltZSk7CisgICAgfSk7CiB9
CiAKIHZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6bG9hZChVUkwmJiB1cmwsIE9wdGlvbmFs
PFNhbmRib3hFeHRlbnNpb246OkhhbmRsZT4mJiBzYW5kYm94RXh0ZW5zaW9uSGFuZGxlLCBjb25z
dCBDb250ZW50VHlwZSYgY29udGVudFR5cGUsIGNvbnN0IFN0cmluZyYga2V5U3lzdGVtLCBDb21w
bGV0aW9uSGFuZGxlcjx2b2lkKFJlbW90ZU1lZGlhUGxheWVyQ29uZmlndXJhdGlvbiYmKT4mJiBj
b21wbGV0aW9uSGFuZGxlcikKQEAgLTMzMiw2ICszMzgsOCBAQCB2b2lkIFJlbW90ZU1lZGlhUGxh
eWVyUHJveHk6OmVycm9yTG9nKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoU3RyaW5nKT4mJiBjb21w
bGV0aQogdm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5OjptZWRpYVBsYXllck5ldHdvcmtTdGF0
ZUNoYW5nZWQoKQogewogICAgIHVwZGF0ZUNhY2hlZFN0YXRlKCk7CisgICAgbV9jYWNoZWRTdGF0
ZS5yZWFkeVN0YXRlID0gbV9wbGF5ZXItPnJlYWR5U3RhdGUoKTsKKyAgICBtX2NhY2hlZFN0YXRl
Lm5ldHdvcmtTdGF0ZSA9IG1fcGxheWVyLT5uZXR3b3JrU3RhdGUoKTsKICAgICBtX3dlYlByb2Nl
c3NDb25uZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6Ok5l
dHdvcmtTdGF0ZUNoYW5nZWQobV9jYWNoZWRTdGF0ZSksIG1faWQpOwogfQogCkBAIC0zMzksNyAr
MzQ3LDEwIEBAIHZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6bWVkaWFQbGF5ZXJSZWFkeVN0
YXRlQ2hhbmdlZCgpCiB7CiAgICAgdXBkYXRlQ2FjaGVkVmlkZW9NZXRyaWNzKCk7CiAgICAgdXBk
YXRlQ2FjaGVkU3RhdGUoKTsKKyAgICBtX2NhY2hlZFN0YXRlLnJlYWR5U3RhdGUgPSBtX3BsYXll
ci0+cmVhZHlTdGF0ZSgpOworICAgIG1fY2FjaGVkU3RhdGUubmV0d29ya1N0YXRlID0gbV9wbGF5
ZXItPm5ldHdvcmtTdGF0ZSgpOwogCisgICAgbV9jYWNoZWRTdGF0ZS5tb3ZpZUxvYWRUeXBlID0g
bV9wbGF5ZXItPm1vdmllTG9hZFR5cGUoKTsKICAgICBtX2NhY2hlZFN0YXRlLm1pblRpbWVTZWVr
YWJsZSA9IG1fcGxheWVyLT5taW5UaW1lU2Vla2FibGUoKTsKICAgICBtX2NhY2hlZFN0YXRlLm1h
eFRpbWVTZWVrYWJsZSA9IG1fcGxheWVyLT5tYXhUaW1lU2Vla2FibGUoKTsKICAgICBtX2NhY2hl
ZFN0YXRlLnN0YXJ0RGF0ZSA9IG1fcGxheWVyLT5nZXRTdGFydERhdGUoKTsKQEAgLTM4MCw2ICsz
OTEsNyBAQCB2b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6Om1lZGlhUGxheWVyVGltZUNoYW5n
ZWQoKQogdm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5OjptZWRpYVBsYXllckR1cmF0aW9uQ2hh
bmdlZCgpCiB7CiAgICAgdXBkYXRlQ2FjaGVkU3RhdGUoKTsKKyAgICBtX2NhY2hlZFN0YXRlLmR1
cmF0aW9uID0gbV9wbGF5ZXItPmR1cmF0aW9uKCk7CiAgICAgbV93ZWJQcm9jZXNzQ29ubmVjdGlv
bi0+c2VuZChNZXNzYWdlczo6TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpEdXJhdGlvbkNoYW5n
ZWQobV9jYWNoZWRTdGF0ZSksIG1faWQpOwogfQogCkBAIC00ODgsNiArNTAwLDggQEAgdm9pZCBS
ZW1vdGVNZWRpYVBsYXllclByb3h5OjptZWRpYVBsYXllckNoYXJhY3RlcmlzdGljQ2hhbmdlZCgp
CiB7CiAgICAgdXBkYXRlQ2FjaGVkVmlkZW9NZXRyaWNzKCk7CiAgICAgdXBkYXRlQ2FjaGVkU3Rh
dGUoKTsKKyAgICBtX2NhY2hlZFN0YXRlLmhhc0F1ZGlvID0gbV9wbGF5ZXItPmhhc0F1ZGlvKCk7
CisgICAgbV9jYWNoZWRTdGF0ZS5oYXNWaWRlbyA9IG1fcGxheWVyLT5oYXNWaWRlbygpOwogICAg
IG1fY2FjaGVkU3RhdGUuaGFzQ2xvc2VkQ2FwdGlvbnMgPSBtX3BsYXllci0+aGFzQ2xvc2VkQ2Fw
dGlvbnMoKTsKICAgICBtX2NhY2hlZFN0YXRlLmxhbmd1YWdlT2ZQcmltYXJ5QXVkaW9UcmFjayA9
IG1fcGxheWVyLT5sYW5ndWFnZU9mUHJpbWFyeUF1ZGlvVHJhY2soKTsKIApAQCAtODEwLDEyICs4
MjQsMTQgQEAgYm9vbCBSZW1vdGVNZWRpYVBsYXllclByb3h5OjptZWRpYVBsYXllclNob3VsZENo
ZWNrSGFyZHdhcmVTdXBwb3J0KCkgY29uc3QKIAogdm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5
OjpzdGFydFVwZGF0ZUNhY2hlZFN0YXRlTWVzc2FnZVRpbWVyKCkKIHsKLSAgICBzdGF0aWMgY29u
c3QgU2Vjb25kcyBtYXhUaW1ldXBkYXRlRXZlbnRGcmVxdWVuY3kgeyAxMDBfbXMgfTsKKyAgICBz
dGF0aWMgY29uc3QgU2Vjb25kcyBsZXNzRnJlcXVlbnRUaW1ldXBkYXRlRXZlbnRGcmVxdWVuY3kg
eyAyMDAwX21zIH07CisgICAgc3RhdGljIGNvbnN0IFNlY29uZHMgbW9yZUZyZXF1ZW50VGltZXVw
ZGF0ZUV2ZW50RnJlcXVlbmN5IHsgMjUwX21zIH07CiAKICAgICBpZiAobV91cGRhdGVDYWNoZWRT
dGF0ZU1lc3NhZ2VUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX3Vw
ZGF0ZUNhY2hlZFN0YXRlTWVzc2FnZVRpbWVyLnN0YXJ0UmVwZWF0aW5nKG1heFRpbWV1cGRhdGVF
dmVudEZyZXF1ZW5jeSk7CisgICAgYXV0byBmcmVxdWVuY3kgPSBtX29ic2VydmluZ1RpbWVDaGFu
Z2VzID8gbGVzc0ZyZXF1ZW50VGltZXVwZGF0ZUV2ZW50RnJlcXVlbmN5IDogbW9yZUZyZXF1ZW50
VGltZXVwZGF0ZUV2ZW50RnJlcXVlbmN5OworICAgIG1fdXBkYXRlQ2FjaGVkU3RhdGVNZXNzYWdl
VGltZXIuc3RhcnRSZXBlYXRpbmcoZnJlcXVlbmN5KTsKIH0KIAogdm9pZCBSZW1vdGVNZWRpYVBs
YXllclByb3h5Ojp0aW1lckZpcmVkKCkKQEAgLTgyMywxNyArODM5LDE3IEBAIHZvaWQgUmVtb3Rl
TWVkaWFQbGF5ZXJQcm94eTo6dGltZXJGaXJlZCgpCiAgICAgc2VuZENhY2hlZFN0YXRlKCk7CiB9
CiAKK3ZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6Y3VycmVudFRpbWVDaGFuZ2VkKGNvbnN0
IE1lZGlhVGltZSYgbWVkaWFUaW1lKQoreworICAgIG1fd2ViUHJvY2Vzc0Nvbm5lY3Rpb24tPnNl
bmQoTWVzc2FnZXM6Ok1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6Q3VycmVudFRpbWVDaGFuZ2Vk
KG1lZGlhVGltZSwgTW9ub3RvbmljVGltZTo6bm93KCkpLCBtX2lkKTsKK30KKwogdm9pZCBSZW1v
dGVNZWRpYVBsYXllclByb3h5Ojp1cGRhdGVDYWNoZWRTdGF0ZSgpCiB7Ci0gICAgbV9jYWNoZWRT
dGF0ZS50aW1lc3RhbXAgPSBNb25vdG9uaWNUaW1lOjpub3coKTsKLSAgICBtX2NhY2hlZFN0YXRl
LmN1cnJlbnRUaW1lID0gbV9wbGF5ZXItPmN1cnJlbnRUaW1lKCk7Ci0gICAgbV9jYWNoZWRTdGF0
ZS5kdXJhdGlvbiA9IG1fcGxheWVyLT5kdXJhdGlvbigpOwotICAgIG1fY2FjaGVkU3RhdGUubmV0
d29ya1N0YXRlID0gbV9wbGF5ZXItPm5ldHdvcmtTdGF0ZSgpOwotICAgIG1fY2FjaGVkU3RhdGUu
cmVhZHlTdGF0ZSA9IG1fcGxheWVyLT5yZWFkeVN0YXRlKCk7Ci0gICAgbV9jYWNoZWRTdGF0ZS5t
b3ZpZUxvYWRUeXBlID0gbV9wbGF5ZXItPm1vdmllTG9hZFR5cGUoKTsKKyAgICBpZiAoIW1fb2Jz
ZXJ2aW5nVGltZUNoYW5nZXMpCisgICAgICAgIGN1cnJlbnRUaW1lQ2hhbmdlZChtX3BsYXllci0+
Y3VycmVudFRpbWUoKSk7CisKICAgICBtX2NhY2hlZFN0YXRlLnBhdXNlZCA9IG1fcGxheWVyLT5w
YXVzZWQoKTsKLSAgICBtX2NhY2hlZFN0YXRlLmhhc0F1ZGlvID0gbV9wbGF5ZXItPmhhc0F1ZGlv
KCk7Ci0gICAgbV9jYWNoZWRTdGF0ZS5oYXNWaWRlbyA9IG1fcGxheWVyLT5oYXNWaWRlbygpOwog
ICAgIG1heWJlVXBkYXRlQ2FjaGVkVmlkZW9NZXRyaWNzKCk7CiAgICAgaWYgKG1fYnVmZmVyZWRD
aGFuZ2VkKSB7CiAgICAgICAgIG1fYnVmZmVyZWRDaGFuZ2VkID0gZmFsc2U7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5o
IGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHku
aAppbmRleCA3NzBkN2ZjMjI0OWJkY2M3YTRiYTE2OGRkOWJkOTdjNTdiZjFjMDIzLi5kMDNlYjQ1
YzhhYzlmNjE5MGYyODA2ZDUxM2NjYjM3NGNiMWFlODNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmgKQEAgLTI5
MSw2ICsyOTEsOCBAQCBwcml2YXRlOgogICAgIHZvaWQgY3JlYXRlQXVkaW9Tb3VyY2VQcm92aWRl
cigpOwogICAgIHZvaWQgc2V0U2hvdWxkRW5hYmxlQXVkaW9Tb3VyY2VQcm92aWRlcihib29sKTsK
IAorICAgIHZvaWQgY3VycmVudFRpbWVDaGFuZ2VkKGNvbnN0IE1lZGlhVGltZSYpOworCiAjaWYg
UExBVEZPUk0oQ09DT0EpCiAgICAgdm9pZCBuYXRpdmVJbWFnZUZvckN1cnJlbnRUaW1lKENvbXBs
ZXRpb25IYW5kbGVyPHZvaWQoT3B0aW9uYWw8V1RGOjpNYWNoU2VuZFJpZ2h0PiYmKT4mJik7CiAg
ICAgdm9pZCBwaXhlbEJ1ZmZlckZvckN1cnJlbnRUaW1lKENvbXBsZXRpb25IYW5kbGVyPHZvaWQo
T3B0aW9uYWw8V1RGOjpNYWNoU2VuZFJpZ2h0PiYmKT4mJik7CkBAIC0zNDcsNiArMzQ5LDggQEAg
cHJpdmF0ZToKICNlbmRpZgogICAgIFNjb3BlZFJlbmRlcmluZ1Jlc291cmNlc1JlcXVlc3QgbV9y
ZW5kZXJpbmdSZXNvdXJjZXNSZXF1ZXN0OwogCisgICAgYm9vbCBtX29ic2VydmluZ1RpbWVDaGFu
Z2VzIHsgZmFsc2UgfTsKKwogI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAogICAgIGNvbnN0IExv
Z2dlciYgbV9sb2dnZXI7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmNwcCBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmNwcAppbmRl
eCAzZDhhOTAxN2JjYjY3NDVkMjJlNGFhN2Q5ODRhYzFjNDA2ZmRhNDZiLi4wMzhjZGE3NTMwYTRl
YmY2M2M4Y2ZkMTFlNmE2YmQ4YjdiOGVmNmYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUu
Y3BwCkBAIC0yMDQsOCArMjA0LDggQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnBh
dXNlKCkKIHsKICAgICBtX2NhY2hlZFN0YXRlLnBhdXNlZCA9IHRydWU7CiAgICAgYXV0byBub3cg
PSBNb25vdG9uaWNUaW1lOjpub3coKTsKLSAgICBtX2NhY2hlZFN0YXRlLmN1cnJlbnRUaW1lICs9
IE1lZGlhVGltZTo6Y3JlYXRlV2l0aERvdWJsZShtX3JhdGUgKiAobm93IC0gbV9jYWNoZWRTdGF0
ZS50aW1lc3RhbXApLnZhbHVlKCkpOwotICAgIG1fY2FjaGVkU3RhdGUudGltZXN0YW1wID0gbm93
OworICAgIG1fY2FjaGVkTWVkaWFUaW1lICs9IE1lZGlhVGltZTo6Y3JlYXRlV2l0aERvdWJsZSht
X3JhdGUgKiAobm93IC0gbV9jYWNoZWRNZWRpYVRpbWVRdWVyeVRpbWUpLnZhbHVlKCkpOworICAg
IG1fY2FjaGVkTWVkaWFUaW1lUXVlcnlUaW1lID0gbm93OwogICAgIGNvbm5lY3Rpb24oKS5zZW5k
KE1lc3NhZ2VzOjpSZW1vdGVNZWRpYVBsYXllclByb3h5OjpQYXVzZSgpLCBtX2lkKTsKIH0KIApA
QCAtMjUxLDEwICsyNTEsMTAgQEAgTWVkaWFUaW1lIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6
ZHVyYXRpb25NZWRpYVRpbWUoKSBjb25zdAogCiBNZWRpYVRpbWUgTWVkaWFQbGF5ZXJQcml2YXRl
UmVtb3RlOjpjdXJyZW50TWVkaWFUaW1lKCkgY29uc3QKIHsKLSAgICBpZiAobV9jYWNoZWRTdGF0
ZS5wYXVzZWQgfHwgIW1fY2FjaGVkU3RhdGUuY3VycmVudFRpbWUpCi0gICAgICAgIHJldHVybiBt
X2NhY2hlZFN0YXRlLmN1cnJlbnRUaW1lOworICAgIGlmIChtX2NhY2hlZFN0YXRlLnBhdXNlZCB8
fCAhbV9jYWNoZWRNZWRpYVRpbWUpCisgICAgICAgIHJldHVybiBtX2NhY2hlZE1lZGlhVGltZTsK
IAotICAgIHJldHVybiBtX2NhY2hlZFN0YXRlLmN1cnJlbnRUaW1lICsgTWVkaWFUaW1lOjpjcmVh
dGVXaXRoRG91YmxlKG1fcmF0ZSAqIChNb25vdG9uaWNUaW1lOjpub3coKSAtIG1fY2FjaGVkU3Rh
dGUudGltZXN0YW1wKS5zZWNvbmRzKCkpOworICAgIHJldHVybiBtX2NhY2hlZE1lZGlhVGltZSAr
IE1lZGlhVGltZTo6Y3JlYXRlV2l0aERvdWJsZShtX3JhdGUgKiAoTW9ub3RvbmljVGltZTo6bm93
KCkgLSBtX2NhY2hlZE1lZGlhVGltZVF1ZXJ5VGltZSkuc2Vjb25kcygpKTsKIH0KIAogdm9pZCBN
ZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnNlZWsoY29uc3QgTWVkaWFUaW1lJiB0aW1lKQpAQCAt
MzUxLDggKzM1MSw4IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpyYXRlQ2hhbmdl
ZChkb3VibGUgcmF0ZSkKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpwbGF5YmFja1N0
YXRlQ2hhbmdlZChib29sIHBhdXNlZCwgTWVkaWFUaW1lJiYgbWVkaWFUaW1lLCBNb25vdG9uaWNU
aW1lJiYgd2FsbFRpbWUpCiB7CiAgICAgbV9jYWNoZWRTdGF0ZS5wYXVzZWQgPSBwYXVzZWQ7Ci0g
ICAgbV9jYWNoZWRTdGF0ZS5jdXJyZW50VGltZSA9IG1lZGlhVGltZTsKLSAgICBtX2NhY2hlZFN0
YXRlLnRpbWVzdGFtcCA9IHdhbGxUaW1lOworICAgIG1fY2FjaGVkTWVkaWFUaW1lID0gbWVkaWFU
aW1lOworICAgIG1fY2FjaGVkTWVkaWFUaW1lUXVlcnlUaW1lID0gd2FsbFRpbWU7CiAgICAgbV9w
bGF5ZXItPnBsYXliYWNrU3RhdGVDaGFuZ2VkKCk7CiB9CiAKQEAgLTM3NCw2ICszNzQsMTIgQEAg
dm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnNpemVDaGFuZ2VkKFdlYkNvcmU6OkZsb2F0
U2l6ZSBuYXR1cmFsU2l6ZSkKICAgICBtX3BsYXllci0+c2l6ZUNoYW5nZWQoKTsKIH0KIAordm9p
ZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OmN1cnJlbnRUaW1lQ2hhbmdlZChjb25zdCBNZWRp
YVRpbWUmIG1lZGlhVGltZSwgY29uc3QgTW9ub3RvbmljVGltZSYgcXVlcnlUaW1lKQoreworICAg
IG1fY2FjaGVkTWVkaWFUaW1lID0gbWVkaWFUaW1lOworICAgIG1fY2FjaGVkTWVkaWFUaW1lUXVl
cnlUaW1lID0gcXVlcnlUaW1lOworfQorCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6
Zmlyc3RWaWRlb0ZyYW1lQXZhaWxhYmxlKCkKIHsKICAgICBJTkZPX0xPRyhMT0dJREVOVElGSUVS
KTsKQEAgLTQyNyw4ICs0MzMsNiBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6dXBk
YXRlQ2FjaGVkU3RhdGUoUmVtb3RlTWVkaWFQbGF5ZXJTdGF0ZSYmIHN0YXRlKQogewogICAgIGNv
bnN0IFNlY29uZHMgcGxheWJhY2tRdWFsaXR5TWV0cmljc1RpbWVvdXQgPSAzMF9zOwogCi0gICAg
bV9jYWNoZWRTdGF0ZS50aW1lc3RhbXAgPSBzdGF0ZS50aW1lc3RhbXA7Ci0gICAgbV9jYWNoZWRT
dGF0ZS5jdXJyZW50VGltZSA9IHN0YXRlLmN1cnJlbnRUaW1lOwogICAgIG1fY2FjaGVkU3RhdGUu
ZHVyYXRpb24gPSBzdGF0ZS5kdXJhdGlvbjsKICAgICBtX2NhY2hlZFN0YXRlLm1pblRpbWVTZWVr
YWJsZSA9IHN0YXRlLm1pblRpbWVTZWVrYWJsZTsKICAgICBtX2NhY2hlZFN0YXRlLm1heFRpbWVT
ZWVrYWJsZSA9IHN0YXRlLm1heFRpbWVTZWVrYWJsZTsKQEAgLTEyMjAsMTIgKzEyMjQsMTIgQEAg
dm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OmFwcGxpY2F0aW9uRGlkQmVjb21lQWN0aXZl
KCkKIAogYm9vbCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnBlcmZvcm1UYXNrQXRNZWRpYVRp
bWUoV1RGOjpGdW5jdGlvbjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIsIGNvbnN0IE1lZGlh
VGltZSYgbWVkaWFUaW1lKQogewotICAgIGF1dG8gYXN5bmNSZXBseUhhbmRsZXIgPSBbd2Vha1Ro
aXMgPSBtYWtlV2Vha1B0cigqdGhpcyksIHRoaXMsIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92
ZShjb21wbGV0aW9uSGFuZGxlcildKE9wdGlvbmFsPE1lZGlhVGltZT4gY3VycmVudFRpbWUsIE9w
dGlvbmFsPE1vbm90b25pY1RpbWU+IHdhbGxUaW1lKSBtdXRhYmxlIHsKLSAgICAgICAgaWYgKCF3
ZWFrVGhpcyB8fCAhY3VycmVudFRpbWUgfHwgIXdhbGxUaW1lKQorICAgIGF1dG8gYXN5bmNSZXBs
eUhhbmRsZXIgPSBbd2Vha1RoaXMgPSBtYWtlV2Vha1B0cigqdGhpcyksIHRoaXMsIGNvbXBsZXRp
b25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildKE9wdGlvbmFsPE1lZGlhVGlt
ZT4gY3VycmVudFRpbWUsIE9wdGlvbmFsPE1vbm90b25pY1RpbWU+IHF1ZXJ5VGltZSkgbXV0YWJs
ZSB7CisgICAgICAgIGlmICghd2Vha1RoaXMgfHwgIWN1cnJlbnRUaW1lIHx8ICFxdWVyeVRpbWUp
CiAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAgbV9jYWNoZWRTdGF0ZS5jdXJyZW50VGlt
ZSA9ICpjdXJyZW50VGltZTsKLSAgICAgICAgbV9jYWNoZWRTdGF0ZS50aW1lc3RhbXAgPSAqd2Fs
bFRpbWU7CisgICAgICAgIG1fY2FjaGVkTWVkaWFUaW1lID0gKmN1cnJlbnRUaW1lOworICAgICAg
ICBtX2NhY2hlZE1lZGlhVGltZVF1ZXJ5VGltZSA9ICpxdWVyeVRpbWU7CiAgICAgICAgIGNvbXBs
ZXRpb25IYW5kbGVyKCk7CiAgICAgfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuaCBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmgKaW5kZXgg
NTgyNDFiNjNhNzEyM2RlNjIwNzBiODYyMGUyOGY4YjgyMDM5N2MxYS4uNjg4NzRhOTBiZmFkY2U2
ZjgxYzJjZjNmZDJhY2ZjODkyNGJjZDQzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5oCkBA
IC0xMTAsNiArMTEwLDggQEAgcHVibGljOgogICAgIHZvaWQgc2V0VmlkZW9JbmxpbmVTaXplRmVu
Y2VkKGNvbnN0IFdlYkNvcmU6OkludFNpemUmLCBjb25zdCBXVEY6Ok1hY2hTZW5kUmlnaHQmKTsK
ICNlbmRpZgogCisgICAgdm9pZCBjdXJyZW50VGltZUNoYW5nZWQoY29uc3QgTWVkaWFUaW1lJiwg
Y29uc3QgTW9ub3RvbmljVGltZSYpOworCiAgICAgdm9pZCBhZGRSZW1vdGVBdWRpb1RyYWNrKFRy
YWNrUHJpdmF0ZVJlbW90ZUlkZW50aWZpZXIsIFRyYWNrUHJpdmF0ZVJlbW90ZUNvbmZpZ3VyYXRp
b24mJik7CiAgICAgdm9pZCByZW1vdmVSZW1vdGVBdWRpb1RyYWNrKFRyYWNrUHJpdmF0ZVJlbW90
ZUlkZW50aWZpZXIpOwogICAgIHZvaWQgcmVtb3RlQXVkaW9UcmFja0NvbmZpZ3VyYXRpb25DaGFu
Z2VkKFRyYWNrUHJpdmF0ZVJlbW90ZUlkZW50aWZpZXIsIFRyYWNrUHJpdmF0ZVJlbW90ZUNvbmZp
Z3VyYXRpb24mJik7CkBAIC00MTUsNiArNDE3LDkgQEAgcHJpdmF0ZToKICAgICBXZWJDb3JlOjpT
ZWN1cml0eU9yaWdpbkRhdGEgbV9kb2N1bWVudFNlY3VyaXR5T3JpZ2luOwogICAgIG11dGFibGUg
SGFzaE1hcDxXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEsIE9wdGlvbmFsPGJvb2w+PiBtX3dv
dWxkVGFpbnRPcmlnaW5DYWNoZTsKIAorICAgIE1lZGlhVGltZSBtX2NhY2hlZE1lZGlhVGltZTsK
KyAgICBNb25vdG9uaWNUaW1lIG1fY2FjaGVkTWVkaWFUaW1lUXVlcnlUaW1lOworCiAgICAgTW9u
b3RvbmljVGltZSBtX2xhc3RQbGF5YmFja1F1YWxpdHlNZXRyaWNzUXVlcnlUaW1lOwogICAgIFNl
Y29uZHMgbV92aWRlb1BsYXliYWNrTWV0cmljc1VwZGF0ZUludGVydmFsOwogICAgIGRvdWJsZSBt
X3ZvbHVtZSB7IDEgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUv
bWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUubWVzc2FnZXMu
aW4KaW5kZXggNzU0NTU3NjIzNGM4NzhlMDhmMjc1OTE2ZDhhN2Y4M2ZiZDZjZDk1ZS4uMTliNmE0
Njg5NmE5NzU1MTJlYzljMDlmZmJhZTE4YTVkYjkwOTdkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUubWVzc2Fn
ZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXll
clByaXZhdGVSZW1vdGUubWVzc2FnZXMuaW4KQEAgLTM5LDYgKzM5LDggQEAgbWVzc2FnZXMgLT4g
TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlIE5vdFJlZkNvdW50ZWQgewogICAgIFNpemVDaGFuZ2Vk
KFdlYkNvcmU6OkZsb2F0U2l6ZSBuYXR1cmFsU2l6ZSkKICAgICBSZW5kZXJpbmdNb2RlQ2hhbmdl
ZCgpCiAKKyAgICBDdXJyZW50VGltZUNoYW5nZWQoTWVkaWFUaW1lIG1lZGlhVGltZSwgTW9ub3Rv
bmljVGltZSB3YWxsVGltZSkKKwogICAgIEFkZFJlbW90ZUF1ZGlvVHJhY2soV2ViS2l0OjpUcmFj
a1ByaXZhdGVSZW1vdGVJZGVudGlmaWVyIHRyYWNrSUQsIHN0cnVjdCBXZWJLaXQ6OlRyYWNrUHJp
dmF0ZVJlbW90ZUNvbmZpZ3VyYXRpb24gY29uZmlndXJhdGlvbikKICAgICBSZW1vdmVSZW1vdGVB
dWRpb1RyYWNrKFdlYktpdDo6VHJhY2tQcml2YXRlUmVtb3RlSWRlbnRpZmllciB0cmFja0lEKQog
ICAgIFJlbW90ZUF1ZGlvVHJhY2tDb25maWd1cmF0aW9uQ2hhbmdlZChXZWJLaXQ6OlRyYWNrUHJp
dmF0ZVJlbW90ZUlkZW50aWZpZXIgdHJhY2tJRCwgc3RydWN0IFdlYktpdDo6VHJhY2tQcml2YXRl
UmVtb3RlQ29uZmlndXJhdGlvbiBjb25maWd1cmF0aW9uKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclN0YXRlLmggYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyU3RhdGUuaApp
bmRleCBiZjRmOWI1MmFlNGRmZmI4MWUxYmZmYjllZGUxZGYyZTBhZjJhZTk1Li4xZjc5Y2U1Mzgx
N2IwNWE3NjVjMmE3Y2Y5M2NlYjQzNzU3NTIzMDczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyU3RhdGUuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyU3RhdGUuaApA
QCAtMzcsOCArMzcsNiBAQAogbmFtZXNwYWNlIFdlYktpdCB7CiAKIHN0cnVjdCBSZW1vdGVNZWRp
YVBsYXllclN0YXRlIHsKLSAgICBNb25vdG9uaWNUaW1lIHRpbWVzdGFtcDsKLSAgICBNZWRpYVRp
bWUgY3VycmVudFRpbWU7CiAgICAgTWVkaWFUaW1lIGR1cmF0aW9uOwogICAgIE1lZGlhVGltZSBt
aW5UaW1lU2Vla2FibGU7CiAgICAgTWVkaWFUaW1lIG1heFRpbWVTZWVrYWJsZTsKQEAgLTcyLDgg
KzcwLDYgQEAgc3RydWN0IFJlbW90ZU1lZGlhUGxheWVyU3RhdGUgewogICAgIHRlbXBsYXRlPGNs
YXNzIEVuY29kZXI+CiAgICAgdm9pZCBlbmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QKICAg
ICB7Ci0gICAgICAgIGVuY29kZXIgPDwgdGltZXN0YW1wOwotICAgICAgICBlbmNvZGVyIDw8IGN1
cnJlbnRUaW1lOwogICAgICAgICBlbmNvZGVyIDw8IGR1cmF0aW9uOwogICAgICAgICBlbmNvZGVy
IDw8IG1pblRpbWVTZWVrYWJsZTsKICAgICAgICAgZW5jb2RlciA8PCBtYXhUaW1lU2Vla2FibGU7
CkBAIC0xMDgsMTYgKzEwNCw2IEBAIHN0cnVjdCBSZW1vdGVNZWRpYVBsYXllclN0YXRlIHsKICAg
ICB0ZW1wbGF0ZSA8Y2xhc3MgRGVjb2Rlcj4KICAgICBzdGF0aWMgT3B0aW9uYWw8UmVtb3RlTWVk
aWFQbGF5ZXJTdGF0ZT4gZGVjb2RlKERlY29kZXImIGRlY29kZXIpCiAgICAgewotICAgICAgICBP
cHRpb25hbDxNb25vdG9uaWNUaW1lPiB0aW1lc3RhbXA7Ci0gICAgICAgIGRlY29kZXIgPj4gdGlt
ZXN0YW1wOwotICAgICAgICBpZiAoIXRpbWVzdGFtcCkKLSAgICAgICAgICAgIHJldHVybiBXVEY6
Om51bGxvcHQ7Ci0KLSAgICAgICAgT3B0aW9uYWw8TWVkaWFUaW1lPiBjdXJyZW50VGltZTsKLSAg
ICAgICAgZGVjb2RlciA+PiBjdXJyZW50VGltZTsKLSAgICAgICAgaWYgKCFjdXJyZW50VGltZSkK
LSAgICAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7Ci0KICAgICAgICAgT3B0aW9uYWw8TWVk
aWFUaW1lPiBkdXJhdGlvbjsKICAgICAgICAgZGVjb2RlciA+PiBkdXJhdGlvbjsKICAgICAgICAg
aWYgKCFkdXJhdGlvbikKQEAgLTI2MCw4ICsyNDYsNiBAQCBzdHJ1Y3QgUmVtb3RlTWVkaWFQbGF5
ZXJTdGF0ZSB7CiAgICAgICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwogCiAgICAgICAgIHJl
dHVybiB7ewotICAgICAgICAgICAgV1RGTW92ZSgqdGltZXN0YW1wKSwKLSAgICAgICAgICAgIFdU
Rk1vdmUoKmN1cnJlbnRUaW1lKSwKICAgICAgICAgICAgIFdURk1vdmUoKmR1cmF0aW9uKSwKICAg
ICAgICAgICAgIFdURk1vdmUoKm1pblRpbWVTZWVrYWJsZSksCiAgICAgICAgICAgICBXVEZNb3Zl
KCptYXhUaW1lU2Vla2FibGUpLAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>427812</attachid>
            <date>2021-05-05 15:12:01 -0700</date>
            <delta_ts>2021-05-06 11:18:05 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-225396-20210505151200.patch</filename>
            <type>text/plain</type>
            <size>24090</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc3MDI4CjIwMjEtMDUtMDVUMTU6MDk6NTksMTg2OiBbMHgx
MWFiZGFlMDBdIHdoaWxlIGNvbXB1dGluZyBzb2NrbmFtZTogZmFpbGVkIHRvIGNyZWF0ZSAvdXNy
L2xvY2FsL3Zhci9ydW4vd2F0Y2htYW4vZXJpYy1zdGF0ZTogTm8gc3VjaCBmaWxlIG9yIGRpcmVj
dG9yeQpXYXRjaG1hbjogY29tbWFuZCByZXR1cm5lZCBubyBvdXRwdXQuCkZhbGxpbmcgYmFjayB0
byBzY2FubmluZy4uLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDIxY2Q5YjcyOTcwMTViNDNjYWQyY2RjMjdiYzQ5
MjE4ZjRiZWY1MGIuLjQ1ZGQ1ZmZjZGE3MTQ1NzI2MDkwOTk1YWZiMThiZDhiZGU4OTNiMTEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwyNCBAQAorMjAyMS0wNS0wNSAgRXJpYyBDYXJsc29uICA8ZXJp
Yy5jYXJsc29uQGFwcGxlLmNvbT4KKworICAgICAgICBbR1BVUF0gUmVkdWNlIE1lZGlhUGxheWVy
IHBvbGxpbmcgZnJlcXVlbmN5IHdoZW4gcG9zc2libGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNTM5NgorICAgICAgICA8cmRhcjovL3Byb2JsZW0v
Nzc1NjI2NDM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgSmVyIE5vYmxlLgorCisgICAgICAgIEFk
ZCBhIGN1cnJlbnRUaW1lIGNoYW5nZWQgY2FsbGJhY2sgdG8gTWVkaWFQbGF5ZXJQcml2YXRlSW50
ZXJmYWNlIHNvIGEgY2xpZW50CisgICAgICAgIGRvZW5zJ3QgaGF2ZSB0byBwb2xsIGZvciB0aW1l
IGNoYW5nZXMuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllcjo6c2V0Q3VycmVudFRpbWVEaWRDaGFuZ2VD
YWxsYmFjayk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZhdGUuaDoKKyAgICAgICAg
KFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZTo6c2V0Q3VycmVudFRpbWVEaWRD
aGFuZ2VDYWxsYmFjayk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9u
L29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5oOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91
bmRhdGlvbk9iakMubW06CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVBVkZv
dW5kYXRpb25PYmpDOjpzZXRDdXJyZW50VGltZURpZENoYW5nZUNhbGxiYWNrKToKKyAgICAgICAg
KFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OmN1cnJlbnRNZWRp
YVRpbWVEaWRDaGFuZ2UgY29uc3QpOgorCiAyMDIxLTA1LTA1ICBZb3Vlbm4gRmFibGV0ICA8eW91
ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBObyBuZWVkIHRvIGVycm9yIGEgZmV0Y2ggYm9keSBz
dHJlYW0gaWYgaXRzIHJlcXVlc3Qgb3IgcmVzcG9uc2UgaXMgc3RvcHBlZApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCAx
MmRmZTg5YjQzMTAyOTNlYjhjNjEwYWMxNTEyMDAzZWQ0NTMzYmU0Li5mZDUyZjU5ZWZmNDE2NDI2
ZTYxYmJjMGUxM2I3NTE5NWZhNjdiYzM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDU1IEBACisyMDIx
LTA1LTA1ICBFcmljIENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAg
IFtHUFVQXSBSZWR1Y2UgTWVkaWFQbGF5ZXIgcG9sbGluZyBmcmVxdWVuY3kgd2hlbiBwb3NzaWJs
ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI1Mzk2
CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83NzU2MjY0Mz4KKworICAgICAgICBSZXZpZXdlZCBi
eSBKZXIgTm9ibGUuCisKKyAgICAgICAgV2hlbiB0aGUgTWVkaWFQbGF5ZXJQcml2YXRlIHN1cHBv
cnRzIHRoZSBuZXcgImN1cnJlbnQgdGltZSBjaGFuZ2VkIiBjYWxsYmFjaywgdXNlIGl0CisgICAg
ICAgIGtub3cgd2hlbiBjdXJyZW50VGltZSBjaGFuZ2VzIGluc3RlYWQgb2YgcG9sbGluZyBhdCBh
IGZpeGVkIGZyZXF1ZW5jeS4gQ3VycmVudCB0aW1lCisgICAgICAgIGNoYW5nZXMgbXVjaCBtb3Jl
IGZyZXF1ZW50bHkgdGhhbiB0aGUgb3RoZXIgc3RhdGUgdGhhdCBuZWVkcyB0byBiZSBwdXNoZWQg
dG8gdGhlCisgICAgICAgIHdlYiBwcm9jZXNzIHBlcmlvZGljYWxseSBzbyBzcGxpdCBjdXJyZW50
IHRpbWUgb3V0IG9mIHRoZSAiY2FjaGVkIHN0YXRlIiBzdHJ1Y3QKKyAgICAgICAgYW5kIHB1c2gg
aXQgc2VwYXJhdGVseSB3aGVuIGl0IGNoYW5nZXMsIHdoaWNoIGFsc28gYWxsb3cgdXMgdG8gcmVk
dWNlIHRoZSBwb2xsaW5nCisgICAgICAgIGZyZXF1ZW5jeSBzaWduaWZpY2FudGx5LgorCisgICAg
ICAgIFNvbWUgb2YgdGhlIHN0YXRlIHdlIHdlcmUgdXBkYXRpbmcgZXZlcnkgdGltZSB0aGUgY2Fj
aGVkIHN0YXRlIHRpbWVyIGZpcmVkIG9ubHkKKyAgICAgICAgY2hhbmdlcyBhdCBrbm93biB0aW1l
cywgc28gcmVkdWNlIHRoZSBudW1iZXIgb2YgdGhpbmdzIHVwZGF0ZWQgZXZlcnkgdGltZSBzdGF0
ZSAKKyAgICAgICAgaXMgcHVzaGVkLgorCisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1v
dGVNZWRpYVBsYXllclByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFQbGF5
ZXJQcm94eTo6Z2V0Q29uZmlndXJhdGlvbik6IFNldCB0aGUgdGltZUNoYW5nZWQgY2FsbGJhY2su
CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhUGxheWVyUHJveHk6Om1lZGlhUGxheWVyTmV0
d29ya1N0YXRlQ2hhbmdlZCk6IFVwZGF0ZSBjYWNoZWQgCisgICAgICAgIHJlYWR5U3RhdGUgYW5k
IG5ldHdvcmtTdGF0ZSBzaW5jZSB0aGV5IGFyZW4ndCB1cGRhdGVkIGJ5IHVwZGF0ZUNhY2hlZFN0
YXRlLgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVBsYXllclByb3h5OjptZWRpYVBsYXll
clJlYWR5U3RhdGVDaGFuZ2VkKTogRGl0dG8uCisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlh
UGxheWVyUHJveHk6Om1lZGlhUGxheWVyRHVyYXRpb25DaGFuZ2VkKTogVXBkYXRlIGNhY2hlZCBk
dXJhdGlvbi4KKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6bWVkaWFQ
bGF5ZXJDaGFyYWN0ZXJpc3RpY0NoYW5nZWQpOiBVcGRhdGUgaGFzQXVkaW8KKyAgICAgICAgYW5k
IGhhc1ZpZGVvLgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVBsYXllclByb3h5OjpzdGFy
dFVwZGF0ZUNhY2hlZFN0YXRlTWVzc2FnZVRpbWVyKTogRGVjcmVhc2UgdGhlCisgICAgICAgIHRp
bWUgZnJlcXVlbmN5IHRvIDIwMG1zIHdoZW4gdGhlIHBsYXllciBzdXBwb3J0cyB0aGUgdGltZSBj
aGFuZ2UgY2FsbGJhY2suIERlY3JlYXNlCisgICAgICAgIGl0IHRvIDI1MG1zIGV2ZW4gd2hlbiBp
dCBkb2Vzbid0IGJlY2F1c2Ugd2UgaW50ZXJwb2xhdGUgdGltZSBpbiB0aGUgV1AgYW55d2F5Lgor
ICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVBsYXllclByb3h5OjpjdXJyZW50VGltZUNoYW5n
ZWQpOiBTZW5kIHRoZSB0aW1lIGNoYW5nZS4KKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFQ
bGF5ZXJQcm94eTo6dXBkYXRlQ2FjaGVkU3RhdGUpOiBTZW5kIEN1cnJlbnRUaW1lQ2hhbmdlZCBp
ZgorICAgICAgICB0aGUgcGxheWVyIGRvZXNuJ3Qgc3VwcG9ydCB0aGUgbmV3IGNhbGxiYWNrLiBE
b24ndCB1cGRhdGUgcHJvcGVydGllcyB0aGF0IGNoYW5nZQorICAgICAgICBhdCBwcmVkaWN0YWJs
ZSB0aW1lcy4KKyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJv
eHkuaDoKKworICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0
ZVJlbW90ZS5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6
cGF1c2UpOiBVc2UgbV9jYWNoZWRNZWRpYVRpbWUgYW5kIG1fY2FjaGVkTWVkaWFUaW1lUXVlcnlU
aW1lCisgICAgICAgIGluc3RlYWQgb2YgbV9jYWNoZWRTdGF0ZS5jdXJyZW50VGltZSBhbmQgbV9j
YWNoZWRTdGF0ZS50aW1lc3RhbXAuCisgICAgICAgIChXZWJLaXQ6Ok1lZGlhUGxheWVyUHJpdmF0
ZVJlbW90ZTo6Y3VycmVudE1lZGlhVGltZSBjb25zdCk6IERpdHRvLgorICAgICAgICAoV2ViS2l0
OjpNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnBsYXliYWNrU3RhdGVDaGFuZ2VkKTogRGl0dG8u
CisgICAgICAgIChXZWJLaXQ6Ok1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6Y3VycmVudFRpbWVD
aGFuZ2VkKTogVXBkYXRlIHRpbWUgaW5zdGFuY2UgdmFyaWFibGVzLgorICAgICAgICAoV2ViS2l0
OjpNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnVwZGF0ZUNhY2hlZFN0YXRlKToKKyAgICAgICAg
KFdlYktpdDo6TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpwZXJmb3JtVGFza0F0TWVkaWFUaW1l
KTogVXNlIG1fY2FjaGVkTWVkaWFUaW1lIAorICAgICAgICBhbmQgbV9jYWNoZWRNZWRpYVRpbWVR
dWVyeVRpbWUgaW5zdGVhZCBvZiBtX2NhY2hlZFN0YXRlLmN1cnJlbnRUaW1lIGFuZCBtX2NhY2hl
ZFN0YXRlLnRpbWVzdGFtcC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBs
YXllclByaXZhdGVSZW1vdGUuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRp
YVBsYXllclByaXZhdGVSZW1vdGUubWVzc2FnZXMuaW46CisKKyAgICAgICAgKiBXZWJQcm9jZXNz
L0dQVS9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclN0YXRlLmg6CisgICAgICAgIChXZWJLaXQ6OlJl
bW90ZU1lZGlhUGxheWVyU3RhdGU6OmVuY29kZSBjb25zdCk6IFJlbW92ZSBjdXJyZW50VGltZSBh
bmQgdGltZXN0YW1wLgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVBsYXllclN0YXRlOjpk
ZWNvZGUpOiBEaXR0by4KKwogMjAyMS0wNS0wNSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBs
ZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTiAocjI3NjYzMyk6IEFTU0VSVElPTiBGQUlMRUQ6
ICFmb3JiaWRNYWxsb2NVc2VTY29wZUNvdW50IHx8IGRpc2FibGVNYWxsb2NSZXN0cmljdGlvblNj
b3BlQ291bnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01l
ZGlhUGxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxh
eWVyLmNwcAppbmRleCAyMzA2ZGY2YzU1ZjFmZWVlN2U1NGU0Mjk4YmU1Zjk1MDA0MzBjZDliLi4x
ZDBiZTgzNDZmZmIyNGFjNzNhYzRlOTJjMWFhMWMzNGU1Y2U2NDg5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCkBAIC03MTMsNiArNzEz
LDExIEBAIE1lZGlhVGltZSBNZWRpYVBsYXllcjo6Y3VycmVudFRpbWUoKSBjb25zdAogICAgIHJl
dHVybiBtX3ByaXZhdGUtPmN1cnJlbnRNZWRpYVRpbWUoKTsKIH0KIAorYm9vbCBNZWRpYVBsYXll
cjo6c2V0Q3VycmVudFRpbWVEaWRDaGFuZ2VDYWxsYmFjayhDdXJyZW50VGltZURpZENoYW5nZUNh
bGxiYWNrJiYgY2FsbGJhY2spCit7CisgICAgcmV0dXJuIG1fcHJpdmF0ZS0+c2V0Q3VycmVudFRp
bWVEaWRDaGFuZ2VDYWxsYmFjayhXVEZNb3ZlKGNhbGxiYWNrKSk7Cit9CisKIE1lZGlhVGltZSBN
ZWRpYVBsYXllcjo6Z2V0U3RhcnREYXRlKCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9wcml2YXRl
LT5nZXRTdGFydERhdGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL01lZGlhUGxheWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9N
ZWRpYVBsYXllci5oCmluZGV4IDEwODY5MjgxMjg0Y2QyYzBkMDAyYzY0YWQ1MmNmNjgxYzE3MDg3
NzguLjhmOTZmYjQ1NWRmY2JjZDA4MjVjNzljMzhhZDk2NTkzZTc1MTAwNGUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaApAQCAtMzk2LDYgKzM5
Niw5IEBAIHB1YmxpYzoKICAgICB2b2lkIHNlZWtXaGVuUG9zc2libGUoY29uc3QgTWVkaWFUaW1l
Jik7CiAgICAgdm9pZCBzZWVrV2l0aFRvbGVyYW5jZShjb25zdCBNZWRpYVRpbWUmLCBjb25zdCBN
ZWRpYVRpbWUmIG5lZ2F0aXZlVG9sZXJhbmNlLCBjb25zdCBNZWRpYVRpbWUmIHBvc2l0aXZlVG9s
ZXJhbmNlKTsKIAorICAgIHVzaW5nIEN1cnJlbnRUaW1lRGlkQ2hhbmdlQ2FsbGJhY2sgPSBzdGQ6
OmZ1bmN0aW9uPHZvaWQoY29uc3QgTWVkaWFUaW1lJik+OworICAgIGJvb2wgc2V0Q3VycmVudFRp
bWVEaWRDaGFuZ2VDYWxsYmFjayhDdXJyZW50VGltZURpZENoYW5nZUNhbGxiYWNrJiYpOworCiAg
ICAgTWVkaWFUaW1lIHN0YXJ0VGltZSgpIGNvbnN0OwogICAgIE1lZGlhVGltZSBpbml0aWFsVGlt
ZSgpIGNvbnN0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9NZWRpYVBsYXllclByaXZhdGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L01lZGlhUGxheWVyUHJpdmF0ZS5oCmluZGV4IGFmM2FiY2ZmMWE2Y2ZiNGFhZjUwZDhhYTI0NzY3
NzA2NjE1NDQ0NGIuLjljZmNiMGQ0YTRlODZiZDU1MDFhMjg0ZThmYjBmZTNiYjYwMjBhZGIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJp
dmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVy
UHJpdmF0ZS5oCkBAIC0xMDYsNiArMTA2LDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgZG91Ymxl
IGN1cnJlbnRUaW1lRG91YmxlKCkgY29uc3QgeyByZXR1cm4gY3VycmVudFRpbWUoKTsgfQogICAg
IHZpcnR1YWwgTWVkaWFUaW1lIGN1cnJlbnRNZWRpYVRpbWUoKSBjb25zdCB7IHJldHVybiBNZWRp
YVRpbWU6OmNyZWF0ZVdpdGhEb3VibGUoY3VycmVudFRpbWVEb3VibGUoKSk7IH0KIAorICAgIHZp
cnR1YWwgYm9vbCBzZXRDdXJyZW50VGltZURpZENoYW5nZUNhbGxiYWNrKE1lZGlhUGxheWVyOjpD
dXJyZW50VGltZURpZENoYW5nZUNhbGxiYWNrJiYpIHsgcmV0dXJuIGZhbHNlOyB9CisKICAgICB2
aXJ0dWFsIE1lZGlhVGltZSBnZXRTdGFydERhdGUoKSBjb25zdCB7IHJldHVybiBNZWRpYVRpbWU6
OmNyZWF0ZVdpdGhEb3VibGUoc3RkOjpudW1lcmljX2xpbWl0czxkb3VibGU+OjpxdWlldF9OYU4o
KSk7IH0KIAogICAgIHZpcnR1YWwgdm9pZCBzZWVrKGZsb2F0KSB7IH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxh
eWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9i
akMuaAppbmRleCA0MWE2MzM2NzJhYjQyMDUyNWQ0OTJiMGMwMDQ1ZjQ4ZTJhZGU3ZGE3Li43NWZk
YzZhYWM2YWIzNWNlNjRiODI3OGNiNTAwYjNkYTYwMzUzMjU4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclBy
aXZhdGVBVkZvdW5kYXRpb25PYmpDLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2Jq
Qy5oCkBAIC0zMjIsNiArMzIyLDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGF1ZGlvT3V0cHV0RGV2
aWNlQ2hhbmdlZCgpIGZpbmFsOwogCiAgICAgdm9pZCBjdXJyZW50TWVkaWFUaW1lRGlkQ2hhbmdl
KE1lZGlhVGltZSYmKSBjb25zdDsKKyAgICBib29sIHNldEN1cnJlbnRUaW1lRGlkQ2hhbmdlQ2Fs
bGJhY2soTWVkaWFQbGF5ZXI6OkN1cnJlbnRUaW1lRGlkQ2hhbmdlQ2FsbGJhY2smJikgZmluYWw7
CiAKICAgICBSZXRhaW5QdHI8QVZVUkxBc3NldD4gbV9hdkFzc2V0OwogICAgIFJldGFpblB0cjxB
VlBsYXllcj4gbV9hdlBsYXllcjsKQEAgLTM5NCw2ICszOTUsNyBAQCBwcml2YXRlOgogICAgIFJl
dGFpblB0cjxOU0FycmF5PiBtX2N1cnJlbnRNZXRhRGF0YTsKICAgICBGbG9hdFNpemUgbV9jYWNo
ZWRQcmVzZW50YXRpb25TaXplOwogICAgIE1lZGlhVGltZSBtX2NhY2hlZER1cmF0aW9uOworICAg
IG11dGFibGUgTWVkaWFQbGF5ZXI6OkN1cnJlbnRUaW1lRGlkQ2hhbmdlQ2FsbGJhY2sgbV9jdXJy
ZW50VGltZURpZENoYW5nZUNhbGxiYWNrOwogICAgIG11dGFibGUgTWVkaWFUaW1lIG1fY2FjaGVk
Q3VycmVudE1lZGlhVGltZTsKICAgICBtdXRhYmxlIE9wdGlvbmFsPFdhbGxUaW1lPiBtX3dhbGxD
bG9ja0F0Q2FjaGVkQ3VycmVudFRpbWU7CiAgICAgbXV0YWJsZSBpbnQgbV90aW1lQ29udHJvbFN0
YXR1c0F0Q2FjaGVkQ3VycmVudFRpbWUgeyAwIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVB
VkZvdW5kYXRpb25PYmpDLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZm
b3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbQppbmRl
eCBiYmM5NTA3NjY4ZDdiOTk2YmFjZDc1ZjA2MjNmZDkyMjIxNmQ1NmNlLi4wM2M2ODNmYzQ5MWM3
MjMxODFiYjRhMDU1NzlmNmM4YTMxNzY0ZmI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZv
dW5kYXRpb25PYmpDLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2
Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0KQEAg
LTE0NTMsMTIgKzE0NTMsMjEgQEAgTWVkaWFUaW1lIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRh
dGlvbk9iakM6OmN1cnJlbnRNZWRpYVRpbWUoKSBjb25zdAogICAgIHJldHVybiBzdGQ6Om1pbihz
dGQ6Om1heChpdGVtVGltZSwgTWVkaWFUaW1lOjp6ZXJvVGltZSgpKSwgbV9jYWNoZWREdXJhdGlv
bik7CiB9CiAKLXZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6Y3VycmVu
dE1lZGlhVGltZURpZENoYW5nZShXVEY6Ok1lZGlhVGltZSYmIHRpbWUpIGNvbnN0Citib29sIE1l
ZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OnNldEN1cnJlbnRUaW1lRGlkQ2hhbmdl
Q2FsbGJhY2soTWVkaWFQbGF5ZXI6OkN1cnJlbnRUaW1lRGlkQ2hhbmdlQ2FsbGJhY2smJiBjYWxs
YmFjaykKIHsKLSAgICBtX2NhY2hlZEN1cnJlbnRNZWRpYVRpbWUgPSB0aW1lOworICAgIG1fY3Vy
cmVudFRpbWVEaWRDaGFuZ2VDYWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spOworICAgIHJldHVy
biB0cnVlOworfQorCit2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OmN1
cnJlbnRNZWRpYVRpbWVEaWRDaGFuZ2UoTWVkaWFUaW1lJiYgdGltZSkgY29uc3QKK3sKKyAgICBt
X2NhY2hlZEN1cnJlbnRNZWRpYVRpbWUgPSBXVEZNb3ZlKHRpbWUpOwogICAgIG1fd2FsbENsb2Nr
QXRDYWNoZWRDdXJyZW50VGltZSA9IFdhbGxUaW1lOjpub3coKTsKICAgICBtX3RpbWVDb250cm9s
U3RhdHVzQXRDYWNoZWRDdXJyZW50VGltZSA9IG1fY2FjaGVkVGltZUNvbnRyb2xTdGF0dXM7CiAg
ICAgbV9yZXF1ZXN0ZWRSYXRlQXRDYWNoZWRDdXJyZW50VGltZSA9IG1fcmVxdWVzdGVkUmF0ZTsK
KworICAgIGlmIChtX2N1cnJlbnRUaW1lRGlkQ2hhbmdlQ2FsbGJhY2spCisgICAgICAgIG1fY3Vy
cmVudFRpbWVEaWRDaGFuZ2VDYWxsYmFjayh0aW1lLmlzRmluaXRlKCkgPyBtX2NhY2hlZEN1cnJl
bnRNZWRpYVRpbWUgOiBNZWRpYVRpbWU6Onplcm9UaW1lKCkpOwogfQogCiB2b2lkIE1lZGlhUGxh
eWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OnNlZWtUb1RpbWUoY29uc3QgTWVkaWFUaW1lJiB0
aW1lLCBjb25zdCBNZWRpYVRpbWUmIG5lZ2F0aXZlVG9sZXJhbmNlLCBjb25zdCBNZWRpYVRpbWUm
IHBvc2l0aXZlVG9sZXJhbmNlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNz
L21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9HUFVQcm9j
ZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuY3BwCmluZGV4IGM1MDI5M2E0MDczMTgz
YjVlNTcxNmU2Njc5M2U0MWVkNzE3ZWI0MDQuLjVjZjM2NTJkN2ZmMjRhZjY3ZDk4ZjY3ZDcwNGRj
YWRlNWEzMWRlN2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9S
ZW1vdGVNZWRpYVBsYXllclByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mv
bWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5jcHAKQEAgLTM4LDcgKzM4LDYgQEAKICNpbmNs
dWRlICJSZW1vdGVMZWdhY3lDRE1TZXNzaW9uUHJveHkuaCIKICNpbmNsdWRlICJSZW1vdGVNZWRp
YVBsYXllck1hbmFnZXJQcm94eS5oIgogI2luY2x1ZGUgIlJlbW90ZU1lZGlhUGxheWVyUHJveHlD
b25maWd1cmF0aW9uLmgiCi0jaW5jbHVkZSAiUmVtb3RlTWVkaWFQbGF5ZXJTdGF0ZS5oIgogI2lu
Y2x1ZGUgIlJlbW90ZU1lZGlhUmVzb3VyY2UuaCIKICNpbmNsdWRlICJSZW1vdGVNZWRpYVJlc291
cmNlSWRlbnRpZmllci5oIgogI2luY2x1ZGUgIlJlbW90ZU1lZGlhUmVzb3VyY2VMb2FkZXIuaCIK
QEAgLTExOSw2ICsxMTgsMTMgQEAgdm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5OjpnZXRDb25m
aWd1cmF0aW9uKFJlbW90ZU1lZGlhUGxheWVyQ29uZmlndXJhdGlvbiYgY28KICAgICBjb25maWd1
cmF0aW9uLmNhblBsYXlUb1dpcmVsZXNzUGxheWJhY2tUYXJnZXQgPSBtX3BsYXllci0+Y2FuUGxh
eVRvV2lyZWxlc3NQbGF5YmFja1RhcmdldCgpOwogI2VuZGlmCiAgICAgY29uZmlndXJhdGlvbi5z
aG91bGRJZ25vcmVJbnRyaW5zaWNTaXplID0gbV9wbGF5ZXItPnNob3VsZElnbm9yZUludHJpbnNp
Y1NpemUoKTsKKworICAgIG1fb2JzZXJ2aW5nVGltZUNoYW5nZXMgPSBtX3BsYXllci0+c2V0Q3Vy
cmVudFRpbWVEaWRDaGFuZ2VDYWxsYmFjayhbdGhpcywgd2Vha1RoaXMgPSBtYWtlV2Vha1B0cih0
aGlzKV0gKGF1dG8gY3VycmVudFRpbWUpIG11dGFibGUgeworICAgICAgICBpZiAoIXdlYWtUaGlz
KQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIGN1cnJlbnRUaW1lQ2hhbmdlZChjdXJy
ZW50VGltZSk7CisgICAgfSk7CiB9CiAKIHZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6bG9h
ZChVUkwmJiB1cmwsIE9wdGlvbmFsPFNhbmRib3hFeHRlbnNpb246OkhhbmRsZT4mJiBzYW5kYm94
RXh0ZW5zaW9uSGFuZGxlLCBjb25zdCBDb250ZW50VHlwZSYgY29udGVudFR5cGUsIGNvbnN0IFN0
cmluZyYga2V5U3lzdGVtLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFJlbW90ZU1lZGlhUGxheWVy
Q29uZmlndXJhdGlvbiYmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKQEAgLTMzMiw2ICszMzgsOCBA
QCB2b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6OmVycm9yTG9nKENvbXBsZXRpb25IYW5kbGVy
PHZvaWQoU3RyaW5nKT4mJiBjb21wbGV0aQogdm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5Ojpt
ZWRpYVBsYXllck5ldHdvcmtTdGF0ZUNoYW5nZWQoKQogewogICAgIHVwZGF0ZUNhY2hlZFN0YXRl
KCk7CisgICAgbV9jYWNoZWRTdGF0ZS5yZWFkeVN0YXRlID0gbV9wbGF5ZXItPnJlYWR5U3RhdGUo
KTsKKyAgICBtX2NhY2hlZFN0YXRlLm5ldHdvcmtTdGF0ZSA9IG1fcGxheWVyLT5uZXR3b3JrU3Rh
dGUoKTsKICAgICBtX3dlYlByb2Nlc3NDb25uZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpNZWRpYVBs
YXllclByaXZhdGVSZW1vdGU6Ok5ldHdvcmtTdGF0ZUNoYW5nZWQobV9jYWNoZWRTdGF0ZSksIG1f
aWQpOwogfQogCkBAIC0zMzksNyArMzQ3LDExIEBAIHZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94
eTo6bWVkaWFQbGF5ZXJSZWFkeVN0YXRlQ2hhbmdlZCgpCiB7CiAgICAgdXBkYXRlQ2FjaGVkVmlk
ZW9NZXRyaWNzKCk7CiAgICAgdXBkYXRlQ2FjaGVkU3RhdGUoKTsKKyAgICBtX2NhY2hlZFN0YXRl
LnJlYWR5U3RhdGUgPSBtX3BsYXllci0+cmVhZHlTdGF0ZSgpOworICAgIG1fY2FjaGVkU3RhdGUu
bmV0d29ya1N0YXRlID0gbV9wbGF5ZXItPm5ldHdvcmtTdGF0ZSgpOworICAgIG1fY2FjaGVkU3Rh
dGUuZHVyYXRpb24gPSBtX3BsYXllci0+ZHVyYXRpb24oKTsKIAorICAgIG1fY2FjaGVkU3RhdGUu
bW92aWVMb2FkVHlwZSA9IG1fcGxheWVyLT5tb3ZpZUxvYWRUeXBlKCk7CiAgICAgbV9jYWNoZWRT
dGF0ZS5taW5UaW1lU2Vla2FibGUgPSBtX3BsYXllci0+bWluVGltZVNlZWthYmxlKCk7CiAgICAg
bV9jYWNoZWRTdGF0ZS5tYXhUaW1lU2Vla2FibGUgPSBtX3BsYXllci0+bWF4VGltZVNlZWthYmxl
KCk7CiAgICAgbV9jYWNoZWRTdGF0ZS5zdGFydERhdGUgPSBtX3BsYXllci0+Z2V0U3RhcnREYXRl
KCk7CkBAIC0zODAsNiArMzkyLDcgQEAgdm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5OjptZWRp
YVBsYXllclRpbWVDaGFuZ2VkKCkKIHZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6bWVkaWFQ
bGF5ZXJEdXJhdGlvbkNoYW5nZWQoKQogewogICAgIHVwZGF0ZUNhY2hlZFN0YXRlKCk7CisgICAg
bV9jYWNoZWRTdGF0ZS5kdXJhdGlvbiA9IG1fcGxheWVyLT5kdXJhdGlvbigpOwogICAgIG1fd2Vi
UHJvY2Vzc0Nvbm5lY3Rpb24tPnNlbmQoTWVzc2FnZXM6Ok1lZGlhUGxheWVyUHJpdmF0ZVJlbW90
ZTo6RHVyYXRpb25DaGFuZ2VkKG1fY2FjaGVkU3RhdGUpLCBtX2lkKTsKIH0KIApAQCAtNDg4LDYg
KzUwMSw4IEBAIHZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6bWVkaWFQbGF5ZXJDaGFyYWN0
ZXJpc3RpY0NoYW5nZWQoKQogewogICAgIHVwZGF0ZUNhY2hlZFZpZGVvTWV0cmljcygpOwogICAg
IHVwZGF0ZUNhY2hlZFN0YXRlKCk7CisgICAgbV9jYWNoZWRTdGF0ZS5oYXNBdWRpbyA9IG1fcGxh
eWVyLT5oYXNBdWRpbygpOworICAgIG1fY2FjaGVkU3RhdGUuaGFzVmlkZW8gPSBtX3BsYXllci0+
aGFzVmlkZW8oKTsKICAgICBtX2NhY2hlZFN0YXRlLmhhc0Nsb3NlZENhcHRpb25zID0gbV9wbGF5
ZXItPmhhc0Nsb3NlZENhcHRpb25zKCk7CiAgICAgbV9jYWNoZWRTdGF0ZS5sYW5ndWFnZU9mUHJp
bWFyeUF1ZGlvVHJhY2sgPSBtX3BsYXllci0+bGFuZ3VhZ2VPZlByaW1hcnlBdWRpb1RyYWNrKCk7
CiAKQEAgLTgxMCwxMiArODI1LDE0IEBAIGJvb2wgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6bWVk
aWFQbGF5ZXJTaG91bGRDaGVja0hhcmR3YXJlU3VwcG9ydCgpIGNvbnN0CiAKIHZvaWQgUmVtb3Rl
TWVkaWFQbGF5ZXJQcm94eTo6c3RhcnRVcGRhdGVDYWNoZWRTdGF0ZU1lc3NhZ2VUaW1lcigpCiB7
Ci0gICAgc3RhdGljIGNvbnN0IFNlY29uZHMgbWF4VGltZXVwZGF0ZUV2ZW50RnJlcXVlbmN5IHsg
MTAwX21zIH07CisgICAgc3RhdGljIGNvbnN0IFNlY29uZHMgbGVzc0ZyZXF1ZW50VGltZXVwZGF0
ZUV2ZW50RnJlcXVlbmN5IHsgMjAwMF9tcyB9OworICAgIHN0YXRpYyBjb25zdCBTZWNvbmRzIG1v
cmVGcmVxdWVudFRpbWV1cGRhdGVFdmVudEZyZXF1ZW5jeSB7IDI1MF9tcyB9OwogCiAgICAgaWYg
KG1fdXBkYXRlQ2FjaGVkU3RhdGVNZXNzYWdlVGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgcmV0
dXJuOwogCi0gICAgbV91cGRhdGVDYWNoZWRTdGF0ZU1lc3NhZ2VUaW1lci5zdGFydFJlcGVhdGlu
ZyhtYXhUaW1ldXBkYXRlRXZlbnRGcmVxdWVuY3kpOworICAgIGF1dG8gZnJlcXVlbmN5ID0gbV9v
YnNlcnZpbmdUaW1lQ2hhbmdlcyA/IGxlc3NGcmVxdWVudFRpbWV1cGRhdGVFdmVudEZyZXF1ZW5j
eSA6IG1vcmVGcmVxdWVudFRpbWV1cGRhdGVFdmVudEZyZXF1ZW5jeTsKKyAgICBtX3VwZGF0ZUNh
Y2hlZFN0YXRlTWVzc2FnZVRpbWVyLnN0YXJ0UmVwZWF0aW5nKGZyZXF1ZW5jeSk7CiB9CiAKIHZv
aWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6dGltZXJGaXJlZCgpCkBAIC04MjMsMTcgKzg0MCwx
NyBAQCB2b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6OnRpbWVyRmlyZWQoKQogICAgIHNlbmRD
YWNoZWRTdGF0ZSgpOwogfQogCit2b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6OmN1cnJlbnRU
aW1lQ2hhbmdlZChjb25zdCBNZWRpYVRpbWUmIG1lZGlhVGltZSkKK3sKKyAgICBtX3dlYlByb2Nl
c3NDb25uZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OkN1
cnJlbnRUaW1lQ2hhbmdlZChtZWRpYVRpbWUsIE1vbm90b25pY1RpbWU6Om5vdygpKSwgbV9pZCk7
Cit9CisKIHZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6dXBkYXRlQ2FjaGVkU3RhdGUoKQog
ewotICAgIG1fY2FjaGVkU3RhdGUudGltZXN0YW1wID0gTW9ub3RvbmljVGltZTo6bm93KCk7Ci0g
ICAgbV9jYWNoZWRTdGF0ZS5jdXJyZW50VGltZSA9IG1fcGxheWVyLT5jdXJyZW50VGltZSgpOwot
ICAgIG1fY2FjaGVkU3RhdGUuZHVyYXRpb24gPSBtX3BsYXllci0+ZHVyYXRpb24oKTsKLSAgICBt
X2NhY2hlZFN0YXRlLm5ldHdvcmtTdGF0ZSA9IG1fcGxheWVyLT5uZXR3b3JrU3RhdGUoKTsKLSAg
ICBtX2NhY2hlZFN0YXRlLnJlYWR5U3RhdGUgPSBtX3BsYXllci0+cmVhZHlTdGF0ZSgpOwotICAg
IG1fY2FjaGVkU3RhdGUubW92aWVMb2FkVHlwZSA9IG1fcGxheWVyLT5tb3ZpZUxvYWRUeXBlKCk7
CisgICAgaWYgKCFtX29ic2VydmluZ1RpbWVDaGFuZ2VzKQorICAgICAgICBjdXJyZW50VGltZUNo
YW5nZWQobV9wbGF5ZXItPmN1cnJlbnRUaW1lKCkpOworCiAgICAgbV9jYWNoZWRTdGF0ZS5wYXVz
ZWQgPSBtX3BsYXllci0+cGF1c2VkKCk7Ci0gICAgbV9jYWNoZWRTdGF0ZS5oYXNBdWRpbyA9IG1f
cGxheWVyLT5oYXNBdWRpbygpOwotICAgIG1fY2FjaGVkU3RhdGUuaGFzVmlkZW8gPSBtX3BsYXll
ci0+aGFzVmlkZW8oKTsKICAgICBtYXliZVVwZGF0ZUNhY2hlZFZpZGVvTWV0cmljcygpOwogICAg
IGlmIChtX2J1ZmZlcmVkQ2hhbmdlZCkgewogICAgICAgICBtX2J1ZmZlcmVkQ2hhbmdlZCA9IGZh
bHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1l
ZGlhUGxheWVyUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVN
ZWRpYVBsYXllclByb3h5LmgKaW5kZXggNzcwZDdmYzIyNDliZGNjN2E0YmExNjhkZDliZDk3YzU3
YmYxYzAyMy4uZDAzZWI0NWM4YWM5ZjYxOTBmMjgwNmQ1MTNjY2IzNzRjYjFhZTgzZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJv
eHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5
ZXJQcm94eS5oCkBAIC0yOTEsNiArMjkxLDggQEAgcHJpdmF0ZToKICAgICB2b2lkIGNyZWF0ZUF1
ZGlvU291cmNlUHJvdmlkZXIoKTsKICAgICB2b2lkIHNldFNob3VsZEVuYWJsZUF1ZGlvU291cmNl
UHJvdmlkZXIoYm9vbCk7CiAKKyAgICB2b2lkIGN1cnJlbnRUaW1lQ2hhbmdlZChjb25zdCBNZWRp
YVRpbWUmKTsKKwogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIHZvaWQgbmF0aXZlSW1hZ2VGb3JD
dXJyZW50VGltZShDb21wbGV0aW9uSGFuZGxlcjx2b2lkKE9wdGlvbmFsPFdURjo6TWFjaFNlbmRS
aWdodD4mJik+JiYpOwogICAgIHZvaWQgcGl4ZWxCdWZmZXJGb3JDdXJyZW50VGltZShDb21wbGV0
aW9uSGFuZGxlcjx2b2lkKE9wdGlvbmFsPFdURjo6TWFjaFNlbmRSaWdodD4mJik+JiYpOwpAQCAt
MzQ3LDYgKzM0OSw4IEBAIHByaXZhdGU6CiAjZW5kaWYKICAgICBTY29wZWRSZW5kZXJpbmdSZXNv
dXJjZXNSZXF1ZXN0IG1fcmVuZGVyaW5nUmVzb3VyY2VzUmVxdWVzdDsKIAorICAgIGJvb2wgbV9v
YnNlcnZpbmdUaW1lQ2hhbmdlcyB7IGZhbHNlIH07CisKICNpZiAhUkVMRUFTRV9MT0dfRElTQUJM
RUQKICAgICBjb25zdCBMb2dnZXImIG1fbG9nZ2VyOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5j
cHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0
ZVJlbW90ZS5jcHAKaW5kZXggM2Q4YTkwMTdiY2I2NzQ1ZDIyZTRhYTdkOTg0YWMxYzQwNmZkYTQ2
Yi4uMDM4Y2RhNzUzMGE0ZWJmNjNjOGNmZDExZTZhNmJkOGI3YjhlZjZmMiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1v
dGUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5
ZXJQcml2YXRlUmVtb3RlLmNwcApAQCAtMjA0LDggKzIwNCw4IEBAIHZvaWQgTWVkaWFQbGF5ZXJQ
cml2YXRlUmVtb3RlOjpwYXVzZSgpCiB7CiAgICAgbV9jYWNoZWRTdGF0ZS5wYXVzZWQgPSB0cnVl
OwogICAgIGF1dG8gbm93ID0gTW9ub3RvbmljVGltZTo6bm93KCk7Ci0gICAgbV9jYWNoZWRTdGF0
ZS5jdXJyZW50VGltZSArPSBNZWRpYVRpbWU6OmNyZWF0ZVdpdGhEb3VibGUobV9yYXRlICogKG5v
dyAtIG1fY2FjaGVkU3RhdGUudGltZXN0YW1wKS52YWx1ZSgpKTsKLSAgICBtX2NhY2hlZFN0YXRl
LnRpbWVzdGFtcCA9IG5vdzsKKyAgICBtX2NhY2hlZE1lZGlhVGltZSArPSBNZWRpYVRpbWU6OmNy
ZWF0ZVdpdGhEb3VibGUobV9yYXRlICogKG5vdyAtIG1fY2FjaGVkTWVkaWFUaW1lUXVlcnlUaW1l
KS52YWx1ZSgpKTsKKyAgICBtX2NhY2hlZE1lZGlhVGltZVF1ZXJ5VGltZSA9IG5vdzsKICAgICBj
b25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6UmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6UGF1c2Uo
KSwgbV9pZCk7CiB9CiAKQEAgLTI1MSwxMCArMjUxLDEwIEBAIE1lZGlhVGltZSBNZWRpYVBsYXll
clByaXZhdGVSZW1vdGU6OmR1cmF0aW9uTWVkaWFUaW1lKCkgY29uc3QKIAogTWVkaWFUaW1lIE1l
ZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6Y3VycmVudE1lZGlhVGltZSgpIGNvbnN0CiB7Ci0gICAg
aWYgKG1fY2FjaGVkU3RhdGUucGF1c2VkIHx8ICFtX2NhY2hlZFN0YXRlLmN1cnJlbnRUaW1lKQot
ICAgICAgICByZXR1cm4gbV9jYWNoZWRTdGF0ZS5jdXJyZW50VGltZTsKKyAgICBpZiAobV9jYWNo
ZWRTdGF0ZS5wYXVzZWQgfHwgIW1fY2FjaGVkTWVkaWFUaW1lKQorICAgICAgICByZXR1cm4gbV9j
YWNoZWRNZWRpYVRpbWU7CiAKLSAgICByZXR1cm4gbV9jYWNoZWRTdGF0ZS5jdXJyZW50VGltZSAr
IE1lZGlhVGltZTo6Y3JlYXRlV2l0aERvdWJsZShtX3JhdGUgKiAoTW9ub3RvbmljVGltZTo6bm93
KCkgLSBtX2NhY2hlZFN0YXRlLnRpbWVzdGFtcCkuc2Vjb25kcygpKTsKKyAgICByZXR1cm4gbV9j
YWNoZWRNZWRpYVRpbWUgKyBNZWRpYVRpbWU6OmNyZWF0ZVdpdGhEb3VibGUobV9yYXRlICogKE1v
bm90b25pY1RpbWU6Om5vdygpIC0gbV9jYWNoZWRNZWRpYVRpbWVRdWVyeVRpbWUpLnNlY29uZHMo
KSk7CiB9CiAKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpzZWVrKGNvbnN0IE1lZGlh
VGltZSYgdGltZSkKQEAgLTM1MSw4ICszNTEsOCBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJl
bW90ZTo6cmF0ZUNoYW5nZWQoZG91YmxlIHJhdGUpCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJl
bW90ZTo6cGxheWJhY2tTdGF0ZUNoYW5nZWQoYm9vbCBwYXVzZWQsIE1lZGlhVGltZSYmIG1lZGlh
VGltZSwgTW9ub3RvbmljVGltZSYmIHdhbGxUaW1lKQogewogICAgIG1fY2FjaGVkU3RhdGUucGF1
c2VkID0gcGF1c2VkOwotICAgIG1fY2FjaGVkU3RhdGUuY3VycmVudFRpbWUgPSBtZWRpYVRpbWU7
Ci0gICAgbV9jYWNoZWRTdGF0ZS50aW1lc3RhbXAgPSB3YWxsVGltZTsKKyAgICBtX2NhY2hlZE1l
ZGlhVGltZSA9IG1lZGlhVGltZTsKKyAgICBtX2NhY2hlZE1lZGlhVGltZVF1ZXJ5VGltZSA9IHdh
bGxUaW1lOwogICAgIG1fcGxheWVyLT5wbGF5YmFja1N0YXRlQ2hhbmdlZCgpOwogfQogCkBAIC0z
NzQsNiArMzc0LDEyIEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpzaXplQ2hhbmdl
ZChXZWJDb3JlOjpGbG9hdFNpemUgbmF0dXJhbFNpemUpCiAgICAgbV9wbGF5ZXItPnNpemVDaGFu
Z2VkKCk7CiB9CiAKK3ZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpjdXJyZW50VGltZUNo
YW5nZWQoY29uc3QgTWVkaWFUaW1lJiBtZWRpYVRpbWUsIGNvbnN0IE1vbm90b25pY1RpbWUmIHF1
ZXJ5VGltZSkKK3sKKyAgICBtX2NhY2hlZE1lZGlhVGltZSA9IG1lZGlhVGltZTsKKyAgICBtX2Nh
Y2hlZE1lZGlhVGltZVF1ZXJ5VGltZSA9IHF1ZXJ5VGltZTsKK30KKwogdm9pZCBNZWRpYVBsYXll
clByaXZhdGVSZW1vdGU6OmZpcnN0VmlkZW9GcmFtZUF2YWlsYWJsZSgpCiB7CiAgICAgSU5GT19M
T0coTE9HSURFTlRJRklFUik7CkBAIC00MjcsOCArNDMzLDYgQEAgdm9pZCBNZWRpYVBsYXllclBy
aXZhdGVSZW1vdGU6OnVwZGF0ZUNhY2hlZFN0YXRlKFJlbW90ZU1lZGlhUGxheWVyU3RhdGUmJiBz
dGF0ZSkKIHsKICAgICBjb25zdCBTZWNvbmRzIHBsYXliYWNrUXVhbGl0eU1ldHJpY3NUaW1lb3V0
ID0gMzBfczsKIAotICAgIG1fY2FjaGVkU3RhdGUudGltZXN0YW1wID0gc3RhdGUudGltZXN0YW1w
OwotICAgIG1fY2FjaGVkU3RhdGUuY3VycmVudFRpbWUgPSBzdGF0ZS5jdXJyZW50VGltZTsKICAg
ICBtX2NhY2hlZFN0YXRlLmR1cmF0aW9uID0gc3RhdGUuZHVyYXRpb247CiAgICAgbV9jYWNoZWRT
dGF0ZS5taW5UaW1lU2Vla2FibGUgPSBzdGF0ZS5taW5UaW1lU2Vla2FibGU7CiAgICAgbV9jYWNo
ZWRTdGF0ZS5tYXhUaW1lU2Vla2FibGUgPSBzdGF0ZS5tYXhUaW1lU2Vla2FibGU7CkBAIC0xMjIw
LDEyICsxMjI0LDEyIEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjphcHBsaWNhdGlv
bkRpZEJlY29tZUFjdGl2ZSgpCiAKIGJvb2wgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpwZXJm
b3JtVGFza0F0TWVkaWFUaW1lKFdURjo6RnVuY3Rpb248dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5k
bGVyLCBjb25zdCBNZWRpYVRpbWUmIG1lZGlhVGltZSkKIHsKLSAgICBhdXRvIGFzeW5jUmVwbHlI
YW5kbGVyID0gW3dlYWtUaGlzID0gbWFrZVdlYWtQdHIoKnRoaXMpLCB0aGlzLCBjb21wbGV0aW9u
SGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXShPcHRpb25hbDxNZWRpYVRpbWU+
IGN1cnJlbnRUaW1lLCBPcHRpb25hbDxNb25vdG9uaWNUaW1lPiB3YWxsVGltZSkgbXV0YWJsZSB7
Ci0gICAgICAgIGlmICghd2Vha1RoaXMgfHwgIWN1cnJlbnRUaW1lIHx8ICF3YWxsVGltZSkKKyAg
ICBhdXRvIGFzeW5jUmVwbHlIYW5kbGVyID0gW3dlYWtUaGlzID0gbWFrZVdlYWtQdHIoKnRoaXMp
LCB0aGlzLCBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXShP
cHRpb25hbDxNZWRpYVRpbWU+IGN1cnJlbnRUaW1lLCBPcHRpb25hbDxNb25vdG9uaWNUaW1lPiBx
dWVyeVRpbWUpIG11dGFibGUgeworICAgICAgICBpZiAoIXdlYWtUaGlzIHx8ICFjdXJyZW50VGlt
ZSB8fCAhcXVlcnlUaW1lKQogICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgIG1fY2FjaGVk
U3RhdGUuY3VycmVudFRpbWUgPSAqY3VycmVudFRpbWU7Ci0gICAgICAgIG1fY2FjaGVkU3RhdGUu
dGltZXN0YW1wID0gKndhbGxUaW1lOworICAgICAgICBtX2NhY2hlZE1lZGlhVGltZSA9ICpjdXJy
ZW50VGltZTsKKyAgICAgICAgbV9jYWNoZWRNZWRpYVRpbWVRdWVyeVRpbWUgPSAqcXVlcnlUaW1l
OwogICAgICAgICBjb21wbGV0aW9uSGFuZGxlcigpOwogICAgIH07CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3Rl
LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0
ZVJlbW90ZS5oCmluZGV4IDU4MjQxYjYzYTcxMjNkZTYyMDcwYjg2MjBlMjhmOGI4MjAzOTdjMWEu
LjY4ODc0YTkwYmZhZGNlNmY4MWMyY2YzZmQyYWNmYzg5MjRiY2Q0MzIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3Rl
LmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclBy
aXZhdGVSZW1vdGUuaApAQCAtMTEwLDYgKzExMCw4IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFZp
ZGVvSW5saW5lU2l6ZUZlbmNlZChjb25zdCBXZWJDb3JlOjpJbnRTaXplJiwgY29uc3QgV1RGOjpN
YWNoU2VuZFJpZ2h0Jik7CiAjZW5kaWYKIAorICAgIHZvaWQgY3VycmVudFRpbWVDaGFuZ2VkKGNv
bnN0IE1lZGlhVGltZSYsIGNvbnN0IE1vbm90b25pY1RpbWUmKTsKKwogICAgIHZvaWQgYWRkUmVt
b3RlQXVkaW9UcmFjayhUcmFja1ByaXZhdGVSZW1vdGVJZGVudGlmaWVyLCBUcmFja1ByaXZhdGVS
ZW1vdGVDb25maWd1cmF0aW9uJiYpOwogICAgIHZvaWQgcmVtb3ZlUmVtb3RlQXVkaW9UcmFjayhU
cmFja1ByaXZhdGVSZW1vdGVJZGVudGlmaWVyKTsKICAgICB2b2lkIHJlbW90ZUF1ZGlvVHJhY2tD
b25maWd1cmF0aW9uQ2hhbmdlZChUcmFja1ByaXZhdGVSZW1vdGVJZGVudGlmaWVyLCBUcmFja1By
aXZhdGVSZW1vdGVDb25maWd1cmF0aW9uJiYpOwpAQCAtNDE1LDYgKzQxNyw5IEBAIHByaXZhdGU6
CiAgICAgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhIG1fZG9jdW1lbnRTZWN1cml0eU9yaWdp
bjsKICAgICBtdXRhYmxlIEhhc2hNYXA8V2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhLCBPcHRp
b25hbDxib29sPj4gbV93b3VsZFRhaW50T3JpZ2luQ2FjaGU7CiAKKyAgICBNZWRpYVRpbWUgbV9j
YWNoZWRNZWRpYVRpbWU7CisgICAgTW9ub3RvbmljVGltZSBtX2NhY2hlZE1lZGlhVGltZVF1ZXJ5
VGltZTsKKwogICAgIE1vbm90b25pY1RpbWUgbV9sYXN0UGxheWJhY2tRdWFsaXR5TWV0cmljc1F1
ZXJ5VGltZTsKICAgICBTZWNvbmRzIG1fdmlkZW9QbGF5YmFja01ldHJpY3NVcGRhdGVJbnRlcnZh
bDsKICAgICBkb3VibGUgbV92b2x1bWUgeyAxIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5tZXNzYWdlcy5p
biBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRl
UmVtb3RlLm1lc3NhZ2VzLmluCmluZGV4IDc1NDU1NzYyMzRjODc4ZTA4ZjI3NTkxNmQ4YTdmODNm
YmQ2Y2Q5NWUuLjE5YjZhNDY4OTZhOTc1NTEyZWM5YzA5ZmZiYWUxOGE1ZGI5MDk3ZGIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2
YXRlUmVtb3RlLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUv
bWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLm1lc3NhZ2VzLmluCkBAIC0zOSw2ICszOSw4
IEBAIG1lc3NhZ2VzIC0+IE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZSBOb3RSZWZDb3VudGVkIHsK
ICAgICBTaXplQ2hhbmdlZChXZWJDb3JlOjpGbG9hdFNpemUgbmF0dXJhbFNpemUpCiAgICAgUmVu
ZGVyaW5nTW9kZUNoYW5nZWQoKQogCisgICAgQ3VycmVudFRpbWVDaGFuZ2VkKE1lZGlhVGltZSBt
ZWRpYVRpbWUsIE1vbm90b25pY1RpbWUgd2FsbFRpbWUpCisKICAgICBBZGRSZW1vdGVBdWRpb1Ry
YWNrKFdlYktpdDo6VHJhY2tQcml2YXRlUmVtb3RlSWRlbnRpZmllciB0cmFja0lELCBzdHJ1Y3Qg
V2ViS2l0OjpUcmFja1ByaXZhdGVSZW1vdGVDb25maWd1cmF0aW9uIGNvbmZpZ3VyYXRpb24pCiAg
ICAgUmVtb3ZlUmVtb3RlQXVkaW9UcmFjayhXZWJLaXQ6OlRyYWNrUHJpdmF0ZVJlbW90ZUlkZW50
aWZpZXIgdHJhY2tJRCkKICAgICBSZW1vdGVBdWRpb1RyYWNrQ29uZmlndXJhdGlvbkNoYW5nZWQo
V2ViS2l0OjpUcmFja1ByaXZhdGVSZW1vdGVJZGVudGlmaWVyIHRyYWNrSUQsIHN0cnVjdCBXZWJL
aXQ6OlRyYWNrUHJpdmF0ZVJlbW90ZUNvbmZpZ3VyYXRpb24gY29uZmlndXJhdGlvbikKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlTWVkaWFQbGF5
ZXJTdGF0ZS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRp
YVBsYXllclN0YXRlLmgKaW5kZXggYmY0ZjliNTJhZTRkZmZiODFlMWJmZmI5ZWRlMWRmMmUwYWYy
YWU5NS4uMWY3OWNlNTM4MTdiMDVhNzY1YzJhN2NmOTNjZWI0Mzc1NzUyMzA3MyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclN0
YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRp
YVBsYXllclN0YXRlLmgKQEAgLTM3LDggKzM3LDYgQEAKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBz
dHJ1Y3QgUmVtb3RlTWVkaWFQbGF5ZXJTdGF0ZSB7Ci0gICAgTW9ub3RvbmljVGltZSB0aW1lc3Rh
bXA7Ci0gICAgTWVkaWFUaW1lIGN1cnJlbnRUaW1lOwogICAgIE1lZGlhVGltZSBkdXJhdGlvbjsK
ICAgICBNZWRpYVRpbWUgbWluVGltZVNlZWthYmxlOwogICAgIE1lZGlhVGltZSBtYXhUaW1lU2Vl
a2FibGU7CkBAIC03Miw4ICs3MCw2IEBAIHN0cnVjdCBSZW1vdGVNZWRpYVBsYXllclN0YXRlIHsK
ICAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPgogICAgIHZvaWQgZW5jb2RlKEVuY29kZXImIGVu
Y29kZXIpIGNvbnN0CiAgICAgewotICAgICAgICBlbmNvZGVyIDw8IHRpbWVzdGFtcDsKLSAgICAg
ICAgZW5jb2RlciA8PCBjdXJyZW50VGltZTsKICAgICAgICAgZW5jb2RlciA8PCBkdXJhdGlvbjsK
ICAgICAgICAgZW5jb2RlciA8PCBtaW5UaW1lU2Vla2FibGU7CiAgICAgICAgIGVuY29kZXIgPDwg
bWF4VGltZVNlZWthYmxlOwpAQCAtMTA4LDE2ICsxMDQsNiBAQCBzdHJ1Y3QgUmVtb3RlTWVkaWFQ
bGF5ZXJTdGF0ZSB7CiAgICAgdGVtcGxhdGUgPGNsYXNzIERlY29kZXI+CiAgICAgc3RhdGljIE9w
dGlvbmFsPFJlbW90ZU1lZGlhUGxheWVyU3RhdGU+IGRlY29kZShEZWNvZGVyJiBkZWNvZGVyKQog
ICAgIHsKLSAgICAgICAgT3B0aW9uYWw8TW9ub3RvbmljVGltZT4gdGltZXN0YW1wOwotICAgICAg
ICBkZWNvZGVyID4+IHRpbWVzdGFtcDsKLSAgICAgICAgaWYgKCF0aW1lc3RhbXApCi0gICAgICAg
ICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwotCi0gICAgICAgIE9wdGlvbmFsPE1lZGlhVGltZT4g
Y3VycmVudFRpbWU7Ci0gICAgICAgIGRlY29kZXIgPj4gY3VycmVudFRpbWU7Ci0gICAgICAgIGlm
ICghY3VycmVudFRpbWUpCi0gICAgICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwotCiAgICAg
ICAgIE9wdGlvbmFsPE1lZGlhVGltZT4gZHVyYXRpb247CiAgICAgICAgIGRlY29kZXIgPj4gZHVy
YXRpb247CiAgICAgICAgIGlmICghZHVyYXRpb24pCkBAIC0yNjAsOCArMjQ2LDYgQEAgc3RydWN0
IFJlbW90ZU1lZGlhUGxheWVyU3RhdGUgewogICAgICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9w
dDsKIAogICAgICAgICByZXR1cm4ge3sKLSAgICAgICAgICAgIFdURk1vdmUoKnRpbWVzdGFtcCks
Ci0gICAgICAgICAgICBXVEZNb3ZlKCpjdXJyZW50VGltZSksCiAgICAgICAgICAgICBXVEZNb3Zl
KCpkdXJhdGlvbiksCiAgICAgICAgICAgICBXVEZNb3ZlKCptaW5UaW1lU2Vla2FibGUpLAogICAg
ICAgICAgICAgV1RGTW92ZSgqbWF4VGltZVNlZWthYmxlKSwK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>427908</attachid>
            <date>2021-05-06 11:18:06 -0700</date>
            <delta_ts>2021-05-06 13:49:38 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-225396-20210506111806.patch</filename>
            <type>text/plain</type>
            <size>24818</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc3MDI4CjIwMjEtMDUtMDZUMTE6MTc6MTAsOTcxOiBbMHgx
MWU4ZDBlMDBdIHdoaWxlIGNvbXB1dGluZyBzb2NrbmFtZTogZmFpbGVkIHRvIGNyZWF0ZSAvdXNy
L2xvY2FsL3Zhci9ydW4vd2F0Y2htYW4vZXJpYy1zdGF0ZTogTm8gc3VjaCBmaWxlIG9yIGRpcmVj
dG9yeQpXYXRjaG1hbjogY29tbWFuZCByZXR1cm5lZCBubyBvdXRwdXQuCkZhbGxpbmcgYmFjayB0
byBzY2FubmluZy4uLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDIxY2Q5YjcyOTcwMTViNDNjYWQyY2RjMjdiYzQ5
MjE4ZjRiZWY1MGIuLjQ1ZGQ1ZmZjZGE3MTQ1NzI2MDkwOTk1YWZiMThiZDhiZGU4OTNiMTEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwyNCBAQAorMjAyMS0wNS0wNSAgRXJpYyBDYXJsc29uICA8ZXJp
Yy5jYXJsc29uQGFwcGxlLmNvbT4KKworICAgICAgICBbR1BVUF0gUmVkdWNlIE1lZGlhUGxheWVy
IHBvbGxpbmcgZnJlcXVlbmN5IHdoZW4gcG9zc2libGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNTM5NgorICAgICAgICA8cmRhcjovL3Byb2JsZW0v
Nzc1NjI2NDM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgSmVyIE5vYmxlLgorCisgICAgICAgIEFk
ZCBhIGN1cnJlbnRUaW1lIGNoYW5nZWQgY2FsbGJhY2sgdG8gTWVkaWFQbGF5ZXJQcml2YXRlSW50
ZXJmYWNlIHNvIGEgY2xpZW50CisgICAgICAgIGRvZW5zJ3QgaGF2ZSB0byBwb2xsIGZvciB0aW1l
IGNoYW5nZXMuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllcjo6c2V0Q3VycmVudFRpbWVEaWRDaGFuZ2VD
YWxsYmFjayk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZhdGUuaDoKKyAgICAgICAg
KFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZTo6c2V0Q3VycmVudFRpbWVEaWRD
aGFuZ2VDYWxsYmFjayk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9u
L29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5oOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91
bmRhdGlvbk9iakMubW06CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVBVkZv
dW5kYXRpb25PYmpDOjpzZXRDdXJyZW50VGltZURpZENoYW5nZUNhbGxiYWNrKToKKyAgICAgICAg
KFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OmN1cnJlbnRNZWRp
YVRpbWVEaWRDaGFuZ2UgY29uc3QpOgorCiAyMDIxLTA1LTA1ICBZb3Vlbm4gRmFibGV0ICA8eW91
ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBObyBuZWVkIHRvIGVycm9yIGEgZmV0Y2ggYm9keSBz
dHJlYW0gaWYgaXRzIHJlcXVlc3Qgb3IgcmVzcG9uc2UgaXMgc3RvcHBlZApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCAx
MmRmZTg5YjQzMTAyOTNlYjhjNjEwYWMxNTEyMDAzZWQ0NTMzYmU0Li5mZDUyZjU5ZWZmNDE2NDI2
ZTYxYmJjMGUxM2I3NTE5NWZhNjdiYzM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDU1IEBACisyMDIx
LTA1LTA1ICBFcmljIENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAg
IFtHUFVQXSBSZWR1Y2UgTWVkaWFQbGF5ZXIgcG9sbGluZyBmcmVxdWVuY3kgd2hlbiBwb3NzaWJs
ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI1Mzk2
CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83NzU2MjY0Mz4KKworICAgICAgICBSZXZpZXdlZCBi
eSBKZXIgTm9ibGUuCisKKyAgICAgICAgV2hlbiB0aGUgTWVkaWFQbGF5ZXJQcml2YXRlIHN1cHBv
cnRzIHRoZSBuZXcgImN1cnJlbnQgdGltZSBjaGFuZ2VkIiBjYWxsYmFjaywgdXNlIGl0CisgICAg
ICAgIGtub3cgd2hlbiBjdXJyZW50VGltZSBjaGFuZ2VzIGluc3RlYWQgb2YgcG9sbGluZyBhdCBh
IGZpeGVkIGZyZXF1ZW5jeS4gQ3VycmVudCB0aW1lCisgICAgICAgIGNoYW5nZXMgbXVjaCBtb3Jl
IGZyZXF1ZW50bHkgdGhhbiB0aGUgb3RoZXIgc3RhdGUgdGhhdCBuZWVkcyB0byBiZSBwdXNoZWQg
dG8gdGhlCisgICAgICAgIHdlYiBwcm9jZXNzIHBlcmlvZGljYWxseSBzbyBzcGxpdCBjdXJyZW50
IHRpbWUgb3V0IG9mIHRoZSAiY2FjaGVkIHN0YXRlIiBzdHJ1Y3QKKyAgICAgICAgYW5kIHB1c2gg
aXQgc2VwYXJhdGVseSB3aGVuIGl0IGNoYW5nZXMsIHdoaWNoIGFsc28gYWxsb3cgdXMgdG8gcmVk
dWNlIHRoZSBwb2xsaW5nCisgICAgICAgIGZyZXF1ZW5jeSBzaWduaWZpY2FudGx5LgorCisgICAg
ICAgIFNvbWUgb2YgdGhlIHN0YXRlIHdlIHdlcmUgdXBkYXRpbmcgZXZlcnkgdGltZSB0aGUgY2Fj
aGVkIHN0YXRlIHRpbWVyIGZpcmVkIG9ubHkKKyAgICAgICAgY2hhbmdlcyBhdCBrbm93biB0aW1l
cywgc28gcmVkdWNlIHRoZSBudW1iZXIgb2YgdGhpbmdzIHVwZGF0ZWQgZXZlcnkgdGltZSBzdGF0
ZSAKKyAgICAgICAgaXMgcHVzaGVkLgorCisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1v
dGVNZWRpYVBsYXllclByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFQbGF5
ZXJQcm94eTo6Z2V0Q29uZmlndXJhdGlvbik6IFNldCB0aGUgdGltZUNoYW5nZWQgY2FsbGJhY2su
CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhUGxheWVyUHJveHk6Om1lZGlhUGxheWVyTmV0
d29ya1N0YXRlQ2hhbmdlZCk6IFVwZGF0ZSBjYWNoZWQgCisgICAgICAgIHJlYWR5U3RhdGUgYW5k
IG5ldHdvcmtTdGF0ZSBzaW5jZSB0aGV5IGFyZW4ndCB1cGRhdGVkIGJ5IHVwZGF0ZUNhY2hlZFN0
YXRlLgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVBsYXllclByb3h5OjptZWRpYVBsYXll
clJlYWR5U3RhdGVDaGFuZ2VkKTogRGl0dG8uCisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlh
UGxheWVyUHJveHk6Om1lZGlhUGxheWVyRHVyYXRpb25DaGFuZ2VkKTogVXBkYXRlIGNhY2hlZCBk
dXJhdGlvbi4KKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6bWVkaWFQ
bGF5ZXJDaGFyYWN0ZXJpc3RpY0NoYW5nZWQpOiBVcGRhdGUgaGFzQXVkaW8KKyAgICAgICAgYW5k
IGhhc1ZpZGVvLgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVBsYXllclByb3h5OjpzdGFy
dFVwZGF0ZUNhY2hlZFN0YXRlTWVzc2FnZVRpbWVyKTogRGVjcmVhc2UgdGhlCisgICAgICAgIHRp
bWUgZnJlcXVlbmN5IHRvIDIwMG1zIHdoZW4gdGhlIHBsYXllciBzdXBwb3J0cyB0aGUgdGltZSBj
aGFuZ2UgY2FsbGJhY2suIERlY3JlYXNlCisgICAgICAgIGl0IHRvIDI1MG1zIGV2ZW4gd2hlbiBp
dCBkb2Vzbid0IGJlY2F1c2Ugd2UgaW50ZXJwb2xhdGUgdGltZSBpbiB0aGUgV1AgYW55d2F5Lgor
ICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVBsYXllclByb3h5OjpjdXJyZW50VGltZUNoYW5n
ZWQpOiBTZW5kIHRoZSB0aW1lIGNoYW5nZS4KKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFQ
bGF5ZXJQcm94eTo6dXBkYXRlQ2FjaGVkU3RhdGUpOiBTZW5kIEN1cnJlbnRUaW1lQ2hhbmdlZCBp
ZgorICAgICAgICB0aGUgcGxheWVyIGRvZXNuJ3Qgc3VwcG9ydCB0aGUgbmV3IGNhbGxiYWNrLiBE
b24ndCB1cGRhdGUgcHJvcGVydGllcyB0aGF0IGNoYW5nZQorICAgICAgICBhdCBwcmVkaWN0YWJs
ZSB0aW1lcy4KKyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJv
eHkuaDoKKworICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0
ZVJlbW90ZS5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6
cGF1c2UpOiBVc2UgbV9jYWNoZWRNZWRpYVRpbWUgYW5kIG1fY2FjaGVkTWVkaWFUaW1lUXVlcnlU
aW1lCisgICAgICAgIGluc3RlYWQgb2YgbV9jYWNoZWRTdGF0ZS5jdXJyZW50VGltZSBhbmQgbV9j
YWNoZWRTdGF0ZS50aW1lc3RhbXAuCisgICAgICAgIChXZWJLaXQ6Ok1lZGlhUGxheWVyUHJpdmF0
ZVJlbW90ZTo6Y3VycmVudE1lZGlhVGltZSBjb25zdCk6IERpdHRvLgorICAgICAgICAoV2ViS2l0
OjpNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnBsYXliYWNrU3RhdGVDaGFuZ2VkKTogRGl0dG8u
CisgICAgICAgIChXZWJLaXQ6Ok1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6Y3VycmVudFRpbWVD
aGFuZ2VkKTogVXBkYXRlIHRpbWUgaW5zdGFuY2UgdmFyaWFibGVzLgorICAgICAgICAoV2ViS2l0
OjpNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnVwZGF0ZUNhY2hlZFN0YXRlKToKKyAgICAgICAg
KFdlYktpdDo6TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpwZXJmb3JtVGFza0F0TWVkaWFUaW1l
KTogVXNlIG1fY2FjaGVkTWVkaWFUaW1lIAorICAgICAgICBhbmQgbV9jYWNoZWRNZWRpYVRpbWVR
dWVyeVRpbWUgaW5zdGVhZCBvZiBtX2NhY2hlZFN0YXRlLmN1cnJlbnRUaW1lIGFuZCBtX2NhY2hl
ZFN0YXRlLnRpbWVzdGFtcC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBs
YXllclByaXZhdGVSZW1vdGUuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRp
YVBsYXllclByaXZhdGVSZW1vdGUubWVzc2FnZXMuaW46CisKKyAgICAgICAgKiBXZWJQcm9jZXNz
L0dQVS9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclN0YXRlLmg6CisgICAgICAgIChXZWJLaXQ6OlJl
bW90ZU1lZGlhUGxheWVyU3RhdGU6OmVuY29kZSBjb25zdCk6IFJlbW92ZSBjdXJyZW50VGltZSBh
bmQgdGltZXN0YW1wLgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVBsYXllclN0YXRlOjpk
ZWNvZGUpOiBEaXR0by4KKwogMjAyMS0wNS0wNSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBs
ZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTiAocjI3NjYzMyk6IEFTU0VSVElPTiBGQUlMRUQ6
ICFmb3JiaWRNYWxsb2NVc2VTY29wZUNvdW50IHx8IGRpc2FibGVNYWxsb2NSZXN0cmljdGlvblNj
b3BlQ291bnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01l
ZGlhUGxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxh
eWVyLmNwcAppbmRleCAyMzA2ZGY2YzU1ZjFmZWVlN2U1NGU0Mjk4YmU1Zjk1MDA0MzBjZDliLi4x
ZDBiZTgzNDZmZmIyNGFjNzNhYzRlOTJjMWFhMWMzNGU1Y2U2NDg5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCkBAIC03MTMsNiArNzEz
LDExIEBAIE1lZGlhVGltZSBNZWRpYVBsYXllcjo6Y3VycmVudFRpbWUoKSBjb25zdAogICAgIHJl
dHVybiBtX3ByaXZhdGUtPmN1cnJlbnRNZWRpYVRpbWUoKTsKIH0KIAorYm9vbCBNZWRpYVBsYXll
cjo6c2V0Q3VycmVudFRpbWVEaWRDaGFuZ2VDYWxsYmFjayhDdXJyZW50VGltZURpZENoYW5nZUNh
bGxiYWNrJiYgY2FsbGJhY2spCit7CisgICAgcmV0dXJuIG1fcHJpdmF0ZS0+c2V0Q3VycmVudFRp
bWVEaWRDaGFuZ2VDYWxsYmFjayhXVEZNb3ZlKGNhbGxiYWNrKSk7Cit9CisKIE1lZGlhVGltZSBN
ZWRpYVBsYXllcjo6Z2V0U3RhcnREYXRlKCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9wcml2YXRl
LT5nZXRTdGFydERhdGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL01lZGlhUGxheWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9N
ZWRpYVBsYXllci5oCmluZGV4IDEwODY5MjgxMjg0Y2QyYzBkMDAyYzY0YWQ1MmNmNjgxYzE3MDg3
NzguLjhmOTZmYjQ1NWRmY2JjZDA4MjVjNzljMzhhZDk2NTkzZTc1MTAwNGUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaApAQCAtMzk2LDYgKzM5
Niw5IEBAIHB1YmxpYzoKICAgICB2b2lkIHNlZWtXaGVuUG9zc2libGUoY29uc3QgTWVkaWFUaW1l
Jik7CiAgICAgdm9pZCBzZWVrV2l0aFRvbGVyYW5jZShjb25zdCBNZWRpYVRpbWUmLCBjb25zdCBN
ZWRpYVRpbWUmIG5lZ2F0aXZlVG9sZXJhbmNlLCBjb25zdCBNZWRpYVRpbWUmIHBvc2l0aXZlVG9s
ZXJhbmNlKTsKIAorICAgIHVzaW5nIEN1cnJlbnRUaW1lRGlkQ2hhbmdlQ2FsbGJhY2sgPSBzdGQ6
OmZ1bmN0aW9uPHZvaWQoY29uc3QgTWVkaWFUaW1lJik+OworICAgIGJvb2wgc2V0Q3VycmVudFRp
bWVEaWRDaGFuZ2VDYWxsYmFjayhDdXJyZW50VGltZURpZENoYW5nZUNhbGxiYWNrJiYpOworCiAg
ICAgTWVkaWFUaW1lIHN0YXJ0VGltZSgpIGNvbnN0OwogICAgIE1lZGlhVGltZSBpbml0aWFsVGlt
ZSgpIGNvbnN0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9NZWRpYVBsYXllclByaXZhdGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L01lZGlhUGxheWVyUHJpdmF0ZS5oCmluZGV4IGFmM2FiY2ZmMWE2Y2ZiNGFhZjUwZDhhYTI0NzY3
NzA2NjE1NDQ0NGIuLjljZmNiMGQ0YTRlODZiZDU1MDFhMjg0ZThmYjBmZTNiYjYwMjBhZGIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJp
dmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVy
UHJpdmF0ZS5oCkBAIC0xMDYsNiArMTA2LDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgZG91Ymxl
IGN1cnJlbnRUaW1lRG91YmxlKCkgY29uc3QgeyByZXR1cm4gY3VycmVudFRpbWUoKTsgfQogICAg
IHZpcnR1YWwgTWVkaWFUaW1lIGN1cnJlbnRNZWRpYVRpbWUoKSBjb25zdCB7IHJldHVybiBNZWRp
YVRpbWU6OmNyZWF0ZVdpdGhEb3VibGUoY3VycmVudFRpbWVEb3VibGUoKSk7IH0KIAorICAgIHZp
cnR1YWwgYm9vbCBzZXRDdXJyZW50VGltZURpZENoYW5nZUNhbGxiYWNrKE1lZGlhUGxheWVyOjpD
dXJyZW50VGltZURpZENoYW5nZUNhbGxiYWNrJiYpIHsgcmV0dXJuIGZhbHNlOyB9CisKICAgICB2
aXJ0dWFsIE1lZGlhVGltZSBnZXRTdGFydERhdGUoKSBjb25zdCB7IHJldHVybiBNZWRpYVRpbWU6
OmNyZWF0ZVdpdGhEb3VibGUoc3RkOjpudW1lcmljX2xpbWl0czxkb3VibGU+OjpxdWlldF9OYU4o
KSk7IH0KIAogICAgIHZpcnR1YWwgdm9pZCBzZWVrKGZsb2F0KSB7IH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxh
eWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9i
akMuaAppbmRleCA0MWE2MzM2NzJhYjQyMDUyNWQ0OTJiMGMwMDQ1ZjQ4ZTJhZGU3ZGE3Li43NWZk
YzZhYWM2YWIzNWNlNjRiODI3OGNiNTAwYjNkYTYwMzUzMjU4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclBy
aXZhdGVBVkZvdW5kYXRpb25PYmpDLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2Jq
Qy5oCkBAIC0zMjIsNiArMzIyLDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGF1ZGlvT3V0cHV0RGV2
aWNlQ2hhbmdlZCgpIGZpbmFsOwogCiAgICAgdm9pZCBjdXJyZW50TWVkaWFUaW1lRGlkQ2hhbmdl
KE1lZGlhVGltZSYmKSBjb25zdDsKKyAgICBib29sIHNldEN1cnJlbnRUaW1lRGlkQ2hhbmdlQ2Fs
bGJhY2soTWVkaWFQbGF5ZXI6OkN1cnJlbnRUaW1lRGlkQ2hhbmdlQ2FsbGJhY2smJikgZmluYWw7
CiAKICAgICBSZXRhaW5QdHI8QVZVUkxBc3NldD4gbV9hdkFzc2V0OwogICAgIFJldGFpblB0cjxB
VlBsYXllcj4gbV9hdlBsYXllcjsKQEAgLTM5NCw2ICszOTUsNyBAQCBwcml2YXRlOgogICAgIFJl
dGFpblB0cjxOU0FycmF5PiBtX2N1cnJlbnRNZXRhRGF0YTsKICAgICBGbG9hdFNpemUgbV9jYWNo
ZWRQcmVzZW50YXRpb25TaXplOwogICAgIE1lZGlhVGltZSBtX2NhY2hlZER1cmF0aW9uOworICAg
IG11dGFibGUgTWVkaWFQbGF5ZXI6OkN1cnJlbnRUaW1lRGlkQ2hhbmdlQ2FsbGJhY2sgbV9jdXJy
ZW50VGltZURpZENoYW5nZUNhbGxiYWNrOwogICAgIG11dGFibGUgTWVkaWFUaW1lIG1fY2FjaGVk
Q3VycmVudE1lZGlhVGltZTsKICAgICBtdXRhYmxlIE9wdGlvbmFsPFdhbGxUaW1lPiBtX3dhbGxD
bG9ja0F0Q2FjaGVkQ3VycmVudFRpbWU7CiAgICAgbXV0YWJsZSBpbnQgbV90aW1lQ29udHJvbFN0
YXR1c0F0Q2FjaGVkQ3VycmVudFRpbWUgeyAwIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVB
VkZvdW5kYXRpb25PYmpDLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZm
b3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbQppbmRl
eCBiYmM5NTA3NjY4ZDdiOTk2YmFjZDc1ZjA2MjNmZDkyMjIxNmQ1NmNlLi4wM2M2ODNmYzQ5MWM3
MjMxODFiYjRhMDU1NzlmNmM4YTMxNzY0ZmI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZv
dW5kYXRpb25PYmpDLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2
Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0KQEAg
LTE0NTMsMTIgKzE0NTMsMjEgQEAgTWVkaWFUaW1lIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRh
dGlvbk9iakM6OmN1cnJlbnRNZWRpYVRpbWUoKSBjb25zdAogICAgIHJldHVybiBzdGQ6Om1pbihz
dGQ6Om1heChpdGVtVGltZSwgTWVkaWFUaW1lOjp6ZXJvVGltZSgpKSwgbV9jYWNoZWREdXJhdGlv
bik7CiB9CiAKLXZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6Y3VycmVu
dE1lZGlhVGltZURpZENoYW5nZShXVEY6Ok1lZGlhVGltZSYmIHRpbWUpIGNvbnN0Citib29sIE1l
ZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OnNldEN1cnJlbnRUaW1lRGlkQ2hhbmdl
Q2FsbGJhY2soTWVkaWFQbGF5ZXI6OkN1cnJlbnRUaW1lRGlkQ2hhbmdlQ2FsbGJhY2smJiBjYWxs
YmFjaykKIHsKLSAgICBtX2NhY2hlZEN1cnJlbnRNZWRpYVRpbWUgPSB0aW1lOworICAgIG1fY3Vy
cmVudFRpbWVEaWRDaGFuZ2VDYWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spOworICAgIHJldHVy
biB0cnVlOworfQorCit2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OmN1
cnJlbnRNZWRpYVRpbWVEaWRDaGFuZ2UoTWVkaWFUaW1lJiYgdGltZSkgY29uc3QKK3sKKyAgICBt
X2NhY2hlZEN1cnJlbnRNZWRpYVRpbWUgPSBXVEZNb3ZlKHRpbWUpOwogICAgIG1fd2FsbENsb2Nr
QXRDYWNoZWRDdXJyZW50VGltZSA9IFdhbGxUaW1lOjpub3coKTsKICAgICBtX3RpbWVDb250cm9s
U3RhdHVzQXRDYWNoZWRDdXJyZW50VGltZSA9IG1fY2FjaGVkVGltZUNvbnRyb2xTdGF0dXM7CiAg
ICAgbV9yZXF1ZXN0ZWRSYXRlQXRDYWNoZWRDdXJyZW50VGltZSA9IG1fcmVxdWVzdGVkUmF0ZTsK
KworICAgIGlmIChtX2N1cnJlbnRUaW1lRGlkQ2hhbmdlQ2FsbGJhY2spCisgICAgICAgIG1fY3Vy
cmVudFRpbWVEaWRDaGFuZ2VDYWxsYmFjayh0aW1lLmlzRmluaXRlKCkgPyBtX2NhY2hlZEN1cnJl
bnRNZWRpYVRpbWUgOiBNZWRpYVRpbWU6Onplcm9UaW1lKCkpOwogfQogCiB2b2lkIE1lZGlhUGxh
eWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OnNlZWtUb1RpbWUoY29uc3QgTWVkaWFUaW1lJiB0
aW1lLCBjb25zdCBNZWRpYVRpbWUmIG5lZ2F0aXZlVG9sZXJhbmNlLCBjb25zdCBNZWRpYVRpbWUm
IHBvc2l0aXZlVG9sZXJhbmNlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNz
L21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9HUFVQcm9j
ZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuY3BwCmluZGV4IGM1MDI5M2E0MDczMTgz
YjVlNTcxNmU2Njc5M2U0MWVkNzE3ZWI0MDQuLmY4ZTE5MmIyY2M2NTlkYWY0OGQ4MDE5YWI5NjEz
OWMyZGU4MTY0ZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9S
ZW1vdGVNZWRpYVBsYXllclByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mv
bWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5jcHAKQEAgLTM4LDcgKzM4LDYgQEAKICNpbmNs
dWRlICJSZW1vdGVMZWdhY3lDRE1TZXNzaW9uUHJveHkuaCIKICNpbmNsdWRlICJSZW1vdGVNZWRp
YVBsYXllck1hbmFnZXJQcm94eS5oIgogI2luY2x1ZGUgIlJlbW90ZU1lZGlhUGxheWVyUHJveHlD
b25maWd1cmF0aW9uLmgiCi0jaW5jbHVkZSAiUmVtb3RlTWVkaWFQbGF5ZXJTdGF0ZS5oIgogI2lu
Y2x1ZGUgIlJlbW90ZU1lZGlhUmVzb3VyY2UuaCIKICNpbmNsdWRlICJSZW1vdGVNZWRpYVJlc291
cmNlSWRlbnRpZmllci5oIgogI2luY2x1ZGUgIlJlbW90ZU1lZGlhUmVzb3VyY2VMb2FkZXIuaCIK
QEAgLTExOSw2ICsxMTgsMTMgQEAgdm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5OjpnZXRDb25m
aWd1cmF0aW9uKFJlbW90ZU1lZGlhUGxheWVyQ29uZmlndXJhdGlvbiYgY28KICAgICBjb25maWd1
cmF0aW9uLmNhblBsYXlUb1dpcmVsZXNzUGxheWJhY2tUYXJnZXQgPSBtX3BsYXllci0+Y2FuUGxh
eVRvV2lyZWxlc3NQbGF5YmFja1RhcmdldCgpOwogI2VuZGlmCiAgICAgY29uZmlndXJhdGlvbi5z
aG91bGRJZ25vcmVJbnRyaW5zaWNTaXplID0gbV9wbGF5ZXItPnNob3VsZElnbm9yZUludHJpbnNp
Y1NpemUoKTsKKworICAgIG1fb2JzZXJ2aW5nVGltZUNoYW5nZXMgPSBtX3BsYXllci0+c2V0Q3Vy
cmVudFRpbWVEaWRDaGFuZ2VDYWxsYmFjayhbdGhpcywgd2Vha1RoaXMgPSBtYWtlV2Vha1B0cih0
aGlzKV0gKGF1dG8gY3VycmVudFRpbWUpIG11dGFibGUgeworICAgICAgICBpZiAoIXdlYWtUaGlz
KQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIGN1cnJlbnRUaW1lQ2hhbmdlZChjdXJy
ZW50VGltZSk7CisgICAgfSk7CiB9CiAKIHZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6bG9h
ZChVUkwmJiB1cmwsIE9wdGlvbmFsPFNhbmRib3hFeHRlbnNpb246OkhhbmRsZT4mJiBzYW5kYm94
RXh0ZW5zaW9uSGFuZGxlLCBjb25zdCBDb250ZW50VHlwZSYgY29udGVudFR5cGUsIGNvbnN0IFN0
cmluZyYga2V5U3lzdGVtLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFJlbW90ZU1lZGlhUGxheWVy
Q29uZmlndXJhdGlvbiYmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKQEAgLTMzMSwxNSArMzM3LDIx
IEBAIHZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6ZXJyb3JMb2coQ29tcGxldGlvbkhhbmRs
ZXI8dm9pZChTdHJpbmcpPiYmIGNvbXBsZXRpCiAKIHZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94
eTo6bWVkaWFQbGF5ZXJOZXR3b3JrU3RhdGVDaGFuZ2VkKCkKIHsKLSAgICB1cGRhdGVDYWNoZWRT
dGF0ZSgpOworICAgIHVwZGF0ZUNhY2hlZFN0YXRlKHRydWUpOworICAgIG1fY2FjaGVkU3RhdGUu
cmVhZHlTdGF0ZSA9IG1fcGxheWVyLT5yZWFkeVN0YXRlKCk7CisgICAgbV9jYWNoZWRTdGF0ZS5u
ZXR3b3JrU3RhdGUgPSBtX3BsYXllci0+bmV0d29ya1N0YXRlKCk7CiAgICAgbV93ZWJQcm9jZXNz
Q29ubmVjdGlvbi0+c2VuZChNZXNzYWdlczo6TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpOZXR3
b3JrU3RhdGVDaGFuZ2VkKG1fY2FjaGVkU3RhdGUpLCBtX2lkKTsKIH0KIAogdm9pZCBSZW1vdGVN
ZWRpYVBsYXllclByb3h5OjptZWRpYVBsYXllclJlYWR5U3RhdGVDaGFuZ2VkKCkKIHsKICAgICB1
cGRhdGVDYWNoZWRWaWRlb01ldHJpY3MoKTsKLSAgICB1cGRhdGVDYWNoZWRTdGF0ZSgpOworICAg
IHVwZGF0ZUNhY2hlZFN0YXRlKHRydWUpOworICAgIG1fY2FjaGVkU3RhdGUucmVhZHlTdGF0ZSA9
IG1fcGxheWVyLT5yZWFkeVN0YXRlKCk7CisgICAgbV9jYWNoZWRTdGF0ZS5uZXR3b3JrU3RhdGUg
PSBtX3BsYXllci0+bmV0d29ya1N0YXRlKCk7CisgICAgbV9jYWNoZWRTdGF0ZS5kdXJhdGlvbiA9
IG1fcGxheWVyLT5kdXJhdGlvbigpOwogCisgICAgbV9jYWNoZWRTdGF0ZS5tb3ZpZUxvYWRUeXBl
ID0gbV9wbGF5ZXItPm1vdmllTG9hZFR5cGUoKTsKICAgICBtX2NhY2hlZFN0YXRlLm1pblRpbWVT
ZWVrYWJsZSA9IG1fcGxheWVyLT5taW5UaW1lU2Vla2FibGUoKTsKICAgICBtX2NhY2hlZFN0YXRl
Lm1heFRpbWVTZWVrYWJsZSA9IG1fcGxheWVyLT5tYXhUaW1lU2Vla2FibGUoKTsKICAgICBtX2Nh
Y2hlZFN0YXRlLnN0YXJ0RGF0ZSA9IG1fcGxheWVyLT5nZXRTdGFydERhdGUoKTsKQEAgLTM3Mywx
MyArMzg1LDE1IEBAIHZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6bWVkaWFQbGF5ZXJNdXRl
Q2hhbmdlZCgpCiAKIHZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6bWVkaWFQbGF5ZXJUaW1l
Q2hhbmdlZCgpCiB7Ci0gICAgdXBkYXRlQ2FjaGVkU3RhdGUoKTsKKyAgICB1cGRhdGVDYWNoZWRT
dGF0ZSh0cnVlKTsKKyAgICBtX2NhY2hlZFN0YXRlLmR1cmF0aW9uID0gbV9wbGF5ZXItPmR1cmF0
aW9uKCk7CiAgICAgbV93ZWJQcm9jZXNzQ29ubmVjdGlvbi0+c2VuZChNZXNzYWdlczo6TWVkaWFQ
bGF5ZXJQcml2YXRlUmVtb3RlOjpUaW1lQ2hhbmdlZChtX2NhY2hlZFN0YXRlKSwgbV9pZCk7CiB9
CiAKIHZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6bWVkaWFQbGF5ZXJEdXJhdGlvbkNoYW5n
ZWQoKQogewotICAgIHVwZGF0ZUNhY2hlZFN0YXRlKCk7CisgICAgdXBkYXRlQ2FjaGVkU3RhdGUo
dHJ1ZSk7CisgICAgbV9jYWNoZWRTdGF0ZS5kdXJhdGlvbiA9IG1fcGxheWVyLT5kdXJhdGlvbigp
OwogICAgIG1fd2ViUHJvY2Vzc0Nvbm5lY3Rpb24tPnNlbmQoTWVzc2FnZXM6Ok1lZGlhUGxheWVy
UHJpdmF0ZVJlbW90ZTo6RHVyYXRpb25DaGFuZ2VkKG1fY2FjaGVkU3RhdGUpLCBtX2lkKTsKIH0K
IApAQCAtNDg4LDYgKzUwMiw4IEBAIHZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6bWVkaWFQ
bGF5ZXJDaGFyYWN0ZXJpc3RpY0NoYW5nZWQoKQogewogICAgIHVwZGF0ZUNhY2hlZFZpZGVvTWV0
cmljcygpOwogICAgIHVwZGF0ZUNhY2hlZFN0YXRlKCk7CisgICAgbV9jYWNoZWRTdGF0ZS5oYXNB
dWRpbyA9IG1fcGxheWVyLT5oYXNBdWRpbygpOworICAgIG1fY2FjaGVkU3RhdGUuaGFzVmlkZW8g
PSBtX3BsYXllci0+aGFzVmlkZW8oKTsKICAgICBtX2NhY2hlZFN0YXRlLmhhc0Nsb3NlZENhcHRp
b25zID0gbV9wbGF5ZXItPmhhc0Nsb3NlZENhcHRpb25zKCk7CiAgICAgbV9jYWNoZWRTdGF0ZS5s
YW5ndWFnZU9mUHJpbWFyeUF1ZGlvVHJhY2sgPSBtX3BsYXllci0+bGFuZ3VhZ2VPZlByaW1hcnlB
dWRpb1RyYWNrKCk7CiAKQEAgLTgxMCwxMiArODI2LDE0IEBAIGJvb2wgUmVtb3RlTWVkaWFQbGF5
ZXJQcm94eTo6bWVkaWFQbGF5ZXJTaG91bGRDaGVja0hhcmR3YXJlU3VwcG9ydCgpIGNvbnN0CiAK
IHZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6c3RhcnRVcGRhdGVDYWNoZWRTdGF0ZU1lc3Nh
Z2VUaW1lcigpCiB7Ci0gICAgc3RhdGljIGNvbnN0IFNlY29uZHMgbWF4VGltZXVwZGF0ZUV2ZW50
RnJlcXVlbmN5IHsgMTAwX21zIH07CisgICAgc3RhdGljIGNvbnN0IFNlY29uZHMgbGVzc0ZyZXF1
ZW50VGltZXVwZGF0ZUV2ZW50RnJlcXVlbmN5IHsgMjAwMF9tcyB9OworICAgIHN0YXRpYyBjb25z
dCBTZWNvbmRzIG1vcmVGcmVxdWVudFRpbWV1cGRhdGVFdmVudEZyZXF1ZW5jeSB7IDI1MF9tcyB9
OwogCiAgICAgaWYgKG1fdXBkYXRlQ2FjaGVkU3RhdGVNZXNzYWdlVGltZXIuaXNBY3RpdmUoKSkK
ICAgICAgICAgcmV0dXJuOwogCi0gICAgbV91cGRhdGVDYWNoZWRTdGF0ZU1lc3NhZ2VUaW1lci5z
dGFydFJlcGVhdGluZyhtYXhUaW1ldXBkYXRlRXZlbnRGcmVxdWVuY3kpOworICAgIGF1dG8gZnJl
cXVlbmN5ID0gbV9vYnNlcnZpbmdUaW1lQ2hhbmdlcyA/IGxlc3NGcmVxdWVudFRpbWV1cGRhdGVF
dmVudEZyZXF1ZW5jeSA6IG1vcmVGcmVxdWVudFRpbWV1cGRhdGVFdmVudEZyZXF1ZW5jeTsKKyAg
ICBtX3VwZGF0ZUNhY2hlZFN0YXRlTWVzc2FnZVRpbWVyLnN0YXJ0UmVwZWF0aW5nKGZyZXF1ZW5j
eSk7CiB9CiAKIHZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6dGltZXJGaXJlZCgpCkBAIC04
MjMsMTcgKzg0MSwxNyBAQCB2b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6OnRpbWVyRmlyZWQo
KQogICAgIHNlbmRDYWNoZWRTdGF0ZSgpOwogfQogCi12b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJv
eHk6OnVwZGF0ZUNhY2hlZFN0YXRlKCkKK3ZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6Y3Vy
cmVudFRpbWVDaGFuZ2VkKGNvbnN0IE1lZGlhVGltZSYgbWVkaWFUaW1lKQogewotICAgIG1fY2Fj
aGVkU3RhdGUudGltZXN0YW1wID0gTW9ub3RvbmljVGltZTo6bm93KCk7Ci0gICAgbV9jYWNoZWRT
dGF0ZS5jdXJyZW50VGltZSA9IG1fcGxheWVyLT5jdXJyZW50VGltZSgpOwotICAgIG1fY2FjaGVk
U3RhdGUuZHVyYXRpb24gPSBtX3BsYXllci0+ZHVyYXRpb24oKTsKLSAgICBtX2NhY2hlZFN0YXRl
Lm5ldHdvcmtTdGF0ZSA9IG1fcGxheWVyLT5uZXR3b3JrU3RhdGUoKTsKLSAgICBtX2NhY2hlZFN0
YXRlLnJlYWR5U3RhdGUgPSBtX3BsYXllci0+cmVhZHlTdGF0ZSgpOwotICAgIG1fY2FjaGVkU3Rh
dGUubW92aWVMb2FkVHlwZSA9IG1fcGxheWVyLT5tb3ZpZUxvYWRUeXBlKCk7CisgICAgbV93ZWJQ
cm9jZXNzQ29ubmVjdGlvbi0+c2VuZChNZXNzYWdlczo6TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3Rl
OjpDdXJyZW50VGltZUNoYW5nZWQobWVkaWFUaW1lLCBNb25vdG9uaWNUaW1lOjpub3coKSksIG1f
aWQpOworfQorCit2b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6OnVwZGF0ZUNhY2hlZFN0YXRl
KGJvb2wgZm9yY2VDdXJyZW50VGltZVVwZGF0ZSkKK3sKKyAgICBpZiAoIW1fb2JzZXJ2aW5nVGlt
ZUNoYW5nZXMgfHwgZm9yY2VDdXJyZW50VGltZVVwZGF0ZSkKKyAgICAgICAgY3VycmVudFRpbWVD
aGFuZ2VkKG1fcGxheWVyLT5jdXJyZW50VGltZSgpKTsKKwogICAgIG1fY2FjaGVkU3RhdGUucGF1
c2VkID0gbV9wbGF5ZXItPnBhdXNlZCgpOwotICAgIG1fY2FjaGVkU3RhdGUuaGFzQXVkaW8gPSBt
X3BsYXllci0+aGFzQXVkaW8oKTsKLSAgICBtX2NhY2hlZFN0YXRlLmhhc1ZpZGVvID0gbV9wbGF5
ZXItPmhhc1ZpZGVvKCk7CiAgICAgbWF5YmVVcGRhdGVDYWNoZWRWaWRlb01ldHJpY3MoKTsKICAg
ICBpZiAobV9idWZmZXJlZENoYW5nZWQpIHsKICAgICAgICAgbV9idWZmZXJlZENoYW5nZWQgPSBm
YWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVN
ZWRpYVBsYXllclByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3Rl
TWVkaWFQbGF5ZXJQcm94eS5oCmluZGV4IDc3MGQ3ZmMyMjQ5YmRjYzdhNGJhMTY4ZGQ5YmQ5N2M1
N2JmMWMwMjMuLjFhNmRmNmU2ZDUwYWE2M2Y3ZmJlN2IyYjAyOTNmZTEwMmFmN2E4NTMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclBy
b3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxh
eWVyUHJveHkuaApAQCAtMjgxLDcgKzI4MSw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtZWRpYVBs
YXllclNob3VsZENoZWNrSGFyZHdhcmVTdXBwb3J0KCkgY29uc3QgZmluYWw7CiAKICAgICB2b2lk
IHN0YXJ0VXBkYXRlQ2FjaGVkU3RhdGVNZXNzYWdlVGltZXIoKTsKLSAgICB2b2lkIHVwZGF0ZUNh
Y2hlZFN0YXRlKCk7CisgICAgdm9pZCB1cGRhdGVDYWNoZWRTdGF0ZShib29sID0gZmFsc2UpOwog
ICAgIHZvaWQgc2VuZENhY2hlZFN0YXRlKCk7CiAgICAgdm9pZCB0aW1lckZpcmVkKCk7CiAKQEAg
LTI5MSw2ICsyOTEsOCBAQCBwcml2YXRlOgogICAgIHZvaWQgY3JlYXRlQXVkaW9Tb3VyY2VQcm92
aWRlcigpOwogICAgIHZvaWQgc2V0U2hvdWxkRW5hYmxlQXVkaW9Tb3VyY2VQcm92aWRlcihib29s
KTsKIAorICAgIHZvaWQgY3VycmVudFRpbWVDaGFuZ2VkKGNvbnN0IE1lZGlhVGltZSYpOworCiAj
aWYgUExBVEZPUk0oQ09DT0EpCiAgICAgdm9pZCBuYXRpdmVJbWFnZUZvckN1cnJlbnRUaW1lKENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoT3B0aW9uYWw8V1RGOjpNYWNoU2VuZFJpZ2h0PiYmKT4mJik7
CiAgICAgdm9pZCBwaXhlbEJ1ZmZlckZvckN1cnJlbnRUaW1lKENvbXBsZXRpb25IYW5kbGVyPHZv
aWQoT3B0aW9uYWw8V1RGOjpNYWNoU2VuZFJpZ2h0PiYmKT4mJik7CkBAIC0zNDcsNiArMzQ5LDgg
QEAgcHJpdmF0ZToKICNlbmRpZgogICAgIFNjb3BlZFJlbmRlcmluZ1Jlc291cmNlc1JlcXVlc3Qg
bV9yZW5kZXJpbmdSZXNvdXJjZXNSZXF1ZXN0OwogCisgICAgYm9vbCBtX29ic2VydmluZ1RpbWVD
aGFuZ2VzIHsgZmFsc2UgfTsKKwogI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAogICAgIGNvbnN0
IExvZ2dlciYgbV9sb2dnZXI7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmNwcApp
bmRleCAzZDhhOTAxN2JjYjY3NDVkMjJlNGFhN2Q5ODRhYzFjNDA2ZmRhNDZiLi4wMzhjZGE3NTMw
YTRlYmY2M2M4Y2ZkMTFlNmE2YmQ4YjdiOGVmNmYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1v
dGUuY3BwCkBAIC0yMDQsOCArMjA0LDggQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6
OnBhdXNlKCkKIHsKICAgICBtX2NhY2hlZFN0YXRlLnBhdXNlZCA9IHRydWU7CiAgICAgYXV0byBu
b3cgPSBNb25vdG9uaWNUaW1lOjpub3coKTsKLSAgICBtX2NhY2hlZFN0YXRlLmN1cnJlbnRUaW1l
ICs9IE1lZGlhVGltZTo6Y3JlYXRlV2l0aERvdWJsZShtX3JhdGUgKiAobm93IC0gbV9jYWNoZWRT
dGF0ZS50aW1lc3RhbXApLnZhbHVlKCkpOwotICAgIG1fY2FjaGVkU3RhdGUudGltZXN0YW1wID0g
bm93OworICAgIG1fY2FjaGVkTWVkaWFUaW1lICs9IE1lZGlhVGltZTo6Y3JlYXRlV2l0aERvdWJs
ZShtX3JhdGUgKiAobm93IC0gbV9jYWNoZWRNZWRpYVRpbWVRdWVyeVRpbWUpLnZhbHVlKCkpOwor
ICAgIG1fY2FjaGVkTWVkaWFUaW1lUXVlcnlUaW1lID0gbm93OwogICAgIGNvbm5lY3Rpb24oKS5z
ZW5kKE1lc3NhZ2VzOjpSZW1vdGVNZWRpYVBsYXllclByb3h5OjpQYXVzZSgpLCBtX2lkKTsKIH0K
IApAQCAtMjUxLDEwICsyNTEsMTAgQEAgTWVkaWFUaW1lIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90
ZTo6ZHVyYXRpb25NZWRpYVRpbWUoKSBjb25zdAogCiBNZWRpYVRpbWUgTWVkaWFQbGF5ZXJQcml2
YXRlUmVtb3RlOjpjdXJyZW50TWVkaWFUaW1lKCkgY29uc3QKIHsKLSAgICBpZiAobV9jYWNoZWRT
dGF0ZS5wYXVzZWQgfHwgIW1fY2FjaGVkU3RhdGUuY3VycmVudFRpbWUpCi0gICAgICAgIHJldHVy
biBtX2NhY2hlZFN0YXRlLmN1cnJlbnRUaW1lOworICAgIGlmIChtX2NhY2hlZFN0YXRlLnBhdXNl
ZCB8fCAhbV9jYWNoZWRNZWRpYVRpbWUpCisgICAgICAgIHJldHVybiBtX2NhY2hlZE1lZGlhVGlt
ZTsKIAotICAgIHJldHVybiBtX2NhY2hlZFN0YXRlLmN1cnJlbnRUaW1lICsgTWVkaWFUaW1lOjpj
cmVhdGVXaXRoRG91YmxlKG1fcmF0ZSAqIChNb25vdG9uaWNUaW1lOjpub3coKSAtIG1fY2FjaGVk
U3RhdGUudGltZXN0YW1wKS5zZWNvbmRzKCkpOworICAgIHJldHVybiBtX2NhY2hlZE1lZGlhVGlt
ZSArIE1lZGlhVGltZTo6Y3JlYXRlV2l0aERvdWJsZShtX3JhdGUgKiAoTW9ub3RvbmljVGltZTo6
bm93KCkgLSBtX2NhY2hlZE1lZGlhVGltZVF1ZXJ5VGltZSkuc2Vjb25kcygpKTsKIH0KIAogdm9p
ZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnNlZWsoY29uc3QgTWVkaWFUaW1lJiB0aW1lKQpA
QCAtMzUxLDggKzM1MSw4IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpyYXRlQ2hh
bmdlZChkb3VibGUgcmF0ZSkKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpwbGF5YmFj
a1N0YXRlQ2hhbmdlZChib29sIHBhdXNlZCwgTWVkaWFUaW1lJiYgbWVkaWFUaW1lLCBNb25vdG9u
aWNUaW1lJiYgd2FsbFRpbWUpCiB7CiAgICAgbV9jYWNoZWRTdGF0ZS5wYXVzZWQgPSBwYXVzZWQ7
Ci0gICAgbV9jYWNoZWRTdGF0ZS5jdXJyZW50VGltZSA9IG1lZGlhVGltZTsKLSAgICBtX2NhY2hl
ZFN0YXRlLnRpbWVzdGFtcCA9IHdhbGxUaW1lOworICAgIG1fY2FjaGVkTWVkaWFUaW1lID0gbWVk
aWFUaW1lOworICAgIG1fY2FjaGVkTWVkaWFUaW1lUXVlcnlUaW1lID0gd2FsbFRpbWU7CiAgICAg
bV9wbGF5ZXItPnBsYXliYWNrU3RhdGVDaGFuZ2VkKCk7CiB9CiAKQEAgLTM3NCw2ICszNzQsMTIg
QEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnNpemVDaGFuZ2VkKFdlYkNvcmU6OkZs
b2F0U2l6ZSBuYXR1cmFsU2l6ZSkKICAgICBtX3BsYXllci0+c2l6ZUNoYW5nZWQoKTsKIH0KIAor
dm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OmN1cnJlbnRUaW1lQ2hhbmdlZChjb25zdCBN
ZWRpYVRpbWUmIG1lZGlhVGltZSwgY29uc3QgTW9ub3RvbmljVGltZSYgcXVlcnlUaW1lKQorewor
ICAgIG1fY2FjaGVkTWVkaWFUaW1lID0gbWVkaWFUaW1lOworICAgIG1fY2FjaGVkTWVkaWFUaW1l
UXVlcnlUaW1lID0gcXVlcnlUaW1lOworfQorCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90
ZTo6Zmlyc3RWaWRlb0ZyYW1lQXZhaWxhYmxlKCkKIHsKICAgICBJTkZPX0xPRyhMT0dJREVOVElG
SUVSKTsKQEAgLTQyNyw4ICs0MzMsNiBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6
dXBkYXRlQ2FjaGVkU3RhdGUoUmVtb3RlTWVkaWFQbGF5ZXJTdGF0ZSYmIHN0YXRlKQogewogICAg
IGNvbnN0IFNlY29uZHMgcGxheWJhY2tRdWFsaXR5TWV0cmljc1RpbWVvdXQgPSAzMF9zOwogCi0g
ICAgbV9jYWNoZWRTdGF0ZS50aW1lc3RhbXAgPSBzdGF0ZS50aW1lc3RhbXA7Ci0gICAgbV9jYWNo
ZWRTdGF0ZS5jdXJyZW50VGltZSA9IHN0YXRlLmN1cnJlbnRUaW1lOwogICAgIG1fY2FjaGVkU3Rh
dGUuZHVyYXRpb24gPSBzdGF0ZS5kdXJhdGlvbjsKICAgICBtX2NhY2hlZFN0YXRlLm1pblRpbWVT
ZWVrYWJsZSA9IHN0YXRlLm1pblRpbWVTZWVrYWJsZTsKICAgICBtX2NhY2hlZFN0YXRlLm1heFRp
bWVTZWVrYWJsZSA9IHN0YXRlLm1heFRpbWVTZWVrYWJsZTsKQEAgLTEyMjAsMTIgKzEyMjQsMTIg
QEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OmFwcGxpY2F0aW9uRGlkQmVjb21lQWN0
aXZlKCkKIAogYm9vbCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnBlcmZvcm1UYXNrQXRNZWRp
YVRpbWUoV1RGOjpGdW5jdGlvbjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIsIGNvbnN0IE1l
ZGlhVGltZSYgbWVkaWFUaW1lKQogewotICAgIGF1dG8gYXN5bmNSZXBseUhhbmRsZXIgPSBbd2Vh
a1RoaXMgPSBtYWtlV2Vha1B0cigqdGhpcyksIHRoaXMsIGNvbXBsZXRpb25IYW5kbGVyID0gV1RG
TW92ZShjb21wbGV0aW9uSGFuZGxlcildKE9wdGlvbmFsPE1lZGlhVGltZT4gY3VycmVudFRpbWUs
IE9wdGlvbmFsPE1vbm90b25pY1RpbWU+IHdhbGxUaW1lKSBtdXRhYmxlIHsKLSAgICAgICAgaWYg
KCF3ZWFrVGhpcyB8fCAhY3VycmVudFRpbWUgfHwgIXdhbGxUaW1lKQorICAgIGF1dG8gYXN5bmNS
ZXBseUhhbmRsZXIgPSBbd2Vha1RoaXMgPSBtYWtlV2Vha1B0cigqdGhpcyksIHRoaXMsIGNvbXBs
ZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildKE9wdGlvbmFsPE1lZGlh
VGltZT4gY3VycmVudFRpbWUsIE9wdGlvbmFsPE1vbm90b25pY1RpbWU+IHF1ZXJ5VGltZSkgbXV0
YWJsZSB7CisgICAgICAgIGlmICghd2Vha1RoaXMgfHwgIWN1cnJlbnRUaW1lIHx8ICFxdWVyeVRp
bWUpCiAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAgbV9jYWNoZWRTdGF0ZS5jdXJyZW50
VGltZSA9ICpjdXJyZW50VGltZTsKLSAgICAgICAgbV9jYWNoZWRTdGF0ZS50aW1lc3RhbXAgPSAq
d2FsbFRpbWU7CisgICAgICAgIG1fY2FjaGVkTWVkaWFUaW1lID0gKmN1cnJlbnRUaW1lOworICAg
ICAgICBtX2NhY2hlZE1lZGlhVGltZVF1ZXJ5VGltZSA9ICpxdWVyeVRpbWU7CiAgICAgICAgIGNv
bXBsZXRpb25IYW5kbGVyKCk7CiAgICAgfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuaCBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmgKaW5k
ZXggNTgyNDFiNjNhNzEyM2RlNjIwNzBiODYyMGUyOGY4YjgyMDM5N2MxYS4uNjg4NzRhOTBiZmFk
Y2U2ZjgxYzJjZjNmZDJhY2ZjODkyNGJjZDQzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5o
CkBAIC0xMTAsNiArMTEwLDggQEAgcHVibGljOgogICAgIHZvaWQgc2V0VmlkZW9JbmxpbmVTaXpl
RmVuY2VkKGNvbnN0IFdlYkNvcmU6OkludFNpemUmLCBjb25zdCBXVEY6Ok1hY2hTZW5kUmlnaHQm
KTsKICNlbmRpZgogCisgICAgdm9pZCBjdXJyZW50VGltZUNoYW5nZWQoY29uc3QgTWVkaWFUaW1l
JiwgY29uc3QgTW9ub3RvbmljVGltZSYpOworCiAgICAgdm9pZCBhZGRSZW1vdGVBdWRpb1RyYWNr
KFRyYWNrUHJpdmF0ZVJlbW90ZUlkZW50aWZpZXIsIFRyYWNrUHJpdmF0ZVJlbW90ZUNvbmZpZ3Vy
YXRpb24mJik7CiAgICAgdm9pZCByZW1vdmVSZW1vdGVBdWRpb1RyYWNrKFRyYWNrUHJpdmF0ZVJl
bW90ZUlkZW50aWZpZXIpOwogICAgIHZvaWQgcmVtb3RlQXVkaW9UcmFja0NvbmZpZ3VyYXRpb25D
aGFuZ2VkKFRyYWNrUHJpdmF0ZVJlbW90ZUlkZW50aWZpZXIsIFRyYWNrUHJpdmF0ZVJlbW90ZUNv
bmZpZ3VyYXRpb24mJik7CkBAIC00MTUsNiArNDE3LDkgQEAgcHJpdmF0ZToKICAgICBXZWJDb3Jl
OjpTZWN1cml0eU9yaWdpbkRhdGEgbV9kb2N1bWVudFNlY3VyaXR5T3JpZ2luOwogICAgIG11dGFi
bGUgSGFzaE1hcDxXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEsIE9wdGlvbmFsPGJvb2w+PiBt
X3dvdWxkVGFpbnRPcmlnaW5DYWNoZTsKIAorICAgIE1lZGlhVGltZSBtX2NhY2hlZE1lZGlhVGlt
ZTsKKyAgICBNb25vdG9uaWNUaW1lIG1fY2FjaGVkTWVkaWFUaW1lUXVlcnlUaW1lOworCiAgICAg
TW9ub3RvbmljVGltZSBtX2xhc3RQbGF5YmFja1F1YWxpdHlNZXRyaWNzUXVlcnlUaW1lOwogICAg
IFNlY29uZHMgbV92aWRlb1BsYXliYWNrTWV0cmljc1VwZGF0ZUludGVydmFsOwogICAgIGRvdWJs
ZSBtX3ZvbHVtZSB7IDEgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9H
UFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLm1lc3NhZ2VzLmluIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUubWVzc2Fn
ZXMuaW4KaW5kZXggNzU0NTU3NjIzNGM4NzhlMDhmMjc1OTE2ZDhhN2Y4M2ZiZDZjZDk1ZS4uMTli
NmE0Njg5NmE5NzU1MTJlYzljMDlmZmJhZTE4YTVkYjkwOTdkYiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUubWVz
c2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBs
YXllclByaXZhdGVSZW1vdGUubWVzc2FnZXMuaW4KQEAgLTM5LDYgKzM5LDggQEAgbWVzc2FnZXMg
LT4gTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlIE5vdFJlZkNvdW50ZWQgewogICAgIFNpemVDaGFu
Z2VkKFdlYkNvcmU6OkZsb2F0U2l6ZSBuYXR1cmFsU2l6ZSkKICAgICBSZW5kZXJpbmdNb2RlQ2hh
bmdlZCgpCiAKKyAgICBDdXJyZW50VGltZUNoYW5nZWQoTWVkaWFUaW1lIG1lZGlhVGltZSwgTW9u
b3RvbmljVGltZSB3YWxsVGltZSkKKwogICAgIEFkZFJlbW90ZUF1ZGlvVHJhY2soV2ViS2l0OjpU
cmFja1ByaXZhdGVSZW1vdGVJZGVudGlmaWVyIHRyYWNrSUQsIHN0cnVjdCBXZWJLaXQ6OlRyYWNr
UHJpdmF0ZVJlbW90ZUNvbmZpZ3VyYXRpb24gY29uZmlndXJhdGlvbikKICAgICBSZW1vdmVSZW1v
dGVBdWRpb1RyYWNrKFdlYktpdDo6VHJhY2tQcml2YXRlUmVtb3RlSWRlbnRpZmllciB0cmFja0lE
KQogICAgIFJlbW90ZUF1ZGlvVHJhY2tDb25maWd1cmF0aW9uQ2hhbmdlZChXZWJLaXQ6OlRyYWNr
UHJpdmF0ZVJlbW90ZUlkZW50aWZpZXIgdHJhY2tJRCwgc3RydWN0IFdlYktpdDo6VHJhY2tQcml2
YXRlUmVtb3RlQ29uZmlndXJhdGlvbiBjb25maWd1cmF0aW9uKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclN0YXRlLmggYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyU3RhdGUu
aAppbmRleCBiZjRmOWI1MmFlNGRmZmI4MWUxYmZmYjllZGUxZGYyZTBhZjJhZTk1Li4xZjc5Y2U1
MzgxN2IwNWE3NjVjMmE3Y2Y5M2NlYjQzNzU3NTIzMDczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyU3RhdGUuaAorKysgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyU3RhdGUu
aApAQCAtMzcsOCArMzcsNiBAQAogbmFtZXNwYWNlIFdlYktpdCB7CiAKIHN0cnVjdCBSZW1vdGVN
ZWRpYVBsYXllclN0YXRlIHsKLSAgICBNb25vdG9uaWNUaW1lIHRpbWVzdGFtcDsKLSAgICBNZWRp
YVRpbWUgY3VycmVudFRpbWU7CiAgICAgTWVkaWFUaW1lIGR1cmF0aW9uOwogICAgIE1lZGlhVGlt
ZSBtaW5UaW1lU2Vla2FibGU7CiAgICAgTWVkaWFUaW1lIG1heFRpbWVTZWVrYWJsZTsKQEAgLTcy
LDggKzcwLDYgQEAgc3RydWN0IFJlbW90ZU1lZGlhUGxheWVyU3RhdGUgewogICAgIHRlbXBsYXRl
PGNsYXNzIEVuY29kZXI+CiAgICAgdm9pZCBlbmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QK
ICAgICB7Ci0gICAgICAgIGVuY29kZXIgPDwgdGltZXN0YW1wOwotICAgICAgICBlbmNvZGVyIDw8
IGN1cnJlbnRUaW1lOwogICAgICAgICBlbmNvZGVyIDw8IGR1cmF0aW9uOwogICAgICAgICBlbmNv
ZGVyIDw8IG1pblRpbWVTZWVrYWJsZTsKICAgICAgICAgZW5jb2RlciA8PCBtYXhUaW1lU2Vla2Fi
bGU7CkBAIC0xMDgsMTYgKzEwNCw2IEBAIHN0cnVjdCBSZW1vdGVNZWRpYVBsYXllclN0YXRlIHsK
ICAgICB0ZW1wbGF0ZSA8Y2xhc3MgRGVjb2Rlcj4KICAgICBzdGF0aWMgT3B0aW9uYWw8UmVtb3Rl
TWVkaWFQbGF5ZXJTdGF0ZT4gZGVjb2RlKERlY29kZXImIGRlY29kZXIpCiAgICAgewotICAgICAg
ICBPcHRpb25hbDxNb25vdG9uaWNUaW1lPiB0aW1lc3RhbXA7Ci0gICAgICAgIGRlY29kZXIgPj4g
dGltZXN0YW1wOwotICAgICAgICBpZiAoIXRpbWVzdGFtcCkKLSAgICAgICAgICAgIHJldHVybiBX
VEY6Om51bGxvcHQ7Ci0KLSAgICAgICAgT3B0aW9uYWw8TWVkaWFUaW1lPiBjdXJyZW50VGltZTsK
LSAgICAgICAgZGVjb2RlciA+PiBjdXJyZW50VGltZTsKLSAgICAgICAgaWYgKCFjdXJyZW50VGlt
ZSkKLSAgICAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7Ci0KICAgICAgICAgT3B0aW9uYWw8
TWVkaWFUaW1lPiBkdXJhdGlvbjsKICAgICAgICAgZGVjb2RlciA+PiBkdXJhdGlvbjsKICAgICAg
ICAgaWYgKCFkdXJhdGlvbikKQEAgLTI2MCw4ICsyNDYsNiBAQCBzdHJ1Y3QgUmVtb3RlTWVkaWFQ
bGF5ZXJTdGF0ZSB7CiAgICAgICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwogCiAgICAgICAg
IHJldHVybiB7ewotICAgICAgICAgICAgV1RGTW92ZSgqdGltZXN0YW1wKSwKLSAgICAgICAgICAg
IFdURk1vdmUoKmN1cnJlbnRUaW1lKSwKICAgICAgICAgICAgIFdURk1vdmUoKmR1cmF0aW9uKSwK
ICAgICAgICAgICAgIFdURk1vdmUoKm1pblRpbWVTZWVrYWJsZSksCiAgICAgICAgICAgICBXVEZN
b3ZlKCptYXhUaW1lU2Vla2FibGUpLAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>