<?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>170659</bug_id>
          
          <creation_ts>2017-04-09 16:20:33 -0700</creation_ts>
          <short_desc>Drop Timer::startOneShot() overload taking a double</short_desc>
          <delta_ts>2017-04-10 01:02:28 -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>WebCore Misc.</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=170656</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>commit-queue</cc>
    
    <cc>sam</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1295846</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-04-09 16:20:33 -0700</bug_when>
    <thetext>Drop Timer::startOneShot() overload taking a double as people should use Seconds type now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295881</commentid>
    <comment_count>1</comment_count>
      <attachid>306650</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-04-09 21:58:32 -0700</bug_when>
    <thetext>Created attachment 306650
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295883</commentid>
    <comment_count>2</comment_count>
      <attachid>306652</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-04-09 22:07:46 -0700</bug_when>
    <thetext>Created attachment 306652
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295886</commentid>
    <comment_count>3</comment_count>
      <attachid>306653</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-04-09 22:14:38 -0700</bug_when>
    <thetext>Created attachment 306653
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295888</commentid>
    <comment_count>4</comment_count>
      <attachid>306654</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-04-09 22:19:08 -0700</bug_when>
    <thetext>Created attachment 306654
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295891</commentid>
    <comment_count>5</comment_count>
      <attachid>306655</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-04-09 22:31:29 -0700</bug_when>
    <thetext>Created attachment 306655
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295893</commentid>
    <comment_count>6</comment_count>
      <attachid>306656</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-04-09 22:38:27 -0700</bug_when>
    <thetext>Created attachment 306656
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295897</commentid>
    <comment_count>7</comment_count>
      <attachid>306659</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-04-09 22:44:06 -0700</bug_when>
    <thetext>Created attachment 306659
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295900</commentid>
    <comment_count>8</comment_count>
      <attachid>306661</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-04-09 23:06:43 -0700</bug_when>
    <thetext>Created attachment 306661
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295913</commentid>
    <comment_count>9</comment_count>
      <attachid>306661</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-04-10 00:34:37 -0700</bug_when>
    <thetext>Comment on attachment 306661
Patch

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

r=me with future clean up suggestion. Basically, I think `1_s * xxx` should be removed in the future.

&gt; Source/WebCore/page/EventSource.cpp:141
&gt; +    m_connectTimer.startOneShot(1_ms * m_reconnectDelay);

Nice.

&gt; Source/WebCore/platform/ScrollAnimationSmooth.cpp:403
&gt; +    Seconds deltaToNextFrame = 1_s * ceil((currentTime - m_startTime).value() * frameRate) / frameRate - (currentTime - m_startTime);

Looking the code, I think ceil, round, floor etc. overloading for Seconds would be nice.
We already have several overloading functions, like, isnan, isinf, isfinite for Seconds.

&gt; Source/WebCore/platform/graphics/BitmapImage.cpp:342
&gt; +    m_desiredFrameStartTime = std::max(time, m_desiredFrameStartTime + Seconds { frameDurationAtIndex(m_currentFrame) });

In a separate patch, we should return Seconds from frameDurationAtIndex.

&gt; Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp:774
&gt; +        d-&gt;m_timeoutSource.startOneShot(1_s * d-&gt;m_firstRequest.timeoutInterval());

In a separate patch, we should change this timeoutInterval() to Seconds.

&gt; Source/WebCore/replay/EventLoopInputDispatcher.cpp:121
&gt; +    m_timer.startOneShot(1_s * waitInterval);

In a separate patch, we should change this waitInterval (and related ones) to Seconds.

&gt; Source/WebKit/mac/Plugins/WebNetscapePluginView.mm:133
&gt; +        Seconds timeInterval = 1_ms * m_interval;

In a separate patch, we should change this m_interval to Seconds.

&gt; Source/WebKit/mac/Storage/WebStorageManager.mm:118
&gt;  + (void)setStorageDatabaseIdleInterval:(double)interval

In a separate patch, we should change this interval to Seconds.

&gt; Source/WebKit2/Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.cpp:155
&gt;          nextUpdateTime = std::max((1 / targetFPS) - (monotonicallyIncreasingTime() - m_lastUpdateTime), 0.0);

In a separate patch, we should change this m_lastUpdateTime to MonotonicTime and change nextUpdateTime to Seconds.

&gt; Source/WebKit2/Shared/WebMemorySampler.cpp:91
&gt;      m_sampleTimer.startRepeating(1_s);

In a separate patch, we should chnage this initializeTimers&apos;s double to Seconds.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295922</commentid>
    <comment_count>10</comment_count>
      <attachid>306661</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-04-10 01:02:26 -0700</bug_when>
    <thetext>Comment on attachment 306661
Patch

Clearing flags on attachment: 306661

Committed r215173: &lt;http://trac.webkit.org/changeset/215173&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295923</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-04-10 01:02:28 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>306650</attachid>
            <date>2017-04-09 21:58:32 -0700</date>
            <delta_ts>2017-04-09 22:07:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-170659-20170409215816.patch</filename>
            <type>text/plain</type>
            <size>150105</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE1MTY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjU2NmE5MGMzMjEyZGMz
MzAyMmE2MGViZWU2NDU1ODA1NTQ2ZGRiYy4uNWRmYTg3ZjkzZGZjMWJhNDljN2Y3ZGFmMWZkMzMx
MmEwN2E1YmRiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4MyBAQAorMjAxNy0wNC0wOSAgQ2hy
aXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIERyb3AgVGltZXI6OnN0YXJ0
T25lU2hvdCgpIG92ZXJsb2FkIHRha2luZyBhIGRvdWJsZQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcwNjU5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRHJvcCBUaW1lcjo6c3RhcnRPbmVTaG90KCkgb3Zl
cmxvYWQgdGFraW5nIGEgZG91YmxlIGFzIHBlb3BsZSBzaG91bGQgdXNlIFNlY29uZHMgdHlwZSBu
b3cuCisKKyAgICAgICAgKiBNb2R1bGVzL2dlb2xvY2F0aW9uL0dlb05vdGlmaWVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6Okdlb05vdGlmaWVyOjpzdGFydFRpbWVySWZOZWVkZWQpOgorICAgICAg
ICAqIE1vZHVsZXMvbWVkaWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6V2ViTWVkaWFTZXNzaW9uTWFuYWdlcjo6Y29uZmlndXJlV2F0Y2hkb2dU
aW1lcik6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXNlc3Npb24vV2ViTWVkaWFTZXNzaW9uTWFu
YWdlci5oOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vQ2FudmFzQ2FwdHVyZU1lZGlh
U3RyZWFtVHJhY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFzQ2FwdHVyZU1lZGlhU3Ry
ZWFtVHJhY2s6OlNvdXJjZTo6Y2FudmFzQ2hhbmdlZCk6CisgICAgICAgICogTW9kdWxlcy92aWJy
YXRpb24vVmlicmF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlZpYnJhdGlvbjo6dGltZXJG
aXJlZCk6CisgICAgICAgICogTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6V2ViU29ja2V0Q2hhbm5lbDo6Y2xvc2UpOgorICAgICAgICAq
IGFjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBWE9i
amVjdENhY2hlOjplbnF1ZXVlUGFzc3dvcmRWYWx1ZUNoYW5nZU5vdGlmaWNhdGlvbik6CisgICAg
ICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpwb3N0TGl2ZVJlZ2lvbkNoYW5nZU5vdGlmaWNh
dGlvbik6CisgICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpmb2N1c0FyaWFNb2RhbE5v
ZGUpOgorICAgICAgICAqIGNzcy9DU1NGb250RmFjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpD
U1NGb250RmFjZTo6c2V0U3RhdHVzKToKKyAgICAgICAgKiBjc3MvU3R5bGVSZXNvbHZlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJlc29sdmVyOjphZGRUb01hdGNoZWRQcm9wZXJ0aWVz
Q2FjaGUpOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpE
b2N1bWVudDo6c2V0VmlzdWFsVXBkYXRlc0FsbG93ZWQpOgorICAgICAgICAoV2ViQ29yZTo6RG9j
dW1lbnQ6OmZpbmlzaGVkUGFyc2luZyk6CisgICAgICAgICogZG9tL1NjcmlwdGVkQW5pbWF0aW9u
Q29udHJvbGxlci5jcHA6CisgICAgICAgICogZWRpdGluZy9BbHRlcm5hdGl2ZVRleHRDb250cm9s
bGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFsdGVybmF0aXZlVGV4dENvbnRyb2xsZXI6OnN0
YXJ0QWx0ZXJuYXRpdmVUZXh0VUlUaW1lcik6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVt
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmFkZEJlaGF2aW9y
UmVzdHJpY3Rpb25zT25FbmRJZk5lY2Vzc2FyeSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVk
aWFFbGVtZW50OjpoYW5kbGVTZWVrVG9QbGF5YmFja1Bvc2l0aW9uKToKKyAgICAgICAgKiBodG1s
L1NlYXJjaElucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZWFyY2hJbnB1dFR5cGU6
OnN0YXJ0U2VhcmNoRXZlbnRUaW1lcik6CisgICAgICAgICogaHRtbC9WYWxpZGF0aW9uTWVzc2Fn
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWYWxpZGF0aW9uTWVzc2FnZTo6c2V0TWVzc2FnZURP
TUFuZFN0YXJ0VGltZXIpOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29u
dGV4dEJhc2UuY3BwOgorICAgICAgICAqIGh0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRz
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFBhbmVsRWxlbWVudDo6c3RhcnRU
aW1lcik6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xQYW5lbEVsZW1lbnQ6Om1ha2VU
cmFuc3BhcmVudCk6CisgICAgICAgICogaHRtbC90cmFjay9WVFRSZWdpb24uY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6VlRUUmVnaW9uOjpzdGFydFRpbWVyKToKKyAgICAgICAgKiBpbnNwZWN0b3Iv
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbjo6ZnJhbWVTY2hlZHVsZWROYXZpZ2F0aW9uSW1wbCk6CisgICAgICAg
ICogaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oOgorICAgICAgICAoV2ViQ29y
ZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpmcmFtZVNjaGVkdWxlZE5hdmlnYXRpb24pOgor
ICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SW5zcGVjdG9yUGFnZUFnZW50OjpmcmFtZVNjaGVkdWxlZE5hdmlnYXRpb24pOgorICAg
ICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuaDoKKyAgICAgICAgKiBsb2FkZXIv
TmF2aWdhdGlvblNjaGVkdWxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0aW9uU2No
ZWR1bGVyOjpzdGFydFRpbWVyKToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3Vy
Y2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OmRv
Y3VtZW50RGlkRmluaXNoTG9hZEV2ZW50KToKKyAgICAgICAgKiBsb2FkZXIvaWNvbi9JY29uRGF0
YWJhc2UuY3BwOgorICAgICAgICAqIHBhZ2UvRXZlbnRIYW5kbGVyLmNwcDoKKyAgICAgICAgKiBw
YWdlL0V2ZW50U291cmNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50U291cmNlOjpzY2hl
ZHVsZVJlY29ubmVjdCk6CisgICAgICAgICogcGFnZS9Gb2N1c0NvbnRyb2xsZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Rm9jdXNDb250cm9sbGVyOjpzZXRGb2N1c2VkRWxlbWVudE5lZWRzUmVw
YWludCk6CisgICAgICAgICogcGFnZS9GcmFtZVZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
RnJhbWVWaWV3OjpzY3JvbGxQb3NpdGlvbkNoYW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6RnJh
bWVWaWV3OjplbmFibGVTcGVjdWxhdGl2ZVRpbGluZ0lmTmVlZGVkKToKKyAgICAgICAgKiBwYWdl
L1NldHRpbmdzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpTZXR0aW5ncyk6Cisg
ICAgICAgICogcGFnZS9TZXR0aW5ncy5oOgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OnNl
dFRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKToKKyAgICAgICAg
KFdlYkNvcmU6OlNldHRpbmdzOjp0aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdD
b250cm9scyk6CisgICAgICAgICogcGFnZS9TdXNwZW5kYWJsZVRpbWVyLmg6CisgICAgICAgICog
cGFnZS9hbmltYXRpb24vQ1NTQW5pbWF0aW9uQ29udHJvbGxlci5jcHA6CisgICAgICAgICogcGFn
ZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tOgorICAgICAgICAqIHBhZ2UvbWFjL1RleHRJbmRpY2F0
b3JXaW5kb3cubW06CisgICAgICAgIChXZWJDb3JlOjpUZXh0SW5kaWNhdG9yV2luZG93OjpzZXRU
ZXh0SW5kaWNhdG9yKToKKyAgICAgICAgKiBwbGF0Zm9ybS9IeXN0ZXJlc2lzQWN0aXZpdHkuaDoK
KyAgICAgICAgKFdlYkNvcmU6Okh5c3RlcmVzaXNBY3Rpdml0eTo6c3RvcCk6CisgICAgICAgICog
cGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Omdl
dEFuaW1hdGlvblBhcmFtZXRlcnNGb3JHcmFudWxhcml0eSk6CisgICAgICAgIChXZWJDb3JlOjpT
Y3JvbGxBbmltYXRpb25TbW9vdGg6OnVwZGF0ZVBlckF4aXNEYXRhKToKKyAgICAgICAgKFdlYkNv
cmU6OlNjcm9sbEFuaW1hdGlvblNtb290aDo6YW5pbWF0ZVNjcm9sbCk6CisgICAgICAgIChXZWJD
b3JlOjpTY3JvbGxBbmltYXRpb25TbW9vdGg6OmFuaW1hdGlvblRpbWVyRmlyZWQpOgorICAgICAg
ICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0aW9uU21vb3RoOjpzdGFydE5leHRUaW1lcik6CisgICAg
ICAgICogcGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmg6CisgICAgICAgICogcGxhdGZv
cm0vVGltZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6c3RhcnRSZXBlYXRpbmcp
OgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uOjpzY2hlZHVsZUNsaWVudERhdGFC
dWZmZXJpbmdDaGVjayk6CisgICAgICAgICogcGxhdGZvcm0vY29jb2EvU2Nyb2xsQ29udHJvbGxl
ci5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbENvbnRyb2xsZXI6OnNjaGVkdWxlU3RhdGVs
ZXNzU2Nyb2xsU25hcCk6CisgICAgICAgICogcGxhdGZvcm0vZ2FtZXBhZC9jb2NvYS9HYW1lQ29u
dHJvbGxlckdhbWVwYWRQcm92aWRlci5tbToKKyAgICAgICAgKFdlYkNvcmU6OkdhbWVDb250cm9s
bGVyR2FtZXBhZFByb3ZpZGVyOjpnYW1lcGFkSGFkSW5wdXQpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dhbWVwYWQvbWFjL0hJREdhbWVwYWRQcm92aWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpI
SURHYW1lcGFkUHJvdmlkZXI6Om9wZW5BbmRTY2hlZHVsZU1hbmFnZXIpOgorICAgICAgICAoV2Vi
Q29yZTo6SElER2FtZXBhZFByb3ZpZGVyOjp2YWx1ZXNDaGFuZ2VkKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9nbGliL01haW5UaHJlYWRTaGFyZWRUaW1lckdMaWIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6TWFpblRocmVhZFNoYXJlZFRpbWVyOjpzZXRGaXJlSW50ZXJ2YWwpOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkJpdG1h
cEltYWdlOjpzdGFydFRpbWVyKToKKyAgICAgICAgKFdlYkNvcmU6OkJpdG1hcEltYWdlOjppbnRl
cm5hbFN0YXJ0QW5pbWF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkJpdG1hcEltYWdlOjphZHZh
bmNlQW5pbWF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkJpdG1hcEltYWdlOjpyZXNldEFuaW1h
dGlvbik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuaDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyLmNwcDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9TaGFkb3dCbHVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlNjcmF0Y2hCdWZmZXI6OnNjaGVkdWxlU2NyYXRjaEJ1ZmZlclB1cmdlKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9jYS9MYXllclBvb2wuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
TGF5ZXJQb29sOjpzY2hlZHVsZVBydW5lKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9n
c3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6Y2hhbmdlUGlwZWxpbmVTdGF0ZSk6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0dyYXBoaWNzQ29udGV4dDNETWFjLm1tOgor
ICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0RNYW5hZ2VyOjp1cGRhdGVIaWdoUGVy
Zm9ybWFuY2VTdGF0ZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0JpdG1h
cFRleHR1cmVQb29sLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkJpdG1hcFRleHR1cmVQb29sOjpz
Y2hlZHVsZVJlbGVhc2VVbnVzZWRUZXh0dXJlcyk6CisgICAgICAgIChXZWJDb3JlOjpCaXRtYXBU
ZXh0dXJlUG9vbDo6cmVsZWFzZVVudXNlZFRleHR1cmVzVGltZXJGaXJlZCk6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVyUHJveHku
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6VGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXJQcm94eTo6
c2NoZWR1bGVSZWxlYXNlVW51c2VkQnVmZmVycyk6CisgICAgICAgIChXZWJDb3JlOjpUZXh0dXJl
TWFwcGVyUGxhdGZvcm1MYXllclByb3h5OjpyZWxlYXNlVW51c2VkQnVmZmVyc1RpbWVyRmlyZWQp
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGlu
YXRlZEltYWdlQmFja2luZy5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3RrL1Njcm9sbEFuaW1h
dG9yR3RrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdG9yR3RrOjpvdmVybGF5
U2Nyb2xsYmFyQW5pbWF0aW9uVGltZXJGaXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxB
bmltYXRvckd0azo6c2hvd092ZXJsYXlTY3JvbGxiYXJzKToKKyAgICAgICAgKFdlYkNvcmU6OlNj
cm9sbEFuaW1hdG9yR3RrOjpoaWRlT3ZlcmxheVNjcm9sbGJhcnMpOgorICAgICAgICAqIHBsYXRm
b3JtL2d0ay9TY3JvbGxBbmltYXRvckd0ay5oOgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9XZWJW
aWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdC5tbToKKyAgICAgICAgKFdlYlZpZGVvRnVsbHNj
cmVlbkludGVyZmFjZUFWS2l0OjpzaG91bGRFeGl0RnVsbHNjcmVlbldpdGhSZWFzb24pOgorICAg
ICAgICAqIHBsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5tbToKKyAgICAgICAgKFdlYkNv
cmU6OlNjcm9sbEFuaW1hdG9yTWFjOjpzdGFydFNjcm9sbGJhclBhaW50VGltZXIpOgorICAgICAg
ICAqIHBsYXRmb3JtL21vY2svTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlck1vY2suY3BwOgorICAg
ICAgICAqIHBsYXRmb3JtL21vY2svUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1vY2suY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1vY2s6OnNwZWFrKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL1RpbWVyRXZlbnRCYXNlZE1vY2suaDoKKyAgICAgICAg
KFdlYkNvcmU6OlRpbWVyRXZlbnQ6OlRpbWVyRXZlbnQpOgorICAgICAgICAqIHBsYXRmb3JtL25l
dHdvcmsvRE5TUmVzb2x2ZVF1ZXVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkROU1Jlc29sdmVR
dWV1ZTo6YWRkKToKKyAgICAgICAgKFdlYkNvcmU6OkROU1Jlc29sdmVRdWV1ZTo6dGltZXJGaXJl
ZCk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9QaW5nSGFuZGxlLmg6CisgICAgICAgICog
cGxhdGZvcm0vbmV0d29yay9jdXJsL1Jlc291cmNlSGFuZGxlTWFuYWdlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZU1hbmFnZXI6OmRvd25sb2FkVGltZXJDYWxsYmFjayk6
CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZU1hbmFnZXI6OmFkZCk6CisgICAgICAg
IChXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZU1hbmFnZXI6OmNhbmNlbCk6CisgICAgICAgICogcGxh
dGZvcm0vbmV0d29yay9tYWMvTmV0d29ya1N0YXRlTm90aWZpZXJNYWMuY3BwOgorICAgICAgICAq
IHBsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UmVzb3VyY2VIYW5kbGU6OnNlbmRQZW5kaW5nUmVxdWVzdCk6CisgICAgICAgICog
cmVuZGVyaW5nL0ltYWdlUXVhbGl0eUNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SW1hZ2VRdWFsaXR5Q29udHJvbGxlcjo6cmVzdGFydFRpbWVyKToKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
UHJvZ3Jlc3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyUHJvZ3Jlc3M6OlJlbmRlclBy
b2dyZXNzKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyUHJvZ3Jlc3MuaDoKKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZWN1cmVUZXh0
VGltZXI6OnJlc3RhcnQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6YW5pbWF0aW9uUmVwZWF0SW50ZXJ2YWxGb3JQ
cm9ncmVzc0Jhcik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lLmg6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6bWVkaWFDb250cm9sc0ZhZGVPdXREdXJhdGlvbik6Cisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lR3RrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclRoZW1lR3RrOjphbmltYXRpb25SZXBlYXRJbnRlcnZhbEZvclByb2dyZXNzQmFyKToK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVHdGsuaDoKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyVGhlbWVJT1MuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1Mu
bW06CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZUlPUzo6YW5pbWF0aW9uUmVwZWF0SW50
ZXJ2YWxGb3JQcm9ncmVzc0Jhcik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFj
Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1tOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyVGhlbWVNYWM6OmFuaW1hdGlvblJlcGVhdEludGVydmFsRm9yUHJvZ3Jlc3NC
YXIpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVNYWM6OmFuaW1hdGlvbkR1cmF0aW9u
Rm9yUHJvZ3Jlc3NCYXIpOgorICAgICAgICAqIHJlcGxheS9FdmVudExvb3BJbnB1dERpc3BhdGNo
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRMb29wSW5wdXREaXNwYXRjaGVyOjpkaXNw
YXRjaElucHV0U29vbik6CisgICAgICAgICogc3ZnL2FuaW1hdGlvbi9TTUlMVGltZUNvbnRhaW5l
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTTUlMVGltZUNvbnRhaW5lcjo6c3RhcnRUaW1lcik6
CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkludGVybmFsU2V0dGluZ3M6OnNldFRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhp
ZGluZ0NvbnRyb2xzKToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaDoKKyAg
ICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5h
bHM6OnNldEltYWdlRnJhbWVEZWNvZGluZ0R1cmF0aW9uKToKKyAgICAgICAgKiB4bWwvWE1MSHR0
cFJlcXVlc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3Q6OmNyZWF0ZVJl
cXVlc3QpOgorCiAyMDE3LTA0LTA5ICBZdXN1a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFAZ21haWwu
Y29tPgogCiAgICAgICAgIFtXVEZdIEFubm90YXRlIFNlY29uZHMnIG1lbWJlciBmdW5jdGlvbnMg
YW5kIG9wZXJhdG9ycyB3aXRoIGNvbnN0ZXhwcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBlZmMzMDdhOTNjMjM2NThh
OTg4MzhhY2NhYTE0NGIxOTczMjJjNmI1Li5jNGJkNTRhYjQ2MzEwZDJhYjU5OTFjMzgyODNkODg3
OTdmOTAyN2NkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIxIEBACiAyMDE3LTA0LTA5ICBDaHJpcyBE
dW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKKyAgICAgICAgRHJvcCBUaW1lcjo6c3RhcnRPbmVT
aG90KCkgb3ZlcmxvYWQgdGFraW5nIGEgZG91YmxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzA2NTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBEcm9wIFRpbWVyOjpzdGFydE9uZVNob3QoKSBvdmVybG9h
ZCB0YWtpbmcgYSBkb3VibGUgYXMgcGVvcGxlIHNob3VsZCB1c2UgU2Vjb25kcyB0eXBlIG5vdy4K
KworICAgICAgICAqIFN0b3JhZ2UvU3RvcmFnZUFyZWFTeW5jLmNwcDoKKyAgICAgICAgKiBTdG9y
YWdlL1N0b3JhZ2VUcmFja2VyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6U3RvcmFnZVRyYWNrZXI6
OlN0b3JhZ2VUcmFja2VyKToKKyAgICAgICAgKiBTdG9yYWdlL1N0b3JhZ2VUcmFja2VyLmg6Cisg
ICAgICAgIChXZWJLaXQ6OlN0b3JhZ2VUcmFja2VyOjpzdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2
YWwpOgorICAgICAgICAoV2ViS2l0OjpTdG9yYWdlVHJhY2tlcjo6c2V0U3RvcmFnZURhdGFiYXNl
SWRsZUludGVydmFsKToKKworMjAxNy0wNC0wOSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUu
Y29tPgorCiAgICAgICAgIFN0YXJ0IGRyb3BwaW5nIFRpbWVyIEFQSSBkZWFsaW5nIHdpdGggZG91
YmxlCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzA2
NDkKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IDY1MWE4YzZlYmZkYzkxMDAwMjE0MTRkMGFjNGM0YWVl
MGYyMTI5YmIuLmY0ZTFjMzQyMDI0ODRiZjNhMDUxNmY2NmNiOTUwYjQ3MzQ3YTNiYjcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21h
Yy9DaGFuZ2VMb2cKQEAgLTEsNSArMSwxOSBAQAogMjAxNy0wNC0wOSAgQ2hyaXMgRHVtZXogIDxj
ZHVtZXpAYXBwbGUuY29tPgogCisgICAgICAgIERyb3AgVGltZXI6OnN0YXJ0T25lU2hvdCgpIG92
ZXJsb2FkIHRha2luZyBhIGRvdWJsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTcwNjU5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgRHJvcCBUaW1lcjo6c3RhcnRPbmVTaG90KCkgb3ZlcmxvYWQgdGFraW5n
IGEgZG91YmxlIGFzIHBlb3BsZSBzaG91bGQgdXNlIFNlY29uZHMgdHlwZSBub3cuCisKKyAgICAg
ICAgKiBQbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luVmlldy5tbToKKyAgICAgICAgKFBsdWdpblRp
bWVyOjpzdGFydCk6CisgICAgICAgICogU3RvcmFnZS9XZWJTdG9yYWdlTWFuYWdlci5tbToKKyAg
ICAgICAgKCtbV2ViU3RvcmFnZU1hbmFnZXIgc2V0U3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFs
Ol0pOgorCisyMDE3LTA0LTA5ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKICAg
ICAgICAgRHJvcCBUaW1lcjo6c3RhcnRSZXBlYXRpbmcoKSBvdmVybG9hZCB0YWtpbmcgYSBkb3Vi
bGUKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MDY1
NgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0L3dpbi9DaGFuZ2VMb2cKaW5kZXggYWRjODVmZDNlMzNmNGFiMmYyNTBiMjYwOGEzYTVmNGRm
NTU4Y2QxOC4uZWJmMDY4ZWFkYzAzODlhY2ZiZDljNmVlOTk1ZWVkMDM0NDUxZGQ4MCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvd2lu
L0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIyIEBACiAyMDE3LTA0LTA5ICBDaHJpcyBEdW1leiAgPGNk
dW1lekBhcHBsZS5jb20+CiAKKyAgICAgICAgRHJvcCBUaW1lcjo6c3RhcnRPbmVTaG90KCkgb3Zl
cmxvYWQgdGFraW5nIGEgZG91YmxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNzA2NTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBEcm9wIFRpbWVyOjpzdGFydE9uZVNob3QoKSBvdmVybG9hZCB0YWtpbmcg
YSBkb3VibGUgYXMgcGVvcGxlIHNob3VsZCB1c2UgU2Vjb25kcyB0eXBlIG5vdy4KKworICAgICAg
ICAqIFBsdWdpbnMvUGx1Z2luTWVzc2FnZVRocm90dGxlcldpbi5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpQbHVnaW5NZXNzYWdlVGhyb3R0bGVyV2luOjphcHBlbmRNZXNzYWdlKToKKyAgICAgICAg
KFdlYkNvcmU6OlBsdWdpbk1lc3NhZ2VUaHJvdHRsZXJXaW46Om1lc3NhZ2VUaHJvdHRsZVRpbWVy
RmlyZWQpOgorICAgICAgICAqIFBsdWdpbnMvUGx1Z2luVmlld1dpbi5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpQbHVnaW5WaWV3OjppbnZhbGlkYXRlUmVjdCk6CisgICAgICAgICogV2ViQ29yZVN1
cHBvcnQvQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQuY3BwOgorICAgICAgICAoQWNjZWxl
cmF0ZWRDb21wb3NpdGluZ0NvbnRleHQ6OnNjaGVkdWxlTGF5ZXJGbHVzaCk6CisKKzIwMTctMDQt
MDkgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKwogICAgICAgICBEcm9wIFRpbWVy
OjpzdGFydFJlcGVhdGluZygpIG92ZXJsb2FkIHRha2luZyBhIGRvdWJsZQogICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcwNjU2CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRl
eCBjMmYwZTUwZTkwODk3OTY0NjdiYjYzYTY4ZjM0ZWQ5ZWQ0ZjI3NDk2Li4wZGQ5MjIyMWFkYjEx
YTdlNmQyZjU1NzMzOWNhYTJiZTUyZGY3ODNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsNjUgQEAK
IDIwMTctMDQtMDkgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAorICAgICAgICBE
cm9wIFRpbWVyOjpzdGFydE9uZVNob3QoKSBvdmVybG9hZCB0YWtpbmcgYSBkb3VibGUKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MDY1OQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERyb3AgVGltZXI6OnN0
YXJ0T25lU2hvdCgpIG92ZXJsb2FkIHRha2luZyBhIGRvdWJsZSBhcyBwZW9wbGUgc2hvdWxkIHVz
ZSBTZWNvbmRzIHR5cGUgbm93LgorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvUGluZ0xvYWQu
aDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9zb3VwL05ldHdvcmtEYXRhVGFza1NvdXAuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrRGF0YVRhc2tTb3VwOjpzdGFydFRpbWVvdXQpOgor
ICAgICAgICAqIFBsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmg6CisgICAgICAgICogUGxhdGZvcm0v
SVBDL21hYy9Db25uZWN0aW9uTWFjLm1tOgorICAgICAgICAoSVBDOjpDb25uZWN0aW9uVGVybWlu
YXRpb25XYXRjaGRvZzo6Y3JlYXRlQ29ubmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hkb2cpOgorICAg
ICAgICAoSVBDOjpDb25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZzo6Q29ubmVjdGlvblRlcm1p
bmF0aW9uV2F0Y2hkb2cpOgorICAgICAgICAoSVBDOjpDb25uZWN0aW9uOjp0ZXJtaW5hdGVTb29u
KToKKyAgICAgICAgKiBQbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3MuY3BwOgorICAgICAgICAo
V2ViS2l0OjpQbHVnaW5Qcm9jZXNzOjpzZXRNaW5pbXVtTGlmZXRpbWUpOgorICAgICAgICAqIFBs
dWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5oOgorICAgICAgICAqIFNoYXJlZC9DaGlsZFByb2Nl
c3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpDaGlsZFByb2Nlc3M6OkNoaWxkUHJvY2Vzcyk6Cisg
ICAgICAgICogU2hhcmVkL0NoaWxkUHJvY2Vzcy5oOgorICAgICAgICAoV2ViS2l0OjpDaGlsZFBy
b2Nlc3M6OnNldFRlcm1pbmF0aW9uVGltZW91dCk6CisgICAgICAgICogU2hhcmVkL0Nvb3JkaW5h
dGVkR3JhcGhpY3MvdGhyZWFkZWRjb21wb3NpdG9yL0NvbXBvc2l0aW5nUnVuTG9vcC5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OkNvbXBvc2l0aW5nUnVuTG9vcDo6c3RhcnRVcGRhdGVUaW1lcik6Cisg
ICAgICAgICogU2hhcmVkL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5o
OgorICAgICAgICAqIFNoYXJlZC9XZWJNZW1vcnlTYW1wbGVyLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6V2ViTWVtb3J5U2FtcGxlcjo6aW5pdGlhbGl6ZVRpbWVycyk6CisgICAgICAgICogU2hhcmVk
L1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L0NvY29hL0FQSVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUNvY29hLm1tOgorICAgICAgICAoQVBJOjpT
aGFyZWRKU0NvbnRleHQ6OmVuc3VyZUNvbnRleHQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9DaGls
ZFByb2Nlc3NQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OkNoaWxkUHJvY2Vzc1Byb3h5Ojpz
aHV0RG93blByb2Nlc3MpOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9OYXZpZ2F0aW9uU3Rh
dGUubW06CisgICAgICAgIChXZWJLaXQ6Ok5hdmlnYXRpb25TdGF0ZTo6ZGlkQ2hhbmdlSXNMb2Fk
aW5nKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvVmlld0dlc3R1cmVDb250cm9sbGVyLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6Vmlld0dlc3R1cmVDb250cm9sbGVyOjpTbmFwc2hvdFJlbW92
YWxUcmFja2VyOjpzdGFydFdhdGNoZG9nKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvVmll
d0dlc3R1cmVDb250cm9sbGVyLmg6CisgICAgICAgICogVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJv
eHlJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6RHJhd2luZ0FyZWFQcm94eUltcGw6OmRpc2Nh
cmRCYWNraW5nU3RvcmVTb29uKToKKyAgICAgICAgKFdlYktpdDo6RHJhd2luZ0FyZWFQcm94eUlt
cGw6OkRyYXdpbmdNb25pdG9yOjpzdGFydCk6CisgICAgICAgIChXZWJLaXQ6OkRyYXdpbmdBcmVh
UHJveHlJbXBsOjpEcmF3aW5nTW9uaXRvcjo6ZGlkRHJhdyk6CisgICAgICAgICogVUlQcm9jZXNz
L0dhbWVwYWQvVUlHYW1lcGFkUHJvdmlkZXIuY3BwOgorICAgICAgICAqIFVJUHJvY2Vzcy9QbHVn
aW5zL1BsdWdpblByb2Nlc3NQcm94eS5jcHA6CisgICAgICAgICogVUlQcm9jZXNzL1Byb2Nlc3NU
aHJvdHRsZXIuY3BwOgorICAgICAgICAqIFVJUHJvY2Vzcy9SZXNwb25zaXZlbmVzc1RpbWVyLmNw
cDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQcm9jZXNzUG9vbDo6Y3JlYXRlTmV3V2ViUHJvY2Vzcyk6CisgICAgICAgICogVUlQ
cm9jZXNzL2d0ay9HZXN0dXJlQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJLaXQ6Okdlc3R1
cmVDb250cm9sbGVyOjpEcmFnR2VzdHVyZTo6YmVnaW4pOgorICAgICAgICAqIFVJUHJvY2Vzcy9t
YWMvV2ViSW5zcGVjdG9yUHJveHlNYWMubW06CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdl
L0FjY2VsZXJhdGVkRHJhd2luZ0FyZWEuY3BwOgorICAgICAgICAoV2ViS2l0OjpBY2NlbGVyYXRl
ZERyYXdpbmdBcmVhOjpleGl0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGVOb3cpOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5
ZXJUcmVlSG9zdC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9z
dDo6c2NoZWR1bGVBbmltYXRpb24pOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6ZGV0ZXJtaW5lUHJpbWFyeVNuYXBz
aG90dGVkUGx1Z0luKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwOgorCisy
MDE3LTA0LTA5ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKICAgICAgICAgRHJv
cCBUaW1lcjo6c3RhcnRSZXBlYXRpbmcoKSBvdmVybG9hZCB0YWtpbmcgYSBkb3VibGUKICAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MDY1NgogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dlb2xvY2F0aW9uL0dlb05vdGlmaWVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvTm90aWZpZXIuY3BwCmlu
ZGV4IDc0YTk2Y2UxZDJiYTgwMjdjNWRlNjFiZmQyMGY0YjI4NGZkMjg3YjIuLjg2OTUwMmYwMGQ0
ZDVkNjBhOTZjZmI3NmY3OTVhYjZhZDJiMDI2YzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvTm90aWZpZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvTm90aWZpZXIuY3BwCkBAIC04Nyw3ICs4Nyw3IEBAIHZv
aWQgR2VvTm90aWZpZXI6OnJ1bkVycm9yQ2FsbGJhY2soUG9zaXRpb25FcnJvciogZXJyb3IpCiAK
IHZvaWQgR2VvTm90aWZpZXI6OnN0YXJ0VGltZXJJZk5lZWRlZCgpCiB7Ci0gICAgbV90aW1lci5z
dGFydE9uZVNob3QobV9vcHRpb25zLnRpbWVvdXQgLyAxMDAwLjApOworICAgIG1fdGltZXIuc3Rh
cnRPbmVTaG90KDFfbXMgKiBtX29wdGlvbnMudGltZW91dCk7CiB9CiAKIHZvaWQgR2VvTm90aWZp
ZXI6OnN0b3BUaW1lcigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c2Vzc2lvbi9XZWJNZWRpYVNlc3Npb25NYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwCmluZGV4IDdhMzM2OWYx
MGU1MzBlNGRjODdlNzE3ZDU2NzVmNzA5MTEzYjgwZTkuLmI4NjBlOTI3YmIxNGRiODM5ZmE5NGY5
N2YzNGM5ZDhiYTY5YTE1NDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwCkBAIC0zNiw3
ICszNiw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIGNvbnN0IGRvdWJsZSB0
YXNrRGVsYXlJbnRlcnZhbCA9IDEuMCAvIDEwLjA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyB0YXNr
RGVsYXlJbnRlcnZhbCB7IDFfcyAvIDEwLiB9OwogCiBzdHJ1Y3QgQ2xpZW50U3RhdGUgewogICAg
IGV4cGxpY2l0IENsaWVudFN0YXRlKFdlYk1lZGlhU2Vzc2lvbk1hbmFnZXJDbGllbnQmIGNsaWVu
dCwgdWludDY0X3QgY29udGV4dElkKQpAQCAtNDIzLDggKzQyMyw4IEBAIHNpemVfdCBXZWJNZWRp
YVNlc3Npb25NYW5hZ2VyOjpmaW5kKFdlYk1lZGlhU2Vzc2lvbk1hbmFnZXJDbGllbnQqIGNsaWVu
dCwgdWludDY0CiAKIHZvaWQgV2ViTWVkaWFTZXNzaW9uTWFuYWdlcjo6Y29uZmlndXJlV2F0Y2hk
b2dUaW1lcigpCiB7Ci0gICAgc3RhdGljIGNvbnN0IGRvdWJsZSB3YXRjaGRvZ1RpbWVySW50ZXJ2
YWxBZnRlclBhdXNpbmcgPSA2MCAqIDYwOwotICAgIHN0YXRpYyBjb25zdCBkb3VibGUgd2F0Y2hk
b2dUaW1lckludGVydmFsQWZ0ZXJQbGF5aW5nVG9FbmQgPSA4ICogNjA7CisgICAgc3RhdGljIGNv
bnN0IFNlY29uZHMgd2F0Y2hkb2dUaW1lckludGVydmFsQWZ0ZXJQYXVzaW5nIHsgMV9oIH07Cisg
ICAgc3RhdGljIGNvbnN0IFNlY29uZHMgd2F0Y2hkb2dUaW1lckludGVydmFsQWZ0ZXJQbGF5aW5n
VG9FbmQgeyA4X21pbiB9OwogCiAgICAgaWYgKCFtX3BsYXliYWNrVGFyZ2V0IHx8ICFtX3BsYXli
YWNrVGFyZ2V0LT5oYXNBY3RpdmVSb3V0ZSgpKSB7CiAgICAgICAgIG1fd2F0Y2hkb2dUaW1lci5z
dG9wKCk7CkBAIC00NDIsMTEgKzQ0MiwxMSBAQCB2b2lkIFdlYk1lZGlhU2Vzc2lvbk1hbmFnZXI6
OmNvbmZpZ3VyZVdhdGNoZG9nVGltZXIoKQogICAgIH0KIAogICAgIGlmIChzdG9wVGltZXIpIHsK
LSAgICAgICAgbV9jdXJyZW50V2F0Y2hkb2dJbnRlcnZhbCA9IDA7CisgICAgICAgIG1fY3VycmVu
dFdhdGNoZG9nSW50ZXJ2YWwgPSB7IH07CiAgICAgICAgIG1fd2F0Y2hkb2dUaW1lci5zdG9wKCk7
CiAgICAgICAgIExPRyhNZWRpYSwgIldlYk1lZGlhU2Vzc2lvbk1hbmFnZXI6OmNvbmZpZ3VyZVdh
dGNoZG9nVGltZXIgLSB0aW1lciBzdG9wcGVkIik7CiAgICAgfSBlbHNlIHsKLSAgICAgICAgZG91
YmxlIGludGVydmFsID0gZGlkUGxheVRvRW5kID8gd2F0Y2hkb2dUaW1lckludGVydmFsQWZ0ZXJQ
bGF5aW5nVG9FbmQgOiB3YXRjaGRvZ1RpbWVySW50ZXJ2YWxBZnRlclBhdXNpbmc7CisgICAgICAg
IFNlY29uZHMgaW50ZXJ2YWwgPSBkaWRQbGF5VG9FbmQgPyB3YXRjaGRvZ1RpbWVySW50ZXJ2YWxB
ZnRlclBsYXlpbmdUb0VuZCA6IHdhdGNoZG9nVGltZXJJbnRlcnZhbEFmdGVyUGF1c2luZzsKICAg
ICAgICAgaWYgKGludGVydmFsICE9IG1fY3VycmVudFdhdGNoZG9nSW50ZXJ2YWwgfHwgIW1fd2F0
Y2hkb2dUaW1lci5pc0FjdGl2ZSgpKSB7CiAgICAgICAgICAgICBtX3dhdGNoZG9nVGltZXIuc3Rh
cnRPbmVTaG90KGludGVydmFsKTsKICAgICAgICAgICAgIExPRyhNZWRpYSwgIldlYk1lZGlhU2Vz
c2lvbk1hbmFnZXI6OmNvbmZpZ3VyZVdhdGNoZG9nVGltZXIgLSB0aW1lciBzY2hlZHVsZWQgZm9y
ICUuMGYiLCBpbnRlcnZhbCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc2Vzc2lvbi9XZWJNZWRpYVNlc3Npb25NYW5hZ2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc2Vzc2lvbi9XZWJNZWRpYVNlc3Npb25NYW5hZ2VyLmgKaW5kZXggNTdkNThlZjkx
NGNiMjNmMTk0MDFjY2NmZWMzOGVjZTM4ZWFlYTYwOS4uMjk1MDllMjhjNGFmYTU0YzZkNDZhMTNh
ZDNjMWYxMWIxNmMxYTM2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXNlc3Npb24vV2ViTWVkaWFTZXNzaW9uTWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuaApAQCAtMTAyLDcgKzEw
Miw3IEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPE1lZGlhUGxheWJhY2tUYXJnZXQ+IG1fcGxheWJh
Y2tUYXJnZXQ7CiAgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6Ok1lZGlhUGxheWJhY2tUYXJn
ZXRQaWNrZXJNb2NrPiBtX3BpY2tlck92ZXJyaWRlOwogICAgIENvbmZpZ3VyYXRpb25UYXNrcyBt
X3Rhc2tGbGFncyB7IE5vVGFzayB9OwotICAgIGRvdWJsZSBtX2N1cnJlbnRXYXRjaGRvZ0ludGVy
dmFsIHsgMCB9OworICAgIFNlY29uZHMgbV9jdXJyZW50V2F0Y2hkb2dJbnRlcnZhbDsKICAgICBi
b29sIG1fZXh0ZXJuYWxPdXRwdXREZXZpY2VBdmFpbGFibGUgeyBmYWxzZSB9OwogICAgIGJvb2wg
bV90YXJnZXRDaGFuZ2VkIHsgZmFsc2UgfTsKICAgICBib29sIG1fbW9ja1BpY2tlckVuYWJsZWQg
eyBmYWxzZSB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVh
bS9DYW52YXNDYXB0dXJlTWVkaWFTdHJlYW1UcmFjay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL0NhbnZhc0NhcHR1cmVNZWRpYVN0cmVhbVRyYWNrLmNwcAppbmRleCBk
YjRjNDA0MWM5NjczOTY4MDY5YjllM2ZjYjdkNWQ2ZWM1NTg3NDYwLi4zZjdiMmMxODhiNTk5ODBh
MmQ1Y2ZiYTg3NmU5NGI5MTg3MjBhOGRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL0NhbnZhc0NhcHR1cmVNZWRpYVN0cmVhbVRyYWNrLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL0NhbnZhc0NhcHR1cmVNZWRpYVN0cmVh
bVRyYWNrLmNwcApAQCAtMTQzLDcgKzE0Myw3IEBAIHZvaWQgQ2FudmFzQ2FwdHVyZU1lZGlhU3Ry
ZWFtVHJhY2s6OlNvdXJjZTo6Y2FudmFzQ2hhbmdlZChIVE1MQ2FudmFzRWxlbWVudCYgY2FuCiAg
ICAgLy8gRklYTUU6IFdlIHNob3VsZCB0cnkgdG8gZ2VuZXJhdGUgdGhlIGZyYW1lIGF0IHRoZSB0
aW1lIHRoZSBzY3JlZW4gaXMgYmVpbmcgdXBkYXRlZC4KICAgICBpZiAobV9jYW52YXNDaGFuZ2Vk
VGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgcmV0dXJuOwotICAgIG1fY2FudmFzQ2hhbmdlZFRp
bWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2NhbnZhc0NoYW5nZWRUaW1lci5zdGFydE9uZVNo
b3QoMF9zKTsKIH0KIAogdm9pZCBDYW52YXNDYXB0dXJlTWVkaWFTdHJlYW1UcmFjazo6U291cmNl
OjpjYXB0dXJlQ2FudmFzKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvdmli
cmF0aW9uL1ZpYnJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3ZpYnJhdGlvbi9W
aWJyYXRpb24uY3BwCmluZGV4IGMxNTIyYjM5MjIwYjRhOGYxMmJkMzIxNjdlOGQxMTIyN2VlMWRk
YTcuLjA1MTgwNzNlMTA5ZjQ2MThjNGFmOWRlMWYyNTEzYWY0NjY2ZGFiZjAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvdmlicmF0aW9uL1ZpYnJhdGlvbi5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy92aWJyYXRpb24vVmlicmF0aW9uLmNwcApAQCAtMTEwLDcgKzEx
MCw3IEBAIHZvaWQgVmlicmF0aW9uOjp0aW1lckZpcmVkKCkKICAgICAgICAgbV92aWJyYXRpb25D
bGllbnQtPnZpYnJhdGUobV9wYXR0ZXJuWzBdKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQotICAg
IG1fdGltZXIuc3RhcnRPbmVTaG90KG1fcGF0dGVyblswXSAvIDEwMDAuMCk7CisgICAgbV90aW1l
ci5zdGFydE9uZVNob3QoMV9tcyAqIG1fcGF0dGVyblswXSk7CiAgICAgbV9wYXR0ZXJuLnJlbW92
ZSgwKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRz
L1dlYlNvY2tldENoYW5uZWwuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRz
L1dlYlNvY2tldENoYW5uZWwuY3BwCmluZGV4IGM1Y2IxMjRlMjIzZDI4NmZiYjZmMDJjZTcwMTA0
MDI4NTI2OWUxNWUuLjYxZDNjY2RkNzE1ZGY4NjM5MDQ5NWNiM2RlZGYyYTgwN2U2MTJkMjIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFu
bmVsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0
Q2hhbm5lbC5jcHAKQEAgLTYxLDcgKzYxLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1j
b25zdCBkb3VibGUgVENQTWF4aW11bVNlZ21lbnRMaWZldGltZSA9IDIgKiA2MC4wOworY29uc3Qg
U2Vjb25kcyBUQ1BNYXhpbXVtU2VnbWVudExpZmV0aW1lIHsgMl9taW4gfTsKIAogV2ViU29ja2V0
Q2hhbm5lbDo6V2ViU29ja2V0Q2hhbm5lbChEb2N1bWVudCYgZG9jdW1lbnQsIFdlYlNvY2tldENo
YW5uZWxDbGllbnQmIGNsaWVudCwgU29ja2V0UHJvdmlkZXImIHByb3ZpZGVyKQogICAgIDogbV9k
b2N1bWVudCgmZG9jdW1lbnQpCkBAIC0yMDcsNyArMjA3LDcgQEAgdm9pZCBXZWJTb2NrZXRDaGFu
bmVsOjpjbG9zZShpbnQgY29kZSwgY29uc3QgU3RyaW5nJiByZWFzb24pCiAgICAgUmVmPFdlYlNv
Y2tldENoYW5uZWw+IHByb3RlY3RlZFRoaXMoKnRoaXMpOyAvLyBBbiBhdHRlbXB0IHRvIHNlbmQg
Y2xvc2luZyBoYW5kc2hha2UgbWF5IGZhaWwsIHdoaWNoIHdpbGwgZ2V0IHRoZSBjaGFubmVsIGNs
b3NlZCBhbmQgZGVyZWZlcmVuY2VkLgogICAgIHN0YXJ0Q2xvc2luZ0hhbmRzaGFrZShjb2RlLCBy
ZWFzb24pOwogICAgIGlmIChtX2Nsb3NpbmcgJiYgIW1fY2xvc2luZ1RpbWVyLmlzQWN0aXZlKCkp
Ci0gICAgICAgIG1fY2xvc2luZ1RpbWVyLnN0YXJ0T25lU2hvdCgyICogVENQTWF4aW11bVNlZ21l
bnRMaWZldGltZSk7CisgICAgICAgIG1fY2xvc2luZ1RpbWVyLnN0YXJ0T25lU2hvdChUQ1BNYXhp
bXVtU2VnbWVudExpZmV0aW1lICogMik7CiB9CiAKIHZvaWQgV2ViU29ja2V0Q2hhbm5lbDo6ZmFp
bChjb25zdCBTdHJpbmcmIHJlYXNvbikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FYT2JqZWN0Q2FjaGUuY3BwCmluZGV4IDEyNTQwNTAxNGU3NjBiYzJiOWU3OWRiODE5N2ExZTBl
ZTc1ZDAyZjcuLmYwNmRmNzQwMGFjYTU2ZTA4ZTE4MzJhNGFlYTBmYzU2ZDU0NTRjNDIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcApAQCAtMTEw
LDkgKzExMCw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFt
ZXM7CiAKIC8vIFBvc3QgdmFsdWUgY2hhbmdlIG5vdGlmaWNhdGlvbnMgZm9yIHBhc3N3b3JkIGZp
ZWxkcyBvciBlbGVtZW50cyBjb250YWluZWQgaW4gcGFzc3dvcmQgZmllbGRzIGF0IGEgNDBoeiBp
bnRlcnZhbCB0byB0aHdhcnQgYW5hbHlzaXMgb2YgdHlwaW5nIGNhZGVuY2UKLXN0YXRpYyBkb3Vi
bGUgQWNjZXNzaWJpbGl0eVBhc3N3b3JkVmFsdWVDaGFuZ2VOb3RpZmljYXRpb25JbnRlcnZhbCA9
IDAuMDI1Owotc3RhdGljIGRvdWJsZSBBY2Nlc3NpYmlsaXR5TGl2ZVJlZ2lvbkNoYW5nZWROb3Rp
ZmljYXRpb25JbnRlcnZhbCA9IDAuMDIwOwotc3RhdGljIGRvdWJsZSBBY2Nlc3NpYmlsaXR5Rm9j
dXNBcmlhTW9kYWxOb2RlTm90aWZpY2F0aW9uSW50ZXJ2YWwgPSAwLjA1MDsKK3N0YXRpYyBjb25z
dCBTZWNvbmRzIGFjY2Vzc2liaWxpdHlQYXNzd29yZFZhbHVlQ2hhbmdlTm90aWZpY2F0aW9uSW50
ZXJ2YWwgeyAyNV9tcyB9Oworc3RhdGljIGNvbnN0IFNlY29uZHMgYWNjZXNzaWJpbGl0eUxpdmVS
ZWdpb25DaGFuZ2VkTm90aWZpY2F0aW9uSW50ZXJ2YWwgeyAyMF9tcyB9Oworc3RhdGljIGNvbnN0
IFNlY29uZHMgYWNjZXNzaWJpbGl0eUZvY3VzQXJpYU1vZGFsTm9kZU5vdGlmaWNhdGlvbkludGVy
dmFsIHsgNTBfbXMgfTsKIAogQWNjZXNzaWJpbGl0eU9iamVjdEluY2x1c2lvbiBBWENvbXB1dGVk
T2JqZWN0QXR0cmlidXRlQ2FjaGU6OmdldElnbm9yZWQoQVhJRCBpZCkgY29uc3QKIHsKQEAgLTEz
MTEsNyArMTMxMSw3IEBAIGJvb2wgQVhPYmplY3RDYWNoZTo6ZW5xdWV1ZVBhc3N3b3JkVmFsdWVD
aGFuZ2VOb3RpZmljYXRpb24oQWNjZXNzaWJpbGl0eU9iamVjdCoKIAogICAgIG1fcGFzc3dvcmRO
b3RpZmljYXRpb25zVG9Qb3N0LmFkZChvYnNlcnZhYmxlT2JqZWN0KTsKICAgICBpZiAoIW1fcGFz
c3dvcmROb3RpZmljYXRpb25Qb3N0VGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9wYXNzd29y
ZE5vdGlmaWNhdGlvblBvc3RUaW1lci5zdGFydE9uZVNob3QoQWNjZXNzaWJpbGl0eVBhc3N3b3Jk
VmFsdWVDaGFuZ2VOb3RpZmljYXRpb25JbnRlcnZhbCk7CisgICAgICAgIG1fcGFzc3dvcmROb3Rp
ZmljYXRpb25Qb3N0VGltZXIuc3RhcnRPbmVTaG90KGFjY2Vzc2liaWxpdHlQYXNzd29yZFZhbHVl
Q2hhbmdlTm90aWZpY2F0aW9uSW50ZXJ2YWwpOwogCiAgICAgcmV0dXJuIHRydWU7CiB9CkBAIC0x
MzM4LDcgKzEzMzgsNyBAQCB2b2lkIEFYT2JqZWN0Q2FjaGU6OnBvc3RMaXZlUmVnaW9uQ2hhbmdl
Tm90aWZpY2F0aW9uKEFjY2Vzc2liaWxpdHlPYmplY3QqIG9iamVjdAogICAgIGlmICghbV9saXZl
UmVnaW9uT2JqZWN0c1NldC5jb250YWlucyhvYmplY3QpKQogICAgICAgICBtX2xpdmVSZWdpb25P
YmplY3RzU2V0LmFkZChvYmplY3QpOwogCi0gICAgbV9saXZlUmVnaW9uQ2hhbmdlZFBvc3RUaW1l
ci5zdGFydE9uZVNob3QoQWNjZXNzaWJpbGl0eUxpdmVSZWdpb25DaGFuZ2VkTm90aWZpY2F0aW9u
SW50ZXJ2YWwpOworICAgIG1fbGl2ZVJlZ2lvbkNoYW5nZWRQb3N0VGltZXIuc3RhcnRPbmVTaG90
KGFjY2Vzc2liaWxpdHlMaXZlUmVnaW9uQ2hhbmdlZE5vdGlmaWNhdGlvbkludGVydmFsKTsKIH0K
IAogdm9pZCBBWE9iamVjdENhY2hlOjpsaXZlUmVnaW9uQ2hhbmdlZE5vdGlmaWNhdGlvblBvc3RU
aW1lckZpcmVkKCkKQEAgLTEzNzIsNyArMTM3Miw3IEBAIHZvaWQgQVhPYmplY3RDYWNoZTo6Zm9j
dXNBcmlhTW9kYWxOb2RlKCkKICAgICBpZiAobV9mb2N1c0FyaWFNb2RhbE5vZGVUaW1lci5pc0Fj
dGl2ZSgpKQogICAgICAgICBtX2ZvY3VzQXJpYU1vZGFsTm9kZVRpbWVyLnN0b3AoKTsKICAgICAK
LSAgICBtX2ZvY3VzQXJpYU1vZGFsTm9kZVRpbWVyLnN0YXJ0T25lU2hvdChBY2Nlc3NpYmlsaXR5
Rm9jdXNBcmlhTW9kYWxOb2RlTm90aWZpY2F0aW9uSW50ZXJ2YWwpOworICAgIG1fZm9jdXNBcmlh
TW9kYWxOb2RlVGltZXIuc3RhcnRPbmVTaG90KGFjY2Vzc2liaWxpdHlGb2N1c0FyaWFNb2RhbE5v
ZGVOb3RpZmljYXRpb25JbnRlcnZhbCk7CiB9CiAKIHZvaWQgQVhPYmplY3RDYWNoZTo6Zm9jdXNB
cmlhTW9kYWxOb2RlVGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTRm9udEZhY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlLmNwcAppbmRl
eCAzNGJkYmVlYWViN2Q2MzFlNDI4Zjk2YmU0MDNlMWI3MzQ2ZTgyODQ4Li5iZjkyMGY4ZDcxNDQx
M2U3YjdlNmFlYjVjM2M3ZWI1OTJkNGQ2MzA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTRm9udEZhY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZS5j
cHAKQEAgLTUyNyw3ICs1MjcsNyBAQCB2b2lkIENTU0ZvbnRGYWNlOjpzZXRTdGF0dXMoU3RhdHVz
IG5ld1N0YXR1cykKICAgICB9CiAKICAgICBpZiAobmV3U3RhdHVzID09IFN0YXR1czo6TG9hZGlu
ZykKLSAgICAgICAgbV90aW1lb3V0VGltZXIuc3RhcnRPbmVTaG90KHdlYkZvbnRzU2hvdWxkQWx3
YXlzRmFsbEJhY2soKSA/IDAgOiAzKTsKKyAgICAgICAgbV90aW1lb3V0VGltZXIuc3RhcnRPbmVT
aG90KHdlYkZvbnRzU2hvdWxkQWx3YXlzRmFsbEJhY2soKSA/IDBfcyA6IDNfcyk7CiAgICAgZWxz
ZSBpZiAobmV3U3RhdHVzID09IFN0YXR1czo6U3VjY2VzcyB8fCBuZXdTdGF0dXMgPT0gU3RhdHVz
OjpGYWlsdXJlKQogICAgICAgICBtX3RpbWVvdXRUaW1lci5zdG9wKCk7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9TdHlsZVJlc29sdmVyLmNwcAppbmRleCBhZTdmOTc2YzZiNjhhNzMyZWVhYTQ5YjYwOTk4Y2Mx
NjdjNzg2NWEwLi40YWExMmQ3YTMyMjc1NGM3N2QyMjlhOGU1NTVlYmJjMTQxMmNmMWYzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwCkBAIC0xMzUsNiArMTM1LDcgQEAKICNpbmNs
dWRlICJXZWJLaXRDU1NSZWdpb25SdWxlLmgiCiAjaW5jbHVkZSAiV2ViS2l0Rm9udEZhbWlseU5h
bWVzLmgiCiAjaW5jbHVkZSA8Yml0c2V0PgorI2luY2x1ZGUgPHd0Zi9TZWNvbmRzLmg+CiAjaW5j
bHVkZSA8d3RmL1NldEZvclNjb3BlLmg+CiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgog
I2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KQEAgLTEyNTEsOCArMTI1Miw4IEBAIHZvaWQgU3R5bGVS
ZXNvbHZlcjo6YWRkVG9NYXRjaGVkUHJvcGVydGllc0NhY2hlKGNvbnN0IFJlbmRlclN0eWxlKiBz
dHlsZSwgY29uc3QKICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgbWF0Y2hlZERlY2xhcmF0aW9u
Q2FjaGVBZGRpdGlvbnNCZXR3ZWVuU3dlZXBzID0gMTAwOwogICAgIGlmICgrK21fbWF0Y2hlZFBy
b3BlcnRpZXNDYWNoZUFkZGl0aW9uc1NpbmNlTGFzdFN3ZWVwID49IG1hdGNoZWREZWNsYXJhdGlv
bkNhY2hlQWRkaXRpb25zQmV0d2VlblN3ZWVwcwogICAgICAgICAmJiAhbV9tYXRjaGVkUHJvcGVy
dGllc0NhY2hlU3dlZXBUaW1lci5pc0FjdGl2ZSgpKSB7Ci0gICAgICAgIHN0YXRpYyBjb25zdCB1
bnNpZ25lZCBtYXRjaGVkRGVjbGFyYXRpb25DYWNoZVN3ZWVwVGltZUluU2Vjb25kcyA9IDYwOwot
ICAgICAgICBtX21hdGNoZWRQcm9wZXJ0aWVzQ2FjaGVTd2VlcFRpbWVyLnN0YXJ0T25lU2hvdCht
YXRjaGVkRGVjbGFyYXRpb25DYWNoZVN3ZWVwVGltZUluU2Vjb25kcyk7CisgICAgICAgIHN0YXRp
YyBjb25zdCBTZWNvbmRzIG1hdGNoZWREZWNsYXJhdGlvbkNhY2hlU3dlZXBUaW1lIHsgMV9taW4g
fTsKKyAgICAgICAgbV9tYXRjaGVkUHJvcGVydGllc0NhY2hlU3dlZXBUaW1lci5zdGFydE9uZVNo
b3QobWF0Y2hlZERlY2xhcmF0aW9uQ2FjaGVTd2VlcFRpbWUpOwogICAgIH0KIAogICAgIEFTU0VS
VChoYXNoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IDBlNzM5ZTNjNjYyZGRlMGU5ZWUw
YmQxOTVmY2RmY2I2YzQyMWRjOTEuLjNlMGQ4NGU4MDU2ZWEyMzllNGZlZDZkNTVhZThkMDRhNzYw
ZjkzMDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtMTE5OSw3ICsxMTk5LDcgQEAgdm9p
ZCBEb2N1bWVudDo6c2V0VmlzdWFsVXBkYXRlc0FsbG93ZWQoYm9vbCB2aXN1YWxVcGRhdGVzQWxs
b3dlZCkKICAgICBpZiAodmlzdWFsVXBkYXRlc0FsbG93ZWQpCiAgICAgICAgIG1fdmlzdWFsVXBk
YXRlc1N1cHByZXNzaW9uVGltZXIuc3RvcCgpOwogICAgIGVsc2UKLSAgICAgICAgbV92aXN1YWxV
cGRhdGVzU3VwcHJlc3Npb25UaW1lci5zdGFydE9uZVNob3Qoc2V0dGluZ3MoKS5pbmNyZW1lbnRh
bFJlbmRlcmluZ1N1cHByZXNzaW9uVGltZW91dEluU2Vjb25kcygpKTsKKyAgICAgICAgbV92aXN1
YWxVcGRhdGVzU3VwcHJlc3Npb25UaW1lci5zdGFydE9uZVNob3QoMV9zICogc2V0dGluZ3MoKS5p
bmNyZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNzaW9uVGltZW91dEluU2Vjb25kcygpKTsKIAogICAg
IGlmICghdmlzdWFsVXBkYXRlc0FsbG93ZWQpCiAgICAgICAgIHJldHVybjsKQEAgLTUwMDQsOCAr
NTAwNCw4IEBAIHZvaWQgRG9jdW1lbnQ6OmZpbmlzaGVkUGFyc2luZygpCiAgICAgLy8gc28gdGhh
dCBkeW5hbWljYWxseSBpbnNlcnRlZCBjb250ZW50IGNhbiBhbHNvIGJlbmVmaXQgZnJvbSBzaGFy
aW5nIG9wdGltaXphdGlvbnMuCiAgICAgLy8gTm90ZSB0aGF0IHdlIGRvbid0IHJlZnJlc2ggdGhl
IHRpbWVyIG9uIHBvb2wgYWNjZXNzIHNpbmNlIHRoYXQgY291bGQgbGVhZCB0byBodWdlIGNhY2hl
cyBiZWluZyBrZXB0CiAgICAgLy8gYWxpdmUgaW5kZWZpbml0ZWx5IGJ5IHNvbWV0aGluZyBpbm5v
Y3VvdXMgbGlrZSBKUyBzZXR0aW5nIC5pbm5lckhUTUwgcmVwZWF0ZWRseSBvbiBhIHRpbWVyLgot
ICAgIHN0YXRpYyBjb25zdCBpbnQgdGltZVRvS2VlcFNoYXJlZE9iamVjdFBvb2xBbGl2ZUFmdGVy
UGFyc2luZ0ZpbmlzaGVkSW5TZWNvbmRzID0gMTA7Ci0gICAgbV9zaGFyZWRPYmplY3RQb29sQ2xl
YXJUaW1lci5zdGFydE9uZVNob3QodGltZVRvS2VlcFNoYXJlZE9iamVjdFBvb2xBbGl2ZUFmdGVy
UGFyc2luZ0ZpbmlzaGVkSW5TZWNvbmRzKTsKKyAgICBzdGF0aWMgY29uc3QgU2Vjb25kcyB0aW1l
VG9LZWVwU2hhcmVkT2JqZWN0UG9vbEFsaXZlQWZ0ZXJQYXJzaW5nRmluaXNoZWQgeyAxMF9zIH07
CisgICAgbV9zaGFyZWRPYmplY3RQb29sQ2xlYXJUaW1lci5zdGFydE9uZVNob3QodGltZVRvS2Vl
cFNoYXJlZE9iamVjdFBvb2xBbGl2ZUFmdGVyUGFyc2luZ0ZpbmlzaGVkKTsKIAogICAgIC8vIFBh
cnNlciBzaG91bGQgaGF2ZSBwaWNrZWQgdXAgYWxsIHNwZWN1bGF0aXZlIHByZWxvYWRzIGJ5IG5v
dwogICAgIG1fY2FjaGVkUmVzb3VyY2VMb2FkZXItPmNsZWFyUHJlbG9hZHMoQ2FjaGVkUmVzb3Vy
Y2VMb2FkZXI6OkNsZWFyUHJlbG9hZHNNb2RlOjpDbGVhclNwZWN1bGF0aXZlUHJlbG9hZHMpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyLmNw
cAppbmRleCA5MmUwZGIzNjIyMjU1NTIyMWEzNGYyZGJjNTEwNjRhZjJkNDU2MDg3Li4xYjg1OTFm
NmFjMGIzMjZmZDUxOWI5OTkxOTg5ZjM4YTBlODcxY2JiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyLmNwcApAQCAtNDcsMTAgKzQ3LDEw
IEBACiAjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+CiAKIC8vIEFsbG93IGEgbGl0dGxlIG1v
cmUgdGhhbiA2MGZwcyB0byBtYWtlIHN1cmUgd2UgY2FuIGF0IGxlYXN0IGhpdCB0aGF0IGZyYW1l
IHJhdGUuCi1zdGF0aWMgY29uc3QgU2Vjb25kcyBmdWxsU3BlZWRBbmltYXRpb25JbnRlcnZhbCB7
IDAuMDE1IH07CitzdGF0aWMgY29uc3QgU2Vjb25kcyBmdWxsU3BlZWRBbmltYXRpb25JbnRlcnZh
bCB7IDE1X21zIH07CiAvLyBBbGxvdyBhIGxpdHRsZSBtb3JlIHRoYW4gMzBmcHMgdG8gbWFrZSBz
dXJlIHdlIGNhbiBhdCBsZWFzdCBoaXQgdGhhdCBmcmFtZSByYXRlLgotc3RhdGljIGNvbnN0IFNl
Y29uZHMgaGFsZlNwZWVkVGhyb3R0bGluZ0FuaW1hdGlvbkludGVydmFsIHsgMC4wMzAgfTsKLXN0
YXRpYyBjb25zdCBTZWNvbmRzIGFnZ3Jlc3NpdmVUaHJvdHRsaW5nQW5pbWF0aW9uSW50ZXJ2YWwg
eyAxMCB9Oworc3RhdGljIGNvbnN0IFNlY29uZHMgaGFsZlNwZWVkVGhyb3R0bGluZ0FuaW1hdGlv
bkludGVydmFsIHsgMzBfbXMgfTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIGFnZ3Jlc3NpdmVUaHJv
dHRsaW5nQW5pbWF0aW9uSW50ZXJ2YWwgeyAxMF9zIH07CiAjZW5kaWYKIAogI2RlZmluZSBSRUxF
QVNFX0xPR19JRl9BTExPV0VEKGZtdCwgLi4uKSBSRUxFQVNFX0xPR19JRihwYWdlKCkgJiYgcGFn
ZSgpLT5pc0Fsd2F5c09uTG9nZ2luZ0FsbG93ZWQoKSwgUGVyZm9ybWFuY2VMb2dnaW5nLCAiJXAg
LSBTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXI6OiIgZm10LCB0aGlzLCAjI19fVkFfQVJHU19f
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9BbHRlcm5hdGl2ZVRleHRDb250
cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvQWx0ZXJuYXRpdmVUZXh0Q29udHJv
bGxlci5jcHAKaW5kZXggZTI3YmQwZDZmZDJmM2VjNzRkMDBlZDFmMWM2OTY1YzgxYmRlOTczZi4u
MDVhZmFlNGI5OWM5N2M4ZDJlZjg0ZjAyYjYyYmRiNTJmMzc4Y2FkNSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZWRpdGluZy9BbHRlcm5hdGl2ZVRleHRDb250cm9sbGVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL0FsdGVybmF0aXZlVGV4dENvbnRyb2xsZXIuY3BwCkBAIC0x
NDAsNyArMTQwLDcgQEAgQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlcjo6fkFsdGVybmF0aXZlVGV4
dENvbnRyb2xsZXIoKQogCiB2b2lkIEFsdGVybmF0aXZlVGV4dENvbnRyb2xsZXI6OnN0YXJ0QWx0
ZXJuYXRpdmVUZXh0VUlUaW1lcihBbHRlcm5hdGl2ZVRleHRUeXBlIHR5cGUpCiB7Ci0gICAgY29u
c3QgZG91YmxlIGNvcnJlY3Rpb25QYW5lbFRpbWVySW50ZXJ2YWwgPSAwLjM7CisgICAgY29uc3Qg
U2Vjb25kcyBjb3JyZWN0aW9uUGFuZWxUaW1lckludGVydmFsIHsgMzAwX21zIH07CiAgICAgaWYg
KCFpc0F1dG9tYXRpY1NwZWxsaW5nQ29ycmVjdGlvbkVuYWJsZWQoKSkKICAgICAgICAgcmV0dXJu
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAppbmRleCA0ZDYwNDY4
MGY1MzhjZmJkZGU0NjJmOTA0ZmNhNDQwNjgzNDhkOTM1Li45ZmVkNmY3MzY2YmE4YjExM2Y5ZGQ2
MmEwOWVhNTlmYzdhZDE3N2YzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxN
ZWRpYUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVu
dC5jcHAKQEAgLTE2OCw3ICsxNjgsNyBAQCBzdGF0aWMgY29uc3QgZG91YmxlIFNlZWtUaW1lID0g
MC4yOwogc3RhdGljIGNvbnN0IFNlY29uZHMgU2NhblJlcGVhdERlbGF5IHsgMS41X3MgfTsKIHN0
YXRpYyBjb25zdCBkb3VibGUgU2Nhbk1heGltdW1SYXRlID0gODsKIAotc3RhdGljIGNvbnN0IGRv
dWJsZSBIaWRlTWVkaWFDb250cm9sc0FmdGVyRW5kZWREZWxheSA9IDY7CitzdGF0aWMgY29uc3Qg
U2Vjb25kcyBoaWRlTWVkaWFDb250cm9sc0FmdGVyRW5kZWREZWxheSB7IDZfcyB9OwogCiBzdGF0
aWMgdm9pZCBzZXRGbGFncyh1bnNpZ25lZCYgdmFsdWUsIHVuc2lnbmVkIGZsYWdzKQogewpAQCAt
NDQ5Nyw3ICs0NDk3LDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjphZGRCZWhhdmlvclJlc3Ry
aWN0aW9uc09uRW5kSWZOZWNlc3NhcnkoKQogCiAgICAgbV9tZWRpYVNlc3Npb24tPmFkZEJlaGF2
aW9yUmVzdHJpY3Rpb24oTWVkaWFFbGVtZW50U2Vzc2lvbjo6UmVxdWlyZVVzZXJHZXN0dXJlVG9D
b250cm9sQ29udHJvbHNNYW5hZ2VyKTsKICAgICBtX3BsYXliYWNrQ29udHJvbHNNYW5hZ2VyQmVo
YXZpb3JSZXN0cmljdGlvbnNUaW1lci5zdG9wKCk7Ci0gICAgbV9wbGF5YmFja0NvbnRyb2xzTWFu
YWdlckJlaGF2aW9yUmVzdHJpY3Rpb25zVGltZXIuc3RhcnRPbmVTaG90KEhpZGVNZWRpYUNvbnRy
b2xzQWZ0ZXJFbmRlZERlbGF5KTsKKyAgICBtX3BsYXliYWNrQ29udHJvbHNNYW5hZ2VyQmVoYXZp
b3JSZXN0cmljdGlvbnNUaW1lci5zdGFydE9uZVNob3QoaGlkZU1lZGlhQ29udHJvbHNBZnRlckVu
ZGVkRGVsYXkpOwogfQogCiB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OmhhbmRsZVNlZWtUb1BsYXli
YWNrUG9zaXRpb24oZG91YmxlIHBvc2l0aW9uKQpAQCAtNDUwNyw3ICs0NTA3LDcgQEAgdm9pZCBI
VE1MTWVkaWFFbGVtZW50OjpoYW5kbGVTZWVrVG9QbGF5YmFja1Bvc2l0aW9uKGRvdWJsZSBwb3Np
dGlvbikKICAgICAvLyBQbGVhc2Ugc2VlIDxyZGFyOi8vcHJvYmxlbS8yODQ1NzIxOT4gZm9yIG1v
cmUgZGV0YWlscy4KICAgICBzZWVrKE1lZGlhVGltZTo6Y3JlYXRlV2l0aERvdWJsZShwb3NpdGlv
bikpOwogICAgIG1fc2Vla1RvUGxheWJhY2tQb3NpdGlvbkVuZGVkVGltZXIuc3RvcCgpOwotICAg
IG1fc2Vla1RvUGxheWJhY2tQb3NpdGlvbkVuZGVkVGltZXIuc3RhcnRPbmVTaG90KDAuNSk7Cisg
ICAgbV9zZWVrVG9QbGF5YmFja1Bvc2l0aW9uRW5kZWRUaW1lci5zdGFydE9uZVNob3QoNTAwX21z
KTsKIAogICAgIGlmICghbV9pc1NjcnViYmluZ1JlbW90ZWx5KSB7CiAgICAgICAgIG1faXNTY3J1
YmJpbmdSZW1vdGVseSA9IHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1Nl
YXJjaElucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1NlYXJjaElucHV0VHlwZS5j
cHAKaW5kZXggZjVkMmJiOTU1MzI5MDcxOTgyNjY2ZGI3NThlZWMyYmM3NjZkNTBhNy4uZDgyMzU5
ZjE2ZDM3NjQ1MTczNjk2Y2Q0MGY3YmYwMTAzYmRlODM1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9TZWFyY2hJbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
U2VhcmNoSW5wdXRUeXBlLmNwcApAQCAtMTY1LDcgKzE2NSw3IEBAIHZvaWQgU2VhcmNoSW5wdXRU
eXBlOjpzdGFydFNlYXJjaEV2ZW50VGltZXIoKQogCiAgICAgLy8gQWZ0ZXIgdHlwaW5nIHRoZSBm
aXJzdCBrZXksIHdlIHdhaXQgMC41IHNlY29uZHMuCiAgICAgLy8gQWZ0ZXIgdGhlIHNlY29uZCBr
ZXksIDAuNCBzZWNvbmRzLCB0aGVuIDAuMywgdGhlbiAwLjIgZnJvbSB0aGVuIG9uLgotICAgIG1f
c2VhcmNoRXZlbnRUaW1lci5zdGFydE9uZVNob3Qoc3RkOjptYXgoMC4yLCAwLjYgLSAwLjEgKiBs
ZW5ndGgpKTsKKyAgICBtX3NlYXJjaEV2ZW50VGltZXIuc3RhcnRPbmVTaG90KHN0ZDo6bWF4KDIw
MF9tcywgNjAwX21zIC0gMTAwX21zICogbGVuZ3RoKSk7CiB9CiAKIHZvaWQgU2VhcmNoSW5wdXRU
eXBlOjpzdG9wU2VhcmNoRXZlbnRUaW1lcigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL1ZhbGlkYXRpb25NZXNzYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRhdGlv
bk1lc3NhZ2UuY3BwCmluZGV4IDQ1MWZjNTkxMDg1MTQ1NzM5NGRjNDQ5NTNkZDg4OWMxMjk0YmU2
ZDkuLjQ3MGVhZWRjM2E3NjY4NmQ1YzQwMWEwNTM3ZTgwN2ZhMzhmNTA1ZTQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRhdGlvbk1lc3NhZ2UuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvVmFsaWRhdGlvbk1lc3NhZ2UuY3BwCkBAIC0xNDQsNyArMTQ0LDcgQEAgdm9p
ZCBWYWxpZGF0aW9uTWVzc2FnZTo6c2V0TWVzc2FnZURPTUFuZFN0YXJ0VGltZXIoKQogICAgICAg
ICBtX3RpbWVyID0gbnVsbHB0cjsKICAgICBlbHNlIHsKICAgICAgICAgbV90aW1lciA9IHN0ZDo6
bWFrZV91bmlxdWU8VGltZXI+KCp0aGlzLCAmVmFsaWRhdGlvbk1lc3NhZ2U6OmRlbGV0ZUJ1YmJs
ZVRyZWUpOwotICAgICAgICBtX3RpbWVyLT5zdGFydE9uZVNob3Qoc3RkOjptYXgoNS4wLCBzdGF0
aWNfY2FzdDxkb3VibGU+KG1fbWVzc2FnZS5sZW5ndGgoKSkgKiBtYWduaWZpY2F0aW9uIC8gMTAw
MCkpOworICAgICAgICBtX3RpbWVyLT5zdGFydE9uZVNob3Qoc3RkOjptYXgoNV9zLCAxX21zICog
c3RhdGljX2Nhc3Q8ZG91YmxlPihtX21lc3NhZ2UubGVuZ3RoKCkpICogbWFnbmlmaWNhdGlvbikp
OwogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2Vi
R0xSZW5kZXJpbmdDb250ZXh0QmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9X
ZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmNwcAppbmRleCBiNTEyZmZjMTc2YmQzYTYxODdkMWQz
ZTRkNGIwYmQ1YjQ0ZWZjODNlLi5hYmVjNjczMWRiYzUxNzA0ZDY2NGNiMDczZmJhYTkzNzIwZWE5
ODFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmlu
Z0NvbnRleHRCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJl
bmRlcmluZ0NvbnRleHRCYXNlLmNwcApAQCAtMTAwLDcgKzEwMCw3IEBACiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAotY29uc3QgZG91YmxlIHNlY29uZHNCZXR3ZWVuUmVzdG9yZUF0dGVtcHRzID0g
MS4wOworc3RhdGljIGNvbnN0IFNlY29uZHMgc2Vjb25kc0JldHdlZW5SZXN0b3JlQXR0ZW1wdHMg
eyAxX3MgfTsKIGNvbnN0IGludCBtYXhHTEVycm9yc0FsbG93ZWRUb0NvbnNvbGUgPSAyNTY7CiBz
dGF0aWMgY29uc3QgU2Vjb25kcyBjaGVja0NvbnRleHRMb3NzSGFuZGxpbmdEZWxheSB7IDNfcyB9
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xF
bGVtZW50cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVt
ZW50cy5jcHAKaW5kZXggN2IxZGY0OWUyY2Y3NjNjYmNlZGI4NTM0ZDY4NWY3ZTNhMzlkZmY5Ny4u
NWYzYjNjMzU3Y2U0YmQ5MzA5NjIzZDc4Y2VmYTkwNTUzMzEwNjkwYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcApAQCAtMTM3
LDcgKzEzNyw3IEBAIHZvaWQgTWVkaWFDb250cm9sUGFuZWxFbGVtZW50OjpzdGFydFRpbWVyKCkK
ICAgICAvLyBUaGUgdGltZXIgaXMgcmVxdWlyZWQgdG8gc2V0IHRoZSBwcm9wZXJ0eSBkaXNwbGF5
Oidub25lJyBvbiB0aGUgcGFuZWwsCiAgICAgLy8gc3VjaCB0aGF0IGNhcHRpb25zIGFyZSBjb3Jy
ZWN0bHkgZGlzcGxheWVkIGF0IHRoZSBib3R0b20gb2YgdGhlIHZpZGVvCiAgICAgLy8gYXQgdGhl
IGVuZCBvZiB0aGUgZmFkZW91dCB0cmFuc2l0aW9uLgotICAgIGRvdWJsZSBkdXJhdGlvbiA9IGRv
Y3VtZW50KCkucGFnZSgpID8gZG9jdW1lbnQoKS5wYWdlKCktPnRoZW1lKCkubWVkaWFDb250cm9s
c0ZhZGVPdXREdXJhdGlvbigpIDogMDsKKyAgICBTZWNvbmRzIGR1cmF0aW9uID0gZG9jdW1lbnQo
KS5wYWdlKCkgPyBkb2N1bWVudCgpLnBhZ2UoKS0+dGhlbWUoKS5tZWRpYUNvbnRyb2xzRmFkZU91
dER1cmF0aW9uKCkgOiAwX3M7CiAgICAgbV90cmFuc2l0aW9uVGltZXIuc3RhcnRPbmVTaG90KGR1
cmF0aW9uKTsKIH0KIApAQCAtMjA1LDEwICsyMDUsMTAgQEAgdm9pZCBNZWRpYUNvbnRyb2xQYW5l
bEVsZW1lbnQ6Om1ha2VUcmFuc3BhcmVudCgpCiAgICAgaWYgKCFtX29wYXF1ZSkKICAgICAgICAg
cmV0dXJuOwogCi0gICAgZG91YmxlIGR1cmF0aW9uID0gZG9jdW1lbnQoKS5wYWdlKCkgPyBkb2N1
bWVudCgpLnBhZ2UoKS0+dGhlbWUoKS5tZWRpYUNvbnRyb2xzRmFkZU91dER1cmF0aW9uKCkgOiAw
OworICAgIFNlY29uZHMgZHVyYXRpb24gPSBkb2N1bWVudCgpLnBhZ2UoKSA/IGRvY3VtZW50KCku
cGFnZSgpLT50aGVtZSgpLm1lZGlhQ29udHJvbHNGYWRlT3V0RHVyYXRpb24oKSA6IDBfczsKIAog
ICAgIHNldElubGluZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlUcmFuc2l0aW9uUHJvcGVydHks
IENTU1Byb3BlcnR5T3BhY2l0eSk7Ci0gICAgc2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9w
ZXJ0eVRyYW5zaXRpb25EdXJhdGlvbiwgZHVyYXRpb24sIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1Nf
Uyk7CisgICAgc2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eVRyYW5zaXRpb25EdXJh
dGlvbiwgZHVyYXRpb24udmFsdWUoKSwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19TKTsKICAgICBz
ZXRJbmxpbmVTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5T3BhY2l0eSwgMC4wLCBDU1NQcmltaXRp
dmVWYWx1ZTo6Q1NTX05VTUJFUik7CiAKICAgICBtX29wYXF1ZSA9IGZhbHNlOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9WVFRSZWdpb24uY3BwIGIvU291cmNlL1dlYkNv
cmUvaHRtbC90cmFjay9WVFRSZWdpb24uY3BwCmluZGV4IDA1NzhiZjkxMjY3Y2I1NTBhZjAyZGI3
ZTIyM2RkNDM2YzA3ZDUxYjYuLmNiNGQwNWJlYzBjMzNiOWIxY2ZjMGQzYmU0NDU5ZjA1ZDExNDlk
YjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVlRUUmVnaW9uLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1ZUVFJlZ2lvbi5jcHAKQEAgLTU2LDcgKzU2
LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogc3RhdGljIGNvbnN0IGZsb2F0IGxpbmVIZWlnaHQg
PSA1LjMzOwogCiAvLyBEZWZhdWx0IHNjcm9sbGluZyBhbmltYXRpb24gdGltZSBwZXJpb2QgKHMp
Lgotc3RhdGljIGNvbnN0IGZsb2F0IHNjcm9sbFRpbWUgPSAwLjQzMzsKK3N0YXRpYyBjb25zdCBT
ZWNvbmRzIHNjcm9sbFRpbWUgeyA0MzNfbXMgfTsKIAogVlRUUmVnaW9uOjpWVFRSZWdpb24oU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCkKICAgICA6IENvbnRleHREZXN0cnVjdGlvbk9i
c2VydmVyKCZjb250ZXh0KQpAQCAtNDAzLDcgKzQwMyw3IEBAIHZvaWQgVlRUUmVnaW9uOjpzdGFy
dFRpbWVyKCkKICAgICBpZiAobV9zY3JvbGxUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICByZXR1
cm47CiAKLSAgICBkb3VibGUgZHVyYXRpb24gPSBpc1Njcm9sbGluZ1JlZ2lvbigpID8gc2Nyb2xs
VGltZSA6IDA7CisgICAgU2Vjb25kcyBkdXJhdGlvbiA9IGlzU2Nyb2xsaW5nUmVnaW9uKCkgPyBz
Y3JvbGxUaW1lIDogMF9zOwogICAgIG1fc2Nyb2xsVGltZXIuc3RhcnRPbmVTaG90KGR1cmF0aW9u
KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvcklu
c3RydW1lbnRhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uLmNwcAppbmRleCA1MWM0YmFhODUyZTVhY2EwMmI4MzU1MzYzZGYxNTk3NmI5
MWViNmViLi5jMWI0Njg4ZjU2YjhjODdjNTVjMWJmZWI4MGM2ZTMyYjQwODcxNzczIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
LmNwcApAQCAtODAzLDcgKzgwMyw3IEBAIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpm
cmFtZVN0b3BwZWRMb2FkaW5nSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzJiBpbnN0CiAgICAgICAg
IGluc3BlY3RvclBhZ2VBZ2VudC0+ZnJhbWVTdG9wcGVkTG9hZGluZyhmcmFtZSk7CiB9CiAKLXZv
aWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpmcmFtZVNjaGVkdWxlZE5hdmlnYXRpb25JbXBs
KEluc3RydW1lbnRpbmdBZ2VudHMmIGluc3RydW1lbnRpbmdBZ2VudHMsIEZyYW1lJiBmcmFtZSwg
ZG91YmxlIGRlbGF5KQordm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmZyYW1lU2NoZWR1
bGVkTmF2aWdhdGlvbkltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyYgaW5zdHJ1bWVudGluZ0FnZW50
cywgRnJhbWUmIGZyYW1lLCBTZWNvbmRzIGRlbGF5KQogewogICAgIGlmIChJbnNwZWN0b3JQYWdl
QWdlbnQqIGluc3BlY3RvclBhZ2VBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMuaW5zcGVjdG9y
UGFnZUFnZW50KCkpCiAgICAgICAgIGluc3BlY3RvclBhZ2VBZ2VudC0+ZnJhbWVTY2hlZHVsZWRO
YXZpZ2F0aW9uKGZyYW1lLCBkZWxheSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKaW5kZXggNDU4OTc1MjEyMGEzOTQyYzgwZmUy
OTU3YWU2ZTYzMjM2Y2Y4MzE0Ny4uOWMyMTEyNjY3NzM4ZWFmYTY5YTZmZjQ3YzdkOTVkNmNmMDVl
NGZiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0
cnVtZW50YXRpb24uaApAQCAtMTc5LDcgKzE3OSw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgdm9p
ZCBsb2FkZXJEZXRhY2hlZEZyb21GcmFtZShGcmFtZSYsIERvY3VtZW50TG9hZGVyJik7CiAgICAg
c3RhdGljIHZvaWQgZnJhbWVTdGFydGVkTG9hZGluZyhGcmFtZSYpOwogICAgIHN0YXRpYyB2b2lk
IGZyYW1lU3RvcHBlZExvYWRpbmcoRnJhbWUmKTsKLSAgICBzdGF0aWMgdm9pZCBmcmFtZVNjaGVk
dWxlZE5hdmlnYXRpb24oRnJhbWUmLCBkb3VibGUgZGVsYXkpOworICAgIHN0YXRpYyB2b2lkIGZy
YW1lU2NoZWR1bGVkTmF2aWdhdGlvbihGcmFtZSYsIFNlY29uZHMgZGVsYXkpOwogICAgIHN0YXRp
YyB2b2lkIGZyYW1lQ2xlYXJlZFNjaGVkdWxlZE5hdmlnYXRpb24oRnJhbWUmKTsKICAgICBzdGF0
aWMgdm9pZCB3aWxsRGVzdHJveUNhY2hlZFJlc291cmNlKENhY2hlZFJlc291cmNlJik7CiAKQEAg
LTM0OSw3ICszNDksNyBAQCBwcml2YXRlOgogICAgIHN0YXRpYyB2b2lkIGxvYWRlckRldGFjaGVk
RnJvbUZyYW1lSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzJiwgRG9jdW1lbnRMb2FkZXImKTsKICAg
ICBzdGF0aWMgdm9pZCBmcmFtZVN0YXJ0ZWRMb2FkaW5nSW1wbChJbnN0cnVtZW50aW5nQWdlbnRz
JiwgRnJhbWUmKTsKICAgICBzdGF0aWMgdm9pZCBmcmFtZVN0b3BwZWRMb2FkaW5nSW1wbChJbnN0
cnVtZW50aW5nQWdlbnRzJiwgRnJhbWUmKTsKLSAgICBzdGF0aWMgdm9pZCBmcmFtZVNjaGVkdWxl
ZE5hdmlnYXRpb25JbXBsKEluc3RydW1lbnRpbmdBZ2VudHMmLCBGcmFtZSYsIGRvdWJsZSBkZWxh
eSk7CisgICAgc3RhdGljIHZvaWQgZnJhbWVTY2hlZHVsZWROYXZpZ2F0aW9uSW1wbChJbnN0cnVt
ZW50aW5nQWdlbnRzJiwgRnJhbWUmLCBTZWNvbmRzIGRlbGF5KTsKICAgICBzdGF0aWMgdm9pZCBm
cmFtZUNsZWFyZWRTY2hlZHVsZWROYXZpZ2F0aW9uSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzJiwg
RnJhbWUmKTsKICAgICBzdGF0aWMgdm9pZCB3aWxsRGVzdHJveUNhY2hlZFJlc291cmNlSW1wbChD
YWNoZWRSZXNvdXJjZSYpOwogCkBAIC05ODIsNyArOTgyLDcgQEAgaW5saW5lIHZvaWQgSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uOjpmcmFtZVN0b3BwZWRMb2FkaW5nKEZyYW1lJiBmcmFtZSkKICAg
ICAgICAgZnJhbWVTdG9wcGVkTG9hZGluZ0ltcGwoKmluc3RydW1lbnRpbmdBZ2VudHMsIGZyYW1l
KTsKIH0KIAotaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpmcmFtZVNjaGVk
dWxlZE5hdmlnYXRpb24oRnJhbWUmIGZyYW1lLCBkb3VibGUgZGVsYXkpCitpbmxpbmUgdm9pZCBJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmZyYW1lU2NoZWR1bGVkTmF2aWdhdGlvbihGcmFtZSYg
ZnJhbWUsIFNlY29uZHMgZGVsYXkpCiB7CiAgICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGlu
c3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yRnJhbWUoZnJhbWUpKQog
ICAgICAgICBmcmFtZVNjaGVkdWxlZE5hdmlnYXRpb25JbXBsKCppbnN0cnVtZW50aW5nQWdlbnRz
LCBmcmFtZSwgZGVsYXkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvclBhZ2VBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
UGFnZUFnZW50LmNwcAppbmRleCAzMmZkNDdlOTcwOGM5MGZmMGQzOWQ3ODc0ZDQ1OGUzNGJiMzM0
YjRiLi42YWE2YTA4NDRlZWVlODlkY2ZlZDAzOWZlYWYyMmNlODVkZGMwOTBmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmNwcApAQCAtODA2LDkg
KzgwNiw5IEBAIHZvaWQgSW5zcGVjdG9yUGFnZUFnZW50OjpmcmFtZVN0b3BwZWRMb2FkaW5nKEZy
YW1lJiBmcmFtZSkKICAgICBtX2Zyb250ZW5kRGlzcGF0Y2hlci0+ZnJhbWVTdG9wcGVkTG9hZGlu
ZyhmcmFtZUlkKCZmcmFtZSkpOwogfQogCi12b2lkIEluc3BlY3RvclBhZ2VBZ2VudDo6ZnJhbWVT
Y2hlZHVsZWROYXZpZ2F0aW9uKEZyYW1lJiBmcmFtZSwgZG91YmxlIGRlbGF5KQordm9pZCBJbnNw
ZWN0b3JQYWdlQWdlbnQ6OmZyYW1lU2NoZWR1bGVkTmF2aWdhdGlvbihGcmFtZSYgZnJhbWUsIFNl
Y29uZHMgZGVsYXkpCiB7Ci0gICAgbV9mcm9udGVuZERpc3BhdGNoZXItPmZyYW1lU2NoZWR1bGVk
TmF2aWdhdGlvbihmcmFtZUlkKCZmcmFtZSksIGRlbGF5KTsKKyAgICBtX2Zyb250ZW5kRGlzcGF0
Y2hlci0+ZnJhbWVTY2hlZHVsZWROYXZpZ2F0aW9uKGZyYW1lSWQoJmZyYW1lKSwgZGVsYXkudmFs
dWUoKSk7CiB9CiAKIHZvaWQgSW5zcGVjdG9yUGFnZUFnZW50OjpmcmFtZUNsZWFyZWRTY2hlZHVs
ZWROYXZpZ2F0aW9uKEZyYW1lJiBmcmFtZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JQYWdlQWdlbnQuaAppbmRleCA3ZTkyOGFlMGMyNTYxNWNlMmFiMWRiNzM3OGEwOWMy
ZTgzODg5ZTQ0Li4yODgzMTgxNzExYTQ2ZTYzMDY2ZDU5MGNlMzRkOGQxNDA5MTVjNzQ5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclBhZ2VBZ2VudC5oCkBAIC0xMTgs
NyArMTE4LDcgQEAgcHVibGljOgogICAgIHZvaWQgbG9hZGVyRGV0YWNoZWRGcm9tRnJhbWUoRG9j
dW1lbnRMb2FkZXImKTsKICAgICB2b2lkIGZyYW1lU3RhcnRlZExvYWRpbmcoRnJhbWUmKTsKICAg
ICB2b2lkIGZyYW1lU3RvcHBlZExvYWRpbmcoRnJhbWUmKTsKLSAgICB2b2lkIGZyYW1lU2NoZWR1
bGVkTmF2aWdhdGlvbihGcmFtZSYsIGRvdWJsZSBkZWxheSk7CisgICAgdm9pZCBmcmFtZVNjaGVk
dWxlZE5hdmlnYXRpb24oRnJhbWUmLCBTZWNvbmRzIGRlbGF5KTsKICAgICB2b2lkIGZyYW1lQ2xl
YXJlZFNjaGVkdWxlZE5hdmlnYXRpb24oRnJhbWUmKTsKICAgICB2b2lkIGFwcGx5RW11bGF0ZWRN
ZWRpYShTdHJpbmcmKTsKICAgICB2b2lkIGRpZFBhaW50KFJlbmRlck9iamVjdCYsIGNvbnN0IExh
eW91dFJlY3QmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9u
U2NoZWR1bGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVy
LmNwcAppbmRleCBhMzkxODUxNWFkN2VmOGU3NWQ2MDA4NjUxOTczYjY1ZWUzYWM2NDE1Li5lNmMz
OTJlMDMxM2M1OGQyZTVkMDc0ZWFmMTcxNDI1YTRiNjJkYWNlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuY3BwCkBAIC01NDEsNyArNTQxLDcgQEAgdm9p
ZCBOYXZpZ2F0aW9uU2NoZWR1bGVyOjpzdGFydFRpbWVyKCkKICAgICBpZiAoIW1fcmVkaXJlY3Qt
PnNob3VsZFN0YXJ0VGltZXIobV9mcmFtZSkpCiAgICAgICAgIHJldHVybjsKIAotICAgIGRvdWJs
ZSBkZWxheSA9IG1fcmVkaXJlY3QtPmRlbGF5KCk7CisgICAgU2Vjb25kcyBkZWxheSA9IDFfcyAq
IG1fcmVkaXJlY3QtPmRlbGF5KCk7CiAgICAgbV90aW1lci5zdGFydE9uZVNob3QoZGVsYXkpOwog
ICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZnJhbWVTY2hlZHVsZWROYXZpZ2F0aW9uKG1f
ZnJhbWUsIGRlbGF5KTsKICAgICBtX3JlZGlyZWN0LT5kaWRTdGFydFRpbWVyKG1fZnJhbWUsIG1f
dGltZXIpOyAvLyBtX3JlZGlyZWN0IG1heSBiZSBudWxsIG9uIHJldHVybiAoZS5nLiB0aGUgY2xp
ZW50IGNhbmNlbGVkIHRoZSBsb2FkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9j
YWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggNzE4MTk5MjA1NDU0MDUzZDczZTU3
ZTBlYTdlMDRjNWFkYWYzMWU1OS4uZTg5MDY1YjNhODBkZGU3M2RmOWE0MzcxZjQ2YzNjZWE5NmVi
MDM0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291
cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVz
b3VyY2VMb2FkZXIuY3BwCkBAIC04NCw3ICs4NCw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IC8vIFRpbWVvdXQgZm9yIGxpbmsgcHJlbG9hZHMgdG8gYmUgdXNlZCBhZnRlciB3aW5kb3cub25s
b2FkCi1zdGF0aWMgY29uc3QgaW50IHVudXNlZFByZWxvYWRUaW1lb3V0SW5TZWNvbmRzID0gMzsK
K3N0YXRpYyBjb25zdCBTZWNvbmRzIHVudXNlZFByZWxvYWRUaW1lb3V0IHsgM19zIH07CiAKIHN0
YXRpYyBDYWNoZWRSZXNvdXJjZSogY3JlYXRlUmVzb3VyY2UoQ2FjaGVkUmVzb3VyY2U6OlR5cGUg
dHlwZSwgQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVzdCwgU2Vzc2lvbklEIHNlc3Npb25J
RCkKIHsKQEAgLTgyOCw3ICs4MjgsNyBAQCB2b2lkIENhY2hlZFJlc291cmNlTG9hZGVyOjpkb2N1
bWVudERpZEZpbmlzaExvYWRFdmVudCgpCiAgICAgLy8gSWYgbV9wcmVsb2FkcyBpcyBub3QgZW1w
dHkgaGVyZSwgaXQncyBmdWxsIG9mIGxpbmsgcHJlbG9hZHMsCiAgICAgLy8gYXMgc3BlY3VsYXRp
dmUgcHJlbG9hZHMgd2VyZSBjbGVhcmVkIGF0IERDTC4KICAgICBpZiAobV9wcmVsb2FkcyAmJiBt
X3ByZWxvYWRzLT5zaXplKCkgJiYgIW1fdW51c2VkUHJlbG9hZHNUaW1lci5pc0FjdGl2ZSgpKQot
ICAgICAgICBtX3VudXNlZFByZWxvYWRzVGltZXIuc3RhcnRPbmVTaG90KHVudXNlZFByZWxvYWRU
aW1lb3V0SW5TZWNvbmRzKTsKKyAgICAgICAgbV91bnVzZWRQcmVsb2Fkc1RpbWVyLnN0YXJ0T25l
U2hvdCh1bnVzZWRQcmVsb2FkVGltZW91dCk7CiB9CiAKIHZvaWQgQ2FjaGVkUmVzb3VyY2VMb2Fk
ZXI6OnN0b3BVbnVzZWRQcmVsb2Fkc1RpbWVyKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9pY29uL0ljb25EYXRhYmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNv
bi9JY29uRGF0YWJhc2UuY3BwCmluZGV4IDRjZGNmYWFkNmU4MzJhMzlhNWMzNTI2NTgwNTg1MDg2
YjNkOWY3MmYuLjhkZTk0Y2U1ZGNhNzY3MTE2MzYyMDJlNmQzMWY3NTMwZDhhMjkyZDIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmNwcApAQCAtNjcsNyArNjcs
NyBAQCBzdGF0aWMgY29uc3QgaW50IGN1cnJlbnREYXRhYmFzZVZlcnNpb24gPSA2OwogLy8gSWNv
bnMgZXhwaXJlIG9uY2UgZXZlcnkgNCBkYXlzCiBzdGF0aWMgY29uc3QgaW50IGljb25FeHBpcmF0
aW9uVGltZSA9IDYwKjYwKjI0KjQ7IAogCi1zdGF0aWMgY29uc3QgaW50IHVwZGF0ZVRpbWVyRGVs
YXkgPSA1OyAKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHVwZGF0ZVRpbWVyRGVsYXkgeyA1X3MgfTsK
IAogc3RhdGljIGJvb2wgY2hlY2tJbnRlZ3JpdHlPbk9wZW4gPSBmYWxzZTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9FdmVudEhhbmRsZXIuY3BwCmluZGV4IGRjYTgyMzA0NjMwYzMyMDg1NWNkYWZlMjEzYmVh
MDMyOGZjNjRjZjMuLjg0NWYzYWViZWY1NDdlNjc4ZjFkMGM3OWQ5ZTU5M2ZhMGJjNWQ3ZmMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKQEAgLTE1NywxNCArMTU3LDE0IEBAIHVz
aW5nIG5hbWVzcGFjZSBTVkdOYW1lczsKIC8vIGR1cmluZyBhIHNjcm9sbC4gVGhlIHNob3J0IGlu
dGVydmFsIGlzIHVzZWQgaWYgdGhlIGNvbnRlbnQgcmVzcG9uZHMgdG8gdGhlIG1vdXNlIGV2ZW50
cwogLy8gaW4gZmFrZU1vdXNlTW92ZUR1cmF0aW9uVGhyZXNob2xkIG9yIGxlc3MsIG90aGVyd2lz
ZSB0aGUgbG9uZyBpbnRlcnZhbCBpcyB1c2VkLgogY29uc3QgZG91YmxlIGZha2VNb3VzZU1vdmVE
dXJhdGlvblRocmVzaG9sZCA9IDAuMDE7Ci1jb25zdCBkb3VibGUgZmFrZU1vdXNlTW92ZVNob3J0
SW50ZXJ2YWwgPSAwLjE7Ci1jb25zdCBkb3VibGUgZmFrZU1vdXNlTW92ZUxvbmdJbnRlcnZhbCA9
IDAuMjU7Citjb25zdCBTZWNvbmRzIGZha2VNb3VzZU1vdmVTaG9ydEludGVydmFsID0geyAxMDBf
bXMgfTsKK2NvbnN0IFNlY29uZHMgZmFrZU1vdXNlTW92ZUxvbmdJbnRlcnZhbCA9IHsgMjUwX21z
IH07CiAjZW5kaWYKIAogI2lmIEVOQUJMRShDVVJTT1JfU1VQUE9SVCkKIC8vIFRoZSBhbW91bnQg
b2YgdGltZSB0byB3YWl0IGZvciBhIGN1cnNvciB1cGRhdGUgb24gc3R5bGUgYW5kIGxheW91dCBj
aGFuZ2VzCiAvLyBTZXQgdG8gNTBIeiwgbm8gbmVlZCB0byBiZSBmYXN0ZXIgdGhhbiBjb21tb24g
c2NyZWVuIHJlZnJlc2ggcmF0ZQotY29uc3QgZG91YmxlIGN1cnNvclVwZGF0ZUludGVydmFsID0g
MC4wMjsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIGN1cnNvclVwZGF0ZUludGVydmFsIHsgMjBfbXMg
fTsKIAogY29uc3QgaW50IG1heGltdW1DdXJzb3JTaXplID0gMTI4OwogI2VuZGlmCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRXZlbnRTb3VyY2UuY3BwCmluZGV4IGIxZGVkM2Y4ZjdjMWRhMTJiOTM3ZTM1YmNlZmQ0
NDgxOTg1ZjYxM2MuLjM3OTQzMDlkZWQyNDVjNWYyN2Y3N2JhY2JkZjk4ZWMxYjM3ZjNlN2MgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuY3BwCkBAIC0xMzgsNyArMTM4LDcgQEAgdm9pZCBF
dmVudFNvdXJjZTo6c2NoZWR1bGVJbml0aWFsQ29ubmVjdCgpCiB2b2lkIEV2ZW50U291cmNlOjpz
Y2hlZHVsZVJlY29ubmVjdCgpCiB7CiAgICAgbV9zdGF0ZSA9IENPTk5FQ1RJTkc7Ci0gICAgbV9j
b25uZWN0VGltZXIuc3RhcnRPbmVTaG90KG1fcmVjb25uZWN0RGVsYXkgLyAxMDAwLjApOworICAg
IG1fY29ubmVjdFRpbWVyLnN0YXJ0T25lU2hvdCgxX21zICogbV9yZWNvbm5lY3REZWxheSk7CiAg
ICAgZGlzcGF0Y2hFdmVudChFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5lcnJvckV2ZW50LCBm
YWxzZSwgZmFsc2UpKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Gb2N1
c0NvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Gb2N1c0NvbnRyb2xsZXIuY3Bw
CmluZGV4IGExYjg4ZWViODEyZGJhODBmNzFlMzA0OTVjNzc0NTgwODVjNjMyZDcuLjhmMGEyNzdi
MzM1NmJkMTcyMDE0N2QzNzMxNjYwZjI2N2JjNWRjMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRm9jdXNDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Zv
Y3VzQ29udHJvbGxlci5jcHAKQEAgLTEwODksNyArMTA4OSw3IEBAIGJvb2wgRm9jdXNDb250cm9s
bGVyOjphZHZhbmNlRm9jdXNEaXJlY3Rpb25hbGx5KEZvY3VzRGlyZWN0aW9uIGRpcmVjdGlvbiwg
S2V5Ym9hCiAKIHZvaWQgRm9jdXNDb250cm9sbGVyOjpzZXRGb2N1c2VkRWxlbWVudE5lZWRzUmVw
YWludCgpCiB7Ci0gICAgbV9mb2N1c1JlcGFpbnRUaW1lci5zdGFydE9uZVNob3QoMC4wMzMpOwor
ICAgIG1fZm9jdXNSZXBhaW50VGltZXIuc3RhcnRPbmVTaG90KDMzX21zKTsKIH0KIAogdm9pZCBG
b2N1c0NvbnRyb2xsZXI6OmZvY3VzUmVwYWludFRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFt
ZVZpZXcuY3BwCmluZGV4IGZhYzFlMmZiM2NkOWMxYWU1YjM2MjQ0OGRhYjNkMmE4MWEwMGU2Y2Yu
LmMzZmNjOTMxMTFlMmI3NWE0MzcwZDg1MmMwNTA3MDA5ZWQzNjM1MTkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0ZyYW1lVmlldy5jcHAKQEAgLTI1MTUsNyArMjUxNSw3IEBAIHZvaWQgRnJhbWVWaWV3OjpzY3Jv
bGxQb3NpdGlvbkNoYW5nZWQoY29uc3QgU2Nyb2xsUG9zaXRpb24mIG9sZFBvc2l0aW9uLCBjb25z
dCBTCiAgICAgICAgIG1fZGVsYXllZFNjcm9sbEV2ZW50VGltZXIuc3RvcCgpOwogICAgICAgICBz
ZW5kU2Nyb2xsRXZlbnQoKTsKICAgICB9IGVsc2UgaWYgKCFtX2RlbGF5ZWRTY3JvbGxFdmVudFRp
bWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fZGVsYXllZFNjcm9sbEV2ZW50VGltZXIuc3RhcnRP
bmVTaG90KHRocm90dGxpbmdEZWxheS52YWx1ZSgpKTsKKyAgICAgICAgbV9kZWxheWVkU2Nyb2xs
RXZlbnRUaW1lci5zdGFydE9uZVNob3QodGhyb3R0bGluZ0RlbGF5KTsKIAogICAgIGlmIChEb2N1
bWVudCogZG9jdW1lbnQgPSBmcmFtZSgpLmRvY3VtZW50KCkpCiAgICAgICAgIGRvY3VtZW50LT5z
ZW5kV2lsbFJldmVhbEVkZ2VFdmVudHNJZk5lZWRlZChvbGRQb3NpdGlvbiwgbmV3UG9zaXRpb24s
IHZpc2libGVDb250ZW50UmVjdCgpLCBjb250ZW50c1NpemUoKSk7CkBAIC0yOTM0LDcgKzI5MzQs
NyBAQCB2b2lkIEZyYW1lVmlldzo6ZW5hYmxlU3BlY3VsYXRpdmVUaWxpbmdJZk5lZWRlZCgpCiAg
ICAgaWYgKG1fc3BlY3VsYXRpdmVUaWxpbmdFbmFibGVUaW1lci5pc0FjdGl2ZSgpKQogICAgICAg
ICByZXR1cm47CiAgICAgLy8gRGVsYXkgZW5hYmxpbmcgYSBiaXQgYXMgbG9hZCBjb21wbGV0aW9u
IG1heSB0cmlnZ2VyIGZ1cnRoZXIgbG9hZGluZyBmcm9tIHNjcmlwdHMuCi0gICAgc3RhdGljIGNv
bnN0IGRvdWJsZSBzcGVjdWxhdGl2ZVRpbGluZ0VuYWJsZURlbGF5ID0gMC41OworICAgIHN0YXRp
YyBjb25zdCBTZWNvbmRzIHNwZWN1bGF0aXZlVGlsaW5nRW5hYmxlRGVsYXkgeyA1MDBfbXMgfTsK
ICAgICBtX3NwZWN1bGF0aXZlVGlsaW5nRW5hYmxlVGltZXIuc3RhcnRPbmVTaG90KHNwZWN1bGF0
aXZlVGlsaW5nRW5hYmxlRGVsYXkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1NldHRpbmdzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCmluZGV4
IGU3Y2M5MGFmYzIwM2Q3YzNhOTllNDVhMjc0NmE2ZDg2MzA2YTFkZDcuLjQ1MDcwZWQwOTQ0ZWNh
MWJmYzdjY2FjYTRhMDE0OGE5YjhkZTdhYTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvU2V0dGluZ3MuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCkBA
IC0yMTIsNyArMjEyLDcgQEAgU2V0dGluZ3M6OlNldHRpbmdzKFBhZ2UqIHBhZ2UpCiAgICAgLCBt
X3RvdWNoRXZlbnRFbXVsYXRpb25FbmFibGVkKGZhbHNlKQogI2VuZGlmCiAgICAgLCBtX3Njcm9s
bGluZ1BlcmZvcm1hbmNlTG9nZ2luZ0VuYWJsZWQoZmFsc2UpCi0gICAgLCBtX3RpbWVXaXRob3V0
TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKDMpCisgICAgLCBtX3RpbWVXaXRob3V0
TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKDNfcykKICAgICAsIG1fc2V0SW1hZ2VM
b2FkaW5nU2V0dGluZ3NUaW1lcigqdGhpcywgJlNldHRpbmdzOjppbWFnZUxvYWRpbmdTZXR0aW5n
c1RpbWVyRmlyZWQpCiAgICAgLCBtX2hpZGRlblBhZ2VET01UaW1lclRocm90dGxpbmdFbmFibGVk
KGZhbHNlKQogICAgICwgbV9oaWRkZW5QYWdlQ1NTQW5pbWF0aW9uU3VzcGVuc2lvbkVuYWJsZWQo
ZmFsc2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKaW5kZXggOWYzNzA3NTViMGI4MmJmZTgxOTI4MGE1
OTgxNDBkYTM5ZjU4MjM4ZC4uZDE5NmRjMmM5NjczZjU3ZGIwZGVkOWUzNjA1MTlkMTY4YWFiOWFl
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaApAQCAtMjU2LDggKzI1Niw4IEBAIHB1YmxpYzoKICAg
ICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgdm9pZCBzZXRTaG91bGRSZXNwZWN0UHJpb3JpdHlJbkNT
U0F0dHJpYnV0ZVNldHRlcnMoYm9vbCk7CiAgICAgc3RhdGljIGJvb2wgc2hvdWxkUmVzcGVjdFBy
aW9yaXR5SW5DU1NBdHRyaWJ1dGVTZXR0ZXJzKCk7CiAKLSAgICB2b2lkIHNldFRpbWVXaXRob3V0
TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKGRvdWJsZSB0aW1lKSB7IG1fdGltZVdp
dGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMgPSB0aW1lOyB9Ci0gICAgZG91
YmxlIHRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKCkgY29uc3Qg
eyByZXR1cm4gbV90aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9sczsg
fQorICAgIHZvaWQgc2V0VGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJv
bHMoU2Vjb25kcyB0aW1lKSB7IG1fdGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5n
Q29udHJvbHMgPSB0aW1lOyB9CisgICAgU2Vjb25kcyB0aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRC
ZWZvcmVIaWRpbmdDb250cm9scygpIGNvbnN0IHsgcmV0dXJuIG1fdGltZVdpdGhvdXRNb3VzZU1v
dmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHM7IH0KIAogICAgIGJvb2wgaGlkZGVuUGFnZUNTU0Fu
aW1hdGlvblN1c3BlbnNpb25FbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9oaWRkZW5QYWdlQ1NT
QW5pbWF0aW9uU3VzcGVuc2lvbkVuYWJsZWQ7IH0KICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNl
dEhpZGRlblBhZ2VDU1NBbmltYXRpb25TdXNwZW5zaW9uRW5hYmxlZChib29sKTsKQEAgLTM2MSw3
ICszNjEsNyBAQCBwcml2YXRlOgogI2VuZGlmCiAgICAgYm9vbCBtX3Njcm9sbGluZ1BlcmZvcm1h
bmNlTG9nZ2luZ0VuYWJsZWQgOiAxOwogCi0gICAgZG91YmxlIG1fdGltZVdpdGhvdXRNb3VzZU1v
dmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHM7CisgICAgU2Vjb25kcyBtX3RpbWVXaXRob3V0TW91
c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzOwogCiAgICAgVGltZXIgbV9zZXRJbWFnZUxv
YWRpbmdTZXR0aW5nc1RpbWVyOwogICAgIHZvaWQgaW1hZ2VMb2FkaW5nU2V0dGluZ3NUaW1lckZp
cmVkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1N1c3BlbmRhYmxlVGltZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3VzcGVuZGFibGVUaW1lci5oCmluZGV4IDMxMjkyMDhm
ZTU1ZGNhMGQwOTg1NWM5ZTIzZTFlYjc3MTMxNDM0ZmMuLjU1ODQ0MzQwNzgzNDZmYjliNTdhNmVh
NTlhZmNlMjdhNjI0MGI1NWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3VzcGVu
ZGFibGVUaW1lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3VzcGVuZGFibGVUaW1lci5o
CkBAIC00NSw4ICs0NSw2IEBAIHB1YmxpYzoKICAgICBib29sIGlzQWN0aXZlKCkgY29uc3QgeyBy
ZXR1cm4gVGltZXJCYXNlOjppc0FjdGl2ZSgpIHx8IChtX3N1c3BlbmRlZCAmJiBtX3NhdmVkSXNB
Y3RpdmUpOyB9CiAgICAgYm9vbCBpc1N1c3BlbmRlZCgpIGNvbnN0IHsgcmV0dXJuIG1fc3VzcGVu
ZGVkOyB9CiAKLSAgICB2b2lkIHN0YXJ0T25lU2hvdChkb3VibGUgaW50ZXJ2YWwpIHsgc3RhcnRP
bmVTaG90KFNlY29uZHMgeyBpbnRlcnZhbCB9KTsgfQotCiAgICAgU2Vjb25kcyByZXBlYXRJbnRl
cnZhbCgpIGNvbnN0OwogCiAgICAgdm9pZCBzdGFydFJlcGVhdGluZyhTZWNvbmRzIHJlcGVhdElu
dGVydmFsKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0NTU0Fu
aW1hdGlvbkNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQ1NT
QW5pbWF0aW9uQ29udHJvbGxlci5jcHAKaW5kZXggZGNkN2U0MGFkMWU5YWZkYTlkNWFmY2QxMDg2
MWRkNGZlNWY1MDZjMy4uMDBjNzNlMTZiYzMxYWE3NThjOTM4NGQ1NGQ0NzA4YzI4MmE4MTQ2MSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQ1NTQW5pbWF0aW9uQ29u
dHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQ1NTQW5pbWF0
aW9uQ29udHJvbGxlci5jcHAKQEAgLTQ5LDkgKzQ5LDkgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogLy8gQWxsb3cgYSBsaXR0bGUgbW9yZSB0aGFuIDYwZnBzIHRvIG1ha2Ugc3VyZSB3ZSBjYW4g
YXQgbGVhc3QgaGl0IHRoYXQgZnJhbWUgcmF0ZS4KLXN0YXRpYyBjb25zdCBTZWNvbmRzIGFuaW1h
dGlvblRpbWVyRGVsYXkgeyAwLjAxNSB9Oworc3RhdGljIGNvbnN0IFNlY29uZHMgYW5pbWF0aW9u
VGltZXJEZWxheSB7IDE1X21zIH07CiAvLyBBbGxvdyBhIGxpdHRsZSBtb3JlIHRoYW4gMzBmcHMg
dG8gbWFrZSBzdXJlIHdlIGNhbiBhdCBsZWFzdCBoaXQgdGhhdCBmcmFtZSByYXRlLgotc3RhdGlj
IGNvbnN0IFNlY29uZHMgYW5pbWF0aW9uVGltZXJUaHJvdHRsZWREZWxheSB7IDAuMDMwIH07Citz
dGF0aWMgY29uc3QgU2Vjb25kcyBhbmltYXRpb25UaW1lclRocm90dGxlZERlbGF5IHsgMzBfbXMg
fTsKIAogY2xhc3MgQW5pbWF0aW9uUHJpdmF0ZVVwZGF0ZUJsb2NrIHsKIHB1YmxpYzoKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL0V2ZW50SGFuZGxlck1hYy5tbSBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvbWFjL0V2ZW50SGFuZGxlck1hYy5tbQppbmRleCBmNTFlMGE4YTQyZTBk
Njg1NmUzNjMyNzY4NTM4NzJlMWM3YjMzN2Q4Li5mNzFlNGZkYzE1OWMzNWE2MTBmNDVmYjYxNWIw
ZjRlMTQ4ZGJhODY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9FdmVudEhh
bmRsZXJNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFj
Lm1tCkBAIC03NCw3ICs3NCw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY29uc3QgZG91
YmxlIHJlc2V0TGF0Y2hlZFN0YXRlVGltZW91dCA9IDAuMTsKK3N0YXRpYyBjb25zdCBTZWNvbmRz
IHJlc2V0TGF0Y2hlZFN0YXRlVGltZW91dCB7IDEwMF9tcyB9OwogCiBzdGF0aWMgUmV0YWluUHRy
PE5TRXZlbnQ+JiBjdXJyZW50TlNFdmVudFNsb3QoKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9tYWMvVGV4dEluZGljYXRvcldpbmRvdy5tbSBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvbWFjL1RleHRJbmRpY2F0b3JXaW5kb3cubW0KaW5kZXggZTU5MjliYTYzZGU1OWY0OTgzYmQ4
Y2Y5YzMwMDY0ZTY3MTc3M2NiYy4uZmMzNmRjYjEzY2VkN2U1YWMyY2YwMTc3M2FjZTc5MzIxNDY2
MGRkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvVGV4dEluZGljYXRvcldp
bmRvdy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9UZXh0SW5kaWNhdG9yV2luZG93
Lm1tCkBAIC00NzYsNyArNDc2LDcgQEAgdm9pZCBUZXh0SW5kaWNhdG9yV2luZG93OjpzZXRUZXh0
SW5kaWNhdG9yKFJlZjxUZXh0SW5kaWNhdG9yPiB0ZXh0SW5kaWNhdG9yLCBDR1IKICAgICAgICAg
W21fdGV4dEluZGljYXRvclZpZXcgcHJlc2VudF07CiAKICAgICBpZiAobGlmZXRpbWUgPT0gVGV4
dEluZGljYXRvcldpbmRvd0xpZmV0aW1lOjpUZW1wb3JhcnkpCi0gICAgICAgIG1fdGVtcG9yYXJ5
VGV4dEluZGljYXRvclRpbWVyLnN0YXJ0T25lU2hvdCh0aW1lQmVmb3JlRmFkZVN0YXJ0cyk7Cisg
ICAgICAgIG1fdGVtcG9yYXJ5VGV4dEluZGljYXRvclRpbWVyLnN0YXJ0T25lU2hvdCgxX3MgKiB0
aW1lQmVmb3JlRmFkZVN0YXJ0cyk7CiB9CiAKIHZvaWQgVGV4dEluZGljYXRvcldpbmRvdzo6Y2xv
c2VXaW5kb3coKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vSHlzdGVyZXNp
c0FjdGl2aXR5LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9IeXN0ZXJlc2lzQWN0aXZpdHku
aAppbmRleCAxMjhlZjgyMDllMmE3NDgzMDllMDYyODIwZWRjODIzOTgwYzBiMmUxLi41OTllMTcx
ZWMxYWNhZDIwZWQ4ZjE1ZDFiNDVjOWVhYTlmMWNlMGEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9IeXN0ZXJlc2lzQWN0aXZpdHkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9IeXN0ZXJlc2lzQWN0aXZpdHkuaApAQCAtNjUsNyArNjUsNyBAQCBwdWJsaWM6CiAg
ICAgICAgICAgICByZXR1cm47CiAgICAgICAgIG1fYWN0aXZlID0gZmFsc2U7CiAKLSAgICAgICAg
bV90aW1lci5zdGFydE9uZVNob3QobV9oeXN0ZXJlc2lzU2Vjb25kcyk7CisgICAgICAgIG1fdGlt
ZXIuc3RhcnRPbmVTaG90KDFfcyAqIG1faHlzdGVyZXNpc1NlY29uZHMpOwogICAgIH0KIAogICAg
IHZvaWQgaW1wdWxzZSgpCkBAIC04OSw3ICs4OSw3IEBAIHByaXZhdGU6CiAgICAgfQogCiAgICAg
c3RkOjpmdW5jdGlvbjx2b2lkKEh5c3RlcmVzaXNTdGF0ZSk+IG1fY2FsbGJhY2s7Ci0gICAgZG91
YmxlIG1faHlzdGVyZXNpc1NlY29uZHM7CisgICAgZG91YmxlIG1faHlzdGVyZXNpc1NlY29uZHM7
IC8vIEZJWE1FOiBTaG91bGQgdXNlIFNlY29uZHMuCiAgICAgYm9vbCBtX2FjdGl2ZTsKICAgICBU
aW1lciBtX3RpbWVyOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Nj
cm9sbEFuaW1hdGlvblNtb290aC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxB
bmltYXRpb25TbW9vdGguY3BwCmluZGV4IGM4ZjVkNWRjMDM1NDViYmU1NjA2Nzk3ODZlZDkxMTk3
NDE2NGVlNzYuLmI3ZGMyYjhiNGQ3YjNhMmZlOGNkOWViMzUwMzFmOWEyODQwZjg4MzkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdGlvblNtb290aC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmNwcApA
QCAtMzcsOCArMzcsOCBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdGF0aWMgY29uc3QgZG91
YmxlIGZyYW1lUmF0ZSA9IDYwOwotc3RhdGljIGNvbnN0IGRvdWJsZSB0aWNrVGltZSA9IDEgLyBm
cmFtZVJhdGU7Ci1zdGF0aWMgY29uc3QgZG91YmxlIG1pbmltdW1UaW1lckludGVydmFsID0gLjAw
MTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHRpY2tUaW1lID0gMV9zIC8gZnJhbWVSYXRlOworc3Rh
dGljIGNvbnN0IFNlY29uZHMgbWluaW11bVRpbWVySW50ZXJ2YWwgeyAxX21zIH07CiAKIFNjcm9s
bEFuaW1hdGlvblNtb290aDo6U2Nyb2xsQW5pbWF0aW9uU21vb3RoKFNjcm9sbGFibGVBcmVhJiBz
Y3JvbGxhYmxlQXJlYSwgY29uc3QgRmxvYXRQb2ludCYgcG9zaXRpb24sIHN0ZDo6ZnVuY3Rpb248
dm9pZCAoRmxvYXRQb2ludCYmKT4mJiBub3RpZnlQb3NpdGlvbkNoYW5nZWRGdW5jdGlvbikKICAg
ICA6IFNjcm9sbEFuaW1hdGlvbihzY3JvbGxhYmxlQXJlYSkKQEAgLTIyNiw0MCArMjI2LDQwIEBA
IHN0YXRpYyBpbmxpbmUgZG91YmxlIHJlbGVhc2VBcmVhKFNjcm9sbEFuaW1hdGlvblNtb290aDo6
Q3VydmUgY3VydmUsIGRvdWJsZSBzdGFyCiAgICAgcmV0dXJuIGVuZFZhbHVlIC0gc3RhcnRWYWx1
ZTsKIH0KIAotc3RhdGljIGlubGluZSB2b2lkIGdldEFuaW1hdGlvblBhcmFtZXRlcnNGb3JHcmFu
dWxhcml0eShTY3JvbGxHcmFudWxhcml0eSBncmFudWxhcml0eSwgZG91YmxlJiBhbmltYXRpb25U
aW1lLCBkb3VibGUmIHJlcGVhdE1pbmltdW1TdXN0YWluVGltZSwgZG91YmxlJiBhdHRhY2tUaW1l
LCBkb3VibGUmIHJlbGVhc2VUaW1lLCBTY3JvbGxBbmltYXRpb25TbW9vdGg6OkN1cnZlJiBjb2Fz
dFRpbWVDdXJ2ZSwgZG91YmxlJiBtYXhpbXVtQ29hc3RUaW1lKQorc3RhdGljIGlubGluZSB2b2lk
IGdldEFuaW1hdGlvblBhcmFtZXRlcnNGb3JHcmFudWxhcml0eShTY3JvbGxHcmFudWxhcml0eSBn
cmFudWxhcml0eSwgU2Vjb25kcyYgYW5pbWF0aW9uVGltZSwgU2Vjb25kcyYgcmVwZWF0TWluaW11
bVN1c3RhaW5UaW1lLCBTZWNvbmRzJiBhdHRhY2tUaW1lLCBTZWNvbmRzJiByZWxlYXNlVGltZSwg
U2Nyb2xsQW5pbWF0aW9uU21vb3RoOjpDdXJ2ZSYgY29hc3RUaW1lQ3VydmUsIFNlY29uZHMmIG1h
eGltdW1Db2FzdFRpbWUpCiB7CiAgICAgc3dpdGNoIChncmFudWxhcml0eSkgewogICAgIGNhc2Ug
U2Nyb2xsQnlEb2N1bWVudDoKLSAgICAgICAgYW5pbWF0aW9uVGltZSA9IDIwICogdGlja1RpbWU7
Ci0gICAgICAgIHJlcGVhdE1pbmltdW1TdXN0YWluVGltZSA9IDEwICogdGlja1RpbWU7Ci0gICAg
ICAgIGF0dGFja1RpbWUgPSAxMCAqIHRpY2tUaW1lOwotICAgICAgICByZWxlYXNlVGltZSA9IDEw
ICogdGlja1RpbWU7CisgICAgICAgIGFuaW1hdGlvblRpbWUgPSB0aWNrVGltZSAqIDEwOworICAg
ICAgICByZXBlYXRNaW5pbXVtU3VzdGFpblRpbWUgPSB0aWNrVGltZSAqIDEwOworICAgICAgICBh
dHRhY2tUaW1lID0gdGlja1RpbWUgKiAxMDsKKyAgICAgICAgcmVsZWFzZVRpbWUgPSB0aWNrVGlt
ZSAqIDEwOwogICAgICAgICBjb2FzdFRpbWVDdXJ2ZSA9IFNjcm9sbEFuaW1hdGlvblNtb290aDo6
Q3VydmU6OkxpbmVhcjsKLSAgICAgICAgbWF4aW11bUNvYXN0VGltZSA9IDE7CisgICAgICAgIG1h
eGltdW1Db2FzdFRpbWUgPSAxX3M7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgU2Nyb2xsQnlM
aW5lOgotICAgICAgICBhbmltYXRpb25UaW1lID0gMTAgKiB0aWNrVGltZTsKLSAgICAgICAgcmVw
ZWF0TWluaW11bVN1c3RhaW5UaW1lID0gNyAqIHRpY2tUaW1lOwotICAgICAgICBhdHRhY2tUaW1l
ID0gMyAqIHRpY2tUaW1lOwotICAgICAgICByZWxlYXNlVGltZSA9IDMgKiB0aWNrVGltZTsKKyAg
ICAgICAgYW5pbWF0aW9uVGltZSA9IHRpY2tUaW1lICogMTA7CisgICAgICAgIHJlcGVhdE1pbmlt
dW1TdXN0YWluVGltZSA9IHRpY2tUaW1lICogNzsKKyAgICAgICAgYXR0YWNrVGltZSA9IHRpY2tU
aW1lICogMzsKKyAgICAgICAgcmVsZWFzZVRpbWUgPSB0aWNrVGltZSAqIDM7CiAgICAgICAgIGNv
YXN0VGltZUN1cnZlID0gU2Nyb2xsQW5pbWF0aW9uU21vb3RoOjpDdXJ2ZTo6TGluZWFyOwotICAg
ICAgICBtYXhpbXVtQ29hc3RUaW1lID0gMTsKKyAgICAgICAgbWF4aW11bUNvYXN0VGltZSA9IDFf
czsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBTY3JvbGxCeVBhZ2U6Ci0gICAgICAgIGFuaW1h
dGlvblRpbWUgPSAxNSAqIHRpY2tUaW1lOwotICAgICAgICByZXBlYXRNaW5pbXVtU3VzdGFpblRp
bWUgPSAxMCAqIHRpY2tUaW1lOwotICAgICAgICBhdHRhY2tUaW1lID0gNSAqIHRpY2tUaW1lOwot
ICAgICAgICByZWxlYXNlVGltZSA9IDUgKiB0aWNrVGltZTsKKyAgICAgICAgYW5pbWF0aW9uVGlt
ZSA9IHRpY2tUaW1lICogMTU7CisgICAgICAgIHJlcGVhdE1pbmltdW1TdXN0YWluVGltZSA9IHRp
Y2tUaW1lICogMTA7CisgICAgICAgIGF0dGFja1RpbWUgPSB0aWNrVGltZSAqIDU7CisgICAgICAg
IHJlbGVhc2VUaW1lID0gdGlja1RpbWUgKiA1OwogICAgICAgICBjb2FzdFRpbWVDdXJ2ZSA9IFNj
cm9sbEFuaW1hdGlvblNtb290aDo6Q3VydmU6OkxpbmVhcjsKLSAgICAgICAgbWF4aW11bUNvYXN0
VGltZSA9IDE7CisgICAgICAgIG1heGltdW1Db2FzdFRpbWUgPSAxX3M7CiAgICAgICAgIGJyZWFr
OwogICAgIGNhc2UgU2Nyb2xsQnlQaXhlbDoKLSAgICAgICAgYW5pbWF0aW9uVGltZSA9IDExICog
dGlja1RpbWU7Ci0gICAgICAgIHJlcGVhdE1pbmltdW1TdXN0YWluVGltZSA9IDIgKiB0aWNrVGlt
ZTsKLSAgICAgICAgYXR0YWNrVGltZSA9IDMgKiB0aWNrVGltZTsKLSAgICAgICAgcmVsZWFzZVRp
bWUgPSAzICogdGlja1RpbWU7CisgICAgICAgIGFuaW1hdGlvblRpbWUgPSB0aWNrVGltZSAqIDEx
OworICAgICAgICByZXBlYXRNaW5pbXVtU3VzdGFpblRpbWUgPSB0aWNrVGltZSAqIDI7CisgICAg
ICAgIGF0dGFja1RpbWUgPSB0aWNrVGltZSAqIDM7CisgICAgICAgIHJlbGVhc2VUaW1lID0gdGlj
a1RpbWUgKiAzOwogICAgICAgICBjb2FzdFRpbWVDdXJ2ZSA9IFNjcm9sbEFuaW1hdGlvblNtb290
aDo6Q3VydmU6OlF1YWRyYXRpYzsKLSAgICAgICAgbWF4aW11bUNvYXN0VGltZSA9IDEuMjU7Cisg
ICAgICAgIG1heGltdW1Db2FzdFRpbWUgPSAxMjUwX21zOwogICAgICAgICBicmVhazsKICAgICBk
ZWZhdWx0OgogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKQEAgLTI3OSw3ICsyNzksNyBA
QCBib29sIFNjcm9sbEFuaW1hdGlvblNtb290aDo6dXBkYXRlUGVyQXhpc0RhdGEoUGVyQXhpc0Rh
dGEmIGRhdGEsIFNjcm9sbEdyYW51bGFyaQogICAgIGlmIChuZXdQb3NpdGlvbiA9PSBkYXRhLmRl
c2lyZWRQb3NpdGlvbikKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgZG91YmxlIGFuaW1h
dGlvblRpbWUsIHJlcGVhdE1pbmltdW1TdXN0YWluVGltZSwgYXR0YWNrVGltZSwgcmVsZWFzZVRp
bWUsIG1heGltdW1Db2FzdFRpbWU7CisgICAgU2Vjb25kcyBhbmltYXRpb25UaW1lLCByZXBlYXRN
aW5pbXVtU3VzdGFpblRpbWUsIGF0dGFja1RpbWUsIHJlbGVhc2VUaW1lLCBtYXhpbXVtQ29hc3RU
aW1lOwogICAgIEN1cnZlIGNvYXN0VGltZUN1cnZlOwogICAgIGdldEFuaW1hdGlvblBhcmFtZXRl
cnNGb3JHcmFudWxhcml0eShncmFudWxhcml0eSwgYW5pbWF0aW9uVGltZSwgcmVwZWF0TWluaW11
bVN1c3RhaW5UaW1lLCBhdHRhY2tUaW1lLCByZWxlYXNlVGltZSwgY29hc3RUaW1lQ3VydmUsIG1h
eGltdW1Db2FzdFRpbWUpOwogCkBAIC0yOTgsNyArMjk4LDcgQEAgYm9vbCBTY3JvbGxBbmltYXRp
b25TbW9vdGg6OnVwZGF0ZVBlckF4aXNEYXRhKFBlckF4aXNEYXRhJiBkYXRhLCBTY3JvbGxHcmFu
dWxhcmkKIAogICAgIGlmICghZGF0YS5zdGFydFRpbWUpIHsKICAgICAgICAgLy8gRklYTUU6IFRo
aXMgc2hvdWxkIGJlIHRoZSB0aW1lIGZyb20gdGhlIGV2ZW50IHRoYXQgZ290IHVzIGhlcmUuCi0g
ICAgICAgIGRhdGEuc3RhcnRUaW1lID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkgLSB0
aWNrVGltZSAvIDI7CisgICAgICAgIGRhdGEuc3RhcnRUaW1lID0gTW9ub3RvbmljVGltZTo6bm93
KCkgLSB0aWNrVGltZSAvIDIuOwogICAgICAgICBkYXRhLnN0YXJ0UG9zaXRpb24gPSBkYXRhLmN1
cnJlbnRQb3NpdGlvbjsKICAgICAgICAgZGF0YS5sYXN0QW5pbWF0aW9uVGltZSA9IGRhdGEuc3Rh
cnRUaW1lOwogICAgIH0KQEAgLTMwNiwxMCArMzA2LDEwIEBAIGJvb2wgU2Nyb2xsQW5pbWF0aW9u
U21vb3RoOjp1cGRhdGVQZXJBeGlzRGF0YShQZXJBeGlzRGF0YSYgZGF0YSwgU2Nyb2xsR3JhbnVs
YXJpCiAKICAgICBkb3VibGUgcmVtYWluaW5nRGVsdGEgPSBkYXRhLmRlc2lyZWRQb3NpdGlvbiAt
IGRhdGEuY3VycmVudFBvc2l0aW9uOwogICAgIGRvdWJsZSBhdHRhY2tBcmVhTGVmdCA9IDA7Ci0g
ICAgZG91YmxlIGRlbHRhVGltZSA9IGRhdGEubGFzdEFuaW1hdGlvblRpbWUgLSBkYXRhLnN0YXJ0
VGltZTsKLSAgICBkb3VibGUgYXR0YWNrVGltZUxlZnQgPSBzdGQ6Om1heCgwLiwgZGF0YS5hdHRh
Y2tUaW1lIC0gZGVsdGFUaW1lKTsKLSAgICBkb3VibGUgdGltZUxlZnQgPSBkYXRhLmFuaW1hdGlv
blRpbWUgLSBkZWx0YVRpbWU7Ci0gICAgZG91YmxlIG1pblRpbWVMZWZ0ID0gZGF0YS5yZWxlYXNl
VGltZSArIHN0ZDo6bWluKHJlcGVhdE1pbmltdW1TdXN0YWluVGltZSwgZGF0YS5hbmltYXRpb25U
aW1lIC0gZGF0YS5yZWxlYXNlVGltZSAtIGF0dGFja1RpbWVMZWZ0KTsKKyAgICBTZWNvbmRzIGRl
bHRhVGltZSA9IGRhdGEubGFzdEFuaW1hdGlvblRpbWUgLSBkYXRhLnN0YXJ0VGltZTsKKyAgICBT
ZWNvbmRzIGF0dGFja1RpbWVMZWZ0ID0gc3RkOjptYXgoMF9zLCBkYXRhLmF0dGFja1RpbWUgLSBk
ZWx0YVRpbWUpOworICAgIFNlY29uZHMgdGltZUxlZnQgPSBkYXRhLmFuaW1hdGlvblRpbWUgLSBk
ZWx0YVRpbWU7CisgICAgU2Vjb25kcyBtaW5UaW1lTGVmdCA9IGRhdGEucmVsZWFzZVRpbWUgKyBz
dGQ6Om1pbihyZXBlYXRNaW5pbXVtU3VzdGFpblRpbWUsIGRhdGEuYW5pbWF0aW9uVGltZSAtIGRh
dGEucmVsZWFzZVRpbWUgLSBhdHRhY2tUaW1lTGVmdCk7CiAgICAgaWYgKHRpbWVMZWZ0IDwgbWlu
VGltZUxlZnQpIHsKICAgICAgICAgZGF0YS5hbmltYXRpb25UaW1lID0gZGVsdGFUaW1lICsgbWlu
VGltZUxlZnQ7CiAgICAgICAgIHRpbWVMZWZ0ID0gbWluVGltZUxlZnQ7CkBAIC0zMjEsMTQgKzMy
MSwxNCBAQCBib29sIFNjcm9sbEFuaW1hdGlvblNtb290aDo6dXBkYXRlUGVyQXhpc0RhdGEoUGVy
QXhpc0RhdGEmIGRhdGEsIFNjcm9sbEdyYW51bGFyaQogICAgICAgICBkb3VibGUgbWluQ29hc3RE
ZWx0YSA9IGRhdGEudmlzaWJsZUxlbmd0aDsKIAogICAgICAgICBpZiAoZmFicyhyZW1haW5pbmdE
ZWx0YSkgPiBtaW5Db2FzdERlbHRhKSB7Ci0gICAgICAgICAgICBkb3VibGUgbWF4Q29hc3REZWx0
YSA9IG1heGltdW1Db2FzdFRpbWUgKiB0YXJnZXRNYXhDb2FzdFZlbG9jaXR5OworICAgICAgICAg
ICAgZG91YmxlIG1heENvYXN0RGVsdGEgPSBtYXhpbXVtQ29hc3RUaW1lLnZhbHVlKCkgKiB0YXJn
ZXRNYXhDb2FzdFZlbG9jaXR5OwogICAgICAgICAgICAgZG91YmxlIGNvYXN0RmFjdG9yID0gc3Rk
OjptaW4oMS4sIChmYWJzKHJlbWFpbmluZ0RlbHRhKSAtIG1pbkNvYXN0RGVsdGEpIC8gKG1heENv
YXN0RGVsdGEgLSBtaW5Db2FzdERlbHRhKSk7CiAKICAgICAgICAgICAgIC8vIFdlIGNvdWxkIHBs
YXkgd2l0aCB0aGUgY3VydmUgaGVyZSAtIGxpbmVhciBzZWVtcyBhIGxpdHRsZSBzb2Z0LiBJbml0
aWFsIHRlc3RpbmcgbWFrZXMgbWUgd2FudCB0byBmZWVkIGludG8gdGhlIHN1c3RhaW4gdGltZSBt
b3JlIGFnZ3Jlc3NpdmVseS4KLSAgICAgICAgICAgIGRvdWJsZSBjb2FzdE1pblRpbWVMZWZ0ID0g
c3RkOjptaW4obWF4aW11bUNvYXN0VGltZSwgbWluVGltZUxlZnQgKyBjb2FzdEN1cnZlKGNvYXN0
VGltZUN1cnZlLCBjb2FzdEZhY3RvcikgKiAobWF4aW11bUNvYXN0VGltZSAtIG1pblRpbWVMZWZ0
KSk7CisgICAgICAgICAgICBTZWNvbmRzIGNvYXN0TWluVGltZUxlZnQgPSBzdGQ6Om1pbihtYXhp
bXVtQ29hc3RUaW1lLCBtaW5UaW1lTGVmdCArIFNlY29uZHMgeyBjb2FzdEN1cnZlKGNvYXN0VGlt
ZUN1cnZlLCBjb2FzdEZhY3RvcikgfSAqIChtYXhpbXVtQ29hc3RUaW1lIC0gbWluVGltZUxlZnQp
KTsKIAotICAgICAgICAgICAgaWYgKGRvdWJsZSBhZGRpdGlvbmFsVGltZSA9IHN0ZDo6bWF4KDAu
LCBjb2FzdE1pblRpbWVMZWZ0IC0gbWluVGltZUxlZnQpKSB7Ci0gICAgICAgICAgICAgICAgZG91
YmxlIGFkZGl0aW9uYWxSZWxlYXNlVGltZSA9IHN0ZDo6bWluKGFkZGl0aW9uYWxUaW1lLCByZWxl
YXNlVGltZSAvIChyZWxlYXNlVGltZSArIHJlcGVhdE1pbmltdW1TdXN0YWluVGltZSkgKiBhZGRp
dGlvbmFsVGltZSk7CisgICAgICAgICAgICBpZiAoU2Vjb25kcyBhZGRpdGlvbmFsVGltZSA9IHN0
ZDo6bWF4KDBfcywgY29hc3RNaW5UaW1lTGVmdCAtIG1pblRpbWVMZWZ0KSkgeworICAgICAgICAg
ICAgICAgIFNlY29uZHMgYWRkaXRpb25hbFJlbGVhc2VUaW1lID0gc3RkOjptaW4oYWRkaXRpb25h
bFRpbWUsIHJlbGVhc2VUaW1lIC8gKHJlbGVhc2VUaW1lICsgcmVwZWF0TWluaW11bVN1c3RhaW5U
aW1lKSAqIGFkZGl0aW9uYWxUaW1lKTsKICAgICAgICAgICAgICAgICBkYXRhLnJlbGVhc2VUaW1l
ID0gcmVsZWFzZVRpbWUgKyBhZGRpdGlvbmFsUmVsZWFzZVRpbWU7CiAgICAgICAgICAgICAgICAg
ZGF0YS5hbmltYXRpb25UaW1lID0gZGVsdGFUaW1lICsgY29hc3RNaW5UaW1lTGVmdDsKICAgICAg
ICAgICAgICAgICB0aW1lTGVmdCA9IGNvYXN0TWluVGltZUxlZnQ7CkBAIC0zMzYsNDMgKzMzNiw0
MyBAQCBib29sIFNjcm9sbEFuaW1hdGlvblNtb290aDo6dXBkYXRlUGVyQXhpc0RhdGEoUGVyQXhp
c0RhdGEmIGRhdGEsIFNjcm9sbEdyYW51bGFyaQogICAgICAgICB9CiAgICAgfQogCi0gICAgZG91
YmxlIHJlbGVhc2VUaW1lTGVmdCA9IHN0ZDo6bWluKHRpbWVMZWZ0LCBkYXRhLnJlbGVhc2VUaW1l
KTsKLSAgICBkb3VibGUgc3VzdGFpblRpbWVMZWZ0ID0gc3RkOjptYXgoMC4sIHRpbWVMZWZ0IC0g
cmVsZWFzZVRpbWVMZWZ0IC0gYXR0YWNrVGltZUxlZnQpOworICAgIFNlY29uZHMgcmVsZWFzZVRp
bWVMZWZ0ID0gc3RkOjptaW4odGltZUxlZnQsIGRhdGEucmVsZWFzZVRpbWUpOworICAgIFNlY29u
ZHMgc3VzdGFpblRpbWVMZWZ0ID0gc3RkOjptYXgoMF9zLCB0aW1lTGVmdCAtIHJlbGVhc2VUaW1l
TGVmdCAtIGF0dGFja1RpbWVMZWZ0KTsKICAgICBpZiAoYXR0YWNrVGltZUxlZnQpIHsKLSAgICAg
ICAgZG91YmxlIGF0dGFja1Nwb3QgPSBkZWx0YVRpbWUgLyBkYXRhLmF0dGFja1RpbWU7Ci0gICAg
ICAgIGF0dGFja0FyZWFMZWZ0ID0gYXR0YWNrQXJlYShDdXJ2ZTo6Q3ViaWMsIGF0dGFja1Nwb3Qs
IDEpICogZGF0YS5hdHRhY2tUaW1lOworICAgICAgICBkb3VibGUgYXR0YWNrU3BvdCA9IChkZWx0
YVRpbWUgLyBkYXRhLmF0dGFja1RpbWUpLnZhbHVlKCk7CisgICAgICAgIGF0dGFja0FyZWFMZWZ0
ID0gYXR0YWNrQXJlYShDdXJ2ZTo6Q3ViaWMsIGF0dGFja1Nwb3QsIDEpICogZGF0YS5hdHRhY2tU
aW1lLnZhbHVlKCk7CiAgICAgfQogCi0gICAgZG91YmxlIHJlbGVhc2VTcG90ID0gKGRhdGEucmVs
ZWFzZVRpbWUgLSByZWxlYXNlVGltZUxlZnQpIC8gZGF0YS5yZWxlYXNlVGltZTsKLSAgICBkb3Vi
bGUgcmVsZWFzZUFyZWFMZWZ0ID0gcmVsZWFzZUFyZWEoQ3VydmU6OkN1YmljLCByZWxlYXNlU3Bv
dCwgMSkgKiBkYXRhLnJlbGVhc2VUaW1lOworICAgIGRvdWJsZSByZWxlYXNlU3BvdCA9ICgoZGF0
YS5yZWxlYXNlVGltZSAtIHJlbGVhc2VUaW1lTGVmdCkgLyBkYXRhLnJlbGVhc2VUaW1lKS52YWx1
ZSgpOworICAgIGRvdWJsZSByZWxlYXNlQXJlYUxlZnQgPSByZWxlYXNlQXJlYShDdXJ2ZTo6Q3Vi
aWMsIHJlbGVhc2VTcG90LCAxKSAqIGRhdGEucmVsZWFzZVRpbWUudmFsdWUoKTsKIAotICAgIGRh
dGEuZGVzaXJlZFZlbG9jaXR5ID0gcmVtYWluaW5nRGVsdGEgLyAoYXR0YWNrQXJlYUxlZnQgKyBz
dXN0YWluVGltZUxlZnQgKyByZWxlYXNlQXJlYUxlZnQpOworICAgIGRhdGEuZGVzaXJlZFZlbG9j
aXR5ID0gcmVtYWluaW5nRGVsdGEgLyAoYXR0YWNrQXJlYUxlZnQgKyBzdXN0YWluVGltZUxlZnQu
dmFsdWUoKSArIHJlbGVhc2VBcmVhTGVmdCk7CiAgICAgZGF0YS5yZWxlYXNlUG9zaXRpb24gPSBk
YXRhLmRlc2lyZWRQb3NpdGlvbiAtIGRhdGEuZGVzaXJlZFZlbG9jaXR5ICogcmVsZWFzZUFyZWFM
ZWZ0OwogICAgIGlmIChhdHRhY2tBcmVhTGVmdCkKICAgICAgICAgZGF0YS5hdHRhY2tQb3NpdGlv
biA9IGRhdGEuc3RhcnRQb3NpdGlvbiArIGRhdGEuZGVzaXJlZFZlbG9jaXR5ICogYXR0YWNrQXJl
YUxlZnQ7CiAgICAgZWxzZQotICAgICAgICBkYXRhLmF0dGFja1Bvc2l0aW9uID0gZGF0YS5yZWxl
YXNlUG9zaXRpb24gLSAoZGF0YS5hbmltYXRpb25UaW1lIC0gZGF0YS5yZWxlYXNlVGltZSAtIGRh
dGEuYXR0YWNrVGltZSkgKiBkYXRhLmRlc2lyZWRWZWxvY2l0eTsKKyAgICAgICAgZGF0YS5hdHRh
Y2tQb3NpdGlvbiA9IGRhdGEucmVsZWFzZVBvc2l0aW9uIC0gKGRhdGEuYW5pbWF0aW9uVGltZSAt
IGRhdGEucmVsZWFzZVRpbWUgLSBkYXRhLmF0dGFja1RpbWUpLnZhbHVlKCkgKiBkYXRhLmRlc2ly
ZWRWZWxvY2l0eTsKIAogICAgIGlmIChzdXN0YWluVGltZUxlZnQpIHsKLSAgICAgICAgZG91Ymxl
IHJvdW5kT2ZmID0gZGF0YS5yZWxlYXNlUG9zaXRpb24gLSAoKGF0dGFja0FyZWFMZWZ0ID8gZGF0
YS5hdHRhY2tQb3NpdGlvbiA6IGRhdGEuY3VycmVudFBvc2l0aW9uKSArIGRhdGEuZGVzaXJlZFZl
bG9jaXR5ICogc3VzdGFpblRpbWVMZWZ0KTsKLSAgICAgICAgZGF0YS5kZXNpcmVkVmVsb2NpdHkg
Kz0gcm91bmRPZmYgLyBzdXN0YWluVGltZUxlZnQ7CisgICAgICAgIGRvdWJsZSByb3VuZE9mZiA9
IGRhdGEucmVsZWFzZVBvc2l0aW9uIC0gKChhdHRhY2tBcmVhTGVmdCA/IGRhdGEuYXR0YWNrUG9z
aXRpb24gOiBkYXRhLmN1cnJlbnRQb3NpdGlvbikgKyBkYXRhLmRlc2lyZWRWZWxvY2l0eSAqIHN1
c3RhaW5UaW1lTGVmdC52YWx1ZSgpKTsKKyAgICAgICAgZGF0YS5kZXNpcmVkVmVsb2NpdHkgKz0g
cm91bmRPZmYgLyBzdXN0YWluVGltZUxlZnQudmFsdWUoKTsKICAgICB9CiAKICAgICByZXR1cm4g
dHJ1ZTsKIH0KIAotYm9vbCBTY3JvbGxBbmltYXRpb25TbW9vdGg6OmFuaW1hdGVTY3JvbGwoUGVy
QXhpc0RhdGEmIGRhdGEsIGRvdWJsZSBjdXJyZW50VGltZSkKK2Jvb2wgU2Nyb2xsQW5pbWF0aW9u
U21vb3RoOjphbmltYXRlU2Nyb2xsKFBlckF4aXNEYXRhJiBkYXRhLCBNb25vdG9uaWNUaW1lIGN1
cnJlbnRUaW1lKQogewogICAgIGlmICghZGF0YS5zdGFydFRpbWUpCiAgICAgICAgIHJldHVybiBm
YWxzZTsKIAotICAgIGRvdWJsZSBsYXN0U2Nyb2xsSW50ZXJ2YWwgPSBjdXJyZW50VGltZSAtIGRh
dGEubGFzdEFuaW1hdGlvblRpbWU7CisgICAgU2Vjb25kcyBsYXN0U2Nyb2xsSW50ZXJ2YWwgPSBj
dXJyZW50VGltZSAtIGRhdGEubGFzdEFuaW1hdGlvblRpbWU7CiAgICAgaWYgKGxhc3RTY3JvbGxJ
bnRlcnZhbCA8IG1pbmltdW1UaW1lckludGVydmFsKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAog
ICAgIGRhdGEubGFzdEFuaW1hdGlvblRpbWUgPSBjdXJyZW50VGltZTsKIAotICAgIGRvdWJsZSBk
ZWx0YVRpbWUgPSBjdXJyZW50VGltZSAtIGRhdGEuc3RhcnRUaW1lOworICAgIFNlY29uZHMgZGVs
dGFUaW1lID0gY3VycmVudFRpbWUgLSBkYXRhLnN0YXJ0VGltZTsKICAgICBkb3VibGUgbmV3UG9z
aXRpb24gPSBkYXRhLmN1cnJlbnRQb3NpdGlvbjsKIAogICAgIGlmIChkZWx0YVRpbWUgPiBkYXRh
LmFuaW1hdGlvblRpbWUpIHsKQEAgLTM4MCwxOCArMzgwLDE4IEBAIGJvb2wgU2Nyb2xsQW5pbWF0
aW9uU21vb3RoOjphbmltYXRlU2Nyb2xsKFBlckF4aXNEYXRhJiBkYXRhLCBkb3VibGUgY3VycmVu
dFRpbWUpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAgICAgaWYgKGRlbHRhVGltZSA8
IGRhdGEuYXR0YWNrVGltZSkKLSAgICAgICAgbmV3UG9zaXRpb24gPSBhdHRhY2tDdXJ2ZShDdXJ2
ZTo6Q3ViaWMsIGRlbHRhVGltZSwgZGF0YS5hdHRhY2tUaW1lLCBkYXRhLnN0YXJ0UG9zaXRpb24s
IGRhdGEuYXR0YWNrUG9zaXRpb24pOworICAgICAgICBuZXdQb3NpdGlvbiA9IGF0dGFja0N1cnZl
KEN1cnZlOjpDdWJpYywgZGVsdGFUaW1lLnZhbHVlKCksIGRhdGEuYXR0YWNrVGltZS52YWx1ZSgp
LCBkYXRhLnN0YXJ0UG9zaXRpb24sIGRhdGEuYXR0YWNrUG9zaXRpb24pOwogICAgIGVsc2UgaWYg
KGRlbHRhVGltZSA8IChkYXRhLmFuaW1hdGlvblRpbWUgLSBkYXRhLnJlbGVhc2VUaW1lKSkKLSAg
ICAgICAgbmV3UG9zaXRpb24gPSBkYXRhLmF0dGFja1Bvc2l0aW9uICsgKGRlbHRhVGltZSAtIGRh
dGEuYXR0YWNrVGltZSkgKiBkYXRhLmRlc2lyZWRWZWxvY2l0eTsKKyAgICAgICAgbmV3UG9zaXRp
b24gPSBkYXRhLmF0dGFja1Bvc2l0aW9uICsgKGRlbHRhVGltZSAtIGRhdGEuYXR0YWNrVGltZSku
dmFsdWUoKSAqIGRhdGEuZGVzaXJlZFZlbG9jaXR5OwogICAgIGVsc2UgewogICAgICAgICAvLyBy
ZWxlYXNlIGlzIGJhc2VkIG9uIHRhcmdldGluZyB0aGUgZXhhY3QgZmluYWwgcG9zaXRpb24uCi0g
ICAgICAgIGRvdWJsZSByZWxlYXNlRGVsdGFUID0gZGVsdGFUaW1lIC0gKGRhdGEuYW5pbWF0aW9u
VGltZSAtIGRhdGEucmVsZWFzZVRpbWUpOwotICAgICAgICBuZXdQb3NpdGlvbiA9IHJlbGVhc2VD
dXJ2ZShDdXJ2ZTo6Q3ViaWMsIHJlbGVhc2VEZWx0YVQsIGRhdGEucmVsZWFzZVRpbWUsIGRhdGEu
cmVsZWFzZVBvc2l0aW9uLCBkYXRhLmRlc2lyZWRQb3NpdGlvbik7CisgICAgICAgIFNlY29uZHMg
cmVsZWFzZURlbHRhVCA9IGRlbHRhVGltZSAtIChkYXRhLmFuaW1hdGlvblRpbWUgLSBkYXRhLnJl
bGVhc2VUaW1lKTsKKyAgICAgICAgbmV3UG9zaXRpb24gPSByZWxlYXNlQ3VydmUoQ3VydmU6OkN1
YmljLCByZWxlYXNlRGVsdGFULnZhbHVlKCksIGRhdGEucmVsZWFzZVRpbWUsIGRhdGEucmVsZWFz
ZVBvc2l0aW9uLCBkYXRhLmRlc2lyZWRQb3NpdGlvbik7CiAgICAgfQogCiAgICAgLy8gTm9ybWFs
aXplIHZlbG9jaXR5IHRvIGEgcGVyIHNlY29uZCBhbW91bnQuIENvdWxkIGJlIHVzZWQgdG8gY2hl
Y2sgZm9yIGphbmsuCi0gICAgaWYgKGxhc3RTY3JvbGxJbnRlcnZhbCA+IDApCi0gICAgICAgIGRh
dGEuY3VycmVudFZlbG9jaXR5ID0gKG5ld1Bvc2l0aW9uIC0gZGF0YS5jdXJyZW50UG9zaXRpb24p
IC8gbGFzdFNjcm9sbEludGVydmFsOworICAgIGlmIChsYXN0U2Nyb2xsSW50ZXJ2YWwgPiAwX3Mp
CisgICAgICAgIGRhdGEuY3VycmVudFZlbG9jaXR5ID0gKG5ld1Bvc2l0aW9uIC0gZGF0YS5jdXJy
ZW50UG9zaXRpb24pIC8gbGFzdFNjcm9sbEludGVydmFsLnZhbHVlKCk7CiAgICAgZGF0YS5jdXJy
ZW50UG9zaXRpb24gPSBuZXdQb3NpdGlvbjsKIAogICAgIHJldHVybiB0cnVlOwpAQCAtMzk5LDgg
KzM5OSw4IEBAIGJvb2wgU2Nyb2xsQW5pbWF0aW9uU21vb3RoOjphbmltYXRlU2Nyb2xsKFBlckF4
aXNEYXRhJiBkYXRhLCBkb3VibGUgY3VycmVudFRpbWUpCiAKIHZvaWQgU2Nyb2xsQW5pbWF0aW9u
U21vb3RoOjphbmltYXRpb25UaW1lckZpcmVkKCkKIHsKLSAgICBkb3VibGUgY3VycmVudFRpbWUg
PSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKLSAgICBkb3VibGUgZGVsdGFUb05leHRG
cmFtZSA9IGNlaWwoKGN1cnJlbnRUaW1lIC0gbV9zdGFydFRpbWUpICogZnJhbWVSYXRlKSAvIGZy
YW1lUmF0ZSAtIChjdXJyZW50VGltZSAtIG1fc3RhcnRUaW1lKTsKKyAgICBNb25vdG9uaWNUaW1l
IGN1cnJlbnRUaW1lID0gTW9ub3RvbmljVGltZTo6bm93KCk7CisgICAgU2Vjb25kcyBkZWx0YVRv
TmV4dEZyYW1lID0gMV9zICogY2VpbCgoY3VycmVudFRpbWUgLSBtX3N0YXJ0VGltZSkgKiBmcmFt
ZVJhdGUpIC8gZnJhbWVSYXRlIC0gKGN1cnJlbnRUaW1lIC0gbV9zdGFydFRpbWUpOwogICAgIGN1
cnJlbnRUaW1lICs9IGRlbHRhVG9OZXh0RnJhbWU7CiAKICAgICBib29sIGNvbnRpbnVlQW5pbWF0
aW9uID0gZmFsc2U7CkBAIC00MjIsNyArNDIyLDcgQEAgdm9pZCBTY3JvbGxBbmltYXRpb25TbW9v
dGg6OmFuaW1hdGlvblRpbWVyRmlyZWQoKQogfQogCiAjaWYgVVNFKFJFUVVFU1RfQU5JTUFUSU9O
X0ZSQU1FX1RJTUVSKQotdm9pZCBTY3JvbGxBbmltYXRpb25TbW9vdGg6OnN0YXJ0TmV4dFRpbWVy
KGRvdWJsZSBkZWxheSkKK3ZvaWQgU2Nyb2xsQW5pbWF0aW9uU21vb3RoOjpzdGFydE5leHRUaW1l
cihTZWNvbmRzIGRlbGF5KQogewogICAgIG1fYW5pbWF0aW9uVGltZXIuc3RhcnRPbmVTaG90KGRl
bGF5KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1h
dGlvblNtb290aC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21v
b3RoLmgKaW5kZXggZWJhOWRiMmU5NDcyZGFiZDI2YjQxZTNkYTY5YjM2MGY4NWM4MzAyZC4uMDNk
YjJhZTJjNmJiY2Y0MDYzOWNjZGY4YTMyYmZjMGQxYTU4ZjI1ZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmgKQEAgLTc2LDI5ICs3NiwyOSBA
QCBwcml2YXRlOgogICAgICAgICBkb3VibGUgZGVzaXJlZFZlbG9jaXR5IHsgMCB9OwogCiAgICAg
ICAgIGRvdWJsZSBzdGFydFBvc2l0aW9uIHsgMCB9OwotICAgICAgICBkb3VibGUgc3RhcnRUaW1l
IHsgMCB9OworICAgICAgICBNb25vdG9uaWNUaW1lIHN0YXJ0VGltZTsKICAgICAgICAgZG91Ymxl
IHN0YXJ0VmVsb2NpdHkgeyAwIH07CiAKLSAgICAgICAgZG91YmxlIGFuaW1hdGlvblRpbWUgeyAw
IH07Ci0gICAgICAgIGRvdWJsZSBsYXN0QW5pbWF0aW9uVGltZSB7IDAgfTsKKyAgICAgICAgU2Vj
b25kcyBhbmltYXRpb25UaW1lOworICAgICAgICBNb25vdG9uaWNUaW1lIGxhc3RBbmltYXRpb25U
aW1lOwogCiAgICAgICAgIGRvdWJsZSBhdHRhY2tQb3NpdGlvbiB7IDAgfTsKLSAgICAgICAgZG91
YmxlIGF0dGFja1RpbWUgeyAwIH07CisgICAgICAgIFNlY29uZHMgYXR0YWNrVGltZTsKICAgICAg
ICAgQ3VydmUgYXR0YWNrQ3VydmUgeyBDdXJ2ZTo6UXVhZHJhdGljIH07CiAKICAgICAgICAgZG91
YmxlIHJlbGVhc2VQb3NpdGlvbiB7IDAgfTsKLSAgICAgICAgZG91YmxlIHJlbGVhc2VUaW1lIHsg
MCB9OworICAgICAgICBTZWNvbmRzIHJlbGVhc2VUaW1lOwogICAgICAgICBDdXJ2ZSByZWxlYXNl
Q3VydmUgeyBDdXJ2ZTo6UXVhZHJhdGljIH07CiAKICAgICAgICAgaW50IHZpc2libGVMZW5ndGgg
eyAwIH07CiAgICAgfTsKIAogICAgIGJvb2wgdXBkYXRlUGVyQXhpc0RhdGEoUGVyQXhpc0RhdGEm
LCBTY3JvbGxHcmFudWxhcml0eSwgZmxvYXQgZGVsdGEsIGZsb2F0IG1pblNjcm9sbFBvc2l0aW9u
LCBmbG9hdCBtYXhTY3JvbGxQb3NpdGlvbik7Ci0gICAgYm9vbCBhbmltYXRlU2Nyb2xsKFBlckF4
aXNEYXRhJiwgZG91YmxlIGN1cnJlbnRUaW1lKTsKKyAgICBib29sIGFuaW1hdGVTY3JvbGwoUGVy
QXhpc0RhdGEmLCBNb25vdG9uaWNUaW1lIGN1cnJlbnRUaW1lKTsKIAogI2lmIFVTRShSRVFVRVNU
X0FOSU1BVElPTl9GUkFNRV9USU1FUikKICAgICB2b2lkIHJlcXVlc3RBbmltYXRpb25UaW1lckZp
cmVkKCk7Ci0gICAgdm9pZCBzdGFydE5leHRUaW1lcihkb3VibGUgZGVsYXkpOworICAgIHZvaWQg
c3RhcnROZXh0VGltZXIoU2Vjb25kcyBkZWxheSk7CiAjZWxzZQogICAgIHZvaWQgc3RhcnROZXh0
VGltZXIoKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGlt
ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmgKaW5kZXggMDUxNzRiNGYxNGIz
NjgyZThkN2JkY2ZhMzQ1Yzg0NmE4Zjk2YjUyNy4uNTJkZWJhODE1Yjg3ZWM2MWUxYjEzNjIyOTQ4
NjEzYTg2ZjJmYzgwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5oCkBAIC01NSw4ICs1NSw2IEBA
IHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHN0YXJ0KFNlY29uZHMgbmV4dEZpcmVJ
bnRlcnZhbCwgU2Vjb25kcyByZXBlYXRJbnRlcnZhbCk7CiAKICAgICB2b2lkIHN0YXJ0UmVwZWF0
aW5nKFNlY29uZHMgcmVwZWF0SW50ZXJ2YWwpIHsgc3RhcnQocmVwZWF0SW50ZXJ2YWwsIHJlcGVh
dEludGVydmFsKTsgfQotCi0gICAgdm9pZCBzdGFydE9uZVNob3QoZG91YmxlIGludGVydmFsKSB7
IHN0YXJ0T25lU2hvdChTZWNvbmRzIHsgaW50ZXJ2YWwgfSk7IH0KICAgICB2b2lkIHN0YXJ0T25l
U2hvdChTZWNvbmRzIGludGVydmFsKSB7IHN0YXJ0KGludGVydmFsLCAwX3MpOyB9CiAKICAgICBX
RUJDT1JFX0VYUE9SVCB2b2lkIHN0b3AoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmNwcAppbmRleCA1NjlhNWI5ZTA2ZWQ5
NmM2ZDBkNzBjNjViOGM1MDFhMzM5Zjc2N2Q5Li4wMmQxMDk5MTQxZTQyZTIxN2I1MmEyNmMzMjI5
ODlmYjJkOGUxOTgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9Q
bGF0Zm9ybU1lZGlhU2Vzc2lvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVk
aW8vUGxhdGZvcm1NZWRpYVNlc3Npb24uY3BwCkBAIC0zNCw3ICszNCw3IEBACiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAotY29uc3QgZG91YmxlIGtDbGllbnREYXRhQnVmZmVyaW5nVGltZXJUaHJv
dHRsZURlbGF5ID0gMC4xOworc3RhdGljIGNvbnN0IFNlY29uZHMgY2xpZW50RGF0YUJ1ZmZlcmlu
Z1RpbWVyVGhyb3R0bGVEZWxheSB7IDEwMF9tcyB9OwogCiAjaWYgIUxPR19ESVNBQkxFRAogc3Rh
dGljIGNvbnN0IGNoYXIqIHN0YXRlTmFtZShQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6U3RhdGUgc3Rh
dGUpCkBAIC0yNjAsNyArMjYwLDcgQEAgdm9pZCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6dmlzaWJp
bGl0eUNoYW5nZWQoKQogdm9pZCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6c2NoZWR1bGVDbGllbnRE
YXRhQnVmZmVyaW5nQ2hlY2soKQogewogICAgIGlmICghbV9jbGllbnREYXRhQnVmZmVyaW5nVGlt
ZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9jbGllbnREYXRhQnVmZmVyaW5nVGltZXIuc3RhcnRP
bmVTaG90KGtDbGllbnREYXRhQnVmZmVyaW5nVGltZXJUaHJvdHRsZURlbGF5KTsKKyAgICAgICAg
bV9jbGllbnREYXRhQnVmZmVyaW5nVGltZXIuc3RhcnRPbmVTaG90KGNsaWVudERhdGFCdWZmZXJp
bmdUaW1lclRocm90dGxlRGVsYXkpOwogfQogCiB2b2lkIFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpj
bGllbnREYXRhQnVmZmVyaW5nVGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9jb2NvYS9TY3JvbGxDb250cm9sbGVyLm1tIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vY29jb2EvU2Nyb2xsQ29udHJvbGxlci5tbQppbmRleCAxZThmN2RmZDg3ZWEzMzk3OGRl
Zjk0YmZkYWM3ZTJiZGExNWZiYWEyLi5lZTNlNTM3ZmI4YzJiNjg3MGU2MWRmZDIzOTc2MDdlYzdm
MWY0YjFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9TY3JvbGxD
b250cm9sbGVyLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1Njcm9sbENv
bnRyb2xsZXIubW0KQEAgLTQ5MCw3ICs0OTAsNyBAQCB2b2lkIFNjcm9sbENvbnRyb2xsZXI6OnNj
aGVkdWxlU3RhdGVsZXNzU2Nyb2xsU25hcCgpCiAgICAgICAgIHJldHVybjsKIAogICAgIHN0YXRp
YyBjb25zdCBTZWNvbmRzIHN0YXRlbGVzc1Njcm9sbFNuYXBEZWxheSA9IDc1MF9tczsKLSAgICBt
X3N0YXRlbGVzc1NuYXBUcmFuc2l0aW9uVGltZXIuc3RhcnRPbmVTaG90KHN0YXRlbGVzc1Njcm9s
bFNuYXBEZWxheS52YWx1ZSgpKTsKKyAgICBtX3N0YXRlbGVzc1NuYXBUcmFuc2l0aW9uVGltZXIu
c3RhcnRPbmVTaG90KHN0YXRlbGVzc1Njcm9sbFNuYXBEZWxheSk7CiAgICAgc3RhcnREZWZlcnJp
bmdUZXN0c0R1ZVRvU2Nyb2xsU25hcHBpbmcoKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9jb2NvYS9HYW1lQ29udHJvbGxlckdhbWVwYWRQcm92aWRl
ci5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvY29jb2EvR2FtZUNvbnRyb2xs
ZXJHYW1lcGFkUHJvdmlkZXIubW0KaW5kZXggNTE1ZjNlNGViMWY5NjQ0YWQ0ZDdhYWRiYWRlNmM1
ZjEwOTBmMzc2NS4uMTBlNzc0NTcwYzE2YzMyODAzYzlkYzZmZTdjNjNhZjQwZTY5YWIxMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9jb2NvYS9HYW1lQ29udHJv
bGxlckdhbWVwYWRQcm92aWRlci5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nYW1l
cGFkL2NvY29hL0dhbWVDb250cm9sbGVyR2FtZXBhZFByb3ZpZGVyLm1tCkBAIC00MCw3ICs0MCw3
IEBAIFNPRlRfTElOS19DT05TVEFOVF9NQVlfRkFJTChHYW1lQ29udHJvbGxlciwgR0NDb250cm9s
bGVyRGlkRGlzY29ubmVjdE5vdGlmaWNhdGlvCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3Rh
dGljIGNvbnN0IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgSW5wdXROb3RpZmljYXRpb25EZWxh
eSA9IDE2bXM7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBpbnB1dE5vdGlmaWNhdGlvbkRlbGF5IHsg
MTZfbXMgfTsKIAogR2FtZUNvbnRyb2xsZXJHYW1lcGFkUHJvdmlkZXImIEdhbWVDb250cm9sbGVy
R2FtZXBhZFByb3ZpZGVyOjpzaW5nbGV0b24oKQogewpAQCAtMTQ0LDcgKzE0NCw3IEBAIHVuc2ln
bmVkIEdhbWVDb250cm9sbGVyR2FtZXBhZFByb3ZpZGVyOjppbmRleEZvck5ld2x5Q29ubmVjdGVk
RGV2aWNlKCkKIHZvaWQgR2FtZUNvbnRyb2xsZXJHYW1lcGFkUHJvdmlkZXI6OmdhbWVwYWRIYWRJ
bnB1dChHYW1lQ29udHJvbGxlckdhbWVwYWQmLCBib29sIGhhZEJ1dHRvblByZXNzZXMpCiB7CiAg
ICAgaWYgKCFtX2lucHV0Tm90aWZpY2F0aW9uVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9p
bnB1dE5vdGlmaWNhdGlvblRpbWVyLnN0YXJ0T25lU2hvdChJbnB1dE5vdGlmaWNhdGlvbkRlbGF5
KTsKKyAgICAgICAgbV9pbnB1dE5vdGlmaWNhdGlvblRpbWVyLnN0YXJ0T25lU2hvdChpbnB1dE5v
dGlmaWNhdGlvbkRlbGF5KTsKIAogICAgIGlmIChoYWRCdXR0b25QcmVzc2VzKQogICAgICAgICBt
X3Nob3VsZE1ha2VJbnZpc2liaWxlR2FtZXBhZHNWaXNpYmxlID0gdHJ1ZTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvbWFjL0hJREdhbWVwYWRQcm92aWRlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nYW1lcGFkL21hYy9ISURHYW1lcGFkUHJvdmlk
ZXIuY3BwCmluZGV4IDAwMjY2NGNhYTJhMjdiMmM0YzkzOTI0YTBkODEyMzlmYWE1YzQxNDQuLjJl
MjI5OTI2OWMyYWM2MmRlYTA3ZDQ5MzYzMGQ4ZTA0NDhmNWFlNGQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvbWFjL0hJREdhbWVwYWRQcm92aWRlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9tYWMvSElER2FtZXBhZFByb3ZpZGVy
LmNwcApAQCAtMzQsOCArMzQsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBj
b25zdCBkb3VibGUgQ29ubmVjdGlvbkRlbGF5SW50ZXJ2YWwgPSAwLjU7Ci1zdGF0aWMgY29uc3Qg
ZG91YmxlIElucHV0Tm90aWZpY2F0aW9uRGVsYXkgPSAwLjA1Oworc3RhdGljIGNvbnN0IFNlY29u
ZHMgY29ubmVjdGlvbkRlbGF5SW50ZXJ2YWwgeyA1MDBfbXMgfTsKK3N0YXRpYyBjb25zdCBTZWNv
bmRzIGlucHV0Tm90aWZpY2F0aW9uRGVsYXkgeyA1MF9tcyB9OwogCiBzdGF0aWMgUmV0YWluUHRy
PENGRGljdGlvbmFyeVJlZj4gZGV2aWNlTWF0Y2hpbmdEaWN0aW9uYXJ5KHVpbnQzMl90IHVzYWdl
UGFnZSwgdWludDMyX3QgdXNhZ2UpCiB7CkBAIC0xNDIsOSArMTQyLDkgQEAgdm9pZCBISURHYW1l
cGFkUHJvdmlkZXI6Om9wZW5BbmRTY2hlZHVsZU1hbmFnZXIoKQogICAgIElPSElETWFuYWdlclNj
aGVkdWxlV2l0aFJ1bkxvb3AobV9tYW5hZ2VyLmdldCgpLCBDRlJ1bkxvb3BHZXRDdXJyZW50KCks
IGtDRlJ1bkxvb3BEZWZhdWx0TW9kZSk7CiAgICAgSU9ISURNYW5hZ2VyT3BlbihtX21hbmFnZXIu
Z2V0KCksIGtJT0hJRE9wdGlvbnNUeXBlTm9uZSk7CiAKLSAgICAvLyBBbnkgY29ubmVjdGlvbnMg
d2UgYXJlIG5vdGlmaWVkIG9mIHdpdGhpbiB0aGUgQ29ubmVjdGlvbkRlbGF5SW50ZXJ2YWwgb2Yg
bGlzdGVuaW5nIGxpa2VseSByZXByZXNlbnQKKyAgICAvLyBBbnkgY29ubmVjdGlvbnMgd2UgYXJl
IG5vdGlmaWVkIG9mIHdpdGhpbiB0aGUgY29ubmVjdGlvbkRlbGF5SW50ZXJ2YWwgb2YgbGlzdGVu
aW5nIGxpa2VseSByZXByZXNlbnQKICAgICAvLyBkZXZpY2VzIHRoYXQgd2VyZSBhbHJlYWR5IGNv
bm5lY3RlZCwgc28gd2Ugc3VwcHJlc3Mgbm90aWZ5aW5nIGNsaWVudHMgb2YgdGhlc2UuCi0gICAg
bV9jb25uZWN0aW9uRGVsYXlUaW1lci5zdGFydE9uZVNob3QoQ29ubmVjdGlvbkRlbGF5SW50ZXJ2
YWwpOworICAgIG1fY29ubmVjdGlvbkRlbGF5VGltZXIuc3RhcnRPbmVTaG90KGNvbm5lY3Rpb25E
ZWxheUludGVydmFsKTsKIH0KIAogdm9pZCBISURHYW1lcGFkUHJvdmlkZXI6OmNsb3NlQW5kVW5z
Y2hlZHVsZU1hbmFnZXIoKQpAQCAtMjQzLDcgKzI0Myw3IEBAIHZvaWQgSElER2FtZXBhZFByb3Zp
ZGVyOjp2YWx1ZXNDaGFuZ2VkKElPSElEVmFsdWVSZWYgdmFsdWUpCiAgICAgLy8gVGhpcyBpc0Fj
dGl2ZSBjaGVjayBpcyBuZWNlc3NhcnkgYXMgd2Ugd2FudCB0byBkZWxheSBpbnB1dCBub3RpZmlj
YXRpb25zIGZyb20gdGhlIHRpbWUgb2YgdGhlIGZpcnN0IGlucHV0LAogICAgIC8vIGFuZCBub3Qg
cHVzaCB0aGUgbm90aWZpY2F0aW9uIG91dCBvbiBldmVyeSBzdWJzZXF1ZW50IGlucHV0LgogICAg
IGlmICghbV9pbnB1dE5vdGlmaWNhdGlvblRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1faW5w
dXROb3RpZmljYXRpb25UaW1lci5zdGFydE9uZVNob3QoSW5wdXROb3RpZmljYXRpb25EZWxheSk7
CisgICAgICAgIG1faW5wdXROb3RpZmljYXRpb25UaW1lci5zdGFydE9uZVNob3QoaW5wdXROb3Rp
ZmljYXRpb25EZWxheSk7CiB9CiAKIHZvaWQgSElER2FtZXBhZFByb3ZpZGVyOjppbnB1dE5vdGlm
aWNhdGlvblRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z2xpYi9NYWluVGhyZWFkU2hhcmVkVGltZXJHTGliLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dsaWIvTWFpblRocmVhZFNoYXJlZFRpbWVyR0xpYi5jcHAKaW5kZXggNGFmZTI5ZGMwYjZk
ODViOWQ2NGM1NDViZTc5MGMwYjg4MTczY2NiOS4uMjE0Nzc0MDliOTFlYWQ3MmYxYmY3YzU0YjJj
OTJmZGZhMzRiNmIxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2xpYi9N
YWluVGhyZWFkU2hhcmVkVGltZXJHTGliLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9nbGliL01haW5UaHJlYWRTaGFyZWRUaW1lckdMaWIuY3BwCkBAIC00MSw3ICs0MSw3IEBAIE1h
aW5UaHJlYWRTaGFyZWRUaW1lcjo6TWFpblRocmVhZFNoYXJlZFRpbWVyKCkKIHZvaWQgTWFpblRo
cmVhZFNoYXJlZFRpbWVyOjpzZXRGaXJlSW50ZXJ2YWwoU2Vjb25kcyBpbnRlcnZhbCkKIHsKICAg
ICBBU1NFUlQobV9maXJlZEZ1bmN0aW9uKTsKLSAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChpbnRl
cnZhbC52YWx1ZSgpKTsKKyAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChpbnRlcnZhbCk7CiB9CiAK
IHZvaWQgTWFpblRocmVhZFNoYXJlZFRpbWVyOjpzdG9wKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmNwcAppbmRleCBjMjNiOWRkYzVhNDczNzJi
NWM0OGFlYzA0MDM3ZjMyZjZhZTdkNjg4Li4xYjk0OWNkYWQ0ZTA1NWM5NmZjOWFlZTBhMTI3YmQw
MWQ1MjQxMTg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9C
aXRtYXBJbWFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0
bWFwSW1hZ2UuY3BwCkBAIC0yODYsNyArMjg2LDcgQEAgdm9pZCBCaXRtYXBJbWFnZTo6Y2xlYXJU
aW1lcigpCiAgICAgbV9mcmFtZVRpbWVyID0gbnVsbHB0cjsKIH0KIAotdm9pZCBCaXRtYXBJbWFn
ZTo6c3RhcnRUaW1lcihkb3VibGUgZGVsYXkpCit2b2lkIEJpdG1hcEltYWdlOjpzdGFydFRpbWVy
KFNlY29uZHMgZGVsYXkpCiB7CiAgICAgQVNTRVJUKCFtX2ZyYW1lVGltZXIpOwogICAgIG1fZnJh
bWVUaW1lciA9IHN0ZDo6bWFrZV91bmlxdWU8VGltZXI+KCp0aGlzLCAmQml0bWFwSW1hZ2U6OmFk
dmFuY2VBbmltYXRpb24pOwpAQCAtMzMyLDE0ICszMzIsMTQgQEAgQml0bWFwSW1hZ2U6OlN0YXJ0
QW5pbWF0aW9uU3RhdHVzIEJpdG1hcEltYWdlOjppbnRlcm5hbFN0YXJ0QW5pbWF0aW9uKCkKICAg
ICBpZiAoIW1fc291cmNlLmlzQWxsRGF0YVJlY2VpdmVkKCkgJiYgIWZyYW1lSXNDb21wbGV0ZUF0
SW5kZXgobmV4dEZyYW1lKSkKICAgICAgICAgcmV0dXJuIFN0YXJ0QW5pbWF0aW9uU3RhdHVzOjpJ
bmNvbXBsZXRlRGF0YTsKIAotICAgIGRvdWJsZSB0aW1lID0gbW9ub3RvbmljYWxseUluY3JlYXNp
bmdUaW1lKCk7CisgICAgTW9ub3RvbmljVGltZSB0aW1lID0gTW9ub3RvbmljVGltZTo6bm93KCk7
CiAKICAgICAvLyBIYW5kbGUgaW5pdGlhbCBzdGF0ZS4KICAgICBpZiAoIW1fZGVzaXJlZEZyYW1l
U3RhcnRUaW1lKQogICAgICAgICBtX2Rlc2lyZWRGcmFtZVN0YXJ0VGltZSA9IHRpbWU7CiAKICAg
ICAvLyBTZXR0aW5nICdtX2Rlc2lyZWRGcmFtZVN0YXJ0VGltZScgdG8gJ3RpbWUnIG1lYW5zIHdl
IGFyZSBsYXRlOyBvdGhlcndpc2Ugd2UgYXJlIGVhcmx5LgotICAgIG1fZGVzaXJlZEZyYW1lU3Rh
cnRUaW1lID0gc3RkOjptYXgodGltZSwgbV9kZXNpcmVkRnJhbWVTdGFydFRpbWUgKyBmcmFtZUR1
cmF0aW9uQXRJbmRleChtX2N1cnJlbnRGcmFtZSkpOworICAgIG1fZGVzaXJlZEZyYW1lU3RhcnRU
aW1lID0gc3RkOjptYXgodGltZSwgbV9kZXNpcmVkRnJhbWVTdGFydFRpbWUgKyBTZWNvbmRzIHsg
ZnJhbWVEdXJhdGlvbkF0SW5kZXgobV9jdXJyZW50RnJhbWUpIH0pOwogCiAgICAgLy8gUmVxdWVz
dCBhc3luYyBkZWNvZGluZyBmb3IgbmV4dEZyYW1lIG9ubHkgaWYgdGhpcyBpcyByZXF1aXJlZC4g
SWYgbmV4dEZyYW1lIGlzIG5vdCBpbiB0aGUgZnJhbWVDYWNoZSwKICAgICAvLyBpdCB3aWxsIGJl
IGRlY29kZWQgb24gYSBzZXBhcmF0ZSB3b3JrIHF1ZXVlLiBXaGVuIGRlY29kaW5nIG5leHRGcmFt
ZSBmaW5pc2hlcywgd2Ugd2lsbCBiZSBub3RpZmllZApAQCAtMzU3LDcgKzM1Nyw3IEBAIEJpdG1h
cEltYWdlOjpTdGFydEFuaW1hdGlvblN0YXR1cyBCaXRtYXBJbWFnZTo6aW50ZXJuYWxTdGFydEFu
aW1hdGlvbigpCiAgICAgICAgIFVOVVNFRF9QQVJBTShpc0FzeW5jRGVjb2RlKTsKICNlbmRpZgog
Ci0gICAgICAgIG1fZGVzaXJlZEZyYW1lRGVjb2RlVGltZUZvclRlc3RpbmcgPSB0aW1lICsgc3Rk
OjptYXgobV9mcmFtZURlY29kaW5nRHVyYXRpb25Gb3JUZXN0aW5nLCAwLjBmKTsKKyAgICAgICAg
bV9kZXNpcmVkRnJhbWVEZWNvZGVUaW1lRm9yVGVzdGluZyA9IHRpbWUgKyBzdGQ6Om1heChtX2Zy
YW1lRGVjb2RpbmdEdXJhdGlvbkZvclRlc3RpbmcsIDBfcyk7CiAgICAgICAgIGlmIChtX2NsZWFy
RGVjb2RlckFmdGVyQXN5bmNGcmFtZVJlcXVlc3RGb3JUZXN0aW5nKQogICAgICAgICAgICAgbV9z
b3VyY2UuY2xlYXIoZGF0YSgpKTsKICAgICB9CkBAIC0zNzQsNyArMzc0LDcgQEAgdm9pZCBCaXRt
YXBJbWFnZTo6YWR2YW5jZUFuaW1hdGlvbigpCiAgICAgLy8gUHJldGVuZCBhcyBpZiBkZWNvZGlu
ZyBuZXh0RnJhbWUgaGFzIHRha2VuIG1fZnJhbWVEZWNvZGluZ0R1cmF0aW9uRm9yVGVzdGluZyBm
cm9tCiAgICAgLy8gdGhlIHRpbWUgdGhpcyBkZWNvZGluZyB3YXMgcmVxdWVzdGVkLgogICAgIGlm
IChzaG91bGRVc2VBc3luY0RlY29kaW5nRm9yQW5pbWF0ZWRJbWFnZXNGb3JUZXN0aW5nKCkpIHsK
LSAgICAgICAgZG91YmxlIHRpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKKyAg
ICAgICAgTW9ub3RvbmljVGltZSB0aW1lID0gTW9ub3RvbmljVGltZTo6bm93KCk7CiAgICAgICAg
IC8vIFN0YXJ0IGEgdGltZXIgd2l0aCB0aGUgcmVtYWluaW5nIHRpbWUgZnJvbSBub3cgdGlsbCB0
aGUgbV9kZXNpcmVkRnJhbWVEZWNvZGVUaW1lLgogICAgICAgICBpZiAobV9kZXNpcmVkRnJhbWVE
ZWNvZGVUaW1lRm9yVGVzdGluZyA+IHN0ZDo6bWF4KHRpbWUsIG1fZGVzaXJlZEZyYW1lU3RhcnRU
aW1lKSkgewogICAgICAgICAgICAgc3RhcnRUaW1lcihtX2Rlc2lyZWRGcmFtZURlY29kZVRpbWVG
b3JUZXN0aW5nIC0gdGltZSk7CkBAIC00MjYsNyArNDI2LDcgQEAgdm9pZCBCaXRtYXBJbWFnZTo6
cmVzZXRBbmltYXRpb24oKQogICAgIHN0b3BBbmltYXRpb24oKTsKICAgICBtX2N1cnJlbnRGcmFt
ZSA9IDA7CiAgICAgbV9yZXBldGl0aW9uc0NvbXBsZXRlID0gUmVwZXRpdGlvbkNvdW50Tm9uZTsK
LSAgICBtX2Rlc2lyZWRGcmFtZVN0YXJ0VGltZSA9IDA7CisgICAgbV9kZXNpcmVkRnJhbWVTdGFy
dFRpbWUgPSB7IH07CiAgICAgbV9hbmltYXRpb25GaW5pc2hlZCA9IGZhbHNlOwogCiAgICAgLy8g
Rm9yIGV4dHJlbWVseSBsYXJnZSBhbmltYXRpb25zLCB3aGVuIHRoZSBhbmltYXRpb24gaXMgcmVz
ZXQsIHdlIGp1c3QgdGhyb3cgZXZlcnl0aGluZyBhd2F5LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmgKaW5kZXggNDIyZDZjOTgwYTU3ZjU0NzZmM2Iy
ZTdjMjZkMDYwMGYwZGI5NTQ1Mi4uOGVhMjRkNmJhZmEwMTEyODc3YjUwM2I5N2ZjN2RjYWZkMjVl
NTI1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFw
SW1hZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFn
ZS5oCkBAIC05Nyw4ICs5Nyw4IEBAIHB1YmxpYzoKICAgICBib29sIGN1cnJlbnRGcmFtZUtub3du
VG9CZU9wYXF1ZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuICFmcmFtZUhhc0FscGhhQXRJbmRl
eChjdXJyZW50RnJhbWUoKSk7IH0KICAgICBJbWFnZU9yaWVudGF0aW9uIG9yaWVudGF0aW9uRm9y
Q3VycmVudEZyYW1lKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gZnJhbWVPcmllbnRhdGlvbkF0
SW5kZXgoY3VycmVudEZyYW1lKCkpOyB9CiAKLSAgICBib29sIHNob3VsZFVzZUFzeW5jRGVjb2Rp
bmdGb3JBbmltYXRlZEltYWdlc0ZvclRlc3RpbmcoKSBjb25zdCB7IHJldHVybiBtX2ZyYW1lRGVj
b2RpbmdEdXJhdGlvbkZvclRlc3RpbmcgPiAwOyB9Ci0gICAgdm9pZCBzZXRGcmFtZURlY29kaW5n
RHVyYXRpb25Gb3JUZXN0aW5nKGZsb2F0IGR1cmF0aW9uKSB7IG1fZnJhbWVEZWNvZGluZ0R1cmF0
aW9uRm9yVGVzdGluZyA9IGR1cmF0aW9uOyB9CisgICAgYm9vbCBzaG91bGRVc2VBc3luY0RlY29k
aW5nRm9yQW5pbWF0ZWRJbWFnZXNGb3JUZXN0aW5nKCkgY29uc3QgeyByZXR1cm4gbV9mcmFtZURl
Y29kaW5nRHVyYXRpb25Gb3JUZXN0aW5nID4gMF9zOyB9CisgICAgdm9pZCBzZXRGcmFtZURlY29k
aW5nRHVyYXRpb25Gb3JUZXN0aW5nKFNlY29uZHMgZHVyYXRpb24pIHsgbV9mcmFtZURlY29kaW5n
RHVyYXRpb25Gb3JUZXN0aW5nID0gZHVyYXRpb247IH0KICAgICBib29sIHNob3VsZFVzZUFzeW5j
RGVjb2RpbmdGb3JMYXJnZUltYWdlcygpOwogICAgIGJvb2wgc2hvdWxkVXNlQXN5bmNEZWNvZGlu
Z0ZvckFuaW1hdGVkSW1hZ2VzKCk7CiAgICAgdm9pZCBzZXRDbGVhckRlY29kZXJBZnRlckFzeW5j
RnJhbWVSZXF1ZXN0Rm9yVGVzdGluZyhib29sIHZhbHVlKSB7IG1fY2xlYXJEZWNvZGVyQWZ0ZXJB
c3luY0ZyYW1lUmVxdWVzdEZvclRlc3RpbmcgPSB2YWx1ZTsgfQpAQCAtMTkwLDcgKzE5MCw3IEBA
IHByb3RlY3RlZDoKIAogcHJpdmF0ZToKICAgICB2b2lkIGNsZWFyVGltZXIoKTsKLSAgICB2b2lk
IHN0YXJ0VGltZXIoZG91YmxlIGRlbGF5KTsKKyAgICB2b2lkIHN0YXJ0VGltZXIoU2Vjb25kcyBk
ZWxheSk7CiAgICAgYm9vbCBpc0JpdG1hcEltYWdlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4g
dHJ1ZTsgfQogICAgIHZvaWQgZHVtcChUZXh0U3RyZWFtJikgY29uc3Qgb3ZlcnJpZGU7CiAKQEAg
LTIwNywxMSArMjA3LDExIEBAIHByaXZhdGU6CiAgICAgU3Vic2FtcGxpbmdMZXZlbCBtX2N1cnJl
bnRTdWJzYW1wbGluZ0xldmVsIHsgU3Vic2FtcGxpbmdMZXZlbDo6RGVmYXVsdCB9OwogICAgIHN0
ZDo6dW5pcXVlX3B0cjxUaW1lcj4gbV9mcmFtZVRpbWVyOwogICAgIFJlcGV0aXRpb25Db3VudCBt
X3JlcGV0aXRpb25zQ29tcGxldGUgeyBSZXBldGl0aW9uQ291bnROb25lIH07IC8vIEhvdyBtYW55
IHJlcGV0aXRpb25zIHdlJ3ZlIGZpbmlzaGVkLgotICAgIGRvdWJsZSBtX2Rlc2lyZWRGcmFtZVN0
YXJ0VGltZSB7IDAgfTsgLy8gVGhlIHN5c3RlbSB0aW1lIGF0IHdoaWNoIHdlIGhvcGUgdG8gc2Vl
IHRoZSBuZXh0IGNhbGwgdG8gc3RhcnRBbmltYXRpb24oKS4KKyAgICBNb25vdG9uaWNUaW1lIG1f
ZGVzaXJlZEZyYW1lU3RhcnRUaW1lOyAvLyBUaGUgc3lzdGVtIHRpbWUgYXQgd2hpY2ggd2UgaG9w
ZSB0byBzZWUgdGhlIG5leHQgY2FsbCB0byBzdGFydEFuaW1hdGlvbigpLgogICAgIGJvb2wgbV9h
bmltYXRpb25GaW5pc2hlZCB7IGZhbHNlIH07CiAKLSAgICBmbG9hdCBtX2ZyYW1lRGVjb2RpbmdE
dXJhdGlvbkZvclRlc3RpbmcgeyAwIH07Ci0gICAgZG91YmxlIG1fZGVzaXJlZEZyYW1lRGVjb2Rl
VGltZUZvclRlc3RpbmcgeyAwIH07CisgICAgU2Vjb25kcyBtX2ZyYW1lRGVjb2RpbmdEdXJhdGlv
bkZvclRlc3Rpbmc7CisgICAgTW9ub3RvbmljVGltZSBtX2Rlc2lyZWRGcmFtZURlY29kZVRpbWVG
b3JUZXN0aW5nOwogICAgIGJvb2wgbV9jbGVhckRlY29kZXJBZnRlckFzeW5jRnJhbWVSZXF1ZXN0
Rm9yVGVzdGluZyB7IGZhbHNlIH07CiAjaWYgIUxPR19ESVNBQkxFRAogICAgIHNpemVfdCBtX2xh
dGVGcmFtZUNvdW50IHsgMCB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyLmNwcAppbmRleCA0OTMx
Njg2YjMxNTEyNzcxNjI1MDQ4ODhiNzE1ZTI4MWEyNzU5MjA2Li4zYzY2NTNjMzE4ZDA4MjgyM2Q2
MjdmMGJkNWU4ODkwMzIyOTY1NDZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9NZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyLmNwcApAQCAt
MzMsNyArMzMsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBkb3Vi
bGUgcGVuZGluZ0FjdGlvbkludGVydmFsID0gMS4wIC8gMTAuMDsKK3N0YXRpYyBjb25zdCBTZWNv
bmRzIHBlbmRpbmdBY3Rpb25JbnRlcnZhbCB7IDFfcyAvIDEwLiB9OwogCiBNZWRpYVBsYXliYWNr
VGFyZ2V0UGlja2VyOjpNZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyKENsaWVudCYgY2xpZW50KQog
ICAgIDogbV9jbGllbnQoJmNsaWVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL1NoYWRvd0JsdXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvU2hhZG93Qmx1ci5jcHAKaW5kZXggZjE3YjNmZmU3MzEzMDQwYWIyMWZmYzgwNTAzYjU5
NDEzN2EyMzRiOC4uODdmNDVlNDYwZmRlMDljNGZmZWRlZDJmZTA1MTBkZDQ5ODMxNjVkYyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2hhZG93Qmx1ci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2hhZG93Qmx1ci5jcHAKQEAg
LTEyNCw3ICsxMjQsNyBAQCBwdWJsaWM6CiAgICAgICAgIGlmIChtX3B1cmdlVGltZXIuaXNBY3Rp
dmUoKSkKICAgICAgICAgICAgIG1fcHVyZ2VUaW1lci5zdG9wKCk7CiAKLSAgICAgICAgY29uc3Qg
ZG91YmxlIHNjcmF0Y2hCdWZmZXJQdXJnZUludGVydmFsID0gMjsKKyAgICAgICAgY29uc3QgU2Vj
b25kcyBzY3JhdGNoQnVmZmVyUHVyZ2VJbnRlcnZhbCB7IDJfcyB9OwogICAgICAgICBtX3B1cmdl
VGltZXIuc3RhcnRPbmVTaG90KHNjcmF0Y2hCdWZmZXJQdXJnZUludGVydmFsKTsKICAgICB9CiAg
ICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9MYXll
clBvb2wuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvTGF5ZXJQb29s
LmNwcAppbmRleCAwY2Y3Zjc3ZTYxMWFkMmJkNGViMDcyMzUwMDE4YWRjNGJjZGI4NDVmLi4wY2M0
ZmFjNThhMzA0MmFiNjY4NGNlMTZiZTcwZDRjMjUwYWY5N2E3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9MYXllclBvb2wuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL0xheWVyUG9vbC5jcHAKQEAgLTExMCw3ICsxMTAs
NyBAQCB2b2lkIExheWVyUG9vbDo6c2NoZWR1bGVQcnVuZSgpCiB7CiAgICAgaWYgKG1fcHJ1bmVU
aW1lci5pc0FjdGl2ZSgpKQogICAgICAgICByZXR1cm47Ci0gICAgbV9wcnVuZVRpbWVyLnN0YXJ0
T25lU2hvdCgxKTsKKyAgICBtX3BydW5lVGltZXIuc3RhcnRPbmVTaG90KDFfcyk7CiB9CiAKIHZv
aWQgTGF5ZXJQb29sOjpwcnVuZVRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1l
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQ
bGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAppbmRleCAwNDY2Zjc3MzFkOTM2NmQ5ZjM4NTA3ODE5
MGFmNGU4MGM4NzM3YWY2Li45ZDJhY2Q0ZTFlZDBiMjk3OGZlZWM0Y2M1MDhjZDQ5YjFmY2ZmMGU3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIv
TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcApA
QCAtMzcwLDcgKzM3MCw3IEBAIGJvb2wgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpjaGFu
Z2VQaXBlbGluZVN0YXRlKEdzdFN0YXRlIG5ld1N0YXRlKQogICAgIGlmIChuZXdTdGF0ZSA9PSBH
U1RfU1RBVEVfUkVBRFkgJiYgIW1fcmVhZHlUaW1lckhhbmRsZXIuaXNBY3RpdmUoKSkgewogICAg
ICAgICAvLyBNYXggaW50ZXJ2YWwgaW4gc2Vjb25kcyB0byBzdGF5IGluIHRoZSBSRUFEWSBzdGF0
ZSBvbiBtYW51YWwKICAgICAgICAgLy8gc3RhdGUgY2hhbmdlIHJlcXVlc3RzLgotICAgICAgICBz
dGF0aWMgY29uc3QgZG91YmxlIHJlYWR5U3RhdGVUaW1lckRlbGF5ID0gNjA7CisgICAgICAgIHN0
YXRpYyBjb25zdCBTZWNvbmRzIHJlYWR5U3RhdGVUaW1lckRlbGF5IHsgMV9taW4gfTsKICAgICAg
ICAgbV9yZWFkeVRpbWVySGFuZGxlci5zdGFydE9uZVNob3QocmVhZHlTdGF0ZVRpbWVyRGVsYXkp
OwogICAgIH0gZWxzZSBpZiAobmV3U3RhdGUgIT0gR1NUX1NUQVRFX1JFQURZKQogICAgICAgICBt
X3JlYWR5VGltZXJIYW5kbGVyLnN0b3AoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL21hYy9HcmFwaGljc0NvbnRleHQzRE1hYy5tbSBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9HcmFwaGljc0NvbnRleHQzRE1hYy5tbQppbmRleCA1
NmJlMDZmZTQwMWZkNDU2OTg4ZmEyZmYxNWQ5NTMxYjEzNTYwZDY3Li4xYzRlNDM1OTM1YTFjYTQ2
MjE0ZDM0ODAwNTQwNTNjNTlmOGVmMDkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9tYWMvR3JhcGhpY3NDb250ZXh0M0RNYWMubW0KKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0dyYXBoaWNzQ29udGV4dDNETWFjLm1tCkBAIC0y
NzgsOCArMjc4LDggQEAgdm9pZCBHcmFwaGljc0NvbnRleHQzRE1hbmFnZXI6OnVwZGF0ZUhpZ2hQ
ZXJmb3JtYW5jZVN0YXRlKCkKICAgICAgICAgICAgIExPRyhXZWJHTCwgIlNldCBhIHRpbWVyIHRv
IHR1cm4gb2ZmIGhpZ2gtcGVyZm9ybWFuY2UgR1BVLiIpOwogICAgICAgICAgICAgLy8gRklYTUU6
IEV4cG9zZSB0aGlzIHZhbHVlIGFzIGEgU2V0dGluZywgd2hpY2ggd291bGQgcmVxdWlyZSB0aGlz
IGNsYXNzCiAgICAgICAgICAgICAvLyB0byByZWZlcmVuY2UgYSBmcmFtZSwgcGFnZSBvciBkb2N1
bWVudC4KLSAgICAgICAgICAgIHN0YXRpYyBjb25zdCBpbnQgdGltZVRvS2VlcEhpZ2hQZXJmb3Jt
YW5jZUdQVUFsaXZlSW5TZWNvbmRzID0gMTA7Ci0gICAgICAgICAgICBtX2Rpc2FibGVIaWdoUGVy
Zm9ybWFuY2VHUFVUaW1lci5zdGFydE9uZVNob3QodGltZVRvS2VlcEhpZ2hQZXJmb3JtYW5jZUdQ
VUFsaXZlSW5TZWNvbmRzKTsKKyAgICAgICAgICAgIHN0YXRpYyBjb25zdCBTZWNvbmRzIHRpbWVU
b0tlZXBIaWdoUGVyZm9ybWFuY2VHUFVBbGl2ZSB7IDEwX3MgfTsKKyAgICAgICAgICAgIG1fZGlz
YWJsZUhpZ2hQZXJmb3JtYW5jZUdQVVRpbWVyLnN0YXJ0T25lU2hvdCh0aW1lVG9LZWVwSGlnaFBl
cmZvcm1hbmNlR1BVQWxpdmUpOwogICAgICAgICB9CiAgICAgfQogI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvQml0bWFwVGV4dHVyZVBv
b2wuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0JpdG1hcFRl
eHR1cmVQb29sLmNwcAppbmRleCAwMGNjOGVlMzZkYzVhN2VlOTA4YzQ3YTc0MjNlYjdkZDNjNTg0
ZjEwLi5iYjBlYmZhZDM0N2QwYTQ4M2UyMTBkZDc4YTc2ZDYwYmM3YzAwOTE4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvQml0bWFwVGV4dHVyZVBv
b2wuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9CaXRt
YXBUZXh0dXJlUG9vbC5jcHAKQEAgLTMzLDggKzMzLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCi1zdGF0aWMgY29uc3QgZG91YmxlIHNfcmVsZWFzZVVudXNlZFNlY29uZHNUb2xlcmFuY2Ug
PSAzOwotc3RhdGljIGNvbnN0IGRvdWJsZSBzX3JlbGVhc2VVbnVzZWRUZXh0dXJlc1RpbWVySW50
ZXJ2YWwgPSAwLjU7CitzdGF0aWMgY29uc3QgZG91YmxlIHJlbGVhc2VVbnVzZWRTZWNvbmRzVG9s
ZXJhbmNlID0gMzsKK3N0YXRpYyBjb25zdCBkb3VibGUgcmVsZWFzZVVudXNlZFRleHR1cmVzVGlt
ZXJJbnRlcnZhbCB7IDUwMF9tcyB9OwogCiAjaWYgVVNFKFRFWFRVUkVfTUFQUEVSX0dMKQogQml0
bWFwVGV4dHVyZVBvb2w6OkJpdG1hcFRleHR1cmVQb29sKFJlZlB0cjxHcmFwaGljc0NvbnRleHQz
RD4mJiBjb250ZXh0M0QpCkBAIC02NiwxMyArNjYsMTMgQEAgdm9pZCBCaXRtYXBUZXh0dXJlUG9v
bDo6c2NoZWR1bGVSZWxlYXNlVW51c2VkVGV4dHVyZXMoKQogICAgIGlmIChtX3JlbGVhc2VVbnVz
ZWRUZXh0dXJlc1RpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIG1fcmVs
ZWFzZVVudXNlZFRleHR1cmVzVGltZXIuc3RhcnRPbmVTaG90KHNfcmVsZWFzZVVudXNlZFRleHR1
cmVzVGltZXJJbnRlcnZhbCk7CisgICAgbV9yZWxlYXNlVW51c2VkVGV4dHVyZXNUaW1lci5zdGFy
dE9uZVNob3QocmVsZWFzZVVudXNlZFRleHR1cmVzVGltZXJJbnRlcnZhbCk7CiB9CiAKIHZvaWQg
Qml0bWFwVGV4dHVyZVBvb2w6OnJlbGVhc2VVbnVzZWRUZXh0dXJlc1RpbWVyRmlyZWQoKQogewot
ICAgIC8vIERlbGV0ZSBlbnRyaWVzLCB3aGljaCBoYXZlIGJlZW4gdW51c2VkIGluIHNfcmVsZWFz
ZVVudXNlZFNlY29uZHNUb2xlcmFuY2UuCi0gICAgZG91YmxlIG1pblVzZWRUaW1lID0gbW9ub3Rv
bmljYWxseUluY3JlYXNpbmdUaW1lKCkgLSBzX3JlbGVhc2VVbnVzZWRTZWNvbmRzVG9sZXJhbmNl
OworICAgIC8vIERlbGV0ZSBlbnRyaWVzLCB3aGljaCBoYXZlIGJlZW4gdW51c2VkIGluIHJlbGVh
c2VVbnVzZWRTZWNvbmRzVG9sZXJhbmNlLgorICAgIGRvdWJsZSBtaW5Vc2VkVGltZSA9IG1vbm90
b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpIC0gcmVsZWFzZVVudXNlZFNlY29uZHNUb2xlcmFuY2U7
CiAKICAgICBpZiAoIW1fdGV4dHVyZXMuaXNFbXB0eSgpKSB7CiAgICAgICAgIHN0ZDo6c29ydCht
X3RleHR1cmVzLmJlZ2luKCksIG1fdGV4dHVyZXMuZW5kKCksCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5
ZXJQcm94eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4
dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXJQcm94eS5jcHAKaW5kZXggNGRiNzQ4MjQ5OTY3Yzg5MDUy
Y2VkMGVlNGEyMzBiZWRhZTZhMDdmOC4uZGMzZTc0N2VlZGRiNmU3NWI4YTFmOTMzYTI2NjMxNmEy
OGJjM2Y1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4
bWFwL1RleHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVyUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyUGxhdGZvcm1MYXllclBy
b3h5LmNwcApAQCAtMzcsOCArMzcsOCBAQAogI2luY2x1ZGUgPHd0Zi9nbGliL1J1bkxvb3BTb3Vy
Y2VQcmlvcml0eS5oPgogI2VuZGlmCiAKLWNvbnN0IGRvdWJsZSBzX3JlbGVhc2VVbnVzZWRTZWNv
bmRzVG9sZXJhbmNlID0gMTsKLWNvbnN0IGRvdWJsZSBzX3JlbGVhc2VVbnVzZWRCdWZmZXJzVGlt
ZXJJbnRlcnZhbCA9IDAuNTsKK3N0YXRpYyBjb25zdCBkb3VibGUgcmVsZWFzZVVudXNlZFNlY29u
ZHNUb2xlcmFuY2UgPSAxOworc3RhdGljIGNvbnN0IFNlY29uZHMgcmVsZWFzZVVudXNlZEJ1ZmZl
cnNUaW1lckludGVydmFsID0geyA1MDBfbXMgfTsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBA
IC0xNDQsNyArMTQ0LDcgQEAgc3RkOjp1bmlxdWVfcHRyPFRleHR1cmVNYXBwZXJQbGF0Zm9ybUxh
eWVyQnVmZmVyPiBUZXh0dXJlTWFwcGVyUGxhdGZvcm1MYXllclByb3gKIHZvaWQgVGV4dHVyZU1h
cHBlclBsYXRmb3JtTGF5ZXJQcm94eTo6c2NoZWR1bGVSZWxlYXNlVW51c2VkQnVmZmVycygpCiB7
CiAgICAgaWYgKCFtX3JlbGVhc2VVbnVzZWRCdWZmZXJzVGltZXIuaXNBY3RpdmUoKSkKLSAgICAg
ICAgbV9yZWxlYXNlVW51c2VkQnVmZmVyc1RpbWVyLnN0YXJ0T25lU2hvdChzX3JlbGVhc2VVbnVz
ZWRCdWZmZXJzVGltZXJJbnRlcnZhbCk7CisgICAgICAgIG1fcmVsZWFzZVVudXNlZEJ1ZmZlcnNU
aW1lci5zdGFydE9uZVNob3QocmVsZWFzZVVudXNlZEJ1ZmZlcnNUaW1lckludGVydmFsKTsKIH0K
IAogdm9pZCBUZXh0dXJlTWFwcGVyUGxhdGZvcm1MYXllclByb3h5OjpyZWxlYXNlVW51c2VkQnVm
ZmVyc1RpbWVyRmlyZWQoKQpAQCAtMTU0LDcgKzE1NCw3IEBAIHZvaWQgVGV4dHVyZU1hcHBlclBs
YXRmb3JtTGF5ZXJQcm94eTo6cmVsZWFzZVVudXNlZEJ1ZmZlcnNUaW1lckZpcmVkKCkKICAgICAg
ICAgcmV0dXJuOwogCiAgICAgYXV0byBidWZmZXJzID0gV1RGTW92ZShtX3VzZWRCdWZmZXJzKTsK
LSAgICBkb3VibGUgbWluVXNlZFRpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSAt
IHNfcmVsZWFzZVVudXNlZFNlY29uZHNUb2xlcmFuY2U7CisgICAgZG91YmxlIG1pblVzZWRUaW1l
ID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkgLSByZWxlYXNlVW51c2VkU2Vjb25kc1Rv
bGVyYW5jZTsKIAogICAgIGZvciAoYXV0byYgYnVmZmVyIDogYnVmZmVycykgewogICAgICAgICBp
ZiAoYnVmZmVyICYmIGJ1ZmZlci0+bGFzdFVzZWRUaW1lKCkgPj0gbWluVXNlZFRpbWUpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0
ZWQvQ29vcmRpbmF0ZWRJbWFnZUJhY2tpbmcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkSW1hZ2VCYWNraW5nLmNwcApp
bmRleCAzZjU2NzNlOGZkNTM2NWYwOGNmZDY5ZWZjM2ZhYWVjNDMyMzM2YTYxLi5mNTI5NDc1NWEy
MzM2NTVjMzA2NjU3MWNmNjM5YmVjYjUwYzAzMDUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRJbWFnZUJh
Y2tpbmcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9j
b29yZGluYXRlZC9Db29yZGluYXRlZEltYWdlQmFja2luZy5jcHAKQEAgLTE0NCw3ICsxNDQsNyBA
QCB2b2lkIENvb3JkaW5hdGVkSW1hZ2VCYWNraW5nOjpyZWxlYXNlU3VyZmFjZUlmTmVlZGVkKCkK
ICAgICBtX3N1cmZhY2UgPSBudWxscHRyOwogfQogCi1zdGF0aWMgY29uc3QgZG91YmxlIGNsZWFy
Q29udGVudHNUaW1lckludGVydmFsID0gMzsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIGNsZWFyQ29u
dGVudHNUaW1lckludGVydmFsIHsgM19zIH07CiAKIHZvaWQgQ29vcmRpbmF0ZWRJbWFnZUJhY2tp
bmc6OnVwZGF0ZVZpc2liaWxpdHlJZk5lZWRlZChib29sJiBjaGFuZ2VkVG9WaXNpYmxlKQogewpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1Njcm9sbEFuaW1hdG9yR3Rr
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9TY3JvbGxBbmltYXRvckd0ay5jcHAK
aW5kZXggNDRlNDczNDgyZGZhYTIwMzg5NDY3YzcyZWM5MzAwNzhkNWE4MGM1OS4uNDA1ZTNlNmU2
Yzg3ZjJmNDU4MDc2MjM5ZGE4MWI1MDQzYzM3MzI4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3RrL1Njcm9sbEFuaW1hdG9yR3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ndGsvU2Nyb2xsQW5pbWF0b3JHdGsuY3BwCkBAIC0zOCw4ICszOCw4IEBACiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIGNvbnN0IGRvdWJsZSBvdmVyZmxvd1Njcm9s
bGJhcnNBbmltYXRpb25EdXJhdGlvbiA9IDE7Ci1zdGF0aWMgY29uc3QgZG91YmxlIG92ZXJmbG93
U2Nyb2xsYmFyc0FuaW1hdGlvbkhpZGVEZWxheSA9IDI7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBv
dmVyZmxvd1Njcm9sbGJhcnNBbmltYXRpb25EdXJhdGlvbiB7IDFfcyB9Oworc3RhdGljIGNvbnN0
IFNlY29uZHMgb3ZlcmZsb3dTY3JvbGxiYXJzQW5pbWF0aW9uSGlkZURlbGF5IHsgMl9zIH07CiAK
IHN0ZDo6dW5pcXVlX3B0cjxTY3JvbGxBbmltYXRvcj4gU2Nyb2xsQW5pbWF0b3I6OmNyZWF0ZShT
Y3JvbGxhYmxlQXJlYSYgc2Nyb2xsYWJsZUFyZWEpCiB7CkBAIC0xNzYsMTAgKzE3NiwxMCBAQCB2
b2lkIFNjcm9sbEFuaW1hdG9yR3RrOjpvdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uVGltZXJGaXJl
ZCgpCiAgICAgaWYgKG1fb3ZlcmxheVNjcm9sbGJhcnNMb2NrZWQpCiAgICAgICAgIHJldHVybjsK
IAotICAgIGRvdWJsZSBjdXJyZW50VGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgp
OworICAgIE1vbm90b25pY1RpbWUgY3VycmVudFRpbWUgPSBNb25vdG9uaWNUaW1lOjpub3coKTsK
ICAgICBkb3VibGUgcHJvZ3Jlc3MgPSAxOwogICAgIGlmIChjdXJyZW50VGltZSA8IG1fb3Zlcmxh
eVNjcm9sbGJhckFuaW1hdGlvbkVuZFRpbWUpCi0gICAgICAgIHByb2dyZXNzID0gKGN1cnJlbnRU
aW1lIC0gbV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uU3RhcnRUaW1lKSAvIChtX292ZXJsYXlT
Y3JvbGxiYXJBbmltYXRpb25FbmRUaW1lIC0gbV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uU3Rh
cnRUaW1lKTsKKyAgICAgICAgcHJvZ3Jlc3MgPSAoY3VycmVudFRpbWUgLSBtX292ZXJsYXlTY3Jv
bGxiYXJBbmltYXRpb25TdGFydFRpbWUpLnNlY29uZHNTaW5jZUVwb2NoKCkudmFsdWUoKSAvICht
X292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25FbmRUaW1lIC0gbV9vdmVybGF5U2Nyb2xsYmFyQW5p
bWF0aW9uU3RhcnRUaW1lKS5zZWNvbmRzU2luY2VFcG9jaCgpLnZhbHVlKCk7CiAgICAgcHJvZ3Jl
c3MgPSBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25Tb3VyY2UgKyAoZWFzZU91dEN1YmljKHBy
b2dyZXNzKSAqIChtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25UYXJnZXQgLSBtX292ZXJsYXlT
Y3JvbGxiYXJBbmltYXRpb25Tb3VyY2UpKTsKICAgICBpZiAocHJvZ3Jlc3MgIT0gbV9vdmVybGF5
U2Nyb2xsYmFyQW5pbWF0aW9uQ3VycmVudCkgewogICAgICAgICBtX292ZXJsYXlTY3JvbGxiYXJB
bmltYXRpb25DdXJyZW50ID0gcHJvZ3Jlc3M7CkBAIC0xODgsOSArMTg4LDkgQEAgdm9pZCBTY3Jv
bGxBbmltYXRvckd0azo6b3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvblRpbWVyRmlyZWQoKQogCiAg
ICAgaWYgKG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvbkN1cnJlbnQgIT0gbV9vdmVybGF5U2Ny
b2xsYmFyQW5pbWF0aW9uVGFyZ2V0KSB7CiAgICAgICAgIHN0YXRpYyBjb25zdCBkb3VibGUgZnJh
bWVSYXRlID0gNjA7Ci0gICAgICAgIHN0YXRpYyBjb25zdCBkb3VibGUgdGlja1RpbWUgPSAxIC8g
ZnJhbWVSYXRlOwotICAgICAgICBzdGF0aWMgY29uc3QgZG91YmxlIG1pbmltdW1UaW1lckludGVy
dmFsID0gLjAwMTsKLSAgICAgICAgZG91YmxlIGRlbHRhVG9OZXh0RnJhbWUgPSBzdGQ6Om1heCh0
aWNrVGltZSAtIChtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSAtIGN1cnJlbnRUaW1lKSwg
bWluaW11bVRpbWVySW50ZXJ2YWwpOworICAgICAgICBzdGF0aWMgY29uc3QgU2Vjb25kcyB0aWNr
VGltZSA9IDFfcyAvIGZyYW1lUmF0ZTsKKyAgICAgICAgc3RhdGljIGNvbnN0IFNlY29uZHMgbWlu
aW11bVRpbWVySW50ZXJ2YWwgPSAxX21zOworICAgICAgICBTZWNvbmRzIGRlbHRhVG9OZXh0RnJh
bWUgPSBzdGQ6Om1heCh0aWNrVGltZSAtIChNb25vdG9uaWNUaW1lOjpub3coKSAtIGN1cnJlbnRU
aW1lKSwgbWluaW11bVRpbWVySW50ZXJ2YWwpOwogICAgICAgICBtX292ZXJsYXlTY3JvbGxiYXJB
bmltYXRpb25UaW1lci5zdGFydE9uZVNob3QoZGVsdGFUb05leHRGcmFtZSk7CiAgICAgfSBlbHNl
CiAgICAgICAgIGhpZGVPdmVybGF5U2Nyb2xsYmFycygpOwpAQCAtMjExLDcgKzIxMSw3IEBAIHZv
aWQgU2Nyb2xsQW5pbWF0b3JHdGs6OnNob3dPdmVybGF5U2Nyb2xsYmFycygpCiAgICAgbV9vdmVy
bGF5U2Nyb2xsYmFyQW5pbWF0aW9uU291cmNlID0gbV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9u
Q3VycmVudDsKICAgICBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25UYXJnZXQgPSAxOwogICAg
IGlmIChtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25UYXJnZXQgIT0gbV9vdmVybGF5U2Nyb2xs
YmFyQW5pbWF0aW9uQ3VycmVudCkgewotICAgICAgICBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRp
b25TdGFydFRpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKKyAgICAgICAgbV9v
dmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uU3RhcnRUaW1lID0gTW9ub3RvbmljVGltZTo6bm93KCk7
CiAgICAgICAgIG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvbkVuZFRpbWUgPSBtX292ZXJsYXlT
Y3JvbGxiYXJBbmltYXRpb25TdGFydFRpbWUgKyBvdmVyZmxvd1Njcm9sbGJhcnNBbmltYXRpb25E
dXJhdGlvbjsKICAgICAgICAgbV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uVGltZXIuc3RhcnRP
bmVTaG90KDBfcyk7CiAgICAgfSBlbHNlCkBAIC0yMzEsNyArMjMxLDcgQEAgdm9pZCBTY3JvbGxB
bmltYXRvckd0azo6aGlkZU92ZXJsYXlTY3JvbGxiYXJzKCkKICAgICBtX292ZXJsYXlTY3JvbGxi
YXJBbmltYXRpb25UYXJnZXQgPSAwOwogICAgIGlmIChtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRp
b25UYXJnZXQgPT0gbV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uQ3VycmVudCkKICAgICAgICAg
cmV0dXJuOwotICAgIG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvblN0YXJ0VGltZSA9IG1vbm90
b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpICsgb3ZlcmZsb3dTY3JvbGxiYXJzQW5pbWF0aW9uSGlk
ZURlbGF5OworICAgIG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvblN0YXJ0VGltZSA9IE1vbm90
b25pY1RpbWU6Om5vdygpICsgb3ZlcmZsb3dTY3JvbGxiYXJzQW5pbWF0aW9uSGlkZURlbGF5Owog
ICAgIG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvbkVuZFRpbWUgPSBtX292ZXJsYXlTY3JvbGxi
YXJBbmltYXRpb25TdGFydFRpbWUgKyBvdmVyZmxvd1Njcm9sbGJhcnNBbmltYXRpb25EdXJhdGlv
biArIG92ZXJmbG93U2Nyb2xsYmFyc0FuaW1hdGlvbkhpZGVEZWxheTsKICAgICBtX292ZXJsYXlT
Y3JvbGxiYXJBbmltYXRpb25UaW1lci5zdGFydE9uZVNob3Qob3ZlcmZsb3dTY3JvbGxiYXJzQW5p
bWF0aW9uSGlkZURlbGF5KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2d0ay9TY3JvbGxBbmltYXRvckd0ay5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1Nj
cm9sbEFuaW1hdG9yR3RrLmgKaW5kZXggNzBlNWI3M2Y5ZGUxM2QyMTBjYjk5M2VlOTM1N2Q3Mzky
ZGQzMjJhOC4uYzQyNTNlNWFkYjkxZjcwNDEzMzA0Njg0MWMyOTc0YmY3ZGQ4Y2VjZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1Njcm9sbEFuaW1hdG9yR3RrLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1Njcm9sbEFuaW1hdG9yR3RrLmgKQEAgLTgw
LDggKzgwLDggQEAgcHJpdmF0ZToKICAgICBkb3VibGUgbV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0
aW9uU291cmNlIHsgMCB9OwogICAgIGRvdWJsZSBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25U
YXJnZXQgeyAwIH07CiAgICAgZG91YmxlIG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvbkN1cnJl
bnQgeyAwIH07Ci0gICAgZG91YmxlIG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvblN0YXJ0VGlt
ZSB7IDAgfTsKLSAgICBkb3VibGUgbV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uRW5kVGltZSB7
IDAgfTsKKyAgICBNb25vdG9uaWNUaW1lIG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvblN0YXJ0
VGltZTsKKyAgICBNb25vdG9uaWNUaW1lIG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvbkVuZFRp
bWU7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQubW0gYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZL
aXQubW0KaW5kZXggZjNmYzJhZTI4NDhmNDk3NzE5ODUwYTk5OGZkMGM5OTNmYjA3NDU0YS4uM2Ri
M2MwMjVlYmMzZmNkZjgzOTBmNTc1OWM1ZTQyMzA4OTBjOTdlMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0Lm1t
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5JbnRl
cmZhY2VBVktpdC5tbQpAQCAtODIsNyArODIsNyBAQCBzdGF0aWMgY29uc3QgY2hhciogYm9vbFN0
cmluZyhib29sIHZhbCkKIH0KICNlbmRpZgogCi1zdGF0aWMgY29uc3QgZG91YmxlIERlZmF1bHRX
YXRjaGRvZ1RpbWVySW50ZXJ2YWwgPSAxOworc3RhdGljIGNvbnN0IFNlY29uZHMgZGVmYXVsdFdh
dGNoZG9nVGltZXJJbnRlcnZhbCB7IDFfcyB9OwogCiBAY2xhc3MgV2ViQVZNZWRpYVNlbGVjdGlv
bk9wdGlvbjsKIApAQCAtOTg2LDcgKzk4Niw3IEBAIGJvb2wgV2ViVmlkZW9GdWxsc2NyZWVuSW50
ZXJmYWNlQVZLaXQ6OnNob3VsZEV4aXRGdWxsc2NyZWVuV2l0aFJlYXNvbihXZWJWaWRlb0Z1CiAg
ICAgbV92aWRlb0Z1bGxzY3JlZW5Nb2RlbC0+cmVxdWVzdEZ1bGxzY3JlZW5Nb2RlKEhUTUxNZWRp
YUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVuTW9kZU5vbmUsIHJlYXNvbiA9PSBFeGl0RnVs
bFNjcmVlblJlYXNvbjo6RG9uZUJ1dHRvblRhcHBlZCk7CiAKICAgICBpZiAoIW1fd2F0Y2hkb2dU
aW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3dhdGNoZG9nVGltZXIuc3RhcnRPbmVTaG90KERl
ZmF1bHRXYXRjaGRvZ1RpbWVySW50ZXJ2YWwpOworICAgICAgICBtX3dhdGNoZG9nVGltZXIuc3Rh
cnRPbmVTaG90KGRlZmF1bHRXYXRjaGRvZ1RpbWVySW50ZXJ2YWwpOwogCiAgICAgcmV0dXJuIGZh
bHNlOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbEFu
aW1hdG9yTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbEFuaW1hdG9y
TWFjLm1tCmluZGV4IDk2MjRkMDVkMThlNmZkMjU2ZTdhZTkxMTI2OTNhNTQwMTg4MjA1NDguLjBk
YTM0OWJmZmFmMWYxYWM5ODg4NzY1YTljMGI4NzYxY2NjNjRkZmYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5tbQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMubW0KQEAgLTEzMzgsNyArMTMz
OCw3IEBAIHZvaWQgU2Nyb2xsQW5pbWF0b3JNYWM6OnVwZGF0ZVNjcm9sbGVyU3R5bGUoKQogCiB2
b2lkIFNjcm9sbEFuaW1hdG9yTWFjOjpzdGFydFNjcm9sbGJhclBhaW50VGltZXIoKQogewotICAg
IG1faW5pdGlhbFNjcm9sbGJhclBhaW50VGltZXIuc3RhcnRPbmVTaG90KDAuMSk7CisgICAgbV9p
bml0aWFsU2Nyb2xsYmFyUGFpbnRUaW1lci5zdGFydE9uZVNob3QoMTAwX21zKTsKIH0KIAogYm9v
bCBTY3JvbGxBbmltYXRvck1hYzo6c2Nyb2xsYmFyUGFpbnRUaW1lcklzQWN0aXZlKCkgY29uc3QK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTWVkaWFQbGF5YmFja1Rh
cmdldFBpY2tlck1vY2suY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9NZWRpYVBs
YXliYWNrVGFyZ2V0UGlja2VyTW9jay5jcHAKaW5kZXggMWE2MGNhMjRiYmM2MDk2YjdhOTVlMjEw
NjYwNDk1MTJmZTJmMjU1Yi4uMjkzOGU1NjMxNjk0OWRmYzNjZTU5ZmY3YTI5ZGE2OGE1N2Y4N2Y0
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9NZWRpYVBsYXliYWNr
VGFyZ2V0UGlja2VyTW9jay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9N
ZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyTW9jay5jcHAKQEAgLTM3LDcgKzM3LDcgQEAgdXNpbmcg
bmFtZXNwYWNlIFdlYkNvcmU7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIGNvbnN0
IGRvdWJsZSB0aW1lckludGVydmFsID0gMS4wIC8gMTAuMDsKK3N0YXRpYyBjb25zdCBTZWNvbmRz
IHRpbWVySW50ZXJ2YWwgeyAxX3MgLyAxMC4gfTsKIAogTWVkaWFQbGF5YmFja1RhcmdldFBpY2tl
ck1vY2s6Ok1lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXJNb2NrKE1lZGlhUGxheWJhY2tUYXJnZXRQ
aWNrZXI6OkNsaWVudCYgY2xpZW50KQogICAgIDogTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlcihj
bGllbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1BsYXRmb3Jt
U3BlZWNoU3ludGhlc2l6ZXJNb2NrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2sv
UGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1vY2suY3BwCmluZGV4IGYzYmM3MWMwZjczM2QyODMz
ZWMzNDg1ZTg5NDk0NDhkMzhkZDNmMTEuLjY3Zjk3ZGQ2MWNkZDYzMWVhYzk4Y2VhMGQ5NDYyMzYw
MjI3OWUwYmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svUGxhdGZv
cm1TcGVlY2hTeW50aGVzaXplck1vY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21vY2svUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1vY2suY3BwCkBAIC02OCw3ICs2OCw3IEBA
IHZvaWQgUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1vY2s6OnNwZWFrKFJlZlB0cjxQbGF0Zm9y
bVNwZWVjaFN5bnRoZXNpc1V0dGVyYW5jCiAgICAgY2xpZW50KCktPmJvdW5kYXJ5RXZlbnRPY2N1
cnJlZCgqbV91dHRlcmFuY2UsIFNwZWVjaFNlbnRlbmNlQm91bmRhcnksIG1fdXR0ZXJhbmNlLT50
ZXh0KCkubGVuZ3RoKCkpOwogCiAgICAgLy8gR2l2ZSB0aGUgZmFrZSBzcGVlY2ggam9iIHNvbWUg
dGltZSBzbyB0aGF0IHBhdXNlIGFuZCBvdGhlciBmdW5jdGlvbnMgaGF2ZSB0aW1lIHRvIGJlIGNh
bGxlZC4KLSAgICBtX3NwZWFraW5nRmluaXNoZWRUaW1lci5zdGFydE9uZVNob3QoLjEpOworICAg
IG1fc3BlYWtpbmdGaW5pc2hlZFRpbWVyLnN0YXJ0T25lU2hvdCgxMDBfbXMpOwogfQogCiB2b2lk
IFBsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrOjpjYW5jZWwoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9UaW1lckV2ZW50QmFzZWRNb2NrLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1RpbWVyRXZlbnRCYXNlZE1vY2suaAppbmRleCBkZTBlOGE5
ZmQ2NTk2YjJlMmFiNzM3MDMwNDdkZTVlZDM3ZmZlY2FjLi5kZGNkMjc1YTgyZDQyYjQ2MWY4NDVk
MzM0NGZkZTFiOTQwOGU0ZjJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
b2NrL1RpbWVyRXZlbnRCYXNlZE1vY2suaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
b2NrL1RpbWVyRXZlbnRCYXNlZE1vY2suaApAQCAtNjMsNyArNjMsNyBAQCBwdWJsaWM6CiAgICAg
ICAgICwgbV90aW1lcigqdGhpcywgJlRpbWVyRXZlbnQ6OnRpbWVyRmlyZWQpCiAgICAgICAgICwg
bV9ub3RpZmllcihub3RpZmllcikKICAgICB7Ci0gICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90
KDAuNSk7CisgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDUwMF9tcyk7CiAgICAgfQogCiAg
ICAgdmlydHVhbCB+VGltZXJFdmVudCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL0ROU1Jlc29sdmVRdWV1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL0ROU1Jlc29sdmVRdWV1ZS5jcHAKaW5kZXggNTg3NzNhYTMzMjkxY2E3YTY4OTU3
NTg2ZWU4MjAzYzZiYWMyY2ZmMy4uYThjMmRmNDBjM2JmYmFjNWY1YzM5MjliY2EzMzkzMDBmMGEw
MjYxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9ETlNSZXNv
bHZlUXVldWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRE5TUmVz
b2x2ZVF1ZXVlLmNwcApAQCAtMzcsNyArMzcsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBzdGF0
aWMgY29uc3QgaW50IGdOYW1lc1RvUmVzb2x2ZUltbWVkaWF0ZWx5ID0gNDsKIAogLy8gQ29hbGVz
Y2UgcHJlZmV0Y2ggcmVxdWVzdHMgZm9yIHRoaXMgbG9uZyBiZWZvcmUgc2VuZGluZyB0aGVtIG91
dC4KLXN0YXRpYyBjb25zdCBkb3VibGUgZ0NvYWxlc2NlRGVsYXlJblNlY29uZHMgPSAxLjA7Citz
dGF0aWMgY29uc3QgU2Vjb25kcyBjb2FsZXNjZURlbGF5IHsgMV9zIH07CiAKIC8vIFNlbmRpbmcg
bWFueSBETlMgcmVxdWVzdHMgYXQgb25jZSBjYW4gb3ZlcndoZWxtIHNvbWUgZ2F0ZXdheXMuIFNl
ZSA8cmRhcjovLzgxMDU1NTA+IGZvciBzcGVjaWZpYyBDRk5FVCBpc3N1ZXMgd2l0aCBDRkhvc3Qg
dGhyb3R0bGluZy4KIHN0YXRpYyBjb25zdCBpbnQgZ01heFNpbXVsdGFuZW91c1JlcXVlc3RzID0g
ODsKQEAgLTQ4LDcgKzQ4LDcgQEAgc3RhdGljIGNvbnN0IGludCBnTWF4U2ltdWx0YW5lb3VzUmVx
dWVzdHMgPSA4Owogc3RhdGljIGNvbnN0IGludCBnTWF4UmVxdWVzdHNUb1F1ZXVlID0gNjQ7CiAK
IC8vIElmIHRoZXJlIHdlcmUgcXVldWVkIG5hbWVzIHRoYXQgY291bGRuJ3QgYmUgc2VudCBzaW11
bHRhbmVvdXNseSwgY2hlY2sgdGhlIHN0YXRlIG9mIHJlc29sdmVycyBhZnRlciB0aGlzIGRlbGF5
Lgotc3RhdGljIGNvbnN0IGRvdWJsZSBnUmV0cnlSZXNvbHZpbmdJblNlY29uZHMgPSAwLjE7Citz
dGF0aWMgY29uc3QgU2Vjb25kcyByZXNvbHZpbmdSZXRyeURlbGF5IHsgMTAwX21zIH07CiAKIERO
U1Jlc29sdmVRdWV1ZSYgRE5TUmVzb2x2ZVF1ZXVlOjpzaW5nbGV0b24oKQogewpAQCAtMTAxLDcg
KzEwMSw3IEBAIHZvaWQgRE5TUmVzb2x2ZVF1ZXVlOjphZGQoY29uc3QgU3RyaW5nJiBob3N0bmFt
ZSkKICAgICBpZiAobV9uYW1lcy5zaXplKCkgPCBnTWF4UmVxdWVzdHNUb1F1ZXVlKSB7CiAgICAg
ICAgIG1fbmFtZXMuYWRkKGhvc3RuYW1lKTsKICAgICAgICAgaWYgKCFtX3RpbWVyLmlzQWN0aXZl
KCkpCi0gICAgICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChnQ29hbGVzY2VEZWxheUluU2Vj
b25kcyk7CisgICAgICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChjb2FsZXNjZURlbGF5KTsK
ICAgICB9CiB9CiAKQEAgLTEyMiw3ICsxMjIsNyBAQCB2b2lkIEROU1Jlc29sdmVRdWV1ZTo6dGlt
ZXJGaXJlZCgpCiAgICAgfQogCiAgICAgaWYgKCFtX25hbWVzLmlzRW1wdHkoKSkKLSAgICAgICAg
bV90aW1lci5zdGFydE9uZVNob3QoZ1JldHJ5UmVzb2x2aW5nSW5TZWNvbmRzKTsKKyAgICAgICAg
bV90aW1lci5zdGFydE9uZVNob3QocmVzb2x2aW5nUmV0cnlEZWxheSk7CiB9CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvUGluZ0hhbmRsZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9QaW5nSGFu
ZGxlLmgKaW5kZXggMTdjNTRlMDk2OWQ2M2JkZDBlMDNmN2JmZWU0ODQzM2Q3NDU1YWEyZC4uY2Jh
ZmMwOTM1NjlmZWUxMzc4ZDgzM2QzNjdmMzQ2NGE5YzQ1OGI2MiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9QaW5nSGFuZGxlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9QaW5nSGFuZGxlLmgKQEAgLTUzLDcgKzUzLDcgQEAgcHVibGlj
OgogCiAgICAgICAgIC8vIElmIHRoZSBzZXJ2ZXIgbmV2ZXIgcmVzcG9uZHMsIHRoaXMgb2JqZWN0
IHdpbGwgaGFuZyBhcm91bmQgZm9yZXZlci4KICAgICAgICAgLy8gU2V0IGEgdmVyeSBnZW5lcm91
cyB0aW1lb3V0LCBqdXN0IGluIGNhc2UuCi0gICAgICAgIG1fdGltZW91dFRpbWVyLnN0YXJ0T25l
U2hvdCg2MDAwMCk7CisgICAgICAgIG1fdGltZW91dFRpbWVyLnN0YXJ0T25lU2hvdCg2MDAwMF9z
KTsKICAgICB9CiAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL2N1cmwvUmVzb3VyY2VIYW5kbGVNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvY3VybC9SZXNvdXJjZUhhbmRsZU1hbmFnZXIuY3BwCmluZGV4IGFm
YmE1NWY2ZmUyMTQwZGRmZjM3YjVlZDFmOTk2ZTBlN2I3ODY2ZjkuLmNhY2ZiYjU3NWU5OGI4NTBi
MDJiMGFkMzMzMTBlZWM4YWVlNDE5MzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvY3VybC9SZXNvdXJjZUhhbmRsZU1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9SZXNvdXJjZUhhbmRsZU1hbmFnZXIuY3BwCkBA
IC04Myw3ICs4Myw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNvbnN0IGludCBzZWxlY3RU
aW1lb3V0TVMgPSA1OwotY29uc3QgZG91YmxlIHBvbGxUaW1lU2Vjb25kcyA9IDAuMDU7CitzdGF0
aWMgY29uc3QgU2Vjb25kcyBwb2xsVGltZSB7IDUwX21zIH07CiBjb25zdCBpbnQgbWF4UnVubmlu
Z0pvYnMgPSAxMjg7CiBjb25zdCBjaGFyKiBjb25zdCBlcnJvckRvbWFpbkN1cmwgPSAiQ3VybEVy
cm9yRG9tYWluIjsKIApAQCAtNzI3LDcgKzcyNyw3IEBAIHZvaWQgUmVzb3VyY2VIYW5kbGVNYW5h
Z2VyOjpkb3dubG9hZFRpbWVyQ2FsbGJhY2soKQogICAgIGJvb2wgc3RhcnRlZCA9IHN0YXJ0U2No
ZWR1bGVkSm9icygpOyAvLyBuZXcgam9icyBtaWdodCBoYXZlIGJlZW4gYWRkZWQgaW4gdGhlIG1l
YW50aW1lCiAKICAgICBpZiAoIW1fZG93bmxvYWRUaW1lci5pc0FjdGl2ZSgpICYmIChzdGFydGVk
IHx8IChydW5uaW5nSGFuZGxlcyA+IDApKSkKLSAgICAgICAgbV9kb3dubG9hZFRpbWVyLnN0YXJ0
T25lU2hvdChwb2xsVGltZVNlY29uZHMpOworICAgICAgICBtX2Rvd25sb2FkVGltZXIuc3RhcnRP
bmVTaG90KHBvbGxUaW1lKTsKIH0KIAogdm9pZCBSZXNvdXJjZUhhbmRsZU1hbmFnZXI6OnNldFBy
b3h5SW5mbyhjb25zdCBTdHJpbmcmIGhvc3QsCkBAIC04NzcsNyArODc3LDcgQEAgdm9pZCBSZXNv
dXJjZUhhbmRsZU1hbmFnZXI6OmFkZChSZXNvdXJjZUhhbmRsZSogam9iKQogICAgIGpvYi0+cmVm
KCk7CiAgICAgbV9yZXNvdXJjZUhhbmRsZUxpc3QuYXBwZW5kKGpvYik7CiAgICAgaWYgKCFtX2Rv
d25sb2FkVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9kb3dubG9hZFRpbWVyLnN0YXJ0T25l
U2hvdChwb2xsVGltZVNlY29uZHMpOworICAgICAgICBtX2Rvd25sb2FkVGltZXIuc3RhcnRPbmVT
aG90KHBvbGxUaW1lKTsKIH0KIAogYm9vbCBSZXNvdXJjZUhhbmRsZU1hbmFnZXI6OnJlbW92ZVNj
aGVkdWxlZEpvYihSZXNvdXJjZUhhbmRsZSogam9iKQpAQCAtMTIzOCw3ICsxMjM4LDcgQEAgdm9p
ZCBSZXNvdXJjZUhhbmRsZU1hbmFnZXI6OmNhbmNlbChSZXNvdXJjZUhhbmRsZSogam9iKQogICAg
IFJlc291cmNlSGFuZGxlSW50ZXJuYWwqIGQgPSBqb2ItPmdldEludGVybmFsKCk7CiAgICAgZC0+
bV9jYW5jZWxsZWQgPSB0cnVlOwogICAgIGlmICghbV9kb3dubG9hZFRpbWVyLmlzQWN0aXZlKCkp
Ci0gICAgICAgIG1fZG93bmxvYWRUaW1lci5zdGFydE9uZVNob3QocG9sbFRpbWVTZWNvbmRzKTsK
KyAgICAgICAgbV9kb3dubG9hZFRpbWVyLnN0YXJ0T25lU2hvdChwb2xsVGltZSk7CiB9CiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvbWFjL05ldHdvcmtTdGF0ZU5vdGlmaWVyTWFjLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvbWFjL05ldHdvcmtTdGF0ZU5vdGlmaWVyTWFjLmNwcAppbmRleCA1
NWFkZTIxOGMxMzg4OGMwY2MyNmViZWNiNzkyNjNkY2E3MDA5MTZkLi45MTJmNjdiZjE4NjZkNDQ2
Y2RlZTVmNzg4ZmNjNjMyODljZTFlNTE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL21hYy9OZXR3b3JrU3RhdGVOb3RpZmllck1hYy5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvTmV0d29ya1N0YXRlTm90aWZpZXJNYWMuY3Bw
CkBAIC0zMSw3ICszMSw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIGNvbnN0
IGRvdWJsZSBTdGF0ZUNoYW5nZVRpbWVySW50ZXJ2YWwgPSAyLjA7CitzdGF0aWMgY29uc3QgU2Vj
b25kcyBTdGF0ZUNoYW5nZVRpbWVySW50ZXJ2YWwgeyAyX3MgfTsKIAogdm9pZCBOZXR3b3JrU3Rh
dGVOb3RpZmllcjo6dXBkYXRlU3RhdGUoKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcAppbmRleCAx
MzllMDlkYjcyZWFjYjIxM2JhMzYzY2RmMzdlOGJiMjI4ZDJlMzQxLi45ZDZkNWM0MDc3NDExMDU5
NDdlYzc0NmIxZDE5ZDc4ZDNlMmNlYzNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcApAQCAtNzcx
LDcgKzc3MSw3IEBAIHZvaWQgUmVzb3VyY2VIYW5kbGU6OnNlbmRQZW5kaW5nUmVxdWVzdCgpCiAj
ZW5kaWYKIAogICAgIGlmIChkLT5tX2ZpcnN0UmVxdWVzdC50aW1lb3V0SW50ZXJ2YWwoKSA+IDAp
Ci0gICAgICAgIGQtPm1fdGltZW91dFNvdXJjZS5zdGFydE9uZVNob3QoZC0+bV9maXJzdFJlcXVl
c3QudGltZW91dEludGVydmFsKCkpOworICAgICAgICBkLT5tX3RpbWVvdXRTb3VyY2Uuc3RhcnRP
bmVTaG90KDFfcyAqIGQtPm1fZmlyc3RSZXF1ZXN0LnRpbWVvdXRJbnRlcnZhbCgpKTsKIAogICAg
IC8vIEJhbGFuY2VkIGJ5IGEgZGVyZWYoKSBpbiBjbGVhbnVwU291cFJlcXVlc3RPcGVyYXRpb24s
IHdoaWNoIHNob3VsZCBhbHdheXMgcnVuLgogICAgIHJlZigpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL0ltYWdlUXVhbGl0eUNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL0ltYWdlUXVhbGl0eUNvbnRyb2xsZXIuY3BwCmluZGV4IDFiYzgyZTk3
Zjg3OTBlYzBkN2ExOWUwNDRmZWRmYzc5OWM1ZTJiYWQuLjc1NDE1ZDAyM2ZjNzRjM2RmZjRiNzk3
YWJhMzBmZDRlNTM1OTJkZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9J
bWFnZVF1YWxpdHlDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
SW1hZ2VRdWFsaXR5Q29udHJvbGxlci5jcHAKQEAgLTM1LDcgKzM1LDcgQEAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogc3RhdGljIGNvbnN0IGRvdWJsZSBjSW50ZXJwb2xhdGlvbkN1dG9mZiA9IDgw
MC4gKiA4MDAuOwotc3RhdGljIGNvbnN0IGRvdWJsZSBjTG93UXVhbGl0eVRpbWVUaHJlc2hvbGQg
PSAwLjUwMDsgLy8gNTAwIG1zCitzdGF0aWMgY29uc3QgU2Vjb25kcyBsb3dRdWFsaXR5VGltZVRo
cmVzaG9sZCB7IDUwMF9tcyB9OwogCiBJbWFnZVF1YWxpdHlDb250cm9sbGVyOjpJbWFnZVF1YWxp
dHlDb250cm9sbGVyKGNvbnN0IFJlbmRlclZpZXcmIHJlbmRlclZpZXcpCiAgICAgOiBtX3JlbmRl
clZpZXcocmVuZGVyVmlldykKQEAgLTk0LDcgKzk0LDcgQEAgdm9pZCBJbWFnZVF1YWxpdHlDb250
cm9sbGVyOjpoaWdoUXVhbGl0eVJlcGFpbnRUaW1lckZpcmVkKCkKIAogdm9pZCBJbWFnZVF1YWxp
dHlDb250cm9sbGVyOjpyZXN0YXJ0VGltZXIoKQogewotICAgIG1fdGltZXIuc3RhcnRPbmVTaG90
KGNMb3dRdWFsaXR5VGltZVRocmVzaG9sZCk7CisgICAgbV90aW1lci5zdGFydE9uZVNob3QobG93
UXVhbGl0eVRpbWVUaHJlc2hvbGQpOwogfQogCiBzdGQ6Om9wdGlvbmFsPEludGVycG9sYXRpb25R
dWFsaXR5PiBJbWFnZVF1YWxpdHlDb250cm9sbGVyOjppbnRlcnBvbGF0aW9uUXVhbGl0eUZyb21T
dHlsZShjb25zdCBSZW5kZXJTdHlsZSYgc3R5bGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCmluZGV4IGVhYzQyZTIzNWUzYzliYWUw
OTEzZDExOGYyNTc0ZDg4ZWZhZTc3MTcuLmI2OWYwNmZjMjc1Mzk2MWU3MWJiNzNiOWU5ZDE1MGI4
YThmZmYyOWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXll
ckNvbXBvc2l0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXll
ckNvbXBvc2l0b3IuY3BwCkBAIC05MiwxMSArOTIsMTEgQEAgc3RhdGljIGNvbnN0IGludCBjYW52
YXNBcmVhVGhyZXNob2xkUmVxdWlyaW5nQ29tcG9zaXRpbmcgPSA1MCAqIDEwMDsKICNlbmRpZgog
Ly8gRHVyaW5nIHBhZ2UgbG9hZGluZyBkZWxheSBsYXllciBmbHVzaGVzIHVwIHRvIHRoaXMgbWFu
eSBzZWNvbmRzIHRvIGFsbG93IHRoZW0gY29hbGVzY2UsIHJlZHVjaW5nIHdvcmtsb2FkLgogI2lm
IFBMQVRGT1JNKElPUykKLXN0YXRpYyBjb25zdCBkb3VibGUgdGhyb3R0bGVkTGF5ZXJGbHVzaElu
aXRpYWxEZWxheSA9IC41Owotc3RhdGljIGNvbnN0IGRvdWJsZSB0aHJvdHRsZWRMYXllckZsdXNo
RGVsYXkgPSAxLjU7CitzdGF0aWMgY29uc3QgU2Vjb25kcyB0aHJvdHRsZWRMYXllckZsdXNoSW5p
dGlhbERlbGF5IHsgNTAwX21zIH07CitzdGF0aWMgY29uc3QgU2Vjb25kcyB0aHJvdHRsZWRMYXll
ckZsdXNoRGVsYXkgeyAxNTAwX21zIH07CiAjZWxzZQotc3RhdGljIGNvbnN0IGRvdWJsZSB0aHJv
dHRsZWRMYXllckZsdXNoSW5pdGlhbERlbGF5ID0gLjU7Ci1zdGF0aWMgY29uc3QgZG91YmxlIHRo
cm90dGxlZExheWVyRmx1c2hEZWxheSA9IC41Oworc3RhdGljIGNvbnN0IFNlY29uZHMgdGhyb3R0
bGVkTGF5ZXJGbHVzaEluaXRpYWxEZWxheSB7IDUwMF9tcyB9Oworc3RhdGljIGNvbnN0IFNlY29u
ZHMgdGhyb3R0bGVkTGF5ZXJGbHVzaERlbGF5IHsgNTAwX21zIH07CiAjZW5kaWYKIAogdXNpbmcg
bmFtZXNwYWNlIEhUTUxOYW1lczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJQcm9ncmVzcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUHJv
Z3Jlc3MuY3BwCmluZGV4IDNiMTRlNDA3YTFlMjFhODY4YmJmODI2Yzc3ODM2YmYzNDIxM2FhYTIu
LjU2YTQ1YzdkMGNhMGVmZmIzNGJkNGUwYTAyYzNiMDhmOTUwODc2OGIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJQcm9ncmVzcy5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclByb2dyZXNzLmNwcApAQCAtMzIsNyArMzIsNiBAQCBSZW5k
ZXJQcm9ncmVzczo6UmVuZGVyUHJvZ3Jlc3MoSFRNTEVsZW1lbnQmIGVsZW1lbnQsIFJlbmRlclN0
eWxlJiYgc3R5bGUpCiAgICAgOiBSZW5kZXJCbG9ja0Zsb3coZWxlbWVudCwgV1RGTW92ZShzdHls
ZSkpCiAgICAgLCBtX3Bvc2l0aW9uKEhUTUxQcm9ncmVzc0VsZW1lbnQ6OkludmFsaWRQb3NpdGlv
bikKICAgICAsIG1fYW5pbWF0aW9uU3RhcnRUaW1lKDApCi0gICAgLCBtX2FuaW1hdGlvblJlcGVh
dEludGVydmFsKDApCiAgICAgLCBtX2FuaW1hdGlvbkR1cmF0aW9uKDApCiAgICAgLCBtX2FuaW1h
dGluZyhmYWxzZSkKICAgICAsIG1fYW5pbWF0aW9uVGltZXIoKnRoaXMsICZSZW5kZXJQcm9ncmVz
czo6YW5pbWF0aW9uVGltZXJGaXJlZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJQcm9ncmVzcy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclBy
b2dyZXNzLmgKaW5kZXggM2E2ZDg0ZDgzNTYxMzA3MTdiNDAzMmY5YTM4YWI4M2FkZTlhYjk4Ny4u
Mjk2NGVjNTcwZDBkOWE5Y2U0ODA2MDMzOWJiZjg1YjI5MTg1M2ZjOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclByb2dyZXNzLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclByb2dyZXNzLmgKQEAgLTUwLDcgKzUwLDcgQEAgcHJpdmF0ZToK
IAogICAgIGRvdWJsZSBtX3Bvc2l0aW9uOwogICAgIGRvdWJsZSBtX2FuaW1hdGlvblN0YXJ0VGlt
ZTsKLSAgICBkb3VibGUgbV9hbmltYXRpb25SZXBlYXRJbnRlcnZhbDsKKyAgICBTZWNvbmRzIG1f
YW5pbWF0aW9uUmVwZWF0SW50ZXJ2YWw7CiAgICAgZG91YmxlIG1fYW5pbWF0aW9uRHVyYXRpb247
CiAgICAgYm9vbCBtX2FuaW1hdGluZzsKICAgICBUaW1lciBtX2FuaW1hdGlvblRpbWVyOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHQuY3BwIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHQuY3BwCmluZGV4IDJjODhhYzVkMjA4N2E4ZDQx
ZjgwNjdjZjBhNDE4MDU5NjQ3MjI5YjAuLjJhNTIyZGNhODg0MDUzNWY5YjI0NDZlZTc4YmRlMTlk
ZThhZGQ3MjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHAKQEAgLTEw
Nyw3ICsxMDcsNyBAQCBpbmxpbmUgU2VjdXJlVGV4dFRpbWVyOjpTZWN1cmVUZXh0VGltZXIoUmVu
ZGVyVGV4dCYgcmVuZGVyZXIpCiBpbmxpbmUgdm9pZCBTZWN1cmVUZXh0VGltZXI6OnJlc3RhcnQo
dW5zaWduZWQgb2Zmc2V0QWZ0ZXJMYXN0VHlwZWRDaGFyYWN0ZXIpCiB7CiAgICAgbV9vZmZzZXRB
ZnRlckxhc3RUeXBlZENoYXJhY3RlciA9IG9mZnNldEFmdGVyTGFzdFR5cGVkQ2hhcmFjdGVyOwot
ICAgIHN0YXJ0T25lU2hvdChtX3JlbmRlcmVyLnNldHRpbmdzKCkucGFzc3dvcmRFY2hvRHVyYXRp
b25JblNlY29uZHMoKSk7CisgICAgc3RhcnRPbmVTaG90KDFfcyAqIG1fcmVuZGVyZXIuc2V0dGlu
Z3MoKS5wYXNzd29yZEVjaG9EdXJhdGlvbkluU2Vjb25kcygpKTsKIH0KIAogaW5saW5lIHVuc2ln
bmVkIFNlY3VyZVRleHRUaW1lcjo6dGFrZU9mZnNldEFmdGVyTGFzdFR5cGVkQ2hhcmFjdGVyKCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuY3BwCmluZGV4IGMzMWE5YWE2Y2Yy
YjA2OTgyMmI2ZmY1MDY3YmZmYWM1MzdmZjJiYTMuLmRiNGQ4MDhiODM1ODMwMTE3M2E4YWNjMDk2
ZDllNjQ0YmEzMGY4YjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUaGVtZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmNw
cApAQCAtMTA2Miw5ICsxMDYyLDkgQEAgdm9pZCBSZW5kZXJUaGVtZTo6cGFpbnRTbGlkZXJUaWNr
cyhjb25zdCBSZW5kZXJPYmplY3QmIG8sIGNvbnN0IFBhaW50SW5mbyYgcGFpbnQKIH0KICNlbmRp
ZgogCi1kb3VibGUgUmVuZGVyVGhlbWU6OmFuaW1hdGlvblJlcGVhdEludGVydmFsRm9yUHJvZ3Jl
c3NCYXIoUmVuZGVyUHJvZ3Jlc3MmKSBjb25zdAorU2Vjb25kcyBSZW5kZXJUaGVtZTo6YW5pbWF0
aW9uUmVwZWF0SW50ZXJ2YWxGb3JQcm9ncmVzc0JhcihSZW5kZXJQcm9ncmVzcyYpIGNvbnN0CiB7
Ci0gICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIDBfczsKIH0KIAogZG91YmxlIFJlbmRlclRoZW1l
OjphbmltYXRpb25EdXJhdGlvbkZvclByb2dyZXNzQmFyKFJlbmRlclByb2dyZXNzJikgY29uc3QK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmgKaW5kZXggNzFkMTY1YTEwOGQ2MTgw
MzZlY2YzM2UwYjFhZDJhMjE5YjkxMGE4MC4uNjE3Y2FkYjFjYTY5MjM3NmNmNWIzZTU3NjRlYjk3
N2E0NmMxM2NmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRo
ZW1lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmgKQEAgLTE5
NSw3ICsxOTUsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBTY3JvbGxiYXJDb250cm9sU2l6ZSBz
Y3JvbGxiYXJDb250cm9sU2l6ZUZvclBhcnQoQ29udHJvbFBhcnQpIHsgcmV0dXJuIFJlZ3VsYXJT
Y3JvbGxiYXI7IH0KIAogICAgIC8vIFJldHVybnMgdGhlIHJlcGVhdCBpbnRlcnZhbCBvZiB0aGUg
YW5pbWF0aW9uIGZvciB0aGUgcHJvZ3Jlc3MgYmFyLgotICAgIHZpcnR1YWwgZG91YmxlIGFuaW1h
dGlvblJlcGVhdEludGVydmFsRm9yUHJvZ3Jlc3NCYXIoUmVuZGVyUHJvZ3Jlc3MmKSBjb25zdDsK
KyAgICB2aXJ0dWFsIFNlY29uZHMgYW5pbWF0aW9uUmVwZWF0SW50ZXJ2YWxGb3JQcm9ncmVzc0Jh
cihSZW5kZXJQcm9ncmVzcyYpIGNvbnN0OwogICAgIC8vIFJldHVybnMgdGhlIGR1cmF0aW9uIG9m
IHRoZSBhbmltYXRpb24gZm9yIHRoZSBwcm9ncmVzcyBiYXIuCiAgICAgdmlydHVhbCBkb3VibGUg
YW5pbWF0aW9uRHVyYXRpb25Gb3JQcm9ncmVzc0JhcihSZW5kZXJQcm9ncmVzcyYpIGNvbnN0Owog
ICAgIHZpcnR1YWwgSW50UmVjdCBwcm9ncmVzc0JhclJlY3RGb3JCb3VuZHMoY29uc3QgUmVuZGVy
T2JqZWN0JiwgY29uc3QgSW50UmVjdCYpIGNvbnN0OwpAQCAtMjA4LDcgKzIwOCw3IEBAIHB1Ymxp
YzoKICAgICB2aXJ0dWFsIGJvb2wgdXNlc01lZGlhQ29udHJvbFZvbHVtZVNsaWRlcigpIGNvbnN0
IHsgcmV0dXJuIHRydWU7IH0KICAgICB2aXJ0dWFsIGJvb2wgdXNlc1ZlcnRpY2FsVm9sdW1lU2xp
ZGVyKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZpcnR1YWwgZG91YmxlIG1lZGlhQ29u
dHJvbHNGYWRlSW5EdXJhdGlvbigpIHsgcmV0dXJuIDAuMTsgfQotICAgIHZpcnR1YWwgZG91Ymxl
IG1lZGlhQ29udHJvbHNGYWRlT3V0RHVyYXRpb24oKSB7IHJldHVybiAwLjM7IH0KKyAgICB2aXJ0
dWFsIFNlY29uZHMgbWVkaWFDb250cm9sc0ZhZGVPdXREdXJhdGlvbigpIHsgcmV0dXJuIDMwMF9t
czsgfQogICAgIHZpcnR1YWwgU3RyaW5nIGZvcm1hdE1lZGlhQ29udHJvbHNUaW1lKGZsb2F0IHRp
bWUpIGNvbnN0OwogICAgIHZpcnR1YWwgU3RyaW5nIGZvcm1hdE1lZGlhQ29udHJvbHNDdXJyZW50
VGltZShmbG9hdCBjdXJyZW50VGltZSwgZmxvYXQgZHVyYXRpb24pIGNvbnN0OwogICAgIHZpcnR1
YWwgU3RyaW5nIGZvcm1hdE1lZGlhQ29udHJvbHNSZW1haW5pbmdUaW1lKGZsb2F0IGN1cnJlbnRU
aW1lLCBmbG9hdCBkdXJhdGlvbikgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVGhlbWVHdGsuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRoZW1lR3RrLmNwcAppbmRleCAxNzI4NGY0OTk4ZjMxNTM0YjU0MTk1MzliNDljNTQ2NGRh
NjM1MjhiLi5lZGM3NDdjZTZkNDg1N2ZlNTJmNzE3NzBkYzdmYTA3MDhjNDk5MWE0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVHdGsuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUd0ay5jcHAKQEAgLTIxMTEsOCArMjEx
MSw4IEBAIHZvaWQgUmVuZGVyVGhlbWVHdGs6OmFkanVzdFByb2dyZXNzQmFyU3R5bGUoU3R5bGVS
ZXNvbHZlciYsIFJlbmRlclN0eWxlJiBzdHlsZSwKIC8vIFRoZXNlIHZhbHVlcyBoYXZlIGJlZW4g
Y29waWVkIGZyb20gUmVuZGVyVGhlbWVDaHJvbWl1bVNraWEuY3BwCiBzdGF0aWMgY29uc3QgaW50
IHByb2dyZXNzQWN0aXZpdHlCbG9ja3MgPSA1Owogc3RhdGljIGNvbnN0IGludCBwcm9ncmVzc0Fu
aW1hdGlvbkZyYW1lcyA9IDEwOwotc3RhdGljIGNvbnN0IGRvdWJsZSBwcm9ncmVzc0FuaW1hdGlv
bkludGVydmFsID0gMC4xMjU7Ci1kb3VibGUgUmVuZGVyVGhlbWVHdGs6OmFuaW1hdGlvblJlcGVh
dEludGVydmFsRm9yUHJvZ3Jlc3NCYXIoUmVuZGVyUHJvZ3Jlc3MmKSBjb25zdAorc3RhdGljIGNv
bnN0IFNlY29uZHMgcHJvZ3Jlc3NBbmltYXRpb25JbnRlcnZhbCB7IDEyNV9tcyB9OworU2Vjb25k
cyBSZW5kZXJUaGVtZUd0azo6YW5pbWF0aW9uUmVwZWF0SW50ZXJ2YWxGb3JQcm9ncmVzc0JhcihS
ZW5kZXJQcm9ncmVzcyYpIGNvbnN0CiB7CiAgICAgcmV0dXJuIHByb2dyZXNzQW5pbWF0aW9uSW50
ZXJ2YWw7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhl
bWVHdGsuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUd0ay5oCmluZGV4
IDdiODJkOTMxNDY0NDRmZDRlZmVlNTYxNGU1YzExZDc2ZGIxZWQ4MTEuLjY0YTRkODlmZjQ1MmJi
NjIzZmQ4MDhhNTY5NTAwYWE2Y2NlYTRjZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUaGVtZUd0ay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUaGVtZUd0ay5oCkBAIC0xNjgsNyArMTY4LDcgQEAgcHJpdmF0ZToKICNlbmRpZgogI2Vu
ZGlmCiAKLSAgICBkb3VibGUgYW5pbWF0aW9uUmVwZWF0SW50ZXJ2YWxGb3JQcm9ncmVzc0JhcihS
ZW5kZXJQcm9ncmVzcyYpIGNvbnN0IG92ZXJyaWRlOworICAgIFNlY29uZHMgYW5pbWF0aW9uUmVw
ZWF0SW50ZXJ2YWxGb3JQcm9ncmVzc0JhcihSZW5kZXJQcm9ncmVzcyYpIGNvbnN0IG92ZXJyaWRl
OwogICAgIGRvdWJsZSBhbmltYXRpb25EdXJhdGlvbkZvclByb2dyZXNzQmFyKFJlbmRlclByb2dy
ZXNzJikgY29uc3Qgb3ZlcnJpZGU7CiAgICAgdm9pZCBhZGp1c3RQcm9ncmVzc0JhclN0eWxlKFN0
eWxlUmVzb2x2ZXImLCBSZW5kZXJTdHlsZSYsIGNvbnN0IEVsZW1lbnQqKSBjb25zdCBvdmVycmlk
ZTsKICAgICBJbnRSZWN0IHByb2dyZXNzQmFyUmVjdEZvckJvdW5kcyhjb25zdCBSZW5kZXJPYmpl
Y3QmLCBjb25zdCBJbnRSZWN0JikgY29uc3Qgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1MuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUaGVtZUlPUy5oCmluZGV4IGJiMzk4ZjdlYmNmMTMwZDlhNmExNDVhMjdlNjY4
Njk2MmEzYzk2ZTMuLjBiMWU1NDUxMDdlYmVhNzllNzQ0ODQ4ZTg3ZjY2YTM0M2NjZDA1NjYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUlPUy5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUlPUy5oCkBAIC04MSw3ICs4MSw3
IEBAIHByb3RlY3RlZDoKICAgICBib29sIHBhaW50U2xpZGVyVGh1bWJEZWNvcmF0aW9ucyhjb25z
dCBSZW5kZXJPYmplY3QmLCBjb25zdCBQYWludEluZm8mLCBjb25zdCBJbnRSZWN0Jikgb3ZlcnJp
ZGU7CiAKICAgICAvLyBSZXR1cm5zIHRoZSByZXBlYXQgaW50ZXJ2YWwgb2YgdGhlIGFuaW1hdGlv
biBmb3IgdGhlIHByb2dyZXNzIGJhci4KLSAgICBkb3VibGUgYW5pbWF0aW9uUmVwZWF0SW50ZXJ2
YWxGb3JQcm9ncmVzc0JhcihSZW5kZXJQcm9ncmVzcyYpIGNvbnN0IG92ZXJyaWRlOworICAgIFNl
Y29uZHMgYW5pbWF0aW9uUmVwZWF0SW50ZXJ2YWxGb3JQcm9ncmVzc0JhcihSZW5kZXJQcm9ncmVz
cyYpIGNvbnN0IG92ZXJyaWRlOwogICAgIC8vIFJldHVybnMgdGhlIGR1cmF0aW9uIG9mIHRoZSBh
bmltYXRpb24gZm9yIHRoZSBwcm9ncmVzcyBiYXIuCiAgICAgZG91YmxlIGFuaW1hdGlvbkR1cmF0
aW9uRm9yUHJvZ3Jlc3NCYXIoUmVuZGVyUHJvZ3Jlc3MmKSBjb25zdCBvdmVycmlkZTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lSU9TLm1tIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lSU9TLm1tCmluZGV4IDIwMTMxOTVmYTY5
YzI4N2IyNDZkMmMyZmRjMTJkMGM0ZTVkYWYyMDUuLmQ5ZjRmNzc5Yzk4MzMxYjUwZmJhMzVmMTQ0
NTNjZGJiZTA1YWZmNzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUaGVtZUlPUy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVJ
T1MubW0KQEAgLTg3MCw5ICs4NzAsOSBAQCBib29sIFJlbmRlclRoZW1lSU9TOjpwYWludFNsaWRl
clRodW1iRGVjb3JhdGlvbnMoY29uc3QgUmVuZGVyT2JqZWN0JiBib3gsIGNvbnN0CiAgICAgcmV0
dXJuIGZhbHNlOwogfQogCi1kb3VibGUgUmVuZGVyVGhlbWVJT1M6OmFuaW1hdGlvblJlcGVhdElu
dGVydmFsRm9yUHJvZ3Jlc3NCYXIoUmVuZGVyUHJvZ3Jlc3MmKSBjb25zdAorU2Vjb25kcyBSZW5k
ZXJUaGVtZUlPUzo6YW5pbWF0aW9uUmVwZWF0SW50ZXJ2YWxGb3JQcm9ncmVzc0JhcihSZW5kZXJQ
cm9ncmVzcyYpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIDBfczsKIH0KIAog
ZG91YmxlIFJlbmRlclRoZW1lSU9TOjphbmltYXRpb25EdXJhdGlvbkZvclByb2dyZXNzQmFyKFJl
bmRlclByb2dyZXNzJikgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUaGVtZU1hYy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1l
TWFjLmgKaW5kZXggNmI5YzcyN2M5YTgxODEwYTZhOGNkNDYwYzJhYWE2NjRlZjFhNDhmMS4uZjM5
MDBhMDAzZmU0ODA2Y2Y0NTUxMmNhYjRjNmFmMmMxMGMyOTJmZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLmgKQEAgLTg3LDcgKzg3LDcgQEAgcHVibGljOgogI2Vu
ZGlmCiAKICAgICAvLyBSZXR1cm5zIHRoZSByZXBlYXQgaW50ZXJ2YWwgb2YgdGhlIGFuaW1hdGlv
biBmb3IgdGhlIHByb2dyZXNzIGJhci4KLSAgICBkb3VibGUgYW5pbWF0aW9uUmVwZWF0SW50ZXJ2
YWxGb3JQcm9ncmVzc0JhcihSZW5kZXJQcm9ncmVzcyYpIGNvbnN0IG92ZXJyaWRlOworICAgIFNl
Y29uZHMgYW5pbWF0aW9uUmVwZWF0SW50ZXJ2YWxGb3JQcm9ncmVzc0JhcihSZW5kZXJQcm9ncmVz
cyYpIGNvbnN0IG92ZXJyaWRlOwogICAgIC8vIFJldHVybnMgdGhlIGR1cmF0aW9uIG9mIHRoZSBh
bmltYXRpb24gZm9yIHRoZSBwcm9ncmVzcyBiYXIuCiAgICAgZG91YmxlIGFuaW1hdGlvbkR1cmF0
aW9uRm9yUHJvZ3Jlc3NCYXIoUmVuZGVyUHJvZ3Jlc3MmKSBjb25zdCBvdmVycmlkZTsKICAgICBJ
bnRSZWN0IHByb2dyZXNzQmFyUmVjdEZvckJvdW5kcyhjb25zdCBSZW5kZXJPYmplY3QmLCBjb25z
dCBJbnRSZWN0JikgY29uc3Qgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGhlbWVNYWMubW0KaW5kZXggZjgwZTJjOTE5ODkwMWJiYWM4OTk0YjZmY2UzY2ZlZjNkMzEz
NDVjMS4uOWI1NWVmNmY3OTZmOGU3Yzg3NzA5NWRiMjkyNDI1ZjRlNzRhODI2MyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1tCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5tbQpAQCAtMTE0LDEwICsxMTQsMTAg
QEAgQGVuZAogCiAvLyBXZSBlc3RpbWF0ZSB0aGUgYW5pbWF0aW9uIHJhdGUgb2YgYSBNYWMgT1Mg
WCBwcm9ncmVzcyBiYXIgaXMgMzMgZnBzLgogLy8gSGFyZCBjb2RlIHRoZSB2YWx1ZSBoZXJlIGJl
Y2F1c2Ugd2UgaGF2ZW4ndCBmb3VuZCBBUEkgZm9yIGl0LgotY29uc3QgZG91YmxlIHByb2dyZXNz
QW5pbWF0aW9uRnJhbWVSYXRlID0gMC4wMzM7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBwcm9ncmVz
c0FuaW1hdGlvbkZyYW1lUmF0ZSA9IDMzX21zOwogCiAvLyBNYWMgT1MgWCBwcm9ncmVzcyBiYXIg
YW5pbWF0aW9uIHNlZW1zIHRvIGhhdmUgMjU2IGZyYW1lcy4KLWNvbnN0IGRvdWJsZSBwcm9ncmVz
c0FuaW1hdGlvbk51bUZyYW1lcyA9IDI1NjsKK3N0YXRpYyBjb25zdCBkb3VibGUgcHJvZ3Jlc3NB
bmltYXRpb25OdW1GcmFtZXMgPSAyNTY7CiAKIEBpbnRlcmZhY2UgV2ViQ29yZVJlbmRlclRoZW1l
Tm90aWZpY2F0aW9uT2JzZXJ2ZXIgOiBOU09iamVjdAogewpAQCAtMTEyOSwxNCArMTEyOSwxNCBA
QCBpbnQgUmVuZGVyVGhlbWVNYWM6Om1pbmltdW1Qcm9ncmVzc0JhckhlaWdodChjb25zdCBSZW5k
ZXJTdHlsZSYgc3R5bGUpIGNvbnN0CiAgICAgcmV0dXJuIHNpemVGb3JTeXN0ZW1Gb250KHN0eWxl
LCBwcm9ncmVzc0JhclNpemVzKCkpLmhlaWdodCgpOwogfQogCi1kb3VibGUgUmVuZGVyVGhlbWVN
YWM6OmFuaW1hdGlvblJlcGVhdEludGVydmFsRm9yUHJvZ3Jlc3NCYXIoUmVuZGVyUHJvZ3Jlc3Mm
KSBjb25zdAorU2Vjb25kcyBSZW5kZXJUaGVtZU1hYzo6YW5pbWF0aW9uUmVwZWF0SW50ZXJ2YWxG
b3JQcm9ncmVzc0JhcihSZW5kZXJQcm9ncmVzcyYpIGNvbnN0CiB7CiAgICAgcmV0dXJuIHByb2dy
ZXNzQW5pbWF0aW9uRnJhbWVSYXRlOwogfQogCiBkb3VibGUgUmVuZGVyVGhlbWVNYWM6OmFuaW1h
dGlvbkR1cmF0aW9uRm9yUHJvZ3Jlc3NCYXIoUmVuZGVyUHJvZ3Jlc3MmKSBjb25zdAogewotICAg
IHJldHVybiBwcm9ncmVzc0FuaW1hdGlvbk51bUZyYW1lcyAqIHByb2dyZXNzQW5pbWF0aW9uRnJh
bWVSYXRlOworICAgIHJldHVybiBwcm9ncmVzc0FuaW1hdGlvbk51bUZyYW1lcyAqIHByb2dyZXNz
QW5pbWF0aW9uRnJhbWVSYXRlLnZhbHVlKCk7CiB9CiAKIHZvaWQgUmVuZGVyVGhlbWVNYWM6OmFk
anVzdFByb2dyZXNzQmFyU3R5bGUoU3R5bGVSZXNvbHZlciYsIFJlbmRlclN0eWxlJiwgY29uc3Qg
RWxlbWVudCopIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvRXZlbnRM
b29wSW5wdXREaXNwYXRjaGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9FdmVudExvb3BJ
bnB1dERpc3BhdGNoZXIuY3BwCmluZGV4IDUxMDI5M2ZjMTZjNjRhYzliNWZiNTFlN2I5OGQwOTBk
OGI1MTM2NjcuLjllMjc4NmQ1OGEwZjY1YzhiZWM0NWE5NzNjYWVhNDZhMmY1MDkzYTIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9FdmVudExvb3BJbnB1dERpc3BhdGNoZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9FdmVudExvb3BJbnB1dERpc3BhdGNoZXIuY3Bw
CkBAIC0xMTgsNyArMTE4LDcgQEAgdm9pZCBFdmVudExvb3BJbnB1dERpc3BhdGNoZXI6OmRpc3Bh
dGNoSW5wdXRTb29uKCkKICAgICB9CiAKICAgICBMT0coV2ViUmVwbGF5LCAiJS0yMHMgKFdBSVQ6
ICUuM2YgbXMpIiwgIlJlcGxheUV2ZW50cyIsIHdhaXRJbnRlcnZhbCAqIDEwMDAuMCk7Ci0gICAg
bV90aW1lci5zdGFydE9uZVNob3Qod2FpdEludGVydmFsKTsKKyAgICBtX3RpbWVyLnN0YXJ0T25l
U2hvdCgxX3MgKiB3YWl0SW50ZXJ2YWwpOwogfQogCiB2b2lkIEV2ZW50TG9vcElucHV0RGlzcGF0
Y2hlcjo6ZGlzcGF0Y2hJbnB1dCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvYW5p
bWF0aW9uL1NNSUxUaW1lQ29udGFpbmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9hbmltYXRp
b24vU01JTFRpbWVDb250YWluZXIuY3BwCmluZGV4IDEyNWI0M2I0Y2VmZTJiMmVmYjJmYzBmNWVi
ZmE1NDFlMjdhMTg0MGQuLjQ1Y2FmOWY0Y2M1MzVmN2NmZDc5ZDVkMTRiOGYwYjc4Njg2NTRmNTUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9hbmltYXRpb24vU01JTFRpbWVDb250YWlu
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9hbmltYXRpb24vU01JTFRpbWVDb250YWlu
ZXIuY3BwCkBAIC0zNSw4ICszNSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGlj
IGNvbnN0IFNlY29uZHMgU01JTEFuaW1hdGlvbkZyYW1lRGVsYXkgeyAxLjAgLyA2MCB9Owotc3Rh
dGljIGNvbnN0IFNlY29uZHMgU01JTEFuaW1hdGlvbkZyYW1lVGhyb3R0bGVkRGVsYXkgeyAxLjAg
LyAzMCB9Oworc3RhdGljIGNvbnN0IFNlY29uZHMgU01JTEFuaW1hdGlvbkZyYW1lRGVsYXkgeyAx
X3MgLyA2MC4gfTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIFNNSUxBbmltYXRpb25GcmFtZVRocm90
dGxlZERlbGF5IHsgMV9zIC8gMzAuIH07CiAKIFNNSUxUaW1lQ29udGFpbmVyOjpTTUlMVGltZUNv
bnRhaW5lcihTVkdTVkdFbGVtZW50JiBvd25lcikKICAgICA6IG1fYmVnaW5UaW1lKDApCkBAIC0y
MTYsNyArMjE2LDcgQEAgdm9pZCBTTUlMVGltZUNvbnRhaW5lcjo6c3RhcnRUaW1lcihTTUlMVGlt
ZSBlbGFwc2VkLCBTTUlMVGltZSBmaXJlVGltZSwgU01JTFRpbWUKICAgICAgICAgcmV0dXJuOwog
CiAgICAgU01JTFRpbWUgZGVsYXkgPSBzdGQ6Om1heChmaXJlVGltZSAtIGVsYXBzZWQsIG1pbmlt
dW1EZWxheSk7Ci0gICAgbV90aW1lci5zdGFydE9uZVNob3QoZGVsYXkudmFsdWUoKSk7CisgICAg
bV90aW1lci5zdGFydE9uZVNob3QoMV9zICogZGVsYXkudmFsdWUoKSk7CiB9CiAKIHZvaWQgU01J
TFRpbWVDb250YWluZXI6OnRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxTZXR0aW5ncy5jcHAKaW5kZXggZTllYTRjYjA0ODA5ZGFhYzU0OTVhOGEyN2Y1MDY1NjE4
ZGY4NjkzMS4uN2FjZjUwNTkzMWUyMDIyY2Y2ZDYyNGRlYWM5YzA1YTNlYmQ2Njg3MiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwCkBAIC01NzAsNyArNTcw
LDcgQEAgRXhjZXB0aW9uT3I8dm9pZD4gSW50ZXJuYWxTZXR0aW5nczo6c2V0VGltZVdpdGhvdXRN
b3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHIKIHsKICAgICBpZiAoIW1fcGFnZSkKICAgICAg
ICAgcmV0dXJuIEV4Y2VwdGlvbiB7IElOVkFMSURfQUNDRVNTX0VSUiB9OwotICAgIHNldHRpbmdz
KCkuc2V0VGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHModGltZSk7
CisgICAgc2V0dGluZ3MoKS5zZXRUaW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdD
b250cm9scyhTZWNvbmRzIHsgdGltZSB9KTsKICAgICByZXR1cm4geyB9OwogfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaCBiL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5oCmluZGV4IDIwYTczNjM5YjUwYzcyMGQz
N2Y1NTIzZGEyZjU3YjRkNjA2ZDZhYzYuLjE5ZTViZGUxNWJkNWQyNDNiM2VjYjFkYzgxZDNkYmRm
MTMxNTE1ZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0
aW5ncy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5oCkBA
IC0xNTksNyArMTU5LDcgQEAgcHJpdmF0ZToKICNlbmRpZgogICAgICAgICBTdHJpbmcgbV9kZWZh
dWx0VmlkZW9Qb3N0ZXJVUkw7CiAgICAgICAgIGJvb2wgbV9mb3JjZVBlbmRpbmdXZWJHTFBvbGlj
eTsKLSAgICAgICAgYm9vbCBtX29yaWdpbmFsVGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3Jl
SGlkaW5nQ29udHJvbHM7CisgICAgICAgIFNlY29uZHMgbV9vcmlnaW5hbFRpbWVXaXRob3V0TW91
c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzOwogICAgICAgICBib29sIG1fdXNlTGVnYWN5
QmFja2dyb3VuZFNpemVTaG9ydGhhbmRCZWhhdmlvcjsKICAgICAgICAgYm9vbCBtX2F1dG9zY3Jv
bGxGb3JEcmFnQW5kRHJvcEVuYWJsZWQ7CiAgICAgICAgIGJvb2wgbV9xdWlja1RpbWVQbHVnaW5S
ZXBsYWNlbWVudEVuYWJsZWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFscy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKaW5kZXgg
NTU1YmYxNTg5YTA4ZTcwNDBiM2IzMzdhMmM2NGRkMzQyYWNiNjUwNS4uZDU5ZTY4NzhmNWY3OGYy
NDQwYjBkMjM2ODI1ZWY1NGNhOWVlOGMxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9JbnRlcm5hbHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxz
LmNwcApAQCAtNzI5LDcgKzcyOSw3IEBAIHZvaWQgSW50ZXJuYWxzOjpzZXRJbWFnZUZyYW1lRGVj
b2RpbmdEdXJhdGlvbihIVE1MSW1hZ2VFbGVtZW50JiBlbGVtZW50LCBmbG9hdCBkCiAgICAgaWYg
KCFpczxCaXRtYXBJbWFnZT4oaW1hZ2UpKQogICAgICAgICByZXR1cm47CiAgICAgCi0gICAgZG93
bmNhc3Q8Qml0bWFwSW1hZ2U+KCppbWFnZSkuc2V0RnJhbWVEZWNvZGluZ0R1cmF0aW9uRm9yVGVz
dGluZyhkdXJhdGlvbik7CisgICAgZG93bmNhc3Q8Qml0bWFwSW1hZ2U+KCppbWFnZSkuc2V0RnJh
bWVEZWNvZGluZ0R1cmF0aW9uRm9yVGVzdGluZyhTZWNvbmRzIHsgZHVyYXRpb24gfSk7CiB9CiAK
IHZvaWQgSW50ZXJuYWxzOjpyZXNldEltYWdlQW5pbWF0aW9uKEhUTUxJbWFnZUVsZW1lbnQmIGVs
ZW1lbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3Bw
IGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcAppbmRleCA5ZGVmOTM3YzUy
MWJiMTk5ODUwYTEyOGI0MWY1NGMxYzU3M2ExNzQ4Li4xMzA2MTA4Yzg0YTNiOTMzNGYzZDkyN2Fh
NWJmNGY5MzU0NTg1MTQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJl
cXVlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5jcHAKQEAg
LTczOCw3ICs3MzgsNyBAQCBFeGNlcHRpb25Pcjx2b2lkPiBYTUxIdHRwUmVxdWVzdDo6Y3JlYXRl
UmVxdWVzdCgpCiAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgcmVxdWVzdC5zZXRUaW1lb3V0
SW50ZXJ2YWwoc3RkOjpudW1lcmljX2xpbWl0czxkb3VibGU+OjppbmZpbml0eSgpKTsKICAgICAg
ICAgICAgIG1fc2VuZGluZ1RpbWUgPSBNb25vdG9uaWNUaW1lOjpub3coKTsKLSAgICAgICAgICAg
IG1fdGltZW91dFRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzIHsgbV90aW1lb3V0TWlsbGlzZWNv
bmRzIC8gMTAwMC4gfSk7CisgICAgICAgICAgICBtX3RpbWVvdXRUaW1lci5zdGFydE9uZVNob3Qo
MV9tcyAqIG1fdGltZW91dE1pbGxpc2Vjb25kcyk7CiAgICAgICAgIH0KICAgICB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvU3RvcmFnZS9TdG9yYWdlQXJlYVN5bmMuY3BwIGIvU291cmNl
L1dlYktpdC9TdG9yYWdlL1N0b3JhZ2VBcmVhU3luYy5jcHAKaW5kZXggYWMwZGNjMTI1Njk0ZGFk
NGM0YjkyMjg3YTAzMWVmYTA5MzU0ZWExOS4uYmExNWU0YTRkYTBiYzIzMDlmOWUyZjE3NjE0MWJm
NmE2MTNkMDMwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TdG9yYWdlL1N0b3JhZ2VBcmVh
U3luYy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TdG9yYWdlL1N0b3JhZ2VBcmVhU3luYy5jcHAK
QEAgLTQxLDcgKzQxLDcgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAKIC8vIElmIHRoZSBTdG9yYWdl
QXJlYSB1bmRlcmdvZXMgcmFwaWQgY2hhbmdlcywgZG9uJ3Qgc3luYyBlYWNoIGNoYW5nZSB0byBk
aXNrLgogLy8gSW5zdGVhZCwgcXVldWUgdXAgYSBiYXRjaCBvZiBpdGVtcyB0byBzeW5jIGFuZCBh
Y3R1YWxseSBkbyB0aGUgc3luYyBhdCB0aGUgZm9sbG93aW5nIGludGVydmFsLgotc3RhdGljIGNv
bnN0IGRvdWJsZSBTdG9yYWdlU3luY0ludGVydmFsID0gMS4wOworc3RhdGljIGNvbnN0IFNlY29u
ZHMgU3RvcmFnZVN5bmNJbnRlcnZhbCB7IDFfcyB9OwogCiAvLyBBIHNhbmUgbGltaXQgb24gaG93
IG1hbnkgaXRlbXMgd2UnbGwgc2NoZWR1bGUgdG8gc3luYyBhbGwgYXQgb25jZS4gIFRoaXMgbWFr
ZXMgaXQKIC8vIG11Y2ggaGFyZGVyIHRvIHN0YXJ2ZSB0aGUgcmVzdCBvZiBMb2NhbFN0b3JhZ2Ug
YW5kIHRoZSBPUydzIElPIHN1YnN5c3RlbSBpbiBnZW5lcmFsLgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9TdG9yYWdlL1N0b3JhZ2VUcmFja2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQvU3RvcmFn
ZS9TdG9yYWdlVHJhY2tlci5jcHAKaW5kZXggNTlhMDBmZTMwYTk2M2Y1ODEzZDhiMGRkYTA0ZGI2
MDgxYTY2MjNiZC4uMGJlZTI1MDlmMmU1NGMwM2FmYWEyYzU0ZjBjM2VlYThkMGI2MzQ1MiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9TdG9yYWdlL1N0b3JhZ2VUcmFja2VyLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L1N0b3JhZ2UvU3RvcmFnZVRyYWNrZXIuY3BwCkBAIC01Miw3ICs1Miw3IEBA
IHN0YXRpYyBTdG9yYWdlVHJhY2tlciogc3RvcmFnZVRyYWNrZXIgPSBudWxscHRyOwogCiAvLyBJ
ZiB0aGVyZSBpcyBubyBkb2N1bWVudCByZWZlcmVuY2luZyBhIHN0b3JhZ2UgZGF0YWJhc2UsIGNs
b3NlIHRoZSB1bmRlcmx5aW5nIGRhdGFiYXNlCiAvLyBhZnRlciBpdCBoYXMgYmVlbiBpZGxlIGZv
ciBtX1N0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbCBzZWNvbmRzLgotc3RhdGljIGNvbnN0IGRv
dWJsZSBEZWZhdWx0U3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsID0gMzAwOworc3RhdGljIGNv
bnN0IFNlY29uZHMgZGVmYXVsdFN0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbCA9IDMwMF9zOwog
ICAgIAogdm9pZCBTdG9yYWdlVHJhY2tlcjo6aW5pdGlhbGl6ZVRyYWNrZXIoY29uc3QgU3RyaW5n
JiBzdG9yYWdlUGF0aCwgU3RvcmFnZVRyYWNrZXJDbGllbnQqIGNsaWVudCkKIHsKQEAgLTk3LDcg
Kzk3LDcgQEAgU3RvcmFnZVRyYWNrZXI6OlN0b3JhZ2VUcmFja2VyKGNvbnN0IFN0cmluZyYgc3Rv
cmFnZVBhdGgpCiAgICAgLCBtX3RocmVhZChzdGQ6Om1ha2VfdW5pcXVlPFN0b3JhZ2VUaHJlYWQ+
KCkpCiAgICAgLCBtX2lzQWN0aXZlKGZhbHNlKQogICAgICwgbV9uZWVkc0luaXRpYWxpemF0aW9u
KGZhbHNlKQotICAgICwgbV9TdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwoRGVmYXVsdFN0b3Jh
Z2VEYXRhYmFzZUlkbGVJbnRlcnZhbCkKKyAgICAsIG1fU3RvcmFnZURhdGFiYXNlSWRsZUludGVy
dmFsKGRlZmF1bHRTdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwpCiB7CiB9CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvU3RvcmFnZS9TdG9yYWdlVHJhY2tlci5oIGIvU291cmNlL1dlYktp
dC9TdG9yYWdlL1N0b3JhZ2VUcmFja2VyLmgKaW5kZXggNTVkNWIwZDIyZTlhMzlmOWI4YzA4OTM3
ZjU5NGU4ZmEzYmRhY2E4OC4uZTFlZDZiOTM2YjZmNzdkYzBkMTgxOGE2NWE0YjcxMzA4NGM5MDY3
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TdG9yYWdlL1N0b3JhZ2VUcmFja2VyLmgKKysr
IGIvU291cmNlL1dlYktpdC9TdG9yYWdlL1N0b3JhZ2VUcmFja2VyLmgKQEAgLTU5LDggKzU5LDgg
QEAgcHVibGljOgogICAgIAogICAgIGJvb2wgaXNBY3RpdmUoKTsKIAotICAgIGRvdWJsZSBzdG9y
YWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwoKSB7IHJldHVybiBtX1N0b3JhZ2VEYXRhYmFzZUlkbGVJ
bnRlcnZhbDsgfQotICAgIHZvaWQgc2V0U3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsKGRvdWJs
ZSBpbnRlcnZhbCkgeyBtX1N0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbCA9IGludGVydmFsOyB9
CisgICAgU2Vjb25kcyBzdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwoKSB7IHJldHVybiBtX1N0
b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbDsgfQorICAgIHZvaWQgc2V0U3RvcmFnZURhdGFiYXNl
SWRsZUludGVydmFsKFNlY29uZHMgaW50ZXJ2YWwpIHsgbV9TdG9yYWdlRGF0YWJhc2VJZGxlSW50
ZXJ2YWwgPSBpbnRlcnZhbDsgfQogCiAgICAgdm9pZCBzeW5jRmlsZVN5c3RlbUFuZFRyYWNrZXJE
YXRhYmFzZSgpOwogCkBAIC0xMTAsNyArMTEwLDcgQEAgcHJpdmF0ZToKICAgICAKICAgICBib29s
IG1faXNBY3RpdmU7CiAgICAgYm9vbCBtX25lZWRzSW5pdGlhbGl6YXRpb247Ci0gICAgZG91Ymxl
IG1fU3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsOworICAgIFNlY29uZHMgbV9TdG9yYWdlRGF0
YWJhc2VJZGxlSW50ZXJ2YWw7CiB9OwogICAgIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblZpZXcu
bW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luVmlldy5tbQpp
bmRleCAwODdmY2ZiYzAxYjg2YzBmMTkxYWRjMDQzNWFhMDQ4NTVjN2Y3MTBiLi4wMTkzZTQwZmU2
ZGUxNjNmNjAxYzA4MjVkZjg0M2YzZWI4Mjk1NGZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luVmlldy5tbQpAQCAtMTExLDcgKzExMSw3IEBA
IHN0YXRpYyBXZWJOZXRzY2FwZVBsdWdpblZpZXcgKmN1cnJlbnRQbHVnaW5WaWV3ID0gbmlsOwog
CiB0eXBlZGVmIHN0cnVjdCBPcGFxdWVQb3J0U3RhdGUqIFBvcnRTdGF0ZTsKIAotc3RhdGljIGNv
bnN0IGRvdWJsZSBUaHJvdHRsZWRUaW1lckludGVydmFsID0gMC4yNTsKK3N0YXRpYyBjb25zdCBT
ZWNvbmRzIHRocm90dGxlZFRpbWVySW50ZXJ2YWwgeyAyNTBfbXMgfTsKIAogY2xhc3MgUGx1Z2lu
VGltZXIgOiBwdWJsaWMgVGltZXJCYXNlIHsKIHB1YmxpYzoKQEAgLTEzMCwxMCArMTMwLDEwIEBA
IHB1YmxpYzoKICAgICB7CiAgICAgICAgIEFTU0VSVCghaXNBY3RpdmUoKSk7CiAKLSAgICAgICAg
ZG91YmxlIHRpbWVJbnRlcnZhbCA9IG1faW50ZXJ2YWwgLyAxMDAwLjA7CisgICAgICAgIFNlY29u
ZHMgdGltZUludGVydmFsID0gMV9tcyAqIG1faW50ZXJ2YWw7CiAgICAgICAgIAogICAgICAgICBp
ZiAodGhyb3R0bGUpCi0gICAgICAgICAgICB0aW1lSW50ZXJ2YWwgPSBzdGQ6Om1heCh0aW1lSW50
ZXJ2YWwsIFRocm90dGxlZFRpbWVySW50ZXJ2YWwpOworICAgICAgICAgICAgdGltZUludGVydmFs
ID0gc3RkOjptYXgodGltZUludGVydmFsLCB0aHJvdHRsZWRUaW1lckludGVydmFsKTsKICAgICAg
ICAgCiAgICAgICAgIGlmIChtX3JlcGVhdCkKICAgICAgICAgICAgIHN0YXJ0UmVwZWF0aW5nKFNl
Y29uZHMgeyB0aW1lSW50ZXJ2YWwgfSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9T
dG9yYWdlL1dlYlN0b3JhZ2VNYW5hZ2VyLm1tIGIvU291cmNlL1dlYktpdC9tYWMvU3RvcmFnZS9X
ZWJTdG9yYWdlTWFuYWdlci5tbQppbmRleCAzNzA0ZjdlZGQzNTg0ZmYxOGQ3NmE2NmE5ZjAyMzM4
ODU0ZGM3ZjY5Li44MWJhMWU2ZGRmYjBkMDg5OGM3MDcyZTFkNjgxMzRlNDcyYTU3ODJhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9TdG9yYWdlL1dlYlN0b3JhZ2VNYW5hZ2VyLm1tCisr
KyBiL1NvdXJjZS9XZWJLaXQvbWFjL1N0b3JhZ2UvV2ViU3RvcmFnZU1hbmFnZXIubW0KQEAgLTEx
Nyw3ICsxMTcsNyBAQCArIChOU1N0cmluZyAqKV9zdG9yYWdlRGlyZWN0b3J5UGF0aAogCiArICh2
b2lkKXNldFN0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbDooZG91YmxlKWludGVydmFsCiB7Ci0g
ICAgV2ViS2l0OjpTdG9yYWdlVHJhY2tlcjo6dHJhY2tlcigpLnNldFN0b3JhZ2VEYXRhYmFzZUlk
bGVJbnRlcnZhbChpbnRlcnZhbCk7CisgICAgV2ViS2l0OjpTdG9yYWdlVHJhY2tlcjo6dHJhY2tl
cigpLnNldFN0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbCgxX3MgKiBpbnRlcnZhbCk7CiB9CiAK
ICsgKHZvaWQpY2xvc2VJZGxlTG9jYWxTdG9yYWdlRGF0YWJhc2VzCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpbk1lc3NhZ2VUaHJvdHRsZXJXaW4uY3BwIGIvU291
cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5NZXNzYWdlVGhyb3R0bGVyV2luLmNwcAppbmRl
eCBhNTNjMzE1YzIwMTg0Mzk0ZjNiNDA2NGEzZjU0NDc1NzNlZDJjZjA5Li40MzMxYWZhZjE5ZDMx
YjIxNDgwN2U5ZTNmYTcyZTgzODA3YjliMTJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dp
bi9QbHVnaW5zL1BsdWdpbk1lc3NhZ2VUaHJvdHRsZXJXaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvd2luL1BsdWdpbnMvUGx1Z2luTWVzc2FnZVRocm90dGxlcldpbi5jcHAKQEAgLTM5LDcgKzM5
LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogLy8gVGhpcyB2YWx1ZSBhbGxvd3MgRmxhc2ggNjAg
bWVzc2FnZXMvc2Vjb25kLCB3aGljaCBzaG91bGQgYmUgZW5vdWdoIGZvciB2aWRlbwogLy8gcGxh
eWJhY2ssIGFuZCBhbHNvIGdldHMgdXMgb3ZlciB0aGUgbGltaXQgZm9yIGtpY2tpbmcgaW50byBo
aWdoLXJlc29sdXRpb24KIC8vIHRpbWVyIG1vZGUgKHNlZSBTaGFyZWRUaW1lcldpbi5jcHApLgot
c3RhdGljIGNvbnN0IGRvdWJsZSBNZXNzYWdlVGhyb3R0bGVUaW1lSW50ZXJ2YWwgPSAwLjAxNjsK
K3N0YXRpYyBjb25zdCBTZWNvbmRzIG1lc3NhZ2VUaHJvdHRsZVRpbWVJbnRlcnZhbCB7IDE2X21z
IH07CiAKIC8vIER1cmluZyBhIGNvbnRpbnVvdXMgc3RyZWFtIG9mIG1lc3NhZ2VzLCBwcm9jZXNz
IG9uZSBldmVyeSA1bXMuCiBzdGF0aWMgY29uc3QgZG91YmxlIE1lc3NhZ2VEaXJlY3RQcm9jZXNz
aW5nSW50ZXJ2YWwgPSAwLjAwNTsKQEAgLTk1LDcgKzk1LDcgQEAgdm9pZCBQbHVnaW5NZXNzYWdl
VGhyb3R0bGVyV2luOjphcHBlbmRNZXNzYWdlKEhXTkQgaFduZCwgVUlOVCBtc2csIFdQQVJBTSB3
UGFyYW0KICAgICB9CiAKICAgICBpZiAoIW1fbWVzc2FnZVRocm90dGxlVGltZXIuaXNBY3RpdmUo
KSkKLSAgICAgICAgbV9tZXNzYWdlVGhyb3R0bGVUaW1lci5zdGFydE9uZVNob3QoTWVzc2FnZVRo
cm90dGxlVGltZUludGVydmFsKTsKKyAgICAgICAgbV9tZXNzYWdlVGhyb3R0bGVUaW1lci5zdGFy
dE9uZVNob3QobWVzc2FnZVRocm90dGxlVGltZUludGVydmFsKTsKIH0KIAogdm9pZCBQbHVnaW5N
ZXNzYWdlVGhyb3R0bGVyV2luOjpwcm9jZXNzUXVldWVkTWVzc2FnZSgpCkBAIC0xMTgsNyArMTE4
LDcgQEAgdm9pZCBQbHVnaW5NZXNzYWdlVGhyb3R0bGVyV2luOjptZXNzYWdlVGhyb3R0bGVUaW1l
ckZpcmVkKCkKICAgICBwcm9jZXNzUXVldWVkTWVzc2FnZSgpOwogCiAgICAgaWYgKG1fZnJvbnQp
Ci0gICAgICAgIG1fbWVzc2FnZVRocm90dGxlVGltZXIuc3RhcnRPbmVTaG90KE1lc3NhZ2VUaHJv
dHRsZVRpbWVJbnRlcnZhbCk7CisgICAgICAgIG1fbWVzc2FnZVRocm90dGxlVGltZXIuc3RhcnRP
bmVTaG90KG1lc3NhZ2VUaHJvdHRsZVRpbWVJbnRlcnZhbCk7CiB9CiAKIFBsdWdpbk1lc3NhZ2Uq
IFBsdWdpbk1lc3NhZ2VUaHJvdHRsZXJXaW46OmFsbG9jYXRlTWVzc2FnZSgpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpblZpZXdXaW4uY3BwIGIvU291cmNlL1dl
YktpdC93aW4vUGx1Z2lucy9QbHVnaW5WaWV3V2luLmNwcAppbmRleCA3NWNiNzdmMWYzZDRkYTNj
MWQ2Njc3ZjE3OWI0MjJlZmQzMjAwMzc0Li4yNGZiMTNlZDMxMzVhNTdiNTg0ZDA1MGQyOTBkNTI4
NTgwNjUwMDc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpblZp
ZXdXaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luVmlld1dpbi5j
cHAKQEAgLTgzOSw3ICs4MzksNyBAQCB2b2lkIFBsdWdpblZpZXc6OmludmFsaWRhdGVSZWN0KE5Q
UmVjdCogcmVjdCkKICAgICAgICAgaWYgKG1fcGx1Z2luLT5xdWlya3MoKS5jb250YWlucyhQbHVn
aW5RdWlya1Rocm90dGxlSW52YWxpZGF0ZSkpIHsKICAgICAgICAgICAgIG1faW52YWxpZFJlY3Rz
LmFwcGVuZChyKTsKICAgICAgICAgICAgIGlmICghbV9pbnZhbGlkYXRlVGltZXIuaXNBY3RpdmUo
KSkKLSAgICAgICAgICAgICAgICBtX2ludmFsaWRhdGVUaW1lci5zdGFydE9uZVNob3QoMC4wMDEp
OworICAgICAgICAgICAgICAgIG1faW52YWxpZGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgxX21zKTsK
ICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICBpbnZhbGlkYXRlUmVjdChyKTsKICAgICB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9BY2NlbGVyYXRlZENv
bXBvc2l0aW5nQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9B
Y2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dC5jcHAKaW5kZXggZmMwZDE1NTcwZmVhZWM5ZGIz
ODY5NzA4YjVhYjdjN2E0YWQyMjI4Mi4uNWUxNmUyMGYxOWMxMmJmNTViMGZkZjg5ODFkNzA5Mzgw
OGM4NGVhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvQWNj
ZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1dl
YkNvcmVTdXBwb3J0L0FjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0LmNwcApAQCAtMzQ5LDcg
KzM0OSw3IEBAIHZvaWQgQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQ6OnNjaGVkdWxlTGF5
ZXJGbHVzaCgpCiAgICAgaWYgKG1fbGF5ZXJGbHVzaFRpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAg
IHJldHVybjsKIAotICAgIG1fbGF5ZXJGbHVzaFRpbWVyLnN0YXJ0T25lU2hvdCgwLjA1KTsKKyAg
ICBtX2xheWVyRmx1c2hUaW1lci5zdGFydE9uZVNob3QoNTBfbXMpOwogfQogCiBib29sIEFjY2Vs
ZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0OjpmbHVzaFBlbmRpbmdMYXllckNoYW5nZXMoKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvUGluZ0xvYWQuaCBiL1NvdXJj
ZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL1BpbmdMb2FkLmgKaW5kZXggZjAxNDRkNjg4ZGY2M2U5
NWQ0NDY5NDg2YzU2Yzg2NmQ4ODliN2E2MS4uMzliZTA2ZDNlMWJjNDRmZTIxYTY5NjQwY2RhNDll
NGQ4MjY1YWRmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvUGlu
Z0xvYWQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9QaW5nTG9hZC5oCkBA
IC00Niw3ICs0Niw3IEBAIHB1YmxpYzoKIAogICAgICAgICAvLyBJZiB0aGUgc2VydmVyIG5ldmVy
IHJlc3BvbmRzLCB0aGlzIG9iamVjdCB3aWxsIGhhbmcgYXJvdW5kIGZvcmV2ZXIuCiAgICAgICAg
IC8vIFNldCBhIHZlcnkgZ2VuZXJvdXMgdGltZW91dCwganVzdCBpbiBjYXNlLgotICAgICAgICBt
X3RpbWVvdXRUaW1lci5zdGFydE9uZVNob3QoNjAwMDApOworICAgICAgICBtX3RpbWVvdXRUaW1l
ci5zdGFydE9uZVNob3QoNjAwMDBfcyk7CiAgICAgfQogICAgIAogcHJpdmF0ZToKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL3NvdXAvTmV0d29ya0RhdGFUYXNrU291
cC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9zb3VwL05ldHdvcmtEYXRhVGFz
a1NvdXAuY3BwCmluZGV4IDVmZjliNzg0MDllYjgwNjk2NTkxYzkyOWJlOGM3NTkwNTRiM2U2ZGEu
LjkwYmUyM2RmMzkwM2NjZmZlNjJmZWY2ZDY1NWYyYWFkMTIxZjMxN2IgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL3NvdXAvTmV0d29ya0RhdGFUYXNrU291cC5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mvc291cC9OZXR3b3JrRGF0YVRhc2tT
b3VwLmNwcApAQCAtMjkxLDcgKzI5MSw3IEBAIHZvaWQgTmV0d29ya0RhdGFUYXNrU291cDo6dGlt
ZW91dEZpcmVkKCkKIHZvaWQgTmV0d29ya0RhdGFUYXNrU291cDo6c3RhcnRUaW1lb3V0KCkKIHsK
ICAgICBpZiAobV9maXJzdFJlcXVlc3QudGltZW91dEludGVydmFsKCkgPiAwKQotICAgICAgICBt
X3RpbWVvdXRTb3VyY2Uuc3RhcnRPbmVTaG90KG1fZmlyc3RSZXF1ZXN0LnRpbWVvdXRJbnRlcnZh
bCgpKTsKKyAgICAgICAgbV90aW1lb3V0U291cmNlLnN0YXJ0T25lU2hvdCgxX3MgKiBtX2ZpcnN0
UmVxdWVzdC50aW1lb3V0SW50ZXJ2YWwoKSk7CiB9CiAKIHZvaWQgTmV0d29ya0RhdGFUYXNrU291
cDo6c3RvcFRpbWVvdXQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBD
L0Nvbm5lY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmgK
aW5kZXggY2IwMGIyZGMyYTZkMDIzODRjZTM1YjNjMTVjZDMwYWZkZjRhNmM2Yi4uZmNlMWU2M2Jj
MjlmY2JiMmVlM2JlNzIwNjFmODM2YWI3M2ZmNzg5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvUGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9y
bS9JUEMvQ29ubmVjdGlvbi5oCkBAIC0xODksNyArMTg5LDcgQEAgcHVibGljOgogCiAjaWYgUExB
VEZPUk0oQ09DT0EpCiAgICAgYm9vbCBraWxsKCk7Ci0gICAgdm9pZCB0ZXJtaW5hdGVTb29uKGRv
dWJsZSBpbnRlcnZhbEluU2Vjb25kcyk7CisgICAgdm9pZCB0ZXJtaW5hdGVTb29uKFNlY29uZHMp
OwogI2VuZGlmCiAKICAgICBib29sIGlzVmFsaWQoKSBjb25zdCB7IHJldHVybiBtX2lzVmFsaWQ7
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9tYWMvQ29ubmVjdGlv
bk1hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9tYWMvQ29ubmVjdGlvbk1hYy5t
bQppbmRleCA1ZTY1YmYzNTYwMjU4YjMyYjYwZTA0NWE4NzEyNTE5NTc4NDFmZTgxLi5lNmFiOWRk
MzMzY2Q1NGVjMGQzZTdiYzBlYmE0YTUwYWFmYzM2NzIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9QbGF0Zm9ybS9JUEMvbWFjL0Nvbm5lY3Rpb25NYWMubW0KKysrIGIvU291cmNlL1dlYktp
dDIvUGxhdGZvcm0vSVBDL21hYy9Db25uZWN0aW9uTWFjLm1tCkBAIC04MiwyMCArODIsMjAgQEAg
ZW51bSB7CiAvLyAgICB0byBlbnN1cmUgaXQgaGFzIGEgY2hhbmNlIHRvIHRlcm1pbmF0ZSBjbGVh
bmx5LgogY2xhc3MgQ29ubmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hkb2cgewogcHVibGljOgotICAg
IHN0YXRpYyB2b2lkIGNyZWF0ZUNvbm5lY3Rpb25UZXJtaW5hdGlvbldhdGNoZG9nKE9TT2JqZWN0
UHRyPHhwY19jb25uZWN0aW9uX3Q+JiB4cGNDb25uZWN0aW9uLCBkb3VibGUgaW50ZXJ2YWxJblNl
Y29uZHMpCisgICAgc3RhdGljIHZvaWQgY3JlYXRlQ29ubmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hk
b2coT1NPYmplY3RQdHI8eHBjX2Nvbm5lY3Rpb25fdD4mIHhwY0Nvbm5lY3Rpb24sIFNlY29uZHMg
aW50ZXJ2YWwpCiAgICAgewotICAgICAgICBuZXcgQ29ubmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hk
b2coeHBjQ29ubmVjdGlvbiwgaW50ZXJ2YWxJblNlY29uZHMpOworICAgICAgICBuZXcgQ29ubmVj
dGlvblRlcm1pbmF0aW9uV2F0Y2hkb2coeHBjQ29ubmVjdGlvbiwgaW50ZXJ2YWwpOwogICAgIH0K
ICAgICAKIHByaXZhdGU6Ci0gICAgQ29ubmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hkb2coT1NPYmpl
Y3RQdHI8eHBjX2Nvbm5lY3Rpb25fdD4mIHhwY0Nvbm5lY3Rpb24sIGRvdWJsZSBpbnRlcnZhbElu
U2Vjb25kcykKKyAgICBDb25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZyhPU09iamVjdFB0cjx4
cGNfY29ubmVjdGlvbl90PiYgeHBjQ29ubmVjdGlvbiwgU2Vjb25kcyBpbnRlcnZhbCkKICAgICAg
ICAgOiBtX3hwY0Nvbm5lY3Rpb24oeHBjQ29ubmVjdGlvbikKICAgICAgICAgLCBtX3dhdGNoZG9n
VGltZXIoUnVuTG9vcDo6bWFpbigpLCB0aGlzLCAmQ29ubmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hk
b2c6OndhdGNoZG9nVGltZXJGaXJlZCkKICNpZiBQTEFURk9STShJT1MpCiAgICAgICAgICwgbV9h
c3NlcnRpb24oc3RkOjptYWtlX3VuaXF1ZTxXZWJLaXQ6OlByb2Nlc3NBbmRVSUFzc2VydGlvbj4o
eHBjX2Nvbm5lY3Rpb25fZ2V0X3BpZChtX3hwY0Nvbm5lY3Rpb24uZ2V0KCkpLCBXZWJLaXQ6OkFz
c2VydGlvblN0YXRlOjpCYWNrZ3JvdW5kKSkKICNlbmRpZgogICAgIHsKLSAgICAgICAgbV93YXRj
aGRvZ1RpbWVyLnN0YXJ0T25lU2hvdChpbnRlcnZhbEluU2Vjb25kcyk7CisgICAgICAgIG1fd2F0
Y2hkb2dUaW1lci5zdGFydE9uZVNob3QoaW50ZXJ2YWwpOwogICAgIH0KICAgICAKICAgICB2b2lk
IHdhdGNoZG9nVGltZXJGaXJlZCgpCkBAIC0xNTUsMTAgKzE1NSwxMCBAQCB2b2lkIENvbm5lY3Rp
b246OnBsYXRmb3JtSW52YWxpZGF0ZSgpCiAjZW5kaWYKIH0KICAgICAKLXZvaWQgQ29ubmVjdGlv
bjo6dGVybWluYXRlU29vbihkb3VibGUgaW50ZXJ2YWxJblNlY29uZHMpCit2b2lkIENvbm5lY3Rp
b246OnRlcm1pbmF0ZVNvb24oU2Vjb25kcyBpbnRlcnZhbCkKIHsKICAgICBpZiAobV94cGNDb25u
ZWN0aW9uKQotICAgICAgICBDb25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZzo6Y3JlYXRlQ29u
bmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hkb2cobV94cGNDb25uZWN0aW9uLCBpbnRlcnZhbEluU2Vj
b25kcyk7CisgICAgICAgIENvbm5lY3Rpb25UZXJtaW5hdGlvbldhdGNoZG9nOjpjcmVhdGVDb25u
ZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZyhtX3hwY0Nvbm5lY3Rpb24sIGludGVydmFsKTsKIH0K
ICAgICAKIHZvaWQgQ29ubmVjdGlvbjo6cGxhdGZvcm1Jbml0aWFsaXplKElkZW50aWZpZXIgaWRl
bnRpZmllcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2lu
UHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3Mu
Y3BwCmluZGV4IDc1ODE1M2JkOWJiYzdkNTExNzI1Y2FhNjNlYzM1NzM1MmY1ZTZmZTAuLjk2OTli
MDUzMzRjYmExYTlkOTAyMGYxODlhYzNiYjE4NGU0NDgwOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmNwcApAQCAtMjE2LDkgKzIxNiw5IEBAIHZv
aWQgUGx1Z2luUHJvY2Vzczo6ZGVsZXRlV2Vic2l0ZURhdGFGb3JIb3N0TmFtZXMoY29uc3QgVmVj
dG9yPFN0cmluZz4mIGhvc3ROYW1lCiAgICAgcGFyZW50UHJvY2Vzc0Nvbm5lY3Rpb24oKS0+c2Vu
ZChNZXNzYWdlczo6UGx1Z2luUHJvY2Vzc1Byb3h5OjpEaWREZWxldGVXZWJzaXRlRGF0YUZvckhv
c3ROYW1lcyhjYWxsYmFja0lEKSwgMCk7CiB9CiAKLXZvaWQgUGx1Z2luUHJvY2Vzczo6c2V0TWlu
aW11bUxpZmV0aW1lKGRvdWJsZSBsaWZldGltZSkKK3ZvaWQgUGx1Z2luUHJvY2Vzczo6c2V0TWlu
aW11bUxpZmV0aW1lKFNlY29uZHMgbGlmZXRpbWUpCiB7Ci0gICAgaWYgKGxpZmV0aW1lIDw9IDAu
MCkKKyAgICBpZiAobGlmZXRpbWUgPD0gMF9zKQogICAgICAgICByZXR1cm47CiAgICAgCiAgICAg
ZGlzYWJsZVRlcm1pbmF0aW9uKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Q
cm9jZXNzL1BsdWdpblByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1
Z2luUHJvY2Vzcy5oCmluZGV4IDkyYzY3Nzc1MjZhZmEwZDBlOTBkNzdkNzZiZmFmNTJlMTcyMzk4
ZTcuLjI0NzlhNDM3NWQ3ZTM1MDcxNTYyNzY2Y2ZiZmI0YjRkMTlmM2FmZjIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5oCkBAIC0xMDEsNyArMTAxLDcg
QEAgcHJpdmF0ZToKIAogICAgIHZvaWQgcGxhdGZvcm1Jbml0aWFsaXplUGx1Z2luUHJvY2VzcyhQ
bHVnaW5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJiYpOwogICAgIAotICAgIHZvaWQgc2V0TWlu
aW11bUxpZmV0aW1lKGRvdWJsZSk7CisgICAgdm9pZCBzZXRNaW5pbXVtTGlmZXRpbWUoU2Vjb25k
cyk7CiAgICAgdm9pZCBtaW5pbXVtTGlmZXRpbWVUaW1lckZpcmVkKCk7CiAgICAgLy8gT3VyIHdl
YiBwcm9jZXNzIGNvbm5lY3Rpb25zLgogICAgIFZlY3RvcjxSZWZQdHI8V2ViUHJvY2Vzc0Nvbm5l
Y3Rpb24+PiBtX3dlYlByb2Nlc3NDb25uZWN0aW9uczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0NoaWxk
UHJvY2Vzcy5jcHAKaW5kZXggYmMxZjJkNmFiNmE2YWQyNjBmY2RjNjE0NWMxNjhjYWZhNjJhZmY4
Yi4uZjFhM2EzOGU4YmQ1ZGJlZDYyYTA1NDFkYzI4ZTJmMzJhZmM0ZDU3YiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvU2hhcmVkL0NoaWxkUHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvU2hhcmVkL0NoaWxkUHJvY2Vzcy5jcHAKQEAgLTMzLDggKzMzLDcgQEAKIG5hbWVzcGFjZSBX
ZWJLaXQgewogCiBDaGlsZFByb2Nlc3M6OkNoaWxkUHJvY2VzcygpCi0gICAgOiBtX3Rlcm1pbmF0
aW9uVGltZW91dCgwKQotICAgICwgbV90ZXJtaW5hdGlvbkNvdW50ZXIoMCkKKyAgICA6IG1fdGVy
bWluYXRpb25Db3VudGVyKDApCiAgICAgLCBtX3Rlcm1pbmF0aW9uVGltZXIoUnVuTG9vcDo6bWFp
bigpLCB0aGlzLCAmQ2hpbGRQcm9jZXNzOjp0ZXJtaW5hdGlvblRpbWVyRmlyZWQpCiAgICAgLCBt
X3Byb2Nlc3NTdXBwcmVzc2lvbkRpc2FibGVkKCJQcm9jZXNzIFN1cHByZXNzaW9uIERpc2FibGVk
IGJ5IFVJUHJvY2VzcyIpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ2hp
bGRQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ2hpbGRQcm9jZXNzLmgKaW5kZXgg
OGJhMjRkZTQ1NjI2MDcwNmFhZjA0OWQ0ZDAxNzNjMmUwMTQ0YzcyOC4uNmZlNzJiMTczZjBmNzAw
NWVjNWQzMjE2Y2VkYzdjN2ViNWFmYjc5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hh
cmVkL0NoaWxkUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nl
c3MuaApAQCAtODEsNyArODEsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgZXhwbGljaXQgQ2hpbGRQcm9j
ZXNzKCk7CiAgICAgdmlydHVhbCB+Q2hpbGRQcm9jZXNzKCk7CiAKLSAgICB2b2lkIHNldFRlcm1p
bmF0aW9uVGltZW91dChkb3VibGUgc2Vjb25kcykgeyBtX3Rlcm1pbmF0aW9uVGltZW91dCA9IHNl
Y29uZHM7IH0KKyAgICB2b2lkIHNldFRlcm1pbmF0aW9uVGltZW91dChTZWNvbmRzIHNlY29uZHMp
IHsgbV90ZXJtaW5hdGlvblRpbWVvdXQgPSBzZWNvbmRzOyB9CiAKICAgICB2aXJ0dWFsIHZvaWQg
aW5pdGlhbGl6ZVByb2Nlc3MoY29uc3QgQ2hpbGRQcm9jZXNzSW5pdGlhbGl6YXRpb25QYXJhbWV0
ZXJzJik7CiAgICAgdmlydHVhbCB2b2lkIGluaXRpYWxpemVQcm9jZXNzTmFtZShjb25zdCBDaGls
ZFByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMmKTsKQEAgLTEyMCw3ICsxMjAsNyBAQCBw
cml2YXRlOgogCiAgICAgLy8gVGhlIHRpbWVvdXQsIGluIHNlY29uZHMsIGJlZm9yZSB0aGlzIHBy
b2Nlc3Mgd2lsbCBiZSB0ZXJtaW5hdGVkIGlmIHRlcm1pbmF0aW9uCiAgICAgLy8gaGFzIGJlZW4g
ZW5hYmxlZC4gSWYgdGhlIHRpbWVvdXQgaXMgMCBzZWNvbmRzLCB0aGUgcHJvY2VzcyB3aWxsIGJl
IHRlcm1pbmF0ZWQgaW1tZWRpYXRlbHkuCi0gICAgZG91YmxlIG1fdGVybWluYXRpb25UaW1lb3V0
OworICAgIFNlY29uZHMgbV90ZXJtaW5hdGlvblRpbWVvdXQ7CiAKICAgICAvLyBBIHRlcm1pbmF0
aW9uIGNvdW50ZXI7IHdoZW4gdGhlIGNvdW50ZXIgcmVhY2hlcyB6ZXJvLCB0aGUgcHJvY2VzcyB3
aWxsIGJlIHRlcm1pbmF0ZWQKICAgICAvLyBhZnRlciBhIGdpdmVuIHBlcmlvZCBvZiB0aW1lLgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvdGhy
ZWFkZWRjb21wb3NpdG9yL0NvbXBvc2l0aW5nUnVuTG9vcC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy90aHJlYWRlZGNvbXBvc2l0b3IvQ29tcG9zaXRpbmdS
dW5Mb29wLmNwcAppbmRleCBhYWRkNmFiYjI2YTU2ZmE0NDc2YmFhNTdmZDFmZjkxN2MzZGM2MTIw
Li41NjE3YmJhZDAxMDdlZTRlZmZkMzdmMTgxZjJhZWVjYzJjM2ViOWY2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy90aHJlYWRlZGNvbXBvc2l0
b3IvQ29tcG9zaXRpbmdSdW5Mb29wLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ29v
cmRpbmF0ZWRHcmFwaGljcy90aHJlYWRlZGNvbXBvc2l0b3IvQ29tcG9zaXRpbmdSdW5Mb29wLmNw
cApAQCAtMTU0LDcgKzE1NCw3IEBAIHZvaWQgQ29tcG9zaXRpbmdSdW5Mb29wOjpzdGFydFVwZGF0
ZVRpbWVyKFVwZGF0ZVRpbWluZyB0aW1pbmcpCiAgICAgaWYgKHRpbWluZyA9PSBXYWl0VW50aWxO
ZXh0RnJhbWUpCiAgICAgICAgIG5leHRVcGRhdGVUaW1lID0gc3RkOjptYXgoKDEgLyB0YXJnZXRG
UFMpIC0gKG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpIC0gbV9sYXN0VXBkYXRlVGltZSks
IDAuMCk7CiAKLSAgICBtX3VwZGF0ZVRpbWVyLnN0YXJ0T25lU2hvdChuZXh0VXBkYXRlVGltZSk7
CisgICAgbV91cGRhdGVUaW1lci5zdGFydE9uZVNob3QoMV9zICogbmV4dFVwZGF0ZVRpbWUpOwog
fQogCiB2b2lkIENvbXBvc2l0aW5nUnVuTG9vcDo6c3RvcFVwZGF0ZVRpbWVyKCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL1BsdWdpblByb2Nlc3NDcmVhdGlvblBh
cmFtZXRlcnMuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL1BsdWdpblByb2Nlc3ND
cmVhdGlvblBhcmFtZXRlcnMuaAppbmRleCBhMTJhNDQ0NWJiMTZjYWFmNjkyNzNiNjRhODYzMjEw
OGU3ZDU0OWY0Li5iMWEzNGE0ZGYxZDJkODI1OThhY2E2Y2Y4NDU0ZWI0ZmExY2RlNmYwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ3JlYXRp
b25QYXJhbWV0ZXJzLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvUGx1Z2lu
UHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCkBAIC0zMCw2ICszMCw3IEBACiAKICNpbmNsdWRl
ICJBdHRhY2htZW50LmgiCiAjaW5jbHVkZSAiUGx1Z2luUHJvY2Vzc0F0dHJpYnV0ZXMuaCIKKyNp
bmNsdWRlIDx3dGYvU2Vjb25kcy5oPgogCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAjaW5jbHVkZSA8
V2ViQ29yZS9NYWNoU2VuZFJpZ2h0Lmg+CkBAIC01MSw4ICs1Miw4IEBAIHN0cnVjdCBQbHVnaW5Q
cm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzIHsKICAgICBQbHVnaW5Qcm9jZXNzVHlwZSBwcm9jZXNz
VHlwZTsKICAgICBib29sIHN1cHBvcnRzQXN5bmNocm9ub3VzUGx1Z2luSW5pdGlhbGl6YXRpb247
CiAKLSAgICBkb3VibGUgbWluaW11bUxpZmV0aW1lOwotICAgIGRvdWJsZSB0ZXJtaW5hdGlvblRp
bWVvdXQ7CisgICAgU2Vjb25kcyBtaW5pbXVtTGlmZXRpbWU7CisgICAgU2Vjb25kcyB0ZXJtaW5h
dGlvblRpbWVvdXQ7CiAKICNpZiBQTEFURk9STShDT0NPQSkKICAgICBXZWJDb3JlOjpNYWNoU2Vu
ZFJpZ2h0IGFjY2VsZXJhdGVkQ29tcG9zaXRpbmdQb3J0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvU2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIuY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVk
L1dlYk1lbW9yeVNhbXBsZXIuY3BwCmluZGV4IGJhYmMyODg4Y2I3NWZiNDZmMzg4MGQ4Y2RiODMx
ZjJhN2QyNDYyMGIuLjE1MTMzOTA4OGRjNWUwMGE5MGMxYTJjYTRhYWE2ZjkzODEyNWMxY2IgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJNZW1vcnlTYW1wbGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViTWVtb3J5U2FtcGxlci5jcHAKQEAgLTkxLDcgKzkx
LDcgQEAgdm9pZCBXZWJNZW1vcnlTYW1wbGVyOjppbml0aWFsaXplVGltZXJzKGRvdWJsZSBpbnRl
cnZhbCkKICAgICBtX3NhbXBsZVRpbWVyLnN0YXJ0UmVwZWF0aW5nKDFfcyk7CiAgICAgcHJpbnRm
KCJTdGFydGVkIG1lbW9yeSBzYW1wbGVyIGZvciBwcm9jZXNzICVzICVkIiwgcHJvY2Vzc05hbWUo
KS51dGY4KCkuZGF0YSgpLCBnZXRwaWQoKSk7CiAgICAgaWYgKGludGVydmFsID4gMCkgewotICAg
ICAgICBtX3N0b3BUaW1lci5zdGFydE9uZVNob3QoaW50ZXJ2YWwpOworICAgICAgICBtX3N0b3BU
aW1lci5zdGFydE9uZVNob3QoMV9zICogaW50ZXJ2YWwpOwogICAgICAgICBwcmludGYoIiBmb3Ig
YSBpbnRlcnZhbCBvZiAlZyBzZWNvbmRzIiwgaW50ZXJ2YWwpOwogICAgIH0KICAgICBwcmludGYo
IjsgU2FtcGxlciBsb2cgZmlsZSBzdG9yZWQgYXQ6ICVzXG4iLCBtX3NhbXBsZUxvZ0ZpbGVQYXRo
LnV0ZjgoKS5kYXRhKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlBy
b2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcm9j
ZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKaW5kZXggZmQ4MDZiMjIwMjQ3OWUxNjA0ODYxZGY5OGUw
OGNhYjFhMWFhNjBkOS4uOTI2YTMyMjBmYjY4ZDE1YmViZDAwNjgyMTM1YjBkMTJhMjU0NDhiZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFt
ZXRlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFy
YW1ldGVycy5oCkBAIC0xMjYsNyArMTI2LDcgQEAgc3RydWN0IFdlYlByb2Nlc3NDcmVhdGlvblBh
cmFtZXRlcnMgewogICAgIGJvb2wgaGFzUmljaENvbnRlbnRTZXJ2aWNlcyB7IGZhbHNlIH07CiAj
ZW5kaWYKIAotICAgIGRvdWJsZSB0ZXJtaW5hdGlvblRpbWVvdXQgeyAwIH07CisgICAgU2Vjb25k
cyB0ZXJtaW5hdGlvblRpbWVvdXQ7CiAKICAgICBUZXh0Q2hlY2tlclN0YXRlIHRleHRDaGVja2Vy
U3RhdGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
QVBJU2VyaWFsaXplZFNjcmlwdFZhbHVlQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0NvY29hL0FQSVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUNvY29hLm1tCmluZGV4IDgzOTQ1
ZGZlZDMxYzU5MTgzNThiZTdmNjcxNmIxYmZlNzAxODhiNTkuLjFiNWRkMDM2MzkxZjIyYjllYmM1
YjcyM2Q5MjIzZjgwMjkwZTlhMTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvQ29jb2EvQVBJU2VyaWFsaXplZFNjcmlwdFZhbHVlQ29jb2EubW0KKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9BUElTZXJpYWxpemVkU2NyaXB0VmFsdWVDb2Nv
YS5tbQpAQCAtNDYsNyArNDYsNyBAQCBwdWJsaWM6CiAgICAgewogICAgICAgICBpZiAoIW1fY29u
dGV4dCkgewogICAgICAgICAgICAgbV9jb250ZXh0ID0gYWRvcHROUyhbW0pTQ29udGV4dCBhbGxv
Y10gaW5pdF0pOwotICAgICAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMSk7CisgICAgICAg
ICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgxX3MpOwogICAgICAgICB9CiAgICAgICAgIHJldHVy
biBtX2NvbnRleHQuZ2V0KCk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0NoaWxkUHJvY2Vzc1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9D
aGlsZFByb2Nlc3NQcm94eS5jcHAKaW5kZXggZGQ4YWVmNTUwYWE2NmMyMzk1ODNmODgyOTM4MjM0
MjRjY2IzOWRjNC4uMjdiZWMzNjIzMTVjYjExMGYxYzhmZTQ2MzZhNjRkMmQ4NjVlNDQ5OCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NoaWxkUHJvY2Vzc1Byb3h5LmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ2hpbGRQcm9jZXNzUHJveHkuY3BwCkBAIC0x
OTcsNyArMTk3LDcgQEAgdm9pZCBDaGlsZFByb2Nlc3NQcm94eTo6c2h1dERvd25Qcm9jZXNzKCkK
ICAgICAgICAgLy8gT24gaU9TIGRlcGxveSBhIHdhdGNoZG9nIGluIHRoZSBVSSBwcm9jZXNzLCBz
aW5jZSB0aGUgY2hpbGQgcHJvY2VzcyBtYXkgYmUgc3VzcGVuZGVkLgogICAgICAgICAvLyBJZiAz
MHMgaXMgaW5zdWZmaWNpZW50IGZvciBhbnkgb3V0c3RhbmRpbmcgYWN0aXZpdHkgdG8gY29tcGxl
dGUgY2xlYW5seSwgdGhlbiBpdCB3aWxsIGJlIGtpbGxlZC4KICAgICAgICAgQVNTRVJUKG1fY29u
bmVjdGlvbik7Ci0gICAgICAgIG1fY29ubmVjdGlvbi0+dGVybWluYXRlU29vbigzMCk7CisgICAg
ICAgIG1fY29ubmVjdGlvbi0+dGVybWluYXRlU29vbigzMF9zKTsKICNlbmRpZgogICAgICAgICBi
cmVhazsKICAgICBjYXNlIFN0YXRlOjpUZXJtaW5hdGVkOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0NvY29hL05hdmlnYXRpb25TdGF0ZS5tbSBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9Db2NvYS9OYXZpZ2F0aW9uU3RhdGUubW0KaW5kZXggNmI4MWNlNDU2NDFkNGZk
YzMyN2EwNmY2Y2RjZTk4ZGExM2ZkYWExOS4uOTZiOTYwMjBkYzg5MzNiODQ5MzZlMWYxZGNhZGEy
YzlkZTg2ZDRiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL05h
dmlnYXRpb25TdGF0ZS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvTmF2
aWdhdGlvblN0YXRlLm1tCkBAIC04ODcsNyArODg3LDcgQEAgdm9pZCBOYXZpZ2F0aW9uU3RhdGU6
OmRpZENoYW5nZUlzTG9hZGluZygpCiAgICAgfSBlbHNlIHsKICAgICAgICAgLy8gRGVsYXkgcmVs
ZWFzaW5nIHRoZSBiYWNrZ3JvdW5kIGFjdGl2aXR5IGZvciAzIHNlY29uZHMgdG8gZ2l2ZSB0aGUg
YXBwbGljYXRpb24gYSBjaGFuY2UgdG8gc3RhcnQgYW5vdGhlciBuYXZpZ2F0aW9uCiAgICAgICAg
IC8vIGJlZm9yZSBzdXNwZW5kaW5nIHRoZSBXZWJDb250ZW50IHByb2Nlc3MgPHJkYXI6Ly9wcm9i
bGVtLzI3OTEwOTY0Pi4KLSAgICAgICAgbV9yZWxlYXNlQWN0aXZpdHlUaW1lci5zdGFydE9uZVNo
b3QoM3MpOworICAgICAgICBtX3JlbGVhc2VBY3Rpdml0eVRpbWVyLnN0YXJ0T25lU2hvdCgzX3Mp
OwogICAgIH0KICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
Q29jb2EvVmlld0dlc3R1cmVDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9Db2NvYS9WaWV3R2VzdHVyZUNvbnRyb2xsZXIuY3BwCmluZGV4IDc5OWRhNjVjOWE3YTNlNTE0
YmNmNWM0Yzk3MDA2MzAxZTY2Mjk3ZjMuLmM0ZDMwMDEwZGQzN2NhYmVmYTcwZGIyNDk1ZGYzMWI0
ZTc3MTQ0MzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9WaWV3
R2VzdHVyZUNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2Nv
YS9WaWV3R2VzdHVyZUNvbnRyb2xsZXIuY3BwCkBAIC00MCwxMyArNDAsMTMgQEAgdXNpbmcgbmFt
ZXNwYWNlIFdlYkNvcmU7CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi1zdGF0aWMgY29uc3Qgc3Rk
OjpjaHJvbm86OnNlY29uZHMgc3dpcGVTbmFwc2hvdFJlbW92YWxXYXRjaGRvZ0FmdGVyRmlyc3RW
aXN1YWxseU5vbkVtcHR5TGF5b3V0RHVyYXRpb24gPSAzczsKLXN0YXRpYyBjb25zdCBTZWNvbmRz
IHN3aXBlU25hcHNob3RSZW1vdmFsQWN0aXZlTG9hZE1vbml0b3JpbmdJbnRlcnZhbCA9IDI1MF9t
czsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHN3aXBlU25hcHNob3RSZW1vdmFsV2F0Y2hkb2dBZnRl
ckZpcnN0VmlzdWFsbHlOb25FbXB0eUxheW91dER1cmF0aW9uIHsgM19zIH07CitzdGF0aWMgY29u
c3QgU2Vjb25kcyBzd2lwZVNuYXBzaG90UmVtb3ZhbEFjdGl2ZUxvYWRNb25pdG9yaW5nSW50ZXJ2
YWwgeyAyNTBfbXMgfTsKIAogI2lmIFBMQVRGT1JNKE1BQykKLXN0YXRpYyBjb25zdCBzdGQ6OmNo
cm9ubzo6c2Vjb25kcyBzd2lwZVNuYXBzaG90UmVtb3ZhbFdhdGNoZG9nRHVyYXRpb24gPSA1czsK
K3N0YXRpYyBjb25zdCBTZWNvbmRzIHN3aXBlU25hcHNob3RSZW1vdmFsV2F0Y2hkb2dEdXJhdGlv
biA9IDVfczsKICNlbHNlCi1zdGF0aWMgY29uc3Qgc3RkOjpjaHJvbm86OnNlY29uZHMgc3dpcGVT
bmFwc2hvdFJlbW92YWxXYXRjaGRvZ0R1cmF0aW9uID0gM3M7CitzdGF0aWMgY29uc3QgU2Vjb25k
cyBzd2lwZVNuYXBzaG90UmVtb3ZhbFdhdGNoZG9nRHVyYXRpb24gPSAzX3M7CiAjZW5kaWYKIAog
c3RhdGljIEhhc2hNYXA8dWludDY0X3QsIFZpZXdHZXN0dXJlQ29udHJvbGxlcio+JiB2aWV3R2Vz
dHVyZUNvbnRyb2xsZXJzRm9yQWxsUGFnZXMoKQpAQCAtMjk3LDEwICsyOTcsMTAgQEAgdm9pZCBW
aWV3R2VzdHVyZUNvbnRyb2xsZXI6OlNuYXBzaG90UmVtb3ZhbFRyYWNrZXI6OndhdGNoZG9nVGlt
ZXJGaXJlZCgpCiAgICAgZmlyZVJlbW92YWxDYWxsYmFja0ltbWVkaWF0ZWx5KCk7CiB9CiAKLXZv
aWQgVmlld0dlc3R1cmVDb250cm9sbGVyOjpTbmFwc2hvdFJlbW92YWxUcmFja2VyOjpzdGFydFdh
dGNoZG9nKHN0ZDo6Y2hyb25vOjpzZWNvbmRzIGR1cmF0aW9uKQordm9pZCBWaWV3R2VzdHVyZUNv
bnRyb2xsZXI6OlNuYXBzaG90UmVtb3ZhbFRyYWNrZXI6OnN0YXJ0V2F0Y2hkb2coU2Vjb25kcyBk
dXJhdGlvbikKIHsKLSAgICBsb2coU3RyaW5nOjpmb3JtYXQoIihyZSlzdGFydGVkIHdhdGNoZG9n
IHRpbWVyIGZvciAlbGxkIHNlY29uZHMiLCBkdXJhdGlvbi5jb3VudCgpKSk7Ci0gICAgbV93YXRj
aGRvZ1RpbWVyLnN0YXJ0T25lU2hvdChkdXJhdGlvbi5jb3VudCgpKTsKKyAgICBsb2coU3RyaW5n
Ojpmb3JtYXQoIihyZSlzdGFydGVkIHdhdGNoZG9nIHRpbWVyIGZvciAlLjFmIHNlY29uZHMiLCBk
dXJhdGlvbi5zZWNvbmRzKCkpKTsKKyAgICBtX3dhdGNoZG9nVGltZXIuc3RhcnRPbmVTaG90KGR1
cmF0aW9uKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvVmlld0dlc3R1cmVDb250cm9sbGVyLmggYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvVmlld0dlc3R1cmVDb250cm9sbGVyLmgKaW5kZXggMWJl
NTliYzUzZGYwNGYwNjU4NWNiY2UwYmFjYmYwZGMyZjg2MTU5Yi4uZjE5M2U3ODMzM2Y2OWVmYTNm
OGI2YTdiZjA5YzlkN2QwOTA1YjE0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0NvY29hL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9Db2NvYS9WaWV3R2VzdHVyZUNvbnRyb2xsZXIuaApAQCAtMTU5LDcgKzE1OSw3IEBA
IHByaXZhdGU6CiAgICAgICAgIGJvb2wgZXZlbnRPY2N1cnJlZChFdmVudHMpOwogICAgICAgICBi
b29sIGNhbmNlbE91dHN0YW5kaW5nRXZlbnQoRXZlbnRzKTsKIAotICAgICAgICB2b2lkIHN0YXJ0
V2F0Y2hkb2coc3RkOjpjaHJvbm86OnNlY29uZHMpOworICAgICAgICB2b2lkIHN0YXJ0V2F0Y2hk
b2coU2Vjb25kcyk7CiAKICAgICBwcml2YXRlOgogICAgICAgICBzdGF0aWMgU3RyaW5nIGV2ZW50
c0Rlc2NyaXB0aW9uKEV2ZW50cyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvRHJhd2luZ0FyZWFQcm94eUltcGwuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Ry
YXdpbmdBcmVhUHJveHlJbXBsLmNwcAppbmRleCA5YTk3YjNmYmUyNThmYzU0MjExOWI1YzY4MmE3
YTE2NjhkOWU2MGE1Li4wOWJhMzBiNDgzZDBmYzg2ZjE4MDE0NzkwYjY2M2FjM2RiZjJlYzY0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eUltcGwu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1wbC5j
cHAKQEAgLTE4Nyw3ICsxODcsNyBAQCB2b2lkIERyYXdpbmdBcmVhUHJveHlJbXBsOjpkaXNjYXJk
QmFja2luZ1N0b3JlU29vbigpCiAKICAgICAvLyBXZSdsbCB3YWl0IHRoaXMgbWFueSBzZWNvbmRz
IGFmdGVyIHRoZSBsYXN0IHBhaW50IGJlZm9yZSB0aHJvd2luZyBhd2F5IG91ciBiYWNraW5nIHN0
b3JlIHRvIHNhdmUgbWVtb3J5LgogICAgIC8vIEZJWE1FOiBJdCB3b3VsZCBiZSBzbWFydGVyIHRv
IG1ha2UgdGhpcyBkZWxheSBiYXNlZCBvbiBob3cgZXhwZW5zaXZlIHBhaW50aW5nIGlzLiBTZWUg
PGh0dHA6Ly93ZWJraXQub3JnL2IvNTU3MzM+LgotICAgIHN0YXRpYyBjb25zdCBkb3VibGUgZGlz
Y2FyZEJhY2tpbmdTdG9yZURlbGF5ID0gMjsKKyAgICBzdGF0aWMgY29uc3QgU2Vjb25kcyBkaXNj
YXJkQmFja2luZ1N0b3JlRGVsYXkgPSAyX3M7CiAKICAgICBtX2Rpc2NhcmRCYWNraW5nU3RvcmVU
aW1lci5zdGFydE9uZVNob3QoZGlzY2FyZEJhY2tpbmdTdG9yZURlbGF5KTsKIH0KQEAgLTIyOCw3
ICsyMjgsNyBAQCB2b2lkIERyYXdpbmdBcmVhUHJveHlJbXBsOjpEcmF3aW5nTW9uaXRvcjo6c3Rh
cnQoc3RkOjpmdW5jdGlvbjx2b2lkIChDYWxsYmFja0JhcwogICAgIG1fY2FsbGJhY2sgPSBjYWxs
YmFjazsKICNpZiBQTEFURk9STShHVEspCiAgICAgZ19zaWduYWxfY29ubmVjdF9zd2FwcGVkKG1f
d2ViUGFnZS52aWV3V2lkZ2V0KCksICJkcmF3IiwgcmVpbnRlcnByZXRfY2FzdDxHQ2FsbGJhY2s+
KHdlYlZpZXdEcmF3Q2FsbGJhY2spLCB0aGlzKTsKLSAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgx
KTsKKyAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgxX3MpOwogI2Vsc2UKICAgICBtX3RpbWVyLnN0
YXJ0T25lU2hvdCgwX3MpOwogI2VuZGlmCkBAIC0yNTUsNyArMjU1LDcgQEAgdm9pZCBEcmF3aW5n
QXJlYVByb3h5SW1wbDo6RHJhd2luZ01vbml0b3I6OmRpZERyYXcoKQogICAgIGlmIChtb25vdG9u
aWNhbGx5SW5jcmVhc2luZ1RpbWVNUygpIC0gbV9zdGFydFRpbWUgPiAxMDAwKQogICAgICAgICBz
dG9wKCk7CiAgICAgZWxzZQotICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwLjEwMCk7Cisg
ICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDEwMF9tcyk7CiB9CiAKIHZvaWQgRHJhd2luZ0Fy
ZWFQcm94eUltcGw6OmRpc3BhdGNoQWZ0ZXJFbnN1cmluZ0RyYXdpbmcoc3RkOjpmdW5jdGlvbjx2
b2lkKENhbGxiYWNrQmFzZTo6RXJyb3IpPiBjYWxsYmFja0Z1bmN0aW9uKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0dhbWVwYWQvVUlHYW1lcGFkUHJvdmlkZXIuY3BwIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0dhbWVwYWQvVUlHYW1lcGFkUHJvdmlkZXIuY3BwCmlu
ZGV4IDY1N2M0MTZmOTA2ZTVkMDQzOTAxZmMzZTgyNDRiNGQ4NzYyNjgxMGYuLjBiZWU3NTQ4MzYx
YWQ1NzU0M2RiYjA3MThiN2JlNTc0ZmE0ZTZhYTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9HYW1lcGFkL1VJR2FtZXBhZFByb3ZpZGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvR2FtZXBhZC9VSUdhbWVwYWRQcm92aWRlci5jcHAKQEAgLTM5LDcgKzM5
LDcgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi1z
dGF0aWMgY29uc3QgZG91YmxlIG1heGltdW1HYW1lcGFkVXBkYXRlSW50ZXJ2YWwgPSAxIC8gMTIw
LjA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBtYXhpbXVtR2FtZXBhZFVwZGF0ZUludGVydmFsIHsg
MV9zIC8gMTIwLiB9OwogCiBVSUdhbWVwYWRQcm92aWRlciYgVUlHYW1lcGFkUHJvdmlkZXI6OnNp
bmdsZXRvbigpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lu
cy9QbHVnaW5Qcm9jZXNzUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdp
bnMvUGx1Z2luUHJvY2Vzc1Byb3h5LmNwcAppbmRleCA1ZmY1MWI1MDllODZmMmI1MjQyNDAyNWM4
MjVjZWZiYTExM2VhMmMxLi5iYWNkNzNlNTQwMzQwYTQ0MjZkNjBlOTBlY2E3OTcxYmE1YjBkYTc5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9j
ZXNzUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdp
blByb2Nlc3NQcm94eS5jcHAKQEAgLTQ2LDExICs0NiwxMSBAQCB1c2luZyBuYW1lc3BhY2UgV2Vi
Q29yZTsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLXN0YXRpYyBjb25zdCBkb3VibGUgbWluaW11
bUxpZmV0aW1lID0gMiAqIDYwOwotc3RhdGljIGNvbnN0IGRvdWJsZSBzbmFwc2hvdHRpbmdNaW5p
bXVtTGlmZXRpbWUgPSAzMDsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIG1pbmltdW1MaWZldGltZSB7
IDJfbWluIH07CitzdGF0aWMgY29uc3QgU2Vjb25kcyBzbmFwc2hvdHRpbmdNaW5pbXVtTGlmZXRp
bWUgeyAzMF9zIH07CiAKLXN0YXRpYyBjb25zdCBkb3VibGUgc2h1dGRvd25UaW1lb3V0ID0gMSAq
IDYwOwotc3RhdGljIGNvbnN0IGRvdWJsZSBzbmFwc2hvdHRpbmdTaHV0ZG93blRpbWVvdXQgPSAx
NTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHNodXRkb3duVGltZW91dCB7IDFfbWluIH07CitzdGF0
aWMgY29uc3QgU2Vjb25kcyBzbmFwc2hvdHRpbmdTaHV0ZG93blRpbWVvdXQgeyAxNV9zIH07CiAK
IHN0YXRpYyB1aW50NjRfdCBnZW5lcmF0ZUNhbGxiYWNrSUQoKQogewpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Byb2Nlc3NUaHJvdHRsZXIuY3BwIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1Byb2Nlc3NUaHJvdHRsZXIuY3BwCmluZGV4IDc3YjBiOGM3MWY4OGY4YmMy
MDQ5MDJiZjQ2YTI2YzM0ODVhMzc1MWYuLjA5Mzg2M2MxMWNkNjcwNDdjMWNlM2UyMGM3OTljMzY2
ZWQ3ODVhNDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Qcm9jZXNzVGhy
b3R0bGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUHJvY2Vzc1Rocm90dGxl
ci5jcHAKQEAgLTMxLDcgKzMxLDcgQEAKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAgICAgCi1zdGF0
aWMgY29uc3QgdW5zaWduZWQgcHJvY2Vzc1N1c3BlbnNpb25UaW1lb3V0ID0gMzA7CitzdGF0aWMg
Y29uc3QgU2Vjb25kcyBwcm9jZXNzU3VzcGVuc2lvblRpbWVvdXQgeyAzMF9zIH07CiAgICAgCiBQ
cm9jZXNzVGhyb3R0bGVyOjpQcm9jZXNzVGhyb3R0bGVyKFByb2Nlc3NUaHJvdHRsZXJDbGllbnQm
IHByb2Nlc3MpCiAgICAgOiBtX3Byb2Nlc3MocHJvY2VzcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9SZXNwb25zaXZlbmVzc1RpbWVyLmNwcCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9SZXNwb25zaXZlbmVzc1RpbWVyLmNwcAppbmRleCBmZWI0NjlmMDg0MmI1YWU2
OWIzNmYwZmNmZDY4NjFjNDA2N2VlZjJiLi45YWU1ZmQxYzcxMTAzOTQ5NzE2MzA1YzlkOTJiYmRm
NTI0Njc1ZjEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUmVzcG9uc2l2
ZW5lc3NUaW1lci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Jlc3BvbnNpdmVu
ZXNzVGltZXIuY3BwCkBAIC0yOCw3ICsyOCw3IEBACiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi1z
dGF0aWMgY29uc3QgZG91YmxlIHJlc3BvbnNpdmVuZXNzVGltZW91dCA9IDM7CitzdGF0aWMgY29u
c3QgU2Vjb25kcyByZXNwb25zaXZlbmVzc1RpbWVvdXQgeyAzX3MgfTsKIAogUmVzcG9uc2l2ZW5l
c3NUaW1lcjo6UmVzcG9uc2l2ZW5lc3NUaW1lcihSZXNwb25zaXZlbmVzc1RpbWVyOjpDbGllbnQm
IGNsaWVudCkKICAgICA6IG1fY2xpZW50KGNsaWVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCmluZGV4IDFkZDdhZTI0M2JmNTk2ZGYyMzAwM2IzYTYzOGRh
MzJhOTQ0MmMzY2EuLmVmZTQ2ZjU2NzA0MzZjZTZjNDY2OTdjODBmN2FlYzY4YTZlODg3NjkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcApAQCAtNjg5LDcg
KzY4OSw3IEBAIFdlYlByb2Nlc3NQcm94eSYgV2ViUHJvY2Vzc1Bvb2w6OmNyZWF0ZU5ld1dlYlBy
b2Nlc3MoV2Vic2l0ZURhdGFTdG9yZSogd2Vic2l0ZURhCiAKICAgICBwYXJhbWV0ZXJzLmljb25E
YXRhYmFzZUVuYWJsZWQgPSAhaWNvbkRhdGFiYXNlUGF0aCgpLmlzRW1wdHkoKTsKIAotICAgIHBh
cmFtZXRlcnMudGVybWluYXRpb25UaW1lb3V0ID0gMDsKKyAgICBwYXJhbWV0ZXJzLnRlcm1pbmF0
aW9uVGltZW91dCA9IDBfczsKIAogICAgIHBhcmFtZXRlcnMudGV4dENoZWNrZXJTdGF0ZSA9IFRl
eHRDaGVja2VyOjpzdGF0ZSgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvZ3RrL0dlc3R1cmVDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9n
dGsvR2VzdHVyZUNvbnRyb2xsZXIuY3BwCmluZGV4IDA1NTZlYTdjNGY2Zjk5OGM4N2ZhMmUyM2Nl
MzA3Nzc0YzExZGI0NzYuLmEzNzM0MjljMWM1YzI3ODEzZWRlNTExOTUwZjllYTIyNDQxZmMzMjkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9ndGsvR2VzdHVyZUNvbnRyb2xs
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9ndGsvR2VzdHVyZUNvbnRyb2xs
ZXIuY3BwCkBAIC0xMjcsNyArMTI3LDcgQEAgdm9pZCBHZXN0dXJlQ29udHJvbGxlcjo6RHJhZ0dl
c3R1cmU6OmJlZ2luKERyYWdHZXN0dXJlKiBkcmFnR2VzdHVyZSwgZG91YmxlIHgsIGQKICAgICBH
dGtXaWRnZXQqIHdpZGdldCA9IGd0a19ldmVudF9jb250cm9sbGVyX2dldF93aWRnZXQoR1RLX0VW
RU5UX0NPTlRST0xMRVIoZ2VzdHVyZSkpOwogICAgIHVuc2lnbmVkIGRlbGF5OwogICAgIGdfb2Jq
ZWN0X2dldChndGtfd2lkZ2V0X2dldF9zZXR0aW5ncyh3aWRnZXQpLCAiZ3RrLWxvbmctcHJlc3Mt
dGltZSIsICZkZWxheSwgbnVsbHB0cik7Ci0gICAgZHJhZ0dlc3R1cmUtPm1fbG9uZ1ByZXNzVGlt
ZW91dC5zdGFydE9uZVNob3QoZGVsYXkgLyAxMDAwLjApOworICAgIGRyYWdHZXN0dXJlLT5tX2xv
bmdQcmVzc1RpbWVvdXQuc3RhcnRPbmVTaG90KDFfbXMgKiBkZWxheSk7CiB9CiAKIHZvaWQgR2Vz
dHVyZUNvbnRyb2xsZXI6OkRyYWdHZXN0dXJlOjp1cGRhdGUoRHJhZ0dlc3R1cmUqIGRyYWdHZXN0
dXJlLCBkb3VibGUgeCwgZG91YmxlIHksIEd0a0dlc3R1cmUqIGdlc3R1cmUpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dlYkluc3BlY3RvclByb3h5TWFjLm1tIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XZWJJbnNwZWN0b3JQcm94eU1hYy5tbQppbmRl
eCBkYmQ0MDQyZDM3ZGU0N2RjNGFiZWM2OWM5MmU3NDBiYzAyZDA3YTBhLi4yYzQ1N2M3YThkODdl
Yzc5NWE3ZDI4NGY4ODQxZDc3MzgyOTNmMmFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvbWFjL1dlYkluc3BlY3RvclByb3h5TWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9tYWMvV2ViSW5zcGVjdG9yUHJveHlNYWMubW0KQEAgLTUyLDcgKzUyLDcgQEAg
c3RhdGljIGNvbnN0IE5TVUludGVnZXIgd2luZG93U3R5bGVNYXNrID0gTlNXaW5kb3dTdHlsZU1h
c2tUaXRsZWQgfCBOU1dpbmRvd1N0eWwKIAogLy8gVGhlIHRpbWUgd2Uga2VlcCBvdXIgV2ViVmll
dyBhbGl2ZSBiZWZvcmUgY2xvc2luZyBpdCBhbmQgaXRzIHByb2Nlc3MuCiAvLyBSZXVzaW5nIHRo
ZSBXZWJWaWV3IGltcHJvdmVzIHN0YXJ0IHVwIHRpbWUgZm9yIHBlb3BsZSB0aGF0IGp1bXAgaW4g
YW5kIG91dCBvZiB0aGUgSW5zcGVjdG9yLgotc3RhdGljIGNvbnN0IHVuc2lnbmVkIHdlYlZpZXdD
bG9zZVRpbWVvdXQgPSA2MDsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHdlYlZpZXdDbG9zZVRpbWVv
dXQgeyAxX21pbiB9OwogCiAvLyBXS1dlYkluc3BlY3RvclByb3h5T2JqQ0FkYXB0ZXIgaXMgYSBo
ZWxwZXIgT2JqQyBvYmplY3QgdXNlZCBhcyBhIGRlbGVnYXRlIG9yIG5vdGlmaWNhdGlvbiBvYnNl
cnZlcgogLy8gZm9yIHRoZSBzb2xlIHB1cnBvc2Ugb2YgZ2V0dGluZyBiYWNrIGludG8gdGhlIEMr
KyBjb2RlIGZyb20gYW4gT2JqQyBjYWxsZXIuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvQWNjZWxlcmF0ZWREcmF3aW5nQXJlYS5jcHAgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQWNjZWxlcmF0ZWREcmF3aW5nQXJlYS5jcHAKaW5kZXgg
ZjQyODIxMGZiYWZhYjMwZDE4M2JlYThhNjIxZjdjMjAzNDk0NDhlNS4uZTNjNThjODYwOTYwZjBi
YTJlZTllODA3YThhMjc1OGNkYTVjMDUwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL0FjY2VsZXJhdGVkRHJhd2luZ0FyZWEuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9BY2NlbGVyYXRlZERyYXdpbmdBcmVhLmNwcApAQCAt
Mzg0LDcgKzM4NCw3IEBAIHZvaWQgQWNjZWxlcmF0ZWREcmF3aW5nQXJlYTo6ZXhpdEFjY2VsZXJh
dGVkQ29tcG9zaXRpbmdNb2RlTm93KCkKICAgICBtX3ByZXZpb3VzTGF5ZXJUcmVlSG9zdC0+c2V0
SXNEaXNjYXJkYWJsZSh0cnVlKTsKICAgICBtX3ByZXZpb3VzTGF5ZXJUcmVlSG9zdC0+cGF1c2VS
ZW5kZXJpbmcoKTsKICAgICBtX3ByZXZpb3VzTGF5ZXJUcmVlSG9zdC0+c2V0TGF5ZXJGbHVzaFNj
aGVkdWxpbmdFbmFibGVkKGZhbHNlKTsKLSAgICBtX2Rpc2NhcmRQcmV2aW91c0xheWVyVHJlZUhv
c3RUaW1lci5zdGFydE9uZVNob3QoNSk7CisgICAgbV9kaXNjYXJkUHJldmlvdXNMYXllclRyZWVI
b3N0VGltZXIuc3RhcnRPbmVTaG90KDVfcyk7CiAjZWxzZQogICAgIG1fbGF5ZXJUcmVlSG9zdCA9
IG51bGxwdHI7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9D
b29yZGluYXRlZExheWVyVHJlZUhvc3QuY3BwCmluZGV4IGExNDEwNDM0OWRjODFjOTZmZjc4ZWI0
ZTMxNWNkZjM2YWIyZTY5ZDcuLmI4YjkzNjA3M2M3Nzg2MjYyMDlhYmU3OTk4MTNiZWJjOGM2MmI4
MmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGlu
YXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5jcHAKKysrIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRM
YXllclRyZWVIb3N0LmNwcApAQCAtMjM0LDcgKzIzNCw3IEBAIHZvaWQgQ29vcmRpbmF0ZWRMYXll
clRyZWVIb3N0OjpzY2hlZHVsZUFuaW1hdGlvbigpCiAgICAgICAgIHJldHVybjsKIAogICAgIHNj
aGVkdWxlTGF5ZXJGbHVzaCgpOwotICAgIG1fbGF5ZXJGbHVzaFRpbWVyLnN0YXJ0T25lU2hvdCht
X2Nvb3JkaW5hdG9yLm5leHRBbmltYXRpb25TZXJ2aWNlVGltZSgpKTsKKyAgICBtX2xheWVyRmx1
c2hUaW1lci5zdGFydE9uZVNob3QoMV9zICogbV9jb29yZGluYXRvci5uZXh0QW5pbWF0aW9uU2Vy
dmljZVRpbWUoKSk7CiB9CiAKIHZvaWQgQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0Ojpjb21taXRT
Y3JvbGxPZmZzZXQodWludDMyX3QgbGF5ZXJJRCwgY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgb2Zm
c2V0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmlu
ZGV4IDI1ZTFhNTNlYmQwZjRjODAxMGQwZTIxYWI5ZmM5MDY1YTBlYjIzMjYuLmYzMDhkMzA3Yzg2
ZjJlZjcyYTIyYTQ4NTViZjdkZDRiYTZhYzllNmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTUzMzMsNyArNTMzMyw3IEBAIHN0YXRpYyBj
b25zdCBmbG9hdCBwcmltYXJ5U25hcHNob3R0ZWRQbHVnSW5TZWFyY2hCdWNrZXRTaXplID0gMS4x
Owogc3RhdGljIGNvbnN0IGludCBwcmltYXJ5U25hcHNob3R0ZWRQbHVnSW5NaW5pbXVtV2lkdGgg
PSA0MDA7CiBzdGF0aWMgY29uc3QgaW50IHByaW1hcnlTbmFwc2hvdHRlZFBsdWdJbk1pbmltdW1I
ZWlnaHQgPSAzMDA7CiBzdGF0aWMgY29uc3QgdW5zaWduZWQgbWF4UHJpbWFyeVNuYXBzaG90dGVk
UGx1Z0luRGV0ZWN0aW9uQXR0ZW1wdHMgPSAyOwotc3RhdGljIGNvbnN0IGludCBkZWZlcnJlZFBy
aW1hcnlTbmFwc2hvdHRlZFBsdWdJbkRldGVjdGlvbkRlbGF5ID0gMzsKK3N0YXRpYyBjb25zdCBT
ZWNvbmRzIGRlZmVycmVkUHJpbWFyeVNuYXBzaG90dGVkUGx1Z0luRGV0ZWN0aW9uRGVsYXkgPSAz
X3M7CiBzdGF0aWMgY29uc3QgZmxvYXQgb3ZlcmxhcHBpbmdJbWFnZUJvdW5kc1NjYWxlID0gMS4x
Owogc3RhdGljIGNvbnN0IGZsb2F0IG1pbmltdW1PdmVybGFwcGluZ0ltYWdlVG9QbHVnaW5EaW1l
bnNpb25TY2FsZSA9IC45OwogCkBAIC01NDQxLDcgKzU0NDEsNyBAQCB2b2lkIFdlYlBhZ2U6OmRl
dGVybWluZVByaW1hcnlTbmFwc2hvdHRlZFBsdWdJbigpCiAgICAgaWYgKCFjYW5kaWRhdGVQbHVn
SW4pIHsKICAgICAgICAgTE9HKFBsdWdpbnMsICJQcmltYXJ5IFBsdWctSW4gRGV0ZWN0aW9uOiBm
YWlsIC0gZGlkIG5vdCBmaW5kIGEgY2FuZGlkYXRlIHBsdWctaW4uIik7CiAgICAgICAgIGlmICht
X251bWJlck9mUHJpbWFyeVNuYXBzaG90RGV0ZWN0aW9uQXR0ZW1wdHMgPCBtYXhQcmltYXJ5U25h
cHNob3R0ZWRQbHVnSW5EZXRlY3Rpb25BdHRlbXB0cykgewotICAgICAgICAgICAgTE9HKFBsdWdp
bnMsICJQcmltYXJ5IFBsdWctSW4gRGV0ZWN0aW9uOiB3aWxsIGF0dGVtcHQgYWdhaW4gaW4gJWRz
LiIsIGRlZmVycmVkUHJpbWFyeVNuYXBzaG90dGVkUGx1Z0luRGV0ZWN0aW9uRGVsYXkpOworICAg
ICAgICAgICAgTE9HKFBsdWdpbnMsICJQcmltYXJ5IFBsdWctSW4gRGV0ZWN0aW9uOiB3aWxsIGF0
dGVtcHQgYWdhaW4gaW4gJS4xZiBzLiIsIGRlZmVycmVkUHJpbWFyeVNuYXBzaG90dGVkUGx1Z0lu
RGV0ZWN0aW9uRGVsYXkudmFsdWUoKSk7CiAgICAgICAgICAgICBtX2RldGVybWluZVByaW1hcnlT
bmFwc2hvdHRlZFBsdWdJblRpbWVyLnN0YXJ0T25lU2hvdChkZWZlcnJlZFByaW1hcnlTbmFwc2hv
dHRlZFBsdWdJbkRldGVjdGlvbkRlbGF5KTsKICAgICAgICAgfQogICAgICAgICByZXR1cm47CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAppbmRleCBmMTNiY2EwZGM3MzNk
MDllMDE0M2E5OTBhNGQ0N2FmNGFiNGU4OTQ4Li41Yjk1Yzc5NDE1M2E0YmFhYjIyNzYyYTY5NDY2
MzlhMTNhZDliYzUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBy
b2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAK
QEAgLTE0Myw3ICsxNDMsNyBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIHN0YXRpYyBjb25z
dCBkb3VibGUgcGx1Z0luQXV0b1N0YXJ0RXhwaXJhdGlvblRpbWVVcGRhdGVUaHJlc2hvbGQgPSAy
OSAqIDI0ICogNjAgKiA2MDsKIAogLy8gVGhpcyBzaG91bGQgYmUgZ3JlYXRlciB0aGFuIHRpbGVS
ZXZhbGlkYXRpb25UaW1lb3V0IGluIFRpbGVDb250cm9sbGVyLgotc3RhdGljIGNvbnN0IGRvdWJs
ZSBub25WaXNpYmxlUHJvY2Vzc0NsZWFudXBEZWxheSA9IDEwOworc3RhdGljIGNvbnN0IFNlY29u
ZHMgbm9uVmlzaWJsZVByb2Nlc3NDbGVhbnVwRGVsYXkgeyAxMF9zIH07CiAKIG5hbWVzcGFjZSBX
ZWJLaXQgewogCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cK
aW5kZXggNjNiM2Y1NWI3MDVlOTQ4ZjMwNTkxNjVjNzNkZmEzYzJiYTQ2OTQ5NC4uNDVlYTBjM2Q0
ZDZhOTUzYmU0ZDNhMWM1ZjE4ZjRkZWE4ZmQxZjE2YSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdl
TG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE5IEBACiAyMDE3LTA0LTA5ICBD
aHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKKyAgICAgICAgRHJvcCBUaW1lcjo6c3Rh
cnRPbmVTaG90KCkgb3ZlcmxvYWQgdGFraW5nIGEgZG91YmxlCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzA2NTkKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEcm9wIFRpbWVyOjpzdGFydE9uZVNob3QoKSBv
dmVybG9hZCB0YWtpbmcgYSBkb3VibGUgYXMgcGVvcGxlIHNob3VsZCB1c2UgU2Vjb25kcyB0eXBl
IG5vdy4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1J1bkxvb3AuY3BwOgor
ICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5l
ci9JbmplY3RlZEJ1bmRsZS9ndGsvVGVzdFJ1bm5lckd0ay5jcHA6CisgICAgICAgIChXVFI6OlRl
c3RSdW5uZXI6OmluaXRpYWxpemVXYWl0VG9EdW1wV2F0Y2hkb2dUaW1lcklmTmVlZGVkKToKKwor
MjAxNy0wNC0wOSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCiAgICAgICAgIERy
b3AgVGltZXI6OnN0YXJ0UmVwZWF0aW5nKCkgb3ZlcmxvYWQgdGFraW5nIGEgZG91YmxlCiAgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzA2NTYKIApkaWZm
IC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvUnVuTG9vcC5jcHAgYi9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9SdW5Mb29wLmNwcAppbmRleCBkMWRlMDMxYTA4YTA3
NTE0ZGZjZGYwN2E1ZTVlZTRhMzZhMzA3NzMwLi45M2IzZDhjMjhmMzIwODE3NmNkM2JjNTJiN2Y5
ZTNkNjE0YTA3OTE3IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9S
dW5Mb29wLmNwcAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9SdW5Mb29wLmNw
cApAQCAtOTUsNyArOTUsNyBAQCBURVNUKFdURl9SdW5Mb29wLCBPbmVTaG90VGltZXIpCiAKICAg
ICB7CiAgICAgICAgIERlcml2ZWRUaW1lciB0aW1lcih0ZXN0RmluaXNoZWQpOwotICAgICAgICB0
aW1lci5zdGFydE9uZVNob3QoMC4xKTsKKyAgICAgICAgdGltZXIuc3RhcnRPbmVTaG90KDEwMF9t
cyk7CiAgICAgICAgIFV0aWw6OnJ1bigmdGVzdEZpbmlzaGVkKTsKICAgICB9CiB9CmRpZmYgLS1n
aXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2d0ay9UZXN0UnVubmVy
R3RrLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvZ3RrL1Rlc3RS
dW5uZXJHdGsuY3BwCmluZGV4IGE5ZjdmNDA5YzA5YmY5ODNkNGE3NGI4M2RmM2E5MWU2ZGI1OWYy
N2UuLmI5YWNjY2M2Yzg3ODRlYzhlOGQ4YzE1YWYzNzJlZmQxYmVkMzVlZjUgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvZ3RrL1Rlc3RSdW5uZXJHdGsu
Y3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvZ3RrL1Rlc3RS
dW5uZXJHdGsuY3BwCkBAIC00OCw3ICs0OCw3IEBAIHZvaWQgVGVzdFJ1bm5lcjo6aW5pdGlhbGl6
ZVdhaXRUb0R1bXBXYXRjaGRvZ1RpbWVySWZOZWVkZWQoKQogICAgIGlmIChtX3dhaXRUb0R1bXBX
YXRjaGRvZ1RpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIG1fd2FpdFRv
RHVtcFdhdGNoZG9nVGltZXIuc3RhcnRPbmVTaG90KG1fdGltZW91dCAvIDEwMDAuMCk7CisgICAg
bV93YWl0VG9EdW1wV2F0Y2hkb2dUaW1lci5zdGFydE9uZVNob3QoMV9tcyAqIG1fdGltZW91dCk7
CiB9CiAKIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBUZXN0UnVubmVyOjpwYXRoVG9Mb2NhbFJl
c291cmNlKEpTU3RyaW5nUmVmIHVybCkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>306652</attachid>
            <date>2017-04-09 22:07:46 -0700</date>
            <delta_ts>2017-04-09 22:14:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-170659-20170409220730.patch</filename>
            <type>text/plain</type>
            <size>150097</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE1MTY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjU2NmE5MGMzMjEyZGMz
MzAyMmE2MGViZWU2NDU1ODA1NTQ2ZGRiYy4uNWRmYTg3ZjkzZGZjMWJhNDljN2Y3ZGFmMWZkMzMx
MmEwN2E1YmRiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4MyBAQAorMjAxNy0wNC0wOSAgQ2hy
aXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIERyb3AgVGltZXI6OnN0YXJ0
T25lU2hvdCgpIG92ZXJsb2FkIHRha2luZyBhIGRvdWJsZQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcwNjU5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRHJvcCBUaW1lcjo6c3RhcnRPbmVTaG90KCkgb3Zl
cmxvYWQgdGFraW5nIGEgZG91YmxlIGFzIHBlb3BsZSBzaG91bGQgdXNlIFNlY29uZHMgdHlwZSBu
b3cuCisKKyAgICAgICAgKiBNb2R1bGVzL2dlb2xvY2F0aW9uL0dlb05vdGlmaWVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6Okdlb05vdGlmaWVyOjpzdGFydFRpbWVySWZOZWVkZWQpOgorICAgICAg
ICAqIE1vZHVsZXMvbWVkaWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6V2ViTWVkaWFTZXNzaW9uTWFuYWdlcjo6Y29uZmlndXJlV2F0Y2hkb2dU
aW1lcik6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXNlc3Npb24vV2ViTWVkaWFTZXNzaW9uTWFu
YWdlci5oOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vQ2FudmFzQ2FwdHVyZU1lZGlh
U3RyZWFtVHJhY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFzQ2FwdHVyZU1lZGlhU3Ry
ZWFtVHJhY2s6OlNvdXJjZTo6Y2FudmFzQ2hhbmdlZCk6CisgICAgICAgICogTW9kdWxlcy92aWJy
YXRpb24vVmlicmF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlZpYnJhdGlvbjo6dGltZXJG
aXJlZCk6CisgICAgICAgICogTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6V2ViU29ja2V0Q2hhbm5lbDo6Y2xvc2UpOgorICAgICAgICAq
IGFjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBWE9i
amVjdENhY2hlOjplbnF1ZXVlUGFzc3dvcmRWYWx1ZUNoYW5nZU5vdGlmaWNhdGlvbik6CisgICAg
ICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpwb3N0TGl2ZVJlZ2lvbkNoYW5nZU5vdGlmaWNh
dGlvbik6CisgICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpmb2N1c0FyaWFNb2RhbE5v
ZGUpOgorICAgICAgICAqIGNzcy9DU1NGb250RmFjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpD
U1NGb250RmFjZTo6c2V0U3RhdHVzKToKKyAgICAgICAgKiBjc3MvU3R5bGVSZXNvbHZlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJlc29sdmVyOjphZGRUb01hdGNoZWRQcm9wZXJ0aWVz
Q2FjaGUpOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpE
b2N1bWVudDo6c2V0VmlzdWFsVXBkYXRlc0FsbG93ZWQpOgorICAgICAgICAoV2ViQ29yZTo6RG9j
dW1lbnQ6OmZpbmlzaGVkUGFyc2luZyk6CisgICAgICAgICogZG9tL1NjcmlwdGVkQW5pbWF0aW9u
Q29udHJvbGxlci5jcHA6CisgICAgICAgICogZWRpdGluZy9BbHRlcm5hdGl2ZVRleHRDb250cm9s
bGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFsdGVybmF0aXZlVGV4dENvbnRyb2xsZXI6OnN0
YXJ0QWx0ZXJuYXRpdmVUZXh0VUlUaW1lcik6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVt
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmFkZEJlaGF2aW9y
UmVzdHJpY3Rpb25zT25FbmRJZk5lY2Vzc2FyeSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVk
aWFFbGVtZW50OjpoYW5kbGVTZWVrVG9QbGF5YmFja1Bvc2l0aW9uKToKKyAgICAgICAgKiBodG1s
L1NlYXJjaElucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZWFyY2hJbnB1dFR5cGU6
OnN0YXJ0U2VhcmNoRXZlbnRUaW1lcik6CisgICAgICAgICogaHRtbC9WYWxpZGF0aW9uTWVzc2Fn
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWYWxpZGF0aW9uTWVzc2FnZTo6c2V0TWVzc2FnZURP
TUFuZFN0YXJ0VGltZXIpOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29u
dGV4dEJhc2UuY3BwOgorICAgICAgICAqIGh0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRz
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFBhbmVsRWxlbWVudDo6c3RhcnRU
aW1lcik6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xQYW5lbEVsZW1lbnQ6Om1ha2VU
cmFuc3BhcmVudCk6CisgICAgICAgICogaHRtbC90cmFjay9WVFRSZWdpb24uY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6VlRUUmVnaW9uOjpzdGFydFRpbWVyKToKKyAgICAgICAgKiBpbnNwZWN0b3Iv
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbjo6ZnJhbWVTY2hlZHVsZWROYXZpZ2F0aW9uSW1wbCk6CisgICAgICAg
ICogaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oOgorICAgICAgICAoV2ViQ29y
ZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpmcmFtZVNjaGVkdWxlZE5hdmlnYXRpb24pOgor
ICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SW5zcGVjdG9yUGFnZUFnZW50OjpmcmFtZVNjaGVkdWxlZE5hdmlnYXRpb24pOgorICAg
ICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuaDoKKyAgICAgICAgKiBsb2FkZXIv
TmF2aWdhdGlvblNjaGVkdWxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0aW9uU2No
ZWR1bGVyOjpzdGFydFRpbWVyKToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3Vy
Y2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OmRv
Y3VtZW50RGlkRmluaXNoTG9hZEV2ZW50KToKKyAgICAgICAgKiBsb2FkZXIvaWNvbi9JY29uRGF0
YWJhc2UuY3BwOgorICAgICAgICAqIHBhZ2UvRXZlbnRIYW5kbGVyLmNwcDoKKyAgICAgICAgKiBw
YWdlL0V2ZW50U291cmNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50U291cmNlOjpzY2hl
ZHVsZVJlY29ubmVjdCk6CisgICAgICAgICogcGFnZS9Gb2N1c0NvbnRyb2xsZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Rm9jdXNDb250cm9sbGVyOjpzZXRGb2N1c2VkRWxlbWVudE5lZWRzUmVw
YWludCk6CisgICAgICAgICogcGFnZS9GcmFtZVZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
RnJhbWVWaWV3OjpzY3JvbGxQb3NpdGlvbkNoYW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6RnJh
bWVWaWV3OjplbmFibGVTcGVjdWxhdGl2ZVRpbGluZ0lmTmVlZGVkKToKKyAgICAgICAgKiBwYWdl
L1NldHRpbmdzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpTZXR0aW5ncyk6Cisg
ICAgICAgICogcGFnZS9TZXR0aW5ncy5oOgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OnNl
dFRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKToKKyAgICAgICAg
KFdlYkNvcmU6OlNldHRpbmdzOjp0aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdD
b250cm9scyk6CisgICAgICAgICogcGFnZS9TdXNwZW5kYWJsZVRpbWVyLmg6CisgICAgICAgICog
cGFnZS9hbmltYXRpb24vQ1NTQW5pbWF0aW9uQ29udHJvbGxlci5jcHA6CisgICAgICAgICogcGFn
ZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tOgorICAgICAgICAqIHBhZ2UvbWFjL1RleHRJbmRpY2F0
b3JXaW5kb3cubW06CisgICAgICAgIChXZWJDb3JlOjpUZXh0SW5kaWNhdG9yV2luZG93OjpzZXRU
ZXh0SW5kaWNhdG9yKToKKyAgICAgICAgKiBwbGF0Zm9ybS9IeXN0ZXJlc2lzQWN0aXZpdHkuaDoK
KyAgICAgICAgKFdlYkNvcmU6Okh5c3RlcmVzaXNBY3Rpdml0eTo6c3RvcCk6CisgICAgICAgICog
cGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Omdl
dEFuaW1hdGlvblBhcmFtZXRlcnNGb3JHcmFudWxhcml0eSk6CisgICAgICAgIChXZWJDb3JlOjpT
Y3JvbGxBbmltYXRpb25TbW9vdGg6OnVwZGF0ZVBlckF4aXNEYXRhKToKKyAgICAgICAgKFdlYkNv
cmU6OlNjcm9sbEFuaW1hdGlvblNtb290aDo6YW5pbWF0ZVNjcm9sbCk6CisgICAgICAgIChXZWJD
b3JlOjpTY3JvbGxBbmltYXRpb25TbW9vdGg6OmFuaW1hdGlvblRpbWVyRmlyZWQpOgorICAgICAg
ICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0aW9uU21vb3RoOjpzdGFydE5leHRUaW1lcik6CisgICAg
ICAgICogcGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmg6CisgICAgICAgICogcGxhdGZv
cm0vVGltZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6c3RhcnRSZXBlYXRpbmcp
OgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uOjpzY2hlZHVsZUNsaWVudERhdGFC
dWZmZXJpbmdDaGVjayk6CisgICAgICAgICogcGxhdGZvcm0vY29jb2EvU2Nyb2xsQ29udHJvbGxl
ci5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbENvbnRyb2xsZXI6OnNjaGVkdWxlU3RhdGVs
ZXNzU2Nyb2xsU25hcCk6CisgICAgICAgICogcGxhdGZvcm0vZ2FtZXBhZC9jb2NvYS9HYW1lQ29u
dHJvbGxlckdhbWVwYWRQcm92aWRlci5tbToKKyAgICAgICAgKFdlYkNvcmU6OkdhbWVDb250cm9s
bGVyR2FtZXBhZFByb3ZpZGVyOjpnYW1lcGFkSGFkSW5wdXQpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dhbWVwYWQvbWFjL0hJREdhbWVwYWRQcm92aWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpI
SURHYW1lcGFkUHJvdmlkZXI6Om9wZW5BbmRTY2hlZHVsZU1hbmFnZXIpOgorICAgICAgICAoV2Vi
Q29yZTo6SElER2FtZXBhZFByb3ZpZGVyOjp2YWx1ZXNDaGFuZ2VkKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9nbGliL01haW5UaHJlYWRTaGFyZWRUaW1lckdMaWIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6TWFpblRocmVhZFNoYXJlZFRpbWVyOjpzZXRGaXJlSW50ZXJ2YWwpOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkJpdG1h
cEltYWdlOjpzdGFydFRpbWVyKToKKyAgICAgICAgKFdlYkNvcmU6OkJpdG1hcEltYWdlOjppbnRl
cm5hbFN0YXJ0QW5pbWF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkJpdG1hcEltYWdlOjphZHZh
bmNlQW5pbWF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkJpdG1hcEltYWdlOjpyZXNldEFuaW1h
dGlvbik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuaDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyLmNwcDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9TaGFkb3dCbHVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlNjcmF0Y2hCdWZmZXI6OnNjaGVkdWxlU2NyYXRjaEJ1ZmZlclB1cmdlKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9jYS9MYXllclBvb2wuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
TGF5ZXJQb29sOjpzY2hlZHVsZVBydW5lKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9n
c3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6Y2hhbmdlUGlwZWxpbmVTdGF0ZSk6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0dyYXBoaWNzQ29udGV4dDNETWFjLm1tOgor
ICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0RNYW5hZ2VyOjp1cGRhdGVIaWdoUGVy
Zm9ybWFuY2VTdGF0ZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0JpdG1h
cFRleHR1cmVQb29sLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkJpdG1hcFRleHR1cmVQb29sOjpz
Y2hlZHVsZVJlbGVhc2VVbnVzZWRUZXh0dXJlcyk6CisgICAgICAgIChXZWJDb3JlOjpCaXRtYXBU
ZXh0dXJlUG9vbDo6cmVsZWFzZVVudXNlZFRleHR1cmVzVGltZXJGaXJlZCk6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVyUHJveHku
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6VGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXJQcm94eTo6
c2NoZWR1bGVSZWxlYXNlVW51c2VkQnVmZmVycyk6CisgICAgICAgIChXZWJDb3JlOjpUZXh0dXJl
TWFwcGVyUGxhdGZvcm1MYXllclByb3h5OjpyZWxlYXNlVW51c2VkQnVmZmVyc1RpbWVyRmlyZWQp
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGlu
YXRlZEltYWdlQmFja2luZy5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3RrL1Njcm9sbEFuaW1h
dG9yR3RrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdG9yR3RrOjpvdmVybGF5
U2Nyb2xsYmFyQW5pbWF0aW9uVGltZXJGaXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxB
bmltYXRvckd0azo6c2hvd092ZXJsYXlTY3JvbGxiYXJzKToKKyAgICAgICAgKFdlYkNvcmU6OlNj
cm9sbEFuaW1hdG9yR3RrOjpoaWRlT3ZlcmxheVNjcm9sbGJhcnMpOgorICAgICAgICAqIHBsYXRm
b3JtL2d0ay9TY3JvbGxBbmltYXRvckd0ay5oOgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9XZWJW
aWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdC5tbToKKyAgICAgICAgKFdlYlZpZGVvRnVsbHNj
cmVlbkludGVyZmFjZUFWS2l0OjpzaG91bGRFeGl0RnVsbHNjcmVlbldpdGhSZWFzb24pOgorICAg
ICAgICAqIHBsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5tbToKKyAgICAgICAgKFdlYkNv
cmU6OlNjcm9sbEFuaW1hdG9yTWFjOjpzdGFydFNjcm9sbGJhclBhaW50VGltZXIpOgorICAgICAg
ICAqIHBsYXRmb3JtL21vY2svTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlck1vY2suY3BwOgorICAg
ICAgICAqIHBsYXRmb3JtL21vY2svUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1vY2suY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1vY2s6OnNwZWFrKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL1RpbWVyRXZlbnRCYXNlZE1vY2suaDoKKyAgICAgICAg
KFdlYkNvcmU6OlRpbWVyRXZlbnQ6OlRpbWVyRXZlbnQpOgorICAgICAgICAqIHBsYXRmb3JtL25l
dHdvcmsvRE5TUmVzb2x2ZVF1ZXVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkROU1Jlc29sdmVR
dWV1ZTo6YWRkKToKKyAgICAgICAgKFdlYkNvcmU6OkROU1Jlc29sdmVRdWV1ZTo6dGltZXJGaXJl
ZCk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9QaW5nSGFuZGxlLmg6CisgICAgICAgICog
cGxhdGZvcm0vbmV0d29yay9jdXJsL1Jlc291cmNlSGFuZGxlTWFuYWdlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZU1hbmFnZXI6OmRvd25sb2FkVGltZXJDYWxsYmFjayk6
CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZU1hbmFnZXI6OmFkZCk6CisgICAgICAg
IChXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZU1hbmFnZXI6OmNhbmNlbCk6CisgICAgICAgICogcGxh
dGZvcm0vbmV0d29yay9tYWMvTmV0d29ya1N0YXRlTm90aWZpZXJNYWMuY3BwOgorICAgICAgICAq
IHBsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UmVzb3VyY2VIYW5kbGU6OnNlbmRQZW5kaW5nUmVxdWVzdCk6CisgICAgICAgICog
cmVuZGVyaW5nL0ltYWdlUXVhbGl0eUNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SW1hZ2VRdWFsaXR5Q29udHJvbGxlcjo6cmVzdGFydFRpbWVyKToKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
UHJvZ3Jlc3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyUHJvZ3Jlc3M6OlJlbmRlclBy
b2dyZXNzKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyUHJvZ3Jlc3MuaDoKKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZWN1cmVUZXh0
VGltZXI6OnJlc3RhcnQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6YW5pbWF0aW9uUmVwZWF0SW50ZXJ2YWxGb3JQ
cm9ncmVzc0Jhcik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lLmg6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6bWVkaWFDb250cm9sc0ZhZGVPdXREdXJhdGlvbik6Cisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lR3RrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclRoZW1lR3RrOjphbmltYXRpb25SZXBlYXRJbnRlcnZhbEZvclByb2dyZXNzQmFyKToK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVHdGsuaDoKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyVGhlbWVJT1MuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1Mu
bW06CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZUlPUzo6YW5pbWF0aW9uUmVwZWF0SW50
ZXJ2YWxGb3JQcm9ncmVzc0Jhcik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFj
Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1tOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyVGhlbWVNYWM6OmFuaW1hdGlvblJlcGVhdEludGVydmFsRm9yUHJvZ3Jlc3NC
YXIpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVNYWM6OmFuaW1hdGlvbkR1cmF0aW9u
Rm9yUHJvZ3Jlc3NCYXIpOgorICAgICAgICAqIHJlcGxheS9FdmVudExvb3BJbnB1dERpc3BhdGNo
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRMb29wSW5wdXREaXNwYXRjaGVyOjpkaXNw
YXRjaElucHV0U29vbik6CisgICAgICAgICogc3ZnL2FuaW1hdGlvbi9TTUlMVGltZUNvbnRhaW5l
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTTUlMVGltZUNvbnRhaW5lcjo6c3RhcnRUaW1lcik6
CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkludGVybmFsU2V0dGluZ3M6OnNldFRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhp
ZGluZ0NvbnRyb2xzKToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaDoKKyAg
ICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5h
bHM6OnNldEltYWdlRnJhbWVEZWNvZGluZ0R1cmF0aW9uKToKKyAgICAgICAgKiB4bWwvWE1MSHR0
cFJlcXVlc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3Q6OmNyZWF0ZVJl
cXVlc3QpOgorCiAyMDE3LTA0LTA5ICBZdXN1a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFAZ21haWwu
Y29tPgogCiAgICAgICAgIFtXVEZdIEFubm90YXRlIFNlY29uZHMnIG1lbWJlciBmdW5jdGlvbnMg
YW5kIG9wZXJhdG9ycyB3aXRoIGNvbnN0ZXhwcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBlZmMzMDdhOTNjMjM2NThh
OTg4MzhhY2NhYTE0NGIxOTczMjJjNmI1Li5jNGJkNTRhYjQ2MzEwZDJhYjU5OTFjMzgyODNkODg3
OTdmOTAyN2NkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIxIEBACiAyMDE3LTA0LTA5ICBDaHJpcyBE
dW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKKyAgICAgICAgRHJvcCBUaW1lcjo6c3RhcnRPbmVT
aG90KCkgb3ZlcmxvYWQgdGFraW5nIGEgZG91YmxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzA2NTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBEcm9wIFRpbWVyOjpzdGFydE9uZVNob3QoKSBvdmVybG9h
ZCB0YWtpbmcgYSBkb3VibGUgYXMgcGVvcGxlIHNob3VsZCB1c2UgU2Vjb25kcyB0eXBlIG5vdy4K
KworICAgICAgICAqIFN0b3JhZ2UvU3RvcmFnZUFyZWFTeW5jLmNwcDoKKyAgICAgICAgKiBTdG9y
YWdlL1N0b3JhZ2VUcmFja2VyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6U3RvcmFnZVRyYWNrZXI6
OlN0b3JhZ2VUcmFja2VyKToKKyAgICAgICAgKiBTdG9yYWdlL1N0b3JhZ2VUcmFja2VyLmg6Cisg
ICAgICAgIChXZWJLaXQ6OlN0b3JhZ2VUcmFja2VyOjpzdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2
YWwpOgorICAgICAgICAoV2ViS2l0OjpTdG9yYWdlVHJhY2tlcjo6c2V0U3RvcmFnZURhdGFiYXNl
SWRsZUludGVydmFsKToKKworMjAxNy0wNC0wOSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUu
Y29tPgorCiAgICAgICAgIFN0YXJ0IGRyb3BwaW5nIFRpbWVyIEFQSSBkZWFsaW5nIHdpdGggZG91
YmxlCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzA2
NDkKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IDY1MWE4YzZlYmZkYzkxMDAwMjE0MTRkMGFjNGM0YWVl
MGYyMTI5YmIuLmY0ZTFjMzQyMDI0ODRiZjNhMDUxNmY2NmNiOTUwYjQ3MzQ3YTNiYjcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21h
Yy9DaGFuZ2VMb2cKQEAgLTEsNSArMSwxOSBAQAogMjAxNy0wNC0wOSAgQ2hyaXMgRHVtZXogIDxj
ZHVtZXpAYXBwbGUuY29tPgogCisgICAgICAgIERyb3AgVGltZXI6OnN0YXJ0T25lU2hvdCgpIG92
ZXJsb2FkIHRha2luZyBhIGRvdWJsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTcwNjU5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgRHJvcCBUaW1lcjo6c3RhcnRPbmVTaG90KCkgb3ZlcmxvYWQgdGFraW5n
IGEgZG91YmxlIGFzIHBlb3BsZSBzaG91bGQgdXNlIFNlY29uZHMgdHlwZSBub3cuCisKKyAgICAg
ICAgKiBQbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luVmlldy5tbToKKyAgICAgICAgKFBsdWdpblRp
bWVyOjpzdGFydCk6CisgICAgICAgICogU3RvcmFnZS9XZWJTdG9yYWdlTWFuYWdlci5tbToKKyAg
ICAgICAgKCtbV2ViU3RvcmFnZU1hbmFnZXIgc2V0U3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFs
Ol0pOgorCisyMDE3LTA0LTA5ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKICAg
ICAgICAgRHJvcCBUaW1lcjo6c3RhcnRSZXBlYXRpbmcoKSBvdmVybG9hZCB0YWtpbmcgYSBkb3Vi
bGUKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MDY1
NgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0L3dpbi9DaGFuZ2VMb2cKaW5kZXggYWRjODVmZDNlMzNmNGFiMmYyNTBiMjYwOGEzYTVmNGRm
NTU4Y2QxOC4uZWJmMDY4ZWFkYzAzODlhY2ZiZDljNmVlOTk1ZWVkMDM0NDUxZGQ4MCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvd2lu
L0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIyIEBACiAyMDE3LTA0LTA5ICBDaHJpcyBEdW1leiAgPGNk
dW1lekBhcHBsZS5jb20+CiAKKyAgICAgICAgRHJvcCBUaW1lcjo6c3RhcnRPbmVTaG90KCkgb3Zl
cmxvYWQgdGFraW5nIGEgZG91YmxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNzA2NTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBEcm9wIFRpbWVyOjpzdGFydE9uZVNob3QoKSBvdmVybG9hZCB0YWtpbmcg
YSBkb3VibGUgYXMgcGVvcGxlIHNob3VsZCB1c2UgU2Vjb25kcyB0eXBlIG5vdy4KKworICAgICAg
ICAqIFBsdWdpbnMvUGx1Z2luTWVzc2FnZVRocm90dGxlcldpbi5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpQbHVnaW5NZXNzYWdlVGhyb3R0bGVyV2luOjphcHBlbmRNZXNzYWdlKToKKyAgICAgICAg
KFdlYkNvcmU6OlBsdWdpbk1lc3NhZ2VUaHJvdHRsZXJXaW46Om1lc3NhZ2VUaHJvdHRsZVRpbWVy
RmlyZWQpOgorICAgICAgICAqIFBsdWdpbnMvUGx1Z2luVmlld1dpbi5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpQbHVnaW5WaWV3OjppbnZhbGlkYXRlUmVjdCk6CisgICAgICAgICogV2ViQ29yZVN1
cHBvcnQvQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQuY3BwOgorICAgICAgICAoQWNjZWxl
cmF0ZWRDb21wb3NpdGluZ0NvbnRleHQ6OnNjaGVkdWxlTGF5ZXJGbHVzaCk6CisKKzIwMTctMDQt
MDkgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKwogICAgICAgICBEcm9wIFRpbWVy
OjpzdGFydFJlcGVhdGluZygpIG92ZXJsb2FkIHRha2luZyBhIGRvdWJsZQogICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcwNjU2CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRl
eCBjMmYwZTUwZTkwODk3OTY0NjdiYjYzYTY4ZjM0ZWQ5ZWQ0ZjI3NDk2Li4wZGQ5MjIyMWFkYjEx
YTdlNmQyZjU1NzMzOWNhYTJiZTUyZGY3ODNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsNjUgQEAK
IDIwMTctMDQtMDkgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAorICAgICAgICBE
cm9wIFRpbWVyOjpzdGFydE9uZVNob3QoKSBvdmVybG9hZCB0YWtpbmcgYSBkb3VibGUKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MDY1OQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERyb3AgVGltZXI6OnN0
YXJ0T25lU2hvdCgpIG92ZXJsb2FkIHRha2luZyBhIGRvdWJsZSBhcyBwZW9wbGUgc2hvdWxkIHVz
ZSBTZWNvbmRzIHR5cGUgbm93LgorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvUGluZ0xvYWQu
aDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9zb3VwL05ldHdvcmtEYXRhVGFza1NvdXAuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrRGF0YVRhc2tTb3VwOjpzdGFydFRpbWVvdXQpOgor
ICAgICAgICAqIFBsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmg6CisgICAgICAgICogUGxhdGZvcm0v
SVBDL21hYy9Db25uZWN0aW9uTWFjLm1tOgorICAgICAgICAoSVBDOjpDb25uZWN0aW9uVGVybWlu
YXRpb25XYXRjaGRvZzo6Y3JlYXRlQ29ubmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hkb2cpOgorICAg
ICAgICAoSVBDOjpDb25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZzo6Q29ubmVjdGlvblRlcm1p
bmF0aW9uV2F0Y2hkb2cpOgorICAgICAgICAoSVBDOjpDb25uZWN0aW9uOjp0ZXJtaW5hdGVTb29u
KToKKyAgICAgICAgKiBQbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3MuY3BwOgorICAgICAgICAo
V2ViS2l0OjpQbHVnaW5Qcm9jZXNzOjpzZXRNaW5pbXVtTGlmZXRpbWUpOgorICAgICAgICAqIFBs
dWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5oOgorICAgICAgICAqIFNoYXJlZC9DaGlsZFByb2Nl
c3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpDaGlsZFByb2Nlc3M6OkNoaWxkUHJvY2Vzcyk6Cisg
ICAgICAgICogU2hhcmVkL0NoaWxkUHJvY2Vzcy5oOgorICAgICAgICAoV2ViS2l0OjpDaGlsZFBy
b2Nlc3M6OnNldFRlcm1pbmF0aW9uVGltZW91dCk6CisgICAgICAgICogU2hhcmVkL0Nvb3JkaW5h
dGVkR3JhcGhpY3MvdGhyZWFkZWRjb21wb3NpdG9yL0NvbXBvc2l0aW5nUnVuTG9vcC5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OkNvbXBvc2l0aW5nUnVuTG9vcDo6c3RhcnRVcGRhdGVUaW1lcik6Cisg
ICAgICAgICogU2hhcmVkL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5o
OgorICAgICAgICAqIFNoYXJlZC9XZWJNZW1vcnlTYW1wbGVyLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6V2ViTWVtb3J5U2FtcGxlcjo6aW5pdGlhbGl6ZVRpbWVycyk6CisgICAgICAgICogU2hhcmVk
L1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L0NvY29hL0FQSVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUNvY29hLm1tOgorICAgICAgICAoQVBJOjpT
aGFyZWRKU0NvbnRleHQ6OmVuc3VyZUNvbnRleHQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9DaGls
ZFByb2Nlc3NQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OkNoaWxkUHJvY2Vzc1Byb3h5Ojpz
aHV0RG93blByb2Nlc3MpOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9OYXZpZ2F0aW9uU3Rh
dGUubW06CisgICAgICAgIChXZWJLaXQ6Ok5hdmlnYXRpb25TdGF0ZTo6ZGlkQ2hhbmdlSXNMb2Fk
aW5nKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvVmlld0dlc3R1cmVDb250cm9sbGVyLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6Vmlld0dlc3R1cmVDb250cm9sbGVyOjpTbmFwc2hvdFJlbW92
YWxUcmFja2VyOjpzdGFydFdhdGNoZG9nKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvVmll
d0dlc3R1cmVDb250cm9sbGVyLmg6CisgICAgICAgICogVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJv
eHlJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6RHJhd2luZ0FyZWFQcm94eUltcGw6OmRpc2Nh
cmRCYWNraW5nU3RvcmVTb29uKToKKyAgICAgICAgKFdlYktpdDo6RHJhd2luZ0FyZWFQcm94eUlt
cGw6OkRyYXdpbmdNb25pdG9yOjpzdGFydCk6CisgICAgICAgIChXZWJLaXQ6OkRyYXdpbmdBcmVh
UHJveHlJbXBsOjpEcmF3aW5nTW9uaXRvcjo6ZGlkRHJhdyk6CisgICAgICAgICogVUlQcm9jZXNz
L0dhbWVwYWQvVUlHYW1lcGFkUHJvdmlkZXIuY3BwOgorICAgICAgICAqIFVJUHJvY2Vzcy9QbHVn
aW5zL1BsdWdpblByb2Nlc3NQcm94eS5jcHA6CisgICAgICAgICogVUlQcm9jZXNzL1Byb2Nlc3NU
aHJvdHRsZXIuY3BwOgorICAgICAgICAqIFVJUHJvY2Vzcy9SZXNwb25zaXZlbmVzc1RpbWVyLmNw
cDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQcm9jZXNzUG9vbDo6Y3JlYXRlTmV3V2ViUHJvY2Vzcyk6CisgICAgICAgICogVUlQ
cm9jZXNzL2d0ay9HZXN0dXJlQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJLaXQ6Okdlc3R1
cmVDb250cm9sbGVyOjpEcmFnR2VzdHVyZTo6YmVnaW4pOgorICAgICAgICAqIFVJUHJvY2Vzcy9t
YWMvV2ViSW5zcGVjdG9yUHJveHlNYWMubW06CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdl
L0FjY2VsZXJhdGVkRHJhd2luZ0FyZWEuY3BwOgorICAgICAgICAoV2ViS2l0OjpBY2NlbGVyYXRl
ZERyYXdpbmdBcmVhOjpleGl0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGVOb3cpOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5
ZXJUcmVlSG9zdC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9z
dDo6c2NoZWR1bGVBbmltYXRpb24pOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6ZGV0ZXJtaW5lUHJpbWFyeVNuYXBz
aG90dGVkUGx1Z0luKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwOgorCisy
MDE3LTA0LTA5ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKICAgICAgICAgRHJv
cCBUaW1lcjo6c3RhcnRSZXBlYXRpbmcoKSBvdmVybG9hZCB0YWtpbmcgYSBkb3VibGUKICAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MDY1NgogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dlb2xvY2F0aW9uL0dlb05vdGlmaWVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvTm90aWZpZXIuY3BwCmlu
ZGV4IDc0YTk2Y2UxZDJiYTgwMjdjNWRlNjFiZmQyMGY0YjI4NGZkMjg3YjIuLjg2OTUwMmYwMGQ0
ZDVkNjBhOTZjZmI3NmY3OTVhYjZhZDJiMDI2YzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvTm90aWZpZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvTm90aWZpZXIuY3BwCkBAIC04Nyw3ICs4Nyw3IEBAIHZv
aWQgR2VvTm90aWZpZXI6OnJ1bkVycm9yQ2FsbGJhY2soUG9zaXRpb25FcnJvciogZXJyb3IpCiAK
IHZvaWQgR2VvTm90aWZpZXI6OnN0YXJ0VGltZXJJZk5lZWRlZCgpCiB7Ci0gICAgbV90aW1lci5z
dGFydE9uZVNob3QobV9vcHRpb25zLnRpbWVvdXQgLyAxMDAwLjApOworICAgIG1fdGltZXIuc3Rh
cnRPbmVTaG90KDFfbXMgKiBtX29wdGlvbnMudGltZW91dCk7CiB9CiAKIHZvaWQgR2VvTm90aWZp
ZXI6OnN0b3BUaW1lcigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c2Vzc2lvbi9XZWJNZWRpYVNlc3Npb25NYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwCmluZGV4IDdhMzM2OWYx
MGU1MzBlNGRjODdlNzE3ZDU2NzVmNzA5MTEzYjgwZTkuLjQxNjZlNGU4OWZiZGQ2ZjJhMmE3MGNl
ZWViNzQ3ZTU3MDNjZmZjYTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwCkBAIC0zNiw3
ICszNiw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIGNvbnN0IGRvdWJsZSB0
YXNrRGVsYXlJbnRlcnZhbCA9IDEuMCAvIDEwLjA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyB0YXNr
RGVsYXlJbnRlcnZhbCB7IDEwMF9tcyB9OwogCiBzdHJ1Y3QgQ2xpZW50U3RhdGUgewogICAgIGV4
cGxpY2l0IENsaWVudFN0YXRlKFdlYk1lZGlhU2Vzc2lvbk1hbmFnZXJDbGllbnQmIGNsaWVudCwg
dWludDY0X3QgY29udGV4dElkKQpAQCAtNDIzLDggKzQyMyw4IEBAIHNpemVfdCBXZWJNZWRpYVNl
c3Npb25NYW5hZ2VyOjpmaW5kKFdlYk1lZGlhU2Vzc2lvbk1hbmFnZXJDbGllbnQqIGNsaWVudCwg
dWludDY0CiAKIHZvaWQgV2ViTWVkaWFTZXNzaW9uTWFuYWdlcjo6Y29uZmlndXJlV2F0Y2hkb2dU
aW1lcigpCiB7Ci0gICAgc3RhdGljIGNvbnN0IGRvdWJsZSB3YXRjaGRvZ1RpbWVySW50ZXJ2YWxB
ZnRlclBhdXNpbmcgPSA2MCAqIDYwOwotICAgIHN0YXRpYyBjb25zdCBkb3VibGUgd2F0Y2hkb2dU
aW1lckludGVydmFsQWZ0ZXJQbGF5aW5nVG9FbmQgPSA4ICogNjA7CisgICAgc3RhdGljIGNvbnN0
IFNlY29uZHMgd2F0Y2hkb2dUaW1lckludGVydmFsQWZ0ZXJQYXVzaW5nIHsgMV9oIH07CisgICAg
c3RhdGljIGNvbnN0IFNlY29uZHMgd2F0Y2hkb2dUaW1lckludGVydmFsQWZ0ZXJQbGF5aW5nVG9F
bmQgeyA4X21pbiB9OwogCiAgICAgaWYgKCFtX3BsYXliYWNrVGFyZ2V0IHx8ICFtX3BsYXliYWNr
VGFyZ2V0LT5oYXNBY3RpdmVSb3V0ZSgpKSB7CiAgICAgICAgIG1fd2F0Y2hkb2dUaW1lci5zdG9w
KCk7CkBAIC00NDIsMTEgKzQ0MiwxMSBAQCB2b2lkIFdlYk1lZGlhU2Vzc2lvbk1hbmFnZXI6OmNv
bmZpZ3VyZVdhdGNoZG9nVGltZXIoKQogICAgIH0KIAogICAgIGlmIChzdG9wVGltZXIpIHsKLSAg
ICAgICAgbV9jdXJyZW50V2F0Y2hkb2dJbnRlcnZhbCA9IDA7CisgICAgICAgIG1fY3VycmVudFdh
dGNoZG9nSW50ZXJ2YWwgPSB7IH07CiAgICAgICAgIG1fd2F0Y2hkb2dUaW1lci5zdG9wKCk7CiAg
ICAgICAgIExPRyhNZWRpYSwgIldlYk1lZGlhU2Vzc2lvbk1hbmFnZXI6OmNvbmZpZ3VyZVdhdGNo
ZG9nVGltZXIgLSB0aW1lciBzdG9wcGVkIik7CiAgICAgfSBlbHNlIHsKLSAgICAgICAgZG91Ymxl
IGludGVydmFsID0gZGlkUGxheVRvRW5kID8gd2F0Y2hkb2dUaW1lckludGVydmFsQWZ0ZXJQbGF5
aW5nVG9FbmQgOiB3YXRjaGRvZ1RpbWVySW50ZXJ2YWxBZnRlclBhdXNpbmc7CisgICAgICAgIFNl
Y29uZHMgaW50ZXJ2YWwgPSBkaWRQbGF5VG9FbmQgPyB3YXRjaGRvZ1RpbWVySW50ZXJ2YWxBZnRl
clBsYXlpbmdUb0VuZCA6IHdhdGNoZG9nVGltZXJJbnRlcnZhbEFmdGVyUGF1c2luZzsKICAgICAg
ICAgaWYgKGludGVydmFsICE9IG1fY3VycmVudFdhdGNoZG9nSW50ZXJ2YWwgfHwgIW1fd2F0Y2hk
b2dUaW1lci5pc0FjdGl2ZSgpKSB7CiAgICAgICAgICAgICBtX3dhdGNoZG9nVGltZXIuc3RhcnRP
bmVTaG90KGludGVydmFsKTsKICAgICAgICAgICAgIExPRyhNZWRpYSwgIldlYk1lZGlhU2Vzc2lv
bk1hbmFnZXI6OmNvbmZpZ3VyZVdhdGNoZG9nVGltZXIgLSB0aW1lciBzY2hlZHVsZWQgZm9yICUu
MGYiLCBpbnRlcnZhbCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c2Vzc2lvbi9XZWJNZWRpYVNlc3Npb25NYW5hZ2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc2Vzc2lvbi9XZWJNZWRpYVNlc3Npb25NYW5hZ2VyLmgKaW5kZXggNTdkNThlZjkxNGNi
MjNmMTk0MDFjY2NmZWMzOGVjZTM4ZWFlYTYwOS4uMjk1MDllMjhjNGFmYTU0YzZkNDZhMTNhZDNj
MWYxMWIxNmMxYTM2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNl
c3Npb24vV2ViTWVkaWFTZXNzaW9uTWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuaApAQCAtMTAyLDcgKzEwMiw3
IEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPE1lZGlhUGxheWJhY2tUYXJnZXQ+IG1fcGxheWJhY2tU
YXJnZXQ7CiAgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6Ok1lZGlhUGxheWJhY2tUYXJnZXRQ
aWNrZXJNb2NrPiBtX3BpY2tlck92ZXJyaWRlOwogICAgIENvbmZpZ3VyYXRpb25UYXNrcyBtX3Rh
c2tGbGFncyB7IE5vVGFzayB9OwotICAgIGRvdWJsZSBtX2N1cnJlbnRXYXRjaGRvZ0ludGVydmFs
IHsgMCB9OworICAgIFNlY29uZHMgbV9jdXJyZW50V2F0Y2hkb2dJbnRlcnZhbDsKICAgICBib29s
IG1fZXh0ZXJuYWxPdXRwdXREZXZpY2VBdmFpbGFibGUgeyBmYWxzZSB9OwogICAgIGJvb2wgbV90
YXJnZXRDaGFuZ2VkIHsgZmFsc2UgfTsKICAgICBib29sIG1fbW9ja1BpY2tlckVuYWJsZWQgeyBm
YWxzZSB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9D
YW52YXNDYXB0dXJlTWVkaWFTdHJlYW1UcmFjay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL0NhbnZhc0NhcHR1cmVNZWRpYVN0cmVhbVRyYWNrLmNwcAppbmRleCBkYjRj
NDA0MWM5NjczOTY4MDY5YjllM2ZjYjdkNWQ2ZWM1NTg3NDYwLi4zZjdiMmMxODhiNTk5ODBhMmQ1
Y2ZiYTg3NmU5NGI5MTg3MjBhOGRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL0NhbnZhc0NhcHR1cmVNZWRpYVN0cmVhbVRyYWNrLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL0NhbnZhc0NhcHR1cmVNZWRpYVN0cmVhbVRy
YWNrLmNwcApAQCAtMTQzLDcgKzE0Myw3IEBAIHZvaWQgQ2FudmFzQ2FwdHVyZU1lZGlhU3RyZWFt
VHJhY2s6OlNvdXJjZTo6Y2FudmFzQ2hhbmdlZChIVE1MQ2FudmFzRWxlbWVudCYgY2FuCiAgICAg
Ly8gRklYTUU6IFdlIHNob3VsZCB0cnkgdG8gZ2VuZXJhdGUgdGhlIGZyYW1lIGF0IHRoZSB0aW1l
IHRoZSBzY3JlZW4gaXMgYmVpbmcgdXBkYXRlZC4KICAgICBpZiAobV9jYW52YXNDaGFuZ2VkVGlt
ZXIuaXNBY3RpdmUoKSkKICAgICAgICAgcmV0dXJuOwotICAgIG1fY2FudmFzQ2hhbmdlZFRpbWVy
LnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2NhbnZhc0NoYW5nZWRUaW1lci5zdGFydE9uZVNob3Qo
MF9zKTsKIH0KIAogdm9pZCBDYW52YXNDYXB0dXJlTWVkaWFTdHJlYW1UcmFjazo6U291cmNlOjpj
YXB0dXJlQ2FudmFzKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvdmlicmF0
aW9uL1ZpYnJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3ZpYnJhdGlvbi9WaWJy
YXRpb24uY3BwCmluZGV4IGMxNTIyYjM5MjIwYjRhOGYxMmJkMzIxNjdlOGQxMTIyN2VlMWRkYTcu
LjA1MTgwNzNlMTA5ZjQ2MThjNGFmOWRlMWYyNTEzYWY0NjY2ZGFiZjAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvdmlicmF0aW9uL1ZpYnJhdGlvbi5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy92aWJyYXRpb24vVmlicmF0aW9uLmNwcApAQCAtMTEwLDcgKzExMCw3
IEBAIHZvaWQgVmlicmF0aW9uOjp0aW1lckZpcmVkKCkKICAgICAgICAgbV92aWJyYXRpb25DbGll
bnQtPnZpYnJhdGUobV9wYXR0ZXJuWzBdKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQotICAgIG1f
dGltZXIuc3RhcnRPbmVTaG90KG1fcGF0dGVyblswXSAvIDEwMDAuMCk7CisgICAgbV90aW1lci5z
dGFydE9uZVNob3QoMV9tcyAqIG1fcGF0dGVyblswXSk7CiAgICAgbV9wYXR0ZXJuLnJlbW92ZSgw
KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dl
YlNvY2tldENoYW5uZWwuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dl
YlNvY2tldENoYW5uZWwuY3BwCmluZGV4IGM1Y2IxMjRlMjIzZDI4NmZiYjZmMDJjZTcwMTA0MDI4
NTI2OWUxNWUuLjYxZDNjY2RkNzE1ZGY4NjM5MDQ5NWNiM2RlZGYyYTgwN2U2MTJkMjIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVs
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hh
bm5lbC5jcHAKQEAgLTYxLDcgKzYxLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jb25z
dCBkb3VibGUgVENQTWF4aW11bVNlZ21lbnRMaWZldGltZSA9IDIgKiA2MC4wOworY29uc3QgU2Vj
b25kcyBUQ1BNYXhpbXVtU2VnbWVudExpZmV0aW1lIHsgMl9taW4gfTsKIAogV2ViU29ja2V0Q2hh
bm5lbDo6V2ViU29ja2V0Q2hhbm5lbChEb2N1bWVudCYgZG9jdW1lbnQsIFdlYlNvY2tldENoYW5u
ZWxDbGllbnQmIGNsaWVudCwgU29ja2V0UHJvdmlkZXImIHByb3ZpZGVyKQogICAgIDogbV9kb2N1
bWVudCgmZG9jdW1lbnQpCkBAIC0yMDcsNyArMjA3LDcgQEAgdm9pZCBXZWJTb2NrZXRDaGFubmVs
OjpjbG9zZShpbnQgY29kZSwgY29uc3QgU3RyaW5nJiByZWFzb24pCiAgICAgUmVmPFdlYlNvY2tl
dENoYW5uZWw+IHByb3RlY3RlZFRoaXMoKnRoaXMpOyAvLyBBbiBhdHRlbXB0IHRvIHNlbmQgY2xv
c2luZyBoYW5kc2hha2UgbWF5IGZhaWwsIHdoaWNoIHdpbGwgZ2V0IHRoZSBjaGFubmVsIGNsb3Nl
ZCBhbmQgZGVyZWZlcmVuY2VkLgogICAgIHN0YXJ0Q2xvc2luZ0hhbmRzaGFrZShjb2RlLCByZWFz
b24pOwogICAgIGlmIChtX2Nsb3NpbmcgJiYgIW1fY2xvc2luZ1RpbWVyLmlzQWN0aXZlKCkpCi0g
ICAgICAgIG1fY2xvc2luZ1RpbWVyLnN0YXJ0T25lU2hvdCgyICogVENQTWF4aW11bVNlZ21lbnRM
aWZldGltZSk7CisgICAgICAgIG1fY2xvc2luZ1RpbWVyLnN0YXJ0T25lU2hvdChUQ1BNYXhpbXVt
U2VnbWVudExpZmV0aW1lICogMik7CiB9CiAKIHZvaWQgV2ViU29ja2V0Q2hhbm5lbDo6ZmFpbChj
b25zdCBTdHJpbmcmIHJlYXNvbikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvQVhPYmplY3RDYWNoZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FY
T2JqZWN0Q2FjaGUuY3BwCmluZGV4IDEyNTQwNTAxNGU3NjBiYzJiOWU3OWRiODE5N2ExZTBlZTc1
ZDAyZjcuLmYwNmRmNzQwMGFjYTU2ZTA4ZTE4MzJhNGFlYTBmYzU2ZDU0NTRjNDIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcApAQCAtMTEwLDkg
KzExMCw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7
CiAKIC8vIFBvc3QgdmFsdWUgY2hhbmdlIG5vdGlmaWNhdGlvbnMgZm9yIHBhc3N3b3JkIGZpZWxk
cyBvciBlbGVtZW50cyBjb250YWluZWQgaW4gcGFzc3dvcmQgZmllbGRzIGF0IGEgNDBoeiBpbnRl
cnZhbCB0byB0aHdhcnQgYW5hbHlzaXMgb2YgdHlwaW5nIGNhZGVuY2UKLXN0YXRpYyBkb3VibGUg
QWNjZXNzaWJpbGl0eVBhc3N3b3JkVmFsdWVDaGFuZ2VOb3RpZmljYXRpb25JbnRlcnZhbCA9IDAu
MDI1Owotc3RhdGljIGRvdWJsZSBBY2Nlc3NpYmlsaXR5TGl2ZVJlZ2lvbkNoYW5nZWROb3RpZmlj
YXRpb25JbnRlcnZhbCA9IDAuMDIwOwotc3RhdGljIGRvdWJsZSBBY2Nlc3NpYmlsaXR5Rm9jdXNB
cmlhTW9kYWxOb2RlTm90aWZpY2F0aW9uSW50ZXJ2YWwgPSAwLjA1MDsKK3N0YXRpYyBjb25zdCBT
ZWNvbmRzIGFjY2Vzc2liaWxpdHlQYXNzd29yZFZhbHVlQ2hhbmdlTm90aWZpY2F0aW9uSW50ZXJ2
YWwgeyAyNV9tcyB9Oworc3RhdGljIGNvbnN0IFNlY29uZHMgYWNjZXNzaWJpbGl0eUxpdmVSZWdp
b25DaGFuZ2VkTm90aWZpY2F0aW9uSW50ZXJ2YWwgeyAyMF9tcyB9Oworc3RhdGljIGNvbnN0IFNl
Y29uZHMgYWNjZXNzaWJpbGl0eUZvY3VzQXJpYU1vZGFsTm9kZU5vdGlmaWNhdGlvbkludGVydmFs
IHsgNTBfbXMgfTsKIAogQWNjZXNzaWJpbGl0eU9iamVjdEluY2x1c2lvbiBBWENvbXB1dGVkT2Jq
ZWN0QXR0cmlidXRlQ2FjaGU6OmdldElnbm9yZWQoQVhJRCBpZCkgY29uc3QKIHsKQEAgLTEzMTEs
NyArMTMxMSw3IEBAIGJvb2wgQVhPYmplY3RDYWNoZTo6ZW5xdWV1ZVBhc3N3b3JkVmFsdWVDaGFu
Z2VOb3RpZmljYXRpb24oQWNjZXNzaWJpbGl0eU9iamVjdCoKIAogICAgIG1fcGFzc3dvcmROb3Rp
ZmljYXRpb25zVG9Qb3N0LmFkZChvYnNlcnZhYmxlT2JqZWN0KTsKICAgICBpZiAoIW1fcGFzc3dv
cmROb3RpZmljYXRpb25Qb3N0VGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9wYXNzd29yZE5v
dGlmaWNhdGlvblBvc3RUaW1lci5zdGFydE9uZVNob3QoQWNjZXNzaWJpbGl0eVBhc3N3b3JkVmFs
dWVDaGFuZ2VOb3RpZmljYXRpb25JbnRlcnZhbCk7CisgICAgICAgIG1fcGFzc3dvcmROb3RpZmlj
YXRpb25Qb3N0VGltZXIuc3RhcnRPbmVTaG90KGFjY2Vzc2liaWxpdHlQYXNzd29yZFZhbHVlQ2hh
bmdlTm90aWZpY2F0aW9uSW50ZXJ2YWwpOwogCiAgICAgcmV0dXJuIHRydWU7CiB9CkBAIC0xMzM4
LDcgKzEzMzgsNyBAQCB2b2lkIEFYT2JqZWN0Q2FjaGU6OnBvc3RMaXZlUmVnaW9uQ2hhbmdlTm90
aWZpY2F0aW9uKEFjY2Vzc2liaWxpdHlPYmplY3QqIG9iamVjdAogICAgIGlmICghbV9saXZlUmVn
aW9uT2JqZWN0c1NldC5jb250YWlucyhvYmplY3QpKQogICAgICAgICBtX2xpdmVSZWdpb25PYmpl
Y3RzU2V0LmFkZChvYmplY3QpOwogCi0gICAgbV9saXZlUmVnaW9uQ2hhbmdlZFBvc3RUaW1lci5z
dGFydE9uZVNob3QoQWNjZXNzaWJpbGl0eUxpdmVSZWdpb25DaGFuZ2VkTm90aWZpY2F0aW9uSW50
ZXJ2YWwpOworICAgIG1fbGl2ZVJlZ2lvbkNoYW5nZWRQb3N0VGltZXIuc3RhcnRPbmVTaG90KGFj
Y2Vzc2liaWxpdHlMaXZlUmVnaW9uQ2hhbmdlZE5vdGlmaWNhdGlvbkludGVydmFsKTsKIH0KIAog
dm9pZCBBWE9iamVjdENhY2hlOjpsaXZlUmVnaW9uQ2hhbmdlZE5vdGlmaWNhdGlvblBvc3RUaW1l
ckZpcmVkKCkKQEAgLTEzNzIsNyArMTM3Miw3IEBAIHZvaWQgQVhPYmplY3RDYWNoZTo6Zm9jdXNB
cmlhTW9kYWxOb2RlKCkKICAgICBpZiAobV9mb2N1c0FyaWFNb2RhbE5vZGVUaW1lci5pc0FjdGl2
ZSgpKQogICAgICAgICBtX2ZvY3VzQXJpYU1vZGFsTm9kZVRpbWVyLnN0b3AoKTsKICAgICAKLSAg
ICBtX2ZvY3VzQXJpYU1vZGFsTm9kZVRpbWVyLnN0YXJ0T25lU2hvdChBY2Nlc3NpYmlsaXR5Rm9j
dXNBcmlhTW9kYWxOb2RlTm90aWZpY2F0aW9uSW50ZXJ2YWwpOworICAgIG1fZm9jdXNBcmlhTW9k
YWxOb2RlVGltZXIuc3RhcnRPbmVTaG90KGFjY2Vzc2liaWxpdHlGb2N1c0FyaWFNb2RhbE5vZGVO
b3RpZmljYXRpb25JbnRlcnZhbCk7CiB9CiAKIHZvaWQgQVhPYmplY3RDYWNoZTo6Zm9jdXNBcmlh
TW9kYWxOb2RlVGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
Rm9udEZhY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlLmNwcAppbmRleCAz
NGJkYmVlYWViN2Q2MzFlNDI4Zjk2YmU0MDNlMWI3MzQ2ZTgyODQ4Li5iZjkyMGY4ZDcxNDQxM2U3
YjdlNmFlYjVjM2M3ZWI1OTJkNGQ2MzA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTRm9udEZhY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZS5jcHAK
QEAgLTUyNyw3ICs1MjcsNyBAQCB2b2lkIENTU0ZvbnRGYWNlOjpzZXRTdGF0dXMoU3RhdHVzIG5l
d1N0YXR1cykKICAgICB9CiAKICAgICBpZiAobmV3U3RhdHVzID09IFN0YXR1czo6TG9hZGluZykK
LSAgICAgICAgbV90aW1lb3V0VGltZXIuc3RhcnRPbmVTaG90KHdlYkZvbnRzU2hvdWxkQWx3YXlz
RmFsbEJhY2soKSA/IDAgOiAzKTsKKyAgICAgICAgbV90aW1lb3V0VGltZXIuc3RhcnRPbmVTaG90
KHdlYkZvbnRzU2hvdWxkQWx3YXlzRmFsbEJhY2soKSA/IDBfcyA6IDNfcyk7CiAgICAgZWxzZSBp
ZiAobmV3U3RhdHVzID09IFN0YXR1czo6U3VjY2VzcyB8fCBuZXdTdGF0dXMgPT0gU3RhdHVzOjpG
YWlsdXJlKQogICAgICAgICBtX3RpbWVvdXRUaW1lci5zdG9wKCk7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9T
dHlsZVJlc29sdmVyLmNwcAppbmRleCBhZTdmOTc2YzZiNjhhNzMyZWVhYTQ5YjYwOTk4Y2MxNjdj
Nzg2NWEwLi40YWExMmQ3YTMyMjc1NGM3N2QyMjlhOGU1NTVlYmJjMTQxMmNmMWYzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwCkBAIC0xMzUsNiArMTM1LDcgQEAKICNpbmNsdWRl
ICJXZWJLaXRDU1NSZWdpb25SdWxlLmgiCiAjaW5jbHVkZSAiV2ViS2l0Rm9udEZhbWlseU5hbWVz
LmgiCiAjaW5jbHVkZSA8Yml0c2V0PgorI2luY2x1ZGUgPHd0Zi9TZWNvbmRzLmg+CiAjaW5jbHVk
ZSA8d3RmL1NldEZvclNjb3BlLmg+CiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogI2lu
Y2x1ZGUgPHd0Zi9WZWN0b3IuaD4KQEAgLTEyNTEsOCArMTI1Miw4IEBAIHZvaWQgU3R5bGVSZXNv
bHZlcjo6YWRkVG9NYXRjaGVkUHJvcGVydGllc0NhY2hlKGNvbnN0IFJlbmRlclN0eWxlKiBzdHls
ZSwgY29uc3QKICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgbWF0Y2hlZERlY2xhcmF0aW9uQ2Fj
aGVBZGRpdGlvbnNCZXR3ZWVuU3dlZXBzID0gMTAwOwogICAgIGlmICgrK21fbWF0Y2hlZFByb3Bl
cnRpZXNDYWNoZUFkZGl0aW9uc1NpbmNlTGFzdFN3ZWVwID49IG1hdGNoZWREZWNsYXJhdGlvbkNh
Y2hlQWRkaXRpb25zQmV0d2VlblN3ZWVwcwogICAgICAgICAmJiAhbV9tYXRjaGVkUHJvcGVydGll
c0NhY2hlU3dlZXBUaW1lci5pc0FjdGl2ZSgpKSB7Ci0gICAgICAgIHN0YXRpYyBjb25zdCB1bnNp
Z25lZCBtYXRjaGVkRGVjbGFyYXRpb25DYWNoZVN3ZWVwVGltZUluU2Vjb25kcyA9IDYwOwotICAg
ICAgICBtX21hdGNoZWRQcm9wZXJ0aWVzQ2FjaGVTd2VlcFRpbWVyLnN0YXJ0T25lU2hvdChtYXRj
aGVkRGVjbGFyYXRpb25DYWNoZVN3ZWVwVGltZUluU2Vjb25kcyk7CisgICAgICAgIHN0YXRpYyBj
b25zdCBTZWNvbmRzIG1hdGNoZWREZWNsYXJhdGlvbkNhY2hlU3dlZXBUaW1lIHsgMV9taW4gfTsK
KyAgICAgICAgbV9tYXRjaGVkUHJvcGVydGllc0NhY2hlU3dlZXBUaW1lci5zdGFydE9uZVNob3Qo
bWF0Y2hlZERlY2xhcmF0aW9uQ2FjaGVTd2VlcFRpbWUpOwogICAgIH0KIAogICAgIEFTU0VSVCho
YXNoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IDBlNzM5ZTNjNjYyZGRlMGU5ZWUwYmQx
OTVmY2RmY2I2YzQyMWRjOTEuLjNlMGQ4NGU4MDU2ZWEyMzllNGZlZDZkNTVhZThkMDRhNzYwZjkz
MDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtMTE5OSw3ICsxMTk5LDcgQEAgdm9pZCBE
b2N1bWVudDo6c2V0VmlzdWFsVXBkYXRlc0FsbG93ZWQoYm9vbCB2aXN1YWxVcGRhdGVzQWxsb3dl
ZCkKICAgICBpZiAodmlzdWFsVXBkYXRlc0FsbG93ZWQpCiAgICAgICAgIG1fdmlzdWFsVXBkYXRl
c1N1cHByZXNzaW9uVGltZXIuc3RvcCgpOwogICAgIGVsc2UKLSAgICAgICAgbV92aXN1YWxVcGRh
dGVzU3VwcHJlc3Npb25UaW1lci5zdGFydE9uZVNob3Qoc2V0dGluZ3MoKS5pbmNyZW1lbnRhbFJl
bmRlcmluZ1N1cHByZXNzaW9uVGltZW91dEluU2Vjb25kcygpKTsKKyAgICAgICAgbV92aXN1YWxV
cGRhdGVzU3VwcHJlc3Npb25UaW1lci5zdGFydE9uZVNob3QoMV9zICogc2V0dGluZ3MoKS5pbmNy
ZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNzaW9uVGltZW91dEluU2Vjb25kcygpKTsKIAogICAgIGlm
ICghdmlzdWFsVXBkYXRlc0FsbG93ZWQpCiAgICAgICAgIHJldHVybjsKQEAgLTUwMDQsOCArNTAw
NCw4IEBAIHZvaWQgRG9jdW1lbnQ6OmZpbmlzaGVkUGFyc2luZygpCiAgICAgLy8gc28gdGhhdCBk
eW5hbWljYWxseSBpbnNlcnRlZCBjb250ZW50IGNhbiBhbHNvIGJlbmVmaXQgZnJvbSBzaGFyaW5n
IG9wdGltaXphdGlvbnMuCiAgICAgLy8gTm90ZSB0aGF0IHdlIGRvbid0IHJlZnJlc2ggdGhlIHRp
bWVyIG9uIHBvb2wgYWNjZXNzIHNpbmNlIHRoYXQgY291bGQgbGVhZCB0byBodWdlIGNhY2hlcyBi
ZWluZyBrZXB0CiAgICAgLy8gYWxpdmUgaW5kZWZpbml0ZWx5IGJ5IHNvbWV0aGluZyBpbm5vY3Vv
dXMgbGlrZSBKUyBzZXR0aW5nIC5pbm5lckhUTUwgcmVwZWF0ZWRseSBvbiBhIHRpbWVyLgotICAg
IHN0YXRpYyBjb25zdCBpbnQgdGltZVRvS2VlcFNoYXJlZE9iamVjdFBvb2xBbGl2ZUFmdGVyUGFy
c2luZ0ZpbmlzaGVkSW5TZWNvbmRzID0gMTA7Ci0gICAgbV9zaGFyZWRPYmplY3RQb29sQ2xlYXJU
aW1lci5zdGFydE9uZVNob3QodGltZVRvS2VlcFNoYXJlZE9iamVjdFBvb2xBbGl2ZUFmdGVyUGFy
c2luZ0ZpbmlzaGVkSW5TZWNvbmRzKTsKKyAgICBzdGF0aWMgY29uc3QgU2Vjb25kcyB0aW1lVG9L
ZWVwU2hhcmVkT2JqZWN0UG9vbEFsaXZlQWZ0ZXJQYXJzaW5nRmluaXNoZWQgeyAxMF9zIH07Cisg
ICAgbV9zaGFyZWRPYmplY3RQb29sQ2xlYXJUaW1lci5zdGFydE9uZVNob3QodGltZVRvS2VlcFNo
YXJlZE9iamVjdFBvb2xBbGl2ZUFmdGVyUGFyc2luZ0ZpbmlzaGVkKTsKIAogICAgIC8vIFBhcnNl
ciBzaG91bGQgaGF2ZSBwaWNrZWQgdXAgYWxsIHNwZWN1bGF0aXZlIHByZWxvYWRzIGJ5IG5vdwog
ICAgIG1fY2FjaGVkUmVzb3VyY2VMb2FkZXItPmNsZWFyUHJlbG9hZHMoQ2FjaGVkUmVzb3VyY2VM
b2FkZXI6OkNsZWFyUHJlbG9hZHNNb2RlOjpDbGVhclNwZWN1bGF0aXZlUHJlbG9hZHMpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyLmNwcApp
bmRleCA5MmUwZGIzNjIyMjU1NTIyMWEzNGYyZGJjNTEwNjRhZjJkNDU2MDg3Li4xYjg1OTFmNmFj
MGIzMjZmZDUxOWI5OTkxOTg5ZjM4YTBlODcxY2JiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyLmNwcApAQCAtNDcsMTAgKzQ3LDEwIEBA
CiAjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+CiAKIC8vIEFsbG93IGEgbGl0dGxlIG1vcmUg
dGhhbiA2MGZwcyB0byBtYWtlIHN1cmUgd2UgY2FuIGF0IGxlYXN0IGhpdCB0aGF0IGZyYW1lIHJh
dGUuCi1zdGF0aWMgY29uc3QgU2Vjb25kcyBmdWxsU3BlZWRBbmltYXRpb25JbnRlcnZhbCB7IDAu
MDE1IH07CitzdGF0aWMgY29uc3QgU2Vjb25kcyBmdWxsU3BlZWRBbmltYXRpb25JbnRlcnZhbCB7
IDE1X21zIH07CiAvLyBBbGxvdyBhIGxpdHRsZSBtb3JlIHRoYW4gMzBmcHMgdG8gbWFrZSBzdXJl
IHdlIGNhbiBhdCBsZWFzdCBoaXQgdGhhdCBmcmFtZSByYXRlLgotc3RhdGljIGNvbnN0IFNlY29u
ZHMgaGFsZlNwZWVkVGhyb3R0bGluZ0FuaW1hdGlvbkludGVydmFsIHsgMC4wMzAgfTsKLXN0YXRp
YyBjb25zdCBTZWNvbmRzIGFnZ3Jlc3NpdmVUaHJvdHRsaW5nQW5pbWF0aW9uSW50ZXJ2YWwgeyAx
MCB9Oworc3RhdGljIGNvbnN0IFNlY29uZHMgaGFsZlNwZWVkVGhyb3R0bGluZ0FuaW1hdGlvbklu
dGVydmFsIHsgMzBfbXMgfTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIGFnZ3Jlc3NpdmVUaHJvdHRs
aW5nQW5pbWF0aW9uSW50ZXJ2YWwgeyAxMF9zIH07CiAjZW5kaWYKIAogI2RlZmluZSBSRUxFQVNF
X0xPR19JRl9BTExPV0VEKGZtdCwgLi4uKSBSRUxFQVNFX0xPR19JRihwYWdlKCkgJiYgcGFnZSgp
LT5pc0Fsd2F5c09uTG9nZ2luZ0FsbG93ZWQoKSwgUGVyZm9ybWFuY2VMb2dnaW5nLCAiJXAgLSBT
Y3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXI6OiIgZm10LCB0aGlzLCAjI19fVkFfQVJHU19fKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9BbHRlcm5hdGl2ZVRleHRDb250cm9s
bGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxl
ci5jcHAKaW5kZXggZTI3YmQwZDZmZDJmM2VjNzRkMDBlZDFmMWM2OTY1YzgxYmRlOTczZi4uMDVh
ZmFlNGI5OWM5N2M4ZDJlZjg0ZjAyYjYyYmRiNTJmMzc4Y2FkNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZWRpdGluZy9BbHRlcm5hdGl2ZVRleHRDb250cm9sbGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL0FsdGVybmF0aXZlVGV4dENvbnRyb2xsZXIuY3BwCkBAIC0xNDAs
NyArMTQwLDcgQEAgQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlcjo6fkFsdGVybmF0aXZlVGV4dENv
bnRyb2xsZXIoKQogCiB2b2lkIEFsdGVybmF0aXZlVGV4dENvbnRyb2xsZXI6OnN0YXJ0QWx0ZXJu
YXRpdmVUZXh0VUlUaW1lcihBbHRlcm5hdGl2ZVRleHRUeXBlIHR5cGUpCiB7Ci0gICAgY29uc3Qg
ZG91YmxlIGNvcnJlY3Rpb25QYW5lbFRpbWVySW50ZXJ2YWwgPSAwLjM7CisgICAgY29uc3QgU2Vj
b25kcyBjb3JyZWN0aW9uUGFuZWxUaW1lckludGVydmFsIHsgMzAwX21zIH07CiAgICAgaWYgKCFp
c0F1dG9tYXRpY1NwZWxsaW5nQ29ycmVjdGlvbkVuYWJsZWQoKSkKICAgICAgICAgcmV0dXJuOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAppbmRleCA0ZDYwNDY4MGY1
MzhjZmJkZGU0NjJmOTA0ZmNhNDQwNjgzNDhkOTM1Li45ZmVkNmY3MzY2YmE4YjExM2Y5ZGQ2MmEw
OWVhNTlmYzdhZDE3N2YzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRp
YUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5j
cHAKQEAgLTE2OCw3ICsxNjgsNyBAQCBzdGF0aWMgY29uc3QgZG91YmxlIFNlZWtUaW1lID0gMC4y
Owogc3RhdGljIGNvbnN0IFNlY29uZHMgU2NhblJlcGVhdERlbGF5IHsgMS41X3MgfTsKIHN0YXRp
YyBjb25zdCBkb3VibGUgU2Nhbk1heGltdW1SYXRlID0gODsKIAotc3RhdGljIGNvbnN0IGRvdWJs
ZSBIaWRlTWVkaWFDb250cm9sc0FmdGVyRW5kZWREZWxheSA9IDY7CitzdGF0aWMgY29uc3QgU2Vj
b25kcyBoaWRlTWVkaWFDb250cm9sc0FmdGVyRW5kZWREZWxheSB7IDZfcyB9OwogCiBzdGF0aWMg
dm9pZCBzZXRGbGFncyh1bnNpZ25lZCYgdmFsdWUsIHVuc2lnbmVkIGZsYWdzKQogewpAQCAtNDQ5
Nyw3ICs0NDk3LDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjphZGRCZWhhdmlvclJlc3RyaWN0
aW9uc09uRW5kSWZOZWNlc3NhcnkoKQogCiAgICAgbV9tZWRpYVNlc3Npb24tPmFkZEJlaGF2aW9y
UmVzdHJpY3Rpb24oTWVkaWFFbGVtZW50U2Vzc2lvbjo6UmVxdWlyZVVzZXJHZXN0dXJlVG9Db250
cm9sQ29udHJvbHNNYW5hZ2VyKTsKICAgICBtX3BsYXliYWNrQ29udHJvbHNNYW5hZ2VyQmVoYXZp
b3JSZXN0cmljdGlvbnNUaW1lci5zdG9wKCk7Ci0gICAgbV9wbGF5YmFja0NvbnRyb2xzTWFuYWdl
ckJlaGF2aW9yUmVzdHJpY3Rpb25zVGltZXIuc3RhcnRPbmVTaG90KEhpZGVNZWRpYUNvbnRyb2xz
QWZ0ZXJFbmRlZERlbGF5KTsKKyAgICBtX3BsYXliYWNrQ29udHJvbHNNYW5hZ2VyQmVoYXZpb3JS
ZXN0cmljdGlvbnNUaW1lci5zdGFydE9uZVNob3QoaGlkZU1lZGlhQ29udHJvbHNBZnRlckVuZGVk
RGVsYXkpOwogfQogCiB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OmhhbmRsZVNlZWtUb1BsYXliYWNr
UG9zaXRpb24oZG91YmxlIHBvc2l0aW9uKQpAQCAtNDUwNyw3ICs0NTA3LDcgQEAgdm9pZCBIVE1M
TWVkaWFFbGVtZW50OjpoYW5kbGVTZWVrVG9QbGF5YmFja1Bvc2l0aW9uKGRvdWJsZSBwb3NpdGlv
bikKICAgICAvLyBQbGVhc2Ugc2VlIDxyZGFyOi8vcHJvYmxlbS8yODQ1NzIxOT4gZm9yIG1vcmUg
ZGV0YWlscy4KICAgICBzZWVrKE1lZGlhVGltZTo6Y3JlYXRlV2l0aERvdWJsZShwb3NpdGlvbikp
OwogICAgIG1fc2Vla1RvUGxheWJhY2tQb3NpdGlvbkVuZGVkVGltZXIuc3RvcCgpOwotICAgIG1f
c2Vla1RvUGxheWJhY2tQb3NpdGlvbkVuZGVkVGltZXIuc3RhcnRPbmVTaG90KDAuNSk7CisgICAg
bV9zZWVrVG9QbGF5YmFja1Bvc2l0aW9uRW5kZWRUaW1lci5zdGFydE9uZVNob3QoNTAwX21zKTsK
IAogICAgIGlmICghbV9pc1NjcnViYmluZ1JlbW90ZWx5KSB7CiAgICAgICAgIG1faXNTY3J1YmJp
bmdSZW1vdGVseSA9IHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1NlYXJj
aElucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1NlYXJjaElucHV0VHlwZS5jcHAK
aW5kZXggZjVkMmJiOTU1MzI5MDcxOTgyNjY2ZGI3NThlZWMyYmM3NjZkNTBhNy4uZDgyMzU5ZjE2
ZDM3NjQ1MTczNjk2Y2Q0MGY3YmYwMTAzYmRlODM1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9TZWFyY2hJbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvU2Vh
cmNoSW5wdXRUeXBlLmNwcApAQCAtMTY1LDcgKzE2NSw3IEBAIHZvaWQgU2VhcmNoSW5wdXRUeXBl
OjpzdGFydFNlYXJjaEV2ZW50VGltZXIoKQogCiAgICAgLy8gQWZ0ZXIgdHlwaW5nIHRoZSBmaXJz
dCBrZXksIHdlIHdhaXQgMC41IHNlY29uZHMuCiAgICAgLy8gQWZ0ZXIgdGhlIHNlY29uZCBrZXks
IDAuNCBzZWNvbmRzLCB0aGVuIDAuMywgdGhlbiAwLjIgZnJvbSB0aGVuIG9uLgotICAgIG1fc2Vh
cmNoRXZlbnRUaW1lci5zdGFydE9uZVNob3Qoc3RkOjptYXgoMC4yLCAwLjYgLSAwLjEgKiBsZW5n
dGgpKTsKKyAgICBtX3NlYXJjaEV2ZW50VGltZXIuc3RhcnRPbmVTaG90KHN0ZDo6bWF4KDIwMF9t
cywgNjAwX21zIC0gMTAwX21zICogbGVuZ3RoKSk7CiB9CiAKIHZvaWQgU2VhcmNoSW5wdXRUeXBl
OjpzdG9wU2VhcmNoRXZlbnRUaW1lcigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L1ZhbGlkYXRpb25NZXNzYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRhdGlvbk1l
c3NhZ2UuY3BwCmluZGV4IDQ1MWZjNTkxMDg1MTQ1NzM5NGRjNDQ5NTNkZDg4OWMxMjk0YmU2ZDku
LjQ3MGVhZWRjM2E3NjY4NmQ1YzQwMWEwNTM3ZTgwN2ZhMzhmNTA1ZTQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRhdGlvbk1lc3NhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvVmFsaWRhdGlvbk1lc3NhZ2UuY3BwCkBAIC0xNDQsNyArMTQ0LDcgQEAgdm9pZCBW
YWxpZGF0aW9uTWVzc2FnZTo6c2V0TWVzc2FnZURPTUFuZFN0YXJ0VGltZXIoKQogICAgICAgICBt
X3RpbWVyID0gbnVsbHB0cjsKICAgICBlbHNlIHsKICAgICAgICAgbV90aW1lciA9IHN0ZDo6bWFr
ZV91bmlxdWU8VGltZXI+KCp0aGlzLCAmVmFsaWRhdGlvbk1lc3NhZ2U6OmRlbGV0ZUJ1YmJsZVRy
ZWUpOwotICAgICAgICBtX3RpbWVyLT5zdGFydE9uZVNob3Qoc3RkOjptYXgoNS4wLCBzdGF0aWNf
Y2FzdDxkb3VibGU+KG1fbWVzc2FnZS5sZW5ndGgoKSkgKiBtYWduaWZpY2F0aW9uIC8gMTAwMCkp
OworICAgICAgICBtX3RpbWVyLT5zdGFydE9uZVNob3Qoc3RkOjptYXgoNV9zLCAxX21zICogc3Rh
dGljX2Nhc3Q8ZG91YmxlPihtX21lc3NhZ2UubGVuZ3RoKCkpICogbWFnbmlmaWNhdGlvbikpOwog
ICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xS
ZW5kZXJpbmdDb250ZXh0QmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJH
TFJlbmRlcmluZ0NvbnRleHRCYXNlLmNwcAppbmRleCBiNTEyZmZjMTc2YmQzYTYxODdkMWQzZTRk
NGIwYmQ1YjQ0ZWZjODNlLi5hYmVjNjczMWRiYzUxNzA0ZDY2NGNiMDczZmJhYTkzNzIwZWE5ODFk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0Nv
bnRleHRCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRl
cmluZ0NvbnRleHRCYXNlLmNwcApAQCAtMTAwLDcgKzEwMCw3IEBACiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAotY29uc3QgZG91YmxlIHNlY29uZHNCZXR3ZWVuUmVzdG9yZUF0dGVtcHRzID0gMS4w
Oworc3RhdGljIGNvbnN0IFNlY29uZHMgc2Vjb25kc0JldHdlZW5SZXN0b3JlQXR0ZW1wdHMgeyAx
X3MgfTsKIGNvbnN0IGludCBtYXhHTEVycm9yc0FsbG93ZWRUb0NvbnNvbGUgPSAyNTY7CiBzdGF0
aWMgY29uc3QgU2Vjb25kcyBjaGVja0NvbnRleHRMb3NzSGFuZGxpbmdEZWxheSB7IDNfcyB9Owog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVt
ZW50cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50
cy5jcHAKaW5kZXggN2IxZGY0OWUyY2Y3NjNjYmNlZGI4NTM0ZDY4NWY3ZTNhMzlkZmY5Ny4uNWYz
YjNjMzU3Y2U0YmQ5MzA5NjIzZDc4Y2VmYTkwNTUzMzEwNjkwYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcApAQCAtMTM3LDcg
KzEzNyw3IEBAIHZvaWQgTWVkaWFDb250cm9sUGFuZWxFbGVtZW50OjpzdGFydFRpbWVyKCkKICAg
ICAvLyBUaGUgdGltZXIgaXMgcmVxdWlyZWQgdG8gc2V0IHRoZSBwcm9wZXJ0eSBkaXNwbGF5Oidu
b25lJyBvbiB0aGUgcGFuZWwsCiAgICAgLy8gc3VjaCB0aGF0IGNhcHRpb25zIGFyZSBjb3JyZWN0
bHkgZGlzcGxheWVkIGF0IHRoZSBib3R0b20gb2YgdGhlIHZpZGVvCiAgICAgLy8gYXQgdGhlIGVu
ZCBvZiB0aGUgZmFkZW91dCB0cmFuc2l0aW9uLgotICAgIGRvdWJsZSBkdXJhdGlvbiA9IGRvY3Vt
ZW50KCkucGFnZSgpID8gZG9jdW1lbnQoKS5wYWdlKCktPnRoZW1lKCkubWVkaWFDb250cm9sc0Zh
ZGVPdXREdXJhdGlvbigpIDogMDsKKyAgICBTZWNvbmRzIGR1cmF0aW9uID0gZG9jdW1lbnQoKS5w
YWdlKCkgPyBkb2N1bWVudCgpLnBhZ2UoKS0+dGhlbWUoKS5tZWRpYUNvbnRyb2xzRmFkZU91dER1
cmF0aW9uKCkgOiAwX3M7CiAgICAgbV90cmFuc2l0aW9uVGltZXIuc3RhcnRPbmVTaG90KGR1cmF0
aW9uKTsKIH0KIApAQCAtMjA1LDEwICsyMDUsMTAgQEAgdm9pZCBNZWRpYUNvbnRyb2xQYW5lbEVs
ZW1lbnQ6Om1ha2VUcmFuc3BhcmVudCgpCiAgICAgaWYgKCFtX29wYXF1ZSkKICAgICAgICAgcmV0
dXJuOwogCi0gICAgZG91YmxlIGR1cmF0aW9uID0gZG9jdW1lbnQoKS5wYWdlKCkgPyBkb2N1bWVu
dCgpLnBhZ2UoKS0+dGhlbWUoKS5tZWRpYUNvbnRyb2xzRmFkZU91dER1cmF0aW9uKCkgOiAwOwor
ICAgIFNlY29uZHMgZHVyYXRpb24gPSBkb2N1bWVudCgpLnBhZ2UoKSA/IGRvY3VtZW50KCkucGFn
ZSgpLT50aGVtZSgpLm1lZGlhQ29udHJvbHNGYWRlT3V0RHVyYXRpb24oKSA6IDBfczsKIAogICAg
IHNldElubGluZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlUcmFuc2l0aW9uUHJvcGVydHksIENT
U1Byb3BlcnR5T3BhY2l0eSk7Ci0gICAgc2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0
eVRyYW5zaXRpb25EdXJhdGlvbiwgZHVyYXRpb24sIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUyk7
CisgICAgc2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eVRyYW5zaXRpb25EdXJhdGlv
biwgZHVyYXRpb24udmFsdWUoKSwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19TKTsKICAgICBzZXRJ
bmxpbmVTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5T3BhY2l0eSwgMC4wLCBDU1NQcmltaXRpdmVW
YWx1ZTo6Q1NTX05VTUJFUik7CiAKICAgICBtX29wYXF1ZSA9IGZhbHNlOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9WVFRSZWdpb24uY3BwIGIvU291cmNlL1dlYkNvcmUv
aHRtbC90cmFjay9WVFRSZWdpb24uY3BwCmluZGV4IDA1NzhiZjkxMjY3Y2I1NTBhZjAyZGI3ZTIy
M2RkNDM2YzA3ZDUxYjYuLmNiNGQwNWJlYzBjMzNiOWIxY2ZjMGQzYmU0NDU5ZjA1ZDExNDlkYjEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVlRUUmVnaW9uLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1ZUVFJlZ2lvbi5jcHAKQEAgLTU2LDcgKzU2LDcg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogc3RhdGljIGNvbnN0IGZsb2F0IGxpbmVIZWlnaHQgPSA1
LjMzOwogCiAvLyBEZWZhdWx0IHNjcm9sbGluZyBhbmltYXRpb24gdGltZSBwZXJpb2QgKHMpLgot
c3RhdGljIGNvbnN0IGZsb2F0IHNjcm9sbFRpbWUgPSAwLjQzMzsKK3N0YXRpYyBjb25zdCBTZWNv
bmRzIHNjcm9sbFRpbWUgeyA0MzNfbXMgfTsKIAogVlRUUmVnaW9uOjpWVFRSZWdpb24oU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCkKICAgICA6IENvbnRleHREZXN0cnVjdGlvbk9ic2Vy
dmVyKCZjb250ZXh0KQpAQCAtNDAzLDcgKzQwMyw3IEBAIHZvaWQgVlRUUmVnaW9uOjpzdGFydFRp
bWVyKCkKICAgICBpZiAobV9zY3JvbGxUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICByZXR1cm47
CiAKLSAgICBkb3VibGUgZHVyYXRpb24gPSBpc1Njcm9sbGluZ1JlZ2lvbigpID8gc2Nyb2xsVGlt
ZSA6IDA7CisgICAgU2Vjb25kcyBkdXJhdGlvbiA9IGlzU2Nyb2xsaW5nUmVnaW9uKCkgPyBzY3Jv
bGxUaW1lIDogMF9zOwogICAgIG1fc2Nyb2xsVGltZXIuc3RhcnRPbmVTaG90KGR1cmF0aW9uKTsK
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uLmNwcAppbmRleCA1MWM0YmFhODUyZTVhY2EwMmI4MzU1MzYzZGYxNTk3NmI5MWVi
NmViLi5jMWI0Njg4ZjU2YjhjODdjNTVjMWJmZWI4MGM2ZTMyYjQwODcxNzczIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNw
cApAQCAtODAzLDcgKzgwMyw3IEBAIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpmcmFt
ZVN0b3BwZWRMb2FkaW5nSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzJiBpbnN0CiAgICAgICAgIGlu
c3BlY3RvclBhZ2VBZ2VudC0+ZnJhbWVTdG9wcGVkTG9hZGluZyhmcmFtZSk7CiB9CiAKLXZvaWQg
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpmcmFtZVNjaGVkdWxlZE5hdmlnYXRpb25JbXBsKElu
c3RydW1lbnRpbmdBZ2VudHMmIGluc3RydW1lbnRpbmdBZ2VudHMsIEZyYW1lJiBmcmFtZSwgZG91
YmxlIGRlbGF5KQordm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmZyYW1lU2NoZWR1bGVk
TmF2aWdhdGlvbkltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyYgaW5zdHJ1bWVudGluZ0FnZW50cywg
RnJhbWUmIGZyYW1lLCBTZWNvbmRzIGRlbGF5KQogewogICAgIGlmIChJbnNwZWN0b3JQYWdlQWdl
bnQqIGluc3BlY3RvclBhZ2VBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMuaW5zcGVjdG9yUGFn
ZUFnZW50KCkpCiAgICAgICAgIGluc3BlY3RvclBhZ2VBZ2VudC0+ZnJhbWVTY2hlZHVsZWROYXZp
Z2F0aW9uKGZyYW1lLCBkZWxheSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKaW5kZXggNDU4OTc1MjEyMGEzOTQyYzgwZmUyOTU3
YWU2ZTYzMjM2Y2Y4MzE0Ny4uOWMyMTEyNjY3NzM4ZWFmYTY5YTZmZjQ3YzdkOTVkNmNmMDVlNGZi
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1l
bnRhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb24uaApAQCAtMTc5LDcgKzE3OSw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBs
b2FkZXJEZXRhY2hlZEZyb21GcmFtZShGcmFtZSYsIERvY3VtZW50TG9hZGVyJik7CiAgICAgc3Rh
dGljIHZvaWQgZnJhbWVTdGFydGVkTG9hZGluZyhGcmFtZSYpOwogICAgIHN0YXRpYyB2b2lkIGZy
YW1lU3RvcHBlZExvYWRpbmcoRnJhbWUmKTsKLSAgICBzdGF0aWMgdm9pZCBmcmFtZVNjaGVkdWxl
ZE5hdmlnYXRpb24oRnJhbWUmLCBkb3VibGUgZGVsYXkpOworICAgIHN0YXRpYyB2b2lkIGZyYW1l
U2NoZWR1bGVkTmF2aWdhdGlvbihGcmFtZSYsIFNlY29uZHMgZGVsYXkpOwogICAgIHN0YXRpYyB2
b2lkIGZyYW1lQ2xlYXJlZFNjaGVkdWxlZE5hdmlnYXRpb24oRnJhbWUmKTsKICAgICBzdGF0aWMg
dm9pZCB3aWxsRGVzdHJveUNhY2hlZFJlc291cmNlKENhY2hlZFJlc291cmNlJik7CiAKQEAgLTM0
OSw3ICszNDksNyBAQCBwcml2YXRlOgogICAgIHN0YXRpYyB2b2lkIGxvYWRlckRldGFjaGVkRnJv
bUZyYW1lSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzJiwgRG9jdW1lbnRMb2FkZXImKTsKICAgICBz
dGF0aWMgdm9pZCBmcmFtZVN0YXJ0ZWRMb2FkaW5nSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzJiwg
RnJhbWUmKTsKICAgICBzdGF0aWMgdm9pZCBmcmFtZVN0b3BwZWRMb2FkaW5nSW1wbChJbnN0cnVt
ZW50aW5nQWdlbnRzJiwgRnJhbWUmKTsKLSAgICBzdGF0aWMgdm9pZCBmcmFtZVNjaGVkdWxlZE5h
dmlnYXRpb25JbXBsKEluc3RydW1lbnRpbmdBZ2VudHMmLCBGcmFtZSYsIGRvdWJsZSBkZWxheSk7
CisgICAgc3RhdGljIHZvaWQgZnJhbWVTY2hlZHVsZWROYXZpZ2F0aW9uSW1wbChJbnN0cnVtZW50
aW5nQWdlbnRzJiwgRnJhbWUmLCBTZWNvbmRzIGRlbGF5KTsKICAgICBzdGF0aWMgdm9pZCBmcmFt
ZUNsZWFyZWRTY2hlZHVsZWROYXZpZ2F0aW9uSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzJiwgRnJh
bWUmKTsKICAgICBzdGF0aWMgdm9pZCB3aWxsRGVzdHJveUNhY2hlZFJlc291cmNlSW1wbChDYWNo
ZWRSZXNvdXJjZSYpOwogCkBAIC05ODIsNyArOTgyLDcgQEAgaW5saW5lIHZvaWQgSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uOjpmcmFtZVN0b3BwZWRMb2FkaW5nKEZyYW1lJiBmcmFtZSkKICAgICAg
ICAgZnJhbWVTdG9wcGVkTG9hZGluZ0ltcGwoKmluc3RydW1lbnRpbmdBZ2VudHMsIGZyYW1lKTsK
IH0KIAotaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpmcmFtZVNjaGVkdWxl
ZE5hdmlnYXRpb24oRnJhbWUmIGZyYW1lLCBkb3VibGUgZGVsYXkpCitpbmxpbmUgdm9pZCBJbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb246OmZyYW1lU2NoZWR1bGVkTmF2aWdhdGlvbihGcmFtZSYgZnJh
bWUsIFNlY29uZHMgZGVsYXkpCiB7CiAgICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3Ry
dW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yRnJhbWUoZnJhbWUpKQogICAg
ICAgICBmcmFtZVNjaGVkdWxlZE5hdmlnYXRpb25JbXBsKCppbnN0cnVtZW50aW5nQWdlbnRzLCBm
cmFtZSwgZGVsYXkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvclBhZ2VBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFn
ZUFnZW50LmNwcAppbmRleCAzMmZkNDdlOTcwOGM5MGZmMGQzOWQ3ODc0ZDQ1OGUzNGJiMzM0YjRi
Li42YWE2YTA4NDRlZWVlODlkY2ZlZDAzOWZlYWYyMmNlODVkZGMwOTBmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmNwcApAQCAtODA2LDkgKzgw
Niw5IEBAIHZvaWQgSW5zcGVjdG9yUGFnZUFnZW50OjpmcmFtZVN0b3BwZWRMb2FkaW5nKEZyYW1l
JiBmcmFtZSkKICAgICBtX2Zyb250ZW5kRGlzcGF0Y2hlci0+ZnJhbWVTdG9wcGVkTG9hZGluZyhm
cmFtZUlkKCZmcmFtZSkpOwogfQogCi12b2lkIEluc3BlY3RvclBhZ2VBZ2VudDo6ZnJhbWVTY2hl
ZHVsZWROYXZpZ2F0aW9uKEZyYW1lJiBmcmFtZSwgZG91YmxlIGRlbGF5KQordm9pZCBJbnNwZWN0
b3JQYWdlQWdlbnQ6OmZyYW1lU2NoZWR1bGVkTmF2aWdhdGlvbihGcmFtZSYgZnJhbWUsIFNlY29u
ZHMgZGVsYXkpCiB7Ci0gICAgbV9mcm9udGVuZERpc3BhdGNoZXItPmZyYW1lU2NoZWR1bGVkTmF2
aWdhdGlvbihmcmFtZUlkKCZmcmFtZSksIGRlbGF5KTsKKyAgICBtX2Zyb250ZW5kRGlzcGF0Y2hl
ci0+ZnJhbWVTY2hlZHVsZWROYXZpZ2F0aW9uKGZyYW1lSWQoJmZyYW1lKSwgZGVsYXkudmFsdWUo
KSk7CiB9CiAKIHZvaWQgSW5zcGVjdG9yUGFnZUFnZW50OjpmcmFtZUNsZWFyZWRTY2hlZHVsZWRO
YXZpZ2F0aW9uKEZyYW1lJiBmcmFtZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JQYWdlQWdlbnQuaAppbmRleCA3ZTkyOGFlMGMyNTYxNWNlMmFiMWRiNzM3OGEwOWMyZTgz
ODg5ZTQ0Li4yODgzMTgxNzExYTQ2ZTYzMDY2ZDU5MGNlMzRkOGQxNDA5MTVjNzQ5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclBhZ2VBZ2VudC5oCkBAIC0xMTgsNyAr
MTE4LDcgQEAgcHVibGljOgogICAgIHZvaWQgbG9hZGVyRGV0YWNoZWRGcm9tRnJhbWUoRG9jdW1l
bnRMb2FkZXImKTsKICAgICB2b2lkIGZyYW1lU3RhcnRlZExvYWRpbmcoRnJhbWUmKTsKICAgICB2
b2lkIGZyYW1lU3RvcHBlZExvYWRpbmcoRnJhbWUmKTsKLSAgICB2b2lkIGZyYW1lU2NoZWR1bGVk
TmF2aWdhdGlvbihGcmFtZSYsIGRvdWJsZSBkZWxheSk7CisgICAgdm9pZCBmcmFtZVNjaGVkdWxl
ZE5hdmlnYXRpb24oRnJhbWUmLCBTZWNvbmRzIGRlbGF5KTsKICAgICB2b2lkIGZyYW1lQ2xlYXJl
ZFNjaGVkdWxlZE5hdmlnYXRpb24oRnJhbWUmKTsKICAgICB2b2lkIGFwcGx5RW11bGF0ZWRNZWRp
YShTdHJpbmcmKTsKICAgICB2b2lkIGRpZFBhaW50KFJlbmRlck9iamVjdCYsIGNvbnN0IExheW91
dFJlY3QmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2No
ZWR1bGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNw
cAppbmRleCBhMzkxODUxNWFkN2VmOGU3NWQ2MDA4NjUxOTczYjY1ZWUzYWM2NDE1Li5lNmMzOTJl
MDMxM2M1OGQyZTVkMDc0ZWFmMTcxNDI1YTRiNjJkYWNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuY3BwCkBAIC01NDEsNyArNTQxLDcgQEAgdm9pZCBO
YXZpZ2F0aW9uU2NoZWR1bGVyOjpzdGFydFRpbWVyKCkKICAgICBpZiAoIW1fcmVkaXJlY3QtPnNo
b3VsZFN0YXJ0VGltZXIobV9mcmFtZSkpCiAgICAgICAgIHJldHVybjsKIAotICAgIGRvdWJsZSBk
ZWxheSA9IG1fcmVkaXJlY3QtPmRlbGF5KCk7CisgICAgU2Vjb25kcyBkZWxheSA9IDFfcyAqIG1f
cmVkaXJlY3QtPmRlbGF5KCk7CiAgICAgbV90aW1lci5zdGFydE9uZVNob3QoZGVsYXkpOwogICAg
IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZnJhbWVTY2hlZHVsZWROYXZpZ2F0aW9uKG1fZnJh
bWUsIGRlbGF5KTsKICAgICBtX3JlZGlyZWN0LT5kaWRTdGFydFRpbWVyKG1fZnJhbWUsIG1fdGlt
ZXIpOyAvLyBtX3JlZGlyZWN0IG1heSBiZSBudWxsIG9uIHJldHVybiAoZS5nLiB0aGUgY2xpZW50
IGNhbmNlbGVkIHRoZSBsb2FkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2Nh
Y2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNo
ZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggNzE4MTk5MjA1NDU0MDUzZDczZTU3ZTBl
YTdlMDRjNWFkYWYzMWU1OS4uZTg5MDY1YjNhODBkZGU3M2RmOWE0MzcxZjQ2YzNjZWE5NmViMDM0
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNl
TG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3Vy
Y2VMb2FkZXIuY3BwCkBAIC04NCw3ICs4NCw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIC8v
IFRpbWVvdXQgZm9yIGxpbmsgcHJlbG9hZHMgdG8gYmUgdXNlZCBhZnRlciB3aW5kb3cub25sb2Fk
Ci1zdGF0aWMgY29uc3QgaW50IHVudXNlZFByZWxvYWRUaW1lb3V0SW5TZWNvbmRzID0gMzsKK3N0
YXRpYyBjb25zdCBTZWNvbmRzIHVudXNlZFByZWxvYWRUaW1lb3V0IHsgM19zIH07CiAKIHN0YXRp
YyBDYWNoZWRSZXNvdXJjZSogY3JlYXRlUmVzb3VyY2UoQ2FjaGVkUmVzb3VyY2U6OlR5cGUgdHlw
ZSwgQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVzdCwgU2Vzc2lvbklEIHNlc3Npb25JRCkK
IHsKQEAgLTgyOCw3ICs4MjgsNyBAQCB2b2lkIENhY2hlZFJlc291cmNlTG9hZGVyOjpkb2N1bWVu
dERpZEZpbmlzaExvYWRFdmVudCgpCiAgICAgLy8gSWYgbV9wcmVsb2FkcyBpcyBub3QgZW1wdHkg
aGVyZSwgaXQncyBmdWxsIG9mIGxpbmsgcHJlbG9hZHMsCiAgICAgLy8gYXMgc3BlY3VsYXRpdmUg
cHJlbG9hZHMgd2VyZSBjbGVhcmVkIGF0IERDTC4KICAgICBpZiAobV9wcmVsb2FkcyAmJiBtX3By
ZWxvYWRzLT5zaXplKCkgJiYgIW1fdW51c2VkUHJlbG9hZHNUaW1lci5pc0FjdGl2ZSgpKQotICAg
ICAgICBtX3VudXNlZFByZWxvYWRzVGltZXIuc3RhcnRPbmVTaG90KHVudXNlZFByZWxvYWRUaW1l
b3V0SW5TZWNvbmRzKTsKKyAgICAgICAgbV91bnVzZWRQcmVsb2Fkc1RpbWVyLnN0YXJ0T25lU2hv
dCh1bnVzZWRQcmVsb2FkVGltZW91dCk7CiB9CiAKIHZvaWQgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6
OnN0b3BVbnVzZWRQcmVsb2Fkc1RpbWVyKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9pY29uL0ljb25EYXRhYmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNvbi9J
Y29uRGF0YWJhc2UuY3BwCmluZGV4IDRjZGNmYWFkNmU4MzJhMzlhNWMzNTI2NTgwNTg1MDg2YjNk
OWY3MmYuLjhkZTk0Y2U1ZGNhNzY3MTE2MzYyMDJlNmQzMWY3NTMwZDhhMjkyZDIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmNwcApAQCAtNjcsNyArNjcsNyBA
QCBzdGF0aWMgY29uc3QgaW50IGN1cnJlbnREYXRhYmFzZVZlcnNpb24gPSA2OwogLy8gSWNvbnMg
ZXhwaXJlIG9uY2UgZXZlcnkgNCBkYXlzCiBzdGF0aWMgY29uc3QgaW50IGljb25FeHBpcmF0aW9u
VGltZSA9IDYwKjYwKjI0KjQ7IAogCi1zdGF0aWMgY29uc3QgaW50IHVwZGF0ZVRpbWVyRGVsYXkg
PSA1OyAKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHVwZGF0ZVRpbWVyRGVsYXkgeyA1X3MgfTsKIAog
c3RhdGljIGJvb2wgY2hlY2tJbnRlZ3JpdHlPbk9wZW4gPSBmYWxzZTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9FdmVudEhhbmRsZXIuY3BwCmluZGV4IGRjYTgyMzA0NjMwYzMyMDg1NWNkYWZlMjEzYmVhMDMy
OGZjNjRjZjMuLjg0NWYzYWViZWY1NDdlNjc4ZjFkMGM3OWQ5ZTU5M2ZhMGJjNWQ3ZmMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKQEAgLTE1NywxNCArMTU3LDE0IEBAIHVzaW5n
IG5hbWVzcGFjZSBTVkdOYW1lczsKIC8vIGR1cmluZyBhIHNjcm9sbC4gVGhlIHNob3J0IGludGVy
dmFsIGlzIHVzZWQgaWYgdGhlIGNvbnRlbnQgcmVzcG9uZHMgdG8gdGhlIG1vdXNlIGV2ZW50cwog
Ly8gaW4gZmFrZU1vdXNlTW92ZUR1cmF0aW9uVGhyZXNob2xkIG9yIGxlc3MsIG90aGVyd2lzZSB0
aGUgbG9uZyBpbnRlcnZhbCBpcyB1c2VkLgogY29uc3QgZG91YmxlIGZha2VNb3VzZU1vdmVEdXJh
dGlvblRocmVzaG9sZCA9IDAuMDE7Ci1jb25zdCBkb3VibGUgZmFrZU1vdXNlTW92ZVNob3J0SW50
ZXJ2YWwgPSAwLjE7Ci1jb25zdCBkb3VibGUgZmFrZU1vdXNlTW92ZUxvbmdJbnRlcnZhbCA9IDAu
MjU7Citjb25zdCBTZWNvbmRzIGZha2VNb3VzZU1vdmVTaG9ydEludGVydmFsID0geyAxMDBfbXMg
fTsKK2NvbnN0IFNlY29uZHMgZmFrZU1vdXNlTW92ZUxvbmdJbnRlcnZhbCA9IHsgMjUwX21zIH07
CiAjZW5kaWYKIAogI2lmIEVOQUJMRShDVVJTT1JfU1VQUE9SVCkKIC8vIFRoZSBhbW91bnQgb2Yg
dGltZSB0byB3YWl0IGZvciBhIGN1cnNvciB1cGRhdGUgb24gc3R5bGUgYW5kIGxheW91dCBjaGFu
Z2VzCiAvLyBTZXQgdG8gNTBIeiwgbm8gbmVlZCB0byBiZSBmYXN0ZXIgdGhhbiBjb21tb24gc2Ny
ZWVuIHJlZnJlc2ggcmF0ZQotY29uc3QgZG91YmxlIGN1cnNvclVwZGF0ZUludGVydmFsID0gMC4w
MjsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIGN1cnNvclVwZGF0ZUludGVydmFsIHsgMjBfbXMgfTsK
IAogY29uc3QgaW50IG1heGltdW1DdXJzb3JTaXplID0gMTI4OwogI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRXZlbnRTb3VyY2UuY3BwCmluZGV4IGIxZGVkM2Y4ZjdjMWRhMTJiOTM3ZTM1YmNlZmQ0NDgx
OTg1ZjYxM2MuLjM3OTQzMDlkZWQyNDVjNWYyN2Y3N2JhY2JkZjk4ZWMxYjM3ZjNlN2MgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuY3BwCkBAIC0xMzgsNyArMTM4LDcgQEAgdm9pZCBFdmVu
dFNvdXJjZTo6c2NoZWR1bGVJbml0aWFsQ29ubmVjdCgpCiB2b2lkIEV2ZW50U291cmNlOjpzY2hl
ZHVsZVJlY29ubmVjdCgpCiB7CiAgICAgbV9zdGF0ZSA9IENPTk5FQ1RJTkc7Ci0gICAgbV9jb25u
ZWN0VGltZXIuc3RhcnRPbmVTaG90KG1fcmVjb25uZWN0RGVsYXkgLyAxMDAwLjApOworICAgIG1f
Y29ubmVjdFRpbWVyLnN0YXJ0T25lU2hvdCgxX21zICogbV9yZWNvbm5lY3REZWxheSk7CiAgICAg
ZGlzcGF0Y2hFdmVudChFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5lcnJvckV2ZW50LCBmYWxz
ZSwgZmFsc2UpKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Gb2N1c0Nv
bnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Gb2N1c0NvbnRyb2xsZXIuY3BwCmlu
ZGV4IGExYjg4ZWViODEyZGJhODBmNzFlMzA0OTVjNzc0NTgwODVjNjMyZDcuLjhmMGEyNzdiMzM1
NmJkMTcyMDE0N2QzNzMxNjYwZjI2N2JjNWRjMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRm9jdXNDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZvY3Vz
Q29udHJvbGxlci5jcHAKQEAgLTEwODksNyArMTA4OSw3IEBAIGJvb2wgRm9jdXNDb250cm9sbGVy
OjphZHZhbmNlRm9jdXNEaXJlY3Rpb25hbGx5KEZvY3VzRGlyZWN0aW9uIGRpcmVjdGlvbiwgS2V5
Ym9hCiAKIHZvaWQgRm9jdXNDb250cm9sbGVyOjpzZXRGb2N1c2VkRWxlbWVudE5lZWRzUmVwYWlu
dCgpCiB7Ci0gICAgbV9mb2N1c1JlcGFpbnRUaW1lci5zdGFydE9uZVNob3QoMC4wMzMpOworICAg
IG1fZm9jdXNSZXBhaW50VGltZXIuc3RhcnRPbmVTaG90KDMzX21zKTsKIH0KIAogdm9pZCBGb2N1
c0NvbnRyb2xsZXI6OmZvY3VzUmVwYWludFRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZp
ZXcuY3BwCmluZGV4IGZhYzFlMmZiM2NkOWMxYWU1YjM2MjQ0OGRhYjNkMmE4MWEwMGU2Y2YuLmMz
ZmNjOTMxMTFlMmI3NWE0MzcwZDg1MmMwNTA3MDA5ZWQzNjM1MTkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Zy
YW1lVmlldy5jcHAKQEAgLTI1MTUsNyArMjUxNSw3IEBAIHZvaWQgRnJhbWVWaWV3OjpzY3JvbGxQ
b3NpdGlvbkNoYW5nZWQoY29uc3QgU2Nyb2xsUG9zaXRpb24mIG9sZFBvc2l0aW9uLCBjb25zdCBT
CiAgICAgICAgIG1fZGVsYXllZFNjcm9sbEV2ZW50VGltZXIuc3RvcCgpOwogICAgICAgICBzZW5k
U2Nyb2xsRXZlbnQoKTsKICAgICB9IGVsc2UgaWYgKCFtX2RlbGF5ZWRTY3JvbGxFdmVudFRpbWVy
LmlzQWN0aXZlKCkpCi0gICAgICAgIG1fZGVsYXllZFNjcm9sbEV2ZW50VGltZXIuc3RhcnRPbmVT
aG90KHRocm90dGxpbmdEZWxheS52YWx1ZSgpKTsKKyAgICAgICAgbV9kZWxheWVkU2Nyb2xsRXZl
bnRUaW1lci5zdGFydE9uZVNob3QodGhyb3R0bGluZ0RlbGF5KTsKIAogICAgIGlmIChEb2N1bWVu
dCogZG9jdW1lbnQgPSBmcmFtZSgpLmRvY3VtZW50KCkpCiAgICAgICAgIGRvY3VtZW50LT5zZW5k
V2lsbFJldmVhbEVkZ2VFdmVudHNJZk5lZWRlZChvbGRQb3NpdGlvbiwgbmV3UG9zaXRpb24sIHZp
c2libGVDb250ZW50UmVjdCgpLCBjb250ZW50c1NpemUoKSk7CkBAIC0yOTM0LDcgKzI5MzQsNyBA
QCB2b2lkIEZyYW1lVmlldzo6ZW5hYmxlU3BlY3VsYXRpdmVUaWxpbmdJZk5lZWRlZCgpCiAgICAg
aWYgKG1fc3BlY3VsYXRpdmVUaWxpbmdFbmFibGVUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICBy
ZXR1cm47CiAgICAgLy8gRGVsYXkgZW5hYmxpbmcgYSBiaXQgYXMgbG9hZCBjb21wbGV0aW9uIG1h
eSB0cmlnZ2VyIGZ1cnRoZXIgbG9hZGluZyBmcm9tIHNjcmlwdHMuCi0gICAgc3RhdGljIGNvbnN0
IGRvdWJsZSBzcGVjdWxhdGl2ZVRpbGluZ0VuYWJsZURlbGF5ID0gMC41OworICAgIHN0YXRpYyBj
b25zdCBTZWNvbmRzIHNwZWN1bGF0aXZlVGlsaW5nRW5hYmxlRGVsYXkgeyA1MDBfbXMgfTsKICAg
ICBtX3NwZWN1bGF0aXZlVGlsaW5nRW5hYmxlVGltZXIuc3RhcnRPbmVTaG90KHNwZWN1bGF0aXZl
VGlsaW5nRW5hYmxlRGVsYXkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1NldHRpbmdzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCmluZGV4IGU3
Y2M5MGFmYzIwM2Q3YzNhOTllNDVhMjc0NmE2ZDg2MzA2YTFkZDcuLjQ1MDcwZWQwOTQ0ZWNhMWJm
YzdjY2FjYTRhMDE0OGE5YjhkZTdhYTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
U2V0dGluZ3MuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCkBAIC0y
MTIsNyArMjEyLDcgQEAgU2V0dGluZ3M6OlNldHRpbmdzKFBhZ2UqIHBhZ2UpCiAgICAgLCBtX3Rv
dWNoRXZlbnRFbXVsYXRpb25FbmFibGVkKGZhbHNlKQogI2VuZGlmCiAgICAgLCBtX3Njcm9sbGlu
Z1BlcmZvcm1hbmNlTG9nZ2luZ0VuYWJsZWQoZmFsc2UpCi0gICAgLCBtX3RpbWVXaXRob3V0TW91
c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKDMpCisgICAgLCBtX3RpbWVXaXRob3V0TW91
c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKDNfcykKICAgICAsIG1fc2V0SW1hZ2VMb2Fk
aW5nU2V0dGluZ3NUaW1lcigqdGhpcywgJlNldHRpbmdzOjppbWFnZUxvYWRpbmdTZXR0aW5nc1Rp
bWVyRmlyZWQpCiAgICAgLCBtX2hpZGRlblBhZ2VET01UaW1lclRocm90dGxpbmdFbmFibGVkKGZh
bHNlKQogICAgICwgbV9oaWRkZW5QYWdlQ1NTQW5pbWF0aW9uU3VzcGVuc2lvbkVuYWJsZWQoZmFs
c2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKaW5kZXggOWYzNzA3NTViMGI4MmJmZTgxOTI4MGE1OTgx
NDBkYTM5ZjU4MjM4ZC4uZDE5NmRjMmM5NjczZjU3ZGIwZGVkOWUzNjA1MTlkMTY4YWFiOWFlYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaApAQCAtMjU2LDggKzI1Niw4IEBAIHB1YmxpYzoKICAgICBX
RUJDT1JFX0VYUE9SVCBzdGF0aWMgdm9pZCBzZXRTaG91bGRSZXNwZWN0UHJpb3JpdHlJbkNTU0F0
dHJpYnV0ZVNldHRlcnMoYm9vbCk7CiAgICAgc3RhdGljIGJvb2wgc2hvdWxkUmVzcGVjdFByaW9y
aXR5SW5DU1NBdHRyaWJ1dGVTZXR0ZXJzKCk7CiAKLSAgICB2b2lkIHNldFRpbWVXaXRob3V0TW91
c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKGRvdWJsZSB0aW1lKSB7IG1fdGltZVdpdGhv
dXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMgPSB0aW1lOyB9Ci0gICAgZG91Ymxl
IHRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKCkgY29uc3QgeyBy
ZXR1cm4gbV90aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9sczsgfQor
ICAgIHZvaWQgc2V0VGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMo
U2Vjb25kcyB0aW1lKSB7IG1fdGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29u
dHJvbHMgPSB0aW1lOyB9CisgICAgU2Vjb25kcyB0aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZv
cmVIaWRpbmdDb250cm9scygpIGNvbnN0IHsgcmV0dXJuIG1fdGltZVdpdGhvdXRNb3VzZU1vdmVt
ZW50QmVmb3JlSGlkaW5nQ29udHJvbHM7IH0KIAogICAgIGJvb2wgaGlkZGVuUGFnZUNTU0FuaW1h
dGlvblN1c3BlbnNpb25FbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9oaWRkZW5QYWdlQ1NTQW5p
bWF0aW9uU3VzcGVuc2lvbkVuYWJsZWQ7IH0KICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldEhp
ZGRlblBhZ2VDU1NBbmltYXRpb25TdXNwZW5zaW9uRW5hYmxlZChib29sKTsKQEAgLTM2MSw3ICsz
NjEsNyBAQCBwcml2YXRlOgogI2VuZGlmCiAgICAgYm9vbCBtX3Njcm9sbGluZ1BlcmZvcm1hbmNl
TG9nZ2luZ0VuYWJsZWQgOiAxOwogCi0gICAgZG91YmxlIG1fdGltZVdpdGhvdXRNb3VzZU1vdmVt
ZW50QmVmb3JlSGlkaW5nQ29udHJvbHM7CisgICAgU2Vjb25kcyBtX3RpbWVXaXRob3V0TW91c2VN
b3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzOwogCiAgICAgVGltZXIgbV9zZXRJbWFnZUxvYWRp
bmdTZXR0aW5nc1RpbWVyOwogICAgIHZvaWQgaW1hZ2VMb2FkaW5nU2V0dGluZ3NUaW1lckZpcmVk
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1N1c3BlbmRhYmxlVGltZXIuaCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3VzcGVuZGFibGVUaW1lci5oCmluZGV4IDMxMjkyMDhmZTU1
ZGNhMGQwOTg1NWM5ZTIzZTFlYjc3MTMxNDM0ZmMuLjU1ODQ0MzQwNzgzNDZmYjliNTdhNmVhNTlh
ZmNlMjdhNjI0MGI1NWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3VzcGVuZGFi
bGVUaW1lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3VzcGVuZGFibGVUaW1lci5oCkBA
IC00NSw4ICs0NSw2IEBAIHB1YmxpYzoKICAgICBib29sIGlzQWN0aXZlKCkgY29uc3QgeyByZXR1
cm4gVGltZXJCYXNlOjppc0FjdGl2ZSgpIHx8IChtX3N1c3BlbmRlZCAmJiBtX3NhdmVkSXNBY3Rp
dmUpOyB9CiAgICAgYm9vbCBpc1N1c3BlbmRlZCgpIGNvbnN0IHsgcmV0dXJuIG1fc3VzcGVuZGVk
OyB9CiAKLSAgICB2b2lkIHN0YXJ0T25lU2hvdChkb3VibGUgaW50ZXJ2YWwpIHsgc3RhcnRPbmVT
aG90KFNlY29uZHMgeyBpbnRlcnZhbCB9KTsgfQotCiAgICAgU2Vjb25kcyByZXBlYXRJbnRlcnZh
bCgpIGNvbnN0OwogCiAgICAgdm9pZCBzdGFydFJlcGVhdGluZyhTZWNvbmRzIHJlcGVhdEludGVy
dmFsKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0NTU0FuaW1h
dGlvbkNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQ1NTQW5p
bWF0aW9uQ29udHJvbGxlci5jcHAKaW5kZXggZGNkN2U0MGFkMWU5YWZkYTlkNWFmY2QxMDg2MWRk
NGZlNWY1MDZjMy4uMDBjNzNlMTZiYzMxYWE3NThjOTM4NGQ1NGQ0NzA4YzI4MmE4MTQ2MSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQ1NTQW5pbWF0aW9uQ29udHJv
bGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQ1NTQW5pbWF0aW9u
Q29udHJvbGxlci5jcHAKQEAgLTQ5LDkgKzQ5LDkgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
Ly8gQWxsb3cgYSBsaXR0bGUgbW9yZSB0aGFuIDYwZnBzIHRvIG1ha2Ugc3VyZSB3ZSBjYW4gYXQg
bGVhc3QgaGl0IHRoYXQgZnJhbWUgcmF0ZS4KLXN0YXRpYyBjb25zdCBTZWNvbmRzIGFuaW1hdGlv
blRpbWVyRGVsYXkgeyAwLjAxNSB9Oworc3RhdGljIGNvbnN0IFNlY29uZHMgYW5pbWF0aW9uVGlt
ZXJEZWxheSB7IDE1X21zIH07CiAvLyBBbGxvdyBhIGxpdHRsZSBtb3JlIHRoYW4gMzBmcHMgdG8g
bWFrZSBzdXJlIHdlIGNhbiBhdCBsZWFzdCBoaXQgdGhhdCBmcmFtZSByYXRlLgotc3RhdGljIGNv
bnN0IFNlY29uZHMgYW5pbWF0aW9uVGltZXJUaHJvdHRsZWREZWxheSB7IDAuMDMwIH07CitzdGF0
aWMgY29uc3QgU2Vjb25kcyBhbmltYXRpb25UaW1lclRocm90dGxlZERlbGF5IHsgMzBfbXMgfTsK
IAogY2xhc3MgQW5pbWF0aW9uUHJpdmF0ZVVwZGF0ZUJsb2NrIHsKIHB1YmxpYzoKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL0V2ZW50SGFuZGxlck1hYy5tbSBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvbWFjL0V2ZW50SGFuZGxlck1hYy5tbQppbmRleCBmNTFlMGE4YTQyZTBkNjg1
NmUzNjMyNzY4NTM4NzJlMWM3YjMzN2Q4Li5mNzFlNGZkYzE1OWMzNWE2MTBmNDVmYjYxNWIwZjRl
MTQ4ZGJhODY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9FdmVudEhhbmRs
ZXJNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1t
CkBAIC03NCw3ICs3NCw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY29uc3QgZG91Ymxl
IHJlc2V0TGF0Y2hlZFN0YXRlVGltZW91dCA9IDAuMTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHJl
c2V0TGF0Y2hlZFN0YXRlVGltZW91dCB7IDEwMF9tcyB9OwogCiBzdGF0aWMgUmV0YWluUHRyPE5T
RXZlbnQ+JiBjdXJyZW50TlNFdmVudFNsb3QoKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9tYWMvVGV4dEluZGljYXRvcldpbmRvdy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
bWFjL1RleHRJbmRpY2F0b3JXaW5kb3cubW0KaW5kZXggZTU5MjliYTYzZGU1OWY0OTgzYmQ4Y2Y5
YzMwMDY0ZTY3MTc3M2NiYy4uZmMzNmRjYjEzY2VkN2U1YWMyY2YwMTc3M2FjZTc5MzIxNDY2MGRk
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvVGV4dEluZGljYXRvcldpbmRv
dy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9UZXh0SW5kaWNhdG9yV2luZG93Lm1t
CkBAIC00NzYsNyArNDc2LDcgQEAgdm9pZCBUZXh0SW5kaWNhdG9yV2luZG93OjpzZXRUZXh0SW5k
aWNhdG9yKFJlZjxUZXh0SW5kaWNhdG9yPiB0ZXh0SW5kaWNhdG9yLCBDR1IKICAgICAgICAgW21f
dGV4dEluZGljYXRvclZpZXcgcHJlc2VudF07CiAKICAgICBpZiAobGlmZXRpbWUgPT0gVGV4dElu
ZGljYXRvcldpbmRvd0xpZmV0aW1lOjpUZW1wb3JhcnkpCi0gICAgICAgIG1fdGVtcG9yYXJ5VGV4
dEluZGljYXRvclRpbWVyLnN0YXJ0T25lU2hvdCh0aW1lQmVmb3JlRmFkZVN0YXJ0cyk7CisgICAg
ICAgIG1fdGVtcG9yYXJ5VGV4dEluZGljYXRvclRpbWVyLnN0YXJ0T25lU2hvdCgxX3MgKiB0aW1l
QmVmb3JlRmFkZVN0YXJ0cyk7CiB9CiAKIHZvaWQgVGV4dEluZGljYXRvcldpbmRvdzo6Y2xvc2VX
aW5kb3coKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vSHlzdGVyZXNpc0Fj
dGl2aXR5LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9IeXN0ZXJlc2lzQWN0aXZpdHkuaApp
bmRleCAxMjhlZjgyMDllMmE3NDgzMDllMDYyODIwZWRjODIzOTgwYzBiMmUxLi41OTllMTcxZWMx
YWNhZDIwZWQ4ZjE1ZDFiNDVjOWVhYTlmMWNlMGEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9IeXN0ZXJlc2lzQWN0aXZpdHkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9IeXN0ZXJlc2lzQWN0aXZpdHkuaApAQCAtNjUsNyArNjUsNyBAQCBwdWJsaWM6CiAgICAg
ICAgICAgICByZXR1cm47CiAgICAgICAgIG1fYWN0aXZlID0gZmFsc2U7CiAKLSAgICAgICAgbV90
aW1lci5zdGFydE9uZVNob3QobV9oeXN0ZXJlc2lzU2Vjb25kcyk7CisgICAgICAgIG1fdGltZXIu
c3RhcnRPbmVTaG90KDFfcyAqIG1faHlzdGVyZXNpc1NlY29uZHMpOwogICAgIH0KIAogICAgIHZv
aWQgaW1wdWxzZSgpCkBAIC04OSw3ICs4OSw3IEBAIHByaXZhdGU6CiAgICAgfQogCiAgICAgc3Rk
OjpmdW5jdGlvbjx2b2lkKEh5c3RlcmVzaXNTdGF0ZSk+IG1fY2FsbGJhY2s7Ci0gICAgZG91Ymxl
IG1faHlzdGVyZXNpc1NlY29uZHM7CisgICAgZG91YmxlIG1faHlzdGVyZXNpc1NlY29uZHM7IC8v
IEZJWE1FOiBTaG91bGQgdXNlIFNlY29uZHMuCiAgICAgYm9vbCBtX2FjdGl2ZTsKICAgICBUaW1l
ciBtX3RpbWVyOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9s
bEFuaW1hdGlvblNtb290aC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmlt
YXRpb25TbW9vdGguY3BwCmluZGV4IGM4ZjVkNWRjMDM1NDViYmU1NjA2Nzk3ODZlZDkxMTk3NDE2
NGVlNzYuLmI3ZGMyYjhiNGQ3YjNhMmZlOGNkOWViMzUwMzFmOWEyODQwZjg4MzkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdGlvblNtb290aC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmNwcApAQCAt
MzcsOCArMzcsOCBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdGF0aWMgY29uc3QgZG91Ymxl
IGZyYW1lUmF0ZSA9IDYwOwotc3RhdGljIGNvbnN0IGRvdWJsZSB0aWNrVGltZSA9IDEgLyBmcmFt
ZVJhdGU7Ci1zdGF0aWMgY29uc3QgZG91YmxlIG1pbmltdW1UaW1lckludGVydmFsID0gLjAwMTsK
K3N0YXRpYyBjb25zdCBTZWNvbmRzIHRpY2tUaW1lID0gMV9zIC8gZnJhbWVSYXRlOworc3RhdGlj
IGNvbnN0IFNlY29uZHMgbWluaW11bVRpbWVySW50ZXJ2YWwgeyAxX21zIH07CiAKIFNjcm9sbEFu
aW1hdGlvblNtb290aDo6U2Nyb2xsQW5pbWF0aW9uU21vb3RoKFNjcm9sbGFibGVBcmVhJiBzY3Jv
bGxhYmxlQXJlYSwgY29uc3QgRmxvYXRQb2ludCYgcG9zaXRpb24sIHN0ZDo6ZnVuY3Rpb248dm9p
ZCAoRmxvYXRQb2ludCYmKT4mJiBub3RpZnlQb3NpdGlvbkNoYW5nZWRGdW5jdGlvbikKICAgICA6
IFNjcm9sbEFuaW1hdGlvbihzY3JvbGxhYmxlQXJlYSkKQEAgLTIyNiw0MCArMjI2LDQwIEBAIHN0
YXRpYyBpbmxpbmUgZG91YmxlIHJlbGVhc2VBcmVhKFNjcm9sbEFuaW1hdGlvblNtb290aDo6Q3Vy
dmUgY3VydmUsIGRvdWJsZSBzdGFyCiAgICAgcmV0dXJuIGVuZFZhbHVlIC0gc3RhcnRWYWx1ZTsK
IH0KIAotc3RhdGljIGlubGluZSB2b2lkIGdldEFuaW1hdGlvblBhcmFtZXRlcnNGb3JHcmFudWxh
cml0eShTY3JvbGxHcmFudWxhcml0eSBncmFudWxhcml0eSwgZG91YmxlJiBhbmltYXRpb25UaW1l
LCBkb3VibGUmIHJlcGVhdE1pbmltdW1TdXN0YWluVGltZSwgZG91YmxlJiBhdHRhY2tUaW1lLCBk
b3VibGUmIHJlbGVhc2VUaW1lLCBTY3JvbGxBbmltYXRpb25TbW9vdGg6OkN1cnZlJiBjb2FzdFRp
bWVDdXJ2ZSwgZG91YmxlJiBtYXhpbXVtQ29hc3RUaW1lKQorc3RhdGljIGlubGluZSB2b2lkIGdl
dEFuaW1hdGlvblBhcmFtZXRlcnNGb3JHcmFudWxhcml0eShTY3JvbGxHcmFudWxhcml0eSBncmFu
dWxhcml0eSwgU2Vjb25kcyYgYW5pbWF0aW9uVGltZSwgU2Vjb25kcyYgcmVwZWF0TWluaW11bVN1
c3RhaW5UaW1lLCBTZWNvbmRzJiBhdHRhY2tUaW1lLCBTZWNvbmRzJiByZWxlYXNlVGltZSwgU2Ny
b2xsQW5pbWF0aW9uU21vb3RoOjpDdXJ2ZSYgY29hc3RUaW1lQ3VydmUsIFNlY29uZHMmIG1heGlt
dW1Db2FzdFRpbWUpCiB7CiAgICAgc3dpdGNoIChncmFudWxhcml0eSkgewogICAgIGNhc2UgU2Ny
b2xsQnlEb2N1bWVudDoKLSAgICAgICAgYW5pbWF0aW9uVGltZSA9IDIwICogdGlja1RpbWU7Ci0g
ICAgICAgIHJlcGVhdE1pbmltdW1TdXN0YWluVGltZSA9IDEwICogdGlja1RpbWU7Ci0gICAgICAg
IGF0dGFja1RpbWUgPSAxMCAqIHRpY2tUaW1lOwotICAgICAgICByZWxlYXNlVGltZSA9IDEwICog
dGlja1RpbWU7CisgICAgICAgIGFuaW1hdGlvblRpbWUgPSB0aWNrVGltZSAqIDEwOworICAgICAg
ICByZXBlYXRNaW5pbXVtU3VzdGFpblRpbWUgPSB0aWNrVGltZSAqIDEwOworICAgICAgICBhdHRh
Y2tUaW1lID0gdGlja1RpbWUgKiAxMDsKKyAgICAgICAgcmVsZWFzZVRpbWUgPSB0aWNrVGltZSAq
IDEwOwogICAgICAgICBjb2FzdFRpbWVDdXJ2ZSA9IFNjcm9sbEFuaW1hdGlvblNtb290aDo6Q3Vy
dmU6OkxpbmVhcjsKLSAgICAgICAgbWF4aW11bUNvYXN0VGltZSA9IDE7CisgICAgICAgIG1heGlt
dW1Db2FzdFRpbWUgPSAxX3M7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgU2Nyb2xsQnlMaW5l
OgotICAgICAgICBhbmltYXRpb25UaW1lID0gMTAgKiB0aWNrVGltZTsKLSAgICAgICAgcmVwZWF0
TWluaW11bVN1c3RhaW5UaW1lID0gNyAqIHRpY2tUaW1lOwotICAgICAgICBhdHRhY2tUaW1lID0g
MyAqIHRpY2tUaW1lOwotICAgICAgICByZWxlYXNlVGltZSA9IDMgKiB0aWNrVGltZTsKKyAgICAg
ICAgYW5pbWF0aW9uVGltZSA9IHRpY2tUaW1lICogMTA7CisgICAgICAgIHJlcGVhdE1pbmltdW1T
dXN0YWluVGltZSA9IHRpY2tUaW1lICogNzsKKyAgICAgICAgYXR0YWNrVGltZSA9IHRpY2tUaW1l
ICogMzsKKyAgICAgICAgcmVsZWFzZVRpbWUgPSB0aWNrVGltZSAqIDM7CiAgICAgICAgIGNvYXN0
VGltZUN1cnZlID0gU2Nyb2xsQW5pbWF0aW9uU21vb3RoOjpDdXJ2ZTo6TGluZWFyOwotICAgICAg
ICBtYXhpbXVtQ29hc3RUaW1lID0gMTsKKyAgICAgICAgbWF4aW11bUNvYXN0VGltZSA9IDFfczsK
ICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBTY3JvbGxCeVBhZ2U6Ci0gICAgICAgIGFuaW1hdGlv
blRpbWUgPSAxNSAqIHRpY2tUaW1lOwotICAgICAgICByZXBlYXRNaW5pbXVtU3VzdGFpblRpbWUg
PSAxMCAqIHRpY2tUaW1lOwotICAgICAgICBhdHRhY2tUaW1lID0gNSAqIHRpY2tUaW1lOwotICAg
ICAgICByZWxlYXNlVGltZSA9IDUgKiB0aWNrVGltZTsKKyAgICAgICAgYW5pbWF0aW9uVGltZSA9
IHRpY2tUaW1lICogMTU7CisgICAgICAgIHJlcGVhdE1pbmltdW1TdXN0YWluVGltZSA9IHRpY2tU
aW1lICogMTA7CisgICAgICAgIGF0dGFja1RpbWUgPSB0aWNrVGltZSAqIDU7CisgICAgICAgIHJl
bGVhc2VUaW1lID0gdGlja1RpbWUgKiA1OwogICAgICAgICBjb2FzdFRpbWVDdXJ2ZSA9IFNjcm9s
bEFuaW1hdGlvblNtb290aDo6Q3VydmU6OkxpbmVhcjsKLSAgICAgICAgbWF4aW11bUNvYXN0VGlt
ZSA9IDE7CisgICAgICAgIG1heGltdW1Db2FzdFRpbWUgPSAxX3M7CiAgICAgICAgIGJyZWFrOwog
ICAgIGNhc2UgU2Nyb2xsQnlQaXhlbDoKLSAgICAgICAgYW5pbWF0aW9uVGltZSA9IDExICogdGlj
a1RpbWU7Ci0gICAgICAgIHJlcGVhdE1pbmltdW1TdXN0YWluVGltZSA9IDIgKiB0aWNrVGltZTsK
LSAgICAgICAgYXR0YWNrVGltZSA9IDMgKiB0aWNrVGltZTsKLSAgICAgICAgcmVsZWFzZVRpbWUg
PSAzICogdGlja1RpbWU7CisgICAgICAgIGFuaW1hdGlvblRpbWUgPSB0aWNrVGltZSAqIDExOwor
ICAgICAgICByZXBlYXRNaW5pbXVtU3VzdGFpblRpbWUgPSB0aWNrVGltZSAqIDI7CisgICAgICAg
IGF0dGFja1RpbWUgPSB0aWNrVGltZSAqIDM7CisgICAgICAgIHJlbGVhc2VUaW1lID0gdGlja1Rp
bWUgKiAzOwogICAgICAgICBjb2FzdFRpbWVDdXJ2ZSA9IFNjcm9sbEFuaW1hdGlvblNtb290aDo6
Q3VydmU6OlF1YWRyYXRpYzsKLSAgICAgICAgbWF4aW11bUNvYXN0VGltZSA9IDEuMjU7CisgICAg
ICAgIG1heGltdW1Db2FzdFRpbWUgPSAxMjUwX21zOwogICAgICAgICBicmVhazsKICAgICBkZWZh
dWx0OgogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKQEAgLTI3OSw3ICsyNzksNyBAQCBi
b29sIFNjcm9sbEFuaW1hdGlvblNtb290aDo6dXBkYXRlUGVyQXhpc0RhdGEoUGVyQXhpc0RhdGEm
IGRhdGEsIFNjcm9sbEdyYW51bGFyaQogICAgIGlmIChuZXdQb3NpdGlvbiA9PSBkYXRhLmRlc2ly
ZWRQb3NpdGlvbikKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgZG91YmxlIGFuaW1hdGlv
blRpbWUsIHJlcGVhdE1pbmltdW1TdXN0YWluVGltZSwgYXR0YWNrVGltZSwgcmVsZWFzZVRpbWUs
IG1heGltdW1Db2FzdFRpbWU7CisgICAgU2Vjb25kcyBhbmltYXRpb25UaW1lLCByZXBlYXRNaW5p
bXVtU3VzdGFpblRpbWUsIGF0dGFja1RpbWUsIHJlbGVhc2VUaW1lLCBtYXhpbXVtQ29hc3RUaW1l
OwogICAgIEN1cnZlIGNvYXN0VGltZUN1cnZlOwogICAgIGdldEFuaW1hdGlvblBhcmFtZXRlcnNG
b3JHcmFudWxhcml0eShncmFudWxhcml0eSwgYW5pbWF0aW9uVGltZSwgcmVwZWF0TWluaW11bVN1
c3RhaW5UaW1lLCBhdHRhY2tUaW1lLCByZWxlYXNlVGltZSwgY29hc3RUaW1lQ3VydmUsIG1heGlt
dW1Db2FzdFRpbWUpOwogCkBAIC0yOTgsNyArMjk4LDcgQEAgYm9vbCBTY3JvbGxBbmltYXRpb25T
bW9vdGg6OnVwZGF0ZVBlckF4aXNEYXRhKFBlckF4aXNEYXRhJiBkYXRhLCBTY3JvbGxHcmFudWxh
cmkKIAogICAgIGlmICghZGF0YS5zdGFydFRpbWUpIHsKICAgICAgICAgLy8gRklYTUU6IFRoaXMg
c2hvdWxkIGJlIHRoZSB0aW1lIGZyb20gdGhlIGV2ZW50IHRoYXQgZ290IHVzIGhlcmUuCi0gICAg
ICAgIGRhdGEuc3RhcnRUaW1lID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkgLSB0aWNr
VGltZSAvIDI7CisgICAgICAgIGRhdGEuc3RhcnRUaW1lID0gTW9ub3RvbmljVGltZTo6bm93KCkg
LSB0aWNrVGltZSAvIDIuOwogICAgICAgICBkYXRhLnN0YXJ0UG9zaXRpb24gPSBkYXRhLmN1cnJl
bnRQb3NpdGlvbjsKICAgICAgICAgZGF0YS5sYXN0QW5pbWF0aW9uVGltZSA9IGRhdGEuc3RhcnRU
aW1lOwogICAgIH0KQEAgLTMwNiwxMCArMzA2LDEwIEBAIGJvb2wgU2Nyb2xsQW5pbWF0aW9uU21v
b3RoOjp1cGRhdGVQZXJBeGlzRGF0YShQZXJBeGlzRGF0YSYgZGF0YSwgU2Nyb2xsR3JhbnVsYXJp
CiAKICAgICBkb3VibGUgcmVtYWluaW5nRGVsdGEgPSBkYXRhLmRlc2lyZWRQb3NpdGlvbiAtIGRh
dGEuY3VycmVudFBvc2l0aW9uOwogICAgIGRvdWJsZSBhdHRhY2tBcmVhTGVmdCA9IDA7Ci0gICAg
ZG91YmxlIGRlbHRhVGltZSA9IGRhdGEubGFzdEFuaW1hdGlvblRpbWUgLSBkYXRhLnN0YXJ0VGlt
ZTsKLSAgICBkb3VibGUgYXR0YWNrVGltZUxlZnQgPSBzdGQ6Om1heCgwLiwgZGF0YS5hdHRhY2tU
aW1lIC0gZGVsdGFUaW1lKTsKLSAgICBkb3VibGUgdGltZUxlZnQgPSBkYXRhLmFuaW1hdGlvblRp
bWUgLSBkZWx0YVRpbWU7Ci0gICAgZG91YmxlIG1pblRpbWVMZWZ0ID0gZGF0YS5yZWxlYXNlVGlt
ZSArIHN0ZDo6bWluKHJlcGVhdE1pbmltdW1TdXN0YWluVGltZSwgZGF0YS5hbmltYXRpb25UaW1l
IC0gZGF0YS5yZWxlYXNlVGltZSAtIGF0dGFja1RpbWVMZWZ0KTsKKyAgICBTZWNvbmRzIGRlbHRh
VGltZSA9IGRhdGEubGFzdEFuaW1hdGlvblRpbWUgLSBkYXRhLnN0YXJ0VGltZTsKKyAgICBTZWNv
bmRzIGF0dGFja1RpbWVMZWZ0ID0gc3RkOjptYXgoMF9zLCBkYXRhLmF0dGFja1RpbWUgLSBkZWx0
YVRpbWUpOworICAgIFNlY29uZHMgdGltZUxlZnQgPSBkYXRhLmFuaW1hdGlvblRpbWUgLSBkZWx0
YVRpbWU7CisgICAgU2Vjb25kcyBtaW5UaW1lTGVmdCA9IGRhdGEucmVsZWFzZVRpbWUgKyBzdGQ6
Om1pbihyZXBlYXRNaW5pbXVtU3VzdGFpblRpbWUsIGRhdGEuYW5pbWF0aW9uVGltZSAtIGRhdGEu
cmVsZWFzZVRpbWUgLSBhdHRhY2tUaW1lTGVmdCk7CiAgICAgaWYgKHRpbWVMZWZ0IDwgbWluVGlt
ZUxlZnQpIHsKICAgICAgICAgZGF0YS5hbmltYXRpb25UaW1lID0gZGVsdGFUaW1lICsgbWluVGlt
ZUxlZnQ7CiAgICAgICAgIHRpbWVMZWZ0ID0gbWluVGltZUxlZnQ7CkBAIC0zMjEsMTQgKzMyMSwx
NCBAQCBib29sIFNjcm9sbEFuaW1hdGlvblNtb290aDo6dXBkYXRlUGVyQXhpc0RhdGEoUGVyQXhp
c0RhdGEmIGRhdGEsIFNjcm9sbEdyYW51bGFyaQogICAgICAgICBkb3VibGUgbWluQ29hc3REZWx0
YSA9IGRhdGEudmlzaWJsZUxlbmd0aDsKIAogICAgICAgICBpZiAoZmFicyhyZW1haW5pbmdEZWx0
YSkgPiBtaW5Db2FzdERlbHRhKSB7Ci0gICAgICAgICAgICBkb3VibGUgbWF4Q29hc3REZWx0YSA9
IG1heGltdW1Db2FzdFRpbWUgKiB0YXJnZXRNYXhDb2FzdFZlbG9jaXR5OworICAgICAgICAgICAg
ZG91YmxlIG1heENvYXN0RGVsdGEgPSBtYXhpbXVtQ29hc3RUaW1lLnZhbHVlKCkgKiB0YXJnZXRN
YXhDb2FzdFZlbG9jaXR5OwogICAgICAgICAgICAgZG91YmxlIGNvYXN0RmFjdG9yID0gc3RkOjpt
aW4oMS4sIChmYWJzKHJlbWFpbmluZ0RlbHRhKSAtIG1pbkNvYXN0RGVsdGEpIC8gKG1heENvYXN0
RGVsdGEgLSBtaW5Db2FzdERlbHRhKSk7CiAKICAgICAgICAgICAgIC8vIFdlIGNvdWxkIHBsYXkg
d2l0aCB0aGUgY3VydmUgaGVyZSAtIGxpbmVhciBzZWVtcyBhIGxpdHRsZSBzb2Z0LiBJbml0aWFs
IHRlc3RpbmcgbWFrZXMgbWUgd2FudCB0byBmZWVkIGludG8gdGhlIHN1c3RhaW4gdGltZSBtb3Jl
IGFnZ3Jlc3NpdmVseS4KLSAgICAgICAgICAgIGRvdWJsZSBjb2FzdE1pblRpbWVMZWZ0ID0gc3Rk
OjptaW4obWF4aW11bUNvYXN0VGltZSwgbWluVGltZUxlZnQgKyBjb2FzdEN1cnZlKGNvYXN0VGlt
ZUN1cnZlLCBjb2FzdEZhY3RvcikgKiAobWF4aW11bUNvYXN0VGltZSAtIG1pblRpbWVMZWZ0KSk7
CisgICAgICAgICAgICBTZWNvbmRzIGNvYXN0TWluVGltZUxlZnQgPSBzdGQ6Om1pbihtYXhpbXVt
Q29hc3RUaW1lLCBtaW5UaW1lTGVmdCArIFNlY29uZHMgeyBjb2FzdEN1cnZlKGNvYXN0VGltZUN1
cnZlLCBjb2FzdEZhY3RvcikgfSAqIChtYXhpbXVtQ29hc3RUaW1lIC0gbWluVGltZUxlZnQpKTsK
IAotICAgICAgICAgICAgaWYgKGRvdWJsZSBhZGRpdGlvbmFsVGltZSA9IHN0ZDo6bWF4KDAuLCBj
b2FzdE1pblRpbWVMZWZ0IC0gbWluVGltZUxlZnQpKSB7Ci0gICAgICAgICAgICAgICAgZG91Ymxl
IGFkZGl0aW9uYWxSZWxlYXNlVGltZSA9IHN0ZDo6bWluKGFkZGl0aW9uYWxUaW1lLCByZWxlYXNl
VGltZSAvIChyZWxlYXNlVGltZSArIHJlcGVhdE1pbmltdW1TdXN0YWluVGltZSkgKiBhZGRpdGlv
bmFsVGltZSk7CisgICAgICAgICAgICBpZiAoU2Vjb25kcyBhZGRpdGlvbmFsVGltZSA9IHN0ZDo6
bWF4KDBfcywgY29hc3RNaW5UaW1lTGVmdCAtIG1pblRpbWVMZWZ0KSkgeworICAgICAgICAgICAg
ICAgIFNlY29uZHMgYWRkaXRpb25hbFJlbGVhc2VUaW1lID0gc3RkOjptaW4oYWRkaXRpb25hbFRp
bWUsIHJlbGVhc2VUaW1lIC8gKHJlbGVhc2VUaW1lICsgcmVwZWF0TWluaW11bVN1c3RhaW5UaW1l
KSAqIGFkZGl0aW9uYWxUaW1lKTsKICAgICAgICAgICAgICAgICBkYXRhLnJlbGVhc2VUaW1lID0g
cmVsZWFzZVRpbWUgKyBhZGRpdGlvbmFsUmVsZWFzZVRpbWU7CiAgICAgICAgICAgICAgICAgZGF0
YS5hbmltYXRpb25UaW1lID0gZGVsdGFUaW1lICsgY29hc3RNaW5UaW1lTGVmdDsKICAgICAgICAg
ICAgICAgICB0aW1lTGVmdCA9IGNvYXN0TWluVGltZUxlZnQ7CkBAIC0zMzYsNDMgKzMzNiw0MyBA
QCBib29sIFNjcm9sbEFuaW1hdGlvblNtb290aDo6dXBkYXRlUGVyQXhpc0RhdGEoUGVyQXhpc0Rh
dGEmIGRhdGEsIFNjcm9sbEdyYW51bGFyaQogICAgICAgICB9CiAgICAgfQogCi0gICAgZG91Ymxl
IHJlbGVhc2VUaW1lTGVmdCA9IHN0ZDo6bWluKHRpbWVMZWZ0LCBkYXRhLnJlbGVhc2VUaW1lKTsK
LSAgICBkb3VibGUgc3VzdGFpblRpbWVMZWZ0ID0gc3RkOjptYXgoMC4sIHRpbWVMZWZ0IC0gcmVs
ZWFzZVRpbWVMZWZ0IC0gYXR0YWNrVGltZUxlZnQpOworICAgIFNlY29uZHMgcmVsZWFzZVRpbWVM
ZWZ0ID0gc3RkOjptaW4odGltZUxlZnQsIGRhdGEucmVsZWFzZVRpbWUpOworICAgIFNlY29uZHMg
c3VzdGFpblRpbWVMZWZ0ID0gc3RkOjptYXgoMF9zLCB0aW1lTGVmdCAtIHJlbGVhc2VUaW1lTGVm
dCAtIGF0dGFja1RpbWVMZWZ0KTsKICAgICBpZiAoYXR0YWNrVGltZUxlZnQpIHsKLSAgICAgICAg
ZG91YmxlIGF0dGFja1Nwb3QgPSBkZWx0YVRpbWUgLyBkYXRhLmF0dGFja1RpbWU7Ci0gICAgICAg
IGF0dGFja0FyZWFMZWZ0ID0gYXR0YWNrQXJlYShDdXJ2ZTo6Q3ViaWMsIGF0dGFja1Nwb3QsIDEp
ICogZGF0YS5hdHRhY2tUaW1lOworICAgICAgICBkb3VibGUgYXR0YWNrU3BvdCA9IChkZWx0YVRp
bWUgLyBkYXRhLmF0dGFja1RpbWUpLnZhbHVlKCk7CisgICAgICAgIGF0dGFja0FyZWFMZWZ0ID0g
YXR0YWNrQXJlYShDdXJ2ZTo6Q3ViaWMsIGF0dGFja1Nwb3QsIDEpICogZGF0YS5hdHRhY2tUaW1l
LnZhbHVlKCk7CiAgICAgfQogCi0gICAgZG91YmxlIHJlbGVhc2VTcG90ID0gKGRhdGEucmVsZWFz
ZVRpbWUgLSByZWxlYXNlVGltZUxlZnQpIC8gZGF0YS5yZWxlYXNlVGltZTsKLSAgICBkb3VibGUg
cmVsZWFzZUFyZWFMZWZ0ID0gcmVsZWFzZUFyZWEoQ3VydmU6OkN1YmljLCByZWxlYXNlU3BvdCwg
MSkgKiBkYXRhLnJlbGVhc2VUaW1lOworICAgIGRvdWJsZSByZWxlYXNlU3BvdCA9ICgoZGF0YS5y
ZWxlYXNlVGltZSAtIHJlbGVhc2VUaW1lTGVmdCkgLyBkYXRhLnJlbGVhc2VUaW1lKS52YWx1ZSgp
OworICAgIGRvdWJsZSByZWxlYXNlQXJlYUxlZnQgPSByZWxlYXNlQXJlYShDdXJ2ZTo6Q3ViaWMs
IHJlbGVhc2VTcG90LCAxKSAqIGRhdGEucmVsZWFzZVRpbWUudmFsdWUoKTsKIAotICAgIGRhdGEu
ZGVzaXJlZFZlbG9jaXR5ID0gcmVtYWluaW5nRGVsdGEgLyAoYXR0YWNrQXJlYUxlZnQgKyBzdXN0
YWluVGltZUxlZnQgKyByZWxlYXNlQXJlYUxlZnQpOworICAgIGRhdGEuZGVzaXJlZFZlbG9jaXR5
ID0gcmVtYWluaW5nRGVsdGEgLyAoYXR0YWNrQXJlYUxlZnQgKyBzdXN0YWluVGltZUxlZnQudmFs
dWUoKSArIHJlbGVhc2VBcmVhTGVmdCk7CiAgICAgZGF0YS5yZWxlYXNlUG9zaXRpb24gPSBkYXRh
LmRlc2lyZWRQb3NpdGlvbiAtIGRhdGEuZGVzaXJlZFZlbG9jaXR5ICogcmVsZWFzZUFyZWFMZWZ0
OwogICAgIGlmIChhdHRhY2tBcmVhTGVmdCkKICAgICAgICAgZGF0YS5hdHRhY2tQb3NpdGlvbiA9
IGRhdGEuc3RhcnRQb3NpdGlvbiArIGRhdGEuZGVzaXJlZFZlbG9jaXR5ICogYXR0YWNrQXJlYUxl
ZnQ7CiAgICAgZWxzZQotICAgICAgICBkYXRhLmF0dGFja1Bvc2l0aW9uID0gZGF0YS5yZWxlYXNl
UG9zaXRpb24gLSAoZGF0YS5hbmltYXRpb25UaW1lIC0gZGF0YS5yZWxlYXNlVGltZSAtIGRhdGEu
YXR0YWNrVGltZSkgKiBkYXRhLmRlc2lyZWRWZWxvY2l0eTsKKyAgICAgICAgZGF0YS5hdHRhY2tQ
b3NpdGlvbiA9IGRhdGEucmVsZWFzZVBvc2l0aW9uIC0gKGRhdGEuYW5pbWF0aW9uVGltZSAtIGRh
dGEucmVsZWFzZVRpbWUgLSBkYXRhLmF0dGFja1RpbWUpLnZhbHVlKCkgKiBkYXRhLmRlc2lyZWRW
ZWxvY2l0eTsKIAogICAgIGlmIChzdXN0YWluVGltZUxlZnQpIHsKLSAgICAgICAgZG91YmxlIHJv
dW5kT2ZmID0gZGF0YS5yZWxlYXNlUG9zaXRpb24gLSAoKGF0dGFja0FyZWFMZWZ0ID8gZGF0YS5h
dHRhY2tQb3NpdGlvbiA6IGRhdGEuY3VycmVudFBvc2l0aW9uKSArIGRhdGEuZGVzaXJlZFZlbG9j
aXR5ICogc3VzdGFpblRpbWVMZWZ0KTsKLSAgICAgICAgZGF0YS5kZXNpcmVkVmVsb2NpdHkgKz0g
cm91bmRPZmYgLyBzdXN0YWluVGltZUxlZnQ7CisgICAgICAgIGRvdWJsZSByb3VuZE9mZiA9IGRh
dGEucmVsZWFzZVBvc2l0aW9uIC0gKChhdHRhY2tBcmVhTGVmdCA/IGRhdGEuYXR0YWNrUG9zaXRp
b24gOiBkYXRhLmN1cnJlbnRQb3NpdGlvbikgKyBkYXRhLmRlc2lyZWRWZWxvY2l0eSAqIHN1c3Rh
aW5UaW1lTGVmdC52YWx1ZSgpKTsKKyAgICAgICAgZGF0YS5kZXNpcmVkVmVsb2NpdHkgKz0gcm91
bmRPZmYgLyBzdXN0YWluVGltZUxlZnQudmFsdWUoKTsKICAgICB9CiAKICAgICByZXR1cm4gdHJ1
ZTsKIH0KIAotYm9vbCBTY3JvbGxBbmltYXRpb25TbW9vdGg6OmFuaW1hdGVTY3JvbGwoUGVyQXhp
c0RhdGEmIGRhdGEsIGRvdWJsZSBjdXJyZW50VGltZSkKK2Jvb2wgU2Nyb2xsQW5pbWF0aW9uU21v
b3RoOjphbmltYXRlU2Nyb2xsKFBlckF4aXNEYXRhJiBkYXRhLCBNb25vdG9uaWNUaW1lIGN1cnJl
bnRUaW1lKQogewogICAgIGlmICghZGF0YS5zdGFydFRpbWUpCiAgICAgICAgIHJldHVybiBmYWxz
ZTsKIAotICAgIGRvdWJsZSBsYXN0U2Nyb2xsSW50ZXJ2YWwgPSBjdXJyZW50VGltZSAtIGRhdGEu
bGFzdEFuaW1hdGlvblRpbWU7CisgICAgU2Vjb25kcyBsYXN0U2Nyb2xsSW50ZXJ2YWwgPSBjdXJy
ZW50VGltZSAtIGRhdGEubGFzdEFuaW1hdGlvblRpbWU7CiAgICAgaWYgKGxhc3RTY3JvbGxJbnRl
cnZhbCA8IG1pbmltdW1UaW1lckludGVydmFsKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAogICAg
IGRhdGEubGFzdEFuaW1hdGlvblRpbWUgPSBjdXJyZW50VGltZTsKIAotICAgIGRvdWJsZSBkZWx0
YVRpbWUgPSBjdXJyZW50VGltZSAtIGRhdGEuc3RhcnRUaW1lOworICAgIFNlY29uZHMgZGVsdGFU
aW1lID0gY3VycmVudFRpbWUgLSBkYXRhLnN0YXJ0VGltZTsKICAgICBkb3VibGUgbmV3UG9zaXRp
b24gPSBkYXRhLmN1cnJlbnRQb3NpdGlvbjsKIAogICAgIGlmIChkZWx0YVRpbWUgPiBkYXRhLmFu
aW1hdGlvblRpbWUpIHsKQEAgLTM4MCwxOCArMzgwLDE4IEBAIGJvb2wgU2Nyb2xsQW5pbWF0aW9u
U21vb3RoOjphbmltYXRlU2Nyb2xsKFBlckF4aXNEYXRhJiBkYXRhLCBkb3VibGUgY3VycmVudFRp
bWUpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAgICAgaWYgKGRlbHRhVGltZSA8IGRh
dGEuYXR0YWNrVGltZSkKLSAgICAgICAgbmV3UG9zaXRpb24gPSBhdHRhY2tDdXJ2ZShDdXJ2ZTo6
Q3ViaWMsIGRlbHRhVGltZSwgZGF0YS5hdHRhY2tUaW1lLCBkYXRhLnN0YXJ0UG9zaXRpb24sIGRh
dGEuYXR0YWNrUG9zaXRpb24pOworICAgICAgICBuZXdQb3NpdGlvbiA9IGF0dGFja0N1cnZlKEN1
cnZlOjpDdWJpYywgZGVsdGFUaW1lLnZhbHVlKCksIGRhdGEuYXR0YWNrVGltZS52YWx1ZSgpLCBk
YXRhLnN0YXJ0UG9zaXRpb24sIGRhdGEuYXR0YWNrUG9zaXRpb24pOwogICAgIGVsc2UgaWYgKGRl
bHRhVGltZSA8IChkYXRhLmFuaW1hdGlvblRpbWUgLSBkYXRhLnJlbGVhc2VUaW1lKSkKLSAgICAg
ICAgbmV3UG9zaXRpb24gPSBkYXRhLmF0dGFja1Bvc2l0aW9uICsgKGRlbHRhVGltZSAtIGRhdGEu
YXR0YWNrVGltZSkgKiBkYXRhLmRlc2lyZWRWZWxvY2l0eTsKKyAgICAgICAgbmV3UG9zaXRpb24g
PSBkYXRhLmF0dGFja1Bvc2l0aW9uICsgKGRlbHRhVGltZSAtIGRhdGEuYXR0YWNrVGltZSkudmFs
dWUoKSAqIGRhdGEuZGVzaXJlZFZlbG9jaXR5OwogICAgIGVsc2UgewogICAgICAgICAvLyByZWxl
YXNlIGlzIGJhc2VkIG9uIHRhcmdldGluZyB0aGUgZXhhY3QgZmluYWwgcG9zaXRpb24uCi0gICAg
ICAgIGRvdWJsZSByZWxlYXNlRGVsdGFUID0gZGVsdGFUaW1lIC0gKGRhdGEuYW5pbWF0aW9uVGlt
ZSAtIGRhdGEucmVsZWFzZVRpbWUpOwotICAgICAgICBuZXdQb3NpdGlvbiA9IHJlbGVhc2VDdXJ2
ZShDdXJ2ZTo6Q3ViaWMsIHJlbGVhc2VEZWx0YVQsIGRhdGEucmVsZWFzZVRpbWUsIGRhdGEucmVs
ZWFzZVBvc2l0aW9uLCBkYXRhLmRlc2lyZWRQb3NpdGlvbik7CisgICAgICAgIFNlY29uZHMgcmVs
ZWFzZURlbHRhVCA9IGRlbHRhVGltZSAtIChkYXRhLmFuaW1hdGlvblRpbWUgLSBkYXRhLnJlbGVh
c2VUaW1lKTsKKyAgICAgICAgbmV3UG9zaXRpb24gPSByZWxlYXNlQ3VydmUoQ3VydmU6OkN1Ymlj
LCByZWxlYXNlRGVsdGFULnZhbHVlKCksIGRhdGEucmVsZWFzZVRpbWUsIGRhdGEucmVsZWFzZVBv
c2l0aW9uLCBkYXRhLmRlc2lyZWRQb3NpdGlvbik7CiAgICAgfQogCiAgICAgLy8gTm9ybWFsaXpl
IHZlbG9jaXR5IHRvIGEgcGVyIHNlY29uZCBhbW91bnQuIENvdWxkIGJlIHVzZWQgdG8gY2hlY2sg
Zm9yIGphbmsuCi0gICAgaWYgKGxhc3RTY3JvbGxJbnRlcnZhbCA+IDApCi0gICAgICAgIGRhdGEu
Y3VycmVudFZlbG9jaXR5ID0gKG5ld1Bvc2l0aW9uIC0gZGF0YS5jdXJyZW50UG9zaXRpb24pIC8g
bGFzdFNjcm9sbEludGVydmFsOworICAgIGlmIChsYXN0U2Nyb2xsSW50ZXJ2YWwgPiAwX3MpCisg
ICAgICAgIGRhdGEuY3VycmVudFZlbG9jaXR5ID0gKG5ld1Bvc2l0aW9uIC0gZGF0YS5jdXJyZW50
UG9zaXRpb24pIC8gbGFzdFNjcm9sbEludGVydmFsLnZhbHVlKCk7CiAgICAgZGF0YS5jdXJyZW50
UG9zaXRpb24gPSBuZXdQb3NpdGlvbjsKIAogICAgIHJldHVybiB0cnVlOwpAQCAtMzk5LDggKzM5
OSw4IEBAIGJvb2wgU2Nyb2xsQW5pbWF0aW9uU21vb3RoOjphbmltYXRlU2Nyb2xsKFBlckF4aXNE
YXRhJiBkYXRhLCBkb3VibGUgY3VycmVudFRpbWUpCiAKIHZvaWQgU2Nyb2xsQW5pbWF0aW9uU21v
b3RoOjphbmltYXRpb25UaW1lckZpcmVkKCkKIHsKLSAgICBkb3VibGUgY3VycmVudFRpbWUgPSBt
b25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKLSAgICBkb3VibGUgZGVsdGFUb05leHRGcmFt
ZSA9IGNlaWwoKGN1cnJlbnRUaW1lIC0gbV9zdGFydFRpbWUpICogZnJhbWVSYXRlKSAvIGZyYW1l
UmF0ZSAtIChjdXJyZW50VGltZSAtIG1fc3RhcnRUaW1lKTsKKyAgICBNb25vdG9uaWNUaW1lIGN1
cnJlbnRUaW1lID0gTW9ub3RvbmljVGltZTo6bm93KCk7CisgICAgU2Vjb25kcyBkZWx0YVRvTmV4
dEZyYW1lID0gMV9zICogY2VpbCgoY3VycmVudFRpbWUgLSBtX3N0YXJ0VGltZSkgKiBmcmFtZVJh
dGUpIC8gZnJhbWVSYXRlIC0gKGN1cnJlbnRUaW1lIC0gbV9zdGFydFRpbWUpOwogICAgIGN1cnJl
bnRUaW1lICs9IGRlbHRhVG9OZXh0RnJhbWU7CiAKICAgICBib29sIGNvbnRpbnVlQW5pbWF0aW9u
ID0gZmFsc2U7CkBAIC00MjIsNyArNDIyLDcgQEAgdm9pZCBTY3JvbGxBbmltYXRpb25TbW9vdGg6
OmFuaW1hdGlvblRpbWVyRmlyZWQoKQogfQogCiAjaWYgVVNFKFJFUVVFU1RfQU5JTUFUSU9OX0ZS
QU1FX1RJTUVSKQotdm9pZCBTY3JvbGxBbmltYXRpb25TbW9vdGg6OnN0YXJ0TmV4dFRpbWVyKGRv
dWJsZSBkZWxheSkKK3ZvaWQgU2Nyb2xsQW5pbWF0aW9uU21vb3RoOjpzdGFydE5leHRUaW1lcihT
ZWNvbmRzIGRlbGF5KQogewogICAgIG1fYW5pbWF0aW9uVGltZXIuc3RhcnRPbmVTaG90KGRlbGF5
KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdGlv
blNtb290aC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21vb3Ro
LmgKaW5kZXggZWJhOWRiMmU5NDcyZGFiZDI2YjQxZTNkYTY5YjM2MGY4NWM4MzAyZC4uMDNkYjJh
ZTJjNmJiY2Y0MDYzOWNjZGY4YTMyYmZjMGQxYTU4ZjI1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmgKQEAgLTc2LDI5ICs3NiwyOSBAQCBw
cml2YXRlOgogICAgICAgICBkb3VibGUgZGVzaXJlZFZlbG9jaXR5IHsgMCB9OwogCiAgICAgICAg
IGRvdWJsZSBzdGFydFBvc2l0aW9uIHsgMCB9OwotICAgICAgICBkb3VibGUgc3RhcnRUaW1lIHsg
MCB9OworICAgICAgICBNb25vdG9uaWNUaW1lIHN0YXJ0VGltZTsKICAgICAgICAgZG91YmxlIHN0
YXJ0VmVsb2NpdHkgeyAwIH07CiAKLSAgICAgICAgZG91YmxlIGFuaW1hdGlvblRpbWUgeyAwIH07
Ci0gICAgICAgIGRvdWJsZSBsYXN0QW5pbWF0aW9uVGltZSB7IDAgfTsKKyAgICAgICAgU2Vjb25k
cyBhbmltYXRpb25UaW1lOworICAgICAgICBNb25vdG9uaWNUaW1lIGxhc3RBbmltYXRpb25UaW1l
OwogCiAgICAgICAgIGRvdWJsZSBhdHRhY2tQb3NpdGlvbiB7IDAgfTsKLSAgICAgICAgZG91Ymxl
IGF0dGFja1RpbWUgeyAwIH07CisgICAgICAgIFNlY29uZHMgYXR0YWNrVGltZTsKICAgICAgICAg
Q3VydmUgYXR0YWNrQ3VydmUgeyBDdXJ2ZTo6UXVhZHJhdGljIH07CiAKICAgICAgICAgZG91Ymxl
IHJlbGVhc2VQb3NpdGlvbiB7IDAgfTsKLSAgICAgICAgZG91YmxlIHJlbGVhc2VUaW1lIHsgMCB9
OworICAgICAgICBTZWNvbmRzIHJlbGVhc2VUaW1lOwogICAgICAgICBDdXJ2ZSByZWxlYXNlQ3Vy
dmUgeyBDdXJ2ZTo6UXVhZHJhdGljIH07CiAKICAgICAgICAgaW50IHZpc2libGVMZW5ndGggeyAw
IH07CiAgICAgfTsKIAogICAgIGJvb2wgdXBkYXRlUGVyQXhpc0RhdGEoUGVyQXhpc0RhdGEmLCBT
Y3JvbGxHcmFudWxhcml0eSwgZmxvYXQgZGVsdGEsIGZsb2F0IG1pblNjcm9sbFBvc2l0aW9uLCBm
bG9hdCBtYXhTY3JvbGxQb3NpdGlvbik7Ci0gICAgYm9vbCBhbmltYXRlU2Nyb2xsKFBlckF4aXNE
YXRhJiwgZG91YmxlIGN1cnJlbnRUaW1lKTsKKyAgICBib29sIGFuaW1hdGVTY3JvbGwoUGVyQXhp
c0RhdGEmLCBNb25vdG9uaWNUaW1lIGN1cnJlbnRUaW1lKTsKIAogI2lmIFVTRShSRVFVRVNUX0FO
SU1BVElPTl9GUkFNRV9USU1FUikKICAgICB2b2lkIHJlcXVlc3RBbmltYXRpb25UaW1lckZpcmVk
KCk7Ci0gICAgdm9pZCBzdGFydE5leHRUaW1lcihkb3VibGUgZGVsYXkpOworICAgIHZvaWQgc3Rh
cnROZXh0VGltZXIoU2Vjb25kcyBkZWxheSk7CiAjZWxzZQogICAgIHZvaWQgc3RhcnROZXh0VGlt
ZXIoKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmgKaW5kZXggMDUxNzRiNGYxNGIzNjgy
ZThkN2JkY2ZhMzQ1Yzg0NmE4Zjk2YjUyNy4uNTJkZWJhODE1Yjg3ZWM2MWUxYjEzNjIyOTQ4NjEz
YTg2ZjJmYzgwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5oCkBAIC01NSw4ICs1NSw2IEBAIHB1
YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHN0YXJ0KFNlY29uZHMgbmV4dEZpcmVJbnRl
cnZhbCwgU2Vjb25kcyByZXBlYXRJbnRlcnZhbCk7CiAKICAgICB2b2lkIHN0YXJ0UmVwZWF0aW5n
KFNlY29uZHMgcmVwZWF0SW50ZXJ2YWwpIHsgc3RhcnQocmVwZWF0SW50ZXJ2YWwsIHJlcGVhdElu
dGVydmFsKTsgfQotCi0gICAgdm9pZCBzdGFydE9uZVNob3QoZG91YmxlIGludGVydmFsKSB7IHN0
YXJ0T25lU2hvdChTZWNvbmRzIHsgaW50ZXJ2YWwgfSk7IH0KICAgICB2b2lkIHN0YXJ0T25lU2hv
dChTZWNvbmRzIGludGVydmFsKSB7IHN0YXJ0KGludGVydmFsLCAwX3MpOyB9CiAKICAgICBXRUJD
T1JFX0VYUE9SVCB2b2lkIHN0b3AoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmNwcAppbmRleCA1NjlhNWI5ZTA2ZWQ5NmM2
ZDBkNzBjNjViOGM1MDFhMzM5Zjc2N2Q5Li4wMmQxMDk5MTQxZTQyZTIxN2I1MmEyNmMzMjI5ODlm
YjJkOGUxOTgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0
Zm9ybU1lZGlhU2Vzc2lvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8v
UGxhdGZvcm1NZWRpYVNlc3Npb24uY3BwCkBAIC0zNCw3ICszNCw3IEBACiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAotY29uc3QgZG91YmxlIGtDbGllbnREYXRhQnVmZmVyaW5nVGltZXJUaHJvdHRs
ZURlbGF5ID0gMC4xOworc3RhdGljIGNvbnN0IFNlY29uZHMgY2xpZW50RGF0YUJ1ZmZlcmluZ1Rp
bWVyVGhyb3R0bGVEZWxheSB7IDEwMF9tcyB9OwogCiAjaWYgIUxPR19ESVNBQkxFRAogc3RhdGlj
IGNvbnN0IGNoYXIqIHN0YXRlTmFtZShQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6U3RhdGUgc3RhdGUp
CkBAIC0yNjAsNyArMjYwLDcgQEAgdm9pZCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6dmlzaWJpbGl0
eUNoYW5nZWQoKQogdm9pZCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6c2NoZWR1bGVDbGllbnREYXRh
QnVmZmVyaW5nQ2hlY2soKQogewogICAgIGlmICghbV9jbGllbnREYXRhQnVmZmVyaW5nVGltZXIu
aXNBY3RpdmUoKSkKLSAgICAgICAgbV9jbGllbnREYXRhQnVmZmVyaW5nVGltZXIuc3RhcnRPbmVT
aG90KGtDbGllbnREYXRhQnVmZmVyaW5nVGltZXJUaHJvdHRsZURlbGF5KTsKKyAgICAgICAgbV9j
bGllbnREYXRhQnVmZmVyaW5nVGltZXIuc3RhcnRPbmVTaG90KGNsaWVudERhdGFCdWZmZXJpbmdU
aW1lclRocm90dGxlRGVsYXkpOwogfQogCiB2b2lkIFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpjbGll
bnREYXRhQnVmZmVyaW5nVGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9jb2NvYS9TY3JvbGxDb250cm9sbGVyLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vY29jb2EvU2Nyb2xsQ29udHJvbGxlci5tbQppbmRleCAxZThmN2RmZDg3ZWEzMzk3OGRlZjk0
YmZkYWM3ZTJiZGExNWZiYWEyLi5lZTNlNTM3ZmI4YzJiNjg3MGU2MWRmZDIzOTc2MDdlYzdmMWY0
YjFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9TY3JvbGxDb250
cm9sbGVyLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1Njcm9sbENvbnRy
b2xsZXIubW0KQEAgLTQ5MCw3ICs0OTAsNyBAQCB2b2lkIFNjcm9sbENvbnRyb2xsZXI6OnNjaGVk
dWxlU3RhdGVsZXNzU2Nyb2xsU25hcCgpCiAgICAgICAgIHJldHVybjsKIAogICAgIHN0YXRpYyBj
b25zdCBTZWNvbmRzIHN0YXRlbGVzc1Njcm9sbFNuYXBEZWxheSA9IDc1MF9tczsKLSAgICBtX3N0
YXRlbGVzc1NuYXBUcmFuc2l0aW9uVGltZXIuc3RhcnRPbmVTaG90KHN0YXRlbGVzc1Njcm9sbFNu
YXBEZWxheS52YWx1ZSgpKTsKKyAgICBtX3N0YXRlbGVzc1NuYXBUcmFuc2l0aW9uVGltZXIuc3Rh
cnRPbmVTaG90KHN0YXRlbGVzc1Njcm9sbFNuYXBEZWxheSk7CiAgICAgc3RhcnREZWZlcnJpbmdU
ZXN0c0R1ZVRvU2Nyb2xsU25hcHBpbmcoKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ2FtZXBhZC9jb2NvYS9HYW1lQ29udHJvbGxlckdhbWVwYWRQcm92aWRlci5t
bSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvY29jb2EvR2FtZUNvbnRyb2xsZXJH
YW1lcGFkUHJvdmlkZXIubW0KaW5kZXggNTE1ZjNlNGViMWY5NjQ0YWQ0ZDdhYWRiYWRlNmM1ZjEw
OTBmMzc2NS4uMTBlNzc0NTcwYzE2YzMyODAzYzlkYzZmZTdjNjNhZjQwZTY5YWIxMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9jb2NvYS9HYW1lQ29udHJvbGxl
ckdhbWVwYWRQcm92aWRlci5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nYW1lcGFk
L2NvY29hL0dhbWVDb250cm9sbGVyR2FtZXBhZFByb3ZpZGVyLm1tCkBAIC00MCw3ICs0MCw3IEBA
IFNPRlRfTElOS19DT05TVEFOVF9NQVlfRkFJTChHYW1lQ29udHJvbGxlciwgR0NDb250cm9sbGVy
RGlkRGlzY29ubmVjdE5vdGlmaWNhdGlvCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGlj
IGNvbnN0IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgSW5wdXROb3RpZmljYXRpb25EZWxheSA9
IDE2bXM7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBpbnB1dE5vdGlmaWNhdGlvbkRlbGF5IHsgMTZf
bXMgfTsKIAogR2FtZUNvbnRyb2xsZXJHYW1lcGFkUHJvdmlkZXImIEdhbWVDb250cm9sbGVyR2Ft
ZXBhZFByb3ZpZGVyOjpzaW5nbGV0b24oKQogewpAQCAtMTQ0LDcgKzE0NCw3IEBAIHVuc2lnbmVk
IEdhbWVDb250cm9sbGVyR2FtZXBhZFByb3ZpZGVyOjppbmRleEZvck5ld2x5Q29ubmVjdGVkRGV2
aWNlKCkKIHZvaWQgR2FtZUNvbnRyb2xsZXJHYW1lcGFkUHJvdmlkZXI6OmdhbWVwYWRIYWRJbnB1
dChHYW1lQ29udHJvbGxlckdhbWVwYWQmLCBib29sIGhhZEJ1dHRvblByZXNzZXMpCiB7CiAgICAg
aWYgKCFtX2lucHV0Tm90aWZpY2F0aW9uVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9pbnB1
dE5vdGlmaWNhdGlvblRpbWVyLnN0YXJ0T25lU2hvdChJbnB1dE5vdGlmaWNhdGlvbkRlbGF5KTsK
KyAgICAgICAgbV9pbnB1dE5vdGlmaWNhdGlvblRpbWVyLnN0YXJ0T25lU2hvdChpbnB1dE5vdGlm
aWNhdGlvbkRlbGF5KTsKIAogICAgIGlmIChoYWRCdXR0b25QcmVzc2VzKQogICAgICAgICBtX3No
b3VsZE1ha2VJbnZpc2liaWxlR2FtZXBhZHNWaXNpYmxlID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvbWFjL0hJREdhbWVwYWRQcm92aWRlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nYW1lcGFkL21hYy9ISURHYW1lcGFkUHJvdmlkZXIu
Y3BwCmluZGV4IDAwMjY2NGNhYTJhMjdiMmM0YzkzOTI0YTBkODEyMzlmYWE1YzQxNDQuLjJlMjI5
OTI2OWMyYWM2MmRlYTA3ZDQ5MzYzMGQ4ZTA0NDhmNWFlNGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvbWFjL0hJREdhbWVwYWRQcm92aWRlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9tYWMvSElER2FtZXBhZFByb3ZpZGVyLmNw
cApAQCAtMzQsOCArMzQsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25z
dCBkb3VibGUgQ29ubmVjdGlvbkRlbGF5SW50ZXJ2YWwgPSAwLjU7Ci1zdGF0aWMgY29uc3QgZG91
YmxlIElucHV0Tm90aWZpY2F0aW9uRGVsYXkgPSAwLjA1Oworc3RhdGljIGNvbnN0IFNlY29uZHMg
Y29ubmVjdGlvbkRlbGF5SW50ZXJ2YWwgeyA1MDBfbXMgfTsKK3N0YXRpYyBjb25zdCBTZWNvbmRz
IGlucHV0Tm90aWZpY2F0aW9uRGVsYXkgeyA1MF9tcyB9OwogCiBzdGF0aWMgUmV0YWluUHRyPENG
RGljdGlvbmFyeVJlZj4gZGV2aWNlTWF0Y2hpbmdEaWN0aW9uYXJ5KHVpbnQzMl90IHVzYWdlUGFn
ZSwgdWludDMyX3QgdXNhZ2UpCiB7CkBAIC0xNDIsOSArMTQyLDkgQEAgdm9pZCBISURHYW1lcGFk
UHJvdmlkZXI6Om9wZW5BbmRTY2hlZHVsZU1hbmFnZXIoKQogICAgIElPSElETWFuYWdlclNjaGVk
dWxlV2l0aFJ1bkxvb3AobV9tYW5hZ2VyLmdldCgpLCBDRlJ1bkxvb3BHZXRDdXJyZW50KCksIGtD
RlJ1bkxvb3BEZWZhdWx0TW9kZSk7CiAgICAgSU9ISURNYW5hZ2VyT3BlbihtX21hbmFnZXIuZ2V0
KCksIGtJT0hJRE9wdGlvbnNUeXBlTm9uZSk7CiAKLSAgICAvLyBBbnkgY29ubmVjdGlvbnMgd2Ug
YXJlIG5vdGlmaWVkIG9mIHdpdGhpbiB0aGUgQ29ubmVjdGlvbkRlbGF5SW50ZXJ2YWwgb2YgbGlz
dGVuaW5nIGxpa2VseSByZXByZXNlbnQKKyAgICAvLyBBbnkgY29ubmVjdGlvbnMgd2UgYXJlIG5v
dGlmaWVkIG9mIHdpdGhpbiB0aGUgY29ubmVjdGlvbkRlbGF5SW50ZXJ2YWwgb2YgbGlzdGVuaW5n
IGxpa2VseSByZXByZXNlbnQKICAgICAvLyBkZXZpY2VzIHRoYXQgd2VyZSBhbHJlYWR5IGNvbm5l
Y3RlZCwgc28gd2Ugc3VwcHJlc3Mgbm90aWZ5aW5nIGNsaWVudHMgb2YgdGhlc2UuCi0gICAgbV9j
b25uZWN0aW9uRGVsYXlUaW1lci5zdGFydE9uZVNob3QoQ29ubmVjdGlvbkRlbGF5SW50ZXJ2YWwp
OworICAgIG1fY29ubmVjdGlvbkRlbGF5VGltZXIuc3RhcnRPbmVTaG90KGNvbm5lY3Rpb25EZWxh
eUludGVydmFsKTsKIH0KIAogdm9pZCBISURHYW1lcGFkUHJvdmlkZXI6OmNsb3NlQW5kVW5zY2hl
ZHVsZU1hbmFnZXIoKQpAQCAtMjQzLDcgKzI0Myw3IEBAIHZvaWQgSElER2FtZXBhZFByb3ZpZGVy
Ojp2YWx1ZXNDaGFuZ2VkKElPSElEVmFsdWVSZWYgdmFsdWUpCiAgICAgLy8gVGhpcyBpc0FjdGl2
ZSBjaGVjayBpcyBuZWNlc3NhcnkgYXMgd2Ugd2FudCB0byBkZWxheSBpbnB1dCBub3RpZmljYXRp
b25zIGZyb20gdGhlIHRpbWUgb2YgdGhlIGZpcnN0IGlucHV0LAogICAgIC8vIGFuZCBub3QgcHVz
aCB0aGUgbm90aWZpY2F0aW9uIG91dCBvbiBldmVyeSBzdWJzZXF1ZW50IGlucHV0LgogICAgIGlm
ICghbV9pbnB1dE5vdGlmaWNhdGlvblRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1faW5wdXRO
b3RpZmljYXRpb25UaW1lci5zdGFydE9uZVNob3QoSW5wdXROb3RpZmljYXRpb25EZWxheSk7Cisg
ICAgICAgIG1faW5wdXROb3RpZmljYXRpb25UaW1lci5zdGFydE9uZVNob3QoaW5wdXROb3RpZmlj
YXRpb25EZWxheSk7CiB9CiAKIHZvaWQgSElER2FtZXBhZFByb3ZpZGVyOjppbnB1dE5vdGlmaWNh
dGlvblRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2xp
Yi9NYWluVGhyZWFkU2hhcmVkVGltZXJHTGliLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dsaWIvTWFpblRocmVhZFNoYXJlZFRpbWVyR0xpYi5jcHAKaW5kZXggNGFmZTI5ZGMwYjZkODVi
OWQ2NGM1NDViZTc5MGMwYjg4MTczY2NiOS4uMjE0Nzc0MDliOTFlYWQ3MmYxYmY3YzU0YjJjOTJm
ZGZhMzRiNmIxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2xpYi9NYWlu
VGhyZWFkU2hhcmVkVGltZXJHTGliLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
bGliL01haW5UaHJlYWRTaGFyZWRUaW1lckdMaWIuY3BwCkBAIC00MSw3ICs0MSw3IEBAIE1haW5U
aHJlYWRTaGFyZWRUaW1lcjo6TWFpblRocmVhZFNoYXJlZFRpbWVyKCkKIHZvaWQgTWFpblRocmVh
ZFNoYXJlZFRpbWVyOjpzZXRGaXJlSW50ZXJ2YWwoU2Vjb25kcyBpbnRlcnZhbCkKIHsKICAgICBB
U1NFUlQobV9maXJlZEZ1bmN0aW9uKTsKLSAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChpbnRlcnZh
bC52YWx1ZSgpKTsKKyAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChpbnRlcnZhbCk7CiB9CiAKIHZv
aWQgTWFpblRocmVhZFNoYXJlZFRpbWVyOjpzdG9wKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmNwcAppbmRleCBjMjNiOWRkYzVhNDczNzJiNWM0
OGFlYzA0MDM3ZjMyZjZhZTdkNjg4Li4xYjk0OWNkYWQ0ZTA1NWM5NmZjOWFlZTBhMTI3YmQwMWQ1
MjQxMTg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRt
YXBJbWFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFw
SW1hZ2UuY3BwCkBAIC0yODYsNyArMjg2LDcgQEAgdm9pZCBCaXRtYXBJbWFnZTo6Y2xlYXJUaW1l
cigpCiAgICAgbV9mcmFtZVRpbWVyID0gbnVsbHB0cjsKIH0KIAotdm9pZCBCaXRtYXBJbWFnZTo6
c3RhcnRUaW1lcihkb3VibGUgZGVsYXkpCit2b2lkIEJpdG1hcEltYWdlOjpzdGFydFRpbWVyKFNl
Y29uZHMgZGVsYXkpCiB7CiAgICAgQVNTRVJUKCFtX2ZyYW1lVGltZXIpOwogICAgIG1fZnJhbWVU
aW1lciA9IHN0ZDo6bWFrZV91bmlxdWU8VGltZXI+KCp0aGlzLCAmQml0bWFwSW1hZ2U6OmFkdmFu
Y2VBbmltYXRpb24pOwpAQCAtMzMyLDE0ICszMzIsMTQgQEAgQml0bWFwSW1hZ2U6OlN0YXJ0QW5p
bWF0aW9uU3RhdHVzIEJpdG1hcEltYWdlOjppbnRlcm5hbFN0YXJ0QW5pbWF0aW9uKCkKICAgICBp
ZiAoIW1fc291cmNlLmlzQWxsRGF0YVJlY2VpdmVkKCkgJiYgIWZyYW1lSXNDb21wbGV0ZUF0SW5k
ZXgobmV4dEZyYW1lKSkKICAgICAgICAgcmV0dXJuIFN0YXJ0QW5pbWF0aW9uU3RhdHVzOjpJbmNv
bXBsZXRlRGF0YTsKIAotICAgIGRvdWJsZSB0aW1lID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdU
aW1lKCk7CisgICAgTW9ub3RvbmljVGltZSB0aW1lID0gTW9ub3RvbmljVGltZTo6bm93KCk7CiAK
ICAgICAvLyBIYW5kbGUgaW5pdGlhbCBzdGF0ZS4KICAgICBpZiAoIW1fZGVzaXJlZEZyYW1lU3Rh
cnRUaW1lKQogICAgICAgICBtX2Rlc2lyZWRGcmFtZVN0YXJ0VGltZSA9IHRpbWU7CiAKICAgICAv
LyBTZXR0aW5nICdtX2Rlc2lyZWRGcmFtZVN0YXJ0VGltZScgdG8gJ3RpbWUnIG1lYW5zIHdlIGFy
ZSBsYXRlOyBvdGhlcndpc2Ugd2UgYXJlIGVhcmx5LgotICAgIG1fZGVzaXJlZEZyYW1lU3RhcnRU
aW1lID0gc3RkOjptYXgodGltZSwgbV9kZXNpcmVkRnJhbWVTdGFydFRpbWUgKyBmcmFtZUR1cmF0
aW9uQXRJbmRleChtX2N1cnJlbnRGcmFtZSkpOworICAgIG1fZGVzaXJlZEZyYW1lU3RhcnRUaW1l
ID0gc3RkOjptYXgodGltZSwgbV9kZXNpcmVkRnJhbWVTdGFydFRpbWUgKyBTZWNvbmRzIHsgZnJh
bWVEdXJhdGlvbkF0SW5kZXgobV9jdXJyZW50RnJhbWUpIH0pOwogCiAgICAgLy8gUmVxdWVzdCBh
c3luYyBkZWNvZGluZyBmb3IgbmV4dEZyYW1lIG9ubHkgaWYgdGhpcyBpcyByZXF1aXJlZC4gSWYg
bmV4dEZyYW1lIGlzIG5vdCBpbiB0aGUgZnJhbWVDYWNoZSwKICAgICAvLyBpdCB3aWxsIGJlIGRl
Y29kZWQgb24gYSBzZXBhcmF0ZSB3b3JrIHF1ZXVlLiBXaGVuIGRlY29kaW5nIG5leHRGcmFtZSBm
aW5pc2hlcywgd2Ugd2lsbCBiZSBub3RpZmllZApAQCAtMzU3LDcgKzM1Nyw3IEBAIEJpdG1hcElt
YWdlOjpTdGFydEFuaW1hdGlvblN0YXR1cyBCaXRtYXBJbWFnZTo6aW50ZXJuYWxTdGFydEFuaW1h
dGlvbigpCiAgICAgICAgIFVOVVNFRF9QQVJBTShpc0FzeW5jRGVjb2RlKTsKICNlbmRpZgogCi0g
ICAgICAgIG1fZGVzaXJlZEZyYW1lRGVjb2RlVGltZUZvclRlc3RpbmcgPSB0aW1lICsgc3RkOjpt
YXgobV9mcmFtZURlY29kaW5nRHVyYXRpb25Gb3JUZXN0aW5nLCAwLjBmKTsKKyAgICAgICAgbV9k
ZXNpcmVkRnJhbWVEZWNvZGVUaW1lRm9yVGVzdGluZyA9IHRpbWUgKyBzdGQ6Om1heChtX2ZyYW1l
RGVjb2RpbmdEdXJhdGlvbkZvclRlc3RpbmcsIDBfcyk7CiAgICAgICAgIGlmIChtX2NsZWFyRGVj
b2RlckFmdGVyQXN5bmNGcmFtZVJlcXVlc3RGb3JUZXN0aW5nKQogICAgICAgICAgICAgbV9zb3Vy
Y2UuY2xlYXIoZGF0YSgpKTsKICAgICB9CkBAIC0zNzQsNyArMzc0LDcgQEAgdm9pZCBCaXRtYXBJ
bWFnZTo6YWR2YW5jZUFuaW1hdGlvbigpCiAgICAgLy8gUHJldGVuZCBhcyBpZiBkZWNvZGluZyBu
ZXh0RnJhbWUgaGFzIHRha2VuIG1fZnJhbWVEZWNvZGluZ0R1cmF0aW9uRm9yVGVzdGluZyBmcm9t
CiAgICAgLy8gdGhlIHRpbWUgdGhpcyBkZWNvZGluZyB3YXMgcmVxdWVzdGVkLgogICAgIGlmIChz
aG91bGRVc2VBc3luY0RlY29kaW5nRm9yQW5pbWF0ZWRJbWFnZXNGb3JUZXN0aW5nKCkpIHsKLSAg
ICAgICAgZG91YmxlIHRpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKKyAgICAg
ICAgTW9ub3RvbmljVGltZSB0aW1lID0gTW9ub3RvbmljVGltZTo6bm93KCk7CiAgICAgICAgIC8v
IFN0YXJ0IGEgdGltZXIgd2l0aCB0aGUgcmVtYWluaW5nIHRpbWUgZnJvbSBub3cgdGlsbCB0aGUg
bV9kZXNpcmVkRnJhbWVEZWNvZGVUaW1lLgogICAgICAgICBpZiAobV9kZXNpcmVkRnJhbWVEZWNv
ZGVUaW1lRm9yVGVzdGluZyA+IHN0ZDo6bWF4KHRpbWUsIG1fZGVzaXJlZEZyYW1lU3RhcnRUaW1l
KSkgewogICAgICAgICAgICAgc3RhcnRUaW1lcihtX2Rlc2lyZWRGcmFtZURlY29kZVRpbWVGb3JU
ZXN0aW5nIC0gdGltZSk7CkBAIC00MjYsNyArNDI2LDcgQEAgdm9pZCBCaXRtYXBJbWFnZTo6cmVz
ZXRBbmltYXRpb24oKQogICAgIHN0b3BBbmltYXRpb24oKTsKICAgICBtX2N1cnJlbnRGcmFtZSA9
IDA7CiAgICAgbV9yZXBldGl0aW9uc0NvbXBsZXRlID0gUmVwZXRpdGlvbkNvdW50Tm9uZTsKLSAg
ICBtX2Rlc2lyZWRGcmFtZVN0YXJ0VGltZSA9IDA7CisgICAgbV9kZXNpcmVkRnJhbWVTdGFydFRp
bWUgPSB7IH07CiAgICAgbV9hbmltYXRpb25GaW5pc2hlZCA9IGZhbHNlOwogCiAgICAgLy8gRm9y
IGV4dHJlbWVseSBsYXJnZSBhbmltYXRpb25zLCB3aGVuIHRoZSBhbmltYXRpb24gaXMgcmVzZXQs
IHdlIGp1c3QgdGhyb3cgZXZlcnl0aGluZyBhd2F5LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmgKaW5kZXggNDIyZDZjOTgwYTU3ZjU0NzZmM2IyZTdj
MjZkMDYwMGYwZGI5NTQ1Mi4uOGVhMjRkNmJhZmEwMTEyODc3YjUwM2I5N2ZjN2RjYWZkMjVlNTI1
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1h
Z2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5o
CkBAIC05Nyw4ICs5Nyw4IEBAIHB1YmxpYzoKICAgICBib29sIGN1cnJlbnRGcmFtZUtub3duVG9C
ZU9wYXF1ZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuICFmcmFtZUhhc0FscGhhQXRJbmRleChj
dXJyZW50RnJhbWUoKSk7IH0KICAgICBJbWFnZU9yaWVudGF0aW9uIG9yaWVudGF0aW9uRm9yQ3Vy
cmVudEZyYW1lKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gZnJhbWVPcmllbnRhdGlvbkF0SW5k
ZXgoY3VycmVudEZyYW1lKCkpOyB9CiAKLSAgICBib29sIHNob3VsZFVzZUFzeW5jRGVjb2RpbmdG
b3JBbmltYXRlZEltYWdlc0ZvclRlc3RpbmcoKSBjb25zdCB7IHJldHVybiBtX2ZyYW1lRGVjb2Rp
bmdEdXJhdGlvbkZvclRlc3RpbmcgPiAwOyB9Ci0gICAgdm9pZCBzZXRGcmFtZURlY29kaW5nRHVy
YXRpb25Gb3JUZXN0aW5nKGZsb2F0IGR1cmF0aW9uKSB7IG1fZnJhbWVEZWNvZGluZ0R1cmF0aW9u
Rm9yVGVzdGluZyA9IGR1cmF0aW9uOyB9CisgICAgYm9vbCBzaG91bGRVc2VBc3luY0RlY29kaW5n
Rm9yQW5pbWF0ZWRJbWFnZXNGb3JUZXN0aW5nKCkgY29uc3QgeyByZXR1cm4gbV9mcmFtZURlY29k
aW5nRHVyYXRpb25Gb3JUZXN0aW5nID4gMF9zOyB9CisgICAgdm9pZCBzZXRGcmFtZURlY29kaW5n
RHVyYXRpb25Gb3JUZXN0aW5nKFNlY29uZHMgZHVyYXRpb24pIHsgbV9mcmFtZURlY29kaW5nRHVy
YXRpb25Gb3JUZXN0aW5nID0gZHVyYXRpb247IH0KICAgICBib29sIHNob3VsZFVzZUFzeW5jRGVj
b2RpbmdGb3JMYXJnZUltYWdlcygpOwogICAgIGJvb2wgc2hvdWxkVXNlQXN5bmNEZWNvZGluZ0Zv
ckFuaW1hdGVkSW1hZ2VzKCk7CiAgICAgdm9pZCBzZXRDbGVhckRlY29kZXJBZnRlckFzeW5jRnJh
bWVSZXF1ZXN0Rm9yVGVzdGluZyhib29sIHZhbHVlKSB7IG1fY2xlYXJEZWNvZGVyQWZ0ZXJBc3lu
Y0ZyYW1lUmVxdWVzdEZvclRlc3RpbmcgPSB2YWx1ZTsgfQpAQCAtMTkwLDcgKzE5MCw3IEBAIHBy
b3RlY3RlZDoKIAogcHJpdmF0ZToKICAgICB2b2lkIGNsZWFyVGltZXIoKTsKLSAgICB2b2lkIHN0
YXJ0VGltZXIoZG91YmxlIGRlbGF5KTsKKyAgICB2b2lkIHN0YXJ0VGltZXIoU2Vjb25kcyBkZWxh
eSk7CiAgICAgYm9vbCBpc0JpdG1hcEltYWdlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1
ZTsgfQogICAgIHZvaWQgZHVtcChUZXh0U3RyZWFtJikgY29uc3Qgb3ZlcnJpZGU7CiAKQEAgLTIw
NywxMSArMjA3LDExIEBAIHByaXZhdGU6CiAgICAgU3Vic2FtcGxpbmdMZXZlbCBtX2N1cnJlbnRT
dWJzYW1wbGluZ0xldmVsIHsgU3Vic2FtcGxpbmdMZXZlbDo6RGVmYXVsdCB9OwogICAgIHN0ZDo6
dW5pcXVlX3B0cjxUaW1lcj4gbV9mcmFtZVRpbWVyOwogICAgIFJlcGV0aXRpb25Db3VudCBtX3Jl
cGV0aXRpb25zQ29tcGxldGUgeyBSZXBldGl0aW9uQ291bnROb25lIH07IC8vIEhvdyBtYW55IHJl
cGV0aXRpb25zIHdlJ3ZlIGZpbmlzaGVkLgotICAgIGRvdWJsZSBtX2Rlc2lyZWRGcmFtZVN0YXJ0
VGltZSB7IDAgfTsgLy8gVGhlIHN5c3RlbSB0aW1lIGF0IHdoaWNoIHdlIGhvcGUgdG8gc2VlIHRo
ZSBuZXh0IGNhbGwgdG8gc3RhcnRBbmltYXRpb24oKS4KKyAgICBNb25vdG9uaWNUaW1lIG1fZGVz
aXJlZEZyYW1lU3RhcnRUaW1lOyAvLyBUaGUgc3lzdGVtIHRpbWUgYXQgd2hpY2ggd2UgaG9wZSB0
byBzZWUgdGhlIG5leHQgY2FsbCB0byBzdGFydEFuaW1hdGlvbigpLgogICAgIGJvb2wgbV9hbmlt
YXRpb25GaW5pc2hlZCB7IGZhbHNlIH07CiAKLSAgICBmbG9hdCBtX2ZyYW1lRGVjb2RpbmdEdXJh
dGlvbkZvclRlc3RpbmcgeyAwIH07Ci0gICAgZG91YmxlIG1fZGVzaXJlZEZyYW1lRGVjb2RlVGlt
ZUZvclRlc3RpbmcgeyAwIH07CisgICAgU2Vjb25kcyBtX2ZyYW1lRGVjb2RpbmdEdXJhdGlvbkZv
clRlc3Rpbmc7CisgICAgTW9ub3RvbmljVGltZSBtX2Rlc2lyZWRGcmFtZURlY29kZVRpbWVGb3JU
ZXN0aW5nOwogICAgIGJvb2wgbV9jbGVhckRlY29kZXJBZnRlckFzeW5jRnJhbWVSZXF1ZXN0Rm9y
VGVzdGluZyB7IGZhbHNlIH07CiAjaWYgIUxPR19ESVNBQkxFRAogICAgIHNpemVfdCBtX2xhdGVG
cmFtZUNvdW50IHsgMCB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyLmNwcAppbmRleCA0OTMxNjg2
YjMxNTEyNzcxNjI1MDQ4ODhiNzE1ZTI4MWEyNzU5MjA2Li5mNTAxM2Y0YTBmNDkzYWYxYWI5NTI3
MThjOTM0MDg0Yzc1NWQyNmFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9NZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyLmNwcApAQCAtMzMs
NyArMzMsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBkb3VibGUg
cGVuZGluZ0FjdGlvbkludGVydmFsID0gMS4wIC8gMTAuMDsKK3N0YXRpYyBjb25zdCBTZWNvbmRz
IHBlbmRpbmdBY3Rpb25JbnRlcnZhbCB7IDEwMF9tcyB9OwogCiBNZWRpYVBsYXliYWNrVGFyZ2V0
UGlja2VyOjpNZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyKENsaWVudCYgY2xpZW50KQogICAgIDog
bV9jbGllbnQoJmNsaWVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL1NoYWRvd0JsdXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
U2hhZG93Qmx1ci5jcHAKaW5kZXggZjE3YjNmZmU3MzEzMDQwYWIyMWZmYzgwNTAzYjU5NDEzN2Ey
MzRiOC4uODdmNDVlNDYwZmRlMDljNGZmZWRlZDJmZTA1MTBkZDQ5ODMxNjVkYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2hhZG93Qmx1ci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2hhZG93Qmx1ci5jcHAKQEAgLTEyNCw3
ICsxMjQsNyBAQCBwdWJsaWM6CiAgICAgICAgIGlmIChtX3B1cmdlVGltZXIuaXNBY3RpdmUoKSkK
ICAgICAgICAgICAgIG1fcHVyZ2VUaW1lci5zdG9wKCk7CiAKLSAgICAgICAgY29uc3QgZG91Ymxl
IHNjcmF0Y2hCdWZmZXJQdXJnZUludGVydmFsID0gMjsKKyAgICAgICAgY29uc3QgU2Vjb25kcyBz
Y3JhdGNoQnVmZmVyUHVyZ2VJbnRlcnZhbCB7IDJfcyB9OwogICAgICAgICBtX3B1cmdlVGltZXIu
c3RhcnRPbmVTaG90KHNjcmF0Y2hCdWZmZXJQdXJnZUludGVydmFsKTsKICAgICB9CiAgICAgCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9MYXllclBvb2wu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvTGF5ZXJQb29sLmNwcApp
bmRleCAwY2Y3Zjc3ZTYxMWFkMmJkNGViMDcyMzUwMDE4YWRjNGJjZGI4NDVmLi4wY2M0ZmFjNThh
MzA0MmFiNjY4NGNlMTZiZTcwZDRjMjUwYWY5N2E3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9MYXllclBvb2wuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NhL0xheWVyUG9vbC5jcHAKQEAgLTExMCw3ICsxMTAsNyBAQCB2
b2lkIExheWVyUG9vbDo6c2NoZWR1bGVQcnVuZSgpCiB7CiAgICAgaWYgKG1fcHJ1bmVUaW1lci5p
c0FjdGl2ZSgpKQogICAgICAgICByZXR1cm47Ci0gICAgbV9wcnVuZVRpbWVyLnN0YXJ0T25lU2hv
dCgxKTsKKyAgICBtX3BydW5lVGltZXIuc3RhcnRPbmVTaG90KDFfcyk7CiB9CiAKIHZvaWQgTGF5
ZXJQb29sOjpwcnVuZVRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQ
cml2YXRlR1N0cmVhbWVyLmNwcAppbmRleCAwNDY2Zjc3MzFkOTM2NmQ5ZjM4NTA3ODE5MGFmNGU4
MGM4NzM3YWY2Li45ZDJhY2Q0ZTFlZDBiMjk3OGZlZWM0Y2M1MDhjZDQ5YjFmY2ZmMGU3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQ
bGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcApAQCAtMzcw
LDcgKzM3MCw3IEBAIGJvb2wgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpjaGFuZ2VQaXBl
bGluZVN0YXRlKEdzdFN0YXRlIG5ld1N0YXRlKQogICAgIGlmIChuZXdTdGF0ZSA9PSBHU1RfU1RB
VEVfUkVBRFkgJiYgIW1fcmVhZHlUaW1lckhhbmRsZXIuaXNBY3RpdmUoKSkgewogICAgICAgICAv
LyBNYXggaW50ZXJ2YWwgaW4gc2Vjb25kcyB0byBzdGF5IGluIHRoZSBSRUFEWSBzdGF0ZSBvbiBt
YW51YWwKICAgICAgICAgLy8gc3RhdGUgY2hhbmdlIHJlcXVlc3RzLgotICAgICAgICBzdGF0aWMg
Y29uc3QgZG91YmxlIHJlYWR5U3RhdGVUaW1lckRlbGF5ID0gNjA7CisgICAgICAgIHN0YXRpYyBj
b25zdCBTZWNvbmRzIHJlYWR5U3RhdGVUaW1lckRlbGF5IHsgMV9taW4gfTsKICAgICAgICAgbV9y
ZWFkeVRpbWVySGFuZGxlci5zdGFydE9uZVNob3QocmVhZHlTdGF0ZVRpbWVyRGVsYXkpOwogICAg
IH0gZWxzZSBpZiAobmV3U3RhdGUgIT0gR1NUX1NUQVRFX1JFQURZKQogICAgICAgICBtX3JlYWR5
VGltZXJIYW5kbGVyLnN0b3AoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL21hYy9HcmFwaGljc0NvbnRleHQzRE1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL21hYy9HcmFwaGljc0NvbnRleHQzRE1hYy5tbQppbmRleCA1NmJlMDZm
ZTQwMWZkNDU2OTg4ZmEyZmYxNWQ5NTMxYjEzNTYwZDY3Li4xYzRlNDM1OTM1YTFjYTQ2MjE0ZDM0
ODAwNTQwNTNjNTlmOGVmMDkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9tYWMvR3JhcGhpY3NDb250ZXh0M0RNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0dyYXBoaWNzQ29udGV4dDNETWFjLm1tCkBAIC0yNzgsOCAr
Mjc4LDggQEAgdm9pZCBHcmFwaGljc0NvbnRleHQzRE1hbmFnZXI6OnVwZGF0ZUhpZ2hQZXJmb3Jt
YW5jZVN0YXRlKCkKICAgICAgICAgICAgIExPRyhXZWJHTCwgIlNldCBhIHRpbWVyIHRvIHR1cm4g
b2ZmIGhpZ2gtcGVyZm9ybWFuY2UgR1BVLiIpOwogICAgICAgICAgICAgLy8gRklYTUU6IEV4cG9z
ZSB0aGlzIHZhbHVlIGFzIGEgU2V0dGluZywgd2hpY2ggd291bGQgcmVxdWlyZSB0aGlzIGNsYXNz
CiAgICAgICAgICAgICAvLyB0byByZWZlcmVuY2UgYSBmcmFtZSwgcGFnZSBvciBkb2N1bWVudC4K
LSAgICAgICAgICAgIHN0YXRpYyBjb25zdCBpbnQgdGltZVRvS2VlcEhpZ2hQZXJmb3JtYW5jZUdQ
VUFsaXZlSW5TZWNvbmRzID0gMTA7Ci0gICAgICAgICAgICBtX2Rpc2FibGVIaWdoUGVyZm9ybWFu
Y2VHUFVUaW1lci5zdGFydE9uZVNob3QodGltZVRvS2VlcEhpZ2hQZXJmb3JtYW5jZUdQVUFsaXZl
SW5TZWNvbmRzKTsKKyAgICAgICAgICAgIHN0YXRpYyBjb25zdCBTZWNvbmRzIHRpbWVUb0tlZXBI
aWdoUGVyZm9ybWFuY2VHUFVBbGl2ZSB7IDEwX3MgfTsKKyAgICAgICAgICAgIG1fZGlzYWJsZUhp
Z2hQZXJmb3JtYW5jZUdQVVRpbWVyLnN0YXJ0T25lU2hvdCh0aW1lVG9LZWVwSGlnaFBlcmZvcm1h
bmNlR1BVQWxpdmUpOwogICAgICAgICB9CiAgICAgfQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvQml0bWFwVGV4dHVyZVBvb2wuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0JpdG1hcFRleHR1cmVQ
b29sLmNwcAppbmRleCAwMGNjOGVlMzZkYzVhN2VlOTA4YzQ3YTc0MjNlYjdkZDNjNTg0ZjEwLi44
ZTM1ZmVmMGViNGYyMWI4N2UwM2Q4ZGYzYWNlMDc0NjFkNTBhOWVlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvQml0bWFwVGV4dHVyZVBvb2wuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9CaXRtYXBUZXh0
dXJlUG9vbC5jcHAKQEAgLTMzLDggKzMzLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1z
dGF0aWMgY29uc3QgZG91YmxlIHNfcmVsZWFzZVVudXNlZFNlY29uZHNUb2xlcmFuY2UgPSAzOwot
c3RhdGljIGNvbnN0IGRvdWJsZSBzX3JlbGVhc2VVbnVzZWRUZXh0dXJlc1RpbWVySW50ZXJ2YWwg
PSAwLjU7CitzdGF0aWMgY29uc3QgZG91YmxlIHJlbGVhc2VVbnVzZWRTZWNvbmRzVG9sZXJhbmNl
ID0gMzsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHJlbGVhc2VVbnVzZWRUZXh0dXJlc1RpbWVySW50
ZXJ2YWwgeyA1MDBfbXMgfTsKIAogI2lmIFVTRShURVhUVVJFX01BUFBFUl9HTCkKIEJpdG1hcFRl
eHR1cmVQb29sOjpCaXRtYXBUZXh0dXJlUG9vbChSZWZQdHI8R3JhcGhpY3NDb250ZXh0M0Q+JiYg
Y29udGV4dDNEKQpAQCAtNjYsMTMgKzY2LDEzIEBAIHZvaWQgQml0bWFwVGV4dHVyZVBvb2w6OnNj
aGVkdWxlUmVsZWFzZVVudXNlZFRleHR1cmVzKCkKICAgICBpZiAobV9yZWxlYXNlVW51c2VkVGV4
dHVyZXNUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX3JlbGVhc2VV
bnVzZWRUZXh0dXJlc1RpbWVyLnN0YXJ0T25lU2hvdChzX3JlbGVhc2VVbnVzZWRUZXh0dXJlc1Rp
bWVySW50ZXJ2YWwpOworICAgIG1fcmVsZWFzZVVudXNlZFRleHR1cmVzVGltZXIuc3RhcnRPbmVT
aG90KHJlbGVhc2VVbnVzZWRUZXh0dXJlc1RpbWVySW50ZXJ2YWwpOwogfQogCiB2b2lkIEJpdG1h
cFRleHR1cmVQb29sOjpyZWxlYXNlVW51c2VkVGV4dHVyZXNUaW1lckZpcmVkKCkKIHsKLSAgICAv
LyBEZWxldGUgZW50cmllcywgd2hpY2ggaGF2ZSBiZWVuIHVudXNlZCBpbiBzX3JlbGVhc2VVbnVz
ZWRTZWNvbmRzVG9sZXJhbmNlLgotICAgIGRvdWJsZSBtaW5Vc2VkVGltZSA9IG1vbm90b25pY2Fs
bHlJbmNyZWFzaW5nVGltZSgpIC0gc19yZWxlYXNlVW51c2VkU2Vjb25kc1RvbGVyYW5jZTsKKyAg
ICAvLyBEZWxldGUgZW50cmllcywgd2hpY2ggaGF2ZSBiZWVuIHVudXNlZCBpbiByZWxlYXNlVW51
c2VkU2Vjb25kc1RvbGVyYW5jZS4KKyAgICBkb3VibGUgbWluVXNlZFRpbWUgPSBtb25vdG9uaWNh
bGx5SW5jcmVhc2luZ1RpbWUoKSAtIHJlbGVhc2VVbnVzZWRTZWNvbmRzVG9sZXJhbmNlOwogCiAg
ICAgaWYgKCFtX3RleHR1cmVzLmlzRW1wdHkoKSkgewogICAgICAgICBzdGQ6OnNvcnQobV90ZXh0
dXJlcy5iZWdpbigpLCBtX3RleHR1cmVzLmVuZCgpLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVyUHJv
eHkuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVN
YXBwZXJQbGF0Zm9ybUxheWVyUHJveHkuY3BwCmluZGV4IDRkYjc0ODI0OTk2N2M4OTA1MmNlZDBl
ZTRhMjMwYmVkYWU2YTA3ZjguLmRjM2U3NDdlZWRkYjZlNzViOGExZjkzM2EyNjYzMTZhMjhiYzNm
NTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9U
ZXh0dXJlTWFwcGVyUGxhdGZvcm1MYXllclByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXJQcm94eS5j
cHAKQEAgLTM3LDggKzM3LDggQEAKICNpbmNsdWRlIDx3dGYvZ2xpYi9SdW5Mb29wU291cmNlUHJp
b3JpdHkuaD4KICNlbmRpZgogCi1jb25zdCBkb3VibGUgc19yZWxlYXNlVW51c2VkU2Vjb25kc1Rv
bGVyYW5jZSA9IDE7Ci1jb25zdCBkb3VibGUgc19yZWxlYXNlVW51c2VkQnVmZmVyc1RpbWVySW50
ZXJ2YWwgPSAwLjU7CitzdGF0aWMgY29uc3QgZG91YmxlIHJlbGVhc2VVbnVzZWRTZWNvbmRzVG9s
ZXJhbmNlID0gMTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHJlbGVhc2VVbnVzZWRCdWZmZXJzVGlt
ZXJJbnRlcnZhbCA9IHsgNTAwX21zIH07CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMTQ0
LDcgKzE0NCw3IEBAIHN0ZDo6dW5pcXVlX3B0cjxUZXh0dXJlTWFwcGVyUGxhdGZvcm1MYXllckJ1
ZmZlcj4gVGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXJQcm94CiB2b2lkIFRleHR1cmVNYXBwZXJQ
bGF0Zm9ybUxheWVyUHJveHk6OnNjaGVkdWxlUmVsZWFzZVVudXNlZEJ1ZmZlcnMoKQogewogICAg
IGlmICghbV9yZWxlYXNlVW51c2VkQnVmZmVyc1RpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1f
cmVsZWFzZVVudXNlZEJ1ZmZlcnNUaW1lci5zdGFydE9uZVNob3Qoc19yZWxlYXNlVW51c2VkQnVm
ZmVyc1RpbWVySW50ZXJ2YWwpOworICAgICAgICBtX3JlbGVhc2VVbnVzZWRCdWZmZXJzVGltZXIu
c3RhcnRPbmVTaG90KHJlbGVhc2VVbnVzZWRCdWZmZXJzVGltZXJJbnRlcnZhbCk7CiB9CiAKIHZv
aWQgVGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXJQcm94eTo6cmVsZWFzZVVudXNlZEJ1ZmZlcnNU
aW1lckZpcmVkKCkKQEAgLTE1NCw3ICsxNTQsNyBAQCB2b2lkIFRleHR1cmVNYXBwZXJQbGF0Zm9y
bUxheWVyUHJveHk6OnJlbGVhc2VVbnVzZWRCdWZmZXJzVGltZXJGaXJlZCgpCiAgICAgICAgIHJl
dHVybjsKIAogICAgIGF1dG8gYnVmZmVycyA9IFdURk1vdmUobV91c2VkQnVmZmVycyk7Ci0gICAg
ZG91YmxlIG1pblVzZWRUaW1lID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkgLSBzX3Jl
bGVhc2VVbnVzZWRTZWNvbmRzVG9sZXJhbmNlOworICAgIGRvdWJsZSBtaW5Vc2VkVGltZSA9IG1v
bm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpIC0gcmVsZWFzZVVudXNlZFNlY29uZHNUb2xlcmFu
Y2U7CiAKICAgICBmb3IgKGF1dG8mIGJ1ZmZlciA6IGJ1ZmZlcnMpIHsKICAgICAgICAgaWYgKGJ1
ZmZlciAmJiBidWZmZXItPmxhc3RVc2VkVGltZSgpID49IG1pblVzZWRUaW1lKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nv
b3JkaW5hdGVkSW1hZ2VCYWNraW5nLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEltYWdlQmFja2luZy5jcHAKaW5kZXgg
M2Y1NjczZThmZDUzNjVmMDhjZmQ2OWVmYzNmYWFlYzQzMjMzNmE2MS4uZjUyOTQ3NTVhMjMzNjU1
YzMwNjY1NzFjZjYzOWJlY2I1MGMwMzA1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkSW1hZ2VCYWNraW5n
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRp
bmF0ZWQvQ29vcmRpbmF0ZWRJbWFnZUJhY2tpbmcuY3BwCkBAIC0xNDQsNyArMTQ0LDcgQEAgdm9p
ZCBDb29yZGluYXRlZEltYWdlQmFja2luZzo6cmVsZWFzZVN1cmZhY2VJZk5lZWRlZCgpCiAgICAg
bV9zdXJmYWNlID0gbnVsbHB0cjsKIH0KIAotc3RhdGljIGNvbnN0IGRvdWJsZSBjbGVhckNvbnRl
bnRzVGltZXJJbnRlcnZhbCA9IDM7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBjbGVhckNvbnRlbnRz
VGltZXJJbnRlcnZhbCB7IDNfcyB9OwogCiB2b2lkIENvb3JkaW5hdGVkSW1hZ2VCYWNraW5nOjp1
cGRhdGVWaXNpYmlsaXR5SWZOZWVkZWQoYm9vbCYgY2hhbmdlZFRvVmlzaWJsZSkKIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9TY3JvbGxBbmltYXRvckd0ay5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvU2Nyb2xsQW5pbWF0b3JHdGsuY3BwCmluZGV4
IDQ0ZTQ3MzQ4MmRmYWEyMDM4OTQ2N2M3MmVjOTMwMDc4ZDVhODBjNTkuLjQwNWUzZTZlNmM4N2Yy
ZjQ1ODA3NjIzOWRhODFiNTA0M2MzNzMyODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2d0ay9TY3JvbGxBbmltYXRvckd0ay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3RrL1Njcm9sbEFuaW1hdG9yR3RrLmNwcApAQCAtMzgsOCArMzgsOCBAQAogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBkb3VibGUgb3ZlcmZsb3dTY3JvbGxiYXJz
QW5pbWF0aW9uRHVyYXRpb24gPSAxOwotc3RhdGljIGNvbnN0IGRvdWJsZSBvdmVyZmxvd1Njcm9s
bGJhcnNBbmltYXRpb25IaWRlRGVsYXkgPSAyOworc3RhdGljIGNvbnN0IFNlY29uZHMgb3ZlcmZs
b3dTY3JvbGxiYXJzQW5pbWF0aW9uRHVyYXRpb24geyAxX3MgfTsKK3N0YXRpYyBjb25zdCBTZWNv
bmRzIG92ZXJmbG93U2Nyb2xsYmFyc0FuaW1hdGlvbkhpZGVEZWxheSB7IDJfcyB9OwogCiBzdGQ6
OnVuaXF1ZV9wdHI8U2Nyb2xsQW5pbWF0b3I+IFNjcm9sbEFuaW1hdG9yOjpjcmVhdGUoU2Nyb2xs
YWJsZUFyZWEmIHNjcm9sbGFibGVBcmVhKQogewpAQCAtMTc2LDEwICsxNzYsMTAgQEAgdm9pZCBT
Y3JvbGxBbmltYXRvckd0azo6b3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvblRpbWVyRmlyZWQoKQog
ICAgIGlmIChtX292ZXJsYXlTY3JvbGxiYXJzTG9ja2VkKQogICAgICAgICByZXR1cm47CiAKLSAg
ICBkb3VibGUgY3VycmVudFRpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKKyAg
ICBNb25vdG9uaWNUaW1lIGN1cnJlbnRUaW1lID0gTW9ub3RvbmljVGltZTo6bm93KCk7CiAgICAg
ZG91YmxlIHByb2dyZXNzID0gMTsKICAgICBpZiAoY3VycmVudFRpbWUgPCBtX292ZXJsYXlTY3Jv
bGxiYXJBbmltYXRpb25FbmRUaW1lKQotICAgICAgICBwcm9ncmVzcyA9IChjdXJyZW50VGltZSAt
IG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvblN0YXJ0VGltZSkgLyAobV9vdmVybGF5U2Nyb2xs
YmFyQW5pbWF0aW9uRW5kVGltZSAtIG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvblN0YXJ0VGlt
ZSk7CisgICAgICAgIHByb2dyZXNzID0gKGN1cnJlbnRUaW1lIC0gbV9vdmVybGF5U2Nyb2xsYmFy
QW5pbWF0aW9uU3RhcnRUaW1lKS5zZWNvbmRzU2luY2VFcG9jaCgpLnZhbHVlKCkgLyAobV9vdmVy
bGF5U2Nyb2xsYmFyQW5pbWF0aW9uRW5kVGltZSAtIG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlv
blN0YXJ0VGltZSkuc2Vjb25kc1NpbmNlRXBvY2goKS52YWx1ZSgpOwogICAgIHByb2dyZXNzID0g
bV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uU291cmNlICsgKGVhc2VPdXRDdWJpYyhwcm9ncmVz
cykgKiAobV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uVGFyZ2V0IC0gbV9vdmVybGF5U2Nyb2xs
YmFyQW5pbWF0aW9uU291cmNlKSk7CiAgICAgaWYgKHByb2dyZXNzICE9IG1fb3ZlcmxheVNjcm9s
bGJhckFuaW1hdGlvbkN1cnJlbnQpIHsKICAgICAgICAgbV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0
aW9uQ3VycmVudCA9IHByb2dyZXNzOwpAQCAtMTg4LDkgKzE4OCw5IEBAIHZvaWQgU2Nyb2xsQW5p
bWF0b3JHdGs6Om92ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25UaW1lckZpcmVkKCkKIAogICAgIGlm
IChtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25DdXJyZW50ICE9IG1fb3ZlcmxheVNjcm9sbGJh
ckFuaW1hdGlvblRhcmdldCkgewogICAgICAgICBzdGF0aWMgY29uc3QgZG91YmxlIGZyYW1lUmF0
ZSA9IDYwOwotICAgICAgICBzdGF0aWMgY29uc3QgZG91YmxlIHRpY2tUaW1lID0gMSAvIGZyYW1l
UmF0ZTsKLSAgICAgICAgc3RhdGljIGNvbnN0IGRvdWJsZSBtaW5pbXVtVGltZXJJbnRlcnZhbCA9
IC4wMDE7Ci0gICAgICAgIGRvdWJsZSBkZWx0YVRvTmV4dEZyYW1lID0gc3RkOjptYXgodGlja1Rp
bWUgLSAobW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkgLSBjdXJyZW50VGltZSksIG1pbmlt
dW1UaW1lckludGVydmFsKTsKKyAgICAgICAgc3RhdGljIGNvbnN0IFNlY29uZHMgdGlja1RpbWUg
PSAxX3MgLyBmcmFtZVJhdGU7CisgICAgICAgIHN0YXRpYyBjb25zdCBTZWNvbmRzIG1pbmltdW1U
aW1lckludGVydmFsID0gMV9tczsKKyAgICAgICAgU2Vjb25kcyBkZWx0YVRvTmV4dEZyYW1lID0g
c3RkOjptYXgodGlja1RpbWUgLSAoTW9ub3RvbmljVGltZTo6bm93KCkgLSBjdXJyZW50VGltZSks
IG1pbmltdW1UaW1lckludGVydmFsKTsKICAgICAgICAgbV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0
aW9uVGltZXIuc3RhcnRPbmVTaG90KGRlbHRhVG9OZXh0RnJhbWUpOwogICAgIH0gZWxzZQogICAg
ICAgICBoaWRlT3ZlcmxheVNjcm9sbGJhcnMoKTsKQEAgLTIxMSw3ICsyMTEsNyBAQCB2b2lkIFNj
cm9sbEFuaW1hdG9yR3RrOjpzaG93T3ZlcmxheVNjcm9sbGJhcnMoKQogICAgIG1fb3ZlcmxheVNj
cm9sbGJhckFuaW1hdGlvblNvdXJjZSA9IG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvbkN1cnJl
bnQ7CiAgICAgbV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uVGFyZ2V0ID0gMTsKICAgICBpZiAo
bV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uVGFyZ2V0ICE9IG1fb3ZlcmxheVNjcm9sbGJhckFu
aW1hdGlvbkN1cnJlbnQpIHsKLSAgICAgICAgbV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uU3Rh
cnRUaW1lID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7CisgICAgICAgIG1fb3Zlcmxh
eVNjcm9sbGJhckFuaW1hdGlvblN0YXJ0VGltZSA9IE1vbm90b25pY1RpbWU6Om5vdygpOwogICAg
ICAgICBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25FbmRUaW1lID0gbV9vdmVybGF5U2Nyb2xs
YmFyQW5pbWF0aW9uU3RhcnRUaW1lICsgb3ZlcmZsb3dTY3JvbGxiYXJzQW5pbWF0aW9uRHVyYXRp
b247CiAgICAgICAgIG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvblRpbWVyLnN0YXJ0T25lU2hv
dCgwX3MpOwogICAgIH0gZWxzZQpAQCAtMjMxLDcgKzIzMSw3IEBAIHZvaWQgU2Nyb2xsQW5pbWF0
b3JHdGs6OmhpZGVPdmVybGF5U2Nyb2xsYmFycygpCiAgICAgbV9vdmVybGF5U2Nyb2xsYmFyQW5p
bWF0aW9uVGFyZ2V0ID0gMDsKICAgICBpZiAobV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uVGFy
Z2V0ID09IG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvbkN1cnJlbnQpCiAgICAgICAgIHJldHVy
bjsKLSAgICBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25TdGFydFRpbWUgPSBtb25vdG9uaWNh
bGx5SW5jcmVhc2luZ1RpbWUoKSArIG92ZXJmbG93U2Nyb2xsYmFyc0FuaW1hdGlvbkhpZGVEZWxh
eTsKKyAgICBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25TdGFydFRpbWUgPSBNb25vdG9uaWNU
aW1lOjpub3coKSArIG92ZXJmbG93U2Nyb2xsYmFyc0FuaW1hdGlvbkhpZGVEZWxheTsKICAgICBt
X292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25FbmRUaW1lID0gbV9vdmVybGF5U2Nyb2xsYmFyQW5p
bWF0aW9uU3RhcnRUaW1lICsgb3ZlcmZsb3dTY3JvbGxiYXJzQW5pbWF0aW9uRHVyYXRpb24gKyBv
dmVyZmxvd1Njcm9sbGJhcnNBbmltYXRpb25IaWRlRGVsYXk7CiAgICAgbV9vdmVybGF5U2Nyb2xs
YmFyQW5pbWF0aW9uVGltZXIuc3RhcnRPbmVTaG90KG92ZXJmbG93U2Nyb2xsYmFyc0FuaW1hdGlv
bkhpZGVEZWxheSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsv
U2Nyb2xsQW5pbWF0b3JHdGsuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9TY3JvbGxB
bmltYXRvckd0ay5oCmluZGV4IDcwZTViNzNmOWRlMTNkMjEwY2I5OTNlZTkzNTdkNzM5MmRkMzIy
YTguLmM0MjUzZTVhZGI5MWY3MDQxMzMwNDY4NDFjMjk3NGJmN2RkOGNlY2QgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9TY3JvbGxBbmltYXRvckd0ay5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9TY3JvbGxBbmltYXRvckd0ay5oCkBAIC04MCw4ICs4
MCw4IEBAIHByaXZhdGU6CiAgICAgZG91YmxlIG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvblNv
dXJjZSB7IDAgfTsKICAgICBkb3VibGUgbV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uVGFyZ2V0
IHsgMCB9OwogICAgIGRvdWJsZSBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25DdXJyZW50IHsg
MCB9OwotICAgIGRvdWJsZSBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25TdGFydFRpbWUgeyAw
IH07Ci0gICAgZG91YmxlIG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvbkVuZFRpbWUgeyAwIH07
CisgICAgTW9ub3RvbmljVGltZSBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25TdGFydFRpbWU7
CisgICAgTW9ub3RvbmljVGltZSBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25FbmRUaW1lOwog
fTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0Lm1tIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0Lm1t
CmluZGV4IGYzZmMyYWUyODQ4ZjQ5NzcxOTg1MGE5OThmZDBjOTkzZmIwNzQ1NGEuLjNkYjNjMDI1
ZWJjM2ZjZGY4MzkwZjU3NTljNWU0MjMwODkwYzk3ZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdC5tbQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNl
QVZLaXQubW0KQEAgLTgyLDcgKzgyLDcgQEAgc3RhdGljIGNvbnN0IGNoYXIqIGJvb2xTdHJpbmco
Ym9vbCB2YWwpCiB9CiAjZW5kaWYKIAotc3RhdGljIGNvbnN0IGRvdWJsZSBEZWZhdWx0V2F0Y2hk
b2dUaW1lckludGVydmFsID0gMTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIGRlZmF1bHRXYXRjaGRv
Z1RpbWVySW50ZXJ2YWwgeyAxX3MgfTsKIAogQGNsYXNzIFdlYkFWTWVkaWFTZWxlY3Rpb25PcHRp
b247CiAKQEAgLTk4Niw3ICs5ODYsNyBAQCBib29sIFdlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFj
ZUFWS2l0OjpzaG91bGRFeGl0RnVsbHNjcmVlbldpdGhSZWFzb24oV2ViVmlkZW9GdQogICAgIG1f
dmlkZW9GdWxsc2NyZWVuTW9kZWwtPnJlcXVlc3RGdWxsc2NyZWVuTW9kZShIVE1MTWVkaWFFbGVt
ZW50RW51bXM6OlZpZGVvRnVsbHNjcmVlbk1vZGVOb25lLCByZWFzb24gPT0gRXhpdEZ1bGxTY3Jl
ZW5SZWFzb246OkRvbmVCdXR0b25UYXBwZWQpOwogCiAgICAgaWYgKCFtX3dhdGNoZG9nVGltZXIu
aXNBY3RpdmUoKSkKLSAgICAgICAgbV93YXRjaGRvZ1RpbWVyLnN0YXJ0T25lU2hvdChEZWZhdWx0
V2F0Y2hkb2dUaW1lckludGVydmFsKTsKKyAgICAgICAgbV93YXRjaGRvZ1RpbWVyLnN0YXJ0T25l
U2hvdChkZWZhdWx0V2F0Y2hkb2dUaW1lckludGVydmFsKTsKIAogICAgIHJldHVybiBmYWxzZTsK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRv
ck1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5t
bQppbmRleCA5NjI0ZDA1ZDE4ZTZmZDI1NmU3YWU5MTEyNjkzYTU0MDE4ODIwNTQ4Li4wZGEzNDli
ZmZhZjFmMWFjOTg4ODc2NWE5YzBiODc2MWNjYzY0ZGZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMubW0KKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWFjL1Njcm9sbEFuaW1hdG9yTWFjLm1tCkBAIC0xMzM4LDcgKzEzMzgsNyBA
QCB2b2lkIFNjcm9sbEFuaW1hdG9yTWFjOjp1cGRhdGVTY3JvbGxlclN0eWxlKCkKIAogdm9pZCBT
Y3JvbGxBbmltYXRvck1hYzo6c3RhcnRTY3JvbGxiYXJQYWludFRpbWVyKCkKIHsKLSAgICBtX2lu
aXRpYWxTY3JvbGxiYXJQYWludFRpbWVyLnN0YXJ0T25lU2hvdCgwLjEpOworICAgIG1faW5pdGlh
bFNjcm9sbGJhclBhaW50VGltZXIuc3RhcnRPbmVTaG90KDEwMF9tcyk7CiB9CiAKIGJvb2wgU2Ny
b2xsQW5pbWF0b3JNYWM6OnNjcm9sbGJhclBhaW50VGltZXJJc0FjdGl2ZSgpIGNvbnN0CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01lZGlhUGxheWJhY2tUYXJnZXRQ
aWNrZXJNb2NrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTWVkaWFQbGF5YmFj
a1RhcmdldFBpY2tlck1vY2suY3BwCmluZGV4IDFhNjBjYTI0YmJjNjA5NmI3YTk1ZTIxMDY2MDQ5
NTEyZmUyZjI1NWIuLjVhYWE4NGRjOWEwYWNjMjkwNmZiMDkzZTFiZjgyNGI2ZTc5ODBjMzMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTWVkaWFQbGF5YmFja1Rhcmdl
dFBpY2tlck1vY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTWVkaWFQ
bGF5YmFja1RhcmdldFBpY2tlck1vY2suY3BwCkBAIC0zNyw3ICszNyw3IEBAIHVzaW5nIG5hbWVz
cGFjZSBXZWJDb3JlOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBkb3Vi
bGUgdGltZXJJbnRlcnZhbCA9IDEuMCAvIDEwLjA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyB0aW1l
ckludGVydmFsIHsgMTAwX21zIH07CiAKIE1lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXJNb2NrOjpN
ZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyTW9jayhNZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyOjpD
bGllbnQmIGNsaWVudCkKICAgICA6IE1lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXIoY2xpZW50KQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9QbGF0Zm9ybVNwZWVjaFN5
bnRoZXNpemVyTW9jay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1BsYXRmb3Jt
U3BlZWNoU3ludGhlc2l6ZXJNb2NrLmNwcAppbmRleCBmM2JjNzFjMGY3MzNkMjgzM2VjMzQ4NWU4
OTQ5NDQ4ZDM4ZGQzZjExLi42N2Y5N2RkNjFjZGQ2MzFlYWM5OGNlYTBkOTQ2MjM2MDIyNzllMGJk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1BsYXRmb3JtU3BlZWNo
U3ludGhlc2l6ZXJNb2NrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1Bs
YXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrLmNwcApAQCAtNjgsNyArNjgsNyBAQCB2b2lkIFBs
YXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrOjpzcGVhayhSZWZQdHI8UGxhdGZvcm1TcGVlY2hT
eW50aGVzaXNVdHRlcmFuYwogICAgIGNsaWVudCgpLT5ib3VuZGFyeUV2ZW50T2NjdXJyZWQoKm1f
dXR0ZXJhbmNlLCBTcGVlY2hTZW50ZW5jZUJvdW5kYXJ5LCBtX3V0dGVyYW5jZS0+dGV4dCgpLmxl
bmd0aCgpKTsKIAogICAgIC8vIEdpdmUgdGhlIGZha2Ugc3BlZWNoIGpvYiBzb21lIHRpbWUgc28g
dGhhdCBwYXVzZSBhbmQgb3RoZXIgZnVuY3Rpb25zIGhhdmUgdGltZSB0byBiZSBjYWxsZWQuCi0g
ICAgbV9zcGVha2luZ0ZpbmlzaGVkVGltZXIuc3RhcnRPbmVTaG90KC4xKTsKKyAgICBtX3NwZWFr
aW5nRmluaXNoZWRUaW1lci5zdGFydE9uZVNob3QoMTAwX21zKTsKIH0KIAogdm9pZCBQbGF0Zm9y
bVNwZWVjaFN5bnRoZXNpemVyTW9jazo6Y2FuY2VsKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21vY2svVGltZXJFdmVudEJhc2VkTW9jay5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbW9jay9UaW1lckV2ZW50QmFzZWRNb2NrLmgKaW5kZXggZGUwZThhOWZkNjU5NmIy
ZTJhYjczNzAzMDQ3ZGU1ZWQzN2ZmZWNhYy4uZGRjZDI3NWE4MmQ0MmI0NjFmODQ1ZDMzNDRmZGUx
Yjk0MDhlNGYyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9UaW1l
ckV2ZW50QmFzZWRNb2NrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9UaW1l
ckV2ZW50QmFzZWRNb2NrLmgKQEAgLTYzLDcgKzYzLDcgQEAgcHVibGljOgogICAgICAgICAsIG1f
dGltZXIoKnRoaXMsICZUaW1lckV2ZW50Ojp0aW1lckZpcmVkKQogICAgICAgICAsIG1fbm90aWZp
ZXIobm90aWZpZXIpCiAgICAgewotICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwLjUpOwor
ICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCg1MDBfbXMpOwogICAgIH0KIAogICAgIHZpcnR1
YWwgflRpbWVyRXZlbnQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9ETlNSZXNvbHZlUXVldWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9ETlNSZXNvbHZlUXVldWUuY3BwCmluZGV4IDU4NzczYWEzMzI5MWNhN2E2ODk1NzU4NmVlODIw
M2M2YmFjMmNmZjMuLmE4YzJkZjQwYzNiZmJhYzVmNWMzOTI5YmNhMzM5MzAwZjBhMDI2MTggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRE5TUmVzb2x2ZVF1ZXVl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0ROU1Jlc29sdmVRdWV1
ZS5jcHAKQEAgLTM3LDcgKzM3LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogc3RhdGljIGNvbnN0
IGludCBnTmFtZXNUb1Jlc29sdmVJbW1lZGlhdGVseSA9IDQ7CiAKIC8vIENvYWxlc2NlIHByZWZl
dGNoIHJlcXVlc3RzIGZvciB0aGlzIGxvbmcgYmVmb3JlIHNlbmRpbmcgdGhlbSBvdXQuCi1zdGF0
aWMgY29uc3QgZG91YmxlIGdDb2FsZXNjZURlbGF5SW5TZWNvbmRzID0gMS4wOworc3RhdGljIGNv
bnN0IFNlY29uZHMgY29hbGVzY2VEZWxheSB7IDFfcyB9OwogCiAvLyBTZW5kaW5nIG1hbnkgRE5T
IHJlcXVlc3RzIGF0IG9uY2UgY2FuIG92ZXJ3aGVsbSBzb21lIGdhdGV3YXlzLiBTZWUgPHJkYXI6
Ly84MTA1NTUwPiBmb3Igc3BlY2lmaWMgQ0ZORVQgaXNzdWVzIHdpdGggQ0ZIb3N0IHRocm90dGxp
bmcuCiBzdGF0aWMgY29uc3QgaW50IGdNYXhTaW11bHRhbmVvdXNSZXF1ZXN0cyA9IDg7CkBAIC00
OCw3ICs0OCw3IEBAIHN0YXRpYyBjb25zdCBpbnQgZ01heFNpbXVsdGFuZW91c1JlcXVlc3RzID0g
ODsKIHN0YXRpYyBjb25zdCBpbnQgZ01heFJlcXVlc3RzVG9RdWV1ZSA9IDY0OwogCiAvLyBJZiB0
aGVyZSB3ZXJlIHF1ZXVlZCBuYW1lcyB0aGF0IGNvdWxkbid0IGJlIHNlbnQgc2ltdWx0YW5lb3Vz
bHksIGNoZWNrIHRoZSBzdGF0ZSBvZiByZXNvbHZlcnMgYWZ0ZXIgdGhpcyBkZWxheS4KLXN0YXRp
YyBjb25zdCBkb3VibGUgZ1JldHJ5UmVzb2x2aW5nSW5TZWNvbmRzID0gMC4xOworc3RhdGljIGNv
bnN0IFNlY29uZHMgcmVzb2x2aW5nUmV0cnlEZWxheSB7IDEwMF9tcyB9OwogCiBETlNSZXNvbHZl
UXVldWUmIEROU1Jlc29sdmVRdWV1ZTo6c2luZ2xldG9uKCkKIHsKQEAgLTEwMSw3ICsxMDEsNyBA
QCB2b2lkIEROU1Jlc29sdmVRdWV1ZTo6YWRkKGNvbnN0IFN0cmluZyYgaG9zdG5hbWUpCiAgICAg
aWYgKG1fbmFtZXMuc2l6ZSgpIDwgZ01heFJlcXVlc3RzVG9RdWV1ZSkgewogICAgICAgICBtX25h
bWVzLmFkZChob3N0bmFtZSk7CiAgICAgICAgIGlmICghbV90aW1lci5pc0FjdGl2ZSgpKQotICAg
ICAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoZ0NvYWxlc2NlRGVsYXlJblNlY29uZHMpOwor
ICAgICAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoY29hbGVzY2VEZWxheSk7CiAgICAgfQog
fQogCkBAIC0xMjIsNyArMTIyLDcgQEAgdm9pZCBETlNSZXNvbHZlUXVldWU6OnRpbWVyRmlyZWQo
KQogICAgIH0KIAogICAgIGlmICghbV9uYW1lcy5pc0VtcHR5KCkpCi0gICAgICAgIG1fdGltZXIu
c3RhcnRPbmVTaG90KGdSZXRyeVJlc29sdmluZ0luU2Vjb25kcyk7CisgICAgICAgIG1fdGltZXIu
c3RhcnRPbmVTaG90KHJlc29sdmluZ1JldHJ5RGVsYXkpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1BpbmdI
YW5kbGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUGluZ0hhbmRsZS5oCmlu
ZGV4IDE3YzU0ZTA5NjlkNjNiZGQwZTAzZjdiZmVlNDg0MzNkNzQ1NWFhMmQuLmNiYWZjMDkzNTY5
ZmVlMTM3OGQ4MzNkMzY3ZjM0NjRhOWM0NThiNjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvUGluZ0hhbmRsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvUGluZ0hhbmRsZS5oCkBAIC01Myw3ICs1Myw3IEBAIHB1YmxpYzoKIAogICAg
ICAgICAvLyBJZiB0aGUgc2VydmVyIG5ldmVyIHJlc3BvbmRzLCB0aGlzIG9iamVjdCB3aWxsIGhh
bmcgYXJvdW5kIGZvcmV2ZXIuCiAgICAgICAgIC8vIFNldCBhIHZlcnkgZ2VuZXJvdXMgdGltZW91
dCwganVzdCBpbiBjYXNlLgotICAgICAgICBtX3RpbWVvdXRUaW1lci5zdGFydE9uZVNob3QoNjAw
MDApOworICAgICAgICBtX3RpbWVvdXRUaW1lci5zdGFydE9uZVNob3QoNjAwMDBfcyk7CiAgICAg
fQogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9jdXJsL1Jlc291cmNlSGFuZGxlTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL2N1cmwvUmVzb3VyY2VIYW5kbGVNYW5hZ2VyLmNwcAppbmRleCBhZmJhNTVmNmZl
MjE0MGRkZmYzN2I1ZWQxZjk5NmUwZTdiNzg2NmY5Li5jYWNmYmI1NzVlOThiODUwYjAyYjBhZDMz
MzEwZWVjOGFlZTQxOTMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL2N1cmwvUmVzb3VyY2VIYW5kbGVNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL2N1cmwvUmVzb3VyY2VIYW5kbGVNYW5hZ2VyLmNwcApAQCAtODMsNyAr
ODMsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjb25zdCBpbnQgc2VsZWN0VGltZW91dE1T
ID0gNTsKLWNvbnN0IGRvdWJsZSBwb2xsVGltZVNlY29uZHMgPSAwLjA1Oworc3RhdGljIGNvbnN0
IFNlY29uZHMgcG9sbFRpbWUgeyA1MF9tcyB9OwogY29uc3QgaW50IG1heFJ1bm5pbmdKb2JzID0g
MTI4OwogY29uc3QgY2hhciogY29uc3QgZXJyb3JEb21haW5DdXJsID0gIkN1cmxFcnJvckRvbWFp
biI7CiAKQEAgLTcyNyw3ICs3MjcsNyBAQCB2b2lkIFJlc291cmNlSGFuZGxlTWFuYWdlcjo6ZG93
bmxvYWRUaW1lckNhbGxiYWNrKCkKICAgICBib29sIHN0YXJ0ZWQgPSBzdGFydFNjaGVkdWxlZEpv
YnMoKTsgLy8gbmV3IGpvYnMgbWlnaHQgaGF2ZSBiZWVuIGFkZGVkIGluIHRoZSBtZWFudGltZQog
CiAgICAgaWYgKCFtX2Rvd25sb2FkVGltZXIuaXNBY3RpdmUoKSAmJiAoc3RhcnRlZCB8fCAocnVu
bmluZ0hhbmRsZXMgPiAwKSkpCi0gICAgICAgIG1fZG93bmxvYWRUaW1lci5zdGFydE9uZVNob3Qo
cG9sbFRpbWVTZWNvbmRzKTsKKyAgICAgICAgbV9kb3dubG9hZFRpbWVyLnN0YXJ0T25lU2hvdChw
b2xsVGltZSk7CiB9CiAKIHZvaWQgUmVzb3VyY2VIYW5kbGVNYW5hZ2VyOjpzZXRQcm94eUluZm8o
Y29uc3QgU3RyaW5nJiBob3N0LApAQCAtODc3LDcgKzg3Nyw3IEBAIHZvaWQgUmVzb3VyY2VIYW5k
bGVNYW5hZ2VyOjphZGQoUmVzb3VyY2VIYW5kbGUqIGpvYikKICAgICBqb2ItPnJlZigpOwogICAg
IG1fcmVzb3VyY2VIYW5kbGVMaXN0LmFwcGVuZChqb2IpOwogICAgIGlmICghbV9kb3dubG9hZFRp
bWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fZG93bmxvYWRUaW1lci5zdGFydE9uZVNob3QocG9s
bFRpbWVTZWNvbmRzKTsKKyAgICAgICAgbV9kb3dubG9hZFRpbWVyLnN0YXJ0T25lU2hvdChwb2xs
VGltZSk7CiB9CiAKIGJvb2wgUmVzb3VyY2VIYW5kbGVNYW5hZ2VyOjpyZW1vdmVTY2hlZHVsZWRK
b2IoUmVzb3VyY2VIYW5kbGUqIGpvYikKQEAgLTEyMzgsNyArMTIzOCw3IEBAIHZvaWQgUmVzb3Vy
Y2VIYW5kbGVNYW5hZ2VyOjpjYW5jZWwoUmVzb3VyY2VIYW5kbGUqIGpvYikKICAgICBSZXNvdXJj
ZUhhbmRsZUludGVybmFsKiBkID0gam9iLT5nZXRJbnRlcm5hbCgpOwogICAgIGQtPm1fY2FuY2Vs
bGVkID0gdHJ1ZTsKICAgICBpZiAoIW1fZG93bmxvYWRUaW1lci5pc0FjdGl2ZSgpKQotICAgICAg
ICBtX2Rvd25sb2FkVGltZXIuc3RhcnRPbmVTaG90KHBvbGxUaW1lU2Vjb25kcyk7CisgICAgICAg
IG1fZG93bmxvYWRUaW1lci5zdGFydE9uZVNob3QocG9sbFRpbWUpOwogfQogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L21hYy9OZXR3b3JrU3RhdGVOb3RpZmllck1hYy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL21hYy9OZXR3b3JrU3RhdGVOb3RpZmllck1hYy5jcHAKaW5kZXggNTVhZGUyMThj
MTM4ODhjMGNjMjZlYmVjYjc5MjYzZGNhNzAwOTE2ZC4uOTEyZjY3YmYxODY2ZDQ0NmNkZWU1Zjc4
OGZjYzYzMjg5Y2UxZTUxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9tYWMvTmV0d29ya1N0YXRlTm90aWZpZXJNYWMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvbWFjL05ldHdvcmtTdGF0ZU5vdGlmaWVyTWFjLmNwcApAQCAtMzEs
NyArMzEsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBkb3VibGUg
U3RhdGVDaGFuZ2VUaW1lckludGVydmFsID0gMi4wOworc3RhdGljIGNvbnN0IFNlY29uZHMgU3Rh
dGVDaGFuZ2VUaW1lckludGVydmFsIHsgMl9zIH07CiAKIHZvaWQgTmV0d29ya1N0YXRlTm90aWZp
ZXI6OnVwZGF0ZVN0YXRlKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHAKaW5kZXggMTM5ZTA5ZGI3
MmVhY2IyMTNiYTM2M2NkZjM3ZThiYjIyOGQyZTM0MS4uOWQ2ZDVjNDA3NzQxMTA1OTQ3ZWM3NDZi
MWQxOWQ3OGQzZTJjZWMzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHAKQEAgLTc3MSw3ICs3NzEs
NyBAQCB2b2lkIFJlc291cmNlSGFuZGxlOjpzZW5kUGVuZGluZ1JlcXVlc3QoKQogI2VuZGlmCiAK
ICAgICBpZiAoZC0+bV9maXJzdFJlcXVlc3QudGltZW91dEludGVydmFsKCkgPiAwKQotICAgICAg
ICBkLT5tX3RpbWVvdXRTb3VyY2Uuc3RhcnRPbmVTaG90KGQtPm1fZmlyc3RSZXF1ZXN0LnRpbWVv
dXRJbnRlcnZhbCgpKTsKKyAgICAgICAgZC0+bV90aW1lb3V0U291cmNlLnN0YXJ0T25lU2hvdCgx
X3MgKiBkLT5tX2ZpcnN0UmVxdWVzdC50aW1lb3V0SW50ZXJ2YWwoKSk7CiAKICAgICAvLyBCYWxh
bmNlZCBieSBhIGRlcmVmKCkgaW4gY2xlYW51cFNvdXBSZXF1ZXN0T3BlcmF0aW9uLCB3aGljaCBz
aG91bGQgYWx3YXlzIHJ1bi4KICAgICByZWYoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9JbWFnZVF1YWxpdHlDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9JbWFnZVF1YWxpdHlDb250cm9sbGVyLmNwcAppbmRleCAxYmM4MmU5N2Y4NzkwZWMw
ZDdhMTllMDQ0ZmVkZmM3OTljNWUyYmFkLi43NTQxNWQwMjNmYzc0YzNkZmY0Yjc5N2FiYTMwZmQ0
ZTUzNTkyZGUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW1hZ2VRdWFs
aXR5Q29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0ltYWdlUXVh
bGl0eUNvbnRyb2xsZXIuY3BwCkBAIC0zNSw3ICszNSw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKIHN0YXRpYyBjb25zdCBkb3VibGUgY0ludGVycG9sYXRpb25DdXRvZmYgPSA4MDAuICogODAw
LjsKLXN0YXRpYyBjb25zdCBkb3VibGUgY0xvd1F1YWxpdHlUaW1lVGhyZXNob2xkID0gMC41MDA7
IC8vIDUwMCBtcworc3RhdGljIGNvbnN0IFNlY29uZHMgbG93UXVhbGl0eVRpbWVUaHJlc2hvbGQg
eyA1MDBfbXMgfTsKIAogSW1hZ2VRdWFsaXR5Q29udHJvbGxlcjo6SW1hZ2VRdWFsaXR5Q29udHJv
bGxlcihjb25zdCBSZW5kZXJWaWV3JiByZW5kZXJWaWV3KQogICAgIDogbV9yZW5kZXJWaWV3KHJl
bmRlclZpZXcpCkBAIC05NCw3ICs5NCw3IEBAIHZvaWQgSW1hZ2VRdWFsaXR5Q29udHJvbGxlcjo6
aGlnaFF1YWxpdHlSZXBhaW50VGltZXJGaXJlZCgpCiAKIHZvaWQgSW1hZ2VRdWFsaXR5Q29udHJv
bGxlcjo6cmVzdGFydFRpbWVyKCkKIHsKLSAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChjTG93UXVh
bGl0eVRpbWVUaHJlc2hvbGQpOworICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KGxvd1F1YWxpdHlU
aW1lVGhyZXNob2xkKTsKIH0KIAogc3RkOjpvcHRpb25hbDxJbnRlcnBvbGF0aW9uUXVhbGl0eT4g
SW1hZ2VRdWFsaXR5Q29udHJvbGxlcjo6aW50ZXJwb2xhdGlvblF1YWxpdHlGcm9tU3R5bGUoY29u
c3QgUmVuZGVyU3R5bGUmIHN0eWxlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcAppbmRleCBlYWM0MmUyMzVlM2M5YmFlMDkxM2QxMThm
MjU3NGQ4OGVmYWU3NzE3Li4xYTgzOGQ4N2M1ZWZhNTdmZDRjMmJkMDEwOGI4ZWY2ZTllNWUzMmI0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3Np
dG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3Np
dG9yLmNwcApAQCAtOTIsMTEgKzkyLDExIEBAIHN0YXRpYyBjb25zdCBpbnQgY2FudmFzQXJlYVRo
cmVzaG9sZFJlcXVpcmluZ0NvbXBvc2l0aW5nID0gNTAgKiAxMDA7CiAjZW5kaWYKIC8vIER1cmlu
ZyBwYWdlIGxvYWRpbmcgZGVsYXkgbGF5ZXIgZmx1c2hlcyB1cCB0byB0aGlzIG1hbnkgc2Vjb25k
cyB0byBhbGxvdyB0aGVtIGNvYWxlc2NlLCByZWR1Y2luZyB3b3JrbG9hZC4KICNpZiBQTEFURk9S
TShJT1MpCi1zdGF0aWMgY29uc3QgZG91YmxlIHRocm90dGxlZExheWVyRmx1c2hJbml0aWFsRGVs
YXkgPSAuNTsKLXN0YXRpYyBjb25zdCBkb3VibGUgdGhyb3R0bGVkTGF5ZXJGbHVzaERlbGF5ID0g
MS41Oworc3RhdGljIGNvbnN0IFNlY29uZHMgdGhyb3R0bGVkTGF5ZXJGbHVzaEluaXRpYWxEZWxh
eSB7IDUwMF9tcyB9Oworc3RhdGljIGNvbnN0IFNlY29uZHMgdGhyb3R0bGVkTGF5ZXJGbHVzaERl
bGF5IHsgMS41X3MgfTsKICNlbHNlCi1zdGF0aWMgY29uc3QgZG91YmxlIHRocm90dGxlZExheWVy
Rmx1c2hJbml0aWFsRGVsYXkgPSAuNTsKLXN0YXRpYyBjb25zdCBkb3VibGUgdGhyb3R0bGVkTGF5
ZXJGbHVzaERlbGF5ID0gLjU7CitzdGF0aWMgY29uc3QgU2Vjb25kcyB0aHJvdHRsZWRMYXllckZs
dXNoSW5pdGlhbERlbGF5IHsgNTAwX21zIH07CitzdGF0aWMgY29uc3QgU2Vjb25kcyB0aHJvdHRs
ZWRMYXllckZsdXNoRGVsYXkgeyA1MDBfbXMgfTsKICNlbmRpZgogCiB1c2luZyBuYW1lc3BhY2Ug
SFRNTE5hbWVzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclBy
b2dyZXNzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJQcm9ncmVzcy5jcHAK
aW5kZXggM2IxNGU0MDdhMWUyMWE4NjhiYmY4MjZjNzc4MzZiZjM0MjEzYWFhMi4uNTZhNDVjN2Qw
Y2EwZWZmYjM0YmQ0ZTBhMDJjM2IwOGY5NTA4NzY4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclByb2dyZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyUHJvZ3Jlc3MuY3BwCkBAIC0zMiw3ICszMiw2IEBAIFJlbmRlclByb2dyZXNz
OjpSZW5kZXJQcm9ncmVzcyhIVE1MRWxlbWVudCYgZWxlbWVudCwgUmVuZGVyU3R5bGUmJiBzdHls
ZSkKICAgICA6IFJlbmRlckJsb2NrRmxvdyhlbGVtZW50LCBXVEZNb3ZlKHN0eWxlKSkKICAgICAs
IG1fcG9zaXRpb24oSFRNTFByb2dyZXNzRWxlbWVudDo6SW52YWxpZFBvc2l0aW9uKQogICAgICwg
bV9hbmltYXRpb25TdGFydFRpbWUoMCkKLSAgICAsIG1fYW5pbWF0aW9uUmVwZWF0SW50ZXJ2YWwo
MCkKICAgICAsIG1fYW5pbWF0aW9uRHVyYXRpb24oMCkKICAgICAsIG1fYW5pbWF0aW5nKGZhbHNl
KQogICAgICwgbV9hbmltYXRpb25UaW1lcigqdGhpcywgJlJlbmRlclByb2dyZXNzOjphbmltYXRp
b25UaW1lckZpcmVkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clByb2dyZXNzLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUHJvZ3Jlc3MuaApp
bmRleCAzYTZkODRkODM1NjEzMDcxN2I0MDMyZjlhMzhhYjgzYWRlOWFiOTg3Li4yOTY0ZWM1NzBk
MGQ5YTljZTQ4MDYwMzM5YmJmODViMjkxODUzZmM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyUHJvZ3Jlc3MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyUHJvZ3Jlc3MuaApAQCAtNTAsNyArNTAsNyBAQCBwcml2YXRlOgogCiAgICAgZG91
YmxlIG1fcG9zaXRpb247CiAgICAgZG91YmxlIG1fYW5pbWF0aW9uU3RhcnRUaW1lOwotICAgIGRv
dWJsZSBtX2FuaW1hdGlvblJlcGVhdEludGVydmFsOworICAgIFNlY29uZHMgbV9hbmltYXRpb25S
ZXBlYXRJbnRlcnZhbDsKICAgICBkb3VibGUgbV9hbmltYXRpb25EdXJhdGlvbjsKICAgICBib29s
IG1fYW5pbWF0aW5nOwogICAgIFRpbWVyIG1fYW5pbWF0aW9uVGltZXI7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHAKaW5kZXggMmM4OGFjNWQyMDg3YThkNDFmODA2N2NmMGE0
MTgwNTk2NDcyMjliMC4uMmE1MjJkY2E4ODQwNTM1ZjliMjQ0NmVlNzhiZGUxOWRlOGFkZDcyMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmNwcApAQCAtMTA3LDcgKzEwNyw3
IEBAIGlubGluZSBTZWN1cmVUZXh0VGltZXI6OlNlY3VyZVRleHRUaW1lcihSZW5kZXJUZXh0JiBy
ZW5kZXJlcikKIGlubGluZSB2b2lkIFNlY3VyZVRleHRUaW1lcjo6cmVzdGFydCh1bnNpZ25lZCBv
ZmZzZXRBZnRlckxhc3RUeXBlZENoYXJhY3RlcikKIHsKICAgICBtX29mZnNldEFmdGVyTGFzdFR5
cGVkQ2hhcmFjdGVyID0gb2Zmc2V0QWZ0ZXJMYXN0VHlwZWRDaGFyYWN0ZXI7Ci0gICAgc3RhcnRP
bmVTaG90KG1fcmVuZGVyZXIuc2V0dGluZ3MoKS5wYXNzd29yZEVjaG9EdXJhdGlvbkluU2Vjb25k
cygpKTsKKyAgICBzdGFydE9uZVNob3QoMV9zICogbV9yZW5kZXJlci5zZXR0aW5ncygpLnBhc3N3
b3JkRWNob0R1cmF0aW9uSW5TZWNvbmRzKCkpOwogfQogCiBpbmxpbmUgdW5zaWduZWQgU2VjdXJl
VGV4dFRpbWVyOjp0YWtlT2Zmc2V0QWZ0ZXJMYXN0VHlwZWRDaGFyYWN0ZXIoKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHAKaW5kZXggYzMxYTlhYTZjZjJiMDY5ODIyYjZm
ZjUwNjdiZmZhYzUzN2ZmMmJhMy4uZGI0ZDgwOGI4MzU4MzAxMTczYThhY2MwOTZkOWU2NDRiYTMw
ZjhiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuY3BwCkBAIC0xMDYy
LDkgKzEwNjIsOSBAQCB2b2lkIFJlbmRlclRoZW1lOjpwYWludFNsaWRlclRpY2tzKGNvbnN0IFJl
bmRlck9iamVjdCYgbywgY29uc3QgUGFpbnRJbmZvJiBwYWludAogfQogI2VuZGlmCiAKLWRvdWJs
ZSBSZW5kZXJUaGVtZTo6YW5pbWF0aW9uUmVwZWF0SW50ZXJ2YWxGb3JQcm9ncmVzc0JhcihSZW5k
ZXJQcm9ncmVzcyYpIGNvbnN0CitTZWNvbmRzIFJlbmRlclRoZW1lOjphbmltYXRpb25SZXBlYXRJ
bnRlcnZhbEZvclByb2dyZXNzQmFyKFJlbmRlclByb2dyZXNzJikgY29uc3QKIHsKLSAgICByZXR1
cm4gMDsKKyAgICByZXR1cm4gMF9zOwogfQogCiBkb3VibGUgUmVuZGVyVGhlbWU6OmFuaW1hdGlv
bkR1cmF0aW9uRm9yUHJvZ3Jlc3NCYXIoUmVuZGVyUHJvZ3Jlc3MmKSBjb25zdApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmggYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaAppbmRleCA3MWQxNjVhMTA4ZDYxODAzNmVjZjMzZTBi
MWFkMmEyMTliOTEwYTgwLi42MTdjYWRiMWNhNjkyMzc2Y2Y1YjNlNTc2NGViOTc3YTQ2YzEzY2Yw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaApAQCAtMTk1LDcgKzE5NSw3
IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIFNjcm9sbGJhckNvbnRyb2xTaXplIHNjcm9sbGJhckNv
bnRyb2xTaXplRm9yUGFydChDb250cm9sUGFydCkgeyByZXR1cm4gUmVndWxhclNjcm9sbGJhcjsg
fQogCiAgICAgLy8gUmV0dXJucyB0aGUgcmVwZWF0IGludGVydmFsIG9mIHRoZSBhbmltYXRpb24g
Zm9yIHRoZSBwcm9ncmVzcyBiYXIuCi0gICAgdmlydHVhbCBkb3VibGUgYW5pbWF0aW9uUmVwZWF0
SW50ZXJ2YWxGb3JQcm9ncmVzc0JhcihSZW5kZXJQcm9ncmVzcyYpIGNvbnN0OworICAgIHZpcnR1
YWwgU2Vjb25kcyBhbmltYXRpb25SZXBlYXRJbnRlcnZhbEZvclByb2dyZXNzQmFyKFJlbmRlclBy
b2dyZXNzJikgY29uc3Q7CiAgICAgLy8gUmV0dXJucyB0aGUgZHVyYXRpb24gb2YgdGhlIGFuaW1h
dGlvbiBmb3IgdGhlIHByb2dyZXNzIGJhci4KICAgICB2aXJ0dWFsIGRvdWJsZSBhbmltYXRpb25E
dXJhdGlvbkZvclByb2dyZXNzQmFyKFJlbmRlclByb2dyZXNzJikgY29uc3Q7CiAgICAgdmlydHVh
bCBJbnRSZWN0IHByb2dyZXNzQmFyUmVjdEZvckJvdW5kcyhjb25zdCBSZW5kZXJPYmplY3QmLCBj
b25zdCBJbnRSZWN0JikgY29uc3Q7CkBAIC0yMDgsNyArMjA4LDcgQEAgcHVibGljOgogICAgIHZp
cnR1YWwgYm9vbCB1c2VzTWVkaWFDb250cm9sVm9sdW1lU2xpZGVyKCkgY29uc3QgeyByZXR1cm4g
dHJ1ZTsgfQogICAgIHZpcnR1YWwgYm9vbCB1c2VzVmVydGljYWxWb2x1bWVTbGlkZXIoKSBjb25z
dCB7IHJldHVybiB0cnVlOyB9CiAgICAgdmlydHVhbCBkb3VibGUgbWVkaWFDb250cm9sc0ZhZGVJ
bkR1cmF0aW9uKCkgeyByZXR1cm4gMC4xOyB9Ci0gICAgdmlydHVhbCBkb3VibGUgbWVkaWFDb250
cm9sc0ZhZGVPdXREdXJhdGlvbigpIHsgcmV0dXJuIDAuMzsgfQorICAgIHZpcnR1YWwgU2Vjb25k
cyBtZWRpYUNvbnRyb2xzRmFkZU91dER1cmF0aW9uKCkgeyByZXR1cm4gMzAwX21zOyB9CiAgICAg
dmlydHVhbCBTdHJpbmcgZm9ybWF0TWVkaWFDb250cm9sc1RpbWUoZmxvYXQgdGltZSkgY29uc3Q7
CiAgICAgdmlydHVhbCBTdHJpbmcgZm9ybWF0TWVkaWFDb250cm9sc0N1cnJlbnRUaW1lKGZsb2F0
IGN1cnJlbnRUaW1lLCBmbG9hdCBkdXJhdGlvbikgY29uc3Q7CiAgICAgdmlydHVhbCBTdHJpbmcg
Zm9ybWF0TWVkaWFDb250cm9sc1JlbWFpbmluZ1RpbWUoZmxvYXQgY3VycmVudFRpbWUsIGZsb2F0
IGR1cmF0aW9uKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUaGVtZUd0ay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVH
dGsuY3BwCmluZGV4IDE3Mjg0ZjQ5OThmMzE1MzRiNTQxOTUzOWI0OWM1NDY0ZGE2MzUyOGIuLmVk
Yzc0N2NlNmQ0ODU3ZmU1MmY3MTc3MGRjN2ZhMDcwOGM0OTkxYTQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUd0ay5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lR3RrLmNwcApAQCAtMjExMSw4ICsyMTExLDggQEAgdm9p
ZCBSZW5kZXJUaGVtZUd0azo6YWRqdXN0UHJvZ3Jlc3NCYXJTdHlsZShTdHlsZVJlc29sdmVyJiwg
UmVuZGVyU3R5bGUmIHN0eWxlLAogLy8gVGhlc2UgdmFsdWVzIGhhdmUgYmVlbiBjb3BpZWQgZnJv
bSBSZW5kZXJUaGVtZUNocm9taXVtU2tpYS5jcHAKIHN0YXRpYyBjb25zdCBpbnQgcHJvZ3Jlc3NB
Y3Rpdml0eUJsb2NrcyA9IDU7CiBzdGF0aWMgY29uc3QgaW50IHByb2dyZXNzQW5pbWF0aW9uRnJh
bWVzID0gMTA7Ci1zdGF0aWMgY29uc3QgZG91YmxlIHByb2dyZXNzQW5pbWF0aW9uSW50ZXJ2YWwg
PSAwLjEyNTsKLWRvdWJsZSBSZW5kZXJUaGVtZUd0azo6YW5pbWF0aW9uUmVwZWF0SW50ZXJ2YWxG
b3JQcm9ncmVzc0JhcihSZW5kZXJQcm9ncmVzcyYpIGNvbnN0CitzdGF0aWMgY29uc3QgU2Vjb25k
cyBwcm9ncmVzc0FuaW1hdGlvbkludGVydmFsIHsgMTI1X21zIH07CitTZWNvbmRzIFJlbmRlclRo
ZW1lR3RrOjphbmltYXRpb25SZXBlYXRJbnRlcnZhbEZvclByb2dyZXNzQmFyKFJlbmRlclByb2dy
ZXNzJikgY29uc3QKIHsKICAgICByZXR1cm4gcHJvZ3Jlc3NBbmltYXRpb25JbnRlcnZhbDsKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUd0ay5oIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lR3RrLmgKaW5kZXggN2I4MmQ5MzE0
NjQ0NGZkNGVmZWU1NjE0ZTVjMTFkNzZkYjFlZDgxMS4uNjRhNGQ4OWZmNDUyYmI2MjNmZDgwOGE1
Njk1MDBhYTZjY2VhNGNmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRoZW1lR3RrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1l
R3RrLmgKQEAgLTE2OCw3ICsxNjgsNyBAQCBwcml2YXRlOgogI2VuZGlmCiAjZW5kaWYKIAotICAg
IGRvdWJsZSBhbmltYXRpb25SZXBlYXRJbnRlcnZhbEZvclByb2dyZXNzQmFyKFJlbmRlclByb2dy
ZXNzJikgY29uc3Qgb3ZlcnJpZGU7CisgICAgU2Vjb25kcyBhbmltYXRpb25SZXBlYXRJbnRlcnZh
bEZvclByb2dyZXNzQmFyKFJlbmRlclByb2dyZXNzJikgY29uc3Qgb3ZlcnJpZGU7CiAgICAgZG91
YmxlIGFuaW1hdGlvbkR1cmF0aW9uRm9yUHJvZ3Jlc3NCYXIoUmVuZGVyUHJvZ3Jlc3MmKSBjb25z
dCBvdmVycmlkZTsKICAgICB2b2lkIGFkanVzdFByb2dyZXNzQmFyU3R5bGUoU3R5bGVSZXNvbHZl
ciYsIFJlbmRlclN0eWxlJiwgY29uc3QgRWxlbWVudCopIGNvbnN0IG92ZXJyaWRlOwogICAgIElu
dFJlY3QgcHJvZ3Jlc3NCYXJSZWN0Rm9yQm91bmRzKGNvbnN0IFJlbmRlck9iamVjdCYsIGNvbnN0
IEludFJlY3QmKSBjb25zdCBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUaGVtZUlPUy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clRoZW1lSU9TLmgKaW5kZXggYmIzOThmN2ViY2YxMzBkOWE2YTE0NWEyN2U2Njg2OTYyYTNjOTZl
My4uMGIxZTU0NTEwN2ViZWE3OWU3NDQ4NDhlODdmNjZhMzQzY2NkMDU2NiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lSU9TLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lSU9TLmgKQEAgLTgxLDcgKzgxLDcgQEAgcHJvdGVj
dGVkOgogICAgIGJvb2wgcGFpbnRTbGlkZXJUaHVtYkRlY29yYXRpb25zKGNvbnN0IFJlbmRlck9i
amVjdCYsIGNvbnN0IFBhaW50SW5mbyYsIGNvbnN0IEludFJlY3QmKSBvdmVycmlkZTsKIAogICAg
IC8vIFJldHVybnMgdGhlIHJlcGVhdCBpbnRlcnZhbCBvZiB0aGUgYW5pbWF0aW9uIGZvciB0aGUg
cHJvZ3Jlc3MgYmFyLgotICAgIGRvdWJsZSBhbmltYXRpb25SZXBlYXRJbnRlcnZhbEZvclByb2dy
ZXNzQmFyKFJlbmRlclByb2dyZXNzJikgY29uc3Qgb3ZlcnJpZGU7CisgICAgU2Vjb25kcyBhbmlt
YXRpb25SZXBlYXRJbnRlcnZhbEZvclByb2dyZXNzQmFyKFJlbmRlclByb2dyZXNzJikgY29uc3Qg
b3ZlcnJpZGU7CiAgICAgLy8gUmV0dXJucyB0aGUgZHVyYXRpb24gb2YgdGhlIGFuaW1hdGlvbiBm
b3IgdGhlIHByb2dyZXNzIGJhci4KICAgICBkb3VibGUgYW5pbWF0aW9uRHVyYXRpb25Gb3JQcm9n
cmVzc0JhcihSZW5kZXJQcm9ncmVzcyYpIGNvbnN0IG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1MubW0gYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1MubW0KaW5kZXggMjAxMzE5NWZhNjljMjg3YjI0NmQy
YzJmZGMxMmQwYzRlNWRhZjIwNS4uZDlmNGY3NzljOTgzMzFiNTBmYmEzNWYxNDQ1M2NkYmJlMDVh
ZmY3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lSU9T
Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUlPUy5tbQpAQCAt
ODcwLDkgKzg3MCw5IEBAIGJvb2wgUmVuZGVyVGhlbWVJT1M6OnBhaW50U2xpZGVyVGh1bWJEZWNv
cmF0aW9ucyhjb25zdCBSZW5kZXJPYmplY3QmIGJveCwgY29uc3QKICAgICByZXR1cm4gZmFsc2U7
CiB9CiAKLWRvdWJsZSBSZW5kZXJUaGVtZUlPUzo6YW5pbWF0aW9uUmVwZWF0SW50ZXJ2YWxGb3JQ
cm9ncmVzc0JhcihSZW5kZXJQcm9ncmVzcyYpIGNvbnN0CitTZWNvbmRzIFJlbmRlclRoZW1lSU9T
OjphbmltYXRpb25SZXBlYXRJbnRlcnZhbEZvclByb2dyZXNzQmFyKFJlbmRlclByb2dyZXNzJikg
Y29uc3QKIHsKLSAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gMF9zOwogfQogCiBkb3VibGUgUmVu
ZGVyVGhlbWVJT1M6OmFuaW1hdGlvbkR1cmF0aW9uRm9yUHJvZ3Jlc3NCYXIoUmVuZGVyUHJvZ3Jl
c3MmKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRo
ZW1lTWFjLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMuaAppbmRl
eCA2YjljNzI3YzlhODE4MTBhNmE4Y2Q0NjBjMmFhYTY2NGVmMWE0OGYxLi5mMzkwMGEwMDNmZTQ4
MDZjZjQ1NTEyY2FiNGM2YWYyYzEwYzI5MmZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGhlbWVNYWMuaApAQCAtODcsNyArODcsNyBAQCBwdWJsaWM6CiAjZW5kaWYKIAogICAg
IC8vIFJldHVybnMgdGhlIHJlcGVhdCBpbnRlcnZhbCBvZiB0aGUgYW5pbWF0aW9uIGZvciB0aGUg
cHJvZ3Jlc3MgYmFyLgotICAgIGRvdWJsZSBhbmltYXRpb25SZXBlYXRJbnRlcnZhbEZvclByb2dy
ZXNzQmFyKFJlbmRlclByb2dyZXNzJikgY29uc3Qgb3ZlcnJpZGU7CisgICAgU2Vjb25kcyBhbmlt
YXRpb25SZXBlYXRJbnRlcnZhbEZvclByb2dyZXNzQmFyKFJlbmRlclByb2dyZXNzJikgY29uc3Qg
b3ZlcnJpZGU7CiAgICAgLy8gUmV0dXJucyB0aGUgZHVyYXRpb24gb2YgdGhlIGFuaW1hdGlvbiBm
b3IgdGhlIHByb2dyZXNzIGJhci4KICAgICBkb3VibGUgYW5pbWF0aW9uRHVyYXRpb25Gb3JQcm9n
cmVzc0JhcihSZW5kZXJQcm9ncmVzcyYpIGNvbnN0IG92ZXJyaWRlOwogICAgIEludFJlY3QgcHJv
Z3Jlc3NCYXJSZWN0Rm9yQm91bmRzKGNvbnN0IFJlbmRlck9iamVjdCYsIGNvbnN0IEludFJlY3Qm
KSBjb25zdCBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUaGVtZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1h
Yy5tbQppbmRleCBmODBlMmM5MTk4OTAxYmJhYzg5OTRiNmZjZTNjZmVmM2QzMTM0NWMxLi45YjU1
ZWY2Zjc5NmY4ZTdjODc3MDk1ZGIyOTI0MjVmNGU3NGE4MjYzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1tCkBAIC0xMTQsMTAgKzExNCwxMCBAQCBAZW5kCiAK
IC8vIFdlIGVzdGltYXRlIHRoZSBhbmltYXRpb24gcmF0ZSBvZiBhIE1hYyBPUyBYIHByb2dyZXNz
IGJhciBpcyAzMyBmcHMuCiAvLyBIYXJkIGNvZGUgdGhlIHZhbHVlIGhlcmUgYmVjYXVzZSB3ZSBo
YXZlbid0IGZvdW5kIEFQSSBmb3IgaXQuCi1jb25zdCBkb3VibGUgcHJvZ3Jlc3NBbmltYXRpb25G
cmFtZVJhdGUgPSAwLjAzMzsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHByb2dyZXNzQW5pbWF0aW9u
RnJhbWVSYXRlID0gMzNfbXM7CiAKIC8vIE1hYyBPUyBYIHByb2dyZXNzIGJhciBhbmltYXRpb24g
c2VlbXMgdG8gaGF2ZSAyNTYgZnJhbWVzLgotY29uc3QgZG91YmxlIHByb2dyZXNzQW5pbWF0aW9u
TnVtRnJhbWVzID0gMjU2Oworc3RhdGljIGNvbnN0IGRvdWJsZSBwcm9ncmVzc0FuaW1hdGlvbk51
bUZyYW1lcyA9IDI1NjsKIAogQGludGVyZmFjZSBXZWJDb3JlUmVuZGVyVGhlbWVOb3RpZmljYXRp
b25PYnNlcnZlciA6IE5TT2JqZWN0CiB7CkBAIC0xMTI5LDE0ICsxMTI5LDE0IEBAIGludCBSZW5k
ZXJUaGVtZU1hYzo6bWluaW11bVByb2dyZXNzQmFySGVpZ2h0KGNvbnN0IFJlbmRlclN0eWxlJiBz
dHlsZSkgY29uc3QKICAgICByZXR1cm4gc2l6ZUZvclN5c3RlbUZvbnQoc3R5bGUsIHByb2dyZXNz
QmFyU2l6ZXMoKSkuaGVpZ2h0KCk7CiB9CiAKLWRvdWJsZSBSZW5kZXJUaGVtZU1hYzo6YW5pbWF0
aW9uUmVwZWF0SW50ZXJ2YWxGb3JQcm9ncmVzc0JhcihSZW5kZXJQcm9ncmVzcyYpIGNvbnN0CitT
ZWNvbmRzIFJlbmRlclRoZW1lTWFjOjphbmltYXRpb25SZXBlYXRJbnRlcnZhbEZvclByb2dyZXNz
QmFyKFJlbmRlclByb2dyZXNzJikgY29uc3QKIHsKICAgICByZXR1cm4gcHJvZ3Jlc3NBbmltYXRp
b25GcmFtZVJhdGU7CiB9CiAKIGRvdWJsZSBSZW5kZXJUaGVtZU1hYzo6YW5pbWF0aW9uRHVyYXRp
b25Gb3JQcm9ncmVzc0JhcihSZW5kZXJQcm9ncmVzcyYpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIHBy
b2dyZXNzQW5pbWF0aW9uTnVtRnJhbWVzICogcHJvZ3Jlc3NBbmltYXRpb25GcmFtZVJhdGU7Cisg
ICAgcmV0dXJuIHByb2dyZXNzQW5pbWF0aW9uTnVtRnJhbWVzICogcHJvZ3Jlc3NBbmltYXRpb25G
cmFtZVJhdGUudmFsdWUoKTsKIH0KIAogdm9pZCBSZW5kZXJUaGVtZU1hYzo6YWRqdXN0UHJvZ3Jl
c3NCYXJTdHlsZShTdHlsZVJlc29sdmVyJiwgUmVuZGVyU3R5bGUmLCBjb25zdCBFbGVtZW50Kikg
Y29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9FdmVudExvb3BJbnB1dERp
c3BhdGNoZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVwbGF5L0V2ZW50TG9vcElucHV0RGlzcGF0
Y2hlci5jcHAKaW5kZXggNTEwMjkzZmMxNmM2NGFjOWI1ZmI1MWU3Yjk4ZDA5MGQ4YjUxMzY2Ny4u
OWUyNzg2ZDU4YTBmNjVjOGJlYzQ1YTk3M2NhZWE0NmEyZjUwOTNhMiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVwbGF5L0V2ZW50TG9vcElucHV0RGlzcGF0Y2hlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVwbGF5L0V2ZW50TG9vcElucHV0RGlzcGF0Y2hlci5jcHAKQEAgLTExOCw3
ICsxMTgsNyBAQCB2b2lkIEV2ZW50TG9vcElucHV0RGlzcGF0Y2hlcjo6ZGlzcGF0Y2hJbnB1dFNv
b24oKQogICAgIH0KIAogICAgIExPRyhXZWJSZXBsYXksICIlLTIwcyAoV0FJVDogJS4zZiBtcyki
LCAiUmVwbGF5RXZlbnRzIiwgd2FpdEludGVydmFsICogMTAwMC4wKTsKLSAgICBtX3RpbWVyLnN0
YXJ0T25lU2hvdCh3YWl0SW50ZXJ2YWwpOworICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDFfcyAq
IHdhaXRJbnRlcnZhbCk7CiB9CiAKIHZvaWQgRXZlbnRMb29wSW5wdXREaXNwYXRjaGVyOjpkaXNw
YXRjaElucHV0KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9hbmltYXRpb24vU01J
TFRpbWVDb250YWluZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL2FuaW1hdGlvbi9TTUlMVGlt
ZUNvbnRhaW5lci5jcHAKaW5kZXggMTI1YjQzYjRjZWZlMmIyZWZiMmZjMGY1ZWJmYTU0MWUyN2Ex
ODQwZC4uNDVjYWY5ZjRjYzUzNWY3Y2ZkNzlkNWQxNGI4ZjBiNzg2ODY1NGY1NSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvc3ZnL2FuaW1hdGlvbi9TTUlMVGltZUNvbnRhaW5lci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvc3ZnL2FuaW1hdGlvbi9TTUlMVGltZUNvbnRhaW5lci5jcHAKQEAg
LTM1LDggKzM1LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMgY29uc3QgU2Vj
b25kcyBTTUlMQW5pbWF0aW9uRnJhbWVEZWxheSB7IDEuMCAvIDYwIH07Ci1zdGF0aWMgY29uc3Qg
U2Vjb25kcyBTTUlMQW5pbWF0aW9uRnJhbWVUaHJvdHRsZWREZWxheSB7IDEuMCAvIDMwIH07Citz
dGF0aWMgY29uc3QgU2Vjb25kcyBTTUlMQW5pbWF0aW9uRnJhbWVEZWxheSB7IDFfcyAvIDYwLiB9
Oworc3RhdGljIGNvbnN0IFNlY29uZHMgU01JTEFuaW1hdGlvbkZyYW1lVGhyb3R0bGVkRGVsYXkg
eyAxX3MgLyAzMC4gfTsKIAogU01JTFRpbWVDb250YWluZXI6OlNNSUxUaW1lQ29udGFpbmVyKFNW
R1NWR0VsZW1lbnQmIG93bmVyKQogICAgIDogbV9iZWdpblRpbWUoMCkKQEAgLTIxNiw3ICsyMTYs
NyBAQCB2b2lkIFNNSUxUaW1lQ29udGFpbmVyOjpzdGFydFRpbWVyKFNNSUxUaW1lIGVsYXBzZWQs
IFNNSUxUaW1lIGZpcmVUaW1lLCBTTUlMVGltZQogICAgICAgICByZXR1cm47CiAKICAgICBTTUlM
VGltZSBkZWxheSA9IHN0ZDo6bWF4KGZpcmVUaW1lIC0gZWxhcHNlZCwgbWluaW11bURlbGF5KTsK
LSAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChkZWxheS52YWx1ZSgpKTsKKyAgICBtX3RpbWVyLnN0
YXJ0T25lU2hvdCgxX3MgKiBkZWxheS52YWx1ZSgpKTsKIH0KIAogdm9pZCBTTUlMVGltZUNvbnRh
aW5lcjo6dGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFsU2V0dGluZ3MuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRp
bmdzLmNwcAppbmRleCBlOWVhNGNiMDQ4MDlkYWFjNTQ5NWE4YTI3ZjUwNjU2MThkZjg2OTMxLi43
YWNmNTA1OTMxZTIwMjJjZjZkNjI0ZGVhYzljMDVhM2ViZDY2ODcyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5jcHAKQEAgLTU3MCw3ICs1NzAsNyBAQCBFeGNl
cHRpb25Pcjx2b2lkPiBJbnRlcm5hbFNldHRpbmdzOjpzZXRUaW1lV2l0aG91dE1vdXNlTW92ZW1l
bnRCZWZvcmVIaWRpbmdDb250cgogewogICAgIGlmICghbV9wYWdlKQogICAgICAgICByZXR1cm4g
RXhjZXB0aW9uIHsgSU5WQUxJRF9BQ0NFU1NfRVJSIH07Ci0gICAgc2V0dGluZ3MoKS5zZXRUaW1l
V2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scyh0aW1lKTsKKyAgICBzZXR0
aW5ncygpLnNldFRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKFNl
Y29uZHMgeyB0aW1lIH0pOwogICAgIHJldHVybiB7IH07CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5oIGIvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9JbnRlcm5hbFNldHRpbmdzLmgKaW5kZXggMjBhNzM2MzliNTBjNzIwZDM3ZjU1MjNkYTJm
NTdiNGQ2MDZkNmFjNi4uMTllNWJkZTE1YmQ1ZDI0M2IzZWNiMWRjODFkM2RiZGYxMzE1MTVlZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmgKQEAgLTE1OSw3ICsx
NTksNyBAQCBwcml2YXRlOgogI2VuZGlmCiAgICAgICAgIFN0cmluZyBtX2RlZmF1bHRWaWRlb1Bv
c3RlclVSTDsKICAgICAgICAgYm9vbCBtX2ZvcmNlUGVuZGluZ1dlYkdMUG9saWN5OwotICAgICAg
ICBib29sIG1fb3JpZ2luYWxUaW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250
cm9sczsKKyAgICAgICAgU2Vjb25kcyBtX29yaWdpbmFsVGltZVdpdGhvdXRNb3VzZU1vdmVtZW50
QmVmb3JlSGlkaW5nQ29udHJvbHM7CiAgICAgICAgIGJvb2wgbV91c2VMZWdhY3lCYWNrZ3JvdW5k
U2l6ZVNob3J0aGFuZEJlaGF2aW9yOwogICAgICAgICBib29sIG1fYXV0b3Njcm9sbEZvckRyYWdB
bmREcm9wRW5hYmxlZDsKICAgICAgICAgYm9vbCBtX3F1aWNrVGltZVBsdWdpblJlcGxhY2VtZW50
RW5hYmxlZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRleCA1NTViZjE1ODlh
MDhlNzA0MGIzYjMzN2EyYzY0ZGQzNDJhY2I2NTA1Li5kNTllNjg3OGY1Zjc4ZjI0NDBiMGQyMzY4
MjVlZjU0Y2E5ZWU4YzFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFscy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCkBAIC03
MjksNyArNzI5LDcgQEAgdm9pZCBJbnRlcm5hbHM6OnNldEltYWdlRnJhbWVEZWNvZGluZ0R1cmF0
aW9uKEhUTUxJbWFnZUVsZW1lbnQmIGVsZW1lbnQsIGZsb2F0IGQKICAgICBpZiAoIWlzPEJpdG1h
cEltYWdlPihpbWFnZSkpCiAgICAgICAgIHJldHVybjsKICAgICAKLSAgICBkb3duY2FzdDxCaXRt
YXBJbWFnZT4oKmltYWdlKS5zZXRGcmFtZURlY29kaW5nRHVyYXRpb25Gb3JUZXN0aW5nKGR1cmF0
aW9uKTsKKyAgICBkb3duY2FzdDxCaXRtYXBJbWFnZT4oKmltYWdlKS5zZXRGcmFtZURlY29kaW5n
RHVyYXRpb25Gb3JUZXN0aW5nKFNlY29uZHMgeyBkdXJhdGlvbiB9KTsKIH0KIAogdm9pZCBJbnRl
cm5hbHM6OnJlc2V0SW1hZ2VBbmltYXRpb24oSFRNTEltYWdlRWxlbWVudCYgZWxlbWVudCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwCmluZGV4IDlkZWY5MzdjNTIxYmIxOTk4NTBh
MTI4YjQxZjU0YzFjNTczYTE3NDguLjEzMDYxMDhjODRhM2I5MzM0ZjNkOTI3YWE1YmY0ZjkzNTQ1
ODUxNDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcApAQCAtNzM4LDcgKzcz
OCw3IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IFhNTEh0dHBSZXF1ZXN0OjpjcmVhdGVSZXF1ZXN0KCkK
ICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICByZXF1ZXN0LnNldFRpbWVvdXRJbnRlcnZhbChz
dGQ6Om51bWVyaWNfbGltaXRzPGRvdWJsZT46OmluZmluaXR5KCkpOwogICAgICAgICAgICAgbV9z
ZW5kaW5nVGltZSA9IE1vbm90b25pY1RpbWU6Om5vdygpOwotICAgICAgICAgICAgbV90aW1lb3V0
VGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMgeyBtX3RpbWVvdXRNaWxsaXNlY29uZHMgLyAxMDAw
LiB9KTsKKyAgICAgICAgICAgIG1fdGltZW91dFRpbWVyLnN0YXJ0T25lU2hvdCgxX21zICogbV90
aW1lb3V0TWlsbGlzZWNvbmRzKTsKICAgICAgICAgfQogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9TdG9yYWdlL1N0b3JhZ2VBcmVhU3luYy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1N0
b3JhZ2UvU3RvcmFnZUFyZWFTeW5jLmNwcAppbmRleCBhYzBkY2MxMjU2OTRkYWQ0YzRiOTIyODdh
MDMxZWZhMDkzNTRlYTE5Li5iYTE1ZTRhNGRhMGJjMjMwOWY5ZTJmMTc2MTQxYmY2YTYxM2QwMzBl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2UvU3RvcmFnZUFyZWFTeW5jLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2UvU3RvcmFnZUFyZWFTeW5jLmNwcApAQCAtNDEsNyAr
NDEsNyBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIAogLy8gSWYgdGhlIFN0b3JhZ2VBcmVhIHVuZGVy
Z29lcyByYXBpZCBjaGFuZ2VzLCBkb24ndCBzeW5jIGVhY2ggY2hhbmdlIHRvIGRpc2suCiAvLyBJ
bnN0ZWFkLCBxdWV1ZSB1cCBhIGJhdGNoIG9mIGl0ZW1zIHRvIHN5bmMgYW5kIGFjdHVhbGx5IGRv
IHRoZSBzeW5jIGF0IHRoZSBmb2xsb3dpbmcgaW50ZXJ2YWwuCi1zdGF0aWMgY29uc3QgZG91Ymxl
IFN0b3JhZ2VTeW5jSW50ZXJ2YWwgPSAxLjA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBTdG9yYWdl
U3luY0ludGVydmFsIHsgMV9zIH07CiAKIC8vIEEgc2FuZSBsaW1pdCBvbiBob3cgbWFueSBpdGVt
cyB3ZSdsbCBzY2hlZHVsZSB0byBzeW5jIGFsbCBhdCBvbmNlLiAgVGhpcyBtYWtlcyBpdAogLy8g
bXVjaCBoYXJkZXIgdG8gc3RhcnZlIHRoZSByZXN0IG9mIExvY2FsU3RvcmFnZSBhbmQgdGhlIE9T
J3MgSU8gc3Vic3lzdGVtIGluIGdlbmVyYWwuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1N0
b3JhZ2UvU3RvcmFnZVRyYWNrZXIuY3BwIGIvU291cmNlL1dlYktpdC9TdG9yYWdlL1N0b3JhZ2VU
cmFja2VyLmNwcAppbmRleCA1OWEwMGZlMzBhOTYzZjU4MTNkOGIwZGRhMDRkYjYwODFhNjYyM2Jk
Li43YzU3NmFiNjhkYjJmNGZjNTE5NDFjZWY3NTk3YmRhNTQxMmFmZDI4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1N0b3JhZ2UvU3RvcmFnZVRyYWNrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvU3RvcmFnZS9TdG9yYWdlVHJhY2tlci5jcHAKQEAgLTUyLDcgKzUyLDcgQEAgc3RhdGljIFN0
b3JhZ2VUcmFja2VyKiBzdG9yYWdlVHJhY2tlciA9IG51bGxwdHI7CiAKIC8vIElmIHRoZXJlIGlz
IG5vIGRvY3VtZW50IHJlZmVyZW5jaW5nIGEgc3RvcmFnZSBkYXRhYmFzZSwgY2xvc2UgdGhlIHVu
ZGVybHlpbmcgZGF0YWJhc2UKIC8vIGFmdGVyIGl0IGhhcyBiZWVuIGlkbGUgZm9yIG1fU3RvcmFn
ZURhdGFiYXNlSWRsZUludGVydmFsIHNlY29uZHMuCi1zdGF0aWMgY29uc3QgZG91YmxlIERlZmF1
bHRTdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwgPSAzMDA7CitzdGF0aWMgY29uc3QgU2Vjb25k
cyBkZWZhdWx0U3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsIHsgMzAwX3MgfTsKICAgICAKIHZv
aWQgU3RvcmFnZVRyYWNrZXI6OmluaXRpYWxpemVUcmFja2VyKGNvbnN0IFN0cmluZyYgc3RvcmFn
ZVBhdGgsIFN0b3JhZ2VUcmFja2VyQ2xpZW50KiBjbGllbnQpCiB7CkBAIC05Nyw3ICs5Nyw3IEBA
IFN0b3JhZ2VUcmFja2VyOjpTdG9yYWdlVHJhY2tlcihjb25zdCBTdHJpbmcmIHN0b3JhZ2VQYXRo
KQogICAgICwgbV90aHJlYWQoc3RkOjptYWtlX3VuaXF1ZTxTdG9yYWdlVGhyZWFkPigpKQogICAg
ICwgbV9pc0FjdGl2ZShmYWxzZSkKICAgICAsIG1fbmVlZHNJbml0aWFsaXphdGlvbihmYWxzZSkK
LSAgICAsIG1fU3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsKERlZmF1bHRTdG9yYWdlRGF0YWJh
c2VJZGxlSW50ZXJ2YWwpCisgICAgLCBtX1N0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbChkZWZh
dWx0U3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsKQogewogfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1N0b3JhZ2UvU3RvcmFnZVRyYWNrZXIuaCBiL1NvdXJjZS9XZWJLaXQvU3RvcmFn
ZS9TdG9yYWdlVHJhY2tlci5oCmluZGV4IDU1ZDViMGQyMmU5YTM5ZjliOGMwODkzN2Y1OTRlOGZh
M2JkYWNhODguLmUxZWQ2YjkzNmI2Zjc3ZGMwZDE4MThhNjVhNGI3MTMwODRjOTA2N2IgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU3RvcmFnZS9TdG9yYWdlVHJhY2tlci5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvU3RvcmFnZS9TdG9yYWdlVHJhY2tlci5oCkBAIC01OSw4ICs1OSw4IEBAIHB1Ymxp
YzoKICAgICAKICAgICBib29sIGlzQWN0aXZlKCk7CiAKLSAgICBkb3VibGUgc3RvcmFnZURhdGFi
YXNlSWRsZUludGVydmFsKCkgeyByZXR1cm4gbV9TdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWw7
IH0KLSAgICB2b2lkIHNldFN0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbChkb3VibGUgaW50ZXJ2
YWwpIHsgbV9TdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwgPSBpbnRlcnZhbDsgfQorICAgIFNl
Y29uZHMgc3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsKCkgeyByZXR1cm4gbV9TdG9yYWdlRGF0
YWJhc2VJZGxlSW50ZXJ2YWw7IH0KKyAgICB2b2lkIHNldFN0b3JhZ2VEYXRhYmFzZUlkbGVJbnRl
cnZhbChTZWNvbmRzIGludGVydmFsKSB7IG1fU3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsID0g
aW50ZXJ2YWw7IH0KIAogICAgIHZvaWQgc3luY0ZpbGVTeXN0ZW1BbmRUcmFja2VyRGF0YWJhc2Uo
KTsKIApAQCAtMTEwLDcgKzExMCw3IEBAIHByaXZhdGU6CiAgICAgCiAgICAgYm9vbCBtX2lzQWN0
aXZlOwogICAgIGJvb2wgbV9uZWVkc0luaXRpYWxpemF0aW9uOwotICAgIGRvdWJsZSBtX1N0b3Jh
Z2VEYXRhYmFzZUlkbGVJbnRlcnZhbDsKKyAgICBTZWNvbmRzIG1fU3RvcmFnZURhdGFiYXNlSWRs
ZUludGVydmFsOwogfTsKICAgICAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5WaWV3Lm1tIGIvU291
cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblZpZXcubW0KaW5kZXggMDg3
ZmNmYmMwMWI4NmMwZjE5MWFkYzA0MzVhYTA0ODU1YzdmNzEwYi4uMDE5M2U0MGZlNmRlMTYzZjYw
MWMwODI1ZGY4NDNmM2ViODI5NTRmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvUGx1
Z2lucy9XZWJOZXRzY2FwZVBsdWdpblZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvUGx1
Z2lucy9XZWJOZXRzY2FwZVBsdWdpblZpZXcubW0KQEAgLTExMSw3ICsxMTEsNyBAQCBzdGF0aWMg
V2ViTmV0c2NhcGVQbHVnaW5WaWV3ICpjdXJyZW50UGx1Z2luVmlldyA9IG5pbDsKIAogdHlwZWRl
ZiBzdHJ1Y3QgT3BhcXVlUG9ydFN0YXRlKiBQb3J0U3RhdGU7CiAKLXN0YXRpYyBjb25zdCBkb3Vi
bGUgVGhyb3R0bGVkVGltZXJJbnRlcnZhbCA9IDAuMjU7CitzdGF0aWMgY29uc3QgU2Vjb25kcyB0
aHJvdHRsZWRUaW1lckludGVydmFsIHsgMjUwX21zIH07CiAKIGNsYXNzIFBsdWdpblRpbWVyIDog
cHVibGljIFRpbWVyQmFzZSB7CiBwdWJsaWM6CkBAIC0xMzAsMTAgKzEzMCwxMCBAQCBwdWJsaWM6
CiAgICAgewogICAgICAgICBBU1NFUlQoIWlzQWN0aXZlKCkpOwogCi0gICAgICAgIGRvdWJsZSB0
aW1lSW50ZXJ2YWwgPSBtX2ludGVydmFsIC8gMTAwMC4wOworICAgICAgICBTZWNvbmRzIHRpbWVJ
bnRlcnZhbCA9IDFfbXMgKiBtX2ludGVydmFsOwogICAgICAgICAKICAgICAgICAgaWYgKHRocm90
dGxlKQotICAgICAgICAgICAgdGltZUludGVydmFsID0gc3RkOjptYXgodGltZUludGVydmFsLCBU
aHJvdHRsZWRUaW1lckludGVydmFsKTsKKyAgICAgICAgICAgIHRpbWVJbnRlcnZhbCA9IHN0ZDo6
bWF4KHRpbWVJbnRlcnZhbCwgdGhyb3R0bGVkVGltZXJJbnRlcnZhbCk7CiAgICAgICAgIAogICAg
ICAgICBpZiAobV9yZXBlYXQpCiAgICAgICAgICAgICBzdGFydFJlcGVhdGluZyhTZWNvbmRzIHsg
dGltZUludGVydmFsIH0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvU3RvcmFnZS9X
ZWJTdG9yYWdlTWFuYWdlci5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1N0b3JhZ2UvV2ViU3RvcmFn
ZU1hbmFnZXIubW0KaW5kZXggMzcwNGY3ZWRkMzU4NGZmMThkNzZhNjZhOWYwMjMzODg1NGRjN2Y2
OS4uODFiYTFlNmRkZmIwZDA4OThjNzA3MmUxZDY4MTM0ZTQ3MmE1NzgyYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9tYWMvU3RvcmFnZS9XZWJTdG9yYWdlTWFuYWdlci5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0L21hYy9TdG9yYWdlL1dlYlN0b3JhZ2VNYW5hZ2VyLm1tCkBAIC0xMTcsNyArMTE3
LDcgQEAgKyAoTlNTdHJpbmcgKilfc3RvcmFnZURpcmVjdG9yeVBhdGgKIAogKyAodm9pZClzZXRT
dG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWw6KGRvdWJsZSlpbnRlcnZhbAogewotICAgIFdlYktp
dDo6U3RvcmFnZVRyYWNrZXI6OnRyYWNrZXIoKS5zZXRTdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2
YWwoaW50ZXJ2YWwpOworICAgIFdlYktpdDo6U3RvcmFnZVRyYWNrZXI6OnRyYWNrZXIoKS5zZXRT
dG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwoMV9zICogaW50ZXJ2YWwpOwogfQogCiArICh2b2lk
KWNsb3NlSWRsZUxvY2FsU3RvcmFnZURhdGFiYXNlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC93aW4vUGx1Z2lucy9QbHVnaW5NZXNzYWdlVGhyb3R0bGVyV2luLmNwcCBiL1NvdXJjZS9XZWJL
aXQvd2luL1BsdWdpbnMvUGx1Z2luTWVzc2FnZVRocm90dGxlcldpbi5jcHAKaW5kZXggYTUzYzMx
NWMyMDE4NDM5NGYzYjQwNjRhM2Y1NDQ3NTczZWQyY2YwOS4uNDMzMWFmYWYxOWQzMWIyMTQ4MDdl
OWUzZmE3MmU4MzgwN2I5YjEyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vUGx1Z2lu
cy9QbHVnaW5NZXNzYWdlVGhyb3R0bGVyV2luLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9Q
bHVnaW5zL1BsdWdpbk1lc3NhZ2VUaHJvdHRsZXJXaW4uY3BwCkBAIC0zOSw3ICszOSw3IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIC8vIFRoaXMgdmFsdWUgYWxsb3dzIEZsYXNoIDYwIG1lc3NhZ2Vz
L3NlY29uZCwgd2hpY2ggc2hvdWxkIGJlIGVub3VnaCBmb3IgdmlkZW8KIC8vIHBsYXliYWNrLCBh
bmQgYWxzbyBnZXRzIHVzIG92ZXIgdGhlIGxpbWl0IGZvciBraWNraW5nIGludG8gaGlnaC1yZXNv
bHV0aW9uCiAvLyB0aW1lciBtb2RlIChzZWUgU2hhcmVkVGltZXJXaW4uY3BwKS4KLXN0YXRpYyBj
b25zdCBkb3VibGUgTWVzc2FnZVRocm90dGxlVGltZUludGVydmFsID0gMC4wMTY7CitzdGF0aWMg
Y29uc3QgU2Vjb25kcyBtZXNzYWdlVGhyb3R0bGVUaW1lSW50ZXJ2YWwgeyAxNl9tcyB9OwogCiAv
LyBEdXJpbmcgYSBjb250aW51b3VzIHN0cmVhbSBvZiBtZXNzYWdlcywgcHJvY2VzcyBvbmUgZXZl
cnkgNW1zLgogc3RhdGljIGNvbnN0IGRvdWJsZSBNZXNzYWdlRGlyZWN0UHJvY2Vzc2luZ0ludGVy
dmFsID0gMC4wMDU7CkBAIC05NSw3ICs5NSw3IEBAIHZvaWQgUGx1Z2luTWVzc2FnZVRocm90dGxl
cldpbjo6YXBwZW5kTWVzc2FnZShIV05EIGhXbmQsIFVJTlQgbXNnLCBXUEFSQU0gd1BhcmFtCiAg
ICAgfQogCiAgICAgaWYgKCFtX21lc3NhZ2VUaHJvdHRsZVRpbWVyLmlzQWN0aXZlKCkpCi0gICAg
ICAgIG1fbWVzc2FnZVRocm90dGxlVGltZXIuc3RhcnRPbmVTaG90KE1lc3NhZ2VUaHJvdHRsZVRp
bWVJbnRlcnZhbCk7CisgICAgICAgIG1fbWVzc2FnZVRocm90dGxlVGltZXIuc3RhcnRPbmVTaG90
KG1lc3NhZ2VUaHJvdHRsZVRpbWVJbnRlcnZhbCk7CiB9CiAKIHZvaWQgUGx1Z2luTWVzc2FnZVRo
cm90dGxlcldpbjo6cHJvY2Vzc1F1ZXVlZE1lc3NhZ2UoKQpAQCAtMTE4LDcgKzExOCw3IEBAIHZv
aWQgUGx1Z2luTWVzc2FnZVRocm90dGxlcldpbjo6bWVzc2FnZVRocm90dGxlVGltZXJGaXJlZCgp
CiAgICAgcHJvY2Vzc1F1ZXVlZE1lc3NhZ2UoKTsKIAogICAgIGlmIChtX2Zyb250KQotICAgICAg
ICBtX21lc3NhZ2VUaHJvdHRsZVRpbWVyLnN0YXJ0T25lU2hvdChNZXNzYWdlVGhyb3R0bGVUaW1l
SW50ZXJ2YWwpOworICAgICAgICBtX21lc3NhZ2VUaHJvdHRsZVRpbWVyLnN0YXJ0T25lU2hvdCht
ZXNzYWdlVGhyb3R0bGVUaW1lSW50ZXJ2YWwpOwogfQogCiBQbHVnaW5NZXNzYWdlKiBQbHVnaW5N
ZXNzYWdlVGhyb3R0bGVyV2luOjphbGxvY2F0ZU1lc3NhZ2UoKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5WaWV3V2luLmNwcCBiL1NvdXJjZS9XZWJLaXQvd2lu
L1BsdWdpbnMvUGx1Z2luVmlld1dpbi5jcHAKaW5kZXggNzVjYjc3ZjFmM2Q0ZGEzYzFkNjY3N2Yx
NzliNDIyZWZkMzIwMDM3NC4uMjRmYjEzZWQzMTM1YTU3YjU4NGQwNTBkMjkwZDUyODU4MDY1MDA3
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5WaWV3V2luLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpblZpZXdXaW4uY3BwCkBAIC04
MzksNyArODM5LDcgQEAgdm9pZCBQbHVnaW5WaWV3OjppbnZhbGlkYXRlUmVjdChOUFJlY3QqIHJl
Y3QpCiAgICAgICAgIGlmIChtX3BsdWdpbi0+cXVpcmtzKCkuY29udGFpbnMoUGx1Z2luUXVpcmtU
aHJvdHRsZUludmFsaWRhdGUpKSB7CiAgICAgICAgICAgICBtX2ludmFsaWRSZWN0cy5hcHBlbmQo
cik7CiAgICAgICAgICAgICBpZiAoIW1faW52YWxpZGF0ZVRpbWVyLmlzQWN0aXZlKCkpCi0gICAg
ICAgICAgICAgICAgbV9pbnZhbGlkYXRlVGltZXIuc3RhcnRPbmVTaG90KDAuMDAxKTsKKyAgICAg
ICAgICAgICAgICBtX2ludmFsaWRhdGVUaW1lci5zdGFydE9uZVNob3QoMV9tcyk7CiAgICAgICAg
IH0gZWxzZQogICAgICAgICAgICAgaW52YWxpZGF0ZVJlY3Qocik7CiAgICAgfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvQWNjZWxlcmF0ZWRDb21wb3NpdGlu
Z0NvbnRleHQuY3BwIGIvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvQWNjZWxlcmF0
ZWRDb21wb3NpdGluZ0NvbnRleHQuY3BwCmluZGV4IGZjMGQxNTU3MGZlYWVjOWRiMzg2OTcwOGI1
YWI3YzdhNGFkMjIyODIuLjVlMTZlMjBmMTljMTJiZjU1YjBmZGY4OTgxZDcwOTM4MDhjODRlYWIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L0FjY2VsZXJhdGVk
Q29tcG9zaXRpbmdDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3Vw
cG9ydC9BY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dC5jcHAKQEAgLTM0OSw3ICszNDksNyBA
QCB2b2lkIEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0OjpzY2hlZHVsZUxheWVyRmx1c2go
KQogICAgIGlmIChtX2xheWVyRmx1c2hUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICByZXR1cm47
CiAKLSAgICBtX2xheWVyRmx1c2hUaW1lci5zdGFydE9uZVNob3QoMC4wNSk7CisgICAgbV9sYXll
ckZsdXNoVGltZXIuc3RhcnRPbmVTaG90KDUwX21zKTsKIH0KIAogYm9vbCBBY2NlbGVyYXRlZENv
bXBvc2l0aW5nQ29udGV4dDo6Zmx1c2hQZW5kaW5nTGF5ZXJDaGFuZ2VzKCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL1BpbmdMb2FkLmggYi9Tb3VyY2UvV2ViS2l0
Mi9OZXR3b3JrUHJvY2Vzcy9QaW5nTG9hZC5oCmluZGV4IGYwMTQ0ZDY4OGRmNjNlOTVkNDQ2OTQ4
NmM1NmM4NjZkODg5YjdhNjEuLjM5YmUwNmQzZTFiYzQ0ZmUyMWE2OTY0MGNkYTQ5ZTRkODI2NWFk
ZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL1BpbmdMb2FkLmgK
KysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvUGluZ0xvYWQuaApAQCAtNDYsNyAr
NDYsNyBAQCBwdWJsaWM6CiAKICAgICAgICAgLy8gSWYgdGhlIHNlcnZlciBuZXZlciByZXNwb25k
cywgdGhpcyBvYmplY3Qgd2lsbCBoYW5nIGFyb3VuZCBmb3JldmVyLgogICAgICAgICAvLyBTZXQg
YSB2ZXJ5IGdlbmVyb3VzIHRpbWVvdXQsIGp1c3QgaW4gY2FzZS4KLSAgICAgICAgbV90aW1lb3V0
VGltZXIuc3RhcnRPbmVTaG90KDYwMDAwKTsKKyAgICAgICAgbV90aW1lb3V0VGltZXIuc3RhcnRP
bmVTaG90KDYwMDAwX3MpOwogICAgIH0KICAgICAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9zb3VwL05ldHdvcmtEYXRhVGFza1NvdXAuY3BwIGIv
U291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mvc291cC9OZXR3b3JrRGF0YVRhc2tTb3VwLmNw
cAppbmRleCA1ZmY5Yjc4NDA5ZWI4MDY5NjU5MWM5MjliZThjNzU5MDU0YjNlNmRhLi45MGJlMjNk
ZjM5MDNjY2ZmZTYyZmVmNmQ2NTVmMmFhZDEyMWYzMTdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9OZXR3b3JrUHJvY2Vzcy9zb3VwL05ldHdvcmtEYXRhVGFza1NvdXAuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL3NvdXAvTmV0d29ya0RhdGFUYXNrU291cC5jcHAK
QEAgLTI5MSw3ICsyOTEsNyBAQCB2b2lkIE5ldHdvcmtEYXRhVGFza1NvdXA6OnRpbWVvdXRGaXJl
ZCgpCiB2b2lkIE5ldHdvcmtEYXRhVGFza1NvdXA6OnN0YXJ0VGltZW91dCgpCiB7CiAgICAgaWYg
KG1fZmlyc3RSZXF1ZXN0LnRpbWVvdXRJbnRlcnZhbCgpID4gMCkKLSAgICAgICAgbV90aW1lb3V0
U291cmNlLnN0YXJ0T25lU2hvdChtX2ZpcnN0UmVxdWVzdC50aW1lb3V0SW50ZXJ2YWwoKSk7Cisg
ICAgICAgIG1fdGltZW91dFNvdXJjZS5zdGFydE9uZVNob3QoMV9zICogbV9maXJzdFJlcXVlc3Qu
dGltZW91dEludGVydmFsKCkpOwogfQogCiB2b2lkIE5ldHdvcmtEYXRhVGFza1NvdXA6OnN0b3BU
aW1lb3V0KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9Db25uZWN0
aW9uLmggYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvQ29ubmVjdGlvbi5oCmluZGV4IGNi
MDBiMmRjMmE2ZDAyMzg0Y2UzNWIzYzE1Y2QzMGFmZGY0YTZjNmIuLmZjZTFlNjNiYzI5ZmNiYjJl
ZTNiZTcyMDYxZjgzNmFiNzNmZjc4OWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsYXRm
b3JtL0lQQy9Db25uZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL0Nv
bm5lY3Rpb24uaApAQCAtMTg5LDcgKzE4OSw3IEBAIHB1YmxpYzoKIAogI2lmIFBMQVRGT1JNKENP
Q09BKQogICAgIGJvb2wga2lsbCgpOwotICAgIHZvaWQgdGVybWluYXRlU29vbihkb3VibGUgaW50
ZXJ2YWxJblNlY29uZHMpOworICAgIHZvaWQgdGVybWluYXRlU29vbihTZWNvbmRzKTsKICNlbmRp
ZgogCiAgICAgYm9vbCBpc1ZhbGlkKCkgY29uc3QgeyByZXR1cm4gbV9pc1ZhbGlkOyB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvbWFjL0Nvbm5lY3Rpb25NYWMubW0g
Yi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvbWFjL0Nvbm5lY3Rpb25NYWMubW0KaW5kZXgg
NWU2NWJmMzU2MDI1OGIzMmI2MGUwNDVhODcxMjUxOTU3ODQxZmU4MS4uZTZhYjlkZDMzM2NkNTRl
YzBkM2U3YmMwZWJhNGE1MGFhZmMzNjcyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGxh
dGZvcm0vSVBDL21hYy9Db25uZWN0aW9uTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRm
b3JtL0lQQy9tYWMvQ29ubmVjdGlvbk1hYy5tbQpAQCAtODIsMjAgKzgyLDIwIEBAIGVudW0gewog
Ly8gICAgdG8gZW5zdXJlIGl0IGhhcyBhIGNoYW5jZSB0byB0ZXJtaW5hdGUgY2xlYW5seS4KIGNs
YXNzIENvbm5lY3Rpb25UZXJtaW5hdGlvbldhdGNoZG9nIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMg
dm9pZCBjcmVhdGVDb25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZyhPU09iamVjdFB0cjx4cGNf
Y29ubmVjdGlvbl90PiYgeHBjQ29ubmVjdGlvbiwgZG91YmxlIGludGVydmFsSW5TZWNvbmRzKQor
ICAgIHN0YXRpYyB2b2lkIGNyZWF0ZUNvbm5lY3Rpb25UZXJtaW5hdGlvbldhdGNoZG9nKE9TT2Jq
ZWN0UHRyPHhwY19jb25uZWN0aW9uX3Q+JiB4cGNDb25uZWN0aW9uLCBTZWNvbmRzIGludGVydmFs
KQogICAgIHsKLSAgICAgICAgbmV3IENvbm5lY3Rpb25UZXJtaW5hdGlvbldhdGNoZG9nKHhwY0Nv
bm5lY3Rpb24sIGludGVydmFsSW5TZWNvbmRzKTsKKyAgICAgICAgbmV3IENvbm5lY3Rpb25UZXJt
aW5hdGlvbldhdGNoZG9nKHhwY0Nvbm5lY3Rpb24sIGludGVydmFsKTsKICAgICB9CiAgICAgCiBw
cml2YXRlOgotICAgIENvbm5lY3Rpb25UZXJtaW5hdGlvbldhdGNoZG9nKE9TT2JqZWN0UHRyPHhw
Y19jb25uZWN0aW9uX3Q+JiB4cGNDb25uZWN0aW9uLCBkb3VibGUgaW50ZXJ2YWxJblNlY29uZHMp
CisgICAgQ29ubmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hkb2coT1NPYmplY3RQdHI8eHBjX2Nvbm5l
Y3Rpb25fdD4mIHhwY0Nvbm5lY3Rpb24sIFNlY29uZHMgaW50ZXJ2YWwpCiAgICAgICAgIDogbV94
cGNDb25uZWN0aW9uKHhwY0Nvbm5lY3Rpb24pCiAgICAgICAgICwgbV93YXRjaGRvZ1RpbWVyKFJ1
bkxvb3A6Om1haW4oKSwgdGhpcywgJkNvbm5lY3Rpb25UZXJtaW5hdGlvbldhdGNoZG9nOjp3YXRj
aGRvZ1RpbWVyRmlyZWQpCiAjaWYgUExBVEZPUk0oSU9TKQogICAgICAgICAsIG1fYXNzZXJ0aW9u
KHN0ZDo6bWFrZV91bmlxdWU8V2ViS2l0OjpQcm9jZXNzQW5kVUlBc3NlcnRpb24+KHhwY19jb25u
ZWN0aW9uX2dldF9waWQobV94cGNDb25uZWN0aW9uLmdldCgpKSwgV2ViS2l0OjpBc3NlcnRpb25T
dGF0ZTo6QmFja2dyb3VuZCkpCiAjZW5kaWYKICAgICB7Ci0gICAgICAgIG1fd2F0Y2hkb2dUaW1l
ci5zdGFydE9uZVNob3QoaW50ZXJ2YWxJblNlY29uZHMpOworICAgICAgICBtX3dhdGNoZG9nVGlt
ZXIuc3RhcnRPbmVTaG90KGludGVydmFsKTsKICAgICB9CiAgICAgCiAgICAgdm9pZCB3YXRjaGRv
Z1RpbWVyRmlyZWQoKQpAQCAtMTU1LDEwICsxNTUsMTAgQEAgdm9pZCBDb25uZWN0aW9uOjpwbGF0
Zm9ybUludmFsaWRhdGUoKQogI2VuZGlmCiB9CiAgICAgCi12b2lkIENvbm5lY3Rpb246OnRlcm1p
bmF0ZVNvb24oZG91YmxlIGludGVydmFsSW5TZWNvbmRzKQordm9pZCBDb25uZWN0aW9uOjp0ZXJt
aW5hdGVTb29uKFNlY29uZHMgaW50ZXJ2YWwpCiB7CiAgICAgaWYgKG1feHBjQ29ubmVjdGlvbikK
LSAgICAgICAgQ29ubmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hkb2c6OmNyZWF0ZUNvbm5lY3Rpb25U
ZXJtaW5hdGlvbldhdGNoZG9nKG1feHBjQ29ubmVjdGlvbiwgaW50ZXJ2YWxJblNlY29uZHMpOwor
ICAgICAgICBDb25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZzo6Y3JlYXRlQ29ubmVjdGlvblRl
cm1pbmF0aW9uV2F0Y2hkb2cobV94cGNDb25uZWN0aW9uLCBpbnRlcnZhbCk7CiB9CiAgICAgCiB2
b2lkIENvbm5lY3Rpb246OnBsYXRmb3JtSW5pdGlhbGl6ZShJZGVudGlmaWVyIGlkZW50aWZpZXIp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3Mu
Y3BwIGIvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmNwcAppbmRl
eCA3NTgxNTNiZDliYmM3ZDUxMTcyNWNhYTYzZWMzNTczNTJmNWU2ZmUwLi45Njk5YjA1MzM0Y2Jh
MWE5ZDkwMjBmMTg5YWMzYmIxODRlNDQ4MDk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9Q
bHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsdWdp
blByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5jcHAKQEAgLTIxNiw5ICsyMTYsOSBAQCB2b2lkIFBsdWdp
blByb2Nlc3M6OmRlbGV0ZVdlYnNpdGVEYXRhRm9ySG9zdE5hbWVzKGNvbnN0IFZlY3RvcjxTdHJp
bmc+JiBob3N0TmFtZQogICAgIHBhcmVudFByb2Nlc3NDb25uZWN0aW9uKCktPnNlbmQoTWVzc2Fn
ZXM6OlBsdWdpblByb2Nlc3NQcm94eTo6RGlkRGVsZXRlV2Vic2l0ZURhdGFGb3JIb3N0TmFtZXMo
Y2FsbGJhY2tJRCksIDApOwogfQogCi12b2lkIFBsdWdpblByb2Nlc3M6OnNldE1pbmltdW1MaWZl
dGltZShkb3VibGUgbGlmZXRpbWUpCit2b2lkIFBsdWdpblByb2Nlc3M6OnNldE1pbmltdW1MaWZl
dGltZShTZWNvbmRzIGxpZmV0aW1lKQogewotICAgIGlmIChsaWZldGltZSA8PSAwLjApCisgICAg
aWYgKGxpZmV0aW1lIDw9IDBfcykKICAgICAgICAgcmV0dXJuOwogICAgIAogICAgIGRpc2FibGVU
ZXJtaW5hdGlvbigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9Q
bHVnaW5Qcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nl
c3MuaAppbmRleCA5MmM2Nzc3NTI2YWZhMGQwZTkwZDc3ZDc2YmZhZjUyZTE3MjM5OGU3Li4yNDc5
YTQzNzVkN2UzNTA3MTU2Mjc2NmNmYmZiNGI0ZDE5ZjNhZmYyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3MuaApAQCAtMTAxLDcgKzEwMSw3IEBAIHByaXZh
dGU6CiAKICAgICB2b2lkIHBsYXRmb3JtSW5pdGlhbGl6ZVBsdWdpblByb2Nlc3MoUGx1Z2luUHJv
Y2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYmKTsKICAgICAKLSAgICB2b2lkIHNldE1pbmltdW1MaWZl
dGltZShkb3VibGUpOworICAgIHZvaWQgc2V0TWluaW11bUxpZmV0aW1lKFNlY29uZHMpOwogICAg
IHZvaWQgbWluaW11bUxpZmV0aW1lVGltZXJGaXJlZCgpOwogICAgIC8vIE91ciB3ZWIgcHJvY2Vz
cyBjb25uZWN0aW9ucy4KICAgICBWZWN0b3I8UmVmUHRyPFdlYlByb2Nlc3NDb25uZWN0aW9uPj4g
bV93ZWJQcm9jZXNzQ29ubmVjdGlvbnM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvQ2hpbGRQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3Mu
Y3BwCmluZGV4IGJjMWYyZDZhYjZhNmFkMjYwZmNkYzYxNDVjMTY4Y2FmYTYyYWZmOGIuLmYxYTNh
MzhlOGJkNWRiZWQ2MmEwNTQxZGMyOGUyZjMyYWZjNGQ1N2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9DaGlsZFByb2Nlc3MuY3BwCkBAIC0zMyw4ICszMyw3IEBACiBuYW1lc3BhY2UgV2ViS2l0IHsK
IAogQ2hpbGRQcm9jZXNzOjpDaGlsZFByb2Nlc3MoKQotICAgIDogbV90ZXJtaW5hdGlvblRpbWVv
dXQoMCkKLSAgICAsIG1fdGVybWluYXRpb25Db3VudGVyKDApCisgICAgOiBtX3Rlcm1pbmF0aW9u
Q291bnRlcigwKQogICAgICwgbV90ZXJtaW5hdGlvblRpbWVyKFJ1bkxvb3A6Om1haW4oKSwgdGhp
cywgJkNoaWxkUHJvY2Vzczo6dGVybWluYXRpb25UaW1lckZpcmVkKQogICAgICwgbV9wcm9jZXNz
U3VwcHJlc3Npb25EaXNhYmxlZCgiUHJvY2VzcyBTdXBwcmVzc2lvbiBEaXNhYmxlZCBieSBVSVBy
b2Nlc3MiKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0NoaWxkUHJvY2Vz
cy5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0NoaWxkUHJvY2Vzcy5oCmluZGV4IDhiYTI0ZGU0
NTYyNjA3MDZhYWYwNDlkNGQwMTczYzJlMDE0NGM3MjguLjZmZTcyYjE3M2YwZjcwMDVlYzVkMzIx
NmNlZGM3YzdlYjVhZmI3OTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9DaGls
ZFByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ2hpbGRQcm9jZXNzLmgKQEAg
LTgxLDcgKzgxLDcgQEAgcHJvdGVjdGVkOgogICAgIGV4cGxpY2l0IENoaWxkUHJvY2VzcygpOwog
ICAgIHZpcnR1YWwgfkNoaWxkUHJvY2VzcygpOwogCi0gICAgdm9pZCBzZXRUZXJtaW5hdGlvblRp
bWVvdXQoZG91YmxlIHNlY29uZHMpIHsgbV90ZXJtaW5hdGlvblRpbWVvdXQgPSBzZWNvbmRzOyB9
CisgICAgdm9pZCBzZXRUZXJtaW5hdGlvblRpbWVvdXQoU2Vjb25kcyBzZWNvbmRzKSB7IG1fdGVy
bWluYXRpb25UaW1lb3V0ID0gc2Vjb25kczsgfQogCiAgICAgdmlydHVhbCB2b2lkIGluaXRpYWxp
emVQcm9jZXNzKGNvbnN0IENoaWxkUHJvY2Vzc0luaXRpYWxpemF0aW9uUGFyYW1ldGVycyYpOwog
ICAgIHZpcnR1YWwgdm9pZCBpbml0aWFsaXplUHJvY2Vzc05hbWUoY29uc3QgQ2hpbGRQcm9jZXNz
SW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzJik7CkBAIC0xMjAsNyArMTIwLDcgQEAgcHJpdmF0ZToK
IAogICAgIC8vIFRoZSB0aW1lb3V0LCBpbiBzZWNvbmRzLCBiZWZvcmUgdGhpcyBwcm9jZXNzIHdp
bGwgYmUgdGVybWluYXRlZCBpZiB0ZXJtaW5hdGlvbgogICAgIC8vIGhhcyBiZWVuIGVuYWJsZWQu
IElmIHRoZSB0aW1lb3V0IGlzIDAgc2Vjb25kcywgdGhlIHByb2Nlc3Mgd2lsbCBiZSB0ZXJtaW5h
dGVkIGltbWVkaWF0ZWx5LgotICAgIGRvdWJsZSBtX3Rlcm1pbmF0aW9uVGltZW91dDsKKyAgICBT
ZWNvbmRzIG1fdGVybWluYXRpb25UaW1lb3V0OwogCiAgICAgLy8gQSB0ZXJtaW5hdGlvbiBjb3Vu
dGVyOyB3aGVuIHRoZSBjb3VudGVyIHJlYWNoZXMgemVybywgdGhlIHByb2Nlc3Mgd2lsbCBiZSB0
ZXJtaW5hdGVkCiAgICAgLy8gYWZ0ZXIgYSBnaXZlbiBwZXJpb2Qgb2YgdGltZS4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL3RocmVhZGVkY29t
cG9zaXRvci9Db21wb3NpdGluZ1J1bkxvb3AuY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0Nv
b3JkaW5hdGVkR3JhcGhpY3MvdGhyZWFkZWRjb21wb3NpdG9yL0NvbXBvc2l0aW5nUnVuTG9vcC5j
cHAKaW5kZXggYWFkZDZhYmIyNmE1NmZhNDQ3NmJhYTU3ZmQxZmY5MTdjM2RjNjEyMC4uNTYxN2Ji
YWQwMTA3ZWU0ZWZmZDM3ZjE4MWYyYWVlY2MyYzNlYjlmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvdGhyZWFkZWRjb21wb3NpdG9yL0NvbXBv
c2l0aW5nUnVuTG9vcC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0Nvb3JkaW5hdGVk
R3JhcGhpY3MvdGhyZWFkZWRjb21wb3NpdG9yL0NvbXBvc2l0aW5nUnVuTG9vcC5jcHAKQEAgLTE1
NCw3ICsxNTQsNyBAQCB2b2lkIENvbXBvc2l0aW5nUnVuTG9vcDo6c3RhcnRVcGRhdGVUaW1lcihV
cGRhdGVUaW1pbmcgdGltaW5nKQogICAgIGlmICh0aW1pbmcgPT0gV2FpdFVudGlsTmV4dEZyYW1l
KQogICAgICAgICBuZXh0VXBkYXRlVGltZSA9IHN0ZDo6bWF4KCgxIC8gdGFyZ2V0RlBTKSAtICht
b25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSAtIG1fbGFzdFVwZGF0ZVRpbWUpLCAwLjApOwog
Ci0gICAgbV91cGRhdGVUaW1lci5zdGFydE9uZVNob3QobmV4dFVwZGF0ZVRpbWUpOworICAgIG1f
dXBkYXRlVGltZXIuc3RhcnRPbmVTaG90KDFfcyAqIG5leHRVcGRhdGVUaW1lKTsKIH0KIAogdm9p
ZCBDb21wb3NpdGluZ1J1bkxvb3A6OnN0b3BVcGRhdGVUaW1lcigpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJz
LmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ3JlYXRpb25Q
YXJhbWV0ZXJzLmgKaW5kZXggYTEyYTQ0NDViYjE2Y2FhZjY5MjczYjY0YTg2MzIxMDhlN2Q1NDlm
NC4uYjFhMzRhNGRmMWQyZDgyNTk4YWNhNmNmODQ1NGViNGZhMWNkZTZmMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc0NyZWF0aW9uUGFyYW1l
dGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL1BsdWdpblByb2Nlc3ND
cmVhdGlvblBhcmFtZXRlcnMuaApAQCAtMzAsNiArMzAsNyBAQAogCiAjaW5jbHVkZSAiQXR0YWNo
bWVudC5oIgogI2luY2x1ZGUgIlBsdWdpblByb2Nlc3NBdHRyaWJ1dGVzLmgiCisjaW5jbHVkZSA8
d3RmL1NlY29uZHMuaD4KIAogI2lmIFBMQVRGT1JNKENPQ09BKQogI2luY2x1ZGUgPFdlYkNvcmUv
TWFjaFNlbmRSaWdodC5oPgpAQCAtNTEsOCArNTIsOCBAQCBzdHJ1Y3QgUGx1Z2luUHJvY2Vzc0Ny
ZWF0aW9uUGFyYW1ldGVycyB7CiAgICAgUGx1Z2luUHJvY2Vzc1R5cGUgcHJvY2Vzc1R5cGU7CiAg
ICAgYm9vbCBzdXBwb3J0c0FzeW5jaHJvbm91c1BsdWdpbkluaXRpYWxpemF0aW9uOwogCi0gICAg
ZG91YmxlIG1pbmltdW1MaWZldGltZTsKLSAgICBkb3VibGUgdGVybWluYXRpb25UaW1lb3V0Owor
ICAgIFNlY29uZHMgbWluaW11bUxpZmV0aW1lOworICAgIFNlY29uZHMgdGVybWluYXRpb25UaW1l
b3V0OwogCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgV2ViQ29yZTo6TWFjaFNlbmRSaWdodCBh
Y2NlbGVyYXRlZENvbXBvc2l0aW5nUG9ydDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9XZWJNZW1vcnlTYW1wbGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJNZW1v
cnlTYW1wbGVyLmNwcAppbmRleCBiYWJjMjg4OGNiNzVmYjQ2ZjM4ODBkOGNkYjgzMWYyYTdkMjQ2
MjBiLi4xNTEzMzkwODhkYzVlMDBhOTBjMWEyY2E0YWFhNmY5MzgxMjVjMWNiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViTWVtb3J5U2FtcGxlci5jcHAKKysrIGIvU291cmNl
L1dlYktpdDIvU2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIuY3BwCkBAIC05MSw3ICs5MSw3IEBAIHZv
aWQgV2ViTWVtb3J5U2FtcGxlcjo6aW5pdGlhbGl6ZVRpbWVycyhkb3VibGUgaW50ZXJ2YWwpCiAg
ICAgbV9zYW1wbGVUaW1lci5zdGFydFJlcGVhdGluZygxX3MpOwogICAgIHByaW50ZigiU3RhcnRl
ZCBtZW1vcnkgc2FtcGxlciBmb3IgcHJvY2VzcyAlcyAlZCIsIHByb2Nlc3NOYW1lKCkudXRmOCgp
LmRhdGEoKSwgZ2V0cGlkKCkpOwogICAgIGlmIChpbnRlcnZhbCA+IDApIHsKLSAgICAgICAgbV9z
dG9wVGltZXIuc3RhcnRPbmVTaG90KGludGVydmFsKTsKKyAgICAgICAgbV9zdG9wVGltZXIuc3Rh
cnRPbmVTaG90KDFfcyAqIGludGVydmFsKTsKICAgICAgICAgcHJpbnRmKCIgZm9yIGEgaW50ZXJ2
YWwgb2YgJWcgc2Vjb25kcyIsIGludGVydmFsKTsKICAgICB9CiAgICAgcHJpbnRmKCI7IFNhbXBs
ZXIgbG9nIGZpbGUgc3RvcmVkIGF0OiAlc1xuIiwgbV9zYW1wbGVMb2dGaWxlUGF0aC51dGY4KCku
ZGF0YSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0
aW9uUGFyYW1ldGVycy5oCmluZGV4IGZkODA2YjIyMDI0NzllMTYwNDg2MWRmOThlMDhjYWIxYTFh
YTYwZDkuLjkyNmEzMjIwZmI2OGQxNWJlYmQwMDY4MjEzNWIwZDEyYTI1NDQ4YmQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgK
KysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMu
aApAQCAtMTI2LDcgKzEyNiw3IEBAIHN0cnVjdCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJz
IHsKICAgICBib29sIGhhc1JpY2hDb250ZW50U2VydmljZXMgeyBmYWxzZSB9OwogI2VuZGlmCiAK
LSAgICBkb3VibGUgdGVybWluYXRpb25UaW1lb3V0IHsgMCB9OworICAgIFNlY29uZHMgdGVybWlu
YXRpb25UaW1lb3V0OwogCiAgICAgVGV4dENoZWNrZXJTdGF0ZSB0ZXh0Q2hlY2tlclN0YXRlOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL0FQSVNlcmlh
bGl6ZWRTY3JpcHRWYWx1ZUNvY29hLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9D
b2NvYS9BUElTZXJpYWxpemVkU2NyaXB0VmFsdWVDb2NvYS5tbQppbmRleCA4Mzk0NWRmZWQzMWM1
OTE4MzU4YmU3ZjY3MTZiMWJmZTcwMTg4YjU5Li4xYjVkZDAzNjM5MWYyMmI5ZWJjNWI3MjNkOTIy
M2Y4MDI5MGU5YTE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0Nv
Y29hL0FQSVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUNvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvQVBJU2VyaWFsaXplZFNjcmlwdFZhbHVlQ29jb2EubW0KQEAg
LTQ2LDcgKzQ2LDcgQEAgcHVibGljOgogICAgIHsKICAgICAgICAgaWYgKCFtX2NvbnRleHQpIHsK
ICAgICAgICAgICAgIG1fY29udGV4dCA9IGFkb3B0TlMoW1tKU0NvbnRleHQgYWxsb2NdIGluaXRd
KTsKLSAgICAgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDEpOworICAgICAgICAgICAgbV90
aW1lci5zdGFydE9uZVNob3QoMV9zKTsKICAgICAgICAgfQogICAgICAgICByZXR1cm4gbV9jb250
ZXh0LmdldCgpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9D
aGlsZFByb2Nlc3NQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ2hpbGRQcm9j
ZXNzUHJveHkuY3BwCmluZGV4IGRkOGFlZjU1MGFhNjZjMjM5NTgzZjg4MjkzODIzNDI0Y2NiMzlk
YzQuLjI3YmVjMzYyMzE1Y2IxMTBmMWM4ZmU0NjM2YTY0ZDJkODY1ZTQ0OTggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9DaGlsZFByb2Nlc3NQcm94eS5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NoaWxkUHJvY2Vzc1Byb3h5LmNwcApAQCAtMTk3LDcgKzE5
Nyw3IEBAIHZvaWQgQ2hpbGRQcm9jZXNzUHJveHk6OnNodXREb3duUHJvY2VzcygpCiAgICAgICAg
IC8vIE9uIGlPUyBkZXBsb3kgYSB3YXRjaGRvZyBpbiB0aGUgVUkgcHJvY2Vzcywgc2luY2UgdGhl
IGNoaWxkIHByb2Nlc3MgbWF5IGJlIHN1c3BlbmRlZC4KICAgICAgICAgLy8gSWYgMzBzIGlzIGlu
c3VmZmljaWVudCBmb3IgYW55IG91dHN0YW5kaW5nIGFjdGl2aXR5IHRvIGNvbXBsZXRlIGNsZWFu
bHksIHRoZW4gaXQgd2lsbCBiZSBraWxsZWQuCiAgICAgICAgIEFTU0VSVChtX2Nvbm5lY3Rpb24p
OwotICAgICAgICBtX2Nvbm5lY3Rpb24tPnRlcm1pbmF0ZVNvb24oMzApOworICAgICAgICBtX2Nv
bm5lY3Rpb24tPnRlcm1pbmF0ZVNvb24oMzBfcyk7CiAjZW5kaWYKICAgICAgICAgYnJlYWs7CiAg
ICAgY2FzZSBTdGF0ZTo6VGVybWluYXRlZDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9Db2NvYS9OYXZpZ2F0aW9uU3RhdGUubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQ29jb2EvTmF2aWdhdGlvblN0YXRlLm1tCmluZGV4IDZiODFjZTQ1NjQxZDRmZGMzMjdhMDZm
NmNkY2U5OGRhMTNmZGFhMTkuLjk2Yjk2MDIwZGM4OTMzYjg0OTM2ZTFmMWRjYWRhMmM5ZGU4NmQ0
YmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9OYXZpZ2F0aW9u
U3RhdGUubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL05hdmlnYXRpb25T
dGF0ZS5tbQpAQCAtODg3LDcgKzg4Nyw3IEBAIHZvaWQgTmF2aWdhdGlvblN0YXRlOjpkaWRDaGFu
Z2VJc0xvYWRpbmcoKQogICAgIH0gZWxzZSB7CiAgICAgICAgIC8vIERlbGF5IHJlbGVhc2luZyB0
aGUgYmFja2dyb3VuZCBhY3Rpdml0eSBmb3IgMyBzZWNvbmRzIHRvIGdpdmUgdGhlIGFwcGxpY2F0
aW9uIGEgY2hhbmNlIHRvIHN0YXJ0IGFub3RoZXIgbmF2aWdhdGlvbgogICAgICAgICAvLyBiZWZv
cmUgc3VzcGVuZGluZyB0aGUgV2ViQ29udGVudCBwcm9jZXNzIDxyZGFyOi8vcHJvYmxlbS8yNzkx
MDk2ND4uCi0gICAgICAgIG1fcmVsZWFzZUFjdGl2aXR5VGltZXIuc3RhcnRPbmVTaG90KDNzKTsK
KyAgICAgICAgbV9yZWxlYXNlQWN0aXZpdHlUaW1lci5zdGFydE9uZVNob3QoM19zKTsKICAgICB9
CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1Zp
ZXdHZXN0dXJlQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2Ev
Vmlld0dlc3R1cmVDb250cm9sbGVyLmNwcAppbmRleCA3OTlkYTY1YzlhN2EzZTUxNGJjZjVjNGM5
NzAwNjMwMWU2NjI5N2YzLi5jNGQzMDAxMGRkMzdjYWJlZmE3MGRiMjQ5NWRmMzFiNGU3NzE0NDM4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvVmlld0dlc3R1cmVD
b250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvVmlld0dl
c3R1cmVDb250cm9sbGVyLmNwcApAQCAtNDAsMTMgKzQwLDEzIEBAIHVzaW5nIG5hbWVzcGFjZSBX
ZWJDb3JlOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotc3RhdGljIGNvbnN0IHN0ZDo6Y2hyb25v
OjpzZWNvbmRzIHN3aXBlU25hcHNob3RSZW1vdmFsV2F0Y2hkb2dBZnRlckZpcnN0VmlzdWFsbHlO
b25FbXB0eUxheW91dER1cmF0aW9uID0gM3M7Ci1zdGF0aWMgY29uc3QgU2Vjb25kcyBzd2lwZVNu
YXBzaG90UmVtb3ZhbEFjdGl2ZUxvYWRNb25pdG9yaW5nSW50ZXJ2YWwgPSAyNTBfbXM7CitzdGF0
aWMgY29uc3QgU2Vjb25kcyBzd2lwZVNuYXBzaG90UmVtb3ZhbFdhdGNoZG9nQWZ0ZXJGaXJzdFZp
c3VhbGx5Tm9uRW1wdHlMYXlvdXREdXJhdGlvbiB7IDNfcyB9Oworc3RhdGljIGNvbnN0IFNlY29u
ZHMgc3dpcGVTbmFwc2hvdFJlbW92YWxBY3RpdmVMb2FkTW9uaXRvcmluZ0ludGVydmFsIHsgMjUw
X21zIH07CiAKICNpZiBQTEFURk9STShNQUMpCi1zdGF0aWMgY29uc3Qgc3RkOjpjaHJvbm86OnNl
Y29uZHMgc3dpcGVTbmFwc2hvdFJlbW92YWxXYXRjaGRvZ0R1cmF0aW9uID0gNXM7CitzdGF0aWMg
Y29uc3QgU2Vjb25kcyBzd2lwZVNuYXBzaG90UmVtb3ZhbFdhdGNoZG9nRHVyYXRpb24gPSA1X3M7
CiAjZWxzZQotc3RhdGljIGNvbnN0IHN0ZDo6Y2hyb25vOjpzZWNvbmRzIHN3aXBlU25hcHNob3RS
ZW1vdmFsV2F0Y2hkb2dEdXJhdGlvbiA9IDNzOworc3RhdGljIGNvbnN0IFNlY29uZHMgc3dpcGVT
bmFwc2hvdFJlbW92YWxXYXRjaGRvZ0R1cmF0aW9uID0gM19zOwogI2VuZGlmCiAKIHN0YXRpYyBI
YXNoTWFwPHVpbnQ2NF90LCBWaWV3R2VzdHVyZUNvbnRyb2xsZXIqPiYgdmlld0dlc3R1cmVDb250
cm9sbGVyc0ZvckFsbFBhZ2VzKCkKQEAgLTI5NywxMCArMjk3LDEwIEBAIHZvaWQgVmlld0dlc3R1
cmVDb250cm9sbGVyOjpTbmFwc2hvdFJlbW92YWxUcmFja2VyOjp3YXRjaGRvZ1RpbWVyRmlyZWQo
KQogICAgIGZpcmVSZW1vdmFsQ2FsbGJhY2tJbW1lZGlhdGVseSgpOwogfQogCi12b2lkIFZpZXdH
ZXN0dXJlQ29udHJvbGxlcjo6U25hcHNob3RSZW1vdmFsVHJhY2tlcjo6c3RhcnRXYXRjaGRvZyhz
dGQ6OmNocm9ubzo6c2Vjb25kcyBkdXJhdGlvbikKK3ZvaWQgVmlld0dlc3R1cmVDb250cm9sbGVy
OjpTbmFwc2hvdFJlbW92YWxUcmFja2VyOjpzdGFydFdhdGNoZG9nKFNlY29uZHMgZHVyYXRpb24p
CiB7Ci0gICAgbG9nKFN0cmluZzo6Zm9ybWF0KCIocmUpc3RhcnRlZCB3YXRjaGRvZyB0aW1lciBm
b3IgJWxsZCBzZWNvbmRzIiwgZHVyYXRpb24uY291bnQoKSkpOwotICAgIG1fd2F0Y2hkb2dUaW1l
ci5zdGFydE9uZVNob3QoZHVyYXRpb24uY291bnQoKSk7CisgICAgbG9nKFN0cmluZzo6Zm9ybWF0
KCIocmUpc3RhcnRlZCB3YXRjaGRvZyB0aW1lciBmb3IgJS4xZiBzZWNvbmRzIiwgZHVyYXRpb24u
c2Vjb25kcygpKSk7CisgICAgbV93YXRjaGRvZ1RpbWVyLnN0YXJ0T25lU2hvdChkdXJhdGlvbik7
CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0NvY29hL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5oIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0NvY29hL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5oCmluZGV4IDFiZTU5YmM1M2Rm
MDRmMDY1ODVjYmNlMGJhY2JmMGRjMmY4NjE1OWIuLmYxOTNlNzgzMzNmNjllZmEzZjhiNmE3YmYw
OWM5ZDdkMDkwNWIxNDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2Nv
YS9WaWV3R2VzdHVyZUNvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
Q29jb2EvVmlld0dlc3R1cmVDb250cm9sbGVyLmgKQEAgLTE1OSw3ICsxNTksNyBAQCBwcml2YXRl
OgogICAgICAgICBib29sIGV2ZW50T2NjdXJyZWQoRXZlbnRzKTsKICAgICAgICAgYm9vbCBjYW5j
ZWxPdXRzdGFuZGluZ0V2ZW50KEV2ZW50cyk7CiAKLSAgICAgICAgdm9pZCBzdGFydFdhdGNoZG9n
KHN0ZDo6Y2hyb25vOjpzZWNvbmRzKTsKKyAgICAgICAgdm9pZCBzdGFydFdhdGNoZG9nKFNlY29u
ZHMpOwogCiAgICAgcHJpdmF0ZToKICAgICAgICAgc3RhdGljIFN0cmluZyBldmVudHNEZXNjcmlw
dGlvbihFdmVudHMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdp
bmdBcmVhUHJveHlJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJl
YVByb3h5SW1wbC5jcHAKaW5kZXggOWE5N2IzZmJlMjU4ZmM1NDIxMTliNWM2ODJhN2ExNjY4ZDll
NjBhNS4uMDliYTMwYjQ4M2QwZmM4NmYxODAxNDc5MGI2NjNhYzNkYmYyZWM2NCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHlJbXBsLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eUltcGwuY3BwCkBAIC0x
ODcsNyArMTg3LDcgQEAgdm9pZCBEcmF3aW5nQXJlYVByb3h5SW1wbDo6ZGlzY2FyZEJhY2tpbmdT
dG9yZVNvb24oKQogCiAgICAgLy8gV2UnbGwgd2FpdCB0aGlzIG1hbnkgc2Vjb25kcyBhZnRlciB0
aGUgbGFzdCBwYWludCBiZWZvcmUgdGhyb3dpbmcgYXdheSBvdXIgYmFja2luZyBzdG9yZSB0byBz
YXZlIG1lbW9yeS4KICAgICAvLyBGSVhNRTogSXQgd291bGQgYmUgc21hcnRlciB0byBtYWtlIHRo
aXMgZGVsYXkgYmFzZWQgb24gaG93IGV4cGVuc2l2ZSBwYWludGluZyBpcy4gU2VlIDxodHRwOi8v
d2Via2l0Lm9yZy9iLzU1NzMzPi4KLSAgICBzdGF0aWMgY29uc3QgZG91YmxlIGRpc2NhcmRCYWNr
aW5nU3RvcmVEZWxheSA9IDI7CisgICAgc3RhdGljIGNvbnN0IFNlY29uZHMgZGlzY2FyZEJhY2tp
bmdTdG9yZURlbGF5ID0gMl9zOwogCiAgICAgbV9kaXNjYXJkQmFja2luZ1N0b3JlVGltZXIuc3Rh
cnRPbmVTaG90KGRpc2NhcmRCYWNraW5nU3RvcmVEZWxheSk7CiB9CkBAIC0yMjgsNyArMjI4LDcg
QEAgdm9pZCBEcmF3aW5nQXJlYVByb3h5SW1wbDo6RHJhd2luZ01vbml0b3I6OnN0YXJ0KHN0ZDo6
ZnVuY3Rpb248dm9pZCAoQ2FsbGJhY2tCYXMKICAgICBtX2NhbGxiYWNrID0gY2FsbGJhY2s7CiAj
aWYgUExBVEZPUk0oR1RLKQogICAgIGdfc2lnbmFsX2Nvbm5lY3Rfc3dhcHBlZChtX3dlYlBhZ2Uu
dmlld1dpZGdldCgpLCAiZHJhdyIsIHJlaW50ZXJwcmV0X2Nhc3Q8R0NhbGxiYWNrPih3ZWJWaWV3
RHJhd0NhbGxiYWNrKSwgdGhpcyk7Ci0gICAgbV90aW1lci5zdGFydE9uZVNob3QoMSk7CisgICAg
bV90aW1lci5zdGFydE9uZVNob3QoMV9zKTsKICNlbHNlCiAgICAgbV90aW1lci5zdGFydE9uZVNo
b3QoMF9zKTsKICNlbmRpZgpAQCAtMjU1LDcgKzI1NSw3IEBAIHZvaWQgRHJhd2luZ0FyZWFQcm94
eUltcGw6OkRyYXdpbmdNb25pdG9yOjpkaWREcmF3KCkKICAgICBpZiAobW9ub3RvbmljYWxseUlu
Y3JlYXNpbmdUaW1lTVMoKSAtIG1fc3RhcnRUaW1lID4gMTAwMCkKICAgICAgICAgc3RvcCgpOwog
ICAgIGVsc2UKLSAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMC4xMDApOworICAgICAgICBt
X3RpbWVyLnN0YXJ0T25lU2hvdCgxMDBfbXMpOwogfQogCiB2b2lkIERyYXdpbmdBcmVhUHJveHlJ
bXBsOjpkaXNwYXRjaEFmdGVyRW5zdXJpbmdEcmF3aW5nKHN0ZDo6ZnVuY3Rpb248dm9pZChDYWxs
YmFja0Jhc2U6OkVycm9yKT4gY2FsbGJhY2tGdW5jdGlvbikKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9HYW1lcGFkL1VJR2FtZXBhZFByb3ZpZGVyLmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9HYW1lcGFkL1VJR2FtZXBhZFByb3ZpZGVyLmNwcAppbmRleCA2NTdj
NDE2ZjkwNmU1ZDA0MzkwMWZjM2U4MjQ0YjRkODc2MjY4MTBmLi4wYmVlNzU0ODM2MWFkNTc1NDNk
YmIwNzE4YjdiZTU3NGZhNGU2YWE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvR2FtZXBhZC9VSUdhbWVwYWRQcm92aWRlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0dhbWVwYWQvVUlHYW1lcGFkUHJvdmlkZXIuY3BwCkBAIC0zOSw3ICszOSw3IEBAIHVz
aW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotc3RhdGljIGNv
bnN0IGRvdWJsZSBtYXhpbXVtR2FtZXBhZFVwZGF0ZUludGVydmFsID0gMSAvIDEyMC4wOworc3Rh
dGljIGNvbnN0IFNlY29uZHMgbWF4aW11bUdhbWVwYWRVcGRhdGVJbnRlcnZhbCB7IDFfcyAvIDEy
MC4gfTsKIAogVUlHYW1lcGFkUHJvdmlkZXImIFVJR2FtZXBhZFByb3ZpZGVyOjpzaW5nbGV0b24o
KQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2lu
UHJvY2Vzc1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdp
blByb2Nlc3NQcm94eS5jcHAKaW5kZXggNWZmNTFiNTA5ZTg2ZjJiNTI0MjQwMjVjODI1Y2VmYmEx
MTNlYTJjMS4uYmFjZDczZTU0MDM0MGE0NDI2ZDYwZTkwZWNhNzk3MWJhNWIwZGE3OSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNz
UHJveHkuY3BwCkBAIC00NiwxMSArNDYsMTEgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAK
IG5hbWVzcGFjZSBXZWJLaXQgewogCi1zdGF0aWMgY29uc3QgZG91YmxlIG1pbmltdW1MaWZldGlt
ZSA9IDIgKiA2MDsKLXN0YXRpYyBjb25zdCBkb3VibGUgc25hcHNob3R0aW5nTWluaW11bUxpZmV0
aW1lID0gMzA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBtaW5pbXVtTGlmZXRpbWUgeyAyX21pbiB9
Oworc3RhdGljIGNvbnN0IFNlY29uZHMgc25hcHNob3R0aW5nTWluaW11bUxpZmV0aW1lIHsgMzBf
cyB9OwogCi1zdGF0aWMgY29uc3QgZG91YmxlIHNodXRkb3duVGltZW91dCA9IDEgKiA2MDsKLXN0
YXRpYyBjb25zdCBkb3VibGUgc25hcHNob3R0aW5nU2h1dGRvd25UaW1lb3V0ID0gMTU7CitzdGF0
aWMgY29uc3QgU2Vjb25kcyBzaHV0ZG93blRpbWVvdXQgeyAxX21pbiB9Oworc3RhdGljIGNvbnN0
IFNlY29uZHMgc25hcHNob3R0aW5nU2h1dGRvd25UaW1lb3V0IHsgMTVfcyB9OwogCiBzdGF0aWMg
dWludDY0X3QgZ2VuZXJhdGVDYWxsYmFja0lEKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9Qcm9jZXNzVGhyb3R0bGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9Qcm9jZXNzVGhyb3R0bGVyLmNwcAppbmRleCA3N2IwYjhjNzFmODhmOGJjMjA0OTAyYmY0
NmEyNmMzNDg1YTM3NTFmLi4wOTM4NjNjMTFjZDY3MDQ3YzFjZTNlMjBjNzk5YzM2NmVkNzg1YTQ2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUHJvY2Vzc1Rocm90dGxlci5j
cHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Byb2Nlc3NUaHJvdHRsZXIuY3BwCkBA
IC0zMSw3ICszMSw3IEBACiAKIG5hbWVzcGFjZSBXZWJLaXQgewogICAgIAotc3RhdGljIGNvbnN0
IHVuc2lnbmVkIHByb2Nlc3NTdXNwZW5zaW9uVGltZW91dCA9IDMwOworc3RhdGljIGNvbnN0IFNl
Y29uZHMgcHJvY2Vzc1N1c3BlbnNpb25UaW1lb3V0IHsgMzBfcyB9OwogICAgIAogUHJvY2Vzc1Ro
cm90dGxlcjo6UHJvY2Vzc1Rocm90dGxlcihQcm9jZXNzVGhyb3R0bGVyQ2xpZW50JiBwcm9jZXNz
KQogICAgIDogbV9wcm9jZXNzKHByb2Nlc3MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvUmVzcG9uc2l2ZW5lc3NUaW1lci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvUmVzcG9uc2l2ZW5lc3NUaW1lci5jcHAKaW5kZXggZmViNDY5ZjA4NDJiNWFlNjliMzZmMGZj
ZmQ2ODYxYzQwNjdlZWYyYi4uOWFlNWZkMWM3MTEwMzk0OTcxNjMwNWM5ZDkyYmJkZjUyNDY3NWYx
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Jlc3BvbnNpdmVuZXNzVGlt
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9SZXNwb25zaXZlbmVzc1RpbWVy
LmNwcApAQCAtMjgsNyArMjgsNyBAQAogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotc3RhdGljIGNv
bnN0IGRvdWJsZSByZXNwb25zaXZlbmVzc1RpbWVvdXQgPSAzOworc3RhdGljIGNvbnN0IFNlY29u
ZHMgcmVzcG9uc2l2ZW5lc3NUaW1lb3V0IHsgM19zIH07CiAKIFJlc3BvbnNpdmVuZXNzVGltZXI6
OlJlc3BvbnNpdmVuZXNzVGltZXIoUmVzcG9uc2l2ZW5lc3NUaW1lcjo6Q2xpZW50JiBjbGllbnQp
CiAgICAgOiBtX2NsaWVudChjbGllbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBy
b2Nlc3NQb29sLmNwcAppbmRleCAxZGQ3YWUyNDNiZjU5NmRmMjMwMDNiM2E2MzhkYTMyYTk0NDJj
M2NhLi5lZmU0NmY1NjcwNDM2Y2U2YzQ2Njk3YzgwZjdhZWM2OGE2ZTg4NzY5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKQEAgLTY4OSw3ICs2ODksNyBA
QCBXZWJQcm9jZXNzUHJveHkmIFdlYlByb2Nlc3NQb29sOjpjcmVhdGVOZXdXZWJQcm9jZXNzKFdl
YnNpdGVEYXRhU3RvcmUqIHdlYnNpdGVEYQogCiAgICAgcGFyYW1ldGVycy5pY29uRGF0YWJhc2VF
bmFibGVkID0gIWljb25EYXRhYmFzZVBhdGgoKS5pc0VtcHR5KCk7CiAKLSAgICBwYXJhbWV0ZXJz
LnRlcm1pbmF0aW9uVGltZW91dCA9IDA7CisgICAgcGFyYW1ldGVycy50ZXJtaW5hdGlvblRpbWVv
dXQgPSAwX3M7CiAKICAgICBwYXJhbWV0ZXJzLnRleHRDaGVja2VyU3RhdGUgPSBUZXh0Q2hlY2tl
cjo6c3RhdGUoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2d0ay9H
ZXN0dXJlQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL0dlc3R1
cmVDb250cm9sbGVyLmNwcAppbmRleCAwNTU2ZWE3YzRmNmY5OThjODdmYTJlMjNjZTMwNzc3NGMx
MWRiNDc2Li5hMzczNDI5YzFjNWMyNzgxM2VkZTUxMTk1MGY5ZWEyMjQ0MWZjMzI5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL0dlc3R1cmVDb250cm9sbGVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL0dlc3R1cmVDb250cm9sbGVyLmNwcApA
QCAtMTI3LDcgKzEyNyw3IEBAIHZvaWQgR2VzdHVyZUNvbnRyb2xsZXI6OkRyYWdHZXN0dXJlOjpi
ZWdpbihEcmFnR2VzdHVyZSogZHJhZ0dlc3R1cmUsIGRvdWJsZSB4LCBkCiAgICAgR3RrV2lkZ2V0
KiB3aWRnZXQgPSBndGtfZXZlbnRfY29udHJvbGxlcl9nZXRfd2lkZ2V0KEdUS19FVkVOVF9DT05U
Uk9MTEVSKGdlc3R1cmUpKTsKICAgICB1bnNpZ25lZCBkZWxheTsKICAgICBnX29iamVjdF9nZXQo
Z3RrX3dpZGdldF9nZXRfc2V0dGluZ3Mod2lkZ2V0KSwgImd0ay1sb25nLXByZXNzLXRpbWUiLCAm
ZGVsYXksIG51bGxwdHIpOwotICAgIGRyYWdHZXN0dXJlLT5tX2xvbmdQcmVzc1RpbWVvdXQuc3Rh
cnRPbmVTaG90KGRlbGF5IC8gMTAwMC4wKTsKKyAgICBkcmFnR2VzdHVyZS0+bV9sb25nUHJlc3NU
aW1lb3V0LnN0YXJ0T25lU2hvdCgxX21zICogZGVsYXkpOwogfQogCiB2b2lkIEdlc3R1cmVDb250
cm9sbGVyOjpEcmFnR2VzdHVyZTo6dXBkYXRlKERyYWdHZXN0dXJlKiBkcmFnR2VzdHVyZSwgZG91
YmxlIHgsIGRvdWJsZSB5LCBHdGtHZXN0dXJlKiBnZXN0dXJlKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL21hYy9XZWJJbnNwZWN0b3JQcm94eU1hYy5tbSBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV2ViSW5zcGVjdG9yUHJveHlNYWMubW0KaW5kZXggZGJkNDA0
MmQzN2RlNDdkYzRhYmVjNjljOTJlNzQwYmMwMmQwN2EwYS4uMmM0NTdjN2E4ZDg3ZWM3OTVhN2Qy
ODRmODg0MWQ3NzM4MjkzZjJhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L21hYy9XZWJJbnNwZWN0b3JQcm94eU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvbWFjL1dlYkluc3BlY3RvclByb3h5TWFjLm1tCkBAIC01Miw3ICs1Miw3IEBAIHN0YXRpYyBj
b25zdCBOU1VJbnRlZ2VyIHdpbmRvd1N0eWxlTWFzayA9IE5TV2luZG93U3R5bGVNYXNrVGl0bGVk
IHwgTlNXaW5kb3dTdHlsCiAKIC8vIFRoZSB0aW1lIHdlIGtlZXAgb3VyIFdlYlZpZXcgYWxpdmUg
YmVmb3JlIGNsb3NpbmcgaXQgYW5kIGl0cyBwcm9jZXNzLgogLy8gUmV1c2luZyB0aGUgV2ViVmll
dyBpbXByb3ZlcyBzdGFydCB1cCB0aW1lIGZvciBwZW9wbGUgdGhhdCBqdW1wIGluIGFuZCBvdXQg
b2YgdGhlIEluc3BlY3Rvci4KLXN0YXRpYyBjb25zdCB1bnNpZ25lZCB3ZWJWaWV3Q2xvc2VUaW1l
b3V0ID0gNjA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyB3ZWJWaWV3Q2xvc2VUaW1lb3V0IHsgMV9t
aW4gfTsKIAogLy8gV0tXZWJJbnNwZWN0b3JQcm94eU9iakNBZGFwdGVyIGlzIGEgaGVscGVyIE9i
akMgb2JqZWN0IHVzZWQgYXMgYSBkZWxlZ2F0ZSBvciBub3RpZmljYXRpb24gb2JzZXJ2ZXIKIC8v
IGZvciB0aGUgc29sZSBwdXJwb3NlIG9mIGdldHRpbmcgYmFjayBpbnRvIHRoZSBDKysgY29kZSBm
cm9tIGFuIE9iakMgY2FsbGVyLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL0FjY2VsZXJhdGVkRHJhd2luZ0FyZWEuY3BwIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL0FjY2VsZXJhdGVkRHJhd2luZ0FyZWEuY3BwCmluZGV4IGY0MjgyMTBm
YmFmYWIzMGQxODNiZWE4YTYyMWY3YzIwMzQ5NDQ4ZTUuLmUzYzU4Yzg2MDk2MGYwYmEyZWU5ZTgw
N2E4YTI3NThjZGE1YzA1MDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9BY2NlbGVyYXRlZERyYXdpbmdBcmVhLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvQWNjZWxlcmF0ZWREcmF3aW5nQXJlYS5jcHAKQEAgLTM4NCw3ICsz
ODQsNyBAQCB2b2lkIEFjY2VsZXJhdGVkRHJhd2luZ0FyZWE6OmV4aXRBY2NlbGVyYXRlZENvbXBv
c2l0aW5nTW9kZU5vdygpCiAgICAgbV9wcmV2aW91c0xheWVyVHJlZUhvc3QtPnNldElzRGlzY2Fy
ZGFibGUodHJ1ZSk7CiAgICAgbV9wcmV2aW91c0xheWVyVHJlZUhvc3QtPnBhdXNlUmVuZGVyaW5n
KCk7CiAgICAgbV9wcmV2aW91c0xheWVyVHJlZUhvc3QtPnNldExheWVyRmx1c2hTY2hlZHVsaW5n
RW5hYmxlZChmYWxzZSk7Ci0gICAgbV9kaXNjYXJkUHJldmlvdXNMYXllclRyZWVIb3N0VGltZXIu
c3RhcnRPbmVTaG90KDUpOworICAgIG1fZGlzY2FyZFByZXZpb3VzTGF5ZXJUcmVlSG9zdFRpbWVy
LnN0YXJ0T25lU2hvdCg1X3MpOwogI2Vsc2UKICAgICBtX2xheWVyVHJlZUhvc3QgPSBudWxscHRy
OwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
Q29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3QuY3BwIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0
ZWRMYXllclRyZWVIb3N0LmNwcAppbmRleCBhMTQxMDQzNDlkYzgxYzk2ZmY3OGViNGUzMTVjZGYz
NmFiMmU2OWQ3Li5iOGI5MzYwNzNjNzc4NjI2MjA5YWJlNzk5ODEzYmViYzhjNjJiODJhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFw
aGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVl
SG9zdC5jcHAKQEAgLTIzNCw3ICsyMzQsNyBAQCB2b2lkIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9z
dDo6c2NoZWR1bGVBbmltYXRpb24oKQogICAgICAgICByZXR1cm47CiAKICAgICBzY2hlZHVsZUxh
eWVyRmx1c2goKTsKLSAgICBtX2xheWVyRmx1c2hUaW1lci5zdGFydE9uZVNob3QobV9jb29yZGlu
YXRvci5uZXh0QW5pbWF0aW9uU2VydmljZVRpbWUoKSk7CisgICAgbV9sYXllckZsdXNoVGltZXIu
c3RhcnRPbmVTaG90KDFfcyAqIG1fY29vcmRpbmF0b3IubmV4dEFuaW1hdGlvblNlcnZpY2VUaW1l
KCkpOwogfQogCiB2b2lkIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6Y29tbWl0U2Nyb2xsT2Zm
c2V0KHVpbnQzMl90IGxheWVySUQsIGNvbnN0IFdlYkNvcmU6OkludFNpemUmIG9mZnNldCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCAyNWUx
YTUzZWJkMGY0YzgwMTBkMGUyMWFiOWZjOTA2NWEwZWIyMzI2Li5mMzA4ZDMwN2M4NmYyZWY3MmEy
MmE0ODU1YmY3ZGQ0YmE2YWM5ZTZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC01MzMzLDcgKzUzMzMsNyBAQCBzdGF0aWMgY29uc3QgZmxv
YXQgcHJpbWFyeVNuYXBzaG90dGVkUGx1Z0luU2VhcmNoQnVja2V0U2l6ZSA9IDEuMTsKIHN0YXRp
YyBjb25zdCBpbnQgcHJpbWFyeVNuYXBzaG90dGVkUGx1Z0luTWluaW11bVdpZHRoID0gNDAwOwog
c3RhdGljIGNvbnN0IGludCBwcmltYXJ5U25hcHNob3R0ZWRQbHVnSW5NaW5pbXVtSGVpZ2h0ID0g
MzAwOwogc3RhdGljIGNvbnN0IHVuc2lnbmVkIG1heFByaW1hcnlTbmFwc2hvdHRlZFBsdWdJbkRl
dGVjdGlvbkF0dGVtcHRzID0gMjsKLXN0YXRpYyBjb25zdCBpbnQgZGVmZXJyZWRQcmltYXJ5U25h
cHNob3R0ZWRQbHVnSW5EZXRlY3Rpb25EZWxheSA9IDM7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBk
ZWZlcnJlZFByaW1hcnlTbmFwc2hvdHRlZFBsdWdJbkRldGVjdGlvbkRlbGF5ID0gM19zOwogc3Rh
dGljIGNvbnN0IGZsb2F0IG92ZXJsYXBwaW5nSW1hZ2VCb3VuZHNTY2FsZSA9IDEuMTsKIHN0YXRp
YyBjb25zdCBmbG9hdCBtaW5pbXVtT3ZlcmxhcHBpbmdJbWFnZVRvUGx1Z2luRGltZW5zaW9uU2Nh
bGUgPSAuOTsKIApAQCAtNTQ0MSw3ICs1NDQxLDcgQEAgdm9pZCBXZWJQYWdlOjpkZXRlcm1pbmVQ
cmltYXJ5U25hcHNob3R0ZWRQbHVnSW4oKQogICAgIGlmICghY2FuZGlkYXRlUGx1Z0luKSB7CiAg
ICAgICAgIExPRyhQbHVnaW5zLCAiUHJpbWFyeSBQbHVnLUluIERldGVjdGlvbjogZmFpbCAtIGRp
ZCBub3QgZmluZCBhIGNhbmRpZGF0ZSBwbHVnLWluLiIpOwogICAgICAgICBpZiAobV9udW1iZXJP
ZlByaW1hcnlTbmFwc2hvdERldGVjdGlvbkF0dGVtcHRzIDwgbWF4UHJpbWFyeVNuYXBzaG90dGVk
UGx1Z0luRGV0ZWN0aW9uQXR0ZW1wdHMpIHsKLSAgICAgICAgICAgIExPRyhQbHVnaW5zLCAiUHJp
bWFyeSBQbHVnLUluIERldGVjdGlvbjogd2lsbCBhdHRlbXB0IGFnYWluIGluICVkcy4iLCBkZWZl
cnJlZFByaW1hcnlTbmFwc2hvdHRlZFBsdWdJbkRldGVjdGlvbkRlbGF5KTsKKyAgICAgICAgICAg
IExPRyhQbHVnaW5zLCAiUHJpbWFyeSBQbHVnLUluIERldGVjdGlvbjogd2lsbCBhdHRlbXB0IGFn
YWluIGluICUuMWYgcy4iLCBkZWZlcnJlZFByaW1hcnlTbmFwc2hvdHRlZFBsdWdJbkRldGVjdGlv
bkRlbGF5LnZhbHVlKCkpOwogICAgICAgICAgICAgbV9kZXRlcm1pbmVQcmltYXJ5U25hcHNob3R0
ZWRQbHVnSW5UaW1lci5zdGFydE9uZVNob3QoZGVmZXJyZWRQcmltYXJ5U25hcHNob3R0ZWRQbHVn
SW5EZXRlY3Rpb25EZWxheSk7CiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKaW5kZXggZjEzYmNhMGRjNzMzZDA5ZTAxNDNh
OTkwYTRkNDdhZjRhYjRlODk0OC4uNWI5NWM3OTQxNTNhNGJhYWIyMjc2MmE2OTQ2NjM5YTEzYWQ5
YmM1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCkBAIC0xNDMs
NyArMTQzLDcgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiBzdGF0aWMgY29uc3QgZG91Ymxl
IHBsdWdJbkF1dG9TdGFydEV4cGlyYXRpb25UaW1lVXBkYXRlVGhyZXNob2xkID0gMjkgKiAyNCAq
IDYwICogNjA7CiAKIC8vIFRoaXMgc2hvdWxkIGJlIGdyZWF0ZXIgdGhhbiB0aWxlUmV2YWxpZGF0
aW9uVGltZW91dCBpbiBUaWxlQ29udHJvbGxlci4KLXN0YXRpYyBjb25zdCBkb3VibGUgbm9uVmlz
aWJsZVByb2Nlc3NDbGVhbnVwRGVsYXkgPSAxMDsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIG5vblZp
c2libGVQcm9jZXNzQ2xlYW51cERlbGF5IHsgMTBfcyB9OwogCiBuYW1lc3BhY2UgV2ViS2l0IHsK
IApkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDYz
YjNmNTViNzA1ZTk0OGYzMDU5MTY1YzczZGZhM2MyYmE0Njk0OTQuLjQ1ZWEwYzNkNGQ2YTk1M2Jl
NGQzYTFjNWYxOGY0ZGVhOGZkMWYxNmEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysg
Yi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsNSArMSwxOSBAQAogMjAxNy0wNC0wOSAgQ2hyaXMgRHVt
ZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCisgICAgICAgIERyb3AgVGltZXI6OnN0YXJ0T25lU2hv
dCgpIG92ZXJsb2FkIHRha2luZyBhIGRvdWJsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcwNjU5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgRHJvcCBUaW1lcjo6c3RhcnRPbmVTaG90KCkgb3ZlcmxvYWQg
dGFraW5nIGEgZG91YmxlIGFzIHBlb3BsZSBzaG91bGQgdXNlIFNlY29uZHMgdHlwZSBub3cuCisK
KyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9SdW5Mb29wLmNwcDoKKyAgICAgICAg
KFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0
ZWRCdW5kbGUvZ3RrL1Rlc3RSdW5uZXJHdGsuY3BwOgorICAgICAgICAoV1RSOjpUZXN0UnVubmVy
Ojppbml0aWFsaXplV2FpdFRvRHVtcFdhdGNoZG9nVGltZXJJZk5lZWRlZCk6CisKKzIwMTctMDQt
MDkgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKwogICAgICAgICBEcm9wIFRpbWVy
OjpzdGFydFJlcGVhdGluZygpIG92ZXJsb2FkIHRha2luZyBhIGRvdWJsZQogICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcwNjU2CiAKZGlmZiAtLWdpdCBh
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1J1bkxvb3AuY3BwIGIvVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0cy9XVEYvUnVuTG9vcC5jcHAKaW5kZXggZDFkZTAzMWEwOGEwNzUxNGRmY2Rm
MDdhNWU1ZWU0YTM2YTMwNzczMC4uOTNiM2Q4YzI4ZjMyMDgxNzZjZDNiYzUyYjdmOWUzZDYxNGEw
NzkxNyAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvUnVuTG9vcC5j
cHAKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvUnVuTG9vcC5jcHAKQEAgLTk1
LDcgKzk1LDcgQEAgVEVTVChXVEZfUnVuTG9vcCwgT25lU2hvdFRpbWVyKQogCiAgICAgewogICAg
ICAgICBEZXJpdmVkVGltZXIgdGltZXIodGVzdEZpbmlzaGVkKTsKLSAgICAgICAgdGltZXIuc3Rh
cnRPbmVTaG90KDAuMSk7CisgICAgICAgIHRpbWVyLnN0YXJ0T25lU2hvdCgxMDBfbXMpOwogICAg
ICAgICBVdGlsOjpydW4oJnRlc3RGaW5pc2hlZCk7CiAgICAgfQogfQpkaWZmIC0tZ2l0IGEvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9ndGsvVGVzdFJ1bm5lckd0ay5jcHAg
Yi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2d0ay9UZXN0UnVubmVyR3Rr
LmNwcAppbmRleCBhOWY3ZjQwOWMwOWJmOTgzZDRhNzRiODNkZjNhOTFlNmRiNTlmMjdlLi5iOWFj
Y2NjNmM4Nzg0ZWM4ZThkOGMxNWFmMzcyZWZkMWJlZDM1ZWY1IDEwMDY0NAotLS0gYS9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2d0ay9UZXN0UnVubmVyR3RrLmNwcAorKysg
Yi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2d0ay9UZXN0UnVubmVyR3Rr
LmNwcApAQCAtNDgsNyArNDgsNyBAQCB2b2lkIFRlc3RSdW5uZXI6OmluaXRpYWxpemVXYWl0VG9E
dW1wV2F0Y2hkb2dUaW1lcklmTmVlZGVkKCkKICAgICBpZiAobV93YWl0VG9EdW1wV2F0Y2hkb2dU
aW1lci5pc0FjdGl2ZSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX3dhaXRUb0R1bXBXYXRj
aGRvZ1RpbWVyLnN0YXJ0T25lU2hvdChtX3RpbWVvdXQgLyAxMDAwLjApOworICAgIG1fd2FpdFRv
RHVtcFdhdGNoZG9nVGltZXIuc3RhcnRPbmVTaG90KDFfbXMgKiBtX3RpbWVvdXQpOwogfQogCiBK
U1JldGFpblB0cjxKU1N0cmluZ1JlZj4gVGVzdFJ1bm5lcjo6cGF0aFRvTG9jYWxSZXNvdXJjZShK
U1N0cmluZ1JlZiB1cmwpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>306653</attachid>
            <date>2017-04-09 22:14:38 -0700</date>
            <delta_ts>2017-04-09 22:19:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-170659-20170409221423.patch</filename>
            <type>text/plain</type>
            <size>150077</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE1MTY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjU2NmE5MGMzMjEyZGMz
MzAyMmE2MGViZWU2NDU1ODA1NTQ2ZGRiYy4uNWRmYTg3ZjkzZGZjMWJhNDljN2Y3ZGFmMWZkMzMx
MmEwN2E1YmRiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4MyBAQAorMjAxNy0wNC0wOSAgQ2hy
aXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIERyb3AgVGltZXI6OnN0YXJ0
T25lU2hvdCgpIG92ZXJsb2FkIHRha2luZyBhIGRvdWJsZQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcwNjU5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRHJvcCBUaW1lcjo6c3RhcnRPbmVTaG90KCkgb3Zl
cmxvYWQgdGFraW5nIGEgZG91YmxlIGFzIHBlb3BsZSBzaG91bGQgdXNlIFNlY29uZHMgdHlwZSBu
b3cuCisKKyAgICAgICAgKiBNb2R1bGVzL2dlb2xvY2F0aW9uL0dlb05vdGlmaWVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6Okdlb05vdGlmaWVyOjpzdGFydFRpbWVySWZOZWVkZWQpOgorICAgICAg
ICAqIE1vZHVsZXMvbWVkaWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6V2ViTWVkaWFTZXNzaW9uTWFuYWdlcjo6Y29uZmlndXJlV2F0Y2hkb2dU
aW1lcik6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXNlc3Npb24vV2ViTWVkaWFTZXNzaW9uTWFu
YWdlci5oOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vQ2FudmFzQ2FwdHVyZU1lZGlh
U3RyZWFtVHJhY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFzQ2FwdHVyZU1lZGlhU3Ry
ZWFtVHJhY2s6OlNvdXJjZTo6Y2FudmFzQ2hhbmdlZCk6CisgICAgICAgICogTW9kdWxlcy92aWJy
YXRpb24vVmlicmF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlZpYnJhdGlvbjo6dGltZXJG
aXJlZCk6CisgICAgICAgICogTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6V2ViU29ja2V0Q2hhbm5lbDo6Y2xvc2UpOgorICAgICAgICAq
IGFjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBWE9i
amVjdENhY2hlOjplbnF1ZXVlUGFzc3dvcmRWYWx1ZUNoYW5nZU5vdGlmaWNhdGlvbik6CisgICAg
ICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpwb3N0TGl2ZVJlZ2lvbkNoYW5nZU5vdGlmaWNh
dGlvbik6CisgICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpmb2N1c0FyaWFNb2RhbE5v
ZGUpOgorICAgICAgICAqIGNzcy9DU1NGb250RmFjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpD
U1NGb250RmFjZTo6c2V0U3RhdHVzKToKKyAgICAgICAgKiBjc3MvU3R5bGVSZXNvbHZlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJlc29sdmVyOjphZGRUb01hdGNoZWRQcm9wZXJ0aWVz
Q2FjaGUpOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpE
b2N1bWVudDo6c2V0VmlzdWFsVXBkYXRlc0FsbG93ZWQpOgorICAgICAgICAoV2ViQ29yZTo6RG9j
dW1lbnQ6OmZpbmlzaGVkUGFyc2luZyk6CisgICAgICAgICogZG9tL1NjcmlwdGVkQW5pbWF0aW9u
Q29udHJvbGxlci5jcHA6CisgICAgICAgICogZWRpdGluZy9BbHRlcm5hdGl2ZVRleHRDb250cm9s
bGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFsdGVybmF0aXZlVGV4dENvbnRyb2xsZXI6OnN0
YXJ0QWx0ZXJuYXRpdmVUZXh0VUlUaW1lcik6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVt
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmFkZEJlaGF2aW9y
UmVzdHJpY3Rpb25zT25FbmRJZk5lY2Vzc2FyeSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVk
aWFFbGVtZW50OjpoYW5kbGVTZWVrVG9QbGF5YmFja1Bvc2l0aW9uKToKKyAgICAgICAgKiBodG1s
L1NlYXJjaElucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZWFyY2hJbnB1dFR5cGU6
OnN0YXJ0U2VhcmNoRXZlbnRUaW1lcik6CisgICAgICAgICogaHRtbC9WYWxpZGF0aW9uTWVzc2Fn
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWYWxpZGF0aW9uTWVzc2FnZTo6c2V0TWVzc2FnZURP
TUFuZFN0YXJ0VGltZXIpOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29u
dGV4dEJhc2UuY3BwOgorICAgICAgICAqIGh0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRz
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFBhbmVsRWxlbWVudDo6c3RhcnRU
aW1lcik6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xQYW5lbEVsZW1lbnQ6Om1ha2VU
cmFuc3BhcmVudCk6CisgICAgICAgICogaHRtbC90cmFjay9WVFRSZWdpb24uY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6VlRUUmVnaW9uOjpzdGFydFRpbWVyKToKKyAgICAgICAgKiBpbnNwZWN0b3Iv
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbjo6ZnJhbWVTY2hlZHVsZWROYXZpZ2F0aW9uSW1wbCk6CisgICAgICAg
ICogaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oOgorICAgICAgICAoV2ViQ29y
ZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpmcmFtZVNjaGVkdWxlZE5hdmlnYXRpb24pOgor
ICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SW5zcGVjdG9yUGFnZUFnZW50OjpmcmFtZVNjaGVkdWxlZE5hdmlnYXRpb24pOgorICAg
ICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuaDoKKyAgICAgICAgKiBsb2FkZXIv
TmF2aWdhdGlvblNjaGVkdWxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0aW9uU2No
ZWR1bGVyOjpzdGFydFRpbWVyKToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3Vy
Y2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OmRv
Y3VtZW50RGlkRmluaXNoTG9hZEV2ZW50KToKKyAgICAgICAgKiBsb2FkZXIvaWNvbi9JY29uRGF0
YWJhc2UuY3BwOgorICAgICAgICAqIHBhZ2UvRXZlbnRIYW5kbGVyLmNwcDoKKyAgICAgICAgKiBw
YWdlL0V2ZW50U291cmNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50U291cmNlOjpzY2hl
ZHVsZVJlY29ubmVjdCk6CisgICAgICAgICogcGFnZS9Gb2N1c0NvbnRyb2xsZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Rm9jdXNDb250cm9sbGVyOjpzZXRGb2N1c2VkRWxlbWVudE5lZWRzUmVw
YWludCk6CisgICAgICAgICogcGFnZS9GcmFtZVZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
RnJhbWVWaWV3OjpzY3JvbGxQb3NpdGlvbkNoYW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6RnJh
bWVWaWV3OjplbmFibGVTcGVjdWxhdGl2ZVRpbGluZ0lmTmVlZGVkKToKKyAgICAgICAgKiBwYWdl
L1NldHRpbmdzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpTZXR0aW5ncyk6Cisg
ICAgICAgICogcGFnZS9TZXR0aW5ncy5oOgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OnNl
dFRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKToKKyAgICAgICAg
KFdlYkNvcmU6OlNldHRpbmdzOjp0aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdD
b250cm9scyk6CisgICAgICAgICogcGFnZS9TdXNwZW5kYWJsZVRpbWVyLmg6CisgICAgICAgICog
cGFnZS9hbmltYXRpb24vQ1NTQW5pbWF0aW9uQ29udHJvbGxlci5jcHA6CisgICAgICAgICogcGFn
ZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tOgorICAgICAgICAqIHBhZ2UvbWFjL1RleHRJbmRpY2F0
b3JXaW5kb3cubW06CisgICAgICAgIChXZWJDb3JlOjpUZXh0SW5kaWNhdG9yV2luZG93OjpzZXRU
ZXh0SW5kaWNhdG9yKToKKyAgICAgICAgKiBwbGF0Zm9ybS9IeXN0ZXJlc2lzQWN0aXZpdHkuaDoK
KyAgICAgICAgKFdlYkNvcmU6Okh5c3RlcmVzaXNBY3Rpdml0eTo6c3RvcCk6CisgICAgICAgICog
cGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Omdl
dEFuaW1hdGlvblBhcmFtZXRlcnNGb3JHcmFudWxhcml0eSk6CisgICAgICAgIChXZWJDb3JlOjpT
Y3JvbGxBbmltYXRpb25TbW9vdGg6OnVwZGF0ZVBlckF4aXNEYXRhKToKKyAgICAgICAgKFdlYkNv
cmU6OlNjcm9sbEFuaW1hdGlvblNtb290aDo6YW5pbWF0ZVNjcm9sbCk6CisgICAgICAgIChXZWJD
b3JlOjpTY3JvbGxBbmltYXRpb25TbW9vdGg6OmFuaW1hdGlvblRpbWVyRmlyZWQpOgorICAgICAg
ICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0aW9uU21vb3RoOjpzdGFydE5leHRUaW1lcik6CisgICAg
ICAgICogcGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmg6CisgICAgICAgICogcGxhdGZv
cm0vVGltZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6c3RhcnRSZXBlYXRpbmcp
OgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uOjpzY2hlZHVsZUNsaWVudERhdGFC
dWZmZXJpbmdDaGVjayk6CisgICAgICAgICogcGxhdGZvcm0vY29jb2EvU2Nyb2xsQ29udHJvbGxl
ci5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbENvbnRyb2xsZXI6OnNjaGVkdWxlU3RhdGVs
ZXNzU2Nyb2xsU25hcCk6CisgICAgICAgICogcGxhdGZvcm0vZ2FtZXBhZC9jb2NvYS9HYW1lQ29u
dHJvbGxlckdhbWVwYWRQcm92aWRlci5tbToKKyAgICAgICAgKFdlYkNvcmU6OkdhbWVDb250cm9s
bGVyR2FtZXBhZFByb3ZpZGVyOjpnYW1lcGFkSGFkSW5wdXQpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dhbWVwYWQvbWFjL0hJREdhbWVwYWRQcm92aWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpI
SURHYW1lcGFkUHJvdmlkZXI6Om9wZW5BbmRTY2hlZHVsZU1hbmFnZXIpOgorICAgICAgICAoV2Vi
Q29yZTo6SElER2FtZXBhZFByb3ZpZGVyOjp2YWx1ZXNDaGFuZ2VkKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9nbGliL01haW5UaHJlYWRTaGFyZWRUaW1lckdMaWIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6TWFpblRocmVhZFNoYXJlZFRpbWVyOjpzZXRGaXJlSW50ZXJ2YWwpOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkJpdG1h
cEltYWdlOjpzdGFydFRpbWVyKToKKyAgICAgICAgKFdlYkNvcmU6OkJpdG1hcEltYWdlOjppbnRl
cm5hbFN0YXJ0QW5pbWF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkJpdG1hcEltYWdlOjphZHZh
bmNlQW5pbWF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkJpdG1hcEltYWdlOjpyZXNldEFuaW1h
dGlvbik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuaDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyLmNwcDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9TaGFkb3dCbHVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlNjcmF0Y2hCdWZmZXI6OnNjaGVkdWxlU2NyYXRjaEJ1ZmZlclB1cmdlKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9jYS9MYXllclBvb2wuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
TGF5ZXJQb29sOjpzY2hlZHVsZVBydW5lKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9n
c3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6Y2hhbmdlUGlwZWxpbmVTdGF0ZSk6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0dyYXBoaWNzQ29udGV4dDNETWFjLm1tOgor
ICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0RNYW5hZ2VyOjp1cGRhdGVIaWdoUGVy
Zm9ybWFuY2VTdGF0ZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0JpdG1h
cFRleHR1cmVQb29sLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkJpdG1hcFRleHR1cmVQb29sOjpz
Y2hlZHVsZVJlbGVhc2VVbnVzZWRUZXh0dXJlcyk6CisgICAgICAgIChXZWJDb3JlOjpCaXRtYXBU
ZXh0dXJlUG9vbDo6cmVsZWFzZVVudXNlZFRleHR1cmVzVGltZXJGaXJlZCk6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVyUHJveHku
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6VGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXJQcm94eTo6
c2NoZWR1bGVSZWxlYXNlVW51c2VkQnVmZmVycyk6CisgICAgICAgIChXZWJDb3JlOjpUZXh0dXJl
TWFwcGVyUGxhdGZvcm1MYXllclByb3h5OjpyZWxlYXNlVW51c2VkQnVmZmVyc1RpbWVyRmlyZWQp
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGlu
YXRlZEltYWdlQmFja2luZy5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3RrL1Njcm9sbEFuaW1h
dG9yR3RrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdG9yR3RrOjpvdmVybGF5
U2Nyb2xsYmFyQW5pbWF0aW9uVGltZXJGaXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxB
bmltYXRvckd0azo6c2hvd092ZXJsYXlTY3JvbGxiYXJzKToKKyAgICAgICAgKFdlYkNvcmU6OlNj
cm9sbEFuaW1hdG9yR3RrOjpoaWRlT3ZlcmxheVNjcm9sbGJhcnMpOgorICAgICAgICAqIHBsYXRm
b3JtL2d0ay9TY3JvbGxBbmltYXRvckd0ay5oOgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9XZWJW
aWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdC5tbToKKyAgICAgICAgKFdlYlZpZGVvRnVsbHNj
cmVlbkludGVyZmFjZUFWS2l0OjpzaG91bGRFeGl0RnVsbHNjcmVlbldpdGhSZWFzb24pOgorICAg
ICAgICAqIHBsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5tbToKKyAgICAgICAgKFdlYkNv
cmU6OlNjcm9sbEFuaW1hdG9yTWFjOjpzdGFydFNjcm9sbGJhclBhaW50VGltZXIpOgorICAgICAg
ICAqIHBsYXRmb3JtL21vY2svTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlck1vY2suY3BwOgorICAg
ICAgICAqIHBsYXRmb3JtL21vY2svUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1vY2suY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1vY2s6OnNwZWFrKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL1RpbWVyRXZlbnRCYXNlZE1vY2suaDoKKyAgICAgICAg
KFdlYkNvcmU6OlRpbWVyRXZlbnQ6OlRpbWVyRXZlbnQpOgorICAgICAgICAqIHBsYXRmb3JtL25l
dHdvcmsvRE5TUmVzb2x2ZVF1ZXVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkROU1Jlc29sdmVR
dWV1ZTo6YWRkKToKKyAgICAgICAgKFdlYkNvcmU6OkROU1Jlc29sdmVRdWV1ZTo6dGltZXJGaXJl
ZCk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9QaW5nSGFuZGxlLmg6CisgICAgICAgICog
cGxhdGZvcm0vbmV0d29yay9jdXJsL1Jlc291cmNlSGFuZGxlTWFuYWdlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZU1hbmFnZXI6OmRvd25sb2FkVGltZXJDYWxsYmFjayk6
CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZU1hbmFnZXI6OmFkZCk6CisgICAgICAg
IChXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZU1hbmFnZXI6OmNhbmNlbCk6CisgICAgICAgICogcGxh
dGZvcm0vbmV0d29yay9tYWMvTmV0d29ya1N0YXRlTm90aWZpZXJNYWMuY3BwOgorICAgICAgICAq
IHBsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UmVzb3VyY2VIYW5kbGU6OnNlbmRQZW5kaW5nUmVxdWVzdCk6CisgICAgICAgICog
cmVuZGVyaW5nL0ltYWdlUXVhbGl0eUNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SW1hZ2VRdWFsaXR5Q29udHJvbGxlcjo6cmVzdGFydFRpbWVyKToKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
UHJvZ3Jlc3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyUHJvZ3Jlc3M6OlJlbmRlclBy
b2dyZXNzKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyUHJvZ3Jlc3MuaDoKKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZWN1cmVUZXh0
VGltZXI6OnJlc3RhcnQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6YW5pbWF0aW9uUmVwZWF0SW50ZXJ2YWxGb3JQ
cm9ncmVzc0Jhcik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lLmg6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6bWVkaWFDb250cm9sc0ZhZGVPdXREdXJhdGlvbik6Cisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lR3RrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclRoZW1lR3RrOjphbmltYXRpb25SZXBlYXRJbnRlcnZhbEZvclByb2dyZXNzQmFyKToK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVHdGsuaDoKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyVGhlbWVJT1MuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1Mu
bW06CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZUlPUzo6YW5pbWF0aW9uUmVwZWF0SW50
ZXJ2YWxGb3JQcm9ncmVzc0Jhcik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFj
Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1tOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyVGhlbWVNYWM6OmFuaW1hdGlvblJlcGVhdEludGVydmFsRm9yUHJvZ3Jlc3NC
YXIpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVNYWM6OmFuaW1hdGlvbkR1cmF0aW9u
Rm9yUHJvZ3Jlc3NCYXIpOgorICAgICAgICAqIHJlcGxheS9FdmVudExvb3BJbnB1dERpc3BhdGNo
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRMb29wSW5wdXREaXNwYXRjaGVyOjpkaXNw
YXRjaElucHV0U29vbik6CisgICAgICAgICogc3ZnL2FuaW1hdGlvbi9TTUlMVGltZUNvbnRhaW5l
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTTUlMVGltZUNvbnRhaW5lcjo6c3RhcnRUaW1lcik6
CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkludGVybmFsU2V0dGluZ3M6OnNldFRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhp
ZGluZ0NvbnRyb2xzKToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaDoKKyAg
ICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5h
bHM6OnNldEltYWdlRnJhbWVEZWNvZGluZ0R1cmF0aW9uKToKKyAgICAgICAgKiB4bWwvWE1MSHR0
cFJlcXVlc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3Q6OmNyZWF0ZVJl
cXVlc3QpOgorCiAyMDE3LTA0LTA5ICBZdXN1a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFAZ21haWwu
Y29tPgogCiAgICAgICAgIFtXVEZdIEFubm90YXRlIFNlY29uZHMnIG1lbWJlciBmdW5jdGlvbnMg
YW5kIG9wZXJhdG9ycyB3aXRoIGNvbnN0ZXhwcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBlZmMzMDdhOTNjMjM2NThh
OTg4MzhhY2NhYTE0NGIxOTczMjJjNmI1Li5jNGJkNTRhYjQ2MzEwZDJhYjU5OTFjMzgyODNkODg3
OTdmOTAyN2NkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIxIEBACiAyMDE3LTA0LTA5ICBDaHJpcyBE
dW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKKyAgICAgICAgRHJvcCBUaW1lcjo6c3RhcnRPbmVT
aG90KCkgb3ZlcmxvYWQgdGFraW5nIGEgZG91YmxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzA2NTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBEcm9wIFRpbWVyOjpzdGFydE9uZVNob3QoKSBvdmVybG9h
ZCB0YWtpbmcgYSBkb3VibGUgYXMgcGVvcGxlIHNob3VsZCB1c2UgU2Vjb25kcyB0eXBlIG5vdy4K
KworICAgICAgICAqIFN0b3JhZ2UvU3RvcmFnZUFyZWFTeW5jLmNwcDoKKyAgICAgICAgKiBTdG9y
YWdlL1N0b3JhZ2VUcmFja2VyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6U3RvcmFnZVRyYWNrZXI6
OlN0b3JhZ2VUcmFja2VyKToKKyAgICAgICAgKiBTdG9yYWdlL1N0b3JhZ2VUcmFja2VyLmg6Cisg
ICAgICAgIChXZWJLaXQ6OlN0b3JhZ2VUcmFja2VyOjpzdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2
YWwpOgorICAgICAgICAoV2ViS2l0OjpTdG9yYWdlVHJhY2tlcjo6c2V0U3RvcmFnZURhdGFiYXNl
SWRsZUludGVydmFsKToKKworMjAxNy0wNC0wOSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUu
Y29tPgorCiAgICAgICAgIFN0YXJ0IGRyb3BwaW5nIFRpbWVyIEFQSSBkZWFsaW5nIHdpdGggZG91
YmxlCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzA2
NDkKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IDY1MWE4YzZlYmZkYzkxMDAwMjE0MTRkMGFjNGM0YWVl
MGYyMTI5YmIuLmY0ZTFjMzQyMDI0ODRiZjNhMDUxNmY2NmNiOTUwYjQ3MzQ3YTNiYjcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21h
Yy9DaGFuZ2VMb2cKQEAgLTEsNSArMSwxOSBAQAogMjAxNy0wNC0wOSAgQ2hyaXMgRHVtZXogIDxj
ZHVtZXpAYXBwbGUuY29tPgogCisgICAgICAgIERyb3AgVGltZXI6OnN0YXJ0T25lU2hvdCgpIG92
ZXJsb2FkIHRha2luZyBhIGRvdWJsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTcwNjU5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgRHJvcCBUaW1lcjo6c3RhcnRPbmVTaG90KCkgb3ZlcmxvYWQgdGFraW5n
IGEgZG91YmxlIGFzIHBlb3BsZSBzaG91bGQgdXNlIFNlY29uZHMgdHlwZSBub3cuCisKKyAgICAg
ICAgKiBQbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luVmlldy5tbToKKyAgICAgICAgKFBsdWdpblRp
bWVyOjpzdGFydCk6CisgICAgICAgICogU3RvcmFnZS9XZWJTdG9yYWdlTWFuYWdlci5tbToKKyAg
ICAgICAgKCtbV2ViU3RvcmFnZU1hbmFnZXIgc2V0U3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFs
Ol0pOgorCisyMDE3LTA0LTA5ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKICAg
ICAgICAgRHJvcCBUaW1lcjo6c3RhcnRSZXBlYXRpbmcoKSBvdmVybG9hZCB0YWtpbmcgYSBkb3Vi
bGUKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MDY1
NgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0L3dpbi9DaGFuZ2VMb2cKaW5kZXggYWRjODVmZDNlMzNmNGFiMmYyNTBiMjYwOGEzYTVmNGRm
NTU4Y2QxOC4uZWJmMDY4ZWFkYzAzODlhY2ZiZDljNmVlOTk1ZWVkMDM0NDUxZGQ4MCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvd2lu
L0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIyIEBACiAyMDE3LTA0LTA5ICBDaHJpcyBEdW1leiAgPGNk
dW1lekBhcHBsZS5jb20+CiAKKyAgICAgICAgRHJvcCBUaW1lcjo6c3RhcnRPbmVTaG90KCkgb3Zl
cmxvYWQgdGFraW5nIGEgZG91YmxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNzA2NTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBEcm9wIFRpbWVyOjpzdGFydE9uZVNob3QoKSBvdmVybG9hZCB0YWtpbmcg
YSBkb3VibGUgYXMgcGVvcGxlIHNob3VsZCB1c2UgU2Vjb25kcyB0eXBlIG5vdy4KKworICAgICAg
ICAqIFBsdWdpbnMvUGx1Z2luTWVzc2FnZVRocm90dGxlcldpbi5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpQbHVnaW5NZXNzYWdlVGhyb3R0bGVyV2luOjphcHBlbmRNZXNzYWdlKToKKyAgICAgICAg
KFdlYkNvcmU6OlBsdWdpbk1lc3NhZ2VUaHJvdHRsZXJXaW46Om1lc3NhZ2VUaHJvdHRsZVRpbWVy
RmlyZWQpOgorICAgICAgICAqIFBsdWdpbnMvUGx1Z2luVmlld1dpbi5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpQbHVnaW5WaWV3OjppbnZhbGlkYXRlUmVjdCk6CisgICAgICAgICogV2ViQ29yZVN1
cHBvcnQvQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQuY3BwOgorICAgICAgICAoQWNjZWxl
cmF0ZWRDb21wb3NpdGluZ0NvbnRleHQ6OnNjaGVkdWxlTGF5ZXJGbHVzaCk6CisKKzIwMTctMDQt
MDkgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKwogICAgICAgICBEcm9wIFRpbWVy
OjpzdGFydFJlcGVhdGluZygpIG92ZXJsb2FkIHRha2luZyBhIGRvdWJsZQogICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcwNjU2CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRl
eCBjMmYwZTUwZTkwODk3OTY0NjdiYjYzYTY4ZjM0ZWQ5ZWQ0ZjI3NDk2Li4wZGQ5MjIyMWFkYjEx
YTdlNmQyZjU1NzMzOWNhYTJiZTUyZGY3ODNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsNjUgQEAK
IDIwMTctMDQtMDkgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAorICAgICAgICBE
cm9wIFRpbWVyOjpzdGFydE9uZVNob3QoKSBvdmVybG9hZCB0YWtpbmcgYSBkb3VibGUKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MDY1OQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERyb3AgVGltZXI6OnN0
YXJ0T25lU2hvdCgpIG92ZXJsb2FkIHRha2luZyBhIGRvdWJsZSBhcyBwZW9wbGUgc2hvdWxkIHVz
ZSBTZWNvbmRzIHR5cGUgbm93LgorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvUGluZ0xvYWQu
aDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9zb3VwL05ldHdvcmtEYXRhVGFza1NvdXAuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrRGF0YVRhc2tTb3VwOjpzdGFydFRpbWVvdXQpOgor
ICAgICAgICAqIFBsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmg6CisgICAgICAgICogUGxhdGZvcm0v
SVBDL21hYy9Db25uZWN0aW9uTWFjLm1tOgorICAgICAgICAoSVBDOjpDb25uZWN0aW9uVGVybWlu
YXRpb25XYXRjaGRvZzo6Y3JlYXRlQ29ubmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hkb2cpOgorICAg
ICAgICAoSVBDOjpDb25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZzo6Q29ubmVjdGlvblRlcm1p
bmF0aW9uV2F0Y2hkb2cpOgorICAgICAgICAoSVBDOjpDb25uZWN0aW9uOjp0ZXJtaW5hdGVTb29u
KToKKyAgICAgICAgKiBQbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3MuY3BwOgorICAgICAgICAo
V2ViS2l0OjpQbHVnaW5Qcm9jZXNzOjpzZXRNaW5pbXVtTGlmZXRpbWUpOgorICAgICAgICAqIFBs
dWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5oOgorICAgICAgICAqIFNoYXJlZC9DaGlsZFByb2Nl
c3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpDaGlsZFByb2Nlc3M6OkNoaWxkUHJvY2Vzcyk6Cisg
ICAgICAgICogU2hhcmVkL0NoaWxkUHJvY2Vzcy5oOgorICAgICAgICAoV2ViS2l0OjpDaGlsZFBy
b2Nlc3M6OnNldFRlcm1pbmF0aW9uVGltZW91dCk6CisgICAgICAgICogU2hhcmVkL0Nvb3JkaW5h
dGVkR3JhcGhpY3MvdGhyZWFkZWRjb21wb3NpdG9yL0NvbXBvc2l0aW5nUnVuTG9vcC5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OkNvbXBvc2l0aW5nUnVuTG9vcDo6c3RhcnRVcGRhdGVUaW1lcik6Cisg
ICAgICAgICogU2hhcmVkL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5o
OgorICAgICAgICAqIFNoYXJlZC9XZWJNZW1vcnlTYW1wbGVyLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6V2ViTWVtb3J5U2FtcGxlcjo6aW5pdGlhbGl6ZVRpbWVycyk6CisgICAgICAgICogU2hhcmVk
L1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L0NvY29hL0FQSVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUNvY29hLm1tOgorICAgICAgICAoQVBJOjpT
aGFyZWRKU0NvbnRleHQ6OmVuc3VyZUNvbnRleHQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9DaGls
ZFByb2Nlc3NQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OkNoaWxkUHJvY2Vzc1Byb3h5Ojpz
aHV0RG93blByb2Nlc3MpOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9OYXZpZ2F0aW9uU3Rh
dGUubW06CisgICAgICAgIChXZWJLaXQ6Ok5hdmlnYXRpb25TdGF0ZTo6ZGlkQ2hhbmdlSXNMb2Fk
aW5nKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvVmlld0dlc3R1cmVDb250cm9sbGVyLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6Vmlld0dlc3R1cmVDb250cm9sbGVyOjpTbmFwc2hvdFJlbW92
YWxUcmFja2VyOjpzdGFydFdhdGNoZG9nKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvVmll
d0dlc3R1cmVDb250cm9sbGVyLmg6CisgICAgICAgICogVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJv
eHlJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6RHJhd2luZ0FyZWFQcm94eUltcGw6OmRpc2Nh
cmRCYWNraW5nU3RvcmVTb29uKToKKyAgICAgICAgKFdlYktpdDo6RHJhd2luZ0FyZWFQcm94eUlt
cGw6OkRyYXdpbmdNb25pdG9yOjpzdGFydCk6CisgICAgICAgIChXZWJLaXQ6OkRyYXdpbmdBcmVh
UHJveHlJbXBsOjpEcmF3aW5nTW9uaXRvcjo6ZGlkRHJhdyk6CisgICAgICAgICogVUlQcm9jZXNz
L0dhbWVwYWQvVUlHYW1lcGFkUHJvdmlkZXIuY3BwOgorICAgICAgICAqIFVJUHJvY2Vzcy9QbHVn
aW5zL1BsdWdpblByb2Nlc3NQcm94eS5jcHA6CisgICAgICAgICogVUlQcm9jZXNzL1Byb2Nlc3NU
aHJvdHRsZXIuY3BwOgorICAgICAgICAqIFVJUHJvY2Vzcy9SZXNwb25zaXZlbmVzc1RpbWVyLmNw
cDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQcm9jZXNzUG9vbDo6Y3JlYXRlTmV3V2ViUHJvY2Vzcyk6CisgICAgICAgICogVUlQ
cm9jZXNzL2d0ay9HZXN0dXJlQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJLaXQ6Okdlc3R1
cmVDb250cm9sbGVyOjpEcmFnR2VzdHVyZTo6YmVnaW4pOgorICAgICAgICAqIFVJUHJvY2Vzcy9t
YWMvV2ViSW5zcGVjdG9yUHJveHlNYWMubW06CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdl
L0FjY2VsZXJhdGVkRHJhd2luZ0FyZWEuY3BwOgorICAgICAgICAoV2ViS2l0OjpBY2NlbGVyYXRl
ZERyYXdpbmdBcmVhOjpleGl0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGVOb3cpOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5
ZXJUcmVlSG9zdC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9z
dDo6c2NoZWR1bGVBbmltYXRpb24pOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6ZGV0ZXJtaW5lUHJpbWFyeVNuYXBz
aG90dGVkUGx1Z0luKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwOgorCisy
MDE3LTA0LTA5ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKICAgICAgICAgRHJv
cCBUaW1lcjo6c3RhcnRSZXBlYXRpbmcoKSBvdmVybG9hZCB0YWtpbmcgYSBkb3VibGUKICAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MDY1NgogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dlb2xvY2F0aW9uL0dlb05vdGlmaWVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvTm90aWZpZXIuY3BwCmlu
ZGV4IDc0YTk2Y2UxZDJiYTgwMjdjNWRlNjFiZmQyMGY0YjI4NGZkMjg3YjIuLjg2OTUwMmYwMGQ0
ZDVkNjBhOTZjZmI3NmY3OTVhYjZhZDJiMDI2YzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvTm90aWZpZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvTm90aWZpZXIuY3BwCkBAIC04Nyw3ICs4Nyw3IEBAIHZv
aWQgR2VvTm90aWZpZXI6OnJ1bkVycm9yQ2FsbGJhY2soUG9zaXRpb25FcnJvciogZXJyb3IpCiAK
IHZvaWQgR2VvTm90aWZpZXI6OnN0YXJ0VGltZXJJZk5lZWRlZCgpCiB7Ci0gICAgbV90aW1lci5z
dGFydE9uZVNob3QobV9vcHRpb25zLnRpbWVvdXQgLyAxMDAwLjApOworICAgIG1fdGltZXIuc3Rh
cnRPbmVTaG90KDFfbXMgKiBtX29wdGlvbnMudGltZW91dCk7CiB9CiAKIHZvaWQgR2VvTm90aWZp
ZXI6OnN0b3BUaW1lcigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c2Vzc2lvbi9XZWJNZWRpYVNlc3Npb25NYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwCmluZGV4IDdhMzM2OWYx
MGU1MzBlNGRjODdlNzE3ZDU2NzVmNzA5MTEzYjgwZTkuLjQxNjZlNGU4OWZiZGQ2ZjJhMmE3MGNl
ZWViNzQ3ZTU3MDNjZmZjYTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwCkBAIC0zNiw3
ICszNiw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIGNvbnN0IGRvdWJsZSB0
YXNrRGVsYXlJbnRlcnZhbCA9IDEuMCAvIDEwLjA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyB0YXNr
RGVsYXlJbnRlcnZhbCB7IDEwMF9tcyB9OwogCiBzdHJ1Y3QgQ2xpZW50U3RhdGUgewogICAgIGV4
cGxpY2l0IENsaWVudFN0YXRlKFdlYk1lZGlhU2Vzc2lvbk1hbmFnZXJDbGllbnQmIGNsaWVudCwg
dWludDY0X3QgY29udGV4dElkKQpAQCAtNDIzLDggKzQyMyw4IEBAIHNpemVfdCBXZWJNZWRpYVNl
c3Npb25NYW5hZ2VyOjpmaW5kKFdlYk1lZGlhU2Vzc2lvbk1hbmFnZXJDbGllbnQqIGNsaWVudCwg
dWludDY0CiAKIHZvaWQgV2ViTWVkaWFTZXNzaW9uTWFuYWdlcjo6Y29uZmlndXJlV2F0Y2hkb2dU
aW1lcigpCiB7Ci0gICAgc3RhdGljIGNvbnN0IGRvdWJsZSB3YXRjaGRvZ1RpbWVySW50ZXJ2YWxB
ZnRlclBhdXNpbmcgPSA2MCAqIDYwOwotICAgIHN0YXRpYyBjb25zdCBkb3VibGUgd2F0Y2hkb2dU
aW1lckludGVydmFsQWZ0ZXJQbGF5aW5nVG9FbmQgPSA4ICogNjA7CisgICAgc3RhdGljIGNvbnN0
IFNlY29uZHMgd2F0Y2hkb2dUaW1lckludGVydmFsQWZ0ZXJQYXVzaW5nIHsgMV9oIH07CisgICAg
c3RhdGljIGNvbnN0IFNlY29uZHMgd2F0Y2hkb2dUaW1lckludGVydmFsQWZ0ZXJQbGF5aW5nVG9F
bmQgeyA4X21pbiB9OwogCiAgICAgaWYgKCFtX3BsYXliYWNrVGFyZ2V0IHx8ICFtX3BsYXliYWNr
VGFyZ2V0LT5oYXNBY3RpdmVSb3V0ZSgpKSB7CiAgICAgICAgIG1fd2F0Y2hkb2dUaW1lci5zdG9w
KCk7CkBAIC00NDIsMTEgKzQ0MiwxMSBAQCB2b2lkIFdlYk1lZGlhU2Vzc2lvbk1hbmFnZXI6OmNv
bmZpZ3VyZVdhdGNoZG9nVGltZXIoKQogICAgIH0KIAogICAgIGlmIChzdG9wVGltZXIpIHsKLSAg
ICAgICAgbV9jdXJyZW50V2F0Y2hkb2dJbnRlcnZhbCA9IDA7CisgICAgICAgIG1fY3VycmVudFdh
dGNoZG9nSW50ZXJ2YWwgPSB7IH07CiAgICAgICAgIG1fd2F0Y2hkb2dUaW1lci5zdG9wKCk7CiAg
ICAgICAgIExPRyhNZWRpYSwgIldlYk1lZGlhU2Vzc2lvbk1hbmFnZXI6OmNvbmZpZ3VyZVdhdGNo
ZG9nVGltZXIgLSB0aW1lciBzdG9wcGVkIik7CiAgICAgfSBlbHNlIHsKLSAgICAgICAgZG91Ymxl
IGludGVydmFsID0gZGlkUGxheVRvRW5kID8gd2F0Y2hkb2dUaW1lckludGVydmFsQWZ0ZXJQbGF5
aW5nVG9FbmQgOiB3YXRjaGRvZ1RpbWVySW50ZXJ2YWxBZnRlclBhdXNpbmc7CisgICAgICAgIFNl
Y29uZHMgaW50ZXJ2YWwgPSBkaWRQbGF5VG9FbmQgPyB3YXRjaGRvZ1RpbWVySW50ZXJ2YWxBZnRl
clBsYXlpbmdUb0VuZCA6IHdhdGNoZG9nVGltZXJJbnRlcnZhbEFmdGVyUGF1c2luZzsKICAgICAg
ICAgaWYgKGludGVydmFsICE9IG1fY3VycmVudFdhdGNoZG9nSW50ZXJ2YWwgfHwgIW1fd2F0Y2hk
b2dUaW1lci5pc0FjdGl2ZSgpKSB7CiAgICAgICAgICAgICBtX3dhdGNoZG9nVGltZXIuc3RhcnRP
bmVTaG90KGludGVydmFsKTsKICAgICAgICAgICAgIExPRyhNZWRpYSwgIldlYk1lZGlhU2Vzc2lv
bk1hbmFnZXI6OmNvbmZpZ3VyZVdhdGNoZG9nVGltZXIgLSB0aW1lciBzY2hlZHVsZWQgZm9yICUu
MGYiLCBpbnRlcnZhbCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c2Vzc2lvbi9XZWJNZWRpYVNlc3Npb25NYW5hZ2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc2Vzc2lvbi9XZWJNZWRpYVNlc3Npb25NYW5hZ2VyLmgKaW5kZXggNTdkNThlZjkxNGNi
MjNmMTk0MDFjY2NmZWMzOGVjZTM4ZWFlYTYwOS4uMjk1MDllMjhjNGFmYTU0YzZkNDZhMTNhZDNj
MWYxMWIxNmMxYTM2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNl
c3Npb24vV2ViTWVkaWFTZXNzaW9uTWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuaApAQCAtMTAyLDcgKzEwMiw3
IEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPE1lZGlhUGxheWJhY2tUYXJnZXQ+IG1fcGxheWJhY2tU
YXJnZXQ7CiAgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6Ok1lZGlhUGxheWJhY2tUYXJnZXRQ
aWNrZXJNb2NrPiBtX3BpY2tlck92ZXJyaWRlOwogICAgIENvbmZpZ3VyYXRpb25UYXNrcyBtX3Rh
c2tGbGFncyB7IE5vVGFzayB9OwotICAgIGRvdWJsZSBtX2N1cnJlbnRXYXRjaGRvZ0ludGVydmFs
IHsgMCB9OworICAgIFNlY29uZHMgbV9jdXJyZW50V2F0Y2hkb2dJbnRlcnZhbDsKICAgICBib29s
IG1fZXh0ZXJuYWxPdXRwdXREZXZpY2VBdmFpbGFibGUgeyBmYWxzZSB9OwogICAgIGJvb2wgbV90
YXJnZXRDaGFuZ2VkIHsgZmFsc2UgfTsKICAgICBib29sIG1fbW9ja1BpY2tlckVuYWJsZWQgeyBm
YWxzZSB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9D
YW52YXNDYXB0dXJlTWVkaWFTdHJlYW1UcmFjay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL0NhbnZhc0NhcHR1cmVNZWRpYVN0cmVhbVRyYWNrLmNwcAppbmRleCBkYjRj
NDA0MWM5NjczOTY4MDY5YjllM2ZjYjdkNWQ2ZWM1NTg3NDYwLi4zZjdiMmMxODhiNTk5ODBhMmQ1
Y2ZiYTg3NmU5NGI5MTg3MjBhOGRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL0NhbnZhc0NhcHR1cmVNZWRpYVN0cmVhbVRyYWNrLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL0NhbnZhc0NhcHR1cmVNZWRpYVN0cmVhbVRy
YWNrLmNwcApAQCAtMTQzLDcgKzE0Myw3IEBAIHZvaWQgQ2FudmFzQ2FwdHVyZU1lZGlhU3RyZWFt
VHJhY2s6OlNvdXJjZTo6Y2FudmFzQ2hhbmdlZChIVE1MQ2FudmFzRWxlbWVudCYgY2FuCiAgICAg
Ly8gRklYTUU6IFdlIHNob3VsZCB0cnkgdG8gZ2VuZXJhdGUgdGhlIGZyYW1lIGF0IHRoZSB0aW1l
IHRoZSBzY3JlZW4gaXMgYmVpbmcgdXBkYXRlZC4KICAgICBpZiAobV9jYW52YXNDaGFuZ2VkVGlt
ZXIuaXNBY3RpdmUoKSkKICAgICAgICAgcmV0dXJuOwotICAgIG1fY2FudmFzQ2hhbmdlZFRpbWVy
LnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2NhbnZhc0NoYW5nZWRUaW1lci5zdGFydE9uZVNob3Qo
MF9zKTsKIH0KIAogdm9pZCBDYW52YXNDYXB0dXJlTWVkaWFTdHJlYW1UcmFjazo6U291cmNlOjpj
YXB0dXJlQ2FudmFzKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvdmlicmF0
aW9uL1ZpYnJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3ZpYnJhdGlvbi9WaWJy
YXRpb24uY3BwCmluZGV4IGMxNTIyYjM5MjIwYjRhOGYxMmJkMzIxNjdlOGQxMTIyN2VlMWRkYTcu
LjA1MTgwNzNlMTA5ZjQ2MThjNGFmOWRlMWYyNTEzYWY0NjY2ZGFiZjAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvdmlicmF0aW9uL1ZpYnJhdGlvbi5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy92aWJyYXRpb24vVmlicmF0aW9uLmNwcApAQCAtMTEwLDcgKzExMCw3
IEBAIHZvaWQgVmlicmF0aW9uOjp0aW1lckZpcmVkKCkKICAgICAgICAgbV92aWJyYXRpb25DbGll
bnQtPnZpYnJhdGUobV9wYXR0ZXJuWzBdKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQotICAgIG1f
dGltZXIuc3RhcnRPbmVTaG90KG1fcGF0dGVyblswXSAvIDEwMDAuMCk7CisgICAgbV90aW1lci5z
dGFydE9uZVNob3QoMV9tcyAqIG1fcGF0dGVyblswXSk7CiAgICAgbV9wYXR0ZXJuLnJlbW92ZSgw
KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dl
YlNvY2tldENoYW5uZWwuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dl
YlNvY2tldENoYW5uZWwuY3BwCmluZGV4IGM1Y2IxMjRlMjIzZDI4NmZiYjZmMDJjZTcwMTA0MDI4
NTI2OWUxNWUuLjYxZDNjY2RkNzE1ZGY4NjM5MDQ5NWNiM2RlZGYyYTgwN2U2MTJkMjIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVs
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hh
bm5lbC5jcHAKQEAgLTYxLDcgKzYxLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jb25z
dCBkb3VibGUgVENQTWF4aW11bVNlZ21lbnRMaWZldGltZSA9IDIgKiA2MC4wOworY29uc3QgU2Vj
b25kcyBUQ1BNYXhpbXVtU2VnbWVudExpZmV0aW1lIHsgMl9taW4gfTsKIAogV2ViU29ja2V0Q2hh
bm5lbDo6V2ViU29ja2V0Q2hhbm5lbChEb2N1bWVudCYgZG9jdW1lbnQsIFdlYlNvY2tldENoYW5u
ZWxDbGllbnQmIGNsaWVudCwgU29ja2V0UHJvdmlkZXImIHByb3ZpZGVyKQogICAgIDogbV9kb2N1
bWVudCgmZG9jdW1lbnQpCkBAIC0yMDcsNyArMjA3LDcgQEAgdm9pZCBXZWJTb2NrZXRDaGFubmVs
OjpjbG9zZShpbnQgY29kZSwgY29uc3QgU3RyaW5nJiByZWFzb24pCiAgICAgUmVmPFdlYlNvY2tl
dENoYW5uZWw+IHByb3RlY3RlZFRoaXMoKnRoaXMpOyAvLyBBbiBhdHRlbXB0IHRvIHNlbmQgY2xv
c2luZyBoYW5kc2hha2UgbWF5IGZhaWwsIHdoaWNoIHdpbGwgZ2V0IHRoZSBjaGFubmVsIGNsb3Nl
ZCBhbmQgZGVyZWZlcmVuY2VkLgogICAgIHN0YXJ0Q2xvc2luZ0hhbmRzaGFrZShjb2RlLCByZWFz
b24pOwogICAgIGlmIChtX2Nsb3NpbmcgJiYgIW1fY2xvc2luZ1RpbWVyLmlzQWN0aXZlKCkpCi0g
ICAgICAgIG1fY2xvc2luZ1RpbWVyLnN0YXJ0T25lU2hvdCgyICogVENQTWF4aW11bVNlZ21lbnRM
aWZldGltZSk7CisgICAgICAgIG1fY2xvc2luZ1RpbWVyLnN0YXJ0T25lU2hvdChUQ1BNYXhpbXVt
U2VnbWVudExpZmV0aW1lICogMik7CiB9CiAKIHZvaWQgV2ViU29ja2V0Q2hhbm5lbDo6ZmFpbChj
b25zdCBTdHJpbmcmIHJlYXNvbikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvQVhPYmplY3RDYWNoZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FY
T2JqZWN0Q2FjaGUuY3BwCmluZGV4IDEyNTQwNTAxNGU3NjBiYzJiOWU3OWRiODE5N2ExZTBlZTc1
ZDAyZjcuLmYwNmRmNzQwMGFjYTU2ZTA4ZTE4MzJhNGFlYTBmYzU2ZDU0NTRjNDIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcApAQCAtMTEwLDkg
KzExMCw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7
CiAKIC8vIFBvc3QgdmFsdWUgY2hhbmdlIG5vdGlmaWNhdGlvbnMgZm9yIHBhc3N3b3JkIGZpZWxk
cyBvciBlbGVtZW50cyBjb250YWluZWQgaW4gcGFzc3dvcmQgZmllbGRzIGF0IGEgNDBoeiBpbnRl
cnZhbCB0byB0aHdhcnQgYW5hbHlzaXMgb2YgdHlwaW5nIGNhZGVuY2UKLXN0YXRpYyBkb3VibGUg
QWNjZXNzaWJpbGl0eVBhc3N3b3JkVmFsdWVDaGFuZ2VOb3RpZmljYXRpb25JbnRlcnZhbCA9IDAu
MDI1Owotc3RhdGljIGRvdWJsZSBBY2Nlc3NpYmlsaXR5TGl2ZVJlZ2lvbkNoYW5nZWROb3RpZmlj
YXRpb25JbnRlcnZhbCA9IDAuMDIwOwotc3RhdGljIGRvdWJsZSBBY2Nlc3NpYmlsaXR5Rm9jdXNB
cmlhTW9kYWxOb2RlTm90aWZpY2F0aW9uSW50ZXJ2YWwgPSAwLjA1MDsKK3N0YXRpYyBjb25zdCBT
ZWNvbmRzIGFjY2Vzc2liaWxpdHlQYXNzd29yZFZhbHVlQ2hhbmdlTm90aWZpY2F0aW9uSW50ZXJ2
YWwgeyAyNV9tcyB9Oworc3RhdGljIGNvbnN0IFNlY29uZHMgYWNjZXNzaWJpbGl0eUxpdmVSZWdp
b25DaGFuZ2VkTm90aWZpY2F0aW9uSW50ZXJ2YWwgeyAyMF9tcyB9Oworc3RhdGljIGNvbnN0IFNl
Y29uZHMgYWNjZXNzaWJpbGl0eUZvY3VzQXJpYU1vZGFsTm9kZU5vdGlmaWNhdGlvbkludGVydmFs
IHsgNTBfbXMgfTsKIAogQWNjZXNzaWJpbGl0eU9iamVjdEluY2x1c2lvbiBBWENvbXB1dGVkT2Jq
ZWN0QXR0cmlidXRlQ2FjaGU6OmdldElnbm9yZWQoQVhJRCBpZCkgY29uc3QKIHsKQEAgLTEzMTEs
NyArMTMxMSw3IEBAIGJvb2wgQVhPYmplY3RDYWNoZTo6ZW5xdWV1ZVBhc3N3b3JkVmFsdWVDaGFu
Z2VOb3RpZmljYXRpb24oQWNjZXNzaWJpbGl0eU9iamVjdCoKIAogICAgIG1fcGFzc3dvcmROb3Rp
ZmljYXRpb25zVG9Qb3N0LmFkZChvYnNlcnZhYmxlT2JqZWN0KTsKICAgICBpZiAoIW1fcGFzc3dv
cmROb3RpZmljYXRpb25Qb3N0VGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9wYXNzd29yZE5v
dGlmaWNhdGlvblBvc3RUaW1lci5zdGFydE9uZVNob3QoQWNjZXNzaWJpbGl0eVBhc3N3b3JkVmFs
dWVDaGFuZ2VOb3RpZmljYXRpb25JbnRlcnZhbCk7CisgICAgICAgIG1fcGFzc3dvcmROb3RpZmlj
YXRpb25Qb3N0VGltZXIuc3RhcnRPbmVTaG90KGFjY2Vzc2liaWxpdHlQYXNzd29yZFZhbHVlQ2hh
bmdlTm90aWZpY2F0aW9uSW50ZXJ2YWwpOwogCiAgICAgcmV0dXJuIHRydWU7CiB9CkBAIC0xMzM4
LDcgKzEzMzgsNyBAQCB2b2lkIEFYT2JqZWN0Q2FjaGU6OnBvc3RMaXZlUmVnaW9uQ2hhbmdlTm90
aWZpY2F0aW9uKEFjY2Vzc2liaWxpdHlPYmplY3QqIG9iamVjdAogICAgIGlmICghbV9saXZlUmVn
aW9uT2JqZWN0c1NldC5jb250YWlucyhvYmplY3QpKQogICAgICAgICBtX2xpdmVSZWdpb25PYmpl
Y3RzU2V0LmFkZChvYmplY3QpOwogCi0gICAgbV9saXZlUmVnaW9uQ2hhbmdlZFBvc3RUaW1lci5z
dGFydE9uZVNob3QoQWNjZXNzaWJpbGl0eUxpdmVSZWdpb25DaGFuZ2VkTm90aWZpY2F0aW9uSW50
ZXJ2YWwpOworICAgIG1fbGl2ZVJlZ2lvbkNoYW5nZWRQb3N0VGltZXIuc3RhcnRPbmVTaG90KGFj
Y2Vzc2liaWxpdHlMaXZlUmVnaW9uQ2hhbmdlZE5vdGlmaWNhdGlvbkludGVydmFsKTsKIH0KIAog
dm9pZCBBWE9iamVjdENhY2hlOjpsaXZlUmVnaW9uQ2hhbmdlZE5vdGlmaWNhdGlvblBvc3RUaW1l
ckZpcmVkKCkKQEAgLTEzNzIsNyArMTM3Miw3IEBAIHZvaWQgQVhPYmplY3RDYWNoZTo6Zm9jdXNB
cmlhTW9kYWxOb2RlKCkKICAgICBpZiAobV9mb2N1c0FyaWFNb2RhbE5vZGVUaW1lci5pc0FjdGl2
ZSgpKQogICAgICAgICBtX2ZvY3VzQXJpYU1vZGFsTm9kZVRpbWVyLnN0b3AoKTsKICAgICAKLSAg
ICBtX2ZvY3VzQXJpYU1vZGFsTm9kZVRpbWVyLnN0YXJ0T25lU2hvdChBY2Nlc3NpYmlsaXR5Rm9j
dXNBcmlhTW9kYWxOb2RlTm90aWZpY2F0aW9uSW50ZXJ2YWwpOworICAgIG1fZm9jdXNBcmlhTW9k
YWxOb2RlVGltZXIuc3RhcnRPbmVTaG90KGFjY2Vzc2liaWxpdHlGb2N1c0FyaWFNb2RhbE5vZGVO
b3RpZmljYXRpb25JbnRlcnZhbCk7CiB9CiAKIHZvaWQgQVhPYmplY3RDYWNoZTo6Zm9jdXNBcmlh
TW9kYWxOb2RlVGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
Rm9udEZhY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlLmNwcAppbmRleCAz
NGJkYmVlYWViN2Q2MzFlNDI4Zjk2YmU0MDNlMWI3MzQ2ZTgyODQ4Li5iZjkyMGY4ZDcxNDQxM2U3
YjdlNmFlYjVjM2M3ZWI1OTJkNGQ2MzA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTRm9udEZhY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZS5jcHAK
QEAgLTUyNyw3ICs1MjcsNyBAQCB2b2lkIENTU0ZvbnRGYWNlOjpzZXRTdGF0dXMoU3RhdHVzIG5l
d1N0YXR1cykKICAgICB9CiAKICAgICBpZiAobmV3U3RhdHVzID09IFN0YXR1czo6TG9hZGluZykK
LSAgICAgICAgbV90aW1lb3V0VGltZXIuc3RhcnRPbmVTaG90KHdlYkZvbnRzU2hvdWxkQWx3YXlz
RmFsbEJhY2soKSA/IDAgOiAzKTsKKyAgICAgICAgbV90aW1lb3V0VGltZXIuc3RhcnRPbmVTaG90
KHdlYkZvbnRzU2hvdWxkQWx3YXlzRmFsbEJhY2soKSA/IDBfcyA6IDNfcyk7CiAgICAgZWxzZSBp
ZiAobmV3U3RhdHVzID09IFN0YXR1czo6U3VjY2VzcyB8fCBuZXdTdGF0dXMgPT0gU3RhdHVzOjpG
YWlsdXJlKQogICAgICAgICBtX3RpbWVvdXRUaW1lci5zdG9wKCk7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9T
dHlsZVJlc29sdmVyLmNwcAppbmRleCBhZTdmOTc2YzZiNjhhNzMyZWVhYTQ5YjYwOTk4Y2MxNjdj
Nzg2NWEwLi40YWExMmQ3YTMyMjc1NGM3N2QyMjlhOGU1NTVlYmJjMTQxMmNmMWYzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwCkBAIC0xMzUsNiArMTM1LDcgQEAKICNpbmNsdWRl
ICJXZWJLaXRDU1NSZWdpb25SdWxlLmgiCiAjaW5jbHVkZSAiV2ViS2l0Rm9udEZhbWlseU5hbWVz
LmgiCiAjaW5jbHVkZSA8Yml0c2V0PgorI2luY2x1ZGUgPHd0Zi9TZWNvbmRzLmg+CiAjaW5jbHVk
ZSA8d3RmL1NldEZvclNjb3BlLmg+CiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogI2lu
Y2x1ZGUgPHd0Zi9WZWN0b3IuaD4KQEAgLTEyNTEsOCArMTI1Miw4IEBAIHZvaWQgU3R5bGVSZXNv
bHZlcjo6YWRkVG9NYXRjaGVkUHJvcGVydGllc0NhY2hlKGNvbnN0IFJlbmRlclN0eWxlKiBzdHls
ZSwgY29uc3QKICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgbWF0Y2hlZERlY2xhcmF0aW9uQ2Fj
aGVBZGRpdGlvbnNCZXR3ZWVuU3dlZXBzID0gMTAwOwogICAgIGlmICgrK21fbWF0Y2hlZFByb3Bl
cnRpZXNDYWNoZUFkZGl0aW9uc1NpbmNlTGFzdFN3ZWVwID49IG1hdGNoZWREZWNsYXJhdGlvbkNh
Y2hlQWRkaXRpb25zQmV0d2VlblN3ZWVwcwogICAgICAgICAmJiAhbV9tYXRjaGVkUHJvcGVydGll
c0NhY2hlU3dlZXBUaW1lci5pc0FjdGl2ZSgpKSB7Ci0gICAgICAgIHN0YXRpYyBjb25zdCB1bnNp
Z25lZCBtYXRjaGVkRGVjbGFyYXRpb25DYWNoZVN3ZWVwVGltZUluU2Vjb25kcyA9IDYwOwotICAg
ICAgICBtX21hdGNoZWRQcm9wZXJ0aWVzQ2FjaGVTd2VlcFRpbWVyLnN0YXJ0T25lU2hvdChtYXRj
aGVkRGVjbGFyYXRpb25DYWNoZVN3ZWVwVGltZUluU2Vjb25kcyk7CisgICAgICAgIHN0YXRpYyBj
b25zdCBTZWNvbmRzIG1hdGNoZWREZWNsYXJhdGlvbkNhY2hlU3dlZXBUaW1lIHsgMV9taW4gfTsK
KyAgICAgICAgbV9tYXRjaGVkUHJvcGVydGllc0NhY2hlU3dlZXBUaW1lci5zdGFydE9uZVNob3Qo
bWF0Y2hlZERlY2xhcmF0aW9uQ2FjaGVTd2VlcFRpbWUpOwogICAgIH0KIAogICAgIEFTU0VSVCho
YXNoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IDBlNzM5ZTNjNjYyZGRlMGU5ZWUwYmQx
OTVmY2RmY2I2YzQyMWRjOTEuLjNlMGQ4NGU4MDU2ZWEyMzllNGZlZDZkNTVhZThkMDRhNzYwZjkz
MDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtMTE5OSw3ICsxMTk5LDcgQEAgdm9pZCBE
b2N1bWVudDo6c2V0VmlzdWFsVXBkYXRlc0FsbG93ZWQoYm9vbCB2aXN1YWxVcGRhdGVzQWxsb3dl
ZCkKICAgICBpZiAodmlzdWFsVXBkYXRlc0FsbG93ZWQpCiAgICAgICAgIG1fdmlzdWFsVXBkYXRl
c1N1cHByZXNzaW9uVGltZXIuc3RvcCgpOwogICAgIGVsc2UKLSAgICAgICAgbV92aXN1YWxVcGRh
dGVzU3VwcHJlc3Npb25UaW1lci5zdGFydE9uZVNob3Qoc2V0dGluZ3MoKS5pbmNyZW1lbnRhbFJl
bmRlcmluZ1N1cHByZXNzaW9uVGltZW91dEluU2Vjb25kcygpKTsKKyAgICAgICAgbV92aXN1YWxV
cGRhdGVzU3VwcHJlc3Npb25UaW1lci5zdGFydE9uZVNob3QoMV9zICogc2V0dGluZ3MoKS5pbmNy
ZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNzaW9uVGltZW91dEluU2Vjb25kcygpKTsKIAogICAgIGlm
ICghdmlzdWFsVXBkYXRlc0FsbG93ZWQpCiAgICAgICAgIHJldHVybjsKQEAgLTUwMDQsOCArNTAw
NCw4IEBAIHZvaWQgRG9jdW1lbnQ6OmZpbmlzaGVkUGFyc2luZygpCiAgICAgLy8gc28gdGhhdCBk
eW5hbWljYWxseSBpbnNlcnRlZCBjb250ZW50IGNhbiBhbHNvIGJlbmVmaXQgZnJvbSBzaGFyaW5n
IG9wdGltaXphdGlvbnMuCiAgICAgLy8gTm90ZSB0aGF0IHdlIGRvbid0IHJlZnJlc2ggdGhlIHRp
bWVyIG9uIHBvb2wgYWNjZXNzIHNpbmNlIHRoYXQgY291bGQgbGVhZCB0byBodWdlIGNhY2hlcyBi
ZWluZyBrZXB0CiAgICAgLy8gYWxpdmUgaW5kZWZpbml0ZWx5IGJ5IHNvbWV0aGluZyBpbm5vY3Vv
dXMgbGlrZSBKUyBzZXR0aW5nIC5pbm5lckhUTUwgcmVwZWF0ZWRseSBvbiBhIHRpbWVyLgotICAg
IHN0YXRpYyBjb25zdCBpbnQgdGltZVRvS2VlcFNoYXJlZE9iamVjdFBvb2xBbGl2ZUFmdGVyUGFy
c2luZ0ZpbmlzaGVkSW5TZWNvbmRzID0gMTA7Ci0gICAgbV9zaGFyZWRPYmplY3RQb29sQ2xlYXJU
aW1lci5zdGFydE9uZVNob3QodGltZVRvS2VlcFNoYXJlZE9iamVjdFBvb2xBbGl2ZUFmdGVyUGFy
c2luZ0ZpbmlzaGVkSW5TZWNvbmRzKTsKKyAgICBzdGF0aWMgY29uc3QgU2Vjb25kcyB0aW1lVG9L
ZWVwU2hhcmVkT2JqZWN0UG9vbEFsaXZlQWZ0ZXJQYXJzaW5nRmluaXNoZWQgeyAxMF9zIH07Cisg
ICAgbV9zaGFyZWRPYmplY3RQb29sQ2xlYXJUaW1lci5zdGFydE9uZVNob3QodGltZVRvS2VlcFNo
YXJlZE9iamVjdFBvb2xBbGl2ZUFmdGVyUGFyc2luZ0ZpbmlzaGVkKTsKIAogICAgIC8vIFBhcnNl
ciBzaG91bGQgaGF2ZSBwaWNrZWQgdXAgYWxsIHNwZWN1bGF0aXZlIHByZWxvYWRzIGJ5IG5vdwog
ICAgIG1fY2FjaGVkUmVzb3VyY2VMb2FkZXItPmNsZWFyUHJlbG9hZHMoQ2FjaGVkUmVzb3VyY2VM
b2FkZXI6OkNsZWFyUHJlbG9hZHNNb2RlOjpDbGVhclNwZWN1bGF0aXZlUHJlbG9hZHMpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyLmNwcApp
bmRleCA5MmUwZGIzNjIyMjU1NTIyMWEzNGYyZGJjNTEwNjRhZjJkNDU2MDg3Li4xYjg1OTFmNmFj
MGIzMjZmZDUxOWI5OTkxOTg5ZjM4YTBlODcxY2JiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyLmNwcApAQCAtNDcsMTAgKzQ3LDEwIEBA
CiAjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+CiAKIC8vIEFsbG93IGEgbGl0dGxlIG1vcmUg
dGhhbiA2MGZwcyB0byBtYWtlIHN1cmUgd2UgY2FuIGF0IGxlYXN0IGhpdCB0aGF0IGZyYW1lIHJh
dGUuCi1zdGF0aWMgY29uc3QgU2Vjb25kcyBmdWxsU3BlZWRBbmltYXRpb25JbnRlcnZhbCB7IDAu
MDE1IH07CitzdGF0aWMgY29uc3QgU2Vjb25kcyBmdWxsU3BlZWRBbmltYXRpb25JbnRlcnZhbCB7
IDE1X21zIH07CiAvLyBBbGxvdyBhIGxpdHRsZSBtb3JlIHRoYW4gMzBmcHMgdG8gbWFrZSBzdXJl
IHdlIGNhbiBhdCBsZWFzdCBoaXQgdGhhdCBmcmFtZSByYXRlLgotc3RhdGljIGNvbnN0IFNlY29u
ZHMgaGFsZlNwZWVkVGhyb3R0bGluZ0FuaW1hdGlvbkludGVydmFsIHsgMC4wMzAgfTsKLXN0YXRp
YyBjb25zdCBTZWNvbmRzIGFnZ3Jlc3NpdmVUaHJvdHRsaW5nQW5pbWF0aW9uSW50ZXJ2YWwgeyAx
MCB9Oworc3RhdGljIGNvbnN0IFNlY29uZHMgaGFsZlNwZWVkVGhyb3R0bGluZ0FuaW1hdGlvbklu
dGVydmFsIHsgMzBfbXMgfTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIGFnZ3Jlc3NpdmVUaHJvdHRs
aW5nQW5pbWF0aW9uSW50ZXJ2YWwgeyAxMF9zIH07CiAjZW5kaWYKIAogI2RlZmluZSBSRUxFQVNF
X0xPR19JRl9BTExPV0VEKGZtdCwgLi4uKSBSRUxFQVNFX0xPR19JRihwYWdlKCkgJiYgcGFnZSgp
LT5pc0Fsd2F5c09uTG9nZ2luZ0FsbG93ZWQoKSwgUGVyZm9ybWFuY2VMb2dnaW5nLCAiJXAgLSBT
Y3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXI6OiIgZm10LCB0aGlzLCAjI19fVkFfQVJHU19fKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9BbHRlcm5hdGl2ZVRleHRDb250cm9s
bGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxl
ci5jcHAKaW5kZXggZTI3YmQwZDZmZDJmM2VjNzRkMDBlZDFmMWM2OTY1YzgxYmRlOTczZi4uMDVh
ZmFlNGI5OWM5N2M4ZDJlZjg0ZjAyYjYyYmRiNTJmMzc4Y2FkNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZWRpdGluZy9BbHRlcm5hdGl2ZVRleHRDb250cm9sbGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL0FsdGVybmF0aXZlVGV4dENvbnRyb2xsZXIuY3BwCkBAIC0xNDAs
NyArMTQwLDcgQEAgQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlcjo6fkFsdGVybmF0aXZlVGV4dENv
bnRyb2xsZXIoKQogCiB2b2lkIEFsdGVybmF0aXZlVGV4dENvbnRyb2xsZXI6OnN0YXJ0QWx0ZXJu
YXRpdmVUZXh0VUlUaW1lcihBbHRlcm5hdGl2ZVRleHRUeXBlIHR5cGUpCiB7Ci0gICAgY29uc3Qg
ZG91YmxlIGNvcnJlY3Rpb25QYW5lbFRpbWVySW50ZXJ2YWwgPSAwLjM7CisgICAgY29uc3QgU2Vj
b25kcyBjb3JyZWN0aW9uUGFuZWxUaW1lckludGVydmFsIHsgMzAwX21zIH07CiAgICAgaWYgKCFp
c0F1dG9tYXRpY1NwZWxsaW5nQ29ycmVjdGlvbkVuYWJsZWQoKSkKICAgICAgICAgcmV0dXJuOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAppbmRleCA0ZDYwNDY4MGY1
MzhjZmJkZGU0NjJmOTA0ZmNhNDQwNjgzNDhkOTM1Li45ZmVkNmY3MzY2YmE4YjExM2Y5ZGQ2MmEw
OWVhNTlmYzdhZDE3N2YzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRp
YUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5j
cHAKQEAgLTE2OCw3ICsxNjgsNyBAQCBzdGF0aWMgY29uc3QgZG91YmxlIFNlZWtUaW1lID0gMC4y
Owogc3RhdGljIGNvbnN0IFNlY29uZHMgU2NhblJlcGVhdERlbGF5IHsgMS41X3MgfTsKIHN0YXRp
YyBjb25zdCBkb3VibGUgU2Nhbk1heGltdW1SYXRlID0gODsKIAotc3RhdGljIGNvbnN0IGRvdWJs
ZSBIaWRlTWVkaWFDb250cm9sc0FmdGVyRW5kZWREZWxheSA9IDY7CitzdGF0aWMgY29uc3QgU2Vj
b25kcyBoaWRlTWVkaWFDb250cm9sc0FmdGVyRW5kZWREZWxheSB7IDZfcyB9OwogCiBzdGF0aWMg
dm9pZCBzZXRGbGFncyh1bnNpZ25lZCYgdmFsdWUsIHVuc2lnbmVkIGZsYWdzKQogewpAQCAtNDQ5
Nyw3ICs0NDk3LDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjphZGRCZWhhdmlvclJlc3RyaWN0
aW9uc09uRW5kSWZOZWNlc3NhcnkoKQogCiAgICAgbV9tZWRpYVNlc3Npb24tPmFkZEJlaGF2aW9y
UmVzdHJpY3Rpb24oTWVkaWFFbGVtZW50U2Vzc2lvbjo6UmVxdWlyZVVzZXJHZXN0dXJlVG9Db250
cm9sQ29udHJvbHNNYW5hZ2VyKTsKICAgICBtX3BsYXliYWNrQ29udHJvbHNNYW5hZ2VyQmVoYXZp
b3JSZXN0cmljdGlvbnNUaW1lci5zdG9wKCk7Ci0gICAgbV9wbGF5YmFja0NvbnRyb2xzTWFuYWdl
ckJlaGF2aW9yUmVzdHJpY3Rpb25zVGltZXIuc3RhcnRPbmVTaG90KEhpZGVNZWRpYUNvbnRyb2xz
QWZ0ZXJFbmRlZERlbGF5KTsKKyAgICBtX3BsYXliYWNrQ29udHJvbHNNYW5hZ2VyQmVoYXZpb3JS
ZXN0cmljdGlvbnNUaW1lci5zdGFydE9uZVNob3QoaGlkZU1lZGlhQ29udHJvbHNBZnRlckVuZGVk
RGVsYXkpOwogfQogCiB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OmhhbmRsZVNlZWtUb1BsYXliYWNr
UG9zaXRpb24oZG91YmxlIHBvc2l0aW9uKQpAQCAtNDUwNyw3ICs0NTA3LDcgQEAgdm9pZCBIVE1M
TWVkaWFFbGVtZW50OjpoYW5kbGVTZWVrVG9QbGF5YmFja1Bvc2l0aW9uKGRvdWJsZSBwb3NpdGlv
bikKICAgICAvLyBQbGVhc2Ugc2VlIDxyZGFyOi8vcHJvYmxlbS8yODQ1NzIxOT4gZm9yIG1vcmUg
ZGV0YWlscy4KICAgICBzZWVrKE1lZGlhVGltZTo6Y3JlYXRlV2l0aERvdWJsZShwb3NpdGlvbikp
OwogICAgIG1fc2Vla1RvUGxheWJhY2tQb3NpdGlvbkVuZGVkVGltZXIuc3RvcCgpOwotICAgIG1f
c2Vla1RvUGxheWJhY2tQb3NpdGlvbkVuZGVkVGltZXIuc3RhcnRPbmVTaG90KDAuNSk7CisgICAg
bV9zZWVrVG9QbGF5YmFja1Bvc2l0aW9uRW5kZWRUaW1lci5zdGFydE9uZVNob3QoNTAwX21zKTsK
IAogICAgIGlmICghbV9pc1NjcnViYmluZ1JlbW90ZWx5KSB7CiAgICAgICAgIG1faXNTY3J1YmJp
bmdSZW1vdGVseSA9IHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1NlYXJj
aElucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1NlYXJjaElucHV0VHlwZS5jcHAK
aW5kZXggZjVkMmJiOTU1MzI5MDcxOTgyNjY2ZGI3NThlZWMyYmM3NjZkNTBhNy4uZDgyMzU5ZjE2
ZDM3NjQ1MTczNjk2Y2Q0MGY3YmYwMTAzYmRlODM1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9TZWFyY2hJbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvU2Vh
cmNoSW5wdXRUeXBlLmNwcApAQCAtMTY1LDcgKzE2NSw3IEBAIHZvaWQgU2VhcmNoSW5wdXRUeXBl
OjpzdGFydFNlYXJjaEV2ZW50VGltZXIoKQogCiAgICAgLy8gQWZ0ZXIgdHlwaW5nIHRoZSBmaXJz
dCBrZXksIHdlIHdhaXQgMC41IHNlY29uZHMuCiAgICAgLy8gQWZ0ZXIgdGhlIHNlY29uZCBrZXks
IDAuNCBzZWNvbmRzLCB0aGVuIDAuMywgdGhlbiAwLjIgZnJvbSB0aGVuIG9uLgotICAgIG1fc2Vh
cmNoRXZlbnRUaW1lci5zdGFydE9uZVNob3Qoc3RkOjptYXgoMC4yLCAwLjYgLSAwLjEgKiBsZW5n
dGgpKTsKKyAgICBtX3NlYXJjaEV2ZW50VGltZXIuc3RhcnRPbmVTaG90KHN0ZDo6bWF4KDIwMF9t
cywgNjAwX21zIC0gMTAwX21zICogbGVuZ3RoKSk7CiB9CiAKIHZvaWQgU2VhcmNoSW5wdXRUeXBl
OjpzdG9wU2VhcmNoRXZlbnRUaW1lcigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L1ZhbGlkYXRpb25NZXNzYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRhdGlvbk1l
c3NhZ2UuY3BwCmluZGV4IDQ1MWZjNTkxMDg1MTQ1NzM5NGRjNDQ5NTNkZDg4OWMxMjk0YmU2ZDku
LjQ3MGVhZWRjM2E3NjY4NmQ1YzQwMWEwNTM3ZTgwN2ZhMzhmNTA1ZTQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRhdGlvbk1lc3NhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvVmFsaWRhdGlvbk1lc3NhZ2UuY3BwCkBAIC0xNDQsNyArMTQ0LDcgQEAgdm9pZCBW
YWxpZGF0aW9uTWVzc2FnZTo6c2V0TWVzc2FnZURPTUFuZFN0YXJ0VGltZXIoKQogICAgICAgICBt
X3RpbWVyID0gbnVsbHB0cjsKICAgICBlbHNlIHsKICAgICAgICAgbV90aW1lciA9IHN0ZDo6bWFr
ZV91bmlxdWU8VGltZXI+KCp0aGlzLCAmVmFsaWRhdGlvbk1lc3NhZ2U6OmRlbGV0ZUJ1YmJsZVRy
ZWUpOwotICAgICAgICBtX3RpbWVyLT5zdGFydE9uZVNob3Qoc3RkOjptYXgoNS4wLCBzdGF0aWNf
Y2FzdDxkb3VibGU+KG1fbWVzc2FnZS5sZW5ndGgoKSkgKiBtYWduaWZpY2F0aW9uIC8gMTAwMCkp
OworICAgICAgICBtX3RpbWVyLT5zdGFydE9uZVNob3Qoc3RkOjptYXgoNV9zLCAxX21zICogc3Rh
dGljX2Nhc3Q8ZG91YmxlPihtX21lc3NhZ2UubGVuZ3RoKCkpICogbWFnbmlmaWNhdGlvbikpOwog
ICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xS
ZW5kZXJpbmdDb250ZXh0QmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJH
TFJlbmRlcmluZ0NvbnRleHRCYXNlLmNwcAppbmRleCBiNTEyZmZjMTc2YmQzYTYxODdkMWQzZTRk
NGIwYmQ1YjQ0ZWZjODNlLi5hYmVjNjczMWRiYzUxNzA0ZDY2NGNiMDczZmJhYTkzNzIwZWE5ODFk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0Nv
bnRleHRCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRl
cmluZ0NvbnRleHRCYXNlLmNwcApAQCAtMTAwLDcgKzEwMCw3IEBACiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAotY29uc3QgZG91YmxlIHNlY29uZHNCZXR3ZWVuUmVzdG9yZUF0dGVtcHRzID0gMS4w
Oworc3RhdGljIGNvbnN0IFNlY29uZHMgc2Vjb25kc0JldHdlZW5SZXN0b3JlQXR0ZW1wdHMgeyAx
X3MgfTsKIGNvbnN0IGludCBtYXhHTEVycm9yc0FsbG93ZWRUb0NvbnNvbGUgPSAyNTY7CiBzdGF0
aWMgY29uc3QgU2Vjb25kcyBjaGVja0NvbnRleHRMb3NzSGFuZGxpbmdEZWxheSB7IDNfcyB9Owog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVt
ZW50cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50
cy5jcHAKaW5kZXggN2IxZGY0OWUyY2Y3NjNjYmNlZGI4NTM0ZDY4NWY3ZTNhMzlkZmY5Ny4uNWYz
YjNjMzU3Y2U0YmQ5MzA5NjIzZDc4Y2VmYTkwNTUzMzEwNjkwYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcApAQCAtMTM3LDcg
KzEzNyw3IEBAIHZvaWQgTWVkaWFDb250cm9sUGFuZWxFbGVtZW50OjpzdGFydFRpbWVyKCkKICAg
ICAvLyBUaGUgdGltZXIgaXMgcmVxdWlyZWQgdG8gc2V0IHRoZSBwcm9wZXJ0eSBkaXNwbGF5Oidu
b25lJyBvbiB0aGUgcGFuZWwsCiAgICAgLy8gc3VjaCB0aGF0IGNhcHRpb25zIGFyZSBjb3JyZWN0
bHkgZGlzcGxheWVkIGF0IHRoZSBib3R0b20gb2YgdGhlIHZpZGVvCiAgICAgLy8gYXQgdGhlIGVu
ZCBvZiB0aGUgZmFkZW91dCB0cmFuc2l0aW9uLgotICAgIGRvdWJsZSBkdXJhdGlvbiA9IGRvY3Vt
ZW50KCkucGFnZSgpID8gZG9jdW1lbnQoKS5wYWdlKCktPnRoZW1lKCkubWVkaWFDb250cm9sc0Zh
ZGVPdXREdXJhdGlvbigpIDogMDsKKyAgICBTZWNvbmRzIGR1cmF0aW9uID0gZG9jdW1lbnQoKS5w
YWdlKCkgPyBkb2N1bWVudCgpLnBhZ2UoKS0+dGhlbWUoKS5tZWRpYUNvbnRyb2xzRmFkZU91dER1
cmF0aW9uKCkgOiAwX3M7CiAgICAgbV90cmFuc2l0aW9uVGltZXIuc3RhcnRPbmVTaG90KGR1cmF0
aW9uKTsKIH0KIApAQCAtMjA1LDEwICsyMDUsMTAgQEAgdm9pZCBNZWRpYUNvbnRyb2xQYW5lbEVs
ZW1lbnQ6Om1ha2VUcmFuc3BhcmVudCgpCiAgICAgaWYgKCFtX29wYXF1ZSkKICAgICAgICAgcmV0
dXJuOwogCi0gICAgZG91YmxlIGR1cmF0aW9uID0gZG9jdW1lbnQoKS5wYWdlKCkgPyBkb2N1bWVu
dCgpLnBhZ2UoKS0+dGhlbWUoKS5tZWRpYUNvbnRyb2xzRmFkZU91dER1cmF0aW9uKCkgOiAwOwor
ICAgIFNlY29uZHMgZHVyYXRpb24gPSBkb2N1bWVudCgpLnBhZ2UoKSA/IGRvY3VtZW50KCkucGFn
ZSgpLT50aGVtZSgpLm1lZGlhQ29udHJvbHNGYWRlT3V0RHVyYXRpb24oKSA6IDBfczsKIAogICAg
IHNldElubGluZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlUcmFuc2l0aW9uUHJvcGVydHksIENT
U1Byb3BlcnR5T3BhY2l0eSk7Ci0gICAgc2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0
eVRyYW5zaXRpb25EdXJhdGlvbiwgZHVyYXRpb24sIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUyk7
CisgICAgc2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eVRyYW5zaXRpb25EdXJhdGlv
biwgZHVyYXRpb24udmFsdWUoKSwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19TKTsKICAgICBzZXRJ
bmxpbmVTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5T3BhY2l0eSwgMC4wLCBDU1NQcmltaXRpdmVW
YWx1ZTo6Q1NTX05VTUJFUik7CiAKICAgICBtX29wYXF1ZSA9IGZhbHNlOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9WVFRSZWdpb24uY3BwIGIvU291cmNlL1dlYkNvcmUv
aHRtbC90cmFjay9WVFRSZWdpb24uY3BwCmluZGV4IDA1NzhiZjkxMjY3Y2I1NTBhZjAyZGI3ZTIy
M2RkNDM2YzA3ZDUxYjYuLmNiNGQwNWJlYzBjMzNiOWIxY2ZjMGQzYmU0NDU5ZjA1ZDExNDlkYjEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVlRUUmVnaW9uLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1ZUVFJlZ2lvbi5jcHAKQEAgLTU2LDcgKzU2LDcg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogc3RhdGljIGNvbnN0IGZsb2F0IGxpbmVIZWlnaHQgPSA1
LjMzOwogCiAvLyBEZWZhdWx0IHNjcm9sbGluZyBhbmltYXRpb24gdGltZSBwZXJpb2QgKHMpLgot
c3RhdGljIGNvbnN0IGZsb2F0IHNjcm9sbFRpbWUgPSAwLjQzMzsKK3N0YXRpYyBjb25zdCBTZWNv
bmRzIHNjcm9sbFRpbWUgeyA0MzNfbXMgfTsKIAogVlRUUmVnaW9uOjpWVFRSZWdpb24oU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCkKICAgICA6IENvbnRleHREZXN0cnVjdGlvbk9ic2Vy
dmVyKCZjb250ZXh0KQpAQCAtNDAzLDcgKzQwMyw3IEBAIHZvaWQgVlRUUmVnaW9uOjpzdGFydFRp
bWVyKCkKICAgICBpZiAobV9zY3JvbGxUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICByZXR1cm47
CiAKLSAgICBkb3VibGUgZHVyYXRpb24gPSBpc1Njcm9sbGluZ1JlZ2lvbigpID8gc2Nyb2xsVGlt
ZSA6IDA7CisgICAgU2Vjb25kcyBkdXJhdGlvbiA9IGlzU2Nyb2xsaW5nUmVnaW9uKCkgPyBzY3Jv
bGxUaW1lIDogMF9zOwogICAgIG1fc2Nyb2xsVGltZXIuc3RhcnRPbmVTaG90KGR1cmF0aW9uKTsK
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uLmNwcAppbmRleCA1MWM0YmFhODUyZTVhY2EwMmI4MzU1MzYzZGYxNTk3NmI5MWVi
NmViLi5jMWI0Njg4ZjU2YjhjODdjNTVjMWJmZWI4MGM2ZTMyYjQwODcxNzczIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNw
cApAQCAtODAzLDcgKzgwMyw3IEBAIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpmcmFt
ZVN0b3BwZWRMb2FkaW5nSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzJiBpbnN0CiAgICAgICAgIGlu
c3BlY3RvclBhZ2VBZ2VudC0+ZnJhbWVTdG9wcGVkTG9hZGluZyhmcmFtZSk7CiB9CiAKLXZvaWQg
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpmcmFtZVNjaGVkdWxlZE5hdmlnYXRpb25JbXBsKElu
c3RydW1lbnRpbmdBZ2VudHMmIGluc3RydW1lbnRpbmdBZ2VudHMsIEZyYW1lJiBmcmFtZSwgZG91
YmxlIGRlbGF5KQordm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmZyYW1lU2NoZWR1bGVk
TmF2aWdhdGlvbkltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyYgaW5zdHJ1bWVudGluZ0FnZW50cywg
RnJhbWUmIGZyYW1lLCBTZWNvbmRzIGRlbGF5KQogewogICAgIGlmIChJbnNwZWN0b3JQYWdlQWdl
bnQqIGluc3BlY3RvclBhZ2VBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMuaW5zcGVjdG9yUGFn
ZUFnZW50KCkpCiAgICAgICAgIGluc3BlY3RvclBhZ2VBZ2VudC0+ZnJhbWVTY2hlZHVsZWROYXZp
Z2F0aW9uKGZyYW1lLCBkZWxheSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKaW5kZXggNDU4OTc1MjEyMGEzOTQyYzgwZmUyOTU3
YWU2ZTYzMjM2Y2Y4MzE0Ny4uOWMyMTEyNjY3NzM4ZWFmYTY5YTZmZjQ3YzdkOTVkNmNmMDVlNGZi
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1l
bnRhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb24uaApAQCAtMTc5LDcgKzE3OSw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBs
b2FkZXJEZXRhY2hlZEZyb21GcmFtZShGcmFtZSYsIERvY3VtZW50TG9hZGVyJik7CiAgICAgc3Rh
dGljIHZvaWQgZnJhbWVTdGFydGVkTG9hZGluZyhGcmFtZSYpOwogICAgIHN0YXRpYyB2b2lkIGZy
YW1lU3RvcHBlZExvYWRpbmcoRnJhbWUmKTsKLSAgICBzdGF0aWMgdm9pZCBmcmFtZVNjaGVkdWxl
ZE5hdmlnYXRpb24oRnJhbWUmLCBkb3VibGUgZGVsYXkpOworICAgIHN0YXRpYyB2b2lkIGZyYW1l
U2NoZWR1bGVkTmF2aWdhdGlvbihGcmFtZSYsIFNlY29uZHMgZGVsYXkpOwogICAgIHN0YXRpYyB2
b2lkIGZyYW1lQ2xlYXJlZFNjaGVkdWxlZE5hdmlnYXRpb24oRnJhbWUmKTsKICAgICBzdGF0aWMg
dm9pZCB3aWxsRGVzdHJveUNhY2hlZFJlc291cmNlKENhY2hlZFJlc291cmNlJik7CiAKQEAgLTM0
OSw3ICszNDksNyBAQCBwcml2YXRlOgogICAgIHN0YXRpYyB2b2lkIGxvYWRlckRldGFjaGVkRnJv
bUZyYW1lSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzJiwgRG9jdW1lbnRMb2FkZXImKTsKICAgICBz
dGF0aWMgdm9pZCBmcmFtZVN0YXJ0ZWRMb2FkaW5nSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzJiwg
RnJhbWUmKTsKICAgICBzdGF0aWMgdm9pZCBmcmFtZVN0b3BwZWRMb2FkaW5nSW1wbChJbnN0cnVt
ZW50aW5nQWdlbnRzJiwgRnJhbWUmKTsKLSAgICBzdGF0aWMgdm9pZCBmcmFtZVNjaGVkdWxlZE5h
dmlnYXRpb25JbXBsKEluc3RydW1lbnRpbmdBZ2VudHMmLCBGcmFtZSYsIGRvdWJsZSBkZWxheSk7
CisgICAgc3RhdGljIHZvaWQgZnJhbWVTY2hlZHVsZWROYXZpZ2F0aW9uSW1wbChJbnN0cnVtZW50
aW5nQWdlbnRzJiwgRnJhbWUmLCBTZWNvbmRzIGRlbGF5KTsKICAgICBzdGF0aWMgdm9pZCBmcmFt
ZUNsZWFyZWRTY2hlZHVsZWROYXZpZ2F0aW9uSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzJiwgRnJh
bWUmKTsKICAgICBzdGF0aWMgdm9pZCB3aWxsRGVzdHJveUNhY2hlZFJlc291cmNlSW1wbChDYWNo
ZWRSZXNvdXJjZSYpOwogCkBAIC05ODIsNyArOTgyLDcgQEAgaW5saW5lIHZvaWQgSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uOjpmcmFtZVN0b3BwZWRMb2FkaW5nKEZyYW1lJiBmcmFtZSkKICAgICAg
ICAgZnJhbWVTdG9wcGVkTG9hZGluZ0ltcGwoKmluc3RydW1lbnRpbmdBZ2VudHMsIGZyYW1lKTsK
IH0KIAotaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpmcmFtZVNjaGVkdWxl
ZE5hdmlnYXRpb24oRnJhbWUmIGZyYW1lLCBkb3VibGUgZGVsYXkpCitpbmxpbmUgdm9pZCBJbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb246OmZyYW1lU2NoZWR1bGVkTmF2aWdhdGlvbihGcmFtZSYgZnJh
bWUsIFNlY29uZHMgZGVsYXkpCiB7CiAgICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3Ry
dW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yRnJhbWUoZnJhbWUpKQogICAg
ICAgICBmcmFtZVNjaGVkdWxlZE5hdmlnYXRpb25JbXBsKCppbnN0cnVtZW50aW5nQWdlbnRzLCBm
cmFtZSwgZGVsYXkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvclBhZ2VBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFn
ZUFnZW50LmNwcAppbmRleCAzMmZkNDdlOTcwOGM5MGZmMGQzOWQ3ODc0ZDQ1OGUzNGJiMzM0YjRi
Li42YWE2YTA4NDRlZWVlODlkY2ZlZDAzOWZlYWYyMmNlODVkZGMwOTBmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmNwcApAQCAtODA2LDkgKzgw
Niw5IEBAIHZvaWQgSW5zcGVjdG9yUGFnZUFnZW50OjpmcmFtZVN0b3BwZWRMb2FkaW5nKEZyYW1l
JiBmcmFtZSkKICAgICBtX2Zyb250ZW5kRGlzcGF0Y2hlci0+ZnJhbWVTdG9wcGVkTG9hZGluZyhm
cmFtZUlkKCZmcmFtZSkpOwogfQogCi12b2lkIEluc3BlY3RvclBhZ2VBZ2VudDo6ZnJhbWVTY2hl
ZHVsZWROYXZpZ2F0aW9uKEZyYW1lJiBmcmFtZSwgZG91YmxlIGRlbGF5KQordm9pZCBJbnNwZWN0
b3JQYWdlQWdlbnQ6OmZyYW1lU2NoZWR1bGVkTmF2aWdhdGlvbihGcmFtZSYgZnJhbWUsIFNlY29u
ZHMgZGVsYXkpCiB7Ci0gICAgbV9mcm9udGVuZERpc3BhdGNoZXItPmZyYW1lU2NoZWR1bGVkTmF2
aWdhdGlvbihmcmFtZUlkKCZmcmFtZSksIGRlbGF5KTsKKyAgICBtX2Zyb250ZW5kRGlzcGF0Y2hl
ci0+ZnJhbWVTY2hlZHVsZWROYXZpZ2F0aW9uKGZyYW1lSWQoJmZyYW1lKSwgZGVsYXkudmFsdWUo
KSk7CiB9CiAKIHZvaWQgSW5zcGVjdG9yUGFnZUFnZW50OjpmcmFtZUNsZWFyZWRTY2hlZHVsZWRO
YXZpZ2F0aW9uKEZyYW1lJiBmcmFtZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JQYWdlQWdlbnQuaAppbmRleCA3ZTkyOGFlMGMyNTYxNWNlMmFiMWRiNzM3OGEwOWMyZTgz
ODg5ZTQ0Li4yODgzMTgxNzExYTQ2ZTYzMDY2ZDU5MGNlMzRkOGQxNDA5MTVjNzQ5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclBhZ2VBZ2VudC5oCkBAIC0xMTgsNyAr
MTE4LDcgQEAgcHVibGljOgogICAgIHZvaWQgbG9hZGVyRGV0YWNoZWRGcm9tRnJhbWUoRG9jdW1l
bnRMb2FkZXImKTsKICAgICB2b2lkIGZyYW1lU3RhcnRlZExvYWRpbmcoRnJhbWUmKTsKICAgICB2
b2lkIGZyYW1lU3RvcHBlZExvYWRpbmcoRnJhbWUmKTsKLSAgICB2b2lkIGZyYW1lU2NoZWR1bGVk
TmF2aWdhdGlvbihGcmFtZSYsIGRvdWJsZSBkZWxheSk7CisgICAgdm9pZCBmcmFtZVNjaGVkdWxl
ZE5hdmlnYXRpb24oRnJhbWUmLCBTZWNvbmRzIGRlbGF5KTsKICAgICB2b2lkIGZyYW1lQ2xlYXJl
ZFNjaGVkdWxlZE5hdmlnYXRpb24oRnJhbWUmKTsKICAgICB2b2lkIGFwcGx5RW11bGF0ZWRNZWRp
YShTdHJpbmcmKTsKICAgICB2b2lkIGRpZFBhaW50KFJlbmRlck9iamVjdCYsIGNvbnN0IExheW91
dFJlY3QmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2No
ZWR1bGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNw
cAppbmRleCBhMzkxODUxNWFkN2VmOGU3NWQ2MDA4NjUxOTczYjY1ZWUzYWM2NDE1Li5lNmMzOTJl
MDMxM2M1OGQyZTVkMDc0ZWFmMTcxNDI1YTRiNjJkYWNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuY3BwCkBAIC01NDEsNyArNTQxLDcgQEAgdm9pZCBO
YXZpZ2F0aW9uU2NoZWR1bGVyOjpzdGFydFRpbWVyKCkKICAgICBpZiAoIW1fcmVkaXJlY3QtPnNo
b3VsZFN0YXJ0VGltZXIobV9mcmFtZSkpCiAgICAgICAgIHJldHVybjsKIAotICAgIGRvdWJsZSBk
ZWxheSA9IG1fcmVkaXJlY3QtPmRlbGF5KCk7CisgICAgU2Vjb25kcyBkZWxheSA9IDFfcyAqIG1f
cmVkaXJlY3QtPmRlbGF5KCk7CiAgICAgbV90aW1lci5zdGFydE9uZVNob3QoZGVsYXkpOwogICAg
IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZnJhbWVTY2hlZHVsZWROYXZpZ2F0aW9uKG1fZnJh
bWUsIGRlbGF5KTsKICAgICBtX3JlZGlyZWN0LT5kaWRTdGFydFRpbWVyKG1fZnJhbWUsIG1fdGlt
ZXIpOyAvLyBtX3JlZGlyZWN0IG1heSBiZSBudWxsIG9uIHJldHVybiAoZS5nLiB0aGUgY2xpZW50
IGNhbmNlbGVkIHRoZSBsb2FkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2Nh
Y2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNo
ZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggNzE4MTk5MjA1NDU0MDUzZDczZTU3ZTBl
YTdlMDRjNWFkYWYzMWU1OS4uZTg5MDY1YjNhODBkZGU3M2RmOWE0MzcxZjQ2YzNjZWE5NmViMDM0
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNl
TG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3Vy
Y2VMb2FkZXIuY3BwCkBAIC04NCw3ICs4NCw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIC8v
IFRpbWVvdXQgZm9yIGxpbmsgcHJlbG9hZHMgdG8gYmUgdXNlZCBhZnRlciB3aW5kb3cub25sb2Fk
Ci1zdGF0aWMgY29uc3QgaW50IHVudXNlZFByZWxvYWRUaW1lb3V0SW5TZWNvbmRzID0gMzsKK3N0
YXRpYyBjb25zdCBTZWNvbmRzIHVudXNlZFByZWxvYWRUaW1lb3V0IHsgM19zIH07CiAKIHN0YXRp
YyBDYWNoZWRSZXNvdXJjZSogY3JlYXRlUmVzb3VyY2UoQ2FjaGVkUmVzb3VyY2U6OlR5cGUgdHlw
ZSwgQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVzdCwgU2Vzc2lvbklEIHNlc3Npb25JRCkK
IHsKQEAgLTgyOCw3ICs4MjgsNyBAQCB2b2lkIENhY2hlZFJlc291cmNlTG9hZGVyOjpkb2N1bWVu
dERpZEZpbmlzaExvYWRFdmVudCgpCiAgICAgLy8gSWYgbV9wcmVsb2FkcyBpcyBub3QgZW1wdHkg
aGVyZSwgaXQncyBmdWxsIG9mIGxpbmsgcHJlbG9hZHMsCiAgICAgLy8gYXMgc3BlY3VsYXRpdmUg
cHJlbG9hZHMgd2VyZSBjbGVhcmVkIGF0IERDTC4KICAgICBpZiAobV9wcmVsb2FkcyAmJiBtX3By
ZWxvYWRzLT5zaXplKCkgJiYgIW1fdW51c2VkUHJlbG9hZHNUaW1lci5pc0FjdGl2ZSgpKQotICAg
ICAgICBtX3VudXNlZFByZWxvYWRzVGltZXIuc3RhcnRPbmVTaG90KHVudXNlZFByZWxvYWRUaW1l
b3V0SW5TZWNvbmRzKTsKKyAgICAgICAgbV91bnVzZWRQcmVsb2Fkc1RpbWVyLnN0YXJ0T25lU2hv
dCh1bnVzZWRQcmVsb2FkVGltZW91dCk7CiB9CiAKIHZvaWQgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6
OnN0b3BVbnVzZWRQcmVsb2Fkc1RpbWVyKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9pY29uL0ljb25EYXRhYmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNvbi9J
Y29uRGF0YWJhc2UuY3BwCmluZGV4IDRjZGNmYWFkNmU4MzJhMzlhNWMzNTI2NTgwNTg1MDg2YjNk
OWY3MmYuLjhkZTk0Y2U1ZGNhNzY3MTE2MzYyMDJlNmQzMWY3NTMwZDhhMjkyZDIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmNwcApAQCAtNjcsNyArNjcsNyBA
QCBzdGF0aWMgY29uc3QgaW50IGN1cnJlbnREYXRhYmFzZVZlcnNpb24gPSA2OwogLy8gSWNvbnMg
ZXhwaXJlIG9uY2UgZXZlcnkgNCBkYXlzCiBzdGF0aWMgY29uc3QgaW50IGljb25FeHBpcmF0aW9u
VGltZSA9IDYwKjYwKjI0KjQ7IAogCi1zdGF0aWMgY29uc3QgaW50IHVwZGF0ZVRpbWVyRGVsYXkg
PSA1OyAKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHVwZGF0ZVRpbWVyRGVsYXkgeyA1X3MgfTsKIAog
c3RhdGljIGJvb2wgY2hlY2tJbnRlZ3JpdHlPbk9wZW4gPSBmYWxzZTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9FdmVudEhhbmRsZXIuY3BwCmluZGV4IGRjYTgyMzA0NjMwYzMyMDg1NWNkYWZlMjEzYmVhMDMy
OGZjNjRjZjMuLjg0NWYzYWViZWY1NDdlNjc4ZjFkMGM3OWQ5ZTU5M2ZhMGJjNWQ3ZmMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKQEAgLTE1NywxNCArMTU3LDE0IEBAIHVzaW5n
IG5hbWVzcGFjZSBTVkdOYW1lczsKIC8vIGR1cmluZyBhIHNjcm9sbC4gVGhlIHNob3J0IGludGVy
dmFsIGlzIHVzZWQgaWYgdGhlIGNvbnRlbnQgcmVzcG9uZHMgdG8gdGhlIG1vdXNlIGV2ZW50cwog
Ly8gaW4gZmFrZU1vdXNlTW92ZUR1cmF0aW9uVGhyZXNob2xkIG9yIGxlc3MsIG90aGVyd2lzZSB0
aGUgbG9uZyBpbnRlcnZhbCBpcyB1c2VkLgogY29uc3QgZG91YmxlIGZha2VNb3VzZU1vdmVEdXJh
dGlvblRocmVzaG9sZCA9IDAuMDE7Ci1jb25zdCBkb3VibGUgZmFrZU1vdXNlTW92ZVNob3J0SW50
ZXJ2YWwgPSAwLjE7Ci1jb25zdCBkb3VibGUgZmFrZU1vdXNlTW92ZUxvbmdJbnRlcnZhbCA9IDAu
MjU7Citjb25zdCBTZWNvbmRzIGZha2VNb3VzZU1vdmVTaG9ydEludGVydmFsID0geyAxMDBfbXMg
fTsKK2NvbnN0IFNlY29uZHMgZmFrZU1vdXNlTW92ZUxvbmdJbnRlcnZhbCA9IHsgMjUwX21zIH07
CiAjZW5kaWYKIAogI2lmIEVOQUJMRShDVVJTT1JfU1VQUE9SVCkKIC8vIFRoZSBhbW91bnQgb2Yg
dGltZSB0byB3YWl0IGZvciBhIGN1cnNvciB1cGRhdGUgb24gc3R5bGUgYW5kIGxheW91dCBjaGFu
Z2VzCiAvLyBTZXQgdG8gNTBIeiwgbm8gbmVlZCB0byBiZSBmYXN0ZXIgdGhhbiBjb21tb24gc2Ny
ZWVuIHJlZnJlc2ggcmF0ZQotY29uc3QgZG91YmxlIGN1cnNvclVwZGF0ZUludGVydmFsID0gMC4w
MjsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIGN1cnNvclVwZGF0ZUludGVydmFsIHsgMjBfbXMgfTsK
IAogY29uc3QgaW50IG1heGltdW1DdXJzb3JTaXplID0gMTI4OwogI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRXZlbnRTb3VyY2UuY3BwCmluZGV4IGIxZGVkM2Y4ZjdjMWRhMTJiOTM3ZTM1YmNlZmQ0NDgx
OTg1ZjYxM2MuLjM3OTQzMDlkZWQyNDVjNWYyN2Y3N2JhY2JkZjk4ZWMxYjM3ZjNlN2MgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuY3BwCkBAIC0xMzgsNyArMTM4LDcgQEAgdm9pZCBFdmVu
dFNvdXJjZTo6c2NoZWR1bGVJbml0aWFsQ29ubmVjdCgpCiB2b2lkIEV2ZW50U291cmNlOjpzY2hl
ZHVsZVJlY29ubmVjdCgpCiB7CiAgICAgbV9zdGF0ZSA9IENPTk5FQ1RJTkc7Ci0gICAgbV9jb25u
ZWN0VGltZXIuc3RhcnRPbmVTaG90KG1fcmVjb25uZWN0RGVsYXkgLyAxMDAwLjApOworICAgIG1f
Y29ubmVjdFRpbWVyLnN0YXJ0T25lU2hvdCgxX21zICogbV9yZWNvbm5lY3REZWxheSk7CiAgICAg
ZGlzcGF0Y2hFdmVudChFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5lcnJvckV2ZW50LCBmYWxz
ZSwgZmFsc2UpKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Gb2N1c0Nv
bnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Gb2N1c0NvbnRyb2xsZXIuY3BwCmlu
ZGV4IGExYjg4ZWViODEyZGJhODBmNzFlMzA0OTVjNzc0NTgwODVjNjMyZDcuLjhmMGEyNzdiMzM1
NmJkMTcyMDE0N2QzNzMxNjYwZjI2N2JjNWRjMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRm9jdXNDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZvY3Vz
Q29udHJvbGxlci5jcHAKQEAgLTEwODksNyArMTA4OSw3IEBAIGJvb2wgRm9jdXNDb250cm9sbGVy
OjphZHZhbmNlRm9jdXNEaXJlY3Rpb25hbGx5KEZvY3VzRGlyZWN0aW9uIGRpcmVjdGlvbiwgS2V5
Ym9hCiAKIHZvaWQgRm9jdXNDb250cm9sbGVyOjpzZXRGb2N1c2VkRWxlbWVudE5lZWRzUmVwYWlu
dCgpCiB7Ci0gICAgbV9mb2N1c1JlcGFpbnRUaW1lci5zdGFydE9uZVNob3QoMC4wMzMpOworICAg
IG1fZm9jdXNSZXBhaW50VGltZXIuc3RhcnRPbmVTaG90KDMzX21zKTsKIH0KIAogdm9pZCBGb2N1
c0NvbnRyb2xsZXI6OmZvY3VzUmVwYWludFRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZp
ZXcuY3BwCmluZGV4IGZhYzFlMmZiM2NkOWMxYWU1YjM2MjQ0OGRhYjNkMmE4MWEwMGU2Y2YuLmMz
ZmNjOTMxMTFlMmI3NWE0MzcwZDg1MmMwNTA3MDA5ZWQzNjM1MTkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Zy
YW1lVmlldy5jcHAKQEAgLTI1MTUsNyArMjUxNSw3IEBAIHZvaWQgRnJhbWVWaWV3OjpzY3JvbGxQ
b3NpdGlvbkNoYW5nZWQoY29uc3QgU2Nyb2xsUG9zaXRpb24mIG9sZFBvc2l0aW9uLCBjb25zdCBT
CiAgICAgICAgIG1fZGVsYXllZFNjcm9sbEV2ZW50VGltZXIuc3RvcCgpOwogICAgICAgICBzZW5k
U2Nyb2xsRXZlbnQoKTsKICAgICB9IGVsc2UgaWYgKCFtX2RlbGF5ZWRTY3JvbGxFdmVudFRpbWVy
LmlzQWN0aXZlKCkpCi0gICAgICAgIG1fZGVsYXllZFNjcm9sbEV2ZW50VGltZXIuc3RhcnRPbmVT
aG90KHRocm90dGxpbmdEZWxheS52YWx1ZSgpKTsKKyAgICAgICAgbV9kZWxheWVkU2Nyb2xsRXZl
bnRUaW1lci5zdGFydE9uZVNob3QodGhyb3R0bGluZ0RlbGF5KTsKIAogICAgIGlmIChEb2N1bWVu
dCogZG9jdW1lbnQgPSBmcmFtZSgpLmRvY3VtZW50KCkpCiAgICAgICAgIGRvY3VtZW50LT5zZW5k
V2lsbFJldmVhbEVkZ2VFdmVudHNJZk5lZWRlZChvbGRQb3NpdGlvbiwgbmV3UG9zaXRpb24sIHZp
c2libGVDb250ZW50UmVjdCgpLCBjb250ZW50c1NpemUoKSk7CkBAIC0yOTM0LDcgKzI5MzQsNyBA
QCB2b2lkIEZyYW1lVmlldzo6ZW5hYmxlU3BlY3VsYXRpdmVUaWxpbmdJZk5lZWRlZCgpCiAgICAg
aWYgKG1fc3BlY3VsYXRpdmVUaWxpbmdFbmFibGVUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICBy
ZXR1cm47CiAgICAgLy8gRGVsYXkgZW5hYmxpbmcgYSBiaXQgYXMgbG9hZCBjb21wbGV0aW9uIG1h
eSB0cmlnZ2VyIGZ1cnRoZXIgbG9hZGluZyBmcm9tIHNjcmlwdHMuCi0gICAgc3RhdGljIGNvbnN0
IGRvdWJsZSBzcGVjdWxhdGl2ZVRpbGluZ0VuYWJsZURlbGF5ID0gMC41OworICAgIHN0YXRpYyBj
b25zdCBTZWNvbmRzIHNwZWN1bGF0aXZlVGlsaW5nRW5hYmxlRGVsYXkgeyA1MDBfbXMgfTsKICAg
ICBtX3NwZWN1bGF0aXZlVGlsaW5nRW5hYmxlVGltZXIuc3RhcnRPbmVTaG90KHNwZWN1bGF0aXZl
VGlsaW5nRW5hYmxlRGVsYXkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1NldHRpbmdzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCmluZGV4IGU3
Y2M5MGFmYzIwM2Q3YzNhOTllNDVhMjc0NmE2ZDg2MzA2YTFkZDcuLjQ1MDcwZWQwOTQ0ZWNhMWJm
YzdjY2FjYTRhMDE0OGE5YjhkZTdhYTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
U2V0dGluZ3MuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCkBAIC0y
MTIsNyArMjEyLDcgQEAgU2V0dGluZ3M6OlNldHRpbmdzKFBhZ2UqIHBhZ2UpCiAgICAgLCBtX3Rv
dWNoRXZlbnRFbXVsYXRpb25FbmFibGVkKGZhbHNlKQogI2VuZGlmCiAgICAgLCBtX3Njcm9sbGlu
Z1BlcmZvcm1hbmNlTG9nZ2luZ0VuYWJsZWQoZmFsc2UpCi0gICAgLCBtX3RpbWVXaXRob3V0TW91
c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKDMpCisgICAgLCBtX3RpbWVXaXRob3V0TW91
c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKDNfcykKICAgICAsIG1fc2V0SW1hZ2VMb2Fk
aW5nU2V0dGluZ3NUaW1lcigqdGhpcywgJlNldHRpbmdzOjppbWFnZUxvYWRpbmdTZXR0aW5nc1Rp
bWVyRmlyZWQpCiAgICAgLCBtX2hpZGRlblBhZ2VET01UaW1lclRocm90dGxpbmdFbmFibGVkKGZh
bHNlKQogICAgICwgbV9oaWRkZW5QYWdlQ1NTQW5pbWF0aW9uU3VzcGVuc2lvbkVuYWJsZWQoZmFs
c2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKaW5kZXggOWYzNzA3NTViMGI4MmJmZTgxOTI4MGE1OTgx
NDBkYTM5ZjU4MjM4ZC4uZDE5NmRjMmM5NjczZjU3ZGIwZGVkOWUzNjA1MTlkMTY4YWFiOWFlYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaApAQCAtMjU2LDggKzI1Niw4IEBAIHB1YmxpYzoKICAgICBX
RUJDT1JFX0VYUE9SVCBzdGF0aWMgdm9pZCBzZXRTaG91bGRSZXNwZWN0UHJpb3JpdHlJbkNTU0F0
dHJpYnV0ZVNldHRlcnMoYm9vbCk7CiAgICAgc3RhdGljIGJvb2wgc2hvdWxkUmVzcGVjdFByaW9y
aXR5SW5DU1NBdHRyaWJ1dGVTZXR0ZXJzKCk7CiAKLSAgICB2b2lkIHNldFRpbWVXaXRob3V0TW91
c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKGRvdWJsZSB0aW1lKSB7IG1fdGltZVdpdGhv
dXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMgPSB0aW1lOyB9Ci0gICAgZG91Ymxl
IHRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKCkgY29uc3QgeyBy
ZXR1cm4gbV90aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9sczsgfQor
ICAgIHZvaWQgc2V0VGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMo
U2Vjb25kcyB0aW1lKSB7IG1fdGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29u
dHJvbHMgPSB0aW1lOyB9CisgICAgU2Vjb25kcyB0aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZv
cmVIaWRpbmdDb250cm9scygpIGNvbnN0IHsgcmV0dXJuIG1fdGltZVdpdGhvdXRNb3VzZU1vdmVt
ZW50QmVmb3JlSGlkaW5nQ29udHJvbHM7IH0KIAogICAgIGJvb2wgaGlkZGVuUGFnZUNTU0FuaW1h
dGlvblN1c3BlbnNpb25FbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9oaWRkZW5QYWdlQ1NTQW5p
bWF0aW9uU3VzcGVuc2lvbkVuYWJsZWQ7IH0KICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldEhp
ZGRlblBhZ2VDU1NBbmltYXRpb25TdXNwZW5zaW9uRW5hYmxlZChib29sKTsKQEAgLTM2MSw3ICsz
NjEsNyBAQCBwcml2YXRlOgogI2VuZGlmCiAgICAgYm9vbCBtX3Njcm9sbGluZ1BlcmZvcm1hbmNl
TG9nZ2luZ0VuYWJsZWQgOiAxOwogCi0gICAgZG91YmxlIG1fdGltZVdpdGhvdXRNb3VzZU1vdmVt
ZW50QmVmb3JlSGlkaW5nQ29udHJvbHM7CisgICAgU2Vjb25kcyBtX3RpbWVXaXRob3V0TW91c2VN
b3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzOwogCiAgICAgVGltZXIgbV9zZXRJbWFnZUxvYWRp
bmdTZXR0aW5nc1RpbWVyOwogICAgIHZvaWQgaW1hZ2VMb2FkaW5nU2V0dGluZ3NUaW1lckZpcmVk
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1N1c3BlbmRhYmxlVGltZXIuaCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3VzcGVuZGFibGVUaW1lci5oCmluZGV4IDMxMjkyMDhmZTU1
ZGNhMGQwOTg1NWM5ZTIzZTFlYjc3MTMxNDM0ZmMuLjU1ODQ0MzQwNzgzNDZmYjliNTdhNmVhNTlh
ZmNlMjdhNjI0MGI1NWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3VzcGVuZGFi
bGVUaW1lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3VzcGVuZGFibGVUaW1lci5oCkBA
IC00NSw4ICs0NSw2IEBAIHB1YmxpYzoKICAgICBib29sIGlzQWN0aXZlKCkgY29uc3QgeyByZXR1
cm4gVGltZXJCYXNlOjppc0FjdGl2ZSgpIHx8IChtX3N1c3BlbmRlZCAmJiBtX3NhdmVkSXNBY3Rp
dmUpOyB9CiAgICAgYm9vbCBpc1N1c3BlbmRlZCgpIGNvbnN0IHsgcmV0dXJuIG1fc3VzcGVuZGVk
OyB9CiAKLSAgICB2b2lkIHN0YXJ0T25lU2hvdChkb3VibGUgaW50ZXJ2YWwpIHsgc3RhcnRPbmVT
aG90KFNlY29uZHMgeyBpbnRlcnZhbCB9KTsgfQotCiAgICAgU2Vjb25kcyByZXBlYXRJbnRlcnZh
bCgpIGNvbnN0OwogCiAgICAgdm9pZCBzdGFydFJlcGVhdGluZyhTZWNvbmRzIHJlcGVhdEludGVy
dmFsKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0NTU0FuaW1h
dGlvbkNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQ1NTQW5p
bWF0aW9uQ29udHJvbGxlci5jcHAKaW5kZXggZGNkN2U0MGFkMWU5YWZkYTlkNWFmY2QxMDg2MWRk
NGZlNWY1MDZjMy4uMDBjNzNlMTZiYzMxYWE3NThjOTM4NGQ1NGQ0NzA4YzI4MmE4MTQ2MSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQ1NTQW5pbWF0aW9uQ29udHJv
bGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQ1NTQW5pbWF0aW9u
Q29udHJvbGxlci5jcHAKQEAgLTQ5LDkgKzQ5LDkgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
Ly8gQWxsb3cgYSBsaXR0bGUgbW9yZSB0aGFuIDYwZnBzIHRvIG1ha2Ugc3VyZSB3ZSBjYW4gYXQg
bGVhc3QgaGl0IHRoYXQgZnJhbWUgcmF0ZS4KLXN0YXRpYyBjb25zdCBTZWNvbmRzIGFuaW1hdGlv
blRpbWVyRGVsYXkgeyAwLjAxNSB9Oworc3RhdGljIGNvbnN0IFNlY29uZHMgYW5pbWF0aW9uVGlt
ZXJEZWxheSB7IDE1X21zIH07CiAvLyBBbGxvdyBhIGxpdHRsZSBtb3JlIHRoYW4gMzBmcHMgdG8g
bWFrZSBzdXJlIHdlIGNhbiBhdCBsZWFzdCBoaXQgdGhhdCBmcmFtZSByYXRlLgotc3RhdGljIGNv
bnN0IFNlY29uZHMgYW5pbWF0aW9uVGltZXJUaHJvdHRsZWREZWxheSB7IDAuMDMwIH07CitzdGF0
aWMgY29uc3QgU2Vjb25kcyBhbmltYXRpb25UaW1lclRocm90dGxlZERlbGF5IHsgMzBfbXMgfTsK
IAogY2xhc3MgQW5pbWF0aW9uUHJpdmF0ZVVwZGF0ZUJsb2NrIHsKIHB1YmxpYzoKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL0V2ZW50SGFuZGxlck1hYy5tbSBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvbWFjL0V2ZW50SGFuZGxlck1hYy5tbQppbmRleCBmNTFlMGE4YTQyZTBkNjg1
NmUzNjMyNzY4NTM4NzJlMWM3YjMzN2Q4Li5mNzFlNGZkYzE1OWMzNWE2MTBmNDVmYjYxNWIwZjRl
MTQ4ZGJhODY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9FdmVudEhhbmRs
ZXJNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1t
CkBAIC03NCw3ICs3NCw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY29uc3QgZG91Ymxl
IHJlc2V0TGF0Y2hlZFN0YXRlVGltZW91dCA9IDAuMTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHJl
c2V0TGF0Y2hlZFN0YXRlVGltZW91dCB7IDEwMF9tcyB9OwogCiBzdGF0aWMgUmV0YWluUHRyPE5T
RXZlbnQ+JiBjdXJyZW50TlNFdmVudFNsb3QoKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9tYWMvVGV4dEluZGljYXRvcldpbmRvdy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
bWFjL1RleHRJbmRpY2F0b3JXaW5kb3cubW0KaW5kZXggZTU5MjliYTYzZGU1OWY0OTgzYmQ4Y2Y5
YzMwMDY0ZTY3MTc3M2NiYy4uZmMzNmRjYjEzY2VkN2U1YWMyY2YwMTc3M2FjZTc5MzIxNDY2MGRk
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvVGV4dEluZGljYXRvcldpbmRv
dy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9UZXh0SW5kaWNhdG9yV2luZG93Lm1t
CkBAIC00NzYsNyArNDc2LDcgQEAgdm9pZCBUZXh0SW5kaWNhdG9yV2luZG93OjpzZXRUZXh0SW5k
aWNhdG9yKFJlZjxUZXh0SW5kaWNhdG9yPiB0ZXh0SW5kaWNhdG9yLCBDR1IKICAgICAgICAgW21f
dGV4dEluZGljYXRvclZpZXcgcHJlc2VudF07CiAKICAgICBpZiAobGlmZXRpbWUgPT0gVGV4dElu
ZGljYXRvcldpbmRvd0xpZmV0aW1lOjpUZW1wb3JhcnkpCi0gICAgICAgIG1fdGVtcG9yYXJ5VGV4
dEluZGljYXRvclRpbWVyLnN0YXJ0T25lU2hvdCh0aW1lQmVmb3JlRmFkZVN0YXJ0cyk7CisgICAg
ICAgIG1fdGVtcG9yYXJ5VGV4dEluZGljYXRvclRpbWVyLnN0YXJ0T25lU2hvdCgxX3MgKiB0aW1l
QmVmb3JlRmFkZVN0YXJ0cyk7CiB9CiAKIHZvaWQgVGV4dEluZGljYXRvcldpbmRvdzo6Y2xvc2VX
aW5kb3coKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vSHlzdGVyZXNpc0Fj
dGl2aXR5LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9IeXN0ZXJlc2lzQWN0aXZpdHkuaApp
bmRleCAxMjhlZjgyMDllMmE3NDgzMDllMDYyODIwZWRjODIzOTgwYzBiMmUxLi41OTllMTcxZWMx
YWNhZDIwZWQ4ZjE1ZDFiNDVjOWVhYTlmMWNlMGEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9IeXN0ZXJlc2lzQWN0aXZpdHkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9IeXN0ZXJlc2lzQWN0aXZpdHkuaApAQCAtNjUsNyArNjUsNyBAQCBwdWJsaWM6CiAgICAg
ICAgICAgICByZXR1cm47CiAgICAgICAgIG1fYWN0aXZlID0gZmFsc2U7CiAKLSAgICAgICAgbV90
aW1lci5zdGFydE9uZVNob3QobV9oeXN0ZXJlc2lzU2Vjb25kcyk7CisgICAgICAgIG1fdGltZXIu
c3RhcnRPbmVTaG90KDFfcyAqIG1faHlzdGVyZXNpc1NlY29uZHMpOwogICAgIH0KIAogICAgIHZv
aWQgaW1wdWxzZSgpCkBAIC04OSw3ICs4OSw3IEBAIHByaXZhdGU6CiAgICAgfQogCiAgICAgc3Rk
OjpmdW5jdGlvbjx2b2lkKEh5c3RlcmVzaXNTdGF0ZSk+IG1fY2FsbGJhY2s7Ci0gICAgZG91Ymxl
IG1faHlzdGVyZXNpc1NlY29uZHM7CisgICAgZG91YmxlIG1faHlzdGVyZXNpc1NlY29uZHM7IC8v
IEZJWE1FOiBTaG91bGQgdXNlIFNlY29uZHMuCiAgICAgYm9vbCBtX2FjdGl2ZTsKICAgICBUaW1l
ciBtX3RpbWVyOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9s
bEFuaW1hdGlvblNtb290aC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmlt
YXRpb25TbW9vdGguY3BwCmluZGV4IGM4ZjVkNWRjMDM1NDViYmU1NjA2Nzk3ODZlZDkxMTk3NDE2
NGVlNzYuLmI3ZGMyYjhiNGQ3YjNhMmZlOGNkOWViMzUwMzFmOWEyODQwZjg4MzkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdGlvblNtb290aC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmNwcApAQCAt
MzcsOCArMzcsOCBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdGF0aWMgY29uc3QgZG91Ymxl
IGZyYW1lUmF0ZSA9IDYwOwotc3RhdGljIGNvbnN0IGRvdWJsZSB0aWNrVGltZSA9IDEgLyBmcmFt
ZVJhdGU7Ci1zdGF0aWMgY29uc3QgZG91YmxlIG1pbmltdW1UaW1lckludGVydmFsID0gLjAwMTsK
K3N0YXRpYyBjb25zdCBTZWNvbmRzIHRpY2tUaW1lID0gMV9zIC8gZnJhbWVSYXRlOworc3RhdGlj
IGNvbnN0IFNlY29uZHMgbWluaW11bVRpbWVySW50ZXJ2YWwgeyAxX21zIH07CiAKIFNjcm9sbEFu
aW1hdGlvblNtb290aDo6U2Nyb2xsQW5pbWF0aW9uU21vb3RoKFNjcm9sbGFibGVBcmVhJiBzY3Jv
bGxhYmxlQXJlYSwgY29uc3QgRmxvYXRQb2ludCYgcG9zaXRpb24sIHN0ZDo6ZnVuY3Rpb248dm9p
ZCAoRmxvYXRQb2ludCYmKT4mJiBub3RpZnlQb3NpdGlvbkNoYW5nZWRGdW5jdGlvbikKICAgICA6
IFNjcm9sbEFuaW1hdGlvbihzY3JvbGxhYmxlQXJlYSkKQEAgLTIyNiw0MCArMjI2LDQwIEBAIHN0
YXRpYyBpbmxpbmUgZG91YmxlIHJlbGVhc2VBcmVhKFNjcm9sbEFuaW1hdGlvblNtb290aDo6Q3Vy
dmUgY3VydmUsIGRvdWJsZSBzdGFyCiAgICAgcmV0dXJuIGVuZFZhbHVlIC0gc3RhcnRWYWx1ZTsK
IH0KIAotc3RhdGljIGlubGluZSB2b2lkIGdldEFuaW1hdGlvblBhcmFtZXRlcnNGb3JHcmFudWxh
cml0eShTY3JvbGxHcmFudWxhcml0eSBncmFudWxhcml0eSwgZG91YmxlJiBhbmltYXRpb25UaW1l
LCBkb3VibGUmIHJlcGVhdE1pbmltdW1TdXN0YWluVGltZSwgZG91YmxlJiBhdHRhY2tUaW1lLCBk
b3VibGUmIHJlbGVhc2VUaW1lLCBTY3JvbGxBbmltYXRpb25TbW9vdGg6OkN1cnZlJiBjb2FzdFRp
bWVDdXJ2ZSwgZG91YmxlJiBtYXhpbXVtQ29hc3RUaW1lKQorc3RhdGljIGlubGluZSB2b2lkIGdl
dEFuaW1hdGlvblBhcmFtZXRlcnNGb3JHcmFudWxhcml0eShTY3JvbGxHcmFudWxhcml0eSBncmFu
dWxhcml0eSwgU2Vjb25kcyYgYW5pbWF0aW9uVGltZSwgU2Vjb25kcyYgcmVwZWF0TWluaW11bVN1
c3RhaW5UaW1lLCBTZWNvbmRzJiBhdHRhY2tUaW1lLCBTZWNvbmRzJiByZWxlYXNlVGltZSwgU2Ny
b2xsQW5pbWF0aW9uU21vb3RoOjpDdXJ2ZSYgY29hc3RUaW1lQ3VydmUsIFNlY29uZHMmIG1heGlt
dW1Db2FzdFRpbWUpCiB7CiAgICAgc3dpdGNoIChncmFudWxhcml0eSkgewogICAgIGNhc2UgU2Ny
b2xsQnlEb2N1bWVudDoKLSAgICAgICAgYW5pbWF0aW9uVGltZSA9IDIwICogdGlja1RpbWU7Ci0g
ICAgICAgIHJlcGVhdE1pbmltdW1TdXN0YWluVGltZSA9IDEwICogdGlja1RpbWU7Ci0gICAgICAg
IGF0dGFja1RpbWUgPSAxMCAqIHRpY2tUaW1lOwotICAgICAgICByZWxlYXNlVGltZSA9IDEwICog
dGlja1RpbWU7CisgICAgICAgIGFuaW1hdGlvblRpbWUgPSB0aWNrVGltZSAqIDEwOworICAgICAg
ICByZXBlYXRNaW5pbXVtU3VzdGFpblRpbWUgPSB0aWNrVGltZSAqIDEwOworICAgICAgICBhdHRh
Y2tUaW1lID0gdGlja1RpbWUgKiAxMDsKKyAgICAgICAgcmVsZWFzZVRpbWUgPSB0aWNrVGltZSAq
IDEwOwogICAgICAgICBjb2FzdFRpbWVDdXJ2ZSA9IFNjcm9sbEFuaW1hdGlvblNtb290aDo6Q3Vy
dmU6OkxpbmVhcjsKLSAgICAgICAgbWF4aW11bUNvYXN0VGltZSA9IDE7CisgICAgICAgIG1heGlt
dW1Db2FzdFRpbWUgPSAxX3M7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgU2Nyb2xsQnlMaW5l
OgotICAgICAgICBhbmltYXRpb25UaW1lID0gMTAgKiB0aWNrVGltZTsKLSAgICAgICAgcmVwZWF0
TWluaW11bVN1c3RhaW5UaW1lID0gNyAqIHRpY2tUaW1lOwotICAgICAgICBhdHRhY2tUaW1lID0g
MyAqIHRpY2tUaW1lOwotICAgICAgICByZWxlYXNlVGltZSA9IDMgKiB0aWNrVGltZTsKKyAgICAg
ICAgYW5pbWF0aW9uVGltZSA9IHRpY2tUaW1lICogMTA7CisgICAgICAgIHJlcGVhdE1pbmltdW1T
dXN0YWluVGltZSA9IHRpY2tUaW1lICogNzsKKyAgICAgICAgYXR0YWNrVGltZSA9IHRpY2tUaW1l
ICogMzsKKyAgICAgICAgcmVsZWFzZVRpbWUgPSB0aWNrVGltZSAqIDM7CiAgICAgICAgIGNvYXN0
VGltZUN1cnZlID0gU2Nyb2xsQW5pbWF0aW9uU21vb3RoOjpDdXJ2ZTo6TGluZWFyOwotICAgICAg
ICBtYXhpbXVtQ29hc3RUaW1lID0gMTsKKyAgICAgICAgbWF4aW11bUNvYXN0VGltZSA9IDFfczsK
ICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBTY3JvbGxCeVBhZ2U6Ci0gICAgICAgIGFuaW1hdGlv
blRpbWUgPSAxNSAqIHRpY2tUaW1lOwotICAgICAgICByZXBlYXRNaW5pbXVtU3VzdGFpblRpbWUg
PSAxMCAqIHRpY2tUaW1lOwotICAgICAgICBhdHRhY2tUaW1lID0gNSAqIHRpY2tUaW1lOwotICAg
ICAgICByZWxlYXNlVGltZSA9IDUgKiB0aWNrVGltZTsKKyAgICAgICAgYW5pbWF0aW9uVGltZSA9
IHRpY2tUaW1lICogMTU7CisgICAgICAgIHJlcGVhdE1pbmltdW1TdXN0YWluVGltZSA9IHRpY2tU
aW1lICogMTA7CisgICAgICAgIGF0dGFja1RpbWUgPSB0aWNrVGltZSAqIDU7CisgICAgICAgIHJl
bGVhc2VUaW1lID0gdGlja1RpbWUgKiA1OwogICAgICAgICBjb2FzdFRpbWVDdXJ2ZSA9IFNjcm9s
bEFuaW1hdGlvblNtb290aDo6Q3VydmU6OkxpbmVhcjsKLSAgICAgICAgbWF4aW11bUNvYXN0VGlt
ZSA9IDE7CisgICAgICAgIG1heGltdW1Db2FzdFRpbWUgPSAxX3M7CiAgICAgICAgIGJyZWFrOwog
ICAgIGNhc2UgU2Nyb2xsQnlQaXhlbDoKLSAgICAgICAgYW5pbWF0aW9uVGltZSA9IDExICogdGlj
a1RpbWU7Ci0gICAgICAgIHJlcGVhdE1pbmltdW1TdXN0YWluVGltZSA9IDIgKiB0aWNrVGltZTsK
LSAgICAgICAgYXR0YWNrVGltZSA9IDMgKiB0aWNrVGltZTsKLSAgICAgICAgcmVsZWFzZVRpbWUg
PSAzICogdGlja1RpbWU7CisgICAgICAgIGFuaW1hdGlvblRpbWUgPSB0aWNrVGltZSAqIDExOwor
ICAgICAgICByZXBlYXRNaW5pbXVtU3VzdGFpblRpbWUgPSB0aWNrVGltZSAqIDI7CisgICAgICAg
IGF0dGFja1RpbWUgPSB0aWNrVGltZSAqIDM7CisgICAgICAgIHJlbGVhc2VUaW1lID0gdGlja1Rp
bWUgKiAzOwogICAgICAgICBjb2FzdFRpbWVDdXJ2ZSA9IFNjcm9sbEFuaW1hdGlvblNtb290aDo6
Q3VydmU6OlF1YWRyYXRpYzsKLSAgICAgICAgbWF4aW11bUNvYXN0VGltZSA9IDEuMjU7CisgICAg
ICAgIG1heGltdW1Db2FzdFRpbWUgPSAxMjUwX21zOwogICAgICAgICBicmVhazsKICAgICBkZWZh
dWx0OgogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKQEAgLTI3OSw3ICsyNzksNyBAQCBi
b29sIFNjcm9sbEFuaW1hdGlvblNtb290aDo6dXBkYXRlUGVyQXhpc0RhdGEoUGVyQXhpc0RhdGEm
IGRhdGEsIFNjcm9sbEdyYW51bGFyaQogICAgIGlmIChuZXdQb3NpdGlvbiA9PSBkYXRhLmRlc2ly
ZWRQb3NpdGlvbikKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgZG91YmxlIGFuaW1hdGlv
blRpbWUsIHJlcGVhdE1pbmltdW1TdXN0YWluVGltZSwgYXR0YWNrVGltZSwgcmVsZWFzZVRpbWUs
IG1heGltdW1Db2FzdFRpbWU7CisgICAgU2Vjb25kcyBhbmltYXRpb25UaW1lLCByZXBlYXRNaW5p
bXVtU3VzdGFpblRpbWUsIGF0dGFja1RpbWUsIHJlbGVhc2VUaW1lLCBtYXhpbXVtQ29hc3RUaW1l
OwogICAgIEN1cnZlIGNvYXN0VGltZUN1cnZlOwogICAgIGdldEFuaW1hdGlvblBhcmFtZXRlcnNG
b3JHcmFudWxhcml0eShncmFudWxhcml0eSwgYW5pbWF0aW9uVGltZSwgcmVwZWF0TWluaW11bVN1
c3RhaW5UaW1lLCBhdHRhY2tUaW1lLCByZWxlYXNlVGltZSwgY29hc3RUaW1lQ3VydmUsIG1heGlt
dW1Db2FzdFRpbWUpOwogCkBAIC0yOTgsNyArMjk4LDcgQEAgYm9vbCBTY3JvbGxBbmltYXRpb25T
bW9vdGg6OnVwZGF0ZVBlckF4aXNEYXRhKFBlckF4aXNEYXRhJiBkYXRhLCBTY3JvbGxHcmFudWxh
cmkKIAogICAgIGlmICghZGF0YS5zdGFydFRpbWUpIHsKICAgICAgICAgLy8gRklYTUU6IFRoaXMg
c2hvdWxkIGJlIHRoZSB0aW1lIGZyb20gdGhlIGV2ZW50IHRoYXQgZ290IHVzIGhlcmUuCi0gICAg
ICAgIGRhdGEuc3RhcnRUaW1lID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkgLSB0aWNr
VGltZSAvIDI7CisgICAgICAgIGRhdGEuc3RhcnRUaW1lID0gTW9ub3RvbmljVGltZTo6bm93KCkg
LSB0aWNrVGltZSAvIDIuOwogICAgICAgICBkYXRhLnN0YXJ0UG9zaXRpb24gPSBkYXRhLmN1cnJl
bnRQb3NpdGlvbjsKICAgICAgICAgZGF0YS5sYXN0QW5pbWF0aW9uVGltZSA9IGRhdGEuc3RhcnRU
aW1lOwogICAgIH0KQEAgLTMwNiwxMCArMzA2LDEwIEBAIGJvb2wgU2Nyb2xsQW5pbWF0aW9uU21v
b3RoOjp1cGRhdGVQZXJBeGlzRGF0YShQZXJBeGlzRGF0YSYgZGF0YSwgU2Nyb2xsR3JhbnVsYXJp
CiAKICAgICBkb3VibGUgcmVtYWluaW5nRGVsdGEgPSBkYXRhLmRlc2lyZWRQb3NpdGlvbiAtIGRh
dGEuY3VycmVudFBvc2l0aW9uOwogICAgIGRvdWJsZSBhdHRhY2tBcmVhTGVmdCA9IDA7Ci0gICAg
ZG91YmxlIGRlbHRhVGltZSA9IGRhdGEubGFzdEFuaW1hdGlvblRpbWUgLSBkYXRhLnN0YXJ0VGlt
ZTsKLSAgICBkb3VibGUgYXR0YWNrVGltZUxlZnQgPSBzdGQ6Om1heCgwLiwgZGF0YS5hdHRhY2tU
aW1lIC0gZGVsdGFUaW1lKTsKLSAgICBkb3VibGUgdGltZUxlZnQgPSBkYXRhLmFuaW1hdGlvblRp
bWUgLSBkZWx0YVRpbWU7Ci0gICAgZG91YmxlIG1pblRpbWVMZWZ0ID0gZGF0YS5yZWxlYXNlVGlt
ZSArIHN0ZDo6bWluKHJlcGVhdE1pbmltdW1TdXN0YWluVGltZSwgZGF0YS5hbmltYXRpb25UaW1l
IC0gZGF0YS5yZWxlYXNlVGltZSAtIGF0dGFja1RpbWVMZWZ0KTsKKyAgICBTZWNvbmRzIGRlbHRh
VGltZSA9IGRhdGEubGFzdEFuaW1hdGlvblRpbWUgLSBkYXRhLnN0YXJ0VGltZTsKKyAgICBTZWNv
bmRzIGF0dGFja1RpbWVMZWZ0ID0gc3RkOjptYXgoMF9zLCBkYXRhLmF0dGFja1RpbWUgLSBkZWx0
YVRpbWUpOworICAgIFNlY29uZHMgdGltZUxlZnQgPSBkYXRhLmFuaW1hdGlvblRpbWUgLSBkZWx0
YVRpbWU7CisgICAgU2Vjb25kcyBtaW5UaW1lTGVmdCA9IGRhdGEucmVsZWFzZVRpbWUgKyBzdGQ6
Om1pbihyZXBlYXRNaW5pbXVtU3VzdGFpblRpbWUsIGRhdGEuYW5pbWF0aW9uVGltZSAtIGRhdGEu
cmVsZWFzZVRpbWUgLSBhdHRhY2tUaW1lTGVmdCk7CiAgICAgaWYgKHRpbWVMZWZ0IDwgbWluVGlt
ZUxlZnQpIHsKICAgICAgICAgZGF0YS5hbmltYXRpb25UaW1lID0gZGVsdGFUaW1lICsgbWluVGlt
ZUxlZnQ7CiAgICAgICAgIHRpbWVMZWZ0ID0gbWluVGltZUxlZnQ7CkBAIC0zMjEsMTQgKzMyMSwx
NCBAQCBib29sIFNjcm9sbEFuaW1hdGlvblNtb290aDo6dXBkYXRlUGVyQXhpc0RhdGEoUGVyQXhp
c0RhdGEmIGRhdGEsIFNjcm9sbEdyYW51bGFyaQogICAgICAgICBkb3VibGUgbWluQ29hc3REZWx0
YSA9IGRhdGEudmlzaWJsZUxlbmd0aDsKIAogICAgICAgICBpZiAoZmFicyhyZW1haW5pbmdEZWx0
YSkgPiBtaW5Db2FzdERlbHRhKSB7Ci0gICAgICAgICAgICBkb3VibGUgbWF4Q29hc3REZWx0YSA9
IG1heGltdW1Db2FzdFRpbWUgKiB0YXJnZXRNYXhDb2FzdFZlbG9jaXR5OworICAgICAgICAgICAg
ZG91YmxlIG1heENvYXN0RGVsdGEgPSBtYXhpbXVtQ29hc3RUaW1lLnZhbHVlKCkgKiB0YXJnZXRN
YXhDb2FzdFZlbG9jaXR5OwogICAgICAgICAgICAgZG91YmxlIGNvYXN0RmFjdG9yID0gc3RkOjpt
aW4oMS4sIChmYWJzKHJlbWFpbmluZ0RlbHRhKSAtIG1pbkNvYXN0RGVsdGEpIC8gKG1heENvYXN0
RGVsdGEgLSBtaW5Db2FzdERlbHRhKSk7CiAKICAgICAgICAgICAgIC8vIFdlIGNvdWxkIHBsYXkg
d2l0aCB0aGUgY3VydmUgaGVyZSAtIGxpbmVhciBzZWVtcyBhIGxpdHRsZSBzb2Z0LiBJbml0aWFs
IHRlc3RpbmcgbWFrZXMgbWUgd2FudCB0byBmZWVkIGludG8gdGhlIHN1c3RhaW4gdGltZSBtb3Jl
IGFnZ3Jlc3NpdmVseS4KLSAgICAgICAgICAgIGRvdWJsZSBjb2FzdE1pblRpbWVMZWZ0ID0gc3Rk
OjptaW4obWF4aW11bUNvYXN0VGltZSwgbWluVGltZUxlZnQgKyBjb2FzdEN1cnZlKGNvYXN0VGlt
ZUN1cnZlLCBjb2FzdEZhY3RvcikgKiAobWF4aW11bUNvYXN0VGltZSAtIG1pblRpbWVMZWZ0KSk7
CisgICAgICAgICAgICBTZWNvbmRzIGNvYXN0TWluVGltZUxlZnQgPSBzdGQ6Om1pbihtYXhpbXVt
Q29hc3RUaW1lLCBtaW5UaW1lTGVmdCArIFNlY29uZHMgeyBjb2FzdEN1cnZlKGNvYXN0VGltZUN1
cnZlLCBjb2FzdEZhY3RvcikgfSAqIChtYXhpbXVtQ29hc3RUaW1lIC0gbWluVGltZUxlZnQpKTsK
IAotICAgICAgICAgICAgaWYgKGRvdWJsZSBhZGRpdGlvbmFsVGltZSA9IHN0ZDo6bWF4KDAuLCBj
b2FzdE1pblRpbWVMZWZ0IC0gbWluVGltZUxlZnQpKSB7Ci0gICAgICAgICAgICAgICAgZG91Ymxl
IGFkZGl0aW9uYWxSZWxlYXNlVGltZSA9IHN0ZDo6bWluKGFkZGl0aW9uYWxUaW1lLCByZWxlYXNl
VGltZSAvIChyZWxlYXNlVGltZSArIHJlcGVhdE1pbmltdW1TdXN0YWluVGltZSkgKiBhZGRpdGlv
bmFsVGltZSk7CisgICAgICAgICAgICBpZiAoU2Vjb25kcyBhZGRpdGlvbmFsVGltZSA9IHN0ZDo6
bWF4KDBfcywgY29hc3RNaW5UaW1lTGVmdCAtIG1pblRpbWVMZWZ0KSkgeworICAgICAgICAgICAg
ICAgIFNlY29uZHMgYWRkaXRpb25hbFJlbGVhc2VUaW1lID0gc3RkOjptaW4oYWRkaXRpb25hbFRp
bWUsIHJlbGVhc2VUaW1lIC8gKHJlbGVhc2VUaW1lICsgcmVwZWF0TWluaW11bVN1c3RhaW5UaW1l
KSAqIGFkZGl0aW9uYWxUaW1lKTsKICAgICAgICAgICAgICAgICBkYXRhLnJlbGVhc2VUaW1lID0g
cmVsZWFzZVRpbWUgKyBhZGRpdGlvbmFsUmVsZWFzZVRpbWU7CiAgICAgICAgICAgICAgICAgZGF0
YS5hbmltYXRpb25UaW1lID0gZGVsdGFUaW1lICsgY29hc3RNaW5UaW1lTGVmdDsKICAgICAgICAg
ICAgICAgICB0aW1lTGVmdCA9IGNvYXN0TWluVGltZUxlZnQ7CkBAIC0zMzYsNDMgKzMzNiw0MyBA
QCBib29sIFNjcm9sbEFuaW1hdGlvblNtb290aDo6dXBkYXRlUGVyQXhpc0RhdGEoUGVyQXhpc0Rh
dGEmIGRhdGEsIFNjcm9sbEdyYW51bGFyaQogICAgICAgICB9CiAgICAgfQogCi0gICAgZG91Ymxl
IHJlbGVhc2VUaW1lTGVmdCA9IHN0ZDo6bWluKHRpbWVMZWZ0LCBkYXRhLnJlbGVhc2VUaW1lKTsK
LSAgICBkb3VibGUgc3VzdGFpblRpbWVMZWZ0ID0gc3RkOjptYXgoMC4sIHRpbWVMZWZ0IC0gcmVs
ZWFzZVRpbWVMZWZ0IC0gYXR0YWNrVGltZUxlZnQpOworICAgIFNlY29uZHMgcmVsZWFzZVRpbWVM
ZWZ0ID0gc3RkOjptaW4odGltZUxlZnQsIGRhdGEucmVsZWFzZVRpbWUpOworICAgIFNlY29uZHMg
c3VzdGFpblRpbWVMZWZ0ID0gc3RkOjptYXgoMF9zLCB0aW1lTGVmdCAtIHJlbGVhc2VUaW1lTGVm
dCAtIGF0dGFja1RpbWVMZWZ0KTsKICAgICBpZiAoYXR0YWNrVGltZUxlZnQpIHsKLSAgICAgICAg
ZG91YmxlIGF0dGFja1Nwb3QgPSBkZWx0YVRpbWUgLyBkYXRhLmF0dGFja1RpbWU7Ci0gICAgICAg
IGF0dGFja0FyZWFMZWZ0ID0gYXR0YWNrQXJlYShDdXJ2ZTo6Q3ViaWMsIGF0dGFja1Nwb3QsIDEp
ICogZGF0YS5hdHRhY2tUaW1lOworICAgICAgICBkb3VibGUgYXR0YWNrU3BvdCA9IChkZWx0YVRp
bWUgLyBkYXRhLmF0dGFja1RpbWUpLnZhbHVlKCk7CisgICAgICAgIGF0dGFja0FyZWFMZWZ0ID0g
YXR0YWNrQXJlYShDdXJ2ZTo6Q3ViaWMsIGF0dGFja1Nwb3QsIDEpICogZGF0YS5hdHRhY2tUaW1l
LnZhbHVlKCk7CiAgICAgfQogCi0gICAgZG91YmxlIHJlbGVhc2VTcG90ID0gKGRhdGEucmVsZWFz
ZVRpbWUgLSByZWxlYXNlVGltZUxlZnQpIC8gZGF0YS5yZWxlYXNlVGltZTsKLSAgICBkb3VibGUg
cmVsZWFzZUFyZWFMZWZ0ID0gcmVsZWFzZUFyZWEoQ3VydmU6OkN1YmljLCByZWxlYXNlU3BvdCwg
MSkgKiBkYXRhLnJlbGVhc2VUaW1lOworICAgIGRvdWJsZSByZWxlYXNlU3BvdCA9ICgoZGF0YS5y
ZWxlYXNlVGltZSAtIHJlbGVhc2VUaW1lTGVmdCkgLyBkYXRhLnJlbGVhc2VUaW1lKS52YWx1ZSgp
OworICAgIGRvdWJsZSByZWxlYXNlQXJlYUxlZnQgPSByZWxlYXNlQXJlYShDdXJ2ZTo6Q3ViaWMs
IHJlbGVhc2VTcG90LCAxKSAqIGRhdGEucmVsZWFzZVRpbWUudmFsdWUoKTsKIAotICAgIGRhdGEu
ZGVzaXJlZFZlbG9jaXR5ID0gcmVtYWluaW5nRGVsdGEgLyAoYXR0YWNrQXJlYUxlZnQgKyBzdXN0
YWluVGltZUxlZnQgKyByZWxlYXNlQXJlYUxlZnQpOworICAgIGRhdGEuZGVzaXJlZFZlbG9jaXR5
ID0gcmVtYWluaW5nRGVsdGEgLyAoYXR0YWNrQXJlYUxlZnQgKyBzdXN0YWluVGltZUxlZnQudmFs
dWUoKSArIHJlbGVhc2VBcmVhTGVmdCk7CiAgICAgZGF0YS5yZWxlYXNlUG9zaXRpb24gPSBkYXRh
LmRlc2lyZWRQb3NpdGlvbiAtIGRhdGEuZGVzaXJlZFZlbG9jaXR5ICogcmVsZWFzZUFyZWFMZWZ0
OwogICAgIGlmIChhdHRhY2tBcmVhTGVmdCkKICAgICAgICAgZGF0YS5hdHRhY2tQb3NpdGlvbiA9
IGRhdGEuc3RhcnRQb3NpdGlvbiArIGRhdGEuZGVzaXJlZFZlbG9jaXR5ICogYXR0YWNrQXJlYUxl
ZnQ7CiAgICAgZWxzZQotICAgICAgICBkYXRhLmF0dGFja1Bvc2l0aW9uID0gZGF0YS5yZWxlYXNl
UG9zaXRpb24gLSAoZGF0YS5hbmltYXRpb25UaW1lIC0gZGF0YS5yZWxlYXNlVGltZSAtIGRhdGEu
YXR0YWNrVGltZSkgKiBkYXRhLmRlc2lyZWRWZWxvY2l0eTsKKyAgICAgICAgZGF0YS5hdHRhY2tQ
b3NpdGlvbiA9IGRhdGEucmVsZWFzZVBvc2l0aW9uIC0gKGRhdGEuYW5pbWF0aW9uVGltZSAtIGRh
dGEucmVsZWFzZVRpbWUgLSBkYXRhLmF0dGFja1RpbWUpLnZhbHVlKCkgKiBkYXRhLmRlc2lyZWRW
ZWxvY2l0eTsKIAogICAgIGlmIChzdXN0YWluVGltZUxlZnQpIHsKLSAgICAgICAgZG91YmxlIHJv
dW5kT2ZmID0gZGF0YS5yZWxlYXNlUG9zaXRpb24gLSAoKGF0dGFja0FyZWFMZWZ0ID8gZGF0YS5h
dHRhY2tQb3NpdGlvbiA6IGRhdGEuY3VycmVudFBvc2l0aW9uKSArIGRhdGEuZGVzaXJlZFZlbG9j
aXR5ICogc3VzdGFpblRpbWVMZWZ0KTsKLSAgICAgICAgZGF0YS5kZXNpcmVkVmVsb2NpdHkgKz0g
cm91bmRPZmYgLyBzdXN0YWluVGltZUxlZnQ7CisgICAgICAgIGRvdWJsZSByb3VuZE9mZiA9IGRh
dGEucmVsZWFzZVBvc2l0aW9uIC0gKChhdHRhY2tBcmVhTGVmdCA/IGRhdGEuYXR0YWNrUG9zaXRp
b24gOiBkYXRhLmN1cnJlbnRQb3NpdGlvbikgKyBkYXRhLmRlc2lyZWRWZWxvY2l0eSAqIHN1c3Rh
aW5UaW1lTGVmdC52YWx1ZSgpKTsKKyAgICAgICAgZGF0YS5kZXNpcmVkVmVsb2NpdHkgKz0gcm91
bmRPZmYgLyBzdXN0YWluVGltZUxlZnQudmFsdWUoKTsKICAgICB9CiAKICAgICByZXR1cm4gdHJ1
ZTsKIH0KIAotYm9vbCBTY3JvbGxBbmltYXRpb25TbW9vdGg6OmFuaW1hdGVTY3JvbGwoUGVyQXhp
c0RhdGEmIGRhdGEsIGRvdWJsZSBjdXJyZW50VGltZSkKK2Jvb2wgU2Nyb2xsQW5pbWF0aW9uU21v
b3RoOjphbmltYXRlU2Nyb2xsKFBlckF4aXNEYXRhJiBkYXRhLCBNb25vdG9uaWNUaW1lIGN1cnJl
bnRUaW1lKQogewogICAgIGlmICghZGF0YS5zdGFydFRpbWUpCiAgICAgICAgIHJldHVybiBmYWxz
ZTsKIAotICAgIGRvdWJsZSBsYXN0U2Nyb2xsSW50ZXJ2YWwgPSBjdXJyZW50VGltZSAtIGRhdGEu
bGFzdEFuaW1hdGlvblRpbWU7CisgICAgU2Vjb25kcyBsYXN0U2Nyb2xsSW50ZXJ2YWwgPSBjdXJy
ZW50VGltZSAtIGRhdGEubGFzdEFuaW1hdGlvblRpbWU7CiAgICAgaWYgKGxhc3RTY3JvbGxJbnRl
cnZhbCA8IG1pbmltdW1UaW1lckludGVydmFsKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAogICAg
IGRhdGEubGFzdEFuaW1hdGlvblRpbWUgPSBjdXJyZW50VGltZTsKIAotICAgIGRvdWJsZSBkZWx0
YVRpbWUgPSBjdXJyZW50VGltZSAtIGRhdGEuc3RhcnRUaW1lOworICAgIFNlY29uZHMgZGVsdGFU
aW1lID0gY3VycmVudFRpbWUgLSBkYXRhLnN0YXJ0VGltZTsKICAgICBkb3VibGUgbmV3UG9zaXRp
b24gPSBkYXRhLmN1cnJlbnRQb3NpdGlvbjsKIAogICAgIGlmIChkZWx0YVRpbWUgPiBkYXRhLmFu
aW1hdGlvblRpbWUpIHsKQEAgLTM4MCwxOCArMzgwLDE4IEBAIGJvb2wgU2Nyb2xsQW5pbWF0aW9u
U21vb3RoOjphbmltYXRlU2Nyb2xsKFBlckF4aXNEYXRhJiBkYXRhLCBkb3VibGUgY3VycmVudFRp
bWUpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAgICAgaWYgKGRlbHRhVGltZSA8IGRh
dGEuYXR0YWNrVGltZSkKLSAgICAgICAgbmV3UG9zaXRpb24gPSBhdHRhY2tDdXJ2ZShDdXJ2ZTo6
Q3ViaWMsIGRlbHRhVGltZSwgZGF0YS5hdHRhY2tUaW1lLCBkYXRhLnN0YXJ0UG9zaXRpb24sIGRh
dGEuYXR0YWNrUG9zaXRpb24pOworICAgICAgICBuZXdQb3NpdGlvbiA9IGF0dGFja0N1cnZlKEN1
cnZlOjpDdWJpYywgZGVsdGFUaW1lLnZhbHVlKCksIGRhdGEuYXR0YWNrVGltZS52YWx1ZSgpLCBk
YXRhLnN0YXJ0UG9zaXRpb24sIGRhdGEuYXR0YWNrUG9zaXRpb24pOwogICAgIGVsc2UgaWYgKGRl
bHRhVGltZSA8IChkYXRhLmFuaW1hdGlvblRpbWUgLSBkYXRhLnJlbGVhc2VUaW1lKSkKLSAgICAg
ICAgbmV3UG9zaXRpb24gPSBkYXRhLmF0dGFja1Bvc2l0aW9uICsgKGRlbHRhVGltZSAtIGRhdGEu
YXR0YWNrVGltZSkgKiBkYXRhLmRlc2lyZWRWZWxvY2l0eTsKKyAgICAgICAgbmV3UG9zaXRpb24g
PSBkYXRhLmF0dGFja1Bvc2l0aW9uICsgKGRlbHRhVGltZSAtIGRhdGEuYXR0YWNrVGltZSkudmFs
dWUoKSAqIGRhdGEuZGVzaXJlZFZlbG9jaXR5OwogICAgIGVsc2UgewogICAgICAgICAvLyByZWxl
YXNlIGlzIGJhc2VkIG9uIHRhcmdldGluZyB0aGUgZXhhY3QgZmluYWwgcG9zaXRpb24uCi0gICAg
ICAgIGRvdWJsZSByZWxlYXNlRGVsdGFUID0gZGVsdGFUaW1lIC0gKGRhdGEuYW5pbWF0aW9uVGlt
ZSAtIGRhdGEucmVsZWFzZVRpbWUpOwotICAgICAgICBuZXdQb3NpdGlvbiA9IHJlbGVhc2VDdXJ2
ZShDdXJ2ZTo6Q3ViaWMsIHJlbGVhc2VEZWx0YVQsIGRhdGEucmVsZWFzZVRpbWUsIGRhdGEucmVs
ZWFzZVBvc2l0aW9uLCBkYXRhLmRlc2lyZWRQb3NpdGlvbik7CisgICAgICAgIFNlY29uZHMgcmVs
ZWFzZURlbHRhVCA9IGRlbHRhVGltZSAtIChkYXRhLmFuaW1hdGlvblRpbWUgLSBkYXRhLnJlbGVh
c2VUaW1lKTsKKyAgICAgICAgbmV3UG9zaXRpb24gPSByZWxlYXNlQ3VydmUoQ3VydmU6OkN1Ymlj
LCByZWxlYXNlRGVsdGFULnZhbHVlKCksIGRhdGEucmVsZWFzZVRpbWUsIGRhdGEucmVsZWFzZVBv
c2l0aW9uLCBkYXRhLmRlc2lyZWRQb3NpdGlvbik7CiAgICAgfQogCiAgICAgLy8gTm9ybWFsaXpl
IHZlbG9jaXR5IHRvIGEgcGVyIHNlY29uZCBhbW91bnQuIENvdWxkIGJlIHVzZWQgdG8gY2hlY2sg
Zm9yIGphbmsuCi0gICAgaWYgKGxhc3RTY3JvbGxJbnRlcnZhbCA+IDApCi0gICAgICAgIGRhdGEu
Y3VycmVudFZlbG9jaXR5ID0gKG5ld1Bvc2l0aW9uIC0gZGF0YS5jdXJyZW50UG9zaXRpb24pIC8g
bGFzdFNjcm9sbEludGVydmFsOworICAgIGlmIChsYXN0U2Nyb2xsSW50ZXJ2YWwgPiAwX3MpCisg
ICAgICAgIGRhdGEuY3VycmVudFZlbG9jaXR5ID0gKG5ld1Bvc2l0aW9uIC0gZGF0YS5jdXJyZW50
UG9zaXRpb24pIC8gbGFzdFNjcm9sbEludGVydmFsLnZhbHVlKCk7CiAgICAgZGF0YS5jdXJyZW50
UG9zaXRpb24gPSBuZXdQb3NpdGlvbjsKIAogICAgIHJldHVybiB0cnVlOwpAQCAtMzk5LDggKzM5
OSw4IEBAIGJvb2wgU2Nyb2xsQW5pbWF0aW9uU21vb3RoOjphbmltYXRlU2Nyb2xsKFBlckF4aXNE
YXRhJiBkYXRhLCBkb3VibGUgY3VycmVudFRpbWUpCiAKIHZvaWQgU2Nyb2xsQW5pbWF0aW9uU21v
b3RoOjphbmltYXRpb25UaW1lckZpcmVkKCkKIHsKLSAgICBkb3VibGUgY3VycmVudFRpbWUgPSBt
b25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKLSAgICBkb3VibGUgZGVsdGFUb05leHRGcmFt
ZSA9IGNlaWwoKGN1cnJlbnRUaW1lIC0gbV9zdGFydFRpbWUpICogZnJhbWVSYXRlKSAvIGZyYW1l
UmF0ZSAtIChjdXJyZW50VGltZSAtIG1fc3RhcnRUaW1lKTsKKyAgICBNb25vdG9uaWNUaW1lIGN1
cnJlbnRUaW1lID0gTW9ub3RvbmljVGltZTo6bm93KCk7CisgICAgU2Vjb25kcyBkZWx0YVRvTmV4
dEZyYW1lID0gMV9zICogY2VpbCgoY3VycmVudFRpbWUgLSBtX3N0YXJ0VGltZSkgKiBmcmFtZVJh
dGUpIC8gZnJhbWVSYXRlIC0gKGN1cnJlbnRUaW1lIC0gbV9zdGFydFRpbWUpOwogICAgIGN1cnJl
bnRUaW1lICs9IGRlbHRhVG9OZXh0RnJhbWU7CiAKICAgICBib29sIGNvbnRpbnVlQW5pbWF0aW9u
ID0gZmFsc2U7CkBAIC00MjIsNyArNDIyLDcgQEAgdm9pZCBTY3JvbGxBbmltYXRpb25TbW9vdGg6
OmFuaW1hdGlvblRpbWVyRmlyZWQoKQogfQogCiAjaWYgVVNFKFJFUVVFU1RfQU5JTUFUSU9OX0ZS
QU1FX1RJTUVSKQotdm9pZCBTY3JvbGxBbmltYXRpb25TbW9vdGg6OnN0YXJ0TmV4dFRpbWVyKGRv
dWJsZSBkZWxheSkKK3ZvaWQgU2Nyb2xsQW5pbWF0aW9uU21vb3RoOjpzdGFydE5leHRUaW1lcihT
ZWNvbmRzIGRlbGF5KQogewogICAgIG1fYW5pbWF0aW9uVGltZXIuc3RhcnRPbmVTaG90KGRlbGF5
KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdGlv
blNtb290aC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21vb3Ro
LmgKaW5kZXggZWJhOWRiMmU5NDcyZGFiZDI2YjQxZTNkYTY5YjM2MGY4NWM4MzAyZC4uMDNkYjJh
ZTJjNmJiY2Y0MDYzOWNjZGY4YTMyYmZjMGQxYTU4ZjI1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmgKQEAgLTc2LDI5ICs3NiwyOSBAQCBw
cml2YXRlOgogICAgICAgICBkb3VibGUgZGVzaXJlZFZlbG9jaXR5IHsgMCB9OwogCiAgICAgICAg
IGRvdWJsZSBzdGFydFBvc2l0aW9uIHsgMCB9OwotICAgICAgICBkb3VibGUgc3RhcnRUaW1lIHsg
MCB9OworICAgICAgICBNb25vdG9uaWNUaW1lIHN0YXJ0VGltZTsKICAgICAgICAgZG91YmxlIHN0
YXJ0VmVsb2NpdHkgeyAwIH07CiAKLSAgICAgICAgZG91YmxlIGFuaW1hdGlvblRpbWUgeyAwIH07
Ci0gICAgICAgIGRvdWJsZSBsYXN0QW5pbWF0aW9uVGltZSB7IDAgfTsKKyAgICAgICAgU2Vjb25k
cyBhbmltYXRpb25UaW1lOworICAgICAgICBNb25vdG9uaWNUaW1lIGxhc3RBbmltYXRpb25UaW1l
OwogCiAgICAgICAgIGRvdWJsZSBhdHRhY2tQb3NpdGlvbiB7IDAgfTsKLSAgICAgICAgZG91Ymxl
IGF0dGFja1RpbWUgeyAwIH07CisgICAgICAgIFNlY29uZHMgYXR0YWNrVGltZTsKICAgICAgICAg
Q3VydmUgYXR0YWNrQ3VydmUgeyBDdXJ2ZTo6UXVhZHJhdGljIH07CiAKICAgICAgICAgZG91Ymxl
IHJlbGVhc2VQb3NpdGlvbiB7IDAgfTsKLSAgICAgICAgZG91YmxlIHJlbGVhc2VUaW1lIHsgMCB9
OworICAgICAgICBTZWNvbmRzIHJlbGVhc2VUaW1lOwogICAgICAgICBDdXJ2ZSByZWxlYXNlQ3Vy
dmUgeyBDdXJ2ZTo6UXVhZHJhdGljIH07CiAKICAgICAgICAgaW50IHZpc2libGVMZW5ndGggeyAw
IH07CiAgICAgfTsKIAogICAgIGJvb2wgdXBkYXRlUGVyQXhpc0RhdGEoUGVyQXhpc0RhdGEmLCBT
Y3JvbGxHcmFudWxhcml0eSwgZmxvYXQgZGVsdGEsIGZsb2F0IG1pblNjcm9sbFBvc2l0aW9uLCBm
bG9hdCBtYXhTY3JvbGxQb3NpdGlvbik7Ci0gICAgYm9vbCBhbmltYXRlU2Nyb2xsKFBlckF4aXNE
YXRhJiwgZG91YmxlIGN1cnJlbnRUaW1lKTsKKyAgICBib29sIGFuaW1hdGVTY3JvbGwoUGVyQXhp
c0RhdGEmLCBNb25vdG9uaWNUaW1lIGN1cnJlbnRUaW1lKTsKIAogI2lmIFVTRShSRVFVRVNUX0FO
SU1BVElPTl9GUkFNRV9USU1FUikKICAgICB2b2lkIHJlcXVlc3RBbmltYXRpb25UaW1lckZpcmVk
KCk7Ci0gICAgdm9pZCBzdGFydE5leHRUaW1lcihkb3VibGUgZGVsYXkpOworICAgIHZvaWQgc3Rh
cnROZXh0VGltZXIoU2Vjb25kcyBkZWxheSk7CiAjZWxzZQogICAgIHZvaWQgc3RhcnROZXh0VGlt
ZXIoKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmgKaW5kZXggMDUxNzRiNGYxNGIzNjgy
ZThkN2JkY2ZhMzQ1Yzg0NmE4Zjk2YjUyNy4uNTJkZWJhODE1Yjg3ZWM2MWUxYjEzNjIyOTQ4NjEz
YTg2ZjJmYzgwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5oCkBAIC01NSw4ICs1NSw2IEBAIHB1
YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHN0YXJ0KFNlY29uZHMgbmV4dEZpcmVJbnRl
cnZhbCwgU2Vjb25kcyByZXBlYXRJbnRlcnZhbCk7CiAKICAgICB2b2lkIHN0YXJ0UmVwZWF0aW5n
KFNlY29uZHMgcmVwZWF0SW50ZXJ2YWwpIHsgc3RhcnQocmVwZWF0SW50ZXJ2YWwsIHJlcGVhdElu
dGVydmFsKTsgfQotCi0gICAgdm9pZCBzdGFydE9uZVNob3QoZG91YmxlIGludGVydmFsKSB7IHN0
YXJ0T25lU2hvdChTZWNvbmRzIHsgaW50ZXJ2YWwgfSk7IH0KICAgICB2b2lkIHN0YXJ0T25lU2hv
dChTZWNvbmRzIGludGVydmFsKSB7IHN0YXJ0KGludGVydmFsLCAwX3MpOyB9CiAKICAgICBXRUJD
T1JFX0VYUE9SVCB2b2lkIHN0b3AoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmNwcAppbmRleCA1NjlhNWI5ZTA2ZWQ5NmM2
ZDBkNzBjNjViOGM1MDFhMzM5Zjc2N2Q5Li4wMmQxMDk5MTQxZTQyZTIxN2I1MmEyNmMzMjI5ODlm
YjJkOGUxOTgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0
Zm9ybU1lZGlhU2Vzc2lvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8v
UGxhdGZvcm1NZWRpYVNlc3Npb24uY3BwCkBAIC0zNCw3ICszNCw3IEBACiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAotY29uc3QgZG91YmxlIGtDbGllbnREYXRhQnVmZmVyaW5nVGltZXJUaHJvdHRs
ZURlbGF5ID0gMC4xOworc3RhdGljIGNvbnN0IFNlY29uZHMgY2xpZW50RGF0YUJ1ZmZlcmluZ1Rp
bWVyVGhyb3R0bGVEZWxheSB7IDEwMF9tcyB9OwogCiAjaWYgIUxPR19ESVNBQkxFRAogc3RhdGlj
IGNvbnN0IGNoYXIqIHN0YXRlTmFtZShQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6U3RhdGUgc3RhdGUp
CkBAIC0yNjAsNyArMjYwLDcgQEAgdm9pZCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6dmlzaWJpbGl0
eUNoYW5nZWQoKQogdm9pZCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6c2NoZWR1bGVDbGllbnREYXRh
QnVmZmVyaW5nQ2hlY2soKQogewogICAgIGlmICghbV9jbGllbnREYXRhQnVmZmVyaW5nVGltZXIu
aXNBY3RpdmUoKSkKLSAgICAgICAgbV9jbGllbnREYXRhQnVmZmVyaW5nVGltZXIuc3RhcnRPbmVT
aG90KGtDbGllbnREYXRhQnVmZmVyaW5nVGltZXJUaHJvdHRsZURlbGF5KTsKKyAgICAgICAgbV9j
bGllbnREYXRhQnVmZmVyaW5nVGltZXIuc3RhcnRPbmVTaG90KGNsaWVudERhdGFCdWZmZXJpbmdU
aW1lclRocm90dGxlRGVsYXkpOwogfQogCiB2b2lkIFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpjbGll
bnREYXRhQnVmZmVyaW5nVGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9jb2NvYS9TY3JvbGxDb250cm9sbGVyLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vY29jb2EvU2Nyb2xsQ29udHJvbGxlci5tbQppbmRleCAxZThmN2RmZDg3ZWEzMzk3OGRlZjk0
YmZkYWM3ZTJiZGExNWZiYWEyLi5lZTNlNTM3ZmI4YzJiNjg3MGU2MWRmZDIzOTc2MDdlYzdmMWY0
YjFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9TY3JvbGxDb250
cm9sbGVyLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1Njcm9sbENvbnRy
b2xsZXIubW0KQEAgLTQ5MCw3ICs0OTAsNyBAQCB2b2lkIFNjcm9sbENvbnRyb2xsZXI6OnNjaGVk
dWxlU3RhdGVsZXNzU2Nyb2xsU25hcCgpCiAgICAgICAgIHJldHVybjsKIAogICAgIHN0YXRpYyBj
b25zdCBTZWNvbmRzIHN0YXRlbGVzc1Njcm9sbFNuYXBEZWxheSA9IDc1MF9tczsKLSAgICBtX3N0
YXRlbGVzc1NuYXBUcmFuc2l0aW9uVGltZXIuc3RhcnRPbmVTaG90KHN0YXRlbGVzc1Njcm9sbFNu
YXBEZWxheS52YWx1ZSgpKTsKKyAgICBtX3N0YXRlbGVzc1NuYXBUcmFuc2l0aW9uVGltZXIuc3Rh
cnRPbmVTaG90KHN0YXRlbGVzc1Njcm9sbFNuYXBEZWxheSk7CiAgICAgc3RhcnREZWZlcnJpbmdU
ZXN0c0R1ZVRvU2Nyb2xsU25hcHBpbmcoKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ2FtZXBhZC9jb2NvYS9HYW1lQ29udHJvbGxlckdhbWVwYWRQcm92aWRlci5t
bSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvY29jb2EvR2FtZUNvbnRyb2xsZXJH
YW1lcGFkUHJvdmlkZXIubW0KaW5kZXggNTE1ZjNlNGViMWY5NjQ0YWQ0ZDdhYWRiYWRlNmM1ZjEw
OTBmMzc2NS4uMTBlNzc0NTcwYzE2YzMyODAzYzlkYzZmZTdjNjNhZjQwZTY5YWIxMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9jb2NvYS9HYW1lQ29udHJvbGxl
ckdhbWVwYWRQcm92aWRlci5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nYW1lcGFk
L2NvY29hL0dhbWVDb250cm9sbGVyR2FtZXBhZFByb3ZpZGVyLm1tCkBAIC00MCw3ICs0MCw3IEBA
IFNPRlRfTElOS19DT05TVEFOVF9NQVlfRkFJTChHYW1lQ29udHJvbGxlciwgR0NDb250cm9sbGVy
RGlkRGlzY29ubmVjdE5vdGlmaWNhdGlvCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGlj
IGNvbnN0IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgSW5wdXROb3RpZmljYXRpb25EZWxheSA9
IDE2bXM7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBpbnB1dE5vdGlmaWNhdGlvbkRlbGF5IHsgMTZf
bXMgfTsKIAogR2FtZUNvbnRyb2xsZXJHYW1lcGFkUHJvdmlkZXImIEdhbWVDb250cm9sbGVyR2Ft
ZXBhZFByb3ZpZGVyOjpzaW5nbGV0b24oKQogewpAQCAtMTQ0LDcgKzE0NCw3IEBAIHVuc2lnbmVk
IEdhbWVDb250cm9sbGVyR2FtZXBhZFByb3ZpZGVyOjppbmRleEZvck5ld2x5Q29ubmVjdGVkRGV2
aWNlKCkKIHZvaWQgR2FtZUNvbnRyb2xsZXJHYW1lcGFkUHJvdmlkZXI6OmdhbWVwYWRIYWRJbnB1
dChHYW1lQ29udHJvbGxlckdhbWVwYWQmLCBib29sIGhhZEJ1dHRvblByZXNzZXMpCiB7CiAgICAg
aWYgKCFtX2lucHV0Tm90aWZpY2F0aW9uVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9pbnB1
dE5vdGlmaWNhdGlvblRpbWVyLnN0YXJ0T25lU2hvdChJbnB1dE5vdGlmaWNhdGlvbkRlbGF5KTsK
KyAgICAgICAgbV9pbnB1dE5vdGlmaWNhdGlvblRpbWVyLnN0YXJ0T25lU2hvdChpbnB1dE5vdGlm
aWNhdGlvbkRlbGF5KTsKIAogICAgIGlmIChoYWRCdXR0b25QcmVzc2VzKQogICAgICAgICBtX3No
b3VsZE1ha2VJbnZpc2liaWxlR2FtZXBhZHNWaXNpYmxlID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvbWFjL0hJREdhbWVwYWRQcm92aWRlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nYW1lcGFkL21hYy9ISURHYW1lcGFkUHJvdmlkZXIu
Y3BwCmluZGV4IDAwMjY2NGNhYTJhMjdiMmM0YzkzOTI0YTBkODEyMzlmYWE1YzQxNDQuLjJlMjI5
OTI2OWMyYWM2MmRlYTA3ZDQ5MzYzMGQ4ZTA0NDhmNWFlNGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvbWFjL0hJREdhbWVwYWRQcm92aWRlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9tYWMvSElER2FtZXBhZFByb3ZpZGVyLmNw
cApAQCAtMzQsOCArMzQsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25z
dCBkb3VibGUgQ29ubmVjdGlvbkRlbGF5SW50ZXJ2YWwgPSAwLjU7Ci1zdGF0aWMgY29uc3QgZG91
YmxlIElucHV0Tm90aWZpY2F0aW9uRGVsYXkgPSAwLjA1Oworc3RhdGljIGNvbnN0IFNlY29uZHMg
Y29ubmVjdGlvbkRlbGF5SW50ZXJ2YWwgeyA1MDBfbXMgfTsKK3N0YXRpYyBjb25zdCBTZWNvbmRz
IGlucHV0Tm90aWZpY2F0aW9uRGVsYXkgeyA1MF9tcyB9OwogCiBzdGF0aWMgUmV0YWluUHRyPENG
RGljdGlvbmFyeVJlZj4gZGV2aWNlTWF0Y2hpbmdEaWN0aW9uYXJ5KHVpbnQzMl90IHVzYWdlUGFn
ZSwgdWludDMyX3QgdXNhZ2UpCiB7CkBAIC0xNDIsOSArMTQyLDkgQEAgdm9pZCBISURHYW1lcGFk
UHJvdmlkZXI6Om9wZW5BbmRTY2hlZHVsZU1hbmFnZXIoKQogICAgIElPSElETWFuYWdlclNjaGVk
dWxlV2l0aFJ1bkxvb3AobV9tYW5hZ2VyLmdldCgpLCBDRlJ1bkxvb3BHZXRDdXJyZW50KCksIGtD
RlJ1bkxvb3BEZWZhdWx0TW9kZSk7CiAgICAgSU9ISURNYW5hZ2VyT3BlbihtX21hbmFnZXIuZ2V0
KCksIGtJT0hJRE9wdGlvbnNUeXBlTm9uZSk7CiAKLSAgICAvLyBBbnkgY29ubmVjdGlvbnMgd2Ug
YXJlIG5vdGlmaWVkIG9mIHdpdGhpbiB0aGUgQ29ubmVjdGlvbkRlbGF5SW50ZXJ2YWwgb2YgbGlz
dGVuaW5nIGxpa2VseSByZXByZXNlbnQKKyAgICAvLyBBbnkgY29ubmVjdGlvbnMgd2UgYXJlIG5v
dGlmaWVkIG9mIHdpdGhpbiB0aGUgY29ubmVjdGlvbkRlbGF5SW50ZXJ2YWwgb2YgbGlzdGVuaW5n
IGxpa2VseSByZXByZXNlbnQKICAgICAvLyBkZXZpY2VzIHRoYXQgd2VyZSBhbHJlYWR5IGNvbm5l
Y3RlZCwgc28gd2Ugc3VwcHJlc3Mgbm90aWZ5aW5nIGNsaWVudHMgb2YgdGhlc2UuCi0gICAgbV9j
b25uZWN0aW9uRGVsYXlUaW1lci5zdGFydE9uZVNob3QoQ29ubmVjdGlvbkRlbGF5SW50ZXJ2YWwp
OworICAgIG1fY29ubmVjdGlvbkRlbGF5VGltZXIuc3RhcnRPbmVTaG90KGNvbm5lY3Rpb25EZWxh
eUludGVydmFsKTsKIH0KIAogdm9pZCBISURHYW1lcGFkUHJvdmlkZXI6OmNsb3NlQW5kVW5zY2hl
ZHVsZU1hbmFnZXIoKQpAQCAtMjQzLDcgKzI0Myw3IEBAIHZvaWQgSElER2FtZXBhZFByb3ZpZGVy
Ojp2YWx1ZXNDaGFuZ2VkKElPSElEVmFsdWVSZWYgdmFsdWUpCiAgICAgLy8gVGhpcyBpc0FjdGl2
ZSBjaGVjayBpcyBuZWNlc3NhcnkgYXMgd2Ugd2FudCB0byBkZWxheSBpbnB1dCBub3RpZmljYXRp
b25zIGZyb20gdGhlIHRpbWUgb2YgdGhlIGZpcnN0IGlucHV0LAogICAgIC8vIGFuZCBub3QgcHVz
aCB0aGUgbm90aWZpY2F0aW9uIG91dCBvbiBldmVyeSBzdWJzZXF1ZW50IGlucHV0LgogICAgIGlm
ICghbV9pbnB1dE5vdGlmaWNhdGlvblRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1faW5wdXRO
b3RpZmljYXRpb25UaW1lci5zdGFydE9uZVNob3QoSW5wdXROb3RpZmljYXRpb25EZWxheSk7Cisg
ICAgICAgIG1faW5wdXROb3RpZmljYXRpb25UaW1lci5zdGFydE9uZVNob3QoaW5wdXROb3RpZmlj
YXRpb25EZWxheSk7CiB9CiAKIHZvaWQgSElER2FtZXBhZFByb3ZpZGVyOjppbnB1dE5vdGlmaWNh
dGlvblRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2xp
Yi9NYWluVGhyZWFkU2hhcmVkVGltZXJHTGliLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dsaWIvTWFpblRocmVhZFNoYXJlZFRpbWVyR0xpYi5jcHAKaW5kZXggNGFmZTI5ZGMwYjZkODVi
OWQ2NGM1NDViZTc5MGMwYjg4MTczY2NiOS4uMjE0Nzc0MDliOTFlYWQ3MmYxYmY3YzU0YjJjOTJm
ZGZhMzRiNmIxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2xpYi9NYWlu
VGhyZWFkU2hhcmVkVGltZXJHTGliLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
bGliL01haW5UaHJlYWRTaGFyZWRUaW1lckdMaWIuY3BwCkBAIC00MSw3ICs0MSw3IEBAIE1haW5U
aHJlYWRTaGFyZWRUaW1lcjo6TWFpblRocmVhZFNoYXJlZFRpbWVyKCkKIHZvaWQgTWFpblRocmVh
ZFNoYXJlZFRpbWVyOjpzZXRGaXJlSW50ZXJ2YWwoU2Vjb25kcyBpbnRlcnZhbCkKIHsKICAgICBB
U1NFUlQobV9maXJlZEZ1bmN0aW9uKTsKLSAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChpbnRlcnZh
bC52YWx1ZSgpKTsKKyAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChpbnRlcnZhbCk7CiB9CiAKIHZv
aWQgTWFpblRocmVhZFNoYXJlZFRpbWVyOjpzdG9wKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmNwcAppbmRleCBjMjNiOWRkYzVhNDczNzJiNWM0
OGFlYzA0MDM3ZjMyZjZhZTdkNjg4Li4xYjk0OWNkYWQ0ZTA1NWM5NmZjOWFlZTBhMTI3YmQwMWQ1
MjQxMTg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRt
YXBJbWFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFw
SW1hZ2UuY3BwCkBAIC0yODYsNyArMjg2LDcgQEAgdm9pZCBCaXRtYXBJbWFnZTo6Y2xlYXJUaW1l
cigpCiAgICAgbV9mcmFtZVRpbWVyID0gbnVsbHB0cjsKIH0KIAotdm9pZCBCaXRtYXBJbWFnZTo6
c3RhcnRUaW1lcihkb3VibGUgZGVsYXkpCit2b2lkIEJpdG1hcEltYWdlOjpzdGFydFRpbWVyKFNl
Y29uZHMgZGVsYXkpCiB7CiAgICAgQVNTRVJUKCFtX2ZyYW1lVGltZXIpOwogICAgIG1fZnJhbWVU
aW1lciA9IHN0ZDo6bWFrZV91bmlxdWU8VGltZXI+KCp0aGlzLCAmQml0bWFwSW1hZ2U6OmFkdmFu
Y2VBbmltYXRpb24pOwpAQCAtMzMyLDE0ICszMzIsMTQgQEAgQml0bWFwSW1hZ2U6OlN0YXJ0QW5p
bWF0aW9uU3RhdHVzIEJpdG1hcEltYWdlOjppbnRlcm5hbFN0YXJ0QW5pbWF0aW9uKCkKICAgICBp
ZiAoIW1fc291cmNlLmlzQWxsRGF0YVJlY2VpdmVkKCkgJiYgIWZyYW1lSXNDb21wbGV0ZUF0SW5k
ZXgobmV4dEZyYW1lKSkKICAgICAgICAgcmV0dXJuIFN0YXJ0QW5pbWF0aW9uU3RhdHVzOjpJbmNv
bXBsZXRlRGF0YTsKIAotICAgIGRvdWJsZSB0aW1lID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdU
aW1lKCk7CisgICAgTW9ub3RvbmljVGltZSB0aW1lID0gTW9ub3RvbmljVGltZTo6bm93KCk7CiAK
ICAgICAvLyBIYW5kbGUgaW5pdGlhbCBzdGF0ZS4KICAgICBpZiAoIW1fZGVzaXJlZEZyYW1lU3Rh
cnRUaW1lKQogICAgICAgICBtX2Rlc2lyZWRGcmFtZVN0YXJ0VGltZSA9IHRpbWU7CiAKICAgICAv
LyBTZXR0aW5nICdtX2Rlc2lyZWRGcmFtZVN0YXJ0VGltZScgdG8gJ3RpbWUnIG1lYW5zIHdlIGFy
ZSBsYXRlOyBvdGhlcndpc2Ugd2UgYXJlIGVhcmx5LgotICAgIG1fZGVzaXJlZEZyYW1lU3RhcnRU
aW1lID0gc3RkOjptYXgodGltZSwgbV9kZXNpcmVkRnJhbWVTdGFydFRpbWUgKyBmcmFtZUR1cmF0
aW9uQXRJbmRleChtX2N1cnJlbnRGcmFtZSkpOworICAgIG1fZGVzaXJlZEZyYW1lU3RhcnRUaW1l
ID0gc3RkOjptYXgodGltZSwgbV9kZXNpcmVkRnJhbWVTdGFydFRpbWUgKyBTZWNvbmRzIHsgZnJh
bWVEdXJhdGlvbkF0SW5kZXgobV9jdXJyZW50RnJhbWUpIH0pOwogCiAgICAgLy8gUmVxdWVzdCBh
c3luYyBkZWNvZGluZyBmb3IgbmV4dEZyYW1lIG9ubHkgaWYgdGhpcyBpcyByZXF1aXJlZC4gSWYg
bmV4dEZyYW1lIGlzIG5vdCBpbiB0aGUgZnJhbWVDYWNoZSwKICAgICAvLyBpdCB3aWxsIGJlIGRl
Y29kZWQgb24gYSBzZXBhcmF0ZSB3b3JrIHF1ZXVlLiBXaGVuIGRlY29kaW5nIG5leHRGcmFtZSBm
aW5pc2hlcywgd2Ugd2lsbCBiZSBub3RpZmllZApAQCAtMzU3LDcgKzM1Nyw3IEBAIEJpdG1hcElt
YWdlOjpTdGFydEFuaW1hdGlvblN0YXR1cyBCaXRtYXBJbWFnZTo6aW50ZXJuYWxTdGFydEFuaW1h
dGlvbigpCiAgICAgICAgIFVOVVNFRF9QQVJBTShpc0FzeW5jRGVjb2RlKTsKICNlbmRpZgogCi0g
ICAgICAgIG1fZGVzaXJlZEZyYW1lRGVjb2RlVGltZUZvclRlc3RpbmcgPSB0aW1lICsgc3RkOjpt
YXgobV9mcmFtZURlY29kaW5nRHVyYXRpb25Gb3JUZXN0aW5nLCAwLjBmKTsKKyAgICAgICAgbV9k
ZXNpcmVkRnJhbWVEZWNvZGVUaW1lRm9yVGVzdGluZyA9IHRpbWUgKyBzdGQ6Om1heChtX2ZyYW1l
RGVjb2RpbmdEdXJhdGlvbkZvclRlc3RpbmcsIDBfcyk7CiAgICAgICAgIGlmIChtX2NsZWFyRGVj
b2RlckFmdGVyQXN5bmNGcmFtZVJlcXVlc3RGb3JUZXN0aW5nKQogICAgICAgICAgICAgbV9zb3Vy
Y2UuY2xlYXIoZGF0YSgpKTsKICAgICB9CkBAIC0zNzQsNyArMzc0LDcgQEAgdm9pZCBCaXRtYXBJ
bWFnZTo6YWR2YW5jZUFuaW1hdGlvbigpCiAgICAgLy8gUHJldGVuZCBhcyBpZiBkZWNvZGluZyBu
ZXh0RnJhbWUgaGFzIHRha2VuIG1fZnJhbWVEZWNvZGluZ0R1cmF0aW9uRm9yVGVzdGluZyBmcm9t
CiAgICAgLy8gdGhlIHRpbWUgdGhpcyBkZWNvZGluZyB3YXMgcmVxdWVzdGVkLgogICAgIGlmIChz
aG91bGRVc2VBc3luY0RlY29kaW5nRm9yQW5pbWF0ZWRJbWFnZXNGb3JUZXN0aW5nKCkpIHsKLSAg
ICAgICAgZG91YmxlIHRpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKKyAgICAg
ICAgTW9ub3RvbmljVGltZSB0aW1lID0gTW9ub3RvbmljVGltZTo6bm93KCk7CiAgICAgICAgIC8v
IFN0YXJ0IGEgdGltZXIgd2l0aCB0aGUgcmVtYWluaW5nIHRpbWUgZnJvbSBub3cgdGlsbCB0aGUg
bV9kZXNpcmVkRnJhbWVEZWNvZGVUaW1lLgogICAgICAgICBpZiAobV9kZXNpcmVkRnJhbWVEZWNv
ZGVUaW1lRm9yVGVzdGluZyA+IHN0ZDo6bWF4KHRpbWUsIG1fZGVzaXJlZEZyYW1lU3RhcnRUaW1l
KSkgewogICAgICAgICAgICAgc3RhcnRUaW1lcihtX2Rlc2lyZWRGcmFtZURlY29kZVRpbWVGb3JU
ZXN0aW5nIC0gdGltZSk7CkBAIC00MjYsNyArNDI2LDcgQEAgdm9pZCBCaXRtYXBJbWFnZTo6cmVz
ZXRBbmltYXRpb24oKQogICAgIHN0b3BBbmltYXRpb24oKTsKICAgICBtX2N1cnJlbnRGcmFtZSA9
IDA7CiAgICAgbV9yZXBldGl0aW9uc0NvbXBsZXRlID0gUmVwZXRpdGlvbkNvdW50Tm9uZTsKLSAg
ICBtX2Rlc2lyZWRGcmFtZVN0YXJ0VGltZSA9IDA7CisgICAgbV9kZXNpcmVkRnJhbWVTdGFydFRp
bWUgPSB7IH07CiAgICAgbV9hbmltYXRpb25GaW5pc2hlZCA9IGZhbHNlOwogCiAgICAgLy8gRm9y
IGV4dHJlbWVseSBsYXJnZSBhbmltYXRpb25zLCB3aGVuIHRoZSBhbmltYXRpb24gaXMgcmVzZXQs
IHdlIGp1c3QgdGhyb3cgZXZlcnl0aGluZyBhd2F5LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmgKaW5kZXggNDIyZDZjOTgwYTU3ZjU0NzZmM2IyZTdj
MjZkMDYwMGYwZGI5NTQ1Mi4uOGVhMjRkNmJhZmEwMTEyODc3YjUwM2I5N2ZjN2RjYWZkMjVlNTI1
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1h
Z2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5o
CkBAIC05Nyw4ICs5Nyw4IEBAIHB1YmxpYzoKICAgICBib29sIGN1cnJlbnRGcmFtZUtub3duVG9C
ZU9wYXF1ZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuICFmcmFtZUhhc0FscGhhQXRJbmRleChj
dXJyZW50RnJhbWUoKSk7IH0KICAgICBJbWFnZU9yaWVudGF0aW9uIG9yaWVudGF0aW9uRm9yQ3Vy
cmVudEZyYW1lKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gZnJhbWVPcmllbnRhdGlvbkF0SW5k
ZXgoY3VycmVudEZyYW1lKCkpOyB9CiAKLSAgICBib29sIHNob3VsZFVzZUFzeW5jRGVjb2RpbmdG
b3JBbmltYXRlZEltYWdlc0ZvclRlc3RpbmcoKSBjb25zdCB7IHJldHVybiBtX2ZyYW1lRGVjb2Rp
bmdEdXJhdGlvbkZvclRlc3RpbmcgPiAwOyB9Ci0gICAgdm9pZCBzZXRGcmFtZURlY29kaW5nRHVy
YXRpb25Gb3JUZXN0aW5nKGZsb2F0IGR1cmF0aW9uKSB7IG1fZnJhbWVEZWNvZGluZ0R1cmF0aW9u
Rm9yVGVzdGluZyA9IGR1cmF0aW9uOyB9CisgICAgYm9vbCBzaG91bGRVc2VBc3luY0RlY29kaW5n
Rm9yQW5pbWF0ZWRJbWFnZXNGb3JUZXN0aW5nKCkgY29uc3QgeyByZXR1cm4gbV9mcmFtZURlY29k
aW5nRHVyYXRpb25Gb3JUZXN0aW5nID4gMF9zOyB9CisgICAgdm9pZCBzZXRGcmFtZURlY29kaW5n
RHVyYXRpb25Gb3JUZXN0aW5nKFNlY29uZHMgZHVyYXRpb24pIHsgbV9mcmFtZURlY29kaW5nRHVy
YXRpb25Gb3JUZXN0aW5nID0gZHVyYXRpb247IH0KICAgICBib29sIHNob3VsZFVzZUFzeW5jRGVj
b2RpbmdGb3JMYXJnZUltYWdlcygpOwogICAgIGJvb2wgc2hvdWxkVXNlQXN5bmNEZWNvZGluZ0Zv
ckFuaW1hdGVkSW1hZ2VzKCk7CiAgICAgdm9pZCBzZXRDbGVhckRlY29kZXJBZnRlckFzeW5jRnJh
bWVSZXF1ZXN0Rm9yVGVzdGluZyhib29sIHZhbHVlKSB7IG1fY2xlYXJEZWNvZGVyQWZ0ZXJBc3lu
Y0ZyYW1lUmVxdWVzdEZvclRlc3RpbmcgPSB2YWx1ZTsgfQpAQCAtMTkwLDcgKzE5MCw3IEBAIHBy
b3RlY3RlZDoKIAogcHJpdmF0ZToKICAgICB2b2lkIGNsZWFyVGltZXIoKTsKLSAgICB2b2lkIHN0
YXJ0VGltZXIoZG91YmxlIGRlbGF5KTsKKyAgICB2b2lkIHN0YXJ0VGltZXIoU2Vjb25kcyBkZWxh
eSk7CiAgICAgYm9vbCBpc0JpdG1hcEltYWdlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1
ZTsgfQogICAgIHZvaWQgZHVtcChUZXh0U3RyZWFtJikgY29uc3Qgb3ZlcnJpZGU7CiAKQEAgLTIw
NywxMSArMjA3LDExIEBAIHByaXZhdGU6CiAgICAgU3Vic2FtcGxpbmdMZXZlbCBtX2N1cnJlbnRT
dWJzYW1wbGluZ0xldmVsIHsgU3Vic2FtcGxpbmdMZXZlbDo6RGVmYXVsdCB9OwogICAgIHN0ZDo6
dW5pcXVlX3B0cjxUaW1lcj4gbV9mcmFtZVRpbWVyOwogICAgIFJlcGV0aXRpb25Db3VudCBtX3Jl
cGV0aXRpb25zQ29tcGxldGUgeyBSZXBldGl0aW9uQ291bnROb25lIH07IC8vIEhvdyBtYW55IHJl
cGV0aXRpb25zIHdlJ3ZlIGZpbmlzaGVkLgotICAgIGRvdWJsZSBtX2Rlc2lyZWRGcmFtZVN0YXJ0
VGltZSB7IDAgfTsgLy8gVGhlIHN5c3RlbSB0aW1lIGF0IHdoaWNoIHdlIGhvcGUgdG8gc2VlIHRo
ZSBuZXh0IGNhbGwgdG8gc3RhcnRBbmltYXRpb24oKS4KKyAgICBNb25vdG9uaWNUaW1lIG1fZGVz
aXJlZEZyYW1lU3RhcnRUaW1lOyAvLyBUaGUgc3lzdGVtIHRpbWUgYXQgd2hpY2ggd2UgaG9wZSB0
byBzZWUgdGhlIG5leHQgY2FsbCB0byBzdGFydEFuaW1hdGlvbigpLgogICAgIGJvb2wgbV9hbmlt
YXRpb25GaW5pc2hlZCB7IGZhbHNlIH07CiAKLSAgICBmbG9hdCBtX2ZyYW1lRGVjb2RpbmdEdXJh
dGlvbkZvclRlc3RpbmcgeyAwIH07Ci0gICAgZG91YmxlIG1fZGVzaXJlZEZyYW1lRGVjb2RlVGlt
ZUZvclRlc3RpbmcgeyAwIH07CisgICAgU2Vjb25kcyBtX2ZyYW1lRGVjb2RpbmdEdXJhdGlvbkZv
clRlc3Rpbmc7CisgICAgTW9ub3RvbmljVGltZSBtX2Rlc2lyZWRGcmFtZURlY29kZVRpbWVGb3JU
ZXN0aW5nOwogICAgIGJvb2wgbV9jbGVhckRlY29kZXJBZnRlckFzeW5jRnJhbWVSZXF1ZXN0Rm9y
VGVzdGluZyB7IGZhbHNlIH07CiAjaWYgIUxPR19ESVNBQkxFRAogICAgIHNpemVfdCBtX2xhdGVG
cmFtZUNvdW50IHsgMCB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyLmNwcAppbmRleCA0OTMxNjg2
YjMxNTEyNzcxNjI1MDQ4ODhiNzE1ZTI4MWEyNzU5MjA2Li5mNTAxM2Y0YTBmNDkzYWYxYWI5NTI3
MThjOTM0MDg0Yzc1NWQyNmFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9NZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyLmNwcApAQCAtMzMs
NyArMzMsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBkb3VibGUg
cGVuZGluZ0FjdGlvbkludGVydmFsID0gMS4wIC8gMTAuMDsKK3N0YXRpYyBjb25zdCBTZWNvbmRz
IHBlbmRpbmdBY3Rpb25JbnRlcnZhbCB7IDEwMF9tcyB9OwogCiBNZWRpYVBsYXliYWNrVGFyZ2V0
UGlja2VyOjpNZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyKENsaWVudCYgY2xpZW50KQogICAgIDog
bV9jbGllbnQoJmNsaWVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL1NoYWRvd0JsdXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
U2hhZG93Qmx1ci5jcHAKaW5kZXggZjE3YjNmZmU3MzEzMDQwYWIyMWZmYzgwNTAzYjU5NDEzN2Ey
MzRiOC4uODdmNDVlNDYwZmRlMDljNGZmZWRlZDJmZTA1MTBkZDQ5ODMxNjVkYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2hhZG93Qmx1ci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2hhZG93Qmx1ci5jcHAKQEAgLTEyNCw3
ICsxMjQsNyBAQCBwdWJsaWM6CiAgICAgICAgIGlmIChtX3B1cmdlVGltZXIuaXNBY3RpdmUoKSkK
ICAgICAgICAgICAgIG1fcHVyZ2VUaW1lci5zdG9wKCk7CiAKLSAgICAgICAgY29uc3QgZG91Ymxl
IHNjcmF0Y2hCdWZmZXJQdXJnZUludGVydmFsID0gMjsKKyAgICAgICAgY29uc3QgU2Vjb25kcyBz
Y3JhdGNoQnVmZmVyUHVyZ2VJbnRlcnZhbCB7IDJfcyB9OwogICAgICAgICBtX3B1cmdlVGltZXIu
c3RhcnRPbmVTaG90KHNjcmF0Y2hCdWZmZXJQdXJnZUludGVydmFsKTsKICAgICB9CiAgICAgCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9MYXllclBvb2wu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvTGF5ZXJQb29sLmNwcApp
bmRleCAwY2Y3Zjc3ZTYxMWFkMmJkNGViMDcyMzUwMDE4YWRjNGJjZGI4NDVmLi4wY2M0ZmFjNThh
MzA0MmFiNjY4NGNlMTZiZTcwZDRjMjUwYWY5N2E3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9MYXllclBvb2wuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NhL0xheWVyUG9vbC5jcHAKQEAgLTExMCw3ICsxMTAsNyBAQCB2
b2lkIExheWVyUG9vbDo6c2NoZWR1bGVQcnVuZSgpCiB7CiAgICAgaWYgKG1fcHJ1bmVUaW1lci5p
c0FjdGl2ZSgpKQogICAgICAgICByZXR1cm47Ci0gICAgbV9wcnVuZVRpbWVyLnN0YXJ0T25lU2hv
dCgxKTsKKyAgICBtX3BydW5lVGltZXIuc3RhcnRPbmVTaG90KDFfcyk7CiB9CiAKIHZvaWQgTGF5
ZXJQb29sOjpwcnVuZVRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQ
cml2YXRlR1N0cmVhbWVyLmNwcAppbmRleCAwNDY2Zjc3MzFkOTM2NmQ5ZjM4NTA3ODE5MGFmNGU4
MGM4NzM3YWY2Li45ZDJhY2Q0ZTFlZDBiMjk3OGZlZWM0Y2M1MDhjZDQ5YjFmY2ZmMGU3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQ
bGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcApAQCAtMzcw
LDcgKzM3MCw3IEBAIGJvb2wgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpjaGFuZ2VQaXBl
bGluZVN0YXRlKEdzdFN0YXRlIG5ld1N0YXRlKQogICAgIGlmIChuZXdTdGF0ZSA9PSBHU1RfU1RB
VEVfUkVBRFkgJiYgIW1fcmVhZHlUaW1lckhhbmRsZXIuaXNBY3RpdmUoKSkgewogICAgICAgICAv
LyBNYXggaW50ZXJ2YWwgaW4gc2Vjb25kcyB0byBzdGF5IGluIHRoZSBSRUFEWSBzdGF0ZSBvbiBt
YW51YWwKICAgICAgICAgLy8gc3RhdGUgY2hhbmdlIHJlcXVlc3RzLgotICAgICAgICBzdGF0aWMg
Y29uc3QgZG91YmxlIHJlYWR5U3RhdGVUaW1lckRlbGF5ID0gNjA7CisgICAgICAgIHN0YXRpYyBj
b25zdCBTZWNvbmRzIHJlYWR5U3RhdGVUaW1lckRlbGF5IHsgMV9taW4gfTsKICAgICAgICAgbV9y
ZWFkeVRpbWVySGFuZGxlci5zdGFydE9uZVNob3QocmVhZHlTdGF0ZVRpbWVyRGVsYXkpOwogICAg
IH0gZWxzZSBpZiAobmV3U3RhdGUgIT0gR1NUX1NUQVRFX1JFQURZKQogICAgICAgICBtX3JlYWR5
VGltZXJIYW5kbGVyLnN0b3AoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL21hYy9HcmFwaGljc0NvbnRleHQzRE1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL21hYy9HcmFwaGljc0NvbnRleHQzRE1hYy5tbQppbmRleCA1NmJlMDZm
ZTQwMWZkNDU2OTg4ZmEyZmYxNWQ5NTMxYjEzNTYwZDY3Li4xYzRlNDM1OTM1YTFjYTQ2MjE0ZDM0
ODAwNTQwNTNjNTlmOGVmMDkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9tYWMvR3JhcGhpY3NDb250ZXh0M0RNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0dyYXBoaWNzQ29udGV4dDNETWFjLm1tCkBAIC0yNzgsOCAr
Mjc4LDggQEAgdm9pZCBHcmFwaGljc0NvbnRleHQzRE1hbmFnZXI6OnVwZGF0ZUhpZ2hQZXJmb3Jt
YW5jZVN0YXRlKCkKICAgICAgICAgICAgIExPRyhXZWJHTCwgIlNldCBhIHRpbWVyIHRvIHR1cm4g
b2ZmIGhpZ2gtcGVyZm9ybWFuY2UgR1BVLiIpOwogICAgICAgICAgICAgLy8gRklYTUU6IEV4cG9z
ZSB0aGlzIHZhbHVlIGFzIGEgU2V0dGluZywgd2hpY2ggd291bGQgcmVxdWlyZSB0aGlzIGNsYXNz
CiAgICAgICAgICAgICAvLyB0byByZWZlcmVuY2UgYSBmcmFtZSwgcGFnZSBvciBkb2N1bWVudC4K
LSAgICAgICAgICAgIHN0YXRpYyBjb25zdCBpbnQgdGltZVRvS2VlcEhpZ2hQZXJmb3JtYW5jZUdQ
VUFsaXZlSW5TZWNvbmRzID0gMTA7Ci0gICAgICAgICAgICBtX2Rpc2FibGVIaWdoUGVyZm9ybWFu
Y2VHUFVUaW1lci5zdGFydE9uZVNob3QodGltZVRvS2VlcEhpZ2hQZXJmb3JtYW5jZUdQVUFsaXZl
SW5TZWNvbmRzKTsKKyAgICAgICAgICAgIHN0YXRpYyBjb25zdCBTZWNvbmRzIHRpbWVUb0tlZXBI
aWdoUGVyZm9ybWFuY2VHUFVBbGl2ZSB7IDEwX3MgfTsKKyAgICAgICAgICAgIG1fZGlzYWJsZUhp
Z2hQZXJmb3JtYW5jZUdQVVRpbWVyLnN0YXJ0T25lU2hvdCh0aW1lVG9LZWVwSGlnaFBlcmZvcm1h
bmNlR1BVQWxpdmUpOwogICAgICAgICB9CiAgICAgfQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvQml0bWFwVGV4dHVyZVBvb2wuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0JpdG1hcFRleHR1cmVQ
b29sLmNwcAppbmRleCAwMGNjOGVlMzZkYzVhN2VlOTA4YzQ3YTc0MjNlYjdkZDNjNTg0ZjEwLi44
ZTM1ZmVmMGViNGYyMWI4N2UwM2Q4ZGYzYWNlMDc0NjFkNTBhOWVlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvQml0bWFwVGV4dHVyZVBvb2wuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9CaXRtYXBUZXh0
dXJlUG9vbC5jcHAKQEAgLTMzLDggKzMzLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1z
dGF0aWMgY29uc3QgZG91YmxlIHNfcmVsZWFzZVVudXNlZFNlY29uZHNUb2xlcmFuY2UgPSAzOwot
c3RhdGljIGNvbnN0IGRvdWJsZSBzX3JlbGVhc2VVbnVzZWRUZXh0dXJlc1RpbWVySW50ZXJ2YWwg
PSAwLjU7CitzdGF0aWMgY29uc3QgZG91YmxlIHJlbGVhc2VVbnVzZWRTZWNvbmRzVG9sZXJhbmNl
ID0gMzsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHJlbGVhc2VVbnVzZWRUZXh0dXJlc1RpbWVySW50
ZXJ2YWwgeyA1MDBfbXMgfTsKIAogI2lmIFVTRShURVhUVVJFX01BUFBFUl9HTCkKIEJpdG1hcFRl
eHR1cmVQb29sOjpCaXRtYXBUZXh0dXJlUG9vbChSZWZQdHI8R3JhcGhpY3NDb250ZXh0M0Q+JiYg
Y29udGV4dDNEKQpAQCAtNjYsMTMgKzY2LDEzIEBAIHZvaWQgQml0bWFwVGV4dHVyZVBvb2w6OnNj
aGVkdWxlUmVsZWFzZVVudXNlZFRleHR1cmVzKCkKICAgICBpZiAobV9yZWxlYXNlVW51c2VkVGV4
dHVyZXNUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX3JlbGVhc2VV
bnVzZWRUZXh0dXJlc1RpbWVyLnN0YXJ0T25lU2hvdChzX3JlbGVhc2VVbnVzZWRUZXh0dXJlc1Rp
bWVySW50ZXJ2YWwpOworICAgIG1fcmVsZWFzZVVudXNlZFRleHR1cmVzVGltZXIuc3RhcnRPbmVT
aG90KHJlbGVhc2VVbnVzZWRUZXh0dXJlc1RpbWVySW50ZXJ2YWwpOwogfQogCiB2b2lkIEJpdG1h
cFRleHR1cmVQb29sOjpyZWxlYXNlVW51c2VkVGV4dHVyZXNUaW1lckZpcmVkKCkKIHsKLSAgICAv
LyBEZWxldGUgZW50cmllcywgd2hpY2ggaGF2ZSBiZWVuIHVudXNlZCBpbiBzX3JlbGVhc2VVbnVz
ZWRTZWNvbmRzVG9sZXJhbmNlLgotICAgIGRvdWJsZSBtaW5Vc2VkVGltZSA9IG1vbm90b25pY2Fs
bHlJbmNyZWFzaW5nVGltZSgpIC0gc19yZWxlYXNlVW51c2VkU2Vjb25kc1RvbGVyYW5jZTsKKyAg
ICAvLyBEZWxldGUgZW50cmllcywgd2hpY2ggaGF2ZSBiZWVuIHVudXNlZCBpbiByZWxlYXNlVW51
c2VkU2Vjb25kc1RvbGVyYW5jZS4KKyAgICBkb3VibGUgbWluVXNlZFRpbWUgPSBtb25vdG9uaWNh
bGx5SW5jcmVhc2luZ1RpbWUoKSAtIHJlbGVhc2VVbnVzZWRTZWNvbmRzVG9sZXJhbmNlOwogCiAg
ICAgaWYgKCFtX3RleHR1cmVzLmlzRW1wdHkoKSkgewogICAgICAgICBzdGQ6OnNvcnQobV90ZXh0
dXJlcy5iZWdpbigpLCBtX3RleHR1cmVzLmVuZCgpLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVyUHJv
eHkuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVN
YXBwZXJQbGF0Zm9ybUxheWVyUHJveHkuY3BwCmluZGV4IDRkYjc0ODI0OTk2N2M4OTA1MmNlZDBl
ZTRhMjMwYmVkYWU2YTA3ZjguLmRjM2U3NDdlZWRkYjZlNzViOGExZjkzM2EyNjYzMTZhMjhiYzNm
NTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9U
ZXh0dXJlTWFwcGVyUGxhdGZvcm1MYXllclByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXJQcm94eS5j
cHAKQEAgLTM3LDggKzM3LDggQEAKICNpbmNsdWRlIDx3dGYvZ2xpYi9SdW5Mb29wU291cmNlUHJp
b3JpdHkuaD4KICNlbmRpZgogCi1jb25zdCBkb3VibGUgc19yZWxlYXNlVW51c2VkU2Vjb25kc1Rv
bGVyYW5jZSA9IDE7Ci1jb25zdCBkb3VibGUgc19yZWxlYXNlVW51c2VkQnVmZmVyc1RpbWVySW50
ZXJ2YWwgPSAwLjU7CitzdGF0aWMgY29uc3QgZG91YmxlIHJlbGVhc2VVbnVzZWRTZWNvbmRzVG9s
ZXJhbmNlID0gMTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHJlbGVhc2VVbnVzZWRCdWZmZXJzVGlt
ZXJJbnRlcnZhbCA9IHsgNTAwX21zIH07CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMTQ0
LDcgKzE0NCw3IEBAIHN0ZDo6dW5pcXVlX3B0cjxUZXh0dXJlTWFwcGVyUGxhdGZvcm1MYXllckJ1
ZmZlcj4gVGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXJQcm94CiB2b2lkIFRleHR1cmVNYXBwZXJQ
bGF0Zm9ybUxheWVyUHJveHk6OnNjaGVkdWxlUmVsZWFzZVVudXNlZEJ1ZmZlcnMoKQogewogICAg
IGlmICghbV9yZWxlYXNlVW51c2VkQnVmZmVyc1RpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1f
cmVsZWFzZVVudXNlZEJ1ZmZlcnNUaW1lci5zdGFydE9uZVNob3Qoc19yZWxlYXNlVW51c2VkQnVm
ZmVyc1RpbWVySW50ZXJ2YWwpOworICAgICAgICBtX3JlbGVhc2VVbnVzZWRCdWZmZXJzVGltZXIu
c3RhcnRPbmVTaG90KHJlbGVhc2VVbnVzZWRCdWZmZXJzVGltZXJJbnRlcnZhbCk7CiB9CiAKIHZv
aWQgVGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXJQcm94eTo6cmVsZWFzZVVudXNlZEJ1ZmZlcnNU
aW1lckZpcmVkKCkKQEAgLTE1NCw3ICsxNTQsNyBAQCB2b2lkIFRleHR1cmVNYXBwZXJQbGF0Zm9y
bUxheWVyUHJveHk6OnJlbGVhc2VVbnVzZWRCdWZmZXJzVGltZXJGaXJlZCgpCiAgICAgICAgIHJl
dHVybjsKIAogICAgIGF1dG8gYnVmZmVycyA9IFdURk1vdmUobV91c2VkQnVmZmVycyk7Ci0gICAg
ZG91YmxlIG1pblVzZWRUaW1lID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkgLSBzX3Jl
bGVhc2VVbnVzZWRTZWNvbmRzVG9sZXJhbmNlOworICAgIGRvdWJsZSBtaW5Vc2VkVGltZSA9IG1v
bm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpIC0gcmVsZWFzZVVudXNlZFNlY29uZHNUb2xlcmFu
Y2U7CiAKICAgICBmb3IgKGF1dG8mIGJ1ZmZlciA6IGJ1ZmZlcnMpIHsKICAgICAgICAgaWYgKGJ1
ZmZlciAmJiBidWZmZXItPmxhc3RVc2VkVGltZSgpID49IG1pblVzZWRUaW1lKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nv
b3JkaW5hdGVkSW1hZ2VCYWNraW5nLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEltYWdlQmFja2luZy5jcHAKaW5kZXgg
M2Y1NjczZThmZDUzNjVmMDhjZmQ2OWVmYzNmYWFlYzQzMjMzNmE2MS4uZjUyOTQ3NTVhMjMzNjU1
YzMwNjY1NzFjZjYzOWJlY2I1MGMwMzA1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkSW1hZ2VCYWNraW5n
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRp
bmF0ZWQvQ29vcmRpbmF0ZWRJbWFnZUJhY2tpbmcuY3BwCkBAIC0xNDQsNyArMTQ0LDcgQEAgdm9p
ZCBDb29yZGluYXRlZEltYWdlQmFja2luZzo6cmVsZWFzZVN1cmZhY2VJZk5lZWRlZCgpCiAgICAg
bV9zdXJmYWNlID0gbnVsbHB0cjsKIH0KIAotc3RhdGljIGNvbnN0IGRvdWJsZSBjbGVhckNvbnRl
bnRzVGltZXJJbnRlcnZhbCA9IDM7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBjbGVhckNvbnRlbnRz
VGltZXJJbnRlcnZhbCB7IDNfcyB9OwogCiB2b2lkIENvb3JkaW5hdGVkSW1hZ2VCYWNraW5nOjp1
cGRhdGVWaXNpYmlsaXR5SWZOZWVkZWQoYm9vbCYgY2hhbmdlZFRvVmlzaWJsZSkKIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9TY3JvbGxBbmltYXRvckd0ay5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvU2Nyb2xsQW5pbWF0b3JHdGsuY3BwCmluZGV4
IDQ0ZTQ3MzQ4MmRmYWEyMDM4OTQ2N2M3MmVjOTMwMDc4ZDVhODBjNTkuLjA0ZDgwMDRhNmJhMjlm
YzUzMWYxNTRkOWRhMGExODVjM2JjZDdmMjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2d0ay9TY3JvbGxBbmltYXRvckd0ay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3RrL1Njcm9sbEFuaW1hdG9yR3RrLmNwcApAQCAtMzgsOCArMzgsOCBAQAogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBkb3VibGUgb3ZlcmZsb3dTY3JvbGxiYXJz
QW5pbWF0aW9uRHVyYXRpb24gPSAxOwotc3RhdGljIGNvbnN0IGRvdWJsZSBvdmVyZmxvd1Njcm9s
bGJhcnNBbmltYXRpb25IaWRlRGVsYXkgPSAyOworc3RhdGljIGNvbnN0IFNlY29uZHMgb3ZlcmZs
b3dTY3JvbGxiYXJzQW5pbWF0aW9uRHVyYXRpb24geyAxX3MgfTsKK3N0YXRpYyBjb25zdCBTZWNv
bmRzIG92ZXJmbG93U2Nyb2xsYmFyc0FuaW1hdGlvbkhpZGVEZWxheSB7IDJfcyB9OwogCiBzdGQ6
OnVuaXF1ZV9wdHI8U2Nyb2xsQW5pbWF0b3I+IFNjcm9sbEFuaW1hdG9yOjpjcmVhdGUoU2Nyb2xs
YWJsZUFyZWEmIHNjcm9sbGFibGVBcmVhKQogewpAQCAtMTc2LDEwICsxNzYsMTAgQEAgdm9pZCBT
Y3JvbGxBbmltYXRvckd0azo6b3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvblRpbWVyRmlyZWQoKQog
ICAgIGlmIChtX292ZXJsYXlTY3JvbGxiYXJzTG9ja2VkKQogICAgICAgICByZXR1cm47CiAKLSAg
ICBkb3VibGUgY3VycmVudFRpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKKyAg
ICBNb25vdG9uaWNUaW1lIGN1cnJlbnRUaW1lID0gTW9ub3RvbmljVGltZTo6bm93KCk7CiAgICAg
ZG91YmxlIHByb2dyZXNzID0gMTsKICAgICBpZiAoY3VycmVudFRpbWUgPCBtX292ZXJsYXlTY3Jv
bGxiYXJBbmltYXRpb25FbmRUaW1lKQotICAgICAgICBwcm9ncmVzcyA9IChjdXJyZW50VGltZSAt
IG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvblN0YXJ0VGltZSkgLyAobV9vdmVybGF5U2Nyb2xs
YmFyQW5pbWF0aW9uRW5kVGltZSAtIG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvblN0YXJ0VGlt
ZSk7CisgICAgICAgIHByb2dyZXNzID0gKGN1cnJlbnRUaW1lIC0gbV9vdmVybGF5U2Nyb2xsYmFy
QW5pbWF0aW9uU3RhcnRUaW1lKS52YWx1ZSgpIC8gKG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlv
bkVuZFRpbWUgLSBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25TdGFydFRpbWUpLnNlY29uZHNT
aW5jZUVwb2NoKCkudmFsdWUoKTsKICAgICBwcm9ncmVzcyA9IG1fb3ZlcmxheVNjcm9sbGJhckFu
aW1hdGlvblNvdXJjZSArIChlYXNlT3V0Q3ViaWMocHJvZ3Jlc3MpICogKG1fb3ZlcmxheVNjcm9s
bGJhckFuaW1hdGlvblRhcmdldCAtIG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvblNvdXJjZSkp
OwogICAgIGlmIChwcm9ncmVzcyAhPSBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25DdXJyZW50
KSB7CiAgICAgICAgIG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvbkN1cnJlbnQgPSBwcm9ncmVz
czsKQEAgLTE4OCw5ICsxODgsOSBAQCB2b2lkIFNjcm9sbEFuaW1hdG9yR3RrOjpvdmVybGF5U2Ny
b2xsYmFyQW5pbWF0aW9uVGltZXJGaXJlZCgpCiAKICAgICBpZiAobV9vdmVybGF5U2Nyb2xsYmFy
QW5pbWF0aW9uQ3VycmVudCAhPSBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25UYXJnZXQpIHsK
ICAgICAgICAgc3RhdGljIGNvbnN0IGRvdWJsZSBmcmFtZVJhdGUgPSA2MDsKLSAgICAgICAgc3Rh
dGljIGNvbnN0IGRvdWJsZSB0aWNrVGltZSA9IDEgLyBmcmFtZVJhdGU7Ci0gICAgICAgIHN0YXRp
YyBjb25zdCBkb3VibGUgbWluaW11bVRpbWVySW50ZXJ2YWwgPSAuMDAxOwotICAgICAgICBkb3Vi
bGUgZGVsdGFUb05leHRGcmFtZSA9IHN0ZDo6bWF4KHRpY2tUaW1lIC0gKG1vbm90b25pY2FsbHlJ
bmNyZWFzaW5nVGltZSgpIC0gY3VycmVudFRpbWUpLCBtaW5pbXVtVGltZXJJbnRlcnZhbCk7Cisg
ICAgICAgIHN0YXRpYyBjb25zdCBTZWNvbmRzIHRpY2tUaW1lID0gMV9zIC8gZnJhbWVSYXRlOwor
ICAgICAgICBzdGF0aWMgY29uc3QgU2Vjb25kcyBtaW5pbXVtVGltZXJJbnRlcnZhbCA9IDFfbXM7
CisgICAgICAgIFNlY29uZHMgZGVsdGFUb05leHRGcmFtZSA9IHN0ZDo6bWF4KHRpY2tUaW1lIC0g
KE1vbm90b25pY1RpbWU6Om5vdygpIC0gY3VycmVudFRpbWUpLCBtaW5pbXVtVGltZXJJbnRlcnZh
bCk7CiAgICAgICAgIG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvblRpbWVyLnN0YXJ0T25lU2hv
dChkZWx0YVRvTmV4dEZyYW1lKTsKICAgICB9IGVsc2UKICAgICAgICAgaGlkZU92ZXJsYXlTY3Jv
bGxiYXJzKCk7CkBAIC0yMTEsNyArMjExLDcgQEAgdm9pZCBTY3JvbGxBbmltYXRvckd0azo6c2hv
d092ZXJsYXlTY3JvbGxiYXJzKCkKICAgICBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25Tb3Vy
Y2UgPSBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25DdXJyZW50OwogICAgIG1fb3ZlcmxheVNj
cm9sbGJhckFuaW1hdGlvblRhcmdldCA9IDE7CiAgICAgaWYgKG1fb3ZlcmxheVNjcm9sbGJhckFu
aW1hdGlvblRhcmdldCAhPSBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25DdXJyZW50KSB7Ci0g
ICAgICAgIG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvblN0YXJ0VGltZSA9IG1vbm90b25pY2Fs
bHlJbmNyZWFzaW5nVGltZSgpOworICAgICAgICBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25T
dGFydFRpbWUgPSBNb25vdG9uaWNUaW1lOjpub3coKTsKICAgICAgICAgbV9vdmVybGF5U2Nyb2xs
YmFyQW5pbWF0aW9uRW5kVGltZSA9IG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvblN0YXJ0VGlt
ZSArIG92ZXJmbG93U2Nyb2xsYmFyc0FuaW1hdGlvbkR1cmF0aW9uOwogICAgICAgICBtX292ZXJs
YXlTY3JvbGxiYXJBbmltYXRpb25UaW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICB9IGVsc2UK
QEAgLTIzMSw3ICsyMzEsNyBAQCB2b2lkIFNjcm9sbEFuaW1hdG9yR3RrOjpoaWRlT3ZlcmxheVNj
cm9sbGJhcnMoKQogICAgIG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvblRhcmdldCA9IDA7CiAg
ICAgaWYgKG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvblRhcmdldCA9PSBtX292ZXJsYXlTY3Jv
bGxiYXJBbmltYXRpb25DdXJyZW50KQogICAgICAgICByZXR1cm47Ci0gICAgbV9vdmVybGF5U2Ny
b2xsYmFyQW5pbWF0aW9uU3RhcnRUaW1lID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkg
KyBvdmVyZmxvd1Njcm9sbGJhcnNBbmltYXRpb25IaWRlRGVsYXk7CisgICAgbV9vdmVybGF5U2Ny
b2xsYmFyQW5pbWF0aW9uU3RhcnRUaW1lID0gTW9ub3RvbmljVGltZTo6bm93KCkgKyBvdmVyZmxv
d1Njcm9sbGJhcnNBbmltYXRpb25IaWRlRGVsYXk7CiAgICAgbV9vdmVybGF5U2Nyb2xsYmFyQW5p
bWF0aW9uRW5kVGltZSA9IG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvblN0YXJ0VGltZSArIG92
ZXJmbG93U2Nyb2xsYmFyc0FuaW1hdGlvbkR1cmF0aW9uICsgb3ZlcmZsb3dTY3JvbGxiYXJzQW5p
bWF0aW9uSGlkZURlbGF5OwogICAgIG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvblRpbWVyLnN0
YXJ0T25lU2hvdChvdmVyZmxvd1Njcm9sbGJhcnNBbmltYXRpb25IaWRlRGVsYXkpOwogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1Njcm9sbEFuaW1hdG9yR3RrLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvU2Nyb2xsQW5pbWF0b3JHdGsuaAppbmRleCA3
MGU1YjczZjlkZTEzZDIxMGNiOTkzZWU5MzU3ZDczOTJkZDMyMmE4Li5jNDI1M2U1YWRiOTFmNzA0
MTMzMDQ2ODQxYzI5NzRiZjdkZDhjZWNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ndGsvU2Nyb2xsQW5pbWF0b3JHdGsuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ndGsvU2Nyb2xsQW5pbWF0b3JHdGsuaApAQCAtODAsOCArODAsOCBAQCBwcml2YXRlOgogICAg
IGRvdWJsZSBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25Tb3VyY2UgeyAwIH07CiAgICAgZG91
YmxlIG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvblRhcmdldCB7IDAgfTsKICAgICBkb3VibGUg
bV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uQ3VycmVudCB7IDAgfTsKLSAgICBkb3VibGUgbV9v
dmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uU3RhcnRUaW1lIHsgMCB9OwotICAgIGRvdWJsZSBtX292
ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25FbmRUaW1lIHsgMCB9OworICAgIE1vbm90b25pY1RpbWUg
bV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uU3RhcnRUaW1lOworICAgIE1vbm90b25pY1RpbWUg
bV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uRW5kVGltZTsKIH07CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJWaWRl
b0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdC5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lv
cy9XZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdC5tbQppbmRleCBmM2ZjMmFlMjg0OGY0
OTc3MTk4NTBhOTk4ZmQwYzk5M2ZiMDc0NTRhLi4zZGIzYzAyNWViYzNmY2RmODM5MGY1NzU5YzVl
NDIzMDg5MGM5N2UwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2Vi
VmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vaW9zL1dlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0Lm1tCkBAIC04Miw3ICs4
Miw3IEBAIHN0YXRpYyBjb25zdCBjaGFyKiBib29sU3RyaW5nKGJvb2wgdmFsKQogfQogI2VuZGlm
CiAKLXN0YXRpYyBjb25zdCBkb3VibGUgRGVmYXVsdFdhdGNoZG9nVGltZXJJbnRlcnZhbCA9IDE7
CitzdGF0aWMgY29uc3QgU2Vjb25kcyBkZWZhdWx0V2F0Y2hkb2dUaW1lckludGVydmFsIHsgMV9z
IH07CiAKIEBjbGFzcyBXZWJBVk1lZGlhU2VsZWN0aW9uT3B0aW9uOwogCkBAIC05ODYsNyArOTg2
LDcgQEAgYm9vbCBXZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6c2hvdWxkRXhpdEZ1
bGxzY3JlZW5XaXRoUmVhc29uKFdlYlZpZGVvRnUKICAgICBtX3ZpZGVvRnVsbHNjcmVlbk1vZGVs
LT5yZXF1ZXN0RnVsbHNjcmVlbk1vZGUoSFRNTE1lZGlhRWxlbWVudEVudW1zOjpWaWRlb0Z1bGxz
Y3JlZW5Nb2RlTm9uZSwgcmVhc29uID09IEV4aXRGdWxsU2NyZWVuUmVhc29uOjpEb25lQnV0dG9u
VGFwcGVkKTsKIAogICAgIGlmICghbV93YXRjaGRvZ1RpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAg
IG1fd2F0Y2hkb2dUaW1lci5zdGFydE9uZVNob3QoRGVmYXVsdFdhdGNoZG9nVGltZXJJbnRlcnZh
bCk7CisgICAgICAgIG1fd2F0Y2hkb2dUaW1lci5zdGFydE9uZVNob3QoZGVmYXVsdFdhdGNoZG9n
VGltZXJJbnRlcnZhbCk7CiAKICAgICByZXR1cm4gZmFsc2U7CiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMubW0gYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMubW0KaW5kZXggOTYyNGQwNWQxOGU2
ZmQyNTZlN2FlOTExMjY5M2E1NDAxODgyMDU0OC4uMGRhMzQ5YmZmYWYxZjFhYzk4ODg3NjVhOWMw
Yjg3NjFjY2M2NGRmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Nj
cm9sbEFuaW1hdG9yTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3Jv
bGxBbmltYXRvck1hYy5tbQpAQCAtMTMzOCw3ICsxMzM4LDcgQEAgdm9pZCBTY3JvbGxBbmltYXRv
ck1hYzo6dXBkYXRlU2Nyb2xsZXJTdHlsZSgpCiAKIHZvaWQgU2Nyb2xsQW5pbWF0b3JNYWM6OnN0
YXJ0U2Nyb2xsYmFyUGFpbnRUaW1lcigpCiB7Ci0gICAgbV9pbml0aWFsU2Nyb2xsYmFyUGFpbnRU
aW1lci5zdGFydE9uZVNob3QoMC4xKTsKKyAgICBtX2luaXRpYWxTY3JvbGxiYXJQYWludFRpbWVy
LnN0YXJ0T25lU2hvdCgxMDBfbXMpOwogfQogCiBib29sIFNjcm9sbEFuaW1hdG9yTWFjOjpzY3Jv
bGxiYXJQYWludFRpbWVySXNBY3RpdmUoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbW9jay9NZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyTW9jay5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXJNb2NrLmNw
cAppbmRleCAxYTYwY2EyNGJiYzYwOTZiN2E5NWUyMTA2NjA0OTUxMmZlMmYyNTViLi41YWFhODRk
YzlhMGFjYzI5MDZmYjA5M2UxYmY4MjRiNmU3OTgwYzMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tb2NrL01lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXJNb2NrLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXJN
b2NrLmNwcApAQCAtMzcsNyArMzcsNyBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMgY29uc3QgZG91YmxlIHRpbWVySW50ZXJ2YWwgPSAx
LjAgLyAxMC4wOworc3RhdGljIGNvbnN0IFNlY29uZHMgdGltZXJJbnRlcnZhbCB7IDEwMF9tcyB9
OwogCiBNZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyTW9jazo6TWVkaWFQbGF5YmFja1RhcmdldFBp
Y2tlck1vY2soTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlcjo6Q2xpZW50JiBjbGllbnQpCiAgICAg
OiBNZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyKGNsaWVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21vY2svUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1vY2suY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9QbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyTW9j
ay5jcHAKaW5kZXggZjNiYzcxYzBmNzMzZDI4MzNlYzM0ODVlODk0OTQ0OGQzOGRkM2YxMS4uNjdm
OTdkZDYxY2RkNjMxZWFjOThjZWEwZDk0NjIzNjAyMjc5ZTBiZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbW9jay9QbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyTW9jay5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9QbGF0Zm9ybVNwZWVjaFN5bnRoZXNp
emVyTW9jay5jcHAKQEAgLTY4LDcgKzY4LDcgQEAgdm9pZCBQbGF0Zm9ybVNwZWVjaFN5bnRoZXNp
emVyTW9jazo6c3BlYWsoUmVmUHRyPFBsYXRmb3JtU3BlZWNoU3ludGhlc2lzVXR0ZXJhbmMKICAg
ICBjbGllbnQoKS0+Ym91bmRhcnlFdmVudE9jY3VycmVkKCptX3V0dGVyYW5jZSwgU3BlZWNoU2Vu
dGVuY2VCb3VuZGFyeSwgbV91dHRlcmFuY2UtPnRleHQoKS5sZW5ndGgoKSk7CiAKICAgICAvLyBH
aXZlIHRoZSBmYWtlIHNwZWVjaCBqb2Igc29tZSB0aW1lIHNvIHRoYXQgcGF1c2UgYW5kIG90aGVy
IGZ1bmN0aW9ucyBoYXZlIHRpbWUgdG8gYmUgY2FsbGVkLgotICAgIG1fc3BlYWtpbmdGaW5pc2hl
ZFRpbWVyLnN0YXJ0T25lU2hvdCguMSk7CisgICAgbV9zcGVha2luZ0ZpbmlzaGVkVGltZXIuc3Rh
cnRPbmVTaG90KDEwMF9tcyk7CiB9CiAKIHZvaWQgUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1v
Y2s6OmNhbmNlbCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1Rp
bWVyRXZlbnRCYXNlZE1vY2suaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svVGltZXJF
dmVudEJhc2VkTW9jay5oCmluZGV4IGRlMGU4YTlmZDY1OTZiMmUyYWI3MzcwMzA0N2RlNWVkMzdm
ZmVjYWMuLmRkY2QyNzVhODJkNDJiNDYxZjg0NWQzMzQ0ZmRlMWI5NDA4ZTRmMmEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svVGltZXJFdmVudEJhc2VkTW9jay5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svVGltZXJFdmVudEJhc2VkTW9jay5oCkBA
IC02Myw3ICs2Myw3IEBAIHB1YmxpYzoKICAgICAgICAgLCBtX3RpbWVyKCp0aGlzLCAmVGltZXJF
dmVudDo6dGltZXJGaXJlZCkKICAgICAgICAgLCBtX25vdGlmaWVyKG5vdGlmaWVyKQogICAgIHsK
LSAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMC41KTsKKyAgICAgICAgbV90aW1lci5zdGFy
dE9uZVNob3QoNTAwX21zKTsKICAgICB9CiAKICAgICB2aXJ0dWFsIH5UaW1lckV2ZW50KCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRE5TUmVzb2x2ZVF1ZXVl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRE5TUmVzb2x2ZVF1ZXVlLmNw
cAppbmRleCA1ODc3M2FhMzMyOTFjYTdhNjg5NTc1ODZlZTgyMDNjNmJhYzJjZmYzLi5hOGMyZGY0
MGMzYmZiYWM1ZjVjMzkyOWJjYTMzOTMwMGYwYTAyNjE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL0ROU1Jlc29sdmVRdWV1ZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9ETlNSZXNvbHZlUXVldWUuY3BwCkBAIC0zNyw3ICszNyw3
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHN0YXRpYyBjb25zdCBpbnQgZ05hbWVzVG9SZXNvbHZl
SW1tZWRpYXRlbHkgPSA0OwogCiAvLyBDb2FsZXNjZSBwcmVmZXRjaCByZXF1ZXN0cyBmb3IgdGhp
cyBsb25nIGJlZm9yZSBzZW5kaW5nIHRoZW0gb3V0Lgotc3RhdGljIGNvbnN0IGRvdWJsZSBnQ29h
bGVzY2VEZWxheUluU2Vjb25kcyA9IDEuMDsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIGNvYWxlc2Nl
RGVsYXkgeyAxX3MgfTsKIAogLy8gU2VuZGluZyBtYW55IEROUyByZXF1ZXN0cyBhdCBvbmNlIGNh
biBvdmVyd2hlbG0gc29tZSBnYXRld2F5cy4gU2VlIDxyZGFyOi8vODEwNTU1MD4gZm9yIHNwZWNp
ZmljIENGTkVUIGlzc3VlcyB3aXRoIENGSG9zdCB0aHJvdHRsaW5nLgogc3RhdGljIGNvbnN0IGlu
dCBnTWF4U2ltdWx0YW5lb3VzUmVxdWVzdHMgPSA4OwpAQCAtNDgsNyArNDgsNyBAQCBzdGF0aWMg
Y29uc3QgaW50IGdNYXhTaW11bHRhbmVvdXNSZXF1ZXN0cyA9IDg7CiBzdGF0aWMgY29uc3QgaW50
IGdNYXhSZXF1ZXN0c1RvUXVldWUgPSA2NDsKIAogLy8gSWYgdGhlcmUgd2VyZSBxdWV1ZWQgbmFt
ZXMgdGhhdCBjb3VsZG4ndCBiZSBzZW50IHNpbXVsdGFuZW91c2x5LCBjaGVjayB0aGUgc3RhdGUg
b2YgcmVzb2x2ZXJzIGFmdGVyIHRoaXMgZGVsYXkuCi1zdGF0aWMgY29uc3QgZG91YmxlIGdSZXRy
eVJlc29sdmluZ0luU2Vjb25kcyA9IDAuMTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHJlc29sdmlu
Z1JldHJ5RGVsYXkgeyAxMDBfbXMgfTsKIAogRE5TUmVzb2x2ZVF1ZXVlJiBETlNSZXNvbHZlUXVl
dWU6OnNpbmdsZXRvbigpCiB7CkBAIC0xMDEsNyArMTAxLDcgQEAgdm9pZCBETlNSZXNvbHZlUXVl
dWU6OmFkZChjb25zdCBTdHJpbmcmIGhvc3RuYW1lKQogICAgIGlmIChtX25hbWVzLnNpemUoKSA8
IGdNYXhSZXF1ZXN0c1RvUXVldWUpIHsKICAgICAgICAgbV9uYW1lcy5hZGQoaG9zdG5hbWUpOwog
ICAgICAgICBpZiAoIW1fdGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgICAgIG1fdGltZXIuc3Rh
cnRPbmVTaG90KGdDb2FsZXNjZURlbGF5SW5TZWNvbmRzKTsKKyAgICAgICAgICAgIG1fdGltZXIu
c3RhcnRPbmVTaG90KGNvYWxlc2NlRGVsYXkpOwogICAgIH0KIH0KIApAQCAtMTIyLDcgKzEyMiw3
IEBAIHZvaWQgRE5TUmVzb2x2ZVF1ZXVlOjp0aW1lckZpcmVkKCkKICAgICB9CiAKICAgICBpZiAo
IW1fbmFtZXMuaXNFbXB0eSgpKQotICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChnUmV0cnlS
ZXNvbHZpbmdJblNlY29uZHMpOworICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChyZXNvbHZp
bmdSZXRyeURlbGF5KTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9QaW5nSGFuZGxlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL1BpbmdIYW5kbGUuaAppbmRleCAxN2M1NGUwOTY5ZDYzYmRk
MGUwM2Y3YmZlZTQ4NDMzZDc0NTVhYTJkLi5jYmFmYzA5MzU2OWZlZTEzNzhkODMzZDM2N2YzNDY0
YTljNDU4YjYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Bp
bmdIYW5kbGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1BpbmdIYW5k
bGUuaApAQCAtNTMsNyArNTMsNyBAQCBwdWJsaWM6CiAKICAgICAgICAgLy8gSWYgdGhlIHNlcnZl
ciBuZXZlciByZXNwb25kcywgdGhpcyBvYmplY3Qgd2lsbCBoYW5nIGFyb3VuZCBmb3JldmVyLgog
ICAgICAgICAvLyBTZXQgYSB2ZXJ5IGdlbmVyb3VzIHRpbWVvdXQsIGp1c3QgaW4gY2FzZS4KLSAg
ICAgICAgbV90aW1lb3V0VGltZXIuc3RhcnRPbmVTaG90KDYwMDAwKTsKKyAgICAgICAgbV90aW1l
b3V0VGltZXIuc3RhcnRPbmVTaG90KDYwMDAwX3MpOwogICAgIH0KIAogcHJpdmF0ZToKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9SZXNvdXJjZUhhbmRs
ZU1hbmFnZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL1Jlc291
cmNlSGFuZGxlTWFuYWdlci5jcHAKaW5kZXggYWZiYTU1ZjZmZTIxNDBkZGZmMzdiNWVkMWY5OTZl
MGU3Yjc4NjZmOS4uY2FjZmJiNTc1ZTk4Yjg1MGIwMmIwYWQzMzMxMGVlYzhhZWU0MTkzMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL1Jlc291cmNlSGFu
ZGxlTWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJs
L1Jlc291cmNlSGFuZGxlTWFuYWdlci5jcHAKQEAgLTgzLDcgKzgzLDcgQEAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogY29uc3QgaW50IHNlbGVjdFRpbWVvdXRNUyA9IDU7Ci1jb25zdCBkb3VibGUg
cG9sbFRpbWVTZWNvbmRzID0gMC4wNTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHBvbGxUaW1lIHsg
NTBfbXMgfTsKIGNvbnN0IGludCBtYXhSdW5uaW5nSm9icyA9IDEyODsKIGNvbnN0IGNoYXIqIGNv
bnN0IGVycm9yRG9tYWluQ3VybCA9ICJDdXJsRXJyb3JEb21haW4iOwogCkBAIC03MjcsNyArNzI3
LDcgQEAgdm9pZCBSZXNvdXJjZUhhbmRsZU1hbmFnZXI6OmRvd25sb2FkVGltZXJDYWxsYmFjaygp
CiAgICAgYm9vbCBzdGFydGVkID0gc3RhcnRTY2hlZHVsZWRKb2JzKCk7IC8vIG5ldyBqb2JzIG1p
Z2h0IGhhdmUgYmVlbiBhZGRlZCBpbiB0aGUgbWVhbnRpbWUKIAogICAgIGlmICghbV9kb3dubG9h
ZFRpbWVyLmlzQWN0aXZlKCkgJiYgKHN0YXJ0ZWQgfHwgKHJ1bm5pbmdIYW5kbGVzID4gMCkpKQot
ICAgICAgICBtX2Rvd25sb2FkVGltZXIuc3RhcnRPbmVTaG90KHBvbGxUaW1lU2Vjb25kcyk7Cisg
ICAgICAgIG1fZG93bmxvYWRUaW1lci5zdGFydE9uZVNob3QocG9sbFRpbWUpOwogfQogCiB2b2lk
IFJlc291cmNlSGFuZGxlTWFuYWdlcjo6c2V0UHJveHlJbmZvKGNvbnN0IFN0cmluZyYgaG9zdCwK
QEAgLTg3Nyw3ICs4NzcsNyBAQCB2b2lkIFJlc291cmNlSGFuZGxlTWFuYWdlcjo6YWRkKFJlc291
cmNlSGFuZGxlKiBqb2IpCiAgICAgam9iLT5yZWYoKTsKICAgICBtX3Jlc291cmNlSGFuZGxlTGlz
dC5hcHBlbmQoam9iKTsKICAgICBpZiAoIW1fZG93bmxvYWRUaW1lci5pc0FjdGl2ZSgpKQotICAg
ICAgICBtX2Rvd25sb2FkVGltZXIuc3RhcnRPbmVTaG90KHBvbGxUaW1lU2Vjb25kcyk7CisgICAg
ICAgIG1fZG93bmxvYWRUaW1lci5zdGFydE9uZVNob3QocG9sbFRpbWUpOwogfQogCiBib29sIFJl
c291cmNlSGFuZGxlTWFuYWdlcjo6cmVtb3ZlU2NoZWR1bGVkSm9iKFJlc291cmNlSGFuZGxlKiBq
b2IpCkBAIC0xMjM4LDcgKzEyMzgsNyBAQCB2b2lkIFJlc291cmNlSGFuZGxlTWFuYWdlcjo6Y2Fu
Y2VsKFJlc291cmNlSGFuZGxlKiBqb2IpCiAgICAgUmVzb3VyY2VIYW5kbGVJbnRlcm5hbCogZCA9
IGpvYi0+Z2V0SW50ZXJuYWwoKTsKICAgICBkLT5tX2NhbmNlbGxlZCA9IHRydWU7CiAgICAgaWYg
KCFtX2Rvd25sb2FkVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9kb3dubG9hZFRpbWVyLnN0
YXJ0T25lU2hvdChwb2xsVGltZVNlY29uZHMpOworICAgICAgICBtX2Rvd25sb2FkVGltZXIuc3Rh
cnRPbmVTaG90KHBvbGxUaW1lKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvTmV0d29ya1N0YXRlTm90
aWZpZXJNYWMuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvTmV0d29y
a1N0YXRlTm90aWZpZXJNYWMuY3BwCmluZGV4IDU1YWRlMjE4YzEzODg4YzBjYzI2ZWJlY2I3OTI2
M2RjYTcwMDkxNmQuLjkxMmY2N2JmMTg2NmQ0NDZjZGVlNWY3ODhmY2M2MzI4OWNlMWU1MTUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL05ldHdvcmtTdGF0
ZU5vdGlmaWVyTWFjLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21h
Yy9OZXR3b3JrU3RhdGVOb3RpZmllck1hYy5jcHAKQEAgLTMxLDcgKzMxLDcgQEAKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCi1zdGF0aWMgY29uc3QgZG91YmxlIFN0YXRlQ2hhbmdlVGltZXJJbnRl
cnZhbCA9IDIuMDsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIFN0YXRlQ2hhbmdlVGltZXJJbnRlcnZh
bCB7IDJfcyB9OwogCiB2b2lkIE5ldHdvcmtTdGF0ZU5vdGlmaWVyOjp1cGRhdGVTdGF0ZSgpCiB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3Vy
Y2VIYW5kbGVTb3VwLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9S
ZXNvdXJjZUhhbmRsZVNvdXAuY3BwCmluZGV4IDEzOWUwOWRiNzJlYWNiMjEzYmEzNjNjZGYzN2U4
YmIyMjhkMmUzNDEuLjlkNmQ1YzQwNzc0MTEwNTk0N2VjNzQ2YjFkMTlkNzhkM2UyY2VjM2YgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhh
bmRsZVNvdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9S
ZXNvdXJjZUhhbmRsZVNvdXAuY3BwCkBAIC03NzEsNyArNzcxLDcgQEAgdm9pZCBSZXNvdXJjZUhh
bmRsZTo6c2VuZFBlbmRpbmdSZXF1ZXN0KCkKICNlbmRpZgogCiAgICAgaWYgKGQtPm1fZmlyc3RS
ZXF1ZXN0LnRpbWVvdXRJbnRlcnZhbCgpID4gMCkKLSAgICAgICAgZC0+bV90aW1lb3V0U291cmNl
LnN0YXJ0T25lU2hvdChkLT5tX2ZpcnN0UmVxdWVzdC50aW1lb3V0SW50ZXJ2YWwoKSk7CisgICAg
ICAgIGQtPm1fdGltZW91dFNvdXJjZS5zdGFydE9uZVNob3QoMV9zICogZC0+bV9maXJzdFJlcXVl
c3QudGltZW91dEludGVydmFsKCkpOwogCiAgICAgLy8gQmFsYW5jZWQgYnkgYSBkZXJlZigpIGlu
IGNsZWFudXBTb3VwUmVxdWVzdE9wZXJhdGlvbiwgd2hpY2ggc2hvdWxkIGFsd2F5cyBydW4uCiAg
ICAgcmVmKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW1hZ2VRdWFs
aXR5Q29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW1hZ2VRdWFsaXR5
Q29udHJvbGxlci5jcHAKaW5kZXggMWJjODJlOTdmODc5MGVjMGQ3YTE5ZTA0NGZlZGZjNzk5YzVl
MmJhZC4uNzU0MTVkMDIzZmM3NGMzZGZmNGI3OTdhYmEzMGZkNGU1MzU5MmRlMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0ltYWdlUXVhbGl0eUNvbnRyb2xsZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbWFnZVF1YWxpdHlDb250cm9sbGVyLmNwcApA
QCAtMzUsNyArMzUsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdGF0aWMgY29uc3QgZG91
YmxlIGNJbnRlcnBvbGF0aW9uQ3V0b2ZmID0gODAwLiAqIDgwMC47Ci1zdGF0aWMgY29uc3QgZG91
YmxlIGNMb3dRdWFsaXR5VGltZVRocmVzaG9sZCA9IDAuNTAwOyAvLyA1MDAgbXMKK3N0YXRpYyBj
b25zdCBTZWNvbmRzIGxvd1F1YWxpdHlUaW1lVGhyZXNob2xkIHsgNTAwX21zIH07CiAKIEltYWdl
UXVhbGl0eUNvbnRyb2xsZXI6OkltYWdlUXVhbGl0eUNvbnRyb2xsZXIoY29uc3QgUmVuZGVyVmll
dyYgcmVuZGVyVmlldykKICAgICA6IG1fcmVuZGVyVmlldyhyZW5kZXJWaWV3KQpAQCAtOTQsNyAr
OTQsNyBAQCB2b2lkIEltYWdlUXVhbGl0eUNvbnRyb2xsZXI6OmhpZ2hRdWFsaXR5UmVwYWludFRp
bWVyRmlyZWQoKQogCiB2b2lkIEltYWdlUXVhbGl0eUNvbnRyb2xsZXI6OnJlc3RhcnRUaW1lcigp
CiB7Ci0gICAgbV90aW1lci5zdGFydE9uZVNob3QoY0xvd1F1YWxpdHlUaW1lVGhyZXNob2xkKTsK
KyAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChsb3dRdWFsaXR5VGltZVRocmVzaG9sZCk7CiB9CiAK
IHN0ZDo6b3B0aW9uYWw8SW50ZXJwb2xhdGlvblF1YWxpdHk+IEltYWdlUXVhbGl0eUNvbnRyb2xs
ZXI6OmludGVycG9sYXRpb25RdWFsaXR5RnJvbVN0eWxlKGNvbnN0IFJlbmRlclN0eWxlJiBzdHls
ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBv
c2l0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRv
ci5jcHAKaW5kZXggZWFjNDJlMjM1ZTNjOWJhZTA5MTNkMTE4ZjI1NzRkODhlZmFlNzcxNy4uMWE4
MzhkODdjNWVmYTU3ZmQ0YzJiZDAxMDhiOGVmNmU5ZTVlMzJiNCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAKQEAgLTkyLDExICs5
MiwxMSBAQCBzdGF0aWMgY29uc3QgaW50IGNhbnZhc0FyZWFUaHJlc2hvbGRSZXF1aXJpbmdDb21w
b3NpdGluZyA9IDUwICogMTAwOwogI2VuZGlmCiAvLyBEdXJpbmcgcGFnZSBsb2FkaW5nIGRlbGF5
IGxheWVyIGZsdXNoZXMgdXAgdG8gdGhpcyBtYW55IHNlY29uZHMgdG8gYWxsb3cgdGhlbSBjb2Fs
ZXNjZSwgcmVkdWNpbmcgd29ya2xvYWQuCiAjaWYgUExBVEZPUk0oSU9TKQotc3RhdGljIGNvbnN0
IGRvdWJsZSB0aHJvdHRsZWRMYXllckZsdXNoSW5pdGlhbERlbGF5ID0gLjU7Ci1zdGF0aWMgY29u
c3QgZG91YmxlIHRocm90dGxlZExheWVyRmx1c2hEZWxheSA9IDEuNTsKK3N0YXRpYyBjb25zdCBT
ZWNvbmRzIHRocm90dGxlZExheWVyRmx1c2hJbml0aWFsRGVsYXkgeyA1MDBfbXMgfTsKK3N0YXRp
YyBjb25zdCBTZWNvbmRzIHRocm90dGxlZExheWVyRmx1c2hEZWxheSB7IDEuNV9zIH07CiAjZWxz
ZQotc3RhdGljIGNvbnN0IGRvdWJsZSB0aHJvdHRsZWRMYXllckZsdXNoSW5pdGlhbERlbGF5ID0g
LjU7Ci1zdGF0aWMgY29uc3QgZG91YmxlIHRocm90dGxlZExheWVyRmx1c2hEZWxheSA9IC41Owor
c3RhdGljIGNvbnN0IFNlY29uZHMgdGhyb3R0bGVkTGF5ZXJGbHVzaEluaXRpYWxEZWxheSB7IDUw
MF9tcyB9Oworc3RhdGljIGNvbnN0IFNlY29uZHMgdGhyb3R0bGVkTGF5ZXJGbHVzaERlbGF5IHsg
NTAwX21zIH07CiAjZW5kaWYKIAogdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJQcm9ncmVzcy5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUHJvZ3Jlc3MuY3BwCmluZGV4IDNiMTRlNDA3YTFlMjFh
ODY4YmJmODI2Yzc3ODM2YmYzNDIxM2FhYTIuLjU2YTQ1YzdkMGNhMGVmZmIzNGJkNGUwYTAyYzNi
MDhmOTUwODc2OGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJQ
cm9ncmVzcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclByb2dyZXNz
LmNwcApAQCAtMzIsNyArMzIsNiBAQCBSZW5kZXJQcm9ncmVzczo6UmVuZGVyUHJvZ3Jlc3MoSFRN
TEVsZW1lbnQmIGVsZW1lbnQsIFJlbmRlclN0eWxlJiYgc3R5bGUpCiAgICAgOiBSZW5kZXJCbG9j
a0Zsb3coZWxlbWVudCwgV1RGTW92ZShzdHlsZSkpCiAgICAgLCBtX3Bvc2l0aW9uKEhUTUxQcm9n
cmVzc0VsZW1lbnQ6OkludmFsaWRQb3NpdGlvbikKICAgICAsIG1fYW5pbWF0aW9uU3RhcnRUaW1l
KDApCi0gICAgLCBtX2FuaW1hdGlvblJlcGVhdEludGVydmFsKDApCiAgICAgLCBtX2FuaW1hdGlv
bkR1cmF0aW9uKDApCiAgICAgLCBtX2FuaW1hdGluZyhmYWxzZSkKICAgICAsIG1fYW5pbWF0aW9u
VGltZXIoKnRoaXMsICZSZW5kZXJQcm9ncmVzczo6YW5pbWF0aW9uVGltZXJGaXJlZCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJQcm9ncmVzcy5oIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclByb2dyZXNzLmgKaW5kZXggM2E2ZDg0ZDgzNTYxMzA3
MTdiNDAzMmY5YTM4YWI4M2FkZTlhYjk4Ny4uMjk2NGVjNTcwZDBkOWE5Y2U0ODA2MDMzOWJiZjg1
YjI5MTg1M2ZjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclBy
b2dyZXNzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclByb2dyZXNzLmgK
QEAgLTUwLDcgKzUwLDcgQEAgcHJpdmF0ZToKIAogICAgIGRvdWJsZSBtX3Bvc2l0aW9uOwogICAg
IGRvdWJsZSBtX2FuaW1hdGlvblN0YXJ0VGltZTsKLSAgICBkb3VibGUgbV9hbmltYXRpb25SZXBl
YXRJbnRlcnZhbDsKKyAgICBTZWNvbmRzIG1fYW5pbWF0aW9uUmVwZWF0SW50ZXJ2YWw7CiAgICAg
ZG91YmxlIG1fYW5pbWF0aW9uRHVyYXRpb247CiAgICAgYm9vbCBtX2FuaW1hdGluZzsKICAgICBU
aW1lciBtX2FuaW1hdGlvblRpbWVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHQu
Y3BwCmluZGV4IDJjODhhYzVkMjA4N2E4ZDQxZjgwNjdjZjBhNDE4MDU5NjQ3MjI5YjAuLjJhNTIy
ZGNhODg0MDUzNWY5YjI0NDZlZTc4YmRlMTlkZThhZGQ3MjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGV4dC5jcHAKQEAgLTEwNyw3ICsxMDcsNyBAQCBpbmxpbmUgU2VjdXJlVGV4
dFRpbWVyOjpTZWN1cmVUZXh0VGltZXIoUmVuZGVyVGV4dCYgcmVuZGVyZXIpCiBpbmxpbmUgdm9p
ZCBTZWN1cmVUZXh0VGltZXI6OnJlc3RhcnQodW5zaWduZWQgb2Zmc2V0QWZ0ZXJMYXN0VHlwZWRD
aGFyYWN0ZXIpCiB7CiAgICAgbV9vZmZzZXRBZnRlckxhc3RUeXBlZENoYXJhY3RlciA9IG9mZnNl
dEFmdGVyTGFzdFR5cGVkQ2hhcmFjdGVyOwotICAgIHN0YXJ0T25lU2hvdChtX3JlbmRlcmVyLnNl
dHRpbmdzKCkucGFzc3dvcmRFY2hvRHVyYXRpb25JblNlY29uZHMoKSk7CisgICAgc3RhcnRPbmVT
aG90KDFfcyAqIG1fcmVuZGVyZXIuc2V0dGluZ3MoKS5wYXNzd29yZEVjaG9EdXJhdGlvbkluU2Vj
b25kcygpKTsKIH0KIAogaW5saW5lIHVuc2lnbmVkIFNlY3VyZVRleHRUaW1lcjo6dGFrZU9mZnNl
dEFmdGVyTGFzdFR5cGVkQ2hhcmFjdGVyKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUaGVtZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VGhlbWUuY3BwCmluZGV4IGMzMWE5YWE2Y2YyYjA2OTgyMmI2ZmY1MDY3YmZmYWM1MzdmZjJiYTMu
LmRiNGQ4MDhiODM1ODMwMTE3M2E4YWNjMDk2ZDllNjQ0YmEzMGY4YjUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmNwcApAQCAtMTA2Miw5ICsxMDYyLDkgQEAgdm9pZCBS
ZW5kZXJUaGVtZTo6cGFpbnRTbGlkZXJUaWNrcyhjb25zdCBSZW5kZXJPYmplY3QmIG8sIGNvbnN0
IFBhaW50SW5mbyYgcGFpbnQKIH0KICNlbmRpZgogCi1kb3VibGUgUmVuZGVyVGhlbWU6OmFuaW1h
dGlvblJlcGVhdEludGVydmFsRm9yUHJvZ3Jlc3NCYXIoUmVuZGVyUHJvZ3Jlc3MmKSBjb25zdAor
U2Vjb25kcyBSZW5kZXJUaGVtZTo6YW5pbWF0aW9uUmVwZWF0SW50ZXJ2YWxGb3JQcm9ncmVzc0Jh
cihSZW5kZXJQcm9ncmVzcyYpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIDBf
czsKIH0KIAogZG91YmxlIFJlbmRlclRoZW1lOjphbmltYXRpb25EdXJhdGlvbkZvclByb2dyZXNz
QmFyKFJlbmRlclByb2dyZXNzJikgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUaGVtZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRo
ZW1lLmgKaW5kZXggNzFkMTY1YTEwOGQ2MTgwMzZlY2YzM2UwYjFhZDJhMjE5YjkxMGE4MC4uNjE3
Y2FkYjFjYTY5MjM3NmNmNWIzZTU3NjRlYjk3N2E0NmMxM2NmMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclRoZW1lLmgKQEAgLTE5NSw3ICsxOTUsNyBAQCBwdWJsaWM6CiAgICAgdmly
dHVhbCBTY3JvbGxiYXJDb250cm9sU2l6ZSBzY3JvbGxiYXJDb250cm9sU2l6ZUZvclBhcnQoQ29u
dHJvbFBhcnQpIHsgcmV0dXJuIFJlZ3VsYXJTY3JvbGxiYXI7IH0KIAogICAgIC8vIFJldHVybnMg
dGhlIHJlcGVhdCBpbnRlcnZhbCBvZiB0aGUgYW5pbWF0aW9uIGZvciB0aGUgcHJvZ3Jlc3MgYmFy
LgotICAgIHZpcnR1YWwgZG91YmxlIGFuaW1hdGlvblJlcGVhdEludGVydmFsRm9yUHJvZ3Jlc3NC
YXIoUmVuZGVyUHJvZ3Jlc3MmKSBjb25zdDsKKyAgICB2aXJ0dWFsIFNlY29uZHMgYW5pbWF0aW9u
UmVwZWF0SW50ZXJ2YWxGb3JQcm9ncmVzc0JhcihSZW5kZXJQcm9ncmVzcyYpIGNvbnN0OwogICAg
IC8vIFJldHVybnMgdGhlIGR1cmF0aW9uIG9mIHRoZSBhbmltYXRpb24gZm9yIHRoZSBwcm9ncmVz
cyBiYXIuCiAgICAgdmlydHVhbCBkb3VibGUgYW5pbWF0aW9uRHVyYXRpb25Gb3JQcm9ncmVzc0Jh
cihSZW5kZXJQcm9ncmVzcyYpIGNvbnN0OwogICAgIHZpcnR1YWwgSW50UmVjdCBwcm9ncmVzc0Jh
clJlY3RGb3JCb3VuZHMoY29uc3QgUmVuZGVyT2JqZWN0JiwgY29uc3QgSW50UmVjdCYpIGNvbnN0
OwpAQCAtMjA4LDcgKzIwOCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgdXNlc01lZGlh
Q29udHJvbFZvbHVtZVNsaWRlcigpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KICAgICB2aXJ0dWFs
IGJvb2wgdXNlc1ZlcnRpY2FsVm9sdW1lU2xpZGVyKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQog
ICAgIHZpcnR1YWwgZG91YmxlIG1lZGlhQ29udHJvbHNGYWRlSW5EdXJhdGlvbigpIHsgcmV0dXJu
IDAuMTsgfQotICAgIHZpcnR1YWwgZG91YmxlIG1lZGlhQ29udHJvbHNGYWRlT3V0RHVyYXRpb24o
KSB7IHJldHVybiAwLjM7IH0KKyAgICB2aXJ0dWFsIFNlY29uZHMgbWVkaWFDb250cm9sc0ZhZGVP
dXREdXJhdGlvbigpIHsgcmV0dXJuIDMwMF9tczsgfQogICAgIHZpcnR1YWwgU3RyaW5nIGZvcm1h
dE1lZGlhQ29udHJvbHNUaW1lKGZsb2F0IHRpbWUpIGNvbnN0OwogICAgIHZpcnR1YWwgU3RyaW5n
IGZvcm1hdE1lZGlhQ29udHJvbHNDdXJyZW50VGltZShmbG9hdCBjdXJyZW50VGltZSwgZmxvYXQg
ZHVyYXRpb24pIGNvbnN0OwogICAgIHZpcnR1YWwgU3RyaW5nIGZvcm1hdE1lZGlhQ29udHJvbHNS
ZW1haW5pbmdUaW1lKGZsb2F0IGN1cnJlbnRUaW1lLCBmbG9hdCBkdXJhdGlvbikgY29uc3Q7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVHdGsuY3BwIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lR3RrLmNwcAppbmRleCAxNzI4NGY0
OTk4ZjMxNTM0YjU0MTk1MzliNDljNTQ2NGRhNjM1MjhiLi5lZGM3NDdjZTZkNDg1N2ZlNTJmNzE3
NzBkYzdmYTA3MDhjNDk5MWE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGhlbWVHdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
aGVtZUd0ay5jcHAKQEAgLTIxMTEsOCArMjExMSw4IEBAIHZvaWQgUmVuZGVyVGhlbWVHdGs6OmFk
anVzdFByb2dyZXNzQmFyU3R5bGUoU3R5bGVSZXNvbHZlciYsIFJlbmRlclN0eWxlJiBzdHlsZSwK
IC8vIFRoZXNlIHZhbHVlcyBoYXZlIGJlZW4gY29waWVkIGZyb20gUmVuZGVyVGhlbWVDaHJvbWl1
bVNraWEuY3BwCiBzdGF0aWMgY29uc3QgaW50IHByb2dyZXNzQWN0aXZpdHlCbG9ja3MgPSA1Owog
c3RhdGljIGNvbnN0IGludCBwcm9ncmVzc0FuaW1hdGlvbkZyYW1lcyA9IDEwOwotc3RhdGljIGNv
bnN0IGRvdWJsZSBwcm9ncmVzc0FuaW1hdGlvbkludGVydmFsID0gMC4xMjU7Ci1kb3VibGUgUmVu
ZGVyVGhlbWVHdGs6OmFuaW1hdGlvblJlcGVhdEludGVydmFsRm9yUHJvZ3Jlc3NCYXIoUmVuZGVy
UHJvZ3Jlc3MmKSBjb25zdAorc3RhdGljIGNvbnN0IFNlY29uZHMgcHJvZ3Jlc3NBbmltYXRpb25J
bnRlcnZhbCB7IDEyNV9tcyB9OworU2Vjb25kcyBSZW5kZXJUaGVtZUd0azo6YW5pbWF0aW9uUmVw
ZWF0SW50ZXJ2YWxGb3JQcm9ncmVzc0JhcihSZW5kZXJQcm9ncmVzcyYpIGNvbnN0CiB7CiAgICAg
cmV0dXJuIHByb2dyZXNzQW5pbWF0aW9uSW50ZXJ2YWw7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVHdGsuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUaGVtZUd0ay5oCmluZGV4IDdiODJkOTMxNDY0NDRmZDRlZmVlNTYxNGU1YzEx
ZDc2ZGIxZWQ4MTEuLjY0YTRkODlmZjQ1MmJiNjIzZmQ4MDhhNTY5NTAwYWE2Y2NlYTRjZjUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUd0ay5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUd0ay5oCkBAIC0xNjgsNyArMTY4
LDcgQEAgcHJpdmF0ZToKICNlbmRpZgogI2VuZGlmCiAKLSAgICBkb3VibGUgYW5pbWF0aW9uUmVw
ZWF0SW50ZXJ2YWxGb3JQcm9ncmVzc0JhcihSZW5kZXJQcm9ncmVzcyYpIGNvbnN0IG92ZXJyaWRl
OworICAgIFNlY29uZHMgYW5pbWF0aW9uUmVwZWF0SW50ZXJ2YWxGb3JQcm9ncmVzc0JhcihSZW5k
ZXJQcm9ncmVzcyYpIGNvbnN0IG92ZXJyaWRlOwogICAgIGRvdWJsZSBhbmltYXRpb25EdXJhdGlv
bkZvclByb2dyZXNzQmFyKFJlbmRlclByb2dyZXNzJikgY29uc3Qgb3ZlcnJpZGU7CiAgICAgdm9p
ZCBhZGp1c3RQcm9ncmVzc0JhclN0eWxlKFN0eWxlUmVzb2x2ZXImLCBSZW5kZXJTdHlsZSYsIGNv
bnN0IEVsZW1lbnQqKSBjb25zdCBvdmVycmlkZTsKICAgICBJbnRSZWN0IHByb2dyZXNzQmFyUmVj
dEZvckJvdW5kcyhjb25zdCBSZW5kZXJPYmplY3QmLCBjb25zdCBJbnRSZWN0JikgY29uc3Qgb3Zl
cnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVJ
T1MuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUlPUy5oCmluZGV4IGJi
Mzk4ZjdlYmNmMTMwZDlhNmExNDVhMjdlNjY4Njk2MmEzYzk2ZTMuLjBiMWU1NDUxMDdlYmVhNzll
NzQ0ODQ4ZTg3ZjY2YTM0M2NjZDA1NjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUaGVtZUlPUy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUaGVtZUlPUy5oCkBAIC04MSw3ICs4MSw3IEBAIHByb3RlY3RlZDoKICAgICBib29sIHBhaW50
U2xpZGVyVGh1bWJEZWNvcmF0aW9ucyhjb25zdCBSZW5kZXJPYmplY3QmLCBjb25zdCBQYWludElu
Zm8mLCBjb25zdCBJbnRSZWN0Jikgb3ZlcnJpZGU7CiAKICAgICAvLyBSZXR1cm5zIHRoZSByZXBl
YXQgaW50ZXJ2YWwgb2YgdGhlIGFuaW1hdGlvbiBmb3IgdGhlIHByb2dyZXNzIGJhci4KLSAgICBk
b3VibGUgYW5pbWF0aW9uUmVwZWF0SW50ZXJ2YWxGb3JQcm9ncmVzc0JhcihSZW5kZXJQcm9ncmVz
cyYpIGNvbnN0IG92ZXJyaWRlOworICAgIFNlY29uZHMgYW5pbWF0aW9uUmVwZWF0SW50ZXJ2YWxG
b3JQcm9ncmVzc0JhcihSZW5kZXJQcm9ncmVzcyYpIGNvbnN0IG92ZXJyaWRlOwogICAgIC8vIFJl
dHVybnMgdGhlIGR1cmF0aW9uIG9mIHRoZSBhbmltYXRpb24gZm9yIHRoZSBwcm9ncmVzcyBiYXIu
CiAgICAgZG91YmxlIGFuaW1hdGlvbkR1cmF0aW9uRm9yUHJvZ3Jlc3NCYXIoUmVuZGVyUHJvZ3Jl
c3MmKSBjb25zdCBvdmVycmlkZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRoZW1lSU9TLm1tIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRo
ZW1lSU9TLm1tCmluZGV4IDIwMTMxOTVmYTY5YzI4N2IyNDZkMmMyZmRjMTJkMGM0ZTVkYWYyMDUu
LmQ5ZjRmNzc5Yzk4MzMxYjUwZmJhMzVmMTQ0NTNjZGJiZTA1YWZmNzkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUlPUy5tbQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1MubW0KQEAgLTg3MCw5ICs4NzAsOSBAQCBib29s
IFJlbmRlclRoZW1lSU9TOjpwYWludFNsaWRlclRodW1iRGVjb3JhdGlvbnMoY29uc3QgUmVuZGVy
T2JqZWN0JiBib3gsIGNvbnN0CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi1kb3VibGUgUmVuZGVy
VGhlbWVJT1M6OmFuaW1hdGlvblJlcGVhdEludGVydmFsRm9yUHJvZ3Jlc3NCYXIoUmVuZGVyUHJv
Z3Jlc3MmKSBjb25zdAorU2Vjb25kcyBSZW5kZXJUaGVtZUlPUzo6YW5pbWF0aW9uUmVwZWF0SW50
ZXJ2YWxGb3JQcm9ncmVzc0JhcihSZW5kZXJQcm9ncmVzcyYpIGNvbnN0CiB7Ci0gICAgcmV0dXJu
IDA7CisgICAgcmV0dXJuIDBfczsKIH0KIAogZG91YmxlIFJlbmRlclRoZW1lSU9TOjphbmltYXRp
b25EdXJhdGlvbkZvclByb2dyZXNzQmFyKFJlbmRlclByb2dyZXNzJikgY29uc3QKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5oIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLmgKaW5kZXggNmI5YzcyN2M5YTgxODEwYTZh
OGNkNDYwYzJhYWE2NjRlZjFhNDhmMS4uZjM5MDBhMDAzZmU0ODA2Y2Y0NTUxMmNhYjRjNmFmMmMx
MGMyOTJmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1l
TWFjLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLmgKQEAg
LTg3LDcgKzg3LDcgQEAgcHVibGljOgogI2VuZGlmCiAKICAgICAvLyBSZXR1cm5zIHRoZSByZXBl
YXQgaW50ZXJ2YWwgb2YgdGhlIGFuaW1hdGlvbiBmb3IgdGhlIHByb2dyZXNzIGJhci4KLSAgICBk
b3VibGUgYW5pbWF0aW9uUmVwZWF0SW50ZXJ2YWxGb3JQcm9ncmVzc0JhcihSZW5kZXJQcm9ncmVz
cyYpIGNvbnN0IG92ZXJyaWRlOworICAgIFNlY29uZHMgYW5pbWF0aW9uUmVwZWF0SW50ZXJ2YWxG
b3JQcm9ncmVzc0JhcihSZW5kZXJQcm9ncmVzcyYpIGNvbnN0IG92ZXJyaWRlOwogICAgIC8vIFJl
dHVybnMgdGhlIGR1cmF0aW9uIG9mIHRoZSBhbmltYXRpb24gZm9yIHRoZSBwcm9ncmVzcyBiYXIu
CiAgICAgZG91YmxlIGFuaW1hdGlvbkR1cmF0aW9uRm9yUHJvZ3Jlc3NCYXIoUmVuZGVyUHJvZ3Jl
c3MmKSBjb25zdCBvdmVycmlkZTsKICAgICBJbnRSZWN0IHByb2dyZXNzQmFyUmVjdEZvckJvdW5k
cyhjb25zdCBSZW5kZXJPYmplY3QmLCBjb25zdCBJbnRSZWN0JikgY29uc3Qgb3ZlcnJpZGU7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMubW0gYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMubW0KaW5kZXggZjgwZTJjOTE5
ODkwMWJiYWM4OTk0YjZmY2UzY2ZlZjNkMzEzNDVjMS4uOWI1NWVmNmY3OTZmOGU3Yzg3NzA5NWRi
MjkyNDI1ZjRlNzRhODI2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRoZW1lTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVt
ZU1hYy5tbQpAQCAtMTE0LDEwICsxMTQsMTAgQEAgQGVuZAogCiAvLyBXZSBlc3RpbWF0ZSB0aGUg
YW5pbWF0aW9uIHJhdGUgb2YgYSBNYWMgT1MgWCBwcm9ncmVzcyBiYXIgaXMgMzMgZnBzLgogLy8g
SGFyZCBjb2RlIHRoZSB2YWx1ZSBoZXJlIGJlY2F1c2Ugd2UgaGF2ZW4ndCBmb3VuZCBBUEkgZm9y
IGl0LgotY29uc3QgZG91YmxlIHByb2dyZXNzQW5pbWF0aW9uRnJhbWVSYXRlID0gMC4wMzM7Citz
dGF0aWMgY29uc3QgU2Vjb25kcyBwcm9ncmVzc0FuaW1hdGlvbkZyYW1lUmF0ZSA9IDMzX21zOwog
CiAvLyBNYWMgT1MgWCBwcm9ncmVzcyBiYXIgYW5pbWF0aW9uIHNlZW1zIHRvIGhhdmUgMjU2IGZy
YW1lcy4KLWNvbnN0IGRvdWJsZSBwcm9ncmVzc0FuaW1hdGlvbk51bUZyYW1lcyA9IDI1NjsKK3N0
YXRpYyBjb25zdCBkb3VibGUgcHJvZ3Jlc3NBbmltYXRpb25OdW1GcmFtZXMgPSAyNTY7CiAKIEBp
bnRlcmZhY2UgV2ViQ29yZVJlbmRlclRoZW1lTm90aWZpY2F0aW9uT2JzZXJ2ZXIgOiBOU09iamVj
dAogewpAQCAtMTEyOSwxNCArMTEyOSwxNCBAQCBpbnQgUmVuZGVyVGhlbWVNYWM6Om1pbmltdW1Q
cm9ncmVzc0JhckhlaWdodChjb25zdCBSZW5kZXJTdHlsZSYgc3R5bGUpIGNvbnN0CiAgICAgcmV0
dXJuIHNpemVGb3JTeXN0ZW1Gb250KHN0eWxlLCBwcm9ncmVzc0JhclNpemVzKCkpLmhlaWdodCgp
OwogfQogCi1kb3VibGUgUmVuZGVyVGhlbWVNYWM6OmFuaW1hdGlvblJlcGVhdEludGVydmFsRm9y
UHJvZ3Jlc3NCYXIoUmVuZGVyUHJvZ3Jlc3MmKSBjb25zdAorU2Vjb25kcyBSZW5kZXJUaGVtZU1h
Yzo6YW5pbWF0aW9uUmVwZWF0SW50ZXJ2YWxGb3JQcm9ncmVzc0JhcihSZW5kZXJQcm9ncmVzcyYp
IGNvbnN0CiB7CiAgICAgcmV0dXJuIHByb2dyZXNzQW5pbWF0aW9uRnJhbWVSYXRlOwogfQogCiBk
b3VibGUgUmVuZGVyVGhlbWVNYWM6OmFuaW1hdGlvbkR1cmF0aW9uRm9yUHJvZ3Jlc3NCYXIoUmVu
ZGVyUHJvZ3Jlc3MmKSBjb25zdAogewotICAgIHJldHVybiBwcm9ncmVzc0FuaW1hdGlvbk51bUZy
YW1lcyAqIHByb2dyZXNzQW5pbWF0aW9uRnJhbWVSYXRlOworICAgIHJldHVybiBwcm9ncmVzc0Fu
aW1hdGlvbk51bUZyYW1lcyAqIHByb2dyZXNzQW5pbWF0aW9uRnJhbWVSYXRlLnZhbHVlKCk7CiB9
CiAKIHZvaWQgUmVuZGVyVGhlbWVNYWM6OmFkanVzdFByb2dyZXNzQmFyU3R5bGUoU3R5bGVSZXNv
bHZlciYsIFJlbmRlclN0eWxlJiwgY29uc3QgRWxlbWVudCopIGNvbnN0CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZXBsYXkvRXZlbnRMb29wSW5wdXREaXNwYXRjaGVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3JlcGxheS9FdmVudExvb3BJbnB1dERpc3BhdGNoZXIuY3BwCmluZGV4IDUxMDI5
M2ZjMTZjNjRhYzliNWZiNTFlN2I5OGQwOTBkOGI1MTM2NjcuLjllMjc4NmQ1OGEwZjY1YzhiZWM0
NWE5NzNjYWVhNDZhMmY1MDkzYTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9F
dmVudExvb3BJbnB1dERpc3BhdGNoZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9F
dmVudExvb3BJbnB1dERpc3BhdGNoZXIuY3BwCkBAIC0xMTgsNyArMTE4LDcgQEAgdm9pZCBFdmVu
dExvb3BJbnB1dERpc3BhdGNoZXI6OmRpc3BhdGNoSW5wdXRTb29uKCkKICAgICB9CiAKICAgICBM
T0coV2ViUmVwbGF5LCAiJS0yMHMgKFdBSVQ6ICUuM2YgbXMpIiwgIlJlcGxheUV2ZW50cyIsIHdh
aXRJbnRlcnZhbCAqIDEwMDAuMCk7Ci0gICAgbV90aW1lci5zdGFydE9uZVNob3Qod2FpdEludGVy
dmFsKTsKKyAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgxX3MgKiB3YWl0SW50ZXJ2YWwpOwogfQog
CiB2b2lkIEV2ZW50TG9vcElucHV0RGlzcGF0Y2hlcjo6ZGlzcGF0Y2hJbnB1dCgpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvYW5pbWF0aW9uL1NNSUxUaW1lQ29udGFpbmVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3N2Zy9hbmltYXRpb24vU01JTFRpbWVDb250YWluZXIuY3BwCmluZGV4
IDEyNWI0M2I0Y2VmZTJiMmVmYjJmYzBmNWViZmE1NDFlMjdhMTg0MGQuLjQ1Y2FmOWY0Y2M1MzVm
N2NmZDc5ZDVkMTRiOGYwYjc4Njg2NTRmNTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2
Zy9hbmltYXRpb24vU01JTFRpbWVDb250YWluZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2
Zy9hbmltYXRpb24vU01JTFRpbWVDb250YWluZXIuY3BwCkBAIC0zNSw4ICszNSw4IEBACiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIGNvbnN0IFNlY29uZHMgU01JTEFuaW1hdGlvbkZy
YW1lRGVsYXkgeyAxLjAgLyA2MCB9Owotc3RhdGljIGNvbnN0IFNlY29uZHMgU01JTEFuaW1hdGlv
bkZyYW1lVGhyb3R0bGVkRGVsYXkgeyAxLjAgLyAzMCB9Oworc3RhdGljIGNvbnN0IFNlY29uZHMg
U01JTEFuaW1hdGlvbkZyYW1lRGVsYXkgeyAxX3MgLyA2MC4gfTsKK3N0YXRpYyBjb25zdCBTZWNv
bmRzIFNNSUxBbmltYXRpb25GcmFtZVRocm90dGxlZERlbGF5IHsgMV9zIC8gMzAuIH07CiAKIFNN
SUxUaW1lQ29udGFpbmVyOjpTTUlMVGltZUNvbnRhaW5lcihTVkdTVkdFbGVtZW50JiBvd25lcikK
ICAgICA6IG1fYmVnaW5UaW1lKDApCkBAIC0yMTYsNyArMjE2LDcgQEAgdm9pZCBTTUlMVGltZUNv
bnRhaW5lcjo6c3RhcnRUaW1lcihTTUlMVGltZSBlbGFwc2VkLCBTTUlMVGltZSBmaXJlVGltZSwg
U01JTFRpbWUKICAgICAgICAgcmV0dXJuOwogCiAgICAgU01JTFRpbWUgZGVsYXkgPSBzdGQ6Om1h
eChmaXJlVGltZSAtIGVsYXBzZWQsIG1pbmltdW1EZWxheSk7Ci0gICAgbV90aW1lci5zdGFydE9u
ZVNob3QoZGVsYXkudmFsdWUoKSk7CisgICAgbV90aW1lci5zdGFydE9uZVNob3QoMV9zICogZGVs
YXkudmFsdWUoKSk7CiB9CiAKIHZvaWQgU01JTFRpbWVDb250YWluZXI6OnRpbWVyRmlyZWQoKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5jcHAKaW5kZXggZTllYTRj
YjA0ODA5ZGFhYzU0OTVhOGEyN2Y1MDY1NjE4ZGY4NjkzMS4uN2FjZjUwNTkzMWUyMDIyY2Y2ZDYy
NGRlYWM5YzA1YTNlYmQ2Njg3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbFNldHRpbmdzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
U2V0dGluZ3MuY3BwCkBAIC01NzAsNyArNTcwLDcgQEAgRXhjZXB0aW9uT3I8dm9pZD4gSW50ZXJu
YWxTZXR0aW5nczo6c2V0VGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHIK
IHsKICAgICBpZiAoIW1fcGFnZSkKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IElOVkFMSURf
QUNDRVNTX0VSUiB9OwotICAgIHNldHRpbmdzKCkuc2V0VGltZVdpdGhvdXRNb3VzZU1vdmVtZW50
QmVmb3JlSGlkaW5nQ29udHJvbHModGltZSk7CisgICAgc2V0dGluZ3MoKS5zZXRUaW1lV2l0aG91
dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scyhTZWNvbmRzIHsgdGltZSB9KTsKICAg
ICByZXR1cm4geyB9OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFsU2V0dGluZ3MuaCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5n
cy5oCmluZGV4IDIwYTczNjM5YjUwYzcyMGQzN2Y1NTIzZGEyZjU3YjRkNjA2ZDZhYzYuLjE5ZTVi
ZGUxNWJkNWQyNDNiM2VjYjFkYzgxZDNkYmRmMTMxNTE1ZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5oCkBAIC0xNTksNyArMTU5LDcgQEAgcHJpdmF0ZToKICNl
bmRpZgogICAgICAgICBTdHJpbmcgbV9kZWZhdWx0VmlkZW9Qb3N0ZXJVUkw7CiAgICAgICAgIGJv
b2wgbV9mb3JjZVBlbmRpbmdXZWJHTFBvbGljeTsKLSAgICAgICAgYm9vbCBtX29yaWdpbmFsVGlt
ZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHM7CisgICAgICAgIFNlY29u
ZHMgbV9vcmlnaW5hbFRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xz
OwogICAgICAgICBib29sIG1fdXNlTGVnYWN5QmFja2dyb3VuZFNpemVTaG9ydGhhbmRCZWhhdmlv
cjsKICAgICAgICAgYm9vbCBtX2F1dG9zY3JvbGxGb3JEcmFnQW5kRHJvcEVuYWJsZWQ7CiAgICAg
ICAgIGJvb2wgbV9xdWlja1RpbWVQbHVnaW5SZXBsYWNlbWVudEVuYWJsZWQ7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL0ludGVybmFscy5jcHAKaW5kZXggNTU1YmYxNTg5YTA4ZTcwNDBiM2IzMzdhMmM2NGRk
MzQyYWNiNjUwNS4uZDU5ZTY4NzhmNWY3OGYyNDQwYjBkMjM2ODI1ZWY1NGNhOWVlOGMxZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcApAQCAtNzI5LDcgKzcyOSw3IEBAIHZvaWQg
SW50ZXJuYWxzOjpzZXRJbWFnZUZyYW1lRGVjb2RpbmdEdXJhdGlvbihIVE1MSW1hZ2VFbGVtZW50
JiBlbGVtZW50LCBmbG9hdCBkCiAgICAgaWYgKCFpczxCaXRtYXBJbWFnZT4oaW1hZ2UpKQogICAg
ICAgICByZXR1cm47CiAgICAgCi0gICAgZG93bmNhc3Q8Qml0bWFwSW1hZ2U+KCppbWFnZSkuc2V0
RnJhbWVEZWNvZGluZ0R1cmF0aW9uRm9yVGVzdGluZyhkdXJhdGlvbik7CisgICAgZG93bmNhc3Q8
Qml0bWFwSW1hZ2U+KCppbWFnZSkuc2V0RnJhbWVEZWNvZGluZ0R1cmF0aW9uRm9yVGVzdGluZyhT
ZWNvbmRzIHsgZHVyYXRpb24gfSk7CiB9CiAKIHZvaWQgSW50ZXJuYWxzOjpyZXNldEltYWdlQW5p
bWF0aW9uKEhUTUxJbWFnZUVsZW1lbnQmIGVsZW1lbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwIGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBS
ZXF1ZXN0LmNwcAppbmRleCA5ZGVmOTM3YzUyMWJiMTk5ODUwYTEyOGI0MWY1NGMxYzU3M2ExNzQ4
Li4xMzA2MTA4Yzg0YTNiOTMzNGYzZDkyN2FhNWJmNGY5MzU0NTg1MTQ4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3htbC9YTUxIdHRwUmVxdWVzdC5jcHAKQEAgLTczOCw3ICs3MzgsNyBAQCBFeGNlcHRpb25Pcjx2
b2lkPiBYTUxIdHRwUmVxdWVzdDo6Y3JlYXRlUmVxdWVzdCgpCiAgICAgICAgIGVsc2UgewogICAg
ICAgICAgICAgcmVxdWVzdC5zZXRUaW1lb3V0SW50ZXJ2YWwoc3RkOjpudW1lcmljX2xpbWl0czxk
b3VibGU+OjppbmZpbml0eSgpKTsKICAgICAgICAgICAgIG1fc2VuZGluZ1RpbWUgPSBNb25vdG9u
aWNUaW1lOjpub3coKTsKLSAgICAgICAgICAgIG1fdGltZW91dFRpbWVyLnN0YXJ0T25lU2hvdChT
ZWNvbmRzIHsgbV90aW1lb3V0TWlsbGlzZWNvbmRzIC8gMTAwMC4gfSk7CisgICAgICAgICAgICBt
X3RpbWVvdXRUaW1lci5zdGFydE9uZVNob3QoMV9tcyAqIG1fdGltZW91dE1pbGxpc2Vjb25kcyk7
CiAgICAgICAgIH0KICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU3RvcmFnZS9T
dG9yYWdlQXJlYVN5bmMuY3BwIGIvU291cmNlL1dlYktpdC9TdG9yYWdlL1N0b3JhZ2VBcmVhU3lu
Yy5jcHAKaW5kZXggYWMwZGNjMTI1Njk0ZGFkNGM0YjkyMjg3YTAzMWVmYTA5MzU0ZWExOS4uYmEx
NWU0YTRkYTBiYzIzMDlmOWUyZjE3NjE0MWJmNmE2MTNkMDMwZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9TdG9yYWdlL1N0b3JhZ2VBcmVhU3luYy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9T
dG9yYWdlL1N0b3JhZ2VBcmVhU3luYy5jcHAKQEAgLTQxLDcgKzQxLDcgQEAgbmFtZXNwYWNlIFdl
YktpdCB7CiAKIC8vIElmIHRoZSBTdG9yYWdlQXJlYSB1bmRlcmdvZXMgcmFwaWQgY2hhbmdlcywg
ZG9uJ3Qgc3luYyBlYWNoIGNoYW5nZSB0byBkaXNrLgogLy8gSW5zdGVhZCwgcXVldWUgdXAgYSBi
YXRjaCBvZiBpdGVtcyB0byBzeW5jIGFuZCBhY3R1YWxseSBkbyB0aGUgc3luYyBhdCB0aGUgZm9s
bG93aW5nIGludGVydmFsLgotc3RhdGljIGNvbnN0IGRvdWJsZSBTdG9yYWdlU3luY0ludGVydmFs
ID0gMS4wOworc3RhdGljIGNvbnN0IFNlY29uZHMgU3RvcmFnZVN5bmNJbnRlcnZhbCB7IDFfcyB9
OwogCiAvLyBBIHNhbmUgbGltaXQgb24gaG93IG1hbnkgaXRlbXMgd2UnbGwgc2NoZWR1bGUgdG8g
c3luYyBhbGwgYXQgb25jZS4gIFRoaXMgbWFrZXMgaXQKIC8vIG11Y2ggaGFyZGVyIHRvIHN0YXJ2
ZSB0aGUgcmVzdCBvZiBMb2NhbFN0b3JhZ2UgYW5kIHRoZSBPUydzIElPIHN1YnN5c3RlbSBpbiBn
ZW5lcmFsLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TdG9yYWdlL1N0b3JhZ2VUcmFja2Vy
LmNwcCBiL1NvdXJjZS9XZWJLaXQvU3RvcmFnZS9TdG9yYWdlVHJhY2tlci5jcHAKaW5kZXggNTlh
MDBmZTMwYTk2M2Y1ODEzZDhiMGRkYTA0ZGI2MDgxYTY2MjNiZC4uN2M1NzZhYjY4ZGIyZjRmYzUx
OTQxY2VmNzU5N2JkYTU0MTJhZmQyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TdG9yYWdl
L1N0b3JhZ2VUcmFja2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2UvU3RvcmFnZVRy
YWNrZXIuY3BwCkBAIC01Miw3ICs1Miw3IEBAIHN0YXRpYyBTdG9yYWdlVHJhY2tlciogc3RvcmFn
ZVRyYWNrZXIgPSBudWxscHRyOwogCiAvLyBJZiB0aGVyZSBpcyBubyBkb2N1bWVudCByZWZlcmVu
Y2luZyBhIHN0b3JhZ2UgZGF0YWJhc2UsIGNsb3NlIHRoZSB1bmRlcmx5aW5nIGRhdGFiYXNlCiAv
LyBhZnRlciBpdCBoYXMgYmVlbiBpZGxlIGZvciBtX1N0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZh
bCBzZWNvbmRzLgotc3RhdGljIGNvbnN0IGRvdWJsZSBEZWZhdWx0U3RvcmFnZURhdGFiYXNlSWRs
ZUludGVydmFsID0gMzAwOworc3RhdGljIGNvbnN0IFNlY29uZHMgZGVmYXVsdFN0b3JhZ2VEYXRh
YmFzZUlkbGVJbnRlcnZhbCB7IDMwMF9zIH07CiAgICAgCiB2b2lkIFN0b3JhZ2VUcmFja2VyOjpp
bml0aWFsaXplVHJhY2tlcihjb25zdCBTdHJpbmcmIHN0b3JhZ2VQYXRoLCBTdG9yYWdlVHJhY2tl
ckNsaWVudCogY2xpZW50KQogewpAQCAtOTcsNyArOTcsNyBAQCBTdG9yYWdlVHJhY2tlcjo6U3Rv
cmFnZVRyYWNrZXIoY29uc3QgU3RyaW5nJiBzdG9yYWdlUGF0aCkKICAgICAsIG1fdGhyZWFkKHN0
ZDo6bWFrZV91bmlxdWU8U3RvcmFnZVRocmVhZD4oKSkKICAgICAsIG1faXNBY3RpdmUoZmFsc2Up
CiAgICAgLCBtX25lZWRzSW5pdGlhbGl6YXRpb24oZmFsc2UpCi0gICAgLCBtX1N0b3JhZ2VEYXRh
YmFzZUlkbGVJbnRlcnZhbChEZWZhdWx0U3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsKQorICAg
ICwgbV9TdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwoZGVmYXVsdFN0b3JhZ2VEYXRhYmFzZUlk
bGVJbnRlcnZhbCkKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TdG9yYWdlL1N0
b3JhZ2VUcmFja2VyLmggYi9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2UvU3RvcmFnZVRyYWNrZXIuaApp
bmRleCA1NWQ1YjBkMjJlOWEzOWY5YjhjMDg5MzdmNTk0ZThmYTNiZGFjYTg4Li5lMWVkNmI5MzZi
NmY3N2RjMGQxODE4YTY1YTRiNzEzMDg0YzkwNjdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1N0b3JhZ2UvU3RvcmFnZVRyYWNrZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2UvU3Rv
cmFnZVRyYWNrZXIuaApAQCAtNTksOCArNTksOCBAQCBwdWJsaWM6CiAgICAgCiAgICAgYm9vbCBp
c0FjdGl2ZSgpOwogCi0gICAgZG91YmxlIHN0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbCgpIHsg
cmV0dXJuIG1fU3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsOyB9Ci0gICAgdm9pZCBzZXRTdG9y
YWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwoZG91YmxlIGludGVydmFsKSB7IG1fU3RvcmFnZURhdGFi
YXNlSWRsZUludGVydmFsID0gaW50ZXJ2YWw7IH0KKyAgICBTZWNvbmRzIHN0b3JhZ2VEYXRhYmFz
ZUlkbGVJbnRlcnZhbCgpIHsgcmV0dXJuIG1fU3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsOyB9
CisgICAgdm9pZCBzZXRTdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwoU2Vjb25kcyBpbnRlcnZh
bCkgeyBtX1N0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbCA9IGludGVydmFsOyB9CiAKICAgICB2
b2lkIHN5bmNGaWxlU3lzdGVtQW5kVHJhY2tlckRhdGFiYXNlKCk7CiAKQEAgLTExMCw3ICsxMTAs
NyBAQCBwcml2YXRlOgogICAgIAogICAgIGJvb2wgbV9pc0FjdGl2ZTsKICAgICBib29sIG1fbmVl
ZHNJbml0aWFsaXphdGlvbjsKLSAgICBkb3VibGUgbV9TdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2
YWw7CisgICAgU2Vjb25kcyBtX1N0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbDsKIH07CiAgICAg
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9Q
bHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdp
bnMvV2ViTmV0c2NhcGVQbHVnaW5WaWV3Lm1tCmluZGV4IDA4N2ZjZmJjMDFiODZjMGYxOTFhZGMw
NDM1YWEwNDg1NWM3ZjcxMGIuLjAxOTNlNDBmZTZkZTE2M2Y2MDFjMDgyNWRmODQzZjNlYjgyOTU0
ZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViTmV0c2NhcGVQbHVn
aW5WaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViTmV0c2NhcGVQbHVn
aW5WaWV3Lm1tCkBAIC0xMTEsNyArMTExLDcgQEAgc3RhdGljIFdlYk5ldHNjYXBlUGx1Z2luVmll
dyAqY3VycmVudFBsdWdpblZpZXcgPSBuaWw7CiAKIHR5cGVkZWYgc3RydWN0IE9wYXF1ZVBvcnRT
dGF0ZSogUG9ydFN0YXRlOwogCi1zdGF0aWMgY29uc3QgZG91YmxlIFRocm90dGxlZFRpbWVySW50
ZXJ2YWwgPSAwLjI1Oworc3RhdGljIGNvbnN0IFNlY29uZHMgdGhyb3R0bGVkVGltZXJJbnRlcnZh
bCB7IDI1MF9tcyB9OwogCiBjbGFzcyBQbHVnaW5UaW1lciA6IHB1YmxpYyBUaW1lckJhc2Ugewog
cHVibGljOgpAQCAtMTMwLDEwICsxMzAsMTAgQEAgcHVibGljOgogICAgIHsKICAgICAgICAgQVNT
RVJUKCFpc0FjdGl2ZSgpKTsKIAotICAgICAgICBkb3VibGUgdGltZUludGVydmFsID0gbV9pbnRl
cnZhbCAvIDEwMDAuMDsKKyAgICAgICAgU2Vjb25kcyB0aW1lSW50ZXJ2YWwgPSAxX21zICogbV9p
bnRlcnZhbDsKICAgICAgICAgCiAgICAgICAgIGlmICh0aHJvdHRsZSkKLSAgICAgICAgICAgIHRp
bWVJbnRlcnZhbCA9IHN0ZDo6bWF4KHRpbWVJbnRlcnZhbCwgVGhyb3R0bGVkVGltZXJJbnRlcnZh
bCk7CisgICAgICAgICAgICB0aW1lSW50ZXJ2YWwgPSBzdGQ6Om1heCh0aW1lSW50ZXJ2YWwsIHRo
cm90dGxlZFRpbWVySW50ZXJ2YWwpOwogICAgICAgICAKICAgICAgICAgaWYgKG1fcmVwZWF0KQog
ICAgICAgICAgICAgc3RhcnRSZXBlYXRpbmcoU2Vjb25kcyB7IHRpbWVJbnRlcnZhbCB9KTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1N0b3JhZ2UvV2ViU3RvcmFnZU1hbmFnZXIubW0g
Yi9Tb3VyY2UvV2ViS2l0L21hYy9TdG9yYWdlL1dlYlN0b3JhZ2VNYW5hZ2VyLm1tCmluZGV4IDM3
MDRmN2VkZDM1ODRmZjE4ZDc2YTY2YTlmMDIzMzg4NTRkYzdmNjkuLjgxYmExZTZkZGZiMGQwODk4
YzcwNzJlMWQ2ODEzNGU0NzJhNTc4MmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1N0
b3JhZ2UvV2ViU3RvcmFnZU1hbmFnZXIubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvU3RvcmFn
ZS9XZWJTdG9yYWdlTWFuYWdlci5tbQpAQCAtMTE3LDcgKzExNyw3IEBAICsgKE5TU3RyaW5nICop
X3N0b3JhZ2VEaXJlY3RvcnlQYXRoCiAKICsgKHZvaWQpc2V0U3RvcmFnZURhdGFiYXNlSWRsZUlu
dGVydmFsOihkb3VibGUpaW50ZXJ2YWwKIHsKLSAgICBXZWJLaXQ6OlN0b3JhZ2VUcmFja2VyOjp0
cmFja2VyKCkuc2V0U3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsKGludGVydmFsKTsKKyAgICBX
ZWJLaXQ6OlN0b3JhZ2VUcmFja2VyOjp0cmFja2VyKCkuc2V0U3RvcmFnZURhdGFiYXNlSWRsZUlu
dGVydmFsKDFfcyAqIGludGVydmFsKTsKIH0KIAogKyAodm9pZCljbG9zZUlkbGVMb2NhbFN0b3Jh
Z2VEYXRhYmFzZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2lu
TWVzc2FnZVRocm90dGxlcldpbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdp
bk1lc3NhZ2VUaHJvdHRsZXJXaW4uY3BwCmluZGV4IGE1M2MzMTVjMjAxODQzOTRmM2I0MDY0YTNm
NTQ0NzU3M2VkMmNmMDkuLjQzMzFhZmFmMTlkMzFiMjE0ODA3ZTllM2ZhNzJlODM4MDdiOWIxMmQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luTWVzc2FnZVRocm90
dGxlcldpbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5NZXNzYWdl
VGhyb3R0bGVyV2luLmNwcApAQCAtMzksNyArMzksNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAv
LyBUaGlzIHZhbHVlIGFsbG93cyBGbGFzaCA2MCBtZXNzYWdlcy9zZWNvbmQsIHdoaWNoIHNob3Vs
ZCBiZSBlbm91Z2ggZm9yIHZpZGVvCiAvLyBwbGF5YmFjaywgYW5kIGFsc28gZ2V0cyB1cyBvdmVy
IHRoZSBsaW1pdCBmb3Iga2lja2luZyBpbnRvIGhpZ2gtcmVzb2x1dGlvbgogLy8gdGltZXIgbW9k
ZSAoc2VlIFNoYXJlZFRpbWVyV2luLmNwcCkuCi1zdGF0aWMgY29uc3QgZG91YmxlIE1lc3NhZ2VU
aHJvdHRsZVRpbWVJbnRlcnZhbCA9IDAuMDE2Oworc3RhdGljIGNvbnN0IFNlY29uZHMgbWVzc2Fn
ZVRocm90dGxlVGltZUludGVydmFsIHsgMTZfbXMgfTsKIAogLy8gRHVyaW5nIGEgY29udGludW91
cyBzdHJlYW0gb2YgbWVzc2FnZXMsIHByb2Nlc3Mgb25lIGV2ZXJ5IDVtcy4KIHN0YXRpYyBjb25z
dCBkb3VibGUgTWVzc2FnZURpcmVjdFByb2Nlc3NpbmdJbnRlcnZhbCA9IDAuMDA1OwpAQCAtOTUs
NyArOTUsNyBAQCB2b2lkIFBsdWdpbk1lc3NhZ2VUaHJvdHRsZXJXaW46OmFwcGVuZE1lc3NhZ2Uo
SFdORCBoV25kLCBVSU5UIG1zZywgV1BBUkFNIHdQYXJhbQogICAgIH0KIAogICAgIGlmICghbV9t
ZXNzYWdlVGhyb3R0bGVUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX21lc3NhZ2VUaHJvdHRs
ZVRpbWVyLnN0YXJ0T25lU2hvdChNZXNzYWdlVGhyb3R0bGVUaW1lSW50ZXJ2YWwpOworICAgICAg
ICBtX21lc3NhZ2VUaHJvdHRsZVRpbWVyLnN0YXJ0T25lU2hvdChtZXNzYWdlVGhyb3R0bGVUaW1l
SW50ZXJ2YWwpOwogfQogCiB2b2lkIFBsdWdpbk1lc3NhZ2VUaHJvdHRsZXJXaW46OnByb2Nlc3NR
dWV1ZWRNZXNzYWdlKCkKQEAgLTExOCw3ICsxMTgsNyBAQCB2b2lkIFBsdWdpbk1lc3NhZ2VUaHJv
dHRsZXJXaW46Om1lc3NhZ2VUaHJvdHRsZVRpbWVyRmlyZWQoKQogICAgIHByb2Nlc3NRdWV1ZWRN
ZXNzYWdlKCk7CiAKICAgICBpZiAobV9mcm9udCkKLSAgICAgICAgbV9tZXNzYWdlVGhyb3R0bGVU
aW1lci5zdGFydE9uZVNob3QoTWVzc2FnZVRocm90dGxlVGltZUludGVydmFsKTsKKyAgICAgICAg
bV9tZXNzYWdlVGhyb3R0bGVUaW1lci5zdGFydE9uZVNob3QobWVzc2FnZVRocm90dGxlVGltZUlu
dGVydmFsKTsKIH0KIAogUGx1Z2luTWVzc2FnZSogUGx1Z2luTWVzc2FnZVRocm90dGxlcldpbjo6
YWxsb2NhdGVNZXNzYWdlKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL1BsdWdpbnMv
UGx1Z2luVmlld1dpbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpblZpZXdX
aW4uY3BwCmluZGV4IDc1Y2I3N2YxZjNkNGRhM2MxZDY2NzdmMTc5YjQyMmVmZDMyMDAzNzQuLjI0
ZmIxM2VkMzEzNWE1N2I1ODRkMDUwZDI5MGQ1Mjg1ODA2NTAwNzkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luVmlld1dpbi5jcHAKKysrIGIvU291cmNlL1dlYktp
dC93aW4vUGx1Z2lucy9QbHVnaW5WaWV3V2luLmNwcApAQCAtODM5LDcgKzgzOSw3IEBAIHZvaWQg
UGx1Z2luVmlldzo6aW52YWxpZGF0ZVJlY3QoTlBSZWN0KiByZWN0KQogICAgICAgICBpZiAobV9w
bHVnaW4tPnF1aXJrcygpLmNvbnRhaW5zKFBsdWdpblF1aXJrVGhyb3R0bGVJbnZhbGlkYXRlKSkg
ewogICAgICAgICAgICAgbV9pbnZhbGlkUmVjdHMuYXBwZW5kKHIpOwogICAgICAgICAgICAgaWYg
KCFtX2ludmFsaWRhdGVUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICAgICAgICAgIG1faW52YWxp
ZGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwLjAwMSk7CisgICAgICAgICAgICAgICAgbV9pbnZhbGlk
YXRlVGltZXIuc3RhcnRPbmVTaG90KDFfbXMpOwogICAgICAgICB9IGVsc2UKICAgICAgICAgICAg
IGludmFsaWRhdGVSZWN0KHIpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2lu
L1dlYkNvcmVTdXBwb3J0L0FjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0LmNwcCBiL1NvdXJj
ZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L0FjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0
LmNwcAppbmRleCBmYzBkMTU1NzBmZWFlYzlkYjM4Njk3MDhiNWFiN2M3YTRhZDIyMjgyLi41ZTE2
ZTIwZjE5YzEyYmY1NWIwZmRmODk4MWQ3MDkzODA4Yzg0ZWFiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9BY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dC5j
cHAKKysrIGIvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvQWNjZWxlcmF0ZWRDb21w
b3NpdGluZ0NvbnRleHQuY3BwCkBAIC0zNDksNyArMzQ5LDcgQEAgdm9pZCBBY2NlbGVyYXRlZENv
bXBvc2l0aW5nQ29udGV4dDo6c2NoZWR1bGVMYXllckZsdXNoKCkKICAgICBpZiAobV9sYXllckZs
dXNoVGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9sYXllckZsdXNo
VGltZXIuc3RhcnRPbmVTaG90KDAuMDUpOworICAgIG1fbGF5ZXJGbHVzaFRpbWVyLnN0YXJ0T25l
U2hvdCg1MF9tcyk7CiB9CiAKIGJvb2wgQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQ6OmZs
dXNoUGVuZGluZ0xheWVyQ2hhbmdlcygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3
b3JrUHJvY2Vzcy9QaW5nTG9hZC5oIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvUGlu
Z0xvYWQuaAppbmRleCBmMDE0NGQ2ODhkZjYzZTk1ZDQ0Njk0ODZjNTZjODY2ZDg4OWI3YTYxLi4z
OWJlMDZkM2UxYmM0NGZlMjFhNjk2NDBjZGE0OWU0ZDgyNjVhZGY0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9QaW5nTG9hZC5oCisrKyBiL1NvdXJjZS9XZWJLaXQy
L05ldHdvcmtQcm9jZXNzL1BpbmdMb2FkLmgKQEAgLTQ2LDcgKzQ2LDcgQEAgcHVibGljOgogCiAg
ICAgICAgIC8vIElmIHRoZSBzZXJ2ZXIgbmV2ZXIgcmVzcG9uZHMsIHRoaXMgb2JqZWN0IHdpbGwg
aGFuZyBhcm91bmQgZm9yZXZlci4KICAgICAgICAgLy8gU2V0IGEgdmVyeSBnZW5lcm91cyB0aW1l
b3V0LCBqdXN0IGluIGNhc2UuCi0gICAgICAgIG1fdGltZW91dFRpbWVyLnN0YXJ0T25lU2hvdCg2
MDAwMCk7CisgICAgICAgIG1fdGltZW91dFRpbWVyLnN0YXJ0T25lU2hvdCg2MDAwMF9zKTsKICAg
ICB9CiAgICAgCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1By
b2Nlc3Mvc291cC9OZXR3b3JrRGF0YVRhc2tTb3VwLmNwcCBiL1NvdXJjZS9XZWJLaXQyL05ldHdv
cmtQcm9jZXNzL3NvdXAvTmV0d29ya0RhdGFUYXNrU291cC5jcHAKaW5kZXggNWZmOWI3ODQwOWVi
ODA2OTY1OTFjOTI5YmU4Yzc1OTA1NGIzZTZkYS4uOTBiZTIzZGYzOTAzY2NmZmU2MmZlZjZkNjU1
ZjJhYWQxMjFmMzE3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mv
c291cC9OZXR3b3JrRGF0YVRhc2tTb3VwLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3Jr
UHJvY2Vzcy9zb3VwL05ldHdvcmtEYXRhVGFza1NvdXAuY3BwCkBAIC0yOTEsNyArMjkxLDcgQEAg
dm9pZCBOZXR3b3JrRGF0YVRhc2tTb3VwOjp0aW1lb3V0RmlyZWQoKQogdm9pZCBOZXR3b3JrRGF0
YVRhc2tTb3VwOjpzdGFydFRpbWVvdXQoKQogewogICAgIGlmIChtX2ZpcnN0UmVxdWVzdC50aW1l
b3V0SW50ZXJ2YWwoKSA+IDApCi0gICAgICAgIG1fdGltZW91dFNvdXJjZS5zdGFydE9uZVNob3Qo
bV9maXJzdFJlcXVlc3QudGltZW91dEludGVydmFsKCkpOworICAgICAgICBtX3RpbWVvdXRTb3Vy
Y2Uuc3RhcnRPbmVTaG90KDFfcyAqIG1fZmlyc3RSZXF1ZXN0LnRpbWVvdXRJbnRlcnZhbCgpKTsK
IH0KIAogdm9pZCBOZXR3b3JrRGF0YVRhc2tTb3VwOjpzdG9wVGltZW91dCgpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvQ29ubmVjdGlvbi5oIGIvU291cmNlL1dlYktp
dDIvUGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24uaAppbmRleCBjYjAwYjJkYzJhNmQwMjM4NGNlMzVi
M2MxNWNkMzBhZmRmNGE2YzZiLi5mY2UxZTYzYmMyOWZjYmIyZWUzYmU3MjA2MWY4MzZhYjczZmY3
ODlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvQ29ubmVjdGlvbi5o
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmgKQEAgLTE4OSw3
ICsxODksNyBAQCBwdWJsaWM6CiAKICNpZiBQTEFURk9STShDT0NPQSkKICAgICBib29sIGtpbGwo
KTsKLSAgICB2b2lkIHRlcm1pbmF0ZVNvb24oZG91YmxlIGludGVydmFsSW5TZWNvbmRzKTsKKyAg
ICB2b2lkIHRlcm1pbmF0ZVNvb24oU2Vjb25kcyk7CiAjZW5kaWYKIAogICAgIGJvb2wgaXNWYWxp
ZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNWYWxpZDsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvUGxhdGZvcm0vSVBDL21hYy9Db25uZWN0aW9uTWFjLm1tIGIvU291cmNlL1dlYktpdDIvUGxh
dGZvcm0vSVBDL21hYy9Db25uZWN0aW9uTWFjLm1tCmluZGV4IDVlNjViZjM1NjAyNThiMzJiNjBl
MDQ1YTg3MTI1MTk1Nzg0MWZlODEuLmU2YWI5ZGQzMzNjZDU0ZWMwZDNlN2JjMGViYTRhNTBhYWZj
MzY3MjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9tYWMvQ29ubmVj
dGlvbk1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvbWFjL0Nvbm5lY3Rp
b25NYWMubW0KQEAgLTgyLDIwICs4MiwyMCBAQCBlbnVtIHsKIC8vICAgIHRvIGVuc3VyZSBpdCBo
YXMgYSBjaGFuY2UgdG8gdGVybWluYXRlIGNsZWFubHkuCiBjbGFzcyBDb25uZWN0aW9uVGVybWlu
YXRpb25XYXRjaGRvZyB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIHZvaWQgY3JlYXRlQ29ubmVjdGlv
blRlcm1pbmF0aW9uV2F0Y2hkb2coT1NPYmplY3RQdHI8eHBjX2Nvbm5lY3Rpb25fdD4mIHhwY0Nv
bm5lY3Rpb24sIGRvdWJsZSBpbnRlcnZhbEluU2Vjb25kcykKKyAgICBzdGF0aWMgdm9pZCBjcmVh
dGVDb25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZyhPU09iamVjdFB0cjx4cGNfY29ubmVjdGlv
bl90PiYgeHBjQ29ubmVjdGlvbiwgU2Vjb25kcyBpbnRlcnZhbCkKICAgICB7Ci0gICAgICAgIG5l
dyBDb25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZyh4cGNDb25uZWN0aW9uLCBpbnRlcnZhbElu
U2Vjb25kcyk7CisgICAgICAgIG5ldyBDb25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZyh4cGND
b25uZWN0aW9uLCBpbnRlcnZhbCk7CiAgICAgfQogICAgIAogcHJpdmF0ZToKLSAgICBDb25uZWN0
aW9uVGVybWluYXRpb25XYXRjaGRvZyhPU09iamVjdFB0cjx4cGNfY29ubmVjdGlvbl90PiYgeHBj
Q29ubmVjdGlvbiwgZG91YmxlIGludGVydmFsSW5TZWNvbmRzKQorICAgIENvbm5lY3Rpb25UZXJt
aW5hdGlvbldhdGNoZG9nKE9TT2JqZWN0UHRyPHhwY19jb25uZWN0aW9uX3Q+JiB4cGNDb25uZWN0
aW9uLCBTZWNvbmRzIGludGVydmFsKQogICAgICAgICA6IG1feHBjQ29ubmVjdGlvbih4cGNDb25u
ZWN0aW9uKQogICAgICAgICAsIG1fd2F0Y2hkb2dUaW1lcihSdW5Mb29wOjptYWluKCksIHRoaXMs
ICZDb25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZzo6d2F0Y2hkb2dUaW1lckZpcmVkKQogI2lm
IFBMQVRGT1JNKElPUykKICAgICAgICAgLCBtX2Fzc2VydGlvbihzdGQ6Om1ha2VfdW5pcXVlPFdl
YktpdDo6UHJvY2Vzc0FuZFVJQXNzZXJ0aW9uPih4cGNfY29ubmVjdGlvbl9nZXRfcGlkKG1feHBj
Q29ubmVjdGlvbi5nZXQoKSksIFdlYktpdDo6QXNzZXJ0aW9uU3RhdGU6OkJhY2tncm91bmQpKQog
I2VuZGlmCiAgICAgewotICAgICAgICBtX3dhdGNoZG9nVGltZXIuc3RhcnRPbmVTaG90KGludGVy
dmFsSW5TZWNvbmRzKTsKKyAgICAgICAgbV93YXRjaGRvZ1RpbWVyLnN0YXJ0T25lU2hvdChpbnRl
cnZhbCk7CiAgICAgfQogICAgIAogICAgIHZvaWQgd2F0Y2hkb2dUaW1lckZpcmVkKCkKQEAgLTE1
NSwxMCArMTU1LDEwIEBAIHZvaWQgQ29ubmVjdGlvbjo6cGxhdGZvcm1JbnZhbGlkYXRlKCkKICNl
bmRpZgogfQogICAgIAotdm9pZCBDb25uZWN0aW9uOjp0ZXJtaW5hdGVTb29uKGRvdWJsZSBpbnRl
cnZhbEluU2Vjb25kcykKK3ZvaWQgQ29ubmVjdGlvbjo6dGVybWluYXRlU29vbihTZWNvbmRzIGlu
dGVydmFsKQogewogICAgIGlmIChtX3hwY0Nvbm5lY3Rpb24pCi0gICAgICAgIENvbm5lY3Rpb25U
ZXJtaW5hdGlvbldhdGNoZG9nOjpjcmVhdGVDb25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZyht
X3hwY0Nvbm5lY3Rpb24sIGludGVydmFsSW5TZWNvbmRzKTsKKyAgICAgICAgQ29ubmVjdGlvblRl
cm1pbmF0aW9uV2F0Y2hkb2c6OmNyZWF0ZUNvbm5lY3Rpb25UZXJtaW5hdGlvbldhdGNoZG9nKG1f
eHBjQ29ubmVjdGlvbiwgaW50ZXJ2YWwpOwogfQogICAgIAogdm9pZCBDb25uZWN0aW9uOjpwbGF0
Zm9ybUluaXRpYWxpemUoSWRlbnRpZmllciBpZGVudGlmaWVyKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQy
L1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5jcHAKaW5kZXggNzU4MTUzYmQ5YmJjN2Q1MTE3
MjVjYWE2M2VjMzU3MzUyZjVlNmZlMC4uOTY5OWIwNTMzNGNiYTFhOWQ5MDIwZjE4OWFjM2JiMTg0
ZTQ0ODA5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Q
cm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nl
c3MuY3BwCkBAIC0yMTYsOSArMjE2LDkgQEAgdm9pZCBQbHVnaW5Qcm9jZXNzOjpkZWxldGVXZWJz
aXRlRGF0YUZvckhvc3ROYW1lcyhjb25zdCBWZWN0b3I8U3RyaW5nPiYgaG9zdE5hbWUKICAgICBw
YXJlbnRQcm9jZXNzQ29ubmVjdGlvbigpLT5zZW5kKE1lc3NhZ2VzOjpQbHVnaW5Qcm9jZXNzUHJv
eHk6OkRpZERlbGV0ZVdlYnNpdGVEYXRhRm9ySG9zdE5hbWVzKGNhbGxiYWNrSUQpLCAwKTsKIH0K
IAotdm9pZCBQbHVnaW5Qcm9jZXNzOjpzZXRNaW5pbXVtTGlmZXRpbWUoZG91YmxlIGxpZmV0aW1l
KQordm9pZCBQbHVnaW5Qcm9jZXNzOjpzZXRNaW5pbXVtTGlmZXRpbWUoU2Vjb25kcyBsaWZldGlt
ZSkKIHsKLSAgICBpZiAobGlmZXRpbWUgPD0gMC4wKQorICAgIGlmIChsaWZldGltZSA8PSAwX3Mp
CiAgICAgICAgIHJldHVybjsKICAgICAKICAgICBkaXNhYmxlVGVybWluYXRpb24oKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5oIGIvU291
cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmgKaW5kZXggOTJjNjc3NzUy
NmFmYTBkMGU5MGQ3N2Q3NmJmYWY1MmUxNzIzOThlNy4uMjQ3OWE0Mzc1ZDdlMzUwNzE1NjI3NjZj
ZmJmYjRiNGQxOWYzYWZmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vz
cy9QbHVnaW5Qcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVn
aW5Qcm9jZXNzLmgKQEAgLTEwMSw3ICsxMDEsNyBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBwbGF0
Zm9ybUluaXRpYWxpemVQbHVnaW5Qcm9jZXNzKFBsdWdpblByb2Nlc3NDcmVhdGlvblBhcmFtZXRl
cnMmJik7CiAgICAgCi0gICAgdm9pZCBzZXRNaW5pbXVtTGlmZXRpbWUoZG91YmxlKTsKKyAgICB2
b2lkIHNldE1pbmltdW1MaWZldGltZShTZWNvbmRzKTsKICAgICB2b2lkIG1pbmltdW1MaWZldGlt
ZVRpbWVyRmlyZWQoKTsKICAgICAvLyBPdXIgd2ViIHByb2Nlc3MgY29ubmVjdGlvbnMuCiAgICAg
VmVjdG9yPFJlZlB0cjxXZWJQcm9jZXNzQ29ubmVjdGlvbj4+IG1fd2ViUHJvY2Vzc0Nvbm5lY3Rp
b25zOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0NoaWxkUHJvY2Vzcy5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ2hpbGRQcm9jZXNzLmNwcAppbmRleCBiYzFmMmQ2YWI2
YTZhZDI2MGZjZGM2MTQ1YzE2OGNhZmE2MmFmZjhiLi5mMWEzYTM4ZThiZDVkYmVkNjJhMDU0MWRj
MjhlMmYzMmFmYzRkNTdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ2hpbGRQ
cm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ2hpbGRQcm9jZXNzLmNwcApA
QCAtMzMsOCArMzMsNyBAQAogbmFtZXNwYWNlIFdlYktpdCB7CiAKIENoaWxkUHJvY2Vzczo6Q2hp
bGRQcm9jZXNzKCkKLSAgICA6IG1fdGVybWluYXRpb25UaW1lb3V0KDApCi0gICAgLCBtX3Rlcm1p
bmF0aW9uQ291bnRlcigwKQorICAgIDogbV90ZXJtaW5hdGlvbkNvdW50ZXIoMCkKICAgICAsIG1f
dGVybWluYXRpb25UaW1lcihSdW5Mb29wOjptYWluKCksIHRoaXMsICZDaGlsZFByb2Nlc3M6OnRl
cm1pbmF0aW9uVGltZXJGaXJlZCkKICAgICAsIG1fcHJvY2Vzc1N1cHByZXNzaW9uRGlzYWJsZWQo
IlByb2Nlc3MgU3VwcHJlc3Npb24gRGlzYWJsZWQgYnkgVUlQcm9jZXNzIikKIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9DaGlsZFByb2Nlc3MuaAppbmRleCA4YmEyNGRlNDU2MjYwNzA2YWFmMDQ5ZDRkMDE3
M2MyZTAxNDRjNzI4Li42ZmU3MmIxNzNmMGY3MDA1ZWM1ZDMyMTZjZWRjN2M3ZWI1YWZiNzk2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ2hpbGRQcm9jZXNzLmgKKysrIGIvU291
cmNlL1dlYktpdDIvU2hhcmVkL0NoaWxkUHJvY2Vzcy5oCkBAIC04MSw3ICs4MSw3IEBAIHByb3Rl
Y3RlZDoKICAgICBleHBsaWNpdCBDaGlsZFByb2Nlc3MoKTsKICAgICB2aXJ0dWFsIH5DaGlsZFBy
b2Nlc3MoKTsKIAotICAgIHZvaWQgc2V0VGVybWluYXRpb25UaW1lb3V0KGRvdWJsZSBzZWNvbmRz
KSB7IG1fdGVybWluYXRpb25UaW1lb3V0ID0gc2Vjb25kczsgfQorICAgIHZvaWQgc2V0VGVybWlu
YXRpb25UaW1lb3V0KFNlY29uZHMgc2Vjb25kcykgeyBtX3Rlcm1pbmF0aW9uVGltZW91dCA9IHNl
Y29uZHM7IH0KIAogICAgIHZpcnR1YWwgdm9pZCBpbml0aWFsaXplUHJvY2Vzcyhjb25zdCBDaGls
ZFByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMmKTsKICAgICB2aXJ0dWFsIHZvaWQgaW5p
dGlhbGl6ZVByb2Nlc3NOYW1lKGNvbnN0IENoaWxkUHJvY2Vzc0luaXRpYWxpemF0aW9uUGFyYW1l
dGVycyYpOwpAQCAtMTIwLDcgKzEyMCw3IEBAIHByaXZhdGU6CiAKICAgICAvLyBUaGUgdGltZW91
dCwgaW4gc2Vjb25kcywgYmVmb3JlIHRoaXMgcHJvY2VzcyB3aWxsIGJlIHRlcm1pbmF0ZWQgaWYg
dGVybWluYXRpb24KICAgICAvLyBoYXMgYmVlbiBlbmFibGVkLiBJZiB0aGUgdGltZW91dCBpcyAw
IHNlY29uZHMsIHRoZSBwcm9jZXNzIHdpbGwgYmUgdGVybWluYXRlZCBpbW1lZGlhdGVseS4KLSAg
ICBkb3VibGUgbV90ZXJtaW5hdGlvblRpbWVvdXQ7CisgICAgU2Vjb25kcyBtX3Rlcm1pbmF0aW9u
VGltZW91dDsKIAogICAgIC8vIEEgdGVybWluYXRpb24gY291bnRlcjsgd2hlbiB0aGUgY291bnRl
ciByZWFjaGVzIHplcm8sIHRoZSBwcm9jZXNzIHdpbGwgYmUgdGVybWluYXRlZAogICAgIC8vIGFm
dGVyIGEgZ2l2ZW4gcGVyaW9kIG9mIHRpbWUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy90aHJlYWRlZGNvbXBvc2l0b3IvQ29tcG9zaXRpbmdS
dW5Mb29wLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL3Ro
cmVhZGVkY29tcG9zaXRvci9Db21wb3NpdGluZ1J1bkxvb3AuY3BwCmluZGV4IGFhZGQ2YWJiMjZh
NTZmYTQ0NzZiYWE1N2ZkMWZmOTE3YzNkYzYxMjAuLjU2MTdiYmFkMDEwN2VlNGVmZmQzN2YxODFm
MmFlZWNjMmMzZWI5ZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Db29yZGlu
YXRlZEdyYXBoaWNzL3RocmVhZGVkY29tcG9zaXRvci9Db21wb3NpdGluZ1J1bkxvb3AuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL3RocmVhZGVkY29t
cG9zaXRvci9Db21wb3NpdGluZ1J1bkxvb3AuY3BwCkBAIC0xNTQsNyArMTU0LDcgQEAgdm9pZCBD
b21wb3NpdGluZ1J1bkxvb3A6OnN0YXJ0VXBkYXRlVGltZXIoVXBkYXRlVGltaW5nIHRpbWluZykK
ICAgICBpZiAodGltaW5nID09IFdhaXRVbnRpbE5leHRGcmFtZSkKICAgICAgICAgbmV4dFVwZGF0
ZVRpbWUgPSBzdGQ6Om1heCgoMSAvIHRhcmdldEZQUykgLSAobW9ub3RvbmljYWxseUluY3JlYXNp
bmdUaW1lKCkgLSBtX2xhc3RVcGRhdGVUaW1lKSwgMC4wKTsKIAotICAgIG1fdXBkYXRlVGltZXIu
c3RhcnRPbmVTaG90KG5leHRVcGRhdGVUaW1lKTsKKyAgICBtX3VwZGF0ZVRpbWVyLnN0YXJ0T25l
U2hvdCgxX3MgKiBuZXh0VXBkYXRlVGltZSk7CiB9CiAKIHZvaWQgQ29tcG9zaXRpbmdSdW5Mb29w
OjpzdG9wVXBkYXRlVGltZXIoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1Bs
dWdpbnMvUGx1Z2luUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIGIvU291cmNlL1dlYktpdDIv
U2hhcmVkL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCmluZGV4IGEx
MmE0NDQ1YmIxNmNhYWY2OTI3M2I2NGE4NjMyMTA4ZTdkNTQ5ZjQuLmIxYTM0YTRkZjFkMmQ4MjU5
OGFjYTZjZjg0NTRlYjRmYTFjZGU2ZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9QbHVnaW5zL1BsdWdpblByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgK
QEAgLTMwLDYgKzMwLDcgQEAKIAogI2luY2x1ZGUgIkF0dGFjaG1lbnQuaCIKICNpbmNsdWRlICJQ
bHVnaW5Qcm9jZXNzQXR0cmlidXRlcy5oIgorI2luY2x1ZGUgPHd0Zi9TZWNvbmRzLmg+CiAKICNp
ZiBQTEFURk9STShDT0NPQSkKICNpbmNsdWRlIDxXZWJDb3JlL01hY2hTZW5kUmlnaHQuaD4KQEAg
LTUxLDggKzUyLDggQEAgc3RydWN0IFBsdWdpblByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMgewog
ICAgIFBsdWdpblByb2Nlc3NUeXBlIHByb2Nlc3NUeXBlOwogICAgIGJvb2wgc3VwcG9ydHNBc3lu
Y2hyb25vdXNQbHVnaW5Jbml0aWFsaXphdGlvbjsKIAotICAgIGRvdWJsZSBtaW5pbXVtTGlmZXRp
bWU7Ci0gICAgZG91YmxlIHRlcm1pbmF0aW9uVGltZW91dDsKKyAgICBTZWNvbmRzIG1pbmltdW1M
aWZldGltZTsKKyAgICBTZWNvbmRzIHRlcm1pbmF0aW9uVGltZW91dDsKIAogI2lmIFBMQVRGT1JN
KENPQ09BKQogICAgIFdlYkNvcmU6Ok1hY2hTZW5kUmlnaHQgYWNjZWxlcmF0ZWRDb21wb3NpdGlu
Z1BvcnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViTWVtb3J5U2FtcGxl
ci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViTWVtb3J5U2FtcGxlci5jcHAKaW5kZXgg
YmFiYzI4ODhjYjc1ZmI0NmYzODgwZDhjZGI4MzFmMmE3ZDI0NjIwYi4uMTUxMzM5MDg4ZGM1ZTAw
YTkwYzFhMmNhNGFhYTZmOTM4MTI1YzFjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hh
cmVkL1dlYk1lbW9yeVNhbXBsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJN
ZW1vcnlTYW1wbGVyLmNwcApAQCAtOTEsNyArOTEsNyBAQCB2b2lkIFdlYk1lbW9yeVNhbXBsZXI6
OmluaXRpYWxpemVUaW1lcnMoZG91YmxlIGludGVydmFsKQogICAgIG1fc2FtcGxlVGltZXIuc3Rh
cnRSZXBlYXRpbmcoMV9zKTsKICAgICBwcmludGYoIlN0YXJ0ZWQgbWVtb3J5IHNhbXBsZXIgZm9y
IHByb2Nlc3MgJXMgJWQiLCBwcm9jZXNzTmFtZSgpLnV0ZjgoKS5kYXRhKCksIGdldHBpZCgpKTsK
ICAgICBpZiAoaW50ZXJ2YWwgPiAwKSB7Ci0gICAgICAgIG1fc3RvcFRpbWVyLnN0YXJ0T25lU2hv
dChpbnRlcnZhbCk7CisgICAgICAgIG1fc3RvcFRpbWVyLnN0YXJ0T25lU2hvdCgxX3MgKiBpbnRl
cnZhbCk7CiAgICAgICAgIHByaW50ZigiIGZvciBhIGludGVydmFsIG9mICVnIHNlY29uZHMiLCBp
bnRlcnZhbCk7CiAgICAgfQogICAgIHByaW50ZigiOyBTYW1wbGVyIGxvZyBmaWxlIHN0b3JlZCBh
dDogJXNcbiIsIG1fc2FtcGxlTG9nRmlsZVBhdGgudXRmOCgpLmRhdGEoKSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIGIv
U291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaAppbmRl
eCBmZDgwNmIyMjAyNDc5ZTE2MDQ4NjFkZjk4ZTA4Y2FiMWExYWE2MGQ5Li45MjZhMzIyMGZiNjhk
MTViZWJkMDA2ODIxMzViMGQxMmEyNTQ0OGJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKQEAgLTEyNiw3ICsxMjYsNyBA
QCBzdHJ1Y3QgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyB7CiAgICAgYm9vbCBoYXNSaWNo
Q29udGVudFNlcnZpY2VzIHsgZmFsc2UgfTsKICNlbmRpZgogCi0gICAgZG91YmxlIHRlcm1pbmF0
aW9uVGltZW91dCB7IDAgfTsKKyAgICBTZWNvbmRzIHRlcm1pbmF0aW9uVGltZW91dDsKIAogICAg
IFRleHRDaGVja2VyU3RhdGUgdGV4dENoZWNrZXJTdGF0ZTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9BUElTZXJpYWxpemVkU2NyaXB0VmFsdWVDb2Nv
YS5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvQVBJU2VyaWFsaXplZFNj
cmlwdFZhbHVlQ29jb2EubW0KaW5kZXggODM5NDVkZmVkMzFjNTkxODM1OGJlN2Y2NzE2YjFiZmU3
MDE4OGI1OS4uMWI1ZGQwMzYzOTFmMjJiOWViYzViNzIzZDkyMjNmODAyOTBlOWExOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9BUElTZXJpYWxpemVkU2Ny
aXB0VmFsdWVDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29h
L0FQSVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUNvY29hLm1tCkBAIC00Niw3ICs0Niw3IEBAIHB1Ymxp
YzoKICAgICB7CiAgICAgICAgIGlmICghbV9jb250ZXh0KSB7CiAgICAgICAgICAgICBtX2NvbnRl
eHQgPSBhZG9wdE5TKFtbSlNDb250ZXh0IGFsbG9jXSBpbml0XSk7Ci0gICAgICAgICAgICBtX3Rp
bWVyLnN0YXJ0T25lU2hvdCgxKTsKKyAgICAgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDFf
cyk7CiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuIG1fY29udGV4dC5nZXQoKTsKICAgICB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ2hpbGRQcm9jZXNzUHJveHkuY3Bw
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NoaWxkUHJvY2Vzc1Byb3h5LmNwcAppbmRleCBk
ZDhhZWY1NTBhYTY2YzIzOTU4M2Y4ODI5MzgyMzQyNGNjYjM5ZGM0Li4yN2JlYzM2MjMxNWNiMTEw
ZjFjOGZlNDYzNmE2NGQyZDg2NWU0NDk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQ2hpbGRQcm9jZXNzUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9DaGlsZFByb2Nlc3NQcm94eS5jcHAKQEAgLTE5Nyw3ICsxOTcsNyBAQCB2b2lkIENoaWxkUHJv
Y2Vzc1Byb3h5OjpzaHV0RG93blByb2Nlc3MoKQogICAgICAgICAvLyBPbiBpT1MgZGVwbG95IGEg
d2F0Y2hkb2cgaW4gdGhlIFVJIHByb2Nlc3MsIHNpbmNlIHRoZSBjaGlsZCBwcm9jZXNzIG1heSBi
ZSBzdXNwZW5kZWQuCiAgICAgICAgIC8vIElmIDMwcyBpcyBpbnN1ZmZpY2llbnQgZm9yIGFueSBv
dXRzdGFuZGluZyBhY3Rpdml0eSB0byBjb21wbGV0ZSBjbGVhbmx5LCB0aGVuIGl0IHdpbGwgYmUg
a2lsbGVkLgogICAgICAgICBBU1NFUlQobV9jb25uZWN0aW9uKTsKLSAgICAgICAgbV9jb25uZWN0
aW9uLT50ZXJtaW5hdGVTb29uKDMwKTsKKyAgICAgICAgbV9jb25uZWN0aW9uLT50ZXJtaW5hdGVT
b29uKDMwX3MpOwogI2VuZGlmCiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgU3RhdGU6OlRlcm1p
bmF0ZWQ6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvTmF2aWdh
dGlvblN0YXRlLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL05hdmlnYXRpb25T
dGF0ZS5tbQppbmRleCA2YjgxY2U0NTY0MWQ0ZmRjMzI3YTA2ZjZjZGNlOThkYTEzZmRhYTE5Li45
NmI5NjAyMGRjODkzM2I4NDkzNmUxZjFkY2FkYTJjOWRlODZkNGJiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvTmF2aWdhdGlvblN0YXRlLm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9OYXZpZ2F0aW9uU3RhdGUubW0KQEAgLTg4Nyw3ICs4
ODcsNyBAQCB2b2lkIE5hdmlnYXRpb25TdGF0ZTo6ZGlkQ2hhbmdlSXNMb2FkaW5nKCkKICAgICB9
IGVsc2UgewogICAgICAgICAvLyBEZWxheSByZWxlYXNpbmcgdGhlIGJhY2tncm91bmQgYWN0aXZp
dHkgZm9yIDMgc2Vjb25kcyB0byBnaXZlIHRoZSBhcHBsaWNhdGlvbiBhIGNoYW5jZSB0byBzdGFy
dCBhbm90aGVyIG5hdmlnYXRpb24KICAgICAgICAgLy8gYmVmb3JlIHN1c3BlbmRpbmcgdGhlIFdl
YkNvbnRlbnQgcHJvY2VzcyA8cmRhcjovL3Byb2JsZW0vMjc5MTA5NjQ+LgotICAgICAgICBtX3Jl
bGVhc2VBY3Rpdml0eVRpbWVyLnN0YXJ0T25lU2hvdCgzcyk7CisgICAgICAgIG1fcmVsZWFzZUFj
dGl2aXR5VGltZXIuc3RhcnRPbmVTaG90KDNfcyk7CiAgICAgfQogI2VuZGlmCiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9WaWV3R2VzdHVyZUNvbnRyb2xsZXIu
Y3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1ZpZXdHZXN0dXJlQ29udHJvbGxl
ci5jcHAKaW5kZXggNzk5ZGE2NWM5YTdhM2U1MTRiY2Y1YzRjOTcwMDYzMDFlNjYyOTdmMy4uYzRk
MzAwMTBkZDM3Y2FiZWZhNzBkYjI0OTVkZjMxYjRlNzcxNDQzOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5jcHAK
QEAgLTQwLDEzICs0MCwxMyBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogbmFtZXNwYWNl
IFdlYktpdCB7CiAKLXN0YXRpYyBjb25zdCBzdGQ6OmNocm9ubzo6c2Vjb25kcyBzd2lwZVNuYXBz
aG90UmVtb3ZhbFdhdGNoZG9nQWZ0ZXJGaXJzdFZpc3VhbGx5Tm9uRW1wdHlMYXlvdXREdXJhdGlv
biA9IDNzOwotc3RhdGljIGNvbnN0IFNlY29uZHMgc3dpcGVTbmFwc2hvdFJlbW92YWxBY3RpdmVM
b2FkTW9uaXRvcmluZ0ludGVydmFsID0gMjUwX21zOworc3RhdGljIGNvbnN0IFNlY29uZHMgc3dp
cGVTbmFwc2hvdFJlbW92YWxXYXRjaGRvZ0FmdGVyRmlyc3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0
RHVyYXRpb24geyAzX3MgfTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHN3aXBlU25hcHNob3RSZW1v
dmFsQWN0aXZlTG9hZE1vbml0b3JpbmdJbnRlcnZhbCB7IDI1MF9tcyB9OwogCiAjaWYgUExBVEZP
Uk0oTUFDKQotc3RhdGljIGNvbnN0IHN0ZDo6Y2hyb25vOjpzZWNvbmRzIHN3aXBlU25hcHNob3RS
ZW1vdmFsV2F0Y2hkb2dEdXJhdGlvbiA9IDVzOworc3RhdGljIGNvbnN0IFNlY29uZHMgc3dpcGVT
bmFwc2hvdFJlbW92YWxXYXRjaGRvZ0R1cmF0aW9uID0gNV9zOwogI2Vsc2UKLXN0YXRpYyBjb25z
dCBzdGQ6OmNocm9ubzo6c2Vjb25kcyBzd2lwZVNuYXBzaG90UmVtb3ZhbFdhdGNoZG9nRHVyYXRp
b24gPSAzczsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHN3aXBlU25hcHNob3RSZW1vdmFsV2F0Y2hk
b2dEdXJhdGlvbiA9IDNfczsKICNlbmRpZgogCiBzdGF0aWMgSGFzaE1hcDx1aW50NjRfdCwgVmll
d0dlc3R1cmVDb250cm9sbGVyKj4mIHZpZXdHZXN0dXJlQ29udHJvbGxlcnNGb3JBbGxQYWdlcygp
CkBAIC0yOTcsMTAgKzI5NywxMCBAQCB2b2lkIFZpZXdHZXN0dXJlQ29udHJvbGxlcjo6U25hcHNo
b3RSZW1vdmFsVHJhY2tlcjo6d2F0Y2hkb2dUaW1lckZpcmVkKCkKICAgICBmaXJlUmVtb3ZhbENh
bGxiYWNrSW1tZWRpYXRlbHkoKTsKIH0KIAotdm9pZCBWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OlNu
YXBzaG90UmVtb3ZhbFRyYWNrZXI6OnN0YXJ0V2F0Y2hkb2coc3RkOjpjaHJvbm86OnNlY29uZHMg
ZHVyYXRpb24pCit2b2lkIFZpZXdHZXN0dXJlQ29udHJvbGxlcjo6U25hcHNob3RSZW1vdmFsVHJh
Y2tlcjo6c3RhcnRXYXRjaGRvZyhTZWNvbmRzIGR1cmF0aW9uKQogewotICAgIGxvZyhTdHJpbmc6
OmZvcm1hdCgiKHJlKXN0YXJ0ZWQgd2F0Y2hkb2cgdGltZXIgZm9yICVsbGQgc2Vjb25kcyIsIGR1
cmF0aW9uLmNvdW50KCkpKTsKLSAgICBtX3dhdGNoZG9nVGltZXIuc3RhcnRPbmVTaG90KGR1cmF0
aW9uLmNvdW50KCkpOworICAgIGxvZyhTdHJpbmc6OmZvcm1hdCgiKHJlKXN0YXJ0ZWQgd2F0Y2hk
b2cgdGltZXIgZm9yICUuMWYgc2Vjb25kcyIsIGR1cmF0aW9uLnNlY29uZHMoKSkpOworICAgIG1f
d2F0Y2hkb2dUaW1lci5zdGFydE9uZVNob3QoZHVyYXRpb24pOwogfQogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9WaWV3
R2VzdHVyZUNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9WaWV3
R2VzdHVyZUNvbnRyb2xsZXIuaAppbmRleCAxYmU1OWJjNTNkZjA0ZjA2NTg1Y2JjZTBiYWNiZjBk
YzJmODYxNTliLi5mMTkzZTc4MzMzZjY5ZWZhM2Y4YjZhN2JmMDljOWQ3ZDA5MDViMTQ4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvVmlld0dlc3R1cmVDb250cm9s
bGVyLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1ZpZXdHZXN0dXJlQ29u
dHJvbGxlci5oCkBAIC0xNTksNyArMTU5LDcgQEAgcHJpdmF0ZToKICAgICAgICAgYm9vbCBldmVu
dE9jY3VycmVkKEV2ZW50cyk7CiAgICAgICAgIGJvb2wgY2FuY2VsT3V0c3RhbmRpbmdFdmVudChF
dmVudHMpOwogCi0gICAgICAgIHZvaWQgc3RhcnRXYXRjaGRvZyhzdGQ6OmNocm9ubzo6c2Vjb25k
cyk7CisgICAgICAgIHZvaWQgc3RhcnRXYXRjaGRvZyhTZWNvbmRzKTsKIAogICAgIHByaXZhdGU6
CiAgICAgICAgIHN0YXRpYyBTdHJpbmcgZXZlbnRzRGVzY3JpcHRpb24oRXZlbnRzKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1wbC5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eUltcGwuY3BwCmluZGV4
IDlhOTdiM2ZiZTI1OGZjNTQyMTE5YjVjNjgyYTdhMTY2OGQ5ZTYwYTUuLjA5YmEzMGI0ODNkMGZj
ODZmMTgwMTQ3OTBiNjYzYWMzZGJmMmVjNjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0RyYXdpbmdBcmVhUHJveHlJbXBsLmNwcApAQCAtMTg3LDcgKzE4Nyw3IEBAIHZvaWQg
RHJhd2luZ0FyZWFQcm94eUltcGw6OmRpc2NhcmRCYWNraW5nU3RvcmVTb29uKCkKIAogICAgIC8v
IFdlJ2xsIHdhaXQgdGhpcyBtYW55IHNlY29uZHMgYWZ0ZXIgdGhlIGxhc3QgcGFpbnQgYmVmb3Jl
IHRocm93aW5nIGF3YXkgb3VyIGJhY2tpbmcgc3RvcmUgdG8gc2F2ZSBtZW1vcnkuCiAgICAgLy8g
RklYTUU6IEl0IHdvdWxkIGJlIHNtYXJ0ZXIgdG8gbWFrZSB0aGlzIGRlbGF5IGJhc2VkIG9uIGhv
dyBleHBlbnNpdmUgcGFpbnRpbmcgaXMuIFNlZSA8aHR0cDovL3dlYmtpdC5vcmcvYi81NTczMz4u
Ci0gICAgc3RhdGljIGNvbnN0IGRvdWJsZSBkaXNjYXJkQmFja2luZ1N0b3JlRGVsYXkgPSAyOwor
ICAgIHN0YXRpYyBjb25zdCBTZWNvbmRzIGRpc2NhcmRCYWNraW5nU3RvcmVEZWxheSA9IDJfczsK
IAogICAgIG1fZGlzY2FyZEJhY2tpbmdTdG9yZVRpbWVyLnN0YXJ0T25lU2hvdChkaXNjYXJkQmFj
a2luZ1N0b3JlRGVsYXkpOwogfQpAQCAtMjI4LDcgKzIyOCw3IEBAIHZvaWQgRHJhd2luZ0FyZWFQ
cm94eUltcGw6OkRyYXdpbmdNb25pdG9yOjpzdGFydChzdGQ6OmZ1bmN0aW9uPHZvaWQgKENhbGxi
YWNrQmFzCiAgICAgbV9jYWxsYmFjayA9IGNhbGxiYWNrOwogI2lmIFBMQVRGT1JNKEdUSykKICAg
ICBnX3NpZ25hbF9jb25uZWN0X3N3YXBwZWQobV93ZWJQYWdlLnZpZXdXaWRnZXQoKSwgImRyYXci
LCByZWludGVycHJldF9jYXN0PEdDYWxsYmFjaz4od2ViVmlld0RyYXdDYWxsYmFjayksIHRoaXMp
OwotICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDEpOworICAgIG1fdGltZXIuc3RhcnRPbmVTaG90
KDFfcyk7CiAjZWxzZQogICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAjZW5kaWYKQEAg
LTI1NSw3ICsyNTUsNyBAQCB2b2lkIERyYXdpbmdBcmVhUHJveHlJbXBsOjpEcmF3aW5nTW9uaXRv
cjo6ZGlkRHJhdygpCiAgICAgaWYgKG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZU1TKCkgLSBt
X3N0YXJ0VGltZSA+IDEwMDApCiAgICAgICAgIHN0b3AoKTsKICAgICBlbHNlCi0gICAgICAgIG1f
dGltZXIuc3RhcnRPbmVTaG90KDAuMTAwKTsKKyAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3Qo
MTAwX21zKTsKIH0KIAogdm9pZCBEcmF3aW5nQXJlYVByb3h5SW1wbDo6ZGlzcGF0Y2hBZnRlckVu
c3VyaW5nRHJhd2luZyhzdGQ6OmZ1bmN0aW9uPHZvaWQoQ2FsbGJhY2tCYXNlOjpFcnJvcik+IGNh
bGxiYWNrRnVuY3Rpb24pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvR2Ft
ZXBhZC9VSUdhbWVwYWRQcm92aWRlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvR2Ft
ZXBhZC9VSUdhbWVwYWRQcm92aWRlci5jcHAKaW5kZXggNjU3YzQxNmY5MDZlNWQwNDM5MDFmYzNl
ODI0NGI0ZDg3NjI2ODEwZi4uMGJlZTc1NDgzNjFhZDU3NTQzZGJiMDcxOGI3YmU1NzRmYTRlNmFh
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0dhbWVwYWQvVUlHYW1lcGFk
UHJvdmlkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9HYW1lcGFkL1VJR2Ft
ZXBhZFByb3ZpZGVyLmNwcApAQCAtMzksNyArMzksNyBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29y
ZTsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLXN0YXRpYyBjb25zdCBkb3VibGUgbWF4aW11bUdh
bWVwYWRVcGRhdGVJbnRlcnZhbCA9IDEgLyAxMjAuMDsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIG1h
eGltdW1HYW1lcGFkVXBkYXRlSW50ZXJ2YWwgeyAxX3MgLyAxMjAuIH07CiAKIFVJR2FtZXBhZFBy
b3ZpZGVyJiBVSUdhbWVwYWRQcm92aWRlcjo6c2luZ2xldG9uKCkKIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NQcm94eS5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzUHJveHkuY3BwCmlu
ZGV4IDVmZjUxYjUwOWU4NmYyYjUyNDI0MDI1YzgyNWNlZmJhMTEzZWEyYzEuLmJhY2Q3M2U1NDAz
NDBhNDQyNmQ2MGU5MGVjYTc5NzFiYTViMGRhNzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NQcm94eS5jcHAKKysrIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5LmNwcApAQCAtNDYsMTEg
KzQ2LDExIEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsK
IAotc3RhdGljIGNvbnN0IGRvdWJsZSBtaW5pbXVtTGlmZXRpbWUgPSAyICogNjA7Ci1zdGF0aWMg
Y29uc3QgZG91YmxlIHNuYXBzaG90dGluZ01pbmltdW1MaWZldGltZSA9IDMwOworc3RhdGljIGNv
bnN0IFNlY29uZHMgbWluaW11bUxpZmV0aW1lIHsgMl9taW4gfTsKK3N0YXRpYyBjb25zdCBTZWNv
bmRzIHNuYXBzaG90dGluZ01pbmltdW1MaWZldGltZSB7IDMwX3MgfTsKIAotc3RhdGljIGNvbnN0
IGRvdWJsZSBzaHV0ZG93blRpbWVvdXQgPSAxICogNjA7Ci1zdGF0aWMgY29uc3QgZG91YmxlIHNu
YXBzaG90dGluZ1NodXRkb3duVGltZW91dCA9IDE1Oworc3RhdGljIGNvbnN0IFNlY29uZHMgc2h1
dGRvd25UaW1lb3V0IHsgMV9taW4gfTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHNuYXBzaG90dGlu
Z1NodXRkb3duVGltZW91dCB7IDE1X3MgfTsKIAogc3RhdGljIHVpbnQ2NF90IGdlbmVyYXRlQ2Fs
bGJhY2tJRCgpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUHJvY2Vz
c1Rocm90dGxlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUHJvY2Vzc1Rocm90dGxl
ci5jcHAKaW5kZXggNzdiMGI4YzcxZjg4ZjhiYzIwNDkwMmJmNDZhMjZjMzQ4NWEzNzUxZi4uMDkz
ODYzYzExY2Q2NzA0N2MxY2UzZTIwYzc5OWMzNjZlZDc4NWE0NiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1Byb2Nlc3NUaHJvdHRsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9Qcm9jZXNzVGhyb3R0bGVyLmNwcApAQCAtMzEsNyArMzEsNyBAQAogCiBu
YW1lc3BhY2UgV2ViS2l0IHsKICAgICAKLXN0YXRpYyBjb25zdCB1bnNpZ25lZCBwcm9jZXNzU3Vz
cGVuc2lvblRpbWVvdXQgPSAzMDsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHByb2Nlc3NTdXNwZW5z
aW9uVGltZW91dCB7IDMwX3MgfTsKICAgICAKIFByb2Nlc3NUaHJvdHRsZXI6OlByb2Nlc3NUaHJv
dHRsZXIoUHJvY2Vzc1Rocm90dGxlckNsaWVudCYgcHJvY2VzcykKICAgICA6IG1fcHJvY2Vzcyhw
cm9jZXNzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Jlc3BvbnNpdmVu
ZXNzVGltZXIuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Jlc3BvbnNpdmVuZXNzVGlt
ZXIuY3BwCmluZGV4IGZlYjQ2OWYwODQyYjVhZTY5YjM2ZjBmY2ZkNjg2MWM0MDY3ZWVmMmIuLjlh
ZTVmZDFjNzExMDM5NDk3MTYzMDVjOWQ5MmJiZGY1MjQ2NzVmMTMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9SZXNwb25zaXZlbmVzc1RpbWVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvUmVzcG9uc2l2ZW5lc3NUaW1lci5jcHAKQEAgLTI4LDcgKzI4LDcg
QEAKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLXN0YXRpYyBjb25zdCBkb3VibGUgcmVzcG9uc2l2
ZW5lc3NUaW1lb3V0ID0gMzsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHJlc3BvbnNpdmVuZXNzVGlt
ZW91dCB7IDNfcyB9OwogCiBSZXNwb25zaXZlbmVzc1RpbWVyOjpSZXNwb25zaXZlbmVzc1RpbWVy
KFJlc3BvbnNpdmVuZXNzVGltZXI6OkNsaWVudCYgY2xpZW50KQogICAgIDogbV9jbGllbnQoY2xp
ZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29s
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKaW5kZXgg
MWRkN2FlMjQzYmY1OTZkZjIzMDAzYjNhNjM4ZGEzMmE5NDQyYzNjYS4uZWZlNDZmNTY3MDQzNmNl
NmM0NjY5N2M4MGY3YWVjNjhhNmU4ODc2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUHJvY2Vzc1Bvb2wuY3BwCkBAIC02ODksNyArNjg5LDcgQEAgV2ViUHJvY2Vzc1Byb3h5JiBX
ZWJQcm9jZXNzUG9vbDo6Y3JlYXRlTmV3V2ViUHJvY2VzcyhXZWJzaXRlRGF0YVN0b3JlKiB3ZWJz
aXRlRGEKIAogICAgIHBhcmFtZXRlcnMuaWNvbkRhdGFiYXNlRW5hYmxlZCA9ICFpY29uRGF0YWJh
c2VQYXRoKCkuaXNFbXB0eSgpOwogCi0gICAgcGFyYW1ldGVycy50ZXJtaW5hdGlvblRpbWVvdXQg
PSAwOworICAgIHBhcmFtZXRlcnMudGVybWluYXRpb25UaW1lb3V0ID0gMF9zOwogCiAgICAgcGFy
YW1ldGVycy50ZXh0Q2hlY2tlclN0YXRlID0gVGV4dENoZWNrZXI6OnN0YXRlKCk7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9ndGsvR2VzdHVyZUNvbnRyb2xsZXIuY3Bw
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2d0ay9HZXN0dXJlQ29udHJvbGxlci5jcHAKaW5k
ZXggMDU1NmVhN2M0ZjZmOTk4Yzg3ZmEyZTIzY2UzMDc3NzRjMTFkYjQ3Ni4uYTM3MzQyOWMxYzVj
Mjc4MTNlZGU1MTE5NTBmOWVhMjI0NDFmYzMyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL2d0ay9HZXN0dXJlQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL2d0ay9HZXN0dXJlQ29udHJvbGxlci5jcHAKQEAgLTEyNyw3ICsxMjcsNyBAQCB2
b2lkIEdlc3R1cmVDb250cm9sbGVyOjpEcmFnR2VzdHVyZTo6YmVnaW4oRHJhZ0dlc3R1cmUqIGRy
YWdHZXN0dXJlLCBkb3VibGUgeCwgZAogICAgIEd0a1dpZGdldCogd2lkZ2V0ID0gZ3RrX2V2ZW50
X2NvbnRyb2xsZXJfZ2V0X3dpZGdldChHVEtfRVZFTlRfQ09OVFJPTExFUihnZXN0dXJlKSk7CiAg
ICAgdW5zaWduZWQgZGVsYXk7CiAgICAgZ19vYmplY3RfZ2V0KGd0a193aWRnZXRfZ2V0X3NldHRp
bmdzKHdpZGdldCksICJndGstbG9uZy1wcmVzcy10aW1lIiwgJmRlbGF5LCBudWxscHRyKTsKLSAg
ICBkcmFnR2VzdHVyZS0+bV9sb25nUHJlc3NUaW1lb3V0LnN0YXJ0T25lU2hvdChkZWxheSAvIDEw
MDAuMCk7CisgICAgZHJhZ0dlc3R1cmUtPm1fbG9uZ1ByZXNzVGltZW91dC5zdGFydE9uZVNob3Qo
MV9tcyAqIGRlbGF5KTsKIH0KIAogdm9pZCBHZXN0dXJlQ29udHJvbGxlcjo6RHJhZ0dlc3R1cmU6
OnVwZGF0ZShEcmFnR2VzdHVyZSogZHJhZ0dlc3R1cmUsIGRvdWJsZSB4LCBkb3VibGUgeSwgR3Rr
R2VzdHVyZSogZ2VzdHVyZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9t
YWMvV2ViSW5zcGVjdG9yUHJveHlNYWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFj
L1dlYkluc3BlY3RvclByb3h5TWFjLm1tCmluZGV4IGRiZDQwNDJkMzdkZTQ3ZGM0YWJlYzY5Yzky
ZTc0MGJjMDJkMDdhMGEuLjJjNDU3YzdhOGQ4N2VjNzk1YTdkMjg0Zjg4NDFkNzczODI5M2YyYWQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV2ViSW5zcGVjdG9yUHJv
eHlNYWMubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XZWJJbnNwZWN0b3JQ
cm94eU1hYy5tbQpAQCAtNTIsNyArNTIsNyBAQCBzdGF0aWMgY29uc3QgTlNVSW50ZWdlciB3aW5k
b3dTdHlsZU1hc2sgPSBOU1dpbmRvd1N0eWxlTWFza1RpdGxlZCB8IE5TV2luZG93U3R5bAogCiAv
LyBUaGUgdGltZSB3ZSBrZWVwIG91ciBXZWJWaWV3IGFsaXZlIGJlZm9yZSBjbG9zaW5nIGl0IGFu
ZCBpdHMgcHJvY2Vzcy4KIC8vIFJldXNpbmcgdGhlIFdlYlZpZXcgaW1wcm92ZXMgc3RhcnQgdXAg
dGltZSBmb3IgcGVvcGxlIHRoYXQganVtcCBpbiBhbmQgb3V0IG9mIHRoZSBJbnNwZWN0b3IuCi1z
dGF0aWMgY29uc3QgdW5zaWduZWQgd2ViVmlld0Nsb3NlVGltZW91dCA9IDYwOworc3RhdGljIGNv
bnN0IFNlY29uZHMgd2ViVmlld0Nsb3NlVGltZW91dCB7IDFfbWluIH07CiAKIC8vIFdLV2ViSW5z
cGVjdG9yUHJveHlPYmpDQWRhcHRlciBpcyBhIGhlbHBlciBPYmpDIG9iamVjdCB1c2VkIGFzIGEg
ZGVsZWdhdGUgb3Igbm90aWZpY2F0aW9uIG9ic2VydmVyCiAvLyBmb3IgdGhlIHNvbGUgcHVycG9z
ZSBvZiBnZXR0aW5nIGJhY2sgaW50byB0aGUgQysrIGNvZGUgZnJvbSBhbiBPYmpDIGNhbGxlci4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9BY2NlbGVyYXRl
ZERyYXdpbmdBcmVhLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9BY2Nl
bGVyYXRlZERyYXdpbmdBcmVhLmNwcAppbmRleCBmNDI4MjEwZmJhZmFiMzBkMTgzYmVhOGE2MjFm
N2MyMDM0OTQ0OGU1Li5lM2M1OGM4NjA5NjBmMGJhMmVlOWU4MDdhOGEyNzU4Y2RhNWMwNTA4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQWNjZWxlcmF0ZWRE
cmF3aW5nQXJlYS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Fj
Y2VsZXJhdGVkRHJhd2luZ0FyZWEuY3BwCkBAIC0zODQsNyArMzg0LDcgQEAgdm9pZCBBY2NlbGVy
YXRlZERyYXdpbmdBcmVhOjpleGl0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGVOb3coKQogICAg
IG1fcHJldmlvdXNMYXllclRyZWVIb3N0LT5zZXRJc0Rpc2NhcmRhYmxlKHRydWUpOwogICAgIG1f
cHJldmlvdXNMYXllclRyZWVIb3N0LT5wYXVzZVJlbmRlcmluZygpOwogICAgIG1fcHJldmlvdXNM
YXllclRyZWVIb3N0LT5zZXRMYXllckZsdXNoU2NoZWR1bGluZ0VuYWJsZWQoZmFsc2UpOwotICAg
IG1fZGlzY2FyZFByZXZpb3VzTGF5ZXJUcmVlSG9zdFRpbWVyLnN0YXJ0T25lU2hvdCg1KTsKKyAg
ICBtX2Rpc2NhcmRQcmV2aW91c0xheWVyVHJlZUhvc3RUaW1lci5zdGFydE9uZVNob3QoNV9zKTsK
ICNlbHNlCiAgICAgbV9sYXllclRyZWVIb3N0ID0gbnVsbHB0cjsKICNlbmRpZgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3Mv
Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5jcHAK
aW5kZXggYTE0MTA0MzQ5ZGM4MWM5NmZmNzhlYjRlMzE1Y2RmMzZhYjJlNjlkNy4uYjhiOTM2MDcz
Yzc3ODYyNjIwOWFiZTc5OTgxM2JlYmM4YzYyYjgyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXll
clRyZWVIb3N0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29v
cmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3QuY3BwCkBAIC0yMzQsNyAr
MjM0LDcgQEAgdm9pZCBDb29yZGluYXRlZExheWVyVHJlZUhvc3Q6OnNjaGVkdWxlQW5pbWF0aW9u
KCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgc2NoZWR1bGVMYXllckZsdXNoKCk7Ci0gICAgbV9s
YXllckZsdXNoVGltZXIuc3RhcnRPbmVTaG90KG1fY29vcmRpbmF0b3IubmV4dEFuaW1hdGlvblNl
cnZpY2VUaW1lKCkpOworICAgIG1fbGF5ZXJGbHVzaFRpbWVyLnN0YXJ0T25lU2hvdCgxX3MgKiBt
X2Nvb3JkaW5hdG9yLm5leHRBbmltYXRpb25TZXJ2aWNlVGltZSgpKTsKIH0KIAogdm9pZCBDb29y
ZGluYXRlZExheWVyVHJlZUhvc3Q6OmNvbW1pdFNjcm9sbE9mZnNldCh1aW50MzJfdCBsYXllcklE
LCBjb25zdCBXZWJDb3JlOjpJbnRTaXplJiBvZmZzZXQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggMjVlMWE1M2ViZDBmNGM4MDEwZDBlMjFh
YjlmYzkwNjVhMGViMjMyNi4uZjMwOGQzMDdjODZmMmVmNzJhMjJhNDg1NWJmN2RkNGJhNmFjOWU2
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApA
QCAtNTMzMyw3ICs1MzMzLDcgQEAgc3RhdGljIGNvbnN0IGZsb2F0IHByaW1hcnlTbmFwc2hvdHRl
ZFBsdWdJblNlYXJjaEJ1Y2tldFNpemUgPSAxLjE7CiBzdGF0aWMgY29uc3QgaW50IHByaW1hcnlT
bmFwc2hvdHRlZFBsdWdJbk1pbmltdW1XaWR0aCA9IDQwMDsKIHN0YXRpYyBjb25zdCBpbnQgcHJp
bWFyeVNuYXBzaG90dGVkUGx1Z0luTWluaW11bUhlaWdodCA9IDMwMDsKIHN0YXRpYyBjb25zdCB1
bnNpZ25lZCBtYXhQcmltYXJ5U25hcHNob3R0ZWRQbHVnSW5EZXRlY3Rpb25BdHRlbXB0cyA9IDI7
Ci1zdGF0aWMgY29uc3QgaW50IGRlZmVycmVkUHJpbWFyeVNuYXBzaG90dGVkUGx1Z0luRGV0ZWN0
aW9uRGVsYXkgPSAzOworc3RhdGljIGNvbnN0IFNlY29uZHMgZGVmZXJyZWRQcmltYXJ5U25hcHNo
b3R0ZWRQbHVnSW5EZXRlY3Rpb25EZWxheSA9IDNfczsKIHN0YXRpYyBjb25zdCBmbG9hdCBvdmVy
bGFwcGluZ0ltYWdlQm91bmRzU2NhbGUgPSAxLjE7CiBzdGF0aWMgY29uc3QgZmxvYXQgbWluaW11
bU92ZXJsYXBwaW5nSW1hZ2VUb1BsdWdpbkRpbWVuc2lvblNjYWxlID0gLjk7CiAKQEAgLTU0NDEs
NyArNTQ0MSw3IEBAIHZvaWQgV2ViUGFnZTo6ZGV0ZXJtaW5lUHJpbWFyeVNuYXBzaG90dGVkUGx1
Z0luKCkKICAgICBpZiAoIWNhbmRpZGF0ZVBsdWdJbikgewogICAgICAgICBMT0coUGx1Z2lucywg
IlByaW1hcnkgUGx1Zy1JbiBEZXRlY3Rpb246IGZhaWwgLSBkaWQgbm90IGZpbmQgYSBjYW5kaWRh
dGUgcGx1Zy1pbi4iKTsKICAgICAgICAgaWYgKG1fbnVtYmVyT2ZQcmltYXJ5U25hcHNob3REZXRl
Y3Rpb25BdHRlbXB0cyA8IG1heFByaW1hcnlTbmFwc2hvdHRlZFBsdWdJbkRldGVjdGlvbkF0dGVt
cHRzKSB7Ci0gICAgICAgICAgICBMT0coUGx1Z2lucywgIlByaW1hcnkgUGx1Zy1JbiBEZXRlY3Rp
b246IHdpbGwgYXR0ZW1wdCBhZ2FpbiBpbiAlZHMuIiwgZGVmZXJyZWRQcmltYXJ5U25hcHNob3R0
ZWRQbHVnSW5EZXRlY3Rpb25EZWxheSk7CisgICAgICAgICAgICBMT0coUGx1Z2lucywgIlByaW1h
cnkgUGx1Zy1JbiBEZXRlY3Rpb246IHdpbGwgYXR0ZW1wdCBhZ2FpbiBpbiAlLjFmIHMuIiwgZGVm
ZXJyZWRQcmltYXJ5U25hcHNob3R0ZWRQbHVnSW5EZXRlY3Rpb25EZWxheS52YWx1ZSgpKTsKICAg
ICAgICAgICAgIG1fZGV0ZXJtaW5lUHJpbWFyeVNuYXBzaG90dGVkUGx1Z0luVGltZXIuc3RhcnRP
bmVTaG90KGRlZmVycmVkUHJpbWFyeVNuYXBzaG90dGVkUGx1Z0luRGV0ZWN0aW9uRGVsYXkpOwog
ICAgICAgICB9CiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBy
b2Nlc3MuY3BwCmluZGV4IGYxM2JjYTBkYzczM2QwOWUwMTQzYTk5MGE0ZDQ3YWY0YWI0ZTg5NDgu
LjViOTVjNzk0MTUzYTRiYWFiMjI3NjJhNjk0NjYzOWExM2FkOWJjNTAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcApAQCAtMTQzLDcgKzE0Myw3IEBAIHVzaW5nIG5h
bWVzcGFjZSBXZWJDb3JlOwogc3RhdGljIGNvbnN0IGRvdWJsZSBwbHVnSW5BdXRvU3RhcnRFeHBp
cmF0aW9uVGltZVVwZGF0ZVRocmVzaG9sZCA9IDI5ICogMjQgKiA2MCAqIDYwOwogCiAvLyBUaGlz
IHNob3VsZCBiZSBncmVhdGVyIHRoYW4gdGlsZVJldmFsaWRhdGlvblRpbWVvdXQgaW4gVGlsZUNv
bnRyb2xsZXIuCi1zdGF0aWMgY29uc3QgZG91YmxlIG5vblZpc2libGVQcm9jZXNzQ2xlYW51cERl
bGF5ID0gMTA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBub25WaXNpYmxlUHJvY2Vzc0NsZWFudXBE
ZWxheSB7IDEwX3MgfTsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKZGlmZiAtLWdpdCBhL1Rvb2xz
L0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA2M2IzZjU1YjcwNWU5NDhmMzA1OTE2
NWM3M2RmYTNjMmJhNDY5NDk0Li40NWVhMGMzZDRkNmE5NTNiZTRkM2ExYzVmMThmNGRlYThmZDFm
MTZhIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBA
IC0xLDUgKzEsMTkgQEAKIDIwMTctMDQtMDkgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNv
bT4KIAorICAgICAgICBEcm9wIFRpbWVyOjpzdGFydE9uZVNob3QoKSBvdmVybG9hZCB0YWtpbmcg
YSBkb3VibGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE3MDY1OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IERyb3AgVGltZXI6OnN0YXJ0T25lU2hvdCgpIG92ZXJsb2FkIHRha2luZyBhIGRvdWJsZSBhcyBw
ZW9wbGUgc2hvdWxkIHVzZSBTZWNvbmRzIHR5cGUgbm93LgorCisgICAgICAgICogVGVzdFdlYktp
dEFQSS9UZXN0cy9XVEYvUnVuTG9vcC5jcHA6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNU
KToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2d0ay9UZXN0UnVu
bmVyR3RrLmNwcDoKKyAgICAgICAgKFdUUjo6VGVzdFJ1bm5lcjo6aW5pdGlhbGl6ZVdhaXRUb0R1
bXBXYXRjaGRvZ1RpbWVySWZOZWVkZWQpOgorCisyMDE3LTA0LTA5ICBDaHJpcyBEdW1leiAgPGNk
dW1lekBhcHBsZS5jb20+CisKICAgICAgICAgRHJvcCBUaW1lcjo6c3RhcnRSZXBlYXRpbmcoKSBv
dmVybG9hZCB0YWtpbmcgYSBkb3VibGUKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE3MDY1NgogCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dURi9SdW5Mb29wLmNwcCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1J1
bkxvb3AuY3BwCmluZGV4IGQxZGUwMzFhMDhhMDc1MTRkZmNkZjA3YTVlNWVlNGEzNmEzMDc3MzAu
LjkzYjNkOGMyOGYzMjA4MTc2Y2QzYmM1MmI3ZjllM2Q2MTRhMDc5MTcgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1J1bkxvb3AuY3BwCisrKyBiL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV1RGL1J1bkxvb3AuY3BwCkBAIC05NSw3ICs5NSw3IEBAIFRFU1QoV1RG
X1J1bkxvb3AsIE9uZVNob3RUaW1lcikKIAogICAgIHsKICAgICAgICAgRGVyaXZlZFRpbWVyIHRp
bWVyKHRlc3RGaW5pc2hlZCk7Ci0gICAgICAgIHRpbWVyLnN0YXJ0T25lU2hvdCgwLjEpOworICAg
ICAgICB0aW1lci5zdGFydE9uZVNob3QoMTAwX21zKTsKICAgICAgICAgVXRpbDo6cnVuKCZ0ZXN0
RmluaXNoZWQpOwogICAgIH0KIH0KZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
SW5qZWN0ZWRCdW5kbGUvZ3RrL1Rlc3RSdW5uZXJHdGsuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9JbmplY3RlZEJ1bmRsZS9ndGsvVGVzdFJ1bm5lckd0ay5jcHAKaW5kZXggYTlmN2Y0MDlj
MDliZjk4M2Q0YTc0YjgzZGYzYTkxZTZkYjU5ZjI3ZS4uYjlhY2NjYzZjODc4NGVjOGU4ZDhjMTVh
ZjM3MmVmZDFiZWQzNWVmNSAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9Jbmpl
Y3RlZEJ1bmRsZS9ndGsvVGVzdFJ1bm5lckd0ay5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9JbmplY3RlZEJ1bmRsZS9ndGsvVGVzdFJ1bm5lckd0ay5jcHAKQEAgLTQ4LDcgKzQ4LDcg
QEAgdm9pZCBUZXN0UnVubmVyOjppbml0aWFsaXplV2FpdFRvRHVtcFdhdGNoZG9nVGltZXJJZk5l
ZWRlZCgpCiAgICAgaWYgKG1fd2FpdFRvRHVtcFdhdGNoZG9nVGltZXIuaXNBY3RpdmUoKSkKICAg
ICAgICAgcmV0dXJuOwogCi0gICAgbV93YWl0VG9EdW1wV2F0Y2hkb2dUaW1lci5zdGFydE9uZVNo
b3QobV90aW1lb3V0IC8gMTAwMC4wKTsKKyAgICBtX3dhaXRUb0R1bXBXYXRjaGRvZ1RpbWVyLnN0
YXJ0T25lU2hvdCgxX21zICogbV90aW1lb3V0KTsKIH0KIAogSlNSZXRhaW5QdHI8SlNTdHJpbmdS
ZWY+IFRlc3RSdW5uZXI6OnBhdGhUb0xvY2FsUmVzb3VyY2UoSlNTdHJpbmdSZWYgdXJsKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>306654</attachid>
            <date>2017-04-09 22:19:08 -0700</date>
            <delta_ts>2017-04-09 22:31:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-170659-20170409221852.patch</filename>
            <type>text/plain</type>
            <size>150057</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE1MTY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjU2NmE5MGMzMjEyZGMz
MzAyMmE2MGViZWU2NDU1ODA1NTQ2ZGRiYy4uNWRmYTg3ZjkzZGZjMWJhNDljN2Y3ZGFmMWZkMzMx
MmEwN2E1YmRiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4MyBAQAorMjAxNy0wNC0wOSAgQ2hy
aXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIERyb3AgVGltZXI6OnN0YXJ0
T25lU2hvdCgpIG92ZXJsb2FkIHRha2luZyBhIGRvdWJsZQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcwNjU5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRHJvcCBUaW1lcjo6c3RhcnRPbmVTaG90KCkgb3Zl
cmxvYWQgdGFraW5nIGEgZG91YmxlIGFzIHBlb3BsZSBzaG91bGQgdXNlIFNlY29uZHMgdHlwZSBu
b3cuCisKKyAgICAgICAgKiBNb2R1bGVzL2dlb2xvY2F0aW9uL0dlb05vdGlmaWVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6Okdlb05vdGlmaWVyOjpzdGFydFRpbWVySWZOZWVkZWQpOgorICAgICAg
ICAqIE1vZHVsZXMvbWVkaWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6V2ViTWVkaWFTZXNzaW9uTWFuYWdlcjo6Y29uZmlndXJlV2F0Y2hkb2dU
aW1lcik6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXNlc3Npb24vV2ViTWVkaWFTZXNzaW9uTWFu
YWdlci5oOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vQ2FudmFzQ2FwdHVyZU1lZGlh
U3RyZWFtVHJhY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFzQ2FwdHVyZU1lZGlhU3Ry
ZWFtVHJhY2s6OlNvdXJjZTo6Y2FudmFzQ2hhbmdlZCk6CisgICAgICAgICogTW9kdWxlcy92aWJy
YXRpb24vVmlicmF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlZpYnJhdGlvbjo6dGltZXJG
aXJlZCk6CisgICAgICAgICogTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6V2ViU29ja2V0Q2hhbm5lbDo6Y2xvc2UpOgorICAgICAgICAq
IGFjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBWE9i
amVjdENhY2hlOjplbnF1ZXVlUGFzc3dvcmRWYWx1ZUNoYW5nZU5vdGlmaWNhdGlvbik6CisgICAg
ICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpwb3N0TGl2ZVJlZ2lvbkNoYW5nZU5vdGlmaWNh
dGlvbik6CisgICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpmb2N1c0FyaWFNb2RhbE5v
ZGUpOgorICAgICAgICAqIGNzcy9DU1NGb250RmFjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpD
U1NGb250RmFjZTo6c2V0U3RhdHVzKToKKyAgICAgICAgKiBjc3MvU3R5bGVSZXNvbHZlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJlc29sdmVyOjphZGRUb01hdGNoZWRQcm9wZXJ0aWVz
Q2FjaGUpOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpE
b2N1bWVudDo6c2V0VmlzdWFsVXBkYXRlc0FsbG93ZWQpOgorICAgICAgICAoV2ViQ29yZTo6RG9j
dW1lbnQ6OmZpbmlzaGVkUGFyc2luZyk6CisgICAgICAgICogZG9tL1NjcmlwdGVkQW5pbWF0aW9u
Q29udHJvbGxlci5jcHA6CisgICAgICAgICogZWRpdGluZy9BbHRlcm5hdGl2ZVRleHRDb250cm9s
bGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFsdGVybmF0aXZlVGV4dENvbnRyb2xsZXI6OnN0
YXJ0QWx0ZXJuYXRpdmVUZXh0VUlUaW1lcik6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVt
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmFkZEJlaGF2aW9y
UmVzdHJpY3Rpb25zT25FbmRJZk5lY2Vzc2FyeSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVk
aWFFbGVtZW50OjpoYW5kbGVTZWVrVG9QbGF5YmFja1Bvc2l0aW9uKToKKyAgICAgICAgKiBodG1s
L1NlYXJjaElucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZWFyY2hJbnB1dFR5cGU6
OnN0YXJ0U2VhcmNoRXZlbnRUaW1lcik6CisgICAgICAgICogaHRtbC9WYWxpZGF0aW9uTWVzc2Fn
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWYWxpZGF0aW9uTWVzc2FnZTo6c2V0TWVzc2FnZURP
TUFuZFN0YXJ0VGltZXIpOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29u
dGV4dEJhc2UuY3BwOgorICAgICAgICAqIGh0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRz
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFBhbmVsRWxlbWVudDo6c3RhcnRU
aW1lcik6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xQYW5lbEVsZW1lbnQ6Om1ha2VU
cmFuc3BhcmVudCk6CisgICAgICAgICogaHRtbC90cmFjay9WVFRSZWdpb24uY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6VlRUUmVnaW9uOjpzdGFydFRpbWVyKToKKyAgICAgICAgKiBpbnNwZWN0b3Iv
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbjo6ZnJhbWVTY2hlZHVsZWROYXZpZ2F0aW9uSW1wbCk6CisgICAgICAg
ICogaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oOgorICAgICAgICAoV2ViQ29y
ZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpmcmFtZVNjaGVkdWxlZE5hdmlnYXRpb24pOgor
ICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SW5zcGVjdG9yUGFnZUFnZW50OjpmcmFtZVNjaGVkdWxlZE5hdmlnYXRpb24pOgorICAg
ICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuaDoKKyAgICAgICAgKiBsb2FkZXIv
TmF2aWdhdGlvblNjaGVkdWxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0aW9uU2No
ZWR1bGVyOjpzdGFydFRpbWVyKToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3Vy
Y2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OmRv
Y3VtZW50RGlkRmluaXNoTG9hZEV2ZW50KToKKyAgICAgICAgKiBsb2FkZXIvaWNvbi9JY29uRGF0
YWJhc2UuY3BwOgorICAgICAgICAqIHBhZ2UvRXZlbnRIYW5kbGVyLmNwcDoKKyAgICAgICAgKiBw
YWdlL0V2ZW50U291cmNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50U291cmNlOjpzY2hl
ZHVsZVJlY29ubmVjdCk6CisgICAgICAgICogcGFnZS9Gb2N1c0NvbnRyb2xsZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Rm9jdXNDb250cm9sbGVyOjpzZXRGb2N1c2VkRWxlbWVudE5lZWRzUmVw
YWludCk6CisgICAgICAgICogcGFnZS9GcmFtZVZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
RnJhbWVWaWV3OjpzY3JvbGxQb3NpdGlvbkNoYW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6RnJh
bWVWaWV3OjplbmFibGVTcGVjdWxhdGl2ZVRpbGluZ0lmTmVlZGVkKToKKyAgICAgICAgKiBwYWdl
L1NldHRpbmdzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpTZXR0aW5ncyk6Cisg
ICAgICAgICogcGFnZS9TZXR0aW5ncy5oOgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OnNl
dFRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKToKKyAgICAgICAg
KFdlYkNvcmU6OlNldHRpbmdzOjp0aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdD
b250cm9scyk6CisgICAgICAgICogcGFnZS9TdXNwZW5kYWJsZVRpbWVyLmg6CisgICAgICAgICog
cGFnZS9hbmltYXRpb24vQ1NTQW5pbWF0aW9uQ29udHJvbGxlci5jcHA6CisgICAgICAgICogcGFn
ZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tOgorICAgICAgICAqIHBhZ2UvbWFjL1RleHRJbmRpY2F0
b3JXaW5kb3cubW06CisgICAgICAgIChXZWJDb3JlOjpUZXh0SW5kaWNhdG9yV2luZG93OjpzZXRU
ZXh0SW5kaWNhdG9yKToKKyAgICAgICAgKiBwbGF0Zm9ybS9IeXN0ZXJlc2lzQWN0aXZpdHkuaDoK
KyAgICAgICAgKFdlYkNvcmU6Okh5c3RlcmVzaXNBY3Rpdml0eTo6c3RvcCk6CisgICAgICAgICog
cGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Omdl
dEFuaW1hdGlvblBhcmFtZXRlcnNGb3JHcmFudWxhcml0eSk6CisgICAgICAgIChXZWJDb3JlOjpT
Y3JvbGxBbmltYXRpb25TbW9vdGg6OnVwZGF0ZVBlckF4aXNEYXRhKToKKyAgICAgICAgKFdlYkNv
cmU6OlNjcm9sbEFuaW1hdGlvblNtb290aDo6YW5pbWF0ZVNjcm9sbCk6CisgICAgICAgIChXZWJD
b3JlOjpTY3JvbGxBbmltYXRpb25TbW9vdGg6OmFuaW1hdGlvblRpbWVyRmlyZWQpOgorICAgICAg
ICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0aW9uU21vb3RoOjpzdGFydE5leHRUaW1lcik6CisgICAg
ICAgICogcGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmg6CisgICAgICAgICogcGxhdGZv
cm0vVGltZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6c3RhcnRSZXBlYXRpbmcp
OgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uOjpzY2hlZHVsZUNsaWVudERhdGFC
dWZmZXJpbmdDaGVjayk6CisgICAgICAgICogcGxhdGZvcm0vY29jb2EvU2Nyb2xsQ29udHJvbGxl
ci5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbENvbnRyb2xsZXI6OnNjaGVkdWxlU3RhdGVs
ZXNzU2Nyb2xsU25hcCk6CisgICAgICAgICogcGxhdGZvcm0vZ2FtZXBhZC9jb2NvYS9HYW1lQ29u
dHJvbGxlckdhbWVwYWRQcm92aWRlci5tbToKKyAgICAgICAgKFdlYkNvcmU6OkdhbWVDb250cm9s
bGVyR2FtZXBhZFByb3ZpZGVyOjpnYW1lcGFkSGFkSW5wdXQpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dhbWVwYWQvbWFjL0hJREdhbWVwYWRQcm92aWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpI
SURHYW1lcGFkUHJvdmlkZXI6Om9wZW5BbmRTY2hlZHVsZU1hbmFnZXIpOgorICAgICAgICAoV2Vi
Q29yZTo6SElER2FtZXBhZFByb3ZpZGVyOjp2YWx1ZXNDaGFuZ2VkKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9nbGliL01haW5UaHJlYWRTaGFyZWRUaW1lckdMaWIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6TWFpblRocmVhZFNoYXJlZFRpbWVyOjpzZXRGaXJlSW50ZXJ2YWwpOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkJpdG1h
cEltYWdlOjpzdGFydFRpbWVyKToKKyAgICAgICAgKFdlYkNvcmU6OkJpdG1hcEltYWdlOjppbnRl
cm5hbFN0YXJ0QW5pbWF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkJpdG1hcEltYWdlOjphZHZh
bmNlQW5pbWF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkJpdG1hcEltYWdlOjpyZXNldEFuaW1h
dGlvbik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuaDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyLmNwcDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9TaGFkb3dCbHVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlNjcmF0Y2hCdWZmZXI6OnNjaGVkdWxlU2NyYXRjaEJ1ZmZlclB1cmdlKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9jYS9MYXllclBvb2wuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
TGF5ZXJQb29sOjpzY2hlZHVsZVBydW5lKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9n
c3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6Y2hhbmdlUGlwZWxpbmVTdGF0ZSk6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0dyYXBoaWNzQ29udGV4dDNETWFjLm1tOgor
ICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0RNYW5hZ2VyOjp1cGRhdGVIaWdoUGVy
Zm9ybWFuY2VTdGF0ZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0JpdG1h
cFRleHR1cmVQb29sLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkJpdG1hcFRleHR1cmVQb29sOjpz
Y2hlZHVsZVJlbGVhc2VVbnVzZWRUZXh0dXJlcyk6CisgICAgICAgIChXZWJDb3JlOjpCaXRtYXBU
ZXh0dXJlUG9vbDo6cmVsZWFzZVVudXNlZFRleHR1cmVzVGltZXJGaXJlZCk6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVyUHJveHku
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6VGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXJQcm94eTo6
c2NoZWR1bGVSZWxlYXNlVW51c2VkQnVmZmVycyk6CisgICAgICAgIChXZWJDb3JlOjpUZXh0dXJl
TWFwcGVyUGxhdGZvcm1MYXllclByb3h5OjpyZWxlYXNlVW51c2VkQnVmZmVyc1RpbWVyRmlyZWQp
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGlu
YXRlZEltYWdlQmFja2luZy5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3RrL1Njcm9sbEFuaW1h
dG9yR3RrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdG9yR3RrOjpvdmVybGF5
U2Nyb2xsYmFyQW5pbWF0aW9uVGltZXJGaXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxB
bmltYXRvckd0azo6c2hvd092ZXJsYXlTY3JvbGxiYXJzKToKKyAgICAgICAgKFdlYkNvcmU6OlNj
cm9sbEFuaW1hdG9yR3RrOjpoaWRlT3ZlcmxheVNjcm9sbGJhcnMpOgorICAgICAgICAqIHBsYXRm
b3JtL2d0ay9TY3JvbGxBbmltYXRvckd0ay5oOgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9XZWJW
aWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdC5tbToKKyAgICAgICAgKFdlYlZpZGVvRnVsbHNj
cmVlbkludGVyZmFjZUFWS2l0OjpzaG91bGRFeGl0RnVsbHNjcmVlbldpdGhSZWFzb24pOgorICAg
ICAgICAqIHBsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5tbToKKyAgICAgICAgKFdlYkNv
cmU6OlNjcm9sbEFuaW1hdG9yTWFjOjpzdGFydFNjcm9sbGJhclBhaW50VGltZXIpOgorICAgICAg
ICAqIHBsYXRmb3JtL21vY2svTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlck1vY2suY3BwOgorICAg
ICAgICAqIHBsYXRmb3JtL21vY2svUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1vY2suY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1vY2s6OnNwZWFrKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL1RpbWVyRXZlbnRCYXNlZE1vY2suaDoKKyAgICAgICAg
KFdlYkNvcmU6OlRpbWVyRXZlbnQ6OlRpbWVyRXZlbnQpOgorICAgICAgICAqIHBsYXRmb3JtL25l
dHdvcmsvRE5TUmVzb2x2ZVF1ZXVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkROU1Jlc29sdmVR
dWV1ZTo6YWRkKToKKyAgICAgICAgKFdlYkNvcmU6OkROU1Jlc29sdmVRdWV1ZTo6dGltZXJGaXJl
ZCk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9QaW5nSGFuZGxlLmg6CisgICAgICAgICog
cGxhdGZvcm0vbmV0d29yay9jdXJsL1Jlc291cmNlSGFuZGxlTWFuYWdlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZU1hbmFnZXI6OmRvd25sb2FkVGltZXJDYWxsYmFjayk6
CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZU1hbmFnZXI6OmFkZCk6CisgICAgICAg
IChXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZU1hbmFnZXI6OmNhbmNlbCk6CisgICAgICAgICogcGxh
dGZvcm0vbmV0d29yay9tYWMvTmV0d29ya1N0YXRlTm90aWZpZXJNYWMuY3BwOgorICAgICAgICAq
IHBsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UmVzb3VyY2VIYW5kbGU6OnNlbmRQZW5kaW5nUmVxdWVzdCk6CisgICAgICAgICog
cmVuZGVyaW5nL0ltYWdlUXVhbGl0eUNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SW1hZ2VRdWFsaXR5Q29udHJvbGxlcjo6cmVzdGFydFRpbWVyKToKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
UHJvZ3Jlc3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyUHJvZ3Jlc3M6OlJlbmRlclBy
b2dyZXNzKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyUHJvZ3Jlc3MuaDoKKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZWN1cmVUZXh0
VGltZXI6OnJlc3RhcnQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6YW5pbWF0aW9uUmVwZWF0SW50ZXJ2YWxGb3JQ
cm9ncmVzc0Jhcik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lLmg6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6bWVkaWFDb250cm9sc0ZhZGVPdXREdXJhdGlvbik6Cisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lR3RrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclRoZW1lR3RrOjphbmltYXRpb25SZXBlYXRJbnRlcnZhbEZvclByb2dyZXNzQmFyKToK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVHdGsuaDoKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyVGhlbWVJT1MuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1Mu
bW06CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZUlPUzo6YW5pbWF0aW9uUmVwZWF0SW50
ZXJ2YWxGb3JQcm9ncmVzc0Jhcik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFj
Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1tOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyVGhlbWVNYWM6OmFuaW1hdGlvblJlcGVhdEludGVydmFsRm9yUHJvZ3Jlc3NC
YXIpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVNYWM6OmFuaW1hdGlvbkR1cmF0aW9u
Rm9yUHJvZ3Jlc3NCYXIpOgorICAgICAgICAqIHJlcGxheS9FdmVudExvb3BJbnB1dERpc3BhdGNo
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRMb29wSW5wdXREaXNwYXRjaGVyOjpkaXNw
YXRjaElucHV0U29vbik6CisgICAgICAgICogc3ZnL2FuaW1hdGlvbi9TTUlMVGltZUNvbnRhaW5l
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTTUlMVGltZUNvbnRhaW5lcjo6c3RhcnRUaW1lcik6
CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkludGVybmFsU2V0dGluZ3M6OnNldFRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhp
ZGluZ0NvbnRyb2xzKToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaDoKKyAg
ICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5h
bHM6OnNldEltYWdlRnJhbWVEZWNvZGluZ0R1cmF0aW9uKToKKyAgICAgICAgKiB4bWwvWE1MSHR0
cFJlcXVlc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3Q6OmNyZWF0ZVJl
cXVlc3QpOgorCiAyMDE3LTA0LTA5ICBZdXN1a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFAZ21haWwu
Y29tPgogCiAgICAgICAgIFtXVEZdIEFubm90YXRlIFNlY29uZHMnIG1lbWJlciBmdW5jdGlvbnMg
YW5kIG9wZXJhdG9ycyB3aXRoIGNvbnN0ZXhwcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBlZmMzMDdhOTNjMjM2NThh
OTg4MzhhY2NhYTE0NGIxOTczMjJjNmI1Li5jNGJkNTRhYjQ2MzEwZDJhYjU5OTFjMzgyODNkODg3
OTdmOTAyN2NkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIxIEBACiAyMDE3LTA0LTA5ICBDaHJpcyBE
dW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKKyAgICAgICAgRHJvcCBUaW1lcjo6c3RhcnRPbmVT
aG90KCkgb3ZlcmxvYWQgdGFraW5nIGEgZG91YmxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzA2NTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBEcm9wIFRpbWVyOjpzdGFydE9uZVNob3QoKSBvdmVybG9h
ZCB0YWtpbmcgYSBkb3VibGUgYXMgcGVvcGxlIHNob3VsZCB1c2UgU2Vjb25kcyB0eXBlIG5vdy4K
KworICAgICAgICAqIFN0b3JhZ2UvU3RvcmFnZUFyZWFTeW5jLmNwcDoKKyAgICAgICAgKiBTdG9y
YWdlL1N0b3JhZ2VUcmFja2VyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6U3RvcmFnZVRyYWNrZXI6
OlN0b3JhZ2VUcmFja2VyKToKKyAgICAgICAgKiBTdG9yYWdlL1N0b3JhZ2VUcmFja2VyLmg6Cisg
ICAgICAgIChXZWJLaXQ6OlN0b3JhZ2VUcmFja2VyOjpzdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2
YWwpOgorICAgICAgICAoV2ViS2l0OjpTdG9yYWdlVHJhY2tlcjo6c2V0U3RvcmFnZURhdGFiYXNl
SWRsZUludGVydmFsKToKKworMjAxNy0wNC0wOSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUu
Y29tPgorCiAgICAgICAgIFN0YXJ0IGRyb3BwaW5nIFRpbWVyIEFQSSBkZWFsaW5nIHdpdGggZG91
YmxlCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzA2
NDkKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IDY1MWE4YzZlYmZkYzkxMDAwMjE0MTRkMGFjNGM0YWVl
MGYyMTI5YmIuLmY0ZTFjMzQyMDI0ODRiZjNhMDUxNmY2NmNiOTUwYjQ3MzQ3YTNiYjcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21h
Yy9DaGFuZ2VMb2cKQEAgLTEsNSArMSwxOSBAQAogMjAxNy0wNC0wOSAgQ2hyaXMgRHVtZXogIDxj
ZHVtZXpAYXBwbGUuY29tPgogCisgICAgICAgIERyb3AgVGltZXI6OnN0YXJ0T25lU2hvdCgpIG92
ZXJsb2FkIHRha2luZyBhIGRvdWJsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTcwNjU5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgRHJvcCBUaW1lcjo6c3RhcnRPbmVTaG90KCkgb3ZlcmxvYWQgdGFraW5n
IGEgZG91YmxlIGFzIHBlb3BsZSBzaG91bGQgdXNlIFNlY29uZHMgdHlwZSBub3cuCisKKyAgICAg
ICAgKiBQbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luVmlldy5tbToKKyAgICAgICAgKFBsdWdpblRp
bWVyOjpzdGFydCk6CisgICAgICAgICogU3RvcmFnZS9XZWJTdG9yYWdlTWFuYWdlci5tbToKKyAg
ICAgICAgKCtbV2ViU3RvcmFnZU1hbmFnZXIgc2V0U3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFs
Ol0pOgorCisyMDE3LTA0LTA5ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKICAg
ICAgICAgRHJvcCBUaW1lcjo6c3RhcnRSZXBlYXRpbmcoKSBvdmVybG9hZCB0YWtpbmcgYSBkb3Vi
bGUKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MDY1
NgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0L3dpbi9DaGFuZ2VMb2cKaW5kZXggYWRjODVmZDNlMzNmNGFiMmYyNTBiMjYwOGEzYTVmNGRm
NTU4Y2QxOC4uZWJmMDY4ZWFkYzAzODlhY2ZiZDljNmVlOTk1ZWVkMDM0NDUxZGQ4MCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvd2lu
L0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIyIEBACiAyMDE3LTA0LTA5ICBDaHJpcyBEdW1leiAgPGNk
dW1lekBhcHBsZS5jb20+CiAKKyAgICAgICAgRHJvcCBUaW1lcjo6c3RhcnRPbmVTaG90KCkgb3Zl
cmxvYWQgdGFraW5nIGEgZG91YmxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNzA2NTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBEcm9wIFRpbWVyOjpzdGFydE9uZVNob3QoKSBvdmVybG9hZCB0YWtpbmcg
YSBkb3VibGUgYXMgcGVvcGxlIHNob3VsZCB1c2UgU2Vjb25kcyB0eXBlIG5vdy4KKworICAgICAg
ICAqIFBsdWdpbnMvUGx1Z2luTWVzc2FnZVRocm90dGxlcldpbi5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpQbHVnaW5NZXNzYWdlVGhyb3R0bGVyV2luOjphcHBlbmRNZXNzYWdlKToKKyAgICAgICAg
KFdlYkNvcmU6OlBsdWdpbk1lc3NhZ2VUaHJvdHRsZXJXaW46Om1lc3NhZ2VUaHJvdHRsZVRpbWVy
RmlyZWQpOgorICAgICAgICAqIFBsdWdpbnMvUGx1Z2luVmlld1dpbi5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpQbHVnaW5WaWV3OjppbnZhbGlkYXRlUmVjdCk6CisgICAgICAgICogV2ViQ29yZVN1
cHBvcnQvQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQuY3BwOgorICAgICAgICAoQWNjZWxl
cmF0ZWRDb21wb3NpdGluZ0NvbnRleHQ6OnNjaGVkdWxlTGF5ZXJGbHVzaCk6CisKKzIwMTctMDQt
MDkgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKwogICAgICAgICBEcm9wIFRpbWVy
OjpzdGFydFJlcGVhdGluZygpIG92ZXJsb2FkIHRha2luZyBhIGRvdWJsZQogICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcwNjU2CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRl
eCBjMmYwZTUwZTkwODk3OTY0NjdiYjYzYTY4ZjM0ZWQ5ZWQ0ZjI3NDk2Li4wZGQ5MjIyMWFkYjEx
YTdlNmQyZjU1NzMzOWNhYTJiZTUyZGY3ODNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsNjUgQEAK
IDIwMTctMDQtMDkgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAorICAgICAgICBE
cm9wIFRpbWVyOjpzdGFydE9uZVNob3QoKSBvdmVybG9hZCB0YWtpbmcgYSBkb3VibGUKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MDY1OQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERyb3AgVGltZXI6OnN0
YXJ0T25lU2hvdCgpIG92ZXJsb2FkIHRha2luZyBhIGRvdWJsZSBhcyBwZW9wbGUgc2hvdWxkIHVz
ZSBTZWNvbmRzIHR5cGUgbm93LgorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvUGluZ0xvYWQu
aDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9zb3VwL05ldHdvcmtEYXRhVGFza1NvdXAuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrRGF0YVRhc2tTb3VwOjpzdGFydFRpbWVvdXQpOgor
ICAgICAgICAqIFBsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmg6CisgICAgICAgICogUGxhdGZvcm0v
SVBDL21hYy9Db25uZWN0aW9uTWFjLm1tOgorICAgICAgICAoSVBDOjpDb25uZWN0aW9uVGVybWlu
YXRpb25XYXRjaGRvZzo6Y3JlYXRlQ29ubmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hkb2cpOgorICAg
ICAgICAoSVBDOjpDb25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZzo6Q29ubmVjdGlvblRlcm1p
bmF0aW9uV2F0Y2hkb2cpOgorICAgICAgICAoSVBDOjpDb25uZWN0aW9uOjp0ZXJtaW5hdGVTb29u
KToKKyAgICAgICAgKiBQbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3MuY3BwOgorICAgICAgICAo
V2ViS2l0OjpQbHVnaW5Qcm9jZXNzOjpzZXRNaW5pbXVtTGlmZXRpbWUpOgorICAgICAgICAqIFBs
dWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5oOgorICAgICAgICAqIFNoYXJlZC9DaGlsZFByb2Nl
c3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpDaGlsZFByb2Nlc3M6OkNoaWxkUHJvY2Vzcyk6Cisg
ICAgICAgICogU2hhcmVkL0NoaWxkUHJvY2Vzcy5oOgorICAgICAgICAoV2ViS2l0OjpDaGlsZFBy
b2Nlc3M6OnNldFRlcm1pbmF0aW9uVGltZW91dCk6CisgICAgICAgICogU2hhcmVkL0Nvb3JkaW5h
dGVkR3JhcGhpY3MvdGhyZWFkZWRjb21wb3NpdG9yL0NvbXBvc2l0aW5nUnVuTG9vcC5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OkNvbXBvc2l0aW5nUnVuTG9vcDo6c3RhcnRVcGRhdGVUaW1lcik6Cisg
ICAgICAgICogU2hhcmVkL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5o
OgorICAgICAgICAqIFNoYXJlZC9XZWJNZW1vcnlTYW1wbGVyLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6V2ViTWVtb3J5U2FtcGxlcjo6aW5pdGlhbGl6ZVRpbWVycyk6CisgICAgICAgICogU2hhcmVk
L1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L0NvY29hL0FQSVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUNvY29hLm1tOgorICAgICAgICAoQVBJOjpT
aGFyZWRKU0NvbnRleHQ6OmVuc3VyZUNvbnRleHQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9DaGls
ZFByb2Nlc3NQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OkNoaWxkUHJvY2Vzc1Byb3h5Ojpz
aHV0RG93blByb2Nlc3MpOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9OYXZpZ2F0aW9uU3Rh
dGUubW06CisgICAgICAgIChXZWJLaXQ6Ok5hdmlnYXRpb25TdGF0ZTo6ZGlkQ2hhbmdlSXNMb2Fk
aW5nKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvVmlld0dlc3R1cmVDb250cm9sbGVyLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6Vmlld0dlc3R1cmVDb250cm9sbGVyOjpTbmFwc2hvdFJlbW92
YWxUcmFja2VyOjpzdGFydFdhdGNoZG9nKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvVmll
d0dlc3R1cmVDb250cm9sbGVyLmg6CisgICAgICAgICogVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJv
eHlJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6RHJhd2luZ0FyZWFQcm94eUltcGw6OmRpc2Nh
cmRCYWNraW5nU3RvcmVTb29uKToKKyAgICAgICAgKFdlYktpdDo6RHJhd2luZ0FyZWFQcm94eUlt
cGw6OkRyYXdpbmdNb25pdG9yOjpzdGFydCk6CisgICAgICAgIChXZWJLaXQ6OkRyYXdpbmdBcmVh
UHJveHlJbXBsOjpEcmF3aW5nTW9uaXRvcjo6ZGlkRHJhdyk6CisgICAgICAgICogVUlQcm9jZXNz
L0dhbWVwYWQvVUlHYW1lcGFkUHJvdmlkZXIuY3BwOgorICAgICAgICAqIFVJUHJvY2Vzcy9QbHVn
aW5zL1BsdWdpblByb2Nlc3NQcm94eS5jcHA6CisgICAgICAgICogVUlQcm9jZXNzL1Byb2Nlc3NU
aHJvdHRsZXIuY3BwOgorICAgICAgICAqIFVJUHJvY2Vzcy9SZXNwb25zaXZlbmVzc1RpbWVyLmNw
cDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQcm9jZXNzUG9vbDo6Y3JlYXRlTmV3V2ViUHJvY2Vzcyk6CisgICAgICAgICogVUlQ
cm9jZXNzL2d0ay9HZXN0dXJlQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJLaXQ6Okdlc3R1
cmVDb250cm9sbGVyOjpEcmFnR2VzdHVyZTo6YmVnaW4pOgorICAgICAgICAqIFVJUHJvY2Vzcy9t
YWMvV2ViSW5zcGVjdG9yUHJveHlNYWMubW06CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdl
L0FjY2VsZXJhdGVkRHJhd2luZ0FyZWEuY3BwOgorICAgICAgICAoV2ViS2l0OjpBY2NlbGVyYXRl
ZERyYXdpbmdBcmVhOjpleGl0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGVOb3cpOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5
ZXJUcmVlSG9zdC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9z
dDo6c2NoZWR1bGVBbmltYXRpb24pOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6ZGV0ZXJtaW5lUHJpbWFyeVNuYXBz
aG90dGVkUGx1Z0luKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwOgorCisy
MDE3LTA0LTA5ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKICAgICAgICAgRHJv
cCBUaW1lcjo6c3RhcnRSZXBlYXRpbmcoKSBvdmVybG9hZCB0YWtpbmcgYSBkb3VibGUKICAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MDY1NgogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dlb2xvY2F0aW9uL0dlb05vdGlmaWVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvTm90aWZpZXIuY3BwCmlu
ZGV4IDc0YTk2Y2UxZDJiYTgwMjdjNWRlNjFiZmQyMGY0YjI4NGZkMjg3YjIuLjg2OTUwMmYwMGQ0
ZDVkNjBhOTZjZmI3NmY3OTVhYjZhZDJiMDI2YzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvTm90aWZpZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvTm90aWZpZXIuY3BwCkBAIC04Nyw3ICs4Nyw3IEBAIHZv
aWQgR2VvTm90aWZpZXI6OnJ1bkVycm9yQ2FsbGJhY2soUG9zaXRpb25FcnJvciogZXJyb3IpCiAK
IHZvaWQgR2VvTm90aWZpZXI6OnN0YXJ0VGltZXJJZk5lZWRlZCgpCiB7Ci0gICAgbV90aW1lci5z
dGFydE9uZVNob3QobV9vcHRpb25zLnRpbWVvdXQgLyAxMDAwLjApOworICAgIG1fdGltZXIuc3Rh
cnRPbmVTaG90KDFfbXMgKiBtX29wdGlvbnMudGltZW91dCk7CiB9CiAKIHZvaWQgR2VvTm90aWZp
ZXI6OnN0b3BUaW1lcigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c2Vzc2lvbi9XZWJNZWRpYVNlc3Npb25NYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwCmluZGV4IDdhMzM2OWYx
MGU1MzBlNGRjODdlNzE3ZDU2NzVmNzA5MTEzYjgwZTkuLjQxNjZlNGU4OWZiZGQ2ZjJhMmE3MGNl
ZWViNzQ3ZTU3MDNjZmZjYTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwCkBAIC0zNiw3
ICszNiw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIGNvbnN0IGRvdWJsZSB0
YXNrRGVsYXlJbnRlcnZhbCA9IDEuMCAvIDEwLjA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyB0YXNr
RGVsYXlJbnRlcnZhbCB7IDEwMF9tcyB9OwogCiBzdHJ1Y3QgQ2xpZW50U3RhdGUgewogICAgIGV4
cGxpY2l0IENsaWVudFN0YXRlKFdlYk1lZGlhU2Vzc2lvbk1hbmFnZXJDbGllbnQmIGNsaWVudCwg
dWludDY0X3QgY29udGV4dElkKQpAQCAtNDIzLDggKzQyMyw4IEBAIHNpemVfdCBXZWJNZWRpYVNl
c3Npb25NYW5hZ2VyOjpmaW5kKFdlYk1lZGlhU2Vzc2lvbk1hbmFnZXJDbGllbnQqIGNsaWVudCwg
dWludDY0CiAKIHZvaWQgV2ViTWVkaWFTZXNzaW9uTWFuYWdlcjo6Y29uZmlndXJlV2F0Y2hkb2dU
aW1lcigpCiB7Ci0gICAgc3RhdGljIGNvbnN0IGRvdWJsZSB3YXRjaGRvZ1RpbWVySW50ZXJ2YWxB
ZnRlclBhdXNpbmcgPSA2MCAqIDYwOwotICAgIHN0YXRpYyBjb25zdCBkb3VibGUgd2F0Y2hkb2dU
aW1lckludGVydmFsQWZ0ZXJQbGF5aW5nVG9FbmQgPSA4ICogNjA7CisgICAgc3RhdGljIGNvbnN0
IFNlY29uZHMgd2F0Y2hkb2dUaW1lckludGVydmFsQWZ0ZXJQYXVzaW5nIHsgMV9oIH07CisgICAg
c3RhdGljIGNvbnN0IFNlY29uZHMgd2F0Y2hkb2dUaW1lckludGVydmFsQWZ0ZXJQbGF5aW5nVG9F
bmQgeyA4X21pbiB9OwogCiAgICAgaWYgKCFtX3BsYXliYWNrVGFyZ2V0IHx8ICFtX3BsYXliYWNr
VGFyZ2V0LT5oYXNBY3RpdmVSb3V0ZSgpKSB7CiAgICAgICAgIG1fd2F0Y2hkb2dUaW1lci5zdG9w
KCk7CkBAIC00NDIsMTEgKzQ0MiwxMSBAQCB2b2lkIFdlYk1lZGlhU2Vzc2lvbk1hbmFnZXI6OmNv
bmZpZ3VyZVdhdGNoZG9nVGltZXIoKQogICAgIH0KIAogICAgIGlmIChzdG9wVGltZXIpIHsKLSAg
ICAgICAgbV9jdXJyZW50V2F0Y2hkb2dJbnRlcnZhbCA9IDA7CisgICAgICAgIG1fY3VycmVudFdh
dGNoZG9nSW50ZXJ2YWwgPSB7IH07CiAgICAgICAgIG1fd2F0Y2hkb2dUaW1lci5zdG9wKCk7CiAg
ICAgICAgIExPRyhNZWRpYSwgIldlYk1lZGlhU2Vzc2lvbk1hbmFnZXI6OmNvbmZpZ3VyZVdhdGNo
ZG9nVGltZXIgLSB0aW1lciBzdG9wcGVkIik7CiAgICAgfSBlbHNlIHsKLSAgICAgICAgZG91Ymxl
IGludGVydmFsID0gZGlkUGxheVRvRW5kID8gd2F0Y2hkb2dUaW1lckludGVydmFsQWZ0ZXJQbGF5
aW5nVG9FbmQgOiB3YXRjaGRvZ1RpbWVySW50ZXJ2YWxBZnRlclBhdXNpbmc7CisgICAgICAgIFNl
Y29uZHMgaW50ZXJ2YWwgPSBkaWRQbGF5VG9FbmQgPyB3YXRjaGRvZ1RpbWVySW50ZXJ2YWxBZnRl
clBsYXlpbmdUb0VuZCA6IHdhdGNoZG9nVGltZXJJbnRlcnZhbEFmdGVyUGF1c2luZzsKICAgICAg
ICAgaWYgKGludGVydmFsICE9IG1fY3VycmVudFdhdGNoZG9nSW50ZXJ2YWwgfHwgIW1fd2F0Y2hk
b2dUaW1lci5pc0FjdGl2ZSgpKSB7CiAgICAgICAgICAgICBtX3dhdGNoZG9nVGltZXIuc3RhcnRP
bmVTaG90KGludGVydmFsKTsKICAgICAgICAgICAgIExPRyhNZWRpYSwgIldlYk1lZGlhU2Vzc2lv
bk1hbmFnZXI6OmNvbmZpZ3VyZVdhdGNoZG9nVGltZXIgLSB0aW1lciBzY2hlZHVsZWQgZm9yICUu
MGYiLCBpbnRlcnZhbCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c2Vzc2lvbi9XZWJNZWRpYVNlc3Npb25NYW5hZ2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc2Vzc2lvbi9XZWJNZWRpYVNlc3Npb25NYW5hZ2VyLmgKaW5kZXggNTdkNThlZjkxNGNi
MjNmMTk0MDFjY2NmZWMzOGVjZTM4ZWFlYTYwOS4uMjk1MDllMjhjNGFmYTU0YzZkNDZhMTNhZDNj
MWYxMWIxNmMxYTM2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNl
c3Npb24vV2ViTWVkaWFTZXNzaW9uTWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuaApAQCAtMTAyLDcgKzEwMiw3
IEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPE1lZGlhUGxheWJhY2tUYXJnZXQ+IG1fcGxheWJhY2tU
YXJnZXQ7CiAgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6Ok1lZGlhUGxheWJhY2tUYXJnZXRQ
aWNrZXJNb2NrPiBtX3BpY2tlck92ZXJyaWRlOwogICAgIENvbmZpZ3VyYXRpb25UYXNrcyBtX3Rh
c2tGbGFncyB7IE5vVGFzayB9OwotICAgIGRvdWJsZSBtX2N1cnJlbnRXYXRjaGRvZ0ludGVydmFs
IHsgMCB9OworICAgIFNlY29uZHMgbV9jdXJyZW50V2F0Y2hkb2dJbnRlcnZhbDsKICAgICBib29s
IG1fZXh0ZXJuYWxPdXRwdXREZXZpY2VBdmFpbGFibGUgeyBmYWxzZSB9OwogICAgIGJvb2wgbV90
YXJnZXRDaGFuZ2VkIHsgZmFsc2UgfTsKICAgICBib29sIG1fbW9ja1BpY2tlckVuYWJsZWQgeyBm
YWxzZSB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9D
YW52YXNDYXB0dXJlTWVkaWFTdHJlYW1UcmFjay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL0NhbnZhc0NhcHR1cmVNZWRpYVN0cmVhbVRyYWNrLmNwcAppbmRleCBkYjRj
NDA0MWM5NjczOTY4MDY5YjllM2ZjYjdkNWQ2ZWM1NTg3NDYwLi4zZjdiMmMxODhiNTk5ODBhMmQ1
Y2ZiYTg3NmU5NGI5MTg3MjBhOGRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL0NhbnZhc0NhcHR1cmVNZWRpYVN0cmVhbVRyYWNrLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL0NhbnZhc0NhcHR1cmVNZWRpYVN0cmVhbVRy
YWNrLmNwcApAQCAtMTQzLDcgKzE0Myw3IEBAIHZvaWQgQ2FudmFzQ2FwdHVyZU1lZGlhU3RyZWFt
VHJhY2s6OlNvdXJjZTo6Y2FudmFzQ2hhbmdlZChIVE1MQ2FudmFzRWxlbWVudCYgY2FuCiAgICAg
Ly8gRklYTUU6IFdlIHNob3VsZCB0cnkgdG8gZ2VuZXJhdGUgdGhlIGZyYW1lIGF0IHRoZSB0aW1l
IHRoZSBzY3JlZW4gaXMgYmVpbmcgdXBkYXRlZC4KICAgICBpZiAobV9jYW52YXNDaGFuZ2VkVGlt
ZXIuaXNBY3RpdmUoKSkKICAgICAgICAgcmV0dXJuOwotICAgIG1fY2FudmFzQ2hhbmdlZFRpbWVy
LnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2NhbnZhc0NoYW5nZWRUaW1lci5zdGFydE9uZVNob3Qo
MF9zKTsKIH0KIAogdm9pZCBDYW52YXNDYXB0dXJlTWVkaWFTdHJlYW1UcmFjazo6U291cmNlOjpj
YXB0dXJlQ2FudmFzKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvdmlicmF0
aW9uL1ZpYnJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3ZpYnJhdGlvbi9WaWJy
YXRpb24uY3BwCmluZGV4IGMxNTIyYjM5MjIwYjRhOGYxMmJkMzIxNjdlOGQxMTIyN2VlMWRkYTcu
LjA1MTgwNzNlMTA5ZjQ2MThjNGFmOWRlMWYyNTEzYWY0NjY2ZGFiZjAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvdmlicmF0aW9uL1ZpYnJhdGlvbi5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy92aWJyYXRpb24vVmlicmF0aW9uLmNwcApAQCAtMTEwLDcgKzExMCw3
IEBAIHZvaWQgVmlicmF0aW9uOjp0aW1lckZpcmVkKCkKICAgICAgICAgbV92aWJyYXRpb25DbGll
bnQtPnZpYnJhdGUobV9wYXR0ZXJuWzBdKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQotICAgIG1f
dGltZXIuc3RhcnRPbmVTaG90KG1fcGF0dGVyblswXSAvIDEwMDAuMCk7CisgICAgbV90aW1lci5z
dGFydE9uZVNob3QoMV9tcyAqIG1fcGF0dGVyblswXSk7CiAgICAgbV9wYXR0ZXJuLnJlbW92ZSgw
KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dl
YlNvY2tldENoYW5uZWwuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dl
YlNvY2tldENoYW5uZWwuY3BwCmluZGV4IGM1Y2IxMjRlMjIzZDI4NmZiYjZmMDJjZTcwMTA0MDI4
NTI2OWUxNWUuLjYxZDNjY2RkNzE1ZGY4NjM5MDQ5NWNiM2RlZGYyYTgwN2U2MTJkMjIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVs
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hh
bm5lbC5jcHAKQEAgLTYxLDcgKzYxLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jb25z
dCBkb3VibGUgVENQTWF4aW11bVNlZ21lbnRMaWZldGltZSA9IDIgKiA2MC4wOworY29uc3QgU2Vj
b25kcyBUQ1BNYXhpbXVtU2VnbWVudExpZmV0aW1lIHsgMl9taW4gfTsKIAogV2ViU29ja2V0Q2hh
bm5lbDo6V2ViU29ja2V0Q2hhbm5lbChEb2N1bWVudCYgZG9jdW1lbnQsIFdlYlNvY2tldENoYW5u
ZWxDbGllbnQmIGNsaWVudCwgU29ja2V0UHJvdmlkZXImIHByb3ZpZGVyKQogICAgIDogbV9kb2N1
bWVudCgmZG9jdW1lbnQpCkBAIC0yMDcsNyArMjA3LDcgQEAgdm9pZCBXZWJTb2NrZXRDaGFubmVs
OjpjbG9zZShpbnQgY29kZSwgY29uc3QgU3RyaW5nJiByZWFzb24pCiAgICAgUmVmPFdlYlNvY2tl
dENoYW5uZWw+IHByb3RlY3RlZFRoaXMoKnRoaXMpOyAvLyBBbiBhdHRlbXB0IHRvIHNlbmQgY2xv
c2luZyBoYW5kc2hha2UgbWF5IGZhaWwsIHdoaWNoIHdpbGwgZ2V0IHRoZSBjaGFubmVsIGNsb3Nl
ZCBhbmQgZGVyZWZlcmVuY2VkLgogICAgIHN0YXJ0Q2xvc2luZ0hhbmRzaGFrZShjb2RlLCByZWFz
b24pOwogICAgIGlmIChtX2Nsb3NpbmcgJiYgIW1fY2xvc2luZ1RpbWVyLmlzQWN0aXZlKCkpCi0g
ICAgICAgIG1fY2xvc2luZ1RpbWVyLnN0YXJ0T25lU2hvdCgyICogVENQTWF4aW11bVNlZ21lbnRM
aWZldGltZSk7CisgICAgICAgIG1fY2xvc2luZ1RpbWVyLnN0YXJ0T25lU2hvdChUQ1BNYXhpbXVt
U2VnbWVudExpZmV0aW1lICogMik7CiB9CiAKIHZvaWQgV2ViU29ja2V0Q2hhbm5lbDo6ZmFpbChj
b25zdCBTdHJpbmcmIHJlYXNvbikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvQVhPYmplY3RDYWNoZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FY
T2JqZWN0Q2FjaGUuY3BwCmluZGV4IDEyNTQwNTAxNGU3NjBiYzJiOWU3OWRiODE5N2ExZTBlZTc1
ZDAyZjcuLmYwNmRmNzQwMGFjYTU2ZTA4ZTE4MzJhNGFlYTBmYzU2ZDU0NTRjNDIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcApAQCAtMTEwLDkg
KzExMCw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7
CiAKIC8vIFBvc3QgdmFsdWUgY2hhbmdlIG5vdGlmaWNhdGlvbnMgZm9yIHBhc3N3b3JkIGZpZWxk
cyBvciBlbGVtZW50cyBjb250YWluZWQgaW4gcGFzc3dvcmQgZmllbGRzIGF0IGEgNDBoeiBpbnRl
cnZhbCB0byB0aHdhcnQgYW5hbHlzaXMgb2YgdHlwaW5nIGNhZGVuY2UKLXN0YXRpYyBkb3VibGUg
QWNjZXNzaWJpbGl0eVBhc3N3b3JkVmFsdWVDaGFuZ2VOb3RpZmljYXRpb25JbnRlcnZhbCA9IDAu
MDI1Owotc3RhdGljIGRvdWJsZSBBY2Nlc3NpYmlsaXR5TGl2ZVJlZ2lvbkNoYW5nZWROb3RpZmlj
YXRpb25JbnRlcnZhbCA9IDAuMDIwOwotc3RhdGljIGRvdWJsZSBBY2Nlc3NpYmlsaXR5Rm9jdXNB
cmlhTW9kYWxOb2RlTm90aWZpY2F0aW9uSW50ZXJ2YWwgPSAwLjA1MDsKK3N0YXRpYyBjb25zdCBT
ZWNvbmRzIGFjY2Vzc2liaWxpdHlQYXNzd29yZFZhbHVlQ2hhbmdlTm90aWZpY2F0aW9uSW50ZXJ2
YWwgeyAyNV9tcyB9Oworc3RhdGljIGNvbnN0IFNlY29uZHMgYWNjZXNzaWJpbGl0eUxpdmVSZWdp
b25DaGFuZ2VkTm90aWZpY2F0aW9uSW50ZXJ2YWwgeyAyMF9tcyB9Oworc3RhdGljIGNvbnN0IFNl
Y29uZHMgYWNjZXNzaWJpbGl0eUZvY3VzQXJpYU1vZGFsTm9kZU5vdGlmaWNhdGlvbkludGVydmFs
IHsgNTBfbXMgfTsKIAogQWNjZXNzaWJpbGl0eU9iamVjdEluY2x1c2lvbiBBWENvbXB1dGVkT2Jq
ZWN0QXR0cmlidXRlQ2FjaGU6OmdldElnbm9yZWQoQVhJRCBpZCkgY29uc3QKIHsKQEAgLTEzMTEs
NyArMTMxMSw3IEBAIGJvb2wgQVhPYmplY3RDYWNoZTo6ZW5xdWV1ZVBhc3N3b3JkVmFsdWVDaGFu
Z2VOb3RpZmljYXRpb24oQWNjZXNzaWJpbGl0eU9iamVjdCoKIAogICAgIG1fcGFzc3dvcmROb3Rp
ZmljYXRpb25zVG9Qb3N0LmFkZChvYnNlcnZhYmxlT2JqZWN0KTsKICAgICBpZiAoIW1fcGFzc3dv
cmROb3RpZmljYXRpb25Qb3N0VGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9wYXNzd29yZE5v
dGlmaWNhdGlvblBvc3RUaW1lci5zdGFydE9uZVNob3QoQWNjZXNzaWJpbGl0eVBhc3N3b3JkVmFs
dWVDaGFuZ2VOb3RpZmljYXRpb25JbnRlcnZhbCk7CisgICAgICAgIG1fcGFzc3dvcmROb3RpZmlj
YXRpb25Qb3N0VGltZXIuc3RhcnRPbmVTaG90KGFjY2Vzc2liaWxpdHlQYXNzd29yZFZhbHVlQ2hh
bmdlTm90aWZpY2F0aW9uSW50ZXJ2YWwpOwogCiAgICAgcmV0dXJuIHRydWU7CiB9CkBAIC0xMzM4
LDcgKzEzMzgsNyBAQCB2b2lkIEFYT2JqZWN0Q2FjaGU6OnBvc3RMaXZlUmVnaW9uQ2hhbmdlTm90
aWZpY2F0aW9uKEFjY2Vzc2liaWxpdHlPYmplY3QqIG9iamVjdAogICAgIGlmICghbV9saXZlUmVn
aW9uT2JqZWN0c1NldC5jb250YWlucyhvYmplY3QpKQogICAgICAgICBtX2xpdmVSZWdpb25PYmpl
Y3RzU2V0LmFkZChvYmplY3QpOwogCi0gICAgbV9saXZlUmVnaW9uQ2hhbmdlZFBvc3RUaW1lci5z
dGFydE9uZVNob3QoQWNjZXNzaWJpbGl0eUxpdmVSZWdpb25DaGFuZ2VkTm90aWZpY2F0aW9uSW50
ZXJ2YWwpOworICAgIG1fbGl2ZVJlZ2lvbkNoYW5nZWRQb3N0VGltZXIuc3RhcnRPbmVTaG90KGFj
Y2Vzc2liaWxpdHlMaXZlUmVnaW9uQ2hhbmdlZE5vdGlmaWNhdGlvbkludGVydmFsKTsKIH0KIAog
dm9pZCBBWE9iamVjdENhY2hlOjpsaXZlUmVnaW9uQ2hhbmdlZE5vdGlmaWNhdGlvblBvc3RUaW1l
ckZpcmVkKCkKQEAgLTEzNzIsNyArMTM3Miw3IEBAIHZvaWQgQVhPYmplY3RDYWNoZTo6Zm9jdXNB
cmlhTW9kYWxOb2RlKCkKICAgICBpZiAobV9mb2N1c0FyaWFNb2RhbE5vZGVUaW1lci5pc0FjdGl2
ZSgpKQogICAgICAgICBtX2ZvY3VzQXJpYU1vZGFsTm9kZVRpbWVyLnN0b3AoKTsKICAgICAKLSAg
ICBtX2ZvY3VzQXJpYU1vZGFsTm9kZVRpbWVyLnN0YXJ0T25lU2hvdChBY2Nlc3NpYmlsaXR5Rm9j
dXNBcmlhTW9kYWxOb2RlTm90aWZpY2F0aW9uSW50ZXJ2YWwpOworICAgIG1fZm9jdXNBcmlhTW9k
YWxOb2RlVGltZXIuc3RhcnRPbmVTaG90KGFjY2Vzc2liaWxpdHlGb2N1c0FyaWFNb2RhbE5vZGVO
b3RpZmljYXRpb25JbnRlcnZhbCk7CiB9CiAKIHZvaWQgQVhPYmplY3RDYWNoZTo6Zm9jdXNBcmlh
TW9kYWxOb2RlVGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
Rm9udEZhY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlLmNwcAppbmRleCAz
NGJkYmVlYWViN2Q2MzFlNDI4Zjk2YmU0MDNlMWI3MzQ2ZTgyODQ4Li5iZjkyMGY4ZDcxNDQxM2U3
YjdlNmFlYjVjM2M3ZWI1OTJkNGQ2MzA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTRm9udEZhY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZS5jcHAK
QEAgLTUyNyw3ICs1MjcsNyBAQCB2b2lkIENTU0ZvbnRGYWNlOjpzZXRTdGF0dXMoU3RhdHVzIG5l
d1N0YXR1cykKICAgICB9CiAKICAgICBpZiAobmV3U3RhdHVzID09IFN0YXR1czo6TG9hZGluZykK
LSAgICAgICAgbV90aW1lb3V0VGltZXIuc3RhcnRPbmVTaG90KHdlYkZvbnRzU2hvdWxkQWx3YXlz
RmFsbEJhY2soKSA/IDAgOiAzKTsKKyAgICAgICAgbV90aW1lb3V0VGltZXIuc3RhcnRPbmVTaG90
KHdlYkZvbnRzU2hvdWxkQWx3YXlzRmFsbEJhY2soKSA/IDBfcyA6IDNfcyk7CiAgICAgZWxzZSBp
ZiAobmV3U3RhdHVzID09IFN0YXR1czo6U3VjY2VzcyB8fCBuZXdTdGF0dXMgPT0gU3RhdHVzOjpG
YWlsdXJlKQogICAgICAgICBtX3RpbWVvdXRUaW1lci5zdG9wKCk7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9T
dHlsZVJlc29sdmVyLmNwcAppbmRleCBhZTdmOTc2YzZiNjhhNzMyZWVhYTQ5YjYwOTk4Y2MxNjdj
Nzg2NWEwLi40YWExMmQ3YTMyMjc1NGM3N2QyMjlhOGU1NTVlYmJjMTQxMmNmMWYzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwCkBAIC0xMzUsNiArMTM1LDcgQEAKICNpbmNsdWRl
ICJXZWJLaXRDU1NSZWdpb25SdWxlLmgiCiAjaW5jbHVkZSAiV2ViS2l0Rm9udEZhbWlseU5hbWVz
LmgiCiAjaW5jbHVkZSA8Yml0c2V0PgorI2luY2x1ZGUgPHd0Zi9TZWNvbmRzLmg+CiAjaW5jbHVk
ZSA8d3RmL1NldEZvclNjb3BlLmg+CiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogI2lu
Y2x1ZGUgPHd0Zi9WZWN0b3IuaD4KQEAgLTEyNTEsOCArMTI1Miw4IEBAIHZvaWQgU3R5bGVSZXNv
bHZlcjo6YWRkVG9NYXRjaGVkUHJvcGVydGllc0NhY2hlKGNvbnN0IFJlbmRlclN0eWxlKiBzdHls
ZSwgY29uc3QKICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgbWF0Y2hlZERlY2xhcmF0aW9uQ2Fj
aGVBZGRpdGlvbnNCZXR3ZWVuU3dlZXBzID0gMTAwOwogICAgIGlmICgrK21fbWF0Y2hlZFByb3Bl
cnRpZXNDYWNoZUFkZGl0aW9uc1NpbmNlTGFzdFN3ZWVwID49IG1hdGNoZWREZWNsYXJhdGlvbkNh
Y2hlQWRkaXRpb25zQmV0d2VlblN3ZWVwcwogICAgICAgICAmJiAhbV9tYXRjaGVkUHJvcGVydGll
c0NhY2hlU3dlZXBUaW1lci5pc0FjdGl2ZSgpKSB7Ci0gICAgICAgIHN0YXRpYyBjb25zdCB1bnNp
Z25lZCBtYXRjaGVkRGVjbGFyYXRpb25DYWNoZVN3ZWVwVGltZUluU2Vjb25kcyA9IDYwOwotICAg
ICAgICBtX21hdGNoZWRQcm9wZXJ0aWVzQ2FjaGVTd2VlcFRpbWVyLnN0YXJ0T25lU2hvdChtYXRj
aGVkRGVjbGFyYXRpb25DYWNoZVN3ZWVwVGltZUluU2Vjb25kcyk7CisgICAgICAgIHN0YXRpYyBj
b25zdCBTZWNvbmRzIG1hdGNoZWREZWNsYXJhdGlvbkNhY2hlU3dlZXBUaW1lIHsgMV9taW4gfTsK
KyAgICAgICAgbV9tYXRjaGVkUHJvcGVydGllc0NhY2hlU3dlZXBUaW1lci5zdGFydE9uZVNob3Qo
bWF0Y2hlZERlY2xhcmF0aW9uQ2FjaGVTd2VlcFRpbWUpOwogICAgIH0KIAogICAgIEFTU0VSVCho
YXNoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IDBlNzM5ZTNjNjYyZGRlMGU5ZWUwYmQx
OTVmY2RmY2I2YzQyMWRjOTEuLjNlMGQ4NGU4MDU2ZWEyMzllNGZlZDZkNTVhZThkMDRhNzYwZjkz
MDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtMTE5OSw3ICsxMTk5LDcgQEAgdm9pZCBE
b2N1bWVudDo6c2V0VmlzdWFsVXBkYXRlc0FsbG93ZWQoYm9vbCB2aXN1YWxVcGRhdGVzQWxsb3dl
ZCkKICAgICBpZiAodmlzdWFsVXBkYXRlc0FsbG93ZWQpCiAgICAgICAgIG1fdmlzdWFsVXBkYXRl
c1N1cHByZXNzaW9uVGltZXIuc3RvcCgpOwogICAgIGVsc2UKLSAgICAgICAgbV92aXN1YWxVcGRh
dGVzU3VwcHJlc3Npb25UaW1lci5zdGFydE9uZVNob3Qoc2V0dGluZ3MoKS5pbmNyZW1lbnRhbFJl
bmRlcmluZ1N1cHByZXNzaW9uVGltZW91dEluU2Vjb25kcygpKTsKKyAgICAgICAgbV92aXN1YWxV
cGRhdGVzU3VwcHJlc3Npb25UaW1lci5zdGFydE9uZVNob3QoMV9zICogc2V0dGluZ3MoKS5pbmNy
ZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNzaW9uVGltZW91dEluU2Vjb25kcygpKTsKIAogICAgIGlm
ICghdmlzdWFsVXBkYXRlc0FsbG93ZWQpCiAgICAgICAgIHJldHVybjsKQEAgLTUwMDQsOCArNTAw
NCw4IEBAIHZvaWQgRG9jdW1lbnQ6OmZpbmlzaGVkUGFyc2luZygpCiAgICAgLy8gc28gdGhhdCBk
eW5hbWljYWxseSBpbnNlcnRlZCBjb250ZW50IGNhbiBhbHNvIGJlbmVmaXQgZnJvbSBzaGFyaW5n
IG9wdGltaXphdGlvbnMuCiAgICAgLy8gTm90ZSB0aGF0IHdlIGRvbid0IHJlZnJlc2ggdGhlIHRp
bWVyIG9uIHBvb2wgYWNjZXNzIHNpbmNlIHRoYXQgY291bGQgbGVhZCB0byBodWdlIGNhY2hlcyBi
ZWluZyBrZXB0CiAgICAgLy8gYWxpdmUgaW5kZWZpbml0ZWx5IGJ5IHNvbWV0aGluZyBpbm5vY3Vv
dXMgbGlrZSBKUyBzZXR0aW5nIC5pbm5lckhUTUwgcmVwZWF0ZWRseSBvbiBhIHRpbWVyLgotICAg
IHN0YXRpYyBjb25zdCBpbnQgdGltZVRvS2VlcFNoYXJlZE9iamVjdFBvb2xBbGl2ZUFmdGVyUGFy
c2luZ0ZpbmlzaGVkSW5TZWNvbmRzID0gMTA7Ci0gICAgbV9zaGFyZWRPYmplY3RQb29sQ2xlYXJU
aW1lci5zdGFydE9uZVNob3QodGltZVRvS2VlcFNoYXJlZE9iamVjdFBvb2xBbGl2ZUFmdGVyUGFy
c2luZ0ZpbmlzaGVkSW5TZWNvbmRzKTsKKyAgICBzdGF0aWMgY29uc3QgU2Vjb25kcyB0aW1lVG9L
ZWVwU2hhcmVkT2JqZWN0UG9vbEFsaXZlQWZ0ZXJQYXJzaW5nRmluaXNoZWQgeyAxMF9zIH07Cisg
ICAgbV9zaGFyZWRPYmplY3RQb29sQ2xlYXJUaW1lci5zdGFydE9uZVNob3QodGltZVRvS2VlcFNo
YXJlZE9iamVjdFBvb2xBbGl2ZUFmdGVyUGFyc2luZ0ZpbmlzaGVkKTsKIAogICAgIC8vIFBhcnNl
ciBzaG91bGQgaGF2ZSBwaWNrZWQgdXAgYWxsIHNwZWN1bGF0aXZlIHByZWxvYWRzIGJ5IG5vdwog
ICAgIG1fY2FjaGVkUmVzb3VyY2VMb2FkZXItPmNsZWFyUHJlbG9hZHMoQ2FjaGVkUmVzb3VyY2VM
b2FkZXI6OkNsZWFyUHJlbG9hZHNNb2RlOjpDbGVhclNwZWN1bGF0aXZlUHJlbG9hZHMpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyLmNwcApp
bmRleCA5MmUwZGIzNjIyMjU1NTIyMWEzNGYyZGJjNTEwNjRhZjJkNDU2MDg3Li4xYjg1OTFmNmFj
MGIzMjZmZDUxOWI5OTkxOTg5ZjM4YTBlODcxY2JiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyLmNwcApAQCAtNDcsMTAgKzQ3LDEwIEBA
CiAjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+CiAKIC8vIEFsbG93IGEgbGl0dGxlIG1vcmUg
dGhhbiA2MGZwcyB0byBtYWtlIHN1cmUgd2UgY2FuIGF0IGxlYXN0IGhpdCB0aGF0IGZyYW1lIHJh
dGUuCi1zdGF0aWMgY29uc3QgU2Vjb25kcyBmdWxsU3BlZWRBbmltYXRpb25JbnRlcnZhbCB7IDAu
MDE1IH07CitzdGF0aWMgY29uc3QgU2Vjb25kcyBmdWxsU3BlZWRBbmltYXRpb25JbnRlcnZhbCB7
IDE1X21zIH07CiAvLyBBbGxvdyBhIGxpdHRsZSBtb3JlIHRoYW4gMzBmcHMgdG8gbWFrZSBzdXJl
IHdlIGNhbiBhdCBsZWFzdCBoaXQgdGhhdCBmcmFtZSByYXRlLgotc3RhdGljIGNvbnN0IFNlY29u
ZHMgaGFsZlNwZWVkVGhyb3R0bGluZ0FuaW1hdGlvbkludGVydmFsIHsgMC4wMzAgfTsKLXN0YXRp
YyBjb25zdCBTZWNvbmRzIGFnZ3Jlc3NpdmVUaHJvdHRsaW5nQW5pbWF0aW9uSW50ZXJ2YWwgeyAx
MCB9Oworc3RhdGljIGNvbnN0IFNlY29uZHMgaGFsZlNwZWVkVGhyb3R0bGluZ0FuaW1hdGlvbklu
dGVydmFsIHsgMzBfbXMgfTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIGFnZ3Jlc3NpdmVUaHJvdHRs
aW5nQW5pbWF0aW9uSW50ZXJ2YWwgeyAxMF9zIH07CiAjZW5kaWYKIAogI2RlZmluZSBSRUxFQVNF
X0xPR19JRl9BTExPV0VEKGZtdCwgLi4uKSBSRUxFQVNFX0xPR19JRihwYWdlKCkgJiYgcGFnZSgp
LT5pc0Fsd2F5c09uTG9nZ2luZ0FsbG93ZWQoKSwgUGVyZm9ybWFuY2VMb2dnaW5nLCAiJXAgLSBT
Y3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXI6OiIgZm10LCB0aGlzLCAjI19fVkFfQVJHU19fKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9BbHRlcm5hdGl2ZVRleHRDb250cm9s
bGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxl
ci5jcHAKaW5kZXggZTI3YmQwZDZmZDJmM2VjNzRkMDBlZDFmMWM2OTY1YzgxYmRlOTczZi4uMDVh
ZmFlNGI5OWM5N2M4ZDJlZjg0ZjAyYjYyYmRiNTJmMzc4Y2FkNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZWRpdGluZy9BbHRlcm5hdGl2ZVRleHRDb250cm9sbGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL0FsdGVybmF0aXZlVGV4dENvbnRyb2xsZXIuY3BwCkBAIC0xNDAs
NyArMTQwLDcgQEAgQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlcjo6fkFsdGVybmF0aXZlVGV4dENv
bnRyb2xsZXIoKQogCiB2b2lkIEFsdGVybmF0aXZlVGV4dENvbnRyb2xsZXI6OnN0YXJ0QWx0ZXJu
YXRpdmVUZXh0VUlUaW1lcihBbHRlcm5hdGl2ZVRleHRUeXBlIHR5cGUpCiB7Ci0gICAgY29uc3Qg
ZG91YmxlIGNvcnJlY3Rpb25QYW5lbFRpbWVySW50ZXJ2YWwgPSAwLjM7CisgICAgY29uc3QgU2Vj
b25kcyBjb3JyZWN0aW9uUGFuZWxUaW1lckludGVydmFsIHsgMzAwX21zIH07CiAgICAgaWYgKCFp
c0F1dG9tYXRpY1NwZWxsaW5nQ29ycmVjdGlvbkVuYWJsZWQoKSkKICAgICAgICAgcmV0dXJuOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAppbmRleCA0ZDYwNDY4MGY1
MzhjZmJkZGU0NjJmOTA0ZmNhNDQwNjgzNDhkOTM1Li45ZmVkNmY3MzY2YmE4YjExM2Y5ZGQ2MmEw
OWVhNTlmYzdhZDE3N2YzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRp
YUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5j
cHAKQEAgLTE2OCw3ICsxNjgsNyBAQCBzdGF0aWMgY29uc3QgZG91YmxlIFNlZWtUaW1lID0gMC4y
Owogc3RhdGljIGNvbnN0IFNlY29uZHMgU2NhblJlcGVhdERlbGF5IHsgMS41X3MgfTsKIHN0YXRp
YyBjb25zdCBkb3VibGUgU2Nhbk1heGltdW1SYXRlID0gODsKIAotc3RhdGljIGNvbnN0IGRvdWJs
ZSBIaWRlTWVkaWFDb250cm9sc0FmdGVyRW5kZWREZWxheSA9IDY7CitzdGF0aWMgY29uc3QgU2Vj
b25kcyBoaWRlTWVkaWFDb250cm9sc0FmdGVyRW5kZWREZWxheSB7IDZfcyB9OwogCiBzdGF0aWMg
dm9pZCBzZXRGbGFncyh1bnNpZ25lZCYgdmFsdWUsIHVuc2lnbmVkIGZsYWdzKQogewpAQCAtNDQ5
Nyw3ICs0NDk3LDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjphZGRCZWhhdmlvclJlc3RyaWN0
aW9uc09uRW5kSWZOZWNlc3NhcnkoKQogCiAgICAgbV9tZWRpYVNlc3Npb24tPmFkZEJlaGF2aW9y
UmVzdHJpY3Rpb24oTWVkaWFFbGVtZW50U2Vzc2lvbjo6UmVxdWlyZVVzZXJHZXN0dXJlVG9Db250
cm9sQ29udHJvbHNNYW5hZ2VyKTsKICAgICBtX3BsYXliYWNrQ29udHJvbHNNYW5hZ2VyQmVoYXZp
b3JSZXN0cmljdGlvbnNUaW1lci5zdG9wKCk7Ci0gICAgbV9wbGF5YmFja0NvbnRyb2xzTWFuYWdl
ckJlaGF2aW9yUmVzdHJpY3Rpb25zVGltZXIuc3RhcnRPbmVTaG90KEhpZGVNZWRpYUNvbnRyb2xz
QWZ0ZXJFbmRlZERlbGF5KTsKKyAgICBtX3BsYXliYWNrQ29udHJvbHNNYW5hZ2VyQmVoYXZpb3JS
ZXN0cmljdGlvbnNUaW1lci5zdGFydE9uZVNob3QoaGlkZU1lZGlhQ29udHJvbHNBZnRlckVuZGVk
RGVsYXkpOwogfQogCiB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OmhhbmRsZVNlZWtUb1BsYXliYWNr
UG9zaXRpb24oZG91YmxlIHBvc2l0aW9uKQpAQCAtNDUwNyw3ICs0NTA3LDcgQEAgdm9pZCBIVE1M
TWVkaWFFbGVtZW50OjpoYW5kbGVTZWVrVG9QbGF5YmFja1Bvc2l0aW9uKGRvdWJsZSBwb3NpdGlv
bikKICAgICAvLyBQbGVhc2Ugc2VlIDxyZGFyOi8vcHJvYmxlbS8yODQ1NzIxOT4gZm9yIG1vcmUg
ZGV0YWlscy4KICAgICBzZWVrKE1lZGlhVGltZTo6Y3JlYXRlV2l0aERvdWJsZShwb3NpdGlvbikp
OwogICAgIG1fc2Vla1RvUGxheWJhY2tQb3NpdGlvbkVuZGVkVGltZXIuc3RvcCgpOwotICAgIG1f
c2Vla1RvUGxheWJhY2tQb3NpdGlvbkVuZGVkVGltZXIuc3RhcnRPbmVTaG90KDAuNSk7CisgICAg
bV9zZWVrVG9QbGF5YmFja1Bvc2l0aW9uRW5kZWRUaW1lci5zdGFydE9uZVNob3QoNTAwX21zKTsK
IAogICAgIGlmICghbV9pc1NjcnViYmluZ1JlbW90ZWx5KSB7CiAgICAgICAgIG1faXNTY3J1YmJp
bmdSZW1vdGVseSA9IHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1NlYXJj
aElucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1NlYXJjaElucHV0VHlwZS5jcHAK
aW5kZXggZjVkMmJiOTU1MzI5MDcxOTgyNjY2ZGI3NThlZWMyYmM3NjZkNTBhNy4uZDgyMzU5ZjE2
ZDM3NjQ1MTczNjk2Y2Q0MGY3YmYwMTAzYmRlODM1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9TZWFyY2hJbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvU2Vh
cmNoSW5wdXRUeXBlLmNwcApAQCAtMTY1LDcgKzE2NSw3IEBAIHZvaWQgU2VhcmNoSW5wdXRUeXBl
OjpzdGFydFNlYXJjaEV2ZW50VGltZXIoKQogCiAgICAgLy8gQWZ0ZXIgdHlwaW5nIHRoZSBmaXJz
dCBrZXksIHdlIHdhaXQgMC41IHNlY29uZHMuCiAgICAgLy8gQWZ0ZXIgdGhlIHNlY29uZCBrZXks
IDAuNCBzZWNvbmRzLCB0aGVuIDAuMywgdGhlbiAwLjIgZnJvbSB0aGVuIG9uLgotICAgIG1fc2Vh
cmNoRXZlbnRUaW1lci5zdGFydE9uZVNob3Qoc3RkOjptYXgoMC4yLCAwLjYgLSAwLjEgKiBsZW5n
dGgpKTsKKyAgICBtX3NlYXJjaEV2ZW50VGltZXIuc3RhcnRPbmVTaG90KHN0ZDo6bWF4KDIwMF9t
cywgNjAwX21zIC0gMTAwX21zICogbGVuZ3RoKSk7CiB9CiAKIHZvaWQgU2VhcmNoSW5wdXRUeXBl
OjpzdG9wU2VhcmNoRXZlbnRUaW1lcigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L1ZhbGlkYXRpb25NZXNzYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRhdGlvbk1l
c3NhZ2UuY3BwCmluZGV4IDQ1MWZjNTkxMDg1MTQ1NzM5NGRjNDQ5NTNkZDg4OWMxMjk0YmU2ZDku
LjQ3MGVhZWRjM2E3NjY4NmQ1YzQwMWEwNTM3ZTgwN2ZhMzhmNTA1ZTQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRhdGlvbk1lc3NhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvVmFsaWRhdGlvbk1lc3NhZ2UuY3BwCkBAIC0xNDQsNyArMTQ0LDcgQEAgdm9pZCBW
YWxpZGF0aW9uTWVzc2FnZTo6c2V0TWVzc2FnZURPTUFuZFN0YXJ0VGltZXIoKQogICAgICAgICBt
X3RpbWVyID0gbnVsbHB0cjsKICAgICBlbHNlIHsKICAgICAgICAgbV90aW1lciA9IHN0ZDo6bWFr
ZV91bmlxdWU8VGltZXI+KCp0aGlzLCAmVmFsaWRhdGlvbk1lc3NhZ2U6OmRlbGV0ZUJ1YmJsZVRy
ZWUpOwotICAgICAgICBtX3RpbWVyLT5zdGFydE9uZVNob3Qoc3RkOjptYXgoNS4wLCBzdGF0aWNf
Y2FzdDxkb3VibGU+KG1fbWVzc2FnZS5sZW5ndGgoKSkgKiBtYWduaWZpY2F0aW9uIC8gMTAwMCkp
OworICAgICAgICBtX3RpbWVyLT5zdGFydE9uZVNob3Qoc3RkOjptYXgoNV9zLCAxX21zICogc3Rh
dGljX2Nhc3Q8ZG91YmxlPihtX21lc3NhZ2UubGVuZ3RoKCkpICogbWFnbmlmaWNhdGlvbikpOwog
ICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xS
ZW5kZXJpbmdDb250ZXh0QmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJH
TFJlbmRlcmluZ0NvbnRleHRCYXNlLmNwcAppbmRleCBiNTEyZmZjMTc2YmQzYTYxODdkMWQzZTRk
NGIwYmQ1YjQ0ZWZjODNlLi5hYmVjNjczMWRiYzUxNzA0ZDY2NGNiMDczZmJhYTkzNzIwZWE5ODFk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0Nv
bnRleHRCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRl
cmluZ0NvbnRleHRCYXNlLmNwcApAQCAtMTAwLDcgKzEwMCw3IEBACiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAotY29uc3QgZG91YmxlIHNlY29uZHNCZXR3ZWVuUmVzdG9yZUF0dGVtcHRzID0gMS4w
Oworc3RhdGljIGNvbnN0IFNlY29uZHMgc2Vjb25kc0JldHdlZW5SZXN0b3JlQXR0ZW1wdHMgeyAx
X3MgfTsKIGNvbnN0IGludCBtYXhHTEVycm9yc0FsbG93ZWRUb0NvbnNvbGUgPSAyNTY7CiBzdGF0
aWMgY29uc3QgU2Vjb25kcyBjaGVja0NvbnRleHRMb3NzSGFuZGxpbmdEZWxheSB7IDNfcyB9Owog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVt
ZW50cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50
cy5jcHAKaW5kZXggN2IxZGY0OWUyY2Y3NjNjYmNlZGI4NTM0ZDY4NWY3ZTNhMzlkZmY5Ny4uNWYz
YjNjMzU3Y2U0YmQ5MzA5NjIzZDc4Y2VmYTkwNTUzMzEwNjkwYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcApAQCAtMTM3LDcg
KzEzNyw3IEBAIHZvaWQgTWVkaWFDb250cm9sUGFuZWxFbGVtZW50OjpzdGFydFRpbWVyKCkKICAg
ICAvLyBUaGUgdGltZXIgaXMgcmVxdWlyZWQgdG8gc2V0IHRoZSBwcm9wZXJ0eSBkaXNwbGF5Oidu
b25lJyBvbiB0aGUgcGFuZWwsCiAgICAgLy8gc3VjaCB0aGF0IGNhcHRpb25zIGFyZSBjb3JyZWN0
bHkgZGlzcGxheWVkIGF0IHRoZSBib3R0b20gb2YgdGhlIHZpZGVvCiAgICAgLy8gYXQgdGhlIGVu
ZCBvZiB0aGUgZmFkZW91dCB0cmFuc2l0aW9uLgotICAgIGRvdWJsZSBkdXJhdGlvbiA9IGRvY3Vt
ZW50KCkucGFnZSgpID8gZG9jdW1lbnQoKS5wYWdlKCktPnRoZW1lKCkubWVkaWFDb250cm9sc0Zh
ZGVPdXREdXJhdGlvbigpIDogMDsKKyAgICBTZWNvbmRzIGR1cmF0aW9uID0gZG9jdW1lbnQoKS5w
YWdlKCkgPyBkb2N1bWVudCgpLnBhZ2UoKS0+dGhlbWUoKS5tZWRpYUNvbnRyb2xzRmFkZU91dER1
cmF0aW9uKCkgOiAwX3M7CiAgICAgbV90cmFuc2l0aW9uVGltZXIuc3RhcnRPbmVTaG90KGR1cmF0
aW9uKTsKIH0KIApAQCAtMjA1LDEwICsyMDUsMTAgQEAgdm9pZCBNZWRpYUNvbnRyb2xQYW5lbEVs
ZW1lbnQ6Om1ha2VUcmFuc3BhcmVudCgpCiAgICAgaWYgKCFtX29wYXF1ZSkKICAgICAgICAgcmV0
dXJuOwogCi0gICAgZG91YmxlIGR1cmF0aW9uID0gZG9jdW1lbnQoKS5wYWdlKCkgPyBkb2N1bWVu
dCgpLnBhZ2UoKS0+dGhlbWUoKS5tZWRpYUNvbnRyb2xzRmFkZU91dER1cmF0aW9uKCkgOiAwOwor
ICAgIFNlY29uZHMgZHVyYXRpb24gPSBkb2N1bWVudCgpLnBhZ2UoKSA/IGRvY3VtZW50KCkucGFn
ZSgpLT50aGVtZSgpLm1lZGlhQ29udHJvbHNGYWRlT3V0RHVyYXRpb24oKSA6IDBfczsKIAogICAg
IHNldElubGluZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlUcmFuc2l0aW9uUHJvcGVydHksIENT
U1Byb3BlcnR5T3BhY2l0eSk7Ci0gICAgc2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0
eVRyYW5zaXRpb25EdXJhdGlvbiwgZHVyYXRpb24sIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUyk7
CisgICAgc2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eVRyYW5zaXRpb25EdXJhdGlv
biwgZHVyYXRpb24udmFsdWUoKSwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19TKTsKICAgICBzZXRJ
bmxpbmVTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5T3BhY2l0eSwgMC4wLCBDU1NQcmltaXRpdmVW
YWx1ZTo6Q1NTX05VTUJFUik7CiAKICAgICBtX29wYXF1ZSA9IGZhbHNlOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9WVFRSZWdpb24uY3BwIGIvU291cmNlL1dlYkNvcmUv
aHRtbC90cmFjay9WVFRSZWdpb24uY3BwCmluZGV4IDA1NzhiZjkxMjY3Y2I1NTBhZjAyZGI3ZTIy
M2RkNDM2YzA3ZDUxYjYuLmNiNGQwNWJlYzBjMzNiOWIxY2ZjMGQzYmU0NDU5ZjA1ZDExNDlkYjEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVlRUUmVnaW9uLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1ZUVFJlZ2lvbi5jcHAKQEAgLTU2LDcgKzU2LDcg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogc3RhdGljIGNvbnN0IGZsb2F0IGxpbmVIZWlnaHQgPSA1
LjMzOwogCiAvLyBEZWZhdWx0IHNjcm9sbGluZyBhbmltYXRpb24gdGltZSBwZXJpb2QgKHMpLgot
c3RhdGljIGNvbnN0IGZsb2F0IHNjcm9sbFRpbWUgPSAwLjQzMzsKK3N0YXRpYyBjb25zdCBTZWNv
bmRzIHNjcm9sbFRpbWUgeyA0MzNfbXMgfTsKIAogVlRUUmVnaW9uOjpWVFRSZWdpb24oU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCkKICAgICA6IENvbnRleHREZXN0cnVjdGlvbk9ic2Vy
dmVyKCZjb250ZXh0KQpAQCAtNDAzLDcgKzQwMyw3IEBAIHZvaWQgVlRUUmVnaW9uOjpzdGFydFRp
bWVyKCkKICAgICBpZiAobV9zY3JvbGxUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICByZXR1cm47
CiAKLSAgICBkb3VibGUgZHVyYXRpb24gPSBpc1Njcm9sbGluZ1JlZ2lvbigpID8gc2Nyb2xsVGlt
ZSA6IDA7CisgICAgU2Vjb25kcyBkdXJhdGlvbiA9IGlzU2Nyb2xsaW5nUmVnaW9uKCkgPyBzY3Jv
bGxUaW1lIDogMF9zOwogICAgIG1fc2Nyb2xsVGltZXIuc3RhcnRPbmVTaG90KGR1cmF0aW9uKTsK
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uLmNwcAppbmRleCA1MWM0YmFhODUyZTVhY2EwMmI4MzU1MzYzZGYxNTk3NmI5MWVi
NmViLi5jMWI0Njg4ZjU2YjhjODdjNTVjMWJmZWI4MGM2ZTMyYjQwODcxNzczIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNw
cApAQCAtODAzLDcgKzgwMyw3IEBAIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpmcmFt
ZVN0b3BwZWRMb2FkaW5nSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzJiBpbnN0CiAgICAgICAgIGlu
c3BlY3RvclBhZ2VBZ2VudC0+ZnJhbWVTdG9wcGVkTG9hZGluZyhmcmFtZSk7CiB9CiAKLXZvaWQg
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpmcmFtZVNjaGVkdWxlZE5hdmlnYXRpb25JbXBsKElu
c3RydW1lbnRpbmdBZ2VudHMmIGluc3RydW1lbnRpbmdBZ2VudHMsIEZyYW1lJiBmcmFtZSwgZG91
YmxlIGRlbGF5KQordm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmZyYW1lU2NoZWR1bGVk
TmF2aWdhdGlvbkltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyYgaW5zdHJ1bWVudGluZ0FnZW50cywg
RnJhbWUmIGZyYW1lLCBTZWNvbmRzIGRlbGF5KQogewogICAgIGlmIChJbnNwZWN0b3JQYWdlQWdl
bnQqIGluc3BlY3RvclBhZ2VBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMuaW5zcGVjdG9yUGFn
ZUFnZW50KCkpCiAgICAgICAgIGluc3BlY3RvclBhZ2VBZ2VudC0+ZnJhbWVTY2hlZHVsZWROYXZp
Z2F0aW9uKGZyYW1lLCBkZWxheSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKaW5kZXggNDU4OTc1MjEyMGEzOTQyYzgwZmUyOTU3
YWU2ZTYzMjM2Y2Y4MzE0Ny4uOWMyMTEyNjY3NzM4ZWFmYTY5YTZmZjQ3YzdkOTVkNmNmMDVlNGZi
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1l
bnRhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb24uaApAQCAtMTc5LDcgKzE3OSw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBs
b2FkZXJEZXRhY2hlZEZyb21GcmFtZShGcmFtZSYsIERvY3VtZW50TG9hZGVyJik7CiAgICAgc3Rh
dGljIHZvaWQgZnJhbWVTdGFydGVkTG9hZGluZyhGcmFtZSYpOwogICAgIHN0YXRpYyB2b2lkIGZy
YW1lU3RvcHBlZExvYWRpbmcoRnJhbWUmKTsKLSAgICBzdGF0aWMgdm9pZCBmcmFtZVNjaGVkdWxl
ZE5hdmlnYXRpb24oRnJhbWUmLCBkb3VibGUgZGVsYXkpOworICAgIHN0YXRpYyB2b2lkIGZyYW1l
U2NoZWR1bGVkTmF2aWdhdGlvbihGcmFtZSYsIFNlY29uZHMgZGVsYXkpOwogICAgIHN0YXRpYyB2
b2lkIGZyYW1lQ2xlYXJlZFNjaGVkdWxlZE5hdmlnYXRpb24oRnJhbWUmKTsKICAgICBzdGF0aWMg
dm9pZCB3aWxsRGVzdHJveUNhY2hlZFJlc291cmNlKENhY2hlZFJlc291cmNlJik7CiAKQEAgLTM0
OSw3ICszNDksNyBAQCBwcml2YXRlOgogICAgIHN0YXRpYyB2b2lkIGxvYWRlckRldGFjaGVkRnJv
bUZyYW1lSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzJiwgRG9jdW1lbnRMb2FkZXImKTsKICAgICBz
dGF0aWMgdm9pZCBmcmFtZVN0YXJ0ZWRMb2FkaW5nSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzJiwg
RnJhbWUmKTsKICAgICBzdGF0aWMgdm9pZCBmcmFtZVN0b3BwZWRMb2FkaW5nSW1wbChJbnN0cnVt
ZW50aW5nQWdlbnRzJiwgRnJhbWUmKTsKLSAgICBzdGF0aWMgdm9pZCBmcmFtZVNjaGVkdWxlZE5h
dmlnYXRpb25JbXBsKEluc3RydW1lbnRpbmdBZ2VudHMmLCBGcmFtZSYsIGRvdWJsZSBkZWxheSk7
CisgICAgc3RhdGljIHZvaWQgZnJhbWVTY2hlZHVsZWROYXZpZ2F0aW9uSW1wbChJbnN0cnVtZW50
aW5nQWdlbnRzJiwgRnJhbWUmLCBTZWNvbmRzIGRlbGF5KTsKICAgICBzdGF0aWMgdm9pZCBmcmFt
ZUNsZWFyZWRTY2hlZHVsZWROYXZpZ2F0aW9uSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzJiwgRnJh
bWUmKTsKICAgICBzdGF0aWMgdm9pZCB3aWxsRGVzdHJveUNhY2hlZFJlc291cmNlSW1wbChDYWNo
ZWRSZXNvdXJjZSYpOwogCkBAIC05ODIsNyArOTgyLDcgQEAgaW5saW5lIHZvaWQgSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uOjpmcmFtZVN0b3BwZWRMb2FkaW5nKEZyYW1lJiBmcmFtZSkKICAgICAg
ICAgZnJhbWVTdG9wcGVkTG9hZGluZ0ltcGwoKmluc3RydW1lbnRpbmdBZ2VudHMsIGZyYW1lKTsK
IH0KIAotaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpmcmFtZVNjaGVkdWxl
ZE5hdmlnYXRpb24oRnJhbWUmIGZyYW1lLCBkb3VibGUgZGVsYXkpCitpbmxpbmUgdm9pZCBJbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb246OmZyYW1lU2NoZWR1bGVkTmF2aWdhdGlvbihGcmFtZSYgZnJh
bWUsIFNlY29uZHMgZGVsYXkpCiB7CiAgICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3Ry
dW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yRnJhbWUoZnJhbWUpKQogICAg
ICAgICBmcmFtZVNjaGVkdWxlZE5hdmlnYXRpb25JbXBsKCppbnN0cnVtZW50aW5nQWdlbnRzLCBm
cmFtZSwgZGVsYXkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvclBhZ2VBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFn
ZUFnZW50LmNwcAppbmRleCAzMmZkNDdlOTcwOGM5MGZmMGQzOWQ3ODc0ZDQ1OGUzNGJiMzM0YjRi
Li42YWE2YTA4NDRlZWVlODlkY2ZlZDAzOWZlYWYyMmNlODVkZGMwOTBmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmNwcApAQCAtODA2LDkgKzgw
Niw5IEBAIHZvaWQgSW5zcGVjdG9yUGFnZUFnZW50OjpmcmFtZVN0b3BwZWRMb2FkaW5nKEZyYW1l
JiBmcmFtZSkKICAgICBtX2Zyb250ZW5kRGlzcGF0Y2hlci0+ZnJhbWVTdG9wcGVkTG9hZGluZyhm
cmFtZUlkKCZmcmFtZSkpOwogfQogCi12b2lkIEluc3BlY3RvclBhZ2VBZ2VudDo6ZnJhbWVTY2hl
ZHVsZWROYXZpZ2F0aW9uKEZyYW1lJiBmcmFtZSwgZG91YmxlIGRlbGF5KQordm9pZCBJbnNwZWN0
b3JQYWdlQWdlbnQ6OmZyYW1lU2NoZWR1bGVkTmF2aWdhdGlvbihGcmFtZSYgZnJhbWUsIFNlY29u
ZHMgZGVsYXkpCiB7Ci0gICAgbV9mcm9udGVuZERpc3BhdGNoZXItPmZyYW1lU2NoZWR1bGVkTmF2
aWdhdGlvbihmcmFtZUlkKCZmcmFtZSksIGRlbGF5KTsKKyAgICBtX2Zyb250ZW5kRGlzcGF0Y2hl
ci0+ZnJhbWVTY2hlZHVsZWROYXZpZ2F0aW9uKGZyYW1lSWQoJmZyYW1lKSwgZGVsYXkudmFsdWUo
KSk7CiB9CiAKIHZvaWQgSW5zcGVjdG9yUGFnZUFnZW50OjpmcmFtZUNsZWFyZWRTY2hlZHVsZWRO
YXZpZ2F0aW9uKEZyYW1lJiBmcmFtZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JQYWdlQWdlbnQuaAppbmRleCA3ZTkyOGFlMGMyNTYxNWNlMmFiMWRiNzM3OGEwOWMyZTgz
ODg5ZTQ0Li4yODgzMTgxNzExYTQ2ZTYzMDY2ZDU5MGNlMzRkOGQxNDA5MTVjNzQ5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclBhZ2VBZ2VudC5oCkBAIC0xMTgsNyAr
MTE4LDcgQEAgcHVibGljOgogICAgIHZvaWQgbG9hZGVyRGV0YWNoZWRGcm9tRnJhbWUoRG9jdW1l
bnRMb2FkZXImKTsKICAgICB2b2lkIGZyYW1lU3RhcnRlZExvYWRpbmcoRnJhbWUmKTsKICAgICB2
b2lkIGZyYW1lU3RvcHBlZExvYWRpbmcoRnJhbWUmKTsKLSAgICB2b2lkIGZyYW1lU2NoZWR1bGVk
TmF2aWdhdGlvbihGcmFtZSYsIGRvdWJsZSBkZWxheSk7CisgICAgdm9pZCBmcmFtZVNjaGVkdWxl
ZE5hdmlnYXRpb24oRnJhbWUmLCBTZWNvbmRzIGRlbGF5KTsKICAgICB2b2lkIGZyYW1lQ2xlYXJl
ZFNjaGVkdWxlZE5hdmlnYXRpb24oRnJhbWUmKTsKICAgICB2b2lkIGFwcGx5RW11bGF0ZWRNZWRp
YShTdHJpbmcmKTsKICAgICB2b2lkIGRpZFBhaW50KFJlbmRlck9iamVjdCYsIGNvbnN0IExheW91
dFJlY3QmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2No
ZWR1bGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNw
cAppbmRleCBhMzkxODUxNWFkN2VmOGU3NWQ2MDA4NjUxOTczYjY1ZWUzYWM2NDE1Li5lNmMzOTJl
MDMxM2M1OGQyZTVkMDc0ZWFmMTcxNDI1YTRiNjJkYWNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuY3BwCkBAIC01NDEsNyArNTQxLDcgQEAgdm9pZCBO
YXZpZ2F0aW9uU2NoZWR1bGVyOjpzdGFydFRpbWVyKCkKICAgICBpZiAoIW1fcmVkaXJlY3QtPnNo
b3VsZFN0YXJ0VGltZXIobV9mcmFtZSkpCiAgICAgICAgIHJldHVybjsKIAotICAgIGRvdWJsZSBk
ZWxheSA9IG1fcmVkaXJlY3QtPmRlbGF5KCk7CisgICAgU2Vjb25kcyBkZWxheSA9IDFfcyAqIG1f
cmVkaXJlY3QtPmRlbGF5KCk7CiAgICAgbV90aW1lci5zdGFydE9uZVNob3QoZGVsYXkpOwogICAg
IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZnJhbWVTY2hlZHVsZWROYXZpZ2F0aW9uKG1fZnJh
bWUsIGRlbGF5KTsKICAgICBtX3JlZGlyZWN0LT5kaWRTdGFydFRpbWVyKG1fZnJhbWUsIG1fdGlt
ZXIpOyAvLyBtX3JlZGlyZWN0IG1heSBiZSBudWxsIG9uIHJldHVybiAoZS5nLiB0aGUgY2xpZW50
IGNhbmNlbGVkIHRoZSBsb2FkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2Nh
Y2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNo
ZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggNzE4MTk5MjA1NDU0MDUzZDczZTU3ZTBl
YTdlMDRjNWFkYWYzMWU1OS4uZTg5MDY1YjNhODBkZGU3M2RmOWE0MzcxZjQ2YzNjZWE5NmViMDM0
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNl
TG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3Vy
Y2VMb2FkZXIuY3BwCkBAIC04NCw3ICs4NCw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIC8v
IFRpbWVvdXQgZm9yIGxpbmsgcHJlbG9hZHMgdG8gYmUgdXNlZCBhZnRlciB3aW5kb3cub25sb2Fk
Ci1zdGF0aWMgY29uc3QgaW50IHVudXNlZFByZWxvYWRUaW1lb3V0SW5TZWNvbmRzID0gMzsKK3N0
YXRpYyBjb25zdCBTZWNvbmRzIHVudXNlZFByZWxvYWRUaW1lb3V0IHsgM19zIH07CiAKIHN0YXRp
YyBDYWNoZWRSZXNvdXJjZSogY3JlYXRlUmVzb3VyY2UoQ2FjaGVkUmVzb3VyY2U6OlR5cGUgdHlw
ZSwgQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVzdCwgU2Vzc2lvbklEIHNlc3Npb25JRCkK
IHsKQEAgLTgyOCw3ICs4MjgsNyBAQCB2b2lkIENhY2hlZFJlc291cmNlTG9hZGVyOjpkb2N1bWVu
dERpZEZpbmlzaExvYWRFdmVudCgpCiAgICAgLy8gSWYgbV9wcmVsb2FkcyBpcyBub3QgZW1wdHkg
aGVyZSwgaXQncyBmdWxsIG9mIGxpbmsgcHJlbG9hZHMsCiAgICAgLy8gYXMgc3BlY3VsYXRpdmUg
cHJlbG9hZHMgd2VyZSBjbGVhcmVkIGF0IERDTC4KICAgICBpZiAobV9wcmVsb2FkcyAmJiBtX3By
ZWxvYWRzLT5zaXplKCkgJiYgIW1fdW51c2VkUHJlbG9hZHNUaW1lci5pc0FjdGl2ZSgpKQotICAg
ICAgICBtX3VudXNlZFByZWxvYWRzVGltZXIuc3RhcnRPbmVTaG90KHVudXNlZFByZWxvYWRUaW1l
b3V0SW5TZWNvbmRzKTsKKyAgICAgICAgbV91bnVzZWRQcmVsb2Fkc1RpbWVyLnN0YXJ0T25lU2hv
dCh1bnVzZWRQcmVsb2FkVGltZW91dCk7CiB9CiAKIHZvaWQgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6
OnN0b3BVbnVzZWRQcmVsb2Fkc1RpbWVyKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9pY29uL0ljb25EYXRhYmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNvbi9J
Y29uRGF0YWJhc2UuY3BwCmluZGV4IDRjZGNmYWFkNmU4MzJhMzlhNWMzNTI2NTgwNTg1MDg2YjNk
OWY3MmYuLjhkZTk0Y2U1ZGNhNzY3MTE2MzYyMDJlNmQzMWY3NTMwZDhhMjkyZDIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmNwcApAQCAtNjcsNyArNjcsNyBA
QCBzdGF0aWMgY29uc3QgaW50IGN1cnJlbnREYXRhYmFzZVZlcnNpb24gPSA2OwogLy8gSWNvbnMg
ZXhwaXJlIG9uY2UgZXZlcnkgNCBkYXlzCiBzdGF0aWMgY29uc3QgaW50IGljb25FeHBpcmF0aW9u
VGltZSA9IDYwKjYwKjI0KjQ7IAogCi1zdGF0aWMgY29uc3QgaW50IHVwZGF0ZVRpbWVyRGVsYXkg
PSA1OyAKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHVwZGF0ZVRpbWVyRGVsYXkgeyA1X3MgfTsKIAog
c3RhdGljIGJvb2wgY2hlY2tJbnRlZ3JpdHlPbk9wZW4gPSBmYWxzZTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9FdmVudEhhbmRsZXIuY3BwCmluZGV4IGRjYTgyMzA0NjMwYzMyMDg1NWNkYWZlMjEzYmVhMDMy
OGZjNjRjZjMuLjg0NWYzYWViZWY1NDdlNjc4ZjFkMGM3OWQ5ZTU5M2ZhMGJjNWQ3ZmMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKQEAgLTE1NywxNCArMTU3LDE0IEBAIHVzaW5n
IG5hbWVzcGFjZSBTVkdOYW1lczsKIC8vIGR1cmluZyBhIHNjcm9sbC4gVGhlIHNob3J0IGludGVy
dmFsIGlzIHVzZWQgaWYgdGhlIGNvbnRlbnQgcmVzcG9uZHMgdG8gdGhlIG1vdXNlIGV2ZW50cwog
Ly8gaW4gZmFrZU1vdXNlTW92ZUR1cmF0aW9uVGhyZXNob2xkIG9yIGxlc3MsIG90aGVyd2lzZSB0
aGUgbG9uZyBpbnRlcnZhbCBpcyB1c2VkLgogY29uc3QgZG91YmxlIGZha2VNb3VzZU1vdmVEdXJh
dGlvblRocmVzaG9sZCA9IDAuMDE7Ci1jb25zdCBkb3VibGUgZmFrZU1vdXNlTW92ZVNob3J0SW50
ZXJ2YWwgPSAwLjE7Ci1jb25zdCBkb3VibGUgZmFrZU1vdXNlTW92ZUxvbmdJbnRlcnZhbCA9IDAu
MjU7Citjb25zdCBTZWNvbmRzIGZha2VNb3VzZU1vdmVTaG9ydEludGVydmFsID0geyAxMDBfbXMg
fTsKK2NvbnN0IFNlY29uZHMgZmFrZU1vdXNlTW92ZUxvbmdJbnRlcnZhbCA9IHsgMjUwX21zIH07
CiAjZW5kaWYKIAogI2lmIEVOQUJMRShDVVJTT1JfU1VQUE9SVCkKIC8vIFRoZSBhbW91bnQgb2Yg
dGltZSB0byB3YWl0IGZvciBhIGN1cnNvciB1cGRhdGUgb24gc3R5bGUgYW5kIGxheW91dCBjaGFu
Z2VzCiAvLyBTZXQgdG8gNTBIeiwgbm8gbmVlZCB0byBiZSBmYXN0ZXIgdGhhbiBjb21tb24gc2Ny
ZWVuIHJlZnJlc2ggcmF0ZQotY29uc3QgZG91YmxlIGN1cnNvclVwZGF0ZUludGVydmFsID0gMC4w
MjsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIGN1cnNvclVwZGF0ZUludGVydmFsIHsgMjBfbXMgfTsK
IAogY29uc3QgaW50IG1heGltdW1DdXJzb3JTaXplID0gMTI4OwogI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRXZlbnRTb3VyY2UuY3BwCmluZGV4IGIxZGVkM2Y4ZjdjMWRhMTJiOTM3ZTM1YmNlZmQ0NDgx
OTg1ZjYxM2MuLjM3OTQzMDlkZWQyNDVjNWYyN2Y3N2JhY2JkZjk4ZWMxYjM3ZjNlN2MgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuY3BwCkBAIC0xMzgsNyArMTM4LDcgQEAgdm9pZCBFdmVu
dFNvdXJjZTo6c2NoZWR1bGVJbml0aWFsQ29ubmVjdCgpCiB2b2lkIEV2ZW50U291cmNlOjpzY2hl
ZHVsZVJlY29ubmVjdCgpCiB7CiAgICAgbV9zdGF0ZSA9IENPTk5FQ1RJTkc7Ci0gICAgbV9jb25u
ZWN0VGltZXIuc3RhcnRPbmVTaG90KG1fcmVjb25uZWN0RGVsYXkgLyAxMDAwLjApOworICAgIG1f
Y29ubmVjdFRpbWVyLnN0YXJ0T25lU2hvdCgxX21zICogbV9yZWNvbm5lY3REZWxheSk7CiAgICAg
ZGlzcGF0Y2hFdmVudChFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5lcnJvckV2ZW50LCBmYWxz
ZSwgZmFsc2UpKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Gb2N1c0Nv
bnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Gb2N1c0NvbnRyb2xsZXIuY3BwCmlu
ZGV4IGExYjg4ZWViODEyZGJhODBmNzFlMzA0OTVjNzc0NTgwODVjNjMyZDcuLjhmMGEyNzdiMzM1
NmJkMTcyMDE0N2QzNzMxNjYwZjI2N2JjNWRjMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRm9jdXNDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZvY3Vz
Q29udHJvbGxlci5jcHAKQEAgLTEwODksNyArMTA4OSw3IEBAIGJvb2wgRm9jdXNDb250cm9sbGVy
OjphZHZhbmNlRm9jdXNEaXJlY3Rpb25hbGx5KEZvY3VzRGlyZWN0aW9uIGRpcmVjdGlvbiwgS2V5
Ym9hCiAKIHZvaWQgRm9jdXNDb250cm9sbGVyOjpzZXRGb2N1c2VkRWxlbWVudE5lZWRzUmVwYWlu
dCgpCiB7Ci0gICAgbV9mb2N1c1JlcGFpbnRUaW1lci5zdGFydE9uZVNob3QoMC4wMzMpOworICAg
IG1fZm9jdXNSZXBhaW50VGltZXIuc3RhcnRPbmVTaG90KDMzX21zKTsKIH0KIAogdm9pZCBGb2N1
c0NvbnRyb2xsZXI6OmZvY3VzUmVwYWludFRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZp
ZXcuY3BwCmluZGV4IGZhYzFlMmZiM2NkOWMxYWU1YjM2MjQ0OGRhYjNkMmE4MWEwMGU2Y2YuLmMz
ZmNjOTMxMTFlMmI3NWE0MzcwZDg1MmMwNTA3MDA5ZWQzNjM1MTkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Zy
YW1lVmlldy5jcHAKQEAgLTI1MTUsNyArMjUxNSw3IEBAIHZvaWQgRnJhbWVWaWV3OjpzY3JvbGxQ
b3NpdGlvbkNoYW5nZWQoY29uc3QgU2Nyb2xsUG9zaXRpb24mIG9sZFBvc2l0aW9uLCBjb25zdCBT
CiAgICAgICAgIG1fZGVsYXllZFNjcm9sbEV2ZW50VGltZXIuc3RvcCgpOwogICAgICAgICBzZW5k
U2Nyb2xsRXZlbnQoKTsKICAgICB9IGVsc2UgaWYgKCFtX2RlbGF5ZWRTY3JvbGxFdmVudFRpbWVy
LmlzQWN0aXZlKCkpCi0gICAgICAgIG1fZGVsYXllZFNjcm9sbEV2ZW50VGltZXIuc3RhcnRPbmVT
aG90KHRocm90dGxpbmdEZWxheS52YWx1ZSgpKTsKKyAgICAgICAgbV9kZWxheWVkU2Nyb2xsRXZl
bnRUaW1lci5zdGFydE9uZVNob3QodGhyb3R0bGluZ0RlbGF5KTsKIAogICAgIGlmIChEb2N1bWVu
dCogZG9jdW1lbnQgPSBmcmFtZSgpLmRvY3VtZW50KCkpCiAgICAgICAgIGRvY3VtZW50LT5zZW5k
V2lsbFJldmVhbEVkZ2VFdmVudHNJZk5lZWRlZChvbGRQb3NpdGlvbiwgbmV3UG9zaXRpb24sIHZp
c2libGVDb250ZW50UmVjdCgpLCBjb250ZW50c1NpemUoKSk7CkBAIC0yOTM0LDcgKzI5MzQsNyBA
QCB2b2lkIEZyYW1lVmlldzo6ZW5hYmxlU3BlY3VsYXRpdmVUaWxpbmdJZk5lZWRlZCgpCiAgICAg
aWYgKG1fc3BlY3VsYXRpdmVUaWxpbmdFbmFibGVUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICBy
ZXR1cm47CiAgICAgLy8gRGVsYXkgZW5hYmxpbmcgYSBiaXQgYXMgbG9hZCBjb21wbGV0aW9uIG1h
eSB0cmlnZ2VyIGZ1cnRoZXIgbG9hZGluZyBmcm9tIHNjcmlwdHMuCi0gICAgc3RhdGljIGNvbnN0
IGRvdWJsZSBzcGVjdWxhdGl2ZVRpbGluZ0VuYWJsZURlbGF5ID0gMC41OworICAgIHN0YXRpYyBj
b25zdCBTZWNvbmRzIHNwZWN1bGF0aXZlVGlsaW5nRW5hYmxlRGVsYXkgeyA1MDBfbXMgfTsKICAg
ICBtX3NwZWN1bGF0aXZlVGlsaW5nRW5hYmxlVGltZXIuc3RhcnRPbmVTaG90KHNwZWN1bGF0aXZl
VGlsaW5nRW5hYmxlRGVsYXkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1NldHRpbmdzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCmluZGV4IGU3
Y2M5MGFmYzIwM2Q3YzNhOTllNDVhMjc0NmE2ZDg2MzA2YTFkZDcuLjQ1MDcwZWQwOTQ0ZWNhMWJm
YzdjY2FjYTRhMDE0OGE5YjhkZTdhYTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
U2V0dGluZ3MuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCkBAIC0y
MTIsNyArMjEyLDcgQEAgU2V0dGluZ3M6OlNldHRpbmdzKFBhZ2UqIHBhZ2UpCiAgICAgLCBtX3Rv
dWNoRXZlbnRFbXVsYXRpb25FbmFibGVkKGZhbHNlKQogI2VuZGlmCiAgICAgLCBtX3Njcm9sbGlu
Z1BlcmZvcm1hbmNlTG9nZ2luZ0VuYWJsZWQoZmFsc2UpCi0gICAgLCBtX3RpbWVXaXRob3V0TW91
c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKDMpCisgICAgLCBtX3RpbWVXaXRob3V0TW91
c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKDNfcykKICAgICAsIG1fc2V0SW1hZ2VMb2Fk
aW5nU2V0dGluZ3NUaW1lcigqdGhpcywgJlNldHRpbmdzOjppbWFnZUxvYWRpbmdTZXR0aW5nc1Rp
bWVyRmlyZWQpCiAgICAgLCBtX2hpZGRlblBhZ2VET01UaW1lclRocm90dGxpbmdFbmFibGVkKGZh
bHNlKQogICAgICwgbV9oaWRkZW5QYWdlQ1NTQW5pbWF0aW9uU3VzcGVuc2lvbkVuYWJsZWQoZmFs
c2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKaW5kZXggOWYzNzA3NTViMGI4MmJmZTgxOTI4MGE1OTgx
NDBkYTM5ZjU4MjM4ZC4uZDE5NmRjMmM5NjczZjU3ZGIwZGVkOWUzNjA1MTlkMTY4YWFiOWFlYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaApAQCAtMjU2LDggKzI1Niw4IEBAIHB1YmxpYzoKICAgICBX
RUJDT1JFX0VYUE9SVCBzdGF0aWMgdm9pZCBzZXRTaG91bGRSZXNwZWN0UHJpb3JpdHlJbkNTU0F0
dHJpYnV0ZVNldHRlcnMoYm9vbCk7CiAgICAgc3RhdGljIGJvb2wgc2hvdWxkUmVzcGVjdFByaW9y
aXR5SW5DU1NBdHRyaWJ1dGVTZXR0ZXJzKCk7CiAKLSAgICB2b2lkIHNldFRpbWVXaXRob3V0TW91
c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKGRvdWJsZSB0aW1lKSB7IG1fdGltZVdpdGhv
dXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMgPSB0aW1lOyB9Ci0gICAgZG91Ymxl
IHRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKCkgY29uc3QgeyBy
ZXR1cm4gbV90aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9sczsgfQor
ICAgIHZvaWQgc2V0VGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMo
U2Vjb25kcyB0aW1lKSB7IG1fdGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29u
dHJvbHMgPSB0aW1lOyB9CisgICAgU2Vjb25kcyB0aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZv
cmVIaWRpbmdDb250cm9scygpIGNvbnN0IHsgcmV0dXJuIG1fdGltZVdpdGhvdXRNb3VzZU1vdmVt
ZW50QmVmb3JlSGlkaW5nQ29udHJvbHM7IH0KIAogICAgIGJvb2wgaGlkZGVuUGFnZUNTU0FuaW1h
dGlvblN1c3BlbnNpb25FbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9oaWRkZW5QYWdlQ1NTQW5p
bWF0aW9uU3VzcGVuc2lvbkVuYWJsZWQ7IH0KICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldEhp
ZGRlblBhZ2VDU1NBbmltYXRpb25TdXNwZW5zaW9uRW5hYmxlZChib29sKTsKQEAgLTM2MSw3ICsz
NjEsNyBAQCBwcml2YXRlOgogI2VuZGlmCiAgICAgYm9vbCBtX3Njcm9sbGluZ1BlcmZvcm1hbmNl
TG9nZ2luZ0VuYWJsZWQgOiAxOwogCi0gICAgZG91YmxlIG1fdGltZVdpdGhvdXRNb3VzZU1vdmVt
ZW50QmVmb3JlSGlkaW5nQ29udHJvbHM7CisgICAgU2Vjb25kcyBtX3RpbWVXaXRob3V0TW91c2VN
b3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzOwogCiAgICAgVGltZXIgbV9zZXRJbWFnZUxvYWRp
bmdTZXR0aW5nc1RpbWVyOwogICAgIHZvaWQgaW1hZ2VMb2FkaW5nU2V0dGluZ3NUaW1lckZpcmVk
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1N1c3BlbmRhYmxlVGltZXIuaCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3VzcGVuZGFibGVUaW1lci5oCmluZGV4IDMxMjkyMDhmZTU1
ZGNhMGQwOTg1NWM5ZTIzZTFlYjc3MTMxNDM0ZmMuLjU1ODQ0MzQwNzgzNDZmYjliNTdhNmVhNTlh
ZmNlMjdhNjI0MGI1NWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3VzcGVuZGFi
bGVUaW1lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3VzcGVuZGFibGVUaW1lci5oCkBA
IC00NSw4ICs0NSw2IEBAIHB1YmxpYzoKICAgICBib29sIGlzQWN0aXZlKCkgY29uc3QgeyByZXR1
cm4gVGltZXJCYXNlOjppc0FjdGl2ZSgpIHx8IChtX3N1c3BlbmRlZCAmJiBtX3NhdmVkSXNBY3Rp
dmUpOyB9CiAgICAgYm9vbCBpc1N1c3BlbmRlZCgpIGNvbnN0IHsgcmV0dXJuIG1fc3VzcGVuZGVk
OyB9CiAKLSAgICB2b2lkIHN0YXJ0T25lU2hvdChkb3VibGUgaW50ZXJ2YWwpIHsgc3RhcnRPbmVT
aG90KFNlY29uZHMgeyBpbnRlcnZhbCB9KTsgfQotCiAgICAgU2Vjb25kcyByZXBlYXRJbnRlcnZh
bCgpIGNvbnN0OwogCiAgICAgdm9pZCBzdGFydFJlcGVhdGluZyhTZWNvbmRzIHJlcGVhdEludGVy
dmFsKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0NTU0FuaW1h
dGlvbkNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQ1NTQW5p
bWF0aW9uQ29udHJvbGxlci5jcHAKaW5kZXggZGNkN2U0MGFkMWU5YWZkYTlkNWFmY2QxMDg2MWRk
NGZlNWY1MDZjMy4uMDBjNzNlMTZiYzMxYWE3NThjOTM4NGQ1NGQ0NzA4YzI4MmE4MTQ2MSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQ1NTQW5pbWF0aW9uQ29udHJv
bGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQ1NTQW5pbWF0aW9u
Q29udHJvbGxlci5jcHAKQEAgLTQ5LDkgKzQ5LDkgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
Ly8gQWxsb3cgYSBsaXR0bGUgbW9yZSB0aGFuIDYwZnBzIHRvIG1ha2Ugc3VyZSB3ZSBjYW4gYXQg
bGVhc3QgaGl0IHRoYXQgZnJhbWUgcmF0ZS4KLXN0YXRpYyBjb25zdCBTZWNvbmRzIGFuaW1hdGlv
blRpbWVyRGVsYXkgeyAwLjAxNSB9Oworc3RhdGljIGNvbnN0IFNlY29uZHMgYW5pbWF0aW9uVGlt
ZXJEZWxheSB7IDE1X21zIH07CiAvLyBBbGxvdyBhIGxpdHRsZSBtb3JlIHRoYW4gMzBmcHMgdG8g
bWFrZSBzdXJlIHdlIGNhbiBhdCBsZWFzdCBoaXQgdGhhdCBmcmFtZSByYXRlLgotc3RhdGljIGNv
bnN0IFNlY29uZHMgYW5pbWF0aW9uVGltZXJUaHJvdHRsZWREZWxheSB7IDAuMDMwIH07CitzdGF0
aWMgY29uc3QgU2Vjb25kcyBhbmltYXRpb25UaW1lclRocm90dGxlZERlbGF5IHsgMzBfbXMgfTsK
IAogY2xhc3MgQW5pbWF0aW9uUHJpdmF0ZVVwZGF0ZUJsb2NrIHsKIHB1YmxpYzoKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL0V2ZW50SGFuZGxlck1hYy5tbSBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvbWFjL0V2ZW50SGFuZGxlck1hYy5tbQppbmRleCBmNTFlMGE4YTQyZTBkNjg1
NmUzNjMyNzY4NTM4NzJlMWM3YjMzN2Q4Li5mNzFlNGZkYzE1OWMzNWE2MTBmNDVmYjYxNWIwZjRl
MTQ4ZGJhODY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9FdmVudEhhbmRs
ZXJNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1t
CkBAIC03NCw3ICs3NCw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY29uc3QgZG91Ymxl
IHJlc2V0TGF0Y2hlZFN0YXRlVGltZW91dCA9IDAuMTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHJl
c2V0TGF0Y2hlZFN0YXRlVGltZW91dCB7IDEwMF9tcyB9OwogCiBzdGF0aWMgUmV0YWluUHRyPE5T
RXZlbnQ+JiBjdXJyZW50TlNFdmVudFNsb3QoKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9tYWMvVGV4dEluZGljYXRvcldpbmRvdy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
bWFjL1RleHRJbmRpY2F0b3JXaW5kb3cubW0KaW5kZXggZTU5MjliYTYzZGU1OWY0OTgzYmQ4Y2Y5
YzMwMDY0ZTY3MTc3M2NiYy4uZmMzNmRjYjEzY2VkN2U1YWMyY2YwMTc3M2FjZTc5MzIxNDY2MGRk
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvVGV4dEluZGljYXRvcldpbmRv
dy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9UZXh0SW5kaWNhdG9yV2luZG93Lm1t
CkBAIC00NzYsNyArNDc2LDcgQEAgdm9pZCBUZXh0SW5kaWNhdG9yV2luZG93OjpzZXRUZXh0SW5k
aWNhdG9yKFJlZjxUZXh0SW5kaWNhdG9yPiB0ZXh0SW5kaWNhdG9yLCBDR1IKICAgICAgICAgW21f
dGV4dEluZGljYXRvclZpZXcgcHJlc2VudF07CiAKICAgICBpZiAobGlmZXRpbWUgPT0gVGV4dElu
ZGljYXRvcldpbmRvd0xpZmV0aW1lOjpUZW1wb3JhcnkpCi0gICAgICAgIG1fdGVtcG9yYXJ5VGV4
dEluZGljYXRvclRpbWVyLnN0YXJ0T25lU2hvdCh0aW1lQmVmb3JlRmFkZVN0YXJ0cyk7CisgICAg
ICAgIG1fdGVtcG9yYXJ5VGV4dEluZGljYXRvclRpbWVyLnN0YXJ0T25lU2hvdCgxX3MgKiB0aW1l
QmVmb3JlRmFkZVN0YXJ0cyk7CiB9CiAKIHZvaWQgVGV4dEluZGljYXRvcldpbmRvdzo6Y2xvc2VX
aW5kb3coKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vSHlzdGVyZXNpc0Fj
dGl2aXR5LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9IeXN0ZXJlc2lzQWN0aXZpdHkuaApp
bmRleCAxMjhlZjgyMDllMmE3NDgzMDllMDYyODIwZWRjODIzOTgwYzBiMmUxLi41OTllMTcxZWMx
YWNhZDIwZWQ4ZjE1ZDFiNDVjOWVhYTlmMWNlMGEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9IeXN0ZXJlc2lzQWN0aXZpdHkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9IeXN0ZXJlc2lzQWN0aXZpdHkuaApAQCAtNjUsNyArNjUsNyBAQCBwdWJsaWM6CiAgICAg
ICAgICAgICByZXR1cm47CiAgICAgICAgIG1fYWN0aXZlID0gZmFsc2U7CiAKLSAgICAgICAgbV90
aW1lci5zdGFydE9uZVNob3QobV9oeXN0ZXJlc2lzU2Vjb25kcyk7CisgICAgICAgIG1fdGltZXIu
c3RhcnRPbmVTaG90KDFfcyAqIG1faHlzdGVyZXNpc1NlY29uZHMpOwogICAgIH0KIAogICAgIHZv
aWQgaW1wdWxzZSgpCkBAIC04OSw3ICs4OSw3IEBAIHByaXZhdGU6CiAgICAgfQogCiAgICAgc3Rk
OjpmdW5jdGlvbjx2b2lkKEh5c3RlcmVzaXNTdGF0ZSk+IG1fY2FsbGJhY2s7Ci0gICAgZG91Ymxl
IG1faHlzdGVyZXNpc1NlY29uZHM7CisgICAgZG91YmxlIG1faHlzdGVyZXNpc1NlY29uZHM7IC8v
IEZJWE1FOiBTaG91bGQgdXNlIFNlY29uZHMuCiAgICAgYm9vbCBtX2FjdGl2ZTsKICAgICBUaW1l
ciBtX3RpbWVyOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9s
bEFuaW1hdGlvblNtb290aC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmlt
YXRpb25TbW9vdGguY3BwCmluZGV4IGM4ZjVkNWRjMDM1NDViYmU1NjA2Nzk3ODZlZDkxMTk3NDE2
NGVlNzYuLmI3ZGMyYjhiNGQ3YjNhMmZlOGNkOWViMzUwMzFmOWEyODQwZjg4MzkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdGlvblNtb290aC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmNwcApAQCAt
MzcsOCArMzcsOCBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdGF0aWMgY29uc3QgZG91Ymxl
IGZyYW1lUmF0ZSA9IDYwOwotc3RhdGljIGNvbnN0IGRvdWJsZSB0aWNrVGltZSA9IDEgLyBmcmFt
ZVJhdGU7Ci1zdGF0aWMgY29uc3QgZG91YmxlIG1pbmltdW1UaW1lckludGVydmFsID0gLjAwMTsK
K3N0YXRpYyBjb25zdCBTZWNvbmRzIHRpY2tUaW1lID0gMV9zIC8gZnJhbWVSYXRlOworc3RhdGlj
IGNvbnN0IFNlY29uZHMgbWluaW11bVRpbWVySW50ZXJ2YWwgeyAxX21zIH07CiAKIFNjcm9sbEFu
aW1hdGlvblNtb290aDo6U2Nyb2xsQW5pbWF0aW9uU21vb3RoKFNjcm9sbGFibGVBcmVhJiBzY3Jv
bGxhYmxlQXJlYSwgY29uc3QgRmxvYXRQb2ludCYgcG9zaXRpb24sIHN0ZDo6ZnVuY3Rpb248dm9p
ZCAoRmxvYXRQb2ludCYmKT4mJiBub3RpZnlQb3NpdGlvbkNoYW5nZWRGdW5jdGlvbikKICAgICA6
IFNjcm9sbEFuaW1hdGlvbihzY3JvbGxhYmxlQXJlYSkKQEAgLTIyNiw0MCArMjI2LDQwIEBAIHN0
YXRpYyBpbmxpbmUgZG91YmxlIHJlbGVhc2VBcmVhKFNjcm9sbEFuaW1hdGlvblNtb290aDo6Q3Vy
dmUgY3VydmUsIGRvdWJsZSBzdGFyCiAgICAgcmV0dXJuIGVuZFZhbHVlIC0gc3RhcnRWYWx1ZTsK
IH0KIAotc3RhdGljIGlubGluZSB2b2lkIGdldEFuaW1hdGlvblBhcmFtZXRlcnNGb3JHcmFudWxh
cml0eShTY3JvbGxHcmFudWxhcml0eSBncmFudWxhcml0eSwgZG91YmxlJiBhbmltYXRpb25UaW1l
LCBkb3VibGUmIHJlcGVhdE1pbmltdW1TdXN0YWluVGltZSwgZG91YmxlJiBhdHRhY2tUaW1lLCBk
b3VibGUmIHJlbGVhc2VUaW1lLCBTY3JvbGxBbmltYXRpb25TbW9vdGg6OkN1cnZlJiBjb2FzdFRp
bWVDdXJ2ZSwgZG91YmxlJiBtYXhpbXVtQ29hc3RUaW1lKQorc3RhdGljIGlubGluZSB2b2lkIGdl
dEFuaW1hdGlvblBhcmFtZXRlcnNGb3JHcmFudWxhcml0eShTY3JvbGxHcmFudWxhcml0eSBncmFu
dWxhcml0eSwgU2Vjb25kcyYgYW5pbWF0aW9uVGltZSwgU2Vjb25kcyYgcmVwZWF0TWluaW11bVN1
c3RhaW5UaW1lLCBTZWNvbmRzJiBhdHRhY2tUaW1lLCBTZWNvbmRzJiByZWxlYXNlVGltZSwgU2Ny
b2xsQW5pbWF0aW9uU21vb3RoOjpDdXJ2ZSYgY29hc3RUaW1lQ3VydmUsIFNlY29uZHMmIG1heGlt
dW1Db2FzdFRpbWUpCiB7CiAgICAgc3dpdGNoIChncmFudWxhcml0eSkgewogICAgIGNhc2UgU2Ny
b2xsQnlEb2N1bWVudDoKLSAgICAgICAgYW5pbWF0aW9uVGltZSA9IDIwICogdGlja1RpbWU7Ci0g
ICAgICAgIHJlcGVhdE1pbmltdW1TdXN0YWluVGltZSA9IDEwICogdGlja1RpbWU7Ci0gICAgICAg
IGF0dGFja1RpbWUgPSAxMCAqIHRpY2tUaW1lOwotICAgICAgICByZWxlYXNlVGltZSA9IDEwICog
dGlja1RpbWU7CisgICAgICAgIGFuaW1hdGlvblRpbWUgPSB0aWNrVGltZSAqIDEwOworICAgICAg
ICByZXBlYXRNaW5pbXVtU3VzdGFpblRpbWUgPSB0aWNrVGltZSAqIDEwOworICAgICAgICBhdHRh
Y2tUaW1lID0gdGlja1RpbWUgKiAxMDsKKyAgICAgICAgcmVsZWFzZVRpbWUgPSB0aWNrVGltZSAq
IDEwOwogICAgICAgICBjb2FzdFRpbWVDdXJ2ZSA9IFNjcm9sbEFuaW1hdGlvblNtb290aDo6Q3Vy
dmU6OkxpbmVhcjsKLSAgICAgICAgbWF4aW11bUNvYXN0VGltZSA9IDE7CisgICAgICAgIG1heGlt
dW1Db2FzdFRpbWUgPSAxX3M7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgU2Nyb2xsQnlMaW5l
OgotICAgICAgICBhbmltYXRpb25UaW1lID0gMTAgKiB0aWNrVGltZTsKLSAgICAgICAgcmVwZWF0
TWluaW11bVN1c3RhaW5UaW1lID0gNyAqIHRpY2tUaW1lOwotICAgICAgICBhdHRhY2tUaW1lID0g
MyAqIHRpY2tUaW1lOwotICAgICAgICByZWxlYXNlVGltZSA9IDMgKiB0aWNrVGltZTsKKyAgICAg
ICAgYW5pbWF0aW9uVGltZSA9IHRpY2tUaW1lICogMTA7CisgICAgICAgIHJlcGVhdE1pbmltdW1T
dXN0YWluVGltZSA9IHRpY2tUaW1lICogNzsKKyAgICAgICAgYXR0YWNrVGltZSA9IHRpY2tUaW1l
ICogMzsKKyAgICAgICAgcmVsZWFzZVRpbWUgPSB0aWNrVGltZSAqIDM7CiAgICAgICAgIGNvYXN0
VGltZUN1cnZlID0gU2Nyb2xsQW5pbWF0aW9uU21vb3RoOjpDdXJ2ZTo6TGluZWFyOwotICAgICAg
ICBtYXhpbXVtQ29hc3RUaW1lID0gMTsKKyAgICAgICAgbWF4aW11bUNvYXN0VGltZSA9IDFfczsK
ICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBTY3JvbGxCeVBhZ2U6Ci0gICAgICAgIGFuaW1hdGlv
blRpbWUgPSAxNSAqIHRpY2tUaW1lOwotICAgICAgICByZXBlYXRNaW5pbXVtU3VzdGFpblRpbWUg
PSAxMCAqIHRpY2tUaW1lOwotICAgICAgICBhdHRhY2tUaW1lID0gNSAqIHRpY2tUaW1lOwotICAg
ICAgICByZWxlYXNlVGltZSA9IDUgKiB0aWNrVGltZTsKKyAgICAgICAgYW5pbWF0aW9uVGltZSA9
IHRpY2tUaW1lICogMTU7CisgICAgICAgIHJlcGVhdE1pbmltdW1TdXN0YWluVGltZSA9IHRpY2tU
aW1lICogMTA7CisgICAgICAgIGF0dGFja1RpbWUgPSB0aWNrVGltZSAqIDU7CisgICAgICAgIHJl
bGVhc2VUaW1lID0gdGlja1RpbWUgKiA1OwogICAgICAgICBjb2FzdFRpbWVDdXJ2ZSA9IFNjcm9s
bEFuaW1hdGlvblNtb290aDo6Q3VydmU6OkxpbmVhcjsKLSAgICAgICAgbWF4aW11bUNvYXN0VGlt
ZSA9IDE7CisgICAgICAgIG1heGltdW1Db2FzdFRpbWUgPSAxX3M7CiAgICAgICAgIGJyZWFrOwog
ICAgIGNhc2UgU2Nyb2xsQnlQaXhlbDoKLSAgICAgICAgYW5pbWF0aW9uVGltZSA9IDExICogdGlj
a1RpbWU7Ci0gICAgICAgIHJlcGVhdE1pbmltdW1TdXN0YWluVGltZSA9IDIgKiB0aWNrVGltZTsK
LSAgICAgICAgYXR0YWNrVGltZSA9IDMgKiB0aWNrVGltZTsKLSAgICAgICAgcmVsZWFzZVRpbWUg
PSAzICogdGlja1RpbWU7CisgICAgICAgIGFuaW1hdGlvblRpbWUgPSB0aWNrVGltZSAqIDExOwor
ICAgICAgICByZXBlYXRNaW5pbXVtU3VzdGFpblRpbWUgPSB0aWNrVGltZSAqIDI7CisgICAgICAg
IGF0dGFja1RpbWUgPSB0aWNrVGltZSAqIDM7CisgICAgICAgIHJlbGVhc2VUaW1lID0gdGlja1Rp
bWUgKiAzOwogICAgICAgICBjb2FzdFRpbWVDdXJ2ZSA9IFNjcm9sbEFuaW1hdGlvblNtb290aDo6
Q3VydmU6OlF1YWRyYXRpYzsKLSAgICAgICAgbWF4aW11bUNvYXN0VGltZSA9IDEuMjU7CisgICAg
ICAgIG1heGltdW1Db2FzdFRpbWUgPSAxMjUwX21zOwogICAgICAgICBicmVhazsKICAgICBkZWZh
dWx0OgogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKQEAgLTI3OSw3ICsyNzksNyBAQCBi
b29sIFNjcm9sbEFuaW1hdGlvblNtb290aDo6dXBkYXRlUGVyQXhpc0RhdGEoUGVyQXhpc0RhdGEm
IGRhdGEsIFNjcm9sbEdyYW51bGFyaQogICAgIGlmIChuZXdQb3NpdGlvbiA9PSBkYXRhLmRlc2ly
ZWRQb3NpdGlvbikKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgZG91YmxlIGFuaW1hdGlv
blRpbWUsIHJlcGVhdE1pbmltdW1TdXN0YWluVGltZSwgYXR0YWNrVGltZSwgcmVsZWFzZVRpbWUs
IG1heGltdW1Db2FzdFRpbWU7CisgICAgU2Vjb25kcyBhbmltYXRpb25UaW1lLCByZXBlYXRNaW5p
bXVtU3VzdGFpblRpbWUsIGF0dGFja1RpbWUsIHJlbGVhc2VUaW1lLCBtYXhpbXVtQ29hc3RUaW1l
OwogICAgIEN1cnZlIGNvYXN0VGltZUN1cnZlOwogICAgIGdldEFuaW1hdGlvblBhcmFtZXRlcnNG
b3JHcmFudWxhcml0eShncmFudWxhcml0eSwgYW5pbWF0aW9uVGltZSwgcmVwZWF0TWluaW11bVN1
c3RhaW5UaW1lLCBhdHRhY2tUaW1lLCByZWxlYXNlVGltZSwgY29hc3RUaW1lQ3VydmUsIG1heGlt
dW1Db2FzdFRpbWUpOwogCkBAIC0yOTgsNyArMjk4LDcgQEAgYm9vbCBTY3JvbGxBbmltYXRpb25T
bW9vdGg6OnVwZGF0ZVBlckF4aXNEYXRhKFBlckF4aXNEYXRhJiBkYXRhLCBTY3JvbGxHcmFudWxh
cmkKIAogICAgIGlmICghZGF0YS5zdGFydFRpbWUpIHsKICAgICAgICAgLy8gRklYTUU6IFRoaXMg
c2hvdWxkIGJlIHRoZSB0aW1lIGZyb20gdGhlIGV2ZW50IHRoYXQgZ290IHVzIGhlcmUuCi0gICAg
ICAgIGRhdGEuc3RhcnRUaW1lID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkgLSB0aWNr
VGltZSAvIDI7CisgICAgICAgIGRhdGEuc3RhcnRUaW1lID0gTW9ub3RvbmljVGltZTo6bm93KCkg
LSB0aWNrVGltZSAvIDIuOwogICAgICAgICBkYXRhLnN0YXJ0UG9zaXRpb24gPSBkYXRhLmN1cnJl
bnRQb3NpdGlvbjsKICAgICAgICAgZGF0YS5sYXN0QW5pbWF0aW9uVGltZSA9IGRhdGEuc3RhcnRU
aW1lOwogICAgIH0KQEAgLTMwNiwxMCArMzA2LDEwIEBAIGJvb2wgU2Nyb2xsQW5pbWF0aW9uU21v
b3RoOjp1cGRhdGVQZXJBeGlzRGF0YShQZXJBeGlzRGF0YSYgZGF0YSwgU2Nyb2xsR3JhbnVsYXJp
CiAKICAgICBkb3VibGUgcmVtYWluaW5nRGVsdGEgPSBkYXRhLmRlc2lyZWRQb3NpdGlvbiAtIGRh
dGEuY3VycmVudFBvc2l0aW9uOwogICAgIGRvdWJsZSBhdHRhY2tBcmVhTGVmdCA9IDA7Ci0gICAg
ZG91YmxlIGRlbHRhVGltZSA9IGRhdGEubGFzdEFuaW1hdGlvblRpbWUgLSBkYXRhLnN0YXJ0VGlt
ZTsKLSAgICBkb3VibGUgYXR0YWNrVGltZUxlZnQgPSBzdGQ6Om1heCgwLiwgZGF0YS5hdHRhY2tU
aW1lIC0gZGVsdGFUaW1lKTsKLSAgICBkb3VibGUgdGltZUxlZnQgPSBkYXRhLmFuaW1hdGlvblRp
bWUgLSBkZWx0YVRpbWU7Ci0gICAgZG91YmxlIG1pblRpbWVMZWZ0ID0gZGF0YS5yZWxlYXNlVGlt
ZSArIHN0ZDo6bWluKHJlcGVhdE1pbmltdW1TdXN0YWluVGltZSwgZGF0YS5hbmltYXRpb25UaW1l
IC0gZGF0YS5yZWxlYXNlVGltZSAtIGF0dGFja1RpbWVMZWZ0KTsKKyAgICBTZWNvbmRzIGRlbHRh
VGltZSA9IGRhdGEubGFzdEFuaW1hdGlvblRpbWUgLSBkYXRhLnN0YXJ0VGltZTsKKyAgICBTZWNv
bmRzIGF0dGFja1RpbWVMZWZ0ID0gc3RkOjptYXgoMF9zLCBkYXRhLmF0dGFja1RpbWUgLSBkZWx0
YVRpbWUpOworICAgIFNlY29uZHMgdGltZUxlZnQgPSBkYXRhLmFuaW1hdGlvblRpbWUgLSBkZWx0
YVRpbWU7CisgICAgU2Vjb25kcyBtaW5UaW1lTGVmdCA9IGRhdGEucmVsZWFzZVRpbWUgKyBzdGQ6
Om1pbihyZXBlYXRNaW5pbXVtU3VzdGFpblRpbWUsIGRhdGEuYW5pbWF0aW9uVGltZSAtIGRhdGEu
cmVsZWFzZVRpbWUgLSBhdHRhY2tUaW1lTGVmdCk7CiAgICAgaWYgKHRpbWVMZWZ0IDwgbWluVGlt
ZUxlZnQpIHsKICAgICAgICAgZGF0YS5hbmltYXRpb25UaW1lID0gZGVsdGFUaW1lICsgbWluVGlt
ZUxlZnQ7CiAgICAgICAgIHRpbWVMZWZ0ID0gbWluVGltZUxlZnQ7CkBAIC0zMjEsMTQgKzMyMSwx
NCBAQCBib29sIFNjcm9sbEFuaW1hdGlvblNtb290aDo6dXBkYXRlUGVyQXhpc0RhdGEoUGVyQXhp
c0RhdGEmIGRhdGEsIFNjcm9sbEdyYW51bGFyaQogICAgICAgICBkb3VibGUgbWluQ29hc3REZWx0
YSA9IGRhdGEudmlzaWJsZUxlbmd0aDsKIAogICAgICAgICBpZiAoZmFicyhyZW1haW5pbmdEZWx0
YSkgPiBtaW5Db2FzdERlbHRhKSB7Ci0gICAgICAgICAgICBkb3VibGUgbWF4Q29hc3REZWx0YSA9
IG1heGltdW1Db2FzdFRpbWUgKiB0YXJnZXRNYXhDb2FzdFZlbG9jaXR5OworICAgICAgICAgICAg
ZG91YmxlIG1heENvYXN0RGVsdGEgPSBtYXhpbXVtQ29hc3RUaW1lLnZhbHVlKCkgKiB0YXJnZXRN
YXhDb2FzdFZlbG9jaXR5OwogICAgICAgICAgICAgZG91YmxlIGNvYXN0RmFjdG9yID0gc3RkOjpt
aW4oMS4sIChmYWJzKHJlbWFpbmluZ0RlbHRhKSAtIG1pbkNvYXN0RGVsdGEpIC8gKG1heENvYXN0
RGVsdGEgLSBtaW5Db2FzdERlbHRhKSk7CiAKICAgICAgICAgICAgIC8vIFdlIGNvdWxkIHBsYXkg
d2l0aCB0aGUgY3VydmUgaGVyZSAtIGxpbmVhciBzZWVtcyBhIGxpdHRsZSBzb2Z0LiBJbml0aWFs
IHRlc3RpbmcgbWFrZXMgbWUgd2FudCB0byBmZWVkIGludG8gdGhlIHN1c3RhaW4gdGltZSBtb3Jl
IGFnZ3Jlc3NpdmVseS4KLSAgICAgICAgICAgIGRvdWJsZSBjb2FzdE1pblRpbWVMZWZ0ID0gc3Rk
OjptaW4obWF4aW11bUNvYXN0VGltZSwgbWluVGltZUxlZnQgKyBjb2FzdEN1cnZlKGNvYXN0VGlt
ZUN1cnZlLCBjb2FzdEZhY3RvcikgKiAobWF4aW11bUNvYXN0VGltZSAtIG1pblRpbWVMZWZ0KSk7
CisgICAgICAgICAgICBTZWNvbmRzIGNvYXN0TWluVGltZUxlZnQgPSBzdGQ6Om1pbihtYXhpbXVt
Q29hc3RUaW1lLCBtaW5UaW1lTGVmdCArIFNlY29uZHMgeyBjb2FzdEN1cnZlKGNvYXN0VGltZUN1
cnZlLCBjb2FzdEZhY3RvcikgfSAqIChtYXhpbXVtQ29hc3RUaW1lIC0gbWluVGltZUxlZnQpKTsK
IAotICAgICAgICAgICAgaWYgKGRvdWJsZSBhZGRpdGlvbmFsVGltZSA9IHN0ZDo6bWF4KDAuLCBj
b2FzdE1pblRpbWVMZWZ0IC0gbWluVGltZUxlZnQpKSB7Ci0gICAgICAgICAgICAgICAgZG91Ymxl
IGFkZGl0aW9uYWxSZWxlYXNlVGltZSA9IHN0ZDo6bWluKGFkZGl0aW9uYWxUaW1lLCByZWxlYXNl
VGltZSAvIChyZWxlYXNlVGltZSArIHJlcGVhdE1pbmltdW1TdXN0YWluVGltZSkgKiBhZGRpdGlv
bmFsVGltZSk7CisgICAgICAgICAgICBpZiAoU2Vjb25kcyBhZGRpdGlvbmFsVGltZSA9IHN0ZDo6
bWF4KDBfcywgY29hc3RNaW5UaW1lTGVmdCAtIG1pblRpbWVMZWZ0KSkgeworICAgICAgICAgICAg
ICAgIFNlY29uZHMgYWRkaXRpb25hbFJlbGVhc2VUaW1lID0gc3RkOjptaW4oYWRkaXRpb25hbFRp
bWUsIHJlbGVhc2VUaW1lIC8gKHJlbGVhc2VUaW1lICsgcmVwZWF0TWluaW11bVN1c3RhaW5UaW1l
KSAqIGFkZGl0aW9uYWxUaW1lKTsKICAgICAgICAgICAgICAgICBkYXRhLnJlbGVhc2VUaW1lID0g
cmVsZWFzZVRpbWUgKyBhZGRpdGlvbmFsUmVsZWFzZVRpbWU7CiAgICAgICAgICAgICAgICAgZGF0
YS5hbmltYXRpb25UaW1lID0gZGVsdGFUaW1lICsgY29hc3RNaW5UaW1lTGVmdDsKICAgICAgICAg
ICAgICAgICB0aW1lTGVmdCA9IGNvYXN0TWluVGltZUxlZnQ7CkBAIC0zMzYsNDMgKzMzNiw0MyBA
QCBib29sIFNjcm9sbEFuaW1hdGlvblNtb290aDo6dXBkYXRlUGVyQXhpc0RhdGEoUGVyQXhpc0Rh
dGEmIGRhdGEsIFNjcm9sbEdyYW51bGFyaQogICAgICAgICB9CiAgICAgfQogCi0gICAgZG91Ymxl
IHJlbGVhc2VUaW1lTGVmdCA9IHN0ZDo6bWluKHRpbWVMZWZ0LCBkYXRhLnJlbGVhc2VUaW1lKTsK
LSAgICBkb3VibGUgc3VzdGFpblRpbWVMZWZ0ID0gc3RkOjptYXgoMC4sIHRpbWVMZWZ0IC0gcmVs
ZWFzZVRpbWVMZWZ0IC0gYXR0YWNrVGltZUxlZnQpOworICAgIFNlY29uZHMgcmVsZWFzZVRpbWVM
ZWZ0ID0gc3RkOjptaW4odGltZUxlZnQsIGRhdGEucmVsZWFzZVRpbWUpOworICAgIFNlY29uZHMg
c3VzdGFpblRpbWVMZWZ0ID0gc3RkOjptYXgoMF9zLCB0aW1lTGVmdCAtIHJlbGVhc2VUaW1lTGVm
dCAtIGF0dGFja1RpbWVMZWZ0KTsKICAgICBpZiAoYXR0YWNrVGltZUxlZnQpIHsKLSAgICAgICAg
ZG91YmxlIGF0dGFja1Nwb3QgPSBkZWx0YVRpbWUgLyBkYXRhLmF0dGFja1RpbWU7Ci0gICAgICAg
IGF0dGFja0FyZWFMZWZ0ID0gYXR0YWNrQXJlYShDdXJ2ZTo6Q3ViaWMsIGF0dGFja1Nwb3QsIDEp
ICogZGF0YS5hdHRhY2tUaW1lOworICAgICAgICBkb3VibGUgYXR0YWNrU3BvdCA9IChkZWx0YVRp
bWUgLyBkYXRhLmF0dGFja1RpbWUpLnZhbHVlKCk7CisgICAgICAgIGF0dGFja0FyZWFMZWZ0ID0g
YXR0YWNrQXJlYShDdXJ2ZTo6Q3ViaWMsIGF0dGFja1Nwb3QsIDEpICogZGF0YS5hdHRhY2tUaW1l
LnZhbHVlKCk7CiAgICAgfQogCi0gICAgZG91YmxlIHJlbGVhc2VTcG90ID0gKGRhdGEucmVsZWFz
ZVRpbWUgLSByZWxlYXNlVGltZUxlZnQpIC8gZGF0YS5yZWxlYXNlVGltZTsKLSAgICBkb3VibGUg
cmVsZWFzZUFyZWFMZWZ0ID0gcmVsZWFzZUFyZWEoQ3VydmU6OkN1YmljLCByZWxlYXNlU3BvdCwg
MSkgKiBkYXRhLnJlbGVhc2VUaW1lOworICAgIGRvdWJsZSByZWxlYXNlU3BvdCA9ICgoZGF0YS5y
ZWxlYXNlVGltZSAtIHJlbGVhc2VUaW1lTGVmdCkgLyBkYXRhLnJlbGVhc2VUaW1lKS52YWx1ZSgp
OworICAgIGRvdWJsZSByZWxlYXNlQXJlYUxlZnQgPSByZWxlYXNlQXJlYShDdXJ2ZTo6Q3ViaWMs
IHJlbGVhc2VTcG90LCAxKSAqIGRhdGEucmVsZWFzZVRpbWUudmFsdWUoKTsKIAotICAgIGRhdGEu
ZGVzaXJlZFZlbG9jaXR5ID0gcmVtYWluaW5nRGVsdGEgLyAoYXR0YWNrQXJlYUxlZnQgKyBzdXN0
YWluVGltZUxlZnQgKyByZWxlYXNlQXJlYUxlZnQpOworICAgIGRhdGEuZGVzaXJlZFZlbG9jaXR5
ID0gcmVtYWluaW5nRGVsdGEgLyAoYXR0YWNrQXJlYUxlZnQgKyBzdXN0YWluVGltZUxlZnQudmFs
dWUoKSArIHJlbGVhc2VBcmVhTGVmdCk7CiAgICAgZGF0YS5yZWxlYXNlUG9zaXRpb24gPSBkYXRh
LmRlc2lyZWRQb3NpdGlvbiAtIGRhdGEuZGVzaXJlZFZlbG9jaXR5ICogcmVsZWFzZUFyZWFMZWZ0
OwogICAgIGlmIChhdHRhY2tBcmVhTGVmdCkKICAgICAgICAgZGF0YS5hdHRhY2tQb3NpdGlvbiA9
IGRhdGEuc3RhcnRQb3NpdGlvbiArIGRhdGEuZGVzaXJlZFZlbG9jaXR5ICogYXR0YWNrQXJlYUxl
ZnQ7CiAgICAgZWxzZQotICAgICAgICBkYXRhLmF0dGFja1Bvc2l0aW9uID0gZGF0YS5yZWxlYXNl
UG9zaXRpb24gLSAoZGF0YS5hbmltYXRpb25UaW1lIC0gZGF0YS5yZWxlYXNlVGltZSAtIGRhdGEu
YXR0YWNrVGltZSkgKiBkYXRhLmRlc2lyZWRWZWxvY2l0eTsKKyAgICAgICAgZGF0YS5hdHRhY2tQ
b3NpdGlvbiA9IGRhdGEucmVsZWFzZVBvc2l0aW9uIC0gKGRhdGEuYW5pbWF0aW9uVGltZSAtIGRh
dGEucmVsZWFzZVRpbWUgLSBkYXRhLmF0dGFja1RpbWUpLnZhbHVlKCkgKiBkYXRhLmRlc2lyZWRW
ZWxvY2l0eTsKIAogICAgIGlmIChzdXN0YWluVGltZUxlZnQpIHsKLSAgICAgICAgZG91YmxlIHJv
dW5kT2ZmID0gZGF0YS5yZWxlYXNlUG9zaXRpb24gLSAoKGF0dGFja0FyZWFMZWZ0ID8gZGF0YS5h
dHRhY2tQb3NpdGlvbiA6IGRhdGEuY3VycmVudFBvc2l0aW9uKSArIGRhdGEuZGVzaXJlZFZlbG9j
aXR5ICogc3VzdGFpblRpbWVMZWZ0KTsKLSAgICAgICAgZGF0YS5kZXNpcmVkVmVsb2NpdHkgKz0g
cm91bmRPZmYgLyBzdXN0YWluVGltZUxlZnQ7CisgICAgICAgIGRvdWJsZSByb3VuZE9mZiA9IGRh
dGEucmVsZWFzZVBvc2l0aW9uIC0gKChhdHRhY2tBcmVhTGVmdCA/IGRhdGEuYXR0YWNrUG9zaXRp
b24gOiBkYXRhLmN1cnJlbnRQb3NpdGlvbikgKyBkYXRhLmRlc2lyZWRWZWxvY2l0eSAqIHN1c3Rh
aW5UaW1lTGVmdC52YWx1ZSgpKTsKKyAgICAgICAgZGF0YS5kZXNpcmVkVmVsb2NpdHkgKz0gcm91
bmRPZmYgLyBzdXN0YWluVGltZUxlZnQudmFsdWUoKTsKICAgICB9CiAKICAgICByZXR1cm4gdHJ1
ZTsKIH0KIAotYm9vbCBTY3JvbGxBbmltYXRpb25TbW9vdGg6OmFuaW1hdGVTY3JvbGwoUGVyQXhp
c0RhdGEmIGRhdGEsIGRvdWJsZSBjdXJyZW50VGltZSkKK2Jvb2wgU2Nyb2xsQW5pbWF0aW9uU21v
b3RoOjphbmltYXRlU2Nyb2xsKFBlckF4aXNEYXRhJiBkYXRhLCBNb25vdG9uaWNUaW1lIGN1cnJl
bnRUaW1lKQogewogICAgIGlmICghZGF0YS5zdGFydFRpbWUpCiAgICAgICAgIHJldHVybiBmYWxz
ZTsKIAotICAgIGRvdWJsZSBsYXN0U2Nyb2xsSW50ZXJ2YWwgPSBjdXJyZW50VGltZSAtIGRhdGEu
bGFzdEFuaW1hdGlvblRpbWU7CisgICAgU2Vjb25kcyBsYXN0U2Nyb2xsSW50ZXJ2YWwgPSBjdXJy
ZW50VGltZSAtIGRhdGEubGFzdEFuaW1hdGlvblRpbWU7CiAgICAgaWYgKGxhc3RTY3JvbGxJbnRl
cnZhbCA8IG1pbmltdW1UaW1lckludGVydmFsKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAogICAg
IGRhdGEubGFzdEFuaW1hdGlvblRpbWUgPSBjdXJyZW50VGltZTsKIAotICAgIGRvdWJsZSBkZWx0
YVRpbWUgPSBjdXJyZW50VGltZSAtIGRhdGEuc3RhcnRUaW1lOworICAgIFNlY29uZHMgZGVsdGFU
aW1lID0gY3VycmVudFRpbWUgLSBkYXRhLnN0YXJ0VGltZTsKICAgICBkb3VibGUgbmV3UG9zaXRp
b24gPSBkYXRhLmN1cnJlbnRQb3NpdGlvbjsKIAogICAgIGlmIChkZWx0YVRpbWUgPiBkYXRhLmFu
aW1hdGlvblRpbWUpIHsKQEAgLTM4MCwxOCArMzgwLDE4IEBAIGJvb2wgU2Nyb2xsQW5pbWF0aW9u
U21vb3RoOjphbmltYXRlU2Nyb2xsKFBlckF4aXNEYXRhJiBkYXRhLCBkb3VibGUgY3VycmVudFRp
bWUpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAgICAgaWYgKGRlbHRhVGltZSA8IGRh
dGEuYXR0YWNrVGltZSkKLSAgICAgICAgbmV3UG9zaXRpb24gPSBhdHRhY2tDdXJ2ZShDdXJ2ZTo6
Q3ViaWMsIGRlbHRhVGltZSwgZGF0YS5hdHRhY2tUaW1lLCBkYXRhLnN0YXJ0UG9zaXRpb24sIGRh
dGEuYXR0YWNrUG9zaXRpb24pOworICAgICAgICBuZXdQb3NpdGlvbiA9IGF0dGFja0N1cnZlKEN1
cnZlOjpDdWJpYywgZGVsdGFUaW1lLnZhbHVlKCksIGRhdGEuYXR0YWNrVGltZS52YWx1ZSgpLCBk
YXRhLnN0YXJ0UG9zaXRpb24sIGRhdGEuYXR0YWNrUG9zaXRpb24pOwogICAgIGVsc2UgaWYgKGRl
bHRhVGltZSA8IChkYXRhLmFuaW1hdGlvblRpbWUgLSBkYXRhLnJlbGVhc2VUaW1lKSkKLSAgICAg
ICAgbmV3UG9zaXRpb24gPSBkYXRhLmF0dGFja1Bvc2l0aW9uICsgKGRlbHRhVGltZSAtIGRhdGEu
YXR0YWNrVGltZSkgKiBkYXRhLmRlc2lyZWRWZWxvY2l0eTsKKyAgICAgICAgbmV3UG9zaXRpb24g
PSBkYXRhLmF0dGFja1Bvc2l0aW9uICsgKGRlbHRhVGltZSAtIGRhdGEuYXR0YWNrVGltZSkudmFs
dWUoKSAqIGRhdGEuZGVzaXJlZFZlbG9jaXR5OwogICAgIGVsc2UgewogICAgICAgICAvLyByZWxl
YXNlIGlzIGJhc2VkIG9uIHRhcmdldGluZyB0aGUgZXhhY3QgZmluYWwgcG9zaXRpb24uCi0gICAg
ICAgIGRvdWJsZSByZWxlYXNlRGVsdGFUID0gZGVsdGFUaW1lIC0gKGRhdGEuYW5pbWF0aW9uVGlt
ZSAtIGRhdGEucmVsZWFzZVRpbWUpOwotICAgICAgICBuZXdQb3NpdGlvbiA9IHJlbGVhc2VDdXJ2
ZShDdXJ2ZTo6Q3ViaWMsIHJlbGVhc2VEZWx0YVQsIGRhdGEucmVsZWFzZVRpbWUsIGRhdGEucmVs
ZWFzZVBvc2l0aW9uLCBkYXRhLmRlc2lyZWRQb3NpdGlvbik7CisgICAgICAgIFNlY29uZHMgcmVs
ZWFzZURlbHRhVCA9IGRlbHRhVGltZSAtIChkYXRhLmFuaW1hdGlvblRpbWUgLSBkYXRhLnJlbGVh
c2VUaW1lKTsKKyAgICAgICAgbmV3UG9zaXRpb24gPSByZWxlYXNlQ3VydmUoQ3VydmU6OkN1Ymlj
LCByZWxlYXNlRGVsdGFULnZhbHVlKCksIGRhdGEucmVsZWFzZVRpbWUsIGRhdGEucmVsZWFzZVBv
c2l0aW9uLCBkYXRhLmRlc2lyZWRQb3NpdGlvbik7CiAgICAgfQogCiAgICAgLy8gTm9ybWFsaXpl
IHZlbG9jaXR5IHRvIGEgcGVyIHNlY29uZCBhbW91bnQuIENvdWxkIGJlIHVzZWQgdG8gY2hlY2sg
Zm9yIGphbmsuCi0gICAgaWYgKGxhc3RTY3JvbGxJbnRlcnZhbCA+IDApCi0gICAgICAgIGRhdGEu
Y3VycmVudFZlbG9jaXR5ID0gKG5ld1Bvc2l0aW9uIC0gZGF0YS5jdXJyZW50UG9zaXRpb24pIC8g
bGFzdFNjcm9sbEludGVydmFsOworICAgIGlmIChsYXN0U2Nyb2xsSW50ZXJ2YWwgPiAwX3MpCisg
ICAgICAgIGRhdGEuY3VycmVudFZlbG9jaXR5ID0gKG5ld1Bvc2l0aW9uIC0gZGF0YS5jdXJyZW50
UG9zaXRpb24pIC8gbGFzdFNjcm9sbEludGVydmFsLnZhbHVlKCk7CiAgICAgZGF0YS5jdXJyZW50
UG9zaXRpb24gPSBuZXdQb3NpdGlvbjsKIAogICAgIHJldHVybiB0cnVlOwpAQCAtMzk5LDggKzM5
OSw4IEBAIGJvb2wgU2Nyb2xsQW5pbWF0aW9uU21vb3RoOjphbmltYXRlU2Nyb2xsKFBlckF4aXNE
YXRhJiBkYXRhLCBkb3VibGUgY3VycmVudFRpbWUpCiAKIHZvaWQgU2Nyb2xsQW5pbWF0aW9uU21v
b3RoOjphbmltYXRpb25UaW1lckZpcmVkKCkKIHsKLSAgICBkb3VibGUgY3VycmVudFRpbWUgPSBt
b25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKLSAgICBkb3VibGUgZGVsdGFUb05leHRGcmFt
ZSA9IGNlaWwoKGN1cnJlbnRUaW1lIC0gbV9zdGFydFRpbWUpICogZnJhbWVSYXRlKSAvIGZyYW1l
UmF0ZSAtIChjdXJyZW50VGltZSAtIG1fc3RhcnRUaW1lKTsKKyAgICBNb25vdG9uaWNUaW1lIGN1
cnJlbnRUaW1lID0gTW9ub3RvbmljVGltZTo6bm93KCk7CisgICAgU2Vjb25kcyBkZWx0YVRvTmV4
dEZyYW1lID0gMV9zICogY2VpbCgoY3VycmVudFRpbWUgLSBtX3N0YXJ0VGltZSkgKiBmcmFtZVJh
dGUpIC8gZnJhbWVSYXRlIC0gKGN1cnJlbnRUaW1lIC0gbV9zdGFydFRpbWUpOwogICAgIGN1cnJl
bnRUaW1lICs9IGRlbHRhVG9OZXh0RnJhbWU7CiAKICAgICBib29sIGNvbnRpbnVlQW5pbWF0aW9u
ID0gZmFsc2U7CkBAIC00MjIsNyArNDIyLDcgQEAgdm9pZCBTY3JvbGxBbmltYXRpb25TbW9vdGg6
OmFuaW1hdGlvblRpbWVyRmlyZWQoKQogfQogCiAjaWYgVVNFKFJFUVVFU1RfQU5JTUFUSU9OX0ZS
QU1FX1RJTUVSKQotdm9pZCBTY3JvbGxBbmltYXRpb25TbW9vdGg6OnN0YXJ0TmV4dFRpbWVyKGRv
dWJsZSBkZWxheSkKK3ZvaWQgU2Nyb2xsQW5pbWF0aW9uU21vb3RoOjpzdGFydE5leHRUaW1lcihT
ZWNvbmRzIGRlbGF5KQogewogICAgIG1fYW5pbWF0aW9uVGltZXIuc3RhcnRPbmVTaG90KGRlbGF5
KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdGlv
blNtb290aC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21vb3Ro
LmgKaW5kZXggZWJhOWRiMmU5NDcyZGFiZDI2YjQxZTNkYTY5YjM2MGY4NWM4MzAyZC4uMDNkYjJh
ZTJjNmJiY2Y0MDYzOWNjZGY4YTMyYmZjMGQxYTU4ZjI1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmgKQEAgLTc2LDI5ICs3NiwyOSBAQCBw
cml2YXRlOgogICAgICAgICBkb3VibGUgZGVzaXJlZFZlbG9jaXR5IHsgMCB9OwogCiAgICAgICAg
IGRvdWJsZSBzdGFydFBvc2l0aW9uIHsgMCB9OwotICAgICAgICBkb3VibGUgc3RhcnRUaW1lIHsg
MCB9OworICAgICAgICBNb25vdG9uaWNUaW1lIHN0YXJ0VGltZTsKICAgICAgICAgZG91YmxlIHN0
YXJ0VmVsb2NpdHkgeyAwIH07CiAKLSAgICAgICAgZG91YmxlIGFuaW1hdGlvblRpbWUgeyAwIH07
Ci0gICAgICAgIGRvdWJsZSBsYXN0QW5pbWF0aW9uVGltZSB7IDAgfTsKKyAgICAgICAgU2Vjb25k
cyBhbmltYXRpb25UaW1lOworICAgICAgICBNb25vdG9uaWNUaW1lIGxhc3RBbmltYXRpb25UaW1l
OwogCiAgICAgICAgIGRvdWJsZSBhdHRhY2tQb3NpdGlvbiB7IDAgfTsKLSAgICAgICAgZG91Ymxl
IGF0dGFja1RpbWUgeyAwIH07CisgICAgICAgIFNlY29uZHMgYXR0YWNrVGltZTsKICAgICAgICAg
Q3VydmUgYXR0YWNrQ3VydmUgeyBDdXJ2ZTo6UXVhZHJhdGljIH07CiAKICAgICAgICAgZG91Ymxl
IHJlbGVhc2VQb3NpdGlvbiB7IDAgfTsKLSAgICAgICAgZG91YmxlIHJlbGVhc2VUaW1lIHsgMCB9
OworICAgICAgICBTZWNvbmRzIHJlbGVhc2VUaW1lOwogICAgICAgICBDdXJ2ZSByZWxlYXNlQ3Vy
dmUgeyBDdXJ2ZTo6UXVhZHJhdGljIH07CiAKICAgICAgICAgaW50IHZpc2libGVMZW5ndGggeyAw
IH07CiAgICAgfTsKIAogICAgIGJvb2wgdXBkYXRlUGVyQXhpc0RhdGEoUGVyQXhpc0RhdGEmLCBT
Y3JvbGxHcmFudWxhcml0eSwgZmxvYXQgZGVsdGEsIGZsb2F0IG1pblNjcm9sbFBvc2l0aW9uLCBm
bG9hdCBtYXhTY3JvbGxQb3NpdGlvbik7Ci0gICAgYm9vbCBhbmltYXRlU2Nyb2xsKFBlckF4aXNE
YXRhJiwgZG91YmxlIGN1cnJlbnRUaW1lKTsKKyAgICBib29sIGFuaW1hdGVTY3JvbGwoUGVyQXhp
c0RhdGEmLCBNb25vdG9uaWNUaW1lIGN1cnJlbnRUaW1lKTsKIAogI2lmIFVTRShSRVFVRVNUX0FO
SU1BVElPTl9GUkFNRV9USU1FUikKICAgICB2b2lkIHJlcXVlc3RBbmltYXRpb25UaW1lckZpcmVk
KCk7Ci0gICAgdm9pZCBzdGFydE5leHRUaW1lcihkb3VibGUgZGVsYXkpOworICAgIHZvaWQgc3Rh
cnROZXh0VGltZXIoU2Vjb25kcyBkZWxheSk7CiAjZWxzZQogICAgIHZvaWQgc3RhcnROZXh0VGlt
ZXIoKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmgKaW5kZXggMDUxNzRiNGYxNGIzNjgy
ZThkN2JkY2ZhMzQ1Yzg0NmE4Zjk2YjUyNy4uNTJkZWJhODE1Yjg3ZWM2MWUxYjEzNjIyOTQ4NjEz
YTg2ZjJmYzgwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5oCkBAIC01NSw4ICs1NSw2IEBAIHB1
YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHN0YXJ0KFNlY29uZHMgbmV4dEZpcmVJbnRl
cnZhbCwgU2Vjb25kcyByZXBlYXRJbnRlcnZhbCk7CiAKICAgICB2b2lkIHN0YXJ0UmVwZWF0aW5n
KFNlY29uZHMgcmVwZWF0SW50ZXJ2YWwpIHsgc3RhcnQocmVwZWF0SW50ZXJ2YWwsIHJlcGVhdElu
dGVydmFsKTsgfQotCi0gICAgdm9pZCBzdGFydE9uZVNob3QoZG91YmxlIGludGVydmFsKSB7IHN0
YXJ0T25lU2hvdChTZWNvbmRzIHsgaW50ZXJ2YWwgfSk7IH0KICAgICB2b2lkIHN0YXJ0T25lU2hv
dChTZWNvbmRzIGludGVydmFsKSB7IHN0YXJ0KGludGVydmFsLCAwX3MpOyB9CiAKICAgICBXRUJD
T1JFX0VYUE9SVCB2b2lkIHN0b3AoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmNwcAppbmRleCA1NjlhNWI5ZTA2ZWQ5NmM2
ZDBkNzBjNjViOGM1MDFhMzM5Zjc2N2Q5Li4wMmQxMDk5MTQxZTQyZTIxN2I1MmEyNmMzMjI5ODlm
YjJkOGUxOTgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0
Zm9ybU1lZGlhU2Vzc2lvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8v
UGxhdGZvcm1NZWRpYVNlc3Npb24uY3BwCkBAIC0zNCw3ICszNCw3IEBACiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAotY29uc3QgZG91YmxlIGtDbGllbnREYXRhQnVmZmVyaW5nVGltZXJUaHJvdHRs
ZURlbGF5ID0gMC4xOworc3RhdGljIGNvbnN0IFNlY29uZHMgY2xpZW50RGF0YUJ1ZmZlcmluZ1Rp
bWVyVGhyb3R0bGVEZWxheSB7IDEwMF9tcyB9OwogCiAjaWYgIUxPR19ESVNBQkxFRAogc3RhdGlj
IGNvbnN0IGNoYXIqIHN0YXRlTmFtZShQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6U3RhdGUgc3RhdGUp
CkBAIC0yNjAsNyArMjYwLDcgQEAgdm9pZCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6dmlzaWJpbGl0
eUNoYW5nZWQoKQogdm9pZCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6c2NoZWR1bGVDbGllbnREYXRh
QnVmZmVyaW5nQ2hlY2soKQogewogICAgIGlmICghbV9jbGllbnREYXRhQnVmZmVyaW5nVGltZXIu
aXNBY3RpdmUoKSkKLSAgICAgICAgbV9jbGllbnREYXRhQnVmZmVyaW5nVGltZXIuc3RhcnRPbmVT
aG90KGtDbGllbnREYXRhQnVmZmVyaW5nVGltZXJUaHJvdHRsZURlbGF5KTsKKyAgICAgICAgbV9j
bGllbnREYXRhQnVmZmVyaW5nVGltZXIuc3RhcnRPbmVTaG90KGNsaWVudERhdGFCdWZmZXJpbmdU
aW1lclRocm90dGxlRGVsYXkpOwogfQogCiB2b2lkIFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpjbGll
bnREYXRhQnVmZmVyaW5nVGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9jb2NvYS9TY3JvbGxDb250cm9sbGVyLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vY29jb2EvU2Nyb2xsQ29udHJvbGxlci5tbQppbmRleCAxZThmN2RmZDg3ZWEzMzk3OGRlZjk0
YmZkYWM3ZTJiZGExNWZiYWEyLi5lZTNlNTM3ZmI4YzJiNjg3MGU2MWRmZDIzOTc2MDdlYzdmMWY0
YjFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9TY3JvbGxDb250
cm9sbGVyLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1Njcm9sbENvbnRy
b2xsZXIubW0KQEAgLTQ5MCw3ICs0OTAsNyBAQCB2b2lkIFNjcm9sbENvbnRyb2xsZXI6OnNjaGVk
dWxlU3RhdGVsZXNzU2Nyb2xsU25hcCgpCiAgICAgICAgIHJldHVybjsKIAogICAgIHN0YXRpYyBj
b25zdCBTZWNvbmRzIHN0YXRlbGVzc1Njcm9sbFNuYXBEZWxheSA9IDc1MF9tczsKLSAgICBtX3N0
YXRlbGVzc1NuYXBUcmFuc2l0aW9uVGltZXIuc3RhcnRPbmVTaG90KHN0YXRlbGVzc1Njcm9sbFNu
YXBEZWxheS52YWx1ZSgpKTsKKyAgICBtX3N0YXRlbGVzc1NuYXBUcmFuc2l0aW9uVGltZXIuc3Rh
cnRPbmVTaG90KHN0YXRlbGVzc1Njcm9sbFNuYXBEZWxheSk7CiAgICAgc3RhcnREZWZlcnJpbmdU
ZXN0c0R1ZVRvU2Nyb2xsU25hcHBpbmcoKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ2FtZXBhZC9jb2NvYS9HYW1lQ29udHJvbGxlckdhbWVwYWRQcm92aWRlci5t
bSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvY29jb2EvR2FtZUNvbnRyb2xsZXJH
YW1lcGFkUHJvdmlkZXIubW0KaW5kZXggNTE1ZjNlNGViMWY5NjQ0YWQ0ZDdhYWRiYWRlNmM1ZjEw
OTBmMzc2NS4uMTBlNzc0NTcwYzE2YzMyODAzYzlkYzZmZTdjNjNhZjQwZTY5YWIxMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9jb2NvYS9HYW1lQ29udHJvbGxl
ckdhbWVwYWRQcm92aWRlci5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nYW1lcGFk
L2NvY29hL0dhbWVDb250cm9sbGVyR2FtZXBhZFByb3ZpZGVyLm1tCkBAIC00MCw3ICs0MCw3IEBA
IFNPRlRfTElOS19DT05TVEFOVF9NQVlfRkFJTChHYW1lQ29udHJvbGxlciwgR0NDb250cm9sbGVy
RGlkRGlzY29ubmVjdE5vdGlmaWNhdGlvCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGlj
IGNvbnN0IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgSW5wdXROb3RpZmljYXRpb25EZWxheSA9
IDE2bXM7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBpbnB1dE5vdGlmaWNhdGlvbkRlbGF5IHsgMTZf
bXMgfTsKIAogR2FtZUNvbnRyb2xsZXJHYW1lcGFkUHJvdmlkZXImIEdhbWVDb250cm9sbGVyR2Ft
ZXBhZFByb3ZpZGVyOjpzaW5nbGV0b24oKQogewpAQCAtMTQ0LDcgKzE0NCw3IEBAIHVuc2lnbmVk
IEdhbWVDb250cm9sbGVyR2FtZXBhZFByb3ZpZGVyOjppbmRleEZvck5ld2x5Q29ubmVjdGVkRGV2
aWNlKCkKIHZvaWQgR2FtZUNvbnRyb2xsZXJHYW1lcGFkUHJvdmlkZXI6OmdhbWVwYWRIYWRJbnB1
dChHYW1lQ29udHJvbGxlckdhbWVwYWQmLCBib29sIGhhZEJ1dHRvblByZXNzZXMpCiB7CiAgICAg
aWYgKCFtX2lucHV0Tm90aWZpY2F0aW9uVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9pbnB1
dE5vdGlmaWNhdGlvblRpbWVyLnN0YXJ0T25lU2hvdChJbnB1dE5vdGlmaWNhdGlvbkRlbGF5KTsK
KyAgICAgICAgbV9pbnB1dE5vdGlmaWNhdGlvblRpbWVyLnN0YXJ0T25lU2hvdChpbnB1dE5vdGlm
aWNhdGlvbkRlbGF5KTsKIAogICAgIGlmIChoYWRCdXR0b25QcmVzc2VzKQogICAgICAgICBtX3No
b3VsZE1ha2VJbnZpc2liaWxlR2FtZXBhZHNWaXNpYmxlID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvbWFjL0hJREdhbWVwYWRQcm92aWRlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nYW1lcGFkL21hYy9ISURHYW1lcGFkUHJvdmlkZXIu
Y3BwCmluZGV4IDAwMjY2NGNhYTJhMjdiMmM0YzkzOTI0YTBkODEyMzlmYWE1YzQxNDQuLjJlMjI5
OTI2OWMyYWM2MmRlYTA3ZDQ5MzYzMGQ4ZTA0NDhmNWFlNGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvbWFjL0hJREdhbWVwYWRQcm92aWRlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9tYWMvSElER2FtZXBhZFByb3ZpZGVyLmNw
cApAQCAtMzQsOCArMzQsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25z
dCBkb3VibGUgQ29ubmVjdGlvbkRlbGF5SW50ZXJ2YWwgPSAwLjU7Ci1zdGF0aWMgY29uc3QgZG91
YmxlIElucHV0Tm90aWZpY2F0aW9uRGVsYXkgPSAwLjA1Oworc3RhdGljIGNvbnN0IFNlY29uZHMg
Y29ubmVjdGlvbkRlbGF5SW50ZXJ2YWwgeyA1MDBfbXMgfTsKK3N0YXRpYyBjb25zdCBTZWNvbmRz
IGlucHV0Tm90aWZpY2F0aW9uRGVsYXkgeyA1MF9tcyB9OwogCiBzdGF0aWMgUmV0YWluUHRyPENG
RGljdGlvbmFyeVJlZj4gZGV2aWNlTWF0Y2hpbmdEaWN0aW9uYXJ5KHVpbnQzMl90IHVzYWdlUGFn
ZSwgdWludDMyX3QgdXNhZ2UpCiB7CkBAIC0xNDIsOSArMTQyLDkgQEAgdm9pZCBISURHYW1lcGFk
UHJvdmlkZXI6Om9wZW5BbmRTY2hlZHVsZU1hbmFnZXIoKQogICAgIElPSElETWFuYWdlclNjaGVk
dWxlV2l0aFJ1bkxvb3AobV9tYW5hZ2VyLmdldCgpLCBDRlJ1bkxvb3BHZXRDdXJyZW50KCksIGtD
RlJ1bkxvb3BEZWZhdWx0TW9kZSk7CiAgICAgSU9ISURNYW5hZ2VyT3BlbihtX21hbmFnZXIuZ2V0
KCksIGtJT0hJRE9wdGlvbnNUeXBlTm9uZSk7CiAKLSAgICAvLyBBbnkgY29ubmVjdGlvbnMgd2Ug
YXJlIG5vdGlmaWVkIG9mIHdpdGhpbiB0aGUgQ29ubmVjdGlvbkRlbGF5SW50ZXJ2YWwgb2YgbGlz
dGVuaW5nIGxpa2VseSByZXByZXNlbnQKKyAgICAvLyBBbnkgY29ubmVjdGlvbnMgd2UgYXJlIG5v
dGlmaWVkIG9mIHdpdGhpbiB0aGUgY29ubmVjdGlvbkRlbGF5SW50ZXJ2YWwgb2YgbGlzdGVuaW5n
IGxpa2VseSByZXByZXNlbnQKICAgICAvLyBkZXZpY2VzIHRoYXQgd2VyZSBhbHJlYWR5IGNvbm5l
Y3RlZCwgc28gd2Ugc3VwcHJlc3Mgbm90aWZ5aW5nIGNsaWVudHMgb2YgdGhlc2UuCi0gICAgbV9j
b25uZWN0aW9uRGVsYXlUaW1lci5zdGFydE9uZVNob3QoQ29ubmVjdGlvbkRlbGF5SW50ZXJ2YWwp
OworICAgIG1fY29ubmVjdGlvbkRlbGF5VGltZXIuc3RhcnRPbmVTaG90KGNvbm5lY3Rpb25EZWxh
eUludGVydmFsKTsKIH0KIAogdm9pZCBISURHYW1lcGFkUHJvdmlkZXI6OmNsb3NlQW5kVW5zY2hl
ZHVsZU1hbmFnZXIoKQpAQCAtMjQzLDcgKzI0Myw3IEBAIHZvaWQgSElER2FtZXBhZFByb3ZpZGVy
Ojp2YWx1ZXNDaGFuZ2VkKElPSElEVmFsdWVSZWYgdmFsdWUpCiAgICAgLy8gVGhpcyBpc0FjdGl2
ZSBjaGVjayBpcyBuZWNlc3NhcnkgYXMgd2Ugd2FudCB0byBkZWxheSBpbnB1dCBub3RpZmljYXRp
b25zIGZyb20gdGhlIHRpbWUgb2YgdGhlIGZpcnN0IGlucHV0LAogICAgIC8vIGFuZCBub3QgcHVz
aCB0aGUgbm90aWZpY2F0aW9uIG91dCBvbiBldmVyeSBzdWJzZXF1ZW50IGlucHV0LgogICAgIGlm
ICghbV9pbnB1dE5vdGlmaWNhdGlvblRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1faW5wdXRO
b3RpZmljYXRpb25UaW1lci5zdGFydE9uZVNob3QoSW5wdXROb3RpZmljYXRpb25EZWxheSk7Cisg
ICAgICAgIG1faW5wdXROb3RpZmljYXRpb25UaW1lci5zdGFydE9uZVNob3QoaW5wdXROb3RpZmlj
YXRpb25EZWxheSk7CiB9CiAKIHZvaWQgSElER2FtZXBhZFByb3ZpZGVyOjppbnB1dE5vdGlmaWNh
dGlvblRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2xp
Yi9NYWluVGhyZWFkU2hhcmVkVGltZXJHTGliLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dsaWIvTWFpblRocmVhZFNoYXJlZFRpbWVyR0xpYi5jcHAKaW5kZXggNGFmZTI5ZGMwYjZkODVi
OWQ2NGM1NDViZTc5MGMwYjg4MTczY2NiOS4uMjE0Nzc0MDliOTFlYWQ3MmYxYmY3YzU0YjJjOTJm
ZGZhMzRiNmIxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2xpYi9NYWlu
VGhyZWFkU2hhcmVkVGltZXJHTGliLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
bGliL01haW5UaHJlYWRTaGFyZWRUaW1lckdMaWIuY3BwCkBAIC00MSw3ICs0MSw3IEBAIE1haW5U
aHJlYWRTaGFyZWRUaW1lcjo6TWFpblRocmVhZFNoYXJlZFRpbWVyKCkKIHZvaWQgTWFpblRocmVh
ZFNoYXJlZFRpbWVyOjpzZXRGaXJlSW50ZXJ2YWwoU2Vjb25kcyBpbnRlcnZhbCkKIHsKICAgICBB
U1NFUlQobV9maXJlZEZ1bmN0aW9uKTsKLSAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChpbnRlcnZh
bC52YWx1ZSgpKTsKKyAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChpbnRlcnZhbCk7CiB9CiAKIHZv
aWQgTWFpblRocmVhZFNoYXJlZFRpbWVyOjpzdG9wKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmNwcAppbmRleCBjMjNiOWRkYzVhNDczNzJiNWM0
OGFlYzA0MDM3ZjMyZjZhZTdkNjg4Li4xYjk0OWNkYWQ0ZTA1NWM5NmZjOWFlZTBhMTI3YmQwMWQ1
MjQxMTg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRt
YXBJbWFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFw
SW1hZ2UuY3BwCkBAIC0yODYsNyArMjg2LDcgQEAgdm9pZCBCaXRtYXBJbWFnZTo6Y2xlYXJUaW1l
cigpCiAgICAgbV9mcmFtZVRpbWVyID0gbnVsbHB0cjsKIH0KIAotdm9pZCBCaXRtYXBJbWFnZTo6
c3RhcnRUaW1lcihkb3VibGUgZGVsYXkpCit2b2lkIEJpdG1hcEltYWdlOjpzdGFydFRpbWVyKFNl
Y29uZHMgZGVsYXkpCiB7CiAgICAgQVNTRVJUKCFtX2ZyYW1lVGltZXIpOwogICAgIG1fZnJhbWVU
aW1lciA9IHN0ZDo6bWFrZV91bmlxdWU8VGltZXI+KCp0aGlzLCAmQml0bWFwSW1hZ2U6OmFkdmFu
Y2VBbmltYXRpb24pOwpAQCAtMzMyLDE0ICszMzIsMTQgQEAgQml0bWFwSW1hZ2U6OlN0YXJ0QW5p
bWF0aW9uU3RhdHVzIEJpdG1hcEltYWdlOjppbnRlcm5hbFN0YXJ0QW5pbWF0aW9uKCkKICAgICBp
ZiAoIW1fc291cmNlLmlzQWxsRGF0YVJlY2VpdmVkKCkgJiYgIWZyYW1lSXNDb21wbGV0ZUF0SW5k
ZXgobmV4dEZyYW1lKSkKICAgICAgICAgcmV0dXJuIFN0YXJ0QW5pbWF0aW9uU3RhdHVzOjpJbmNv
bXBsZXRlRGF0YTsKIAotICAgIGRvdWJsZSB0aW1lID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdU
aW1lKCk7CisgICAgTW9ub3RvbmljVGltZSB0aW1lID0gTW9ub3RvbmljVGltZTo6bm93KCk7CiAK
ICAgICAvLyBIYW5kbGUgaW5pdGlhbCBzdGF0ZS4KICAgICBpZiAoIW1fZGVzaXJlZEZyYW1lU3Rh
cnRUaW1lKQogICAgICAgICBtX2Rlc2lyZWRGcmFtZVN0YXJ0VGltZSA9IHRpbWU7CiAKICAgICAv
LyBTZXR0aW5nICdtX2Rlc2lyZWRGcmFtZVN0YXJ0VGltZScgdG8gJ3RpbWUnIG1lYW5zIHdlIGFy
ZSBsYXRlOyBvdGhlcndpc2Ugd2UgYXJlIGVhcmx5LgotICAgIG1fZGVzaXJlZEZyYW1lU3RhcnRU
aW1lID0gc3RkOjptYXgodGltZSwgbV9kZXNpcmVkRnJhbWVTdGFydFRpbWUgKyBmcmFtZUR1cmF0
aW9uQXRJbmRleChtX2N1cnJlbnRGcmFtZSkpOworICAgIG1fZGVzaXJlZEZyYW1lU3RhcnRUaW1l
ID0gc3RkOjptYXgodGltZSwgbV9kZXNpcmVkRnJhbWVTdGFydFRpbWUgKyBTZWNvbmRzIHsgZnJh
bWVEdXJhdGlvbkF0SW5kZXgobV9jdXJyZW50RnJhbWUpIH0pOwogCiAgICAgLy8gUmVxdWVzdCBh
c3luYyBkZWNvZGluZyBmb3IgbmV4dEZyYW1lIG9ubHkgaWYgdGhpcyBpcyByZXF1aXJlZC4gSWYg
bmV4dEZyYW1lIGlzIG5vdCBpbiB0aGUgZnJhbWVDYWNoZSwKICAgICAvLyBpdCB3aWxsIGJlIGRl
Y29kZWQgb24gYSBzZXBhcmF0ZSB3b3JrIHF1ZXVlLiBXaGVuIGRlY29kaW5nIG5leHRGcmFtZSBm
aW5pc2hlcywgd2Ugd2lsbCBiZSBub3RpZmllZApAQCAtMzU3LDcgKzM1Nyw3IEBAIEJpdG1hcElt
YWdlOjpTdGFydEFuaW1hdGlvblN0YXR1cyBCaXRtYXBJbWFnZTo6aW50ZXJuYWxTdGFydEFuaW1h
dGlvbigpCiAgICAgICAgIFVOVVNFRF9QQVJBTShpc0FzeW5jRGVjb2RlKTsKICNlbmRpZgogCi0g
ICAgICAgIG1fZGVzaXJlZEZyYW1lRGVjb2RlVGltZUZvclRlc3RpbmcgPSB0aW1lICsgc3RkOjpt
YXgobV9mcmFtZURlY29kaW5nRHVyYXRpb25Gb3JUZXN0aW5nLCAwLjBmKTsKKyAgICAgICAgbV9k
ZXNpcmVkRnJhbWVEZWNvZGVUaW1lRm9yVGVzdGluZyA9IHRpbWUgKyBzdGQ6Om1heChtX2ZyYW1l
RGVjb2RpbmdEdXJhdGlvbkZvclRlc3RpbmcsIDBfcyk7CiAgICAgICAgIGlmIChtX2NsZWFyRGVj
b2RlckFmdGVyQXN5bmNGcmFtZVJlcXVlc3RGb3JUZXN0aW5nKQogICAgICAgICAgICAgbV9zb3Vy
Y2UuY2xlYXIoZGF0YSgpKTsKICAgICB9CkBAIC0zNzQsNyArMzc0LDcgQEAgdm9pZCBCaXRtYXBJ
bWFnZTo6YWR2YW5jZUFuaW1hdGlvbigpCiAgICAgLy8gUHJldGVuZCBhcyBpZiBkZWNvZGluZyBu
ZXh0RnJhbWUgaGFzIHRha2VuIG1fZnJhbWVEZWNvZGluZ0R1cmF0aW9uRm9yVGVzdGluZyBmcm9t
CiAgICAgLy8gdGhlIHRpbWUgdGhpcyBkZWNvZGluZyB3YXMgcmVxdWVzdGVkLgogICAgIGlmIChz
aG91bGRVc2VBc3luY0RlY29kaW5nRm9yQW5pbWF0ZWRJbWFnZXNGb3JUZXN0aW5nKCkpIHsKLSAg
ICAgICAgZG91YmxlIHRpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKKyAgICAg
ICAgTW9ub3RvbmljVGltZSB0aW1lID0gTW9ub3RvbmljVGltZTo6bm93KCk7CiAgICAgICAgIC8v
IFN0YXJ0IGEgdGltZXIgd2l0aCB0aGUgcmVtYWluaW5nIHRpbWUgZnJvbSBub3cgdGlsbCB0aGUg
bV9kZXNpcmVkRnJhbWVEZWNvZGVUaW1lLgogICAgICAgICBpZiAobV9kZXNpcmVkRnJhbWVEZWNv
ZGVUaW1lRm9yVGVzdGluZyA+IHN0ZDo6bWF4KHRpbWUsIG1fZGVzaXJlZEZyYW1lU3RhcnRUaW1l
KSkgewogICAgICAgICAgICAgc3RhcnRUaW1lcihtX2Rlc2lyZWRGcmFtZURlY29kZVRpbWVGb3JU
ZXN0aW5nIC0gdGltZSk7CkBAIC00MjYsNyArNDI2LDcgQEAgdm9pZCBCaXRtYXBJbWFnZTo6cmVz
ZXRBbmltYXRpb24oKQogICAgIHN0b3BBbmltYXRpb24oKTsKICAgICBtX2N1cnJlbnRGcmFtZSA9
IDA7CiAgICAgbV9yZXBldGl0aW9uc0NvbXBsZXRlID0gUmVwZXRpdGlvbkNvdW50Tm9uZTsKLSAg
ICBtX2Rlc2lyZWRGcmFtZVN0YXJ0VGltZSA9IDA7CisgICAgbV9kZXNpcmVkRnJhbWVTdGFydFRp
bWUgPSB7IH07CiAgICAgbV9hbmltYXRpb25GaW5pc2hlZCA9IGZhbHNlOwogCiAgICAgLy8gRm9y
IGV4dHJlbWVseSBsYXJnZSBhbmltYXRpb25zLCB3aGVuIHRoZSBhbmltYXRpb24gaXMgcmVzZXQs
IHdlIGp1c3QgdGhyb3cgZXZlcnl0aGluZyBhd2F5LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmgKaW5kZXggNDIyZDZjOTgwYTU3ZjU0NzZmM2IyZTdj
MjZkMDYwMGYwZGI5NTQ1Mi4uOGVhMjRkNmJhZmEwMTEyODc3YjUwM2I5N2ZjN2RjYWZkMjVlNTI1
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1h
Z2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5o
CkBAIC05Nyw4ICs5Nyw4IEBAIHB1YmxpYzoKICAgICBib29sIGN1cnJlbnRGcmFtZUtub3duVG9C
ZU9wYXF1ZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuICFmcmFtZUhhc0FscGhhQXRJbmRleChj
dXJyZW50RnJhbWUoKSk7IH0KICAgICBJbWFnZU9yaWVudGF0aW9uIG9yaWVudGF0aW9uRm9yQ3Vy
cmVudEZyYW1lKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gZnJhbWVPcmllbnRhdGlvbkF0SW5k
ZXgoY3VycmVudEZyYW1lKCkpOyB9CiAKLSAgICBib29sIHNob3VsZFVzZUFzeW5jRGVjb2RpbmdG
b3JBbmltYXRlZEltYWdlc0ZvclRlc3RpbmcoKSBjb25zdCB7IHJldHVybiBtX2ZyYW1lRGVjb2Rp
bmdEdXJhdGlvbkZvclRlc3RpbmcgPiAwOyB9Ci0gICAgdm9pZCBzZXRGcmFtZURlY29kaW5nRHVy
YXRpb25Gb3JUZXN0aW5nKGZsb2F0IGR1cmF0aW9uKSB7IG1fZnJhbWVEZWNvZGluZ0R1cmF0aW9u
Rm9yVGVzdGluZyA9IGR1cmF0aW9uOyB9CisgICAgYm9vbCBzaG91bGRVc2VBc3luY0RlY29kaW5n
Rm9yQW5pbWF0ZWRJbWFnZXNGb3JUZXN0aW5nKCkgY29uc3QgeyByZXR1cm4gbV9mcmFtZURlY29k
aW5nRHVyYXRpb25Gb3JUZXN0aW5nID4gMF9zOyB9CisgICAgdm9pZCBzZXRGcmFtZURlY29kaW5n
RHVyYXRpb25Gb3JUZXN0aW5nKFNlY29uZHMgZHVyYXRpb24pIHsgbV9mcmFtZURlY29kaW5nRHVy
YXRpb25Gb3JUZXN0aW5nID0gZHVyYXRpb247IH0KICAgICBib29sIHNob3VsZFVzZUFzeW5jRGVj
b2RpbmdGb3JMYXJnZUltYWdlcygpOwogICAgIGJvb2wgc2hvdWxkVXNlQXN5bmNEZWNvZGluZ0Zv
ckFuaW1hdGVkSW1hZ2VzKCk7CiAgICAgdm9pZCBzZXRDbGVhckRlY29kZXJBZnRlckFzeW5jRnJh
bWVSZXF1ZXN0Rm9yVGVzdGluZyhib29sIHZhbHVlKSB7IG1fY2xlYXJEZWNvZGVyQWZ0ZXJBc3lu
Y0ZyYW1lUmVxdWVzdEZvclRlc3RpbmcgPSB2YWx1ZTsgfQpAQCAtMTkwLDcgKzE5MCw3IEBAIHBy
b3RlY3RlZDoKIAogcHJpdmF0ZToKICAgICB2b2lkIGNsZWFyVGltZXIoKTsKLSAgICB2b2lkIHN0
YXJ0VGltZXIoZG91YmxlIGRlbGF5KTsKKyAgICB2b2lkIHN0YXJ0VGltZXIoU2Vjb25kcyBkZWxh
eSk7CiAgICAgYm9vbCBpc0JpdG1hcEltYWdlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1
ZTsgfQogICAgIHZvaWQgZHVtcChUZXh0U3RyZWFtJikgY29uc3Qgb3ZlcnJpZGU7CiAKQEAgLTIw
NywxMSArMjA3LDExIEBAIHByaXZhdGU6CiAgICAgU3Vic2FtcGxpbmdMZXZlbCBtX2N1cnJlbnRT
dWJzYW1wbGluZ0xldmVsIHsgU3Vic2FtcGxpbmdMZXZlbDo6RGVmYXVsdCB9OwogICAgIHN0ZDo6
dW5pcXVlX3B0cjxUaW1lcj4gbV9mcmFtZVRpbWVyOwogICAgIFJlcGV0aXRpb25Db3VudCBtX3Jl
cGV0aXRpb25zQ29tcGxldGUgeyBSZXBldGl0aW9uQ291bnROb25lIH07IC8vIEhvdyBtYW55IHJl
cGV0aXRpb25zIHdlJ3ZlIGZpbmlzaGVkLgotICAgIGRvdWJsZSBtX2Rlc2lyZWRGcmFtZVN0YXJ0
VGltZSB7IDAgfTsgLy8gVGhlIHN5c3RlbSB0aW1lIGF0IHdoaWNoIHdlIGhvcGUgdG8gc2VlIHRo
ZSBuZXh0IGNhbGwgdG8gc3RhcnRBbmltYXRpb24oKS4KKyAgICBNb25vdG9uaWNUaW1lIG1fZGVz
aXJlZEZyYW1lU3RhcnRUaW1lOyAvLyBUaGUgc3lzdGVtIHRpbWUgYXQgd2hpY2ggd2UgaG9wZSB0
byBzZWUgdGhlIG5leHQgY2FsbCB0byBzdGFydEFuaW1hdGlvbigpLgogICAgIGJvb2wgbV9hbmlt
YXRpb25GaW5pc2hlZCB7IGZhbHNlIH07CiAKLSAgICBmbG9hdCBtX2ZyYW1lRGVjb2RpbmdEdXJh
dGlvbkZvclRlc3RpbmcgeyAwIH07Ci0gICAgZG91YmxlIG1fZGVzaXJlZEZyYW1lRGVjb2RlVGlt
ZUZvclRlc3RpbmcgeyAwIH07CisgICAgU2Vjb25kcyBtX2ZyYW1lRGVjb2RpbmdEdXJhdGlvbkZv
clRlc3Rpbmc7CisgICAgTW9ub3RvbmljVGltZSBtX2Rlc2lyZWRGcmFtZURlY29kZVRpbWVGb3JU
ZXN0aW5nOwogICAgIGJvb2wgbV9jbGVhckRlY29kZXJBZnRlckFzeW5jRnJhbWVSZXF1ZXN0Rm9y
VGVzdGluZyB7IGZhbHNlIH07CiAjaWYgIUxPR19ESVNBQkxFRAogICAgIHNpemVfdCBtX2xhdGVG
cmFtZUNvdW50IHsgMCB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyLmNwcAppbmRleCA0OTMxNjg2
YjMxNTEyNzcxNjI1MDQ4ODhiNzE1ZTI4MWEyNzU5MjA2Li5mNTAxM2Y0YTBmNDkzYWYxYWI5NTI3
MThjOTM0MDg0Yzc1NWQyNmFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9NZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyLmNwcApAQCAtMzMs
NyArMzMsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBkb3VibGUg
cGVuZGluZ0FjdGlvbkludGVydmFsID0gMS4wIC8gMTAuMDsKK3N0YXRpYyBjb25zdCBTZWNvbmRz
IHBlbmRpbmdBY3Rpb25JbnRlcnZhbCB7IDEwMF9tcyB9OwogCiBNZWRpYVBsYXliYWNrVGFyZ2V0
UGlja2VyOjpNZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyKENsaWVudCYgY2xpZW50KQogICAgIDog
bV9jbGllbnQoJmNsaWVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL1NoYWRvd0JsdXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
U2hhZG93Qmx1ci5jcHAKaW5kZXggZjE3YjNmZmU3MzEzMDQwYWIyMWZmYzgwNTAzYjU5NDEzN2Ey
MzRiOC4uODdmNDVlNDYwZmRlMDljNGZmZWRlZDJmZTA1MTBkZDQ5ODMxNjVkYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2hhZG93Qmx1ci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2hhZG93Qmx1ci5jcHAKQEAgLTEyNCw3
ICsxMjQsNyBAQCBwdWJsaWM6CiAgICAgICAgIGlmIChtX3B1cmdlVGltZXIuaXNBY3RpdmUoKSkK
ICAgICAgICAgICAgIG1fcHVyZ2VUaW1lci5zdG9wKCk7CiAKLSAgICAgICAgY29uc3QgZG91Ymxl
IHNjcmF0Y2hCdWZmZXJQdXJnZUludGVydmFsID0gMjsKKyAgICAgICAgY29uc3QgU2Vjb25kcyBz
Y3JhdGNoQnVmZmVyUHVyZ2VJbnRlcnZhbCB7IDJfcyB9OwogICAgICAgICBtX3B1cmdlVGltZXIu
c3RhcnRPbmVTaG90KHNjcmF0Y2hCdWZmZXJQdXJnZUludGVydmFsKTsKICAgICB9CiAgICAgCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9MYXllclBvb2wu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvTGF5ZXJQb29sLmNwcApp
bmRleCAwY2Y3Zjc3ZTYxMWFkMmJkNGViMDcyMzUwMDE4YWRjNGJjZGI4NDVmLi4wY2M0ZmFjNThh
MzA0MmFiNjY4NGNlMTZiZTcwZDRjMjUwYWY5N2E3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9MYXllclBvb2wuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NhL0xheWVyUG9vbC5jcHAKQEAgLTExMCw3ICsxMTAsNyBAQCB2
b2lkIExheWVyUG9vbDo6c2NoZWR1bGVQcnVuZSgpCiB7CiAgICAgaWYgKG1fcHJ1bmVUaW1lci5p
c0FjdGl2ZSgpKQogICAgICAgICByZXR1cm47Ci0gICAgbV9wcnVuZVRpbWVyLnN0YXJ0T25lU2hv
dCgxKTsKKyAgICBtX3BydW5lVGltZXIuc3RhcnRPbmVTaG90KDFfcyk7CiB9CiAKIHZvaWQgTGF5
ZXJQb29sOjpwcnVuZVRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQ
cml2YXRlR1N0cmVhbWVyLmNwcAppbmRleCAwNDY2Zjc3MzFkOTM2NmQ5ZjM4NTA3ODE5MGFmNGU4
MGM4NzM3YWY2Li45ZDJhY2Q0ZTFlZDBiMjk3OGZlZWM0Y2M1MDhjZDQ5YjFmY2ZmMGU3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQ
bGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcApAQCAtMzcw
LDcgKzM3MCw3IEBAIGJvb2wgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpjaGFuZ2VQaXBl
bGluZVN0YXRlKEdzdFN0YXRlIG5ld1N0YXRlKQogICAgIGlmIChuZXdTdGF0ZSA9PSBHU1RfU1RB
VEVfUkVBRFkgJiYgIW1fcmVhZHlUaW1lckhhbmRsZXIuaXNBY3RpdmUoKSkgewogICAgICAgICAv
LyBNYXggaW50ZXJ2YWwgaW4gc2Vjb25kcyB0byBzdGF5IGluIHRoZSBSRUFEWSBzdGF0ZSBvbiBt
YW51YWwKICAgICAgICAgLy8gc3RhdGUgY2hhbmdlIHJlcXVlc3RzLgotICAgICAgICBzdGF0aWMg
Y29uc3QgZG91YmxlIHJlYWR5U3RhdGVUaW1lckRlbGF5ID0gNjA7CisgICAgICAgIHN0YXRpYyBj
b25zdCBTZWNvbmRzIHJlYWR5U3RhdGVUaW1lckRlbGF5IHsgMV9taW4gfTsKICAgICAgICAgbV9y
ZWFkeVRpbWVySGFuZGxlci5zdGFydE9uZVNob3QocmVhZHlTdGF0ZVRpbWVyRGVsYXkpOwogICAg
IH0gZWxzZSBpZiAobmV3U3RhdGUgIT0gR1NUX1NUQVRFX1JFQURZKQogICAgICAgICBtX3JlYWR5
VGltZXJIYW5kbGVyLnN0b3AoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL21hYy9HcmFwaGljc0NvbnRleHQzRE1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL21hYy9HcmFwaGljc0NvbnRleHQzRE1hYy5tbQppbmRleCA1NmJlMDZm
ZTQwMWZkNDU2OTg4ZmEyZmYxNWQ5NTMxYjEzNTYwZDY3Li4xYzRlNDM1OTM1YTFjYTQ2MjE0ZDM0
ODAwNTQwNTNjNTlmOGVmMDkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9tYWMvR3JhcGhpY3NDb250ZXh0M0RNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0dyYXBoaWNzQ29udGV4dDNETWFjLm1tCkBAIC0yNzgsOCAr
Mjc4LDggQEAgdm9pZCBHcmFwaGljc0NvbnRleHQzRE1hbmFnZXI6OnVwZGF0ZUhpZ2hQZXJmb3Jt
YW5jZVN0YXRlKCkKICAgICAgICAgICAgIExPRyhXZWJHTCwgIlNldCBhIHRpbWVyIHRvIHR1cm4g
b2ZmIGhpZ2gtcGVyZm9ybWFuY2UgR1BVLiIpOwogICAgICAgICAgICAgLy8gRklYTUU6IEV4cG9z
ZSB0aGlzIHZhbHVlIGFzIGEgU2V0dGluZywgd2hpY2ggd291bGQgcmVxdWlyZSB0aGlzIGNsYXNz
CiAgICAgICAgICAgICAvLyB0byByZWZlcmVuY2UgYSBmcmFtZSwgcGFnZSBvciBkb2N1bWVudC4K
LSAgICAgICAgICAgIHN0YXRpYyBjb25zdCBpbnQgdGltZVRvS2VlcEhpZ2hQZXJmb3JtYW5jZUdQ
VUFsaXZlSW5TZWNvbmRzID0gMTA7Ci0gICAgICAgICAgICBtX2Rpc2FibGVIaWdoUGVyZm9ybWFu
Y2VHUFVUaW1lci5zdGFydE9uZVNob3QodGltZVRvS2VlcEhpZ2hQZXJmb3JtYW5jZUdQVUFsaXZl
SW5TZWNvbmRzKTsKKyAgICAgICAgICAgIHN0YXRpYyBjb25zdCBTZWNvbmRzIHRpbWVUb0tlZXBI
aWdoUGVyZm9ybWFuY2VHUFVBbGl2ZSB7IDEwX3MgfTsKKyAgICAgICAgICAgIG1fZGlzYWJsZUhp
Z2hQZXJmb3JtYW5jZUdQVVRpbWVyLnN0YXJ0T25lU2hvdCh0aW1lVG9LZWVwSGlnaFBlcmZvcm1h
bmNlR1BVQWxpdmUpOwogICAgICAgICB9CiAgICAgfQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvQml0bWFwVGV4dHVyZVBvb2wuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0JpdG1hcFRleHR1cmVQ
b29sLmNwcAppbmRleCAwMGNjOGVlMzZkYzVhN2VlOTA4YzQ3YTc0MjNlYjdkZDNjNTg0ZjEwLi44
ZTM1ZmVmMGViNGYyMWI4N2UwM2Q4ZGYzYWNlMDc0NjFkNTBhOWVlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvQml0bWFwVGV4dHVyZVBvb2wuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9CaXRtYXBUZXh0
dXJlUG9vbC5jcHAKQEAgLTMzLDggKzMzLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1z
dGF0aWMgY29uc3QgZG91YmxlIHNfcmVsZWFzZVVudXNlZFNlY29uZHNUb2xlcmFuY2UgPSAzOwot
c3RhdGljIGNvbnN0IGRvdWJsZSBzX3JlbGVhc2VVbnVzZWRUZXh0dXJlc1RpbWVySW50ZXJ2YWwg
PSAwLjU7CitzdGF0aWMgY29uc3QgZG91YmxlIHJlbGVhc2VVbnVzZWRTZWNvbmRzVG9sZXJhbmNl
ID0gMzsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHJlbGVhc2VVbnVzZWRUZXh0dXJlc1RpbWVySW50
ZXJ2YWwgeyA1MDBfbXMgfTsKIAogI2lmIFVTRShURVhUVVJFX01BUFBFUl9HTCkKIEJpdG1hcFRl
eHR1cmVQb29sOjpCaXRtYXBUZXh0dXJlUG9vbChSZWZQdHI8R3JhcGhpY3NDb250ZXh0M0Q+JiYg
Y29udGV4dDNEKQpAQCAtNjYsMTMgKzY2LDEzIEBAIHZvaWQgQml0bWFwVGV4dHVyZVBvb2w6OnNj
aGVkdWxlUmVsZWFzZVVudXNlZFRleHR1cmVzKCkKICAgICBpZiAobV9yZWxlYXNlVW51c2VkVGV4
dHVyZXNUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX3JlbGVhc2VV
bnVzZWRUZXh0dXJlc1RpbWVyLnN0YXJ0T25lU2hvdChzX3JlbGVhc2VVbnVzZWRUZXh0dXJlc1Rp
bWVySW50ZXJ2YWwpOworICAgIG1fcmVsZWFzZVVudXNlZFRleHR1cmVzVGltZXIuc3RhcnRPbmVT
aG90KHJlbGVhc2VVbnVzZWRUZXh0dXJlc1RpbWVySW50ZXJ2YWwpOwogfQogCiB2b2lkIEJpdG1h
cFRleHR1cmVQb29sOjpyZWxlYXNlVW51c2VkVGV4dHVyZXNUaW1lckZpcmVkKCkKIHsKLSAgICAv
LyBEZWxldGUgZW50cmllcywgd2hpY2ggaGF2ZSBiZWVuIHVudXNlZCBpbiBzX3JlbGVhc2VVbnVz
ZWRTZWNvbmRzVG9sZXJhbmNlLgotICAgIGRvdWJsZSBtaW5Vc2VkVGltZSA9IG1vbm90b25pY2Fs
bHlJbmNyZWFzaW5nVGltZSgpIC0gc19yZWxlYXNlVW51c2VkU2Vjb25kc1RvbGVyYW5jZTsKKyAg
ICAvLyBEZWxldGUgZW50cmllcywgd2hpY2ggaGF2ZSBiZWVuIHVudXNlZCBpbiByZWxlYXNlVW51
c2VkU2Vjb25kc1RvbGVyYW5jZS4KKyAgICBkb3VibGUgbWluVXNlZFRpbWUgPSBtb25vdG9uaWNh
bGx5SW5jcmVhc2luZ1RpbWUoKSAtIHJlbGVhc2VVbnVzZWRTZWNvbmRzVG9sZXJhbmNlOwogCiAg
ICAgaWYgKCFtX3RleHR1cmVzLmlzRW1wdHkoKSkgewogICAgICAgICBzdGQ6OnNvcnQobV90ZXh0
dXJlcy5iZWdpbigpLCBtX3RleHR1cmVzLmVuZCgpLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVyUHJv
eHkuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVN
YXBwZXJQbGF0Zm9ybUxheWVyUHJveHkuY3BwCmluZGV4IDRkYjc0ODI0OTk2N2M4OTA1MmNlZDBl
ZTRhMjMwYmVkYWU2YTA3ZjguLmRjM2U3NDdlZWRkYjZlNzViOGExZjkzM2EyNjYzMTZhMjhiYzNm
NTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9U
ZXh0dXJlTWFwcGVyUGxhdGZvcm1MYXllclByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXJQcm94eS5j
cHAKQEAgLTM3LDggKzM3LDggQEAKICNpbmNsdWRlIDx3dGYvZ2xpYi9SdW5Mb29wU291cmNlUHJp
b3JpdHkuaD4KICNlbmRpZgogCi1jb25zdCBkb3VibGUgc19yZWxlYXNlVW51c2VkU2Vjb25kc1Rv
bGVyYW5jZSA9IDE7Ci1jb25zdCBkb3VibGUgc19yZWxlYXNlVW51c2VkQnVmZmVyc1RpbWVySW50
ZXJ2YWwgPSAwLjU7CitzdGF0aWMgY29uc3QgZG91YmxlIHJlbGVhc2VVbnVzZWRTZWNvbmRzVG9s
ZXJhbmNlID0gMTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHJlbGVhc2VVbnVzZWRCdWZmZXJzVGlt
ZXJJbnRlcnZhbCA9IHsgNTAwX21zIH07CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMTQ0
LDcgKzE0NCw3IEBAIHN0ZDo6dW5pcXVlX3B0cjxUZXh0dXJlTWFwcGVyUGxhdGZvcm1MYXllckJ1
ZmZlcj4gVGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXJQcm94CiB2b2lkIFRleHR1cmVNYXBwZXJQ
bGF0Zm9ybUxheWVyUHJveHk6OnNjaGVkdWxlUmVsZWFzZVVudXNlZEJ1ZmZlcnMoKQogewogICAg
IGlmICghbV9yZWxlYXNlVW51c2VkQnVmZmVyc1RpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1f
cmVsZWFzZVVudXNlZEJ1ZmZlcnNUaW1lci5zdGFydE9uZVNob3Qoc19yZWxlYXNlVW51c2VkQnVm
ZmVyc1RpbWVySW50ZXJ2YWwpOworICAgICAgICBtX3JlbGVhc2VVbnVzZWRCdWZmZXJzVGltZXIu
c3RhcnRPbmVTaG90KHJlbGVhc2VVbnVzZWRCdWZmZXJzVGltZXJJbnRlcnZhbCk7CiB9CiAKIHZv
aWQgVGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXJQcm94eTo6cmVsZWFzZVVudXNlZEJ1ZmZlcnNU
aW1lckZpcmVkKCkKQEAgLTE1NCw3ICsxNTQsNyBAQCB2b2lkIFRleHR1cmVNYXBwZXJQbGF0Zm9y
bUxheWVyUHJveHk6OnJlbGVhc2VVbnVzZWRCdWZmZXJzVGltZXJGaXJlZCgpCiAgICAgICAgIHJl
dHVybjsKIAogICAgIGF1dG8gYnVmZmVycyA9IFdURk1vdmUobV91c2VkQnVmZmVycyk7Ci0gICAg
ZG91YmxlIG1pblVzZWRUaW1lID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkgLSBzX3Jl
bGVhc2VVbnVzZWRTZWNvbmRzVG9sZXJhbmNlOworICAgIGRvdWJsZSBtaW5Vc2VkVGltZSA9IG1v
bm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpIC0gcmVsZWFzZVVudXNlZFNlY29uZHNUb2xlcmFu
Y2U7CiAKICAgICBmb3IgKGF1dG8mIGJ1ZmZlciA6IGJ1ZmZlcnMpIHsKICAgICAgICAgaWYgKGJ1
ZmZlciAmJiBidWZmZXItPmxhc3RVc2VkVGltZSgpID49IG1pblVzZWRUaW1lKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nv
b3JkaW5hdGVkSW1hZ2VCYWNraW5nLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEltYWdlQmFja2luZy5jcHAKaW5kZXgg
M2Y1NjczZThmZDUzNjVmMDhjZmQ2OWVmYzNmYWFlYzQzMjMzNmE2MS4uZjUyOTQ3NTVhMjMzNjU1
YzMwNjY1NzFjZjYzOWJlY2I1MGMwMzA1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkSW1hZ2VCYWNraW5n
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRp
bmF0ZWQvQ29vcmRpbmF0ZWRJbWFnZUJhY2tpbmcuY3BwCkBAIC0xNDQsNyArMTQ0LDcgQEAgdm9p
ZCBDb29yZGluYXRlZEltYWdlQmFja2luZzo6cmVsZWFzZVN1cmZhY2VJZk5lZWRlZCgpCiAgICAg
bV9zdXJmYWNlID0gbnVsbHB0cjsKIH0KIAotc3RhdGljIGNvbnN0IGRvdWJsZSBjbGVhckNvbnRl
bnRzVGltZXJJbnRlcnZhbCA9IDM7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBjbGVhckNvbnRlbnRz
VGltZXJJbnRlcnZhbCB7IDNfcyB9OwogCiB2b2lkIENvb3JkaW5hdGVkSW1hZ2VCYWNraW5nOjp1
cGRhdGVWaXNpYmlsaXR5SWZOZWVkZWQoYm9vbCYgY2hhbmdlZFRvVmlzaWJsZSkKIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9TY3JvbGxBbmltYXRvckd0ay5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvU2Nyb2xsQW5pbWF0b3JHdGsuY3BwCmluZGV4
IDQ0ZTQ3MzQ4MmRmYWEyMDM4OTQ2N2M3MmVjOTMwMDc4ZDVhODBjNTkuLjFiOTU0ODFmODVhZDI3
MjVlZmFhZTQwZGUxYTFkYWU2ZDU1OGY0YTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2d0ay9TY3JvbGxBbmltYXRvckd0ay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3RrL1Njcm9sbEFuaW1hdG9yR3RrLmNwcApAQCAtMzgsOCArMzgsOCBAQAogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBkb3VibGUgb3ZlcmZsb3dTY3JvbGxiYXJz
QW5pbWF0aW9uRHVyYXRpb24gPSAxOwotc3RhdGljIGNvbnN0IGRvdWJsZSBvdmVyZmxvd1Njcm9s
bGJhcnNBbmltYXRpb25IaWRlRGVsYXkgPSAyOworc3RhdGljIGNvbnN0IFNlY29uZHMgb3ZlcmZs
b3dTY3JvbGxiYXJzQW5pbWF0aW9uRHVyYXRpb24geyAxX3MgfTsKK3N0YXRpYyBjb25zdCBTZWNv
bmRzIG92ZXJmbG93U2Nyb2xsYmFyc0FuaW1hdGlvbkhpZGVEZWxheSB7IDJfcyB9OwogCiBzdGQ6
OnVuaXF1ZV9wdHI8U2Nyb2xsQW5pbWF0b3I+IFNjcm9sbEFuaW1hdG9yOjpjcmVhdGUoU2Nyb2xs
YWJsZUFyZWEmIHNjcm9sbGFibGVBcmVhKQogewpAQCAtMTc2LDEwICsxNzYsMTAgQEAgdm9pZCBT
Y3JvbGxBbmltYXRvckd0azo6b3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvblRpbWVyRmlyZWQoKQog
ICAgIGlmIChtX292ZXJsYXlTY3JvbGxiYXJzTG9ja2VkKQogICAgICAgICByZXR1cm47CiAKLSAg
ICBkb3VibGUgY3VycmVudFRpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKKyAg
ICBNb25vdG9uaWNUaW1lIGN1cnJlbnRUaW1lID0gTW9ub3RvbmljVGltZTo6bm93KCk7CiAgICAg
ZG91YmxlIHByb2dyZXNzID0gMTsKICAgICBpZiAoY3VycmVudFRpbWUgPCBtX292ZXJsYXlTY3Jv
bGxiYXJBbmltYXRpb25FbmRUaW1lKQotICAgICAgICBwcm9ncmVzcyA9IChjdXJyZW50VGltZSAt
IG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvblN0YXJ0VGltZSkgLyAobV9vdmVybGF5U2Nyb2xs
YmFyQW5pbWF0aW9uRW5kVGltZSAtIG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvblN0YXJ0VGlt
ZSk7CisgICAgICAgIHByb2dyZXNzID0gKGN1cnJlbnRUaW1lIC0gbV9vdmVybGF5U2Nyb2xsYmFy
QW5pbWF0aW9uU3RhcnRUaW1lKS52YWx1ZSgpIC8gKG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlv
bkVuZFRpbWUgLSBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25TdGFydFRpbWUpLnZhbHVlKCk7
CiAgICAgcHJvZ3Jlc3MgPSBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25Tb3VyY2UgKyAoZWFz
ZU91dEN1YmljKHByb2dyZXNzKSAqIChtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25UYXJnZXQg
LSBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25Tb3VyY2UpKTsKICAgICBpZiAocHJvZ3Jlc3Mg
IT0gbV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uQ3VycmVudCkgewogICAgICAgICBtX292ZXJs
YXlTY3JvbGxiYXJBbmltYXRpb25DdXJyZW50ID0gcHJvZ3Jlc3M7CkBAIC0xODgsOSArMTg4LDkg
QEAgdm9pZCBTY3JvbGxBbmltYXRvckd0azo6b3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvblRpbWVy
RmlyZWQoKQogCiAgICAgaWYgKG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvbkN1cnJlbnQgIT0g
bV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uVGFyZ2V0KSB7CiAgICAgICAgIHN0YXRpYyBjb25z
dCBkb3VibGUgZnJhbWVSYXRlID0gNjA7Ci0gICAgICAgIHN0YXRpYyBjb25zdCBkb3VibGUgdGlj
a1RpbWUgPSAxIC8gZnJhbWVSYXRlOwotICAgICAgICBzdGF0aWMgY29uc3QgZG91YmxlIG1pbmlt
dW1UaW1lckludGVydmFsID0gLjAwMTsKLSAgICAgICAgZG91YmxlIGRlbHRhVG9OZXh0RnJhbWUg
PSBzdGQ6Om1heCh0aWNrVGltZSAtIChtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSAtIGN1
cnJlbnRUaW1lKSwgbWluaW11bVRpbWVySW50ZXJ2YWwpOworICAgICAgICBzdGF0aWMgY29uc3Qg
U2Vjb25kcyB0aWNrVGltZSA9IDFfcyAvIGZyYW1lUmF0ZTsKKyAgICAgICAgc3RhdGljIGNvbnN0
IFNlY29uZHMgbWluaW11bVRpbWVySW50ZXJ2YWwgPSAxX21zOworICAgICAgICBTZWNvbmRzIGRl
bHRhVG9OZXh0RnJhbWUgPSBzdGQ6Om1heCh0aWNrVGltZSAtIChNb25vdG9uaWNUaW1lOjpub3co
KSAtIGN1cnJlbnRUaW1lKSwgbWluaW11bVRpbWVySW50ZXJ2YWwpOwogICAgICAgICBtX292ZXJs
YXlTY3JvbGxiYXJBbmltYXRpb25UaW1lci5zdGFydE9uZVNob3QoZGVsdGFUb05leHRGcmFtZSk7
CiAgICAgfSBlbHNlCiAgICAgICAgIGhpZGVPdmVybGF5U2Nyb2xsYmFycygpOwpAQCAtMjExLDcg
KzIxMSw3IEBAIHZvaWQgU2Nyb2xsQW5pbWF0b3JHdGs6OnNob3dPdmVybGF5U2Nyb2xsYmFycygp
CiAgICAgbV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uU291cmNlID0gbV9vdmVybGF5U2Nyb2xs
YmFyQW5pbWF0aW9uQ3VycmVudDsKICAgICBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25UYXJn
ZXQgPSAxOwogICAgIGlmIChtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25UYXJnZXQgIT0gbV9v
dmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uQ3VycmVudCkgewotICAgICAgICBtX292ZXJsYXlTY3Jv
bGxiYXJBbmltYXRpb25TdGFydFRpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsK
KyAgICAgICAgbV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uU3RhcnRUaW1lID0gTW9ub3Rvbmlj
VGltZTo6bm93KCk7CiAgICAgICAgIG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvbkVuZFRpbWUg
PSBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25TdGFydFRpbWUgKyBvdmVyZmxvd1Njcm9sbGJh
cnNBbmltYXRpb25EdXJhdGlvbjsKICAgICAgICAgbV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9u
VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgfSBlbHNlCkBAIC0yMzEsNyArMjMxLDcgQEAg
dm9pZCBTY3JvbGxBbmltYXRvckd0azo6aGlkZU92ZXJsYXlTY3JvbGxiYXJzKCkKICAgICBtX292
ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25UYXJnZXQgPSAwOwogICAgIGlmIChtX292ZXJsYXlTY3Jv
bGxiYXJBbmltYXRpb25UYXJnZXQgPT0gbV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uQ3VycmVu
dCkKICAgICAgICAgcmV0dXJuOwotICAgIG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvblN0YXJ0
VGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpICsgb3ZlcmZsb3dTY3JvbGxiYXJz
QW5pbWF0aW9uSGlkZURlbGF5OworICAgIG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvblN0YXJ0
VGltZSA9IE1vbm90b25pY1RpbWU6Om5vdygpICsgb3ZlcmZsb3dTY3JvbGxiYXJzQW5pbWF0aW9u
SGlkZURlbGF5OwogICAgIG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvbkVuZFRpbWUgPSBtX292
ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25TdGFydFRpbWUgKyBvdmVyZmxvd1Njcm9sbGJhcnNBbmlt
YXRpb25EdXJhdGlvbiArIG92ZXJmbG93U2Nyb2xsYmFyc0FuaW1hdGlvbkhpZGVEZWxheTsKICAg
ICBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25UaW1lci5zdGFydE9uZVNob3Qob3ZlcmZsb3dT
Y3JvbGxiYXJzQW5pbWF0aW9uSGlkZURlbGF5KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2d0ay9TY3JvbGxBbmltYXRvckd0ay5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3RrL1Njcm9sbEFuaW1hdG9yR3RrLmgKaW5kZXggNzBlNWI3M2Y5ZGUxM2QyMTBjYjk5
M2VlOTM1N2Q3MzkyZGQzMjJhOC4uYzQyNTNlNWFkYjkxZjcwNDEzMzA0Njg0MWMyOTc0YmY3ZGQ4
Y2VjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1Njcm9sbEFuaW1h
dG9yR3RrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1Njcm9sbEFuaW1hdG9y
R3RrLmgKQEAgLTgwLDggKzgwLDggQEAgcHJpdmF0ZToKICAgICBkb3VibGUgbV9vdmVybGF5U2Ny
b2xsYmFyQW5pbWF0aW9uU291cmNlIHsgMCB9OwogICAgIGRvdWJsZSBtX292ZXJsYXlTY3JvbGxi
YXJBbmltYXRpb25UYXJnZXQgeyAwIH07CiAgICAgZG91YmxlIG1fb3ZlcmxheVNjcm9sbGJhckFu
aW1hdGlvbkN1cnJlbnQgeyAwIH07Ci0gICAgZG91YmxlIG1fb3ZlcmxheVNjcm9sbGJhckFuaW1h
dGlvblN0YXJ0VGltZSB7IDAgfTsKLSAgICBkb3VibGUgbV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0
aW9uRW5kVGltZSB7IDAgfTsKKyAgICBNb25vdG9uaWNUaW1lIG1fb3ZlcmxheVNjcm9sbGJhckFu
aW1hdGlvblN0YXJ0VGltZTsKKyAgICBNb25vdG9uaWNUaW1lIG1fb3ZlcmxheVNjcm9sbGJhckFu
aW1hdGlvbkVuZFRpbWU7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNl
QVZLaXQubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVu
SW50ZXJmYWNlQVZLaXQubW0KaW5kZXggZjNmYzJhZTI4NDhmNDk3NzE5ODUwYTk5OGZkMGM5OTNm
YjA3NDU0YS4uM2RiM2MwMjVlYmMzZmNkZjgzOTBmNTc1OWM1ZTQyMzA4OTBjOTdlMCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVsbHNjcmVlbkludGVy
ZmFjZUFWS2l0Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1
bGxzY3JlZW5JbnRlcmZhY2VBVktpdC5tbQpAQCAtODIsNyArODIsNyBAQCBzdGF0aWMgY29uc3Qg
Y2hhciogYm9vbFN0cmluZyhib29sIHZhbCkKIH0KICNlbmRpZgogCi1zdGF0aWMgY29uc3QgZG91
YmxlIERlZmF1bHRXYXRjaGRvZ1RpbWVySW50ZXJ2YWwgPSAxOworc3RhdGljIGNvbnN0IFNlY29u
ZHMgZGVmYXVsdFdhdGNoZG9nVGltZXJJbnRlcnZhbCB7IDFfcyB9OwogCiBAY2xhc3MgV2ViQVZN
ZWRpYVNlbGVjdGlvbk9wdGlvbjsKIApAQCAtOTg2LDcgKzk4Niw3IEBAIGJvb2wgV2ViVmlkZW9G
dWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OnNob3VsZEV4aXRGdWxsc2NyZWVuV2l0aFJlYXNvbihX
ZWJWaWRlb0Z1CiAgICAgbV92aWRlb0Z1bGxzY3JlZW5Nb2RlbC0+cmVxdWVzdEZ1bGxzY3JlZW5N
b2RlKEhUTUxNZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVuTW9kZU5vbmUsIHJlYXNv
biA9PSBFeGl0RnVsbFNjcmVlblJlYXNvbjo6RG9uZUJ1dHRvblRhcHBlZCk7CiAKICAgICBpZiAo
IW1fd2F0Y2hkb2dUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3dhdGNoZG9nVGltZXIuc3Rh
cnRPbmVTaG90KERlZmF1bHRXYXRjaGRvZ1RpbWVySW50ZXJ2YWwpOworICAgICAgICBtX3dhdGNo
ZG9nVGltZXIuc3RhcnRPbmVTaG90KGRlZmF1bHRXYXRjaGRvZ1RpbWVySW50ZXJ2YWwpOwogCiAg
ICAgcmV0dXJuIGZhbHNlOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWFjL1Njcm9sbEFuaW1hdG9yTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Nj
cm9sbEFuaW1hdG9yTWFjLm1tCmluZGV4IDk2MjRkMDVkMThlNmZkMjU2ZTdhZTkxMTI2OTNhNTQw
MTg4MjA1NDguLjBkYTM0OWJmZmFmMWYxYWM5ODg4NzY1YTljMGI4NzYxY2NjNjRkZmYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5tbQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMubW0KQEAg
LTEzMzgsNyArMTMzOCw3IEBAIHZvaWQgU2Nyb2xsQW5pbWF0b3JNYWM6OnVwZGF0ZVNjcm9sbGVy
U3R5bGUoKQogCiB2b2lkIFNjcm9sbEFuaW1hdG9yTWFjOjpzdGFydFNjcm9sbGJhclBhaW50VGlt
ZXIoKQogewotICAgIG1faW5pdGlhbFNjcm9sbGJhclBhaW50VGltZXIuc3RhcnRPbmVTaG90KDAu
MSk7CisgICAgbV9pbml0aWFsU2Nyb2xsYmFyUGFpbnRUaW1lci5zdGFydE9uZVNob3QoMTAwX21z
KTsKIH0KIAogYm9vbCBTY3JvbGxBbmltYXRvck1hYzo6c2Nyb2xsYmFyUGFpbnRUaW1lcklzQWN0
aXZlKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTWVk
aWFQbGF5YmFja1RhcmdldFBpY2tlck1vY2suY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bW9jay9NZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyTW9jay5jcHAKaW5kZXggMWE2MGNhMjRiYmM2
MDk2YjdhOTVlMjEwNjYwNDk1MTJmZTJmMjU1Yi4uNWFhYTg0ZGM5YTBhY2MyOTA2ZmIwOTNlMWJm
ODI0YjZlNzk4MGMzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9N
ZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyTW9jay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbW9jay9NZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyTW9jay5jcHAKQEAgLTM3LDcgKzM3
LDcgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAot
c3RhdGljIGNvbnN0IGRvdWJsZSB0aW1lckludGVydmFsID0gMS4wIC8gMTAuMDsKK3N0YXRpYyBj
b25zdCBTZWNvbmRzIHRpbWVySW50ZXJ2YWwgeyAxMDBfbXMgfTsKIAogTWVkaWFQbGF5YmFja1Rh
cmdldFBpY2tlck1vY2s6Ok1lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXJNb2NrKE1lZGlhUGxheWJh
Y2tUYXJnZXRQaWNrZXI6OkNsaWVudCYgY2xpZW50KQogICAgIDogTWVkaWFQbGF5YmFja1Rhcmdl
dFBpY2tlcihjbGllbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2Nr
L1BsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21vY2svUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1vY2suY3BwCmluZGV4IGYzYmM3MWMw
ZjczM2QyODMzZWMzNDg1ZTg5NDk0NDhkMzhkZDNmMTEuLjY3Zjk3ZGQ2MWNkZDYzMWVhYzk4Y2Vh
MGQ5NDYyMzYwMjI3OWUwYmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21v
Y2svUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1vY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21vY2svUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1vY2suY3BwCkBAIC02OCw3
ICs2OCw3IEBAIHZvaWQgUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1vY2s6OnNwZWFrKFJlZlB0
cjxQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpc1V0dGVyYW5jCiAgICAgY2xpZW50KCktPmJvdW5kYXJ5
RXZlbnRPY2N1cnJlZCgqbV91dHRlcmFuY2UsIFNwZWVjaFNlbnRlbmNlQm91bmRhcnksIG1fdXR0
ZXJhbmNlLT50ZXh0KCkubGVuZ3RoKCkpOwogCiAgICAgLy8gR2l2ZSB0aGUgZmFrZSBzcGVlY2gg
am9iIHNvbWUgdGltZSBzbyB0aGF0IHBhdXNlIGFuZCBvdGhlciBmdW5jdGlvbnMgaGF2ZSB0aW1l
IHRvIGJlIGNhbGxlZC4KLSAgICBtX3NwZWFraW5nRmluaXNoZWRUaW1lci5zdGFydE9uZVNob3Qo
LjEpOworICAgIG1fc3BlYWtpbmdGaW5pc2hlZFRpbWVyLnN0YXJ0T25lU2hvdCgxMDBfbXMpOwog
fQogCiB2b2lkIFBsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrOjpjYW5jZWwoKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9UaW1lckV2ZW50QmFzZWRNb2NrLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1RpbWVyRXZlbnRCYXNlZE1vY2suaAppbmRl
eCBkZTBlOGE5ZmQ2NTk2YjJlMmFiNzM3MDMwNDdkZTVlZDM3ZmZlY2FjLi5kZGNkMjc1YTgyZDQy
YjQ2MWY4NDVkMzM0NGZkZTFiOTQwOGU0ZjJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tb2NrL1RpbWVyRXZlbnRCYXNlZE1vY2suaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tb2NrL1RpbWVyRXZlbnRCYXNlZE1vY2suaApAQCAtNjMsNyArNjMsNyBAQCBwdWJs
aWM6CiAgICAgICAgICwgbV90aW1lcigqdGhpcywgJlRpbWVyRXZlbnQ6OnRpbWVyRmlyZWQpCiAg
ICAgICAgICwgbV9ub3RpZmllcihub3RpZmllcikKICAgICB7Ci0gICAgICAgIG1fdGltZXIuc3Rh
cnRPbmVTaG90KDAuNSk7CisgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDUwMF9tcyk7CiAg
ICAgfQogCiAgICAgdmlydHVhbCB+VGltZXJFdmVudCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL0ROU1Jlc29sdmVRdWV1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL0ROU1Jlc29sdmVRdWV1ZS5jcHAKaW5kZXggNTg3NzNhYTMzMjkx
Y2E3YTY4OTU3NTg2ZWU4MjAzYzZiYWMyY2ZmMy4uYThjMmRmNDBjM2JmYmFjNWY1YzM5MjliY2Ez
MzkzMDBmMGEwMjYxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9ETlNSZXNvbHZlUXVldWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvRE5TUmVzb2x2ZVF1ZXVlLmNwcApAQCAtMzcsNyArMzcsNyBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiBzdGF0aWMgY29uc3QgaW50IGdOYW1lc1RvUmVzb2x2ZUltbWVkaWF0ZWx5ID0gNDsKIAog
Ly8gQ29hbGVzY2UgcHJlZmV0Y2ggcmVxdWVzdHMgZm9yIHRoaXMgbG9uZyBiZWZvcmUgc2VuZGlu
ZyB0aGVtIG91dC4KLXN0YXRpYyBjb25zdCBkb3VibGUgZ0NvYWxlc2NlRGVsYXlJblNlY29uZHMg
PSAxLjA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBjb2FsZXNjZURlbGF5IHsgMV9zIH07CiAKIC8v
IFNlbmRpbmcgbWFueSBETlMgcmVxdWVzdHMgYXQgb25jZSBjYW4gb3ZlcndoZWxtIHNvbWUgZ2F0
ZXdheXMuIFNlZSA8cmRhcjovLzgxMDU1NTA+IGZvciBzcGVjaWZpYyBDRk5FVCBpc3N1ZXMgd2l0
aCBDRkhvc3QgdGhyb3R0bGluZy4KIHN0YXRpYyBjb25zdCBpbnQgZ01heFNpbXVsdGFuZW91c1Jl
cXVlc3RzID0gODsKQEAgLTQ4LDcgKzQ4LDcgQEAgc3RhdGljIGNvbnN0IGludCBnTWF4U2ltdWx0
YW5lb3VzUmVxdWVzdHMgPSA4Owogc3RhdGljIGNvbnN0IGludCBnTWF4UmVxdWVzdHNUb1F1ZXVl
ID0gNjQ7CiAKIC8vIElmIHRoZXJlIHdlcmUgcXVldWVkIG5hbWVzIHRoYXQgY291bGRuJ3QgYmUg
c2VudCBzaW11bHRhbmVvdXNseSwgY2hlY2sgdGhlIHN0YXRlIG9mIHJlc29sdmVycyBhZnRlciB0
aGlzIGRlbGF5Lgotc3RhdGljIGNvbnN0IGRvdWJsZSBnUmV0cnlSZXNvbHZpbmdJblNlY29uZHMg
PSAwLjE7CitzdGF0aWMgY29uc3QgU2Vjb25kcyByZXNvbHZpbmdSZXRyeURlbGF5IHsgMTAwX21z
IH07CiAKIEROU1Jlc29sdmVRdWV1ZSYgRE5TUmVzb2x2ZVF1ZXVlOjpzaW5nbGV0b24oKQogewpA
QCAtMTAxLDcgKzEwMSw3IEBAIHZvaWQgRE5TUmVzb2x2ZVF1ZXVlOjphZGQoY29uc3QgU3RyaW5n
JiBob3N0bmFtZSkKICAgICBpZiAobV9uYW1lcy5zaXplKCkgPCBnTWF4UmVxdWVzdHNUb1F1ZXVl
KSB7CiAgICAgICAgIG1fbmFtZXMuYWRkKGhvc3RuYW1lKTsKICAgICAgICAgaWYgKCFtX3RpbWVy
LmlzQWN0aXZlKCkpCi0gICAgICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChnQ29hbGVzY2VE
ZWxheUluU2Vjb25kcyk7CisgICAgICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChjb2FsZXNj
ZURlbGF5KTsKICAgICB9CiB9CiAKQEAgLTEyMiw3ICsxMjIsNyBAQCB2b2lkIEROU1Jlc29sdmVR
dWV1ZTo6dGltZXJGaXJlZCgpCiAgICAgfQogCiAgICAgaWYgKCFtX25hbWVzLmlzRW1wdHkoKSkK
LSAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoZ1JldHJ5UmVzb2x2aW5nSW5TZWNvbmRzKTsK
KyAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QocmVzb2x2aW5nUmV0cnlEZWxheSk7CiB9CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvUGluZ0hhbmRsZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9QaW5nSGFuZGxlLmgKaW5kZXggMTdjNTRlMDk2OWQ2M2JkZDBlMDNmN2JmZWU0ODQzM2Q3NDU1
YWEyZC4uY2JhZmMwOTM1NjlmZWUxMzc4ZDgzM2QzNjdmMzQ2NGE5YzQ1OGI2MiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9QaW5nSGFuZGxlLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9QaW5nSGFuZGxlLmgKQEAgLTUzLDcgKzUzLDcg
QEAgcHVibGljOgogCiAgICAgICAgIC8vIElmIHRoZSBzZXJ2ZXIgbmV2ZXIgcmVzcG9uZHMsIHRo
aXMgb2JqZWN0IHdpbGwgaGFuZyBhcm91bmQgZm9yZXZlci4KICAgICAgICAgLy8gU2V0IGEgdmVy
eSBnZW5lcm91cyB0aW1lb3V0LCBqdXN0IGluIGNhc2UuCi0gICAgICAgIG1fdGltZW91dFRpbWVy
LnN0YXJ0T25lU2hvdCg2MDAwMCk7CisgICAgICAgIG1fdGltZW91dFRpbWVyLnN0YXJ0T25lU2hv
dCg2MDAwMF9zKTsKICAgICB9CiAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvUmVzb3VyY2VIYW5kbGVNYW5hZ2VyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9SZXNvdXJjZUhhbmRsZU1hbmFnZXIuY3Bw
CmluZGV4IGFmYmE1NWY2ZmUyMTQwZGRmZjM3YjVlZDFmOTk2ZTBlN2I3ODY2ZjkuLmNhY2ZiYjU3
NWU5OGI4NTBiMDJiMGFkMzMzMTBlZWM4YWVlNDE5MzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9SZXNvdXJjZUhhbmRsZU1hbmFnZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9SZXNvdXJjZUhhbmRsZU1hbmFn
ZXIuY3BwCkBAIC04Myw3ICs4Myw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNvbnN0IGlu
dCBzZWxlY3RUaW1lb3V0TVMgPSA1OwotY29uc3QgZG91YmxlIHBvbGxUaW1lU2Vjb25kcyA9IDAu
MDU7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBwb2xsVGltZSB7IDUwX21zIH07CiBjb25zdCBpbnQg
bWF4UnVubmluZ0pvYnMgPSAxMjg7CiBjb25zdCBjaGFyKiBjb25zdCBlcnJvckRvbWFpbkN1cmwg
PSAiQ3VybEVycm9yRG9tYWluIjsKIApAQCAtNzI3LDcgKzcyNyw3IEBAIHZvaWQgUmVzb3VyY2VI
YW5kbGVNYW5hZ2VyOjpkb3dubG9hZFRpbWVyQ2FsbGJhY2soKQogICAgIGJvb2wgc3RhcnRlZCA9
IHN0YXJ0U2NoZWR1bGVkSm9icygpOyAvLyBuZXcgam9icyBtaWdodCBoYXZlIGJlZW4gYWRkZWQg
aW4gdGhlIG1lYW50aW1lCiAKICAgICBpZiAoIW1fZG93bmxvYWRUaW1lci5pc0FjdGl2ZSgpICYm
IChzdGFydGVkIHx8IChydW5uaW5nSGFuZGxlcyA+IDApKSkKLSAgICAgICAgbV9kb3dubG9hZFRp
bWVyLnN0YXJ0T25lU2hvdChwb2xsVGltZVNlY29uZHMpOworICAgICAgICBtX2Rvd25sb2FkVGlt
ZXIuc3RhcnRPbmVTaG90KHBvbGxUaW1lKTsKIH0KIAogdm9pZCBSZXNvdXJjZUhhbmRsZU1hbmFn
ZXI6OnNldFByb3h5SW5mbyhjb25zdCBTdHJpbmcmIGhvc3QsCkBAIC04NzcsNyArODc3LDcgQEAg
dm9pZCBSZXNvdXJjZUhhbmRsZU1hbmFnZXI6OmFkZChSZXNvdXJjZUhhbmRsZSogam9iKQogICAg
IGpvYi0+cmVmKCk7CiAgICAgbV9yZXNvdXJjZUhhbmRsZUxpc3QuYXBwZW5kKGpvYik7CiAgICAg
aWYgKCFtX2Rvd25sb2FkVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9kb3dubG9hZFRpbWVy
LnN0YXJ0T25lU2hvdChwb2xsVGltZVNlY29uZHMpOworICAgICAgICBtX2Rvd25sb2FkVGltZXIu
c3RhcnRPbmVTaG90KHBvbGxUaW1lKTsKIH0KIAogYm9vbCBSZXNvdXJjZUhhbmRsZU1hbmFnZXI6
OnJlbW92ZVNjaGVkdWxlZEpvYihSZXNvdXJjZUhhbmRsZSogam9iKQpAQCAtMTIzOCw3ICsxMjM4
LDcgQEAgdm9pZCBSZXNvdXJjZUhhbmRsZU1hbmFnZXI6OmNhbmNlbChSZXNvdXJjZUhhbmRsZSog
am9iKQogICAgIFJlc291cmNlSGFuZGxlSW50ZXJuYWwqIGQgPSBqb2ItPmdldEludGVybmFsKCk7
CiAgICAgZC0+bV9jYW5jZWxsZWQgPSB0cnVlOwogICAgIGlmICghbV9kb3dubG9hZFRpbWVyLmlz
QWN0aXZlKCkpCi0gICAgICAgIG1fZG93bmxvYWRUaW1lci5zdGFydE9uZVNob3QocG9sbFRpbWVT
ZWNvbmRzKTsKKyAgICAgICAgbV9kb3dubG9hZFRpbWVyLnN0YXJ0T25lU2hvdChwb2xsVGltZSk7
CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvbWFjL05ldHdvcmtTdGF0ZU5vdGlmaWVyTWFjLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL05ldHdvcmtTdGF0ZU5vdGlmaWVyTWFjLmNw
cAppbmRleCA1NWFkZTIxOGMxMzg4OGMwY2MyNmViZWNiNzkyNjNkY2E3MDA5MTZkLi45MTJmNjdi
ZjE4NjZkNDQ2Y2RlZTVmNzg4ZmNjNjMyODljZTFlNTE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9OZXR3b3JrU3RhdGVOb3RpZmllck1hYy5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvTmV0d29ya1N0YXRlTm90aWZp
ZXJNYWMuY3BwCkBAIC0zMSw3ICszMSw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3Rh
dGljIGNvbnN0IGRvdWJsZSBTdGF0ZUNoYW5nZVRpbWVySW50ZXJ2YWwgPSAyLjA7CitzdGF0aWMg
Y29uc3QgU2Vjb25kcyBTdGF0ZUNoYW5nZVRpbWVySW50ZXJ2YWwgeyAyX3MgfTsKIAogdm9pZCBO
ZXR3b3JrU3RhdGVOb3RpZmllcjo6dXBkYXRlU3RhdGUoKQogewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNw
cAppbmRleCAxMzllMDlkYjcyZWFjYjIxM2JhMzYzY2RmMzdlOGJiMjI4ZDJlMzQxLi45ZDZkNWM0
MDc3NDExMDU5NDdlYzc0NmIxZDE5ZDc4ZDNlMmNlYzNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNw
cApAQCAtNzcxLDcgKzc3MSw3IEBAIHZvaWQgUmVzb3VyY2VIYW5kbGU6OnNlbmRQZW5kaW5nUmVx
dWVzdCgpCiAjZW5kaWYKIAogICAgIGlmIChkLT5tX2ZpcnN0UmVxdWVzdC50aW1lb3V0SW50ZXJ2
YWwoKSA+IDApCi0gICAgICAgIGQtPm1fdGltZW91dFNvdXJjZS5zdGFydE9uZVNob3QoZC0+bV9m
aXJzdFJlcXVlc3QudGltZW91dEludGVydmFsKCkpOworICAgICAgICBkLT5tX3RpbWVvdXRTb3Vy
Y2Uuc3RhcnRPbmVTaG90KDFfcyAqIGQtPm1fZmlyc3RSZXF1ZXN0LnRpbWVvdXRJbnRlcnZhbCgp
KTsKIAogICAgIC8vIEJhbGFuY2VkIGJ5IGEgZGVyZWYoKSBpbiBjbGVhbnVwU291cFJlcXVlc3RP
cGVyYXRpb24sIHdoaWNoIHNob3VsZCBhbHdheXMgcnVuLgogICAgIHJlZigpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0ltYWdlUXVhbGl0eUNvbnRyb2xsZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0ltYWdlUXVhbGl0eUNvbnRyb2xsZXIuY3BwCmluZGV4
IDFiYzgyZTk3Zjg3OTBlYzBkN2ExOWUwNDRmZWRmYzc5OWM1ZTJiYWQuLjc1NDE1ZDAyM2ZjNzRj
M2RmZjRiNzk3YWJhMzBmZDRlNTM1OTJkZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9JbWFnZVF1YWxpdHlDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvSW1hZ2VRdWFsaXR5Q29udHJvbGxlci5jcHAKQEAgLTM1LDcgKzM1LDcgQEAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogc3RhdGljIGNvbnN0IGRvdWJsZSBjSW50ZXJwb2xhdGlvbkN1
dG9mZiA9IDgwMC4gKiA4MDAuOwotc3RhdGljIGNvbnN0IGRvdWJsZSBjTG93UXVhbGl0eVRpbWVU
aHJlc2hvbGQgPSAwLjUwMDsgLy8gNTAwIG1zCitzdGF0aWMgY29uc3QgU2Vjb25kcyBsb3dRdWFs
aXR5VGltZVRocmVzaG9sZCB7IDUwMF9tcyB9OwogCiBJbWFnZVF1YWxpdHlDb250cm9sbGVyOjpJ
bWFnZVF1YWxpdHlDb250cm9sbGVyKGNvbnN0IFJlbmRlclZpZXcmIHJlbmRlclZpZXcpCiAgICAg
OiBtX3JlbmRlclZpZXcocmVuZGVyVmlldykKQEAgLTk0LDcgKzk0LDcgQEAgdm9pZCBJbWFnZVF1
YWxpdHlDb250cm9sbGVyOjpoaWdoUXVhbGl0eVJlcGFpbnRUaW1lckZpcmVkKCkKIAogdm9pZCBJ
bWFnZVF1YWxpdHlDb250cm9sbGVyOjpyZXN0YXJ0VGltZXIoKQogewotICAgIG1fdGltZXIuc3Rh
cnRPbmVTaG90KGNMb3dRdWFsaXR5VGltZVRocmVzaG9sZCk7CisgICAgbV90aW1lci5zdGFydE9u
ZVNob3QobG93UXVhbGl0eVRpbWVUaHJlc2hvbGQpOwogfQogCiBzdGQ6Om9wdGlvbmFsPEludGVy
cG9sYXRpb25RdWFsaXR5PiBJbWFnZVF1YWxpdHlDb250cm9sbGVyOjppbnRlcnBvbGF0aW9uUXVh
bGl0eUZyb21TdHlsZShjb25zdCBSZW5kZXJTdHlsZSYgc3R5bGUpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCmluZGV4IGVhYzQyZTIz
NWUzYzliYWUwOTEzZDExOGYyNTc0ZDg4ZWZhZTc3MTcuLjFhODM4ZDg3YzVlZmE1N2ZkNGMyYmQw
MTA4YjhlZjZlOWU1ZTMyYjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCkBAIC05MiwxMSArOTIsMTEgQEAgc3RhdGljIGNvbnN0
IGludCBjYW52YXNBcmVhVGhyZXNob2xkUmVxdWlyaW5nQ29tcG9zaXRpbmcgPSA1MCAqIDEwMDsK
ICNlbmRpZgogLy8gRHVyaW5nIHBhZ2UgbG9hZGluZyBkZWxheSBsYXllciBmbHVzaGVzIHVwIHRv
IHRoaXMgbWFueSBzZWNvbmRzIHRvIGFsbG93IHRoZW0gY29hbGVzY2UsIHJlZHVjaW5nIHdvcmts
b2FkLgogI2lmIFBMQVRGT1JNKElPUykKLXN0YXRpYyBjb25zdCBkb3VibGUgdGhyb3R0bGVkTGF5
ZXJGbHVzaEluaXRpYWxEZWxheSA9IC41Owotc3RhdGljIGNvbnN0IGRvdWJsZSB0aHJvdHRsZWRM
YXllckZsdXNoRGVsYXkgPSAxLjU7CitzdGF0aWMgY29uc3QgU2Vjb25kcyB0aHJvdHRsZWRMYXll
ckZsdXNoSW5pdGlhbERlbGF5IHsgNTAwX21zIH07CitzdGF0aWMgY29uc3QgU2Vjb25kcyB0aHJv
dHRsZWRMYXllckZsdXNoRGVsYXkgeyAxLjVfcyB9OwogI2Vsc2UKLXN0YXRpYyBjb25zdCBkb3Vi
bGUgdGhyb3R0bGVkTGF5ZXJGbHVzaEluaXRpYWxEZWxheSA9IC41Owotc3RhdGljIGNvbnN0IGRv
dWJsZSB0aHJvdHRsZWRMYXllckZsdXNoRGVsYXkgPSAuNTsKK3N0YXRpYyBjb25zdCBTZWNvbmRz
IHRocm90dGxlZExheWVyRmx1c2hJbml0aWFsRGVsYXkgeyA1MDBfbXMgfTsKK3N0YXRpYyBjb25z
dCBTZWNvbmRzIHRocm90dGxlZExheWVyRmx1c2hEZWxheSB7IDUwMF9tcyB9OwogI2VuZGlmCiAK
IHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyUHJvZ3Jlc3MuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclByb2dyZXNzLmNwcAppbmRleCAzYjE0ZTQwN2ExZTIxYTg2OGJiZjgyNmM3NzgzNmJmMzQy
MTNhYWEyLi41NmE0NWM3ZDBjYTBlZmZiMzRiZDRlMGEwMmMzYjA4Zjk1MDg3NjhiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUHJvZ3Jlc3MuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJQcm9ncmVzcy5jcHAKQEAgLTMyLDcgKzMyLDYg
QEAgUmVuZGVyUHJvZ3Jlc3M6OlJlbmRlclByb2dyZXNzKEhUTUxFbGVtZW50JiBlbGVtZW50LCBS
ZW5kZXJTdHlsZSYmIHN0eWxlKQogICAgIDogUmVuZGVyQmxvY2tGbG93KGVsZW1lbnQsIFdURk1v
dmUoc3R5bGUpKQogICAgICwgbV9wb3NpdGlvbihIVE1MUHJvZ3Jlc3NFbGVtZW50OjpJbnZhbGlk
UG9zaXRpb24pCiAgICAgLCBtX2FuaW1hdGlvblN0YXJ0VGltZSgwKQotICAgICwgbV9hbmltYXRp
b25SZXBlYXRJbnRlcnZhbCgwKQogICAgICwgbV9hbmltYXRpb25EdXJhdGlvbigwKQogICAgICwg
bV9hbmltYXRpbmcoZmFsc2UpCiAgICAgLCBtX2FuaW1hdGlvblRpbWVyKCp0aGlzLCAmUmVuZGVy
UHJvZ3Jlc3M6OmFuaW1hdGlvblRpbWVyRmlyZWQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyUHJvZ3Jlc3MuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJQcm9ncmVzcy5oCmluZGV4IDNhNmQ4NGQ4MzU2MTMwNzE3YjQwMzJmOWEzOGFiODNhZGU5
YWI5ODcuLjI5NjRlYzU3MGQwZDlhOWNlNDgwNjAzMzliYmY4NWIyOTE4NTNmYzkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJQcm9ncmVzcy5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJQcm9ncmVzcy5oCkBAIC01MCw3ICs1MCw3IEBAIHBy
aXZhdGU6CiAKICAgICBkb3VibGUgbV9wb3NpdGlvbjsKICAgICBkb3VibGUgbV9hbmltYXRpb25T
dGFydFRpbWU7Ci0gICAgZG91YmxlIG1fYW5pbWF0aW9uUmVwZWF0SW50ZXJ2YWw7CisgICAgU2Vj
b25kcyBtX2FuaW1hdGlvblJlcGVhdEludGVydmFsOwogICAgIGRvdWJsZSBtX2FuaW1hdGlvbkR1
cmF0aW9uOwogICAgIGJvb2wgbV9hbmltYXRpbmc7CiAgICAgVGltZXIgbV9hbmltYXRpb25UaW1l
cjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmNwcAppbmRleCAyYzg4YWM1ZDIw
ODdhOGQ0MWY4MDY3Y2YwYTQxODA1OTY0NzIyOWIwLi4yYTUyMmRjYTg4NDA1MzVmOWIyNDQ2ZWU3
OGJkZTE5ZGU4YWRkNzIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHQuY3Bw
CkBAIC0xMDcsNyArMTA3LDcgQEAgaW5saW5lIFNlY3VyZVRleHRUaW1lcjo6U2VjdXJlVGV4dFRp
bWVyKFJlbmRlclRleHQmIHJlbmRlcmVyKQogaW5saW5lIHZvaWQgU2VjdXJlVGV4dFRpbWVyOjpy
ZXN0YXJ0KHVuc2lnbmVkIG9mZnNldEFmdGVyTGFzdFR5cGVkQ2hhcmFjdGVyKQogewogICAgIG1f
b2Zmc2V0QWZ0ZXJMYXN0VHlwZWRDaGFyYWN0ZXIgPSBvZmZzZXRBZnRlckxhc3RUeXBlZENoYXJh
Y3RlcjsKLSAgICBzdGFydE9uZVNob3QobV9yZW5kZXJlci5zZXR0aW5ncygpLnBhc3N3b3JkRWNo
b0R1cmF0aW9uSW5TZWNvbmRzKCkpOworICAgIHN0YXJ0T25lU2hvdCgxX3MgKiBtX3JlbmRlcmVy
LnNldHRpbmdzKCkucGFzc3dvcmRFY2hvRHVyYXRpb25JblNlY29uZHMoKSk7CiB9CiAKIGlubGlu
ZSB1bnNpZ25lZCBTZWN1cmVUZXh0VGltZXI6OnRha2VPZmZzZXRBZnRlckxhc3RUeXBlZENoYXJh
Y3RlcigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmNwcAppbmRleCBjMzFh
OWFhNmNmMmIwNjk4MjJiNmZmNTA2N2JmZmFjNTM3ZmYyYmEzLi5kYjRkODA4YjgzNTgzMDExNzNh
OGFjYzA5NmQ5ZTY0NGJhMzBmOGI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGhlbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
aGVtZS5jcHAKQEAgLTEwNjIsOSArMTA2Miw5IEBAIHZvaWQgUmVuZGVyVGhlbWU6OnBhaW50U2xp
ZGVyVGlja3MoY29uc3QgUmVuZGVyT2JqZWN0JiBvLCBjb25zdCBQYWludEluZm8mIHBhaW50CiB9
CiAjZW5kaWYKIAotZG91YmxlIFJlbmRlclRoZW1lOjphbmltYXRpb25SZXBlYXRJbnRlcnZhbEZv
clByb2dyZXNzQmFyKFJlbmRlclByb2dyZXNzJikgY29uc3QKK1NlY29uZHMgUmVuZGVyVGhlbWU6
OmFuaW1hdGlvblJlcGVhdEludGVydmFsRm9yUHJvZ3Jlc3NCYXIoUmVuZGVyUHJvZ3Jlc3MmKSBj
b25zdAogewotICAgIHJldHVybiAwOworICAgIHJldHVybiAwX3M7CiB9CiAKIGRvdWJsZSBSZW5k
ZXJUaGVtZTo6YW5pbWF0aW9uRHVyYXRpb25Gb3JQcm9ncmVzc0JhcihSZW5kZXJQcm9ncmVzcyYp
IGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUu
aCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCmluZGV4IDcxZDE2NWEx
MDhkNjE4MDM2ZWNmMzNlMGIxYWQyYTIxOWI5MTBhODAuLjYxN2NhZGIxY2E2OTIzNzZjZjViM2U1
NzY0ZWI5NzdhNDZjMTNjZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUaGVtZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5o
CkBAIC0xOTUsNyArMTk1LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgU2Nyb2xsYmFyQ29udHJv
bFNpemUgc2Nyb2xsYmFyQ29udHJvbFNpemVGb3JQYXJ0KENvbnRyb2xQYXJ0KSB7IHJldHVybiBS
ZWd1bGFyU2Nyb2xsYmFyOyB9CiAKICAgICAvLyBSZXR1cm5zIHRoZSByZXBlYXQgaW50ZXJ2YWwg
b2YgdGhlIGFuaW1hdGlvbiBmb3IgdGhlIHByb2dyZXNzIGJhci4KLSAgICB2aXJ0dWFsIGRvdWJs
ZSBhbmltYXRpb25SZXBlYXRJbnRlcnZhbEZvclByb2dyZXNzQmFyKFJlbmRlclByb2dyZXNzJikg
Y29uc3Q7CisgICAgdmlydHVhbCBTZWNvbmRzIGFuaW1hdGlvblJlcGVhdEludGVydmFsRm9yUHJv
Z3Jlc3NCYXIoUmVuZGVyUHJvZ3Jlc3MmKSBjb25zdDsKICAgICAvLyBSZXR1cm5zIHRoZSBkdXJh
dGlvbiBvZiB0aGUgYW5pbWF0aW9uIGZvciB0aGUgcHJvZ3Jlc3MgYmFyLgogICAgIHZpcnR1YWwg
ZG91YmxlIGFuaW1hdGlvbkR1cmF0aW9uRm9yUHJvZ3Jlc3NCYXIoUmVuZGVyUHJvZ3Jlc3MmKSBj
b25zdDsKICAgICB2aXJ0dWFsIEludFJlY3QgcHJvZ3Jlc3NCYXJSZWN0Rm9yQm91bmRzKGNvbnN0
IFJlbmRlck9iamVjdCYsIGNvbnN0IEludFJlY3QmKSBjb25zdDsKQEAgLTIwOCw3ICsyMDgsNyBA
QCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIHVzZXNNZWRpYUNvbnRyb2xWb2x1bWVTbGlkZXIo
KSBjb25zdCB7IHJldHVybiB0cnVlOyB9CiAgICAgdmlydHVhbCBib29sIHVzZXNWZXJ0aWNhbFZv
bHVtZVNsaWRlcigpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KICAgICB2aXJ0dWFsIGRvdWJsZSBt
ZWRpYUNvbnRyb2xzRmFkZUluRHVyYXRpb24oKSB7IHJldHVybiAwLjE7IH0KLSAgICB2aXJ0dWFs
IGRvdWJsZSBtZWRpYUNvbnRyb2xzRmFkZU91dER1cmF0aW9uKCkgeyByZXR1cm4gMC4zOyB9Cisg
ICAgdmlydHVhbCBTZWNvbmRzIG1lZGlhQ29udHJvbHNGYWRlT3V0RHVyYXRpb24oKSB7IHJldHVy
biAzMDBfbXM7IH0KICAgICB2aXJ0dWFsIFN0cmluZyBmb3JtYXRNZWRpYUNvbnRyb2xzVGltZShm
bG9hdCB0aW1lKSBjb25zdDsKICAgICB2aXJ0dWFsIFN0cmluZyBmb3JtYXRNZWRpYUNvbnRyb2xz
Q3VycmVudFRpbWUoZmxvYXQgY3VycmVudFRpbWUsIGZsb2F0IGR1cmF0aW9uKSBjb25zdDsKICAg
ICB2aXJ0dWFsIFN0cmluZyBmb3JtYXRNZWRpYUNvbnRyb2xzUmVtYWluaW5nVGltZShmbG9hdCBj
dXJyZW50VGltZSwgZmxvYXQgZHVyYXRpb24pIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lR3RrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUaGVtZUd0ay5jcHAKaW5kZXggMTcyODRmNDk5OGYzMTUzNGI1NDE5NTM5YjQ5
YzU0NjRkYTYzNTI4Yi4uZWRjNzQ3Y2U2ZDQ4NTdmZTUyZjcxNzcwZGM3ZmEwNzA4YzQ5OTFhNCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lR3RrLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVHdGsuY3BwCkBAIC0yMTEx
LDggKzIxMTEsOCBAQCB2b2lkIFJlbmRlclRoZW1lR3RrOjphZGp1c3RQcm9ncmVzc0JhclN0eWxl
KFN0eWxlUmVzb2x2ZXImLCBSZW5kZXJTdHlsZSYgc3R5bGUsCiAvLyBUaGVzZSB2YWx1ZXMgaGF2
ZSBiZWVuIGNvcGllZCBmcm9tIFJlbmRlclRoZW1lQ2hyb21pdW1Ta2lhLmNwcAogc3RhdGljIGNv
bnN0IGludCBwcm9ncmVzc0FjdGl2aXR5QmxvY2tzID0gNTsKIHN0YXRpYyBjb25zdCBpbnQgcHJv
Z3Jlc3NBbmltYXRpb25GcmFtZXMgPSAxMDsKLXN0YXRpYyBjb25zdCBkb3VibGUgcHJvZ3Jlc3NB
bmltYXRpb25JbnRlcnZhbCA9IDAuMTI1OwotZG91YmxlIFJlbmRlclRoZW1lR3RrOjphbmltYXRp
b25SZXBlYXRJbnRlcnZhbEZvclByb2dyZXNzQmFyKFJlbmRlclByb2dyZXNzJikgY29uc3QKK3N0
YXRpYyBjb25zdCBTZWNvbmRzIHByb2dyZXNzQW5pbWF0aW9uSW50ZXJ2YWwgeyAxMjVfbXMgfTsK
K1NlY29uZHMgUmVuZGVyVGhlbWVHdGs6OmFuaW1hdGlvblJlcGVhdEludGVydmFsRm9yUHJvZ3Jl
c3NCYXIoUmVuZGVyUHJvZ3Jlc3MmKSBjb25zdAogewogICAgIHJldHVybiBwcm9ncmVzc0FuaW1h
dGlvbkludGVydmFsOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRoZW1lR3RrLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVHdGsu
aAppbmRleCA3YjgyZDkzMTQ2NDQ0ZmQ0ZWZlZTU2MTRlNWMxMWQ3NmRiMWVkODExLi42NGE0ZDg5
ZmY0NTJiYjYyM2ZkODA4YTU2OTUwMGFhNmNjZWE0Y2Y1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVHdGsuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGhlbWVHdGsuaApAQCAtMTY4LDcgKzE2OCw3IEBAIHByaXZhdGU6CiAjZW5k
aWYKICNlbmRpZgogCi0gICAgZG91YmxlIGFuaW1hdGlvblJlcGVhdEludGVydmFsRm9yUHJvZ3Jl
c3NCYXIoUmVuZGVyUHJvZ3Jlc3MmKSBjb25zdCBvdmVycmlkZTsKKyAgICBTZWNvbmRzIGFuaW1h
dGlvblJlcGVhdEludGVydmFsRm9yUHJvZ3Jlc3NCYXIoUmVuZGVyUHJvZ3Jlc3MmKSBjb25zdCBv
dmVycmlkZTsKICAgICBkb3VibGUgYW5pbWF0aW9uRHVyYXRpb25Gb3JQcm9ncmVzc0JhcihSZW5k
ZXJQcm9ncmVzcyYpIGNvbnN0IG92ZXJyaWRlOwogICAgIHZvaWQgYWRqdXN0UHJvZ3Jlc3NCYXJT
dHlsZShTdHlsZVJlc29sdmVyJiwgUmVuZGVyU3R5bGUmLCBjb25zdCBFbGVtZW50KikgY29uc3Qg
b3ZlcnJpZGU7CiAgICAgSW50UmVjdCBwcm9ncmVzc0JhclJlY3RGb3JCb3VuZHMoY29uc3QgUmVu
ZGVyT2JqZWN0JiwgY29uc3QgSW50UmVjdCYpIGNvbnN0IG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lSU9TLmggYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1MuaAppbmRleCBiYjM5OGY3ZWJjZjEzMGQ5YTZhMTQ1
YTI3ZTY2ODY5NjJhM2M5NmUzLi4wYjFlNTQ1MTA3ZWJlYTc5ZTc0NDg0OGU4N2Y2NmEzNDNjY2Qw
NTY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1Mu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1MuaApAQCAtODEs
NyArODEsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgYm9vbCBwYWludFNsaWRlclRodW1iRGVjb3JhdGlv
bnMoY29uc3QgUmVuZGVyT2JqZWN0JiwgY29uc3QgUGFpbnRJbmZvJiwgY29uc3QgSW50UmVjdCYp
IG92ZXJyaWRlOwogCiAgICAgLy8gUmV0dXJucyB0aGUgcmVwZWF0IGludGVydmFsIG9mIHRoZSBh
bmltYXRpb24gZm9yIHRoZSBwcm9ncmVzcyBiYXIuCi0gICAgZG91YmxlIGFuaW1hdGlvblJlcGVh
dEludGVydmFsRm9yUHJvZ3Jlc3NCYXIoUmVuZGVyUHJvZ3Jlc3MmKSBjb25zdCBvdmVycmlkZTsK
KyAgICBTZWNvbmRzIGFuaW1hdGlvblJlcGVhdEludGVydmFsRm9yUHJvZ3Jlc3NCYXIoUmVuZGVy
UHJvZ3Jlc3MmKSBjb25zdCBvdmVycmlkZTsKICAgICAvLyBSZXR1cm5zIHRoZSBkdXJhdGlvbiBv
ZiB0aGUgYW5pbWF0aW9uIGZvciB0aGUgcHJvZ3Jlc3MgYmFyLgogICAgIGRvdWJsZSBhbmltYXRp
b25EdXJhdGlvbkZvclByb2dyZXNzQmFyKFJlbmRlclByb2dyZXNzJikgY29uc3Qgb3ZlcnJpZGU7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUlPUy5t
bSBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUlPUy5tbQppbmRleCAyMDEz
MTk1ZmE2OWMyODdiMjQ2ZDJjMmZkYzEyZDBjNGU1ZGFmMjA1Li5kOWY0Zjc3OWM5ODMzMWI1MGZi
YTM1ZjE0NDUzY2RiYmUwNWFmZjc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGhlbWVJT1MubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clRoZW1lSU9TLm1tCkBAIC04NzAsOSArODcwLDkgQEAgYm9vbCBSZW5kZXJUaGVtZUlPUzo6cGFp
bnRTbGlkZXJUaHVtYkRlY29yYXRpb25zKGNvbnN0IFJlbmRlck9iamVjdCYgYm94LCBjb25zdAog
ICAgIHJldHVybiBmYWxzZTsKIH0KIAotZG91YmxlIFJlbmRlclRoZW1lSU9TOjphbmltYXRpb25S
ZXBlYXRJbnRlcnZhbEZvclByb2dyZXNzQmFyKFJlbmRlclByb2dyZXNzJikgY29uc3QKK1NlY29u
ZHMgUmVuZGVyVGhlbWVJT1M6OmFuaW1hdGlvblJlcGVhdEludGVydmFsRm9yUHJvZ3Jlc3NCYXIo
UmVuZGVyUHJvZ3Jlc3MmKSBjb25zdAogewotICAgIHJldHVybiAwOworICAgIHJldHVybiAwX3M7
CiB9CiAKIGRvdWJsZSBSZW5kZXJUaGVtZUlPUzo6YW5pbWF0aW9uRHVyYXRpb25Gb3JQcm9ncmVz
c0JhcihSZW5kZXJQcm9ncmVzcyYpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUaGVtZU1hYy5oCmluZGV4IDZiOWM3MjdjOWE4MTgxMGE2YThjZDQ2MGMyYWFhNjY0ZWYxYTQ4
ZjEuLmYzOTAwYTAwM2ZlNDgwNmNmNDU1MTJjYWI0YzZhZjJjMTBjMjkyZmUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5oCkBAIC04Nyw3ICs4Nyw3IEBAIHB1Ymxp
YzoKICNlbmRpZgogCiAgICAgLy8gUmV0dXJucyB0aGUgcmVwZWF0IGludGVydmFsIG9mIHRoZSBh
bmltYXRpb24gZm9yIHRoZSBwcm9ncmVzcyBiYXIuCi0gICAgZG91YmxlIGFuaW1hdGlvblJlcGVh
dEludGVydmFsRm9yUHJvZ3Jlc3NCYXIoUmVuZGVyUHJvZ3Jlc3MmKSBjb25zdCBvdmVycmlkZTsK
KyAgICBTZWNvbmRzIGFuaW1hdGlvblJlcGVhdEludGVydmFsRm9yUHJvZ3Jlc3NCYXIoUmVuZGVy
UHJvZ3Jlc3MmKSBjb25zdCBvdmVycmlkZTsKICAgICAvLyBSZXR1cm5zIHRoZSBkdXJhdGlvbiBv
ZiB0aGUgYW5pbWF0aW9uIGZvciB0aGUgcHJvZ3Jlc3MgYmFyLgogICAgIGRvdWJsZSBhbmltYXRp
b25EdXJhdGlvbkZvclByb2dyZXNzQmFyKFJlbmRlclByb2dyZXNzJikgY29uc3Qgb3ZlcnJpZGU7
CiAgICAgSW50UmVjdCBwcm9ncmVzc0JhclJlY3RGb3JCb3VuZHMoY29uc3QgUmVuZGVyT2JqZWN0
JiwgY29uc3QgSW50UmVjdCYpIGNvbnN0IG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRoZW1lTWFjLm1tCmluZGV4IGY4MGUyYzkxOTg5MDFiYmFjODk5NGI2ZmNlM2Nm
ZWYzZDMxMzQ1YzEuLjliNTVlZjZmNzk2ZjhlN2M4NzcwOTVkYjI5MjQyNWY0ZTc0YTgyNjMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5tbQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMubW0KQEAgLTExNCwxMCAr
MTE0LDEwIEBAIEBlbmQKIAogLy8gV2UgZXN0aW1hdGUgdGhlIGFuaW1hdGlvbiByYXRlIG9mIGEg
TWFjIE9TIFggcHJvZ3Jlc3MgYmFyIGlzIDMzIGZwcy4KIC8vIEhhcmQgY29kZSB0aGUgdmFsdWUg
aGVyZSBiZWNhdXNlIHdlIGhhdmVuJ3QgZm91bmQgQVBJIGZvciBpdC4KLWNvbnN0IGRvdWJsZSBw
cm9ncmVzc0FuaW1hdGlvbkZyYW1lUmF0ZSA9IDAuMDMzOworc3RhdGljIGNvbnN0IFNlY29uZHMg
cHJvZ3Jlc3NBbmltYXRpb25GcmFtZVJhdGUgPSAzM19tczsKIAogLy8gTWFjIE9TIFggcHJvZ3Jl
c3MgYmFyIGFuaW1hdGlvbiBzZWVtcyB0byBoYXZlIDI1NiBmcmFtZXMuCi1jb25zdCBkb3VibGUg
cHJvZ3Jlc3NBbmltYXRpb25OdW1GcmFtZXMgPSAyNTY7CitzdGF0aWMgY29uc3QgZG91YmxlIHBy
b2dyZXNzQW5pbWF0aW9uTnVtRnJhbWVzID0gMjU2OwogCiBAaW50ZXJmYWNlIFdlYkNvcmVSZW5k
ZXJUaGVtZU5vdGlmaWNhdGlvbk9ic2VydmVyIDogTlNPYmplY3QKIHsKQEAgLTExMjksMTQgKzEx
MjksMTQgQEAgaW50IFJlbmRlclRoZW1lTWFjOjptaW5pbXVtUHJvZ3Jlc3NCYXJIZWlnaHQoY29u
c3QgUmVuZGVyU3R5bGUmIHN0eWxlKSBjb25zdAogICAgIHJldHVybiBzaXplRm9yU3lzdGVtRm9u
dChzdHlsZSwgcHJvZ3Jlc3NCYXJTaXplcygpKS5oZWlnaHQoKTsKIH0KIAotZG91YmxlIFJlbmRl
clRoZW1lTWFjOjphbmltYXRpb25SZXBlYXRJbnRlcnZhbEZvclByb2dyZXNzQmFyKFJlbmRlclBy
b2dyZXNzJikgY29uc3QKK1NlY29uZHMgUmVuZGVyVGhlbWVNYWM6OmFuaW1hdGlvblJlcGVhdElu
dGVydmFsRm9yUHJvZ3Jlc3NCYXIoUmVuZGVyUHJvZ3Jlc3MmKSBjb25zdAogewogICAgIHJldHVy
biBwcm9ncmVzc0FuaW1hdGlvbkZyYW1lUmF0ZTsKIH0KIAogZG91YmxlIFJlbmRlclRoZW1lTWFj
OjphbmltYXRpb25EdXJhdGlvbkZvclByb2dyZXNzQmFyKFJlbmRlclByb2dyZXNzJikgY29uc3QK
IHsKLSAgICByZXR1cm4gcHJvZ3Jlc3NBbmltYXRpb25OdW1GcmFtZXMgKiBwcm9ncmVzc0FuaW1h
dGlvbkZyYW1lUmF0ZTsKKyAgICByZXR1cm4gcHJvZ3Jlc3NBbmltYXRpb25OdW1GcmFtZXMgKiBw
cm9ncmVzc0FuaW1hdGlvbkZyYW1lUmF0ZS52YWx1ZSgpOwogfQogCiB2b2lkIFJlbmRlclRoZW1l
TWFjOjphZGp1c3RQcm9ncmVzc0JhclN0eWxlKFN0eWxlUmVzb2x2ZXImLCBSZW5kZXJTdHlsZSYs
IGNvbnN0IEVsZW1lbnQqKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVwbGF5
L0V2ZW50TG9vcElucHV0RGlzcGF0Y2hlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvRXZl
bnRMb29wSW5wdXREaXNwYXRjaGVyLmNwcAppbmRleCA1MTAyOTNmYzE2YzY0YWM5YjVmYjUxZTdi
OThkMDkwZDhiNTEzNjY3Li45ZTI3ODZkNThhMGY2NWM4YmVjNDVhOTczY2FlYTQ2YTJmNTA5M2Ey
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvRXZlbnRMb29wSW5wdXREaXNwYXRj
aGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvRXZlbnRMb29wSW5wdXREaXNwYXRj
aGVyLmNwcApAQCAtMTE4LDcgKzExOCw3IEBAIHZvaWQgRXZlbnRMb29wSW5wdXREaXNwYXRjaGVy
OjpkaXNwYXRjaElucHV0U29vbigpCiAgICAgfQogCiAgICAgTE9HKFdlYlJlcGxheSwgIiUtMjBz
IChXQUlUOiAlLjNmIG1zKSIsICJSZXBsYXlFdmVudHMiLCB3YWl0SW50ZXJ2YWwgKiAxMDAwLjAp
OwotICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KHdhaXRJbnRlcnZhbCk7CisgICAgbV90aW1lci5z
dGFydE9uZVNob3QoMV9zICogd2FpdEludGVydmFsKTsKIH0KIAogdm9pZCBFdmVudExvb3BJbnB1
dERpc3BhdGNoZXI6OmRpc3BhdGNoSW5wdXQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
c3ZnL2FuaW1hdGlvbi9TTUlMVGltZUNvbnRhaW5lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcv
YW5pbWF0aW9uL1NNSUxUaW1lQ29udGFpbmVyLmNwcAppbmRleCAxMjViNDNiNGNlZmUyYjJlZmIy
ZmMwZjVlYmZhNTQxZTI3YTE4NDBkLi40NWNhZjlmNGNjNTM1ZjdjZmQ3OWQ1ZDE0YjhmMGI3ODY4
NjU0ZjU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvYW5pbWF0aW9uL1NNSUxUaW1l
Q29udGFpbmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvYW5pbWF0aW9uL1NNSUxUaW1l
Q29udGFpbmVyLmNwcApAQCAtMzUsOCArMzUsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
LXN0YXRpYyBjb25zdCBTZWNvbmRzIFNNSUxBbmltYXRpb25GcmFtZURlbGF5IHsgMS4wIC8gNjAg
fTsKLXN0YXRpYyBjb25zdCBTZWNvbmRzIFNNSUxBbmltYXRpb25GcmFtZVRocm90dGxlZERlbGF5
IHsgMS4wIC8gMzAgfTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIFNNSUxBbmltYXRpb25GcmFtZURl
bGF5IHsgMV9zIC8gNjAuIH07CitzdGF0aWMgY29uc3QgU2Vjb25kcyBTTUlMQW5pbWF0aW9uRnJh
bWVUaHJvdHRsZWREZWxheSB7IDFfcyAvIDMwLiB9OwogCiBTTUlMVGltZUNvbnRhaW5lcjo6U01J
TFRpbWVDb250YWluZXIoU1ZHU1ZHRWxlbWVudCYgb3duZXIpCiAgICAgOiBtX2JlZ2luVGltZSgw
KQpAQCAtMjE2LDcgKzIxNiw3IEBAIHZvaWQgU01JTFRpbWVDb250YWluZXI6OnN0YXJ0VGltZXIo
U01JTFRpbWUgZWxhcHNlZCwgU01JTFRpbWUgZmlyZVRpbWUsIFNNSUxUaW1lCiAgICAgICAgIHJl
dHVybjsKIAogICAgIFNNSUxUaW1lIGRlbGF5ID0gc3RkOjptYXgoZmlyZVRpbWUgLSBlbGFwc2Vk
LCBtaW5pbXVtRGVsYXkpOwotICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KGRlbGF5LnZhbHVlKCkp
OworICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDFfcyAqIGRlbGF5LnZhbHVlKCkpOwogfQogCiB2
b2lkIFNNSUxUaW1lQ29udGFpbmVyOjp0aW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwCmluZGV4IGU5ZWE0Y2IwNDgwOWRhYWM1NDk1YThhMjdm
NTA2NTYxOGRmODY5MzEuLjdhY2Y1MDU5MzFlMjAyMmNmNmQ2MjRkZWFjOWMwNWEzZWJkNjY4NzIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcApAQCAtNTcw
LDcgKzU3MCw3IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IEludGVybmFsU2V0dGluZ3M6OnNldFRpbWVX
aXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyCiB7CiAgICAgaWYgKCFtX3BhZ2Up
CiAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJTlZBTElEX0FDQ0VTU19FUlIgfTsKLSAgICBz
ZXR0aW5ncygpLnNldFRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xz
KHRpbWUpOworICAgIHNldHRpbmdzKCkuc2V0VGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3Jl
SGlkaW5nQ29udHJvbHMoU2Vjb25kcyB7IHRpbWUgfSk7CiAgICAgcmV0dXJuIHsgfTsKIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmggYi9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaAppbmRleCAyMGE3MzYzOWI1
MGM3MjBkMzdmNTUyM2RhMmY1N2I0ZDYwNmQ2YWM2Li4xOWU1YmRlMTViZDVkMjQzYjNlY2IxZGM4
MWQzZGJkZjEzMTUxNWVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFsU2V0dGluZ3MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGlu
Z3MuaApAQCAtMTU5LDcgKzE1OSw3IEBAIHByaXZhdGU6CiAjZW5kaWYKICAgICAgICAgU3RyaW5n
IG1fZGVmYXVsdFZpZGVvUG9zdGVyVVJMOwogICAgICAgICBib29sIG1fZm9yY2VQZW5kaW5nV2Vi
R0xQb2xpY3k7Ci0gICAgICAgIGJvb2wgbV9vcmlnaW5hbFRpbWVXaXRob3V0TW91c2VNb3ZlbWVu
dEJlZm9yZUhpZGluZ0NvbnRyb2xzOworICAgICAgICBTZWNvbmRzIG1fb3JpZ2luYWxUaW1lV2l0
aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9sczsKICAgICAgICAgYm9vbCBtX3Vz
ZUxlZ2FjeUJhY2tncm91bmRTaXplU2hvcnRoYW5kQmVoYXZpb3I7CiAgICAgICAgIGJvb2wgbV9h
dXRvc2Nyb2xsRm9yRHJhZ0FuZERyb3BFbmFibGVkOwogICAgICAgICBib29sIG1fcXVpY2tUaW1l
UGx1Z2luUmVwbGFjZW1lbnRFbmFibGVkOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9JbnRlcm5hbHMuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3Bw
CmluZGV4IDU1NWJmMTU4OWEwOGU3MDQwYjNiMzM3YTJjNjRkZDM0MmFjYjY1MDUuLmQ1OWU2ODc4
ZjVmNzhmMjQ0MGIwZDIzNjgyNWVmNTRjYTllZThjMWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFscy5jcHAKQEAgLTcyOSw3ICs3MjksNyBAQCB2b2lkIEludGVybmFsczo6c2V0SW1hZ2VG
cmFtZURlY29kaW5nRHVyYXRpb24oSFRNTEltYWdlRWxlbWVudCYgZWxlbWVudCwgZmxvYXQgZAog
ICAgIGlmICghaXM8Qml0bWFwSW1hZ2U+KGltYWdlKSkKICAgICAgICAgcmV0dXJuOwogICAgIAot
ICAgIGRvd25jYXN0PEJpdG1hcEltYWdlPigqaW1hZ2UpLnNldEZyYW1lRGVjb2RpbmdEdXJhdGlv
bkZvclRlc3RpbmcoZHVyYXRpb24pOworICAgIGRvd25jYXN0PEJpdG1hcEltYWdlPigqaW1hZ2Up
LnNldEZyYW1lRGVjb2RpbmdEdXJhdGlvbkZvclRlc3RpbmcoU2Vjb25kcyB7IGR1cmF0aW9uIH0p
OwogfQogCiB2b2lkIEludGVybmFsczo6cmVzZXRJbWFnZUFuaW1hdGlvbihIVE1MSW1hZ2VFbGVt
ZW50JiBlbGVtZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1
ZXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5jcHAKaW5kZXggOWRl
ZjkzN2M1MjFiYjE5OTg1MGExMjhiNDFmNTRjMWM1NzNhMTc0OC4uMTMwNjEwOGM4NGEzYjkzMzRm
M2Q5MjdhYTViZjRmOTM1NDU4NTE0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hN
TEh0dHBSZXF1ZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3Qu
Y3BwCkBAIC03MzgsNyArNzM4LDcgQEAgRXhjZXB0aW9uT3I8dm9pZD4gWE1MSHR0cFJlcXVlc3Q6
OmNyZWF0ZVJlcXVlc3QoKQogICAgICAgICBlbHNlIHsKICAgICAgICAgICAgIHJlcXVlc3Quc2V0
VGltZW91dEludGVydmFsKHN0ZDo6bnVtZXJpY19saW1pdHM8ZG91YmxlPjo6aW5maW5pdHkoKSk7
CiAgICAgICAgICAgICBtX3NlbmRpbmdUaW1lID0gTW9ub3RvbmljVGltZTo6bm93KCk7Ci0gICAg
ICAgICAgICBtX3RpbWVvdXRUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcyB7IG1fdGltZW91dE1p
bGxpc2Vjb25kcyAvIDEwMDAuIH0pOworICAgICAgICAgICAgbV90aW1lb3V0VGltZXIuc3RhcnRP
bmVTaG90KDFfbXMgKiBtX3RpbWVvdXRNaWxsaXNlY29uZHMpOwogICAgICAgICB9CiAgICAgfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2UvU3RvcmFnZUFyZWFTeW5jLmNwcCBi
L1NvdXJjZS9XZWJLaXQvU3RvcmFnZS9TdG9yYWdlQXJlYVN5bmMuY3BwCmluZGV4IGFjMGRjYzEy
NTY5NGRhZDRjNGI5MjI4N2EwMzFlZmEwOTM1NGVhMTkuLmJhMTVlNGE0ZGEwYmMyMzA5ZjllMmYx
NzYxNDFiZjZhNjEzZDAzMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU3RvcmFnZS9TdG9y
YWdlQXJlYVN5bmMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU3RvcmFnZS9TdG9yYWdlQXJlYVN5
bmMuY3BwCkBAIC00MSw3ICs0MSw3IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogCiAvLyBJZiB0aGUg
U3RvcmFnZUFyZWEgdW5kZXJnb2VzIHJhcGlkIGNoYW5nZXMsIGRvbid0IHN5bmMgZWFjaCBjaGFu
Z2UgdG8gZGlzay4KIC8vIEluc3RlYWQsIHF1ZXVlIHVwIGEgYmF0Y2ggb2YgaXRlbXMgdG8gc3lu
YyBhbmQgYWN0dWFsbHkgZG8gdGhlIHN5bmMgYXQgdGhlIGZvbGxvd2luZyBpbnRlcnZhbC4KLXN0
YXRpYyBjb25zdCBkb3VibGUgU3RvcmFnZVN5bmNJbnRlcnZhbCA9IDEuMDsKK3N0YXRpYyBjb25z
dCBTZWNvbmRzIFN0b3JhZ2VTeW5jSW50ZXJ2YWwgeyAxX3MgfTsKIAogLy8gQSBzYW5lIGxpbWl0
IG9uIGhvdyBtYW55IGl0ZW1zIHdlJ2xsIHNjaGVkdWxlIHRvIHN5bmMgYWxsIGF0IG9uY2UuICBU
aGlzIG1ha2VzIGl0CiAvLyBtdWNoIGhhcmRlciB0byBzdGFydmUgdGhlIHJlc3Qgb2YgTG9jYWxT
dG9yYWdlIGFuZCB0aGUgT1MncyBJTyBzdWJzeXN0ZW0gaW4gZ2VuZXJhbC4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvU3RvcmFnZS9TdG9yYWdlVHJhY2tlci5jcHAgYi9Tb3VyY2UvV2ViS2l0
L1N0b3JhZ2UvU3RvcmFnZVRyYWNrZXIuY3BwCmluZGV4IDU5YTAwZmUzMGE5NjNmNTgxM2Q4YjBk
ZGEwNGRiNjA4MWE2NjIzYmQuLjdjNTc2YWI2OGRiMmY0ZmM1MTk0MWNlZjc1OTdiZGE1NDEyYWZk
MjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU3RvcmFnZS9TdG9yYWdlVHJhY2tlci5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9TdG9yYWdlL1N0b3JhZ2VUcmFja2VyLmNwcApAQCAtNTIsNyAr
NTIsNyBAQCBzdGF0aWMgU3RvcmFnZVRyYWNrZXIqIHN0b3JhZ2VUcmFja2VyID0gbnVsbHB0cjsK
IAogLy8gSWYgdGhlcmUgaXMgbm8gZG9jdW1lbnQgcmVmZXJlbmNpbmcgYSBzdG9yYWdlIGRhdGFi
YXNlLCBjbG9zZSB0aGUgdW5kZXJseWluZyBkYXRhYmFzZQogLy8gYWZ0ZXIgaXQgaGFzIGJlZW4g
aWRsZSBmb3IgbV9TdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwgc2Vjb25kcy4KLXN0YXRpYyBj
b25zdCBkb3VibGUgRGVmYXVsdFN0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbCA9IDMwMDsKK3N0
YXRpYyBjb25zdCBTZWNvbmRzIGRlZmF1bHRTdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwgeyAz
MDBfcyB9OwogICAgIAogdm9pZCBTdG9yYWdlVHJhY2tlcjo6aW5pdGlhbGl6ZVRyYWNrZXIoY29u
c3QgU3RyaW5nJiBzdG9yYWdlUGF0aCwgU3RvcmFnZVRyYWNrZXJDbGllbnQqIGNsaWVudCkKIHsK
QEAgLTk3LDcgKzk3LDcgQEAgU3RvcmFnZVRyYWNrZXI6OlN0b3JhZ2VUcmFja2VyKGNvbnN0IFN0
cmluZyYgc3RvcmFnZVBhdGgpCiAgICAgLCBtX3RocmVhZChzdGQ6Om1ha2VfdW5pcXVlPFN0b3Jh
Z2VUaHJlYWQ+KCkpCiAgICAgLCBtX2lzQWN0aXZlKGZhbHNlKQogICAgICwgbV9uZWVkc0luaXRp
YWxpemF0aW9uKGZhbHNlKQotICAgICwgbV9TdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwoRGVm
YXVsdFN0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbCkKKyAgICAsIG1fU3RvcmFnZURhdGFiYXNl
SWRsZUludGVydmFsKGRlZmF1bHRTdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwpCiB7CiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU3RvcmFnZS9TdG9yYWdlVHJhY2tlci5oIGIvU291
cmNlL1dlYktpdC9TdG9yYWdlL1N0b3JhZ2VUcmFja2VyLmgKaW5kZXggNTVkNWIwZDIyZTlhMzlm
OWI4YzA4OTM3ZjU5NGU4ZmEzYmRhY2E4OC4uZTFlZDZiOTM2YjZmNzdkYzBkMTgxOGE2NWE0Yjcx
MzA4NGM5MDY3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TdG9yYWdlL1N0b3JhZ2VUcmFj
a2VyLmgKKysrIGIvU291cmNlL1dlYktpdC9TdG9yYWdlL1N0b3JhZ2VUcmFja2VyLmgKQEAgLTU5
LDggKzU5LDggQEAgcHVibGljOgogICAgIAogICAgIGJvb2wgaXNBY3RpdmUoKTsKIAotICAgIGRv
dWJsZSBzdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwoKSB7IHJldHVybiBtX1N0b3JhZ2VEYXRh
YmFzZUlkbGVJbnRlcnZhbDsgfQotICAgIHZvaWQgc2V0U3RvcmFnZURhdGFiYXNlSWRsZUludGVy
dmFsKGRvdWJsZSBpbnRlcnZhbCkgeyBtX1N0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbCA9IGlu
dGVydmFsOyB9CisgICAgU2Vjb25kcyBzdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwoKSB7IHJl
dHVybiBtX1N0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbDsgfQorICAgIHZvaWQgc2V0U3RvcmFn
ZURhdGFiYXNlSWRsZUludGVydmFsKFNlY29uZHMgaW50ZXJ2YWwpIHsgbV9TdG9yYWdlRGF0YWJh
c2VJZGxlSW50ZXJ2YWwgPSBpbnRlcnZhbDsgfQogCiAgICAgdm9pZCBzeW5jRmlsZVN5c3RlbUFu
ZFRyYWNrZXJEYXRhYmFzZSgpOwogCkBAIC0xMTAsNyArMTEwLDcgQEAgcHJpdmF0ZToKICAgICAK
ICAgICBib29sIG1faXNBY3RpdmU7CiAgICAgYm9vbCBtX25lZWRzSW5pdGlhbGl6YXRpb247Ci0g
ICAgZG91YmxlIG1fU3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsOworICAgIFNlY29uZHMgbV9T
dG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWw7CiB9OwogICAgIAogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBs
dWdpblZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2lu
Vmlldy5tbQppbmRleCAwODdmY2ZiYzAxYjg2YzBmMTkxYWRjMDQzNWFhMDQ4NTVjN2Y3MTBiLi4w
MTkzZTQwZmU2ZGUxNjNmNjAxYzA4MjVkZjg0M2YzZWI4Mjk1NGZiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luVmlldy5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luVmlldy5tbQpAQCAtMTExLDcg
KzExMSw3IEBAIHN0YXRpYyBXZWJOZXRzY2FwZVBsdWdpblZpZXcgKmN1cnJlbnRQbHVnaW5WaWV3
ID0gbmlsOwogCiB0eXBlZGVmIHN0cnVjdCBPcGFxdWVQb3J0U3RhdGUqIFBvcnRTdGF0ZTsKIAot
c3RhdGljIGNvbnN0IGRvdWJsZSBUaHJvdHRsZWRUaW1lckludGVydmFsID0gMC4yNTsKK3N0YXRp
YyBjb25zdCBTZWNvbmRzIHRocm90dGxlZFRpbWVySW50ZXJ2YWwgeyAyNTBfbXMgfTsKIAogY2xh
c3MgUGx1Z2luVGltZXIgOiBwdWJsaWMgVGltZXJCYXNlIHsKIHB1YmxpYzoKQEAgLTEzMCwxMCAr
MTMwLDEwIEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIEFTU0VSVCghaXNBY3RpdmUoKSk7CiAK
LSAgICAgICAgZG91YmxlIHRpbWVJbnRlcnZhbCA9IG1faW50ZXJ2YWwgLyAxMDAwLjA7CisgICAg
ICAgIFNlY29uZHMgdGltZUludGVydmFsID0gMV9tcyAqIG1faW50ZXJ2YWw7CiAgICAgICAgIAog
ICAgICAgICBpZiAodGhyb3R0bGUpCi0gICAgICAgICAgICB0aW1lSW50ZXJ2YWwgPSBzdGQ6Om1h
eCh0aW1lSW50ZXJ2YWwsIFRocm90dGxlZFRpbWVySW50ZXJ2YWwpOworICAgICAgICAgICAgdGlt
ZUludGVydmFsID0gc3RkOjptYXgodGltZUludGVydmFsLCB0aHJvdHRsZWRUaW1lckludGVydmFs
KTsKICAgICAgICAgCiAgICAgICAgIGlmIChtX3JlcGVhdCkKICAgICAgICAgICAgIHN0YXJ0UmVw
ZWF0aW5nKFNlY29uZHMgeyB0aW1lSW50ZXJ2YWwgfSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L21hYy9TdG9yYWdlL1dlYlN0b3JhZ2VNYW5hZ2VyLm1tIGIvU291cmNlL1dlYktpdC9tYWMv
U3RvcmFnZS9XZWJTdG9yYWdlTWFuYWdlci5tbQppbmRleCAzNzA0ZjdlZGQzNTg0ZmYxOGQ3NmE2
NmE5ZjAyMzM4ODU0ZGM3ZjY5Li44MWJhMWU2ZGRmYjBkMDg5OGM3MDcyZTFkNjgxMzRlNDcyYTU3
ODJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9TdG9yYWdlL1dlYlN0b3JhZ2VNYW5h
Z2VyLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1N0b3JhZ2UvV2ViU3RvcmFnZU1hbmFnZXIu
bW0KQEAgLTExNyw3ICsxMTcsNyBAQCArIChOU1N0cmluZyAqKV9zdG9yYWdlRGlyZWN0b3J5UGF0
aAogCiArICh2b2lkKXNldFN0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbDooZG91YmxlKWludGVy
dmFsCiB7Ci0gICAgV2ViS2l0OjpTdG9yYWdlVHJhY2tlcjo6dHJhY2tlcigpLnNldFN0b3JhZ2VE
YXRhYmFzZUlkbGVJbnRlcnZhbChpbnRlcnZhbCk7CisgICAgV2ViS2l0OjpTdG9yYWdlVHJhY2tl
cjo6dHJhY2tlcigpLnNldFN0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbCgxX3MgKiBpbnRlcnZh
bCk7CiB9CiAKICsgKHZvaWQpY2xvc2VJZGxlTG9jYWxTdG9yYWdlRGF0YWJhc2VzCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpbk1lc3NhZ2VUaHJvdHRsZXJXaW4u
Y3BwIGIvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5NZXNzYWdlVGhyb3R0bGVyV2lu
LmNwcAppbmRleCBhNTNjMzE1YzIwMTg0Mzk0ZjNiNDA2NGEzZjU0NDc1NzNlZDJjZjA5Li40MzMx
YWZhZjE5ZDMxYjIxNDgwN2U5ZTNmYTcyZTgzODA3YjliMTJkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpbk1lc3NhZ2VUaHJvdHRsZXJXaW4uY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luTWVzc2FnZVRocm90dGxlcldpbi5jcHAKQEAg
LTM5LDcgKzM5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogLy8gVGhpcyB2YWx1ZSBhbGxvd3Mg
Rmxhc2ggNjAgbWVzc2FnZXMvc2Vjb25kLCB3aGljaCBzaG91bGQgYmUgZW5vdWdoIGZvciB2aWRl
bwogLy8gcGxheWJhY2ssIGFuZCBhbHNvIGdldHMgdXMgb3ZlciB0aGUgbGltaXQgZm9yIGtpY2tp
bmcgaW50byBoaWdoLXJlc29sdXRpb24KIC8vIHRpbWVyIG1vZGUgKHNlZSBTaGFyZWRUaW1lcldp
bi5jcHApLgotc3RhdGljIGNvbnN0IGRvdWJsZSBNZXNzYWdlVGhyb3R0bGVUaW1lSW50ZXJ2YWwg
PSAwLjAxNjsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIG1lc3NhZ2VUaHJvdHRsZVRpbWVJbnRlcnZh
bCB7IDE2X21zIH07CiAKIC8vIER1cmluZyBhIGNvbnRpbnVvdXMgc3RyZWFtIG9mIG1lc3NhZ2Vz
LCBwcm9jZXNzIG9uZSBldmVyeSA1bXMuCiBzdGF0aWMgY29uc3QgZG91YmxlIE1lc3NhZ2VEaXJl
Y3RQcm9jZXNzaW5nSW50ZXJ2YWwgPSAwLjAwNTsKQEAgLTk1LDcgKzk1LDcgQEAgdm9pZCBQbHVn
aW5NZXNzYWdlVGhyb3R0bGVyV2luOjphcHBlbmRNZXNzYWdlKEhXTkQgaFduZCwgVUlOVCBtc2cs
IFdQQVJBTSB3UGFyYW0KICAgICB9CiAKICAgICBpZiAoIW1fbWVzc2FnZVRocm90dGxlVGltZXIu
aXNBY3RpdmUoKSkKLSAgICAgICAgbV9tZXNzYWdlVGhyb3R0bGVUaW1lci5zdGFydE9uZVNob3Qo
TWVzc2FnZVRocm90dGxlVGltZUludGVydmFsKTsKKyAgICAgICAgbV9tZXNzYWdlVGhyb3R0bGVU
aW1lci5zdGFydE9uZVNob3QobWVzc2FnZVRocm90dGxlVGltZUludGVydmFsKTsKIH0KIAogdm9p
ZCBQbHVnaW5NZXNzYWdlVGhyb3R0bGVyV2luOjpwcm9jZXNzUXVldWVkTWVzc2FnZSgpCkBAIC0x
MTgsNyArMTE4LDcgQEAgdm9pZCBQbHVnaW5NZXNzYWdlVGhyb3R0bGVyV2luOjptZXNzYWdlVGhy
b3R0bGVUaW1lckZpcmVkKCkKICAgICBwcm9jZXNzUXVldWVkTWVzc2FnZSgpOwogCiAgICAgaWYg
KG1fZnJvbnQpCi0gICAgICAgIG1fbWVzc2FnZVRocm90dGxlVGltZXIuc3RhcnRPbmVTaG90KE1l
c3NhZ2VUaHJvdHRsZVRpbWVJbnRlcnZhbCk7CisgICAgICAgIG1fbWVzc2FnZVRocm90dGxlVGlt
ZXIuc3RhcnRPbmVTaG90KG1lc3NhZ2VUaHJvdHRsZVRpbWVJbnRlcnZhbCk7CiB9CiAKIFBsdWdp
bk1lc3NhZ2UqIFBsdWdpbk1lc3NhZ2VUaHJvdHRsZXJXaW46OmFsbG9jYXRlTWVzc2FnZSgpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpblZpZXdXaW4uY3BwIGIv
U291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5WaWV3V2luLmNwcAppbmRleCA3NWNiNzdm
MWYzZDRkYTNjMWQ2Njc3ZjE3OWI0MjJlZmQzMjAwMzc0Li4yNGZiMTNlZDMxMzVhNTdiNTg0ZDA1
MGQyOTBkNTI4NTgwNjUwMDc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5z
L1BsdWdpblZpZXdXaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2lu
Vmlld1dpbi5jcHAKQEAgLTgzOSw3ICs4MzksNyBAQCB2b2lkIFBsdWdpblZpZXc6OmludmFsaWRh
dGVSZWN0KE5QUmVjdCogcmVjdCkKICAgICAgICAgaWYgKG1fcGx1Z2luLT5xdWlya3MoKS5jb250
YWlucyhQbHVnaW5RdWlya1Rocm90dGxlSW52YWxpZGF0ZSkpIHsKICAgICAgICAgICAgIG1faW52
YWxpZFJlY3RzLmFwcGVuZChyKTsKICAgICAgICAgICAgIGlmICghbV9pbnZhbGlkYXRlVGltZXIu
aXNBY3RpdmUoKSkKLSAgICAgICAgICAgICAgICBtX2ludmFsaWRhdGVUaW1lci5zdGFydE9uZVNo
b3QoMC4wMDEpOworICAgICAgICAgICAgICAgIG1faW52YWxpZGF0ZVRpbWVyLnN0YXJ0T25lU2hv
dCgxX21zKTsKICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICBpbnZhbGlkYXRlUmVjdChyKTsK
ICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9BY2Nl
bGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3Jl
U3VwcG9ydC9BY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dC5jcHAKaW5kZXggZmMwZDE1NTcw
ZmVhZWM5ZGIzODY5NzA4YjVhYjdjN2E0YWQyMjI4Mi4uNWUxNmUyMGYxOWMxMmJmNTViMGZkZjg5
ODFkNzA5MzgwOGM4NGVhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1
cHBvcnQvQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvd2luL1dlYkNvcmVTdXBwb3J0L0FjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0LmNwcApA
QCAtMzQ5LDcgKzM0OSw3IEBAIHZvaWQgQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQ6OnNj
aGVkdWxlTGF5ZXJGbHVzaCgpCiAgICAgaWYgKG1fbGF5ZXJGbHVzaFRpbWVyLmlzQWN0aXZlKCkp
CiAgICAgICAgIHJldHVybjsKIAotICAgIG1fbGF5ZXJGbHVzaFRpbWVyLnN0YXJ0T25lU2hvdCgw
LjA1KTsKKyAgICBtX2xheWVyRmx1c2hUaW1lci5zdGFydE9uZVNob3QoNTBfbXMpOwogfQogCiBi
b29sIEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0OjpmbHVzaFBlbmRpbmdMYXllckNoYW5n
ZXMoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvUGluZ0xvYWQu
aCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL1BpbmdMb2FkLmgKaW5kZXggZjAxNDRk
Njg4ZGY2M2U5NWQ0NDY5NDg2YzU2Yzg2NmQ4ODliN2E2MS4uMzliZTA2ZDNlMWJjNDRmZTIxYTY5
NjQwY2RhNDllNGQ4MjY1YWRmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1By
b2Nlc3MvUGluZ0xvYWQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9QaW5n
TG9hZC5oCkBAIC00Niw3ICs0Niw3IEBAIHB1YmxpYzoKIAogICAgICAgICAvLyBJZiB0aGUgc2Vy
dmVyIG5ldmVyIHJlc3BvbmRzLCB0aGlzIG9iamVjdCB3aWxsIGhhbmcgYXJvdW5kIGZvcmV2ZXIu
CiAgICAgICAgIC8vIFNldCBhIHZlcnkgZ2VuZXJvdXMgdGltZW91dCwganVzdCBpbiBjYXNlLgot
ICAgICAgICBtX3RpbWVvdXRUaW1lci5zdGFydE9uZVNob3QoNjAwMDApOworICAgICAgICBtX3Rp
bWVvdXRUaW1lci5zdGFydE9uZVNob3QoNjAwMDBfcyk7CiAgICAgfQogICAgIAogcHJpdmF0ZToK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL3NvdXAvTmV0d29ya0Rh
dGFUYXNrU291cC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9zb3VwL05ldHdv
cmtEYXRhVGFza1NvdXAuY3BwCmluZGV4IDVmZjliNzg0MDllYjgwNjk2NTkxYzkyOWJlOGM3NTkw
NTRiM2U2ZGEuLjkwYmUyM2RmMzkwM2NjZmZlNjJmZWY2ZDY1NWYyYWFkMTIxZjMxN2IgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL3NvdXAvTmV0d29ya0RhdGFUYXNr
U291cC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mvc291cC9OZXR3b3Jr
RGF0YVRhc2tTb3VwLmNwcApAQCAtMjkxLDcgKzI5MSw3IEBAIHZvaWQgTmV0d29ya0RhdGFUYXNr
U291cDo6dGltZW91dEZpcmVkKCkKIHZvaWQgTmV0d29ya0RhdGFUYXNrU291cDo6c3RhcnRUaW1l
b3V0KCkKIHsKICAgICBpZiAobV9maXJzdFJlcXVlc3QudGltZW91dEludGVydmFsKCkgPiAwKQot
ICAgICAgICBtX3RpbWVvdXRTb3VyY2Uuc3RhcnRPbmVTaG90KG1fZmlyc3RSZXF1ZXN0LnRpbWVv
dXRJbnRlcnZhbCgpKTsKKyAgICAgICAgbV90aW1lb3V0U291cmNlLnN0YXJ0T25lU2hvdCgxX3Mg
KiBtX2ZpcnN0UmVxdWVzdC50aW1lb3V0SW50ZXJ2YWwoKSk7CiB9CiAKIHZvaWQgTmV0d29ya0Rh
dGFUYXNrU291cDo6c3RvcFRpbWVvdXQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGxh
dGZvcm0vSVBDL0Nvbm5lY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9Db25u
ZWN0aW9uLmgKaW5kZXggY2IwMGIyZGMyYTZkMDIzODRjZTM1YjNjMTVjZDMwYWZkZjRhNmM2Yi4u
ZmNlMWU2M2JjMjlmY2JiMmVlM2JlNzIwNjFmODM2YWI3M2ZmNzg5ZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9QbGF0Zm9ybS9JUEMvQ29ubmVjdGlvbi5oCkBAIC0xODksNyArMTg5LDcgQEAgcHVibGljOgog
CiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgYm9vbCBraWxsKCk7Ci0gICAgdm9pZCB0ZXJtaW5h
dGVTb29uKGRvdWJsZSBpbnRlcnZhbEluU2Vjb25kcyk7CisgICAgdm9pZCB0ZXJtaW5hdGVTb29u
KFNlY29uZHMpOwogI2VuZGlmCiAKICAgICBib29sIGlzVmFsaWQoKSBjb25zdCB7IHJldHVybiBt
X2lzVmFsaWQ7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9tYWMv
Q29ubmVjdGlvbk1hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9tYWMvQ29ubmVj
dGlvbk1hYy5tbQppbmRleCA1ZTY1YmYzNTYwMjU4YjMyYjYwZTA0NWE4NzEyNTE5NTc4NDFmZTgx
Li5lNmFiOWRkMzMzY2Q1NGVjMGQzZTdiYzBlYmE0YTUwYWFmYzM2NzIyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvbWFjL0Nvbm5lY3Rpb25NYWMubW0KKysrIGIvU291
cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL21hYy9Db25uZWN0aW9uTWFjLm1tCkBAIC04MiwyMCAr
ODIsMjAgQEAgZW51bSB7CiAvLyAgICB0byBlbnN1cmUgaXQgaGFzIGEgY2hhbmNlIHRvIHRlcm1p
bmF0ZSBjbGVhbmx5LgogY2xhc3MgQ29ubmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hkb2cgewogcHVi
bGljOgotICAgIHN0YXRpYyB2b2lkIGNyZWF0ZUNvbm5lY3Rpb25UZXJtaW5hdGlvbldhdGNoZG9n
KE9TT2JqZWN0UHRyPHhwY19jb25uZWN0aW9uX3Q+JiB4cGNDb25uZWN0aW9uLCBkb3VibGUgaW50
ZXJ2YWxJblNlY29uZHMpCisgICAgc3RhdGljIHZvaWQgY3JlYXRlQ29ubmVjdGlvblRlcm1pbmF0
aW9uV2F0Y2hkb2coT1NPYmplY3RQdHI8eHBjX2Nvbm5lY3Rpb25fdD4mIHhwY0Nvbm5lY3Rpb24s
IFNlY29uZHMgaW50ZXJ2YWwpCiAgICAgewotICAgICAgICBuZXcgQ29ubmVjdGlvblRlcm1pbmF0
aW9uV2F0Y2hkb2coeHBjQ29ubmVjdGlvbiwgaW50ZXJ2YWxJblNlY29uZHMpOworICAgICAgICBu
ZXcgQ29ubmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hkb2coeHBjQ29ubmVjdGlvbiwgaW50ZXJ2YWwp
OwogICAgIH0KICAgICAKIHByaXZhdGU6Ci0gICAgQ29ubmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hk
b2coT1NPYmplY3RQdHI8eHBjX2Nvbm5lY3Rpb25fdD4mIHhwY0Nvbm5lY3Rpb24sIGRvdWJsZSBp
bnRlcnZhbEluU2Vjb25kcykKKyAgICBDb25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZyhPU09i
amVjdFB0cjx4cGNfY29ubmVjdGlvbl90PiYgeHBjQ29ubmVjdGlvbiwgU2Vjb25kcyBpbnRlcnZh
bCkKICAgICAgICAgOiBtX3hwY0Nvbm5lY3Rpb24oeHBjQ29ubmVjdGlvbikKICAgICAgICAgLCBt
X3dhdGNoZG9nVGltZXIoUnVuTG9vcDo6bWFpbigpLCB0aGlzLCAmQ29ubmVjdGlvblRlcm1pbmF0
aW9uV2F0Y2hkb2c6OndhdGNoZG9nVGltZXJGaXJlZCkKICNpZiBQTEFURk9STShJT1MpCiAgICAg
ICAgICwgbV9hc3NlcnRpb24oc3RkOjptYWtlX3VuaXF1ZTxXZWJLaXQ6OlByb2Nlc3NBbmRVSUFz
c2VydGlvbj4oeHBjX2Nvbm5lY3Rpb25fZ2V0X3BpZChtX3hwY0Nvbm5lY3Rpb24uZ2V0KCkpLCBX
ZWJLaXQ6OkFzc2VydGlvblN0YXRlOjpCYWNrZ3JvdW5kKSkKICNlbmRpZgogICAgIHsKLSAgICAg
ICAgbV93YXRjaGRvZ1RpbWVyLnN0YXJ0T25lU2hvdChpbnRlcnZhbEluU2Vjb25kcyk7CisgICAg
ICAgIG1fd2F0Y2hkb2dUaW1lci5zdGFydE9uZVNob3QoaW50ZXJ2YWwpOwogICAgIH0KICAgICAK
ICAgICB2b2lkIHdhdGNoZG9nVGltZXJGaXJlZCgpCkBAIC0xNTUsMTAgKzE1NSwxMCBAQCB2b2lk
IENvbm5lY3Rpb246OnBsYXRmb3JtSW52YWxpZGF0ZSgpCiAjZW5kaWYKIH0KICAgICAKLXZvaWQg
Q29ubmVjdGlvbjo6dGVybWluYXRlU29vbihkb3VibGUgaW50ZXJ2YWxJblNlY29uZHMpCit2b2lk
IENvbm5lY3Rpb246OnRlcm1pbmF0ZVNvb24oU2Vjb25kcyBpbnRlcnZhbCkKIHsKICAgICBpZiAo
bV94cGNDb25uZWN0aW9uKQotICAgICAgICBDb25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZzo6
Y3JlYXRlQ29ubmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hkb2cobV94cGNDb25uZWN0aW9uLCBpbnRl
cnZhbEluU2Vjb25kcyk7CisgICAgICAgIENvbm5lY3Rpb25UZXJtaW5hdGlvbldhdGNoZG9nOjpj
cmVhdGVDb25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZyhtX3hwY0Nvbm5lY3Rpb24sIGludGVy
dmFsKTsKIH0KICAgICAKIHZvaWQgQ29ubmVjdGlvbjo6cGxhdGZvcm1Jbml0aWFsaXplKElkZW50
aWZpZXIgaWRlbnRpZmllcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nl
c3MvUGx1Z2luUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdp
blByb2Nlc3MuY3BwCmluZGV4IDc1ODE1M2JkOWJiYzdkNTExNzI1Y2FhNjNlYzM1NzM1MmY1ZTZm
ZTAuLjk2OTliMDUzMzRjYmExYTlkOTAyMGYxODlhYzNiYjE4NGU0NDgwOTcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmNwcApAQCAtMjE2LDkgKzIx
Niw5IEBAIHZvaWQgUGx1Z2luUHJvY2Vzczo6ZGVsZXRlV2Vic2l0ZURhdGFGb3JIb3N0TmFtZXMo
Y29uc3QgVmVjdG9yPFN0cmluZz4mIGhvc3ROYW1lCiAgICAgcGFyZW50UHJvY2Vzc0Nvbm5lY3Rp
b24oKS0+c2VuZChNZXNzYWdlczo6UGx1Z2luUHJvY2Vzc1Byb3h5OjpEaWREZWxldGVXZWJzaXRl
RGF0YUZvckhvc3ROYW1lcyhjYWxsYmFja0lEKSwgMCk7CiB9CiAKLXZvaWQgUGx1Z2luUHJvY2Vz
czo6c2V0TWluaW11bUxpZmV0aW1lKGRvdWJsZSBsaWZldGltZSkKK3ZvaWQgUGx1Z2luUHJvY2Vz
czo6c2V0TWluaW11bUxpZmV0aW1lKFNlY29uZHMgbGlmZXRpbWUpCiB7Ci0gICAgaWYgKGxpZmV0
aW1lIDw9IDAuMCkKKyAgICBpZiAobGlmZXRpbWUgPD0gMF9zKQogICAgICAgICByZXR1cm47CiAg
ICAgCiAgICAgZGlzYWJsZVRlcm1pbmF0aW9uKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQyL1BsdWdpblBy
b2Nlc3MvUGx1Z2luUHJvY2Vzcy5oCmluZGV4IDkyYzY3Nzc1MjZhZmEwZDBlOTBkNzdkNzZiZmFm
NTJlMTcyMzk4ZTcuLjI0NzlhNDM3NWQ3ZTM1MDcxNTYyNzY2Y2ZiZmI0YjRkMTlmM2FmZjIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5oCkBAIC0xMDEs
NyArMTAxLDcgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgcGxhdGZvcm1Jbml0aWFsaXplUGx1Z2lu
UHJvY2VzcyhQbHVnaW5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJiYpOwogICAgIAotICAgIHZv
aWQgc2V0TWluaW11bUxpZmV0aW1lKGRvdWJsZSk7CisgICAgdm9pZCBzZXRNaW5pbXVtTGlmZXRp
bWUoU2Vjb25kcyk7CiAgICAgdm9pZCBtaW5pbXVtTGlmZXRpbWVUaW1lckZpcmVkKCk7CiAgICAg
Ly8gT3VyIHdlYiBwcm9jZXNzIGNvbm5lY3Rpb25zLgogICAgIFZlY3RvcjxSZWZQdHI8V2ViUHJv
Y2Vzc0Nvbm5lY3Rpb24+PiBtX3dlYlByb2Nlc3NDb25uZWN0aW9uczsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdDIvU2hh
cmVkL0NoaWxkUHJvY2Vzcy5jcHAKaW5kZXggYmMxZjJkNmFiNmE2YWQyNjBmY2RjNjE0NWMxNjhj
YWZhNjJhZmY4Yi4uZjFhM2EzOGU4YmQ1ZGJlZDYyYTA1NDFkYzI4ZTJmMzJhZmM0ZDU3YiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0NoaWxkUHJvY2Vzcy5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvU2hhcmVkL0NoaWxkUHJvY2Vzcy5jcHAKQEAgLTMzLDggKzMzLDcgQEAKIG5h
bWVzcGFjZSBXZWJLaXQgewogCiBDaGlsZFByb2Nlc3M6OkNoaWxkUHJvY2VzcygpCi0gICAgOiBt
X3Rlcm1pbmF0aW9uVGltZW91dCgwKQotICAgICwgbV90ZXJtaW5hdGlvbkNvdW50ZXIoMCkKKyAg
ICA6IG1fdGVybWluYXRpb25Db3VudGVyKDApCiAgICAgLCBtX3Rlcm1pbmF0aW9uVGltZXIoUnVu
TG9vcDo6bWFpbigpLCB0aGlzLCAmQ2hpbGRQcm9jZXNzOjp0ZXJtaW5hdGlvblRpbWVyRmlyZWQp
CiAgICAgLCBtX3Byb2Nlc3NTdXBwcmVzc2lvbkRpc2FibGVkKCJQcm9jZXNzIFN1cHByZXNzaW9u
IERpc2FibGVkIGJ5IFVJUHJvY2VzcyIpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvQ2hpbGRQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ2hpbGRQcm9jZXNz
LmgKaW5kZXggOGJhMjRkZTQ1NjI2MDcwNmFhZjA0OWQ0ZDAxNzNjMmUwMTQ0YzcyOC4uNmZlNzJi
MTczZjBmNzAwNWVjNWQzMjE2Y2VkYzdjN2ViNWFmYjc5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvU2hhcmVkL0NoaWxkUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9D
aGlsZFByb2Nlc3MuaApAQCAtODEsNyArODEsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgZXhwbGljaXQg
Q2hpbGRQcm9jZXNzKCk7CiAgICAgdmlydHVhbCB+Q2hpbGRQcm9jZXNzKCk7CiAKLSAgICB2b2lk
IHNldFRlcm1pbmF0aW9uVGltZW91dChkb3VibGUgc2Vjb25kcykgeyBtX3Rlcm1pbmF0aW9uVGlt
ZW91dCA9IHNlY29uZHM7IH0KKyAgICB2b2lkIHNldFRlcm1pbmF0aW9uVGltZW91dChTZWNvbmRz
IHNlY29uZHMpIHsgbV90ZXJtaW5hdGlvblRpbWVvdXQgPSBzZWNvbmRzOyB9CiAKICAgICB2aXJ0
dWFsIHZvaWQgaW5pdGlhbGl6ZVByb2Nlc3MoY29uc3QgQ2hpbGRQcm9jZXNzSW5pdGlhbGl6YXRp
b25QYXJhbWV0ZXJzJik7CiAgICAgdmlydHVhbCB2b2lkIGluaXRpYWxpemVQcm9jZXNzTmFtZShj
b25zdCBDaGlsZFByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMmKTsKQEAgLTEyMCw3ICsx
MjAsNyBAQCBwcml2YXRlOgogCiAgICAgLy8gVGhlIHRpbWVvdXQsIGluIHNlY29uZHMsIGJlZm9y
ZSB0aGlzIHByb2Nlc3Mgd2lsbCBiZSB0ZXJtaW5hdGVkIGlmIHRlcm1pbmF0aW9uCiAgICAgLy8g
aGFzIGJlZW4gZW5hYmxlZC4gSWYgdGhlIHRpbWVvdXQgaXMgMCBzZWNvbmRzLCB0aGUgcHJvY2Vz
cyB3aWxsIGJlIHRlcm1pbmF0ZWQgaW1tZWRpYXRlbHkuCi0gICAgZG91YmxlIG1fdGVybWluYXRp
b25UaW1lb3V0OworICAgIFNlY29uZHMgbV90ZXJtaW5hdGlvblRpbWVvdXQ7CiAKICAgICAvLyBB
IHRlcm1pbmF0aW9uIGNvdW50ZXI7IHdoZW4gdGhlIGNvdW50ZXIgcmVhY2hlcyB6ZXJvLCB0aGUg
cHJvY2VzcyB3aWxsIGJlIHRlcm1pbmF0ZWQKICAgICAvLyBhZnRlciBhIGdpdmVuIHBlcmlvZCBv
ZiB0aW1lLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0Nvb3JkaW5hdGVkR3Jh
cGhpY3MvdGhyZWFkZWRjb21wb3NpdG9yL0NvbXBvc2l0aW5nUnVuTG9vcC5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy90aHJlYWRlZGNvbXBvc2l0b3IvQ29t
cG9zaXRpbmdSdW5Mb29wLmNwcAppbmRleCBhYWRkNmFiYjI2YTU2ZmE0NDc2YmFhNTdmZDFmZjkx
N2MzZGM2MTIwLi41NjE3YmJhZDAxMDdlZTRlZmZkMzdmMTgxZjJhZWVjYzJjM2ViOWY2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy90aHJlYWRl
ZGNvbXBvc2l0b3IvQ29tcG9zaXRpbmdSdW5Mb29wLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy90aHJlYWRlZGNvbXBvc2l0b3IvQ29tcG9zaXRpbmdS
dW5Mb29wLmNwcApAQCAtMTU0LDcgKzE1NCw3IEBAIHZvaWQgQ29tcG9zaXRpbmdSdW5Mb29wOjpz
dGFydFVwZGF0ZVRpbWVyKFVwZGF0ZVRpbWluZyB0aW1pbmcpCiAgICAgaWYgKHRpbWluZyA9PSBX
YWl0VW50aWxOZXh0RnJhbWUpCiAgICAgICAgIG5leHRVcGRhdGVUaW1lID0gc3RkOjptYXgoKDEg
LyB0YXJnZXRGUFMpIC0gKG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpIC0gbV9sYXN0VXBk
YXRlVGltZSksIDAuMCk7CiAKLSAgICBtX3VwZGF0ZVRpbWVyLnN0YXJ0T25lU2hvdChuZXh0VXBk
YXRlVGltZSk7CisgICAgbV91cGRhdGVUaW1lci5zdGFydE9uZVNob3QoMV9zICogbmV4dFVwZGF0
ZVRpbWUpOwogfQogCiB2b2lkIENvbXBvc2l0aW5nUnVuTG9vcDo6c3RvcFVwZGF0ZVRpbWVyKCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL1BsdWdpblByb2Nlc3ND
cmVhdGlvblBhcmFtZXRlcnMuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL1BsdWdp
blByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaAppbmRleCBhMTJhNDQ0NWJiMTZjYWFmNjkyNzNi
NjRhODYzMjEwOGU3ZDU0OWY0Li5iMWEzNGE0ZGYxZDJkODI1OThhY2E2Y2Y4NDU0ZWI0ZmExY2Rl
NmYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9QbHVnaW5Qcm9j
ZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1BsdWdp
bnMvUGx1Z2luUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCkBAIC0zMCw2ICszMCw3IEBACiAK
ICNpbmNsdWRlICJBdHRhY2htZW50LmgiCiAjaW5jbHVkZSAiUGx1Z2luUHJvY2Vzc0F0dHJpYnV0
ZXMuaCIKKyNpbmNsdWRlIDx3dGYvU2Vjb25kcy5oPgogCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAj
aW5jbHVkZSA8V2ViQ29yZS9NYWNoU2VuZFJpZ2h0Lmg+CkBAIC01MSw4ICs1Miw4IEBAIHN0cnVj
dCBQbHVnaW5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzIHsKICAgICBQbHVnaW5Qcm9jZXNzVHlw
ZSBwcm9jZXNzVHlwZTsKICAgICBib29sIHN1cHBvcnRzQXN5bmNocm9ub3VzUGx1Z2luSW5pdGlh
bGl6YXRpb247CiAKLSAgICBkb3VibGUgbWluaW11bUxpZmV0aW1lOwotICAgIGRvdWJsZSB0ZXJt
aW5hdGlvblRpbWVvdXQ7CisgICAgU2Vjb25kcyBtaW5pbXVtTGlmZXRpbWU7CisgICAgU2Vjb25k
cyB0ZXJtaW5hdGlvblRpbWVvdXQ7CiAKICNpZiBQTEFURk9STShDT0NPQSkKICAgICBXZWJDb3Jl
OjpNYWNoU2VuZFJpZ2h0IGFjY2VsZXJhdGVkQ29tcG9zaXRpbmdQb3J0OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvU2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIuY3BwIGIvU291cmNlL1dlYktp
dDIvU2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIuY3BwCmluZGV4IGJhYmMyODg4Y2I3NWZiNDZmMzg4
MGQ4Y2RiODMxZjJhN2QyNDYyMGIuLjE1MTMzOTA4OGRjNWUwMGE5MGMxYTJjYTRhYWE2ZjkzODEy
NWMxY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJNZW1vcnlTYW1wbGVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViTWVtb3J5U2FtcGxlci5jcHAKQEAg
LTkxLDcgKzkxLDcgQEAgdm9pZCBXZWJNZW1vcnlTYW1wbGVyOjppbml0aWFsaXplVGltZXJzKGRv
dWJsZSBpbnRlcnZhbCkKICAgICBtX3NhbXBsZVRpbWVyLnN0YXJ0UmVwZWF0aW5nKDFfcyk7CiAg
ICAgcHJpbnRmKCJTdGFydGVkIG1lbW9yeSBzYW1wbGVyIGZvciBwcm9jZXNzICVzICVkIiwgcHJv
Y2Vzc05hbWUoKS51dGY4KCkuZGF0YSgpLCBnZXRwaWQoKSk7CiAgICAgaWYgKGludGVydmFsID4g
MCkgewotICAgICAgICBtX3N0b3BUaW1lci5zdGFydE9uZVNob3QoaW50ZXJ2YWwpOworICAgICAg
ICBtX3N0b3BUaW1lci5zdGFydE9uZVNob3QoMV9zICogaW50ZXJ2YWwpOwogICAgICAgICBwcmlu
dGYoIiBmb3IgYSBpbnRlcnZhbCBvZiAlZyBzZWNvbmRzIiwgaW50ZXJ2YWwpOwogICAgIH0KICAg
ICBwcmludGYoIjsgU2FtcGxlciBsb2cgZmlsZSBzdG9yZWQgYXQ6ICVzXG4iLCBtX3NhbXBsZUxv
Z0ZpbGVQYXRoLnV0ZjgoKS5kYXRhKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hh
cmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKaW5kZXggZmQ4MDZiMjIwMjQ3OWUxNjA0
ODYxZGY5OGUwOGNhYjFhMWFhNjBkOS4uOTI2YTMyMjBmYjY4ZDE1YmViZDAwNjgyMTM1YjBkMTJh
MjU0NDhiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByb2Nlc3NDcmVh
dGlvblBhcmFtZXRlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJvY2Vzc0Ny
ZWF0aW9uUGFyYW1ldGVycy5oCkBAIC0xMjYsNyArMTI2LDcgQEAgc3RydWN0IFdlYlByb2Nlc3ND
cmVhdGlvblBhcmFtZXRlcnMgewogICAgIGJvb2wgaGFzUmljaENvbnRlbnRTZXJ2aWNlcyB7IGZh
bHNlIH07CiAjZW5kaWYKIAotICAgIGRvdWJsZSB0ZXJtaW5hdGlvblRpbWVvdXQgeyAwIH07Cisg
ICAgU2Vjb25kcyB0ZXJtaW5hdGlvblRpbWVvdXQ7CiAKICAgICBUZXh0Q2hlY2tlclN0YXRlIHRl
eHRDaGVja2VyU3RhdGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQ29jb2EvQVBJU2VyaWFsaXplZFNjcmlwdFZhbHVlQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0NvY29hL0FQSVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUNvY29hLm1tCmlu
ZGV4IDgzOTQ1ZGZlZDMxYzU5MTgzNThiZTdmNjcxNmIxYmZlNzAxODhiNTkuLjFiNWRkMDM2Mzkx
ZjIyYjllYmM1YjcyM2Q5MjIzZjgwMjkwZTlhMTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvQVBJU2VyaWFsaXplZFNjcmlwdFZhbHVlQ29jb2EubW0KKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9BUElTZXJpYWxpemVkU2NyaXB0
VmFsdWVDb2NvYS5tbQpAQCAtNDYsNyArNDYsNyBAQCBwdWJsaWM6CiAgICAgewogICAgICAgICBp
ZiAoIW1fY29udGV4dCkgewogICAgICAgICAgICAgbV9jb250ZXh0ID0gYWRvcHROUyhbW0pTQ29u
dGV4dCBhbGxvY10gaW5pdF0pOwotICAgICAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMSk7
CisgICAgICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgxX3MpOwogICAgICAgICB9CiAgICAg
ICAgIHJldHVybiBtX2NvbnRleHQuZ2V0KCk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0NoaWxkUHJvY2Vzc1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9DaGlsZFByb2Nlc3NQcm94eS5jcHAKaW5kZXggZGQ4YWVmNTUwYWE2NmMyMzk1ODNm
ODgyOTM4MjM0MjRjY2IzOWRjNC4uMjdiZWMzNjIzMTVjYjExMGYxYzhmZTQ2MzZhNjRkMmQ4NjVl
NDQ5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NoaWxkUHJvY2Vzc1By
b3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ2hpbGRQcm9jZXNzUHJveHku
Y3BwCkBAIC0xOTcsNyArMTk3LDcgQEAgdm9pZCBDaGlsZFByb2Nlc3NQcm94eTo6c2h1dERvd25Q
cm9jZXNzKCkKICAgICAgICAgLy8gT24gaU9TIGRlcGxveSBhIHdhdGNoZG9nIGluIHRoZSBVSSBw
cm9jZXNzLCBzaW5jZSB0aGUgY2hpbGQgcHJvY2VzcyBtYXkgYmUgc3VzcGVuZGVkLgogICAgICAg
ICAvLyBJZiAzMHMgaXMgaW5zdWZmaWNpZW50IGZvciBhbnkgb3V0c3RhbmRpbmcgYWN0aXZpdHkg
dG8gY29tcGxldGUgY2xlYW5seSwgdGhlbiBpdCB3aWxsIGJlIGtpbGxlZC4KICAgICAgICAgQVNT
RVJUKG1fY29ubmVjdGlvbik7Ci0gICAgICAgIG1fY29ubmVjdGlvbi0+dGVybWluYXRlU29vbigz
MCk7CisgICAgICAgIG1fY29ubmVjdGlvbi0+dGVybWluYXRlU29vbigzMF9zKTsKICNlbmRpZgog
ICAgICAgICBicmVhazsKICAgICBjYXNlIFN0YXRlOjpUZXJtaW5hdGVkOgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL05hdmlnYXRpb25TdGF0ZS5tbSBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9OYXZpZ2F0aW9uU3RhdGUubW0KaW5kZXggNmI4MWNl
NDU2NDFkNGZkYzMyN2EwNmY2Y2RjZTk4ZGExM2ZkYWExOS4uOTZiOTYwMjBkYzg5MzNiODQ5MzZl
MWYxZGNhZGEyYzlkZTg2ZDRiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0NvY29hL05hdmlnYXRpb25TdGF0ZS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
Q29jb2EvTmF2aWdhdGlvblN0YXRlLm1tCkBAIC04ODcsNyArODg3LDcgQEAgdm9pZCBOYXZpZ2F0
aW9uU3RhdGU6OmRpZENoYW5nZUlzTG9hZGluZygpCiAgICAgfSBlbHNlIHsKICAgICAgICAgLy8g
RGVsYXkgcmVsZWFzaW5nIHRoZSBiYWNrZ3JvdW5kIGFjdGl2aXR5IGZvciAzIHNlY29uZHMgdG8g
Z2l2ZSB0aGUgYXBwbGljYXRpb24gYSBjaGFuY2UgdG8gc3RhcnQgYW5vdGhlciBuYXZpZ2F0aW9u
CiAgICAgICAgIC8vIGJlZm9yZSBzdXNwZW5kaW5nIHRoZSBXZWJDb250ZW50IHByb2Nlc3MgPHJk
YXI6Ly9wcm9ibGVtLzI3OTEwOTY0Pi4KLSAgICAgICAgbV9yZWxlYXNlQWN0aXZpdHlUaW1lci5z
dGFydE9uZVNob3QoM3MpOworICAgICAgICBtX3JlbGVhc2VBY3Rpdml0eVRpbWVyLnN0YXJ0T25l
U2hvdCgzX3MpOwogICAgIH0KICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQ29jb2EvVmlld0dlc3R1cmVDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9Db2NvYS9WaWV3R2VzdHVyZUNvbnRyb2xsZXIuY3BwCmluZGV4IDc5OWRhNjVj
OWE3YTNlNTE0YmNmNWM0Yzk3MDA2MzAxZTY2Mjk3ZjMuLmM0ZDMwMDEwZGQzN2NhYmVmYTcwZGIy
NDk1ZGYzMWI0ZTc3MTQ0MzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9D
b2NvYS9WaWV3R2VzdHVyZUNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9Db2NvYS9WaWV3R2VzdHVyZUNvbnRyb2xsZXIuY3BwCkBAIC00MCwxMyArNDAsMTMgQEAg
dXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi1zdGF0aWMg
Y29uc3Qgc3RkOjpjaHJvbm86OnNlY29uZHMgc3dpcGVTbmFwc2hvdFJlbW92YWxXYXRjaGRvZ0Fm
dGVyRmlyc3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0RHVyYXRpb24gPSAzczsKLXN0YXRpYyBjb25z
dCBTZWNvbmRzIHN3aXBlU25hcHNob3RSZW1vdmFsQWN0aXZlTG9hZE1vbml0b3JpbmdJbnRlcnZh
bCA9IDI1MF9tczsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHN3aXBlU25hcHNob3RSZW1vdmFsV2F0
Y2hkb2dBZnRlckZpcnN0VmlzdWFsbHlOb25FbXB0eUxheW91dER1cmF0aW9uIHsgM19zIH07Citz
dGF0aWMgY29uc3QgU2Vjb25kcyBzd2lwZVNuYXBzaG90UmVtb3ZhbEFjdGl2ZUxvYWRNb25pdG9y
aW5nSW50ZXJ2YWwgeyAyNTBfbXMgfTsKIAogI2lmIFBMQVRGT1JNKE1BQykKLXN0YXRpYyBjb25z
dCBzdGQ6OmNocm9ubzo6c2Vjb25kcyBzd2lwZVNuYXBzaG90UmVtb3ZhbFdhdGNoZG9nRHVyYXRp
b24gPSA1czsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHN3aXBlU25hcHNob3RSZW1vdmFsV2F0Y2hk
b2dEdXJhdGlvbiA9IDVfczsKICNlbHNlCi1zdGF0aWMgY29uc3Qgc3RkOjpjaHJvbm86OnNlY29u
ZHMgc3dpcGVTbmFwc2hvdFJlbW92YWxXYXRjaGRvZ0R1cmF0aW9uID0gM3M7CitzdGF0aWMgY29u
c3QgU2Vjb25kcyBzd2lwZVNuYXBzaG90UmVtb3ZhbFdhdGNoZG9nRHVyYXRpb24gPSAzX3M7CiAj
ZW5kaWYKIAogc3RhdGljIEhhc2hNYXA8dWludDY0X3QsIFZpZXdHZXN0dXJlQ29udHJvbGxlcio+
JiB2aWV3R2VzdHVyZUNvbnRyb2xsZXJzRm9yQWxsUGFnZXMoKQpAQCAtMjk3LDEwICsyOTcsMTAg
QEAgdm9pZCBWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OlNuYXBzaG90UmVtb3ZhbFRyYWNrZXI6Ondh
dGNoZG9nVGltZXJGaXJlZCgpCiAgICAgZmlyZVJlbW92YWxDYWxsYmFja0ltbWVkaWF0ZWx5KCk7
CiB9CiAKLXZvaWQgVmlld0dlc3R1cmVDb250cm9sbGVyOjpTbmFwc2hvdFJlbW92YWxUcmFja2Vy
OjpzdGFydFdhdGNoZG9nKHN0ZDo6Y2hyb25vOjpzZWNvbmRzIGR1cmF0aW9uKQordm9pZCBWaWV3
R2VzdHVyZUNvbnRyb2xsZXI6OlNuYXBzaG90UmVtb3ZhbFRyYWNrZXI6OnN0YXJ0V2F0Y2hkb2co
U2Vjb25kcyBkdXJhdGlvbikKIHsKLSAgICBsb2coU3RyaW5nOjpmb3JtYXQoIihyZSlzdGFydGVk
IHdhdGNoZG9nIHRpbWVyIGZvciAlbGxkIHNlY29uZHMiLCBkdXJhdGlvbi5jb3VudCgpKSk7Ci0g
ICAgbV93YXRjaGRvZ1RpbWVyLnN0YXJ0T25lU2hvdChkdXJhdGlvbi5jb3VudCgpKTsKKyAgICBs
b2coU3RyaW5nOjpmb3JtYXQoIihyZSlzdGFydGVkIHdhdGNoZG9nIHRpbWVyIGZvciAlLjFmIHNl
Y29uZHMiLCBkdXJhdGlvbi5zZWNvbmRzKCkpKTsKKyAgICBtX3dhdGNoZG9nVGltZXIuc3RhcnRP
bmVTaG90KGR1cmF0aW9uKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvVmlld0dlc3R1cmVDb250cm9sbGVyLmgg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvVmlld0dlc3R1cmVDb250cm9sbGVyLmgK
aW5kZXggMWJlNTliYzUzZGYwNGYwNjU4NWNiY2UwYmFjYmYwZGMyZjg2MTU5Yi4uZjE5M2U3ODMz
M2Y2OWVmYTNmOGI2YTdiZjA5YzlkN2QwOTA1YjE0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0NvY29hL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9WaWV3R2VzdHVyZUNvbnRyb2xsZXIuaApAQCAtMTU5LDcg
KzE1OSw3IEBAIHByaXZhdGU6CiAgICAgICAgIGJvb2wgZXZlbnRPY2N1cnJlZChFdmVudHMpOwog
ICAgICAgICBib29sIGNhbmNlbE91dHN0YW5kaW5nRXZlbnQoRXZlbnRzKTsKIAotICAgICAgICB2
b2lkIHN0YXJ0V2F0Y2hkb2coc3RkOjpjaHJvbm86OnNlY29uZHMpOworICAgICAgICB2b2lkIHN0
YXJ0V2F0Y2hkb2coU2Vjb25kcyk7CiAKICAgICBwcml2YXRlOgogICAgICAgICBzdGF0aWMgU3Ry
aW5nIGV2ZW50c0Rlc2NyaXB0aW9uKEV2ZW50cyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eUltcGwuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0RyYXdpbmdBcmVhUHJveHlJbXBsLmNwcAppbmRleCA5YTk3YjNmYmUyNThmYzU0MjEx
OWI1YzY4MmE3YTE2NjhkOWU2MGE1Li4wOWJhMzBiNDgzZDBmYzg2ZjE4MDE0NzkwYjY2M2FjM2Ri
ZjJlYzY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQ
cm94eUltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVBy
b3h5SW1wbC5jcHAKQEAgLTE4Nyw3ICsxODcsNyBAQCB2b2lkIERyYXdpbmdBcmVhUHJveHlJbXBs
OjpkaXNjYXJkQmFja2luZ1N0b3JlU29vbigpCiAKICAgICAvLyBXZSdsbCB3YWl0IHRoaXMgbWFu
eSBzZWNvbmRzIGFmdGVyIHRoZSBsYXN0IHBhaW50IGJlZm9yZSB0aHJvd2luZyBhd2F5IG91ciBi
YWNraW5nIHN0b3JlIHRvIHNhdmUgbWVtb3J5LgogICAgIC8vIEZJWE1FOiBJdCB3b3VsZCBiZSBz
bWFydGVyIHRvIG1ha2UgdGhpcyBkZWxheSBiYXNlZCBvbiBob3cgZXhwZW5zaXZlIHBhaW50aW5n
IGlzLiBTZWUgPGh0dHA6Ly93ZWJraXQub3JnL2IvNTU3MzM+LgotICAgIHN0YXRpYyBjb25zdCBk
b3VibGUgZGlzY2FyZEJhY2tpbmdTdG9yZURlbGF5ID0gMjsKKyAgICBzdGF0aWMgY29uc3QgU2Vj
b25kcyBkaXNjYXJkQmFja2luZ1N0b3JlRGVsYXkgPSAyX3M7CiAKICAgICBtX2Rpc2NhcmRCYWNr
aW5nU3RvcmVUaW1lci5zdGFydE9uZVNob3QoZGlzY2FyZEJhY2tpbmdTdG9yZURlbGF5KTsKIH0K
QEAgLTIyOCw3ICsyMjgsNyBAQCB2b2lkIERyYXdpbmdBcmVhUHJveHlJbXBsOjpEcmF3aW5nTW9u
aXRvcjo6c3RhcnQoc3RkOjpmdW5jdGlvbjx2b2lkIChDYWxsYmFja0JhcwogICAgIG1fY2FsbGJh
Y2sgPSBjYWxsYmFjazsKICNpZiBQTEFURk9STShHVEspCiAgICAgZ19zaWduYWxfY29ubmVjdF9z
d2FwcGVkKG1fd2ViUGFnZS52aWV3V2lkZ2V0KCksICJkcmF3IiwgcmVpbnRlcnByZXRfY2FzdDxH
Q2FsbGJhY2s+KHdlYlZpZXdEcmF3Q2FsbGJhY2spLCB0aGlzKTsKLSAgICBtX3RpbWVyLnN0YXJ0
T25lU2hvdCgxKTsKKyAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgxX3MpOwogI2Vsc2UKICAgICBt
X3RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogI2VuZGlmCkBAIC0yNTUsNyArMjU1LDcgQEAgdm9p
ZCBEcmF3aW5nQXJlYVByb3h5SW1wbDo6RHJhd2luZ01vbml0b3I6OmRpZERyYXcoKQogICAgIGlm
IChtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWVNUygpIC0gbV9zdGFydFRpbWUgPiAxMDAwKQog
ICAgICAgICBzdG9wKCk7CiAgICAgZWxzZQotICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgw
LjEwMCk7CisgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDEwMF9tcyk7CiB9CiAKIHZvaWQg
RHJhd2luZ0FyZWFQcm94eUltcGw6OmRpc3BhdGNoQWZ0ZXJFbnN1cmluZ0RyYXdpbmcoc3RkOjpm
dW5jdGlvbjx2b2lkKENhbGxiYWNrQmFzZTo6RXJyb3IpPiBjYWxsYmFja0Z1bmN0aW9uKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0dhbWVwYWQvVUlHYW1lcGFkUHJvdmlk
ZXIuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0dhbWVwYWQvVUlHYW1lcGFkUHJvdmlk
ZXIuY3BwCmluZGV4IDY1N2M0MTZmOTA2ZTVkMDQzOTAxZmMzZTgyNDRiNGQ4NzYyNjgxMGYuLjBi
ZWU3NTQ4MzYxYWQ1NzU0M2RiYjA3MThiN2JlNTc0ZmE0ZTZhYTQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9HYW1lcGFkL1VJR2FtZXBhZFByb3ZpZGVyLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvR2FtZXBhZC9VSUdhbWVwYWRQcm92aWRlci5jcHAKQEAg
LTM5LDcgKzM5LDcgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIG5hbWVzcGFjZSBXZWJL
aXQgewogCi1zdGF0aWMgY29uc3QgZG91YmxlIG1heGltdW1HYW1lcGFkVXBkYXRlSW50ZXJ2YWwg
PSAxIC8gMTIwLjA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBtYXhpbXVtR2FtZXBhZFVwZGF0ZUlu
dGVydmFsIHsgMV9zIC8gMTIwLiB9OwogCiBVSUdhbWVwYWRQcm92aWRlciYgVUlHYW1lcGFkUHJv
dmlkZXI6OnNpbmdsZXRvbigpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5LmNwcAppbmRleCA1ZmY1MWI1MDllODZmMmI1
MjQyNDAyNWM4MjVjZWZiYTExM2VhMmMxLi5iYWNkNzNlNTQwMzQwYTQ0MjZkNjBlOTBlY2E3OTcx
YmE1YjBkYTc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9Q
bHVnaW5Qcm9jZXNzUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVn
aW5zL1BsdWdpblByb2Nlc3NQcm94eS5jcHAKQEAgLTQ2LDExICs0NiwxMSBAQCB1c2luZyBuYW1l
c3BhY2UgV2ViQ29yZTsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLXN0YXRpYyBjb25zdCBkb3Vi
bGUgbWluaW11bUxpZmV0aW1lID0gMiAqIDYwOwotc3RhdGljIGNvbnN0IGRvdWJsZSBzbmFwc2hv
dHRpbmdNaW5pbXVtTGlmZXRpbWUgPSAzMDsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIG1pbmltdW1M
aWZldGltZSB7IDJfbWluIH07CitzdGF0aWMgY29uc3QgU2Vjb25kcyBzbmFwc2hvdHRpbmdNaW5p
bXVtTGlmZXRpbWUgeyAzMF9zIH07CiAKLXN0YXRpYyBjb25zdCBkb3VibGUgc2h1dGRvd25UaW1l
b3V0ID0gMSAqIDYwOwotc3RhdGljIGNvbnN0IGRvdWJsZSBzbmFwc2hvdHRpbmdTaHV0ZG93blRp
bWVvdXQgPSAxNTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHNodXRkb3duVGltZW91dCB7IDFfbWlu
IH07CitzdGF0aWMgY29uc3QgU2Vjb25kcyBzbmFwc2hvdHRpbmdTaHV0ZG93blRpbWVvdXQgeyAx
NV9zIH07CiAKIHN0YXRpYyB1aW50NjRfdCBnZW5lcmF0ZUNhbGxiYWNrSUQoKQogewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Byb2Nlc3NUaHJvdHRsZXIuY3BwIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Byb2Nlc3NUaHJvdHRsZXIuY3BwCmluZGV4IDc3YjBiOGM3
MWY4OGY4YmMyMDQ5MDJiZjQ2YTI2YzM0ODVhMzc1MWYuLjA5Mzg2M2MxMWNkNjcwNDdjMWNlM2Uy
MGM3OTljMzY2ZWQ3ODVhNDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Q
cm9jZXNzVGhyb3R0bGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUHJvY2Vz
c1Rocm90dGxlci5jcHAKQEAgLTMxLDcgKzMxLDcgQEAKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAg
ICAgCi1zdGF0aWMgY29uc3QgdW5zaWduZWQgcHJvY2Vzc1N1c3BlbnNpb25UaW1lb3V0ID0gMzA7
CitzdGF0aWMgY29uc3QgU2Vjb25kcyBwcm9jZXNzU3VzcGVuc2lvblRpbWVvdXQgeyAzMF9zIH07
CiAgICAgCiBQcm9jZXNzVGhyb3R0bGVyOjpQcm9jZXNzVGhyb3R0bGVyKFByb2Nlc3NUaHJvdHRs
ZXJDbGllbnQmIHByb2Nlc3MpCiAgICAgOiBtX3Byb2Nlc3MocHJvY2VzcykKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9SZXNwb25zaXZlbmVzc1RpbWVyLmNwcCBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9SZXNwb25zaXZlbmVzc1RpbWVyLmNwcAppbmRleCBmZWI0Njlm
MDg0MmI1YWU2OWIzNmYwZmNmZDY4NjFjNDA2N2VlZjJiLi45YWU1ZmQxYzcxMTAzOTQ5NzE2MzA1
YzlkOTJiYmRmNTI0Njc1ZjEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
UmVzcG9uc2l2ZW5lc3NUaW1lci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Jl
c3BvbnNpdmVuZXNzVGltZXIuY3BwCkBAIC0yOCw3ICsyOCw3IEBACiAKIG5hbWVzcGFjZSBXZWJL
aXQgewogCi1zdGF0aWMgY29uc3QgZG91YmxlIHJlc3BvbnNpdmVuZXNzVGltZW91dCA9IDM7Citz
dGF0aWMgY29uc3QgU2Vjb25kcyByZXNwb25zaXZlbmVzc1RpbWVvdXQgeyAzX3MgfTsKIAogUmVz
cG9uc2l2ZW5lc3NUaW1lcjo6UmVzcG9uc2l2ZW5lc3NUaW1lcihSZXNwb25zaXZlbmVzc1RpbWVy
OjpDbGllbnQmIGNsaWVudCkKICAgICA6IG1fY2xpZW50KGNsaWVudCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCmluZGV4IDFkZDdhZTI0M2JmNTk2ZGYyMzAw
M2IzYTYzOGRhMzJhOTQ0MmMzY2EuLmVmZTQ2ZjU2NzA0MzZjZTZjNDY2OTdjODBmN2FlYzY4YTZl
ODg3NjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9v
bC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcApA
QCAtNjg5LDcgKzY4OSw3IEBAIFdlYlByb2Nlc3NQcm94eSYgV2ViUHJvY2Vzc1Bvb2w6OmNyZWF0
ZU5ld1dlYlByb2Nlc3MoV2Vic2l0ZURhdGFTdG9yZSogd2Vic2l0ZURhCiAKICAgICBwYXJhbWV0
ZXJzLmljb25EYXRhYmFzZUVuYWJsZWQgPSAhaWNvbkRhdGFiYXNlUGF0aCgpLmlzRW1wdHkoKTsK
IAotICAgIHBhcmFtZXRlcnMudGVybWluYXRpb25UaW1lb3V0ID0gMDsKKyAgICBwYXJhbWV0ZXJz
LnRlcm1pbmF0aW9uVGltZW91dCA9IDBfczsKIAogICAgIHBhcmFtZXRlcnMudGV4dENoZWNrZXJT
dGF0ZSA9IFRleHRDaGVja2VyOjpzdGF0ZSgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvZ3RrL0dlc3R1cmVDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9ndGsvR2VzdHVyZUNvbnRyb2xsZXIuY3BwCmluZGV4IDA1NTZlYTdjNGY2Zjk5OGM4
N2ZhMmUyM2NlMzA3Nzc0YzExZGI0NzYuLmEzNzM0MjljMWM1YzI3ODEzZWRlNTExOTUwZjllYTIy
NDQxZmMzMjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9ndGsvR2VzdHVy
ZUNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9ndGsvR2VzdHVy
ZUNvbnRyb2xsZXIuY3BwCkBAIC0xMjcsNyArMTI3LDcgQEAgdm9pZCBHZXN0dXJlQ29udHJvbGxl
cjo6RHJhZ0dlc3R1cmU6OmJlZ2luKERyYWdHZXN0dXJlKiBkcmFnR2VzdHVyZSwgZG91YmxlIHgs
IGQKICAgICBHdGtXaWRnZXQqIHdpZGdldCA9IGd0a19ldmVudF9jb250cm9sbGVyX2dldF93aWRn
ZXQoR1RLX0VWRU5UX0NPTlRST0xMRVIoZ2VzdHVyZSkpOwogICAgIHVuc2lnbmVkIGRlbGF5Owog
ICAgIGdfb2JqZWN0X2dldChndGtfd2lkZ2V0X2dldF9zZXR0aW5ncyh3aWRnZXQpLCAiZ3RrLWxv
bmctcHJlc3MtdGltZSIsICZkZWxheSwgbnVsbHB0cik7Ci0gICAgZHJhZ0dlc3R1cmUtPm1fbG9u
Z1ByZXNzVGltZW91dC5zdGFydE9uZVNob3QoZGVsYXkgLyAxMDAwLjApOworICAgIGRyYWdHZXN0
dXJlLT5tX2xvbmdQcmVzc1RpbWVvdXQuc3RhcnRPbmVTaG90KDFfbXMgKiBkZWxheSk7CiB9CiAK
IHZvaWQgR2VzdHVyZUNvbnRyb2xsZXI6OkRyYWdHZXN0dXJlOjp1cGRhdGUoRHJhZ0dlc3R1cmUq
IGRyYWdHZXN0dXJlLCBkb3VibGUgeCwgZG91YmxlIHksIEd0a0dlc3R1cmUqIGdlc3R1cmUpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dlYkluc3BlY3RvclByb3h5
TWFjLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XZWJJbnNwZWN0b3JQcm94eU1h
Yy5tbQppbmRleCBkYmQ0MDQyZDM3ZGU0N2RjNGFiZWM2OWM5MmU3NDBiYzAyZDA3YTBhLi4yYzQ1
N2M3YThkODdlYzc5NWE3ZDI4NGY4ODQxZDc3MzgyOTNmMmFkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dlYkluc3BlY3RvclByb3h5TWFjLm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV2ViSW5zcGVjdG9yUHJveHlNYWMubW0KQEAgLTUyLDcg
KzUyLDcgQEAgc3RhdGljIGNvbnN0IE5TVUludGVnZXIgd2luZG93U3R5bGVNYXNrID0gTlNXaW5k
b3dTdHlsZU1hc2tUaXRsZWQgfCBOU1dpbmRvd1N0eWwKIAogLy8gVGhlIHRpbWUgd2Uga2VlcCBv
dXIgV2ViVmlldyBhbGl2ZSBiZWZvcmUgY2xvc2luZyBpdCBhbmQgaXRzIHByb2Nlc3MuCiAvLyBS
ZXVzaW5nIHRoZSBXZWJWaWV3IGltcHJvdmVzIHN0YXJ0IHVwIHRpbWUgZm9yIHBlb3BsZSB0aGF0
IGp1bXAgaW4gYW5kIG91dCBvZiB0aGUgSW5zcGVjdG9yLgotc3RhdGljIGNvbnN0IHVuc2lnbmVk
IHdlYlZpZXdDbG9zZVRpbWVvdXQgPSA2MDsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHdlYlZpZXdD
bG9zZVRpbWVvdXQgeyAxX21pbiB9OwogCiAvLyBXS1dlYkluc3BlY3RvclByb3h5T2JqQ0FkYXB0
ZXIgaXMgYSBoZWxwZXIgT2JqQyBvYmplY3QgdXNlZCBhcyBhIGRlbGVnYXRlIG9yIG5vdGlmaWNh
dGlvbiBvYnNlcnZlcgogLy8gZm9yIHRoZSBzb2xlIHB1cnBvc2Ugb2YgZ2V0dGluZyBiYWNrIGlu
dG8gdGhlIEMrKyBjb2RlIGZyb20gYW4gT2JqQyBjYWxsZXIuCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQWNjZWxlcmF0ZWREcmF3aW5nQXJlYS5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQWNjZWxlcmF0ZWREcmF3aW5nQXJlYS5j
cHAKaW5kZXggZjQyODIxMGZiYWZhYjMwZDE4M2JlYThhNjIxZjdjMjAzNDk0NDhlNS4uZTNjNThj
ODYwOTYwZjBiYTJlZTllODA3YThhMjc1OGNkYTVjMDUwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0FjY2VsZXJhdGVkRHJhd2luZ0FyZWEuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9BY2NlbGVyYXRlZERyYXdpbmdBcmVh
LmNwcApAQCAtMzg0LDcgKzM4NCw3IEBAIHZvaWQgQWNjZWxlcmF0ZWREcmF3aW5nQXJlYTo6ZXhp
dEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdNb2RlTm93KCkKICAgICBtX3ByZXZpb3VzTGF5ZXJUcmVl
SG9zdC0+c2V0SXNEaXNjYXJkYWJsZSh0cnVlKTsKICAgICBtX3ByZXZpb3VzTGF5ZXJUcmVlSG9z
dC0+cGF1c2VSZW5kZXJpbmcoKTsKICAgICBtX3ByZXZpb3VzTGF5ZXJUcmVlSG9zdC0+c2V0TGF5
ZXJGbHVzaFNjaGVkdWxpbmdFbmFibGVkKGZhbHNlKTsKLSAgICBtX2Rpc2NhcmRQcmV2aW91c0xh
eWVyVHJlZUhvc3RUaW1lci5zdGFydE9uZVNob3QoNSk7CisgICAgbV9kaXNjYXJkUHJldmlvdXNM
YXllclRyZWVIb3N0VGltZXIuc3RhcnRPbmVTaG90KDVfcyk7CiAjZWxzZQogICAgIG1fbGF5ZXJU
cmVlSG9zdCA9IG51bGxwdHI7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVl
SG9zdC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRH
cmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3QuY3BwCmluZGV4IGExNDEwNDM0OWRjODFj
OTZmZjc4ZWI0ZTMxNWNkZjM2YWIyZTY5ZDcuLmI4YjkzNjA3M2M3Nzg2MjYyMDlhYmU3OTk4MTNi
ZWJjOGM2MmI4MmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29v
cmRpbmF0ZWRMYXllclRyZWVIb3N0LmNwcApAQCAtMjM0LDcgKzIzNCw3IEBAIHZvaWQgQ29vcmRp
bmF0ZWRMYXllclRyZWVIb3N0OjpzY2hlZHVsZUFuaW1hdGlvbigpCiAgICAgICAgIHJldHVybjsK
IAogICAgIHNjaGVkdWxlTGF5ZXJGbHVzaCgpOwotICAgIG1fbGF5ZXJGbHVzaFRpbWVyLnN0YXJ0
T25lU2hvdChtX2Nvb3JkaW5hdG9yLm5leHRBbmltYXRpb25TZXJ2aWNlVGltZSgpKTsKKyAgICBt
X2xheWVyRmx1c2hUaW1lci5zdGFydE9uZVNob3QoMV9zICogbV9jb29yZGluYXRvci5uZXh0QW5p
bWF0aW9uU2VydmljZVRpbWUoKSk7CiB9CiAKIHZvaWQgQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0
Ojpjb21taXRTY3JvbGxPZmZzZXQodWludDMyX3QgbGF5ZXJJRCwgY29uc3QgV2ViQ29yZTo6SW50
U2l6ZSYgb2Zmc2V0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuY3BwCmluZGV4IDI1ZTFhNTNlYmQwZjRjODAxMGQwZTIxYWI5ZmM5MDY1YTBlYjIzMjYuLmYz
MDhkMzA3Yzg2ZjJlZjcyYTIyYTQ4NTViZjdkZDRiYTZhYzllNmIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTUzMzMsNyArNTMzMyw3IEBA
IHN0YXRpYyBjb25zdCBmbG9hdCBwcmltYXJ5U25hcHNob3R0ZWRQbHVnSW5TZWFyY2hCdWNrZXRT
aXplID0gMS4xOwogc3RhdGljIGNvbnN0IGludCBwcmltYXJ5U25hcHNob3R0ZWRQbHVnSW5NaW5p
bXVtV2lkdGggPSA0MDA7CiBzdGF0aWMgY29uc3QgaW50IHByaW1hcnlTbmFwc2hvdHRlZFBsdWdJ
bk1pbmltdW1IZWlnaHQgPSAzMDA7CiBzdGF0aWMgY29uc3QgdW5zaWduZWQgbWF4UHJpbWFyeVNu
YXBzaG90dGVkUGx1Z0luRGV0ZWN0aW9uQXR0ZW1wdHMgPSAyOwotc3RhdGljIGNvbnN0IGludCBk
ZWZlcnJlZFByaW1hcnlTbmFwc2hvdHRlZFBsdWdJbkRldGVjdGlvbkRlbGF5ID0gMzsKK3N0YXRp
YyBjb25zdCBTZWNvbmRzIGRlZmVycmVkUHJpbWFyeVNuYXBzaG90dGVkUGx1Z0luRGV0ZWN0aW9u
RGVsYXkgPSAzX3M7CiBzdGF0aWMgY29uc3QgZmxvYXQgb3ZlcmxhcHBpbmdJbWFnZUJvdW5kc1Nj
YWxlID0gMS4xOwogc3RhdGljIGNvbnN0IGZsb2F0IG1pbmltdW1PdmVybGFwcGluZ0ltYWdlVG9Q
bHVnaW5EaW1lbnNpb25TY2FsZSA9IC45OwogCkBAIC01NDQxLDcgKzU0NDEsNyBAQCB2b2lkIFdl
YlBhZ2U6OmRldGVybWluZVByaW1hcnlTbmFwc2hvdHRlZFBsdWdJbigpCiAgICAgaWYgKCFjYW5k
aWRhdGVQbHVnSW4pIHsKICAgICAgICAgTE9HKFBsdWdpbnMsICJQcmltYXJ5IFBsdWctSW4gRGV0
ZWN0aW9uOiBmYWlsIC0gZGlkIG5vdCBmaW5kIGEgY2FuZGlkYXRlIHBsdWctaW4uIik7CiAgICAg
ICAgIGlmIChtX251bWJlck9mUHJpbWFyeVNuYXBzaG90RGV0ZWN0aW9uQXR0ZW1wdHMgPCBtYXhQ
cmltYXJ5U25hcHNob3R0ZWRQbHVnSW5EZXRlY3Rpb25BdHRlbXB0cykgewotICAgICAgICAgICAg
TE9HKFBsdWdpbnMsICJQcmltYXJ5IFBsdWctSW4gRGV0ZWN0aW9uOiB3aWxsIGF0dGVtcHQgYWdh
aW4gaW4gJWRzLiIsIGRlZmVycmVkUHJpbWFyeVNuYXBzaG90dGVkUGx1Z0luRGV0ZWN0aW9uRGVs
YXkpOworICAgICAgICAgICAgTE9HKFBsdWdpbnMsICJQcmltYXJ5IFBsdWctSW4gRGV0ZWN0aW9u
OiB3aWxsIGF0dGVtcHQgYWdhaW4gaW4gJS4xZiBzLiIsIGRlZmVycmVkUHJpbWFyeVNuYXBzaG90
dGVkUGx1Z0luRGV0ZWN0aW9uRGVsYXkudmFsdWUoKSk7CiAgICAgICAgICAgICBtX2RldGVybWlu
ZVByaW1hcnlTbmFwc2hvdHRlZFBsdWdJblRpbWVyLnN0YXJ0T25lU2hvdChkZWZlcnJlZFByaW1h
cnlTbmFwc2hvdHRlZFBsdWdJbkRldGVjdGlvbkRlbGF5KTsKICAgICAgICAgfQogICAgICAgICBy
ZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3Mu
Y3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAppbmRleCBmMTNi
Y2EwZGM3MzNkMDllMDE0M2E5OTBhNGQ0N2FmNGFiNGU4OTQ4Li41Yjk1Yzc5NDE1M2E0YmFhYjIy
NzYyYTY5NDY2MzlhMTNhZDliYzUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJv
Y2Vzcy5jcHAKQEAgLTE0Myw3ICsxNDMsNyBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIHN0
YXRpYyBjb25zdCBkb3VibGUgcGx1Z0luQXV0b1N0YXJ0RXhwaXJhdGlvblRpbWVVcGRhdGVUaHJl
c2hvbGQgPSAyOSAqIDI0ICogNjAgKiA2MDsKIAogLy8gVGhpcyBzaG91bGQgYmUgZ3JlYXRlciB0
aGFuIHRpbGVSZXZhbGlkYXRpb25UaW1lb3V0IGluIFRpbGVDb250cm9sbGVyLgotc3RhdGljIGNv
bnN0IGRvdWJsZSBub25WaXNpYmxlUHJvY2Vzc0NsZWFudXBEZWxheSA9IDEwOworc3RhdGljIGNv
bnN0IFNlY29uZHMgbm9uVmlzaWJsZVByb2Nlc3NDbGVhbnVwRGVsYXkgeyAxMF9zIH07CiAKIG5h
bWVzcGFjZSBXZWJLaXQgewogCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9D
aGFuZ2VMb2cKaW5kZXggNjNiM2Y1NWI3MDVlOTQ4ZjMwNTkxNjVjNzNkZmEzYzJiYTQ2OTQ5NC4u
NDVlYTBjM2Q0ZDZhOTUzYmU0ZDNhMWM1ZjE4ZjRkZWE4ZmQxZjE2YSAxMDA2NDQKLS0tIGEvVG9v
bHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE5IEBACiAyMDE3
LTA0LTA5ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKKyAgICAgICAgRHJvcCBU
aW1lcjo6c3RhcnRPbmVTaG90KCkgb3ZlcmxvYWQgdGFraW5nIGEgZG91YmxlCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzA2NTkKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEcm9wIFRpbWVyOjpzdGFydE9u
ZVNob3QoKSBvdmVybG9hZCB0YWtpbmcgYSBkb3VibGUgYXMgcGVvcGxlIHNob3VsZCB1c2UgU2Vj
b25kcyB0eXBlIG5vdy4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1J1bkxv
b3AuY3BwOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisgICAgICAgICogV2ViS2l0
VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9ndGsvVGVzdFJ1bm5lckd0ay5jcHA6CisgICAgICAg
IChXVFI6OlRlc3RSdW5uZXI6OmluaXRpYWxpemVXYWl0VG9EdW1wV2F0Y2hkb2dUaW1lcklmTmVl
ZGVkKToKKworMjAxNy0wNC0wOSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCiAg
ICAgICAgIERyb3AgVGltZXI6OnN0YXJ0UmVwZWF0aW5nKCkgb3ZlcmxvYWQgdGFraW5nIGEgZG91
YmxlCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzA2
NTYKIApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvUnVuTG9vcC5j
cHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9SdW5Mb29wLmNwcAppbmRleCBkMWRl
MDMxYTA4YTA3NTE0ZGZjZGYwN2E1ZTVlZTRhMzZhMzA3NzMwLi45M2IzZDhjMjhmMzIwODE3NmNk
M2JjNTJiN2Y5ZTNkNjE0YTA3OTE3IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RzL1dURi9SdW5Mb29wLmNwcAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9S
dW5Mb29wLmNwcApAQCAtOTUsNyArOTUsNyBAQCBURVNUKFdURl9SdW5Mb29wLCBPbmVTaG90VGlt
ZXIpCiAKICAgICB7CiAgICAgICAgIERlcml2ZWRUaW1lciB0aW1lcih0ZXN0RmluaXNoZWQpOwot
ICAgICAgICB0aW1lci5zdGFydE9uZVNob3QoMC4xKTsKKyAgICAgICAgdGltZXIuc3RhcnRPbmVT
aG90KDEwMF9tcyk7CiAgICAgICAgIFV0aWw6OnJ1bigmdGVzdEZpbmlzaGVkKTsKICAgICB9CiB9
CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2d0ay9U
ZXN0UnVubmVyR3RrLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUv
Z3RrL1Rlc3RSdW5uZXJHdGsuY3BwCmluZGV4IGE5ZjdmNDA5YzA5YmY5ODNkNGE3NGI4M2RmM2E5
MWU2ZGI1OWYyN2UuLmI5YWNjY2M2Yzg3ODRlYzhlOGQ4YzE1YWYzNzJlZmQxYmVkMzVlZjUgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvZ3RrL1Rlc3RS
dW5uZXJHdGsuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUv
Z3RrL1Rlc3RSdW5uZXJHdGsuY3BwCkBAIC00OCw3ICs0OCw3IEBAIHZvaWQgVGVzdFJ1bm5lcjo6
aW5pdGlhbGl6ZVdhaXRUb0R1bXBXYXRjaGRvZ1RpbWVySWZOZWVkZWQoKQogICAgIGlmIChtX3dh
aXRUb0R1bXBXYXRjaGRvZ1RpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAgIHJldHVybjsKIAotICAg
IG1fd2FpdFRvRHVtcFdhdGNoZG9nVGltZXIuc3RhcnRPbmVTaG90KG1fdGltZW91dCAvIDEwMDAu
MCk7CisgICAgbV93YWl0VG9EdW1wV2F0Y2hkb2dUaW1lci5zdGFydE9uZVNob3QoMV9tcyAqIG1f
dGltZW91dCk7CiB9CiAKIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBUZXN0UnVubmVyOjpwYXRo
VG9Mb2NhbFJlc291cmNlKEpTU3RyaW5nUmVmIHVybCkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>306655</attachid>
            <date>2017-04-09 22:31:29 -0700</date>
            <delta_ts>2017-04-09 22:38:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-170659-20170409223113.patch</filename>
            <type>text/plain</type>
            <size>150619</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE1MTY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjU2NmE5MGMzMjEyZGMz
MzAyMmE2MGViZWU2NDU1ODA1NTQ2ZGRiYy4uNWRmYTg3ZjkzZGZjMWJhNDljN2Y3ZGFmMWZkMzMx
MmEwN2E1YmRiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4MyBAQAorMjAxNy0wNC0wOSAgQ2hy
aXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIERyb3AgVGltZXI6OnN0YXJ0
T25lU2hvdCgpIG92ZXJsb2FkIHRha2luZyBhIGRvdWJsZQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcwNjU5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRHJvcCBUaW1lcjo6c3RhcnRPbmVTaG90KCkgb3Zl
cmxvYWQgdGFraW5nIGEgZG91YmxlIGFzIHBlb3BsZSBzaG91bGQgdXNlIFNlY29uZHMgdHlwZSBu
b3cuCisKKyAgICAgICAgKiBNb2R1bGVzL2dlb2xvY2F0aW9uL0dlb05vdGlmaWVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6Okdlb05vdGlmaWVyOjpzdGFydFRpbWVySWZOZWVkZWQpOgorICAgICAg
ICAqIE1vZHVsZXMvbWVkaWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6V2ViTWVkaWFTZXNzaW9uTWFuYWdlcjo6Y29uZmlndXJlV2F0Y2hkb2dU
aW1lcik6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXNlc3Npb24vV2ViTWVkaWFTZXNzaW9uTWFu
YWdlci5oOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vQ2FudmFzQ2FwdHVyZU1lZGlh
U3RyZWFtVHJhY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFzQ2FwdHVyZU1lZGlhU3Ry
ZWFtVHJhY2s6OlNvdXJjZTo6Y2FudmFzQ2hhbmdlZCk6CisgICAgICAgICogTW9kdWxlcy92aWJy
YXRpb24vVmlicmF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlZpYnJhdGlvbjo6dGltZXJG
aXJlZCk6CisgICAgICAgICogTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6V2ViU29ja2V0Q2hhbm5lbDo6Y2xvc2UpOgorICAgICAgICAq
IGFjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBWE9i
amVjdENhY2hlOjplbnF1ZXVlUGFzc3dvcmRWYWx1ZUNoYW5nZU5vdGlmaWNhdGlvbik6CisgICAg
ICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpwb3N0TGl2ZVJlZ2lvbkNoYW5nZU5vdGlmaWNh
dGlvbik6CisgICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpmb2N1c0FyaWFNb2RhbE5v
ZGUpOgorICAgICAgICAqIGNzcy9DU1NGb250RmFjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpD
U1NGb250RmFjZTo6c2V0U3RhdHVzKToKKyAgICAgICAgKiBjc3MvU3R5bGVSZXNvbHZlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJlc29sdmVyOjphZGRUb01hdGNoZWRQcm9wZXJ0aWVz
Q2FjaGUpOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpE
b2N1bWVudDo6c2V0VmlzdWFsVXBkYXRlc0FsbG93ZWQpOgorICAgICAgICAoV2ViQ29yZTo6RG9j
dW1lbnQ6OmZpbmlzaGVkUGFyc2luZyk6CisgICAgICAgICogZG9tL1NjcmlwdGVkQW5pbWF0aW9u
Q29udHJvbGxlci5jcHA6CisgICAgICAgICogZWRpdGluZy9BbHRlcm5hdGl2ZVRleHRDb250cm9s
bGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFsdGVybmF0aXZlVGV4dENvbnRyb2xsZXI6OnN0
YXJ0QWx0ZXJuYXRpdmVUZXh0VUlUaW1lcik6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVt
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmFkZEJlaGF2aW9y
UmVzdHJpY3Rpb25zT25FbmRJZk5lY2Vzc2FyeSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVk
aWFFbGVtZW50OjpoYW5kbGVTZWVrVG9QbGF5YmFja1Bvc2l0aW9uKToKKyAgICAgICAgKiBodG1s
L1NlYXJjaElucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZWFyY2hJbnB1dFR5cGU6
OnN0YXJ0U2VhcmNoRXZlbnRUaW1lcik6CisgICAgICAgICogaHRtbC9WYWxpZGF0aW9uTWVzc2Fn
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWYWxpZGF0aW9uTWVzc2FnZTo6c2V0TWVzc2FnZURP
TUFuZFN0YXJ0VGltZXIpOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29u
dGV4dEJhc2UuY3BwOgorICAgICAgICAqIGh0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRz
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFBhbmVsRWxlbWVudDo6c3RhcnRU
aW1lcik6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xQYW5lbEVsZW1lbnQ6Om1ha2VU
cmFuc3BhcmVudCk6CisgICAgICAgICogaHRtbC90cmFjay9WVFRSZWdpb24uY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6VlRUUmVnaW9uOjpzdGFydFRpbWVyKToKKyAgICAgICAgKiBpbnNwZWN0b3Iv
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbjo6ZnJhbWVTY2hlZHVsZWROYXZpZ2F0aW9uSW1wbCk6CisgICAgICAg
ICogaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oOgorICAgICAgICAoV2ViQ29y
ZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpmcmFtZVNjaGVkdWxlZE5hdmlnYXRpb24pOgor
ICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SW5zcGVjdG9yUGFnZUFnZW50OjpmcmFtZVNjaGVkdWxlZE5hdmlnYXRpb24pOgorICAg
ICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuaDoKKyAgICAgICAgKiBsb2FkZXIv
TmF2aWdhdGlvblNjaGVkdWxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0aW9uU2No
ZWR1bGVyOjpzdGFydFRpbWVyKToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3Vy
Y2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OmRv
Y3VtZW50RGlkRmluaXNoTG9hZEV2ZW50KToKKyAgICAgICAgKiBsb2FkZXIvaWNvbi9JY29uRGF0
YWJhc2UuY3BwOgorICAgICAgICAqIHBhZ2UvRXZlbnRIYW5kbGVyLmNwcDoKKyAgICAgICAgKiBw
YWdlL0V2ZW50U291cmNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50U291cmNlOjpzY2hl
ZHVsZVJlY29ubmVjdCk6CisgICAgICAgICogcGFnZS9Gb2N1c0NvbnRyb2xsZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Rm9jdXNDb250cm9sbGVyOjpzZXRGb2N1c2VkRWxlbWVudE5lZWRzUmVw
YWludCk6CisgICAgICAgICogcGFnZS9GcmFtZVZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
RnJhbWVWaWV3OjpzY3JvbGxQb3NpdGlvbkNoYW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6RnJh
bWVWaWV3OjplbmFibGVTcGVjdWxhdGl2ZVRpbGluZ0lmTmVlZGVkKToKKyAgICAgICAgKiBwYWdl
L1NldHRpbmdzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpTZXR0aW5ncyk6Cisg
ICAgICAgICogcGFnZS9TZXR0aW5ncy5oOgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OnNl
dFRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKToKKyAgICAgICAg
KFdlYkNvcmU6OlNldHRpbmdzOjp0aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdD
b250cm9scyk6CisgICAgICAgICogcGFnZS9TdXNwZW5kYWJsZVRpbWVyLmg6CisgICAgICAgICog
cGFnZS9hbmltYXRpb24vQ1NTQW5pbWF0aW9uQ29udHJvbGxlci5jcHA6CisgICAgICAgICogcGFn
ZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tOgorICAgICAgICAqIHBhZ2UvbWFjL1RleHRJbmRpY2F0
b3JXaW5kb3cubW06CisgICAgICAgIChXZWJDb3JlOjpUZXh0SW5kaWNhdG9yV2luZG93OjpzZXRU
ZXh0SW5kaWNhdG9yKToKKyAgICAgICAgKiBwbGF0Zm9ybS9IeXN0ZXJlc2lzQWN0aXZpdHkuaDoK
KyAgICAgICAgKFdlYkNvcmU6Okh5c3RlcmVzaXNBY3Rpdml0eTo6c3RvcCk6CisgICAgICAgICog
cGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Omdl
dEFuaW1hdGlvblBhcmFtZXRlcnNGb3JHcmFudWxhcml0eSk6CisgICAgICAgIChXZWJDb3JlOjpT
Y3JvbGxBbmltYXRpb25TbW9vdGg6OnVwZGF0ZVBlckF4aXNEYXRhKToKKyAgICAgICAgKFdlYkNv
cmU6OlNjcm9sbEFuaW1hdGlvblNtb290aDo6YW5pbWF0ZVNjcm9sbCk6CisgICAgICAgIChXZWJD
b3JlOjpTY3JvbGxBbmltYXRpb25TbW9vdGg6OmFuaW1hdGlvblRpbWVyRmlyZWQpOgorICAgICAg
ICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0aW9uU21vb3RoOjpzdGFydE5leHRUaW1lcik6CisgICAg
ICAgICogcGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmg6CisgICAgICAgICogcGxhdGZv
cm0vVGltZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6c3RhcnRSZXBlYXRpbmcp
OgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uOjpzY2hlZHVsZUNsaWVudERhdGFC
dWZmZXJpbmdDaGVjayk6CisgICAgICAgICogcGxhdGZvcm0vY29jb2EvU2Nyb2xsQ29udHJvbGxl
ci5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbENvbnRyb2xsZXI6OnNjaGVkdWxlU3RhdGVs
ZXNzU2Nyb2xsU25hcCk6CisgICAgICAgICogcGxhdGZvcm0vZ2FtZXBhZC9jb2NvYS9HYW1lQ29u
dHJvbGxlckdhbWVwYWRQcm92aWRlci5tbToKKyAgICAgICAgKFdlYkNvcmU6OkdhbWVDb250cm9s
bGVyR2FtZXBhZFByb3ZpZGVyOjpnYW1lcGFkSGFkSW5wdXQpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dhbWVwYWQvbWFjL0hJREdhbWVwYWRQcm92aWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpI
SURHYW1lcGFkUHJvdmlkZXI6Om9wZW5BbmRTY2hlZHVsZU1hbmFnZXIpOgorICAgICAgICAoV2Vi
Q29yZTo6SElER2FtZXBhZFByb3ZpZGVyOjp2YWx1ZXNDaGFuZ2VkKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9nbGliL01haW5UaHJlYWRTaGFyZWRUaW1lckdMaWIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6TWFpblRocmVhZFNoYXJlZFRpbWVyOjpzZXRGaXJlSW50ZXJ2YWwpOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkJpdG1h
cEltYWdlOjpzdGFydFRpbWVyKToKKyAgICAgICAgKFdlYkNvcmU6OkJpdG1hcEltYWdlOjppbnRl
cm5hbFN0YXJ0QW5pbWF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkJpdG1hcEltYWdlOjphZHZh
bmNlQW5pbWF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkJpdG1hcEltYWdlOjpyZXNldEFuaW1h
dGlvbik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuaDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyLmNwcDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9TaGFkb3dCbHVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlNjcmF0Y2hCdWZmZXI6OnNjaGVkdWxlU2NyYXRjaEJ1ZmZlclB1cmdlKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9jYS9MYXllclBvb2wuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
TGF5ZXJQb29sOjpzY2hlZHVsZVBydW5lKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9n
c3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6Y2hhbmdlUGlwZWxpbmVTdGF0ZSk6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0dyYXBoaWNzQ29udGV4dDNETWFjLm1tOgor
ICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0RNYW5hZ2VyOjp1cGRhdGVIaWdoUGVy
Zm9ybWFuY2VTdGF0ZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0JpdG1h
cFRleHR1cmVQb29sLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkJpdG1hcFRleHR1cmVQb29sOjpz
Y2hlZHVsZVJlbGVhc2VVbnVzZWRUZXh0dXJlcyk6CisgICAgICAgIChXZWJDb3JlOjpCaXRtYXBU
ZXh0dXJlUG9vbDo6cmVsZWFzZVVudXNlZFRleHR1cmVzVGltZXJGaXJlZCk6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVyUHJveHku
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6VGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXJQcm94eTo6
c2NoZWR1bGVSZWxlYXNlVW51c2VkQnVmZmVycyk6CisgICAgICAgIChXZWJDb3JlOjpUZXh0dXJl
TWFwcGVyUGxhdGZvcm1MYXllclByb3h5OjpyZWxlYXNlVW51c2VkQnVmZmVyc1RpbWVyRmlyZWQp
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGlu
YXRlZEltYWdlQmFja2luZy5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3RrL1Njcm9sbEFuaW1h
dG9yR3RrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdG9yR3RrOjpvdmVybGF5
U2Nyb2xsYmFyQW5pbWF0aW9uVGltZXJGaXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxB
bmltYXRvckd0azo6c2hvd092ZXJsYXlTY3JvbGxiYXJzKToKKyAgICAgICAgKFdlYkNvcmU6OlNj
cm9sbEFuaW1hdG9yR3RrOjpoaWRlT3ZlcmxheVNjcm9sbGJhcnMpOgorICAgICAgICAqIHBsYXRm
b3JtL2d0ay9TY3JvbGxBbmltYXRvckd0ay5oOgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9XZWJW
aWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdC5tbToKKyAgICAgICAgKFdlYlZpZGVvRnVsbHNj
cmVlbkludGVyZmFjZUFWS2l0OjpzaG91bGRFeGl0RnVsbHNjcmVlbldpdGhSZWFzb24pOgorICAg
ICAgICAqIHBsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5tbToKKyAgICAgICAgKFdlYkNv
cmU6OlNjcm9sbEFuaW1hdG9yTWFjOjpzdGFydFNjcm9sbGJhclBhaW50VGltZXIpOgorICAgICAg
ICAqIHBsYXRmb3JtL21vY2svTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlck1vY2suY3BwOgorICAg
ICAgICAqIHBsYXRmb3JtL21vY2svUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1vY2suY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1vY2s6OnNwZWFrKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL1RpbWVyRXZlbnRCYXNlZE1vY2suaDoKKyAgICAgICAg
KFdlYkNvcmU6OlRpbWVyRXZlbnQ6OlRpbWVyRXZlbnQpOgorICAgICAgICAqIHBsYXRmb3JtL25l
dHdvcmsvRE5TUmVzb2x2ZVF1ZXVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkROU1Jlc29sdmVR
dWV1ZTo6YWRkKToKKyAgICAgICAgKFdlYkNvcmU6OkROU1Jlc29sdmVRdWV1ZTo6dGltZXJGaXJl
ZCk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9QaW5nSGFuZGxlLmg6CisgICAgICAgICog
cGxhdGZvcm0vbmV0d29yay9jdXJsL1Jlc291cmNlSGFuZGxlTWFuYWdlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZU1hbmFnZXI6OmRvd25sb2FkVGltZXJDYWxsYmFjayk6
CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZU1hbmFnZXI6OmFkZCk6CisgICAgICAg
IChXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZU1hbmFnZXI6OmNhbmNlbCk6CisgICAgICAgICogcGxh
dGZvcm0vbmV0d29yay9tYWMvTmV0d29ya1N0YXRlTm90aWZpZXJNYWMuY3BwOgorICAgICAgICAq
IHBsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UmVzb3VyY2VIYW5kbGU6OnNlbmRQZW5kaW5nUmVxdWVzdCk6CisgICAgICAgICog
cmVuZGVyaW5nL0ltYWdlUXVhbGl0eUNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SW1hZ2VRdWFsaXR5Q29udHJvbGxlcjo6cmVzdGFydFRpbWVyKToKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
UHJvZ3Jlc3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyUHJvZ3Jlc3M6OlJlbmRlclBy
b2dyZXNzKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyUHJvZ3Jlc3MuaDoKKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZWN1cmVUZXh0
VGltZXI6OnJlc3RhcnQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6YW5pbWF0aW9uUmVwZWF0SW50ZXJ2YWxGb3JQ
cm9ncmVzc0Jhcik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lLmg6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6bWVkaWFDb250cm9sc0ZhZGVPdXREdXJhdGlvbik6Cisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lR3RrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclRoZW1lR3RrOjphbmltYXRpb25SZXBlYXRJbnRlcnZhbEZvclByb2dyZXNzQmFyKToK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVHdGsuaDoKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyVGhlbWVJT1MuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1Mu
bW06CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZUlPUzo6YW5pbWF0aW9uUmVwZWF0SW50
ZXJ2YWxGb3JQcm9ncmVzc0Jhcik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFj
Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1tOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyVGhlbWVNYWM6OmFuaW1hdGlvblJlcGVhdEludGVydmFsRm9yUHJvZ3Jlc3NC
YXIpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVNYWM6OmFuaW1hdGlvbkR1cmF0aW9u
Rm9yUHJvZ3Jlc3NCYXIpOgorICAgICAgICAqIHJlcGxheS9FdmVudExvb3BJbnB1dERpc3BhdGNo
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRMb29wSW5wdXREaXNwYXRjaGVyOjpkaXNw
YXRjaElucHV0U29vbik6CisgICAgICAgICogc3ZnL2FuaW1hdGlvbi9TTUlMVGltZUNvbnRhaW5l
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTTUlMVGltZUNvbnRhaW5lcjo6c3RhcnRUaW1lcik6
CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkludGVybmFsU2V0dGluZ3M6OnNldFRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhp
ZGluZ0NvbnRyb2xzKToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaDoKKyAg
ICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5h
bHM6OnNldEltYWdlRnJhbWVEZWNvZGluZ0R1cmF0aW9uKToKKyAgICAgICAgKiB4bWwvWE1MSHR0
cFJlcXVlc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3Q6OmNyZWF0ZVJl
cXVlc3QpOgorCiAyMDE3LTA0LTA5ICBZdXN1a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFAZ21haWwu
Y29tPgogCiAgICAgICAgIFtXVEZdIEFubm90YXRlIFNlY29uZHMnIG1lbWJlciBmdW5jdGlvbnMg
YW5kIG9wZXJhdG9ycyB3aXRoIGNvbnN0ZXhwcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBlZmMzMDdhOTNjMjM2NThh
OTg4MzhhY2NhYTE0NGIxOTczMjJjNmI1Li5jNGJkNTRhYjQ2MzEwZDJhYjU5OTFjMzgyODNkODg3
OTdmOTAyN2NkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIxIEBACiAyMDE3LTA0LTA5ICBDaHJpcyBE
dW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKKyAgICAgICAgRHJvcCBUaW1lcjo6c3RhcnRPbmVT
aG90KCkgb3ZlcmxvYWQgdGFraW5nIGEgZG91YmxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzA2NTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBEcm9wIFRpbWVyOjpzdGFydE9uZVNob3QoKSBvdmVybG9h
ZCB0YWtpbmcgYSBkb3VibGUgYXMgcGVvcGxlIHNob3VsZCB1c2UgU2Vjb25kcyB0eXBlIG5vdy4K
KworICAgICAgICAqIFN0b3JhZ2UvU3RvcmFnZUFyZWFTeW5jLmNwcDoKKyAgICAgICAgKiBTdG9y
YWdlL1N0b3JhZ2VUcmFja2VyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6U3RvcmFnZVRyYWNrZXI6
OlN0b3JhZ2VUcmFja2VyKToKKyAgICAgICAgKiBTdG9yYWdlL1N0b3JhZ2VUcmFja2VyLmg6Cisg
ICAgICAgIChXZWJLaXQ6OlN0b3JhZ2VUcmFja2VyOjpzdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2
YWwpOgorICAgICAgICAoV2ViS2l0OjpTdG9yYWdlVHJhY2tlcjo6c2V0U3RvcmFnZURhdGFiYXNl
SWRsZUludGVydmFsKToKKworMjAxNy0wNC0wOSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUu
Y29tPgorCiAgICAgICAgIFN0YXJ0IGRyb3BwaW5nIFRpbWVyIEFQSSBkZWFsaW5nIHdpdGggZG91
YmxlCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzA2
NDkKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IDY1MWE4YzZlYmZkYzkxMDAwMjE0MTRkMGFjNGM0YWVl
MGYyMTI5YmIuLmY0ZTFjMzQyMDI0ODRiZjNhMDUxNmY2NmNiOTUwYjQ3MzQ3YTNiYjcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21h
Yy9DaGFuZ2VMb2cKQEAgLTEsNSArMSwxOSBAQAogMjAxNy0wNC0wOSAgQ2hyaXMgRHVtZXogIDxj
ZHVtZXpAYXBwbGUuY29tPgogCisgICAgICAgIERyb3AgVGltZXI6OnN0YXJ0T25lU2hvdCgpIG92
ZXJsb2FkIHRha2luZyBhIGRvdWJsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTcwNjU5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgRHJvcCBUaW1lcjo6c3RhcnRPbmVTaG90KCkgb3ZlcmxvYWQgdGFraW5n
IGEgZG91YmxlIGFzIHBlb3BsZSBzaG91bGQgdXNlIFNlY29uZHMgdHlwZSBub3cuCisKKyAgICAg
ICAgKiBQbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luVmlldy5tbToKKyAgICAgICAgKFBsdWdpblRp
bWVyOjpzdGFydCk6CisgICAgICAgICogU3RvcmFnZS9XZWJTdG9yYWdlTWFuYWdlci5tbToKKyAg
ICAgICAgKCtbV2ViU3RvcmFnZU1hbmFnZXIgc2V0U3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFs
Ol0pOgorCisyMDE3LTA0LTA5ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKICAg
ICAgICAgRHJvcCBUaW1lcjo6c3RhcnRSZXBlYXRpbmcoKSBvdmVybG9hZCB0YWtpbmcgYSBkb3Vi
bGUKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MDY1
NgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0L3dpbi9DaGFuZ2VMb2cKaW5kZXggYWRjODVmZDNlMzNmNGFiMmYyNTBiMjYwOGEzYTVmNGRm
NTU4Y2QxOC4uZWJmMDY4ZWFkYzAzODlhY2ZiZDljNmVlOTk1ZWVkMDM0NDUxZGQ4MCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvd2lu
L0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIyIEBACiAyMDE3LTA0LTA5ICBDaHJpcyBEdW1leiAgPGNk
dW1lekBhcHBsZS5jb20+CiAKKyAgICAgICAgRHJvcCBUaW1lcjo6c3RhcnRPbmVTaG90KCkgb3Zl
cmxvYWQgdGFraW5nIGEgZG91YmxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNzA2NTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBEcm9wIFRpbWVyOjpzdGFydE9uZVNob3QoKSBvdmVybG9hZCB0YWtpbmcg
YSBkb3VibGUgYXMgcGVvcGxlIHNob3VsZCB1c2UgU2Vjb25kcyB0eXBlIG5vdy4KKworICAgICAg
ICAqIFBsdWdpbnMvUGx1Z2luTWVzc2FnZVRocm90dGxlcldpbi5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpQbHVnaW5NZXNzYWdlVGhyb3R0bGVyV2luOjphcHBlbmRNZXNzYWdlKToKKyAgICAgICAg
KFdlYkNvcmU6OlBsdWdpbk1lc3NhZ2VUaHJvdHRsZXJXaW46Om1lc3NhZ2VUaHJvdHRsZVRpbWVy
RmlyZWQpOgorICAgICAgICAqIFBsdWdpbnMvUGx1Z2luVmlld1dpbi5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpQbHVnaW5WaWV3OjppbnZhbGlkYXRlUmVjdCk6CisgICAgICAgICogV2ViQ29yZVN1
cHBvcnQvQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQuY3BwOgorICAgICAgICAoQWNjZWxl
cmF0ZWRDb21wb3NpdGluZ0NvbnRleHQ6OnNjaGVkdWxlTGF5ZXJGbHVzaCk6CisKKzIwMTctMDQt
MDkgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKwogICAgICAgICBEcm9wIFRpbWVy
OjpzdGFydFJlcGVhdGluZygpIG92ZXJsb2FkIHRha2luZyBhIGRvdWJsZQogICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcwNjU2CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRl
eCBjMmYwZTUwZTkwODk3OTY0NjdiYjYzYTY4ZjM0ZWQ5ZWQ0ZjI3NDk2Li4wZGQ5MjIyMWFkYjEx
YTdlNmQyZjU1NzMzOWNhYTJiZTUyZGY3ODNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsNjUgQEAK
IDIwMTctMDQtMDkgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAorICAgICAgICBE
cm9wIFRpbWVyOjpzdGFydE9uZVNob3QoKSBvdmVybG9hZCB0YWtpbmcgYSBkb3VibGUKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MDY1OQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERyb3AgVGltZXI6OnN0
YXJ0T25lU2hvdCgpIG92ZXJsb2FkIHRha2luZyBhIGRvdWJsZSBhcyBwZW9wbGUgc2hvdWxkIHVz
ZSBTZWNvbmRzIHR5cGUgbm93LgorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvUGluZ0xvYWQu
aDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9zb3VwL05ldHdvcmtEYXRhVGFza1NvdXAuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrRGF0YVRhc2tTb3VwOjpzdGFydFRpbWVvdXQpOgor
ICAgICAgICAqIFBsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmg6CisgICAgICAgICogUGxhdGZvcm0v
SVBDL21hYy9Db25uZWN0aW9uTWFjLm1tOgorICAgICAgICAoSVBDOjpDb25uZWN0aW9uVGVybWlu
YXRpb25XYXRjaGRvZzo6Y3JlYXRlQ29ubmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hkb2cpOgorICAg
ICAgICAoSVBDOjpDb25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZzo6Q29ubmVjdGlvblRlcm1p
bmF0aW9uV2F0Y2hkb2cpOgorICAgICAgICAoSVBDOjpDb25uZWN0aW9uOjp0ZXJtaW5hdGVTb29u
KToKKyAgICAgICAgKiBQbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3MuY3BwOgorICAgICAgICAo
V2ViS2l0OjpQbHVnaW5Qcm9jZXNzOjpzZXRNaW5pbXVtTGlmZXRpbWUpOgorICAgICAgICAqIFBs
dWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5oOgorICAgICAgICAqIFNoYXJlZC9DaGlsZFByb2Nl
c3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpDaGlsZFByb2Nlc3M6OkNoaWxkUHJvY2Vzcyk6Cisg
ICAgICAgICogU2hhcmVkL0NoaWxkUHJvY2Vzcy5oOgorICAgICAgICAoV2ViS2l0OjpDaGlsZFBy
b2Nlc3M6OnNldFRlcm1pbmF0aW9uVGltZW91dCk6CisgICAgICAgICogU2hhcmVkL0Nvb3JkaW5h
dGVkR3JhcGhpY3MvdGhyZWFkZWRjb21wb3NpdG9yL0NvbXBvc2l0aW5nUnVuTG9vcC5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OkNvbXBvc2l0aW5nUnVuTG9vcDo6c3RhcnRVcGRhdGVUaW1lcik6Cisg
ICAgICAgICogU2hhcmVkL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5o
OgorICAgICAgICAqIFNoYXJlZC9XZWJNZW1vcnlTYW1wbGVyLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6V2ViTWVtb3J5U2FtcGxlcjo6aW5pdGlhbGl6ZVRpbWVycyk6CisgICAgICAgICogU2hhcmVk
L1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L0NvY29hL0FQSVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUNvY29hLm1tOgorICAgICAgICAoQVBJOjpT
aGFyZWRKU0NvbnRleHQ6OmVuc3VyZUNvbnRleHQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9DaGls
ZFByb2Nlc3NQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OkNoaWxkUHJvY2Vzc1Byb3h5Ojpz
aHV0RG93blByb2Nlc3MpOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9OYXZpZ2F0aW9uU3Rh
dGUubW06CisgICAgICAgIChXZWJLaXQ6Ok5hdmlnYXRpb25TdGF0ZTo6ZGlkQ2hhbmdlSXNMb2Fk
aW5nKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvVmlld0dlc3R1cmVDb250cm9sbGVyLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6Vmlld0dlc3R1cmVDb250cm9sbGVyOjpTbmFwc2hvdFJlbW92
YWxUcmFja2VyOjpzdGFydFdhdGNoZG9nKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvVmll
d0dlc3R1cmVDb250cm9sbGVyLmg6CisgICAgICAgICogVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJv
eHlJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6RHJhd2luZ0FyZWFQcm94eUltcGw6OmRpc2Nh
cmRCYWNraW5nU3RvcmVTb29uKToKKyAgICAgICAgKFdlYktpdDo6RHJhd2luZ0FyZWFQcm94eUlt
cGw6OkRyYXdpbmdNb25pdG9yOjpzdGFydCk6CisgICAgICAgIChXZWJLaXQ6OkRyYXdpbmdBcmVh
UHJveHlJbXBsOjpEcmF3aW5nTW9uaXRvcjo6ZGlkRHJhdyk6CisgICAgICAgICogVUlQcm9jZXNz
L0dhbWVwYWQvVUlHYW1lcGFkUHJvdmlkZXIuY3BwOgorICAgICAgICAqIFVJUHJvY2Vzcy9QbHVn
aW5zL1BsdWdpblByb2Nlc3NQcm94eS5jcHA6CisgICAgICAgICogVUlQcm9jZXNzL1Byb2Nlc3NU
aHJvdHRsZXIuY3BwOgorICAgICAgICAqIFVJUHJvY2Vzcy9SZXNwb25zaXZlbmVzc1RpbWVyLmNw
cDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQcm9jZXNzUG9vbDo6Y3JlYXRlTmV3V2ViUHJvY2Vzcyk6CisgICAgICAgICogVUlQ
cm9jZXNzL2d0ay9HZXN0dXJlQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJLaXQ6Okdlc3R1
cmVDb250cm9sbGVyOjpEcmFnR2VzdHVyZTo6YmVnaW4pOgorICAgICAgICAqIFVJUHJvY2Vzcy9t
YWMvV2ViSW5zcGVjdG9yUHJveHlNYWMubW06CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdl
L0FjY2VsZXJhdGVkRHJhd2luZ0FyZWEuY3BwOgorICAgICAgICAoV2ViS2l0OjpBY2NlbGVyYXRl
ZERyYXdpbmdBcmVhOjpleGl0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGVOb3cpOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5
ZXJUcmVlSG9zdC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9z
dDo6c2NoZWR1bGVBbmltYXRpb24pOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6ZGV0ZXJtaW5lUHJpbWFyeVNuYXBz
aG90dGVkUGx1Z0luKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwOgorCisy
MDE3LTA0LTA5ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKICAgICAgICAgRHJv
cCBUaW1lcjo6c3RhcnRSZXBlYXRpbmcoKSBvdmVybG9hZCB0YWtpbmcgYSBkb3VibGUKICAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MDY1NgogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dlb2xvY2F0aW9uL0dlb05vdGlmaWVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvTm90aWZpZXIuY3BwCmlu
ZGV4IDc0YTk2Y2UxZDJiYTgwMjdjNWRlNjFiZmQyMGY0YjI4NGZkMjg3YjIuLjg2OTUwMmYwMGQ0
ZDVkNjBhOTZjZmI3NmY3OTVhYjZhZDJiMDI2YzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvTm90aWZpZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvTm90aWZpZXIuY3BwCkBAIC04Nyw3ICs4Nyw3IEBAIHZv
aWQgR2VvTm90aWZpZXI6OnJ1bkVycm9yQ2FsbGJhY2soUG9zaXRpb25FcnJvciogZXJyb3IpCiAK
IHZvaWQgR2VvTm90aWZpZXI6OnN0YXJ0VGltZXJJZk5lZWRlZCgpCiB7Ci0gICAgbV90aW1lci5z
dGFydE9uZVNob3QobV9vcHRpb25zLnRpbWVvdXQgLyAxMDAwLjApOworICAgIG1fdGltZXIuc3Rh
cnRPbmVTaG90KDFfbXMgKiBtX29wdGlvbnMudGltZW91dCk7CiB9CiAKIHZvaWQgR2VvTm90aWZp
ZXI6OnN0b3BUaW1lcigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c2Vzc2lvbi9XZWJNZWRpYVNlc3Npb25NYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwCmluZGV4IDdhMzM2OWYx
MGU1MzBlNGRjODdlNzE3ZDU2NzVmNzA5MTEzYjgwZTkuLjQxNjZlNGU4OWZiZGQ2ZjJhMmE3MGNl
ZWViNzQ3ZTU3MDNjZmZjYTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwCkBAIC0zNiw3
ICszNiw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIGNvbnN0IGRvdWJsZSB0
YXNrRGVsYXlJbnRlcnZhbCA9IDEuMCAvIDEwLjA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyB0YXNr
RGVsYXlJbnRlcnZhbCB7IDEwMF9tcyB9OwogCiBzdHJ1Y3QgQ2xpZW50U3RhdGUgewogICAgIGV4
cGxpY2l0IENsaWVudFN0YXRlKFdlYk1lZGlhU2Vzc2lvbk1hbmFnZXJDbGllbnQmIGNsaWVudCwg
dWludDY0X3QgY29udGV4dElkKQpAQCAtNDIzLDggKzQyMyw4IEBAIHNpemVfdCBXZWJNZWRpYVNl
c3Npb25NYW5hZ2VyOjpmaW5kKFdlYk1lZGlhU2Vzc2lvbk1hbmFnZXJDbGllbnQqIGNsaWVudCwg
dWludDY0CiAKIHZvaWQgV2ViTWVkaWFTZXNzaW9uTWFuYWdlcjo6Y29uZmlndXJlV2F0Y2hkb2dU
aW1lcigpCiB7Ci0gICAgc3RhdGljIGNvbnN0IGRvdWJsZSB3YXRjaGRvZ1RpbWVySW50ZXJ2YWxB
ZnRlclBhdXNpbmcgPSA2MCAqIDYwOwotICAgIHN0YXRpYyBjb25zdCBkb3VibGUgd2F0Y2hkb2dU
aW1lckludGVydmFsQWZ0ZXJQbGF5aW5nVG9FbmQgPSA4ICogNjA7CisgICAgc3RhdGljIGNvbnN0
IFNlY29uZHMgd2F0Y2hkb2dUaW1lckludGVydmFsQWZ0ZXJQYXVzaW5nIHsgMV9oIH07CisgICAg
c3RhdGljIGNvbnN0IFNlY29uZHMgd2F0Y2hkb2dUaW1lckludGVydmFsQWZ0ZXJQbGF5aW5nVG9F
bmQgeyA4X21pbiB9OwogCiAgICAgaWYgKCFtX3BsYXliYWNrVGFyZ2V0IHx8ICFtX3BsYXliYWNr
VGFyZ2V0LT5oYXNBY3RpdmVSb3V0ZSgpKSB7CiAgICAgICAgIG1fd2F0Y2hkb2dUaW1lci5zdG9w
KCk7CkBAIC00NDIsMTEgKzQ0MiwxMSBAQCB2b2lkIFdlYk1lZGlhU2Vzc2lvbk1hbmFnZXI6OmNv
bmZpZ3VyZVdhdGNoZG9nVGltZXIoKQogICAgIH0KIAogICAgIGlmIChzdG9wVGltZXIpIHsKLSAg
ICAgICAgbV9jdXJyZW50V2F0Y2hkb2dJbnRlcnZhbCA9IDA7CisgICAgICAgIG1fY3VycmVudFdh
dGNoZG9nSW50ZXJ2YWwgPSB7IH07CiAgICAgICAgIG1fd2F0Y2hkb2dUaW1lci5zdG9wKCk7CiAg
ICAgICAgIExPRyhNZWRpYSwgIldlYk1lZGlhU2Vzc2lvbk1hbmFnZXI6OmNvbmZpZ3VyZVdhdGNo
ZG9nVGltZXIgLSB0aW1lciBzdG9wcGVkIik7CiAgICAgfSBlbHNlIHsKLSAgICAgICAgZG91Ymxl
IGludGVydmFsID0gZGlkUGxheVRvRW5kID8gd2F0Y2hkb2dUaW1lckludGVydmFsQWZ0ZXJQbGF5
aW5nVG9FbmQgOiB3YXRjaGRvZ1RpbWVySW50ZXJ2YWxBZnRlclBhdXNpbmc7CisgICAgICAgIFNl
Y29uZHMgaW50ZXJ2YWwgPSBkaWRQbGF5VG9FbmQgPyB3YXRjaGRvZ1RpbWVySW50ZXJ2YWxBZnRl
clBsYXlpbmdUb0VuZCA6IHdhdGNoZG9nVGltZXJJbnRlcnZhbEFmdGVyUGF1c2luZzsKICAgICAg
ICAgaWYgKGludGVydmFsICE9IG1fY3VycmVudFdhdGNoZG9nSW50ZXJ2YWwgfHwgIW1fd2F0Y2hk
b2dUaW1lci5pc0FjdGl2ZSgpKSB7CiAgICAgICAgICAgICBtX3dhdGNoZG9nVGltZXIuc3RhcnRP
bmVTaG90KGludGVydmFsKTsKICAgICAgICAgICAgIExPRyhNZWRpYSwgIldlYk1lZGlhU2Vzc2lv
bk1hbmFnZXI6OmNvbmZpZ3VyZVdhdGNoZG9nVGltZXIgLSB0aW1lciBzY2hlZHVsZWQgZm9yICUu
MGYiLCBpbnRlcnZhbCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c2Vzc2lvbi9XZWJNZWRpYVNlc3Npb25NYW5hZ2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc2Vzc2lvbi9XZWJNZWRpYVNlc3Npb25NYW5hZ2VyLmgKaW5kZXggNTdkNThlZjkxNGNi
MjNmMTk0MDFjY2NmZWMzOGVjZTM4ZWFlYTYwOS4uMjk1MDllMjhjNGFmYTU0YzZkNDZhMTNhZDNj
MWYxMWIxNmMxYTM2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNl
c3Npb24vV2ViTWVkaWFTZXNzaW9uTWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuaApAQCAtMTAyLDcgKzEwMiw3
IEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPE1lZGlhUGxheWJhY2tUYXJnZXQ+IG1fcGxheWJhY2tU
YXJnZXQ7CiAgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6Ok1lZGlhUGxheWJhY2tUYXJnZXRQ
aWNrZXJNb2NrPiBtX3BpY2tlck92ZXJyaWRlOwogICAgIENvbmZpZ3VyYXRpb25UYXNrcyBtX3Rh
c2tGbGFncyB7IE5vVGFzayB9OwotICAgIGRvdWJsZSBtX2N1cnJlbnRXYXRjaGRvZ0ludGVydmFs
IHsgMCB9OworICAgIFNlY29uZHMgbV9jdXJyZW50V2F0Y2hkb2dJbnRlcnZhbDsKICAgICBib29s
IG1fZXh0ZXJuYWxPdXRwdXREZXZpY2VBdmFpbGFibGUgeyBmYWxzZSB9OwogICAgIGJvb2wgbV90
YXJnZXRDaGFuZ2VkIHsgZmFsc2UgfTsKICAgICBib29sIG1fbW9ja1BpY2tlckVuYWJsZWQgeyBm
YWxzZSB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9D
YW52YXNDYXB0dXJlTWVkaWFTdHJlYW1UcmFjay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL0NhbnZhc0NhcHR1cmVNZWRpYVN0cmVhbVRyYWNrLmNwcAppbmRleCBkYjRj
NDA0MWM5NjczOTY4MDY5YjllM2ZjYjdkNWQ2ZWM1NTg3NDYwLi4zZjdiMmMxODhiNTk5ODBhMmQ1
Y2ZiYTg3NmU5NGI5MTg3MjBhOGRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL0NhbnZhc0NhcHR1cmVNZWRpYVN0cmVhbVRyYWNrLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL0NhbnZhc0NhcHR1cmVNZWRpYVN0cmVhbVRy
YWNrLmNwcApAQCAtMTQzLDcgKzE0Myw3IEBAIHZvaWQgQ2FudmFzQ2FwdHVyZU1lZGlhU3RyZWFt
VHJhY2s6OlNvdXJjZTo6Y2FudmFzQ2hhbmdlZChIVE1MQ2FudmFzRWxlbWVudCYgY2FuCiAgICAg
Ly8gRklYTUU6IFdlIHNob3VsZCB0cnkgdG8gZ2VuZXJhdGUgdGhlIGZyYW1lIGF0IHRoZSB0aW1l
IHRoZSBzY3JlZW4gaXMgYmVpbmcgdXBkYXRlZC4KICAgICBpZiAobV9jYW52YXNDaGFuZ2VkVGlt
ZXIuaXNBY3RpdmUoKSkKICAgICAgICAgcmV0dXJuOwotICAgIG1fY2FudmFzQ2hhbmdlZFRpbWVy
LnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2NhbnZhc0NoYW5nZWRUaW1lci5zdGFydE9uZVNob3Qo
MF9zKTsKIH0KIAogdm9pZCBDYW52YXNDYXB0dXJlTWVkaWFTdHJlYW1UcmFjazo6U291cmNlOjpj
YXB0dXJlQ2FudmFzKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvdmlicmF0
aW9uL1ZpYnJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3ZpYnJhdGlvbi9WaWJy
YXRpb24uY3BwCmluZGV4IGMxNTIyYjM5MjIwYjRhOGYxMmJkMzIxNjdlOGQxMTIyN2VlMWRkYTcu
LjA1MTgwNzNlMTA5ZjQ2MThjNGFmOWRlMWYyNTEzYWY0NjY2ZGFiZjAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvdmlicmF0aW9uL1ZpYnJhdGlvbi5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy92aWJyYXRpb24vVmlicmF0aW9uLmNwcApAQCAtMTEwLDcgKzExMCw3
IEBAIHZvaWQgVmlicmF0aW9uOjp0aW1lckZpcmVkKCkKICAgICAgICAgbV92aWJyYXRpb25DbGll
bnQtPnZpYnJhdGUobV9wYXR0ZXJuWzBdKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQotICAgIG1f
dGltZXIuc3RhcnRPbmVTaG90KG1fcGF0dGVyblswXSAvIDEwMDAuMCk7CisgICAgbV90aW1lci5z
dGFydE9uZVNob3QoMV9tcyAqIG1fcGF0dGVyblswXSk7CiAgICAgbV9wYXR0ZXJuLnJlbW92ZSgw
KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dl
YlNvY2tldENoYW5uZWwuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dl
YlNvY2tldENoYW5uZWwuY3BwCmluZGV4IGM1Y2IxMjRlMjIzZDI4NmZiYjZmMDJjZTcwMTA0MDI4
NTI2OWUxNWUuLjYxZDNjY2RkNzE1ZGY4NjM5MDQ5NWNiM2RlZGYyYTgwN2U2MTJkMjIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVs
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hh
bm5lbC5jcHAKQEAgLTYxLDcgKzYxLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jb25z
dCBkb3VibGUgVENQTWF4aW11bVNlZ21lbnRMaWZldGltZSA9IDIgKiA2MC4wOworY29uc3QgU2Vj
b25kcyBUQ1BNYXhpbXVtU2VnbWVudExpZmV0aW1lIHsgMl9taW4gfTsKIAogV2ViU29ja2V0Q2hh
bm5lbDo6V2ViU29ja2V0Q2hhbm5lbChEb2N1bWVudCYgZG9jdW1lbnQsIFdlYlNvY2tldENoYW5u
ZWxDbGllbnQmIGNsaWVudCwgU29ja2V0UHJvdmlkZXImIHByb3ZpZGVyKQogICAgIDogbV9kb2N1
bWVudCgmZG9jdW1lbnQpCkBAIC0yMDcsNyArMjA3LDcgQEAgdm9pZCBXZWJTb2NrZXRDaGFubmVs
OjpjbG9zZShpbnQgY29kZSwgY29uc3QgU3RyaW5nJiByZWFzb24pCiAgICAgUmVmPFdlYlNvY2tl
dENoYW5uZWw+IHByb3RlY3RlZFRoaXMoKnRoaXMpOyAvLyBBbiBhdHRlbXB0IHRvIHNlbmQgY2xv
c2luZyBoYW5kc2hha2UgbWF5IGZhaWwsIHdoaWNoIHdpbGwgZ2V0IHRoZSBjaGFubmVsIGNsb3Nl
ZCBhbmQgZGVyZWZlcmVuY2VkLgogICAgIHN0YXJ0Q2xvc2luZ0hhbmRzaGFrZShjb2RlLCByZWFz
b24pOwogICAgIGlmIChtX2Nsb3NpbmcgJiYgIW1fY2xvc2luZ1RpbWVyLmlzQWN0aXZlKCkpCi0g
ICAgICAgIG1fY2xvc2luZ1RpbWVyLnN0YXJ0T25lU2hvdCgyICogVENQTWF4aW11bVNlZ21lbnRM
aWZldGltZSk7CisgICAgICAgIG1fY2xvc2luZ1RpbWVyLnN0YXJ0T25lU2hvdChUQ1BNYXhpbXVt
U2VnbWVudExpZmV0aW1lICogMik7CiB9CiAKIHZvaWQgV2ViU29ja2V0Q2hhbm5lbDo6ZmFpbChj
b25zdCBTdHJpbmcmIHJlYXNvbikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvQVhPYmplY3RDYWNoZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FY
T2JqZWN0Q2FjaGUuY3BwCmluZGV4IDEyNTQwNTAxNGU3NjBiYzJiOWU3OWRiODE5N2ExZTBlZTc1
ZDAyZjcuLmYwNmRmNzQwMGFjYTU2ZTA4ZTE4MzJhNGFlYTBmYzU2ZDU0NTRjNDIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcApAQCAtMTEwLDkg
KzExMCw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7
CiAKIC8vIFBvc3QgdmFsdWUgY2hhbmdlIG5vdGlmaWNhdGlvbnMgZm9yIHBhc3N3b3JkIGZpZWxk
cyBvciBlbGVtZW50cyBjb250YWluZWQgaW4gcGFzc3dvcmQgZmllbGRzIGF0IGEgNDBoeiBpbnRl
cnZhbCB0byB0aHdhcnQgYW5hbHlzaXMgb2YgdHlwaW5nIGNhZGVuY2UKLXN0YXRpYyBkb3VibGUg
QWNjZXNzaWJpbGl0eVBhc3N3b3JkVmFsdWVDaGFuZ2VOb3RpZmljYXRpb25JbnRlcnZhbCA9IDAu
MDI1Owotc3RhdGljIGRvdWJsZSBBY2Nlc3NpYmlsaXR5TGl2ZVJlZ2lvbkNoYW5nZWROb3RpZmlj
YXRpb25JbnRlcnZhbCA9IDAuMDIwOwotc3RhdGljIGRvdWJsZSBBY2Nlc3NpYmlsaXR5Rm9jdXNB
cmlhTW9kYWxOb2RlTm90aWZpY2F0aW9uSW50ZXJ2YWwgPSAwLjA1MDsKK3N0YXRpYyBjb25zdCBT
ZWNvbmRzIGFjY2Vzc2liaWxpdHlQYXNzd29yZFZhbHVlQ2hhbmdlTm90aWZpY2F0aW9uSW50ZXJ2
YWwgeyAyNV9tcyB9Oworc3RhdGljIGNvbnN0IFNlY29uZHMgYWNjZXNzaWJpbGl0eUxpdmVSZWdp
b25DaGFuZ2VkTm90aWZpY2F0aW9uSW50ZXJ2YWwgeyAyMF9tcyB9Oworc3RhdGljIGNvbnN0IFNl
Y29uZHMgYWNjZXNzaWJpbGl0eUZvY3VzQXJpYU1vZGFsTm9kZU5vdGlmaWNhdGlvbkludGVydmFs
IHsgNTBfbXMgfTsKIAogQWNjZXNzaWJpbGl0eU9iamVjdEluY2x1c2lvbiBBWENvbXB1dGVkT2Jq
ZWN0QXR0cmlidXRlQ2FjaGU6OmdldElnbm9yZWQoQVhJRCBpZCkgY29uc3QKIHsKQEAgLTEzMTEs
NyArMTMxMSw3IEBAIGJvb2wgQVhPYmplY3RDYWNoZTo6ZW5xdWV1ZVBhc3N3b3JkVmFsdWVDaGFu
Z2VOb3RpZmljYXRpb24oQWNjZXNzaWJpbGl0eU9iamVjdCoKIAogICAgIG1fcGFzc3dvcmROb3Rp
ZmljYXRpb25zVG9Qb3N0LmFkZChvYnNlcnZhYmxlT2JqZWN0KTsKICAgICBpZiAoIW1fcGFzc3dv
cmROb3RpZmljYXRpb25Qb3N0VGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9wYXNzd29yZE5v
dGlmaWNhdGlvblBvc3RUaW1lci5zdGFydE9uZVNob3QoQWNjZXNzaWJpbGl0eVBhc3N3b3JkVmFs
dWVDaGFuZ2VOb3RpZmljYXRpb25JbnRlcnZhbCk7CisgICAgICAgIG1fcGFzc3dvcmROb3RpZmlj
YXRpb25Qb3N0VGltZXIuc3RhcnRPbmVTaG90KGFjY2Vzc2liaWxpdHlQYXNzd29yZFZhbHVlQ2hh
bmdlTm90aWZpY2F0aW9uSW50ZXJ2YWwpOwogCiAgICAgcmV0dXJuIHRydWU7CiB9CkBAIC0xMzM4
LDcgKzEzMzgsNyBAQCB2b2lkIEFYT2JqZWN0Q2FjaGU6OnBvc3RMaXZlUmVnaW9uQ2hhbmdlTm90
aWZpY2F0aW9uKEFjY2Vzc2liaWxpdHlPYmplY3QqIG9iamVjdAogICAgIGlmICghbV9saXZlUmVn
aW9uT2JqZWN0c1NldC5jb250YWlucyhvYmplY3QpKQogICAgICAgICBtX2xpdmVSZWdpb25PYmpl
Y3RzU2V0LmFkZChvYmplY3QpOwogCi0gICAgbV9saXZlUmVnaW9uQ2hhbmdlZFBvc3RUaW1lci5z
dGFydE9uZVNob3QoQWNjZXNzaWJpbGl0eUxpdmVSZWdpb25DaGFuZ2VkTm90aWZpY2F0aW9uSW50
ZXJ2YWwpOworICAgIG1fbGl2ZVJlZ2lvbkNoYW5nZWRQb3N0VGltZXIuc3RhcnRPbmVTaG90KGFj
Y2Vzc2liaWxpdHlMaXZlUmVnaW9uQ2hhbmdlZE5vdGlmaWNhdGlvbkludGVydmFsKTsKIH0KIAog
dm9pZCBBWE9iamVjdENhY2hlOjpsaXZlUmVnaW9uQ2hhbmdlZE5vdGlmaWNhdGlvblBvc3RUaW1l
ckZpcmVkKCkKQEAgLTEzNzIsNyArMTM3Miw3IEBAIHZvaWQgQVhPYmplY3RDYWNoZTo6Zm9jdXNB
cmlhTW9kYWxOb2RlKCkKICAgICBpZiAobV9mb2N1c0FyaWFNb2RhbE5vZGVUaW1lci5pc0FjdGl2
ZSgpKQogICAgICAgICBtX2ZvY3VzQXJpYU1vZGFsTm9kZVRpbWVyLnN0b3AoKTsKICAgICAKLSAg
ICBtX2ZvY3VzQXJpYU1vZGFsTm9kZVRpbWVyLnN0YXJ0T25lU2hvdChBY2Nlc3NpYmlsaXR5Rm9j
dXNBcmlhTW9kYWxOb2RlTm90aWZpY2F0aW9uSW50ZXJ2YWwpOworICAgIG1fZm9jdXNBcmlhTW9k
YWxOb2RlVGltZXIuc3RhcnRPbmVTaG90KGFjY2Vzc2liaWxpdHlGb2N1c0FyaWFNb2RhbE5vZGVO
b3RpZmljYXRpb25JbnRlcnZhbCk7CiB9CiAKIHZvaWQgQVhPYmplY3RDYWNoZTo6Zm9jdXNBcmlh
TW9kYWxOb2RlVGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
Rm9udEZhY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlLmNwcAppbmRleCAz
NGJkYmVlYWViN2Q2MzFlNDI4Zjk2YmU0MDNlMWI3MzQ2ZTgyODQ4Li5iZjkyMGY4ZDcxNDQxM2U3
YjdlNmFlYjVjM2M3ZWI1OTJkNGQ2MzA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTRm9udEZhY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZS5jcHAK
QEAgLTUyNyw3ICs1MjcsNyBAQCB2b2lkIENTU0ZvbnRGYWNlOjpzZXRTdGF0dXMoU3RhdHVzIG5l
d1N0YXR1cykKICAgICB9CiAKICAgICBpZiAobmV3U3RhdHVzID09IFN0YXR1czo6TG9hZGluZykK
LSAgICAgICAgbV90aW1lb3V0VGltZXIuc3RhcnRPbmVTaG90KHdlYkZvbnRzU2hvdWxkQWx3YXlz
RmFsbEJhY2soKSA/IDAgOiAzKTsKKyAgICAgICAgbV90aW1lb3V0VGltZXIuc3RhcnRPbmVTaG90
KHdlYkZvbnRzU2hvdWxkQWx3YXlzRmFsbEJhY2soKSA/IDBfcyA6IDNfcyk7CiAgICAgZWxzZSBp
ZiAobmV3U3RhdHVzID09IFN0YXR1czo6U3VjY2VzcyB8fCBuZXdTdGF0dXMgPT0gU3RhdHVzOjpG
YWlsdXJlKQogICAgICAgICBtX3RpbWVvdXRUaW1lci5zdG9wKCk7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9T
dHlsZVJlc29sdmVyLmNwcAppbmRleCBhZTdmOTc2YzZiNjhhNzMyZWVhYTQ5YjYwOTk4Y2MxNjdj
Nzg2NWEwLi40YWExMmQ3YTMyMjc1NGM3N2QyMjlhOGU1NTVlYmJjMTQxMmNmMWYzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwCkBAIC0xMzUsNiArMTM1LDcgQEAKICNpbmNsdWRl
ICJXZWJLaXRDU1NSZWdpb25SdWxlLmgiCiAjaW5jbHVkZSAiV2ViS2l0Rm9udEZhbWlseU5hbWVz
LmgiCiAjaW5jbHVkZSA8Yml0c2V0PgorI2luY2x1ZGUgPHd0Zi9TZWNvbmRzLmg+CiAjaW5jbHVk
ZSA8d3RmL1NldEZvclNjb3BlLmg+CiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogI2lu
Y2x1ZGUgPHd0Zi9WZWN0b3IuaD4KQEAgLTEyNTEsOCArMTI1Miw4IEBAIHZvaWQgU3R5bGVSZXNv
bHZlcjo6YWRkVG9NYXRjaGVkUHJvcGVydGllc0NhY2hlKGNvbnN0IFJlbmRlclN0eWxlKiBzdHls
ZSwgY29uc3QKICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgbWF0Y2hlZERlY2xhcmF0aW9uQ2Fj
aGVBZGRpdGlvbnNCZXR3ZWVuU3dlZXBzID0gMTAwOwogICAgIGlmICgrK21fbWF0Y2hlZFByb3Bl
cnRpZXNDYWNoZUFkZGl0aW9uc1NpbmNlTGFzdFN3ZWVwID49IG1hdGNoZWREZWNsYXJhdGlvbkNh
Y2hlQWRkaXRpb25zQmV0d2VlblN3ZWVwcwogICAgICAgICAmJiAhbV9tYXRjaGVkUHJvcGVydGll
c0NhY2hlU3dlZXBUaW1lci5pc0FjdGl2ZSgpKSB7Ci0gICAgICAgIHN0YXRpYyBjb25zdCB1bnNp
Z25lZCBtYXRjaGVkRGVjbGFyYXRpb25DYWNoZVN3ZWVwVGltZUluU2Vjb25kcyA9IDYwOwotICAg
ICAgICBtX21hdGNoZWRQcm9wZXJ0aWVzQ2FjaGVTd2VlcFRpbWVyLnN0YXJ0T25lU2hvdChtYXRj
aGVkRGVjbGFyYXRpb25DYWNoZVN3ZWVwVGltZUluU2Vjb25kcyk7CisgICAgICAgIHN0YXRpYyBj
b25zdCBTZWNvbmRzIG1hdGNoZWREZWNsYXJhdGlvbkNhY2hlU3dlZXBUaW1lIHsgMV9taW4gfTsK
KyAgICAgICAgbV9tYXRjaGVkUHJvcGVydGllc0NhY2hlU3dlZXBUaW1lci5zdGFydE9uZVNob3Qo
bWF0Y2hlZERlY2xhcmF0aW9uQ2FjaGVTd2VlcFRpbWUpOwogICAgIH0KIAogICAgIEFTU0VSVCho
YXNoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IDBlNzM5ZTNjNjYyZGRlMGU5ZWUwYmQx
OTVmY2RmY2I2YzQyMWRjOTEuLjNlMGQ4NGU4MDU2ZWEyMzllNGZlZDZkNTVhZThkMDRhNzYwZjkz
MDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtMTE5OSw3ICsxMTk5LDcgQEAgdm9pZCBE
b2N1bWVudDo6c2V0VmlzdWFsVXBkYXRlc0FsbG93ZWQoYm9vbCB2aXN1YWxVcGRhdGVzQWxsb3dl
ZCkKICAgICBpZiAodmlzdWFsVXBkYXRlc0FsbG93ZWQpCiAgICAgICAgIG1fdmlzdWFsVXBkYXRl
c1N1cHByZXNzaW9uVGltZXIuc3RvcCgpOwogICAgIGVsc2UKLSAgICAgICAgbV92aXN1YWxVcGRh
dGVzU3VwcHJlc3Npb25UaW1lci5zdGFydE9uZVNob3Qoc2V0dGluZ3MoKS5pbmNyZW1lbnRhbFJl
bmRlcmluZ1N1cHByZXNzaW9uVGltZW91dEluU2Vjb25kcygpKTsKKyAgICAgICAgbV92aXN1YWxV
cGRhdGVzU3VwcHJlc3Npb25UaW1lci5zdGFydE9uZVNob3QoMV9zICogc2V0dGluZ3MoKS5pbmNy
ZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNzaW9uVGltZW91dEluU2Vjb25kcygpKTsKIAogICAgIGlm
ICghdmlzdWFsVXBkYXRlc0FsbG93ZWQpCiAgICAgICAgIHJldHVybjsKQEAgLTUwMDQsOCArNTAw
NCw4IEBAIHZvaWQgRG9jdW1lbnQ6OmZpbmlzaGVkUGFyc2luZygpCiAgICAgLy8gc28gdGhhdCBk
eW5hbWljYWxseSBpbnNlcnRlZCBjb250ZW50IGNhbiBhbHNvIGJlbmVmaXQgZnJvbSBzaGFyaW5n
IG9wdGltaXphdGlvbnMuCiAgICAgLy8gTm90ZSB0aGF0IHdlIGRvbid0IHJlZnJlc2ggdGhlIHRp
bWVyIG9uIHBvb2wgYWNjZXNzIHNpbmNlIHRoYXQgY291bGQgbGVhZCB0byBodWdlIGNhY2hlcyBi
ZWluZyBrZXB0CiAgICAgLy8gYWxpdmUgaW5kZWZpbml0ZWx5IGJ5IHNvbWV0aGluZyBpbm5vY3Vv
dXMgbGlrZSBKUyBzZXR0aW5nIC5pbm5lckhUTUwgcmVwZWF0ZWRseSBvbiBhIHRpbWVyLgotICAg
IHN0YXRpYyBjb25zdCBpbnQgdGltZVRvS2VlcFNoYXJlZE9iamVjdFBvb2xBbGl2ZUFmdGVyUGFy
c2luZ0ZpbmlzaGVkSW5TZWNvbmRzID0gMTA7Ci0gICAgbV9zaGFyZWRPYmplY3RQb29sQ2xlYXJU
aW1lci5zdGFydE9uZVNob3QodGltZVRvS2VlcFNoYXJlZE9iamVjdFBvb2xBbGl2ZUFmdGVyUGFy
c2luZ0ZpbmlzaGVkSW5TZWNvbmRzKTsKKyAgICBzdGF0aWMgY29uc3QgU2Vjb25kcyB0aW1lVG9L
ZWVwU2hhcmVkT2JqZWN0UG9vbEFsaXZlQWZ0ZXJQYXJzaW5nRmluaXNoZWQgeyAxMF9zIH07Cisg
ICAgbV9zaGFyZWRPYmplY3RQb29sQ2xlYXJUaW1lci5zdGFydE9uZVNob3QodGltZVRvS2VlcFNo
YXJlZE9iamVjdFBvb2xBbGl2ZUFmdGVyUGFyc2luZ0ZpbmlzaGVkKTsKIAogICAgIC8vIFBhcnNl
ciBzaG91bGQgaGF2ZSBwaWNrZWQgdXAgYWxsIHNwZWN1bGF0aXZlIHByZWxvYWRzIGJ5IG5vdwog
ICAgIG1fY2FjaGVkUmVzb3VyY2VMb2FkZXItPmNsZWFyUHJlbG9hZHMoQ2FjaGVkUmVzb3VyY2VM
b2FkZXI6OkNsZWFyUHJlbG9hZHNNb2RlOjpDbGVhclNwZWN1bGF0aXZlUHJlbG9hZHMpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyLmNwcApp
bmRleCA5MmUwZGIzNjIyMjU1NTIyMWEzNGYyZGJjNTEwNjRhZjJkNDU2MDg3Li4xYjg1OTFmNmFj
MGIzMjZmZDUxOWI5OTkxOTg5ZjM4YTBlODcxY2JiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyLmNwcApAQCAtNDcsMTAgKzQ3LDEwIEBA
CiAjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+CiAKIC8vIEFsbG93IGEgbGl0dGxlIG1vcmUg
dGhhbiA2MGZwcyB0byBtYWtlIHN1cmUgd2UgY2FuIGF0IGxlYXN0IGhpdCB0aGF0IGZyYW1lIHJh
dGUuCi1zdGF0aWMgY29uc3QgU2Vjb25kcyBmdWxsU3BlZWRBbmltYXRpb25JbnRlcnZhbCB7IDAu
MDE1IH07CitzdGF0aWMgY29uc3QgU2Vjb25kcyBmdWxsU3BlZWRBbmltYXRpb25JbnRlcnZhbCB7
IDE1X21zIH07CiAvLyBBbGxvdyBhIGxpdHRsZSBtb3JlIHRoYW4gMzBmcHMgdG8gbWFrZSBzdXJl
IHdlIGNhbiBhdCBsZWFzdCBoaXQgdGhhdCBmcmFtZSByYXRlLgotc3RhdGljIGNvbnN0IFNlY29u
ZHMgaGFsZlNwZWVkVGhyb3R0bGluZ0FuaW1hdGlvbkludGVydmFsIHsgMC4wMzAgfTsKLXN0YXRp
YyBjb25zdCBTZWNvbmRzIGFnZ3Jlc3NpdmVUaHJvdHRsaW5nQW5pbWF0aW9uSW50ZXJ2YWwgeyAx
MCB9Oworc3RhdGljIGNvbnN0IFNlY29uZHMgaGFsZlNwZWVkVGhyb3R0bGluZ0FuaW1hdGlvbklu
dGVydmFsIHsgMzBfbXMgfTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIGFnZ3Jlc3NpdmVUaHJvdHRs
aW5nQW5pbWF0aW9uSW50ZXJ2YWwgeyAxMF9zIH07CiAjZW5kaWYKIAogI2RlZmluZSBSRUxFQVNF
X0xPR19JRl9BTExPV0VEKGZtdCwgLi4uKSBSRUxFQVNFX0xPR19JRihwYWdlKCkgJiYgcGFnZSgp
LT5pc0Fsd2F5c09uTG9nZ2luZ0FsbG93ZWQoKSwgUGVyZm9ybWFuY2VMb2dnaW5nLCAiJXAgLSBT
Y3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXI6OiIgZm10LCB0aGlzLCAjI19fVkFfQVJHU19fKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9BbHRlcm5hdGl2ZVRleHRDb250cm9s
bGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxl
ci5jcHAKaW5kZXggZTI3YmQwZDZmZDJmM2VjNzRkMDBlZDFmMWM2OTY1YzgxYmRlOTczZi4uMDVh
ZmFlNGI5OWM5N2M4ZDJlZjg0ZjAyYjYyYmRiNTJmMzc4Y2FkNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZWRpdGluZy9BbHRlcm5hdGl2ZVRleHRDb250cm9sbGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL0FsdGVybmF0aXZlVGV4dENvbnRyb2xsZXIuY3BwCkBAIC0xNDAs
NyArMTQwLDcgQEAgQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlcjo6fkFsdGVybmF0aXZlVGV4dENv
bnRyb2xsZXIoKQogCiB2b2lkIEFsdGVybmF0aXZlVGV4dENvbnRyb2xsZXI6OnN0YXJ0QWx0ZXJu
YXRpdmVUZXh0VUlUaW1lcihBbHRlcm5hdGl2ZVRleHRUeXBlIHR5cGUpCiB7Ci0gICAgY29uc3Qg
ZG91YmxlIGNvcnJlY3Rpb25QYW5lbFRpbWVySW50ZXJ2YWwgPSAwLjM7CisgICAgY29uc3QgU2Vj
b25kcyBjb3JyZWN0aW9uUGFuZWxUaW1lckludGVydmFsIHsgMzAwX21zIH07CiAgICAgaWYgKCFp
c0F1dG9tYXRpY1NwZWxsaW5nQ29ycmVjdGlvbkVuYWJsZWQoKSkKICAgICAgICAgcmV0dXJuOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAppbmRleCA0ZDYwNDY4MGY1
MzhjZmJkZGU0NjJmOTA0ZmNhNDQwNjgzNDhkOTM1Li45ZmVkNmY3MzY2YmE4YjExM2Y5ZGQ2MmEw
OWVhNTlmYzdhZDE3N2YzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRp
YUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5j
cHAKQEAgLTE2OCw3ICsxNjgsNyBAQCBzdGF0aWMgY29uc3QgZG91YmxlIFNlZWtUaW1lID0gMC4y
Owogc3RhdGljIGNvbnN0IFNlY29uZHMgU2NhblJlcGVhdERlbGF5IHsgMS41X3MgfTsKIHN0YXRp
YyBjb25zdCBkb3VibGUgU2Nhbk1heGltdW1SYXRlID0gODsKIAotc3RhdGljIGNvbnN0IGRvdWJs
ZSBIaWRlTWVkaWFDb250cm9sc0FmdGVyRW5kZWREZWxheSA9IDY7CitzdGF0aWMgY29uc3QgU2Vj
b25kcyBoaWRlTWVkaWFDb250cm9sc0FmdGVyRW5kZWREZWxheSB7IDZfcyB9OwogCiBzdGF0aWMg
dm9pZCBzZXRGbGFncyh1bnNpZ25lZCYgdmFsdWUsIHVuc2lnbmVkIGZsYWdzKQogewpAQCAtNDQ5
Nyw3ICs0NDk3LDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjphZGRCZWhhdmlvclJlc3RyaWN0
aW9uc09uRW5kSWZOZWNlc3NhcnkoKQogCiAgICAgbV9tZWRpYVNlc3Npb24tPmFkZEJlaGF2aW9y
UmVzdHJpY3Rpb24oTWVkaWFFbGVtZW50U2Vzc2lvbjo6UmVxdWlyZVVzZXJHZXN0dXJlVG9Db250
cm9sQ29udHJvbHNNYW5hZ2VyKTsKICAgICBtX3BsYXliYWNrQ29udHJvbHNNYW5hZ2VyQmVoYXZp
b3JSZXN0cmljdGlvbnNUaW1lci5zdG9wKCk7Ci0gICAgbV9wbGF5YmFja0NvbnRyb2xzTWFuYWdl
ckJlaGF2aW9yUmVzdHJpY3Rpb25zVGltZXIuc3RhcnRPbmVTaG90KEhpZGVNZWRpYUNvbnRyb2xz
QWZ0ZXJFbmRlZERlbGF5KTsKKyAgICBtX3BsYXliYWNrQ29udHJvbHNNYW5hZ2VyQmVoYXZpb3JS
ZXN0cmljdGlvbnNUaW1lci5zdGFydE9uZVNob3QoaGlkZU1lZGlhQ29udHJvbHNBZnRlckVuZGVk
RGVsYXkpOwogfQogCiB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OmhhbmRsZVNlZWtUb1BsYXliYWNr
UG9zaXRpb24oZG91YmxlIHBvc2l0aW9uKQpAQCAtNDUwNyw3ICs0NTA3LDcgQEAgdm9pZCBIVE1M
TWVkaWFFbGVtZW50OjpoYW5kbGVTZWVrVG9QbGF5YmFja1Bvc2l0aW9uKGRvdWJsZSBwb3NpdGlv
bikKICAgICAvLyBQbGVhc2Ugc2VlIDxyZGFyOi8vcHJvYmxlbS8yODQ1NzIxOT4gZm9yIG1vcmUg
ZGV0YWlscy4KICAgICBzZWVrKE1lZGlhVGltZTo6Y3JlYXRlV2l0aERvdWJsZShwb3NpdGlvbikp
OwogICAgIG1fc2Vla1RvUGxheWJhY2tQb3NpdGlvbkVuZGVkVGltZXIuc3RvcCgpOwotICAgIG1f
c2Vla1RvUGxheWJhY2tQb3NpdGlvbkVuZGVkVGltZXIuc3RhcnRPbmVTaG90KDAuNSk7CisgICAg
bV9zZWVrVG9QbGF5YmFja1Bvc2l0aW9uRW5kZWRUaW1lci5zdGFydE9uZVNob3QoNTAwX21zKTsK
IAogICAgIGlmICghbV9pc1NjcnViYmluZ1JlbW90ZWx5KSB7CiAgICAgICAgIG1faXNTY3J1YmJp
bmdSZW1vdGVseSA9IHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1NlYXJj
aElucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1NlYXJjaElucHV0VHlwZS5jcHAK
aW5kZXggZjVkMmJiOTU1MzI5MDcxOTgyNjY2ZGI3NThlZWMyYmM3NjZkNTBhNy4uZDgyMzU5ZjE2
ZDM3NjQ1MTczNjk2Y2Q0MGY3YmYwMTAzYmRlODM1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9TZWFyY2hJbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvU2Vh
cmNoSW5wdXRUeXBlLmNwcApAQCAtMTY1LDcgKzE2NSw3IEBAIHZvaWQgU2VhcmNoSW5wdXRUeXBl
OjpzdGFydFNlYXJjaEV2ZW50VGltZXIoKQogCiAgICAgLy8gQWZ0ZXIgdHlwaW5nIHRoZSBmaXJz
dCBrZXksIHdlIHdhaXQgMC41IHNlY29uZHMuCiAgICAgLy8gQWZ0ZXIgdGhlIHNlY29uZCBrZXks
IDAuNCBzZWNvbmRzLCB0aGVuIDAuMywgdGhlbiAwLjIgZnJvbSB0aGVuIG9uLgotICAgIG1fc2Vh
cmNoRXZlbnRUaW1lci5zdGFydE9uZVNob3Qoc3RkOjptYXgoMC4yLCAwLjYgLSAwLjEgKiBsZW5n
dGgpKTsKKyAgICBtX3NlYXJjaEV2ZW50VGltZXIuc3RhcnRPbmVTaG90KHN0ZDo6bWF4KDIwMF9t
cywgNjAwX21zIC0gMTAwX21zICogbGVuZ3RoKSk7CiB9CiAKIHZvaWQgU2VhcmNoSW5wdXRUeXBl
OjpzdG9wU2VhcmNoRXZlbnRUaW1lcigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L1ZhbGlkYXRpb25NZXNzYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRhdGlvbk1l
c3NhZ2UuY3BwCmluZGV4IDQ1MWZjNTkxMDg1MTQ1NzM5NGRjNDQ5NTNkZDg4OWMxMjk0YmU2ZDku
LjQ3MGVhZWRjM2E3NjY4NmQ1YzQwMWEwNTM3ZTgwN2ZhMzhmNTA1ZTQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRhdGlvbk1lc3NhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvVmFsaWRhdGlvbk1lc3NhZ2UuY3BwCkBAIC0xNDQsNyArMTQ0LDcgQEAgdm9pZCBW
YWxpZGF0aW9uTWVzc2FnZTo6c2V0TWVzc2FnZURPTUFuZFN0YXJ0VGltZXIoKQogICAgICAgICBt
X3RpbWVyID0gbnVsbHB0cjsKICAgICBlbHNlIHsKICAgICAgICAgbV90aW1lciA9IHN0ZDo6bWFr
ZV91bmlxdWU8VGltZXI+KCp0aGlzLCAmVmFsaWRhdGlvbk1lc3NhZ2U6OmRlbGV0ZUJ1YmJsZVRy
ZWUpOwotICAgICAgICBtX3RpbWVyLT5zdGFydE9uZVNob3Qoc3RkOjptYXgoNS4wLCBzdGF0aWNf
Y2FzdDxkb3VibGU+KG1fbWVzc2FnZS5sZW5ndGgoKSkgKiBtYWduaWZpY2F0aW9uIC8gMTAwMCkp
OworICAgICAgICBtX3RpbWVyLT5zdGFydE9uZVNob3Qoc3RkOjptYXgoNV9zLCAxX21zICogc3Rh
dGljX2Nhc3Q8ZG91YmxlPihtX21lc3NhZ2UubGVuZ3RoKCkpICogbWFnbmlmaWNhdGlvbikpOwog
ICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xS
ZW5kZXJpbmdDb250ZXh0QmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJH
TFJlbmRlcmluZ0NvbnRleHRCYXNlLmNwcAppbmRleCBiNTEyZmZjMTc2YmQzYTYxODdkMWQzZTRk
NGIwYmQ1YjQ0ZWZjODNlLi5hYmVjNjczMWRiYzUxNzA0ZDY2NGNiMDczZmJhYTkzNzIwZWE5ODFk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0Nv
bnRleHRCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRl
cmluZ0NvbnRleHRCYXNlLmNwcApAQCAtMTAwLDcgKzEwMCw3IEBACiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAotY29uc3QgZG91YmxlIHNlY29uZHNCZXR3ZWVuUmVzdG9yZUF0dGVtcHRzID0gMS4w
Oworc3RhdGljIGNvbnN0IFNlY29uZHMgc2Vjb25kc0JldHdlZW5SZXN0b3JlQXR0ZW1wdHMgeyAx
X3MgfTsKIGNvbnN0IGludCBtYXhHTEVycm9yc0FsbG93ZWRUb0NvbnNvbGUgPSAyNTY7CiBzdGF0
aWMgY29uc3QgU2Vjb25kcyBjaGVja0NvbnRleHRMb3NzSGFuZGxpbmdEZWxheSB7IDNfcyB9Owog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVt
ZW50cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50
cy5jcHAKaW5kZXggN2IxZGY0OWUyY2Y3NjNjYmNlZGI4NTM0ZDY4NWY3ZTNhMzlkZmY5Ny4uNWYz
YjNjMzU3Y2U0YmQ5MzA5NjIzZDc4Y2VmYTkwNTUzMzEwNjkwYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcApAQCAtMTM3LDcg
KzEzNyw3IEBAIHZvaWQgTWVkaWFDb250cm9sUGFuZWxFbGVtZW50OjpzdGFydFRpbWVyKCkKICAg
ICAvLyBUaGUgdGltZXIgaXMgcmVxdWlyZWQgdG8gc2V0IHRoZSBwcm9wZXJ0eSBkaXNwbGF5Oidu
b25lJyBvbiB0aGUgcGFuZWwsCiAgICAgLy8gc3VjaCB0aGF0IGNhcHRpb25zIGFyZSBjb3JyZWN0
bHkgZGlzcGxheWVkIGF0IHRoZSBib3R0b20gb2YgdGhlIHZpZGVvCiAgICAgLy8gYXQgdGhlIGVu
ZCBvZiB0aGUgZmFkZW91dCB0cmFuc2l0aW9uLgotICAgIGRvdWJsZSBkdXJhdGlvbiA9IGRvY3Vt
ZW50KCkucGFnZSgpID8gZG9jdW1lbnQoKS5wYWdlKCktPnRoZW1lKCkubWVkaWFDb250cm9sc0Zh
ZGVPdXREdXJhdGlvbigpIDogMDsKKyAgICBTZWNvbmRzIGR1cmF0aW9uID0gZG9jdW1lbnQoKS5w
YWdlKCkgPyBkb2N1bWVudCgpLnBhZ2UoKS0+dGhlbWUoKS5tZWRpYUNvbnRyb2xzRmFkZU91dER1
cmF0aW9uKCkgOiAwX3M7CiAgICAgbV90cmFuc2l0aW9uVGltZXIuc3RhcnRPbmVTaG90KGR1cmF0
aW9uKTsKIH0KIApAQCAtMjA1LDEwICsyMDUsMTAgQEAgdm9pZCBNZWRpYUNvbnRyb2xQYW5lbEVs
ZW1lbnQ6Om1ha2VUcmFuc3BhcmVudCgpCiAgICAgaWYgKCFtX29wYXF1ZSkKICAgICAgICAgcmV0
dXJuOwogCi0gICAgZG91YmxlIGR1cmF0aW9uID0gZG9jdW1lbnQoKS5wYWdlKCkgPyBkb2N1bWVu
dCgpLnBhZ2UoKS0+dGhlbWUoKS5tZWRpYUNvbnRyb2xzRmFkZU91dER1cmF0aW9uKCkgOiAwOwor
ICAgIFNlY29uZHMgZHVyYXRpb24gPSBkb2N1bWVudCgpLnBhZ2UoKSA/IGRvY3VtZW50KCkucGFn
ZSgpLT50aGVtZSgpLm1lZGlhQ29udHJvbHNGYWRlT3V0RHVyYXRpb24oKSA6IDBfczsKIAogICAg
IHNldElubGluZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlUcmFuc2l0aW9uUHJvcGVydHksIENT
U1Byb3BlcnR5T3BhY2l0eSk7Ci0gICAgc2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0
eVRyYW5zaXRpb25EdXJhdGlvbiwgZHVyYXRpb24sIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUyk7
CisgICAgc2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eVRyYW5zaXRpb25EdXJhdGlv
biwgZHVyYXRpb24udmFsdWUoKSwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19TKTsKICAgICBzZXRJ
bmxpbmVTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5T3BhY2l0eSwgMC4wLCBDU1NQcmltaXRpdmVW
YWx1ZTo6Q1NTX05VTUJFUik7CiAKICAgICBtX29wYXF1ZSA9IGZhbHNlOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9WVFRSZWdpb24uY3BwIGIvU291cmNlL1dlYkNvcmUv
aHRtbC90cmFjay9WVFRSZWdpb24uY3BwCmluZGV4IDA1NzhiZjkxMjY3Y2I1NTBhZjAyZGI3ZTIy
M2RkNDM2YzA3ZDUxYjYuLmNiNGQwNWJlYzBjMzNiOWIxY2ZjMGQzYmU0NDU5ZjA1ZDExNDlkYjEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVlRUUmVnaW9uLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1ZUVFJlZ2lvbi5jcHAKQEAgLTU2LDcgKzU2LDcg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogc3RhdGljIGNvbnN0IGZsb2F0IGxpbmVIZWlnaHQgPSA1
LjMzOwogCiAvLyBEZWZhdWx0IHNjcm9sbGluZyBhbmltYXRpb24gdGltZSBwZXJpb2QgKHMpLgot
c3RhdGljIGNvbnN0IGZsb2F0IHNjcm9sbFRpbWUgPSAwLjQzMzsKK3N0YXRpYyBjb25zdCBTZWNv
bmRzIHNjcm9sbFRpbWUgeyA0MzNfbXMgfTsKIAogVlRUUmVnaW9uOjpWVFRSZWdpb24oU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCkKICAgICA6IENvbnRleHREZXN0cnVjdGlvbk9ic2Vy
dmVyKCZjb250ZXh0KQpAQCAtNDAzLDcgKzQwMyw3IEBAIHZvaWQgVlRUUmVnaW9uOjpzdGFydFRp
bWVyKCkKICAgICBpZiAobV9zY3JvbGxUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICByZXR1cm47
CiAKLSAgICBkb3VibGUgZHVyYXRpb24gPSBpc1Njcm9sbGluZ1JlZ2lvbigpID8gc2Nyb2xsVGlt
ZSA6IDA7CisgICAgU2Vjb25kcyBkdXJhdGlvbiA9IGlzU2Nyb2xsaW5nUmVnaW9uKCkgPyBzY3Jv
bGxUaW1lIDogMF9zOwogICAgIG1fc2Nyb2xsVGltZXIuc3RhcnRPbmVTaG90KGR1cmF0aW9uKTsK
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uLmNwcAppbmRleCA1MWM0YmFhODUyZTVhY2EwMmI4MzU1MzYzZGYxNTk3NmI5MWVi
NmViLi5jMWI0Njg4ZjU2YjhjODdjNTVjMWJmZWI4MGM2ZTMyYjQwODcxNzczIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNw
cApAQCAtODAzLDcgKzgwMyw3IEBAIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpmcmFt
ZVN0b3BwZWRMb2FkaW5nSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzJiBpbnN0CiAgICAgICAgIGlu
c3BlY3RvclBhZ2VBZ2VudC0+ZnJhbWVTdG9wcGVkTG9hZGluZyhmcmFtZSk7CiB9CiAKLXZvaWQg
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpmcmFtZVNjaGVkdWxlZE5hdmlnYXRpb25JbXBsKElu
c3RydW1lbnRpbmdBZ2VudHMmIGluc3RydW1lbnRpbmdBZ2VudHMsIEZyYW1lJiBmcmFtZSwgZG91
YmxlIGRlbGF5KQordm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmZyYW1lU2NoZWR1bGVk
TmF2aWdhdGlvbkltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyYgaW5zdHJ1bWVudGluZ0FnZW50cywg
RnJhbWUmIGZyYW1lLCBTZWNvbmRzIGRlbGF5KQogewogICAgIGlmIChJbnNwZWN0b3JQYWdlQWdl
bnQqIGluc3BlY3RvclBhZ2VBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMuaW5zcGVjdG9yUGFn
ZUFnZW50KCkpCiAgICAgICAgIGluc3BlY3RvclBhZ2VBZ2VudC0+ZnJhbWVTY2hlZHVsZWROYXZp
Z2F0aW9uKGZyYW1lLCBkZWxheSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKaW5kZXggNDU4OTc1MjEyMGEzOTQyYzgwZmUyOTU3
YWU2ZTYzMjM2Y2Y4MzE0Ny4uOWMyMTEyNjY3NzM4ZWFmYTY5YTZmZjQ3YzdkOTVkNmNmMDVlNGZi
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1l
bnRhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb24uaApAQCAtMTc5LDcgKzE3OSw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBs
b2FkZXJEZXRhY2hlZEZyb21GcmFtZShGcmFtZSYsIERvY3VtZW50TG9hZGVyJik7CiAgICAgc3Rh
dGljIHZvaWQgZnJhbWVTdGFydGVkTG9hZGluZyhGcmFtZSYpOwogICAgIHN0YXRpYyB2b2lkIGZy
YW1lU3RvcHBlZExvYWRpbmcoRnJhbWUmKTsKLSAgICBzdGF0aWMgdm9pZCBmcmFtZVNjaGVkdWxl
ZE5hdmlnYXRpb24oRnJhbWUmLCBkb3VibGUgZGVsYXkpOworICAgIHN0YXRpYyB2b2lkIGZyYW1l
U2NoZWR1bGVkTmF2aWdhdGlvbihGcmFtZSYsIFNlY29uZHMgZGVsYXkpOwogICAgIHN0YXRpYyB2
b2lkIGZyYW1lQ2xlYXJlZFNjaGVkdWxlZE5hdmlnYXRpb24oRnJhbWUmKTsKICAgICBzdGF0aWMg
dm9pZCB3aWxsRGVzdHJveUNhY2hlZFJlc291cmNlKENhY2hlZFJlc291cmNlJik7CiAKQEAgLTM0
OSw3ICszNDksNyBAQCBwcml2YXRlOgogICAgIHN0YXRpYyB2b2lkIGxvYWRlckRldGFjaGVkRnJv
bUZyYW1lSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzJiwgRG9jdW1lbnRMb2FkZXImKTsKICAgICBz
dGF0aWMgdm9pZCBmcmFtZVN0YXJ0ZWRMb2FkaW5nSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzJiwg
RnJhbWUmKTsKICAgICBzdGF0aWMgdm9pZCBmcmFtZVN0b3BwZWRMb2FkaW5nSW1wbChJbnN0cnVt
ZW50aW5nQWdlbnRzJiwgRnJhbWUmKTsKLSAgICBzdGF0aWMgdm9pZCBmcmFtZVNjaGVkdWxlZE5h
dmlnYXRpb25JbXBsKEluc3RydW1lbnRpbmdBZ2VudHMmLCBGcmFtZSYsIGRvdWJsZSBkZWxheSk7
CisgICAgc3RhdGljIHZvaWQgZnJhbWVTY2hlZHVsZWROYXZpZ2F0aW9uSW1wbChJbnN0cnVtZW50
aW5nQWdlbnRzJiwgRnJhbWUmLCBTZWNvbmRzIGRlbGF5KTsKICAgICBzdGF0aWMgdm9pZCBmcmFt
ZUNsZWFyZWRTY2hlZHVsZWROYXZpZ2F0aW9uSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzJiwgRnJh
bWUmKTsKICAgICBzdGF0aWMgdm9pZCB3aWxsRGVzdHJveUNhY2hlZFJlc291cmNlSW1wbChDYWNo
ZWRSZXNvdXJjZSYpOwogCkBAIC05ODIsNyArOTgyLDcgQEAgaW5saW5lIHZvaWQgSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uOjpmcmFtZVN0b3BwZWRMb2FkaW5nKEZyYW1lJiBmcmFtZSkKICAgICAg
ICAgZnJhbWVTdG9wcGVkTG9hZGluZ0ltcGwoKmluc3RydW1lbnRpbmdBZ2VudHMsIGZyYW1lKTsK
IH0KIAotaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpmcmFtZVNjaGVkdWxl
ZE5hdmlnYXRpb24oRnJhbWUmIGZyYW1lLCBkb3VibGUgZGVsYXkpCitpbmxpbmUgdm9pZCBJbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb246OmZyYW1lU2NoZWR1bGVkTmF2aWdhdGlvbihGcmFtZSYgZnJh
bWUsIFNlY29uZHMgZGVsYXkpCiB7CiAgICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3Ry
dW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yRnJhbWUoZnJhbWUpKQogICAg
ICAgICBmcmFtZVNjaGVkdWxlZE5hdmlnYXRpb25JbXBsKCppbnN0cnVtZW50aW5nQWdlbnRzLCBm
cmFtZSwgZGVsYXkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvclBhZ2VBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFn
ZUFnZW50LmNwcAppbmRleCAzMmZkNDdlOTcwOGM5MGZmMGQzOWQ3ODc0ZDQ1OGUzNGJiMzM0YjRi
Li42YWE2YTA4NDRlZWVlODlkY2ZlZDAzOWZlYWYyMmNlODVkZGMwOTBmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmNwcApAQCAtODA2LDkgKzgw
Niw5IEBAIHZvaWQgSW5zcGVjdG9yUGFnZUFnZW50OjpmcmFtZVN0b3BwZWRMb2FkaW5nKEZyYW1l
JiBmcmFtZSkKICAgICBtX2Zyb250ZW5kRGlzcGF0Y2hlci0+ZnJhbWVTdG9wcGVkTG9hZGluZyhm
cmFtZUlkKCZmcmFtZSkpOwogfQogCi12b2lkIEluc3BlY3RvclBhZ2VBZ2VudDo6ZnJhbWVTY2hl
ZHVsZWROYXZpZ2F0aW9uKEZyYW1lJiBmcmFtZSwgZG91YmxlIGRlbGF5KQordm9pZCBJbnNwZWN0
b3JQYWdlQWdlbnQ6OmZyYW1lU2NoZWR1bGVkTmF2aWdhdGlvbihGcmFtZSYgZnJhbWUsIFNlY29u
ZHMgZGVsYXkpCiB7Ci0gICAgbV9mcm9udGVuZERpc3BhdGNoZXItPmZyYW1lU2NoZWR1bGVkTmF2
aWdhdGlvbihmcmFtZUlkKCZmcmFtZSksIGRlbGF5KTsKKyAgICBtX2Zyb250ZW5kRGlzcGF0Y2hl
ci0+ZnJhbWVTY2hlZHVsZWROYXZpZ2F0aW9uKGZyYW1lSWQoJmZyYW1lKSwgZGVsYXkudmFsdWUo
KSk7CiB9CiAKIHZvaWQgSW5zcGVjdG9yUGFnZUFnZW50OjpmcmFtZUNsZWFyZWRTY2hlZHVsZWRO
YXZpZ2F0aW9uKEZyYW1lJiBmcmFtZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JQYWdlQWdlbnQuaAppbmRleCA3ZTkyOGFlMGMyNTYxNWNlMmFiMWRiNzM3OGEwOWMyZTgz
ODg5ZTQ0Li4yODgzMTgxNzExYTQ2ZTYzMDY2ZDU5MGNlMzRkOGQxNDA5MTVjNzQ5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclBhZ2VBZ2VudC5oCkBAIC0xMTgsNyAr
MTE4LDcgQEAgcHVibGljOgogICAgIHZvaWQgbG9hZGVyRGV0YWNoZWRGcm9tRnJhbWUoRG9jdW1l
bnRMb2FkZXImKTsKICAgICB2b2lkIGZyYW1lU3RhcnRlZExvYWRpbmcoRnJhbWUmKTsKICAgICB2
b2lkIGZyYW1lU3RvcHBlZExvYWRpbmcoRnJhbWUmKTsKLSAgICB2b2lkIGZyYW1lU2NoZWR1bGVk
TmF2aWdhdGlvbihGcmFtZSYsIGRvdWJsZSBkZWxheSk7CisgICAgdm9pZCBmcmFtZVNjaGVkdWxl
ZE5hdmlnYXRpb24oRnJhbWUmLCBTZWNvbmRzIGRlbGF5KTsKICAgICB2b2lkIGZyYW1lQ2xlYXJl
ZFNjaGVkdWxlZE5hdmlnYXRpb24oRnJhbWUmKTsKICAgICB2b2lkIGFwcGx5RW11bGF0ZWRNZWRp
YShTdHJpbmcmKTsKICAgICB2b2lkIGRpZFBhaW50KFJlbmRlck9iamVjdCYsIGNvbnN0IExheW91
dFJlY3QmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2No
ZWR1bGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNw
cAppbmRleCBhMzkxODUxNWFkN2VmOGU3NWQ2MDA4NjUxOTczYjY1ZWUzYWM2NDE1Li5lNmMzOTJl
MDMxM2M1OGQyZTVkMDc0ZWFmMTcxNDI1YTRiNjJkYWNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuY3BwCkBAIC01NDEsNyArNTQxLDcgQEAgdm9pZCBO
YXZpZ2F0aW9uU2NoZWR1bGVyOjpzdGFydFRpbWVyKCkKICAgICBpZiAoIW1fcmVkaXJlY3QtPnNo
b3VsZFN0YXJ0VGltZXIobV9mcmFtZSkpCiAgICAgICAgIHJldHVybjsKIAotICAgIGRvdWJsZSBk
ZWxheSA9IG1fcmVkaXJlY3QtPmRlbGF5KCk7CisgICAgU2Vjb25kcyBkZWxheSA9IDFfcyAqIG1f
cmVkaXJlY3QtPmRlbGF5KCk7CiAgICAgbV90aW1lci5zdGFydE9uZVNob3QoZGVsYXkpOwogICAg
IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZnJhbWVTY2hlZHVsZWROYXZpZ2F0aW9uKG1fZnJh
bWUsIGRlbGF5KTsKICAgICBtX3JlZGlyZWN0LT5kaWRTdGFydFRpbWVyKG1fZnJhbWUsIG1fdGlt
ZXIpOyAvLyBtX3JlZGlyZWN0IG1heSBiZSBudWxsIG9uIHJldHVybiAoZS5nLiB0aGUgY2xpZW50
IGNhbmNlbGVkIHRoZSBsb2FkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2Nh
Y2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNo
ZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggNzE4MTk5MjA1NDU0MDUzZDczZTU3ZTBl
YTdlMDRjNWFkYWYzMWU1OS4uZTg5MDY1YjNhODBkZGU3M2RmOWE0MzcxZjQ2YzNjZWE5NmViMDM0
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNl
TG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3Vy
Y2VMb2FkZXIuY3BwCkBAIC04NCw3ICs4NCw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIC8v
IFRpbWVvdXQgZm9yIGxpbmsgcHJlbG9hZHMgdG8gYmUgdXNlZCBhZnRlciB3aW5kb3cub25sb2Fk
Ci1zdGF0aWMgY29uc3QgaW50IHVudXNlZFByZWxvYWRUaW1lb3V0SW5TZWNvbmRzID0gMzsKK3N0
YXRpYyBjb25zdCBTZWNvbmRzIHVudXNlZFByZWxvYWRUaW1lb3V0IHsgM19zIH07CiAKIHN0YXRp
YyBDYWNoZWRSZXNvdXJjZSogY3JlYXRlUmVzb3VyY2UoQ2FjaGVkUmVzb3VyY2U6OlR5cGUgdHlw
ZSwgQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVzdCwgU2Vzc2lvbklEIHNlc3Npb25JRCkK
IHsKQEAgLTgyOCw3ICs4MjgsNyBAQCB2b2lkIENhY2hlZFJlc291cmNlTG9hZGVyOjpkb2N1bWVu
dERpZEZpbmlzaExvYWRFdmVudCgpCiAgICAgLy8gSWYgbV9wcmVsb2FkcyBpcyBub3QgZW1wdHkg
aGVyZSwgaXQncyBmdWxsIG9mIGxpbmsgcHJlbG9hZHMsCiAgICAgLy8gYXMgc3BlY3VsYXRpdmUg
cHJlbG9hZHMgd2VyZSBjbGVhcmVkIGF0IERDTC4KICAgICBpZiAobV9wcmVsb2FkcyAmJiBtX3By
ZWxvYWRzLT5zaXplKCkgJiYgIW1fdW51c2VkUHJlbG9hZHNUaW1lci5pc0FjdGl2ZSgpKQotICAg
ICAgICBtX3VudXNlZFByZWxvYWRzVGltZXIuc3RhcnRPbmVTaG90KHVudXNlZFByZWxvYWRUaW1l
b3V0SW5TZWNvbmRzKTsKKyAgICAgICAgbV91bnVzZWRQcmVsb2Fkc1RpbWVyLnN0YXJ0T25lU2hv
dCh1bnVzZWRQcmVsb2FkVGltZW91dCk7CiB9CiAKIHZvaWQgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6
OnN0b3BVbnVzZWRQcmVsb2Fkc1RpbWVyKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9pY29uL0ljb25EYXRhYmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNvbi9J
Y29uRGF0YWJhc2UuY3BwCmluZGV4IDRjZGNmYWFkNmU4MzJhMzlhNWMzNTI2NTgwNTg1MDg2YjNk
OWY3MmYuLjhkZTk0Y2U1ZGNhNzY3MTE2MzYyMDJlNmQzMWY3NTMwZDhhMjkyZDIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmNwcApAQCAtNjcsNyArNjcsNyBA
QCBzdGF0aWMgY29uc3QgaW50IGN1cnJlbnREYXRhYmFzZVZlcnNpb24gPSA2OwogLy8gSWNvbnMg
ZXhwaXJlIG9uY2UgZXZlcnkgNCBkYXlzCiBzdGF0aWMgY29uc3QgaW50IGljb25FeHBpcmF0aW9u
VGltZSA9IDYwKjYwKjI0KjQ7IAogCi1zdGF0aWMgY29uc3QgaW50IHVwZGF0ZVRpbWVyRGVsYXkg
PSA1OyAKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHVwZGF0ZVRpbWVyRGVsYXkgeyA1X3MgfTsKIAog
c3RhdGljIGJvb2wgY2hlY2tJbnRlZ3JpdHlPbk9wZW4gPSBmYWxzZTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9FdmVudEhhbmRsZXIuY3BwCmluZGV4IGRjYTgyMzA0NjMwYzMyMDg1NWNkYWZlMjEzYmVhMDMy
OGZjNjRjZjMuLjg0NWYzYWViZWY1NDdlNjc4ZjFkMGM3OWQ5ZTU5M2ZhMGJjNWQ3ZmMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKQEAgLTE1NywxNCArMTU3LDE0IEBAIHVzaW5n
IG5hbWVzcGFjZSBTVkdOYW1lczsKIC8vIGR1cmluZyBhIHNjcm9sbC4gVGhlIHNob3J0IGludGVy
dmFsIGlzIHVzZWQgaWYgdGhlIGNvbnRlbnQgcmVzcG9uZHMgdG8gdGhlIG1vdXNlIGV2ZW50cwog
Ly8gaW4gZmFrZU1vdXNlTW92ZUR1cmF0aW9uVGhyZXNob2xkIG9yIGxlc3MsIG90aGVyd2lzZSB0
aGUgbG9uZyBpbnRlcnZhbCBpcyB1c2VkLgogY29uc3QgZG91YmxlIGZha2VNb3VzZU1vdmVEdXJh
dGlvblRocmVzaG9sZCA9IDAuMDE7Ci1jb25zdCBkb3VibGUgZmFrZU1vdXNlTW92ZVNob3J0SW50
ZXJ2YWwgPSAwLjE7Ci1jb25zdCBkb3VibGUgZmFrZU1vdXNlTW92ZUxvbmdJbnRlcnZhbCA9IDAu
MjU7Citjb25zdCBTZWNvbmRzIGZha2VNb3VzZU1vdmVTaG9ydEludGVydmFsID0geyAxMDBfbXMg
fTsKK2NvbnN0IFNlY29uZHMgZmFrZU1vdXNlTW92ZUxvbmdJbnRlcnZhbCA9IHsgMjUwX21zIH07
CiAjZW5kaWYKIAogI2lmIEVOQUJMRShDVVJTT1JfU1VQUE9SVCkKIC8vIFRoZSBhbW91bnQgb2Yg
dGltZSB0byB3YWl0IGZvciBhIGN1cnNvciB1cGRhdGUgb24gc3R5bGUgYW5kIGxheW91dCBjaGFu
Z2VzCiAvLyBTZXQgdG8gNTBIeiwgbm8gbmVlZCB0byBiZSBmYXN0ZXIgdGhhbiBjb21tb24gc2Ny
ZWVuIHJlZnJlc2ggcmF0ZQotY29uc3QgZG91YmxlIGN1cnNvclVwZGF0ZUludGVydmFsID0gMC4w
MjsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIGN1cnNvclVwZGF0ZUludGVydmFsIHsgMjBfbXMgfTsK
IAogY29uc3QgaW50IG1heGltdW1DdXJzb3JTaXplID0gMTI4OwogI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRXZlbnRTb3VyY2UuY3BwCmluZGV4IGIxZGVkM2Y4ZjdjMWRhMTJiOTM3ZTM1YmNlZmQ0NDgx
OTg1ZjYxM2MuLjM3OTQzMDlkZWQyNDVjNWYyN2Y3N2JhY2JkZjk4ZWMxYjM3ZjNlN2MgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuY3BwCkBAIC0xMzgsNyArMTM4LDcgQEAgdm9pZCBFdmVu
dFNvdXJjZTo6c2NoZWR1bGVJbml0aWFsQ29ubmVjdCgpCiB2b2lkIEV2ZW50U291cmNlOjpzY2hl
ZHVsZVJlY29ubmVjdCgpCiB7CiAgICAgbV9zdGF0ZSA9IENPTk5FQ1RJTkc7Ci0gICAgbV9jb25u
ZWN0VGltZXIuc3RhcnRPbmVTaG90KG1fcmVjb25uZWN0RGVsYXkgLyAxMDAwLjApOworICAgIG1f
Y29ubmVjdFRpbWVyLnN0YXJ0T25lU2hvdCgxX21zICogbV9yZWNvbm5lY3REZWxheSk7CiAgICAg
ZGlzcGF0Y2hFdmVudChFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5lcnJvckV2ZW50LCBmYWxz
ZSwgZmFsc2UpKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Gb2N1c0Nv
bnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Gb2N1c0NvbnRyb2xsZXIuY3BwCmlu
ZGV4IGExYjg4ZWViODEyZGJhODBmNzFlMzA0OTVjNzc0NTgwODVjNjMyZDcuLjhmMGEyNzdiMzM1
NmJkMTcyMDE0N2QzNzMxNjYwZjI2N2JjNWRjMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRm9jdXNDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZvY3Vz
Q29udHJvbGxlci5jcHAKQEAgLTEwODksNyArMTA4OSw3IEBAIGJvb2wgRm9jdXNDb250cm9sbGVy
OjphZHZhbmNlRm9jdXNEaXJlY3Rpb25hbGx5KEZvY3VzRGlyZWN0aW9uIGRpcmVjdGlvbiwgS2V5
Ym9hCiAKIHZvaWQgRm9jdXNDb250cm9sbGVyOjpzZXRGb2N1c2VkRWxlbWVudE5lZWRzUmVwYWlu
dCgpCiB7Ci0gICAgbV9mb2N1c1JlcGFpbnRUaW1lci5zdGFydE9uZVNob3QoMC4wMzMpOworICAg
IG1fZm9jdXNSZXBhaW50VGltZXIuc3RhcnRPbmVTaG90KDMzX21zKTsKIH0KIAogdm9pZCBGb2N1
c0NvbnRyb2xsZXI6OmZvY3VzUmVwYWludFRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZp
ZXcuY3BwCmluZGV4IGZhYzFlMmZiM2NkOWMxYWU1YjM2MjQ0OGRhYjNkMmE4MWEwMGU2Y2YuLmMz
ZmNjOTMxMTFlMmI3NWE0MzcwZDg1MmMwNTA3MDA5ZWQzNjM1MTkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Zy
YW1lVmlldy5jcHAKQEAgLTI1MTUsNyArMjUxNSw3IEBAIHZvaWQgRnJhbWVWaWV3OjpzY3JvbGxQ
b3NpdGlvbkNoYW5nZWQoY29uc3QgU2Nyb2xsUG9zaXRpb24mIG9sZFBvc2l0aW9uLCBjb25zdCBT
CiAgICAgICAgIG1fZGVsYXllZFNjcm9sbEV2ZW50VGltZXIuc3RvcCgpOwogICAgICAgICBzZW5k
U2Nyb2xsRXZlbnQoKTsKICAgICB9IGVsc2UgaWYgKCFtX2RlbGF5ZWRTY3JvbGxFdmVudFRpbWVy
LmlzQWN0aXZlKCkpCi0gICAgICAgIG1fZGVsYXllZFNjcm9sbEV2ZW50VGltZXIuc3RhcnRPbmVT
aG90KHRocm90dGxpbmdEZWxheS52YWx1ZSgpKTsKKyAgICAgICAgbV9kZWxheWVkU2Nyb2xsRXZl
bnRUaW1lci5zdGFydE9uZVNob3QodGhyb3R0bGluZ0RlbGF5KTsKIAogICAgIGlmIChEb2N1bWVu
dCogZG9jdW1lbnQgPSBmcmFtZSgpLmRvY3VtZW50KCkpCiAgICAgICAgIGRvY3VtZW50LT5zZW5k
V2lsbFJldmVhbEVkZ2VFdmVudHNJZk5lZWRlZChvbGRQb3NpdGlvbiwgbmV3UG9zaXRpb24sIHZp
c2libGVDb250ZW50UmVjdCgpLCBjb250ZW50c1NpemUoKSk7CkBAIC0yOTM0LDcgKzI5MzQsNyBA
QCB2b2lkIEZyYW1lVmlldzo6ZW5hYmxlU3BlY3VsYXRpdmVUaWxpbmdJZk5lZWRlZCgpCiAgICAg
aWYgKG1fc3BlY3VsYXRpdmVUaWxpbmdFbmFibGVUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICBy
ZXR1cm47CiAgICAgLy8gRGVsYXkgZW5hYmxpbmcgYSBiaXQgYXMgbG9hZCBjb21wbGV0aW9uIG1h
eSB0cmlnZ2VyIGZ1cnRoZXIgbG9hZGluZyBmcm9tIHNjcmlwdHMuCi0gICAgc3RhdGljIGNvbnN0
IGRvdWJsZSBzcGVjdWxhdGl2ZVRpbGluZ0VuYWJsZURlbGF5ID0gMC41OworICAgIHN0YXRpYyBj
b25zdCBTZWNvbmRzIHNwZWN1bGF0aXZlVGlsaW5nRW5hYmxlRGVsYXkgeyA1MDBfbXMgfTsKICAg
ICBtX3NwZWN1bGF0aXZlVGlsaW5nRW5hYmxlVGltZXIuc3RhcnRPbmVTaG90KHNwZWN1bGF0aXZl
VGlsaW5nRW5hYmxlRGVsYXkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1NldHRpbmdzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCmluZGV4IGU3
Y2M5MGFmYzIwM2Q3YzNhOTllNDVhMjc0NmE2ZDg2MzA2YTFkZDcuLjQ1MDcwZWQwOTQ0ZWNhMWJm
YzdjY2FjYTRhMDE0OGE5YjhkZTdhYTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
U2V0dGluZ3MuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCkBAIC0y
MTIsNyArMjEyLDcgQEAgU2V0dGluZ3M6OlNldHRpbmdzKFBhZ2UqIHBhZ2UpCiAgICAgLCBtX3Rv
dWNoRXZlbnRFbXVsYXRpb25FbmFibGVkKGZhbHNlKQogI2VuZGlmCiAgICAgLCBtX3Njcm9sbGlu
Z1BlcmZvcm1hbmNlTG9nZ2luZ0VuYWJsZWQoZmFsc2UpCi0gICAgLCBtX3RpbWVXaXRob3V0TW91
c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKDMpCisgICAgLCBtX3RpbWVXaXRob3V0TW91
c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKDNfcykKICAgICAsIG1fc2V0SW1hZ2VMb2Fk
aW5nU2V0dGluZ3NUaW1lcigqdGhpcywgJlNldHRpbmdzOjppbWFnZUxvYWRpbmdTZXR0aW5nc1Rp
bWVyRmlyZWQpCiAgICAgLCBtX2hpZGRlblBhZ2VET01UaW1lclRocm90dGxpbmdFbmFibGVkKGZh
bHNlKQogICAgICwgbV9oaWRkZW5QYWdlQ1NTQW5pbWF0aW9uU3VzcGVuc2lvbkVuYWJsZWQoZmFs
c2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKaW5kZXggOWYzNzA3NTViMGI4MmJmZTgxOTI4MGE1OTgx
NDBkYTM5ZjU4MjM4ZC4uZDE5NmRjMmM5NjczZjU3ZGIwZGVkOWUzNjA1MTlkMTY4YWFiOWFlYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaApAQCAtMjU2LDggKzI1Niw4IEBAIHB1YmxpYzoKICAgICBX
RUJDT1JFX0VYUE9SVCBzdGF0aWMgdm9pZCBzZXRTaG91bGRSZXNwZWN0UHJpb3JpdHlJbkNTU0F0
dHJpYnV0ZVNldHRlcnMoYm9vbCk7CiAgICAgc3RhdGljIGJvb2wgc2hvdWxkUmVzcGVjdFByaW9y
aXR5SW5DU1NBdHRyaWJ1dGVTZXR0ZXJzKCk7CiAKLSAgICB2b2lkIHNldFRpbWVXaXRob3V0TW91
c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKGRvdWJsZSB0aW1lKSB7IG1fdGltZVdpdGhv
dXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMgPSB0aW1lOyB9Ci0gICAgZG91Ymxl
IHRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKCkgY29uc3QgeyBy
ZXR1cm4gbV90aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9sczsgfQor
ICAgIHZvaWQgc2V0VGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMo
U2Vjb25kcyB0aW1lKSB7IG1fdGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29u
dHJvbHMgPSB0aW1lOyB9CisgICAgU2Vjb25kcyB0aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZv
cmVIaWRpbmdDb250cm9scygpIGNvbnN0IHsgcmV0dXJuIG1fdGltZVdpdGhvdXRNb3VzZU1vdmVt
ZW50QmVmb3JlSGlkaW5nQ29udHJvbHM7IH0KIAogICAgIGJvb2wgaGlkZGVuUGFnZUNTU0FuaW1h
dGlvblN1c3BlbnNpb25FbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9oaWRkZW5QYWdlQ1NTQW5p
bWF0aW9uU3VzcGVuc2lvbkVuYWJsZWQ7IH0KICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldEhp
ZGRlblBhZ2VDU1NBbmltYXRpb25TdXNwZW5zaW9uRW5hYmxlZChib29sKTsKQEAgLTM2MSw3ICsz
NjEsNyBAQCBwcml2YXRlOgogI2VuZGlmCiAgICAgYm9vbCBtX3Njcm9sbGluZ1BlcmZvcm1hbmNl
TG9nZ2luZ0VuYWJsZWQgOiAxOwogCi0gICAgZG91YmxlIG1fdGltZVdpdGhvdXRNb3VzZU1vdmVt
ZW50QmVmb3JlSGlkaW5nQ29udHJvbHM7CisgICAgU2Vjb25kcyBtX3RpbWVXaXRob3V0TW91c2VN
b3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzOwogCiAgICAgVGltZXIgbV9zZXRJbWFnZUxvYWRp
bmdTZXR0aW5nc1RpbWVyOwogICAgIHZvaWQgaW1hZ2VMb2FkaW5nU2V0dGluZ3NUaW1lckZpcmVk
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1N1c3BlbmRhYmxlVGltZXIuaCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3VzcGVuZGFibGVUaW1lci5oCmluZGV4IDMxMjkyMDhmZTU1
ZGNhMGQwOTg1NWM5ZTIzZTFlYjc3MTMxNDM0ZmMuLjU1ODQ0MzQwNzgzNDZmYjliNTdhNmVhNTlh
ZmNlMjdhNjI0MGI1NWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3VzcGVuZGFi
bGVUaW1lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3VzcGVuZGFibGVUaW1lci5oCkBA
IC00NSw4ICs0NSw2IEBAIHB1YmxpYzoKICAgICBib29sIGlzQWN0aXZlKCkgY29uc3QgeyByZXR1
cm4gVGltZXJCYXNlOjppc0FjdGl2ZSgpIHx8IChtX3N1c3BlbmRlZCAmJiBtX3NhdmVkSXNBY3Rp
dmUpOyB9CiAgICAgYm9vbCBpc1N1c3BlbmRlZCgpIGNvbnN0IHsgcmV0dXJuIG1fc3VzcGVuZGVk
OyB9CiAKLSAgICB2b2lkIHN0YXJ0T25lU2hvdChkb3VibGUgaW50ZXJ2YWwpIHsgc3RhcnRPbmVT
aG90KFNlY29uZHMgeyBpbnRlcnZhbCB9KTsgfQotCiAgICAgU2Vjb25kcyByZXBlYXRJbnRlcnZh
bCgpIGNvbnN0OwogCiAgICAgdm9pZCBzdGFydFJlcGVhdGluZyhTZWNvbmRzIHJlcGVhdEludGVy
dmFsKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0NTU0FuaW1h
dGlvbkNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQ1NTQW5p
bWF0aW9uQ29udHJvbGxlci5jcHAKaW5kZXggZGNkN2U0MGFkMWU5YWZkYTlkNWFmY2QxMDg2MWRk
NGZlNWY1MDZjMy4uMDBjNzNlMTZiYzMxYWE3NThjOTM4NGQ1NGQ0NzA4YzI4MmE4MTQ2MSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQ1NTQW5pbWF0aW9uQ29udHJv
bGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQ1NTQW5pbWF0aW9u
Q29udHJvbGxlci5jcHAKQEAgLTQ5LDkgKzQ5LDkgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
Ly8gQWxsb3cgYSBsaXR0bGUgbW9yZSB0aGFuIDYwZnBzIHRvIG1ha2Ugc3VyZSB3ZSBjYW4gYXQg
bGVhc3QgaGl0IHRoYXQgZnJhbWUgcmF0ZS4KLXN0YXRpYyBjb25zdCBTZWNvbmRzIGFuaW1hdGlv
blRpbWVyRGVsYXkgeyAwLjAxNSB9Oworc3RhdGljIGNvbnN0IFNlY29uZHMgYW5pbWF0aW9uVGlt
ZXJEZWxheSB7IDE1X21zIH07CiAvLyBBbGxvdyBhIGxpdHRsZSBtb3JlIHRoYW4gMzBmcHMgdG8g
bWFrZSBzdXJlIHdlIGNhbiBhdCBsZWFzdCBoaXQgdGhhdCBmcmFtZSByYXRlLgotc3RhdGljIGNv
bnN0IFNlY29uZHMgYW5pbWF0aW9uVGltZXJUaHJvdHRsZWREZWxheSB7IDAuMDMwIH07CitzdGF0
aWMgY29uc3QgU2Vjb25kcyBhbmltYXRpb25UaW1lclRocm90dGxlZERlbGF5IHsgMzBfbXMgfTsK
IAogY2xhc3MgQW5pbWF0aW9uUHJpdmF0ZVVwZGF0ZUJsb2NrIHsKIHB1YmxpYzoKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL0V2ZW50SGFuZGxlck1hYy5tbSBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvbWFjL0V2ZW50SGFuZGxlck1hYy5tbQppbmRleCBmNTFlMGE4YTQyZTBkNjg1
NmUzNjMyNzY4NTM4NzJlMWM3YjMzN2Q4Li5mNzFlNGZkYzE1OWMzNWE2MTBmNDVmYjYxNWIwZjRl
MTQ4ZGJhODY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9FdmVudEhhbmRs
ZXJNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1t
CkBAIC03NCw3ICs3NCw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY29uc3QgZG91Ymxl
IHJlc2V0TGF0Y2hlZFN0YXRlVGltZW91dCA9IDAuMTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHJl
c2V0TGF0Y2hlZFN0YXRlVGltZW91dCB7IDEwMF9tcyB9OwogCiBzdGF0aWMgUmV0YWluUHRyPE5T
RXZlbnQ+JiBjdXJyZW50TlNFdmVudFNsb3QoKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9tYWMvVGV4dEluZGljYXRvcldpbmRvdy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
bWFjL1RleHRJbmRpY2F0b3JXaW5kb3cubW0KaW5kZXggZTU5MjliYTYzZGU1OWY0OTgzYmQ4Y2Y5
YzMwMDY0ZTY3MTc3M2NiYy4uZmMzNmRjYjEzY2VkN2U1YWMyY2YwMTc3M2FjZTc5MzIxNDY2MGRk
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvVGV4dEluZGljYXRvcldpbmRv
dy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9UZXh0SW5kaWNhdG9yV2luZG93Lm1t
CkBAIC00NzYsNyArNDc2LDcgQEAgdm9pZCBUZXh0SW5kaWNhdG9yV2luZG93OjpzZXRUZXh0SW5k
aWNhdG9yKFJlZjxUZXh0SW5kaWNhdG9yPiB0ZXh0SW5kaWNhdG9yLCBDR1IKICAgICAgICAgW21f
dGV4dEluZGljYXRvclZpZXcgcHJlc2VudF07CiAKICAgICBpZiAobGlmZXRpbWUgPT0gVGV4dElu
ZGljYXRvcldpbmRvd0xpZmV0aW1lOjpUZW1wb3JhcnkpCi0gICAgICAgIG1fdGVtcG9yYXJ5VGV4
dEluZGljYXRvclRpbWVyLnN0YXJ0T25lU2hvdCh0aW1lQmVmb3JlRmFkZVN0YXJ0cyk7CisgICAg
ICAgIG1fdGVtcG9yYXJ5VGV4dEluZGljYXRvclRpbWVyLnN0YXJ0T25lU2hvdCgxX3MgKiB0aW1l
QmVmb3JlRmFkZVN0YXJ0cyk7CiB9CiAKIHZvaWQgVGV4dEluZGljYXRvcldpbmRvdzo6Y2xvc2VX
aW5kb3coKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vSHlzdGVyZXNpc0Fj
dGl2aXR5LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9IeXN0ZXJlc2lzQWN0aXZpdHkuaApp
bmRleCAxMjhlZjgyMDllMmE3NDgzMDllMDYyODIwZWRjODIzOTgwYzBiMmUxLi41OTllMTcxZWMx
YWNhZDIwZWQ4ZjE1ZDFiNDVjOWVhYTlmMWNlMGEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9IeXN0ZXJlc2lzQWN0aXZpdHkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9IeXN0ZXJlc2lzQWN0aXZpdHkuaApAQCAtNjUsNyArNjUsNyBAQCBwdWJsaWM6CiAgICAg
ICAgICAgICByZXR1cm47CiAgICAgICAgIG1fYWN0aXZlID0gZmFsc2U7CiAKLSAgICAgICAgbV90
aW1lci5zdGFydE9uZVNob3QobV9oeXN0ZXJlc2lzU2Vjb25kcyk7CisgICAgICAgIG1fdGltZXIu
c3RhcnRPbmVTaG90KDFfcyAqIG1faHlzdGVyZXNpc1NlY29uZHMpOwogICAgIH0KIAogICAgIHZv
aWQgaW1wdWxzZSgpCkBAIC04OSw3ICs4OSw3IEBAIHByaXZhdGU6CiAgICAgfQogCiAgICAgc3Rk
OjpmdW5jdGlvbjx2b2lkKEh5c3RlcmVzaXNTdGF0ZSk+IG1fY2FsbGJhY2s7Ci0gICAgZG91Ymxl
IG1faHlzdGVyZXNpc1NlY29uZHM7CisgICAgZG91YmxlIG1faHlzdGVyZXNpc1NlY29uZHM7IC8v
IEZJWE1FOiBTaG91bGQgdXNlIFNlY29uZHMuCiAgICAgYm9vbCBtX2FjdGl2ZTsKICAgICBUaW1l
ciBtX3RpbWVyOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9s
bEFuaW1hdGlvblNtb290aC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmlt
YXRpb25TbW9vdGguY3BwCmluZGV4IGM4ZjVkNWRjMDM1NDViYmU1NjA2Nzk3ODZlZDkxMTk3NDE2
NGVlNzYuLjY4NDk3ODQ3Y2FiZWNmZDdhYTQxYzY5NjllMDBiMzY3Y2Q0NGQxM2IgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdGlvblNtb290aC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmNwcApAQCAt
MzcsOCArMzcsOCBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdGF0aWMgY29uc3QgZG91Ymxl
IGZyYW1lUmF0ZSA9IDYwOwotc3RhdGljIGNvbnN0IGRvdWJsZSB0aWNrVGltZSA9IDEgLyBmcmFt
ZVJhdGU7Ci1zdGF0aWMgY29uc3QgZG91YmxlIG1pbmltdW1UaW1lckludGVydmFsID0gLjAwMTsK
K3N0YXRpYyBjb25zdCBTZWNvbmRzIHRpY2tUaW1lID0gMV9zIC8gZnJhbWVSYXRlOworc3RhdGlj
IGNvbnN0IFNlY29uZHMgbWluaW11bVRpbWVySW50ZXJ2YWwgeyAxX21zIH07CiAKIFNjcm9sbEFu
aW1hdGlvblNtb290aDo6U2Nyb2xsQW5pbWF0aW9uU21vb3RoKFNjcm9sbGFibGVBcmVhJiBzY3Jv
bGxhYmxlQXJlYSwgY29uc3QgRmxvYXRQb2ludCYgcG9zaXRpb24sIHN0ZDo6ZnVuY3Rpb248dm9p
ZCAoRmxvYXRQb2ludCYmKT4mJiBub3RpZnlQb3NpdGlvbkNoYW5nZWRGdW5jdGlvbikKICAgICA6
IFNjcm9sbEFuaW1hdGlvbihzY3JvbGxhYmxlQXJlYSkKQEAgLTIyNiw0MCArMjI2LDQwIEBAIHN0
YXRpYyBpbmxpbmUgZG91YmxlIHJlbGVhc2VBcmVhKFNjcm9sbEFuaW1hdGlvblNtb290aDo6Q3Vy
dmUgY3VydmUsIGRvdWJsZSBzdGFyCiAgICAgcmV0dXJuIGVuZFZhbHVlIC0gc3RhcnRWYWx1ZTsK
IH0KIAotc3RhdGljIGlubGluZSB2b2lkIGdldEFuaW1hdGlvblBhcmFtZXRlcnNGb3JHcmFudWxh
cml0eShTY3JvbGxHcmFudWxhcml0eSBncmFudWxhcml0eSwgZG91YmxlJiBhbmltYXRpb25UaW1l
LCBkb3VibGUmIHJlcGVhdE1pbmltdW1TdXN0YWluVGltZSwgZG91YmxlJiBhdHRhY2tUaW1lLCBk
b3VibGUmIHJlbGVhc2VUaW1lLCBTY3JvbGxBbmltYXRpb25TbW9vdGg6OkN1cnZlJiBjb2FzdFRp
bWVDdXJ2ZSwgZG91YmxlJiBtYXhpbXVtQ29hc3RUaW1lKQorc3RhdGljIGlubGluZSB2b2lkIGdl
dEFuaW1hdGlvblBhcmFtZXRlcnNGb3JHcmFudWxhcml0eShTY3JvbGxHcmFudWxhcml0eSBncmFu
dWxhcml0eSwgU2Vjb25kcyYgYW5pbWF0aW9uVGltZSwgU2Vjb25kcyYgcmVwZWF0TWluaW11bVN1
c3RhaW5UaW1lLCBTZWNvbmRzJiBhdHRhY2tUaW1lLCBTZWNvbmRzJiByZWxlYXNlVGltZSwgU2Ny
b2xsQW5pbWF0aW9uU21vb3RoOjpDdXJ2ZSYgY29hc3RUaW1lQ3VydmUsIFNlY29uZHMmIG1heGlt
dW1Db2FzdFRpbWUpCiB7CiAgICAgc3dpdGNoIChncmFudWxhcml0eSkgewogICAgIGNhc2UgU2Ny
b2xsQnlEb2N1bWVudDoKLSAgICAgICAgYW5pbWF0aW9uVGltZSA9IDIwICogdGlja1RpbWU7Ci0g
ICAgICAgIHJlcGVhdE1pbmltdW1TdXN0YWluVGltZSA9IDEwICogdGlja1RpbWU7Ci0gICAgICAg
IGF0dGFja1RpbWUgPSAxMCAqIHRpY2tUaW1lOwotICAgICAgICByZWxlYXNlVGltZSA9IDEwICog
dGlja1RpbWU7CisgICAgICAgIGFuaW1hdGlvblRpbWUgPSB0aWNrVGltZSAqIDEwOworICAgICAg
ICByZXBlYXRNaW5pbXVtU3VzdGFpblRpbWUgPSB0aWNrVGltZSAqIDEwOworICAgICAgICBhdHRh
Y2tUaW1lID0gdGlja1RpbWUgKiAxMDsKKyAgICAgICAgcmVsZWFzZVRpbWUgPSB0aWNrVGltZSAq
IDEwOwogICAgICAgICBjb2FzdFRpbWVDdXJ2ZSA9IFNjcm9sbEFuaW1hdGlvblNtb290aDo6Q3Vy
dmU6OkxpbmVhcjsKLSAgICAgICAgbWF4aW11bUNvYXN0VGltZSA9IDE7CisgICAgICAgIG1heGlt
dW1Db2FzdFRpbWUgPSAxX3M7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgU2Nyb2xsQnlMaW5l
OgotICAgICAgICBhbmltYXRpb25UaW1lID0gMTAgKiB0aWNrVGltZTsKLSAgICAgICAgcmVwZWF0
TWluaW11bVN1c3RhaW5UaW1lID0gNyAqIHRpY2tUaW1lOwotICAgICAgICBhdHRhY2tUaW1lID0g
MyAqIHRpY2tUaW1lOwotICAgICAgICByZWxlYXNlVGltZSA9IDMgKiB0aWNrVGltZTsKKyAgICAg
ICAgYW5pbWF0aW9uVGltZSA9IHRpY2tUaW1lICogMTA7CisgICAgICAgIHJlcGVhdE1pbmltdW1T
dXN0YWluVGltZSA9IHRpY2tUaW1lICogNzsKKyAgICAgICAgYXR0YWNrVGltZSA9IHRpY2tUaW1l
ICogMzsKKyAgICAgICAgcmVsZWFzZVRpbWUgPSB0aWNrVGltZSAqIDM7CiAgICAgICAgIGNvYXN0
VGltZUN1cnZlID0gU2Nyb2xsQW5pbWF0aW9uU21vb3RoOjpDdXJ2ZTo6TGluZWFyOwotICAgICAg
ICBtYXhpbXVtQ29hc3RUaW1lID0gMTsKKyAgICAgICAgbWF4aW11bUNvYXN0VGltZSA9IDFfczsK
ICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBTY3JvbGxCeVBhZ2U6Ci0gICAgICAgIGFuaW1hdGlv
blRpbWUgPSAxNSAqIHRpY2tUaW1lOwotICAgICAgICByZXBlYXRNaW5pbXVtU3VzdGFpblRpbWUg
PSAxMCAqIHRpY2tUaW1lOwotICAgICAgICBhdHRhY2tUaW1lID0gNSAqIHRpY2tUaW1lOwotICAg
ICAgICByZWxlYXNlVGltZSA9IDUgKiB0aWNrVGltZTsKKyAgICAgICAgYW5pbWF0aW9uVGltZSA9
IHRpY2tUaW1lICogMTU7CisgICAgICAgIHJlcGVhdE1pbmltdW1TdXN0YWluVGltZSA9IHRpY2tU
aW1lICogMTA7CisgICAgICAgIGF0dGFja1RpbWUgPSB0aWNrVGltZSAqIDU7CisgICAgICAgIHJl
bGVhc2VUaW1lID0gdGlja1RpbWUgKiA1OwogICAgICAgICBjb2FzdFRpbWVDdXJ2ZSA9IFNjcm9s
bEFuaW1hdGlvblNtb290aDo6Q3VydmU6OkxpbmVhcjsKLSAgICAgICAgbWF4aW11bUNvYXN0VGlt
ZSA9IDE7CisgICAgICAgIG1heGltdW1Db2FzdFRpbWUgPSAxX3M7CiAgICAgICAgIGJyZWFrOwog
ICAgIGNhc2UgU2Nyb2xsQnlQaXhlbDoKLSAgICAgICAgYW5pbWF0aW9uVGltZSA9IDExICogdGlj
a1RpbWU7Ci0gICAgICAgIHJlcGVhdE1pbmltdW1TdXN0YWluVGltZSA9IDIgKiB0aWNrVGltZTsK
LSAgICAgICAgYXR0YWNrVGltZSA9IDMgKiB0aWNrVGltZTsKLSAgICAgICAgcmVsZWFzZVRpbWUg
PSAzICogdGlja1RpbWU7CisgICAgICAgIGFuaW1hdGlvblRpbWUgPSB0aWNrVGltZSAqIDExOwor
ICAgICAgICByZXBlYXRNaW5pbXVtU3VzdGFpblRpbWUgPSB0aWNrVGltZSAqIDI7CisgICAgICAg
IGF0dGFja1RpbWUgPSB0aWNrVGltZSAqIDM7CisgICAgICAgIHJlbGVhc2VUaW1lID0gdGlja1Rp
bWUgKiAzOwogICAgICAgICBjb2FzdFRpbWVDdXJ2ZSA9IFNjcm9sbEFuaW1hdGlvblNtb290aDo6
Q3VydmU6OlF1YWRyYXRpYzsKLSAgICAgICAgbWF4aW11bUNvYXN0VGltZSA9IDEuMjU7CisgICAg
ICAgIG1heGltdW1Db2FzdFRpbWUgPSAxMjUwX21zOwogICAgICAgICBicmVhazsKICAgICBkZWZh
dWx0OgogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKQEAgLTI3MCw3ICsyNzAsNyBAQCBi
b29sIFNjcm9sbEFuaW1hdGlvblNtb290aDo6dXBkYXRlUGVyQXhpc0RhdGEoUGVyQXhpc0RhdGEm
IGRhdGEsIFNjcm9sbEdyYW51bGFyaQogewogICAgIGlmICghZGF0YS5zdGFydFRpbWUgfHwgIWRl
bHRhIHx8IChkZWx0YSA8IDApICE9IChkYXRhLmRlc2lyZWRQb3NpdGlvbiAtIGRhdGEuY3VycmVu
dFBvc2l0aW9uIDwgMCkpIHsKICAgICAgICAgZGF0YS5kZXNpcmVkUG9zaXRpb24gPSBkYXRhLmN1
cnJlbnRQb3NpdGlvbjsKLSAgICAgICAgZGF0YS5zdGFydFRpbWUgPSAwOworICAgICAgICBkYXRh
LnN0YXJ0VGltZSA9IHsgfTsKICAgICB9CiAgICAgZmxvYXQgbmV3UG9zaXRpb24gPSBkYXRhLmRl
c2lyZWRQb3NpdGlvbiArIGRlbHRhOwogCkBAIC0yNzksNyArMjc5LDcgQEAgYm9vbCBTY3JvbGxB
bmltYXRpb25TbW9vdGg6OnVwZGF0ZVBlckF4aXNEYXRhKFBlckF4aXNEYXRhJiBkYXRhLCBTY3Jv
bGxHcmFudWxhcmkKICAgICBpZiAobmV3UG9zaXRpb24gPT0gZGF0YS5kZXNpcmVkUG9zaXRpb24p
CiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIGRvdWJsZSBhbmltYXRpb25UaW1lLCByZXBl
YXRNaW5pbXVtU3VzdGFpblRpbWUsIGF0dGFja1RpbWUsIHJlbGVhc2VUaW1lLCBtYXhpbXVtQ29h
c3RUaW1lOworICAgIFNlY29uZHMgYW5pbWF0aW9uVGltZSwgcmVwZWF0TWluaW11bVN1c3RhaW5U
aW1lLCBhdHRhY2tUaW1lLCByZWxlYXNlVGltZSwgbWF4aW11bUNvYXN0VGltZTsKICAgICBDdXJ2
ZSBjb2FzdFRpbWVDdXJ2ZTsKICAgICBnZXRBbmltYXRpb25QYXJhbWV0ZXJzRm9yR3JhbnVsYXJp
dHkoZ3JhbnVsYXJpdHksIGFuaW1hdGlvblRpbWUsIHJlcGVhdE1pbmltdW1TdXN0YWluVGltZSwg
YXR0YWNrVGltZSwgcmVsZWFzZVRpbWUsIGNvYXN0VGltZUN1cnZlLCBtYXhpbXVtQ29hc3RUaW1l
KTsKIApAQCAtMjk4LDcgKzI5OCw3IEBAIGJvb2wgU2Nyb2xsQW5pbWF0aW9uU21vb3RoOjp1cGRh
dGVQZXJBeGlzRGF0YShQZXJBeGlzRGF0YSYgZGF0YSwgU2Nyb2xsR3JhbnVsYXJpCiAKICAgICBp
ZiAoIWRhdGEuc3RhcnRUaW1lKSB7CiAgICAgICAgIC8vIEZJWE1FOiBUaGlzIHNob3VsZCBiZSB0
aGUgdGltZSBmcm9tIHRoZSBldmVudCB0aGF0IGdvdCB1cyBoZXJlLgotICAgICAgICBkYXRhLnN0
YXJ0VGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpIC0gdGlja1RpbWUgLyAyOwor
ICAgICAgICBkYXRhLnN0YXJ0VGltZSA9IE1vbm90b25pY1RpbWU6Om5vdygpIC0gdGlja1RpbWUg
LyAyLjsKICAgICAgICAgZGF0YS5zdGFydFBvc2l0aW9uID0gZGF0YS5jdXJyZW50UG9zaXRpb247
CiAgICAgICAgIGRhdGEubGFzdEFuaW1hdGlvblRpbWUgPSBkYXRhLnN0YXJ0VGltZTsKICAgICB9
CkBAIC0zMDYsMTAgKzMwNiwxMCBAQCBib29sIFNjcm9sbEFuaW1hdGlvblNtb290aDo6dXBkYXRl
UGVyQXhpc0RhdGEoUGVyQXhpc0RhdGEmIGRhdGEsIFNjcm9sbEdyYW51bGFyaQogCiAgICAgZG91
YmxlIHJlbWFpbmluZ0RlbHRhID0gZGF0YS5kZXNpcmVkUG9zaXRpb24gLSBkYXRhLmN1cnJlbnRQ
b3NpdGlvbjsKICAgICBkb3VibGUgYXR0YWNrQXJlYUxlZnQgPSAwOwotICAgIGRvdWJsZSBkZWx0
YVRpbWUgPSBkYXRhLmxhc3RBbmltYXRpb25UaW1lIC0gZGF0YS5zdGFydFRpbWU7Ci0gICAgZG91
YmxlIGF0dGFja1RpbWVMZWZ0ID0gc3RkOjptYXgoMC4sIGRhdGEuYXR0YWNrVGltZSAtIGRlbHRh
VGltZSk7Ci0gICAgZG91YmxlIHRpbWVMZWZ0ID0gZGF0YS5hbmltYXRpb25UaW1lIC0gZGVsdGFU
aW1lOwotICAgIGRvdWJsZSBtaW5UaW1lTGVmdCA9IGRhdGEucmVsZWFzZVRpbWUgKyBzdGQ6Om1p
bihyZXBlYXRNaW5pbXVtU3VzdGFpblRpbWUsIGRhdGEuYW5pbWF0aW9uVGltZSAtIGRhdGEucmVs
ZWFzZVRpbWUgLSBhdHRhY2tUaW1lTGVmdCk7CisgICAgU2Vjb25kcyBkZWx0YVRpbWUgPSBkYXRh
Lmxhc3RBbmltYXRpb25UaW1lIC0gZGF0YS5zdGFydFRpbWU7CisgICAgU2Vjb25kcyBhdHRhY2tU
aW1lTGVmdCA9IHN0ZDo6bWF4KDBfcywgZGF0YS5hdHRhY2tUaW1lIC0gZGVsdGFUaW1lKTsKKyAg
ICBTZWNvbmRzIHRpbWVMZWZ0ID0gZGF0YS5hbmltYXRpb25UaW1lIC0gZGVsdGFUaW1lOworICAg
IFNlY29uZHMgbWluVGltZUxlZnQgPSBkYXRhLnJlbGVhc2VUaW1lICsgc3RkOjptaW4ocmVwZWF0
TWluaW11bVN1c3RhaW5UaW1lLCBkYXRhLmFuaW1hdGlvblRpbWUgLSBkYXRhLnJlbGVhc2VUaW1l
IC0gYXR0YWNrVGltZUxlZnQpOwogICAgIGlmICh0aW1lTGVmdCA8IG1pblRpbWVMZWZ0KSB7CiAg
ICAgICAgIGRhdGEuYW5pbWF0aW9uVGltZSA9IGRlbHRhVGltZSArIG1pblRpbWVMZWZ0OwogICAg
ICAgICB0aW1lTGVmdCA9IG1pblRpbWVMZWZ0OwpAQCAtMzIxLDE0ICszMjEsMTQgQEAgYm9vbCBT
Y3JvbGxBbmltYXRpb25TbW9vdGg6OnVwZGF0ZVBlckF4aXNEYXRhKFBlckF4aXNEYXRhJiBkYXRh
LCBTY3JvbGxHcmFudWxhcmkKICAgICAgICAgZG91YmxlIG1pbkNvYXN0RGVsdGEgPSBkYXRhLnZp
c2libGVMZW5ndGg7CiAKICAgICAgICAgaWYgKGZhYnMocmVtYWluaW5nRGVsdGEpID4gbWluQ29h
c3REZWx0YSkgewotICAgICAgICAgICAgZG91YmxlIG1heENvYXN0RGVsdGEgPSBtYXhpbXVtQ29h
c3RUaW1lICogdGFyZ2V0TWF4Q29hc3RWZWxvY2l0eTsKKyAgICAgICAgICAgIGRvdWJsZSBtYXhD
b2FzdERlbHRhID0gbWF4aW11bUNvYXN0VGltZS52YWx1ZSgpICogdGFyZ2V0TWF4Q29hc3RWZWxv
Y2l0eTsKICAgICAgICAgICAgIGRvdWJsZSBjb2FzdEZhY3RvciA9IHN0ZDo6bWluKDEuLCAoZmFi
cyhyZW1haW5pbmdEZWx0YSkgLSBtaW5Db2FzdERlbHRhKSAvIChtYXhDb2FzdERlbHRhIC0gbWlu
Q29hc3REZWx0YSkpOwogCiAgICAgICAgICAgICAvLyBXZSBjb3VsZCBwbGF5IHdpdGggdGhlIGN1
cnZlIGhlcmUgLSBsaW5lYXIgc2VlbXMgYSBsaXR0bGUgc29mdC4gSW5pdGlhbCB0ZXN0aW5nIG1h
a2VzIG1lIHdhbnQgdG8gZmVlZCBpbnRvIHRoZSBzdXN0YWluIHRpbWUgbW9yZSBhZ2dyZXNzaXZl
bHkuCi0gICAgICAgICAgICBkb3VibGUgY29hc3RNaW5UaW1lTGVmdCA9IHN0ZDo6bWluKG1heGlt
dW1Db2FzdFRpbWUsIG1pblRpbWVMZWZ0ICsgY29hc3RDdXJ2ZShjb2FzdFRpbWVDdXJ2ZSwgY29h
c3RGYWN0b3IpICogKG1heGltdW1Db2FzdFRpbWUgLSBtaW5UaW1lTGVmdCkpOworICAgICAgICAg
ICAgU2Vjb25kcyBjb2FzdE1pblRpbWVMZWZ0ID0gc3RkOjptaW4obWF4aW11bUNvYXN0VGltZSwg
bWluVGltZUxlZnQgKyAobWF4aW11bUNvYXN0VGltZSAtIG1pblRpbWVMZWZ0KSAqIGNvYXN0Q3Vy
dmUoY29hc3RUaW1lQ3VydmUsIGNvYXN0RmFjdG9yKSk7CiAKLSAgICAgICAgICAgIGlmIChkb3Vi
bGUgYWRkaXRpb25hbFRpbWUgPSBzdGQ6Om1heCgwLiwgY29hc3RNaW5UaW1lTGVmdCAtIG1pblRp
bWVMZWZ0KSkgewotICAgICAgICAgICAgICAgIGRvdWJsZSBhZGRpdGlvbmFsUmVsZWFzZVRpbWUg
PSBzdGQ6Om1pbihhZGRpdGlvbmFsVGltZSwgcmVsZWFzZVRpbWUgLyAocmVsZWFzZVRpbWUgKyBy
ZXBlYXRNaW5pbXVtU3VzdGFpblRpbWUpICogYWRkaXRpb25hbFRpbWUpOworICAgICAgICAgICAg
aWYgKFNlY29uZHMgYWRkaXRpb25hbFRpbWUgPSBzdGQ6Om1heCgwX3MsIGNvYXN0TWluVGltZUxl
ZnQgLSBtaW5UaW1lTGVmdCkpIHsKKyAgICAgICAgICAgICAgICBTZWNvbmRzIGFkZGl0aW9uYWxS
ZWxlYXNlVGltZSA9IHN0ZDo6bWluKGFkZGl0aW9uYWxUaW1lLCByZWxlYXNlVGltZSAvIChyZWxl
YXNlVGltZSArIHJlcGVhdE1pbmltdW1TdXN0YWluVGltZSkgKiBhZGRpdGlvbmFsVGltZS52YWx1
ZSgpKTsKICAgICAgICAgICAgICAgICBkYXRhLnJlbGVhc2VUaW1lID0gcmVsZWFzZVRpbWUgKyBh
ZGRpdGlvbmFsUmVsZWFzZVRpbWU7CiAgICAgICAgICAgICAgICAgZGF0YS5hbmltYXRpb25UaW1l
ID0gZGVsdGFUaW1lICsgY29hc3RNaW5UaW1lTGVmdDsKICAgICAgICAgICAgICAgICB0aW1lTGVm
dCA9IGNvYXN0TWluVGltZUxlZnQ7CkBAIC0zMzYsNDMgKzMzNiw0MyBAQCBib29sIFNjcm9sbEFu
aW1hdGlvblNtb290aDo6dXBkYXRlUGVyQXhpc0RhdGEoUGVyQXhpc0RhdGEmIGRhdGEsIFNjcm9s
bEdyYW51bGFyaQogICAgICAgICB9CiAgICAgfQogCi0gICAgZG91YmxlIHJlbGVhc2VUaW1lTGVm
dCA9IHN0ZDo6bWluKHRpbWVMZWZ0LCBkYXRhLnJlbGVhc2VUaW1lKTsKLSAgICBkb3VibGUgc3Vz
dGFpblRpbWVMZWZ0ID0gc3RkOjptYXgoMC4sIHRpbWVMZWZ0IC0gcmVsZWFzZVRpbWVMZWZ0IC0g
YXR0YWNrVGltZUxlZnQpOworICAgIFNlY29uZHMgcmVsZWFzZVRpbWVMZWZ0ID0gc3RkOjptaW4o
dGltZUxlZnQsIGRhdGEucmVsZWFzZVRpbWUpOworICAgIFNlY29uZHMgc3VzdGFpblRpbWVMZWZ0
ID0gc3RkOjptYXgoMF9zLCB0aW1lTGVmdCAtIHJlbGVhc2VUaW1lTGVmdCAtIGF0dGFja1RpbWVM
ZWZ0KTsKICAgICBpZiAoYXR0YWNrVGltZUxlZnQpIHsKICAgICAgICAgZG91YmxlIGF0dGFja1Nw
b3QgPSBkZWx0YVRpbWUgLyBkYXRhLmF0dGFja1RpbWU7Ci0gICAgICAgIGF0dGFja0FyZWFMZWZ0
ID0gYXR0YWNrQXJlYShDdXJ2ZTo6Q3ViaWMsIGF0dGFja1Nwb3QsIDEpICogZGF0YS5hdHRhY2tU
aW1lOworICAgICAgICBhdHRhY2tBcmVhTGVmdCA9IGF0dGFja0FyZWEoQ3VydmU6OkN1YmljLCBh
dHRhY2tTcG90LCAxKSAqIGRhdGEuYXR0YWNrVGltZS52YWx1ZSgpOwogICAgIH0KIAotICAgIGRv
dWJsZSByZWxlYXNlU3BvdCA9IChkYXRhLnJlbGVhc2VUaW1lIC0gcmVsZWFzZVRpbWVMZWZ0KSAv
IGRhdGEucmVsZWFzZVRpbWU7Ci0gICAgZG91YmxlIHJlbGVhc2VBcmVhTGVmdCA9IHJlbGVhc2VB
cmVhKEN1cnZlOjpDdWJpYywgcmVsZWFzZVNwb3QsIDEpICogZGF0YS5yZWxlYXNlVGltZTsKKyAg
ICBkb3VibGUgcmVsZWFzZVNwb3QgPSAoKGRhdGEucmVsZWFzZVRpbWUgLSByZWxlYXNlVGltZUxl
ZnQpIC8gZGF0YS5yZWxlYXNlVGltZSkudmFsdWUoKTsKKyAgICBkb3VibGUgcmVsZWFzZUFyZWFM
ZWZ0ID0gcmVsZWFzZUFyZWEoQ3VydmU6OkN1YmljLCByZWxlYXNlU3BvdCwgMSkgKiBkYXRhLnJl
bGVhc2VUaW1lLnZhbHVlKCk7CiAKLSAgICBkYXRhLmRlc2lyZWRWZWxvY2l0eSA9IHJlbWFpbmlu
Z0RlbHRhIC8gKGF0dGFja0FyZWFMZWZ0ICsgc3VzdGFpblRpbWVMZWZ0ICsgcmVsZWFzZUFyZWFM
ZWZ0KTsKKyAgICBkYXRhLmRlc2lyZWRWZWxvY2l0eSA9IHJlbWFpbmluZ0RlbHRhIC8gKGF0dGFj
a0FyZWFMZWZ0ICsgc3VzdGFpblRpbWVMZWZ0LnZhbHVlKCkgKyByZWxlYXNlQXJlYUxlZnQpOwog
ICAgIGRhdGEucmVsZWFzZVBvc2l0aW9uID0gZGF0YS5kZXNpcmVkUG9zaXRpb24gLSBkYXRhLmRl
c2lyZWRWZWxvY2l0eSAqIHJlbGVhc2VBcmVhTGVmdDsKICAgICBpZiAoYXR0YWNrQXJlYUxlZnQp
CiAgICAgICAgIGRhdGEuYXR0YWNrUG9zaXRpb24gPSBkYXRhLnN0YXJ0UG9zaXRpb24gKyBkYXRh
LmRlc2lyZWRWZWxvY2l0eSAqIGF0dGFja0FyZWFMZWZ0OwogICAgIGVsc2UKLSAgICAgICAgZGF0
YS5hdHRhY2tQb3NpdGlvbiA9IGRhdGEucmVsZWFzZVBvc2l0aW9uIC0gKGRhdGEuYW5pbWF0aW9u
VGltZSAtIGRhdGEucmVsZWFzZVRpbWUgLSBkYXRhLmF0dGFja1RpbWUpICogZGF0YS5kZXNpcmVk
VmVsb2NpdHk7CisgICAgICAgIGRhdGEuYXR0YWNrUG9zaXRpb24gPSBkYXRhLnJlbGVhc2VQb3Np
dGlvbiAtIChkYXRhLmFuaW1hdGlvblRpbWUgLSBkYXRhLnJlbGVhc2VUaW1lIC0gZGF0YS5hdHRh
Y2tUaW1lKS52YWx1ZSgpICogZGF0YS5kZXNpcmVkVmVsb2NpdHk7CiAKICAgICBpZiAoc3VzdGFp
blRpbWVMZWZ0KSB7Ci0gICAgICAgIGRvdWJsZSByb3VuZE9mZiA9IGRhdGEucmVsZWFzZVBvc2l0
aW9uIC0gKChhdHRhY2tBcmVhTGVmdCA/IGRhdGEuYXR0YWNrUG9zaXRpb24gOiBkYXRhLmN1cnJl
bnRQb3NpdGlvbikgKyBkYXRhLmRlc2lyZWRWZWxvY2l0eSAqIHN1c3RhaW5UaW1lTGVmdCk7Ci0g
ICAgICAgIGRhdGEuZGVzaXJlZFZlbG9jaXR5ICs9IHJvdW5kT2ZmIC8gc3VzdGFpblRpbWVMZWZ0
OworICAgICAgICBkb3VibGUgcm91bmRPZmYgPSBkYXRhLnJlbGVhc2VQb3NpdGlvbiAtICgoYXR0
YWNrQXJlYUxlZnQgPyBkYXRhLmF0dGFja1Bvc2l0aW9uIDogZGF0YS5jdXJyZW50UG9zaXRpb24p
ICsgZGF0YS5kZXNpcmVkVmVsb2NpdHkgKiBzdXN0YWluVGltZUxlZnQudmFsdWUoKSk7CisgICAg
ICAgIGRhdGEuZGVzaXJlZFZlbG9jaXR5ICs9IHJvdW5kT2ZmIC8gc3VzdGFpblRpbWVMZWZ0LnZh
bHVlKCk7CiAgICAgfQogCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLWJvb2wgU2Nyb2xsQW5pbWF0
aW9uU21vb3RoOjphbmltYXRlU2Nyb2xsKFBlckF4aXNEYXRhJiBkYXRhLCBkb3VibGUgY3VycmVu
dFRpbWUpCitib29sIFNjcm9sbEFuaW1hdGlvblNtb290aDo6YW5pbWF0ZVNjcm9sbChQZXJBeGlz
RGF0YSYgZGF0YSwgTW9ub3RvbmljVGltZSBjdXJyZW50VGltZSkKIHsKICAgICBpZiAoIWRhdGEu
c3RhcnRUaW1lKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBkb3VibGUgbGFzdFNjcm9s
bEludGVydmFsID0gY3VycmVudFRpbWUgLSBkYXRhLmxhc3RBbmltYXRpb25UaW1lOworICAgIFNl
Y29uZHMgbGFzdFNjcm9sbEludGVydmFsID0gY3VycmVudFRpbWUgLSBkYXRhLmxhc3RBbmltYXRp
b25UaW1lOwogICAgIGlmIChsYXN0U2Nyb2xsSW50ZXJ2YWwgPCBtaW5pbXVtVGltZXJJbnRlcnZh
bCkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKICAgICBkYXRhLmxhc3RBbmltYXRpb25UaW1lID0g
Y3VycmVudFRpbWU7CiAKLSAgICBkb3VibGUgZGVsdGFUaW1lID0gY3VycmVudFRpbWUgLSBkYXRh
LnN0YXJ0VGltZTsKKyAgICBTZWNvbmRzIGRlbHRhVGltZSA9IGN1cnJlbnRUaW1lIC0gZGF0YS5z
dGFydFRpbWU7CiAgICAgZG91YmxlIG5ld1Bvc2l0aW9uID0gZGF0YS5jdXJyZW50UG9zaXRpb247
CiAKICAgICBpZiAoZGVsdGFUaW1lID4gZGF0YS5hbmltYXRpb25UaW1lKSB7CkBAIC0zODAsMTgg
KzM4MCwxOCBAQCBib29sIFNjcm9sbEFuaW1hdGlvblNtb290aDo6YW5pbWF0ZVNjcm9sbChQZXJB
eGlzRGF0YSYgZGF0YSwgZG91YmxlIGN1cnJlbnRUaW1lKQogICAgICAgICByZXR1cm4gZmFsc2U7
CiAgICAgfQogICAgIGlmIChkZWx0YVRpbWUgPCBkYXRhLmF0dGFja1RpbWUpCi0gICAgICAgIG5l
d1Bvc2l0aW9uID0gYXR0YWNrQ3VydmUoQ3VydmU6OkN1YmljLCBkZWx0YVRpbWUsIGRhdGEuYXR0
YWNrVGltZSwgZGF0YS5zdGFydFBvc2l0aW9uLCBkYXRhLmF0dGFja1Bvc2l0aW9uKTsKKyAgICAg
ICAgbmV3UG9zaXRpb24gPSBhdHRhY2tDdXJ2ZShDdXJ2ZTo6Q3ViaWMsIGRlbHRhVGltZS52YWx1
ZSgpLCBkYXRhLmF0dGFja1RpbWUudmFsdWUoKSwgZGF0YS5zdGFydFBvc2l0aW9uLCBkYXRhLmF0
dGFja1Bvc2l0aW9uKTsKICAgICBlbHNlIGlmIChkZWx0YVRpbWUgPCAoZGF0YS5hbmltYXRpb25U
aW1lIC0gZGF0YS5yZWxlYXNlVGltZSkpCi0gICAgICAgIG5ld1Bvc2l0aW9uID0gZGF0YS5hdHRh
Y2tQb3NpdGlvbiArIChkZWx0YVRpbWUgLSBkYXRhLmF0dGFja1RpbWUpICogZGF0YS5kZXNpcmVk
VmVsb2NpdHk7CisgICAgICAgIG5ld1Bvc2l0aW9uID0gZGF0YS5hdHRhY2tQb3NpdGlvbiArIChk
ZWx0YVRpbWUgLSBkYXRhLmF0dGFja1RpbWUpLnZhbHVlKCkgKiBkYXRhLmRlc2lyZWRWZWxvY2l0
eTsKICAgICBlbHNlIHsKICAgICAgICAgLy8gcmVsZWFzZSBpcyBiYXNlZCBvbiB0YXJnZXRpbmcg
dGhlIGV4YWN0IGZpbmFsIHBvc2l0aW9uLgotICAgICAgICBkb3VibGUgcmVsZWFzZURlbHRhVCA9
IGRlbHRhVGltZSAtIChkYXRhLmFuaW1hdGlvblRpbWUgLSBkYXRhLnJlbGVhc2VUaW1lKTsKLSAg
ICAgICAgbmV3UG9zaXRpb24gPSByZWxlYXNlQ3VydmUoQ3VydmU6OkN1YmljLCByZWxlYXNlRGVs
dGFULCBkYXRhLnJlbGVhc2VUaW1lLCBkYXRhLnJlbGVhc2VQb3NpdGlvbiwgZGF0YS5kZXNpcmVk
UG9zaXRpb24pOworICAgICAgICBTZWNvbmRzIHJlbGVhc2VEZWx0YVQgPSBkZWx0YVRpbWUgLSAo
ZGF0YS5hbmltYXRpb25UaW1lIC0gZGF0YS5yZWxlYXNlVGltZSk7CisgICAgICAgIG5ld1Bvc2l0
aW9uID0gcmVsZWFzZUN1cnZlKEN1cnZlOjpDdWJpYywgcmVsZWFzZURlbHRhVC52YWx1ZSgpLCBk
YXRhLnJlbGVhc2VUaW1lLCBkYXRhLnJlbGVhc2VQb3NpdGlvbiwgZGF0YS5kZXNpcmVkUG9zaXRp
b24pOwogICAgIH0KIAogICAgIC8vIE5vcm1hbGl6ZSB2ZWxvY2l0eSB0byBhIHBlciBzZWNvbmQg
YW1vdW50LiBDb3VsZCBiZSB1c2VkIHRvIGNoZWNrIGZvciBqYW5rLgotICAgIGlmIChsYXN0U2Ny
b2xsSW50ZXJ2YWwgPiAwKQotICAgICAgICBkYXRhLmN1cnJlbnRWZWxvY2l0eSA9IChuZXdQb3Np
dGlvbiAtIGRhdGEuY3VycmVudFBvc2l0aW9uKSAvIGxhc3RTY3JvbGxJbnRlcnZhbDsKKyAgICBp
ZiAobGFzdFNjcm9sbEludGVydmFsID4gMF9zKQorICAgICAgICBkYXRhLmN1cnJlbnRWZWxvY2l0
eSA9IChuZXdQb3NpdGlvbiAtIGRhdGEuY3VycmVudFBvc2l0aW9uKSAvIGxhc3RTY3JvbGxJbnRl
cnZhbC52YWx1ZSgpOwogICAgIGRhdGEuY3VycmVudFBvc2l0aW9uID0gbmV3UG9zaXRpb247CiAK
ICAgICByZXR1cm4gdHJ1ZTsKQEAgLTM5OSw4ICszOTksOCBAQCBib29sIFNjcm9sbEFuaW1hdGlv
blNtb290aDo6YW5pbWF0ZVNjcm9sbChQZXJBeGlzRGF0YSYgZGF0YSwgZG91YmxlIGN1cnJlbnRU
aW1lKQogCiB2b2lkIFNjcm9sbEFuaW1hdGlvblNtb290aDo6YW5pbWF0aW9uVGltZXJGaXJlZCgp
CiB7Ci0gICAgZG91YmxlIGN1cnJlbnRUaW1lID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1l
KCk7Ci0gICAgZG91YmxlIGRlbHRhVG9OZXh0RnJhbWUgPSBjZWlsKChjdXJyZW50VGltZSAtIG1f
c3RhcnRUaW1lKSAqIGZyYW1lUmF0ZSkgLyBmcmFtZVJhdGUgLSAoY3VycmVudFRpbWUgLSBtX3N0
YXJ0VGltZSk7CisgICAgTW9ub3RvbmljVGltZSBjdXJyZW50VGltZSA9IE1vbm90b25pY1RpbWU6
Om5vdygpOworICAgIFNlY29uZHMgZGVsdGFUb05leHRGcmFtZSA9IDFfcyAqIGNlaWwoKGN1cnJl
bnRUaW1lIC0gbV9zdGFydFRpbWUpLnZhbHVlKCkgKiBmcmFtZVJhdGUpIC8gZnJhbWVSYXRlIC0g
KGN1cnJlbnRUaW1lIC0gbV9zdGFydFRpbWUpOwogICAgIGN1cnJlbnRUaW1lICs9IGRlbHRhVG9O
ZXh0RnJhbWU7CiAKICAgICBib29sIGNvbnRpbnVlQW5pbWF0aW9uID0gZmFsc2U7CkBAIC00MjIs
NyArNDIyLDcgQEAgdm9pZCBTY3JvbGxBbmltYXRpb25TbW9vdGg6OmFuaW1hdGlvblRpbWVyRmly
ZWQoKQogfQogCiAjaWYgVVNFKFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FX1RJTUVSKQotdm9pZCBT
Y3JvbGxBbmltYXRpb25TbW9vdGg6OnN0YXJ0TmV4dFRpbWVyKGRvdWJsZSBkZWxheSkKK3ZvaWQg
U2Nyb2xsQW5pbWF0aW9uU21vb3RoOjpzdGFydE5leHRUaW1lcihTZWNvbmRzIGRlbGF5KQogewog
ICAgIG1fYW5pbWF0aW9uVGltZXIuc3RhcnRPbmVTaG90KGRlbGF5KTsKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdGlvblNtb290aC5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmgKaW5kZXggZWJhOWRiMmU5
NDcyZGFiZDI2YjQxZTNkYTY5YjM2MGY4NWM4MzAyZC4uOGQ2ZjljOTVmZGNkNGJkMjkyOWU2YzA3
OTU3MDE1NzA1N2NkNjMyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Ny
b2xsQW5pbWF0aW9uU21vb3RoLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xs
QW5pbWF0aW9uU21vb3RoLmgKQEAgLTc2LDI5ICs3NiwyOSBAQCBwcml2YXRlOgogICAgICAgICBk
b3VibGUgZGVzaXJlZFZlbG9jaXR5IHsgMCB9OwogCiAgICAgICAgIGRvdWJsZSBzdGFydFBvc2l0
aW9uIHsgMCB9OwotICAgICAgICBkb3VibGUgc3RhcnRUaW1lIHsgMCB9OworICAgICAgICBNb25v
dG9uaWNUaW1lIHN0YXJ0VGltZTsKICAgICAgICAgZG91YmxlIHN0YXJ0VmVsb2NpdHkgeyAwIH07
CiAKLSAgICAgICAgZG91YmxlIGFuaW1hdGlvblRpbWUgeyAwIH07Ci0gICAgICAgIGRvdWJsZSBs
YXN0QW5pbWF0aW9uVGltZSB7IDAgfTsKKyAgICAgICAgU2Vjb25kcyBhbmltYXRpb25UaW1lOwor
ICAgICAgICBNb25vdG9uaWNUaW1lIGxhc3RBbmltYXRpb25UaW1lOwogCiAgICAgICAgIGRvdWJs
ZSBhdHRhY2tQb3NpdGlvbiB7IDAgfTsKLSAgICAgICAgZG91YmxlIGF0dGFja1RpbWUgeyAwIH07
CisgICAgICAgIFNlY29uZHMgYXR0YWNrVGltZTsKICAgICAgICAgQ3VydmUgYXR0YWNrQ3VydmUg
eyBDdXJ2ZTo6UXVhZHJhdGljIH07CiAKICAgICAgICAgZG91YmxlIHJlbGVhc2VQb3NpdGlvbiB7
IDAgfTsKLSAgICAgICAgZG91YmxlIHJlbGVhc2VUaW1lIHsgMCB9OworICAgICAgICBTZWNvbmRz
IHJlbGVhc2VUaW1lOwogICAgICAgICBDdXJ2ZSByZWxlYXNlQ3VydmUgeyBDdXJ2ZTo6UXVhZHJh
dGljIH07CiAKICAgICAgICAgaW50IHZpc2libGVMZW5ndGggeyAwIH07CiAgICAgfTsKIAogICAg
IGJvb2wgdXBkYXRlUGVyQXhpc0RhdGEoUGVyQXhpc0RhdGEmLCBTY3JvbGxHcmFudWxhcml0eSwg
ZmxvYXQgZGVsdGEsIGZsb2F0IG1pblNjcm9sbFBvc2l0aW9uLCBmbG9hdCBtYXhTY3JvbGxQb3Np
dGlvbik7Ci0gICAgYm9vbCBhbmltYXRlU2Nyb2xsKFBlckF4aXNEYXRhJiwgZG91YmxlIGN1cnJl
bnRUaW1lKTsKKyAgICBib29sIGFuaW1hdGVTY3JvbGwoUGVyQXhpc0RhdGEmLCBNb25vdG9uaWNU
aW1lIGN1cnJlbnRUaW1lKTsKIAogI2lmIFVTRShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRV9USU1F
UikKICAgICB2b2lkIHJlcXVlc3RBbmltYXRpb25UaW1lckZpcmVkKCk7Ci0gICAgdm9pZCBzdGFy
dE5leHRUaW1lcihkb3VibGUgZGVsYXkpOworICAgIHZvaWQgc3RhcnROZXh0VGltZXIoU2Vjb25k
cyBkZWxheSk7CiAjZWxzZQogICAgIHZvaWQgc3RhcnROZXh0VGltZXIoKTsKICNlbmRpZgpAQCAt
MTEwLDcgKzExMCw3IEBAIHByaXZhdGU6CiAgICAgUGVyQXhpc0RhdGEgbV9ob3Jpem9udGFsRGF0
YTsKICAgICBQZXJBeGlzRGF0YSBtX3ZlcnRpY2FsRGF0YTsKIAotICAgIGRvdWJsZSBtX3N0YXJ0
VGltZSB7IDAgfTsKKyAgICBNb25vdG9uaWNUaW1lIG1fc3RhcnRUaW1lOwogI2lmIFVTRShSRVFV
RVNUX0FOSU1BVElPTl9GUkFNRV9USU1FUikKICAgICBUaW1lciBtX2FuaW1hdGlvblRpbWVyOwog
I2Vsc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5oCmluZGV4IDA1MTc0YjRmMTRiMzY4MmU4ZDdiZGNm
YTM0NWM4NDZhOGY5NmI1MjcuLjUyZGViYTgxNWI4N2VjNjFlMWIxMzYyMjk0ODYxM2E4NmYyZmM4
MGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuaApAQCAtNTUsOCArNTUsNiBAQCBwdWJsaWM6CiAg
ICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzdGFydChTZWNvbmRzIG5leHRGaXJlSW50ZXJ2YWwsIFNl
Y29uZHMgcmVwZWF0SW50ZXJ2YWwpOwogCiAgICAgdm9pZCBzdGFydFJlcGVhdGluZyhTZWNvbmRz
IHJlcGVhdEludGVydmFsKSB7IHN0YXJ0KHJlcGVhdEludGVydmFsLCByZXBlYXRJbnRlcnZhbCk7
IH0KLQotICAgIHZvaWQgc3RhcnRPbmVTaG90KGRvdWJsZSBpbnRlcnZhbCkgeyBzdGFydE9uZVNo
b3QoU2Vjb25kcyB7IGludGVydmFsIH0pOyB9CiAgICAgdm9pZCBzdGFydE9uZVNob3QoU2Vjb25k
cyBpbnRlcnZhbCkgeyBzdGFydChpbnRlcnZhbCwgMF9zKTsgfQogCiAgICAgV0VCQ09SRV9FWFBP
UlQgdm9pZCBzdG9wKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRp
by9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRp
by9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5jcHAKaW5kZXggNTY5YTViOWUwNmVkOTZjNmQwZDcwYzY1
YjhjNTAxYTMzOWY3NjdkOS4uMDJkMTA5OTE0MWU0MmUyMTdiNTJhMjZjMzIyOTg5ZmIyZDhlMTk4
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRp
YVNlc3Npb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3Jt
TWVkaWFTZXNzaW9uLmNwcApAQCAtMzQsNyArMzQsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKLWNvbnN0IGRvdWJsZSBrQ2xpZW50RGF0YUJ1ZmZlcmluZ1RpbWVyVGhyb3R0bGVEZWxheSA9
IDAuMTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIGNsaWVudERhdGFCdWZmZXJpbmdUaW1lclRocm90
dGxlRGVsYXkgeyAxMDBfbXMgfTsKIAogI2lmICFMT0dfRElTQUJMRUQKIHN0YXRpYyBjb25zdCBj
aGFyKiBzdGF0ZU5hbWUoUGxhdGZvcm1NZWRpYVNlc3Npb246OlN0YXRlIHN0YXRlKQpAQCAtMjYw
LDcgKzI2MCw3IEBAIHZvaWQgUGxhdGZvcm1NZWRpYVNlc3Npb246OnZpc2liaWxpdHlDaGFuZ2Vk
KCkKIHZvaWQgUGxhdGZvcm1NZWRpYVNlc3Npb246OnNjaGVkdWxlQ2xpZW50RGF0YUJ1ZmZlcmlu
Z0NoZWNrKCkKIHsKICAgICBpZiAoIW1fY2xpZW50RGF0YUJ1ZmZlcmluZ1RpbWVyLmlzQWN0aXZl
KCkpCi0gICAgICAgIG1fY2xpZW50RGF0YUJ1ZmZlcmluZ1RpbWVyLnN0YXJ0T25lU2hvdChrQ2xp
ZW50RGF0YUJ1ZmZlcmluZ1RpbWVyVGhyb3R0bGVEZWxheSk7CisgICAgICAgIG1fY2xpZW50RGF0
YUJ1ZmZlcmluZ1RpbWVyLnN0YXJ0T25lU2hvdChjbGllbnREYXRhQnVmZmVyaW5nVGltZXJUaHJv
dHRsZURlbGF5KTsKIH0KIAogdm9pZCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6Y2xpZW50RGF0YUJ1
ZmZlcmluZ1RpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Y29jb2EvU2Nyb2xsQ29udHJvbGxlci5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29h
L1Njcm9sbENvbnRyb2xsZXIubW0KaW5kZXggMWU4ZjdkZmQ4N2VhMzM5NzhkZWY5NGJmZGFjN2Uy
YmRhMTVmYmFhMi4uZWUzZTUzN2ZiOGMyYjY4NzBlNjFkZmQyMzk3NjA3ZWM3ZjFmNGIxYSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvU2Nyb2xsQ29udHJvbGxlci5t
bQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9TY3JvbGxDb250cm9sbGVyLm1t
CkBAIC00OTAsNyArNDkwLDcgQEAgdm9pZCBTY3JvbGxDb250cm9sbGVyOjpzY2hlZHVsZVN0YXRl
bGVzc1Njcm9sbFNuYXAoKQogICAgICAgICByZXR1cm47CiAKICAgICBzdGF0aWMgY29uc3QgU2Vj
b25kcyBzdGF0ZWxlc3NTY3JvbGxTbmFwRGVsYXkgPSA3NTBfbXM7Ci0gICAgbV9zdGF0ZWxlc3NT
bmFwVHJhbnNpdGlvblRpbWVyLnN0YXJ0T25lU2hvdChzdGF0ZWxlc3NTY3JvbGxTbmFwRGVsYXku
dmFsdWUoKSk7CisgICAgbV9zdGF0ZWxlc3NTbmFwVHJhbnNpdGlvblRpbWVyLnN0YXJ0T25lU2hv
dChzdGF0ZWxlc3NTY3JvbGxTbmFwRGVsYXkpOwogICAgIHN0YXJ0RGVmZXJyaW5nVGVzdHNEdWVU
b1Njcm9sbFNuYXBwaW5nKCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dhbWVwYWQvY29jb2EvR2FtZUNvbnRyb2xsZXJHYW1lcGFkUHJvdmlkZXIubW0gYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9nYW1lcGFkL2NvY29hL0dhbWVDb250cm9sbGVyR2FtZXBhZFBy
b3ZpZGVyLm1tCmluZGV4IDUxNWYzZTRlYjFmOTY0NGFkNGQ3YWFkYmFkZTZjNWYxMDkwZjM3NjUu
LjEwZTc3NDU3MGMxNmMzMjgwM2M5ZGM2ZmU3YzYzYWY0MGU2OWFiMTIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvY29jb2EvR2FtZUNvbnRyb2xsZXJHYW1lcGFk
UHJvdmlkZXIubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9jb2NvYS9H
YW1lQ29udHJvbGxlckdhbWVwYWRQcm92aWRlci5tbQpAQCAtNDAsNyArNDAsNyBAQCBTT0ZUX0xJ
TktfQ09OU1RBTlRfTUFZX0ZBSUwoR2FtZUNvbnRyb2xsZXIsIEdDQ29udHJvbGxlckRpZERpc2Nv
bm5lY3ROb3RpZmljYXRpbwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBz
dGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIElucHV0Tm90aWZpY2F0aW9uRGVsYXkgPSAxNm1zOwor
c3RhdGljIGNvbnN0IFNlY29uZHMgaW5wdXROb3RpZmljYXRpb25EZWxheSB7IDE2X21zIH07CiAK
IEdhbWVDb250cm9sbGVyR2FtZXBhZFByb3ZpZGVyJiBHYW1lQ29udHJvbGxlckdhbWVwYWRQcm92
aWRlcjo6c2luZ2xldG9uKCkKIHsKQEAgLTE0NCw3ICsxNDQsNyBAQCB1bnNpZ25lZCBHYW1lQ29u
dHJvbGxlckdhbWVwYWRQcm92aWRlcjo6aW5kZXhGb3JOZXdseUNvbm5lY3RlZERldmljZSgpCiB2
b2lkIEdhbWVDb250cm9sbGVyR2FtZXBhZFByb3ZpZGVyOjpnYW1lcGFkSGFkSW5wdXQoR2FtZUNv
bnRyb2xsZXJHYW1lcGFkJiwgYm9vbCBoYWRCdXR0b25QcmVzc2VzKQogewogICAgIGlmICghbV9p
bnB1dE5vdGlmaWNhdGlvblRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1faW5wdXROb3RpZmlj
YXRpb25UaW1lci5zdGFydE9uZVNob3QoSW5wdXROb3RpZmljYXRpb25EZWxheSk7CisgICAgICAg
IG1faW5wdXROb3RpZmljYXRpb25UaW1lci5zdGFydE9uZVNob3QoaW5wdXROb3RpZmljYXRpb25E
ZWxheSk7CiAKICAgICBpZiAoaGFkQnV0dG9uUHJlc3NlcykKICAgICAgICAgbV9zaG91bGRNYWtl
SW52aXNpYmlsZUdhbWVwYWRzVmlzaWJsZSA9IHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9nYW1lcGFkL21hYy9ISURHYW1lcGFkUHJvdmlkZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9tYWMvSElER2FtZXBhZFByb3ZpZGVyLmNwcAppbmRl
eCAwMDI2NjRjYWEyYTI3YjJjNGM5MzkyNGEwZDgxMjM5ZmFhNWM0MTQ0Li4yZTIyOTkyNjljMmFj
NjJkZWEwN2Q0OTM2MzBkOGUwNDQ4ZjVhZTRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9nYW1lcGFkL21hYy9ISURHYW1lcGFkUHJvdmlkZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvbWFjL0hJREdhbWVwYWRQcm92aWRlci5jcHAKQEAgLTM0
LDggKzM0LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMgY29uc3QgZG91Ymxl
IENvbm5lY3Rpb25EZWxheUludGVydmFsID0gMC41Owotc3RhdGljIGNvbnN0IGRvdWJsZSBJbnB1
dE5vdGlmaWNhdGlvbkRlbGF5ID0gMC4wNTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIGNvbm5lY3Rp
b25EZWxheUludGVydmFsIHsgNTAwX21zIH07CitzdGF0aWMgY29uc3QgU2Vjb25kcyBpbnB1dE5v
dGlmaWNhdGlvbkRlbGF5IHsgNTBfbXMgfTsKIAogc3RhdGljIFJldGFpblB0cjxDRkRpY3Rpb25h
cnlSZWY+IGRldmljZU1hdGNoaW5nRGljdGlvbmFyeSh1aW50MzJfdCB1c2FnZVBhZ2UsIHVpbnQz
Ml90IHVzYWdlKQogewpAQCAtMTQyLDkgKzE0Miw5IEBAIHZvaWQgSElER2FtZXBhZFByb3ZpZGVy
OjpvcGVuQW5kU2NoZWR1bGVNYW5hZ2VyKCkKICAgICBJT0hJRE1hbmFnZXJTY2hlZHVsZVdpdGhS
dW5Mb29wKG1fbWFuYWdlci5nZXQoKSwgQ0ZSdW5Mb29wR2V0Q3VycmVudCgpLCBrQ0ZSdW5Mb29w
RGVmYXVsdE1vZGUpOwogICAgIElPSElETWFuYWdlck9wZW4obV9tYW5hZ2VyLmdldCgpLCBrSU9I
SURPcHRpb25zVHlwZU5vbmUpOwogCi0gICAgLy8gQW55IGNvbm5lY3Rpb25zIHdlIGFyZSBub3Rp
ZmllZCBvZiB3aXRoaW4gdGhlIENvbm5lY3Rpb25EZWxheUludGVydmFsIG9mIGxpc3RlbmluZyBs
aWtlbHkgcmVwcmVzZW50CisgICAgLy8gQW55IGNvbm5lY3Rpb25zIHdlIGFyZSBub3RpZmllZCBv
ZiB3aXRoaW4gdGhlIGNvbm5lY3Rpb25EZWxheUludGVydmFsIG9mIGxpc3RlbmluZyBsaWtlbHkg
cmVwcmVzZW50CiAgICAgLy8gZGV2aWNlcyB0aGF0IHdlcmUgYWxyZWFkeSBjb25uZWN0ZWQsIHNv
IHdlIHN1cHByZXNzIG5vdGlmeWluZyBjbGllbnRzIG9mIHRoZXNlLgotICAgIG1fY29ubmVjdGlv
bkRlbGF5VGltZXIuc3RhcnRPbmVTaG90KENvbm5lY3Rpb25EZWxheUludGVydmFsKTsKKyAgICBt
X2Nvbm5lY3Rpb25EZWxheVRpbWVyLnN0YXJ0T25lU2hvdChjb25uZWN0aW9uRGVsYXlJbnRlcnZh
bCk7CiB9CiAKIHZvaWQgSElER2FtZXBhZFByb3ZpZGVyOjpjbG9zZUFuZFVuc2NoZWR1bGVNYW5h
Z2VyKCkKQEAgLTI0Myw3ICsyNDMsNyBAQCB2b2lkIEhJREdhbWVwYWRQcm92aWRlcjo6dmFsdWVz
Q2hhbmdlZChJT0hJRFZhbHVlUmVmIHZhbHVlKQogICAgIC8vIFRoaXMgaXNBY3RpdmUgY2hlY2sg
aXMgbmVjZXNzYXJ5IGFzIHdlIHdhbnQgdG8gZGVsYXkgaW5wdXQgbm90aWZpY2F0aW9ucyBmcm9t
IHRoZSB0aW1lIG9mIHRoZSBmaXJzdCBpbnB1dCwKICAgICAvLyBhbmQgbm90IHB1c2ggdGhlIG5v
dGlmaWNhdGlvbiBvdXQgb24gZXZlcnkgc3Vic2VxdWVudCBpbnB1dC4KICAgICBpZiAoIW1faW5w
dXROb3RpZmljYXRpb25UaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX2lucHV0Tm90aWZpY2F0
aW9uVGltZXIuc3RhcnRPbmVTaG90KElucHV0Tm90aWZpY2F0aW9uRGVsYXkpOworICAgICAgICBt
X2lucHV0Tm90aWZpY2F0aW9uVGltZXIuc3RhcnRPbmVTaG90KGlucHV0Tm90aWZpY2F0aW9uRGVs
YXkpOwogfQogCiB2b2lkIEhJREdhbWVwYWRQcm92aWRlcjo6aW5wdXROb3RpZmljYXRpb25UaW1l
ckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dsaWIvTWFpblRo
cmVhZFNoYXJlZFRpbWVyR0xpYi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nbGliL01h
aW5UaHJlYWRTaGFyZWRUaW1lckdMaWIuY3BwCmluZGV4IDRhZmUyOWRjMGI2ZDg1YjlkNjRjNTQ1
YmU3OTBjMGI4ODE3M2NjYjkuLjIxNDc3NDA5YjkxZWFkNzJmMWJmN2M1NGIyYzkyZmRmYTM0YjZi
MTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dsaWIvTWFpblRocmVhZFNo
YXJlZFRpbWVyR0xpYi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2xpYi9NYWlu
VGhyZWFkU2hhcmVkVGltZXJHTGliLmNwcApAQCAtNDEsNyArNDEsNyBAQCBNYWluVGhyZWFkU2hh
cmVkVGltZXI6Ok1haW5UaHJlYWRTaGFyZWRUaW1lcigpCiB2b2lkIE1haW5UaHJlYWRTaGFyZWRU
aW1lcjo6c2V0RmlyZUludGVydmFsKFNlY29uZHMgaW50ZXJ2YWwpCiB7CiAgICAgQVNTRVJUKG1f
ZmlyZWRGdW5jdGlvbik7Ci0gICAgbV90aW1lci5zdGFydE9uZVNob3QoaW50ZXJ2YWwudmFsdWUo
KSk7CisgICAgbV90aW1lci5zdGFydE9uZVNob3QoaW50ZXJ2YWwpOwogfQogCiB2b2lkIE1haW5U
aHJlYWRTaGFyZWRUaW1lcjo6c3RvcCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9CaXRtYXBJbWFnZS5jcHAKaW5kZXggYzIzYjlkZGM1YTQ3MzcyYjVjNDhhZWMwNDAz
N2YzMmY2YWU3ZDY4OC4uMWI5NDljZGFkNGUwNTVjOTZmYzlhZWUwYTEyN2JkMDFkNTI0MTE4NiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2Uu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmNw
cApAQCAtMjg2LDcgKzI4Niw3IEBAIHZvaWQgQml0bWFwSW1hZ2U6OmNsZWFyVGltZXIoKQogICAg
IG1fZnJhbWVUaW1lciA9IG51bGxwdHI7CiB9CiAKLXZvaWQgQml0bWFwSW1hZ2U6OnN0YXJ0VGlt
ZXIoZG91YmxlIGRlbGF5KQordm9pZCBCaXRtYXBJbWFnZTo6c3RhcnRUaW1lcihTZWNvbmRzIGRl
bGF5KQogewogICAgIEFTU0VSVCghbV9mcmFtZVRpbWVyKTsKICAgICBtX2ZyYW1lVGltZXIgPSBz
dGQ6Om1ha2VfdW5pcXVlPFRpbWVyPigqdGhpcywgJkJpdG1hcEltYWdlOjphZHZhbmNlQW5pbWF0
aW9uKTsKQEAgLTMzMiwxNCArMzMyLDE0IEBAIEJpdG1hcEltYWdlOjpTdGFydEFuaW1hdGlvblN0
YXR1cyBCaXRtYXBJbWFnZTo6aW50ZXJuYWxTdGFydEFuaW1hdGlvbigpCiAgICAgaWYgKCFtX3Nv
dXJjZS5pc0FsbERhdGFSZWNlaXZlZCgpICYmICFmcmFtZUlzQ29tcGxldGVBdEluZGV4KG5leHRG
cmFtZSkpCiAgICAgICAgIHJldHVybiBTdGFydEFuaW1hdGlvblN0YXR1czo6SW5jb21wbGV0ZURh
dGE7CiAKLSAgICBkb3VibGUgdGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwor
ICAgIE1vbm90b25pY1RpbWUgdGltZSA9IE1vbm90b25pY1RpbWU6Om5vdygpOwogCiAgICAgLy8g
SGFuZGxlIGluaXRpYWwgc3RhdGUuCiAgICAgaWYgKCFtX2Rlc2lyZWRGcmFtZVN0YXJ0VGltZSkK
ICAgICAgICAgbV9kZXNpcmVkRnJhbWVTdGFydFRpbWUgPSB0aW1lOwogCiAgICAgLy8gU2V0dGlu
ZyAnbV9kZXNpcmVkRnJhbWVTdGFydFRpbWUnIHRvICd0aW1lJyBtZWFucyB3ZSBhcmUgbGF0ZTsg
b3RoZXJ3aXNlIHdlIGFyZSBlYXJseS4KLSAgICBtX2Rlc2lyZWRGcmFtZVN0YXJ0VGltZSA9IHN0
ZDo6bWF4KHRpbWUsIG1fZGVzaXJlZEZyYW1lU3RhcnRUaW1lICsgZnJhbWVEdXJhdGlvbkF0SW5k
ZXgobV9jdXJyZW50RnJhbWUpKTsKKyAgICBtX2Rlc2lyZWRGcmFtZVN0YXJ0VGltZSA9IHN0ZDo6
bWF4KHRpbWUsIG1fZGVzaXJlZEZyYW1lU3RhcnRUaW1lICsgU2Vjb25kcyB7IGZyYW1lRHVyYXRp
b25BdEluZGV4KG1fY3VycmVudEZyYW1lKSB9KTsKIAogICAgIC8vIFJlcXVlc3QgYXN5bmMgZGVj
b2RpbmcgZm9yIG5leHRGcmFtZSBvbmx5IGlmIHRoaXMgaXMgcmVxdWlyZWQuIElmIG5leHRGcmFt
ZSBpcyBub3QgaW4gdGhlIGZyYW1lQ2FjaGUsCiAgICAgLy8gaXQgd2lsbCBiZSBkZWNvZGVkIG9u
IGEgc2VwYXJhdGUgd29yayBxdWV1ZS4gV2hlbiBkZWNvZGluZyBuZXh0RnJhbWUgZmluaXNoZXMs
IHdlIHdpbGwgYmUgbm90aWZpZWQKQEAgLTM1Nyw3ICszNTcsNyBAQCBCaXRtYXBJbWFnZTo6U3Rh
cnRBbmltYXRpb25TdGF0dXMgQml0bWFwSW1hZ2U6OmludGVybmFsU3RhcnRBbmltYXRpb24oKQog
ICAgICAgICBVTlVTRURfUEFSQU0oaXNBc3luY0RlY29kZSk7CiAjZW5kaWYKIAotICAgICAgICBt
X2Rlc2lyZWRGcmFtZURlY29kZVRpbWVGb3JUZXN0aW5nID0gdGltZSArIHN0ZDo6bWF4KG1fZnJh
bWVEZWNvZGluZ0R1cmF0aW9uRm9yVGVzdGluZywgMC4wZik7CisgICAgICAgIG1fZGVzaXJlZEZy
YW1lRGVjb2RlVGltZUZvclRlc3RpbmcgPSB0aW1lICsgc3RkOjptYXgobV9mcmFtZURlY29kaW5n
RHVyYXRpb25Gb3JUZXN0aW5nLCAwX3MpOwogICAgICAgICBpZiAobV9jbGVhckRlY29kZXJBZnRl
ckFzeW5jRnJhbWVSZXF1ZXN0Rm9yVGVzdGluZykKICAgICAgICAgICAgIG1fc291cmNlLmNsZWFy
KGRhdGEoKSk7CiAgICAgfQpAQCAtMzc0LDcgKzM3NCw3IEBAIHZvaWQgQml0bWFwSW1hZ2U6OmFk
dmFuY2VBbmltYXRpb24oKQogICAgIC8vIFByZXRlbmQgYXMgaWYgZGVjb2RpbmcgbmV4dEZyYW1l
IGhhcyB0YWtlbiBtX2ZyYW1lRGVjb2RpbmdEdXJhdGlvbkZvclRlc3RpbmcgZnJvbQogICAgIC8v
IHRoZSB0aW1lIHRoaXMgZGVjb2Rpbmcgd2FzIHJlcXVlc3RlZC4KICAgICBpZiAoc2hvdWxkVXNl
QXN5bmNEZWNvZGluZ0ZvckFuaW1hdGVkSW1hZ2VzRm9yVGVzdGluZygpKSB7Ci0gICAgICAgIGRv
dWJsZSB0aW1lID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7CisgICAgICAgIE1vbm90
b25pY1RpbWUgdGltZSA9IE1vbm90b25pY1RpbWU6Om5vdygpOwogICAgICAgICAvLyBTdGFydCBh
IHRpbWVyIHdpdGggdGhlIHJlbWFpbmluZyB0aW1lIGZyb20gbm93IHRpbGwgdGhlIG1fZGVzaXJl
ZEZyYW1lRGVjb2RlVGltZS4KICAgICAgICAgaWYgKG1fZGVzaXJlZEZyYW1lRGVjb2RlVGltZUZv
clRlc3RpbmcgPiBzdGQ6Om1heCh0aW1lLCBtX2Rlc2lyZWRGcmFtZVN0YXJ0VGltZSkpIHsKICAg
ICAgICAgICAgIHN0YXJ0VGltZXIobV9kZXNpcmVkRnJhbWVEZWNvZGVUaW1lRm9yVGVzdGluZyAt
IHRpbWUpOwpAQCAtNDI2LDcgKzQyNiw3IEBAIHZvaWQgQml0bWFwSW1hZ2U6OnJlc2V0QW5pbWF0
aW9uKCkKICAgICBzdG9wQW5pbWF0aW9uKCk7CiAgICAgbV9jdXJyZW50RnJhbWUgPSAwOwogICAg
IG1fcmVwZXRpdGlvbnNDb21wbGV0ZSA9IFJlcGV0aXRpb25Db3VudE5vbmU7Ci0gICAgbV9kZXNp
cmVkRnJhbWVTdGFydFRpbWUgPSAwOworICAgIG1fZGVzaXJlZEZyYW1lU3RhcnRUaW1lID0geyB9
OwogICAgIG1fYW5pbWF0aW9uRmluaXNoZWQgPSBmYWxzZTsKIAogICAgIC8vIEZvciBleHRyZW1l
bHkgbGFyZ2UgYW5pbWF0aW9ucywgd2hlbiB0aGUgYW5pbWF0aW9uIGlzIHJlc2V0LCB3ZSBqdXN0
IHRocm93IGV2ZXJ5dGhpbmcgYXdheS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9CaXRtYXBJbWFnZS5oCmluZGV4IDQyMmQ2Yzk4MGE1N2Y1NDc2ZjNiMmU3YzI2ZDA2MDBm
MGRiOTU0NTIuLjhlYTI0ZDZiYWZhMDExMjg3N2I1MDNiOTdmYzdkY2FmZDI1ZTUyNTQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuaApAQCAtOTcs
OCArOTcsOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBjdXJyZW50RnJhbWVLbm93blRvQmVPcGFxdWUo
KSBjb25zdCBvdmVycmlkZSB7IHJldHVybiAhZnJhbWVIYXNBbHBoYUF0SW5kZXgoY3VycmVudEZy
YW1lKCkpOyB9CiAgICAgSW1hZ2VPcmllbnRhdGlvbiBvcmllbnRhdGlvbkZvckN1cnJlbnRGcmFt
ZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGZyYW1lT3JpZW50YXRpb25BdEluZGV4KGN1cnJl
bnRGcmFtZSgpKTsgfQogCi0gICAgYm9vbCBzaG91bGRVc2VBc3luY0RlY29kaW5nRm9yQW5pbWF0
ZWRJbWFnZXNGb3JUZXN0aW5nKCkgY29uc3QgeyByZXR1cm4gbV9mcmFtZURlY29kaW5nRHVyYXRp
b25Gb3JUZXN0aW5nID4gMDsgfQotICAgIHZvaWQgc2V0RnJhbWVEZWNvZGluZ0R1cmF0aW9uRm9y
VGVzdGluZyhmbG9hdCBkdXJhdGlvbikgeyBtX2ZyYW1lRGVjb2RpbmdEdXJhdGlvbkZvclRlc3Rp
bmcgPSBkdXJhdGlvbjsgfQorICAgIGJvb2wgc2hvdWxkVXNlQXN5bmNEZWNvZGluZ0ZvckFuaW1h
dGVkSW1hZ2VzRm9yVGVzdGluZygpIGNvbnN0IHsgcmV0dXJuIG1fZnJhbWVEZWNvZGluZ0R1cmF0
aW9uRm9yVGVzdGluZyA+IDBfczsgfQorICAgIHZvaWQgc2V0RnJhbWVEZWNvZGluZ0R1cmF0aW9u
Rm9yVGVzdGluZyhTZWNvbmRzIGR1cmF0aW9uKSB7IG1fZnJhbWVEZWNvZGluZ0R1cmF0aW9uRm9y
VGVzdGluZyA9IGR1cmF0aW9uOyB9CiAgICAgYm9vbCBzaG91bGRVc2VBc3luY0RlY29kaW5nRm9y
TGFyZ2VJbWFnZXMoKTsKICAgICBib29sIHNob3VsZFVzZUFzeW5jRGVjb2RpbmdGb3JBbmltYXRl
ZEltYWdlcygpOwogICAgIHZvaWQgc2V0Q2xlYXJEZWNvZGVyQWZ0ZXJBc3luY0ZyYW1lUmVxdWVz
dEZvclRlc3RpbmcoYm9vbCB2YWx1ZSkgeyBtX2NsZWFyRGVjb2RlckFmdGVyQXN5bmNGcmFtZVJl
cXVlc3RGb3JUZXN0aW5nID0gdmFsdWU7IH0KQEAgLTE5MCw3ICsxOTAsNyBAQCBwcm90ZWN0ZWQ6
CiAKIHByaXZhdGU6CiAgICAgdm9pZCBjbGVhclRpbWVyKCk7Ci0gICAgdm9pZCBzdGFydFRpbWVy
KGRvdWJsZSBkZWxheSk7CisgICAgdm9pZCBzdGFydFRpbWVyKFNlY29uZHMgZGVsYXkpOwogICAg
IGJvb2wgaXNCaXRtYXBJbWFnZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0KICAg
ICB2b2lkIGR1bXAoVGV4dFN0cmVhbSYpIGNvbnN0IG92ZXJyaWRlOwogCkBAIC0yMDcsMTEgKzIw
NywxMSBAQCBwcml2YXRlOgogICAgIFN1YnNhbXBsaW5nTGV2ZWwgbV9jdXJyZW50U3Vic2FtcGxp
bmdMZXZlbCB7IFN1YnNhbXBsaW5nTGV2ZWw6OkRlZmF1bHQgfTsKICAgICBzdGQ6OnVuaXF1ZV9w
dHI8VGltZXI+IG1fZnJhbWVUaW1lcjsKICAgICBSZXBldGl0aW9uQ291bnQgbV9yZXBldGl0aW9u
c0NvbXBsZXRlIHsgUmVwZXRpdGlvbkNvdW50Tm9uZSB9OyAvLyBIb3cgbWFueSByZXBldGl0aW9u
cyB3ZSd2ZSBmaW5pc2hlZC4KLSAgICBkb3VibGUgbV9kZXNpcmVkRnJhbWVTdGFydFRpbWUgeyAw
IH07IC8vIFRoZSBzeXN0ZW0gdGltZSBhdCB3aGljaCB3ZSBob3BlIHRvIHNlZSB0aGUgbmV4dCBj
YWxsIHRvIHN0YXJ0QW5pbWF0aW9uKCkuCisgICAgTW9ub3RvbmljVGltZSBtX2Rlc2lyZWRGcmFt
ZVN0YXJ0VGltZTsgLy8gVGhlIHN5c3RlbSB0aW1lIGF0IHdoaWNoIHdlIGhvcGUgdG8gc2VlIHRo
ZSBuZXh0IGNhbGwgdG8gc3RhcnRBbmltYXRpb24oKS4KICAgICBib29sIG1fYW5pbWF0aW9uRmlu
aXNoZWQgeyBmYWxzZSB9OwogCi0gICAgZmxvYXQgbV9mcmFtZURlY29kaW5nRHVyYXRpb25Gb3JU
ZXN0aW5nIHsgMCB9OwotICAgIGRvdWJsZSBtX2Rlc2lyZWRGcmFtZURlY29kZVRpbWVGb3JUZXN0
aW5nIHsgMCB9OworICAgIFNlY29uZHMgbV9mcmFtZURlY29kaW5nRHVyYXRpb25Gb3JUZXN0aW5n
OworICAgIE1vbm90b25pY1RpbWUgbV9kZXNpcmVkRnJhbWVEZWNvZGVUaW1lRm9yVGVzdGluZzsK
ICAgICBib29sIG1fY2xlYXJEZWNvZGVyQWZ0ZXJBc3luY0ZyYW1lUmVxdWVzdEZvclRlc3Rpbmcg
eyBmYWxzZSB9OwogI2lmICFMT0dfRElTQUJMRUQKICAgICBzaXplX3QgbV9sYXRlRnJhbWVDb3Vu
dCB7IDAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01l
ZGlhUGxheWJhY2tUYXJnZXRQaWNrZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlci5jcHAKaW5kZXggNDkzMTY4NmIzMTUxMjc3
MTYyNTA0ODg4YjcxNWUyODFhMjc1OTIwNi4uZjUwMTNmNGEwZjQ5M2FmMWFiOTUyNzE4YzkzNDA4
NGM3NTVkMjZhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
TWVkaWFQbGF5YmFja1RhcmdldFBpY2tlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlci5jcHAKQEAgLTMzLDcgKzMzLDcg
QEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMgY29uc3QgZG91YmxlIHBlbmRpbmdB
Y3Rpb25JbnRlcnZhbCA9IDEuMCAvIDEwLjA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBwZW5kaW5n
QWN0aW9uSW50ZXJ2YWwgeyAxMDBfbXMgfTsKIAogTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlcjo6
TWVkaWFQbGF5YmFja1RhcmdldFBpY2tlcihDbGllbnQmIGNsaWVudCkKICAgICA6IG1fY2xpZW50
KCZjbGllbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9T
aGFkb3dCbHVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NoYWRvd0Js
dXIuY3BwCmluZGV4IGYxN2IzZmZlNzMxMzA0MGFiMjFmZmM4MDUwM2I1OTQxMzdhMjM0YjguLjg3
ZjQ1ZTQ2MGZkZTA5YzRmZmVkZWQyZmUwNTEwZGQ0OTgzMTY1ZGMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NoYWRvd0JsdXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NoYWRvd0JsdXIuY3BwCkBAIC0xMjQsNyArMTI0LDcg
QEAgcHVibGljOgogICAgICAgICBpZiAobV9wdXJnZVRpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAg
ICAgICBtX3B1cmdlVGltZXIuc3RvcCgpOwogCi0gICAgICAgIGNvbnN0IGRvdWJsZSBzY3JhdGNo
QnVmZmVyUHVyZ2VJbnRlcnZhbCA9IDI7CisgICAgICAgIGNvbnN0IFNlY29uZHMgc2NyYXRjaEJ1
ZmZlclB1cmdlSW50ZXJ2YWwgeyAyX3MgfTsKICAgICAgICAgbV9wdXJnZVRpbWVyLnN0YXJ0T25l
U2hvdChzY3JhdGNoQnVmZmVyUHVyZ2VJbnRlcnZhbCk7CiAgICAgfQogICAgIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvTGF5ZXJQb29sLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL0xheWVyUG9vbC5jcHAKaW5kZXggMGNm
N2Y3N2U2MTFhZDJiZDRlYjA3MjM1MDAxOGFkYzRiY2RiODQ1Zi4uMGNjNGZhYzU4YTMwNDJhYjY2
ODRjZTE2YmU3MGQ0YzI1MGFmOTdhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2EvTGF5ZXJQb29sLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jYS9MYXllclBvb2wuY3BwCkBAIC0xMTAsNyArMTEwLDcgQEAgdm9pZCBMYXll
clBvb2w6OnNjaGVkdWxlUHJ1bmUoKQogewogICAgIGlmIChtX3BydW5lVGltZXIuaXNBY3RpdmUo
KSkKICAgICAgICAgcmV0dXJuOwotICAgIG1fcHJ1bmVUaW1lci5zdGFydE9uZVNob3QoMSk7Cisg
ICAgbV9wcnVuZVRpbWVyLnN0YXJ0T25lU2hvdCgxX3MpOwogfQogCiB2b2lkIExheWVyUG9vbDo6
cHJ1bmVUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdT
dHJlYW1lci5jcHAKaW5kZXggMDQ2NmY3NzMxZDkzNjZkOWYzODUwNzgxOTBhZjRlODBjODczN2Fm
Ni4uOWQyYWNkNGUxZWQwYjI5NzhmZWVjNGNjNTA4Y2Q0OWIxZmNmZjBlNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJp
dmF0ZUdTdHJlYW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAKQEAgLTM3MCw3ICszNzAs
NyBAQCBib29sIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6Y2hhbmdlUGlwZWxpbmVTdGF0
ZShHc3RTdGF0ZSBuZXdTdGF0ZSkKICAgICBpZiAobmV3U3RhdGUgPT0gR1NUX1NUQVRFX1JFQURZ
ICYmICFtX3JlYWR5VGltZXJIYW5kbGVyLmlzQWN0aXZlKCkpIHsKICAgICAgICAgLy8gTWF4IGlu
dGVydmFsIGluIHNlY29uZHMgdG8gc3RheSBpbiB0aGUgUkVBRFkgc3RhdGUgb24gbWFudWFsCiAg
ICAgICAgIC8vIHN0YXRlIGNoYW5nZSByZXF1ZXN0cy4KLSAgICAgICAgc3RhdGljIGNvbnN0IGRv
dWJsZSByZWFkeVN0YXRlVGltZXJEZWxheSA9IDYwOworICAgICAgICBzdGF0aWMgY29uc3QgU2Vj
b25kcyByZWFkeVN0YXRlVGltZXJEZWxheSB7IDFfbWluIH07CiAgICAgICAgIG1fcmVhZHlUaW1l
ckhhbmRsZXIuc3RhcnRPbmVTaG90KHJlYWR5U3RhdGVUaW1lckRlbGF5KTsKICAgICB9IGVsc2Ug
aWYgKG5ld1N0YXRlICE9IEdTVF9TVEFURV9SRUFEWSkKICAgICAgICAgbV9yZWFkeVRpbWVySGFu
ZGxlci5zdG9wKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9tYWMvR3JhcGhpY3NDb250ZXh0M0RNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9tYWMvR3JhcGhpY3NDb250ZXh0M0RNYWMubW0KaW5kZXggNTZiZTA2ZmU0MDFmZDQ1
Njk4OGZhMmZmMTVkOTUzMWIxMzU2MGQ2Ny4uMWM0ZTQzNTkzNWExY2E0NjIxNGQzNDgwMDU0MDUz
YzU5ZjhlZjA5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
bWFjL0dyYXBoaWNzQ29udGV4dDNETWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL21hYy9HcmFwaGljc0NvbnRleHQzRE1hYy5tbQpAQCAtMjc4LDggKzI3OCw4IEBA
IHZvaWQgR3JhcGhpY3NDb250ZXh0M0RNYW5hZ2VyOjp1cGRhdGVIaWdoUGVyZm9ybWFuY2VTdGF0
ZSgpCiAgICAgICAgICAgICBMT0coV2ViR0wsICJTZXQgYSB0aW1lciB0byB0dXJuIG9mZiBoaWdo
LXBlcmZvcm1hbmNlIEdQVS4iKTsKICAgICAgICAgICAgIC8vIEZJWE1FOiBFeHBvc2UgdGhpcyB2
YWx1ZSBhcyBhIFNldHRpbmcsIHdoaWNoIHdvdWxkIHJlcXVpcmUgdGhpcyBjbGFzcwogICAgICAg
ICAgICAgLy8gdG8gcmVmZXJlbmNlIGEgZnJhbWUsIHBhZ2Ugb3IgZG9jdW1lbnQuCi0gICAgICAg
ICAgICBzdGF0aWMgY29uc3QgaW50IHRpbWVUb0tlZXBIaWdoUGVyZm9ybWFuY2VHUFVBbGl2ZUlu
U2Vjb25kcyA9IDEwOwotICAgICAgICAgICAgbV9kaXNhYmxlSGlnaFBlcmZvcm1hbmNlR1BVVGlt
ZXIuc3RhcnRPbmVTaG90KHRpbWVUb0tlZXBIaWdoUGVyZm9ybWFuY2VHUFVBbGl2ZUluU2Vjb25k
cyk7CisgICAgICAgICAgICBzdGF0aWMgY29uc3QgU2Vjb25kcyB0aW1lVG9LZWVwSGlnaFBlcmZv
cm1hbmNlR1BVQWxpdmUgeyAxMF9zIH07CisgICAgICAgICAgICBtX2Rpc2FibGVIaWdoUGVyZm9y
bWFuY2VHUFVUaW1lci5zdGFydE9uZVNob3QodGltZVRvS2VlcEhpZ2hQZXJmb3JtYW5jZUdQVUFs
aXZlKTsKICAgICAgICAgfQogICAgIH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0JpdG1hcFRleHR1cmVQb29sLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9CaXRtYXBUZXh0dXJlUG9vbC5jcHAK
aW5kZXggMDBjYzhlZTM2ZGM1YTdlZTkwOGM0N2E3NDIzZWI3ZGQzYzU4NGYxMC4uOGUzNWZlZjBl
YjRmMjFiODdlMDNkOGRmM2FjZTA3NDYxZDUwYTllZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0JpdG1hcFRleHR1cmVQb29sLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvQml0bWFwVGV4dHVyZVBvb2wu
Y3BwCkBAIC0zMyw4ICszMyw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIGNv
bnN0IGRvdWJsZSBzX3JlbGVhc2VVbnVzZWRTZWNvbmRzVG9sZXJhbmNlID0gMzsKLXN0YXRpYyBj
b25zdCBkb3VibGUgc19yZWxlYXNlVW51c2VkVGV4dHVyZXNUaW1lckludGVydmFsID0gMC41Owor
c3RhdGljIGNvbnN0IGRvdWJsZSByZWxlYXNlVW51c2VkU2Vjb25kc1RvbGVyYW5jZSA9IDM7Citz
dGF0aWMgY29uc3QgU2Vjb25kcyByZWxlYXNlVW51c2VkVGV4dHVyZXNUaW1lckludGVydmFsIHsg
NTAwX21zIH07CiAKICNpZiBVU0UoVEVYVFVSRV9NQVBQRVJfR0wpCiBCaXRtYXBUZXh0dXJlUG9v
bDo6Qml0bWFwVGV4dHVyZVBvb2woUmVmUHRyPEdyYXBoaWNzQ29udGV4dDNEPiYmIGNvbnRleHQz
RCkKQEAgLTY2LDEzICs2NiwxMyBAQCB2b2lkIEJpdG1hcFRleHR1cmVQb29sOjpzY2hlZHVsZVJl
bGVhc2VVbnVzZWRUZXh0dXJlcygpCiAgICAgaWYgKG1fcmVsZWFzZVVudXNlZFRleHR1cmVzVGlt
ZXIuaXNBY3RpdmUoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9yZWxlYXNlVW51c2VkVGV4
dHVyZXNUaW1lci5zdGFydE9uZVNob3Qoc19yZWxlYXNlVW51c2VkVGV4dHVyZXNUaW1lckludGVy
dmFsKTsKKyAgICBtX3JlbGVhc2VVbnVzZWRUZXh0dXJlc1RpbWVyLnN0YXJ0T25lU2hvdChyZWxl
YXNlVW51c2VkVGV4dHVyZXNUaW1lckludGVydmFsKTsKIH0KIAogdm9pZCBCaXRtYXBUZXh0dXJl
UG9vbDo6cmVsZWFzZVVudXNlZFRleHR1cmVzVGltZXJGaXJlZCgpCiB7Ci0gICAgLy8gRGVsZXRl
IGVudHJpZXMsIHdoaWNoIGhhdmUgYmVlbiB1bnVzZWQgaW4gc19yZWxlYXNlVW51c2VkU2Vjb25k
c1RvbGVyYW5jZS4KLSAgICBkb3VibGUgbWluVXNlZFRpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVh
c2luZ1RpbWUoKSAtIHNfcmVsZWFzZVVudXNlZFNlY29uZHNUb2xlcmFuY2U7CisgICAgLy8gRGVs
ZXRlIGVudHJpZXMsIHdoaWNoIGhhdmUgYmVlbiB1bnVzZWQgaW4gcmVsZWFzZVVudXNlZFNlY29u
ZHNUb2xlcmFuY2UuCisgICAgZG91YmxlIG1pblVzZWRUaW1lID0gbW9ub3RvbmljYWxseUluY3Jl
YXNpbmdUaW1lKCkgLSByZWxlYXNlVW51c2VkU2Vjb25kc1RvbGVyYW5jZTsKIAogICAgIGlmICgh
bV90ZXh0dXJlcy5pc0VtcHR5KCkpIHsKICAgICAgICAgc3RkOjpzb3J0KG1fdGV4dHVyZXMuYmVn
aW4oKSwgbV90ZXh0dXJlcy5lbmQoKSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyUGxhdGZvcm1MYXllclByb3h5LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyUGxh
dGZvcm1MYXllclByb3h5LmNwcAppbmRleCA0ZGI3NDgyNDk5NjdjODkwNTJjZWQwZWU0YTIzMGJl
ZGFlNmEwN2Y4Li5kYzNlNzQ3ZWVkZGI2ZTc1YjhhMWY5MzNhMjY2MzE2YTI4YmMzZjU0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1h
cHBlclBsYXRmb3JtTGF5ZXJQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVyUHJveHkuY3BwCkBAIC0z
Nyw4ICszNyw4IEBACiAjaW5jbHVkZSA8d3RmL2dsaWIvUnVuTG9vcFNvdXJjZVByaW9yaXR5Lmg+
CiAjZW5kaWYKIAotY29uc3QgZG91YmxlIHNfcmVsZWFzZVVudXNlZFNlY29uZHNUb2xlcmFuY2Ug
PSAxOwotY29uc3QgZG91YmxlIHNfcmVsZWFzZVVudXNlZEJ1ZmZlcnNUaW1lckludGVydmFsID0g
MC41Oworc3RhdGljIGNvbnN0IGRvdWJsZSByZWxlYXNlVW51c2VkU2Vjb25kc1RvbGVyYW5jZSA9
IDE7CitzdGF0aWMgY29uc3QgU2Vjb25kcyByZWxlYXNlVW51c2VkQnVmZmVyc1RpbWVySW50ZXJ2
YWwgPSB7IDUwMF9tcyB9OwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTE0NCw3ICsxNDQs
NyBAQCBzdGQ6OnVuaXF1ZV9wdHI8VGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXJCdWZmZXI+IFRl
eHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVyUHJveAogdm9pZCBUZXh0dXJlTWFwcGVyUGxhdGZvcm1M
YXllclByb3h5OjpzY2hlZHVsZVJlbGVhc2VVbnVzZWRCdWZmZXJzKCkKIHsKICAgICBpZiAoIW1f
cmVsZWFzZVVudXNlZEJ1ZmZlcnNUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3JlbGVhc2VV
bnVzZWRCdWZmZXJzVGltZXIuc3RhcnRPbmVTaG90KHNfcmVsZWFzZVVudXNlZEJ1ZmZlcnNUaW1l
ckludGVydmFsKTsKKyAgICAgICAgbV9yZWxlYXNlVW51c2VkQnVmZmVyc1RpbWVyLnN0YXJ0T25l
U2hvdChyZWxlYXNlVW51c2VkQnVmZmVyc1RpbWVySW50ZXJ2YWwpOwogfQogCiB2b2lkIFRleHR1
cmVNYXBwZXJQbGF0Zm9ybUxheWVyUHJveHk6OnJlbGVhc2VVbnVzZWRCdWZmZXJzVGltZXJGaXJl
ZCgpCkBAIC0xNTQsNyArMTU0LDcgQEAgdm9pZCBUZXh0dXJlTWFwcGVyUGxhdGZvcm1MYXllclBy
b3h5OjpyZWxlYXNlVW51c2VkQnVmZmVyc1RpbWVyRmlyZWQoKQogICAgICAgICByZXR1cm47CiAK
ICAgICBhdXRvIGJ1ZmZlcnMgPSBXVEZNb3ZlKG1fdXNlZEJ1ZmZlcnMpOwotICAgIGRvdWJsZSBt
aW5Vc2VkVGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpIC0gc19yZWxlYXNlVW51
c2VkU2Vjb25kc1RvbGVyYW5jZTsKKyAgICBkb3VibGUgbWluVXNlZFRpbWUgPSBtb25vdG9uaWNh
bGx5SW5jcmVhc2luZ1RpbWUoKSAtIHJlbGVhc2VVbnVzZWRTZWNvbmRzVG9sZXJhbmNlOwogCiAg
ICAgZm9yIChhdXRvJiBidWZmZXIgOiBidWZmZXJzKSB7CiAgICAgICAgIGlmIChidWZmZXIgJiYg
YnVmZmVyLT5sYXN0VXNlZFRpbWUoKSA+PSBtaW5Vc2VkVGltZSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRl
ZEltYWdlQmFja2luZy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXht
YXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRJbWFnZUJhY2tpbmcuY3BwCmluZGV4IDNmNTY3M2U4
ZmQ1MzY1ZjA4Y2ZkNjllZmMzZmFhZWM0MzIzMzZhNjEuLmY1Mjk0NzU1YTIzMzY1NWMzMDY2NTcx
Y2Y2MzliZWNiNTBjMDMwNTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEltYWdlQmFja2luZy5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nv
b3JkaW5hdGVkSW1hZ2VCYWNraW5nLmNwcApAQCAtMTQ0LDcgKzE0NCw3IEBAIHZvaWQgQ29vcmRp
bmF0ZWRJbWFnZUJhY2tpbmc6OnJlbGVhc2VTdXJmYWNlSWZOZWVkZWQoKQogICAgIG1fc3VyZmFj
ZSA9IG51bGxwdHI7CiB9CiAKLXN0YXRpYyBjb25zdCBkb3VibGUgY2xlYXJDb250ZW50c1RpbWVy
SW50ZXJ2YWwgPSAzOworc3RhdGljIGNvbnN0IFNlY29uZHMgY2xlYXJDb250ZW50c1RpbWVySW50
ZXJ2YWwgeyAzX3MgfTsKIAogdm9pZCBDb29yZGluYXRlZEltYWdlQmFja2luZzo6dXBkYXRlVmlz
aWJpbGl0eUlmTmVlZGVkKGJvb2wmIGNoYW5nZWRUb1Zpc2libGUpCiB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvU2Nyb2xsQW5pbWF0b3JHdGsuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1Njcm9sbEFuaW1hdG9yR3RrLmNwcAppbmRleCA0NGU0NzM0
ODJkZmFhMjAzODk0NjdjNzJlYzkzMDA3OGQ1YTgwYzU5Li4xYjk1NDgxZjg1YWQyNzI1ZWZhYWU0
MGRlMWExZGFlNmQ1NThmNGE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
dGsvU2Nyb2xsQW5pbWF0b3JHdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0
ay9TY3JvbGxBbmltYXRvckd0ay5jcHAKQEAgLTM4LDggKzM4LDggQEAKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCi1zdGF0aWMgY29uc3QgZG91YmxlIG92ZXJmbG93U2Nyb2xsYmFyc0FuaW1hdGlv
bkR1cmF0aW9uID0gMTsKLXN0YXRpYyBjb25zdCBkb3VibGUgb3ZlcmZsb3dTY3JvbGxiYXJzQW5p
bWF0aW9uSGlkZURlbGF5ID0gMjsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIG92ZXJmbG93U2Nyb2xs
YmFyc0FuaW1hdGlvbkR1cmF0aW9uIHsgMV9zIH07CitzdGF0aWMgY29uc3QgU2Vjb25kcyBvdmVy
Zmxvd1Njcm9sbGJhcnNBbmltYXRpb25IaWRlRGVsYXkgeyAyX3MgfTsKIAogc3RkOjp1bmlxdWVf
cHRyPFNjcm9sbEFuaW1hdG9yPiBTY3JvbGxBbmltYXRvcjo6Y3JlYXRlKFNjcm9sbGFibGVBcmVh
JiBzY3JvbGxhYmxlQXJlYSkKIHsKQEAgLTE3NiwxMCArMTc2LDEwIEBAIHZvaWQgU2Nyb2xsQW5p
bWF0b3JHdGs6Om92ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25UaW1lckZpcmVkKCkKICAgICBpZiAo
bV9vdmVybGF5U2Nyb2xsYmFyc0xvY2tlZCkKICAgICAgICAgcmV0dXJuOwogCi0gICAgZG91Ymxl
IGN1cnJlbnRUaW1lID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7CisgICAgTW9ub3Rv
bmljVGltZSBjdXJyZW50VGltZSA9IE1vbm90b25pY1RpbWU6Om5vdygpOwogICAgIGRvdWJsZSBw
cm9ncmVzcyA9IDE7CiAgICAgaWYgKGN1cnJlbnRUaW1lIDwgbV9vdmVybGF5U2Nyb2xsYmFyQW5p
bWF0aW9uRW5kVGltZSkKLSAgICAgICAgcHJvZ3Jlc3MgPSAoY3VycmVudFRpbWUgLSBtX292ZXJs
YXlTY3JvbGxiYXJBbmltYXRpb25TdGFydFRpbWUpIC8gKG1fb3ZlcmxheVNjcm9sbGJhckFuaW1h
dGlvbkVuZFRpbWUgLSBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25TdGFydFRpbWUpOworICAg
ICAgICBwcm9ncmVzcyA9IChjdXJyZW50VGltZSAtIG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlv
blN0YXJ0VGltZSkudmFsdWUoKSAvIChtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25FbmRUaW1l
IC0gbV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uU3RhcnRUaW1lKS52YWx1ZSgpOwogICAgIHBy
b2dyZXNzID0gbV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uU291cmNlICsgKGVhc2VPdXRDdWJp
Yyhwcm9ncmVzcykgKiAobV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uVGFyZ2V0IC0gbV9vdmVy
bGF5U2Nyb2xsYmFyQW5pbWF0aW9uU291cmNlKSk7CiAgICAgaWYgKHByb2dyZXNzICE9IG1fb3Zl
cmxheVNjcm9sbGJhckFuaW1hdGlvbkN1cnJlbnQpIHsKICAgICAgICAgbV9vdmVybGF5U2Nyb2xs
YmFyQW5pbWF0aW9uQ3VycmVudCA9IHByb2dyZXNzOwpAQCAtMTg4LDkgKzE4OCw5IEBAIHZvaWQg
U2Nyb2xsQW5pbWF0b3JHdGs6Om92ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25UaW1lckZpcmVkKCkK
IAogICAgIGlmIChtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25DdXJyZW50ICE9IG1fb3Zlcmxh
eVNjcm9sbGJhckFuaW1hdGlvblRhcmdldCkgewogICAgICAgICBzdGF0aWMgY29uc3QgZG91Ymxl
IGZyYW1lUmF0ZSA9IDYwOwotICAgICAgICBzdGF0aWMgY29uc3QgZG91YmxlIHRpY2tUaW1lID0g
MSAvIGZyYW1lUmF0ZTsKLSAgICAgICAgc3RhdGljIGNvbnN0IGRvdWJsZSBtaW5pbXVtVGltZXJJ
bnRlcnZhbCA9IC4wMDE7Ci0gICAgICAgIGRvdWJsZSBkZWx0YVRvTmV4dEZyYW1lID0gc3RkOjpt
YXgodGlja1RpbWUgLSAobW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkgLSBjdXJyZW50VGlt
ZSksIG1pbmltdW1UaW1lckludGVydmFsKTsKKyAgICAgICAgc3RhdGljIGNvbnN0IFNlY29uZHMg
dGlja1RpbWUgPSAxX3MgLyBmcmFtZVJhdGU7CisgICAgICAgIHN0YXRpYyBjb25zdCBTZWNvbmRz
IG1pbmltdW1UaW1lckludGVydmFsID0gMV9tczsKKyAgICAgICAgU2Vjb25kcyBkZWx0YVRvTmV4
dEZyYW1lID0gc3RkOjptYXgodGlja1RpbWUgLSAoTW9ub3RvbmljVGltZTo6bm93KCkgLSBjdXJy
ZW50VGltZSksIG1pbmltdW1UaW1lckludGVydmFsKTsKICAgICAgICAgbV9vdmVybGF5U2Nyb2xs
YmFyQW5pbWF0aW9uVGltZXIuc3RhcnRPbmVTaG90KGRlbHRhVG9OZXh0RnJhbWUpOwogICAgIH0g
ZWxzZQogICAgICAgICBoaWRlT3ZlcmxheVNjcm9sbGJhcnMoKTsKQEAgLTIxMSw3ICsyMTEsNyBA
QCB2b2lkIFNjcm9sbEFuaW1hdG9yR3RrOjpzaG93T3ZlcmxheVNjcm9sbGJhcnMoKQogICAgIG1f
b3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvblNvdXJjZSA9IG1fb3ZlcmxheVNjcm9sbGJhckFuaW1h
dGlvbkN1cnJlbnQ7CiAgICAgbV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uVGFyZ2V0ID0gMTsK
ICAgICBpZiAobV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uVGFyZ2V0ICE9IG1fb3ZlcmxheVNj
cm9sbGJhckFuaW1hdGlvbkN1cnJlbnQpIHsKLSAgICAgICAgbV9vdmVybGF5U2Nyb2xsYmFyQW5p
bWF0aW9uU3RhcnRUaW1lID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7CisgICAgICAg
IG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvblN0YXJ0VGltZSA9IE1vbm90b25pY1RpbWU6Om5v
dygpOwogICAgICAgICBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25FbmRUaW1lID0gbV9vdmVy
bGF5U2Nyb2xsYmFyQW5pbWF0aW9uU3RhcnRUaW1lICsgb3ZlcmZsb3dTY3JvbGxiYXJzQW5pbWF0
aW9uRHVyYXRpb247CiAgICAgICAgIG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvblRpbWVyLnN0
YXJ0T25lU2hvdCgwX3MpOwogICAgIH0gZWxzZQpAQCAtMjMxLDcgKzIzMSw3IEBAIHZvaWQgU2Ny
b2xsQW5pbWF0b3JHdGs6OmhpZGVPdmVybGF5U2Nyb2xsYmFycygpCiAgICAgbV9vdmVybGF5U2Ny
b2xsYmFyQW5pbWF0aW9uVGFyZ2V0ID0gMDsKICAgICBpZiAobV9vdmVybGF5U2Nyb2xsYmFyQW5p
bWF0aW9uVGFyZ2V0ID09IG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvbkN1cnJlbnQpCiAgICAg
ICAgIHJldHVybjsKLSAgICBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25TdGFydFRpbWUgPSBt
b25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSArIG92ZXJmbG93U2Nyb2xsYmFyc0FuaW1hdGlv
bkhpZGVEZWxheTsKKyAgICBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25TdGFydFRpbWUgPSBN
b25vdG9uaWNUaW1lOjpub3coKSArIG92ZXJmbG93U2Nyb2xsYmFyc0FuaW1hdGlvbkhpZGVEZWxh
eTsKICAgICBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25FbmRUaW1lID0gbV9vdmVybGF5U2Ny
b2xsYmFyQW5pbWF0aW9uU3RhcnRUaW1lICsgb3ZlcmZsb3dTY3JvbGxiYXJzQW5pbWF0aW9uRHVy
YXRpb24gKyBvdmVyZmxvd1Njcm9sbGJhcnNBbmltYXRpb25IaWRlRGVsYXk7CiAgICAgbV9vdmVy
bGF5U2Nyb2xsYmFyQW5pbWF0aW9uVGltZXIuc3RhcnRPbmVTaG90KG92ZXJmbG93U2Nyb2xsYmFy
c0FuaW1hdGlvbkhpZGVEZWxheSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ndGsvU2Nyb2xsQW5pbWF0b3JHdGsuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0
ay9TY3JvbGxBbmltYXRvckd0ay5oCmluZGV4IDcwZTViNzNmOWRlMTNkMjEwY2I5OTNlZTkzNTdk
NzM5MmRkMzIyYTguLmM0MjUzZTVhZGI5MWY3MDQxMzMwNDY4NDFjMjk3NGJmN2RkOGNlY2QgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9TY3JvbGxBbmltYXRvckd0ay5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9TY3JvbGxBbmltYXRvckd0ay5oCkBA
IC04MCw4ICs4MCw4IEBAIHByaXZhdGU6CiAgICAgZG91YmxlIG1fb3ZlcmxheVNjcm9sbGJhckFu
aW1hdGlvblNvdXJjZSB7IDAgfTsKICAgICBkb3VibGUgbV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0
aW9uVGFyZ2V0IHsgMCB9OwogICAgIGRvdWJsZSBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25D
dXJyZW50IHsgMCB9OwotICAgIGRvdWJsZSBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25TdGFy
dFRpbWUgeyAwIH07Ci0gICAgZG91YmxlIG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvbkVuZFRp
bWUgeyAwIH07CisgICAgTW9ub3RvbmljVGltZSBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25T
dGFydFRpbWU7CisgICAgTW9ub3RvbmljVGltZSBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25F
bmRUaW1lOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0Lm1t
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFj
ZUFWS2l0Lm1tCmluZGV4IGYzZmMyYWUyODQ4ZjQ5NzcxOTg1MGE5OThmZDBjOTkzZmIwNzQ1NGEu
LjNkYjNjMDI1ZWJjM2ZjZGY4MzkwZjU3NTljNWU0MjMwODkwYzk3ZTAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktp
dC5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVu
SW50ZXJmYWNlQVZLaXQubW0KQEAgLTgyLDcgKzgyLDcgQEAgc3RhdGljIGNvbnN0IGNoYXIqIGJv
b2xTdHJpbmcoYm9vbCB2YWwpCiB9CiAjZW5kaWYKIAotc3RhdGljIGNvbnN0IGRvdWJsZSBEZWZh
dWx0V2F0Y2hkb2dUaW1lckludGVydmFsID0gMTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIGRlZmF1
bHRXYXRjaGRvZ1RpbWVySW50ZXJ2YWwgeyAxX3MgfTsKIAogQGNsYXNzIFdlYkFWTWVkaWFTZWxl
Y3Rpb25PcHRpb247CiAKQEAgLTk4Niw3ICs5ODYsNyBAQCBib29sIFdlYlZpZGVvRnVsbHNjcmVl
bkludGVyZmFjZUFWS2l0OjpzaG91bGRFeGl0RnVsbHNjcmVlbldpdGhSZWFzb24oV2ViVmlkZW9G
dQogICAgIG1fdmlkZW9GdWxsc2NyZWVuTW9kZWwtPnJlcXVlc3RGdWxsc2NyZWVuTW9kZShIVE1M
TWVkaWFFbGVtZW50RW51bXM6OlZpZGVvRnVsbHNjcmVlbk1vZGVOb25lLCByZWFzb24gPT0gRXhp
dEZ1bGxTY3JlZW5SZWFzb246OkRvbmVCdXR0b25UYXBwZWQpOwogCiAgICAgaWYgKCFtX3dhdGNo
ZG9nVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV93YXRjaGRvZ1RpbWVyLnN0YXJ0T25lU2hv
dChEZWZhdWx0V2F0Y2hkb2dUaW1lckludGVydmFsKTsKKyAgICAgICAgbV93YXRjaGRvZ1RpbWVy
LnN0YXJ0T25lU2hvdChkZWZhdWx0V2F0Y2hkb2dUaW1lckludGVydmFsKTsKIAogICAgIHJldHVy
biBmYWxzZTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3Jv
bGxBbmltYXRvck1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxBbmlt
YXRvck1hYy5tbQppbmRleCA5NjI0ZDA1ZDE4ZTZmZDI1NmU3YWU5MTEyNjkzYTU0MDE4ODIwNTQ4
Li4wZGEzNDliZmZhZjFmMWFjOTg4ODc2NWE5YzBiODc2MWNjYzY0ZGZmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMubW0KKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbEFuaW1hdG9yTWFjLm1tCkBAIC0xMzM4LDcg
KzEzMzgsNyBAQCB2b2lkIFNjcm9sbEFuaW1hdG9yTWFjOjp1cGRhdGVTY3JvbGxlclN0eWxlKCkK
IAogdm9pZCBTY3JvbGxBbmltYXRvck1hYzo6c3RhcnRTY3JvbGxiYXJQYWludFRpbWVyKCkKIHsK
LSAgICBtX2luaXRpYWxTY3JvbGxiYXJQYWludFRpbWVyLnN0YXJ0T25lU2hvdCgwLjEpOworICAg
IG1faW5pdGlhbFNjcm9sbGJhclBhaW50VGltZXIuc3RhcnRPbmVTaG90KDEwMF9tcyk7CiB9CiAK
IGJvb2wgU2Nyb2xsQW5pbWF0b3JNYWM6OnNjcm9sbGJhclBhaW50VGltZXJJc0FjdGl2ZSgpIGNv
bnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01lZGlhUGxheWJh
Y2tUYXJnZXRQaWNrZXJNb2NrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTWVk
aWFQbGF5YmFja1RhcmdldFBpY2tlck1vY2suY3BwCmluZGV4IDFhNjBjYTI0YmJjNjA5NmI3YTk1
ZTIxMDY2MDQ5NTEyZmUyZjI1NWIuLjVhYWE4NGRjOWEwYWNjMjkwNmZiMDkzZTFiZjgyNGI2ZTc5
ODBjMzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTWVkaWFQbGF5
YmFja1RhcmdldFBpY2tlck1vY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21v
Y2svTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlck1vY2suY3BwCkBAIC0zNyw3ICszNyw3IEBAIHVz
aW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBj
b25zdCBkb3VibGUgdGltZXJJbnRlcnZhbCA9IDEuMCAvIDEwLjA7CitzdGF0aWMgY29uc3QgU2Vj
b25kcyB0aW1lckludGVydmFsIHsgMTAwX21zIH07CiAKIE1lZGlhUGxheWJhY2tUYXJnZXRQaWNr
ZXJNb2NrOjpNZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyTW9jayhNZWRpYVBsYXliYWNrVGFyZ2V0
UGlja2VyOjpDbGllbnQmIGNsaWVudCkKICAgICA6IE1lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXIo
Y2xpZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9QbGF0Zm9y
bVNwZWVjaFN5bnRoZXNpemVyTW9jay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2Nr
L1BsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrLmNwcAppbmRleCBmM2JjNzFjMGY3MzNkMjgz
M2VjMzQ4NWU4OTQ5NDQ4ZDM4ZGQzZjExLi42N2Y5N2RkNjFjZGQ2MzFlYWM5OGNlYTBkOTQ2MjM2
MDIyNzllMGJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1BsYXRm
b3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tb2NrL1BsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrLmNwcApAQCAtNjgsNyArNjgsNyBA
QCB2b2lkIFBsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrOjpzcGVhayhSZWZQdHI8UGxhdGZv
cm1TcGVlY2hTeW50aGVzaXNVdHRlcmFuYwogICAgIGNsaWVudCgpLT5ib3VuZGFyeUV2ZW50T2Nj
dXJyZWQoKm1fdXR0ZXJhbmNlLCBTcGVlY2hTZW50ZW5jZUJvdW5kYXJ5LCBtX3V0dGVyYW5jZS0+
dGV4dCgpLmxlbmd0aCgpKTsKIAogICAgIC8vIEdpdmUgdGhlIGZha2Ugc3BlZWNoIGpvYiBzb21l
IHRpbWUgc28gdGhhdCBwYXVzZSBhbmQgb3RoZXIgZnVuY3Rpb25zIGhhdmUgdGltZSB0byBiZSBj
YWxsZWQuCi0gICAgbV9zcGVha2luZ0ZpbmlzaGVkVGltZXIuc3RhcnRPbmVTaG90KC4xKTsKKyAg
ICBtX3NwZWFraW5nRmluaXNoZWRUaW1lci5zdGFydE9uZVNob3QoMTAwX21zKTsKIH0KIAogdm9p
ZCBQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyTW9jazo6Y2FuY2VsKCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svVGltZXJFdmVudEJhc2VkTW9jay5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbW9jay9UaW1lckV2ZW50QmFzZWRNb2NrLmgKaW5kZXggZGUwZThh
OWZkNjU5NmIyZTJhYjczNzAzMDQ3ZGU1ZWQzN2ZmZWNhYy4uZGRjZDI3NWE4MmQ0MmI0NjFmODQ1
ZDMzNDRmZGUxYjk0MDhlNGYyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bW9jay9UaW1lckV2ZW50QmFzZWRNb2NrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bW9jay9UaW1lckV2ZW50QmFzZWRNb2NrLmgKQEAgLTYzLDcgKzYzLDcgQEAgcHVibGljOgogICAg
ICAgICAsIG1fdGltZXIoKnRoaXMsICZUaW1lckV2ZW50Ojp0aW1lckZpcmVkKQogICAgICAgICAs
IG1fbm90aWZpZXIobm90aWZpZXIpCiAgICAgewotICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hv
dCgwLjUpOworICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCg1MDBfbXMpOwogICAgIH0KIAog
ICAgIHZpcnR1YWwgflRpbWVyRXZlbnQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9ETlNSZXNvbHZlUXVldWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9ETlNSZXNvbHZlUXVldWUuY3BwCmluZGV4IDU4NzczYWEzMzI5MWNhN2E2ODk1
NzU4NmVlODIwM2M2YmFjMmNmZjMuLmE4YzJkZjQwYzNiZmJhYzVmNWMzOTI5YmNhMzM5MzAwZjBh
MDI2MTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRE5TUmVz
b2x2ZVF1ZXVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0ROU1Jl
c29sdmVRdWV1ZS5jcHAKQEAgLTM3LDcgKzM3LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogc3Rh
dGljIGNvbnN0IGludCBnTmFtZXNUb1Jlc29sdmVJbW1lZGlhdGVseSA9IDQ7CiAKIC8vIENvYWxl
c2NlIHByZWZldGNoIHJlcXVlc3RzIGZvciB0aGlzIGxvbmcgYmVmb3JlIHNlbmRpbmcgdGhlbSBv
dXQuCi1zdGF0aWMgY29uc3QgZG91YmxlIGdDb2FsZXNjZURlbGF5SW5TZWNvbmRzID0gMS4wOwor
c3RhdGljIGNvbnN0IFNlY29uZHMgY29hbGVzY2VEZWxheSB7IDFfcyB9OwogCiAvLyBTZW5kaW5n
IG1hbnkgRE5TIHJlcXVlc3RzIGF0IG9uY2UgY2FuIG92ZXJ3aGVsbSBzb21lIGdhdGV3YXlzLiBT
ZWUgPHJkYXI6Ly84MTA1NTUwPiBmb3Igc3BlY2lmaWMgQ0ZORVQgaXNzdWVzIHdpdGggQ0ZIb3N0
IHRocm90dGxpbmcuCiBzdGF0aWMgY29uc3QgaW50IGdNYXhTaW11bHRhbmVvdXNSZXF1ZXN0cyA9
IDg7CkBAIC00OCw3ICs0OCw3IEBAIHN0YXRpYyBjb25zdCBpbnQgZ01heFNpbXVsdGFuZW91c1Jl
cXVlc3RzID0gODsKIHN0YXRpYyBjb25zdCBpbnQgZ01heFJlcXVlc3RzVG9RdWV1ZSA9IDY0Owog
CiAvLyBJZiB0aGVyZSB3ZXJlIHF1ZXVlZCBuYW1lcyB0aGF0IGNvdWxkbid0IGJlIHNlbnQgc2lt
dWx0YW5lb3VzbHksIGNoZWNrIHRoZSBzdGF0ZSBvZiByZXNvbHZlcnMgYWZ0ZXIgdGhpcyBkZWxh
eS4KLXN0YXRpYyBjb25zdCBkb3VibGUgZ1JldHJ5UmVzb2x2aW5nSW5TZWNvbmRzID0gMC4xOwor
c3RhdGljIGNvbnN0IFNlY29uZHMgcmVzb2x2aW5nUmV0cnlEZWxheSB7IDEwMF9tcyB9OwogCiBE
TlNSZXNvbHZlUXVldWUmIEROU1Jlc29sdmVRdWV1ZTo6c2luZ2xldG9uKCkKIHsKQEAgLTEwMSw3
ICsxMDEsNyBAQCB2b2lkIEROU1Jlc29sdmVRdWV1ZTo6YWRkKGNvbnN0IFN0cmluZyYgaG9zdG5h
bWUpCiAgICAgaWYgKG1fbmFtZXMuc2l6ZSgpIDwgZ01heFJlcXVlc3RzVG9RdWV1ZSkgewogICAg
ICAgICBtX25hbWVzLmFkZChob3N0bmFtZSk7CiAgICAgICAgIGlmICghbV90aW1lci5pc0FjdGl2
ZSgpKQotICAgICAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoZ0NvYWxlc2NlRGVsYXlJblNl
Y29uZHMpOworICAgICAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoY29hbGVzY2VEZWxheSk7
CiAgICAgfQogfQogCkBAIC0xMjIsNyArMTIyLDcgQEAgdm9pZCBETlNSZXNvbHZlUXVldWU6OnRp
bWVyRmlyZWQoKQogICAgIH0KIAogICAgIGlmICghbV9uYW1lcy5pc0VtcHR5KCkpCi0gICAgICAg
IG1fdGltZXIuc3RhcnRPbmVTaG90KGdSZXRyeVJlc29sdmluZ0luU2Vjb25kcyk7CisgICAgICAg
IG1fdGltZXIuc3RhcnRPbmVTaG90KHJlc29sdmluZ1JldHJ5RGVsYXkpOwogfQogCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL1BpbmdIYW5kbGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUGluZ0hh
bmRsZS5oCmluZGV4IDE3YzU0ZTA5NjlkNjNiZGQwZTAzZjdiZmVlNDg0MzNkNzQ1NWFhMmQuLmNi
YWZjMDkzNTY5ZmVlMTM3OGQ4MzNkMzY3ZjM0NjRhOWM0NThiNjIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUGluZ0hhbmRsZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvUGluZ0hhbmRsZS5oCkBAIC01Myw3ICs1Myw3IEBAIHB1Ymxp
YzoKIAogICAgICAgICAvLyBJZiB0aGUgc2VydmVyIG5ldmVyIHJlc3BvbmRzLCB0aGlzIG9iamVj
dCB3aWxsIGhhbmcgYXJvdW5kIGZvcmV2ZXIuCiAgICAgICAgIC8vIFNldCBhIHZlcnkgZ2VuZXJv
dXMgdGltZW91dCwganVzdCBpbiBjYXNlLgotICAgICAgICBtX3RpbWVvdXRUaW1lci5zdGFydE9u
ZVNob3QoNjAwMDApOworICAgICAgICBtX3RpbWVvdXRUaW1lci5zdGFydE9uZVNob3QoNjAwMDBf
cyk7CiAgICAgfQogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9jdXJsL1Jlc291cmNlSGFuZGxlTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvUmVzb3VyY2VIYW5kbGVNYW5hZ2VyLmNwcAppbmRleCBh
ZmJhNTVmNmZlMjE0MGRkZmYzN2I1ZWQxZjk5NmUwZTdiNzg2NmY5Li5jYWNmYmI1NzVlOThiODUw
YjAyYjBhZDMzMzEwZWVjOGFlZTQxOTMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL2N1cmwvUmVzb3VyY2VIYW5kbGVNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvUmVzb3VyY2VIYW5kbGVNYW5hZ2VyLmNwcApA
QCAtODMsNyArODMsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjb25zdCBpbnQgc2VsZWN0
VGltZW91dE1TID0gNTsKLWNvbnN0IGRvdWJsZSBwb2xsVGltZVNlY29uZHMgPSAwLjA1Oworc3Rh
dGljIGNvbnN0IFNlY29uZHMgcG9sbFRpbWUgeyA1MF9tcyB9OwogY29uc3QgaW50IG1heFJ1bm5p
bmdKb2JzID0gMTI4OwogY29uc3QgY2hhciogY29uc3QgZXJyb3JEb21haW5DdXJsID0gIkN1cmxF
cnJvckRvbWFpbiI7CiAKQEAgLTcyNyw3ICs3MjcsNyBAQCB2b2lkIFJlc291cmNlSGFuZGxlTWFu
YWdlcjo6ZG93bmxvYWRUaW1lckNhbGxiYWNrKCkKICAgICBib29sIHN0YXJ0ZWQgPSBzdGFydFNj
aGVkdWxlZEpvYnMoKTsgLy8gbmV3IGpvYnMgbWlnaHQgaGF2ZSBiZWVuIGFkZGVkIGluIHRoZSBt
ZWFudGltZQogCiAgICAgaWYgKCFtX2Rvd25sb2FkVGltZXIuaXNBY3RpdmUoKSAmJiAoc3RhcnRl
ZCB8fCAocnVubmluZ0hhbmRsZXMgPiAwKSkpCi0gICAgICAgIG1fZG93bmxvYWRUaW1lci5zdGFy
dE9uZVNob3QocG9sbFRpbWVTZWNvbmRzKTsKKyAgICAgICAgbV9kb3dubG9hZFRpbWVyLnN0YXJ0
T25lU2hvdChwb2xsVGltZSk7CiB9CiAKIHZvaWQgUmVzb3VyY2VIYW5kbGVNYW5hZ2VyOjpzZXRQ
cm94eUluZm8oY29uc3QgU3RyaW5nJiBob3N0LApAQCAtODc3LDcgKzg3Nyw3IEBAIHZvaWQgUmVz
b3VyY2VIYW5kbGVNYW5hZ2VyOjphZGQoUmVzb3VyY2VIYW5kbGUqIGpvYikKICAgICBqb2ItPnJl
ZigpOwogICAgIG1fcmVzb3VyY2VIYW5kbGVMaXN0LmFwcGVuZChqb2IpOwogICAgIGlmICghbV9k
b3dubG9hZFRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fZG93bmxvYWRUaW1lci5zdGFydE9u
ZVNob3QocG9sbFRpbWVTZWNvbmRzKTsKKyAgICAgICAgbV9kb3dubG9hZFRpbWVyLnN0YXJ0T25l
U2hvdChwb2xsVGltZSk7CiB9CiAKIGJvb2wgUmVzb3VyY2VIYW5kbGVNYW5hZ2VyOjpyZW1vdmVT
Y2hlZHVsZWRKb2IoUmVzb3VyY2VIYW5kbGUqIGpvYikKQEAgLTEyMzgsNyArMTIzOCw3IEBAIHZv
aWQgUmVzb3VyY2VIYW5kbGVNYW5hZ2VyOjpjYW5jZWwoUmVzb3VyY2VIYW5kbGUqIGpvYikKICAg
ICBSZXNvdXJjZUhhbmRsZUludGVybmFsKiBkID0gam9iLT5nZXRJbnRlcm5hbCgpOwogICAgIGQt
Pm1fY2FuY2VsbGVkID0gdHJ1ZTsKICAgICBpZiAoIW1fZG93bmxvYWRUaW1lci5pc0FjdGl2ZSgp
KQotICAgICAgICBtX2Rvd25sb2FkVGltZXIuc3RhcnRPbmVTaG90KHBvbGxUaW1lU2Vjb25kcyk7
CisgICAgICAgIG1fZG93bmxvYWRUaW1lci5zdGFydE9uZVNob3QocG9sbFRpbWUpOwogfQogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL21hYy9OZXR3b3JrU3RhdGVOb3RpZmllck1hYy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9OZXR3b3JrU3RhdGVOb3RpZmllck1hYy5jcHAKaW5kZXgg
NTVhZGUyMThjMTM4ODhjMGNjMjZlYmVjYjc5MjYzZGNhNzAwOTE2ZC4uOTEyZjY3YmYxODY2ZDQ0
NmNkZWU1Zjc4OGZjYzYzMjg5Y2UxZTUxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9tYWMvTmV0d29ya1N0YXRlTm90aWZpZXJNYWMuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL05ldHdvcmtTdGF0ZU5vdGlmaWVyTWFjLmNw
cApAQCAtMzEsNyArMzEsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25z
dCBkb3VibGUgU3RhdGVDaGFuZ2VUaW1lckludGVydmFsID0gMi4wOworc3RhdGljIGNvbnN0IFNl
Y29uZHMgU3RhdGVDaGFuZ2VUaW1lckludGVydmFsIHsgMl9zIH07CiAKIHZvaWQgTmV0d29ya1N0
YXRlTm90aWZpZXI6OnVwZGF0ZVN0YXRlKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHAKaW5kZXgg
MTM5ZTA5ZGI3MmVhY2IyMTNiYTM2M2NkZjM3ZThiYjIyOGQyZTM0MS4uOWQ2ZDVjNDA3NzQxMTA1
OTQ3ZWM3NDZiMWQxOWQ3OGQzZTJjZWMzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHAKQEAgLTc3
MSw3ICs3NzEsNyBAQCB2b2lkIFJlc291cmNlSGFuZGxlOjpzZW5kUGVuZGluZ1JlcXVlc3QoKQog
I2VuZGlmCiAKICAgICBpZiAoZC0+bV9maXJzdFJlcXVlc3QudGltZW91dEludGVydmFsKCkgPiAw
KQotICAgICAgICBkLT5tX3RpbWVvdXRTb3VyY2Uuc3RhcnRPbmVTaG90KGQtPm1fZmlyc3RSZXF1
ZXN0LnRpbWVvdXRJbnRlcnZhbCgpKTsKKyAgICAgICAgZC0+bV90aW1lb3V0U291cmNlLnN0YXJ0
T25lU2hvdCgxX3MgKiBkLT5tX2ZpcnN0UmVxdWVzdC50aW1lb3V0SW50ZXJ2YWwoKSk7CiAKICAg
ICAvLyBCYWxhbmNlZCBieSBhIGRlcmVmKCkgaW4gY2xlYW51cFNvdXBSZXF1ZXN0T3BlcmF0aW9u
LCB3aGljaCBzaG91bGQgYWx3YXlzIHJ1bi4KICAgICByZWYoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9JbWFnZVF1YWxpdHlDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9JbWFnZVF1YWxpdHlDb250cm9sbGVyLmNwcAppbmRleCAxYmM4MmU5
N2Y4NzkwZWMwZDdhMTllMDQ0ZmVkZmM3OTljNWUyYmFkLi43NTQxNWQwMjNmYzc0YzNkZmY0Yjc5
N2FiYTMwZmQ0ZTUzNTkyZGUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
SW1hZ2VRdWFsaXR5Q29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L0ltYWdlUXVhbGl0eUNvbnRyb2xsZXIuY3BwCkBAIC0zNSw3ICszNSw3IEBACiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIHN0YXRpYyBjb25zdCBkb3VibGUgY0ludGVycG9sYXRpb25DdXRvZmYgPSA4
MDAuICogODAwLjsKLXN0YXRpYyBjb25zdCBkb3VibGUgY0xvd1F1YWxpdHlUaW1lVGhyZXNob2xk
ID0gMC41MDA7IC8vIDUwMCBtcworc3RhdGljIGNvbnN0IFNlY29uZHMgbG93UXVhbGl0eVRpbWVU
aHJlc2hvbGQgeyA1MDBfbXMgfTsKIAogSW1hZ2VRdWFsaXR5Q29udHJvbGxlcjo6SW1hZ2VRdWFs
aXR5Q29udHJvbGxlcihjb25zdCBSZW5kZXJWaWV3JiByZW5kZXJWaWV3KQogICAgIDogbV9yZW5k
ZXJWaWV3KHJlbmRlclZpZXcpCkBAIC05NCw3ICs5NCw3IEBAIHZvaWQgSW1hZ2VRdWFsaXR5Q29u
dHJvbGxlcjo6aGlnaFF1YWxpdHlSZXBhaW50VGltZXJGaXJlZCgpCiAKIHZvaWQgSW1hZ2VRdWFs
aXR5Q29udHJvbGxlcjo6cmVzdGFydFRpbWVyKCkKIHsKLSAgICBtX3RpbWVyLnN0YXJ0T25lU2hv
dChjTG93UXVhbGl0eVRpbWVUaHJlc2hvbGQpOworICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KGxv
d1F1YWxpdHlUaW1lVGhyZXNob2xkKTsKIH0KIAogc3RkOjpvcHRpb25hbDxJbnRlcnBvbGF0aW9u
UXVhbGl0eT4gSW1hZ2VRdWFsaXR5Q29udHJvbGxlcjo6aW50ZXJwb2xhdGlvblF1YWxpdHlGcm9t
U3R5bGUoY29uc3QgUmVuZGVyU3R5bGUmIHN0eWxlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcAppbmRleCBlYWM0MmUyMzVlM2M5YmFl
MDkxM2QxMThmMjU3NGQ4OGVmYWU3NzE3Li4xYTgzOGQ4N2M1ZWZhNTdmZDRjMmJkMDEwOGI4ZWY2
ZTllNWUzMmI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5
ZXJDb21wb3NpdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5
ZXJDb21wb3NpdG9yLmNwcApAQCAtOTIsMTEgKzkyLDExIEBAIHN0YXRpYyBjb25zdCBpbnQgY2Fu
dmFzQXJlYVRocmVzaG9sZFJlcXVpcmluZ0NvbXBvc2l0aW5nID0gNTAgKiAxMDA7CiAjZW5kaWYK
IC8vIER1cmluZyBwYWdlIGxvYWRpbmcgZGVsYXkgbGF5ZXIgZmx1c2hlcyB1cCB0byB0aGlzIG1h
bnkgc2Vjb25kcyB0byBhbGxvdyB0aGVtIGNvYWxlc2NlLCByZWR1Y2luZyB3b3JrbG9hZC4KICNp
ZiBQTEFURk9STShJT1MpCi1zdGF0aWMgY29uc3QgZG91YmxlIHRocm90dGxlZExheWVyRmx1c2hJ
bml0aWFsRGVsYXkgPSAuNTsKLXN0YXRpYyBjb25zdCBkb3VibGUgdGhyb3R0bGVkTGF5ZXJGbHVz
aERlbGF5ID0gMS41Oworc3RhdGljIGNvbnN0IFNlY29uZHMgdGhyb3R0bGVkTGF5ZXJGbHVzaElu
aXRpYWxEZWxheSB7IDUwMF9tcyB9Oworc3RhdGljIGNvbnN0IFNlY29uZHMgdGhyb3R0bGVkTGF5
ZXJGbHVzaERlbGF5IHsgMS41X3MgfTsKICNlbHNlCi1zdGF0aWMgY29uc3QgZG91YmxlIHRocm90
dGxlZExheWVyRmx1c2hJbml0aWFsRGVsYXkgPSAuNTsKLXN0YXRpYyBjb25zdCBkb3VibGUgdGhy
b3R0bGVkTGF5ZXJGbHVzaERlbGF5ID0gLjU7CitzdGF0aWMgY29uc3QgU2Vjb25kcyB0aHJvdHRs
ZWRMYXllckZsdXNoSW5pdGlhbERlbGF5IHsgNTAwX21zIH07CitzdGF0aWMgY29uc3QgU2Vjb25k
cyB0aHJvdHRsZWRMYXllckZsdXNoRGVsYXkgeyA1MDBfbXMgfTsKICNlbmRpZgogCiB1c2luZyBu
YW1lc3BhY2UgSFRNTE5hbWVzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclByb2dyZXNzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJQcm9n
cmVzcy5jcHAKaW5kZXggM2IxNGU0MDdhMWUyMWE4NjhiYmY4MjZjNzc4MzZiZjM0MjEzYWFhMi4u
NTZhNDVjN2QwY2EwZWZmYjM0YmQ0ZTBhMDJjM2IwOGY5NTA4NzY4YiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclByb2dyZXNzLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyUHJvZ3Jlc3MuY3BwCkBAIC0zMiw3ICszMiw2IEBAIFJlbmRl
clByb2dyZXNzOjpSZW5kZXJQcm9ncmVzcyhIVE1MRWxlbWVudCYgZWxlbWVudCwgUmVuZGVyU3R5
bGUmJiBzdHlsZSkKICAgICA6IFJlbmRlckJsb2NrRmxvdyhlbGVtZW50LCBXVEZNb3ZlKHN0eWxl
KSkKICAgICAsIG1fcG9zaXRpb24oSFRNTFByb2dyZXNzRWxlbWVudDo6SW52YWxpZFBvc2l0aW9u
KQogICAgICwgbV9hbmltYXRpb25TdGFydFRpbWUoMCkKLSAgICAsIG1fYW5pbWF0aW9uUmVwZWF0
SW50ZXJ2YWwoMCkKICAgICAsIG1fYW5pbWF0aW9uRHVyYXRpb24oMCkKICAgICAsIG1fYW5pbWF0
aW5nKGZhbHNlKQogICAgICwgbV9hbmltYXRpb25UaW1lcigqdGhpcywgJlJlbmRlclByb2dyZXNz
OjphbmltYXRpb25UaW1lckZpcmVkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclByb2dyZXNzLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUHJv
Z3Jlc3MuaAppbmRleCAzYTZkODRkODM1NjEzMDcxN2I0MDMyZjlhMzhhYjgzYWRlOWFiOTg3Li4y
OTY0ZWM1NzBkMGQ5YTljZTQ4MDYwMzM5YmJmODViMjkxODUzZmM5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUHJvZ3Jlc3MuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyUHJvZ3Jlc3MuaApAQCAtNTAsNyArNTAsNyBAQCBwcml2YXRlOgog
CiAgICAgZG91YmxlIG1fcG9zaXRpb247CiAgICAgZG91YmxlIG1fYW5pbWF0aW9uU3RhcnRUaW1l
OwotICAgIGRvdWJsZSBtX2FuaW1hdGlvblJlcGVhdEludGVydmFsOworICAgIFNlY29uZHMgbV9h
bmltYXRpb25SZXBlYXRJbnRlcnZhbDsKICAgICBkb3VibGUgbV9hbmltYXRpb25EdXJhdGlvbjsK
ICAgICBib29sIG1fYW5pbWF0aW5nOwogICAgIFRpbWVyIG1fYW5pbWF0aW9uVGltZXI7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHAKaW5kZXggMmM4OGFjNWQyMDg3YThkNDFm
ODA2N2NmMGE0MTgwNTk2NDcyMjliMC4uMmE1MjJkY2E4ODQwNTM1ZjliMjQ0NmVlNzhiZGUxOWRl
OGFkZDcyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmNwcApAQCAtMTA3
LDcgKzEwNyw3IEBAIGlubGluZSBTZWN1cmVUZXh0VGltZXI6OlNlY3VyZVRleHRUaW1lcihSZW5k
ZXJUZXh0JiByZW5kZXJlcikKIGlubGluZSB2b2lkIFNlY3VyZVRleHRUaW1lcjo6cmVzdGFydCh1
bnNpZ25lZCBvZmZzZXRBZnRlckxhc3RUeXBlZENoYXJhY3RlcikKIHsKICAgICBtX29mZnNldEFm
dGVyTGFzdFR5cGVkQ2hhcmFjdGVyID0gb2Zmc2V0QWZ0ZXJMYXN0VHlwZWRDaGFyYWN0ZXI7Ci0g
ICAgc3RhcnRPbmVTaG90KG1fcmVuZGVyZXIuc2V0dGluZ3MoKS5wYXNzd29yZEVjaG9EdXJhdGlv
bkluU2Vjb25kcygpKTsKKyAgICBzdGFydE9uZVNob3QoMV9zICogbV9yZW5kZXJlci5zZXR0aW5n
cygpLnBhc3N3b3JkRWNob0R1cmF0aW9uSW5TZWNvbmRzKCkpOwogfQogCiBpbmxpbmUgdW5zaWdu
ZWQgU2VjdXJlVGV4dFRpbWVyOjp0YWtlT2Zmc2V0QWZ0ZXJMYXN0VHlwZWRDaGFyYWN0ZXIoKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHAKaW5kZXggYzMxYTlhYTZjZjJi
MDY5ODIyYjZmZjUwNjdiZmZhYzUzN2ZmMmJhMy4uZGI0ZDgwOGI4MzU4MzAxMTczYThhY2MwOTZk
OWU2NDRiYTMwZjhiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clRoZW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuY3Bw
CkBAIC0xMDYyLDkgKzEwNjIsOSBAQCB2b2lkIFJlbmRlclRoZW1lOjpwYWludFNsaWRlclRpY2tz
KGNvbnN0IFJlbmRlck9iamVjdCYgbywgY29uc3QgUGFpbnRJbmZvJiBwYWludAogfQogI2VuZGlm
CiAKLWRvdWJsZSBSZW5kZXJUaGVtZTo6YW5pbWF0aW9uUmVwZWF0SW50ZXJ2YWxGb3JQcm9ncmVz
c0JhcihSZW5kZXJQcm9ncmVzcyYpIGNvbnN0CitTZWNvbmRzIFJlbmRlclRoZW1lOjphbmltYXRp
b25SZXBlYXRJbnRlcnZhbEZvclByb2dyZXNzQmFyKFJlbmRlclByb2dyZXNzJikgY29uc3QKIHsK
LSAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gMF9zOwogfQogCiBkb3VibGUgUmVuZGVyVGhlbWU6
OmFuaW1hdGlvbkR1cmF0aW9uRm9yUHJvZ3Jlc3NCYXIoUmVuZGVyUHJvZ3Jlc3MmKSBjb25zdApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaAppbmRleCA3MWQxNjVhMTA4ZDYxODAz
NmVjZjMzZTBiMWFkMmEyMTliOTEwYTgwLi42MTdjYWRiMWNhNjkyMzc2Y2Y1YjNlNTc2NGViOTc3
YTQ2YzEzY2YwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhl
bWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaApAQCAtMTk1
LDcgKzE5NSw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIFNjcm9sbGJhckNvbnRyb2xTaXplIHNj
cm9sbGJhckNvbnRyb2xTaXplRm9yUGFydChDb250cm9sUGFydCkgeyByZXR1cm4gUmVndWxhclNj
cm9sbGJhcjsgfQogCiAgICAgLy8gUmV0dXJucyB0aGUgcmVwZWF0IGludGVydmFsIG9mIHRoZSBh
bmltYXRpb24gZm9yIHRoZSBwcm9ncmVzcyBiYXIuCi0gICAgdmlydHVhbCBkb3VibGUgYW5pbWF0
aW9uUmVwZWF0SW50ZXJ2YWxGb3JQcm9ncmVzc0JhcihSZW5kZXJQcm9ncmVzcyYpIGNvbnN0Owor
ICAgIHZpcnR1YWwgU2Vjb25kcyBhbmltYXRpb25SZXBlYXRJbnRlcnZhbEZvclByb2dyZXNzQmFy
KFJlbmRlclByb2dyZXNzJikgY29uc3Q7CiAgICAgLy8gUmV0dXJucyB0aGUgZHVyYXRpb24gb2Yg
dGhlIGFuaW1hdGlvbiBmb3IgdGhlIHByb2dyZXNzIGJhci4KICAgICB2aXJ0dWFsIGRvdWJsZSBh
bmltYXRpb25EdXJhdGlvbkZvclByb2dyZXNzQmFyKFJlbmRlclByb2dyZXNzJikgY29uc3Q7CiAg
ICAgdmlydHVhbCBJbnRSZWN0IHByb2dyZXNzQmFyUmVjdEZvckJvdW5kcyhjb25zdCBSZW5kZXJP
YmplY3QmLCBjb25zdCBJbnRSZWN0JikgY29uc3Q7CkBAIC0yMDgsNyArMjA4LDcgQEAgcHVibGlj
OgogICAgIHZpcnR1YWwgYm9vbCB1c2VzTWVkaWFDb250cm9sVm9sdW1lU2xpZGVyKCkgY29uc3Qg
eyByZXR1cm4gdHJ1ZTsgfQogICAgIHZpcnR1YWwgYm9vbCB1c2VzVmVydGljYWxWb2x1bWVTbGlk
ZXIoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CiAgICAgdmlydHVhbCBkb3VibGUgbWVkaWFDb250
cm9sc0ZhZGVJbkR1cmF0aW9uKCkgeyByZXR1cm4gMC4xOyB9Ci0gICAgdmlydHVhbCBkb3VibGUg
bWVkaWFDb250cm9sc0ZhZGVPdXREdXJhdGlvbigpIHsgcmV0dXJuIDAuMzsgfQorICAgIHZpcnR1
YWwgU2Vjb25kcyBtZWRpYUNvbnRyb2xzRmFkZU91dER1cmF0aW9uKCkgeyByZXR1cm4gMzAwX21z
OyB9CiAgICAgdmlydHVhbCBTdHJpbmcgZm9ybWF0TWVkaWFDb250cm9sc1RpbWUoZmxvYXQgdGlt
ZSkgY29uc3Q7CiAgICAgdmlydHVhbCBTdHJpbmcgZm9ybWF0TWVkaWFDb250cm9sc0N1cnJlbnRU
aW1lKGZsb2F0IGN1cnJlbnRUaW1lLCBmbG9hdCBkdXJhdGlvbikgY29uc3Q7CiAgICAgdmlydHVh
bCBTdHJpbmcgZm9ybWF0TWVkaWFDb250cm9sc1JlbWFpbmluZ1RpbWUoZmxvYXQgY3VycmVudFRp
bWUsIGZsb2F0IGR1cmF0aW9uKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUaGVtZUd0ay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGhlbWVHdGsuY3BwCmluZGV4IDE3Mjg0ZjQ5OThmMzE1MzRiNTQxOTUzOWI0OWM1NDY0ZGE2
MzUyOGIuLmVkYzc0N2NlNmQ0ODU3ZmU1MmY3MTc3MGRjN2ZhMDcwOGM0OTkxYTQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUd0ay5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lR3RrLmNwcApAQCAtMjExMSw4ICsyMTEx
LDggQEAgdm9pZCBSZW5kZXJUaGVtZUd0azo6YWRqdXN0UHJvZ3Jlc3NCYXJTdHlsZShTdHlsZVJl
c29sdmVyJiwgUmVuZGVyU3R5bGUmIHN0eWxlLAogLy8gVGhlc2UgdmFsdWVzIGhhdmUgYmVlbiBj
b3BpZWQgZnJvbSBSZW5kZXJUaGVtZUNocm9taXVtU2tpYS5jcHAKIHN0YXRpYyBjb25zdCBpbnQg
cHJvZ3Jlc3NBY3Rpdml0eUJsb2NrcyA9IDU7CiBzdGF0aWMgY29uc3QgaW50IHByb2dyZXNzQW5p
bWF0aW9uRnJhbWVzID0gMTA7Ci1zdGF0aWMgY29uc3QgZG91YmxlIHByb2dyZXNzQW5pbWF0aW9u
SW50ZXJ2YWwgPSAwLjEyNTsKLWRvdWJsZSBSZW5kZXJUaGVtZUd0azo6YW5pbWF0aW9uUmVwZWF0
SW50ZXJ2YWxGb3JQcm9ncmVzc0JhcihSZW5kZXJQcm9ncmVzcyYpIGNvbnN0CitzdGF0aWMgY29u
c3QgU2Vjb25kcyBwcm9ncmVzc0FuaW1hdGlvbkludGVydmFsIHsgMTI1X21zIH07CitTZWNvbmRz
IFJlbmRlclRoZW1lR3RrOjphbmltYXRpb25SZXBlYXRJbnRlcnZhbEZvclByb2dyZXNzQmFyKFJl
bmRlclByb2dyZXNzJikgY29uc3QKIHsKICAgICByZXR1cm4gcHJvZ3Jlc3NBbmltYXRpb25JbnRl
cnZhbDsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVt
ZUd0ay5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lR3RrLmgKaW5kZXgg
N2I4MmQ5MzE0NjQ0NGZkNGVmZWU1NjE0ZTVjMTFkNzZkYjFlZDgxMS4uNjRhNGQ4OWZmNDUyYmI2
MjNmZDgwOGE1Njk1MDBhYTZjY2VhNGNmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclRoZW1lR3RrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRoZW1lR3RrLmgKQEAgLTE2OCw3ICsxNjgsNyBAQCBwcml2YXRlOgogI2VuZGlmCiAjZW5k
aWYKIAotICAgIGRvdWJsZSBhbmltYXRpb25SZXBlYXRJbnRlcnZhbEZvclByb2dyZXNzQmFyKFJl
bmRlclByb2dyZXNzJikgY29uc3Qgb3ZlcnJpZGU7CisgICAgU2Vjb25kcyBhbmltYXRpb25SZXBl
YXRJbnRlcnZhbEZvclByb2dyZXNzQmFyKFJlbmRlclByb2dyZXNzJikgY29uc3Qgb3ZlcnJpZGU7
CiAgICAgZG91YmxlIGFuaW1hdGlvbkR1cmF0aW9uRm9yUHJvZ3Jlc3NCYXIoUmVuZGVyUHJvZ3Jl
c3MmKSBjb25zdCBvdmVycmlkZTsKICAgICB2b2lkIGFkanVzdFByb2dyZXNzQmFyU3R5bGUoU3R5
bGVSZXNvbHZlciYsIFJlbmRlclN0eWxlJiwgY29uc3QgRWxlbWVudCopIGNvbnN0IG92ZXJyaWRl
OwogICAgIEludFJlY3QgcHJvZ3Jlc3NCYXJSZWN0Rm9yQm91bmRzKGNvbnN0IFJlbmRlck9iamVj
dCYsIGNvbnN0IEludFJlY3QmKSBjb25zdCBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUlPUy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRoZW1lSU9TLmgKaW5kZXggYmIzOThmN2ViY2YxMzBkOWE2YTE0NWEyN2U2Njg2
OTYyYTNjOTZlMy4uMGIxZTU0NTEwN2ViZWE3OWU3NDQ4NDhlODdmNjZhMzQzY2NkMDU2NiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lSU9TLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lSU9TLmgKQEAgLTgxLDcgKzgxLDcg
QEAgcHJvdGVjdGVkOgogICAgIGJvb2wgcGFpbnRTbGlkZXJUaHVtYkRlY29yYXRpb25zKGNvbnN0
IFJlbmRlck9iamVjdCYsIGNvbnN0IFBhaW50SW5mbyYsIGNvbnN0IEludFJlY3QmKSBvdmVycmlk
ZTsKIAogICAgIC8vIFJldHVybnMgdGhlIHJlcGVhdCBpbnRlcnZhbCBvZiB0aGUgYW5pbWF0aW9u
IGZvciB0aGUgcHJvZ3Jlc3MgYmFyLgotICAgIGRvdWJsZSBhbmltYXRpb25SZXBlYXRJbnRlcnZh
bEZvclByb2dyZXNzQmFyKFJlbmRlclByb2dyZXNzJikgY29uc3Qgb3ZlcnJpZGU7CisgICAgU2Vj
b25kcyBhbmltYXRpb25SZXBlYXRJbnRlcnZhbEZvclByb2dyZXNzQmFyKFJlbmRlclByb2dyZXNz
JikgY29uc3Qgb3ZlcnJpZGU7CiAgICAgLy8gUmV0dXJucyB0aGUgZHVyYXRpb24gb2YgdGhlIGFu
aW1hdGlvbiBmb3IgdGhlIHByb2dyZXNzIGJhci4KICAgICBkb3VibGUgYW5pbWF0aW9uRHVyYXRp
b25Gb3JQcm9ncmVzc0JhcihSZW5kZXJQcm9ncmVzcyYpIGNvbnN0IG92ZXJyaWRlOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1MubW0gYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1MubW0KaW5kZXggMjAxMzE5NWZhNjlj
Mjg3YjI0NmQyYzJmZGMxMmQwYzRlNWRhZjIwNS4uZDlmNGY3NzljOTgzMzFiNTBmYmEzNWYxNDQ1
M2NkYmJlMDVhZmY3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clRoZW1lSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUlP
Uy5tbQpAQCAtODcwLDkgKzg3MCw5IEBAIGJvb2wgUmVuZGVyVGhlbWVJT1M6OnBhaW50U2xpZGVy
VGh1bWJEZWNvcmF0aW9ucyhjb25zdCBSZW5kZXJPYmplY3QmIGJveCwgY29uc3QKICAgICByZXR1
cm4gZmFsc2U7CiB9CiAKLWRvdWJsZSBSZW5kZXJUaGVtZUlPUzo6YW5pbWF0aW9uUmVwZWF0SW50
ZXJ2YWxGb3JQcm9ncmVzc0JhcihSZW5kZXJQcm9ncmVzcyYpIGNvbnN0CitTZWNvbmRzIFJlbmRl
clRoZW1lSU9TOjphbmltYXRpb25SZXBlYXRJbnRlcnZhbEZvclByb2dyZXNzQmFyKFJlbmRlclBy
b2dyZXNzJikgY29uc3QKIHsKLSAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gMF9zOwogfQogCiBk
b3VibGUgUmVuZGVyVGhlbWVJT1M6OmFuaW1hdGlvbkR1cmF0aW9uRm9yUHJvZ3Jlc3NCYXIoUmVu
ZGVyUHJvZ3Jlc3MmKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRoZW1lTWFjLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVN
YWMuaAppbmRleCA2YjljNzI3YzlhODE4MTBhNmE4Y2Q0NjBjMmFhYTY2NGVmMWE0OGYxLi5mMzkw
MGEwMDNmZTQ4MDZjZjQ1NTEyY2FiNGM2YWYyYzEwYzI5MmZlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMuaApAQCAtODcsNyArODcsNyBAQCBwdWJsaWM6CiAjZW5k
aWYKIAogICAgIC8vIFJldHVybnMgdGhlIHJlcGVhdCBpbnRlcnZhbCBvZiB0aGUgYW5pbWF0aW9u
IGZvciB0aGUgcHJvZ3Jlc3MgYmFyLgotICAgIGRvdWJsZSBhbmltYXRpb25SZXBlYXRJbnRlcnZh
bEZvclByb2dyZXNzQmFyKFJlbmRlclByb2dyZXNzJikgY29uc3Qgb3ZlcnJpZGU7CisgICAgU2Vj
b25kcyBhbmltYXRpb25SZXBlYXRJbnRlcnZhbEZvclByb2dyZXNzQmFyKFJlbmRlclByb2dyZXNz
JikgY29uc3Qgb3ZlcnJpZGU7CiAgICAgLy8gUmV0dXJucyB0aGUgZHVyYXRpb24gb2YgdGhlIGFu
aW1hdGlvbiBmb3IgdGhlIHByb2dyZXNzIGJhci4KICAgICBkb3VibGUgYW5pbWF0aW9uRHVyYXRp
b25Gb3JQcm9ncmVzc0JhcihSZW5kZXJQcm9ncmVzcyYpIGNvbnN0IG92ZXJyaWRlOwogICAgIElu
dFJlY3QgcHJvZ3Jlc3NCYXJSZWN0Rm9yQm91bmRzKGNvbnN0IFJlbmRlck9iamVjdCYsIGNvbnN0
IEludFJlY3QmKSBjb25zdCBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUaGVtZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUaGVtZU1hYy5tbQppbmRleCBmODBlMmM5MTk4OTAxYmJhYzg5OTRiNmZjZTNjZmVmM2QzMTM0
NWMxLi45YjU1ZWY2Zjc5NmY4ZTdjODc3MDk1ZGIyOTI0MjVmNGU3NGE4MjYzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMubW0KKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1tCkBAIC0xMTQsMTAgKzExNCwxMCBA
QCBAZW5kCiAKIC8vIFdlIGVzdGltYXRlIHRoZSBhbmltYXRpb24gcmF0ZSBvZiBhIE1hYyBPUyBY
IHByb2dyZXNzIGJhciBpcyAzMyBmcHMuCiAvLyBIYXJkIGNvZGUgdGhlIHZhbHVlIGhlcmUgYmVj
YXVzZSB3ZSBoYXZlbid0IGZvdW5kIEFQSSBmb3IgaXQuCi1jb25zdCBkb3VibGUgcHJvZ3Jlc3NB
bmltYXRpb25GcmFtZVJhdGUgPSAwLjAzMzsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHByb2dyZXNz
QW5pbWF0aW9uRnJhbWVSYXRlID0gMzNfbXM7CiAKIC8vIE1hYyBPUyBYIHByb2dyZXNzIGJhciBh
bmltYXRpb24gc2VlbXMgdG8gaGF2ZSAyNTYgZnJhbWVzLgotY29uc3QgZG91YmxlIHByb2dyZXNz
QW5pbWF0aW9uTnVtRnJhbWVzID0gMjU2Oworc3RhdGljIGNvbnN0IGRvdWJsZSBwcm9ncmVzc0Fu
aW1hdGlvbk51bUZyYW1lcyA9IDI1NjsKIAogQGludGVyZmFjZSBXZWJDb3JlUmVuZGVyVGhlbWVO
b3RpZmljYXRpb25PYnNlcnZlciA6IE5TT2JqZWN0CiB7CkBAIC0xMTI5LDE0ICsxMTI5LDE0IEBA
IGludCBSZW5kZXJUaGVtZU1hYzo6bWluaW11bVByb2dyZXNzQmFySGVpZ2h0KGNvbnN0IFJlbmRl
clN0eWxlJiBzdHlsZSkgY29uc3QKICAgICByZXR1cm4gc2l6ZUZvclN5c3RlbUZvbnQoc3R5bGUs
IHByb2dyZXNzQmFyU2l6ZXMoKSkuaGVpZ2h0KCk7CiB9CiAKLWRvdWJsZSBSZW5kZXJUaGVtZU1h
Yzo6YW5pbWF0aW9uUmVwZWF0SW50ZXJ2YWxGb3JQcm9ncmVzc0JhcihSZW5kZXJQcm9ncmVzcyYp
IGNvbnN0CitTZWNvbmRzIFJlbmRlclRoZW1lTWFjOjphbmltYXRpb25SZXBlYXRJbnRlcnZhbEZv
clByb2dyZXNzQmFyKFJlbmRlclByb2dyZXNzJikgY29uc3QKIHsKICAgICByZXR1cm4gcHJvZ3Jl
c3NBbmltYXRpb25GcmFtZVJhdGU7CiB9CiAKIGRvdWJsZSBSZW5kZXJUaGVtZU1hYzo6YW5pbWF0
aW9uRHVyYXRpb25Gb3JQcm9ncmVzc0JhcihSZW5kZXJQcm9ncmVzcyYpIGNvbnN0CiB7Ci0gICAg
cmV0dXJuIHByb2dyZXNzQW5pbWF0aW9uTnVtRnJhbWVzICogcHJvZ3Jlc3NBbmltYXRpb25GcmFt
ZVJhdGU7CisgICAgcmV0dXJuIHByb2dyZXNzQW5pbWF0aW9uTnVtRnJhbWVzICogcHJvZ3Jlc3NB
bmltYXRpb25GcmFtZVJhdGUudmFsdWUoKTsKIH0KIAogdm9pZCBSZW5kZXJUaGVtZU1hYzo6YWRq
dXN0UHJvZ3Jlc3NCYXJTdHlsZShTdHlsZVJlc29sdmVyJiwgUmVuZGVyU3R5bGUmLCBjb25zdCBF
bGVtZW50KikgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9FdmVudExv
b3BJbnB1dERpc3BhdGNoZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVwbGF5L0V2ZW50TG9vcElu
cHV0RGlzcGF0Y2hlci5jcHAKaW5kZXggNTEwMjkzZmMxNmM2NGFjOWI1ZmI1MWU3Yjk4ZDA5MGQ4
YjUxMzY2Ny4uOWUyNzg2ZDU4YTBmNjVjOGJlYzQ1YTk3M2NhZWE0NmEyZjUwOTNhMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVwbGF5L0V2ZW50TG9vcElucHV0RGlzcGF0Y2hlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVwbGF5L0V2ZW50TG9vcElucHV0RGlzcGF0Y2hlci5jcHAK
QEAgLTExOCw3ICsxMTgsNyBAQCB2b2lkIEV2ZW50TG9vcElucHV0RGlzcGF0Y2hlcjo6ZGlzcGF0
Y2hJbnB1dFNvb24oKQogICAgIH0KIAogICAgIExPRyhXZWJSZXBsYXksICIlLTIwcyAoV0FJVDog
JS4zZiBtcykiLCAiUmVwbGF5RXZlbnRzIiwgd2FpdEludGVydmFsICogMTAwMC4wKTsKLSAgICBt
X3RpbWVyLnN0YXJ0T25lU2hvdCh3YWl0SW50ZXJ2YWwpOworICAgIG1fdGltZXIuc3RhcnRPbmVT
aG90KDFfcyAqIHdhaXRJbnRlcnZhbCk7CiB9CiAKIHZvaWQgRXZlbnRMb29wSW5wdXREaXNwYXRj
aGVyOjpkaXNwYXRjaElucHV0KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9hbmlt
YXRpb24vU01JTFRpbWVDb250YWluZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL2FuaW1hdGlv
bi9TTUlMVGltZUNvbnRhaW5lci5jcHAKaW5kZXggMTI1YjQzYjRjZWZlMmIyZWZiMmZjMGY1ZWJm
YTU0MWUyN2ExODQwZC4uNDVjYWY5ZjRjYzUzNWY3Y2ZkNzlkNWQxNGI4ZjBiNzg2ODY1NGY1NSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL2FuaW1hdGlvbi9TTUlMVGltZUNvbnRhaW5l
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL2FuaW1hdGlvbi9TTUlMVGltZUNvbnRhaW5l
ci5jcHAKQEAgLTM1LDggKzM1LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMg
Y29uc3QgU2Vjb25kcyBTTUlMQW5pbWF0aW9uRnJhbWVEZWxheSB7IDEuMCAvIDYwIH07Ci1zdGF0
aWMgY29uc3QgU2Vjb25kcyBTTUlMQW5pbWF0aW9uRnJhbWVUaHJvdHRsZWREZWxheSB7IDEuMCAv
IDMwIH07CitzdGF0aWMgY29uc3QgU2Vjb25kcyBTTUlMQW5pbWF0aW9uRnJhbWVEZWxheSB7IDFf
cyAvIDYwLiB9Oworc3RhdGljIGNvbnN0IFNlY29uZHMgU01JTEFuaW1hdGlvbkZyYW1lVGhyb3R0
bGVkRGVsYXkgeyAxX3MgLyAzMC4gfTsKIAogU01JTFRpbWVDb250YWluZXI6OlNNSUxUaW1lQ29u
dGFpbmVyKFNWR1NWR0VsZW1lbnQmIG93bmVyKQogICAgIDogbV9iZWdpblRpbWUoMCkKQEAgLTIx
Niw3ICsyMTYsNyBAQCB2b2lkIFNNSUxUaW1lQ29udGFpbmVyOjpzdGFydFRpbWVyKFNNSUxUaW1l
IGVsYXBzZWQsIFNNSUxUaW1lIGZpcmVUaW1lLCBTTUlMVGltZQogICAgICAgICByZXR1cm47CiAK
ICAgICBTTUlMVGltZSBkZWxheSA9IHN0ZDo6bWF4KGZpcmVUaW1lIC0gZWxhcHNlZCwgbWluaW11
bURlbGF5KTsKLSAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChkZWxheS52YWx1ZSgpKTsKKyAgICBt
X3RpbWVyLnN0YXJ0T25lU2hvdCgxX3MgKiBkZWxheS52YWx1ZSgpKTsKIH0KIAogdm9pZCBTTUlM
VGltZUNvbnRhaW5lcjo6dGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbFNldHRpbmdzLmNwcAppbmRleCBlOWVhNGNiMDQ4MDlkYWFjNTQ5NWE4YTI3ZjUwNjU2MThk
Zjg2OTMxLi43YWNmNTA1OTMxZTIwMjJjZjZkNjI0ZGVhYzljMDVhM2ViZDY2ODcyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5jcHAKQEAgLTU3MCw3ICs1NzAs
NyBAQCBFeGNlcHRpb25Pcjx2b2lkPiBJbnRlcm5hbFNldHRpbmdzOjpzZXRUaW1lV2l0aG91dE1v
dXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cgogewogICAgIGlmICghbV9wYWdlKQogICAgICAg
ICByZXR1cm4gRXhjZXB0aW9uIHsgSU5WQUxJRF9BQ0NFU1NfRVJSIH07Ci0gICAgc2V0dGluZ3Mo
KS5zZXRUaW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scyh0aW1lKTsK
KyAgICBzZXR0aW5ncygpLnNldFRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0Nv
bnRyb2xzKFNlY29uZHMgeyB0aW1lIH0pOwogICAgIHJldHVybiB7IH07CiB9CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5oIGIvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmgKaW5kZXggMjBhNzM2MzliNTBjNzIwZDM3
ZjU1MjNkYTJmNTdiNGQ2MDZkNmFjNi4uMTllNWJkZTE1YmQ1ZDI0M2IzZWNiMWRjODFkM2RiZGYx
MzE1MTVlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRp
bmdzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmgKQEAg
LTE1OSw3ICsxNTksNyBAQCBwcml2YXRlOgogI2VuZGlmCiAgICAgICAgIFN0cmluZyBtX2RlZmF1
bHRWaWRlb1Bvc3RlclVSTDsKICAgICAgICAgYm9vbCBtX2ZvcmNlUGVuZGluZ1dlYkdMUG9saWN5
OwotICAgICAgICBib29sIG1fb3JpZ2luYWxUaW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVI
aWRpbmdDb250cm9sczsKKyAgICAgICAgU2Vjb25kcyBtX29yaWdpbmFsVGltZVdpdGhvdXRNb3Vz
ZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHM7CiAgICAgICAgIGJvb2wgbV91c2VMZWdhY3lC
YWNrZ3JvdW5kU2l6ZVNob3J0aGFuZEJlaGF2aW9yOwogICAgICAgICBib29sIG1fYXV0b3Njcm9s
bEZvckRyYWdBbmREcm9wRW5hYmxlZDsKICAgICAgICAgYm9vbCBtX3F1aWNrVGltZVBsdWdpblJl
cGxhY2VtZW50RW5hYmxlZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRleCA1
NTViZjE1ODlhMDhlNzA0MGIzYjMzN2EyYzY0ZGQzNDJhY2I2NTA1Li5kNTllNjg3OGY1Zjc4ZjI0
NDBiMGQyMzY4MjVlZjU0Y2E5ZWU4YzFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFscy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
Y3BwCkBAIC03MjksNyArNzI5LDcgQEAgdm9pZCBJbnRlcm5hbHM6OnNldEltYWdlRnJhbWVEZWNv
ZGluZ0R1cmF0aW9uKEhUTUxJbWFnZUVsZW1lbnQmIGVsZW1lbnQsIGZsb2F0IGQKICAgICBpZiAo
IWlzPEJpdG1hcEltYWdlPihpbWFnZSkpCiAgICAgICAgIHJldHVybjsKICAgICAKLSAgICBkb3du
Y2FzdDxCaXRtYXBJbWFnZT4oKmltYWdlKS5zZXRGcmFtZURlY29kaW5nRHVyYXRpb25Gb3JUZXN0
aW5nKGR1cmF0aW9uKTsKKyAgICBkb3duY2FzdDxCaXRtYXBJbWFnZT4oKmltYWdlKS5zZXRGcmFt
ZURlY29kaW5nRHVyYXRpb25Gb3JUZXN0aW5nKFNlY29uZHMgeyBkdXJhdGlvbiB9KTsKIH0KIAog
dm9pZCBJbnRlcm5hbHM6OnJlc2V0SW1hZ2VBbmltYXRpb24oSFRNTEltYWdlRWxlbWVudCYgZWxl
bWVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwCmluZGV4IDlkZWY5MzdjNTIx
YmIxOTk4NTBhMTI4YjQxZjU0YzFjNTczYTE3NDguLjEzMDYxMDhjODRhM2I5MzM0ZjNkOTI3YWE1
YmY0ZjkzNTQ1ODUxNDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVx
dWVzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcApAQCAt
NzM4LDcgKzczOCw3IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IFhNTEh0dHBSZXF1ZXN0OjpjcmVhdGVS
ZXF1ZXN0KCkKICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICByZXF1ZXN0LnNldFRpbWVvdXRJ
bnRlcnZhbChzdGQ6Om51bWVyaWNfbGltaXRzPGRvdWJsZT46OmluZmluaXR5KCkpOwogICAgICAg
ICAgICAgbV9zZW5kaW5nVGltZSA9IE1vbm90b25pY1RpbWU6Om5vdygpOwotICAgICAgICAgICAg
bV90aW1lb3V0VGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMgeyBtX3RpbWVvdXRNaWxsaXNlY29u
ZHMgLyAxMDAwLiB9KTsKKyAgICAgICAgICAgIG1fdGltZW91dFRpbWVyLnN0YXJ0T25lU2hvdCgx
X21zICogbV90aW1lb3V0TWlsbGlzZWNvbmRzKTsKICAgICAgICAgfQogICAgIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9TdG9yYWdlL1N0b3JhZ2VBcmVhU3luYy5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L1N0b3JhZ2UvU3RvcmFnZUFyZWFTeW5jLmNwcAppbmRleCBhYzBkY2MxMjU2OTRkYWQ0
YzRiOTIyODdhMDMxZWZhMDkzNTRlYTE5Li5iYTE1ZTRhNGRhMGJjMjMwOWY5ZTJmMTc2MTQxYmY2
YTYxM2QwMzBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2UvU3RvcmFnZUFyZWFT
eW5jLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2UvU3RvcmFnZUFyZWFTeW5jLmNwcApA
QCAtNDEsNyArNDEsNyBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIAogLy8gSWYgdGhlIFN0b3JhZ2VB
cmVhIHVuZGVyZ29lcyByYXBpZCBjaGFuZ2VzLCBkb24ndCBzeW5jIGVhY2ggY2hhbmdlIHRvIGRp
c2suCiAvLyBJbnN0ZWFkLCBxdWV1ZSB1cCBhIGJhdGNoIG9mIGl0ZW1zIHRvIHN5bmMgYW5kIGFj
dHVhbGx5IGRvIHRoZSBzeW5jIGF0IHRoZSBmb2xsb3dpbmcgaW50ZXJ2YWwuCi1zdGF0aWMgY29u
c3QgZG91YmxlIFN0b3JhZ2VTeW5jSW50ZXJ2YWwgPSAxLjA7CitzdGF0aWMgY29uc3QgU2Vjb25k
cyBTdG9yYWdlU3luY0ludGVydmFsIHsgMV9zIH07CiAKIC8vIEEgc2FuZSBsaW1pdCBvbiBob3cg
bWFueSBpdGVtcyB3ZSdsbCBzY2hlZHVsZSB0byBzeW5jIGFsbCBhdCBvbmNlLiAgVGhpcyBtYWtl
cyBpdAogLy8gbXVjaCBoYXJkZXIgdG8gc3RhcnZlIHRoZSByZXN0IG9mIExvY2FsU3RvcmFnZSBh
bmQgdGhlIE9TJ3MgSU8gc3Vic3lzdGVtIGluIGdlbmVyYWwuCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1N0b3JhZ2UvU3RvcmFnZVRyYWNrZXIuY3BwIGIvU291cmNlL1dlYktpdC9TdG9yYWdl
L1N0b3JhZ2VUcmFja2VyLmNwcAppbmRleCA1OWEwMGZlMzBhOTYzZjU4MTNkOGIwZGRhMDRkYjYw
ODFhNjYyM2JkLi43YzU3NmFiNjhkYjJmNGZjNTE5NDFjZWY3NTk3YmRhNTQxMmFmZDI4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2UvU3RvcmFnZVRyYWNrZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvU3RvcmFnZS9TdG9yYWdlVHJhY2tlci5jcHAKQEAgLTUyLDcgKzUyLDcgQEAg
c3RhdGljIFN0b3JhZ2VUcmFja2VyKiBzdG9yYWdlVHJhY2tlciA9IG51bGxwdHI7CiAKIC8vIElm
IHRoZXJlIGlzIG5vIGRvY3VtZW50IHJlZmVyZW5jaW5nIGEgc3RvcmFnZSBkYXRhYmFzZSwgY2xv
c2UgdGhlIHVuZGVybHlpbmcgZGF0YWJhc2UKIC8vIGFmdGVyIGl0IGhhcyBiZWVuIGlkbGUgZm9y
IG1fU3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsIHNlY29uZHMuCi1zdGF0aWMgY29uc3QgZG91
YmxlIERlZmF1bHRTdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwgPSAzMDA7CitzdGF0aWMgY29u
c3QgU2Vjb25kcyBkZWZhdWx0U3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsIHsgMzAwX3MgfTsK
ICAgICAKIHZvaWQgU3RvcmFnZVRyYWNrZXI6OmluaXRpYWxpemVUcmFja2VyKGNvbnN0IFN0cmlu
ZyYgc3RvcmFnZVBhdGgsIFN0b3JhZ2VUcmFja2VyQ2xpZW50KiBjbGllbnQpCiB7CkBAIC05Nyw3
ICs5Nyw3IEBAIFN0b3JhZ2VUcmFja2VyOjpTdG9yYWdlVHJhY2tlcihjb25zdCBTdHJpbmcmIHN0
b3JhZ2VQYXRoKQogICAgICwgbV90aHJlYWQoc3RkOjptYWtlX3VuaXF1ZTxTdG9yYWdlVGhyZWFk
PigpKQogICAgICwgbV9pc0FjdGl2ZShmYWxzZSkKICAgICAsIG1fbmVlZHNJbml0aWFsaXphdGlv
bihmYWxzZSkKLSAgICAsIG1fU3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsKERlZmF1bHRTdG9y
YWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwpCisgICAgLCBtX1N0b3JhZ2VEYXRhYmFzZUlkbGVJbnRl
cnZhbChkZWZhdWx0U3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsKQogewogfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2UvU3RvcmFnZVRyYWNrZXIuaCBiL1NvdXJjZS9XZWJL
aXQvU3RvcmFnZS9TdG9yYWdlVHJhY2tlci5oCmluZGV4IDU1ZDViMGQyMmU5YTM5ZjliOGMwODkz
N2Y1OTRlOGZhM2JkYWNhODguLmUxZWQ2YjkzNmI2Zjc3ZGMwZDE4MThhNjVhNGI3MTMwODRjOTA2
N2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU3RvcmFnZS9TdG9yYWdlVHJhY2tlci5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvU3RvcmFnZS9TdG9yYWdlVHJhY2tlci5oCkBAIC01OSw4ICs1OSw4
IEBAIHB1YmxpYzoKICAgICAKICAgICBib29sIGlzQWN0aXZlKCk7CiAKLSAgICBkb3VibGUgc3Rv
cmFnZURhdGFiYXNlSWRsZUludGVydmFsKCkgeyByZXR1cm4gbV9TdG9yYWdlRGF0YWJhc2VJZGxl
SW50ZXJ2YWw7IH0KLSAgICB2b2lkIHNldFN0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbChkb3Vi
bGUgaW50ZXJ2YWwpIHsgbV9TdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwgPSBpbnRlcnZhbDsg
fQorICAgIFNlY29uZHMgc3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsKCkgeyByZXR1cm4gbV9T
dG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWw7IH0KKyAgICB2b2lkIHNldFN0b3JhZ2VEYXRhYmFz
ZUlkbGVJbnRlcnZhbChTZWNvbmRzIGludGVydmFsKSB7IG1fU3RvcmFnZURhdGFiYXNlSWRsZUlu
dGVydmFsID0gaW50ZXJ2YWw7IH0KIAogICAgIHZvaWQgc3luY0ZpbGVTeXN0ZW1BbmRUcmFja2Vy
RGF0YWJhc2UoKTsKIApAQCAtMTEwLDcgKzExMCw3IEBAIHByaXZhdGU6CiAgICAgCiAgICAgYm9v
bCBtX2lzQWN0aXZlOwogICAgIGJvb2wgbV9uZWVkc0luaXRpYWxpemF0aW9uOwotICAgIGRvdWJs
ZSBtX1N0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbDsKKyAgICBTZWNvbmRzIG1fU3RvcmFnZURh
dGFiYXNlSWRsZUludGVydmFsOwogfTsKICAgICAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5WaWV3
Lm1tIGIvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblZpZXcubW0K
aW5kZXggMDg3ZmNmYmMwMWI4NmMwZjE5MWFkYzA0MzVhYTA0ODU1YzdmNzEwYi4uMDE5M2U0MGZl
NmRlMTYzZjYwMWMwODI1ZGY4NDNmM2ViODI5NTRmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9tYWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblZpZXcubW0KKysrIGIvU291cmNlL1dlYktp
dC9tYWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblZpZXcubW0KQEAgLTExMSw3ICsxMTEsNyBA
QCBzdGF0aWMgV2ViTmV0c2NhcGVQbHVnaW5WaWV3ICpjdXJyZW50UGx1Z2luVmlldyA9IG5pbDsK
IAogdHlwZWRlZiBzdHJ1Y3QgT3BhcXVlUG9ydFN0YXRlKiBQb3J0U3RhdGU7CiAKLXN0YXRpYyBj
b25zdCBkb3VibGUgVGhyb3R0bGVkVGltZXJJbnRlcnZhbCA9IDAuMjU7CitzdGF0aWMgY29uc3Qg
U2Vjb25kcyB0aHJvdHRsZWRUaW1lckludGVydmFsIHsgMjUwX21zIH07CiAKIGNsYXNzIFBsdWdp
blRpbWVyIDogcHVibGljIFRpbWVyQmFzZSB7CiBwdWJsaWM6CkBAIC0xMzAsMTAgKzEzMCwxMCBA
QCBwdWJsaWM6CiAgICAgewogICAgICAgICBBU1NFUlQoIWlzQWN0aXZlKCkpOwogCi0gICAgICAg
IGRvdWJsZSB0aW1lSW50ZXJ2YWwgPSBtX2ludGVydmFsIC8gMTAwMC4wOworICAgICAgICBTZWNv
bmRzIHRpbWVJbnRlcnZhbCA9IDFfbXMgKiBtX2ludGVydmFsOwogICAgICAgICAKICAgICAgICAg
aWYgKHRocm90dGxlKQotICAgICAgICAgICAgdGltZUludGVydmFsID0gc3RkOjptYXgodGltZUlu
dGVydmFsLCBUaHJvdHRsZWRUaW1lckludGVydmFsKTsKKyAgICAgICAgICAgIHRpbWVJbnRlcnZh
bCA9IHN0ZDo6bWF4KHRpbWVJbnRlcnZhbCwgdGhyb3R0bGVkVGltZXJJbnRlcnZhbCk7CiAgICAg
ICAgIAogICAgICAgICBpZiAobV9yZXBlYXQpCiAgICAgICAgICAgICBzdGFydFJlcGVhdGluZyhT
ZWNvbmRzIHsgdGltZUludGVydmFsIH0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMv
U3RvcmFnZS9XZWJTdG9yYWdlTWFuYWdlci5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1N0b3JhZ2Uv
V2ViU3RvcmFnZU1hbmFnZXIubW0KaW5kZXggMzcwNGY3ZWRkMzU4NGZmMThkNzZhNjZhOWYwMjMz
ODg1NGRjN2Y2OS4uODFiYTFlNmRkZmIwZDA4OThjNzA3MmUxZDY4MTM0ZTQ3MmE1NzgyYSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvU3RvcmFnZS9XZWJTdG9yYWdlTWFuYWdlci5tbQor
KysgYi9Tb3VyY2UvV2ViS2l0L21hYy9TdG9yYWdlL1dlYlN0b3JhZ2VNYW5hZ2VyLm1tCkBAIC0x
MTcsNyArMTE3LDcgQEAgKyAoTlNTdHJpbmcgKilfc3RvcmFnZURpcmVjdG9yeVBhdGgKIAogKyAo
dm9pZClzZXRTdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWw6KGRvdWJsZSlpbnRlcnZhbAogewot
ICAgIFdlYktpdDo6U3RvcmFnZVRyYWNrZXI6OnRyYWNrZXIoKS5zZXRTdG9yYWdlRGF0YWJhc2VJ
ZGxlSW50ZXJ2YWwoaW50ZXJ2YWwpOworICAgIFdlYktpdDo6U3RvcmFnZVRyYWNrZXI6OnRyYWNr
ZXIoKS5zZXRTdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwoMV9zICogaW50ZXJ2YWwpOwogfQog
CiArICh2b2lkKWNsb3NlSWRsZUxvY2FsU3RvcmFnZURhdGFiYXNlcwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5NZXNzYWdlVGhyb3R0bGVyV2luLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luTWVzc2FnZVRocm90dGxlcldpbi5jcHAKaW5k
ZXggYTUzYzMxNWMyMDE4NDM5NGYzYjQwNjRhM2Y1NDQ3NTczZWQyY2YwOS4uNDMzMWFmYWYxOWQz
MWIyMTQ4MDdlOWUzZmE3MmU4MzgwN2I5YjEyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93
aW4vUGx1Z2lucy9QbHVnaW5NZXNzYWdlVGhyb3R0bGVyV2luLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L3dpbi9QbHVnaW5zL1BsdWdpbk1lc3NhZ2VUaHJvdHRsZXJXaW4uY3BwCkBAIC0zOSw3ICsz
OSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIC8vIFRoaXMgdmFsdWUgYWxsb3dzIEZsYXNoIDYw
IG1lc3NhZ2VzL3NlY29uZCwgd2hpY2ggc2hvdWxkIGJlIGVub3VnaCBmb3IgdmlkZW8KIC8vIHBs
YXliYWNrLCBhbmQgYWxzbyBnZXRzIHVzIG92ZXIgdGhlIGxpbWl0IGZvciBraWNraW5nIGludG8g
aGlnaC1yZXNvbHV0aW9uCiAvLyB0aW1lciBtb2RlIChzZWUgU2hhcmVkVGltZXJXaW4uY3BwKS4K
LXN0YXRpYyBjb25zdCBkb3VibGUgTWVzc2FnZVRocm90dGxlVGltZUludGVydmFsID0gMC4wMTY7
CitzdGF0aWMgY29uc3QgU2Vjb25kcyBtZXNzYWdlVGhyb3R0bGVUaW1lSW50ZXJ2YWwgeyAxNl9t
cyB9OwogCiAvLyBEdXJpbmcgYSBjb250aW51b3VzIHN0cmVhbSBvZiBtZXNzYWdlcywgcHJvY2Vz
cyBvbmUgZXZlcnkgNW1zLgogc3RhdGljIGNvbnN0IGRvdWJsZSBNZXNzYWdlRGlyZWN0UHJvY2Vz
c2luZ0ludGVydmFsID0gMC4wMDU7CkBAIC05NSw3ICs5NSw3IEBAIHZvaWQgUGx1Z2luTWVzc2Fn
ZVRocm90dGxlcldpbjo6YXBwZW5kTWVzc2FnZShIV05EIGhXbmQsIFVJTlQgbXNnLCBXUEFSQU0g
d1BhcmFtCiAgICAgfQogCiAgICAgaWYgKCFtX21lc3NhZ2VUaHJvdHRsZVRpbWVyLmlzQWN0aXZl
KCkpCi0gICAgICAgIG1fbWVzc2FnZVRocm90dGxlVGltZXIuc3RhcnRPbmVTaG90KE1lc3NhZ2VU
aHJvdHRsZVRpbWVJbnRlcnZhbCk7CisgICAgICAgIG1fbWVzc2FnZVRocm90dGxlVGltZXIuc3Rh
cnRPbmVTaG90KG1lc3NhZ2VUaHJvdHRsZVRpbWVJbnRlcnZhbCk7CiB9CiAKIHZvaWQgUGx1Z2lu
TWVzc2FnZVRocm90dGxlcldpbjo6cHJvY2Vzc1F1ZXVlZE1lc3NhZ2UoKQpAQCAtMTE4LDcgKzEx
OCw3IEBAIHZvaWQgUGx1Z2luTWVzc2FnZVRocm90dGxlcldpbjo6bWVzc2FnZVRocm90dGxlVGlt
ZXJGaXJlZCgpCiAgICAgcHJvY2Vzc1F1ZXVlZE1lc3NhZ2UoKTsKIAogICAgIGlmIChtX2Zyb250
KQotICAgICAgICBtX21lc3NhZ2VUaHJvdHRsZVRpbWVyLnN0YXJ0T25lU2hvdChNZXNzYWdlVGhy
b3R0bGVUaW1lSW50ZXJ2YWwpOworICAgICAgICBtX21lc3NhZ2VUaHJvdHRsZVRpbWVyLnN0YXJ0
T25lU2hvdChtZXNzYWdlVGhyb3R0bGVUaW1lSW50ZXJ2YWwpOwogfQogCiBQbHVnaW5NZXNzYWdl
KiBQbHVnaW5NZXNzYWdlVGhyb3R0bGVyV2luOjphbGxvY2F0ZU1lc3NhZ2UoKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5WaWV3V2luLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luVmlld1dpbi5jcHAKaW5kZXggNzVjYjc3ZjFmM2Q0ZGEz
YzFkNjY3N2YxNzliNDIyZWZkMzIwMDM3NC4uMjRmYjEzZWQzMTM1YTU3YjU4NGQwNTBkMjkwZDUy
ODU4MDY1MDA3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5W
aWV3V2luLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpblZpZXdXaW4u
Y3BwCkBAIC04MzksNyArODM5LDcgQEAgdm9pZCBQbHVnaW5WaWV3OjppbnZhbGlkYXRlUmVjdChO
UFJlY3QqIHJlY3QpCiAgICAgICAgIGlmIChtX3BsdWdpbi0+cXVpcmtzKCkuY29udGFpbnMoUGx1
Z2luUXVpcmtUaHJvdHRsZUludmFsaWRhdGUpKSB7CiAgICAgICAgICAgICBtX2ludmFsaWRSZWN0
cy5hcHBlbmQocik7CiAgICAgICAgICAgICBpZiAoIW1faW52YWxpZGF0ZVRpbWVyLmlzQWN0aXZl
KCkpCi0gICAgICAgICAgICAgICAgbV9pbnZhbGlkYXRlVGltZXIuc3RhcnRPbmVTaG90KDAuMDAx
KTsKKyAgICAgICAgICAgICAgICBtX2ludmFsaWRhdGVUaW1lci5zdGFydE9uZVNob3QoMV9tcyk7
CiAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgaW52YWxpZGF0ZVJlY3Qocik7CiAgICAgfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvQWNjZWxlcmF0ZWRD
b21wb3NpdGluZ0NvbnRleHQuY3BwIGIvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQv
QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQuY3BwCmluZGV4IGZjMGQxNTU3MGZlYWVjOWRi
Mzg2OTcwOGI1YWI3YzdhNGFkMjIyODIuLjVlMTZlMjBmMTljMTJiZjU1YjBmZGY4OTgxZDcwOTM4
MDhjODRlYWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L0Fj
Y2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9X
ZWJDb3JlU3VwcG9ydC9BY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dC5jcHAKQEAgLTM0OSw3
ICszNDksNyBAQCB2b2lkIEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0OjpzY2hlZHVsZUxh
eWVyRmx1c2goKQogICAgIGlmIChtX2xheWVyRmx1c2hUaW1lci5pc0FjdGl2ZSgpKQogICAgICAg
ICByZXR1cm47CiAKLSAgICBtX2xheWVyRmx1c2hUaW1lci5zdGFydE9uZVNob3QoMC4wNSk7Cisg
ICAgbV9sYXllckZsdXNoVGltZXIuc3RhcnRPbmVTaG90KDUwX21zKTsKIH0KIAogYm9vbCBBY2Nl
bGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dDo6Zmx1c2hQZW5kaW5nTGF5ZXJDaGFuZ2VzKCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL1BpbmdMb2FkLmggYi9Tb3Vy
Y2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9QaW5nTG9hZC5oCmluZGV4IGYwMTQ0ZDY4OGRmNjNl
OTVkNDQ2OTQ4NmM1NmM4NjZkODg5YjdhNjEuLjM5YmUwNmQzZTFiYzQ0ZmUyMWE2OTY0MGNkYTQ5
ZTRkODI2NWFkZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL1Bp
bmdMb2FkLmgKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvUGluZ0xvYWQuaApA
QCAtNDYsNyArNDYsNyBAQCBwdWJsaWM6CiAKICAgICAgICAgLy8gSWYgdGhlIHNlcnZlciBuZXZl
ciByZXNwb25kcywgdGhpcyBvYmplY3Qgd2lsbCBoYW5nIGFyb3VuZCBmb3JldmVyLgogICAgICAg
ICAvLyBTZXQgYSB2ZXJ5IGdlbmVyb3VzIHRpbWVvdXQsIGp1c3QgaW4gY2FzZS4KLSAgICAgICAg
bV90aW1lb3V0VGltZXIuc3RhcnRPbmVTaG90KDYwMDAwKTsKKyAgICAgICAgbV90aW1lb3V0VGlt
ZXIuc3RhcnRPbmVTaG90KDYwMDAwX3MpOwogICAgIH0KICAgICAKIHByaXZhdGU6CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9zb3VwL05ldHdvcmtEYXRhVGFza1Nv
dXAuY3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mvc291cC9OZXR3b3JrRGF0YVRh
c2tTb3VwLmNwcAppbmRleCA1ZmY5Yjc4NDA5ZWI4MDY5NjU5MWM5MjliZThjNzU5MDU0YjNlNmRh
Li45MGJlMjNkZjM5MDNjY2ZmZTYyZmVmNmQ2NTVmMmFhZDEyMWYzMTdiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9zb3VwL05ldHdvcmtEYXRhVGFza1NvdXAuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL3NvdXAvTmV0d29ya0RhdGFUYXNr
U291cC5jcHAKQEAgLTI5MSw3ICsyOTEsNyBAQCB2b2lkIE5ldHdvcmtEYXRhVGFza1NvdXA6OnRp
bWVvdXRGaXJlZCgpCiB2b2lkIE5ldHdvcmtEYXRhVGFza1NvdXA6OnN0YXJ0VGltZW91dCgpCiB7
CiAgICAgaWYgKG1fZmlyc3RSZXF1ZXN0LnRpbWVvdXRJbnRlcnZhbCgpID4gMCkKLSAgICAgICAg
bV90aW1lb3V0U291cmNlLnN0YXJ0T25lU2hvdChtX2ZpcnN0UmVxdWVzdC50aW1lb3V0SW50ZXJ2
YWwoKSk7CisgICAgICAgIG1fdGltZW91dFNvdXJjZS5zdGFydE9uZVNob3QoMV9zICogbV9maXJz
dFJlcXVlc3QudGltZW91dEludGVydmFsKCkpOwogfQogCiB2b2lkIE5ldHdvcmtEYXRhVGFza1Nv
dXA6OnN0b3BUaW1lb3V0KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQ
Qy9Db25uZWN0aW9uLmggYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvQ29ubmVjdGlvbi5o
CmluZGV4IGNiMDBiMmRjMmE2ZDAyMzg0Y2UzNWIzYzE1Y2QzMGFmZGY0YTZjNmIuLmZjZTFlNjNi
YzI5ZmNiYjJlZTNiZTcyMDYxZjgzNmFiNzNmZjc4OWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1BsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdDIvUGxhdGZv
cm0vSVBDL0Nvbm5lY3Rpb24uaApAQCAtMTg5LDcgKzE4OSw3IEBAIHB1YmxpYzoKIAogI2lmIFBM
QVRGT1JNKENPQ09BKQogICAgIGJvb2wga2lsbCgpOwotICAgIHZvaWQgdGVybWluYXRlU29vbihk
b3VibGUgaW50ZXJ2YWxJblNlY29uZHMpOworICAgIHZvaWQgdGVybWluYXRlU29vbihTZWNvbmRz
KTsKICNlbmRpZgogCiAgICAgYm9vbCBpc1ZhbGlkKCkgY29uc3QgeyByZXR1cm4gbV9pc1ZhbGlk
OyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvbWFjL0Nvbm5lY3Rp
b25NYWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvbWFjL0Nvbm5lY3Rpb25NYWMu
bW0KaW5kZXggNWU2NWJmMzU2MDI1OGIzMmI2MGUwNDVhODcxMjUxOTU3ODQxZmU4MS4uZTZhYjlk
ZDMzM2NkNTRlYzBkM2U3YmMwZWJhNGE1MGFhZmMzNjcyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvUGxhdGZvcm0vSVBDL21hYy9Db25uZWN0aW9uTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1BsYXRmb3JtL0lQQy9tYWMvQ29ubmVjdGlvbk1hYy5tbQpAQCAtODIsMjAgKzgyLDIwIEBA
IGVudW0gewogLy8gICAgdG8gZW5zdXJlIGl0IGhhcyBhIGNoYW5jZSB0byB0ZXJtaW5hdGUgY2xl
YW5seS4KIGNsYXNzIENvbm5lY3Rpb25UZXJtaW5hdGlvbldhdGNoZG9nIHsKIHB1YmxpYzoKLSAg
ICBzdGF0aWMgdm9pZCBjcmVhdGVDb25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZyhPU09iamVj
dFB0cjx4cGNfY29ubmVjdGlvbl90PiYgeHBjQ29ubmVjdGlvbiwgZG91YmxlIGludGVydmFsSW5T
ZWNvbmRzKQorICAgIHN0YXRpYyB2b2lkIGNyZWF0ZUNvbm5lY3Rpb25UZXJtaW5hdGlvbldhdGNo
ZG9nKE9TT2JqZWN0UHRyPHhwY19jb25uZWN0aW9uX3Q+JiB4cGNDb25uZWN0aW9uLCBTZWNvbmRz
IGludGVydmFsKQogICAgIHsKLSAgICAgICAgbmV3IENvbm5lY3Rpb25UZXJtaW5hdGlvbldhdGNo
ZG9nKHhwY0Nvbm5lY3Rpb24sIGludGVydmFsSW5TZWNvbmRzKTsKKyAgICAgICAgbmV3IENvbm5l
Y3Rpb25UZXJtaW5hdGlvbldhdGNoZG9nKHhwY0Nvbm5lY3Rpb24sIGludGVydmFsKTsKICAgICB9
CiAgICAgCiBwcml2YXRlOgotICAgIENvbm5lY3Rpb25UZXJtaW5hdGlvbldhdGNoZG9nKE9TT2Jq
ZWN0UHRyPHhwY19jb25uZWN0aW9uX3Q+JiB4cGNDb25uZWN0aW9uLCBkb3VibGUgaW50ZXJ2YWxJ
blNlY29uZHMpCisgICAgQ29ubmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hkb2coT1NPYmplY3RQdHI8
eHBjX2Nvbm5lY3Rpb25fdD4mIHhwY0Nvbm5lY3Rpb24sIFNlY29uZHMgaW50ZXJ2YWwpCiAgICAg
ICAgIDogbV94cGNDb25uZWN0aW9uKHhwY0Nvbm5lY3Rpb24pCiAgICAgICAgICwgbV93YXRjaGRv
Z1RpbWVyKFJ1bkxvb3A6Om1haW4oKSwgdGhpcywgJkNvbm5lY3Rpb25UZXJtaW5hdGlvbldhdGNo
ZG9nOjp3YXRjaGRvZ1RpbWVyRmlyZWQpCiAjaWYgUExBVEZPUk0oSU9TKQogICAgICAgICAsIG1f
YXNzZXJ0aW9uKHN0ZDo6bWFrZV91bmlxdWU8V2ViS2l0OjpQcm9jZXNzQW5kVUlBc3NlcnRpb24+
KHhwY19jb25uZWN0aW9uX2dldF9waWQobV94cGNDb25uZWN0aW9uLmdldCgpKSwgV2ViS2l0OjpB
c3NlcnRpb25TdGF0ZTo6QmFja2dyb3VuZCkpCiAjZW5kaWYKICAgICB7Ci0gICAgICAgIG1fd2F0
Y2hkb2dUaW1lci5zdGFydE9uZVNob3QoaW50ZXJ2YWxJblNlY29uZHMpOworICAgICAgICBtX3dh
dGNoZG9nVGltZXIuc3RhcnRPbmVTaG90KGludGVydmFsKTsKICAgICB9CiAgICAgCiAgICAgdm9p
ZCB3YXRjaGRvZ1RpbWVyRmlyZWQoKQpAQCAtMTU1LDEwICsxNTUsMTAgQEAgdm9pZCBDb25uZWN0
aW9uOjpwbGF0Zm9ybUludmFsaWRhdGUoKQogI2VuZGlmCiB9CiAgICAgCi12b2lkIENvbm5lY3Rp
b246OnRlcm1pbmF0ZVNvb24oZG91YmxlIGludGVydmFsSW5TZWNvbmRzKQordm9pZCBDb25uZWN0
aW9uOjp0ZXJtaW5hdGVTb29uKFNlY29uZHMgaW50ZXJ2YWwpCiB7CiAgICAgaWYgKG1feHBjQ29u
bmVjdGlvbikKLSAgICAgICAgQ29ubmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hkb2c6OmNyZWF0ZUNv
bm5lY3Rpb25UZXJtaW5hdGlvbldhdGNoZG9nKG1feHBjQ29ubmVjdGlvbiwgaW50ZXJ2YWxJblNl
Y29uZHMpOworICAgICAgICBDb25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZzo6Y3JlYXRlQ29u
bmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hkb2cobV94cGNDb25uZWN0aW9uLCBpbnRlcnZhbCk7CiB9
CiAgICAgCiB2b2lkIENvbm5lY3Rpb246OnBsYXRmb3JtSW5pdGlhbGl6ZShJZGVudGlmaWVyIGlk
ZW50aWZpZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdp
blByb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNz
LmNwcAppbmRleCA3NTgxNTNiZDliYmM3ZDUxMTcyNWNhYTYzZWMzNTczNTJmNWU2ZmUwLi45Njk5
YjA1MzM0Y2JhMWE5ZDkwMjBmMTg5YWMzYmIxODRlNDQ4MDk3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5jcHAKQEAgLTIxNiw5ICsyMTYsOSBAQCB2
b2lkIFBsdWdpblByb2Nlc3M6OmRlbGV0ZVdlYnNpdGVEYXRhRm9ySG9zdE5hbWVzKGNvbnN0IFZl
Y3RvcjxTdHJpbmc+JiBob3N0TmFtZQogICAgIHBhcmVudFByb2Nlc3NDb25uZWN0aW9uKCktPnNl
bmQoTWVzc2FnZXM6OlBsdWdpblByb2Nlc3NQcm94eTo6RGlkRGVsZXRlV2Vic2l0ZURhdGFGb3JI
b3N0TmFtZXMoY2FsbGJhY2tJRCksIDApOwogfQogCi12b2lkIFBsdWdpblByb2Nlc3M6OnNldE1p
bmltdW1MaWZldGltZShkb3VibGUgbGlmZXRpbWUpCit2b2lkIFBsdWdpblByb2Nlc3M6OnNldE1p
bmltdW1MaWZldGltZShTZWNvbmRzIGxpZmV0aW1lKQogewotICAgIGlmIChsaWZldGltZSA8PSAw
LjApCisgICAgaWYgKGxpZmV0aW1lIDw9IDBfcykKICAgICAgICAgcmV0dXJuOwogICAgIAogICAg
IGRpc2FibGVUZXJtaW5hdGlvbigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGx1Z2lu
UHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1Bs
dWdpblByb2Nlc3MuaAppbmRleCA5MmM2Nzc3NTI2YWZhMGQwZTkwZDc3ZDc2YmZhZjUyZTE3MjM5
OGU3Li4yNDc5YTQzNzVkN2UzNTA3MTU2Mjc2NmNmYmZiNGI0ZDE5ZjNhZmYyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3MuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3MuaApAQCAtMTAxLDcgKzEwMSw3
IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIHBsYXRmb3JtSW5pdGlhbGl6ZVBsdWdpblByb2Nlc3Mo
UGx1Z2luUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYmKTsKICAgICAKLSAgICB2b2lkIHNldE1p
bmltdW1MaWZldGltZShkb3VibGUpOworICAgIHZvaWQgc2V0TWluaW11bUxpZmV0aW1lKFNlY29u
ZHMpOwogICAgIHZvaWQgbWluaW11bUxpZmV0aW1lVGltZXJGaXJlZCgpOwogICAgIC8vIE91ciB3
ZWIgcHJvY2VzcyBjb25uZWN0aW9ucy4KICAgICBWZWN0b3I8UmVmUHRyPFdlYlByb2Nlc3NDb25u
ZWN0aW9uPj4gbV93ZWJQcm9jZXNzQ29ubmVjdGlvbnM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvQ2hpbGRQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9DaGls
ZFByb2Nlc3MuY3BwCmluZGV4IGJjMWYyZDZhYjZhNmFkMjYwZmNkYzYxNDVjMTY4Y2FmYTYyYWZm
OGIuLmYxYTNhMzhlOGJkNWRiZWQ2MmEwNTQxZGMyOGUyZjMyYWZjNGQ1N2IgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuY3BwCkBAIC0zMyw4ICszMyw3IEBACiBuYW1lc3BhY2Ug
V2ViS2l0IHsKIAogQ2hpbGRQcm9jZXNzOjpDaGlsZFByb2Nlc3MoKQotICAgIDogbV90ZXJtaW5h
dGlvblRpbWVvdXQoMCkKLSAgICAsIG1fdGVybWluYXRpb25Db3VudGVyKDApCisgICAgOiBtX3Rl
cm1pbmF0aW9uQ291bnRlcigwKQogICAgICwgbV90ZXJtaW5hdGlvblRpbWVyKFJ1bkxvb3A6Om1h
aW4oKSwgdGhpcywgJkNoaWxkUHJvY2Vzczo6dGVybWluYXRpb25UaW1lckZpcmVkKQogICAgICwg
bV9wcm9jZXNzU3VwcHJlc3Npb25EaXNhYmxlZCgiUHJvY2VzcyBTdXBwcmVzc2lvbiBEaXNhYmxl
ZCBieSBVSVByb2Nlc3MiKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0No
aWxkUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0NoaWxkUHJvY2Vzcy5oCmluZGV4
IDhiYTI0ZGU0NTYyNjA3MDZhYWYwNDlkNGQwMTczYzJlMDE0NGM3MjguLjZmZTcyYjE3M2YwZjcw
MDVlYzVkMzIxNmNlZGM3YzdlYjVhZmI3OTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9DaGlsZFByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ2hpbGRQcm9j
ZXNzLmgKQEAgLTgxLDcgKzgxLDcgQEAgcHJvdGVjdGVkOgogICAgIGV4cGxpY2l0IENoaWxkUHJv
Y2VzcygpOwogICAgIHZpcnR1YWwgfkNoaWxkUHJvY2VzcygpOwogCi0gICAgdm9pZCBzZXRUZXJt
aW5hdGlvblRpbWVvdXQoZG91YmxlIHNlY29uZHMpIHsgbV90ZXJtaW5hdGlvblRpbWVvdXQgPSBz
ZWNvbmRzOyB9CisgICAgdm9pZCBzZXRUZXJtaW5hdGlvblRpbWVvdXQoU2Vjb25kcyBzZWNvbmRz
KSB7IG1fdGVybWluYXRpb25UaW1lb3V0ID0gc2Vjb25kczsgfQogCiAgICAgdmlydHVhbCB2b2lk
IGluaXRpYWxpemVQcm9jZXNzKGNvbnN0IENoaWxkUHJvY2Vzc0luaXRpYWxpemF0aW9uUGFyYW1l
dGVycyYpOwogICAgIHZpcnR1YWwgdm9pZCBpbml0aWFsaXplUHJvY2Vzc05hbWUoY29uc3QgQ2hp
bGRQcm9jZXNzSW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzJik7CkBAIC0xMjAsNyArMTIwLDcgQEAg
cHJpdmF0ZToKIAogICAgIC8vIFRoZSB0aW1lb3V0LCBpbiBzZWNvbmRzLCBiZWZvcmUgdGhpcyBw
cm9jZXNzIHdpbGwgYmUgdGVybWluYXRlZCBpZiB0ZXJtaW5hdGlvbgogICAgIC8vIGhhcyBiZWVu
IGVuYWJsZWQuIElmIHRoZSB0aW1lb3V0IGlzIDAgc2Vjb25kcywgdGhlIHByb2Nlc3Mgd2lsbCBi
ZSB0ZXJtaW5hdGVkIGltbWVkaWF0ZWx5LgotICAgIGRvdWJsZSBtX3Rlcm1pbmF0aW9uVGltZW91
dDsKKyAgICBTZWNvbmRzIG1fdGVybWluYXRpb25UaW1lb3V0OwogCiAgICAgLy8gQSB0ZXJtaW5h
dGlvbiBjb3VudGVyOyB3aGVuIHRoZSBjb3VudGVyIHJlYWNoZXMgemVybywgdGhlIHByb2Nlc3Mg
d2lsbCBiZSB0ZXJtaW5hdGVkCiAgICAgLy8gYWZ0ZXIgYSBnaXZlbiBwZXJpb2Qgb2YgdGltZS4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL3Ro
cmVhZGVkY29tcG9zaXRvci9Db21wb3NpdGluZ1J1bkxvb3AuY3BwIGIvU291cmNlL1dlYktpdDIv
U2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvdGhyZWFkZWRjb21wb3NpdG9yL0NvbXBvc2l0aW5n
UnVuTG9vcC5jcHAKaW5kZXggYWFkZDZhYmIyNmE1NmZhNDQ3NmJhYTU3ZmQxZmY5MTdjM2RjNjEy
MC4uNTYxN2JiYWQwMTA3ZWU0ZWZmZDM3ZjE4MWYyYWVlY2MyYzNlYjlmNiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvdGhyZWFkZWRjb21wb3Np
dG9yL0NvbXBvc2l0aW5nUnVuTG9vcC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0Nv
b3JkaW5hdGVkR3JhcGhpY3MvdGhyZWFkZWRjb21wb3NpdG9yL0NvbXBvc2l0aW5nUnVuTG9vcC5j
cHAKQEAgLTE1NCw3ICsxNTQsNyBAQCB2b2lkIENvbXBvc2l0aW5nUnVuTG9vcDo6c3RhcnRVcGRh
dGVUaW1lcihVcGRhdGVUaW1pbmcgdGltaW5nKQogICAgIGlmICh0aW1pbmcgPT0gV2FpdFVudGls
TmV4dEZyYW1lKQogICAgICAgICBuZXh0VXBkYXRlVGltZSA9IHN0ZDo6bWF4KCgxIC8gdGFyZ2V0
RlBTKSAtIChtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSAtIG1fbGFzdFVwZGF0ZVRpbWUp
LCAwLjApOwogCi0gICAgbV91cGRhdGVUaW1lci5zdGFydE9uZVNob3QobmV4dFVwZGF0ZVRpbWUp
OworICAgIG1fdXBkYXRlVGltZXIuc3RhcnRPbmVTaG90KDFfcyAqIG5leHRVcGRhdGVUaW1lKTsK
IH0KIAogdm9pZCBDb21wb3NpdGluZ1J1bkxvb3A6OnN0b3BVcGRhdGVUaW1lcigpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ3JlYXRpb25Q
YXJhbWV0ZXJzLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9QbHVnaW5Qcm9jZXNz
Q3JlYXRpb25QYXJhbWV0ZXJzLmgKaW5kZXggYTEyYTQ0NDViYjE2Y2FhZjY5MjczYjY0YTg2MzIx
MDhlN2Q1NDlmNC4uYjFhMzRhNGRmMWQyZDgyNTk4YWNhNmNmODQ1NGViNGZhMWNkZTZmMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc0NyZWF0
aW9uUGFyYW1ldGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL1BsdWdp
blByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaApAQCAtMzAsNiArMzAsNyBAQAogCiAjaW5jbHVk
ZSAiQXR0YWNobWVudC5oIgogI2luY2x1ZGUgIlBsdWdpblByb2Nlc3NBdHRyaWJ1dGVzLmgiCisj
aW5jbHVkZSA8d3RmL1NlY29uZHMuaD4KIAogI2lmIFBMQVRGT1JNKENPQ09BKQogI2luY2x1ZGUg
PFdlYkNvcmUvTWFjaFNlbmRSaWdodC5oPgpAQCAtNTEsOCArNTIsOCBAQCBzdHJ1Y3QgUGx1Z2lu
UHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyB7CiAgICAgUGx1Z2luUHJvY2Vzc1R5cGUgcHJvY2Vz
c1R5cGU7CiAgICAgYm9vbCBzdXBwb3J0c0FzeW5jaHJvbm91c1BsdWdpbkluaXRpYWxpemF0aW9u
OwogCi0gICAgZG91YmxlIG1pbmltdW1MaWZldGltZTsKLSAgICBkb3VibGUgdGVybWluYXRpb25U
aW1lb3V0OworICAgIFNlY29uZHMgbWluaW11bUxpZmV0aW1lOworICAgIFNlY29uZHMgdGVybWlu
YXRpb25UaW1lb3V0OwogCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgV2ViQ29yZTo6TWFjaFNl
bmRSaWdodCBhY2NlbGVyYXRlZENvbXBvc2l0aW5nUG9ydDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9XZWJNZW1vcnlTYW1wbGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9XZWJNZW1vcnlTYW1wbGVyLmNwcAppbmRleCBiYWJjMjg4OGNiNzVmYjQ2ZjM4ODBkOGNkYjgz
MWYyYTdkMjQ2MjBiLi4xNTEzMzkwODhkYzVlMDBhOTBjMWEyY2E0YWFhNmY5MzgxMjVjMWNiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViTWVtb3J5U2FtcGxlci5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIuY3BwCkBAIC05MSw3ICs5
MSw3IEBAIHZvaWQgV2ViTWVtb3J5U2FtcGxlcjo6aW5pdGlhbGl6ZVRpbWVycyhkb3VibGUgaW50
ZXJ2YWwpCiAgICAgbV9zYW1wbGVUaW1lci5zdGFydFJlcGVhdGluZygxX3MpOwogICAgIHByaW50
ZigiU3RhcnRlZCBtZW1vcnkgc2FtcGxlciBmb3IgcHJvY2VzcyAlcyAlZCIsIHByb2Nlc3NOYW1l
KCkudXRmOCgpLmRhdGEoKSwgZ2V0cGlkKCkpOwogICAgIGlmIChpbnRlcnZhbCA+IDApIHsKLSAg
ICAgICAgbV9zdG9wVGltZXIuc3RhcnRPbmVTaG90KGludGVydmFsKTsKKyAgICAgICAgbV9zdG9w
VGltZXIuc3RhcnRPbmVTaG90KDFfcyAqIGludGVydmFsKTsKICAgICAgICAgcHJpbnRmKCIgZm9y
IGEgaW50ZXJ2YWwgb2YgJWcgc2Vjb25kcyIsIGludGVydmFsKTsKICAgICB9CiAgICAgcHJpbnRm
KCI7IFNhbXBsZXIgbG9nIGZpbGUgc3RvcmVkIGF0OiAlc1xuIiwgbV9zYW1wbGVMb2dGaWxlUGF0
aC51dGY4KCkuZGF0YSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQ
cm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJv
Y2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCmluZGV4IGZkODA2YjIyMDI0NzllMTYwNDg2MWRmOThl
MDhjYWIxYTFhYTYwZDkuLjkyNmEzMjIwZmI2OGQxNWJlYmQwMDY4MjEzNWIwZDEyYTI1NDQ4YmQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJh
bWV0ZXJzLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBh
cmFtZXRlcnMuaApAQCAtMTI2LDcgKzEyNiw3IEBAIHN0cnVjdCBXZWJQcm9jZXNzQ3JlYXRpb25Q
YXJhbWV0ZXJzIHsKICAgICBib29sIGhhc1JpY2hDb250ZW50U2VydmljZXMgeyBmYWxzZSB9Owog
I2VuZGlmCiAKLSAgICBkb3VibGUgdGVybWluYXRpb25UaW1lb3V0IHsgMCB9OworICAgIFNlY29u
ZHMgdGVybWluYXRpb25UaW1lb3V0OwogCiAgICAgVGV4dENoZWNrZXJTdGF0ZSB0ZXh0Q2hlY2tl
clN0YXRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29h
L0FQSVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUNvY29hLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9Db2NvYS9BUElTZXJpYWxpemVkU2NyaXB0VmFsdWVDb2NvYS5tbQppbmRleCA4Mzk0
NWRmZWQzMWM1OTE4MzU4YmU3ZjY3MTZiMWJmZTcwMTg4YjU5Li4xYjVkZDAzNjM5MWYyMmI5ZWJj
NWI3MjNkOTIyM2Y4MDI5MGU5YTE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0NvY29hL0FQSVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUNvY29hLm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvQVBJU2VyaWFsaXplZFNjcmlwdFZhbHVlQ29j
b2EubW0KQEAgLTQ2LDcgKzQ2LDcgQEAgcHVibGljOgogICAgIHsKICAgICAgICAgaWYgKCFtX2Nv
bnRleHQpIHsKICAgICAgICAgICAgIG1fY29udGV4dCA9IGFkb3B0TlMoW1tKU0NvbnRleHQgYWxs
b2NdIGluaXRdKTsKLSAgICAgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDEpOworICAgICAg
ICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMV9zKTsKICAgICAgICAgfQogICAgICAgICByZXR1
cm4gbV9jb250ZXh0LmdldCgpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9DaGlsZFByb2Nlc3NQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
Q2hpbGRQcm9jZXNzUHJveHkuY3BwCmluZGV4IGRkOGFlZjU1MGFhNjZjMjM5NTgzZjg4MjkzODIz
NDI0Y2NiMzlkYzQuLjI3YmVjMzYyMzE1Y2IxMTBmMWM4ZmU0NjM2YTY0ZDJkODY1ZTQ0OTggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9DaGlsZFByb2Nlc3NQcm94eS5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NoaWxkUHJvY2Vzc1Byb3h5LmNwcApAQCAt
MTk3LDcgKzE5Nyw3IEBAIHZvaWQgQ2hpbGRQcm9jZXNzUHJveHk6OnNodXREb3duUHJvY2Vzcygp
CiAgICAgICAgIC8vIE9uIGlPUyBkZXBsb3kgYSB3YXRjaGRvZyBpbiB0aGUgVUkgcHJvY2Vzcywg
c2luY2UgdGhlIGNoaWxkIHByb2Nlc3MgbWF5IGJlIHN1c3BlbmRlZC4KICAgICAgICAgLy8gSWYg
MzBzIGlzIGluc3VmZmljaWVudCBmb3IgYW55IG91dHN0YW5kaW5nIGFjdGl2aXR5IHRvIGNvbXBs
ZXRlIGNsZWFubHksIHRoZW4gaXQgd2lsbCBiZSBraWxsZWQuCiAgICAgICAgIEFTU0VSVChtX2Nv
bm5lY3Rpb24pOwotICAgICAgICBtX2Nvbm5lY3Rpb24tPnRlcm1pbmF0ZVNvb24oMzApOworICAg
ICAgICBtX2Nvbm5lY3Rpb24tPnRlcm1pbmF0ZVNvb24oMzBfcyk7CiAjZW5kaWYKICAgICAgICAg
YnJlYWs7CiAgICAgY2FzZSBTdGF0ZTo6VGVybWluYXRlZDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9OYXZpZ2F0aW9uU3RhdGUubW0gYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQ29jb2EvTmF2aWdhdGlvblN0YXRlLm1tCmluZGV4IDZiODFjZTQ1NjQxZDRm
ZGMzMjdhMDZmNmNkY2U5OGRhMTNmZGFhMTkuLjk2Yjk2MDIwZGM4OTMzYjg0OTM2ZTFmMWRjYWRh
MmM5ZGU4NmQ0YmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9O
YXZpZ2F0aW9uU3RhdGUubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL05h
dmlnYXRpb25TdGF0ZS5tbQpAQCAtODg3LDcgKzg4Nyw3IEBAIHZvaWQgTmF2aWdhdGlvblN0YXRl
OjpkaWRDaGFuZ2VJc0xvYWRpbmcoKQogICAgIH0gZWxzZSB7CiAgICAgICAgIC8vIERlbGF5IHJl
bGVhc2luZyB0aGUgYmFja2dyb3VuZCBhY3Rpdml0eSBmb3IgMyBzZWNvbmRzIHRvIGdpdmUgdGhl
IGFwcGxpY2F0aW9uIGEgY2hhbmNlIHRvIHN0YXJ0IGFub3RoZXIgbmF2aWdhdGlvbgogICAgICAg
ICAvLyBiZWZvcmUgc3VzcGVuZGluZyB0aGUgV2ViQ29udGVudCBwcm9jZXNzIDxyZGFyOi8vcHJv
YmxlbS8yNzkxMDk2ND4uCi0gICAgICAgIG1fcmVsZWFzZUFjdGl2aXR5VGltZXIuc3RhcnRPbmVT
aG90KDNzKTsKKyAgICAgICAgbV9yZWxlYXNlQWN0aXZpdHlUaW1lci5zdGFydE9uZVNob3QoM19z
KTsKICAgICB9CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0NvY29hL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQ29jb2EvVmlld0dlc3R1cmVDb250cm9sbGVyLmNwcAppbmRleCA3OTlkYTY1YzlhN2EzZTUx
NGJjZjVjNGM5NzAwNjMwMWU2NjI5N2YzLi5jNGQzMDAxMGRkMzdjYWJlZmE3MGRiMjQ5NWRmMzFi
NGU3NzE0NDM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvVmll
d0dlc3R1cmVDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29j
b2EvVmlld0dlc3R1cmVDb250cm9sbGVyLmNwcApAQCAtNDAsMTMgKzQwLDEzIEBAIHVzaW5nIG5h
bWVzcGFjZSBXZWJDb3JlOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotc3RhdGljIGNvbnN0IHN0
ZDo6Y2hyb25vOjpzZWNvbmRzIHN3aXBlU25hcHNob3RSZW1vdmFsV2F0Y2hkb2dBZnRlckZpcnN0
VmlzdWFsbHlOb25FbXB0eUxheW91dER1cmF0aW9uID0gM3M7Ci1zdGF0aWMgY29uc3QgU2Vjb25k
cyBzd2lwZVNuYXBzaG90UmVtb3ZhbEFjdGl2ZUxvYWRNb25pdG9yaW5nSW50ZXJ2YWwgPSAyNTBf
bXM7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBzd2lwZVNuYXBzaG90UmVtb3ZhbFdhdGNoZG9nQWZ0
ZXJGaXJzdFZpc3VhbGx5Tm9uRW1wdHlMYXlvdXREdXJhdGlvbiB7IDNfcyB9Oworc3RhdGljIGNv
bnN0IFNlY29uZHMgc3dpcGVTbmFwc2hvdFJlbW92YWxBY3RpdmVMb2FkTW9uaXRvcmluZ0ludGVy
dmFsIHsgMjUwX21zIH07CiAKICNpZiBQTEFURk9STShNQUMpCi1zdGF0aWMgY29uc3Qgc3RkOjpj
aHJvbm86OnNlY29uZHMgc3dpcGVTbmFwc2hvdFJlbW92YWxXYXRjaGRvZ0R1cmF0aW9uID0gNXM7
CitzdGF0aWMgY29uc3QgU2Vjb25kcyBzd2lwZVNuYXBzaG90UmVtb3ZhbFdhdGNoZG9nRHVyYXRp
b24gPSA1X3M7CiAjZWxzZQotc3RhdGljIGNvbnN0IHN0ZDo6Y2hyb25vOjpzZWNvbmRzIHN3aXBl
U25hcHNob3RSZW1vdmFsV2F0Y2hkb2dEdXJhdGlvbiA9IDNzOworc3RhdGljIGNvbnN0IFNlY29u
ZHMgc3dpcGVTbmFwc2hvdFJlbW92YWxXYXRjaGRvZ0R1cmF0aW9uID0gM19zOwogI2VuZGlmCiAK
IHN0YXRpYyBIYXNoTWFwPHVpbnQ2NF90LCBWaWV3R2VzdHVyZUNvbnRyb2xsZXIqPiYgdmlld0dl
c3R1cmVDb250cm9sbGVyc0ZvckFsbFBhZ2VzKCkKQEAgLTI5NywxMCArMjk3LDEwIEBAIHZvaWQg
Vmlld0dlc3R1cmVDb250cm9sbGVyOjpTbmFwc2hvdFJlbW92YWxUcmFja2VyOjp3YXRjaGRvZ1Rp
bWVyRmlyZWQoKQogICAgIGZpcmVSZW1vdmFsQ2FsbGJhY2tJbW1lZGlhdGVseSgpOwogfQogCi12
b2lkIFZpZXdHZXN0dXJlQ29udHJvbGxlcjo6U25hcHNob3RSZW1vdmFsVHJhY2tlcjo6c3RhcnRX
YXRjaGRvZyhzdGQ6OmNocm9ubzo6c2Vjb25kcyBkdXJhdGlvbikKK3ZvaWQgVmlld0dlc3R1cmVD
b250cm9sbGVyOjpTbmFwc2hvdFJlbW92YWxUcmFja2VyOjpzdGFydFdhdGNoZG9nKFNlY29uZHMg
ZHVyYXRpb24pCiB7Ci0gICAgbG9nKFN0cmluZzo6Zm9ybWF0KCIocmUpc3RhcnRlZCB3YXRjaGRv
ZyB0aW1lciBmb3IgJWxsZCBzZWNvbmRzIiwgZHVyYXRpb24uY291bnQoKSkpOwotICAgIG1fd2F0
Y2hkb2dUaW1lci5zdGFydE9uZVNob3QoZHVyYXRpb24uY291bnQoKSk7CisgICAgbG9nKFN0cmlu
Zzo6Zm9ybWF0KCIocmUpc3RhcnRlZCB3YXRjaGRvZyB0aW1lciBmb3IgJS4xZiBzZWNvbmRzIiwg
ZHVyYXRpb24uc2Vjb25kcygpKSk7CisgICAgbV93YXRjaGRvZ1RpbWVyLnN0YXJ0T25lU2hvdChk
dXJhdGlvbik7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5oIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5oCmluZGV4IDFi
ZTU5YmM1M2RmMDRmMDY1ODVjYmNlMGJhY2JmMGRjMmY4NjE1OWIuLmYxOTNlNzgzMzNmNjllZmEz
ZjhiNmE3YmYwOWM5ZDdkMDkwNWIxNDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9Db2NvYS9WaWV3R2VzdHVyZUNvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQ29jb2EvVmlld0dlc3R1cmVDb250cm9sbGVyLmgKQEAgLTE1OSw3ICsxNTksNyBA
QCBwcml2YXRlOgogICAgICAgICBib29sIGV2ZW50T2NjdXJyZWQoRXZlbnRzKTsKICAgICAgICAg
Ym9vbCBjYW5jZWxPdXRzdGFuZGluZ0V2ZW50KEV2ZW50cyk7CiAKLSAgICAgICAgdm9pZCBzdGFy
dFdhdGNoZG9nKHN0ZDo6Y2hyb25vOjpzZWNvbmRzKTsKKyAgICAgICAgdm9pZCBzdGFydFdhdGNo
ZG9nKFNlY29uZHMpOwogCiAgICAgcHJpdmF0ZToKICAgICAgICAgc3RhdGljIFN0cmluZyBldmVu
dHNEZXNjcmlwdGlvbihFdmVudHMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0RyYXdpbmdBcmVhUHJveHlJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9E
cmF3aW5nQXJlYVByb3h5SW1wbC5jcHAKaW5kZXggOWE5N2IzZmJlMjU4ZmM1NDIxMTliNWM2ODJh
N2ExNjY4ZDllNjBhNS4uMDliYTMwYjQ4M2QwZmM4NmYxODAxNDc5MGI2NjNhYzNkYmYyZWM2NCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHlJbXBs
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eUltcGwu
Y3BwCkBAIC0xODcsNyArMTg3LDcgQEAgdm9pZCBEcmF3aW5nQXJlYVByb3h5SW1wbDo6ZGlzY2Fy
ZEJhY2tpbmdTdG9yZVNvb24oKQogCiAgICAgLy8gV2UnbGwgd2FpdCB0aGlzIG1hbnkgc2Vjb25k
cyBhZnRlciB0aGUgbGFzdCBwYWludCBiZWZvcmUgdGhyb3dpbmcgYXdheSBvdXIgYmFja2luZyBz
dG9yZSB0byBzYXZlIG1lbW9yeS4KICAgICAvLyBGSVhNRTogSXQgd291bGQgYmUgc21hcnRlciB0
byBtYWtlIHRoaXMgZGVsYXkgYmFzZWQgb24gaG93IGV4cGVuc2l2ZSBwYWludGluZyBpcy4gU2Vl
IDxodHRwOi8vd2Via2l0Lm9yZy9iLzU1NzMzPi4KLSAgICBzdGF0aWMgY29uc3QgZG91YmxlIGRp
c2NhcmRCYWNraW5nU3RvcmVEZWxheSA9IDI7CisgICAgc3RhdGljIGNvbnN0IFNlY29uZHMgZGlz
Y2FyZEJhY2tpbmdTdG9yZURlbGF5ID0gMl9zOwogCiAgICAgbV9kaXNjYXJkQmFja2luZ1N0b3Jl
VGltZXIuc3RhcnRPbmVTaG90KGRpc2NhcmRCYWNraW5nU3RvcmVEZWxheSk7CiB9CkBAIC0yMjgs
NyArMjI4LDcgQEAgdm9pZCBEcmF3aW5nQXJlYVByb3h5SW1wbDo6RHJhd2luZ01vbml0b3I6OnN0
YXJ0KHN0ZDo6ZnVuY3Rpb248dm9pZCAoQ2FsbGJhY2tCYXMKICAgICBtX2NhbGxiYWNrID0gY2Fs
bGJhY2s7CiAjaWYgUExBVEZPUk0oR1RLKQogICAgIGdfc2lnbmFsX2Nvbm5lY3Rfc3dhcHBlZCht
X3dlYlBhZ2Uudmlld1dpZGdldCgpLCAiZHJhdyIsIHJlaW50ZXJwcmV0X2Nhc3Q8R0NhbGxiYWNr
Pih3ZWJWaWV3RHJhd0NhbGxiYWNrKSwgdGhpcyk7Ci0gICAgbV90aW1lci5zdGFydE9uZVNob3Qo
MSk7CisgICAgbV90aW1lci5zdGFydE9uZVNob3QoMV9zKTsKICNlbHNlCiAgICAgbV90aW1lci5z
dGFydE9uZVNob3QoMF9zKTsKICNlbmRpZgpAQCAtMjU1LDcgKzI1NSw3IEBAIHZvaWQgRHJhd2lu
Z0FyZWFQcm94eUltcGw6OkRyYXdpbmdNb25pdG9yOjpkaWREcmF3KCkKICAgICBpZiAobW9ub3Rv
bmljYWxseUluY3JlYXNpbmdUaW1lTVMoKSAtIG1fc3RhcnRUaW1lID4gMTAwMCkKICAgICAgICAg
c3RvcCgpOwogICAgIGVsc2UKLSAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMC4xMDApOwor
ICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgxMDBfbXMpOwogfQogCiB2b2lkIERyYXdpbmdB
cmVhUHJveHlJbXBsOjpkaXNwYXRjaEFmdGVyRW5zdXJpbmdEcmF3aW5nKHN0ZDo6ZnVuY3Rpb248
dm9pZChDYWxsYmFja0Jhc2U6OkVycm9yKT4gY2FsbGJhY2tGdW5jdGlvbikKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9HYW1lcGFkL1VJR2FtZXBhZFByb3ZpZGVyLmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9HYW1lcGFkL1VJR2FtZXBhZFByb3ZpZGVyLmNwcApp
bmRleCA2NTdjNDE2ZjkwNmU1ZDA0MzkwMWZjM2U4MjQ0YjRkODc2MjY4MTBmLi4wYmVlNzU0ODM2
MWFkNTc1NDNkYmIwNzE4YjdiZTU3NGZhNGU2YWE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvR2FtZXBhZC9VSUdhbWVwYWRQcm92aWRlci5jcHAKKysrIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0dhbWVwYWQvVUlHYW1lcGFkUHJvdmlkZXIuY3BwCkBAIC0zOSw3ICsz
OSw3IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAot
c3RhdGljIGNvbnN0IGRvdWJsZSBtYXhpbXVtR2FtZXBhZFVwZGF0ZUludGVydmFsID0gMSAvIDEy
MC4wOworc3RhdGljIGNvbnN0IFNlY29uZHMgbWF4aW11bUdhbWVwYWRVcGRhdGVJbnRlcnZhbCB7
IDFfcyAvIDEyMC4gfTsKIAogVUlHYW1lcGFkUHJvdmlkZXImIFVJR2FtZXBhZFByb3ZpZGVyOjpz
aW5nbGV0b24oKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdp
bnMvUGx1Z2luUHJvY2Vzc1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVn
aW5zL1BsdWdpblByb2Nlc3NQcm94eS5jcHAKaW5kZXggNWZmNTFiNTA5ZTg2ZjJiNTI0MjQwMjVj
ODI1Y2VmYmExMTNlYTJjMS4uYmFjZDczZTU0MDM0MGE0NDI2ZDYwZTkwZWNhNzk3MWJhNWIwZGE3
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJv
Y2Vzc1Byb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVn
aW5Qcm9jZXNzUHJveHkuY3BwCkBAIC00NiwxMSArNDYsMTEgQEAgdXNpbmcgbmFtZXNwYWNlIFdl
YkNvcmU7CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi1zdGF0aWMgY29uc3QgZG91YmxlIG1pbmlt
dW1MaWZldGltZSA9IDIgKiA2MDsKLXN0YXRpYyBjb25zdCBkb3VibGUgc25hcHNob3R0aW5nTWlu
aW11bUxpZmV0aW1lID0gMzA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBtaW5pbXVtTGlmZXRpbWUg
eyAyX21pbiB9Oworc3RhdGljIGNvbnN0IFNlY29uZHMgc25hcHNob3R0aW5nTWluaW11bUxpZmV0
aW1lIHsgMzBfcyB9OwogCi1zdGF0aWMgY29uc3QgZG91YmxlIHNodXRkb3duVGltZW91dCA9IDEg
KiA2MDsKLXN0YXRpYyBjb25zdCBkb3VibGUgc25hcHNob3R0aW5nU2h1dGRvd25UaW1lb3V0ID0g
MTU7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBzaHV0ZG93blRpbWVvdXQgeyAxX21pbiB9Oworc3Rh
dGljIGNvbnN0IFNlY29uZHMgc25hcHNob3R0aW5nU2h1dGRvd25UaW1lb3V0IHsgMTVfcyB9Owog
CiBzdGF0aWMgdWludDY0X3QgZ2VuZXJhdGVDYWxsYmFja0lEKCkKIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Qcm9jZXNzVGhyb3R0bGVyLmNwcCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9Qcm9jZXNzVGhyb3R0bGVyLmNwcAppbmRleCA3N2IwYjhjNzFmODhmOGJj
MjA0OTAyYmY0NmEyNmMzNDg1YTM3NTFmLi4wOTM4NjNjMTFjZDY3MDQ3YzFjZTNlMjBjNzk5YzM2
NmVkNzg1YTQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUHJvY2Vzc1Ro
cm90dGxlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Byb2Nlc3NUaHJvdHRs
ZXIuY3BwCkBAIC0zMSw3ICszMSw3IEBACiAKIG5hbWVzcGFjZSBXZWJLaXQgewogICAgIAotc3Rh
dGljIGNvbnN0IHVuc2lnbmVkIHByb2Nlc3NTdXNwZW5zaW9uVGltZW91dCA9IDMwOworc3RhdGlj
IGNvbnN0IFNlY29uZHMgcHJvY2Vzc1N1c3BlbnNpb25UaW1lb3V0IHsgMzBfcyB9OwogICAgIAog
UHJvY2Vzc1Rocm90dGxlcjo6UHJvY2Vzc1Rocm90dGxlcihQcm9jZXNzVGhyb3R0bGVyQ2xpZW50
JiBwcm9jZXNzKQogICAgIDogbV9wcm9jZXNzKHByb2Nlc3MpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvUmVzcG9uc2l2ZW5lc3NUaW1lci5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvUmVzcG9uc2l2ZW5lc3NUaW1lci5jcHAKaW5kZXggZmViNDY5ZjA4NDJiNWFl
NjliMzZmMGZjZmQ2ODYxYzQwNjdlZWYyYi4uOWFlNWZkMWM3MTEwMzk0OTcxNjMwNWM5ZDkyYmJk
ZjUyNDY3NWYxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Jlc3BvbnNp
dmVuZXNzVGltZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9SZXNwb25zaXZl
bmVzc1RpbWVyLmNwcApAQCAtMjgsNyArMjgsNyBAQAogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAot
c3RhdGljIGNvbnN0IGRvdWJsZSByZXNwb25zaXZlbmVzc1RpbWVvdXQgPSAzOworc3RhdGljIGNv
bnN0IFNlY29uZHMgcmVzcG9uc2l2ZW5lc3NUaW1lb3V0IHsgM19zIH07CiAKIFJlc3BvbnNpdmVu
ZXNzVGltZXI6OlJlc3BvbnNpdmVuZXNzVGltZXIoUmVzcG9uc2l2ZW5lc3NUaW1lcjo6Q2xpZW50
JiBjbGllbnQpCiAgICAgOiBtX2NsaWVudChjbGllbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYlByb2Nlc3NQb29sLmNwcAppbmRleCAxZGQ3YWUyNDNiZjU5NmRmMjMwMDNiM2E2Mzhk
YTMyYTk0NDJjM2NhLi5lZmU0NmY1NjcwNDM2Y2U2YzQ2Njk3YzgwZjdhZWM2OGE2ZTg4NzY5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKQEAgLTY4OSw3
ICs2ODksNyBAQCBXZWJQcm9jZXNzUHJveHkmIFdlYlByb2Nlc3NQb29sOjpjcmVhdGVOZXdXZWJQ
cm9jZXNzKFdlYnNpdGVEYXRhU3RvcmUqIHdlYnNpdGVEYQogCiAgICAgcGFyYW1ldGVycy5pY29u
RGF0YWJhc2VFbmFibGVkID0gIWljb25EYXRhYmFzZVBhdGgoKS5pc0VtcHR5KCk7CiAKLSAgICBw
YXJhbWV0ZXJzLnRlcm1pbmF0aW9uVGltZW91dCA9IDA7CisgICAgcGFyYW1ldGVycy50ZXJtaW5h
dGlvblRpbWVvdXQgPSAwX3M7CiAKICAgICBwYXJhbWV0ZXJzLnRleHRDaGVja2VyU3RhdGUgPSBU
ZXh0Q2hlY2tlcjo6c3RhdGUoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL2d0ay9HZXN0dXJlQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
Z3RrL0dlc3R1cmVDb250cm9sbGVyLmNwcAppbmRleCAwNTU2ZWE3YzRmNmY5OThjODdmYTJlMjNj
ZTMwNzc3NGMxMWRiNDc2Li5hMzczNDI5YzFjNWMyNzgxM2VkZTUxMTk1MGY5ZWEyMjQ0MWZjMzI5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL0dlc3R1cmVDb250cm9s
bGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL0dlc3R1cmVDb250cm9s
bGVyLmNwcApAQCAtMTI3LDcgKzEyNyw3IEBAIHZvaWQgR2VzdHVyZUNvbnRyb2xsZXI6OkRyYWdH
ZXN0dXJlOjpiZWdpbihEcmFnR2VzdHVyZSogZHJhZ0dlc3R1cmUsIGRvdWJsZSB4LCBkCiAgICAg
R3RrV2lkZ2V0KiB3aWRnZXQgPSBndGtfZXZlbnRfY29udHJvbGxlcl9nZXRfd2lkZ2V0KEdUS19F
VkVOVF9DT05UUk9MTEVSKGdlc3R1cmUpKTsKICAgICB1bnNpZ25lZCBkZWxheTsKICAgICBnX29i
amVjdF9nZXQoZ3RrX3dpZGdldF9nZXRfc2V0dGluZ3Mod2lkZ2V0KSwgImd0ay1sb25nLXByZXNz
LXRpbWUiLCAmZGVsYXksIG51bGxwdHIpOwotICAgIGRyYWdHZXN0dXJlLT5tX2xvbmdQcmVzc1Rp
bWVvdXQuc3RhcnRPbmVTaG90KGRlbGF5IC8gMTAwMC4wKTsKKyAgICBkcmFnR2VzdHVyZS0+bV9s
b25nUHJlc3NUaW1lb3V0LnN0YXJ0T25lU2hvdCgxX21zICogZGVsYXkpOwogfQogCiB2b2lkIEdl
c3R1cmVDb250cm9sbGVyOjpEcmFnR2VzdHVyZTo6dXBkYXRlKERyYWdHZXN0dXJlKiBkcmFnR2Vz
dHVyZSwgZG91YmxlIHgsIGRvdWJsZSB5LCBHdGtHZXN0dXJlKiBnZXN0dXJlKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XZWJJbnNwZWN0b3JQcm94eU1hYy5tbSBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV2ViSW5zcGVjdG9yUHJveHlNYWMubW0KaW5k
ZXggZGJkNDA0MmQzN2RlNDdkYzRhYmVjNjljOTJlNzQwYmMwMmQwN2EwYS4uMmM0NTdjN2E4ZDg3
ZWM3OTVhN2QyODRmODg0MWQ3NzM4MjkzZjJhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL21hYy9XZWJJbnNwZWN0b3JQcm94eU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvbWFjL1dlYkluc3BlY3RvclByb3h5TWFjLm1tCkBAIC01Miw3ICs1Miw3IEBA
IHN0YXRpYyBjb25zdCBOU1VJbnRlZ2VyIHdpbmRvd1N0eWxlTWFzayA9IE5TV2luZG93U3R5bGVN
YXNrVGl0bGVkIHwgTlNXaW5kb3dTdHlsCiAKIC8vIFRoZSB0aW1lIHdlIGtlZXAgb3VyIFdlYlZp
ZXcgYWxpdmUgYmVmb3JlIGNsb3NpbmcgaXQgYW5kIGl0cyBwcm9jZXNzLgogLy8gUmV1c2luZyB0
aGUgV2ViVmlldyBpbXByb3ZlcyBzdGFydCB1cCB0aW1lIGZvciBwZW9wbGUgdGhhdCBqdW1wIGlu
IGFuZCBvdXQgb2YgdGhlIEluc3BlY3Rvci4KLXN0YXRpYyBjb25zdCB1bnNpZ25lZCB3ZWJWaWV3
Q2xvc2VUaW1lb3V0ID0gNjA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyB3ZWJWaWV3Q2xvc2VUaW1l
b3V0IHsgMV9taW4gfTsKIAogLy8gV0tXZWJJbnNwZWN0b3JQcm94eU9iakNBZGFwdGVyIGlzIGEg
aGVscGVyIE9iakMgb2JqZWN0IHVzZWQgYXMgYSBkZWxlZ2F0ZSBvciBub3RpZmljYXRpb24gb2Jz
ZXJ2ZXIKIC8vIGZvciB0aGUgc29sZSBwdXJwb3NlIG9mIGdldHRpbmcgYmFjayBpbnRvIHRoZSBD
KysgY29kZSBmcm9tIGFuIE9iakMgY2FsbGVyLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL0FjY2VsZXJhdGVkRHJhd2luZ0FyZWEuY3BwIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0FjY2VsZXJhdGVkRHJhd2luZ0FyZWEuY3BwCmluZGV4
IGY0MjgyMTBmYmFmYWIzMGQxODNiZWE4YTYyMWY3YzIwMzQ5NDQ4ZTUuLmUzYzU4Yzg2MDk2MGYw
YmEyZWU5ZTgwN2E4YTI3NThjZGE1YzA1MDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9BY2NlbGVyYXRlZERyYXdpbmdBcmVhLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQWNjZWxlcmF0ZWREcmF3aW5nQXJlYS5jcHAKQEAg
LTM4NCw3ICszODQsNyBAQCB2b2lkIEFjY2VsZXJhdGVkRHJhd2luZ0FyZWE6OmV4aXRBY2NlbGVy
YXRlZENvbXBvc2l0aW5nTW9kZU5vdygpCiAgICAgbV9wcmV2aW91c0xheWVyVHJlZUhvc3QtPnNl
dElzRGlzY2FyZGFibGUodHJ1ZSk7CiAgICAgbV9wcmV2aW91c0xheWVyVHJlZUhvc3QtPnBhdXNl
UmVuZGVyaW5nKCk7CiAgICAgbV9wcmV2aW91c0xheWVyVHJlZUhvc3QtPnNldExheWVyRmx1c2hT
Y2hlZHVsaW5nRW5hYmxlZChmYWxzZSk7Ci0gICAgbV9kaXNjYXJkUHJldmlvdXNMYXllclRyZWVI
b3N0VGltZXIuc3RhcnRPbmVTaG90KDUpOworICAgIG1fZGlzY2FyZFByZXZpb3VzTGF5ZXJUcmVl
SG9zdFRpbWVyLnN0YXJ0T25lU2hvdCg1X3MpOwogI2Vsc2UKICAgICBtX2xheWVyVHJlZUhvc3Qg
PSBudWxscHRyOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3QuY3Bw
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3Mv
Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0LmNwcAppbmRleCBhMTQxMDQzNDlkYzgxYzk2ZmY3OGVi
NGUzMTVjZGYzNmFiMmU2OWQ3Li5iOGI5MzYwNzNjNzc4NjI2MjA5YWJlNzk5ODEzYmViYzhjNjJi
ODJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRp
bmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3QuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVk
TGF5ZXJUcmVlSG9zdC5jcHAKQEAgLTIzNCw3ICsyMzQsNyBAQCB2b2lkIENvb3JkaW5hdGVkTGF5
ZXJUcmVlSG9zdDo6c2NoZWR1bGVBbmltYXRpb24oKQogICAgICAgICByZXR1cm47CiAKICAgICBz
Y2hlZHVsZUxheWVyRmx1c2goKTsKLSAgICBtX2xheWVyRmx1c2hUaW1lci5zdGFydE9uZVNob3Qo
bV9jb29yZGluYXRvci5uZXh0QW5pbWF0aW9uU2VydmljZVRpbWUoKSk7CisgICAgbV9sYXllckZs
dXNoVGltZXIuc3RhcnRPbmVTaG90KDFfcyAqIG1fY29vcmRpbmF0b3IubmV4dEFuaW1hdGlvblNl
cnZpY2VUaW1lKCkpOwogfQogCiB2b2lkIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6Y29tbWl0
U2Nyb2xsT2Zmc2V0KHVpbnQzMl90IGxheWVySUQsIGNvbnN0IFdlYkNvcmU6OkludFNpemUmIG9m
ZnNldCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApp
bmRleCAyNWUxYTUzZWJkMGY0YzgwMTBkMGUyMWFiOWZjOTA2NWEwZWIyMzI2Li5mMzA4ZDMwN2M4
NmYyZWY3MmEyMmE0ODU1YmY3ZGQ0YmE2YWM5ZTZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC01MzMzLDcgKzUzMzMsNyBAQCBzdGF0aWMg
Y29uc3QgZmxvYXQgcHJpbWFyeVNuYXBzaG90dGVkUGx1Z0luU2VhcmNoQnVja2V0U2l6ZSA9IDEu
MTsKIHN0YXRpYyBjb25zdCBpbnQgcHJpbWFyeVNuYXBzaG90dGVkUGx1Z0luTWluaW11bVdpZHRo
ID0gNDAwOwogc3RhdGljIGNvbnN0IGludCBwcmltYXJ5U25hcHNob3R0ZWRQbHVnSW5NaW5pbXVt
SGVpZ2h0ID0gMzAwOwogc3RhdGljIGNvbnN0IHVuc2lnbmVkIG1heFByaW1hcnlTbmFwc2hvdHRl
ZFBsdWdJbkRldGVjdGlvbkF0dGVtcHRzID0gMjsKLXN0YXRpYyBjb25zdCBpbnQgZGVmZXJyZWRQ
cmltYXJ5U25hcHNob3R0ZWRQbHVnSW5EZXRlY3Rpb25EZWxheSA9IDM7CitzdGF0aWMgY29uc3Qg
U2Vjb25kcyBkZWZlcnJlZFByaW1hcnlTbmFwc2hvdHRlZFBsdWdJbkRldGVjdGlvbkRlbGF5ID0g
M19zOwogc3RhdGljIGNvbnN0IGZsb2F0IG92ZXJsYXBwaW5nSW1hZ2VCb3VuZHNTY2FsZSA9IDEu
MTsKIHN0YXRpYyBjb25zdCBmbG9hdCBtaW5pbXVtT3ZlcmxhcHBpbmdJbWFnZVRvUGx1Z2luRGlt
ZW5zaW9uU2NhbGUgPSAuOTsKIApAQCAtNTQ0MSw3ICs1NDQxLDcgQEAgdm9pZCBXZWJQYWdlOjpk
ZXRlcm1pbmVQcmltYXJ5U25hcHNob3R0ZWRQbHVnSW4oKQogICAgIGlmICghY2FuZGlkYXRlUGx1
Z0luKSB7CiAgICAgICAgIExPRyhQbHVnaW5zLCAiUHJpbWFyeSBQbHVnLUluIERldGVjdGlvbjog
ZmFpbCAtIGRpZCBub3QgZmluZCBhIGNhbmRpZGF0ZSBwbHVnLWluLiIpOwogICAgICAgICBpZiAo
bV9udW1iZXJPZlByaW1hcnlTbmFwc2hvdERldGVjdGlvbkF0dGVtcHRzIDwgbWF4UHJpbWFyeVNu
YXBzaG90dGVkUGx1Z0luRGV0ZWN0aW9uQXR0ZW1wdHMpIHsKLSAgICAgICAgICAgIExPRyhQbHVn
aW5zLCAiUHJpbWFyeSBQbHVnLUluIERldGVjdGlvbjogd2lsbCBhdHRlbXB0IGFnYWluIGluICVk
cy4iLCBkZWZlcnJlZFByaW1hcnlTbmFwc2hvdHRlZFBsdWdJbkRldGVjdGlvbkRlbGF5KTsKKyAg
ICAgICAgICAgIExPRyhQbHVnaW5zLCAiUHJpbWFyeSBQbHVnLUluIERldGVjdGlvbjogd2lsbCBh
dHRlbXB0IGFnYWluIGluICUuMWYgcy4iLCBkZWZlcnJlZFByaW1hcnlTbmFwc2hvdHRlZFBsdWdJ
bkRldGVjdGlvbkRlbGF5LnZhbHVlKCkpOwogICAgICAgICAgICAgbV9kZXRlcm1pbmVQcmltYXJ5
U25hcHNob3R0ZWRQbHVnSW5UaW1lci5zdGFydE9uZVNob3QoZGVmZXJyZWRQcmltYXJ5U25hcHNo
b3R0ZWRQbHVnSW5EZXRlY3Rpb25EZWxheSk7CiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKaW5kZXggZjEzYmNhMGRjNzMz
ZDA5ZTAxNDNhOTkwYTRkNDdhZjRhYjRlODk0OC4uNWI5NWM3OTQxNTNhNGJhYWIyMjc2MmE2OTQ2
NjM5YTEzYWQ5YmM1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
cm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3Bw
CkBAIC0xNDMsNyArMTQzLDcgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiBzdGF0aWMgY29u
c3QgZG91YmxlIHBsdWdJbkF1dG9TdGFydEV4cGlyYXRpb25UaW1lVXBkYXRlVGhyZXNob2xkID0g
MjkgKiAyNCAqIDYwICogNjA7CiAKIC8vIFRoaXMgc2hvdWxkIGJlIGdyZWF0ZXIgdGhhbiB0aWxl
UmV2YWxpZGF0aW9uVGltZW91dCBpbiBUaWxlQ29udHJvbGxlci4KLXN0YXRpYyBjb25zdCBkb3Vi
bGUgbm9uVmlzaWJsZVByb2Nlc3NDbGVhbnVwRGVsYXkgPSAxMDsKK3N0YXRpYyBjb25zdCBTZWNv
bmRzIG5vblZpc2libGVQcm9jZXNzQ2xlYW51cERlbGF5IHsgMTBfcyB9OwogCiBuYW1lc3BhY2Ug
V2ViS2l0IHsKIApkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9n
CmluZGV4IDYzYjNmNTViNzA1ZTk0OGYzMDU5MTY1YzczZGZhM2MyYmE0Njk0OTQuLjQ1ZWEwYzNk
NGQ2YTk1M2JlNGQzYTFjNWYxOGY0ZGVhOGZkMWYxNmEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5n
ZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsNSArMSwxOSBAQAogMjAxNy0wNC0wOSAg
Q2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCisgICAgICAgIERyb3AgVGltZXI6OnN0
YXJ0T25lU2hvdCgpIG92ZXJsb2FkIHRha2luZyBhIGRvdWJsZQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcwNjU5CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRHJvcCBUaW1lcjo6c3RhcnRPbmVTaG90KCkg
b3ZlcmxvYWQgdGFraW5nIGEgZG91YmxlIGFzIHBlb3BsZSBzaG91bGQgdXNlIFNlY29uZHMgdHlw
ZSBub3cuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9SdW5Mb29wLmNwcDoK
KyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5u
ZXIvSW5qZWN0ZWRCdW5kbGUvZ3RrL1Rlc3RSdW5uZXJHdGsuY3BwOgorICAgICAgICAoV1RSOjpU
ZXN0UnVubmVyOjppbml0aWFsaXplV2FpdFRvRHVtcFdhdGNoZG9nVGltZXJJZk5lZWRlZCk6CisK
KzIwMTctMDQtMDkgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKwogICAgICAgICBE
cm9wIFRpbWVyOjpzdGFydFJlcGVhdGluZygpIG92ZXJsb2FkIHRha2luZyBhIGRvdWJsZQogICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcwNjU2CiAKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1J1bkxvb3AuY3BwIGIvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvUnVuTG9vcC5jcHAKaW5kZXggZDFkZTAzMWEwOGEw
NzUxNGRmY2RmMDdhNWU1ZWU0YTM2YTMwNzczMC4uOTNiM2Q4YzI4ZjMyMDgxNzZjZDNiYzUyYjdm
OWUzZDYxNGEwNzkxNyAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYv
UnVuTG9vcC5jcHAKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvUnVuTG9vcC5j
cHAKQEAgLTk1LDcgKzk1LDcgQEAgVEVTVChXVEZfUnVuTG9vcCwgT25lU2hvdFRpbWVyKQogCiAg
ICAgewogICAgICAgICBEZXJpdmVkVGltZXIgdGltZXIodGVzdEZpbmlzaGVkKTsKLSAgICAgICAg
dGltZXIuc3RhcnRPbmVTaG90KDAuMSk7CisgICAgICAgIHRpbWVyLnN0YXJ0T25lU2hvdCgxMDBf
bXMpOwogICAgICAgICBVdGlsOjpydW4oJnRlc3RGaW5pc2hlZCk7CiAgICAgfQogfQpkaWZmIC0t
Z2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9ndGsvVGVzdFJ1bm5l
ckd0ay5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2d0ay9UZXN0
UnVubmVyR3RrLmNwcAppbmRleCBhOWY3ZjQwOWMwOWJmOTgzZDRhNzRiODNkZjNhOTFlNmRiNTlm
MjdlLi5iOWFjY2NjNmM4Nzg0ZWM4ZThkOGMxNWFmMzcyZWZkMWJlZDM1ZWY1IDEwMDY0NAotLS0g
YS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2d0ay9UZXN0UnVubmVyR3Rr
LmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2d0ay9UZXN0
UnVubmVyR3RrLmNwcApAQCAtNDgsNyArNDgsNyBAQCB2b2lkIFRlc3RSdW5uZXI6OmluaXRpYWxp
emVXYWl0VG9EdW1wV2F0Y2hkb2dUaW1lcklmTmVlZGVkKCkKICAgICBpZiAobV93YWl0VG9EdW1w
V2F0Y2hkb2dUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX3dhaXRU
b0R1bXBXYXRjaGRvZ1RpbWVyLnN0YXJ0T25lU2hvdChtX3RpbWVvdXQgLyAxMDAwLjApOworICAg
IG1fd2FpdFRvRHVtcFdhdGNoZG9nVGltZXIuc3RhcnRPbmVTaG90KDFfbXMgKiBtX3RpbWVvdXQp
OwogfQogCiBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gVGVzdFJ1bm5lcjo6cGF0aFRvTG9jYWxS
ZXNvdXJjZShKU1N0cmluZ1JlZiB1cmwpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>306656</attachid>
            <date>2017-04-09 22:38:27 -0700</date>
            <delta_ts>2017-04-09 22:44:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-170659-20170409223811.patch</filename>
            <type>text/plain</type>
            <size>150528</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE1MTY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjU2NmE5MGMzMjEyZGMz
MzAyMmE2MGViZWU2NDU1ODA1NTQ2ZGRiYy4uNWRmYTg3ZjkzZGZjMWJhNDljN2Y3ZGFmMWZkMzMx
MmEwN2E1YmRiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4MyBAQAorMjAxNy0wNC0wOSAgQ2hy
aXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIERyb3AgVGltZXI6OnN0YXJ0
T25lU2hvdCgpIG92ZXJsb2FkIHRha2luZyBhIGRvdWJsZQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcwNjU5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRHJvcCBUaW1lcjo6c3RhcnRPbmVTaG90KCkgb3Zl
cmxvYWQgdGFraW5nIGEgZG91YmxlIGFzIHBlb3BsZSBzaG91bGQgdXNlIFNlY29uZHMgdHlwZSBu
b3cuCisKKyAgICAgICAgKiBNb2R1bGVzL2dlb2xvY2F0aW9uL0dlb05vdGlmaWVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6Okdlb05vdGlmaWVyOjpzdGFydFRpbWVySWZOZWVkZWQpOgorICAgICAg
ICAqIE1vZHVsZXMvbWVkaWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6V2ViTWVkaWFTZXNzaW9uTWFuYWdlcjo6Y29uZmlndXJlV2F0Y2hkb2dU
aW1lcik6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXNlc3Npb24vV2ViTWVkaWFTZXNzaW9uTWFu
YWdlci5oOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vQ2FudmFzQ2FwdHVyZU1lZGlh
U3RyZWFtVHJhY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFzQ2FwdHVyZU1lZGlhU3Ry
ZWFtVHJhY2s6OlNvdXJjZTo6Y2FudmFzQ2hhbmdlZCk6CisgICAgICAgICogTW9kdWxlcy92aWJy
YXRpb24vVmlicmF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlZpYnJhdGlvbjo6dGltZXJG
aXJlZCk6CisgICAgICAgICogTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6V2ViU29ja2V0Q2hhbm5lbDo6Y2xvc2UpOgorICAgICAgICAq
IGFjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBWE9i
amVjdENhY2hlOjplbnF1ZXVlUGFzc3dvcmRWYWx1ZUNoYW5nZU5vdGlmaWNhdGlvbik6CisgICAg
ICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpwb3N0TGl2ZVJlZ2lvbkNoYW5nZU5vdGlmaWNh
dGlvbik6CisgICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpmb2N1c0FyaWFNb2RhbE5v
ZGUpOgorICAgICAgICAqIGNzcy9DU1NGb250RmFjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpD
U1NGb250RmFjZTo6c2V0U3RhdHVzKToKKyAgICAgICAgKiBjc3MvU3R5bGVSZXNvbHZlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJlc29sdmVyOjphZGRUb01hdGNoZWRQcm9wZXJ0aWVz
Q2FjaGUpOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpE
b2N1bWVudDo6c2V0VmlzdWFsVXBkYXRlc0FsbG93ZWQpOgorICAgICAgICAoV2ViQ29yZTo6RG9j
dW1lbnQ6OmZpbmlzaGVkUGFyc2luZyk6CisgICAgICAgICogZG9tL1NjcmlwdGVkQW5pbWF0aW9u
Q29udHJvbGxlci5jcHA6CisgICAgICAgICogZWRpdGluZy9BbHRlcm5hdGl2ZVRleHRDb250cm9s
bGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFsdGVybmF0aXZlVGV4dENvbnRyb2xsZXI6OnN0
YXJ0QWx0ZXJuYXRpdmVUZXh0VUlUaW1lcik6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVt
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmFkZEJlaGF2aW9y
UmVzdHJpY3Rpb25zT25FbmRJZk5lY2Vzc2FyeSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVk
aWFFbGVtZW50OjpoYW5kbGVTZWVrVG9QbGF5YmFja1Bvc2l0aW9uKToKKyAgICAgICAgKiBodG1s
L1NlYXJjaElucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZWFyY2hJbnB1dFR5cGU6
OnN0YXJ0U2VhcmNoRXZlbnRUaW1lcik6CisgICAgICAgICogaHRtbC9WYWxpZGF0aW9uTWVzc2Fn
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWYWxpZGF0aW9uTWVzc2FnZTo6c2V0TWVzc2FnZURP
TUFuZFN0YXJ0VGltZXIpOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29u
dGV4dEJhc2UuY3BwOgorICAgICAgICAqIGh0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRz
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFBhbmVsRWxlbWVudDo6c3RhcnRU
aW1lcik6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xQYW5lbEVsZW1lbnQ6Om1ha2VU
cmFuc3BhcmVudCk6CisgICAgICAgICogaHRtbC90cmFjay9WVFRSZWdpb24uY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6VlRUUmVnaW9uOjpzdGFydFRpbWVyKToKKyAgICAgICAgKiBpbnNwZWN0b3Iv
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbjo6ZnJhbWVTY2hlZHVsZWROYXZpZ2F0aW9uSW1wbCk6CisgICAgICAg
ICogaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oOgorICAgICAgICAoV2ViQ29y
ZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpmcmFtZVNjaGVkdWxlZE5hdmlnYXRpb24pOgor
ICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SW5zcGVjdG9yUGFnZUFnZW50OjpmcmFtZVNjaGVkdWxlZE5hdmlnYXRpb24pOgorICAg
ICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuaDoKKyAgICAgICAgKiBsb2FkZXIv
TmF2aWdhdGlvblNjaGVkdWxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0aW9uU2No
ZWR1bGVyOjpzdGFydFRpbWVyKToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3Vy
Y2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OmRv
Y3VtZW50RGlkRmluaXNoTG9hZEV2ZW50KToKKyAgICAgICAgKiBsb2FkZXIvaWNvbi9JY29uRGF0
YWJhc2UuY3BwOgorICAgICAgICAqIHBhZ2UvRXZlbnRIYW5kbGVyLmNwcDoKKyAgICAgICAgKiBw
YWdlL0V2ZW50U291cmNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50U291cmNlOjpzY2hl
ZHVsZVJlY29ubmVjdCk6CisgICAgICAgICogcGFnZS9Gb2N1c0NvbnRyb2xsZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Rm9jdXNDb250cm9sbGVyOjpzZXRGb2N1c2VkRWxlbWVudE5lZWRzUmVw
YWludCk6CisgICAgICAgICogcGFnZS9GcmFtZVZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
RnJhbWVWaWV3OjpzY3JvbGxQb3NpdGlvbkNoYW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6RnJh
bWVWaWV3OjplbmFibGVTcGVjdWxhdGl2ZVRpbGluZ0lmTmVlZGVkKToKKyAgICAgICAgKiBwYWdl
L1NldHRpbmdzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpTZXR0aW5ncyk6Cisg
ICAgICAgICogcGFnZS9TZXR0aW5ncy5oOgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OnNl
dFRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKToKKyAgICAgICAg
KFdlYkNvcmU6OlNldHRpbmdzOjp0aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdD
b250cm9scyk6CisgICAgICAgICogcGFnZS9TdXNwZW5kYWJsZVRpbWVyLmg6CisgICAgICAgICog
cGFnZS9hbmltYXRpb24vQ1NTQW5pbWF0aW9uQ29udHJvbGxlci5jcHA6CisgICAgICAgICogcGFn
ZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tOgorICAgICAgICAqIHBhZ2UvbWFjL1RleHRJbmRpY2F0
b3JXaW5kb3cubW06CisgICAgICAgIChXZWJDb3JlOjpUZXh0SW5kaWNhdG9yV2luZG93OjpzZXRU
ZXh0SW5kaWNhdG9yKToKKyAgICAgICAgKiBwbGF0Zm9ybS9IeXN0ZXJlc2lzQWN0aXZpdHkuaDoK
KyAgICAgICAgKFdlYkNvcmU6Okh5c3RlcmVzaXNBY3Rpdml0eTo6c3RvcCk6CisgICAgICAgICog
cGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Omdl
dEFuaW1hdGlvblBhcmFtZXRlcnNGb3JHcmFudWxhcml0eSk6CisgICAgICAgIChXZWJDb3JlOjpT
Y3JvbGxBbmltYXRpb25TbW9vdGg6OnVwZGF0ZVBlckF4aXNEYXRhKToKKyAgICAgICAgKFdlYkNv
cmU6OlNjcm9sbEFuaW1hdGlvblNtb290aDo6YW5pbWF0ZVNjcm9sbCk6CisgICAgICAgIChXZWJD
b3JlOjpTY3JvbGxBbmltYXRpb25TbW9vdGg6OmFuaW1hdGlvblRpbWVyRmlyZWQpOgorICAgICAg
ICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0aW9uU21vb3RoOjpzdGFydE5leHRUaW1lcik6CisgICAg
ICAgICogcGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmg6CisgICAgICAgICogcGxhdGZv
cm0vVGltZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6c3RhcnRSZXBlYXRpbmcp
OgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uOjpzY2hlZHVsZUNsaWVudERhdGFC
dWZmZXJpbmdDaGVjayk6CisgICAgICAgICogcGxhdGZvcm0vY29jb2EvU2Nyb2xsQ29udHJvbGxl
ci5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbENvbnRyb2xsZXI6OnNjaGVkdWxlU3RhdGVs
ZXNzU2Nyb2xsU25hcCk6CisgICAgICAgICogcGxhdGZvcm0vZ2FtZXBhZC9jb2NvYS9HYW1lQ29u
dHJvbGxlckdhbWVwYWRQcm92aWRlci5tbToKKyAgICAgICAgKFdlYkNvcmU6OkdhbWVDb250cm9s
bGVyR2FtZXBhZFByb3ZpZGVyOjpnYW1lcGFkSGFkSW5wdXQpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dhbWVwYWQvbWFjL0hJREdhbWVwYWRQcm92aWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpI
SURHYW1lcGFkUHJvdmlkZXI6Om9wZW5BbmRTY2hlZHVsZU1hbmFnZXIpOgorICAgICAgICAoV2Vi
Q29yZTo6SElER2FtZXBhZFByb3ZpZGVyOjp2YWx1ZXNDaGFuZ2VkKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9nbGliL01haW5UaHJlYWRTaGFyZWRUaW1lckdMaWIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6TWFpblRocmVhZFNoYXJlZFRpbWVyOjpzZXRGaXJlSW50ZXJ2YWwpOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkJpdG1h
cEltYWdlOjpzdGFydFRpbWVyKToKKyAgICAgICAgKFdlYkNvcmU6OkJpdG1hcEltYWdlOjppbnRl
cm5hbFN0YXJ0QW5pbWF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkJpdG1hcEltYWdlOjphZHZh
bmNlQW5pbWF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkJpdG1hcEltYWdlOjpyZXNldEFuaW1h
dGlvbik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuaDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyLmNwcDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9TaGFkb3dCbHVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlNjcmF0Y2hCdWZmZXI6OnNjaGVkdWxlU2NyYXRjaEJ1ZmZlclB1cmdlKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9jYS9MYXllclBvb2wuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
TGF5ZXJQb29sOjpzY2hlZHVsZVBydW5lKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9n
c3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6Y2hhbmdlUGlwZWxpbmVTdGF0ZSk6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0dyYXBoaWNzQ29udGV4dDNETWFjLm1tOgor
ICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0RNYW5hZ2VyOjp1cGRhdGVIaWdoUGVy
Zm9ybWFuY2VTdGF0ZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0JpdG1h
cFRleHR1cmVQb29sLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkJpdG1hcFRleHR1cmVQb29sOjpz
Y2hlZHVsZVJlbGVhc2VVbnVzZWRUZXh0dXJlcyk6CisgICAgICAgIChXZWJDb3JlOjpCaXRtYXBU
ZXh0dXJlUG9vbDo6cmVsZWFzZVVudXNlZFRleHR1cmVzVGltZXJGaXJlZCk6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVyUHJveHku
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6VGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXJQcm94eTo6
c2NoZWR1bGVSZWxlYXNlVW51c2VkQnVmZmVycyk6CisgICAgICAgIChXZWJDb3JlOjpUZXh0dXJl
TWFwcGVyUGxhdGZvcm1MYXllclByb3h5OjpyZWxlYXNlVW51c2VkQnVmZmVyc1RpbWVyRmlyZWQp
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGlu
YXRlZEltYWdlQmFja2luZy5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3RrL1Njcm9sbEFuaW1h
dG9yR3RrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdG9yR3RrOjpvdmVybGF5
U2Nyb2xsYmFyQW5pbWF0aW9uVGltZXJGaXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxB
bmltYXRvckd0azo6c2hvd092ZXJsYXlTY3JvbGxiYXJzKToKKyAgICAgICAgKFdlYkNvcmU6OlNj
cm9sbEFuaW1hdG9yR3RrOjpoaWRlT3ZlcmxheVNjcm9sbGJhcnMpOgorICAgICAgICAqIHBsYXRm
b3JtL2d0ay9TY3JvbGxBbmltYXRvckd0ay5oOgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9XZWJW
aWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdC5tbToKKyAgICAgICAgKFdlYlZpZGVvRnVsbHNj
cmVlbkludGVyZmFjZUFWS2l0OjpzaG91bGRFeGl0RnVsbHNjcmVlbldpdGhSZWFzb24pOgorICAg
ICAgICAqIHBsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5tbToKKyAgICAgICAgKFdlYkNv
cmU6OlNjcm9sbEFuaW1hdG9yTWFjOjpzdGFydFNjcm9sbGJhclBhaW50VGltZXIpOgorICAgICAg
ICAqIHBsYXRmb3JtL21vY2svTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlck1vY2suY3BwOgorICAg
ICAgICAqIHBsYXRmb3JtL21vY2svUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1vY2suY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1vY2s6OnNwZWFrKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL1RpbWVyRXZlbnRCYXNlZE1vY2suaDoKKyAgICAgICAg
KFdlYkNvcmU6OlRpbWVyRXZlbnQ6OlRpbWVyRXZlbnQpOgorICAgICAgICAqIHBsYXRmb3JtL25l
dHdvcmsvRE5TUmVzb2x2ZVF1ZXVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkROU1Jlc29sdmVR
dWV1ZTo6YWRkKToKKyAgICAgICAgKFdlYkNvcmU6OkROU1Jlc29sdmVRdWV1ZTo6dGltZXJGaXJl
ZCk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9QaW5nSGFuZGxlLmg6CisgICAgICAgICog
cGxhdGZvcm0vbmV0d29yay9jdXJsL1Jlc291cmNlSGFuZGxlTWFuYWdlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZU1hbmFnZXI6OmRvd25sb2FkVGltZXJDYWxsYmFjayk6
CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZU1hbmFnZXI6OmFkZCk6CisgICAgICAg
IChXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZU1hbmFnZXI6OmNhbmNlbCk6CisgICAgICAgICogcGxh
dGZvcm0vbmV0d29yay9tYWMvTmV0d29ya1N0YXRlTm90aWZpZXJNYWMuY3BwOgorICAgICAgICAq
IHBsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UmVzb3VyY2VIYW5kbGU6OnNlbmRQZW5kaW5nUmVxdWVzdCk6CisgICAgICAgICog
cmVuZGVyaW5nL0ltYWdlUXVhbGl0eUNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SW1hZ2VRdWFsaXR5Q29udHJvbGxlcjo6cmVzdGFydFRpbWVyKToKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
UHJvZ3Jlc3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyUHJvZ3Jlc3M6OlJlbmRlclBy
b2dyZXNzKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyUHJvZ3Jlc3MuaDoKKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZWN1cmVUZXh0
VGltZXI6OnJlc3RhcnQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6YW5pbWF0aW9uUmVwZWF0SW50ZXJ2YWxGb3JQ
cm9ncmVzc0Jhcik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lLmg6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6bWVkaWFDb250cm9sc0ZhZGVPdXREdXJhdGlvbik6Cisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lR3RrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclRoZW1lR3RrOjphbmltYXRpb25SZXBlYXRJbnRlcnZhbEZvclByb2dyZXNzQmFyKToK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVHdGsuaDoKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyVGhlbWVJT1MuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1Mu
bW06CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZUlPUzo6YW5pbWF0aW9uUmVwZWF0SW50
ZXJ2YWxGb3JQcm9ncmVzc0Jhcik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFj
Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1tOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyVGhlbWVNYWM6OmFuaW1hdGlvblJlcGVhdEludGVydmFsRm9yUHJvZ3Jlc3NC
YXIpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVNYWM6OmFuaW1hdGlvbkR1cmF0aW9u
Rm9yUHJvZ3Jlc3NCYXIpOgorICAgICAgICAqIHJlcGxheS9FdmVudExvb3BJbnB1dERpc3BhdGNo
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRMb29wSW5wdXREaXNwYXRjaGVyOjpkaXNw
YXRjaElucHV0U29vbik6CisgICAgICAgICogc3ZnL2FuaW1hdGlvbi9TTUlMVGltZUNvbnRhaW5l
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTTUlMVGltZUNvbnRhaW5lcjo6c3RhcnRUaW1lcik6
CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkludGVybmFsU2V0dGluZ3M6OnNldFRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhp
ZGluZ0NvbnRyb2xzKToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaDoKKyAg
ICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5h
bHM6OnNldEltYWdlRnJhbWVEZWNvZGluZ0R1cmF0aW9uKToKKyAgICAgICAgKiB4bWwvWE1MSHR0
cFJlcXVlc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3Q6OmNyZWF0ZVJl
cXVlc3QpOgorCiAyMDE3LTA0LTA5ICBZdXN1a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFAZ21haWwu
Y29tPgogCiAgICAgICAgIFtXVEZdIEFubm90YXRlIFNlY29uZHMnIG1lbWJlciBmdW5jdGlvbnMg
YW5kIG9wZXJhdG9ycyB3aXRoIGNvbnN0ZXhwcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBlZmMzMDdhOTNjMjM2NThh
OTg4MzhhY2NhYTE0NGIxOTczMjJjNmI1Li5jNGJkNTRhYjQ2MzEwZDJhYjU5OTFjMzgyODNkODg3
OTdmOTAyN2NkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIxIEBACiAyMDE3LTA0LTA5ICBDaHJpcyBE
dW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKKyAgICAgICAgRHJvcCBUaW1lcjo6c3RhcnRPbmVT
aG90KCkgb3ZlcmxvYWQgdGFraW5nIGEgZG91YmxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzA2NTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBEcm9wIFRpbWVyOjpzdGFydE9uZVNob3QoKSBvdmVybG9h
ZCB0YWtpbmcgYSBkb3VibGUgYXMgcGVvcGxlIHNob3VsZCB1c2UgU2Vjb25kcyB0eXBlIG5vdy4K
KworICAgICAgICAqIFN0b3JhZ2UvU3RvcmFnZUFyZWFTeW5jLmNwcDoKKyAgICAgICAgKiBTdG9y
YWdlL1N0b3JhZ2VUcmFja2VyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6U3RvcmFnZVRyYWNrZXI6
OlN0b3JhZ2VUcmFja2VyKToKKyAgICAgICAgKiBTdG9yYWdlL1N0b3JhZ2VUcmFja2VyLmg6Cisg
ICAgICAgIChXZWJLaXQ6OlN0b3JhZ2VUcmFja2VyOjpzdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2
YWwpOgorICAgICAgICAoV2ViS2l0OjpTdG9yYWdlVHJhY2tlcjo6c2V0U3RvcmFnZURhdGFiYXNl
SWRsZUludGVydmFsKToKKworMjAxNy0wNC0wOSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUu
Y29tPgorCiAgICAgICAgIFN0YXJ0IGRyb3BwaW5nIFRpbWVyIEFQSSBkZWFsaW5nIHdpdGggZG91
YmxlCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzA2
NDkKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IDY1MWE4YzZlYmZkYzkxMDAwMjE0MTRkMGFjNGM0YWVl
MGYyMTI5YmIuLmY0ZTFjMzQyMDI0ODRiZjNhMDUxNmY2NmNiOTUwYjQ3MzQ3YTNiYjcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21h
Yy9DaGFuZ2VMb2cKQEAgLTEsNSArMSwxOSBAQAogMjAxNy0wNC0wOSAgQ2hyaXMgRHVtZXogIDxj
ZHVtZXpAYXBwbGUuY29tPgogCisgICAgICAgIERyb3AgVGltZXI6OnN0YXJ0T25lU2hvdCgpIG92
ZXJsb2FkIHRha2luZyBhIGRvdWJsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTcwNjU5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgRHJvcCBUaW1lcjo6c3RhcnRPbmVTaG90KCkgb3ZlcmxvYWQgdGFraW5n
IGEgZG91YmxlIGFzIHBlb3BsZSBzaG91bGQgdXNlIFNlY29uZHMgdHlwZSBub3cuCisKKyAgICAg
ICAgKiBQbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luVmlldy5tbToKKyAgICAgICAgKFBsdWdpblRp
bWVyOjpzdGFydCk6CisgICAgICAgICogU3RvcmFnZS9XZWJTdG9yYWdlTWFuYWdlci5tbToKKyAg
ICAgICAgKCtbV2ViU3RvcmFnZU1hbmFnZXIgc2V0U3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFs
Ol0pOgorCisyMDE3LTA0LTA5ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKICAg
ICAgICAgRHJvcCBUaW1lcjo6c3RhcnRSZXBlYXRpbmcoKSBvdmVybG9hZCB0YWtpbmcgYSBkb3Vi
bGUKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MDY1
NgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0L3dpbi9DaGFuZ2VMb2cKaW5kZXggYWRjODVmZDNlMzNmNGFiMmYyNTBiMjYwOGEzYTVmNGRm
NTU4Y2QxOC4uZWJmMDY4ZWFkYzAzODlhY2ZiZDljNmVlOTk1ZWVkMDM0NDUxZGQ4MCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvd2lu
L0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIyIEBACiAyMDE3LTA0LTA5ICBDaHJpcyBEdW1leiAgPGNk
dW1lekBhcHBsZS5jb20+CiAKKyAgICAgICAgRHJvcCBUaW1lcjo6c3RhcnRPbmVTaG90KCkgb3Zl
cmxvYWQgdGFraW5nIGEgZG91YmxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNzA2NTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBEcm9wIFRpbWVyOjpzdGFydE9uZVNob3QoKSBvdmVybG9hZCB0YWtpbmcg
YSBkb3VibGUgYXMgcGVvcGxlIHNob3VsZCB1c2UgU2Vjb25kcyB0eXBlIG5vdy4KKworICAgICAg
ICAqIFBsdWdpbnMvUGx1Z2luTWVzc2FnZVRocm90dGxlcldpbi5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpQbHVnaW5NZXNzYWdlVGhyb3R0bGVyV2luOjphcHBlbmRNZXNzYWdlKToKKyAgICAgICAg
KFdlYkNvcmU6OlBsdWdpbk1lc3NhZ2VUaHJvdHRsZXJXaW46Om1lc3NhZ2VUaHJvdHRsZVRpbWVy
RmlyZWQpOgorICAgICAgICAqIFBsdWdpbnMvUGx1Z2luVmlld1dpbi5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpQbHVnaW5WaWV3OjppbnZhbGlkYXRlUmVjdCk6CisgICAgICAgICogV2ViQ29yZVN1
cHBvcnQvQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQuY3BwOgorICAgICAgICAoQWNjZWxl
cmF0ZWRDb21wb3NpdGluZ0NvbnRleHQ6OnNjaGVkdWxlTGF5ZXJGbHVzaCk6CisKKzIwMTctMDQt
MDkgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKwogICAgICAgICBEcm9wIFRpbWVy
OjpzdGFydFJlcGVhdGluZygpIG92ZXJsb2FkIHRha2luZyBhIGRvdWJsZQogICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcwNjU2CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRl
eCBjMmYwZTUwZTkwODk3OTY0NjdiYjYzYTY4ZjM0ZWQ5ZWQ0ZjI3NDk2Li4wZGQ5MjIyMWFkYjEx
YTdlNmQyZjU1NzMzOWNhYTJiZTUyZGY3ODNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsNjUgQEAK
IDIwMTctMDQtMDkgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAorICAgICAgICBE
cm9wIFRpbWVyOjpzdGFydE9uZVNob3QoKSBvdmVybG9hZCB0YWtpbmcgYSBkb3VibGUKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MDY1OQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERyb3AgVGltZXI6OnN0
YXJ0T25lU2hvdCgpIG92ZXJsb2FkIHRha2luZyBhIGRvdWJsZSBhcyBwZW9wbGUgc2hvdWxkIHVz
ZSBTZWNvbmRzIHR5cGUgbm93LgorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvUGluZ0xvYWQu
aDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9zb3VwL05ldHdvcmtEYXRhVGFza1NvdXAuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrRGF0YVRhc2tTb3VwOjpzdGFydFRpbWVvdXQpOgor
ICAgICAgICAqIFBsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmg6CisgICAgICAgICogUGxhdGZvcm0v
SVBDL21hYy9Db25uZWN0aW9uTWFjLm1tOgorICAgICAgICAoSVBDOjpDb25uZWN0aW9uVGVybWlu
YXRpb25XYXRjaGRvZzo6Y3JlYXRlQ29ubmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hkb2cpOgorICAg
ICAgICAoSVBDOjpDb25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZzo6Q29ubmVjdGlvblRlcm1p
bmF0aW9uV2F0Y2hkb2cpOgorICAgICAgICAoSVBDOjpDb25uZWN0aW9uOjp0ZXJtaW5hdGVTb29u
KToKKyAgICAgICAgKiBQbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3MuY3BwOgorICAgICAgICAo
V2ViS2l0OjpQbHVnaW5Qcm9jZXNzOjpzZXRNaW5pbXVtTGlmZXRpbWUpOgorICAgICAgICAqIFBs
dWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5oOgorICAgICAgICAqIFNoYXJlZC9DaGlsZFByb2Nl
c3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpDaGlsZFByb2Nlc3M6OkNoaWxkUHJvY2Vzcyk6Cisg
ICAgICAgICogU2hhcmVkL0NoaWxkUHJvY2Vzcy5oOgorICAgICAgICAoV2ViS2l0OjpDaGlsZFBy
b2Nlc3M6OnNldFRlcm1pbmF0aW9uVGltZW91dCk6CisgICAgICAgICogU2hhcmVkL0Nvb3JkaW5h
dGVkR3JhcGhpY3MvdGhyZWFkZWRjb21wb3NpdG9yL0NvbXBvc2l0aW5nUnVuTG9vcC5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OkNvbXBvc2l0aW5nUnVuTG9vcDo6c3RhcnRVcGRhdGVUaW1lcik6Cisg
ICAgICAgICogU2hhcmVkL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5o
OgorICAgICAgICAqIFNoYXJlZC9XZWJNZW1vcnlTYW1wbGVyLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6V2ViTWVtb3J5U2FtcGxlcjo6aW5pdGlhbGl6ZVRpbWVycyk6CisgICAgICAgICogU2hhcmVk
L1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L0NvY29hL0FQSVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUNvY29hLm1tOgorICAgICAgICAoQVBJOjpT
aGFyZWRKU0NvbnRleHQ6OmVuc3VyZUNvbnRleHQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9DaGls
ZFByb2Nlc3NQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OkNoaWxkUHJvY2Vzc1Byb3h5Ojpz
aHV0RG93blByb2Nlc3MpOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9OYXZpZ2F0aW9uU3Rh
dGUubW06CisgICAgICAgIChXZWJLaXQ6Ok5hdmlnYXRpb25TdGF0ZTo6ZGlkQ2hhbmdlSXNMb2Fk
aW5nKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvVmlld0dlc3R1cmVDb250cm9sbGVyLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6Vmlld0dlc3R1cmVDb250cm9sbGVyOjpTbmFwc2hvdFJlbW92
YWxUcmFja2VyOjpzdGFydFdhdGNoZG9nKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvVmll
d0dlc3R1cmVDb250cm9sbGVyLmg6CisgICAgICAgICogVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJv
eHlJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6RHJhd2luZ0FyZWFQcm94eUltcGw6OmRpc2Nh
cmRCYWNraW5nU3RvcmVTb29uKToKKyAgICAgICAgKFdlYktpdDo6RHJhd2luZ0FyZWFQcm94eUlt
cGw6OkRyYXdpbmdNb25pdG9yOjpzdGFydCk6CisgICAgICAgIChXZWJLaXQ6OkRyYXdpbmdBcmVh
UHJveHlJbXBsOjpEcmF3aW5nTW9uaXRvcjo6ZGlkRHJhdyk6CisgICAgICAgICogVUlQcm9jZXNz
L0dhbWVwYWQvVUlHYW1lcGFkUHJvdmlkZXIuY3BwOgorICAgICAgICAqIFVJUHJvY2Vzcy9QbHVn
aW5zL1BsdWdpblByb2Nlc3NQcm94eS5jcHA6CisgICAgICAgICogVUlQcm9jZXNzL1Byb2Nlc3NU
aHJvdHRsZXIuY3BwOgorICAgICAgICAqIFVJUHJvY2Vzcy9SZXNwb25zaXZlbmVzc1RpbWVyLmNw
cDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQcm9jZXNzUG9vbDo6Y3JlYXRlTmV3V2ViUHJvY2Vzcyk6CisgICAgICAgICogVUlQ
cm9jZXNzL2d0ay9HZXN0dXJlQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJLaXQ6Okdlc3R1
cmVDb250cm9sbGVyOjpEcmFnR2VzdHVyZTo6YmVnaW4pOgorICAgICAgICAqIFVJUHJvY2Vzcy9t
YWMvV2ViSW5zcGVjdG9yUHJveHlNYWMubW06CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdl
L0FjY2VsZXJhdGVkRHJhd2luZ0FyZWEuY3BwOgorICAgICAgICAoV2ViS2l0OjpBY2NlbGVyYXRl
ZERyYXdpbmdBcmVhOjpleGl0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGVOb3cpOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5
ZXJUcmVlSG9zdC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9z
dDo6c2NoZWR1bGVBbmltYXRpb24pOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6ZGV0ZXJtaW5lUHJpbWFyeVNuYXBz
aG90dGVkUGx1Z0luKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwOgorCisy
MDE3LTA0LTA5ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKICAgICAgICAgRHJv
cCBUaW1lcjo6c3RhcnRSZXBlYXRpbmcoKSBvdmVybG9hZCB0YWtpbmcgYSBkb3VibGUKICAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MDY1NgogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dlb2xvY2F0aW9uL0dlb05vdGlmaWVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvTm90aWZpZXIuY3BwCmlu
ZGV4IDc0YTk2Y2UxZDJiYTgwMjdjNWRlNjFiZmQyMGY0YjI4NGZkMjg3YjIuLjg2OTUwMmYwMGQ0
ZDVkNjBhOTZjZmI3NmY3OTVhYjZhZDJiMDI2YzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvTm90aWZpZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvTm90aWZpZXIuY3BwCkBAIC04Nyw3ICs4Nyw3IEBAIHZv
aWQgR2VvTm90aWZpZXI6OnJ1bkVycm9yQ2FsbGJhY2soUG9zaXRpb25FcnJvciogZXJyb3IpCiAK
IHZvaWQgR2VvTm90aWZpZXI6OnN0YXJ0VGltZXJJZk5lZWRlZCgpCiB7Ci0gICAgbV90aW1lci5z
dGFydE9uZVNob3QobV9vcHRpb25zLnRpbWVvdXQgLyAxMDAwLjApOworICAgIG1fdGltZXIuc3Rh
cnRPbmVTaG90KDFfbXMgKiBtX29wdGlvbnMudGltZW91dCk7CiB9CiAKIHZvaWQgR2VvTm90aWZp
ZXI6OnN0b3BUaW1lcigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c2Vzc2lvbi9XZWJNZWRpYVNlc3Npb25NYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwCmluZGV4IDdhMzM2OWYx
MGU1MzBlNGRjODdlNzE3ZDU2NzVmNzA5MTEzYjgwZTkuLjQxNjZlNGU4OWZiZGQ2ZjJhMmE3MGNl
ZWViNzQ3ZTU3MDNjZmZjYTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwCkBAIC0zNiw3
ICszNiw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIGNvbnN0IGRvdWJsZSB0
YXNrRGVsYXlJbnRlcnZhbCA9IDEuMCAvIDEwLjA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyB0YXNr
RGVsYXlJbnRlcnZhbCB7IDEwMF9tcyB9OwogCiBzdHJ1Y3QgQ2xpZW50U3RhdGUgewogICAgIGV4
cGxpY2l0IENsaWVudFN0YXRlKFdlYk1lZGlhU2Vzc2lvbk1hbmFnZXJDbGllbnQmIGNsaWVudCwg
dWludDY0X3QgY29udGV4dElkKQpAQCAtNDIzLDggKzQyMyw4IEBAIHNpemVfdCBXZWJNZWRpYVNl
c3Npb25NYW5hZ2VyOjpmaW5kKFdlYk1lZGlhU2Vzc2lvbk1hbmFnZXJDbGllbnQqIGNsaWVudCwg
dWludDY0CiAKIHZvaWQgV2ViTWVkaWFTZXNzaW9uTWFuYWdlcjo6Y29uZmlndXJlV2F0Y2hkb2dU
aW1lcigpCiB7Ci0gICAgc3RhdGljIGNvbnN0IGRvdWJsZSB3YXRjaGRvZ1RpbWVySW50ZXJ2YWxB
ZnRlclBhdXNpbmcgPSA2MCAqIDYwOwotICAgIHN0YXRpYyBjb25zdCBkb3VibGUgd2F0Y2hkb2dU
aW1lckludGVydmFsQWZ0ZXJQbGF5aW5nVG9FbmQgPSA4ICogNjA7CisgICAgc3RhdGljIGNvbnN0
IFNlY29uZHMgd2F0Y2hkb2dUaW1lckludGVydmFsQWZ0ZXJQYXVzaW5nIHsgMV9oIH07CisgICAg
c3RhdGljIGNvbnN0IFNlY29uZHMgd2F0Y2hkb2dUaW1lckludGVydmFsQWZ0ZXJQbGF5aW5nVG9F
bmQgeyA4X21pbiB9OwogCiAgICAgaWYgKCFtX3BsYXliYWNrVGFyZ2V0IHx8ICFtX3BsYXliYWNr
VGFyZ2V0LT5oYXNBY3RpdmVSb3V0ZSgpKSB7CiAgICAgICAgIG1fd2F0Y2hkb2dUaW1lci5zdG9w
KCk7CkBAIC00NDIsMTEgKzQ0MiwxMSBAQCB2b2lkIFdlYk1lZGlhU2Vzc2lvbk1hbmFnZXI6OmNv
bmZpZ3VyZVdhdGNoZG9nVGltZXIoKQogICAgIH0KIAogICAgIGlmIChzdG9wVGltZXIpIHsKLSAg
ICAgICAgbV9jdXJyZW50V2F0Y2hkb2dJbnRlcnZhbCA9IDA7CisgICAgICAgIG1fY3VycmVudFdh
dGNoZG9nSW50ZXJ2YWwgPSB7IH07CiAgICAgICAgIG1fd2F0Y2hkb2dUaW1lci5zdG9wKCk7CiAg
ICAgICAgIExPRyhNZWRpYSwgIldlYk1lZGlhU2Vzc2lvbk1hbmFnZXI6OmNvbmZpZ3VyZVdhdGNo
ZG9nVGltZXIgLSB0aW1lciBzdG9wcGVkIik7CiAgICAgfSBlbHNlIHsKLSAgICAgICAgZG91Ymxl
IGludGVydmFsID0gZGlkUGxheVRvRW5kID8gd2F0Y2hkb2dUaW1lckludGVydmFsQWZ0ZXJQbGF5
aW5nVG9FbmQgOiB3YXRjaGRvZ1RpbWVySW50ZXJ2YWxBZnRlclBhdXNpbmc7CisgICAgICAgIFNl
Y29uZHMgaW50ZXJ2YWwgPSBkaWRQbGF5VG9FbmQgPyB3YXRjaGRvZ1RpbWVySW50ZXJ2YWxBZnRl
clBsYXlpbmdUb0VuZCA6IHdhdGNoZG9nVGltZXJJbnRlcnZhbEFmdGVyUGF1c2luZzsKICAgICAg
ICAgaWYgKGludGVydmFsICE9IG1fY3VycmVudFdhdGNoZG9nSW50ZXJ2YWwgfHwgIW1fd2F0Y2hk
b2dUaW1lci5pc0FjdGl2ZSgpKSB7CiAgICAgICAgICAgICBtX3dhdGNoZG9nVGltZXIuc3RhcnRP
bmVTaG90KGludGVydmFsKTsKICAgICAgICAgICAgIExPRyhNZWRpYSwgIldlYk1lZGlhU2Vzc2lv
bk1hbmFnZXI6OmNvbmZpZ3VyZVdhdGNoZG9nVGltZXIgLSB0aW1lciBzY2hlZHVsZWQgZm9yICUu
MGYiLCBpbnRlcnZhbCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c2Vzc2lvbi9XZWJNZWRpYVNlc3Npb25NYW5hZ2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc2Vzc2lvbi9XZWJNZWRpYVNlc3Npb25NYW5hZ2VyLmgKaW5kZXggNTdkNThlZjkxNGNi
MjNmMTk0MDFjY2NmZWMzOGVjZTM4ZWFlYTYwOS4uMjk1MDllMjhjNGFmYTU0YzZkNDZhMTNhZDNj
MWYxMWIxNmMxYTM2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNl
c3Npb24vV2ViTWVkaWFTZXNzaW9uTWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuaApAQCAtMTAyLDcgKzEwMiw3
IEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPE1lZGlhUGxheWJhY2tUYXJnZXQ+IG1fcGxheWJhY2tU
YXJnZXQ7CiAgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6Ok1lZGlhUGxheWJhY2tUYXJnZXRQ
aWNrZXJNb2NrPiBtX3BpY2tlck92ZXJyaWRlOwogICAgIENvbmZpZ3VyYXRpb25UYXNrcyBtX3Rh
c2tGbGFncyB7IE5vVGFzayB9OwotICAgIGRvdWJsZSBtX2N1cnJlbnRXYXRjaGRvZ0ludGVydmFs
IHsgMCB9OworICAgIFNlY29uZHMgbV9jdXJyZW50V2F0Y2hkb2dJbnRlcnZhbDsKICAgICBib29s
IG1fZXh0ZXJuYWxPdXRwdXREZXZpY2VBdmFpbGFibGUgeyBmYWxzZSB9OwogICAgIGJvb2wgbV90
YXJnZXRDaGFuZ2VkIHsgZmFsc2UgfTsKICAgICBib29sIG1fbW9ja1BpY2tlckVuYWJsZWQgeyBm
YWxzZSB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9D
YW52YXNDYXB0dXJlTWVkaWFTdHJlYW1UcmFjay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL0NhbnZhc0NhcHR1cmVNZWRpYVN0cmVhbVRyYWNrLmNwcAppbmRleCBkYjRj
NDA0MWM5NjczOTY4MDY5YjllM2ZjYjdkNWQ2ZWM1NTg3NDYwLi4zZjdiMmMxODhiNTk5ODBhMmQ1
Y2ZiYTg3NmU5NGI5MTg3MjBhOGRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL0NhbnZhc0NhcHR1cmVNZWRpYVN0cmVhbVRyYWNrLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL0NhbnZhc0NhcHR1cmVNZWRpYVN0cmVhbVRy
YWNrLmNwcApAQCAtMTQzLDcgKzE0Myw3IEBAIHZvaWQgQ2FudmFzQ2FwdHVyZU1lZGlhU3RyZWFt
VHJhY2s6OlNvdXJjZTo6Y2FudmFzQ2hhbmdlZChIVE1MQ2FudmFzRWxlbWVudCYgY2FuCiAgICAg
Ly8gRklYTUU6IFdlIHNob3VsZCB0cnkgdG8gZ2VuZXJhdGUgdGhlIGZyYW1lIGF0IHRoZSB0aW1l
IHRoZSBzY3JlZW4gaXMgYmVpbmcgdXBkYXRlZC4KICAgICBpZiAobV9jYW52YXNDaGFuZ2VkVGlt
ZXIuaXNBY3RpdmUoKSkKICAgICAgICAgcmV0dXJuOwotICAgIG1fY2FudmFzQ2hhbmdlZFRpbWVy
LnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2NhbnZhc0NoYW5nZWRUaW1lci5zdGFydE9uZVNob3Qo
MF9zKTsKIH0KIAogdm9pZCBDYW52YXNDYXB0dXJlTWVkaWFTdHJlYW1UcmFjazo6U291cmNlOjpj
YXB0dXJlQ2FudmFzKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvdmlicmF0
aW9uL1ZpYnJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3ZpYnJhdGlvbi9WaWJy
YXRpb24uY3BwCmluZGV4IGMxNTIyYjM5MjIwYjRhOGYxMmJkMzIxNjdlOGQxMTIyN2VlMWRkYTcu
LjA1MTgwNzNlMTA5ZjQ2MThjNGFmOWRlMWYyNTEzYWY0NjY2ZGFiZjAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvdmlicmF0aW9uL1ZpYnJhdGlvbi5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy92aWJyYXRpb24vVmlicmF0aW9uLmNwcApAQCAtMTEwLDcgKzExMCw3
IEBAIHZvaWQgVmlicmF0aW9uOjp0aW1lckZpcmVkKCkKICAgICAgICAgbV92aWJyYXRpb25DbGll
bnQtPnZpYnJhdGUobV9wYXR0ZXJuWzBdKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQotICAgIG1f
dGltZXIuc3RhcnRPbmVTaG90KG1fcGF0dGVyblswXSAvIDEwMDAuMCk7CisgICAgbV90aW1lci5z
dGFydE9uZVNob3QoMV9tcyAqIG1fcGF0dGVyblswXSk7CiAgICAgbV9wYXR0ZXJuLnJlbW92ZSgw
KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dl
YlNvY2tldENoYW5uZWwuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dl
YlNvY2tldENoYW5uZWwuY3BwCmluZGV4IGM1Y2IxMjRlMjIzZDI4NmZiYjZmMDJjZTcwMTA0MDI4
NTI2OWUxNWUuLjYxZDNjY2RkNzE1ZGY4NjM5MDQ5NWNiM2RlZGYyYTgwN2U2MTJkMjIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVs
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hh
bm5lbC5jcHAKQEAgLTYxLDcgKzYxLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jb25z
dCBkb3VibGUgVENQTWF4aW11bVNlZ21lbnRMaWZldGltZSA9IDIgKiA2MC4wOworY29uc3QgU2Vj
b25kcyBUQ1BNYXhpbXVtU2VnbWVudExpZmV0aW1lIHsgMl9taW4gfTsKIAogV2ViU29ja2V0Q2hh
bm5lbDo6V2ViU29ja2V0Q2hhbm5lbChEb2N1bWVudCYgZG9jdW1lbnQsIFdlYlNvY2tldENoYW5u
ZWxDbGllbnQmIGNsaWVudCwgU29ja2V0UHJvdmlkZXImIHByb3ZpZGVyKQogICAgIDogbV9kb2N1
bWVudCgmZG9jdW1lbnQpCkBAIC0yMDcsNyArMjA3LDcgQEAgdm9pZCBXZWJTb2NrZXRDaGFubmVs
OjpjbG9zZShpbnQgY29kZSwgY29uc3QgU3RyaW5nJiByZWFzb24pCiAgICAgUmVmPFdlYlNvY2tl
dENoYW5uZWw+IHByb3RlY3RlZFRoaXMoKnRoaXMpOyAvLyBBbiBhdHRlbXB0IHRvIHNlbmQgY2xv
c2luZyBoYW5kc2hha2UgbWF5IGZhaWwsIHdoaWNoIHdpbGwgZ2V0IHRoZSBjaGFubmVsIGNsb3Nl
ZCBhbmQgZGVyZWZlcmVuY2VkLgogICAgIHN0YXJ0Q2xvc2luZ0hhbmRzaGFrZShjb2RlLCByZWFz
b24pOwogICAgIGlmIChtX2Nsb3NpbmcgJiYgIW1fY2xvc2luZ1RpbWVyLmlzQWN0aXZlKCkpCi0g
ICAgICAgIG1fY2xvc2luZ1RpbWVyLnN0YXJ0T25lU2hvdCgyICogVENQTWF4aW11bVNlZ21lbnRM
aWZldGltZSk7CisgICAgICAgIG1fY2xvc2luZ1RpbWVyLnN0YXJ0T25lU2hvdChUQ1BNYXhpbXVt
U2VnbWVudExpZmV0aW1lICogMik7CiB9CiAKIHZvaWQgV2ViU29ja2V0Q2hhbm5lbDo6ZmFpbChj
b25zdCBTdHJpbmcmIHJlYXNvbikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvQVhPYmplY3RDYWNoZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FY
T2JqZWN0Q2FjaGUuY3BwCmluZGV4IDEyNTQwNTAxNGU3NjBiYzJiOWU3OWRiODE5N2ExZTBlZTc1
ZDAyZjcuLmYwNmRmNzQwMGFjYTU2ZTA4ZTE4MzJhNGFlYTBmYzU2ZDU0NTRjNDIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcApAQCAtMTEwLDkg
KzExMCw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7
CiAKIC8vIFBvc3QgdmFsdWUgY2hhbmdlIG5vdGlmaWNhdGlvbnMgZm9yIHBhc3N3b3JkIGZpZWxk
cyBvciBlbGVtZW50cyBjb250YWluZWQgaW4gcGFzc3dvcmQgZmllbGRzIGF0IGEgNDBoeiBpbnRl
cnZhbCB0byB0aHdhcnQgYW5hbHlzaXMgb2YgdHlwaW5nIGNhZGVuY2UKLXN0YXRpYyBkb3VibGUg
QWNjZXNzaWJpbGl0eVBhc3N3b3JkVmFsdWVDaGFuZ2VOb3RpZmljYXRpb25JbnRlcnZhbCA9IDAu
MDI1Owotc3RhdGljIGRvdWJsZSBBY2Nlc3NpYmlsaXR5TGl2ZVJlZ2lvbkNoYW5nZWROb3RpZmlj
YXRpb25JbnRlcnZhbCA9IDAuMDIwOwotc3RhdGljIGRvdWJsZSBBY2Nlc3NpYmlsaXR5Rm9jdXNB
cmlhTW9kYWxOb2RlTm90aWZpY2F0aW9uSW50ZXJ2YWwgPSAwLjA1MDsKK3N0YXRpYyBjb25zdCBT
ZWNvbmRzIGFjY2Vzc2liaWxpdHlQYXNzd29yZFZhbHVlQ2hhbmdlTm90aWZpY2F0aW9uSW50ZXJ2
YWwgeyAyNV9tcyB9Oworc3RhdGljIGNvbnN0IFNlY29uZHMgYWNjZXNzaWJpbGl0eUxpdmVSZWdp
b25DaGFuZ2VkTm90aWZpY2F0aW9uSW50ZXJ2YWwgeyAyMF9tcyB9Oworc3RhdGljIGNvbnN0IFNl
Y29uZHMgYWNjZXNzaWJpbGl0eUZvY3VzQXJpYU1vZGFsTm9kZU5vdGlmaWNhdGlvbkludGVydmFs
IHsgNTBfbXMgfTsKIAogQWNjZXNzaWJpbGl0eU9iamVjdEluY2x1c2lvbiBBWENvbXB1dGVkT2Jq
ZWN0QXR0cmlidXRlQ2FjaGU6OmdldElnbm9yZWQoQVhJRCBpZCkgY29uc3QKIHsKQEAgLTEzMTEs
NyArMTMxMSw3IEBAIGJvb2wgQVhPYmplY3RDYWNoZTo6ZW5xdWV1ZVBhc3N3b3JkVmFsdWVDaGFu
Z2VOb3RpZmljYXRpb24oQWNjZXNzaWJpbGl0eU9iamVjdCoKIAogICAgIG1fcGFzc3dvcmROb3Rp
ZmljYXRpb25zVG9Qb3N0LmFkZChvYnNlcnZhYmxlT2JqZWN0KTsKICAgICBpZiAoIW1fcGFzc3dv
cmROb3RpZmljYXRpb25Qb3N0VGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9wYXNzd29yZE5v
dGlmaWNhdGlvblBvc3RUaW1lci5zdGFydE9uZVNob3QoQWNjZXNzaWJpbGl0eVBhc3N3b3JkVmFs
dWVDaGFuZ2VOb3RpZmljYXRpb25JbnRlcnZhbCk7CisgICAgICAgIG1fcGFzc3dvcmROb3RpZmlj
YXRpb25Qb3N0VGltZXIuc3RhcnRPbmVTaG90KGFjY2Vzc2liaWxpdHlQYXNzd29yZFZhbHVlQ2hh
bmdlTm90aWZpY2F0aW9uSW50ZXJ2YWwpOwogCiAgICAgcmV0dXJuIHRydWU7CiB9CkBAIC0xMzM4
LDcgKzEzMzgsNyBAQCB2b2lkIEFYT2JqZWN0Q2FjaGU6OnBvc3RMaXZlUmVnaW9uQ2hhbmdlTm90
aWZpY2F0aW9uKEFjY2Vzc2liaWxpdHlPYmplY3QqIG9iamVjdAogICAgIGlmICghbV9saXZlUmVn
aW9uT2JqZWN0c1NldC5jb250YWlucyhvYmplY3QpKQogICAgICAgICBtX2xpdmVSZWdpb25PYmpl
Y3RzU2V0LmFkZChvYmplY3QpOwogCi0gICAgbV9saXZlUmVnaW9uQ2hhbmdlZFBvc3RUaW1lci5z
dGFydE9uZVNob3QoQWNjZXNzaWJpbGl0eUxpdmVSZWdpb25DaGFuZ2VkTm90aWZpY2F0aW9uSW50
ZXJ2YWwpOworICAgIG1fbGl2ZVJlZ2lvbkNoYW5nZWRQb3N0VGltZXIuc3RhcnRPbmVTaG90KGFj
Y2Vzc2liaWxpdHlMaXZlUmVnaW9uQ2hhbmdlZE5vdGlmaWNhdGlvbkludGVydmFsKTsKIH0KIAog
dm9pZCBBWE9iamVjdENhY2hlOjpsaXZlUmVnaW9uQ2hhbmdlZE5vdGlmaWNhdGlvblBvc3RUaW1l
ckZpcmVkKCkKQEAgLTEzNzIsNyArMTM3Miw3IEBAIHZvaWQgQVhPYmplY3RDYWNoZTo6Zm9jdXNB
cmlhTW9kYWxOb2RlKCkKICAgICBpZiAobV9mb2N1c0FyaWFNb2RhbE5vZGVUaW1lci5pc0FjdGl2
ZSgpKQogICAgICAgICBtX2ZvY3VzQXJpYU1vZGFsTm9kZVRpbWVyLnN0b3AoKTsKICAgICAKLSAg
ICBtX2ZvY3VzQXJpYU1vZGFsTm9kZVRpbWVyLnN0YXJ0T25lU2hvdChBY2Nlc3NpYmlsaXR5Rm9j
dXNBcmlhTW9kYWxOb2RlTm90aWZpY2F0aW9uSW50ZXJ2YWwpOworICAgIG1fZm9jdXNBcmlhTW9k
YWxOb2RlVGltZXIuc3RhcnRPbmVTaG90KGFjY2Vzc2liaWxpdHlGb2N1c0FyaWFNb2RhbE5vZGVO
b3RpZmljYXRpb25JbnRlcnZhbCk7CiB9CiAKIHZvaWQgQVhPYmplY3RDYWNoZTo6Zm9jdXNBcmlh
TW9kYWxOb2RlVGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
Rm9udEZhY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlLmNwcAppbmRleCAz
NGJkYmVlYWViN2Q2MzFlNDI4Zjk2YmU0MDNlMWI3MzQ2ZTgyODQ4Li5iZjkyMGY4ZDcxNDQxM2U3
YjdlNmFlYjVjM2M3ZWI1OTJkNGQ2MzA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTRm9udEZhY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZS5jcHAK
QEAgLTUyNyw3ICs1MjcsNyBAQCB2b2lkIENTU0ZvbnRGYWNlOjpzZXRTdGF0dXMoU3RhdHVzIG5l
d1N0YXR1cykKICAgICB9CiAKICAgICBpZiAobmV3U3RhdHVzID09IFN0YXR1czo6TG9hZGluZykK
LSAgICAgICAgbV90aW1lb3V0VGltZXIuc3RhcnRPbmVTaG90KHdlYkZvbnRzU2hvdWxkQWx3YXlz
RmFsbEJhY2soKSA/IDAgOiAzKTsKKyAgICAgICAgbV90aW1lb3V0VGltZXIuc3RhcnRPbmVTaG90
KHdlYkZvbnRzU2hvdWxkQWx3YXlzRmFsbEJhY2soKSA/IDBfcyA6IDNfcyk7CiAgICAgZWxzZSBp
ZiAobmV3U3RhdHVzID09IFN0YXR1czo6U3VjY2VzcyB8fCBuZXdTdGF0dXMgPT0gU3RhdHVzOjpG
YWlsdXJlKQogICAgICAgICBtX3RpbWVvdXRUaW1lci5zdG9wKCk7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9T
dHlsZVJlc29sdmVyLmNwcAppbmRleCBhZTdmOTc2YzZiNjhhNzMyZWVhYTQ5YjYwOTk4Y2MxNjdj
Nzg2NWEwLi40YWExMmQ3YTMyMjc1NGM3N2QyMjlhOGU1NTVlYmJjMTQxMmNmMWYzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwCkBAIC0xMzUsNiArMTM1LDcgQEAKICNpbmNsdWRl
ICJXZWJLaXRDU1NSZWdpb25SdWxlLmgiCiAjaW5jbHVkZSAiV2ViS2l0Rm9udEZhbWlseU5hbWVz
LmgiCiAjaW5jbHVkZSA8Yml0c2V0PgorI2luY2x1ZGUgPHd0Zi9TZWNvbmRzLmg+CiAjaW5jbHVk
ZSA8d3RmL1NldEZvclNjb3BlLmg+CiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogI2lu
Y2x1ZGUgPHd0Zi9WZWN0b3IuaD4KQEAgLTEyNTEsOCArMTI1Miw4IEBAIHZvaWQgU3R5bGVSZXNv
bHZlcjo6YWRkVG9NYXRjaGVkUHJvcGVydGllc0NhY2hlKGNvbnN0IFJlbmRlclN0eWxlKiBzdHls
ZSwgY29uc3QKICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgbWF0Y2hlZERlY2xhcmF0aW9uQ2Fj
aGVBZGRpdGlvbnNCZXR3ZWVuU3dlZXBzID0gMTAwOwogICAgIGlmICgrK21fbWF0Y2hlZFByb3Bl
cnRpZXNDYWNoZUFkZGl0aW9uc1NpbmNlTGFzdFN3ZWVwID49IG1hdGNoZWREZWNsYXJhdGlvbkNh
Y2hlQWRkaXRpb25zQmV0d2VlblN3ZWVwcwogICAgICAgICAmJiAhbV9tYXRjaGVkUHJvcGVydGll
c0NhY2hlU3dlZXBUaW1lci5pc0FjdGl2ZSgpKSB7Ci0gICAgICAgIHN0YXRpYyBjb25zdCB1bnNp
Z25lZCBtYXRjaGVkRGVjbGFyYXRpb25DYWNoZVN3ZWVwVGltZUluU2Vjb25kcyA9IDYwOwotICAg
ICAgICBtX21hdGNoZWRQcm9wZXJ0aWVzQ2FjaGVTd2VlcFRpbWVyLnN0YXJ0T25lU2hvdChtYXRj
aGVkRGVjbGFyYXRpb25DYWNoZVN3ZWVwVGltZUluU2Vjb25kcyk7CisgICAgICAgIHN0YXRpYyBj
b25zdCBTZWNvbmRzIG1hdGNoZWREZWNsYXJhdGlvbkNhY2hlU3dlZXBUaW1lIHsgMV9taW4gfTsK
KyAgICAgICAgbV9tYXRjaGVkUHJvcGVydGllc0NhY2hlU3dlZXBUaW1lci5zdGFydE9uZVNob3Qo
bWF0Y2hlZERlY2xhcmF0aW9uQ2FjaGVTd2VlcFRpbWUpOwogICAgIH0KIAogICAgIEFTU0VSVCho
YXNoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IDBlNzM5ZTNjNjYyZGRlMGU5ZWUwYmQx
OTVmY2RmY2I2YzQyMWRjOTEuLjNlMGQ4NGU4MDU2ZWEyMzllNGZlZDZkNTVhZThkMDRhNzYwZjkz
MDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtMTE5OSw3ICsxMTk5LDcgQEAgdm9pZCBE
b2N1bWVudDo6c2V0VmlzdWFsVXBkYXRlc0FsbG93ZWQoYm9vbCB2aXN1YWxVcGRhdGVzQWxsb3dl
ZCkKICAgICBpZiAodmlzdWFsVXBkYXRlc0FsbG93ZWQpCiAgICAgICAgIG1fdmlzdWFsVXBkYXRl
c1N1cHByZXNzaW9uVGltZXIuc3RvcCgpOwogICAgIGVsc2UKLSAgICAgICAgbV92aXN1YWxVcGRh
dGVzU3VwcHJlc3Npb25UaW1lci5zdGFydE9uZVNob3Qoc2V0dGluZ3MoKS5pbmNyZW1lbnRhbFJl
bmRlcmluZ1N1cHByZXNzaW9uVGltZW91dEluU2Vjb25kcygpKTsKKyAgICAgICAgbV92aXN1YWxV
cGRhdGVzU3VwcHJlc3Npb25UaW1lci5zdGFydE9uZVNob3QoMV9zICogc2V0dGluZ3MoKS5pbmNy
ZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNzaW9uVGltZW91dEluU2Vjb25kcygpKTsKIAogICAgIGlm
ICghdmlzdWFsVXBkYXRlc0FsbG93ZWQpCiAgICAgICAgIHJldHVybjsKQEAgLTUwMDQsOCArNTAw
NCw4IEBAIHZvaWQgRG9jdW1lbnQ6OmZpbmlzaGVkUGFyc2luZygpCiAgICAgLy8gc28gdGhhdCBk
eW5hbWljYWxseSBpbnNlcnRlZCBjb250ZW50IGNhbiBhbHNvIGJlbmVmaXQgZnJvbSBzaGFyaW5n
IG9wdGltaXphdGlvbnMuCiAgICAgLy8gTm90ZSB0aGF0IHdlIGRvbid0IHJlZnJlc2ggdGhlIHRp
bWVyIG9uIHBvb2wgYWNjZXNzIHNpbmNlIHRoYXQgY291bGQgbGVhZCB0byBodWdlIGNhY2hlcyBi
ZWluZyBrZXB0CiAgICAgLy8gYWxpdmUgaW5kZWZpbml0ZWx5IGJ5IHNvbWV0aGluZyBpbm5vY3Vv
dXMgbGlrZSBKUyBzZXR0aW5nIC5pbm5lckhUTUwgcmVwZWF0ZWRseSBvbiBhIHRpbWVyLgotICAg
IHN0YXRpYyBjb25zdCBpbnQgdGltZVRvS2VlcFNoYXJlZE9iamVjdFBvb2xBbGl2ZUFmdGVyUGFy
c2luZ0ZpbmlzaGVkSW5TZWNvbmRzID0gMTA7Ci0gICAgbV9zaGFyZWRPYmplY3RQb29sQ2xlYXJU
aW1lci5zdGFydE9uZVNob3QodGltZVRvS2VlcFNoYXJlZE9iamVjdFBvb2xBbGl2ZUFmdGVyUGFy
c2luZ0ZpbmlzaGVkSW5TZWNvbmRzKTsKKyAgICBzdGF0aWMgY29uc3QgU2Vjb25kcyB0aW1lVG9L
ZWVwU2hhcmVkT2JqZWN0UG9vbEFsaXZlQWZ0ZXJQYXJzaW5nRmluaXNoZWQgeyAxMF9zIH07Cisg
ICAgbV9zaGFyZWRPYmplY3RQb29sQ2xlYXJUaW1lci5zdGFydE9uZVNob3QodGltZVRvS2VlcFNo
YXJlZE9iamVjdFBvb2xBbGl2ZUFmdGVyUGFyc2luZ0ZpbmlzaGVkKTsKIAogICAgIC8vIFBhcnNl
ciBzaG91bGQgaGF2ZSBwaWNrZWQgdXAgYWxsIHNwZWN1bGF0aXZlIHByZWxvYWRzIGJ5IG5vdwog
ICAgIG1fY2FjaGVkUmVzb3VyY2VMb2FkZXItPmNsZWFyUHJlbG9hZHMoQ2FjaGVkUmVzb3VyY2VM
b2FkZXI6OkNsZWFyUHJlbG9hZHNNb2RlOjpDbGVhclNwZWN1bGF0aXZlUHJlbG9hZHMpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyLmNwcApp
bmRleCA5MmUwZGIzNjIyMjU1NTIyMWEzNGYyZGJjNTEwNjRhZjJkNDU2MDg3Li4xYjg1OTFmNmFj
MGIzMjZmZDUxOWI5OTkxOTg5ZjM4YTBlODcxY2JiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyLmNwcApAQCAtNDcsMTAgKzQ3LDEwIEBA
CiAjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+CiAKIC8vIEFsbG93IGEgbGl0dGxlIG1vcmUg
dGhhbiA2MGZwcyB0byBtYWtlIHN1cmUgd2UgY2FuIGF0IGxlYXN0IGhpdCB0aGF0IGZyYW1lIHJh
dGUuCi1zdGF0aWMgY29uc3QgU2Vjb25kcyBmdWxsU3BlZWRBbmltYXRpb25JbnRlcnZhbCB7IDAu
MDE1IH07CitzdGF0aWMgY29uc3QgU2Vjb25kcyBmdWxsU3BlZWRBbmltYXRpb25JbnRlcnZhbCB7
IDE1X21zIH07CiAvLyBBbGxvdyBhIGxpdHRsZSBtb3JlIHRoYW4gMzBmcHMgdG8gbWFrZSBzdXJl
IHdlIGNhbiBhdCBsZWFzdCBoaXQgdGhhdCBmcmFtZSByYXRlLgotc3RhdGljIGNvbnN0IFNlY29u
ZHMgaGFsZlNwZWVkVGhyb3R0bGluZ0FuaW1hdGlvbkludGVydmFsIHsgMC4wMzAgfTsKLXN0YXRp
YyBjb25zdCBTZWNvbmRzIGFnZ3Jlc3NpdmVUaHJvdHRsaW5nQW5pbWF0aW9uSW50ZXJ2YWwgeyAx
MCB9Oworc3RhdGljIGNvbnN0IFNlY29uZHMgaGFsZlNwZWVkVGhyb3R0bGluZ0FuaW1hdGlvbklu
dGVydmFsIHsgMzBfbXMgfTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIGFnZ3Jlc3NpdmVUaHJvdHRs
aW5nQW5pbWF0aW9uSW50ZXJ2YWwgeyAxMF9zIH07CiAjZW5kaWYKIAogI2RlZmluZSBSRUxFQVNF
X0xPR19JRl9BTExPV0VEKGZtdCwgLi4uKSBSRUxFQVNFX0xPR19JRihwYWdlKCkgJiYgcGFnZSgp
LT5pc0Fsd2F5c09uTG9nZ2luZ0FsbG93ZWQoKSwgUGVyZm9ybWFuY2VMb2dnaW5nLCAiJXAgLSBT
Y3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXI6OiIgZm10LCB0aGlzLCAjI19fVkFfQVJHU19fKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9BbHRlcm5hdGl2ZVRleHRDb250cm9s
bGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxl
ci5jcHAKaW5kZXggZTI3YmQwZDZmZDJmM2VjNzRkMDBlZDFmMWM2OTY1YzgxYmRlOTczZi4uMDVh
ZmFlNGI5OWM5N2M4ZDJlZjg0ZjAyYjYyYmRiNTJmMzc4Y2FkNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZWRpdGluZy9BbHRlcm5hdGl2ZVRleHRDb250cm9sbGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL0FsdGVybmF0aXZlVGV4dENvbnRyb2xsZXIuY3BwCkBAIC0xNDAs
NyArMTQwLDcgQEAgQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlcjo6fkFsdGVybmF0aXZlVGV4dENv
bnRyb2xsZXIoKQogCiB2b2lkIEFsdGVybmF0aXZlVGV4dENvbnRyb2xsZXI6OnN0YXJ0QWx0ZXJu
YXRpdmVUZXh0VUlUaW1lcihBbHRlcm5hdGl2ZVRleHRUeXBlIHR5cGUpCiB7Ci0gICAgY29uc3Qg
ZG91YmxlIGNvcnJlY3Rpb25QYW5lbFRpbWVySW50ZXJ2YWwgPSAwLjM7CisgICAgY29uc3QgU2Vj
b25kcyBjb3JyZWN0aW9uUGFuZWxUaW1lckludGVydmFsIHsgMzAwX21zIH07CiAgICAgaWYgKCFp
c0F1dG9tYXRpY1NwZWxsaW5nQ29ycmVjdGlvbkVuYWJsZWQoKSkKICAgICAgICAgcmV0dXJuOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAppbmRleCA0ZDYwNDY4MGY1
MzhjZmJkZGU0NjJmOTA0ZmNhNDQwNjgzNDhkOTM1Li45ZmVkNmY3MzY2YmE4YjExM2Y5ZGQ2MmEw
OWVhNTlmYzdhZDE3N2YzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRp
YUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5j
cHAKQEAgLTE2OCw3ICsxNjgsNyBAQCBzdGF0aWMgY29uc3QgZG91YmxlIFNlZWtUaW1lID0gMC4y
Owogc3RhdGljIGNvbnN0IFNlY29uZHMgU2NhblJlcGVhdERlbGF5IHsgMS41X3MgfTsKIHN0YXRp
YyBjb25zdCBkb3VibGUgU2Nhbk1heGltdW1SYXRlID0gODsKIAotc3RhdGljIGNvbnN0IGRvdWJs
ZSBIaWRlTWVkaWFDb250cm9sc0FmdGVyRW5kZWREZWxheSA9IDY7CitzdGF0aWMgY29uc3QgU2Vj
b25kcyBoaWRlTWVkaWFDb250cm9sc0FmdGVyRW5kZWREZWxheSB7IDZfcyB9OwogCiBzdGF0aWMg
dm9pZCBzZXRGbGFncyh1bnNpZ25lZCYgdmFsdWUsIHVuc2lnbmVkIGZsYWdzKQogewpAQCAtNDQ5
Nyw3ICs0NDk3LDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjphZGRCZWhhdmlvclJlc3RyaWN0
aW9uc09uRW5kSWZOZWNlc3NhcnkoKQogCiAgICAgbV9tZWRpYVNlc3Npb24tPmFkZEJlaGF2aW9y
UmVzdHJpY3Rpb24oTWVkaWFFbGVtZW50U2Vzc2lvbjo6UmVxdWlyZVVzZXJHZXN0dXJlVG9Db250
cm9sQ29udHJvbHNNYW5hZ2VyKTsKICAgICBtX3BsYXliYWNrQ29udHJvbHNNYW5hZ2VyQmVoYXZp
b3JSZXN0cmljdGlvbnNUaW1lci5zdG9wKCk7Ci0gICAgbV9wbGF5YmFja0NvbnRyb2xzTWFuYWdl
ckJlaGF2aW9yUmVzdHJpY3Rpb25zVGltZXIuc3RhcnRPbmVTaG90KEhpZGVNZWRpYUNvbnRyb2xz
QWZ0ZXJFbmRlZERlbGF5KTsKKyAgICBtX3BsYXliYWNrQ29udHJvbHNNYW5hZ2VyQmVoYXZpb3JS
ZXN0cmljdGlvbnNUaW1lci5zdGFydE9uZVNob3QoaGlkZU1lZGlhQ29udHJvbHNBZnRlckVuZGVk
RGVsYXkpOwogfQogCiB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OmhhbmRsZVNlZWtUb1BsYXliYWNr
UG9zaXRpb24oZG91YmxlIHBvc2l0aW9uKQpAQCAtNDUwNyw3ICs0NTA3LDcgQEAgdm9pZCBIVE1M
TWVkaWFFbGVtZW50OjpoYW5kbGVTZWVrVG9QbGF5YmFja1Bvc2l0aW9uKGRvdWJsZSBwb3NpdGlv
bikKICAgICAvLyBQbGVhc2Ugc2VlIDxyZGFyOi8vcHJvYmxlbS8yODQ1NzIxOT4gZm9yIG1vcmUg
ZGV0YWlscy4KICAgICBzZWVrKE1lZGlhVGltZTo6Y3JlYXRlV2l0aERvdWJsZShwb3NpdGlvbikp
OwogICAgIG1fc2Vla1RvUGxheWJhY2tQb3NpdGlvbkVuZGVkVGltZXIuc3RvcCgpOwotICAgIG1f
c2Vla1RvUGxheWJhY2tQb3NpdGlvbkVuZGVkVGltZXIuc3RhcnRPbmVTaG90KDAuNSk7CisgICAg
bV9zZWVrVG9QbGF5YmFja1Bvc2l0aW9uRW5kZWRUaW1lci5zdGFydE9uZVNob3QoNTAwX21zKTsK
IAogICAgIGlmICghbV9pc1NjcnViYmluZ1JlbW90ZWx5KSB7CiAgICAgICAgIG1faXNTY3J1YmJp
bmdSZW1vdGVseSA9IHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1NlYXJj
aElucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1NlYXJjaElucHV0VHlwZS5jcHAK
aW5kZXggZjVkMmJiOTU1MzI5MDcxOTgyNjY2ZGI3NThlZWMyYmM3NjZkNTBhNy4uZDgyMzU5ZjE2
ZDM3NjQ1MTczNjk2Y2Q0MGY3YmYwMTAzYmRlODM1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9TZWFyY2hJbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvU2Vh
cmNoSW5wdXRUeXBlLmNwcApAQCAtMTY1LDcgKzE2NSw3IEBAIHZvaWQgU2VhcmNoSW5wdXRUeXBl
OjpzdGFydFNlYXJjaEV2ZW50VGltZXIoKQogCiAgICAgLy8gQWZ0ZXIgdHlwaW5nIHRoZSBmaXJz
dCBrZXksIHdlIHdhaXQgMC41IHNlY29uZHMuCiAgICAgLy8gQWZ0ZXIgdGhlIHNlY29uZCBrZXks
IDAuNCBzZWNvbmRzLCB0aGVuIDAuMywgdGhlbiAwLjIgZnJvbSB0aGVuIG9uLgotICAgIG1fc2Vh
cmNoRXZlbnRUaW1lci5zdGFydE9uZVNob3Qoc3RkOjptYXgoMC4yLCAwLjYgLSAwLjEgKiBsZW5n
dGgpKTsKKyAgICBtX3NlYXJjaEV2ZW50VGltZXIuc3RhcnRPbmVTaG90KHN0ZDo6bWF4KDIwMF9t
cywgNjAwX21zIC0gMTAwX21zICogbGVuZ3RoKSk7CiB9CiAKIHZvaWQgU2VhcmNoSW5wdXRUeXBl
OjpzdG9wU2VhcmNoRXZlbnRUaW1lcigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L1ZhbGlkYXRpb25NZXNzYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRhdGlvbk1l
c3NhZ2UuY3BwCmluZGV4IDQ1MWZjNTkxMDg1MTQ1NzM5NGRjNDQ5NTNkZDg4OWMxMjk0YmU2ZDku
LjQ3MGVhZWRjM2E3NjY4NmQ1YzQwMWEwNTM3ZTgwN2ZhMzhmNTA1ZTQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRhdGlvbk1lc3NhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvVmFsaWRhdGlvbk1lc3NhZ2UuY3BwCkBAIC0xNDQsNyArMTQ0LDcgQEAgdm9pZCBW
YWxpZGF0aW9uTWVzc2FnZTo6c2V0TWVzc2FnZURPTUFuZFN0YXJ0VGltZXIoKQogICAgICAgICBt
X3RpbWVyID0gbnVsbHB0cjsKICAgICBlbHNlIHsKICAgICAgICAgbV90aW1lciA9IHN0ZDo6bWFr
ZV91bmlxdWU8VGltZXI+KCp0aGlzLCAmVmFsaWRhdGlvbk1lc3NhZ2U6OmRlbGV0ZUJ1YmJsZVRy
ZWUpOwotICAgICAgICBtX3RpbWVyLT5zdGFydE9uZVNob3Qoc3RkOjptYXgoNS4wLCBzdGF0aWNf
Y2FzdDxkb3VibGU+KG1fbWVzc2FnZS5sZW5ndGgoKSkgKiBtYWduaWZpY2F0aW9uIC8gMTAwMCkp
OworICAgICAgICBtX3RpbWVyLT5zdGFydE9uZVNob3Qoc3RkOjptYXgoNV9zLCAxX21zICogc3Rh
dGljX2Nhc3Q8ZG91YmxlPihtX21lc3NhZ2UubGVuZ3RoKCkpICogbWFnbmlmaWNhdGlvbikpOwog
ICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xS
ZW5kZXJpbmdDb250ZXh0QmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJH
TFJlbmRlcmluZ0NvbnRleHRCYXNlLmNwcAppbmRleCBiNTEyZmZjMTc2YmQzYTYxODdkMWQzZTRk
NGIwYmQ1YjQ0ZWZjODNlLi5hYmVjNjczMWRiYzUxNzA0ZDY2NGNiMDczZmJhYTkzNzIwZWE5ODFk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0Nv
bnRleHRCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRl
cmluZ0NvbnRleHRCYXNlLmNwcApAQCAtMTAwLDcgKzEwMCw3IEBACiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAotY29uc3QgZG91YmxlIHNlY29uZHNCZXR3ZWVuUmVzdG9yZUF0dGVtcHRzID0gMS4w
Oworc3RhdGljIGNvbnN0IFNlY29uZHMgc2Vjb25kc0JldHdlZW5SZXN0b3JlQXR0ZW1wdHMgeyAx
X3MgfTsKIGNvbnN0IGludCBtYXhHTEVycm9yc0FsbG93ZWRUb0NvbnNvbGUgPSAyNTY7CiBzdGF0
aWMgY29uc3QgU2Vjb25kcyBjaGVja0NvbnRleHRMb3NzSGFuZGxpbmdEZWxheSB7IDNfcyB9Owog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVt
ZW50cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50
cy5jcHAKaW5kZXggN2IxZGY0OWUyY2Y3NjNjYmNlZGI4NTM0ZDY4NWY3ZTNhMzlkZmY5Ny4uNWYz
YjNjMzU3Y2U0YmQ5MzA5NjIzZDc4Y2VmYTkwNTUzMzEwNjkwYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcApAQCAtMTM3LDcg
KzEzNyw3IEBAIHZvaWQgTWVkaWFDb250cm9sUGFuZWxFbGVtZW50OjpzdGFydFRpbWVyKCkKICAg
ICAvLyBUaGUgdGltZXIgaXMgcmVxdWlyZWQgdG8gc2V0IHRoZSBwcm9wZXJ0eSBkaXNwbGF5Oidu
b25lJyBvbiB0aGUgcGFuZWwsCiAgICAgLy8gc3VjaCB0aGF0IGNhcHRpb25zIGFyZSBjb3JyZWN0
bHkgZGlzcGxheWVkIGF0IHRoZSBib3R0b20gb2YgdGhlIHZpZGVvCiAgICAgLy8gYXQgdGhlIGVu
ZCBvZiB0aGUgZmFkZW91dCB0cmFuc2l0aW9uLgotICAgIGRvdWJsZSBkdXJhdGlvbiA9IGRvY3Vt
ZW50KCkucGFnZSgpID8gZG9jdW1lbnQoKS5wYWdlKCktPnRoZW1lKCkubWVkaWFDb250cm9sc0Zh
ZGVPdXREdXJhdGlvbigpIDogMDsKKyAgICBTZWNvbmRzIGR1cmF0aW9uID0gZG9jdW1lbnQoKS5w
YWdlKCkgPyBkb2N1bWVudCgpLnBhZ2UoKS0+dGhlbWUoKS5tZWRpYUNvbnRyb2xzRmFkZU91dER1
cmF0aW9uKCkgOiAwX3M7CiAgICAgbV90cmFuc2l0aW9uVGltZXIuc3RhcnRPbmVTaG90KGR1cmF0
aW9uKTsKIH0KIApAQCAtMjA1LDEwICsyMDUsMTAgQEAgdm9pZCBNZWRpYUNvbnRyb2xQYW5lbEVs
ZW1lbnQ6Om1ha2VUcmFuc3BhcmVudCgpCiAgICAgaWYgKCFtX29wYXF1ZSkKICAgICAgICAgcmV0
dXJuOwogCi0gICAgZG91YmxlIGR1cmF0aW9uID0gZG9jdW1lbnQoKS5wYWdlKCkgPyBkb2N1bWVu
dCgpLnBhZ2UoKS0+dGhlbWUoKS5tZWRpYUNvbnRyb2xzRmFkZU91dER1cmF0aW9uKCkgOiAwOwor
ICAgIFNlY29uZHMgZHVyYXRpb24gPSBkb2N1bWVudCgpLnBhZ2UoKSA/IGRvY3VtZW50KCkucGFn
ZSgpLT50aGVtZSgpLm1lZGlhQ29udHJvbHNGYWRlT3V0RHVyYXRpb24oKSA6IDBfczsKIAogICAg
IHNldElubGluZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlUcmFuc2l0aW9uUHJvcGVydHksIENT
U1Byb3BlcnR5T3BhY2l0eSk7Ci0gICAgc2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0
eVRyYW5zaXRpb25EdXJhdGlvbiwgZHVyYXRpb24sIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUyk7
CisgICAgc2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eVRyYW5zaXRpb25EdXJhdGlv
biwgZHVyYXRpb24udmFsdWUoKSwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19TKTsKICAgICBzZXRJ
bmxpbmVTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5T3BhY2l0eSwgMC4wLCBDU1NQcmltaXRpdmVW
YWx1ZTo6Q1NTX05VTUJFUik7CiAKICAgICBtX29wYXF1ZSA9IGZhbHNlOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9WVFRSZWdpb24uY3BwIGIvU291cmNlL1dlYkNvcmUv
aHRtbC90cmFjay9WVFRSZWdpb24uY3BwCmluZGV4IDA1NzhiZjkxMjY3Y2I1NTBhZjAyZGI3ZTIy
M2RkNDM2YzA3ZDUxYjYuLmNiNGQwNWJlYzBjMzNiOWIxY2ZjMGQzYmU0NDU5ZjA1ZDExNDlkYjEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVlRUUmVnaW9uLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1ZUVFJlZ2lvbi5jcHAKQEAgLTU2LDcgKzU2LDcg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogc3RhdGljIGNvbnN0IGZsb2F0IGxpbmVIZWlnaHQgPSA1
LjMzOwogCiAvLyBEZWZhdWx0IHNjcm9sbGluZyBhbmltYXRpb24gdGltZSBwZXJpb2QgKHMpLgot
c3RhdGljIGNvbnN0IGZsb2F0IHNjcm9sbFRpbWUgPSAwLjQzMzsKK3N0YXRpYyBjb25zdCBTZWNv
bmRzIHNjcm9sbFRpbWUgeyA0MzNfbXMgfTsKIAogVlRUUmVnaW9uOjpWVFRSZWdpb24oU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCkKICAgICA6IENvbnRleHREZXN0cnVjdGlvbk9ic2Vy
dmVyKCZjb250ZXh0KQpAQCAtNDAzLDcgKzQwMyw3IEBAIHZvaWQgVlRUUmVnaW9uOjpzdGFydFRp
bWVyKCkKICAgICBpZiAobV9zY3JvbGxUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICByZXR1cm47
CiAKLSAgICBkb3VibGUgZHVyYXRpb24gPSBpc1Njcm9sbGluZ1JlZ2lvbigpID8gc2Nyb2xsVGlt
ZSA6IDA7CisgICAgU2Vjb25kcyBkdXJhdGlvbiA9IGlzU2Nyb2xsaW5nUmVnaW9uKCkgPyBzY3Jv
bGxUaW1lIDogMF9zOwogICAgIG1fc2Nyb2xsVGltZXIuc3RhcnRPbmVTaG90KGR1cmF0aW9uKTsK
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uLmNwcAppbmRleCA1MWM0YmFhODUyZTVhY2EwMmI4MzU1MzYzZGYxNTk3NmI5MWVi
NmViLi5jMWI0Njg4ZjU2YjhjODdjNTVjMWJmZWI4MGM2ZTMyYjQwODcxNzczIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNw
cApAQCAtODAzLDcgKzgwMyw3IEBAIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpmcmFt
ZVN0b3BwZWRMb2FkaW5nSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzJiBpbnN0CiAgICAgICAgIGlu
c3BlY3RvclBhZ2VBZ2VudC0+ZnJhbWVTdG9wcGVkTG9hZGluZyhmcmFtZSk7CiB9CiAKLXZvaWQg
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpmcmFtZVNjaGVkdWxlZE5hdmlnYXRpb25JbXBsKElu
c3RydW1lbnRpbmdBZ2VudHMmIGluc3RydW1lbnRpbmdBZ2VudHMsIEZyYW1lJiBmcmFtZSwgZG91
YmxlIGRlbGF5KQordm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmZyYW1lU2NoZWR1bGVk
TmF2aWdhdGlvbkltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyYgaW5zdHJ1bWVudGluZ0FnZW50cywg
RnJhbWUmIGZyYW1lLCBTZWNvbmRzIGRlbGF5KQogewogICAgIGlmIChJbnNwZWN0b3JQYWdlQWdl
bnQqIGluc3BlY3RvclBhZ2VBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMuaW5zcGVjdG9yUGFn
ZUFnZW50KCkpCiAgICAgICAgIGluc3BlY3RvclBhZ2VBZ2VudC0+ZnJhbWVTY2hlZHVsZWROYXZp
Z2F0aW9uKGZyYW1lLCBkZWxheSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKaW5kZXggNDU4OTc1MjEyMGEzOTQyYzgwZmUyOTU3
YWU2ZTYzMjM2Y2Y4MzE0Ny4uOWMyMTEyNjY3NzM4ZWFmYTY5YTZmZjQ3YzdkOTVkNmNmMDVlNGZi
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1l
bnRhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb24uaApAQCAtMTc5LDcgKzE3OSw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBs
b2FkZXJEZXRhY2hlZEZyb21GcmFtZShGcmFtZSYsIERvY3VtZW50TG9hZGVyJik7CiAgICAgc3Rh
dGljIHZvaWQgZnJhbWVTdGFydGVkTG9hZGluZyhGcmFtZSYpOwogICAgIHN0YXRpYyB2b2lkIGZy
YW1lU3RvcHBlZExvYWRpbmcoRnJhbWUmKTsKLSAgICBzdGF0aWMgdm9pZCBmcmFtZVNjaGVkdWxl
ZE5hdmlnYXRpb24oRnJhbWUmLCBkb3VibGUgZGVsYXkpOworICAgIHN0YXRpYyB2b2lkIGZyYW1l
U2NoZWR1bGVkTmF2aWdhdGlvbihGcmFtZSYsIFNlY29uZHMgZGVsYXkpOwogICAgIHN0YXRpYyB2
b2lkIGZyYW1lQ2xlYXJlZFNjaGVkdWxlZE5hdmlnYXRpb24oRnJhbWUmKTsKICAgICBzdGF0aWMg
dm9pZCB3aWxsRGVzdHJveUNhY2hlZFJlc291cmNlKENhY2hlZFJlc291cmNlJik7CiAKQEAgLTM0
OSw3ICszNDksNyBAQCBwcml2YXRlOgogICAgIHN0YXRpYyB2b2lkIGxvYWRlckRldGFjaGVkRnJv
bUZyYW1lSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzJiwgRG9jdW1lbnRMb2FkZXImKTsKICAgICBz
dGF0aWMgdm9pZCBmcmFtZVN0YXJ0ZWRMb2FkaW5nSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzJiwg
RnJhbWUmKTsKICAgICBzdGF0aWMgdm9pZCBmcmFtZVN0b3BwZWRMb2FkaW5nSW1wbChJbnN0cnVt
ZW50aW5nQWdlbnRzJiwgRnJhbWUmKTsKLSAgICBzdGF0aWMgdm9pZCBmcmFtZVNjaGVkdWxlZE5h
dmlnYXRpb25JbXBsKEluc3RydW1lbnRpbmdBZ2VudHMmLCBGcmFtZSYsIGRvdWJsZSBkZWxheSk7
CisgICAgc3RhdGljIHZvaWQgZnJhbWVTY2hlZHVsZWROYXZpZ2F0aW9uSW1wbChJbnN0cnVtZW50
aW5nQWdlbnRzJiwgRnJhbWUmLCBTZWNvbmRzIGRlbGF5KTsKICAgICBzdGF0aWMgdm9pZCBmcmFt
ZUNsZWFyZWRTY2hlZHVsZWROYXZpZ2F0aW9uSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzJiwgRnJh
bWUmKTsKICAgICBzdGF0aWMgdm9pZCB3aWxsRGVzdHJveUNhY2hlZFJlc291cmNlSW1wbChDYWNo
ZWRSZXNvdXJjZSYpOwogCkBAIC05ODIsNyArOTgyLDcgQEAgaW5saW5lIHZvaWQgSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uOjpmcmFtZVN0b3BwZWRMb2FkaW5nKEZyYW1lJiBmcmFtZSkKICAgICAg
ICAgZnJhbWVTdG9wcGVkTG9hZGluZ0ltcGwoKmluc3RydW1lbnRpbmdBZ2VudHMsIGZyYW1lKTsK
IH0KIAotaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpmcmFtZVNjaGVkdWxl
ZE5hdmlnYXRpb24oRnJhbWUmIGZyYW1lLCBkb3VibGUgZGVsYXkpCitpbmxpbmUgdm9pZCBJbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb246OmZyYW1lU2NoZWR1bGVkTmF2aWdhdGlvbihGcmFtZSYgZnJh
bWUsIFNlY29uZHMgZGVsYXkpCiB7CiAgICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3Ry
dW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yRnJhbWUoZnJhbWUpKQogICAg
ICAgICBmcmFtZVNjaGVkdWxlZE5hdmlnYXRpb25JbXBsKCppbnN0cnVtZW50aW5nQWdlbnRzLCBm
cmFtZSwgZGVsYXkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvclBhZ2VBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFn
ZUFnZW50LmNwcAppbmRleCAzMmZkNDdlOTcwOGM5MGZmMGQzOWQ3ODc0ZDQ1OGUzNGJiMzM0YjRi
Li42YWE2YTA4NDRlZWVlODlkY2ZlZDAzOWZlYWYyMmNlODVkZGMwOTBmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmNwcApAQCAtODA2LDkgKzgw
Niw5IEBAIHZvaWQgSW5zcGVjdG9yUGFnZUFnZW50OjpmcmFtZVN0b3BwZWRMb2FkaW5nKEZyYW1l
JiBmcmFtZSkKICAgICBtX2Zyb250ZW5kRGlzcGF0Y2hlci0+ZnJhbWVTdG9wcGVkTG9hZGluZyhm
cmFtZUlkKCZmcmFtZSkpOwogfQogCi12b2lkIEluc3BlY3RvclBhZ2VBZ2VudDo6ZnJhbWVTY2hl
ZHVsZWROYXZpZ2F0aW9uKEZyYW1lJiBmcmFtZSwgZG91YmxlIGRlbGF5KQordm9pZCBJbnNwZWN0
b3JQYWdlQWdlbnQ6OmZyYW1lU2NoZWR1bGVkTmF2aWdhdGlvbihGcmFtZSYgZnJhbWUsIFNlY29u
ZHMgZGVsYXkpCiB7Ci0gICAgbV9mcm9udGVuZERpc3BhdGNoZXItPmZyYW1lU2NoZWR1bGVkTmF2
aWdhdGlvbihmcmFtZUlkKCZmcmFtZSksIGRlbGF5KTsKKyAgICBtX2Zyb250ZW5kRGlzcGF0Y2hl
ci0+ZnJhbWVTY2hlZHVsZWROYXZpZ2F0aW9uKGZyYW1lSWQoJmZyYW1lKSwgZGVsYXkudmFsdWUo
KSk7CiB9CiAKIHZvaWQgSW5zcGVjdG9yUGFnZUFnZW50OjpmcmFtZUNsZWFyZWRTY2hlZHVsZWRO
YXZpZ2F0aW9uKEZyYW1lJiBmcmFtZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JQYWdlQWdlbnQuaAppbmRleCA3ZTkyOGFlMGMyNTYxNWNlMmFiMWRiNzM3OGEwOWMyZTgz
ODg5ZTQ0Li4yODgzMTgxNzExYTQ2ZTYzMDY2ZDU5MGNlMzRkOGQxNDA5MTVjNzQ5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclBhZ2VBZ2VudC5oCkBAIC0xMTgsNyAr
MTE4LDcgQEAgcHVibGljOgogICAgIHZvaWQgbG9hZGVyRGV0YWNoZWRGcm9tRnJhbWUoRG9jdW1l
bnRMb2FkZXImKTsKICAgICB2b2lkIGZyYW1lU3RhcnRlZExvYWRpbmcoRnJhbWUmKTsKICAgICB2
b2lkIGZyYW1lU3RvcHBlZExvYWRpbmcoRnJhbWUmKTsKLSAgICB2b2lkIGZyYW1lU2NoZWR1bGVk
TmF2aWdhdGlvbihGcmFtZSYsIGRvdWJsZSBkZWxheSk7CisgICAgdm9pZCBmcmFtZVNjaGVkdWxl
ZE5hdmlnYXRpb24oRnJhbWUmLCBTZWNvbmRzIGRlbGF5KTsKICAgICB2b2lkIGZyYW1lQ2xlYXJl
ZFNjaGVkdWxlZE5hdmlnYXRpb24oRnJhbWUmKTsKICAgICB2b2lkIGFwcGx5RW11bGF0ZWRNZWRp
YShTdHJpbmcmKTsKICAgICB2b2lkIGRpZFBhaW50KFJlbmRlck9iamVjdCYsIGNvbnN0IExheW91
dFJlY3QmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2No
ZWR1bGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNw
cAppbmRleCBhMzkxODUxNWFkN2VmOGU3NWQ2MDA4NjUxOTczYjY1ZWUzYWM2NDE1Li5lNmMzOTJl
MDMxM2M1OGQyZTVkMDc0ZWFmMTcxNDI1YTRiNjJkYWNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuY3BwCkBAIC01NDEsNyArNTQxLDcgQEAgdm9pZCBO
YXZpZ2F0aW9uU2NoZWR1bGVyOjpzdGFydFRpbWVyKCkKICAgICBpZiAoIW1fcmVkaXJlY3QtPnNo
b3VsZFN0YXJ0VGltZXIobV9mcmFtZSkpCiAgICAgICAgIHJldHVybjsKIAotICAgIGRvdWJsZSBk
ZWxheSA9IG1fcmVkaXJlY3QtPmRlbGF5KCk7CisgICAgU2Vjb25kcyBkZWxheSA9IDFfcyAqIG1f
cmVkaXJlY3QtPmRlbGF5KCk7CiAgICAgbV90aW1lci5zdGFydE9uZVNob3QoZGVsYXkpOwogICAg
IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZnJhbWVTY2hlZHVsZWROYXZpZ2F0aW9uKG1fZnJh
bWUsIGRlbGF5KTsKICAgICBtX3JlZGlyZWN0LT5kaWRTdGFydFRpbWVyKG1fZnJhbWUsIG1fdGlt
ZXIpOyAvLyBtX3JlZGlyZWN0IG1heSBiZSBudWxsIG9uIHJldHVybiAoZS5nLiB0aGUgY2xpZW50
IGNhbmNlbGVkIHRoZSBsb2FkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2Nh
Y2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNo
ZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggNzE4MTk5MjA1NDU0MDUzZDczZTU3ZTBl
YTdlMDRjNWFkYWYzMWU1OS4uZTg5MDY1YjNhODBkZGU3M2RmOWE0MzcxZjQ2YzNjZWE5NmViMDM0
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNl
TG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3Vy
Y2VMb2FkZXIuY3BwCkBAIC04NCw3ICs4NCw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIC8v
IFRpbWVvdXQgZm9yIGxpbmsgcHJlbG9hZHMgdG8gYmUgdXNlZCBhZnRlciB3aW5kb3cub25sb2Fk
Ci1zdGF0aWMgY29uc3QgaW50IHVudXNlZFByZWxvYWRUaW1lb3V0SW5TZWNvbmRzID0gMzsKK3N0
YXRpYyBjb25zdCBTZWNvbmRzIHVudXNlZFByZWxvYWRUaW1lb3V0IHsgM19zIH07CiAKIHN0YXRp
YyBDYWNoZWRSZXNvdXJjZSogY3JlYXRlUmVzb3VyY2UoQ2FjaGVkUmVzb3VyY2U6OlR5cGUgdHlw
ZSwgQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVzdCwgU2Vzc2lvbklEIHNlc3Npb25JRCkK
IHsKQEAgLTgyOCw3ICs4MjgsNyBAQCB2b2lkIENhY2hlZFJlc291cmNlTG9hZGVyOjpkb2N1bWVu
dERpZEZpbmlzaExvYWRFdmVudCgpCiAgICAgLy8gSWYgbV9wcmVsb2FkcyBpcyBub3QgZW1wdHkg
aGVyZSwgaXQncyBmdWxsIG9mIGxpbmsgcHJlbG9hZHMsCiAgICAgLy8gYXMgc3BlY3VsYXRpdmUg
cHJlbG9hZHMgd2VyZSBjbGVhcmVkIGF0IERDTC4KICAgICBpZiAobV9wcmVsb2FkcyAmJiBtX3By
ZWxvYWRzLT5zaXplKCkgJiYgIW1fdW51c2VkUHJlbG9hZHNUaW1lci5pc0FjdGl2ZSgpKQotICAg
ICAgICBtX3VudXNlZFByZWxvYWRzVGltZXIuc3RhcnRPbmVTaG90KHVudXNlZFByZWxvYWRUaW1l
b3V0SW5TZWNvbmRzKTsKKyAgICAgICAgbV91bnVzZWRQcmVsb2Fkc1RpbWVyLnN0YXJ0T25lU2hv
dCh1bnVzZWRQcmVsb2FkVGltZW91dCk7CiB9CiAKIHZvaWQgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6
OnN0b3BVbnVzZWRQcmVsb2Fkc1RpbWVyKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9pY29uL0ljb25EYXRhYmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNvbi9J
Y29uRGF0YWJhc2UuY3BwCmluZGV4IDRjZGNmYWFkNmU4MzJhMzlhNWMzNTI2NTgwNTg1MDg2YjNk
OWY3MmYuLjhkZTk0Y2U1ZGNhNzY3MTE2MzYyMDJlNmQzMWY3NTMwZDhhMjkyZDIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmNwcApAQCAtNjcsNyArNjcsNyBA
QCBzdGF0aWMgY29uc3QgaW50IGN1cnJlbnREYXRhYmFzZVZlcnNpb24gPSA2OwogLy8gSWNvbnMg
ZXhwaXJlIG9uY2UgZXZlcnkgNCBkYXlzCiBzdGF0aWMgY29uc3QgaW50IGljb25FeHBpcmF0aW9u
VGltZSA9IDYwKjYwKjI0KjQ7IAogCi1zdGF0aWMgY29uc3QgaW50IHVwZGF0ZVRpbWVyRGVsYXkg
PSA1OyAKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHVwZGF0ZVRpbWVyRGVsYXkgeyA1X3MgfTsKIAog
c3RhdGljIGJvb2wgY2hlY2tJbnRlZ3JpdHlPbk9wZW4gPSBmYWxzZTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9FdmVudEhhbmRsZXIuY3BwCmluZGV4IGRjYTgyMzA0NjMwYzMyMDg1NWNkYWZlMjEzYmVhMDMy
OGZjNjRjZjMuLjg0NWYzYWViZWY1NDdlNjc4ZjFkMGM3OWQ5ZTU5M2ZhMGJjNWQ3ZmMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKQEAgLTE1NywxNCArMTU3LDE0IEBAIHVzaW5n
IG5hbWVzcGFjZSBTVkdOYW1lczsKIC8vIGR1cmluZyBhIHNjcm9sbC4gVGhlIHNob3J0IGludGVy
dmFsIGlzIHVzZWQgaWYgdGhlIGNvbnRlbnQgcmVzcG9uZHMgdG8gdGhlIG1vdXNlIGV2ZW50cwog
Ly8gaW4gZmFrZU1vdXNlTW92ZUR1cmF0aW9uVGhyZXNob2xkIG9yIGxlc3MsIG90aGVyd2lzZSB0
aGUgbG9uZyBpbnRlcnZhbCBpcyB1c2VkLgogY29uc3QgZG91YmxlIGZha2VNb3VzZU1vdmVEdXJh
dGlvblRocmVzaG9sZCA9IDAuMDE7Ci1jb25zdCBkb3VibGUgZmFrZU1vdXNlTW92ZVNob3J0SW50
ZXJ2YWwgPSAwLjE7Ci1jb25zdCBkb3VibGUgZmFrZU1vdXNlTW92ZUxvbmdJbnRlcnZhbCA9IDAu
MjU7Citjb25zdCBTZWNvbmRzIGZha2VNb3VzZU1vdmVTaG9ydEludGVydmFsID0geyAxMDBfbXMg
fTsKK2NvbnN0IFNlY29uZHMgZmFrZU1vdXNlTW92ZUxvbmdJbnRlcnZhbCA9IHsgMjUwX21zIH07
CiAjZW5kaWYKIAogI2lmIEVOQUJMRShDVVJTT1JfU1VQUE9SVCkKIC8vIFRoZSBhbW91bnQgb2Yg
dGltZSB0byB3YWl0IGZvciBhIGN1cnNvciB1cGRhdGUgb24gc3R5bGUgYW5kIGxheW91dCBjaGFu
Z2VzCiAvLyBTZXQgdG8gNTBIeiwgbm8gbmVlZCB0byBiZSBmYXN0ZXIgdGhhbiBjb21tb24gc2Ny
ZWVuIHJlZnJlc2ggcmF0ZQotY29uc3QgZG91YmxlIGN1cnNvclVwZGF0ZUludGVydmFsID0gMC4w
MjsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIGN1cnNvclVwZGF0ZUludGVydmFsIHsgMjBfbXMgfTsK
IAogY29uc3QgaW50IG1heGltdW1DdXJzb3JTaXplID0gMTI4OwogI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRXZlbnRTb3VyY2UuY3BwCmluZGV4IGIxZGVkM2Y4ZjdjMWRhMTJiOTM3ZTM1YmNlZmQ0NDgx
OTg1ZjYxM2MuLjM3OTQzMDlkZWQyNDVjNWYyN2Y3N2JhY2JkZjk4ZWMxYjM3ZjNlN2MgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuY3BwCkBAIC0xMzgsNyArMTM4LDcgQEAgdm9pZCBFdmVu
dFNvdXJjZTo6c2NoZWR1bGVJbml0aWFsQ29ubmVjdCgpCiB2b2lkIEV2ZW50U291cmNlOjpzY2hl
ZHVsZVJlY29ubmVjdCgpCiB7CiAgICAgbV9zdGF0ZSA9IENPTk5FQ1RJTkc7Ci0gICAgbV9jb25u
ZWN0VGltZXIuc3RhcnRPbmVTaG90KG1fcmVjb25uZWN0RGVsYXkgLyAxMDAwLjApOworICAgIG1f
Y29ubmVjdFRpbWVyLnN0YXJ0T25lU2hvdCgxX21zICogbV9yZWNvbm5lY3REZWxheSk7CiAgICAg
ZGlzcGF0Y2hFdmVudChFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5lcnJvckV2ZW50LCBmYWxz
ZSwgZmFsc2UpKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Gb2N1c0Nv
bnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Gb2N1c0NvbnRyb2xsZXIuY3BwCmlu
ZGV4IGExYjg4ZWViODEyZGJhODBmNzFlMzA0OTVjNzc0NTgwODVjNjMyZDcuLjhmMGEyNzdiMzM1
NmJkMTcyMDE0N2QzNzMxNjYwZjI2N2JjNWRjMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRm9jdXNDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZvY3Vz
Q29udHJvbGxlci5jcHAKQEAgLTEwODksNyArMTA4OSw3IEBAIGJvb2wgRm9jdXNDb250cm9sbGVy
OjphZHZhbmNlRm9jdXNEaXJlY3Rpb25hbGx5KEZvY3VzRGlyZWN0aW9uIGRpcmVjdGlvbiwgS2V5
Ym9hCiAKIHZvaWQgRm9jdXNDb250cm9sbGVyOjpzZXRGb2N1c2VkRWxlbWVudE5lZWRzUmVwYWlu
dCgpCiB7Ci0gICAgbV9mb2N1c1JlcGFpbnRUaW1lci5zdGFydE9uZVNob3QoMC4wMzMpOworICAg
IG1fZm9jdXNSZXBhaW50VGltZXIuc3RhcnRPbmVTaG90KDMzX21zKTsKIH0KIAogdm9pZCBGb2N1
c0NvbnRyb2xsZXI6OmZvY3VzUmVwYWludFRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZp
ZXcuY3BwCmluZGV4IGZhYzFlMmZiM2NkOWMxYWU1YjM2MjQ0OGRhYjNkMmE4MWEwMGU2Y2YuLmMz
ZmNjOTMxMTFlMmI3NWE0MzcwZDg1MmMwNTA3MDA5ZWQzNjM1MTkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Zy
YW1lVmlldy5jcHAKQEAgLTI1MTUsNyArMjUxNSw3IEBAIHZvaWQgRnJhbWVWaWV3OjpzY3JvbGxQ
b3NpdGlvbkNoYW5nZWQoY29uc3QgU2Nyb2xsUG9zaXRpb24mIG9sZFBvc2l0aW9uLCBjb25zdCBT
CiAgICAgICAgIG1fZGVsYXllZFNjcm9sbEV2ZW50VGltZXIuc3RvcCgpOwogICAgICAgICBzZW5k
U2Nyb2xsRXZlbnQoKTsKICAgICB9IGVsc2UgaWYgKCFtX2RlbGF5ZWRTY3JvbGxFdmVudFRpbWVy
LmlzQWN0aXZlKCkpCi0gICAgICAgIG1fZGVsYXllZFNjcm9sbEV2ZW50VGltZXIuc3RhcnRPbmVT
aG90KHRocm90dGxpbmdEZWxheS52YWx1ZSgpKTsKKyAgICAgICAgbV9kZWxheWVkU2Nyb2xsRXZl
bnRUaW1lci5zdGFydE9uZVNob3QodGhyb3R0bGluZ0RlbGF5KTsKIAogICAgIGlmIChEb2N1bWVu
dCogZG9jdW1lbnQgPSBmcmFtZSgpLmRvY3VtZW50KCkpCiAgICAgICAgIGRvY3VtZW50LT5zZW5k
V2lsbFJldmVhbEVkZ2VFdmVudHNJZk5lZWRlZChvbGRQb3NpdGlvbiwgbmV3UG9zaXRpb24sIHZp
c2libGVDb250ZW50UmVjdCgpLCBjb250ZW50c1NpemUoKSk7CkBAIC0yOTM0LDcgKzI5MzQsNyBA
QCB2b2lkIEZyYW1lVmlldzo6ZW5hYmxlU3BlY3VsYXRpdmVUaWxpbmdJZk5lZWRlZCgpCiAgICAg
aWYgKG1fc3BlY3VsYXRpdmVUaWxpbmdFbmFibGVUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICBy
ZXR1cm47CiAgICAgLy8gRGVsYXkgZW5hYmxpbmcgYSBiaXQgYXMgbG9hZCBjb21wbGV0aW9uIG1h
eSB0cmlnZ2VyIGZ1cnRoZXIgbG9hZGluZyBmcm9tIHNjcmlwdHMuCi0gICAgc3RhdGljIGNvbnN0
IGRvdWJsZSBzcGVjdWxhdGl2ZVRpbGluZ0VuYWJsZURlbGF5ID0gMC41OworICAgIHN0YXRpYyBj
b25zdCBTZWNvbmRzIHNwZWN1bGF0aXZlVGlsaW5nRW5hYmxlRGVsYXkgeyA1MDBfbXMgfTsKICAg
ICBtX3NwZWN1bGF0aXZlVGlsaW5nRW5hYmxlVGltZXIuc3RhcnRPbmVTaG90KHNwZWN1bGF0aXZl
VGlsaW5nRW5hYmxlRGVsYXkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1NldHRpbmdzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCmluZGV4IGU3
Y2M5MGFmYzIwM2Q3YzNhOTllNDVhMjc0NmE2ZDg2MzA2YTFkZDcuLjQ1MDcwZWQwOTQ0ZWNhMWJm
YzdjY2FjYTRhMDE0OGE5YjhkZTdhYTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
U2V0dGluZ3MuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCkBAIC0y
MTIsNyArMjEyLDcgQEAgU2V0dGluZ3M6OlNldHRpbmdzKFBhZ2UqIHBhZ2UpCiAgICAgLCBtX3Rv
dWNoRXZlbnRFbXVsYXRpb25FbmFibGVkKGZhbHNlKQogI2VuZGlmCiAgICAgLCBtX3Njcm9sbGlu
Z1BlcmZvcm1hbmNlTG9nZ2luZ0VuYWJsZWQoZmFsc2UpCi0gICAgLCBtX3RpbWVXaXRob3V0TW91
c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKDMpCisgICAgLCBtX3RpbWVXaXRob3V0TW91
c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKDNfcykKICAgICAsIG1fc2V0SW1hZ2VMb2Fk
aW5nU2V0dGluZ3NUaW1lcigqdGhpcywgJlNldHRpbmdzOjppbWFnZUxvYWRpbmdTZXR0aW5nc1Rp
bWVyRmlyZWQpCiAgICAgLCBtX2hpZGRlblBhZ2VET01UaW1lclRocm90dGxpbmdFbmFibGVkKGZh
bHNlKQogICAgICwgbV9oaWRkZW5QYWdlQ1NTQW5pbWF0aW9uU3VzcGVuc2lvbkVuYWJsZWQoZmFs
c2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKaW5kZXggOWYzNzA3NTViMGI4MmJmZTgxOTI4MGE1OTgx
NDBkYTM5ZjU4MjM4ZC4uZDE5NmRjMmM5NjczZjU3ZGIwZGVkOWUzNjA1MTlkMTY4YWFiOWFlYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaApAQCAtMjU2LDggKzI1Niw4IEBAIHB1YmxpYzoKICAgICBX
RUJDT1JFX0VYUE9SVCBzdGF0aWMgdm9pZCBzZXRTaG91bGRSZXNwZWN0UHJpb3JpdHlJbkNTU0F0
dHJpYnV0ZVNldHRlcnMoYm9vbCk7CiAgICAgc3RhdGljIGJvb2wgc2hvdWxkUmVzcGVjdFByaW9y
aXR5SW5DU1NBdHRyaWJ1dGVTZXR0ZXJzKCk7CiAKLSAgICB2b2lkIHNldFRpbWVXaXRob3V0TW91
c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKGRvdWJsZSB0aW1lKSB7IG1fdGltZVdpdGhv
dXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMgPSB0aW1lOyB9Ci0gICAgZG91Ymxl
IHRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKCkgY29uc3QgeyBy
ZXR1cm4gbV90aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9sczsgfQor
ICAgIHZvaWQgc2V0VGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMo
U2Vjb25kcyB0aW1lKSB7IG1fdGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29u
dHJvbHMgPSB0aW1lOyB9CisgICAgU2Vjb25kcyB0aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZv
cmVIaWRpbmdDb250cm9scygpIGNvbnN0IHsgcmV0dXJuIG1fdGltZVdpdGhvdXRNb3VzZU1vdmVt
ZW50QmVmb3JlSGlkaW5nQ29udHJvbHM7IH0KIAogICAgIGJvb2wgaGlkZGVuUGFnZUNTU0FuaW1h
dGlvblN1c3BlbnNpb25FbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9oaWRkZW5QYWdlQ1NTQW5p
bWF0aW9uU3VzcGVuc2lvbkVuYWJsZWQ7IH0KICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldEhp
ZGRlblBhZ2VDU1NBbmltYXRpb25TdXNwZW5zaW9uRW5hYmxlZChib29sKTsKQEAgLTM2MSw3ICsz
NjEsNyBAQCBwcml2YXRlOgogI2VuZGlmCiAgICAgYm9vbCBtX3Njcm9sbGluZ1BlcmZvcm1hbmNl
TG9nZ2luZ0VuYWJsZWQgOiAxOwogCi0gICAgZG91YmxlIG1fdGltZVdpdGhvdXRNb3VzZU1vdmVt
ZW50QmVmb3JlSGlkaW5nQ29udHJvbHM7CisgICAgU2Vjb25kcyBtX3RpbWVXaXRob3V0TW91c2VN
b3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzOwogCiAgICAgVGltZXIgbV9zZXRJbWFnZUxvYWRp
bmdTZXR0aW5nc1RpbWVyOwogICAgIHZvaWQgaW1hZ2VMb2FkaW5nU2V0dGluZ3NUaW1lckZpcmVk
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1N1c3BlbmRhYmxlVGltZXIuaCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3VzcGVuZGFibGVUaW1lci5oCmluZGV4IDMxMjkyMDhmZTU1
ZGNhMGQwOTg1NWM5ZTIzZTFlYjc3MTMxNDM0ZmMuLjU1ODQ0MzQwNzgzNDZmYjliNTdhNmVhNTlh
ZmNlMjdhNjI0MGI1NWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3VzcGVuZGFi
bGVUaW1lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3VzcGVuZGFibGVUaW1lci5oCkBA
IC00NSw4ICs0NSw2IEBAIHB1YmxpYzoKICAgICBib29sIGlzQWN0aXZlKCkgY29uc3QgeyByZXR1
cm4gVGltZXJCYXNlOjppc0FjdGl2ZSgpIHx8IChtX3N1c3BlbmRlZCAmJiBtX3NhdmVkSXNBY3Rp
dmUpOyB9CiAgICAgYm9vbCBpc1N1c3BlbmRlZCgpIGNvbnN0IHsgcmV0dXJuIG1fc3VzcGVuZGVk
OyB9CiAKLSAgICB2b2lkIHN0YXJ0T25lU2hvdChkb3VibGUgaW50ZXJ2YWwpIHsgc3RhcnRPbmVT
aG90KFNlY29uZHMgeyBpbnRlcnZhbCB9KTsgfQotCiAgICAgU2Vjb25kcyByZXBlYXRJbnRlcnZh
bCgpIGNvbnN0OwogCiAgICAgdm9pZCBzdGFydFJlcGVhdGluZyhTZWNvbmRzIHJlcGVhdEludGVy
dmFsKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0NTU0FuaW1h
dGlvbkNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQ1NTQW5p
bWF0aW9uQ29udHJvbGxlci5jcHAKaW5kZXggZGNkN2U0MGFkMWU5YWZkYTlkNWFmY2QxMDg2MWRk
NGZlNWY1MDZjMy4uMDBjNzNlMTZiYzMxYWE3NThjOTM4NGQ1NGQ0NzA4YzI4MmE4MTQ2MSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQ1NTQW5pbWF0aW9uQ29udHJv
bGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQ1NTQW5pbWF0aW9u
Q29udHJvbGxlci5jcHAKQEAgLTQ5LDkgKzQ5LDkgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
Ly8gQWxsb3cgYSBsaXR0bGUgbW9yZSB0aGFuIDYwZnBzIHRvIG1ha2Ugc3VyZSB3ZSBjYW4gYXQg
bGVhc3QgaGl0IHRoYXQgZnJhbWUgcmF0ZS4KLXN0YXRpYyBjb25zdCBTZWNvbmRzIGFuaW1hdGlv
blRpbWVyRGVsYXkgeyAwLjAxNSB9Oworc3RhdGljIGNvbnN0IFNlY29uZHMgYW5pbWF0aW9uVGlt
ZXJEZWxheSB7IDE1X21zIH07CiAvLyBBbGxvdyBhIGxpdHRsZSBtb3JlIHRoYW4gMzBmcHMgdG8g
bWFrZSBzdXJlIHdlIGNhbiBhdCBsZWFzdCBoaXQgdGhhdCBmcmFtZSByYXRlLgotc3RhdGljIGNv
bnN0IFNlY29uZHMgYW5pbWF0aW9uVGltZXJUaHJvdHRsZWREZWxheSB7IDAuMDMwIH07CitzdGF0
aWMgY29uc3QgU2Vjb25kcyBhbmltYXRpb25UaW1lclRocm90dGxlZERlbGF5IHsgMzBfbXMgfTsK
IAogY2xhc3MgQW5pbWF0aW9uUHJpdmF0ZVVwZGF0ZUJsb2NrIHsKIHB1YmxpYzoKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL0V2ZW50SGFuZGxlck1hYy5tbSBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvbWFjL0V2ZW50SGFuZGxlck1hYy5tbQppbmRleCBmNTFlMGE4YTQyZTBkNjg1
NmUzNjMyNzY4NTM4NzJlMWM3YjMzN2Q4Li5mNzFlNGZkYzE1OWMzNWE2MTBmNDVmYjYxNWIwZjRl
MTQ4ZGJhODY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9FdmVudEhhbmRs
ZXJNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1t
CkBAIC03NCw3ICs3NCw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY29uc3QgZG91Ymxl
IHJlc2V0TGF0Y2hlZFN0YXRlVGltZW91dCA9IDAuMTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHJl
c2V0TGF0Y2hlZFN0YXRlVGltZW91dCB7IDEwMF9tcyB9OwogCiBzdGF0aWMgUmV0YWluUHRyPE5T
RXZlbnQ+JiBjdXJyZW50TlNFdmVudFNsb3QoKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9tYWMvVGV4dEluZGljYXRvcldpbmRvdy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
bWFjL1RleHRJbmRpY2F0b3JXaW5kb3cubW0KaW5kZXggZTU5MjliYTYzZGU1OWY0OTgzYmQ4Y2Y5
YzMwMDY0ZTY3MTc3M2NiYy4uZmMzNmRjYjEzY2VkN2U1YWMyY2YwMTc3M2FjZTc5MzIxNDY2MGRk
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvVGV4dEluZGljYXRvcldpbmRv
dy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9UZXh0SW5kaWNhdG9yV2luZG93Lm1t
CkBAIC00NzYsNyArNDc2LDcgQEAgdm9pZCBUZXh0SW5kaWNhdG9yV2luZG93OjpzZXRUZXh0SW5k
aWNhdG9yKFJlZjxUZXh0SW5kaWNhdG9yPiB0ZXh0SW5kaWNhdG9yLCBDR1IKICAgICAgICAgW21f
dGV4dEluZGljYXRvclZpZXcgcHJlc2VudF07CiAKICAgICBpZiAobGlmZXRpbWUgPT0gVGV4dElu
ZGljYXRvcldpbmRvd0xpZmV0aW1lOjpUZW1wb3JhcnkpCi0gICAgICAgIG1fdGVtcG9yYXJ5VGV4
dEluZGljYXRvclRpbWVyLnN0YXJ0T25lU2hvdCh0aW1lQmVmb3JlRmFkZVN0YXJ0cyk7CisgICAg
ICAgIG1fdGVtcG9yYXJ5VGV4dEluZGljYXRvclRpbWVyLnN0YXJ0T25lU2hvdCgxX3MgKiB0aW1l
QmVmb3JlRmFkZVN0YXJ0cyk7CiB9CiAKIHZvaWQgVGV4dEluZGljYXRvcldpbmRvdzo6Y2xvc2VX
aW5kb3coKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vSHlzdGVyZXNpc0Fj
dGl2aXR5LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9IeXN0ZXJlc2lzQWN0aXZpdHkuaApp
bmRleCAxMjhlZjgyMDllMmE3NDgzMDllMDYyODIwZWRjODIzOTgwYzBiMmUxLi41OTllMTcxZWMx
YWNhZDIwZWQ4ZjE1ZDFiNDVjOWVhYTlmMWNlMGEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9IeXN0ZXJlc2lzQWN0aXZpdHkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9IeXN0ZXJlc2lzQWN0aXZpdHkuaApAQCAtNjUsNyArNjUsNyBAQCBwdWJsaWM6CiAgICAg
ICAgICAgICByZXR1cm47CiAgICAgICAgIG1fYWN0aXZlID0gZmFsc2U7CiAKLSAgICAgICAgbV90
aW1lci5zdGFydE9uZVNob3QobV9oeXN0ZXJlc2lzU2Vjb25kcyk7CisgICAgICAgIG1fdGltZXIu
c3RhcnRPbmVTaG90KDFfcyAqIG1faHlzdGVyZXNpc1NlY29uZHMpOwogICAgIH0KIAogICAgIHZv
aWQgaW1wdWxzZSgpCkBAIC04OSw3ICs4OSw3IEBAIHByaXZhdGU6CiAgICAgfQogCiAgICAgc3Rk
OjpmdW5jdGlvbjx2b2lkKEh5c3RlcmVzaXNTdGF0ZSk+IG1fY2FsbGJhY2s7Ci0gICAgZG91Ymxl
IG1faHlzdGVyZXNpc1NlY29uZHM7CisgICAgZG91YmxlIG1faHlzdGVyZXNpc1NlY29uZHM7IC8v
IEZJWE1FOiBTaG91bGQgdXNlIFNlY29uZHMuCiAgICAgYm9vbCBtX2FjdGl2ZTsKICAgICBUaW1l
ciBtX3RpbWVyOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9s
bEFuaW1hdGlvblNtb290aC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmlt
YXRpb25TbW9vdGguY3BwCmluZGV4IGM4ZjVkNWRjMDM1NDViYmU1NjA2Nzk3ODZlZDkxMTk3NDE2
NGVlNzYuLjdhNWYxZWE5YWRlMjIyM2M0MDkwY2E0YzhhZDQ5NWU2Y2EzM2VhMzAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdGlvblNtb290aC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmNwcApAQCAt
MzcsOCArMzcsOCBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdGF0aWMgY29uc3QgZG91Ymxl
IGZyYW1lUmF0ZSA9IDYwOwotc3RhdGljIGNvbnN0IGRvdWJsZSB0aWNrVGltZSA9IDEgLyBmcmFt
ZVJhdGU7Ci1zdGF0aWMgY29uc3QgZG91YmxlIG1pbmltdW1UaW1lckludGVydmFsID0gLjAwMTsK
K3N0YXRpYyBjb25zdCBTZWNvbmRzIHRpY2tUaW1lID0gMV9zIC8gZnJhbWVSYXRlOworc3RhdGlj
IGNvbnN0IFNlY29uZHMgbWluaW11bVRpbWVySW50ZXJ2YWwgeyAxX21zIH07CiAKIFNjcm9sbEFu
aW1hdGlvblNtb290aDo6U2Nyb2xsQW5pbWF0aW9uU21vb3RoKFNjcm9sbGFibGVBcmVhJiBzY3Jv
bGxhYmxlQXJlYSwgY29uc3QgRmxvYXRQb2ludCYgcG9zaXRpb24sIHN0ZDo6ZnVuY3Rpb248dm9p
ZCAoRmxvYXRQb2ludCYmKT4mJiBub3RpZnlQb3NpdGlvbkNoYW5nZWRGdW5jdGlvbikKICAgICA6
IFNjcm9sbEFuaW1hdGlvbihzY3JvbGxhYmxlQXJlYSkKQEAgLTIyNiw0MCArMjI2LDQwIEBAIHN0
YXRpYyBpbmxpbmUgZG91YmxlIHJlbGVhc2VBcmVhKFNjcm9sbEFuaW1hdGlvblNtb290aDo6Q3Vy
dmUgY3VydmUsIGRvdWJsZSBzdGFyCiAgICAgcmV0dXJuIGVuZFZhbHVlIC0gc3RhcnRWYWx1ZTsK
IH0KIAotc3RhdGljIGlubGluZSB2b2lkIGdldEFuaW1hdGlvblBhcmFtZXRlcnNGb3JHcmFudWxh
cml0eShTY3JvbGxHcmFudWxhcml0eSBncmFudWxhcml0eSwgZG91YmxlJiBhbmltYXRpb25UaW1l
LCBkb3VibGUmIHJlcGVhdE1pbmltdW1TdXN0YWluVGltZSwgZG91YmxlJiBhdHRhY2tUaW1lLCBk
b3VibGUmIHJlbGVhc2VUaW1lLCBTY3JvbGxBbmltYXRpb25TbW9vdGg6OkN1cnZlJiBjb2FzdFRp
bWVDdXJ2ZSwgZG91YmxlJiBtYXhpbXVtQ29hc3RUaW1lKQorc3RhdGljIGlubGluZSB2b2lkIGdl
dEFuaW1hdGlvblBhcmFtZXRlcnNGb3JHcmFudWxhcml0eShTY3JvbGxHcmFudWxhcml0eSBncmFu
dWxhcml0eSwgU2Vjb25kcyYgYW5pbWF0aW9uVGltZSwgU2Vjb25kcyYgcmVwZWF0TWluaW11bVN1
c3RhaW5UaW1lLCBTZWNvbmRzJiBhdHRhY2tUaW1lLCBTZWNvbmRzJiByZWxlYXNlVGltZSwgU2Ny
b2xsQW5pbWF0aW9uU21vb3RoOjpDdXJ2ZSYgY29hc3RUaW1lQ3VydmUsIFNlY29uZHMmIG1heGlt
dW1Db2FzdFRpbWUpCiB7CiAgICAgc3dpdGNoIChncmFudWxhcml0eSkgewogICAgIGNhc2UgU2Ny
b2xsQnlEb2N1bWVudDoKLSAgICAgICAgYW5pbWF0aW9uVGltZSA9IDIwICogdGlja1RpbWU7Ci0g
ICAgICAgIHJlcGVhdE1pbmltdW1TdXN0YWluVGltZSA9IDEwICogdGlja1RpbWU7Ci0gICAgICAg
IGF0dGFja1RpbWUgPSAxMCAqIHRpY2tUaW1lOwotICAgICAgICByZWxlYXNlVGltZSA9IDEwICog
dGlja1RpbWU7CisgICAgICAgIGFuaW1hdGlvblRpbWUgPSB0aWNrVGltZSAqIDEwOworICAgICAg
ICByZXBlYXRNaW5pbXVtU3VzdGFpblRpbWUgPSB0aWNrVGltZSAqIDEwOworICAgICAgICBhdHRh
Y2tUaW1lID0gdGlja1RpbWUgKiAxMDsKKyAgICAgICAgcmVsZWFzZVRpbWUgPSB0aWNrVGltZSAq
IDEwOwogICAgICAgICBjb2FzdFRpbWVDdXJ2ZSA9IFNjcm9sbEFuaW1hdGlvblNtb290aDo6Q3Vy
dmU6OkxpbmVhcjsKLSAgICAgICAgbWF4aW11bUNvYXN0VGltZSA9IDE7CisgICAgICAgIG1heGlt
dW1Db2FzdFRpbWUgPSAxX3M7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgU2Nyb2xsQnlMaW5l
OgotICAgICAgICBhbmltYXRpb25UaW1lID0gMTAgKiB0aWNrVGltZTsKLSAgICAgICAgcmVwZWF0
TWluaW11bVN1c3RhaW5UaW1lID0gNyAqIHRpY2tUaW1lOwotICAgICAgICBhdHRhY2tUaW1lID0g
MyAqIHRpY2tUaW1lOwotICAgICAgICByZWxlYXNlVGltZSA9IDMgKiB0aWNrVGltZTsKKyAgICAg
ICAgYW5pbWF0aW9uVGltZSA9IHRpY2tUaW1lICogMTA7CisgICAgICAgIHJlcGVhdE1pbmltdW1T
dXN0YWluVGltZSA9IHRpY2tUaW1lICogNzsKKyAgICAgICAgYXR0YWNrVGltZSA9IHRpY2tUaW1l
ICogMzsKKyAgICAgICAgcmVsZWFzZVRpbWUgPSB0aWNrVGltZSAqIDM7CiAgICAgICAgIGNvYXN0
VGltZUN1cnZlID0gU2Nyb2xsQW5pbWF0aW9uU21vb3RoOjpDdXJ2ZTo6TGluZWFyOwotICAgICAg
ICBtYXhpbXVtQ29hc3RUaW1lID0gMTsKKyAgICAgICAgbWF4aW11bUNvYXN0VGltZSA9IDFfczsK
ICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBTY3JvbGxCeVBhZ2U6Ci0gICAgICAgIGFuaW1hdGlv
blRpbWUgPSAxNSAqIHRpY2tUaW1lOwotICAgICAgICByZXBlYXRNaW5pbXVtU3VzdGFpblRpbWUg
PSAxMCAqIHRpY2tUaW1lOwotICAgICAgICBhdHRhY2tUaW1lID0gNSAqIHRpY2tUaW1lOwotICAg
ICAgICByZWxlYXNlVGltZSA9IDUgKiB0aWNrVGltZTsKKyAgICAgICAgYW5pbWF0aW9uVGltZSA9
IHRpY2tUaW1lICogMTU7CisgICAgICAgIHJlcGVhdE1pbmltdW1TdXN0YWluVGltZSA9IHRpY2tU
aW1lICogMTA7CisgICAgICAgIGF0dGFja1RpbWUgPSB0aWNrVGltZSAqIDU7CisgICAgICAgIHJl
bGVhc2VUaW1lID0gdGlja1RpbWUgKiA1OwogICAgICAgICBjb2FzdFRpbWVDdXJ2ZSA9IFNjcm9s
bEFuaW1hdGlvblNtb290aDo6Q3VydmU6OkxpbmVhcjsKLSAgICAgICAgbWF4aW11bUNvYXN0VGlt
ZSA9IDE7CisgICAgICAgIG1heGltdW1Db2FzdFRpbWUgPSAxX3M7CiAgICAgICAgIGJyZWFrOwog
ICAgIGNhc2UgU2Nyb2xsQnlQaXhlbDoKLSAgICAgICAgYW5pbWF0aW9uVGltZSA9IDExICogdGlj
a1RpbWU7Ci0gICAgICAgIHJlcGVhdE1pbmltdW1TdXN0YWluVGltZSA9IDIgKiB0aWNrVGltZTsK
LSAgICAgICAgYXR0YWNrVGltZSA9IDMgKiB0aWNrVGltZTsKLSAgICAgICAgcmVsZWFzZVRpbWUg
PSAzICogdGlja1RpbWU7CisgICAgICAgIGFuaW1hdGlvblRpbWUgPSB0aWNrVGltZSAqIDExOwor
ICAgICAgICByZXBlYXRNaW5pbXVtU3VzdGFpblRpbWUgPSB0aWNrVGltZSAqIDI7CisgICAgICAg
IGF0dGFja1RpbWUgPSB0aWNrVGltZSAqIDM7CisgICAgICAgIHJlbGVhc2VUaW1lID0gdGlja1Rp
bWUgKiAzOwogICAgICAgICBjb2FzdFRpbWVDdXJ2ZSA9IFNjcm9sbEFuaW1hdGlvblNtb290aDo6
Q3VydmU6OlF1YWRyYXRpYzsKLSAgICAgICAgbWF4aW11bUNvYXN0VGltZSA9IDEuMjU7CisgICAg
ICAgIG1heGltdW1Db2FzdFRpbWUgPSAxMjUwX21zOwogICAgICAgICBicmVhazsKICAgICBkZWZh
dWx0OgogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKQEAgLTI3MCw3ICsyNzAsNyBAQCBi
b29sIFNjcm9sbEFuaW1hdGlvblNtb290aDo6dXBkYXRlUGVyQXhpc0RhdGEoUGVyQXhpc0RhdGEm
IGRhdGEsIFNjcm9sbEdyYW51bGFyaQogewogICAgIGlmICghZGF0YS5zdGFydFRpbWUgfHwgIWRl
bHRhIHx8IChkZWx0YSA8IDApICE9IChkYXRhLmRlc2lyZWRQb3NpdGlvbiAtIGRhdGEuY3VycmVu
dFBvc2l0aW9uIDwgMCkpIHsKICAgICAgICAgZGF0YS5kZXNpcmVkUG9zaXRpb24gPSBkYXRhLmN1
cnJlbnRQb3NpdGlvbjsKLSAgICAgICAgZGF0YS5zdGFydFRpbWUgPSAwOworICAgICAgICBkYXRh
LnN0YXJ0VGltZSA9IHsgfTsKICAgICB9CiAgICAgZmxvYXQgbmV3UG9zaXRpb24gPSBkYXRhLmRl
c2lyZWRQb3NpdGlvbiArIGRlbHRhOwogCkBAIC0yNzksNyArMjc5LDcgQEAgYm9vbCBTY3JvbGxB
bmltYXRpb25TbW9vdGg6OnVwZGF0ZVBlckF4aXNEYXRhKFBlckF4aXNEYXRhJiBkYXRhLCBTY3Jv
bGxHcmFudWxhcmkKICAgICBpZiAobmV3UG9zaXRpb24gPT0gZGF0YS5kZXNpcmVkUG9zaXRpb24p
CiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIGRvdWJsZSBhbmltYXRpb25UaW1lLCByZXBl
YXRNaW5pbXVtU3VzdGFpblRpbWUsIGF0dGFja1RpbWUsIHJlbGVhc2VUaW1lLCBtYXhpbXVtQ29h
c3RUaW1lOworICAgIFNlY29uZHMgYW5pbWF0aW9uVGltZSwgcmVwZWF0TWluaW11bVN1c3RhaW5U
aW1lLCBhdHRhY2tUaW1lLCByZWxlYXNlVGltZSwgbWF4aW11bUNvYXN0VGltZTsKICAgICBDdXJ2
ZSBjb2FzdFRpbWVDdXJ2ZTsKICAgICBnZXRBbmltYXRpb25QYXJhbWV0ZXJzRm9yR3JhbnVsYXJp
dHkoZ3JhbnVsYXJpdHksIGFuaW1hdGlvblRpbWUsIHJlcGVhdE1pbmltdW1TdXN0YWluVGltZSwg
YXR0YWNrVGltZSwgcmVsZWFzZVRpbWUsIGNvYXN0VGltZUN1cnZlLCBtYXhpbXVtQ29hc3RUaW1l
KTsKIApAQCAtMjk4LDcgKzI5OCw3IEBAIGJvb2wgU2Nyb2xsQW5pbWF0aW9uU21vb3RoOjp1cGRh
dGVQZXJBeGlzRGF0YShQZXJBeGlzRGF0YSYgZGF0YSwgU2Nyb2xsR3JhbnVsYXJpCiAKICAgICBp
ZiAoIWRhdGEuc3RhcnRUaW1lKSB7CiAgICAgICAgIC8vIEZJWE1FOiBUaGlzIHNob3VsZCBiZSB0
aGUgdGltZSBmcm9tIHRoZSBldmVudCB0aGF0IGdvdCB1cyBoZXJlLgotICAgICAgICBkYXRhLnN0
YXJ0VGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpIC0gdGlja1RpbWUgLyAyOwor
ICAgICAgICBkYXRhLnN0YXJ0VGltZSA9IE1vbm90b25pY1RpbWU6Om5vdygpIC0gdGlja1RpbWUg
LyAyLjsKICAgICAgICAgZGF0YS5zdGFydFBvc2l0aW9uID0gZGF0YS5jdXJyZW50UG9zaXRpb247
CiAgICAgICAgIGRhdGEubGFzdEFuaW1hdGlvblRpbWUgPSBkYXRhLnN0YXJ0VGltZTsKICAgICB9
CkBAIC0zMDYsMTAgKzMwNiwxMCBAQCBib29sIFNjcm9sbEFuaW1hdGlvblNtb290aDo6dXBkYXRl
UGVyQXhpc0RhdGEoUGVyQXhpc0RhdGEmIGRhdGEsIFNjcm9sbEdyYW51bGFyaQogCiAgICAgZG91
YmxlIHJlbWFpbmluZ0RlbHRhID0gZGF0YS5kZXNpcmVkUG9zaXRpb24gLSBkYXRhLmN1cnJlbnRQ
b3NpdGlvbjsKICAgICBkb3VibGUgYXR0YWNrQXJlYUxlZnQgPSAwOwotICAgIGRvdWJsZSBkZWx0
YVRpbWUgPSBkYXRhLmxhc3RBbmltYXRpb25UaW1lIC0gZGF0YS5zdGFydFRpbWU7Ci0gICAgZG91
YmxlIGF0dGFja1RpbWVMZWZ0ID0gc3RkOjptYXgoMC4sIGRhdGEuYXR0YWNrVGltZSAtIGRlbHRh
VGltZSk7Ci0gICAgZG91YmxlIHRpbWVMZWZ0ID0gZGF0YS5hbmltYXRpb25UaW1lIC0gZGVsdGFU
aW1lOwotICAgIGRvdWJsZSBtaW5UaW1lTGVmdCA9IGRhdGEucmVsZWFzZVRpbWUgKyBzdGQ6Om1p
bihyZXBlYXRNaW5pbXVtU3VzdGFpblRpbWUsIGRhdGEuYW5pbWF0aW9uVGltZSAtIGRhdGEucmVs
ZWFzZVRpbWUgLSBhdHRhY2tUaW1lTGVmdCk7CisgICAgU2Vjb25kcyBkZWx0YVRpbWUgPSBkYXRh
Lmxhc3RBbmltYXRpb25UaW1lIC0gZGF0YS5zdGFydFRpbWU7CisgICAgU2Vjb25kcyBhdHRhY2tU
aW1lTGVmdCA9IHN0ZDo6bWF4KDBfcywgZGF0YS5hdHRhY2tUaW1lIC0gZGVsdGFUaW1lKTsKKyAg
ICBTZWNvbmRzIHRpbWVMZWZ0ID0gZGF0YS5hbmltYXRpb25UaW1lIC0gZGVsdGFUaW1lOworICAg
IFNlY29uZHMgbWluVGltZUxlZnQgPSBkYXRhLnJlbGVhc2VUaW1lICsgc3RkOjptaW4ocmVwZWF0
TWluaW11bVN1c3RhaW5UaW1lLCBkYXRhLmFuaW1hdGlvblRpbWUgLSBkYXRhLnJlbGVhc2VUaW1l
IC0gYXR0YWNrVGltZUxlZnQpOwogICAgIGlmICh0aW1lTGVmdCA8IG1pblRpbWVMZWZ0KSB7CiAg
ICAgICAgIGRhdGEuYW5pbWF0aW9uVGltZSA9IGRlbHRhVGltZSArIG1pblRpbWVMZWZ0OwogICAg
ICAgICB0aW1lTGVmdCA9IG1pblRpbWVMZWZ0OwpAQCAtMzIxLDE0ICszMjEsMTQgQEAgYm9vbCBT
Y3JvbGxBbmltYXRpb25TbW9vdGg6OnVwZGF0ZVBlckF4aXNEYXRhKFBlckF4aXNEYXRhJiBkYXRh
LCBTY3JvbGxHcmFudWxhcmkKICAgICAgICAgZG91YmxlIG1pbkNvYXN0RGVsdGEgPSBkYXRhLnZp
c2libGVMZW5ndGg7CiAKICAgICAgICAgaWYgKGZhYnMocmVtYWluaW5nRGVsdGEpID4gbWluQ29h
c3REZWx0YSkgewotICAgICAgICAgICAgZG91YmxlIG1heENvYXN0RGVsdGEgPSBtYXhpbXVtQ29h
c3RUaW1lICogdGFyZ2V0TWF4Q29hc3RWZWxvY2l0eTsKKyAgICAgICAgICAgIGRvdWJsZSBtYXhD
b2FzdERlbHRhID0gbWF4aW11bUNvYXN0VGltZS52YWx1ZSgpICogdGFyZ2V0TWF4Q29hc3RWZWxv
Y2l0eTsKICAgICAgICAgICAgIGRvdWJsZSBjb2FzdEZhY3RvciA9IHN0ZDo6bWluKDEuLCAoZmFi
cyhyZW1haW5pbmdEZWx0YSkgLSBtaW5Db2FzdERlbHRhKSAvIChtYXhDb2FzdERlbHRhIC0gbWlu
Q29hc3REZWx0YSkpOwogCiAgICAgICAgICAgICAvLyBXZSBjb3VsZCBwbGF5IHdpdGggdGhlIGN1
cnZlIGhlcmUgLSBsaW5lYXIgc2VlbXMgYSBsaXR0bGUgc29mdC4gSW5pdGlhbCB0ZXN0aW5nIG1h
a2VzIG1lIHdhbnQgdG8gZmVlZCBpbnRvIHRoZSBzdXN0YWluIHRpbWUgbW9yZSBhZ2dyZXNzaXZl
bHkuCi0gICAgICAgICAgICBkb3VibGUgY29hc3RNaW5UaW1lTGVmdCA9IHN0ZDo6bWluKG1heGlt
dW1Db2FzdFRpbWUsIG1pblRpbWVMZWZ0ICsgY29hc3RDdXJ2ZShjb2FzdFRpbWVDdXJ2ZSwgY29h
c3RGYWN0b3IpICogKG1heGltdW1Db2FzdFRpbWUgLSBtaW5UaW1lTGVmdCkpOworICAgICAgICAg
ICAgU2Vjb25kcyBjb2FzdE1pblRpbWVMZWZ0ID0gc3RkOjptaW4obWF4aW11bUNvYXN0VGltZSwg
bWluVGltZUxlZnQgKyAobWF4aW11bUNvYXN0VGltZSAtIG1pblRpbWVMZWZ0KSAqIGNvYXN0Q3Vy
dmUoY29hc3RUaW1lQ3VydmUsIGNvYXN0RmFjdG9yKSk7CiAKLSAgICAgICAgICAgIGlmIChkb3Vi
bGUgYWRkaXRpb25hbFRpbWUgPSBzdGQ6Om1heCgwLiwgY29hc3RNaW5UaW1lTGVmdCAtIG1pblRp
bWVMZWZ0KSkgewotICAgICAgICAgICAgICAgIGRvdWJsZSBhZGRpdGlvbmFsUmVsZWFzZVRpbWUg
PSBzdGQ6Om1pbihhZGRpdGlvbmFsVGltZSwgcmVsZWFzZVRpbWUgLyAocmVsZWFzZVRpbWUgKyBy
ZXBlYXRNaW5pbXVtU3VzdGFpblRpbWUpICogYWRkaXRpb25hbFRpbWUpOworICAgICAgICAgICAg
aWYgKFNlY29uZHMgYWRkaXRpb25hbFRpbWUgPSBzdGQ6Om1heCgwX3MsIGNvYXN0TWluVGltZUxl
ZnQgLSBtaW5UaW1lTGVmdCkpIHsKKyAgICAgICAgICAgICAgICBTZWNvbmRzIGFkZGl0aW9uYWxS
ZWxlYXNlVGltZSA9IHN0ZDo6bWluKGFkZGl0aW9uYWxUaW1lLCBhZGRpdGlvbmFsVGltZSAqIChy
ZWxlYXNlVGltZSAvIChyZWxlYXNlVGltZSArIHJlcGVhdE1pbmltdW1TdXN0YWluVGltZSkpKTsK
ICAgICAgICAgICAgICAgICBkYXRhLnJlbGVhc2VUaW1lID0gcmVsZWFzZVRpbWUgKyBhZGRpdGlv
bmFsUmVsZWFzZVRpbWU7CiAgICAgICAgICAgICAgICAgZGF0YS5hbmltYXRpb25UaW1lID0gZGVs
dGFUaW1lICsgY29hc3RNaW5UaW1lTGVmdDsKICAgICAgICAgICAgICAgICB0aW1lTGVmdCA9IGNv
YXN0TWluVGltZUxlZnQ7CkBAIC0zMzYsNDMgKzMzNiw0MyBAQCBib29sIFNjcm9sbEFuaW1hdGlv
blNtb290aDo6dXBkYXRlUGVyQXhpc0RhdGEoUGVyQXhpc0RhdGEmIGRhdGEsIFNjcm9sbEdyYW51
bGFyaQogICAgICAgICB9CiAgICAgfQogCi0gICAgZG91YmxlIHJlbGVhc2VUaW1lTGVmdCA9IHN0
ZDo6bWluKHRpbWVMZWZ0LCBkYXRhLnJlbGVhc2VUaW1lKTsKLSAgICBkb3VibGUgc3VzdGFpblRp
bWVMZWZ0ID0gc3RkOjptYXgoMC4sIHRpbWVMZWZ0IC0gcmVsZWFzZVRpbWVMZWZ0IC0gYXR0YWNr
VGltZUxlZnQpOworICAgIFNlY29uZHMgcmVsZWFzZVRpbWVMZWZ0ID0gc3RkOjptaW4odGltZUxl
ZnQsIGRhdGEucmVsZWFzZVRpbWUpOworICAgIFNlY29uZHMgc3VzdGFpblRpbWVMZWZ0ID0gc3Rk
OjptYXgoMF9zLCB0aW1lTGVmdCAtIHJlbGVhc2VUaW1lTGVmdCAtIGF0dGFja1RpbWVMZWZ0KTsK
ICAgICBpZiAoYXR0YWNrVGltZUxlZnQpIHsKICAgICAgICAgZG91YmxlIGF0dGFja1Nwb3QgPSBk
ZWx0YVRpbWUgLyBkYXRhLmF0dGFja1RpbWU7Ci0gICAgICAgIGF0dGFja0FyZWFMZWZ0ID0gYXR0
YWNrQXJlYShDdXJ2ZTo6Q3ViaWMsIGF0dGFja1Nwb3QsIDEpICogZGF0YS5hdHRhY2tUaW1lOwor
ICAgICAgICBhdHRhY2tBcmVhTGVmdCA9IGF0dGFja0FyZWEoQ3VydmU6OkN1YmljLCBhdHRhY2tT
cG90LCAxKSAqIGRhdGEuYXR0YWNrVGltZS52YWx1ZSgpOwogICAgIH0KIAogICAgIGRvdWJsZSBy
ZWxlYXNlU3BvdCA9IChkYXRhLnJlbGVhc2VUaW1lIC0gcmVsZWFzZVRpbWVMZWZ0KSAvIGRhdGEu
cmVsZWFzZVRpbWU7Ci0gICAgZG91YmxlIHJlbGVhc2VBcmVhTGVmdCA9IHJlbGVhc2VBcmVhKEN1
cnZlOjpDdWJpYywgcmVsZWFzZVNwb3QsIDEpICogZGF0YS5yZWxlYXNlVGltZTsKKyAgICBkb3Vi
bGUgcmVsZWFzZUFyZWFMZWZ0ID0gcmVsZWFzZUFyZWEoQ3VydmU6OkN1YmljLCByZWxlYXNlU3Bv
dCwgMSkgKiBkYXRhLnJlbGVhc2VUaW1lLnZhbHVlKCk7CiAKLSAgICBkYXRhLmRlc2lyZWRWZWxv
Y2l0eSA9IHJlbWFpbmluZ0RlbHRhIC8gKGF0dGFja0FyZWFMZWZ0ICsgc3VzdGFpblRpbWVMZWZ0
ICsgcmVsZWFzZUFyZWFMZWZ0KTsKKyAgICBkYXRhLmRlc2lyZWRWZWxvY2l0eSA9IHJlbWFpbmlu
Z0RlbHRhIC8gKGF0dGFja0FyZWFMZWZ0ICsgc3VzdGFpblRpbWVMZWZ0LnZhbHVlKCkgKyByZWxl
YXNlQXJlYUxlZnQpOwogICAgIGRhdGEucmVsZWFzZVBvc2l0aW9uID0gZGF0YS5kZXNpcmVkUG9z
aXRpb24gLSBkYXRhLmRlc2lyZWRWZWxvY2l0eSAqIHJlbGVhc2VBcmVhTGVmdDsKICAgICBpZiAo
YXR0YWNrQXJlYUxlZnQpCiAgICAgICAgIGRhdGEuYXR0YWNrUG9zaXRpb24gPSBkYXRhLnN0YXJ0
UG9zaXRpb24gKyBkYXRhLmRlc2lyZWRWZWxvY2l0eSAqIGF0dGFja0FyZWFMZWZ0OwogICAgIGVs
c2UKLSAgICAgICAgZGF0YS5hdHRhY2tQb3NpdGlvbiA9IGRhdGEucmVsZWFzZVBvc2l0aW9uIC0g
KGRhdGEuYW5pbWF0aW9uVGltZSAtIGRhdGEucmVsZWFzZVRpbWUgLSBkYXRhLmF0dGFja1RpbWUp
ICogZGF0YS5kZXNpcmVkVmVsb2NpdHk7CisgICAgICAgIGRhdGEuYXR0YWNrUG9zaXRpb24gPSBk
YXRhLnJlbGVhc2VQb3NpdGlvbiAtIChkYXRhLmFuaW1hdGlvblRpbWUgLSBkYXRhLnJlbGVhc2VU
aW1lIC0gZGF0YS5hdHRhY2tUaW1lKS52YWx1ZSgpICogZGF0YS5kZXNpcmVkVmVsb2NpdHk7CiAK
ICAgICBpZiAoc3VzdGFpblRpbWVMZWZ0KSB7Ci0gICAgICAgIGRvdWJsZSByb3VuZE9mZiA9IGRh
dGEucmVsZWFzZVBvc2l0aW9uIC0gKChhdHRhY2tBcmVhTGVmdCA/IGRhdGEuYXR0YWNrUG9zaXRp
b24gOiBkYXRhLmN1cnJlbnRQb3NpdGlvbikgKyBkYXRhLmRlc2lyZWRWZWxvY2l0eSAqIHN1c3Rh
aW5UaW1lTGVmdCk7Ci0gICAgICAgIGRhdGEuZGVzaXJlZFZlbG9jaXR5ICs9IHJvdW5kT2ZmIC8g
c3VzdGFpblRpbWVMZWZ0OworICAgICAgICBkb3VibGUgcm91bmRPZmYgPSBkYXRhLnJlbGVhc2VQ
b3NpdGlvbiAtICgoYXR0YWNrQXJlYUxlZnQgPyBkYXRhLmF0dGFja1Bvc2l0aW9uIDogZGF0YS5j
dXJyZW50UG9zaXRpb24pICsgZGF0YS5kZXNpcmVkVmVsb2NpdHkgKiBzdXN0YWluVGltZUxlZnQu
dmFsdWUoKSk7CisgICAgICAgIGRhdGEuZGVzaXJlZFZlbG9jaXR5ICs9IHJvdW5kT2ZmIC8gc3Vz
dGFpblRpbWVMZWZ0LnZhbHVlKCk7CiAgICAgfQogCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLWJv
b2wgU2Nyb2xsQW5pbWF0aW9uU21vb3RoOjphbmltYXRlU2Nyb2xsKFBlckF4aXNEYXRhJiBkYXRh
LCBkb3VibGUgY3VycmVudFRpbWUpCitib29sIFNjcm9sbEFuaW1hdGlvblNtb290aDo6YW5pbWF0
ZVNjcm9sbChQZXJBeGlzRGF0YSYgZGF0YSwgTW9ub3RvbmljVGltZSBjdXJyZW50VGltZSkKIHsK
ICAgICBpZiAoIWRhdGEuc3RhcnRUaW1lKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBk
b3VibGUgbGFzdFNjcm9sbEludGVydmFsID0gY3VycmVudFRpbWUgLSBkYXRhLmxhc3RBbmltYXRp
b25UaW1lOworICAgIFNlY29uZHMgbGFzdFNjcm9sbEludGVydmFsID0gY3VycmVudFRpbWUgLSBk
YXRhLmxhc3RBbmltYXRpb25UaW1lOwogICAgIGlmIChsYXN0U2Nyb2xsSW50ZXJ2YWwgPCBtaW5p
bXVtVGltZXJJbnRlcnZhbCkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKICAgICBkYXRhLmxhc3RB
bmltYXRpb25UaW1lID0gY3VycmVudFRpbWU7CiAKLSAgICBkb3VibGUgZGVsdGFUaW1lID0gY3Vy
cmVudFRpbWUgLSBkYXRhLnN0YXJ0VGltZTsKKyAgICBTZWNvbmRzIGRlbHRhVGltZSA9IGN1cnJl
bnRUaW1lIC0gZGF0YS5zdGFydFRpbWU7CiAgICAgZG91YmxlIG5ld1Bvc2l0aW9uID0gZGF0YS5j
dXJyZW50UG9zaXRpb247CiAKICAgICBpZiAoZGVsdGFUaW1lID4gZGF0YS5hbmltYXRpb25UaW1l
KSB7CkBAIC0zODAsMTggKzM4MCwxOCBAQCBib29sIFNjcm9sbEFuaW1hdGlvblNtb290aDo6YW5p
bWF0ZVNjcm9sbChQZXJBeGlzRGF0YSYgZGF0YSwgZG91YmxlIGN1cnJlbnRUaW1lKQogICAgICAg
ICByZXR1cm4gZmFsc2U7CiAgICAgfQogICAgIGlmIChkZWx0YVRpbWUgPCBkYXRhLmF0dGFja1Rp
bWUpCi0gICAgICAgIG5ld1Bvc2l0aW9uID0gYXR0YWNrQ3VydmUoQ3VydmU6OkN1YmljLCBkZWx0
YVRpbWUsIGRhdGEuYXR0YWNrVGltZSwgZGF0YS5zdGFydFBvc2l0aW9uLCBkYXRhLmF0dGFja1Bv
c2l0aW9uKTsKKyAgICAgICAgbmV3UG9zaXRpb24gPSBhdHRhY2tDdXJ2ZShDdXJ2ZTo6Q3ViaWMs
IGRlbHRhVGltZS52YWx1ZSgpLCBkYXRhLmF0dGFja1RpbWUudmFsdWUoKSwgZGF0YS5zdGFydFBv
c2l0aW9uLCBkYXRhLmF0dGFja1Bvc2l0aW9uKTsKICAgICBlbHNlIGlmIChkZWx0YVRpbWUgPCAo
ZGF0YS5hbmltYXRpb25UaW1lIC0gZGF0YS5yZWxlYXNlVGltZSkpCi0gICAgICAgIG5ld1Bvc2l0
aW9uID0gZGF0YS5hdHRhY2tQb3NpdGlvbiArIChkZWx0YVRpbWUgLSBkYXRhLmF0dGFja1RpbWUp
ICogZGF0YS5kZXNpcmVkVmVsb2NpdHk7CisgICAgICAgIG5ld1Bvc2l0aW9uID0gZGF0YS5hdHRh
Y2tQb3NpdGlvbiArIChkZWx0YVRpbWUgLSBkYXRhLmF0dGFja1RpbWUpLnZhbHVlKCkgKiBkYXRh
LmRlc2lyZWRWZWxvY2l0eTsKICAgICBlbHNlIHsKICAgICAgICAgLy8gcmVsZWFzZSBpcyBiYXNl
ZCBvbiB0YXJnZXRpbmcgdGhlIGV4YWN0IGZpbmFsIHBvc2l0aW9uLgotICAgICAgICBkb3VibGUg
cmVsZWFzZURlbHRhVCA9IGRlbHRhVGltZSAtIChkYXRhLmFuaW1hdGlvblRpbWUgLSBkYXRhLnJl
bGVhc2VUaW1lKTsKLSAgICAgICAgbmV3UG9zaXRpb24gPSByZWxlYXNlQ3VydmUoQ3VydmU6OkN1
YmljLCByZWxlYXNlRGVsdGFULCBkYXRhLnJlbGVhc2VUaW1lLCBkYXRhLnJlbGVhc2VQb3NpdGlv
biwgZGF0YS5kZXNpcmVkUG9zaXRpb24pOworICAgICAgICBTZWNvbmRzIHJlbGVhc2VEZWx0YVQg
PSBkZWx0YVRpbWUgLSAoZGF0YS5hbmltYXRpb25UaW1lIC0gZGF0YS5yZWxlYXNlVGltZSk7Cisg
ICAgICAgIG5ld1Bvc2l0aW9uID0gcmVsZWFzZUN1cnZlKEN1cnZlOjpDdWJpYywgcmVsZWFzZURl
bHRhVC52YWx1ZSgpLCBkYXRhLnJlbGVhc2VUaW1lLnZhbHVlKCksIGRhdGEucmVsZWFzZVBvc2l0
aW9uLCBkYXRhLmRlc2lyZWRQb3NpdGlvbik7CiAgICAgfQogCiAgICAgLy8gTm9ybWFsaXplIHZl
bG9jaXR5IHRvIGEgcGVyIHNlY29uZCBhbW91bnQuIENvdWxkIGJlIHVzZWQgdG8gY2hlY2sgZm9y
IGphbmsuCi0gICAgaWYgKGxhc3RTY3JvbGxJbnRlcnZhbCA+IDApCi0gICAgICAgIGRhdGEuY3Vy
cmVudFZlbG9jaXR5ID0gKG5ld1Bvc2l0aW9uIC0gZGF0YS5jdXJyZW50UG9zaXRpb24pIC8gbGFz
dFNjcm9sbEludGVydmFsOworICAgIGlmIChsYXN0U2Nyb2xsSW50ZXJ2YWwgPiAwX3MpCisgICAg
ICAgIGRhdGEuY3VycmVudFZlbG9jaXR5ID0gKG5ld1Bvc2l0aW9uIC0gZGF0YS5jdXJyZW50UG9z
aXRpb24pIC8gbGFzdFNjcm9sbEludGVydmFsLnZhbHVlKCk7CiAgICAgZGF0YS5jdXJyZW50UG9z
aXRpb24gPSBuZXdQb3NpdGlvbjsKIAogICAgIHJldHVybiB0cnVlOwpAQCAtMzk5LDggKzM5OSw4
IEBAIGJvb2wgU2Nyb2xsQW5pbWF0aW9uU21vb3RoOjphbmltYXRlU2Nyb2xsKFBlckF4aXNEYXRh
JiBkYXRhLCBkb3VibGUgY3VycmVudFRpbWUpCiAKIHZvaWQgU2Nyb2xsQW5pbWF0aW9uU21vb3Ro
OjphbmltYXRpb25UaW1lckZpcmVkKCkKIHsKLSAgICBkb3VibGUgY3VycmVudFRpbWUgPSBtb25v
dG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKLSAgICBkb3VibGUgZGVsdGFUb05leHRGcmFtZSA9
IGNlaWwoKGN1cnJlbnRUaW1lIC0gbV9zdGFydFRpbWUpICogZnJhbWVSYXRlKSAvIGZyYW1lUmF0
ZSAtIChjdXJyZW50VGltZSAtIG1fc3RhcnRUaW1lKTsKKyAgICBNb25vdG9uaWNUaW1lIGN1cnJl
bnRUaW1lID0gTW9ub3RvbmljVGltZTo6bm93KCk7CisgICAgU2Vjb25kcyBkZWx0YVRvTmV4dEZy
YW1lID0gMV9zICogY2VpbCgoY3VycmVudFRpbWUgLSBtX3N0YXJ0VGltZSkudmFsdWUoKSAqIGZy
YW1lUmF0ZSkgLyBmcmFtZVJhdGUgLSAoY3VycmVudFRpbWUgLSBtX3N0YXJ0VGltZSk7CiAgICAg
Y3VycmVudFRpbWUgKz0gZGVsdGFUb05leHRGcmFtZTsKIAogICAgIGJvb2wgY29udGludWVBbmlt
YXRpb24gPSBmYWxzZTsKQEAgLTQyMiw3ICs0MjIsNyBAQCB2b2lkIFNjcm9sbEFuaW1hdGlvblNt
b290aDo6YW5pbWF0aW9uVGltZXJGaXJlZCgpCiB9CiAKICNpZiBVU0UoUkVRVUVTVF9BTklNQVRJ
T05fRlJBTUVfVElNRVIpCi12b2lkIFNjcm9sbEFuaW1hdGlvblNtb290aDo6c3RhcnROZXh0VGlt
ZXIoZG91YmxlIGRlbGF5KQordm9pZCBTY3JvbGxBbmltYXRpb25TbW9vdGg6OnN0YXJ0TmV4dFRp
bWVyKFNlY29uZHMgZGVsYXkpCiB7CiAgICAgbV9hbmltYXRpb25UaW1lci5zdGFydE9uZVNob3Qo
ZGVsYXkpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5p
bWF0aW9uU21vb3RoLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRpb25T
bW9vdGguaAppbmRleCBlYmE5ZGIyZTk0NzJkYWJkMjZiNDFlM2RhNjliMzYwZjg1YzgzMDJkLi44
ZDZmOWM5NWZkY2Q0YmQyOTI5ZTZjMDc5NTcwMTU3MDU3Y2Q2MzJjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRpb25TbW9vdGguaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRpb25TbW9vdGguaApAQCAtNzYsMjkgKzc2LDI5
IEBAIHByaXZhdGU6CiAgICAgICAgIGRvdWJsZSBkZXNpcmVkVmVsb2NpdHkgeyAwIH07CiAKICAg
ICAgICAgZG91YmxlIHN0YXJ0UG9zaXRpb24geyAwIH07Ci0gICAgICAgIGRvdWJsZSBzdGFydFRp
bWUgeyAwIH07CisgICAgICAgIE1vbm90b25pY1RpbWUgc3RhcnRUaW1lOwogICAgICAgICBkb3Vi
bGUgc3RhcnRWZWxvY2l0eSB7IDAgfTsKIAotICAgICAgICBkb3VibGUgYW5pbWF0aW9uVGltZSB7
IDAgfTsKLSAgICAgICAgZG91YmxlIGxhc3RBbmltYXRpb25UaW1lIHsgMCB9OworICAgICAgICBT
ZWNvbmRzIGFuaW1hdGlvblRpbWU7CisgICAgICAgIE1vbm90b25pY1RpbWUgbGFzdEFuaW1hdGlv
blRpbWU7CiAKICAgICAgICAgZG91YmxlIGF0dGFja1Bvc2l0aW9uIHsgMCB9OwotICAgICAgICBk
b3VibGUgYXR0YWNrVGltZSB7IDAgfTsKKyAgICAgICAgU2Vjb25kcyBhdHRhY2tUaW1lOwogICAg
ICAgICBDdXJ2ZSBhdHRhY2tDdXJ2ZSB7IEN1cnZlOjpRdWFkcmF0aWMgfTsKIAogICAgICAgICBk
b3VibGUgcmVsZWFzZVBvc2l0aW9uIHsgMCB9OwotICAgICAgICBkb3VibGUgcmVsZWFzZVRpbWUg
eyAwIH07CisgICAgICAgIFNlY29uZHMgcmVsZWFzZVRpbWU7CiAgICAgICAgIEN1cnZlIHJlbGVh
c2VDdXJ2ZSB7IEN1cnZlOjpRdWFkcmF0aWMgfTsKIAogICAgICAgICBpbnQgdmlzaWJsZUxlbmd0
aCB7IDAgfTsKICAgICB9OwogCiAgICAgYm9vbCB1cGRhdGVQZXJBeGlzRGF0YShQZXJBeGlzRGF0
YSYsIFNjcm9sbEdyYW51bGFyaXR5LCBmbG9hdCBkZWx0YSwgZmxvYXQgbWluU2Nyb2xsUG9zaXRp
b24sIGZsb2F0IG1heFNjcm9sbFBvc2l0aW9uKTsKLSAgICBib29sIGFuaW1hdGVTY3JvbGwoUGVy
QXhpc0RhdGEmLCBkb3VibGUgY3VycmVudFRpbWUpOworICAgIGJvb2wgYW5pbWF0ZVNjcm9sbChQ
ZXJBeGlzRGF0YSYsIE1vbm90b25pY1RpbWUgY3VycmVudFRpbWUpOwogCiAjaWYgVVNFKFJFUVVF
U1RfQU5JTUFUSU9OX0ZSQU1FX1RJTUVSKQogICAgIHZvaWQgcmVxdWVzdEFuaW1hdGlvblRpbWVy
RmlyZWQoKTsKLSAgICB2b2lkIHN0YXJ0TmV4dFRpbWVyKGRvdWJsZSBkZWxheSk7CisgICAgdm9p
ZCBzdGFydE5leHRUaW1lcihTZWNvbmRzIGRlbGF5KTsKICNlbHNlCiAgICAgdm9pZCBzdGFydE5l
eHRUaW1lcigpOwogI2VuZGlmCkBAIC0xMTAsNyArMTEwLDcgQEAgcHJpdmF0ZToKICAgICBQZXJB
eGlzRGF0YSBtX2hvcml6b250YWxEYXRhOwogICAgIFBlckF4aXNEYXRhIG1fdmVydGljYWxEYXRh
OwogCi0gICAgZG91YmxlIG1fc3RhcnRUaW1lIHsgMCB9OworICAgIE1vbm90b25pY1RpbWUgbV9z
dGFydFRpbWU7CiAjaWYgVVNFKFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FX1RJTUVSKQogICAgIFRp
bWVyIG1fYW5pbWF0aW9uVGltZXI7CiAjZWxzZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vVGltZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmgKaW5kZXgg
MDUxNzRiNGYxNGIzNjgyZThkN2JkY2ZhMzQ1Yzg0NmE4Zjk2YjUyNy4uNTJkZWJhODE1Yjg3ZWM2
MWUxYjEzNjIyOTQ4NjEzYTg2ZjJmYzgwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vVGltZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5oCkBAIC01
NSw4ICs1NSw2IEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHN0YXJ0KFNlY29u
ZHMgbmV4dEZpcmVJbnRlcnZhbCwgU2Vjb25kcyByZXBlYXRJbnRlcnZhbCk7CiAKICAgICB2b2lk
IHN0YXJ0UmVwZWF0aW5nKFNlY29uZHMgcmVwZWF0SW50ZXJ2YWwpIHsgc3RhcnQocmVwZWF0SW50
ZXJ2YWwsIHJlcGVhdEludGVydmFsKTsgfQotCi0gICAgdm9pZCBzdGFydE9uZVNob3QoZG91Ymxl
IGludGVydmFsKSB7IHN0YXJ0T25lU2hvdChTZWNvbmRzIHsgaW50ZXJ2YWwgfSk7IH0KICAgICB2
b2lkIHN0YXJ0T25lU2hvdChTZWNvbmRzIGludGVydmFsKSB7IHN0YXJ0KGludGVydmFsLCAwX3Mp
OyB9CiAKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHN0b3AoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmNwcAppbmRleCA1
NjlhNWI5ZTA2ZWQ5NmM2ZDBkNzBjNjViOGM1MDFhMzM5Zjc2N2Q5Li4wMmQxMDk5MTQxZTQyZTIx
N2I1MmEyNmMzMjI5ODlmYjJkOGUxOTgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb24uY3BwCkBAIC0zNCw3ICszNCw3IEBA
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY29uc3QgZG91YmxlIGtDbGllbnREYXRhQnVmZmVy
aW5nVGltZXJUaHJvdHRsZURlbGF5ID0gMC4xOworc3RhdGljIGNvbnN0IFNlY29uZHMgY2xpZW50
RGF0YUJ1ZmZlcmluZ1RpbWVyVGhyb3R0bGVEZWxheSB7IDEwMF9tcyB9OwogCiAjaWYgIUxPR19E
SVNBQkxFRAogc3RhdGljIGNvbnN0IGNoYXIqIHN0YXRlTmFtZShQbGF0Zm9ybU1lZGlhU2Vzc2lv
bjo6U3RhdGUgc3RhdGUpCkBAIC0yNjAsNyArMjYwLDcgQEAgdm9pZCBQbGF0Zm9ybU1lZGlhU2Vz
c2lvbjo6dmlzaWJpbGl0eUNoYW5nZWQoKQogdm9pZCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6c2No
ZWR1bGVDbGllbnREYXRhQnVmZmVyaW5nQ2hlY2soKQogewogICAgIGlmICghbV9jbGllbnREYXRh
QnVmZmVyaW5nVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9jbGllbnREYXRhQnVmZmVyaW5n
VGltZXIuc3RhcnRPbmVTaG90KGtDbGllbnREYXRhQnVmZmVyaW5nVGltZXJUaHJvdHRsZURlbGF5
KTsKKyAgICAgICAgbV9jbGllbnREYXRhQnVmZmVyaW5nVGltZXIuc3RhcnRPbmVTaG90KGNsaWVu
dERhdGFCdWZmZXJpbmdUaW1lclRocm90dGxlRGVsYXkpOwogfQogCiB2b2lkIFBsYXRmb3JtTWVk
aWFTZXNzaW9uOjpjbGllbnREYXRhQnVmZmVyaW5nVGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9TY3JvbGxDb250cm9sbGVyLm1tIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvU2Nyb2xsQ29udHJvbGxlci5tbQppbmRleCAxZThmN2Rm
ZDg3ZWEzMzk3OGRlZjk0YmZkYWM3ZTJiZGExNWZiYWEyLi5lZTNlNTM3ZmI4YzJiNjg3MGU2MWRm
ZDIzOTc2MDdlYzdmMWY0YjFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9j
b2NvYS9TY3JvbGxDb250cm9sbGVyLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nv
Y29hL1Njcm9sbENvbnRyb2xsZXIubW0KQEAgLTQ5MCw3ICs0OTAsNyBAQCB2b2lkIFNjcm9sbENv
bnRyb2xsZXI6OnNjaGVkdWxlU3RhdGVsZXNzU2Nyb2xsU25hcCgpCiAgICAgICAgIHJldHVybjsK
IAogICAgIHN0YXRpYyBjb25zdCBTZWNvbmRzIHN0YXRlbGVzc1Njcm9sbFNuYXBEZWxheSA9IDc1
MF9tczsKLSAgICBtX3N0YXRlbGVzc1NuYXBUcmFuc2l0aW9uVGltZXIuc3RhcnRPbmVTaG90KHN0
YXRlbGVzc1Njcm9sbFNuYXBEZWxheS52YWx1ZSgpKTsKKyAgICBtX3N0YXRlbGVzc1NuYXBUcmFu
c2l0aW9uVGltZXIuc3RhcnRPbmVTaG90KHN0YXRlbGVzc1Njcm9sbFNuYXBEZWxheSk7CiAgICAg
c3RhcnREZWZlcnJpbmdUZXN0c0R1ZVRvU2Nyb2xsU25hcHBpbmcoKTsKIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9jb2NvYS9HYW1lQ29udHJvbGxlckdh
bWVwYWRQcm92aWRlci5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvY29jb2Ev
R2FtZUNvbnRyb2xsZXJHYW1lcGFkUHJvdmlkZXIubW0KaW5kZXggNTE1ZjNlNGViMWY5NjQ0YWQ0
ZDdhYWRiYWRlNmM1ZjEwOTBmMzc2NS4uMTBlNzc0NTcwYzE2YzMyODAzYzlkYzZmZTdjNjNhZjQw
ZTY5YWIxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9jb2Nv
YS9HYW1lQ29udHJvbGxlckdhbWVwYWRQcm92aWRlci5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9nYW1lcGFkL2NvY29hL0dhbWVDb250cm9sbGVyR2FtZXBhZFByb3ZpZGVyLm1tCkBA
IC00MCw3ICs0MCw3IEBAIFNPRlRfTElOS19DT05TVEFOVF9NQVlfRkFJTChHYW1lQ29udHJvbGxl
ciwgR0NDb250cm9sbGVyRGlkRGlzY29ubmVjdE5vdGlmaWNhdGlvCiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAotc3RhdGljIGNvbnN0IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgSW5wdXROb3Rp
ZmljYXRpb25EZWxheSA9IDE2bXM7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBpbnB1dE5vdGlmaWNh
dGlvbkRlbGF5IHsgMTZfbXMgfTsKIAogR2FtZUNvbnRyb2xsZXJHYW1lcGFkUHJvdmlkZXImIEdh
bWVDb250cm9sbGVyR2FtZXBhZFByb3ZpZGVyOjpzaW5nbGV0b24oKQogewpAQCAtMTQ0LDcgKzE0
NCw3IEBAIHVuc2lnbmVkIEdhbWVDb250cm9sbGVyR2FtZXBhZFByb3ZpZGVyOjppbmRleEZvck5l
d2x5Q29ubmVjdGVkRGV2aWNlKCkKIHZvaWQgR2FtZUNvbnRyb2xsZXJHYW1lcGFkUHJvdmlkZXI6
OmdhbWVwYWRIYWRJbnB1dChHYW1lQ29udHJvbGxlckdhbWVwYWQmLCBib29sIGhhZEJ1dHRvblBy
ZXNzZXMpCiB7CiAgICAgaWYgKCFtX2lucHV0Tm90aWZpY2F0aW9uVGltZXIuaXNBY3RpdmUoKSkK
LSAgICAgICAgbV9pbnB1dE5vdGlmaWNhdGlvblRpbWVyLnN0YXJ0T25lU2hvdChJbnB1dE5vdGlm
aWNhdGlvbkRlbGF5KTsKKyAgICAgICAgbV9pbnB1dE5vdGlmaWNhdGlvblRpbWVyLnN0YXJ0T25l
U2hvdChpbnB1dE5vdGlmaWNhdGlvbkRlbGF5KTsKIAogICAgIGlmIChoYWRCdXR0b25QcmVzc2Vz
KQogICAgICAgICBtX3Nob3VsZE1ha2VJbnZpc2liaWxlR2FtZXBhZHNWaXNpYmxlID0gdHJ1ZTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvbWFjL0hJREdhbWVw
YWRQcm92aWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nYW1lcGFkL21hYy9ISURH
YW1lcGFkUHJvdmlkZXIuY3BwCmluZGV4IDAwMjY2NGNhYTJhMjdiMmM0YzkzOTI0YTBkODEyMzlm
YWE1YzQxNDQuLjJlMjI5OTI2OWMyYWM2MmRlYTA3ZDQ5MzYzMGQ4ZTA0NDhmNWFlNGQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvbWFjL0hJREdhbWVwYWRQcm92
aWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9tYWMvSElER2Ft
ZXBhZFByb3ZpZGVyLmNwcApAQCAtMzQsOCArMzQsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKLXN0YXRpYyBjb25zdCBkb3VibGUgQ29ubmVjdGlvbkRlbGF5SW50ZXJ2YWwgPSAwLjU7Ci1z
dGF0aWMgY29uc3QgZG91YmxlIElucHV0Tm90aWZpY2F0aW9uRGVsYXkgPSAwLjA1Oworc3RhdGlj
IGNvbnN0IFNlY29uZHMgY29ubmVjdGlvbkRlbGF5SW50ZXJ2YWwgeyA1MDBfbXMgfTsKK3N0YXRp
YyBjb25zdCBTZWNvbmRzIGlucHV0Tm90aWZpY2F0aW9uRGVsYXkgeyA1MF9tcyB9OwogCiBzdGF0
aWMgUmV0YWluUHRyPENGRGljdGlvbmFyeVJlZj4gZGV2aWNlTWF0Y2hpbmdEaWN0aW9uYXJ5KHVp
bnQzMl90IHVzYWdlUGFnZSwgdWludDMyX3QgdXNhZ2UpCiB7CkBAIC0xNDIsOSArMTQyLDkgQEAg
dm9pZCBISURHYW1lcGFkUHJvdmlkZXI6Om9wZW5BbmRTY2hlZHVsZU1hbmFnZXIoKQogICAgIElP
SElETWFuYWdlclNjaGVkdWxlV2l0aFJ1bkxvb3AobV9tYW5hZ2VyLmdldCgpLCBDRlJ1bkxvb3BH
ZXRDdXJyZW50KCksIGtDRlJ1bkxvb3BEZWZhdWx0TW9kZSk7CiAgICAgSU9ISURNYW5hZ2VyT3Bl
bihtX21hbmFnZXIuZ2V0KCksIGtJT0hJRE9wdGlvbnNUeXBlTm9uZSk7CiAKLSAgICAvLyBBbnkg
Y29ubmVjdGlvbnMgd2UgYXJlIG5vdGlmaWVkIG9mIHdpdGhpbiB0aGUgQ29ubmVjdGlvbkRlbGF5
SW50ZXJ2YWwgb2YgbGlzdGVuaW5nIGxpa2VseSByZXByZXNlbnQKKyAgICAvLyBBbnkgY29ubmVj
dGlvbnMgd2UgYXJlIG5vdGlmaWVkIG9mIHdpdGhpbiB0aGUgY29ubmVjdGlvbkRlbGF5SW50ZXJ2
YWwgb2YgbGlzdGVuaW5nIGxpa2VseSByZXByZXNlbnQKICAgICAvLyBkZXZpY2VzIHRoYXQgd2Vy
ZSBhbHJlYWR5IGNvbm5lY3RlZCwgc28gd2Ugc3VwcHJlc3Mgbm90aWZ5aW5nIGNsaWVudHMgb2Yg
dGhlc2UuCi0gICAgbV9jb25uZWN0aW9uRGVsYXlUaW1lci5zdGFydE9uZVNob3QoQ29ubmVjdGlv
bkRlbGF5SW50ZXJ2YWwpOworICAgIG1fY29ubmVjdGlvbkRlbGF5VGltZXIuc3RhcnRPbmVTaG90
KGNvbm5lY3Rpb25EZWxheUludGVydmFsKTsKIH0KIAogdm9pZCBISURHYW1lcGFkUHJvdmlkZXI6
OmNsb3NlQW5kVW5zY2hlZHVsZU1hbmFnZXIoKQpAQCAtMjQzLDcgKzI0Myw3IEBAIHZvaWQgSElE
R2FtZXBhZFByb3ZpZGVyOjp2YWx1ZXNDaGFuZ2VkKElPSElEVmFsdWVSZWYgdmFsdWUpCiAgICAg
Ly8gVGhpcyBpc0FjdGl2ZSBjaGVjayBpcyBuZWNlc3NhcnkgYXMgd2Ugd2FudCB0byBkZWxheSBp
bnB1dCBub3RpZmljYXRpb25zIGZyb20gdGhlIHRpbWUgb2YgdGhlIGZpcnN0IGlucHV0LAogICAg
IC8vIGFuZCBub3QgcHVzaCB0aGUgbm90aWZpY2F0aW9uIG91dCBvbiBldmVyeSBzdWJzZXF1ZW50
IGlucHV0LgogICAgIGlmICghbV9pbnB1dE5vdGlmaWNhdGlvblRpbWVyLmlzQWN0aXZlKCkpCi0g
ICAgICAgIG1faW5wdXROb3RpZmljYXRpb25UaW1lci5zdGFydE9uZVNob3QoSW5wdXROb3RpZmlj
YXRpb25EZWxheSk7CisgICAgICAgIG1faW5wdXROb3RpZmljYXRpb25UaW1lci5zdGFydE9uZVNo
b3QoaW5wdXROb3RpZmljYXRpb25EZWxheSk7CiB9CiAKIHZvaWQgSElER2FtZXBhZFByb3ZpZGVy
OjppbnB1dE5vdGlmaWNhdGlvblRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ2xpYi9NYWluVGhyZWFkU2hhcmVkVGltZXJHTGliLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dsaWIvTWFpblRocmVhZFNoYXJlZFRpbWVyR0xpYi5jcHAKaW5kZXgg
NGFmZTI5ZGMwYjZkODViOWQ2NGM1NDViZTc5MGMwYjg4MTczY2NiOS4uMjE0Nzc0MDliOTFlYWQ3
MmYxYmY3YzU0YjJjOTJmZGZhMzRiNmIxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ2xpYi9NYWluVGhyZWFkU2hhcmVkVGltZXJHTGliLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9nbGliL01haW5UaHJlYWRTaGFyZWRUaW1lckdMaWIuY3BwCkBAIC00MSw3
ICs0MSw3IEBAIE1haW5UaHJlYWRTaGFyZWRUaW1lcjo6TWFpblRocmVhZFNoYXJlZFRpbWVyKCkK
IHZvaWQgTWFpblRocmVhZFNoYXJlZFRpbWVyOjpzZXRGaXJlSW50ZXJ2YWwoU2Vjb25kcyBpbnRl
cnZhbCkKIHsKICAgICBBU1NFUlQobV9maXJlZEZ1bmN0aW9uKTsKLSAgICBtX3RpbWVyLnN0YXJ0
T25lU2hvdChpbnRlcnZhbC52YWx1ZSgpKTsKKyAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChpbnRl
cnZhbCk7CiB9CiAKIHZvaWQgTWFpblRocmVhZFNoYXJlZFRpbWVyOjpzdG9wKCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmNwcAppbmRleCBjMjNi
OWRkYzVhNDczNzJiNWM0OGFlYzA0MDM3ZjMyZjZhZTdkNjg4Li4xYjk0OWNkYWQ0ZTA1NWM5NmZj
OWFlZTBhMTI3YmQwMWQ1MjQxMTg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9CaXRtYXBJbWFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvQml0bWFwSW1hZ2UuY3BwCkBAIC0yODYsNyArMjg2LDcgQEAgdm9pZCBCaXRtYXBJ
bWFnZTo6Y2xlYXJUaW1lcigpCiAgICAgbV9mcmFtZVRpbWVyID0gbnVsbHB0cjsKIH0KIAotdm9p
ZCBCaXRtYXBJbWFnZTo6c3RhcnRUaW1lcihkb3VibGUgZGVsYXkpCit2b2lkIEJpdG1hcEltYWdl
OjpzdGFydFRpbWVyKFNlY29uZHMgZGVsYXkpCiB7CiAgICAgQVNTRVJUKCFtX2ZyYW1lVGltZXIp
OwogICAgIG1fZnJhbWVUaW1lciA9IHN0ZDo6bWFrZV91bmlxdWU8VGltZXI+KCp0aGlzLCAmQml0
bWFwSW1hZ2U6OmFkdmFuY2VBbmltYXRpb24pOwpAQCAtMzMyLDE0ICszMzIsMTQgQEAgQml0bWFw
SW1hZ2U6OlN0YXJ0QW5pbWF0aW9uU3RhdHVzIEJpdG1hcEltYWdlOjppbnRlcm5hbFN0YXJ0QW5p
bWF0aW9uKCkKICAgICBpZiAoIW1fc291cmNlLmlzQWxsRGF0YVJlY2VpdmVkKCkgJiYgIWZyYW1l
SXNDb21wbGV0ZUF0SW5kZXgobmV4dEZyYW1lKSkKICAgICAgICAgcmV0dXJuIFN0YXJ0QW5pbWF0
aW9uU3RhdHVzOjpJbmNvbXBsZXRlRGF0YTsKIAotICAgIGRvdWJsZSB0aW1lID0gbW9ub3Rvbmlj
YWxseUluY3JlYXNpbmdUaW1lKCk7CisgICAgTW9ub3RvbmljVGltZSB0aW1lID0gTW9ub3Rvbmlj
VGltZTo6bm93KCk7CiAKICAgICAvLyBIYW5kbGUgaW5pdGlhbCBzdGF0ZS4KICAgICBpZiAoIW1f
ZGVzaXJlZEZyYW1lU3RhcnRUaW1lKQogICAgICAgICBtX2Rlc2lyZWRGcmFtZVN0YXJ0VGltZSA9
IHRpbWU7CiAKICAgICAvLyBTZXR0aW5nICdtX2Rlc2lyZWRGcmFtZVN0YXJ0VGltZScgdG8gJ3Rp
bWUnIG1lYW5zIHdlIGFyZSBsYXRlOyBvdGhlcndpc2Ugd2UgYXJlIGVhcmx5LgotICAgIG1fZGVz
aXJlZEZyYW1lU3RhcnRUaW1lID0gc3RkOjptYXgodGltZSwgbV9kZXNpcmVkRnJhbWVTdGFydFRp
bWUgKyBmcmFtZUR1cmF0aW9uQXRJbmRleChtX2N1cnJlbnRGcmFtZSkpOworICAgIG1fZGVzaXJl
ZEZyYW1lU3RhcnRUaW1lID0gc3RkOjptYXgodGltZSwgbV9kZXNpcmVkRnJhbWVTdGFydFRpbWUg
KyBTZWNvbmRzIHsgZnJhbWVEdXJhdGlvbkF0SW5kZXgobV9jdXJyZW50RnJhbWUpIH0pOwogCiAg
ICAgLy8gUmVxdWVzdCBhc3luYyBkZWNvZGluZyBmb3IgbmV4dEZyYW1lIG9ubHkgaWYgdGhpcyBp
cyByZXF1aXJlZC4gSWYgbmV4dEZyYW1lIGlzIG5vdCBpbiB0aGUgZnJhbWVDYWNoZSwKICAgICAv
LyBpdCB3aWxsIGJlIGRlY29kZWQgb24gYSBzZXBhcmF0ZSB3b3JrIHF1ZXVlLiBXaGVuIGRlY29k
aW5nIG5leHRGcmFtZSBmaW5pc2hlcywgd2Ugd2lsbCBiZSBub3RpZmllZApAQCAtMzU3LDcgKzM1
Nyw3IEBAIEJpdG1hcEltYWdlOjpTdGFydEFuaW1hdGlvblN0YXR1cyBCaXRtYXBJbWFnZTo6aW50
ZXJuYWxTdGFydEFuaW1hdGlvbigpCiAgICAgICAgIFVOVVNFRF9QQVJBTShpc0FzeW5jRGVjb2Rl
KTsKICNlbmRpZgogCi0gICAgICAgIG1fZGVzaXJlZEZyYW1lRGVjb2RlVGltZUZvclRlc3Rpbmcg
PSB0aW1lICsgc3RkOjptYXgobV9mcmFtZURlY29kaW5nRHVyYXRpb25Gb3JUZXN0aW5nLCAwLjBm
KTsKKyAgICAgICAgbV9kZXNpcmVkRnJhbWVEZWNvZGVUaW1lRm9yVGVzdGluZyA9IHRpbWUgKyBz
dGQ6Om1heChtX2ZyYW1lRGVjb2RpbmdEdXJhdGlvbkZvclRlc3RpbmcsIDBfcyk7CiAgICAgICAg
IGlmIChtX2NsZWFyRGVjb2RlckFmdGVyQXN5bmNGcmFtZVJlcXVlc3RGb3JUZXN0aW5nKQogICAg
ICAgICAgICAgbV9zb3VyY2UuY2xlYXIoZGF0YSgpKTsKICAgICB9CkBAIC0zNzQsNyArMzc0LDcg
QEAgdm9pZCBCaXRtYXBJbWFnZTo6YWR2YW5jZUFuaW1hdGlvbigpCiAgICAgLy8gUHJldGVuZCBh
cyBpZiBkZWNvZGluZyBuZXh0RnJhbWUgaGFzIHRha2VuIG1fZnJhbWVEZWNvZGluZ0R1cmF0aW9u
Rm9yVGVzdGluZyBmcm9tCiAgICAgLy8gdGhlIHRpbWUgdGhpcyBkZWNvZGluZyB3YXMgcmVxdWVz
dGVkLgogICAgIGlmIChzaG91bGRVc2VBc3luY0RlY29kaW5nRm9yQW5pbWF0ZWRJbWFnZXNGb3JU
ZXN0aW5nKCkpIHsKLSAgICAgICAgZG91YmxlIHRpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2lu
Z1RpbWUoKTsKKyAgICAgICAgTW9ub3RvbmljVGltZSB0aW1lID0gTW9ub3RvbmljVGltZTo6bm93
KCk7CiAgICAgICAgIC8vIFN0YXJ0IGEgdGltZXIgd2l0aCB0aGUgcmVtYWluaW5nIHRpbWUgZnJv
bSBub3cgdGlsbCB0aGUgbV9kZXNpcmVkRnJhbWVEZWNvZGVUaW1lLgogICAgICAgICBpZiAobV9k
ZXNpcmVkRnJhbWVEZWNvZGVUaW1lRm9yVGVzdGluZyA+IHN0ZDo6bWF4KHRpbWUsIG1fZGVzaXJl
ZEZyYW1lU3RhcnRUaW1lKSkgewogICAgICAgICAgICAgc3RhcnRUaW1lcihtX2Rlc2lyZWRGcmFt
ZURlY29kZVRpbWVGb3JUZXN0aW5nIC0gdGltZSk7CkBAIC00MjYsNyArNDI2LDcgQEAgdm9pZCBC
aXRtYXBJbWFnZTo6cmVzZXRBbmltYXRpb24oKQogICAgIHN0b3BBbmltYXRpb24oKTsKICAgICBt
X2N1cnJlbnRGcmFtZSA9IDA7CiAgICAgbV9yZXBldGl0aW9uc0NvbXBsZXRlID0gUmVwZXRpdGlv
bkNvdW50Tm9uZTsKLSAgICBtX2Rlc2lyZWRGcmFtZVN0YXJ0VGltZSA9IDA7CisgICAgbV9kZXNp
cmVkRnJhbWVTdGFydFRpbWUgPSB7IH07CiAgICAgbV9hbmltYXRpb25GaW5pc2hlZCA9IGZhbHNl
OwogCiAgICAgLy8gRm9yIGV4dHJlbWVseSBsYXJnZSBhbmltYXRpb25zLCB3aGVuIHRoZSBhbmlt
YXRpb24gaXMgcmVzZXQsIHdlIGp1c3QgdGhyb3cgZXZlcnl0aGluZyBhd2F5LgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmgKaW5kZXggNDIyZDZjOTgw
YTU3ZjU0NzZmM2IyZTdjMjZkMDYwMGYwZGI5NTQ1Mi4uOGVhMjRkNmJhZmEwMTEyODc3YjUwM2I5
N2ZjN2RjYWZkMjVlNTI1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvQml0bWFwSW1hZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9CaXRtYXBJbWFnZS5oCkBAIC05Nyw4ICs5Nyw4IEBAIHB1YmxpYzoKICAgICBib29sIGN1cnJl
bnRGcmFtZUtub3duVG9CZU9wYXF1ZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuICFmcmFtZUhh
c0FscGhhQXRJbmRleChjdXJyZW50RnJhbWUoKSk7IH0KICAgICBJbWFnZU9yaWVudGF0aW9uIG9y
aWVudGF0aW9uRm9yQ3VycmVudEZyYW1lKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gZnJhbWVP
cmllbnRhdGlvbkF0SW5kZXgoY3VycmVudEZyYW1lKCkpOyB9CiAKLSAgICBib29sIHNob3VsZFVz
ZUFzeW5jRGVjb2RpbmdGb3JBbmltYXRlZEltYWdlc0ZvclRlc3RpbmcoKSBjb25zdCB7IHJldHVy
biBtX2ZyYW1lRGVjb2RpbmdEdXJhdGlvbkZvclRlc3RpbmcgPiAwOyB9Ci0gICAgdm9pZCBzZXRG
cmFtZURlY29kaW5nRHVyYXRpb25Gb3JUZXN0aW5nKGZsb2F0IGR1cmF0aW9uKSB7IG1fZnJhbWVE
ZWNvZGluZ0R1cmF0aW9uRm9yVGVzdGluZyA9IGR1cmF0aW9uOyB9CisgICAgYm9vbCBzaG91bGRV
c2VBc3luY0RlY29kaW5nRm9yQW5pbWF0ZWRJbWFnZXNGb3JUZXN0aW5nKCkgY29uc3QgeyByZXR1
cm4gbV9mcmFtZURlY29kaW5nRHVyYXRpb25Gb3JUZXN0aW5nID4gMF9zOyB9CisgICAgdm9pZCBz
ZXRGcmFtZURlY29kaW5nRHVyYXRpb25Gb3JUZXN0aW5nKFNlY29uZHMgZHVyYXRpb24pIHsgbV9m
cmFtZURlY29kaW5nRHVyYXRpb25Gb3JUZXN0aW5nID0gZHVyYXRpb247IH0KICAgICBib29sIHNo
b3VsZFVzZUFzeW5jRGVjb2RpbmdGb3JMYXJnZUltYWdlcygpOwogICAgIGJvb2wgc2hvdWxkVXNl
QXN5bmNEZWNvZGluZ0ZvckFuaW1hdGVkSW1hZ2VzKCk7CiAgICAgdm9pZCBzZXRDbGVhckRlY29k
ZXJBZnRlckFzeW5jRnJhbWVSZXF1ZXN0Rm9yVGVzdGluZyhib29sIHZhbHVlKSB7IG1fY2xlYXJE
ZWNvZGVyQWZ0ZXJBc3luY0ZyYW1lUmVxdWVzdEZvclRlc3RpbmcgPSB2YWx1ZTsgfQpAQCAtMTkw
LDcgKzE5MCw3IEBAIHByb3RlY3RlZDoKIAogcHJpdmF0ZToKICAgICB2b2lkIGNsZWFyVGltZXIo
KTsKLSAgICB2b2lkIHN0YXJ0VGltZXIoZG91YmxlIGRlbGF5KTsKKyAgICB2b2lkIHN0YXJ0VGlt
ZXIoU2Vjb25kcyBkZWxheSk7CiAgICAgYm9vbCBpc0JpdG1hcEltYWdlKCkgY29uc3Qgb3ZlcnJp
ZGUgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZvaWQgZHVtcChUZXh0U3RyZWFtJikgY29uc3Qgb3Zl
cnJpZGU7CiAKQEAgLTIwNywxMSArMjA3LDExIEBAIHByaXZhdGU6CiAgICAgU3Vic2FtcGxpbmdM
ZXZlbCBtX2N1cnJlbnRTdWJzYW1wbGluZ0xldmVsIHsgU3Vic2FtcGxpbmdMZXZlbDo6RGVmYXVs
dCB9OwogICAgIHN0ZDo6dW5pcXVlX3B0cjxUaW1lcj4gbV9mcmFtZVRpbWVyOwogICAgIFJlcGV0
aXRpb25Db3VudCBtX3JlcGV0aXRpb25zQ29tcGxldGUgeyBSZXBldGl0aW9uQ291bnROb25lIH07
IC8vIEhvdyBtYW55IHJlcGV0aXRpb25zIHdlJ3ZlIGZpbmlzaGVkLgotICAgIGRvdWJsZSBtX2Rl
c2lyZWRGcmFtZVN0YXJ0VGltZSB7IDAgfTsgLy8gVGhlIHN5c3RlbSB0aW1lIGF0IHdoaWNoIHdl
IGhvcGUgdG8gc2VlIHRoZSBuZXh0IGNhbGwgdG8gc3RhcnRBbmltYXRpb24oKS4KKyAgICBNb25v
dG9uaWNUaW1lIG1fZGVzaXJlZEZyYW1lU3RhcnRUaW1lOyAvLyBUaGUgc3lzdGVtIHRpbWUgYXQg
d2hpY2ggd2UgaG9wZSB0byBzZWUgdGhlIG5leHQgY2FsbCB0byBzdGFydEFuaW1hdGlvbigpLgog
ICAgIGJvb2wgbV9hbmltYXRpb25GaW5pc2hlZCB7IGZhbHNlIH07CiAKLSAgICBmbG9hdCBtX2Zy
YW1lRGVjb2RpbmdEdXJhdGlvbkZvclRlc3RpbmcgeyAwIH07Ci0gICAgZG91YmxlIG1fZGVzaXJl
ZEZyYW1lRGVjb2RlVGltZUZvclRlc3RpbmcgeyAwIH07CisgICAgU2Vjb25kcyBtX2ZyYW1lRGVj
b2RpbmdEdXJhdGlvbkZvclRlc3Rpbmc7CisgICAgTW9ub3RvbmljVGltZSBtX2Rlc2lyZWRGcmFt
ZURlY29kZVRpbWVGb3JUZXN0aW5nOwogICAgIGJvb2wgbV9jbGVhckRlY29kZXJBZnRlckFzeW5j
RnJhbWVSZXF1ZXN0Rm9yVGVzdGluZyB7IGZhbHNlIH07CiAjaWYgIUxPR19ESVNBQkxFRAogICAg
IHNpemVfdCBtX2xhdGVGcmFtZUNvdW50IHsgMCB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyLmNw
cAppbmRleCA0OTMxNjg2YjMxNTEyNzcxNjI1MDQ4ODhiNzE1ZTI4MWEyNzU5MjA2Li5mNTAxM2Y0
YTBmNDkzYWYxYWI5NTI3MThjOTM0MDg0Yzc1NWQyNmFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXliYWNrVGFyZ2V0UGlj
a2VyLmNwcApAQCAtMzMsNyArMzMsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRp
YyBjb25zdCBkb3VibGUgcGVuZGluZ0FjdGlvbkludGVydmFsID0gMS4wIC8gMTAuMDsKK3N0YXRp
YyBjb25zdCBTZWNvbmRzIHBlbmRpbmdBY3Rpb25JbnRlcnZhbCB7IDEwMF9tcyB9OwogCiBNZWRp
YVBsYXliYWNrVGFyZ2V0UGlja2VyOjpNZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyKENsaWVudCYg
Y2xpZW50KQogICAgIDogbV9jbGllbnQoJmNsaWVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NoYWRvd0JsdXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvU2hhZG93Qmx1ci5jcHAKaW5kZXggZjE3YjNmZmU3MzEzMDQwYWIyMWZm
YzgwNTAzYjU5NDEzN2EyMzRiOC4uODdmNDVlNDYwZmRlMDljNGZmZWRlZDJmZTA1MTBkZDQ5ODMx
NjVkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2hhZG93
Qmx1ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2hhZG93Qmx1
ci5jcHAKQEAgLTEyNCw3ICsxMjQsNyBAQCBwdWJsaWM6CiAgICAgICAgIGlmIChtX3B1cmdlVGlt
ZXIuaXNBY3RpdmUoKSkKICAgICAgICAgICAgIG1fcHVyZ2VUaW1lci5zdG9wKCk7CiAKLSAgICAg
ICAgY29uc3QgZG91YmxlIHNjcmF0Y2hCdWZmZXJQdXJnZUludGVydmFsID0gMjsKKyAgICAgICAg
Y29uc3QgU2Vjb25kcyBzY3JhdGNoQnVmZmVyUHVyZ2VJbnRlcnZhbCB7IDJfcyB9OwogICAgICAg
ICBtX3B1cmdlVGltZXIuc3RhcnRPbmVTaG90KHNjcmF0Y2hCdWZmZXJQdXJnZUludGVydmFsKTsK
ICAgICB9CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jYS9MYXllclBvb2wuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Ev
TGF5ZXJQb29sLmNwcAppbmRleCAwY2Y3Zjc3ZTYxMWFkMmJkNGViMDcyMzUwMDE4YWRjNGJjZGI4
NDVmLi4wY2M0ZmFjNThhMzA0MmFiNjY4NGNlMTZiZTcwZDRjMjUwYWY5N2E3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9MYXllclBvb2wuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL0xheWVyUG9vbC5jcHAKQEAgLTEx
MCw3ICsxMTAsNyBAQCB2b2lkIExheWVyUG9vbDo6c2NoZWR1bGVQcnVuZSgpCiB7CiAgICAgaWYg
KG1fcHJ1bmVUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICByZXR1cm47Ci0gICAgbV9wcnVuZVRp
bWVyLnN0YXJ0T25lU2hvdCgxKTsKKyAgICBtX3BydW5lVGltZXIuc3RhcnRPbmVTaG90KDFfcyk7
CiB9CiAKIHZvaWQgTGF5ZXJQb29sOjpwcnVuZVRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0
ZUdTdHJlYW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFt
ZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAppbmRleCAwNDY2Zjc3MzFkOTM2NmQ5
ZjM4NTA3ODE5MGFmNGU4MGM4NzM3YWY2Li45ZDJhY2Q0ZTFlZDBiMjk3OGZlZWM0Y2M1MDhjZDQ5
YjFmY2ZmMGU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
c3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVh
bWVyLmNwcApAQCAtMzcwLDcgKzM3MCw3IEBAIGJvb2wgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVh
bWVyOjpjaGFuZ2VQaXBlbGluZVN0YXRlKEdzdFN0YXRlIG5ld1N0YXRlKQogICAgIGlmIChuZXdT
dGF0ZSA9PSBHU1RfU1RBVEVfUkVBRFkgJiYgIW1fcmVhZHlUaW1lckhhbmRsZXIuaXNBY3RpdmUo
KSkgewogICAgICAgICAvLyBNYXggaW50ZXJ2YWwgaW4gc2Vjb25kcyB0byBzdGF5IGluIHRoZSBS
RUFEWSBzdGF0ZSBvbiBtYW51YWwKICAgICAgICAgLy8gc3RhdGUgY2hhbmdlIHJlcXVlc3RzLgot
ICAgICAgICBzdGF0aWMgY29uc3QgZG91YmxlIHJlYWR5U3RhdGVUaW1lckRlbGF5ID0gNjA7Cisg
ICAgICAgIHN0YXRpYyBjb25zdCBTZWNvbmRzIHJlYWR5U3RhdGVUaW1lckRlbGF5IHsgMV9taW4g
fTsKICAgICAgICAgbV9yZWFkeVRpbWVySGFuZGxlci5zdGFydE9uZVNob3QocmVhZHlTdGF0ZVRp
bWVyRGVsYXkpOwogICAgIH0gZWxzZSBpZiAobmV3U3RhdGUgIT0gR1NUX1NUQVRFX1JFQURZKQog
ICAgICAgICBtX3JlYWR5VGltZXJIYW5kbGVyLnN0b3AoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9HcmFwaGljc0NvbnRleHQzRE1hYy5tbSBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9HcmFwaGljc0NvbnRleHQzRE1hYy5t
bQppbmRleCA1NmJlMDZmZTQwMWZkNDU2OTg4ZmEyZmYxNWQ5NTMxYjEzNTYwZDY3Li4xYzRlNDM1
OTM1YTFjYTQ2MjE0ZDM0ODAwNTQwNTNjNTlmOGVmMDkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvR3JhcGhpY3NDb250ZXh0M0RNYWMubW0KKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0dyYXBoaWNzQ29udGV4dDNETWFj
Lm1tCkBAIC0yNzgsOCArMjc4LDggQEAgdm9pZCBHcmFwaGljc0NvbnRleHQzRE1hbmFnZXI6OnVw
ZGF0ZUhpZ2hQZXJmb3JtYW5jZVN0YXRlKCkKICAgICAgICAgICAgIExPRyhXZWJHTCwgIlNldCBh
IHRpbWVyIHRvIHR1cm4gb2ZmIGhpZ2gtcGVyZm9ybWFuY2UgR1BVLiIpOwogICAgICAgICAgICAg
Ly8gRklYTUU6IEV4cG9zZSB0aGlzIHZhbHVlIGFzIGEgU2V0dGluZywgd2hpY2ggd291bGQgcmVx
dWlyZSB0aGlzIGNsYXNzCiAgICAgICAgICAgICAvLyB0byByZWZlcmVuY2UgYSBmcmFtZSwgcGFn
ZSBvciBkb2N1bWVudC4KLSAgICAgICAgICAgIHN0YXRpYyBjb25zdCBpbnQgdGltZVRvS2VlcEhp
Z2hQZXJmb3JtYW5jZUdQVUFsaXZlSW5TZWNvbmRzID0gMTA7Ci0gICAgICAgICAgICBtX2Rpc2Fi
bGVIaWdoUGVyZm9ybWFuY2VHUFVUaW1lci5zdGFydE9uZVNob3QodGltZVRvS2VlcEhpZ2hQZXJm
b3JtYW5jZUdQVUFsaXZlSW5TZWNvbmRzKTsKKyAgICAgICAgICAgIHN0YXRpYyBjb25zdCBTZWNv
bmRzIHRpbWVUb0tlZXBIaWdoUGVyZm9ybWFuY2VHUFVBbGl2ZSB7IDEwX3MgfTsKKyAgICAgICAg
ICAgIG1fZGlzYWJsZUhpZ2hQZXJmb3JtYW5jZUdQVVRpbWVyLnN0YXJ0T25lU2hvdCh0aW1lVG9L
ZWVwSGlnaFBlcmZvcm1hbmNlR1BVQWxpdmUpOwogICAgICAgICB9CiAgICAgfQogI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvQml0bWFw
VGV4dHVyZVBvb2wuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFw
L0JpdG1hcFRleHR1cmVQb29sLmNwcAppbmRleCAwMGNjOGVlMzZkYzVhN2VlOTA4YzQ3YTc0MjNl
YjdkZDNjNTg0ZjEwLi44ZTM1ZmVmMGViNGYyMWI4N2UwM2Q4ZGYzYWNlMDc0NjFkNTBhOWVlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvQml0bWFw
VGV4dHVyZVBvb2wuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3Rl
eG1hcC9CaXRtYXBUZXh0dXJlUG9vbC5jcHAKQEAgLTMzLDggKzMzLDggQEAKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCi1zdGF0aWMgY29uc3QgZG91YmxlIHNfcmVsZWFzZVVudXNlZFNlY29uZHNU
b2xlcmFuY2UgPSAzOwotc3RhdGljIGNvbnN0IGRvdWJsZSBzX3JlbGVhc2VVbnVzZWRUZXh0dXJl
c1RpbWVySW50ZXJ2YWwgPSAwLjU7CitzdGF0aWMgY29uc3QgZG91YmxlIHJlbGVhc2VVbnVzZWRT
ZWNvbmRzVG9sZXJhbmNlID0gMzsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHJlbGVhc2VVbnVzZWRU
ZXh0dXJlc1RpbWVySW50ZXJ2YWwgeyA1MDBfbXMgfTsKIAogI2lmIFVTRShURVhUVVJFX01BUFBF
Ul9HTCkKIEJpdG1hcFRleHR1cmVQb29sOjpCaXRtYXBUZXh0dXJlUG9vbChSZWZQdHI8R3JhcGhp
Y3NDb250ZXh0M0Q+JiYgY29udGV4dDNEKQpAQCAtNjYsMTMgKzY2LDEzIEBAIHZvaWQgQml0bWFw
VGV4dHVyZVBvb2w6OnNjaGVkdWxlUmVsZWFzZVVudXNlZFRleHR1cmVzKCkKICAgICBpZiAobV9y
ZWxlYXNlVW51c2VkVGV4dHVyZXNUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICByZXR1cm47CiAK
LSAgICBtX3JlbGVhc2VVbnVzZWRUZXh0dXJlc1RpbWVyLnN0YXJ0T25lU2hvdChzX3JlbGVhc2VV
bnVzZWRUZXh0dXJlc1RpbWVySW50ZXJ2YWwpOworICAgIG1fcmVsZWFzZVVudXNlZFRleHR1cmVz
VGltZXIuc3RhcnRPbmVTaG90KHJlbGVhc2VVbnVzZWRUZXh0dXJlc1RpbWVySW50ZXJ2YWwpOwog
fQogCiB2b2lkIEJpdG1hcFRleHR1cmVQb29sOjpyZWxlYXNlVW51c2VkVGV4dHVyZXNUaW1lckZp
cmVkKCkKIHsKLSAgICAvLyBEZWxldGUgZW50cmllcywgd2hpY2ggaGF2ZSBiZWVuIHVudXNlZCBp
biBzX3JlbGVhc2VVbnVzZWRTZWNvbmRzVG9sZXJhbmNlLgotICAgIGRvdWJsZSBtaW5Vc2VkVGlt
ZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpIC0gc19yZWxlYXNlVW51c2VkU2Vjb25k
c1RvbGVyYW5jZTsKKyAgICAvLyBEZWxldGUgZW50cmllcywgd2hpY2ggaGF2ZSBiZWVuIHVudXNl
ZCBpbiByZWxlYXNlVW51c2VkU2Vjb25kc1RvbGVyYW5jZS4KKyAgICBkb3VibGUgbWluVXNlZFRp
bWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSAtIHJlbGVhc2VVbnVzZWRTZWNvbmRz
VG9sZXJhbmNlOwogCiAgICAgaWYgKCFtX3RleHR1cmVzLmlzRW1wdHkoKSkgewogICAgICAgICBz
dGQ6OnNvcnQobV90ZXh0dXJlcy5iZWdpbigpLCBtX3RleHR1cmVzLmVuZCgpLApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJQ
bGF0Zm9ybUxheWVyUHJveHkuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
dGV4bWFwL1RleHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVyUHJveHkuY3BwCmluZGV4IDRkYjc0ODI0
OTk2N2M4OTA1MmNlZDBlZTRhMjMwYmVkYWU2YTA3ZjguLmRjM2U3NDdlZWRkYjZlNzViOGExZjkz
M2EyNjYzMTZhMjhiYzNmNTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyUGxhdGZvcm1MYXllclByb3h5LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlclBsYXRm
b3JtTGF5ZXJQcm94eS5jcHAKQEAgLTM3LDggKzM3LDggQEAKICNpbmNsdWRlIDx3dGYvZ2xpYi9S
dW5Mb29wU291cmNlUHJpb3JpdHkuaD4KICNlbmRpZgogCi1jb25zdCBkb3VibGUgc19yZWxlYXNl
VW51c2VkU2Vjb25kc1RvbGVyYW5jZSA9IDE7Ci1jb25zdCBkb3VibGUgc19yZWxlYXNlVW51c2Vk
QnVmZmVyc1RpbWVySW50ZXJ2YWwgPSAwLjU7CitzdGF0aWMgY29uc3QgZG91YmxlIHJlbGVhc2VV
bnVzZWRTZWNvbmRzVG9sZXJhbmNlID0gMTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHJlbGVhc2VV
bnVzZWRCdWZmZXJzVGltZXJJbnRlcnZhbCA9IHsgNTAwX21zIH07CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIApAQCAtMTQ0LDcgKzE0NCw3IEBAIHN0ZDo6dW5pcXVlX3B0cjxUZXh0dXJlTWFwcGVy
UGxhdGZvcm1MYXllckJ1ZmZlcj4gVGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXJQcm94CiB2b2lk
IFRleHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVyUHJveHk6OnNjaGVkdWxlUmVsZWFzZVVudXNlZEJ1
ZmZlcnMoKQogewogICAgIGlmICghbV9yZWxlYXNlVW51c2VkQnVmZmVyc1RpbWVyLmlzQWN0aXZl
KCkpCi0gICAgICAgIG1fcmVsZWFzZVVudXNlZEJ1ZmZlcnNUaW1lci5zdGFydE9uZVNob3Qoc19y
ZWxlYXNlVW51c2VkQnVmZmVyc1RpbWVySW50ZXJ2YWwpOworICAgICAgICBtX3JlbGVhc2VVbnVz
ZWRCdWZmZXJzVGltZXIuc3RhcnRPbmVTaG90KHJlbGVhc2VVbnVzZWRCdWZmZXJzVGltZXJJbnRl
cnZhbCk7CiB9CiAKIHZvaWQgVGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXJQcm94eTo6cmVsZWFz
ZVVudXNlZEJ1ZmZlcnNUaW1lckZpcmVkKCkKQEAgLTE1NCw3ICsxNTQsNyBAQCB2b2lkIFRleHR1
cmVNYXBwZXJQbGF0Zm9ybUxheWVyUHJveHk6OnJlbGVhc2VVbnVzZWRCdWZmZXJzVGltZXJGaXJl
ZCgpCiAgICAgICAgIHJldHVybjsKIAogICAgIGF1dG8gYnVmZmVycyA9IFdURk1vdmUobV91c2Vk
QnVmZmVycyk7Ci0gICAgZG91YmxlIG1pblVzZWRUaW1lID0gbW9ub3RvbmljYWxseUluY3JlYXNp
bmdUaW1lKCkgLSBzX3JlbGVhc2VVbnVzZWRTZWNvbmRzVG9sZXJhbmNlOworICAgIGRvdWJsZSBt
aW5Vc2VkVGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpIC0gcmVsZWFzZVVudXNl
ZFNlY29uZHNUb2xlcmFuY2U7CiAKICAgICBmb3IgKGF1dG8mIGJ1ZmZlciA6IGJ1ZmZlcnMpIHsK
ICAgICAgICAgaWYgKGJ1ZmZlciAmJiBidWZmZXItPmxhc3RVc2VkVGltZSgpID49IG1pblVzZWRU
aW1lKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFw
L2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkSW1hZ2VCYWNraW5nLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEltYWdlQmFj
a2luZy5jcHAKaW5kZXggM2Y1NjczZThmZDUzNjVmMDhjZmQ2OWVmYzNmYWFlYzQzMjMzNmE2MS4u
ZjUyOTQ3NTVhMjMzNjU1YzMwNjY1NzFjZjYzOWJlY2I1MGMwMzA1MCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5h
dGVkSW1hZ2VCYWNraW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRJbWFnZUJhY2tpbmcuY3BwCkBAIC0xNDQs
NyArMTQ0LDcgQEAgdm9pZCBDb29yZGluYXRlZEltYWdlQmFja2luZzo6cmVsZWFzZVN1cmZhY2VJ
Zk5lZWRlZCgpCiAgICAgbV9zdXJmYWNlID0gbnVsbHB0cjsKIH0KIAotc3RhdGljIGNvbnN0IGRv
dWJsZSBjbGVhckNvbnRlbnRzVGltZXJJbnRlcnZhbCA9IDM7CitzdGF0aWMgY29uc3QgU2Vjb25k
cyBjbGVhckNvbnRlbnRzVGltZXJJbnRlcnZhbCB7IDNfcyB9OwogCiB2b2lkIENvb3JkaW5hdGVk
SW1hZ2VCYWNraW5nOjp1cGRhdGVWaXNpYmlsaXR5SWZOZWVkZWQoYm9vbCYgY2hhbmdlZFRvVmlz
aWJsZSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9TY3JvbGxB
bmltYXRvckd0ay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvU2Nyb2xsQW5pbWF0
b3JHdGsuY3BwCmluZGV4IDQ0ZTQ3MzQ4MmRmYWEyMDM4OTQ2N2M3MmVjOTMwMDc4ZDVhODBjNTku
LjFiOTU0ODFmODVhZDI3MjVlZmFhZTQwZGUxYTFkYWU2ZDU1OGY0YTggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9TY3JvbGxBbmltYXRvckd0ay5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1Njcm9sbEFuaW1hdG9yR3RrLmNwcApAQCAtMzgsOCAr
MzgsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBkb3VibGUgb3Zl
cmZsb3dTY3JvbGxiYXJzQW5pbWF0aW9uRHVyYXRpb24gPSAxOwotc3RhdGljIGNvbnN0IGRvdWJs
ZSBvdmVyZmxvd1Njcm9sbGJhcnNBbmltYXRpb25IaWRlRGVsYXkgPSAyOworc3RhdGljIGNvbnN0
IFNlY29uZHMgb3ZlcmZsb3dTY3JvbGxiYXJzQW5pbWF0aW9uRHVyYXRpb24geyAxX3MgfTsKK3N0
YXRpYyBjb25zdCBTZWNvbmRzIG92ZXJmbG93U2Nyb2xsYmFyc0FuaW1hdGlvbkhpZGVEZWxheSB7
IDJfcyB9OwogCiBzdGQ6OnVuaXF1ZV9wdHI8U2Nyb2xsQW5pbWF0b3I+IFNjcm9sbEFuaW1hdG9y
OjpjcmVhdGUoU2Nyb2xsYWJsZUFyZWEmIHNjcm9sbGFibGVBcmVhKQogewpAQCAtMTc2LDEwICsx
NzYsMTAgQEAgdm9pZCBTY3JvbGxBbmltYXRvckd0azo6b3ZlcmxheVNjcm9sbGJhckFuaW1hdGlv
blRpbWVyRmlyZWQoKQogICAgIGlmIChtX292ZXJsYXlTY3JvbGxiYXJzTG9ja2VkKQogICAgICAg
ICByZXR1cm47CiAKLSAgICBkb3VibGUgY3VycmVudFRpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVh
c2luZ1RpbWUoKTsKKyAgICBNb25vdG9uaWNUaW1lIGN1cnJlbnRUaW1lID0gTW9ub3RvbmljVGlt
ZTo6bm93KCk7CiAgICAgZG91YmxlIHByb2dyZXNzID0gMTsKICAgICBpZiAoY3VycmVudFRpbWUg
PCBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25FbmRUaW1lKQotICAgICAgICBwcm9ncmVzcyA9
IChjdXJyZW50VGltZSAtIG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvblN0YXJ0VGltZSkgLyAo
bV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uRW5kVGltZSAtIG1fb3ZlcmxheVNjcm9sbGJhckFu
aW1hdGlvblN0YXJ0VGltZSk7CisgICAgICAgIHByb2dyZXNzID0gKGN1cnJlbnRUaW1lIC0gbV9v
dmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uU3RhcnRUaW1lKS52YWx1ZSgpIC8gKG1fb3ZlcmxheVNj
cm9sbGJhckFuaW1hdGlvbkVuZFRpbWUgLSBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25TdGFy
dFRpbWUpLnZhbHVlKCk7CiAgICAgcHJvZ3Jlc3MgPSBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRp
b25Tb3VyY2UgKyAoZWFzZU91dEN1YmljKHByb2dyZXNzKSAqIChtX292ZXJsYXlTY3JvbGxiYXJB
bmltYXRpb25UYXJnZXQgLSBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25Tb3VyY2UpKTsKICAg
ICBpZiAocHJvZ3Jlc3MgIT0gbV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uQ3VycmVudCkgewog
ICAgICAgICBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25DdXJyZW50ID0gcHJvZ3Jlc3M7CkBA
IC0xODgsOSArMTg4LDkgQEAgdm9pZCBTY3JvbGxBbmltYXRvckd0azo6b3ZlcmxheVNjcm9sbGJh
ckFuaW1hdGlvblRpbWVyRmlyZWQoKQogCiAgICAgaWYgKG1fb3ZlcmxheVNjcm9sbGJhckFuaW1h
dGlvbkN1cnJlbnQgIT0gbV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uVGFyZ2V0KSB7CiAgICAg
ICAgIHN0YXRpYyBjb25zdCBkb3VibGUgZnJhbWVSYXRlID0gNjA7Ci0gICAgICAgIHN0YXRpYyBj
b25zdCBkb3VibGUgdGlja1RpbWUgPSAxIC8gZnJhbWVSYXRlOwotICAgICAgICBzdGF0aWMgY29u
c3QgZG91YmxlIG1pbmltdW1UaW1lckludGVydmFsID0gLjAwMTsKLSAgICAgICAgZG91YmxlIGRl
bHRhVG9OZXh0RnJhbWUgPSBzdGQ6Om1heCh0aWNrVGltZSAtIChtb25vdG9uaWNhbGx5SW5jcmVh
c2luZ1RpbWUoKSAtIGN1cnJlbnRUaW1lKSwgbWluaW11bVRpbWVySW50ZXJ2YWwpOworICAgICAg
ICBzdGF0aWMgY29uc3QgU2Vjb25kcyB0aWNrVGltZSA9IDFfcyAvIGZyYW1lUmF0ZTsKKyAgICAg
ICAgc3RhdGljIGNvbnN0IFNlY29uZHMgbWluaW11bVRpbWVySW50ZXJ2YWwgPSAxX21zOworICAg
ICAgICBTZWNvbmRzIGRlbHRhVG9OZXh0RnJhbWUgPSBzdGQ6Om1heCh0aWNrVGltZSAtIChNb25v
dG9uaWNUaW1lOjpub3coKSAtIGN1cnJlbnRUaW1lKSwgbWluaW11bVRpbWVySW50ZXJ2YWwpOwog
ICAgICAgICBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25UaW1lci5zdGFydE9uZVNob3QoZGVs
dGFUb05leHRGcmFtZSk7CiAgICAgfSBlbHNlCiAgICAgICAgIGhpZGVPdmVybGF5U2Nyb2xsYmFy
cygpOwpAQCAtMjExLDcgKzIxMSw3IEBAIHZvaWQgU2Nyb2xsQW5pbWF0b3JHdGs6OnNob3dPdmVy
bGF5U2Nyb2xsYmFycygpCiAgICAgbV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uU291cmNlID0g
bV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uQ3VycmVudDsKICAgICBtX292ZXJsYXlTY3JvbGxi
YXJBbmltYXRpb25UYXJnZXQgPSAxOwogICAgIGlmIChtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRp
b25UYXJnZXQgIT0gbV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uQ3VycmVudCkgewotICAgICAg
ICBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25TdGFydFRpbWUgPSBtb25vdG9uaWNhbGx5SW5j
cmVhc2luZ1RpbWUoKTsKKyAgICAgICAgbV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uU3RhcnRU
aW1lID0gTW9ub3RvbmljVGltZTo6bm93KCk7CiAgICAgICAgIG1fb3ZlcmxheVNjcm9sbGJhckFu
aW1hdGlvbkVuZFRpbWUgPSBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25TdGFydFRpbWUgKyBv
dmVyZmxvd1Njcm9sbGJhcnNBbmltYXRpb25EdXJhdGlvbjsKICAgICAgICAgbV9vdmVybGF5U2Ny
b2xsYmFyQW5pbWF0aW9uVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgfSBlbHNlCkBAIC0y
MzEsNyArMjMxLDcgQEAgdm9pZCBTY3JvbGxBbmltYXRvckd0azo6aGlkZU92ZXJsYXlTY3JvbGxi
YXJzKCkKICAgICBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25UYXJnZXQgPSAwOwogICAgIGlm
IChtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25UYXJnZXQgPT0gbV9vdmVybGF5U2Nyb2xsYmFy
QW5pbWF0aW9uQ3VycmVudCkKICAgICAgICAgcmV0dXJuOwotICAgIG1fb3ZlcmxheVNjcm9sbGJh
ckFuaW1hdGlvblN0YXJ0VGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpICsgb3Zl
cmZsb3dTY3JvbGxiYXJzQW5pbWF0aW9uSGlkZURlbGF5OworICAgIG1fb3ZlcmxheVNjcm9sbGJh
ckFuaW1hdGlvblN0YXJ0VGltZSA9IE1vbm90b25pY1RpbWU6Om5vdygpICsgb3ZlcmZsb3dTY3Jv
bGxiYXJzQW5pbWF0aW9uSGlkZURlbGF5OwogICAgIG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlv
bkVuZFRpbWUgPSBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25TdGFydFRpbWUgKyBvdmVyZmxv
d1Njcm9sbGJhcnNBbmltYXRpb25EdXJhdGlvbiArIG92ZXJmbG93U2Nyb2xsYmFyc0FuaW1hdGlv
bkhpZGVEZWxheTsKICAgICBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25UaW1lci5zdGFydE9u
ZVNob3Qob3ZlcmZsb3dTY3JvbGxiYXJzQW5pbWF0aW9uSGlkZURlbGF5KTsKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9TY3JvbGxBbmltYXRvckd0ay5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1Njcm9sbEFuaW1hdG9yR3RrLmgKaW5kZXggNzBlNWI3
M2Y5ZGUxM2QyMTBjYjk5M2VlOTM1N2Q3MzkyZGQzMjJhOC4uYzQyNTNlNWFkYjkxZjcwNDEzMzA0
Njg0MWMyOTc0YmY3ZGQ4Y2VjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3RrL1Njcm9sbEFuaW1hdG9yR3RrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Rr
L1Njcm9sbEFuaW1hdG9yR3RrLmgKQEAgLTgwLDggKzgwLDggQEAgcHJpdmF0ZToKICAgICBkb3Vi
bGUgbV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uU291cmNlIHsgMCB9OwogICAgIGRvdWJsZSBt
X292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25UYXJnZXQgeyAwIH07CiAgICAgZG91YmxlIG1fb3Zl
cmxheVNjcm9sbGJhckFuaW1hdGlvbkN1cnJlbnQgeyAwIH07Ci0gICAgZG91YmxlIG1fb3Zlcmxh
eVNjcm9sbGJhckFuaW1hdGlvblN0YXJ0VGltZSB7IDAgfTsKLSAgICBkb3VibGUgbV9vdmVybGF5
U2Nyb2xsYmFyQW5pbWF0aW9uRW5kVGltZSB7IDAgfTsKKyAgICBNb25vdG9uaWNUaW1lIG1fb3Zl
cmxheVNjcm9sbGJhckFuaW1hdGlvblN0YXJ0VGltZTsKKyAgICBNb25vdG9uaWNUaW1lIG1fb3Zl
cmxheVNjcm9sbGJhckFuaW1hdGlvbkVuZFRpbWU7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxs
c2NyZWVuSW50ZXJmYWNlQVZLaXQubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2Vi
VmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQubW0KaW5kZXggZjNmYzJhZTI4NDhmNDk3NzE5
ODUwYTk5OGZkMGM5OTNmYjA3NDU0YS4uM2RiM2MwMjVlYmMzZmNkZjgzOTBmNTc1OWM1ZTQyMzA4
OTBjOTdlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYlZpZGVv
RnVsbHNjcmVlbkludGVyZmFjZUFWS2l0Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdC5tbQpAQCAtODIsNyArODIsNyBA
QCBzdGF0aWMgY29uc3QgY2hhciogYm9vbFN0cmluZyhib29sIHZhbCkKIH0KICNlbmRpZgogCi1z
dGF0aWMgY29uc3QgZG91YmxlIERlZmF1bHRXYXRjaGRvZ1RpbWVySW50ZXJ2YWwgPSAxOworc3Rh
dGljIGNvbnN0IFNlY29uZHMgZGVmYXVsdFdhdGNoZG9nVGltZXJJbnRlcnZhbCB7IDFfcyB9Owog
CiBAY2xhc3MgV2ViQVZNZWRpYVNlbGVjdGlvbk9wdGlvbjsKIApAQCAtOTg2LDcgKzk4Niw3IEBA
IGJvb2wgV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OnNob3VsZEV4aXRGdWxsc2Ny
ZWVuV2l0aFJlYXNvbihXZWJWaWRlb0Z1CiAgICAgbV92aWRlb0Z1bGxzY3JlZW5Nb2RlbC0+cmVx
dWVzdEZ1bGxzY3JlZW5Nb2RlKEhUTUxNZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVu
TW9kZU5vbmUsIHJlYXNvbiA9PSBFeGl0RnVsbFNjcmVlblJlYXNvbjo6RG9uZUJ1dHRvblRhcHBl
ZCk7CiAKICAgICBpZiAoIW1fd2F0Y2hkb2dUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3dh
dGNoZG9nVGltZXIuc3RhcnRPbmVTaG90KERlZmF1bHRXYXRjaGRvZ1RpbWVySW50ZXJ2YWwpOwor
ICAgICAgICBtX3dhdGNoZG9nVGltZXIuc3RhcnRPbmVTaG90KGRlZmF1bHRXYXRjaGRvZ1RpbWVy
SW50ZXJ2YWwpOwogCiAgICAgcmV0dXJuIGZhbHNlOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbEFuaW1hdG9yTWFjLm1tIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWFjL1Njcm9sbEFuaW1hdG9yTWFjLm1tCmluZGV4IDk2MjRkMDVkMThlNmZkMjU2
ZTdhZTkxMTI2OTNhNTQwMTg4MjA1NDguLjBkYTM0OWJmZmFmMWYxYWM5ODg4NzY1YTljMGI4NzYx
Y2NjNjRkZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxB
bmltYXRvck1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsQW5p
bWF0b3JNYWMubW0KQEAgLTEzMzgsNyArMTMzOCw3IEBAIHZvaWQgU2Nyb2xsQW5pbWF0b3JNYWM6
OnVwZGF0ZVNjcm9sbGVyU3R5bGUoKQogCiB2b2lkIFNjcm9sbEFuaW1hdG9yTWFjOjpzdGFydFNj
cm9sbGJhclBhaW50VGltZXIoKQogewotICAgIG1faW5pdGlhbFNjcm9sbGJhclBhaW50VGltZXIu
c3RhcnRPbmVTaG90KDAuMSk7CisgICAgbV9pbml0aWFsU2Nyb2xsYmFyUGFpbnRUaW1lci5zdGFy
dE9uZVNob3QoMTAwX21zKTsKIH0KIAogYm9vbCBTY3JvbGxBbmltYXRvck1hYzo6c2Nyb2xsYmFy
UGFpbnRUaW1lcklzQWN0aXZlKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21vY2svTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlck1vY2suY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbW9jay9NZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyTW9jay5jcHAKaW5k
ZXggMWE2MGNhMjRiYmM2MDk2YjdhOTVlMjEwNjYwNDk1MTJmZTJmMjU1Yi4uNWFhYTg0ZGM5YTBh
Y2MyOTA2ZmIwOTNlMWJmODI0YjZlNzk4MGMzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbW9jay9NZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyTW9jay5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9NZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyTW9jay5j
cHAKQEAgLTM3LDcgKzM3LDcgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAotc3RhdGljIGNvbnN0IGRvdWJsZSB0aW1lckludGVydmFsID0gMS4wIC8g
MTAuMDsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHRpbWVySW50ZXJ2YWwgeyAxMDBfbXMgfTsKIAog
TWVkaWFQbGF5YmFja1RhcmdldFBpY2tlck1vY2s6Ok1lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXJN
b2NrKE1lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXI6OkNsaWVudCYgY2xpZW50KQogICAgIDogTWVk
aWFQbGF5YmFja1RhcmdldFBpY2tlcihjbGllbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tb2NrL1BsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1vY2suY3Bw
CmluZGV4IGYzYmM3MWMwZjczM2QyODMzZWMzNDg1ZTg5NDk0NDhkMzhkZDNmMTEuLjY3Zjk3ZGQ2
MWNkZDYzMWVhYzk4Y2VhMGQ5NDYyMzYwMjI3OWUwYmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21vY2svUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1vY2suY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1v
Y2suY3BwCkBAIC02OCw3ICs2OCw3IEBAIHZvaWQgUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1v
Y2s6OnNwZWFrKFJlZlB0cjxQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpc1V0dGVyYW5jCiAgICAgY2xp
ZW50KCktPmJvdW5kYXJ5RXZlbnRPY2N1cnJlZCgqbV91dHRlcmFuY2UsIFNwZWVjaFNlbnRlbmNl
Qm91bmRhcnksIG1fdXR0ZXJhbmNlLT50ZXh0KCkubGVuZ3RoKCkpOwogCiAgICAgLy8gR2l2ZSB0
aGUgZmFrZSBzcGVlY2ggam9iIHNvbWUgdGltZSBzbyB0aGF0IHBhdXNlIGFuZCBvdGhlciBmdW5j
dGlvbnMgaGF2ZSB0aW1lIHRvIGJlIGNhbGxlZC4KLSAgICBtX3NwZWFraW5nRmluaXNoZWRUaW1l
ci5zdGFydE9uZVNob3QoLjEpOworICAgIG1fc3BlYWtpbmdGaW5pc2hlZFRpbWVyLnN0YXJ0T25l
U2hvdCgxMDBfbXMpOwogfQogCiB2b2lkIFBsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrOjpj
YW5jZWwoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9UaW1lckV2
ZW50QmFzZWRNb2NrLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1RpbWVyRXZlbnRC
YXNlZE1vY2suaAppbmRleCBkZTBlOGE5ZmQ2NTk2YjJlMmFiNzM3MDMwNDdkZTVlZDM3ZmZlY2Fj
Li5kZGNkMjc1YTgyZDQyYjQ2MWY4NDVkMzM0NGZkZTFiOTQwOGU0ZjJhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1RpbWVyRXZlbnRCYXNlZE1vY2suaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1RpbWVyRXZlbnRCYXNlZE1vY2suaApAQCAtNjMs
NyArNjMsNyBAQCBwdWJsaWM6CiAgICAgICAgICwgbV90aW1lcigqdGhpcywgJlRpbWVyRXZlbnQ6
OnRpbWVyRmlyZWQpCiAgICAgICAgICwgbV9ub3RpZmllcihub3RpZmllcikKICAgICB7Ci0gICAg
ICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDAuNSk7CisgICAgICAgIG1fdGltZXIuc3RhcnRPbmVT
aG90KDUwMF9tcyk7CiAgICAgfQogCiAgICAgdmlydHVhbCB+VGltZXJFdmVudCgpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0ROU1Jlc29sdmVRdWV1ZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0ROU1Jlc29sdmVRdWV1ZS5jcHAKaW5k
ZXggNTg3NzNhYTMzMjkxY2E3YTY4OTU3NTg2ZWU4MjAzYzZiYWMyY2ZmMy4uYThjMmRmNDBjM2Jm
YmFjNWY1YzM5MjliY2EzMzkzMDBmMGEwMjYxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9ETlNSZXNvbHZlUXVldWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvRE5TUmVzb2x2ZVF1ZXVlLmNwcApAQCAtMzcsNyArMzcsNyBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiBzdGF0aWMgY29uc3QgaW50IGdOYW1lc1RvUmVzb2x2ZUltbWVk
aWF0ZWx5ID0gNDsKIAogLy8gQ29hbGVzY2UgcHJlZmV0Y2ggcmVxdWVzdHMgZm9yIHRoaXMgbG9u
ZyBiZWZvcmUgc2VuZGluZyB0aGVtIG91dC4KLXN0YXRpYyBjb25zdCBkb3VibGUgZ0NvYWxlc2Nl
RGVsYXlJblNlY29uZHMgPSAxLjA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBjb2FsZXNjZURlbGF5
IHsgMV9zIH07CiAKIC8vIFNlbmRpbmcgbWFueSBETlMgcmVxdWVzdHMgYXQgb25jZSBjYW4gb3Zl
cndoZWxtIHNvbWUgZ2F0ZXdheXMuIFNlZSA8cmRhcjovLzgxMDU1NTA+IGZvciBzcGVjaWZpYyBD
Rk5FVCBpc3N1ZXMgd2l0aCBDRkhvc3QgdGhyb3R0bGluZy4KIHN0YXRpYyBjb25zdCBpbnQgZ01h
eFNpbXVsdGFuZW91c1JlcXVlc3RzID0gODsKQEAgLTQ4LDcgKzQ4LDcgQEAgc3RhdGljIGNvbnN0
IGludCBnTWF4U2ltdWx0YW5lb3VzUmVxdWVzdHMgPSA4Owogc3RhdGljIGNvbnN0IGludCBnTWF4
UmVxdWVzdHNUb1F1ZXVlID0gNjQ7CiAKIC8vIElmIHRoZXJlIHdlcmUgcXVldWVkIG5hbWVzIHRo
YXQgY291bGRuJ3QgYmUgc2VudCBzaW11bHRhbmVvdXNseSwgY2hlY2sgdGhlIHN0YXRlIG9mIHJl
c29sdmVycyBhZnRlciB0aGlzIGRlbGF5Lgotc3RhdGljIGNvbnN0IGRvdWJsZSBnUmV0cnlSZXNv
bHZpbmdJblNlY29uZHMgPSAwLjE7CitzdGF0aWMgY29uc3QgU2Vjb25kcyByZXNvbHZpbmdSZXRy
eURlbGF5IHsgMTAwX21zIH07CiAKIEROU1Jlc29sdmVRdWV1ZSYgRE5TUmVzb2x2ZVF1ZXVlOjpz
aW5nbGV0b24oKQogewpAQCAtMTAxLDcgKzEwMSw3IEBAIHZvaWQgRE5TUmVzb2x2ZVF1ZXVlOjph
ZGQoY29uc3QgU3RyaW5nJiBob3N0bmFtZSkKICAgICBpZiAobV9uYW1lcy5zaXplKCkgPCBnTWF4
UmVxdWVzdHNUb1F1ZXVlKSB7CiAgICAgICAgIG1fbmFtZXMuYWRkKGhvc3RuYW1lKTsKICAgICAg
ICAgaWYgKCFtX3RpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgICAgICBtX3RpbWVyLnN0YXJ0T25l
U2hvdChnQ29hbGVzY2VEZWxheUluU2Vjb25kcyk7CisgICAgICAgICAgICBtX3RpbWVyLnN0YXJ0
T25lU2hvdChjb2FsZXNjZURlbGF5KTsKICAgICB9CiB9CiAKQEAgLTEyMiw3ICsxMjIsNyBAQCB2
b2lkIEROU1Jlc29sdmVRdWV1ZTo6dGltZXJGaXJlZCgpCiAgICAgfQogCiAgICAgaWYgKCFtX25h
bWVzLmlzRW1wdHkoKSkKLSAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoZ1JldHJ5UmVzb2x2
aW5nSW5TZWNvbmRzKTsKKyAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QocmVzb2x2aW5nUmV0
cnlEZWxheSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUGluZ0hhbmRsZS5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9QaW5nSGFuZGxlLmgKaW5kZXggMTdjNTRlMDk2OWQ2M2JkZDBlMDNm
N2JmZWU0ODQzM2Q3NDU1YWEyZC4uY2JhZmMwOTM1NjlmZWUxMzc4ZDgzM2QzNjdmMzQ2NGE5YzQ1
OGI2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9QaW5nSGFu
ZGxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9QaW5nSGFuZGxlLmgK
QEAgLTUzLDcgKzUzLDcgQEAgcHVibGljOgogCiAgICAgICAgIC8vIElmIHRoZSBzZXJ2ZXIgbmV2
ZXIgcmVzcG9uZHMsIHRoaXMgb2JqZWN0IHdpbGwgaGFuZyBhcm91bmQgZm9yZXZlci4KICAgICAg
ICAgLy8gU2V0IGEgdmVyeSBnZW5lcm91cyB0aW1lb3V0LCBqdXN0IGluIGNhc2UuCi0gICAgICAg
IG1fdGltZW91dFRpbWVyLnN0YXJ0T25lU2hvdCg2MDAwMCk7CisgICAgICAgIG1fdGltZW91dFRp
bWVyLnN0YXJ0T25lU2hvdCg2MDAwMF9zKTsKICAgICB9CiAKIHByaXZhdGU6CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvUmVzb3VyY2VIYW5kbGVNYW5h
Z2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9SZXNvdXJjZUhh
bmRsZU1hbmFnZXIuY3BwCmluZGV4IGFmYmE1NWY2ZmUyMTQwZGRmZjM3YjVlZDFmOTk2ZTBlN2I3
ODY2ZjkuLmNhY2ZiYjU3NWU5OGI4NTBiMDJiMGFkMzMzMTBlZWM4YWVlNDE5MzIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9SZXNvdXJjZUhhbmRsZU1h
bmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9SZXNv
dXJjZUhhbmRsZU1hbmFnZXIuY3BwCkBAIC04Myw3ICs4Myw3IEBACiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKIGNvbnN0IGludCBzZWxlY3RUaW1lb3V0TVMgPSA1OwotY29uc3QgZG91YmxlIHBvbGxU
aW1lU2Vjb25kcyA9IDAuMDU7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBwb2xsVGltZSB7IDUwX21z
IH07CiBjb25zdCBpbnQgbWF4UnVubmluZ0pvYnMgPSAxMjg7CiBjb25zdCBjaGFyKiBjb25zdCBl
cnJvckRvbWFpbkN1cmwgPSAiQ3VybEVycm9yRG9tYWluIjsKIApAQCAtNzI3LDcgKzcyNyw3IEBA
IHZvaWQgUmVzb3VyY2VIYW5kbGVNYW5hZ2VyOjpkb3dubG9hZFRpbWVyQ2FsbGJhY2soKQogICAg
IGJvb2wgc3RhcnRlZCA9IHN0YXJ0U2NoZWR1bGVkSm9icygpOyAvLyBuZXcgam9icyBtaWdodCBo
YXZlIGJlZW4gYWRkZWQgaW4gdGhlIG1lYW50aW1lCiAKICAgICBpZiAoIW1fZG93bmxvYWRUaW1l
ci5pc0FjdGl2ZSgpICYmIChzdGFydGVkIHx8IChydW5uaW5nSGFuZGxlcyA+IDApKSkKLSAgICAg
ICAgbV9kb3dubG9hZFRpbWVyLnN0YXJ0T25lU2hvdChwb2xsVGltZVNlY29uZHMpOworICAgICAg
ICBtX2Rvd25sb2FkVGltZXIuc3RhcnRPbmVTaG90KHBvbGxUaW1lKTsKIH0KIAogdm9pZCBSZXNv
dXJjZUhhbmRsZU1hbmFnZXI6OnNldFByb3h5SW5mbyhjb25zdCBTdHJpbmcmIGhvc3QsCkBAIC04
NzcsNyArODc3LDcgQEAgdm9pZCBSZXNvdXJjZUhhbmRsZU1hbmFnZXI6OmFkZChSZXNvdXJjZUhh
bmRsZSogam9iKQogICAgIGpvYi0+cmVmKCk7CiAgICAgbV9yZXNvdXJjZUhhbmRsZUxpc3QuYXBw
ZW5kKGpvYik7CiAgICAgaWYgKCFtX2Rvd25sb2FkVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAg
bV9kb3dubG9hZFRpbWVyLnN0YXJ0T25lU2hvdChwb2xsVGltZVNlY29uZHMpOworICAgICAgICBt
X2Rvd25sb2FkVGltZXIuc3RhcnRPbmVTaG90KHBvbGxUaW1lKTsKIH0KIAogYm9vbCBSZXNvdXJj
ZUhhbmRsZU1hbmFnZXI6OnJlbW92ZVNjaGVkdWxlZEpvYihSZXNvdXJjZUhhbmRsZSogam9iKQpA
QCAtMTIzOCw3ICsxMjM4LDcgQEAgdm9pZCBSZXNvdXJjZUhhbmRsZU1hbmFnZXI6OmNhbmNlbChS
ZXNvdXJjZUhhbmRsZSogam9iKQogICAgIFJlc291cmNlSGFuZGxlSW50ZXJuYWwqIGQgPSBqb2It
PmdldEludGVybmFsKCk7CiAgICAgZC0+bV9jYW5jZWxsZWQgPSB0cnVlOwogICAgIGlmICghbV9k
b3dubG9hZFRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fZG93bmxvYWRUaW1lci5zdGFydE9u
ZVNob3QocG9sbFRpbWVTZWNvbmRzKTsKKyAgICAgICAgbV9kb3dubG9hZFRpbWVyLnN0YXJ0T25l
U2hvdChwb2xsVGltZSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL05ldHdvcmtTdGF0ZU5vdGlmaWVy
TWFjLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL05ldHdvcmtTdGF0
ZU5vdGlmaWVyTWFjLmNwcAppbmRleCA1NWFkZTIxOGMxMzg4OGMwY2MyNmViZWNiNzkyNjNkY2E3
MDA5MTZkLi45MTJmNjdiZjE4NjZkNDQ2Y2RlZTVmNzg4ZmNjNjMyODljZTFlNTE1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9OZXR3b3JrU3RhdGVOb3Rp
Zmllck1hYy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvTmV0
d29ya1N0YXRlTm90aWZpZXJNYWMuY3BwCkBAIC0zMSw3ICszMSw3IEBACiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAotc3RhdGljIGNvbnN0IGRvdWJsZSBTdGF0ZUNoYW5nZVRpbWVySW50ZXJ2YWwg
PSAyLjA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBTdGF0ZUNoYW5nZVRpbWVySW50ZXJ2YWwgeyAy
X3MgfTsKIAogdm9pZCBOZXR3b3JrU3RhdGVOb3RpZmllcjo6dXBkYXRlU3RhdGUoKQogewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFu
ZGxlU291cC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3Vy
Y2VIYW5kbGVTb3VwLmNwcAppbmRleCAxMzllMDlkYjcyZWFjYjIxM2JhMzYzY2RmMzdlOGJiMjI4
ZDJlMzQxLi45ZDZkNWM0MDc3NDExMDU5NDdlYzc0NmIxZDE5ZDc4ZDNlMmNlYzNmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVT
b3VwLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3Vy
Y2VIYW5kbGVTb3VwLmNwcApAQCAtNzcxLDcgKzc3MSw3IEBAIHZvaWQgUmVzb3VyY2VIYW5kbGU6
OnNlbmRQZW5kaW5nUmVxdWVzdCgpCiAjZW5kaWYKIAogICAgIGlmIChkLT5tX2ZpcnN0UmVxdWVz
dC50aW1lb3V0SW50ZXJ2YWwoKSA+IDApCi0gICAgICAgIGQtPm1fdGltZW91dFNvdXJjZS5zdGFy
dE9uZVNob3QoZC0+bV9maXJzdFJlcXVlc3QudGltZW91dEludGVydmFsKCkpOworICAgICAgICBk
LT5tX3RpbWVvdXRTb3VyY2Uuc3RhcnRPbmVTaG90KDFfcyAqIGQtPm1fZmlyc3RSZXF1ZXN0LnRp
bWVvdXRJbnRlcnZhbCgpKTsKIAogICAgIC8vIEJhbGFuY2VkIGJ5IGEgZGVyZWYoKSBpbiBjbGVh
bnVwU291cFJlcXVlc3RPcGVyYXRpb24sIHdoaWNoIHNob3VsZCBhbHdheXMgcnVuLgogICAgIHJl
ZigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0ltYWdlUXVhbGl0eUNv
bnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0ltYWdlUXVhbGl0eUNvbnRy
b2xsZXIuY3BwCmluZGV4IDFiYzgyZTk3Zjg3OTBlYzBkN2ExOWUwNDRmZWRmYzc5OWM1ZTJiYWQu
Ljc1NDE1ZDAyM2ZjNzRjM2RmZjRiNzk3YWJhMzBmZDRlNTM1OTJkZTMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbWFnZVF1YWxpdHlDb250cm9sbGVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW1hZ2VRdWFsaXR5Q29udHJvbGxlci5jcHAKQEAgLTM1
LDcgKzM1LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogc3RhdGljIGNvbnN0IGRvdWJsZSBj
SW50ZXJwb2xhdGlvbkN1dG9mZiA9IDgwMC4gKiA4MDAuOwotc3RhdGljIGNvbnN0IGRvdWJsZSBj
TG93UXVhbGl0eVRpbWVUaHJlc2hvbGQgPSAwLjUwMDsgLy8gNTAwIG1zCitzdGF0aWMgY29uc3Qg
U2Vjb25kcyBsb3dRdWFsaXR5VGltZVRocmVzaG9sZCB7IDUwMF9tcyB9OwogCiBJbWFnZVF1YWxp
dHlDb250cm9sbGVyOjpJbWFnZVF1YWxpdHlDb250cm9sbGVyKGNvbnN0IFJlbmRlclZpZXcmIHJl
bmRlclZpZXcpCiAgICAgOiBtX3JlbmRlclZpZXcocmVuZGVyVmlldykKQEAgLTk0LDcgKzk0LDcg
QEAgdm9pZCBJbWFnZVF1YWxpdHlDb250cm9sbGVyOjpoaWdoUXVhbGl0eVJlcGFpbnRUaW1lckZp
cmVkKCkKIAogdm9pZCBJbWFnZVF1YWxpdHlDb250cm9sbGVyOjpyZXN0YXJ0VGltZXIoKQogewot
ICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KGNMb3dRdWFsaXR5VGltZVRocmVzaG9sZCk7CisgICAg
bV90aW1lci5zdGFydE9uZVNob3QobG93UXVhbGl0eVRpbWVUaHJlc2hvbGQpOwogfQogCiBzdGQ6
Om9wdGlvbmFsPEludGVycG9sYXRpb25RdWFsaXR5PiBJbWFnZVF1YWxpdHlDb250cm9sbGVyOjpp
bnRlcnBvbGF0aW9uUXVhbGl0eUZyb21TdHlsZShjb25zdCBSZW5kZXJTdHlsZSYgc3R5bGUpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9y
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3Bw
CmluZGV4IGVhYzQyZTIzNWUzYzliYWUwOTEzZDExOGYyNTc0ZDg4ZWZhZTc3MTcuLjFhODM4ZDg3
YzVlZmE1N2ZkNGMyYmQwMTA4YjhlZjZlOWU1ZTMyYjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCkBAIC05MiwxMSArOTIsMTEg
QEAgc3RhdGljIGNvbnN0IGludCBjYW52YXNBcmVhVGhyZXNob2xkUmVxdWlyaW5nQ29tcG9zaXRp
bmcgPSA1MCAqIDEwMDsKICNlbmRpZgogLy8gRHVyaW5nIHBhZ2UgbG9hZGluZyBkZWxheSBsYXll
ciBmbHVzaGVzIHVwIHRvIHRoaXMgbWFueSBzZWNvbmRzIHRvIGFsbG93IHRoZW0gY29hbGVzY2Us
IHJlZHVjaW5nIHdvcmtsb2FkLgogI2lmIFBMQVRGT1JNKElPUykKLXN0YXRpYyBjb25zdCBkb3Vi
bGUgdGhyb3R0bGVkTGF5ZXJGbHVzaEluaXRpYWxEZWxheSA9IC41Owotc3RhdGljIGNvbnN0IGRv
dWJsZSB0aHJvdHRsZWRMYXllckZsdXNoRGVsYXkgPSAxLjU7CitzdGF0aWMgY29uc3QgU2Vjb25k
cyB0aHJvdHRsZWRMYXllckZsdXNoSW5pdGlhbERlbGF5IHsgNTAwX21zIH07CitzdGF0aWMgY29u
c3QgU2Vjb25kcyB0aHJvdHRsZWRMYXllckZsdXNoRGVsYXkgeyAxLjVfcyB9OwogI2Vsc2UKLXN0
YXRpYyBjb25zdCBkb3VibGUgdGhyb3R0bGVkTGF5ZXJGbHVzaEluaXRpYWxEZWxheSA9IC41Owot
c3RhdGljIGNvbnN0IGRvdWJsZSB0aHJvdHRsZWRMYXllckZsdXNoRGVsYXkgPSAuNTsKK3N0YXRp
YyBjb25zdCBTZWNvbmRzIHRocm90dGxlZExheWVyRmx1c2hJbml0aWFsRGVsYXkgeyA1MDBfbXMg
fTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHRocm90dGxlZExheWVyRmx1c2hEZWxheSB7IDUwMF9t
cyB9OwogI2VuZGlmCiAKIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUHJvZ3Jlc3MuY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclByb2dyZXNzLmNwcAppbmRleCAzYjE0ZTQwN2ExZTIxYTg2OGJi
ZjgyNmM3NzgzNmJmMzQyMTNhYWEyLi41NmE0NWM3ZDBjYTBlZmZiMzRiZDRlMGEwMmMzYjA4Zjk1
MDg3NjhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUHJvZ3Jl
c3MuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJQcm9ncmVzcy5jcHAK
QEAgLTMyLDcgKzMyLDYgQEAgUmVuZGVyUHJvZ3Jlc3M6OlJlbmRlclByb2dyZXNzKEhUTUxFbGVt
ZW50JiBlbGVtZW50LCBSZW5kZXJTdHlsZSYmIHN0eWxlKQogICAgIDogUmVuZGVyQmxvY2tGbG93
KGVsZW1lbnQsIFdURk1vdmUoc3R5bGUpKQogICAgICwgbV9wb3NpdGlvbihIVE1MUHJvZ3Jlc3NF
bGVtZW50OjpJbnZhbGlkUG9zaXRpb24pCiAgICAgLCBtX2FuaW1hdGlvblN0YXJ0VGltZSgwKQot
ICAgICwgbV9hbmltYXRpb25SZXBlYXRJbnRlcnZhbCgwKQogICAgICwgbV9hbmltYXRpb25EdXJh
dGlvbigwKQogICAgICwgbV9hbmltYXRpbmcoZmFsc2UpCiAgICAgLCBtX2FuaW1hdGlvblRpbWVy
KCp0aGlzLCAmUmVuZGVyUHJvZ3Jlc3M6OmFuaW1hdGlvblRpbWVyRmlyZWQpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUHJvZ3Jlc3MuaCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJQcm9ncmVzcy5oCmluZGV4IDNhNmQ4NGQ4MzU2MTMwNzE3YjQw
MzJmOWEzOGFiODNhZGU5YWI5ODcuLjI5NjRlYzU3MGQwZDlhOWNlNDgwNjAzMzliYmY4NWIyOTE4
NTNmYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJQcm9ncmVz
cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJQcm9ncmVzcy5oCkBAIC01
MCw3ICs1MCw3IEBAIHByaXZhdGU6CiAKICAgICBkb3VibGUgbV9wb3NpdGlvbjsKICAgICBkb3Vi
bGUgbV9hbmltYXRpb25TdGFydFRpbWU7Ci0gICAgZG91YmxlIG1fYW5pbWF0aW9uUmVwZWF0SW50
ZXJ2YWw7CisgICAgU2Vjb25kcyBtX2FuaW1hdGlvblJlcGVhdEludGVydmFsOwogICAgIGRvdWJs
ZSBtX2FuaW1hdGlvbkR1cmF0aW9uOwogICAgIGJvb2wgbV9hbmltYXRpbmc7CiAgICAgVGltZXIg
bV9hbmltYXRpb25UaW1lcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmNwcApp
bmRleCAyYzg4YWM1ZDIwODdhOGQ0MWY4MDY3Y2YwYTQxODA1OTY0NzIyOWIwLi4yYTUyMmRjYTg4
NDA1MzVmOWIyNDQ2ZWU3OGJkZTE5ZGU4YWRkNzIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRleHQuY3BwCkBAIC0xMDcsNyArMTA3LDcgQEAgaW5saW5lIFNlY3VyZVRleHRUaW1l
cjo6U2VjdXJlVGV4dFRpbWVyKFJlbmRlclRleHQmIHJlbmRlcmVyKQogaW5saW5lIHZvaWQgU2Vj
dXJlVGV4dFRpbWVyOjpyZXN0YXJ0KHVuc2lnbmVkIG9mZnNldEFmdGVyTGFzdFR5cGVkQ2hhcmFj
dGVyKQogewogICAgIG1fb2Zmc2V0QWZ0ZXJMYXN0VHlwZWRDaGFyYWN0ZXIgPSBvZmZzZXRBZnRl
ckxhc3RUeXBlZENoYXJhY3RlcjsKLSAgICBzdGFydE9uZVNob3QobV9yZW5kZXJlci5zZXR0aW5n
cygpLnBhc3N3b3JkRWNob0R1cmF0aW9uSW5TZWNvbmRzKCkpOworICAgIHN0YXJ0T25lU2hvdCgx
X3MgKiBtX3JlbmRlcmVyLnNldHRpbmdzKCkucGFzc3dvcmRFY2hvRHVyYXRpb25JblNlY29uZHMo
KSk7CiB9CiAKIGlubGluZSB1bnNpZ25lZCBTZWN1cmVUZXh0VGltZXI6OnRha2VPZmZzZXRBZnRl
ckxhc3RUeXBlZENoYXJhY3RlcigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGhlbWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1l
LmNwcAppbmRleCBjMzFhOWFhNmNmMmIwNjk4MjJiNmZmNTA2N2JmZmFjNTM3ZmYyYmEzLi5kYjRk
ODA4YjgzNTgzMDExNzNhOGFjYzA5NmQ5ZTY0NGJhMzBmOGI1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUaGVtZS5jcHAKQEAgLTEwNjIsOSArMTA2Miw5IEBAIHZvaWQgUmVuZGVy
VGhlbWU6OnBhaW50U2xpZGVyVGlja3MoY29uc3QgUmVuZGVyT2JqZWN0JiBvLCBjb25zdCBQYWlu
dEluZm8mIHBhaW50CiB9CiAjZW5kaWYKIAotZG91YmxlIFJlbmRlclRoZW1lOjphbmltYXRpb25S
ZXBlYXRJbnRlcnZhbEZvclByb2dyZXNzQmFyKFJlbmRlclByb2dyZXNzJikgY29uc3QKK1NlY29u
ZHMgUmVuZGVyVGhlbWU6OmFuaW1hdGlvblJlcGVhdEludGVydmFsRm9yUHJvZ3Jlc3NCYXIoUmVu
ZGVyUHJvZ3Jlc3MmKSBjb25zdAogewotICAgIHJldHVybiAwOworICAgIHJldHVybiAwX3M7CiB9
CiAKIGRvdWJsZSBSZW5kZXJUaGVtZTo6YW5pbWF0aW9uRHVyYXRpb25Gb3JQcm9ncmVzc0JhcihS
ZW5kZXJQcm9ncmVzcyYpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGhlbWUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5o
CmluZGV4IDcxZDE2NWExMDhkNjE4MDM2ZWNmMzNlMGIxYWQyYTIxOWI5MTBhODAuLjYxN2NhZGIx
Y2E2OTIzNzZjZjViM2U1NzY0ZWI5NzdhNDZjMTNjZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUaGVtZS5oCkBAIC0xOTUsNyArMTk1LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwg
U2Nyb2xsYmFyQ29udHJvbFNpemUgc2Nyb2xsYmFyQ29udHJvbFNpemVGb3JQYXJ0KENvbnRyb2xQ
YXJ0KSB7IHJldHVybiBSZWd1bGFyU2Nyb2xsYmFyOyB9CiAKICAgICAvLyBSZXR1cm5zIHRoZSBy
ZXBlYXQgaW50ZXJ2YWwgb2YgdGhlIGFuaW1hdGlvbiBmb3IgdGhlIHByb2dyZXNzIGJhci4KLSAg
ICB2aXJ0dWFsIGRvdWJsZSBhbmltYXRpb25SZXBlYXRJbnRlcnZhbEZvclByb2dyZXNzQmFyKFJl
bmRlclByb2dyZXNzJikgY29uc3Q7CisgICAgdmlydHVhbCBTZWNvbmRzIGFuaW1hdGlvblJlcGVh
dEludGVydmFsRm9yUHJvZ3Jlc3NCYXIoUmVuZGVyUHJvZ3Jlc3MmKSBjb25zdDsKICAgICAvLyBS
ZXR1cm5zIHRoZSBkdXJhdGlvbiBvZiB0aGUgYW5pbWF0aW9uIGZvciB0aGUgcHJvZ3Jlc3MgYmFy
LgogICAgIHZpcnR1YWwgZG91YmxlIGFuaW1hdGlvbkR1cmF0aW9uRm9yUHJvZ3Jlc3NCYXIoUmVu
ZGVyUHJvZ3Jlc3MmKSBjb25zdDsKICAgICB2aXJ0dWFsIEludFJlY3QgcHJvZ3Jlc3NCYXJSZWN0
Rm9yQm91bmRzKGNvbnN0IFJlbmRlck9iamVjdCYsIGNvbnN0IEludFJlY3QmKSBjb25zdDsKQEAg
LTIwOCw3ICsyMDgsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIHVzZXNNZWRpYUNvbnRy
b2xWb2x1bWVTbGlkZXIoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CiAgICAgdmlydHVhbCBib29s
IHVzZXNWZXJ0aWNhbFZvbHVtZVNsaWRlcigpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KICAgICB2
aXJ0dWFsIGRvdWJsZSBtZWRpYUNvbnRyb2xzRmFkZUluRHVyYXRpb24oKSB7IHJldHVybiAwLjE7
IH0KLSAgICB2aXJ0dWFsIGRvdWJsZSBtZWRpYUNvbnRyb2xzRmFkZU91dER1cmF0aW9uKCkgeyBy
ZXR1cm4gMC4zOyB9CisgICAgdmlydHVhbCBTZWNvbmRzIG1lZGlhQ29udHJvbHNGYWRlT3V0RHVy
YXRpb24oKSB7IHJldHVybiAzMDBfbXM7IH0KICAgICB2aXJ0dWFsIFN0cmluZyBmb3JtYXRNZWRp
YUNvbnRyb2xzVGltZShmbG9hdCB0aW1lKSBjb25zdDsKICAgICB2aXJ0dWFsIFN0cmluZyBmb3Jt
YXRNZWRpYUNvbnRyb2xzQ3VycmVudFRpbWUoZmxvYXQgY3VycmVudFRpbWUsIGZsb2F0IGR1cmF0
aW9uKSBjb25zdDsKICAgICB2aXJ0dWFsIFN0cmluZyBmb3JtYXRNZWRpYUNvbnRyb2xzUmVtYWlu
aW5nVGltZShmbG9hdCBjdXJyZW50VGltZSwgZmxvYXQgZHVyYXRpb24pIGNvbnN0OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lR3RrLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUd0ay5jcHAKaW5kZXggMTcyODRmNDk5OGYz
MTUzNGI1NDE5NTM5YjQ5YzU0NjRkYTYzNTI4Yi4uZWRjNzQ3Y2U2ZDQ4NTdmZTUyZjcxNzcwZGM3
ZmEwNzA4YzQ5OTFhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clRoZW1lR3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVH
dGsuY3BwCkBAIC0yMTExLDggKzIxMTEsOCBAQCB2b2lkIFJlbmRlclRoZW1lR3RrOjphZGp1c3RQ
cm9ncmVzc0JhclN0eWxlKFN0eWxlUmVzb2x2ZXImLCBSZW5kZXJTdHlsZSYgc3R5bGUsCiAvLyBU
aGVzZSB2YWx1ZXMgaGF2ZSBiZWVuIGNvcGllZCBmcm9tIFJlbmRlclRoZW1lQ2hyb21pdW1Ta2lh
LmNwcAogc3RhdGljIGNvbnN0IGludCBwcm9ncmVzc0FjdGl2aXR5QmxvY2tzID0gNTsKIHN0YXRp
YyBjb25zdCBpbnQgcHJvZ3Jlc3NBbmltYXRpb25GcmFtZXMgPSAxMDsKLXN0YXRpYyBjb25zdCBk
b3VibGUgcHJvZ3Jlc3NBbmltYXRpb25JbnRlcnZhbCA9IDAuMTI1OwotZG91YmxlIFJlbmRlclRo
ZW1lR3RrOjphbmltYXRpb25SZXBlYXRJbnRlcnZhbEZvclByb2dyZXNzQmFyKFJlbmRlclByb2dy
ZXNzJikgY29uc3QKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHByb2dyZXNzQW5pbWF0aW9uSW50ZXJ2
YWwgeyAxMjVfbXMgfTsKK1NlY29uZHMgUmVuZGVyVGhlbWVHdGs6OmFuaW1hdGlvblJlcGVhdElu
dGVydmFsRm9yUHJvZ3Jlc3NCYXIoUmVuZGVyUHJvZ3Jlc3MmKSBjb25zdAogewogICAgIHJldHVy
biBwcm9ncmVzc0FuaW1hdGlvbkludGVydmFsOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lR3RrLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGhlbWVHdGsuaAppbmRleCA3YjgyZDkzMTQ2NDQ0ZmQ0ZWZlZTU2MTRlNWMxMWQ3NmRi
MWVkODExLi42NGE0ZDg5ZmY0NTJiYjYyM2ZkODA4YTU2OTUwMGFhNmNjZWE0Y2Y1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVHdGsuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVHdGsuaApAQCAtMTY4LDcgKzE2OCw3IEBA
IHByaXZhdGU6CiAjZW5kaWYKICNlbmRpZgogCi0gICAgZG91YmxlIGFuaW1hdGlvblJlcGVhdElu
dGVydmFsRm9yUHJvZ3Jlc3NCYXIoUmVuZGVyUHJvZ3Jlc3MmKSBjb25zdCBvdmVycmlkZTsKKyAg
ICBTZWNvbmRzIGFuaW1hdGlvblJlcGVhdEludGVydmFsRm9yUHJvZ3Jlc3NCYXIoUmVuZGVyUHJv
Z3Jlc3MmKSBjb25zdCBvdmVycmlkZTsKICAgICBkb3VibGUgYW5pbWF0aW9uRHVyYXRpb25Gb3JQ
cm9ncmVzc0JhcihSZW5kZXJQcm9ncmVzcyYpIGNvbnN0IG92ZXJyaWRlOwogICAgIHZvaWQgYWRq
dXN0UHJvZ3Jlc3NCYXJTdHlsZShTdHlsZVJlc29sdmVyJiwgUmVuZGVyU3R5bGUmLCBjb25zdCBF
bGVtZW50KikgY29uc3Qgb3ZlcnJpZGU7CiAgICAgSW50UmVjdCBwcm9ncmVzc0JhclJlY3RGb3JC
b3VuZHMoY29uc3QgUmVuZGVyT2JqZWN0JiwgY29uc3QgSW50UmVjdCYpIGNvbnN0IG92ZXJyaWRl
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lSU9TLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1MuaAppbmRleCBiYjM5OGY3
ZWJjZjEzMGQ5YTZhMTQ1YTI3ZTY2ODY5NjJhM2M5NmUzLi4wYjFlNTQ1MTA3ZWJlYTc5ZTc0NDg0
OGU4N2Y2NmEzNDNjY2QwNTY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGhlbWVJT1MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhl
bWVJT1MuaApAQCAtODEsNyArODEsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgYm9vbCBwYWludFNsaWRl
clRodW1iRGVjb3JhdGlvbnMoY29uc3QgUmVuZGVyT2JqZWN0JiwgY29uc3QgUGFpbnRJbmZvJiwg
Y29uc3QgSW50UmVjdCYpIG92ZXJyaWRlOwogCiAgICAgLy8gUmV0dXJucyB0aGUgcmVwZWF0IGlu
dGVydmFsIG9mIHRoZSBhbmltYXRpb24gZm9yIHRoZSBwcm9ncmVzcyBiYXIuCi0gICAgZG91Ymxl
IGFuaW1hdGlvblJlcGVhdEludGVydmFsRm9yUHJvZ3Jlc3NCYXIoUmVuZGVyUHJvZ3Jlc3MmKSBj
b25zdCBvdmVycmlkZTsKKyAgICBTZWNvbmRzIGFuaW1hdGlvblJlcGVhdEludGVydmFsRm9yUHJv
Z3Jlc3NCYXIoUmVuZGVyUHJvZ3Jlc3MmKSBjb25zdCBvdmVycmlkZTsKICAgICAvLyBSZXR1cm5z
IHRoZSBkdXJhdGlvbiBvZiB0aGUgYW5pbWF0aW9uIGZvciB0aGUgcHJvZ3Jlc3MgYmFyLgogICAg
IGRvdWJsZSBhbmltYXRpb25EdXJhdGlvbkZvclByb2dyZXNzQmFyKFJlbmRlclByb2dyZXNzJikg
Y29uc3Qgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUaGVtZUlPUy5tbSBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUlP
Uy5tbQppbmRleCAyMDEzMTk1ZmE2OWMyODdiMjQ2ZDJjMmZkYzEyZDBjNGU1ZGFmMjA1Li5kOWY0
Zjc3OWM5ODMzMWI1MGZiYTM1ZjE0NDUzY2RiYmUwNWFmZjc5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1MubW0KKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRoZW1lSU9TLm1tCkBAIC04NzAsOSArODcwLDkgQEAgYm9vbCBSZW5k
ZXJUaGVtZUlPUzo6cGFpbnRTbGlkZXJUaHVtYkRlY29yYXRpb25zKGNvbnN0IFJlbmRlck9iamVj
dCYgYm94LCBjb25zdAogICAgIHJldHVybiBmYWxzZTsKIH0KIAotZG91YmxlIFJlbmRlclRoZW1l
SU9TOjphbmltYXRpb25SZXBlYXRJbnRlcnZhbEZvclByb2dyZXNzQmFyKFJlbmRlclByb2dyZXNz
JikgY29uc3QKK1NlY29uZHMgUmVuZGVyVGhlbWVJT1M6OmFuaW1hdGlvblJlcGVhdEludGVydmFs
Rm9yUHJvZ3Jlc3NCYXIoUmVuZGVyUHJvZ3Jlc3MmKSBjb25zdAogewotICAgIHJldHVybiAwOwor
ICAgIHJldHVybiAwX3M7CiB9CiAKIGRvdWJsZSBSZW5kZXJUaGVtZUlPUzo6YW5pbWF0aW9uRHVy
YXRpb25Gb3JQcm9ncmVzc0JhcihSZW5kZXJQcm9ncmVzcyYpIGNvbnN0CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMuaCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5oCmluZGV4IDZiOWM3MjdjOWE4MTgxMGE2YThjZDQ2
MGMyYWFhNjY0ZWYxYTQ4ZjEuLmYzOTAwYTAwM2ZlNDgwNmNmNDU1MTJjYWI0YzZhZjJjMTBjMjky
ZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5oCkBAIC04Nyw3
ICs4Nyw3IEBAIHB1YmxpYzoKICNlbmRpZgogCiAgICAgLy8gUmV0dXJucyB0aGUgcmVwZWF0IGlu
dGVydmFsIG9mIHRoZSBhbmltYXRpb24gZm9yIHRoZSBwcm9ncmVzcyBiYXIuCi0gICAgZG91Ymxl
IGFuaW1hdGlvblJlcGVhdEludGVydmFsRm9yUHJvZ3Jlc3NCYXIoUmVuZGVyUHJvZ3Jlc3MmKSBj
b25zdCBvdmVycmlkZTsKKyAgICBTZWNvbmRzIGFuaW1hdGlvblJlcGVhdEludGVydmFsRm9yUHJv
Z3Jlc3NCYXIoUmVuZGVyUHJvZ3Jlc3MmKSBjb25zdCBvdmVycmlkZTsKICAgICAvLyBSZXR1cm5z
IHRoZSBkdXJhdGlvbiBvZiB0aGUgYW5pbWF0aW9uIGZvciB0aGUgcHJvZ3Jlc3MgYmFyLgogICAg
IGRvdWJsZSBhbmltYXRpb25EdXJhdGlvbkZvclByb2dyZXNzQmFyKFJlbmRlclByb2dyZXNzJikg
Y29uc3Qgb3ZlcnJpZGU7CiAgICAgSW50UmVjdCBwcm9ncmVzc0JhclJlY3RGb3JCb3VuZHMoY29u
c3QgUmVuZGVyT2JqZWN0JiwgY29uc3QgSW50UmVjdCYpIGNvbnN0IG92ZXJyaWRlOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1tIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1tCmluZGV4IGY4MGUyYzkxOTg5MDFi
YmFjODk5NGI2ZmNlM2NmZWYzZDMxMzQ1YzEuLjliNTVlZjZmNzk2ZjhlN2M4NzcwOTVkYjI5MjQy
NWY0ZTc0YTgyNjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
aGVtZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMu
bW0KQEAgLTExNCwxMCArMTE0LDEwIEBAIEBlbmQKIAogLy8gV2UgZXN0aW1hdGUgdGhlIGFuaW1h
dGlvbiByYXRlIG9mIGEgTWFjIE9TIFggcHJvZ3Jlc3MgYmFyIGlzIDMzIGZwcy4KIC8vIEhhcmQg
Y29kZSB0aGUgdmFsdWUgaGVyZSBiZWNhdXNlIHdlIGhhdmVuJ3QgZm91bmQgQVBJIGZvciBpdC4K
LWNvbnN0IGRvdWJsZSBwcm9ncmVzc0FuaW1hdGlvbkZyYW1lUmF0ZSA9IDAuMDMzOworc3RhdGlj
IGNvbnN0IFNlY29uZHMgcHJvZ3Jlc3NBbmltYXRpb25GcmFtZVJhdGUgPSAzM19tczsKIAogLy8g
TWFjIE9TIFggcHJvZ3Jlc3MgYmFyIGFuaW1hdGlvbiBzZWVtcyB0byBoYXZlIDI1NiBmcmFtZXMu
Ci1jb25zdCBkb3VibGUgcHJvZ3Jlc3NBbmltYXRpb25OdW1GcmFtZXMgPSAyNTY7CitzdGF0aWMg
Y29uc3QgZG91YmxlIHByb2dyZXNzQW5pbWF0aW9uTnVtRnJhbWVzID0gMjU2OwogCiBAaW50ZXJm
YWNlIFdlYkNvcmVSZW5kZXJUaGVtZU5vdGlmaWNhdGlvbk9ic2VydmVyIDogTlNPYmplY3QKIHsK
QEAgLTExMjksMTQgKzExMjksMTQgQEAgaW50IFJlbmRlclRoZW1lTWFjOjptaW5pbXVtUHJvZ3Jl
c3NCYXJIZWlnaHQoY29uc3QgUmVuZGVyU3R5bGUmIHN0eWxlKSBjb25zdAogICAgIHJldHVybiBz
aXplRm9yU3lzdGVtRm9udChzdHlsZSwgcHJvZ3Jlc3NCYXJTaXplcygpKS5oZWlnaHQoKTsKIH0K
IAotZG91YmxlIFJlbmRlclRoZW1lTWFjOjphbmltYXRpb25SZXBlYXRJbnRlcnZhbEZvclByb2dy
ZXNzQmFyKFJlbmRlclByb2dyZXNzJikgY29uc3QKK1NlY29uZHMgUmVuZGVyVGhlbWVNYWM6OmFu
aW1hdGlvblJlcGVhdEludGVydmFsRm9yUHJvZ3Jlc3NCYXIoUmVuZGVyUHJvZ3Jlc3MmKSBjb25z
dAogewogICAgIHJldHVybiBwcm9ncmVzc0FuaW1hdGlvbkZyYW1lUmF0ZTsKIH0KIAogZG91Ymxl
IFJlbmRlclRoZW1lTWFjOjphbmltYXRpb25EdXJhdGlvbkZvclByb2dyZXNzQmFyKFJlbmRlclBy
b2dyZXNzJikgY29uc3QKIHsKLSAgICByZXR1cm4gcHJvZ3Jlc3NBbmltYXRpb25OdW1GcmFtZXMg
KiBwcm9ncmVzc0FuaW1hdGlvbkZyYW1lUmF0ZTsKKyAgICByZXR1cm4gcHJvZ3Jlc3NBbmltYXRp
b25OdW1GcmFtZXMgKiBwcm9ncmVzc0FuaW1hdGlvbkZyYW1lUmF0ZS52YWx1ZSgpOwogfQogCiB2
b2lkIFJlbmRlclRoZW1lTWFjOjphZGp1c3RQcm9ncmVzc0JhclN0eWxlKFN0eWxlUmVzb2x2ZXIm
LCBSZW5kZXJTdHlsZSYsIGNvbnN0IEVsZW1lbnQqKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVwbGF5L0V2ZW50TG9vcElucHV0RGlzcGF0Y2hlci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9yZXBsYXkvRXZlbnRMb29wSW5wdXREaXNwYXRjaGVyLmNwcAppbmRleCA1MTAyOTNmYzE2
YzY0YWM5YjVmYjUxZTdiOThkMDkwZDhiNTEzNjY3Li45ZTI3ODZkNThhMGY2NWM4YmVjNDVhOTcz
Y2FlYTQ2YTJmNTA5M2EyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvRXZlbnRM
b29wSW5wdXREaXNwYXRjaGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvRXZlbnRM
b29wSW5wdXREaXNwYXRjaGVyLmNwcApAQCAtMTE4LDcgKzExOCw3IEBAIHZvaWQgRXZlbnRMb29w
SW5wdXREaXNwYXRjaGVyOjpkaXNwYXRjaElucHV0U29vbigpCiAgICAgfQogCiAgICAgTE9HKFdl
YlJlcGxheSwgIiUtMjBzIChXQUlUOiAlLjNmIG1zKSIsICJSZXBsYXlFdmVudHMiLCB3YWl0SW50
ZXJ2YWwgKiAxMDAwLjApOwotICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KHdhaXRJbnRlcnZhbCk7
CisgICAgbV90aW1lci5zdGFydE9uZVNob3QoMV9zICogd2FpdEludGVydmFsKTsKIH0KIAogdm9p
ZCBFdmVudExvb3BJbnB1dERpc3BhdGNoZXI6OmRpc3BhdGNoSW5wdXQoKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvc3ZnL2FuaW1hdGlvbi9TTUlMVGltZUNvbnRhaW5lci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvYW5pbWF0aW9uL1NNSUxUaW1lQ29udGFpbmVyLmNwcAppbmRleCAxMjVi
NDNiNGNlZmUyYjJlZmIyZmMwZjVlYmZhNTQxZTI3YTE4NDBkLi40NWNhZjlmNGNjNTM1ZjdjZmQ3
OWQ1ZDE0YjhmMGI3ODY4NjU0ZjU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvYW5p
bWF0aW9uL1NNSUxUaW1lQ29udGFpbmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvYW5p
bWF0aW9uL1NNSUxUaW1lQ29udGFpbmVyLmNwcApAQCAtMzUsOCArMzUsOCBAQAogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBTZWNvbmRzIFNNSUxBbmltYXRpb25GcmFtZURl
bGF5IHsgMS4wIC8gNjAgfTsKLXN0YXRpYyBjb25zdCBTZWNvbmRzIFNNSUxBbmltYXRpb25GcmFt
ZVRocm90dGxlZERlbGF5IHsgMS4wIC8gMzAgfTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIFNNSUxB
bmltYXRpb25GcmFtZURlbGF5IHsgMV9zIC8gNjAuIH07CitzdGF0aWMgY29uc3QgU2Vjb25kcyBT
TUlMQW5pbWF0aW9uRnJhbWVUaHJvdHRsZWREZWxheSB7IDFfcyAvIDMwLiB9OwogCiBTTUlMVGlt
ZUNvbnRhaW5lcjo6U01JTFRpbWVDb250YWluZXIoU1ZHU1ZHRWxlbWVudCYgb3duZXIpCiAgICAg
OiBtX2JlZ2luVGltZSgwKQpAQCAtMjE2LDcgKzIxNiw3IEBAIHZvaWQgU01JTFRpbWVDb250YWlu
ZXI6OnN0YXJ0VGltZXIoU01JTFRpbWUgZWxhcHNlZCwgU01JTFRpbWUgZmlyZVRpbWUsIFNNSUxU
aW1lCiAgICAgICAgIHJldHVybjsKIAogICAgIFNNSUxUaW1lIGRlbGF5ID0gc3RkOjptYXgoZmly
ZVRpbWUgLSBlbGFwc2VkLCBtaW5pbXVtRGVsYXkpOwotICAgIG1fdGltZXIuc3RhcnRPbmVTaG90
KGRlbGF5LnZhbHVlKCkpOworICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDFfcyAqIGRlbGF5LnZh
bHVlKCkpOwogfQogCiB2b2lkIFNNSUxUaW1lQ29udGFpbmVyOjp0aW1lckZpcmVkKCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwCmluZGV4IGU5ZWE0Y2IwNDgw
OWRhYWM1NDk1YThhMjdmNTA2NTYxOGRmODY5MzEuLjdhY2Y1MDU5MzFlMjAyMmNmNmQ2MjRkZWFj
OWMwNWEzZWJkNjY4NzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJu
YWxTZXR0aW5ncy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRp
bmdzLmNwcApAQCAtNTcwLDcgKzU3MCw3IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IEludGVybmFsU2V0
dGluZ3M6OnNldFRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyCiB7CiAg
ICAgaWYgKCFtX3BhZ2UpCiAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJTlZBTElEX0FDQ0VT
U19FUlIgfTsKLSAgICBzZXR0aW5ncygpLnNldFRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9y
ZUhpZGluZ0NvbnRyb2xzKHRpbWUpOworICAgIHNldHRpbmdzKCkuc2V0VGltZVdpdGhvdXRNb3Vz
ZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMoU2Vjb25kcyB7IHRpbWUgfSk7CiAgICAgcmV0
dXJuIHsgfTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bFNldHRpbmdzLmggYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaApp
bmRleCAyMGE3MzYzOWI1MGM3MjBkMzdmNTUyM2RhMmY1N2I0ZDYwNmQ2YWM2Li4xOWU1YmRlMTVi
ZDVkMjQzYjNlY2IxZGM4MWQzZGJkZjEzMTUxNWVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFsU2V0dGluZ3MuaApAQCAtMTU5LDcgKzE1OSw3IEBAIHByaXZhdGU6CiAjZW5kaWYK
ICAgICAgICAgU3RyaW5nIG1fZGVmYXVsdFZpZGVvUG9zdGVyVVJMOwogICAgICAgICBib29sIG1f
Zm9yY2VQZW5kaW5nV2ViR0xQb2xpY3k7Ci0gICAgICAgIGJvb2wgbV9vcmlnaW5hbFRpbWVXaXRo
b3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzOworICAgICAgICBTZWNvbmRzIG1f
b3JpZ2luYWxUaW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9sczsKICAg
ICAgICAgYm9vbCBtX3VzZUxlZ2FjeUJhY2tncm91bmRTaXplU2hvcnRoYW5kQmVoYXZpb3I7CiAg
ICAgICAgIGJvb2wgbV9hdXRvc2Nyb2xsRm9yRHJhZ0FuZERyb3BFbmFibGVkOwogICAgICAgICBi
b29sIG1fcXVpY2tUaW1lUGx1Z2luUmVwbGFjZW1lbnRFbmFibGVkOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9JbnRlcm5hbHMuY3BwCmluZGV4IDU1NWJmMTU4OWEwOGU3MDQwYjNiMzM3YTJjNjRkZDM0MmFj
YjY1MDUuLmQ1OWU2ODc4ZjVmNzhmMjQ0MGIwZDIzNjgyNWVmNTRjYTllZThjMWQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKQEAgLTcyOSw3ICs3MjksNyBAQCB2b2lkIEludGVy
bmFsczo6c2V0SW1hZ2VGcmFtZURlY29kaW5nRHVyYXRpb24oSFRNTEltYWdlRWxlbWVudCYgZWxl
bWVudCwgZmxvYXQgZAogICAgIGlmICghaXM8Qml0bWFwSW1hZ2U+KGltYWdlKSkKICAgICAgICAg
cmV0dXJuOwogICAgIAotICAgIGRvd25jYXN0PEJpdG1hcEltYWdlPigqaW1hZ2UpLnNldEZyYW1l
RGVjb2RpbmdEdXJhdGlvbkZvclRlc3RpbmcoZHVyYXRpb24pOworICAgIGRvd25jYXN0PEJpdG1h
cEltYWdlPigqaW1hZ2UpLnNldEZyYW1lRGVjb2RpbmdEdXJhdGlvbkZvclRlc3RpbmcoU2Vjb25k
cyB7IGR1cmF0aW9uIH0pOwogfQogCiB2b2lkIEludGVybmFsczo6cmVzZXRJbWFnZUFuaW1hdGlv
bihIVE1MSW1hZ2VFbGVtZW50JiBlbGVtZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
eG1sL1hNTEh0dHBSZXF1ZXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVz
dC5jcHAKaW5kZXggOWRlZjkzN2M1MjFiYjE5OTg1MGExMjhiNDFmNTRjMWM1NzNhMTc0OC4uMTMw
NjEwOGM4NGEzYjkzMzRmM2Q5MjdhYTViZjRmOTM1NDU4NTE0OCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwv
WE1MSHR0cFJlcXVlc3QuY3BwCkBAIC03MzgsNyArNzM4LDcgQEAgRXhjZXB0aW9uT3I8dm9pZD4g
WE1MSHR0cFJlcXVlc3Q6OmNyZWF0ZVJlcXVlc3QoKQogICAgICAgICBlbHNlIHsKICAgICAgICAg
ICAgIHJlcXVlc3Quc2V0VGltZW91dEludGVydmFsKHN0ZDo6bnVtZXJpY19saW1pdHM8ZG91Ymxl
Pjo6aW5maW5pdHkoKSk7CiAgICAgICAgICAgICBtX3NlbmRpbmdUaW1lID0gTW9ub3RvbmljVGlt
ZTo6bm93KCk7Ci0gICAgICAgICAgICBtX3RpbWVvdXRUaW1lci5zdGFydE9uZVNob3QoU2Vjb25k
cyB7IG1fdGltZW91dE1pbGxpc2Vjb25kcyAvIDEwMDAuIH0pOworICAgICAgICAgICAgbV90aW1l
b3V0VGltZXIuc3RhcnRPbmVTaG90KDFfbXMgKiBtX3RpbWVvdXRNaWxsaXNlY29uZHMpOwogICAg
ICAgICB9CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2UvU3RvcmFn
ZUFyZWFTeW5jLmNwcCBiL1NvdXJjZS9XZWJLaXQvU3RvcmFnZS9TdG9yYWdlQXJlYVN5bmMuY3Bw
CmluZGV4IGFjMGRjYzEyNTY5NGRhZDRjNGI5MjI4N2EwMzFlZmEwOTM1NGVhMTkuLmJhMTVlNGE0
ZGEwYmMyMzA5ZjllMmYxNzYxNDFiZjZhNjEzZDAzMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvU3RvcmFnZS9TdG9yYWdlQXJlYVN5bmMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU3RvcmFn
ZS9TdG9yYWdlQXJlYVN5bmMuY3BwCkBAIC00MSw3ICs0MSw3IEBAIG5hbWVzcGFjZSBXZWJLaXQg
ewogCiAvLyBJZiB0aGUgU3RvcmFnZUFyZWEgdW5kZXJnb2VzIHJhcGlkIGNoYW5nZXMsIGRvbid0
IHN5bmMgZWFjaCBjaGFuZ2UgdG8gZGlzay4KIC8vIEluc3RlYWQsIHF1ZXVlIHVwIGEgYmF0Y2gg
b2YgaXRlbXMgdG8gc3luYyBhbmQgYWN0dWFsbHkgZG8gdGhlIHN5bmMgYXQgdGhlIGZvbGxvd2lu
ZyBpbnRlcnZhbC4KLXN0YXRpYyBjb25zdCBkb3VibGUgU3RvcmFnZVN5bmNJbnRlcnZhbCA9IDEu
MDsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIFN0b3JhZ2VTeW5jSW50ZXJ2YWwgeyAxX3MgfTsKIAog
Ly8gQSBzYW5lIGxpbWl0IG9uIGhvdyBtYW55IGl0ZW1zIHdlJ2xsIHNjaGVkdWxlIHRvIHN5bmMg
YWxsIGF0IG9uY2UuICBUaGlzIG1ha2VzIGl0CiAvLyBtdWNoIGhhcmRlciB0byBzdGFydmUgdGhl
IHJlc3Qgb2YgTG9jYWxTdG9yYWdlIGFuZCB0aGUgT1MncyBJTyBzdWJzeXN0ZW0gaW4gZ2VuZXJh
bC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU3RvcmFnZS9TdG9yYWdlVHJhY2tlci5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2UvU3RvcmFnZVRyYWNrZXIuY3BwCmluZGV4IDU5YTAwZmUz
MGE5NjNmNTgxM2Q4YjBkZGEwNGRiNjA4MWE2NjIzYmQuLjdjNTc2YWI2OGRiMmY0ZmM1MTk0MWNl
Zjc1OTdiZGE1NDEyYWZkMjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU3RvcmFnZS9TdG9y
YWdlVHJhY2tlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TdG9yYWdlL1N0b3JhZ2VUcmFja2Vy
LmNwcApAQCAtNTIsNyArNTIsNyBAQCBzdGF0aWMgU3RvcmFnZVRyYWNrZXIqIHN0b3JhZ2VUcmFj
a2VyID0gbnVsbHB0cjsKIAogLy8gSWYgdGhlcmUgaXMgbm8gZG9jdW1lbnQgcmVmZXJlbmNpbmcg
YSBzdG9yYWdlIGRhdGFiYXNlLCBjbG9zZSB0aGUgdW5kZXJseWluZyBkYXRhYmFzZQogLy8gYWZ0
ZXIgaXQgaGFzIGJlZW4gaWRsZSBmb3IgbV9TdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwgc2Vj
b25kcy4KLXN0YXRpYyBjb25zdCBkb3VibGUgRGVmYXVsdFN0b3JhZ2VEYXRhYmFzZUlkbGVJbnRl
cnZhbCA9IDMwMDsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIGRlZmF1bHRTdG9yYWdlRGF0YWJhc2VJ
ZGxlSW50ZXJ2YWwgeyAzMDBfcyB9OwogICAgIAogdm9pZCBTdG9yYWdlVHJhY2tlcjo6aW5pdGlh
bGl6ZVRyYWNrZXIoY29uc3QgU3RyaW5nJiBzdG9yYWdlUGF0aCwgU3RvcmFnZVRyYWNrZXJDbGll
bnQqIGNsaWVudCkKIHsKQEAgLTk3LDcgKzk3LDcgQEAgU3RvcmFnZVRyYWNrZXI6OlN0b3JhZ2VU
cmFja2VyKGNvbnN0IFN0cmluZyYgc3RvcmFnZVBhdGgpCiAgICAgLCBtX3RocmVhZChzdGQ6Om1h
a2VfdW5pcXVlPFN0b3JhZ2VUaHJlYWQ+KCkpCiAgICAgLCBtX2lzQWN0aXZlKGZhbHNlKQogICAg
ICwgbV9uZWVkc0luaXRpYWxpemF0aW9uKGZhbHNlKQotICAgICwgbV9TdG9yYWdlRGF0YWJhc2VJ
ZGxlSW50ZXJ2YWwoRGVmYXVsdFN0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbCkKKyAgICAsIG1f
U3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsKGRlZmF1bHRTdG9yYWdlRGF0YWJhc2VJZGxlSW50
ZXJ2YWwpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU3RvcmFnZS9TdG9yYWdl
VHJhY2tlci5oIGIvU291cmNlL1dlYktpdC9TdG9yYWdlL1N0b3JhZ2VUcmFja2VyLmgKaW5kZXgg
NTVkNWIwZDIyZTlhMzlmOWI4YzA4OTM3ZjU5NGU4ZmEzYmRhY2E4OC4uZTFlZDZiOTM2YjZmNzdk
YzBkMTgxOGE2NWE0YjcxMzA4NGM5MDY3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TdG9y
YWdlL1N0b3JhZ2VUcmFja2VyLmgKKysrIGIvU291cmNlL1dlYktpdC9TdG9yYWdlL1N0b3JhZ2VU
cmFja2VyLmgKQEAgLTU5LDggKzU5LDggQEAgcHVibGljOgogICAgIAogICAgIGJvb2wgaXNBY3Rp
dmUoKTsKIAotICAgIGRvdWJsZSBzdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwoKSB7IHJldHVy
biBtX1N0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbDsgfQotICAgIHZvaWQgc2V0U3RvcmFnZURh
dGFiYXNlSWRsZUludGVydmFsKGRvdWJsZSBpbnRlcnZhbCkgeyBtX1N0b3JhZ2VEYXRhYmFzZUlk
bGVJbnRlcnZhbCA9IGludGVydmFsOyB9CisgICAgU2Vjb25kcyBzdG9yYWdlRGF0YWJhc2VJZGxl
SW50ZXJ2YWwoKSB7IHJldHVybiBtX1N0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbDsgfQorICAg
IHZvaWQgc2V0U3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsKFNlY29uZHMgaW50ZXJ2YWwpIHsg
bV9TdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwgPSBpbnRlcnZhbDsgfQogCiAgICAgdm9pZCBz
eW5jRmlsZVN5c3RlbUFuZFRyYWNrZXJEYXRhYmFzZSgpOwogCkBAIC0xMTAsNyArMTEwLDcgQEAg
cHJpdmF0ZToKICAgICAKICAgICBib29sIG1faXNBY3RpdmU7CiAgICAgYm9vbCBtX25lZWRzSW5p
dGlhbGl6YXRpb247Ci0gICAgZG91YmxlIG1fU3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsOwor
ICAgIFNlY29uZHMgbV9TdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWw7CiB9OwogICAgIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lu
cy9XZWJOZXRzY2FwZVBsdWdpblZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dl
Yk5ldHNjYXBlUGx1Z2luVmlldy5tbQppbmRleCAwODdmY2ZiYzAxYjg2YzBmMTkxYWRjMDQzNWFh
MDQ4NTVjN2Y3MTBiLi4wMTkzZTQwZmU2ZGUxNjNmNjAxYzA4MjVkZjg0M2YzZWI4Mjk1NGZiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luVmll
dy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luVmll
dy5tbQpAQCAtMTExLDcgKzExMSw3IEBAIHN0YXRpYyBXZWJOZXRzY2FwZVBsdWdpblZpZXcgKmN1
cnJlbnRQbHVnaW5WaWV3ID0gbmlsOwogCiB0eXBlZGVmIHN0cnVjdCBPcGFxdWVQb3J0U3RhdGUq
IFBvcnRTdGF0ZTsKIAotc3RhdGljIGNvbnN0IGRvdWJsZSBUaHJvdHRsZWRUaW1lckludGVydmFs
ID0gMC4yNTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHRocm90dGxlZFRpbWVySW50ZXJ2YWwgeyAy
NTBfbXMgfTsKIAogY2xhc3MgUGx1Z2luVGltZXIgOiBwdWJsaWMgVGltZXJCYXNlIHsKIHB1Ymxp
YzoKQEAgLTEzMCwxMCArMTMwLDEwIEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIEFTU0VSVCgh
aXNBY3RpdmUoKSk7CiAKLSAgICAgICAgZG91YmxlIHRpbWVJbnRlcnZhbCA9IG1faW50ZXJ2YWwg
LyAxMDAwLjA7CisgICAgICAgIFNlY29uZHMgdGltZUludGVydmFsID0gMV9tcyAqIG1faW50ZXJ2
YWw7CiAgICAgICAgIAogICAgICAgICBpZiAodGhyb3R0bGUpCi0gICAgICAgICAgICB0aW1lSW50
ZXJ2YWwgPSBzdGQ6Om1heCh0aW1lSW50ZXJ2YWwsIFRocm90dGxlZFRpbWVySW50ZXJ2YWwpOwor
ICAgICAgICAgICAgdGltZUludGVydmFsID0gc3RkOjptYXgodGltZUludGVydmFsLCB0aHJvdHRs
ZWRUaW1lckludGVydmFsKTsKICAgICAgICAgCiAgICAgICAgIGlmIChtX3JlcGVhdCkKICAgICAg
ICAgICAgIHN0YXJ0UmVwZWF0aW5nKFNlY29uZHMgeyB0aW1lSW50ZXJ2YWwgfSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9TdG9yYWdlL1dlYlN0b3JhZ2VNYW5hZ2VyLm1tIGIvU291
cmNlL1dlYktpdC9tYWMvU3RvcmFnZS9XZWJTdG9yYWdlTWFuYWdlci5tbQppbmRleCAzNzA0Zjdl
ZGQzNTg0ZmYxOGQ3NmE2NmE5ZjAyMzM4ODU0ZGM3ZjY5Li44MWJhMWU2ZGRmYjBkMDg5OGM3MDcy
ZTFkNjgxMzRlNDcyYTU3ODJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9TdG9yYWdl
L1dlYlN0b3JhZ2VNYW5hZ2VyLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1N0b3JhZ2UvV2Vi
U3RvcmFnZU1hbmFnZXIubW0KQEAgLTExNyw3ICsxMTcsNyBAQCArIChOU1N0cmluZyAqKV9zdG9y
YWdlRGlyZWN0b3J5UGF0aAogCiArICh2b2lkKXNldFN0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZh
bDooZG91YmxlKWludGVydmFsCiB7Ci0gICAgV2ViS2l0OjpTdG9yYWdlVHJhY2tlcjo6dHJhY2tl
cigpLnNldFN0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbChpbnRlcnZhbCk7CisgICAgV2ViS2l0
OjpTdG9yYWdlVHJhY2tlcjo6dHJhY2tlcigpLnNldFN0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZh
bCgxX3MgKiBpbnRlcnZhbCk7CiB9CiAKICsgKHZvaWQpY2xvc2VJZGxlTG9jYWxTdG9yYWdlRGF0
YWJhc2VzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpbk1lc3Nh
Z2VUaHJvdHRsZXJXaW4uY3BwIGIvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5NZXNz
YWdlVGhyb3R0bGVyV2luLmNwcAppbmRleCBhNTNjMzE1YzIwMTg0Mzk0ZjNiNDA2NGEzZjU0NDc1
NzNlZDJjZjA5Li40MzMxYWZhZjE5ZDMxYjIxNDgwN2U5ZTNmYTcyZTgzODA3YjliMTJkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpbk1lc3NhZ2VUaHJvdHRsZXJX
aW4uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luTWVzc2FnZVRocm90
dGxlcldpbi5jcHAKQEAgLTM5LDcgKzM5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogLy8gVGhp
cyB2YWx1ZSBhbGxvd3MgRmxhc2ggNjAgbWVzc2FnZXMvc2Vjb25kLCB3aGljaCBzaG91bGQgYmUg
ZW5vdWdoIGZvciB2aWRlbwogLy8gcGxheWJhY2ssIGFuZCBhbHNvIGdldHMgdXMgb3ZlciB0aGUg
bGltaXQgZm9yIGtpY2tpbmcgaW50byBoaWdoLXJlc29sdXRpb24KIC8vIHRpbWVyIG1vZGUgKHNl
ZSBTaGFyZWRUaW1lcldpbi5jcHApLgotc3RhdGljIGNvbnN0IGRvdWJsZSBNZXNzYWdlVGhyb3R0
bGVUaW1lSW50ZXJ2YWwgPSAwLjAxNjsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIG1lc3NhZ2VUaHJv
dHRsZVRpbWVJbnRlcnZhbCB7IDE2X21zIH07CiAKIC8vIER1cmluZyBhIGNvbnRpbnVvdXMgc3Ry
ZWFtIG9mIG1lc3NhZ2VzLCBwcm9jZXNzIG9uZSBldmVyeSA1bXMuCiBzdGF0aWMgY29uc3QgZG91
YmxlIE1lc3NhZ2VEaXJlY3RQcm9jZXNzaW5nSW50ZXJ2YWwgPSAwLjAwNTsKQEAgLTk1LDcgKzk1
LDcgQEAgdm9pZCBQbHVnaW5NZXNzYWdlVGhyb3R0bGVyV2luOjphcHBlbmRNZXNzYWdlKEhXTkQg
aFduZCwgVUlOVCBtc2csIFdQQVJBTSB3UGFyYW0KICAgICB9CiAKICAgICBpZiAoIW1fbWVzc2Fn
ZVRocm90dGxlVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9tZXNzYWdlVGhyb3R0bGVUaW1l
ci5zdGFydE9uZVNob3QoTWVzc2FnZVRocm90dGxlVGltZUludGVydmFsKTsKKyAgICAgICAgbV9t
ZXNzYWdlVGhyb3R0bGVUaW1lci5zdGFydE9uZVNob3QobWVzc2FnZVRocm90dGxlVGltZUludGVy
dmFsKTsKIH0KIAogdm9pZCBQbHVnaW5NZXNzYWdlVGhyb3R0bGVyV2luOjpwcm9jZXNzUXVldWVk
TWVzc2FnZSgpCkBAIC0xMTgsNyArMTE4LDcgQEAgdm9pZCBQbHVnaW5NZXNzYWdlVGhyb3R0bGVy
V2luOjptZXNzYWdlVGhyb3R0bGVUaW1lckZpcmVkKCkKICAgICBwcm9jZXNzUXVldWVkTWVzc2Fn
ZSgpOwogCiAgICAgaWYgKG1fZnJvbnQpCi0gICAgICAgIG1fbWVzc2FnZVRocm90dGxlVGltZXIu
c3RhcnRPbmVTaG90KE1lc3NhZ2VUaHJvdHRsZVRpbWVJbnRlcnZhbCk7CisgICAgICAgIG1fbWVz
c2FnZVRocm90dGxlVGltZXIuc3RhcnRPbmVTaG90KG1lc3NhZ2VUaHJvdHRsZVRpbWVJbnRlcnZh
bCk7CiB9CiAKIFBsdWdpbk1lc3NhZ2UqIFBsdWdpbk1lc3NhZ2VUaHJvdHRsZXJXaW46OmFsbG9j
YXRlTWVzc2FnZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdp
blZpZXdXaW4uY3BwIGIvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5WaWV3V2luLmNw
cAppbmRleCA3NWNiNzdmMWYzZDRkYTNjMWQ2Njc3ZjE3OWI0MjJlZmQzMjAwMzc0Li4yNGZiMTNl
ZDMxMzVhNTdiNTg0ZDA1MGQyOTBkNTI4NTgwNjUwMDc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L3dpbi9QbHVnaW5zL1BsdWdpblZpZXdXaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd2lu
L1BsdWdpbnMvUGx1Z2luVmlld1dpbi5jcHAKQEAgLTgzOSw3ICs4MzksNyBAQCB2b2lkIFBsdWdp
blZpZXc6OmludmFsaWRhdGVSZWN0KE5QUmVjdCogcmVjdCkKICAgICAgICAgaWYgKG1fcGx1Z2lu
LT5xdWlya3MoKS5jb250YWlucyhQbHVnaW5RdWlya1Rocm90dGxlSW52YWxpZGF0ZSkpIHsKICAg
ICAgICAgICAgIG1faW52YWxpZFJlY3RzLmFwcGVuZChyKTsKICAgICAgICAgICAgIGlmICghbV9p
bnZhbGlkYXRlVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgICAgICAgICBtX2ludmFsaWRhdGVU
aW1lci5zdGFydE9uZVNob3QoMC4wMDEpOworICAgICAgICAgICAgICAgIG1faW52YWxpZGF0ZVRp
bWVyLnN0YXJ0T25lU2hvdCgxX21zKTsKICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICBpbnZh
bGlkYXRlUmVjdChyKTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJD
b3JlU3VwcG9ydC9BY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9BY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dC5jcHAK
aW5kZXggZmMwZDE1NTcwZmVhZWM5ZGIzODY5NzA4YjVhYjdjN2E0YWQyMjI4Mi4uNWUxNmUyMGYx
OWMxMmJmNTViMGZkZjg5ODFkNzA5MzgwOGM4NGVhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC93aW4vV2ViQ29yZVN1cHBvcnQvQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L0FjY2VsZXJhdGVkQ29tcG9zaXRp
bmdDb250ZXh0LmNwcApAQCAtMzQ5LDcgKzM0OSw3IEBAIHZvaWQgQWNjZWxlcmF0ZWRDb21wb3Np
dGluZ0NvbnRleHQ6OnNjaGVkdWxlTGF5ZXJGbHVzaCgpCiAgICAgaWYgKG1fbGF5ZXJGbHVzaFRp
bWVyLmlzQWN0aXZlKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIG1fbGF5ZXJGbHVzaFRpbWVy
LnN0YXJ0T25lU2hvdCgwLjA1KTsKKyAgICBtX2xheWVyRmx1c2hUaW1lci5zdGFydE9uZVNob3Qo
NTBfbXMpOwogfQogCiBib29sIEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0OjpmbHVzaFBl
bmRpbmdMYXllckNoYW5nZXMoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1By
b2Nlc3MvUGluZ0xvYWQuaCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL1BpbmdMb2Fk
LmgKaW5kZXggZjAxNDRkNjg4ZGY2M2U5NWQ0NDY5NDg2YzU2Yzg2NmQ4ODliN2E2MS4uMzliZTA2
ZDNlMWJjNDRmZTIxYTY5NjQwY2RhNDllNGQ4MjY1YWRmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvTmV0d29ya1Byb2Nlc3MvUGluZ0xvYWQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3
b3JrUHJvY2Vzcy9QaW5nTG9hZC5oCkBAIC00Niw3ICs0Niw3IEBAIHB1YmxpYzoKIAogICAgICAg
ICAvLyBJZiB0aGUgc2VydmVyIG5ldmVyIHJlc3BvbmRzLCB0aGlzIG9iamVjdCB3aWxsIGhhbmcg
YXJvdW5kIGZvcmV2ZXIuCiAgICAgICAgIC8vIFNldCBhIHZlcnkgZ2VuZXJvdXMgdGltZW91dCwg
anVzdCBpbiBjYXNlLgotICAgICAgICBtX3RpbWVvdXRUaW1lci5zdGFydE9uZVNob3QoNjAwMDAp
OworICAgICAgICBtX3RpbWVvdXRUaW1lci5zdGFydE9uZVNob3QoNjAwMDBfcyk7CiAgICAgfQog
ICAgIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNz
L3NvdXAvTmV0d29ya0RhdGFUYXNrU291cC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJv
Y2Vzcy9zb3VwL05ldHdvcmtEYXRhVGFza1NvdXAuY3BwCmluZGV4IDVmZjliNzg0MDllYjgwNjk2
NTkxYzkyOWJlOGM3NTkwNTRiM2U2ZGEuLjkwYmUyM2RmMzkwM2NjZmZlNjJmZWY2ZDY1NWYyYWFk
MTIxZjMxN2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL3NvdXAv
TmV0d29ya0RhdGFUYXNrU291cC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nl
c3Mvc291cC9OZXR3b3JrRGF0YVRhc2tTb3VwLmNwcApAQCAtMjkxLDcgKzI5MSw3IEBAIHZvaWQg
TmV0d29ya0RhdGFUYXNrU291cDo6dGltZW91dEZpcmVkKCkKIHZvaWQgTmV0d29ya0RhdGFUYXNr
U291cDo6c3RhcnRUaW1lb3V0KCkKIHsKICAgICBpZiAobV9maXJzdFJlcXVlc3QudGltZW91dElu
dGVydmFsKCkgPiAwKQotICAgICAgICBtX3RpbWVvdXRTb3VyY2Uuc3RhcnRPbmVTaG90KG1fZmly
c3RSZXF1ZXN0LnRpbWVvdXRJbnRlcnZhbCgpKTsKKyAgICAgICAgbV90aW1lb3V0U291cmNlLnN0
YXJ0T25lU2hvdCgxX3MgKiBtX2ZpcnN0UmVxdWVzdC50aW1lb3V0SW50ZXJ2YWwoKSk7CiB9CiAK
IHZvaWQgTmV0d29ya0RhdGFUYXNrU291cDo6c3RvcFRpbWVvdXQoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQyL1Bs
YXRmb3JtL0lQQy9Db25uZWN0aW9uLmgKaW5kZXggY2IwMGIyZGMyYTZkMDIzODRjZTM1YjNjMTVj
ZDMwYWZkZjRhNmM2Yi4uZmNlMWU2M2JjMjlmY2JiMmVlM2JlNzIwNjFmODM2YWI3M2ZmNzg5ZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24uaAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvQ29ubmVjdGlvbi5oCkBAIC0xODksNyArMTg5
LDcgQEAgcHVibGljOgogCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgYm9vbCBraWxsKCk7Ci0g
ICAgdm9pZCB0ZXJtaW5hdGVTb29uKGRvdWJsZSBpbnRlcnZhbEluU2Vjb25kcyk7CisgICAgdm9p
ZCB0ZXJtaW5hdGVTb29uKFNlY29uZHMpOwogI2VuZGlmCiAKICAgICBib29sIGlzVmFsaWQoKSBj
b25zdCB7IHJldHVybiBtX2lzVmFsaWQ7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1Bs
YXRmb3JtL0lQQy9tYWMvQ29ubmVjdGlvbk1hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3Jt
L0lQQy9tYWMvQ29ubmVjdGlvbk1hYy5tbQppbmRleCA1ZTY1YmYzNTYwMjU4YjMyYjYwZTA0NWE4
NzEyNTE5NTc4NDFmZTgxLi5lNmFiOWRkMzMzY2Q1NGVjMGQzZTdiYzBlYmE0YTUwYWFmYzM2NzIy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvbWFjL0Nvbm5lY3Rpb25N
YWMubW0KKysrIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL21hYy9Db25uZWN0aW9uTWFj
Lm1tCkBAIC04MiwyMCArODIsMjAgQEAgZW51bSB7CiAvLyAgICB0byBlbnN1cmUgaXQgaGFzIGEg
Y2hhbmNlIHRvIHRlcm1pbmF0ZSBjbGVhbmx5LgogY2xhc3MgQ29ubmVjdGlvblRlcm1pbmF0aW9u
V2F0Y2hkb2cgewogcHVibGljOgotICAgIHN0YXRpYyB2b2lkIGNyZWF0ZUNvbm5lY3Rpb25UZXJt
aW5hdGlvbldhdGNoZG9nKE9TT2JqZWN0UHRyPHhwY19jb25uZWN0aW9uX3Q+JiB4cGNDb25uZWN0
aW9uLCBkb3VibGUgaW50ZXJ2YWxJblNlY29uZHMpCisgICAgc3RhdGljIHZvaWQgY3JlYXRlQ29u
bmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hkb2coT1NPYmplY3RQdHI8eHBjX2Nvbm5lY3Rpb25fdD4m
IHhwY0Nvbm5lY3Rpb24sIFNlY29uZHMgaW50ZXJ2YWwpCiAgICAgewotICAgICAgICBuZXcgQ29u
bmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hkb2coeHBjQ29ubmVjdGlvbiwgaW50ZXJ2YWxJblNlY29u
ZHMpOworICAgICAgICBuZXcgQ29ubmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hkb2coeHBjQ29ubmVj
dGlvbiwgaW50ZXJ2YWwpOwogICAgIH0KICAgICAKIHByaXZhdGU6Ci0gICAgQ29ubmVjdGlvblRl
cm1pbmF0aW9uV2F0Y2hkb2coT1NPYmplY3RQdHI8eHBjX2Nvbm5lY3Rpb25fdD4mIHhwY0Nvbm5l
Y3Rpb24sIGRvdWJsZSBpbnRlcnZhbEluU2Vjb25kcykKKyAgICBDb25uZWN0aW9uVGVybWluYXRp
b25XYXRjaGRvZyhPU09iamVjdFB0cjx4cGNfY29ubmVjdGlvbl90PiYgeHBjQ29ubmVjdGlvbiwg
U2Vjb25kcyBpbnRlcnZhbCkKICAgICAgICAgOiBtX3hwY0Nvbm5lY3Rpb24oeHBjQ29ubmVjdGlv
bikKICAgICAgICAgLCBtX3dhdGNoZG9nVGltZXIoUnVuTG9vcDo6bWFpbigpLCB0aGlzLCAmQ29u
bmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hkb2c6OndhdGNoZG9nVGltZXJGaXJlZCkKICNpZiBQTEFU
Rk9STShJT1MpCiAgICAgICAgICwgbV9hc3NlcnRpb24oc3RkOjptYWtlX3VuaXF1ZTxXZWJLaXQ6
OlByb2Nlc3NBbmRVSUFzc2VydGlvbj4oeHBjX2Nvbm5lY3Rpb25fZ2V0X3BpZChtX3hwY0Nvbm5l
Y3Rpb24uZ2V0KCkpLCBXZWJLaXQ6OkFzc2VydGlvblN0YXRlOjpCYWNrZ3JvdW5kKSkKICNlbmRp
ZgogICAgIHsKLSAgICAgICAgbV93YXRjaGRvZ1RpbWVyLnN0YXJ0T25lU2hvdChpbnRlcnZhbElu
U2Vjb25kcyk7CisgICAgICAgIG1fd2F0Y2hkb2dUaW1lci5zdGFydE9uZVNob3QoaW50ZXJ2YWwp
OwogICAgIH0KICAgICAKICAgICB2b2lkIHdhdGNoZG9nVGltZXJGaXJlZCgpCkBAIC0xNTUsMTAg
KzE1NSwxMCBAQCB2b2lkIENvbm5lY3Rpb246OnBsYXRmb3JtSW52YWxpZGF0ZSgpCiAjZW5kaWYK
IH0KICAgICAKLXZvaWQgQ29ubmVjdGlvbjo6dGVybWluYXRlU29vbihkb3VibGUgaW50ZXJ2YWxJ
blNlY29uZHMpCit2b2lkIENvbm5lY3Rpb246OnRlcm1pbmF0ZVNvb24oU2Vjb25kcyBpbnRlcnZh
bCkKIHsKICAgICBpZiAobV94cGNDb25uZWN0aW9uKQotICAgICAgICBDb25uZWN0aW9uVGVybWlu
YXRpb25XYXRjaGRvZzo6Y3JlYXRlQ29ubmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hkb2cobV94cGND
b25uZWN0aW9uLCBpbnRlcnZhbEluU2Vjb25kcyk7CisgICAgICAgIENvbm5lY3Rpb25UZXJtaW5h
dGlvbldhdGNoZG9nOjpjcmVhdGVDb25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZyhtX3hwY0Nv
bm5lY3Rpb24sIGludGVydmFsKTsKIH0KICAgICAKIHZvaWQgQ29ubmVjdGlvbjo6cGxhdGZvcm1J
bml0aWFsaXplKElkZW50aWZpZXIgaWRlbnRpZmllcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9QbHVn
aW5Qcm9jZXNzL1BsdWdpblByb2Nlc3MuY3BwCmluZGV4IDc1ODE1M2JkOWJiYzdkNTExNzI1Y2Fh
NjNlYzM1NzM1MmY1ZTZmZTAuLjk2OTliMDUzMzRjYmExYTlkOTAyMGYxODlhYzNiYjE4NGU0NDgw
OTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vz
cy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmNw
cApAQCAtMjE2LDkgKzIxNiw5IEBAIHZvaWQgUGx1Z2luUHJvY2Vzczo6ZGVsZXRlV2Vic2l0ZURh
dGFGb3JIb3N0TmFtZXMoY29uc3QgVmVjdG9yPFN0cmluZz4mIGhvc3ROYW1lCiAgICAgcGFyZW50
UHJvY2Vzc0Nvbm5lY3Rpb24oKS0+c2VuZChNZXNzYWdlczo6UGx1Z2luUHJvY2Vzc1Byb3h5OjpE
aWREZWxldGVXZWJzaXRlRGF0YUZvckhvc3ROYW1lcyhjYWxsYmFja0lEKSwgMCk7CiB9CiAKLXZv
aWQgUGx1Z2luUHJvY2Vzczo6c2V0TWluaW11bUxpZmV0aW1lKGRvdWJsZSBsaWZldGltZSkKK3Zv
aWQgUGx1Z2luUHJvY2Vzczo6c2V0TWluaW11bUxpZmV0aW1lKFNlY29uZHMgbGlmZXRpbWUpCiB7
Ci0gICAgaWYgKGxpZmV0aW1lIDw9IDAuMCkKKyAgICBpZiAobGlmZXRpbWUgPD0gMF9zKQogICAg
ICAgICByZXR1cm47CiAgICAgCiAgICAgZGlzYWJsZVRlcm1pbmF0aW9uKCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3MuaCBiL1NvdXJjZS9X
ZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5oCmluZGV4IDkyYzY3Nzc1MjZhZmEw
ZDBlOTBkNzdkNzZiZmFmNTJlMTcyMzk4ZTcuLjI0NzlhNDM3NWQ3ZTM1MDcxNTYyNzY2Y2ZiZmI0
YjRkMTlmM2FmZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1
Z2luUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJv
Y2Vzcy5oCkBAIC0xMDEsNyArMTAxLDcgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgcGxhdGZvcm1J
bml0aWFsaXplUGx1Z2luUHJvY2VzcyhQbHVnaW5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJiYp
OwogICAgIAotICAgIHZvaWQgc2V0TWluaW11bUxpZmV0aW1lKGRvdWJsZSk7CisgICAgdm9pZCBz
ZXRNaW5pbXVtTGlmZXRpbWUoU2Vjb25kcyk7CiAgICAgdm9pZCBtaW5pbXVtTGlmZXRpbWVUaW1l
ckZpcmVkKCk7CiAgICAgLy8gT3VyIHdlYiBwcm9jZXNzIGNvbm5lY3Rpb25zLgogICAgIFZlY3Rv
cjxSZWZQdHI8V2ViUHJvY2Vzc0Nvbm5lY3Rpb24+PiBtX3dlYlByb2Nlc3NDb25uZWN0aW9uczsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuY3BwIGIvU291
cmNlL1dlYktpdDIvU2hhcmVkL0NoaWxkUHJvY2Vzcy5jcHAKaW5kZXggYmMxZjJkNmFiNmE2YWQy
NjBmY2RjNjE0NWMxNjhjYWZhNjJhZmY4Yi4uZjFhM2EzOGU4YmQ1ZGJlZDYyYTA1NDFkYzI4ZTJm
MzJhZmM0ZDU3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0NoaWxkUHJvY2Vz
cy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0NoaWxkUHJvY2Vzcy5jcHAKQEAgLTMz
LDggKzMzLDcgQEAKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBDaGlsZFByb2Nlc3M6OkNoaWxkUHJv
Y2VzcygpCi0gICAgOiBtX3Rlcm1pbmF0aW9uVGltZW91dCgwKQotICAgICwgbV90ZXJtaW5hdGlv
bkNvdW50ZXIoMCkKKyAgICA6IG1fdGVybWluYXRpb25Db3VudGVyKDApCiAgICAgLCBtX3Rlcm1p
bmF0aW9uVGltZXIoUnVuTG9vcDo6bWFpbigpLCB0aGlzLCAmQ2hpbGRQcm9jZXNzOjp0ZXJtaW5h
dGlvblRpbWVyRmlyZWQpCiAgICAgLCBtX3Byb2Nlc3NTdXBwcmVzc2lvbkRpc2FibGVkKCJQcm9j
ZXNzIFN1cHByZXNzaW9uIERpc2FibGVkIGJ5IFVJUHJvY2VzcyIpCiB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ2hpbGRQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvQ2hpbGRQcm9jZXNzLmgKaW5kZXggOGJhMjRkZTQ1NjI2MDcwNmFhZjA0OWQ0ZDAxNzNjMmUw
MTQ0YzcyOC4uNmZlNzJiMTczZjBmNzAwNWVjNWQzMjE2Y2VkYzdjN2ViNWFmYjc5NiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0NoaWxkUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuaApAQCAtODEsNyArODEsNyBAQCBwcm90ZWN0ZWQ6
CiAgICAgZXhwbGljaXQgQ2hpbGRQcm9jZXNzKCk7CiAgICAgdmlydHVhbCB+Q2hpbGRQcm9jZXNz
KCk7CiAKLSAgICB2b2lkIHNldFRlcm1pbmF0aW9uVGltZW91dChkb3VibGUgc2Vjb25kcykgeyBt
X3Rlcm1pbmF0aW9uVGltZW91dCA9IHNlY29uZHM7IH0KKyAgICB2b2lkIHNldFRlcm1pbmF0aW9u
VGltZW91dChTZWNvbmRzIHNlY29uZHMpIHsgbV90ZXJtaW5hdGlvblRpbWVvdXQgPSBzZWNvbmRz
OyB9CiAKICAgICB2aXJ0dWFsIHZvaWQgaW5pdGlhbGl6ZVByb2Nlc3MoY29uc3QgQ2hpbGRQcm9j
ZXNzSW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzJik7CiAgICAgdmlydHVhbCB2b2lkIGluaXRpYWxp
emVQcm9jZXNzTmFtZShjb25zdCBDaGlsZFByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMm
KTsKQEAgLTEyMCw3ICsxMjAsNyBAQCBwcml2YXRlOgogCiAgICAgLy8gVGhlIHRpbWVvdXQsIGlu
IHNlY29uZHMsIGJlZm9yZSB0aGlzIHByb2Nlc3Mgd2lsbCBiZSB0ZXJtaW5hdGVkIGlmIHRlcm1p
bmF0aW9uCiAgICAgLy8gaGFzIGJlZW4gZW5hYmxlZC4gSWYgdGhlIHRpbWVvdXQgaXMgMCBzZWNv
bmRzLCB0aGUgcHJvY2VzcyB3aWxsIGJlIHRlcm1pbmF0ZWQgaW1tZWRpYXRlbHkuCi0gICAgZG91
YmxlIG1fdGVybWluYXRpb25UaW1lb3V0OworICAgIFNlY29uZHMgbV90ZXJtaW5hdGlvblRpbWVv
dXQ7CiAKICAgICAvLyBBIHRlcm1pbmF0aW9uIGNvdW50ZXI7IHdoZW4gdGhlIGNvdW50ZXIgcmVh
Y2hlcyB6ZXJvLCB0aGUgcHJvY2VzcyB3aWxsIGJlIHRlcm1pbmF0ZWQKICAgICAvLyBhZnRlciBh
IGdpdmVuIHBlcmlvZCBvZiB0aW1lLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVk
L0Nvb3JkaW5hdGVkR3JhcGhpY3MvdGhyZWFkZWRjb21wb3NpdG9yL0NvbXBvc2l0aW5nUnVuTG9v
cC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy90aHJlYWRl
ZGNvbXBvc2l0b3IvQ29tcG9zaXRpbmdSdW5Mb29wLmNwcAppbmRleCBhYWRkNmFiYjI2YTU2ZmE0
NDc2YmFhNTdmZDFmZjkxN2MzZGM2MTIwLi41NjE3YmJhZDAxMDdlZTRlZmZkMzdmMTgxZjJhZWVj
YzJjM2ViOWY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ29vcmRpbmF0ZWRH
cmFwaGljcy90aHJlYWRlZGNvbXBvc2l0b3IvQ29tcG9zaXRpbmdSdW5Mb29wLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy90aHJlYWRlZGNvbXBvc2l0
b3IvQ29tcG9zaXRpbmdSdW5Mb29wLmNwcApAQCAtMTU0LDcgKzE1NCw3IEBAIHZvaWQgQ29tcG9z
aXRpbmdSdW5Mb29wOjpzdGFydFVwZGF0ZVRpbWVyKFVwZGF0ZVRpbWluZyB0aW1pbmcpCiAgICAg
aWYgKHRpbWluZyA9PSBXYWl0VW50aWxOZXh0RnJhbWUpCiAgICAgICAgIG5leHRVcGRhdGVUaW1l
ID0gc3RkOjptYXgoKDEgLyB0YXJnZXRGUFMpIC0gKG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGlt
ZSgpIC0gbV9sYXN0VXBkYXRlVGltZSksIDAuMCk7CiAKLSAgICBtX3VwZGF0ZVRpbWVyLnN0YXJ0
T25lU2hvdChuZXh0VXBkYXRlVGltZSk7CisgICAgbV91cGRhdGVUaW1lci5zdGFydE9uZVNob3Qo
MV9zICogbmV4dFVwZGF0ZVRpbWUpOwogfQogCiB2b2lkIENvbXBvc2l0aW5nUnVuTG9vcDo6c3Rv
cFVwZGF0ZVRpbWVyKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9QbHVnaW5z
L1BsdWdpblByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9QbHVnaW5zL1BsdWdpblByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaAppbmRleCBhMTJhNDQ0
NWJiMTZjYWFmNjkyNzNiNjRhODYzMjEwOGU3ZDU0OWY0Li5iMWEzNGE0ZGYxZDJkODI1OThhY2E2
Y2Y4NDU0ZWI0ZmExY2RlNmYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvUGx1
Z2lucy9QbHVnaW5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKKysrIGIvU291cmNlL1dlYktp
dDIvU2hhcmVkL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCkBAIC0z
MCw2ICszMCw3IEBACiAKICNpbmNsdWRlICJBdHRhY2htZW50LmgiCiAjaW5jbHVkZSAiUGx1Z2lu
UHJvY2Vzc0F0dHJpYnV0ZXMuaCIKKyNpbmNsdWRlIDx3dGYvU2Vjb25kcy5oPgogCiAjaWYgUExB
VEZPUk0oQ09DT0EpCiAjaW5jbHVkZSA8V2ViQ29yZS9NYWNoU2VuZFJpZ2h0Lmg+CkBAIC01MSw4
ICs1Miw4IEBAIHN0cnVjdCBQbHVnaW5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzIHsKICAgICBQ
bHVnaW5Qcm9jZXNzVHlwZSBwcm9jZXNzVHlwZTsKICAgICBib29sIHN1cHBvcnRzQXN5bmNocm9u
b3VzUGx1Z2luSW5pdGlhbGl6YXRpb247CiAKLSAgICBkb3VibGUgbWluaW11bUxpZmV0aW1lOwot
ICAgIGRvdWJsZSB0ZXJtaW5hdGlvblRpbWVvdXQ7CisgICAgU2Vjb25kcyBtaW5pbXVtTGlmZXRp
bWU7CisgICAgU2Vjb25kcyB0ZXJtaW5hdGlvblRpbWVvdXQ7CiAKICNpZiBQTEFURk9STShDT0NP
QSkKICAgICBXZWJDb3JlOjpNYWNoU2VuZFJpZ2h0IGFjY2VsZXJhdGVkQ29tcG9zaXRpbmdQb3J0
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIuY3Bw
IGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIuY3BwCmluZGV4IGJhYmMy
ODg4Y2I3NWZiNDZmMzg4MGQ4Y2RiODMxZjJhN2QyNDYyMGIuLjE1MTMzOTA4OGRjNWUwMGE5MGMx
YTJjYTRhYWE2ZjkzODEyNWMxY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9X
ZWJNZW1vcnlTYW1wbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViTWVtb3J5
U2FtcGxlci5jcHAKQEAgLTkxLDcgKzkxLDcgQEAgdm9pZCBXZWJNZW1vcnlTYW1wbGVyOjppbml0
aWFsaXplVGltZXJzKGRvdWJsZSBpbnRlcnZhbCkKICAgICBtX3NhbXBsZVRpbWVyLnN0YXJ0UmVw
ZWF0aW5nKDFfcyk7CiAgICAgcHJpbnRmKCJTdGFydGVkIG1lbW9yeSBzYW1wbGVyIGZvciBwcm9j
ZXNzICVzICVkIiwgcHJvY2Vzc05hbWUoKS51dGY4KCkuZGF0YSgpLCBnZXRwaWQoKSk7CiAgICAg
aWYgKGludGVydmFsID4gMCkgewotICAgICAgICBtX3N0b3BUaW1lci5zdGFydE9uZVNob3QoaW50
ZXJ2YWwpOworICAgICAgICBtX3N0b3BUaW1lci5zdGFydE9uZVNob3QoMV9zICogaW50ZXJ2YWwp
OwogICAgICAgICBwcmludGYoIiBmb3IgYSBpbnRlcnZhbCBvZiAlZyBzZWNvbmRzIiwgaW50ZXJ2
YWwpOwogICAgIH0KICAgICBwcmludGYoIjsgU2FtcGxlciBsb2cgZmlsZSBzdG9yZWQgYXQ6ICVz
XG4iLCBtX3NhbXBsZUxvZ0ZpbGVQYXRoLnV0ZjgoKS5kYXRhKCkpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaCBiL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKaW5kZXggZmQ4
MDZiMjIwMjQ3OWUxNjA0ODYxZGY5OGUwOGNhYjFhMWFhNjBkOS4uOTI2YTMyMjBmYjY4ZDE1YmVi
ZDAwNjgyMTM1YjBkMTJhMjU0NDhiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVk
L1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCkBAIC0xMjYsNyArMTI2LDcgQEAgc3Ry
dWN0IFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMgewogICAgIGJvb2wgaGFzUmljaENvbnRl
bnRTZXJ2aWNlcyB7IGZhbHNlIH07CiAjZW5kaWYKIAotICAgIGRvdWJsZSB0ZXJtaW5hdGlvblRp
bWVvdXQgeyAwIH07CisgICAgU2Vjb25kcyB0ZXJtaW5hdGlvblRpbWVvdXQ7CiAKICAgICBUZXh0
Q2hlY2tlclN0YXRlIHRleHRDaGVja2VyU3RhdGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvQVBJU2VyaWFsaXplZFNjcmlwdFZhbHVlQ29jb2EubW0g
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL0FQSVNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZUNvY29hLm1tCmluZGV4IDgzOTQ1ZGZlZDMxYzU5MTgzNThiZTdmNjcxNmIxYmZlNzAxODhi
NTkuLjFiNWRkMDM2MzkxZjIyYjllYmM1YjcyM2Q5MjIzZjgwMjkwZTlhMTkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvQVBJU2VyaWFsaXplZFNjcmlwdFZh
bHVlQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9BUElT
ZXJpYWxpemVkU2NyaXB0VmFsdWVDb2NvYS5tbQpAQCAtNDYsNyArNDYsNyBAQCBwdWJsaWM6CiAg
ICAgewogICAgICAgICBpZiAoIW1fY29udGV4dCkgewogICAgICAgICAgICAgbV9jb250ZXh0ID0g
YWRvcHROUyhbW0pTQ29udGV4dCBhbGxvY10gaW5pdF0pOwotICAgICAgICAgICAgbV90aW1lci5z
dGFydE9uZVNob3QoMSk7CisgICAgICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgxX3MpOwog
ICAgICAgICB9CiAgICAgICAgIHJldHVybiBtX2NvbnRleHQuZ2V0KCk7CiAgICAgfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NoaWxkUHJvY2Vzc1Byb3h5LmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9DaGlsZFByb2Nlc3NQcm94eS5jcHAKaW5kZXggZGQ4YWVm
NTUwYWE2NmMyMzk1ODNmODgyOTM4MjM0MjRjY2IzOWRjNC4uMjdiZWMzNjIzMTVjYjExMGYxYzhm
ZTQ2MzZhNjRkMmQ4NjVlNDQ5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0NoaWxkUHJvY2Vzc1Byb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ2hp
bGRQcm9jZXNzUHJveHkuY3BwCkBAIC0xOTcsNyArMTk3LDcgQEAgdm9pZCBDaGlsZFByb2Nlc3NQ
cm94eTo6c2h1dERvd25Qcm9jZXNzKCkKICAgICAgICAgLy8gT24gaU9TIGRlcGxveSBhIHdhdGNo
ZG9nIGluIHRoZSBVSSBwcm9jZXNzLCBzaW5jZSB0aGUgY2hpbGQgcHJvY2VzcyBtYXkgYmUgc3Vz
cGVuZGVkLgogICAgICAgICAvLyBJZiAzMHMgaXMgaW5zdWZmaWNpZW50IGZvciBhbnkgb3V0c3Rh
bmRpbmcgYWN0aXZpdHkgdG8gY29tcGxldGUgY2xlYW5seSwgdGhlbiBpdCB3aWxsIGJlIGtpbGxl
ZC4KICAgICAgICAgQVNTRVJUKG1fY29ubmVjdGlvbik7Ci0gICAgICAgIG1fY29ubmVjdGlvbi0+
dGVybWluYXRlU29vbigzMCk7CisgICAgICAgIG1fY29ubmVjdGlvbi0+dGVybWluYXRlU29vbigz
MF9zKTsKICNlbmRpZgogICAgICAgICBicmVhazsKICAgICBjYXNlIFN0YXRlOjpUZXJtaW5hdGVk
OgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL05hdmlnYXRpb25T
dGF0ZS5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9OYXZpZ2F0aW9uU3RhdGUu
bW0KaW5kZXggNmI4MWNlNDU2NDFkNGZkYzMyN2EwNmY2Y2RjZTk4ZGExM2ZkYWExOS4uOTZiOTYw
MjBkYzg5MzNiODQ5MzZlMWYxZGNhZGEyYzlkZTg2ZDRiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0NvY29hL05hdmlnYXRpb25TdGF0ZS5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQ29jb2EvTmF2aWdhdGlvblN0YXRlLm1tCkBAIC04ODcsNyArODg3LDcg
QEAgdm9pZCBOYXZpZ2F0aW9uU3RhdGU6OmRpZENoYW5nZUlzTG9hZGluZygpCiAgICAgfSBlbHNl
IHsKICAgICAgICAgLy8gRGVsYXkgcmVsZWFzaW5nIHRoZSBiYWNrZ3JvdW5kIGFjdGl2aXR5IGZv
ciAzIHNlY29uZHMgdG8gZ2l2ZSB0aGUgYXBwbGljYXRpb24gYSBjaGFuY2UgdG8gc3RhcnQgYW5v
dGhlciBuYXZpZ2F0aW9uCiAgICAgICAgIC8vIGJlZm9yZSBzdXNwZW5kaW5nIHRoZSBXZWJDb250
ZW50IHByb2Nlc3MgPHJkYXI6Ly9wcm9ibGVtLzI3OTEwOTY0Pi4KLSAgICAgICAgbV9yZWxlYXNl
QWN0aXZpdHlUaW1lci5zdGFydE9uZVNob3QoM3MpOworICAgICAgICBtX3JlbGVhc2VBY3Rpdml0
eVRpbWVyLnN0YXJ0T25lU2hvdCgzX3MpOwogICAgIH0KICNlbmRpZgogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvVmlld0dlc3R1cmVDb250cm9sbGVyLmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9WaWV3R2VzdHVyZUNvbnRyb2xsZXIuY3Bw
CmluZGV4IDc5OWRhNjVjOWE3YTNlNTE0YmNmNWM0Yzk3MDA2MzAxZTY2Mjk3ZjMuLmM0ZDMwMDEw
ZGQzN2NhYmVmYTcwZGIyNDk1ZGYzMWI0ZTc3MTQ0MzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9Db2NvYS9WaWV3R2VzdHVyZUNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9WaWV3R2VzdHVyZUNvbnRyb2xsZXIuY3BwCkBAIC00
MCwxMyArNDAsMTMgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIG5hbWVzcGFjZSBXZWJL
aXQgewogCi1zdGF0aWMgY29uc3Qgc3RkOjpjaHJvbm86OnNlY29uZHMgc3dpcGVTbmFwc2hvdFJl
bW92YWxXYXRjaGRvZ0FmdGVyRmlyc3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0RHVyYXRpb24gPSAz
czsKLXN0YXRpYyBjb25zdCBTZWNvbmRzIHN3aXBlU25hcHNob3RSZW1vdmFsQWN0aXZlTG9hZE1v
bml0b3JpbmdJbnRlcnZhbCA9IDI1MF9tczsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHN3aXBlU25h
cHNob3RSZW1vdmFsV2F0Y2hkb2dBZnRlckZpcnN0VmlzdWFsbHlOb25FbXB0eUxheW91dER1cmF0
aW9uIHsgM19zIH07CitzdGF0aWMgY29uc3QgU2Vjb25kcyBzd2lwZVNuYXBzaG90UmVtb3ZhbEFj
dGl2ZUxvYWRNb25pdG9yaW5nSW50ZXJ2YWwgeyAyNTBfbXMgfTsKIAogI2lmIFBMQVRGT1JNKE1B
QykKLXN0YXRpYyBjb25zdCBzdGQ6OmNocm9ubzo6c2Vjb25kcyBzd2lwZVNuYXBzaG90UmVtb3Zh
bFdhdGNoZG9nRHVyYXRpb24gPSA1czsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHN3aXBlU25hcHNo
b3RSZW1vdmFsV2F0Y2hkb2dEdXJhdGlvbiA9IDVfczsKICNlbHNlCi1zdGF0aWMgY29uc3Qgc3Rk
OjpjaHJvbm86OnNlY29uZHMgc3dpcGVTbmFwc2hvdFJlbW92YWxXYXRjaGRvZ0R1cmF0aW9uID0g
M3M7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBzd2lwZVNuYXBzaG90UmVtb3ZhbFdhdGNoZG9nRHVy
YXRpb24gPSAzX3M7CiAjZW5kaWYKIAogc3RhdGljIEhhc2hNYXA8dWludDY0X3QsIFZpZXdHZXN0
dXJlQ29udHJvbGxlcio+JiB2aWV3R2VzdHVyZUNvbnRyb2xsZXJzRm9yQWxsUGFnZXMoKQpAQCAt
Mjk3LDEwICsyOTcsMTAgQEAgdm9pZCBWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OlNuYXBzaG90UmVt
b3ZhbFRyYWNrZXI6OndhdGNoZG9nVGltZXJGaXJlZCgpCiAgICAgZmlyZVJlbW92YWxDYWxsYmFj
a0ltbWVkaWF0ZWx5KCk7CiB9CiAKLXZvaWQgVmlld0dlc3R1cmVDb250cm9sbGVyOjpTbmFwc2hv
dFJlbW92YWxUcmFja2VyOjpzdGFydFdhdGNoZG9nKHN0ZDo6Y2hyb25vOjpzZWNvbmRzIGR1cmF0
aW9uKQordm9pZCBWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OlNuYXBzaG90UmVtb3ZhbFRyYWNrZXI6
OnN0YXJ0V2F0Y2hkb2coU2Vjb25kcyBkdXJhdGlvbikKIHsKLSAgICBsb2coU3RyaW5nOjpmb3Jt
YXQoIihyZSlzdGFydGVkIHdhdGNoZG9nIHRpbWVyIGZvciAlbGxkIHNlY29uZHMiLCBkdXJhdGlv
bi5jb3VudCgpKSk7Ci0gICAgbV93YXRjaGRvZ1RpbWVyLnN0YXJ0T25lU2hvdChkdXJhdGlvbi5j
b3VudCgpKTsKKyAgICBsb2coU3RyaW5nOjpmb3JtYXQoIihyZSlzdGFydGVkIHdhdGNoZG9nIHRp
bWVyIGZvciAlLjFmIHNlY29uZHMiLCBkdXJhdGlvbi5zZWNvbmRzKCkpKTsKKyAgICBtX3dhdGNo
ZG9nVGltZXIuc3RhcnRPbmVTaG90KGR1cmF0aW9uKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2Vi
S2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvVmlld0dlc3R1
cmVDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvVmlld0dlc3R1
cmVDb250cm9sbGVyLmgKaW5kZXggMWJlNTliYzUzZGYwNGYwNjU4NWNiY2UwYmFjYmYwZGMyZjg2
MTU5Yi4uZjE5M2U3ODMzM2Y2OWVmYTNmOGI2YTdiZjA5YzlkN2QwOTA1YjE0OCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5o
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9WaWV3R2VzdHVyZUNvbnRyb2xs
ZXIuaApAQCAtMTU5LDcgKzE1OSw3IEBAIHByaXZhdGU6CiAgICAgICAgIGJvb2wgZXZlbnRPY2N1
cnJlZChFdmVudHMpOwogICAgICAgICBib29sIGNhbmNlbE91dHN0YW5kaW5nRXZlbnQoRXZlbnRz
KTsKIAotICAgICAgICB2b2lkIHN0YXJ0V2F0Y2hkb2coc3RkOjpjaHJvbm86OnNlY29uZHMpOwor
ICAgICAgICB2b2lkIHN0YXJ0V2F0Y2hkb2coU2Vjb25kcyk7CiAKICAgICBwcml2YXRlOgogICAg
ICAgICBzdGF0aWMgU3RyaW5nIGV2ZW50c0Rlc2NyaXB0aW9uKEV2ZW50cyk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eUltcGwuY3BwIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHlJbXBsLmNwcAppbmRleCA5YTk3
YjNmYmUyNThmYzU0MjExOWI1YzY4MmE3YTE2NjhkOWU2MGE1Li4wOWJhMzBiNDgzZDBmYzg2ZjE4
MDE0NzkwYjY2M2FjM2RiZjJlYzY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvRHJhd2luZ0FyZWFQcm94eUltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9EcmF3aW5nQXJlYVByb3h5SW1wbC5jcHAKQEAgLTE4Nyw3ICsxODcsNyBAQCB2b2lkIERyYXdp
bmdBcmVhUHJveHlJbXBsOjpkaXNjYXJkQmFja2luZ1N0b3JlU29vbigpCiAKICAgICAvLyBXZSds
bCB3YWl0IHRoaXMgbWFueSBzZWNvbmRzIGFmdGVyIHRoZSBsYXN0IHBhaW50IGJlZm9yZSB0aHJv
d2luZyBhd2F5IG91ciBiYWNraW5nIHN0b3JlIHRvIHNhdmUgbWVtb3J5LgogICAgIC8vIEZJWE1F
OiBJdCB3b3VsZCBiZSBzbWFydGVyIHRvIG1ha2UgdGhpcyBkZWxheSBiYXNlZCBvbiBob3cgZXhw
ZW5zaXZlIHBhaW50aW5nIGlzLiBTZWUgPGh0dHA6Ly93ZWJraXQub3JnL2IvNTU3MzM+LgotICAg
IHN0YXRpYyBjb25zdCBkb3VibGUgZGlzY2FyZEJhY2tpbmdTdG9yZURlbGF5ID0gMjsKKyAgICBz
dGF0aWMgY29uc3QgU2Vjb25kcyBkaXNjYXJkQmFja2luZ1N0b3JlRGVsYXkgPSAyX3M7CiAKICAg
ICBtX2Rpc2NhcmRCYWNraW5nU3RvcmVUaW1lci5zdGFydE9uZVNob3QoZGlzY2FyZEJhY2tpbmdT
dG9yZURlbGF5KTsKIH0KQEAgLTIyOCw3ICsyMjgsNyBAQCB2b2lkIERyYXdpbmdBcmVhUHJveHlJ
bXBsOjpEcmF3aW5nTW9uaXRvcjo6c3RhcnQoc3RkOjpmdW5jdGlvbjx2b2lkIChDYWxsYmFja0Jh
cwogICAgIG1fY2FsbGJhY2sgPSBjYWxsYmFjazsKICNpZiBQTEFURk9STShHVEspCiAgICAgZ19z
aWduYWxfY29ubmVjdF9zd2FwcGVkKG1fd2ViUGFnZS52aWV3V2lkZ2V0KCksICJkcmF3IiwgcmVp
bnRlcnByZXRfY2FzdDxHQ2FsbGJhY2s+KHdlYlZpZXdEcmF3Q2FsbGJhY2spLCB0aGlzKTsKLSAg
ICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgxKTsKKyAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgxX3Mp
OwogI2Vsc2UKICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogI2VuZGlmCkBAIC0yNTUs
NyArMjU1LDcgQEAgdm9pZCBEcmF3aW5nQXJlYVByb3h5SW1wbDo6RHJhd2luZ01vbml0b3I6OmRp
ZERyYXcoKQogICAgIGlmIChtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWVNUygpIC0gbV9zdGFy
dFRpbWUgPiAxMDAwKQogICAgICAgICBzdG9wKCk7CiAgICAgZWxzZQotICAgICAgICBtX3RpbWVy
LnN0YXJ0T25lU2hvdCgwLjEwMCk7CisgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDEwMF9t
cyk7CiB9CiAKIHZvaWQgRHJhd2luZ0FyZWFQcm94eUltcGw6OmRpc3BhdGNoQWZ0ZXJFbnN1cmlu
Z0RyYXdpbmcoc3RkOjpmdW5jdGlvbjx2b2lkKENhbGxiYWNrQmFzZTo6RXJyb3IpPiBjYWxsYmFj
a0Z1bmN0aW9uKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0dhbWVwYWQv
VUlHYW1lcGFkUHJvdmlkZXIuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0dhbWVwYWQv
VUlHYW1lcGFkUHJvdmlkZXIuY3BwCmluZGV4IDY1N2M0MTZmOTA2ZTVkMDQzOTAxZmMzZTgyNDRi
NGQ4NzYyNjgxMGYuLjBiZWU3NTQ4MzYxYWQ1NzU0M2RiYjA3MThiN2JlNTc0ZmE0ZTZhYTQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9HYW1lcGFkL1VJR2FtZXBhZFByb3Zp
ZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvR2FtZXBhZC9VSUdhbWVwYWRQ
cm92aWRlci5jcHAKQEAgLTM5LDcgKzM5LDcgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAK
IG5hbWVzcGFjZSBXZWJLaXQgewogCi1zdGF0aWMgY29uc3QgZG91YmxlIG1heGltdW1HYW1lcGFk
VXBkYXRlSW50ZXJ2YWwgPSAxIC8gMTIwLjA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBtYXhpbXVt
R2FtZXBhZFVwZGF0ZUludGVydmFsIHsgMV9zIC8gMTIwLiB9OwogCiBVSUdhbWVwYWRQcm92aWRl
ciYgVUlHYW1lcGFkUHJvdmlkZXI6OnNpbmdsZXRvbigpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzUHJveHkuY3BwIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5LmNwcAppbmRleCA1
ZmY1MWI1MDllODZmMmI1MjQyNDAyNWM4MjVjZWZiYTExM2VhMmMxLi5iYWNkNzNlNTQwMzQwYTQ0
MjZkNjBlOTBlY2E3OTcxYmE1YjBkYTc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NQcm94eS5jcHAKQEAgLTQ2LDExICs0Niwx
MSBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLXN0
YXRpYyBjb25zdCBkb3VibGUgbWluaW11bUxpZmV0aW1lID0gMiAqIDYwOwotc3RhdGljIGNvbnN0
IGRvdWJsZSBzbmFwc2hvdHRpbmdNaW5pbXVtTGlmZXRpbWUgPSAzMDsKK3N0YXRpYyBjb25zdCBT
ZWNvbmRzIG1pbmltdW1MaWZldGltZSB7IDJfbWluIH07CitzdGF0aWMgY29uc3QgU2Vjb25kcyBz
bmFwc2hvdHRpbmdNaW5pbXVtTGlmZXRpbWUgeyAzMF9zIH07CiAKLXN0YXRpYyBjb25zdCBkb3Vi
bGUgc2h1dGRvd25UaW1lb3V0ID0gMSAqIDYwOwotc3RhdGljIGNvbnN0IGRvdWJsZSBzbmFwc2hv
dHRpbmdTaHV0ZG93blRpbWVvdXQgPSAxNTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHNodXRkb3du
VGltZW91dCB7IDFfbWluIH07CitzdGF0aWMgY29uc3QgU2Vjb25kcyBzbmFwc2hvdHRpbmdTaHV0
ZG93blRpbWVvdXQgeyAxNV9zIH07CiAKIHN0YXRpYyB1aW50NjRfdCBnZW5lcmF0ZUNhbGxiYWNr
SUQoKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Byb2Nlc3NUaHJv
dHRsZXIuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Byb2Nlc3NUaHJvdHRsZXIuY3Bw
CmluZGV4IDc3YjBiOGM3MWY4OGY4YmMyMDQ5MDJiZjQ2YTI2YzM0ODVhMzc1MWYuLjA5Mzg2M2Mx
MWNkNjcwNDdjMWNlM2UyMGM3OTljMzY2ZWQ3ODVhNDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9Qcm9jZXNzVGhyb3R0bGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvUHJvY2Vzc1Rocm90dGxlci5jcHAKQEAgLTMxLDcgKzMxLDcgQEAKIAogbmFtZXNw
YWNlIFdlYktpdCB7CiAgICAgCi1zdGF0aWMgY29uc3QgdW5zaWduZWQgcHJvY2Vzc1N1c3BlbnNp
b25UaW1lb3V0ID0gMzA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBwcm9jZXNzU3VzcGVuc2lvblRp
bWVvdXQgeyAzMF9zIH07CiAgICAgCiBQcm9jZXNzVGhyb3R0bGVyOjpQcm9jZXNzVGhyb3R0bGVy
KFByb2Nlc3NUaHJvdHRsZXJDbGllbnQmIHByb2Nlc3MpCiAgICAgOiBtX3Byb2Nlc3MocHJvY2Vz
cykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9SZXNwb25zaXZlbmVzc1Rp
bWVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9SZXNwb25zaXZlbmVzc1RpbWVyLmNw
cAppbmRleCBmZWI0NjlmMDg0MmI1YWU2OWIzNmYwZmNmZDY4NjFjNDA2N2VlZjJiLi45YWU1ZmQx
YzcxMTAzOTQ5NzE2MzA1YzlkOTJiYmRmNTI0Njc1ZjEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvUmVzcG9uc2l2ZW5lc3NUaW1lci5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1Jlc3BvbnNpdmVuZXNzVGltZXIuY3BwCkBAIC0yOCw3ICsyOCw3IEBACiAK
IG5hbWVzcGFjZSBXZWJLaXQgewogCi1zdGF0aWMgY29uc3QgZG91YmxlIHJlc3BvbnNpdmVuZXNz
VGltZW91dCA9IDM7CitzdGF0aWMgY29uc3QgU2Vjb25kcyByZXNwb25zaXZlbmVzc1RpbWVvdXQg
eyAzX3MgfTsKIAogUmVzcG9uc2l2ZW5lc3NUaW1lcjo6UmVzcG9uc2l2ZW5lc3NUaW1lcihSZXNw
b25zaXZlbmVzc1RpbWVyOjpDbGllbnQmIGNsaWVudCkKICAgICA6IG1fY2xpZW50KGNsaWVudCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCmluZGV4IDFkZDdh
ZTI0M2JmNTk2ZGYyMzAwM2IzYTYzOGRhMzJhOTQ0MmMzY2EuLmVmZTQ2ZjU2NzA0MzZjZTZjNDY2
OTdjODBmN2FlYzY4YTZlODg3NjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJQcm9jZXNzUG9vbC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBy
b2Nlc3NQb29sLmNwcApAQCAtNjg5LDcgKzY4OSw3IEBAIFdlYlByb2Nlc3NQcm94eSYgV2ViUHJv
Y2Vzc1Bvb2w6OmNyZWF0ZU5ld1dlYlByb2Nlc3MoV2Vic2l0ZURhdGFTdG9yZSogd2Vic2l0ZURh
CiAKICAgICBwYXJhbWV0ZXJzLmljb25EYXRhYmFzZUVuYWJsZWQgPSAhaWNvbkRhdGFiYXNlUGF0
aCgpLmlzRW1wdHkoKTsKIAotICAgIHBhcmFtZXRlcnMudGVybWluYXRpb25UaW1lb3V0ID0gMDsK
KyAgICBwYXJhbWV0ZXJzLnRlcm1pbmF0aW9uVGltZW91dCA9IDBfczsKIAogICAgIHBhcmFtZXRl
cnMudGV4dENoZWNrZXJTdGF0ZSA9IFRleHRDaGVja2VyOjpzdGF0ZSgpOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL0dlc3R1cmVDb250cm9sbGVyLmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9ndGsvR2VzdHVyZUNvbnRyb2xsZXIuY3BwCmluZGV4IDA1
NTZlYTdjNGY2Zjk5OGM4N2ZhMmUyM2NlMzA3Nzc0YzExZGI0NzYuLmEzNzM0MjljMWM1YzI3ODEz
ZWRlNTExOTUwZjllYTIyNDQxZmMzMjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9ndGsvR2VzdHVyZUNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9ndGsvR2VzdHVyZUNvbnRyb2xsZXIuY3BwCkBAIC0xMjcsNyArMTI3LDcgQEAgdm9pZCBH
ZXN0dXJlQ29udHJvbGxlcjo6RHJhZ0dlc3R1cmU6OmJlZ2luKERyYWdHZXN0dXJlKiBkcmFnR2Vz
dHVyZSwgZG91YmxlIHgsIGQKICAgICBHdGtXaWRnZXQqIHdpZGdldCA9IGd0a19ldmVudF9jb250
cm9sbGVyX2dldF93aWRnZXQoR1RLX0VWRU5UX0NPTlRST0xMRVIoZ2VzdHVyZSkpOwogICAgIHVu
c2lnbmVkIGRlbGF5OwogICAgIGdfb2JqZWN0X2dldChndGtfd2lkZ2V0X2dldF9zZXR0aW5ncyh3
aWRnZXQpLCAiZ3RrLWxvbmctcHJlc3MtdGltZSIsICZkZWxheSwgbnVsbHB0cik7Ci0gICAgZHJh
Z0dlc3R1cmUtPm1fbG9uZ1ByZXNzVGltZW91dC5zdGFydE9uZVNob3QoZGVsYXkgLyAxMDAwLjAp
OworICAgIGRyYWdHZXN0dXJlLT5tX2xvbmdQcmVzc1RpbWVvdXQuc3RhcnRPbmVTaG90KDFfbXMg
KiBkZWxheSk7CiB9CiAKIHZvaWQgR2VzdHVyZUNvbnRyb2xsZXI6OkRyYWdHZXN0dXJlOjp1cGRh
dGUoRHJhZ0dlc3R1cmUqIGRyYWdHZXN0dXJlLCBkb3VibGUgeCwgZG91YmxlIHksIEd0a0dlc3R1
cmUqIGdlc3R1cmUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dl
Ykluc3BlY3RvclByb3h5TWFjLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XZWJJ
bnNwZWN0b3JQcm94eU1hYy5tbQppbmRleCBkYmQ0MDQyZDM3ZGU0N2RjNGFiZWM2OWM5MmU3NDBi
YzAyZDA3YTBhLi4yYzQ1N2M3YThkODdlYzc5NWE3ZDI4NGY4ODQxZDc3MzgyOTNmMmFkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dlYkluc3BlY3RvclByb3h5TWFj
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV2ViSW5zcGVjdG9yUHJveHlN
YWMubW0KQEAgLTUyLDcgKzUyLDcgQEAgc3RhdGljIGNvbnN0IE5TVUludGVnZXIgd2luZG93U3R5
bGVNYXNrID0gTlNXaW5kb3dTdHlsZU1hc2tUaXRsZWQgfCBOU1dpbmRvd1N0eWwKIAogLy8gVGhl
IHRpbWUgd2Uga2VlcCBvdXIgV2ViVmlldyBhbGl2ZSBiZWZvcmUgY2xvc2luZyBpdCBhbmQgaXRz
IHByb2Nlc3MuCiAvLyBSZXVzaW5nIHRoZSBXZWJWaWV3IGltcHJvdmVzIHN0YXJ0IHVwIHRpbWUg
Zm9yIHBlb3BsZSB0aGF0IGp1bXAgaW4gYW5kIG91dCBvZiB0aGUgSW5zcGVjdG9yLgotc3RhdGlj
IGNvbnN0IHVuc2lnbmVkIHdlYlZpZXdDbG9zZVRpbWVvdXQgPSA2MDsKK3N0YXRpYyBjb25zdCBT
ZWNvbmRzIHdlYlZpZXdDbG9zZVRpbWVvdXQgeyAxX21pbiB9OwogCiAvLyBXS1dlYkluc3BlY3Rv
clByb3h5T2JqQ0FkYXB0ZXIgaXMgYSBoZWxwZXIgT2JqQyBvYmplY3QgdXNlZCBhcyBhIGRlbGVn
YXRlIG9yIG5vdGlmaWNhdGlvbiBvYnNlcnZlcgogLy8gZm9yIHRoZSBzb2xlIHB1cnBvc2Ugb2Yg
Z2V0dGluZyBiYWNrIGludG8gdGhlIEMrKyBjb2RlIGZyb20gYW4gT2JqQyBjYWxsZXIuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQWNjZWxlcmF0ZWREcmF3
aW5nQXJlYS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQWNjZWxlcmF0
ZWREcmF3aW5nQXJlYS5jcHAKaW5kZXggZjQyODIxMGZiYWZhYjMwZDE4M2JlYThhNjIxZjdjMjAz
NDk0NDhlNS4uZTNjNThjODYwOTYwZjBiYTJlZTllODA3YThhMjc1OGNkYTVjMDUwOCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0FjY2VsZXJhdGVkRHJhd2lu
Z0FyZWEuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9BY2NlbGVy
YXRlZERyYXdpbmdBcmVhLmNwcApAQCAtMzg0LDcgKzM4NCw3IEBAIHZvaWQgQWNjZWxlcmF0ZWRE
cmF3aW5nQXJlYTo6ZXhpdEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdNb2RlTm93KCkKICAgICBtX3By
ZXZpb3VzTGF5ZXJUcmVlSG9zdC0+c2V0SXNEaXNjYXJkYWJsZSh0cnVlKTsKICAgICBtX3ByZXZp
b3VzTGF5ZXJUcmVlSG9zdC0+cGF1c2VSZW5kZXJpbmcoKTsKICAgICBtX3ByZXZpb3VzTGF5ZXJU
cmVlSG9zdC0+c2V0TGF5ZXJGbHVzaFNjaGVkdWxpbmdFbmFibGVkKGZhbHNlKTsKLSAgICBtX2Rp
c2NhcmRQcmV2aW91c0xheWVyVHJlZUhvc3RUaW1lci5zdGFydE9uZVNob3QoNSk7CisgICAgbV9k
aXNjYXJkUHJldmlvdXNMYXllclRyZWVIb3N0VGltZXIuc3RhcnRPbmVTaG90KDVfcyk7CiAjZWxz
ZQogICAgIG1fbGF5ZXJUcmVlSG9zdCA9IG51bGxwdHI7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3Jk
aW5hdGVkTGF5ZXJUcmVlSG9zdC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3QuY3BwCmluZGV4
IGExNDEwNDM0OWRjODFjOTZmZjc4ZWI0ZTMxNWNkZjM2YWIyZTY5ZDcuLmI4YjkzNjA3M2M3Nzg2
MjYyMDlhYmU3OTk4MTNiZWJjOGM2MmI4MmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVl
SG9zdC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5h
dGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0LmNwcApAQCAtMjM0LDcgKzIzNCw3
IEBAIHZvaWQgQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0OjpzY2hlZHVsZUFuaW1hdGlvbigpCiAg
ICAgICAgIHJldHVybjsKIAogICAgIHNjaGVkdWxlTGF5ZXJGbHVzaCgpOwotICAgIG1fbGF5ZXJG
bHVzaFRpbWVyLnN0YXJ0T25lU2hvdChtX2Nvb3JkaW5hdG9yLm5leHRBbmltYXRpb25TZXJ2aWNl
VGltZSgpKTsKKyAgICBtX2xheWVyRmx1c2hUaW1lci5zdGFydE9uZVNob3QoMV9zICogbV9jb29y
ZGluYXRvci5uZXh0QW5pbWF0aW9uU2VydmljZVRpbWUoKSk7CiB9CiAKIHZvaWQgQ29vcmRpbmF0
ZWRMYXllclRyZWVIb3N0Ojpjb21taXRTY3JvbGxPZmZzZXQodWludDMyX3QgbGF5ZXJJRCwgY29u
c3QgV2ViQ29yZTo6SW50U2l6ZSYgb2Zmc2V0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IDI1ZTFhNTNlYmQwZjRjODAxMGQwZTIxYWI5ZmM5
MDY1YTBlYjIzMjYuLmYzMDhkMzA3Yzg2ZjJlZjcyYTIyYTQ4NTViZjdkZDRiYTZhYzllNmIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTUz
MzMsNyArNTMzMyw3IEBAIHN0YXRpYyBjb25zdCBmbG9hdCBwcmltYXJ5U25hcHNob3R0ZWRQbHVn
SW5TZWFyY2hCdWNrZXRTaXplID0gMS4xOwogc3RhdGljIGNvbnN0IGludCBwcmltYXJ5U25hcHNo
b3R0ZWRQbHVnSW5NaW5pbXVtV2lkdGggPSA0MDA7CiBzdGF0aWMgY29uc3QgaW50IHByaW1hcnlT
bmFwc2hvdHRlZFBsdWdJbk1pbmltdW1IZWlnaHQgPSAzMDA7CiBzdGF0aWMgY29uc3QgdW5zaWdu
ZWQgbWF4UHJpbWFyeVNuYXBzaG90dGVkUGx1Z0luRGV0ZWN0aW9uQXR0ZW1wdHMgPSAyOwotc3Rh
dGljIGNvbnN0IGludCBkZWZlcnJlZFByaW1hcnlTbmFwc2hvdHRlZFBsdWdJbkRldGVjdGlvbkRl
bGF5ID0gMzsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIGRlZmVycmVkUHJpbWFyeVNuYXBzaG90dGVk
UGx1Z0luRGV0ZWN0aW9uRGVsYXkgPSAzX3M7CiBzdGF0aWMgY29uc3QgZmxvYXQgb3ZlcmxhcHBp
bmdJbWFnZUJvdW5kc1NjYWxlID0gMS4xOwogc3RhdGljIGNvbnN0IGZsb2F0IG1pbmltdW1PdmVy
bGFwcGluZ0ltYWdlVG9QbHVnaW5EaW1lbnNpb25TY2FsZSA9IC45OwogCkBAIC01NDQxLDcgKzU0
NDEsNyBAQCB2b2lkIFdlYlBhZ2U6OmRldGVybWluZVByaW1hcnlTbmFwc2hvdHRlZFBsdWdJbigp
CiAgICAgaWYgKCFjYW5kaWRhdGVQbHVnSW4pIHsKICAgICAgICAgTE9HKFBsdWdpbnMsICJQcmlt
YXJ5IFBsdWctSW4gRGV0ZWN0aW9uOiBmYWlsIC0gZGlkIG5vdCBmaW5kIGEgY2FuZGlkYXRlIHBs
dWctaW4uIik7CiAgICAgICAgIGlmIChtX251bWJlck9mUHJpbWFyeVNuYXBzaG90RGV0ZWN0aW9u
QXR0ZW1wdHMgPCBtYXhQcmltYXJ5U25hcHNob3R0ZWRQbHVnSW5EZXRlY3Rpb25BdHRlbXB0cykg
ewotICAgICAgICAgICAgTE9HKFBsdWdpbnMsICJQcmltYXJ5IFBsdWctSW4gRGV0ZWN0aW9uOiB3
aWxsIGF0dGVtcHQgYWdhaW4gaW4gJWRzLiIsIGRlZmVycmVkUHJpbWFyeVNuYXBzaG90dGVkUGx1
Z0luRGV0ZWN0aW9uRGVsYXkpOworICAgICAgICAgICAgTE9HKFBsdWdpbnMsICJQcmltYXJ5IFBs
dWctSW4gRGV0ZWN0aW9uOiB3aWxsIGF0dGVtcHQgYWdhaW4gaW4gJS4xZiBzLiIsIGRlZmVycmVk
UHJpbWFyeVNuYXBzaG90dGVkUGx1Z0luRGV0ZWN0aW9uRGVsYXkudmFsdWUoKSk7CiAgICAgICAg
ICAgICBtX2RldGVybWluZVByaW1hcnlTbmFwc2hvdHRlZFBsdWdJblRpbWVyLnN0YXJ0T25lU2hv
dChkZWZlcnJlZFByaW1hcnlTbmFwc2hvdHRlZFBsdWdJbkRldGVjdGlvbkRlbGF5KTsKICAgICAg
ICAgfQogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlByb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNz
LmNwcAppbmRleCBmMTNiY2EwZGM3MzNkMDllMDE0M2E5OTBhNGQ0N2FmNGFiNGU4OTQ4Li41Yjk1
Yzc5NDE1M2E0YmFhYjIyNzYyYTY5NDY2MzlhMTNhZDliYzUwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKQEAgLTE0Myw3ICsxNDMsNyBAQCB1c2luZyBuYW1lc3Bh
Y2UgV2ViQ29yZTsKIHN0YXRpYyBjb25zdCBkb3VibGUgcGx1Z0luQXV0b1N0YXJ0RXhwaXJhdGlv
blRpbWVVcGRhdGVUaHJlc2hvbGQgPSAyOSAqIDI0ICogNjAgKiA2MDsKIAogLy8gVGhpcyBzaG91
bGQgYmUgZ3JlYXRlciB0aGFuIHRpbGVSZXZhbGlkYXRpb25UaW1lb3V0IGluIFRpbGVDb250cm9s
bGVyLgotc3RhdGljIGNvbnN0IGRvdWJsZSBub25WaXNpYmxlUHJvY2Vzc0NsZWFudXBEZWxheSA9
IDEwOworc3RhdGljIGNvbnN0IFNlY29uZHMgbm9uVmlzaWJsZVByb2Nlc3NDbGVhbnVwRGVsYXkg
eyAxMF9zIH07CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCmRpZmYgLS1naXQgYS9Ub29scy9DaGFu
Z2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNjNiM2Y1NWI3MDVlOTQ4ZjMwNTkxNjVjNzNk
ZmEzYzJiYTQ2OTQ5NC4uNDVlYTBjM2Q0ZDZhOTUzYmU0ZDNhMWM1ZjE4ZjRkZWE4ZmQxZjE2YSAx
MDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSw1
ICsxLDE5IEBACiAyMDE3LTA0LTA5ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAK
KyAgICAgICAgRHJvcCBUaW1lcjo6c3RhcnRPbmVTaG90KCkgb3ZlcmxvYWQgdGFraW5nIGEgZG91
YmxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzA2
NTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEcm9w
IFRpbWVyOjpzdGFydE9uZVNob3QoKSBvdmVybG9hZCB0YWtpbmcgYSBkb3VibGUgYXMgcGVvcGxl
IHNob3VsZCB1c2UgU2Vjb25kcyB0eXBlIG5vdy4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkv
VGVzdHMvV1RGL1J1bkxvb3AuY3BwOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6Cisg
ICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9ndGsvVGVzdFJ1bm5lckd0
ay5jcHA6CisgICAgICAgIChXVFI6OlRlc3RSdW5uZXI6OmluaXRpYWxpemVXYWl0VG9EdW1wV2F0
Y2hkb2dUaW1lcklmTmVlZGVkKToKKworMjAxNy0wNC0wOSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpA
YXBwbGUuY29tPgorCiAgICAgICAgIERyb3AgVGltZXI6OnN0YXJ0UmVwZWF0aW5nKCkgb3Zlcmxv
YWQgdGFraW5nIGEgZG91YmxlCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNzA2NTYKIApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XVEYvUnVuTG9vcC5jcHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9SdW5Mb29w
LmNwcAppbmRleCBkMWRlMDMxYTA4YTA3NTE0ZGZjZGYwN2E1ZTVlZTRhMzZhMzA3NzMwLi45M2Iz
ZDhjMjhmMzIwODE3NmNkM2JjNTJiN2Y5ZTNkNjE0YTA3OTE3IDEwMDY0NAotLS0gYS9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9SdW5Mb29wLmNwcAorKysgYi9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dURi9SdW5Mb29wLmNwcApAQCAtOTUsNyArOTUsNyBAQCBURVNUKFdURl9SdW5M
b29wLCBPbmVTaG90VGltZXIpCiAKICAgICB7CiAgICAgICAgIERlcml2ZWRUaW1lciB0aW1lcih0
ZXN0RmluaXNoZWQpOwotICAgICAgICB0aW1lci5zdGFydE9uZVNob3QoMC4xKTsKKyAgICAgICAg
dGltZXIuc3RhcnRPbmVTaG90KDEwMF9tcyk7CiAgICAgICAgIFV0aWw6OnJ1bigmdGVzdEZpbmlz
aGVkKTsKICAgICB9CiB9CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL2d0ay9UZXN0UnVubmVyR3RrLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
SW5qZWN0ZWRCdW5kbGUvZ3RrL1Rlc3RSdW5uZXJHdGsuY3BwCmluZGV4IGE5ZjdmNDA5YzA5YmY5
ODNkNGE3NGI4M2RmM2E5MWU2ZGI1OWYyN2UuLmI5YWNjY2M2Yzg3ODRlYzhlOGQ4YzE1YWYzNzJl
ZmQxYmVkMzVlZjUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRC
dW5kbGUvZ3RrL1Rlc3RSdW5uZXJHdGsuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
SW5qZWN0ZWRCdW5kbGUvZ3RrL1Rlc3RSdW5uZXJHdGsuY3BwCkBAIC00OCw3ICs0OCw3IEBAIHZv
aWQgVGVzdFJ1bm5lcjo6aW5pdGlhbGl6ZVdhaXRUb0R1bXBXYXRjaGRvZ1RpbWVySWZOZWVkZWQo
KQogICAgIGlmIChtX3dhaXRUb0R1bXBXYXRjaGRvZ1RpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAg
IHJldHVybjsKIAotICAgIG1fd2FpdFRvRHVtcFdhdGNoZG9nVGltZXIuc3RhcnRPbmVTaG90KG1f
dGltZW91dCAvIDEwMDAuMCk7CisgICAgbV93YWl0VG9EdW1wV2F0Y2hkb2dUaW1lci5zdGFydE9u
ZVNob3QoMV9tcyAqIG1fdGltZW91dCk7CiB9CiAKIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBU
ZXN0UnVubmVyOjpwYXRoVG9Mb2NhbFJlc291cmNlKEpTU3RyaW5nUmVmIHVybCkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>306659</attachid>
            <date>2017-04-09 22:44:06 -0700</date>
            <delta_ts>2017-04-09 23:06:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-170659-20170409224350.patch</filename>
            <type>text/plain</type>
            <size>150928</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE1MTY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjU2NmE5MGMzMjEyZGMz
MzAyMmE2MGViZWU2NDU1ODA1NTQ2ZGRiYy4uNWRmYTg3ZjkzZGZjMWJhNDljN2Y3ZGFmMWZkMzMx
MmEwN2E1YmRiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4MyBAQAorMjAxNy0wNC0wOSAgQ2hy
aXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIERyb3AgVGltZXI6OnN0YXJ0
T25lU2hvdCgpIG92ZXJsb2FkIHRha2luZyBhIGRvdWJsZQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcwNjU5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRHJvcCBUaW1lcjo6c3RhcnRPbmVTaG90KCkgb3Zl
cmxvYWQgdGFraW5nIGEgZG91YmxlIGFzIHBlb3BsZSBzaG91bGQgdXNlIFNlY29uZHMgdHlwZSBu
b3cuCisKKyAgICAgICAgKiBNb2R1bGVzL2dlb2xvY2F0aW9uL0dlb05vdGlmaWVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6Okdlb05vdGlmaWVyOjpzdGFydFRpbWVySWZOZWVkZWQpOgorICAgICAg
ICAqIE1vZHVsZXMvbWVkaWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6V2ViTWVkaWFTZXNzaW9uTWFuYWdlcjo6Y29uZmlndXJlV2F0Y2hkb2dU
aW1lcik6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXNlc3Npb24vV2ViTWVkaWFTZXNzaW9uTWFu
YWdlci5oOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vQ2FudmFzQ2FwdHVyZU1lZGlh
U3RyZWFtVHJhY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFzQ2FwdHVyZU1lZGlhU3Ry
ZWFtVHJhY2s6OlNvdXJjZTo6Y2FudmFzQ2hhbmdlZCk6CisgICAgICAgICogTW9kdWxlcy92aWJy
YXRpb24vVmlicmF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlZpYnJhdGlvbjo6dGltZXJG
aXJlZCk6CisgICAgICAgICogTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6V2ViU29ja2V0Q2hhbm5lbDo6Y2xvc2UpOgorICAgICAgICAq
IGFjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBWE9i
amVjdENhY2hlOjplbnF1ZXVlUGFzc3dvcmRWYWx1ZUNoYW5nZU5vdGlmaWNhdGlvbik6CisgICAg
ICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpwb3N0TGl2ZVJlZ2lvbkNoYW5nZU5vdGlmaWNh
dGlvbik6CisgICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpmb2N1c0FyaWFNb2RhbE5v
ZGUpOgorICAgICAgICAqIGNzcy9DU1NGb250RmFjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpD
U1NGb250RmFjZTo6c2V0U3RhdHVzKToKKyAgICAgICAgKiBjc3MvU3R5bGVSZXNvbHZlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJlc29sdmVyOjphZGRUb01hdGNoZWRQcm9wZXJ0aWVz
Q2FjaGUpOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpE
b2N1bWVudDo6c2V0VmlzdWFsVXBkYXRlc0FsbG93ZWQpOgorICAgICAgICAoV2ViQ29yZTo6RG9j
dW1lbnQ6OmZpbmlzaGVkUGFyc2luZyk6CisgICAgICAgICogZG9tL1NjcmlwdGVkQW5pbWF0aW9u
Q29udHJvbGxlci5jcHA6CisgICAgICAgICogZWRpdGluZy9BbHRlcm5hdGl2ZVRleHRDb250cm9s
bGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFsdGVybmF0aXZlVGV4dENvbnRyb2xsZXI6OnN0
YXJ0QWx0ZXJuYXRpdmVUZXh0VUlUaW1lcik6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVt
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmFkZEJlaGF2aW9y
UmVzdHJpY3Rpb25zT25FbmRJZk5lY2Vzc2FyeSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVk
aWFFbGVtZW50OjpoYW5kbGVTZWVrVG9QbGF5YmFja1Bvc2l0aW9uKToKKyAgICAgICAgKiBodG1s
L1NlYXJjaElucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZWFyY2hJbnB1dFR5cGU6
OnN0YXJ0U2VhcmNoRXZlbnRUaW1lcik6CisgICAgICAgICogaHRtbC9WYWxpZGF0aW9uTWVzc2Fn
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWYWxpZGF0aW9uTWVzc2FnZTo6c2V0TWVzc2FnZURP
TUFuZFN0YXJ0VGltZXIpOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29u
dGV4dEJhc2UuY3BwOgorICAgICAgICAqIGh0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRz
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFBhbmVsRWxlbWVudDo6c3RhcnRU
aW1lcik6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xQYW5lbEVsZW1lbnQ6Om1ha2VU
cmFuc3BhcmVudCk6CisgICAgICAgICogaHRtbC90cmFjay9WVFRSZWdpb24uY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6VlRUUmVnaW9uOjpzdGFydFRpbWVyKToKKyAgICAgICAgKiBpbnNwZWN0b3Iv
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbjo6ZnJhbWVTY2hlZHVsZWROYXZpZ2F0aW9uSW1wbCk6CisgICAgICAg
ICogaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oOgorICAgICAgICAoV2ViQ29y
ZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpmcmFtZVNjaGVkdWxlZE5hdmlnYXRpb24pOgor
ICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SW5zcGVjdG9yUGFnZUFnZW50OjpmcmFtZVNjaGVkdWxlZE5hdmlnYXRpb24pOgorICAg
ICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuaDoKKyAgICAgICAgKiBsb2FkZXIv
TmF2aWdhdGlvblNjaGVkdWxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0aW9uU2No
ZWR1bGVyOjpzdGFydFRpbWVyKToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3Vy
Y2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OmRv
Y3VtZW50RGlkRmluaXNoTG9hZEV2ZW50KToKKyAgICAgICAgKiBsb2FkZXIvaWNvbi9JY29uRGF0
YWJhc2UuY3BwOgorICAgICAgICAqIHBhZ2UvRXZlbnRIYW5kbGVyLmNwcDoKKyAgICAgICAgKiBw
YWdlL0V2ZW50U291cmNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50U291cmNlOjpzY2hl
ZHVsZVJlY29ubmVjdCk6CisgICAgICAgICogcGFnZS9Gb2N1c0NvbnRyb2xsZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Rm9jdXNDb250cm9sbGVyOjpzZXRGb2N1c2VkRWxlbWVudE5lZWRzUmVw
YWludCk6CisgICAgICAgICogcGFnZS9GcmFtZVZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
RnJhbWVWaWV3OjpzY3JvbGxQb3NpdGlvbkNoYW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6RnJh
bWVWaWV3OjplbmFibGVTcGVjdWxhdGl2ZVRpbGluZ0lmTmVlZGVkKToKKyAgICAgICAgKiBwYWdl
L1NldHRpbmdzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpTZXR0aW5ncyk6Cisg
ICAgICAgICogcGFnZS9TZXR0aW5ncy5oOgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OnNl
dFRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKToKKyAgICAgICAg
KFdlYkNvcmU6OlNldHRpbmdzOjp0aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdD
b250cm9scyk6CisgICAgICAgICogcGFnZS9TdXNwZW5kYWJsZVRpbWVyLmg6CisgICAgICAgICog
cGFnZS9hbmltYXRpb24vQ1NTQW5pbWF0aW9uQ29udHJvbGxlci5jcHA6CisgICAgICAgICogcGFn
ZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tOgorICAgICAgICAqIHBhZ2UvbWFjL1RleHRJbmRpY2F0
b3JXaW5kb3cubW06CisgICAgICAgIChXZWJDb3JlOjpUZXh0SW5kaWNhdG9yV2luZG93OjpzZXRU
ZXh0SW5kaWNhdG9yKToKKyAgICAgICAgKiBwbGF0Zm9ybS9IeXN0ZXJlc2lzQWN0aXZpdHkuaDoK
KyAgICAgICAgKFdlYkNvcmU6Okh5c3RlcmVzaXNBY3Rpdml0eTo6c3RvcCk6CisgICAgICAgICog
cGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Omdl
dEFuaW1hdGlvblBhcmFtZXRlcnNGb3JHcmFudWxhcml0eSk6CisgICAgICAgIChXZWJDb3JlOjpT
Y3JvbGxBbmltYXRpb25TbW9vdGg6OnVwZGF0ZVBlckF4aXNEYXRhKToKKyAgICAgICAgKFdlYkNv
cmU6OlNjcm9sbEFuaW1hdGlvblNtb290aDo6YW5pbWF0ZVNjcm9sbCk6CisgICAgICAgIChXZWJD
b3JlOjpTY3JvbGxBbmltYXRpb25TbW9vdGg6OmFuaW1hdGlvblRpbWVyRmlyZWQpOgorICAgICAg
ICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0aW9uU21vb3RoOjpzdGFydE5leHRUaW1lcik6CisgICAg
ICAgICogcGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmg6CisgICAgICAgICogcGxhdGZv
cm0vVGltZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6c3RhcnRSZXBlYXRpbmcp
OgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uOjpzY2hlZHVsZUNsaWVudERhdGFC
dWZmZXJpbmdDaGVjayk6CisgICAgICAgICogcGxhdGZvcm0vY29jb2EvU2Nyb2xsQ29udHJvbGxl
ci5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbENvbnRyb2xsZXI6OnNjaGVkdWxlU3RhdGVs
ZXNzU2Nyb2xsU25hcCk6CisgICAgICAgICogcGxhdGZvcm0vZ2FtZXBhZC9jb2NvYS9HYW1lQ29u
dHJvbGxlckdhbWVwYWRQcm92aWRlci5tbToKKyAgICAgICAgKFdlYkNvcmU6OkdhbWVDb250cm9s
bGVyR2FtZXBhZFByb3ZpZGVyOjpnYW1lcGFkSGFkSW5wdXQpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dhbWVwYWQvbWFjL0hJREdhbWVwYWRQcm92aWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpI
SURHYW1lcGFkUHJvdmlkZXI6Om9wZW5BbmRTY2hlZHVsZU1hbmFnZXIpOgorICAgICAgICAoV2Vi
Q29yZTo6SElER2FtZXBhZFByb3ZpZGVyOjp2YWx1ZXNDaGFuZ2VkKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9nbGliL01haW5UaHJlYWRTaGFyZWRUaW1lckdMaWIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6TWFpblRocmVhZFNoYXJlZFRpbWVyOjpzZXRGaXJlSW50ZXJ2YWwpOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkJpdG1h
cEltYWdlOjpzdGFydFRpbWVyKToKKyAgICAgICAgKFdlYkNvcmU6OkJpdG1hcEltYWdlOjppbnRl
cm5hbFN0YXJ0QW5pbWF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkJpdG1hcEltYWdlOjphZHZh
bmNlQW5pbWF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkJpdG1hcEltYWdlOjpyZXNldEFuaW1h
dGlvbik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuaDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyLmNwcDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9TaGFkb3dCbHVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlNjcmF0Y2hCdWZmZXI6OnNjaGVkdWxlU2NyYXRjaEJ1ZmZlclB1cmdlKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9jYS9MYXllclBvb2wuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
TGF5ZXJQb29sOjpzY2hlZHVsZVBydW5lKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9n
c3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6Y2hhbmdlUGlwZWxpbmVTdGF0ZSk6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0dyYXBoaWNzQ29udGV4dDNETWFjLm1tOgor
ICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0RNYW5hZ2VyOjp1cGRhdGVIaWdoUGVy
Zm9ybWFuY2VTdGF0ZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0JpdG1h
cFRleHR1cmVQb29sLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkJpdG1hcFRleHR1cmVQb29sOjpz
Y2hlZHVsZVJlbGVhc2VVbnVzZWRUZXh0dXJlcyk6CisgICAgICAgIChXZWJDb3JlOjpCaXRtYXBU
ZXh0dXJlUG9vbDo6cmVsZWFzZVVudXNlZFRleHR1cmVzVGltZXJGaXJlZCk6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVyUHJveHku
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6VGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXJQcm94eTo6
c2NoZWR1bGVSZWxlYXNlVW51c2VkQnVmZmVycyk6CisgICAgICAgIChXZWJDb3JlOjpUZXh0dXJl
TWFwcGVyUGxhdGZvcm1MYXllclByb3h5OjpyZWxlYXNlVW51c2VkQnVmZmVyc1RpbWVyRmlyZWQp
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGlu
YXRlZEltYWdlQmFja2luZy5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3RrL1Njcm9sbEFuaW1h
dG9yR3RrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdG9yR3RrOjpvdmVybGF5
U2Nyb2xsYmFyQW5pbWF0aW9uVGltZXJGaXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxB
bmltYXRvckd0azo6c2hvd092ZXJsYXlTY3JvbGxiYXJzKToKKyAgICAgICAgKFdlYkNvcmU6OlNj
cm9sbEFuaW1hdG9yR3RrOjpoaWRlT3ZlcmxheVNjcm9sbGJhcnMpOgorICAgICAgICAqIHBsYXRm
b3JtL2d0ay9TY3JvbGxBbmltYXRvckd0ay5oOgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9XZWJW
aWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdC5tbToKKyAgICAgICAgKFdlYlZpZGVvRnVsbHNj
cmVlbkludGVyZmFjZUFWS2l0OjpzaG91bGRFeGl0RnVsbHNjcmVlbldpdGhSZWFzb24pOgorICAg
ICAgICAqIHBsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5tbToKKyAgICAgICAgKFdlYkNv
cmU6OlNjcm9sbEFuaW1hdG9yTWFjOjpzdGFydFNjcm9sbGJhclBhaW50VGltZXIpOgorICAgICAg
ICAqIHBsYXRmb3JtL21vY2svTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlck1vY2suY3BwOgorICAg
ICAgICAqIHBsYXRmb3JtL21vY2svUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1vY2suY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1vY2s6OnNwZWFrKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL1RpbWVyRXZlbnRCYXNlZE1vY2suaDoKKyAgICAgICAg
KFdlYkNvcmU6OlRpbWVyRXZlbnQ6OlRpbWVyRXZlbnQpOgorICAgICAgICAqIHBsYXRmb3JtL25l
dHdvcmsvRE5TUmVzb2x2ZVF1ZXVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkROU1Jlc29sdmVR
dWV1ZTo6YWRkKToKKyAgICAgICAgKFdlYkNvcmU6OkROU1Jlc29sdmVRdWV1ZTo6dGltZXJGaXJl
ZCk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9QaW5nSGFuZGxlLmg6CisgICAgICAgICog
cGxhdGZvcm0vbmV0d29yay9jdXJsL1Jlc291cmNlSGFuZGxlTWFuYWdlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZU1hbmFnZXI6OmRvd25sb2FkVGltZXJDYWxsYmFjayk6
CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZU1hbmFnZXI6OmFkZCk6CisgICAgICAg
IChXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZU1hbmFnZXI6OmNhbmNlbCk6CisgICAgICAgICogcGxh
dGZvcm0vbmV0d29yay9tYWMvTmV0d29ya1N0YXRlTm90aWZpZXJNYWMuY3BwOgorICAgICAgICAq
IHBsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UmVzb3VyY2VIYW5kbGU6OnNlbmRQZW5kaW5nUmVxdWVzdCk6CisgICAgICAgICog
cmVuZGVyaW5nL0ltYWdlUXVhbGl0eUNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SW1hZ2VRdWFsaXR5Q29udHJvbGxlcjo6cmVzdGFydFRpbWVyKToKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
UHJvZ3Jlc3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyUHJvZ3Jlc3M6OlJlbmRlclBy
b2dyZXNzKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyUHJvZ3Jlc3MuaDoKKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZWN1cmVUZXh0
VGltZXI6OnJlc3RhcnQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6YW5pbWF0aW9uUmVwZWF0SW50ZXJ2YWxGb3JQ
cm9ncmVzc0Jhcik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lLmg6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6bWVkaWFDb250cm9sc0ZhZGVPdXREdXJhdGlvbik6Cisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lR3RrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclRoZW1lR3RrOjphbmltYXRpb25SZXBlYXRJbnRlcnZhbEZvclByb2dyZXNzQmFyKToK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVHdGsuaDoKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyVGhlbWVJT1MuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1Mu
bW06CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZUlPUzo6YW5pbWF0aW9uUmVwZWF0SW50
ZXJ2YWxGb3JQcm9ncmVzc0Jhcik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFj
Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1tOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyVGhlbWVNYWM6OmFuaW1hdGlvblJlcGVhdEludGVydmFsRm9yUHJvZ3Jlc3NC
YXIpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVNYWM6OmFuaW1hdGlvbkR1cmF0aW9u
Rm9yUHJvZ3Jlc3NCYXIpOgorICAgICAgICAqIHJlcGxheS9FdmVudExvb3BJbnB1dERpc3BhdGNo
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRMb29wSW5wdXREaXNwYXRjaGVyOjpkaXNw
YXRjaElucHV0U29vbik6CisgICAgICAgICogc3ZnL2FuaW1hdGlvbi9TTUlMVGltZUNvbnRhaW5l
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTTUlMVGltZUNvbnRhaW5lcjo6c3RhcnRUaW1lcik6
CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkludGVybmFsU2V0dGluZ3M6OnNldFRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhp
ZGluZ0NvbnRyb2xzKToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaDoKKyAg
ICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5h
bHM6OnNldEltYWdlRnJhbWVEZWNvZGluZ0R1cmF0aW9uKToKKyAgICAgICAgKiB4bWwvWE1MSHR0
cFJlcXVlc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3Q6OmNyZWF0ZVJl
cXVlc3QpOgorCiAyMDE3LTA0LTA5ICBZdXN1a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFAZ21haWwu
Y29tPgogCiAgICAgICAgIFtXVEZdIEFubm90YXRlIFNlY29uZHMnIG1lbWJlciBmdW5jdGlvbnMg
YW5kIG9wZXJhdG9ycyB3aXRoIGNvbnN0ZXhwcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBlZmMzMDdhOTNjMjM2NThh
OTg4MzhhY2NhYTE0NGIxOTczMjJjNmI1Li5jNGJkNTRhYjQ2MzEwZDJhYjU5OTFjMzgyODNkODg3
OTdmOTAyN2NkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIxIEBACiAyMDE3LTA0LTA5ICBDaHJpcyBE
dW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKKyAgICAgICAgRHJvcCBUaW1lcjo6c3RhcnRPbmVT
aG90KCkgb3ZlcmxvYWQgdGFraW5nIGEgZG91YmxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzA2NTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBEcm9wIFRpbWVyOjpzdGFydE9uZVNob3QoKSBvdmVybG9h
ZCB0YWtpbmcgYSBkb3VibGUgYXMgcGVvcGxlIHNob3VsZCB1c2UgU2Vjb25kcyB0eXBlIG5vdy4K
KworICAgICAgICAqIFN0b3JhZ2UvU3RvcmFnZUFyZWFTeW5jLmNwcDoKKyAgICAgICAgKiBTdG9y
YWdlL1N0b3JhZ2VUcmFja2VyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6U3RvcmFnZVRyYWNrZXI6
OlN0b3JhZ2VUcmFja2VyKToKKyAgICAgICAgKiBTdG9yYWdlL1N0b3JhZ2VUcmFja2VyLmg6Cisg
ICAgICAgIChXZWJLaXQ6OlN0b3JhZ2VUcmFja2VyOjpzdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2
YWwpOgorICAgICAgICAoV2ViS2l0OjpTdG9yYWdlVHJhY2tlcjo6c2V0U3RvcmFnZURhdGFiYXNl
SWRsZUludGVydmFsKToKKworMjAxNy0wNC0wOSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUu
Y29tPgorCiAgICAgICAgIFN0YXJ0IGRyb3BwaW5nIFRpbWVyIEFQSSBkZWFsaW5nIHdpdGggZG91
YmxlCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzA2
NDkKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IDY1MWE4YzZlYmZkYzkxMDAwMjE0MTRkMGFjNGM0YWVl
MGYyMTI5YmIuLmY0ZTFjMzQyMDI0ODRiZjNhMDUxNmY2NmNiOTUwYjQ3MzQ3YTNiYjcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21h
Yy9DaGFuZ2VMb2cKQEAgLTEsNSArMSwxOSBAQAogMjAxNy0wNC0wOSAgQ2hyaXMgRHVtZXogIDxj
ZHVtZXpAYXBwbGUuY29tPgogCisgICAgICAgIERyb3AgVGltZXI6OnN0YXJ0T25lU2hvdCgpIG92
ZXJsb2FkIHRha2luZyBhIGRvdWJsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTcwNjU5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgRHJvcCBUaW1lcjo6c3RhcnRPbmVTaG90KCkgb3ZlcmxvYWQgdGFraW5n
IGEgZG91YmxlIGFzIHBlb3BsZSBzaG91bGQgdXNlIFNlY29uZHMgdHlwZSBub3cuCisKKyAgICAg
ICAgKiBQbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luVmlldy5tbToKKyAgICAgICAgKFBsdWdpblRp
bWVyOjpzdGFydCk6CisgICAgICAgICogU3RvcmFnZS9XZWJTdG9yYWdlTWFuYWdlci5tbToKKyAg
ICAgICAgKCtbV2ViU3RvcmFnZU1hbmFnZXIgc2V0U3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFs
Ol0pOgorCisyMDE3LTA0LTA5ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKICAg
ICAgICAgRHJvcCBUaW1lcjo6c3RhcnRSZXBlYXRpbmcoKSBvdmVybG9hZCB0YWtpbmcgYSBkb3Vi
bGUKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MDY1
NgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0L3dpbi9DaGFuZ2VMb2cKaW5kZXggYWRjODVmZDNlMzNmNGFiMmYyNTBiMjYwOGEzYTVmNGRm
NTU4Y2QxOC4uZWJmMDY4ZWFkYzAzODlhY2ZiZDljNmVlOTk1ZWVkMDM0NDUxZGQ4MCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvd2lu
L0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIyIEBACiAyMDE3LTA0LTA5ICBDaHJpcyBEdW1leiAgPGNk
dW1lekBhcHBsZS5jb20+CiAKKyAgICAgICAgRHJvcCBUaW1lcjo6c3RhcnRPbmVTaG90KCkgb3Zl
cmxvYWQgdGFraW5nIGEgZG91YmxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNzA2NTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBEcm9wIFRpbWVyOjpzdGFydE9uZVNob3QoKSBvdmVybG9hZCB0YWtpbmcg
YSBkb3VibGUgYXMgcGVvcGxlIHNob3VsZCB1c2UgU2Vjb25kcyB0eXBlIG5vdy4KKworICAgICAg
ICAqIFBsdWdpbnMvUGx1Z2luTWVzc2FnZVRocm90dGxlcldpbi5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpQbHVnaW5NZXNzYWdlVGhyb3R0bGVyV2luOjphcHBlbmRNZXNzYWdlKToKKyAgICAgICAg
KFdlYkNvcmU6OlBsdWdpbk1lc3NhZ2VUaHJvdHRsZXJXaW46Om1lc3NhZ2VUaHJvdHRsZVRpbWVy
RmlyZWQpOgorICAgICAgICAqIFBsdWdpbnMvUGx1Z2luVmlld1dpbi5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpQbHVnaW5WaWV3OjppbnZhbGlkYXRlUmVjdCk6CisgICAgICAgICogV2ViQ29yZVN1
cHBvcnQvQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQuY3BwOgorICAgICAgICAoQWNjZWxl
cmF0ZWRDb21wb3NpdGluZ0NvbnRleHQ6OnNjaGVkdWxlTGF5ZXJGbHVzaCk6CisKKzIwMTctMDQt
MDkgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKwogICAgICAgICBEcm9wIFRpbWVy
OjpzdGFydFJlcGVhdGluZygpIG92ZXJsb2FkIHRha2luZyBhIGRvdWJsZQogICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcwNjU2CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRl
eCBjMmYwZTUwZTkwODk3OTY0NjdiYjYzYTY4ZjM0ZWQ5ZWQ0ZjI3NDk2Li4wZGQ5MjIyMWFkYjEx
YTdlNmQyZjU1NzMzOWNhYTJiZTUyZGY3ODNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsNjUgQEAK
IDIwMTctMDQtMDkgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAorICAgICAgICBE
cm9wIFRpbWVyOjpzdGFydE9uZVNob3QoKSBvdmVybG9hZCB0YWtpbmcgYSBkb3VibGUKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MDY1OQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERyb3AgVGltZXI6OnN0
YXJ0T25lU2hvdCgpIG92ZXJsb2FkIHRha2luZyBhIGRvdWJsZSBhcyBwZW9wbGUgc2hvdWxkIHVz
ZSBTZWNvbmRzIHR5cGUgbm93LgorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvUGluZ0xvYWQu
aDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9zb3VwL05ldHdvcmtEYXRhVGFza1NvdXAuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrRGF0YVRhc2tTb3VwOjpzdGFydFRpbWVvdXQpOgor
ICAgICAgICAqIFBsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmg6CisgICAgICAgICogUGxhdGZvcm0v
SVBDL21hYy9Db25uZWN0aW9uTWFjLm1tOgorICAgICAgICAoSVBDOjpDb25uZWN0aW9uVGVybWlu
YXRpb25XYXRjaGRvZzo6Y3JlYXRlQ29ubmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hkb2cpOgorICAg
ICAgICAoSVBDOjpDb25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZzo6Q29ubmVjdGlvblRlcm1p
bmF0aW9uV2F0Y2hkb2cpOgorICAgICAgICAoSVBDOjpDb25uZWN0aW9uOjp0ZXJtaW5hdGVTb29u
KToKKyAgICAgICAgKiBQbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3MuY3BwOgorICAgICAgICAo
V2ViS2l0OjpQbHVnaW5Qcm9jZXNzOjpzZXRNaW5pbXVtTGlmZXRpbWUpOgorICAgICAgICAqIFBs
dWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5oOgorICAgICAgICAqIFNoYXJlZC9DaGlsZFByb2Nl
c3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpDaGlsZFByb2Nlc3M6OkNoaWxkUHJvY2Vzcyk6Cisg
ICAgICAgICogU2hhcmVkL0NoaWxkUHJvY2Vzcy5oOgorICAgICAgICAoV2ViS2l0OjpDaGlsZFBy
b2Nlc3M6OnNldFRlcm1pbmF0aW9uVGltZW91dCk6CisgICAgICAgICogU2hhcmVkL0Nvb3JkaW5h
dGVkR3JhcGhpY3MvdGhyZWFkZWRjb21wb3NpdG9yL0NvbXBvc2l0aW5nUnVuTG9vcC5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OkNvbXBvc2l0aW5nUnVuTG9vcDo6c3RhcnRVcGRhdGVUaW1lcik6Cisg
ICAgICAgICogU2hhcmVkL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5o
OgorICAgICAgICAqIFNoYXJlZC9XZWJNZW1vcnlTYW1wbGVyLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6V2ViTWVtb3J5U2FtcGxlcjo6aW5pdGlhbGl6ZVRpbWVycyk6CisgICAgICAgICogU2hhcmVk
L1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L0NvY29hL0FQSVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUNvY29hLm1tOgorICAgICAgICAoQVBJOjpT
aGFyZWRKU0NvbnRleHQ6OmVuc3VyZUNvbnRleHQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9DaGls
ZFByb2Nlc3NQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OkNoaWxkUHJvY2Vzc1Byb3h5Ojpz
aHV0RG93blByb2Nlc3MpOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9OYXZpZ2F0aW9uU3Rh
dGUubW06CisgICAgICAgIChXZWJLaXQ6Ok5hdmlnYXRpb25TdGF0ZTo6ZGlkQ2hhbmdlSXNMb2Fk
aW5nKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvVmlld0dlc3R1cmVDb250cm9sbGVyLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6Vmlld0dlc3R1cmVDb250cm9sbGVyOjpTbmFwc2hvdFJlbW92
YWxUcmFja2VyOjpzdGFydFdhdGNoZG9nKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvVmll
d0dlc3R1cmVDb250cm9sbGVyLmg6CisgICAgICAgICogVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJv
eHlJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6RHJhd2luZ0FyZWFQcm94eUltcGw6OmRpc2Nh
cmRCYWNraW5nU3RvcmVTb29uKToKKyAgICAgICAgKFdlYktpdDo6RHJhd2luZ0FyZWFQcm94eUlt
cGw6OkRyYXdpbmdNb25pdG9yOjpzdGFydCk6CisgICAgICAgIChXZWJLaXQ6OkRyYXdpbmdBcmVh
UHJveHlJbXBsOjpEcmF3aW5nTW9uaXRvcjo6ZGlkRHJhdyk6CisgICAgICAgICogVUlQcm9jZXNz
L0dhbWVwYWQvVUlHYW1lcGFkUHJvdmlkZXIuY3BwOgorICAgICAgICAqIFVJUHJvY2Vzcy9QbHVn
aW5zL1BsdWdpblByb2Nlc3NQcm94eS5jcHA6CisgICAgICAgICogVUlQcm9jZXNzL1Byb2Nlc3NU
aHJvdHRsZXIuY3BwOgorICAgICAgICAqIFVJUHJvY2Vzcy9SZXNwb25zaXZlbmVzc1RpbWVyLmNw
cDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQcm9jZXNzUG9vbDo6Y3JlYXRlTmV3V2ViUHJvY2Vzcyk6CisgICAgICAgICogVUlQ
cm9jZXNzL2d0ay9HZXN0dXJlQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJLaXQ6Okdlc3R1
cmVDb250cm9sbGVyOjpEcmFnR2VzdHVyZTo6YmVnaW4pOgorICAgICAgICAqIFVJUHJvY2Vzcy9t
YWMvV2ViSW5zcGVjdG9yUHJveHlNYWMubW06CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdl
L0FjY2VsZXJhdGVkRHJhd2luZ0FyZWEuY3BwOgorICAgICAgICAoV2ViS2l0OjpBY2NlbGVyYXRl
ZERyYXdpbmdBcmVhOjpleGl0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGVOb3cpOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5
ZXJUcmVlSG9zdC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9z
dDo6c2NoZWR1bGVBbmltYXRpb24pOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6ZGV0ZXJtaW5lUHJpbWFyeVNuYXBz
aG90dGVkUGx1Z0luKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwOgorCisy
MDE3LTA0LTA5ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKICAgICAgICAgRHJv
cCBUaW1lcjo6c3RhcnRSZXBlYXRpbmcoKSBvdmVybG9hZCB0YWtpbmcgYSBkb3VibGUKICAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MDY1NgogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dlb2xvY2F0aW9uL0dlb05vdGlmaWVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvTm90aWZpZXIuY3BwCmlu
ZGV4IDc0YTk2Y2UxZDJiYTgwMjdjNWRlNjFiZmQyMGY0YjI4NGZkMjg3YjIuLjg2OTUwMmYwMGQ0
ZDVkNjBhOTZjZmI3NmY3OTVhYjZhZDJiMDI2YzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvTm90aWZpZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvTm90aWZpZXIuY3BwCkBAIC04Nyw3ICs4Nyw3IEBAIHZv
aWQgR2VvTm90aWZpZXI6OnJ1bkVycm9yQ2FsbGJhY2soUG9zaXRpb25FcnJvciogZXJyb3IpCiAK
IHZvaWQgR2VvTm90aWZpZXI6OnN0YXJ0VGltZXJJZk5lZWRlZCgpCiB7Ci0gICAgbV90aW1lci5z
dGFydE9uZVNob3QobV9vcHRpb25zLnRpbWVvdXQgLyAxMDAwLjApOworICAgIG1fdGltZXIuc3Rh
cnRPbmVTaG90KDFfbXMgKiBtX29wdGlvbnMudGltZW91dCk7CiB9CiAKIHZvaWQgR2VvTm90aWZp
ZXI6OnN0b3BUaW1lcigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c2Vzc2lvbi9XZWJNZWRpYVNlc3Npb25NYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwCmluZGV4IDdhMzM2OWYx
MGU1MzBlNGRjODdlNzE3ZDU2NzVmNzA5MTEzYjgwZTkuLjQxNjZlNGU4OWZiZGQ2ZjJhMmE3MGNl
ZWViNzQ3ZTU3MDNjZmZjYTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwCkBAIC0zNiw3
ICszNiw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIGNvbnN0IGRvdWJsZSB0
YXNrRGVsYXlJbnRlcnZhbCA9IDEuMCAvIDEwLjA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyB0YXNr
RGVsYXlJbnRlcnZhbCB7IDEwMF9tcyB9OwogCiBzdHJ1Y3QgQ2xpZW50U3RhdGUgewogICAgIGV4
cGxpY2l0IENsaWVudFN0YXRlKFdlYk1lZGlhU2Vzc2lvbk1hbmFnZXJDbGllbnQmIGNsaWVudCwg
dWludDY0X3QgY29udGV4dElkKQpAQCAtNDIzLDggKzQyMyw4IEBAIHNpemVfdCBXZWJNZWRpYVNl
c3Npb25NYW5hZ2VyOjpmaW5kKFdlYk1lZGlhU2Vzc2lvbk1hbmFnZXJDbGllbnQqIGNsaWVudCwg
dWludDY0CiAKIHZvaWQgV2ViTWVkaWFTZXNzaW9uTWFuYWdlcjo6Y29uZmlndXJlV2F0Y2hkb2dU
aW1lcigpCiB7Ci0gICAgc3RhdGljIGNvbnN0IGRvdWJsZSB3YXRjaGRvZ1RpbWVySW50ZXJ2YWxB
ZnRlclBhdXNpbmcgPSA2MCAqIDYwOwotICAgIHN0YXRpYyBjb25zdCBkb3VibGUgd2F0Y2hkb2dU
aW1lckludGVydmFsQWZ0ZXJQbGF5aW5nVG9FbmQgPSA4ICogNjA7CisgICAgc3RhdGljIGNvbnN0
IFNlY29uZHMgd2F0Y2hkb2dUaW1lckludGVydmFsQWZ0ZXJQYXVzaW5nIHsgMV9oIH07CisgICAg
c3RhdGljIGNvbnN0IFNlY29uZHMgd2F0Y2hkb2dUaW1lckludGVydmFsQWZ0ZXJQbGF5aW5nVG9F
bmQgeyA4X21pbiB9OwogCiAgICAgaWYgKCFtX3BsYXliYWNrVGFyZ2V0IHx8ICFtX3BsYXliYWNr
VGFyZ2V0LT5oYXNBY3RpdmVSb3V0ZSgpKSB7CiAgICAgICAgIG1fd2F0Y2hkb2dUaW1lci5zdG9w
KCk7CkBAIC00NDIsMTEgKzQ0MiwxMSBAQCB2b2lkIFdlYk1lZGlhU2Vzc2lvbk1hbmFnZXI6OmNv
bmZpZ3VyZVdhdGNoZG9nVGltZXIoKQogICAgIH0KIAogICAgIGlmIChzdG9wVGltZXIpIHsKLSAg
ICAgICAgbV9jdXJyZW50V2F0Y2hkb2dJbnRlcnZhbCA9IDA7CisgICAgICAgIG1fY3VycmVudFdh
dGNoZG9nSW50ZXJ2YWwgPSB7IH07CiAgICAgICAgIG1fd2F0Y2hkb2dUaW1lci5zdG9wKCk7CiAg
ICAgICAgIExPRyhNZWRpYSwgIldlYk1lZGlhU2Vzc2lvbk1hbmFnZXI6OmNvbmZpZ3VyZVdhdGNo
ZG9nVGltZXIgLSB0aW1lciBzdG9wcGVkIik7CiAgICAgfSBlbHNlIHsKLSAgICAgICAgZG91Ymxl
IGludGVydmFsID0gZGlkUGxheVRvRW5kID8gd2F0Y2hkb2dUaW1lckludGVydmFsQWZ0ZXJQbGF5
aW5nVG9FbmQgOiB3YXRjaGRvZ1RpbWVySW50ZXJ2YWxBZnRlclBhdXNpbmc7CisgICAgICAgIFNl
Y29uZHMgaW50ZXJ2YWwgPSBkaWRQbGF5VG9FbmQgPyB3YXRjaGRvZ1RpbWVySW50ZXJ2YWxBZnRl
clBsYXlpbmdUb0VuZCA6IHdhdGNoZG9nVGltZXJJbnRlcnZhbEFmdGVyUGF1c2luZzsKICAgICAg
ICAgaWYgKGludGVydmFsICE9IG1fY3VycmVudFdhdGNoZG9nSW50ZXJ2YWwgfHwgIW1fd2F0Y2hk
b2dUaW1lci5pc0FjdGl2ZSgpKSB7CiAgICAgICAgICAgICBtX3dhdGNoZG9nVGltZXIuc3RhcnRP
bmVTaG90KGludGVydmFsKTsKICAgICAgICAgICAgIExPRyhNZWRpYSwgIldlYk1lZGlhU2Vzc2lv
bk1hbmFnZXI6OmNvbmZpZ3VyZVdhdGNoZG9nVGltZXIgLSB0aW1lciBzY2hlZHVsZWQgZm9yICUu
MGYiLCBpbnRlcnZhbCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c2Vzc2lvbi9XZWJNZWRpYVNlc3Npb25NYW5hZ2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc2Vzc2lvbi9XZWJNZWRpYVNlc3Npb25NYW5hZ2VyLmgKaW5kZXggNTdkNThlZjkxNGNi
MjNmMTk0MDFjY2NmZWMzOGVjZTM4ZWFlYTYwOS4uMjk1MDllMjhjNGFmYTU0YzZkNDZhMTNhZDNj
MWYxMWIxNmMxYTM2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNl
c3Npb24vV2ViTWVkaWFTZXNzaW9uTWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuaApAQCAtMTAyLDcgKzEwMiw3
IEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPE1lZGlhUGxheWJhY2tUYXJnZXQ+IG1fcGxheWJhY2tU
YXJnZXQ7CiAgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6Ok1lZGlhUGxheWJhY2tUYXJnZXRQ
aWNrZXJNb2NrPiBtX3BpY2tlck92ZXJyaWRlOwogICAgIENvbmZpZ3VyYXRpb25UYXNrcyBtX3Rh
c2tGbGFncyB7IE5vVGFzayB9OwotICAgIGRvdWJsZSBtX2N1cnJlbnRXYXRjaGRvZ0ludGVydmFs
IHsgMCB9OworICAgIFNlY29uZHMgbV9jdXJyZW50V2F0Y2hkb2dJbnRlcnZhbDsKICAgICBib29s
IG1fZXh0ZXJuYWxPdXRwdXREZXZpY2VBdmFpbGFibGUgeyBmYWxzZSB9OwogICAgIGJvb2wgbV90
YXJnZXRDaGFuZ2VkIHsgZmFsc2UgfTsKICAgICBib29sIG1fbW9ja1BpY2tlckVuYWJsZWQgeyBm
YWxzZSB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9D
YW52YXNDYXB0dXJlTWVkaWFTdHJlYW1UcmFjay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL0NhbnZhc0NhcHR1cmVNZWRpYVN0cmVhbVRyYWNrLmNwcAppbmRleCBkYjRj
NDA0MWM5NjczOTY4MDY5YjllM2ZjYjdkNWQ2ZWM1NTg3NDYwLi4zZjdiMmMxODhiNTk5ODBhMmQ1
Y2ZiYTg3NmU5NGI5MTg3MjBhOGRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL0NhbnZhc0NhcHR1cmVNZWRpYVN0cmVhbVRyYWNrLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL0NhbnZhc0NhcHR1cmVNZWRpYVN0cmVhbVRy
YWNrLmNwcApAQCAtMTQzLDcgKzE0Myw3IEBAIHZvaWQgQ2FudmFzQ2FwdHVyZU1lZGlhU3RyZWFt
VHJhY2s6OlNvdXJjZTo6Y2FudmFzQ2hhbmdlZChIVE1MQ2FudmFzRWxlbWVudCYgY2FuCiAgICAg
Ly8gRklYTUU6IFdlIHNob3VsZCB0cnkgdG8gZ2VuZXJhdGUgdGhlIGZyYW1lIGF0IHRoZSB0aW1l
IHRoZSBzY3JlZW4gaXMgYmVpbmcgdXBkYXRlZC4KICAgICBpZiAobV9jYW52YXNDaGFuZ2VkVGlt
ZXIuaXNBY3RpdmUoKSkKICAgICAgICAgcmV0dXJuOwotICAgIG1fY2FudmFzQ2hhbmdlZFRpbWVy
LnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2NhbnZhc0NoYW5nZWRUaW1lci5zdGFydE9uZVNob3Qo
MF9zKTsKIH0KIAogdm9pZCBDYW52YXNDYXB0dXJlTWVkaWFTdHJlYW1UcmFjazo6U291cmNlOjpj
YXB0dXJlQ2FudmFzKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvdmlicmF0
aW9uL1ZpYnJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3ZpYnJhdGlvbi9WaWJy
YXRpb24uY3BwCmluZGV4IGMxNTIyYjM5MjIwYjRhOGYxMmJkMzIxNjdlOGQxMTIyN2VlMWRkYTcu
LjA1MTgwNzNlMTA5ZjQ2MThjNGFmOWRlMWYyNTEzYWY0NjY2ZGFiZjAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvdmlicmF0aW9uL1ZpYnJhdGlvbi5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy92aWJyYXRpb24vVmlicmF0aW9uLmNwcApAQCAtMTEwLDcgKzExMCw3
IEBAIHZvaWQgVmlicmF0aW9uOjp0aW1lckZpcmVkKCkKICAgICAgICAgbV92aWJyYXRpb25DbGll
bnQtPnZpYnJhdGUobV9wYXR0ZXJuWzBdKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQotICAgIG1f
dGltZXIuc3RhcnRPbmVTaG90KG1fcGF0dGVyblswXSAvIDEwMDAuMCk7CisgICAgbV90aW1lci5z
dGFydE9uZVNob3QoMV9tcyAqIG1fcGF0dGVyblswXSk7CiAgICAgbV9wYXR0ZXJuLnJlbW92ZSgw
KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dl
YlNvY2tldENoYW5uZWwuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dl
YlNvY2tldENoYW5uZWwuY3BwCmluZGV4IGM1Y2IxMjRlMjIzZDI4NmZiYjZmMDJjZTcwMTA0MDI4
NTI2OWUxNWUuLjYxZDNjY2RkNzE1ZGY4NjM5MDQ5NWNiM2RlZGYyYTgwN2U2MTJkMjIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVs
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hh
bm5lbC5jcHAKQEAgLTYxLDcgKzYxLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jb25z
dCBkb3VibGUgVENQTWF4aW11bVNlZ21lbnRMaWZldGltZSA9IDIgKiA2MC4wOworY29uc3QgU2Vj
b25kcyBUQ1BNYXhpbXVtU2VnbWVudExpZmV0aW1lIHsgMl9taW4gfTsKIAogV2ViU29ja2V0Q2hh
bm5lbDo6V2ViU29ja2V0Q2hhbm5lbChEb2N1bWVudCYgZG9jdW1lbnQsIFdlYlNvY2tldENoYW5u
ZWxDbGllbnQmIGNsaWVudCwgU29ja2V0UHJvdmlkZXImIHByb3ZpZGVyKQogICAgIDogbV9kb2N1
bWVudCgmZG9jdW1lbnQpCkBAIC0yMDcsNyArMjA3LDcgQEAgdm9pZCBXZWJTb2NrZXRDaGFubmVs
OjpjbG9zZShpbnQgY29kZSwgY29uc3QgU3RyaW5nJiByZWFzb24pCiAgICAgUmVmPFdlYlNvY2tl
dENoYW5uZWw+IHByb3RlY3RlZFRoaXMoKnRoaXMpOyAvLyBBbiBhdHRlbXB0IHRvIHNlbmQgY2xv
c2luZyBoYW5kc2hha2UgbWF5IGZhaWwsIHdoaWNoIHdpbGwgZ2V0IHRoZSBjaGFubmVsIGNsb3Nl
ZCBhbmQgZGVyZWZlcmVuY2VkLgogICAgIHN0YXJ0Q2xvc2luZ0hhbmRzaGFrZShjb2RlLCByZWFz
b24pOwogICAgIGlmIChtX2Nsb3NpbmcgJiYgIW1fY2xvc2luZ1RpbWVyLmlzQWN0aXZlKCkpCi0g
ICAgICAgIG1fY2xvc2luZ1RpbWVyLnN0YXJ0T25lU2hvdCgyICogVENQTWF4aW11bVNlZ21lbnRM
aWZldGltZSk7CisgICAgICAgIG1fY2xvc2luZ1RpbWVyLnN0YXJ0T25lU2hvdChUQ1BNYXhpbXVt
U2VnbWVudExpZmV0aW1lICogMik7CiB9CiAKIHZvaWQgV2ViU29ja2V0Q2hhbm5lbDo6ZmFpbChj
b25zdCBTdHJpbmcmIHJlYXNvbikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvQVhPYmplY3RDYWNoZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FY
T2JqZWN0Q2FjaGUuY3BwCmluZGV4IDEyNTQwNTAxNGU3NjBiYzJiOWU3OWRiODE5N2ExZTBlZTc1
ZDAyZjcuLmYwNmRmNzQwMGFjYTU2ZTA4ZTE4MzJhNGFlYTBmYzU2ZDU0NTRjNDIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcApAQCAtMTEwLDkg
KzExMCw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7
CiAKIC8vIFBvc3QgdmFsdWUgY2hhbmdlIG5vdGlmaWNhdGlvbnMgZm9yIHBhc3N3b3JkIGZpZWxk
cyBvciBlbGVtZW50cyBjb250YWluZWQgaW4gcGFzc3dvcmQgZmllbGRzIGF0IGEgNDBoeiBpbnRl
cnZhbCB0byB0aHdhcnQgYW5hbHlzaXMgb2YgdHlwaW5nIGNhZGVuY2UKLXN0YXRpYyBkb3VibGUg
QWNjZXNzaWJpbGl0eVBhc3N3b3JkVmFsdWVDaGFuZ2VOb3RpZmljYXRpb25JbnRlcnZhbCA9IDAu
MDI1Owotc3RhdGljIGRvdWJsZSBBY2Nlc3NpYmlsaXR5TGl2ZVJlZ2lvbkNoYW5nZWROb3RpZmlj
YXRpb25JbnRlcnZhbCA9IDAuMDIwOwotc3RhdGljIGRvdWJsZSBBY2Nlc3NpYmlsaXR5Rm9jdXNB
cmlhTW9kYWxOb2RlTm90aWZpY2F0aW9uSW50ZXJ2YWwgPSAwLjA1MDsKK3N0YXRpYyBjb25zdCBT
ZWNvbmRzIGFjY2Vzc2liaWxpdHlQYXNzd29yZFZhbHVlQ2hhbmdlTm90aWZpY2F0aW9uSW50ZXJ2
YWwgeyAyNV9tcyB9Oworc3RhdGljIGNvbnN0IFNlY29uZHMgYWNjZXNzaWJpbGl0eUxpdmVSZWdp
b25DaGFuZ2VkTm90aWZpY2F0aW9uSW50ZXJ2YWwgeyAyMF9tcyB9Oworc3RhdGljIGNvbnN0IFNl
Y29uZHMgYWNjZXNzaWJpbGl0eUZvY3VzQXJpYU1vZGFsTm9kZU5vdGlmaWNhdGlvbkludGVydmFs
IHsgNTBfbXMgfTsKIAogQWNjZXNzaWJpbGl0eU9iamVjdEluY2x1c2lvbiBBWENvbXB1dGVkT2Jq
ZWN0QXR0cmlidXRlQ2FjaGU6OmdldElnbm9yZWQoQVhJRCBpZCkgY29uc3QKIHsKQEAgLTEzMTEs
NyArMTMxMSw3IEBAIGJvb2wgQVhPYmplY3RDYWNoZTo6ZW5xdWV1ZVBhc3N3b3JkVmFsdWVDaGFu
Z2VOb3RpZmljYXRpb24oQWNjZXNzaWJpbGl0eU9iamVjdCoKIAogICAgIG1fcGFzc3dvcmROb3Rp
ZmljYXRpb25zVG9Qb3N0LmFkZChvYnNlcnZhYmxlT2JqZWN0KTsKICAgICBpZiAoIW1fcGFzc3dv
cmROb3RpZmljYXRpb25Qb3N0VGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9wYXNzd29yZE5v
dGlmaWNhdGlvblBvc3RUaW1lci5zdGFydE9uZVNob3QoQWNjZXNzaWJpbGl0eVBhc3N3b3JkVmFs
dWVDaGFuZ2VOb3RpZmljYXRpb25JbnRlcnZhbCk7CisgICAgICAgIG1fcGFzc3dvcmROb3RpZmlj
YXRpb25Qb3N0VGltZXIuc3RhcnRPbmVTaG90KGFjY2Vzc2liaWxpdHlQYXNzd29yZFZhbHVlQ2hh
bmdlTm90aWZpY2F0aW9uSW50ZXJ2YWwpOwogCiAgICAgcmV0dXJuIHRydWU7CiB9CkBAIC0xMzM4
LDcgKzEzMzgsNyBAQCB2b2lkIEFYT2JqZWN0Q2FjaGU6OnBvc3RMaXZlUmVnaW9uQ2hhbmdlTm90
aWZpY2F0aW9uKEFjY2Vzc2liaWxpdHlPYmplY3QqIG9iamVjdAogICAgIGlmICghbV9saXZlUmVn
aW9uT2JqZWN0c1NldC5jb250YWlucyhvYmplY3QpKQogICAgICAgICBtX2xpdmVSZWdpb25PYmpl
Y3RzU2V0LmFkZChvYmplY3QpOwogCi0gICAgbV9saXZlUmVnaW9uQ2hhbmdlZFBvc3RUaW1lci5z
dGFydE9uZVNob3QoQWNjZXNzaWJpbGl0eUxpdmVSZWdpb25DaGFuZ2VkTm90aWZpY2F0aW9uSW50
ZXJ2YWwpOworICAgIG1fbGl2ZVJlZ2lvbkNoYW5nZWRQb3N0VGltZXIuc3RhcnRPbmVTaG90KGFj
Y2Vzc2liaWxpdHlMaXZlUmVnaW9uQ2hhbmdlZE5vdGlmaWNhdGlvbkludGVydmFsKTsKIH0KIAog
dm9pZCBBWE9iamVjdENhY2hlOjpsaXZlUmVnaW9uQ2hhbmdlZE5vdGlmaWNhdGlvblBvc3RUaW1l
ckZpcmVkKCkKQEAgLTEzNzIsNyArMTM3Miw3IEBAIHZvaWQgQVhPYmplY3RDYWNoZTo6Zm9jdXNB
cmlhTW9kYWxOb2RlKCkKICAgICBpZiAobV9mb2N1c0FyaWFNb2RhbE5vZGVUaW1lci5pc0FjdGl2
ZSgpKQogICAgICAgICBtX2ZvY3VzQXJpYU1vZGFsTm9kZVRpbWVyLnN0b3AoKTsKICAgICAKLSAg
ICBtX2ZvY3VzQXJpYU1vZGFsTm9kZVRpbWVyLnN0YXJ0T25lU2hvdChBY2Nlc3NpYmlsaXR5Rm9j
dXNBcmlhTW9kYWxOb2RlTm90aWZpY2F0aW9uSW50ZXJ2YWwpOworICAgIG1fZm9jdXNBcmlhTW9k
YWxOb2RlVGltZXIuc3RhcnRPbmVTaG90KGFjY2Vzc2liaWxpdHlGb2N1c0FyaWFNb2RhbE5vZGVO
b3RpZmljYXRpb25JbnRlcnZhbCk7CiB9CiAKIHZvaWQgQVhPYmplY3RDYWNoZTo6Zm9jdXNBcmlh
TW9kYWxOb2RlVGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
Rm9udEZhY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlLmNwcAppbmRleCAz
NGJkYmVlYWViN2Q2MzFlNDI4Zjk2YmU0MDNlMWI3MzQ2ZTgyODQ4Li5iZjkyMGY4ZDcxNDQxM2U3
YjdlNmFlYjVjM2M3ZWI1OTJkNGQ2MzA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTRm9udEZhY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZS5jcHAK
QEAgLTUyNyw3ICs1MjcsNyBAQCB2b2lkIENTU0ZvbnRGYWNlOjpzZXRTdGF0dXMoU3RhdHVzIG5l
d1N0YXR1cykKICAgICB9CiAKICAgICBpZiAobmV3U3RhdHVzID09IFN0YXR1czo6TG9hZGluZykK
LSAgICAgICAgbV90aW1lb3V0VGltZXIuc3RhcnRPbmVTaG90KHdlYkZvbnRzU2hvdWxkQWx3YXlz
RmFsbEJhY2soKSA/IDAgOiAzKTsKKyAgICAgICAgbV90aW1lb3V0VGltZXIuc3RhcnRPbmVTaG90
KHdlYkZvbnRzU2hvdWxkQWx3YXlzRmFsbEJhY2soKSA/IDBfcyA6IDNfcyk7CiAgICAgZWxzZSBp
ZiAobmV3U3RhdHVzID09IFN0YXR1czo6U3VjY2VzcyB8fCBuZXdTdGF0dXMgPT0gU3RhdHVzOjpG
YWlsdXJlKQogICAgICAgICBtX3RpbWVvdXRUaW1lci5zdG9wKCk7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9T
dHlsZVJlc29sdmVyLmNwcAppbmRleCBhZTdmOTc2YzZiNjhhNzMyZWVhYTQ5YjYwOTk4Y2MxNjdj
Nzg2NWEwLi40YWExMmQ3YTMyMjc1NGM3N2QyMjlhOGU1NTVlYmJjMTQxMmNmMWYzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwCkBAIC0xMzUsNiArMTM1LDcgQEAKICNpbmNsdWRl
ICJXZWJLaXRDU1NSZWdpb25SdWxlLmgiCiAjaW5jbHVkZSAiV2ViS2l0Rm9udEZhbWlseU5hbWVz
LmgiCiAjaW5jbHVkZSA8Yml0c2V0PgorI2luY2x1ZGUgPHd0Zi9TZWNvbmRzLmg+CiAjaW5jbHVk
ZSA8d3RmL1NldEZvclNjb3BlLmg+CiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogI2lu
Y2x1ZGUgPHd0Zi9WZWN0b3IuaD4KQEAgLTEyNTEsOCArMTI1Miw4IEBAIHZvaWQgU3R5bGVSZXNv
bHZlcjo6YWRkVG9NYXRjaGVkUHJvcGVydGllc0NhY2hlKGNvbnN0IFJlbmRlclN0eWxlKiBzdHls
ZSwgY29uc3QKICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgbWF0Y2hlZERlY2xhcmF0aW9uQ2Fj
aGVBZGRpdGlvbnNCZXR3ZWVuU3dlZXBzID0gMTAwOwogICAgIGlmICgrK21fbWF0Y2hlZFByb3Bl
cnRpZXNDYWNoZUFkZGl0aW9uc1NpbmNlTGFzdFN3ZWVwID49IG1hdGNoZWREZWNsYXJhdGlvbkNh
Y2hlQWRkaXRpb25zQmV0d2VlblN3ZWVwcwogICAgICAgICAmJiAhbV9tYXRjaGVkUHJvcGVydGll
c0NhY2hlU3dlZXBUaW1lci5pc0FjdGl2ZSgpKSB7Ci0gICAgICAgIHN0YXRpYyBjb25zdCB1bnNp
Z25lZCBtYXRjaGVkRGVjbGFyYXRpb25DYWNoZVN3ZWVwVGltZUluU2Vjb25kcyA9IDYwOwotICAg
ICAgICBtX21hdGNoZWRQcm9wZXJ0aWVzQ2FjaGVTd2VlcFRpbWVyLnN0YXJ0T25lU2hvdChtYXRj
aGVkRGVjbGFyYXRpb25DYWNoZVN3ZWVwVGltZUluU2Vjb25kcyk7CisgICAgICAgIHN0YXRpYyBj
b25zdCBTZWNvbmRzIG1hdGNoZWREZWNsYXJhdGlvbkNhY2hlU3dlZXBUaW1lIHsgMV9taW4gfTsK
KyAgICAgICAgbV9tYXRjaGVkUHJvcGVydGllc0NhY2hlU3dlZXBUaW1lci5zdGFydE9uZVNob3Qo
bWF0Y2hlZERlY2xhcmF0aW9uQ2FjaGVTd2VlcFRpbWUpOwogICAgIH0KIAogICAgIEFTU0VSVCho
YXNoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IDBlNzM5ZTNjNjYyZGRlMGU5ZWUwYmQx
OTVmY2RmY2I2YzQyMWRjOTEuLjNlMGQ4NGU4MDU2ZWEyMzllNGZlZDZkNTVhZThkMDRhNzYwZjkz
MDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtMTE5OSw3ICsxMTk5LDcgQEAgdm9pZCBE
b2N1bWVudDo6c2V0VmlzdWFsVXBkYXRlc0FsbG93ZWQoYm9vbCB2aXN1YWxVcGRhdGVzQWxsb3dl
ZCkKICAgICBpZiAodmlzdWFsVXBkYXRlc0FsbG93ZWQpCiAgICAgICAgIG1fdmlzdWFsVXBkYXRl
c1N1cHByZXNzaW9uVGltZXIuc3RvcCgpOwogICAgIGVsc2UKLSAgICAgICAgbV92aXN1YWxVcGRh
dGVzU3VwcHJlc3Npb25UaW1lci5zdGFydE9uZVNob3Qoc2V0dGluZ3MoKS5pbmNyZW1lbnRhbFJl
bmRlcmluZ1N1cHByZXNzaW9uVGltZW91dEluU2Vjb25kcygpKTsKKyAgICAgICAgbV92aXN1YWxV
cGRhdGVzU3VwcHJlc3Npb25UaW1lci5zdGFydE9uZVNob3QoMV9zICogc2V0dGluZ3MoKS5pbmNy
ZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNzaW9uVGltZW91dEluU2Vjb25kcygpKTsKIAogICAgIGlm
ICghdmlzdWFsVXBkYXRlc0FsbG93ZWQpCiAgICAgICAgIHJldHVybjsKQEAgLTUwMDQsOCArNTAw
NCw4IEBAIHZvaWQgRG9jdW1lbnQ6OmZpbmlzaGVkUGFyc2luZygpCiAgICAgLy8gc28gdGhhdCBk
eW5hbWljYWxseSBpbnNlcnRlZCBjb250ZW50IGNhbiBhbHNvIGJlbmVmaXQgZnJvbSBzaGFyaW5n
IG9wdGltaXphdGlvbnMuCiAgICAgLy8gTm90ZSB0aGF0IHdlIGRvbid0IHJlZnJlc2ggdGhlIHRp
bWVyIG9uIHBvb2wgYWNjZXNzIHNpbmNlIHRoYXQgY291bGQgbGVhZCB0byBodWdlIGNhY2hlcyBi
ZWluZyBrZXB0CiAgICAgLy8gYWxpdmUgaW5kZWZpbml0ZWx5IGJ5IHNvbWV0aGluZyBpbm5vY3Vv
dXMgbGlrZSBKUyBzZXR0aW5nIC5pbm5lckhUTUwgcmVwZWF0ZWRseSBvbiBhIHRpbWVyLgotICAg
IHN0YXRpYyBjb25zdCBpbnQgdGltZVRvS2VlcFNoYXJlZE9iamVjdFBvb2xBbGl2ZUFmdGVyUGFy
c2luZ0ZpbmlzaGVkSW5TZWNvbmRzID0gMTA7Ci0gICAgbV9zaGFyZWRPYmplY3RQb29sQ2xlYXJU
aW1lci5zdGFydE9uZVNob3QodGltZVRvS2VlcFNoYXJlZE9iamVjdFBvb2xBbGl2ZUFmdGVyUGFy
c2luZ0ZpbmlzaGVkSW5TZWNvbmRzKTsKKyAgICBzdGF0aWMgY29uc3QgU2Vjb25kcyB0aW1lVG9L
ZWVwU2hhcmVkT2JqZWN0UG9vbEFsaXZlQWZ0ZXJQYXJzaW5nRmluaXNoZWQgeyAxMF9zIH07Cisg
ICAgbV9zaGFyZWRPYmplY3RQb29sQ2xlYXJUaW1lci5zdGFydE9uZVNob3QodGltZVRvS2VlcFNo
YXJlZE9iamVjdFBvb2xBbGl2ZUFmdGVyUGFyc2luZ0ZpbmlzaGVkKTsKIAogICAgIC8vIFBhcnNl
ciBzaG91bGQgaGF2ZSBwaWNrZWQgdXAgYWxsIHNwZWN1bGF0aXZlIHByZWxvYWRzIGJ5IG5vdwog
ICAgIG1fY2FjaGVkUmVzb3VyY2VMb2FkZXItPmNsZWFyUHJlbG9hZHMoQ2FjaGVkUmVzb3VyY2VM
b2FkZXI6OkNsZWFyUHJlbG9hZHNNb2RlOjpDbGVhclNwZWN1bGF0aXZlUHJlbG9hZHMpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyLmNwcApp
bmRleCA5MmUwZGIzNjIyMjU1NTIyMWEzNGYyZGJjNTEwNjRhZjJkNDU2MDg3Li4xYjg1OTFmNmFj
MGIzMjZmZDUxOWI5OTkxOTg5ZjM4YTBlODcxY2JiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyLmNwcApAQCAtNDcsMTAgKzQ3LDEwIEBA
CiAjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+CiAKIC8vIEFsbG93IGEgbGl0dGxlIG1vcmUg
dGhhbiA2MGZwcyB0byBtYWtlIHN1cmUgd2UgY2FuIGF0IGxlYXN0IGhpdCB0aGF0IGZyYW1lIHJh
dGUuCi1zdGF0aWMgY29uc3QgU2Vjb25kcyBmdWxsU3BlZWRBbmltYXRpb25JbnRlcnZhbCB7IDAu
MDE1IH07CitzdGF0aWMgY29uc3QgU2Vjb25kcyBmdWxsU3BlZWRBbmltYXRpb25JbnRlcnZhbCB7
IDE1X21zIH07CiAvLyBBbGxvdyBhIGxpdHRsZSBtb3JlIHRoYW4gMzBmcHMgdG8gbWFrZSBzdXJl
IHdlIGNhbiBhdCBsZWFzdCBoaXQgdGhhdCBmcmFtZSByYXRlLgotc3RhdGljIGNvbnN0IFNlY29u
ZHMgaGFsZlNwZWVkVGhyb3R0bGluZ0FuaW1hdGlvbkludGVydmFsIHsgMC4wMzAgfTsKLXN0YXRp
YyBjb25zdCBTZWNvbmRzIGFnZ3Jlc3NpdmVUaHJvdHRsaW5nQW5pbWF0aW9uSW50ZXJ2YWwgeyAx
MCB9Oworc3RhdGljIGNvbnN0IFNlY29uZHMgaGFsZlNwZWVkVGhyb3R0bGluZ0FuaW1hdGlvbklu
dGVydmFsIHsgMzBfbXMgfTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIGFnZ3Jlc3NpdmVUaHJvdHRs
aW5nQW5pbWF0aW9uSW50ZXJ2YWwgeyAxMF9zIH07CiAjZW5kaWYKIAogI2RlZmluZSBSRUxFQVNF
X0xPR19JRl9BTExPV0VEKGZtdCwgLi4uKSBSRUxFQVNFX0xPR19JRihwYWdlKCkgJiYgcGFnZSgp
LT5pc0Fsd2F5c09uTG9nZ2luZ0FsbG93ZWQoKSwgUGVyZm9ybWFuY2VMb2dnaW5nLCAiJXAgLSBT
Y3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXI6OiIgZm10LCB0aGlzLCAjI19fVkFfQVJHU19fKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9BbHRlcm5hdGl2ZVRleHRDb250cm9s
bGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxl
ci5jcHAKaW5kZXggZTI3YmQwZDZmZDJmM2VjNzRkMDBlZDFmMWM2OTY1YzgxYmRlOTczZi4uMDVh
ZmFlNGI5OWM5N2M4ZDJlZjg0ZjAyYjYyYmRiNTJmMzc4Y2FkNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZWRpdGluZy9BbHRlcm5hdGl2ZVRleHRDb250cm9sbGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL0FsdGVybmF0aXZlVGV4dENvbnRyb2xsZXIuY3BwCkBAIC0xNDAs
NyArMTQwLDcgQEAgQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlcjo6fkFsdGVybmF0aXZlVGV4dENv
bnRyb2xsZXIoKQogCiB2b2lkIEFsdGVybmF0aXZlVGV4dENvbnRyb2xsZXI6OnN0YXJ0QWx0ZXJu
YXRpdmVUZXh0VUlUaW1lcihBbHRlcm5hdGl2ZVRleHRUeXBlIHR5cGUpCiB7Ci0gICAgY29uc3Qg
ZG91YmxlIGNvcnJlY3Rpb25QYW5lbFRpbWVySW50ZXJ2YWwgPSAwLjM7CisgICAgY29uc3QgU2Vj
b25kcyBjb3JyZWN0aW9uUGFuZWxUaW1lckludGVydmFsIHsgMzAwX21zIH07CiAgICAgaWYgKCFp
c0F1dG9tYXRpY1NwZWxsaW5nQ29ycmVjdGlvbkVuYWJsZWQoKSkKICAgICAgICAgcmV0dXJuOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAppbmRleCA0ZDYwNDY4MGY1
MzhjZmJkZGU0NjJmOTA0ZmNhNDQwNjgzNDhkOTM1Li45ZmVkNmY3MzY2YmE4YjExM2Y5ZGQ2MmEw
OWVhNTlmYzdhZDE3N2YzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRp
YUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5j
cHAKQEAgLTE2OCw3ICsxNjgsNyBAQCBzdGF0aWMgY29uc3QgZG91YmxlIFNlZWtUaW1lID0gMC4y
Owogc3RhdGljIGNvbnN0IFNlY29uZHMgU2NhblJlcGVhdERlbGF5IHsgMS41X3MgfTsKIHN0YXRp
YyBjb25zdCBkb3VibGUgU2Nhbk1heGltdW1SYXRlID0gODsKIAotc3RhdGljIGNvbnN0IGRvdWJs
ZSBIaWRlTWVkaWFDb250cm9sc0FmdGVyRW5kZWREZWxheSA9IDY7CitzdGF0aWMgY29uc3QgU2Vj
b25kcyBoaWRlTWVkaWFDb250cm9sc0FmdGVyRW5kZWREZWxheSB7IDZfcyB9OwogCiBzdGF0aWMg
dm9pZCBzZXRGbGFncyh1bnNpZ25lZCYgdmFsdWUsIHVuc2lnbmVkIGZsYWdzKQogewpAQCAtNDQ5
Nyw3ICs0NDk3LDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjphZGRCZWhhdmlvclJlc3RyaWN0
aW9uc09uRW5kSWZOZWNlc3NhcnkoKQogCiAgICAgbV9tZWRpYVNlc3Npb24tPmFkZEJlaGF2aW9y
UmVzdHJpY3Rpb24oTWVkaWFFbGVtZW50U2Vzc2lvbjo6UmVxdWlyZVVzZXJHZXN0dXJlVG9Db250
cm9sQ29udHJvbHNNYW5hZ2VyKTsKICAgICBtX3BsYXliYWNrQ29udHJvbHNNYW5hZ2VyQmVoYXZp
b3JSZXN0cmljdGlvbnNUaW1lci5zdG9wKCk7Ci0gICAgbV9wbGF5YmFja0NvbnRyb2xzTWFuYWdl
ckJlaGF2aW9yUmVzdHJpY3Rpb25zVGltZXIuc3RhcnRPbmVTaG90KEhpZGVNZWRpYUNvbnRyb2xz
QWZ0ZXJFbmRlZERlbGF5KTsKKyAgICBtX3BsYXliYWNrQ29udHJvbHNNYW5hZ2VyQmVoYXZpb3JS
ZXN0cmljdGlvbnNUaW1lci5zdGFydE9uZVNob3QoaGlkZU1lZGlhQ29udHJvbHNBZnRlckVuZGVk
RGVsYXkpOwogfQogCiB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OmhhbmRsZVNlZWtUb1BsYXliYWNr
UG9zaXRpb24oZG91YmxlIHBvc2l0aW9uKQpAQCAtNDUwNyw3ICs0NTA3LDcgQEAgdm9pZCBIVE1M
TWVkaWFFbGVtZW50OjpoYW5kbGVTZWVrVG9QbGF5YmFja1Bvc2l0aW9uKGRvdWJsZSBwb3NpdGlv
bikKICAgICAvLyBQbGVhc2Ugc2VlIDxyZGFyOi8vcHJvYmxlbS8yODQ1NzIxOT4gZm9yIG1vcmUg
ZGV0YWlscy4KICAgICBzZWVrKE1lZGlhVGltZTo6Y3JlYXRlV2l0aERvdWJsZShwb3NpdGlvbikp
OwogICAgIG1fc2Vla1RvUGxheWJhY2tQb3NpdGlvbkVuZGVkVGltZXIuc3RvcCgpOwotICAgIG1f
c2Vla1RvUGxheWJhY2tQb3NpdGlvbkVuZGVkVGltZXIuc3RhcnRPbmVTaG90KDAuNSk7CisgICAg
bV9zZWVrVG9QbGF5YmFja1Bvc2l0aW9uRW5kZWRUaW1lci5zdGFydE9uZVNob3QoNTAwX21zKTsK
IAogICAgIGlmICghbV9pc1NjcnViYmluZ1JlbW90ZWx5KSB7CiAgICAgICAgIG1faXNTY3J1YmJp
bmdSZW1vdGVseSA9IHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1NlYXJj
aElucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1NlYXJjaElucHV0VHlwZS5jcHAK
aW5kZXggZjVkMmJiOTU1MzI5MDcxOTgyNjY2ZGI3NThlZWMyYmM3NjZkNTBhNy4uZDgyMzU5ZjE2
ZDM3NjQ1MTczNjk2Y2Q0MGY3YmYwMTAzYmRlODM1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9TZWFyY2hJbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvU2Vh
cmNoSW5wdXRUeXBlLmNwcApAQCAtMTY1LDcgKzE2NSw3IEBAIHZvaWQgU2VhcmNoSW5wdXRUeXBl
OjpzdGFydFNlYXJjaEV2ZW50VGltZXIoKQogCiAgICAgLy8gQWZ0ZXIgdHlwaW5nIHRoZSBmaXJz
dCBrZXksIHdlIHdhaXQgMC41IHNlY29uZHMuCiAgICAgLy8gQWZ0ZXIgdGhlIHNlY29uZCBrZXks
IDAuNCBzZWNvbmRzLCB0aGVuIDAuMywgdGhlbiAwLjIgZnJvbSB0aGVuIG9uLgotICAgIG1fc2Vh
cmNoRXZlbnRUaW1lci5zdGFydE9uZVNob3Qoc3RkOjptYXgoMC4yLCAwLjYgLSAwLjEgKiBsZW5n
dGgpKTsKKyAgICBtX3NlYXJjaEV2ZW50VGltZXIuc3RhcnRPbmVTaG90KHN0ZDo6bWF4KDIwMF9t
cywgNjAwX21zIC0gMTAwX21zICogbGVuZ3RoKSk7CiB9CiAKIHZvaWQgU2VhcmNoSW5wdXRUeXBl
OjpzdG9wU2VhcmNoRXZlbnRUaW1lcigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L1ZhbGlkYXRpb25NZXNzYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRhdGlvbk1l
c3NhZ2UuY3BwCmluZGV4IDQ1MWZjNTkxMDg1MTQ1NzM5NGRjNDQ5NTNkZDg4OWMxMjk0YmU2ZDku
LjQ3MGVhZWRjM2E3NjY4NmQ1YzQwMWEwNTM3ZTgwN2ZhMzhmNTA1ZTQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRhdGlvbk1lc3NhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvVmFsaWRhdGlvbk1lc3NhZ2UuY3BwCkBAIC0xNDQsNyArMTQ0LDcgQEAgdm9pZCBW
YWxpZGF0aW9uTWVzc2FnZTo6c2V0TWVzc2FnZURPTUFuZFN0YXJ0VGltZXIoKQogICAgICAgICBt
X3RpbWVyID0gbnVsbHB0cjsKICAgICBlbHNlIHsKICAgICAgICAgbV90aW1lciA9IHN0ZDo6bWFr
ZV91bmlxdWU8VGltZXI+KCp0aGlzLCAmVmFsaWRhdGlvbk1lc3NhZ2U6OmRlbGV0ZUJ1YmJsZVRy
ZWUpOwotICAgICAgICBtX3RpbWVyLT5zdGFydE9uZVNob3Qoc3RkOjptYXgoNS4wLCBzdGF0aWNf
Y2FzdDxkb3VibGU+KG1fbWVzc2FnZS5sZW5ndGgoKSkgKiBtYWduaWZpY2F0aW9uIC8gMTAwMCkp
OworICAgICAgICBtX3RpbWVyLT5zdGFydE9uZVNob3Qoc3RkOjptYXgoNV9zLCAxX21zICogc3Rh
dGljX2Nhc3Q8ZG91YmxlPihtX21lc3NhZ2UubGVuZ3RoKCkpICogbWFnbmlmaWNhdGlvbikpOwog
ICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xS
ZW5kZXJpbmdDb250ZXh0QmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJH
TFJlbmRlcmluZ0NvbnRleHRCYXNlLmNwcAppbmRleCBiNTEyZmZjMTc2YmQzYTYxODdkMWQzZTRk
NGIwYmQ1YjQ0ZWZjODNlLi5hYmVjNjczMWRiYzUxNzA0ZDY2NGNiMDczZmJhYTkzNzIwZWE5ODFk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0Nv
bnRleHRCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRl
cmluZ0NvbnRleHRCYXNlLmNwcApAQCAtMTAwLDcgKzEwMCw3IEBACiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAotY29uc3QgZG91YmxlIHNlY29uZHNCZXR3ZWVuUmVzdG9yZUF0dGVtcHRzID0gMS4w
Oworc3RhdGljIGNvbnN0IFNlY29uZHMgc2Vjb25kc0JldHdlZW5SZXN0b3JlQXR0ZW1wdHMgeyAx
X3MgfTsKIGNvbnN0IGludCBtYXhHTEVycm9yc0FsbG93ZWRUb0NvbnNvbGUgPSAyNTY7CiBzdGF0
aWMgY29uc3QgU2Vjb25kcyBjaGVja0NvbnRleHRMb3NzSGFuZGxpbmdEZWxheSB7IDNfcyB9Owog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVt
ZW50cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50
cy5jcHAKaW5kZXggN2IxZGY0OWUyY2Y3NjNjYmNlZGI4NTM0ZDY4NWY3ZTNhMzlkZmY5Ny4uNWYz
YjNjMzU3Y2U0YmQ5MzA5NjIzZDc4Y2VmYTkwNTUzMzEwNjkwYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcApAQCAtMTM3LDcg
KzEzNyw3IEBAIHZvaWQgTWVkaWFDb250cm9sUGFuZWxFbGVtZW50OjpzdGFydFRpbWVyKCkKICAg
ICAvLyBUaGUgdGltZXIgaXMgcmVxdWlyZWQgdG8gc2V0IHRoZSBwcm9wZXJ0eSBkaXNwbGF5Oidu
b25lJyBvbiB0aGUgcGFuZWwsCiAgICAgLy8gc3VjaCB0aGF0IGNhcHRpb25zIGFyZSBjb3JyZWN0
bHkgZGlzcGxheWVkIGF0IHRoZSBib3R0b20gb2YgdGhlIHZpZGVvCiAgICAgLy8gYXQgdGhlIGVu
ZCBvZiB0aGUgZmFkZW91dCB0cmFuc2l0aW9uLgotICAgIGRvdWJsZSBkdXJhdGlvbiA9IGRvY3Vt
ZW50KCkucGFnZSgpID8gZG9jdW1lbnQoKS5wYWdlKCktPnRoZW1lKCkubWVkaWFDb250cm9sc0Zh
ZGVPdXREdXJhdGlvbigpIDogMDsKKyAgICBTZWNvbmRzIGR1cmF0aW9uID0gZG9jdW1lbnQoKS5w
YWdlKCkgPyBkb2N1bWVudCgpLnBhZ2UoKS0+dGhlbWUoKS5tZWRpYUNvbnRyb2xzRmFkZU91dER1
cmF0aW9uKCkgOiAwX3M7CiAgICAgbV90cmFuc2l0aW9uVGltZXIuc3RhcnRPbmVTaG90KGR1cmF0
aW9uKTsKIH0KIApAQCAtMjA1LDEwICsyMDUsMTAgQEAgdm9pZCBNZWRpYUNvbnRyb2xQYW5lbEVs
ZW1lbnQ6Om1ha2VUcmFuc3BhcmVudCgpCiAgICAgaWYgKCFtX29wYXF1ZSkKICAgICAgICAgcmV0
dXJuOwogCi0gICAgZG91YmxlIGR1cmF0aW9uID0gZG9jdW1lbnQoKS5wYWdlKCkgPyBkb2N1bWVu
dCgpLnBhZ2UoKS0+dGhlbWUoKS5tZWRpYUNvbnRyb2xzRmFkZU91dER1cmF0aW9uKCkgOiAwOwor
ICAgIFNlY29uZHMgZHVyYXRpb24gPSBkb2N1bWVudCgpLnBhZ2UoKSA/IGRvY3VtZW50KCkucGFn
ZSgpLT50aGVtZSgpLm1lZGlhQ29udHJvbHNGYWRlT3V0RHVyYXRpb24oKSA6IDBfczsKIAogICAg
IHNldElubGluZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlUcmFuc2l0aW9uUHJvcGVydHksIENT
U1Byb3BlcnR5T3BhY2l0eSk7Ci0gICAgc2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0
eVRyYW5zaXRpb25EdXJhdGlvbiwgZHVyYXRpb24sIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUyk7
CisgICAgc2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eVRyYW5zaXRpb25EdXJhdGlv
biwgZHVyYXRpb24udmFsdWUoKSwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19TKTsKICAgICBzZXRJ
bmxpbmVTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5T3BhY2l0eSwgMC4wLCBDU1NQcmltaXRpdmVW
YWx1ZTo6Q1NTX05VTUJFUik7CiAKICAgICBtX29wYXF1ZSA9IGZhbHNlOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9WVFRSZWdpb24uY3BwIGIvU291cmNlL1dlYkNvcmUv
aHRtbC90cmFjay9WVFRSZWdpb24uY3BwCmluZGV4IDA1NzhiZjkxMjY3Y2I1NTBhZjAyZGI3ZTIy
M2RkNDM2YzA3ZDUxYjYuLmNiNGQwNWJlYzBjMzNiOWIxY2ZjMGQzYmU0NDU5ZjA1ZDExNDlkYjEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVlRUUmVnaW9uLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1ZUVFJlZ2lvbi5jcHAKQEAgLTU2LDcgKzU2LDcg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogc3RhdGljIGNvbnN0IGZsb2F0IGxpbmVIZWlnaHQgPSA1
LjMzOwogCiAvLyBEZWZhdWx0IHNjcm9sbGluZyBhbmltYXRpb24gdGltZSBwZXJpb2QgKHMpLgot
c3RhdGljIGNvbnN0IGZsb2F0IHNjcm9sbFRpbWUgPSAwLjQzMzsKK3N0YXRpYyBjb25zdCBTZWNv
bmRzIHNjcm9sbFRpbWUgeyA0MzNfbXMgfTsKIAogVlRUUmVnaW9uOjpWVFRSZWdpb24oU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCkKICAgICA6IENvbnRleHREZXN0cnVjdGlvbk9ic2Vy
dmVyKCZjb250ZXh0KQpAQCAtNDAzLDcgKzQwMyw3IEBAIHZvaWQgVlRUUmVnaW9uOjpzdGFydFRp
bWVyKCkKICAgICBpZiAobV9zY3JvbGxUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICByZXR1cm47
CiAKLSAgICBkb3VibGUgZHVyYXRpb24gPSBpc1Njcm9sbGluZ1JlZ2lvbigpID8gc2Nyb2xsVGlt
ZSA6IDA7CisgICAgU2Vjb25kcyBkdXJhdGlvbiA9IGlzU2Nyb2xsaW5nUmVnaW9uKCkgPyBzY3Jv
bGxUaW1lIDogMF9zOwogICAgIG1fc2Nyb2xsVGltZXIuc3RhcnRPbmVTaG90KGR1cmF0aW9uKTsK
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uLmNwcAppbmRleCA1MWM0YmFhODUyZTVhY2EwMmI4MzU1MzYzZGYxNTk3NmI5MWVi
NmViLi5jMWI0Njg4ZjU2YjhjODdjNTVjMWJmZWI4MGM2ZTMyYjQwODcxNzczIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNw
cApAQCAtODAzLDcgKzgwMyw3IEBAIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpmcmFt
ZVN0b3BwZWRMb2FkaW5nSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzJiBpbnN0CiAgICAgICAgIGlu
c3BlY3RvclBhZ2VBZ2VudC0+ZnJhbWVTdG9wcGVkTG9hZGluZyhmcmFtZSk7CiB9CiAKLXZvaWQg
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpmcmFtZVNjaGVkdWxlZE5hdmlnYXRpb25JbXBsKElu
c3RydW1lbnRpbmdBZ2VudHMmIGluc3RydW1lbnRpbmdBZ2VudHMsIEZyYW1lJiBmcmFtZSwgZG91
YmxlIGRlbGF5KQordm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmZyYW1lU2NoZWR1bGVk
TmF2aWdhdGlvbkltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyYgaW5zdHJ1bWVudGluZ0FnZW50cywg
RnJhbWUmIGZyYW1lLCBTZWNvbmRzIGRlbGF5KQogewogICAgIGlmIChJbnNwZWN0b3JQYWdlQWdl
bnQqIGluc3BlY3RvclBhZ2VBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMuaW5zcGVjdG9yUGFn
ZUFnZW50KCkpCiAgICAgICAgIGluc3BlY3RvclBhZ2VBZ2VudC0+ZnJhbWVTY2hlZHVsZWROYXZp
Z2F0aW9uKGZyYW1lLCBkZWxheSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKaW5kZXggNDU4OTc1MjEyMGEzOTQyYzgwZmUyOTU3
YWU2ZTYzMjM2Y2Y4MzE0Ny4uOWMyMTEyNjY3NzM4ZWFmYTY5YTZmZjQ3YzdkOTVkNmNmMDVlNGZi
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1l
bnRhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb24uaApAQCAtMTc5LDcgKzE3OSw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBs
b2FkZXJEZXRhY2hlZEZyb21GcmFtZShGcmFtZSYsIERvY3VtZW50TG9hZGVyJik7CiAgICAgc3Rh
dGljIHZvaWQgZnJhbWVTdGFydGVkTG9hZGluZyhGcmFtZSYpOwogICAgIHN0YXRpYyB2b2lkIGZy
YW1lU3RvcHBlZExvYWRpbmcoRnJhbWUmKTsKLSAgICBzdGF0aWMgdm9pZCBmcmFtZVNjaGVkdWxl
ZE5hdmlnYXRpb24oRnJhbWUmLCBkb3VibGUgZGVsYXkpOworICAgIHN0YXRpYyB2b2lkIGZyYW1l
U2NoZWR1bGVkTmF2aWdhdGlvbihGcmFtZSYsIFNlY29uZHMgZGVsYXkpOwogICAgIHN0YXRpYyB2
b2lkIGZyYW1lQ2xlYXJlZFNjaGVkdWxlZE5hdmlnYXRpb24oRnJhbWUmKTsKICAgICBzdGF0aWMg
dm9pZCB3aWxsRGVzdHJveUNhY2hlZFJlc291cmNlKENhY2hlZFJlc291cmNlJik7CiAKQEAgLTM0
OSw3ICszNDksNyBAQCBwcml2YXRlOgogICAgIHN0YXRpYyB2b2lkIGxvYWRlckRldGFjaGVkRnJv
bUZyYW1lSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzJiwgRG9jdW1lbnRMb2FkZXImKTsKICAgICBz
dGF0aWMgdm9pZCBmcmFtZVN0YXJ0ZWRMb2FkaW5nSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzJiwg
RnJhbWUmKTsKICAgICBzdGF0aWMgdm9pZCBmcmFtZVN0b3BwZWRMb2FkaW5nSW1wbChJbnN0cnVt
ZW50aW5nQWdlbnRzJiwgRnJhbWUmKTsKLSAgICBzdGF0aWMgdm9pZCBmcmFtZVNjaGVkdWxlZE5h
dmlnYXRpb25JbXBsKEluc3RydW1lbnRpbmdBZ2VudHMmLCBGcmFtZSYsIGRvdWJsZSBkZWxheSk7
CisgICAgc3RhdGljIHZvaWQgZnJhbWVTY2hlZHVsZWROYXZpZ2F0aW9uSW1wbChJbnN0cnVtZW50
aW5nQWdlbnRzJiwgRnJhbWUmLCBTZWNvbmRzIGRlbGF5KTsKICAgICBzdGF0aWMgdm9pZCBmcmFt
ZUNsZWFyZWRTY2hlZHVsZWROYXZpZ2F0aW9uSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzJiwgRnJh
bWUmKTsKICAgICBzdGF0aWMgdm9pZCB3aWxsRGVzdHJveUNhY2hlZFJlc291cmNlSW1wbChDYWNo
ZWRSZXNvdXJjZSYpOwogCkBAIC05ODIsNyArOTgyLDcgQEAgaW5saW5lIHZvaWQgSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uOjpmcmFtZVN0b3BwZWRMb2FkaW5nKEZyYW1lJiBmcmFtZSkKICAgICAg
ICAgZnJhbWVTdG9wcGVkTG9hZGluZ0ltcGwoKmluc3RydW1lbnRpbmdBZ2VudHMsIGZyYW1lKTsK
IH0KIAotaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpmcmFtZVNjaGVkdWxl
ZE5hdmlnYXRpb24oRnJhbWUmIGZyYW1lLCBkb3VibGUgZGVsYXkpCitpbmxpbmUgdm9pZCBJbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb246OmZyYW1lU2NoZWR1bGVkTmF2aWdhdGlvbihGcmFtZSYgZnJh
bWUsIFNlY29uZHMgZGVsYXkpCiB7CiAgICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3Ry
dW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yRnJhbWUoZnJhbWUpKQogICAg
ICAgICBmcmFtZVNjaGVkdWxlZE5hdmlnYXRpb25JbXBsKCppbnN0cnVtZW50aW5nQWdlbnRzLCBm
cmFtZSwgZGVsYXkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvclBhZ2VBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFn
ZUFnZW50LmNwcAppbmRleCAzMmZkNDdlOTcwOGM5MGZmMGQzOWQ3ODc0ZDQ1OGUzNGJiMzM0YjRi
Li42YWE2YTA4NDRlZWVlODlkY2ZlZDAzOWZlYWYyMmNlODVkZGMwOTBmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmNwcApAQCAtODA2LDkgKzgw
Niw5IEBAIHZvaWQgSW5zcGVjdG9yUGFnZUFnZW50OjpmcmFtZVN0b3BwZWRMb2FkaW5nKEZyYW1l
JiBmcmFtZSkKICAgICBtX2Zyb250ZW5kRGlzcGF0Y2hlci0+ZnJhbWVTdG9wcGVkTG9hZGluZyhm
cmFtZUlkKCZmcmFtZSkpOwogfQogCi12b2lkIEluc3BlY3RvclBhZ2VBZ2VudDo6ZnJhbWVTY2hl
ZHVsZWROYXZpZ2F0aW9uKEZyYW1lJiBmcmFtZSwgZG91YmxlIGRlbGF5KQordm9pZCBJbnNwZWN0
b3JQYWdlQWdlbnQ6OmZyYW1lU2NoZWR1bGVkTmF2aWdhdGlvbihGcmFtZSYgZnJhbWUsIFNlY29u
ZHMgZGVsYXkpCiB7Ci0gICAgbV9mcm9udGVuZERpc3BhdGNoZXItPmZyYW1lU2NoZWR1bGVkTmF2
aWdhdGlvbihmcmFtZUlkKCZmcmFtZSksIGRlbGF5KTsKKyAgICBtX2Zyb250ZW5kRGlzcGF0Y2hl
ci0+ZnJhbWVTY2hlZHVsZWROYXZpZ2F0aW9uKGZyYW1lSWQoJmZyYW1lKSwgZGVsYXkudmFsdWUo
KSk7CiB9CiAKIHZvaWQgSW5zcGVjdG9yUGFnZUFnZW50OjpmcmFtZUNsZWFyZWRTY2hlZHVsZWRO
YXZpZ2F0aW9uKEZyYW1lJiBmcmFtZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JQYWdlQWdlbnQuaAppbmRleCA3ZTkyOGFlMGMyNTYxNWNlMmFiMWRiNzM3OGEwOWMyZTgz
ODg5ZTQ0Li4yODgzMTgxNzExYTQ2ZTYzMDY2ZDU5MGNlMzRkOGQxNDA5MTVjNzQ5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclBhZ2VBZ2VudC5oCkBAIC0xMTgsNyAr
MTE4LDcgQEAgcHVibGljOgogICAgIHZvaWQgbG9hZGVyRGV0YWNoZWRGcm9tRnJhbWUoRG9jdW1l
bnRMb2FkZXImKTsKICAgICB2b2lkIGZyYW1lU3RhcnRlZExvYWRpbmcoRnJhbWUmKTsKICAgICB2
b2lkIGZyYW1lU3RvcHBlZExvYWRpbmcoRnJhbWUmKTsKLSAgICB2b2lkIGZyYW1lU2NoZWR1bGVk
TmF2aWdhdGlvbihGcmFtZSYsIGRvdWJsZSBkZWxheSk7CisgICAgdm9pZCBmcmFtZVNjaGVkdWxl
ZE5hdmlnYXRpb24oRnJhbWUmLCBTZWNvbmRzIGRlbGF5KTsKICAgICB2b2lkIGZyYW1lQ2xlYXJl
ZFNjaGVkdWxlZE5hdmlnYXRpb24oRnJhbWUmKTsKICAgICB2b2lkIGFwcGx5RW11bGF0ZWRNZWRp
YShTdHJpbmcmKTsKICAgICB2b2lkIGRpZFBhaW50KFJlbmRlck9iamVjdCYsIGNvbnN0IExheW91
dFJlY3QmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2No
ZWR1bGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNw
cAppbmRleCBhMzkxODUxNWFkN2VmOGU3NWQ2MDA4NjUxOTczYjY1ZWUzYWM2NDE1Li5lNmMzOTJl
MDMxM2M1OGQyZTVkMDc0ZWFmMTcxNDI1YTRiNjJkYWNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuY3BwCkBAIC01NDEsNyArNTQxLDcgQEAgdm9pZCBO
YXZpZ2F0aW9uU2NoZWR1bGVyOjpzdGFydFRpbWVyKCkKICAgICBpZiAoIW1fcmVkaXJlY3QtPnNo
b3VsZFN0YXJ0VGltZXIobV9mcmFtZSkpCiAgICAgICAgIHJldHVybjsKIAotICAgIGRvdWJsZSBk
ZWxheSA9IG1fcmVkaXJlY3QtPmRlbGF5KCk7CisgICAgU2Vjb25kcyBkZWxheSA9IDFfcyAqIG1f
cmVkaXJlY3QtPmRlbGF5KCk7CiAgICAgbV90aW1lci5zdGFydE9uZVNob3QoZGVsYXkpOwogICAg
IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZnJhbWVTY2hlZHVsZWROYXZpZ2F0aW9uKG1fZnJh
bWUsIGRlbGF5KTsKICAgICBtX3JlZGlyZWN0LT5kaWRTdGFydFRpbWVyKG1fZnJhbWUsIG1fdGlt
ZXIpOyAvLyBtX3JlZGlyZWN0IG1heSBiZSBudWxsIG9uIHJldHVybiAoZS5nLiB0aGUgY2xpZW50
IGNhbmNlbGVkIHRoZSBsb2FkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2Nh
Y2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNo
ZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggNzE4MTk5MjA1NDU0MDUzZDczZTU3ZTBl
YTdlMDRjNWFkYWYzMWU1OS4uZTg5MDY1YjNhODBkZGU3M2RmOWE0MzcxZjQ2YzNjZWE5NmViMDM0
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNl
TG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3Vy
Y2VMb2FkZXIuY3BwCkBAIC04NCw3ICs4NCw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIC8v
IFRpbWVvdXQgZm9yIGxpbmsgcHJlbG9hZHMgdG8gYmUgdXNlZCBhZnRlciB3aW5kb3cub25sb2Fk
Ci1zdGF0aWMgY29uc3QgaW50IHVudXNlZFByZWxvYWRUaW1lb3V0SW5TZWNvbmRzID0gMzsKK3N0
YXRpYyBjb25zdCBTZWNvbmRzIHVudXNlZFByZWxvYWRUaW1lb3V0IHsgM19zIH07CiAKIHN0YXRp
YyBDYWNoZWRSZXNvdXJjZSogY3JlYXRlUmVzb3VyY2UoQ2FjaGVkUmVzb3VyY2U6OlR5cGUgdHlw
ZSwgQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVzdCwgU2Vzc2lvbklEIHNlc3Npb25JRCkK
IHsKQEAgLTgyOCw3ICs4MjgsNyBAQCB2b2lkIENhY2hlZFJlc291cmNlTG9hZGVyOjpkb2N1bWVu
dERpZEZpbmlzaExvYWRFdmVudCgpCiAgICAgLy8gSWYgbV9wcmVsb2FkcyBpcyBub3QgZW1wdHkg
aGVyZSwgaXQncyBmdWxsIG9mIGxpbmsgcHJlbG9hZHMsCiAgICAgLy8gYXMgc3BlY3VsYXRpdmUg
cHJlbG9hZHMgd2VyZSBjbGVhcmVkIGF0IERDTC4KICAgICBpZiAobV9wcmVsb2FkcyAmJiBtX3By
ZWxvYWRzLT5zaXplKCkgJiYgIW1fdW51c2VkUHJlbG9hZHNUaW1lci5pc0FjdGl2ZSgpKQotICAg
ICAgICBtX3VudXNlZFByZWxvYWRzVGltZXIuc3RhcnRPbmVTaG90KHVudXNlZFByZWxvYWRUaW1l
b3V0SW5TZWNvbmRzKTsKKyAgICAgICAgbV91bnVzZWRQcmVsb2Fkc1RpbWVyLnN0YXJ0T25lU2hv
dCh1bnVzZWRQcmVsb2FkVGltZW91dCk7CiB9CiAKIHZvaWQgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6
OnN0b3BVbnVzZWRQcmVsb2Fkc1RpbWVyKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9pY29uL0ljb25EYXRhYmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNvbi9J
Y29uRGF0YWJhc2UuY3BwCmluZGV4IDRjZGNmYWFkNmU4MzJhMzlhNWMzNTI2NTgwNTg1MDg2YjNk
OWY3MmYuLjhkZTk0Y2U1ZGNhNzY3MTE2MzYyMDJlNmQzMWY3NTMwZDhhMjkyZDIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmNwcApAQCAtNjcsNyArNjcsNyBA
QCBzdGF0aWMgY29uc3QgaW50IGN1cnJlbnREYXRhYmFzZVZlcnNpb24gPSA2OwogLy8gSWNvbnMg
ZXhwaXJlIG9uY2UgZXZlcnkgNCBkYXlzCiBzdGF0aWMgY29uc3QgaW50IGljb25FeHBpcmF0aW9u
VGltZSA9IDYwKjYwKjI0KjQ7IAogCi1zdGF0aWMgY29uc3QgaW50IHVwZGF0ZVRpbWVyRGVsYXkg
PSA1OyAKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHVwZGF0ZVRpbWVyRGVsYXkgeyA1X3MgfTsKIAog
c3RhdGljIGJvb2wgY2hlY2tJbnRlZ3JpdHlPbk9wZW4gPSBmYWxzZTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9FdmVudEhhbmRsZXIuY3BwCmluZGV4IGRjYTgyMzA0NjMwYzMyMDg1NWNkYWZlMjEzYmVhMDMy
OGZjNjRjZjMuLjg0NWYzYWViZWY1NDdlNjc4ZjFkMGM3OWQ5ZTU5M2ZhMGJjNWQ3ZmMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKQEAgLTE1NywxNCArMTU3LDE0IEBAIHVzaW5n
IG5hbWVzcGFjZSBTVkdOYW1lczsKIC8vIGR1cmluZyBhIHNjcm9sbC4gVGhlIHNob3J0IGludGVy
dmFsIGlzIHVzZWQgaWYgdGhlIGNvbnRlbnQgcmVzcG9uZHMgdG8gdGhlIG1vdXNlIGV2ZW50cwog
Ly8gaW4gZmFrZU1vdXNlTW92ZUR1cmF0aW9uVGhyZXNob2xkIG9yIGxlc3MsIG90aGVyd2lzZSB0
aGUgbG9uZyBpbnRlcnZhbCBpcyB1c2VkLgogY29uc3QgZG91YmxlIGZha2VNb3VzZU1vdmVEdXJh
dGlvblRocmVzaG9sZCA9IDAuMDE7Ci1jb25zdCBkb3VibGUgZmFrZU1vdXNlTW92ZVNob3J0SW50
ZXJ2YWwgPSAwLjE7Ci1jb25zdCBkb3VibGUgZmFrZU1vdXNlTW92ZUxvbmdJbnRlcnZhbCA9IDAu
MjU7Citjb25zdCBTZWNvbmRzIGZha2VNb3VzZU1vdmVTaG9ydEludGVydmFsID0geyAxMDBfbXMg
fTsKK2NvbnN0IFNlY29uZHMgZmFrZU1vdXNlTW92ZUxvbmdJbnRlcnZhbCA9IHsgMjUwX21zIH07
CiAjZW5kaWYKIAogI2lmIEVOQUJMRShDVVJTT1JfU1VQUE9SVCkKIC8vIFRoZSBhbW91bnQgb2Yg
dGltZSB0byB3YWl0IGZvciBhIGN1cnNvciB1cGRhdGUgb24gc3R5bGUgYW5kIGxheW91dCBjaGFu
Z2VzCiAvLyBTZXQgdG8gNTBIeiwgbm8gbmVlZCB0byBiZSBmYXN0ZXIgdGhhbiBjb21tb24gc2Ny
ZWVuIHJlZnJlc2ggcmF0ZQotY29uc3QgZG91YmxlIGN1cnNvclVwZGF0ZUludGVydmFsID0gMC4w
MjsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIGN1cnNvclVwZGF0ZUludGVydmFsIHsgMjBfbXMgfTsK
IAogY29uc3QgaW50IG1heGltdW1DdXJzb3JTaXplID0gMTI4OwogI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRXZlbnRTb3VyY2UuY3BwCmluZGV4IGIxZGVkM2Y4ZjdjMWRhMTJiOTM3ZTM1YmNlZmQ0NDgx
OTg1ZjYxM2MuLjM3OTQzMDlkZWQyNDVjNWYyN2Y3N2JhY2JkZjk4ZWMxYjM3ZjNlN2MgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuY3BwCkBAIC0xMzgsNyArMTM4LDcgQEAgdm9pZCBFdmVu
dFNvdXJjZTo6c2NoZWR1bGVJbml0aWFsQ29ubmVjdCgpCiB2b2lkIEV2ZW50U291cmNlOjpzY2hl
ZHVsZVJlY29ubmVjdCgpCiB7CiAgICAgbV9zdGF0ZSA9IENPTk5FQ1RJTkc7Ci0gICAgbV9jb25u
ZWN0VGltZXIuc3RhcnRPbmVTaG90KG1fcmVjb25uZWN0RGVsYXkgLyAxMDAwLjApOworICAgIG1f
Y29ubmVjdFRpbWVyLnN0YXJ0T25lU2hvdCgxX21zICogbV9yZWNvbm5lY3REZWxheSk7CiAgICAg
ZGlzcGF0Y2hFdmVudChFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5lcnJvckV2ZW50LCBmYWxz
ZSwgZmFsc2UpKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Gb2N1c0Nv
bnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Gb2N1c0NvbnRyb2xsZXIuY3BwCmlu
ZGV4IGExYjg4ZWViODEyZGJhODBmNzFlMzA0OTVjNzc0NTgwODVjNjMyZDcuLjhmMGEyNzdiMzM1
NmJkMTcyMDE0N2QzNzMxNjYwZjI2N2JjNWRjMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRm9jdXNDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZvY3Vz
Q29udHJvbGxlci5jcHAKQEAgLTEwODksNyArMTA4OSw3IEBAIGJvb2wgRm9jdXNDb250cm9sbGVy
OjphZHZhbmNlRm9jdXNEaXJlY3Rpb25hbGx5KEZvY3VzRGlyZWN0aW9uIGRpcmVjdGlvbiwgS2V5
Ym9hCiAKIHZvaWQgRm9jdXNDb250cm9sbGVyOjpzZXRGb2N1c2VkRWxlbWVudE5lZWRzUmVwYWlu
dCgpCiB7Ci0gICAgbV9mb2N1c1JlcGFpbnRUaW1lci5zdGFydE9uZVNob3QoMC4wMzMpOworICAg
IG1fZm9jdXNSZXBhaW50VGltZXIuc3RhcnRPbmVTaG90KDMzX21zKTsKIH0KIAogdm9pZCBGb2N1
c0NvbnRyb2xsZXI6OmZvY3VzUmVwYWludFRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZp
ZXcuY3BwCmluZGV4IGZhYzFlMmZiM2NkOWMxYWU1YjM2MjQ0OGRhYjNkMmE4MWEwMGU2Y2YuLmMz
ZmNjOTMxMTFlMmI3NWE0MzcwZDg1MmMwNTA3MDA5ZWQzNjM1MTkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Zy
YW1lVmlldy5jcHAKQEAgLTI1MTUsNyArMjUxNSw3IEBAIHZvaWQgRnJhbWVWaWV3OjpzY3JvbGxQ
b3NpdGlvbkNoYW5nZWQoY29uc3QgU2Nyb2xsUG9zaXRpb24mIG9sZFBvc2l0aW9uLCBjb25zdCBT
CiAgICAgICAgIG1fZGVsYXllZFNjcm9sbEV2ZW50VGltZXIuc3RvcCgpOwogICAgICAgICBzZW5k
U2Nyb2xsRXZlbnQoKTsKICAgICB9IGVsc2UgaWYgKCFtX2RlbGF5ZWRTY3JvbGxFdmVudFRpbWVy
LmlzQWN0aXZlKCkpCi0gICAgICAgIG1fZGVsYXllZFNjcm9sbEV2ZW50VGltZXIuc3RhcnRPbmVT
aG90KHRocm90dGxpbmdEZWxheS52YWx1ZSgpKTsKKyAgICAgICAgbV9kZWxheWVkU2Nyb2xsRXZl
bnRUaW1lci5zdGFydE9uZVNob3QodGhyb3R0bGluZ0RlbGF5KTsKIAogICAgIGlmIChEb2N1bWVu
dCogZG9jdW1lbnQgPSBmcmFtZSgpLmRvY3VtZW50KCkpCiAgICAgICAgIGRvY3VtZW50LT5zZW5k
V2lsbFJldmVhbEVkZ2VFdmVudHNJZk5lZWRlZChvbGRQb3NpdGlvbiwgbmV3UG9zaXRpb24sIHZp
c2libGVDb250ZW50UmVjdCgpLCBjb250ZW50c1NpemUoKSk7CkBAIC0yOTM0LDcgKzI5MzQsNyBA
QCB2b2lkIEZyYW1lVmlldzo6ZW5hYmxlU3BlY3VsYXRpdmVUaWxpbmdJZk5lZWRlZCgpCiAgICAg
aWYgKG1fc3BlY3VsYXRpdmVUaWxpbmdFbmFibGVUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICBy
ZXR1cm47CiAgICAgLy8gRGVsYXkgZW5hYmxpbmcgYSBiaXQgYXMgbG9hZCBjb21wbGV0aW9uIG1h
eSB0cmlnZ2VyIGZ1cnRoZXIgbG9hZGluZyBmcm9tIHNjcmlwdHMuCi0gICAgc3RhdGljIGNvbnN0
IGRvdWJsZSBzcGVjdWxhdGl2ZVRpbGluZ0VuYWJsZURlbGF5ID0gMC41OworICAgIHN0YXRpYyBj
b25zdCBTZWNvbmRzIHNwZWN1bGF0aXZlVGlsaW5nRW5hYmxlRGVsYXkgeyA1MDBfbXMgfTsKICAg
ICBtX3NwZWN1bGF0aXZlVGlsaW5nRW5hYmxlVGltZXIuc3RhcnRPbmVTaG90KHNwZWN1bGF0aXZl
VGlsaW5nRW5hYmxlRGVsYXkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1NldHRpbmdzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCmluZGV4IGU3
Y2M5MGFmYzIwM2Q3YzNhOTllNDVhMjc0NmE2ZDg2MzA2YTFkZDcuLjQ1MDcwZWQwOTQ0ZWNhMWJm
YzdjY2FjYTRhMDE0OGE5YjhkZTdhYTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
U2V0dGluZ3MuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCkBAIC0y
MTIsNyArMjEyLDcgQEAgU2V0dGluZ3M6OlNldHRpbmdzKFBhZ2UqIHBhZ2UpCiAgICAgLCBtX3Rv
dWNoRXZlbnRFbXVsYXRpb25FbmFibGVkKGZhbHNlKQogI2VuZGlmCiAgICAgLCBtX3Njcm9sbGlu
Z1BlcmZvcm1hbmNlTG9nZ2luZ0VuYWJsZWQoZmFsc2UpCi0gICAgLCBtX3RpbWVXaXRob3V0TW91
c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKDMpCisgICAgLCBtX3RpbWVXaXRob3V0TW91
c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKDNfcykKICAgICAsIG1fc2V0SW1hZ2VMb2Fk
aW5nU2V0dGluZ3NUaW1lcigqdGhpcywgJlNldHRpbmdzOjppbWFnZUxvYWRpbmdTZXR0aW5nc1Rp
bWVyRmlyZWQpCiAgICAgLCBtX2hpZGRlblBhZ2VET01UaW1lclRocm90dGxpbmdFbmFibGVkKGZh
bHNlKQogICAgICwgbV9oaWRkZW5QYWdlQ1NTQW5pbWF0aW9uU3VzcGVuc2lvbkVuYWJsZWQoZmFs
c2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKaW5kZXggOWYzNzA3NTViMGI4MmJmZTgxOTI4MGE1OTgx
NDBkYTM5ZjU4MjM4ZC4uZDE5NmRjMmM5NjczZjU3ZGIwZGVkOWUzNjA1MTlkMTY4YWFiOWFlYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaApAQCAtMjU2LDggKzI1Niw4IEBAIHB1YmxpYzoKICAgICBX
RUJDT1JFX0VYUE9SVCBzdGF0aWMgdm9pZCBzZXRTaG91bGRSZXNwZWN0UHJpb3JpdHlJbkNTU0F0
dHJpYnV0ZVNldHRlcnMoYm9vbCk7CiAgICAgc3RhdGljIGJvb2wgc2hvdWxkUmVzcGVjdFByaW9y
aXR5SW5DU1NBdHRyaWJ1dGVTZXR0ZXJzKCk7CiAKLSAgICB2b2lkIHNldFRpbWVXaXRob3V0TW91
c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKGRvdWJsZSB0aW1lKSB7IG1fdGltZVdpdGhv
dXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMgPSB0aW1lOyB9Ci0gICAgZG91Ymxl
IHRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKCkgY29uc3QgeyBy
ZXR1cm4gbV90aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9sczsgfQor
ICAgIHZvaWQgc2V0VGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMo
U2Vjb25kcyB0aW1lKSB7IG1fdGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29u
dHJvbHMgPSB0aW1lOyB9CisgICAgU2Vjb25kcyB0aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZv
cmVIaWRpbmdDb250cm9scygpIGNvbnN0IHsgcmV0dXJuIG1fdGltZVdpdGhvdXRNb3VzZU1vdmVt
ZW50QmVmb3JlSGlkaW5nQ29udHJvbHM7IH0KIAogICAgIGJvb2wgaGlkZGVuUGFnZUNTU0FuaW1h
dGlvblN1c3BlbnNpb25FbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9oaWRkZW5QYWdlQ1NTQW5p
bWF0aW9uU3VzcGVuc2lvbkVuYWJsZWQ7IH0KICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldEhp
ZGRlblBhZ2VDU1NBbmltYXRpb25TdXNwZW5zaW9uRW5hYmxlZChib29sKTsKQEAgLTM2MSw3ICsz
NjEsNyBAQCBwcml2YXRlOgogI2VuZGlmCiAgICAgYm9vbCBtX3Njcm9sbGluZ1BlcmZvcm1hbmNl
TG9nZ2luZ0VuYWJsZWQgOiAxOwogCi0gICAgZG91YmxlIG1fdGltZVdpdGhvdXRNb3VzZU1vdmVt
ZW50QmVmb3JlSGlkaW5nQ29udHJvbHM7CisgICAgU2Vjb25kcyBtX3RpbWVXaXRob3V0TW91c2VN
b3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzOwogCiAgICAgVGltZXIgbV9zZXRJbWFnZUxvYWRp
bmdTZXR0aW5nc1RpbWVyOwogICAgIHZvaWQgaW1hZ2VMb2FkaW5nU2V0dGluZ3NUaW1lckZpcmVk
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1N1c3BlbmRhYmxlVGltZXIuaCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3VzcGVuZGFibGVUaW1lci5oCmluZGV4IDMxMjkyMDhmZTU1
ZGNhMGQwOTg1NWM5ZTIzZTFlYjc3MTMxNDM0ZmMuLjU1ODQ0MzQwNzgzNDZmYjliNTdhNmVhNTlh
ZmNlMjdhNjI0MGI1NWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3VzcGVuZGFi
bGVUaW1lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3VzcGVuZGFibGVUaW1lci5oCkBA
IC00NSw4ICs0NSw2IEBAIHB1YmxpYzoKICAgICBib29sIGlzQWN0aXZlKCkgY29uc3QgeyByZXR1
cm4gVGltZXJCYXNlOjppc0FjdGl2ZSgpIHx8IChtX3N1c3BlbmRlZCAmJiBtX3NhdmVkSXNBY3Rp
dmUpOyB9CiAgICAgYm9vbCBpc1N1c3BlbmRlZCgpIGNvbnN0IHsgcmV0dXJuIG1fc3VzcGVuZGVk
OyB9CiAKLSAgICB2b2lkIHN0YXJ0T25lU2hvdChkb3VibGUgaW50ZXJ2YWwpIHsgc3RhcnRPbmVT
aG90KFNlY29uZHMgeyBpbnRlcnZhbCB9KTsgfQotCiAgICAgU2Vjb25kcyByZXBlYXRJbnRlcnZh
bCgpIGNvbnN0OwogCiAgICAgdm9pZCBzdGFydFJlcGVhdGluZyhTZWNvbmRzIHJlcGVhdEludGVy
dmFsKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0NTU0FuaW1h
dGlvbkNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQ1NTQW5p
bWF0aW9uQ29udHJvbGxlci5jcHAKaW5kZXggZGNkN2U0MGFkMWU5YWZkYTlkNWFmY2QxMDg2MWRk
NGZlNWY1MDZjMy4uMDBjNzNlMTZiYzMxYWE3NThjOTM4NGQ1NGQ0NzA4YzI4MmE4MTQ2MSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQ1NTQW5pbWF0aW9uQ29udHJv
bGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQ1NTQW5pbWF0aW9u
Q29udHJvbGxlci5jcHAKQEAgLTQ5LDkgKzQ5LDkgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
Ly8gQWxsb3cgYSBsaXR0bGUgbW9yZSB0aGFuIDYwZnBzIHRvIG1ha2Ugc3VyZSB3ZSBjYW4gYXQg
bGVhc3QgaGl0IHRoYXQgZnJhbWUgcmF0ZS4KLXN0YXRpYyBjb25zdCBTZWNvbmRzIGFuaW1hdGlv
blRpbWVyRGVsYXkgeyAwLjAxNSB9Oworc3RhdGljIGNvbnN0IFNlY29uZHMgYW5pbWF0aW9uVGlt
ZXJEZWxheSB7IDE1X21zIH07CiAvLyBBbGxvdyBhIGxpdHRsZSBtb3JlIHRoYW4gMzBmcHMgdG8g
bWFrZSBzdXJlIHdlIGNhbiBhdCBsZWFzdCBoaXQgdGhhdCBmcmFtZSByYXRlLgotc3RhdGljIGNv
bnN0IFNlY29uZHMgYW5pbWF0aW9uVGltZXJUaHJvdHRsZWREZWxheSB7IDAuMDMwIH07CitzdGF0
aWMgY29uc3QgU2Vjb25kcyBhbmltYXRpb25UaW1lclRocm90dGxlZERlbGF5IHsgMzBfbXMgfTsK
IAogY2xhc3MgQW5pbWF0aW9uUHJpdmF0ZVVwZGF0ZUJsb2NrIHsKIHB1YmxpYzoKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL0V2ZW50SGFuZGxlck1hYy5tbSBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvbWFjL0V2ZW50SGFuZGxlck1hYy5tbQppbmRleCBmNTFlMGE4YTQyZTBkNjg1
NmUzNjMyNzY4NTM4NzJlMWM3YjMzN2Q4Li5mNzFlNGZkYzE1OWMzNWE2MTBmNDVmYjYxNWIwZjRl
MTQ4ZGJhODY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9FdmVudEhhbmRs
ZXJNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1t
CkBAIC03NCw3ICs3NCw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY29uc3QgZG91Ymxl
IHJlc2V0TGF0Y2hlZFN0YXRlVGltZW91dCA9IDAuMTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHJl
c2V0TGF0Y2hlZFN0YXRlVGltZW91dCB7IDEwMF9tcyB9OwogCiBzdGF0aWMgUmV0YWluUHRyPE5T
RXZlbnQ+JiBjdXJyZW50TlNFdmVudFNsb3QoKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9tYWMvVGV4dEluZGljYXRvcldpbmRvdy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
bWFjL1RleHRJbmRpY2F0b3JXaW5kb3cubW0KaW5kZXggZTU5MjliYTYzZGU1OWY0OTgzYmQ4Y2Y5
YzMwMDY0ZTY3MTc3M2NiYy4uZmMzNmRjYjEzY2VkN2U1YWMyY2YwMTc3M2FjZTc5MzIxNDY2MGRk
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvVGV4dEluZGljYXRvcldpbmRv
dy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9UZXh0SW5kaWNhdG9yV2luZG93Lm1t
CkBAIC00NzYsNyArNDc2LDcgQEAgdm9pZCBUZXh0SW5kaWNhdG9yV2luZG93OjpzZXRUZXh0SW5k
aWNhdG9yKFJlZjxUZXh0SW5kaWNhdG9yPiB0ZXh0SW5kaWNhdG9yLCBDR1IKICAgICAgICAgW21f
dGV4dEluZGljYXRvclZpZXcgcHJlc2VudF07CiAKICAgICBpZiAobGlmZXRpbWUgPT0gVGV4dElu
ZGljYXRvcldpbmRvd0xpZmV0aW1lOjpUZW1wb3JhcnkpCi0gICAgICAgIG1fdGVtcG9yYXJ5VGV4
dEluZGljYXRvclRpbWVyLnN0YXJ0T25lU2hvdCh0aW1lQmVmb3JlRmFkZVN0YXJ0cyk7CisgICAg
ICAgIG1fdGVtcG9yYXJ5VGV4dEluZGljYXRvclRpbWVyLnN0YXJ0T25lU2hvdCgxX3MgKiB0aW1l
QmVmb3JlRmFkZVN0YXJ0cyk7CiB9CiAKIHZvaWQgVGV4dEluZGljYXRvcldpbmRvdzo6Y2xvc2VX
aW5kb3coKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vSHlzdGVyZXNpc0Fj
dGl2aXR5LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9IeXN0ZXJlc2lzQWN0aXZpdHkuaApp
bmRleCAxMjhlZjgyMDllMmE3NDgzMDllMDYyODIwZWRjODIzOTgwYzBiMmUxLi41OTllMTcxZWMx
YWNhZDIwZWQ4ZjE1ZDFiNDVjOWVhYTlmMWNlMGEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9IeXN0ZXJlc2lzQWN0aXZpdHkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9IeXN0ZXJlc2lzQWN0aXZpdHkuaApAQCAtNjUsNyArNjUsNyBAQCBwdWJsaWM6CiAgICAg
ICAgICAgICByZXR1cm47CiAgICAgICAgIG1fYWN0aXZlID0gZmFsc2U7CiAKLSAgICAgICAgbV90
aW1lci5zdGFydE9uZVNob3QobV9oeXN0ZXJlc2lzU2Vjb25kcyk7CisgICAgICAgIG1fdGltZXIu
c3RhcnRPbmVTaG90KDFfcyAqIG1faHlzdGVyZXNpc1NlY29uZHMpOwogICAgIH0KIAogICAgIHZv
aWQgaW1wdWxzZSgpCkBAIC04OSw3ICs4OSw3IEBAIHByaXZhdGU6CiAgICAgfQogCiAgICAgc3Rk
OjpmdW5jdGlvbjx2b2lkKEh5c3RlcmVzaXNTdGF0ZSk+IG1fY2FsbGJhY2s7Ci0gICAgZG91Ymxl
IG1faHlzdGVyZXNpc1NlY29uZHM7CisgICAgZG91YmxlIG1faHlzdGVyZXNpc1NlY29uZHM7IC8v
IEZJWE1FOiBTaG91bGQgdXNlIFNlY29uZHMuCiAgICAgYm9vbCBtX2FjdGl2ZTsKICAgICBUaW1l
ciBtX3RpbWVyOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9s
bEFuaW1hdGlvblNtb290aC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmlt
YXRpb25TbW9vdGguY3BwCmluZGV4IGM4ZjVkNWRjMDM1NDViYmU1NjA2Nzk3ODZlZDkxMTk3NDE2
NGVlNzYuLjdhNWYxZWE5YWRlMjIyM2M0MDkwY2E0YzhhZDQ5NWU2Y2EzM2VhMzAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdGlvblNtb290aC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmNwcApAQCAt
MzcsOCArMzcsOCBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdGF0aWMgY29uc3QgZG91Ymxl
IGZyYW1lUmF0ZSA9IDYwOwotc3RhdGljIGNvbnN0IGRvdWJsZSB0aWNrVGltZSA9IDEgLyBmcmFt
ZVJhdGU7Ci1zdGF0aWMgY29uc3QgZG91YmxlIG1pbmltdW1UaW1lckludGVydmFsID0gLjAwMTsK
K3N0YXRpYyBjb25zdCBTZWNvbmRzIHRpY2tUaW1lID0gMV9zIC8gZnJhbWVSYXRlOworc3RhdGlj
IGNvbnN0IFNlY29uZHMgbWluaW11bVRpbWVySW50ZXJ2YWwgeyAxX21zIH07CiAKIFNjcm9sbEFu
aW1hdGlvblNtb290aDo6U2Nyb2xsQW5pbWF0aW9uU21vb3RoKFNjcm9sbGFibGVBcmVhJiBzY3Jv
bGxhYmxlQXJlYSwgY29uc3QgRmxvYXRQb2ludCYgcG9zaXRpb24sIHN0ZDo6ZnVuY3Rpb248dm9p
ZCAoRmxvYXRQb2ludCYmKT4mJiBub3RpZnlQb3NpdGlvbkNoYW5nZWRGdW5jdGlvbikKICAgICA6
IFNjcm9sbEFuaW1hdGlvbihzY3JvbGxhYmxlQXJlYSkKQEAgLTIyNiw0MCArMjI2LDQwIEBAIHN0
YXRpYyBpbmxpbmUgZG91YmxlIHJlbGVhc2VBcmVhKFNjcm9sbEFuaW1hdGlvblNtb290aDo6Q3Vy
dmUgY3VydmUsIGRvdWJsZSBzdGFyCiAgICAgcmV0dXJuIGVuZFZhbHVlIC0gc3RhcnRWYWx1ZTsK
IH0KIAotc3RhdGljIGlubGluZSB2b2lkIGdldEFuaW1hdGlvblBhcmFtZXRlcnNGb3JHcmFudWxh
cml0eShTY3JvbGxHcmFudWxhcml0eSBncmFudWxhcml0eSwgZG91YmxlJiBhbmltYXRpb25UaW1l
LCBkb3VibGUmIHJlcGVhdE1pbmltdW1TdXN0YWluVGltZSwgZG91YmxlJiBhdHRhY2tUaW1lLCBk
b3VibGUmIHJlbGVhc2VUaW1lLCBTY3JvbGxBbmltYXRpb25TbW9vdGg6OkN1cnZlJiBjb2FzdFRp
bWVDdXJ2ZSwgZG91YmxlJiBtYXhpbXVtQ29hc3RUaW1lKQorc3RhdGljIGlubGluZSB2b2lkIGdl
dEFuaW1hdGlvblBhcmFtZXRlcnNGb3JHcmFudWxhcml0eShTY3JvbGxHcmFudWxhcml0eSBncmFu
dWxhcml0eSwgU2Vjb25kcyYgYW5pbWF0aW9uVGltZSwgU2Vjb25kcyYgcmVwZWF0TWluaW11bVN1
c3RhaW5UaW1lLCBTZWNvbmRzJiBhdHRhY2tUaW1lLCBTZWNvbmRzJiByZWxlYXNlVGltZSwgU2Ny
b2xsQW5pbWF0aW9uU21vb3RoOjpDdXJ2ZSYgY29hc3RUaW1lQ3VydmUsIFNlY29uZHMmIG1heGlt
dW1Db2FzdFRpbWUpCiB7CiAgICAgc3dpdGNoIChncmFudWxhcml0eSkgewogICAgIGNhc2UgU2Ny
b2xsQnlEb2N1bWVudDoKLSAgICAgICAgYW5pbWF0aW9uVGltZSA9IDIwICogdGlja1RpbWU7Ci0g
ICAgICAgIHJlcGVhdE1pbmltdW1TdXN0YWluVGltZSA9IDEwICogdGlja1RpbWU7Ci0gICAgICAg
IGF0dGFja1RpbWUgPSAxMCAqIHRpY2tUaW1lOwotICAgICAgICByZWxlYXNlVGltZSA9IDEwICog
dGlja1RpbWU7CisgICAgICAgIGFuaW1hdGlvblRpbWUgPSB0aWNrVGltZSAqIDEwOworICAgICAg
ICByZXBlYXRNaW5pbXVtU3VzdGFpblRpbWUgPSB0aWNrVGltZSAqIDEwOworICAgICAgICBhdHRh
Y2tUaW1lID0gdGlja1RpbWUgKiAxMDsKKyAgICAgICAgcmVsZWFzZVRpbWUgPSB0aWNrVGltZSAq
IDEwOwogICAgICAgICBjb2FzdFRpbWVDdXJ2ZSA9IFNjcm9sbEFuaW1hdGlvblNtb290aDo6Q3Vy
dmU6OkxpbmVhcjsKLSAgICAgICAgbWF4aW11bUNvYXN0VGltZSA9IDE7CisgICAgICAgIG1heGlt
dW1Db2FzdFRpbWUgPSAxX3M7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgU2Nyb2xsQnlMaW5l
OgotICAgICAgICBhbmltYXRpb25UaW1lID0gMTAgKiB0aWNrVGltZTsKLSAgICAgICAgcmVwZWF0
TWluaW11bVN1c3RhaW5UaW1lID0gNyAqIHRpY2tUaW1lOwotICAgICAgICBhdHRhY2tUaW1lID0g
MyAqIHRpY2tUaW1lOwotICAgICAgICByZWxlYXNlVGltZSA9IDMgKiB0aWNrVGltZTsKKyAgICAg
ICAgYW5pbWF0aW9uVGltZSA9IHRpY2tUaW1lICogMTA7CisgICAgICAgIHJlcGVhdE1pbmltdW1T
dXN0YWluVGltZSA9IHRpY2tUaW1lICogNzsKKyAgICAgICAgYXR0YWNrVGltZSA9IHRpY2tUaW1l
ICogMzsKKyAgICAgICAgcmVsZWFzZVRpbWUgPSB0aWNrVGltZSAqIDM7CiAgICAgICAgIGNvYXN0
VGltZUN1cnZlID0gU2Nyb2xsQW5pbWF0aW9uU21vb3RoOjpDdXJ2ZTo6TGluZWFyOwotICAgICAg
ICBtYXhpbXVtQ29hc3RUaW1lID0gMTsKKyAgICAgICAgbWF4aW11bUNvYXN0VGltZSA9IDFfczsK
ICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBTY3JvbGxCeVBhZ2U6Ci0gICAgICAgIGFuaW1hdGlv
blRpbWUgPSAxNSAqIHRpY2tUaW1lOwotICAgICAgICByZXBlYXRNaW5pbXVtU3VzdGFpblRpbWUg
PSAxMCAqIHRpY2tUaW1lOwotICAgICAgICBhdHRhY2tUaW1lID0gNSAqIHRpY2tUaW1lOwotICAg
ICAgICByZWxlYXNlVGltZSA9IDUgKiB0aWNrVGltZTsKKyAgICAgICAgYW5pbWF0aW9uVGltZSA9
IHRpY2tUaW1lICogMTU7CisgICAgICAgIHJlcGVhdE1pbmltdW1TdXN0YWluVGltZSA9IHRpY2tU
aW1lICogMTA7CisgICAgICAgIGF0dGFja1RpbWUgPSB0aWNrVGltZSAqIDU7CisgICAgICAgIHJl
bGVhc2VUaW1lID0gdGlja1RpbWUgKiA1OwogICAgICAgICBjb2FzdFRpbWVDdXJ2ZSA9IFNjcm9s
bEFuaW1hdGlvblNtb290aDo6Q3VydmU6OkxpbmVhcjsKLSAgICAgICAgbWF4aW11bUNvYXN0VGlt
ZSA9IDE7CisgICAgICAgIG1heGltdW1Db2FzdFRpbWUgPSAxX3M7CiAgICAgICAgIGJyZWFrOwog
ICAgIGNhc2UgU2Nyb2xsQnlQaXhlbDoKLSAgICAgICAgYW5pbWF0aW9uVGltZSA9IDExICogdGlj
a1RpbWU7Ci0gICAgICAgIHJlcGVhdE1pbmltdW1TdXN0YWluVGltZSA9IDIgKiB0aWNrVGltZTsK
LSAgICAgICAgYXR0YWNrVGltZSA9IDMgKiB0aWNrVGltZTsKLSAgICAgICAgcmVsZWFzZVRpbWUg
PSAzICogdGlja1RpbWU7CisgICAgICAgIGFuaW1hdGlvblRpbWUgPSB0aWNrVGltZSAqIDExOwor
ICAgICAgICByZXBlYXRNaW5pbXVtU3VzdGFpblRpbWUgPSB0aWNrVGltZSAqIDI7CisgICAgICAg
IGF0dGFja1RpbWUgPSB0aWNrVGltZSAqIDM7CisgICAgICAgIHJlbGVhc2VUaW1lID0gdGlja1Rp
bWUgKiAzOwogICAgICAgICBjb2FzdFRpbWVDdXJ2ZSA9IFNjcm9sbEFuaW1hdGlvblNtb290aDo6
Q3VydmU6OlF1YWRyYXRpYzsKLSAgICAgICAgbWF4aW11bUNvYXN0VGltZSA9IDEuMjU7CisgICAg
ICAgIG1heGltdW1Db2FzdFRpbWUgPSAxMjUwX21zOwogICAgICAgICBicmVhazsKICAgICBkZWZh
dWx0OgogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKQEAgLTI3MCw3ICsyNzAsNyBAQCBi
b29sIFNjcm9sbEFuaW1hdGlvblNtb290aDo6dXBkYXRlUGVyQXhpc0RhdGEoUGVyQXhpc0RhdGEm
IGRhdGEsIFNjcm9sbEdyYW51bGFyaQogewogICAgIGlmICghZGF0YS5zdGFydFRpbWUgfHwgIWRl
bHRhIHx8IChkZWx0YSA8IDApICE9IChkYXRhLmRlc2lyZWRQb3NpdGlvbiAtIGRhdGEuY3VycmVu
dFBvc2l0aW9uIDwgMCkpIHsKICAgICAgICAgZGF0YS5kZXNpcmVkUG9zaXRpb24gPSBkYXRhLmN1
cnJlbnRQb3NpdGlvbjsKLSAgICAgICAgZGF0YS5zdGFydFRpbWUgPSAwOworICAgICAgICBkYXRh
LnN0YXJ0VGltZSA9IHsgfTsKICAgICB9CiAgICAgZmxvYXQgbmV3UG9zaXRpb24gPSBkYXRhLmRl
c2lyZWRQb3NpdGlvbiArIGRlbHRhOwogCkBAIC0yNzksNyArMjc5LDcgQEAgYm9vbCBTY3JvbGxB
bmltYXRpb25TbW9vdGg6OnVwZGF0ZVBlckF4aXNEYXRhKFBlckF4aXNEYXRhJiBkYXRhLCBTY3Jv
bGxHcmFudWxhcmkKICAgICBpZiAobmV3UG9zaXRpb24gPT0gZGF0YS5kZXNpcmVkUG9zaXRpb24p
CiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIGRvdWJsZSBhbmltYXRpb25UaW1lLCByZXBl
YXRNaW5pbXVtU3VzdGFpblRpbWUsIGF0dGFja1RpbWUsIHJlbGVhc2VUaW1lLCBtYXhpbXVtQ29h
c3RUaW1lOworICAgIFNlY29uZHMgYW5pbWF0aW9uVGltZSwgcmVwZWF0TWluaW11bVN1c3RhaW5U
aW1lLCBhdHRhY2tUaW1lLCByZWxlYXNlVGltZSwgbWF4aW11bUNvYXN0VGltZTsKICAgICBDdXJ2
ZSBjb2FzdFRpbWVDdXJ2ZTsKICAgICBnZXRBbmltYXRpb25QYXJhbWV0ZXJzRm9yR3JhbnVsYXJp
dHkoZ3JhbnVsYXJpdHksIGFuaW1hdGlvblRpbWUsIHJlcGVhdE1pbmltdW1TdXN0YWluVGltZSwg
YXR0YWNrVGltZSwgcmVsZWFzZVRpbWUsIGNvYXN0VGltZUN1cnZlLCBtYXhpbXVtQ29hc3RUaW1l
KTsKIApAQCAtMjk4LDcgKzI5OCw3IEBAIGJvb2wgU2Nyb2xsQW5pbWF0aW9uU21vb3RoOjp1cGRh
dGVQZXJBeGlzRGF0YShQZXJBeGlzRGF0YSYgZGF0YSwgU2Nyb2xsR3JhbnVsYXJpCiAKICAgICBp
ZiAoIWRhdGEuc3RhcnRUaW1lKSB7CiAgICAgICAgIC8vIEZJWE1FOiBUaGlzIHNob3VsZCBiZSB0
aGUgdGltZSBmcm9tIHRoZSBldmVudCB0aGF0IGdvdCB1cyBoZXJlLgotICAgICAgICBkYXRhLnN0
YXJ0VGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpIC0gdGlja1RpbWUgLyAyOwor
ICAgICAgICBkYXRhLnN0YXJ0VGltZSA9IE1vbm90b25pY1RpbWU6Om5vdygpIC0gdGlja1RpbWUg
LyAyLjsKICAgICAgICAgZGF0YS5zdGFydFBvc2l0aW9uID0gZGF0YS5jdXJyZW50UG9zaXRpb247
CiAgICAgICAgIGRhdGEubGFzdEFuaW1hdGlvblRpbWUgPSBkYXRhLnN0YXJ0VGltZTsKICAgICB9
CkBAIC0zMDYsMTAgKzMwNiwxMCBAQCBib29sIFNjcm9sbEFuaW1hdGlvblNtb290aDo6dXBkYXRl
UGVyQXhpc0RhdGEoUGVyQXhpc0RhdGEmIGRhdGEsIFNjcm9sbEdyYW51bGFyaQogCiAgICAgZG91
YmxlIHJlbWFpbmluZ0RlbHRhID0gZGF0YS5kZXNpcmVkUG9zaXRpb24gLSBkYXRhLmN1cnJlbnRQ
b3NpdGlvbjsKICAgICBkb3VibGUgYXR0YWNrQXJlYUxlZnQgPSAwOwotICAgIGRvdWJsZSBkZWx0
YVRpbWUgPSBkYXRhLmxhc3RBbmltYXRpb25UaW1lIC0gZGF0YS5zdGFydFRpbWU7Ci0gICAgZG91
YmxlIGF0dGFja1RpbWVMZWZ0ID0gc3RkOjptYXgoMC4sIGRhdGEuYXR0YWNrVGltZSAtIGRlbHRh
VGltZSk7Ci0gICAgZG91YmxlIHRpbWVMZWZ0ID0gZGF0YS5hbmltYXRpb25UaW1lIC0gZGVsdGFU
aW1lOwotICAgIGRvdWJsZSBtaW5UaW1lTGVmdCA9IGRhdGEucmVsZWFzZVRpbWUgKyBzdGQ6Om1p
bihyZXBlYXRNaW5pbXVtU3VzdGFpblRpbWUsIGRhdGEuYW5pbWF0aW9uVGltZSAtIGRhdGEucmVs
ZWFzZVRpbWUgLSBhdHRhY2tUaW1lTGVmdCk7CisgICAgU2Vjb25kcyBkZWx0YVRpbWUgPSBkYXRh
Lmxhc3RBbmltYXRpb25UaW1lIC0gZGF0YS5zdGFydFRpbWU7CisgICAgU2Vjb25kcyBhdHRhY2tU
aW1lTGVmdCA9IHN0ZDo6bWF4KDBfcywgZGF0YS5hdHRhY2tUaW1lIC0gZGVsdGFUaW1lKTsKKyAg
ICBTZWNvbmRzIHRpbWVMZWZ0ID0gZGF0YS5hbmltYXRpb25UaW1lIC0gZGVsdGFUaW1lOworICAg
IFNlY29uZHMgbWluVGltZUxlZnQgPSBkYXRhLnJlbGVhc2VUaW1lICsgc3RkOjptaW4ocmVwZWF0
TWluaW11bVN1c3RhaW5UaW1lLCBkYXRhLmFuaW1hdGlvblRpbWUgLSBkYXRhLnJlbGVhc2VUaW1l
IC0gYXR0YWNrVGltZUxlZnQpOwogICAgIGlmICh0aW1lTGVmdCA8IG1pblRpbWVMZWZ0KSB7CiAg
ICAgICAgIGRhdGEuYW5pbWF0aW9uVGltZSA9IGRlbHRhVGltZSArIG1pblRpbWVMZWZ0OwogICAg
ICAgICB0aW1lTGVmdCA9IG1pblRpbWVMZWZ0OwpAQCAtMzIxLDE0ICszMjEsMTQgQEAgYm9vbCBT
Y3JvbGxBbmltYXRpb25TbW9vdGg6OnVwZGF0ZVBlckF4aXNEYXRhKFBlckF4aXNEYXRhJiBkYXRh
LCBTY3JvbGxHcmFudWxhcmkKICAgICAgICAgZG91YmxlIG1pbkNvYXN0RGVsdGEgPSBkYXRhLnZp
c2libGVMZW5ndGg7CiAKICAgICAgICAgaWYgKGZhYnMocmVtYWluaW5nRGVsdGEpID4gbWluQ29h
c3REZWx0YSkgewotICAgICAgICAgICAgZG91YmxlIG1heENvYXN0RGVsdGEgPSBtYXhpbXVtQ29h
c3RUaW1lICogdGFyZ2V0TWF4Q29hc3RWZWxvY2l0eTsKKyAgICAgICAgICAgIGRvdWJsZSBtYXhD
b2FzdERlbHRhID0gbWF4aW11bUNvYXN0VGltZS52YWx1ZSgpICogdGFyZ2V0TWF4Q29hc3RWZWxv
Y2l0eTsKICAgICAgICAgICAgIGRvdWJsZSBjb2FzdEZhY3RvciA9IHN0ZDo6bWluKDEuLCAoZmFi
cyhyZW1haW5pbmdEZWx0YSkgLSBtaW5Db2FzdERlbHRhKSAvIChtYXhDb2FzdERlbHRhIC0gbWlu
Q29hc3REZWx0YSkpOwogCiAgICAgICAgICAgICAvLyBXZSBjb3VsZCBwbGF5IHdpdGggdGhlIGN1
cnZlIGhlcmUgLSBsaW5lYXIgc2VlbXMgYSBsaXR0bGUgc29mdC4gSW5pdGlhbCB0ZXN0aW5nIG1h
a2VzIG1lIHdhbnQgdG8gZmVlZCBpbnRvIHRoZSBzdXN0YWluIHRpbWUgbW9yZSBhZ2dyZXNzaXZl
bHkuCi0gICAgICAgICAgICBkb3VibGUgY29hc3RNaW5UaW1lTGVmdCA9IHN0ZDo6bWluKG1heGlt
dW1Db2FzdFRpbWUsIG1pblRpbWVMZWZ0ICsgY29hc3RDdXJ2ZShjb2FzdFRpbWVDdXJ2ZSwgY29h
c3RGYWN0b3IpICogKG1heGltdW1Db2FzdFRpbWUgLSBtaW5UaW1lTGVmdCkpOworICAgICAgICAg
ICAgU2Vjb25kcyBjb2FzdE1pblRpbWVMZWZ0ID0gc3RkOjptaW4obWF4aW11bUNvYXN0VGltZSwg
bWluVGltZUxlZnQgKyAobWF4aW11bUNvYXN0VGltZSAtIG1pblRpbWVMZWZ0KSAqIGNvYXN0Q3Vy
dmUoY29hc3RUaW1lQ3VydmUsIGNvYXN0RmFjdG9yKSk7CiAKLSAgICAgICAgICAgIGlmIChkb3Vi
bGUgYWRkaXRpb25hbFRpbWUgPSBzdGQ6Om1heCgwLiwgY29hc3RNaW5UaW1lTGVmdCAtIG1pblRp
bWVMZWZ0KSkgewotICAgICAgICAgICAgICAgIGRvdWJsZSBhZGRpdGlvbmFsUmVsZWFzZVRpbWUg
PSBzdGQ6Om1pbihhZGRpdGlvbmFsVGltZSwgcmVsZWFzZVRpbWUgLyAocmVsZWFzZVRpbWUgKyBy
ZXBlYXRNaW5pbXVtU3VzdGFpblRpbWUpICogYWRkaXRpb25hbFRpbWUpOworICAgICAgICAgICAg
aWYgKFNlY29uZHMgYWRkaXRpb25hbFRpbWUgPSBzdGQ6Om1heCgwX3MsIGNvYXN0TWluVGltZUxl
ZnQgLSBtaW5UaW1lTGVmdCkpIHsKKyAgICAgICAgICAgICAgICBTZWNvbmRzIGFkZGl0aW9uYWxS
ZWxlYXNlVGltZSA9IHN0ZDo6bWluKGFkZGl0aW9uYWxUaW1lLCBhZGRpdGlvbmFsVGltZSAqIChy
ZWxlYXNlVGltZSAvIChyZWxlYXNlVGltZSArIHJlcGVhdE1pbmltdW1TdXN0YWluVGltZSkpKTsK
ICAgICAgICAgICAgICAgICBkYXRhLnJlbGVhc2VUaW1lID0gcmVsZWFzZVRpbWUgKyBhZGRpdGlv
bmFsUmVsZWFzZVRpbWU7CiAgICAgICAgICAgICAgICAgZGF0YS5hbmltYXRpb25UaW1lID0gZGVs
dGFUaW1lICsgY29hc3RNaW5UaW1lTGVmdDsKICAgICAgICAgICAgICAgICB0aW1lTGVmdCA9IGNv
YXN0TWluVGltZUxlZnQ7CkBAIC0zMzYsNDMgKzMzNiw0MyBAQCBib29sIFNjcm9sbEFuaW1hdGlv
blNtb290aDo6dXBkYXRlUGVyQXhpc0RhdGEoUGVyQXhpc0RhdGEmIGRhdGEsIFNjcm9sbEdyYW51
bGFyaQogICAgICAgICB9CiAgICAgfQogCi0gICAgZG91YmxlIHJlbGVhc2VUaW1lTGVmdCA9IHN0
ZDo6bWluKHRpbWVMZWZ0LCBkYXRhLnJlbGVhc2VUaW1lKTsKLSAgICBkb3VibGUgc3VzdGFpblRp
bWVMZWZ0ID0gc3RkOjptYXgoMC4sIHRpbWVMZWZ0IC0gcmVsZWFzZVRpbWVMZWZ0IC0gYXR0YWNr
VGltZUxlZnQpOworICAgIFNlY29uZHMgcmVsZWFzZVRpbWVMZWZ0ID0gc3RkOjptaW4odGltZUxl
ZnQsIGRhdGEucmVsZWFzZVRpbWUpOworICAgIFNlY29uZHMgc3VzdGFpblRpbWVMZWZ0ID0gc3Rk
OjptYXgoMF9zLCB0aW1lTGVmdCAtIHJlbGVhc2VUaW1lTGVmdCAtIGF0dGFja1RpbWVMZWZ0KTsK
ICAgICBpZiAoYXR0YWNrVGltZUxlZnQpIHsKICAgICAgICAgZG91YmxlIGF0dGFja1Nwb3QgPSBk
ZWx0YVRpbWUgLyBkYXRhLmF0dGFja1RpbWU7Ci0gICAgICAgIGF0dGFja0FyZWFMZWZ0ID0gYXR0
YWNrQXJlYShDdXJ2ZTo6Q3ViaWMsIGF0dGFja1Nwb3QsIDEpICogZGF0YS5hdHRhY2tUaW1lOwor
ICAgICAgICBhdHRhY2tBcmVhTGVmdCA9IGF0dGFja0FyZWEoQ3VydmU6OkN1YmljLCBhdHRhY2tT
cG90LCAxKSAqIGRhdGEuYXR0YWNrVGltZS52YWx1ZSgpOwogICAgIH0KIAogICAgIGRvdWJsZSBy
ZWxlYXNlU3BvdCA9IChkYXRhLnJlbGVhc2VUaW1lIC0gcmVsZWFzZVRpbWVMZWZ0KSAvIGRhdGEu
cmVsZWFzZVRpbWU7Ci0gICAgZG91YmxlIHJlbGVhc2VBcmVhTGVmdCA9IHJlbGVhc2VBcmVhKEN1
cnZlOjpDdWJpYywgcmVsZWFzZVNwb3QsIDEpICogZGF0YS5yZWxlYXNlVGltZTsKKyAgICBkb3Vi
bGUgcmVsZWFzZUFyZWFMZWZ0ID0gcmVsZWFzZUFyZWEoQ3VydmU6OkN1YmljLCByZWxlYXNlU3Bv
dCwgMSkgKiBkYXRhLnJlbGVhc2VUaW1lLnZhbHVlKCk7CiAKLSAgICBkYXRhLmRlc2lyZWRWZWxv
Y2l0eSA9IHJlbWFpbmluZ0RlbHRhIC8gKGF0dGFja0FyZWFMZWZ0ICsgc3VzdGFpblRpbWVMZWZ0
ICsgcmVsZWFzZUFyZWFMZWZ0KTsKKyAgICBkYXRhLmRlc2lyZWRWZWxvY2l0eSA9IHJlbWFpbmlu
Z0RlbHRhIC8gKGF0dGFja0FyZWFMZWZ0ICsgc3VzdGFpblRpbWVMZWZ0LnZhbHVlKCkgKyByZWxl
YXNlQXJlYUxlZnQpOwogICAgIGRhdGEucmVsZWFzZVBvc2l0aW9uID0gZGF0YS5kZXNpcmVkUG9z
aXRpb24gLSBkYXRhLmRlc2lyZWRWZWxvY2l0eSAqIHJlbGVhc2VBcmVhTGVmdDsKICAgICBpZiAo
YXR0YWNrQXJlYUxlZnQpCiAgICAgICAgIGRhdGEuYXR0YWNrUG9zaXRpb24gPSBkYXRhLnN0YXJ0
UG9zaXRpb24gKyBkYXRhLmRlc2lyZWRWZWxvY2l0eSAqIGF0dGFja0FyZWFMZWZ0OwogICAgIGVs
c2UKLSAgICAgICAgZGF0YS5hdHRhY2tQb3NpdGlvbiA9IGRhdGEucmVsZWFzZVBvc2l0aW9uIC0g
KGRhdGEuYW5pbWF0aW9uVGltZSAtIGRhdGEucmVsZWFzZVRpbWUgLSBkYXRhLmF0dGFja1RpbWUp
ICogZGF0YS5kZXNpcmVkVmVsb2NpdHk7CisgICAgICAgIGRhdGEuYXR0YWNrUG9zaXRpb24gPSBk
YXRhLnJlbGVhc2VQb3NpdGlvbiAtIChkYXRhLmFuaW1hdGlvblRpbWUgLSBkYXRhLnJlbGVhc2VU
aW1lIC0gZGF0YS5hdHRhY2tUaW1lKS52YWx1ZSgpICogZGF0YS5kZXNpcmVkVmVsb2NpdHk7CiAK
ICAgICBpZiAoc3VzdGFpblRpbWVMZWZ0KSB7Ci0gICAgICAgIGRvdWJsZSByb3VuZE9mZiA9IGRh
dGEucmVsZWFzZVBvc2l0aW9uIC0gKChhdHRhY2tBcmVhTGVmdCA/IGRhdGEuYXR0YWNrUG9zaXRp
b24gOiBkYXRhLmN1cnJlbnRQb3NpdGlvbikgKyBkYXRhLmRlc2lyZWRWZWxvY2l0eSAqIHN1c3Rh
aW5UaW1lTGVmdCk7Ci0gICAgICAgIGRhdGEuZGVzaXJlZFZlbG9jaXR5ICs9IHJvdW5kT2ZmIC8g
c3VzdGFpblRpbWVMZWZ0OworICAgICAgICBkb3VibGUgcm91bmRPZmYgPSBkYXRhLnJlbGVhc2VQ
b3NpdGlvbiAtICgoYXR0YWNrQXJlYUxlZnQgPyBkYXRhLmF0dGFja1Bvc2l0aW9uIDogZGF0YS5j
dXJyZW50UG9zaXRpb24pICsgZGF0YS5kZXNpcmVkVmVsb2NpdHkgKiBzdXN0YWluVGltZUxlZnQu
dmFsdWUoKSk7CisgICAgICAgIGRhdGEuZGVzaXJlZFZlbG9jaXR5ICs9IHJvdW5kT2ZmIC8gc3Vz
dGFpblRpbWVMZWZ0LnZhbHVlKCk7CiAgICAgfQogCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLWJv
b2wgU2Nyb2xsQW5pbWF0aW9uU21vb3RoOjphbmltYXRlU2Nyb2xsKFBlckF4aXNEYXRhJiBkYXRh
LCBkb3VibGUgY3VycmVudFRpbWUpCitib29sIFNjcm9sbEFuaW1hdGlvblNtb290aDo6YW5pbWF0
ZVNjcm9sbChQZXJBeGlzRGF0YSYgZGF0YSwgTW9ub3RvbmljVGltZSBjdXJyZW50VGltZSkKIHsK
ICAgICBpZiAoIWRhdGEuc3RhcnRUaW1lKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBk
b3VibGUgbGFzdFNjcm9sbEludGVydmFsID0gY3VycmVudFRpbWUgLSBkYXRhLmxhc3RBbmltYXRp
b25UaW1lOworICAgIFNlY29uZHMgbGFzdFNjcm9sbEludGVydmFsID0gY3VycmVudFRpbWUgLSBk
YXRhLmxhc3RBbmltYXRpb25UaW1lOwogICAgIGlmIChsYXN0U2Nyb2xsSW50ZXJ2YWwgPCBtaW5p
bXVtVGltZXJJbnRlcnZhbCkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKICAgICBkYXRhLmxhc3RB
bmltYXRpb25UaW1lID0gY3VycmVudFRpbWU7CiAKLSAgICBkb3VibGUgZGVsdGFUaW1lID0gY3Vy
cmVudFRpbWUgLSBkYXRhLnN0YXJ0VGltZTsKKyAgICBTZWNvbmRzIGRlbHRhVGltZSA9IGN1cnJl
bnRUaW1lIC0gZGF0YS5zdGFydFRpbWU7CiAgICAgZG91YmxlIG5ld1Bvc2l0aW9uID0gZGF0YS5j
dXJyZW50UG9zaXRpb247CiAKICAgICBpZiAoZGVsdGFUaW1lID4gZGF0YS5hbmltYXRpb25UaW1l
KSB7CkBAIC0zODAsMTggKzM4MCwxOCBAQCBib29sIFNjcm9sbEFuaW1hdGlvblNtb290aDo6YW5p
bWF0ZVNjcm9sbChQZXJBeGlzRGF0YSYgZGF0YSwgZG91YmxlIGN1cnJlbnRUaW1lKQogICAgICAg
ICByZXR1cm4gZmFsc2U7CiAgICAgfQogICAgIGlmIChkZWx0YVRpbWUgPCBkYXRhLmF0dGFja1Rp
bWUpCi0gICAgICAgIG5ld1Bvc2l0aW9uID0gYXR0YWNrQ3VydmUoQ3VydmU6OkN1YmljLCBkZWx0
YVRpbWUsIGRhdGEuYXR0YWNrVGltZSwgZGF0YS5zdGFydFBvc2l0aW9uLCBkYXRhLmF0dGFja1Bv
c2l0aW9uKTsKKyAgICAgICAgbmV3UG9zaXRpb24gPSBhdHRhY2tDdXJ2ZShDdXJ2ZTo6Q3ViaWMs
IGRlbHRhVGltZS52YWx1ZSgpLCBkYXRhLmF0dGFja1RpbWUudmFsdWUoKSwgZGF0YS5zdGFydFBv
c2l0aW9uLCBkYXRhLmF0dGFja1Bvc2l0aW9uKTsKICAgICBlbHNlIGlmIChkZWx0YVRpbWUgPCAo
ZGF0YS5hbmltYXRpb25UaW1lIC0gZGF0YS5yZWxlYXNlVGltZSkpCi0gICAgICAgIG5ld1Bvc2l0
aW9uID0gZGF0YS5hdHRhY2tQb3NpdGlvbiArIChkZWx0YVRpbWUgLSBkYXRhLmF0dGFja1RpbWUp
ICogZGF0YS5kZXNpcmVkVmVsb2NpdHk7CisgICAgICAgIG5ld1Bvc2l0aW9uID0gZGF0YS5hdHRh
Y2tQb3NpdGlvbiArIChkZWx0YVRpbWUgLSBkYXRhLmF0dGFja1RpbWUpLnZhbHVlKCkgKiBkYXRh
LmRlc2lyZWRWZWxvY2l0eTsKICAgICBlbHNlIHsKICAgICAgICAgLy8gcmVsZWFzZSBpcyBiYXNl
ZCBvbiB0YXJnZXRpbmcgdGhlIGV4YWN0IGZpbmFsIHBvc2l0aW9uLgotICAgICAgICBkb3VibGUg
cmVsZWFzZURlbHRhVCA9IGRlbHRhVGltZSAtIChkYXRhLmFuaW1hdGlvblRpbWUgLSBkYXRhLnJl
bGVhc2VUaW1lKTsKLSAgICAgICAgbmV3UG9zaXRpb24gPSByZWxlYXNlQ3VydmUoQ3VydmU6OkN1
YmljLCByZWxlYXNlRGVsdGFULCBkYXRhLnJlbGVhc2VUaW1lLCBkYXRhLnJlbGVhc2VQb3NpdGlv
biwgZGF0YS5kZXNpcmVkUG9zaXRpb24pOworICAgICAgICBTZWNvbmRzIHJlbGVhc2VEZWx0YVQg
PSBkZWx0YVRpbWUgLSAoZGF0YS5hbmltYXRpb25UaW1lIC0gZGF0YS5yZWxlYXNlVGltZSk7Cisg
ICAgICAgIG5ld1Bvc2l0aW9uID0gcmVsZWFzZUN1cnZlKEN1cnZlOjpDdWJpYywgcmVsZWFzZURl
bHRhVC52YWx1ZSgpLCBkYXRhLnJlbGVhc2VUaW1lLnZhbHVlKCksIGRhdGEucmVsZWFzZVBvc2l0
aW9uLCBkYXRhLmRlc2lyZWRQb3NpdGlvbik7CiAgICAgfQogCiAgICAgLy8gTm9ybWFsaXplIHZl
bG9jaXR5IHRvIGEgcGVyIHNlY29uZCBhbW91bnQuIENvdWxkIGJlIHVzZWQgdG8gY2hlY2sgZm9y
IGphbmsuCi0gICAgaWYgKGxhc3RTY3JvbGxJbnRlcnZhbCA+IDApCi0gICAgICAgIGRhdGEuY3Vy
cmVudFZlbG9jaXR5ID0gKG5ld1Bvc2l0aW9uIC0gZGF0YS5jdXJyZW50UG9zaXRpb24pIC8gbGFz
dFNjcm9sbEludGVydmFsOworICAgIGlmIChsYXN0U2Nyb2xsSW50ZXJ2YWwgPiAwX3MpCisgICAg
ICAgIGRhdGEuY3VycmVudFZlbG9jaXR5ID0gKG5ld1Bvc2l0aW9uIC0gZGF0YS5jdXJyZW50UG9z
aXRpb24pIC8gbGFzdFNjcm9sbEludGVydmFsLnZhbHVlKCk7CiAgICAgZGF0YS5jdXJyZW50UG9z
aXRpb24gPSBuZXdQb3NpdGlvbjsKIAogICAgIHJldHVybiB0cnVlOwpAQCAtMzk5LDggKzM5OSw4
IEBAIGJvb2wgU2Nyb2xsQW5pbWF0aW9uU21vb3RoOjphbmltYXRlU2Nyb2xsKFBlckF4aXNEYXRh
JiBkYXRhLCBkb3VibGUgY3VycmVudFRpbWUpCiAKIHZvaWQgU2Nyb2xsQW5pbWF0aW9uU21vb3Ro
OjphbmltYXRpb25UaW1lckZpcmVkKCkKIHsKLSAgICBkb3VibGUgY3VycmVudFRpbWUgPSBtb25v
dG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKLSAgICBkb3VibGUgZGVsdGFUb05leHRGcmFtZSA9
IGNlaWwoKGN1cnJlbnRUaW1lIC0gbV9zdGFydFRpbWUpICogZnJhbWVSYXRlKSAvIGZyYW1lUmF0
ZSAtIChjdXJyZW50VGltZSAtIG1fc3RhcnRUaW1lKTsKKyAgICBNb25vdG9uaWNUaW1lIGN1cnJl
bnRUaW1lID0gTW9ub3RvbmljVGltZTo6bm93KCk7CisgICAgU2Vjb25kcyBkZWx0YVRvTmV4dEZy
YW1lID0gMV9zICogY2VpbCgoY3VycmVudFRpbWUgLSBtX3N0YXJ0VGltZSkudmFsdWUoKSAqIGZy
YW1lUmF0ZSkgLyBmcmFtZVJhdGUgLSAoY3VycmVudFRpbWUgLSBtX3N0YXJ0VGltZSk7CiAgICAg
Y3VycmVudFRpbWUgKz0gZGVsdGFUb05leHRGcmFtZTsKIAogICAgIGJvb2wgY29udGludWVBbmlt
YXRpb24gPSBmYWxzZTsKQEAgLTQyMiw3ICs0MjIsNyBAQCB2b2lkIFNjcm9sbEFuaW1hdGlvblNt
b290aDo6YW5pbWF0aW9uVGltZXJGaXJlZCgpCiB9CiAKICNpZiBVU0UoUkVRVUVTVF9BTklNQVRJ
T05fRlJBTUVfVElNRVIpCi12b2lkIFNjcm9sbEFuaW1hdGlvblNtb290aDo6c3RhcnROZXh0VGlt
ZXIoZG91YmxlIGRlbGF5KQordm9pZCBTY3JvbGxBbmltYXRpb25TbW9vdGg6OnN0YXJ0TmV4dFRp
bWVyKFNlY29uZHMgZGVsYXkpCiB7CiAgICAgbV9hbmltYXRpb25UaW1lci5zdGFydE9uZVNob3Qo
ZGVsYXkpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5p
bWF0aW9uU21vb3RoLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRpb25T
bW9vdGguaAppbmRleCBlYmE5ZGIyZTk0NzJkYWJkMjZiNDFlM2RhNjliMzYwZjg1YzgzMDJkLi44
ZDZmOWM5NWZkY2Q0YmQyOTI5ZTZjMDc5NTcwMTU3MDU3Y2Q2MzJjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRpb25TbW9vdGguaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRpb25TbW9vdGguaApAQCAtNzYsMjkgKzc2LDI5
IEBAIHByaXZhdGU6CiAgICAgICAgIGRvdWJsZSBkZXNpcmVkVmVsb2NpdHkgeyAwIH07CiAKICAg
ICAgICAgZG91YmxlIHN0YXJ0UG9zaXRpb24geyAwIH07Ci0gICAgICAgIGRvdWJsZSBzdGFydFRp
bWUgeyAwIH07CisgICAgICAgIE1vbm90b25pY1RpbWUgc3RhcnRUaW1lOwogICAgICAgICBkb3Vi
bGUgc3RhcnRWZWxvY2l0eSB7IDAgfTsKIAotICAgICAgICBkb3VibGUgYW5pbWF0aW9uVGltZSB7
IDAgfTsKLSAgICAgICAgZG91YmxlIGxhc3RBbmltYXRpb25UaW1lIHsgMCB9OworICAgICAgICBT
ZWNvbmRzIGFuaW1hdGlvblRpbWU7CisgICAgICAgIE1vbm90b25pY1RpbWUgbGFzdEFuaW1hdGlv
blRpbWU7CiAKICAgICAgICAgZG91YmxlIGF0dGFja1Bvc2l0aW9uIHsgMCB9OwotICAgICAgICBk
b3VibGUgYXR0YWNrVGltZSB7IDAgfTsKKyAgICAgICAgU2Vjb25kcyBhdHRhY2tUaW1lOwogICAg
ICAgICBDdXJ2ZSBhdHRhY2tDdXJ2ZSB7IEN1cnZlOjpRdWFkcmF0aWMgfTsKIAogICAgICAgICBk
b3VibGUgcmVsZWFzZVBvc2l0aW9uIHsgMCB9OwotICAgICAgICBkb3VibGUgcmVsZWFzZVRpbWUg
eyAwIH07CisgICAgICAgIFNlY29uZHMgcmVsZWFzZVRpbWU7CiAgICAgICAgIEN1cnZlIHJlbGVh
c2VDdXJ2ZSB7IEN1cnZlOjpRdWFkcmF0aWMgfTsKIAogICAgICAgICBpbnQgdmlzaWJsZUxlbmd0
aCB7IDAgfTsKICAgICB9OwogCiAgICAgYm9vbCB1cGRhdGVQZXJBeGlzRGF0YShQZXJBeGlzRGF0
YSYsIFNjcm9sbEdyYW51bGFyaXR5LCBmbG9hdCBkZWx0YSwgZmxvYXQgbWluU2Nyb2xsUG9zaXRp
b24sIGZsb2F0IG1heFNjcm9sbFBvc2l0aW9uKTsKLSAgICBib29sIGFuaW1hdGVTY3JvbGwoUGVy
QXhpc0RhdGEmLCBkb3VibGUgY3VycmVudFRpbWUpOworICAgIGJvb2wgYW5pbWF0ZVNjcm9sbChQ
ZXJBeGlzRGF0YSYsIE1vbm90b25pY1RpbWUgY3VycmVudFRpbWUpOwogCiAjaWYgVVNFKFJFUVVF
U1RfQU5JTUFUSU9OX0ZSQU1FX1RJTUVSKQogICAgIHZvaWQgcmVxdWVzdEFuaW1hdGlvblRpbWVy
RmlyZWQoKTsKLSAgICB2b2lkIHN0YXJ0TmV4dFRpbWVyKGRvdWJsZSBkZWxheSk7CisgICAgdm9p
ZCBzdGFydE5leHRUaW1lcihTZWNvbmRzIGRlbGF5KTsKICNlbHNlCiAgICAgdm9pZCBzdGFydE5l
eHRUaW1lcigpOwogI2VuZGlmCkBAIC0xMTAsNyArMTEwLDcgQEAgcHJpdmF0ZToKICAgICBQZXJB
eGlzRGF0YSBtX2hvcml6b250YWxEYXRhOwogICAgIFBlckF4aXNEYXRhIG1fdmVydGljYWxEYXRh
OwogCi0gICAgZG91YmxlIG1fc3RhcnRUaW1lIHsgMCB9OworICAgIE1vbm90b25pY1RpbWUgbV9z
dGFydFRpbWU7CiAjaWYgVVNFKFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FX1RJTUVSKQogICAgIFRp
bWVyIG1fYW5pbWF0aW9uVGltZXI7CiAjZWxzZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vVGltZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmgKaW5kZXgg
MDUxNzRiNGYxNGIzNjgyZThkN2JkY2ZhMzQ1Yzg0NmE4Zjk2YjUyNy4uNTJkZWJhODE1Yjg3ZWM2
MWUxYjEzNjIyOTQ4NjEzYTg2ZjJmYzgwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vVGltZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5oCkBAIC01
NSw4ICs1NSw2IEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHN0YXJ0KFNlY29u
ZHMgbmV4dEZpcmVJbnRlcnZhbCwgU2Vjb25kcyByZXBlYXRJbnRlcnZhbCk7CiAKICAgICB2b2lk
IHN0YXJ0UmVwZWF0aW5nKFNlY29uZHMgcmVwZWF0SW50ZXJ2YWwpIHsgc3RhcnQocmVwZWF0SW50
ZXJ2YWwsIHJlcGVhdEludGVydmFsKTsgfQotCi0gICAgdm9pZCBzdGFydE9uZVNob3QoZG91Ymxl
IGludGVydmFsKSB7IHN0YXJ0T25lU2hvdChTZWNvbmRzIHsgaW50ZXJ2YWwgfSk7IH0KICAgICB2
b2lkIHN0YXJ0T25lU2hvdChTZWNvbmRzIGludGVydmFsKSB7IHN0YXJ0KGludGVydmFsLCAwX3Mp
OyB9CiAKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHN0b3AoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmNwcAppbmRleCA1
NjlhNWI5ZTA2ZWQ5NmM2ZDBkNzBjNjViOGM1MDFhMzM5Zjc2N2Q5Li4wMmQxMDk5MTQxZTQyZTIx
N2I1MmEyNmMzMjI5ODlmYjJkOGUxOTgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb24uY3BwCkBAIC0zNCw3ICszNCw3IEBA
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY29uc3QgZG91YmxlIGtDbGllbnREYXRhQnVmZmVy
aW5nVGltZXJUaHJvdHRsZURlbGF5ID0gMC4xOworc3RhdGljIGNvbnN0IFNlY29uZHMgY2xpZW50
RGF0YUJ1ZmZlcmluZ1RpbWVyVGhyb3R0bGVEZWxheSB7IDEwMF9tcyB9OwogCiAjaWYgIUxPR19E
SVNBQkxFRAogc3RhdGljIGNvbnN0IGNoYXIqIHN0YXRlTmFtZShQbGF0Zm9ybU1lZGlhU2Vzc2lv
bjo6U3RhdGUgc3RhdGUpCkBAIC0yNjAsNyArMjYwLDcgQEAgdm9pZCBQbGF0Zm9ybU1lZGlhU2Vz
c2lvbjo6dmlzaWJpbGl0eUNoYW5nZWQoKQogdm9pZCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6c2No
ZWR1bGVDbGllbnREYXRhQnVmZmVyaW5nQ2hlY2soKQogewogICAgIGlmICghbV9jbGllbnREYXRh
QnVmZmVyaW5nVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9jbGllbnREYXRhQnVmZmVyaW5n
VGltZXIuc3RhcnRPbmVTaG90KGtDbGllbnREYXRhQnVmZmVyaW5nVGltZXJUaHJvdHRsZURlbGF5
KTsKKyAgICAgICAgbV9jbGllbnREYXRhQnVmZmVyaW5nVGltZXIuc3RhcnRPbmVTaG90KGNsaWVu
dERhdGFCdWZmZXJpbmdUaW1lclRocm90dGxlRGVsYXkpOwogfQogCiB2b2lkIFBsYXRmb3JtTWVk
aWFTZXNzaW9uOjpjbGllbnREYXRhQnVmZmVyaW5nVGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9TY3JvbGxDb250cm9sbGVyLm1tIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvU2Nyb2xsQ29udHJvbGxlci5tbQppbmRleCAxZThmN2Rm
ZDg3ZWEzMzk3OGRlZjk0YmZkYWM3ZTJiZGExNWZiYWEyLi5lZTNlNTM3ZmI4YzJiNjg3MGU2MWRm
ZDIzOTc2MDdlYzdmMWY0YjFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9j
b2NvYS9TY3JvbGxDb250cm9sbGVyLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nv
Y29hL1Njcm9sbENvbnRyb2xsZXIubW0KQEAgLTQ5MCw3ICs0OTAsNyBAQCB2b2lkIFNjcm9sbENv
bnRyb2xsZXI6OnNjaGVkdWxlU3RhdGVsZXNzU2Nyb2xsU25hcCgpCiAgICAgICAgIHJldHVybjsK
IAogICAgIHN0YXRpYyBjb25zdCBTZWNvbmRzIHN0YXRlbGVzc1Njcm9sbFNuYXBEZWxheSA9IDc1
MF9tczsKLSAgICBtX3N0YXRlbGVzc1NuYXBUcmFuc2l0aW9uVGltZXIuc3RhcnRPbmVTaG90KHN0
YXRlbGVzc1Njcm9sbFNuYXBEZWxheS52YWx1ZSgpKTsKKyAgICBtX3N0YXRlbGVzc1NuYXBUcmFu
c2l0aW9uVGltZXIuc3RhcnRPbmVTaG90KHN0YXRlbGVzc1Njcm9sbFNuYXBEZWxheSk7CiAgICAg
c3RhcnREZWZlcnJpbmdUZXN0c0R1ZVRvU2Nyb2xsU25hcHBpbmcoKTsKIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9jb2NvYS9HYW1lQ29udHJvbGxlckdh
bWVwYWRQcm92aWRlci5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvY29jb2Ev
R2FtZUNvbnRyb2xsZXJHYW1lcGFkUHJvdmlkZXIubW0KaW5kZXggNTE1ZjNlNGViMWY5NjQ0YWQ0
ZDdhYWRiYWRlNmM1ZjEwOTBmMzc2NS4uMTBlNzc0NTcwYzE2YzMyODAzYzlkYzZmZTdjNjNhZjQw
ZTY5YWIxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9jb2Nv
YS9HYW1lQ29udHJvbGxlckdhbWVwYWRQcm92aWRlci5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9nYW1lcGFkL2NvY29hL0dhbWVDb250cm9sbGVyR2FtZXBhZFByb3ZpZGVyLm1tCkBA
IC00MCw3ICs0MCw3IEBAIFNPRlRfTElOS19DT05TVEFOVF9NQVlfRkFJTChHYW1lQ29udHJvbGxl
ciwgR0NDb250cm9sbGVyRGlkRGlzY29ubmVjdE5vdGlmaWNhdGlvCiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAotc3RhdGljIGNvbnN0IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgSW5wdXROb3Rp
ZmljYXRpb25EZWxheSA9IDE2bXM7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBpbnB1dE5vdGlmaWNh
dGlvbkRlbGF5IHsgMTZfbXMgfTsKIAogR2FtZUNvbnRyb2xsZXJHYW1lcGFkUHJvdmlkZXImIEdh
bWVDb250cm9sbGVyR2FtZXBhZFByb3ZpZGVyOjpzaW5nbGV0b24oKQogewpAQCAtMTQ0LDcgKzE0
NCw3IEBAIHVuc2lnbmVkIEdhbWVDb250cm9sbGVyR2FtZXBhZFByb3ZpZGVyOjppbmRleEZvck5l
d2x5Q29ubmVjdGVkRGV2aWNlKCkKIHZvaWQgR2FtZUNvbnRyb2xsZXJHYW1lcGFkUHJvdmlkZXI6
OmdhbWVwYWRIYWRJbnB1dChHYW1lQ29udHJvbGxlckdhbWVwYWQmLCBib29sIGhhZEJ1dHRvblBy
ZXNzZXMpCiB7CiAgICAgaWYgKCFtX2lucHV0Tm90aWZpY2F0aW9uVGltZXIuaXNBY3RpdmUoKSkK
LSAgICAgICAgbV9pbnB1dE5vdGlmaWNhdGlvblRpbWVyLnN0YXJ0T25lU2hvdChJbnB1dE5vdGlm
aWNhdGlvbkRlbGF5KTsKKyAgICAgICAgbV9pbnB1dE5vdGlmaWNhdGlvblRpbWVyLnN0YXJ0T25l
U2hvdChpbnB1dE5vdGlmaWNhdGlvbkRlbGF5KTsKIAogICAgIGlmIChoYWRCdXR0b25QcmVzc2Vz
KQogICAgICAgICBtX3Nob3VsZE1ha2VJbnZpc2liaWxlR2FtZXBhZHNWaXNpYmxlID0gdHJ1ZTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvbWFjL0hJREdhbWVw
YWRQcm92aWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nYW1lcGFkL21hYy9ISURH
YW1lcGFkUHJvdmlkZXIuY3BwCmluZGV4IDAwMjY2NGNhYTJhMjdiMmM0YzkzOTI0YTBkODEyMzlm
YWE1YzQxNDQuLjJlMjI5OTI2OWMyYWM2MmRlYTA3ZDQ5MzYzMGQ4ZTA0NDhmNWFlNGQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvbWFjL0hJREdhbWVwYWRQcm92
aWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9tYWMvSElER2Ft
ZXBhZFByb3ZpZGVyLmNwcApAQCAtMzQsOCArMzQsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKLXN0YXRpYyBjb25zdCBkb3VibGUgQ29ubmVjdGlvbkRlbGF5SW50ZXJ2YWwgPSAwLjU7Ci1z
dGF0aWMgY29uc3QgZG91YmxlIElucHV0Tm90aWZpY2F0aW9uRGVsYXkgPSAwLjA1Oworc3RhdGlj
IGNvbnN0IFNlY29uZHMgY29ubmVjdGlvbkRlbGF5SW50ZXJ2YWwgeyA1MDBfbXMgfTsKK3N0YXRp
YyBjb25zdCBTZWNvbmRzIGlucHV0Tm90aWZpY2F0aW9uRGVsYXkgeyA1MF9tcyB9OwogCiBzdGF0
aWMgUmV0YWluUHRyPENGRGljdGlvbmFyeVJlZj4gZGV2aWNlTWF0Y2hpbmdEaWN0aW9uYXJ5KHVp
bnQzMl90IHVzYWdlUGFnZSwgdWludDMyX3QgdXNhZ2UpCiB7CkBAIC0xNDIsOSArMTQyLDkgQEAg
dm9pZCBISURHYW1lcGFkUHJvdmlkZXI6Om9wZW5BbmRTY2hlZHVsZU1hbmFnZXIoKQogICAgIElP
SElETWFuYWdlclNjaGVkdWxlV2l0aFJ1bkxvb3AobV9tYW5hZ2VyLmdldCgpLCBDRlJ1bkxvb3BH
ZXRDdXJyZW50KCksIGtDRlJ1bkxvb3BEZWZhdWx0TW9kZSk7CiAgICAgSU9ISURNYW5hZ2VyT3Bl
bihtX21hbmFnZXIuZ2V0KCksIGtJT0hJRE9wdGlvbnNUeXBlTm9uZSk7CiAKLSAgICAvLyBBbnkg
Y29ubmVjdGlvbnMgd2UgYXJlIG5vdGlmaWVkIG9mIHdpdGhpbiB0aGUgQ29ubmVjdGlvbkRlbGF5
SW50ZXJ2YWwgb2YgbGlzdGVuaW5nIGxpa2VseSByZXByZXNlbnQKKyAgICAvLyBBbnkgY29ubmVj
dGlvbnMgd2UgYXJlIG5vdGlmaWVkIG9mIHdpdGhpbiB0aGUgY29ubmVjdGlvbkRlbGF5SW50ZXJ2
YWwgb2YgbGlzdGVuaW5nIGxpa2VseSByZXByZXNlbnQKICAgICAvLyBkZXZpY2VzIHRoYXQgd2Vy
ZSBhbHJlYWR5IGNvbm5lY3RlZCwgc28gd2Ugc3VwcHJlc3Mgbm90aWZ5aW5nIGNsaWVudHMgb2Yg
dGhlc2UuCi0gICAgbV9jb25uZWN0aW9uRGVsYXlUaW1lci5zdGFydE9uZVNob3QoQ29ubmVjdGlv
bkRlbGF5SW50ZXJ2YWwpOworICAgIG1fY29ubmVjdGlvbkRlbGF5VGltZXIuc3RhcnRPbmVTaG90
KGNvbm5lY3Rpb25EZWxheUludGVydmFsKTsKIH0KIAogdm9pZCBISURHYW1lcGFkUHJvdmlkZXI6
OmNsb3NlQW5kVW5zY2hlZHVsZU1hbmFnZXIoKQpAQCAtMjQzLDcgKzI0Myw3IEBAIHZvaWQgSElE
R2FtZXBhZFByb3ZpZGVyOjp2YWx1ZXNDaGFuZ2VkKElPSElEVmFsdWVSZWYgdmFsdWUpCiAgICAg
Ly8gVGhpcyBpc0FjdGl2ZSBjaGVjayBpcyBuZWNlc3NhcnkgYXMgd2Ugd2FudCB0byBkZWxheSBp
bnB1dCBub3RpZmljYXRpb25zIGZyb20gdGhlIHRpbWUgb2YgdGhlIGZpcnN0IGlucHV0LAogICAg
IC8vIGFuZCBub3QgcHVzaCB0aGUgbm90aWZpY2F0aW9uIG91dCBvbiBldmVyeSBzdWJzZXF1ZW50
IGlucHV0LgogICAgIGlmICghbV9pbnB1dE5vdGlmaWNhdGlvblRpbWVyLmlzQWN0aXZlKCkpCi0g
ICAgICAgIG1faW5wdXROb3RpZmljYXRpb25UaW1lci5zdGFydE9uZVNob3QoSW5wdXROb3RpZmlj
YXRpb25EZWxheSk7CisgICAgICAgIG1faW5wdXROb3RpZmljYXRpb25UaW1lci5zdGFydE9uZVNo
b3QoaW5wdXROb3RpZmljYXRpb25EZWxheSk7CiB9CiAKIHZvaWQgSElER2FtZXBhZFByb3ZpZGVy
OjppbnB1dE5vdGlmaWNhdGlvblRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ2xpYi9NYWluVGhyZWFkU2hhcmVkVGltZXJHTGliLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dsaWIvTWFpblRocmVhZFNoYXJlZFRpbWVyR0xpYi5jcHAKaW5kZXgg
NGFmZTI5ZGMwYjZkODViOWQ2NGM1NDViZTc5MGMwYjg4MTczY2NiOS4uMjE0Nzc0MDliOTFlYWQ3
MmYxYmY3YzU0YjJjOTJmZGZhMzRiNmIxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ2xpYi9NYWluVGhyZWFkU2hhcmVkVGltZXJHTGliLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9nbGliL01haW5UaHJlYWRTaGFyZWRUaW1lckdMaWIuY3BwCkBAIC00MSw3
ICs0MSw3IEBAIE1haW5UaHJlYWRTaGFyZWRUaW1lcjo6TWFpblRocmVhZFNoYXJlZFRpbWVyKCkK
IHZvaWQgTWFpblRocmVhZFNoYXJlZFRpbWVyOjpzZXRGaXJlSW50ZXJ2YWwoU2Vjb25kcyBpbnRl
cnZhbCkKIHsKICAgICBBU1NFUlQobV9maXJlZEZ1bmN0aW9uKTsKLSAgICBtX3RpbWVyLnN0YXJ0
T25lU2hvdChpbnRlcnZhbC52YWx1ZSgpKTsKKyAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChpbnRl
cnZhbCk7CiB9CiAKIHZvaWQgTWFpblRocmVhZFNoYXJlZFRpbWVyOjpzdG9wKCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmNwcAppbmRleCBjMjNi
OWRkYzVhNDczNzJiNWM0OGFlYzA0MDM3ZjMyZjZhZTdkNjg4Li4xYjk0OWNkYWQ0ZTA1NWM5NmZj
OWFlZTBhMTI3YmQwMWQ1MjQxMTg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9CaXRtYXBJbWFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvQml0bWFwSW1hZ2UuY3BwCkBAIC0yODYsNyArMjg2LDcgQEAgdm9pZCBCaXRtYXBJ
bWFnZTo6Y2xlYXJUaW1lcigpCiAgICAgbV9mcmFtZVRpbWVyID0gbnVsbHB0cjsKIH0KIAotdm9p
ZCBCaXRtYXBJbWFnZTo6c3RhcnRUaW1lcihkb3VibGUgZGVsYXkpCit2b2lkIEJpdG1hcEltYWdl
OjpzdGFydFRpbWVyKFNlY29uZHMgZGVsYXkpCiB7CiAgICAgQVNTRVJUKCFtX2ZyYW1lVGltZXIp
OwogICAgIG1fZnJhbWVUaW1lciA9IHN0ZDo6bWFrZV91bmlxdWU8VGltZXI+KCp0aGlzLCAmQml0
bWFwSW1hZ2U6OmFkdmFuY2VBbmltYXRpb24pOwpAQCAtMzMyLDE0ICszMzIsMTQgQEAgQml0bWFw
SW1hZ2U6OlN0YXJ0QW5pbWF0aW9uU3RhdHVzIEJpdG1hcEltYWdlOjppbnRlcm5hbFN0YXJ0QW5p
bWF0aW9uKCkKICAgICBpZiAoIW1fc291cmNlLmlzQWxsRGF0YVJlY2VpdmVkKCkgJiYgIWZyYW1l
SXNDb21wbGV0ZUF0SW5kZXgobmV4dEZyYW1lKSkKICAgICAgICAgcmV0dXJuIFN0YXJ0QW5pbWF0
aW9uU3RhdHVzOjpJbmNvbXBsZXRlRGF0YTsKIAotICAgIGRvdWJsZSB0aW1lID0gbW9ub3Rvbmlj
YWxseUluY3JlYXNpbmdUaW1lKCk7CisgICAgTW9ub3RvbmljVGltZSB0aW1lID0gTW9ub3Rvbmlj
VGltZTo6bm93KCk7CiAKICAgICAvLyBIYW5kbGUgaW5pdGlhbCBzdGF0ZS4KICAgICBpZiAoIW1f
ZGVzaXJlZEZyYW1lU3RhcnRUaW1lKQogICAgICAgICBtX2Rlc2lyZWRGcmFtZVN0YXJ0VGltZSA9
IHRpbWU7CiAKICAgICAvLyBTZXR0aW5nICdtX2Rlc2lyZWRGcmFtZVN0YXJ0VGltZScgdG8gJ3Rp
bWUnIG1lYW5zIHdlIGFyZSBsYXRlOyBvdGhlcndpc2Ugd2UgYXJlIGVhcmx5LgotICAgIG1fZGVz
aXJlZEZyYW1lU3RhcnRUaW1lID0gc3RkOjptYXgodGltZSwgbV9kZXNpcmVkRnJhbWVTdGFydFRp
bWUgKyBmcmFtZUR1cmF0aW9uQXRJbmRleChtX2N1cnJlbnRGcmFtZSkpOworICAgIG1fZGVzaXJl
ZEZyYW1lU3RhcnRUaW1lID0gc3RkOjptYXgodGltZSwgbV9kZXNpcmVkRnJhbWVTdGFydFRpbWUg
KyBTZWNvbmRzIHsgZnJhbWVEdXJhdGlvbkF0SW5kZXgobV9jdXJyZW50RnJhbWUpIH0pOwogCiAg
ICAgLy8gUmVxdWVzdCBhc3luYyBkZWNvZGluZyBmb3IgbmV4dEZyYW1lIG9ubHkgaWYgdGhpcyBp
cyByZXF1aXJlZC4gSWYgbmV4dEZyYW1lIGlzIG5vdCBpbiB0aGUgZnJhbWVDYWNoZSwKICAgICAv
LyBpdCB3aWxsIGJlIGRlY29kZWQgb24gYSBzZXBhcmF0ZSB3b3JrIHF1ZXVlLiBXaGVuIGRlY29k
aW5nIG5leHRGcmFtZSBmaW5pc2hlcywgd2Ugd2lsbCBiZSBub3RpZmllZApAQCAtMzU3LDcgKzM1
Nyw3IEBAIEJpdG1hcEltYWdlOjpTdGFydEFuaW1hdGlvblN0YXR1cyBCaXRtYXBJbWFnZTo6aW50
ZXJuYWxTdGFydEFuaW1hdGlvbigpCiAgICAgICAgIFVOVVNFRF9QQVJBTShpc0FzeW5jRGVjb2Rl
KTsKICNlbmRpZgogCi0gICAgICAgIG1fZGVzaXJlZEZyYW1lRGVjb2RlVGltZUZvclRlc3Rpbmcg
PSB0aW1lICsgc3RkOjptYXgobV9mcmFtZURlY29kaW5nRHVyYXRpb25Gb3JUZXN0aW5nLCAwLjBm
KTsKKyAgICAgICAgbV9kZXNpcmVkRnJhbWVEZWNvZGVUaW1lRm9yVGVzdGluZyA9IHRpbWUgKyBz
dGQ6Om1heChtX2ZyYW1lRGVjb2RpbmdEdXJhdGlvbkZvclRlc3RpbmcsIDBfcyk7CiAgICAgICAg
IGlmIChtX2NsZWFyRGVjb2RlckFmdGVyQXN5bmNGcmFtZVJlcXVlc3RGb3JUZXN0aW5nKQogICAg
ICAgICAgICAgbV9zb3VyY2UuY2xlYXIoZGF0YSgpKTsKICAgICB9CkBAIC0zNzQsNyArMzc0LDcg
QEAgdm9pZCBCaXRtYXBJbWFnZTo6YWR2YW5jZUFuaW1hdGlvbigpCiAgICAgLy8gUHJldGVuZCBh
cyBpZiBkZWNvZGluZyBuZXh0RnJhbWUgaGFzIHRha2VuIG1fZnJhbWVEZWNvZGluZ0R1cmF0aW9u
Rm9yVGVzdGluZyBmcm9tCiAgICAgLy8gdGhlIHRpbWUgdGhpcyBkZWNvZGluZyB3YXMgcmVxdWVz
dGVkLgogICAgIGlmIChzaG91bGRVc2VBc3luY0RlY29kaW5nRm9yQW5pbWF0ZWRJbWFnZXNGb3JU
ZXN0aW5nKCkpIHsKLSAgICAgICAgZG91YmxlIHRpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2lu
Z1RpbWUoKTsKKyAgICAgICAgTW9ub3RvbmljVGltZSB0aW1lID0gTW9ub3RvbmljVGltZTo6bm93
KCk7CiAgICAgICAgIC8vIFN0YXJ0IGEgdGltZXIgd2l0aCB0aGUgcmVtYWluaW5nIHRpbWUgZnJv
bSBub3cgdGlsbCB0aGUgbV9kZXNpcmVkRnJhbWVEZWNvZGVUaW1lLgogICAgICAgICBpZiAobV9k
ZXNpcmVkRnJhbWVEZWNvZGVUaW1lRm9yVGVzdGluZyA+IHN0ZDo6bWF4KHRpbWUsIG1fZGVzaXJl
ZEZyYW1lU3RhcnRUaW1lKSkgewogICAgICAgICAgICAgc3RhcnRUaW1lcihtX2Rlc2lyZWRGcmFt
ZURlY29kZVRpbWVGb3JUZXN0aW5nIC0gdGltZSk7CkBAIC00MjYsNyArNDI2LDcgQEAgdm9pZCBC
aXRtYXBJbWFnZTo6cmVzZXRBbmltYXRpb24oKQogICAgIHN0b3BBbmltYXRpb24oKTsKICAgICBt
X2N1cnJlbnRGcmFtZSA9IDA7CiAgICAgbV9yZXBldGl0aW9uc0NvbXBsZXRlID0gUmVwZXRpdGlv
bkNvdW50Tm9uZTsKLSAgICBtX2Rlc2lyZWRGcmFtZVN0YXJ0VGltZSA9IDA7CisgICAgbV9kZXNp
cmVkRnJhbWVTdGFydFRpbWUgPSB7IH07CiAgICAgbV9hbmltYXRpb25GaW5pc2hlZCA9IGZhbHNl
OwogCiAgICAgLy8gRm9yIGV4dHJlbWVseSBsYXJnZSBhbmltYXRpb25zLCB3aGVuIHRoZSBhbmlt
YXRpb24gaXMgcmVzZXQsIHdlIGp1c3QgdGhyb3cgZXZlcnl0aGluZyBhd2F5LgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmgKaW5kZXggNDIyZDZjOTgw
YTU3ZjU0NzZmM2IyZTdjMjZkMDYwMGYwZGI5NTQ1Mi4uOGVhMjRkNmJhZmEwMTEyODc3YjUwM2I5
N2ZjN2RjYWZkMjVlNTI1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvQml0bWFwSW1hZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9CaXRtYXBJbWFnZS5oCkBAIC05Nyw4ICs5Nyw4IEBAIHB1YmxpYzoKICAgICBib29sIGN1cnJl
bnRGcmFtZUtub3duVG9CZU9wYXF1ZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuICFmcmFtZUhh
c0FscGhhQXRJbmRleChjdXJyZW50RnJhbWUoKSk7IH0KICAgICBJbWFnZU9yaWVudGF0aW9uIG9y
aWVudGF0aW9uRm9yQ3VycmVudEZyYW1lKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gZnJhbWVP
cmllbnRhdGlvbkF0SW5kZXgoY3VycmVudEZyYW1lKCkpOyB9CiAKLSAgICBib29sIHNob3VsZFVz
ZUFzeW5jRGVjb2RpbmdGb3JBbmltYXRlZEltYWdlc0ZvclRlc3RpbmcoKSBjb25zdCB7IHJldHVy
biBtX2ZyYW1lRGVjb2RpbmdEdXJhdGlvbkZvclRlc3RpbmcgPiAwOyB9Ci0gICAgdm9pZCBzZXRG
cmFtZURlY29kaW5nRHVyYXRpb25Gb3JUZXN0aW5nKGZsb2F0IGR1cmF0aW9uKSB7IG1fZnJhbWVE
ZWNvZGluZ0R1cmF0aW9uRm9yVGVzdGluZyA9IGR1cmF0aW9uOyB9CisgICAgYm9vbCBzaG91bGRV
c2VBc3luY0RlY29kaW5nRm9yQW5pbWF0ZWRJbWFnZXNGb3JUZXN0aW5nKCkgY29uc3QgeyByZXR1
cm4gbV9mcmFtZURlY29kaW5nRHVyYXRpb25Gb3JUZXN0aW5nID4gMF9zOyB9CisgICAgdm9pZCBz
ZXRGcmFtZURlY29kaW5nRHVyYXRpb25Gb3JUZXN0aW5nKFNlY29uZHMgZHVyYXRpb24pIHsgbV9m
cmFtZURlY29kaW5nRHVyYXRpb25Gb3JUZXN0aW5nID0gZHVyYXRpb247IH0KICAgICBib29sIHNo
b3VsZFVzZUFzeW5jRGVjb2RpbmdGb3JMYXJnZUltYWdlcygpOwogICAgIGJvb2wgc2hvdWxkVXNl
QXN5bmNEZWNvZGluZ0ZvckFuaW1hdGVkSW1hZ2VzKCk7CiAgICAgdm9pZCBzZXRDbGVhckRlY29k
ZXJBZnRlckFzeW5jRnJhbWVSZXF1ZXN0Rm9yVGVzdGluZyhib29sIHZhbHVlKSB7IG1fY2xlYXJE
ZWNvZGVyQWZ0ZXJBc3luY0ZyYW1lUmVxdWVzdEZvclRlc3RpbmcgPSB2YWx1ZTsgfQpAQCAtMTkw
LDcgKzE5MCw3IEBAIHByb3RlY3RlZDoKIAogcHJpdmF0ZToKICAgICB2b2lkIGNsZWFyVGltZXIo
KTsKLSAgICB2b2lkIHN0YXJ0VGltZXIoZG91YmxlIGRlbGF5KTsKKyAgICB2b2lkIHN0YXJ0VGlt
ZXIoU2Vjb25kcyBkZWxheSk7CiAgICAgYm9vbCBpc0JpdG1hcEltYWdlKCkgY29uc3Qgb3ZlcnJp
ZGUgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZvaWQgZHVtcChUZXh0U3RyZWFtJikgY29uc3Qgb3Zl
cnJpZGU7CiAKQEAgLTIwNywxMSArMjA3LDExIEBAIHByaXZhdGU6CiAgICAgU3Vic2FtcGxpbmdM
ZXZlbCBtX2N1cnJlbnRTdWJzYW1wbGluZ0xldmVsIHsgU3Vic2FtcGxpbmdMZXZlbDo6RGVmYXVs
dCB9OwogICAgIHN0ZDo6dW5pcXVlX3B0cjxUaW1lcj4gbV9mcmFtZVRpbWVyOwogICAgIFJlcGV0
aXRpb25Db3VudCBtX3JlcGV0aXRpb25zQ29tcGxldGUgeyBSZXBldGl0aW9uQ291bnROb25lIH07
IC8vIEhvdyBtYW55IHJlcGV0aXRpb25zIHdlJ3ZlIGZpbmlzaGVkLgotICAgIGRvdWJsZSBtX2Rl
c2lyZWRGcmFtZVN0YXJ0VGltZSB7IDAgfTsgLy8gVGhlIHN5c3RlbSB0aW1lIGF0IHdoaWNoIHdl
IGhvcGUgdG8gc2VlIHRoZSBuZXh0IGNhbGwgdG8gc3RhcnRBbmltYXRpb24oKS4KKyAgICBNb25v
dG9uaWNUaW1lIG1fZGVzaXJlZEZyYW1lU3RhcnRUaW1lOyAvLyBUaGUgc3lzdGVtIHRpbWUgYXQg
d2hpY2ggd2UgaG9wZSB0byBzZWUgdGhlIG5leHQgY2FsbCB0byBzdGFydEFuaW1hdGlvbigpLgog
ICAgIGJvb2wgbV9hbmltYXRpb25GaW5pc2hlZCB7IGZhbHNlIH07CiAKLSAgICBmbG9hdCBtX2Zy
YW1lRGVjb2RpbmdEdXJhdGlvbkZvclRlc3RpbmcgeyAwIH07Ci0gICAgZG91YmxlIG1fZGVzaXJl
ZEZyYW1lRGVjb2RlVGltZUZvclRlc3RpbmcgeyAwIH07CisgICAgU2Vjb25kcyBtX2ZyYW1lRGVj
b2RpbmdEdXJhdGlvbkZvclRlc3Rpbmc7CisgICAgTW9ub3RvbmljVGltZSBtX2Rlc2lyZWRGcmFt
ZURlY29kZVRpbWVGb3JUZXN0aW5nOwogICAgIGJvb2wgbV9jbGVhckRlY29kZXJBZnRlckFzeW5j
RnJhbWVSZXF1ZXN0Rm9yVGVzdGluZyB7IGZhbHNlIH07CiAjaWYgIUxPR19ESVNBQkxFRAogICAg
IHNpemVfdCBtX2xhdGVGcmFtZUNvdW50IHsgMCB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyLmNw
cAppbmRleCA0OTMxNjg2YjMxNTEyNzcxNjI1MDQ4ODhiNzE1ZTI4MWEyNzU5MjA2Li5mNTAxM2Y0
YTBmNDkzYWYxYWI5NTI3MThjOTM0MDg0Yzc1NWQyNmFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXliYWNrVGFyZ2V0UGlj
a2VyLmNwcApAQCAtMzMsNyArMzMsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRp
YyBjb25zdCBkb3VibGUgcGVuZGluZ0FjdGlvbkludGVydmFsID0gMS4wIC8gMTAuMDsKK3N0YXRp
YyBjb25zdCBTZWNvbmRzIHBlbmRpbmdBY3Rpb25JbnRlcnZhbCB7IDEwMF9tcyB9OwogCiBNZWRp
YVBsYXliYWNrVGFyZ2V0UGlja2VyOjpNZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyKENsaWVudCYg
Y2xpZW50KQogICAgIDogbV9jbGllbnQoJmNsaWVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NoYWRvd0JsdXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvU2hhZG93Qmx1ci5jcHAKaW5kZXggZjE3YjNmZmU3MzEzMDQwYWIyMWZm
YzgwNTAzYjU5NDEzN2EyMzRiOC4uODdmNDVlNDYwZmRlMDljNGZmZWRlZDJmZTA1MTBkZDQ5ODMx
NjVkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2hhZG93
Qmx1ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2hhZG93Qmx1
ci5jcHAKQEAgLTEyNCw3ICsxMjQsNyBAQCBwdWJsaWM6CiAgICAgICAgIGlmIChtX3B1cmdlVGlt
ZXIuaXNBY3RpdmUoKSkKICAgICAgICAgICAgIG1fcHVyZ2VUaW1lci5zdG9wKCk7CiAKLSAgICAg
ICAgY29uc3QgZG91YmxlIHNjcmF0Y2hCdWZmZXJQdXJnZUludGVydmFsID0gMjsKKyAgICAgICAg
Y29uc3QgU2Vjb25kcyBzY3JhdGNoQnVmZmVyUHVyZ2VJbnRlcnZhbCB7IDJfcyB9OwogICAgICAg
ICBtX3B1cmdlVGltZXIuc3RhcnRPbmVTaG90KHNjcmF0Y2hCdWZmZXJQdXJnZUludGVydmFsKTsK
ICAgICB9CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jYS9MYXllclBvb2wuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Ev
TGF5ZXJQb29sLmNwcAppbmRleCAwY2Y3Zjc3ZTYxMWFkMmJkNGViMDcyMzUwMDE4YWRjNGJjZGI4
NDVmLi4wY2M0ZmFjNThhMzA0MmFiNjY4NGNlMTZiZTcwZDRjMjUwYWY5N2E3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9MYXllclBvb2wuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL0xheWVyUG9vbC5jcHAKQEAgLTEx
MCw3ICsxMTAsNyBAQCB2b2lkIExheWVyUG9vbDo6c2NoZWR1bGVQcnVuZSgpCiB7CiAgICAgaWYg
KG1fcHJ1bmVUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICByZXR1cm47Ci0gICAgbV9wcnVuZVRp
bWVyLnN0YXJ0T25lU2hvdCgxKTsKKyAgICBtX3BydW5lVGltZXIuc3RhcnRPbmVTaG90KDFfcyk7
CiB9CiAKIHZvaWQgTGF5ZXJQb29sOjpwcnVuZVRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0
ZUdTdHJlYW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFt
ZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAppbmRleCAwNDY2Zjc3MzFkOTM2NmQ5
ZjM4NTA3ODE5MGFmNGU4MGM4NzM3YWY2Li45ZDJhY2Q0ZTFlZDBiMjk3OGZlZWM0Y2M1MDhjZDQ5
YjFmY2ZmMGU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
c3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVh
bWVyLmNwcApAQCAtMzcwLDcgKzM3MCw3IEBAIGJvb2wgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVh
bWVyOjpjaGFuZ2VQaXBlbGluZVN0YXRlKEdzdFN0YXRlIG5ld1N0YXRlKQogICAgIGlmIChuZXdT
dGF0ZSA9PSBHU1RfU1RBVEVfUkVBRFkgJiYgIW1fcmVhZHlUaW1lckhhbmRsZXIuaXNBY3RpdmUo
KSkgewogICAgICAgICAvLyBNYXggaW50ZXJ2YWwgaW4gc2Vjb25kcyB0byBzdGF5IGluIHRoZSBS
RUFEWSBzdGF0ZSBvbiBtYW51YWwKICAgICAgICAgLy8gc3RhdGUgY2hhbmdlIHJlcXVlc3RzLgot
ICAgICAgICBzdGF0aWMgY29uc3QgZG91YmxlIHJlYWR5U3RhdGVUaW1lckRlbGF5ID0gNjA7Cisg
ICAgICAgIHN0YXRpYyBjb25zdCBTZWNvbmRzIHJlYWR5U3RhdGVUaW1lckRlbGF5IHsgMV9taW4g
fTsKICAgICAgICAgbV9yZWFkeVRpbWVySGFuZGxlci5zdGFydE9uZVNob3QocmVhZHlTdGF0ZVRp
bWVyRGVsYXkpOwogICAgIH0gZWxzZSBpZiAobmV3U3RhdGUgIT0gR1NUX1NUQVRFX1JFQURZKQog
ICAgICAgICBtX3JlYWR5VGltZXJIYW5kbGVyLnN0b3AoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9HcmFwaGljc0NvbnRleHQzRE1hYy5tbSBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9HcmFwaGljc0NvbnRleHQzRE1hYy5t
bQppbmRleCA1NmJlMDZmZTQwMWZkNDU2OTg4ZmEyZmYxNWQ5NTMxYjEzNTYwZDY3Li4xYzRlNDM1
OTM1YTFjYTQ2MjE0ZDM0ODAwNTQwNTNjNTlmOGVmMDkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvR3JhcGhpY3NDb250ZXh0M0RNYWMubW0KKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0dyYXBoaWNzQ29udGV4dDNETWFj
Lm1tCkBAIC0yNzgsOCArMjc4LDggQEAgdm9pZCBHcmFwaGljc0NvbnRleHQzRE1hbmFnZXI6OnVw
ZGF0ZUhpZ2hQZXJmb3JtYW5jZVN0YXRlKCkKICAgICAgICAgICAgIExPRyhXZWJHTCwgIlNldCBh
IHRpbWVyIHRvIHR1cm4gb2ZmIGhpZ2gtcGVyZm9ybWFuY2UgR1BVLiIpOwogICAgICAgICAgICAg
Ly8gRklYTUU6IEV4cG9zZSB0aGlzIHZhbHVlIGFzIGEgU2V0dGluZywgd2hpY2ggd291bGQgcmVx
dWlyZSB0aGlzIGNsYXNzCiAgICAgICAgICAgICAvLyB0byByZWZlcmVuY2UgYSBmcmFtZSwgcGFn
ZSBvciBkb2N1bWVudC4KLSAgICAgICAgICAgIHN0YXRpYyBjb25zdCBpbnQgdGltZVRvS2VlcEhp
Z2hQZXJmb3JtYW5jZUdQVUFsaXZlSW5TZWNvbmRzID0gMTA7Ci0gICAgICAgICAgICBtX2Rpc2Fi
bGVIaWdoUGVyZm9ybWFuY2VHUFVUaW1lci5zdGFydE9uZVNob3QodGltZVRvS2VlcEhpZ2hQZXJm
b3JtYW5jZUdQVUFsaXZlSW5TZWNvbmRzKTsKKyAgICAgICAgICAgIHN0YXRpYyBjb25zdCBTZWNv
bmRzIHRpbWVUb0tlZXBIaWdoUGVyZm9ybWFuY2VHUFVBbGl2ZSB7IDEwX3MgfTsKKyAgICAgICAg
ICAgIG1fZGlzYWJsZUhpZ2hQZXJmb3JtYW5jZUdQVVRpbWVyLnN0YXJ0T25lU2hvdCh0aW1lVG9L
ZWVwSGlnaFBlcmZvcm1hbmNlR1BVQWxpdmUpOwogICAgICAgICB9CiAgICAgfQogI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvQml0bWFw
VGV4dHVyZVBvb2wuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFw
L0JpdG1hcFRleHR1cmVQb29sLmNwcAppbmRleCAwMGNjOGVlMzZkYzVhN2VlOTA4YzQ3YTc0MjNl
YjdkZDNjNTg0ZjEwLi44ZTM1ZmVmMGViNGYyMWI4N2UwM2Q4ZGYzYWNlMDc0NjFkNTBhOWVlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvQml0bWFw
VGV4dHVyZVBvb2wuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3Rl
eG1hcC9CaXRtYXBUZXh0dXJlUG9vbC5jcHAKQEAgLTMzLDggKzMzLDggQEAKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCi1zdGF0aWMgY29uc3QgZG91YmxlIHNfcmVsZWFzZVVudXNlZFNlY29uZHNU
b2xlcmFuY2UgPSAzOwotc3RhdGljIGNvbnN0IGRvdWJsZSBzX3JlbGVhc2VVbnVzZWRUZXh0dXJl
c1RpbWVySW50ZXJ2YWwgPSAwLjU7CitzdGF0aWMgY29uc3QgZG91YmxlIHJlbGVhc2VVbnVzZWRT
ZWNvbmRzVG9sZXJhbmNlID0gMzsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHJlbGVhc2VVbnVzZWRU
ZXh0dXJlc1RpbWVySW50ZXJ2YWwgeyA1MDBfbXMgfTsKIAogI2lmIFVTRShURVhUVVJFX01BUFBF
Ul9HTCkKIEJpdG1hcFRleHR1cmVQb29sOjpCaXRtYXBUZXh0dXJlUG9vbChSZWZQdHI8R3JhcGhp
Y3NDb250ZXh0M0Q+JiYgY29udGV4dDNEKQpAQCAtNjYsMTMgKzY2LDEzIEBAIHZvaWQgQml0bWFw
VGV4dHVyZVBvb2w6OnNjaGVkdWxlUmVsZWFzZVVudXNlZFRleHR1cmVzKCkKICAgICBpZiAobV9y
ZWxlYXNlVW51c2VkVGV4dHVyZXNUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICByZXR1cm47CiAK
LSAgICBtX3JlbGVhc2VVbnVzZWRUZXh0dXJlc1RpbWVyLnN0YXJ0T25lU2hvdChzX3JlbGVhc2VV
bnVzZWRUZXh0dXJlc1RpbWVySW50ZXJ2YWwpOworICAgIG1fcmVsZWFzZVVudXNlZFRleHR1cmVz
VGltZXIuc3RhcnRPbmVTaG90KHJlbGVhc2VVbnVzZWRUZXh0dXJlc1RpbWVySW50ZXJ2YWwpOwog
fQogCiB2b2lkIEJpdG1hcFRleHR1cmVQb29sOjpyZWxlYXNlVW51c2VkVGV4dHVyZXNUaW1lckZp
cmVkKCkKIHsKLSAgICAvLyBEZWxldGUgZW50cmllcywgd2hpY2ggaGF2ZSBiZWVuIHVudXNlZCBp
biBzX3JlbGVhc2VVbnVzZWRTZWNvbmRzVG9sZXJhbmNlLgotICAgIGRvdWJsZSBtaW5Vc2VkVGlt
ZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpIC0gc19yZWxlYXNlVW51c2VkU2Vjb25k
c1RvbGVyYW5jZTsKKyAgICAvLyBEZWxldGUgZW50cmllcywgd2hpY2ggaGF2ZSBiZWVuIHVudXNl
ZCBpbiByZWxlYXNlVW51c2VkU2Vjb25kc1RvbGVyYW5jZS4KKyAgICBkb3VibGUgbWluVXNlZFRp
bWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSAtIHJlbGVhc2VVbnVzZWRTZWNvbmRz
VG9sZXJhbmNlOwogCiAgICAgaWYgKCFtX3RleHR1cmVzLmlzRW1wdHkoKSkgewogICAgICAgICBz
dGQ6OnNvcnQobV90ZXh0dXJlcy5iZWdpbigpLCBtX3RleHR1cmVzLmVuZCgpLApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJQ
bGF0Zm9ybUxheWVyUHJveHkuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
dGV4bWFwL1RleHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVyUHJveHkuY3BwCmluZGV4IDRkYjc0ODI0
OTk2N2M4OTA1MmNlZDBlZTRhMjMwYmVkYWU2YTA3ZjguLmRjM2U3NDdlZWRkYjZlNzViOGExZjkz
M2EyNjYzMTZhMjhiYzNmNTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyUGxhdGZvcm1MYXllclByb3h5LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlclBsYXRm
b3JtTGF5ZXJQcm94eS5jcHAKQEAgLTM3LDggKzM3LDggQEAKICNpbmNsdWRlIDx3dGYvZ2xpYi9S
dW5Mb29wU291cmNlUHJpb3JpdHkuaD4KICNlbmRpZgogCi1jb25zdCBkb3VibGUgc19yZWxlYXNl
VW51c2VkU2Vjb25kc1RvbGVyYW5jZSA9IDE7Ci1jb25zdCBkb3VibGUgc19yZWxlYXNlVW51c2Vk
QnVmZmVyc1RpbWVySW50ZXJ2YWwgPSAwLjU7CitzdGF0aWMgY29uc3QgZG91YmxlIHJlbGVhc2VV
bnVzZWRTZWNvbmRzVG9sZXJhbmNlID0gMTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHJlbGVhc2VV
bnVzZWRCdWZmZXJzVGltZXJJbnRlcnZhbCA9IHsgNTAwX21zIH07CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIApAQCAtMTQ0LDcgKzE0NCw3IEBAIHN0ZDo6dW5pcXVlX3B0cjxUZXh0dXJlTWFwcGVy
UGxhdGZvcm1MYXllckJ1ZmZlcj4gVGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXJQcm94CiB2b2lk
IFRleHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVyUHJveHk6OnNjaGVkdWxlUmVsZWFzZVVudXNlZEJ1
ZmZlcnMoKQogewogICAgIGlmICghbV9yZWxlYXNlVW51c2VkQnVmZmVyc1RpbWVyLmlzQWN0aXZl
KCkpCi0gICAgICAgIG1fcmVsZWFzZVVudXNlZEJ1ZmZlcnNUaW1lci5zdGFydE9uZVNob3Qoc19y
ZWxlYXNlVW51c2VkQnVmZmVyc1RpbWVySW50ZXJ2YWwpOworICAgICAgICBtX3JlbGVhc2VVbnVz
ZWRCdWZmZXJzVGltZXIuc3RhcnRPbmVTaG90KHJlbGVhc2VVbnVzZWRCdWZmZXJzVGltZXJJbnRl
cnZhbCk7CiB9CiAKIHZvaWQgVGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXJQcm94eTo6cmVsZWFz
ZVVudXNlZEJ1ZmZlcnNUaW1lckZpcmVkKCkKQEAgLTE1NCw3ICsxNTQsNyBAQCB2b2lkIFRleHR1
cmVNYXBwZXJQbGF0Zm9ybUxheWVyUHJveHk6OnJlbGVhc2VVbnVzZWRCdWZmZXJzVGltZXJGaXJl
ZCgpCiAgICAgICAgIHJldHVybjsKIAogICAgIGF1dG8gYnVmZmVycyA9IFdURk1vdmUobV91c2Vk
QnVmZmVycyk7Ci0gICAgZG91YmxlIG1pblVzZWRUaW1lID0gbW9ub3RvbmljYWxseUluY3JlYXNp
bmdUaW1lKCkgLSBzX3JlbGVhc2VVbnVzZWRTZWNvbmRzVG9sZXJhbmNlOworICAgIGRvdWJsZSBt
aW5Vc2VkVGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpIC0gcmVsZWFzZVVudXNl
ZFNlY29uZHNUb2xlcmFuY2U7CiAKICAgICBmb3IgKGF1dG8mIGJ1ZmZlciA6IGJ1ZmZlcnMpIHsK
ICAgICAgICAgaWYgKGJ1ZmZlciAmJiBidWZmZXItPmxhc3RVc2VkVGltZSgpID49IG1pblVzZWRU
aW1lKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFw
L2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkSW1hZ2VCYWNraW5nLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEltYWdlQmFj
a2luZy5jcHAKaW5kZXggM2Y1NjczZThmZDUzNjVmMDhjZmQ2OWVmYzNmYWFlYzQzMjMzNmE2MS4u
ZjUyOTQ3NTVhMjMzNjU1YzMwNjY1NzFjZjYzOWJlY2I1MGMwMzA1MCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5h
dGVkSW1hZ2VCYWNraW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRJbWFnZUJhY2tpbmcuY3BwCkBAIC0xNDQs
NyArMTQ0LDcgQEAgdm9pZCBDb29yZGluYXRlZEltYWdlQmFja2luZzo6cmVsZWFzZVN1cmZhY2VJ
Zk5lZWRlZCgpCiAgICAgbV9zdXJmYWNlID0gbnVsbHB0cjsKIH0KIAotc3RhdGljIGNvbnN0IGRv
dWJsZSBjbGVhckNvbnRlbnRzVGltZXJJbnRlcnZhbCA9IDM7CitzdGF0aWMgY29uc3QgU2Vjb25k
cyBjbGVhckNvbnRlbnRzVGltZXJJbnRlcnZhbCB7IDNfcyB9OwogCiB2b2lkIENvb3JkaW5hdGVk
SW1hZ2VCYWNraW5nOjp1cGRhdGVWaXNpYmlsaXR5SWZOZWVkZWQoYm9vbCYgY2hhbmdlZFRvVmlz
aWJsZSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9TY3JvbGxB
bmltYXRvckd0ay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvU2Nyb2xsQW5pbWF0
b3JHdGsuY3BwCmluZGV4IDQ0ZTQ3MzQ4MmRmYWEyMDM4OTQ2N2M3MmVjOTMwMDc4ZDVhODBjNTku
LjFiOTU0ODFmODVhZDI3MjVlZmFhZTQwZGUxYTFkYWU2ZDU1OGY0YTggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9TY3JvbGxBbmltYXRvckd0ay5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1Njcm9sbEFuaW1hdG9yR3RrLmNwcApAQCAtMzgsOCAr
MzgsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBkb3VibGUgb3Zl
cmZsb3dTY3JvbGxiYXJzQW5pbWF0aW9uRHVyYXRpb24gPSAxOwotc3RhdGljIGNvbnN0IGRvdWJs
ZSBvdmVyZmxvd1Njcm9sbGJhcnNBbmltYXRpb25IaWRlRGVsYXkgPSAyOworc3RhdGljIGNvbnN0
IFNlY29uZHMgb3ZlcmZsb3dTY3JvbGxiYXJzQW5pbWF0aW9uRHVyYXRpb24geyAxX3MgfTsKK3N0
YXRpYyBjb25zdCBTZWNvbmRzIG92ZXJmbG93U2Nyb2xsYmFyc0FuaW1hdGlvbkhpZGVEZWxheSB7
IDJfcyB9OwogCiBzdGQ6OnVuaXF1ZV9wdHI8U2Nyb2xsQW5pbWF0b3I+IFNjcm9sbEFuaW1hdG9y
OjpjcmVhdGUoU2Nyb2xsYWJsZUFyZWEmIHNjcm9sbGFibGVBcmVhKQogewpAQCAtMTc2LDEwICsx
NzYsMTAgQEAgdm9pZCBTY3JvbGxBbmltYXRvckd0azo6b3ZlcmxheVNjcm9sbGJhckFuaW1hdGlv
blRpbWVyRmlyZWQoKQogICAgIGlmIChtX292ZXJsYXlTY3JvbGxiYXJzTG9ja2VkKQogICAgICAg
ICByZXR1cm47CiAKLSAgICBkb3VibGUgY3VycmVudFRpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVh
c2luZ1RpbWUoKTsKKyAgICBNb25vdG9uaWNUaW1lIGN1cnJlbnRUaW1lID0gTW9ub3RvbmljVGlt
ZTo6bm93KCk7CiAgICAgZG91YmxlIHByb2dyZXNzID0gMTsKICAgICBpZiAoY3VycmVudFRpbWUg
PCBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25FbmRUaW1lKQotICAgICAgICBwcm9ncmVzcyA9
IChjdXJyZW50VGltZSAtIG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvblN0YXJ0VGltZSkgLyAo
bV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uRW5kVGltZSAtIG1fb3ZlcmxheVNjcm9sbGJhckFu
aW1hdGlvblN0YXJ0VGltZSk7CisgICAgICAgIHByb2dyZXNzID0gKGN1cnJlbnRUaW1lIC0gbV9v
dmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uU3RhcnRUaW1lKS52YWx1ZSgpIC8gKG1fb3ZlcmxheVNj
cm9sbGJhckFuaW1hdGlvbkVuZFRpbWUgLSBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25TdGFy
dFRpbWUpLnZhbHVlKCk7CiAgICAgcHJvZ3Jlc3MgPSBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRp
b25Tb3VyY2UgKyAoZWFzZU91dEN1YmljKHByb2dyZXNzKSAqIChtX292ZXJsYXlTY3JvbGxiYXJB
bmltYXRpb25UYXJnZXQgLSBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25Tb3VyY2UpKTsKICAg
ICBpZiAocHJvZ3Jlc3MgIT0gbV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uQ3VycmVudCkgewog
ICAgICAgICBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25DdXJyZW50ID0gcHJvZ3Jlc3M7CkBA
IC0xODgsOSArMTg4LDkgQEAgdm9pZCBTY3JvbGxBbmltYXRvckd0azo6b3ZlcmxheVNjcm9sbGJh
ckFuaW1hdGlvblRpbWVyRmlyZWQoKQogCiAgICAgaWYgKG1fb3ZlcmxheVNjcm9sbGJhckFuaW1h
dGlvbkN1cnJlbnQgIT0gbV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uVGFyZ2V0KSB7CiAgICAg
ICAgIHN0YXRpYyBjb25zdCBkb3VibGUgZnJhbWVSYXRlID0gNjA7Ci0gICAgICAgIHN0YXRpYyBj
b25zdCBkb3VibGUgdGlja1RpbWUgPSAxIC8gZnJhbWVSYXRlOwotICAgICAgICBzdGF0aWMgY29u
c3QgZG91YmxlIG1pbmltdW1UaW1lckludGVydmFsID0gLjAwMTsKLSAgICAgICAgZG91YmxlIGRl
bHRhVG9OZXh0RnJhbWUgPSBzdGQ6Om1heCh0aWNrVGltZSAtIChtb25vdG9uaWNhbGx5SW5jcmVh
c2luZ1RpbWUoKSAtIGN1cnJlbnRUaW1lKSwgbWluaW11bVRpbWVySW50ZXJ2YWwpOworICAgICAg
ICBzdGF0aWMgY29uc3QgU2Vjb25kcyB0aWNrVGltZSA9IDFfcyAvIGZyYW1lUmF0ZTsKKyAgICAg
ICAgc3RhdGljIGNvbnN0IFNlY29uZHMgbWluaW11bVRpbWVySW50ZXJ2YWwgPSAxX21zOworICAg
ICAgICBTZWNvbmRzIGRlbHRhVG9OZXh0RnJhbWUgPSBzdGQ6Om1heCh0aWNrVGltZSAtIChNb25v
dG9uaWNUaW1lOjpub3coKSAtIGN1cnJlbnRUaW1lKSwgbWluaW11bVRpbWVySW50ZXJ2YWwpOwog
ICAgICAgICBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25UaW1lci5zdGFydE9uZVNob3QoZGVs
dGFUb05leHRGcmFtZSk7CiAgICAgfSBlbHNlCiAgICAgICAgIGhpZGVPdmVybGF5U2Nyb2xsYmFy
cygpOwpAQCAtMjExLDcgKzIxMSw3IEBAIHZvaWQgU2Nyb2xsQW5pbWF0b3JHdGs6OnNob3dPdmVy
bGF5U2Nyb2xsYmFycygpCiAgICAgbV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uU291cmNlID0g
bV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uQ3VycmVudDsKICAgICBtX292ZXJsYXlTY3JvbGxi
YXJBbmltYXRpb25UYXJnZXQgPSAxOwogICAgIGlmIChtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRp
b25UYXJnZXQgIT0gbV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uQ3VycmVudCkgewotICAgICAg
ICBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25TdGFydFRpbWUgPSBtb25vdG9uaWNhbGx5SW5j
cmVhc2luZ1RpbWUoKTsKKyAgICAgICAgbV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uU3RhcnRU
aW1lID0gTW9ub3RvbmljVGltZTo6bm93KCk7CiAgICAgICAgIG1fb3ZlcmxheVNjcm9sbGJhckFu
aW1hdGlvbkVuZFRpbWUgPSBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25TdGFydFRpbWUgKyBv
dmVyZmxvd1Njcm9sbGJhcnNBbmltYXRpb25EdXJhdGlvbjsKICAgICAgICAgbV9vdmVybGF5U2Ny
b2xsYmFyQW5pbWF0aW9uVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgfSBlbHNlCkBAIC0y
MzEsNyArMjMxLDcgQEAgdm9pZCBTY3JvbGxBbmltYXRvckd0azo6aGlkZU92ZXJsYXlTY3JvbGxi
YXJzKCkKICAgICBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25UYXJnZXQgPSAwOwogICAgIGlm
IChtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25UYXJnZXQgPT0gbV9vdmVybGF5U2Nyb2xsYmFy
QW5pbWF0aW9uQ3VycmVudCkKICAgICAgICAgcmV0dXJuOwotICAgIG1fb3ZlcmxheVNjcm9sbGJh
ckFuaW1hdGlvblN0YXJ0VGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpICsgb3Zl
cmZsb3dTY3JvbGxiYXJzQW5pbWF0aW9uSGlkZURlbGF5OworICAgIG1fb3ZlcmxheVNjcm9sbGJh
ckFuaW1hdGlvblN0YXJ0VGltZSA9IE1vbm90b25pY1RpbWU6Om5vdygpICsgb3ZlcmZsb3dTY3Jv
bGxiYXJzQW5pbWF0aW9uSGlkZURlbGF5OwogICAgIG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlv
bkVuZFRpbWUgPSBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25TdGFydFRpbWUgKyBvdmVyZmxv
d1Njcm9sbGJhcnNBbmltYXRpb25EdXJhdGlvbiArIG92ZXJmbG93U2Nyb2xsYmFyc0FuaW1hdGlv
bkhpZGVEZWxheTsKICAgICBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25UaW1lci5zdGFydE9u
ZVNob3Qob3ZlcmZsb3dTY3JvbGxiYXJzQW5pbWF0aW9uSGlkZURlbGF5KTsKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9TY3JvbGxBbmltYXRvckd0ay5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1Njcm9sbEFuaW1hdG9yR3RrLmgKaW5kZXggNzBlNWI3
M2Y5ZGUxM2QyMTBjYjk5M2VlOTM1N2Q3MzkyZGQzMjJhOC4uYzQyNTNlNWFkYjkxZjcwNDEzMzA0
Njg0MWMyOTc0YmY3ZGQ4Y2VjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3RrL1Njcm9sbEFuaW1hdG9yR3RrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Rr
L1Njcm9sbEFuaW1hdG9yR3RrLmgKQEAgLTgwLDggKzgwLDggQEAgcHJpdmF0ZToKICAgICBkb3Vi
bGUgbV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uU291cmNlIHsgMCB9OwogICAgIGRvdWJsZSBt
X292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25UYXJnZXQgeyAwIH07CiAgICAgZG91YmxlIG1fb3Zl
cmxheVNjcm9sbGJhckFuaW1hdGlvbkN1cnJlbnQgeyAwIH07Ci0gICAgZG91YmxlIG1fb3Zlcmxh
eVNjcm9sbGJhckFuaW1hdGlvblN0YXJ0VGltZSB7IDAgfTsKLSAgICBkb3VibGUgbV9vdmVybGF5
U2Nyb2xsYmFyQW5pbWF0aW9uRW5kVGltZSB7IDAgfTsKKyAgICBNb25vdG9uaWNUaW1lIG1fb3Zl
cmxheVNjcm9sbGJhckFuaW1hdGlvblN0YXJ0VGltZTsKKyAgICBNb25vdG9uaWNUaW1lIG1fb3Zl
cmxheVNjcm9sbGJhckFuaW1hdGlvbkVuZFRpbWU7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxs
c2NyZWVuSW50ZXJmYWNlQVZLaXQubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2Vi
VmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQubW0KaW5kZXggZjNmYzJhZTI4NDhmNDk3NzE5
ODUwYTk5OGZkMGM5OTNmYjA3NDU0YS4uM2RiM2MwMjVlYmMzZmNkZjgzOTBmNTc1OWM1ZTQyMzA4
OTBjOTdlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYlZpZGVv
RnVsbHNjcmVlbkludGVyZmFjZUFWS2l0Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdC5tbQpAQCAtODIsNyArODIsNyBA
QCBzdGF0aWMgY29uc3QgY2hhciogYm9vbFN0cmluZyhib29sIHZhbCkKIH0KICNlbmRpZgogCi1z
dGF0aWMgY29uc3QgZG91YmxlIERlZmF1bHRXYXRjaGRvZ1RpbWVySW50ZXJ2YWwgPSAxOworc3Rh
dGljIGNvbnN0IFNlY29uZHMgZGVmYXVsdFdhdGNoZG9nVGltZXJJbnRlcnZhbCB7IDFfcyB9Owog
CiBAY2xhc3MgV2ViQVZNZWRpYVNlbGVjdGlvbk9wdGlvbjsKIApAQCAtOTg2LDcgKzk4Niw3IEBA
IGJvb2wgV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OnNob3VsZEV4aXRGdWxsc2Ny
ZWVuV2l0aFJlYXNvbihXZWJWaWRlb0Z1CiAgICAgbV92aWRlb0Z1bGxzY3JlZW5Nb2RlbC0+cmVx
dWVzdEZ1bGxzY3JlZW5Nb2RlKEhUTUxNZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVu
TW9kZU5vbmUsIHJlYXNvbiA9PSBFeGl0RnVsbFNjcmVlblJlYXNvbjo6RG9uZUJ1dHRvblRhcHBl
ZCk7CiAKICAgICBpZiAoIW1fd2F0Y2hkb2dUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3dh
dGNoZG9nVGltZXIuc3RhcnRPbmVTaG90KERlZmF1bHRXYXRjaGRvZ1RpbWVySW50ZXJ2YWwpOwor
ICAgICAgICBtX3dhdGNoZG9nVGltZXIuc3RhcnRPbmVTaG90KGRlZmF1bHRXYXRjaGRvZ1RpbWVy
SW50ZXJ2YWwpOwogCiAgICAgcmV0dXJuIGZhbHNlOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbEFuaW1hdG9yTWFjLm1tIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWFjL1Njcm9sbEFuaW1hdG9yTWFjLm1tCmluZGV4IDk2MjRkMDVkMThlNmZkMjU2
ZTdhZTkxMTI2OTNhNTQwMTg4MjA1NDguLjBkYTM0OWJmZmFmMWYxYWM5ODg4NzY1YTljMGI4NzYx
Y2NjNjRkZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxB
bmltYXRvck1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsQW5p
bWF0b3JNYWMubW0KQEAgLTEzMzgsNyArMTMzOCw3IEBAIHZvaWQgU2Nyb2xsQW5pbWF0b3JNYWM6
OnVwZGF0ZVNjcm9sbGVyU3R5bGUoKQogCiB2b2lkIFNjcm9sbEFuaW1hdG9yTWFjOjpzdGFydFNj
cm9sbGJhclBhaW50VGltZXIoKQogewotICAgIG1faW5pdGlhbFNjcm9sbGJhclBhaW50VGltZXIu
c3RhcnRPbmVTaG90KDAuMSk7CisgICAgbV9pbml0aWFsU2Nyb2xsYmFyUGFpbnRUaW1lci5zdGFy
dE9uZVNob3QoMTAwX21zKTsKIH0KIAogYm9vbCBTY3JvbGxBbmltYXRvck1hYzo6c2Nyb2xsYmFy
UGFpbnRUaW1lcklzQWN0aXZlKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21vY2svTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlck1vY2suY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbW9jay9NZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyTW9jay5jcHAKaW5k
ZXggMWE2MGNhMjRiYmM2MDk2YjdhOTVlMjEwNjYwNDk1MTJmZTJmMjU1Yi4uNWFhYTg0ZGM5YTBh
Y2MyOTA2ZmIwOTNlMWJmODI0YjZlNzk4MGMzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbW9jay9NZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyTW9jay5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9NZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyTW9jay5j
cHAKQEAgLTM3LDcgKzM3LDcgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAotc3RhdGljIGNvbnN0IGRvdWJsZSB0aW1lckludGVydmFsID0gMS4wIC8g
MTAuMDsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHRpbWVySW50ZXJ2YWwgeyAxMDBfbXMgfTsKIAog
TWVkaWFQbGF5YmFja1RhcmdldFBpY2tlck1vY2s6Ok1lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXJN
b2NrKE1lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXI6OkNsaWVudCYgY2xpZW50KQogICAgIDogTWVk
aWFQbGF5YmFja1RhcmdldFBpY2tlcihjbGllbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tb2NrL1BsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1vY2suY3Bw
CmluZGV4IGYzYmM3MWMwZjczM2QyODMzZWMzNDg1ZTg5NDk0NDhkMzhkZDNmMTEuLjY3Zjk3ZGQ2
MWNkZDYzMWVhYzk4Y2VhMGQ5NDYyMzYwMjI3OWUwYmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21vY2svUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1vY2suY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1v
Y2suY3BwCkBAIC02OCw3ICs2OCw3IEBAIHZvaWQgUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1v
Y2s6OnNwZWFrKFJlZlB0cjxQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpc1V0dGVyYW5jCiAgICAgY2xp
ZW50KCktPmJvdW5kYXJ5RXZlbnRPY2N1cnJlZCgqbV91dHRlcmFuY2UsIFNwZWVjaFNlbnRlbmNl
Qm91bmRhcnksIG1fdXR0ZXJhbmNlLT50ZXh0KCkubGVuZ3RoKCkpOwogCiAgICAgLy8gR2l2ZSB0
aGUgZmFrZSBzcGVlY2ggam9iIHNvbWUgdGltZSBzbyB0aGF0IHBhdXNlIGFuZCBvdGhlciBmdW5j
dGlvbnMgaGF2ZSB0aW1lIHRvIGJlIGNhbGxlZC4KLSAgICBtX3NwZWFraW5nRmluaXNoZWRUaW1l
ci5zdGFydE9uZVNob3QoLjEpOworICAgIG1fc3BlYWtpbmdGaW5pc2hlZFRpbWVyLnN0YXJ0T25l
U2hvdCgxMDBfbXMpOwogfQogCiB2b2lkIFBsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrOjpj
YW5jZWwoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9UaW1lckV2
ZW50QmFzZWRNb2NrLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1RpbWVyRXZlbnRC
YXNlZE1vY2suaAppbmRleCBkZTBlOGE5ZmQ2NTk2YjJlMmFiNzM3MDMwNDdkZTVlZDM3ZmZlY2Fj
Li5kZGNkMjc1YTgyZDQyYjQ2MWY4NDVkMzM0NGZkZTFiOTQwOGU0ZjJhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1RpbWVyRXZlbnRCYXNlZE1vY2suaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1RpbWVyRXZlbnRCYXNlZE1vY2suaApAQCAtNjMs
NyArNjMsNyBAQCBwdWJsaWM6CiAgICAgICAgICwgbV90aW1lcigqdGhpcywgJlRpbWVyRXZlbnQ6
OnRpbWVyRmlyZWQpCiAgICAgICAgICwgbV9ub3RpZmllcihub3RpZmllcikKICAgICB7Ci0gICAg
ICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDAuNSk7CisgICAgICAgIG1fdGltZXIuc3RhcnRPbmVT
aG90KDUwMF9tcyk7CiAgICAgfQogCiAgICAgdmlydHVhbCB+VGltZXJFdmVudCgpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0ROU1Jlc29sdmVRdWV1ZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0ROU1Jlc29sdmVRdWV1ZS5jcHAKaW5k
ZXggNTg3NzNhYTMzMjkxY2E3YTY4OTU3NTg2ZWU4MjAzYzZiYWMyY2ZmMy4uYThjMmRmNDBjM2Jm
YmFjNWY1YzM5MjliY2EzMzkzMDBmMGEwMjYxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9ETlNSZXNvbHZlUXVldWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvRE5TUmVzb2x2ZVF1ZXVlLmNwcApAQCAtMzcsNyArMzcsNyBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiBzdGF0aWMgY29uc3QgaW50IGdOYW1lc1RvUmVzb2x2ZUltbWVk
aWF0ZWx5ID0gNDsKIAogLy8gQ29hbGVzY2UgcHJlZmV0Y2ggcmVxdWVzdHMgZm9yIHRoaXMgbG9u
ZyBiZWZvcmUgc2VuZGluZyB0aGVtIG91dC4KLXN0YXRpYyBjb25zdCBkb3VibGUgZ0NvYWxlc2Nl
RGVsYXlJblNlY29uZHMgPSAxLjA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBjb2FsZXNjZURlbGF5
IHsgMV9zIH07CiAKIC8vIFNlbmRpbmcgbWFueSBETlMgcmVxdWVzdHMgYXQgb25jZSBjYW4gb3Zl
cndoZWxtIHNvbWUgZ2F0ZXdheXMuIFNlZSA8cmRhcjovLzgxMDU1NTA+IGZvciBzcGVjaWZpYyBD
Rk5FVCBpc3N1ZXMgd2l0aCBDRkhvc3QgdGhyb3R0bGluZy4KIHN0YXRpYyBjb25zdCBpbnQgZ01h
eFNpbXVsdGFuZW91c1JlcXVlc3RzID0gODsKQEAgLTQ4LDcgKzQ4LDcgQEAgc3RhdGljIGNvbnN0
IGludCBnTWF4U2ltdWx0YW5lb3VzUmVxdWVzdHMgPSA4Owogc3RhdGljIGNvbnN0IGludCBnTWF4
UmVxdWVzdHNUb1F1ZXVlID0gNjQ7CiAKIC8vIElmIHRoZXJlIHdlcmUgcXVldWVkIG5hbWVzIHRo
YXQgY291bGRuJ3QgYmUgc2VudCBzaW11bHRhbmVvdXNseSwgY2hlY2sgdGhlIHN0YXRlIG9mIHJl
c29sdmVycyBhZnRlciB0aGlzIGRlbGF5Lgotc3RhdGljIGNvbnN0IGRvdWJsZSBnUmV0cnlSZXNv
bHZpbmdJblNlY29uZHMgPSAwLjE7CitzdGF0aWMgY29uc3QgU2Vjb25kcyByZXNvbHZpbmdSZXRy
eURlbGF5IHsgMTAwX21zIH07CiAKIEROU1Jlc29sdmVRdWV1ZSYgRE5TUmVzb2x2ZVF1ZXVlOjpz
aW5nbGV0b24oKQogewpAQCAtMTAxLDcgKzEwMSw3IEBAIHZvaWQgRE5TUmVzb2x2ZVF1ZXVlOjph
ZGQoY29uc3QgU3RyaW5nJiBob3N0bmFtZSkKICAgICBpZiAobV9uYW1lcy5zaXplKCkgPCBnTWF4
UmVxdWVzdHNUb1F1ZXVlKSB7CiAgICAgICAgIG1fbmFtZXMuYWRkKGhvc3RuYW1lKTsKICAgICAg
ICAgaWYgKCFtX3RpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgICAgICBtX3RpbWVyLnN0YXJ0T25l
U2hvdChnQ29hbGVzY2VEZWxheUluU2Vjb25kcyk7CisgICAgICAgICAgICBtX3RpbWVyLnN0YXJ0
T25lU2hvdChjb2FsZXNjZURlbGF5KTsKICAgICB9CiB9CiAKQEAgLTEyMiw3ICsxMjIsNyBAQCB2
b2lkIEROU1Jlc29sdmVRdWV1ZTo6dGltZXJGaXJlZCgpCiAgICAgfQogCiAgICAgaWYgKCFtX25h
bWVzLmlzRW1wdHkoKSkKLSAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoZ1JldHJ5UmVzb2x2
aW5nSW5TZWNvbmRzKTsKKyAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QocmVzb2x2aW5nUmV0
cnlEZWxheSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUGluZ0hhbmRsZS5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9QaW5nSGFuZGxlLmgKaW5kZXggMTdjNTRlMDk2OWQ2M2JkZDBlMDNm
N2JmZWU0ODQzM2Q3NDU1YWEyZC4uY2JhZmMwOTM1NjlmZWUxMzc4ZDgzM2QzNjdmMzQ2NGE5YzQ1
OGI2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9QaW5nSGFu
ZGxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9QaW5nSGFuZGxlLmgK
QEAgLTUzLDcgKzUzLDcgQEAgcHVibGljOgogCiAgICAgICAgIC8vIElmIHRoZSBzZXJ2ZXIgbmV2
ZXIgcmVzcG9uZHMsIHRoaXMgb2JqZWN0IHdpbGwgaGFuZyBhcm91bmQgZm9yZXZlci4KICAgICAg
ICAgLy8gU2V0IGEgdmVyeSBnZW5lcm91cyB0aW1lb3V0LCBqdXN0IGluIGNhc2UuCi0gICAgICAg
IG1fdGltZW91dFRpbWVyLnN0YXJ0T25lU2hvdCg2MDAwMCk7CisgICAgICAgIG1fdGltZW91dFRp
bWVyLnN0YXJ0T25lU2hvdCg2MDAwMF9zKTsKICAgICB9CiAKIHByaXZhdGU6CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvUmVzb3VyY2VIYW5kbGVNYW5h
Z2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9SZXNvdXJjZUhh
bmRsZU1hbmFnZXIuY3BwCmluZGV4IGFmYmE1NWY2ZmUyMTQwZGRmZjM3YjVlZDFmOTk2ZTBlN2I3
ODY2ZjkuLmNhY2ZiYjU3NWU5OGI4NTBiMDJiMGFkMzMzMTBlZWM4YWVlNDE5MzIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9SZXNvdXJjZUhhbmRsZU1h
bmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9SZXNv
dXJjZUhhbmRsZU1hbmFnZXIuY3BwCkBAIC04Myw3ICs4Myw3IEBACiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKIGNvbnN0IGludCBzZWxlY3RUaW1lb3V0TVMgPSA1OwotY29uc3QgZG91YmxlIHBvbGxU
aW1lU2Vjb25kcyA9IDAuMDU7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBwb2xsVGltZSB7IDUwX21z
IH07CiBjb25zdCBpbnQgbWF4UnVubmluZ0pvYnMgPSAxMjg7CiBjb25zdCBjaGFyKiBjb25zdCBl
cnJvckRvbWFpbkN1cmwgPSAiQ3VybEVycm9yRG9tYWluIjsKIApAQCAtNzI3LDcgKzcyNyw3IEBA
IHZvaWQgUmVzb3VyY2VIYW5kbGVNYW5hZ2VyOjpkb3dubG9hZFRpbWVyQ2FsbGJhY2soKQogICAg
IGJvb2wgc3RhcnRlZCA9IHN0YXJ0U2NoZWR1bGVkSm9icygpOyAvLyBuZXcgam9icyBtaWdodCBo
YXZlIGJlZW4gYWRkZWQgaW4gdGhlIG1lYW50aW1lCiAKICAgICBpZiAoIW1fZG93bmxvYWRUaW1l
ci5pc0FjdGl2ZSgpICYmIChzdGFydGVkIHx8IChydW5uaW5nSGFuZGxlcyA+IDApKSkKLSAgICAg
ICAgbV9kb3dubG9hZFRpbWVyLnN0YXJ0T25lU2hvdChwb2xsVGltZVNlY29uZHMpOworICAgICAg
ICBtX2Rvd25sb2FkVGltZXIuc3RhcnRPbmVTaG90KHBvbGxUaW1lKTsKIH0KIAogdm9pZCBSZXNv
dXJjZUhhbmRsZU1hbmFnZXI6OnNldFByb3h5SW5mbyhjb25zdCBTdHJpbmcmIGhvc3QsCkBAIC04
NzcsNyArODc3LDcgQEAgdm9pZCBSZXNvdXJjZUhhbmRsZU1hbmFnZXI6OmFkZChSZXNvdXJjZUhh
bmRsZSogam9iKQogICAgIGpvYi0+cmVmKCk7CiAgICAgbV9yZXNvdXJjZUhhbmRsZUxpc3QuYXBw
ZW5kKGpvYik7CiAgICAgaWYgKCFtX2Rvd25sb2FkVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAg
bV9kb3dubG9hZFRpbWVyLnN0YXJ0T25lU2hvdChwb2xsVGltZVNlY29uZHMpOworICAgICAgICBt
X2Rvd25sb2FkVGltZXIuc3RhcnRPbmVTaG90KHBvbGxUaW1lKTsKIH0KIAogYm9vbCBSZXNvdXJj
ZUhhbmRsZU1hbmFnZXI6OnJlbW92ZVNjaGVkdWxlZEpvYihSZXNvdXJjZUhhbmRsZSogam9iKQpA
QCAtMTIzOCw3ICsxMjM4LDcgQEAgdm9pZCBSZXNvdXJjZUhhbmRsZU1hbmFnZXI6OmNhbmNlbChS
ZXNvdXJjZUhhbmRsZSogam9iKQogICAgIFJlc291cmNlSGFuZGxlSW50ZXJuYWwqIGQgPSBqb2It
PmdldEludGVybmFsKCk7CiAgICAgZC0+bV9jYW5jZWxsZWQgPSB0cnVlOwogICAgIGlmICghbV9k
b3dubG9hZFRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fZG93bmxvYWRUaW1lci5zdGFydE9u
ZVNob3QocG9sbFRpbWVTZWNvbmRzKTsKKyAgICAgICAgbV9kb3dubG9hZFRpbWVyLnN0YXJ0T25l
U2hvdChwb2xsVGltZSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL05ldHdvcmtTdGF0ZU5vdGlmaWVy
TWFjLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL05ldHdvcmtTdGF0
ZU5vdGlmaWVyTWFjLmNwcAppbmRleCA1NWFkZTIxOGMxMzg4OGMwY2MyNmViZWNiNzkyNjNkY2E3
MDA5MTZkLi45MTJmNjdiZjE4NjZkNDQ2Y2RlZTVmNzg4ZmNjNjMyODljZTFlNTE1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9OZXR3b3JrU3RhdGVOb3Rp
Zmllck1hYy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvTmV0
d29ya1N0YXRlTm90aWZpZXJNYWMuY3BwCkBAIC0zMSw3ICszMSw3IEBACiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAotc3RhdGljIGNvbnN0IGRvdWJsZSBTdGF0ZUNoYW5nZVRpbWVySW50ZXJ2YWwg
PSAyLjA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBTdGF0ZUNoYW5nZVRpbWVySW50ZXJ2YWwgeyAy
X3MgfTsKIAogdm9pZCBOZXR3b3JrU3RhdGVOb3RpZmllcjo6dXBkYXRlU3RhdGUoKQogewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFu
ZGxlU291cC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3Vy
Y2VIYW5kbGVTb3VwLmNwcAppbmRleCAxMzllMDlkYjcyZWFjYjIxM2JhMzYzY2RmMzdlOGJiMjI4
ZDJlMzQxLi45ZDZkNWM0MDc3NDExMDU5NDdlYzc0NmIxZDE5ZDc4ZDNlMmNlYzNmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVT
b3VwLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3Vy
Y2VIYW5kbGVTb3VwLmNwcApAQCAtNzcxLDcgKzc3MSw3IEBAIHZvaWQgUmVzb3VyY2VIYW5kbGU6
OnNlbmRQZW5kaW5nUmVxdWVzdCgpCiAjZW5kaWYKIAogICAgIGlmIChkLT5tX2ZpcnN0UmVxdWVz
dC50aW1lb3V0SW50ZXJ2YWwoKSA+IDApCi0gICAgICAgIGQtPm1fdGltZW91dFNvdXJjZS5zdGFy
dE9uZVNob3QoZC0+bV9maXJzdFJlcXVlc3QudGltZW91dEludGVydmFsKCkpOworICAgICAgICBk
LT5tX3RpbWVvdXRTb3VyY2Uuc3RhcnRPbmVTaG90KDFfcyAqIGQtPm1fZmlyc3RSZXF1ZXN0LnRp
bWVvdXRJbnRlcnZhbCgpKTsKIAogICAgIC8vIEJhbGFuY2VkIGJ5IGEgZGVyZWYoKSBpbiBjbGVh
bnVwU291cFJlcXVlc3RPcGVyYXRpb24sIHdoaWNoIHNob3VsZCBhbHdheXMgcnVuLgogICAgIHJl
ZigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0ltYWdlUXVhbGl0eUNv
bnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0ltYWdlUXVhbGl0eUNvbnRy
b2xsZXIuY3BwCmluZGV4IDFiYzgyZTk3Zjg3OTBlYzBkN2ExOWUwNDRmZWRmYzc5OWM1ZTJiYWQu
Ljc1NDE1ZDAyM2ZjNzRjM2RmZjRiNzk3YWJhMzBmZDRlNTM1OTJkZTMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbWFnZVF1YWxpdHlDb250cm9sbGVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW1hZ2VRdWFsaXR5Q29udHJvbGxlci5jcHAKQEAgLTM1
LDcgKzM1LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogc3RhdGljIGNvbnN0IGRvdWJsZSBj
SW50ZXJwb2xhdGlvbkN1dG9mZiA9IDgwMC4gKiA4MDAuOwotc3RhdGljIGNvbnN0IGRvdWJsZSBj
TG93UXVhbGl0eVRpbWVUaHJlc2hvbGQgPSAwLjUwMDsgLy8gNTAwIG1zCitzdGF0aWMgY29uc3Qg
U2Vjb25kcyBsb3dRdWFsaXR5VGltZVRocmVzaG9sZCB7IDUwMF9tcyB9OwogCiBJbWFnZVF1YWxp
dHlDb250cm9sbGVyOjpJbWFnZVF1YWxpdHlDb250cm9sbGVyKGNvbnN0IFJlbmRlclZpZXcmIHJl
bmRlclZpZXcpCiAgICAgOiBtX3JlbmRlclZpZXcocmVuZGVyVmlldykKQEAgLTk0LDcgKzk0LDcg
QEAgdm9pZCBJbWFnZVF1YWxpdHlDb250cm9sbGVyOjpoaWdoUXVhbGl0eVJlcGFpbnRUaW1lckZp
cmVkKCkKIAogdm9pZCBJbWFnZVF1YWxpdHlDb250cm9sbGVyOjpyZXN0YXJ0VGltZXIoKQogewot
ICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KGNMb3dRdWFsaXR5VGltZVRocmVzaG9sZCk7CisgICAg
bV90aW1lci5zdGFydE9uZVNob3QobG93UXVhbGl0eVRpbWVUaHJlc2hvbGQpOwogfQogCiBzdGQ6
Om9wdGlvbmFsPEludGVycG9sYXRpb25RdWFsaXR5PiBJbWFnZVF1YWxpdHlDb250cm9sbGVyOjpp
bnRlcnBvbGF0aW9uUXVhbGl0eUZyb21TdHlsZShjb25zdCBSZW5kZXJTdHlsZSYgc3R5bGUpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9y
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3Bw
CmluZGV4IGVhYzQyZTIzNWUzYzliYWUwOTEzZDExOGYyNTc0ZDg4ZWZhZTc3MTcuLjFhODM4ZDg3
YzVlZmE1N2ZkNGMyYmQwMTA4YjhlZjZlOWU1ZTMyYjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCkBAIC05MiwxMSArOTIsMTEg
QEAgc3RhdGljIGNvbnN0IGludCBjYW52YXNBcmVhVGhyZXNob2xkUmVxdWlyaW5nQ29tcG9zaXRp
bmcgPSA1MCAqIDEwMDsKICNlbmRpZgogLy8gRHVyaW5nIHBhZ2UgbG9hZGluZyBkZWxheSBsYXll
ciBmbHVzaGVzIHVwIHRvIHRoaXMgbWFueSBzZWNvbmRzIHRvIGFsbG93IHRoZW0gY29hbGVzY2Us
IHJlZHVjaW5nIHdvcmtsb2FkLgogI2lmIFBMQVRGT1JNKElPUykKLXN0YXRpYyBjb25zdCBkb3Vi
bGUgdGhyb3R0bGVkTGF5ZXJGbHVzaEluaXRpYWxEZWxheSA9IC41Owotc3RhdGljIGNvbnN0IGRv
dWJsZSB0aHJvdHRsZWRMYXllckZsdXNoRGVsYXkgPSAxLjU7CitzdGF0aWMgY29uc3QgU2Vjb25k
cyB0aHJvdHRsZWRMYXllckZsdXNoSW5pdGlhbERlbGF5IHsgNTAwX21zIH07CitzdGF0aWMgY29u
c3QgU2Vjb25kcyB0aHJvdHRsZWRMYXllckZsdXNoRGVsYXkgeyAxLjVfcyB9OwogI2Vsc2UKLXN0
YXRpYyBjb25zdCBkb3VibGUgdGhyb3R0bGVkTGF5ZXJGbHVzaEluaXRpYWxEZWxheSA9IC41Owot
c3RhdGljIGNvbnN0IGRvdWJsZSB0aHJvdHRsZWRMYXllckZsdXNoRGVsYXkgPSAuNTsKK3N0YXRp
YyBjb25zdCBTZWNvbmRzIHRocm90dGxlZExheWVyRmx1c2hJbml0aWFsRGVsYXkgeyA1MDBfbXMg
fTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHRocm90dGxlZExheWVyRmx1c2hEZWxheSB7IDUwMF9t
cyB9OwogI2VuZGlmCiAKIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUHJvZ3Jlc3MuY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclByb2dyZXNzLmNwcAppbmRleCAzYjE0ZTQwN2ExZTIxYTg2OGJi
ZjgyNmM3NzgzNmJmMzQyMTNhYWEyLi41NmE0NWM3ZDBjYTBlZmZiMzRiZDRlMGEwMmMzYjA4Zjk1
MDg3NjhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUHJvZ3Jl
c3MuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJQcm9ncmVzcy5jcHAK
QEAgLTMyLDcgKzMyLDYgQEAgUmVuZGVyUHJvZ3Jlc3M6OlJlbmRlclByb2dyZXNzKEhUTUxFbGVt
ZW50JiBlbGVtZW50LCBSZW5kZXJTdHlsZSYmIHN0eWxlKQogICAgIDogUmVuZGVyQmxvY2tGbG93
KGVsZW1lbnQsIFdURk1vdmUoc3R5bGUpKQogICAgICwgbV9wb3NpdGlvbihIVE1MUHJvZ3Jlc3NF
bGVtZW50OjpJbnZhbGlkUG9zaXRpb24pCiAgICAgLCBtX2FuaW1hdGlvblN0YXJ0VGltZSgwKQot
ICAgICwgbV9hbmltYXRpb25SZXBlYXRJbnRlcnZhbCgwKQogICAgICwgbV9hbmltYXRpb25EdXJh
dGlvbigwKQogICAgICwgbV9hbmltYXRpbmcoZmFsc2UpCiAgICAgLCBtX2FuaW1hdGlvblRpbWVy
KCp0aGlzLCAmUmVuZGVyUHJvZ3Jlc3M6OmFuaW1hdGlvblRpbWVyRmlyZWQpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUHJvZ3Jlc3MuaCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJQcm9ncmVzcy5oCmluZGV4IDNhNmQ4NGQ4MzU2MTMwNzE3YjQw
MzJmOWEzOGFiODNhZGU5YWI5ODcuLjI5NjRlYzU3MGQwZDlhOWNlNDgwNjAzMzliYmY4NWIyOTE4
NTNmYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJQcm9ncmVz
cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJQcm9ncmVzcy5oCkBAIC01
MCw3ICs1MCw3IEBAIHByaXZhdGU6CiAKICAgICBkb3VibGUgbV9wb3NpdGlvbjsKICAgICBkb3Vi
bGUgbV9hbmltYXRpb25TdGFydFRpbWU7Ci0gICAgZG91YmxlIG1fYW5pbWF0aW9uUmVwZWF0SW50
ZXJ2YWw7CisgICAgU2Vjb25kcyBtX2FuaW1hdGlvblJlcGVhdEludGVydmFsOwogICAgIGRvdWJs
ZSBtX2FuaW1hdGlvbkR1cmF0aW9uOwogICAgIGJvb2wgbV9hbmltYXRpbmc7CiAgICAgVGltZXIg
bV9hbmltYXRpb25UaW1lcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmNwcApp
bmRleCAyYzg4YWM1ZDIwODdhOGQ0MWY4MDY3Y2YwYTQxODA1OTY0NzIyOWIwLi4yYTUyMmRjYTg4
NDA1MzVmOWIyNDQ2ZWU3OGJkZTE5ZGU4YWRkNzIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRleHQuY3BwCkBAIC0xMDcsNyArMTA3LDcgQEAgaW5saW5lIFNlY3VyZVRleHRUaW1l
cjo6U2VjdXJlVGV4dFRpbWVyKFJlbmRlclRleHQmIHJlbmRlcmVyKQogaW5saW5lIHZvaWQgU2Vj
dXJlVGV4dFRpbWVyOjpyZXN0YXJ0KHVuc2lnbmVkIG9mZnNldEFmdGVyTGFzdFR5cGVkQ2hhcmFj
dGVyKQogewogICAgIG1fb2Zmc2V0QWZ0ZXJMYXN0VHlwZWRDaGFyYWN0ZXIgPSBvZmZzZXRBZnRl
ckxhc3RUeXBlZENoYXJhY3RlcjsKLSAgICBzdGFydE9uZVNob3QobV9yZW5kZXJlci5zZXR0aW5n
cygpLnBhc3N3b3JkRWNob0R1cmF0aW9uSW5TZWNvbmRzKCkpOworICAgIHN0YXJ0T25lU2hvdCgx
X3MgKiBtX3JlbmRlcmVyLnNldHRpbmdzKCkucGFzc3dvcmRFY2hvRHVyYXRpb25JblNlY29uZHMo
KSk7CiB9CiAKIGlubGluZSB1bnNpZ25lZCBTZWN1cmVUZXh0VGltZXI6OnRha2VPZmZzZXRBZnRl
ckxhc3RUeXBlZENoYXJhY3RlcigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGhlbWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1l
LmNwcAppbmRleCBjMzFhOWFhNmNmMmIwNjk4MjJiNmZmNTA2N2JmZmFjNTM3ZmYyYmEzLi5kYjRk
ODA4YjgzNTgzMDExNzNhOGFjYzA5NmQ5ZTY0NGJhMzBmOGI1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUaGVtZS5jcHAKQEAgLTEwNjIsOSArMTA2Miw5IEBAIHZvaWQgUmVuZGVy
VGhlbWU6OnBhaW50U2xpZGVyVGlja3MoY29uc3QgUmVuZGVyT2JqZWN0JiBvLCBjb25zdCBQYWlu
dEluZm8mIHBhaW50CiB9CiAjZW5kaWYKIAotZG91YmxlIFJlbmRlclRoZW1lOjphbmltYXRpb25S
ZXBlYXRJbnRlcnZhbEZvclByb2dyZXNzQmFyKFJlbmRlclByb2dyZXNzJikgY29uc3QKK1NlY29u
ZHMgUmVuZGVyVGhlbWU6OmFuaW1hdGlvblJlcGVhdEludGVydmFsRm9yUHJvZ3Jlc3NCYXIoUmVu
ZGVyUHJvZ3Jlc3MmKSBjb25zdAogewotICAgIHJldHVybiAwOworICAgIHJldHVybiAwX3M7CiB9
CiAKIGRvdWJsZSBSZW5kZXJUaGVtZTo6YW5pbWF0aW9uRHVyYXRpb25Gb3JQcm9ncmVzc0JhcihS
ZW5kZXJQcm9ncmVzcyYpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGhlbWUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5o
CmluZGV4IDcxZDE2NWExMDhkNjE4MDM2ZWNmMzNlMGIxYWQyYTIxOWI5MTBhODAuLjYxN2NhZGIx
Y2E2OTIzNzZjZjViM2U1NzY0ZWI5NzdhNDZjMTNjZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUaGVtZS5oCkBAIC0xOTUsNyArMTk1LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwg
U2Nyb2xsYmFyQ29udHJvbFNpemUgc2Nyb2xsYmFyQ29udHJvbFNpemVGb3JQYXJ0KENvbnRyb2xQ
YXJ0KSB7IHJldHVybiBSZWd1bGFyU2Nyb2xsYmFyOyB9CiAKICAgICAvLyBSZXR1cm5zIHRoZSBy
ZXBlYXQgaW50ZXJ2YWwgb2YgdGhlIGFuaW1hdGlvbiBmb3IgdGhlIHByb2dyZXNzIGJhci4KLSAg
ICB2aXJ0dWFsIGRvdWJsZSBhbmltYXRpb25SZXBlYXRJbnRlcnZhbEZvclByb2dyZXNzQmFyKFJl
bmRlclByb2dyZXNzJikgY29uc3Q7CisgICAgdmlydHVhbCBTZWNvbmRzIGFuaW1hdGlvblJlcGVh
dEludGVydmFsRm9yUHJvZ3Jlc3NCYXIoUmVuZGVyUHJvZ3Jlc3MmKSBjb25zdDsKICAgICAvLyBS
ZXR1cm5zIHRoZSBkdXJhdGlvbiBvZiB0aGUgYW5pbWF0aW9uIGZvciB0aGUgcHJvZ3Jlc3MgYmFy
LgogICAgIHZpcnR1YWwgZG91YmxlIGFuaW1hdGlvbkR1cmF0aW9uRm9yUHJvZ3Jlc3NCYXIoUmVu
ZGVyUHJvZ3Jlc3MmKSBjb25zdDsKICAgICB2aXJ0dWFsIEludFJlY3QgcHJvZ3Jlc3NCYXJSZWN0
Rm9yQm91bmRzKGNvbnN0IFJlbmRlck9iamVjdCYsIGNvbnN0IEludFJlY3QmKSBjb25zdDsKQEAg
LTIwOCw3ICsyMDgsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIHVzZXNNZWRpYUNvbnRy
b2xWb2x1bWVTbGlkZXIoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CiAgICAgdmlydHVhbCBib29s
IHVzZXNWZXJ0aWNhbFZvbHVtZVNsaWRlcigpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KICAgICB2
aXJ0dWFsIGRvdWJsZSBtZWRpYUNvbnRyb2xzRmFkZUluRHVyYXRpb24oKSB7IHJldHVybiAwLjE7
IH0KLSAgICB2aXJ0dWFsIGRvdWJsZSBtZWRpYUNvbnRyb2xzRmFkZU91dER1cmF0aW9uKCkgeyBy
ZXR1cm4gMC4zOyB9CisgICAgdmlydHVhbCBTZWNvbmRzIG1lZGlhQ29udHJvbHNGYWRlT3V0RHVy
YXRpb24oKSB7IHJldHVybiAzMDBfbXM7IH0KICAgICB2aXJ0dWFsIFN0cmluZyBmb3JtYXRNZWRp
YUNvbnRyb2xzVGltZShmbG9hdCB0aW1lKSBjb25zdDsKICAgICB2aXJ0dWFsIFN0cmluZyBmb3Jt
YXRNZWRpYUNvbnRyb2xzQ3VycmVudFRpbWUoZmxvYXQgY3VycmVudFRpbWUsIGZsb2F0IGR1cmF0
aW9uKSBjb25zdDsKICAgICB2aXJ0dWFsIFN0cmluZyBmb3JtYXRNZWRpYUNvbnRyb2xzUmVtYWlu
aW5nVGltZShmbG9hdCBjdXJyZW50VGltZSwgZmxvYXQgZHVyYXRpb24pIGNvbnN0OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lR3RrLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUd0ay5jcHAKaW5kZXggMTcyODRmNDk5OGYz
MTUzNGI1NDE5NTM5YjQ5YzU0NjRkYTYzNTI4Yi4uYmE0YzZkMjhhYTNjNzEyZGI5OWY2NDNiNmU4
NGIwZmFkMWQ5MGRmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clRoZW1lR3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVH
dGsuY3BwCkBAIC0yMTExLDE1ICsyMTExLDE1IEBAIHZvaWQgUmVuZGVyVGhlbWVHdGs6OmFkanVz
dFByb2dyZXNzQmFyU3R5bGUoU3R5bGVSZXNvbHZlciYsIFJlbmRlclN0eWxlJiBzdHlsZSwKIC8v
IFRoZXNlIHZhbHVlcyBoYXZlIGJlZW4gY29waWVkIGZyb20gUmVuZGVyVGhlbWVDaHJvbWl1bVNr
aWEuY3BwCiBzdGF0aWMgY29uc3QgaW50IHByb2dyZXNzQWN0aXZpdHlCbG9ja3MgPSA1Owogc3Rh
dGljIGNvbnN0IGludCBwcm9ncmVzc0FuaW1hdGlvbkZyYW1lcyA9IDEwOwotc3RhdGljIGNvbnN0
IGRvdWJsZSBwcm9ncmVzc0FuaW1hdGlvbkludGVydmFsID0gMC4xMjU7Ci1kb3VibGUgUmVuZGVy
VGhlbWVHdGs6OmFuaW1hdGlvblJlcGVhdEludGVydmFsRm9yUHJvZ3Jlc3NCYXIoUmVuZGVyUHJv
Z3Jlc3MmKSBjb25zdAorc3RhdGljIGNvbnN0IFNlY29uZHMgcHJvZ3Jlc3NBbmltYXRpb25JbnRl
cnZhbCB7IDEyNV9tcyB9OworU2Vjb25kcyBSZW5kZXJUaGVtZUd0azo6YW5pbWF0aW9uUmVwZWF0
SW50ZXJ2YWxGb3JQcm9ncmVzc0JhcihSZW5kZXJQcm9ncmVzcyYpIGNvbnN0CiB7CiAgICAgcmV0
dXJuIHByb2dyZXNzQW5pbWF0aW9uSW50ZXJ2YWw7CiB9CiAKIGRvdWJsZSBSZW5kZXJUaGVtZUd0
azo6YW5pbWF0aW9uRHVyYXRpb25Gb3JQcm9ncmVzc0JhcihSZW5kZXJQcm9ncmVzcyYpIGNvbnN0
CiB7Ci0gICAgcmV0dXJuIHByb2dyZXNzQW5pbWF0aW9uSW50ZXJ2YWwgKiBwcm9ncmVzc0FuaW1h
dGlvbkZyYW1lcyAqIDI7IC8vICIyIiBmb3IgYmFjayBhbmQgZm9ydGg7CisgICAgcmV0dXJuIHBy
b2dyZXNzQW5pbWF0aW9uSW50ZXJ2YWwudmFsdWUoKSAqIHByb2dyZXNzQW5pbWF0aW9uRnJhbWVz
ICogMjsgLy8gIjIiIGZvciBiYWNrIGFuZCBmb3J0aDsKIH0KIAogSW50UmVjdCBSZW5kZXJUaGVt
ZUd0azo6Y2FsY3VsYXRlUHJvZ3Jlc3NSZWN0KGNvbnN0IFJlbmRlck9iamVjdCYgcmVuZGVyT2Jq
ZWN0LCBjb25zdCBJbnRSZWN0JiBmdWxsQmFyUmVjdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUd0ay5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRoZW1lR3RrLmgKaW5kZXggN2I4MmQ5MzE0NjQ0NGZkNGVmZWU1NjE0ZTVjMTFkNzZk
YjFlZDgxMS4uNjRhNGQ4OWZmNDUyYmI2MjNmZDgwOGE1Njk1MDBhYTZjY2VhNGNmNSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lR3RrLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lR3RrLmgKQEAgLTE2OCw3ICsxNjgsNyBA
QCBwcml2YXRlOgogI2VuZGlmCiAjZW5kaWYKIAotICAgIGRvdWJsZSBhbmltYXRpb25SZXBlYXRJ
bnRlcnZhbEZvclByb2dyZXNzQmFyKFJlbmRlclByb2dyZXNzJikgY29uc3Qgb3ZlcnJpZGU7Cisg
ICAgU2Vjb25kcyBhbmltYXRpb25SZXBlYXRJbnRlcnZhbEZvclByb2dyZXNzQmFyKFJlbmRlclBy
b2dyZXNzJikgY29uc3Qgb3ZlcnJpZGU7CiAgICAgZG91YmxlIGFuaW1hdGlvbkR1cmF0aW9uRm9y
UHJvZ3Jlc3NCYXIoUmVuZGVyUHJvZ3Jlc3MmKSBjb25zdCBvdmVycmlkZTsKICAgICB2b2lkIGFk
anVzdFByb2dyZXNzQmFyU3R5bGUoU3R5bGVSZXNvbHZlciYsIFJlbmRlclN0eWxlJiwgY29uc3Qg
RWxlbWVudCopIGNvbnN0IG92ZXJyaWRlOwogICAgIEludFJlY3QgcHJvZ3Jlc3NCYXJSZWN0Rm9y
Qm91bmRzKGNvbnN0IFJlbmRlck9iamVjdCYsIGNvbnN0IEludFJlY3QmKSBjb25zdCBvdmVycmlk
ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUlPUy5o
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lSU9TLmgKaW5kZXggYmIzOThm
N2ViY2YxMzBkOWE2YTE0NWEyN2U2Njg2OTYyYTNjOTZlMy4uMGIxZTU0NTEwN2ViZWE3OWU3NDQ4
NDhlODdmNjZhMzQzY2NkMDU2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRoZW1lSU9TLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRo
ZW1lSU9TLmgKQEAgLTgxLDcgKzgxLDcgQEAgcHJvdGVjdGVkOgogICAgIGJvb2wgcGFpbnRTbGlk
ZXJUaHVtYkRlY29yYXRpb25zKGNvbnN0IFJlbmRlck9iamVjdCYsIGNvbnN0IFBhaW50SW5mbyYs
IGNvbnN0IEludFJlY3QmKSBvdmVycmlkZTsKIAogICAgIC8vIFJldHVybnMgdGhlIHJlcGVhdCBp
bnRlcnZhbCBvZiB0aGUgYW5pbWF0aW9uIGZvciB0aGUgcHJvZ3Jlc3MgYmFyLgotICAgIGRvdWJs
ZSBhbmltYXRpb25SZXBlYXRJbnRlcnZhbEZvclByb2dyZXNzQmFyKFJlbmRlclByb2dyZXNzJikg
Y29uc3Qgb3ZlcnJpZGU7CisgICAgU2Vjb25kcyBhbmltYXRpb25SZXBlYXRJbnRlcnZhbEZvclBy
b2dyZXNzQmFyKFJlbmRlclByb2dyZXNzJikgY29uc3Qgb3ZlcnJpZGU7CiAgICAgLy8gUmV0dXJu
cyB0aGUgZHVyYXRpb24gb2YgdGhlIGFuaW1hdGlvbiBmb3IgdGhlIHByb2dyZXNzIGJhci4KICAg
ICBkb3VibGUgYW5pbWF0aW9uRHVyYXRpb25Gb3JQcm9ncmVzc0JhcihSZW5kZXJQcm9ncmVzcyYp
IGNvbnN0IG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGhlbWVJT1MubW0gYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVJ
T1MubW0KaW5kZXggMjAxMzE5NWZhNjljMjg3YjI0NmQyYzJmZGMxMmQwYzRlNWRhZjIwNS4uZDlm
NGY3NzljOTgzMzFiNTBmYmEzNWYxNDQ1M2NkYmJlMDVhZmY3OSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUaGVtZUlPUy5tbQpAQCAtODcwLDkgKzg3MCw5IEBAIGJvb2wgUmVu
ZGVyVGhlbWVJT1M6OnBhaW50U2xpZGVyVGh1bWJEZWNvcmF0aW9ucyhjb25zdCBSZW5kZXJPYmpl
Y3QmIGJveCwgY29uc3QKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLWRvdWJsZSBSZW5kZXJUaGVt
ZUlPUzo6YW5pbWF0aW9uUmVwZWF0SW50ZXJ2YWxGb3JQcm9ncmVzc0JhcihSZW5kZXJQcm9ncmVz
cyYpIGNvbnN0CitTZWNvbmRzIFJlbmRlclRoZW1lSU9TOjphbmltYXRpb25SZXBlYXRJbnRlcnZh
bEZvclByb2dyZXNzQmFyKFJlbmRlclByb2dyZXNzJikgY29uc3QKIHsKLSAgICByZXR1cm4gMDsK
KyAgICByZXR1cm4gMF9zOwogfQogCiBkb3VibGUgUmVuZGVyVGhlbWVJT1M6OmFuaW1hdGlvbkR1
cmF0aW9uRm9yUHJvZ3Jlc3NCYXIoUmVuZGVyUHJvZ3Jlc3MmKSBjb25zdApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLmggYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMuaAppbmRleCA2YjljNzI3YzlhODE4MTBhNmE4Y2Q0
NjBjMmFhYTY2NGVmMWE0OGYxLi5mMzkwMGEwMDNmZTQ4MDZjZjQ1NTEyY2FiNGM2YWYyYzEwYzI5
MmZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMuaApAQCAtODcs
NyArODcsNyBAQCBwdWJsaWM6CiAjZW5kaWYKIAogICAgIC8vIFJldHVybnMgdGhlIHJlcGVhdCBp
bnRlcnZhbCBvZiB0aGUgYW5pbWF0aW9uIGZvciB0aGUgcHJvZ3Jlc3MgYmFyLgotICAgIGRvdWJs
ZSBhbmltYXRpb25SZXBlYXRJbnRlcnZhbEZvclByb2dyZXNzQmFyKFJlbmRlclByb2dyZXNzJikg
Y29uc3Qgb3ZlcnJpZGU7CisgICAgU2Vjb25kcyBhbmltYXRpb25SZXBlYXRJbnRlcnZhbEZvclBy
b2dyZXNzQmFyKFJlbmRlclByb2dyZXNzJikgY29uc3Qgb3ZlcnJpZGU7CiAgICAgLy8gUmV0dXJu
cyB0aGUgZHVyYXRpb24gb2YgdGhlIGFuaW1hdGlvbiBmb3IgdGhlIHByb2dyZXNzIGJhci4KICAg
ICBkb3VibGUgYW5pbWF0aW9uRHVyYXRpb25Gb3JQcm9ncmVzc0JhcihSZW5kZXJQcm9ncmVzcyYp
IGNvbnN0IG92ZXJyaWRlOwogICAgIEludFJlY3QgcHJvZ3Jlc3NCYXJSZWN0Rm9yQm91bmRzKGNv
bnN0IFJlbmRlck9iamVjdCYsIGNvbnN0IEludFJlY3QmKSBjb25zdCBvdmVycmlkZTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5tbSBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5tbQppbmRleCBmODBlMmM5MTk4OTAx
YmJhYzg5OTRiNmZjZTNjZmVmM2QzMTM0NWMxLi45YjU1ZWY2Zjc5NmY4ZTdjODc3MDk1ZGIyOTI0
MjVmNGU3NGE4MjYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VGhlbWVNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFj
Lm1tCkBAIC0xMTQsMTAgKzExNCwxMCBAQCBAZW5kCiAKIC8vIFdlIGVzdGltYXRlIHRoZSBhbmlt
YXRpb24gcmF0ZSBvZiBhIE1hYyBPUyBYIHByb2dyZXNzIGJhciBpcyAzMyBmcHMuCiAvLyBIYXJk
IGNvZGUgdGhlIHZhbHVlIGhlcmUgYmVjYXVzZSB3ZSBoYXZlbid0IGZvdW5kIEFQSSBmb3IgaXQu
Ci1jb25zdCBkb3VibGUgcHJvZ3Jlc3NBbmltYXRpb25GcmFtZVJhdGUgPSAwLjAzMzsKK3N0YXRp
YyBjb25zdCBTZWNvbmRzIHByb2dyZXNzQW5pbWF0aW9uRnJhbWVSYXRlID0gMzNfbXM7CiAKIC8v
IE1hYyBPUyBYIHByb2dyZXNzIGJhciBhbmltYXRpb24gc2VlbXMgdG8gaGF2ZSAyNTYgZnJhbWVz
LgotY29uc3QgZG91YmxlIHByb2dyZXNzQW5pbWF0aW9uTnVtRnJhbWVzID0gMjU2Oworc3RhdGlj
IGNvbnN0IGRvdWJsZSBwcm9ncmVzc0FuaW1hdGlvbk51bUZyYW1lcyA9IDI1NjsKIAogQGludGVy
ZmFjZSBXZWJDb3JlUmVuZGVyVGhlbWVOb3RpZmljYXRpb25PYnNlcnZlciA6IE5TT2JqZWN0CiB7
CkBAIC0xMTI5LDE0ICsxMTI5LDE0IEBAIGludCBSZW5kZXJUaGVtZU1hYzo6bWluaW11bVByb2dy
ZXNzQmFySGVpZ2h0KGNvbnN0IFJlbmRlclN0eWxlJiBzdHlsZSkgY29uc3QKICAgICByZXR1cm4g
c2l6ZUZvclN5c3RlbUZvbnQoc3R5bGUsIHByb2dyZXNzQmFyU2l6ZXMoKSkuaGVpZ2h0KCk7CiB9
CiAKLWRvdWJsZSBSZW5kZXJUaGVtZU1hYzo6YW5pbWF0aW9uUmVwZWF0SW50ZXJ2YWxGb3JQcm9n
cmVzc0JhcihSZW5kZXJQcm9ncmVzcyYpIGNvbnN0CitTZWNvbmRzIFJlbmRlclRoZW1lTWFjOjph
bmltYXRpb25SZXBlYXRJbnRlcnZhbEZvclByb2dyZXNzQmFyKFJlbmRlclByb2dyZXNzJikgY29u
c3QKIHsKICAgICByZXR1cm4gcHJvZ3Jlc3NBbmltYXRpb25GcmFtZVJhdGU7CiB9CiAKIGRvdWJs
ZSBSZW5kZXJUaGVtZU1hYzo6YW5pbWF0aW9uRHVyYXRpb25Gb3JQcm9ncmVzc0JhcihSZW5kZXJQ
cm9ncmVzcyYpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIHByb2dyZXNzQW5pbWF0aW9uTnVtRnJhbWVz
ICogcHJvZ3Jlc3NBbmltYXRpb25GcmFtZVJhdGU7CisgICAgcmV0dXJuIHByb2dyZXNzQW5pbWF0
aW9uTnVtRnJhbWVzICogcHJvZ3Jlc3NBbmltYXRpb25GcmFtZVJhdGUudmFsdWUoKTsKIH0KIAog
dm9pZCBSZW5kZXJUaGVtZU1hYzo6YWRqdXN0UHJvZ3Jlc3NCYXJTdHlsZShTdHlsZVJlc29sdmVy
JiwgUmVuZGVyU3R5bGUmLCBjb25zdCBFbGVtZW50KikgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlcGxheS9FdmVudExvb3BJbnB1dERpc3BhdGNoZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVwbGF5L0V2ZW50TG9vcElucHV0RGlzcGF0Y2hlci5jcHAKaW5kZXggNTEwMjkzZmMx
NmM2NGFjOWI1ZmI1MWU3Yjk4ZDA5MGQ4YjUxMzY2Ny4uOWUyNzg2ZDU4YTBmNjVjOGJlYzQ1YTk3
M2NhZWE0NmEyZjUwOTNhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVwbGF5L0V2ZW50
TG9vcElucHV0RGlzcGF0Y2hlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVwbGF5L0V2ZW50
TG9vcElucHV0RGlzcGF0Y2hlci5jcHAKQEAgLTExOCw3ICsxMTgsNyBAQCB2b2lkIEV2ZW50TG9v
cElucHV0RGlzcGF0Y2hlcjo6ZGlzcGF0Y2hJbnB1dFNvb24oKQogICAgIH0KIAogICAgIExPRyhX
ZWJSZXBsYXksICIlLTIwcyAoV0FJVDogJS4zZiBtcykiLCAiUmVwbGF5RXZlbnRzIiwgd2FpdElu
dGVydmFsICogMTAwMC4wKTsKLSAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCh3YWl0SW50ZXJ2YWwp
OworICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDFfcyAqIHdhaXRJbnRlcnZhbCk7CiB9CiAKIHZv
aWQgRXZlbnRMb29wSW5wdXREaXNwYXRjaGVyOjpkaXNwYXRjaElucHV0KCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9hbmltYXRpb24vU01JTFRpbWVDb250YWluZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvc3ZnL2FuaW1hdGlvbi9TTUlMVGltZUNvbnRhaW5lci5jcHAKaW5kZXggMTI1
YjQzYjRjZWZlMmIyZWZiMmZjMGY1ZWJmYTU0MWUyN2ExODQwZC4uNDVjYWY5ZjRjYzUzNWY3Y2Zk
NzlkNWQxNGI4ZjBiNzg2ODY1NGY1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL2Fu
aW1hdGlvbi9TTUlMVGltZUNvbnRhaW5lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL2Fu
aW1hdGlvbi9TTUlMVGltZUNvbnRhaW5lci5jcHAKQEAgLTM1LDggKzM1LDggQEAKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCi1zdGF0aWMgY29uc3QgU2Vjb25kcyBTTUlMQW5pbWF0aW9uRnJhbWVE
ZWxheSB7IDEuMCAvIDYwIH07Ci1zdGF0aWMgY29uc3QgU2Vjb25kcyBTTUlMQW5pbWF0aW9uRnJh
bWVUaHJvdHRsZWREZWxheSB7IDEuMCAvIDMwIH07CitzdGF0aWMgY29uc3QgU2Vjb25kcyBTTUlM
QW5pbWF0aW9uRnJhbWVEZWxheSB7IDFfcyAvIDYwLiB9Oworc3RhdGljIGNvbnN0IFNlY29uZHMg
U01JTEFuaW1hdGlvbkZyYW1lVGhyb3R0bGVkRGVsYXkgeyAxX3MgLyAzMC4gfTsKIAogU01JTFRp
bWVDb250YWluZXI6OlNNSUxUaW1lQ29udGFpbmVyKFNWR1NWR0VsZW1lbnQmIG93bmVyKQogICAg
IDogbV9iZWdpblRpbWUoMCkKQEAgLTIxNiw3ICsyMTYsNyBAQCB2b2lkIFNNSUxUaW1lQ29udGFp
bmVyOjpzdGFydFRpbWVyKFNNSUxUaW1lIGVsYXBzZWQsIFNNSUxUaW1lIGZpcmVUaW1lLCBTTUlM
VGltZQogICAgICAgICByZXR1cm47CiAKICAgICBTTUlMVGltZSBkZWxheSA9IHN0ZDo6bWF4KGZp
cmVUaW1lIC0gZWxhcHNlZCwgbWluaW11bURlbGF5KTsKLSAgICBtX3RpbWVyLnN0YXJ0T25lU2hv
dChkZWxheS52YWx1ZSgpKTsKKyAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgxX3MgKiBkZWxheS52
YWx1ZSgpKTsKIH0KIAogdm9pZCBTTUlMVGltZUNvbnRhaW5lcjo6dGltZXJGaXJlZCgpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwIGIvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcAppbmRleCBlOWVhNGNiMDQ4
MDlkYWFjNTQ5NWE4YTI3ZjUwNjU2MThkZjg2OTMxLi43YWNmNTA1OTMxZTIwMjJjZjZkNjI0ZGVh
YzljMDVhM2ViZDY2ODcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFsU2V0dGluZ3MuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0
aW5ncy5jcHAKQEAgLTU3MCw3ICs1NzAsNyBAQCBFeGNlcHRpb25Pcjx2b2lkPiBJbnRlcm5hbFNl
dHRpbmdzOjpzZXRUaW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cgogewog
ICAgIGlmICghbV9wYWdlKQogICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSU5WQUxJRF9BQ0NF
U1NfRVJSIH07Ci0gICAgc2V0dGluZ3MoKS5zZXRUaW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZv
cmVIaWRpbmdDb250cm9scyh0aW1lKTsKKyAgICBzZXR0aW5ncygpLnNldFRpbWVXaXRob3V0TW91
c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKFNlY29uZHMgeyB0aW1lIH0pOwogICAgIHJl
dHVybiB7IH07CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJu
YWxTZXR0aW5ncy5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmgK
aW5kZXggMjBhNzM2MzliNTBjNzIwZDM3ZjU1MjNkYTJmNTdiNGQ2MDZkNmFjNi4uMTllNWJkZTE1
YmQ1ZDI0M2IzZWNiMWRjODFkM2RiZGYxMzE1MTVlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9JbnRlcm5hbFNldHRpbmdzLmgKQEAgLTE1OSw3ICsxNTksNyBAQCBwcml2YXRlOgogI2VuZGlm
CiAgICAgICAgIFN0cmluZyBtX2RlZmF1bHRWaWRlb1Bvc3RlclVSTDsKICAgICAgICAgYm9vbCBt
X2ZvcmNlUGVuZGluZ1dlYkdMUG9saWN5OwotICAgICAgICBib29sIG1fb3JpZ2luYWxUaW1lV2l0
aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9sczsKKyAgICAgICAgU2Vjb25kcyBt
X29yaWdpbmFsVGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHM7CiAg
ICAgICAgIGJvb2wgbV91c2VMZWdhY3lCYWNrZ3JvdW5kU2l6ZVNob3J0aGFuZEJlaGF2aW9yOwog
ICAgICAgICBib29sIG1fYXV0b3Njcm9sbEZvckRyYWdBbmREcm9wRW5hYmxlZDsKICAgICAgICAg
Ym9vbCBtX3F1aWNrVGltZVBsdWdpblJlcGxhY2VtZW50RW5hYmxlZDsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxzLmNwcAppbmRleCA1NTViZjE1ODlhMDhlNzA0MGIzYjMzN2EyYzY0ZGQzNDJh
Y2I2NTA1Li5kNTllNjg3OGY1Zjc4ZjI0NDBiMGQyMzY4MjVlZjU0Y2E5ZWU4YzFkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCkBAIC03MjksNyArNzI5LDcgQEAgdm9pZCBJbnRl
cm5hbHM6OnNldEltYWdlRnJhbWVEZWNvZGluZ0R1cmF0aW9uKEhUTUxJbWFnZUVsZW1lbnQmIGVs
ZW1lbnQsIGZsb2F0IGQKICAgICBpZiAoIWlzPEJpdG1hcEltYWdlPihpbWFnZSkpCiAgICAgICAg
IHJldHVybjsKICAgICAKLSAgICBkb3duY2FzdDxCaXRtYXBJbWFnZT4oKmltYWdlKS5zZXRGcmFt
ZURlY29kaW5nRHVyYXRpb25Gb3JUZXN0aW5nKGR1cmF0aW9uKTsKKyAgICBkb3duY2FzdDxCaXRt
YXBJbWFnZT4oKmltYWdlKS5zZXRGcmFtZURlY29kaW5nRHVyYXRpb25Gb3JUZXN0aW5nKFNlY29u
ZHMgeyBkdXJhdGlvbiB9KTsKIH0KIAogdm9pZCBJbnRlcm5hbHM6OnJlc2V0SW1hZ2VBbmltYXRp
b24oSFRNTEltYWdlRWxlbWVudCYgZWxlbWVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3htbC9YTUxIdHRwUmVxdWVzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVl
c3QuY3BwCmluZGV4IDlkZWY5MzdjNTIxYmIxOTk4NTBhMTI4YjQxZjU0YzFjNTczYTE3NDguLjEz
MDYxMDhjODRhM2I5MzM0ZjNkOTI3YWE1YmY0ZjkzNTQ1ODUxNDggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUveG1s
L1hNTEh0dHBSZXF1ZXN0LmNwcApAQCAtNzM4LDcgKzczOCw3IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+
IFhNTEh0dHBSZXF1ZXN0OjpjcmVhdGVSZXF1ZXN0KCkKICAgICAgICAgZWxzZSB7CiAgICAgICAg
ICAgICByZXF1ZXN0LnNldFRpbWVvdXRJbnRlcnZhbChzdGQ6Om51bWVyaWNfbGltaXRzPGRvdWJs
ZT46OmluZmluaXR5KCkpOwogICAgICAgICAgICAgbV9zZW5kaW5nVGltZSA9IE1vbm90b25pY1Rp
bWU6Om5vdygpOwotICAgICAgICAgICAgbV90aW1lb3V0VGltZXIuc3RhcnRPbmVTaG90KFNlY29u
ZHMgeyBtX3RpbWVvdXRNaWxsaXNlY29uZHMgLyAxMDAwLiB9KTsKKyAgICAgICAgICAgIG1fdGlt
ZW91dFRpbWVyLnN0YXJ0T25lU2hvdCgxX21zICogbV90aW1lb3V0TWlsbGlzZWNvbmRzKTsKICAg
ICAgICAgfQogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TdG9yYWdlL1N0b3Jh
Z2VBcmVhU3luYy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2UvU3RvcmFnZUFyZWFTeW5jLmNw
cAppbmRleCBhYzBkY2MxMjU2OTRkYWQ0YzRiOTIyODdhMDMxZWZhMDkzNTRlYTE5Li5iYTE1ZTRh
NGRhMGJjMjMwOWY5ZTJmMTc2MTQxYmY2YTYxM2QwMzBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1N0b3JhZ2UvU3RvcmFnZUFyZWFTeW5jLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1N0b3Jh
Z2UvU3RvcmFnZUFyZWFTeW5jLmNwcApAQCAtNDEsNyArNDEsNyBAQCBuYW1lc3BhY2UgV2ViS2l0
IHsKIAogLy8gSWYgdGhlIFN0b3JhZ2VBcmVhIHVuZGVyZ29lcyByYXBpZCBjaGFuZ2VzLCBkb24n
dCBzeW5jIGVhY2ggY2hhbmdlIHRvIGRpc2suCiAvLyBJbnN0ZWFkLCBxdWV1ZSB1cCBhIGJhdGNo
IG9mIGl0ZW1zIHRvIHN5bmMgYW5kIGFjdHVhbGx5IGRvIHRoZSBzeW5jIGF0IHRoZSBmb2xsb3dp
bmcgaW50ZXJ2YWwuCi1zdGF0aWMgY29uc3QgZG91YmxlIFN0b3JhZ2VTeW5jSW50ZXJ2YWwgPSAx
LjA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBTdG9yYWdlU3luY0ludGVydmFsIHsgMV9zIH07CiAK
IC8vIEEgc2FuZSBsaW1pdCBvbiBob3cgbWFueSBpdGVtcyB3ZSdsbCBzY2hlZHVsZSB0byBzeW5j
IGFsbCBhdCBvbmNlLiAgVGhpcyBtYWtlcyBpdAogLy8gbXVjaCBoYXJkZXIgdG8gc3RhcnZlIHRo
ZSByZXN0IG9mIExvY2FsU3RvcmFnZSBhbmQgdGhlIE9TJ3MgSU8gc3Vic3lzdGVtIGluIGdlbmVy
YWwuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2UvU3RvcmFnZVRyYWNrZXIuY3Bw
IGIvU291cmNlL1dlYktpdC9TdG9yYWdlL1N0b3JhZ2VUcmFja2VyLmNwcAppbmRleCA1OWEwMGZl
MzBhOTYzZjU4MTNkOGIwZGRhMDRkYjYwODFhNjYyM2JkLi43YzU3NmFiNjhkYjJmNGZjNTE5NDFj
ZWY3NTk3YmRhNTQxMmFmZDI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2UvU3Rv
cmFnZVRyYWNrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU3RvcmFnZS9TdG9yYWdlVHJhY2tl
ci5jcHAKQEAgLTUyLDcgKzUyLDcgQEAgc3RhdGljIFN0b3JhZ2VUcmFja2VyKiBzdG9yYWdlVHJh
Y2tlciA9IG51bGxwdHI7CiAKIC8vIElmIHRoZXJlIGlzIG5vIGRvY3VtZW50IHJlZmVyZW5jaW5n
IGEgc3RvcmFnZSBkYXRhYmFzZSwgY2xvc2UgdGhlIHVuZGVybHlpbmcgZGF0YWJhc2UKIC8vIGFm
dGVyIGl0IGhhcyBiZWVuIGlkbGUgZm9yIG1fU3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsIHNl
Y29uZHMuCi1zdGF0aWMgY29uc3QgZG91YmxlIERlZmF1bHRTdG9yYWdlRGF0YWJhc2VJZGxlSW50
ZXJ2YWwgPSAzMDA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBkZWZhdWx0U3RvcmFnZURhdGFiYXNl
SWRsZUludGVydmFsIHsgMzAwX3MgfTsKICAgICAKIHZvaWQgU3RvcmFnZVRyYWNrZXI6OmluaXRp
YWxpemVUcmFja2VyKGNvbnN0IFN0cmluZyYgc3RvcmFnZVBhdGgsIFN0b3JhZ2VUcmFja2VyQ2xp
ZW50KiBjbGllbnQpCiB7CkBAIC05Nyw3ICs5Nyw3IEBAIFN0b3JhZ2VUcmFja2VyOjpTdG9yYWdl
VHJhY2tlcihjb25zdCBTdHJpbmcmIHN0b3JhZ2VQYXRoKQogICAgICwgbV90aHJlYWQoc3RkOjpt
YWtlX3VuaXF1ZTxTdG9yYWdlVGhyZWFkPigpKQogICAgICwgbV9pc0FjdGl2ZShmYWxzZSkKICAg
ICAsIG1fbmVlZHNJbml0aWFsaXphdGlvbihmYWxzZSkKLSAgICAsIG1fU3RvcmFnZURhdGFiYXNl
SWRsZUludGVydmFsKERlZmF1bHRTdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwpCisgICAgLCBt
X1N0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbChkZWZhdWx0U3RvcmFnZURhdGFiYXNlSWRsZUlu
dGVydmFsKQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2UvU3RvcmFn
ZVRyYWNrZXIuaCBiL1NvdXJjZS9XZWJLaXQvU3RvcmFnZS9TdG9yYWdlVHJhY2tlci5oCmluZGV4
IDU1ZDViMGQyMmU5YTM5ZjliOGMwODkzN2Y1OTRlOGZhM2JkYWNhODguLmUxZWQ2YjkzNmI2Zjc3
ZGMwZDE4MThhNjVhNGI3MTMwODRjOTA2N2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU3Rv
cmFnZS9TdG9yYWdlVHJhY2tlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU3RvcmFnZS9TdG9yYWdl
VHJhY2tlci5oCkBAIC01OSw4ICs1OSw4IEBAIHB1YmxpYzoKICAgICAKICAgICBib29sIGlzQWN0
aXZlKCk7CiAKLSAgICBkb3VibGUgc3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsKCkgeyByZXR1
cm4gbV9TdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWw7IH0KLSAgICB2b2lkIHNldFN0b3JhZ2VE
YXRhYmFzZUlkbGVJbnRlcnZhbChkb3VibGUgaW50ZXJ2YWwpIHsgbV9TdG9yYWdlRGF0YWJhc2VJ
ZGxlSW50ZXJ2YWwgPSBpbnRlcnZhbDsgfQorICAgIFNlY29uZHMgc3RvcmFnZURhdGFiYXNlSWRs
ZUludGVydmFsKCkgeyByZXR1cm4gbV9TdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWw7IH0KKyAg
ICB2b2lkIHNldFN0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbChTZWNvbmRzIGludGVydmFsKSB7
IG1fU3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsID0gaW50ZXJ2YWw7IH0KIAogICAgIHZvaWQg
c3luY0ZpbGVTeXN0ZW1BbmRUcmFja2VyRGF0YWJhc2UoKTsKIApAQCAtMTEwLDcgKzExMCw3IEBA
IHByaXZhdGU6CiAgICAgCiAgICAgYm9vbCBtX2lzQWN0aXZlOwogICAgIGJvb2wgbV9uZWVkc0lu
aXRpYWxpemF0aW9uOwotICAgIGRvdWJsZSBtX1N0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbDsK
KyAgICBTZWNvbmRzIG1fU3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsOwogfTsKICAgICAKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdp
bnMvV2ViTmV0c2NhcGVQbHVnaW5WaWV3Lm1tIGIvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9X
ZWJOZXRzY2FwZVBsdWdpblZpZXcubW0KaW5kZXggMDg3ZmNmYmMwMWI4NmMwZjE5MWFkYzA0MzVh
YTA0ODU1YzdmNzEwYi4uMDE5M2U0MGZlNmRlMTYzZjYwMWMwODI1ZGY4NDNmM2ViODI5NTRmYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblZp
ZXcubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblZp
ZXcubW0KQEAgLTExMSw3ICsxMTEsNyBAQCBzdGF0aWMgV2ViTmV0c2NhcGVQbHVnaW5WaWV3ICpj
dXJyZW50UGx1Z2luVmlldyA9IG5pbDsKIAogdHlwZWRlZiBzdHJ1Y3QgT3BhcXVlUG9ydFN0YXRl
KiBQb3J0U3RhdGU7CiAKLXN0YXRpYyBjb25zdCBkb3VibGUgVGhyb3R0bGVkVGltZXJJbnRlcnZh
bCA9IDAuMjU7CitzdGF0aWMgY29uc3QgU2Vjb25kcyB0aHJvdHRsZWRUaW1lckludGVydmFsIHsg
MjUwX21zIH07CiAKIGNsYXNzIFBsdWdpblRpbWVyIDogcHVibGljIFRpbWVyQmFzZSB7CiBwdWJs
aWM6CkBAIC0xMzAsMTAgKzEzMCwxMCBAQCBwdWJsaWM6CiAgICAgewogICAgICAgICBBU1NFUlQo
IWlzQWN0aXZlKCkpOwogCi0gICAgICAgIGRvdWJsZSB0aW1lSW50ZXJ2YWwgPSBtX2ludGVydmFs
IC8gMTAwMC4wOworICAgICAgICBTZWNvbmRzIHRpbWVJbnRlcnZhbCA9IDFfbXMgKiBtX2ludGVy
dmFsOwogICAgICAgICAKICAgICAgICAgaWYgKHRocm90dGxlKQotICAgICAgICAgICAgdGltZUlu
dGVydmFsID0gc3RkOjptYXgodGltZUludGVydmFsLCBUaHJvdHRsZWRUaW1lckludGVydmFsKTsK
KyAgICAgICAgICAgIHRpbWVJbnRlcnZhbCA9IHN0ZDo6bWF4KHRpbWVJbnRlcnZhbCwgdGhyb3R0
bGVkVGltZXJJbnRlcnZhbCk7CiAgICAgICAgIAogICAgICAgICBpZiAobV9yZXBlYXQpCiAgICAg
ICAgICAgICBzdGFydFJlcGVhdGluZyhTZWNvbmRzIHsgdGltZUludGVydmFsIH0pOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9tYWMvU3RvcmFnZS9XZWJTdG9yYWdlTWFuYWdlci5tbSBiL1Nv
dXJjZS9XZWJLaXQvbWFjL1N0b3JhZ2UvV2ViU3RvcmFnZU1hbmFnZXIubW0KaW5kZXggMzcwNGY3
ZWRkMzU4NGZmMThkNzZhNjZhOWYwMjMzODg1NGRjN2Y2OS4uODFiYTFlNmRkZmIwZDA4OThjNzA3
MmUxZDY4MTM0ZTQ3MmE1NzgyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvU3RvcmFn
ZS9XZWJTdG9yYWdlTWFuYWdlci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9TdG9yYWdlL1dl
YlN0b3JhZ2VNYW5hZ2VyLm1tCkBAIC0xMTcsNyArMTE3LDcgQEAgKyAoTlNTdHJpbmcgKilfc3Rv
cmFnZURpcmVjdG9yeVBhdGgKIAogKyAodm9pZClzZXRTdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2
YWw6KGRvdWJsZSlpbnRlcnZhbAogewotICAgIFdlYktpdDo6U3RvcmFnZVRyYWNrZXI6OnRyYWNr
ZXIoKS5zZXRTdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwoaW50ZXJ2YWwpOworICAgIFdlYktp
dDo6U3RvcmFnZVRyYWNrZXI6OnRyYWNrZXIoKS5zZXRTdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2
YWwoMV9zICogaW50ZXJ2YWwpOwogfQogCiArICh2b2lkKWNsb3NlSWRsZUxvY2FsU3RvcmFnZURh
dGFiYXNlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5NZXNz
YWdlVGhyb3R0bGVyV2luLmNwcCBiL1NvdXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luTWVz
c2FnZVRocm90dGxlcldpbi5jcHAKaW5kZXggYTUzYzMxNWMyMDE4NDM5NGYzYjQwNjRhM2Y1NDQ3
NTczZWQyY2YwOS4uNDMzMWFmYWYxOWQzMWIyMTQ4MDdlOWUzZmE3MmU4MzgwN2I5YjEyZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5NZXNzYWdlVGhyb3R0bGVy
V2luLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpbk1lc3NhZ2VUaHJv
dHRsZXJXaW4uY3BwCkBAIC0zOSw3ICszOSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIC8vIFRo
aXMgdmFsdWUgYWxsb3dzIEZsYXNoIDYwIG1lc3NhZ2VzL3NlY29uZCwgd2hpY2ggc2hvdWxkIGJl
IGVub3VnaCBmb3IgdmlkZW8KIC8vIHBsYXliYWNrLCBhbmQgYWxzbyBnZXRzIHVzIG92ZXIgdGhl
IGxpbWl0IGZvciBraWNraW5nIGludG8gaGlnaC1yZXNvbHV0aW9uCiAvLyB0aW1lciBtb2RlIChz
ZWUgU2hhcmVkVGltZXJXaW4uY3BwKS4KLXN0YXRpYyBjb25zdCBkb3VibGUgTWVzc2FnZVRocm90
dGxlVGltZUludGVydmFsID0gMC4wMTY7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBtZXNzYWdlVGhy
b3R0bGVUaW1lSW50ZXJ2YWwgeyAxNl9tcyB9OwogCiAvLyBEdXJpbmcgYSBjb250aW51b3VzIHN0
cmVhbSBvZiBtZXNzYWdlcywgcHJvY2VzcyBvbmUgZXZlcnkgNW1zLgogc3RhdGljIGNvbnN0IGRv
dWJsZSBNZXNzYWdlRGlyZWN0UHJvY2Vzc2luZ0ludGVydmFsID0gMC4wMDU7CkBAIC05NSw3ICs5
NSw3IEBAIHZvaWQgUGx1Z2luTWVzc2FnZVRocm90dGxlcldpbjo6YXBwZW5kTWVzc2FnZShIV05E
IGhXbmQsIFVJTlQgbXNnLCBXUEFSQU0gd1BhcmFtCiAgICAgfQogCiAgICAgaWYgKCFtX21lc3Nh
Z2VUaHJvdHRsZVRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fbWVzc2FnZVRocm90dGxlVGlt
ZXIuc3RhcnRPbmVTaG90KE1lc3NhZ2VUaHJvdHRsZVRpbWVJbnRlcnZhbCk7CisgICAgICAgIG1f
bWVzc2FnZVRocm90dGxlVGltZXIuc3RhcnRPbmVTaG90KG1lc3NhZ2VUaHJvdHRsZVRpbWVJbnRl
cnZhbCk7CiB9CiAKIHZvaWQgUGx1Z2luTWVzc2FnZVRocm90dGxlcldpbjo6cHJvY2Vzc1F1ZXVl
ZE1lc3NhZ2UoKQpAQCAtMTE4LDcgKzExOCw3IEBAIHZvaWQgUGx1Z2luTWVzc2FnZVRocm90dGxl
cldpbjo6bWVzc2FnZVRocm90dGxlVGltZXJGaXJlZCgpCiAgICAgcHJvY2Vzc1F1ZXVlZE1lc3Nh
Z2UoKTsKIAogICAgIGlmIChtX2Zyb250KQotICAgICAgICBtX21lc3NhZ2VUaHJvdHRsZVRpbWVy
LnN0YXJ0T25lU2hvdChNZXNzYWdlVGhyb3R0bGVUaW1lSW50ZXJ2YWwpOworICAgICAgICBtX21l
c3NhZ2VUaHJvdHRsZVRpbWVyLnN0YXJ0T25lU2hvdChtZXNzYWdlVGhyb3R0bGVUaW1lSW50ZXJ2
YWwpOwogfQogCiBQbHVnaW5NZXNzYWdlKiBQbHVnaW5NZXNzYWdlVGhyb3R0bGVyV2luOjphbGxv
Y2F0ZU1lc3NhZ2UoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVn
aW5WaWV3V2luLmNwcCBiL1NvdXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luVmlld1dpbi5j
cHAKaW5kZXggNzVjYjc3ZjFmM2Q0ZGEzYzFkNjY3N2YxNzliNDIyZWZkMzIwMDM3NC4uMjRmYjEz
ZWQzMTM1YTU3YjU4NGQwNTBkMjkwZDUyODU4MDY1MDA3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC93aW4vUGx1Z2lucy9QbHVnaW5WaWV3V2luLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3dp
bi9QbHVnaW5zL1BsdWdpblZpZXdXaW4uY3BwCkBAIC04MzksNyArODM5LDcgQEAgdm9pZCBQbHVn
aW5WaWV3OjppbnZhbGlkYXRlUmVjdChOUFJlY3QqIHJlY3QpCiAgICAgICAgIGlmIChtX3BsdWdp
bi0+cXVpcmtzKCkuY29udGFpbnMoUGx1Z2luUXVpcmtUaHJvdHRsZUludmFsaWRhdGUpKSB7CiAg
ICAgICAgICAgICBtX2ludmFsaWRSZWN0cy5hcHBlbmQocik7CiAgICAgICAgICAgICBpZiAoIW1f
aW52YWxpZGF0ZVRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgICAgICAgICAgbV9pbnZhbGlkYXRl
VGltZXIuc3RhcnRPbmVTaG90KDAuMDAxKTsKKyAgICAgICAgICAgICAgICBtX2ludmFsaWRhdGVU
aW1lci5zdGFydE9uZVNob3QoMV9tcyk7CiAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgaW52
YWxpZGF0ZVJlY3Qocik7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vV2Vi
Q29yZVN1cHBvcnQvQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQuY3BwIGIvU291cmNlL1dl
YktpdC93aW4vV2ViQ29yZVN1cHBvcnQvQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQuY3Bw
CmluZGV4IGZjMGQxNTU3MGZlYWVjOWRiMzg2OTcwOGI1YWI3YzdhNGFkMjIyODIuLjVlMTZlMjBm
MTljMTJiZjU1YjBmZGY4OTgxZDcwOTM4MDhjODRlYWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvd2luL1dlYkNvcmVTdXBwb3J0L0FjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0LmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9BY2NlbGVyYXRlZENvbXBvc2l0
aW5nQ29udGV4dC5jcHAKQEAgLTM0OSw3ICszNDksNyBAQCB2b2lkIEFjY2VsZXJhdGVkQ29tcG9z
aXRpbmdDb250ZXh0OjpzY2hlZHVsZUxheWVyRmx1c2goKQogICAgIGlmIChtX2xheWVyRmx1c2hU
aW1lci5pc0FjdGl2ZSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX2xheWVyRmx1c2hUaW1l
ci5zdGFydE9uZVNob3QoMC4wNSk7CisgICAgbV9sYXllckZsdXNoVGltZXIuc3RhcnRPbmVTaG90
KDUwX21zKTsKIH0KIAogYm9vbCBBY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dDo6Zmx1c2hQ
ZW5kaW5nTGF5ZXJDaGFuZ2VzKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQ
cm9jZXNzL1BpbmdMb2FkLmggYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9QaW5nTG9h
ZC5oCmluZGV4IGYwMTQ0ZDY4OGRmNjNlOTVkNDQ2OTQ4NmM1NmM4NjZkODg5YjdhNjEuLjM5YmUw
NmQzZTFiYzQ0ZmUyMWE2OTY0MGNkYTQ5ZTRkODI2NWFkZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL05ldHdvcmtQcm9jZXNzL1BpbmdMb2FkLmgKKysrIGIvU291cmNlL1dlYktpdDIvTmV0
d29ya1Byb2Nlc3MvUGluZ0xvYWQuaApAQCAtNDYsNyArNDYsNyBAQCBwdWJsaWM6CiAKICAgICAg
ICAgLy8gSWYgdGhlIHNlcnZlciBuZXZlciByZXNwb25kcywgdGhpcyBvYmplY3Qgd2lsbCBoYW5n
IGFyb3VuZCBmb3JldmVyLgogICAgICAgICAvLyBTZXQgYSB2ZXJ5IGdlbmVyb3VzIHRpbWVvdXQs
IGp1c3QgaW4gY2FzZS4KLSAgICAgICAgbV90aW1lb3V0VGltZXIuc3RhcnRPbmVTaG90KDYwMDAw
KTsKKyAgICAgICAgbV90aW1lb3V0VGltZXIuc3RhcnRPbmVTaG90KDYwMDAwX3MpOwogICAgIH0K
ICAgICAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vz
cy9zb3VwL05ldHdvcmtEYXRhVGFza1NvdXAuY3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1By
b2Nlc3Mvc291cC9OZXR3b3JrRGF0YVRhc2tTb3VwLmNwcAppbmRleCA1ZmY5Yjc4NDA5ZWI4MDY5
NjU5MWM5MjliZThjNzU5MDU0YjNlNmRhLi45MGJlMjNkZjM5MDNjY2ZmZTYyZmVmNmQ2NTVmMmFh
ZDEyMWYzMTdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9zb3Vw
L05ldHdvcmtEYXRhVGFza1NvdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9j
ZXNzL3NvdXAvTmV0d29ya0RhdGFUYXNrU291cC5jcHAKQEAgLTI5MSw3ICsyOTEsNyBAQCB2b2lk
IE5ldHdvcmtEYXRhVGFza1NvdXA6OnRpbWVvdXRGaXJlZCgpCiB2b2lkIE5ldHdvcmtEYXRhVGFz
a1NvdXA6OnN0YXJ0VGltZW91dCgpCiB7CiAgICAgaWYgKG1fZmlyc3RSZXF1ZXN0LnRpbWVvdXRJ
bnRlcnZhbCgpID4gMCkKLSAgICAgICAgbV90aW1lb3V0U291cmNlLnN0YXJ0T25lU2hvdChtX2Zp
cnN0UmVxdWVzdC50aW1lb3V0SW50ZXJ2YWwoKSk7CisgICAgICAgIG1fdGltZW91dFNvdXJjZS5z
dGFydE9uZVNob3QoMV9zICogbV9maXJzdFJlcXVlc3QudGltZW91dEludGVydmFsKCkpOwogfQog
CiB2b2lkIE5ldHdvcmtEYXRhVGFza1NvdXA6OnN0b3BUaW1lb3V0KCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmggYi9Tb3VyY2UvV2ViS2l0Mi9Q
bGF0Zm9ybS9JUEMvQ29ubmVjdGlvbi5oCmluZGV4IGNiMDBiMmRjMmE2ZDAyMzg0Y2UzNWIzYzE1
Y2QzMGFmZGY0YTZjNmIuLmZjZTFlNjNiYzI5ZmNiYjJlZTNiZTcyMDYxZjgzNmFiNzNmZjc4OWQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmgKKysr
IGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24uaApAQCAtMTg5LDcgKzE4
OSw3IEBAIHB1YmxpYzoKIAogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIGJvb2wga2lsbCgpOwot
ICAgIHZvaWQgdGVybWluYXRlU29vbihkb3VibGUgaW50ZXJ2YWxJblNlY29uZHMpOworICAgIHZv
aWQgdGVybWluYXRlU29vbihTZWNvbmRzKTsKICNlbmRpZgogCiAgICAgYm9vbCBpc1ZhbGlkKCkg
Y29uc3QgeyByZXR1cm4gbV9pc1ZhbGlkOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9Q
bGF0Zm9ybS9JUEMvbWFjL0Nvbm5lY3Rpb25NYWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9y
bS9JUEMvbWFjL0Nvbm5lY3Rpb25NYWMubW0KaW5kZXggNWU2NWJmMzU2MDI1OGIzMmI2MGUwNDVh
ODcxMjUxOTU3ODQxZmU4MS4uZTZhYjlkZDMzM2NkNTRlYzBkM2U3YmMwZWJhNGE1MGFhZmMzNjcy
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL21hYy9Db25uZWN0aW9u
TWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9tYWMvQ29ubmVjdGlvbk1h
Yy5tbQpAQCAtODIsMjAgKzgyLDIwIEBAIGVudW0gewogLy8gICAgdG8gZW5zdXJlIGl0IGhhcyBh
IGNoYW5jZSB0byB0ZXJtaW5hdGUgY2xlYW5seS4KIGNsYXNzIENvbm5lY3Rpb25UZXJtaW5hdGlv
bldhdGNoZG9nIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgdm9pZCBjcmVhdGVDb25uZWN0aW9uVGVy
bWluYXRpb25XYXRjaGRvZyhPU09iamVjdFB0cjx4cGNfY29ubmVjdGlvbl90PiYgeHBjQ29ubmVj
dGlvbiwgZG91YmxlIGludGVydmFsSW5TZWNvbmRzKQorICAgIHN0YXRpYyB2b2lkIGNyZWF0ZUNv
bm5lY3Rpb25UZXJtaW5hdGlvbldhdGNoZG9nKE9TT2JqZWN0UHRyPHhwY19jb25uZWN0aW9uX3Q+
JiB4cGNDb25uZWN0aW9uLCBTZWNvbmRzIGludGVydmFsKQogICAgIHsKLSAgICAgICAgbmV3IENv
bm5lY3Rpb25UZXJtaW5hdGlvbldhdGNoZG9nKHhwY0Nvbm5lY3Rpb24sIGludGVydmFsSW5TZWNv
bmRzKTsKKyAgICAgICAgbmV3IENvbm5lY3Rpb25UZXJtaW5hdGlvbldhdGNoZG9nKHhwY0Nvbm5l
Y3Rpb24sIGludGVydmFsKTsKICAgICB9CiAgICAgCiBwcml2YXRlOgotICAgIENvbm5lY3Rpb25U
ZXJtaW5hdGlvbldhdGNoZG9nKE9TT2JqZWN0UHRyPHhwY19jb25uZWN0aW9uX3Q+JiB4cGNDb25u
ZWN0aW9uLCBkb3VibGUgaW50ZXJ2YWxJblNlY29uZHMpCisgICAgQ29ubmVjdGlvblRlcm1pbmF0
aW9uV2F0Y2hkb2coT1NPYmplY3RQdHI8eHBjX2Nvbm5lY3Rpb25fdD4mIHhwY0Nvbm5lY3Rpb24s
IFNlY29uZHMgaW50ZXJ2YWwpCiAgICAgICAgIDogbV94cGNDb25uZWN0aW9uKHhwY0Nvbm5lY3Rp
b24pCiAgICAgICAgICwgbV93YXRjaGRvZ1RpbWVyKFJ1bkxvb3A6Om1haW4oKSwgdGhpcywgJkNv
bm5lY3Rpb25UZXJtaW5hdGlvbldhdGNoZG9nOjp3YXRjaGRvZ1RpbWVyRmlyZWQpCiAjaWYgUExB
VEZPUk0oSU9TKQogICAgICAgICAsIG1fYXNzZXJ0aW9uKHN0ZDo6bWFrZV91bmlxdWU8V2ViS2l0
OjpQcm9jZXNzQW5kVUlBc3NlcnRpb24+KHhwY19jb25uZWN0aW9uX2dldF9waWQobV94cGNDb25u
ZWN0aW9uLmdldCgpKSwgV2ViS2l0OjpBc3NlcnRpb25TdGF0ZTo6QmFja2dyb3VuZCkpCiAjZW5k
aWYKICAgICB7Ci0gICAgICAgIG1fd2F0Y2hkb2dUaW1lci5zdGFydE9uZVNob3QoaW50ZXJ2YWxJ
blNlY29uZHMpOworICAgICAgICBtX3dhdGNoZG9nVGltZXIuc3RhcnRPbmVTaG90KGludGVydmFs
KTsKICAgICB9CiAgICAgCiAgICAgdm9pZCB3YXRjaGRvZ1RpbWVyRmlyZWQoKQpAQCAtMTU1LDEw
ICsxNTUsMTAgQEAgdm9pZCBDb25uZWN0aW9uOjpwbGF0Zm9ybUludmFsaWRhdGUoKQogI2VuZGlm
CiB9CiAgICAgCi12b2lkIENvbm5lY3Rpb246OnRlcm1pbmF0ZVNvb24oZG91YmxlIGludGVydmFs
SW5TZWNvbmRzKQordm9pZCBDb25uZWN0aW9uOjp0ZXJtaW5hdGVTb29uKFNlY29uZHMgaW50ZXJ2
YWwpCiB7CiAgICAgaWYgKG1feHBjQ29ubmVjdGlvbikKLSAgICAgICAgQ29ubmVjdGlvblRlcm1p
bmF0aW9uV2F0Y2hkb2c6OmNyZWF0ZUNvbm5lY3Rpb25UZXJtaW5hdGlvbldhdGNoZG9nKG1feHBj
Q29ubmVjdGlvbiwgaW50ZXJ2YWxJblNlY29uZHMpOworICAgICAgICBDb25uZWN0aW9uVGVybWlu
YXRpb25XYXRjaGRvZzo6Y3JlYXRlQ29ubmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hkb2cobV94cGND
b25uZWN0aW9uLCBpbnRlcnZhbCk7CiB9CiAgICAgCiB2b2lkIENvbm5lY3Rpb246OnBsYXRmb3Jt
SW5pdGlhbGl6ZShJZGVudGlmaWVyIGlkZW50aWZpZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdDIvUGx1
Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmNwcAppbmRleCA3NTgxNTNiZDliYmM3ZDUxMTcyNWNh
YTYzZWMzNTczNTJmNWU2ZmUwLi45Njk5YjA1MzM0Y2JhMWE5ZDkwMjBmMTg5YWMzYmIxODRlNDQ4
MDk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nl
c3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5j
cHAKQEAgLTIxNiw5ICsyMTYsOSBAQCB2b2lkIFBsdWdpblByb2Nlc3M6OmRlbGV0ZVdlYnNpdGVE
YXRhRm9ySG9zdE5hbWVzKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBob3N0TmFtZQogICAgIHBhcmVu
dFByb2Nlc3NDb25uZWN0aW9uKCktPnNlbmQoTWVzc2FnZXM6OlBsdWdpblByb2Nlc3NQcm94eTo6
RGlkRGVsZXRlV2Vic2l0ZURhdGFGb3JIb3N0TmFtZXMoY2FsbGJhY2tJRCksIDApOwogfQogCi12
b2lkIFBsdWdpblByb2Nlc3M6OnNldE1pbmltdW1MaWZldGltZShkb3VibGUgbGlmZXRpbWUpCit2
b2lkIFBsdWdpblByb2Nlc3M6OnNldE1pbmltdW1MaWZldGltZShTZWNvbmRzIGxpZmV0aW1lKQog
ewotICAgIGlmIChsaWZldGltZSA8PSAwLjApCisgICAgaWYgKGxpZmV0aW1lIDw9IDBfcykKICAg
ICAgICAgcmV0dXJuOwogICAgIAogICAgIGRpc2FibGVUZXJtaW5hdGlvbigpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmggYi9Tb3VyY2Uv
V2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3MuaAppbmRleCA5MmM2Nzc3NTI2YWZh
MGQwZTkwZDc3ZDc2YmZhZjUyZTE3MjM5OGU3Li4yNDc5YTQzNzVkN2UzNTA3MTU2Mjc2NmNmYmZi
NGI0ZDE5ZjNhZmYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1Bs
dWdpblByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpblBy
b2Nlc3MuaApAQCAtMTAxLDcgKzEwMSw3IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIHBsYXRmb3Jt
SW5pdGlhbGl6ZVBsdWdpblByb2Nlc3MoUGx1Z2luUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYm
KTsKICAgICAKLSAgICB2b2lkIHNldE1pbmltdW1MaWZldGltZShkb3VibGUpOworICAgIHZvaWQg
c2V0TWluaW11bUxpZmV0aW1lKFNlY29uZHMpOwogICAgIHZvaWQgbWluaW11bUxpZmV0aW1lVGlt
ZXJGaXJlZCgpOwogICAgIC8vIE91ciB3ZWIgcHJvY2VzcyBjb25uZWN0aW9ucy4KICAgICBWZWN0
b3I8UmVmUHRyPFdlYlByb2Nlc3NDb25uZWN0aW9uPj4gbV93ZWJQcm9jZXNzQ29ubmVjdGlvbnM7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ2hpbGRQcm9jZXNzLmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuY3BwCmluZGV4IGJjMWYyZDZhYjZhNmFk
MjYwZmNkYzYxNDVjMTY4Y2FmYTYyYWZmOGIuLmYxYTNhMzhlOGJkNWRiZWQ2MmEwNTQxZGMyOGUy
ZjMyYWZjNGQ1N2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nl
c3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuY3BwCkBAIC0z
Myw4ICszMyw3IEBACiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogQ2hpbGRQcm9jZXNzOjpDaGlsZFBy
b2Nlc3MoKQotICAgIDogbV90ZXJtaW5hdGlvblRpbWVvdXQoMCkKLSAgICAsIG1fdGVybWluYXRp
b25Db3VudGVyKDApCisgICAgOiBtX3Rlcm1pbmF0aW9uQ291bnRlcigwKQogICAgICwgbV90ZXJt
aW5hdGlvblRpbWVyKFJ1bkxvb3A6Om1haW4oKSwgdGhpcywgJkNoaWxkUHJvY2Vzczo6dGVybWlu
YXRpb25UaW1lckZpcmVkKQogICAgICwgbV9wcm9jZXNzU3VwcHJlc3Npb25EaXNhYmxlZCgiUHJv
Y2VzcyBTdXBwcmVzc2lvbiBEaXNhYmxlZCBieSBVSVByb2Nlc3MiKQogewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvU2hhcmVkL0NoaWxkUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdDIvU2hh
cmVkL0NoaWxkUHJvY2Vzcy5oCmluZGV4IDhiYTI0ZGU0NTYyNjA3MDZhYWYwNDlkNGQwMTczYzJl
MDE0NGM3MjguLjZmZTcyYjE3M2YwZjcwMDVlYzVkMzIxNmNlZGM3YzdlYjVhZmI3OTYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvQ2hpbGRQcm9jZXNzLmgKQEAgLTgxLDcgKzgxLDcgQEAgcHJvdGVjdGVk
OgogICAgIGV4cGxpY2l0IENoaWxkUHJvY2VzcygpOwogICAgIHZpcnR1YWwgfkNoaWxkUHJvY2Vz
cygpOwogCi0gICAgdm9pZCBzZXRUZXJtaW5hdGlvblRpbWVvdXQoZG91YmxlIHNlY29uZHMpIHsg
bV90ZXJtaW5hdGlvblRpbWVvdXQgPSBzZWNvbmRzOyB9CisgICAgdm9pZCBzZXRUZXJtaW5hdGlv
blRpbWVvdXQoU2Vjb25kcyBzZWNvbmRzKSB7IG1fdGVybWluYXRpb25UaW1lb3V0ID0gc2Vjb25k
czsgfQogCiAgICAgdmlydHVhbCB2b2lkIGluaXRpYWxpemVQcm9jZXNzKGNvbnN0IENoaWxkUHJv
Y2Vzc0luaXRpYWxpemF0aW9uUGFyYW1ldGVycyYpOwogICAgIHZpcnR1YWwgdm9pZCBpbml0aWFs
aXplUHJvY2Vzc05hbWUoY29uc3QgQ2hpbGRQcm9jZXNzSW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJz
Jik7CkBAIC0xMjAsNyArMTIwLDcgQEAgcHJpdmF0ZToKIAogICAgIC8vIFRoZSB0aW1lb3V0LCBp
biBzZWNvbmRzLCBiZWZvcmUgdGhpcyBwcm9jZXNzIHdpbGwgYmUgdGVybWluYXRlZCBpZiB0ZXJt
aW5hdGlvbgogICAgIC8vIGhhcyBiZWVuIGVuYWJsZWQuIElmIHRoZSB0aW1lb3V0IGlzIDAgc2Vj
b25kcywgdGhlIHByb2Nlc3Mgd2lsbCBiZSB0ZXJtaW5hdGVkIGltbWVkaWF0ZWx5LgotICAgIGRv
dWJsZSBtX3Rlcm1pbmF0aW9uVGltZW91dDsKKyAgICBTZWNvbmRzIG1fdGVybWluYXRpb25UaW1l
b3V0OwogCiAgICAgLy8gQSB0ZXJtaW5hdGlvbiBjb3VudGVyOyB3aGVuIHRoZSBjb3VudGVyIHJl
YWNoZXMgemVybywgdGhlIHByb2Nlc3Mgd2lsbCBiZSB0ZXJtaW5hdGVkCiAgICAgLy8gYWZ0ZXIg
YSBnaXZlbiBwZXJpb2Qgb2YgdGltZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9Db29yZGluYXRlZEdyYXBoaWNzL3RocmVhZGVkY29tcG9zaXRvci9Db21wb3NpdGluZ1J1bkxv
b3AuY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvdGhyZWFk
ZWRjb21wb3NpdG9yL0NvbXBvc2l0aW5nUnVuTG9vcC5jcHAKaW5kZXggYWFkZDZhYmIyNmE1NmZh
NDQ3NmJhYTU3ZmQxZmY5MTdjM2RjNjEyMC4uNTYxN2JiYWQwMTA3ZWU0ZWZmZDM3ZjE4MWYyYWVl
Y2MyYzNlYjlmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0Nvb3JkaW5hdGVk
R3JhcGhpY3MvdGhyZWFkZWRjb21wb3NpdG9yL0NvbXBvc2l0aW5nUnVuTG9vcC5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvdGhyZWFkZWRjb21wb3Np
dG9yL0NvbXBvc2l0aW5nUnVuTG9vcC5jcHAKQEAgLTE1NCw3ICsxNTQsNyBAQCB2b2lkIENvbXBv
c2l0aW5nUnVuTG9vcDo6c3RhcnRVcGRhdGVUaW1lcihVcGRhdGVUaW1pbmcgdGltaW5nKQogICAg
IGlmICh0aW1pbmcgPT0gV2FpdFVudGlsTmV4dEZyYW1lKQogICAgICAgICBuZXh0VXBkYXRlVGlt
ZSA9IHN0ZDo6bWF4KCgxIC8gdGFyZ2V0RlBTKSAtIChtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1Rp
bWUoKSAtIG1fbGFzdFVwZGF0ZVRpbWUpLCAwLjApOwogCi0gICAgbV91cGRhdGVUaW1lci5zdGFy
dE9uZVNob3QobmV4dFVwZGF0ZVRpbWUpOworICAgIG1fdXBkYXRlVGltZXIuc3RhcnRPbmVTaG90
KDFfcyAqIG5leHRVcGRhdGVUaW1lKTsKIH0KIAogdm9pZCBDb21wb3NpdGluZ1J1bkxvb3A6OnN0
b3BVcGRhdGVUaW1lcigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lu
cy9QbHVnaW5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKaW5kZXggYTEyYTQ0
NDViYjE2Y2FhZjY5MjczYjY0YTg2MzIxMDhlN2Q1NDlmNC4uYjFhMzRhNGRmMWQyZDgyNTk4YWNh
NmNmODQ1NGViNGZhMWNkZTZmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1Bs
dWdpbnMvUGx1Z2luUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9QbHVnaW5zL1BsdWdpblByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaApAQCAt
MzAsNiArMzAsNyBAQAogCiAjaW5jbHVkZSAiQXR0YWNobWVudC5oIgogI2luY2x1ZGUgIlBsdWdp
blByb2Nlc3NBdHRyaWJ1dGVzLmgiCisjaW5jbHVkZSA8d3RmL1NlY29uZHMuaD4KIAogI2lmIFBM
QVRGT1JNKENPQ09BKQogI2luY2x1ZGUgPFdlYkNvcmUvTWFjaFNlbmRSaWdodC5oPgpAQCAtNTEs
OCArNTIsOCBAQCBzdHJ1Y3QgUGx1Z2luUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyB7CiAgICAg
UGx1Z2luUHJvY2Vzc1R5cGUgcHJvY2Vzc1R5cGU7CiAgICAgYm9vbCBzdXBwb3J0c0FzeW5jaHJv
bm91c1BsdWdpbkluaXRpYWxpemF0aW9uOwogCi0gICAgZG91YmxlIG1pbmltdW1MaWZldGltZTsK
LSAgICBkb3VibGUgdGVybWluYXRpb25UaW1lb3V0OworICAgIFNlY29uZHMgbWluaW11bUxpZmV0
aW1lOworICAgIFNlY29uZHMgdGVybWluYXRpb25UaW1lb3V0OwogCiAjaWYgUExBVEZPUk0oQ09D
T0EpCiAgICAgV2ViQ29yZTo6TWFjaFNlbmRSaWdodCBhY2NlbGVyYXRlZENvbXBvc2l0aW5nUG9y
dDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJNZW1vcnlTYW1wbGVyLmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJNZW1vcnlTYW1wbGVyLmNwcAppbmRleCBiYWJj
Mjg4OGNiNzVmYjQ2ZjM4ODBkOGNkYjgzMWYyYTdkMjQ2MjBiLi4xNTEzMzkwODhkYzVlMDBhOTBj
MWEyY2E0YWFhNmY5MzgxMjVjMWNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
V2ViTWVtb3J5U2FtcGxlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYk1lbW9y
eVNhbXBsZXIuY3BwCkBAIC05MSw3ICs5MSw3IEBAIHZvaWQgV2ViTWVtb3J5U2FtcGxlcjo6aW5p
dGlhbGl6ZVRpbWVycyhkb3VibGUgaW50ZXJ2YWwpCiAgICAgbV9zYW1wbGVUaW1lci5zdGFydFJl
cGVhdGluZygxX3MpOwogICAgIHByaW50ZigiU3RhcnRlZCBtZW1vcnkgc2FtcGxlciBmb3IgcHJv
Y2VzcyAlcyAlZCIsIHByb2Nlc3NOYW1lKCkudXRmOCgpLmRhdGEoKSwgZ2V0cGlkKCkpOwogICAg
IGlmIChpbnRlcnZhbCA+IDApIHsKLSAgICAgICAgbV9zdG9wVGltZXIuc3RhcnRPbmVTaG90KGlu
dGVydmFsKTsKKyAgICAgICAgbV9zdG9wVGltZXIuc3RhcnRPbmVTaG90KDFfcyAqIGludGVydmFs
KTsKICAgICAgICAgcHJpbnRmKCIgZm9yIGEgaW50ZXJ2YWwgb2YgJWcgc2Vjb25kcyIsIGludGVy
dmFsKTsKICAgICB9CiAgICAgcHJpbnRmKCI7IFNhbXBsZXIgbG9nIGZpbGUgc3RvcmVkIGF0OiAl
c1xuIiwgbV9zYW1wbGVMb2dGaWxlUGF0aC51dGY4KCkuZGF0YSgpKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmggYi9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCmluZGV4IGZk
ODA2YjIyMDI0NzllMTYwNDg2MWRmOThlMDhjYWIxYTFhYTYwZDkuLjkyNmEzMjIwZmI2OGQxNWJl
YmQwMDY4MjEzNWIwZDEyYTI1NDQ4YmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hh
cmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaApAQCAtMTI2LDcgKzEyNiw3IEBAIHN0
cnVjdCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzIHsKICAgICBib29sIGhhc1JpY2hDb250
ZW50U2VydmljZXMgeyBmYWxzZSB9OwogI2VuZGlmCiAKLSAgICBkb3VibGUgdGVybWluYXRpb25U
aW1lb3V0IHsgMCB9OworICAgIFNlY29uZHMgdGVybWluYXRpb25UaW1lb3V0OwogCiAgICAgVGV4
dENoZWNrZXJTdGF0ZSB0ZXh0Q2hlY2tlclN0YXRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL0FQSVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUNvY29hLm1t
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9BUElTZXJpYWxpemVkU2NyaXB0
VmFsdWVDb2NvYS5tbQppbmRleCA4Mzk0NWRmZWQzMWM1OTE4MzU4YmU3ZjY3MTZiMWJmZTcwMTg4
YjU5Li4xYjVkZDAzNjM5MWYyMmI5ZWJjNWI3MjNkOTIyM2Y4MDI5MGU5YTE5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL0FQSVNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZUNvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvQVBJ
U2VyaWFsaXplZFNjcmlwdFZhbHVlQ29jb2EubW0KQEAgLTQ2LDcgKzQ2LDcgQEAgcHVibGljOgog
ICAgIHsKICAgICAgICAgaWYgKCFtX2NvbnRleHQpIHsKICAgICAgICAgICAgIG1fY29udGV4dCA9
IGFkb3B0TlMoW1tKU0NvbnRleHQgYWxsb2NdIGluaXRdKTsKLSAgICAgICAgICAgIG1fdGltZXIu
c3RhcnRPbmVTaG90KDEpOworICAgICAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMV9zKTsK
ICAgICAgICAgfQogICAgICAgICByZXR1cm4gbV9jb250ZXh0LmdldCgpOwogICAgIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9DaGlsZFByb2Nlc3NQcm94eS5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ2hpbGRQcm9jZXNzUHJveHkuY3BwCmluZGV4IGRkOGFl
ZjU1MGFhNjZjMjM5NTgzZjg4MjkzODIzNDI0Y2NiMzlkYzQuLjI3YmVjMzYyMzE1Y2IxMTBmMWM4
ZmU0NjM2YTY0ZDJkODY1ZTQ0OTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9DaGlsZFByb2Nlc3NQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0No
aWxkUHJvY2Vzc1Byb3h5LmNwcApAQCAtMTk3LDcgKzE5Nyw3IEBAIHZvaWQgQ2hpbGRQcm9jZXNz
UHJveHk6OnNodXREb3duUHJvY2VzcygpCiAgICAgICAgIC8vIE9uIGlPUyBkZXBsb3kgYSB3YXRj
aGRvZyBpbiB0aGUgVUkgcHJvY2Vzcywgc2luY2UgdGhlIGNoaWxkIHByb2Nlc3MgbWF5IGJlIHN1
c3BlbmRlZC4KICAgICAgICAgLy8gSWYgMzBzIGlzIGluc3VmZmljaWVudCBmb3IgYW55IG91dHN0
YW5kaW5nIGFjdGl2aXR5IHRvIGNvbXBsZXRlIGNsZWFubHksIHRoZW4gaXQgd2lsbCBiZSBraWxs
ZWQuCiAgICAgICAgIEFTU0VSVChtX2Nvbm5lY3Rpb24pOwotICAgICAgICBtX2Nvbm5lY3Rpb24t
PnRlcm1pbmF0ZVNvb24oMzApOworICAgICAgICBtX2Nvbm5lY3Rpb24tPnRlcm1pbmF0ZVNvb24o
MzBfcyk7CiAjZW5kaWYKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBTdGF0ZTo6VGVybWluYXRl
ZDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9OYXZpZ2F0aW9u
U3RhdGUubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvTmF2aWdhdGlvblN0YXRl
Lm1tCmluZGV4IDZiODFjZTQ1NjQxZDRmZGMzMjdhMDZmNmNkY2U5OGRhMTNmZGFhMTkuLjk2Yjk2
MDIwZGM4OTMzYjg0OTM2ZTFmMWRjYWRhMmM5ZGU4NmQ0YmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9OYXZpZ2F0aW9uU3RhdGUubW0KKysrIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0NvY29hL05hdmlnYXRpb25TdGF0ZS5tbQpAQCAtODg3LDcgKzg4Nyw3
IEBAIHZvaWQgTmF2aWdhdGlvblN0YXRlOjpkaWRDaGFuZ2VJc0xvYWRpbmcoKQogICAgIH0gZWxz
ZSB7CiAgICAgICAgIC8vIERlbGF5IHJlbGVhc2luZyB0aGUgYmFja2dyb3VuZCBhY3Rpdml0eSBm
b3IgMyBzZWNvbmRzIHRvIGdpdmUgdGhlIGFwcGxpY2F0aW9uIGEgY2hhbmNlIHRvIHN0YXJ0IGFu
b3RoZXIgbmF2aWdhdGlvbgogICAgICAgICAvLyBiZWZvcmUgc3VzcGVuZGluZyB0aGUgV2ViQ29u
dGVudCBwcm9jZXNzIDxyZGFyOi8vcHJvYmxlbS8yNzkxMDk2ND4uCi0gICAgICAgIG1fcmVsZWFz
ZUFjdGl2aXR5VGltZXIuc3RhcnRPbmVTaG90KDNzKTsKKyAgICAgICAgbV9yZWxlYXNlQWN0aXZp
dHlUaW1lci5zdGFydE9uZVNob3QoM19zKTsKICAgICB9CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvVmlld0dlc3R1cmVDb250cm9sbGVyLmNw
cAppbmRleCA3OTlkYTY1YzlhN2EzZTUxNGJjZjVjNGM5NzAwNjMwMWU2NjI5N2YzLi5jNGQzMDAx
MGRkMzdjYWJlZmE3MGRiMjQ5NWRmMzFiNGU3NzE0NDM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQ29jb2EvVmlld0dlc3R1cmVDb250cm9sbGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvVmlld0dlc3R1cmVDb250cm9sbGVyLmNwcApAQCAt
NDAsMTMgKzQwLDEzIEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBuYW1lc3BhY2UgV2Vi
S2l0IHsKIAotc3RhdGljIGNvbnN0IHN0ZDo6Y2hyb25vOjpzZWNvbmRzIHN3aXBlU25hcHNob3RS
ZW1vdmFsV2F0Y2hkb2dBZnRlckZpcnN0VmlzdWFsbHlOb25FbXB0eUxheW91dER1cmF0aW9uID0g
M3M7Ci1zdGF0aWMgY29uc3QgU2Vjb25kcyBzd2lwZVNuYXBzaG90UmVtb3ZhbEFjdGl2ZUxvYWRN
b25pdG9yaW5nSW50ZXJ2YWwgPSAyNTBfbXM7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBzd2lwZVNu
YXBzaG90UmVtb3ZhbFdhdGNoZG9nQWZ0ZXJGaXJzdFZpc3VhbGx5Tm9uRW1wdHlMYXlvdXREdXJh
dGlvbiB7IDNfcyB9Oworc3RhdGljIGNvbnN0IFNlY29uZHMgc3dpcGVTbmFwc2hvdFJlbW92YWxB
Y3RpdmVMb2FkTW9uaXRvcmluZ0ludGVydmFsIHsgMjUwX21zIH07CiAKICNpZiBQTEFURk9STShN
QUMpCi1zdGF0aWMgY29uc3Qgc3RkOjpjaHJvbm86OnNlY29uZHMgc3dpcGVTbmFwc2hvdFJlbW92
YWxXYXRjaGRvZ0R1cmF0aW9uID0gNXM7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBzd2lwZVNuYXBz
aG90UmVtb3ZhbFdhdGNoZG9nRHVyYXRpb24gPSA1X3M7CiAjZWxzZQotc3RhdGljIGNvbnN0IHN0
ZDo6Y2hyb25vOjpzZWNvbmRzIHN3aXBlU25hcHNob3RSZW1vdmFsV2F0Y2hkb2dEdXJhdGlvbiA9
IDNzOworc3RhdGljIGNvbnN0IFNlY29uZHMgc3dpcGVTbmFwc2hvdFJlbW92YWxXYXRjaGRvZ0R1
cmF0aW9uID0gM19zOwogI2VuZGlmCiAKIHN0YXRpYyBIYXNoTWFwPHVpbnQ2NF90LCBWaWV3R2Vz
dHVyZUNvbnRyb2xsZXIqPiYgdmlld0dlc3R1cmVDb250cm9sbGVyc0ZvckFsbFBhZ2VzKCkKQEAg
LTI5NywxMCArMjk3LDEwIEBAIHZvaWQgVmlld0dlc3R1cmVDb250cm9sbGVyOjpTbmFwc2hvdFJl
bW92YWxUcmFja2VyOjp3YXRjaGRvZ1RpbWVyRmlyZWQoKQogICAgIGZpcmVSZW1vdmFsQ2FsbGJh
Y2tJbW1lZGlhdGVseSgpOwogfQogCi12b2lkIFZpZXdHZXN0dXJlQ29udHJvbGxlcjo6U25hcHNo
b3RSZW1vdmFsVHJhY2tlcjo6c3RhcnRXYXRjaGRvZyhzdGQ6OmNocm9ubzo6c2Vjb25kcyBkdXJh
dGlvbikKK3ZvaWQgVmlld0dlc3R1cmVDb250cm9sbGVyOjpTbmFwc2hvdFJlbW92YWxUcmFja2Vy
OjpzdGFydFdhdGNoZG9nKFNlY29uZHMgZHVyYXRpb24pCiB7Ci0gICAgbG9nKFN0cmluZzo6Zm9y
bWF0KCIocmUpc3RhcnRlZCB3YXRjaGRvZyB0aW1lciBmb3IgJWxsZCBzZWNvbmRzIiwgZHVyYXRp
b24uY291bnQoKSkpOwotICAgIG1fd2F0Y2hkb2dUaW1lci5zdGFydE9uZVNob3QoZHVyYXRpb24u
Y291bnQoKSk7CisgICAgbG9nKFN0cmluZzo6Zm9ybWF0KCIocmUpc3RhcnRlZCB3YXRjaGRvZyB0
aW1lciBmb3IgJS4xZiBzZWNvbmRzIiwgZHVyYXRpb24uc2Vjb25kcygpKSk7CisgICAgbV93YXRj
aGRvZ1RpbWVyLnN0YXJ0T25lU2hvdChkdXJhdGlvbik7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1ZpZXdHZXN0
dXJlQ29udHJvbGxlci5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1ZpZXdHZXN0
dXJlQ29udHJvbGxlci5oCmluZGV4IDFiZTU5YmM1M2RmMDRmMDY1ODVjYmNlMGJhY2JmMGRjMmY4
NjE1OWIuLmYxOTNlNzgzMzNmNjllZmEzZjhiNmE3YmYwOWM5ZDdkMDkwNWIxNDggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9WaWV3R2VzdHVyZUNvbnRyb2xsZXIu
aAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvVmlld0dlc3R1cmVDb250cm9s
bGVyLmgKQEAgLTE1OSw3ICsxNTksNyBAQCBwcml2YXRlOgogICAgICAgICBib29sIGV2ZW50T2Nj
dXJyZWQoRXZlbnRzKTsKICAgICAgICAgYm9vbCBjYW5jZWxPdXRzdGFuZGluZ0V2ZW50KEV2ZW50
cyk7CiAKLSAgICAgICAgdm9pZCBzdGFydFdhdGNoZG9nKHN0ZDo6Y2hyb25vOjpzZWNvbmRzKTsK
KyAgICAgICAgdm9pZCBzdGFydFdhdGNoZG9nKFNlY29uZHMpOwogCiAgICAgcHJpdmF0ZToKICAg
ICAgICAgc3RhdGljIFN0cmluZyBldmVudHNEZXNjcmlwdGlvbihFdmVudHMpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHlJbXBsLmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1wbC5jcHAKaW5kZXggOWE5
N2IzZmJlMjU4ZmM1NDIxMTliNWM2ODJhN2ExNjY4ZDllNjBhNS4uMDliYTMwYjQ4M2QwZmM4NmYx
ODAxNDc5MGI2NjNhYzNkYmYyZWM2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0RyYXdpbmdBcmVhUHJveHlJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvRHJhd2luZ0FyZWFQcm94eUltcGwuY3BwCkBAIC0xODcsNyArMTg3LDcgQEAgdm9pZCBEcmF3
aW5nQXJlYVByb3h5SW1wbDo6ZGlzY2FyZEJhY2tpbmdTdG9yZVNvb24oKQogCiAgICAgLy8gV2Un
bGwgd2FpdCB0aGlzIG1hbnkgc2Vjb25kcyBhZnRlciB0aGUgbGFzdCBwYWludCBiZWZvcmUgdGhy
b3dpbmcgYXdheSBvdXIgYmFja2luZyBzdG9yZSB0byBzYXZlIG1lbW9yeS4KICAgICAvLyBGSVhN
RTogSXQgd291bGQgYmUgc21hcnRlciB0byBtYWtlIHRoaXMgZGVsYXkgYmFzZWQgb24gaG93IGV4
cGVuc2l2ZSBwYWludGluZyBpcy4gU2VlIDxodHRwOi8vd2Via2l0Lm9yZy9iLzU1NzMzPi4KLSAg
ICBzdGF0aWMgY29uc3QgZG91YmxlIGRpc2NhcmRCYWNraW5nU3RvcmVEZWxheSA9IDI7CisgICAg
c3RhdGljIGNvbnN0IFNlY29uZHMgZGlzY2FyZEJhY2tpbmdTdG9yZURlbGF5ID0gMl9zOwogCiAg
ICAgbV9kaXNjYXJkQmFja2luZ1N0b3JlVGltZXIuc3RhcnRPbmVTaG90KGRpc2NhcmRCYWNraW5n
U3RvcmVEZWxheSk7CiB9CkBAIC0yMjgsNyArMjI4LDcgQEAgdm9pZCBEcmF3aW5nQXJlYVByb3h5
SW1wbDo6RHJhd2luZ01vbml0b3I6OnN0YXJ0KHN0ZDo6ZnVuY3Rpb248dm9pZCAoQ2FsbGJhY2tC
YXMKICAgICBtX2NhbGxiYWNrID0gY2FsbGJhY2s7CiAjaWYgUExBVEZPUk0oR1RLKQogICAgIGdf
c2lnbmFsX2Nvbm5lY3Rfc3dhcHBlZChtX3dlYlBhZ2Uudmlld1dpZGdldCgpLCAiZHJhdyIsIHJl
aW50ZXJwcmV0X2Nhc3Q8R0NhbGxiYWNrPih3ZWJWaWV3RHJhd0NhbGxiYWNrKSwgdGhpcyk7Ci0g
ICAgbV90aW1lci5zdGFydE9uZVNob3QoMSk7CisgICAgbV90aW1lci5zdGFydE9uZVNob3QoMV9z
KTsKICNlbHNlCiAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9zKTsKICNlbmRpZgpAQCAtMjU1
LDcgKzI1NSw3IEBAIHZvaWQgRHJhd2luZ0FyZWFQcm94eUltcGw6OkRyYXdpbmdNb25pdG9yOjpk
aWREcmF3KCkKICAgICBpZiAobW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lTVMoKSAtIG1fc3Rh
cnRUaW1lID4gMTAwMCkKICAgICAgICAgc3RvcCgpOwogICAgIGVsc2UKLSAgICAgICAgbV90aW1l
ci5zdGFydE9uZVNob3QoMC4xMDApOworICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgxMDBf
bXMpOwogfQogCiB2b2lkIERyYXdpbmdBcmVhUHJveHlJbXBsOjpkaXNwYXRjaEFmdGVyRW5zdXJp
bmdEcmF3aW5nKHN0ZDo6ZnVuY3Rpb248dm9pZChDYWxsYmFja0Jhc2U6OkVycm9yKT4gY2FsbGJh
Y2tGdW5jdGlvbikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9HYW1lcGFk
L1VJR2FtZXBhZFByb3ZpZGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9HYW1lcGFk
L1VJR2FtZXBhZFByb3ZpZGVyLmNwcAppbmRleCA2NTdjNDE2ZjkwNmU1ZDA0MzkwMWZjM2U4MjQ0
YjRkODc2MjY4MTBmLi4wYmVlNzU0ODM2MWFkNTc1NDNkYmIwNzE4YjdiZTU3NGZhNGU2YWE0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvR2FtZXBhZC9VSUdhbWVwYWRQcm92
aWRlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0dhbWVwYWQvVUlHYW1lcGFk
UHJvdmlkZXIuY3BwCkBAIC0zOSw3ICszOSw3IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwog
CiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotc3RhdGljIGNvbnN0IGRvdWJsZSBtYXhpbXVtR2FtZXBh
ZFVwZGF0ZUludGVydmFsID0gMSAvIDEyMC4wOworc3RhdGljIGNvbnN0IFNlY29uZHMgbWF4aW11
bUdhbWVwYWRVcGRhdGVJbnRlcnZhbCB7IDFfcyAvIDEyMC4gfTsKIAogVUlHYW1lcGFkUHJvdmlk
ZXImIFVJR2FtZXBhZFByb3ZpZGVyOjpzaW5nbGV0b24oKQogewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5LmNwcCBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NQcm94eS5jcHAKaW5kZXgg
NWZmNTFiNTA5ZTg2ZjJiNTI0MjQwMjVjODI1Y2VmYmExMTNlYTJjMS4uYmFjZDczZTU0MDM0MGE0
NDI2ZDYwZTkwZWNhNzk3MWJhNWIwZGE3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzUHJveHkuY3BwCkBAIC00NiwxMSArNDYs
MTEgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi1z
dGF0aWMgY29uc3QgZG91YmxlIG1pbmltdW1MaWZldGltZSA9IDIgKiA2MDsKLXN0YXRpYyBjb25z
dCBkb3VibGUgc25hcHNob3R0aW5nTWluaW11bUxpZmV0aW1lID0gMzA7CitzdGF0aWMgY29uc3Qg
U2Vjb25kcyBtaW5pbXVtTGlmZXRpbWUgeyAyX21pbiB9Oworc3RhdGljIGNvbnN0IFNlY29uZHMg
c25hcHNob3R0aW5nTWluaW11bUxpZmV0aW1lIHsgMzBfcyB9OwogCi1zdGF0aWMgY29uc3QgZG91
YmxlIHNodXRkb3duVGltZW91dCA9IDEgKiA2MDsKLXN0YXRpYyBjb25zdCBkb3VibGUgc25hcHNo
b3R0aW5nU2h1dGRvd25UaW1lb3V0ID0gMTU7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBzaHV0ZG93
blRpbWVvdXQgeyAxX21pbiB9Oworc3RhdGljIGNvbnN0IFNlY29uZHMgc25hcHNob3R0aW5nU2h1
dGRvd25UaW1lb3V0IHsgMTVfcyB9OwogCiBzdGF0aWMgdWludDY0X3QgZ2VuZXJhdGVDYWxsYmFj
a0lEKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Qcm9jZXNzVGhy
b3R0bGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Qcm9jZXNzVGhyb3R0bGVyLmNw
cAppbmRleCA3N2IwYjhjNzFmODhmOGJjMjA0OTAyYmY0NmEyNmMzNDg1YTM3NTFmLi4wOTM4NjNj
MTFjZDY3MDQ3YzFjZTNlMjBjNzk5YzM2NmVkNzg1YTQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvUHJvY2Vzc1Rocm90dGxlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1Byb2Nlc3NUaHJvdHRsZXIuY3BwCkBAIC0zMSw3ICszMSw3IEBACiAKIG5hbWVz
cGFjZSBXZWJLaXQgewogICAgIAotc3RhdGljIGNvbnN0IHVuc2lnbmVkIHByb2Nlc3NTdXNwZW5z
aW9uVGltZW91dCA9IDMwOworc3RhdGljIGNvbnN0IFNlY29uZHMgcHJvY2Vzc1N1c3BlbnNpb25U
aW1lb3V0IHsgMzBfcyB9OwogICAgIAogUHJvY2Vzc1Rocm90dGxlcjo6UHJvY2Vzc1Rocm90dGxl
cihQcm9jZXNzVGhyb3R0bGVyQ2xpZW50JiBwcm9jZXNzKQogICAgIDogbV9wcm9jZXNzKHByb2Nl
c3MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUmVzcG9uc2l2ZW5lc3NU
aW1lci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUmVzcG9uc2l2ZW5lc3NUaW1lci5j
cHAKaW5kZXggZmViNDY5ZjA4NDJiNWFlNjliMzZmMGZjZmQ2ODYxYzQwNjdlZWYyYi4uOWFlNWZk
MWM3MTEwMzk0OTcxNjMwNWM5ZDkyYmJkZjUyNDY3NWYxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1Jlc3BvbnNpdmVuZXNzVGltZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9SZXNwb25zaXZlbmVzc1RpbWVyLmNwcApAQCAtMjgsNyArMjgsNyBAQAog
CiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotc3RhdGljIGNvbnN0IGRvdWJsZSByZXNwb25zaXZlbmVz
c1RpbWVvdXQgPSAzOworc3RhdGljIGNvbnN0IFNlY29uZHMgcmVzcG9uc2l2ZW5lc3NUaW1lb3V0
IHsgM19zIH07CiAKIFJlc3BvbnNpdmVuZXNzVGltZXI6OlJlc3BvbnNpdmVuZXNzVGltZXIoUmVz
cG9uc2l2ZW5lc3NUaW1lcjo6Q2xpZW50JiBjbGllbnQpCiAgICAgOiBtX2NsaWVudChjbGllbnQp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3Bw
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAppbmRleCAxZGQ3
YWUyNDNiZjU5NmRmMjMwMDNiM2E2MzhkYTMyYTk0NDJjM2NhLi5lZmU0NmY1NjcwNDM2Y2U2YzQ2
Njk3YzgwZjdhZWM2OGE2ZTg4NzY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQ
cm9jZXNzUG9vbC5jcHAKQEAgLTY4OSw3ICs2ODksNyBAQCBXZWJQcm9jZXNzUHJveHkmIFdlYlBy
b2Nlc3NQb29sOjpjcmVhdGVOZXdXZWJQcm9jZXNzKFdlYnNpdGVEYXRhU3RvcmUqIHdlYnNpdGVE
YQogCiAgICAgcGFyYW1ldGVycy5pY29uRGF0YWJhc2VFbmFibGVkID0gIWljb25EYXRhYmFzZVBh
dGgoKS5pc0VtcHR5KCk7CiAKLSAgICBwYXJhbWV0ZXJzLnRlcm1pbmF0aW9uVGltZW91dCA9IDA7
CisgICAgcGFyYW1ldGVycy50ZXJtaW5hdGlvblRpbWVvdXQgPSAwX3M7CiAKICAgICBwYXJhbWV0
ZXJzLnRleHRDaGVja2VyU3RhdGUgPSBUZXh0Q2hlY2tlcjo6c3RhdGUoKTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2d0ay9HZXN0dXJlQ29udHJvbGxlci5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL0dlc3R1cmVDb250cm9sbGVyLmNwcAppbmRleCAw
NTU2ZWE3YzRmNmY5OThjODdmYTJlMjNjZTMwNzc3NGMxMWRiNDc2Li5hMzczNDI5YzFjNWMyNzgx
M2VkZTUxMTk1MGY5ZWEyMjQ0MWZjMzI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvZ3RrL0dlc3R1cmVDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvZ3RrL0dlc3R1cmVDb250cm9sbGVyLmNwcApAQCAtMTI3LDcgKzEyNyw3IEBAIHZvaWQg
R2VzdHVyZUNvbnRyb2xsZXI6OkRyYWdHZXN0dXJlOjpiZWdpbihEcmFnR2VzdHVyZSogZHJhZ0dl
c3R1cmUsIGRvdWJsZSB4LCBkCiAgICAgR3RrV2lkZ2V0KiB3aWRnZXQgPSBndGtfZXZlbnRfY29u
dHJvbGxlcl9nZXRfd2lkZ2V0KEdUS19FVkVOVF9DT05UUk9MTEVSKGdlc3R1cmUpKTsKICAgICB1
bnNpZ25lZCBkZWxheTsKICAgICBnX29iamVjdF9nZXQoZ3RrX3dpZGdldF9nZXRfc2V0dGluZ3Mo
d2lkZ2V0KSwgImd0ay1sb25nLXByZXNzLXRpbWUiLCAmZGVsYXksIG51bGxwdHIpOwotICAgIGRy
YWdHZXN0dXJlLT5tX2xvbmdQcmVzc1RpbWVvdXQuc3RhcnRPbmVTaG90KGRlbGF5IC8gMTAwMC4w
KTsKKyAgICBkcmFnR2VzdHVyZS0+bV9sb25nUHJlc3NUaW1lb3V0LnN0YXJ0T25lU2hvdCgxX21z
ICogZGVsYXkpOwogfQogCiB2b2lkIEdlc3R1cmVDb250cm9sbGVyOjpEcmFnR2VzdHVyZTo6dXBk
YXRlKERyYWdHZXN0dXJlKiBkcmFnR2VzdHVyZSwgZG91YmxlIHgsIGRvdWJsZSB5LCBHdGtHZXN0
dXJlKiBnZXN0dXJlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9X
ZWJJbnNwZWN0b3JQcm94eU1hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV2Vi
SW5zcGVjdG9yUHJveHlNYWMubW0KaW5kZXggZGJkNDA0MmQzN2RlNDdkYzRhYmVjNjljOTJlNzQw
YmMwMmQwN2EwYS4uMmM0NTdjN2E4ZDg3ZWM3OTVhN2QyODRmODg0MWQ3NzM4MjkzZjJhZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XZWJJbnNwZWN0b3JQcm94eU1h
Yy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dlYkluc3BlY3RvclByb3h5
TWFjLm1tCkBAIC01Miw3ICs1Miw3IEBAIHN0YXRpYyBjb25zdCBOU1VJbnRlZ2VyIHdpbmRvd1N0
eWxlTWFzayA9IE5TV2luZG93U3R5bGVNYXNrVGl0bGVkIHwgTlNXaW5kb3dTdHlsCiAKIC8vIFRo
ZSB0aW1lIHdlIGtlZXAgb3VyIFdlYlZpZXcgYWxpdmUgYmVmb3JlIGNsb3NpbmcgaXQgYW5kIGl0
cyBwcm9jZXNzLgogLy8gUmV1c2luZyB0aGUgV2ViVmlldyBpbXByb3ZlcyBzdGFydCB1cCB0aW1l
IGZvciBwZW9wbGUgdGhhdCBqdW1wIGluIGFuZCBvdXQgb2YgdGhlIEluc3BlY3Rvci4KLXN0YXRp
YyBjb25zdCB1bnNpZ25lZCB3ZWJWaWV3Q2xvc2VUaW1lb3V0ID0gNjA7CitzdGF0aWMgY29uc3Qg
U2Vjb25kcyB3ZWJWaWV3Q2xvc2VUaW1lb3V0IHsgMV9taW4gfTsKIAogLy8gV0tXZWJJbnNwZWN0
b3JQcm94eU9iakNBZGFwdGVyIGlzIGEgaGVscGVyIE9iakMgb2JqZWN0IHVzZWQgYXMgYSBkZWxl
Z2F0ZSBvciBub3RpZmljYXRpb24gb2JzZXJ2ZXIKIC8vIGZvciB0aGUgc29sZSBwdXJwb3NlIG9m
IGdldHRpbmcgYmFjayBpbnRvIHRoZSBDKysgY29kZSBmcm9tIGFuIE9iakMgY2FsbGVyLgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0FjY2VsZXJhdGVkRHJh
d2luZ0FyZWEuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0FjY2VsZXJh
dGVkRHJhd2luZ0FyZWEuY3BwCmluZGV4IGY0MjgyMTBmYmFmYWIzMGQxODNiZWE4YTYyMWY3YzIw
MzQ5NDQ4ZTUuLmUzYzU4Yzg2MDk2MGYwYmEyZWU5ZTgwN2E4YTI3NThjZGE1YzA1MDggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9BY2NlbGVyYXRlZERyYXdp
bmdBcmVhLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQWNjZWxl
cmF0ZWREcmF3aW5nQXJlYS5jcHAKQEAgLTM4NCw3ICszODQsNyBAQCB2b2lkIEFjY2VsZXJhdGVk
RHJhd2luZ0FyZWE6OmV4aXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nTW9kZU5vdygpCiAgICAgbV9w
cmV2aW91c0xheWVyVHJlZUhvc3QtPnNldElzRGlzY2FyZGFibGUodHJ1ZSk7CiAgICAgbV9wcmV2
aW91c0xheWVyVHJlZUhvc3QtPnBhdXNlUmVuZGVyaW5nKCk7CiAgICAgbV9wcmV2aW91c0xheWVy
VHJlZUhvc3QtPnNldExheWVyRmx1c2hTY2hlZHVsaW5nRW5hYmxlZChmYWxzZSk7Ci0gICAgbV9k
aXNjYXJkUHJldmlvdXNMYXllclRyZWVIb3N0VGltZXIuc3RhcnRPbmVTaG90KDUpOworICAgIG1f
ZGlzY2FyZFByZXZpb3VzTGF5ZXJUcmVlSG9zdFRpbWVyLnN0YXJ0T25lU2hvdCg1X3MpOwogI2Vs
c2UKICAgICBtX2xheWVyVHJlZUhvc3QgPSBudWxscHRyOwogI2VuZGlmCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29y
ZGluYXRlZExheWVyVHJlZUhvc3QuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0LmNwcAppbmRl
eCBhMTQxMDQzNDlkYzgxYzk2ZmY3OGViNGUzMTVjZGYzNmFiMmU2OWQ3Li5iOGI5MzYwNzNjNzc4
NjI2MjA5YWJlNzk5ODEzYmViYzhjNjJiODJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJl
ZUhvc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGlu
YXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5jcHAKQEAgLTIzNCw3ICsyMzQs
NyBAQCB2b2lkIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6c2NoZWR1bGVBbmltYXRpb24oKQog
ICAgICAgICByZXR1cm47CiAKICAgICBzY2hlZHVsZUxheWVyRmx1c2goKTsKLSAgICBtX2xheWVy
Rmx1c2hUaW1lci5zdGFydE9uZVNob3QobV9jb29yZGluYXRvci5uZXh0QW5pbWF0aW9uU2Vydmlj
ZVRpbWUoKSk7CisgICAgbV9sYXllckZsdXNoVGltZXIuc3RhcnRPbmVTaG90KDFfcyAqIG1fY29v
cmRpbmF0b3IubmV4dEFuaW1hdGlvblNlcnZpY2VUaW1lKCkpOwogfQogCiB2b2lkIENvb3JkaW5h
dGVkTGF5ZXJUcmVlSG9zdDo6Y29tbWl0U2Nyb2xsT2Zmc2V0KHVpbnQzMl90IGxheWVySUQsIGNv
bnN0IFdlYkNvcmU6OkludFNpemUmIG9mZnNldCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCAyNWUxYTUzZWJkMGY0YzgwMTBkMGUyMWFiOWZj
OTA2NWEwZWIyMzI2Li5mMzA4ZDMwN2M4NmYyZWY3MmEyMmE0ODU1YmY3ZGQ0YmE2YWM5ZTZiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC01
MzMzLDcgKzUzMzMsNyBAQCBzdGF0aWMgY29uc3QgZmxvYXQgcHJpbWFyeVNuYXBzaG90dGVkUGx1
Z0luU2VhcmNoQnVja2V0U2l6ZSA9IDEuMTsKIHN0YXRpYyBjb25zdCBpbnQgcHJpbWFyeVNuYXBz
aG90dGVkUGx1Z0luTWluaW11bVdpZHRoID0gNDAwOwogc3RhdGljIGNvbnN0IGludCBwcmltYXJ5
U25hcHNob3R0ZWRQbHVnSW5NaW5pbXVtSGVpZ2h0ID0gMzAwOwogc3RhdGljIGNvbnN0IHVuc2ln
bmVkIG1heFByaW1hcnlTbmFwc2hvdHRlZFBsdWdJbkRldGVjdGlvbkF0dGVtcHRzID0gMjsKLXN0
YXRpYyBjb25zdCBpbnQgZGVmZXJyZWRQcmltYXJ5U25hcHNob3R0ZWRQbHVnSW5EZXRlY3Rpb25E
ZWxheSA9IDM7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBkZWZlcnJlZFByaW1hcnlTbmFwc2hvdHRl
ZFBsdWdJbkRldGVjdGlvbkRlbGF5ID0gM19zOwogc3RhdGljIGNvbnN0IGZsb2F0IG92ZXJsYXBw
aW5nSW1hZ2VCb3VuZHNTY2FsZSA9IDEuMTsKIHN0YXRpYyBjb25zdCBmbG9hdCBtaW5pbXVtT3Zl
cmxhcHBpbmdJbWFnZVRvUGx1Z2luRGltZW5zaW9uU2NhbGUgPSAuOTsKIApAQCAtNTQ0MSw3ICs1
NDQxLDcgQEAgdm9pZCBXZWJQYWdlOjpkZXRlcm1pbmVQcmltYXJ5U25hcHNob3R0ZWRQbHVnSW4o
KQogICAgIGlmICghY2FuZGlkYXRlUGx1Z0luKSB7CiAgICAgICAgIExPRyhQbHVnaW5zLCAiUHJp
bWFyeSBQbHVnLUluIERldGVjdGlvbjogZmFpbCAtIGRpZCBub3QgZmluZCBhIGNhbmRpZGF0ZSBw
bHVnLWluLiIpOwogICAgICAgICBpZiAobV9udW1iZXJPZlByaW1hcnlTbmFwc2hvdERldGVjdGlv
bkF0dGVtcHRzIDwgbWF4UHJpbWFyeVNuYXBzaG90dGVkUGx1Z0luRGV0ZWN0aW9uQXR0ZW1wdHMp
IHsKLSAgICAgICAgICAgIExPRyhQbHVnaW5zLCAiUHJpbWFyeSBQbHVnLUluIERldGVjdGlvbjog
d2lsbCBhdHRlbXB0IGFnYWluIGluICVkcy4iLCBkZWZlcnJlZFByaW1hcnlTbmFwc2hvdHRlZFBs
dWdJbkRldGVjdGlvbkRlbGF5KTsKKyAgICAgICAgICAgIExPRyhQbHVnaW5zLCAiUHJpbWFyeSBQ
bHVnLUluIERldGVjdGlvbjogd2lsbCBhdHRlbXB0IGFnYWluIGluICUuMWYgcy4iLCBkZWZlcnJl
ZFByaW1hcnlTbmFwc2hvdHRlZFBsdWdJbkRldGVjdGlvbkRlbGF5LnZhbHVlKCkpOwogICAgICAg
ICAgICAgbV9kZXRlcm1pbmVQcmltYXJ5U25hcHNob3R0ZWRQbHVnSW5UaW1lci5zdGFydE9uZVNo
b3QoZGVmZXJyZWRQcmltYXJ5U25hcHNob3R0ZWRQbHVnSW5EZXRlY3Rpb25EZWxheSk7CiAgICAg
ICAgIH0KICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vz
cy5jcHAKaW5kZXggZjEzYmNhMGRjNzMzZDA5ZTAxNDNhOTkwYTRkNDdhZjRhYjRlODk0OC4uNWI5
NWM3OTQxNTNhNGJhYWIyMjc2MmE2OTQ2NjM5YTEzYWQ5YmM1MCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCkBAIC0xNDMsNyArMTQzLDcgQEAgdXNpbmcgbmFtZXNw
YWNlIFdlYkNvcmU7CiBzdGF0aWMgY29uc3QgZG91YmxlIHBsdWdJbkF1dG9TdGFydEV4cGlyYXRp
b25UaW1lVXBkYXRlVGhyZXNob2xkID0gMjkgKiAyNCAqIDYwICogNjA7CiAKIC8vIFRoaXMgc2hv
dWxkIGJlIGdyZWF0ZXIgdGhhbiB0aWxlUmV2YWxpZGF0aW9uVGltZW91dCBpbiBUaWxlQ29udHJv
bGxlci4KLXN0YXRpYyBjb25zdCBkb3VibGUgbm9uVmlzaWJsZVByb2Nlc3NDbGVhbnVwRGVsYXkg
PSAxMDsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIG5vblZpc2libGVQcm9jZXNzQ2xlYW51cERlbGF5
IHsgMTBfcyB9OwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIApkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hh
bmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDYzYjNmNTViNzA1ZTk0OGYzMDU5MTY1Yzcz
ZGZhM2MyYmE0Njk0OTQuLjQ1ZWEwYzNkNGQ2YTk1M2JlNGQzYTFjNWYxOGY0ZGVhOGZkMWYxNmEg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEs
NSArMSwxOSBAQAogMjAxNy0wNC0wOSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgog
CisgICAgICAgIERyb3AgVGltZXI6OnN0YXJ0T25lU2hvdCgpIG92ZXJsb2FkIHRha2luZyBhIGRv
dWJsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcw
NjU5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRHJv
cCBUaW1lcjo6c3RhcnRPbmVTaG90KCkgb3ZlcmxvYWQgdGFraW5nIGEgZG91YmxlIGFzIHBlb3Bs
ZSBzaG91bGQgdXNlIFNlY29uZHMgdHlwZSBub3cuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dURi9SdW5Mb29wLmNwcDoKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgor
ICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvZ3RrL1Rlc3RSdW5uZXJH
dGsuY3BwOgorICAgICAgICAoV1RSOjpUZXN0UnVubmVyOjppbml0aWFsaXplV2FpdFRvRHVtcFdh
dGNoZG9nVGltZXJJZk5lZWRlZCk6CisKKzIwMTctMDQtMDkgIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KKwogICAgICAgICBEcm9wIFRpbWVyOjpzdGFydFJlcGVhdGluZygpIG92ZXJs
b2FkIHRha2luZyBhIGRvdWJsZQogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTcwNjU2CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV1RGL1J1bkxvb3AuY3BwIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvUnVuTG9v
cC5jcHAKaW5kZXggZDFkZTAzMWEwOGEwNzUxNGRmY2RmMDdhNWU1ZWU0YTM2YTMwNzczMC4uOTNi
M2Q4YzI4ZjMyMDgxNzZjZDNiYzUyYjdmOWUzZDYxNGEwNzkxNyAxMDA2NDQKLS0tIGEvVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvUnVuTG9vcC5jcHAKKysrIGIvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XVEYvUnVuTG9vcC5jcHAKQEAgLTk1LDcgKzk1LDcgQEAgVEVTVChXVEZfUnVu
TG9vcCwgT25lU2hvdFRpbWVyKQogCiAgICAgewogICAgICAgICBEZXJpdmVkVGltZXIgdGltZXIo
dGVzdEZpbmlzaGVkKTsKLSAgICAgICAgdGltZXIuc3RhcnRPbmVTaG90KDAuMSk7CisgICAgICAg
IHRpbWVyLnN0YXJ0T25lU2hvdCgxMDBfbXMpOwogICAgICAgICBVdGlsOjpydW4oJnRlc3RGaW5p
c2hlZCk7CiAgICAgfQogfQpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9Jbmpl
Y3RlZEJ1bmRsZS9ndGsvVGVzdFJ1bm5lckd0ay5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVy
L0luamVjdGVkQnVuZGxlL2d0ay9UZXN0UnVubmVyR3RrLmNwcAppbmRleCBhOWY3ZjQwOWMwOWJm
OTgzZDRhNzRiODNkZjNhOTFlNmRiNTlmMjdlLi5iOWFjY2NjNmM4Nzg0ZWM4ZThkOGMxNWFmMzcy
ZWZkMWJlZDM1ZWY1IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL2d0ay9UZXN0UnVubmVyR3RrLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVy
L0luamVjdGVkQnVuZGxlL2d0ay9UZXN0UnVubmVyR3RrLmNwcApAQCAtNDgsNyArNDgsNyBAQCB2
b2lkIFRlc3RSdW5uZXI6OmluaXRpYWxpemVXYWl0VG9EdW1wV2F0Y2hkb2dUaW1lcklmTmVlZGVk
KCkKICAgICBpZiAobV93YWl0VG9EdW1wV2F0Y2hkb2dUaW1lci5pc0FjdGl2ZSgpKQogICAgICAg
ICByZXR1cm47CiAKLSAgICBtX3dhaXRUb0R1bXBXYXRjaGRvZ1RpbWVyLnN0YXJ0T25lU2hvdCht
X3RpbWVvdXQgLyAxMDAwLjApOworICAgIG1fd2FpdFRvRHVtcFdhdGNoZG9nVGltZXIuc3RhcnRP
bmVTaG90KDFfbXMgKiBtX3RpbWVvdXQpOwogfQogCiBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4g
VGVzdFJ1bm5lcjo6cGF0aFRvTG9jYWxSZXNvdXJjZShKU1N0cmluZ1JlZiB1cmwpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>306661</attachid>
            <date>2017-04-09 23:06:43 -0700</date>
            <delta_ts>2017-04-10 01:02:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-170659-20170409230626.patch</filename>
            <type>text/plain</type>
            <size>151121</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE1MTY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjU2NmE5MGMzMjEyZGMz
MzAyMmE2MGViZWU2NDU1ODA1NTQ2ZGRiYy4uNWRmYTg3ZjkzZGZjMWJhNDljN2Y3ZGFmMWZkMzMx
MmEwN2E1YmRiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4MyBAQAorMjAxNy0wNC0wOSAgQ2hy
aXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIERyb3AgVGltZXI6OnN0YXJ0
T25lU2hvdCgpIG92ZXJsb2FkIHRha2luZyBhIGRvdWJsZQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcwNjU5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRHJvcCBUaW1lcjo6c3RhcnRPbmVTaG90KCkgb3Zl
cmxvYWQgdGFraW5nIGEgZG91YmxlIGFzIHBlb3BsZSBzaG91bGQgdXNlIFNlY29uZHMgdHlwZSBu
b3cuCisKKyAgICAgICAgKiBNb2R1bGVzL2dlb2xvY2F0aW9uL0dlb05vdGlmaWVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6Okdlb05vdGlmaWVyOjpzdGFydFRpbWVySWZOZWVkZWQpOgorICAgICAg
ICAqIE1vZHVsZXMvbWVkaWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6V2ViTWVkaWFTZXNzaW9uTWFuYWdlcjo6Y29uZmlndXJlV2F0Y2hkb2dU
aW1lcik6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXNlc3Npb24vV2ViTWVkaWFTZXNzaW9uTWFu
YWdlci5oOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vQ2FudmFzQ2FwdHVyZU1lZGlh
U3RyZWFtVHJhY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFzQ2FwdHVyZU1lZGlhU3Ry
ZWFtVHJhY2s6OlNvdXJjZTo6Y2FudmFzQ2hhbmdlZCk6CisgICAgICAgICogTW9kdWxlcy92aWJy
YXRpb24vVmlicmF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlZpYnJhdGlvbjo6dGltZXJG
aXJlZCk6CisgICAgICAgICogTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6V2ViU29ja2V0Q2hhbm5lbDo6Y2xvc2UpOgorICAgICAgICAq
IGFjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBWE9i
amVjdENhY2hlOjplbnF1ZXVlUGFzc3dvcmRWYWx1ZUNoYW5nZU5vdGlmaWNhdGlvbik6CisgICAg
ICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpwb3N0TGl2ZVJlZ2lvbkNoYW5nZU5vdGlmaWNh
dGlvbik6CisgICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpmb2N1c0FyaWFNb2RhbE5v
ZGUpOgorICAgICAgICAqIGNzcy9DU1NGb250RmFjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpD
U1NGb250RmFjZTo6c2V0U3RhdHVzKToKKyAgICAgICAgKiBjc3MvU3R5bGVSZXNvbHZlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJlc29sdmVyOjphZGRUb01hdGNoZWRQcm9wZXJ0aWVz
Q2FjaGUpOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpE
b2N1bWVudDo6c2V0VmlzdWFsVXBkYXRlc0FsbG93ZWQpOgorICAgICAgICAoV2ViQ29yZTo6RG9j
dW1lbnQ6OmZpbmlzaGVkUGFyc2luZyk6CisgICAgICAgICogZG9tL1NjcmlwdGVkQW5pbWF0aW9u
Q29udHJvbGxlci5jcHA6CisgICAgICAgICogZWRpdGluZy9BbHRlcm5hdGl2ZVRleHRDb250cm9s
bGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFsdGVybmF0aXZlVGV4dENvbnRyb2xsZXI6OnN0
YXJ0QWx0ZXJuYXRpdmVUZXh0VUlUaW1lcik6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVt
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmFkZEJlaGF2aW9y
UmVzdHJpY3Rpb25zT25FbmRJZk5lY2Vzc2FyeSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVk
aWFFbGVtZW50OjpoYW5kbGVTZWVrVG9QbGF5YmFja1Bvc2l0aW9uKToKKyAgICAgICAgKiBodG1s
L1NlYXJjaElucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZWFyY2hJbnB1dFR5cGU6
OnN0YXJ0U2VhcmNoRXZlbnRUaW1lcik6CisgICAgICAgICogaHRtbC9WYWxpZGF0aW9uTWVzc2Fn
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWYWxpZGF0aW9uTWVzc2FnZTo6c2V0TWVzc2FnZURP
TUFuZFN0YXJ0VGltZXIpOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29u
dGV4dEJhc2UuY3BwOgorICAgICAgICAqIGh0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRz
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFBhbmVsRWxlbWVudDo6c3RhcnRU
aW1lcik6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xQYW5lbEVsZW1lbnQ6Om1ha2VU
cmFuc3BhcmVudCk6CisgICAgICAgICogaHRtbC90cmFjay9WVFRSZWdpb24uY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6VlRUUmVnaW9uOjpzdGFydFRpbWVyKToKKyAgICAgICAgKiBpbnNwZWN0b3Iv
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbjo6ZnJhbWVTY2hlZHVsZWROYXZpZ2F0aW9uSW1wbCk6CisgICAgICAg
ICogaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oOgorICAgICAgICAoV2ViQ29y
ZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpmcmFtZVNjaGVkdWxlZE5hdmlnYXRpb24pOgor
ICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SW5zcGVjdG9yUGFnZUFnZW50OjpmcmFtZVNjaGVkdWxlZE5hdmlnYXRpb24pOgorICAg
ICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuaDoKKyAgICAgICAgKiBsb2FkZXIv
TmF2aWdhdGlvblNjaGVkdWxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0aW9uU2No
ZWR1bGVyOjpzdGFydFRpbWVyKToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3Vy
Y2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OmRv
Y3VtZW50RGlkRmluaXNoTG9hZEV2ZW50KToKKyAgICAgICAgKiBsb2FkZXIvaWNvbi9JY29uRGF0
YWJhc2UuY3BwOgorICAgICAgICAqIHBhZ2UvRXZlbnRIYW5kbGVyLmNwcDoKKyAgICAgICAgKiBw
YWdlL0V2ZW50U291cmNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50U291cmNlOjpzY2hl
ZHVsZVJlY29ubmVjdCk6CisgICAgICAgICogcGFnZS9Gb2N1c0NvbnRyb2xsZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Rm9jdXNDb250cm9sbGVyOjpzZXRGb2N1c2VkRWxlbWVudE5lZWRzUmVw
YWludCk6CisgICAgICAgICogcGFnZS9GcmFtZVZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
RnJhbWVWaWV3OjpzY3JvbGxQb3NpdGlvbkNoYW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6RnJh
bWVWaWV3OjplbmFibGVTcGVjdWxhdGl2ZVRpbGluZ0lmTmVlZGVkKToKKyAgICAgICAgKiBwYWdl
L1NldHRpbmdzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpTZXR0aW5ncyk6Cisg
ICAgICAgICogcGFnZS9TZXR0aW5ncy5oOgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OnNl
dFRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKToKKyAgICAgICAg
KFdlYkNvcmU6OlNldHRpbmdzOjp0aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdD
b250cm9scyk6CisgICAgICAgICogcGFnZS9TdXNwZW5kYWJsZVRpbWVyLmg6CisgICAgICAgICog
cGFnZS9hbmltYXRpb24vQ1NTQW5pbWF0aW9uQ29udHJvbGxlci5jcHA6CisgICAgICAgICogcGFn
ZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tOgorICAgICAgICAqIHBhZ2UvbWFjL1RleHRJbmRpY2F0
b3JXaW5kb3cubW06CisgICAgICAgIChXZWJDb3JlOjpUZXh0SW5kaWNhdG9yV2luZG93OjpzZXRU
ZXh0SW5kaWNhdG9yKToKKyAgICAgICAgKiBwbGF0Zm9ybS9IeXN0ZXJlc2lzQWN0aXZpdHkuaDoK
KyAgICAgICAgKFdlYkNvcmU6Okh5c3RlcmVzaXNBY3Rpdml0eTo6c3RvcCk6CisgICAgICAgICog
cGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Omdl
dEFuaW1hdGlvblBhcmFtZXRlcnNGb3JHcmFudWxhcml0eSk6CisgICAgICAgIChXZWJDb3JlOjpT
Y3JvbGxBbmltYXRpb25TbW9vdGg6OnVwZGF0ZVBlckF4aXNEYXRhKToKKyAgICAgICAgKFdlYkNv
cmU6OlNjcm9sbEFuaW1hdGlvblNtb290aDo6YW5pbWF0ZVNjcm9sbCk6CisgICAgICAgIChXZWJD
b3JlOjpTY3JvbGxBbmltYXRpb25TbW9vdGg6OmFuaW1hdGlvblRpbWVyRmlyZWQpOgorICAgICAg
ICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0aW9uU21vb3RoOjpzdGFydE5leHRUaW1lcik6CisgICAg
ICAgICogcGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmg6CisgICAgICAgICogcGxhdGZv
cm0vVGltZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6c3RhcnRSZXBlYXRpbmcp
OgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uOjpzY2hlZHVsZUNsaWVudERhdGFC
dWZmZXJpbmdDaGVjayk6CisgICAgICAgICogcGxhdGZvcm0vY29jb2EvU2Nyb2xsQ29udHJvbGxl
ci5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbENvbnRyb2xsZXI6OnNjaGVkdWxlU3RhdGVs
ZXNzU2Nyb2xsU25hcCk6CisgICAgICAgICogcGxhdGZvcm0vZ2FtZXBhZC9jb2NvYS9HYW1lQ29u
dHJvbGxlckdhbWVwYWRQcm92aWRlci5tbToKKyAgICAgICAgKFdlYkNvcmU6OkdhbWVDb250cm9s
bGVyR2FtZXBhZFByb3ZpZGVyOjpnYW1lcGFkSGFkSW5wdXQpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dhbWVwYWQvbWFjL0hJREdhbWVwYWRQcm92aWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpI
SURHYW1lcGFkUHJvdmlkZXI6Om9wZW5BbmRTY2hlZHVsZU1hbmFnZXIpOgorICAgICAgICAoV2Vi
Q29yZTo6SElER2FtZXBhZFByb3ZpZGVyOjp2YWx1ZXNDaGFuZ2VkKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9nbGliL01haW5UaHJlYWRTaGFyZWRUaW1lckdMaWIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6TWFpblRocmVhZFNoYXJlZFRpbWVyOjpzZXRGaXJlSW50ZXJ2YWwpOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkJpdG1h
cEltYWdlOjpzdGFydFRpbWVyKToKKyAgICAgICAgKFdlYkNvcmU6OkJpdG1hcEltYWdlOjppbnRl
cm5hbFN0YXJ0QW5pbWF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkJpdG1hcEltYWdlOjphZHZh
bmNlQW5pbWF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkJpdG1hcEltYWdlOjpyZXNldEFuaW1h
dGlvbik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuaDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyLmNwcDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9TaGFkb3dCbHVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlNjcmF0Y2hCdWZmZXI6OnNjaGVkdWxlU2NyYXRjaEJ1ZmZlclB1cmdlKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9jYS9MYXllclBvb2wuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
TGF5ZXJQb29sOjpzY2hlZHVsZVBydW5lKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9n
c3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6Y2hhbmdlUGlwZWxpbmVTdGF0ZSk6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0dyYXBoaWNzQ29udGV4dDNETWFjLm1tOgor
ICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0RNYW5hZ2VyOjp1cGRhdGVIaWdoUGVy
Zm9ybWFuY2VTdGF0ZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0JpdG1h
cFRleHR1cmVQb29sLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkJpdG1hcFRleHR1cmVQb29sOjpz
Y2hlZHVsZVJlbGVhc2VVbnVzZWRUZXh0dXJlcyk6CisgICAgICAgIChXZWJDb3JlOjpCaXRtYXBU
ZXh0dXJlUG9vbDo6cmVsZWFzZVVudXNlZFRleHR1cmVzVGltZXJGaXJlZCk6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVyUHJveHku
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6VGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXJQcm94eTo6
c2NoZWR1bGVSZWxlYXNlVW51c2VkQnVmZmVycyk6CisgICAgICAgIChXZWJDb3JlOjpUZXh0dXJl
TWFwcGVyUGxhdGZvcm1MYXllclByb3h5OjpyZWxlYXNlVW51c2VkQnVmZmVyc1RpbWVyRmlyZWQp
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGlu
YXRlZEltYWdlQmFja2luZy5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3RrL1Njcm9sbEFuaW1h
dG9yR3RrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdG9yR3RrOjpvdmVybGF5
U2Nyb2xsYmFyQW5pbWF0aW9uVGltZXJGaXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxB
bmltYXRvckd0azo6c2hvd092ZXJsYXlTY3JvbGxiYXJzKToKKyAgICAgICAgKFdlYkNvcmU6OlNj
cm9sbEFuaW1hdG9yR3RrOjpoaWRlT3ZlcmxheVNjcm9sbGJhcnMpOgorICAgICAgICAqIHBsYXRm
b3JtL2d0ay9TY3JvbGxBbmltYXRvckd0ay5oOgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9XZWJW
aWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdC5tbToKKyAgICAgICAgKFdlYlZpZGVvRnVsbHNj
cmVlbkludGVyZmFjZUFWS2l0OjpzaG91bGRFeGl0RnVsbHNjcmVlbldpdGhSZWFzb24pOgorICAg
ICAgICAqIHBsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5tbToKKyAgICAgICAgKFdlYkNv
cmU6OlNjcm9sbEFuaW1hdG9yTWFjOjpzdGFydFNjcm9sbGJhclBhaW50VGltZXIpOgorICAgICAg
ICAqIHBsYXRmb3JtL21vY2svTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlck1vY2suY3BwOgorICAg
ICAgICAqIHBsYXRmb3JtL21vY2svUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1vY2suY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1vY2s6OnNwZWFrKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL1RpbWVyRXZlbnRCYXNlZE1vY2suaDoKKyAgICAgICAg
KFdlYkNvcmU6OlRpbWVyRXZlbnQ6OlRpbWVyRXZlbnQpOgorICAgICAgICAqIHBsYXRmb3JtL25l
dHdvcmsvRE5TUmVzb2x2ZVF1ZXVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkROU1Jlc29sdmVR
dWV1ZTo6YWRkKToKKyAgICAgICAgKFdlYkNvcmU6OkROU1Jlc29sdmVRdWV1ZTo6dGltZXJGaXJl
ZCk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9QaW5nSGFuZGxlLmg6CisgICAgICAgICog
cGxhdGZvcm0vbmV0d29yay9jdXJsL1Jlc291cmNlSGFuZGxlTWFuYWdlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZU1hbmFnZXI6OmRvd25sb2FkVGltZXJDYWxsYmFjayk6
CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZU1hbmFnZXI6OmFkZCk6CisgICAgICAg
IChXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZU1hbmFnZXI6OmNhbmNlbCk6CisgICAgICAgICogcGxh
dGZvcm0vbmV0d29yay9tYWMvTmV0d29ya1N0YXRlTm90aWZpZXJNYWMuY3BwOgorICAgICAgICAq
IHBsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UmVzb3VyY2VIYW5kbGU6OnNlbmRQZW5kaW5nUmVxdWVzdCk6CisgICAgICAgICog
cmVuZGVyaW5nL0ltYWdlUXVhbGl0eUNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SW1hZ2VRdWFsaXR5Q29udHJvbGxlcjo6cmVzdGFydFRpbWVyKToKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
UHJvZ3Jlc3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyUHJvZ3Jlc3M6OlJlbmRlclBy
b2dyZXNzKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyUHJvZ3Jlc3MuaDoKKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZWN1cmVUZXh0
VGltZXI6OnJlc3RhcnQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6YW5pbWF0aW9uUmVwZWF0SW50ZXJ2YWxGb3JQ
cm9ncmVzc0Jhcik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lLmg6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6bWVkaWFDb250cm9sc0ZhZGVPdXREdXJhdGlvbik6Cisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lR3RrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclRoZW1lR3RrOjphbmltYXRpb25SZXBlYXRJbnRlcnZhbEZvclByb2dyZXNzQmFyKToK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVHdGsuaDoKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyVGhlbWVJT1MuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1Mu
bW06CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZUlPUzo6YW5pbWF0aW9uUmVwZWF0SW50
ZXJ2YWxGb3JQcm9ncmVzc0Jhcik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFj
Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1tOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyVGhlbWVNYWM6OmFuaW1hdGlvblJlcGVhdEludGVydmFsRm9yUHJvZ3Jlc3NC
YXIpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVNYWM6OmFuaW1hdGlvbkR1cmF0aW9u
Rm9yUHJvZ3Jlc3NCYXIpOgorICAgICAgICAqIHJlcGxheS9FdmVudExvb3BJbnB1dERpc3BhdGNo
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRMb29wSW5wdXREaXNwYXRjaGVyOjpkaXNw
YXRjaElucHV0U29vbik6CisgICAgICAgICogc3ZnL2FuaW1hdGlvbi9TTUlMVGltZUNvbnRhaW5l
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTTUlMVGltZUNvbnRhaW5lcjo6c3RhcnRUaW1lcik6
CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkludGVybmFsU2V0dGluZ3M6OnNldFRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhp
ZGluZ0NvbnRyb2xzKToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaDoKKyAg
ICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5h
bHM6OnNldEltYWdlRnJhbWVEZWNvZGluZ0R1cmF0aW9uKToKKyAgICAgICAgKiB4bWwvWE1MSHR0
cFJlcXVlc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3Q6OmNyZWF0ZVJl
cXVlc3QpOgorCiAyMDE3LTA0LTA5ICBZdXN1a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFAZ21haWwu
Y29tPgogCiAgICAgICAgIFtXVEZdIEFubm90YXRlIFNlY29uZHMnIG1lbWJlciBmdW5jdGlvbnMg
YW5kIG9wZXJhdG9ycyB3aXRoIGNvbnN0ZXhwcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBlZmMzMDdhOTNjMjM2NThh
OTg4MzhhY2NhYTE0NGIxOTczMjJjNmI1Li5jNGJkNTRhYjQ2MzEwZDJhYjU5OTFjMzgyODNkODg3
OTdmOTAyN2NkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIxIEBACiAyMDE3LTA0LTA5ICBDaHJpcyBE
dW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKKyAgICAgICAgRHJvcCBUaW1lcjo6c3RhcnRPbmVT
aG90KCkgb3ZlcmxvYWQgdGFraW5nIGEgZG91YmxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzA2NTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBEcm9wIFRpbWVyOjpzdGFydE9uZVNob3QoKSBvdmVybG9h
ZCB0YWtpbmcgYSBkb3VibGUgYXMgcGVvcGxlIHNob3VsZCB1c2UgU2Vjb25kcyB0eXBlIG5vdy4K
KworICAgICAgICAqIFN0b3JhZ2UvU3RvcmFnZUFyZWFTeW5jLmNwcDoKKyAgICAgICAgKiBTdG9y
YWdlL1N0b3JhZ2VUcmFja2VyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6U3RvcmFnZVRyYWNrZXI6
OlN0b3JhZ2VUcmFja2VyKToKKyAgICAgICAgKiBTdG9yYWdlL1N0b3JhZ2VUcmFja2VyLmg6Cisg
ICAgICAgIChXZWJLaXQ6OlN0b3JhZ2VUcmFja2VyOjpzdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2
YWwpOgorICAgICAgICAoV2ViS2l0OjpTdG9yYWdlVHJhY2tlcjo6c2V0U3RvcmFnZURhdGFiYXNl
SWRsZUludGVydmFsKToKKworMjAxNy0wNC0wOSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUu
Y29tPgorCiAgICAgICAgIFN0YXJ0IGRyb3BwaW5nIFRpbWVyIEFQSSBkZWFsaW5nIHdpdGggZG91
YmxlCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzA2
NDkKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IDY1MWE4YzZlYmZkYzkxMDAwMjE0MTRkMGFjNGM0YWVl
MGYyMTI5YmIuLmY0ZTFjMzQyMDI0ODRiZjNhMDUxNmY2NmNiOTUwYjQ3MzQ3YTNiYjcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21h
Yy9DaGFuZ2VMb2cKQEAgLTEsNSArMSwxOSBAQAogMjAxNy0wNC0wOSAgQ2hyaXMgRHVtZXogIDxj
ZHVtZXpAYXBwbGUuY29tPgogCisgICAgICAgIERyb3AgVGltZXI6OnN0YXJ0T25lU2hvdCgpIG92
ZXJsb2FkIHRha2luZyBhIGRvdWJsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTcwNjU5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgRHJvcCBUaW1lcjo6c3RhcnRPbmVTaG90KCkgb3ZlcmxvYWQgdGFraW5n
IGEgZG91YmxlIGFzIHBlb3BsZSBzaG91bGQgdXNlIFNlY29uZHMgdHlwZSBub3cuCisKKyAgICAg
ICAgKiBQbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luVmlldy5tbToKKyAgICAgICAgKFBsdWdpblRp
bWVyOjpzdGFydCk6CisgICAgICAgICogU3RvcmFnZS9XZWJTdG9yYWdlTWFuYWdlci5tbToKKyAg
ICAgICAgKCtbV2ViU3RvcmFnZU1hbmFnZXIgc2V0U3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFs
Ol0pOgorCisyMDE3LTA0LTA5ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKICAg
ICAgICAgRHJvcCBUaW1lcjo6c3RhcnRSZXBlYXRpbmcoKSBvdmVybG9hZCB0YWtpbmcgYSBkb3Vi
bGUKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MDY1
NgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0L3dpbi9DaGFuZ2VMb2cKaW5kZXggYWRjODVmZDNlMzNmNGFiMmYyNTBiMjYwOGEzYTVmNGRm
NTU4Y2QxOC4uZWJmMDY4ZWFkYzAzODlhY2ZiZDljNmVlOTk1ZWVkMDM0NDUxZGQ4MCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvd2lu
L0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIyIEBACiAyMDE3LTA0LTA5ICBDaHJpcyBEdW1leiAgPGNk
dW1lekBhcHBsZS5jb20+CiAKKyAgICAgICAgRHJvcCBUaW1lcjo6c3RhcnRPbmVTaG90KCkgb3Zl
cmxvYWQgdGFraW5nIGEgZG91YmxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNzA2NTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBEcm9wIFRpbWVyOjpzdGFydE9uZVNob3QoKSBvdmVybG9hZCB0YWtpbmcg
YSBkb3VibGUgYXMgcGVvcGxlIHNob3VsZCB1c2UgU2Vjb25kcyB0eXBlIG5vdy4KKworICAgICAg
ICAqIFBsdWdpbnMvUGx1Z2luTWVzc2FnZVRocm90dGxlcldpbi5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpQbHVnaW5NZXNzYWdlVGhyb3R0bGVyV2luOjphcHBlbmRNZXNzYWdlKToKKyAgICAgICAg
KFdlYkNvcmU6OlBsdWdpbk1lc3NhZ2VUaHJvdHRsZXJXaW46Om1lc3NhZ2VUaHJvdHRsZVRpbWVy
RmlyZWQpOgorICAgICAgICAqIFBsdWdpbnMvUGx1Z2luVmlld1dpbi5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpQbHVnaW5WaWV3OjppbnZhbGlkYXRlUmVjdCk6CisgICAgICAgICogV2ViQ29yZVN1
cHBvcnQvQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQuY3BwOgorICAgICAgICAoQWNjZWxl
cmF0ZWRDb21wb3NpdGluZ0NvbnRleHQ6OnNjaGVkdWxlTGF5ZXJGbHVzaCk6CisKKzIwMTctMDQt
MDkgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKwogICAgICAgICBEcm9wIFRpbWVy
OjpzdGFydFJlcGVhdGluZygpIG92ZXJsb2FkIHRha2luZyBhIGRvdWJsZQogICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcwNjU2CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRl
eCBjMmYwZTUwZTkwODk3OTY0NjdiYjYzYTY4ZjM0ZWQ5ZWQ0ZjI3NDk2Li4wZGQ5MjIyMWFkYjEx
YTdlNmQyZjU1NzMzOWNhYTJiZTUyZGY3ODNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsNjUgQEAK
IDIwMTctMDQtMDkgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAorICAgICAgICBE
cm9wIFRpbWVyOjpzdGFydE9uZVNob3QoKSBvdmVybG9hZCB0YWtpbmcgYSBkb3VibGUKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MDY1OQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERyb3AgVGltZXI6OnN0
YXJ0T25lU2hvdCgpIG92ZXJsb2FkIHRha2luZyBhIGRvdWJsZSBhcyBwZW9wbGUgc2hvdWxkIHVz
ZSBTZWNvbmRzIHR5cGUgbm93LgorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvUGluZ0xvYWQu
aDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9zb3VwL05ldHdvcmtEYXRhVGFza1NvdXAuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrRGF0YVRhc2tTb3VwOjpzdGFydFRpbWVvdXQpOgor
ICAgICAgICAqIFBsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmg6CisgICAgICAgICogUGxhdGZvcm0v
SVBDL21hYy9Db25uZWN0aW9uTWFjLm1tOgorICAgICAgICAoSVBDOjpDb25uZWN0aW9uVGVybWlu
YXRpb25XYXRjaGRvZzo6Y3JlYXRlQ29ubmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hkb2cpOgorICAg
ICAgICAoSVBDOjpDb25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZzo6Q29ubmVjdGlvblRlcm1p
bmF0aW9uV2F0Y2hkb2cpOgorICAgICAgICAoSVBDOjpDb25uZWN0aW9uOjp0ZXJtaW5hdGVTb29u
KToKKyAgICAgICAgKiBQbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3MuY3BwOgorICAgICAgICAo
V2ViS2l0OjpQbHVnaW5Qcm9jZXNzOjpzZXRNaW5pbXVtTGlmZXRpbWUpOgorICAgICAgICAqIFBs
dWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5oOgorICAgICAgICAqIFNoYXJlZC9DaGlsZFByb2Nl
c3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpDaGlsZFByb2Nlc3M6OkNoaWxkUHJvY2Vzcyk6Cisg
ICAgICAgICogU2hhcmVkL0NoaWxkUHJvY2Vzcy5oOgorICAgICAgICAoV2ViS2l0OjpDaGlsZFBy
b2Nlc3M6OnNldFRlcm1pbmF0aW9uVGltZW91dCk6CisgICAgICAgICogU2hhcmVkL0Nvb3JkaW5h
dGVkR3JhcGhpY3MvdGhyZWFkZWRjb21wb3NpdG9yL0NvbXBvc2l0aW5nUnVuTG9vcC5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OkNvbXBvc2l0aW5nUnVuTG9vcDo6c3RhcnRVcGRhdGVUaW1lcik6Cisg
ICAgICAgICogU2hhcmVkL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5o
OgorICAgICAgICAqIFNoYXJlZC9XZWJNZW1vcnlTYW1wbGVyLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6V2ViTWVtb3J5U2FtcGxlcjo6aW5pdGlhbGl6ZVRpbWVycyk6CisgICAgICAgICogU2hhcmVk
L1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L0NvY29hL0FQSVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUNvY29hLm1tOgorICAgICAgICAoQVBJOjpT
aGFyZWRKU0NvbnRleHQ6OmVuc3VyZUNvbnRleHQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9DaGls
ZFByb2Nlc3NQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OkNoaWxkUHJvY2Vzc1Byb3h5Ojpz
aHV0RG93blByb2Nlc3MpOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9OYXZpZ2F0aW9uU3Rh
dGUubW06CisgICAgICAgIChXZWJLaXQ6Ok5hdmlnYXRpb25TdGF0ZTo6ZGlkQ2hhbmdlSXNMb2Fk
aW5nKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvVmlld0dlc3R1cmVDb250cm9sbGVyLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6Vmlld0dlc3R1cmVDb250cm9sbGVyOjpTbmFwc2hvdFJlbW92
YWxUcmFja2VyOjpzdGFydFdhdGNoZG9nKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvVmll
d0dlc3R1cmVDb250cm9sbGVyLmg6CisgICAgICAgICogVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJv
eHlJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6RHJhd2luZ0FyZWFQcm94eUltcGw6OmRpc2Nh
cmRCYWNraW5nU3RvcmVTb29uKToKKyAgICAgICAgKFdlYktpdDo6RHJhd2luZ0FyZWFQcm94eUlt
cGw6OkRyYXdpbmdNb25pdG9yOjpzdGFydCk6CisgICAgICAgIChXZWJLaXQ6OkRyYXdpbmdBcmVh
UHJveHlJbXBsOjpEcmF3aW5nTW9uaXRvcjo6ZGlkRHJhdyk6CisgICAgICAgICogVUlQcm9jZXNz
L0dhbWVwYWQvVUlHYW1lcGFkUHJvdmlkZXIuY3BwOgorICAgICAgICAqIFVJUHJvY2Vzcy9QbHVn
aW5zL1BsdWdpblByb2Nlc3NQcm94eS5jcHA6CisgICAgICAgICogVUlQcm9jZXNzL1Byb2Nlc3NU
aHJvdHRsZXIuY3BwOgorICAgICAgICAqIFVJUHJvY2Vzcy9SZXNwb25zaXZlbmVzc1RpbWVyLmNw
cDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQcm9jZXNzUG9vbDo6Y3JlYXRlTmV3V2ViUHJvY2Vzcyk6CisgICAgICAgICogVUlQ
cm9jZXNzL2d0ay9HZXN0dXJlQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJLaXQ6Okdlc3R1
cmVDb250cm9sbGVyOjpEcmFnR2VzdHVyZTo6YmVnaW4pOgorICAgICAgICAqIFVJUHJvY2Vzcy9t
YWMvV2ViSW5zcGVjdG9yUHJveHlNYWMubW06CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdl
L0FjY2VsZXJhdGVkRHJhd2luZ0FyZWEuY3BwOgorICAgICAgICAoV2ViS2l0OjpBY2NlbGVyYXRl
ZERyYXdpbmdBcmVhOjpleGl0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGVOb3cpOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5
ZXJUcmVlSG9zdC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9z
dDo6c2NoZWR1bGVBbmltYXRpb24pOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6ZGV0ZXJtaW5lUHJpbWFyeVNuYXBz
aG90dGVkUGx1Z0luKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwOgorCisy
MDE3LTA0LTA5ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKICAgICAgICAgRHJv
cCBUaW1lcjo6c3RhcnRSZXBlYXRpbmcoKSBvdmVybG9hZCB0YWtpbmcgYSBkb3VibGUKICAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MDY1NgogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dlb2xvY2F0aW9uL0dlb05vdGlmaWVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvTm90aWZpZXIuY3BwCmlu
ZGV4IDc0YTk2Y2UxZDJiYTgwMjdjNWRlNjFiZmQyMGY0YjI4NGZkMjg3YjIuLjg2OTUwMmYwMGQ0
ZDVkNjBhOTZjZmI3NmY3OTVhYjZhZDJiMDI2YzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvTm90aWZpZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvTm90aWZpZXIuY3BwCkBAIC04Nyw3ICs4Nyw3IEBAIHZv
aWQgR2VvTm90aWZpZXI6OnJ1bkVycm9yQ2FsbGJhY2soUG9zaXRpb25FcnJvciogZXJyb3IpCiAK
IHZvaWQgR2VvTm90aWZpZXI6OnN0YXJ0VGltZXJJZk5lZWRlZCgpCiB7Ci0gICAgbV90aW1lci5z
dGFydE9uZVNob3QobV9vcHRpb25zLnRpbWVvdXQgLyAxMDAwLjApOworICAgIG1fdGltZXIuc3Rh
cnRPbmVTaG90KDFfbXMgKiBtX29wdGlvbnMudGltZW91dCk7CiB9CiAKIHZvaWQgR2VvTm90aWZp
ZXI6OnN0b3BUaW1lcigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c2Vzc2lvbi9XZWJNZWRpYVNlc3Npb25NYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwCmluZGV4IDdhMzM2OWYx
MGU1MzBlNGRjODdlNzE3ZDU2NzVmNzA5MTEzYjgwZTkuLjliMGViOTI2ZGU3MzY1Y2E4MGQxODYw
NTc2NWNhZjRiNTU1Nzg2ZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwCkBAIC0zNiw3
ICszNiw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIGNvbnN0IGRvdWJsZSB0
YXNrRGVsYXlJbnRlcnZhbCA9IDEuMCAvIDEwLjA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyB0YXNr
RGVsYXlJbnRlcnZhbCB7IDEwMF9tcyB9OwogCiBzdHJ1Y3QgQ2xpZW50U3RhdGUgewogICAgIGV4
cGxpY2l0IENsaWVudFN0YXRlKFdlYk1lZGlhU2Vzc2lvbk1hbmFnZXJDbGllbnQmIGNsaWVudCwg
dWludDY0X3QgY29udGV4dElkKQpAQCAtNDIzLDggKzQyMyw4IEBAIHNpemVfdCBXZWJNZWRpYVNl
c3Npb25NYW5hZ2VyOjpmaW5kKFdlYk1lZGlhU2Vzc2lvbk1hbmFnZXJDbGllbnQqIGNsaWVudCwg
dWludDY0CiAKIHZvaWQgV2ViTWVkaWFTZXNzaW9uTWFuYWdlcjo6Y29uZmlndXJlV2F0Y2hkb2dU
aW1lcigpCiB7Ci0gICAgc3RhdGljIGNvbnN0IGRvdWJsZSB3YXRjaGRvZ1RpbWVySW50ZXJ2YWxB
ZnRlclBhdXNpbmcgPSA2MCAqIDYwOwotICAgIHN0YXRpYyBjb25zdCBkb3VibGUgd2F0Y2hkb2dU
aW1lckludGVydmFsQWZ0ZXJQbGF5aW5nVG9FbmQgPSA4ICogNjA7CisgICAgc3RhdGljIGNvbnN0
IFNlY29uZHMgd2F0Y2hkb2dUaW1lckludGVydmFsQWZ0ZXJQYXVzaW5nIHsgMV9oIH07CisgICAg
c3RhdGljIGNvbnN0IFNlY29uZHMgd2F0Y2hkb2dUaW1lckludGVydmFsQWZ0ZXJQbGF5aW5nVG9F
bmQgeyA4X21pbiB9OwogCiAgICAgaWYgKCFtX3BsYXliYWNrVGFyZ2V0IHx8ICFtX3BsYXliYWNr
VGFyZ2V0LT5oYXNBY3RpdmVSb3V0ZSgpKSB7CiAgICAgICAgIG1fd2F0Y2hkb2dUaW1lci5zdG9w
KCk7CkBAIC00NDIsMTQgKzQ0MiwxNCBAQCB2b2lkIFdlYk1lZGlhU2Vzc2lvbk1hbmFnZXI6OmNv
bmZpZ3VyZVdhdGNoZG9nVGltZXIoKQogICAgIH0KIAogICAgIGlmIChzdG9wVGltZXIpIHsKLSAg
ICAgICAgbV9jdXJyZW50V2F0Y2hkb2dJbnRlcnZhbCA9IDA7CisgICAgICAgIG1fY3VycmVudFdh
dGNoZG9nSW50ZXJ2YWwgPSB7IH07CiAgICAgICAgIG1fd2F0Y2hkb2dUaW1lci5zdG9wKCk7CiAg
ICAgICAgIExPRyhNZWRpYSwgIldlYk1lZGlhU2Vzc2lvbk1hbmFnZXI6OmNvbmZpZ3VyZVdhdGNo
ZG9nVGltZXIgLSB0aW1lciBzdG9wcGVkIik7CiAgICAgfSBlbHNlIHsKLSAgICAgICAgZG91Ymxl
IGludGVydmFsID0gZGlkUGxheVRvRW5kID8gd2F0Y2hkb2dUaW1lckludGVydmFsQWZ0ZXJQbGF5
aW5nVG9FbmQgOiB3YXRjaGRvZ1RpbWVySW50ZXJ2YWxBZnRlclBhdXNpbmc7CisgICAgICAgIFNl
Y29uZHMgaW50ZXJ2YWwgPSBkaWRQbGF5VG9FbmQgPyB3YXRjaGRvZ1RpbWVySW50ZXJ2YWxBZnRl
clBsYXlpbmdUb0VuZCA6IHdhdGNoZG9nVGltZXJJbnRlcnZhbEFmdGVyUGF1c2luZzsKICAgICAg
ICAgaWYgKGludGVydmFsICE9IG1fY3VycmVudFdhdGNoZG9nSW50ZXJ2YWwgfHwgIW1fd2F0Y2hk
b2dUaW1lci5pc0FjdGl2ZSgpKSB7CiAgICAgICAgICAgICBtX3dhdGNoZG9nVGltZXIuc3RhcnRP
bmVTaG90KGludGVydmFsKTsKLSAgICAgICAgICAgIExPRyhNZWRpYSwgIldlYk1lZGlhU2Vzc2lv
bk1hbmFnZXI6OmNvbmZpZ3VyZVdhdGNoZG9nVGltZXIgLSB0aW1lciBzY2hlZHVsZWQgZm9yICUu
MGYiLCBpbnRlcnZhbCk7CisgICAgICAgICAgICBMT0coTWVkaWEsICJXZWJNZWRpYVNlc3Npb25N
YW5hZ2VyOjpjb25maWd1cmVXYXRjaGRvZ1RpbWVyIC0gdGltZXIgc2NoZWR1bGVkIGZvciAlLjBm
IHNlY29uZHMiLCBpbnRlcnZhbC52YWx1ZSgpKTsKICAgICAgICAgfQogICAgICAgICBtX2N1cnJl
bnRXYXRjaGRvZ0ludGVydmFsID0gaW50ZXJ2YWw7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNlc3Npb24vV2ViTWVkaWFTZXNzaW9uTWFuYWdlci5oIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNlc3Npb24vV2ViTWVkaWFTZXNzaW9uTWFuYWdl
ci5oCmluZGV4IDU3ZDU4ZWY5MTRjYjIzZjE5NDAxY2NjZmVjMzhlY2UzOGVhZWE2MDkuLjI5NTA5
ZTI4YzRhZmE1NGM2ZDQ2YTEzYWQzYzFmMTFiMTZjMWEzNjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vzc2lvbi9XZWJNZWRpYVNlc3Npb25NYW5h
Z2VyLmgKQEAgLTEwMiw3ICsxMDIsNyBAQCBwcml2YXRlOgogICAgIFJlZlB0cjxNZWRpYVBsYXli
YWNrVGFyZ2V0PiBtX3BsYXliYWNrVGFyZ2V0OwogICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3Jl
OjpNZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyTW9jaz4gbV9waWNrZXJPdmVycmlkZTsKICAgICBD
b25maWd1cmF0aW9uVGFza3MgbV90YXNrRmxhZ3MgeyBOb1Rhc2sgfTsKLSAgICBkb3VibGUgbV9j
dXJyZW50V2F0Y2hkb2dJbnRlcnZhbCB7IDAgfTsKKyAgICBTZWNvbmRzIG1fY3VycmVudFdhdGNo
ZG9nSW50ZXJ2YWw7CiAgICAgYm9vbCBtX2V4dGVybmFsT3V0cHV0RGV2aWNlQXZhaWxhYmxlIHsg
ZmFsc2UgfTsKICAgICBib29sIG1fdGFyZ2V0Q2hhbmdlZCB7IGZhbHNlIH07CiAgICAgYm9vbCBt
X21vY2tQaWNrZXJFbmFibGVkIHsgZmFsc2UgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vQ2FudmFzQ2FwdHVyZU1lZGlhU3RyZWFtVHJhY2suY3BwIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9DYW52YXNDYXB0dXJlTWVkaWFTdHJl
YW1UcmFjay5jcHAKaW5kZXggZGI0YzQwNDFjOTY3Mzk2ODA2OWI5ZTNmY2I3ZDVkNmVjNTU4NzQ2
MC4uM2Y3YjJjMTg4YjU5OTgwYTJkNWNmYmE4NzZlOTRiOTE4NzIwYThkZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9DYW52YXNDYXB0dXJlTWVkaWFTdHJl
YW1UcmFjay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9DYW52
YXNDYXB0dXJlTWVkaWFTdHJlYW1UcmFjay5jcHAKQEAgLTE0Myw3ICsxNDMsNyBAQCB2b2lkIENh
bnZhc0NhcHR1cmVNZWRpYVN0cmVhbVRyYWNrOjpTb3VyY2U6OmNhbnZhc0NoYW5nZWQoSFRNTENh
bnZhc0VsZW1lbnQmIGNhbgogICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgdHJ5IHRvIGdlbmVyYXRl
IHRoZSBmcmFtZSBhdCB0aGUgdGltZSB0aGUgc2NyZWVuIGlzIGJlaW5nIHVwZGF0ZWQuCiAgICAg
aWYgKG1fY2FudmFzQ2hhbmdlZFRpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAgIHJldHVybjsKLSAg
ICBtX2NhbnZhc0NoYW5nZWRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9jYW52YXNDaGFu
Z2VkVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgQ2FudmFzQ2FwdHVyZU1lZGlh
U3RyZWFtVHJhY2s6OlNvdXJjZTo6Y2FwdHVyZUNhbnZhcygpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3ZpYnJhdGlvbi9WaWJyYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy92aWJyYXRpb24vVmlicmF0aW9uLmNwcAppbmRleCBjMTUyMmIzOTIyMGI0YThmMTJi
ZDMyMTY3ZThkMTEyMjdlZTFkZGE3Li4wNTE4MDczZTEwOWY0NjE4YzRhZjlkZTFmMjUxM2FmNDY2
NmRhYmYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3ZpYnJhdGlvbi9WaWJy
YXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvdmlicmF0aW9uL1ZpYnJhdGlv
bi5jcHAKQEAgLTExMCw3ICsxMTAsNyBAQCB2b2lkIFZpYnJhdGlvbjo6dGltZXJGaXJlZCgpCiAg
ICAgICAgIG1fdmlicmF0aW9uQ2xpZW50LT52aWJyYXRlKG1fcGF0dGVyblswXSk7CiAgICAgICAg
IGJyZWFrOwogICAgIH0KLSAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChtX3BhdHRlcm5bMF0gLyAx
MDAwLjApOworICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDFfbXMgKiBtX3BhdHRlcm5bMF0pOwog
ICAgIG1fcGF0dGVybi5yZW1vdmUoMCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcAppbmRleCBjNWNiMTI0ZTIy
M2QyODZmYmI2ZjAyY2U3MDEwNDAyODUyNjllMTVlLi42MWQzY2NkZDcxNWRmODYzOTA0OTVjYjNk
ZWRmMmE4MDdlNjEyZDIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNv
Y2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuY3BwCkBAIC02MSw3ICs2MSw3IEBACiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAotY29uc3QgZG91YmxlIFRDUE1heGltdW1TZWdtZW50TGlmZXRpbWUg
PSAyICogNjAuMDsKK2NvbnN0IFNlY29uZHMgVENQTWF4aW11bVNlZ21lbnRMaWZldGltZSB7IDJf
bWluIH07CiAKIFdlYlNvY2tldENoYW5uZWw6OldlYlNvY2tldENoYW5uZWwoRG9jdW1lbnQmIGRv
Y3VtZW50LCBXZWJTb2NrZXRDaGFubmVsQ2xpZW50JiBjbGllbnQsIFNvY2tldFByb3ZpZGVyJiBw
cm92aWRlcikKICAgICA6IG1fZG9jdW1lbnQoJmRvY3VtZW50KQpAQCAtMjA3LDcgKzIwNyw3IEBA
IHZvaWQgV2ViU29ja2V0Q2hhbm5lbDo6Y2xvc2UoaW50IGNvZGUsIGNvbnN0IFN0cmluZyYgcmVh
c29uKQogICAgIFJlZjxXZWJTb2NrZXRDaGFubmVsPiBwcm90ZWN0ZWRUaGlzKCp0aGlzKTsgLy8g
QW4gYXR0ZW1wdCB0byBzZW5kIGNsb3NpbmcgaGFuZHNoYWtlIG1heSBmYWlsLCB3aGljaCB3aWxs
IGdldCB0aGUgY2hhbm5lbCBjbG9zZWQgYW5kIGRlcmVmZXJlbmNlZC4KICAgICBzdGFydENsb3Np
bmdIYW5kc2hha2UoY29kZSwgcmVhc29uKTsKICAgICBpZiAobV9jbG9zaW5nICYmICFtX2Nsb3Np
bmdUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX2Nsb3NpbmdUaW1lci5zdGFydE9uZVNob3Qo
MiAqIFRDUE1heGltdW1TZWdtZW50TGlmZXRpbWUpOworICAgICAgICBtX2Nsb3NpbmdUaW1lci5z
dGFydE9uZVNob3QoVENQTWF4aW11bVNlZ21lbnRMaWZldGltZSAqIDIpOwogfQogCiB2b2lkIFdl
YlNvY2tldENoYW5uZWw6OmZhaWwoY29uc3QgU3RyaW5nJiByZWFzb24pCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwIGIvU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcAppbmRleCAxMjU0MDUwMTRlNzYw
YmMyYjllNzlkYjgxOTdhMWUwZWU3NWQwMmY3Li5mMDZkZjc0MDBhY2E1NmUwOGUxODMyYTRhZWEw
ZmM1NmQ1NDU0YzQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FY
T2JqZWN0Q2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmpl
Y3RDYWNoZS5jcHAKQEAgLTExMCw5ICsxMTAsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiB1c2lu
ZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwogCiAvLyBQb3N0IHZhbHVlIGNoYW5nZSBub3RpZmljYXRp
b25zIGZvciBwYXNzd29yZCBmaWVsZHMgb3IgZWxlbWVudHMgY29udGFpbmVkIGluIHBhc3N3b3Jk
IGZpZWxkcyBhdCBhIDQwaHogaW50ZXJ2YWwgdG8gdGh3YXJ0IGFuYWx5c2lzIG9mIHR5cGluZyBj
YWRlbmNlCi1zdGF0aWMgZG91YmxlIEFjY2Vzc2liaWxpdHlQYXNzd29yZFZhbHVlQ2hhbmdlTm90
aWZpY2F0aW9uSW50ZXJ2YWwgPSAwLjAyNTsKLXN0YXRpYyBkb3VibGUgQWNjZXNzaWJpbGl0eUxp
dmVSZWdpb25DaGFuZ2VkTm90aWZpY2F0aW9uSW50ZXJ2YWwgPSAwLjAyMDsKLXN0YXRpYyBkb3Vi
bGUgQWNjZXNzaWJpbGl0eUZvY3VzQXJpYU1vZGFsTm9kZU5vdGlmaWNhdGlvbkludGVydmFsID0g
MC4wNTA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBhY2Nlc3NpYmlsaXR5UGFzc3dvcmRWYWx1ZUNo
YW5nZU5vdGlmaWNhdGlvbkludGVydmFsIHsgMjVfbXMgfTsKK3N0YXRpYyBjb25zdCBTZWNvbmRz
IGFjY2Vzc2liaWxpdHlMaXZlUmVnaW9uQ2hhbmdlZE5vdGlmaWNhdGlvbkludGVydmFsIHsgMjBf
bXMgfTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIGFjY2Vzc2liaWxpdHlGb2N1c0FyaWFNb2RhbE5v
ZGVOb3RpZmljYXRpb25JbnRlcnZhbCB7IDUwX21zIH07CiAKIEFjY2Vzc2liaWxpdHlPYmplY3RJ
bmNsdXNpb24gQVhDb21wdXRlZE9iamVjdEF0dHJpYnV0ZUNhY2hlOjpnZXRJZ25vcmVkKEFYSUQg
aWQpIGNvbnN0CiB7CkBAIC0xMzExLDcgKzEzMTEsNyBAQCBib29sIEFYT2JqZWN0Q2FjaGU6OmVu
cXVldWVQYXNzd29yZFZhbHVlQ2hhbmdlTm90aWZpY2F0aW9uKEFjY2Vzc2liaWxpdHlPYmplY3Qq
CiAKICAgICBtX3Bhc3N3b3JkTm90aWZpY2F0aW9uc1RvUG9zdC5hZGQob2JzZXJ2YWJsZU9iamVj
dCk7CiAgICAgaWYgKCFtX3Bhc3N3b3JkTm90aWZpY2F0aW9uUG9zdFRpbWVyLmlzQWN0aXZlKCkp
Ci0gICAgICAgIG1fcGFzc3dvcmROb3RpZmljYXRpb25Qb3N0VGltZXIuc3RhcnRPbmVTaG90KEFj
Y2Vzc2liaWxpdHlQYXNzd29yZFZhbHVlQ2hhbmdlTm90aWZpY2F0aW9uSW50ZXJ2YWwpOworICAg
ICAgICBtX3Bhc3N3b3JkTm90aWZpY2F0aW9uUG9zdFRpbWVyLnN0YXJ0T25lU2hvdChhY2Nlc3Np
YmlsaXR5UGFzc3dvcmRWYWx1ZUNoYW5nZU5vdGlmaWNhdGlvbkludGVydmFsKTsKIAogICAgIHJl
dHVybiB0cnVlOwogfQpAQCAtMTMzOCw3ICsxMzM4LDcgQEAgdm9pZCBBWE9iamVjdENhY2hlOjpw
b3N0TGl2ZVJlZ2lvbkNoYW5nZU5vdGlmaWNhdGlvbihBY2Nlc3NpYmlsaXR5T2JqZWN0KiBvYmpl
Y3QKICAgICBpZiAoIW1fbGl2ZVJlZ2lvbk9iamVjdHNTZXQuY29udGFpbnMob2JqZWN0KSkKICAg
ICAgICAgbV9saXZlUmVnaW9uT2JqZWN0c1NldC5hZGQob2JqZWN0KTsKIAotICAgIG1fbGl2ZVJl
Z2lvbkNoYW5nZWRQb3N0VGltZXIuc3RhcnRPbmVTaG90KEFjY2Vzc2liaWxpdHlMaXZlUmVnaW9u
Q2hhbmdlZE5vdGlmaWNhdGlvbkludGVydmFsKTsKKyAgICBtX2xpdmVSZWdpb25DaGFuZ2VkUG9z
dFRpbWVyLnN0YXJ0T25lU2hvdChhY2Nlc3NpYmlsaXR5TGl2ZVJlZ2lvbkNoYW5nZWROb3RpZmlj
YXRpb25JbnRlcnZhbCk7CiB9CiAKIHZvaWQgQVhPYmplY3RDYWNoZTo6bGl2ZVJlZ2lvbkNoYW5n
ZWROb3RpZmljYXRpb25Qb3N0VGltZXJGaXJlZCgpCkBAIC0xMzcyLDcgKzEzNzIsNyBAQCB2b2lk
IEFYT2JqZWN0Q2FjaGU6OmZvY3VzQXJpYU1vZGFsTm9kZSgpCiAgICAgaWYgKG1fZm9jdXNBcmlh
TW9kYWxOb2RlVGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgbV9mb2N1c0FyaWFNb2RhbE5vZGVU
aW1lci5zdG9wKCk7CiAgICAgCi0gICAgbV9mb2N1c0FyaWFNb2RhbE5vZGVUaW1lci5zdGFydE9u
ZVNob3QoQWNjZXNzaWJpbGl0eUZvY3VzQXJpYU1vZGFsTm9kZU5vdGlmaWNhdGlvbkludGVydmFs
KTsKKyAgICBtX2ZvY3VzQXJpYU1vZGFsTm9kZVRpbWVyLnN0YXJ0T25lU2hvdChhY2Nlc3NpYmls
aXR5Rm9jdXNBcmlhTW9kYWxOb2RlTm90aWZpY2F0aW9uSW50ZXJ2YWwpOwogfQogCiB2b2lkIEFY
T2JqZWN0Q2FjaGU6OmZvY3VzQXJpYU1vZGFsTm9kZVRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NGb250RmFjZS5jcHAKaW5kZXggMzRiZGJlZWFlYjdkNjMxZTQyOGY5NmJlNDAzZTFiNzM0NmU4
Mjg0OC4uYmY5MjBmOGQ3MTQ0MTNlN2I3ZTZhZWI1YzNjN2ViNTkyZDRkNjMwNiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTRm9udEZhY2UuY3BwCkBAIC01MjcsNyArNTI3LDcgQEAgdm9pZCBDU1NGb250RmFj
ZTo6c2V0U3RhdHVzKFN0YXR1cyBuZXdTdGF0dXMpCiAgICAgfQogCiAgICAgaWYgKG5ld1N0YXR1
cyA9PSBTdGF0dXM6OkxvYWRpbmcpCi0gICAgICAgIG1fdGltZW91dFRpbWVyLnN0YXJ0T25lU2hv
dCh3ZWJGb250c1Nob3VsZEFsd2F5c0ZhbGxCYWNrKCkgPyAwIDogMyk7CisgICAgICAgIG1fdGlt
ZW91dFRpbWVyLnN0YXJ0T25lU2hvdCh3ZWJGb250c1Nob3VsZEFsd2F5c0ZhbGxCYWNrKCkgPyAw
X3MgOiAzX3MpOwogICAgIGVsc2UgaWYgKG5ld1N0YXR1cyA9PSBTdGF0dXM6OlN1Y2Nlc3MgfHwg
bmV3U3RhdHVzID09IFN0YXR1czo6RmFpbHVyZSkKICAgICAgICAgbV90aW1lb3V0VGltZXIuc3Rv
cCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKaW5kZXggYWU3Zjk3NmM2YjY4
YTczMmVlYWE0OWI2MDk5OGNjMTY3Yzc4NjVhMC4uNGFhMTJkN2EzMjI3NTRjNzdkMjI5YThlNTU1
ZWJiYzE0MTJjZjFmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcApAQCAtMTM1
LDYgKzEzNSw3IEBACiAjaW5jbHVkZSAiV2ViS2l0Q1NTUmVnaW9uUnVsZS5oIgogI2luY2x1ZGUg
IldlYktpdEZvbnRGYW1pbHlOYW1lcy5oIgogI2luY2x1ZGUgPGJpdHNldD4KKyNpbmNsdWRlIDx3
dGYvU2Vjb25kcy5oPgogI2luY2x1ZGUgPHd0Zi9TZXRGb3JTY29wZS5oPgogI2luY2x1ZGUgPHd0
Zi9TdGRMaWJFeHRyYXMuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CkBAIC0xMjUxLDggKzEy
NTIsOCBAQCB2b2lkIFN0eWxlUmVzb2x2ZXI6OmFkZFRvTWF0Y2hlZFByb3BlcnRpZXNDYWNoZShj
b25zdCBSZW5kZXJTdHlsZSogc3R5bGUsIGNvbnN0CiAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVk
IG1hdGNoZWREZWNsYXJhdGlvbkNhY2hlQWRkaXRpb25zQmV0d2VlblN3ZWVwcyA9IDEwMDsKICAg
ICBpZiAoKyttX21hdGNoZWRQcm9wZXJ0aWVzQ2FjaGVBZGRpdGlvbnNTaW5jZUxhc3RTd2VlcCA+
PSBtYXRjaGVkRGVjbGFyYXRpb25DYWNoZUFkZGl0aW9uc0JldHdlZW5Td2VlcHMKICAgICAgICAg
JiYgIW1fbWF0Y2hlZFByb3BlcnRpZXNDYWNoZVN3ZWVwVGltZXIuaXNBY3RpdmUoKSkgewotICAg
ICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgbWF0Y2hlZERlY2xhcmF0aW9uQ2FjaGVTd2VlcFRp
bWVJblNlY29uZHMgPSA2MDsKLSAgICAgICAgbV9tYXRjaGVkUHJvcGVydGllc0NhY2hlU3dlZXBU
aW1lci5zdGFydE9uZVNob3QobWF0Y2hlZERlY2xhcmF0aW9uQ2FjaGVTd2VlcFRpbWVJblNlY29u
ZHMpOworICAgICAgICBzdGF0aWMgY29uc3QgU2Vjb25kcyBtYXRjaGVkRGVjbGFyYXRpb25DYWNo
ZVN3ZWVwVGltZSB7IDFfbWluIH07CisgICAgICAgIG1fbWF0Y2hlZFByb3BlcnRpZXNDYWNoZVN3
ZWVwVGltZXIuc3RhcnRPbmVTaG90KG1hdGNoZWREZWNsYXJhdGlvbkNhY2hlU3dlZXBUaW1lKTsK
ICAgICB9CiAKICAgICBBU1NFUlQoaGFzaCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCAw
ZTczOWUzYzY2MmRkZTBlOWVlMGJkMTk1ZmNkZmNiNmM0MjFkYzkxLi4zZTBkODRlODA1NmVhMjM5
ZTRmZWQ2ZDU1YWU4ZDA0YTc2MGY5MzAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20v
RG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTEx
OTksNyArMTE5OSw3IEBAIHZvaWQgRG9jdW1lbnQ6OnNldFZpc3VhbFVwZGF0ZXNBbGxvd2VkKGJv
b2wgdmlzdWFsVXBkYXRlc0FsbG93ZWQpCiAgICAgaWYgKHZpc3VhbFVwZGF0ZXNBbGxvd2VkKQog
ICAgICAgICBtX3Zpc3VhbFVwZGF0ZXNTdXBwcmVzc2lvblRpbWVyLnN0b3AoKTsKICAgICBlbHNl
Ci0gICAgICAgIG1fdmlzdWFsVXBkYXRlc1N1cHByZXNzaW9uVGltZXIuc3RhcnRPbmVTaG90KHNl
dHRpbmdzKCkuaW5jcmVtZW50YWxSZW5kZXJpbmdTdXBwcmVzc2lvblRpbWVvdXRJblNlY29uZHMo
KSk7CisgICAgICAgIG1fdmlzdWFsVXBkYXRlc1N1cHByZXNzaW9uVGltZXIuc3RhcnRPbmVTaG90
KDFfcyAqIHNldHRpbmdzKCkuaW5jcmVtZW50YWxSZW5kZXJpbmdTdXBwcmVzc2lvblRpbWVvdXRJ
blNlY29uZHMoKSk7CiAKICAgICBpZiAoIXZpc3VhbFVwZGF0ZXNBbGxvd2VkKQogICAgICAgICBy
ZXR1cm47CkBAIC01MDA0LDggKzUwMDQsOCBAQCB2b2lkIERvY3VtZW50OjpmaW5pc2hlZFBhcnNp
bmcoKQogICAgIC8vIHNvIHRoYXQgZHluYW1pY2FsbHkgaW5zZXJ0ZWQgY29udGVudCBjYW4gYWxz
byBiZW5lZml0IGZyb20gc2hhcmluZyBvcHRpbWl6YXRpb25zLgogICAgIC8vIE5vdGUgdGhhdCB3
ZSBkb24ndCByZWZyZXNoIHRoZSB0aW1lciBvbiBwb29sIGFjY2VzcyBzaW5jZSB0aGF0IGNvdWxk
IGxlYWQgdG8gaHVnZSBjYWNoZXMgYmVpbmcga2VwdAogICAgIC8vIGFsaXZlIGluZGVmaW5pdGVs
eSBieSBzb21ldGhpbmcgaW5ub2N1b3VzIGxpa2UgSlMgc2V0dGluZyAuaW5uZXJIVE1MIHJlcGVh
dGVkbHkgb24gYSB0aW1lci4KLSAgICBzdGF0aWMgY29uc3QgaW50IHRpbWVUb0tlZXBTaGFyZWRP
YmplY3RQb29sQWxpdmVBZnRlclBhcnNpbmdGaW5pc2hlZEluU2Vjb25kcyA9IDEwOwotICAgIG1f
c2hhcmVkT2JqZWN0UG9vbENsZWFyVGltZXIuc3RhcnRPbmVTaG90KHRpbWVUb0tlZXBTaGFyZWRP
YmplY3RQb29sQWxpdmVBZnRlclBhcnNpbmdGaW5pc2hlZEluU2Vjb25kcyk7CisgICAgc3RhdGlj
IGNvbnN0IFNlY29uZHMgdGltZVRvS2VlcFNoYXJlZE9iamVjdFBvb2xBbGl2ZUFmdGVyUGFyc2lu
Z0ZpbmlzaGVkIHsgMTBfcyB9OworICAgIG1fc2hhcmVkT2JqZWN0UG9vbENsZWFyVGltZXIuc3Rh
cnRPbmVTaG90KHRpbWVUb0tlZXBTaGFyZWRPYmplY3RQb29sQWxpdmVBZnRlclBhcnNpbmdGaW5p
c2hlZCk7CiAKICAgICAvLyBQYXJzZXIgc2hvdWxkIGhhdmUgcGlja2VkIHVwIGFsbCBzcGVjdWxh
dGl2ZSBwcmVsb2FkcyBieSBub3cKICAgICBtX2NhY2hlZFJlc291cmNlTG9hZGVyLT5jbGVhclBy
ZWxvYWRzKENhY2hlZFJlc291cmNlTG9hZGVyOjpDbGVhclByZWxvYWRzTW9kZTo6Q2xlYXJTcGVj
dWxhdGl2ZVByZWxvYWRzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRl
ZEFuaW1hdGlvbkNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdGVkQW5p
bWF0aW9uQ29udHJvbGxlci5jcHAKaW5kZXggOTJlMGRiMzYyMjI1NTUyMjFhMzRmMmRiYzUxMDY0
YWYyZDQ1NjA4Ny4uMWI4NTkxZjZhYzBiMzI2ZmQ1MTliOTk5MTk4OWYzOGEwZTg3MWNiYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlci5j
cHAKQEAgLTQ3LDEwICs0NywxMCBAQAogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgogCiAv
LyBBbGxvdyBhIGxpdHRsZSBtb3JlIHRoYW4gNjBmcHMgdG8gbWFrZSBzdXJlIHdlIGNhbiBhdCBs
ZWFzdCBoaXQgdGhhdCBmcmFtZSByYXRlLgotc3RhdGljIGNvbnN0IFNlY29uZHMgZnVsbFNwZWVk
QW5pbWF0aW9uSW50ZXJ2YWwgeyAwLjAxNSB9Oworc3RhdGljIGNvbnN0IFNlY29uZHMgZnVsbFNw
ZWVkQW5pbWF0aW9uSW50ZXJ2YWwgeyAxNV9tcyB9OwogLy8gQWxsb3cgYSBsaXR0bGUgbW9yZSB0
aGFuIDMwZnBzIHRvIG1ha2Ugc3VyZSB3ZSBjYW4gYXQgbGVhc3QgaGl0IHRoYXQgZnJhbWUgcmF0
ZS4KLXN0YXRpYyBjb25zdCBTZWNvbmRzIGhhbGZTcGVlZFRocm90dGxpbmdBbmltYXRpb25JbnRl
cnZhbCB7IDAuMDMwIH07Ci1zdGF0aWMgY29uc3QgU2Vjb25kcyBhZ2dyZXNzaXZlVGhyb3R0bGlu
Z0FuaW1hdGlvbkludGVydmFsIHsgMTAgfTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIGhhbGZTcGVl
ZFRocm90dGxpbmdBbmltYXRpb25JbnRlcnZhbCB7IDMwX21zIH07CitzdGF0aWMgY29uc3QgU2Vj
b25kcyBhZ2dyZXNzaXZlVGhyb3R0bGluZ0FuaW1hdGlvbkludGVydmFsIHsgMTBfcyB9OwogI2Vu
ZGlmCiAKICNkZWZpbmUgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChmbXQsIC4uLikgUkVMRUFTRV9M
T0dfSUYocGFnZSgpICYmIHBhZ2UoKS0+aXNBbHdheXNPbkxvZ2dpbmdBbGxvd2VkKCksIFBlcmZv
cm1hbmNlTG9nZ2luZywgIiVwIC0gU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyOjoiIGZtdCwg
dGhpcywgIyNfX1ZBX0FSR1NfXykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
QWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0Fs
dGVybmF0aXZlVGV4dENvbnRyb2xsZXIuY3BwCmluZGV4IGUyN2JkMGQ2ZmQyZjNlYzc0ZDAwZWQx
ZjFjNjk2NWM4MWJkZTk3M2YuLjA1YWZhZTRiOTljOTdjOGQyZWY4NGYwMmI2MmJkYjUyZjM3OGNh
ZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvQWx0ZXJuYXRpdmVUZXh0Q29u
dHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9BbHRlcm5hdGl2ZVRleHRD
b250cm9sbGVyLmNwcApAQCAtMTQwLDcgKzE0MCw3IEBAIEFsdGVybmF0aXZlVGV4dENvbnRyb2xs
ZXI6On5BbHRlcm5hdGl2ZVRleHRDb250cm9sbGVyKCkKIAogdm9pZCBBbHRlcm5hdGl2ZVRleHRD
b250cm9sbGVyOjpzdGFydEFsdGVybmF0aXZlVGV4dFVJVGltZXIoQWx0ZXJuYXRpdmVUZXh0VHlw
ZSB0eXBlKQogewotICAgIGNvbnN0IGRvdWJsZSBjb3JyZWN0aW9uUGFuZWxUaW1lckludGVydmFs
ID0gMC4zOworICAgIGNvbnN0IFNlY29uZHMgY29ycmVjdGlvblBhbmVsVGltZXJJbnRlcnZhbCB7
IDMwMF9tcyB9OwogICAgIGlmICghaXNBdXRvbWF0aWNTcGVsbGluZ0NvcnJlY3Rpb25FbmFibGVk
KCkpCiAgICAgICAgIHJldHVybjsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MTWVkaWFFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVu
dC5jcHAKaW5kZXggNGQ2MDQ2ODBmNTM4Y2ZiZGRlNDYyZjkwNGZjYTQ0MDY4MzQ4ZDkzNS4uOWZl
ZDZmNzM2NmJhOGIxMTNmOWRkNjJhMDllYTU5ZmM3YWQxNzdmMyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCkBAIC0xNjgsNyArMTY4LDcgQEAgc3RhdGljIGNvbnN0
IGRvdWJsZSBTZWVrVGltZSA9IDAuMjsKIHN0YXRpYyBjb25zdCBTZWNvbmRzIFNjYW5SZXBlYXRE
ZWxheSB7IDEuNV9zIH07CiBzdGF0aWMgY29uc3QgZG91YmxlIFNjYW5NYXhpbXVtUmF0ZSA9IDg7
CiAKLXN0YXRpYyBjb25zdCBkb3VibGUgSGlkZU1lZGlhQ29udHJvbHNBZnRlckVuZGVkRGVsYXkg
PSA2Oworc3RhdGljIGNvbnN0IFNlY29uZHMgaGlkZU1lZGlhQ29udHJvbHNBZnRlckVuZGVkRGVs
YXkgeyA2X3MgfTsKIAogc3RhdGljIHZvaWQgc2V0RmxhZ3ModW5zaWduZWQmIHZhbHVlLCB1bnNp
Z25lZCBmbGFncykKIHsKQEAgLTQ0OTcsNyArNDQ5Nyw3IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVu
dDo6YWRkQmVoYXZpb3JSZXN0cmljdGlvbnNPbkVuZElmTmVjZXNzYXJ5KCkKIAogICAgIG1fbWVk
aWFTZXNzaW9uLT5hZGRCZWhhdmlvclJlc3RyaWN0aW9uKE1lZGlhRWxlbWVudFNlc3Npb246OlJl
cXVpcmVVc2VyR2VzdHVyZVRvQ29udHJvbENvbnRyb2xzTWFuYWdlcik7CiAgICAgbV9wbGF5YmFj
a0NvbnRyb2xzTWFuYWdlckJlaGF2aW9yUmVzdHJpY3Rpb25zVGltZXIuc3RvcCgpOwotICAgIG1f
cGxheWJhY2tDb250cm9sc01hbmFnZXJCZWhhdmlvclJlc3RyaWN0aW9uc1RpbWVyLnN0YXJ0T25l
U2hvdChIaWRlTWVkaWFDb250cm9sc0FmdGVyRW5kZWREZWxheSk7CisgICAgbV9wbGF5YmFja0Nv
bnRyb2xzTWFuYWdlckJlaGF2aW9yUmVzdHJpY3Rpb25zVGltZXIuc3RhcnRPbmVTaG90KGhpZGVN
ZWRpYUNvbnRyb2xzQWZ0ZXJFbmRlZERlbGF5KTsKIH0KIAogdm9pZCBIVE1MTWVkaWFFbGVtZW50
OjpoYW5kbGVTZWVrVG9QbGF5YmFja1Bvc2l0aW9uKGRvdWJsZSBwb3NpdGlvbikKQEAgLTQ1MDcs
NyArNDUwNyw3IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6aGFuZGxlU2Vla1RvUGxheWJhY2tQ
b3NpdGlvbihkb3VibGUgcG9zaXRpb24pCiAgICAgLy8gUGxlYXNlIHNlZSA8cmRhcjovL3Byb2Js
ZW0vMjg0NTcyMTk+IGZvciBtb3JlIGRldGFpbHMuCiAgICAgc2VlayhNZWRpYVRpbWU6OmNyZWF0
ZVdpdGhEb3VibGUocG9zaXRpb24pKTsKICAgICBtX3NlZWtUb1BsYXliYWNrUG9zaXRpb25FbmRl
ZFRpbWVyLnN0b3AoKTsKLSAgICBtX3NlZWtUb1BsYXliYWNrUG9zaXRpb25FbmRlZFRpbWVyLnN0
YXJ0T25lU2hvdCgwLjUpOworICAgIG1fc2Vla1RvUGxheWJhY2tQb3NpdGlvbkVuZGVkVGltZXIu
c3RhcnRPbmVTaG90KDUwMF9tcyk7CiAKICAgICBpZiAoIW1faXNTY3J1YmJpbmdSZW1vdGVseSkg
ewogICAgICAgICBtX2lzU2NydWJiaW5nUmVtb3RlbHkgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9TZWFyY2hJbnB1dFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9TZWFyY2hJbnB1dFR5cGUuY3BwCmluZGV4IGY1ZDJiYjk1NTMyOTA3MTk4MjY2NmRiNzU4ZWVj
MmJjNzY2ZDUwYTcuLmQ4MjM1OWYxNmQzNzY0NTE3MzY5NmNkNDBmN2JmMDEwM2JkZTgzNTcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvU2VhcmNoSW5wdXRUeXBlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL1NlYXJjaElucHV0VHlwZS5jcHAKQEAgLTE2NSw3ICsxNjUsNyBA
QCB2b2lkIFNlYXJjaElucHV0VHlwZTo6c3RhcnRTZWFyY2hFdmVudFRpbWVyKCkKIAogICAgIC8v
IEFmdGVyIHR5cGluZyB0aGUgZmlyc3Qga2V5LCB3ZSB3YWl0IDAuNSBzZWNvbmRzLgogICAgIC8v
IEFmdGVyIHRoZSBzZWNvbmQga2V5LCAwLjQgc2Vjb25kcywgdGhlbiAwLjMsIHRoZW4gMC4yIGZy
b20gdGhlbiBvbi4KLSAgICBtX3NlYXJjaEV2ZW50VGltZXIuc3RhcnRPbmVTaG90KHN0ZDo6bWF4
KDAuMiwgMC42IC0gMC4xICogbGVuZ3RoKSk7CisgICAgbV9zZWFyY2hFdmVudFRpbWVyLnN0YXJ0
T25lU2hvdChzdGQ6Om1heCgyMDBfbXMsIDYwMF9tcyAtIDEwMF9tcyAqIGxlbmd0aCkpOwogfQog
CiB2b2lkIFNlYXJjaElucHV0VHlwZTo6c3RvcFNlYXJjaEV2ZW50VGltZXIoKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9WYWxpZGF0aW9uTWVzc2FnZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL1ZhbGlkYXRpb25NZXNzYWdlLmNwcAppbmRleCA0NTFmYzU5MTA4NTE0NTczOTRk
YzQ0OTUzZGQ4ODljMTI5NGJlNmQ5Li40NzBlYWVkYzNhNzY2ODZkNWM0MDFhMDUzN2U4MDdmYTM4
ZjUwNWU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1ZhbGlkYXRpb25NZXNzYWdl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1ZhbGlkYXRpb25NZXNzYWdlLmNwcApAQCAt
MTQ0LDcgKzE0NCw3IEBAIHZvaWQgVmFsaWRhdGlvbk1lc3NhZ2U6OnNldE1lc3NhZ2VET01BbmRT
dGFydFRpbWVyKCkKICAgICAgICAgbV90aW1lciA9IG51bGxwdHI7CiAgICAgZWxzZSB7CiAgICAg
ICAgIG1fdGltZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPFRpbWVyPigqdGhpcywgJlZhbGlkYXRpb25N
ZXNzYWdlOjpkZWxldGVCdWJibGVUcmVlKTsKLSAgICAgICAgbV90aW1lci0+c3RhcnRPbmVTaG90
KHN0ZDo6bWF4KDUuMCwgc3RhdGljX2Nhc3Q8ZG91YmxlPihtX21lc3NhZ2UubGVuZ3RoKCkpICog
bWFnbmlmaWNhdGlvbiAvIDEwMDApKTsKKyAgICAgICAgbV90aW1lci0+c3RhcnRPbmVTaG90KHN0
ZDo6bWF4KDVfcywgMV9tcyAqIHN0YXRpY19jYXN0PGRvdWJsZT4obV9tZXNzYWdlLmxlbmd0aCgp
KSAqIG1hZ25pZmljYXRpb24pKTsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuY3BwIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5jcHAKaW5kZXggYjUx
MmZmYzE3NmJkM2E2MTg3ZDFkM2U0ZDRiMGJkNWI0NGVmYzgzZS4uYWJlYzY3MzFkYmM1MTcwNGQ2
NjRjYjA3M2ZiYWE5MzcyMGVhOTgxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5jcHAKQEAgLTEwMCw3ICsxMDAs
NyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNvbnN0IGRvdWJsZSBzZWNvbmRzQmV0d2Vl
blJlc3RvcmVBdHRlbXB0cyA9IDEuMDsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHNlY29uZHNCZXR3
ZWVuUmVzdG9yZUF0dGVtcHRzIHsgMV9zIH07CiBjb25zdCBpbnQgbWF4R0xFcnJvcnNBbGxvd2Vk
VG9Db25zb2xlID0gMjU2Owogc3RhdGljIGNvbnN0IFNlY29uZHMgY2hlY2tDb250ZXh0TG9zc0hh
bmRsaW5nRGVsYXkgeyAzX3MgfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9z
aGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFk
b3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwCmluZGV4IDdiMWRmNDllMmNmNzYzY2JjZWRiODUz
NGQ2ODVmN2UzYTM5ZGZmOTcuLjVmM2IzYzM1N2NlNGJkOTMwOTYyM2Q3OGNlZmE5MDU1MzMxMDY5
MGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbEVs
ZW1lbnRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xF
bGVtZW50cy5jcHAKQEAgLTEzNyw3ICsxMzcsNyBAQCB2b2lkIE1lZGlhQ29udHJvbFBhbmVsRWxl
bWVudDo6c3RhcnRUaW1lcigpCiAgICAgLy8gVGhlIHRpbWVyIGlzIHJlcXVpcmVkIHRvIHNldCB0
aGUgcHJvcGVydHkgZGlzcGxheTonbm9uZScgb24gdGhlIHBhbmVsLAogICAgIC8vIHN1Y2ggdGhh
dCBjYXB0aW9ucyBhcmUgY29ycmVjdGx5IGRpc3BsYXllZCBhdCB0aGUgYm90dG9tIG9mIHRoZSB2
aWRlbwogICAgIC8vIGF0IHRoZSBlbmQgb2YgdGhlIGZhZGVvdXQgdHJhbnNpdGlvbi4KLSAgICBk
b3VibGUgZHVyYXRpb24gPSBkb2N1bWVudCgpLnBhZ2UoKSA/IGRvY3VtZW50KCkucGFnZSgpLT50
aGVtZSgpLm1lZGlhQ29udHJvbHNGYWRlT3V0RHVyYXRpb24oKSA6IDA7CisgICAgU2Vjb25kcyBk
dXJhdGlvbiA9IGRvY3VtZW50KCkucGFnZSgpID8gZG9jdW1lbnQoKS5wYWdlKCktPnRoZW1lKCku
bWVkaWFDb250cm9sc0ZhZGVPdXREdXJhdGlvbigpIDogMF9zOwogICAgIG1fdHJhbnNpdGlvblRp
bWVyLnN0YXJ0T25lU2hvdChkdXJhdGlvbik7CiB9CiAKQEAgLTIwNSwxMCArMjA1LDEwIEBAIHZv
aWQgTWVkaWFDb250cm9sUGFuZWxFbGVtZW50OjptYWtlVHJhbnNwYXJlbnQoKQogICAgIGlmICgh
bV9vcGFxdWUpCiAgICAgICAgIHJldHVybjsKIAotICAgIGRvdWJsZSBkdXJhdGlvbiA9IGRvY3Vt
ZW50KCkucGFnZSgpID8gZG9jdW1lbnQoKS5wYWdlKCktPnRoZW1lKCkubWVkaWFDb250cm9sc0Zh
ZGVPdXREdXJhdGlvbigpIDogMDsKKyAgICBTZWNvbmRzIGR1cmF0aW9uID0gZG9jdW1lbnQoKS5w
YWdlKCkgPyBkb2N1bWVudCgpLnBhZ2UoKS0+dGhlbWUoKS5tZWRpYUNvbnRyb2xzRmFkZU91dER1
cmF0aW9uKCkgOiAwX3M7CiAKICAgICBzZXRJbmxpbmVTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5
VHJhbnNpdGlvblByb3BlcnR5LCBDU1NQcm9wZXJ0eU9wYWNpdHkpOwotICAgIHNldElubGluZVN0
eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlUcmFuc2l0aW9uRHVyYXRpb24sIGR1cmF0aW9uLCBDU1NQ
cmltaXRpdmVWYWx1ZTo6Q1NTX1MpOworICAgIHNldElubGluZVN0eWxlUHJvcGVydHkoQ1NTUHJv
cGVydHlUcmFuc2l0aW9uRHVyYXRpb24sIGR1cmF0aW9uLnZhbHVlKCksIENTU1ByaW1pdGl2ZVZh
bHVlOjpDU1NfUyk7CiAgICAgc2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eU9wYWNp
dHksIDAuMCwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19OVU1CRVIpOwogCiAgICAgbV9vcGFxdWUg
PSBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVlRUUmVnaW9u
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVlRUUmVnaW9uLmNwcAppbmRleCAwNTc4
YmY5MTI2N2NiNTUwYWYwMmRiN2UyMjNkZDQzNmMwN2Q1MWI2Li5jYjRkMDViZWMwYzMzYjliMWNm
YzBkM2JlNDQ1OWYwNWQxMTQ5ZGIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3Ry
YWNrL1ZUVFJlZ2lvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9WVFRSZWdp
b24uY3BwCkBAIC01Niw3ICs1Niw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHN0YXRpYyBjb25z
dCBmbG9hdCBsaW5lSGVpZ2h0ID0gNS4zMzsKIAogLy8gRGVmYXVsdCBzY3JvbGxpbmcgYW5pbWF0
aW9uIHRpbWUgcGVyaW9kIChzKS4KLXN0YXRpYyBjb25zdCBmbG9hdCBzY3JvbGxUaW1lID0gMC40
MzM7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBzY3JvbGxUaW1lIHsgNDMzX21zIH07CiAKIFZUVFJl
Z2lvbjo6VlRUUmVnaW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQpCiAgICAgOiBD
b250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlcigmY29udGV4dCkKQEAgLTQwMyw3ICs0MDMsNyBAQCB2
b2lkIFZUVFJlZ2lvbjo6c3RhcnRUaW1lcigpCiAgICAgaWYgKG1fc2Nyb2xsVGltZXIuaXNBY3Rp
dmUoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgZG91YmxlIGR1cmF0aW9uID0gaXNTY3JvbGxp
bmdSZWdpb24oKSA/IHNjcm9sbFRpbWUgOiAwOworICAgIFNlY29uZHMgZHVyYXRpb24gPSBpc1Nj
cm9sbGluZ1JlZ2lvbigpID8gc2Nyb2xsVGltZSA6IDBfczsKICAgICBtX3Njcm9sbFRpbWVyLnN0
YXJ0T25lU2hvdChkdXJhdGlvbik7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAKaW5kZXggNTFjNGJhYTg1MmU1YWNh
MDJiODM1NTM2M2RmMTU5NzZiOTFlYjZlYi4uYzFiNDY4OGY1NmI4Yzg3YzU1YzFiZmViODBjNmUz
MmI0MDg3MTc3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckluc3RydW1lbnRhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbi5jcHAKQEAgLTgwMyw3ICs4MDMsNyBAQCB2b2lkIEluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbjo6ZnJhbWVTdG9wcGVkTG9hZGluZ0ltcGwoSW5zdHJ1bWVudGluZ0Fn
ZW50cyYgaW5zdAogICAgICAgICBpbnNwZWN0b3JQYWdlQWdlbnQtPmZyYW1lU3RvcHBlZExvYWRp
bmcoZnJhbWUpOwogfQogCi12b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZnJhbWVTY2hl
ZHVsZWROYXZpZ2F0aW9uSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzJiBpbnN0cnVtZW50aW5nQWdl
bnRzLCBGcmFtZSYgZnJhbWUsIGRvdWJsZSBkZWxheSkKK3ZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uOjpmcmFtZVNjaGVkdWxlZE5hdmlnYXRpb25JbXBsKEluc3RydW1lbnRpbmdBZ2VudHMm
IGluc3RydW1lbnRpbmdBZ2VudHMsIEZyYW1lJiBmcmFtZSwgU2Vjb25kcyBkZWxheSkKIHsKICAg
ICBpZiAoSW5zcGVjdG9yUGFnZUFnZW50KiBpbnNwZWN0b3JQYWdlQWdlbnQgPSBpbnN0cnVtZW50
aW5nQWdlbnRzLmluc3BlY3RvclBhZ2VBZ2VudCgpKQogICAgICAgICBpbnNwZWN0b3JQYWdlQWdl
bnQtPmZyYW1lU2NoZWR1bGVkTmF2aWdhdGlvbihmcmFtZSwgZGVsYXkpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCmluZGV4IDQ1
ODk3NTIxMjBhMzk0MmM4MGZlMjk1N2FlNmU2MzIzNmNmODMxNDcuLjljMjExMjY2NzczOGVhZmE2
OWE2ZmY0N2M3ZDk1ZDZjZjA1ZTRmYmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKQEAgLTE3OSw3ICsxNzksNyBAQCBwdWJs
aWM6CiAgICAgc3RhdGljIHZvaWQgbG9hZGVyRGV0YWNoZWRGcm9tRnJhbWUoRnJhbWUmLCBEb2N1
bWVudExvYWRlciYpOwogICAgIHN0YXRpYyB2b2lkIGZyYW1lU3RhcnRlZExvYWRpbmcoRnJhbWUm
KTsKICAgICBzdGF0aWMgdm9pZCBmcmFtZVN0b3BwZWRMb2FkaW5nKEZyYW1lJik7Ci0gICAgc3Rh
dGljIHZvaWQgZnJhbWVTY2hlZHVsZWROYXZpZ2F0aW9uKEZyYW1lJiwgZG91YmxlIGRlbGF5KTsK
KyAgICBzdGF0aWMgdm9pZCBmcmFtZVNjaGVkdWxlZE5hdmlnYXRpb24oRnJhbWUmLCBTZWNvbmRz
IGRlbGF5KTsKICAgICBzdGF0aWMgdm9pZCBmcmFtZUNsZWFyZWRTY2hlZHVsZWROYXZpZ2F0aW9u
KEZyYW1lJik7CiAgICAgc3RhdGljIHZvaWQgd2lsbERlc3Ryb3lDYWNoZWRSZXNvdXJjZShDYWNo
ZWRSZXNvdXJjZSYpOwogCkBAIC0zNDksNyArMzQ5LDcgQEAgcHJpdmF0ZToKICAgICBzdGF0aWMg
dm9pZCBsb2FkZXJEZXRhY2hlZEZyb21GcmFtZUltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyYsIERv
Y3VtZW50TG9hZGVyJik7CiAgICAgc3RhdGljIHZvaWQgZnJhbWVTdGFydGVkTG9hZGluZ0ltcGwo
SW5zdHJ1bWVudGluZ0FnZW50cyYsIEZyYW1lJik7CiAgICAgc3RhdGljIHZvaWQgZnJhbWVTdG9w
cGVkTG9hZGluZ0ltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyYsIEZyYW1lJik7Ci0gICAgc3RhdGlj
IHZvaWQgZnJhbWVTY2hlZHVsZWROYXZpZ2F0aW9uSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzJiwg
RnJhbWUmLCBkb3VibGUgZGVsYXkpOworICAgIHN0YXRpYyB2b2lkIGZyYW1lU2NoZWR1bGVkTmF2
aWdhdGlvbkltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyYsIEZyYW1lJiwgU2Vjb25kcyBkZWxheSk7
CiAgICAgc3RhdGljIHZvaWQgZnJhbWVDbGVhcmVkU2NoZWR1bGVkTmF2aWdhdGlvbkltcGwoSW5z
dHJ1bWVudGluZ0FnZW50cyYsIEZyYW1lJik7CiAgICAgc3RhdGljIHZvaWQgd2lsbERlc3Ryb3lD
YWNoZWRSZXNvdXJjZUltcGwoQ2FjaGVkUmVzb3VyY2UmKTsKIApAQCAtOTgyLDcgKzk4Miw3IEBA
IGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZnJhbWVTdG9wcGVkTG9hZGlu
ZyhGcmFtZSYgZnJhbWUpCiAgICAgICAgIGZyYW1lU3RvcHBlZExvYWRpbmdJbXBsKCppbnN0cnVt
ZW50aW5nQWdlbnRzLCBmcmFtZSk7CiB9CiAKLWlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1l
bnRhdGlvbjo6ZnJhbWVTY2hlZHVsZWROYXZpZ2F0aW9uKEZyYW1lJiBmcmFtZSwgZG91YmxlIGRl
bGF5KQoraW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpmcmFtZVNjaGVkdWxl
ZE5hdmlnYXRpb24oRnJhbWUmIGZyYW1lLCBTZWNvbmRzIGRlbGF5KQogewogICAgIGlmIChJbnN0
cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50
c0ZvckZyYW1lKGZyYW1lKSkKICAgICAgICAgZnJhbWVTY2hlZHVsZWROYXZpZ2F0aW9uSW1wbCgq
aW5zdHJ1bWVudGluZ0FnZW50cywgZnJhbWUsIGRlbGF5KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvclBhZ2VBZ2VudC5jcHAKaW5kZXggMzJmZDQ3ZTk3MDhjOTBmZjBk
MzlkNzg3NGQ0NThlMzRiYjMzNGI0Yi4uNmFhNmEwODQ0ZWVlZTg5ZGNmZWQwMzlmZWFmMjJjZTg1
ZGRjMDkwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclBh
Z2VBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclBhZ2VB
Z2VudC5jcHAKQEAgLTgwNiw5ICs4MDYsOSBAQCB2b2lkIEluc3BlY3RvclBhZ2VBZ2VudDo6ZnJh
bWVTdG9wcGVkTG9hZGluZyhGcmFtZSYgZnJhbWUpCiAgICAgbV9mcm9udGVuZERpc3BhdGNoZXIt
PmZyYW1lU3RvcHBlZExvYWRpbmcoZnJhbWVJZCgmZnJhbWUpKTsKIH0KIAotdm9pZCBJbnNwZWN0
b3JQYWdlQWdlbnQ6OmZyYW1lU2NoZWR1bGVkTmF2aWdhdGlvbihGcmFtZSYgZnJhbWUsIGRvdWJs
ZSBkZWxheSkKK3ZvaWQgSW5zcGVjdG9yUGFnZUFnZW50OjpmcmFtZVNjaGVkdWxlZE5hdmlnYXRp
b24oRnJhbWUmIGZyYW1lLCBTZWNvbmRzIGRlbGF5KQogewotICAgIG1fZnJvbnRlbmREaXNwYXRj
aGVyLT5mcmFtZVNjaGVkdWxlZE5hdmlnYXRpb24oZnJhbWVJZCgmZnJhbWUpLCBkZWxheSk7Cisg
ICAgbV9mcm9udGVuZERpc3BhdGNoZXItPmZyYW1lU2NoZWR1bGVkTmF2aWdhdGlvbihmcmFtZUlk
KCZmcmFtZSksIGRlbGF5LnZhbHVlKCkpOwogfQogCiB2b2lkIEluc3BlY3RvclBhZ2VBZ2VudDo6
ZnJhbWVDbGVhcmVkU2NoZWR1bGVkTmF2aWdhdGlvbihGcmFtZSYgZnJhbWUpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmggYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmgKaW5kZXggN2U5MjhhZTBjMjU2
MTVjZTJhYjFkYjczNzhhMDljMmU4Mzg4OWU0NC4uMjg4MzE4MTcxMWE0NmU2MzA2NmQ1OTBjZTM0
ZDhkMTQwOTE1Yzc0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvclBhZ2VBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQ
YWdlQWdlbnQuaApAQCAtMTE4LDcgKzExOCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGxvYWRlckRl
dGFjaGVkRnJvbUZyYW1lKERvY3VtZW50TG9hZGVyJik7CiAgICAgdm9pZCBmcmFtZVN0YXJ0ZWRM
b2FkaW5nKEZyYW1lJik7CiAgICAgdm9pZCBmcmFtZVN0b3BwZWRMb2FkaW5nKEZyYW1lJik7Ci0g
ICAgdm9pZCBmcmFtZVNjaGVkdWxlZE5hdmlnYXRpb24oRnJhbWUmLCBkb3VibGUgZGVsYXkpOwor
ICAgIHZvaWQgZnJhbWVTY2hlZHVsZWROYXZpZ2F0aW9uKEZyYW1lJiwgU2Vjb25kcyBkZWxheSk7
CiAgICAgdm9pZCBmcmFtZUNsZWFyZWRTY2hlZHVsZWROYXZpZ2F0aW9uKEZyYW1lJik7CiAgICAg
dm9pZCBhcHBseUVtdWxhdGVkTWVkaWEoU3RyaW5nJik7CiAgICAgdm9pZCBkaWRQYWludChSZW5k
ZXJPYmplY3QmLCBjb25zdCBMYXlvdXRSZWN0Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
TmF2aWdhdGlvblNjaGVkdWxlci5jcHAKaW5kZXggYTM5MTg1MTVhZDdlZjhlNzVkNjAwODY1MTk3
M2I2NWVlM2FjNjQxNS4uZTZjMzkyZTAzMTNjNThkMmU1ZDA3NGVhZjE3MTQyNWE0YjYyZGFjZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNwcApAQCAt
NTQxLDcgKzU0MSw3IEBAIHZvaWQgTmF2aWdhdGlvblNjaGVkdWxlcjo6c3RhcnRUaW1lcigpCiAg
ICAgaWYgKCFtX3JlZGlyZWN0LT5zaG91bGRTdGFydFRpbWVyKG1fZnJhbWUpKQogICAgICAgICBy
ZXR1cm47CiAKLSAgICBkb3VibGUgZGVsYXkgPSBtX3JlZGlyZWN0LT5kZWxheSgpOworICAgIFNl
Y29uZHMgZGVsYXkgPSAxX3MgKiBtX3JlZGlyZWN0LT5kZWxheSgpOwogICAgIG1fdGltZXIuc3Rh
cnRPbmVTaG90KGRlbGF5KTsKICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmZyYW1lU2No
ZWR1bGVkTmF2aWdhdGlvbihtX2ZyYW1lLCBkZWxheSk7CiAgICAgbV9yZWRpcmVjdC0+ZGlkU3Rh
cnRUaW1lcihtX2ZyYW1lLCBtX3RpbWVyKTsgLy8gbV9yZWRpcmVjdCBtYXkgYmUgbnVsbCBvbiBy
ZXR1cm4gKGUuZy4gdGhlIGNsaWVudCBjYW5jZWxlZCB0aGUgbG9hZCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IDcx
ODE5OTIwNTQ1NDA1M2Q3M2U1N2UwZWE3ZTA0YzVhZGFmMzFlNTkuLmU4OTA2NWIzYTgwZGRlNzNk
ZjlhNDM3MWY0NmMzY2VhOTZlYjAzNDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcApAQCAtODQsNyArODQsNyBAQAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiAvLyBUaW1lb3V0IGZvciBsaW5rIHByZWxvYWRzIHRvIGJlIHVz
ZWQgYWZ0ZXIgd2luZG93Lm9ubG9hZAotc3RhdGljIGNvbnN0IGludCB1bnVzZWRQcmVsb2FkVGlt
ZW91dEluU2Vjb25kcyA9IDM7CitzdGF0aWMgY29uc3QgU2Vjb25kcyB1bnVzZWRQcmVsb2FkVGlt
ZW91dCB7IDNfcyB9OwogCiBzdGF0aWMgQ2FjaGVkUmVzb3VyY2UqIGNyZWF0ZVJlc291cmNlKENh
Y2hlZFJlc291cmNlOjpUeXBlIHR5cGUsIENhY2hlZFJlc291cmNlUmVxdWVzdCYmIHJlcXVlc3Qs
IFNlc3Npb25JRCBzZXNzaW9uSUQpCiB7CkBAIC04MjgsNyArODI4LDcgQEAgdm9pZCBDYWNoZWRS
ZXNvdXJjZUxvYWRlcjo6ZG9jdW1lbnREaWRGaW5pc2hMb2FkRXZlbnQoKQogICAgIC8vIElmIG1f
cHJlbG9hZHMgaXMgbm90IGVtcHR5IGhlcmUsIGl0J3MgZnVsbCBvZiBsaW5rIHByZWxvYWRzLAog
ICAgIC8vIGFzIHNwZWN1bGF0aXZlIHByZWxvYWRzIHdlcmUgY2xlYXJlZCBhdCBEQ0wuCiAgICAg
aWYgKG1fcHJlbG9hZHMgJiYgbV9wcmVsb2Fkcy0+c2l6ZSgpICYmICFtX3VudXNlZFByZWxvYWRz
VGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV91bnVzZWRQcmVsb2Fkc1RpbWVyLnN0YXJ0T25l
U2hvdCh1bnVzZWRQcmVsb2FkVGltZW91dEluU2Vjb25kcyk7CisgICAgICAgIG1fdW51c2VkUHJl
bG9hZHNUaW1lci5zdGFydE9uZVNob3QodW51c2VkUHJlbG9hZFRpbWVvdXQpOwogfQogCiB2b2lk
IENhY2hlZFJlc291cmNlTG9hZGVyOjpzdG9wVW51c2VkUHJlbG9hZHNUaW1lcigpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJhc2UuY3BwIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmNwcAppbmRleCA0Y2RjZmFhZDZlODMy
YTM5YTVjMzUyNjU4MDU4NTA4NmIzZDlmNzJmLi44ZGU5NGNlNWRjYTc2NzExNjM2MjAyZTZkMzFm
NzUzMGQ4YTI5MmQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29u
RGF0YWJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFz
ZS5jcHAKQEAgLTY3LDcgKzY3LDcgQEAgc3RhdGljIGNvbnN0IGludCBjdXJyZW50RGF0YWJhc2VW
ZXJzaW9uID0gNjsKIC8vIEljb25zIGV4cGlyZSBvbmNlIGV2ZXJ5IDQgZGF5cwogc3RhdGljIGNv
bnN0IGludCBpY29uRXhwaXJhdGlvblRpbWUgPSA2MCo2MCoyNCo0OyAKIAotc3RhdGljIGNvbnN0
IGludCB1cGRhdGVUaW1lckRlbGF5ID0gNTsgCitzdGF0aWMgY29uc3QgU2Vjb25kcyB1cGRhdGVU
aW1lckRlbGF5IHsgNV9zIH07CiAKIHN0YXRpYyBib29sIGNoZWNrSW50ZWdyaXR5T25PcGVuID0g
ZmFsc2U7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAppbmRleCBkY2E4MjMwNDYz
MGMzMjA4NTVjZGFmZTIxM2JlYTAzMjhmYzY0Y2YzLi44NDVmM2FlYmVmNTQ3ZTY3OGYxZDBjNzlk
OWU1OTNmYTBiYzVkN2ZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFu
ZGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCkBAIC0x
NTcsMTQgKzE1NywxNCBAQCB1c2luZyBuYW1lc3BhY2UgU1ZHTmFtZXM7CiAvLyBkdXJpbmcgYSBz
Y3JvbGwuIFRoZSBzaG9ydCBpbnRlcnZhbCBpcyB1c2VkIGlmIHRoZSBjb250ZW50IHJlc3BvbmRz
IHRvIHRoZSBtb3VzZSBldmVudHMKIC8vIGluIGZha2VNb3VzZU1vdmVEdXJhdGlvblRocmVzaG9s
ZCBvciBsZXNzLCBvdGhlcndpc2UgdGhlIGxvbmcgaW50ZXJ2YWwgaXMgdXNlZC4KIGNvbnN0IGRv
dWJsZSBmYWtlTW91c2VNb3ZlRHVyYXRpb25UaHJlc2hvbGQgPSAwLjAxOwotY29uc3QgZG91Ymxl
IGZha2VNb3VzZU1vdmVTaG9ydEludGVydmFsID0gMC4xOwotY29uc3QgZG91YmxlIGZha2VNb3Vz
ZU1vdmVMb25nSW50ZXJ2YWwgPSAwLjI1OworY29uc3QgU2Vjb25kcyBmYWtlTW91c2VNb3ZlU2hv
cnRJbnRlcnZhbCA9IHsgMTAwX21zIH07Citjb25zdCBTZWNvbmRzIGZha2VNb3VzZU1vdmVMb25n
SW50ZXJ2YWwgPSB7IDI1MF9tcyB9OwogI2VuZGlmCiAKICNpZiBFTkFCTEUoQ1VSU09SX1NVUFBP
UlQpCiAvLyBUaGUgYW1vdW50IG9mIHRpbWUgdG8gd2FpdCBmb3IgYSBjdXJzb3IgdXBkYXRlIG9u
IHN0eWxlIGFuZCBsYXlvdXQgY2hhbmdlcwogLy8gU2V0IHRvIDUwSHosIG5vIG5lZWQgdG8gYmUg
ZmFzdGVyIHRoYW4gY29tbW9uIHNjcmVlbiByZWZyZXNoIHJhdGUKLWNvbnN0IGRvdWJsZSBjdXJz
b3JVcGRhdGVJbnRlcnZhbCA9IDAuMDI7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBjdXJzb3JVcGRh
dGVJbnRlcnZhbCB7IDIwX21zIH07CiAKIGNvbnN0IGludCBtYXhpbXVtQ3Vyc29yU2l6ZSA9IDEy
ODsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmNwcAppbmRleCBiMWRlZDNmOGY3
YzFkYTEyYjkzN2UzNWJjZWZkNDQ4MTk4NWY2MTNjLi4zNzk0MzA5ZGVkMjQ1YzVmMjdmNzdiYWNi
ZGY5OGVjMWIzN2YzZTdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291
cmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmNwcApAQCAtMTM4
LDcgKzEzOCw3IEBAIHZvaWQgRXZlbnRTb3VyY2U6OnNjaGVkdWxlSW5pdGlhbENvbm5lY3QoKQog
dm9pZCBFdmVudFNvdXJjZTo6c2NoZWR1bGVSZWNvbm5lY3QoKQogewogICAgIG1fc3RhdGUgPSBD
T05ORUNUSU5HOwotICAgIG1fY29ubmVjdFRpbWVyLnN0YXJ0T25lU2hvdChtX3JlY29ubmVjdERl
bGF5IC8gMTAwMC4wKTsKKyAgICBtX2Nvbm5lY3RUaW1lci5zdGFydE9uZVNob3QoMV9tcyAqIG1f
cmVjb25uZWN0RGVsYXkpOwogICAgIGRpc3BhdGNoRXZlbnQoRXZlbnQ6OmNyZWF0ZShldmVudE5h
bWVzKCkuZXJyb3JFdmVudCwgZmFsc2UsIGZhbHNlKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRm9jdXNDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
Rm9jdXNDb250cm9sbGVyLmNwcAppbmRleCBhMWI4OGVlYjgxMmRiYTgwZjcxZTMwNDk1Yzc3NDU4
MDg1YzYzMmQ3Li44ZjBhMjc3YjMzNTZiZDE3MjAxNDdkMzczMTY2MGYyNjdiYzVkYzIwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZvY3VzQ29udHJvbGxlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9Gb2N1c0NvbnRyb2xsZXIuY3BwCkBAIC0xMDg5LDcgKzEwODksNyBA
QCBib29sIEZvY3VzQ29udHJvbGxlcjo6YWR2YW5jZUZvY3VzRGlyZWN0aW9uYWxseShGb2N1c0Rp
cmVjdGlvbiBkaXJlY3Rpb24sIEtleWJvYQogCiB2b2lkIEZvY3VzQ29udHJvbGxlcjo6c2V0Rm9j
dXNlZEVsZW1lbnROZWVkc1JlcGFpbnQoKQogewotICAgIG1fZm9jdXNSZXBhaW50VGltZXIuc3Rh
cnRPbmVTaG90KDAuMDMzKTsKKyAgICBtX2ZvY3VzUmVwYWludFRpbWVyLnN0YXJ0T25lU2hvdCgz
M19tcyk7CiB9CiAKIHZvaWQgRm9jdXNDb250cm9sbGVyOjpmb2N1c1JlcGFpbnRUaW1lckZpcmVk
KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAppbmRleCBmYWMxZTJmYjNjZDljMWFlNWIzNjI0
NDhkYWIzZDJhODFhMDBlNmNmLi5jM2ZjYzkzMTExZTJiNzVhNDM3MGQ4NTJjMDUwNzAwOWVkMzYz
NTE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCkBAIC0yNTE1LDcgKzI1MTUsNyBAQCB2
b2lkIEZyYW1lVmlldzo6c2Nyb2xsUG9zaXRpb25DaGFuZ2VkKGNvbnN0IFNjcm9sbFBvc2l0aW9u
JiBvbGRQb3NpdGlvbiwgY29uc3QgUwogICAgICAgICBtX2RlbGF5ZWRTY3JvbGxFdmVudFRpbWVy
LnN0b3AoKTsKICAgICAgICAgc2VuZFNjcm9sbEV2ZW50KCk7CiAgICAgfSBlbHNlIGlmICghbV9k
ZWxheWVkU2Nyb2xsRXZlbnRUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX2RlbGF5ZWRTY3Jv
bGxFdmVudFRpbWVyLnN0YXJ0T25lU2hvdCh0aHJvdHRsaW5nRGVsYXkudmFsdWUoKSk7CisgICAg
ICAgIG1fZGVsYXllZFNjcm9sbEV2ZW50VGltZXIuc3RhcnRPbmVTaG90KHRocm90dGxpbmdEZWxh
eSk7CiAKICAgICBpZiAoRG9jdW1lbnQqIGRvY3VtZW50ID0gZnJhbWUoKS5kb2N1bWVudCgpKQog
ICAgICAgICBkb2N1bWVudC0+c2VuZFdpbGxSZXZlYWxFZGdlRXZlbnRzSWZOZWVkZWQob2xkUG9z
aXRpb24sIG5ld1Bvc2l0aW9uLCB2aXNpYmxlQ29udGVudFJlY3QoKSwgY29udGVudHNTaXplKCkp
OwpAQCAtMjkzNCw3ICsyOTM0LDcgQEAgdm9pZCBGcmFtZVZpZXc6OmVuYWJsZVNwZWN1bGF0aXZl
VGlsaW5nSWZOZWVkZWQoKQogICAgIGlmIChtX3NwZWN1bGF0aXZlVGlsaW5nRW5hYmxlVGltZXIu
aXNBY3RpdmUoKSkKICAgICAgICAgcmV0dXJuOwogICAgIC8vIERlbGF5IGVuYWJsaW5nIGEgYml0
IGFzIGxvYWQgY29tcGxldGlvbiBtYXkgdHJpZ2dlciBmdXJ0aGVyIGxvYWRpbmcgZnJvbSBzY3Jp
cHRzLgotICAgIHN0YXRpYyBjb25zdCBkb3VibGUgc3BlY3VsYXRpdmVUaWxpbmdFbmFibGVEZWxh
eSA9IDAuNTsKKyAgICBzdGF0aWMgY29uc3QgU2Vjb25kcyBzcGVjdWxhdGl2ZVRpbGluZ0VuYWJs
ZURlbGF5IHsgNTAwX21zIH07CiAgICAgbV9zcGVjdWxhdGl2ZVRpbGluZ0VuYWJsZVRpbWVyLnN0
YXJ0T25lU2hvdChzcGVjdWxhdGl2ZVRpbGluZ0VuYWJsZURlbGF5KTsKIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1NldHRpbmdzLmNwcAppbmRleCBlN2NjOTBhZmMyMDNkN2MzYTk5ZTQ1YTI3NDZhNmQ4NjMwNmEx
ZGQ3Li40NTA3MGVkMDk0NGVjYTFiZmM3Y2NhY2E0YTAxNDhhOWI4ZGU3YWExIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1NldHRpbmdzLmNwcApAQCAtMjEyLDcgKzIxMiw3IEBAIFNldHRpbmdzOjpTZXR0aW5ncyhQ
YWdlKiBwYWdlKQogICAgICwgbV90b3VjaEV2ZW50RW11bGF0aW9uRW5hYmxlZChmYWxzZSkKICNl
bmRpZgogICAgICwgbV9zY3JvbGxpbmdQZXJmb3JtYW5jZUxvZ2dpbmdFbmFibGVkKGZhbHNlKQot
ICAgICwgbV90aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scygzKQor
ICAgICwgbV90aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scygzX3Mp
CiAgICAgLCBtX3NldEltYWdlTG9hZGluZ1NldHRpbmdzVGltZXIoKnRoaXMsICZTZXR0aW5nczo6
aW1hZ2VMb2FkaW5nU2V0dGluZ3NUaW1lckZpcmVkKQogICAgICwgbV9oaWRkZW5QYWdlRE9NVGlt
ZXJUaHJvdHRsaW5nRW5hYmxlZChmYWxzZSkKICAgICAsIG1faGlkZGVuUGFnZUNTU0FuaW1hdGlv
blN1c3BlbnNpb25FbmFibGVkKGZhbHNlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9TZXR0aW5ncy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCmluZGV4IDlmMzcw
NzU1YjBiODJiZmU4MTkyODBhNTk4MTQwZGEzOWY1ODIzOGQuLmQxOTZkYzJjOTY3M2Y1N2RiMGRl
ZDllMzYwNTE5ZDE2OGFhYjlhZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0
dGluZ3MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKQEAgLTI1Niw4ICsy
NTYsOCBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHZvaWQgc2V0U2hvdWxk
UmVzcGVjdFByaW9yaXR5SW5DU1NBdHRyaWJ1dGVTZXR0ZXJzKGJvb2wpOwogICAgIHN0YXRpYyBi
b29sIHNob3VsZFJlc3BlY3RQcmlvcml0eUluQ1NTQXR0cmlidXRlU2V0dGVycygpOwogCi0gICAg
dm9pZCBzZXRUaW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scyhkb3Vi
bGUgdGltZSkgeyBtX3RpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xz
ID0gdGltZTsgfQotICAgIGRvdWJsZSB0aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRp
bmdDb250cm9scygpIGNvbnN0IHsgcmV0dXJuIG1fdGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVm
b3JlSGlkaW5nQ29udHJvbHM7IH0KKyAgICB2b2lkIHNldFRpbWVXaXRob3V0TW91c2VNb3ZlbWVu
dEJlZm9yZUhpZGluZ0NvbnRyb2xzKFNlY29uZHMgdGltZSkgeyBtX3RpbWVXaXRob3V0TW91c2VN
b3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzID0gdGltZTsgfQorICAgIFNlY29uZHMgdGltZVdp
dGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMoKSBjb25zdCB7IHJldHVybiBt
X3RpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzOyB9CiAKICAgICBi
b29sIGhpZGRlblBhZ2VDU1NBbmltYXRpb25TdXNwZW5zaW9uRW5hYmxlZCgpIGNvbnN0IHsgcmV0
dXJuIG1faGlkZGVuUGFnZUNTU0FuaW1hdGlvblN1c3BlbnNpb25FbmFibGVkOyB9CiAgICAgV0VC
Q09SRV9FWFBPUlQgdm9pZCBzZXRIaWRkZW5QYWdlQ1NTQW5pbWF0aW9uU3VzcGVuc2lvbkVuYWJs
ZWQoYm9vbCk7CkBAIC0zNjEsNyArMzYxLDcgQEAgcHJpdmF0ZToKICNlbmRpZgogICAgIGJvb2wg
bV9zY3JvbGxpbmdQZXJmb3JtYW5jZUxvZ2dpbmdFbmFibGVkIDogMTsKIAotICAgIGRvdWJsZSBt
X3RpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzOworICAgIFNlY29u
ZHMgbV90aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9sczsKIAogICAg
IFRpbWVyIG1fc2V0SW1hZ2VMb2FkaW5nU2V0dGluZ3NUaW1lcjsKICAgICB2b2lkIGltYWdlTG9h
ZGluZ1NldHRpbmdzVGltZXJGaXJlZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9TdXNwZW5kYWJsZVRpbWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1N1c3BlbmRhYmxlVGlt
ZXIuaAppbmRleCAzMTI5MjA4ZmU1NWRjYTBkMDk4NTVjOWUyM2UxZWI3NzEzMTQzNGZjLi41NTg0
NDM0MDc4MzQ2ZmI5YjU3YTZlYTU5YWZjZTI3YTYyNDBiNTVhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1N1c3BlbmRhYmxlVGltZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1N1c3BlbmRhYmxlVGltZXIuaApAQCAtNDUsOCArNDUsNiBAQCBwdWJsaWM6CiAgICAgYm9vbCBp
c0FjdGl2ZSgpIGNvbnN0IHsgcmV0dXJuIFRpbWVyQmFzZTo6aXNBY3RpdmUoKSB8fCAobV9zdXNw
ZW5kZWQgJiYgbV9zYXZlZElzQWN0aXZlKTsgfQogICAgIGJvb2wgaXNTdXNwZW5kZWQoKSBjb25z
dCB7IHJldHVybiBtX3N1c3BlbmRlZDsgfQogCi0gICAgdm9pZCBzdGFydE9uZVNob3QoZG91Ymxl
IGludGVydmFsKSB7IHN0YXJ0T25lU2hvdChTZWNvbmRzIHsgaW50ZXJ2YWwgfSk7IH0KLQogICAg
IFNlY29uZHMgcmVwZWF0SW50ZXJ2YWwoKSBjb25zdDsKIAogICAgIHZvaWQgc3RhcnRSZXBlYXRp
bmcoU2Vjb25kcyByZXBlYXRJbnRlcnZhbCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL2FuaW1hdGlvbi9DU1NBbmltYXRpb25Db250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvYW5pbWF0aW9uL0NTU0FuaW1hdGlvbkNvbnRyb2xsZXIuY3BwCmluZGV4IGRjZDdlNDBh
ZDFlOWFmZGE5ZDVhZmNkMTA4NjFkZDRmZTVmNTA2YzMuLjAwYzczZTE2YmMzMWFhNzU4YzkzODRk
NTRkNDcwOGMyODJhODE0NjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0
aW9uL0NTU0FuaW1hdGlvbkNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
YW5pbWF0aW9uL0NTU0FuaW1hdGlvbkNvbnRyb2xsZXIuY3BwCkBAIC00OSw5ICs0OSw5IEBACiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIC8vIEFsbG93IGEgbGl0dGxlIG1vcmUgdGhhbiA2MGZwcyB0
byBtYWtlIHN1cmUgd2UgY2FuIGF0IGxlYXN0IGhpdCB0aGF0IGZyYW1lIHJhdGUuCi1zdGF0aWMg
Y29uc3QgU2Vjb25kcyBhbmltYXRpb25UaW1lckRlbGF5IHsgMC4wMTUgfTsKK3N0YXRpYyBjb25z
dCBTZWNvbmRzIGFuaW1hdGlvblRpbWVyRGVsYXkgeyAxNV9tcyB9OwogLy8gQWxsb3cgYSBsaXR0
bGUgbW9yZSB0aGFuIDMwZnBzIHRvIG1ha2Ugc3VyZSB3ZSBjYW4gYXQgbGVhc3QgaGl0IHRoYXQg
ZnJhbWUgcmF0ZS4KLXN0YXRpYyBjb25zdCBTZWNvbmRzIGFuaW1hdGlvblRpbWVyVGhyb3R0bGVk
RGVsYXkgeyAwLjAzMCB9Oworc3RhdGljIGNvbnN0IFNlY29uZHMgYW5pbWF0aW9uVGltZXJUaHJv
dHRsZWREZWxheSB7IDMwX21zIH07CiAKIGNsYXNzIEFuaW1hdGlvblByaXZhdGVVcGRhdGVCbG9j
ayB7CiBwdWJsaWM6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9FdmVudEhh
bmRsZXJNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9FdmVudEhhbmRsZXJNYWMubW0K
aW5kZXggZjUxZTBhOGE0MmUwZDY4NTZlMzYzMjc2ODUzODcyZTFjN2IzMzdkOC4uZjcxZTRmZGMx
NTljMzVhNjEwZjQ1ZmI2MTViMGY0ZTE0OGRiYTg2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
bWFjL0V2ZW50SGFuZGxlck1hYy5tbQpAQCAtNzQsNyArNzQsNyBAQAogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLWNvbnN0IGRvdWJsZSByZXNldExhdGNoZWRTdGF0ZVRpbWVvdXQgPSAwLjE7Citz
dGF0aWMgY29uc3QgU2Vjb25kcyByZXNldExhdGNoZWRTdGF0ZVRpbWVvdXQgeyAxMDBfbXMgfTsK
IAogc3RhdGljIFJldGFpblB0cjxOU0V2ZW50PiYgY3VycmVudE5TRXZlbnRTbG90KCkKIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL1RleHRJbmRpY2F0b3JXaW5kb3cubW0g
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9UZXh0SW5kaWNhdG9yV2luZG93Lm1tCmluZGV4IGU1
OTI5YmE2M2RlNTlmNDk4M2JkOGNmOWMzMDA2NGU2NzE3NzNjYmMuLmZjMzZkY2IxM2NlZDdlNWFj
MmNmMDE3NzNhY2U3OTMyMTQ2NjBkZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
bWFjL1RleHRJbmRpY2F0b3JXaW5kb3cubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMv
VGV4dEluZGljYXRvcldpbmRvdy5tbQpAQCAtNDc2LDcgKzQ3Niw3IEBAIHZvaWQgVGV4dEluZGlj
YXRvcldpbmRvdzo6c2V0VGV4dEluZGljYXRvcihSZWY8VGV4dEluZGljYXRvcj4gdGV4dEluZGlj
YXRvciwgQ0dSCiAgICAgICAgIFttX3RleHRJbmRpY2F0b3JWaWV3IHByZXNlbnRdOwogCiAgICAg
aWYgKGxpZmV0aW1lID09IFRleHRJbmRpY2F0b3JXaW5kb3dMaWZldGltZTo6VGVtcG9yYXJ5KQot
ICAgICAgICBtX3RlbXBvcmFyeVRleHRJbmRpY2F0b3JUaW1lci5zdGFydE9uZVNob3QodGltZUJl
Zm9yZUZhZGVTdGFydHMpOworICAgICAgICBtX3RlbXBvcmFyeVRleHRJbmRpY2F0b3JUaW1lci5z
dGFydE9uZVNob3QoMV9zICogdGltZUJlZm9yZUZhZGVTdGFydHMpOwogfQogCiB2b2lkIFRleHRJ
bmRpY2F0b3JXaW5kb3c6OmNsb3NlV2luZG93KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL0h5c3RlcmVzaXNBY3Rpdml0eS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
SHlzdGVyZXNpc0FjdGl2aXR5LmgKaW5kZXggMTI4ZWY4MjA5ZTJhNzQ4MzA5ZTA2MjgyMGVkYzgy
Mzk4MGMwYjJlMS4uNTk5ZTE3MWVjMWFjYWQyMGVkOGYxNWQxYjQ1YzllYWE5ZjFjZTBhMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vSHlzdGVyZXNpc0FjdGl2aXR5LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vSHlzdGVyZXNpc0FjdGl2aXR5LmgKQEAgLTY1LDcg
KzY1LDcgQEAgcHVibGljOgogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICBtX2FjdGl2ZSA9
IGZhbHNlOwogCi0gICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KG1faHlzdGVyZXNpc1NlY29u
ZHMpOworICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgxX3MgKiBtX2h5c3RlcmVzaXNTZWNv
bmRzKTsKICAgICB9CiAKICAgICB2b2lkIGltcHVsc2UoKQpAQCAtODksNyArODksNyBAQCBwcml2
YXRlOgogICAgIH0KIAogICAgIHN0ZDo6ZnVuY3Rpb248dm9pZChIeXN0ZXJlc2lzU3RhdGUpPiBt
X2NhbGxiYWNrOwotICAgIGRvdWJsZSBtX2h5c3RlcmVzaXNTZWNvbmRzOworICAgIGRvdWJsZSBt
X2h5c3RlcmVzaXNTZWNvbmRzOyAvLyBGSVhNRTogU2hvdWxkIHVzZSBTZWNvbmRzLgogICAgIGJv
b2wgbV9hY3RpdmU7CiAgICAgVGltZXIgbV90aW1lcjsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRpb25TbW9vdGguY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmNwcAppbmRleCBjOGY1ZDVkYzAzNTQ1
YmJlNTYwNjc5Nzg2ZWQ5MTE5NzQxNjRlZTc2Li43YTVmMWVhOWFkZTIyMjNjNDA5MGNhNGM4YWQ0
OTVlNmNhMzNlYTMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxB
bmltYXRpb25TbW9vdGguY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFu
aW1hdGlvblNtb290aC5jcHAKQEAgLTM3LDggKzM3LDggQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogc3RhdGljIGNvbnN0IGRvdWJsZSBmcmFtZVJhdGUgPSA2MDsKLXN0YXRpYyBjb25zdCBkb3Vi
bGUgdGlja1RpbWUgPSAxIC8gZnJhbWVSYXRlOwotc3RhdGljIGNvbnN0IGRvdWJsZSBtaW5pbXVt
VGltZXJJbnRlcnZhbCA9IC4wMDE7CitzdGF0aWMgY29uc3QgU2Vjb25kcyB0aWNrVGltZSA9IDFf
cyAvIGZyYW1lUmF0ZTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIG1pbmltdW1UaW1lckludGVydmFs
IHsgMV9tcyB9OwogCiBTY3JvbGxBbmltYXRpb25TbW9vdGg6OlNjcm9sbEFuaW1hdGlvblNtb290
aChTY3JvbGxhYmxlQXJlYSYgc2Nyb2xsYWJsZUFyZWEsIGNvbnN0IEZsb2F0UG9pbnQmIHBvc2l0
aW9uLCBzdGQ6OmZ1bmN0aW9uPHZvaWQgKEZsb2F0UG9pbnQmJik+JiYgbm90aWZ5UG9zaXRpb25D
aGFuZ2VkRnVuY3Rpb24pCiAgICAgOiBTY3JvbGxBbmltYXRpb24oc2Nyb2xsYWJsZUFyZWEpCkBA
IC0yMjYsNDAgKzIyNiw0MCBAQCBzdGF0aWMgaW5saW5lIGRvdWJsZSByZWxlYXNlQXJlYShTY3Jv
bGxBbmltYXRpb25TbW9vdGg6OkN1cnZlIGN1cnZlLCBkb3VibGUgc3RhcgogICAgIHJldHVybiBl
bmRWYWx1ZSAtIHN0YXJ0VmFsdWU7CiB9CiAKLXN0YXRpYyBpbmxpbmUgdm9pZCBnZXRBbmltYXRp
b25QYXJhbWV0ZXJzRm9yR3JhbnVsYXJpdHkoU2Nyb2xsR3JhbnVsYXJpdHkgZ3JhbnVsYXJpdHks
IGRvdWJsZSYgYW5pbWF0aW9uVGltZSwgZG91YmxlJiByZXBlYXRNaW5pbXVtU3VzdGFpblRpbWUs
IGRvdWJsZSYgYXR0YWNrVGltZSwgZG91YmxlJiByZWxlYXNlVGltZSwgU2Nyb2xsQW5pbWF0aW9u
U21vb3RoOjpDdXJ2ZSYgY29hc3RUaW1lQ3VydmUsIGRvdWJsZSYgbWF4aW11bUNvYXN0VGltZSkK
K3N0YXRpYyBpbmxpbmUgdm9pZCBnZXRBbmltYXRpb25QYXJhbWV0ZXJzRm9yR3JhbnVsYXJpdHko
U2Nyb2xsR3JhbnVsYXJpdHkgZ3JhbnVsYXJpdHksIFNlY29uZHMmIGFuaW1hdGlvblRpbWUsIFNl
Y29uZHMmIHJlcGVhdE1pbmltdW1TdXN0YWluVGltZSwgU2Vjb25kcyYgYXR0YWNrVGltZSwgU2Vj
b25kcyYgcmVsZWFzZVRpbWUsIFNjcm9sbEFuaW1hdGlvblNtb290aDo6Q3VydmUmIGNvYXN0VGlt
ZUN1cnZlLCBTZWNvbmRzJiBtYXhpbXVtQ29hc3RUaW1lKQogewogICAgIHN3aXRjaCAoZ3JhbnVs
YXJpdHkpIHsKICAgICBjYXNlIFNjcm9sbEJ5RG9jdW1lbnQ6Ci0gICAgICAgIGFuaW1hdGlvblRp
bWUgPSAyMCAqIHRpY2tUaW1lOwotICAgICAgICByZXBlYXRNaW5pbXVtU3VzdGFpblRpbWUgPSAx
MCAqIHRpY2tUaW1lOwotICAgICAgICBhdHRhY2tUaW1lID0gMTAgKiB0aWNrVGltZTsKLSAgICAg
ICAgcmVsZWFzZVRpbWUgPSAxMCAqIHRpY2tUaW1lOworICAgICAgICBhbmltYXRpb25UaW1lID0g
dGlja1RpbWUgKiAxMDsKKyAgICAgICAgcmVwZWF0TWluaW11bVN1c3RhaW5UaW1lID0gdGlja1Rp
bWUgKiAxMDsKKyAgICAgICAgYXR0YWNrVGltZSA9IHRpY2tUaW1lICogMTA7CisgICAgICAgIHJl
bGVhc2VUaW1lID0gdGlja1RpbWUgKiAxMDsKICAgICAgICAgY29hc3RUaW1lQ3VydmUgPSBTY3Jv
bGxBbmltYXRpb25TbW9vdGg6OkN1cnZlOjpMaW5lYXI7Ci0gICAgICAgIG1heGltdW1Db2FzdFRp
bWUgPSAxOworICAgICAgICBtYXhpbXVtQ29hc3RUaW1lID0gMV9zOwogICAgICAgICBicmVhazsK
ICAgICBjYXNlIFNjcm9sbEJ5TGluZToKLSAgICAgICAgYW5pbWF0aW9uVGltZSA9IDEwICogdGlj
a1RpbWU7Ci0gICAgICAgIHJlcGVhdE1pbmltdW1TdXN0YWluVGltZSA9IDcgKiB0aWNrVGltZTsK
LSAgICAgICAgYXR0YWNrVGltZSA9IDMgKiB0aWNrVGltZTsKLSAgICAgICAgcmVsZWFzZVRpbWUg
PSAzICogdGlja1RpbWU7CisgICAgICAgIGFuaW1hdGlvblRpbWUgPSB0aWNrVGltZSAqIDEwOwor
ICAgICAgICByZXBlYXRNaW5pbXVtU3VzdGFpblRpbWUgPSB0aWNrVGltZSAqIDc7CisgICAgICAg
IGF0dGFja1RpbWUgPSB0aWNrVGltZSAqIDM7CisgICAgICAgIHJlbGVhc2VUaW1lID0gdGlja1Rp
bWUgKiAzOwogICAgICAgICBjb2FzdFRpbWVDdXJ2ZSA9IFNjcm9sbEFuaW1hdGlvblNtb290aDo6
Q3VydmU6OkxpbmVhcjsKLSAgICAgICAgbWF4aW11bUNvYXN0VGltZSA9IDE7CisgICAgICAgIG1h
eGltdW1Db2FzdFRpbWUgPSAxX3M7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgU2Nyb2xsQnlQ
YWdlOgotICAgICAgICBhbmltYXRpb25UaW1lID0gMTUgKiB0aWNrVGltZTsKLSAgICAgICAgcmVw
ZWF0TWluaW11bVN1c3RhaW5UaW1lID0gMTAgKiB0aWNrVGltZTsKLSAgICAgICAgYXR0YWNrVGlt
ZSA9IDUgKiB0aWNrVGltZTsKLSAgICAgICAgcmVsZWFzZVRpbWUgPSA1ICogdGlja1RpbWU7Cisg
ICAgICAgIGFuaW1hdGlvblRpbWUgPSB0aWNrVGltZSAqIDE1OworICAgICAgICByZXBlYXRNaW5p
bXVtU3VzdGFpblRpbWUgPSB0aWNrVGltZSAqIDEwOworICAgICAgICBhdHRhY2tUaW1lID0gdGlj
a1RpbWUgKiA1OworICAgICAgICByZWxlYXNlVGltZSA9IHRpY2tUaW1lICogNTsKICAgICAgICAg
Y29hc3RUaW1lQ3VydmUgPSBTY3JvbGxBbmltYXRpb25TbW9vdGg6OkN1cnZlOjpMaW5lYXI7Ci0g
ICAgICAgIG1heGltdW1Db2FzdFRpbWUgPSAxOworICAgICAgICBtYXhpbXVtQ29hc3RUaW1lID0g
MV9zOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFNjcm9sbEJ5UGl4ZWw6Ci0gICAgICAgIGFu
aW1hdGlvblRpbWUgPSAxMSAqIHRpY2tUaW1lOwotICAgICAgICByZXBlYXRNaW5pbXVtU3VzdGFp
blRpbWUgPSAyICogdGlja1RpbWU7Ci0gICAgICAgIGF0dGFja1RpbWUgPSAzICogdGlja1RpbWU7
Ci0gICAgICAgIHJlbGVhc2VUaW1lID0gMyAqIHRpY2tUaW1lOworICAgICAgICBhbmltYXRpb25U
aW1lID0gdGlja1RpbWUgKiAxMTsKKyAgICAgICAgcmVwZWF0TWluaW11bVN1c3RhaW5UaW1lID0g
dGlja1RpbWUgKiAyOworICAgICAgICBhdHRhY2tUaW1lID0gdGlja1RpbWUgKiAzOworICAgICAg
ICByZWxlYXNlVGltZSA9IHRpY2tUaW1lICogMzsKICAgICAgICAgY29hc3RUaW1lQ3VydmUgPSBT
Y3JvbGxBbmltYXRpb25TbW9vdGg6OkN1cnZlOjpRdWFkcmF0aWM7Ci0gICAgICAgIG1heGltdW1D
b2FzdFRpbWUgPSAxLjI1OworICAgICAgICBtYXhpbXVtQ29hc3RUaW1lID0gMTI1MF9tczsKICAg
ICAgICAgYnJlYWs7CiAgICAgZGVmYXVsdDoKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7
CkBAIC0yNzAsNyArMjcwLDcgQEAgYm9vbCBTY3JvbGxBbmltYXRpb25TbW9vdGg6OnVwZGF0ZVBl
ckF4aXNEYXRhKFBlckF4aXNEYXRhJiBkYXRhLCBTY3JvbGxHcmFudWxhcmkKIHsKICAgICBpZiAo
IWRhdGEuc3RhcnRUaW1lIHx8ICFkZWx0YSB8fCAoZGVsdGEgPCAwKSAhPSAoZGF0YS5kZXNpcmVk
UG9zaXRpb24gLSBkYXRhLmN1cnJlbnRQb3NpdGlvbiA8IDApKSB7CiAgICAgICAgIGRhdGEuZGVz
aXJlZFBvc2l0aW9uID0gZGF0YS5jdXJyZW50UG9zaXRpb247Ci0gICAgICAgIGRhdGEuc3RhcnRU
aW1lID0gMDsKKyAgICAgICAgZGF0YS5zdGFydFRpbWUgPSB7IH07CiAgICAgfQogICAgIGZsb2F0
IG5ld1Bvc2l0aW9uID0gZGF0YS5kZXNpcmVkUG9zaXRpb24gKyBkZWx0YTsKIApAQCAtMjc5LDcg
KzI3OSw3IEBAIGJvb2wgU2Nyb2xsQW5pbWF0aW9uU21vb3RoOjp1cGRhdGVQZXJBeGlzRGF0YShQ
ZXJBeGlzRGF0YSYgZGF0YSwgU2Nyb2xsR3JhbnVsYXJpCiAgICAgaWYgKG5ld1Bvc2l0aW9uID09
IGRhdGEuZGVzaXJlZFBvc2l0aW9uKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBkb3Vi
bGUgYW5pbWF0aW9uVGltZSwgcmVwZWF0TWluaW11bVN1c3RhaW5UaW1lLCBhdHRhY2tUaW1lLCBy
ZWxlYXNlVGltZSwgbWF4aW11bUNvYXN0VGltZTsKKyAgICBTZWNvbmRzIGFuaW1hdGlvblRpbWUs
IHJlcGVhdE1pbmltdW1TdXN0YWluVGltZSwgYXR0YWNrVGltZSwgcmVsZWFzZVRpbWUsIG1heGlt
dW1Db2FzdFRpbWU7CiAgICAgQ3VydmUgY29hc3RUaW1lQ3VydmU7CiAgICAgZ2V0QW5pbWF0aW9u
UGFyYW1ldGVyc0ZvckdyYW51bGFyaXR5KGdyYW51bGFyaXR5LCBhbmltYXRpb25UaW1lLCByZXBl
YXRNaW5pbXVtU3VzdGFpblRpbWUsIGF0dGFja1RpbWUsIHJlbGVhc2VUaW1lLCBjb2FzdFRpbWVD
dXJ2ZSwgbWF4aW11bUNvYXN0VGltZSk7CiAKQEAgLTI5OCw3ICsyOTgsNyBAQCBib29sIFNjcm9s
bEFuaW1hdGlvblNtb290aDo6dXBkYXRlUGVyQXhpc0RhdGEoUGVyQXhpc0RhdGEmIGRhdGEsIFNj
cm9sbEdyYW51bGFyaQogCiAgICAgaWYgKCFkYXRhLnN0YXJ0VGltZSkgewogICAgICAgICAvLyBG
SVhNRTogVGhpcyBzaG91bGQgYmUgdGhlIHRpbWUgZnJvbSB0aGUgZXZlbnQgdGhhdCBnb3QgdXMg
aGVyZS4KLSAgICAgICAgZGF0YS5zdGFydFRpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1Rp
bWUoKSAtIHRpY2tUaW1lIC8gMjsKKyAgICAgICAgZGF0YS5zdGFydFRpbWUgPSBNb25vdG9uaWNU
aW1lOjpub3coKSAtIHRpY2tUaW1lIC8gMi47CiAgICAgICAgIGRhdGEuc3RhcnRQb3NpdGlvbiA9
IGRhdGEuY3VycmVudFBvc2l0aW9uOwogICAgICAgICBkYXRhLmxhc3RBbmltYXRpb25UaW1lID0g
ZGF0YS5zdGFydFRpbWU7CiAgICAgfQpAQCAtMzA2LDEwICszMDYsMTAgQEAgYm9vbCBTY3JvbGxB
bmltYXRpb25TbW9vdGg6OnVwZGF0ZVBlckF4aXNEYXRhKFBlckF4aXNEYXRhJiBkYXRhLCBTY3Jv
bGxHcmFudWxhcmkKIAogICAgIGRvdWJsZSByZW1haW5pbmdEZWx0YSA9IGRhdGEuZGVzaXJlZFBv
c2l0aW9uIC0gZGF0YS5jdXJyZW50UG9zaXRpb247CiAgICAgZG91YmxlIGF0dGFja0FyZWFMZWZ0
ID0gMDsKLSAgICBkb3VibGUgZGVsdGFUaW1lID0gZGF0YS5sYXN0QW5pbWF0aW9uVGltZSAtIGRh
dGEuc3RhcnRUaW1lOwotICAgIGRvdWJsZSBhdHRhY2tUaW1lTGVmdCA9IHN0ZDo6bWF4KDAuLCBk
YXRhLmF0dGFja1RpbWUgLSBkZWx0YVRpbWUpOwotICAgIGRvdWJsZSB0aW1lTGVmdCA9IGRhdGEu
YW5pbWF0aW9uVGltZSAtIGRlbHRhVGltZTsKLSAgICBkb3VibGUgbWluVGltZUxlZnQgPSBkYXRh
LnJlbGVhc2VUaW1lICsgc3RkOjptaW4ocmVwZWF0TWluaW11bVN1c3RhaW5UaW1lLCBkYXRhLmFu
aW1hdGlvblRpbWUgLSBkYXRhLnJlbGVhc2VUaW1lIC0gYXR0YWNrVGltZUxlZnQpOworICAgIFNl
Y29uZHMgZGVsdGFUaW1lID0gZGF0YS5sYXN0QW5pbWF0aW9uVGltZSAtIGRhdGEuc3RhcnRUaW1l
OworICAgIFNlY29uZHMgYXR0YWNrVGltZUxlZnQgPSBzdGQ6Om1heCgwX3MsIGRhdGEuYXR0YWNr
VGltZSAtIGRlbHRhVGltZSk7CisgICAgU2Vjb25kcyB0aW1lTGVmdCA9IGRhdGEuYW5pbWF0aW9u
VGltZSAtIGRlbHRhVGltZTsKKyAgICBTZWNvbmRzIG1pblRpbWVMZWZ0ID0gZGF0YS5yZWxlYXNl
VGltZSArIHN0ZDo6bWluKHJlcGVhdE1pbmltdW1TdXN0YWluVGltZSwgZGF0YS5hbmltYXRpb25U
aW1lIC0gZGF0YS5yZWxlYXNlVGltZSAtIGF0dGFja1RpbWVMZWZ0KTsKICAgICBpZiAodGltZUxl
ZnQgPCBtaW5UaW1lTGVmdCkgewogICAgICAgICBkYXRhLmFuaW1hdGlvblRpbWUgPSBkZWx0YVRp
bWUgKyBtaW5UaW1lTGVmdDsKICAgICAgICAgdGltZUxlZnQgPSBtaW5UaW1lTGVmdDsKQEAgLTMy
MSwxNCArMzIxLDE0IEBAIGJvb2wgU2Nyb2xsQW5pbWF0aW9uU21vb3RoOjp1cGRhdGVQZXJBeGlz
RGF0YShQZXJBeGlzRGF0YSYgZGF0YSwgU2Nyb2xsR3JhbnVsYXJpCiAgICAgICAgIGRvdWJsZSBt
aW5Db2FzdERlbHRhID0gZGF0YS52aXNpYmxlTGVuZ3RoOwogCiAgICAgICAgIGlmIChmYWJzKHJl
bWFpbmluZ0RlbHRhKSA+IG1pbkNvYXN0RGVsdGEpIHsKLSAgICAgICAgICAgIGRvdWJsZSBtYXhD
b2FzdERlbHRhID0gbWF4aW11bUNvYXN0VGltZSAqIHRhcmdldE1heENvYXN0VmVsb2NpdHk7Cisg
ICAgICAgICAgICBkb3VibGUgbWF4Q29hc3REZWx0YSA9IG1heGltdW1Db2FzdFRpbWUudmFsdWUo
KSAqIHRhcmdldE1heENvYXN0VmVsb2NpdHk7CiAgICAgICAgICAgICBkb3VibGUgY29hc3RGYWN0
b3IgPSBzdGQ6Om1pbigxLiwgKGZhYnMocmVtYWluaW5nRGVsdGEpIC0gbWluQ29hc3REZWx0YSkg
LyAobWF4Q29hc3REZWx0YSAtIG1pbkNvYXN0RGVsdGEpKTsKIAogICAgICAgICAgICAgLy8gV2Ug
Y291bGQgcGxheSB3aXRoIHRoZSBjdXJ2ZSBoZXJlIC0gbGluZWFyIHNlZW1zIGEgbGl0dGxlIHNv
ZnQuIEluaXRpYWwgdGVzdGluZyBtYWtlcyBtZSB3YW50IHRvIGZlZWQgaW50byB0aGUgc3VzdGFp
biB0aW1lIG1vcmUgYWdncmVzc2l2ZWx5LgotICAgICAgICAgICAgZG91YmxlIGNvYXN0TWluVGlt
ZUxlZnQgPSBzdGQ6Om1pbihtYXhpbXVtQ29hc3RUaW1lLCBtaW5UaW1lTGVmdCArIGNvYXN0Q3Vy
dmUoY29hc3RUaW1lQ3VydmUsIGNvYXN0RmFjdG9yKSAqIChtYXhpbXVtQ29hc3RUaW1lIC0gbWlu
VGltZUxlZnQpKTsKKyAgICAgICAgICAgIFNlY29uZHMgY29hc3RNaW5UaW1lTGVmdCA9IHN0ZDo6
bWluKG1heGltdW1Db2FzdFRpbWUsIG1pblRpbWVMZWZ0ICsgKG1heGltdW1Db2FzdFRpbWUgLSBt
aW5UaW1lTGVmdCkgKiBjb2FzdEN1cnZlKGNvYXN0VGltZUN1cnZlLCBjb2FzdEZhY3RvcikpOwog
Ci0gICAgICAgICAgICBpZiAoZG91YmxlIGFkZGl0aW9uYWxUaW1lID0gc3RkOjptYXgoMC4sIGNv
YXN0TWluVGltZUxlZnQgLSBtaW5UaW1lTGVmdCkpIHsKLSAgICAgICAgICAgICAgICBkb3VibGUg
YWRkaXRpb25hbFJlbGVhc2VUaW1lID0gc3RkOjptaW4oYWRkaXRpb25hbFRpbWUsIHJlbGVhc2VU
aW1lIC8gKHJlbGVhc2VUaW1lICsgcmVwZWF0TWluaW11bVN1c3RhaW5UaW1lKSAqIGFkZGl0aW9u
YWxUaW1lKTsKKyAgICAgICAgICAgIGlmIChTZWNvbmRzIGFkZGl0aW9uYWxUaW1lID0gc3RkOjpt
YXgoMF9zLCBjb2FzdE1pblRpbWVMZWZ0IC0gbWluVGltZUxlZnQpKSB7CisgICAgICAgICAgICAg
ICAgU2Vjb25kcyBhZGRpdGlvbmFsUmVsZWFzZVRpbWUgPSBzdGQ6Om1pbihhZGRpdGlvbmFsVGlt
ZSwgYWRkaXRpb25hbFRpbWUgKiAocmVsZWFzZVRpbWUgLyAocmVsZWFzZVRpbWUgKyByZXBlYXRN
aW5pbXVtU3VzdGFpblRpbWUpKSk7CiAgICAgICAgICAgICAgICAgZGF0YS5yZWxlYXNlVGltZSA9
IHJlbGVhc2VUaW1lICsgYWRkaXRpb25hbFJlbGVhc2VUaW1lOwogICAgICAgICAgICAgICAgIGRh
dGEuYW5pbWF0aW9uVGltZSA9IGRlbHRhVGltZSArIGNvYXN0TWluVGltZUxlZnQ7CiAgICAgICAg
ICAgICAgICAgdGltZUxlZnQgPSBjb2FzdE1pblRpbWVMZWZ0OwpAQCAtMzM2LDQzICszMzYsNDMg
QEAgYm9vbCBTY3JvbGxBbmltYXRpb25TbW9vdGg6OnVwZGF0ZVBlckF4aXNEYXRhKFBlckF4aXNE
YXRhJiBkYXRhLCBTY3JvbGxHcmFudWxhcmkKICAgICAgICAgfQogICAgIH0KIAotICAgIGRvdWJs
ZSByZWxlYXNlVGltZUxlZnQgPSBzdGQ6Om1pbih0aW1lTGVmdCwgZGF0YS5yZWxlYXNlVGltZSk7
Ci0gICAgZG91YmxlIHN1c3RhaW5UaW1lTGVmdCA9IHN0ZDo6bWF4KDAuLCB0aW1lTGVmdCAtIHJl
bGVhc2VUaW1lTGVmdCAtIGF0dGFja1RpbWVMZWZ0KTsKKyAgICBTZWNvbmRzIHJlbGVhc2VUaW1l
TGVmdCA9IHN0ZDo6bWluKHRpbWVMZWZ0LCBkYXRhLnJlbGVhc2VUaW1lKTsKKyAgICBTZWNvbmRz
IHN1c3RhaW5UaW1lTGVmdCA9IHN0ZDo6bWF4KDBfcywgdGltZUxlZnQgLSByZWxlYXNlVGltZUxl
ZnQgLSBhdHRhY2tUaW1lTGVmdCk7CiAgICAgaWYgKGF0dGFja1RpbWVMZWZ0KSB7CiAgICAgICAg
IGRvdWJsZSBhdHRhY2tTcG90ID0gZGVsdGFUaW1lIC8gZGF0YS5hdHRhY2tUaW1lOwotICAgICAg
ICBhdHRhY2tBcmVhTGVmdCA9IGF0dGFja0FyZWEoQ3VydmU6OkN1YmljLCBhdHRhY2tTcG90LCAx
KSAqIGRhdGEuYXR0YWNrVGltZTsKKyAgICAgICAgYXR0YWNrQXJlYUxlZnQgPSBhdHRhY2tBcmVh
KEN1cnZlOjpDdWJpYywgYXR0YWNrU3BvdCwgMSkgKiBkYXRhLmF0dGFja1RpbWUudmFsdWUoKTsK
ICAgICB9CiAKICAgICBkb3VibGUgcmVsZWFzZVNwb3QgPSAoZGF0YS5yZWxlYXNlVGltZSAtIHJl
bGVhc2VUaW1lTGVmdCkgLyBkYXRhLnJlbGVhc2VUaW1lOwotICAgIGRvdWJsZSByZWxlYXNlQXJl
YUxlZnQgPSByZWxlYXNlQXJlYShDdXJ2ZTo6Q3ViaWMsIHJlbGVhc2VTcG90LCAxKSAqIGRhdGEu
cmVsZWFzZVRpbWU7CisgICAgZG91YmxlIHJlbGVhc2VBcmVhTGVmdCA9IHJlbGVhc2VBcmVhKEN1
cnZlOjpDdWJpYywgcmVsZWFzZVNwb3QsIDEpICogZGF0YS5yZWxlYXNlVGltZS52YWx1ZSgpOwog
Ci0gICAgZGF0YS5kZXNpcmVkVmVsb2NpdHkgPSByZW1haW5pbmdEZWx0YSAvIChhdHRhY2tBcmVh
TGVmdCArIHN1c3RhaW5UaW1lTGVmdCArIHJlbGVhc2VBcmVhTGVmdCk7CisgICAgZGF0YS5kZXNp
cmVkVmVsb2NpdHkgPSByZW1haW5pbmdEZWx0YSAvIChhdHRhY2tBcmVhTGVmdCArIHN1c3RhaW5U
aW1lTGVmdC52YWx1ZSgpICsgcmVsZWFzZUFyZWFMZWZ0KTsKICAgICBkYXRhLnJlbGVhc2VQb3Np
dGlvbiA9IGRhdGEuZGVzaXJlZFBvc2l0aW9uIC0gZGF0YS5kZXNpcmVkVmVsb2NpdHkgKiByZWxl
YXNlQXJlYUxlZnQ7CiAgICAgaWYgKGF0dGFja0FyZWFMZWZ0KQogICAgICAgICBkYXRhLmF0dGFj
a1Bvc2l0aW9uID0gZGF0YS5zdGFydFBvc2l0aW9uICsgZGF0YS5kZXNpcmVkVmVsb2NpdHkgKiBh
dHRhY2tBcmVhTGVmdDsKICAgICBlbHNlCi0gICAgICAgIGRhdGEuYXR0YWNrUG9zaXRpb24gPSBk
YXRhLnJlbGVhc2VQb3NpdGlvbiAtIChkYXRhLmFuaW1hdGlvblRpbWUgLSBkYXRhLnJlbGVhc2VU
aW1lIC0gZGF0YS5hdHRhY2tUaW1lKSAqIGRhdGEuZGVzaXJlZFZlbG9jaXR5OworICAgICAgICBk
YXRhLmF0dGFja1Bvc2l0aW9uID0gZGF0YS5yZWxlYXNlUG9zaXRpb24gLSAoZGF0YS5hbmltYXRp
b25UaW1lIC0gZGF0YS5yZWxlYXNlVGltZSAtIGRhdGEuYXR0YWNrVGltZSkudmFsdWUoKSAqIGRh
dGEuZGVzaXJlZFZlbG9jaXR5OwogCiAgICAgaWYgKHN1c3RhaW5UaW1lTGVmdCkgewotICAgICAg
ICBkb3VibGUgcm91bmRPZmYgPSBkYXRhLnJlbGVhc2VQb3NpdGlvbiAtICgoYXR0YWNrQXJlYUxl
ZnQgPyBkYXRhLmF0dGFja1Bvc2l0aW9uIDogZGF0YS5jdXJyZW50UG9zaXRpb24pICsgZGF0YS5k
ZXNpcmVkVmVsb2NpdHkgKiBzdXN0YWluVGltZUxlZnQpOwotICAgICAgICBkYXRhLmRlc2lyZWRW
ZWxvY2l0eSArPSByb3VuZE9mZiAvIHN1c3RhaW5UaW1lTGVmdDsKKyAgICAgICAgZG91YmxlIHJv
dW5kT2ZmID0gZGF0YS5yZWxlYXNlUG9zaXRpb24gLSAoKGF0dGFja0FyZWFMZWZ0ID8gZGF0YS5h
dHRhY2tQb3NpdGlvbiA6IGRhdGEuY3VycmVudFBvc2l0aW9uKSArIGRhdGEuZGVzaXJlZFZlbG9j
aXR5ICogc3VzdGFpblRpbWVMZWZ0LnZhbHVlKCkpOworICAgICAgICBkYXRhLmRlc2lyZWRWZWxv
Y2l0eSArPSByb3VuZE9mZiAvIHN1c3RhaW5UaW1lTGVmdC52YWx1ZSgpOwogICAgIH0KIAogICAg
IHJldHVybiB0cnVlOwogfQogCi1ib29sIFNjcm9sbEFuaW1hdGlvblNtb290aDo6YW5pbWF0ZVNj
cm9sbChQZXJBeGlzRGF0YSYgZGF0YSwgZG91YmxlIGN1cnJlbnRUaW1lKQorYm9vbCBTY3JvbGxB
bmltYXRpb25TbW9vdGg6OmFuaW1hdGVTY3JvbGwoUGVyQXhpc0RhdGEmIGRhdGEsIE1vbm90b25p
Y1RpbWUgY3VycmVudFRpbWUpCiB7CiAgICAgaWYgKCFkYXRhLnN0YXJ0VGltZSkKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogCi0gICAgZG91YmxlIGxhc3RTY3JvbGxJbnRlcnZhbCA9IGN1cnJlbnRU
aW1lIC0gZGF0YS5sYXN0QW5pbWF0aW9uVGltZTsKKyAgICBTZWNvbmRzIGxhc3RTY3JvbGxJbnRl
cnZhbCA9IGN1cnJlbnRUaW1lIC0gZGF0YS5sYXN0QW5pbWF0aW9uVGltZTsKICAgICBpZiAobGFz
dFNjcm9sbEludGVydmFsIDwgbWluaW11bVRpbWVySW50ZXJ2YWwpCiAgICAgICAgIHJldHVybiB0
cnVlOwogCiAgICAgZGF0YS5sYXN0QW5pbWF0aW9uVGltZSA9IGN1cnJlbnRUaW1lOwogCi0gICAg
ZG91YmxlIGRlbHRhVGltZSA9IGN1cnJlbnRUaW1lIC0gZGF0YS5zdGFydFRpbWU7CisgICAgU2Vj
b25kcyBkZWx0YVRpbWUgPSBjdXJyZW50VGltZSAtIGRhdGEuc3RhcnRUaW1lOwogICAgIGRvdWJs
ZSBuZXdQb3NpdGlvbiA9IGRhdGEuY3VycmVudFBvc2l0aW9uOwogCiAgICAgaWYgKGRlbHRhVGlt
ZSA+IGRhdGEuYW5pbWF0aW9uVGltZSkgewpAQCAtMzgwLDE4ICszODAsMTggQEAgYm9vbCBTY3Jv
bGxBbmltYXRpb25TbW9vdGg6OmFuaW1hdGVTY3JvbGwoUGVyQXhpc0RhdGEmIGRhdGEsIGRvdWJs
ZSBjdXJyZW50VGltZSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KICAgICBpZiAoZGVs
dGFUaW1lIDwgZGF0YS5hdHRhY2tUaW1lKQotICAgICAgICBuZXdQb3NpdGlvbiA9IGF0dGFja0N1
cnZlKEN1cnZlOjpDdWJpYywgZGVsdGFUaW1lLCBkYXRhLmF0dGFja1RpbWUsIGRhdGEuc3RhcnRQ
b3NpdGlvbiwgZGF0YS5hdHRhY2tQb3NpdGlvbik7CisgICAgICAgIG5ld1Bvc2l0aW9uID0gYXR0
YWNrQ3VydmUoQ3VydmU6OkN1YmljLCBkZWx0YVRpbWUudmFsdWUoKSwgZGF0YS5hdHRhY2tUaW1l
LnZhbHVlKCksIGRhdGEuc3RhcnRQb3NpdGlvbiwgZGF0YS5hdHRhY2tQb3NpdGlvbik7CiAgICAg
ZWxzZSBpZiAoZGVsdGFUaW1lIDwgKGRhdGEuYW5pbWF0aW9uVGltZSAtIGRhdGEucmVsZWFzZVRp
bWUpKQotICAgICAgICBuZXdQb3NpdGlvbiA9IGRhdGEuYXR0YWNrUG9zaXRpb24gKyAoZGVsdGFU
aW1lIC0gZGF0YS5hdHRhY2tUaW1lKSAqIGRhdGEuZGVzaXJlZFZlbG9jaXR5OworICAgICAgICBu
ZXdQb3NpdGlvbiA9IGRhdGEuYXR0YWNrUG9zaXRpb24gKyAoZGVsdGFUaW1lIC0gZGF0YS5hdHRh
Y2tUaW1lKS52YWx1ZSgpICogZGF0YS5kZXNpcmVkVmVsb2NpdHk7CiAgICAgZWxzZSB7CiAgICAg
ICAgIC8vIHJlbGVhc2UgaXMgYmFzZWQgb24gdGFyZ2V0aW5nIHRoZSBleGFjdCBmaW5hbCBwb3Np
dGlvbi4KLSAgICAgICAgZG91YmxlIHJlbGVhc2VEZWx0YVQgPSBkZWx0YVRpbWUgLSAoZGF0YS5h
bmltYXRpb25UaW1lIC0gZGF0YS5yZWxlYXNlVGltZSk7Ci0gICAgICAgIG5ld1Bvc2l0aW9uID0g
cmVsZWFzZUN1cnZlKEN1cnZlOjpDdWJpYywgcmVsZWFzZURlbHRhVCwgZGF0YS5yZWxlYXNlVGlt
ZSwgZGF0YS5yZWxlYXNlUG9zaXRpb24sIGRhdGEuZGVzaXJlZFBvc2l0aW9uKTsKKyAgICAgICAg
U2Vjb25kcyByZWxlYXNlRGVsdGFUID0gZGVsdGFUaW1lIC0gKGRhdGEuYW5pbWF0aW9uVGltZSAt
IGRhdGEucmVsZWFzZVRpbWUpOworICAgICAgICBuZXdQb3NpdGlvbiA9IHJlbGVhc2VDdXJ2ZShD
dXJ2ZTo6Q3ViaWMsIHJlbGVhc2VEZWx0YVQudmFsdWUoKSwgZGF0YS5yZWxlYXNlVGltZS52YWx1
ZSgpLCBkYXRhLnJlbGVhc2VQb3NpdGlvbiwgZGF0YS5kZXNpcmVkUG9zaXRpb24pOwogICAgIH0K
IAogICAgIC8vIE5vcm1hbGl6ZSB2ZWxvY2l0eSB0byBhIHBlciBzZWNvbmQgYW1vdW50LiBDb3Vs
ZCBiZSB1c2VkIHRvIGNoZWNrIGZvciBqYW5rLgotICAgIGlmIChsYXN0U2Nyb2xsSW50ZXJ2YWwg
PiAwKQotICAgICAgICBkYXRhLmN1cnJlbnRWZWxvY2l0eSA9IChuZXdQb3NpdGlvbiAtIGRhdGEu
Y3VycmVudFBvc2l0aW9uKSAvIGxhc3RTY3JvbGxJbnRlcnZhbDsKKyAgICBpZiAobGFzdFNjcm9s
bEludGVydmFsID4gMF9zKQorICAgICAgICBkYXRhLmN1cnJlbnRWZWxvY2l0eSA9IChuZXdQb3Np
dGlvbiAtIGRhdGEuY3VycmVudFBvc2l0aW9uKSAvIGxhc3RTY3JvbGxJbnRlcnZhbC52YWx1ZSgp
OwogICAgIGRhdGEuY3VycmVudFBvc2l0aW9uID0gbmV3UG9zaXRpb247CiAKICAgICByZXR1cm4g
dHJ1ZTsKQEAgLTM5OSw4ICszOTksOCBAQCBib29sIFNjcm9sbEFuaW1hdGlvblNtb290aDo6YW5p
bWF0ZVNjcm9sbChQZXJBeGlzRGF0YSYgZGF0YSwgZG91YmxlIGN1cnJlbnRUaW1lKQogCiB2b2lk
IFNjcm9sbEFuaW1hdGlvblNtb290aDo6YW5pbWF0aW9uVGltZXJGaXJlZCgpCiB7Ci0gICAgZG91
YmxlIGN1cnJlbnRUaW1lID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7Ci0gICAgZG91
YmxlIGRlbHRhVG9OZXh0RnJhbWUgPSBjZWlsKChjdXJyZW50VGltZSAtIG1fc3RhcnRUaW1lKSAq
IGZyYW1lUmF0ZSkgLyBmcmFtZVJhdGUgLSAoY3VycmVudFRpbWUgLSBtX3N0YXJ0VGltZSk7Cisg
ICAgTW9ub3RvbmljVGltZSBjdXJyZW50VGltZSA9IE1vbm90b25pY1RpbWU6Om5vdygpOworICAg
IFNlY29uZHMgZGVsdGFUb05leHRGcmFtZSA9IDFfcyAqIGNlaWwoKGN1cnJlbnRUaW1lIC0gbV9z
dGFydFRpbWUpLnZhbHVlKCkgKiBmcmFtZVJhdGUpIC8gZnJhbWVSYXRlIC0gKGN1cnJlbnRUaW1l
IC0gbV9zdGFydFRpbWUpOwogICAgIGN1cnJlbnRUaW1lICs9IGRlbHRhVG9OZXh0RnJhbWU7CiAK
ICAgICBib29sIGNvbnRpbnVlQW5pbWF0aW9uID0gZmFsc2U7CkBAIC00MjIsNyArNDIyLDcgQEAg
dm9pZCBTY3JvbGxBbmltYXRpb25TbW9vdGg6OmFuaW1hdGlvblRpbWVyRmlyZWQoKQogfQogCiAj
aWYgVVNFKFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FX1RJTUVSKQotdm9pZCBTY3JvbGxBbmltYXRp
b25TbW9vdGg6OnN0YXJ0TmV4dFRpbWVyKGRvdWJsZSBkZWxheSkKK3ZvaWQgU2Nyb2xsQW5pbWF0
aW9uU21vb3RoOjpzdGFydE5leHRUaW1lcihTZWNvbmRzIGRlbGF5KQogewogICAgIG1fYW5pbWF0
aW9uVGltZXIuc3RhcnRPbmVTaG90KGRlbGF5KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdGlvblNtb290aC5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmgKaW5kZXggZWJhOWRiMmU5NDcyZGFiZDI2YjQx
ZTNkYTY5YjM2MGY4NWM4MzAyZC4uOGQ2ZjljOTVmZGNkNGJkMjkyOWU2YzA3OTU3MDE1NzA1N2Nk
NjMyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9u
U21vb3RoLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0aW9uU21v
b3RoLmgKQEAgLTc2LDI5ICs3NiwyOSBAQCBwcml2YXRlOgogICAgICAgICBkb3VibGUgZGVzaXJl
ZFZlbG9jaXR5IHsgMCB9OwogCiAgICAgICAgIGRvdWJsZSBzdGFydFBvc2l0aW9uIHsgMCB9Owot
ICAgICAgICBkb3VibGUgc3RhcnRUaW1lIHsgMCB9OworICAgICAgICBNb25vdG9uaWNUaW1lIHN0
YXJ0VGltZTsKICAgICAgICAgZG91YmxlIHN0YXJ0VmVsb2NpdHkgeyAwIH07CiAKLSAgICAgICAg
ZG91YmxlIGFuaW1hdGlvblRpbWUgeyAwIH07Ci0gICAgICAgIGRvdWJsZSBsYXN0QW5pbWF0aW9u
VGltZSB7IDAgfTsKKyAgICAgICAgU2Vjb25kcyBhbmltYXRpb25UaW1lOworICAgICAgICBNb25v
dG9uaWNUaW1lIGxhc3RBbmltYXRpb25UaW1lOwogCiAgICAgICAgIGRvdWJsZSBhdHRhY2tQb3Np
dGlvbiB7IDAgfTsKLSAgICAgICAgZG91YmxlIGF0dGFja1RpbWUgeyAwIH07CisgICAgICAgIFNl
Y29uZHMgYXR0YWNrVGltZTsKICAgICAgICAgQ3VydmUgYXR0YWNrQ3VydmUgeyBDdXJ2ZTo6UXVh
ZHJhdGljIH07CiAKICAgICAgICAgZG91YmxlIHJlbGVhc2VQb3NpdGlvbiB7IDAgfTsKLSAgICAg
ICAgZG91YmxlIHJlbGVhc2VUaW1lIHsgMCB9OworICAgICAgICBTZWNvbmRzIHJlbGVhc2VUaW1l
OwogICAgICAgICBDdXJ2ZSByZWxlYXNlQ3VydmUgeyBDdXJ2ZTo6UXVhZHJhdGljIH07CiAKICAg
ICAgICAgaW50IHZpc2libGVMZW5ndGggeyAwIH07CiAgICAgfTsKIAogICAgIGJvb2wgdXBkYXRl
UGVyQXhpc0RhdGEoUGVyQXhpc0RhdGEmLCBTY3JvbGxHcmFudWxhcml0eSwgZmxvYXQgZGVsdGEs
IGZsb2F0IG1pblNjcm9sbFBvc2l0aW9uLCBmbG9hdCBtYXhTY3JvbGxQb3NpdGlvbik7Ci0gICAg
Ym9vbCBhbmltYXRlU2Nyb2xsKFBlckF4aXNEYXRhJiwgZG91YmxlIGN1cnJlbnRUaW1lKTsKKyAg
ICBib29sIGFuaW1hdGVTY3JvbGwoUGVyQXhpc0RhdGEmLCBNb25vdG9uaWNUaW1lIGN1cnJlbnRU
aW1lKTsKIAogI2lmIFVTRShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRV9USU1FUikKICAgICB2b2lk
IHJlcXVlc3RBbmltYXRpb25UaW1lckZpcmVkKCk7Ci0gICAgdm9pZCBzdGFydE5leHRUaW1lcihk
b3VibGUgZGVsYXkpOworICAgIHZvaWQgc3RhcnROZXh0VGltZXIoU2Vjb25kcyBkZWxheSk7CiAj
ZWxzZQogICAgIHZvaWQgc3RhcnROZXh0VGltZXIoKTsKICNlbmRpZgpAQCAtMTEwLDcgKzExMCw3
IEBAIHByaXZhdGU6CiAgICAgUGVyQXhpc0RhdGEgbV9ob3Jpem9udGFsRGF0YTsKICAgICBQZXJB
eGlzRGF0YSBtX3ZlcnRpY2FsRGF0YTsKIAotICAgIGRvdWJsZSBtX3N0YXJ0VGltZSB7IDAgfTsK
KyAgICBNb25vdG9uaWNUaW1lIG1fc3RhcnRUaW1lOwogI2lmIFVTRShSRVFVRVNUX0FOSU1BVElP
Tl9GUkFNRV9USU1FUikKICAgICBUaW1lciBtX2FuaW1hdGlvblRpbWVyOwogI2Vsc2UKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9UaW1lci5oCmluZGV4IDA1MTc0YjRmMTRiMzY4MmU4ZDdiZGNmYTM0NWM4NDZhOGY5
NmI1MjcuLjUyZGViYTgxNWI4N2VjNjFlMWIxMzYyMjk0ODYxM2E4NmYyZmM4MGQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vVGltZXIuaApAQCAtNTUsOCArNTUsNiBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9F
WFBPUlQgdm9pZCBzdGFydChTZWNvbmRzIG5leHRGaXJlSW50ZXJ2YWwsIFNlY29uZHMgcmVwZWF0
SW50ZXJ2YWwpOwogCiAgICAgdm9pZCBzdGFydFJlcGVhdGluZyhTZWNvbmRzIHJlcGVhdEludGVy
dmFsKSB7IHN0YXJ0KHJlcGVhdEludGVydmFsLCByZXBlYXRJbnRlcnZhbCk7IH0KLQotICAgIHZv
aWQgc3RhcnRPbmVTaG90KGRvdWJsZSBpbnRlcnZhbCkgeyBzdGFydE9uZVNob3QoU2Vjb25kcyB7
IGludGVydmFsIH0pOyB9CiAgICAgdm9pZCBzdGFydE9uZVNob3QoU2Vjb25kcyBpbnRlcnZhbCkg
eyBzdGFydChpbnRlcnZhbCwgMF9zKTsgfQogCiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzdG9w
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1l
ZGlhU2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1l
ZGlhU2Vzc2lvbi5jcHAKaW5kZXggNTY5YTViOWUwNmVkOTZjNmQwZDcwYzY1YjhjNTAxYTMzOWY3
NjdkOS4uMDJkMTA5OTE0MWU0MmUyMTdiNTJhMjZjMzIyOTg5ZmIyZDhlMTk4MyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb24uY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9u
LmNwcApAQCAtMzQsNyArMzQsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNvbnN0IGRv
dWJsZSBrQ2xpZW50RGF0YUJ1ZmZlcmluZ1RpbWVyVGhyb3R0bGVEZWxheSA9IDAuMTsKK3N0YXRp
YyBjb25zdCBTZWNvbmRzIGNsaWVudERhdGFCdWZmZXJpbmdUaW1lclRocm90dGxlRGVsYXkgeyAx
MDBfbXMgfTsKIAogI2lmICFMT0dfRElTQUJMRUQKIHN0YXRpYyBjb25zdCBjaGFyKiBzdGF0ZU5h
bWUoUGxhdGZvcm1NZWRpYVNlc3Npb246OlN0YXRlIHN0YXRlKQpAQCAtMjYwLDcgKzI2MCw3IEBA
IHZvaWQgUGxhdGZvcm1NZWRpYVNlc3Npb246OnZpc2liaWxpdHlDaGFuZ2VkKCkKIHZvaWQgUGxh
dGZvcm1NZWRpYVNlc3Npb246OnNjaGVkdWxlQ2xpZW50RGF0YUJ1ZmZlcmluZ0NoZWNrKCkKIHsK
ICAgICBpZiAoIW1fY2xpZW50RGF0YUJ1ZmZlcmluZ1RpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAg
IG1fY2xpZW50RGF0YUJ1ZmZlcmluZ1RpbWVyLnN0YXJ0T25lU2hvdChrQ2xpZW50RGF0YUJ1ZmZl
cmluZ1RpbWVyVGhyb3R0bGVEZWxheSk7CisgICAgICAgIG1fY2xpZW50RGF0YUJ1ZmZlcmluZ1Rp
bWVyLnN0YXJ0T25lU2hvdChjbGllbnREYXRhQnVmZmVyaW5nVGltZXJUaHJvdHRsZURlbGF5KTsK
IH0KIAogdm9pZCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6Y2xpZW50RGF0YUJ1ZmZlcmluZ1RpbWVy
RmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvU2Nyb2xs
Q29udHJvbGxlci5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1Njcm9sbENvbnRy
b2xsZXIubW0KaW5kZXggMWU4ZjdkZmQ4N2VhMzM5NzhkZWY5NGJmZGFjN2UyYmRhMTVmYmFhMi4u
ZWUzZTUzN2ZiOGMyYjY4NzBlNjFkZmQyMzk3NjA3ZWM3ZjFmNGIxYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvU2Nyb2xsQ29udHJvbGxlci5tbQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9TY3JvbGxDb250cm9sbGVyLm1tCkBAIC00OTAsNyAr
NDkwLDcgQEAgdm9pZCBTY3JvbGxDb250cm9sbGVyOjpzY2hlZHVsZVN0YXRlbGVzc1Njcm9sbFNu
YXAoKQogICAgICAgICByZXR1cm47CiAKICAgICBzdGF0aWMgY29uc3QgU2Vjb25kcyBzdGF0ZWxl
c3NTY3JvbGxTbmFwRGVsYXkgPSA3NTBfbXM7Ci0gICAgbV9zdGF0ZWxlc3NTbmFwVHJhbnNpdGlv
blRpbWVyLnN0YXJ0T25lU2hvdChzdGF0ZWxlc3NTY3JvbGxTbmFwRGVsYXkudmFsdWUoKSk7Cisg
ICAgbV9zdGF0ZWxlc3NTbmFwVHJhbnNpdGlvblRpbWVyLnN0YXJ0T25lU2hvdChzdGF0ZWxlc3NT
Y3JvbGxTbmFwRGVsYXkpOwogICAgIHN0YXJ0RGVmZXJyaW5nVGVzdHNEdWVUb1Njcm9sbFNuYXBw
aW5nKCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQv
Y29jb2EvR2FtZUNvbnRyb2xsZXJHYW1lcGFkUHJvdmlkZXIubW0gYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9nYW1lcGFkL2NvY29hL0dhbWVDb250cm9sbGVyR2FtZXBhZFByb3ZpZGVyLm1tCmlu
ZGV4IDUxNWYzZTRlYjFmOTY0NGFkNGQ3YWFkYmFkZTZjNWYxMDkwZjM3NjUuLjEwZTc3NDU3MGMx
NmMzMjgwM2M5ZGM2ZmU3YzYzYWY0MGU2OWFiMTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dhbWVwYWQvY29jb2EvR2FtZUNvbnRyb2xsZXJHYW1lcGFkUHJvdmlkZXIubW0K
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9jb2NvYS9HYW1lQ29udHJvbGxl
ckdhbWVwYWRQcm92aWRlci5tbQpAQCAtNDAsNyArNDAsNyBAQCBTT0ZUX0xJTktfQ09OU1RBTlRf
TUFZX0ZBSUwoR2FtZUNvbnRyb2xsZXIsIEdDQ29udHJvbGxlckRpZERpc2Nvbm5lY3ROb3RpZmlj
YXRpbwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBzdGQ6OmNocm9ubzo6
bWlsbGlzZWNvbmRzIElucHV0Tm90aWZpY2F0aW9uRGVsYXkgPSAxNm1zOworc3RhdGljIGNvbnN0
IFNlY29uZHMgaW5wdXROb3RpZmljYXRpb25EZWxheSB7IDE2X21zIH07CiAKIEdhbWVDb250cm9s
bGVyR2FtZXBhZFByb3ZpZGVyJiBHYW1lQ29udHJvbGxlckdhbWVwYWRQcm92aWRlcjo6c2luZ2xl
dG9uKCkKIHsKQEAgLTE0NCw3ICsxNDQsNyBAQCB1bnNpZ25lZCBHYW1lQ29udHJvbGxlckdhbWVw
YWRQcm92aWRlcjo6aW5kZXhGb3JOZXdseUNvbm5lY3RlZERldmljZSgpCiB2b2lkIEdhbWVDb250
cm9sbGVyR2FtZXBhZFByb3ZpZGVyOjpnYW1lcGFkSGFkSW5wdXQoR2FtZUNvbnRyb2xsZXJHYW1l
cGFkJiwgYm9vbCBoYWRCdXR0b25QcmVzc2VzKQogewogICAgIGlmICghbV9pbnB1dE5vdGlmaWNh
dGlvblRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1faW5wdXROb3RpZmljYXRpb25UaW1lci5z
dGFydE9uZVNob3QoSW5wdXROb3RpZmljYXRpb25EZWxheSk7CisgICAgICAgIG1faW5wdXROb3Rp
ZmljYXRpb25UaW1lci5zdGFydE9uZVNob3QoaW5wdXROb3RpZmljYXRpb25EZWxheSk7CiAKICAg
ICBpZiAoaGFkQnV0dG9uUHJlc3NlcykKICAgICAgICAgbV9zaG91bGRNYWtlSW52aXNpYmlsZUdh
bWVwYWRzVmlzaWJsZSA9IHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9nYW1lcGFkL21hYy9ISURHYW1lcGFkUHJvdmlkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ2FtZXBhZC9tYWMvSElER2FtZXBhZFByb3ZpZGVyLmNwcAppbmRleCAwMDI2NjRjYWEy
YTI3YjJjNGM5MzkyNGEwZDgxMjM5ZmFhNWM0MTQ0Li4yZTIyOTkyNjljMmFjNjJkZWEwN2Q0OTM2
MzBkOGUwNDQ4ZjVhZTRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nYW1l
cGFkL21hYy9ISURHYW1lcGFkUHJvdmlkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dhbWVwYWQvbWFjL0hJREdhbWVwYWRQcm92aWRlci5jcHAKQEAgLTM0LDggKzM0LDggQEAK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMgY29uc3QgZG91YmxlIENvbm5lY3Rpb25E
ZWxheUludGVydmFsID0gMC41Owotc3RhdGljIGNvbnN0IGRvdWJsZSBJbnB1dE5vdGlmaWNhdGlv
bkRlbGF5ID0gMC4wNTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIGNvbm5lY3Rpb25EZWxheUludGVy
dmFsIHsgNTAwX21zIH07CitzdGF0aWMgY29uc3QgU2Vjb25kcyBpbnB1dE5vdGlmaWNhdGlvbkRl
bGF5IHsgNTBfbXMgfTsKIAogc3RhdGljIFJldGFpblB0cjxDRkRpY3Rpb25hcnlSZWY+IGRldmlj
ZU1hdGNoaW5nRGljdGlvbmFyeSh1aW50MzJfdCB1c2FnZVBhZ2UsIHVpbnQzMl90IHVzYWdlKQog
ewpAQCAtMTQyLDkgKzE0Miw5IEBAIHZvaWQgSElER2FtZXBhZFByb3ZpZGVyOjpvcGVuQW5kU2No
ZWR1bGVNYW5hZ2VyKCkKICAgICBJT0hJRE1hbmFnZXJTY2hlZHVsZVdpdGhSdW5Mb29wKG1fbWFu
YWdlci5nZXQoKSwgQ0ZSdW5Mb29wR2V0Q3VycmVudCgpLCBrQ0ZSdW5Mb29wRGVmYXVsdE1vZGUp
OwogICAgIElPSElETWFuYWdlck9wZW4obV9tYW5hZ2VyLmdldCgpLCBrSU9ISURPcHRpb25zVHlw
ZU5vbmUpOwogCi0gICAgLy8gQW55IGNvbm5lY3Rpb25zIHdlIGFyZSBub3RpZmllZCBvZiB3aXRo
aW4gdGhlIENvbm5lY3Rpb25EZWxheUludGVydmFsIG9mIGxpc3RlbmluZyBsaWtlbHkgcmVwcmVz
ZW50CisgICAgLy8gQW55IGNvbm5lY3Rpb25zIHdlIGFyZSBub3RpZmllZCBvZiB3aXRoaW4gdGhl
IGNvbm5lY3Rpb25EZWxheUludGVydmFsIG9mIGxpc3RlbmluZyBsaWtlbHkgcmVwcmVzZW50CiAg
ICAgLy8gZGV2aWNlcyB0aGF0IHdlcmUgYWxyZWFkeSBjb25uZWN0ZWQsIHNvIHdlIHN1cHByZXNz
IG5vdGlmeWluZyBjbGllbnRzIG9mIHRoZXNlLgotICAgIG1fY29ubmVjdGlvbkRlbGF5VGltZXIu
c3RhcnRPbmVTaG90KENvbm5lY3Rpb25EZWxheUludGVydmFsKTsKKyAgICBtX2Nvbm5lY3Rpb25E
ZWxheVRpbWVyLnN0YXJ0T25lU2hvdChjb25uZWN0aW9uRGVsYXlJbnRlcnZhbCk7CiB9CiAKIHZv
aWQgSElER2FtZXBhZFByb3ZpZGVyOjpjbG9zZUFuZFVuc2NoZWR1bGVNYW5hZ2VyKCkKQEAgLTI0
Myw3ICsyNDMsNyBAQCB2b2lkIEhJREdhbWVwYWRQcm92aWRlcjo6dmFsdWVzQ2hhbmdlZChJT0hJ
RFZhbHVlUmVmIHZhbHVlKQogICAgIC8vIFRoaXMgaXNBY3RpdmUgY2hlY2sgaXMgbmVjZXNzYXJ5
IGFzIHdlIHdhbnQgdG8gZGVsYXkgaW5wdXQgbm90aWZpY2F0aW9ucyBmcm9tIHRoZSB0aW1lIG9m
IHRoZSBmaXJzdCBpbnB1dCwKICAgICAvLyBhbmQgbm90IHB1c2ggdGhlIG5vdGlmaWNhdGlvbiBv
dXQgb24gZXZlcnkgc3Vic2VxdWVudCBpbnB1dC4KICAgICBpZiAoIW1faW5wdXROb3RpZmljYXRp
b25UaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX2lucHV0Tm90aWZpY2F0aW9uVGltZXIuc3Rh
cnRPbmVTaG90KElucHV0Tm90aWZpY2F0aW9uRGVsYXkpOworICAgICAgICBtX2lucHV0Tm90aWZp
Y2F0aW9uVGltZXIuc3RhcnRPbmVTaG90KGlucHV0Tm90aWZpY2F0aW9uRGVsYXkpOwogfQogCiB2
b2lkIEhJREdhbWVwYWRQcm92aWRlcjo6aW5wdXROb3RpZmljYXRpb25UaW1lckZpcmVkKCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dsaWIvTWFpblRocmVhZFNoYXJlZFRp
bWVyR0xpYi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nbGliL01haW5UaHJlYWRTaGFy
ZWRUaW1lckdMaWIuY3BwCmluZGV4IDRhZmUyOWRjMGI2ZDg1YjlkNjRjNTQ1YmU3OTBjMGI4ODE3
M2NjYjkuLjIxNDc3NDA5YjkxZWFkNzJmMWJmN2M1NGIyYzkyZmRmYTM0YjZiMTAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dsaWIvTWFpblRocmVhZFNoYXJlZFRpbWVyR0xp
Yi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2xpYi9NYWluVGhyZWFkU2hhcmVk
VGltZXJHTGliLmNwcApAQCAtNDEsNyArNDEsNyBAQCBNYWluVGhyZWFkU2hhcmVkVGltZXI6Ok1h
aW5UaHJlYWRTaGFyZWRUaW1lcigpCiB2b2lkIE1haW5UaHJlYWRTaGFyZWRUaW1lcjo6c2V0Rmly
ZUludGVydmFsKFNlY29uZHMgaW50ZXJ2YWwpCiB7CiAgICAgQVNTRVJUKG1fZmlyZWRGdW5jdGlv
bik7Ci0gICAgbV90aW1lci5zdGFydE9uZVNob3QoaW50ZXJ2YWwudmFsdWUoKSk7CisgICAgbV90
aW1lci5zdGFydE9uZVNob3QoaW50ZXJ2YWwpOwogfQogCiB2b2lkIE1haW5UaHJlYWRTaGFyZWRU
aW1lcjo6c3RvcCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9CaXRtYXBJbWFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRt
YXBJbWFnZS5jcHAKaW5kZXggYzIzYjlkZGM1YTQ3MzcyYjVjNDhhZWMwNDAzN2YzMmY2YWU3ZDY4
OC4uMWI5NDljZGFkNGUwNTVjOTZmYzlhZWUwYTEyN2JkMDFkNTI0MTE4NiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmNwcApAQCAtMjg2LDcg
KzI4Niw3IEBAIHZvaWQgQml0bWFwSW1hZ2U6OmNsZWFyVGltZXIoKQogICAgIG1fZnJhbWVUaW1l
ciA9IG51bGxwdHI7CiB9CiAKLXZvaWQgQml0bWFwSW1hZ2U6OnN0YXJ0VGltZXIoZG91YmxlIGRl
bGF5KQordm9pZCBCaXRtYXBJbWFnZTo6c3RhcnRUaW1lcihTZWNvbmRzIGRlbGF5KQogewogICAg
IEFTU0VSVCghbV9mcmFtZVRpbWVyKTsKICAgICBtX2ZyYW1lVGltZXIgPSBzdGQ6Om1ha2VfdW5p
cXVlPFRpbWVyPigqdGhpcywgJkJpdG1hcEltYWdlOjphZHZhbmNlQW5pbWF0aW9uKTsKQEAgLTMz
MiwxNCArMzMyLDE0IEBAIEJpdG1hcEltYWdlOjpTdGFydEFuaW1hdGlvblN0YXR1cyBCaXRtYXBJ
bWFnZTo6aW50ZXJuYWxTdGFydEFuaW1hdGlvbigpCiAgICAgaWYgKCFtX3NvdXJjZS5pc0FsbERh
dGFSZWNlaXZlZCgpICYmICFmcmFtZUlzQ29tcGxldGVBdEluZGV4KG5leHRGcmFtZSkpCiAgICAg
ICAgIHJldHVybiBTdGFydEFuaW1hdGlvblN0YXR1czo6SW5jb21wbGV0ZURhdGE7CiAKLSAgICBk
b3VibGUgdGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOworICAgIE1vbm90b25p
Y1RpbWUgdGltZSA9IE1vbm90b25pY1RpbWU6Om5vdygpOwogCiAgICAgLy8gSGFuZGxlIGluaXRp
YWwgc3RhdGUuCiAgICAgaWYgKCFtX2Rlc2lyZWRGcmFtZVN0YXJ0VGltZSkKICAgICAgICAgbV9k
ZXNpcmVkRnJhbWVTdGFydFRpbWUgPSB0aW1lOwogCiAgICAgLy8gU2V0dGluZyAnbV9kZXNpcmVk
RnJhbWVTdGFydFRpbWUnIHRvICd0aW1lJyBtZWFucyB3ZSBhcmUgbGF0ZTsgb3RoZXJ3aXNlIHdl
IGFyZSBlYXJseS4KLSAgICBtX2Rlc2lyZWRGcmFtZVN0YXJ0VGltZSA9IHN0ZDo6bWF4KHRpbWUs
IG1fZGVzaXJlZEZyYW1lU3RhcnRUaW1lICsgZnJhbWVEdXJhdGlvbkF0SW5kZXgobV9jdXJyZW50
RnJhbWUpKTsKKyAgICBtX2Rlc2lyZWRGcmFtZVN0YXJ0VGltZSA9IHN0ZDo6bWF4KHRpbWUsIG1f
ZGVzaXJlZEZyYW1lU3RhcnRUaW1lICsgU2Vjb25kcyB7IGZyYW1lRHVyYXRpb25BdEluZGV4KG1f
Y3VycmVudEZyYW1lKSB9KTsKIAogICAgIC8vIFJlcXVlc3QgYXN5bmMgZGVjb2RpbmcgZm9yIG5l
eHRGcmFtZSBvbmx5IGlmIHRoaXMgaXMgcmVxdWlyZWQuIElmIG5leHRGcmFtZSBpcyBub3QgaW4g
dGhlIGZyYW1lQ2FjaGUsCiAgICAgLy8gaXQgd2lsbCBiZSBkZWNvZGVkIG9uIGEgc2VwYXJhdGUg
d29yayBxdWV1ZS4gV2hlbiBkZWNvZGluZyBuZXh0RnJhbWUgZmluaXNoZXMsIHdlIHdpbGwgYmUg
bm90aWZpZWQKQEAgLTM1Nyw3ICszNTcsNyBAQCBCaXRtYXBJbWFnZTo6U3RhcnRBbmltYXRpb25T
dGF0dXMgQml0bWFwSW1hZ2U6OmludGVybmFsU3RhcnRBbmltYXRpb24oKQogICAgICAgICBVTlVT
RURfUEFSQU0oaXNBc3luY0RlY29kZSk7CiAjZW5kaWYKIAotICAgICAgICBtX2Rlc2lyZWRGcmFt
ZURlY29kZVRpbWVGb3JUZXN0aW5nID0gdGltZSArIHN0ZDo6bWF4KG1fZnJhbWVEZWNvZGluZ0R1
cmF0aW9uRm9yVGVzdGluZywgMC4wZik7CisgICAgICAgIG1fZGVzaXJlZEZyYW1lRGVjb2RlVGlt
ZUZvclRlc3RpbmcgPSB0aW1lICsgc3RkOjptYXgobV9mcmFtZURlY29kaW5nRHVyYXRpb25Gb3JU
ZXN0aW5nLCAwX3MpOwogICAgICAgICBpZiAobV9jbGVhckRlY29kZXJBZnRlckFzeW5jRnJhbWVS
ZXF1ZXN0Rm9yVGVzdGluZykKICAgICAgICAgICAgIG1fc291cmNlLmNsZWFyKGRhdGEoKSk7CiAg
ICAgfQpAQCAtMzc0LDcgKzM3NCw3IEBAIHZvaWQgQml0bWFwSW1hZ2U6OmFkdmFuY2VBbmltYXRp
b24oKQogICAgIC8vIFByZXRlbmQgYXMgaWYgZGVjb2RpbmcgbmV4dEZyYW1lIGhhcyB0YWtlbiBt
X2ZyYW1lRGVjb2RpbmdEdXJhdGlvbkZvclRlc3RpbmcgZnJvbQogICAgIC8vIHRoZSB0aW1lIHRo
aXMgZGVjb2Rpbmcgd2FzIHJlcXVlc3RlZC4KICAgICBpZiAoc2hvdWxkVXNlQXN5bmNEZWNvZGlu
Z0ZvckFuaW1hdGVkSW1hZ2VzRm9yVGVzdGluZygpKSB7Ci0gICAgICAgIGRvdWJsZSB0aW1lID0g
bW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7CisgICAgICAgIE1vbm90b25pY1RpbWUgdGlt
ZSA9IE1vbm90b25pY1RpbWU6Om5vdygpOwogICAgICAgICAvLyBTdGFydCBhIHRpbWVyIHdpdGgg
dGhlIHJlbWFpbmluZyB0aW1lIGZyb20gbm93IHRpbGwgdGhlIG1fZGVzaXJlZEZyYW1lRGVjb2Rl
VGltZS4KICAgICAgICAgaWYgKG1fZGVzaXJlZEZyYW1lRGVjb2RlVGltZUZvclRlc3RpbmcgPiBz
dGQ6Om1heCh0aW1lLCBtX2Rlc2lyZWRGcmFtZVN0YXJ0VGltZSkpIHsKICAgICAgICAgICAgIHN0
YXJ0VGltZXIobV9kZXNpcmVkRnJhbWVEZWNvZGVUaW1lRm9yVGVzdGluZyAtIHRpbWUpOwpAQCAt
NDI2LDcgKzQyNiw3IEBAIHZvaWQgQml0bWFwSW1hZ2U6OnJlc2V0QW5pbWF0aW9uKCkKICAgICBz
dG9wQW5pbWF0aW9uKCk7CiAgICAgbV9jdXJyZW50RnJhbWUgPSAwOwogICAgIG1fcmVwZXRpdGlv
bnNDb21wbGV0ZSA9IFJlcGV0aXRpb25Db3VudE5vbmU7Ci0gICAgbV9kZXNpcmVkRnJhbWVTdGFy
dFRpbWUgPSAwOworICAgIG1fZGVzaXJlZEZyYW1lU3RhcnRUaW1lID0geyB9OwogICAgIG1fYW5p
bWF0aW9uRmluaXNoZWQgPSBmYWxzZTsKIAogICAgIC8vIEZvciBleHRyZW1lbHkgbGFyZ2UgYW5p
bWF0aW9ucywgd2hlbiB0aGUgYW5pbWF0aW9uIGlzIHJlc2V0LCB3ZSBqdXN0IHRocm93IGV2ZXJ5
dGhpbmcgYXdheS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0JpdG1hcEltYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJ
bWFnZS5oCmluZGV4IDQyMmQ2Yzk4MGE1N2Y1NDc2ZjNiMmU3YzI2ZDA2MDBmMGRiOTU0NTIuLjhl
YTI0ZDZiYWZhMDExMjg3N2I1MDNiOTdmYzdkY2FmZDI1ZTUyNTQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuaApAQCAtOTcsOCArOTcsOCBAQCBw
dWJsaWM6CiAgICAgYm9vbCBjdXJyZW50RnJhbWVLbm93blRvQmVPcGFxdWUoKSBjb25zdCBvdmVy
cmlkZSB7IHJldHVybiAhZnJhbWVIYXNBbHBoYUF0SW5kZXgoY3VycmVudEZyYW1lKCkpOyB9CiAg
ICAgSW1hZ2VPcmllbnRhdGlvbiBvcmllbnRhdGlvbkZvckN1cnJlbnRGcmFtZSgpIGNvbnN0IG92
ZXJyaWRlIHsgcmV0dXJuIGZyYW1lT3JpZW50YXRpb25BdEluZGV4KGN1cnJlbnRGcmFtZSgpKTsg
fQogCi0gICAgYm9vbCBzaG91bGRVc2VBc3luY0RlY29kaW5nRm9yQW5pbWF0ZWRJbWFnZXNGb3JU
ZXN0aW5nKCkgY29uc3QgeyByZXR1cm4gbV9mcmFtZURlY29kaW5nRHVyYXRpb25Gb3JUZXN0aW5n
ID4gMDsgfQotICAgIHZvaWQgc2V0RnJhbWVEZWNvZGluZ0R1cmF0aW9uRm9yVGVzdGluZyhmbG9h
dCBkdXJhdGlvbikgeyBtX2ZyYW1lRGVjb2RpbmdEdXJhdGlvbkZvclRlc3RpbmcgPSBkdXJhdGlv
bjsgfQorICAgIGJvb2wgc2hvdWxkVXNlQXN5bmNEZWNvZGluZ0ZvckFuaW1hdGVkSW1hZ2VzRm9y
VGVzdGluZygpIGNvbnN0IHsgcmV0dXJuIG1fZnJhbWVEZWNvZGluZ0R1cmF0aW9uRm9yVGVzdGlu
ZyA+IDBfczsgfQorICAgIHZvaWQgc2V0RnJhbWVEZWNvZGluZ0R1cmF0aW9uRm9yVGVzdGluZyhT
ZWNvbmRzIGR1cmF0aW9uKSB7IG1fZnJhbWVEZWNvZGluZ0R1cmF0aW9uRm9yVGVzdGluZyA9IGR1
cmF0aW9uOyB9CiAgICAgYm9vbCBzaG91bGRVc2VBc3luY0RlY29kaW5nRm9yTGFyZ2VJbWFnZXMo
KTsKICAgICBib29sIHNob3VsZFVzZUFzeW5jRGVjb2RpbmdGb3JBbmltYXRlZEltYWdlcygpOwog
ICAgIHZvaWQgc2V0Q2xlYXJEZWNvZGVyQWZ0ZXJBc3luY0ZyYW1lUmVxdWVzdEZvclRlc3Rpbmco
Ym9vbCB2YWx1ZSkgeyBtX2NsZWFyRGVjb2RlckFmdGVyQXN5bmNGcmFtZVJlcXVlc3RGb3JUZXN0
aW5nID0gdmFsdWU7IH0KQEAgLTE5MCw3ICsxOTAsNyBAQCBwcm90ZWN0ZWQ6CiAKIHByaXZhdGU6
CiAgICAgdm9pZCBjbGVhclRpbWVyKCk7Ci0gICAgdm9pZCBzdGFydFRpbWVyKGRvdWJsZSBkZWxh
eSk7CisgICAgdm9pZCBzdGFydFRpbWVyKFNlY29uZHMgZGVsYXkpOwogICAgIGJvb2wgaXNCaXRt
YXBJbWFnZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0KICAgICB2b2lkIGR1bXAo
VGV4dFN0cmVhbSYpIGNvbnN0IG92ZXJyaWRlOwogCkBAIC0yMDcsMTEgKzIwNywxMSBAQCBwcml2
YXRlOgogICAgIFN1YnNhbXBsaW5nTGV2ZWwgbV9jdXJyZW50U3Vic2FtcGxpbmdMZXZlbCB7IFN1
YnNhbXBsaW5nTGV2ZWw6OkRlZmF1bHQgfTsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8VGltZXI+IG1f
ZnJhbWVUaW1lcjsKICAgICBSZXBldGl0aW9uQ291bnQgbV9yZXBldGl0aW9uc0NvbXBsZXRlIHsg
UmVwZXRpdGlvbkNvdW50Tm9uZSB9OyAvLyBIb3cgbWFueSByZXBldGl0aW9ucyB3ZSd2ZSBmaW5p
c2hlZC4KLSAgICBkb3VibGUgbV9kZXNpcmVkRnJhbWVTdGFydFRpbWUgeyAwIH07IC8vIFRoZSBz
eXN0ZW0gdGltZSBhdCB3aGljaCB3ZSBob3BlIHRvIHNlZSB0aGUgbmV4dCBjYWxsIHRvIHN0YXJ0
QW5pbWF0aW9uKCkuCisgICAgTW9ub3RvbmljVGltZSBtX2Rlc2lyZWRGcmFtZVN0YXJ0VGltZTsg
Ly8gVGhlIHN5c3RlbSB0aW1lIGF0IHdoaWNoIHdlIGhvcGUgdG8gc2VlIHRoZSBuZXh0IGNhbGwg
dG8gc3RhcnRBbmltYXRpb24oKS4KICAgICBib29sIG1fYW5pbWF0aW9uRmluaXNoZWQgeyBmYWxz
ZSB9OwogCi0gICAgZmxvYXQgbV9mcmFtZURlY29kaW5nRHVyYXRpb25Gb3JUZXN0aW5nIHsgMCB9
OwotICAgIGRvdWJsZSBtX2Rlc2lyZWRGcmFtZURlY29kZVRpbWVGb3JUZXN0aW5nIHsgMCB9Owor
ICAgIFNlY29uZHMgbV9mcmFtZURlY29kaW5nRHVyYXRpb25Gb3JUZXN0aW5nOworICAgIE1vbm90
b25pY1RpbWUgbV9kZXNpcmVkRnJhbWVEZWNvZGVUaW1lRm9yVGVzdGluZzsKICAgICBib29sIG1f
Y2xlYXJEZWNvZGVyQWZ0ZXJBc3luY0ZyYW1lUmVxdWVzdEZvclRlc3RpbmcgeyBmYWxzZSB9Owog
I2lmICFMT0dfRElTQUJMRUQKICAgICBzaXplX3QgbV9sYXRlRnJhbWVDb3VudCB7IDAgfTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWJhY2tU
YXJnZXRQaWNrZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQ
bGF5YmFja1RhcmdldFBpY2tlci5jcHAKaW5kZXggNDkzMTY4NmIzMTUxMjc3MTYyNTA0ODg4Yjcx
NWUyODFhMjc1OTIwNi4uZjUwMTNmNGEwZjQ5M2FmMWFiOTUyNzE4YzkzNDA4NGM3NTVkMjZhYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5YmFj
a1RhcmdldFBpY2tlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
TWVkaWFQbGF5YmFja1RhcmdldFBpY2tlci5jcHAKQEAgLTMzLDcgKzMzLDcgQEAKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCi1zdGF0aWMgY29uc3QgZG91YmxlIHBlbmRpbmdBY3Rpb25JbnRlcnZh
bCA9IDEuMCAvIDEwLjA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBwZW5kaW5nQWN0aW9uSW50ZXJ2
YWwgeyAxMDBfbXMgfTsKIAogTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlcjo6TWVkaWFQbGF5YmFj
a1RhcmdldFBpY2tlcihDbGllbnQmIGNsaWVudCkKICAgICA6IG1fY2xpZW50KCZjbGllbnQpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TaGFkb3dCbHVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NoYWRvd0JsdXIuY3BwCmluZGV4
IGYxN2IzZmZlNzMxMzA0MGFiMjFmZmM4MDUwM2I1OTQxMzdhMjM0YjguLjg3ZjQ1ZTQ2MGZkZTA5
YzRmZmVkZWQyZmUwNTEwZGQ0OTgzMTY1ZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL1NoYWRvd0JsdXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL1NoYWRvd0JsdXIuY3BwCkBAIC0xMjQsNyArMTI0LDcgQEAgcHVibGljOgog
ICAgICAgICBpZiAobV9wdXJnZVRpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAgICAgICBtX3B1cmdl
VGltZXIuc3RvcCgpOwogCi0gICAgICAgIGNvbnN0IGRvdWJsZSBzY3JhdGNoQnVmZmVyUHVyZ2VJ
bnRlcnZhbCA9IDI7CisgICAgICAgIGNvbnN0IFNlY29uZHMgc2NyYXRjaEJ1ZmZlclB1cmdlSW50
ZXJ2YWwgeyAyX3MgfTsKICAgICAgICAgbV9wdXJnZVRpbWVyLnN0YXJ0T25lU2hvdChzY3JhdGNo
QnVmZmVyUHVyZ2VJbnRlcnZhbCk7CiAgICAgfQogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvTGF5ZXJQb29sLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NhL0xheWVyUG9vbC5jcHAKaW5kZXggMGNmN2Y3N2U2MTFhZDJi
ZDRlYjA3MjM1MDAxOGFkYzRiY2RiODQ1Zi4uMGNjNGZhYzU4YTMwNDJhYjY2ODRjZTE2YmU3MGQ0
YzI1MGFmOTdhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2EvTGF5ZXJQb29sLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
YS9MYXllclBvb2wuY3BwCkBAIC0xMTAsNyArMTEwLDcgQEAgdm9pZCBMYXllclBvb2w6OnNjaGVk
dWxlUHJ1bmUoKQogewogICAgIGlmIChtX3BydW5lVGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAg
cmV0dXJuOwotICAgIG1fcHJ1bmVUaW1lci5zdGFydE9uZVNob3QoMSk7CisgICAgbV9wcnVuZVRp
bWVyLnN0YXJ0T25lU2hvdCgxX3MpOwogfQogCiB2b2lkIExheWVyUG9vbDo6cHJ1bmVUaW1lckZp
cmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJl
YW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAK
aW5kZXggMDQ2NmY3NzMxZDkzNjZkOWYzODUwNzgxOTBhZjRlODBjODczN2FmNi4uOWQyYWNkNGUx
ZWQwYjI5NzhmZWVjNGNjNTA4Y2Q0OWIxZmNmZjBlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1l
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01l
ZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAKQEAgLTM3MCw3ICszNzAsNyBAQCBib29sIE1l
ZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6Y2hhbmdlUGlwZWxpbmVTdGF0ZShHc3RTdGF0ZSBu
ZXdTdGF0ZSkKICAgICBpZiAobmV3U3RhdGUgPT0gR1NUX1NUQVRFX1JFQURZICYmICFtX3JlYWR5
VGltZXJIYW5kbGVyLmlzQWN0aXZlKCkpIHsKICAgICAgICAgLy8gTWF4IGludGVydmFsIGluIHNl
Y29uZHMgdG8gc3RheSBpbiB0aGUgUkVBRFkgc3RhdGUgb24gbWFudWFsCiAgICAgICAgIC8vIHN0
YXRlIGNoYW5nZSByZXF1ZXN0cy4KLSAgICAgICAgc3RhdGljIGNvbnN0IGRvdWJsZSByZWFkeVN0
YXRlVGltZXJEZWxheSA9IDYwOworICAgICAgICBzdGF0aWMgY29uc3QgU2Vjb25kcyByZWFkeVN0
YXRlVGltZXJEZWxheSB7IDFfbWluIH07CiAgICAgICAgIG1fcmVhZHlUaW1lckhhbmRsZXIuc3Rh
cnRPbmVTaG90KHJlYWR5U3RhdGVUaW1lckRlbGF5KTsKICAgICB9IGVsc2UgaWYgKG5ld1N0YXRl
ICE9IEdTVF9TVEFURV9SRUFEWSkKICAgICAgICAgbV9yZWFkeVRpbWVySGFuZGxlci5zdG9wKCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvR3JhcGhp
Y3NDb250ZXh0M0RNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMv
R3JhcGhpY3NDb250ZXh0M0RNYWMubW0KaW5kZXggNTZiZTA2ZmU0MDFmZDQ1Njk4OGZhMmZmMTVk
OTUzMWIxMzU2MGQ2Ny4uMWM0ZTQzNTkzNWExY2E0NjIxNGQzNDgwMDU0MDUzYzU5ZjhlZjA5MiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0dyYXBoaWNz
Q29udGV4dDNETWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21h
Yy9HcmFwaGljc0NvbnRleHQzRE1hYy5tbQpAQCAtMjc4LDggKzI3OCw4IEBAIHZvaWQgR3JhcGhp
Y3NDb250ZXh0M0RNYW5hZ2VyOjp1cGRhdGVIaWdoUGVyZm9ybWFuY2VTdGF0ZSgpCiAgICAgICAg
ICAgICBMT0coV2ViR0wsICJTZXQgYSB0aW1lciB0byB0dXJuIG9mZiBoaWdoLXBlcmZvcm1hbmNl
IEdQVS4iKTsKICAgICAgICAgICAgIC8vIEZJWE1FOiBFeHBvc2UgdGhpcyB2YWx1ZSBhcyBhIFNl
dHRpbmcsIHdoaWNoIHdvdWxkIHJlcXVpcmUgdGhpcyBjbGFzcwogICAgICAgICAgICAgLy8gdG8g
cmVmZXJlbmNlIGEgZnJhbWUsIHBhZ2Ugb3IgZG9jdW1lbnQuCi0gICAgICAgICAgICBzdGF0aWMg
Y29uc3QgaW50IHRpbWVUb0tlZXBIaWdoUGVyZm9ybWFuY2VHUFVBbGl2ZUluU2Vjb25kcyA9IDEw
OwotICAgICAgICAgICAgbV9kaXNhYmxlSGlnaFBlcmZvcm1hbmNlR1BVVGltZXIuc3RhcnRPbmVT
aG90KHRpbWVUb0tlZXBIaWdoUGVyZm9ybWFuY2VHUFVBbGl2ZUluU2Vjb25kcyk7CisgICAgICAg
ICAgICBzdGF0aWMgY29uc3QgU2Vjb25kcyB0aW1lVG9LZWVwSGlnaFBlcmZvcm1hbmNlR1BVQWxp
dmUgeyAxMF9zIH07CisgICAgICAgICAgICBtX2Rpc2FibGVIaWdoUGVyZm9ybWFuY2VHUFVUaW1l
ci5zdGFydE9uZVNob3QodGltZVRvS2VlcEhpZ2hQZXJmb3JtYW5jZUdQVUFsaXZlKTsKICAgICAg
ICAgfQogICAgIH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvdGV4bWFwL0JpdG1hcFRleHR1cmVQb29sLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3RleG1hcC9CaXRtYXBUZXh0dXJlUG9vbC5jcHAKaW5kZXggMDBjYzhl
ZTM2ZGM1YTdlZTkwOGM0N2E3NDIzZWI3ZGQzYzU4NGYxMC4uOGUzNWZlZjBlYjRmMjFiODdlMDNk
OGRmM2FjZTA3NDYxZDUwYTllZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvdGV4bWFwL0JpdG1hcFRleHR1cmVQb29sLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvQml0bWFwVGV4dHVyZVBvb2wuY3BwCkBAIC0zMyw4
ICszMyw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIGNvbnN0IGRvdWJsZSBz
X3JlbGVhc2VVbnVzZWRTZWNvbmRzVG9sZXJhbmNlID0gMzsKLXN0YXRpYyBjb25zdCBkb3VibGUg
c19yZWxlYXNlVW51c2VkVGV4dHVyZXNUaW1lckludGVydmFsID0gMC41Oworc3RhdGljIGNvbnN0
IGRvdWJsZSByZWxlYXNlVW51c2VkU2Vjb25kc1RvbGVyYW5jZSA9IDM7CitzdGF0aWMgY29uc3Qg
U2Vjb25kcyByZWxlYXNlVW51c2VkVGV4dHVyZXNUaW1lckludGVydmFsIHsgNTAwX21zIH07CiAK
ICNpZiBVU0UoVEVYVFVSRV9NQVBQRVJfR0wpCiBCaXRtYXBUZXh0dXJlUG9vbDo6Qml0bWFwVGV4
dHVyZVBvb2woUmVmUHRyPEdyYXBoaWNzQ29udGV4dDNEPiYmIGNvbnRleHQzRCkKQEAgLTY2LDEz
ICs2NiwxMyBAQCB2b2lkIEJpdG1hcFRleHR1cmVQb29sOjpzY2hlZHVsZVJlbGVhc2VVbnVzZWRU
ZXh0dXJlcygpCiAgICAgaWYgKG1fcmVsZWFzZVVudXNlZFRleHR1cmVzVGltZXIuaXNBY3RpdmUo
KSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9yZWxlYXNlVW51c2VkVGV4dHVyZXNUaW1lci5z
dGFydE9uZVNob3Qoc19yZWxlYXNlVW51c2VkVGV4dHVyZXNUaW1lckludGVydmFsKTsKKyAgICBt
X3JlbGVhc2VVbnVzZWRUZXh0dXJlc1RpbWVyLnN0YXJ0T25lU2hvdChyZWxlYXNlVW51c2VkVGV4
dHVyZXNUaW1lckludGVydmFsKTsKIH0KIAogdm9pZCBCaXRtYXBUZXh0dXJlUG9vbDo6cmVsZWFz
ZVVudXNlZFRleHR1cmVzVGltZXJGaXJlZCgpCiB7Ci0gICAgLy8gRGVsZXRlIGVudHJpZXMsIHdo
aWNoIGhhdmUgYmVlbiB1bnVzZWQgaW4gc19yZWxlYXNlVW51c2VkU2Vjb25kc1RvbGVyYW5jZS4K
LSAgICBkb3VibGUgbWluVXNlZFRpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSAt
IHNfcmVsZWFzZVVudXNlZFNlY29uZHNUb2xlcmFuY2U7CisgICAgLy8gRGVsZXRlIGVudHJpZXMs
IHdoaWNoIGhhdmUgYmVlbiB1bnVzZWQgaW4gcmVsZWFzZVVudXNlZFNlY29uZHNUb2xlcmFuY2Uu
CisgICAgZG91YmxlIG1pblVzZWRUaW1lID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkg
LSByZWxlYXNlVW51c2VkU2Vjb25kc1RvbGVyYW5jZTsKIAogICAgIGlmICghbV90ZXh0dXJlcy5p
c0VtcHR5KCkpIHsKICAgICAgICAgc3RkOjpzb3J0KG1fdGV4dHVyZXMuYmVnaW4oKSwgbV90ZXh0
dXJlcy5lbmQoKSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3RleG1hcC9UZXh0dXJlTWFwcGVyUGxhdGZvcm1MYXllclByb3h5LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyUGxhdGZvcm1MYXllclBy
b3h5LmNwcAppbmRleCA0ZGI3NDgyNDk5NjdjODkwNTJjZWQwZWU0YTIzMGJlZGFlNmEwN2Y4Li5k
YzNlNzQ3ZWVkZGI2ZTc1YjhhMWY5MzNhMjY2MzE2YTI4YmMzZjU0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlclBsYXRmb3Jt
TGF5ZXJQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4
bWFwL1RleHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVyUHJveHkuY3BwCkBAIC0zNyw4ICszNyw4IEBA
CiAjaW5jbHVkZSA8d3RmL2dsaWIvUnVuTG9vcFNvdXJjZVByaW9yaXR5Lmg+CiAjZW5kaWYKIAot
Y29uc3QgZG91YmxlIHNfcmVsZWFzZVVudXNlZFNlY29uZHNUb2xlcmFuY2UgPSAxOwotY29uc3Qg
ZG91YmxlIHNfcmVsZWFzZVVudXNlZEJ1ZmZlcnNUaW1lckludGVydmFsID0gMC41Oworc3RhdGlj
IGNvbnN0IGRvdWJsZSByZWxlYXNlVW51c2VkU2Vjb25kc1RvbGVyYW5jZSA9IDE7CitzdGF0aWMg
Y29uc3QgU2Vjb25kcyByZWxlYXNlVW51c2VkQnVmZmVyc1RpbWVySW50ZXJ2YWwgPSB7IDUwMF9t
cyB9OwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTE0NCw3ICsxNDQsNyBAQCBzdGQ6OnVu
aXF1ZV9wdHI8VGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXJCdWZmZXI+IFRleHR1cmVNYXBwZXJQ
bGF0Zm9ybUxheWVyUHJveAogdm9pZCBUZXh0dXJlTWFwcGVyUGxhdGZvcm1MYXllclByb3h5Ojpz
Y2hlZHVsZVJlbGVhc2VVbnVzZWRCdWZmZXJzKCkKIHsKICAgICBpZiAoIW1fcmVsZWFzZVVudXNl
ZEJ1ZmZlcnNUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3JlbGVhc2VVbnVzZWRCdWZmZXJz
VGltZXIuc3RhcnRPbmVTaG90KHNfcmVsZWFzZVVudXNlZEJ1ZmZlcnNUaW1lckludGVydmFsKTsK
KyAgICAgICAgbV9yZWxlYXNlVW51c2VkQnVmZmVyc1RpbWVyLnN0YXJ0T25lU2hvdChyZWxlYXNl
VW51c2VkQnVmZmVyc1RpbWVySW50ZXJ2YWwpOwogfQogCiB2b2lkIFRleHR1cmVNYXBwZXJQbGF0
Zm9ybUxheWVyUHJveHk6OnJlbGVhc2VVbnVzZWRCdWZmZXJzVGltZXJGaXJlZCgpCkBAIC0xNTQs
NyArMTU0LDcgQEAgdm9pZCBUZXh0dXJlTWFwcGVyUGxhdGZvcm1MYXllclByb3h5OjpyZWxlYXNl
VW51c2VkQnVmZmVyc1RpbWVyRmlyZWQoKQogICAgICAgICByZXR1cm47CiAKICAgICBhdXRvIGJ1
ZmZlcnMgPSBXVEZNb3ZlKG1fdXNlZEJ1ZmZlcnMpOwotICAgIGRvdWJsZSBtaW5Vc2VkVGltZSA9
IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpIC0gc19yZWxlYXNlVW51c2VkU2Vjb25kc1Rv
bGVyYW5jZTsKKyAgICBkb3VibGUgbWluVXNlZFRpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2lu
Z1RpbWUoKSAtIHJlbGVhc2VVbnVzZWRTZWNvbmRzVG9sZXJhbmNlOwogCiAgICAgZm9yIChhdXRv
JiBidWZmZXIgOiBidWZmZXJzKSB7CiAgICAgICAgIGlmIChidWZmZXIgJiYgYnVmZmVyLT5sYXN0
VXNlZFRpbWUoKSA+PSBtaW5Vc2VkVGltZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEltYWdlQmFja2lu
Zy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0
ZWQvQ29vcmRpbmF0ZWRJbWFnZUJhY2tpbmcuY3BwCmluZGV4IDNmNTY3M2U4ZmQ1MzY1ZjA4Y2Zk
NjllZmMzZmFhZWM0MzIzMzZhNjEuLmY1Mjk0NzU1YTIzMzY1NWMzMDY2NTcxY2Y2MzliZWNiNTBj
MDMwNTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1h
cC9jb29yZGluYXRlZC9Db29yZGluYXRlZEltYWdlQmFja2luZy5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkSW1h
Z2VCYWNraW5nLmNwcApAQCAtMTQ0LDcgKzE0NCw3IEBAIHZvaWQgQ29vcmRpbmF0ZWRJbWFnZUJh
Y2tpbmc6OnJlbGVhc2VTdXJmYWNlSWZOZWVkZWQoKQogICAgIG1fc3VyZmFjZSA9IG51bGxwdHI7
CiB9CiAKLXN0YXRpYyBjb25zdCBkb3VibGUgY2xlYXJDb250ZW50c1RpbWVySW50ZXJ2YWwgPSAz
Oworc3RhdGljIGNvbnN0IFNlY29uZHMgY2xlYXJDb250ZW50c1RpbWVySW50ZXJ2YWwgeyAzX3Mg
fTsKIAogdm9pZCBDb29yZGluYXRlZEltYWdlQmFja2luZzo6dXBkYXRlVmlzaWJpbGl0eUlmTmVl
ZGVkKGJvb2wmIGNoYW5nZWRUb1Zpc2libGUpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ndGsvU2Nyb2xsQW5pbWF0b3JHdGsuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3RrL1Njcm9sbEFuaW1hdG9yR3RrLmNwcAppbmRleCA0NGU0NzM0ODJkZmFhMjAzODk0
NjdjNzJlYzkzMDA3OGQ1YTgwYzU5Li4xYjk1NDgxZjg1YWQyNzI1ZWZhYWU0MGRlMWExZGFlNmQ1
NThmNGE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvU2Nyb2xsQW5p
bWF0b3JHdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9TY3JvbGxBbmlt
YXRvckd0ay5jcHAKQEAgLTM4LDggKzM4LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1z
dGF0aWMgY29uc3QgZG91YmxlIG92ZXJmbG93U2Nyb2xsYmFyc0FuaW1hdGlvbkR1cmF0aW9uID0g
MTsKLXN0YXRpYyBjb25zdCBkb3VibGUgb3ZlcmZsb3dTY3JvbGxiYXJzQW5pbWF0aW9uSGlkZURl
bGF5ID0gMjsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIG92ZXJmbG93U2Nyb2xsYmFyc0FuaW1hdGlv
bkR1cmF0aW9uIHsgMV9zIH07CitzdGF0aWMgY29uc3QgU2Vjb25kcyBvdmVyZmxvd1Njcm9sbGJh
cnNBbmltYXRpb25IaWRlRGVsYXkgeyAyX3MgfTsKIAogc3RkOjp1bmlxdWVfcHRyPFNjcm9sbEFu
aW1hdG9yPiBTY3JvbGxBbmltYXRvcjo6Y3JlYXRlKFNjcm9sbGFibGVBcmVhJiBzY3JvbGxhYmxl
QXJlYSkKIHsKQEAgLTE3NiwxMCArMTc2LDEwIEBAIHZvaWQgU2Nyb2xsQW5pbWF0b3JHdGs6Om92
ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25UaW1lckZpcmVkKCkKICAgICBpZiAobV9vdmVybGF5U2Ny
b2xsYmFyc0xvY2tlZCkKICAgICAgICAgcmV0dXJuOwogCi0gICAgZG91YmxlIGN1cnJlbnRUaW1l
ID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7CisgICAgTW9ub3RvbmljVGltZSBjdXJy
ZW50VGltZSA9IE1vbm90b25pY1RpbWU6Om5vdygpOwogICAgIGRvdWJsZSBwcm9ncmVzcyA9IDE7
CiAgICAgaWYgKGN1cnJlbnRUaW1lIDwgbV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uRW5kVGlt
ZSkKLSAgICAgICAgcHJvZ3Jlc3MgPSAoY3VycmVudFRpbWUgLSBtX292ZXJsYXlTY3JvbGxiYXJB
bmltYXRpb25TdGFydFRpbWUpIC8gKG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvbkVuZFRpbWUg
LSBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25TdGFydFRpbWUpOworICAgICAgICBwcm9ncmVz
cyA9IChjdXJyZW50VGltZSAtIG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvblN0YXJ0VGltZSku
dmFsdWUoKSAvIChtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25FbmRUaW1lIC0gbV9vdmVybGF5
U2Nyb2xsYmFyQW5pbWF0aW9uU3RhcnRUaW1lKS52YWx1ZSgpOwogICAgIHByb2dyZXNzID0gbV9v
dmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uU291cmNlICsgKGVhc2VPdXRDdWJpYyhwcm9ncmVzcykg
KiAobV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uVGFyZ2V0IC0gbV9vdmVybGF5U2Nyb2xsYmFy
QW5pbWF0aW9uU291cmNlKSk7CiAgICAgaWYgKHByb2dyZXNzICE9IG1fb3ZlcmxheVNjcm9sbGJh
ckFuaW1hdGlvbkN1cnJlbnQpIHsKICAgICAgICAgbV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9u
Q3VycmVudCA9IHByb2dyZXNzOwpAQCAtMTg4LDkgKzE4OCw5IEBAIHZvaWQgU2Nyb2xsQW5pbWF0
b3JHdGs6Om92ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25UaW1lckZpcmVkKCkKIAogICAgIGlmICht
X292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25DdXJyZW50ICE9IG1fb3ZlcmxheVNjcm9sbGJhckFu
aW1hdGlvblRhcmdldCkgewogICAgICAgICBzdGF0aWMgY29uc3QgZG91YmxlIGZyYW1lUmF0ZSA9
IDYwOwotICAgICAgICBzdGF0aWMgY29uc3QgZG91YmxlIHRpY2tUaW1lID0gMSAvIGZyYW1lUmF0
ZTsKLSAgICAgICAgc3RhdGljIGNvbnN0IGRvdWJsZSBtaW5pbXVtVGltZXJJbnRlcnZhbCA9IC4w
MDE7Ci0gICAgICAgIGRvdWJsZSBkZWx0YVRvTmV4dEZyYW1lID0gc3RkOjptYXgodGlja1RpbWUg
LSAobW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkgLSBjdXJyZW50VGltZSksIG1pbmltdW1U
aW1lckludGVydmFsKTsKKyAgICAgICAgc3RhdGljIGNvbnN0IFNlY29uZHMgdGlja1RpbWUgPSAx
X3MgLyBmcmFtZVJhdGU7CisgICAgICAgIHN0YXRpYyBjb25zdCBTZWNvbmRzIG1pbmltdW1UaW1l
ckludGVydmFsID0gMV9tczsKKyAgICAgICAgU2Vjb25kcyBkZWx0YVRvTmV4dEZyYW1lID0gc3Rk
OjptYXgodGlja1RpbWUgLSAoTW9ub3RvbmljVGltZTo6bm93KCkgLSBjdXJyZW50VGltZSksIG1p
bmltdW1UaW1lckludGVydmFsKTsKICAgICAgICAgbV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9u
VGltZXIuc3RhcnRPbmVTaG90KGRlbHRhVG9OZXh0RnJhbWUpOwogICAgIH0gZWxzZQogICAgICAg
ICBoaWRlT3ZlcmxheVNjcm9sbGJhcnMoKTsKQEAgLTIxMSw3ICsyMTEsNyBAQCB2b2lkIFNjcm9s
bEFuaW1hdG9yR3RrOjpzaG93T3ZlcmxheVNjcm9sbGJhcnMoKQogICAgIG1fb3ZlcmxheVNjcm9s
bGJhckFuaW1hdGlvblNvdXJjZSA9IG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvbkN1cnJlbnQ7
CiAgICAgbV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uVGFyZ2V0ID0gMTsKICAgICBpZiAobV9v
dmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uVGFyZ2V0ICE9IG1fb3ZlcmxheVNjcm9sbGJhckFuaW1h
dGlvbkN1cnJlbnQpIHsKLSAgICAgICAgbV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uU3RhcnRU
aW1lID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7CisgICAgICAgIG1fb3ZlcmxheVNj
cm9sbGJhckFuaW1hdGlvblN0YXJ0VGltZSA9IE1vbm90b25pY1RpbWU6Om5vdygpOwogICAgICAg
ICBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25FbmRUaW1lID0gbV9vdmVybGF5U2Nyb2xsYmFy
QW5pbWF0aW9uU3RhcnRUaW1lICsgb3ZlcmZsb3dTY3JvbGxiYXJzQW5pbWF0aW9uRHVyYXRpb247
CiAgICAgICAgIG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgw
X3MpOwogICAgIH0gZWxzZQpAQCAtMjMxLDcgKzIzMSw3IEBAIHZvaWQgU2Nyb2xsQW5pbWF0b3JH
dGs6OmhpZGVPdmVybGF5U2Nyb2xsYmFycygpCiAgICAgbV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0
aW9uVGFyZ2V0ID0gMDsKICAgICBpZiAobV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uVGFyZ2V0
ID09IG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvbkN1cnJlbnQpCiAgICAgICAgIHJldHVybjsK
LSAgICBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25TdGFydFRpbWUgPSBtb25vdG9uaWNhbGx5
SW5jcmVhc2luZ1RpbWUoKSArIG92ZXJmbG93U2Nyb2xsYmFyc0FuaW1hdGlvbkhpZGVEZWxheTsK
KyAgICBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25TdGFydFRpbWUgPSBNb25vdG9uaWNUaW1l
Ojpub3coKSArIG92ZXJmbG93U2Nyb2xsYmFyc0FuaW1hdGlvbkhpZGVEZWxheTsKICAgICBtX292
ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25FbmRUaW1lID0gbV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0
aW9uU3RhcnRUaW1lICsgb3ZlcmZsb3dTY3JvbGxiYXJzQW5pbWF0aW9uRHVyYXRpb24gKyBvdmVy
Zmxvd1Njcm9sbGJhcnNBbmltYXRpb25IaWRlRGVsYXk7CiAgICAgbV9vdmVybGF5U2Nyb2xsYmFy
QW5pbWF0aW9uVGltZXIuc3RhcnRPbmVTaG90KG92ZXJmbG93U2Nyb2xsYmFyc0FuaW1hdGlvbkhp
ZGVEZWxheSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvU2Ny
b2xsQW5pbWF0b3JHdGsuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9TY3JvbGxBbmlt
YXRvckd0ay5oCmluZGV4IDcwZTViNzNmOWRlMTNkMjEwY2I5OTNlZTkzNTdkNzM5MmRkMzIyYTgu
LmM0MjUzZTVhZGI5MWY3MDQxMzMwNDY4NDFjMjk3NGJmN2RkOGNlY2QgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9TY3JvbGxBbmltYXRvckd0ay5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9TY3JvbGxBbmltYXRvckd0ay5oCkBAIC04MCw4ICs4MCw4
IEBAIHByaXZhdGU6CiAgICAgZG91YmxlIG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvblNvdXJj
ZSB7IDAgfTsKICAgICBkb3VibGUgbV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uVGFyZ2V0IHsg
MCB9OwogICAgIGRvdWJsZSBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25DdXJyZW50IHsgMCB9
OwotICAgIGRvdWJsZSBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25TdGFydFRpbWUgeyAwIH07
Ci0gICAgZG91YmxlIG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvbkVuZFRpbWUgeyAwIH07Cisg
ICAgTW9ub3RvbmljVGltZSBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25TdGFydFRpbWU7Cisg
ICAgTW9ub3RvbmljVGltZSBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25FbmRUaW1lOwogfTsK
IAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vaW9zL1dlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0Lm1tIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0Lm1tCmlu
ZGV4IGYzZmMyYWUyODQ4ZjQ5NzcxOTg1MGE5OThmZDBjOTkzZmIwNzQ1NGEuLjNkYjNjMDI1ZWJj
M2ZjZGY4MzkwZjU3NTljNWU0MjMwODkwYzk3ZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdC5tbQorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZL
aXQubW0KQEAgLTgyLDcgKzgyLDcgQEAgc3RhdGljIGNvbnN0IGNoYXIqIGJvb2xTdHJpbmcoYm9v
bCB2YWwpCiB9CiAjZW5kaWYKIAotc3RhdGljIGNvbnN0IGRvdWJsZSBEZWZhdWx0V2F0Y2hkb2dU
aW1lckludGVydmFsID0gMTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIGRlZmF1bHRXYXRjaGRvZ1Rp
bWVySW50ZXJ2YWwgeyAxX3MgfTsKIAogQGNsYXNzIFdlYkFWTWVkaWFTZWxlY3Rpb25PcHRpb247
CiAKQEAgLTk4Niw3ICs5ODYsNyBAQCBib29sIFdlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFW
S2l0OjpzaG91bGRFeGl0RnVsbHNjcmVlbldpdGhSZWFzb24oV2ViVmlkZW9GdQogICAgIG1fdmlk
ZW9GdWxsc2NyZWVuTW9kZWwtPnJlcXVlc3RGdWxsc2NyZWVuTW9kZShIVE1MTWVkaWFFbGVtZW50
RW51bXM6OlZpZGVvRnVsbHNjcmVlbk1vZGVOb25lLCByZWFzb24gPT0gRXhpdEZ1bGxTY3JlZW5S
ZWFzb246OkRvbmVCdXR0b25UYXBwZWQpOwogCiAgICAgaWYgKCFtX3dhdGNoZG9nVGltZXIuaXNB
Y3RpdmUoKSkKLSAgICAgICAgbV93YXRjaGRvZ1RpbWVyLnN0YXJ0T25lU2hvdChEZWZhdWx0V2F0
Y2hkb2dUaW1lckludGVydmFsKTsKKyAgICAgICAgbV93YXRjaGRvZ1RpbWVyLnN0YXJ0T25lU2hv
dChkZWZhdWx0V2F0Y2hkb2dUaW1lckludGVydmFsKTsKIAogICAgIHJldHVybiBmYWxzZTsKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1h
Yy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5tbQpp
bmRleCA5NjI0ZDA1ZDE4ZTZmZDI1NmU3YWU5MTEyNjkzYTU0MDE4ODIwNTQ4Li4wZGEzNDliZmZh
ZjFmMWFjOTg4ODc2NWE5YzBiODc2MWNjYzY0ZGZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWFjL1Njcm9sbEFuaW1hdG9yTWFjLm1tCkBAIC0xMzM4LDcgKzEzMzgsNyBAQCB2
b2lkIFNjcm9sbEFuaW1hdG9yTWFjOjp1cGRhdGVTY3JvbGxlclN0eWxlKCkKIAogdm9pZCBTY3Jv
bGxBbmltYXRvck1hYzo6c3RhcnRTY3JvbGxiYXJQYWludFRpbWVyKCkKIHsKLSAgICBtX2luaXRp
YWxTY3JvbGxiYXJQYWludFRpbWVyLnN0YXJ0T25lU2hvdCgwLjEpOworICAgIG1faW5pdGlhbFNj
cm9sbGJhclBhaW50VGltZXIuc3RhcnRPbmVTaG90KDEwMF9tcyk7CiB9CiAKIGJvb2wgU2Nyb2xs
QW5pbWF0b3JNYWM6OnNjcm9sbGJhclBhaW50VGltZXJJc0FjdGl2ZSgpIGNvbnN0CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01lZGlhUGxheWJhY2tUYXJnZXRQaWNr
ZXJNb2NrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTWVkaWFQbGF5YmFja1Rh
cmdldFBpY2tlck1vY2suY3BwCmluZGV4IDFhNjBjYTI0YmJjNjA5NmI3YTk1ZTIxMDY2MDQ5NTEy
ZmUyZjI1NWIuLjVhYWE4NGRjOWEwYWNjMjkwNmZiMDkzZTFiZjgyNGI2ZTc5ODBjMzMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTWVkaWFQbGF5YmFja1RhcmdldFBp
Y2tlck1vY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTWVkaWFQbGF5
YmFja1RhcmdldFBpY2tlck1vY2suY3BwCkBAIC0zNyw3ICszNyw3IEBAIHVzaW5nIG5hbWVzcGFj
ZSBXZWJDb3JlOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBkb3VibGUg
dGltZXJJbnRlcnZhbCA9IDEuMCAvIDEwLjA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyB0aW1lcklu
dGVydmFsIHsgMTAwX21zIH07CiAKIE1lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXJNb2NrOjpNZWRp
YVBsYXliYWNrVGFyZ2V0UGlja2VyTW9jayhNZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyOjpDbGll
bnQmIGNsaWVudCkKICAgICA6IE1lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXIoY2xpZW50KQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9QbGF0Zm9ybVNwZWVjaFN5bnRo
ZXNpemVyTW9jay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1BsYXRmb3JtU3Bl
ZWNoU3ludGhlc2l6ZXJNb2NrLmNwcAppbmRleCBmM2JjNzFjMGY3MzNkMjgzM2VjMzQ4NWU4OTQ5
NDQ4ZDM4ZGQzZjExLi42N2Y5N2RkNjFjZGQ2MzFlYWM5OGNlYTBkOTQ2MjM2MDIyNzllMGJkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1BsYXRmb3JtU3BlZWNoU3lu
dGhlc2l6ZXJNb2NrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1BsYXRm
b3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrLmNwcApAQCAtNjgsNyArNjgsNyBAQCB2b2lkIFBsYXRm
b3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrOjpzcGVhayhSZWZQdHI8UGxhdGZvcm1TcGVlY2hTeW50
aGVzaXNVdHRlcmFuYwogICAgIGNsaWVudCgpLT5ib3VuZGFyeUV2ZW50T2NjdXJyZWQoKm1fdXR0
ZXJhbmNlLCBTcGVlY2hTZW50ZW5jZUJvdW5kYXJ5LCBtX3V0dGVyYW5jZS0+dGV4dCgpLmxlbmd0
aCgpKTsKIAogICAgIC8vIEdpdmUgdGhlIGZha2Ugc3BlZWNoIGpvYiBzb21lIHRpbWUgc28gdGhh
dCBwYXVzZSBhbmQgb3RoZXIgZnVuY3Rpb25zIGhhdmUgdGltZSB0byBiZSBjYWxsZWQuCi0gICAg
bV9zcGVha2luZ0ZpbmlzaGVkVGltZXIuc3RhcnRPbmVTaG90KC4xKTsKKyAgICBtX3NwZWFraW5n
RmluaXNoZWRUaW1lci5zdGFydE9uZVNob3QoMTAwX21zKTsKIH0KIAogdm9pZCBQbGF0Zm9ybVNw
ZWVjaFN5bnRoZXNpemVyTW9jazo6Y2FuY2VsKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21vY2svVGltZXJFdmVudEJhc2VkTW9jay5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbW9jay9UaW1lckV2ZW50QmFzZWRNb2NrLmgKaW5kZXggZGUwZThhOWZkNjU5NmIyZTJh
YjczNzAzMDQ3ZGU1ZWQzN2ZmZWNhYy4uZGRjZDI3NWE4MmQ0MmI0NjFmODQ1ZDMzNDRmZGUxYjk0
MDhlNGYyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9UaW1lckV2
ZW50QmFzZWRNb2NrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9UaW1lckV2
ZW50QmFzZWRNb2NrLmgKQEAgLTYzLDcgKzYzLDcgQEAgcHVibGljOgogICAgICAgICAsIG1fdGlt
ZXIoKnRoaXMsICZUaW1lckV2ZW50Ojp0aW1lckZpcmVkKQogICAgICAgICAsIG1fbm90aWZpZXIo
bm90aWZpZXIpCiAgICAgewotICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwLjUpOworICAg
ICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCg1MDBfbXMpOwogICAgIH0KIAogICAgIHZpcnR1YWwg
flRpbWVyRXZlbnQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9ETlNSZXNvbHZlUXVldWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9E
TlNSZXNvbHZlUXVldWUuY3BwCmluZGV4IDU4NzczYWEzMzI5MWNhN2E2ODk1NzU4NmVlODIwM2M2
YmFjMmNmZjMuLmE4YzJkZjQwYzNiZmJhYzVmNWMzOTI5YmNhMzM5MzAwZjBhMDI2MTggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRE5TUmVzb2x2ZVF1ZXVlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0ROU1Jlc29sdmVRdWV1ZS5j
cHAKQEAgLTM3LDcgKzM3LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogc3RhdGljIGNvbnN0IGlu
dCBnTmFtZXNUb1Jlc29sdmVJbW1lZGlhdGVseSA9IDQ7CiAKIC8vIENvYWxlc2NlIHByZWZldGNo
IHJlcXVlc3RzIGZvciB0aGlzIGxvbmcgYmVmb3JlIHNlbmRpbmcgdGhlbSBvdXQuCi1zdGF0aWMg
Y29uc3QgZG91YmxlIGdDb2FsZXNjZURlbGF5SW5TZWNvbmRzID0gMS4wOworc3RhdGljIGNvbnN0
IFNlY29uZHMgY29hbGVzY2VEZWxheSB7IDFfcyB9OwogCiAvLyBTZW5kaW5nIG1hbnkgRE5TIHJl
cXVlc3RzIGF0IG9uY2UgY2FuIG92ZXJ3aGVsbSBzb21lIGdhdGV3YXlzLiBTZWUgPHJkYXI6Ly84
MTA1NTUwPiBmb3Igc3BlY2lmaWMgQ0ZORVQgaXNzdWVzIHdpdGggQ0ZIb3N0IHRocm90dGxpbmcu
CiBzdGF0aWMgY29uc3QgaW50IGdNYXhTaW11bHRhbmVvdXNSZXF1ZXN0cyA9IDg7CkBAIC00OCw3
ICs0OCw3IEBAIHN0YXRpYyBjb25zdCBpbnQgZ01heFNpbXVsdGFuZW91c1JlcXVlc3RzID0gODsK
IHN0YXRpYyBjb25zdCBpbnQgZ01heFJlcXVlc3RzVG9RdWV1ZSA9IDY0OwogCiAvLyBJZiB0aGVy
ZSB3ZXJlIHF1ZXVlZCBuYW1lcyB0aGF0IGNvdWxkbid0IGJlIHNlbnQgc2ltdWx0YW5lb3VzbHks
IGNoZWNrIHRoZSBzdGF0ZSBvZiByZXNvbHZlcnMgYWZ0ZXIgdGhpcyBkZWxheS4KLXN0YXRpYyBj
b25zdCBkb3VibGUgZ1JldHJ5UmVzb2x2aW5nSW5TZWNvbmRzID0gMC4xOworc3RhdGljIGNvbnN0
IFNlY29uZHMgcmVzb2x2aW5nUmV0cnlEZWxheSB7IDEwMF9tcyB9OwogCiBETlNSZXNvbHZlUXVl
dWUmIEROU1Jlc29sdmVRdWV1ZTo6c2luZ2xldG9uKCkKIHsKQEAgLTEwMSw3ICsxMDEsNyBAQCB2
b2lkIEROU1Jlc29sdmVRdWV1ZTo6YWRkKGNvbnN0IFN0cmluZyYgaG9zdG5hbWUpCiAgICAgaWYg
KG1fbmFtZXMuc2l6ZSgpIDwgZ01heFJlcXVlc3RzVG9RdWV1ZSkgewogICAgICAgICBtX25hbWVz
LmFkZChob3N0bmFtZSk7CiAgICAgICAgIGlmICghbV90aW1lci5pc0FjdGl2ZSgpKQotICAgICAg
ICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoZ0NvYWxlc2NlRGVsYXlJblNlY29uZHMpOworICAg
ICAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoY29hbGVzY2VEZWxheSk7CiAgICAgfQogfQog
CkBAIC0xMjIsNyArMTIyLDcgQEAgdm9pZCBETlNSZXNvbHZlUXVldWU6OnRpbWVyRmlyZWQoKQog
ICAgIH0KIAogICAgIGlmICghbV9uYW1lcy5pc0VtcHR5KCkpCi0gICAgICAgIG1fdGltZXIuc3Rh
cnRPbmVTaG90KGdSZXRyeVJlc29sdmluZ0luU2Vjb25kcyk7CisgICAgICAgIG1fdGltZXIuc3Rh
cnRPbmVTaG90KHJlc29sdmluZ1JldHJ5RGVsYXkpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1BpbmdIYW5k
bGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUGluZ0hhbmRsZS5oCmluZGV4
IDE3YzU0ZTA5NjlkNjNiZGQwZTAzZjdiZmVlNDg0MzNkNzQ1NWFhMmQuLmNiYWZjMDkzNTY5ZmVl
MTM3OGQ4MzNkMzY3ZjM0NjRhOWM0NThiNjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvUGluZ0hhbmRsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvUGluZ0hhbmRsZS5oCkBAIC01Myw3ICs1Myw3IEBAIHB1YmxpYzoKIAogICAgICAg
ICAvLyBJZiB0aGUgc2VydmVyIG5ldmVyIHJlc3BvbmRzLCB0aGlzIG9iamVjdCB3aWxsIGhhbmcg
YXJvdW5kIGZvcmV2ZXIuCiAgICAgICAgIC8vIFNldCBhIHZlcnkgZ2VuZXJvdXMgdGltZW91dCwg
anVzdCBpbiBjYXNlLgotICAgICAgICBtX3RpbWVvdXRUaW1lci5zdGFydE9uZVNob3QoNjAwMDAp
OworICAgICAgICBtX3RpbWVvdXRUaW1lci5zdGFydE9uZVNob3QoNjAwMDBfcyk7CiAgICAgfQog
CiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9j
dXJsL1Jlc291cmNlSGFuZGxlTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL2N1cmwvUmVzb3VyY2VIYW5kbGVNYW5hZ2VyLmNwcAppbmRleCBhZmJhNTVmNmZlMjE0
MGRkZmYzN2I1ZWQxZjk5NmUwZTdiNzg2NmY5Li5jYWNmYmI1NzVlOThiODUwYjAyYjBhZDMzMzEw
ZWVjOGFlZTQxOTMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L2N1cmwvUmVzb3VyY2VIYW5kbGVNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL2N1cmwvUmVzb3VyY2VIYW5kbGVNYW5hZ2VyLmNwcApAQCAtODMsNyArODMs
NyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjb25zdCBpbnQgc2VsZWN0VGltZW91dE1TID0g
NTsKLWNvbnN0IGRvdWJsZSBwb2xsVGltZVNlY29uZHMgPSAwLjA1Oworc3RhdGljIGNvbnN0IFNl
Y29uZHMgcG9sbFRpbWUgeyA1MF9tcyB9OwogY29uc3QgaW50IG1heFJ1bm5pbmdKb2JzID0gMTI4
OwogY29uc3QgY2hhciogY29uc3QgZXJyb3JEb21haW5DdXJsID0gIkN1cmxFcnJvckRvbWFpbiI7
CiAKQEAgLTcyNyw3ICs3MjcsNyBAQCB2b2lkIFJlc291cmNlSGFuZGxlTWFuYWdlcjo6ZG93bmxv
YWRUaW1lckNhbGxiYWNrKCkKICAgICBib29sIHN0YXJ0ZWQgPSBzdGFydFNjaGVkdWxlZEpvYnMo
KTsgLy8gbmV3IGpvYnMgbWlnaHQgaGF2ZSBiZWVuIGFkZGVkIGluIHRoZSBtZWFudGltZQogCiAg
ICAgaWYgKCFtX2Rvd25sb2FkVGltZXIuaXNBY3RpdmUoKSAmJiAoc3RhcnRlZCB8fCAocnVubmlu
Z0hhbmRsZXMgPiAwKSkpCi0gICAgICAgIG1fZG93bmxvYWRUaW1lci5zdGFydE9uZVNob3QocG9s
bFRpbWVTZWNvbmRzKTsKKyAgICAgICAgbV9kb3dubG9hZFRpbWVyLnN0YXJ0T25lU2hvdChwb2xs
VGltZSk7CiB9CiAKIHZvaWQgUmVzb3VyY2VIYW5kbGVNYW5hZ2VyOjpzZXRQcm94eUluZm8oY29u
c3QgU3RyaW5nJiBob3N0LApAQCAtODc3LDcgKzg3Nyw3IEBAIHZvaWQgUmVzb3VyY2VIYW5kbGVN
YW5hZ2VyOjphZGQoUmVzb3VyY2VIYW5kbGUqIGpvYikKICAgICBqb2ItPnJlZigpOwogICAgIG1f
cmVzb3VyY2VIYW5kbGVMaXN0LmFwcGVuZChqb2IpOwogICAgIGlmICghbV9kb3dubG9hZFRpbWVy
LmlzQWN0aXZlKCkpCi0gICAgICAgIG1fZG93bmxvYWRUaW1lci5zdGFydE9uZVNob3QocG9sbFRp
bWVTZWNvbmRzKTsKKyAgICAgICAgbV9kb3dubG9hZFRpbWVyLnN0YXJ0T25lU2hvdChwb2xsVGlt
ZSk7CiB9CiAKIGJvb2wgUmVzb3VyY2VIYW5kbGVNYW5hZ2VyOjpyZW1vdmVTY2hlZHVsZWRKb2Io
UmVzb3VyY2VIYW5kbGUqIGpvYikKQEAgLTEyMzgsNyArMTIzOCw3IEBAIHZvaWQgUmVzb3VyY2VI
YW5kbGVNYW5hZ2VyOjpjYW5jZWwoUmVzb3VyY2VIYW5kbGUqIGpvYikKICAgICBSZXNvdXJjZUhh
bmRsZUludGVybmFsKiBkID0gam9iLT5nZXRJbnRlcm5hbCgpOwogICAgIGQtPm1fY2FuY2VsbGVk
ID0gdHJ1ZTsKICAgICBpZiAoIW1fZG93bmxvYWRUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBt
X2Rvd25sb2FkVGltZXIuc3RhcnRPbmVTaG90KHBvbGxUaW1lU2Vjb25kcyk7CisgICAgICAgIG1f
ZG93bmxvYWRUaW1lci5zdGFydE9uZVNob3QocG9sbFRpbWUpOwogfQogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21h
Yy9OZXR3b3JrU3RhdGVOb3RpZmllck1hYy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL21hYy9OZXR3b3JrU3RhdGVOb3RpZmllck1hYy5jcHAKaW5kZXggNTVhZGUyMThjMTM4
ODhjMGNjMjZlYmVjYjc5MjYzZGNhNzAwOTE2ZC4uOTEyZjY3YmYxODY2ZDQ0NmNkZWU1Zjc4OGZj
YzYzMjg5Y2UxZTUxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9tYWMvTmV0d29ya1N0YXRlTm90aWZpZXJNYWMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvbWFjL05ldHdvcmtTdGF0ZU5vdGlmaWVyTWFjLmNwcApAQCAtMzEsNyAr
MzEsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBkb3VibGUgU3Rh
dGVDaGFuZ2VUaW1lckludGVydmFsID0gMi4wOworc3RhdGljIGNvbnN0IFNlY29uZHMgU3RhdGVD
aGFuZ2VUaW1lckludGVydmFsIHsgMl9zIH07CiAKIHZvaWQgTmV0d29ya1N0YXRlTm90aWZpZXI6
OnVwZGF0ZVN0YXRlKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHAKaW5kZXggMTM5ZTA5ZGI3MmVh
Y2IyMTNiYTM2M2NkZjM3ZThiYjIyOGQyZTM0MS4uOWQ2ZDVjNDA3NzQxMTA1OTQ3ZWM3NDZiMWQx
OWQ3OGQzZTJjZWMzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHAKQEAgLTc3MSw3ICs3NzEsNyBA
QCB2b2lkIFJlc291cmNlSGFuZGxlOjpzZW5kUGVuZGluZ1JlcXVlc3QoKQogI2VuZGlmCiAKICAg
ICBpZiAoZC0+bV9maXJzdFJlcXVlc3QudGltZW91dEludGVydmFsKCkgPiAwKQotICAgICAgICBk
LT5tX3RpbWVvdXRTb3VyY2Uuc3RhcnRPbmVTaG90KGQtPm1fZmlyc3RSZXF1ZXN0LnRpbWVvdXRJ
bnRlcnZhbCgpKTsKKyAgICAgICAgZC0+bV90aW1lb3V0U291cmNlLnN0YXJ0T25lU2hvdCgxX3Mg
KiBkLT5tX2ZpcnN0UmVxdWVzdC50aW1lb3V0SW50ZXJ2YWwoKSk7CiAKICAgICAvLyBCYWxhbmNl
ZCBieSBhIGRlcmVmKCkgaW4gY2xlYW51cFNvdXBSZXF1ZXN0T3BlcmF0aW9uLCB3aGljaCBzaG91
bGQgYWx3YXlzIHJ1bi4KICAgICByZWYoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9JbWFnZVF1YWxpdHlDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9JbWFnZVF1YWxpdHlDb250cm9sbGVyLmNwcAppbmRleCAxYmM4MmU5N2Y4NzkwZWMwZDdh
MTllMDQ0ZmVkZmM3OTljNWUyYmFkLi43NTQxNWQwMjNmYzc0YzNkZmY0Yjc5N2FiYTMwZmQ0ZTUz
NTkyZGUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW1hZ2VRdWFsaXR5
Q29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0ltYWdlUXVhbGl0
eUNvbnRyb2xsZXIuY3BwCkBAIC0zNSw3ICszNSw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IHN0YXRpYyBjb25zdCBkb3VibGUgY0ludGVycG9sYXRpb25DdXRvZmYgPSA4MDAuICogODAwLjsK
LXN0YXRpYyBjb25zdCBkb3VibGUgY0xvd1F1YWxpdHlUaW1lVGhyZXNob2xkID0gMC41MDA7IC8v
IDUwMCBtcworc3RhdGljIGNvbnN0IFNlY29uZHMgbG93UXVhbGl0eVRpbWVUaHJlc2hvbGQgeyA1
MDBfbXMgfTsKIAogSW1hZ2VRdWFsaXR5Q29udHJvbGxlcjo6SW1hZ2VRdWFsaXR5Q29udHJvbGxl
cihjb25zdCBSZW5kZXJWaWV3JiByZW5kZXJWaWV3KQogICAgIDogbV9yZW5kZXJWaWV3KHJlbmRl
clZpZXcpCkBAIC05NCw3ICs5NCw3IEBAIHZvaWQgSW1hZ2VRdWFsaXR5Q29udHJvbGxlcjo6aGln
aFF1YWxpdHlSZXBhaW50VGltZXJGaXJlZCgpCiAKIHZvaWQgSW1hZ2VRdWFsaXR5Q29udHJvbGxl
cjo6cmVzdGFydFRpbWVyKCkKIHsKLSAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChjTG93UXVhbGl0
eVRpbWVUaHJlc2hvbGQpOworICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KGxvd1F1YWxpdHlUaW1l
VGhyZXNob2xkKTsKIH0KIAogc3RkOjpvcHRpb25hbDxJbnRlcnBvbGF0aW9uUXVhbGl0eT4gSW1h
Z2VRdWFsaXR5Q29udHJvbGxlcjo6aW50ZXJwb2xhdGlvblF1YWxpdHlGcm9tU3R5bGUoY29uc3Qg
UmVuZGVyU3R5bGUmIHN0eWxlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXJDb21wb3NpdG9yLmNwcAppbmRleCBlYWM0MmUyMzVlM2M5YmFlMDkxM2QxMThmMjU3
NGQ4OGVmYWU3NzE3Li4xYTgzOGQ4N2M1ZWZhNTdmZDRjMmJkMDEwOGI4ZWY2ZTllNWUzMmI0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9y
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9y
LmNwcApAQCAtOTIsMTEgKzkyLDExIEBAIHN0YXRpYyBjb25zdCBpbnQgY2FudmFzQXJlYVRocmVz
aG9sZFJlcXVpcmluZ0NvbXBvc2l0aW5nID0gNTAgKiAxMDA7CiAjZW5kaWYKIC8vIER1cmluZyBw
YWdlIGxvYWRpbmcgZGVsYXkgbGF5ZXIgZmx1c2hlcyB1cCB0byB0aGlzIG1hbnkgc2Vjb25kcyB0
byBhbGxvdyB0aGVtIGNvYWxlc2NlLCByZWR1Y2luZyB3b3JrbG9hZC4KICNpZiBQTEFURk9STShJ
T1MpCi1zdGF0aWMgY29uc3QgZG91YmxlIHRocm90dGxlZExheWVyRmx1c2hJbml0aWFsRGVsYXkg
PSAuNTsKLXN0YXRpYyBjb25zdCBkb3VibGUgdGhyb3R0bGVkTGF5ZXJGbHVzaERlbGF5ID0gMS41
Oworc3RhdGljIGNvbnN0IFNlY29uZHMgdGhyb3R0bGVkTGF5ZXJGbHVzaEluaXRpYWxEZWxheSB7
IDUwMF9tcyB9Oworc3RhdGljIGNvbnN0IFNlY29uZHMgdGhyb3R0bGVkTGF5ZXJGbHVzaERlbGF5
IHsgMS41X3MgfTsKICNlbHNlCi1zdGF0aWMgY29uc3QgZG91YmxlIHRocm90dGxlZExheWVyRmx1
c2hJbml0aWFsRGVsYXkgPSAuNTsKLXN0YXRpYyBjb25zdCBkb3VibGUgdGhyb3R0bGVkTGF5ZXJG
bHVzaERlbGF5ID0gLjU7CitzdGF0aWMgY29uc3QgU2Vjb25kcyB0aHJvdHRsZWRMYXllckZsdXNo
SW5pdGlhbERlbGF5IHsgNTAwX21zIH07CitzdGF0aWMgY29uc3QgU2Vjb25kcyB0aHJvdHRsZWRM
YXllckZsdXNoRGVsYXkgeyA1MDBfbXMgfTsKICNlbmRpZgogCiB1c2luZyBuYW1lc3BhY2UgSFRN
TE5hbWVzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclByb2dy
ZXNzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJQcm9ncmVzcy5jcHAKaW5k
ZXggM2IxNGU0MDdhMWUyMWE4NjhiYmY4MjZjNzc4MzZiZjM0MjEzYWFhMi4uNTZhNDVjN2QwY2Ew
ZWZmYjM0YmQ0ZTBhMDJjM2IwOGY5NTA4NzY4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclByb2dyZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyUHJvZ3Jlc3MuY3BwCkBAIC0zMiw3ICszMiw2IEBAIFJlbmRlclByb2dyZXNzOjpS
ZW5kZXJQcm9ncmVzcyhIVE1MRWxlbWVudCYgZWxlbWVudCwgUmVuZGVyU3R5bGUmJiBzdHlsZSkK
ICAgICA6IFJlbmRlckJsb2NrRmxvdyhlbGVtZW50LCBXVEZNb3ZlKHN0eWxlKSkKICAgICAsIG1f
cG9zaXRpb24oSFRNTFByb2dyZXNzRWxlbWVudDo6SW52YWxpZFBvc2l0aW9uKQogICAgICwgbV9h
bmltYXRpb25TdGFydFRpbWUoMCkKLSAgICAsIG1fYW5pbWF0aW9uUmVwZWF0SW50ZXJ2YWwoMCkK
ICAgICAsIG1fYW5pbWF0aW9uRHVyYXRpb24oMCkKICAgICAsIG1fYW5pbWF0aW5nKGZhbHNlKQog
ICAgICwgbV9hbmltYXRpb25UaW1lcigqdGhpcywgJlJlbmRlclByb2dyZXNzOjphbmltYXRpb25U
aW1lckZpcmVkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclBy
b2dyZXNzLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUHJvZ3Jlc3MuaAppbmRl
eCAzYTZkODRkODM1NjEzMDcxN2I0MDMyZjlhMzhhYjgzYWRlOWFiOTg3Li4yOTY0ZWM1NzBkMGQ5
YTljZTQ4MDYwMzM5YmJmODViMjkxODUzZmM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyUHJvZ3Jlc3MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyUHJvZ3Jlc3MuaApAQCAtNTAsNyArNTAsNyBAQCBwcml2YXRlOgogCiAgICAgZG91Ymxl
IG1fcG9zaXRpb247CiAgICAgZG91YmxlIG1fYW5pbWF0aW9uU3RhcnRUaW1lOwotICAgIGRvdWJs
ZSBtX2FuaW1hdGlvblJlcGVhdEludGVydmFsOworICAgIFNlY29uZHMgbV9hbmltYXRpb25SZXBl
YXRJbnRlcnZhbDsKICAgICBkb3VibGUgbV9hbmltYXRpb25EdXJhdGlvbjsKICAgICBib29sIG1f
YW5pbWF0aW5nOwogICAgIFRpbWVyIG1fYW5pbWF0aW9uVGltZXI7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGV4dC5jcHAKaW5kZXggMmM4OGFjNWQyMDg3YThkNDFmODA2N2NmMGE0MTgw
NTk2NDcyMjliMC4uMmE1MjJkY2E4ODQwNTM1ZjliMjQ0NmVlNzhiZGUxOWRlOGFkZDcyMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmNwcApAQCAtMTA3LDcgKzEwNyw3IEBA
IGlubGluZSBTZWN1cmVUZXh0VGltZXI6OlNlY3VyZVRleHRUaW1lcihSZW5kZXJUZXh0JiByZW5k
ZXJlcikKIGlubGluZSB2b2lkIFNlY3VyZVRleHRUaW1lcjo6cmVzdGFydCh1bnNpZ25lZCBvZmZz
ZXRBZnRlckxhc3RUeXBlZENoYXJhY3RlcikKIHsKICAgICBtX29mZnNldEFmdGVyTGFzdFR5cGVk
Q2hhcmFjdGVyID0gb2Zmc2V0QWZ0ZXJMYXN0VHlwZWRDaGFyYWN0ZXI7Ci0gICAgc3RhcnRPbmVT
aG90KG1fcmVuZGVyZXIuc2V0dGluZ3MoKS5wYXNzd29yZEVjaG9EdXJhdGlvbkluU2Vjb25kcygp
KTsKKyAgICBzdGFydE9uZVNob3QoMV9zICogbV9yZW5kZXJlci5zZXR0aW5ncygpLnBhc3N3b3Jk
RWNob0R1cmF0aW9uSW5TZWNvbmRzKCkpOwogfQogCiBpbmxpbmUgdW5zaWduZWQgU2VjdXJlVGV4
dFRpbWVyOjp0YWtlT2Zmc2V0QWZ0ZXJMYXN0VHlwZWRDaGFyYWN0ZXIoKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHAKaW5kZXggYzMxYTlhYTZjZjJiMDY5ODIyYjZmZjUw
NjdiZmZhYzUzN2ZmMmJhMy4uZGI0ZDgwOGI4MzU4MzAxMTczYThhY2MwOTZkOWU2NDRiYTMwZjhi
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuY3BwCkBAIC0xMDYyLDkg
KzEwNjIsOSBAQCB2b2lkIFJlbmRlclRoZW1lOjpwYWludFNsaWRlclRpY2tzKGNvbnN0IFJlbmRl
ck9iamVjdCYgbywgY29uc3QgUGFpbnRJbmZvJiBwYWludAogfQogI2VuZGlmCiAKLWRvdWJsZSBS
ZW5kZXJUaGVtZTo6YW5pbWF0aW9uUmVwZWF0SW50ZXJ2YWxGb3JQcm9ncmVzc0JhcihSZW5kZXJQ
cm9ncmVzcyYpIGNvbnN0CitTZWNvbmRzIFJlbmRlclRoZW1lOjphbmltYXRpb25SZXBlYXRJbnRl
cnZhbEZvclByb2dyZXNzQmFyKFJlbmRlclByb2dyZXNzJikgY29uc3QKIHsKLSAgICByZXR1cm4g
MDsKKyAgICByZXR1cm4gMF9zOwogfQogCiBkb3VibGUgUmVuZGVyVGhlbWU6OmFuaW1hdGlvbkR1
cmF0aW9uRm9yUHJvZ3Jlc3NCYXIoUmVuZGVyUHJvZ3Jlc3MmKSBjb25zdApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVGhlbWUuaAppbmRleCA3MWQxNjVhMTA4ZDYxODAzNmVjZjMzZTBiMWFk
MmEyMTliOTEwYTgwLi42MTdjYWRiMWNhNjkyMzc2Y2Y1YjNlNTc2NGViOTc3YTQ2YzEzY2YwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaApAQCAtMTk1LDcgKzE5NSw3IEBA
IHB1YmxpYzoKICAgICB2aXJ0dWFsIFNjcm9sbGJhckNvbnRyb2xTaXplIHNjcm9sbGJhckNvbnRy
b2xTaXplRm9yUGFydChDb250cm9sUGFydCkgeyByZXR1cm4gUmVndWxhclNjcm9sbGJhcjsgfQog
CiAgICAgLy8gUmV0dXJucyB0aGUgcmVwZWF0IGludGVydmFsIG9mIHRoZSBhbmltYXRpb24gZm9y
IHRoZSBwcm9ncmVzcyBiYXIuCi0gICAgdmlydHVhbCBkb3VibGUgYW5pbWF0aW9uUmVwZWF0SW50
ZXJ2YWxGb3JQcm9ncmVzc0JhcihSZW5kZXJQcm9ncmVzcyYpIGNvbnN0OworICAgIHZpcnR1YWwg
U2Vjb25kcyBhbmltYXRpb25SZXBlYXRJbnRlcnZhbEZvclByb2dyZXNzQmFyKFJlbmRlclByb2dy
ZXNzJikgY29uc3Q7CiAgICAgLy8gUmV0dXJucyB0aGUgZHVyYXRpb24gb2YgdGhlIGFuaW1hdGlv
biBmb3IgdGhlIHByb2dyZXNzIGJhci4KICAgICB2aXJ0dWFsIGRvdWJsZSBhbmltYXRpb25EdXJh
dGlvbkZvclByb2dyZXNzQmFyKFJlbmRlclByb2dyZXNzJikgY29uc3Q7CiAgICAgdmlydHVhbCBJ
bnRSZWN0IHByb2dyZXNzQmFyUmVjdEZvckJvdW5kcyhjb25zdCBSZW5kZXJPYmplY3QmLCBjb25z
dCBJbnRSZWN0JikgY29uc3Q7CkBAIC0yMDgsNyArMjA4LDcgQEAgcHVibGljOgogICAgIHZpcnR1
YWwgYm9vbCB1c2VzTWVkaWFDb250cm9sVm9sdW1lU2xpZGVyKCkgY29uc3QgeyByZXR1cm4gdHJ1
ZTsgfQogICAgIHZpcnR1YWwgYm9vbCB1c2VzVmVydGljYWxWb2x1bWVTbGlkZXIoKSBjb25zdCB7
IHJldHVybiB0cnVlOyB9CiAgICAgdmlydHVhbCBkb3VibGUgbWVkaWFDb250cm9sc0ZhZGVJbkR1
cmF0aW9uKCkgeyByZXR1cm4gMC4xOyB9Ci0gICAgdmlydHVhbCBkb3VibGUgbWVkaWFDb250cm9s
c0ZhZGVPdXREdXJhdGlvbigpIHsgcmV0dXJuIDAuMzsgfQorICAgIHZpcnR1YWwgU2Vjb25kcyBt
ZWRpYUNvbnRyb2xzRmFkZU91dER1cmF0aW9uKCkgeyByZXR1cm4gMzAwX21zOyB9CiAgICAgdmly
dHVhbCBTdHJpbmcgZm9ybWF0TWVkaWFDb250cm9sc1RpbWUoZmxvYXQgdGltZSkgY29uc3Q7CiAg
ICAgdmlydHVhbCBTdHJpbmcgZm9ybWF0TWVkaWFDb250cm9sc0N1cnJlbnRUaW1lKGZsb2F0IGN1
cnJlbnRUaW1lLCBmbG9hdCBkdXJhdGlvbikgY29uc3Q7CiAgICAgdmlydHVhbCBTdHJpbmcgZm9y
bWF0TWVkaWFDb250cm9sc1JlbWFpbmluZ1RpbWUoZmxvYXQgY3VycmVudFRpbWUsIGZsb2F0IGR1
cmF0aW9uKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUaGVtZUd0ay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVHdGsu
Y3BwCmluZGV4IDE3Mjg0ZjQ5OThmMzE1MzRiNTQxOTUzOWI0OWM1NDY0ZGE2MzUyOGIuLmJhNGM2
ZDI4YWEzYzcxMmRiOTlmNjQzYjZlODRiMGZhZDFkOTBkZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUd0ay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRoZW1lR3RrLmNwcApAQCAtMjExMSwxNSArMjExMSwxNSBAQCB2b2lk
IFJlbmRlclRoZW1lR3RrOjphZGp1c3RQcm9ncmVzc0JhclN0eWxlKFN0eWxlUmVzb2x2ZXImLCBS
ZW5kZXJTdHlsZSYgc3R5bGUsCiAvLyBUaGVzZSB2YWx1ZXMgaGF2ZSBiZWVuIGNvcGllZCBmcm9t
IFJlbmRlclRoZW1lQ2hyb21pdW1Ta2lhLmNwcAogc3RhdGljIGNvbnN0IGludCBwcm9ncmVzc0Fj
dGl2aXR5QmxvY2tzID0gNTsKIHN0YXRpYyBjb25zdCBpbnQgcHJvZ3Jlc3NBbmltYXRpb25GcmFt
ZXMgPSAxMDsKLXN0YXRpYyBjb25zdCBkb3VibGUgcHJvZ3Jlc3NBbmltYXRpb25JbnRlcnZhbCA9
IDAuMTI1OwotZG91YmxlIFJlbmRlclRoZW1lR3RrOjphbmltYXRpb25SZXBlYXRJbnRlcnZhbEZv
clByb2dyZXNzQmFyKFJlbmRlclByb2dyZXNzJikgY29uc3QKK3N0YXRpYyBjb25zdCBTZWNvbmRz
IHByb2dyZXNzQW5pbWF0aW9uSW50ZXJ2YWwgeyAxMjVfbXMgfTsKK1NlY29uZHMgUmVuZGVyVGhl
bWVHdGs6OmFuaW1hdGlvblJlcGVhdEludGVydmFsRm9yUHJvZ3Jlc3NCYXIoUmVuZGVyUHJvZ3Jl
c3MmKSBjb25zdAogewogICAgIHJldHVybiBwcm9ncmVzc0FuaW1hdGlvbkludGVydmFsOwogfQog
CiBkb3VibGUgUmVuZGVyVGhlbWVHdGs6OmFuaW1hdGlvbkR1cmF0aW9uRm9yUHJvZ3Jlc3NCYXIo
UmVuZGVyUHJvZ3Jlc3MmKSBjb25zdAogewotICAgIHJldHVybiBwcm9ncmVzc0FuaW1hdGlvbklu
dGVydmFsICogcHJvZ3Jlc3NBbmltYXRpb25GcmFtZXMgKiAyOyAvLyAiMiIgZm9yIGJhY2sgYW5k
IGZvcnRoOworICAgIHJldHVybiBwcm9ncmVzc0FuaW1hdGlvbkludGVydmFsLnZhbHVlKCkgKiBw
cm9ncmVzc0FuaW1hdGlvbkZyYW1lcyAqIDI7IC8vICIyIiBmb3IgYmFjayBhbmQgZm9ydGg7CiB9
CiAKIEludFJlY3QgUmVuZGVyVGhlbWVHdGs6OmNhbGN1bGF0ZVByb2dyZXNzUmVjdChjb25zdCBS
ZW5kZXJPYmplY3QmIHJlbmRlck9iamVjdCwgY29uc3QgSW50UmVjdCYgZnVsbEJhclJlY3QpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVHdGsuaCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUd0ay5oCmluZGV4IDdiODJkOTMxNDY0
NDRmZDRlZmVlNTYxNGU1YzExZDc2ZGIxZWQ4MTEuLjY0YTRkODlmZjQ1MmJiNjIzZmQ4MDhhNTY5
NTAwYWE2Y2NlYTRjZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUaGVtZUd0ay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUd0
ay5oCkBAIC0xNjgsNyArMTY4LDcgQEAgcHJpdmF0ZToKICNlbmRpZgogI2VuZGlmCiAKLSAgICBk
b3VibGUgYW5pbWF0aW9uUmVwZWF0SW50ZXJ2YWxGb3JQcm9ncmVzc0JhcihSZW5kZXJQcm9ncmVz
cyYpIGNvbnN0IG92ZXJyaWRlOworICAgIFNlY29uZHMgYW5pbWF0aW9uUmVwZWF0SW50ZXJ2YWxG
b3JQcm9ncmVzc0JhcihSZW5kZXJQcm9ncmVzcyYpIGNvbnN0IG92ZXJyaWRlOwogICAgIGRvdWJs
ZSBhbmltYXRpb25EdXJhdGlvbkZvclByb2dyZXNzQmFyKFJlbmRlclByb2dyZXNzJikgY29uc3Qg
b3ZlcnJpZGU7CiAgICAgdm9pZCBhZGp1c3RQcm9ncmVzc0JhclN0eWxlKFN0eWxlUmVzb2x2ZXIm
LCBSZW5kZXJTdHlsZSYsIGNvbnN0IEVsZW1lbnQqKSBjb25zdCBvdmVycmlkZTsKICAgICBJbnRS
ZWN0IHByb2dyZXNzQmFyUmVjdEZvckJvdW5kcyhjb25zdCBSZW5kZXJPYmplY3QmLCBjb25zdCBJ
bnRSZWN0JikgY29uc3Qgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGhlbWVJT1MuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
aGVtZUlPUy5oCmluZGV4IGJiMzk4ZjdlYmNmMTMwZDlhNmExNDVhMjdlNjY4Njk2MmEzYzk2ZTMu
LjBiMWU1NDUxMDdlYmVhNzllNzQ0ODQ4ZTg3ZjY2YTM0M2NjZDA1NjYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUlPUy5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUlPUy5oCkBAIC04MSw3ICs4MSw3IEBAIHByb3RlY3Rl
ZDoKICAgICBib29sIHBhaW50U2xpZGVyVGh1bWJEZWNvcmF0aW9ucyhjb25zdCBSZW5kZXJPYmpl
Y3QmLCBjb25zdCBQYWludEluZm8mLCBjb25zdCBJbnRSZWN0Jikgb3ZlcnJpZGU7CiAKICAgICAv
LyBSZXR1cm5zIHRoZSByZXBlYXQgaW50ZXJ2YWwgb2YgdGhlIGFuaW1hdGlvbiBmb3IgdGhlIHBy
b2dyZXNzIGJhci4KLSAgICBkb3VibGUgYW5pbWF0aW9uUmVwZWF0SW50ZXJ2YWxGb3JQcm9ncmVz
c0JhcihSZW5kZXJQcm9ncmVzcyYpIGNvbnN0IG92ZXJyaWRlOworICAgIFNlY29uZHMgYW5pbWF0
aW9uUmVwZWF0SW50ZXJ2YWxGb3JQcm9ncmVzc0JhcihSZW5kZXJQcm9ncmVzcyYpIGNvbnN0IG92
ZXJyaWRlOwogICAgIC8vIFJldHVybnMgdGhlIGR1cmF0aW9uIG9mIHRoZSBhbmltYXRpb24gZm9y
IHRoZSBwcm9ncmVzcyBiYXIuCiAgICAgZG91YmxlIGFuaW1hdGlvbkR1cmF0aW9uRm9yUHJvZ3Jl
c3NCYXIoUmVuZGVyUHJvZ3Jlc3MmKSBjb25zdCBvdmVycmlkZTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lSU9TLm1tIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRoZW1lSU9TLm1tCmluZGV4IDIwMTMxOTVmYTY5YzI4N2IyNDZkMmMy
ZmRjMTJkMGM0ZTVkYWYyMDUuLmQ5ZjRmNzc5Yzk4MzMxYjUwZmJhMzVmMTQ0NTNjZGJiZTA1YWZm
NzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUlPUy5t
bQorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1MubW0KQEAgLTg3
MCw5ICs4NzAsOSBAQCBib29sIFJlbmRlclRoZW1lSU9TOjpwYWludFNsaWRlclRodW1iRGVjb3Jh
dGlvbnMoY29uc3QgUmVuZGVyT2JqZWN0JiBib3gsIGNvbnN0CiAgICAgcmV0dXJuIGZhbHNlOwog
fQogCi1kb3VibGUgUmVuZGVyVGhlbWVJT1M6OmFuaW1hdGlvblJlcGVhdEludGVydmFsRm9yUHJv
Z3Jlc3NCYXIoUmVuZGVyUHJvZ3Jlc3MmKSBjb25zdAorU2Vjb25kcyBSZW5kZXJUaGVtZUlPUzo6
YW5pbWF0aW9uUmVwZWF0SW50ZXJ2YWxGb3JQcm9ncmVzc0JhcihSZW5kZXJQcm9ncmVzcyYpIGNv
bnN0CiB7Ci0gICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIDBfczsKIH0KIAogZG91YmxlIFJlbmRl
clRoZW1lSU9TOjphbmltYXRpb25EdXJhdGlvbkZvclByb2dyZXNzQmFyKFJlbmRlclByb2dyZXNz
JikgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVt
ZU1hYy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLmgKaW5kZXgg
NmI5YzcyN2M5YTgxODEwYTZhOGNkNDYwYzJhYWE2NjRlZjFhNDhmMS4uZjM5MDBhMDAzZmU0ODA2
Y2Y0NTUxMmNhYjRjNmFmMmMxMGMyOTJmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclRoZW1lTWFjLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRoZW1lTWFjLmgKQEAgLTg3LDcgKzg3LDcgQEAgcHVibGljOgogI2VuZGlmCiAKICAgICAv
LyBSZXR1cm5zIHRoZSByZXBlYXQgaW50ZXJ2YWwgb2YgdGhlIGFuaW1hdGlvbiBmb3IgdGhlIHBy
b2dyZXNzIGJhci4KLSAgICBkb3VibGUgYW5pbWF0aW9uUmVwZWF0SW50ZXJ2YWxGb3JQcm9ncmVz
c0JhcihSZW5kZXJQcm9ncmVzcyYpIGNvbnN0IG92ZXJyaWRlOworICAgIFNlY29uZHMgYW5pbWF0
aW9uUmVwZWF0SW50ZXJ2YWxGb3JQcm9ncmVzc0JhcihSZW5kZXJQcm9ncmVzcyYpIGNvbnN0IG92
ZXJyaWRlOwogICAgIC8vIFJldHVybnMgdGhlIGR1cmF0aW9uIG9mIHRoZSBhbmltYXRpb24gZm9y
IHRoZSBwcm9ncmVzcyBiYXIuCiAgICAgZG91YmxlIGFuaW1hdGlvbkR1cmF0aW9uRm9yUHJvZ3Jl
c3NCYXIoUmVuZGVyUHJvZ3Jlc3MmKSBjb25zdCBvdmVycmlkZTsKICAgICBJbnRSZWN0IHByb2dy
ZXNzQmFyUmVjdEZvckJvdW5kcyhjb25zdCBSZW5kZXJPYmplY3QmLCBjb25zdCBJbnRSZWN0Jikg
Y29uc3Qgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGhlbWVNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMu
bW0KaW5kZXggZjgwZTJjOTE5ODkwMWJiYWM4OTk0YjZmY2UzY2ZlZjNkMzEzNDVjMS4uOWI1NWVm
NmY3OTZmOGU3Yzg3NzA5NWRiMjkyNDI1ZjRlNzRhODI2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUaGVtZU1hYy5tbQpAQCAtMTE0LDEwICsxMTQsMTAgQEAgQGVuZAogCiAv
LyBXZSBlc3RpbWF0ZSB0aGUgYW5pbWF0aW9uIHJhdGUgb2YgYSBNYWMgT1MgWCBwcm9ncmVzcyBi
YXIgaXMgMzMgZnBzLgogLy8gSGFyZCBjb2RlIHRoZSB2YWx1ZSBoZXJlIGJlY2F1c2Ugd2UgaGF2
ZW4ndCBmb3VuZCBBUEkgZm9yIGl0LgotY29uc3QgZG91YmxlIHByb2dyZXNzQW5pbWF0aW9uRnJh
bWVSYXRlID0gMC4wMzM7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBwcm9ncmVzc0FuaW1hdGlvbkZy
YW1lUmF0ZSA9IDMzX21zOwogCiAvLyBNYWMgT1MgWCBwcm9ncmVzcyBiYXIgYW5pbWF0aW9uIHNl
ZW1zIHRvIGhhdmUgMjU2IGZyYW1lcy4KLWNvbnN0IGRvdWJsZSBwcm9ncmVzc0FuaW1hdGlvbk51
bUZyYW1lcyA9IDI1NjsKK3N0YXRpYyBjb25zdCBkb3VibGUgcHJvZ3Jlc3NBbmltYXRpb25OdW1G
cmFtZXMgPSAyNTY7CiAKIEBpbnRlcmZhY2UgV2ViQ29yZVJlbmRlclRoZW1lTm90aWZpY2F0aW9u
T2JzZXJ2ZXIgOiBOU09iamVjdAogewpAQCAtMTEyOSwxNCArMTEyOSwxNCBAQCBpbnQgUmVuZGVy
VGhlbWVNYWM6Om1pbmltdW1Qcm9ncmVzc0JhckhlaWdodChjb25zdCBSZW5kZXJTdHlsZSYgc3R5
bGUpIGNvbnN0CiAgICAgcmV0dXJuIHNpemVGb3JTeXN0ZW1Gb250KHN0eWxlLCBwcm9ncmVzc0Jh
clNpemVzKCkpLmhlaWdodCgpOwogfQogCi1kb3VibGUgUmVuZGVyVGhlbWVNYWM6OmFuaW1hdGlv
blJlcGVhdEludGVydmFsRm9yUHJvZ3Jlc3NCYXIoUmVuZGVyUHJvZ3Jlc3MmKSBjb25zdAorU2Vj
b25kcyBSZW5kZXJUaGVtZU1hYzo6YW5pbWF0aW9uUmVwZWF0SW50ZXJ2YWxGb3JQcm9ncmVzc0Jh
cihSZW5kZXJQcm9ncmVzcyYpIGNvbnN0CiB7CiAgICAgcmV0dXJuIHByb2dyZXNzQW5pbWF0aW9u
RnJhbWVSYXRlOwogfQogCiBkb3VibGUgUmVuZGVyVGhlbWVNYWM6OmFuaW1hdGlvbkR1cmF0aW9u
Rm9yUHJvZ3Jlc3NCYXIoUmVuZGVyUHJvZ3Jlc3MmKSBjb25zdAogewotICAgIHJldHVybiBwcm9n
cmVzc0FuaW1hdGlvbk51bUZyYW1lcyAqIHByb2dyZXNzQW5pbWF0aW9uRnJhbWVSYXRlOworICAg
IHJldHVybiBwcm9ncmVzc0FuaW1hdGlvbk51bUZyYW1lcyAqIHByb2dyZXNzQW5pbWF0aW9uRnJh
bWVSYXRlLnZhbHVlKCk7CiB9CiAKIHZvaWQgUmVuZGVyVGhlbWVNYWM6OmFkanVzdFByb2dyZXNz
QmFyU3R5bGUoU3R5bGVSZXNvbHZlciYsIFJlbmRlclN0eWxlJiwgY29uc3QgRWxlbWVudCopIGNv
bnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvRXZlbnRMb29wSW5wdXREaXNw
YXRjaGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9FdmVudExvb3BJbnB1dERpc3BhdGNo
ZXIuY3BwCmluZGV4IDUxMDI5M2ZjMTZjNjRhYzliNWZiNTFlN2I5OGQwOTBkOGI1MTM2NjcuLjll
Mjc4NmQ1OGEwZjY1YzhiZWM0NWE5NzNjYWVhNDZhMmY1MDkzYTIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlcGxheS9FdmVudExvb3BJbnB1dERpc3BhdGNoZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlcGxheS9FdmVudExvb3BJbnB1dERpc3BhdGNoZXIuY3BwCkBAIC0xMTgsNyAr
MTE4LDcgQEAgdm9pZCBFdmVudExvb3BJbnB1dERpc3BhdGNoZXI6OmRpc3BhdGNoSW5wdXRTb29u
KCkKICAgICB9CiAKICAgICBMT0coV2ViUmVwbGF5LCAiJS0yMHMgKFdBSVQ6ICUuM2YgbXMpIiwg
IlJlcGxheUV2ZW50cyIsIHdhaXRJbnRlcnZhbCAqIDEwMDAuMCk7Ci0gICAgbV90aW1lci5zdGFy
dE9uZVNob3Qod2FpdEludGVydmFsKTsKKyAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgxX3MgKiB3
YWl0SW50ZXJ2YWwpOwogfQogCiB2b2lkIEV2ZW50TG9vcElucHV0RGlzcGF0Y2hlcjo6ZGlzcGF0
Y2hJbnB1dCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvYW5pbWF0aW9uL1NNSUxU
aW1lQ29udGFpbmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9hbmltYXRpb24vU01JTFRpbWVD
b250YWluZXIuY3BwCmluZGV4IDEyNWI0M2I0Y2VmZTJiMmVmYjJmYzBmNWViZmE1NDFlMjdhMTg0
MGQuLjQ1Y2FmOWY0Y2M1MzVmN2NmZDc5ZDVkMTRiOGYwYjc4Njg2NTRmNTUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9hbmltYXRpb24vU01JTFRpbWVDb250YWluZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3N2Zy9hbmltYXRpb24vU01JTFRpbWVDb250YWluZXIuY3BwCkBAIC0z
NSw4ICszNSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIGNvbnN0IFNlY29u
ZHMgU01JTEFuaW1hdGlvbkZyYW1lRGVsYXkgeyAxLjAgLyA2MCB9Owotc3RhdGljIGNvbnN0IFNl
Y29uZHMgU01JTEFuaW1hdGlvbkZyYW1lVGhyb3R0bGVkRGVsYXkgeyAxLjAgLyAzMCB9Oworc3Rh
dGljIGNvbnN0IFNlY29uZHMgU01JTEFuaW1hdGlvbkZyYW1lRGVsYXkgeyAxX3MgLyA2MC4gfTsK
K3N0YXRpYyBjb25zdCBTZWNvbmRzIFNNSUxBbmltYXRpb25GcmFtZVRocm90dGxlZERlbGF5IHsg
MV9zIC8gMzAuIH07CiAKIFNNSUxUaW1lQ29udGFpbmVyOjpTTUlMVGltZUNvbnRhaW5lcihTVkdT
VkdFbGVtZW50JiBvd25lcikKICAgICA6IG1fYmVnaW5UaW1lKDApCkBAIC0yMTYsNyArMjE2LDcg
QEAgdm9pZCBTTUlMVGltZUNvbnRhaW5lcjo6c3RhcnRUaW1lcihTTUlMVGltZSBlbGFwc2VkLCBT
TUlMVGltZSBmaXJlVGltZSwgU01JTFRpbWUKICAgICAgICAgcmV0dXJuOwogCiAgICAgU01JTFRp
bWUgZGVsYXkgPSBzdGQ6Om1heChmaXJlVGltZSAtIGVsYXBzZWQsIG1pbmltdW1EZWxheSk7Ci0g
ICAgbV90aW1lci5zdGFydE9uZVNob3QoZGVsYXkudmFsdWUoKSk7CisgICAgbV90aW1lci5zdGFy
dE9uZVNob3QoMV9zICogZGVsYXkudmFsdWUoKSk7CiB9CiAKIHZvaWQgU01JTFRpbWVDb250YWlu
ZXI6OnRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbFNldHRpbmdzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5n
cy5jcHAKaW5kZXggZTllYTRjYjA0ODA5ZGFhYzU0OTVhOGEyN2Y1MDY1NjE4ZGY4NjkzMS4uN2Fj
ZjUwNTkzMWUyMDIyY2Y2ZDYyNGRlYWM5YzA1YTNlYmQ2Njg3MiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwCkBAIC01NzAsNyArNTcwLDcgQEAgRXhjZXB0
aW9uT3I8dm9pZD4gSW50ZXJuYWxTZXR0aW5nczo6c2V0VGltZVdpdGhvdXRNb3VzZU1vdmVtZW50
QmVmb3JlSGlkaW5nQ29udHIKIHsKICAgICBpZiAoIW1fcGFnZSkKICAgICAgICAgcmV0dXJuIEV4
Y2VwdGlvbiB7IElOVkFMSURfQUNDRVNTX0VSUiB9OwotICAgIHNldHRpbmdzKCkuc2V0VGltZVdp
dGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHModGltZSk7CisgICAgc2V0dGlu
Z3MoKS5zZXRUaW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scyhTZWNv
bmRzIHsgdGltZSB9KTsKICAgICByZXR1cm4geyB9OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxTZXR0aW5ncy5oCmluZGV4IDIwYTczNjM5YjUwYzcyMGQzN2Y1NTIzZGEyZjU3
YjRkNjA2ZDZhYzYuLjE5ZTViZGUxNWJkNWQyNDNiM2VjYjFkYzgxZDNkYmRmMTMxNTE1ZWQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5oCkBAIC0xNTksNyArMTU5
LDcgQEAgcHJpdmF0ZToKICNlbmRpZgogICAgICAgICBTdHJpbmcgbV9kZWZhdWx0VmlkZW9Qb3N0
ZXJVUkw7CiAgICAgICAgIGJvb2wgbV9mb3JjZVBlbmRpbmdXZWJHTFBvbGljeTsKLSAgICAgICAg
Ym9vbCBtX29yaWdpbmFsVGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJv
bHM7CisgICAgICAgIFNlY29uZHMgbV9vcmlnaW5hbFRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJl
Zm9yZUhpZGluZ0NvbnRyb2xzOwogICAgICAgICBib29sIG1fdXNlTGVnYWN5QmFja2dyb3VuZFNp
emVTaG9ydGhhbmRCZWhhdmlvcjsKICAgICAgICAgYm9vbCBtX2F1dG9zY3JvbGxGb3JEcmFnQW5k
RHJvcEVuYWJsZWQ7CiAgICAgICAgIGJvb2wgbV9xdWlja1RpbWVQbHVnaW5SZXBsYWNlbWVudEVu
YWJsZWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKaW5kZXggNTU1YmYxNTg5YTA4
ZTcwNDBiM2IzMzdhMmM2NGRkMzQyYWNiNjUwNS4uZDU5ZTY4NzhmNWY3OGYyNDQwYjBkMjM2ODI1
ZWY1NGNhOWVlOGMxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcApAQCAtNzI5
LDcgKzcyOSw3IEBAIHZvaWQgSW50ZXJuYWxzOjpzZXRJbWFnZUZyYW1lRGVjb2RpbmdEdXJhdGlv
bihIVE1MSW1hZ2VFbGVtZW50JiBlbGVtZW50LCBmbG9hdCBkCiAgICAgaWYgKCFpczxCaXRtYXBJ
bWFnZT4oaW1hZ2UpKQogICAgICAgICByZXR1cm47CiAgICAgCi0gICAgZG93bmNhc3Q8Qml0bWFw
SW1hZ2U+KCppbWFnZSkuc2V0RnJhbWVEZWNvZGluZ0R1cmF0aW9uRm9yVGVzdGluZyhkdXJhdGlv
bik7CisgICAgZG93bmNhc3Q8Qml0bWFwSW1hZ2U+KCppbWFnZSkuc2V0RnJhbWVEZWNvZGluZ0R1
cmF0aW9uRm9yVGVzdGluZyhTZWNvbmRzIHsgZHVyYXRpb24gfSk7CiB9CiAKIHZvaWQgSW50ZXJu
YWxzOjpyZXNldEltYWdlQW5pbWF0aW9uKEhUTUxJbWFnZUVsZW1lbnQmIGVsZW1lbnQpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwIGIvU291cmNlL1dl
YkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcAppbmRleCA5ZGVmOTM3YzUyMWJiMTk5ODUwYTEy
OGI0MWY1NGMxYzU3M2ExNzQ4Li4xMzA2MTA4Yzg0YTNiOTMzNGYzZDkyN2FhNWJmNGY5MzU0NTg1
MTQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5jcHAKQEAgLTczOCw3ICs3Mzgs
NyBAQCBFeGNlcHRpb25Pcjx2b2lkPiBYTUxIdHRwUmVxdWVzdDo6Y3JlYXRlUmVxdWVzdCgpCiAg
ICAgICAgIGVsc2UgewogICAgICAgICAgICAgcmVxdWVzdC5zZXRUaW1lb3V0SW50ZXJ2YWwoc3Rk
OjpudW1lcmljX2xpbWl0czxkb3VibGU+OjppbmZpbml0eSgpKTsKICAgICAgICAgICAgIG1fc2Vu
ZGluZ1RpbWUgPSBNb25vdG9uaWNUaW1lOjpub3coKTsKLSAgICAgICAgICAgIG1fdGltZW91dFRp
bWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzIHsgbV90aW1lb3V0TWlsbGlzZWNvbmRzIC8gMTAwMC4g
fSk7CisgICAgICAgICAgICBtX3RpbWVvdXRUaW1lci5zdGFydE9uZVNob3QoMV9tcyAqIG1fdGlt
ZW91dE1pbGxpc2Vjb25kcyk7CiAgICAgICAgIH0KICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvU3RvcmFnZS9TdG9yYWdlQXJlYVN5bmMuY3BwIGIvU291cmNlL1dlYktpdC9TdG9y
YWdlL1N0b3JhZ2VBcmVhU3luYy5jcHAKaW5kZXggYWMwZGNjMTI1Njk0ZGFkNGM0YjkyMjg3YTAz
MWVmYTA5MzU0ZWExOS4uYmExNWU0YTRkYTBiYzIzMDlmOWUyZjE3NjE0MWJmNmE2MTNkMDMwZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TdG9yYWdlL1N0b3JhZ2VBcmVhU3luYy5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9TdG9yYWdlL1N0b3JhZ2VBcmVhU3luYy5jcHAKQEAgLTQxLDcgKzQx
LDcgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAKIC8vIElmIHRoZSBTdG9yYWdlQXJlYSB1bmRlcmdv
ZXMgcmFwaWQgY2hhbmdlcywgZG9uJ3Qgc3luYyBlYWNoIGNoYW5nZSB0byBkaXNrLgogLy8gSW5z
dGVhZCwgcXVldWUgdXAgYSBiYXRjaCBvZiBpdGVtcyB0byBzeW5jIGFuZCBhY3R1YWxseSBkbyB0
aGUgc3luYyBhdCB0aGUgZm9sbG93aW5nIGludGVydmFsLgotc3RhdGljIGNvbnN0IGRvdWJsZSBT
dG9yYWdlU3luY0ludGVydmFsID0gMS4wOworc3RhdGljIGNvbnN0IFNlY29uZHMgU3RvcmFnZVN5
bmNJbnRlcnZhbCB7IDFfcyB9OwogCiAvLyBBIHNhbmUgbGltaXQgb24gaG93IG1hbnkgaXRlbXMg
d2UnbGwgc2NoZWR1bGUgdG8gc3luYyBhbGwgYXQgb25jZS4gIFRoaXMgbWFrZXMgaXQKIC8vIG11
Y2ggaGFyZGVyIHRvIHN0YXJ2ZSB0aGUgcmVzdCBvZiBMb2NhbFN0b3JhZ2UgYW5kIHRoZSBPUydz
IElPIHN1YnN5c3RlbSBpbiBnZW5lcmFsLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TdG9y
YWdlL1N0b3JhZ2VUcmFja2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQvU3RvcmFnZS9TdG9yYWdlVHJh
Y2tlci5jcHAKaW5kZXggNTlhMDBmZTMwYTk2M2Y1ODEzZDhiMGRkYTA0ZGI2MDgxYTY2MjNiZC4u
N2M1NzZhYjY4ZGIyZjRmYzUxOTQxY2VmNzU5N2JkYTU0MTJhZmQyOCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9TdG9yYWdlL1N0b3JhZ2VUcmFja2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L1N0b3JhZ2UvU3RvcmFnZVRyYWNrZXIuY3BwCkBAIC01Miw3ICs1Miw3IEBAIHN0YXRpYyBTdG9y
YWdlVHJhY2tlciogc3RvcmFnZVRyYWNrZXIgPSBudWxscHRyOwogCiAvLyBJZiB0aGVyZSBpcyBu
byBkb2N1bWVudCByZWZlcmVuY2luZyBhIHN0b3JhZ2UgZGF0YWJhc2UsIGNsb3NlIHRoZSB1bmRl
cmx5aW5nIGRhdGFiYXNlCiAvLyBhZnRlciBpdCBoYXMgYmVlbiBpZGxlIGZvciBtX1N0b3JhZ2VE
YXRhYmFzZUlkbGVJbnRlcnZhbCBzZWNvbmRzLgotc3RhdGljIGNvbnN0IGRvdWJsZSBEZWZhdWx0
U3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsID0gMzAwOworc3RhdGljIGNvbnN0IFNlY29uZHMg
ZGVmYXVsdFN0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbCB7IDMwMF9zIH07CiAgICAgCiB2b2lk
IFN0b3JhZ2VUcmFja2VyOjppbml0aWFsaXplVHJhY2tlcihjb25zdCBTdHJpbmcmIHN0b3JhZ2VQ
YXRoLCBTdG9yYWdlVHJhY2tlckNsaWVudCogY2xpZW50KQogewpAQCAtOTcsNyArOTcsNyBAQCBT
dG9yYWdlVHJhY2tlcjo6U3RvcmFnZVRyYWNrZXIoY29uc3QgU3RyaW5nJiBzdG9yYWdlUGF0aCkK
ICAgICAsIG1fdGhyZWFkKHN0ZDo6bWFrZV91bmlxdWU8U3RvcmFnZVRocmVhZD4oKSkKICAgICAs
IG1faXNBY3RpdmUoZmFsc2UpCiAgICAgLCBtX25lZWRzSW5pdGlhbGl6YXRpb24oZmFsc2UpCi0g
ICAgLCBtX1N0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbChEZWZhdWx0U3RvcmFnZURhdGFiYXNl
SWRsZUludGVydmFsKQorICAgICwgbV9TdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwoZGVmYXVs
dFN0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbCkKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9TdG9yYWdlL1N0b3JhZ2VUcmFja2VyLmggYi9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2Uv
U3RvcmFnZVRyYWNrZXIuaAppbmRleCA1NWQ1YjBkMjJlOWEzOWY5YjhjMDg5MzdmNTk0ZThmYTNi
ZGFjYTg4Li5lMWVkNmI5MzZiNmY3N2RjMGQxODE4YTY1YTRiNzEzMDg0YzkwNjdiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2UvU3RvcmFnZVRyYWNrZXIuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1N0b3JhZ2UvU3RvcmFnZVRyYWNrZXIuaApAQCAtNTksOCArNTksOCBAQCBwdWJsaWM6
CiAgICAgCiAgICAgYm9vbCBpc0FjdGl2ZSgpOwogCi0gICAgZG91YmxlIHN0b3JhZ2VEYXRhYmFz
ZUlkbGVJbnRlcnZhbCgpIHsgcmV0dXJuIG1fU3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsOyB9
Ci0gICAgdm9pZCBzZXRTdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwoZG91YmxlIGludGVydmFs
KSB7IG1fU3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsID0gaW50ZXJ2YWw7IH0KKyAgICBTZWNv
bmRzIHN0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbCgpIHsgcmV0dXJuIG1fU3RvcmFnZURhdGFi
YXNlSWRsZUludGVydmFsOyB9CisgICAgdm9pZCBzZXRTdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2
YWwoU2Vjb25kcyBpbnRlcnZhbCkgeyBtX1N0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbCA9IGlu
dGVydmFsOyB9CiAKICAgICB2b2lkIHN5bmNGaWxlU3lzdGVtQW5kVHJhY2tlckRhdGFiYXNlKCk7
CiAKQEAgLTExMCw3ICsxMTAsNyBAQCBwcml2YXRlOgogICAgIAogICAgIGJvb2wgbV9pc0FjdGl2
ZTsKICAgICBib29sIG1fbmVlZHNJbml0aWFsaXphdGlvbjsKLSAgICBkb3VibGUgbV9TdG9yYWdl
RGF0YWJhc2VJZGxlSW50ZXJ2YWw7CisgICAgU2Vjb25kcyBtX1N0b3JhZ2VEYXRhYmFzZUlkbGVJ
bnRlcnZhbDsKIH07CiAgICAgCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luVmlldy5tbSBiL1NvdXJj
ZS9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5WaWV3Lm1tCmluZGV4IDA4N2Zj
ZmJjMDFiODZjMGYxOTFhZGMwNDM1YWEwNDg1NWM3ZjcxMGIuLjAxOTNlNDBmZTZkZTE2M2Y2MDFj
MDgyNWRmODQzZjNlYjgyOTU0ZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdp
bnMvV2ViTmV0c2NhcGVQbHVnaW5WaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdp
bnMvV2ViTmV0c2NhcGVQbHVnaW5WaWV3Lm1tCkBAIC0xMTEsNyArMTExLDcgQEAgc3RhdGljIFdl
Yk5ldHNjYXBlUGx1Z2luVmlldyAqY3VycmVudFBsdWdpblZpZXcgPSBuaWw7CiAKIHR5cGVkZWYg
c3RydWN0IE9wYXF1ZVBvcnRTdGF0ZSogUG9ydFN0YXRlOwogCi1zdGF0aWMgY29uc3QgZG91Ymxl
IFRocm90dGxlZFRpbWVySW50ZXJ2YWwgPSAwLjI1Oworc3RhdGljIGNvbnN0IFNlY29uZHMgdGhy
b3R0bGVkVGltZXJJbnRlcnZhbCB7IDI1MF9tcyB9OwogCiBjbGFzcyBQbHVnaW5UaW1lciA6IHB1
YmxpYyBUaW1lckJhc2UgewogcHVibGljOgpAQCAtMTMwLDEwICsxMzAsMTAgQEAgcHVibGljOgog
ICAgIHsKICAgICAgICAgQVNTRVJUKCFpc0FjdGl2ZSgpKTsKIAotICAgICAgICBkb3VibGUgdGlt
ZUludGVydmFsID0gbV9pbnRlcnZhbCAvIDEwMDAuMDsKKyAgICAgICAgU2Vjb25kcyB0aW1lSW50
ZXJ2YWwgPSAxX21zICogbV9pbnRlcnZhbDsKICAgICAgICAgCiAgICAgICAgIGlmICh0aHJvdHRs
ZSkKLSAgICAgICAgICAgIHRpbWVJbnRlcnZhbCA9IHN0ZDo6bWF4KHRpbWVJbnRlcnZhbCwgVGhy
b3R0bGVkVGltZXJJbnRlcnZhbCk7CisgICAgICAgICAgICB0aW1lSW50ZXJ2YWwgPSBzdGQ6Om1h
eCh0aW1lSW50ZXJ2YWwsIHRocm90dGxlZFRpbWVySW50ZXJ2YWwpOwogICAgICAgICAKICAgICAg
ICAgaWYgKG1fcmVwZWF0KQogICAgICAgICAgICAgc3RhcnRSZXBlYXRpbmcoU2Vjb25kcyB7IHRp
bWVJbnRlcnZhbCB9KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1N0b3JhZ2UvV2Vi
U3RvcmFnZU1hbmFnZXIubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9TdG9yYWdlL1dlYlN0b3JhZ2VN
YW5hZ2VyLm1tCmluZGV4IDM3MDRmN2VkZDM1ODRmZjE4ZDc2YTY2YTlmMDIzMzg4NTRkYzdmNjku
LjgxYmExZTZkZGZiMGQwODk4YzcwNzJlMWQ2ODEzNGU0NzJhNTc4MmEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvbWFjL1N0b3JhZ2UvV2ViU3RvcmFnZU1hbmFnZXIubW0KKysrIGIvU291cmNl
L1dlYktpdC9tYWMvU3RvcmFnZS9XZWJTdG9yYWdlTWFuYWdlci5tbQpAQCAtMTE3LDcgKzExNyw3
IEBAICsgKE5TU3RyaW5nICopX3N0b3JhZ2VEaXJlY3RvcnlQYXRoCiAKICsgKHZvaWQpc2V0U3Rv
cmFnZURhdGFiYXNlSWRsZUludGVydmFsOihkb3VibGUpaW50ZXJ2YWwKIHsKLSAgICBXZWJLaXQ6
OlN0b3JhZ2VUcmFja2VyOjp0cmFja2VyKCkuc2V0U3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFs
KGludGVydmFsKTsKKyAgICBXZWJLaXQ6OlN0b3JhZ2VUcmFja2VyOjp0cmFja2VyKCkuc2V0U3Rv
cmFnZURhdGFiYXNlSWRsZUludGVydmFsKDFfcyAqIGludGVydmFsKTsKIH0KIAogKyAodm9pZClj
bG9zZUlkbGVMb2NhbFN0b3JhZ2VEYXRhYmFzZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
d2luL1BsdWdpbnMvUGx1Z2luTWVzc2FnZVRocm90dGxlcldpbi5jcHAgYi9Tb3VyY2UvV2ViS2l0
L3dpbi9QbHVnaW5zL1BsdWdpbk1lc3NhZ2VUaHJvdHRsZXJXaW4uY3BwCmluZGV4IGE1M2MzMTVj
MjAxODQzOTRmM2I0MDY0YTNmNTQ0NzU3M2VkMmNmMDkuLjQzMzFhZmFmMTlkMzFiMjE0ODA3ZTll
M2ZhNzJlODM4MDdiOWIxMmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL1BsdWdpbnMv
UGx1Z2luTWVzc2FnZVRocm90dGxlcldpbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC93aW4vUGx1
Z2lucy9QbHVnaW5NZXNzYWdlVGhyb3R0bGVyV2luLmNwcApAQCAtMzksNyArMzksNyBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAvLyBUaGlzIHZhbHVlIGFsbG93cyBGbGFzaCA2MCBtZXNzYWdlcy9z
ZWNvbmQsIHdoaWNoIHNob3VsZCBiZSBlbm91Z2ggZm9yIHZpZGVvCiAvLyBwbGF5YmFjaywgYW5k
IGFsc28gZ2V0cyB1cyBvdmVyIHRoZSBsaW1pdCBmb3Iga2lja2luZyBpbnRvIGhpZ2gtcmVzb2x1
dGlvbgogLy8gdGltZXIgbW9kZSAoc2VlIFNoYXJlZFRpbWVyV2luLmNwcCkuCi1zdGF0aWMgY29u
c3QgZG91YmxlIE1lc3NhZ2VUaHJvdHRsZVRpbWVJbnRlcnZhbCA9IDAuMDE2Oworc3RhdGljIGNv
bnN0IFNlY29uZHMgbWVzc2FnZVRocm90dGxlVGltZUludGVydmFsIHsgMTZfbXMgfTsKIAogLy8g
RHVyaW5nIGEgY29udGludW91cyBzdHJlYW0gb2YgbWVzc2FnZXMsIHByb2Nlc3Mgb25lIGV2ZXJ5
IDVtcy4KIHN0YXRpYyBjb25zdCBkb3VibGUgTWVzc2FnZURpcmVjdFByb2Nlc3NpbmdJbnRlcnZh
bCA9IDAuMDA1OwpAQCAtOTUsNyArOTUsNyBAQCB2b2lkIFBsdWdpbk1lc3NhZ2VUaHJvdHRsZXJX
aW46OmFwcGVuZE1lc3NhZ2UoSFdORCBoV25kLCBVSU5UIG1zZywgV1BBUkFNIHdQYXJhbQogICAg
IH0KIAogICAgIGlmICghbV9tZXNzYWdlVGhyb3R0bGVUaW1lci5pc0FjdGl2ZSgpKQotICAgICAg
ICBtX21lc3NhZ2VUaHJvdHRsZVRpbWVyLnN0YXJ0T25lU2hvdChNZXNzYWdlVGhyb3R0bGVUaW1l
SW50ZXJ2YWwpOworICAgICAgICBtX21lc3NhZ2VUaHJvdHRsZVRpbWVyLnN0YXJ0T25lU2hvdCht
ZXNzYWdlVGhyb3R0bGVUaW1lSW50ZXJ2YWwpOwogfQogCiB2b2lkIFBsdWdpbk1lc3NhZ2VUaHJv
dHRsZXJXaW46OnByb2Nlc3NRdWV1ZWRNZXNzYWdlKCkKQEAgLTExOCw3ICsxMTgsNyBAQCB2b2lk
IFBsdWdpbk1lc3NhZ2VUaHJvdHRsZXJXaW46Om1lc3NhZ2VUaHJvdHRsZVRpbWVyRmlyZWQoKQog
ICAgIHByb2Nlc3NRdWV1ZWRNZXNzYWdlKCk7CiAKICAgICBpZiAobV9mcm9udCkKLSAgICAgICAg
bV9tZXNzYWdlVGhyb3R0bGVUaW1lci5zdGFydE9uZVNob3QoTWVzc2FnZVRocm90dGxlVGltZUlu
dGVydmFsKTsKKyAgICAgICAgbV9tZXNzYWdlVGhyb3R0bGVUaW1lci5zdGFydE9uZVNob3QobWVz
c2FnZVRocm90dGxlVGltZUludGVydmFsKTsKIH0KIAogUGx1Z2luTWVzc2FnZSogUGx1Z2luTWVz
c2FnZVRocm90dGxlcldpbjo6YWxsb2NhdGVNZXNzYWdlKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luVmlld1dpbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L3dpbi9Q
bHVnaW5zL1BsdWdpblZpZXdXaW4uY3BwCmluZGV4IDc1Y2I3N2YxZjNkNGRhM2MxZDY2NzdmMTc5
YjQyMmVmZDMyMDAzNzQuLjI0ZmIxM2VkMzEzNWE1N2I1ODRkMDUwZDI5MGQ1Mjg1ODA2NTAwNzkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luVmlld1dpbi5jcHAK
KysrIGIvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5WaWV3V2luLmNwcApAQCAtODM5
LDcgKzgzOSw3IEBAIHZvaWQgUGx1Z2luVmlldzo6aW52YWxpZGF0ZVJlY3QoTlBSZWN0KiByZWN0
KQogICAgICAgICBpZiAobV9wbHVnaW4tPnF1aXJrcygpLmNvbnRhaW5zKFBsdWdpblF1aXJrVGhy
b3R0bGVJbnZhbGlkYXRlKSkgewogICAgICAgICAgICAgbV9pbnZhbGlkUmVjdHMuYXBwZW5kKHIp
OwogICAgICAgICAgICAgaWYgKCFtX2ludmFsaWRhdGVUaW1lci5pc0FjdGl2ZSgpKQotICAgICAg
ICAgICAgICAgIG1faW52YWxpZGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwLjAwMSk7CisgICAgICAg
ICAgICAgICAgbV9pbnZhbGlkYXRlVGltZXIuc3RhcnRPbmVTaG90KDFfbXMpOwogICAgICAgICB9
IGVsc2UKICAgICAgICAgICAgIGludmFsaWRhdGVSZWN0KHIpOwogICAgIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L0FjY2VsZXJhdGVkQ29tcG9zaXRpbmdD
b250ZXh0LmNwcCBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L0FjY2VsZXJhdGVk
Q29tcG9zaXRpbmdDb250ZXh0LmNwcAppbmRleCBmYzBkMTU1NzBmZWFlYzlkYjM4Njk3MDhiNWFi
N2M3YTRhZDIyMjgyLi41ZTE2ZTIwZjE5YzEyYmY1NWIwZmRmODk4MWQ3MDkzODA4Yzg0ZWFiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9BY2NlbGVyYXRlZENv
bXBvc2l0aW5nQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBv
cnQvQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQuY3BwCkBAIC0zNDksNyArMzQ5LDcgQEAg
dm9pZCBBY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dDo6c2NoZWR1bGVMYXllckZsdXNoKCkK
ICAgICBpZiAobV9sYXllckZsdXNoVGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgcmV0dXJuOwog
Ci0gICAgbV9sYXllckZsdXNoVGltZXIuc3RhcnRPbmVTaG90KDAuMDUpOworICAgIG1fbGF5ZXJG
bHVzaFRpbWVyLnN0YXJ0T25lU2hvdCg1MF9tcyk7CiB9CiAKIGJvb2wgQWNjZWxlcmF0ZWRDb21w
b3NpdGluZ0NvbnRleHQ6OmZsdXNoUGVuZGluZ0xheWVyQ2hhbmdlcygpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9QaW5nTG9hZC5oIGIvU291cmNlL1dlYktpdDIv
TmV0d29ya1Byb2Nlc3MvUGluZ0xvYWQuaAppbmRleCBmMDE0NGQ2ODhkZjYzZTk1ZDQ0Njk0ODZj
NTZjODY2ZDg4OWI3YTYxLi4zOWJlMDZkM2UxYmM0NGZlMjFhNjk2NDBjZGE0OWU0ZDgyNjVhZGY0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9QaW5nTG9hZC5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL1BpbmdMb2FkLmgKQEAgLTQ2LDcgKzQ2
LDcgQEAgcHVibGljOgogCiAgICAgICAgIC8vIElmIHRoZSBzZXJ2ZXIgbmV2ZXIgcmVzcG9uZHMs
IHRoaXMgb2JqZWN0IHdpbGwgaGFuZyBhcm91bmQgZm9yZXZlci4KICAgICAgICAgLy8gU2V0IGEg
dmVyeSBnZW5lcm91cyB0aW1lb3V0LCBqdXN0IGluIGNhc2UuCi0gICAgICAgIG1fdGltZW91dFRp
bWVyLnN0YXJ0T25lU2hvdCg2MDAwMCk7CisgICAgICAgIG1fdGltZW91dFRpbWVyLnN0YXJ0T25l
U2hvdCg2MDAwMF9zKTsKICAgICB9CiAgICAgCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mvc291cC9OZXR3b3JrRGF0YVRhc2tTb3VwLmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL3NvdXAvTmV0d29ya0RhdGFUYXNrU291cC5jcHAK
aW5kZXggNWZmOWI3ODQwOWViODA2OTY1OTFjOTI5YmU4Yzc1OTA1NGIzZTZkYS4uOTBiZTIzZGYz
OTAzY2NmZmU2MmZlZjZkNjU1ZjJhYWQxMjFmMzE3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvTmV0d29ya1Byb2Nlc3Mvc291cC9OZXR3b3JrRGF0YVRhc2tTb3VwLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9zb3VwL05ldHdvcmtEYXRhVGFza1NvdXAuY3BwCkBA
IC0yOTEsNyArMjkxLDcgQEAgdm9pZCBOZXR3b3JrRGF0YVRhc2tTb3VwOjp0aW1lb3V0RmlyZWQo
KQogdm9pZCBOZXR3b3JrRGF0YVRhc2tTb3VwOjpzdGFydFRpbWVvdXQoKQogewogICAgIGlmICht
X2ZpcnN0UmVxdWVzdC50aW1lb3V0SW50ZXJ2YWwoKSA+IDApCi0gICAgICAgIG1fdGltZW91dFNv
dXJjZS5zdGFydE9uZVNob3QobV9maXJzdFJlcXVlc3QudGltZW91dEludGVydmFsKCkpOworICAg
ICAgICBtX3RpbWVvdXRTb3VyY2Uuc3RhcnRPbmVTaG90KDFfcyAqIG1fZmlyc3RSZXF1ZXN0LnRp
bWVvdXRJbnRlcnZhbCgpKTsKIH0KIAogdm9pZCBOZXR3b3JrRGF0YVRhc2tTb3VwOjpzdG9wVGlt
ZW91dCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvQ29ubmVjdGlv
bi5oIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24uaAppbmRleCBjYjAw
YjJkYzJhNmQwMjM4NGNlMzViM2MxNWNkMzBhZmRmNGE2YzZiLi5mY2UxZTYzYmMyOWZjYmIyZWUz
YmU3MjA2MWY4MzZhYjczZmY3ODlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9y
bS9JUEMvQ29ubmVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9Db25u
ZWN0aW9uLmgKQEAgLTE4OSw3ICsxODksNyBAQCBwdWJsaWM6CiAKICNpZiBQTEFURk9STShDT0NP
QSkKICAgICBib29sIGtpbGwoKTsKLSAgICB2b2lkIHRlcm1pbmF0ZVNvb24oZG91YmxlIGludGVy
dmFsSW5TZWNvbmRzKTsKKyAgICB2b2lkIHRlcm1pbmF0ZVNvb24oU2Vjb25kcyk7CiAjZW5kaWYK
IAogICAgIGJvb2wgaXNWYWxpZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNWYWxpZDsgfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL21hYy9Db25uZWN0aW9uTWFjLm1tIGIv
U291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL21hYy9Db25uZWN0aW9uTWFjLm1tCmluZGV4IDVl
NjViZjM1NjAyNThiMzJiNjBlMDQ1YTg3MTI1MTk1Nzg0MWZlODEuLmU2YWI5ZGQzMzNjZDU0ZWMw
ZDNlN2JjMGViYTRhNTBhYWZjMzY3MjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsYXRm
b3JtL0lQQy9tYWMvQ29ubmVjdGlvbk1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9y
bS9JUEMvbWFjL0Nvbm5lY3Rpb25NYWMubW0KQEAgLTgyLDIwICs4MiwyMCBAQCBlbnVtIHsKIC8v
ICAgIHRvIGVuc3VyZSBpdCBoYXMgYSBjaGFuY2UgdG8gdGVybWluYXRlIGNsZWFubHkuCiBjbGFz
cyBDb25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZyB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIHZv
aWQgY3JlYXRlQ29ubmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hkb2coT1NPYmplY3RQdHI8eHBjX2Nv
bm5lY3Rpb25fdD4mIHhwY0Nvbm5lY3Rpb24sIGRvdWJsZSBpbnRlcnZhbEluU2Vjb25kcykKKyAg
ICBzdGF0aWMgdm9pZCBjcmVhdGVDb25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZyhPU09iamVj
dFB0cjx4cGNfY29ubmVjdGlvbl90PiYgeHBjQ29ubmVjdGlvbiwgU2Vjb25kcyBpbnRlcnZhbCkK
ICAgICB7Ci0gICAgICAgIG5ldyBDb25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZyh4cGNDb25u
ZWN0aW9uLCBpbnRlcnZhbEluU2Vjb25kcyk7CisgICAgICAgIG5ldyBDb25uZWN0aW9uVGVybWlu
YXRpb25XYXRjaGRvZyh4cGNDb25uZWN0aW9uLCBpbnRlcnZhbCk7CiAgICAgfQogICAgIAogcHJp
dmF0ZToKLSAgICBDb25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZyhPU09iamVjdFB0cjx4cGNf
Y29ubmVjdGlvbl90PiYgeHBjQ29ubmVjdGlvbiwgZG91YmxlIGludGVydmFsSW5TZWNvbmRzKQor
ICAgIENvbm5lY3Rpb25UZXJtaW5hdGlvbldhdGNoZG9nKE9TT2JqZWN0UHRyPHhwY19jb25uZWN0
aW9uX3Q+JiB4cGNDb25uZWN0aW9uLCBTZWNvbmRzIGludGVydmFsKQogICAgICAgICA6IG1feHBj
Q29ubmVjdGlvbih4cGNDb25uZWN0aW9uKQogICAgICAgICAsIG1fd2F0Y2hkb2dUaW1lcihSdW5M
b29wOjptYWluKCksIHRoaXMsICZDb25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZzo6d2F0Y2hk
b2dUaW1lckZpcmVkKQogI2lmIFBMQVRGT1JNKElPUykKICAgICAgICAgLCBtX2Fzc2VydGlvbihz
dGQ6Om1ha2VfdW5pcXVlPFdlYktpdDo6UHJvY2Vzc0FuZFVJQXNzZXJ0aW9uPih4cGNfY29ubmVj
dGlvbl9nZXRfcGlkKG1feHBjQ29ubmVjdGlvbi5nZXQoKSksIFdlYktpdDo6QXNzZXJ0aW9uU3Rh
dGU6OkJhY2tncm91bmQpKQogI2VuZGlmCiAgICAgewotICAgICAgICBtX3dhdGNoZG9nVGltZXIu
c3RhcnRPbmVTaG90KGludGVydmFsSW5TZWNvbmRzKTsKKyAgICAgICAgbV93YXRjaGRvZ1RpbWVy
LnN0YXJ0T25lU2hvdChpbnRlcnZhbCk7CiAgICAgfQogICAgIAogICAgIHZvaWQgd2F0Y2hkb2dU
aW1lckZpcmVkKCkKQEAgLTE1NSwxMCArMTU1LDEwIEBAIHZvaWQgQ29ubmVjdGlvbjo6cGxhdGZv
cm1JbnZhbGlkYXRlKCkKICNlbmRpZgogfQogICAgIAotdm9pZCBDb25uZWN0aW9uOjp0ZXJtaW5h
dGVTb29uKGRvdWJsZSBpbnRlcnZhbEluU2Vjb25kcykKK3ZvaWQgQ29ubmVjdGlvbjo6dGVybWlu
YXRlU29vbihTZWNvbmRzIGludGVydmFsKQogewogICAgIGlmIChtX3hwY0Nvbm5lY3Rpb24pCi0g
ICAgICAgIENvbm5lY3Rpb25UZXJtaW5hdGlvbldhdGNoZG9nOjpjcmVhdGVDb25uZWN0aW9uVGVy
bWluYXRpb25XYXRjaGRvZyhtX3hwY0Nvbm5lY3Rpb24sIGludGVydmFsSW5TZWNvbmRzKTsKKyAg
ICAgICAgQ29ubmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hkb2c6OmNyZWF0ZUNvbm5lY3Rpb25UZXJt
aW5hdGlvbldhdGNoZG9nKG1feHBjQ29ubmVjdGlvbiwgaW50ZXJ2YWwpOwogfQogICAgIAogdm9p
ZCBDb25uZWN0aW9uOjpwbGF0Zm9ybUluaXRpYWxpemUoSWRlbnRpZmllciBpZGVudGlmaWVyKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5jcHAKaW5kZXgg
NzU4MTUzYmQ5YmJjN2Q1MTE3MjVjYWE2M2VjMzU3MzUyZjVlNmZlMC4uOTY5OWIwNTMzNGNiYTFh
OWQ5MDIwZjE4OWFjM2JiMTg0ZTQ0ODA5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGx1
Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Q
cm9jZXNzL1BsdWdpblByb2Nlc3MuY3BwCkBAIC0yMTYsOSArMjE2LDkgQEAgdm9pZCBQbHVnaW5Q
cm9jZXNzOjpkZWxldGVXZWJzaXRlRGF0YUZvckhvc3ROYW1lcyhjb25zdCBWZWN0b3I8U3RyaW5n
PiYgaG9zdE5hbWUKICAgICBwYXJlbnRQcm9jZXNzQ29ubmVjdGlvbigpLT5zZW5kKE1lc3NhZ2Vz
OjpQbHVnaW5Qcm9jZXNzUHJveHk6OkRpZERlbGV0ZVdlYnNpdGVEYXRhRm9ySG9zdE5hbWVzKGNh
bGxiYWNrSUQpLCAwKTsKIH0KIAotdm9pZCBQbHVnaW5Qcm9jZXNzOjpzZXRNaW5pbXVtTGlmZXRp
bWUoZG91YmxlIGxpZmV0aW1lKQordm9pZCBQbHVnaW5Qcm9jZXNzOjpzZXRNaW5pbXVtTGlmZXRp
bWUoU2Vjb25kcyBsaWZldGltZSkKIHsKLSAgICBpZiAobGlmZXRpbWUgPD0gMC4wKQorICAgIGlm
IChsaWZldGltZSA8PSAwX3MpCiAgICAgICAgIHJldHVybjsKICAgICAKICAgICBkaXNhYmxlVGVy
bWluYXRpb24oKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1
Z2luUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNz
LmgKaW5kZXggOTJjNjc3NzUyNmFmYTBkMGU5MGQ3N2Q3NmJmYWY1MmUxNzIzOThlNy4uMjQ3OWE0
Mzc1ZDdlMzUwNzE1NjI3NjZjZmJmYjRiNGQxOWYzYWZmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdDIv
UGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmgKQEAgLTEwMSw3ICsxMDEsNyBAQCBwcml2YXRl
OgogCiAgICAgdm9pZCBwbGF0Zm9ybUluaXRpYWxpemVQbHVnaW5Qcm9jZXNzKFBsdWdpblByb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnMmJik7CiAgICAgCi0gICAgdm9pZCBzZXRNaW5pbXVtTGlmZXRp
bWUoZG91YmxlKTsKKyAgICB2b2lkIHNldE1pbmltdW1MaWZldGltZShTZWNvbmRzKTsKICAgICB2
b2lkIG1pbmltdW1MaWZldGltZVRpbWVyRmlyZWQoKTsKICAgICAvLyBPdXIgd2ViIHByb2Nlc3Mg
Y29ubmVjdGlvbnMuCiAgICAgVmVjdG9yPFJlZlB0cjxXZWJQcm9jZXNzQ29ubmVjdGlvbj4+IG1f
d2ViUHJvY2Vzc0Nvbm5lY3Rpb25zOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVk
L0NoaWxkUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ2hpbGRQcm9jZXNzLmNw
cAppbmRleCBiYzFmMmQ2YWI2YTZhZDI2MGZjZGM2MTQ1YzE2OGNhZmE2MmFmZjhiLi5mMWEzYTM4
ZThiZDVkYmVkNjJhMDU0MWRjMjhlMmYzMmFmYzRkNTdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvQ2hpbGRQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
Q2hpbGRQcm9jZXNzLmNwcApAQCAtMzMsOCArMzMsNyBAQAogbmFtZXNwYWNlIFdlYktpdCB7CiAK
IENoaWxkUHJvY2Vzczo6Q2hpbGRQcm9jZXNzKCkKLSAgICA6IG1fdGVybWluYXRpb25UaW1lb3V0
KDApCi0gICAgLCBtX3Rlcm1pbmF0aW9uQ291bnRlcigwKQorICAgIDogbV90ZXJtaW5hdGlvbkNv
dW50ZXIoMCkKICAgICAsIG1fdGVybWluYXRpb25UaW1lcihSdW5Mb29wOjptYWluKCksIHRoaXMs
ICZDaGlsZFByb2Nlc3M6OnRlcm1pbmF0aW9uVGltZXJGaXJlZCkKICAgICAsIG1fcHJvY2Vzc1N1
cHByZXNzaW9uRGlzYWJsZWQoIlByb2Nlc3MgU3VwcHJlc3Npb24gRGlzYWJsZWQgYnkgVUlQcm9j
ZXNzIikKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3Mu
aCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuaAppbmRleCA4YmEyNGRlNDU2
MjYwNzA2YWFmMDQ5ZDRkMDE3M2MyZTAxNDRjNzI4Li42ZmU3MmIxNzNmMGY3MDA1ZWM1ZDMyMTZj
ZWRjN2M3ZWI1YWZiNzk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ2hpbGRQ
cm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0NoaWxkUHJvY2Vzcy5oCkBAIC04
MSw3ICs4MSw3IEBAIHByb3RlY3RlZDoKICAgICBleHBsaWNpdCBDaGlsZFByb2Nlc3MoKTsKICAg
ICB2aXJ0dWFsIH5DaGlsZFByb2Nlc3MoKTsKIAotICAgIHZvaWQgc2V0VGVybWluYXRpb25UaW1l
b3V0KGRvdWJsZSBzZWNvbmRzKSB7IG1fdGVybWluYXRpb25UaW1lb3V0ID0gc2Vjb25kczsgfQor
ICAgIHZvaWQgc2V0VGVybWluYXRpb25UaW1lb3V0KFNlY29uZHMgc2Vjb25kcykgeyBtX3Rlcm1p
bmF0aW9uVGltZW91dCA9IHNlY29uZHM7IH0KIAogICAgIHZpcnR1YWwgdm9pZCBpbml0aWFsaXpl
UHJvY2Vzcyhjb25zdCBDaGlsZFByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMmKTsKICAg
ICB2aXJ0dWFsIHZvaWQgaW5pdGlhbGl6ZVByb2Nlc3NOYW1lKGNvbnN0IENoaWxkUHJvY2Vzc0lu
aXRpYWxpemF0aW9uUGFyYW1ldGVycyYpOwpAQCAtMTIwLDcgKzEyMCw3IEBAIHByaXZhdGU6CiAK
ICAgICAvLyBUaGUgdGltZW91dCwgaW4gc2Vjb25kcywgYmVmb3JlIHRoaXMgcHJvY2VzcyB3aWxs
IGJlIHRlcm1pbmF0ZWQgaWYgdGVybWluYXRpb24KICAgICAvLyBoYXMgYmVlbiBlbmFibGVkLiBJ
ZiB0aGUgdGltZW91dCBpcyAwIHNlY29uZHMsIHRoZSBwcm9jZXNzIHdpbGwgYmUgdGVybWluYXRl
ZCBpbW1lZGlhdGVseS4KLSAgICBkb3VibGUgbV90ZXJtaW5hdGlvblRpbWVvdXQ7CisgICAgU2Vj
b25kcyBtX3Rlcm1pbmF0aW9uVGltZW91dDsKIAogICAgIC8vIEEgdGVybWluYXRpb24gY291bnRl
cjsgd2hlbiB0aGUgY291bnRlciByZWFjaGVzIHplcm8sIHRoZSBwcm9jZXNzIHdpbGwgYmUgdGVy
bWluYXRlZAogICAgIC8vIGFmdGVyIGEgZ2l2ZW4gcGVyaW9kIG9mIHRpbWUuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy90aHJlYWRlZGNvbXBv
c2l0b3IvQ29tcG9zaXRpbmdSdW5Mb29wLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Db29y
ZGluYXRlZEdyYXBoaWNzL3RocmVhZGVkY29tcG9zaXRvci9Db21wb3NpdGluZ1J1bkxvb3AuY3Bw
CmluZGV4IGFhZGQ2YWJiMjZhNTZmYTQ0NzZiYWE1N2ZkMWZmOTE3YzNkYzYxMjAuLjU2MTdiYmFk
MDEwN2VlNGVmZmQzN2YxODFmMmFlZWNjMmMzZWI5ZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL3RocmVhZGVkY29tcG9zaXRvci9Db21wb3Np
dGluZ1J1bkxvb3AuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Db29yZGluYXRlZEdy
YXBoaWNzL3RocmVhZGVkY29tcG9zaXRvci9Db21wb3NpdGluZ1J1bkxvb3AuY3BwCkBAIC0xNTQs
NyArMTU0LDcgQEAgdm9pZCBDb21wb3NpdGluZ1J1bkxvb3A6OnN0YXJ0VXBkYXRlVGltZXIoVXBk
YXRlVGltaW5nIHRpbWluZykKICAgICBpZiAodGltaW5nID09IFdhaXRVbnRpbE5leHRGcmFtZSkK
ICAgICAgICAgbmV4dFVwZGF0ZVRpbWUgPSBzdGQ6Om1heCgoMSAvIHRhcmdldEZQUykgLSAobW9u
b3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkgLSBtX2xhc3RVcGRhdGVUaW1lKSwgMC4wKTsKIAot
ICAgIG1fdXBkYXRlVGltZXIuc3RhcnRPbmVTaG90KG5leHRVcGRhdGVUaW1lKTsKKyAgICBtX3Vw
ZGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgxX3MgKiBuZXh0VXBkYXRlVGltZSk7CiB9CiAKIHZvaWQg
Q29tcG9zaXRpbmdSdW5Mb29wOjpzdG9wVXBkYXRlVGltZXIoKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5o
IGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc0NyZWF0aW9uUGFy
YW1ldGVycy5oCmluZGV4IGExMmE0NDQ1YmIxNmNhYWY2OTI3M2I2NGE4NjMyMTA4ZTdkNTQ5ZjQu
LmIxYTM0YTRkZjFkMmQ4MjU5OGFjYTZjZjg0NTRlYjRmYTFjZGU2ZjAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL1BsdWdpblByb2Nlc3NDcmVhdGlvblBhcmFtZXRl
cnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzLmgKQEAgLTMwLDYgKzMwLDcgQEAKIAogI2luY2x1ZGUgIkF0dGFjaG1l
bnQuaCIKICNpbmNsdWRlICJQbHVnaW5Qcm9jZXNzQXR0cmlidXRlcy5oIgorI2luY2x1ZGUgPHd0
Zi9TZWNvbmRzLmg+CiAKICNpZiBQTEFURk9STShDT0NPQSkKICNpbmNsdWRlIDxXZWJDb3JlL01h
Y2hTZW5kUmlnaHQuaD4KQEAgLTUxLDggKzUyLDggQEAgc3RydWN0IFBsdWdpblByb2Nlc3NDcmVh
dGlvblBhcmFtZXRlcnMgewogICAgIFBsdWdpblByb2Nlc3NUeXBlIHByb2Nlc3NUeXBlOwogICAg
IGJvb2wgc3VwcG9ydHNBc3luY2hyb25vdXNQbHVnaW5Jbml0aWFsaXphdGlvbjsKIAotICAgIGRv
dWJsZSBtaW5pbXVtTGlmZXRpbWU7Ci0gICAgZG91YmxlIHRlcm1pbmF0aW9uVGltZW91dDsKKyAg
ICBTZWNvbmRzIG1pbmltdW1MaWZldGltZTsKKyAgICBTZWNvbmRzIHRlcm1pbmF0aW9uVGltZW91
dDsKIAogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIFdlYkNvcmU6Ok1hY2hTZW5kUmlnaHQgYWNj
ZWxlcmF0ZWRDb21wb3NpdGluZ1BvcnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvV2ViTWVtb3J5U2FtcGxlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViTWVtb3J5
U2FtcGxlci5jcHAKaW5kZXggYmFiYzI4ODhjYjc1ZmI0NmYzODgwZDhjZGI4MzFmMmE3ZDI0NjIw
Yi4uMTUxMzM5MDg4ZGM1ZTAwYTkwYzFhMmNhNGFhYTZmOTM4MTI1YzFjYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvU2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9XZWJNZW1vcnlTYW1wbGVyLmNwcApAQCAtOTEsNyArOTEsNyBAQCB2b2lk
IFdlYk1lbW9yeVNhbXBsZXI6OmluaXRpYWxpemVUaW1lcnMoZG91YmxlIGludGVydmFsKQogICAg
IG1fc2FtcGxlVGltZXIuc3RhcnRSZXBlYXRpbmcoMV9zKTsKICAgICBwcmludGYoIlN0YXJ0ZWQg
bWVtb3J5IHNhbXBsZXIgZm9yIHByb2Nlc3MgJXMgJWQiLCBwcm9jZXNzTmFtZSgpLnV0ZjgoKS5k
YXRhKCksIGdldHBpZCgpKTsKICAgICBpZiAoaW50ZXJ2YWwgPiAwKSB7Ci0gICAgICAgIG1fc3Rv
cFRpbWVyLnN0YXJ0T25lU2hvdChpbnRlcnZhbCk7CisgICAgICAgIG1fc3RvcFRpbWVyLnN0YXJ0
T25lU2hvdCgxX3MgKiBpbnRlcnZhbCk7CiAgICAgICAgIHByaW50ZigiIGZvciBhIGludGVydmFs
IG9mICVnIHNlY29uZHMiLCBpbnRlcnZhbCk7CiAgICAgfQogICAgIHByaW50ZigiOyBTYW1wbGVy
IGxvZyBmaWxlIHN0b3JlZCBhdDogJXNcbiIsIG1fc2FtcGxlTG9nRmlsZVBhdGgudXRmOCgpLmRh
dGEoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0
aW9uUGFyYW1ldGVycy5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlv
blBhcmFtZXRlcnMuaAppbmRleCBmZDgwNmIyMjAyNDc5ZTE2MDQ4NjFkZjk4ZTA4Y2FiMWExYWE2
MGQ5Li45MjZhMzIyMGZiNjhkMTViZWJkMDA2ODIxMzViMGQxMmEyNTQ0OGJkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgK
QEAgLTEyNiw3ICsxMjYsNyBAQCBzdHJ1Y3QgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyB7
CiAgICAgYm9vbCBoYXNSaWNoQ29udGVudFNlcnZpY2VzIHsgZmFsc2UgfTsKICNlbmRpZgogCi0g
ICAgZG91YmxlIHRlcm1pbmF0aW9uVGltZW91dCB7IDAgfTsKKyAgICBTZWNvbmRzIHRlcm1pbmF0
aW9uVGltZW91dDsKIAogICAgIFRleHRDaGVja2VyU3RhdGUgdGV4dENoZWNrZXJTdGF0ZTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9BUElTZXJpYWxp
emVkU2NyaXB0VmFsdWVDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29j
b2EvQVBJU2VyaWFsaXplZFNjcmlwdFZhbHVlQ29jb2EubW0KaW5kZXggODM5NDVkZmVkMzFjNTkx
ODM1OGJlN2Y2NzE2YjFiZmU3MDE4OGI1OS4uMWI1ZGQwMzYzOTFmMjJiOWViYzViNzIzZDkyMjNm
ODAyOTBlOWExOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9BUElTZXJpYWxpemVkU2NyaXB0VmFsdWVDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0NvY29hL0FQSVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUNvY29hLm1tCkBAIC00
Niw3ICs0Niw3IEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIGlmICghbV9jb250ZXh0KSB7CiAg
ICAgICAgICAgICBtX2NvbnRleHQgPSBhZG9wdE5TKFtbSlNDb250ZXh0IGFsbG9jXSBpbml0XSk7
Ci0gICAgICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgxKTsKKyAgICAgICAgICAgIG1fdGlt
ZXIuc3RhcnRPbmVTaG90KDFfcyk7CiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuIG1fY29udGV4
dC5nZXQoKTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ2hp
bGRQcm9jZXNzUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NoaWxkUHJvY2Vz
c1Byb3h5LmNwcAppbmRleCBkZDhhZWY1NTBhYTY2YzIzOTU4M2Y4ODI5MzgyMzQyNGNjYjM5ZGM0
Li4yN2JlYzM2MjMxNWNiMTEwZjFjOGZlNDYzNmE2NGQyZDg2NWU0NDk4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ2hpbGRQcm9jZXNzUHJveHkuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9DaGlsZFByb2Nlc3NQcm94eS5jcHAKQEAgLTE5Nyw3ICsxOTcs
NyBAQCB2b2lkIENoaWxkUHJvY2Vzc1Byb3h5OjpzaHV0RG93blByb2Nlc3MoKQogICAgICAgICAv
LyBPbiBpT1MgZGVwbG95IGEgd2F0Y2hkb2cgaW4gdGhlIFVJIHByb2Nlc3MsIHNpbmNlIHRoZSBj
aGlsZCBwcm9jZXNzIG1heSBiZSBzdXNwZW5kZWQuCiAgICAgICAgIC8vIElmIDMwcyBpcyBpbnN1
ZmZpY2llbnQgZm9yIGFueSBvdXRzdGFuZGluZyBhY3Rpdml0eSB0byBjb21wbGV0ZSBjbGVhbmx5
LCB0aGVuIGl0IHdpbGwgYmUga2lsbGVkLgogICAgICAgICBBU1NFUlQobV9jb25uZWN0aW9uKTsK
LSAgICAgICAgbV9jb25uZWN0aW9uLT50ZXJtaW5hdGVTb29uKDMwKTsKKyAgICAgICAgbV9jb25u
ZWN0aW9uLT50ZXJtaW5hdGVTb29uKDMwX3MpOwogI2VuZGlmCiAgICAgICAgIGJyZWFrOwogICAg
IGNhc2UgU3RhdGU6OlRlcm1pbmF0ZWQ6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQ29jb2EvTmF2aWdhdGlvblN0YXRlLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0NvY29hL05hdmlnYXRpb25TdGF0ZS5tbQppbmRleCA2YjgxY2U0NTY0MWQ0ZmRjMzI3YTA2ZjZj
ZGNlOThkYTEzZmRhYTE5Li45NmI5NjAyMGRjODkzM2I4NDkzNmUxZjFkY2FkYTJjOWRlODZkNGJi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvTmF2aWdhdGlvblN0
YXRlLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9OYXZpZ2F0aW9uU3Rh
dGUubW0KQEAgLTg4Nyw3ICs4ODcsNyBAQCB2b2lkIE5hdmlnYXRpb25TdGF0ZTo6ZGlkQ2hhbmdl
SXNMb2FkaW5nKCkKICAgICB9IGVsc2UgewogICAgICAgICAvLyBEZWxheSByZWxlYXNpbmcgdGhl
IGJhY2tncm91bmQgYWN0aXZpdHkgZm9yIDMgc2Vjb25kcyB0byBnaXZlIHRoZSBhcHBsaWNhdGlv
biBhIGNoYW5jZSB0byBzdGFydCBhbm90aGVyIG5hdmlnYXRpb24KICAgICAgICAgLy8gYmVmb3Jl
IHN1c3BlbmRpbmcgdGhlIFdlYkNvbnRlbnQgcHJvY2VzcyA8cmRhcjovL3Byb2JsZW0vMjc5MTA5
NjQ+LgotICAgICAgICBtX3JlbGVhc2VBY3Rpdml0eVRpbWVyLnN0YXJ0T25lU2hvdCgzcyk7Cisg
ICAgICAgIG1fcmVsZWFzZUFjdGl2aXR5VGltZXIuc3RhcnRPbmVTaG90KDNfcyk7CiAgICAgfQog
I2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9WaWV3
R2VzdHVyZUNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1Zp
ZXdHZXN0dXJlQ29udHJvbGxlci5jcHAKaW5kZXggNzk5ZGE2NWM5YTdhM2U1MTRiY2Y1YzRjOTcw
MDYzMDFlNjYyOTdmMy4uYzRkMzAwMTBkZDM3Y2FiZWZhNzBkYjI0OTVkZjMxYjRlNzcxNDQzOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1ZpZXdHZXN0dXJlQ29u
dHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1ZpZXdHZXN0
dXJlQ29udHJvbGxlci5jcHAKQEAgLTQwLDEzICs0MCwxMyBAQCB1c2luZyBuYW1lc3BhY2UgV2Vi
Q29yZTsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLXN0YXRpYyBjb25zdCBzdGQ6OmNocm9ubzo6
c2Vjb25kcyBzd2lwZVNuYXBzaG90UmVtb3ZhbFdhdGNoZG9nQWZ0ZXJGaXJzdFZpc3VhbGx5Tm9u
RW1wdHlMYXlvdXREdXJhdGlvbiA9IDNzOwotc3RhdGljIGNvbnN0IFNlY29uZHMgc3dpcGVTbmFw
c2hvdFJlbW92YWxBY3RpdmVMb2FkTW9uaXRvcmluZ0ludGVydmFsID0gMjUwX21zOworc3RhdGlj
IGNvbnN0IFNlY29uZHMgc3dpcGVTbmFwc2hvdFJlbW92YWxXYXRjaGRvZ0FmdGVyRmlyc3RWaXN1
YWxseU5vbkVtcHR5TGF5b3V0RHVyYXRpb24geyAzX3MgfTsKK3N0YXRpYyBjb25zdCBTZWNvbmRz
IHN3aXBlU25hcHNob3RSZW1vdmFsQWN0aXZlTG9hZE1vbml0b3JpbmdJbnRlcnZhbCB7IDI1MF9t
cyB9OwogCiAjaWYgUExBVEZPUk0oTUFDKQotc3RhdGljIGNvbnN0IHN0ZDo6Y2hyb25vOjpzZWNv
bmRzIHN3aXBlU25hcHNob3RSZW1vdmFsV2F0Y2hkb2dEdXJhdGlvbiA9IDVzOworc3RhdGljIGNv
bnN0IFNlY29uZHMgc3dpcGVTbmFwc2hvdFJlbW92YWxXYXRjaGRvZ0R1cmF0aW9uID0gNV9zOwog
I2Vsc2UKLXN0YXRpYyBjb25zdCBzdGQ6OmNocm9ubzo6c2Vjb25kcyBzd2lwZVNuYXBzaG90UmVt
b3ZhbFdhdGNoZG9nRHVyYXRpb24gPSAzczsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHN3aXBlU25h
cHNob3RSZW1vdmFsV2F0Y2hkb2dEdXJhdGlvbiA9IDNfczsKICNlbmRpZgogCiBzdGF0aWMgSGFz
aE1hcDx1aW50NjRfdCwgVmlld0dlc3R1cmVDb250cm9sbGVyKj4mIHZpZXdHZXN0dXJlQ29udHJv
bGxlcnNGb3JBbGxQYWdlcygpCkBAIC0yOTcsMTAgKzI5NywxMCBAQCB2b2lkIFZpZXdHZXN0dXJl
Q29udHJvbGxlcjo6U25hcHNob3RSZW1vdmFsVHJhY2tlcjo6d2F0Y2hkb2dUaW1lckZpcmVkKCkK
ICAgICBmaXJlUmVtb3ZhbENhbGxiYWNrSW1tZWRpYXRlbHkoKTsKIH0KIAotdm9pZCBWaWV3R2Vz
dHVyZUNvbnRyb2xsZXI6OlNuYXBzaG90UmVtb3ZhbFRyYWNrZXI6OnN0YXJ0V2F0Y2hkb2coc3Rk
OjpjaHJvbm86OnNlY29uZHMgZHVyYXRpb24pCit2b2lkIFZpZXdHZXN0dXJlQ29udHJvbGxlcjo6
U25hcHNob3RSZW1vdmFsVHJhY2tlcjo6c3RhcnRXYXRjaGRvZyhTZWNvbmRzIGR1cmF0aW9uKQog
ewotICAgIGxvZyhTdHJpbmc6OmZvcm1hdCgiKHJlKXN0YXJ0ZWQgd2F0Y2hkb2cgdGltZXIgZm9y
ICVsbGQgc2Vjb25kcyIsIGR1cmF0aW9uLmNvdW50KCkpKTsKLSAgICBtX3dhdGNoZG9nVGltZXIu
c3RhcnRPbmVTaG90KGR1cmF0aW9uLmNvdW50KCkpOworICAgIGxvZyhTdHJpbmc6OmZvcm1hdCgi
KHJlKXN0YXJ0ZWQgd2F0Y2hkb2cgdGltZXIgZm9yICUuMWYgc2Vjb25kcyIsIGR1cmF0aW9uLnNl
Y29uZHMoKSkpOworICAgIG1fd2F0Y2hkb2dUaW1lci5zdGFydE9uZVNob3QoZHVyYXRpb24pOwog
fQogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9Db2NvYS9WaWV3R2VzdHVyZUNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9Db2NvYS9WaWV3R2VzdHVyZUNvbnRyb2xsZXIuaAppbmRleCAxYmU1OWJjNTNkZjA0
ZjA2NTg1Y2JjZTBiYWNiZjBkYzJmODYxNTliLi5mMTkzZTc4MzMzZjY5ZWZhM2Y4YjZhN2JmMDlj
OWQ3ZDA5MDViMTQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2Ev
Vmlld0dlc3R1cmVDb250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nv
Y29hL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5oCkBAIC0xNTksNyArMTU5LDcgQEAgcHJpdmF0ZToK
ICAgICAgICAgYm9vbCBldmVudE9jY3VycmVkKEV2ZW50cyk7CiAgICAgICAgIGJvb2wgY2FuY2Vs
T3V0c3RhbmRpbmdFdmVudChFdmVudHMpOwogCi0gICAgICAgIHZvaWQgc3RhcnRXYXRjaGRvZyhz
dGQ6OmNocm9ubzo6c2Vjb25kcyk7CisgICAgICAgIHZvaWQgc3RhcnRXYXRjaGRvZyhTZWNvbmRz
KTsKIAogICAgIHByaXZhdGU6CiAgICAgICAgIHN0YXRpYyBTdHJpbmcgZXZlbnRzRGVzY3JpcHRp
b24oRXZlbnRzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5n
QXJlYVByb3h5SW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQ
cm94eUltcGwuY3BwCmluZGV4IDlhOTdiM2ZiZTI1OGZjNTQyMTE5YjVjNjgyYTdhMTY2OGQ5ZTYw
YTUuLjA5YmEzMGI0ODNkMGZjODZmMTgwMTQ3OTBiNjYzYWMzZGJmMmVjNjQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1wbC5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHlJbXBsLmNwcApAQCAtMTg3
LDcgKzE4Nyw3IEBAIHZvaWQgRHJhd2luZ0FyZWFQcm94eUltcGw6OmRpc2NhcmRCYWNraW5nU3Rv
cmVTb29uKCkKIAogICAgIC8vIFdlJ2xsIHdhaXQgdGhpcyBtYW55IHNlY29uZHMgYWZ0ZXIgdGhl
IGxhc3QgcGFpbnQgYmVmb3JlIHRocm93aW5nIGF3YXkgb3VyIGJhY2tpbmcgc3RvcmUgdG8gc2F2
ZSBtZW1vcnkuCiAgICAgLy8gRklYTUU6IEl0IHdvdWxkIGJlIHNtYXJ0ZXIgdG8gbWFrZSB0aGlz
IGRlbGF5IGJhc2VkIG9uIGhvdyBleHBlbnNpdmUgcGFpbnRpbmcgaXMuIFNlZSA8aHR0cDovL3dl
YmtpdC5vcmcvYi81NTczMz4uCi0gICAgc3RhdGljIGNvbnN0IGRvdWJsZSBkaXNjYXJkQmFja2lu
Z1N0b3JlRGVsYXkgPSAyOworICAgIHN0YXRpYyBjb25zdCBTZWNvbmRzIGRpc2NhcmRCYWNraW5n
U3RvcmVEZWxheSA9IDJfczsKIAogICAgIG1fZGlzY2FyZEJhY2tpbmdTdG9yZVRpbWVyLnN0YXJ0
T25lU2hvdChkaXNjYXJkQmFja2luZ1N0b3JlRGVsYXkpOwogfQpAQCAtMjI4LDcgKzIyOCw3IEBA
IHZvaWQgRHJhd2luZ0FyZWFQcm94eUltcGw6OkRyYXdpbmdNb25pdG9yOjpzdGFydChzdGQ6OmZ1
bmN0aW9uPHZvaWQgKENhbGxiYWNrQmFzCiAgICAgbV9jYWxsYmFjayA9IGNhbGxiYWNrOwogI2lm
IFBMQVRGT1JNKEdUSykKICAgICBnX3NpZ25hbF9jb25uZWN0X3N3YXBwZWQobV93ZWJQYWdlLnZp
ZXdXaWRnZXQoKSwgImRyYXciLCByZWludGVycHJldF9jYXN0PEdDYWxsYmFjaz4od2ViVmlld0Ry
YXdDYWxsYmFjayksIHRoaXMpOwotICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDEpOworICAgIG1f
dGltZXIuc3RhcnRPbmVTaG90KDFfcyk7CiAjZWxzZQogICAgIG1fdGltZXIuc3RhcnRPbmVTaG90
KDBfcyk7CiAjZW5kaWYKQEAgLTI1NSw3ICsyNTUsNyBAQCB2b2lkIERyYXdpbmdBcmVhUHJveHlJ
bXBsOjpEcmF3aW5nTW9uaXRvcjo6ZGlkRHJhdygpCiAgICAgaWYgKG1vbm90b25pY2FsbHlJbmNy
ZWFzaW5nVGltZU1TKCkgLSBtX3N0YXJ0VGltZSA+IDEwMDApCiAgICAgICAgIHN0b3AoKTsKICAg
ICBlbHNlCi0gICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDAuMTAwKTsKKyAgICAgICAgbV90
aW1lci5zdGFydE9uZVNob3QoMTAwX21zKTsKIH0KIAogdm9pZCBEcmF3aW5nQXJlYVByb3h5SW1w
bDo6ZGlzcGF0Y2hBZnRlckVuc3VyaW5nRHJhd2luZyhzdGQ6OmZ1bmN0aW9uPHZvaWQoQ2FsbGJh
Y2tCYXNlOjpFcnJvcik+IGNhbGxiYWNrRnVuY3Rpb24pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvR2FtZXBhZC9VSUdhbWVwYWRQcm92aWRlci5jcHAgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvR2FtZXBhZC9VSUdhbWVwYWRQcm92aWRlci5jcHAKaW5kZXggNjU3YzQx
NmY5MDZlNWQwNDM5MDFmYzNlODI0NGI0ZDg3NjI2ODEwZi4uMGJlZTc1NDgzNjFhZDU3NTQzZGJi
MDcxOGI3YmU1NzRmYTRlNmFhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0dhbWVwYWQvVUlHYW1lcGFkUHJvdmlkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9HYW1lcGFkL1VJR2FtZXBhZFByb3ZpZGVyLmNwcApAQCAtMzksNyArMzksNyBAQCB1c2lu
ZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLXN0YXRpYyBjb25z
dCBkb3VibGUgbWF4aW11bUdhbWVwYWRVcGRhdGVJbnRlcnZhbCA9IDEgLyAxMjAuMDsKK3N0YXRp
YyBjb25zdCBTZWNvbmRzIG1heGltdW1HYW1lcGFkVXBkYXRlSW50ZXJ2YWwgeyAxX3MgLyAxMjAu
IH07CiAKIFVJR2FtZXBhZFByb3ZpZGVyJiBVSUdhbWVwYWRQcm92aWRlcjo6c2luZ2xldG9uKCkK
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblBy
b2Nlc3NQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Q
cm9jZXNzUHJveHkuY3BwCmluZGV4IDVmZjUxYjUwOWU4NmYyYjUyNDI0MDI1YzgyNWNlZmJhMTEz
ZWEyYzEuLmJhY2Q3M2U1NDAzNDBhNDQyNmQ2MGU5MGVjYTc5NzFiYTViMGRhNzkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NQcm94eS5j
cHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1By
b3h5LmNwcApAQCAtNDYsMTEgKzQ2LDExIEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBu
YW1lc3BhY2UgV2ViS2l0IHsKIAotc3RhdGljIGNvbnN0IGRvdWJsZSBtaW5pbXVtTGlmZXRpbWUg
PSAyICogNjA7Ci1zdGF0aWMgY29uc3QgZG91YmxlIHNuYXBzaG90dGluZ01pbmltdW1MaWZldGlt
ZSA9IDMwOworc3RhdGljIGNvbnN0IFNlY29uZHMgbWluaW11bUxpZmV0aW1lIHsgMl9taW4gfTsK
K3N0YXRpYyBjb25zdCBTZWNvbmRzIHNuYXBzaG90dGluZ01pbmltdW1MaWZldGltZSB7IDMwX3Mg
fTsKIAotc3RhdGljIGNvbnN0IGRvdWJsZSBzaHV0ZG93blRpbWVvdXQgPSAxICogNjA7Ci1zdGF0
aWMgY29uc3QgZG91YmxlIHNuYXBzaG90dGluZ1NodXRkb3duVGltZW91dCA9IDE1Oworc3RhdGlj
IGNvbnN0IFNlY29uZHMgc2h1dGRvd25UaW1lb3V0IHsgMV9taW4gfTsKK3N0YXRpYyBjb25zdCBT
ZWNvbmRzIHNuYXBzaG90dGluZ1NodXRkb3duVGltZW91dCB7IDE1X3MgfTsKIAogc3RhdGljIHVp
bnQ2NF90IGdlbmVyYXRlQ2FsbGJhY2tJRCgpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvUHJvY2Vzc1Rocm90dGxlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvUHJvY2Vzc1Rocm90dGxlci5jcHAKaW5kZXggNzdiMGI4YzcxZjg4ZjhiYzIwNDkwMmJmNDZh
MjZjMzQ4NWEzNzUxZi4uMDkzODYzYzExY2Q2NzA0N2MxY2UzZTIwYzc5OWMzNjZlZDc4NWE0NiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Byb2Nlc3NUaHJvdHRsZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Qcm9jZXNzVGhyb3R0bGVyLmNwcApAQCAt
MzEsNyArMzEsNyBAQAogCiBuYW1lc3BhY2UgV2ViS2l0IHsKICAgICAKLXN0YXRpYyBjb25zdCB1
bnNpZ25lZCBwcm9jZXNzU3VzcGVuc2lvblRpbWVvdXQgPSAzMDsKK3N0YXRpYyBjb25zdCBTZWNv
bmRzIHByb2Nlc3NTdXNwZW5zaW9uVGltZW91dCB7IDMwX3MgfTsKICAgICAKIFByb2Nlc3NUaHJv
dHRsZXI6OlByb2Nlc3NUaHJvdHRsZXIoUHJvY2Vzc1Rocm90dGxlckNsaWVudCYgcHJvY2VzcykK
ICAgICA6IG1fcHJvY2Vzcyhwcm9jZXNzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1Jlc3BvbnNpdmVuZXNzVGltZXIuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1Jlc3BvbnNpdmVuZXNzVGltZXIuY3BwCmluZGV4IGZlYjQ2OWYwODQyYjVhZTY5YjM2ZjBmY2Zk
Njg2MWM0MDY3ZWVmMmIuLjlhZTVmZDFjNzExMDM5NDk3MTYzMDVjOWQ5MmJiZGY1MjQ2NzVmMTMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9SZXNwb25zaXZlbmVzc1RpbWVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUmVzcG9uc2l2ZW5lc3NUaW1lci5j
cHAKQEAgLTI4LDcgKzI4LDcgQEAKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLXN0YXRpYyBjb25z
dCBkb3VibGUgcmVzcG9uc2l2ZW5lc3NUaW1lb3V0ID0gMzsKK3N0YXRpYyBjb25zdCBTZWNvbmRz
IHJlc3BvbnNpdmVuZXNzVGltZW91dCB7IDNfcyB9OwogCiBSZXNwb25zaXZlbmVzc1RpbWVyOjpS
ZXNwb25zaXZlbmVzc1RpbWVyKFJlc3BvbnNpdmVuZXNzVGltZXI6OkNsaWVudCYgY2xpZW50KQog
ICAgIDogbV9jbGllbnQoY2xpZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYlByb2Nlc3NQb29sLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9j
ZXNzUG9vbC5jcHAKaW5kZXggMWRkN2FlMjQzYmY1OTZkZjIzMDAzYjNhNjM4ZGEzMmE5NDQyYzNj
YS4uZWZlNDZmNTY3MDQzNmNlNmM0NjY5N2M4MGY3YWVjNjhhNmU4ODc2OSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCkBAIC02ODksNyArNjg5LDcgQEAg
V2ViUHJvY2Vzc1Byb3h5JiBXZWJQcm9jZXNzUG9vbDo6Y3JlYXRlTmV3V2ViUHJvY2VzcyhXZWJz
aXRlRGF0YVN0b3JlKiB3ZWJzaXRlRGEKIAogICAgIHBhcmFtZXRlcnMuaWNvbkRhdGFiYXNlRW5h
YmxlZCA9ICFpY29uRGF0YWJhc2VQYXRoKCkuaXNFbXB0eSgpOwogCi0gICAgcGFyYW1ldGVycy50
ZXJtaW5hdGlvblRpbWVvdXQgPSAwOworICAgIHBhcmFtZXRlcnMudGVybWluYXRpb25UaW1lb3V0
ID0gMF9zOwogCiAgICAgcGFyYW1ldGVycy50ZXh0Q2hlY2tlclN0YXRlID0gVGV4dENoZWNrZXI6
OnN0YXRlKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9ndGsvR2Vz
dHVyZUNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2d0ay9HZXN0dXJl
Q29udHJvbGxlci5jcHAKaW5kZXggMDU1NmVhN2M0ZjZmOTk4Yzg3ZmEyZTIzY2UzMDc3NzRjMTFk
YjQ3Ni4uYTM3MzQyOWMxYzVjMjc4MTNlZGU1MTE5NTBmOWVhMjI0NDFmYzMyOSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2d0ay9HZXN0dXJlQ29udHJvbGxlci5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2d0ay9HZXN0dXJlQ29udHJvbGxlci5jcHAKQEAg
LTEyNyw3ICsxMjcsNyBAQCB2b2lkIEdlc3R1cmVDb250cm9sbGVyOjpEcmFnR2VzdHVyZTo6YmVn
aW4oRHJhZ0dlc3R1cmUqIGRyYWdHZXN0dXJlLCBkb3VibGUgeCwgZAogICAgIEd0a1dpZGdldCog
d2lkZ2V0ID0gZ3RrX2V2ZW50X2NvbnRyb2xsZXJfZ2V0X3dpZGdldChHVEtfRVZFTlRfQ09OVFJP
TExFUihnZXN0dXJlKSk7CiAgICAgdW5zaWduZWQgZGVsYXk7CiAgICAgZ19vYmplY3RfZ2V0KGd0
a193aWRnZXRfZ2V0X3NldHRpbmdzKHdpZGdldCksICJndGstbG9uZy1wcmVzcy10aW1lIiwgJmRl
bGF5LCBudWxscHRyKTsKLSAgICBkcmFnR2VzdHVyZS0+bV9sb25nUHJlc3NUaW1lb3V0LnN0YXJ0
T25lU2hvdChkZWxheSAvIDEwMDAuMCk7CisgICAgZHJhZ0dlc3R1cmUtPm1fbG9uZ1ByZXNzVGlt
ZW91dC5zdGFydE9uZVNob3QoMV9tcyAqIGRlbGF5KTsKIH0KIAogdm9pZCBHZXN0dXJlQ29udHJv
bGxlcjo6RHJhZ0dlc3R1cmU6OnVwZGF0ZShEcmFnR2VzdHVyZSogZHJhZ0dlc3R1cmUsIGRvdWJs
ZSB4LCBkb3VibGUgeSwgR3RrR2VzdHVyZSogZ2VzdHVyZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV2ViSW5zcGVjdG9yUHJveHlNYWMubW0gYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvbWFjL1dlYkluc3BlY3RvclByb3h5TWFjLm1tCmluZGV4IGRiZDQwNDJk
MzdkZTQ3ZGM0YWJlYzY5YzkyZTc0MGJjMDJkMDdhMGEuLjJjNDU3YzdhOGQ4N2VjNzk1YTdkMjg0
Zjg4NDFkNzczODI5M2YyYWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9t
YWMvV2ViSW5zcGVjdG9yUHJveHlNYWMubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L21hYy9XZWJJbnNwZWN0b3JQcm94eU1hYy5tbQpAQCAtNTIsNyArNTIsNyBAQCBzdGF0aWMgY29u
c3QgTlNVSW50ZWdlciB3aW5kb3dTdHlsZU1hc2sgPSBOU1dpbmRvd1N0eWxlTWFza1RpdGxlZCB8
IE5TV2luZG93U3R5bAogCiAvLyBUaGUgdGltZSB3ZSBrZWVwIG91ciBXZWJWaWV3IGFsaXZlIGJl
Zm9yZSBjbG9zaW5nIGl0IGFuZCBpdHMgcHJvY2Vzcy4KIC8vIFJldXNpbmcgdGhlIFdlYlZpZXcg
aW1wcm92ZXMgc3RhcnQgdXAgdGltZSBmb3IgcGVvcGxlIHRoYXQganVtcCBpbiBhbmQgb3V0IG9m
IHRoZSBJbnNwZWN0b3IuCi1zdGF0aWMgY29uc3QgdW5zaWduZWQgd2ViVmlld0Nsb3NlVGltZW91
dCA9IDYwOworc3RhdGljIGNvbnN0IFNlY29uZHMgd2ViVmlld0Nsb3NlVGltZW91dCB7IDFfbWlu
IH07CiAKIC8vIFdLV2ViSW5zcGVjdG9yUHJveHlPYmpDQWRhcHRlciBpcyBhIGhlbHBlciBPYmpD
IG9iamVjdCB1c2VkIGFzIGEgZGVsZWdhdGUgb3Igbm90aWZpY2F0aW9uIG9ic2VydmVyCiAvLyBm
b3IgdGhlIHNvbGUgcHVycG9zZSBvZiBnZXR0aW5nIGJhY2sgaW50byB0aGUgQysrIGNvZGUgZnJv
bSBhbiBPYmpDIGNhbGxlci4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9BY2NlbGVyYXRlZERyYXdpbmdBcmVhLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9BY2NlbGVyYXRlZERyYXdpbmdBcmVhLmNwcAppbmRleCBmNDI4MjEwZmJh
ZmFiMzBkMTgzYmVhOGE2MjFmN2MyMDM0OTQ0OGU1Li5lM2M1OGM4NjA5NjBmMGJhMmVlOWU4MDdh
OGEyNzU4Y2RhNWMwNTA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvQWNjZWxlcmF0ZWREcmF3aW5nQXJlYS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL0FjY2VsZXJhdGVkRHJhd2luZ0FyZWEuY3BwCkBAIC0zODQsNyArMzg0
LDcgQEAgdm9pZCBBY2NlbGVyYXRlZERyYXdpbmdBcmVhOjpleGl0QWNjZWxlcmF0ZWRDb21wb3Np
dGluZ01vZGVOb3coKQogICAgIG1fcHJldmlvdXNMYXllclRyZWVIb3N0LT5zZXRJc0Rpc2NhcmRh
YmxlKHRydWUpOwogICAgIG1fcHJldmlvdXNMYXllclRyZWVIb3N0LT5wYXVzZVJlbmRlcmluZygp
OwogICAgIG1fcHJldmlvdXNMYXllclRyZWVIb3N0LT5zZXRMYXllckZsdXNoU2NoZWR1bGluZ0Vu
YWJsZWQoZmFsc2UpOwotICAgIG1fZGlzY2FyZFByZXZpb3VzTGF5ZXJUcmVlSG9zdFRpbWVyLnN0
YXJ0T25lU2hvdCg1KTsKKyAgICBtX2Rpc2NhcmRQcmV2aW91c0xheWVyVHJlZUhvc3RUaW1lci5z
dGFydE9uZVNob3QoNV9zKTsKICNlbHNlCiAgICAgbV9sYXllclRyZWVIb3N0ID0gbnVsbHB0cjsK
ICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nv
b3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0LmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVk
TGF5ZXJUcmVlSG9zdC5jcHAKaW5kZXggYTE0MTA0MzQ5ZGM4MWM5NmZmNzhlYjRlMzE1Y2RmMzZh
YjJlNjlkNy4uYjhiOTM2MDczYzc3ODYyNjIwOWFiZTc5OTgxM2JlYmM4YzYyYjgyYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhp
Y3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhv
c3QuY3BwCkBAIC0yMzQsNyArMjM0LDcgQEAgdm9pZCBDb29yZGluYXRlZExheWVyVHJlZUhvc3Q6
OnNjaGVkdWxlQW5pbWF0aW9uKCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgc2NoZWR1bGVMYXll
ckZsdXNoKCk7Ci0gICAgbV9sYXllckZsdXNoVGltZXIuc3RhcnRPbmVTaG90KG1fY29vcmRpbmF0
b3IubmV4dEFuaW1hdGlvblNlcnZpY2VUaW1lKCkpOworICAgIG1fbGF5ZXJGbHVzaFRpbWVyLnN0
YXJ0T25lU2hvdCgxX3MgKiBtX2Nvb3JkaW5hdG9yLm5leHRBbmltYXRpb25TZXJ2aWNlVGltZSgp
KTsKIH0KIAogdm9pZCBDb29yZGluYXRlZExheWVyVHJlZUhvc3Q6OmNvbW1pdFNjcm9sbE9mZnNl
dCh1aW50MzJfdCBsYXllcklELCBjb25zdCBXZWJDb3JlOjpJbnRTaXplJiBvZmZzZXQpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggMjVlMWE1
M2ViZDBmNGM4MDEwZDBlMjFhYjlmYzkwNjVhMGViMjMyNi4uZjMwOGQzMDdjODZmMmVmNzJhMjJh
NDg1NWJmN2RkNGJhNmFjOWU2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmNwcApAQCAtNTMzMyw3ICs1MzMzLDcgQEAgc3RhdGljIGNvbnN0IGZsb2F0
IHByaW1hcnlTbmFwc2hvdHRlZFBsdWdJblNlYXJjaEJ1Y2tldFNpemUgPSAxLjE7CiBzdGF0aWMg
Y29uc3QgaW50IHByaW1hcnlTbmFwc2hvdHRlZFBsdWdJbk1pbmltdW1XaWR0aCA9IDQwMDsKIHN0
YXRpYyBjb25zdCBpbnQgcHJpbWFyeVNuYXBzaG90dGVkUGx1Z0luTWluaW11bUhlaWdodCA9IDMw
MDsKIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBtYXhQcmltYXJ5U25hcHNob3R0ZWRQbHVnSW5EZXRl
Y3Rpb25BdHRlbXB0cyA9IDI7Ci1zdGF0aWMgY29uc3QgaW50IGRlZmVycmVkUHJpbWFyeVNuYXBz
aG90dGVkUGx1Z0luRGV0ZWN0aW9uRGVsYXkgPSAzOworc3RhdGljIGNvbnN0IFNlY29uZHMgZGVm
ZXJyZWRQcmltYXJ5U25hcHNob3R0ZWRQbHVnSW5EZXRlY3Rpb25EZWxheSA9IDNfczsKIHN0YXRp
YyBjb25zdCBmbG9hdCBvdmVybGFwcGluZ0ltYWdlQm91bmRzU2NhbGUgPSAxLjE7CiBzdGF0aWMg
Y29uc3QgZmxvYXQgbWluaW11bU92ZXJsYXBwaW5nSW1hZ2VUb1BsdWdpbkRpbWVuc2lvblNjYWxl
ID0gLjk7CiAKQEAgLTU0NDEsNyArNTQ0MSw3IEBAIHZvaWQgV2ViUGFnZTo6ZGV0ZXJtaW5lUHJp
bWFyeVNuYXBzaG90dGVkUGx1Z0luKCkKICAgICBpZiAoIWNhbmRpZGF0ZVBsdWdJbikgewogICAg
ICAgICBMT0coUGx1Z2lucywgIlByaW1hcnkgUGx1Zy1JbiBEZXRlY3Rpb246IGZhaWwgLSBkaWQg
bm90IGZpbmQgYSBjYW5kaWRhdGUgcGx1Zy1pbi4iKTsKICAgICAgICAgaWYgKG1fbnVtYmVyT2ZQ
cmltYXJ5U25hcHNob3REZXRlY3Rpb25BdHRlbXB0cyA8IG1heFByaW1hcnlTbmFwc2hvdHRlZFBs
dWdJbkRldGVjdGlvbkF0dGVtcHRzKSB7Ci0gICAgICAgICAgICBMT0coUGx1Z2lucywgIlByaW1h
cnkgUGx1Zy1JbiBEZXRlY3Rpb246IHdpbGwgYXR0ZW1wdCBhZ2FpbiBpbiAlZHMuIiwgZGVmZXJy
ZWRQcmltYXJ5U25hcHNob3R0ZWRQbHVnSW5EZXRlY3Rpb25EZWxheSk7CisgICAgICAgICAgICBM
T0coUGx1Z2lucywgIlByaW1hcnkgUGx1Zy1JbiBEZXRlY3Rpb246IHdpbGwgYXR0ZW1wdCBhZ2Fp
biBpbiAlLjFmIHMuIiwgZGVmZXJyZWRQcmltYXJ5U25hcHNob3R0ZWRQbHVnSW5EZXRlY3Rpb25E
ZWxheS52YWx1ZSgpKTsKICAgICAgICAgICAgIG1fZGV0ZXJtaW5lUHJpbWFyeVNuYXBzaG90dGVk
UGx1Z0luVGltZXIuc3RhcnRPbmVTaG90KGRlZmVycmVkUHJpbWFyeVNuYXBzaG90dGVkUGx1Z0lu
RGV0ZWN0aW9uRGVsYXkpOwogICAgICAgICB9CiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCmluZGV4IGYxM2JjYTBkYzczM2QwOWUwMTQzYTk5
MGE0ZDQ3YWY0YWI0ZTg5NDguLjViOTVjNzk0MTUzYTRiYWFiMjI3NjJhNjk0NjYzOWExM2FkOWJj
NTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcApAQCAtMTQzLDcg
KzE0Myw3IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogc3RhdGljIGNvbnN0IGRvdWJsZSBw
bHVnSW5BdXRvU3RhcnRFeHBpcmF0aW9uVGltZVVwZGF0ZVRocmVzaG9sZCA9IDI5ICogMjQgKiA2
MCAqIDYwOwogCiAvLyBUaGlzIHNob3VsZCBiZSBncmVhdGVyIHRoYW4gdGlsZVJldmFsaWRhdGlv
blRpbWVvdXQgaW4gVGlsZUNvbnRyb2xsZXIuCi1zdGF0aWMgY29uc3QgZG91YmxlIG5vblZpc2li
bGVQcm9jZXNzQ2xlYW51cERlbGF5ID0gMTA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBub25WaXNp
YmxlUHJvY2Vzc0NsZWFudXBEZWxheSB7IDEwX3MgfTsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAK
ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA2M2Iz
ZjU1YjcwNWU5NDhmMzA1OTE2NWM3M2RmYTNjMmJhNDY5NDk0Li40NWVhMGMzZDRkNmE5NTNiZTRk
M2ExYzVmMThmNGRlYThmZDFmMTZhIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIv
VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMTkgQEAKIDIwMTctMDQtMDkgIENocmlzIER1bWV6
ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAorICAgICAgICBEcm9wIFRpbWVyOjpzdGFydE9uZVNob3Qo
KSBvdmVybG9hZCB0YWtpbmcgYSBkb3VibGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE3MDY1OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIERyb3AgVGltZXI6OnN0YXJ0T25lU2hvdCgpIG92ZXJsb2FkIHRh
a2luZyBhIGRvdWJsZSBhcyBwZW9wbGUgc2hvdWxkIHVzZSBTZWNvbmRzIHR5cGUgbm93LgorCisg
ICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvUnVuTG9vcC5jcHA6CisgICAgICAgIChU
ZXN0V2ViS2l0QVBJOjpURVNUKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL2d0ay9UZXN0UnVubmVyR3RrLmNwcDoKKyAgICAgICAgKFdUUjo6VGVzdFJ1bm5lcjo6
aW5pdGlhbGl6ZVdhaXRUb0R1bXBXYXRjaGRvZ1RpbWVySWZOZWVkZWQpOgorCisyMDE3LTA0LTA5
ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKICAgICAgICAgRHJvcCBUaW1lcjo6
c3RhcnRSZXBlYXRpbmcoKSBvdmVybG9hZCB0YWtpbmcgYSBkb3VibGUKICAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MDY1NgogCmRpZmYgLS1naXQgYS9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9SdW5Mb29wLmNwcCBiL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV1RGL1J1bkxvb3AuY3BwCmluZGV4IGQxZGUwMzFhMDhhMDc1MTRkZmNkZjA3
YTVlNWVlNGEzNmEzMDc3MzAuLjkzYjNkOGMyOGYzMjA4MTc2Y2QzYmM1MmI3ZjllM2Q2MTRhMDc5
MTcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1J1bkxvb3AuY3Bw
CisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1J1bkxvb3AuY3BwCkBAIC05NSw3
ICs5NSw3IEBAIFRFU1QoV1RGX1J1bkxvb3AsIE9uZVNob3RUaW1lcikKIAogICAgIHsKICAgICAg
ICAgRGVyaXZlZFRpbWVyIHRpbWVyKHRlc3RGaW5pc2hlZCk7Ci0gICAgICAgIHRpbWVyLnN0YXJ0
T25lU2hvdCgwLjEpOworICAgICAgICB0aW1lci5zdGFydE9uZVNob3QoMTAwX21zKTsKICAgICAg
ICAgVXRpbDo6cnVuKCZ0ZXN0RmluaXNoZWQpOwogICAgIH0KIH0KZGlmZiAtLWdpdCBhL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvZ3RrL1Rlc3RSdW5uZXJHdGsuY3BwIGIv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9ndGsvVGVzdFJ1bm5lckd0ay5j
cHAKaW5kZXggYTlmN2Y0MDljMDliZjk4M2Q0YTc0YjgzZGYzYTkxZTZkYjU5ZjI3ZS4uYjlhY2Nj
YzZjODc4NGVjOGU4ZDhjMTVhZjM3MmVmZDFiZWQzNWVmNSAxMDA2NDQKLS0tIGEvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9ndGsvVGVzdFJ1bm5lckd0ay5jcHAKKysrIGIv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9ndGsvVGVzdFJ1bm5lckd0ay5j
cHAKQEAgLTQ4LDcgKzQ4LDcgQEAgdm9pZCBUZXN0UnVubmVyOjppbml0aWFsaXplV2FpdFRvRHVt
cFdhdGNoZG9nVGltZXJJZk5lZWRlZCgpCiAgICAgaWYgKG1fd2FpdFRvRHVtcFdhdGNoZG9nVGlt
ZXIuaXNBY3RpdmUoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV93YWl0VG9EdW1wV2F0Y2hk
b2dUaW1lci5zdGFydE9uZVNob3QobV90aW1lb3V0IC8gMTAwMC4wKTsKKyAgICBtX3dhaXRUb0R1
bXBXYXRjaGRvZ1RpbWVyLnN0YXJ0T25lU2hvdCgxX21zICogbV90aW1lb3V0KTsKIH0KIAogSlNS
ZXRhaW5QdHI8SlNTdHJpbmdSZWY+IFRlc3RSdW5uZXI6OnBhdGhUb0xvY2FsUmVzb3VyY2UoSlNT
dHJpbmdSZWYgdXJsKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>